Featured Video Plus - Version 1.6

Version Description

Smoothness

Download this release

Release Info

Developer a.hoereth
Plugin Icon 128x128 Featured Video Plus
Version 1.6
Comparing to
See all releases

Code changes from version 1.5.1 to 1.6

css/backend-min.css DELETED
@@ -1,13 +0,0 @@
1
- .wp-picker-holder{position:absolute;bottom:2.5em;left:-1em;z-index:1;-webkit-box-shadow:3px 3px 5px #ddd;-moz-box-shadow:3px 3px 5px #ddd;box-shadow:3px 3px 5px #ddd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
2
- .fvp_colorpicker{position:absolute;bottom:0;right:-197px;background-color:#fff;z-index:100;border:1px solid #ccc;}
3
- .defaultTextActive{color:#a1a1a1;font-style:italic;}#fvp_activation_notification{border-color:#00adef!important;background-color:whiteSmoke!important;}
4
- .fvp_hidden{display:none;}.fvp_notice{-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;background-color:white;border-color:gray;margin:.5em 0;padding:.4em .6em .2em;}
5
- .fvp_warning{-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;background-color:lightYellow;border-color:#E6DB55;margin:.5em 0;padding:.4em .6em .2em;}
6
- #featured_video_plus-box textarea{resize:none;width:100%;height:1.1em;line-height:1.1em;font-size:1em;}
7
- .fvp_grouplable{width:100px;float:left;padding-top:2px;}.fvp_grouppart1{width:200px;float:left;padding-top:2px;}
8
- .fvp_readonly{color:gray!important;}.fvp_invalid{background-color:#FA8072;}.fvp_radio_bumper{float:left;width:100px;}
9
- .fvp_input_wrapper{position:relative;}#featured_video_plus-box .fvp_input{padding-right:21px;}
10
- .fvp_media_icon{background:transparent no-repeat top left;display:block;width:15px;height:15px;position:absolute;top:4px;right:4px;}
11
- .fvp_code_list li{margin-bottom:0;}.box_topright{float:right;width:20px;height:30px;line-height:30px;text-align:center;}
12
- .box_topright #fvp_remove{display:block;height:10px;width:10px;margin-top:10px;background:url('/wordpress/wp-admin/images/xit.gif') no-repeat center left;}
13
- .box_topright #fvp_remove:hover{background:url('/wordpress/wp-admin/images/xit.gif') no-repeat center right;}
 
 
 
 
 
 
 
 
 
 
 
 
 
css/backend.min.css ADDED
@@ -0,0 +1 @@
 
1
+ .wp-picker-holder{position:absolute;bottom:2.5em;left:-1em;z-index:1;-webkit-box-shadow:3px 3px 5px #ddd;-moz-box-shadow:3px 3px 5px #ddd;box-shadow:3px 3px 5px #ddd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fvp_colorpicker{position:absolute;bottom:0;right:-197px;background-color:#fff;z-index:100;border:1px solid #ccc}.defaultTextActive{color:#a1a1a1;font-style:italic}#fvp_activation_notification{border-color:#00adef!important;background-color:whiteSmoke!important}.fvp_hidden{display:none}.fvp_notice{-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;background-color:white;border-color:gray;margin:.5em 0;padding:.4em .6em .2em}.fvp_warning{-webkit-border-radius:3px;border-radius:3px;border-width:1px;border-style:solid;background-color:lightYellow;border-color:#e6db55;margin:.5em 0;padding:.4em .6em .2em}#featured_video_plus-box textarea{resize:none;width:100%;height:1.1em;line-height:1.1em;font-size:1em}.fvp_grouplable{width:100px;float:left;padding-top:2px}.fvp_grouppart1{width:200px;float:left;padding-top:2px}.fvp_readonly{color:gray!important}.fvp_invalid{background-color:#fa8072}.fvp_radio_bumper{float:left;width:100px}.fvp_input_wrapper{position:relative}#featured_video_plus-box .fvp_input{padding-right:21px}.fvp_media_icon{background:transparent no-repeat top left;display:block;width:15px;height:15px;position:absolute;top:4px;right:4px}.fvp_code_list li{margin-bottom:0}.box_topright{float:right;width:20px;height:30px;line-height:30px;text-align:center}.box_topright #fvp_remove{display:block;height:10px;width:10px;margin-top:10px;background:url('/wordpress/wp-admin/images/xit.gif') no-repeat center left}.box_topright #fvp_remove:hover{background:url('/wordpress/wp-admin/images/xit.gif') no-repeat center right}
css/frontend.css ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ .fluid-width-video-wrapper .video-js {
2
+ position: absolute;
3
+ top: 0;
4
+ left: 0;
5
+ width: 100% !important;
6
+ height: 100% !important;
7
+ }
css/video-js.png ADDED
Binary file
css/{videojs-min.css → videojs.min.css} RENAMED
File without changes
featured-video-plus.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Featured Video Plus
4
  Plugin URI: https://github.com/ahoereth/featured-video-plus
5
  Description: Add Featured Videos to your posts and pages.
6
  Author: Alexander Höreth
7
- Version: 1.5.1
8
  Author URI: http://ahoereth.yrnxt.com
9
  License: GPL2
10
 
@@ -27,7 +27,7 @@ License: GPL2
27
  */
28
 
29
  if (!defined('FVP_VERSION'))
30
- define('FVP_VERSION', '1.5.1');
31
 
32
  // symlink proof
33
  $pathinfo = pathinfo(dirname(plugin_basename(__FILE__)));
4
  Plugin URI: https://github.com/ahoereth/featured-video-plus
5
  Description: Add Featured Videos to your posts and pages.
6
  Author: Alexander Höreth
7
+ Version: 1.6
8
  Author URI: http://ahoereth.yrnxt.com
9
  License: GPL2
10
 
27
  */
28
 
29
  if (!defined('FVP_VERSION'))
30
+ define('FVP_VERSION', '1.6');
31
 
32
  // symlink proof
33
  $pathinfo = pathinfo(dirname(plugin_basename(__FILE__)));
js/backend-min.js DELETED
@@ -1,11 +0,0 @@
1
- jQuery(document).ready(function(a){function g(){a.trim(a("#fvp_video").val())==a.trim(a("#fvp_sec").val())?(a("#fvp_sec").addClass("fvp_invalid"),a("#fvp_localvideo_notdistinct_warning").slideDown("fast")):(a("#fvp_localvideo_notdistinct_warning").slideUp("fast"),a("#fvp_sec").removeClass("fvp_invalid"))}a("#fvp_video,#fvp_sec").blur(function(){var c=a(this);c.val(a.trim(c.val()));d=c.val();if(0===d.length||d==fvp_backend_data.default_value||d==fvp_backend_data.default_value_sec)c.addClass("defaultTextActive"),
2
- c.is("#fvp_video")?c.val(fvp_backend_data.default_value):c.val(fvp_backend_data.default_value_sec);c.trigger("autosize");c.val()!=c.siblings(".fvp_mirror").val()&&(bg=c.siblings(".fvp_video_choose").children(".fvp_media_icon").css("backgroundImage"),c.siblings(".fvp_video_choose").children(".fvp_media_icon").css("backgroundImage","url('"+fvp_backend_data.loading_gif+"')"),a("#fvp_current_video").css({backgroundImage:"url('"+fvp_backend_data.loading_gif+"')",width:"256px",height:"144px"}),a.post(ajaxurl,
3
- {action:"fvp_ajax",id:a("#post_ID").val(),fvp_nonce:a("#fvp_nonce").val(),fvp_video:a("#fvp_video").val(),fvp_sec:a("#fvp_sec").val()},function(b){c.siblings(".fvp_mirror").val(c.val());c.siblings(".fvp_video_choose").children(".fvp_media_icon").css("backgroundImage",bg);"removed"==b.typ?(a("#fvp_current_video").html("").css({backgroundImage:"",width:"",height:""}),a("#postimagediv .inside").html(b.img)):b.valid?(a("#postimagediv .inside").html(b.img),a("#fvp_set_featimg_link, #fvp_featimg_warning").slideUp().addClass("fvp_hidden"),
4
- a("#fvp_current_video").html(b.video),c.css("backgroundColor","#00FF00").animate({backgroundColor:"white"},500,function(){c.css("backgroundColor","")}),a("#fvp_help_notice").slideUp("fast")):c.addClass("fvp_invalid")},"json"))});a(".fvp_input").focus(function(){d=a(this).val();if(d==fvp_backend_data.default_value||d==fvp_backend_data.default_value_sec)a(this).removeClass("defaultTextActive"),a(this).val("")});a(".fvp_input").autosize().trigger("blur").keypress(function(a){13==a.keyCode&&a.preventDefault()});
5
- a(".fvp_input").click(function(){a(this).select()});if(0<a("#fvp_video").length){var d=a("#fvp_video").val();if(0===d.length||d==fvp_backend_data.default_value||!d.match(fvp_backend_data.wp_upload_dir.replace(/\//g,"\\/")))a("#fvp_sec").val(fvp_backend_data.default_value_sec),a("#fvp_sec_wrapper").hide()}a("#fvp_video").bind("change paste keyup",function(){var c=setTimeout,b=a(this),b=a.trim(b.val());a.trim(a("#fvp_sec").val());a("#fvp_help_notice").slideDown("fast");if(0===b.length||b==fvp_backend_data.default_value)a("#fvp_video").removeClass("fvp_invalid"),
6
- a("#fvp_sec").val(fvp_backend_data.default_value_sec).blur(),a("#fvp_sec_wrapper").slideUp("fast"),a("#fvp_localvideo_format_warning").slideUp("fast");b.match(fvp_backend_data.wp_upload_dir.replace(/\//g,"\\/"))?(b=/^.*\/(.*)\.(.*)$/g.exec(b),"webm"==b[2]||"mp4"==b[2]||"ogg"==b[2]||"ogv"==b[2]?(a("#fvp_sec_wrapper").slideDown("fast"),a("#fvp_video").removeClass("fvp_invalid"),a("#fvp_localvideo_format_warning").slideUp("fast")):(a("#fvp_sec").val(fvp_backend_data.default_value_sec).blur(),a("#fvp_sec_wrapper").slideUp("fast"),
7
- a("#fvp_video").addClass("fvp_invalid"),a("#fvp_localvideo_format_warning").slideDown("fast","linear")),g()):(a("#fvp_sec_wrapper").slideUp("fast"),a("#fvp_video").removeClass("fvp_invalid"),a("#fvp_localvideo_format_warning").slideUp("fast"));c(void 0,200)});a("#fvp_sec").bind("change paste keyup",function(){var c=setTimeout,b=a(this),b=a.trim(b.val());a.trim(a("#fvp_video").val());if(0===b.length||b==fvp_backend_data.default_value)a("#fvp_localvideo_format_warning").slideUp("fast"),a("#fvp_sec").removeClass("fvp_invalid");
8
- b.match(fvp_backend_data.wp_upload_dir.replace(/\//g,"\\/"))?(b=/^.*\/(.*)\.(.*)$/g.exec(b),"webm"==b[2]||"mp4"==b[2]||"ogg"==b[2]||"ogv"==b[2]?(a("#fvp_sec").removeClass("fvp_invalid"),a("#fvp_localvideo_format_warning").slideUp("fast"),g()):(a("#fvp_sec").addClass("fvp_invalid"),a("#fvp_localvideo_format_warning").slideDown("fast"))):0!==b.length&&(a("#fvp_sec").addClass("fvp_invalid"),a("#fvp_localvideo_notdistinct_warning").slideDown("fast"));c(void 0,200)});a("#fvp_set_featimg_link").removeClass("fvp_hidden");
9
- a("#fvp_set_featimg_input").addClass("fvp_hidden");a("#fvp_set_featimg_link, #fvp_warning_set_featimg").click(function(){a("#fvp_set_featimg").attr("checked",!0);a.post(ajaxurl,{action:"fvp_ajax",id:a("#post_ID").val(),fvp_nonce:a("#fvp_nonce").val(),fvp_video:a("#fvp_video").val(),fvp_sec:a("#fvp_sec").val()},function(c){a("#postimagediv .inside").html(c.img);a("#fvp_set_featimg_link, #fvp_featimg_warning").slideUp().addClass("fvp_hidden")},"json");return!1});a("#remove-post-thumbnail").click(function(){a("#fvp_set_featimg_link, #fvp_featimg_warning").slideDown().removeClass("fvp_hidden")});
10
- a("#set-post-thumbnail").click(function(){a("#fvp_featimg_box_warning").addClass("fvp_hidden")});a("#fvp_help_toggle").bind("click",function(){a("#contextual-help-link").trigger("click")});var e,f;f={frame:function(){if(this._frame)return this._frame;this._frame=wp.media({title:e.data("title"),library:{type:"video"},button:{text:e.data("button")},multiple:!1});this._frame.on("open",this.updateFrame).state("library").on("select",this.select);return this._frame},select:function(){var c=this.get("selection");
11
- a(e.data("target")).val(c.pluck("url")).trigger("autosize").change().removeClass("defaultTextActive")},updateFrame:function(){},init:function(){a("#wpbody").on("click",".fvp_video_choose",function(c){c.preventDefault();e=a(this).closest(".fvp_input_wrapper");f.frame().open()})}};1==fvp_backend_data.wp_35&&f.init()});
 
 
 
 
 
 
 
 
 
 
 
js/backend.js CHANGED
@@ -38,7 +38,8 @@ jQuery(document).ready(function($){
38
  t.siblings('.fvp_video_choose').children('.fvp_media_icon').css('backgroundImage', bg);
39
  if(data.typ == 'removed'){
40
  $('#fvp_current_video').html('').css({'backgroundImage':'','width':'','height':''});
41
- $('#postimagediv .inside').html(data.img);
 
42
  } else
43
  if(data.valid) {
44
  $('#postimagediv .inside').html(data.img);
@@ -46,8 +47,11 @@ jQuery(document).ready(function($){
46
  $('#fvp_current_video').html(data.video);
47
  t.css('backgroundColor','#00FF00').animate({'backgroundColor':'white'}, 500, function() { t.css('backgroundColor',''); });
48
  $("#fvp_help_notice").slideUp('fast');
49
- } else
 
50
  t.addClass('fvp_invalid');
 
 
51
  }, "json"
52
  );
53
  }
38
  t.siblings('.fvp_video_choose').children('.fvp_media_icon').css('backgroundImage', bg);
39
  if(data.typ == 'removed'){
40
  $('#fvp_current_video').html('').css({'backgroundImage':'','width':'','height':''});
41
+ if( data.img != '' )
42
+ $('#postimagediv .inside').html(data.img);
43
  } else
44
  if(data.valid) {
45
  $('#postimagediv .inside').html(data.img);
47
  $('#fvp_current_video').html(data.video);
48
  t.css('backgroundColor','#00FF00').animate({'backgroundColor':'white'}, 500, function() { t.css('backgroundColor',''); });
49
  $("#fvp_help_notice").slideUp('fast');
50
+ } else{
51
+ $('#fvp_current_video').html(data.video);
52
  t.addClass('fvp_invalid');
53
+ $("#fvp_help_notice").slideUp('fast');
54
+ }
55
  }, "json"
56
  );
57
  }
js/backend.min.js ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function(a){function g(){a.trim(a("#fvp_video").val())==a.trim(a("#fvp_sec").val())?(a("#fvp_sec").addClass("fvp_invalid"),a("#fvp_localvideo_notdistinct_warning").slideDown("fast")):(a("#fvp_localvideo_notdistinct_warning").slideUp("fast"),a("#fvp_sec").removeClass("fvp_invalid"))}a("#fvp_video,#fvp_sec").blur(function(){var c=a(this);c.val(a.trim(c.val()));d=c.val();if(0===d.length||d==fvp_backend_data.default_value||d==fvp_backend_data.default_value_sec)c.addClass("defaultTextActive"),
2
+ c.is("#fvp_video")?c.val(fvp_backend_data.default_value):c.val(fvp_backend_data.default_value_sec);c.trigger("autosize");c.val()!=c.siblings(".fvp_mirror").val()&&(bg=c.siblings(".fvp_video_choose").children(".fvp_media_icon").css("backgroundImage"),c.siblings(".fvp_video_choose").children(".fvp_media_icon").css("backgroundImage","url('"+fvp_backend_data.loading_gif+"')"),a("#fvp_current_video").css({backgroundImage:"url('"+fvp_backend_data.loading_gif+"')",width:"256px",height:"144px"}),a.post(ajaxurl,
3
+ {action:"fvp_ajax",id:a("#post_ID").val(),fvp_nonce:a("#fvp_nonce").val(),fvp_video:a("#fvp_video").val(),fvp_sec:a("#fvp_sec").val()},function(b){c.siblings(".fvp_mirror").val(c.val());c.siblings(".fvp_video_choose").children(".fvp_media_icon").css("backgroundImage",bg);"removed"==b.typ?(a("#fvp_current_video").html("").css({backgroundImage:"",width:"",height:""}),""!=b.img&&a("#postimagediv .inside").html(b.img)):(b.valid?(a("#postimagediv .inside").html(b.img),a("#fvp_set_featimg_link, #fvp_featimg_warning").slideUp().addClass("fvp_hidden"),
4
+ a("#fvp_current_video").html(b.video),c.css("backgroundColor","#00FF00").animate({backgroundColor:"white"},500,function(){c.css("backgroundColor","")})):(a("#fvp_current_video").html(b.video),c.addClass("fvp_invalid")),a("#fvp_help_notice").slideUp("fast"))},"json"))});a(".fvp_input").focus(function(){d=a(this).val();if(d==fvp_backend_data.default_value||d==fvp_backend_data.default_value_sec)a(this).removeClass("defaultTextActive"),a(this).val("")});a(".fvp_input").autosize().trigger("blur").keypress(function(a){13==
5
+ a.keyCode&&a.preventDefault()});a(".fvp_input").click(function(){a(this).select()});if(0<a("#fvp_video").length){var d=a("#fvp_video").val();if(0===d.length||d==fvp_backend_data.default_value||!d.match(fvp_backend_data.wp_upload_dir.replace(/\//g,"\\/")))a("#fvp_sec").val(fvp_backend_data.default_value_sec),a("#fvp_sec_wrapper").hide()}a("#fvp_video").bind("change paste keyup",function(){var c=setTimeout,b=a(this),b=a.trim(b.val());a.trim(a("#fvp_sec").val());a("#fvp_help_notice").slideDown("fast");
6
+ if(0===b.length||b==fvp_backend_data.default_value)a("#fvp_video").removeClass("fvp_invalid"),a("#fvp_sec").val(fvp_backend_data.default_value_sec).blur(),a("#fvp_sec_wrapper").slideUp("fast"),a("#fvp_localvideo_format_warning").slideUp("fast");b.match(fvp_backend_data.wp_upload_dir.replace(/\//g,"\\/"))?(b=/^.*\/(.*)\.(.*)$/g.exec(b),"webm"==b[2]||"mp4"==b[2]||"ogg"==b[2]||"ogv"==b[2]?(a("#fvp_sec_wrapper").slideDown("fast"),a("#fvp_video").removeClass("fvp_invalid"),a("#fvp_localvideo_format_warning").slideUp("fast")):
7
+ (a("#fvp_sec").val(fvp_backend_data.default_value_sec).blur(),a("#fvp_sec_wrapper").slideUp("fast"),a("#fvp_video").addClass("fvp_invalid"),a("#fvp_localvideo_format_warning").slideDown("fast","linear")),g()):(a("#fvp_sec_wrapper").slideUp("fast"),a("#fvp_video").removeClass("fvp_invalid"),a("#fvp_localvideo_format_warning").slideUp("fast"));c(void 0,200)});a("#fvp_sec").bind("change paste keyup",function(){var c=setTimeout,b=a(this),b=a.trim(b.val());a.trim(a("#fvp_video").val());if(0===b.length||
8
+ b==fvp_backend_data.default_value)a("#fvp_localvideo_format_warning").slideUp("fast"),a("#fvp_sec").removeClass("fvp_invalid");b.match(fvp_backend_data.wp_upload_dir.replace(/\//g,"\\/"))?(b=/^.*\/(.*)\.(.*)$/g.exec(b),"webm"==b[2]||"mp4"==b[2]||"ogg"==b[2]||"ogv"==b[2]?(a("#fvp_sec").removeClass("fvp_invalid"),a("#fvp_localvideo_format_warning").slideUp("fast"),g()):(a("#fvp_sec").addClass("fvp_invalid"),a("#fvp_localvideo_format_warning").slideDown("fast"))):0!==b.length&&(a("#fvp_sec").addClass("fvp_invalid"),
9
+ a("#fvp_localvideo_notdistinct_warning").slideDown("fast"));c(void 0,200)});a("#fvp_set_featimg_link").removeClass("fvp_hidden");a("#fvp_set_featimg_input").addClass("fvp_hidden");a("#fvp_set_featimg_link, #fvp_warning_set_featimg").click(function(){a("#fvp_set_featimg").attr("checked",!0);a.post(ajaxurl,{action:"fvp_ajax",id:a("#post_ID").val(),fvp_nonce:a("#fvp_nonce").val(),fvp_video:a("#fvp_video").val(),fvp_sec:a("#fvp_sec").val()},function(c){a("#postimagediv .inside").html(c.img);a("#fvp_set_featimg_link, #fvp_featimg_warning").slideUp().addClass("fvp_hidden")},
10
+ "json");return!1});a("#remove-post-thumbnail").click(function(){a("#fvp_set_featimg_link, #fvp_featimg_warning").slideDown().removeClass("fvp_hidden")});a("#set-post-thumbnail").click(function(){a("#fvp_featimg_box_warning").addClass("fvp_hidden")});a("#fvp_help_toggle").bind("click",function(){a("#contextual-help-link").trigger("click")});var e,f;f={frame:function(){if(this._frame)return this._frame;this._frame=wp.media({title:e.data("title"),library:{type:"video"},button:{text:e.data("button")},
11
+ multiple:!1});this._frame.on("open",this.updateFrame).state("library").on("select",this.select);return this._frame},select:function(){var c=this.get("selection");a(e.data("target")).val(c.pluck("url")).trigger("autosize").change().removeClass("defaultTextActive")},updateFrame:function(){},init:function(){a("#wpbody").on("click",".fvp_video_choose",function(c){c.preventDefault();e=a(this).closest(".fvp_input_wrapper");f.frame().open()})}};1==fvp_backend_data.wp_35&&f.init()});
js/{jquery.autosize-min.js → jquery.autosize.min.js} RENAMED
File without changes
js/jquery.fitvids_fvp.js CHANGED
@@ -50,13 +50,15 @@
50
  return this.each(function(){
51
  var selectors = [
52
  "iframe[src*='player.vimeo.com']",
53
- "iframe[src*='www.youtube.com']",
54
- "iframe[src*='www.youtube-nocookie.com']",
55
- "iframe[src*='www.kickstarter.com']",
56
- "iframe[src*='www.liveleak.com']",
57
- "iframe[src*='www.prochan.com']",
 
58
  "object",
59
- "embed"
 
60
  ];
61
 
62
  if (settings.customSelector) {
50
  return this.each(function(){
51
  var selectors = [
52
  "iframe[src*='player.vimeo.com']",
53
+ "iframe[src*='youtube.com']",
54
+ "iframe[src*='youtube-nocookie.com']",
55
+ "iframe[src*='kickstarter.com']",
56
+ "iframe[src*='liveleak.com']",
57
+ "iframe[src*='prochan.com']",
58
+ "iframe[src*='dailymotion.com']",
59
  "object",
60
+ "embed",
61
+ ".video-js"
62
  ];
63
 
64
  if (settings.customSelector) {
js/{jquery.fitvids_fvp-min.js → jquery.fitvids_fvp.min.js} RENAMED
@@ -1,3 +1,3 @@
1
  (function(d){d.fn.fitVids=function(e){var c={customSelector:null},b=document.createElement("div"),f=document.getElementsByTagName("base")[0]||document.getElementsByTagName("script")[0];b.className="fit-vids-style";b.innerHTML="&shy;<style> .fluid-width-video-wrapper { width: 100%; position: relative; padding: 0; } .fluid-width-video-wrapper iframe, .fluid-width-video-wrapper object, .fluid-width-video-wrapper embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } </style>";
2
- f.parentNode.insertBefore(b,f);e&&d.extend(c,e);return this.each(function(){var b="iframe[src*='player.vimeo.com'] iframe[src*='www.youtube.com'] iframe[src*='www.youtube-nocookie.com'] iframe[src*='www.kickstarter.com'] iframe[src*='www.liveleak.com'] iframe[src*='www.prochan.com'] object embed".split(" ");c.customSelector&&b.push(c.customSelector);d(this).find(b.join(",")).each(function(){var a=d(this);if(!("embed"===this.tagName.toLowerCase()&&a.parent("object").length||a.parent(".fluid-width-video-wrapper").length)){var b=
3
  "object"===this.tagName.toLowerCase()||a.attr("height")&&!isNaN(parseInt(a.attr("height"),10))?parseInt(a.attr("height"),10):a.height(),c=!isNaN(parseInt(a.attr("width"),10))?parseInt(a.attr("width"),10):a.width(),b=b/c;a.attr("id")||(c="fitvid"+Math.floor(999999*Math.random()),a.attr("id",c));a.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top",100*b+"%");a.removeAttr("height").removeAttr("width")}})})}})(jQuery);jQuery(document).ready(function(d){d(".featured_video_plus").fitVids()});
1
  (function(d){d.fn.fitVids=function(e){var c={customSelector:null},b=document.createElement("div"),f=document.getElementsByTagName("base")[0]||document.getElementsByTagName("script")[0];b.className="fit-vids-style";b.innerHTML="&shy;<style> .fluid-width-video-wrapper { width: 100%; position: relative; padding: 0; } .fluid-width-video-wrapper iframe, .fluid-width-video-wrapper object, .fluid-width-video-wrapper embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } </style>";
2
+ f.parentNode.insertBefore(b,f);e&&d.extend(c,e);return this.each(function(){var b="iframe[src*='player.vimeo.com'] iframe[src*='youtube.com'] iframe[src*='youtube-nocookie.com'] iframe[src*='kickstarter.com'] iframe[src*='liveleak.com'] iframe[src*='prochan.com'] iframe[src*='dailymotion.com'] object embed .video-js".split(" ");c.customSelector&&b.push(c.customSelector);d(this).find(b.join(",")).each(function(){var a=d(this);if(!("embed"===this.tagName.toLowerCase()&&a.parent("object").length||a.parent(".fluid-width-video-wrapper").length)){var b=
3
  "object"===this.tagName.toLowerCase()||a.attr("height")&&!isNaN(parseInt(a.attr("height"),10))?parseInt(a.attr("height"),10):a.height(),c=!isNaN(parseInt(a.attr("width"),10))?parseInt(a.attr("width"),10):a.width(),b=b/c;a.attr("id")||(c="fitvid"+Math.floor(999999*Math.random()),a.attr("id",c));a.wrap('<div class="fluid-width-video-wrapper"></div>').parent(".fluid-width-video-wrapper").css("padding-top",100*b+"%");a.removeAttr("height").removeAttr("width")}})})}})(jQuery);jQuery(document).ready(function(d){d(".featured_video_plus").fitVids()});
js/video-js.swf ADDED
Binary file
js/videojs-min.js DELETED
@@ -1,21 +0,0 @@
1
- /*!
2
- Video.js - HTML5 Video Player
3
- Version 3.2.0
4
-
5
- LGPL v3 LICENSE INFO
6
- This file is part of Video.js. Copyright 2011 Zencoder, Inc.
7
-
8
- Video.js is free software: you can redistribute it and/or modify
9
- it under the terms of the GNU Lesser General Public License as published by
10
- the Free Software Foundation, either version 3 of the License, or
11
- (at your option) any later version.
12
-
13
- Video.js is distributed in the hope that it will be useful,
14
- but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- GNU Lesser General Public License for more details.
17
-
18
- You should have received a copy of the GNU Lesser General Public License
19
- along with Video.js. If not, see <http://www.gnu.org/licenses/>.
20
- */
21
- (function(window,undefined){var document=window.document;document.createElement("video");document.createElement("audio");var VideoJS=function(id,addOptions,ready){var tag;if(typeof id=="string"){if(id.indexOf("#")===0){id=id.slice(1)}if(_V_.players[id]){return _V_.players[id]}else{tag=_V_.el(id)}}else{tag=id}if(!tag||!tag.nodeName){throw new TypeError("The element or ID supplied is not valid. (VideoJS)")}return tag.player||new _V_.Player(tag,addOptions,ready)},_V_=VideoJS,CDN_VERSION="c";VideoJS.players={};VideoJS.options={techOrder:["html5","flash"],html5:{},flash:{swf:"http://vjs.zencdn.net/c/video-js.swf"},width:"auto",height:"auto",defaultVolume:0,components:{posterImage:{},textTrackDisplay:{},loadingSpinner:{},bigPlayButton:{},controlBar:{}}};if(CDN_VERSION!="GENERATED_CDN_VSN"){_V_.options.flash.swf="http://vjs.zencdn.net/"+CDN_VERSION+"/video-js.swf"}_V_.merge=function(obj1,obj2,safe){if(!obj2){obj2={}}for(var attrname in obj2){if(obj2.hasOwnProperty(attrname)&&(!safe||!obj1.hasOwnProperty(attrname))){obj1[attrname]=obj2[attrname]}}return obj1};_V_.extend=function(obj){this.merge(this,obj,true)};_V_.extend({tech:{},controlSets:{},isIE:function(){return !+"\v1"},isFF:function(){return !!_V_.ua.match("Firefox")},isIPad:function(){return navigator.userAgent.match(/iPad/i)!==null},isIPhone:function(){return navigator.userAgent.match(/iPhone/i)!==null},isIOS:function(){return VideoJS.isIPhone()||VideoJS.isIPad()},iOSVersion:function(){var match=navigator.userAgent.match(/OS (\d+)_/i);if(match&&match[1]){return match[1]}},isAndroid:function(){return navigator.userAgent.match(/Android.*AppleWebKit/i)!==null},androidVersion:function(){var match=navigator.userAgent.match(/Android (\d+)\./i);if(match&&match[1]){return match[1]}},testVid:document.createElement("video"),ua:navigator.userAgent,support:{},each:function(arr,fn){if(!arr||arr.length===0){return}for(var i=0,j=arr.length;i<j;i++){fn.call(this,arr[i],i)}},eachProp:function(obj,fn){if(!obj){return}for(var name in obj){if(obj.hasOwnProperty(name)){fn.call(this,name,obj[name])}}},el:function(id){return document.getElementById(id)},createElement:function(tagName,attributes){var el=document.createElement(tagName),attrname;for(attrname in attributes){if(attributes.hasOwnProperty(attrname)){if(attrname.indexOf("-")!==-1){el.setAttribute(attrname,attributes[attrname])}else{el[attrname]=attributes[attrname]}}}return el},insertFirst:function(node,parent){if(parent.firstChild){parent.insertBefore(node,parent.firstChild)}else{parent.appendChild(node)}},addClass:function(element,classToAdd){if((" "+element.className+" ").indexOf(" "+classToAdd+" ")==-1){element.className=element.className===""?classToAdd:element.className+" "+classToAdd}},removeClass:function(element,classToRemove){if(element.className.indexOf(classToRemove)==-1){return}var classNames=element.className.split(" ");classNames.splice(classNames.indexOf(classToRemove),1);element.className=classNames.join(" ")},remove:function(item,array){if(!array){return}var i=array.indexOf(item);if(i!=-1){return array.splice(i,1)}},blockTextSelection:function(){document.body.focus();document.onselectstart=function(){return false}},unblockTextSelection:function(){document.onselectstart=function(){return true}},formatTime:function(seconds,guide){guide=guide||seconds;var s=Math.floor(seconds%60),m=Math.floor(seconds/60%60),h=Math.floor(seconds/3600),gm=Math.floor(guide/60%60),gh=Math.floor(guide/3600);h=(h>0||gh>0)?h+":":"";m=(((h||gm>=10)&&m<10)?"0"+m:m)+":";s=(s<10)?"0"+s:s;return h+m+s},uc:function(string){return string.charAt(0).toUpperCase()+string.slice(1)},getRelativePosition:function(x,relativeElement){return Math.max(0,Math.min(1,(x-_V_.findPosX(relativeElement))/relativeElement.offsetWidth))},getComputedStyleValue:function(element,style){return window.getComputedStyle(element,null).getPropertyValue(style)},trim:function(string){return string.toString().replace(/^\s+/,"").replace(/\s+$/,"")},round:function(num,dec){if(!dec){dec=0}return Math.round(num*Math.pow(10,dec))/Math.pow(10,dec)},isEmpty:function(object){for(var prop in object){return false}return true},createTimeRange:function(start,end){return{length:1,start:function(){return start},end:function(){return end}}},cache:{},guid:1,expando:"vdata"+(new Date).getTime(),getData:function(elem){var id=elem[_V_.expando];if(!id){id=elem[_V_.expando]=_V_.guid++;_V_.cache[id]={}}return _V_.cache[id]},removeData:function(elem){var id=elem[_V_.expando];if(!id){return}delete _V_.cache[id];try{delete elem[_V_.expando]}catch(e){if(elem.removeAttribute){elem.removeAttribute(_V_.expando)}else{elem[_V_.expando]=null}}},proxy:function(context,fn,uid){if(!fn.guid){fn.guid=_V_.guid++}var ret=function(){return fn.apply(context,arguments)};ret.guid=(uid)?uid+"_"+fn.guid:fn.guid;return ret},get:function(url,onSuccess,onError){var local=(url.indexOf("file:")==0||(window.location.href.indexOf("file:")==0&&url.indexOf("http:")==-1));if(typeof XMLHttpRequest=="undefined"){XMLHttpRequest=function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(f){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(g){}throw new Error("This browser does not support XMLHttpRequest.")}}var request=new XMLHttpRequest();try{request.open("GET",url)}catch(e){_V_.log("VideoJS XMLHttpRequest (open)",e);return false}request.onreadystatechange=_V_.proxy(this,function(){if(request.readyState==4){if(request.status==200||local&&request.status==0){onSuccess(request.responseText)}else{if(onError){onError()}}}});try{request.send()}catch(e){_V_.log("VideoJS XMLHttpRequest (send)",e);if(onError){onError(e)}}},setLocalStorage:function(key,value){var localStorage=window.localStorage||false;if(!localStorage){return}try{localStorage[key]=value}catch(e){if(e.code==22||e.code==1014){_V_.log("LocalStorage Full (VideoJS)",e)}else{_V_.log("LocalStorage Error (VideoJS)",e)}}},getAbsoluteURL:function(url){if(!url.match(/^https?:\/\//)){url=_V_.createElement("div",{innerHTML:'<a href="'+url+'">x</a>'}).firstChild.href}return url}});_V_.log=function(){_V_.log.history=_V_.log.history||[];_V_.log.history.push(arguments);if(window.console){arguments.callee=arguments.callee.caller;var newarr=[].slice.call(arguments);(typeof console.log==="object"?_V_.log.apply.call(console.log,console,newarr):console.log.apply(console,newarr))}};(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,timeStamp,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try{console.log();return window.console}catch(err){return window.console={}}})());if("getBoundingClientRect" in document.documentElement){_V_.findPosX=function(el){var box;try{box=el.getBoundingClientRect()}catch(e){}if(!box){return 0}var docEl=document.documentElement,body=document.body,clientLeft=docEl.clientLeft||body.clientLeft||0,scrollLeft=window.pageXOffset||body.scrollLeft,left=box.left+scrollLeft-clientLeft;return left}}else{_V_.findPosX=function(el){var curleft=el.offsetLeft;while(el=obj.offsetParent){if(el.className.indexOf("video-js")==-1){}else{}curleft+=el.offsetLeft}return curleft}}(function(){var initializing=false,fnTest=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;_V_.Class=function(){};_V_.Class.extend=function(prop){var _super=this.prototype;initializing=true;var prototype=new this();initializing=false;for(var name in prop){prototype[name]=typeof prop[name]=="function"&&typeof _super[name]=="function"&&fnTest.test(prop[name])?(function(name,fn){return function(){var tmp=this._super;this._super=_super[name];var ret=fn.apply(this,arguments);this._super=tmp;return ret}})(name,prop[name]):prop[name]}function Class(){if(!initializing&&this.init){return this.init.apply(this,arguments)}else{if(!initializing){return arguments.callee.prototype.init()}}}Class.prototype=prototype;Class.constructor=Class;Class.extend=arguments.callee;return Class}})();_V_.Component=_V_.Class.extend({init:function(player,options){this.player=player;options=this.options=_V_.merge(this.options||{},options);if(options.el){this.el=options.el}else{this.el=this.createElement()}this.initComponents()},destroy:function(){},createElement:function(type,attrs){return _V_.createElement(type||"div",attrs)},buildCSSClass:function(){return""},initComponents:function(){var options=this.options;if(options&&options.components){this.eachProp(options.components,function(name,opts){var tempAdd=this.proxy(function(){this[name]=this.addComponent(name,opts)});if(opts.loadEvent){this.one(opts.loadEvent,tempAdd)}else{tempAdd()}})}},addComponent:function(name,options){var component,componentClass;if(typeof name=="string"){options=options||{};componentClass=options.componentClass||_V_.uc(name);component=new _V_[componentClass](this.player||this,options)}else{component=name}this.el.appendChild(component.el);return component},removeComponent:function(component){this.el.removeChild(component.el)},show:function(){this.el.style.display="block"},hide:function(){this.el.style.display="none"},fadeIn:function(){this.removeClass("vjs-fade-out");this.addClass("vjs-fade-in")},fadeOut:function(){this.removeClass("vjs-fade-in");this.addClass("vjs-fade-out")},lockShowing:function(){var style=this.el.style;style.display="block";style.opacity=1;style.visiblity="visible"},unlockShowing:function(){var style=this.el.style;style.display="";style.opacity="";style.visiblity=""},addClass:function(classToAdd){_V_.addClass(this.el,classToAdd)},removeClass:function(classToRemove){_V_.removeClass(this.el,classToRemove)},addEvent:function(type,fn,uid){return _V_.addEvent(this.el,type,_V_.proxy(this,fn))},removeEvent:function(type,fn){return _V_.removeEvent(this.el,type,fn)},triggerEvent:function(type,e){return _V_.triggerEvent(this.el,type,e)},one:function(type,fn){_V_.one(this.el,type,_V_.proxy(this,fn))},ready:function(fn){if(!fn){return this}if(this.isReady){fn.call(this)}else{if(this.readyQueue===undefined){this.readyQueue=[]}this.readyQueue.push(fn)}return this},triggerReady:function(){this.isReady=true;if(this.readyQueue&&this.readyQueue.length>0){this.each(this.readyQueue,function(fn){fn.call(this)});this.readyQueue=[];this.triggerEvent("ready")}},each:function(arr,fn){_V_.each.call(this,arr,fn)},eachProp:function(obj,fn){_V_.eachProp.call(this,obj,fn)},extend:function(obj){_V_.merge(this,obj)},proxy:function(fn,uid){return _V_.proxy(this,fn,uid)}});_V_.Control=_V_.Component.extend({buildCSSClass:function(){return"vjs-control "+this._super()}});_V_.ControlBar=_V_.Component.extend({options:{loadEvent:"play",components:{playToggle:{},fullscreenToggle:{},currentTimeDisplay:{},timeDivider:{},durationDisplay:{},remainingTimeDisplay:{},progressControl:{},volumeControl:{},muteToggle:{}}},init:function(player,options){this._super(player,options);player.addEvent("play",this.proxy(function(){this.fadeIn();this.player.addEvent("mouseover",this.proxy(this.fadeIn));this.player.addEvent("mouseout",this.proxy(this.fadeOut))}))},createElement:function(){return _V_.createElement("div",{className:"vjs-controls"})},fadeIn:function(){this._super();this.player.triggerEvent("controlsvisible")},fadeOut:function(){this._super();this.player.triggerEvent("controlshidden")},lockShowing:function(){this.el.style.opacity="1"}});_V_.Button=_V_.Control.extend({init:function(player,options){this._super(player,options);this.addEvent("click",this.onClick);this.addEvent("focus",this.onFocus);this.addEvent("blur",this.onBlur)},createElement:function(type,attrs){attrs=_V_.merge({className:this.buildCSSClass(),innerHTML:'<div><span class="vjs-control-text">'+(this.buttonText||"Need Text")+"</span></div>",role:"button",tabIndex:0},attrs);return this._super(type,attrs)},onClick:function(){},onFocus:function(){_V_.addEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))},onKeyPress:function(event){if(event.which==32||event.which==13){event.preventDefault();this.onClick()}},onBlur:function(){_V_.removeEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))}});_V_.PlayButton=_V_.Button.extend({buttonText:"Play",buildCSSClass:function(){return"vjs-play-button "+this._super()},onClick:function(){this.player.play()}});_V_.PauseButton=_V_.Button.extend({buttonText:"Pause",buildCSSClass:function(){return"vjs-pause-button "+this._super()},onClick:function(){this.player.pause()}});_V_.PlayToggle=_V_.Button.extend({buttonText:"Play",init:function(player,options){this._super(player,options);player.addEvent("play",_V_.proxy(this,this.onPlay));player.addEvent("pause",_V_.proxy(this,this.onPause))},buildCSSClass:function(){return"vjs-play-control "+this._super()},onClick:function(){if(this.player.paused()){this.player.play()}else{this.player.pause()}},onPlay:function(){_V_.removeClass(this.el,"vjs-paused");_V_.addClass(this.el,"vjs-playing")},onPause:function(){_V_.removeClass(this.el,"vjs-playing");_V_.addClass(this.el,"vjs-paused")}});_V_.FullscreenToggle=_V_.Button.extend({buttonText:"Fullscreen",buildCSSClass:function(){return"vjs-fullscreen-control "+this._super()},onClick:function(){if(!this.player.isFullScreen){this.player.requestFullScreen()}else{this.player.cancelFullScreen()}}});_V_.BigPlayButton=_V_.Button.extend({init:function(player,options){this._super(player,options);player.addEvent("play",_V_.proxy(this,this.hide));player.addEvent("ended",_V_.proxy(this,this.show))},createElement:function(){return this._super("div",{className:"vjs-big-play-button",innerHTML:"<span></span>"})},onClick:function(){if(this.player.currentTime()){this.player.currentTime(0)}this.player.play()}});_V_.LoadingSpinner=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("canplay",_V_.proxy(this,this.hide));player.addEvent("canplaythrough",_V_.proxy(this,this.hide));player.addEvent("playing",_V_.proxy(this,this.hide));player.addEvent("seeking",_V_.proxy(this,this.show));player.addEvent("error",_V_.proxy(this,this.show));player.addEvent("waiting",_V_.proxy(this,this.show))},createElement:function(){var classNameSpinner,innerHtmlSpinner;if(typeof this.player.el.style.WebkitBorderRadius=="string"||typeof this.player.el.style.MozBorderRadius=="string"||typeof this.player.el.style.KhtmlBorderRadius=="string"||typeof this.player.el.style.borderRadius=="string"){classNameSpinner="vjs-loading-spinner";innerHtmlSpinner="<div class='ball1'></div><div class='ball2'></div><div class='ball3'></div><div class='ball4'></div><div class='ball5'></div><div class='ball6'></div><div class='ball7'></div><div class='ball8'></div>"}else{classNameSpinner="vjs-loading-spinner-fallback";innerHtmlSpinner=""}return this._super("div",{className:classNameSpinner,innerHTML:innerHtmlSpinner})}});_V_.CurrentTimeDisplay=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("timeupdate",_V_.proxy(this,this.updateContent))},createElement:function(){var el=this._super("div",{className:"vjs-current-time vjs-time-controls vjs-control"});this.content=_V_.createElement("div",{className:"vjs-current-time-display",innerHTML:"0:00"});el.appendChild(_V_.createElement("div").appendChild(this.content));return el},updateContent:function(){var time=(this.player.scrubbing)?this.player.values.currentTime:this.player.currentTime();this.content.innerHTML=_V_.formatTime(time,this.player.duration())}});_V_.DurationDisplay=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("timeupdate",_V_.proxy(this,this.updateContent))},createElement:function(){var el=this._super("div",{className:"vjs-duration vjs-time-controls vjs-control"});this.content=_V_.createElement("div",{className:"vjs-duration-display",innerHTML:"0:00"});el.appendChild(_V_.createElement("div").appendChild(this.content));return el},updateContent:function(){if(this.player.duration()){this.content.innerHTML=_V_.formatTime(this.player.duration())}}});_V_.TimeDivider=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-time-divider",innerHTML:"<div><span>/</span></div>"})}});_V_.RemainingTimeDisplay=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("timeupdate",_V_.proxy(this,this.updateContent))},createElement:function(){var el=this._super("div",{className:"vjs-remaining-time vjs-time-controls vjs-control"});this.content=_V_.createElement("div",{className:"vjs-remaining-time-display",innerHTML:"-0:00"});el.appendChild(_V_.createElement("div").appendChild(this.content));return el},updateContent:function(){if(this.player.duration()){this.content.innerHTML="-"+_V_.formatTime(this.player.remainingTime())}}});_V_.Slider=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent(this.playerEvent,_V_.proxy(this,this.update));this.addEvent("mousedown",this.onMouseDown);this.addEvent("focus",this.onFocus);this.addEvent("blur",this.onBlur);this.player.addEvent("controlsvisible",this.proxy(this.update));this.update()},createElement:function(type,attrs){attrs=_V_.merge({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},attrs);return this._super(type,attrs)},onMouseDown:function(event){event.preventDefault();_V_.blockTextSelection();_V_.addEvent(document,"mousemove",_V_.proxy(this,this.onMouseMove));_V_.addEvent(document,"mouseup",_V_.proxy(this,this.onMouseUp));this.onMouseMove(event)},onMouseUp:function(event){_V_.unblockTextSelection();_V_.removeEvent(document,"mousemove",this.onMouseMove,false);_V_.removeEvent(document,"mouseup",this.onMouseUp,false);this.update()},update:function(){var barProgress,progress=this.getPercent();handle=this.handle,bar=this.bar;if(isNaN(progress)){progress=0}barProgress=progress;if(handle){var box=this.el,boxWidth=box.offsetWidth,handleWidth=handle.el.offsetWidth,handlePercent=(handleWidth)?handleWidth/boxWidth:0,boxAdjustedPercent=1-handlePercent;adjustedProgress=progress*boxAdjustedPercent,barProgress=adjustedProgress+(handlePercent/2);handle.el.style.left=_V_.round(adjustedProgress*100,2)+"%"}bar.el.style.width=_V_.round(barProgress*100,2)+"%"},calculateDistance:function(event){var box=this.el,boxX=_V_.findPosX(box),boxW=box.offsetWidth,handle=this.handle;if(handle){var handleW=handle.el.offsetWidth;boxX=boxX+(handleW/2);boxW=boxW-handleW}return Math.max(0,Math.min(1,(event.pageX-boxX)/boxW))},onFocus:function(event){_V_.addEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))},onKeyPress:function(event){if(event.which==37){event.preventDefault();this.stepBack()}else{if(event.which==39){event.preventDefault();this.stepForward()}}},onBlur:function(event){_V_.removeEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))}});_V_.ProgressControl=_V_.Component.extend({options:{components:{seekBar:{}}},createElement:function(){return this._super("div",{className:"vjs-progress-control vjs-control"})}});_V_.SeekBar=_V_.Slider.extend({options:{components:{loadProgressBar:{},bar:{componentClass:"PlayProgressBar"},handle:{componentClass:"SeekHandle"}}},playerEvent:"timeupdate",init:function(player,options){this._super(player,options)},createElement:function(){return this._super("div",{className:"vjs-progress-holder"})},getPercent:function(){return this.player.currentTime()/this.player.duration()},onMouseDown:function(event){this._super(event);this.player.scrubbing=true;this.videoWasPlaying=!this.player.paused();this.player.pause()},onMouseMove:function(event){var newTime=this.calculateDistance(event)*this.player.duration();if(newTime==this.player.duration()){newTime=newTime-0.1}this.player.currentTime(newTime)},onMouseUp:function(event){this._super(event);this.player.scrubbing=false;if(this.videoWasPlaying){this.player.play()}},stepForward:function(){this.player.currentTime(this.player.currentTime()+1)},stepBack:function(){this.player.currentTime(this.player.currentTime()-1)}});_V_.LoadProgressBar=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("progress",_V_.proxy(this,this.update))},createElement:function(){return this._super("div",{className:"vjs-load-progress",innerHTML:'<span class="vjs-control-text">Loaded: 0%</span>'})},update:function(){if(this.el.style){this.el.style.width=_V_.round(this.player.bufferedPercent()*100,2)+"%"}}});_V_.PlayProgressBar=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-play-progress",innerHTML:'<span class="vjs-control-text">Progress: 0%</span>'})}});_V_.SeekHandle=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-seek-handle",innerHTML:'<span class="vjs-control-text">00:00</span>'})}});_V_.VolumeControl=_V_.Component.extend({options:{components:{volumeBar:{}}},createElement:function(){return this._super("div",{className:"vjs-volume-control vjs-control"})}});_V_.VolumeBar=_V_.Slider.extend({options:{components:{bar:{componentClass:"VolumeLevel"},handle:{componentClass:"VolumeHandle"}}},playerEvent:"volumechange",createElement:function(){return this._super("div",{className:"vjs-volume-bar"})},onMouseMove:function(event){this.player.volume(this.calculateDistance(event))},getPercent:function(){return this.player.volume()},stepForward:function(){this.player.volume(this.player.volume()+0.1)},stepBack:function(){this.player.volume(this.player.volume()-0.1)}});_V_.VolumeLevel=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-volume-level",innerHTML:'<span class="vjs-control-text"></span>'})}});_V_.VolumeHandle=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-volume-handle",innerHTML:'<span class="vjs-control-text"></span>'})}});_V_.MuteToggle=_V_.Button.extend({init:function(player,options){this._super(player,options);player.addEvent("volumechange",_V_.proxy(this,this.update))},createElement:function(){return this._super("div",{className:"vjs-mute-control vjs-control",innerHTML:'<div><span class="vjs-control-text">Mute</span></div>'})},onClick:function(event){this.player.muted(this.player.muted()?false:true)},update:function(event){var vol=this.player.volume(),level=3;if(vol==0||this.player.muted()){level=0}else{if(vol<0.33){level=1}else{if(vol<0.67){level=2}}}_V_.each.call(this,[0,1,2,3],function(i){_V_.removeClass(this.el,"vjs-vol-"+i)});_V_.addClass(this.el,"vjs-vol-"+level)}});_V_.PosterImage=_V_.Button.extend({init:function(player,options){this._super(player,options);if(!this.player.options.poster){this.hide()}player.addEvent("play",_V_.proxy(this,this.hide))},createElement:function(){return _V_.createElement("img",{className:"vjs-poster",src:this.player.options.poster,tabIndex:-1})},onClick:function(){this.player.play()}});_V_.Menu=_V_.Component.extend({init:function(player,options){this._super(player,options)},addItem:function(component){this.addComponent(component);component.addEvent("click",this.proxy(function(){this.unlockShowing()}))},createElement:function(){return this._super("ul",{className:"vjs-menu"})}});_V_.MenuItem=_V_.Button.extend({init:function(player,options){this._super(player,options);if(options.selected){this.addClass("vjs-selected")}},createElement:function(type,attrs){return this._super("li",_V_.merge({className:"vjs-menu-item",innerHTML:this.options.label},attrs))},onClick:function(){this.selected(true)},selected:function(selected){if(selected){this.addClass("vjs-selected")}else{this.removeClass("vjs-selected")}}});if(!Array.prototype.indexOf){Array.prototype.indexOf=function(searchElement){if(this===void 0||this===null){throw new TypeError()}var t=Object(this);var len=t.length>>>0;if(len===0){return -1}var n=0;if(arguments.length>0){n=Number(arguments[1]);if(n!==n){n=0}else{if(n!==0&&n!==(1/0)&&n!==-(1/0)){n=(n>0||-1)*Math.floor(Math.abs(n))}}}if(n>=len){return -1}var k=n>=0?n:Math.max(len-Math.abs(n),0);for(;k<len;k++){if(k in t&&t[k]===searchElement){return k}}return -1}}_V_.extend({addEvent:function(elem,type,fn){var data=_V_.getData(elem),handlers;if(data&&!data.handler){data.handler=function(event){event=_V_.fixEvent(event);var handlers=_V_.getData(elem).events[event.type];if(handlers){var handlersCopy=[];_V_.each(handlers,function(handler,i){handlersCopy[i]=handler});for(var i=0,l=handlersCopy.length;i<l;i++){handlersCopy[i].call(elem,event)}}}}if(!data.events){data.events={}}handlers=data.events[type];if(!handlers){handlers=data.events[type]=[];if(document.addEventListener){elem.addEventListener(type,data.handler,false)}else{if(document.attachEvent){elem.attachEvent("on"+type,data.handler)}}}if(!fn.guid){fn.guid=_V_.guid++}handlers.push(fn)},removeEvent:function(elem,type,fn){var data=_V_.getData(elem),handlers;if(!data.events){return}if(!type){for(type in data.events){_V_.cleanUpEvents(elem,type)}return}handlers=data.events[type];if(!handlers){return}if(fn&&fn.guid){for(var i=0;i<handlers.length;i++){if(handlers[i].guid===fn.guid){handlers.splice(i--,1)}}}_V_.cleanUpEvents(elem,type)},cleanUpEvents:function(elem,type){var data=_V_.getData(elem);if(data.events[type].length===0){delete data.events[type];if(document.removeEventListener){elem.removeEventListener(type,data.handler,false)}else{if(document.detachEvent){elem.detachEvent("on"+type,data.handler)}}}if(_V_.isEmpty(data.events)){delete data.events;delete data.handler}if(_V_.isEmpty(data)){_V_.removeData(elem)}},fixEvent:function(event){if(event[_V_.expando]){return event}var originalEvent=event;event=new _V_.Event(originalEvent);for(var i=_V_.Event.props.length,prop;i;){prop=_V_.Event.props[--i];event[prop]=originalEvent[prop]}if(!event.target){event.target=event.srcElement||document}if(event.target.nodeType===3){event.target=event.target.parentNode}if(!event.relatedTarget&&event.fromElement){event.relatedTarget=event.fromElement===event.target?event.toElement:event.fromElement}if(event.pageX==null&&event.clientX!=null){var eventDocument=event.target.ownerDocument||document,doc=eventDocument.documentElement,body=eventDocument.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}if(event.which==null&&(event.charCode!=null||event.keyCode!=null)){event.which=event.charCode!=null?event.charCode:event.keyCode}if(!event.metaKey&&event.ctrlKey){event.metaKey=event.ctrlKey}if(!event.which&&event.button!==undefined){event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)))}return event},triggerEvent:function(elem,event){var data=_V_.getData(elem),parent=elem.parentNode||elem.ownerDocument,type=event.type||event,handler;if(data){handler=data.handler}event=typeof event==="object"?event[_V_.expando]?event:new _V_.Event(type,event):new _V_.Event(type);event.type=type;if(handler){handler.call(elem,event)}event.result=undefined;event.target=elem},one:function(elem,type,fn){_V_.addEvent(elem,type,function(){_V_.removeEvent(elem,type,arguments.callee);fn.apply(this,arguments)})}});_V_.Event=function(src,props){if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=(src.defaultPrevented||src.returnValue===false||src.getPreventDefault&&src.getPreventDefault())?returnTrue:returnFalse}else{this.type=src}if(props){_V_.merge(this,props)}this.timeStamp=(new Date).getTime();this[_V_.expando]=true};_V_.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e){return}if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e){return}if(e.stopPropagation){e.stopPropagation()}e.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation()},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};_V_.Event.props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" ");function returnTrue(){return true}function returnFalse(){return false}var JSON;if(!JSON){JSON={}}(function(){var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());_V_.Player=_V_.Component.extend({init:function(tag,addOptions,ready){this.tag=tag;var el=this.el=_V_.createElement("div"),options=this.options={},width=options.width=tag.getAttribute("width"),height=options.height=tag.getAttribute("height"),initWidth=width||300,initHeight=height||150;tag.player=el.player=this;this.ready(ready);tag.parentNode.insertBefore(el,tag);el.appendChild(tag);el.id=this.id=tag.id;el.className=tag.className;tag.id+="_html5_api";tag.className="vjs-tech";_V_.players[el.id]=this;el.setAttribute("width",initWidth);el.setAttribute("height",initHeight);el.style.width=initWidth+"px";el.style.height=initHeight+"px";tag.removeAttribute("width");tag.removeAttribute("height");_V_.merge(options,_V_.options);_V_.merge(options,this.getVideoTagSettings());_V_.merge(options,addOptions);tag.removeAttribute("controls");tag.removeAttribute("poster");if(tag.hasChildNodes()){for(var i=0,j=tag.childNodes;i<j.length;i++){if(j[i].nodeName=="SOURCE"||j[i].nodeName=="TRACK"){tag.removeChild(j[i])}}}this.values={};this.addClass("vjs-paused");this.addEvent("ended",this.onEnded);this.addEvent("play",this.onPlay);this.addEvent("pause",this.onPause);this.addEvent("progress",this.onProgress);this.addEvent("error",this.onError);if(options.controls){this.ready(function(){this.initComponents()})}this.textTracks=[];if(options.tracks&&options.tracks.length>0){this.addTextTracks(options.tracks)}if(!options.sources||options.sources.length==0){for(var i=0,j=options.techOrder;i<j.length;i++){var techName=j[i],tech=_V_[techName];if(tech.isSupported()){this.loadTech(techName);break}}}else{this.src(options.sources)}},values:{},destroy:function(){this.stopTrackingProgress();this.stopTrackingCurrentTime();_V_.players[this.id]=null;delete _V_.players[this.id];this.tech.destroy();this.el.parentNode.removeChild(this.el)},createElement:function(type,options){},getVideoTagSettings:function(){var options={sources:[],tracks:[]};options.src=this.tag.getAttribute("src");options.controls=this.tag.getAttribute("controls")!==null;options.poster=this.tag.getAttribute("poster");options.preload=this.tag.getAttribute("preload");options.autoplay=this.tag.getAttribute("autoplay")!==null;options.loop=this.tag.getAttribute("loop")!==null;options.muted=this.tag.getAttribute("muted")!==null;if(this.tag.hasChildNodes()){for(var c,i=0,j=this.tag.childNodes;i<j.length;i++){c=j[i];if(c.nodeName=="SOURCE"){options.sources.push({src:c.getAttribute("src"),type:c.getAttribute("type"),media:c.getAttribute("media"),title:c.getAttribute("title")})}if(c.nodeName=="TRACK"){options.tracks.push({src:c.getAttribute("src"),kind:c.getAttribute("kind"),srclang:c.getAttribute("srclang"),label:c.getAttribute("label"),"default":c.getAttribute("default")!==null,title:c.getAttribute("title")})}}}return options},loadTech:function(techName,source){if(this.tech){this.unloadTech()}else{if(techName!="html5"&&this.tag){this.el.removeChild(this.tag);this.tag=false}}this.techName=techName;this.isReady=false;var techReady=function(){this.player.triggerReady();if(!this.support.progressEvent){this.player.manualProgressOn()}if(!this.support.timeupdateEvent){this.player.manualTimeUpdatesOn()}};var techOptions=_V_.merge({source:source,parentEl:this.el},this.options[techName]);if(source){if(source.src==this.values.src&&this.values.currentTime>0){techOptions.startTime=this.values.currentTime}this.values.src=source.src}this.tech=new _V_[techName](this,techOptions);this.tech.ready(techReady)},unloadTech:function(){this.tech.destroy();if(this.manualProgress){this.manualProgressOff()}if(this.manualTimeUpdates){this.manualTimeUpdatesOff()}this.tech=false},manualProgressOn:function(){this.manualProgress=true;this.trackProgress();this.tech.addEvent("progress",function(){this.removeEvent("progress",arguments.callee);this.support.progressEvent=true;this.player.manualProgressOff()})},manualProgressOff:function(){this.manualProgress=false;this.stopTrackingProgress()},trackProgress:function(){this.progressInterval=setInterval(_V_.proxy(this,function(){if(this.values.bufferEnd<this.buffered().end(0)){this.triggerEvent("progress")}else{if(this.bufferedPercent()==1){this.stopTrackingProgress();this.triggerEvent("progress")}}}),500)},stopTrackingProgress:function(){clearInterval(this.progressInterval)},manualTimeUpdatesOn:function(){this.manualTimeUpdates=true;this.addEvent("play",this.trackCurrentTime);this.addEvent("pause",this.stopTrackingCurrentTime);this.tech.addEvent("timeupdate",function(){this.removeEvent("timeupdate",arguments.callee);this.support.timeupdateEvent=true;this.player.manualTimeUpdatesOff()})},manualTimeUpdatesOff:function(){this.manualTimeUpdates=false;this.stopTrackingCurrentTime();this.removeEvent("play",this.trackCurrentTime);this.removeEvent("pause",this.stopTrackingCurrentTime)},trackCurrentTime:function(){if(this.currentTimeInterval){this.stopTrackingCurrentTime()}this.currentTimeInterval=setInterval(_V_.proxy(this,function(){this.triggerEvent("timeupdate")}),250)},stopTrackingCurrentTime:function(){clearInterval(this.currentTimeInterval)},onEnded:function(){if(this.options.loop){this.currentTime(0);this.play()}else{this.pause();this.currentTime(0);this.pause()}},onPlay:function(){_V_.removeClass(this.el,"vjs-paused");_V_.addClass(this.el,"vjs-playing")},onPause:function(){_V_.removeClass(this.el,"vjs-playing");_V_.addClass(this.el,"vjs-paused")},onProgress:function(){if(this.bufferedPercent()==1){this.triggerEvent("loadedalldata")}},onError:function(e){_V_.log("Video Error",e)},techCall:function(method,arg){if(!this.tech.isReady){this.tech.ready(function(){this[method](arg)})}else{try{this.tech[method](arg)}catch(e){_V_.log(e)}}},techGet:function(method){if(this.tech.isReady){try{return this.tech[method]()}catch(e){if(this.tech[method]===undefined){_V_.log("Video.js: "+method+" method not defined for "+this.techName+" playback technology.",e)}else{if(e.name=="TypeError"){_V_.log("Video.js: "+method+" unavailable on "+this.techName+" playback technology element.",e);this.tech.isReady=false}else{_V_.log(e)}}}}return},play:function(){this.techCall("play");return this},pause:function(){this.techCall("pause");return this},paused:function(){return(this.techGet("paused")===false)?false:true},currentTime:function(seconds){if(seconds!==undefined){this.values.lastSetCurrentTime=seconds;this.techCall("setCurrentTime",seconds);if(this.manualTimeUpdates){this.triggerEvent("timeupdate")}return this}return this.values.currentTime=(this.techGet("currentTime")||0)},duration:function(){return parseFloat(this.techGet("duration"))},remainingTime:function(){return this.duration()-this.currentTime()},buffered:function(){var buffered=this.techGet("buffered"),start=0,end=this.values.bufferEnd=this.values.bufferEnd||0,timeRange;if(buffered&&buffered.length>0&&buffered.end(0)!==end){end=buffered.end(0);this.values.bufferEnd=end}return _V_.createTimeRange(start,end)},bufferedPercent:function(){return(this.duration())?this.buffered().end(0)/this.duration():0},volume:function(percentAsDecimal){var vol;if(percentAsDecimal!==undefined){vol=Math.max(0,Math.min(1,parseFloat(percentAsDecimal)));this.values.volume=vol;this.techCall("setVolume",vol);_V_.setLocalStorage("volume",vol);return this}vol=parseFloat(this.techGet("volume"));return(isNaN(vol))?1:vol},muted:function(muted){if(muted!==undefined){this.techCall("setMuted",muted);return this}return this.techGet("muted")||false},width:function(width,skipListeners){if(width!==undefined){this.el.width=width;this.el.style.width=width+"px";if(!skipListeners){this.triggerEvent("resize")}return this}return parseInt(this.el.getAttribute("width"))},height:function(height){if(height!==undefined){this.el.height=height;this.el.style.height=height+"px";this.triggerEvent("resize");return this}return parseInt(this.el.getAttribute("height"))},size:function(width,height){return this.width(width,true).height(height)},supportsFullScreen:function(){return this.techGet("supportsFullScreen")||false},requestFullScreen:function(){var requestFullScreen=_V_.support.requestFullScreen;this.isFullScreen=true;if(requestFullScreen){_V_.addEvent(document,requestFullScreen.eventName,this.proxy(function(){this.isFullScreen=document[requestFullScreen.isFullScreen];if(this.isFullScreen==false){_V_.removeEvent(document,requestFullScreen.eventName,arguments.callee)}this.triggerEvent("fullscreenchange")}));if(this.tech.support.fullscreenResize===false&&this.options.flash.iFrameMode!=true){this.pause();this.unloadTech();_V_.addEvent(document,requestFullScreen.eventName,this.proxy(function(){_V_.removeEvent(document,requestFullScreen.eventName,arguments.callee);this.loadTech(this.techName,{src:this.values.src})}));this.el[requestFullScreen.requestFn]()}else{this.el[requestFullScreen.requestFn]()}}else{if(this.tech.supportsFullScreen()){this.triggerEvent("fullscreenchange");this.techCall("enterFullScreen")}else{this.triggerEvent("fullscreenchange");this.enterFullWindow()}}return this},cancelFullScreen:function(){var requestFullScreen=_V_.support.requestFullScreen;this.isFullScreen=false;if(requestFullScreen){if(this.tech.support.fullscreenResize===false&&this.options.flash.iFrameMode!=true){this.pause();this.unloadTech();_V_.addEvent(document,requestFullScreen.eventName,this.proxy(function(){_V_.removeEvent(document,requestFullScreen.eventName,arguments.callee);this.loadTech(this.techName,{src:this.values.src})}));document[requestFullScreen.cancelFn]()}else{document[requestFullScreen.cancelFn]()}}else{if(this.tech.supportsFullScreen()){this.techCall("exitFullScreen");this.triggerEvent("fullscreenchange")}else{this.exitFullWindow();this.triggerEvent("fullscreenchange")}}return this},enterFullWindow:function(){this.isFullWindow=true;this.docOrigOverflow=document.documentElement.style.overflow;_V_.addEvent(document,"keydown",_V_.proxy(this,this.fullWindowOnEscKey));document.documentElement.style.overflow="hidden";_V_.addClass(document.body,"vjs-full-window");_V_.addClass(this.el,"vjs-fullscreen");this.triggerEvent("enterFullWindow")},fullWindowOnEscKey:function(event){if(event.keyCode==27){if(this.isFullScreen==true){this.cancelFullScreen()}else{this.exitFullWindow()}}},exitFullWindow:function(){this.isFullWindow=false;_V_.removeEvent(document,"keydown",this.fullWindowOnEscKey);document.documentElement.style.overflow=this.docOrigOverflow;_V_.removeClass(document.body,"vjs-full-window");_V_.removeClass(this.el,"vjs-fullscreen");this.triggerEvent("exitFullWindow")},selectSource:function(sources){for(var i=0,j=this.options.techOrder;i<j.length;i++){var techName=j[i],tech=_V_[techName];if(tech.isSupported()){for(var a=0,b=sources;a<b.length;a++){var source=b[a];if(tech.canPlaySource.call(this,source)){return{source:source,tech:techName}}}}}return false},src:function(source){if(source instanceof Array){var sourceTech=this.selectSource(source),source,techName;if(sourceTech){source=sourceTech.source;techName=sourceTech.tech;if(techName==this.techName){this.src(source)}else{this.loadTech(techName,source)}}else{_V_.log("No compatible source and playback technology were found.")}}else{if(source instanceof Object){if(_V_[this.techName].canPlaySource(source)){this.src(source.src)}else{this.src([source])}}else{this.values.src=source;if(!this.isReady){this.ready(function(){this.src(source)})}else{this.techCall("src",source);if(this.options.preload=="auto"){this.load()}if(this.options.autoplay){this.play()}}}}return this},load:function(){this.techCall("load");return this},currentSrc:function(){return this.techGet("currentSrc")||this.values.src||""},preload:function(value){if(value!==undefined){this.techCall("setPreload",value);this.options.preload=value;return this}return this.techGet("preload")},autoplay:function(value){if(value!==undefined){this.techCall("setAutoplay",value);this.options.autoplay=value;return this}return this.techGet("autoplay",value)},loop:function(value){if(value!==undefined){this.techCall("setLoop",value);this.options.loop=value;return this}return this.techGet("loop")},controls:function(){return this.options.controls},poster:function(){return this.techGet("poster")},error:function(){return this.techGet("error")},ended:function(){return this.techGet("ended")}});(function(){var requestFn,cancelFn,eventName,isFullScreen,playerProto=_V_.Player.prototype;if(document.cancelFullscreen!==undefined){requestFn="requestFullscreen";cancelFn="exitFullscreen";eventName="fullscreenchange";isFullScreen="fullScreen"}else{_V_.each(["moz","webkit"],function(prefix){if((prefix!="moz"||document.mozFullScreenEnabled)&&document[prefix+"CancelFullScreen"]!==undefined){requestFn=prefix+"RequestFullScreen";cancelFn=prefix+"CancelFullScreen";eventName=prefix+"fullscreenchange";if(prefix=="webkit"){isFullScreen=prefix+"IsFullScreen"}else{isFullScreen=prefix+"FullScreen"}}})}if(requestFn){_V_.support.requestFullScreen={requestFn:requestFn,cancelFn:cancelFn,eventName:eventName,isFullScreen:isFullScreen}}})();_V_.PlaybackTech=_V_.Component.extend({init:function(player,options){},onClick:function(){if(this.player.options.controls){_V_.PlayToggle.prototype.onClick.call(this)}}});_V_.apiMethods="play,pause,paused,currentTime,setCurrentTime,duration,buffered,volume,setVolume,muted,setMuted,width,height,supportsFullScreen,enterFullScreen,src,load,currentSrc,preload,setPreload,autoplay,setAutoplay,loop,setLoop,error,networkState,readyState,seeking,initialTime,startOffsetTime,played,seekable,ended,videoTracks,audioTracks,videoWidth,videoHeight,textTracks,defaultPlaybackRate,playbackRate,mediaGroup,controller,controls,defaultMuted".split(",");_V_.each(_V_.apiMethods,function(methodName){_V_.PlaybackTech.prototype[methodName]=function(){throw new Error("The '"+methodName+"' method is not available on the playback technology's API")}});_V_.html5=_V_.PlaybackTech.extend({init:function(player,options,ready){this.player=player;this.el=this.createElement();this.ready(ready);this.addEvent("click",this.proxy(this.onClick));var source=options.source;if(source&&this.el.currentSrc==source.src){player.triggerEvent("loadstart")}else{if(source){this.el.src=source.src}}player.ready(function(){if(this.options.autoplay&&this.paused()){this.tag.poster=null;this.play()}});this.setupTriggers();this.triggerReady()},destroy:function(){this.player.tag=false;this.removeTriggers();this.el.parentNode.removeChild(this.el)},createElement:function(){var html5=_V_.html5,player=this.player,el=player.tag,newEl;if(!el||this.support.movingElementInDOM===false){if(el){player.el.removeChild(el)}newEl=_V_.createElement("video",{id:el.id||player.el.id+"_html5_api",className:el.className||"vjs-tech"});el=newEl;_V_.insertFirst(el,player.el)}_V_.each(["autoplay","preload","loop","muted"],function(attr){if(player.options[attr]!==null){el[attr]=player.options[attr]}},this);return el},setupTriggers:function(){_V_.each.call(this,_V_.html5.events,function(type){_V_.addEvent(this.el,type,_V_.proxy(this.player,this.eventHandler))})},removeTriggers:function(){_V_.each.call(this,_V_.html5.events,function(type){_V_.removeEvent(this.el,type,_V_.proxy(this.player,this.eventHandler))})},eventHandler:function(e){e.stopPropagation();this.triggerEvent(e)},play:function(){this.el.play()},pause:function(){this.el.pause()},paused:function(){return this.el.paused},currentTime:function(){return this.el.currentTime},setCurrentTime:function(seconds){try{this.el.currentTime=seconds}catch(e){_V_.log(e,"Video isn't ready. (VideoJS)")}},duration:function(){return this.el.duration||0},buffered:function(){return this.el.buffered},volume:function(){return this.el.volume},setVolume:function(percentAsDecimal){this.el.volume=percentAsDecimal},muted:function(){return this.el.muted},setMuted:function(muted){this.el.muted=muted},width:function(){return this.el.offsetWidth},height:function(){return this.el.offsetHeight},supportsFullScreen:function(){if(typeof this.el.webkitEnterFullScreen=="function"){if(!navigator.userAgent.match("Chrome")&&!navigator.userAgent.match("Mac OS X 10.5")){return true}}return false},enterFullScreen:function(){try{this.el.webkitEnterFullScreen()}catch(e){if(e.code==11){_V_.log("VideoJS: Video not ready.")}}},src:function(src){this.el.src=src},load:function(){this.el.load()},currentSrc:function(){return this.el.currentSrc},preload:function(){return this.el.preload},setPreload:function(val){this.el.preload=val},autoplay:function(){return this.el.autoplay},setAutoplay:function(val){this.el.autoplay=val},loop:function(){return this.el.loop},setLoop:function(val){this.el.loop=val},error:function(){return this.el.error},seeking:function(){return this.el.seeking},ended:function(){return this.el.ended},controls:function(){return this.player.options.controls},defaultMuted:function(){return this.el.defaultMuted}});_V_.html5.isSupported=function(){return !!document.createElement("video").canPlayType};_V_.html5.canPlaySource=function(srcObj){return !!document.createElement("video").canPlayType(srcObj.type)};_V_.html5.events="loadstart,suspend,abort,error,emptied,stalled,loadedmetadata,loadeddata,canplay,canplaythrough,playing,waiting,seeking,seeked,ended,durationchange,timeupdate,progress,play,pause,ratechange,volumechange".split(",");_V_.html5.prototype.support={fullscreen:(typeof _V_.testVid.webkitEnterFullScreen!==undefined)?(!_V_.ua.match("Chrome")&&!_V_.ua.match("Mac OS X 10.5")?true:false):false,movingElementInDOM:!_V_.isIOS()};if(_V_.isAndroid()){if(_V_.androidVersion()<3){document.createElement("video").constructor.prototype.canPlayType=function(type){return(type&&type.toLowerCase().indexOf("video/mp4")!=-1)?"maybe":""}}}_V_.flash=_V_.PlaybackTech.extend({init:function(player,options){this.player=player;var source=options.source,parentEl=options.parentEl,placeHolder=this.el=_V_.createElement("div",{id:parentEl.id+"_temp_flash"}),objId=player.el.id+"_flash_api",playerOptions=player.options,flashVars=_V_.merge({readyFunction:"_V_.flash.onReady",eventProxyFunction:"_V_.flash.onEvent",errorEventProxyFunction:"_V_.flash.onError",autoplay:playerOptions.autoplay,preload:playerOptions.preload,loop:playerOptions.loop,muted:playerOptions.muted},options.flashVars),params=_V_.merge({wmode:"opaque",bgcolor:"#000000"},options.params),attributes=_V_.merge({id:objId,name:objId,"class":"vjs-tech"},options.attributes);if(source){flashVars.src=encodeURIComponent(_V_.getAbsoluteURL(source.src))}_V_.insertFirst(placeHolder,parentEl);if(options.startTime){this.ready(function(){this.load();this.play();this.currentTime(options.startTime)})}if(options.iFrameMode==true&&!_V_.isFF){var iFrm=_V_.createElement("iframe",{id:objId+"_iframe",name:objId+"_iframe",className:"vjs-tech",scrolling:"no",marginWidth:0,marginHeight:0,frameBorder:0});flashVars.readyFunction="ready";flashVars.eventProxyFunction="events";flashVars.errorEventProxyFunction="errors";_V_.addEvent(iFrm,"load",_V_.proxy(this,function(){var iDoc,objTag,swfLoc,iWin=iFrm.contentWindow,varString="";iDoc=iFrm.contentDocument?iFrm.contentDocument:iFrm.contentWindow.document;iDoc.write(_V_.flash.getEmbedCode(options.swf,flashVars,params,attributes));iWin.player=this.player;iWin.ready=_V_.proxy(this.player,function(currSwf){var el=iDoc.getElementById(currSwf),player=this,tech=player.tech;tech.el=el;_V_.addEvent(el,"click",tech.proxy(tech.onClick));_V_.flash.checkReady(tech)});iWin.events=_V_.proxy(this.player,function(swfID,eventName,other){var player=this;if(player&&player.techName=="flash"){player.triggerEvent(eventName)}});iWin.errors=_V_.proxy(this.player,function(swfID,eventName){_V_.log("Flash Error",eventName)})}));placeHolder.parentNode.replaceChild(iFrm,placeHolder)}else{_V_.flash.embed(options.swf,placeHolder,flashVars,params,attributes)}},destroy:function(){this.el.parentNode.removeChild(this.el)},play:function(){this.el.vjs_play()},pause:function(){this.el.vjs_pause()},src:function(src){src=_V_.getAbsoluteURL(src);this.el.vjs_src(src);if(this.player.autoplay()){var tech=this;setTimeout(function(){tech.play()},0)}},load:function(){this.el.vjs_load()},poster:function(){this.el.vjs_getProperty("poster")},buffered:function(){return _V_.createTimeRange(0,this.el.vjs_getProperty("buffered"))},supportsFullScreen:function(){return false},enterFullScreen:function(){return false}});(function(){var api=_V_.flash.prototype,readWrite="preload,currentTime,defaultPlaybackRate,playbackRate,autoplay,loop,mediaGroup,controller,controls,volume,muted,defaultMuted".split(","),readOnly="error,currentSrc,networkState,readyState,seeking,initialTime,duration,startOffsetTime,paused,played,seekable,ended,videoTracks,audioTracks,videoWidth,videoHeight,textTracks".split(","),callOnly="load,play,pause".split(",");createSetter=function(attr){var attrUpper=attr.charAt(0).toUpperCase()+attr.slice(1);api["set"+attrUpper]=function(val){return this.el.vjs_setProperty(attr,val)}},createGetter=function(attr){api[attr]=function(){return this.el.vjs_getProperty(attr)}};_V_.each(readWrite,function(attr){createGetter(attr);createSetter(attr)});_V_.each(readOnly,function(attr){createGetter(attr)})})();_V_.flash.isSupported=function(){return _V_.flash.version()[0]>=10};_V_.flash.canPlaySource=function(srcObj){if(srcObj.type in _V_.flash.prototype.support.formats){return"maybe"}};_V_.flash.prototype.support={formats:{"video/flv":"FLV","video/x-flv":"FLV","video/mp4":"MP4","video/m4v":"MP4"},progressEvent:false,timeupdateEvent:false,fullscreenResize:false,parentResize:!(_V_.ua.match("Firefox"))};_V_.flash.onReady=function(currSwf){var el=_V_.el(currSwf);var player=el.player||el.parentNode.player,tech=player.tech;el.player=player;tech.el=el;tech.addEvent("click",tech.onClick);_V_.flash.checkReady(tech)};_V_.flash.checkReady=function(tech){if(tech.el.vjs_getProperty){tech.triggerReady()}else{setTimeout(function(){_V_.flash.checkReady(tech)},50)}};_V_.flash.onEvent=function(swfID,eventName){var player=_V_.el(swfID).player;player.triggerEvent(eventName)};_V_.flash.onError=function(swfID,err){var player=_V_.el(swfID).player;player.triggerEvent("error");_V_.log("Flash Error",err,swfID)};_V_.flash.version=function(){var version="0,0,0";try{version=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(e){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){version=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}}catch(e){}}return version.split(",")};_V_.flash.embed=function(swf,placeHolder,flashVars,params,attributes){var code=_V_.flash.getEmbedCode(swf,flashVars,params,attributes),obj=_V_.createElement("div",{innerHTML:code}).childNodes[0],par=placeHolder.parentNode;placeHolder.parentNode.replaceChild(obj,placeHolder);if(_V_.isIE()){var newObj=par.childNodes[0];setTimeout(function(){newObj.style.display="block"},1000)}return obj};_V_.flash.getEmbedCode=function(swf,flashVars,params,attributes){var objTag='<object type="application/x-shockwave-flash"',flashVarsString="",paramsString="";attrsString="";if(flashVars){_V_.eachProp(flashVars,function(key,val){flashVarsString+=(key+"="+val+"&amp;")})}params=_V_.merge({movie:swf,flashvars:flashVarsString,allowScriptAccess:"always",allowNetworking:"all"},params);_V_.eachProp(params,function(key,val){paramsString+='<param name="'+key+'" value="'+val+'" />'});attributes=_V_.merge({data:swf,width:"100%",height:"100%"},attributes);_V_.eachProp(attributes,function(key,val){attrsString+=(key+'="'+val+'" ')});return objTag+attrsString+">"+paramsString+"</object>"};_V_.merge(_V_.Player.prototype,{addTextTracks:function(trackObjects){var tracks=this.textTracks=(this.textTracks)?this.textTracks:[],i=0,j=trackObjects.length,track,Kind;for(;i<j;i++){Kind=_V_.uc(trackObjects[i].kind||"subtitles");track=new _V_[Kind+"Track"](this,trackObjects[i]);tracks.push(track);if(track["default"]){this.ready(_V_.proxy(track,track.show))}}return this},showTextTrack:function(id,disableSameKind){var tracks=this.textTracks,i=0,j=tracks.length,track,showTrack,kind;for(;i<j;i++){track=tracks[i];if(track.id===id){track.show();showTrack=track}else{if(disableSameKind&&track.kind==disableSameKind&&track.mode>0){track.disable()}}}kind=(showTrack)?showTrack.kind:((disableSameKind)?disableSameKind:false);if(kind){this.triggerEvent(kind+"trackchange")}return this}});_V_.Track=_V_.Component.extend({init:function(player,options){this._super(player,options);_V_.merge(this,{id:options.id||("vjs_"+options.kind+"_"+options.language+"_"+_V_.guid++),src:options.src,"default":options["default"],title:options.title,language:options.srclang,label:options.label,cues:[],activeCues:[],readyState:0,mode:0})},createElement:function(){return this._super("div",{className:"vjs-"+this.kind+" vjs-text-track"})},show:function(){this.activate();this.mode=2;this._super()},hide:function(){this.activate();this.mode=1;this._super()},disable:function(){if(this.mode==2){this.hide()}this.deactivate();this.mode=0},activate:function(){if(this.readyState==0){this.load()}if(this.mode==0){this.player.addEvent("timeupdate",this.proxy(this.update,this.id));this.player.addEvent("ended",this.proxy(this.reset,this.id));if(this.kind=="captions"||this.kind=="subtitles"){this.player.textTrackDisplay.addComponent(this)}}},deactivate:function(){this.player.removeEvent("timeupdate",this.proxy(this.update,this.id));this.player.removeEvent("ended",this.proxy(this.reset,this.id));this.reset();this.player.textTrackDisplay.removeComponent(this)},load:function(){if(this.readyState==0){this.readyState=1;_V_.get(this.src,this.proxy(this.parseCues),this.proxy(this.onError))}},onError:function(err){this.error=err;this.readyState=3;this.triggerEvent("error")},parseCues:function(srcContent){var cue,time,text,lines=srcContent.split("\n"),line="",id;for(var i=1,j=lines.length;i<j;i++){line=_V_.trim(lines[i]);if(line){if(line.indexOf("-->")==-1){id=line;line=_V_.trim(lines[++i])}else{id=this.cues.length}cue={id:id,index:this.cues.length};time=line.split(" --> ");cue.startTime=this.parseCueTime(time[0]);cue.endTime=this.parseCueTime(time[1]);text=[];while(lines[++i]&&(line=_V_.trim(lines[i]))){text.push(line)}cue.text=text.join("<br/>");this.cues.push(cue)}}this.readyState=2;this.triggerEvent("loaded")},parseCueTime:function(timeText){var parts=timeText.split(":"),time=0,hours,minutes,other,seconds,ms,flags;if(parts.length==3){hours=parts[0];minutes=parts[1];other=parts[2]}else{hours=0;minutes=parts[0];other=parts[1]}other=other.split(/\s+/);seconds=other.splice(0,1)[0];seconds=seconds.split(/\.|,/);ms=parseFloat(seconds[1]);seconds=seconds[0];time+=parseFloat(hours)*3600;time+=parseFloat(minutes)*60;time+=parseFloat(seconds);if(ms){time+=ms/1000}return time},update:function(){if(this.cues.length>0){var time=this.player.currentTime();if(this.prevChange===undefined||time<this.prevChange||this.nextChange<=time){var cues=this.cues,newNextChange=this.player.duration(),newPrevChange=0,reverse=false,newCues=[],firstActiveIndex,lastActiveIndex,html="",cue,i,j;if(time>=this.nextChange||this.nextChange===undefined){i=(this.firstActiveIndex!==undefined)?this.firstActiveIndex:0}else{reverse=true;i=(this.lastActiveIndex!==undefined)?this.lastActiveIndex:cues.length-1}while(true){cue=cues[i];if(cue.endTime<=time){newPrevChange=Math.max(newPrevChange,cue.endTime);if(cue.active){cue.active=false}}else{if(time<cue.startTime){newNextChange=Math.min(newNextChange,cue.startTime);if(cue.active){cue.active=false}if(!reverse){break}}else{if(reverse){newCues.splice(0,0,cue);if(lastActiveIndex===undefined){lastActiveIndex=i}firstActiveIndex=i}else{newCues.push(cue);if(firstActiveIndex===undefined){firstActiveIndex=i}lastActiveIndex=i}newNextChange=Math.min(newNextChange,cue.endTime);newPrevChange=Math.max(newPrevChange,cue.startTime);cue.active=true}}if(reverse){if(i===0){break}else{i--}}else{if(i===cues.length-1){break}else{i++}}}this.activeCues=newCues;this.nextChange=newNextChange;this.prevChange=newPrevChange;this.firstActiveIndex=firstActiveIndex;this.lastActiveIndex=lastActiveIndex;this.updateDisplay();this.triggerEvent("cuechange")}}},updateDisplay:function(){var cues=this.activeCues,html="",i=0,j=cues.length;for(;i<j;i++){html+="<span class='vjs-tt-cue'>"+cues[i].text+"</span>"}this.el.innerHTML=html},reset:function(){this.nextChange=0;this.prevChange=this.player.duration();this.firstActiveIndex=0;this.lastActiveIndex=0}});_V_.CaptionsTrack=_V_.Track.extend({kind:"captions"});_V_.SubtitlesTrack=_V_.Track.extend({kind:"subtitles"});_V_.ChaptersTrack=_V_.Track.extend({kind:"chapters"});_V_.TextTrackDisplay=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-text-track-display"})}});_V_.TextTrackMenuItem=_V_.MenuItem.extend({init:function(player,options){var track=this.track=options.track;options.label=track.label;options.selected=track["default"];this._super(player,options);this.player.addEvent(track.kind+"trackchange",_V_.proxy(this,this.update))},onClick:function(){this._super();this.player.showTextTrack(this.track.id,this.track.kind)},update:function(){if(this.track.mode==2){this.selected(true)}else{this.selected(false)}}});_V_.OffTextTrackMenuItem=_V_.TextTrackMenuItem.extend({init:function(player,options){options.track={kind:options.kind,player:player,label:"Off"};this._super(player,options)},onClick:function(){this._super();this.player.showTextTrack(this.track.id,this.track.kind)},update:function(){var tracks=this.player.textTracks,i=0,j=tracks.length,track,off=true;for(;i<j;i++){track=tracks[i];if(track.kind==this.track.kind&&track.mode==2){off=false}}if(off){this.selected(true)}else{this.selected(false)}}});_V_.TextTrackButton=_V_.Button.extend({init:function(player,options){this._super(player,options);this.menu=this.createMenu();if(this.items.length===0){this.hide()}},createMenu:function(){var menu=new _V_.Menu(this.player);menu.el.appendChild(_V_.createElement("li",{className:"vjs-menu-title",innerHTML:_V_.uc(this.kind)}));menu.addItem(new _V_.OffTextTrackMenuItem(this.player,{kind:this.kind}));this.items=this.createItems();this.each(this.items,function(item){menu.addItem(item)});this.addComponent(menu);return menu},createItems:function(){var items=[];this.each(this.player.textTracks,function(track){if(track.kind===this.kind){items.push(new _V_.TextTrackMenuItem(this.player,{track:track}))}});return items},buildCSSClass:function(){return this.className+" vjs-menu-button "+this._super()},onFocus:function(){this.menu.lockShowing();_V_.one(this.menu.el.childNodes[this.menu.el.childNodes.length-1],"blur",this.proxy(function(){this.menu.unlockShowing()}))},onBlur:function(){},onClick:function(){this.one("mouseout",this.proxy(function(){this.menu.unlockShowing();this.el.blur()}))}});_V_.CaptionsButton=_V_.TextTrackButton.extend({kind:"captions",buttonText:"Captions",className:"vjs-captions-button"});_V_.SubtitlesButton=_V_.TextTrackButton.extend({kind:"subtitles",buttonText:"Subtitles",className:"vjs-subtitles-button"});_V_.ChaptersButton=_V_.TextTrackButton.extend({kind:"chapters",buttonText:"Chapters",className:"vjs-chapters-button",createItems:function(chaptersTrack){var items=[];this.each(this.player.textTracks,function(track){if(track.kind===this.kind){items.push(new _V_.TextTrackMenuItem(this.player,{track:track}))}});return items},createMenu:function(){var tracks=this.player.textTracks,i=0,j=tracks.length,track,chaptersTrack,items=this.items=[];for(;i<j;i++){track=tracks[i];if(track.kind==this.kind&&track["default"]){if(track.readyState<2){this.chaptersTrack=track;track.addEvent("loaded",this.proxy(this.createMenu));return}else{chaptersTrack=track;break}}}var menu=this.menu=new _V_.Menu(this.player);menu.el.appendChild(_V_.createElement("li",{className:"vjs-menu-title",innerHTML:_V_.uc(this.kind)}));if(chaptersTrack){var cues=chaptersTrack.cues,i=0,j=cues.length,cue,mi;for(;i<j;i++){cue=cues[i];mi=new _V_.ChaptersTrackMenuItem(this.player,{track:chaptersTrack,cue:cue});items.push(mi);menu.addComponent(mi)}}this.addComponent(menu);if(this.items.length>0){this.show()}return menu}});_V_.ChaptersTrackMenuItem=_V_.MenuItem.extend({init:function(player,options){var track=this.track=options.track,cue=this.cue=options.cue,currentTime=player.currentTime();options.label=cue.text;options.selected=(cue.startTime<=currentTime&&currentTime<cue.endTime);this._super(player,options);track.addEvent("cuechange",_V_.proxy(this,this.update))},onClick:function(){this._super();this.player.currentTime(this.cue.startTime);this.update(this.cue.startTime)},update:function(time){var cue=this.cue,currentTime=this.player.currentTime();if(cue.startTime<=currentTime&&currentTime<cue.endTime){this.selected(true)}else{this.selected(false)}}});_V_.merge(_V_.ControlBar.prototype.options.components,{subtitlesButton:{},captionsButton:{},chaptersButton:{}});_V_.autoSetup=function(){var options,vid,player,vids=document.getElementsByTagName("video");if(vids&&vids.length>0){for(var i=0,j=vids.length;i<j;i++){vid=vids[i];if(vid&&vid.getAttribute){if(vid.player===undefined){options=vid.getAttribute("data-setup");if(options!==null){options=JSON.parse(options||"{}");player=_V_(vid,options)}}}else{_V_.autoSetupTimeout(1);break}}}else{if(!_V_.windowLoaded){_V_.autoSetupTimeout(1)}}};_V_.autoSetupTimeout=function(wait){setTimeout(_V_.autoSetup,wait)};_V_.addEvent(window,"load",function(){_V_.windowLoaded=true});_V_.autoSetup();window.VideoJS=window._V_=VideoJS})(window);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
js/videojs.min.js ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ Video.js - HTML5 Video Player
3
+ Version 3.2.0
4
+
5
+ LGPL v3 LICENSE INFO
6
+ This file is part of Video.js. Copyright 2011 Zencoder, Inc.
7
+
8
+ Video.js is free software: you can redistribute it and/or modify
9
+ it under the terms of the GNU Lesser General Public License as published by
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) any later version.
12
+
13
+ Video.js is distributed in the hope that it will be useful,
14
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
+ GNU Lesser General Public License for more details.
17
+
18
+ You should have received a copy of the GNU Lesser General Public License
19
+ along with Video.js. If not, see <http://www.gnu.org/licenses/>.
20
+ */
21
+ (function(window,undefined){var document=window.document;document.createElement("video");document.createElement("audio");var VideoJS=function(id,addOptions,ready){var tag;if(typeof id=="string"){if(id.indexOf("#")===0){id=id.slice(1)}if(_V_.players[id]){return _V_.players[id]}else{tag=_V_.el(id)}}else{tag=id}if(!tag||!tag.nodeName){throw new TypeError("The element or ID supplied is not valid. (VideoJS)")}return tag.player||new _V_.Player(tag,addOptions,ready)},_V_=VideoJS,CDN_VERSION="3.2";VideoJS.players={};VideoJS.options={techOrder:["html5","flash"],html5:{},flash:{swf:"video-js.swf"},width:"auto",height:"auto",defaultVolume:0,components:{posterImage:{},textTrackDisplay:{},loadingSpinner:{},bigPlayButton:{},controlBar:{}}};if(CDN_VERSION!="GENERATED_CDN_VSN"){_V_.options.flash.swf="video-js.swf"}_V_.merge=function(obj1,obj2,safe){if(!obj2){obj2={}}for(var attrname in obj2){if(obj2.hasOwnProperty(attrname)&&(!safe||!obj1.hasOwnProperty(attrname))){obj1[attrname]=obj2[attrname]}}return obj1};_V_.extend=function(obj){this.merge(this,obj,true)};_V_.extend({tech:{},controlSets:{},isIE:function(){return !+"\v1"},isFF:function(){return !!_V_.ua.match("Firefox")},isIPad:function(){return navigator.userAgent.match(/iPad/i)!==null},isIPhone:function(){return navigator.userAgent.match(/iPhone/i)!==null},isIOS:function(){return VideoJS.isIPhone()||VideoJS.isIPad()},iOSVersion:function(){var match=navigator.userAgent.match(/OS (\d+)_/i);if(match&&match[1]){return match[1]}},isAndroid:function(){return navigator.userAgent.match(/Android.*AppleWebKit/i)!==null},androidVersion:function(){var match=navigator.userAgent.match(/Android (\d+)\./i);if(match&&match[1]){return match[1]}},testVid:document.createElement("video"),ua:navigator.userAgent,support:{},each:function(arr,fn){if(!arr||arr.length===0){return}for(var i=0,j=arr.length;i<j;i++){fn.call(this,arr[i],i)}},eachProp:function(obj,fn){if(!obj){return}for(var name in obj){if(obj.hasOwnProperty(name)){fn.call(this,name,obj[name])}}},el:function(id){return document.getElementById(id)},createElement:function(tagName,attributes){var el=document.createElement(tagName),attrname;for(attrname in attributes){if(attributes.hasOwnProperty(attrname)){if(attrname.indexOf("-")!==-1){el.setAttribute(attrname,attributes[attrname])}else{el[attrname]=attributes[attrname]}}}return el},insertFirst:function(node,parent){if(parent.firstChild){parent.insertBefore(node,parent.firstChild)}else{parent.appendChild(node)}},addClass:function(element,classToAdd){if((" "+element.className+" ").indexOf(" "+classToAdd+" ")==-1){element.className=element.className===""?classToAdd:element.className+" "+classToAdd}},removeClass:function(element,classToRemove){if(element.className.indexOf(classToRemove)==-1){return}var classNames=element.className.split(" ");classNames.splice(classNames.indexOf(classToRemove),1);element.className=classNames.join(" ")},remove:function(item,array){if(!array){return}var i=array.indexOf(item);if(i!=-1){return array.splice(i,1)}},blockTextSelection:function(){document.body.focus();document.onselectstart=function(){return false}},unblockTextSelection:function(){document.onselectstart=function(){return true}},formatTime:function(seconds,guide){guide=guide||seconds;var s=Math.floor(seconds%60),m=Math.floor(seconds/60%60),h=Math.floor(seconds/3600),gm=Math.floor(guide/60%60),gh=Math.floor(guide/3600);h=(h>0||gh>0)?h+":":"";m=(((h||gm>=10)&&m<10)?"0"+m:m)+":";s=(s<10)?"0"+s:s;return h+m+s},uc:function(string){return string.charAt(0).toUpperCase()+string.slice(1)},getRelativePosition:function(x,relativeElement){return Math.max(0,Math.min(1,(x-_V_.findPosX(relativeElement))/relativeElement.offsetWidth))},getComputedStyleValue:function(element,style){return window.getComputedStyle(element,null).getPropertyValue(style)},trim:function(string){return string.toString().replace(/^\s+/,"").replace(/\s+$/,"")},round:function(num,dec){if(!dec){dec=0}return Math.round(num*Math.pow(10,dec))/Math.pow(10,dec)},isEmpty:function(object){for(var prop in object){return false}return true},createTimeRange:function(start,end){return{length:1,start:function(){return start},end:function(){return end}}},cache:{},guid:1,expando:"vdata"+(new Date).getTime(),getData:function(elem){var id=elem[_V_.expando];if(!id){id=elem[_V_.expando]=_V_.guid++;_V_.cache[id]={}}return _V_.cache[id]},removeData:function(elem){var id=elem[_V_.expando];if(!id){return}delete _V_.cache[id];try{delete elem[_V_.expando]}catch(e){if(elem.removeAttribute){elem.removeAttribute(_V_.expando)}else{elem[_V_.expando]=null}}},proxy:function(context,fn,uid){if(!fn.guid){fn.guid=_V_.guid++}var ret=function(){return fn.apply(context,arguments)};ret.guid=(uid)?uid+"_"+fn.guid:fn.guid;return ret},get:function(url,onSuccess,onError){var local=(url.indexOf("file:")==0||(window.location.href.indexOf("file:")==0&&url.indexOf("http:")==-1));if(typeof XMLHttpRequest=="undefined"){XMLHttpRequest=function(){try{return new ActiveXObject("Msxml2.XMLHTTP.6.0")}catch(e){}try{return new ActiveXObject("Msxml2.XMLHTTP.3.0")}catch(f){}try{return new ActiveXObject("Msxml2.XMLHTTP")}catch(g){}throw new Error("This browser does not support XMLHttpRequest.")}}var request=new XMLHttpRequest();try{request.open("GET",url)}catch(e){_V_.log("VideoJS XMLHttpRequest (open)",e);return false}request.onreadystatechange=_V_.proxy(this,function(){if(request.readyState==4){if(request.status==200||local&&request.status==0){onSuccess(request.responseText)}else{if(onError){onError()}}}});try{request.send()}catch(e){_V_.log("VideoJS XMLHttpRequest (send)",e);if(onError){onError(e)}}},setLocalStorage:function(key,value){var localStorage=window.localStorage||false;if(!localStorage){return}try{localStorage[key]=value}catch(e){if(e.code==22||e.code==1014){_V_.log("LocalStorage Full (VideoJS)",e)}else{_V_.log("LocalStorage Error (VideoJS)",e)}}},getAbsoluteURL:function(url){if(!url.match(/^https?:\/\//)){url=_V_.createElement("div",{innerHTML:'<a href="'+url+'">x</a>'}).firstChild.href}return url}});_V_.log=function(){_V_.log.history=_V_.log.history||[];_V_.log.history.push(arguments);if(window.console){arguments.callee=arguments.callee.caller;var newarr=[].slice.call(arguments);(typeof console.log==="object"?_V_.log.apply.call(console.log,console,newarr):console.log.apply(console,newarr))}};(function(b){function c(){}for(var d="assert,count,debug,dir,dirxml,error,exception,group,groupCollapsed,groupEnd,info,log,timeStamp,profile,profileEnd,time,timeEnd,trace,warn".split(","),a;a=d.pop();){b[a]=b[a]||c}})((function(){try{console.log();return window.console}catch(err){return window.console={}}})());if("getBoundingClientRect" in document.documentElement){_V_.findPosX=function(el){var box;try{box=el.getBoundingClientRect()}catch(e){}if(!box){return 0}var docEl=document.documentElement,body=document.body,clientLeft=docEl.clientLeft||body.clientLeft||0,scrollLeft=window.pageXOffset||body.scrollLeft,left=box.left+scrollLeft-clientLeft;return left}}else{_V_.findPosX=function(el){var curleft=el.offsetLeft;while(el=obj.offsetParent){if(el.className.indexOf("video-js")==-1){}else{}curleft+=el.offsetLeft}return curleft}}(function(){var initializing=false,fnTest=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/;_V_.Class=function(){};_V_.Class.extend=function(prop){var _super=this.prototype;initializing=true;var prototype=new this();initializing=false;for(var name in prop){prototype[name]=typeof prop[name]=="function"&&typeof _super[name]=="function"&&fnTest.test(prop[name])?(function(name,fn){return function(){var tmp=this._super;this._super=_super[name];var ret=fn.apply(this,arguments);this._super=tmp;return ret}})(name,prop[name]):prop[name]}function Class(){if(!initializing&&this.init){return this.init.apply(this,arguments)}else{if(!initializing){return arguments.callee.prototype.init()}}}Class.prototype=prototype;Class.constructor=Class;Class.extend=arguments.callee;return Class}})();_V_.Component=_V_.Class.extend({init:function(player,options){this.player=player;options=this.options=_V_.merge(this.options||{},options);if(options.el){this.el=options.el}else{this.el=this.createElement()}this.initComponents()},destroy:function(){},createElement:function(type,attrs){return _V_.createElement(type||"div",attrs)},buildCSSClass:function(){return""},initComponents:function(){var options=this.options;if(options&&options.components){this.eachProp(options.components,function(name,opts){var tempAdd=this.proxy(function(){this[name]=this.addComponent(name,opts)});if(opts.loadEvent){this.one(opts.loadEvent,tempAdd)}else{tempAdd()}})}},addComponent:function(name,options){var component,componentClass;if(typeof name=="string"){options=options||{};componentClass=options.componentClass||_V_.uc(name);component=new _V_[componentClass](this.player||this,options)}else{component=name}this.el.appendChild(component.el);return component},removeComponent:function(component){this.el.removeChild(component.el)},show:function(){this.el.style.display="block"},hide:function(){this.el.style.display="none"},fadeIn:function(){this.removeClass("vjs-fade-out");this.addClass("vjs-fade-in")},fadeOut:function(){this.removeClass("vjs-fade-in");this.addClass("vjs-fade-out")},lockShowing:function(){var style=this.el.style;style.display="block";style.opacity=1;style.visiblity="visible"},unlockShowing:function(){var style=this.el.style;style.display="";style.opacity="";style.visiblity=""},addClass:function(classToAdd){_V_.addClass(this.el,classToAdd)},removeClass:function(classToRemove){_V_.removeClass(this.el,classToRemove)},addEvent:function(type,fn,uid){return _V_.addEvent(this.el,type,_V_.proxy(this,fn))},removeEvent:function(type,fn){return _V_.removeEvent(this.el,type,fn)},triggerEvent:function(type,e){return _V_.triggerEvent(this.el,type,e)},one:function(type,fn){_V_.one(this.el,type,_V_.proxy(this,fn))},ready:function(fn){if(!fn){return this}if(this.isReady){fn.call(this)}else{if(this.readyQueue===undefined){this.readyQueue=[]}this.readyQueue.push(fn)}return this},triggerReady:function(){this.isReady=true;if(this.readyQueue&&this.readyQueue.length>0){this.each(this.readyQueue,function(fn){fn.call(this)});this.readyQueue=[];this.triggerEvent("ready")}},each:function(arr,fn){_V_.each.call(this,arr,fn)},eachProp:function(obj,fn){_V_.eachProp.call(this,obj,fn)},extend:function(obj){_V_.merge(this,obj)},proxy:function(fn,uid){return _V_.proxy(this,fn,uid)}});_V_.Control=_V_.Component.extend({buildCSSClass:function(){return"vjs-control "+this._super()}});_V_.ControlBar=_V_.Component.extend({options:{loadEvent:"play",components:{playToggle:{},fullscreenToggle:{},currentTimeDisplay:{},timeDivider:{},durationDisplay:{},remainingTimeDisplay:{},progressControl:{},volumeControl:{},muteToggle:{}}},init:function(player,options){this._super(player,options);player.addEvent("play",this.proxy(function(){this.fadeIn();this.player.addEvent("mouseover",this.proxy(this.fadeIn));this.player.addEvent("mouseout",this.proxy(this.fadeOut))}))},createElement:function(){return _V_.createElement("div",{className:"vjs-controls"})},fadeIn:function(){this._super();this.player.triggerEvent("controlsvisible")},fadeOut:function(){this._super();this.player.triggerEvent("controlshidden")},lockShowing:function(){this.el.style.opacity="1"}});_V_.Button=_V_.Control.extend({init:function(player,options){this._super(player,options);this.addEvent("click",this.onClick);this.addEvent("focus",this.onFocus);this.addEvent("blur",this.onBlur)},createElement:function(type,attrs){attrs=_V_.merge({className:this.buildCSSClass(),innerHTML:'<div><span class="vjs-control-text">'+(this.buttonText||"Need Text")+"</span></div>",role:"button",tabIndex:0},attrs);return this._super(type,attrs)},onClick:function(){},onFocus:function(){_V_.addEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))},onKeyPress:function(event){if(event.which==32||event.which==13){event.preventDefault();this.onClick()}},onBlur:function(){_V_.removeEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))}});_V_.PlayButton=_V_.Button.extend({buttonText:"Play",buildCSSClass:function(){return"vjs-play-button "+this._super()},onClick:function(){this.player.play()}});_V_.PauseButton=_V_.Button.extend({buttonText:"Pause",buildCSSClass:function(){return"vjs-pause-button "+this._super()},onClick:function(){this.player.pause()}});_V_.PlayToggle=_V_.Button.extend({buttonText:"Play",init:function(player,options){this._super(player,options);player.addEvent("play",_V_.proxy(this,this.onPlay));player.addEvent("pause",_V_.proxy(this,this.onPause))},buildCSSClass:function(){return"vjs-play-control "+this._super()},onClick:function(){if(this.player.paused()){this.player.play()}else{this.player.pause()}},onPlay:function(){_V_.removeClass(this.el,"vjs-paused");_V_.addClass(this.el,"vjs-playing")},onPause:function(){_V_.removeClass(this.el,"vjs-playing");_V_.addClass(this.el,"vjs-paused")}});_V_.FullscreenToggle=_V_.Button.extend({buttonText:"Fullscreen",buildCSSClass:function(){return"vjs-fullscreen-control "+this._super()},onClick:function(){if(!this.player.isFullScreen){this.player.requestFullScreen()}else{this.player.cancelFullScreen()}}});_V_.BigPlayButton=_V_.Button.extend({init:function(player,options){this._super(player,options);player.addEvent("play",_V_.proxy(this,this.hide));player.addEvent("ended",_V_.proxy(this,this.show))},createElement:function(){return this._super("div",{className:"vjs-big-play-button",innerHTML:"<span></span>"})},onClick:function(){if(this.player.currentTime()){this.player.currentTime(0)}this.player.play()}});_V_.LoadingSpinner=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("canplay",_V_.proxy(this,this.hide));player.addEvent("canplaythrough",_V_.proxy(this,this.hide));player.addEvent("playing",_V_.proxy(this,this.hide));player.addEvent("seeking",_V_.proxy(this,this.show));player.addEvent("error",_V_.proxy(this,this.show));player.addEvent("waiting",_V_.proxy(this,this.show))},createElement:function(){var classNameSpinner,innerHtmlSpinner;if(typeof this.player.el.style.WebkitBorderRadius=="string"||typeof this.player.el.style.MozBorderRadius=="string"||typeof this.player.el.style.KhtmlBorderRadius=="string"||typeof this.player.el.style.borderRadius=="string"){classNameSpinner="vjs-loading-spinner";innerHtmlSpinner="<div class='ball1'></div><div class='ball2'></div><div class='ball3'></div><div class='ball4'></div><div class='ball5'></div><div class='ball6'></div><div class='ball7'></div><div class='ball8'></div>"}else{classNameSpinner="vjs-loading-spinner-fallback";innerHtmlSpinner=""}return this._super("div",{className:classNameSpinner,innerHTML:innerHtmlSpinner})}});_V_.CurrentTimeDisplay=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("timeupdate",_V_.proxy(this,this.updateContent))},createElement:function(){var el=this._super("div",{className:"vjs-current-time vjs-time-controls vjs-control"});this.content=_V_.createElement("div",{className:"vjs-current-time-display",innerHTML:"0:00"});el.appendChild(_V_.createElement("div").appendChild(this.content));return el},updateContent:function(){var time=(this.player.scrubbing)?this.player.values.currentTime:this.player.currentTime();this.content.innerHTML=_V_.formatTime(time,this.player.duration())}});_V_.DurationDisplay=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("timeupdate",_V_.proxy(this,this.updateContent))},createElement:function(){var el=this._super("div",{className:"vjs-duration vjs-time-controls vjs-control"});this.content=_V_.createElement("div",{className:"vjs-duration-display",innerHTML:"0:00"});el.appendChild(_V_.createElement("div").appendChild(this.content));return el},updateContent:function(){if(this.player.duration()){this.content.innerHTML=_V_.formatTime(this.player.duration())}}});_V_.TimeDivider=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-time-divider",innerHTML:"<div><span>/</span></div>"})}});_V_.RemainingTimeDisplay=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("timeupdate",_V_.proxy(this,this.updateContent))},createElement:function(){var el=this._super("div",{className:"vjs-remaining-time vjs-time-controls vjs-control"});this.content=_V_.createElement("div",{className:"vjs-remaining-time-display",innerHTML:"-0:00"});el.appendChild(_V_.createElement("div").appendChild(this.content));return el},updateContent:function(){if(this.player.duration()){this.content.innerHTML="-"+_V_.formatTime(this.player.remainingTime())}}});_V_.Slider=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent(this.playerEvent,_V_.proxy(this,this.update));this.addEvent("mousedown",this.onMouseDown);this.addEvent("focus",this.onFocus);this.addEvent("blur",this.onBlur);this.player.addEvent("controlsvisible",this.proxy(this.update));this.update()},createElement:function(type,attrs){attrs=_V_.merge({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},attrs);return this._super(type,attrs)},onMouseDown:function(event){event.preventDefault();_V_.blockTextSelection();_V_.addEvent(document,"mousemove",_V_.proxy(this,this.onMouseMove));_V_.addEvent(document,"mouseup",_V_.proxy(this,this.onMouseUp));this.onMouseMove(event)},onMouseUp:function(event){_V_.unblockTextSelection();_V_.removeEvent(document,"mousemove",this.onMouseMove,false);_V_.removeEvent(document,"mouseup",this.onMouseUp,false);this.update()},update:function(){var barProgress,progress=this.getPercent();handle=this.handle,bar=this.bar;if(isNaN(progress)){progress=0}barProgress=progress;if(handle){var box=this.el,boxWidth=box.offsetWidth,handleWidth=handle.el.offsetWidth,handlePercent=(handleWidth)?handleWidth/boxWidth:0,boxAdjustedPercent=1-handlePercent;adjustedProgress=progress*boxAdjustedPercent,barProgress=adjustedProgress+(handlePercent/2);handle.el.style.left=_V_.round(adjustedProgress*100,2)+"%"}bar.el.style.width=_V_.round(barProgress*100,2)+"%"},calculateDistance:function(event){var box=this.el,boxX=_V_.findPosX(box),boxW=box.offsetWidth,handle=this.handle;if(handle){var handleW=handle.el.offsetWidth;boxX=boxX+(handleW/2);boxW=boxW-handleW}return Math.max(0,Math.min(1,(event.pageX-boxX)/boxW))},onFocus:function(event){_V_.addEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))},onKeyPress:function(event){if(event.which==37){event.preventDefault();this.stepBack()}else{if(event.which==39){event.preventDefault();this.stepForward()}}},onBlur:function(event){_V_.removeEvent(document,"keyup",_V_.proxy(this,this.onKeyPress))}});_V_.ProgressControl=_V_.Component.extend({options:{components:{seekBar:{}}},createElement:function(){return this._super("div",{className:"vjs-progress-control vjs-control"})}});_V_.SeekBar=_V_.Slider.extend({options:{components:{loadProgressBar:{},bar:{componentClass:"PlayProgressBar"},handle:{componentClass:"SeekHandle"}}},playerEvent:"timeupdate",init:function(player,options){this._super(player,options)},createElement:function(){return this._super("div",{className:"vjs-progress-holder"})},getPercent:function(){return this.player.currentTime()/this.player.duration()},onMouseDown:function(event){this._super(event);this.player.scrubbing=true;this.videoWasPlaying=!this.player.paused();this.player.pause()},onMouseMove:function(event){var newTime=this.calculateDistance(event)*this.player.duration();if(newTime==this.player.duration()){newTime=newTime-0.1}this.player.currentTime(newTime)},onMouseUp:function(event){this._super(event);this.player.scrubbing=false;if(this.videoWasPlaying){this.player.play()}},stepForward:function(){this.player.currentTime(this.player.currentTime()+1)},stepBack:function(){this.player.currentTime(this.player.currentTime()-1)}});_V_.LoadProgressBar=_V_.Component.extend({init:function(player,options){this._super(player,options);player.addEvent("progress",_V_.proxy(this,this.update))},createElement:function(){return this._super("div",{className:"vjs-load-progress",innerHTML:'<span class="vjs-control-text">Loaded: 0%</span>'})},update:function(){if(this.el.style){this.el.style.width=_V_.round(this.player.bufferedPercent()*100,2)+"%"}}});_V_.PlayProgressBar=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-play-progress",innerHTML:'<span class="vjs-control-text">Progress: 0%</span>'})}});_V_.SeekHandle=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-seek-handle",innerHTML:'<span class="vjs-control-text">00:00</span>'})}});_V_.VolumeControl=_V_.Component.extend({options:{components:{volumeBar:{}}},createElement:function(){return this._super("div",{className:"vjs-volume-control vjs-control"})}});_V_.VolumeBar=_V_.Slider.extend({options:{components:{bar:{componentClass:"VolumeLevel"},handle:{componentClass:"VolumeHandle"}}},playerEvent:"volumechange",createElement:function(){return this._super("div",{className:"vjs-volume-bar"})},onMouseMove:function(event){this.player.volume(this.calculateDistance(event))},getPercent:function(){return this.player.volume()},stepForward:function(){this.player.volume(this.player.volume()+0.1)},stepBack:function(){this.player.volume(this.player.volume()-0.1)}});_V_.VolumeLevel=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-volume-level",innerHTML:'<span class="vjs-control-text"></span>'})}});_V_.VolumeHandle=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-volume-handle",innerHTML:'<span class="vjs-control-text"></span>'})}});_V_.MuteToggle=_V_.Button.extend({init:function(player,options){this._super(player,options);player.addEvent("volumechange",_V_.proxy(this,this.update))},createElement:function(){return this._super("div",{className:"vjs-mute-control vjs-control",innerHTML:'<div><span class="vjs-control-text">Mute</span></div>'})},onClick:function(event){this.player.muted(this.player.muted()?false:true)},update:function(event){var vol=this.player.volume(),level=3;if(vol==0||this.player.muted()){level=0}else{if(vol<0.33){level=1}else{if(vol<0.67){level=2}}}_V_.each.call(this,[0,1,2,3],function(i){_V_.removeClass(this.el,"vjs-vol-"+i)});_V_.addClass(this.el,"vjs-vol-"+level)}});_V_.PosterImage=_V_.Button.extend({init:function(player,options){this._super(player,options);if(!this.player.options.poster){this.hide()}player.addEvent("play",_V_.proxy(this,this.hide))},createElement:function(){return _V_.createElement("img",{className:"vjs-poster",src:this.player.options.poster,tabIndex:-1})},onClick:function(){this.player.play()}});_V_.Menu=_V_.Component.extend({init:function(player,options){this._super(player,options)},addItem:function(component){this.addComponent(component);component.addEvent("click",this.proxy(function(){this.unlockShowing()}))},createElement:function(){return this._super("ul",{className:"vjs-menu"})}});_V_.MenuItem=_V_.Button.extend({init:function(player,options){this._super(player,options);if(options.selected){this.addClass("vjs-selected")}},createElement:function(type,attrs){return this._super("li",_V_.merge({className:"vjs-menu-item",innerHTML:this.options.label},attrs))},onClick:function(){this.selected(true)},selected:function(selected){if(selected){this.addClass("vjs-selected")}else{this.removeClass("vjs-selected")}}});if(!Array.prototype.indexOf){Array.prototype.indexOf=function(searchElement){if(this===void 0||this===null){throw new TypeError()}var t=Object(this);var len=t.length>>>0;if(len===0){return -1}var n=0;if(arguments.length>0){n=Number(arguments[1]);if(n!==n){n=0}else{if(n!==0&&n!==(1/0)&&n!==-(1/0)){n=(n>0||-1)*Math.floor(Math.abs(n))}}}if(n>=len){return -1}var k=n>=0?n:Math.max(len-Math.abs(n),0);for(;k<len;k++){if(k in t&&t[k]===searchElement){return k}}return -1}}_V_.extend({addEvent:function(elem,type,fn){var data=_V_.getData(elem),handlers;if(data&&!data.handler){data.handler=function(event){event=_V_.fixEvent(event);var handlers=_V_.getData(elem).events[event.type];if(handlers){var handlersCopy=[];_V_.each(handlers,function(handler,i){handlersCopy[i]=handler});for(var i=0,l=handlersCopy.length;i<l;i++){handlersCopy[i].call(elem,event)}}}}if(!data.events){data.events={}}handlers=data.events[type];if(!handlers){handlers=data.events[type]=[];if(document.addEventListener){elem.addEventListener(type,data.handler,false)}else{if(document.attachEvent){elem.attachEvent("on"+type,data.handler)}}}if(!fn.guid){fn.guid=_V_.guid++}handlers.push(fn)},removeEvent:function(elem,type,fn){var data=_V_.getData(elem),handlers;if(!data.events){return}if(!type){for(type in data.events){_V_.cleanUpEvents(elem,type)}return}handlers=data.events[type];if(!handlers){return}if(fn&&fn.guid){for(var i=0;i<handlers.length;i++){if(handlers[i].guid===fn.guid){handlers.splice(i--,1)}}}_V_.cleanUpEvents(elem,type)},cleanUpEvents:function(elem,type){var data=_V_.getData(elem);if(data.events[type].length===0){delete data.events[type];if(document.removeEventListener){elem.removeEventListener(type,data.handler,false)}else{if(document.detachEvent){elem.detachEvent("on"+type,data.handler)}}}if(_V_.isEmpty(data.events)){delete data.events;delete data.handler}if(_V_.isEmpty(data)){_V_.removeData(elem)}},fixEvent:function(event){if(event[_V_.expando]){return event}var originalEvent=event;event=new _V_.Event(originalEvent);for(var i=_V_.Event.props.length,prop;i;){prop=_V_.Event.props[--i];event[prop]=originalEvent[prop]}if(!event.target){event.target=event.srcElement||document}if(event.target.nodeType===3){event.target=event.target.parentNode}if(!event.relatedTarget&&event.fromElement){event.relatedTarget=event.fromElement===event.target?event.toElement:event.fromElement}if(event.pageX==null&&event.clientX!=null){var eventDocument=event.target.ownerDocument||document,doc=eventDocument.documentElement,body=eventDocument.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}if(event.which==null&&(event.charCode!=null||event.keyCode!=null)){event.which=event.charCode!=null?event.charCode:event.keyCode}if(!event.metaKey&&event.ctrlKey){event.metaKey=event.ctrlKey}if(!event.which&&event.button!==undefined){event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)))}return event},triggerEvent:function(elem,event){var data=_V_.getData(elem),parent=elem.parentNode||elem.ownerDocument,type=event.type||event,handler;if(data){handler=data.handler}event=typeof event==="object"?event[_V_.expando]?event:new _V_.Event(type,event):new _V_.Event(type);event.type=type;if(handler){handler.call(elem,event)}event.result=undefined;event.target=elem},one:function(elem,type,fn){_V_.addEvent(elem,type,function(){_V_.removeEvent(elem,type,arguments.callee);fn.apply(this,arguments)})}});_V_.Event=function(src,props){if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=(src.defaultPrevented||src.returnValue===false||src.getPreventDefault&&src.getPreventDefault())?returnTrue:returnFalse}else{this.type=src}if(props){_V_.merge(this,props)}this.timeStamp=(new Date).getTime();this[_V_.expando]=true};_V_.Event.prototype={preventDefault:function(){this.isDefaultPrevented=returnTrue;var e=this.originalEvent;if(!e){return}if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=returnTrue;var e=this.originalEvent;if(!e){return}if(e.stopPropagation){e.stopPropagation()}e.cancelBubble=true},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=returnTrue;this.stopPropagation()},isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse};_V_.Event.props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" ");function returnTrue(){return true}function returnFalse(){return false}var JSON;if(!JSON){JSON={}}(function(){var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g;if(typeof JSON.parse!=="function"){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.prototype.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}());_V_.Player=_V_.Component.extend({init:function(tag,addOptions,ready){this.tag=tag;var el=this.el=_V_.createElement("div"),options=this.options={},width=options.width=tag.getAttribute("width"),height=options.height=tag.getAttribute("height"),initWidth=width||300,initHeight=height||150;tag.player=el.player=this;this.ready(ready);tag.parentNode.insertBefore(el,tag);el.appendChild(tag);el.id=this.id=tag.id;el.className=tag.className;tag.id+="_html5_api";tag.className="vjs-tech";_V_.players[el.id]=this;el.setAttribute("width",initWidth);el.setAttribute("height",initHeight);el.style.width=initWidth+"px";el.style.height=initHeight+"px";tag.removeAttribute("width");tag.removeAttribute("height");_V_.merge(options,_V_.options);_V_.merge(options,this.getVideoTagSettings());_V_.merge(options,addOptions);tag.removeAttribute("controls");tag.removeAttribute("poster");if(tag.hasChildNodes()){for(var i=0,j=tag.childNodes;i<j.length;i++){if(j[i].nodeName=="SOURCE"||j[i].nodeName=="TRACK"){tag.removeChild(j[i])}}}this.values={};this.addClass("vjs-paused");this.addEvent("ended",this.onEnded);this.addEvent("play",this.onPlay);this.addEvent("pause",this.onPause);this.addEvent("progress",this.onProgress);this.addEvent("error",this.onError);if(options.controls){this.ready(function(){this.initComponents()})}this.textTracks=[];if(options.tracks&&options.tracks.length>0){this.addTextTracks(options.tracks)}if(!options.sources||options.sources.length==0){for(var i=0,j=options.techOrder;i<j.length;i++){var techName=j[i],tech=_V_[techName];if(tech.isSupported()){this.loadTech(techName);break}}}else{this.src(options.sources)}},values:{},destroy:function(){this.stopTrackingProgress();this.stopTrackingCurrentTime();_V_.players[this.id]=null;delete _V_.players[this.id];this.tech.destroy();this.el.parentNode.removeChild(this.el)},createElement:function(type,options){},getVideoTagSettings:function(){var options={sources:[],tracks:[]};options.src=this.tag.getAttribute("src");options.controls=this.tag.getAttribute("controls")!==null;options.poster=this.tag.getAttribute("poster");options.preload=this.tag.getAttribute("preload");options.autoplay=this.tag.getAttribute("autoplay")!==null;options.loop=this.tag.getAttribute("loop")!==null;options.muted=this.tag.getAttribute("muted")!==null;if(this.tag.hasChildNodes()){for(var c,i=0,j=this.tag.childNodes;i<j.length;i++){c=j[i];if(c.nodeName=="SOURCE"){options.sources.push({src:c.getAttribute("src"),type:c.getAttribute("type"),media:c.getAttribute("media"),title:c.getAttribute("title")})}if(c.nodeName=="TRACK"){options.tracks.push({src:c.getAttribute("src"),kind:c.getAttribute("kind"),srclang:c.getAttribute("srclang"),label:c.getAttribute("label"),"default":c.getAttribute("default")!==null,title:c.getAttribute("title")})}}}return options},loadTech:function(techName,source){if(this.tech){this.unloadTech()}else{if(techName!="html5"&&this.tag){this.el.removeChild(this.tag);this.tag=false}}this.techName=techName;this.isReady=false;var techReady=function(){this.player.triggerReady();if(!this.support.progressEvent){this.player.manualProgressOn()}if(!this.support.timeupdateEvent){this.player.manualTimeUpdatesOn()}};var techOptions=_V_.merge({source:source,parentEl:this.el},this.options[techName]);if(source){if(source.src==this.values.src&&this.values.currentTime>0){techOptions.startTime=this.values.currentTime}this.values.src=source.src}this.tech=new _V_[techName](this,techOptions);this.tech.ready(techReady)},unloadTech:function(){this.tech.destroy();if(this.manualProgress){this.manualProgressOff()}if(this.manualTimeUpdates){this.manualTimeUpdatesOff()}this.tech=false},manualProgressOn:function(){this.manualProgress=true;this.trackProgress();this.tech.addEvent("progress",function(){this.removeEvent("progress",arguments.callee);this.support.progressEvent=true;this.player.manualProgressOff()})},manualProgressOff:function(){this.manualProgress=false;this.stopTrackingProgress()},trackProgress:function(){this.progressInterval=setInterval(_V_.proxy(this,function(){if(this.values.bufferEnd<this.buffered().end(0)){this.triggerEvent("progress")}else{if(this.bufferedPercent()==1){this.stopTrackingProgress();this.triggerEvent("progress")}}}),500)},stopTrackingProgress:function(){clearInterval(this.progressInterval)},manualTimeUpdatesOn:function(){this.manualTimeUpdates=true;this.addEvent("play",this.trackCurrentTime);this.addEvent("pause",this.stopTrackingCurrentTime);this.tech.addEvent("timeupdate",function(){this.removeEvent("timeupdate",arguments.callee);this.support.timeupdateEvent=true;this.player.manualTimeUpdatesOff()})},manualTimeUpdatesOff:function(){this.manualTimeUpdates=false;this.stopTrackingCurrentTime();this.removeEvent("play",this.trackCurrentTime);this.removeEvent("pause",this.stopTrackingCurrentTime)},trackCurrentTime:function(){if(this.currentTimeInterval){this.stopTrackingCurrentTime()}this.currentTimeInterval=setInterval(_V_.proxy(this,function(){this.triggerEvent("timeupdate")}),250)},stopTrackingCurrentTime:function(){clearInterval(this.currentTimeInterval)},onEnded:function(){if(this.options.loop){this.currentTime(0);this.play()}else{this.pause();this.currentTime(0);this.pause()}},onPlay:function(){_V_.removeClass(this.el,"vjs-paused");_V_.addClass(this.el,"vjs-playing")},onPause:function(){_V_.removeClass(this.el,"vjs-playing");_V_.addClass(this.el,"vjs-paused")},onProgress:function(){if(this.bufferedPercent()==1){this.triggerEvent("loadedalldata")}},onError:function(e){_V_.log("Video Error",e)},techCall:function(method,arg){if(!this.tech.isReady){this.tech.ready(function(){this[method](arg)})}else{try{this.tech[method](arg)}catch(e){_V_.log(e)}}},techGet:function(method){if(this.tech.isReady){try{return this.tech[method]()}catch(e){if(this.tech[method]===undefined){_V_.log("Video.js: "+method+" method not defined for "+this.techName+" playback technology.",e)}else{if(e.name=="TypeError"){_V_.log("Video.js: "+method+" unavailable on "+this.techName+" playback technology element.",e);this.tech.isReady=false}else{_V_.log(e)}}}}return},play:function(){this.techCall("play");return this},pause:function(){this.techCall("pause");return this},paused:function(){return(this.techGet("paused")===false)?false:true},currentTime:function(seconds){if(seconds!==undefined){this.values.lastSetCurrentTime=seconds;this.techCall("setCurrentTime",seconds);if(this.manualTimeUpdates){this.triggerEvent("timeupdate")}return this}return this.values.currentTime=(this.techGet("currentTime")||0)},duration:function(){return parseFloat(this.techGet("duration"))},remainingTime:function(){return this.duration()-this.currentTime()},buffered:function(){var buffered=this.techGet("buffered"),start=0,end=this.values.bufferEnd=this.values.bufferEnd||0,timeRange;if(buffered&&buffered.length>0&&buffered.end(0)!==end){end=buffered.end(0);this.values.bufferEnd=end}return _V_.createTimeRange(start,end)},bufferedPercent:function(){return(this.duration())?this.buffered().end(0)/this.duration():0},volume:function(percentAsDecimal){var vol;if(percentAsDecimal!==undefined){vol=Math.max(0,Math.min(1,parseFloat(percentAsDecimal)));this.values.volume=vol;this.techCall("setVolume",vol);_V_.setLocalStorage("volume",vol);return this}vol=parseFloat(this.techGet("volume"));return(isNaN(vol))?1:vol},muted:function(muted){if(muted!==undefined){this.techCall("setMuted",muted);return this}return this.techGet("muted")||false},width:function(width,skipListeners){if(width!==undefined){this.el.width=width;this.el.style.width=width+"px";if(!skipListeners){this.triggerEvent("resize")}return this}return parseInt(this.el.getAttribute("width"))},height:function(height){if(height!==undefined){this.el.height=height;this.el.style.height=height+"px";this.triggerEvent("resize");return this}return parseInt(this.el.getAttribute("height"))},size:function(width,height){return this.width(width,true).height(height)},supportsFullScreen:function(){return this.techGet("supportsFullScreen")||false},requestFullScreen:function(){var requestFullScreen=_V_.support.requestFullScreen;this.isFullScreen=true;if(requestFullScreen){_V_.addEvent(document,requestFullScreen.eventName,this.proxy(function(){this.isFullScreen=document[requestFullScreen.isFullScreen];if(this.isFullScreen==false){_V_.removeEvent(document,requestFullScreen.eventName,arguments.callee)}this.triggerEvent("fullscreenchange")}));if(this.tech.support.fullscreenResize===false&&this.options.flash.iFrameMode!=true){this.pause();this.unloadTech();_V_.addEvent(document,requestFullScreen.eventName,this.proxy(function(){_V_.removeEvent(document,requestFullScreen.eventName,arguments.callee);this.loadTech(this.techName,{src:this.values.src})}));this.el[requestFullScreen.requestFn]()}else{this.el[requestFullScreen.requestFn]()}}else{if(this.tech.supportsFullScreen()){this.triggerEvent("fullscreenchange");this.techCall("enterFullScreen")}else{this.triggerEvent("fullscreenchange");this.enterFullWindow()}}return this},cancelFullScreen:function(){var requestFullScreen=_V_.support.requestFullScreen;this.isFullScreen=false;if(requestFullScreen){if(this.tech.support.fullscreenResize===false&&this.options.flash.iFrameMode!=true){this.pause();this.unloadTech();_V_.addEvent(document,requestFullScreen.eventName,this.proxy(function(){_V_.removeEvent(document,requestFullScreen.eventName,arguments.callee);this.loadTech(this.techName,{src:this.values.src})}));document[requestFullScreen.cancelFn]()}else{document[requestFullScreen.cancelFn]()}}else{if(this.tech.supportsFullScreen()){this.techCall("exitFullScreen");this.triggerEvent("fullscreenchange")}else{this.exitFullWindow();this.triggerEvent("fullscreenchange")}}return this},enterFullWindow:function(){this.isFullWindow=true;this.docOrigOverflow=document.documentElement.style.overflow;_V_.addEvent(document,"keydown",_V_.proxy(this,this.fullWindowOnEscKey));document.documentElement.style.overflow="hidden";_V_.addClass(document.body,"vjs-full-window");_V_.addClass(this.el,"vjs-fullscreen");this.triggerEvent("enterFullWindow")},fullWindowOnEscKey:function(event){if(event.keyCode==27){if(this.isFullScreen==true){this.cancelFullScreen()}else{this.exitFullWindow()}}},exitFullWindow:function(){this.isFullWindow=false;_V_.removeEvent(document,"keydown",this.fullWindowOnEscKey);document.documentElement.style.overflow=this.docOrigOverflow;_V_.removeClass(document.body,"vjs-full-window");_V_.removeClass(this.el,"vjs-fullscreen");this.triggerEvent("exitFullWindow")},selectSource:function(sources){for(var i=0,j=this.options.techOrder;i<j.length;i++){var techName=j[i],tech=_V_[techName];if(tech.isSupported()){for(var a=0,b=sources;a<b.length;a++){var source=b[a];if(tech.canPlaySource.call(this,source)){return{source:source,tech:techName}}}}}return false},src:function(source){if(source instanceof Array){var sourceTech=this.selectSource(source),source,techName;if(sourceTech){source=sourceTech.source;techName=sourceTech.tech;if(techName==this.techName){this.src(source)}else{this.loadTech(techName,source)}}else{_V_.log("No compatible source and playback technology were found.")}}else{if(source instanceof Object){if(_V_[this.techName].canPlaySource(source)){this.src(source.src)}else{this.src([source])}}else{this.values.src=source;if(!this.isReady){this.ready(function(){this.src(source)})}else{this.techCall("src",source);if(this.options.preload=="auto"){this.load()}if(this.options.autoplay){this.play()}}}}return this},load:function(){this.techCall("load");return this},currentSrc:function(){return this.techGet("currentSrc")||this.values.src||""},preload:function(value){if(value!==undefined){this.techCall("setPreload",value);this.options.preload=value;return this}return this.techGet("preload")},autoplay:function(value){if(value!==undefined){this.techCall("setAutoplay",value);this.options.autoplay=value;return this}return this.techGet("autoplay",value)},loop:function(value){if(value!==undefined){this.techCall("setLoop",value);this.options.loop=value;return this}return this.techGet("loop")},controls:function(){return this.options.controls},poster:function(){return this.techGet("poster")},error:function(){return this.techGet("error")},ended:function(){return this.techGet("ended")}});(function(){var requestFn,cancelFn,eventName,isFullScreen,playerProto=_V_.Player.prototype;if(document.cancelFullscreen!==undefined){requestFn="requestFullscreen";cancelFn="exitFullscreen";eventName="fullscreenchange";isFullScreen="fullScreen"}else{_V_.each(["moz","webkit"],function(prefix){if((prefix!="moz"||document.mozFullScreenEnabled)&&document[prefix+"CancelFullScreen"]!==undefined){requestFn=prefix+"RequestFullScreen";cancelFn=prefix+"CancelFullScreen";eventName=prefix+"fullscreenchange";if(prefix=="webkit"){isFullScreen=prefix+"IsFullScreen"}else{isFullScreen=prefix+"FullScreen"}}})}if(requestFn){_V_.support.requestFullScreen={requestFn:requestFn,cancelFn:cancelFn,eventName:eventName,isFullScreen:isFullScreen}}})();_V_.PlaybackTech=_V_.Component.extend({init:function(player,options){},onClick:function(){if(this.player.options.controls){_V_.PlayToggle.prototype.onClick.call(this)}}});_V_.apiMethods="play,pause,paused,currentTime,setCurrentTime,duration,buffered,volume,setVolume,muted,setMuted,width,height,supportsFullScreen,enterFullScreen,src,load,currentSrc,preload,setPreload,autoplay,setAutoplay,loop,setLoop,error,networkState,readyState,seeking,initialTime,startOffsetTime,played,seekable,ended,videoTracks,audioTracks,videoWidth,videoHeight,textTracks,defaultPlaybackRate,playbackRate,mediaGroup,controller,controls,defaultMuted".split(",");_V_.each(_V_.apiMethods,function(methodName){_V_.PlaybackTech.prototype[methodName]=function(){throw new Error("The '"+methodName+"' method is not available on the playback technology's API")}});_V_.html5=_V_.PlaybackTech.extend({init:function(player,options,ready){this.player=player;this.el=this.createElement();this.ready(ready);this.addEvent("click",this.proxy(this.onClick));var source=options.source;if(source&&this.el.currentSrc==source.src){player.triggerEvent("loadstart")}else{if(source){this.el.src=source.src}}player.ready(function(){if(this.options.autoplay&&this.paused()){this.tag.poster=null;this.play()}});this.setupTriggers();this.triggerReady()},destroy:function(){this.player.tag=false;this.removeTriggers();this.el.parentNode.removeChild(this.el)},createElement:function(){var html5=_V_.html5,player=this.player,el=player.tag,newEl;if(!el||this.support.movingElementInDOM===false){if(el){player.el.removeChild(el)}newEl=_V_.createElement("video",{id:el.id||player.el.id+"_html5_api",className:el.className||"vjs-tech"});el=newEl;_V_.insertFirst(el,player.el)}_V_.each(["autoplay","preload","loop","muted"],function(attr){if(player.options[attr]!==null){el[attr]=player.options[attr]}},this);return el},setupTriggers:function(){_V_.each.call(this,_V_.html5.events,function(type){_V_.addEvent(this.el,type,_V_.proxy(this.player,this.eventHandler))})},removeTriggers:function(){_V_.each.call(this,_V_.html5.events,function(type){_V_.removeEvent(this.el,type,_V_.proxy(this.player,this.eventHandler))})},eventHandler:function(e){e.stopPropagation();this.triggerEvent(e)},play:function(){this.el.play()},pause:function(){this.el.pause()},paused:function(){return this.el.paused},currentTime:function(){return this.el.currentTime},setCurrentTime:function(seconds){try{this.el.currentTime=seconds}catch(e){_V_.log(e,"Video isn't ready. (VideoJS)")}},duration:function(){return this.el.duration||0},buffered:function(){return this.el.buffered},volume:function(){return this.el.volume},setVolume:function(percentAsDecimal){this.el.volume=percentAsDecimal},muted:function(){return this.el.muted},setMuted:function(muted){this.el.muted=muted},width:function(){return this.el.offsetWidth},height:function(){return this.el.offsetHeight},supportsFullScreen:function(){if(typeof this.el.webkitEnterFullScreen=="function"){if(!navigator.userAgent.match("Chrome")&&!navigator.userAgent.match("Mac OS X 10.5")){return true}}return false},enterFullScreen:function(){try{this.el.webkitEnterFullScreen()}catch(e){if(e.code==11){_V_.log("VideoJS: Video not ready.")}}},src:function(src){this.el.src=src},load:function(){this.el.load()},currentSrc:function(){return this.el.currentSrc},preload:function(){return this.el.preload},setPreload:function(val){this.el.preload=val},autoplay:function(){return this.el.autoplay},setAutoplay:function(val){this.el.autoplay=val},loop:function(){return this.el.loop},setLoop:function(val){this.el.loop=val},error:function(){return this.el.error},seeking:function(){return this.el.seeking},ended:function(){return this.el.ended},controls:function(){return this.player.options.controls},defaultMuted:function(){return this.el.defaultMuted}});_V_.html5.isSupported=function(){return !!document.createElement("video").canPlayType};_V_.html5.canPlaySource=function(srcObj){return !!document.createElement("video").canPlayType(srcObj.type)};_V_.html5.events="loadstart,suspend,abort,error,emptied,stalled,loadedmetadata,loadeddata,canplay,canplaythrough,playing,waiting,seeking,seeked,ended,durationchange,timeupdate,progress,play,pause,ratechange,volumechange".split(",");_V_.html5.prototype.support={fullscreen:(typeof _V_.testVid.webkitEnterFullScreen!==undefined)?(!_V_.ua.match("Chrome")&&!_V_.ua.match("Mac OS X 10.5")?true:false):false,movingElementInDOM:!_V_.isIOS()};if(_V_.isAndroid()){if(_V_.androidVersion()<3){document.createElement("video").constructor.prototype.canPlayType=function(type){return(type&&type.toLowerCase().indexOf("video/mp4")!=-1)?"maybe":""}}}_V_.flash=_V_.PlaybackTech.extend({init:function(player,options){this.player=player;var source=options.source,parentEl=options.parentEl,placeHolder=this.el=_V_.createElement("div",{id:parentEl.id+"_temp_flash"}),objId=player.el.id+"_flash_api",playerOptions=player.options,flashVars=_V_.merge({readyFunction:"_V_.flash.onReady",eventProxyFunction:"_V_.flash.onEvent",errorEventProxyFunction:"_V_.flash.onError",autoplay:playerOptions.autoplay,preload:playerOptions.preload,loop:playerOptions.loop,muted:playerOptions.muted},options.flashVars),params=_V_.merge({wmode:"opaque",bgcolor:"#000000"},options.params),attributes=_V_.merge({id:objId,name:objId,"class":"vjs-tech"},options.attributes);if(source){flashVars.src=encodeURIComponent(_V_.getAbsoluteURL(source.src))}_V_.insertFirst(placeHolder,parentEl);if(options.startTime){this.ready(function(){this.load();this.play();this.currentTime(options.startTime)})}if(options.iFrameMode==true&&!_V_.isFF){var iFrm=_V_.createElement("iframe",{id:objId+"_iframe",name:objId+"_iframe",className:"vjs-tech",scrolling:"no",marginWidth:0,marginHeight:0,frameBorder:0});flashVars.readyFunction="ready";flashVars.eventProxyFunction="events";flashVars.errorEventProxyFunction="errors";_V_.addEvent(iFrm,"load",_V_.proxy(this,function(){var iDoc,objTag,swfLoc,iWin=iFrm.contentWindow,varString="";iDoc=iFrm.contentDocument?iFrm.contentDocument:iFrm.contentWindow.document;iDoc.write(_V_.flash.getEmbedCode(options.swf,flashVars,params,attributes));iWin.player=this.player;iWin.ready=_V_.proxy(this.player,function(currSwf){var el=iDoc.getElementById(currSwf),player=this,tech=player.tech;tech.el=el;_V_.addEvent(el,"click",tech.proxy(tech.onClick));_V_.flash.checkReady(tech)});iWin.events=_V_.proxy(this.player,function(swfID,eventName,other){var player=this;if(player&&player.techName=="flash"){player.triggerEvent(eventName)}});iWin.errors=_V_.proxy(this.player,function(swfID,eventName){_V_.log("Flash Error",eventName)})}));placeHolder.parentNode.replaceChild(iFrm,placeHolder)}else{_V_.flash.embed(options.swf,placeHolder,flashVars,params,attributes)}},destroy:function(){this.el.parentNode.removeChild(this.el)},play:function(){this.el.vjs_play()},pause:function(){this.el.vjs_pause()},src:function(src){src=_V_.getAbsoluteURL(src);this.el.vjs_src(src);if(this.player.autoplay()){var tech=this;setTimeout(function(){tech.play()},0)}},load:function(){this.el.vjs_load()},poster:function(){this.el.vjs_getProperty("poster")},buffered:function(){return _V_.createTimeRange(0,this.el.vjs_getProperty("buffered"))},supportsFullScreen:function(){return false},enterFullScreen:function(){return false}});(function(){var api=_V_.flash.prototype,readWrite="preload,currentTime,defaultPlaybackRate,playbackRate,autoplay,loop,mediaGroup,controller,controls,volume,muted,defaultMuted".split(","),readOnly="error,currentSrc,networkState,readyState,seeking,initialTime,duration,startOffsetTime,paused,played,seekable,ended,videoTracks,audioTracks,videoWidth,videoHeight,textTracks".split(","),callOnly="load,play,pause".split(",");createSetter=function(attr){var attrUpper=attr.charAt(0).toUpperCase()+attr.slice(1);api["set"+attrUpper]=function(val){return this.el.vjs_setProperty(attr,val)}},createGetter=function(attr){api[attr]=function(){return this.el.vjs_getProperty(attr)}};_V_.each(readWrite,function(attr){createGetter(attr);createSetter(attr)});_V_.each(readOnly,function(attr){createGetter(attr)})})();_V_.flash.isSupported=function(){return _V_.flash.version()[0]>=10};_V_.flash.canPlaySource=function(srcObj){if(srcObj.type in _V_.flash.prototype.support.formats){return"maybe"}};_V_.flash.prototype.support={formats:{"video/flv":"FLV","video/x-flv":"FLV","video/mp4":"MP4","video/m4v":"MP4"},progressEvent:false,timeupdateEvent:false,fullscreenResize:false,parentResize:!(_V_.ua.match("Firefox"))};_V_.flash.onReady=function(currSwf){var el=_V_.el(currSwf);var player=el.player||el.parentNode.player,tech=player.tech;el.player=player;tech.el=el;tech.addEvent("click",tech.onClick);_V_.flash.checkReady(tech)};_V_.flash.checkReady=function(tech){if(tech.el.vjs_getProperty){tech.triggerReady()}else{setTimeout(function(){_V_.flash.checkReady(tech)},50)}};_V_.flash.onEvent=function(swfID,eventName){var player=_V_.el(swfID).player;player.triggerEvent(eventName)};_V_.flash.onError=function(swfID,err){var player=_V_.el(swfID).player;player.triggerEvent("error");_V_.log("Flash Error",err,swfID)};_V_.flash.version=function(){var version="0,0,0";try{version=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version").replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}catch(e){try{if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin){version=(navigator.plugins["Shockwave Flash 2.0"]||navigator.plugins["Shockwave Flash"]).description.replace(/\D+/g,",").match(/^,?(.+),?$/)[1]}}catch(e){}}return version.split(",")};_V_.flash.embed=function(swf,placeHolder,flashVars,params,attributes){var code=_V_.flash.getEmbedCode(swf,flashVars,params,attributes),obj=_V_.createElement("div",{innerHTML:code}).childNodes[0],par=placeHolder.parentNode;placeHolder.parentNode.replaceChild(obj,placeHolder);if(_V_.isIE()){var newObj=par.childNodes[0];setTimeout(function(){newObj.style.display="block"},1000)}return obj};_V_.flash.getEmbedCode=function(swf,flashVars,params,attributes){var objTag='<object type="application/x-shockwave-flash"',flashVarsString="",paramsString="";attrsString="";if(flashVars){_V_.eachProp(flashVars,function(key,val){flashVarsString+=(key+"="+val+"&amp;")})}params=_V_.merge({movie:swf,flashvars:flashVarsString,allowScriptAccess:"always",allowNetworking:"all"},params);_V_.eachProp(params,function(key,val){paramsString+='<param name="'+key+'" value="'+val+'" />'});attributes=_V_.merge({data:swf,width:"100%",height:"100%"},attributes);_V_.eachProp(attributes,function(key,val){attrsString+=(key+'="'+val+'" ')});return objTag+attrsString+">"+paramsString+"</object>"};_V_.merge(_V_.Player.prototype,{addTextTracks:function(trackObjects){var tracks=this.textTracks=(this.textTracks)?this.textTracks:[],i=0,j=trackObjects.length,track,Kind;for(;i<j;i++){Kind=_V_.uc(trackObjects[i].kind||"subtitles");track=new _V_[Kind+"Track"](this,trackObjects[i]);tracks.push(track);if(track["default"]){this.ready(_V_.proxy(track,track.show))}}return this},showTextTrack:function(id,disableSameKind){var tracks=this.textTracks,i=0,j=tracks.length,track,showTrack,kind;for(;i<j;i++){track=tracks[i];if(track.id===id){track.show();showTrack=track}else{if(disableSameKind&&track.kind==disableSameKind&&track.mode>0){track.disable()}}}kind=(showTrack)?showTrack.kind:((disableSameKind)?disableSameKind:false);if(kind){this.triggerEvent(kind+"trackchange")}return this}});_V_.Track=_V_.Component.extend({init:function(player,options){this._super(player,options);_V_.merge(this,{id:options.id||("vjs_"+options.kind+"_"+options.language+"_"+_V_.guid++),src:options.src,"default":options["default"],title:options.title,language:options.srclang,label:options.label,cues:[],activeCues:[],readyState:0,mode:0})},createElement:function(){return this._super("div",{className:"vjs-"+this.kind+" vjs-text-track"})},show:function(){this.activate();this.mode=2;this._super()},hide:function(){this.activate();this.mode=1;this._super()},disable:function(){if(this.mode==2){this.hide()}this.deactivate();this.mode=0},activate:function(){if(this.readyState==0){this.load()}if(this.mode==0){this.player.addEvent("timeupdate",this.proxy(this.update,this.id));this.player.addEvent("ended",this.proxy(this.reset,this.id));if(this.kind=="captions"||this.kind=="subtitles"){this.player.textTrackDisplay.addComponent(this)}}},deactivate:function(){this.player.removeEvent("timeupdate",this.proxy(this.update,this.id));this.player.removeEvent("ended",this.proxy(this.reset,this.id));this.reset();this.player.textTrackDisplay.removeComponent(this)},load:function(){if(this.readyState==0){this.readyState=1;_V_.get(this.src,this.proxy(this.parseCues),this.proxy(this.onError))}},onError:function(err){this.error=err;this.readyState=3;this.triggerEvent("error")},parseCues:function(srcContent){var cue,time,text,lines=srcContent.split("\n"),line="",id;for(var i=1,j=lines.length;i<j;i++){line=_V_.trim(lines[i]);if(line){if(line.indexOf("-->")==-1){id=line;line=_V_.trim(lines[++i])}else{id=this.cues.length}cue={id:id,index:this.cues.length};time=line.split(" --> ");cue.startTime=this.parseCueTime(time[0]);cue.endTime=this.parseCueTime(time[1]);text=[];while(lines[++i]&&(line=_V_.trim(lines[i]))){text.push(line)}cue.text=text.join("<br/>");this.cues.push(cue)}}this.readyState=2;this.triggerEvent("loaded")},parseCueTime:function(timeText){var parts=timeText.split(":"),time=0,hours,minutes,other,seconds,ms,flags;if(parts.length==3){hours=parts[0];minutes=parts[1];other=parts[2]}else{hours=0;minutes=parts[0];other=parts[1]}other=other.split(/\s+/);seconds=other.splice(0,1)[0];seconds=seconds.split(/\.|,/);ms=parseFloat(seconds[1]);seconds=seconds[0];time+=parseFloat(hours)*3600;time+=parseFloat(minutes)*60;time+=parseFloat(seconds);if(ms){time+=ms/1000}return time},update:function(){if(this.cues.length>0){var time=this.player.currentTime();if(this.prevChange===undefined||time<this.prevChange||this.nextChange<=time){var cues=this.cues,newNextChange=this.player.duration(),newPrevChange=0,reverse=false,newCues=[],firstActiveIndex,lastActiveIndex,html="",cue,i,j;if(time>=this.nextChange||this.nextChange===undefined){i=(this.firstActiveIndex!==undefined)?this.firstActiveIndex:0}else{reverse=true;i=(this.lastActiveIndex!==undefined)?this.lastActiveIndex:cues.length-1}while(true){cue=cues[i];if(cue.endTime<=time){newPrevChange=Math.max(newPrevChange,cue.endTime);if(cue.active){cue.active=false}}else{if(time<cue.startTime){newNextChange=Math.min(newNextChange,cue.startTime);if(cue.active){cue.active=false}if(!reverse){break}}else{if(reverse){newCues.splice(0,0,cue);if(lastActiveIndex===undefined){lastActiveIndex=i}firstActiveIndex=i}else{newCues.push(cue);if(firstActiveIndex===undefined){firstActiveIndex=i}lastActiveIndex=i}newNextChange=Math.min(newNextChange,cue.endTime);newPrevChange=Math.max(newPrevChange,cue.startTime);cue.active=true}}if(reverse){if(i===0){break}else{i--}}else{if(i===cues.length-1){break}else{i++}}}this.activeCues=newCues;this.nextChange=newNextChange;this.prevChange=newPrevChange;this.firstActiveIndex=firstActiveIndex;this.lastActiveIndex=lastActiveIndex;this.updateDisplay();this.triggerEvent("cuechange")}}},updateDisplay:function(){var cues=this.activeCues,html="",i=0,j=cues.length;for(;i<j;i++){html+="<span class='vjs-tt-cue'>"+cues[i].text+"</span>"}this.el.innerHTML=html},reset:function(){this.nextChange=0;this.prevChange=this.player.duration();this.firstActiveIndex=0;this.lastActiveIndex=0}});_V_.CaptionsTrack=_V_.Track.extend({kind:"captions"});_V_.SubtitlesTrack=_V_.Track.extend({kind:"subtitles"});_V_.ChaptersTrack=_V_.Track.extend({kind:"chapters"});_V_.TextTrackDisplay=_V_.Component.extend({createElement:function(){return this._super("div",{className:"vjs-text-track-display"})}});_V_.TextTrackMenuItem=_V_.MenuItem.extend({init:function(player,options){var track=this.track=options.track;options.label=track.label;options.selected=track["default"];this._super(player,options);this.player.addEvent(track.kind+"trackchange",_V_.proxy(this,this.update))},onClick:function(){this._super();this.player.showTextTrack(this.track.id,this.track.kind)},update:function(){if(this.track.mode==2){this.selected(true)}else{this.selected(false)}}});_V_.OffTextTrackMenuItem=_V_.TextTrackMenuItem.extend({init:function(player,options){options.track={kind:options.kind,player:player,label:"Off"};this._super(player,options)},onClick:function(){this._super();this.player.showTextTrack(this.track.id,this.track.kind)},update:function(){var tracks=this.player.textTracks,i=0,j=tracks.length,track,off=true;for(;i<j;i++){track=tracks[i];if(track.kind==this.track.kind&&track.mode==2){off=false}}if(off){this.selected(true)}else{this.selected(false)}}});_V_.TextTrackButton=_V_.Button.extend({init:function(player,options){this._super(player,options);this.menu=this.createMenu();if(this.items.length===0){this.hide()}},createMenu:function(){var menu=new _V_.Menu(this.player);menu.el.appendChild(_V_.createElement("li",{className:"vjs-menu-title",innerHTML:_V_.uc(this.kind)}));menu.addItem(new _V_.OffTextTrackMenuItem(this.player,{kind:this.kind}));this.items=this.createItems();this.each(this.items,function(item){menu.addItem(item)});this.addComponent(menu);return menu},createItems:function(){var items=[];this.each(this.player.textTracks,function(track){if(track.kind===this.kind){items.push(new _V_.TextTrackMenuItem(this.player,{track:track}))}});return items},buildCSSClass:function(){return this.className+" vjs-menu-button "+this._super()},onFocus:function(){this.menu.lockShowing();_V_.one(this.menu.el.childNodes[this.menu.el.childNodes.length-1],"blur",this.proxy(function(){this.menu.unlockShowing()}))},onBlur:function(){},onClick:function(){this.one("mouseout",this.proxy(function(){this.menu.unlockShowing();this.el.blur()}))}});_V_.CaptionsButton=_V_.TextTrackButton.extend({kind:"captions",buttonText:"Captions",className:"vjs-captions-button"});_V_.SubtitlesButton=_V_.TextTrackButton.extend({kind:"subtitles",buttonText:"Subtitles",className:"vjs-subtitles-button"});_V_.ChaptersButton=_V_.TextTrackButton.extend({kind:"chapters",buttonText:"Chapters",className:"vjs-chapters-button",createItems:function(chaptersTrack){var items=[];this.each(this.player.textTracks,function(track){if(track.kind===this.kind){items.push(new _V_.TextTrackMenuItem(this.player,{track:track}))}});return items},createMenu:function(){var tracks=this.player.textTracks,i=0,j=tracks.length,track,chaptersTrack,items=this.items=[];for(;i<j;i++){track=tracks[i];if(track.kind==this.kind&&track["default"]){if(track.readyState<2){this.chaptersTrack=track;track.addEvent("loaded",this.proxy(this.createMenu));return}else{chaptersTrack=track;break}}}var menu=this.menu=new _V_.Menu(this.player);menu.el.appendChild(_V_.createElement("li",{className:"vjs-menu-title",innerHTML:_V_.uc(this.kind)}));if(chaptersTrack){var cues=chaptersTrack.cues,i=0,j=cues.length,cue,mi;for(;i<j;i++){cue=cues[i];mi=new _V_.ChaptersTrackMenuItem(this.player,{track:chaptersTrack,cue:cue});items.push(mi);menu.addComponent(mi)}}this.addComponent(menu);if(this.items.length>0){this.show()}return menu}});_V_.ChaptersTrackMenuItem=_V_.MenuItem.extend({init:function(player,options){var track=this.track=options.track,cue=this.cue=options.cue,currentTime=player.currentTime();options.label=cue.text;options.selected=(cue.startTime<=currentTime&&currentTime<cue.endTime);this._super(player,options);track.addEvent("cuechange",_V_.proxy(this,this.update))},onClick:function(){this._super();this.player.currentTime(this.cue.startTime);this.update(this.cue.startTime)},update:function(time){var cue=this.cue,currentTime=this.player.currentTime();if(cue.startTime<=currentTime&&currentTime<cue.endTime){this.selected(true)}else{this.selected(false)}}});_V_.merge(_V_.ControlBar.prototype.options.components,{subtitlesButton:{},captionsButton:{},chaptersButton:{}});_V_.autoSetup=function(){var options,vid,player,vids=document.getElementsByTagName("video");if(vids&&vids.length>0){for(var i=0,j=vids.length;i<j;i++){vid=vids[i];if(vid&&vid.getAttribute){if(vid.player===undefined){options=vid.getAttribute("data-setup");if(options!==null){options=JSON.parse(options||"{}");player=_V_(vid,options)}}}else{_V_.autoSetupTimeout(1);break}}}else{if(!_V_.windowLoaded){_V_.autoSetupTimeout(1)}}};_V_.autoSetupTimeout=function(wait){setTimeout(_V_.autoSetup,wait)};_V_.addEvent(window,"load",function(){_V_.windowLoaded=true});_V_.autoSetup();window.VideoJS=window._V_=VideoJS})(window);
lng/featured-video-plus-de_DE.mo CHANGED
Binary file
lng/featured-video-plus-de_DE.po CHANGED
@@ -1,615 +1,631 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: featured-video-plus 1.3 de_DE\n"
4
- "POT-Creation-Date: 2013-03-22 17:41+0100\n"
5
- "PO-Revision-Date: 2013-03-22 17:46+0100\n"
6
- "Last-Translator: Alexander Höreth <a.hoereth@gmail.com>\n"
7
- "Language-Team: a.hoereth <a.hoereth@gmail.com>\n"
8
- "Language: de_DE\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.5.4\n"
13
- "X-Poedit-KeywordsList: __;_e\n"
14
- "X-Poedit-Basepath: ..\n"
15
- "X-Poedit-SourceCharset: UTF-8\n"
16
- "X-Poedit-SearchPath-0: php\n"
17
-
18
- #: php/backend.php:32
19
- msgid "Video URL"
20
- msgstr "Video URL"
21
-
22
- #: php/backend.php:33
23
- msgid "Fallback: same video, different format"
24
- msgstr "Fallback: gleiche Video, anderes Format"
25
-
26
- #: php/backend.php:92 php/backend.php:701 php/backend.php:708
27
- #: php/backend.php:725 php/backend.php:727
28
- msgid "Featured Video"
29
- msgstr "Beitragsvideo"
30
-
31
- #: php/backend.php:123
32
- msgid "Outdated WordPress Version"
33
- msgstr "Veraltete WordPress Version"
34
-
35
- #: php/backend.php:123
36
- #, php-format
37
- msgid ""
38
- "There is WordPress 3.5 out there! The plugin supports older versions way "
39
- "back to 3.1 - but %s is defenitly to old!"
40
- msgstr ""
41
- "Es gibt schon WordPress 3.5! Das Plugin unterstützt alle Versionen ab 3.1 - "
42
- "aber %s ist wirklich zu alt!"
43
-
44
- #: php/backend.php:134
45
- msgid "Set Featured Video"
46
- msgstr "Beitragsvideo festlegen"
47
-
48
- #: php/backend.php:134
49
- msgid "Set featured video"
50
- msgstr "Beitragsvideo festlegen"
51
-
52
- #: php/backend.php:143
53
- msgid "Set Featured Video Fallback"
54
- msgstr "Beitragsvideo-Ersatz festlegen"
55
-
56
- #: php/backend.php:143
57
- msgid "Set featured video fallback"
58
- msgstr "Beitragsvideo Fallback festlegen"
59
-
60
- #: php/backend.php:152 php/backend.php:654
61
- msgid "Supported Video Formats"
62
- msgstr "Unterstützte Videoformate"
63
-
64
- #: php/backend.php:152
65
- msgid "or"
66
- msgstr "oder"
67
-
68
- #: php/backend.php:152 php/backend.php:653
69
- msgid "More information"
70
- msgstr "Mehr Informationen"
71
-
72
- #: php/backend.php:157
73
- msgid "Fallback Video"
74
- msgstr "Fallback Video"
75
-
76
- #: php/backend.php:157
77
- msgid ""
78
- "The two input fields should contain the same video but in distinct formats."
79
- msgstr ""
80
- "Die zwei Eingabefelder sollen das gleiche Video in unterschiedlichen "
81
- "Formaten enthalten."
82
-
83
- #: php/backend.php:164
84
- msgid "Hint"
85
- msgstr "Hinweis"
86
-
87
- #: php/backend.php:164
88
- #, php-format
89
- msgid "Take a look into the %sContextual Help%s."
90
- msgstr "Wirf einen Blick in die %sHilfe%s."
91
-
92
- #: php/backend.php:170 php/settings.php:404
93
- msgid "Featured Image"
94
- msgstr ""
95
-
96
- #: php/backend.php:170
97
- msgid ""
98
- "For automatically displaying the Featured Video a Featured Image is required."
99
- msgstr ""
100
- "Um das Artikelvideo automatisch im Theme anzeigen zu können, muss ein "
101
- "Artikelbild festgelegt werden."
102
-
103
- #: php/backend.php:175
104
- msgid "Set as Featured Image"
105
- msgstr "Als Beitragsbild festlegen"
106
-
107
- #: php/backend.php:179 php/settings.php:70
108
- msgid "The current theme does not support Featured Images"
109
- msgstr "Das aktuelle Theme nutzt keine Beitragsbilder."
110
-
111
- #: php/backend.php:179
112
- #, php-format
113
- msgid ""
114
- "To display Featured Videos you need to use the <code>Shortcode</code> or "
115
- "<code>PHP functions</code>. To hide this notice deactivate &quot;<em>Replace "
116
- "Featured Images</em>&quot; in the %sMedia Settings%s."
117
- msgstr ""
118
- "Damit Beitragsvideos in deinem Theme angezeigt werden, musst du den "
119
- "<code>Shortcode</code> oder die <code>PHP-Funktionen</code> verwenden. Um "
120
- "diese Warnung zu verstecken, deaktiviere &quot;<em>Artikelbilder ersetzen</"
121
- "em>&quot; in deinen %sMedien Einstellungen%s."
122
-
123
- #: php/backend.php:648
124
- #, php-format
125
- msgid ""
126
- "To use local videos, copy the <code>Link To Media File</code> from your "
127
- "%sMedia Library%s and paste it into the text field."
128
- msgstr ""
129
- "Um lokale Videos zu nutzen, kopiere den <code>Link zur Medien-Datei</code> "
130
- "aus deiner %sMediathek%s und füge ihn in das Textfeld ein."
131
-
132
- #: php/backend.php:649
133
- #, php-format
134
- msgid ""
135
- "To use local videos, copy the <code>File URL</code> from your %sMedia Library"
136
- "%s and paste it into the text field."
137
- msgstr ""
138
- "Um lokale Videos zu nutzen, kopiere die <code>Datei-URL</code> aus deiner "
139
- "%sMediathek%s und füge sie in das Textfeld ein."
140
-
141
- #: php/backend.php:653
142
- msgid ""
143
- "The second text field is intended to hold the URL to the same video in a "
144
- "different format. It will be used as fallback if the primary file can not be "
145
- "played."
146
- msgstr ""
147
- "Das zweite Textfeld ist für eine URL zu dem gleichen Video in einem anderen "
148
- "Videoformat gedacht. Dieses zweite Video wird dann als Fallback benutzt, "
149
- "falls das erste Video nicht kompatibel ist."
150
-
151
- #: php/backend.php:656
152
- msgid "Converting your videos"
153
- msgstr "Videos konvertieren"
154
-
155
- #: php/backend.php:657
156
- #, php-format
157
- msgid ""
158
- "Take a look at the %sMiro Video Converter%s. It is open source, lightweight "
159
- "and compatible with Windows, Mac and Linux."
160
- msgstr ""
161
- "Schau dir den %sMiro Video Converter%s an. Er is Open Source, klein, einfach "
162
- "zu verwenden und mit Windows, Mac und Linux kompatibel."
163
-
164
- #: php/backend.php:658
165
- msgid "Fixing upload errors"
166
- msgstr "Videoupload Fehler beheben"
167
-
168
- #: php/backend.php:660
169
- #, php-format
170
- msgid ""
171
- "Read %sthis%s on how to increase the <strong>maximum file upload size</"
172
- "strong>."
173
- msgstr ""
174
- "Lies %sdas hier%s, um zu erfahren, wie man das <strong>Dateigrößenlimit</"
175
- "strong> erhöht."
176
-
177
- #: php/backend.php:661
178
- #, php-format
179
- msgid ""
180
- "WordPress by default does not support <code>webM</code>. The plugin "
181
- "activates it, but under some conditions this might not be enough. %sHere%s "
182
- "you can get more information on this."
183
- msgstr ""
184
- "Normalerweise unterstützt WordPress kein <code>webM</code>. Das Plugin "
185
- "aktiviert die unterstützung, aber manchmal reicht das noch nicht. %sHier%s "
186
- "gibt es mehr Informationen."
187
-
188
- #: php/backend.php:663
189
- msgid "Flash Fallback"
190
- msgstr "Flash Fallback"
191
-
192
- #: php/backend.php:664
193
- #, php-format
194
- msgid ""
195
- "The video player, %sVIDEOJS%s, features an Adobe Flash fallback. All you "
196
- "need to do is provide an <code>mp4</code>-video."
197
- msgstr ""
198
- "Der Video Player, %sVIDEOJS%s, bietet einen Adobe Flash Fallback. Du musst "
199
- "einfach nur ein <code>mp4</code>-Video einbinden."
200
-
201
- #: php/backend.php:668
202
- msgid ""
203
- "These are some of the tested URL formats. Everything in bold is required, "
204
- "everything in brackets is optional."
205
- msgstr ""
206
- "Das hier sind einige getestete URL Formate. Alles fettgedruckte ist "
207
- "notwendig, alles in Klammern optional."
208
-
209
- #: php/backend.php:701 php/backend.php:725
210
- msgid "Local Media"
211
- msgstr "Lokale Medien"
212
-
213
- #: php/backend.php:708 php/backend.php:727
214
- msgid "Valid URLs"
215
- msgstr "Video URLs"
216
-
217
- #: php/settings.php:21
218
- msgid "Featured Videos"
219
- msgstr "Beitragsvideos"
220
-
221
- #: php/settings.php:23
222
- msgid "Replace Featured Images"
223
- msgstr "Beitragsbilder ersetzen"
224
-
225
- #: php/settings.php:24
226
- msgid "Autoplay"
227
- msgstr ""
228
-
229
- #: php/settings.php:25
230
- msgid "Video Sizing"
231
- msgstr "Videogröße"
232
-
233
- #: php/settings.php:26
234
- msgid "Video Align"
235
- msgstr "Video-Ausrichtung"
236
-
237
- #: php/settings.php:27
238
- msgid "Local Video Options"
239
- msgstr "Lokale Videos"
240
-
241
- #: php/settings.php:28
242
- msgid "YouTube Options"
243
- msgstr "YouTube Optionen"
244
-
245
- #: php/settings.php:29
246
- msgid "Vimeo Options"
247
- msgstr "Vimeo Optionen"
248
-
249
- #: php/settings.php:30
250
- msgid "Dailymotion Options"
251
- msgstr "Dailymotion Optionen"
252
-
253
- #: php/settings.php:31
254
- msgid "Support"
255
- msgstr "Support"
256
-
257
- #: php/settings.php:45
258
- #, php-format
259
- msgid ""
260
- "To display your featured videos you can either make use of the automatic "
261
- "replacement, use the %s or manually edit your theme's source files to make "
262
- "use of the plugins PHP-functions."
263
- msgstr ""
264
- "Um die Artikelvideos anzuzeigen kannst du entweder das automatische Ersetzen "
265
- "der Artikelbilder nutzen, auf den %s zurückgreifen oder manuel die PHP-"
266
- "Funktionen in deine Theme Dateien integrieren."
267
-
268
- #: php/settings.php:46
269
- #, php-format
270
- msgid ""
271
- "For more information about Shortcode and PHP functions see the %sContextual "
272
- "Help%s."
273
- msgstr ""
274
- "Für mehr Informationen über den Shortcode und die PHP-Funktionen schaue in "
275
- "die %sHilfe%s."
276
-
277
- #: php/settings.php:62 php/settings.php:86
278
- msgid "yes"
279
- msgstr "ja"
280
-
281
- #: php/settings.php:62 php/settings.php:88 php/settings.php:111
282
- #: php/settings.php:121 php/settings.php:142
283
- msgid "default"
284
- msgstr "default"
285
-
286
- #: php/settings.php:64 php/settings.php:88
287
- msgid "no"
288
- msgstr "nein"
289
-
290
- #: php/settings.php:65
291
- msgid ""
292
- "If a Featured Video is available it can be displayed in place of the "
293
- "Featured Image. Still, a Featured Image is required."
294
- msgstr ""
295
- "Wenn ein Artikelvideo vorhanden ist kann es anstelle des Artikelbildes "
296
- "angezeigt werden. Dafür muss trotzdem ein Artikelbild gesetzt sein!"
297
-
298
- #: php/settings.php:70
299
- msgid ""
300
- "To display Featured Videos you need to use the <code>Shortcode</code> or "
301
- "<code>PHP functions</code>."
302
- msgstr ""
303
- "Um Artikelvideos anzuzeigen musst du den <code>Shortcode</code> oder die "
304
- "<code>PHP-Funktionen</code> nutzen."
305
-
306
- #: php/settings.php:89
307
- msgid ""
308
- "YouTube, Vimeo and Dailymotion videos can autoplay when a single post/page "
309
- "is being viewed."
310
- msgstr ""
311
- "Wenn gesetzt, starten YouTube, Vimeo und Dailymotion Videos automatisch wenn "
312
- "sie auf der Seite eines einzelnen Beitrags angezeigt werden."
313
-
314
- #: php/settings.php:108
315
- msgid "Width"
316
- msgstr "Breite"
317
-
318
- #: php/settings.php:118
319
- msgid "Height"
320
- msgstr "Höhe"
321
-
322
- #: php/settings.php:127
323
- msgid ""
324
- "When using <code>auto</code> the video will be adjusted to fit it's parent "
325
- "element while sticking to it's ratio. Using a <code>fixed</code> height and "
326
- "width might result in <em>not so pretty</em> black bars."
327
- msgstr ""
328
- "Wenn <code>auto</code> gesetzt ist, wird das jeweilige Video automatisch an "
329
- "das Elternelement angepasst. Dabei wird versucht, die Seitenverhältnisse "
330
- "beizubehalten. Feste Breite und/oder Höhe kann zu <em>nicht so schönen</em> "
331
- "schwarzen Balken führen."
332
-
333
- #: php/settings.php:141
334
- msgid "left"
335
- msgstr "links"
336
-
337
- #: php/settings.php:142
338
- msgid "center"
339
- msgstr "zentriert"
340
-
341
- #: php/settings.php:143
342
- msgid "right"
343
- msgstr "rechts"
344
-
345
- #: php/settings.php:161
346
- msgid "Use CDN"
347
- msgstr "Nutze CDN"
348
-
349
- #: php/settings.php:162
350
- msgid "Include JS"
351
- msgstr "JS einbinden"
352
-
353
- #: php/settings.php:163
354
- msgid "Include CSS"
355
- msgstr "CSS einbinden"
356
-
357
- #: php/settings.php:165
358
- msgid ""
359
- "Disabling JS and/or CSS will break the local video player. Disable only when "
360
- "you want to replace VideoJS with a different script and know what you are "
361
- "doing."
362
- msgstr ""
363
- "JS und/oder CSS einbindung ist für die richtige Darstellung von lokalen "
364
- "Videos notwendig. Nutze diese funktionen nur wenn du VideoJS durch ein "
365
- "anderes Skript austauschen willst und weißt was du tust."
366
-
367
- #: php/settings.php:184
368
- msgid "Light Theme"
369
- msgstr "Helles Design"
370
-
371
- #: php/settings.php:185
372
- msgid "Fullscreen Button"
373
- msgstr "Vollbildschalter"
374
-
375
- #: php/settings.php:193
376
- msgid "Info"
377
- msgstr "Info"
378
-
379
- #: php/settings.php:195
380
- msgid "Related Videos"
381
- msgstr "Verwandte Videos"
382
-
383
- #: php/settings.php:196
384
- msgid "White Progressbar"
385
- msgstr "Weißer Fortschrittsbalken"
386
-
387
- #: php/settings.php:198 php/settings.php:250
388
- msgid "Logo"
389
- msgstr "Logo"
390
-
391
- #: php/settings.php:219
392
- msgid "Portrait"
393
- msgstr "Portrait"
394
-
395
- #: php/settings.php:220
396
- msgid "Title"
397
- msgstr "Titel"
398
-
399
- #: php/settings.php:221
400
- msgid "Byline"
401
- msgstr "Author"
402
-
403
- #: php/settings.php:224
404
- msgid "Color"
405
- msgstr "Farbe"
406
-
407
- #: php/settings.php:228
408
- msgid "Vimeo Plus Videos might ignore these settings."
409
- msgstr "Vimeo Plus Videos können diese Einstellungen ignorieren."
410
-
411
- #: php/settings.php:251
412
- msgid "Videoinfo"
413
- msgstr "Videoinfo"
414
-
415
- #: php/settings.php:252
416
- msgid "Syndication Key"
417
- msgstr "Syndication Schlüssel"
418
-
419
- #: php/settings.php:256
420
- msgid "Foreground"
421
- msgstr "Vordergrund"
422
-
423
- #: php/settings.php:261
424
- msgid "Highlight"
425
- msgstr "Hervorhebung"
426
-
427
- #: php/settings.php:266
428
- msgid "Background"
429
- msgstr "Hintergrund"
430
-
431
- #: php/settings.php:283
432
- #, php-format
433
- msgid ""
434
- "If you have found a bug or are missing a specific video service, please "
435
- "%slet me know%s in the support forum. Elsewise, if you like the plugin: "
436
- "Please %srate it!%s"
437
- msgstr ""
438
- "Wenn du einen Fehler gefunden hast oder einen bestimmten Video-Anbieter "
439
- "vermisst, %ssag bescheid%s; Ansonsten, wenn dir das Plugin gefällt, bitte "
440
- "%sbewerte es!%s"
441
-
442
- #: php/settings.php:289
443
- msgid ""
444
- "The plugin logs it's version, the WordPress version and WordPress language "
445
- "for internal statistics. Those help for future plugin development."
446
- msgstr ""
447
- "Das Plugin speichert seine Version, die WordPress Version und WordPress "
448
- "Spracheinstellung für eigene Statistiken."
449
-
450
- #: php/settings.php:291
451
- msgid ""
452
- "No personal user information is being collected. Still, you can easily Opt-"
453
- "Out and have the data deleted:"
454
- msgstr ""
455
- "Es werden keine persönlichen Nutzerinformationen gespeichert. Wenn du willst "
456
- "kannst du dich abmelden und deine Daten werden gelöscht:"
457
-
458
- #: php/settings.php:380
459
- msgid "Displays the video in its default size."
460
- msgstr "Stellt das Video in seiner Standardgröße dar."
461
-
462
- #: php/settings.php:384
463
- msgid ""
464
- "Displays the video with an width of 300 pixel. Height will be fitted to the "
465
- "aspect ratio."
466
- msgstr ""
467
- "Stellt das Video mit einer breite von 300 Pixeln dar. Die Höhe wird "
468
- "automatisch angepasst, so dass das Seitenverhältniss erhalten bleibt."
469
-
470
- #: php/settings.php:388
471
- msgid "Displays the video with an fixed width and height."
472
- msgstr "Stellt das Video mit fester Breite und Höhe dar."
473
-
474
- #: php/settings.php:401
475
- #, php-format
476
- msgid ""
477
- "All parameters are optional. If %s the current post's id will be used. %s is "
478
- "either a string keyword (thumbnail, medium, large or full) or a 2-item array "
479
- "representing width and height in pixels, e.g. array(32,32)."
480
- msgstr ""
481
- "Alle Parameter sind optional. Wenn %s gilt, wird die ID des aktuellen "
482
- "Beitrags genutzt. %s ist entweder ein String (thumbnail, medium, large oder "
483
- "full) oder ein Array mit zwei Stellen (Breite und Höhe); Zum Beispiel array"
484
- "(32,32)."
485
-
486
- #: php/settings.php:404
487
- #, php-format
488
- msgid ""
489
- "The functions are implemented corresponding to the original %sfunctions%s: "
490
- "They are intended to be used and to act the same way. Take a look into the "
491
- "WordPress Codex for further guidance:"
492
- msgstr ""
493
- "Die Funktionen sind nach den original %sFunktionen%s implementiert. Sie "
494
- "sollten genauso genutzt werden können und sich genauso verhalten. Schau dir "
495
- "für mehr Informationen den WordPress Codex an:"
496
-
497
- #: php/settings.php:427 php/settings.php:450
498
- msgid "PHP-Functions"
499
- msgstr "PHP-Funktionen"
500
-
501
- #: php/upgrade.php:153 php/upgrade.php:164 php/upgrade.php:175
502
- #: php/upgrade.php:186
503
- msgid "Featured Video Plus was <strong>upgraded</strong>."
504
- msgstr "Featured Video Plus wurde <strong>aktualisiert</strong>."
505
-
506
- #: php/upgrade.php:153
507
- #, php-format
508
- msgid ""
509
- "%s <strong>ajax</strong>ifies the Featured Video box and introduces new "
510
- "options (especially for the local video player)."
511
- msgstr ""
512
- "In %s wurde die Featured Video box überarbeitet und unterstützt nun AJAX. "
513
- "Außerdem gibt es neue Optionen in den Medieneinstellungen, besonders für den "
514
- "lokalen Videoplayer."
515
-
516
- #: php/upgrade.php:153 php/upgrade.php:164 php/upgrade.php:175
517
- #: php/upgrade.php:186
518
- #, php-format
519
- msgid "If you like the plugin, please %srate it%s."
520
- msgstr "Wenn dir das Plugin gefällt, bitte %sbewerte es%s."
521
-
522
- #: php/upgrade.php:164
523
- #, php-format
524
- msgid ""
525
- "%s features a seamless <strong>WP3.5 Media Manager</strong> integration, an "
526
- "all new <strong>ajax</strong>ified metabox, time-links (#t=4m2s) for YouTube "
527
- "and Dailymotion, new PHP functions for developers and more."
528
- msgstr ""
529
- "%s integriert den <strong>WP3.5 Media Manager</strong> nahtlos, unterstützt "
530
- "nun AJAX, bietet time-links für YouTube und Dailymotion(#t=4m2s), einige "
531
- "neue Einstellungen und neue PHP Funktionen für Entwickler."
532
-
533
- #: php/upgrade.php:175
534
- #, php-format
535
- msgid ""
536
- "%s features a seamless WP3.5 Media Manager integration, an ajaxified "
537
- "metabox, time-links (#t=4m2s) for YouTube and Dailymotion, more "
538
- "customization settings and internationalization."
539
- msgstr ""
540
- "%s integriert den <strong>WP3.5 Media Manager</strong> nahtlos, bringt AJAX, "
541
- "bietet time-links für YouTube und Dailymotion(#t=4m2s), mehr Einstellungen "
542
- "und Internationalisierung."
543
-
544
- #: php/upgrade.php:186
545
- #, php-format
546
- msgid ""
547
- "%s features support for <strong>Local Videos</strong>, a seamless WP3.5 "
548
- "Media Manager integration, an ajaxified metabox, time-links (#t=4m2s) for "
549
- "YouTube and Dailymotion and many more customization settings."
550
- msgstr ""
551
- "%s integriert unterstützung für <strong>lokale Videos</strong>, den neuen "
552
- "WP3.5 Media Manager, eine überarbeitete AJAX-Metabox, time-links (#t=4m2s) "
553
- "für YouTube und Dailymotion und viele neue Einstellungsmöglichkeiten."
554
-
555
- #: php/upgrade.php:198
556
- #, php-format
557
- msgid ""
558
- "Featured Video Plus is <strong>ready to use</strong>. There is a new box on "
559
- "post & page edit screens for you to add videos. <strong>Take a look at your "
560
- "new %sMedia Settings%s</strong>."
561
- msgstr ""
562
- "Featured Video Plus wurde <strong>aktiviert</strong>. Beim bearbeiten deiner "
563
- "Einträge gibt es eine neue Box um Artikelvideos hinzuzufügen. Außerdem: "
564
- "<strong>Schau in deine %sMedien Einstellungen%s</strong>."
565
-
566
- #~ msgid "VIDEOJS Player Options"
567
- #~ msgstr "VIDEOJS Player Optionen"
568
-
569
- #~ msgid ""
570
- #~ "%s features more customization settings, internationalization, better "
571
- #~ "error handling and experimental LiveLeak integration."
572
- #~ msgstr ""
573
- #~ "%s integriert mehr Einstellungsmöglichkeiten, Internationalisierung, "
574
- #~ "bessere Fehlerbehandlung und experimentelle LiveLeak Integration."
575
-
576
- #~ msgid "Align"
577
- #~ msgstr "Ausrichtung"
578
-
579
- #~ msgid "Found a bug or <strong>missing a specific video service</strong>?"
580
- #~ msgstr ""
581
- #~ "Hast du einen Fehler gefunden oder <strong>fehlt dir eine bestimmte Video "
582
- #~ "Plattform</strong>?"
583
-
584
- #~ msgid "Do you like the plugin?"
585
- #~ msgstr "Gefällt dir das Plugin?"
586
-
587
- #~ msgid "rate it"
588
- #~ msgstr "bewerte es"
589
-
590
- #~ msgid ""
591
- #~ "All parameters are optional. If %s the current post's id will be used."
592
- #~ msgstr ""
593
- #~ "Alle Parameter sind optional. Wenn %s gilt, wird die ID vom aktuellen "
594
- #~ "Eintrag verwendet."
595
-
596
- #~ msgid ""
597
- #~ "Featured Video Plus was <strong>upgraded</strong>. Version <strong>%s</"
598
- #~ "strong> features more customization settings and a more dynamic admin "
599
- #~ "interface."
600
- #~ msgstr ""
601
- #~ "Version %s integriert mehr Einstellungsmöglichkeiten, "
602
- #~ "Internationalisierung, besseres Fehlerbehandlung und LiveLeak Videos "
603
- #~ "(experimentell)."
604
-
605
- #~ msgid ""
606
- #~ "Featured Video Plus was <strong>upgraded</strong>. Version <strong>%s</"
607
- #~ "strong> now supports <strong>local videos</strong> and many more "
608
- #~ "customization settings."
609
- #~ msgstr ""
610
- #~ "Version %s integriert <strong>lokale Videos</strong>, LiveLeak Videos "
611
- #~ "(experimentell), mehr Einstellungsmöglichkeiten, Internationalisierung "
612
- #~ "und besseres Fehlerbehandlung."
613
-
614
- #~ msgid "YouTube, Vimeo, Dailymotion; Local Media"
615
- #~ msgstr "Video Formate"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: featured-video-plus 1.3 de_DE\n"
4
+ "POT-Creation-Date: 2013-04-16 11:06+0100\n"
5
+ "PO-Revision-Date: 2013-04-16 11:08+0100\n"
6
+ "Last-Translator: Alexander Höreth <a.hoereth@gmail.com>\n"
7
+ "Language-Team: a.hoereth <a.hoereth@gmail.com>\n"
8
+ "Language: de_DE\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.5.4\n"
13
+ "X-Poedit-KeywordsList: __;_e\n"
14
+ "X-Poedit-Basepath: ..\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-SearchPath-0: php\n"
17
+
18
+ #: php/backend.php:32
19
+ msgid "Video URL"
20
+ msgstr "Video URL"
21
+
22
+ #: php/backend.php:33
23
+ msgid "Fallback: same video, different format"
24
+ msgstr "Fallback: gleiche Video, anderes Format"
25
+
26
+ #: php/backend.php:92 php/backend.php:674 php/backend.php:681
27
+ #: php/backend.php:698 php/backend.php:700
28
+ msgid "Featured Video"
29
+ msgstr "Beitragsvideo"
30
+
31
+ #: php/backend.php:123
32
+ msgid "Outdated WordPress Version"
33
+ msgstr "Veraltete WordPress Version"
34
+
35
+ #: php/backend.php:123
36
+ #, php-format
37
+ msgid ""
38
+ "There is WordPress 3.5 out there! The plugin supports older versions way "
39
+ "back to 3.1 - but %s is defenitly to old!"
40
+ msgstr ""
41
+ "Es gibt schon WordPress 3.5! Das Plugin unterstützt alle Versionen ab 3.1 - "
42
+ "aber %s ist wirklich zu alt!"
43
+
44
+ #: php/backend.php:134
45
+ msgid "Set Featured Video"
46
+ msgstr "Beitragsvideo festlegen"
47
+
48
+ #: php/backend.php:134
49
+ msgid "Set featured video"
50
+ msgstr "Beitragsvideo festlegen"
51
+
52
+ #: php/backend.php:143
53
+ msgid "Set Featured Video Fallback"
54
+ msgstr "Beitragsvideo-Ersatz festlegen"
55
+
56
+ #: php/backend.php:143
57
+ msgid "Set featured video fallback"
58
+ msgstr "Beitragsvideo Fallback festlegen"
59
+
60
+ #: php/backend.php:152 php/backend.php:626
61
+ msgid "Supported Video Formats"
62
+ msgstr "Unterstützte Videoformate"
63
+
64
+ #: php/backend.php:152
65
+ msgid "or"
66
+ msgstr "oder"
67
+
68
+ #: php/backend.php:152 php/backend.php:625
69
+ msgid "More information"
70
+ msgstr "Mehr Informationen"
71
+
72
+ #: php/backend.php:157
73
+ msgid "Fallback Video"
74
+ msgstr "Fallback Video"
75
+
76
+ #: php/backend.php:157
77
+ msgid ""
78
+ "The two input fields should contain the same video but in distinct formats."
79
+ msgstr ""
80
+ "Die zwei Eingabefelder sollen das gleiche Video in unterschiedlichen "
81
+ "Formaten enthalten."
82
+
83
+ #: php/backend.php:164
84
+ msgid "Hint"
85
+ msgstr "Hinweis"
86
+
87
+ #: php/backend.php:164
88
+ #, php-format
89
+ msgid "Take a look into the %sContextual Help%s."
90
+ msgstr "Wirf einen Blick in die %sHilfe%s."
91
+
92
+ #: php/backend.php:170 php/settings.php:399
93
+ msgid "Featured Image"
94
+ msgstr ""
95
+
96
+ #: php/backend.php:170
97
+ msgid ""
98
+ "For automatically displaying the Featured Video a Featured Image is required."
99
+ msgstr ""
100
+ "Um das Artikelvideo automatisch im Theme anzeigen zu können, muss ein "
101
+ "Artikelbild festgelegt werden."
102
+
103
+ #: php/backend.php:175
104
+ msgid "Set as Featured Image"
105
+ msgstr "Als Beitragsbild festlegen"
106
+
107
+ #: php/backend.php:179 php/settings.php:70
108
+ msgid "The current theme does not support Featured Images"
109
+ msgstr "Das aktuelle Theme nutzt keine Beitragsbilder."
110
+
111
+ #: php/backend.php:179
112
+ #, php-format
113
+ msgid ""
114
+ "To display Featured Videos you need to use the <code>Shortcode</code> or "
115
+ "<code>PHP functions</code>. To hide this notice deactivate &quot;<em>Replace "
116
+ "Featured Images</em>&quot; in the %sMedia Settings%s."
117
+ msgstr ""
118
+ "Damit Beitragsvideos in deinem Theme angezeigt werden, musst du den "
119
+ "<code>Shortcode</code> oder die <code>PHP-Funktionen</code> verwenden. Um "
120
+ "diese Warnung zu verstecken, deaktiviere &quot;<em>Artikelbilder ersetzen</"
121
+ "em>&quot; in deinen %sMedien Einstellungen%s."
122
+
123
+ #: php/backend.php:620
124
+ #, php-format
125
+ msgid ""
126
+ "To use local videos, copy the <code>Link To Media File</code> from your "
127
+ "%sMedia Library%s and paste it into the text field."
128
+ msgstr ""
129
+ "Um lokale Videos zu nutzen, kopiere den <code>Link zur Medien-Datei</code> "
130
+ "aus deiner %sMediathek%s und füge ihn in das Textfeld ein."
131
+
132
+ #: php/backend.php:621
133
+ #, php-format
134
+ msgid ""
135
+ "To use local videos, copy the <code>File URL</code> from your %sMedia Library"
136
+ "%s and paste it into the text field."
137
+ msgstr ""
138
+ "Um lokale Videos zu nutzen, kopiere die <code>Datei-URL</code> aus deiner "
139
+ "%sMediathek%s und füge sie in das Textfeld ein."
140
+
141
+ #: php/backend.php:625
142
+ msgid ""
143
+ "The second text field is intended to hold the URL to the same video in a "
144
+ "different format. It will be used as fallback if the primary file can not be "
145
+ "played."
146
+ msgstr ""
147
+ "Das zweite Textfeld ist für eine URL zu dem gleichen Video in einem anderen "
148
+ "Videoformat gedacht. Dieses zweite Video wird dann als Fallback benutzt, "
149
+ "falls das erste Video nicht kompatibel ist."
150
+
151
+ #: php/backend.php:628
152
+ msgid "Converting your videos"
153
+ msgstr "Videos konvertieren"
154
+
155
+ #: php/backend.php:629
156
+ #, php-format
157
+ msgid ""
158
+ "Take a look at the %sMiro Video Converter%s. It is open source, lightweight "
159
+ "and compatible with Windows, Mac and Linux."
160
+ msgstr ""
161
+ "Schau dir den %sMiro Video Converter%s an. Er is Open Source, klein, einfach "
162
+ "zu verwenden und mit Windows, Mac und Linux kompatibel."
163
+
164
+ #: php/backend.php:630
165
+ msgid "Fixing upload errors"
166
+ msgstr "Videoupload Fehler beheben"
167
+
168
+ #: php/backend.php:632
169
+ #, php-format
170
+ msgid ""
171
+ "Read %sthis%s on how to increase the <strong>maximum file upload size</"
172
+ "strong>."
173
+ msgstr ""
174
+ "Lies %sdas hier%s, um zu erfahren, wie man das <strong>Dateigrößenlimit</"
175
+ "strong> erhöht."
176
+
177
+ #: php/backend.php:633
178
+ #, php-format
179
+ msgid ""
180
+ "WordPress by default does not support <code>webM</code>. The plugin "
181
+ "activates it, but under some conditions this might not be enough. %sHere%s "
182
+ "you can get more information on this."
183
+ msgstr ""
184
+ "Normalerweise unterstützt WordPress kein <code>webM</code>. Das Plugin "
185
+ "aktiviert die unterstützung, aber manchmal reicht das noch nicht. %sHier%s "
186
+ "gibt es mehr Informationen."
187
+
188
+ #: php/backend.php:635
189
+ msgid "Flash Fallback"
190
+ msgstr "Flash Fallback"
191
+
192
+ #: php/backend.php:636
193
+ #, php-format
194
+ msgid ""
195
+ "The video player, %sVIDEOJS%s, features an Adobe Flash fallback. All you "
196
+ "need to do is provide an <code>mp4</code>-video."
197
+ msgstr ""
198
+ "Der Video Player, %sVIDEOJS%s, bietet einen Adobe Flash Fallback. Du musst "
199
+ "einfach nur ein <code>mp4</code>-Video einbinden."
200
+
201
+ #: php/backend.php:640
202
+ msgid ""
203
+ "These are some of the tested URL formats. Everything in bold is required, "
204
+ "everything in brackets is optional."
205
+ msgstr ""
206
+ "Das hier sind einige getestete URL Formate. Alles fettgedruckte ist "
207
+ "notwendig, alles in Klammern optional."
208
+
209
+ #: php/backend.php:674 php/backend.php:698
210
+ msgid "Local Media"
211
+ msgstr "Lokale Medien"
212
+
213
+ #: php/backend.php:681 php/backend.php:700
214
+ msgid "Valid URLs"
215
+ msgstr "Video URLs"
216
+
217
+ #: php/settings.php:21
218
+ msgid "Featured Videos"
219
+ msgstr "Beitragsvideos"
220
+
221
+ #: php/settings.php:23
222
+ msgid "Replace Featured Images"
223
+ msgstr "Beitragsbilder ersetzen"
224
+
225
+ #: php/settings.php:24
226
+ msgid "Autoplay"
227
+ msgstr ""
228
+
229
+ #: php/settings.php:25
230
+ msgid "Video Sizing"
231
+ msgstr "Videogröße"
232
+
233
+ #: php/settings.php:26
234
+ msgid "Video Align"
235
+ msgstr "Video-Ausrichtung"
236
+
237
+ #: php/settings.php:27
238
+ msgid "Local Video Options"
239
+ msgstr "Lokale Videos"
240
+
241
+ #: php/settings.php:28
242
+ msgid "YouTube Options"
243
+ msgstr "YouTube Optionen"
244
+
245
+ #: php/settings.php:29
246
+ msgid "Vimeo Options"
247
+ msgstr "Vimeo Optionen"
248
+
249
+ #: php/settings.php:30
250
+ msgid "Dailymotion Options"
251
+ msgstr "Dailymotion Optionen"
252
+
253
+ #: php/settings.php:31
254
+ msgid "Support"
255
+ msgstr "Support"
256
+
257
+ #: php/settings.php:45
258
+ #, php-format
259
+ msgid ""
260
+ "To display your featured videos you can either make use of the automatic "
261
+ "replacement, use the %s or manually edit your theme's source files to make "
262
+ "use of the plugins PHP-functions."
263
+ msgstr ""
264
+ "Um die Artikelvideos anzuzeigen kannst du entweder das automatische Ersetzen "
265
+ "der Artikelbilder nutzen, auf den %s zurückgreifen oder manuel die PHP-"
266
+ "Funktionen in deine Theme Dateien integrieren."
267
+
268
+ #: php/settings.php:46
269
+ #, php-format
270
+ msgid ""
271
+ "For more information about Shortcode and PHP functions see the %sContextual "
272
+ "Help%s."
273
+ msgstr ""
274
+ "Für mehr Informationen über den Shortcode und die PHP-Funktionen schaue in "
275
+ "die %sHilfe%s."
276
+
277
+ #: php/settings.php:62 php/settings.php:86
278
+ msgid "yes"
279
+ msgstr "ja"
280
+
281
+ #: php/settings.php:62 php/settings.php:88 php/settings.php:111
282
+ #: php/settings.php:121 php/settings.php:142
283
+ msgid "default"
284
+ msgstr "default"
285
+
286
+ #: php/settings.php:64 php/settings.php:88
287
+ msgid "no"
288
+ msgstr "nein"
289
+
290
+ #: php/settings.php:65
291
+ msgid ""
292
+ "If a Featured Video is available it can be displayed in place of the "
293
+ "Featured Image. Still, a Featured Image is required."
294
+ msgstr ""
295
+ "Wenn ein Artikelvideo vorhanden ist kann es anstelle des Artikelbildes "
296
+ "angezeigt werden. Dafür muss trotzdem ein Artikelbild gesetzt sein!"
297
+
298
+ #: php/settings.php:70
299
+ msgid ""
300
+ "To display Featured Videos you need to use the <code>Shortcode</code> or "
301
+ "<code>PHP functions</code>."
302
+ msgstr ""
303
+ "Um Artikelvideos anzuzeigen musst du den <code>Shortcode</code> oder die "
304
+ "<code>PHP-Funktionen</code> nutzen."
305
+
306
+ #: php/settings.php:89
307
+ msgid ""
308
+ "YouTube, Vimeo and Dailymotion videos can autoplay when a single post/page "
309
+ "is being viewed."
310
+ msgstr ""
311
+ "Wenn gesetzt, starten YouTube, Vimeo und Dailymotion Videos automatisch wenn "
312
+ "sie auf der Seite eines einzelnen Beitrags angezeigt werden."
313
+
314
+ #: php/settings.php:108
315
+ msgid "Width"
316
+ msgstr "Breite"
317
+
318
+ #: php/settings.php:118
319
+ msgid "Height"
320
+ msgstr "Höhe"
321
+
322
+ #: php/settings.php:127
323
+ msgid ""
324
+ "When using <code>auto</code> the video will be adjusted to fit it's parent "
325
+ "element while sticking to it's ratio. Using a <code>fixed</code> height and "
326
+ "width might result in <em>not so pretty</em> black bars."
327
+ msgstr ""
328
+ "Wenn <code>auto</code> gesetzt ist, wird das jeweilige Video automatisch an "
329
+ "das Elternelement angepasst. Dabei wird versucht, die Seitenverhältnisse "
330
+ "beizubehalten. Feste Breite und/oder Höhe kann zu <em>nicht so schönen</em> "
331
+ "schwarzen Balken führen."
332
+
333
+ #: php/settings.php:141
334
+ msgid "left"
335
+ msgstr "links"
336
+
337
+ #: php/settings.php:142
338
+ msgid "center"
339
+ msgstr "zentriert"
340
+
341
+ #: php/settings.php:143
342
+ msgid "right"
343
+ msgstr "rechts"
344
+
345
+ #: php/settings.php:162
346
+ msgid "Use CDN"
347
+ msgstr "Nutze CDN"
348
+
349
+ #: php/settings.php:163
350
+ msgid "Include JS"
351
+ msgstr "JS einbinden"
352
+
353
+ #: php/settings.php:164
354
+ msgid "Include CSS"
355
+ msgstr "CSS einbinden"
356
+
357
+ #: php/settings.php:165
358
+ msgid ""
359
+ "Disabling JS and/or CSS will break the local video player. Disable only when "
360
+ "you want to replace VideoJS with a different script and know what you are "
361
+ "doing."
362
+ msgstr ""
363
+ "JS und/oder CSS einbindung ist für die richtige Darstellung von lokalen "
364
+ "Videos notwendig. Nutze diese funktionen nur wenn du VideoJS durch ein "
365
+ "anderes Skript austauschen willst und weißt was du tust."
366
+
367
+ #: php/settings.php:166
368
+ msgid "Use featured image as video thumbnail"
369
+ msgstr "Artikelbild als video thumbnail nutzen"
370
+
371
+ #: php/settings.php:187
372
+ msgid "Light Theme"
373
+ msgstr "Helles Design"
374
+
375
+ #: php/settings.php:188
376
+ msgid "Fullscreen Button"
377
+ msgstr "Vollbildschalter"
378
+
379
+ #: php/settings.php:196
380
+ msgid "Info"
381
+ msgstr "Info"
382
+
383
+ #: php/settings.php:198
384
+ msgid "Related Videos"
385
+ msgstr "Verwandte Videos"
386
+
387
+ #: php/settings.php:199
388
+ msgid "Javascript API"
389
+ msgstr ""
390
+
391
+ #: php/settings.php:200
392
+ msgid "White Progressbar"
393
+ msgstr "Weißer Fortschrittsbalken"
394
+
395
+ #: php/settings.php:202 php/settings.php:254
396
+ msgid "Logo"
397
+ msgstr "Logo"
398
+
399
+ #: php/settings.php:223
400
+ msgid "Portrait"
401
+ msgstr "Portrait"
402
+
403
+ #: php/settings.php:224
404
+ msgid "Title"
405
+ msgstr "Titel"
406
+
407
+ #: php/settings.php:225
408
+ msgid "Byline"
409
+ msgstr "Author"
410
+
411
+ #: php/settings.php:228
412
+ msgid "Color"
413
+ msgstr "Farbe"
414
+
415
+ #: php/settings.php:232
416
+ msgid "Vimeo Plus Videos might ignore these settings."
417
+ msgstr "Vimeo Plus Videos können diese Einstellungen ignorieren."
418
+
419
+ #: php/settings.php:255
420
+ msgid "Videoinfo"
421
+ msgstr "Videoinfo"
422
+
423
+ #: php/settings.php:256
424
+ msgid "Syndication Key"
425
+ msgstr "Syndication Schlüssel"
426
+
427
+ #: php/settings.php:260
428
+ msgid "Foreground"
429
+ msgstr "Vordergrund"
430
+
431
+ #: php/settings.php:265
432
+ msgid "Highlight"
433
+ msgstr "Hervorhebung"
434
+
435
+ #: php/settings.php:270
436
+ msgid "Background"
437
+ msgstr "Hintergrund"
438
+
439
+ #: php/settings.php:287
440
+ #, php-format
441
+ msgid ""
442
+ "If you have found a bug or are missing a specific video service, please "
443
+ "%slet me know%s in the support forum. Elsewise, if you like the plugin: "
444
+ "Please %srate it!%s"
445
+ msgstr ""
446
+ "Wenn du einen Fehler gefunden hast oder einen bestimmten Video-Anbieter "
447
+ "vermisst, %ssag bescheid%s; Ansonsten, wenn dir das Plugin gefällt, bitte "
448
+ "%sbewerte es!%s"
449
+
450
+ #: php/settings.php:374
451
+ msgid "Displays the video in its default size."
452
+ msgstr "Stellt das Video in seiner Standardgröße dar."
453
+
454
+ #: php/settings.php:378
455
+ msgid ""
456
+ "Displays the video with an width of 300 pixel. Height will be fitted to the "
457
+ "aspect ratio."
458
+ msgstr ""
459
+ "Stellt das Video mit einer breite von 300 Pixeln dar. Die Höhe wird "
460
+ "automatisch angepasst, so dass das Seitenverhältniss erhalten bleibt."
461
+
462
+ #: php/settings.php:382
463
+ msgid "Displays the video with an fixed width and height."
464
+ msgstr "Stellt das Video mit fester Breite und Höhe dar."
465
+
466
+ #: php/settings.php:396
467
+ #, php-format
468
+ msgid ""
469
+ "All parameters are optional. If %s the current post's id will be used. %s is "
470
+ "either a string keyword (thumbnail, medium, large or full) or a 2-item array "
471
+ "representing width and height in pixels, e.g. array(32,32)."
472
+ msgstr ""
473
+ "Alle Parameter sind optional. Wenn %s gilt, wird die ID des aktuellen "
474
+ "Beitrags genutzt. %s ist entweder ein String (thumbnail, medium, large oder "
475
+ "full) oder ein Array mit zwei Stellen (Breite und Höhe); Zum Beispiel array"
476
+ "(32,32)."
477
+
478
+ #: php/settings.php:399
479
+ #, php-format
480
+ msgid ""
481
+ "The functions are implemented corresponding to the original %sfunctions%s: "
482
+ "They are intended to be used and to act the same way. Take a look into the "
483
+ "WordPress Codex for further guidance:"
484
+ msgstr ""
485
+ "Die Funktionen sind nach den original %sFunktionen%s implementiert. Sie "
486
+ "sollten genauso genutzt werden können und sich genauso verhalten. Schau dir "
487
+ "für mehr Informationen den WordPress Codex an:"
488
+
489
+ #: php/settings.php:422 php/settings.php:445
490
+ msgid "PHP-Functions"
491
+ msgstr "PHP-Funktionen"
492
+
493
+ #: php/upgrade.php:160 php/upgrade.php:171 php/upgrade.php:182
494
+ #: php/upgrade.php:193 php/upgrade.php:204
495
+ msgid "Featured Video Plus was <strong>upgraded</strong>."
496
+ msgstr "Featured Video Plus wurde <strong>aktualisiert</strong>."
497
+
498
+ #: php/upgrade.php:160
499
+ #, php-format
500
+ msgid ""
501
+ "%s brings new options for YouTube and local videos, fixes a whole bunch of "
502
+ "glitches and introduces a new PHP-function."
503
+ msgstr ""
504
+ "%s bringt neue Einstellungsmöglichkeiten für YouTube und lokale Videos, "
505
+ "behebt einige Fehler und baut eine neue PHP-Funktion ein."
506
+
507
+ #: php/upgrade.php:160 php/upgrade.php:171 php/upgrade.php:182
508
+ #: php/upgrade.php:193 php/upgrade.php:204
509
+ #, php-format
510
+ msgid "If you like the plugin, please %srate it%s."
511
+ msgstr "Wenn dir das Plugin gefällt, bitte %sbewerte es%s."
512
+
513
+ #: php/upgrade.php:171
514
+ #, php-format
515
+ msgid ""
516
+ "%s <strong>ajax</strong>ifies the Featured Video box, introduces new options "
517
+ "for YouTube and local videos and a new PHP-function."
518
+ msgstr ""
519
+ "In %s wurde die Featured Video box überarbeitet und unterstützt nun AJAX. "
520
+ "Außerdem gibt es neue Optionen in den Medieneinstellungen, besonders für "
521
+ "YouTube und lokale Videos."
522
+
523
+ #: php/upgrade.php:182
524
+ #, php-format
525
+ msgid ""
526
+ "%s features a seamless <strong>WP3.5 Media Manager</strong> integration, an "
527
+ "all new <strong>ajax</strong>ified metabox, time-links (#t=4m2s) for YouTube "
528
+ "and Dailymotion, new PHP functions for developers and more."
529
+ msgstr ""
530
+ "%s integriert den <strong>WP3.5 Media Manager</strong> nahtlos, unterstützt "
531
+ "nun AJAX, bietet time-links für YouTube und Dailymotion(#t=4m2s), einige "
532
+ "neue Einstellungen und neue PHP Funktionen für Entwickler."
533
+
534
+ #: php/upgrade.php:193
535
+ #, php-format
536
+ msgid ""
537
+ "%s features a seamless WP3.5 Media Manager integration, an ajaxified "
538
+ "metabox, time-links (#t=4m2s) for YouTube and Dailymotion, more "
539
+ "customization settings and internationalization."
540
+ msgstr ""
541
+ "%s integriert den <strong>WP3.5 Media Manager</strong> nahtlos, bringt AJAX, "
542
+ "bietet time-links für YouTube und Dailymotion(#t=4m2s), mehr Einstellungen "
543
+ "und Internationalisierung."
544
+
545
+ #: php/upgrade.php:204
546
+ #, php-format
547
+ msgid ""
548
+ "%s features support for <strong>Local Videos</strong>, a seamless WP3.5 "
549
+ "Media Manager integration, an ajaxified metabox, time-links (#t=4m2s) for "
550
+ "YouTube and Dailymotion and many more customization settings."
551
+ msgstr ""
552
+ "%s integriert unterstützung für <strong>lokale Videos</strong>, den neuen "
553
+ "WP3.5 Media Manager, eine überarbeitete AJAX-Metabox, time-links (#t=4m2s) "
554
+ "für YouTube und Dailymotion und viele neue Einstellungsmöglichkeiten."
555
+
556
+ #: php/upgrade.php:216
557
+ #, php-format
558
+ msgid ""
559
+ "Featured Video Plus is <strong>ready to use</strong>. There is a new box on "
560
+ "post & page edit screens for you to add videos. <strong>Take a look at your "
561
+ "new %sMedia Settings%s</strong>."
562
+ msgstr ""
563
+ "Featured Video Plus wurde <strong>aktiviert</strong>. Beim bearbeiten deiner "
564
+ "Einträge gibt es eine neue Box um Artikelvideos hinzuzufügen. Außerdem: "
565
+ "<strong>Schau in deine %sMedien Einstellungen%s</strong>."
566
+
567
+ #~ msgid ""
568
+ #~ "The plugin logs it's version, the WordPress version and WordPress "
569
+ #~ "language for internal statistics. Those help for future plugin "
570
+ #~ "development."
571
+ #~ msgstr ""
572
+ #~ "Das Plugin speichert seine Version, die WordPress Version und WordPress "
573
+ #~ "Spracheinstellung für eigene Statistiken."
574
+
575
+ #~ msgid ""
576
+ #~ "No personal user information is being collected. Still, you can easily "
577
+ #~ "Opt-Out and have the data deleted:"
578
+ #~ msgstr ""
579
+ #~ "Es werden keine persönlichen Nutzerinformationen gespeichert. Wenn du "
580
+ #~ "willst kannst du dich abmelden und deine Daten werden gelöscht:"
581
+
582
+ #~ msgid "VIDEOJS Player Options"
583
+ #~ msgstr "VIDEOJS Player Optionen"
584
+
585
+ #~ msgid ""
586
+ #~ "%s features more customization settings, internationalization, better "
587
+ #~ "error handling and experimental LiveLeak integration."
588
+ #~ msgstr ""
589
+ #~ "%s integriert mehr Einstellungsmöglichkeiten, Internationalisierung, "
590
+ #~ "bessere Fehlerbehandlung und experimentelle LiveLeak Integration."
591
+
592
+ #~ msgid "Align"
593
+ #~ msgstr "Ausrichtung"
594
+
595
+ #~ msgid "Found a bug or <strong>missing a specific video service</strong>?"
596
+ #~ msgstr ""
597
+ #~ "Hast du einen Fehler gefunden oder <strong>fehlt dir eine bestimmte Video "
598
+ #~ "Plattform</strong>?"
599
+
600
+ #~ msgid "Do you like the plugin?"
601
+ #~ msgstr "Gefällt dir das Plugin?"
602
+
603
+ #~ msgid "rate it"
604
+ #~ msgstr "bewerte es"
605
+
606
+ #~ msgid ""
607
+ #~ "All parameters are optional. If %s the current post's id will be used."
608
+ #~ msgstr ""
609
+ #~ "Alle Parameter sind optional. Wenn %s gilt, wird die ID vom aktuellen "
610
+ #~ "Eintrag verwendet."
611
+
612
+ #~ msgid ""
613
+ #~ "Featured Video Plus was <strong>upgraded</strong>. Version <strong>%s</"
614
+ #~ "strong> features more customization settings and a more dynamic admin "
615
+ #~ "interface."
616
+ #~ msgstr ""
617
+ #~ "Version %s integriert mehr Einstellungsmöglichkeiten, "
618
+ #~ "Internationalisierung, besseres Fehlerbehandlung und LiveLeak Videos "
619
+ #~ "(experimentell)."
620
+
621
+ #~ msgid ""
622
+ #~ "Featured Video Plus was <strong>upgraded</strong>. Version <strong>%s</"
623
+ #~ "strong> now supports <strong>local videos</strong> and many more "
624
+ #~ "customization settings."
625
+ #~ msgstr ""
626
+ #~ "Version %s integriert <strong>lokale Videos</strong>, LiveLeak Videos "
627
+ #~ "(experimentell), mehr Einstellungsmöglichkeiten, Internationalisierung "
628
+ #~ "und besseres Fehlerbehandlung."
629
+
630
+ #~ msgid "YouTube, Vimeo, Dailymotion; Local Media"
631
+ #~ msgstr "Video Formate"
lng/featured-video-plus.pot CHANGED
@@ -1,487 +1,490 @@
1
- msgid ""
2
- msgstr ""
3
- "Project-Id-Version: featured-video-plus 1.3\n"
4
- "POT-Creation-Date: 2013-03-22 17:41+0100\n"
5
- "PO-Revision-Date: 2013-03-22 17:41+0100\n"
6
- "Last-Translator: Alexander Höreth <a.hoereth@gmail.com>\n"
7
- "Language-Team: a.hoereth <a.hoereth@gmail.com>\n"
8
- "Language: en\n"
9
- "MIME-Version: 1.0\n"
10
- "Content-Type: text/plain; charset=UTF-8\n"
11
- "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.5.4\n"
13
- "X-Poedit-KeywordsList: __;_e\n"
14
- "X-Poedit-Basepath: ..\n"
15
- "X-Poedit-SourceCharset: UTF-8\n"
16
- "X-Poedit-SearchPath-0: php\n"
17
-
18
- #: php/backend.php:32
19
- msgid "Video URL"
20
- msgstr ""
21
-
22
- #: php/backend.php:33
23
- msgid "Fallback: same video, different format"
24
- msgstr ""
25
-
26
- #: php/backend.php:92 php/backend.php:701 php/backend.php:708
27
- #: php/backend.php:725 php/backend.php:727
28
- msgid "Featured Video"
29
- msgstr ""
30
-
31
- #: php/backend.php:123
32
- msgid "Outdated WordPress Version"
33
- msgstr ""
34
-
35
- #: php/backend.php:123
36
- #, php-format
37
- msgid ""
38
- "There is WordPress 3.5 out there! The plugin supports older versions way "
39
- "back to 3.1 - but %s is defenitly to old!"
40
- msgstr ""
41
-
42
- #: php/backend.php:134
43
- msgid "Set Featured Video"
44
- msgstr ""
45
-
46
- #: php/backend.php:134
47
- msgid "Set featured video"
48
- msgstr ""
49
-
50
- #: php/backend.php:143
51
- msgid "Set Featured Video Fallback"
52
- msgstr ""
53
-
54
- #: php/backend.php:143
55
- msgid "Set featured video fallback"
56
- msgstr ""
57
-
58
- #: php/backend.php:152 php/backend.php:654
59
- msgid "Supported Video Formats"
60
- msgstr ""
61
-
62
- #: php/backend.php:152
63
- msgid "or"
64
- msgstr ""
65
-
66
- #: php/backend.php:152 php/backend.php:653
67
- msgid "More information"
68
- msgstr ""
69
-
70
- #: php/backend.php:157
71
- msgid "Fallback Video"
72
- msgstr ""
73
-
74
- #: php/backend.php:157
75
- msgid ""
76
- "The two input fields should contain the same video but in distinct formats."
77
- msgstr ""
78
-
79
- #: php/backend.php:164
80
- msgid "Hint"
81
- msgstr ""
82
-
83
- #: php/backend.php:164
84
- #, php-format
85
- msgid "Take a look into the %sContextual Help%s."
86
- msgstr ""
87
-
88
- #: php/backend.php:170 php/settings.php:404
89
- msgid "Featured Image"
90
- msgstr ""
91
-
92
- #: php/backend.php:170
93
- msgid ""
94
- "For automatically displaying the Featured Video a Featured Image is required."
95
- msgstr ""
96
-
97
- #: php/backend.php:175
98
- msgid "Set as Featured Image"
99
- msgstr ""
100
-
101
- #: php/backend.php:179 php/settings.php:70
102
- msgid "The current theme does not support Featured Images"
103
- msgstr ""
104
-
105
- #: php/backend.php:179
106
- #, php-format
107
- msgid ""
108
- "To display Featured Videos you need to use the <code>Shortcode</code> or "
109
- "<code>PHP functions</code>. To hide this notice deactivate &quot;<em>Replace "
110
- "Featured Images</em>&quot; in the %sMedia Settings%s."
111
- msgstr ""
112
-
113
- #: php/backend.php:648
114
- #, php-format
115
- msgid ""
116
- "To use local videos, copy the <code>Link To Media File</code> from your "
117
- "%sMedia Library%s and paste it into the text field."
118
- msgstr ""
119
-
120
- #: php/backend.php:649
121
- #, php-format
122
- msgid ""
123
- "To use local videos, copy the <code>File URL</code> from your %sMedia Library"
124
- "%s and paste it into the text field."
125
- msgstr ""
126
-
127
- #: php/backend.php:653
128
- msgid ""
129
- "The second text field is intended to hold the URL to the same video in a "
130
- "different format. It will be used as fallback if the primary file can not be "
131
- "played."
132
- msgstr ""
133
-
134
- #: php/backend.php:656
135
- msgid "Converting your videos"
136
- msgstr ""
137
-
138
- #: php/backend.php:657
139
- #, php-format
140
- msgid ""
141
- "Take a look at the %sMiro Video Converter%s. It is open source, lightweight "
142
- "and compatible with Windows, Mac and Linux."
143
- msgstr ""
144
-
145
- #: php/backend.php:658
146
- msgid "Fixing upload errors"
147
- msgstr ""
148
-
149
- #: php/backend.php:660
150
- #, php-format
151
- msgid ""
152
- "Read %sthis%s on how to increase the <strong>maximum file upload size</"
153
- "strong>."
154
- msgstr ""
155
-
156
- #: php/backend.php:661
157
- #, php-format
158
- msgid ""
159
- "WordPress by default does not support <code>webM</code>. The plugin "
160
- "activates it, but under some conditions this might not be enough. %sHere%s "
161
- "you can get more information on this."
162
- msgstr ""
163
-
164
- #: php/backend.php:663
165
- msgid "Flash Fallback"
166
- msgstr ""
167
-
168
- #: php/backend.php:664
169
- #, php-format
170
- msgid ""
171
- "The video player, %sVIDEOJS%s, features an Adobe Flash fallback. All you "
172
- "need to do is provide an <code>mp4</code>-video."
173
- msgstr ""
174
-
175
- #: php/backend.php:668
176
- msgid ""
177
- "These are some of the tested URL formats. Everything in bold is required, "
178
- "everything in brackets is optional."
179
- msgstr ""
180
-
181
- #: php/backend.php:701 php/backend.php:725
182
- msgid "Local Media"
183
- msgstr ""
184
-
185
- #: php/backend.php:708 php/backend.php:727
186
- msgid "Valid URLs"
187
- msgstr ""
188
-
189
- #: php/settings.php:21
190
- msgid "Featured Videos"
191
- msgstr ""
192
-
193
- #: php/settings.php:23
194
- msgid "Replace Featured Images"
195
- msgstr ""
196
-
197
- #: php/settings.php:24
198
- msgid "Autoplay"
199
- msgstr ""
200
-
201
- #: php/settings.php:25
202
- msgid "Video Sizing"
203
- msgstr ""
204
-
205
- #: php/settings.php:26
206
- msgid "Video Align"
207
- msgstr ""
208
-
209
- #: php/settings.php:27
210
- msgid "Local Video Options"
211
- msgstr ""
212
-
213
- #: php/settings.php:28
214
- msgid "YouTube Options"
215
- msgstr ""
216
-
217
- #: php/settings.php:29
218
- msgid "Vimeo Options"
219
- msgstr ""
220
-
221
- #: php/settings.php:30
222
- msgid "Dailymotion Options"
223
- msgstr ""
224
-
225
- #: php/settings.php:31
226
- msgid "Support"
227
- msgstr ""
228
-
229
- #: php/settings.php:45
230
- #, php-format
231
- msgid ""
232
- "To display your featured videos you can either make use of the automatic "
233
- "replacement, use the %s or manually edit your theme's source files to make "
234
- "use of the plugins PHP-functions."
235
- msgstr ""
236
-
237
- #: php/settings.php:46
238
- #, php-format
239
- msgid ""
240
- "For more information about Shortcode and PHP functions see the %sContextual "
241
- "Help%s."
242
- msgstr ""
243
-
244
- #: php/settings.php:62 php/settings.php:86
245
- msgid "yes"
246
- msgstr ""
247
-
248
- #: php/settings.php:62 php/settings.php:88 php/settings.php:111
249
- #: php/settings.php:121 php/settings.php:142
250
- msgid "default"
251
- msgstr ""
252
-
253
- #: php/settings.php:64 php/settings.php:88
254
- msgid "no"
255
- msgstr ""
256
-
257
- #: php/settings.php:65
258
- msgid ""
259
- "If a Featured Video is available it can be displayed in place of the "
260
- "Featured Image. Still, a Featured Image is required."
261
- msgstr ""
262
-
263
- #: php/settings.php:70
264
- msgid ""
265
- "To display Featured Videos you need to use the <code>Shortcode</code> or "
266
- "<code>PHP functions</code>."
267
- msgstr ""
268
-
269
- #: php/settings.php:89
270
- msgid ""
271
- "YouTube, Vimeo and Dailymotion videos can autoplay when a single post/page "
272
- "is being viewed."
273
- msgstr ""
274
-
275
- #: php/settings.php:108
276
- msgid "Width"
277
- msgstr ""
278
-
279
- #: php/settings.php:118
280
- msgid "Height"
281
- msgstr ""
282
-
283
- #: php/settings.php:127
284
- msgid ""
285
- "When using <code>auto</code> the video will be adjusted to fit it's parent "
286
- "element while sticking to it's ratio. Using a <code>fixed</code> height and "
287
- "width might result in <em>not so pretty</em> black bars."
288
- msgstr ""
289
-
290
- #: php/settings.php:141
291
- msgid "left"
292
- msgstr ""
293
-
294
- #: php/settings.php:142
295
- msgid "center"
296
- msgstr ""
297
-
298
- #: php/settings.php:143
299
- msgid "right"
300
- msgstr ""
301
-
302
- #: php/settings.php:161
303
- msgid "Use CDN"
304
- msgstr ""
305
-
306
- #: php/settings.php:162
307
- msgid "Include JS"
308
- msgstr ""
309
-
310
- #: php/settings.php:163
311
- msgid "Include CSS"
312
- msgstr ""
313
-
314
- #: php/settings.php:165
315
- msgid ""
316
- "Disabling JS and/or CSS will break the local video player. Disable only when "
317
- "you want to replace VideoJS with a different script and know what you are "
318
- "doing."
319
- msgstr ""
320
-
321
- #: php/settings.php:184
322
- msgid "Light Theme"
323
- msgstr ""
324
-
325
- #: php/settings.php:185
326
- msgid "Fullscreen Button"
327
- msgstr ""
328
-
329
- #: php/settings.php:193
330
- msgid "Info"
331
- msgstr ""
332
-
333
- #: php/settings.php:195
334
- msgid "Related Videos"
335
- msgstr ""
336
-
337
- #: php/settings.php:196
338
- msgid "White Progressbar"
339
- msgstr ""
340
-
341
- #: php/settings.php:198 php/settings.php:250
342
- msgid "Logo"
343
- msgstr ""
344
-
345
- #: php/settings.php:219
346
- msgid "Portrait"
347
- msgstr ""
348
-
349
- #: php/settings.php:220
350
- msgid "Title"
351
- msgstr ""
352
-
353
- #: php/settings.php:221
354
- msgid "Byline"
355
- msgstr ""
356
-
357
- #: php/settings.php:224
358
- msgid "Color"
359
- msgstr ""
360
-
361
- #: php/settings.php:228
362
- msgid "Vimeo Plus Videos might ignore these settings."
363
- msgstr ""
364
-
365
- #: php/settings.php:251
366
- msgid "Videoinfo"
367
- msgstr ""
368
-
369
- #: php/settings.php:252
370
- msgid "Syndication Key"
371
- msgstr ""
372
-
373
- #: php/settings.php:256
374
- msgid "Foreground"
375
- msgstr ""
376
-
377
- #: php/settings.php:261
378
- msgid "Highlight"
379
- msgstr ""
380
-
381
- #: php/settings.php:266
382
- msgid "Background"
383
- msgstr ""
384
-
385
- #: php/settings.php:283
386
- #, php-format
387
- msgid ""
388
- "If you have found a bug or are missing a specific video service, please "
389
- "%slet me know%s in the support forum. Elsewise, if you like the plugin: "
390
- "Please %srate it!%s"
391
- msgstr ""
392
-
393
- #: php/settings.php:289
394
- msgid ""
395
- "The plugin logs it's version, the WordPress version and WordPress language "
396
- "for internal statistics. Those help for future plugin development."
397
- msgstr ""
398
-
399
- #: php/settings.php:291
400
- msgid ""
401
- "No personal user information is being collected. Still, you can easily Opt-"
402
- "Out and have the data deleted:"
403
- msgstr ""
404
-
405
- #: php/settings.php:380
406
- msgid "Displays the video in its default size."
407
- msgstr ""
408
-
409
- #: php/settings.php:384
410
- msgid ""
411
- "Displays the video with an width of 300 pixel. Height will be fitted to the "
412
- "aspect ratio."
413
- msgstr ""
414
-
415
- #: php/settings.php:388
416
- msgid "Displays the video with an fixed width and height."
417
- msgstr ""
418
-
419
- #: php/settings.php:401
420
- #, php-format
421
- msgid ""
422
- "All parameters are optional. If %s the current post's id will be used. %s is "
423
- "either a string keyword (thumbnail, medium, large or full) or a 2-item array "
424
- "representing width and height in pixels, e.g. array(32,32)."
425
- msgstr ""
426
-
427
- #: php/settings.php:404
428
- #, php-format
429
- msgid ""
430
- "The functions are implemented corresponding to the original %sfunctions%s: "
431
- "They are intended to be used and to act the same way. Take a look into the "
432
- "WordPress Codex for further guidance:"
433
- msgstr ""
434
-
435
- #: php/settings.php:427 php/settings.php:450
436
- msgid "PHP-Functions"
437
- msgstr ""
438
-
439
- #: php/upgrade.php:153 php/upgrade.php:164 php/upgrade.php:175
440
- #: php/upgrade.php:186
441
- msgid "Featured Video Plus was <strong>upgraded</strong>."
442
- msgstr ""
443
-
444
- #: php/upgrade.php:153
445
- #, php-format
446
- msgid ""
447
- "%s <strong>ajax</strong>ifies the Featured Video box and introduces new "
448
- "options (especially for the local video player)."
449
- msgstr ""
450
-
451
- #: php/upgrade.php:153 php/upgrade.php:164 php/upgrade.php:175
452
- #: php/upgrade.php:186
453
- #, php-format
454
- msgid "If you like the plugin, please %srate it%s."
455
- msgstr ""
456
-
457
- #: php/upgrade.php:164
458
- #, php-format
459
- msgid ""
460
- "%s features a seamless <strong>WP3.5 Media Manager</strong> integration, an "
461
- "all new <strong>ajax</strong>ified metabox, time-links (#t=4m2s) for YouTube "
462
- "and Dailymotion, new PHP functions for developers and more."
463
- msgstr ""
464
-
465
- #: php/upgrade.php:175
466
- #, php-format
467
- msgid ""
468
- "%s features a seamless WP3.5 Media Manager integration, an ajaxified "
469
- "metabox, time-links (#t=4m2s) for YouTube and Dailymotion, more "
470
- "customization settings and internationalization."
471
- msgstr ""
472
-
473
- #: php/upgrade.php:186
474
- #, php-format
475
- msgid ""
476
- "%s features support for <strong>Local Videos</strong>, a seamless WP3.5 "
477
- "Media Manager integration, an ajaxified metabox, time-links (#t=4m2s) for "
478
- "YouTube and Dailymotion and many more customization settings."
479
- msgstr ""
480
-
481
- #: php/upgrade.php:198
482
- #, php-format
483
- msgid ""
484
- "Featured Video Plus is <strong>ready to use</strong>. There is a new box on "
485
- "post & page edit screens for you to add videos. <strong>Take a look at your "
486
- "new %sMedia Settings%s</strong>."
487
- msgstr ""
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: featured-video-plus 1.3\n"
4
+ "POT-Creation-Date: 2013-04-16 11:06+0100\n"
5
+ "PO-Revision-Date: 2013-04-16 11:06+0100\n"
6
+ "Last-Translator: Alexander Höreth <a.hoereth@gmail.com>\n"
7
+ "Language-Team: a.hoereth <a.hoereth@gmail.com>\n"
8
+ "Language: en\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.5.4\n"
13
+ "X-Poedit-KeywordsList: __;_e\n"
14
+ "X-Poedit-Basepath: ..\n"
15
+ "X-Poedit-SourceCharset: UTF-8\n"
16
+ "X-Poedit-SearchPath-0: php\n"
17
+
18
+ #: php/backend.php:32
19
+ msgid "Video URL"
20
+ msgstr ""
21
+
22
+ #: php/backend.php:33
23
+ msgid "Fallback: same video, different format"
24
+ msgstr ""
25
+
26
+ #: php/backend.php:92 php/backend.php:674 php/backend.php:681
27
+ #: php/backend.php:698 php/backend.php:700
28
+ msgid "Featured Video"
29
+ msgstr ""
30
+
31
+ #: php/backend.php:123
32
+ msgid "Outdated WordPress Version"
33
+ msgstr ""
34
+
35
+ #: php/backend.php:123
36
+ #, php-format
37
+ msgid ""
38
+ "There is WordPress 3.5 out there! The plugin supports older versions way "
39
+ "back to 3.1 - but %s is defenitly to old!"
40
+ msgstr ""
41
+
42
+ #: php/backend.php:134
43
+ msgid "Set Featured Video"
44
+ msgstr ""
45
+
46
+ #: php/backend.php:134
47
+ msgid "Set featured video"
48
+ msgstr ""
49
+
50
+ #: php/backend.php:143
51
+ msgid "Set Featured Video Fallback"
52
+ msgstr ""
53
+
54
+ #: php/backend.php:143
55
+ msgid "Set featured video fallback"
56
+ msgstr ""
57
+
58
+ #: php/backend.php:152 php/backend.php:626
59
+ msgid "Supported Video Formats"
60
+ msgstr ""
61
+
62
+ #: php/backend.php:152
63
+ msgid "or"
64
+ msgstr ""
65
+
66
+ #: php/backend.php:152 php/backend.php:625
67
+ msgid "More information"
68
+ msgstr ""
69
+
70
+ #: php/backend.php:157
71
+ msgid "Fallback Video"
72
+ msgstr ""
73
+
74
+ #: php/backend.php:157
75
+ msgid ""
76
+ "The two input fields should contain the same video but in distinct formats."
77
+ msgstr ""
78
+
79
+ #: php/backend.php:164
80
+ msgid "Hint"
81
+ msgstr ""
82
+
83
+ #: php/backend.php:164
84
+ #, php-format
85
+ msgid "Take a look into the %sContextual Help%s."
86
+ msgstr ""
87
+
88
+ #: php/backend.php:170 php/settings.php:399
89
+ msgid "Featured Image"
90
+ msgstr ""
91
+
92
+ #: php/backend.php:170
93
+ msgid ""
94
+ "For automatically displaying the Featured Video a Featured Image is required."
95
+ msgstr ""
96
+
97
+ #: php/backend.php:175
98
+ msgid "Set as Featured Image"
99
+ msgstr ""
100
+
101
+ #: php/backend.php:179 php/settings.php:70
102
+ msgid "The current theme does not support Featured Images"
103
+ msgstr ""
104
+
105
+ #: php/backend.php:179
106
+ #, php-format
107
+ msgid ""
108
+ "To display Featured Videos you need to use the <code>Shortcode</code> or "
109
+ "<code>PHP functions</code>. To hide this notice deactivate &quot;<em>Replace "
110
+ "Featured Images</em>&quot; in the %sMedia Settings%s."
111
+ msgstr ""
112
+
113
+ #: php/backend.php:620
114
+ #, php-format
115
+ msgid ""
116
+ "To use local videos, copy the <code>Link To Media File</code> from your "
117
+ "%sMedia Library%s and paste it into the text field."
118
+ msgstr ""
119
+
120
+ #: php/backend.php:621
121
+ #, php-format
122
+ msgid ""
123
+ "To use local videos, copy the <code>File URL</code> from your %sMedia Library"
124
+ "%s and paste it into the text field."
125
+ msgstr ""
126
+
127
+ #: php/backend.php:625
128
+ msgid ""
129
+ "The second text field is intended to hold the URL to the same video in a "
130
+ "different format. It will be used as fallback if the primary file can not be "
131
+ "played."
132
+ msgstr ""
133
+
134
+ #: php/backend.php:628
135
+ msgid "Converting your videos"
136
+ msgstr ""
137
+
138
+ #: php/backend.php:629
139
+ #, php-format
140
+ msgid ""
141
+ "Take a look at the %sMiro Video Converter%s. It is open source, lightweight "
142
+ "and compatible with Windows, Mac and Linux."
143
+ msgstr ""
144
+
145
+ #: php/backend.php:630
146
+ msgid "Fixing upload errors"
147
+ msgstr ""
148
+
149
+ #: php/backend.php:632
150
+ #, php-format
151
+ msgid ""
152
+ "Read %sthis%s on how to increase the <strong>maximum file upload size</"
153
+ "strong>."
154
+ msgstr ""
155
+
156
+ #: php/backend.php:633
157
+ #, php-format
158
+ msgid ""
159
+ "WordPress by default does not support <code>webM</code>. The plugin "
160
+ "activates it, but under some conditions this might not be enough. %sHere%s "
161
+ "you can get more information on this."
162
+ msgstr ""
163
+
164
+ #: php/backend.php:635
165
+ msgid "Flash Fallback"
166
+ msgstr ""
167
+
168
+ #: php/backend.php:636
169
+ #, php-format
170
+ msgid ""
171
+ "The video player, %sVIDEOJS%s, features an Adobe Flash fallback. All you "
172
+ "need to do is provide an <code>mp4</code>-video."
173
+ msgstr ""
174
+
175
+ #: php/backend.php:640
176
+ msgid ""
177
+ "These are some of the tested URL formats. Everything in bold is required, "
178
+ "everything in brackets is optional."
179
+ msgstr ""
180
+
181
+ #: php/backend.php:674 php/backend.php:698
182
+ msgid "Local Media"
183
+ msgstr ""
184
+
185
+ #: php/backend.php:681 php/backend.php:700
186
+ msgid "Valid URLs"
187
+ msgstr ""
188
+
189
+ #: php/settings.php:21
190
+ msgid "Featured Videos"
191
+ msgstr ""
192
+
193
+ #: php/settings.php:23
194
+ msgid "Replace Featured Images"
195
+ msgstr ""
196
+
197
+ #: php/settings.php:24
198
+ msgid "Autoplay"
199
+ msgstr ""
200
+
201
+ #: php/settings.php:25
202
+ msgid "Video Sizing"
203
+ msgstr ""
204
+
205
+ #: php/settings.php:26
206
+ msgid "Video Align"
207
+ msgstr ""
208
+
209
+ #: php/settings.php:27
210
+ msgid "Local Video Options"
211
+ msgstr ""
212
+
213
+ #: php/settings.php:28
214
+ msgid "YouTube Options"
215
+ msgstr ""
216
+
217
+ #: php/settings.php:29
218
+ msgid "Vimeo Options"
219
+ msgstr ""
220
+
221
+ #: php/settings.php:30
222
+ msgid "Dailymotion Options"
223
+ msgstr ""
224
+
225
+ #: php/settings.php:31
226
+ msgid "Support"
227
+ msgstr ""
228
+
229
+ #: php/settings.php:45
230
+ #, php-format
231
+ msgid ""
232
+ "To display your featured videos you can either make use of the automatic "
233
+ "replacement, use the %s or manually edit your theme's source files to make "
234
+ "use of the plugins PHP-functions."
235
+ msgstr ""
236
+
237
+ #: php/settings.php:46
238
+ #, php-format
239
+ msgid ""
240
+ "For more information about Shortcode and PHP functions see the %sContextual "
241
+ "Help%s."
242
+ msgstr ""
243
+
244
+ #: php/settings.php:62 php/settings.php:86
245
+ msgid "yes"
246
+ msgstr ""
247
+
248
+ #: php/settings.php:62 php/settings.php:88 php/settings.php:111
249
+ #: php/settings.php:121 php/settings.php:142
250
+ msgid "default"
251
+ msgstr ""
252
+
253
+ #: php/settings.php:64 php/settings.php:88
254
+ msgid "no"
255
+ msgstr ""
256
+
257
+ #: php/settings.php:65
258
+ msgid ""
259
+ "If a Featured Video is available it can be displayed in place of the "
260
+ "Featured Image. Still, a Featured Image is required."
261
+ msgstr ""
262
+
263
+ #: php/settings.php:70
264
+ msgid ""
265
+ "To display Featured Videos you need to use the <code>Shortcode</code> or "
266
+ "<code>PHP functions</code>."
267
+ msgstr ""
268
+
269
+ #: php/settings.php:89
270
+ msgid ""
271
+ "YouTube, Vimeo and Dailymotion videos can autoplay when a single post/page "
272
+ "is being viewed."
273
+ msgstr ""
274
+
275
+ #: php/settings.php:108
276
+ msgid "Width"
277
+ msgstr ""
278
+
279
+ #: php/settings.php:118
280
+ msgid "Height"
281
+ msgstr ""
282
+
283
+ #: php/settings.php:127
284
+ msgid ""
285
+ "When using <code>auto</code> the video will be adjusted to fit it's parent "
286
+ "element while sticking to it's ratio. Using a <code>fixed</code> height and "
287
+ "width might result in <em>not so pretty</em> black bars."
288
+ msgstr ""
289
+
290
+ #: php/settings.php:141
291
+ msgid "left"
292
+ msgstr ""
293
+
294
+ #: php/settings.php:142
295
+ msgid "center"
296
+ msgstr ""
297
+
298
+ #: php/settings.php:143
299
+ msgid "right"
300
+ msgstr ""
301
+
302
+ #: php/settings.php:162
303
+ msgid "Use CDN"
304
+ msgstr ""
305
+
306
+ #: php/settings.php:163
307
+ msgid "Include JS"
308
+ msgstr ""
309
+
310
+ #: php/settings.php:164
311
+ msgid "Include CSS"
312
+ msgstr ""
313
+
314
+ #: php/settings.php:165
315
+ msgid ""
316
+ "Disabling JS and/or CSS will break the local video player. Disable only when "
317
+ "you want to replace VideoJS with a different script and know what you are "
318
+ "doing."
319
+ msgstr ""
320
+
321
+ #: php/settings.php:166
322
+ msgid "Use featured image as video thumbnail"
323
+ msgstr ""
324
+
325
+ #: php/settings.php:187
326
+ msgid "Light Theme"
327
+ msgstr ""
328
+
329
+ #: php/settings.php:188
330
+ msgid "Fullscreen Button"
331
+ msgstr ""
332
+
333
+ #: php/settings.php:196
334
+ msgid "Info"
335
+ msgstr ""
336
+
337
+ #: php/settings.php:198
338
+ msgid "Related Videos"
339
+ msgstr ""
340
+
341
+ #: php/settings.php:199
342
+ msgid "Javascript API"
343
+ msgstr ""
344
+
345
+ #: php/settings.php:200
346
+ msgid "White Progressbar"
347
+ msgstr ""
348
+
349
+ #: php/settings.php:202 php/settings.php:254
350
+ msgid "Logo"
351
+ msgstr ""
352
+
353
+ #: php/settings.php:223
354
+ msgid "Portrait"
355
+ msgstr ""
356
+
357
+ #: php/settings.php:224
358
+ msgid "Title"
359
+ msgstr ""
360
+
361
+ #: php/settings.php:225
362
+ msgid "Byline"
363
+ msgstr ""
364
+
365
+ #: php/settings.php:228
366
+ msgid "Color"
367
+ msgstr ""
368
+
369
+ #: php/settings.php:232
370
+ msgid "Vimeo Plus Videos might ignore these settings."
371
+ msgstr ""
372
+
373
+ #: php/settings.php:255
374
+ msgid "Videoinfo"
375
+ msgstr ""
376
+
377
+ #: php/settings.php:256
378
+ msgid "Syndication Key"
379
+ msgstr ""
380
+
381
+ #: php/settings.php:260
382
+ msgid "Foreground"
383
+ msgstr ""
384
+
385
+ #: php/settings.php:265
386
+ msgid "Highlight"
387
+ msgstr ""
388
+
389
+ #: php/settings.php:270
390
+ msgid "Background"
391
+ msgstr ""
392
+
393
+ #: php/settings.php:287
394
+ #, php-format
395
+ msgid ""
396
+ "If you have found a bug or are missing a specific video service, please "
397
+ "%slet me know%s in the support forum. Elsewise, if you like the plugin: "
398
+ "Please %srate it!%s"
399
+ msgstr ""
400
+
401
+ #: php/settings.php:374
402
+ msgid "Displays the video in its default size."
403
+ msgstr ""
404
+
405
+ #: php/settings.php:378
406
+ msgid ""
407
+ "Displays the video with an width of 300 pixel. Height will be fitted to the "
408
+ "aspect ratio."
409
+ msgstr ""
410
+
411
+ #: php/settings.php:382
412
+ msgid "Displays the video with an fixed width and height."
413
+ msgstr ""
414
+
415
+ #: php/settings.php:396
416
+ #, php-format
417
+ msgid ""
418
+ "All parameters are optional. If %s the current post's id will be used. %s is "
419
+ "either a string keyword (thumbnail, medium, large or full) or a 2-item array "
420
+ "representing width and height in pixels, e.g. array(32,32)."
421
+ msgstr ""
422
+
423
+ #: php/settings.php:399
424
+ #, php-format
425
+ msgid ""
426
+ "The functions are implemented corresponding to the original %sfunctions%s: "
427
+ "They are intended to be used and to act the same way. Take a look into the "
428
+ "WordPress Codex for further guidance:"
429
+ msgstr ""
430
+
431
+ #: php/settings.php:422 php/settings.php:445
432
+ msgid "PHP-Functions"
433
+ msgstr ""
434
+
435
+ #: php/upgrade.php:160 php/upgrade.php:171 php/upgrade.php:182
436
+ #: php/upgrade.php:193 php/upgrade.php:204
437
+ msgid "Featured Video Plus was <strong>upgraded</strong>."
438
+ msgstr ""
439
+
440
+ #: php/upgrade.php:160
441
+ #, php-format
442
+ msgid ""
443
+ "%s brings new options for YouTube and local videos, fixes a whole bunch of "
444
+ "glitches and introduces a new PHP-function."
445
+ msgstr ""
446
+
447
+ #: php/upgrade.php:160 php/upgrade.php:171 php/upgrade.php:182
448
+ #: php/upgrade.php:193 php/upgrade.php:204
449
+ #, php-format
450
+ msgid "If you like the plugin, please %srate it%s."
451
+ msgstr ""
452
+
453
+ #: php/upgrade.php:171
454
+ #, php-format
455
+ msgid ""
456
+ "%s <strong>ajax</strong>ifies the Featured Video box, introduces new options "
457
+ "for YouTube and local videos and a new PHP-function."
458
+ msgstr ""
459
+
460
+ #: php/upgrade.php:182
461
+ #, php-format
462
+ msgid ""
463
+ "%s features a seamless <strong>WP3.5 Media Manager</strong> integration, an "
464
+ "all new <strong>ajax</strong>ified metabox, time-links (#t=4m2s) for YouTube "
465
+ "and Dailymotion, new PHP functions for developers and more."
466
+ msgstr ""
467
+
468
+ #: php/upgrade.php:193
469
+ #, php-format
470
+ msgid ""
471
+ "%s features a seamless WP3.5 Media Manager integration, an ajaxified "
472
+ "metabox, time-links (#t=4m2s) for YouTube and Dailymotion, more "
473
+ "customization settings and internationalization."
474
+ msgstr ""
475
+
476
+ #: php/upgrade.php:204
477
+ #, php-format
478
+ msgid ""
479
+ "%s features support for <strong>Local Videos</strong>, a seamless WP3.5 "
480
+ "Media Manager integration, an ajaxified metabox, time-links (#t=4m2s) for "
481
+ "YouTube and Dailymotion and many more customization settings."
482
+ msgstr ""
483
+
484
+ #: php/upgrade.php:216
485
+ #, php-format
486
+ msgid ""
487
+ "Featured Video Plus is <strong>ready to use</strong>. There is a new box on "
488
+ "post & page edit screens for you to add videos. <strong>Take a look at your "
489
+ "new %sMedia Settings%s</strong>."
490
+ msgstr ""
php/backend.php CHANGED
@@ -3,7 +3,7 @@
3
  * Class containing functions required WordPress administration panels. Metabox on post/page edit views and options section under settings->media.
4
  *
5
  * @author ahoereth
6
- * @version 2013/03/27
7
  * @see ../featured_video_plus.php
8
  * @see featured_video_plus in general.php
9
  * @since 1.0
@@ -28,9 +28,9 @@ class featured_video_plus_backend {
28
  if ( !isset($featured_video_plus_instance) )
29
  wp_die( 'featured_video_plus general instance required!', 'Error!' );
30
 
31
- $this->featured_video_plus = $featured_video_plus_instance;
32
- $this->default_value = __('Video URL', 'featured-video-plus');
33
- $this->default_value_sec = __('Fallback: same video, different format', 'featured-video-plus');
34
  }
35
 
36
  /**
@@ -60,8 +60,8 @@ class featured_video_plus_backend {
60
 
61
  // just required on post.php
62
  if( ($hook_suffix == 'post.php' && isset($_GET['post'])) || $hook_suffix == 'post-new.php' ) {
63
- wp_enqueue_script( 'jquery.autosize', FVP_URL . 'js/jquery.autosize-min.js', array( 'jquery' ), FVP_VERSION );
64
- wp_enqueue_script( 'fvp_backend', FVP_URL . 'js/backend-min.js', array( 'jquery','jquery.autosize' ), FVP_VERSION ); // production
65
  //wp_enqueue_script( 'fvp_backend', FVP_URL . 'js/backend.js', array( 'jquery','jquery.autosize'), FVP_VERSION ); // development
66
 
67
  $wp_35 = get_bloginfo('version') >= 3.5 ? true : false;
@@ -76,7 +76,7 @@ class featured_video_plus_backend {
76
  }
77
 
78
  if( $hook_suffix == 'options-media.php' || (($hook_suffix == 'post.php' && isset($_GET['post'])) || $hook_suffix == 'post-new.php') )
79
- wp_enqueue_style( 'fvp_backend', FVP_URL . 'css/backend-min.css', array(), FVP_VERSION ); // production
80
  //wp_enqueue_style( 'fvp_backend', FVP_URL . 'css/backend.css', array(), FVP_VERSION ); // development
81
  }
82
 
@@ -129,7 +129,7 @@ class featured_video_plus_backend {
129
  echo '</div>'."\n\n";
130
 
131
  // input box containing the featured video URL
132
- $legal= isset($meta['valid']) && !$meta['valid'] ? ' fvp_invalid' : '';
133
  $full = isset($meta['prov']) && $meta['prov'] == 'local' ? wp_get_attachment_url($meta['id']) : isset($meta['full']) ? $meta['full'] : $this->default_value;
134
  echo '<div class="fvp_input_wrapper" data-title="'.__('Set Featured Video', 'featured-video-plus').'" data-button="'.__('Set featured video', 'featured-video-plus').'" data-target="#fvp_video">'."\n\t";
135
  echo '<textarea class="fvp_input'.$legal.'" id="fvp_video" name="fvp_video" type="text">' . $full . '</textarea>' . "\n\t";
@@ -210,11 +210,11 @@ class featured_video_plus_backend {
210
 
211
  public function ajax() {
212
  $post = array(
213
- 'id' => $_POST['id'],
214
- 'fvp_nonce' => isset($_POST['fvp_nonce']) ? $_POST['fvp_nonce'] : '',
215
- 'fvp_set_featimg' => isset($_POST['fvp_set_featimg']) ? $_POST['fvp_set_featimg'] : '',
216
- 'fvp_video' => isset($_POST['fvp_video']) ? $_POST['fvp_video'] : '',
217
- 'fvp_sec' => isset($_POST['fvp_sec']) ? $_POST['fvp_sec'] : ''
218
  );
219
  $meta = $this->save($post);
220
 
@@ -226,7 +226,7 @@ class featured_video_plus_backend {
226
 
227
  echo json_encode(array( 'typ' => 'updated', 'valid' => $meta['valid'], 'video' => $video, 'img' => $img ));
228
  } else
229
- echo json_encode(array( 'typ' => 'removed', 'img' => $img ));
230
  die();
231
  }
232
 
@@ -272,11 +272,13 @@ class featured_video_plus_backend {
272
 
273
  $data = $this->get_video_data($url, $sec);
274
 
275
- $valid = true;
276
- if( !isset($data['id']) ) {
277
- $meta['valid'] = false;
278
- $meta['full'] = $url;
279
- $meta['sec' ] = $sec;
 
 
280
  } else {
281
 
282
  // Do we have a screen capture to pull?
@@ -286,14 +288,14 @@ class featured_video_plus_backend {
286
  }
287
 
288
  $meta = array(
289
- 'full' => isset($data['url']) && !empty($data['url']) ? $data['url'] : $url,
290
- 'id' => isset($data['id']) ? $data['id'] : '',
291
- 'sec' => isset($data['sec']) ? $data['sec'] : '',
292
- 'sec_id'=> isset($data['sec_id']) && !empty($data['sec_id']) ? $data['sec_id'] : '',
293
  'img' => isset($img) ? $img : '',
294
- 'prov' => isset($data['provider']) ? $data['provider'] : '',
295
- 'time' => isset($data['time']) ? $data['time'] : '',
296
- 'valid' => $valid
297
  );
298
 
299
  }
@@ -357,8 +359,15 @@ class featured_video_plus_backend {
357
  if( is_wp_error( $response ) )
358
  break;
359
  parse_str( $response['body'], $result );
360
- if( isset($result['status']) && $result['status'] == 'fail' )
 
 
 
 
 
 
361
  break;
 
362
 
363
  // extract info of a time-link
364
  preg_match('/t=(?:(\d+)m)?(?:(\d+)s)?/', $url, $attr);
@@ -376,11 +385,11 @@ class featured_video_plus_backend {
376
 
377
  // generate video metadata
378
  $data = array(
379
- 'id' => $video_id,
380
- 'provider' => $provider,
381
  'time' => $video_time,
382
  'title' => $result['title'],
383
- 'description' => $result['keywords'],
384
  'filename' => sanitize_file_name($result['title']),
385
  'timestamp' => $result['timestamp'],
386
  'author' => $result['author'],
@@ -506,16 +515,16 @@ class featured_video_plus_backend {
506
  $result['title'] = isset($title[1]) ? $title[1] : '';
507
 
508
  $data = array(
509
- 'id' => $video_id,
510
  'provider' => $provider,
511
- 'title' => $result['title'],
512
- 'description' => isset($desc[1]) ? $desc[1] : '',
513
  'filename' => sanitize_file_name($result['title']),
514
  'timestamp' => time(),
515
  //'author' => '', // <strong>By:</strong> <a href="http://www.liveleak.com/c/k-doe">k-doe</a>
516
  //'tags' => '', // <strong>Tags:</strong> <a href="browse?q=Drive By">Drive By</a>, <a href="browse?q=Fire Extinguisher">Fire Extinguisher</a><br />
517
- 'img' => isset($result['image']) ? trim($result['image'],"\"") : '',
518
- 'url' => 'http://liveleak.com/view?i='.$video_data[1]
519
  );
520
  break;
521
  }
@@ -536,6 +545,9 @@ class featured_video_plus_backend {
536
  );
537
  }
538
  break;
 
 
 
539
  }
540
  return isset($data) ? $data : false;
541
  }
@@ -553,7 +565,7 @@ class featured_video_plus_backend {
553
 
554
  // Generate attachment post metadata
555
  $img_data = array(
556
- 'post_content' => $data['description'],
557
  'post_title' => $data['title'],
558
  'post_name' => $data['filename']
559
  );
@@ -565,16 +577,16 @@ class featured_video_plus_backend {
565
  // generate picture metadata
566
  $img_meta = wp_get_attachment_metadata( $img );
567
  $img_meta['image_meta'] = array(
568
- 'aperture' => 0,
569
- 'credit' => $data['id'],
570
- 'camera' => $data['provider'],
571
- 'caption' => $data['description'],
572
  'created_timestamp' => $data['timestamp'],
573
- 'copyright' => $data['author'],
574
- 'focal_length' => 0,
575
- 'iso' => 0,
576
- 'shutter_speed' => 0,
577
- 'title' => $data['title']
578
  );
579
 
580
  // save picture metadata
@@ -591,7 +603,7 @@ class featured_video_plus_backend {
591
  }
592
 
593
  /**
594
- * Removes the old featured ima
595
  * Used since 1.0, got it own function in 1.4
596
  *
597
  * @since 1.4
@@ -610,34 +622,7 @@ class featured_video_plus_backend {
610
  }
611
  }
612
 
613
- /**
614
- * Plugin Version, WordPress Version and WordPress Language.
615
- * Less than WordPress.org, but much more informative for future development.
616
- *
617
- * @since 1.4
618
- *
619
- * @param bool $out set to true when oppting out
620
- */
621
- function featured_video_plus_notify($options, $out = null) {
622
- if($options['out'] == 1 && $out != 0)
623
- return $options;
624
-
625
- if( ($out !== null && $out != $options['out']) || isset($notice) || !isset($options['reged']) || !is_numeric($options['reged']) || ($options['reged']<strtotime("-1 week")) ) {
626
- $options['out'] = $out == 1 ? 1 : 0;
627
- $attr = array('body'=> array(
628
- 'fvp_version' => FVP_VERSION,
629
- 'wp_version' => get_bloginfo('version'),
630
- 'wp_language' => get_bloginfo('language'),
631
- 'out' => $options['out']
632
- ));
633
- $response = wp_remote_post( 'http://fvp.ahoereth.yrnxt.com/fvp.php', $attr);
634
- if( !is_wp_error( $response ) )
635
- $options['reged'] = is_numeric($response['body']) ? $response['body'] : time();
636
- }
637
- return $options;
638
- }
639
-
640
- /**
641
  * Initializes the help texts.
642
  *
643
  * @since 1.3
@@ -679,6 +664,7 @@ function featured_video_plus_notify($options, $out = null) {
679
  <li>Liveleak:
680
  <ul><li><code>(http(s)://)(www.)<strong>liveleak.com/view?i=<em>LIV_ELEAKUNQID</em></strong></code></li></ul></li>
681
  </ul>'."\n";
 
682
  }
683
 
684
  /**
@@ -773,5 +759,5 @@ function featured_video_plus_notify($options, $out = null) {
773
  );
774
  return $id;
775
  }
 
776
  }
777
- ?>
3
  * Class containing functions required WordPress administration panels. Metabox on post/page edit views and options section under settings->media.
4
  *
5
  * @author ahoereth
6
+ * @version 2013/04/16
7
  * @see ../featured_video_plus.php
8
  * @see featured_video_plus in general.php
9
  * @since 1.0
28
  if ( !isset($featured_video_plus_instance) )
29
  wp_die( 'featured_video_plus general instance required!', 'Error!' );
30
 
31
+ $this->featured_video_plus = $featured_video_plus_instance;
32
+ $this->default_value = __('Video URL', 'featured-video-plus');
33
+ $this->default_value_sec = __('Fallback: same video, different format', 'featured-video-plus');
34
  }
35
 
36
  /**
60
 
61
  // just required on post.php
62
  if( ($hook_suffix == 'post.php' && isset($_GET['post'])) || $hook_suffix == 'post-new.php' ) {
63
+ wp_enqueue_script( 'jquery.autosize', FVP_URL . 'js/jquery.autosize.min.js', array( 'jquery' ), FVP_VERSION );
64
+ wp_enqueue_script( 'fvp_backend', FVP_URL . 'js/backend.min.js', array( 'jquery','jquery.autosize' ), FVP_VERSION ); // production
65
  //wp_enqueue_script( 'fvp_backend', FVP_URL . 'js/backend.js', array( 'jquery','jquery.autosize'), FVP_VERSION ); // development
66
 
67
  $wp_35 = get_bloginfo('version') >= 3.5 ? true : false;
76
  }
77
 
78
  if( $hook_suffix == 'options-media.php' || (($hook_suffix == 'post.php' && isset($_GET['post'])) || $hook_suffix == 'post-new.php') )
79
+ wp_enqueue_style( 'fvp_backend', FVP_URL . 'css/backend.min.css', array(), FVP_VERSION ); // production
80
  //wp_enqueue_style( 'fvp_backend', FVP_URL . 'css/backend.css', array(), FVP_VERSION ); // development
81
  }
82
 
129
  echo '</div>'."\n\n";
130
 
131
  // input box containing the featured video URL
132
+ $legal= isset($meta['valid']) && !$meta['valid'] && isset($meta['full']) && !empty($meta['full']) ? ' fvp_invalid' : '';
133
  $full = isset($meta['prov']) && $meta['prov'] == 'local' ? wp_get_attachment_url($meta['id']) : isset($meta['full']) ? $meta['full'] : $this->default_value;
134
  echo '<div class="fvp_input_wrapper" data-title="'.__('Set Featured Video', 'featured-video-plus').'" data-button="'.__('Set featured video', 'featured-video-plus').'" data-target="#fvp_video">'."\n\t";
135
  echo '<textarea class="fvp_input'.$legal.'" id="fvp_video" name="fvp_video" type="text">' . $full . '</textarea>' . "\n\t";
210
 
211
  public function ajax() {
212
  $post = array(
213
+ 'id' => $_POST['id'],
214
+ 'fvp_nonce' => isset($_POST['fvp_nonce']) ? $_POST['fvp_nonce'] : '',
215
+ 'fvp_set_featimg' => isset($_POST['fvp_set_featimg']) ? $_POST['fvp_set_featimg'] : '',
216
+ 'fvp_video' => isset($_POST['fvp_video']) ? $_POST['fvp_video'] : '',
217
+ 'fvp_sec' => isset($_POST['fvp_sec']) ? $_POST['fvp_sec'] : ''
218
  );
219
  $meta = $this->save($post);
220
 
226
 
227
  echo json_encode(array( 'typ' => 'updated', 'valid' => $meta['valid'], 'video' => $video, 'img' => $img ));
228
  } else
229
+ echo json_encode(array( 'typ' => 'removed', 'valid' => $meta['valid'], 'img' => $img ));
230
  die();
231
  }
232
 
272
 
273
  $data = $this->get_video_data($url, $sec);
274
 
275
+ if (isset($data['api'])&&!$data['api']){
276
+ $meta = array(
277
+ 'full' => isset($data['url']) && !empty($data['url']) ? $data['url'] : $url,
278
+ 'id' => isset($data['id']) ? $data['id'] : '',
279
+ 'prov' => isset($data['provider']) ? $data['provider'] : '',
280
+ 'valid' => false
281
+ );
282
  } else {
283
 
284
  // Do we have a screen capture to pull?
288
  }
289
 
290
  $meta = array(
291
+ 'full' => isset($data['url']) && !empty($data['url']) ? $data['url'] : $url,
292
+ 'id' => isset($data['id']) ? $data['id'] : '',
293
+ 'sec' => isset($data['sec']) ? $data['sec'] : '',
294
+ 'sec_id'=> isset($data['sec_id']) && !empty($data['sec_id'])? $data['sec_id']: '',
295
  'img' => isset($img) ? $img : '',
296
+ 'prov' => isset($data['provider']) ? $data['provider'] : '',
297
+ 'time' => isset($data['time']) ? $data['time'] : '',
298
+ 'valid' => true
299
  );
300
 
301
  }
359
  if( is_wp_error( $response ) )
360
  break;
361
  parse_str( $response['body'], $result );
362
+ if (isset($result['status']) && $result['status'] == 'fail'){
363
+ $data = array(
364
+ 'id' => $video_id,
365
+ 'provider' => $provider,
366
+ 'url' => $url,
367
+ 'api' => false
368
+ );
369
  break;
370
+ }
371
 
372
  // extract info of a time-link
373
  preg_match('/t=(?:(\d+)m)?(?:(\d+)s)?/', $url, $attr);
385
 
386
  // generate video metadata
387
  $data = array(
388
+ 'id' => $video_id,
389
+ 'provider' => $provider,
390
  'time' => $video_time,
391
  'title' => $result['title'],
392
+ 'description' => $result['keywords'],
393
  'filename' => sanitize_file_name($result['title']),
394
  'timestamp' => $result['timestamp'],
395
  'author' => $result['author'],
515
  $result['title'] = isset($title[1]) ? $title[1] : '';
516
 
517
  $data = array(
518
+ 'id' => $video_id,
519
  'provider' => $provider,
520
+ 'title' => $result['title'],
521
+ 'description' => isset($desc[1]) ? $desc[1] : '',
522
  'filename' => sanitize_file_name($result['title']),
523
  'timestamp' => time(),
524
  //'author' => '', // <strong>By:</strong> <a href="http://www.liveleak.com/c/k-doe">k-doe</a>
525
  //'tags' => '', // <strong>Tags:</strong> <a href="browse?q=Drive By">Drive By</a>, <a href="browse?q=Fire Extinguisher">Fire Extinguisher</a><br />
526
+ 'img' => isset($result['image']) ? trim($result['image'],"\"") : '',
527
+ 'url' => 'http://liveleak.com/view?i='.$video_data[1]
528
  );
529
  break;
530
  }
545
  );
546
  }
547
  break;
548
+
549
+ default:
550
+ break;
551
  }
552
  return isset($data) ? $data : false;
553
  }
565
 
566
  // Generate attachment post metadata
567
  $img_data = array(
568
+ 'post_content'=> $data['description'],
569
  'post_title' => $data['title'],
570
  'post_name' => $data['filename']
571
  );
577
  // generate picture metadata
578
  $img_meta = wp_get_attachment_metadata( $img );
579
  $img_meta['image_meta'] = array(
580
+ 'aperture' => 0,
581
+ 'credit' => $data['id'],
582
+ 'camera' => $data['provider'],
583
+ 'caption' => $data['description'],
584
  'created_timestamp' => $data['timestamp'],
585
+ 'copyright' => $data['author'],
586
+ 'focal_length' => 0,
587
+ 'iso' => 0,
588
+ 'shutter_speed' => 0,
589
+ 'title' => $data['title']
590
  );
591
 
592
  // save picture metadata
603
  }
604
 
605
  /**
606
+ * Removes the old featured image
607
  * Used since 1.0, got it own function in 1.4
608
  *
609
  * @since 1.4
622
  }
623
  }
624
 
625
+ /*
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
626
  * Initializes the help texts.
627
  *
628
  * @since 1.3
664
  <li>Liveleak:
665
  <ul><li><code>(http(s)://)(www.)<strong>liveleak.com/view?i=<em>LIV_ELEAKUNQID</em></strong></code></li></ul></li>
666
  </ul>'."\n";
667
+
668
  }
669
 
670
  /**
759
  );
760
  return $id;
761
  }
762
+
763
  }
 
php/frontend.php CHANGED
@@ -3,7 +3,7 @@
3
  * Class containing functions required on frontend. Enqueue scripts/styles, replace featured images by featured videos.
4
  *
5
  * @author ahoereth
6
- * @version 2013/03/22
7
  * @see ../featured_video_plus.php
8
  * @see featured_video_plus in general.php
9
  * @since 1.0
@@ -69,7 +69,7 @@ class featured_video_plus_frontend {
69
  $h = isset($atts['height']) ? $atts['height'] : '';
70
 
71
  if(has_post_video())
72
- echo get_the_post_video(null, array($w, $h));
73
  }
74
  }
75
  ?>
3
  * Class containing functions required on frontend. Enqueue scripts/styles, replace featured images by featured videos.
4
  *
5
  * @author ahoereth
6
+ * @version 2013/04/16
7
  * @see ../featured_video_plus.php
8
  * @see featured_video_plus in general.php
9
  * @since 1.0
69
  $h = isset($atts['height']) ? $atts['height'] : '';
70
 
71
  if(has_post_video())
72
+ return get_the_post_video(null, array($w, $h));
73
  }
74
  }
75
  ?>
php/functions.php CHANGED
@@ -1,19 +1,20 @@
1
  <?php
2
- /* Requires a featured_video_plus class instance, located in php/general.php
3
- *
4
- * @see featured-video-plus.php
5
- * @see php/general.php
6
- */
7
 
8
  /**
9
- * Echos the current posts featured video
10
  *
11
  * @since 1.0
12
  *
13
- * @param size
14
  */
15
- function the_post_video($size = null) {
16
- echo get_the_post_video(null, $size);
 
 
 
 
 
 
17
  }
18
 
19
  /**
@@ -26,24 +27,18 @@ function the_post_video($size = null) {
26
  */
27
  function get_the_post_video($post_id = null, $size = null) {
28
  global $featured_video_plus;
29
- return $featured_video_plus->get_the_post_video($post_id, $size);
30
  }
31
 
32
  /**
33
- * Checks if post has a featured video
34
  *
35
  * @since 1.0
36
  *
37
- * @param post_id
38
  */
39
- function has_post_video($post_id = null){
40
- $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
41
-
42
- $meta = get_post_meta( $post_id, '_fvp_video', true );
43
- if( !isset($meta) || empty($meta['id']) )
44
- return false;
45
-
46
- return true;
47
  }
48
 
49
  /**
@@ -86,4 +81,25 @@ function get_the_post_video_image($post_id = null, $size = null) {
86
  return wp_get_attachment_image($id, $size);
87
  }
88
 
89
- ?>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  <?php
 
 
 
 
 
2
 
3
  /**
4
+ * Checks if post has a featured video
5
  *
6
  * @since 1.0
7
  *
8
+ * @param post_id
9
  */
10
+ function has_post_video($post_id = null){
11
+ $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
12
+
13
+ $meta = get_post_meta( $post_id, '_fvp_video', true );
14
+ if( !isset($meta) || empty($meta['id']) )
15
+ return false;
16
+
17
+ return true;
18
  }
19
 
20
  /**
27
  */
28
  function get_the_post_video($post_id = null, $size = null) {
29
  global $featured_video_plus;
30
+ return apply_filters( 'get_the_post_video_filter', $featured_video_plus->get_the_post_video($post_id, $size) );
31
  }
32
 
33
  /**
34
+ * Echos the current posts featured video
35
  *
36
  * @since 1.0
37
  *
38
+ * @param size
39
  */
40
+ function the_post_video($size = null) {
41
+ echo get_the_post_video(null, $size);
 
 
 
 
 
 
42
  }
43
 
44
  /**
81
  return wp_get_attachment_image($id, $size);
82
  }
83
 
84
+ /**
85
+ * Retruns the post video url.
86
+ *
87
+ * @since 1.6
88
+ *
89
+ * @param int $post_id
90
+ * @return mixed boolean (false) when no url/ string with url
91
+ */
92
+ function get_the_post_video_url($post_id){
93
+ $post_id = ( null === $post_id ) ? get_the_ID() : $post_id;
94
+
95
+ $meta = get_post_meta($post_id, '_fvp_video', true );
96
+ if (!isset($meta) || empty($meta['id']))
97
+ return false;
98
+
99
+ if (isset($meta['prov']) && $meta['prov'] == 'local')
100
+ return wp_get_attachment_url($meta['id']);
101
+ else if (isset($meta['full']))
102
+ return $meta['full'];
103
+ else
104
+ return false;
105
+ }
php/general.php CHANGED
@@ -3,7 +3,7 @@
3
  * Class containing all functions needed on front- AND backend. Functions only needed on one of those are found in distinct classes.
4
  *
5
  * @author ahoereth
6
- * @version 2013/03/27
7
  * @see ../featured_video_plus.php
8
  * @see featured_video_plus_backend in backend.php
9
  * @see featured_video_plus_frontend in frontend.php
@@ -18,7 +18,7 @@ class featured_video_plus {
18
  * @since 1.2
19
  */
20
  public function enqueue($hook_suffix) {
21
- // just required on post.php
22
  if( !is_admin() || ( ($hook_suffix == 'post.php' && isset($_GET['post'])) || $hook_suffix == 'post-new.php') ) {
23
  $options = get_option( 'fvp-settings' );
24
 
@@ -26,15 +26,17 @@ class featured_video_plus {
26
  if( $options['local']['videojs']['js'] )
27
  if( $options['local']['videojs']['cdn'] )
28
  wp_enqueue_script( 'videojs', 'http://vjs.zencdn.net/c/video.js', array(), FVP_VERSION, false );
29
- else wp_enqueue_script( 'videojs', FVP_URL . 'js/videojs-min.js', array(), FVP_VERSION, false );
30
  if( $options['local']['videojs']['css'] )
31
  if( $options['local']['videojs']['cdn'] )
32
  wp_enqueue_style( 'videojs', 'http://vjs.zencdn.net/c/video-js.css', array(), FVP_VERSION, false );
33
- else wp_enqueue_style( 'videojs', FVP_URL . 'css/videojs-min.css', array(), FVP_VERSION, false );
34
 
35
  if( $options['sizing']['wmode'] == 'auto' )
36
- wp_enqueue_script('fvp_fitvids', FVP_URL . 'js/jquery.fitvids_fvp-min.js', array( 'jquery' ), FVP_VERSION, true ); // production
37
  //wp_enqueue_script('fvp_fitvids', FVP_URL . 'js/jquery.fitvids_fvp.js', array( 'jquery' ), FVP_VERSION, true ); // development
 
 
38
  }
39
  }
40
 
@@ -64,10 +66,14 @@ class featured_video_plus {
64
  $autoplay = is_single() ? '&autoplay='.$options['autoplay'] : '';
65
 
66
  if( isset($meta['id']) && !empty($meta['id']) ) {
 
67
  switch( $meta['prov'] ) {
68
 
69
  case 'local':
70
- //$featimg = has_post_thumbnail($post_id) ? wp_get_attachment_url( get_post_thumbnail_id($post_id) ) : '';
 
 
 
71
 
72
  $a = wp_get_attachment_url($meta['id']);
73
  $ext = pathinfo( $a, PATHINFO_EXTENSION );
@@ -75,7 +81,7 @@ class featured_video_plus {
75
  break;
76
 
77
  $ext = $ext == 'ogv' ? 'ogg' : $ext;
78
- $embed = "\n\t".'<video class="video-js vjs-default-skin" controls preload="auto" width="'.$width.'" height="'.$height.'" data-setup="{}">'; // poster="'.$featimg.'" data-setup="{}"
79
  $embed .= "\n\t\t".'<source src="' . $a . '" type="video/'.$ext.'">';
80
 
81
  if( isset($meta['sec_id']) && !empty($meta['sec_id']) && $meta['sec_id'] != $meta['id'] ) {
@@ -90,32 +96,35 @@ class featured_video_plus {
90
  break;
91
 
92
  case 'vimeo':
 
 
93
  $options = get_option( 'fvp-settings' );
94
  $src = 'http://player.vimeo.com/video/'.$meta['id'].'?badge=0&amp;portrait='.$options['vimeo']['portrait'].'&amp;title='.$options['vimeo']['title'].'&amp;byline='.$options['vimeo']['byline'].'&amp;color='.$options['vimeo']['color'].$autoplay;
95
  $embed = "\n\t" . '<iframe src="'.$src.'" width="'.$width.'" height="'.$height.'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>' . "\n";
96
  break;
97
 
98
  case 'youtube':
99
- $youtube['theme'] = isset($options['youtube']['theme']) ? $options['youtube']['theme'] : 'dark';
100
- $youtube['color'] = isset($options['youtube']['color']) ? $options['youtube']['color'] : 'red';
 
101
  $youtube['info'] = isset($options['youtube']['info']) ? $options['youtube']['info'] : 1;
102
  $youtube['logo'] = isset($options['youtube']['logo']) ? $options['youtube']['logo'] : 1;
103
- $youtube['rel'] = isset($options['youtube']['rel']) ? $options['youtube']['rel'] : 1;
104
- $youtube['fs'] = isset($options['youtube']['fs']) ? $options['youtube']['fs'] : 1;
105
- $youtube['wmode'] = isset($options['youtube']['wmode']) && $options['youtube']['wmode'] != 'auto' ? '&wmode='.$options['youtube']['wmode'] : '';
106
 
107
- $src = 'http://www.youtube.com/embed/'.$meta['id'].'?theme='.$youtube['theme'].$youtube['wmode'].'&color='.$youtube['color'].'&showinfo='.$youtube['info'].'&modestbranding='.$youtube['logo'].'&origin='.esc_attr(home_url()).'&rel='.$youtube['rel'].'&fs='.$youtube['fs'].'&start='.$meta['time'].$autoplay;
108
- $embed = "\n\t" . '<iframe width="'.$width.'" height="'.$height.'" src="'.$src.'" type="text/html" frameborder="0"></iframe>' . "\n";
109
  break;
110
 
111
  case 'dailymotion':
112
- $dm['foreground'] = isset($options['dailymotion']['foreground']) ? $options['dailymotion']['foreground'] : 'F7FFFD';
113
  $dm['highlight'] = isset($options['dailymotion']['highlight']) ? $options['dailymotion']['highlight'] : 'FFC300';
114
- $dm['background'] = isset($options['dailymotion']['background']) ? $options['dailymotion']['background'] : '171D1B';
115
- $dm['logo'] = isset($options['dailymotion']['logo']) ? $options['dailymotion']['logo'] : 1;
116
- $dm['hideinfo'] = isset($options['dailymotion']['info']) ? 1-$options['dailymotion']['info'] : 0;
117
- $dm['syndication'] = isset($options['dailymotion']['syndication']) ? $options['dailymotion']['syndication'] : '';
118
- $dm['synd'] = !empty($dm['syndication']) ? '&syndication='.$dm['syndication'] : '';
119
 
120
  $dm['src'] = 'http://www.dailymotion.com/embed/video/'.$meta['id'].'?logo='.$dm['logo'].'&hideInfos='.$dm['hideinfo'].'&foreground=%23'.$dm['foreground'].'&highlight=%23'.$dm['highlight'].'&background=%23'.$dm['background'].$dm['synd'].'&start='.$meta['time'].$autoplay;
121
  $embed = "\n" . '<iframe width="'.$width.'" height="'.$height.'" src="'.$dm['src'].'" frameborder="0"></iframe>' . "\n";
@@ -215,4 +224,3 @@ class featured_video_plus {
215
  load_plugin_textdomain('featured-video-plus', FVP_DIR . 'lng/', FVP_NAME . '/lng/' );
216
  }
217
  }
218
- ?>
3
  * Class containing all functions needed on front- AND backend. Functions only needed on one of those are found in distinct classes.
4
  *
5
  * @author ahoereth
6
+ * @version 2013/04/16
7
  * @see ../featured_video_plus.php
8
  * @see featured_video_plus_backend in backend.php
9
  * @see featured_video_plus_frontend in frontend.php
18
  * @since 1.2
19
  */
20
  public function enqueue($hook_suffix) {
21
+ // just required on frontend, post.php and post-new.php
22
  if( !is_admin() || ( ($hook_suffix == 'post.php' && isset($_GET['post'])) || $hook_suffix == 'post-new.php') ) {
23
  $options = get_option( 'fvp-settings' );
24
 
26
  if( $options['local']['videojs']['js'] )
27
  if( $options['local']['videojs']['cdn'] )
28
  wp_enqueue_script( 'videojs', 'http://vjs.zencdn.net/c/video.js', array(), FVP_VERSION, false );
29
+ else wp_enqueue_script( 'videojs', FVP_URL . 'js/videojs.min.js', array(), FVP_VERSION, false );
30
  if( $options['local']['videojs']['css'] )
31
  if( $options['local']['videojs']['cdn'] )
32
  wp_enqueue_style( 'videojs', 'http://vjs.zencdn.net/c/video-js.css', array(), FVP_VERSION, false );
33
+ else wp_enqueue_style( 'videojs', FVP_URL . 'css/videojs.min.css', array(), FVP_VERSION, false );
34
 
35
  if( $options['sizing']['wmode'] == 'auto' )
36
+ wp_enqueue_script('fvp_fitvids', FVP_URL . 'js/jquery.fitvids_fvp.min.js', array( 'jquery' ), FVP_VERSION, true ); // production
37
  //wp_enqueue_script('fvp_fitvids', FVP_URL . 'js/jquery.fitvids_fvp.js', array( 'jquery' ), FVP_VERSION, true ); // development
38
+
39
+ wp_enqueue_style('fvp_frontend', FVP_URL . 'css/frontend.css', array(), FVP_VERSION, false );
40
  }
41
  }
42
 
66
  $autoplay = is_single() ? '&autoplay='.$options['autoplay'] : '';
67
 
68
  if( isset($meta['id']) && !empty($meta['id']) ) {
69
+ $valid = $meta['valid'];
70
  switch( $meta['prov'] ) {
71
 
72
  case 'local':
73
+ if (isset($options['local']['videojs']['poster']) && $options['local']['videojs']['poster'])
74
+ $poster = has_post_thumbnail($post_id) ? ' poster="'.wp_get_attachment_url( get_post_thumbnail_id($post_id) ).'"' : '';
75
+ else
76
+ $poster = ' poster=""';
77
 
78
  $a = wp_get_attachment_url($meta['id']);
79
  $ext = pathinfo( $a, PATHINFO_EXTENSION );
81
  break;
82
 
83
  $ext = $ext == 'ogv' ? 'ogg' : $ext;
84
+ $embed = "\n\t".'<video class="video-js vjs-default-skin" controls preload="auto" width="'.$width.'" height="'.$height.'"'.$poster.' data-setup="{}">';
85
  $embed .= "\n\t\t".'<source src="' . $a . '" type="video/'.$ext.'">';
86
 
87
  if( isset($meta['sec_id']) && !empty($meta['sec_id']) && $meta['sec_id'] != $meta['id'] ) {
96
  break;
97
 
98
  case 'vimeo':
99
+ if (!$valid) return '';
100
+
101
  $options = get_option( 'fvp-settings' );
102
  $src = 'http://player.vimeo.com/video/'.$meta['id'].'?badge=0&amp;portrait='.$options['vimeo']['portrait'].'&amp;title='.$options['vimeo']['title'].'&amp;byline='.$options['vimeo']['byline'].'&amp;color='.$options['vimeo']['color'].$autoplay;
103
  $embed = "\n\t" . '<iframe src="'.$src.'" width="'.$width.'" height="'.$height.'" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>' . "\n";
104
  break;
105
 
106
  case 'youtube':
107
+ $youtube['theme'] = isset($options['youtube']['theme']) ? $options['youtube']['theme'] : 'dark';
108
+ $youtube['color'] = isset($options['youtube']['color']) ? $options['youtube']['color'] : 'red';
109
+ $youtube['jsapi'] = isset($options['youtube']['jsapi']) ? $options['youtube']['jsapi'] : '0&playerapiid=fvpyt'.$post_id;
110
  $youtube['info'] = isset($options['youtube']['info']) ? $options['youtube']['info'] : 1;
111
  $youtube['logo'] = isset($options['youtube']['logo']) ? $options['youtube']['logo'] : 1;
112
+ $youtube['rel'] = isset($options['youtube']['rel']) ? $options['youtube']['rel'] : 1;
113
+ $youtube['fs'] = isset($options['youtube']['fs']) ? $options['youtube']['fs'] : 1;
114
+ $youtube['wmode'] = isset($options['youtube']['wmode']) && $options['youtube']['wmode'] != 'auto' ? '&wmode='.$options['youtube']['wmode'] : '';
115
 
116
+ $src = 'http://www.youtube.com/embed/'.$meta['id'].'?theme='.$youtube['theme'].$youtube['wmode'].'&color='.$youtube['color'].'&showinfo='.$youtube['info'].'&modestbranding='.$youtube['logo'].'&enablejsapi='.$youtube['jsapi'].'&origin='.esc_attr(home_url()).'&rel='.$youtube['rel'].'&fs='.$youtube['fs'].'&start='.$meta['time'].$autoplay;
117
+ $embed = "\n\t" . '<iframe width="'.$width.'" height="'.$height.'" src="'.$src.'" type="text/html" frameborder="0" id="fvpyt'.$post_id.'"></iframe>' . "\n";
118
  break;
119
 
120
  case 'dailymotion':
121
+ $dm['foreground'] = isset($options['dailymotion']['foreground']) ? $options['dailymotion']['foreground'] : 'F7FFFD';
122
  $dm['highlight'] = isset($options['dailymotion']['highlight']) ? $options['dailymotion']['highlight'] : 'FFC300';
123
+ $dm['background'] = isset($options['dailymotion']['background']) ? $options['dailymotion']['background'] : '171D1B';
124
+ $dm['logo'] = isset($options['dailymotion']['logo']) ? $options['dailymotion']['logo'] : 1;
125
+ $dm['hideinfo'] = isset($options['dailymotion']['info']) ? 1-$options['dailymotion']['info'] : 0;
126
+ $dm['syndication']= isset($options['dailymotion']['syndication']) ? $options['dailymotion']['syndication']: '';
127
+ $dm['synd'] = !empty($dm['syndication']) ? '&syndication='.$dm['syndication'] : '';
128
 
129
  $dm['src'] = 'http://www.dailymotion.com/embed/video/'.$meta['id'].'?logo='.$dm['logo'].'&hideInfos='.$dm['hideinfo'].'&foreground=%23'.$dm['foreground'].'&highlight=%23'.$dm['highlight'].'&background=%23'.$dm['background'].$dm['synd'].'&start='.$meta['time'].$autoplay;
130
  $embed = "\n" . '<iframe width="'.$width.'" height="'.$height.'" src="'.$dm['src'].'" frameborder="0"></iframe>' . "\n";
224
  load_plugin_textdomain('featured-video-plus', FVP_DIR . 'lng/', FVP_NAME . '/lng/' );
225
  }
226
  }
 
php/settings.php CHANGED
@@ -3,7 +3,7 @@
3
  * Class containing everything regarding plugin settings on media-settings.php
4
  *
5
  * @author ahoereth
6
- * @version 2013/02/12
7
  * @see ../featured_video_plus.php
8
  * @since 1.3
9
  */
@@ -18,17 +18,17 @@ class featured_video_plus_settings {
18
  * @since 1.0
19
  */
20
  function settings_init() {
21
- add_settings_section('fvp-settings-section', __('Featured Videos', 'featured-video-plus'), array( &$this, 'settings_content' ), 'media');
22
-
23
- add_settings_field('fvp-settings-overwrite', __('Replace Featured Images', 'featured-video-plus'), array( &$this, 'settings_overwrite' ), 'media', 'fvp-settings-section');
24
- add_settings_field('fvp-settings-autoplay', __('Autoplay', 'featured-video-plus'), array( &$this, 'settings_autoplay' ), 'media', 'fvp-settings-section');
25
- add_settings_field('fvp-settings-sizing', __('Video Sizing', 'featured-video-plus'), array( &$this, 'settings_sizing' ), 'media', 'fvp-settings-section');
26
- add_settings_field('fvp-settings-align', __('Video Align', 'featured-video-plus'), array( &$this, 'settings_align' ), 'media', 'fvp-settings-section');
27
- add_settings_field('fvp-settings-local', __('Local Video Options', 'featured-video-plus'), array( &$this, 'settings_local' ), 'media', 'fvp-settings-section');
28
- add_settings_field('fvp-settings-youtube', __('YouTube Options', 'featured-video-plus'), array( &$this, 'settings_youtube' ), 'media', 'fvp-settings-section');
29
- add_settings_field('fvp-settings-vimeo', __('Vimeo Options', 'featured-video-plus'), array( &$this, 'settings_vimeo' ), 'media', 'fvp-settings-section');
30
- add_settings_field('fvp-settings-dailymotion', __('Dailymotion Options', 'featured-video-plus'), array( &$this, 'settings_dailymotion' ),'media', 'fvp-settings-section');
31
- add_settings_field('fvp-settings-rate', __('Support', 'featured-video-plus'), array( &$this, 'settings_rate' ), 'media', 'fvp-settings-section');
32
 
33
  register_setting('media', 'fvp-settings', array( &$this, 'settings_save' ));
34
  }
@@ -153,16 +153,18 @@ if( !current_theme_supports('post-thumbnails') )
153
  */
154
  function settings_local() {
155
  $options = get_option( 'fvp-settings' );
156
- $videojs['js'] = isset($options['local']['videojs']['js']) ? $options['local']['videojs']['js'] : true;
157
- $videojs['css'] = isset($options['local']['videojs']['css']) ? $options['local']['videojs']['css'] : true;
158
- $videojs['cdn'] = isset($options['local']['videojs']['cdn']) ? $options['local']['videojs']['cdn'] : false; ?>
 
159
 
160
  VideoJS:&nbsp;
161
  <input type="checkbox" name="fvp-settings[local][videojs][cdn]" id="fvp-settings-local-videojs-cdn" value="true" <?php checked( true, $videojs['cdn'], 1 ) ?>/><label for="fvp-settings-local-videojs-cdn">&nbsp;<?php _e('Use CDN', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
162
  <input type="checkbox" name="fvp-settings[local][videojs][js]" id="fvp-settings-local-videojs-js" value="true" <?php checked( true, $videojs['js'], 1 ) ?>/><label for="fvp-settings-local-videojs-js">&nbsp;<?php _e('Include JS', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
163
- <input type="checkbox" name="fvp-settings[local][videojs][css]" id="fvp-settings-local-videojs-css" value="true" <?php checked( true, $videojs['css'], 1 ) ?>/><label for="fvp-settings-local-videojs-css">&nbsp;<?php _e('Include CSS', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
164
-
165
  <p class="description"><?php _e('Disabling JS and/or CSS will break the local video player. Disable only when you want to replace VideoJS with a different script and know what you are doing.', 'featured-video-plus'); ?></p>
 
 
166
  <?php }
167
 
168
  /**
@@ -176,27 +178,30 @@ VideoJS:&nbsp;
176
  $youtube['theme'] = isset($options['youtube']['theme']) ? $options['youtube']['theme'] : 'dark';
177
  $youtube['color'] = isset($options['youtube']['color']) ? $options['youtube']['color'] : 'red';
178
  $youtube['wmode'] = isset($options['youtube']['wmode']) ? $options['youtube']['wmode'] : 'auto';
 
179
  $youtube['info'] = isset($options['youtube']['info']) ? $options['youtube']['info'] : 1;
180
  $youtube['logo'] = isset($options['youtube']['logo']) ? $options['youtube']['logo'] : 1;
181
  $youtube['rel'] = isset($options['youtube']['rel']) ? $options['youtube']['rel'] : 1;
182
  $youtube['fs'] = isset($options['youtube']['fs']) ? $options['youtube']['fs'] : 1; ?>
183
 
184
- <input type="checkbox" name="fvp-settings[youtube][theme]" id="fvp-settings-youtube-theme" value="light" <?php checked( 'light', $youtube['theme'], 1 ) ?>/><label for="fvp-settings-youtube-theme">&nbsp;<?php _e('Light Theme', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
185
- <input type="checkbox" name="fvp-settings[youtube][fs]" id="fvp-settings-youtube-fs" value="true" <?php checked( 1, $youtube['fs'], 1 ) ?>/><label for="fvp-settings-youtube-fs">&nbsp;<?php _e('Fullscreen Button', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
186
  <select name="fvp-settings[youtube][wmode]" id="fvp-settings-youtube-wmode" size="1">
187
- <option<?php selected($youtube['wmode'],'auto'); ?>>auto</option>
188
  <option<?php selected($youtube['wmode'],'transparent'); ?>>transparent</option>
189
- <option<?php selected($youtube['wmode'],'opaque'); ?>>opaque</option>
190
  </select>
191
  <label for="fvp-settings-youtube-wmode">&quot;wmode&quot;</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
192
  <br />
193
- <input type="checkbox" name="fvp-settings[youtube][info]" id="fvp-settings-youtube-info" value="true" <?php checked( 1, $youtube['info'], 1 ) ?>/><label for="fvp-settings-youtube-info">&nbsp;<?php _e('Info', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
194
 
195
- <input type="checkbox" name="fvp-settings[youtube][rel]" id="fvp-settings-youtube-rel" value="true" <?php checked( 1, $youtube['rel'], 1 ) ?>/><label for="fvp-settings-youtube-rel">&nbsp;<?php _e('Related Videos', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
196
- <input type="checkbox" name="fvp-settings[youtube][color]" id="fvp-settings-youtube-color" value="white" <?php checked( 'white', $youtube['color'], 1 ) ?>/><label for="fvp-settings-youtube-color">&nbsp;<?php _e('White Progressbar', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
 
197
  <span id="youtube_logoinput_wrapper"<?php if($youtube['color'] != 'red') echo ' class="fvp_hidden"'; ?>>
198
- <input type="checkbox" name="fvp-settings[youtube][logo]" id="fvp-settings-youtube-logo" value="true" <?php checked( 1, $youtube['logo'], 1 ) ?>/><label for="fvp-settings-youtube-logo">&nbsp;<?php _e('Logo', 'featured-video-plus'); ?></label>
199
  </span>
 
200
  <?php
201
  }
202
 
@@ -210,14 +215,14 @@ VideoJS:&nbsp;
210
  */
211
  function settings_vimeo() {
212
  $options = get_option( 'fvp-settings' );
213
- $vimeo['portrait'] = isset($options['vimeo']['portrait']) ? $options['vimeo']['portrait'] : 0;
214
  $vimeo['title' ] = isset($options['vimeo']['title' ]) ? $options['vimeo']['title' ] : 1;
215
  $vimeo['byline'] = isset($options['vimeo']['byline']) ? $options['vimeo']['byline'] : 1;
216
  $vimeo['color' ] = isset($options['vimeo']['color' ]) ? $options['vimeo']['color' ] : '00adef'; ?>
217
 
218
  <div style="position: relative; bottom: .6em;">
219
  <input type="checkbox" name="fvp-settings[vimeo][portrait]" id="fvp-settings-vimeo-1" value="display" <?php checked( 1, $vimeo['portrait'], 1 ) ?>/><label for="fvp-settings-vimeo-1">&nbsp;<?php _e('Portrait', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
220
- <input type="checkbox" name="fvp-settings[vimeo][title]" id="fvp-settings-vimeo-2" value="display" <?php checked( 1, $vimeo['title'], 1 ) ?>/><label for="fvp-settings-vimeo-2">&nbsp;<?php _e('Title', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
221
  <input type="checkbox" name="fvp-settings[vimeo][byline]" id="fvp-settings-vimeo-3" value="display" <?php checked( 1, $vimeo['byline'], 1 ) ?>/><label for="fvp-settings-vimeo-3">&nbsp;<?php _e('Byline', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
222
  <span class="color-picker" style="position: relative;<?php if( wp_style_is( 'wp-color-picker', 'done' ) ) echo ' top: .6em;'; ?>" >
223
  <input type="text" name="fvp-settings[vimeo][color]" id="fvp-settings-vimeo-color" class="fvp_colorpicker_input" value="#<?php echo $vimeo['color'] ?>" data-default-color="#00adef" />
@@ -240,12 +245,12 @@ VideoJS:&nbsp;
240
  */
241
  function settings_dailymotion() {
242
  $options = get_option( 'fvp-settings' );
243
- $dailymotion['logo'] = isset($options['dailymotion']['logo']) ? $options['dailymotion']['logo'] : 1;
244
- $dailymotion['info'] = isset($options['dailymotion']['info']) ? $options['dailymotion']['info'] : 1;
245
- $dailymotion['synd'] = isset($options['dailymotion']['synd']) ? $options['dailymotion']['syndication']: '';
246
- $dailymotion['foreground'] = isset($options['dailymotion']['foreground']) ? $options['dailymotion']['foreground'] : 'f7fffd';
247
- $dailymotion['highlight' ] = isset($options['dailymotion']['highlight' ]) ? $options['dailymotion']['highlight' ] : 'ffc300';
248
- $dailymotion['background'] = isset($options['dailymotion']['background']) ? $options['dailymotion']['background'] : '171d1b'; ?>
249
 
250
  <input type="checkbox" name="fvp-settings[dailymotion][logo]" id="fvp-settings-dailymotion-logo" value="display" <?php checked( 1, $dailymotion['logo'], 1 ) ?>/> <label for="fvp-settings-dailymotion-logo">&nbsp;<?php _e('Logo', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
251
  <input type="checkbox" name="fvp-settings[dailymotion][info]" id="fvp-settings-dailymotion-info" value="display" <?php checked( 1, $dailymotion['info'], 1 ) ?>/> <label for="fvp-settings-dailymotion-info">&nbsp;<?php _e('Videoinfo', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@@ -285,12 +290,6 @@ VideoJS:&nbsp;
285
  '<a href="http://wordpress.org/support/view/plugin-reviews/featured-video-plus#plugin-title" title="Rate Featured Video Plus on WordPress.org" target="_blank" style="font-weight: bold;">', '</a>'
286
  );
287
  echo '</p>';
288
- echo '<p>';
289
- _e('The plugin logs it\'s version, the WordPress version and WordPress language for internal statistics. Those help for future plugin development.', 'featured-video-plus');
290
- echo '<br />';
291
- _e('No personal user information is being collected. Still, you can easily Opt-Out and have the data deleted:', 'featured-video-plus');
292
- echo '&nbsp;<input type="checkbox" name="fvp-settings[out]" id="fvp-settings-out" value="true"'.checked( 1, $optout, false ).' />';
293
-
294
  }
295
 
296
  /**
@@ -325,21 +324,23 @@ VideoJS:&nbsp;
325
  $options['autoplay'] = isset($input['autoplay']) && $input['autoplay'] == 'true' ? 1 : 0;
326
 
327
  // Local
328
- $options['local']['videojs']['js'] = isset( $input['local']['videojs']['js'] ) ? true : false;
329
- $options['local']['videojs']['css'] = isset( $input['local']['videojs']['css'] ) ? true : false;
330
- $options['local']['videojs']['cdn'] = isset( $input['local']['videojs']['cdn'] ) ? true : false;
 
331
 
332
  // YouTube
333
- $options['youtube']['theme'] = isset($input['youtube']['theme']) && ( $input['youtube']['theme'] == 'light' ) ? 'light' : 'dark';
334
- $options['youtube']['color'] = isset($input['youtube']['color']) && ( $input['youtube']['color'] == 'white' ) ? 'white' : 'red';
335
- $options['youtube']['wmode'] = isset($input['youtube']['wmode']) ? $input['youtube']['wmode'] : 'auto';
336
- $options['youtube']['info'] = isset($input['youtube']['info']) && ( $input['youtube']['info'] == 'true' ) ? 1 : 0;
337
- $options['youtube']['logo'] = isset($input['youtube']['logo']) && ( $input['youtube']['logo'] == 'true' ) ? 1 : 0;
338
- $options['youtube']['rel'] = isset($input['youtube']['rel']) && ( $input['youtube']['rel'] == 'true' ) ? 1 : 0;
339
- $options['youtube']['fs'] = isset($input['youtube']['fs']) && ( $input['youtube']['fs'] == 'true' ) ? 1 : 0;
 
340
 
341
  // Vimeo
342
- $options['vimeo']['portrait'] = isset($input['vimeo']['portrait'])&& ( $input['vimeo']['portrait'] == 'display' ) ? 1 : 0;
343
  $options['vimeo']['title'] = isset($input['vimeo']['title']) && ( $input['vimeo']['title'] == 'display' ) ? 1 : 0;
344
  $options['vimeo']['byline'] = isset($input['vimeo']['byline']) && ( $input['vimeo']['byline'] == 'display' ) ? 1 : 0;
345
 
@@ -347,22 +348,16 @@ VideoJS:&nbsp;
347
  $options['vimeo']['color'] = isset($vimeocolor[1]) && !empty($vimeocolor[1]) ? $vimeocolor[1] : '00adef';
348
 
349
  // Dailymotion
350
- $options['dailymotion']['logo'] = isset($input['dailymotion']['logo']) && ( $input['dailymotion']['logo'] == 'display' ) ? 1 : 0;
351
- $options['dailymotion']['info'] = isset($input['dailymotion']['info']) && ( $input['dailymotion']['info'] == 'display' ) ? 1 : 0;
352
- $options['dailymotion']['syndication'] = isset($input['dailymotion']['synd']) && !empty($input['dailymotion']['synd']) ? $input['dailymotion']['synd'] : '';
353
 
354
  if( isset($options['dailymotion']['foreground']) ) preg_match($hexcolor, $input['dailymotion']['foreground'], $dm_foreground);
355
  if( isset($options['dailymotion']['highlight']) ) preg_match($hexcolor, $input['dailymotion']['highlight'], $dm_highlight);
356
  if( isset($options['dailymotion']['background']) ) preg_match($hexcolor, $input['dailymotion']['background'], $dm_background);
357
- $options['dailymotion']['foreground'] = isset($dm_foreground[1]) && !empty($dm_foreground[1])? $dm_foreground[1] : 'f7fffd';
358
  $options['dailymotion']['highlight'] = isset($dm_highlight[ 1]) && !empty($dm_highlight[ 1])? $dm_highlight[ 1] : 'ffc300';
359
- $options['dailymotion']['background'] = isset($dm_background[1]) && !empty($dm_background[1])? $dm_background[1] : '171d1b';
360
-
361
- // Opt-Out
362
- if( isset($input['out']) && $input['out'] == 'true' && !$options['out'] )
363
- $options = $GLOBALS['featured_video_plus_backend']->featured_video_plus_notify($options, 1 );
364
- elseif( !isset($input['out']) && isset($options['out']) && $options['out'] )
365
- $options = $GLOBALS['featured_video_plus_backend']->featured_video_plus_notify($options, 0 );
366
 
367
  return $options;
368
  }
@@ -394,6 +389,7 @@ VideoJS:&nbsp;
394
  <li><code>the_post_video( $size )</code></li>
395
  <li><code>has_post_video( $post_id )</code></li>
396
  <li><code>get_the_post_video( $post_id, $size )</code></li>
 
397
  <li><code>get_the_post_video_image_url( $post_id )</code></li>
398
  <li><code>get_the_post_video_image( $post_id )</code></li>
399
  </ul>
@@ -423,14 +419,14 @@ VideoJS:&nbsp;
423
 
424
  // PHP FUNCTIONS HELP TAB
425
  $screen->add_help_tab( array(
426
- 'id' => 'fvp_help_functions',
427
  'title' => 'Featured Video Plus: '.__('PHP-Functions','featured-video-plus'),
428
  'content' => $this->help_functions
429
  ));
430
 
431
  // SHORTCODE HELP TAB
432
  $screen->add_help_tab( array(
433
- 'id' => 'fvp_help_shortcode',
434
  'title' => 'Featured Video Plus: Shortcode',
435
  'content' => $this->help_shortcode
436
  ));
@@ -456,4 +452,3 @@ VideoJS:&nbsp;
456
  }
457
 
458
  }
459
- ?>
3
  * Class containing everything regarding plugin settings on media-settings.php
4
  *
5
  * @author ahoereth
6
+ * @version 2013/04/16
7
  * @see ../featured_video_plus.php
8
  * @since 1.3
9
  */
18
  * @since 1.0
19
  */
20
  function settings_init() {
21
+ add_settings_section('fvp-settings-section', __('Featured Videos', 'featured-video-plus'), array( &$this, 'settings_content' ), 'media');
22
+
23
+ add_settings_field('fvp-settings-overwrite', __('Replace Featured Images', 'featured-video-plus'),array( &$this, 'settings_overwrite' ), 'media', 'fvp-settings-section');
24
+ add_settings_field('fvp-settings-autoplay', __('Autoplay', 'featured-video-plus'), array( &$this, 'settings_autoplay' ), 'media', 'fvp-settings-section');
25
+ add_settings_field('fvp-settings-sizing', __('Video Sizing', 'featured-video-plus'), array( &$this, 'settings_sizing' ), 'media', 'fvp-settings-section');
26
+ add_settings_field('fvp-settings-align', __('Video Align', 'featured-video-plus'), array( &$this, 'settings_align' ), 'media', 'fvp-settings-section');
27
+ add_settings_field('fvp-settings-local', __('Local Video Options', 'featured-video-plus'), array( &$this, 'settings_local' ), 'media', 'fvp-settings-section');
28
+ add_settings_field('fvp-settings-youtube', __('YouTube Options', 'featured-video-plus'), array( &$this, 'settings_youtube' ), 'media', 'fvp-settings-section');
29
+ add_settings_field('fvp-settings-vimeo', __('Vimeo Options', 'featured-video-plus'), array( &$this, 'settings_vimeo' ), 'media', 'fvp-settings-section');
30
+ add_settings_field('fvp-settings-dailymotion',__('Dailymotion Options', 'featured-video-plus'), array( &$this, 'settings_dailymotion' ),'media', 'fvp-settings-section');
31
+ add_settings_field('fvp-settings-rate', __('Support', 'featured-video-plus'), array( &$this, 'settings_rate' ), 'media', 'fvp-settings-section');
32
 
33
  register_setting('media', 'fvp-settings', array( &$this, 'settings_save' ));
34
  }
153
  */
154
  function settings_local() {
155
  $options = get_option( 'fvp-settings' );
156
+ $videojs['js'] = isset($options['local']['videojs']['js']) ? $options['local']['videojs']['js'] : true;
157
+ $videojs['css'] = isset($options['local']['videojs']['css']) ? $options['local']['videojs']['css'] : true;
158
+ $videojs['cdn'] = isset($options['local']['videojs']['cdn']) ? $options['local']['videojs']['cdn'] : false;
159
+ $videojs['poster']= isset($options['local']['videojs']['poster'])? $options['local']['videojs']['poster'] : false; ?>
160
 
161
  VideoJS:&nbsp;
162
  <input type="checkbox" name="fvp-settings[local][videojs][cdn]" id="fvp-settings-local-videojs-cdn" value="true" <?php checked( true, $videojs['cdn'], 1 ) ?>/><label for="fvp-settings-local-videojs-cdn">&nbsp;<?php _e('Use CDN', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
163
  <input type="checkbox" name="fvp-settings[local][videojs][js]" id="fvp-settings-local-videojs-js" value="true" <?php checked( true, $videojs['js'], 1 ) ?>/><label for="fvp-settings-local-videojs-js">&nbsp;<?php _e('Include JS', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
164
+ <input type="checkbox" name="fvp-settings[local][videojs][css]" id="fvp-settings-local-videojs-css" value="true" <?php checked( true, $videojs['css'], 1 ) ?>/><label for="fvp-settings-local-videojs-css">&nbsp;<?php _e('Include CSS', 'featured-video-plus'); ?></label><br />
 
165
  <p class="description"><?php _e('Disabling JS and/or CSS will break the local video player. Disable only when you want to replace VideoJS with a different script and know what you are doing.', 'featured-video-plus'); ?></p>
166
+ <input type="checkbox" name="fvp-settings[local][videojs][poster]" id="fvp-settings-local-videojs-poster" value="true" <?php checked( true, $videojs['poster'], 1 ) ?>/><label for="fvp-settings-local-videojs-poster">&nbsp;<?php _e('Use featured image as video thumbnail', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
167
+
168
  <?php }
169
 
170
  /**
178
  $youtube['theme'] = isset($options['youtube']['theme']) ? $options['youtube']['theme'] : 'dark';
179
  $youtube['color'] = isset($options['youtube']['color']) ? $options['youtube']['color'] : 'red';
180
  $youtube['wmode'] = isset($options['youtube']['wmode']) ? $options['youtube']['wmode'] : 'auto';
181
+ $youtube['jsapi'] = isset($options['youtube']['jsapi']) ? $options['youtube']['jsapi'] : 0;
182
  $youtube['info'] = isset($options['youtube']['info']) ? $options['youtube']['info'] : 1;
183
  $youtube['logo'] = isset($options['youtube']['logo']) ? $options['youtube']['logo'] : 1;
184
  $youtube['rel'] = isset($options['youtube']['rel']) ? $options['youtube']['rel'] : 1;
185
  $youtube['fs'] = isset($options['youtube']['fs']) ? $options['youtube']['fs'] : 1; ?>
186
 
187
+ <input type="checkbox" name="fvp-settings[youtube][theme]" id="fvp-settings-youtube-theme" value="light" <?php checked( 'light', $youtube['theme'],1 ) ?>/><label for="fvp-settings-youtube-theme">&nbsp;<?php _e('Light Theme', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
188
+ <input type="checkbox" name="fvp-settings[youtube][fs]" id="fvp-settings-youtube-fs" value="true" <?php checked( 1, $youtube['fs'], 1 ) ?>/><label for="fvp-settings-youtube-fs">&nbsp;<?php _e('Fullscreen Button', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
189
  <select name="fvp-settings[youtube][wmode]" id="fvp-settings-youtube-wmode" size="1">
190
+ <option<?php selected($youtube['wmode'],'auto'); ?>>auto</option>
191
  <option<?php selected($youtube['wmode'],'transparent'); ?>>transparent</option>
192
+ <option<?php selected($youtube['wmode'],'opaque'); ?>>opaque</option>
193
  </select>
194
  <label for="fvp-settings-youtube-wmode">&quot;wmode&quot;</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
195
  <br />
196
+ <input type="checkbox" name="fvp-settings[youtube][info]" id="fvp-settings-youtube-info" value="true" <?php checked( 1, $youtube['info'], 1 ) ?>/><label for="fvp-settings-youtube-info">&nbsp;<?php _e('Info', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
197
 
198
+ <input type="checkbox" name="fvp-settings[youtube][rel]" id="fvp-settings-youtube-rel" value="true" <?php checked( 1, $youtube['rel'], 1 ) ?>/><label for="fvp-settings-youtube-rel">&nbsp;<?php _e('Related Videos', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
199
+ <input type="checkbox" name="fvp-settings[youtube][jsapi]" id="fvp-settings-youtube-jsapi" value="true" <?php checked( 1, $youtube['jsapi'],1 ) ?>/><label for="fvp-settings-youtube-jsapi">&nbsp;<?php _e('Javascript API', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
200
+ <input type="checkbox" name="fvp-settings[youtube][color]" id="fvp-settings-youtube-color" value="white" <?php checked( 'white',$youtube['color'],1 ) ?>/><label for="fvp-settings-youtube-color">&nbsp;<?php _e('White Progressbar','featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
201
  <span id="youtube_logoinput_wrapper"<?php if($youtube['color'] != 'red') echo ' class="fvp_hidden"'; ?>>
202
+ <input type="checkbox" name="fvp-settings[youtube][logo]" id="fvp-settings-youtube-logo" value="true" <?php checked( 1, $youtube['logo'], 1 ) ?>/><label for="fvp-settings-youtube-logo">&nbsp;<?php _e('Logo', 'featured-video-plus'); ?></label>
203
  </span>
204
+
205
  <?php
206
  }
207
 
215
  */
216
  function settings_vimeo() {
217
  $options = get_option( 'fvp-settings' );
218
+ $vimeo['portrait']= isset($options['vimeo']['portrait'])? $options['vimeo']['portrait'] : 0;
219
  $vimeo['title' ] = isset($options['vimeo']['title' ]) ? $options['vimeo']['title' ] : 1;
220
  $vimeo['byline'] = isset($options['vimeo']['byline']) ? $options['vimeo']['byline'] : 1;
221
  $vimeo['color' ] = isset($options['vimeo']['color' ]) ? $options['vimeo']['color' ] : '00adef'; ?>
222
 
223
  <div style="position: relative; bottom: .6em;">
224
  <input type="checkbox" name="fvp-settings[vimeo][portrait]" id="fvp-settings-vimeo-1" value="display" <?php checked( 1, $vimeo['portrait'], 1 ) ?>/><label for="fvp-settings-vimeo-1">&nbsp;<?php _e('Portrait', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
225
+ <input type="checkbox" name="fvp-settings[vimeo][title]" id="fvp-settings-vimeo-2" value="display" <?php checked( 1, $vimeo['title'], 1 ) ?>/><label for="fvp-settings-vimeo-2">&nbsp;<?php _e('Title', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
226
  <input type="checkbox" name="fvp-settings[vimeo][byline]" id="fvp-settings-vimeo-3" value="display" <?php checked( 1, $vimeo['byline'], 1 ) ?>/><label for="fvp-settings-vimeo-3">&nbsp;<?php _e('Byline', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
227
  <span class="color-picker" style="position: relative;<?php if( wp_style_is( 'wp-color-picker', 'done' ) ) echo ' top: .6em;'; ?>" >
228
  <input type="text" name="fvp-settings[vimeo][color]" id="fvp-settings-vimeo-color" class="fvp_colorpicker_input" value="#<?php echo $vimeo['color'] ?>" data-default-color="#00adef" />
245
  */
246
  function settings_dailymotion() {
247
  $options = get_option( 'fvp-settings' );
248
+ $dailymotion['logo'] = isset($options['dailymotion']['logo']) ? $options['dailymotion']['logo'] : 1;
249
+ $dailymotion['info'] = isset($options['dailymotion']['info']) ? $options['dailymotion']['info'] : 1;
250
+ $dailymotion['synd'] = isset($options['dailymotion']['synd']) ? $options['dailymotion']['syndication']: '';
251
+ $dailymotion['foreground']= isset($options['dailymotion']['foreground'])? $options['dailymotion']['foreground'] : 'f7fffd';
252
+ $dailymotion['highlight' ]= isset($options['dailymotion']['highlight' ])? $options['dailymotion']['highlight' ] : 'ffc300';
253
+ $dailymotion['background']= isset($options['dailymotion']['background'])? $options['dailymotion']['background'] : '171d1b'; ?>
254
 
255
  <input type="checkbox" name="fvp-settings[dailymotion][logo]" id="fvp-settings-dailymotion-logo" value="display" <?php checked( 1, $dailymotion['logo'], 1 ) ?>/> <label for="fvp-settings-dailymotion-logo">&nbsp;<?php _e('Logo', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
256
  <input type="checkbox" name="fvp-settings[dailymotion][info]" id="fvp-settings-dailymotion-info" value="display" <?php checked( 1, $dailymotion['info'], 1 ) ?>/> <label for="fvp-settings-dailymotion-info">&nbsp;<?php _e('Videoinfo', 'featured-video-plus'); ?></label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
290
  '<a href="http://wordpress.org/support/view/plugin-reviews/featured-video-plus#plugin-title" title="Rate Featured Video Plus on WordPress.org" target="_blank" style="font-weight: bold;">', '</a>'
291
  );
292
  echo '</p>';
 
 
 
 
 
 
293
  }
294
 
295
  /**
324
  $options['autoplay'] = isset($input['autoplay']) && $input['autoplay'] == 'true' ? 1 : 0;
325
 
326
  // Local
327
+ $options['local']['videojs']['js'] = isset( $input['local']['videojs']['js'] ) ? true : false;
328
+ $options['local']['videojs']['css'] = isset( $input['local']['videojs']['css'] ) ? true : false;
329
+ $options['local']['videojs']['cdn'] = isset( $input['local']['videojs']['cdn'] ) ? true : false;
330
+ $options['local']['videojs']['poster']= isset( $input['local']['videojs']['poster'] ) ? true : false;
331
 
332
  // YouTube
333
+ $options['youtube']['theme'] = isset($input['youtube']['theme']) && ( $input['youtube']['theme'] == 'light') ? 'light' : 'dark';
334
+ $options['youtube']['color'] = isset($input['youtube']['color']) && ( $input['youtube']['color'] == 'white') ? 'white' : 'red';
335
+ $options['youtube']['wmode'] = isset($input['youtube']['wmode']) ? $input['youtube']['wmode'] : 'auto';
336
+ $options['youtube']['jsapi'] = isset($input['youtube']['jsapi']) && ( $input['youtube']['jsapi'] == 'true' ) ? 1 : 0;
337
+ $options['youtube']['info'] = isset($input['youtube']['info']) && ( $input['youtube']['info'] == 'true' ) ? 1 : 0;
338
+ $options['youtube']['logo'] = isset($input['youtube']['logo']) && ( $input['youtube']['logo'] == 'true' ) ? 1 : 0;
339
+ $options['youtube']['rel'] = isset($input['youtube']['rel']) && ( $input['youtube']['rel'] == 'true' ) ? 1 : 0;
340
+ $options['youtube']['fs'] = isset($input['youtube']['fs']) && ( $input['youtube']['fs'] == 'true' ) ? 1 : 0;
341
 
342
  // Vimeo
343
+ $options['vimeo']['portrait'] = isset($input['vimeo']['portrait'])&& ( $input['vimeo']['portrait'] == 'display' ) ? 1 : 0;
344
  $options['vimeo']['title'] = isset($input['vimeo']['title']) && ( $input['vimeo']['title'] == 'display' ) ? 1 : 0;
345
  $options['vimeo']['byline'] = isset($input['vimeo']['byline']) && ( $input['vimeo']['byline'] == 'display' ) ? 1 : 0;
346
 
348
  $options['vimeo']['color'] = isset($vimeocolor[1]) && !empty($vimeocolor[1]) ? $vimeocolor[1] : '00adef';
349
 
350
  // Dailymotion
351
+ $options['dailymotion']['logo'] = isset($input['dailymotion']['logo']) && ( $input['dailymotion']['logo'] == 'display' ) ? 1 : 0;
352
+ $options['dailymotion']['info'] = isset($input['dailymotion']['info']) && ( $input['dailymotion']['info'] == 'display' ) ? 1 : 0;
353
+ $options['dailymotion']['syndication']= isset($input['dailymotion']['synd']) && !empty($input['dailymotion']['synd']) ? $input['dailymotion']['synd'] : '';
354
 
355
  if( isset($options['dailymotion']['foreground']) ) preg_match($hexcolor, $input['dailymotion']['foreground'], $dm_foreground);
356
  if( isset($options['dailymotion']['highlight']) ) preg_match($hexcolor, $input['dailymotion']['highlight'], $dm_highlight);
357
  if( isset($options['dailymotion']['background']) ) preg_match($hexcolor, $input['dailymotion']['background'], $dm_background);
358
+ $options['dailymotion']['foreground'] = isset($dm_foreground[1]) && !empty($dm_foreground[1])? $dm_foreground[1] : 'f7fffd';
359
  $options['dailymotion']['highlight'] = isset($dm_highlight[ 1]) && !empty($dm_highlight[ 1])? $dm_highlight[ 1] : 'ffc300';
360
+ $options['dailymotion']['background'] = isset($dm_background[1]) && !empty($dm_background[1])? $dm_background[1] : '171d1b';
 
 
 
 
 
 
361
 
362
  return $options;
363
  }
389
  <li><code>the_post_video( $size )</code></li>
390
  <li><code>has_post_video( $post_id )</code></li>
391
  <li><code>get_the_post_video( $post_id, $size )</code></li>
392
+ <li><code>get_the_post_video_url( $post_id )</code></li>
393
  <li><code>get_the_post_video_image_url( $post_id )</code></li>
394
  <li><code>get_the_post_video_image( $post_id )</code></li>
395
  </ul>
419
 
420
  // PHP FUNCTIONS HELP TAB
421
  $screen->add_help_tab( array(
422
+ 'id' => 'fvp_help_functions',
423
  'title' => 'Featured Video Plus: '.__('PHP-Functions','featured-video-plus'),
424
  'content' => $this->help_functions
425
  ));
426
 
427
  // SHORTCODE HELP TAB
428
  $screen->add_help_tab( array(
429
+ 'id' => 'fvp_help_shortcode',
430
  'title' => 'Featured Video Plus: Shortcode',
431
  'content' => $this->help_shortcode
432
  ));
452
  }
453
 
454
  }
 
php/upgrade.php CHANGED
@@ -106,13 +106,18 @@ function featured_video_plus_upgrade() {
106
  }
107
 
108
  case '1.5':
109
- default:
 
 
 
 
 
110
 
111
 
112
  // *************************************************************
113
- $options['version'] = FVP_VERSION;
114
- $options['reged' ] = false;
115
- break;
116
  }
117
 
118
  $featured_video_plus_notices = new featured_video_plus_notices();
@@ -120,8 +125,6 @@ function featured_video_plus_upgrade() {
120
  add_action('admin_notices', array( &$featured_video_plus_notices, $notice ) );
121
  }
122
 
123
- $options = $GLOBALS['featured_video_plus_backend']->featured_video_plus_notify($options, $options['out']);
124
-
125
  if( $options != $options_org )
126
  update_option( 'fvp-settings', $options );
127
 
@@ -147,6 +150,17 @@ class featured_video_plus_notices {
147
  $this->pluginpage = 'http://wordpress.org/extend/plugins/featured-video-plus#plugin-title';
148
  }
149
 
 
 
 
 
 
 
 
 
 
 
 
150
  /**
151
  * Upgrade notification 1.4 to current version
152
  *
@@ -154,7 +168,7 @@ class featured_video_plus_notices {
154
  */
155
  function upgrade_14() {
156
  echo "\n" . '<div class="updated" id="fvp_activation_notification"><p>';
157
- printf(__('Featured Video Plus was <strong>upgraded</strong>.', 'featured-video-plus').'&nbsp'.__('%s <strong>ajax</strong>ifies the Featured Video box and introduces new options (especially for the local video player).', 'featured-video-plus').'&nbsp;'.__('If you like the plugin, please %srate it%s.', 'featured-video-plus'), '<strong>Version&nbsp;'.FVP_VERSION.'</strong>', '<a href="'.$this->pluginpage.'" target="_blank">', '</a>');
158
  echo "</p></div>\n";
159
  }
160
 
106
  }
107
 
108
  case '1.5':
109
+ case '1.5.1':
110
+ $notice = isset($notice) ? $notice : 'upgrade_15';
111
+
112
+ $options['youtube']['jsapi'] = 0;
113
+ $options['local']['videojs']['poster'] = false;
114
+ unset($options['reged'], $options['out']);
115
 
116
 
117
  // *************************************************************
118
+ default:
119
+ $options['version'] = FVP_VERSION;
120
+ break;
121
  }
122
 
123
  $featured_video_plus_notices = new featured_video_plus_notices();
125
  add_action('admin_notices', array( &$featured_video_plus_notices, $notice ) );
126
  }
127
 
 
 
128
  if( $options != $options_org )
129
  update_option( 'fvp-settings', $options );
130
 
150
  $this->pluginpage = 'http://wordpress.org/extend/plugins/featured-video-plus#plugin-title';
151
  }
152
 
153
+ /**
154
+ * Upgrade notification 1.4 to current version
155
+ *
156
+ * @since 1.5
157
+ */
158
+ function upgrade_15() {
159
+ echo "\n" . '<div class="updated" id="fvp_activation_notification"><p>';
160
+ printf(__('Featured Video Plus was <strong>upgraded</strong>.', 'featured-video-plus').'&nbsp'.__('%s brings new options for YouTube and local videos, fixes a whole bunch of glitches and introduces a new PHP-function.', 'featured-video-plus').'&nbsp;'.__('If you like the plugin, please %srate it%s.', 'featured-video-plus'), '<strong>Version&nbsp;'.FVP_VERSION.'</strong>', '<a href="'.$this->pluginpage.'" target="_blank">', '</a>');
161
+ echo "</p></div>\n";
162
+ }
163
+
164
  /**
165
  * Upgrade notification 1.4 to current version
166
  *
168
  */
169
  function upgrade_14() {
170
  echo "\n" . '<div class="updated" id="fvp_activation_notification"><p>';
171
+ printf(__('Featured Video Plus was <strong>upgraded</strong>.', 'featured-video-plus').'&nbsp'.__('%s <strong>ajax</strong>ifies the Featured Video box, introduces new options for YouTube and local videos and a new PHP-function.', 'featured-video-plus').'&nbsp;'.__('If you like the plugin, please %srate it%s.', 'featured-video-plus'), '<strong>Version&nbsp;'.FVP_VERSION.'</strong>', '<a href="'.$this->pluginpage.'" target="_blank">', '</a>');
172
  echo "</p></div>\n";
173
  }
174
 
readme.txt CHANGED
@@ -1,16 +1,16 @@
1
  === Featured Video Plus ===
2
  Contributors: a.hoereth
3
  Plugin Name: Featured Video Plus
4
- Plugin URI: https://github.com/ahoereth/featured-video-plus
5
  Tags: featured, post, video, image, thumbnail, html5, flash, youtube, vimeo, dailymotion, mp4, webm, ogg, embed, ajax
6
  Author: Alexander Höreth
7
- Author URI: http://ahoereth.yrnxt.com/
8
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=a%2ehoereth%40gmail%2ecom
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
  Requires at least: 3.1
12
  Tested up to: 3.5.1
13
- Stable tag: 1.5.1
14
 
15
  Add Featured Videos to your posts and pages. Works like magic with most themes which use Featured Images. Local Media, YouTube, Vimeo, Dailymotion.
16
 
@@ -37,6 +37,7 @@ The plugin adds customization options to your Media Settings. Beside aesthetic i
37
  the_post_video( $size )
38
  has_post_video( $post_id )
39
  get_the_post_video( $post_id, $size )
 
40
  get_the_post_video_image_url( $post_id )
41
  get_the_post_video_image( $post_id )
42
 
@@ -59,6 +60,15 @@ The plugin is ready to go. Now edit your posts and add video links to the "Featu
59
 
60
  == Changelog ==
61
 
 
 
 
 
 
 
 
 
 
62
  = 1.5.1: 2013-03-27 =
63
  * Fixed Featured Video box on new-post.php
64
  * Enhanced Featured Image ajax behavior
@@ -101,6 +111,9 @@ The plugin is ready to go. Now edit your posts and add video links to the "Featu
101
 
102
  == Upgrade Notice ==
103
 
 
 
 
104
  = 1.5 =
105
  AJAX!
106
 
@@ -129,6 +142,13 @@ Feature Dailymotion Videos on your posts!
129
  = After adding the URL and saving the post I do not get any video? =
130
  Maybe the plugin does not recognize the URL. Take a look into the contextual help (button on the top right of the post edit screen). There is a list what the URLs should look like. If this does not help leave a note in the support forum.
131
 
 
 
 
 
 
 
 
132
  = How do I use my local videos? =
133
  Take a look into the contextual help (button on the top right of the post edit screen).
134
 
1
  === Featured Video Plus ===
2
  Contributors: a.hoereth
3
  Plugin Name: Featured Video Plus
4
+ Plugin URI: http://yrnxt.com/category/wordpress/featured-video-plus/
5
  Tags: featured, post, video, image, thumbnail, html5, flash, youtube, vimeo, dailymotion, mp4, webm, ogg, embed, ajax
6
  Author: Alexander Höreth
7
+ Author URI: http://yrnxt.com/
8
  Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=a%2ehoereth%40gmail%2ecom
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
  Requires at least: 3.1
12
  Tested up to: 3.5.1
13
+ Stable tag: 1.6
14
 
15
  Add Featured Videos to your posts and pages. Works like magic with most themes which use Featured Images. Local Media, YouTube, Vimeo, Dailymotion.
16
 
37
  the_post_video( $size )
38
  has_post_video( $post_id )
39
  get_the_post_video( $post_id, $size )
40
+ get_the_post_video_url( $post_id )
41
  get_the_post_video_image_url( $post_id )
42
  get_the_post_video_image( $post_id )
43
 
60
 
61
  == Changelog ==
62
 
63
+ = 1.6: 2013-04-16 =
64
+ * Added `get_the_post_video_url($post_id)` PHP-Function
65
+ * Added YouTube `enablejsapi` parameter with `playerapiid` (`fvpid + $post_id`) and iframe id ([*](http://wordpress.org/support/topic/need-filter-for-iframe-and-embed-code-manipulation)
66
+ * Added a filter for `get_the_post_video`: `get_the_post_video_filter` ([*](http://wordpress.org/support/topic/need-filter-for-iframe-and-embed-code-manipulation)
67
+ * Added option for using the featured image as video thumbnail for local videos
68
+ * Fixed local videoJS ([*](http://wordpress.org/support/topic/how-to-style-the-player-play-button-pause-button-etc))
69
+ * Fixed auto width and height for the Dailymotion and videoJS players
70
+ * Fixed YouTube videos for which the plugin cannot access the YouTube API ([*](http://wordpress.org/support/topic/link-appearing-red-in-featured-video-section))
71
+
72
  = 1.5.1: 2013-03-27 =
73
  * Fixed Featured Video box on new-post.php
74
  * Enhanced Featured Image ajax behavior
111
 
112
  == Upgrade Notice ==
113
 
114
+ = 1.6 =
115
+ Smoothness
116
+
117
  = 1.5 =
118
  AJAX!
119
 
142
  = After adding the URL and saving the post I do not get any video? =
143
  Maybe the plugin does not recognize the URL. Take a look into the contextual help (button on the top right of the post edit screen). There is a list what the URLs should look like. If this does not help leave a note in the support forum.
144
 
145
+ = The input box has a red background - but the video works just fine. Whats going on? =
146
+ With every video you insert into the meta box the plugin tries to access the API of the
147
+ according video provider to grab information about the video and pull an image. When this API
148
+ access fails the input box gets a red background. When for example the server you are using is
149
+ located in Germany it cannot access the YouTube API for videos blocked in this country - still
150
+ you and your visitors might be able to watch the videos as normal. The plugin cannot test for this.
151
+
152
  = How do I use my local videos? =
153
  Take a look into the contextual help (button on the top right of the post edit screen).
154