Version Description
Only upgrade when using WordPress 3.7 or higher! Check your media settings after upgrading.
Download this release
Release Info
Developer | a.hoereth |
Plugin | Featured Video Plus |
Version | 2.1.0 |
Comparing to | |
See all releases |
Code changes from version 2.0.3 to 2.1.0
- CHANGELOG.md +14 -1
- README.md +4 -2
- featured-video-plus.php +2 -2
- js/frontend.js +31 -24
- js/frontend.min.js +1 -1
- js/html.js +67 -53
- js/html.min.js +1 -1
- js/jquery.domwindow.min.js +1 -1
- js/post.js +47 -51
- js/post.min.js +1 -1
- lng/featured-video-plus-de_DE.mo +0 -0
- lng/featured-video-plus-de_DE.po +122 -73
- lng/featured-video-plus.pot +101 -75
- php/class-backend.php +110 -66
- php/class-frontend.php +38 -13
- php/class-html.php +92 -16
- php/class-main.php +5 -72
- php/class-settings.php +60 -16
- php/inc-upgrade.php +8 -0
- readme.txt +19 -4
- styles/_variables.less +0 -5
- styles/backend.css +58 -1
- styles/backend.less +0 -59
- styles/frontend.css +75 -1
- styles/frontend.less +0 -96
- styles/html.css +52 -1
- styles/html.less +0 -66
CHANGELOG.md
CHANGED
@@ -1,6 +1,19 @@
|
|
1 |
# Changelog #
|
2 |
|
3 |
-
## 2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
* __Requires WordPress 3.7 or higher now!__ This reflects versions of WordPress which are "officially" [supported](https://codex.wordpress.org/Supported_Versions). The plugin will from now on try to stick to supporting all versions listed there.
|
5 |
* Major code refactor which results in many bugs scrubbed.
|
6 |
* Support for raw embed codes and [all WordPress core media providers](https://codex.wordpress.org/Embeds#Okay.2C_So_What_Sites_Can_I_Embed_From.3F).
|
1 |
# Changelog #
|
2 |
|
3 |
+
## 2.1.0: 2015-06-11 ##
|
4 |
+
* Display options are now chained using OR - if one of them holds, the replace mode is used.
|
5 |
+
* Added `always use replace mode when viewing single posts and pages` option, was implicitly true since 2.0.0. ([*](https://wordpress.org/support/topic/featured-video-overrides-featured-image)).
|
6 |
+
* Fixed undefined warnings when using `WP_DEBUG` ([*](https://wordpress.org/support/topic/debug-error-16)).
|
7 |
+
* Fixed double-wrapped .post-thumbnails ([*](https://wordpress.org/support/topic/video-no-longer-appearing)).
|
8 |
+
* Lazy loading a video no longer breaks other videos. ([*](https://wordpress.org/support/topic/blank-screen-after-the-video-is-played))
|
9 |
+
|
10 |
+
## 2.0.3: 2015-06-01 ##
|
11 |
+
* Remove usage of PHP short array syntax in order to support PHP versions lower than 5.4 ([*](https://wordpress.org/support/topic/bug-on-version-201))
|
12 |
+
|
13 |
+
## 2.0.2: 2015-06-01 ##
|
14 |
+
* Fixed undefined warnings when saving posts with fresh featured videos.
|
15 |
+
|
16 |
+
## 2.0.0 & 2.0.1: 2015-06-01 ##
|
17 |
* __Requires WordPress 3.7 or higher now!__ This reflects versions of WordPress which are "officially" [supported](https://codex.wordpress.org/Supported_Versions). The plugin will from now on try to stick to supporting all versions listed there.
|
18 |
* Major code refactor which results in many bugs scrubbed.
|
19 |
* Support for raw embed codes and [all WordPress core media providers](https://codex.wordpress.org/Embeds#Okay.2C_So_What_Sites_Can_I_Embed_From.3F).
|
README.md
CHANGED
@@ -79,8 +79,10 @@ When editing your theme's sourcecode keep in mind that a future update through W
|
|
79 |
|
80 |
## Upgrade Notice ##
|
81 |
|
82 |
-
### 2.0
|
83 |
-
Only upgrade when using WordPress 3.7 or higher!
|
84 |
|
|
|
|
|
85 |
|
86 |
|
79 |
|
80 |
## Upgrade Notice ##
|
81 |
|
82 |
+
### 2.1.0 ###
|
83 |
+
Only upgrade when using WordPress 3.7 or higher! Check your media settings after upgrading.
|
84 |
|
85 |
+
### 2.0.3 ###
|
86 |
+
Only upgrade when using WordPress 3.7 or higher!
|
87 |
|
88 |
|
featured-video-plus.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Featured Video Plus
|
4 |
Plugin URI: http://yrnxt.com/wordpress/featured-video-plus/
|
5 |
Description: Add Featured Videos to your posts and pages.
|
6 |
-
Version: 2.0
|
7 |
Author: Alexander Höreth
|
8 |
Author URI: http://yrnxt.com
|
9 |
Text Domain: featured-video-plus
|
@@ -32,7 +32,7 @@ License: GPL2
|
|
32 |
// ********************
|
33 |
// CONSTANTS
|
34 |
if ( ! defined( 'FVP_VERSION' ) ) {
|
35 |
-
define( 'FVP_VERSION', '2.0
|
36 |
}
|
37 |
|
38 |
$pathinfo = pathinfo( dirname( plugin_basename( __FILE__ ) ) );
|
3 |
Plugin Name: Featured Video Plus
|
4 |
Plugin URI: http://yrnxt.com/wordpress/featured-video-plus/
|
5 |
Description: Add Featured Videos to your posts and pages.
|
6 |
+
Version: 2.1.0
|
7 |
Author: Alexander Höreth
|
8 |
Author URI: http://yrnxt.com
|
9 |
Text Domain: featured-video-plus
|
32 |
// ********************
|
33 |
// CONSTANTS
|
34 |
if ( ! defined( 'FVP_VERSION' ) ) {
|
35 |
+
define( 'FVP_VERSION', '2.1.0' );
|
36 |
}
|
37 |
|
38 |
$pathinfo = pathinfo( dirname( plugin_basename( __FILE__ ) ) );
|
js/frontend.js
CHANGED
@@ -10,15 +10,21 @@
|
|
10 |
|
11 |
|
12 |
/**
|
13 |
-
* Remove the link wrapping featured images on index pages
|
|
|
14 |
*/
|
15 |
function unwrap() {
|
16 |
-
|
17 |
-
|
18 |
-
'.has-post-video a
|
19 |
-
'.has-post-video a
|
20 |
-
'.has-post-video a
|
|
|
21 |
).unwrap();
|
|
|
|
|
|
|
|
|
22 |
}
|
23 |
|
24 |
|
@@ -105,18 +111,19 @@
|
|
105 |
triggerPlayLoad();
|
106 |
|
107 |
$.post(fvpdata.ajaxurl, {
|
108 |
-
'action': 'fvp_get_embed',
|
109 |
-
'
|
110 |
-
'id'
|
111 |
-
}, function(
|
112 |
-
if (
|
113 |
-
$self.
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
fitVids();
|
|
|
120 |
}
|
121 |
|
122 |
triggerPlayLoad();
|
@@ -149,15 +156,15 @@
|
|
149 |
// Check if the result is already cached
|
150 |
if (0 === $cache.html().length) {
|
151 |
$.post(fvpdata.ajaxurl, {
|
152 |
-
'action': 'fvp_get_embed',
|
153 |
-
'
|
154 |
-
'id'
|
155 |
-
}, function(
|
156 |
-
if (
|
157 |
// cache the result to not reload when opened again
|
158 |
-
$cache.html(data
|
159 |
|
160 |
-
$('#DOMWindow').html(data
|
161 |
sizeLocal();
|
162 |
$(window).trigger('scroll');
|
163 |
}
|
10 |
|
11 |
|
12 |
/**
|
13 |
+
* Remove the link wrapping featured images on index pages and the
|
14 |
+
* possibile repetition of .post-thumbnail-classes.
|
15 |
*/
|
16 |
function unwrap() {
|
17 |
+
// Remove links around videos.
|
18 |
+
$('.has-post-video a>.featured-video-plus,' +
|
19 |
+
'.has-post-video a>.fvp-dynamic,' +
|
20 |
+
'.has-post-video a>.fvp-overlay,' +
|
21 |
+
'.has-post-video a>.wp-video,' +
|
22 |
+
'.has-post-video a>.wp-video-shortcode'
|
23 |
).unwrap();
|
24 |
+
|
25 |
+
// Remove wrapped .post-thumbnail-classes
|
26 |
+
$('.has-post-video .post-thumbnail>.post-thumbnail')
|
27 |
+
.removeClass('post-thumbnail');
|
28 |
}
|
29 |
|
30 |
|
111 |
triggerPlayLoad();
|
112 |
|
113 |
$.post(fvpdata.ajaxurl, {
|
114 |
+
'action' : 'fvp_get_embed',
|
115 |
+
'fvp_nonce' : fvpdata.nonce,
|
116 |
+
'id' : id
|
117 |
+
}, function(response){
|
118 |
+
if (response.success) {
|
119 |
+
var $parent = $self.parent();
|
120 |
+
$self.replaceWith(response.data);
|
121 |
+
|
122 |
+
// Initialize mediaelement.js, autosize and unwrap the new videos.
|
123 |
+
$parent.find('.wp-audio-shortcode, .wp-video-shortcode')
|
124 |
+
.mediaelementplayer();
|
125 |
fitVids();
|
126 |
+
unwrap();
|
127 |
}
|
128 |
|
129 |
triggerPlayLoad();
|
156 |
// Check if the result is already cached
|
157 |
if (0 === $cache.html().length) {
|
158 |
$.post(fvpdata.ajaxurl, {
|
159 |
+
'action' : 'fvp_get_embed',
|
160 |
+
'fvp_nonce' : fvpdata.nonce,
|
161 |
+
'id' : id
|
162 |
+
}, function(response) {
|
163 |
+
if (response.success) {
|
164 |
// cache the result to not reload when opened again
|
165 |
+
$cache.html(response.data);
|
166 |
|
167 |
+
$('#DOMWindow').html(response.data);
|
168 |
sizeLocal();
|
169 |
$(window).trigger('scroll');
|
170 |
}
|
js/frontend.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(t){"use strict";function a(){t(".has-post-video a
|
1 |
+
!function(t){"use strict";function a(){t(".has-post-video a>.featured-video-plus,.has-post-video a>.fvp-dynamic,.has-post-video a>.fvp-overlay,.has-post-video a>.wp-video,.has-post-video a>.wp-video-shortcode").unwrap(),t(".has-post-video .post-thumbnail>.post-thumbnail").removeClass("post-thumbnail")}function e(){fvpdata.fitvids&&t(".featured-video-plus.fvp-responsive").fitVids({customSelector:["iframe","object","embed"]})}function i(){if(fvpdata.width&&!fvpdata.fitvids){t(".fvp-local .wp-video").css({width:fvpdata.width,height:"auto"});var a=t(".fvp-local .wp-video .wp-video-shortcode");a.attr({width:fvpdata.width,height:fvpdata.width/a.attr("width")*a.attr("heigth")})}}function o(){void 0===r&&[fvpdata.playicon,fvpdata.loadicon].forEach(function(a){t("body").append(t("<img/>",{src:a}).hide())}),r=r===c?s:c,v.css({backgroundImage:r})}function d(a){var e=t(a.currentTarget),i=e.children("img");0===e.find(".fvp-loader").length?(i.animate({opacity:fvpdata.opacity}),e.css({position:"relative"}).prepend(v.css({height:i.height(),width:i.width(),marginTop:-i.height()/2,marginLeft:-i.width()/2}))):r!==s&&(i.animate({opacity:1}),v.remove())}function n(i){i.preventDefault();var d=t(i.currentTarget),n=parseInt(d.attr("data-id"),10);o(),t.post(fvpdata.ajaxurl,{action:"fvp_get_embed",fvp_nonce:fvpdata.nonce,id:n},function(t){if(t.success){var i=d.parent();d.replaceWith(t.data),i.find(".wp-audio-shortcode, .wp-video-shortcode").mediaelementplayer(),e(),a()}o()})}function p(a){a.preventDefault();var e=t(a.currentTarget),o=parseInt(e.attr("data-id"),10);e.openDOMWindow({eventType:null,windowPadding:0,borderSize:0,windowBGColor:"transparent",overlayOpacity:100*fvpdata.opacity,width:"100%",height:"100%"}),t("#DOMWindow").css({backgroundImage:s});var d=t("#fvp-cache-"+o);0===d.html().length?t.post(fvpdata.ajaxurl,{action:"fvp_get_embed",fvp_nonce:fvpdata.nonce,id:o},function(a){a.success&&(d.html(a.data),t("#DOMWindow").html(a.data),i(),t(window).trigger("scroll"))}):(t("#DOMWindow").html(d.html()),t(window).trigger("scroll"))}var r,v=t("<div />").addClass("fvp-loader"),c="url('"+fvpdata.playicon+"')",s="url('"+fvpdata.loadicon+"')";t(document).ready(function(){a(),setTimeout(a,1e3),e(),i(),t(".fvp-overlay, .fvp-dynamic").hover(d,d),o(),t(".fvp-dynamic").click(n),t(".fvp-overlay").click(p)})}(jQuery);
|
js/html.js
CHANGED
@@ -1,49 +1,55 @@
|
|
1 |
// *****************************************************************************
|
2 |
// TABBED OPTIONS
|
3 |
-
|
4 |
/* global fvphtml */
|
|
|
5 |
|
6 |
-
|
7 |
-
|
|
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
|
|
12 |
|
13 |
-
//
|
14 |
-
|
15 |
-
|
16 |
|
17 |
-
//
|
18 |
-
$
|
19 |
-
$
|
|
|
20 |
|
21 |
-
// pull titles to top
|
22 |
-
$tab.prepend( $titles );
|
23 |
|
24 |
-
|
25 |
-
|
|
|
26 |
|
27 |
-
// initialize
|
28 |
-
$
|
29 |
-
var $
|
30 |
-
var $body = $bodys.filter('[data-hook=\'' + $title.data('hook') + '\']');
|
31 |
|
32 |
-
//
|
33 |
-
|
34 |
-
|
35 |
-
}
|
36 |
|
37 |
-
//
|
38 |
-
$titles.
|
39 |
-
$bodys.
|
40 |
|
41 |
-
//
|
42 |
-
$
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
|
|
|
|
|
|
|
|
|
|
47 |
|
48 |
|
49 |
|
@@ -52,9 +58,10 @@ jQuery(document).ready(function($) {
|
|
52 |
// CONDITIONALS
|
53 |
(function($) {
|
54 |
/* global fvphtml */
|
|
|
55 |
|
56 |
var triggers = {};
|
57 |
-
|
58 |
var $trigger = $(this);
|
59 |
var targets = triggers[ $trigger.attr('name') ];
|
60 |
for (var i = 0; i < targets.length; i++) {
|
@@ -88,10 +95,11 @@ jQuery(document).ready(function($) {
|
|
88 |
$target.removeClass('hidden');
|
89 |
}
|
90 |
}
|
91 |
-
}
|
|
|
92 |
|
93 |
$(document).ready(function() {
|
94 |
-
var $conditionals = $(fvphtml.prefix + '
|
95 |
for (var i = 0; i < $conditionals.length; i++) {
|
96 |
var $target = $( $conditionals[i] );
|
97 |
var names = $target.data('names').split('|');
|
@@ -118,6 +126,8 @@ jQuery(document).ready(function($) {
|
|
118 |
// COLORPICKERS / IRIS
|
119 |
// See http://automattic.github.io/Iris/
|
120 |
(function($) {
|
|
|
|
|
121 |
var $colorpickers;
|
122 |
|
123 |
|
@@ -166,7 +176,7 @@ jQuery(document).ready(function($) {
|
|
166 |
* Adjust colorpicker input background and foreground color depending
|
167 |
* on its value.
|
168 |
*/
|
169 |
-
|
170 |
var $this = $(this);
|
171 |
var color = ui && ui.color ? ui.color.toString() : $this.val();
|
172 |
color = cleanHex(color);
|
@@ -176,49 +186,49 @@ jQuery(document).ready(function($) {
|
|
176 |
color: getContrastColor(color)
|
177 |
});
|
178 |
|
179 |
-
if (! color) { $this.siblings(fvphtml.prefix + '
|
180 |
-
else { $this.siblings(fvphtml.prefix + '
|
181 |
-
}
|
182 |
|
183 |
|
184 |
/**
|
185 |
* Hide all colorpickers upon opening a new one.
|
186 |
*/
|
187 |
-
|
188 |
var $this = $(this);
|
189 |
$colorpickers.not( $this ).iris('hide');
|
190 |
$this.iris('show');
|
191 |
-
}
|
192 |
|
193 |
|
194 |
/**
|
195 |
* Hide colorpicker reset button on blur.
|
196 |
*/
|
197 |
-
|
198 |
if (event) { event.preventDefault(); }
|
199 |
var $this = $(this);
|
200 |
if ('' === $this.val()) {
|
201 |
-
$this.siblings(fvphtml.prefix + '
|
202 |
}
|
203 |
-
}
|
204 |
|
205 |
|
206 |
/**
|
207 |
* Clear colorpicker input and hide colorpickers on reset click.
|
208 |
*/
|
209 |
-
|
210 |
if (event) { event.preventDefault(); }
|
211 |
$colorpickers.iris('hide');
|
212 |
-
$(this).siblings(fvphtml.prefix + '
|
213 |
.val('')
|
214 |
.each(colorpickerChange);
|
215 |
-
}
|
216 |
|
217 |
|
218 |
// DOM is ready..
|
219 |
$(document).ready(function() {
|
220 |
// Get colorpickers.
|
221 |
-
$colorpickers = $(fvphtml.prefix + '
|
222 |
|
223 |
// Change handlers.
|
224 |
$colorpickers.iris({ change: colorpickerChange });
|
@@ -231,7 +241,7 @@ jQuery(document).ready(function($) {
|
|
231 |
$colorpickers.blur(colorpickerBlur);
|
232 |
|
233 |
// Reset click handler.
|
234 |
-
$colorpickers.siblings(fvphtml.prefix + '
|
235 |
|
236 |
// Initial input coloring.
|
237 |
$colorpickers.each(colorpickerChange);
|
@@ -245,18 +255,19 @@ jQuery(document).ready(function($) {
|
|
245 |
// TUTORIAL POINTERS
|
246 |
(function($) {
|
247 |
/* global fvphtml, ajaxurl */
|
|
|
248 |
|
249 |
/**
|
250 |
* Used when dissmissing a pointer to fire an AJAX request to save the
|
251 |
* closed state to the database.
|
252 |
*/
|
253 |
-
|
254 |
var identifier = $(this).data('wpPointer').options.pointer_id;
|
255 |
$.post(ajaxurl, {
|
256 |
pointer: identifier,
|
257 |
action: 'dismiss-wp-pointer'
|
258 |
});
|
259 |
-
}
|
260 |
|
261 |
|
262 |
/**
|
@@ -299,7 +310,10 @@ jQuery(document).ready(function($) {
|
|
299 |
// *****************************************************************************
|
300 |
// Contextual Help Links
|
301 |
jQuery(document).ready(function($) {
|
302 |
-
|
|
|
|
|
|
|
303 |
$('#contextual-help-link').trigger('click');
|
304 |
});
|
305 |
});
|
1 |
// *****************************************************************************
|
2 |
// TABBED OPTIONS
|
3 |
+
(function($) {
|
4 |
/* global fvphtml */
|
5 |
+
'use strict';
|
6 |
|
7 |
+
var clicker = function() {
|
8 |
+
var $title = $(this);
|
9 |
+
var $body = $title.siblings('[data-hook=\'' + $title.data('hook') + '\']');
|
10 |
|
11 |
+
// current active title is not clickable
|
12 |
+
if ($title.hasClass('active') && $body.hasClass('active')) {
|
13 |
+
return;
|
14 |
+
}
|
15 |
|
16 |
+
// no longer active
|
17 |
+
$title.siblings(fvphtml.prefix + 'tab-title').removeClass('active');
|
18 |
+
$title.siblings(fvphtml.prefix + 'tab-body').slideUp();
|
19 |
|
20 |
+
// newly active
|
21 |
+
$title.addClass('active');
|
22 |
+
$body.addClass('active').slideDown();
|
23 |
+
};
|
24 |
|
|
|
|
|
25 |
|
26 |
+
$(document).ready(function() {
|
27 |
+
// get tabs
|
28 |
+
var $tabs = $(fvphtml.prefix + 'tabs');
|
29 |
|
30 |
+
// initialize every instance's functionality
|
31 |
+
for ( var i = $tabs.length - 1; i >= 0; i-- ) {
|
32 |
+
var $tab = $( $tabs[i] );
|
|
|
33 |
|
34 |
+
// get titles and bodys
|
35 |
+
var $titles = $tab.children(fvphtml.prefix + 'tab-title');
|
36 |
+
var $bodys = $tab.children(fvphtml.prefix + 'tab-body');
|
|
|
37 |
|
38 |
+
// first title/body pair is active on initiation
|
39 |
+
$titles.first().addClass('active');
|
40 |
+
$bodys.first().addClass('active');
|
41 |
|
42 |
+
// pull titles to top
|
43 |
+
$tab.prepend( $titles );
|
44 |
+
|
45 |
+
// hide all but the initially active content
|
46 |
+
$bodys.filter(':not(.active)').hide();
|
47 |
+
|
48 |
+
// initialize title click event
|
49 |
+
$tab.children(fvphtml.prefix + 'tab-title').click(clicker);
|
50 |
+
}
|
51 |
+
});
|
52 |
+
})(jQuery);
|
53 |
|
54 |
|
55 |
|
58 |
// CONDITIONALS
|
59 |
(function($) {
|
60 |
/* global fvphtml */
|
61 |
+
'use strict';
|
62 |
|
63 |
var triggers = {};
|
64 |
+
var conditionalTriggered = function() {
|
65 |
var $trigger = $(this);
|
66 |
var targets = triggers[ $trigger.attr('name') ];
|
67 |
for (var i = 0; i < targets.length; i++) {
|
95 |
$target.removeClass('hidden');
|
96 |
}
|
97 |
}
|
98 |
+
};
|
99 |
+
|
100 |
|
101 |
$(document).ready(function() {
|
102 |
+
var $conditionals = $(fvphtml.prefix + 'conditional');
|
103 |
for (var i = 0; i < $conditionals.length; i++) {
|
104 |
var $target = $( $conditionals[i] );
|
105 |
var names = $target.data('names').split('|');
|
126 |
// COLORPICKERS / IRIS
|
127 |
// See http://automattic.github.io/Iris/
|
128 |
(function($) {
|
129 |
+
'use strict';
|
130 |
+
|
131 |
var $colorpickers;
|
132 |
|
133 |
|
176 |
* Adjust colorpicker input background and foreground color depending
|
177 |
* on its value.
|
178 |
*/
|
179 |
+
var colorpickerChange = function(event, ui) {
|
180 |
var $this = $(this);
|
181 |
var color = ui && ui.color ? ui.color.toString() : $this.val();
|
182 |
color = cleanHex(color);
|
186 |
color: getContrastColor(color)
|
187 |
});
|
188 |
|
189 |
+
if (! color) { $this.siblings(fvphtml.prefix + 'reset').hide(); }
|
190 |
+
else { $this.siblings(fvphtml.prefix + 'reset').show(); }
|
191 |
+
};
|
192 |
|
193 |
|
194 |
/**
|
195 |
* Hide all colorpickers upon opening a new one.
|
196 |
*/
|
197 |
+
var colorpickerClick = function() {
|
198 |
var $this = $(this);
|
199 |
$colorpickers.not( $this ).iris('hide');
|
200 |
$this.iris('show');
|
201 |
+
};
|
202 |
|
203 |
|
204 |
/**
|
205 |
* Hide colorpicker reset button on blur.
|
206 |
*/
|
207 |
+
var colorpickerBlur = function(event) {
|
208 |
if (event) { event.preventDefault(); }
|
209 |
var $this = $(this);
|
210 |
if ('' === $this.val()) {
|
211 |
+
$this.siblings(fvphtml.prefix + 'reset').hide();
|
212 |
}
|
213 |
+
};
|
214 |
|
215 |
|
216 |
/**
|
217 |
* Clear colorpicker input and hide colorpickers on reset click.
|
218 |
*/
|
219 |
+
var colorpickerResetClick = function(event) {
|
220 |
if (event) { event.preventDefault(); }
|
221 |
$colorpickers.iris('hide');
|
222 |
+
$(this).siblings(fvphtml.prefix + 'colorpicker')
|
223 |
.val('')
|
224 |
.each(colorpickerChange);
|
225 |
+
};
|
226 |
|
227 |
|
228 |
// DOM is ready..
|
229 |
$(document).ready(function() {
|
230 |
// Get colorpickers.
|
231 |
+
$colorpickers = $(fvphtml.prefix + 'colorpicker');
|
232 |
|
233 |
// Change handlers.
|
234 |
$colorpickers.iris({ change: colorpickerChange });
|
241 |
$colorpickers.blur(colorpickerBlur);
|
242 |
|
243 |
// Reset click handler.
|
244 |
+
$colorpickers.siblings(fvphtml.prefix + 'reset').click(colorpickerResetClick);
|
245 |
|
246 |
// Initial input coloring.
|
247 |
$colorpickers.each(colorpickerChange);
|
255 |
// TUTORIAL POINTERS
|
256 |
(function($) {
|
257 |
/* global fvphtml, ajaxurl */
|
258 |
+
'use strict';
|
259 |
|
260 |
/**
|
261 |
* Used when dissmissing a pointer to fire an AJAX request to save the
|
262 |
* closed state to the database.
|
263 |
*/
|
264 |
+
var closePointer = function() {
|
265 |
var identifier = $(this).data('wpPointer').options.pointer_id;
|
266 |
$.post(ajaxurl, {
|
267 |
pointer: identifier,
|
268 |
action: 'dismiss-wp-pointer'
|
269 |
});
|
270 |
+
};
|
271 |
|
272 |
|
273 |
/**
|
310 |
// *****************************************************************************
|
311 |
// Contextual Help Links
|
312 |
jQuery(document).ready(function($) {
|
313 |
+
/* global fvphtml */
|
314 |
+
'use strict';
|
315 |
+
|
316 |
+
$(fvphtml.prefix + 'help-link, .help-link').click(function() {
|
317 |
$('#contextual-help-link').trigger('click');
|
318 |
});
|
319 |
});
|
js/html.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
|
1 |
+
!function(t){"use strict";var i=function(){var i=t(this),e=i.siblings("[data-hook='"+i.data("hook")+"']");i.hasClass("active")&&e.hasClass("active")||(i.siblings(fvphtml.prefix+"tab-title").removeClass("active"),i.siblings(fvphtml.prefix+"tab-body").slideUp(),i.addClass("active"),e.addClass("active").slideDown())};t(document).ready(function(){for(var e=t(fvphtml.prefix+"tabs"),r=e.length-1;r>=0;r--){var n=t(e[r]),a=n.children(fvphtml.prefix+"tab-title"),s=n.children(fvphtml.prefix+"tab-body");a.first().addClass("active"),s.first().addClass("active"),n.prepend(a),s.filter(":not(.active)").hide(),n.children(fvphtml.prefix+"tab-title").click(i)}})}(jQuery),function(t){"use strict";var i={},e=function(){for(var e=t(this),r=i[e.attr("name")],n=0;n<r.length;n++){var a=t(r[n]),s=a.data("names").split("|"),l=a.data("values").split("|"),o=t.inArray(e.attr("name"),s);if(-1!==o){var c=!0,f=l[o],h="checkbox"!==e.attr("type")||e.prop("checked")?e.val():null;"string"==typeof f&&"!"===f.charAt(0)&&(c=!1,f=f.substr(1)),c&&h!==f||!c&&h===f?a.addClass("hidden"):a.removeClass("hidden")}}};t(document).ready(function(){for(var r=t(fvphtml.prefix+"conditional"),n=0;n<r.length;n++)for(var a=t(r[n]),s=a.data("names").split("|"),l=0;l<s.length;l++){var o=s[l];i.hasOwnProperty(o)||(i[o]=[]),i[o].push(a)}for(var c in i){var f=t("[name='"+c+"']");f.change(e)}})}(jQuery),function(t){"use strict";function i(t){t=t?t:"#fffff",t="#"===t.charAt(0)?t.substr(1):t;var i=parseInt(t.substr(0,2),16),e=parseInt(t.substr(2,2),16),r=parseInt(t.substr(4,2),16),n=(299*i+587*e+114*r)/1e3;return n>=128?"#000":"#fff"}function e(t){return 3===t.length&&"#"!==t.charAt(0)&&(t="#"+t),4===t.length&&"#"===t.charAt(0)&&(t="#"+t.charAt(1)+t.charAt(1)+t.charAt(2)+t.charAt(2)+t.charAt(3)+t.charAt(3)),7===t.length?t:!1}var r,n=function(r,n){var a=t(this),s=n&&n.color?n.color.toString():a.val();s=e(s),a.css({backgroundColor:s?s:"#ffffff",color:i(s)}),s?a.siblings(fvphtml.prefix+"reset").show():a.siblings(fvphtml.prefix+"reset").hide()},a=function(){var i=t(this);r.not(i).iris("hide"),i.iris("show")},s=function(i){i&&i.preventDefault();var e=t(this);""===e.val()&&e.siblings(fvphtml.prefix+"reset").hide()},l=function(i){i&&i.preventDefault(),r.iris("hide"),t(this).siblings(fvphtml.prefix+"colorpicker").val("").each(n)};t(document).ready(function(){r=t(fvphtml.prefix+"colorpicker"),r.iris({change:n}),r.bind("input",n),r.click(a),r.blur(s),r.siblings(fvphtml.prefix+"reset").click(l),r.each(n)})}(jQuery),function(t){"use strict";function i(i){var r=i.title||"",n=i.content||"",a=i.position||{edge:"right",align:"middle"};t(i.target).pointer({pointer_id:i.identifier,content:"<h3>"+r+"</h3><p>"+n+"</p>",position:a,close:e}).pointer("open")}var e=function(){var i=t(this).data("wpPointer").options.pointer_id;t.post(ajaxurl,{pointer:i,action:"dismiss-wp-pointer"})};t(document).ready(function(){for(var t=fvphtml.pointers||[],e=0;e<t.length;e++)i(fvphtml.pointers[e])})}(jQuery),jQuery(document).ready(function(t){"use strict";t(fvphtml.prefix+"help-link, .help-link").click(function(){t("#contextual-help-link").trigger("click")})});
|
js/jquery.domwindow.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){e.fn.closeDOMWindow=function(o){o||(o={});var n=function(){if(o.anchoredClassName){var
|
1 |
+
!function(e){e.fn.closeDOMWindow=function(o){o||(o={});var n=function(n){if(o.anchoredClassName){var i=e("."+o.anchoredClassName);i.fadeOut("fast",function(){e.fn.draggable?i.draggable("destory").trigger("unload").remove():i.trigger("unload").remove()}),o.functionCallOnClose&&o.functionCallAfterClose()}else{var t=e("#DOMWindowOverlay"),d=e("#DOMWindow");t.fadeOut("fast",function(){t.trigger("unload").unbind().remove()}),d.fadeOut("fast",function(){e.fn.draggable?d.draggable("destroy").trigger("unload").remove():d.trigger("unload").remove()}),e(window).unbind("scroll.DOMWindow"),e(window).unbind("resize.DOMWindow"),e.fn.openDOMWindow.isIE6&&e("#DOMWindowIE6FixIframe").remove(),o.functionCallOnClose&&o.functionCallAfterClose()}};return o.eventType?this.each(function(i){e(this).bind(o.eventType,function(){return n(this),!1})}):void n()},e.closeDOMWindow=function(o){e.fn.closeDOMWindow(o)},e.fn.openDOMWindow=function(o){var n=e.fn.openDOMWindow;n.defaultsSettings={anchoredClassName:"",anchoredSelector:"",borderColor:"#ccc",borderSize:"4",draggable:0,eventType:null,fixedWindowY:100,functionCallOnOpen:null,functionCallOnClose:null,height:500,loader:0,loaderHeight:0,loaderImagePath:"",loaderWidth:0,modal:0,overlay:1,overlayColor:"#000",overlayOpacity:"85",positionLeft:0,positionTop:0,positionType:"centered",width:500,windowBGColor:"#fff",windowBGImage:null,windowHTTPType:"get",windowPadding:10,windowSource:"inline",windowSourceID:"",windowSourceURL:"",windowSourceAttrURL:"href"};var i=e.extend({},e.fn.openDOMWindow.defaultsSettings,o||{});n.viewPortHeight=function(){return self.innerHeight||document.documentElement.clientHeight||document.body.clientHeight},n.viewPortWidth=function(){return self.innerWidth||document.documentElement.clientWidth||document.body.clientWidth},n.scrollOffsetHeight=function(){return self.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop},n.scrollOffsetWidth=function(){return self.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft},n.isIE6="undefined"==typeof document.body.style.maxHeight;var t=function(){var o=e("#DOMWindowOverlay");if(n.isIE6){var i=document.documentElement.offsetHeight+document.documentElement.scrollTop-4,t=document.documentElement.offsetWidth-21;o.css({height:i+"px",width:t+"px"})}else o.css({height:"100%",width:"100%",position:"fixed"})},d=function(){var o=document.documentElement.offsetHeight+document.documentElement.scrollTop-4,n=document.documentElement.offsetWidth-21;e("#DOMWindowIE6FixIframe").css({height:o+"px",width:n+"px"})},r=function(){var o=e("#DOMWindow");i.height+50>n.viewPortHeight()?o.css("left",Math.round(n.viewPortWidth()/2)+n.scrollOffsetWidth()-Math.round(o.outerWidth()/2)):(o.css("left",Math.round(n.viewPortWidth()/2)+n.scrollOffsetWidth()-Math.round(o.outerWidth()/2)),o.css("top",Math.round(n.viewPortHeight()/2)+n.scrollOffsetHeight()-Math.round(o.outerHeight()/2)))},a=function(){var o=e("#DOMWindowLoader");n.isIE6?(o.css({left:Math.round(n.viewPortWidth()/2)+n.scrollOffsetWidth()-Math.round(o.innerWidth()/2),position:"absolute"}),o.css({top:Math.round(n.viewPortHeight()/2)+n.scrollOffsetHeight()-Math.round(o.innerHeight()/2),position:"absolute"})):o.css({left:"50%",top:"50%",position:"fixed"})},l=function(){var o=e("#DOMWindow");o.css("left",i.positionLeft+n.scrollOffsetWidth()),o.css("top",+i.positionTop+n.scrollOffsetHeight())},c=function(o){arguments[0]?(e("."+o+" #DOMWindowLoader").remove(),e("."+o+" #DOMWindowContent").fadeIn("fast",function(){i.functionCallOnOpen&&i.functionCallOnOpen()}),e("."+o+".closeDOMWindow").click(function(){return e.closeDOMWindow(),!1})):(e("#DOMWindowLoader").remove(),e("#DOMWindow").fadeIn("fast",function(){i.functionCallOnOpen&&i.functionCallOnOpen()}),e("#DOMWindow .closeDOMWindow").click(function(){return e.closeDOMWindow(),!1}))},s=function(e){var o={};return e.replace(/b([^&=]*)=([^&=]*)b/g,function(e,n,i){"undefined"!=typeof o[n]?o[n]+=","+i:o[n]=i}),o},f=function(o){i.windowSourceID=e(o).attr("href")||i.windowSourceID,i.windowSourceURL=e(o).attr(i.windowSourceAttrURL)||i.windowSourceURL,i.windowBGImage=i.windowBGImage?"background-image:url("+i.windowBGImage+")":"";var f,w;if("anchored"==i.positionType){var u=e(i.anchoredSelector).position(),h=u.left+i.positionLeft,p=u.top+i.positionTop;switch(e("body").append('<div class="'+i.anchoredClassName+'" style="'+i.windowBGImage+";background-repeat:no-repeat;padding:"+i.windowPadding+"px;overflow:auto;position:absolute;top:"+p+"px;left:"+h+"px;height:"+i.height+"px;width:"+i.width+"px;background-color:"+i.windowBGColor+";border:"+i.borderSize+"px solid "+i.borderColor+';z-index:10001"><div id="DOMWindowContent" style="display:none"></div></div>'),i.loader&&""!==i.loaderImagePath&&e("."+i.anchoredClassName).append('<div id="DOMWindowLoader" style="width:'+i.loaderWidth+"px;height:"+i.loaderHeight+'px;"><img src="'+i.loaderImagePath+'" /></div>'),e.fn.draggable&&i.draggable&&e("."+i.anchoredClassName).draggable({cursor:"move"}),i.windowSource){case"inline":e("."+i.anchoredClassName+" #DOMWindowContent").append(e(i.windowSourceID).children()),e("."+i.anchoredClassName).unload(function(){e("."+i.windowSourceID).append(e("."+i.anchoredClassName+" #DOMWindowContent").children())}),c(i.anchoredClassName);break;case"iframe":e("."+i.anchoredClassName+" #DOMWindowContent").append('<iframe frameborder="0" hspace="0" wspace="0" src="'+i.windowSourceURL+'" name="DOMWindowIframe'+Math.round(1e3*Math.random())+'" style="width:100%;height:100%;border:none;background-color:#fff;" class="'+i.anchoredClassName+'Iframe" ></iframe>'),e("."+i.anchoredClassName+"Iframe").load(c(i.anchoredClassName));break;case"ajax":"post"==i.windowHTTPType?(-1!==i.windowSourceURL.indexOf("?")?(f=i.windowSourceURL.substr(0,i.windowSourceURL.indexOf("?")),w=s(i.windowSourceURL)):(f=i.windowSourceURL,w={}),e("."+i.anchoredClassName+" #DOMWindowContent").load(f,w,function(){c(i.anchoredClassName)})):(-1==i.windowSourceURL.indexOf("?")&&(i.windowSourceURL+="?"),e("."+i.anchoredClassName+" #DOMWindowContent").load(i.windowSourceURL+"&random="+(new Date).getTime(),function(){c(i.anchoredClassName)}))}}else{if(i.overlay){e("body").append('<div id="DOMWindowOverlay" style="z-index:10000;display:none;position:absolute;top:0;left:0;background-color:'+i.overlayColor+";filter:alpha(opacity="+i.overlayOpacity+");-moz-opacity: 0."+i.overlayOpacity+";opacity: 0."+i.overlayOpacity+';"></div>'),n.isIE6&&(e("body").append('<iframe id="DOMWindowIE6FixIframe" src="blank.html" style="width:100%;height:100%;z-index:9999;position:absolute;top:0;left:0;filter:alpha(opacity=0);"></iframe>'),d()),t();var m=e("#DOMWindowOverlay");m.fadeIn("fast"),i.modal||m.click(function(){e.closeDOMWindow()})}i.loader&&""!==i.loaderImagePath&&(e("body").append('<div id="DOMWindowLoader" style="z-index:10002;width:'+i.loaderWidth+"px;height:"+i.loaderHeight+'px;"><img src="'+i.loaderImagePath+'" /></div>'),a()),e("body").append('<div id="DOMWindow" style="background-repeat:no-repeat;'+i.windowBGImage+";overflow:auto;padding:"+i.windowPadding+"px;display:none;height:"+i.height+"px;width:"+i.width+"px;background-color:"+i.windowBGColor+";border:"+i.borderSize+"px solid "+i.borderColor+'; position:absolute;z-index:10001"></div>');var g=e("#DOMWindow");switch(i.positionType){case"centered":r(),i.height+50>n.viewPortHeight()&&g.css("top",i.fixedWindowY+n.scrollOffsetHeight()+"px");break;case"absolute":g.css({top:i.positionTop+n.scrollOffsetHeight()+"px",left:i.positionLeft+n.scrollOffsetWidth()+"px"}),e.fn.draggable&&i.draggable&&g.draggable({cursor:"move"});break;case"fixed":l();break;case"anchoredSingleWindow":var u=e(i.anchoredSelector).position(),h=u.left+i.positionLeft,p=u.top+i.positionTop;g.css({top:p+"px",left:h+"px"})}switch(e(window).bind("scroll.DOMWindow",function(){i.overlay&&t(),n.isIE6&&d(),"centered"==i.positionType&&r(),"fixed"==i.positionType&&l()}),e(window).bind("resize.DOMWindow",function(){n.isIE6&&d(),i.overlay&&t(),"centered"==i.positionType&&r()}),i.windowSource){case"inline":g.append(e(i.windowSourceID).children()),g.unload(function(){e(i.windowSourceID).append(g.children())}),c();break;case"iframe":g.append('<iframe frameborder="0" hspace="0" wspace="0" src="'+i.windowSourceURL+'" name="DOMWindowIframe'+Math.round(1e3*Math.random())+'" style="width:100%;height:100%;border:none;background-color:#fff;" id="DOMWindowIframe" ></iframe>'),e("#DOMWindowIframe").load(c());break;case"ajax":"post"==i.windowHTTPType?(-1!==i.windowSourceURL.indexOf("?")?(f=i.windowSourceURL.substr(0,i.windowSourceURL.indexOf("?")),w=s(i.windowSourceURL)):(f=i.windowSourceURL,w={}),g.load(f,w,function(){c()})):(-1==i.windowSourceURL.indexOf("?")&&(i.windowSourceURL+="?"),g.load(i.windowSourceURL+"&random="+(new Date).getTime(),function(){c()}))}}};return i.eventType?this.each(function(o){e(this).bind(i.eventType,function(){return f(this),!1})}):void f()},e.openDOMWindow=function(o){e.fn.openDOMWindow(o)}}(jQuery);
|
js/post.js
CHANGED
@@ -1,11 +1,13 @@
|
|
1 |
(function($) {
|
2 |
'use strict';
|
3 |
-
/* global
|
4 |
|
5 |
-
var context =
|
6 |
var $input;
|
7 |
var $media;
|
|
|
8 |
var mediaicon;
|
|
|
9 |
|
10 |
|
11 |
/**
|
@@ -15,8 +17,7 @@
|
|
15 |
* @param {event} event jQuery click event.
|
16 |
*/
|
17 |
function setFeatimg(event) {
|
18 |
-
event
|
19 |
-
submitVideo(true);
|
20 |
}
|
21 |
|
22 |
|
@@ -27,8 +28,20 @@
|
|
27 |
* is not too bad if the link is not available (won't be displayed), but its
|
28 |
* nice to have.
|
29 |
*/
|
30 |
-
function removeFeatimg() {
|
31 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
}
|
33 |
|
34 |
|
@@ -37,16 +50,32 @@
|
|
37 |
*
|
38 |
* @param {bool} setFeatimg
|
39 |
*/
|
40 |
-
function submitVideo(setFeatimg) {
|
|
|
41 |
setFeatimg = setFeatimg || false;
|
|
|
42 |
|
43 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
'action' : 'fvp_save',
|
45 |
'id' : $('#post_ID').val(),
|
46 |
'fvp_nonce' : $('#fvp_nonce').val(),
|
47 |
'fvp_video' : $input.val(),
|
48 |
'fvp_set_featimg': setFeatimg
|
49 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
var $container = $('.fvp-current-video');
|
51 |
|
52 |
// reset loading icon
|
@@ -68,54 +97,19 @@
|
|
68 |
|
69 |
// update featured image
|
70 |
$('#postimagediv .inside').html(data.img);
|
71 |
-
refreshHandlers();
|
72 |
}, 'json' );
|
73 |
}
|
74 |
|
75 |
|
76 |
-
/**
|
77 |
-
* Sets the set and remove featured image handlers.
|
78 |
-
* @return {[type]} [description]
|
79 |
-
*/
|
80 |
-
function refreshHandlers() {
|
81 |
-
// Button for quickly setting a featured image if none is set.
|
82 |
-
$('.fvp-set-featimg').show().click(setFeatimg);
|
83 |
-
|
84 |
-
// Show setFeatimg link after removing a featured image.
|
85 |
-
$('#remove-post-thumbnail').click(removeFeatimg);
|
86 |
-
}
|
87 |
-
|
88 |
-
|
89 |
$(document).ready(function() {
|
90 |
-
// elements
|
91 |
$input = $('.fvp-video');
|
92 |
$media = $input.siblings('.fvp-video-choose').children('.fvp-media-icon');
|
93 |
-
|
94 |
-
|
95 |
-
var loadingicon = 'url(\'' + context.loading_gif + '\')';
|
96 |
-
var currentUrl = $input.val();
|
97 |
|
98 |
// Automatically submit the video URL using AJAX when the input is blurred.
|
99 |
// Update video and featured image with the returned data.
|
100 |
-
$input.blur(
|
101 |
-
$input.val( $.trim( $input.val() ) );
|
102 |
-
|
103 |
-
// don't do anything if input didn't change
|
104 |
-
if (currentUrl === $input.val()) {
|
105 |
-
return;
|
106 |
-
}
|
107 |
-
|
108 |
-
// remember new url
|
109 |
-
currentUrl = $input.val();
|
110 |
-
|
111 |
-
// autosize input field
|
112 |
-
$input.trigger('autosize');
|
113 |
-
|
114 |
-
// display loading gif in input
|
115 |
-
$media.css({ backgroundImage: loadingicon });
|
116 |
-
|
117 |
-
submitVideo();
|
118 |
-
});
|
119 |
|
120 |
// Initialize autosizing the url input field, disable enter key and
|
121 |
// auto select content on click.
|
@@ -133,10 +127,12 @@
|
|
133 |
$(this).select();
|
134 |
});
|
135 |
|
136 |
-
|
137 |
-
//
|
138 |
-
|
139 |
-
|
|
|
|
|
140 |
|
141 |
// WordPress 3.5 Media Manager
|
142 |
// @see http://www.blazersix.com/blog/wordpress-image-widget/
|
1 |
(function($) {
|
2 |
'use strict';
|
3 |
+
/* global fvpPost, ajaxurl */
|
4 |
|
5 |
+
var context = fvpPost;
|
6 |
var $input;
|
7 |
var $media;
|
8 |
+
var currentUrl;
|
9 |
var mediaicon;
|
10 |
+
var loadingicon = 'url(' + context.loading_gif + ')';
|
11 |
|
12 |
|
13 |
/**
|
17 |
* @param {event} event jQuery click event.
|
18 |
*/
|
19 |
function setFeatimg(event) {
|
20 |
+
submitVideo(event, true);
|
|
|
21 |
}
|
22 |
|
23 |
|
28 |
* is not too bad if the link is not available (won't be displayed), but its
|
29 |
* nice to have.
|
30 |
*/
|
31 |
+
function removeFeatimg(event) {
|
32 |
+
event.preventDefault();
|
33 |
+
|
34 |
+
$media.css({ backgroundImage: loadingicon }); // Show loading gif.
|
35 |
+
$.post(ajaxurl, {
|
36 |
+
'action' : 'fvp_remove_img',
|
37 |
+
'id' : $('#post_ID').val(),
|
38 |
+
'fvp_nonce' : $('#fvp_nonce').val()
|
39 |
+
}, function(response) {
|
40 |
+
if (response.success) {
|
41 |
+
$('#postimagediv .inside').html(response.data);
|
42 |
+
$media.css({ backgroundImage: mediaicon }); // Hide loading gif.
|
43 |
+
}
|
44 |
+
}, 'json' );
|
45 |
}
|
46 |
|
47 |
|
50 |
*
|
51 |
* @param {bool} setFeatimg
|
52 |
*/
|
53 |
+
function submitVideo(event, setFeatimg) {
|
54 |
+
event.preventDefault();
|
55 |
setFeatimg = setFeatimg || false;
|
56 |
+
$input.val($.trim($input.val())).trigger('autosize'); // Remove whitespace.
|
57 |
|
58 |
+
// Don't do anything if value didn't change and we are not force-setting
|
59 |
+
// the featured image.
|
60 |
+
if (currentUrl === $input.val() && ! setFeatimg) { return; }
|
61 |
+
|
62 |
+
$media.css({ backgroundImage: loadingicon }); // Show loading gif.
|
63 |
+
currentUrl = $input.val(); // Remember new url.
|
64 |
+
|
65 |
+
var data = {
|
66 |
'action' : 'fvp_save',
|
67 |
'id' : $('#post_ID').val(),
|
68 |
'fvp_nonce' : $('#fvp_nonce').val(),
|
69 |
'fvp_video' : $input.val(),
|
70 |
'fvp_set_featimg': setFeatimg
|
71 |
+
};
|
72 |
+
|
73 |
+
$.post(ajaxurl, data, function(response) {
|
74 |
+
if (! response.success) {
|
75 |
+
return false;
|
76 |
+
}
|
77 |
+
|
78 |
+
var data = response.data;
|
79 |
var $container = $('.fvp-current-video');
|
80 |
|
81 |
// reset loading icon
|
97 |
|
98 |
// update featured image
|
99 |
$('#postimagediv .inside').html(data.img);
|
|
|
100 |
}, 'json' );
|
101 |
}
|
102 |
|
103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
$(document).ready(function() {
|
|
|
105 |
$input = $('.fvp-video');
|
106 |
$media = $input.siblings('.fvp-video-choose').children('.fvp-media-icon');
|
107 |
+
currentUrl = $input.val();
|
108 |
+
mediaicon = $media.css('backgroundImage');
|
|
|
|
|
109 |
|
110 |
// Automatically submit the video URL using AJAX when the input is blurred.
|
111 |
// Update video and featured image with the returned data.
|
112 |
+
$input.blur(submitVideo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
113 |
|
114 |
// Initialize autosizing the url input field, disable enter key and
|
115 |
// auto select content on click.
|
127 |
$(this).select();
|
128 |
});
|
129 |
|
130 |
+
// Click handlers for quickly setting a featured image from the video and
|
131 |
+
// removing the existing featured image the FVP way. Additionally hiding
|
132 |
+
// the WordPress remove featured image link.
|
133 |
+
$('#postimagediv')
|
134 |
+
.on('click', '.fvp-set-image', setFeatimg)
|
135 |
+
.on('click', '.fvp-remove-image', removeFeatimg);
|
136 |
|
137 |
// WordPress 3.5 Media Manager
|
138 |
// @see http://www.blazersix.com/blog/wordpress-image-widget/
|
js/post.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(
|
1 |
+
!function(e){"use strict";function t(e){a(e,!0)}function i(t){t.preventDefault(),o.css({backgroundImage:v}),e.post(ajaxurl,{action:"fvp_remove_img",id:e("#post_ID").val(),fvp_nonce:e("#fvp_nonce").val()},function(t){t.success&&(e("#postimagediv .inside").html(t.data),o.css({backgroundImage:r}))},"json")}function a(t,i){if(t.preventDefault(),i=i||!1,n.val(e.trim(n.val())).trigger("autosize"),s!==n.val()||i){o.css({backgroundImage:v}),s=n.val();var a={action:"fvp_save",id:e("#post_ID").val(),fvp_nonce:e("#fvp_nonce").val(),fvp_video:n.val(),fvp_set_featimg:i};e.post(ajaxurl,a,function(t){if(!t.success)return!1;var i=t.data,a=e(".fvp-current-video");o.css({backgroundImage:r}),"remove"===i.task?a.css({height:a.height()}).html("").animate({height:0}):a.css({height:"auto"}).html(i.video),e("#postimagediv .inside").html(i.img)},"json")}}var n,o,s,r,c=fvpPost,v="url("+c.loading_gif+")";e(document).ready(function(){n=e(".fvp-video"),o=n.siblings(".fvp-video-choose").children(".fvp-media-icon"),s=n.val(),r=o.css("backgroundImage"),n.blur(a),n.autosize().trigger("blur").keypress(function(t){13===t.keyCode&&(t.preventDefault(),e(this).trigger("blur"))}).click(function(){e(this).select()}),e("#postimagediv").on("click",".fvp-set-image",t).on("click",".fvp-remove-image",i);var c,v={frame:function(){return this._frame?this._frame:(this._frame=wp.media({title:c.data("title"),library:{type:"video"},button:{text:c.data("button")},multiple:!1}),this._frame.on("open",this.updateFrame).state("library").on("select",this.select),this._frame)},select:function(){var t=this.get("selection"),i="url",a=c.data("target");e(a).val(t.pluck(i)).change().trigger("blur")},updateFrame:function(){},init:function(){e("#wpbody").on("click",".fvp-video-choose",function(t){t.preventDefault(),c=e(this).closest(".fvp-input-wrapper"),v.frame().open()})}};v.init()})}(jQuery);
|
lng/featured-video-plus-de_DE.mo
CHANGED
Binary file
|
lng/featured-video-plus-de_DE.po
CHANGED
@@ -7,33 +7,33 @@ msgstr ""
|
|
7 |
"Project-Id-Version: Featured Video Plus\n"
|
8 |
"Language: de\n"
|
9 |
|
10 |
-
#: php/class-backend.php:
|
11 |
msgid "Featured Video"
|
12 |
msgstr "Beitragsvideo"
|
13 |
|
14 |
-
#: php/class-backend.php:
|
15 |
msgid "Set Featured Video"
|
16 |
msgstr "Beitragsvideo festlegen"
|
17 |
|
18 |
-
#: php/class-backend.php:
|
19 |
msgid "Video URL"
|
20 |
msgstr "Video URL"
|
21 |
|
22 |
-
#: php/class-backend.php:
|
23 |
msgid "The current theme does not support Featured Images"
|
24 |
msgstr "Das aktuelle Theme nutzt keine Beitragsbilder."
|
25 |
|
26 |
-
#: php/class-backend.php:
|
27 |
msgid "To display Featured Videos you need to use the %1$sShortcode%2$s or %1$sPHP functions%2$s. To hide this notice deactivate %3$sReplace Featured Images%4$s in the %5$sMedia Settings%6$s."
|
28 |
msgstr "Um Beitragsvideos darzustellen musst du den %1$sShortcode%2§s oder %1$sPHP-Funktionen%2$s nutzen. Um diese Warnung zu deaktivieren stell %3$sBeitragsbilder ersetzen%4$s in den %5$sMedieneinstellungen%6$s aus."
|
29 |
|
30 |
#. #-#-#-#-# featured-video-plus.pot (Featured Video Plus 1.9.2) #-#-#-#-#
|
31 |
#. Plugin Name of the plugin/theme
|
32 |
-
#: php/class-
|
33 |
msgid "Featured Video Plus"
|
34 |
msgstr "Featured Video Plus"
|
35 |
|
36 |
-
#: php/class-
|
37 |
msgid "Take a video url from one of the %ssupported oembed providers%s and paste it into the Featured Video input field."
|
38 |
msgstr "Kopiere einen Video-Link von einem der %sunterstützten Anbieter%s in das Beitragsvideo-Eingabefeld."
|
39 |
|
@@ -49,207 +49,194 @@ msgstr "Videos konvertieren"
|
|
49 |
msgid "Take a look at the %sMiro Video Converter%s. It is open source, lightweight and compatible with Windows, Mac and Linux."
|
50 |
msgstr "Schau dir den %sMiro Video Converter%s an. Er is Open Source, klein, einfach zu verwenden und mit Windows, Mac und Linux kompatibel."
|
51 |
|
52 |
-
#: php/class-
|
53 |
msgid "Fixing upload errors"
|
54 |
msgstr "Videoupload Fehler beheben"
|
55 |
|
56 |
-
#: php/class-
|
57 |
msgid "Read %sthis%s on how to increase the maximum file upload size."
|
58 |
msgstr "Schau dir %sdiesen Link%s an um zu erfahren wie man die maximale Upload größe erhöht."
|
59 |
|
60 |
-
#: php/class-backend.php:
|
|
|
61 |
msgid "Featured Videos"
|
62 |
msgstr "Beitragsvideos"
|
63 |
|
64 |
-
#: php/class-backend.php:
|
65 |
msgid "Simply paste a URL into this input to add a bit extra life to your posts. %sTry an example%s."
|
66 |
msgstr "Kopier einfach eine URL in das Eingabefeld um deinen Videos ein wenig extra Leben einzuhauchen. %sProbier ein Beispiel%s."
|
67 |
|
68 |
-
#: php/class-backend.php:
|
69 |
msgid "To adjust how featured videos are displayed on the frontend checkout the %smedia settings%s."
|
70 |
msgstr "Wirf einen Blick in die %sMedien-Einstellungen%s um anzupassen wie Beitragsvideos dargestellt werden."
|
71 |
|
72 |
-
#: php/class-backend.php:
|
73 |
msgid "Featured Videos require a Featured Image for automatic replacement."
|
74 |
msgstr "Beitragsvideos benötigen ein Beitragsbild um automatisch dargestellt werden zu können."
|
75 |
|
76 |
-
#: php/class-backend.php:
|
77 |
msgid "Auto set"
|
78 |
msgstr "Automatisch erstellen"
|
79 |
|
80 |
-
#: php/class-settings.php:50
|
81 |
msgid "Display mode"
|
82 |
msgstr "Modus"
|
83 |
|
84 |
-
#: php/class-settings.php:58
|
85 |
msgid "Display Conditions"
|
86 |
msgstr "Konditionen"
|
87 |
|
88 |
-
#: php/class-settings.php:68
|
89 |
msgid "Video Sizing"
|
90 |
msgstr "Videogröße"
|
91 |
|
92 |
-
#: php/class-settings.php:77
|
93 |
msgid "Video Align"
|
94 |
msgstr "Positionierung"
|
95 |
|
96 |
-
#: php/class-settings.php:86
|
97 |
msgid "Default Arguments"
|
98 |
msgstr "Parameter"
|
99 |
|
100 |
-
#: php/class-settings.php:95
|
101 |
msgid "Support"
|
102 |
msgstr "Support"
|
103 |
|
104 |
-
#: php/class-settings.php:116
|
105 |
msgid "To display your featured videos you can either make use of the automatic replacement, use the %s or manually edit your theme's source files to make use of the plugins PHP-functions."
|
106 |
msgstr "Um die Artikelvideos anzuzeigen kannst du entweder das automatische Ersetzen der Artikelbilder nutzen, auf den %s zurückgreifen oder manuel die PHP-Funktionen in deine Theme Dateien integrieren."
|
107 |
|
108 |
-
#: php/class-settings.php:117
|
109 |
msgid "For more information about Shortcode and PHP functions see the %sContextual Help%s."
|
110 |
msgstr "Für mehr Informationen über den Shortcode und die PHP-Funktionen schaue in die %sHilfe%s."
|
111 |
|
112 |
-
#: php/class-settings.php:125
|
113 |
msgid "The current theme does not support featured images."
|
114 |
msgstr "Das aktuelle Theme unterstützt keine Beitragsbilder."
|
115 |
|
116 |
-
#: php/class-settings.php:128
|
117 |
msgid "To display Featured Videos you need to use the %1$sShortcode%2$s or %1$sPHP functions%2$s."
|
118 |
msgstr "Um Beitragsvideos darzustellen musst du leider den %1$sShortcode%2$s oder die %1$sPHP-Funktionen%2$s nutzen."
|
119 |
|
120 |
-
#: php/class-settings.php:151
|
121 |
msgid "Replace featured image automatically."
|
122 |
msgstr "Beitragsbild automatisch ersetzen."
|
123 |
|
124 |
-
#: php/class-settings.php:152
|
125 |
msgid "Replace featured image on click."
|
126 |
msgstr "Beitragsbild bei anklicken ersetzen."
|
127 |
|
128 |
-
#: php/class-settings.php:153
|
129 |
msgid "Open video overlay when featured image is clicked."
|
130 |
msgstr "Video in Overlay darstellen."
|
131 |
|
132 |
-
#: php/class-settings.php:154
|
133 |
msgid "Manual: PHP-functions or shortcodes."
|
134 |
msgstr "Manuell: PHP-Funktionen oder Shortcode."
|
135 |
|
136 |
-
#: php/class-settings.php:160
|
137 |
msgid "Automatic integration (options 1-3) requires your theme to make use of WordPress' native %sfeatured image%s functionality."
|
138 |
msgstr "Automatische Integration (Optionen 1 bis 3) benötigen ein Theme das die nativen WordPress %sBeitragsbild%s Funktionen nutzt."
|
139 |
|
140 |
-
#: php/class-settings.php:
|
141 |
msgid "View options are not available in manual mode."
|
142 |
msgstr "Darstellungsoptionen sind im manuellen Modus nicht verfügbar."
|
143 |
|
144 |
-
#: php/class-settings.php:
|
145 |
-
msgid "Only when viewing %ssingle%s posts and pages."
|
146 |
-
msgstr "Nur wenn %seinzelne%s Beiträge oder Seiten gezeigt wird."
|
147 |
-
|
148 |
-
#: php/class-settings.php:195
|
149 |
-
msgid "Only on the %spost index page%s."
|
150 |
-
msgstr "Nur auf der %sBeitrags-Indexseite%s."
|
151 |
-
|
152 |
-
#: php/class-settings.php:200
|
153 |
-
msgid "Only inside the %smain query%s of each page."
|
154 |
-
msgstr "Nur im %sprimären Query%s einer jeden Seite."
|
155 |
-
|
156 |
-
#: php/class-settings.php:205
|
157 |
-
msgid "Only for %ssticky%s posts."
|
158 |
-
msgstr "Nur für %sangeheftete%s Beiträge."
|
159 |
-
|
160 |
-
#: php/class-settings.php:234
|
161 |
msgid "Responsive"
|
162 |
msgstr "Dynamisch"
|
163 |
|
164 |
-
#: php/class-settings.php:
|
165 |
msgid "Width in pixels:"
|
166 |
msgstr "Breite in Pixeln:"
|
167 |
|
168 |
-
#: php/class-settings.php:
|
169 |
msgid "The %1$sresponsive%2$s setting does not work when using the %1$soverlay%2$s display mode and might break completly in some themes - in such cases you should use a fixed width instead."
|
170 |
msgstr "Die %1$dynamisch%2$s Einstellung funktioniert nicht in allen Themes und speziell auch nicht im %1$sOverlay%2$s-Modus. In dem Fall muss eine absolute Breite angegeben werden."
|
171 |
|
172 |
-
#: php/class-settings.php:
|
173 |
msgid "left"
|
174 |
msgstr "links"
|
175 |
|
176 |
-
#: php/class-settings.php:
|
177 |
msgid "center"
|
178 |
msgstr "zentriert"
|
179 |
|
180 |
-
#: php/class-settings.php:
|
181 |
msgid "right"
|
182 |
msgstr "rechts"
|
183 |
|
184 |
-
#: php/class-settings.php:
|
185 |
msgid "Not all of the following options might be supported by all providers."
|
186 |
msgstr "Nicht alle der folgenden Einstellungen werden von allen Providern unterstützt."
|
187 |
|
188 |
-
#: php/class-settings.php:
|
189 |
msgid "Autoplay"
|
190 |
msgstr "Automatisch Abspielen"
|
191 |
|
192 |
-
#: php/class-settings.php:
|
193 |
msgid "Loop"
|
194 |
msgstr "Dauerschleife"
|
195 |
|
196 |
-
#: php/class-settings.php:
|
197 |
msgid "If the owner of a video is a Plus member, some of these settings may be overridden by their preferences."
|
198 |
msgstr "Wenn der Videoeigentümer Vimeo-Plus Mitglied ist, kann er die folgenden Einstellungen für sein Video überschreiben."
|
199 |
|
200 |
-
#: php/class-settings.php:
|
201 |
msgid "Hide user's portrait"
|
202 |
msgstr "Nutzerbild verbergen."
|
203 |
|
204 |
-
#: php/class-settings.php:
|
205 |
msgid "Hide video title"
|
206 |
msgstr "Videotitel verbergen."
|
207 |
|
208 |
-
#: php/class-settings.php:
|
209 |
msgid "Hide video byline"
|
210 |
msgstr "Erstellerzeile verbergen."
|
211 |
|
212 |
-
#: php/class-settings.php:
|
213 |
msgid "Light theme"
|
214 |
msgstr "Helles Theme."
|
215 |
|
216 |
-
#: php/class-settings.php:
|
217 |
msgid "White highlight color"
|
218 |
msgstr "Weiße Betonungsfarbe."
|
219 |
|
220 |
-
#: php/class-settings.php:
|
221 |
msgid "Hide YouTube logo"
|
222 |
msgstr "YouTube Logo verbergen."
|
223 |
|
224 |
-
#: php/class-settings.php:
|
|
|
225 |
msgid "Hide related videos"
|
226 |
msgstr "Verwandte Videos verbergen."
|
227 |
|
228 |
-
#: php/class-settings.php:
|
229 |
msgid "Disallow fullscreen"
|
230 |
msgstr "Vollbildmodus unterdrücken."
|
231 |
|
232 |
-
#: php/class-settings.php:
|
|
|
233 |
msgid "Hide video info"
|
234 |
msgstr "Videoinfo verbergen."
|
235 |
|
236 |
-
#: php/class-settings.php:
|
237 |
msgid "Enable JavaScript API"
|
238 |
msgstr "JavaScript API aktivieren."
|
239 |
|
240 |
-
#: php/class-settings.php:
|
241 |
msgid "Hide DailyMotion logo"
|
242 |
msgstr "DailyMotion Logo verbergen."
|
243 |
|
244 |
-
#: php/class-settings.php:
|
245 |
msgid "Turn HD on by default"
|
246 |
msgstr "HD automatisch einschalten."
|
247 |
|
248 |
-
#: php/class-settings.php:
|
249 |
msgid "If you have found a bug or think a specific feature is missing, %slet me know%s in the support forum. Like this plugin? %sRate it%s or %sbuy me a cookie%s!"
|
250 |
msgstr "Wenn du einen Fehler gefunden hast oder eine bestimmte Funktion vermisst, %ssag im Support-Forum Bescheid%s. Dir gefällt das Plugin? %sHinterlasse eine Bewertung%s oder %sspende für die Entwicklung%s!"
|
251 |
|
252 |
-
#: php/class-
|
253 |
msgid "PHP-Functions"
|
254 |
msgstr "PHP-Funktionen"
|
255 |
|
@@ -257,15 +244,15 @@ msgstr "PHP-Funktionen"
|
|
257 |
msgid "All parameters are optional. If %s the current post's id will be used. %s is either a string keyword (thumbnail, medium, large or full) or a 2-item array representing width and height in pixels, e.g. array(32,32)."
|
258 |
msgstr "Alle Parameter sind optional. Wenn %s gilt, wird die ID des aktuellen Beitrags genutzt. %s ist entweder ein String (thumbnail, medium, large oder full) oder ein Array mit zwei Stellen (Breite und Höhe); Zum Beispiel array(32,32)."
|
259 |
|
260 |
-
#: php/class-
|
261 |
msgid "The functions are implemented corresponding to the original %sfunctions%s: They are intended to be used and to act the same way. Take a look into the WordPress Codex for further guidance:"
|
262 |
msgstr "Die Funktionen sind nach den original %sFunktionen%s implementiert. Sie sollten genauso genutzt werden können und sich genauso verhalten. Schau dir für mehr Informationen den WordPress Codex an:"
|
263 |
|
264 |
-
#: php/class-
|
265 |
msgid "Featured Image"
|
266 |
msgstr "Beitragsbild"
|
267 |
|
268 |
-
#: php/class-
|
269 |
msgid "Displays the video in its default size."
|
270 |
msgstr "Stellt das Video in seiner Standardgröße dar."
|
271 |
|
@@ -297,3 +284,65 @@ msgstr "Alexander Höreth"
|
|
297 |
msgid "http://yrnxt.com"
|
298 |
msgstr "http://yrnxt.com"
|
299 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
"Project-Id-Version: Featured Video Plus\n"
|
8 |
"Language: de\n"
|
9 |
|
10 |
+
#: build/php/class-backend.php:122 php/class-backend.php:122
|
11 |
msgid "Featured Video"
|
12 |
msgstr "Beitragsvideo"
|
13 |
|
14 |
+
#: build/php/class-backend.php:164 php/class-backend.php:164
|
15 |
msgid "Set Featured Video"
|
16 |
msgstr "Beitragsvideo festlegen"
|
17 |
|
18 |
+
#: build/php/class-backend.php:170 php/class-backend.php:170
|
19 |
msgid "Video URL"
|
20 |
msgstr "Video URL"
|
21 |
|
22 |
+
#: build/php/class-backend.php:198 php/class-backend.php:198
|
23 |
msgid "The current theme does not support Featured Images"
|
24 |
msgstr "Das aktuelle Theme nutzt keine Beitragsbilder."
|
25 |
|
26 |
+
#: build/php/class-backend.php:205 php/class-backend.php:205
|
27 |
msgid "To display Featured Videos you need to use the %1$sShortcode%2$s or %1$sPHP functions%2$s. To hide this notice deactivate %3$sReplace Featured Images%4$s in the %5$sMedia Settings%6$s."
|
28 |
msgstr "Um Beitragsvideos darzustellen musst du den %1$sShortcode%2§s oder %1$sPHP-Funktionen%2$s nutzen. Um diese Warnung zu deaktivieren stell %3$sBeitragsbilder ersetzen%4$s in den %5$sMedieneinstellungen%6$s aus."
|
29 |
|
30 |
#. #-#-#-#-# featured-video-plus.pot (Featured Video Plus 1.9.2) #-#-#-#-#
|
31 |
#. Plugin Name of the plugin/theme
|
32 |
+
#: build/php/class-help.php:23 php/class-help.php:23
|
33 |
msgid "Featured Video Plus"
|
34 |
msgstr "Featured Video Plus"
|
35 |
|
36 |
+
#: build/php/class-help.php:31 php/class-help.php:31
|
37 |
msgid "Take a video url from one of the %ssupported oembed providers%s and paste it into the Featured Video input field."
|
38 |
msgstr "Kopiere einen Video-Link von einem der %sunterstützten Anbieter%s in das Beitragsvideo-Eingabefeld."
|
39 |
|
49 |
msgid "Take a look at the %sMiro Video Converter%s. It is open source, lightweight and compatible with Windows, Mac and Linux."
|
50 |
msgstr "Schau dir den %sMiro Video Converter%s an. Er is Open Source, klein, einfach zu verwenden und mit Windows, Mac und Linux kompatibel."
|
51 |
|
52 |
+
#: build/php/class-help.php:52 php/class-help.php:52
|
53 |
msgid "Fixing upload errors"
|
54 |
msgstr "Videoupload Fehler beheben"
|
55 |
|
56 |
+
#: build/php/class-help.php:58 php/class-help.php:58
|
57 |
msgid "Read %sthis%s on how to increase the maximum file upload size."
|
58 |
msgstr "Schau dir %sdiesen Link%s an um zu erfahren wie man die maximale Upload größe erhöht."
|
59 |
|
60 |
+
#: build/php/class-backend.php:603 build/php/class-settings.php:39
|
61 |
+
#: php/class-backend.php:603 php/class-settings.php:39
|
62 |
msgid "Featured Videos"
|
63 |
msgstr "Beitragsvideos"
|
64 |
|
65 |
+
#: build/php/class-backend.php:605 php/class-backend.php:605
|
66 |
msgid "Simply paste a URL into this input to add a bit extra life to your posts. %sTry an example%s."
|
67 |
msgstr "Kopier einfach eine URL in das Eingabefeld um deinen Videos ein wenig extra Leben einzuhauchen. %sProbier ein Beispiel%s."
|
68 |
|
69 |
+
#: build/php/class-backend.php:612 php/class-backend.php:612
|
70 |
msgid "To adjust how featured videos are displayed on the frontend checkout the %smedia settings%s."
|
71 |
msgstr "Wirf einen Blick in die %sMedien-Einstellungen%s um anzupassen wie Beitragsvideos dargestellt werden."
|
72 |
|
73 |
+
#: build/php/class-backend.php:669 php/class-backend.php:669
|
74 |
msgid "Featured Videos require a Featured Image for automatic replacement."
|
75 |
msgstr "Beitragsvideos benötigen ein Beitragsbild um automatisch dargestellt werden zu können."
|
76 |
|
77 |
+
#: build/php/class-backend.php:673 php/class-backend.php:673
|
78 |
msgid "Auto set"
|
79 |
msgstr "Automatisch erstellen"
|
80 |
|
81 |
+
#: build/php/class-settings.php:50 php/class-settings.php:50
|
82 |
msgid "Display mode"
|
83 |
msgstr "Modus"
|
84 |
|
85 |
+
#: build/php/class-settings.php:58 php/class-settings.php:58
|
86 |
msgid "Display Conditions"
|
87 |
msgstr "Konditionen"
|
88 |
|
89 |
+
#: build/php/class-settings.php:68 php/class-settings.php:68
|
90 |
msgid "Video Sizing"
|
91 |
msgstr "Videogröße"
|
92 |
|
93 |
+
#: build/php/class-settings.php:77 php/class-settings.php:77
|
94 |
msgid "Video Align"
|
95 |
msgstr "Positionierung"
|
96 |
|
97 |
+
#: build/php/class-settings.php:86 php/class-settings.php:86
|
98 |
msgid "Default Arguments"
|
99 |
msgstr "Parameter"
|
100 |
|
101 |
+
#: build/php/class-settings.php:95 php/class-settings.php:95
|
102 |
msgid "Support"
|
103 |
msgstr "Support"
|
104 |
|
105 |
+
#: build/php/class-settings.php:116 php/class-settings.php:116
|
106 |
msgid "To display your featured videos you can either make use of the automatic replacement, use the %s or manually edit your theme's source files to make use of the plugins PHP-functions."
|
107 |
msgstr "Um die Artikelvideos anzuzeigen kannst du entweder das automatische Ersetzen der Artikelbilder nutzen, auf den %s zurückgreifen oder manuel die PHP-Funktionen in deine Theme Dateien integrieren."
|
108 |
|
109 |
+
#: build/php/class-settings.php:117 php/class-settings.php:117
|
110 |
msgid "For more information about Shortcode and PHP functions see the %sContextual Help%s."
|
111 |
msgstr "Für mehr Informationen über den Shortcode und die PHP-Funktionen schaue in die %sHilfe%s."
|
112 |
|
113 |
+
#: build/php/class-settings.php:125 php/class-settings.php:125
|
114 |
msgid "The current theme does not support featured images."
|
115 |
msgstr "Das aktuelle Theme unterstützt keine Beitragsbilder."
|
116 |
|
117 |
+
#: build/php/class-settings.php:128 php/class-settings.php:128
|
118 |
msgid "To display Featured Videos you need to use the %1$sShortcode%2$s or %1$sPHP functions%2$s."
|
119 |
msgstr "Um Beitragsvideos darzustellen musst du leider den %1$sShortcode%2$s oder die %1$sPHP-Funktionen%2$s nutzen."
|
120 |
|
121 |
+
#: build/php/class-settings.php:151 php/class-settings.php:151
|
122 |
msgid "Replace featured image automatically."
|
123 |
msgstr "Beitragsbild automatisch ersetzen."
|
124 |
|
125 |
+
#: build/php/class-settings.php:152 php/class-settings.php:152
|
126 |
msgid "Replace featured image on click."
|
127 |
msgstr "Beitragsbild bei anklicken ersetzen."
|
128 |
|
129 |
+
#: build/php/class-settings.php:153 php/class-settings.php:153
|
130 |
msgid "Open video overlay when featured image is clicked."
|
131 |
msgstr "Video in Overlay darstellen."
|
132 |
|
133 |
+
#: build/php/class-settings.php:154 php/class-settings.php:154
|
134 |
msgid "Manual: PHP-functions or shortcodes."
|
135 |
msgstr "Manuell: PHP-Funktionen oder Shortcode."
|
136 |
|
137 |
+
#: build/php/class-settings.php:160 php/class-settings.php:160
|
138 |
msgid "Automatic integration (options 1-3) requires your theme to make use of WordPress' native %sfeatured image%s functionality."
|
139 |
msgstr "Automatische Integration (Optionen 1 bis 3) benötigen ein Theme das die nativen WordPress %sBeitragsbild%s Funktionen nutzt."
|
140 |
|
141 |
+
#: build/php/class-settings.php:203 php/class-settings.php:203
|
142 |
msgid "View options are not available in manual mode."
|
143 |
msgstr "Darstellungsoptionen sind im manuellen Modus nicht verfügbar."
|
144 |
|
145 |
+
#: build/php/class-settings.php:274 php/class-settings.php:274
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
msgid "Responsive"
|
147 |
msgstr "Dynamisch"
|
148 |
|
149 |
+
#: build/php/class-settings.php:281 php/class-settings.php:281
|
150 |
msgid "Width in pixels:"
|
151 |
msgstr "Breite in Pixeln:"
|
152 |
|
153 |
+
#: build/php/class-settings.php:298 php/class-settings.php:298
|
154 |
msgid "The %1$sresponsive%2$s setting does not work when using the %1$soverlay%2$s display mode and might break completly in some themes - in such cases you should use a fixed width instead."
|
155 |
msgstr "Die %1$dynamisch%2$s Einstellung funktioniert nicht in allen Themes und speziell auch nicht im %1$sOverlay%2$s-Modus. In dem Fall muss eine absolute Breite angegeben werden."
|
156 |
|
157 |
+
#: build/php/class-settings.php:319 php/class-settings.php:319
|
158 |
msgid "left"
|
159 |
msgstr "links"
|
160 |
|
161 |
+
#: build/php/class-settings.php:320 php/class-settings.php:320
|
162 |
msgid "center"
|
163 |
msgstr "zentriert"
|
164 |
|
165 |
+
#: build/php/class-settings.php:321 php/class-settings.php:321
|
166 |
msgid "right"
|
167 |
msgstr "rechts"
|
168 |
|
169 |
+
#: build/php/class-settings.php:344 php/class-settings.php:344
|
170 |
msgid "Not all of the following options might be supported by all providers."
|
171 |
msgstr "Nicht alle der folgenden Einstellungen werden von allen Providern unterstützt."
|
172 |
|
173 |
+
#: build/php/class-settings.php:352 php/class-settings.php:352
|
174 |
msgid "Autoplay"
|
175 |
msgstr "Automatisch Abspielen"
|
176 |
|
177 |
+
#: build/php/class-settings.php:353 php/class-settings.php:353
|
178 |
msgid "Loop"
|
179 |
msgstr "Dauerschleife"
|
180 |
|
181 |
+
#: build/php/class-settings.php:361 php/class-settings.php:361
|
182 |
msgid "If the owner of a video is a Plus member, some of these settings may be overridden by their preferences."
|
183 |
msgstr "Wenn der Videoeigentümer Vimeo-Plus Mitglied ist, kann er die folgenden Einstellungen für sein Video überschreiben."
|
184 |
|
185 |
+
#: build/php/class-settings.php:376 php/class-settings.php:376
|
186 |
msgid "Hide user's portrait"
|
187 |
msgstr "Nutzerbild verbergen."
|
188 |
|
189 |
+
#: build/php/class-settings.php:380 php/class-settings.php:380
|
190 |
msgid "Hide video title"
|
191 |
msgstr "Videotitel verbergen."
|
192 |
|
193 |
+
#: build/php/class-settings.php:384 php/class-settings.php:384
|
194 |
msgid "Hide video byline"
|
195 |
msgstr "Erstellerzeile verbergen."
|
196 |
|
197 |
+
#: build/php/class-settings.php:397 php/class-settings.php:397
|
198 |
msgid "Light theme"
|
199 |
msgstr "Helles Theme."
|
200 |
|
201 |
+
#: build/php/class-settings.php:401 php/class-settings.php:401
|
202 |
msgid "White highlight color"
|
203 |
msgstr "Weiße Betonungsfarbe."
|
204 |
|
205 |
+
#: build/php/class-settings.php:403 php/class-settings.php:403
|
206 |
msgid "Hide YouTube logo"
|
207 |
msgstr "YouTube Logo verbergen."
|
208 |
|
209 |
+
#: build/php/class-settings.php:406 build/php/class-settings.php:456
|
210 |
+
#: php/class-settings.php:406 php/class-settings.php:456
|
211 |
msgid "Hide related videos"
|
212 |
msgstr "Verwandte Videos verbergen."
|
213 |
|
214 |
+
#: build/php/class-settings.php:410 php/class-settings.php:410
|
215 |
msgid "Disallow fullscreen"
|
216 |
msgstr "Vollbildmodus unterdrücken."
|
217 |
|
218 |
+
#: build/php/class-settings.php:414 build/php/class-settings.php:452
|
219 |
+
#: php/class-settings.php:414 php/class-settings.php:452
|
220 |
msgid "Hide video info"
|
221 |
msgstr "Videoinfo verbergen."
|
222 |
|
223 |
+
#: build/php/class-settings.php:416 php/class-settings.php:416
|
224 |
msgid "Enable JavaScript API"
|
225 |
msgstr "JavaScript API aktivieren."
|
226 |
|
227 |
+
#: build/php/class-settings.php:448 php/class-settings.php:448
|
228 |
msgid "Hide DailyMotion logo"
|
229 |
msgstr "DailyMotion Logo verbergen."
|
230 |
|
231 |
+
#: build/php/class-settings.php:460 php/class-settings.php:460
|
232 |
msgid "Turn HD on by default"
|
233 |
msgstr "HD automatisch einschalten."
|
234 |
|
235 |
+
#: build/php/class-settings.php:479 php/class-settings.php:479
|
236 |
msgid "If you have found a bug or think a specific feature is missing, %slet me know%s in the support forum. Like this plugin? %sRate it%s or %sbuy me a cookie%s!"
|
237 |
msgstr "Wenn du einen Fehler gefunden hast oder eine bestimmte Funktion vermisst, %ssag im Support-Forum Bescheid%s. Dir gefällt das Plugin? %sHinterlasse eine Bewertung%s oder %sspende für die Entwicklung%s!"
|
238 |
|
239 |
+
#: build/php/class-help.php:82 php/class-help.php:82
|
240 |
msgid "PHP-Functions"
|
241 |
msgstr "PHP-Funktionen"
|
242 |
|
244 |
msgid "All parameters are optional. If %s the current post's id will be used. %s is either a string keyword (thumbnail, medium, large or full) or a 2-item array representing width and height in pixels, e.g. array(32,32)."
|
245 |
msgstr "Alle Parameter sind optional. Wenn %s gilt, wird die ID des aktuellen Beitrags genutzt. %s ist entweder ein String (thumbnail, medium, large oder full) oder ein Array mit zwei Stellen (Breite und Höhe); Zum Beispiel array(32,32)."
|
246 |
|
247 |
+
#: build/php/class-help.php:115 php/class-help.php:115
|
248 |
msgid "The functions are implemented corresponding to the original %sfunctions%s: They are intended to be used and to act the same way. Take a look into the WordPress Codex for further guidance:"
|
249 |
msgstr "Die Funktionen sind nach den original %sFunktionen%s implementiert. Sie sollten genauso genutzt werden können und sich genauso verhalten. Schau dir für mehr Informationen den WordPress Codex an:"
|
250 |
|
251 |
+
#: build/php/class-help.php:119 php/class-help.php:119
|
252 |
msgid "Featured Image"
|
253 |
msgstr "Beitragsbild"
|
254 |
|
255 |
+
#: build/php/class-help.php:156 php/class-help.php:156
|
256 |
msgid "Displays the video in its default size."
|
257 |
msgstr "Stellt das Video in seiner Standardgröße dar."
|
258 |
|
284 |
msgid "http://yrnxt.com"
|
285 |
msgstr "http://yrnxt.com"
|
286 |
|
287 |
+
#: build/php/class-help.php:41 php/class-help.php:41
|
288 |
+
msgid "Alternatively you can select one of the videos from your media library using the small media icon to the right in the URL input field. The plugin makes use of %sWordPress' native HTML5 video functionality%s - no gurantee for compatibility with all formats."
|
289 |
+
msgstr "Alternativ kannst du eines deiner eigenen Videos aus der Medienbibliothek auswählen indem du das kleine Icon rechts im URL Eingabefeld anklickst. Das Plugin nutzt die %WordPress eigene HTML5 Video-Funktionalität%s - keine Garantie dafür, dass alle Formate funktionieren."
|
290 |
+
|
291 |
+
#: build/php/class-help.php:104 php/class-help.php:104
|
292 |
+
msgctxt "%1$s is a boolean condition, \\\"post_id == null\\\", %2$s is a PHP variable, %2$s is a list of strings in paranthesis."
|
293 |
+
msgid "All parameters are optional. If %1$s the current post's id will be used. %2$s is either a string %2$s or a 2-item array representing width and height in pixels, e.g. array(32,32)."
|
294 |
+
msgstr "Alle Parameter sind optional. Wenn %1$s, wird die ID des aktuellen Posts genutzt. %2$s kann entweder ein String %2$s oder ein Array mit 2 Elementen sein die die Breite und Höhe in Pixeln festlegen, z.B. array(32, 32)."
|
295 |
+
|
296 |
+
#: build/php/class-help.php:111 build/php/class-settings.php:198
|
297 |
+
#: php/class-help.php:111 php/class-settings.php:198
|
298 |
+
msgid "or"
|
299 |
+
msgstr "oder"
|
300 |
+
|
301 |
+
#: build/php/class-help.php:143 php/class-help.php:143
|
302 |
+
msgid "Featured Video Plus: Shortcode"
|
303 |
+
msgstr "Featured Video Plus: Shortcode"
|
304 |
+
|
305 |
+
#: build/php/class-help.php:160 php/class-help.php:160
|
306 |
+
msgid "Displays the video with a width of 300 pixel. Height will be fitted such that the aspect ratio is preserved."
|
307 |
+
msgstr "Stellt das Video mit einer Breite von 300 Pixeln dar. Die Höhe wird automatisch so angepasst, dass das Seitenverhältnis erhalten bleibt."
|
308 |
+
|
309 |
+
#: build/php/class-help.php:164 php/class-help.php:164
|
310 |
+
msgid "Displays the video with a fixed width and height."
|
311 |
+
msgstr "Stellt das Video mit einer absoluten Höhe und Breite dar."
|
312 |
+
|
313 |
+
#: build/php/class-settings.php:169 php/class-settings.php:169
|
314 |
+
msgid "Always use replace mode when viewing %ssingle%s posts and pages."
|
315 |
+
msgstr "Auf %seinzelnen%s Seiten immer \"automatisch ersetzen\" nutzen."
|
316 |
+
|
317 |
+
#: build/php/class-settings.php:225 php/class-settings.php:225
|
318 |
+
msgid "when on the %spost index page%s %s"
|
319 |
+
msgstr "wenn auf der %sIndex-Seite%s %s"
|
320 |
+
|
321 |
+
#: build/php/class-settings.php:231 php/class-settings.php:231
|
322 |
+
msgid "when inside the %smain query%s of each page %s"
|
323 |
+
msgstr "wenn innerhalb des %Main-Queries%s einer jeden Seite %s"
|
324 |
+
|
325 |
+
#: build/php/class-settings.php:237 php/class-settings.php:237
|
326 |
+
msgid "when displaying %ssticky%s posts."
|
327 |
+
msgstr "wenn ein %ssticky%s Post dargestellt wird."
|
328 |
+
|
329 |
+
#: build/php/class-settings.php:249 php/class-settings.php:249
|
330 |
+
msgid "If none of the above options is selected the display mode will be applied whenever possible."
|
331 |
+
msgstr "Wenn keine der obenstehenden Optionen gewählt ist, wird der festgelegte Darstellungsmodus immer wenn möglich angewendet."
|
332 |
+
|
333 |
+
#: build/php/class-settings.php:213 php/class-settings.php:213
|
334 |
+
msgid "Apply display mode..."
|
335 |
+
msgstr "Darstellungsmodus anwenden..."
|
336 |
+
|
337 |
+
#: build/php/class-settings.php:219 php/class-settings.php:219
|
338 |
+
msgid "when viewing %ssingle%s posts and pages %s"
|
339 |
+
msgstr "wenn %seinzelne%s Beiträge oder Seiten angeschaut werden %s"
|
340 |
+
|
341 |
+
#: build/php/class-backend.php:662 php/class-backend.php:662
|
342 |
+
msgid "Remove featured image"
|
343 |
+
msgstr "Beitragsbild entfernen"
|
344 |
+
|
345 |
+
#: build/php/class-settings.php:242 php/class-settings.php:242
|
346 |
+
msgid "when displaying not %ssticky%s posts."
|
347 |
+
msgstr "wenn nicht %sangeheftete%s Beiträge angezeigt werden."
|
348 |
+
|
lng/featured-video-plus.pot
CHANGED
@@ -2,10 +2,10 @@
|
|
2 |
# This file is distributed under the same license as the Featured Video Plus package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Featured Video Plus 2.
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/featured-video-"
|
7 |
-
"plus
|
8 |
-
"POT-Creation-Date: 2015-06-
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -13,66 +13,71 @@ msgstr ""
|
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
|
16 |
-
#: php/class-backend.php:
|
17 |
msgid "Featured Video"
|
18 |
msgstr ""
|
19 |
|
20 |
-
#: php/class-backend.php:
|
21 |
msgid "Set Featured Video"
|
22 |
msgstr ""
|
23 |
|
24 |
-
#: php/class-backend.php:
|
25 |
msgid "Video URL"
|
26 |
msgstr ""
|
27 |
|
28 |
-
#: php/class-backend.php:
|
29 |
msgid "The current theme does not support Featured Images"
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: php/class-backend.php:
|
33 |
msgid ""
|
34 |
"To display Featured Videos you need to use the %1$sShortcode%2$s or %1$sPHP "
|
35 |
"functions%2$s. To hide this notice deactivate %3$sReplace Featured Images"
|
36 |
"%4$s in the %5$sMedia Settings%6$s."
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: php/class-backend.php:
|
|
|
40 |
msgid "Featured Videos"
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: php/class-backend.php:
|
44 |
msgid ""
|
45 |
"Simply paste a URL into this input to add a bit extra life to your posts. "
|
46 |
"%sTry an example%s."
|
47 |
msgstr ""
|
48 |
|
49 |
-
#: php/class-backend.php:
|
50 |
msgid ""
|
51 |
"To adjust how featured videos are displayed on the frontend checkout the "
|
52 |
"%smedia settings%s."
|
53 |
msgstr ""
|
54 |
|
55 |
-
#: php/class-backend.php:
|
|
|
|
|
|
|
|
|
56 |
msgid "Featured Videos require a Featured Image for automatic replacement."
|
57 |
msgstr ""
|
58 |
|
59 |
-
#: php/class-backend.php:
|
60 |
msgid "Auto set"
|
61 |
msgstr ""
|
62 |
|
63 |
-
#. #-#-#-#-# featured-video-plus.pot (Featured Video Plus 2.
|
64 |
#. Plugin Name of the plugin/theme
|
65 |
-
#: php/class-help.php:23
|
66 |
msgid "Featured Video Plus"
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: php/class-help.php:31
|
70 |
msgid ""
|
71 |
"Take a video url from one of the %ssupported oembed providers%s and paste it "
|
72 |
"into the Featured Video input field."
|
73 |
msgstr ""
|
74 |
|
75 |
-
#: php/class-help.php:41
|
76 |
msgid ""
|
77 |
"Alternatively you can select one of the videos from your media library using "
|
78 |
"the small media icon to the right in the URL input field. The plugin makes "
|
@@ -80,19 +85,19 @@ msgid ""
|
|
80 |
"compatibility with all formats."
|
81 |
msgstr ""
|
82 |
|
83 |
-
#: php/class-help.php:52
|
84 |
msgid "Fixing upload errors"
|
85 |
msgstr ""
|
86 |
|
87 |
-
#: php/class-help.php:58
|
88 |
msgid "Read %sthis%s on how to increase the maximum file upload size."
|
89 |
msgstr ""
|
90 |
|
91 |
-
#: php/class-help.php:82
|
92 |
msgid "PHP-Functions"
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: php/class-help.php:104
|
96 |
msgctxt ""
|
97 |
"%1$s is a boolean condition, \\\"post_id == null\\\", %2$s is a PHP "
|
98 |
"variable, %2$s is a list of strings in paranthesis."
|
@@ -102,222 +107,243 @@ msgid ""
|
|
102 |
"in pixels, e.g. array(32,32)."
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: php/class-help.php:111
|
|
|
106 |
msgid "or"
|
107 |
msgstr ""
|
108 |
|
109 |
-
#: php/class-help.php:115
|
110 |
msgid ""
|
111 |
"The functions are implemented corresponding to the original %sfunctions%s: "
|
112 |
"They are intended to be used and to act the same way. Take a look into the "
|
113 |
"WordPress Codex for further guidance:"
|
114 |
msgstr ""
|
115 |
|
116 |
-
#: php/class-help.php:119
|
117 |
msgid "Featured Image"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: php/class-help.php:143
|
121 |
msgid "Featured Video Plus: Shortcode"
|
122 |
msgstr ""
|
123 |
|
124 |
-
#: php/class-help.php:156
|
125 |
msgid "Displays the video in its default size."
|
126 |
msgstr ""
|
127 |
|
128 |
-
#: php/class-help.php:160
|
129 |
msgid ""
|
130 |
"Displays the video with a width of 300 pixel. Height will be fitted such "
|
131 |
"that the aspect ratio is preserved."
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: php/class-help.php:164
|
135 |
msgid "Displays the video with a fixed width and height."
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: php/class-settings.php:
|
139 |
msgid "Display mode"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: php/class-settings.php:
|
143 |
msgid "Display Conditions"
|
144 |
msgstr ""
|
145 |
|
146 |
-
#: php/class-settings.php:
|
147 |
msgid "Video Sizing"
|
148 |
msgstr ""
|
149 |
|
150 |
-
#: php/class-settings.php:
|
151 |
msgid "Video Align"
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: php/class-settings.php:
|
155 |
msgid "Default Arguments"
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: php/class-settings.php:
|
159 |
msgid "Support"
|
160 |
msgstr ""
|
161 |
|
162 |
-
#: php/class-settings.php:
|
163 |
msgid ""
|
164 |
"To display your featured videos you can either make use of the automatic "
|
165 |
"replacement, use the %s or manually edit your theme's source files to make "
|
166 |
"use of the plugins PHP-functions."
|
167 |
msgstr ""
|
168 |
|
169 |
-
#: php/class-settings.php:
|
170 |
msgid ""
|
171 |
"For more information about Shortcode and PHP functions see the %sContextual "
|
172 |
"Help%s."
|
173 |
msgstr ""
|
174 |
|
175 |
-
#: php/class-settings.php:
|
176 |
msgid "The current theme does not support featured images."
|
177 |
msgstr ""
|
178 |
|
179 |
-
#: php/class-settings.php:
|
180 |
msgid ""
|
181 |
"To display Featured Videos you need to use the %1$sShortcode%2$s or %1$sPHP "
|
182 |
"functions%2$s."
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: php/class-settings.php:
|
186 |
msgid "Replace featured image automatically."
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: php/class-settings.php:
|
190 |
msgid "Replace featured image on click."
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: php/class-settings.php:
|
194 |
msgid "Open video overlay when featured image is clicked."
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: php/class-settings.php:
|
198 |
msgid "Manual: PHP-functions or shortcodes."
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: php/class-settings.php:
|
202 |
msgid ""
|
203 |
"Automatic integration (options 1-3) requires your theme to make use of "
|
204 |
"WordPress' native %sfeatured image%s functionality."
|
205 |
msgstr ""
|
206 |
|
207 |
-
#: php/class-settings.php:
|
|
|
|
|
|
|
|
|
208 |
msgid "View options are not available in manual mode."
|
209 |
msgstr ""
|
210 |
|
211 |
-
#: php/class-settings.php:
|
212 |
-
msgid "
|
|
|
|
|
|
|
|
|
213 |
msgstr ""
|
214 |
|
215 |
-
#: php/class-settings.php:
|
216 |
-
msgid "
|
217 |
msgstr ""
|
218 |
|
219 |
-
#: php/class-settings.php:
|
220 |
-
msgid "
|
221 |
msgstr ""
|
222 |
|
223 |
-
#: php/class-settings.php:
|
224 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: php/class-settings.php:
|
228 |
msgid "Responsive"
|
229 |
msgstr ""
|
230 |
|
231 |
-
#: php/class-settings.php:
|
232 |
msgid "Width in pixels:"
|
233 |
msgstr ""
|
234 |
|
235 |
-
#: php/class-settings.php:
|
236 |
msgid ""
|
237 |
"The %1$sresponsive%2$s setting does not work when using the %1$soverlay%2$s "
|
238 |
"display mode and might break completly in some themes - in such cases you "
|
239 |
"should use a fixed width instead."
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: php/class-settings.php:
|
243 |
msgid "left"
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: php/class-settings.php:
|
247 |
msgid "center"
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: php/class-settings.php:
|
251 |
msgid "right"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: php/class-settings.php:
|
255 |
msgid "Not all of the following options might be supported by all providers."
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: php/class-settings.php:
|
259 |
msgid "Autoplay"
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: php/class-settings.php:
|
263 |
msgid "Loop"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: php/class-settings.php:
|
267 |
msgid ""
|
268 |
"If the owner of a video is a Plus member, some of these settings may be "
|
269 |
"overridden by their preferences."
|
270 |
msgstr ""
|
271 |
|
272 |
-
#: php/class-settings.php:
|
273 |
msgid "Hide user's portrait"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: php/class-settings.php:
|
277 |
msgid "Hide video title"
|
278 |
msgstr ""
|
279 |
|
280 |
-
#: php/class-settings.php:
|
281 |
msgid "Hide video byline"
|
282 |
msgstr ""
|
283 |
|
284 |
-
#: php/class-settings.php:
|
285 |
msgid "Light theme"
|
286 |
msgstr ""
|
287 |
|
288 |
-
#: php/class-settings.php:
|
289 |
msgid "White highlight color"
|
290 |
msgstr ""
|
291 |
|
292 |
-
#: php/class-settings.php:
|
293 |
msgid "Hide YouTube logo"
|
294 |
msgstr ""
|
295 |
|
296 |
-
#: php/class-settings.php:
|
|
|
297 |
msgid "Hide related videos"
|
298 |
msgstr ""
|
299 |
|
300 |
-
#: php/class-settings.php:
|
301 |
msgid "Disallow fullscreen"
|
302 |
msgstr ""
|
303 |
|
304 |
-
#: php/class-settings.php:
|
|
|
305 |
msgid "Hide video info"
|
306 |
msgstr ""
|
307 |
|
308 |
-
#: php/class-settings.php:
|
309 |
msgid "Enable JavaScript API"
|
310 |
msgstr ""
|
311 |
|
312 |
-
#: php/class-settings.php:
|
313 |
msgid "Hide DailyMotion logo"
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: php/class-settings.php:
|
317 |
msgid "Turn HD on by default"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: php/class-settings.php:
|
321 |
msgid ""
|
322 |
"If you have found a bug or think a specific feature is missing, %slet me know"
|
323 |
"%s in the support forum. Like this plugin? %sRate it%s or %sbuy me a cookie"
|
2 |
# This file is distributed under the same license as the Featured Video Plus package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Featured Video Plus 2.1.0\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/support/plugin/featured-video-"
|
7 |
+
"plus\n"
|
8 |
+
"POT-Creation-Date: 2015-06-11 16:28:03+00:00\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
14 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
|
16 |
+
#: build/php/class-backend.php:122 php/class-backend.php:122
|
17 |
msgid "Featured Video"
|
18 |
msgstr ""
|
19 |
|
20 |
+
#: build/php/class-backend.php:164 php/class-backend.php:164
|
21 |
msgid "Set Featured Video"
|
22 |
msgstr ""
|
23 |
|
24 |
+
#: build/php/class-backend.php:170 php/class-backend.php:170
|
25 |
msgid "Video URL"
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: build/php/class-backend.php:198 php/class-backend.php:198
|
29 |
msgid "The current theme does not support Featured Images"
|
30 |
msgstr ""
|
31 |
|
32 |
+
#: build/php/class-backend.php:205 php/class-backend.php:205
|
33 |
msgid ""
|
34 |
"To display Featured Videos you need to use the %1$sShortcode%2$s or %1$sPHP "
|
35 |
"functions%2$s. To hide this notice deactivate %3$sReplace Featured Images"
|
36 |
"%4$s in the %5$sMedia Settings%6$s."
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: build/php/class-backend.php:603 build/php/class-settings.php:39
|
40 |
+
#: php/class-backend.php:603 php/class-settings.php:39
|
41 |
msgid "Featured Videos"
|
42 |
msgstr ""
|
43 |
|
44 |
+
#: build/php/class-backend.php:605 php/class-backend.php:605
|
45 |
msgid ""
|
46 |
"Simply paste a URL into this input to add a bit extra life to your posts. "
|
47 |
"%sTry an example%s."
|
48 |
msgstr ""
|
49 |
|
50 |
+
#: build/php/class-backend.php:612 php/class-backend.php:612
|
51 |
msgid ""
|
52 |
"To adjust how featured videos are displayed on the frontend checkout the "
|
53 |
"%smedia settings%s."
|
54 |
msgstr ""
|
55 |
|
56 |
+
#: build/php/class-backend.php:662 php/class-backend.php:662
|
57 |
+
msgid "Remove featured image"
|
58 |
+
msgstr ""
|
59 |
+
|
60 |
+
#: build/php/class-backend.php:669 php/class-backend.php:669
|
61 |
msgid "Featured Videos require a Featured Image for automatic replacement."
|
62 |
msgstr ""
|
63 |
|
64 |
+
#: build/php/class-backend.php:673 php/class-backend.php:673
|
65 |
msgid "Auto set"
|
66 |
msgstr ""
|
67 |
|
68 |
+
#. #-#-#-#-# featured-video-plus.pot (Featured Video Plus 2.1.0) #-#-#-#-#
|
69 |
#. Plugin Name of the plugin/theme
|
70 |
+
#: build/php/class-help.php:23 php/class-help.php:23
|
71 |
msgid "Featured Video Plus"
|
72 |
msgstr ""
|
73 |
|
74 |
+
#: build/php/class-help.php:31 php/class-help.php:31
|
75 |
msgid ""
|
76 |
"Take a video url from one of the %ssupported oembed providers%s and paste it "
|
77 |
"into the Featured Video input field."
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: build/php/class-help.php:41 php/class-help.php:41
|
81 |
msgid ""
|
82 |
"Alternatively you can select one of the videos from your media library using "
|
83 |
"the small media icon to the right in the URL input field. The plugin makes "
|
85 |
"compatibility with all formats."
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: build/php/class-help.php:52 php/class-help.php:52
|
89 |
msgid "Fixing upload errors"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: build/php/class-help.php:58 php/class-help.php:58
|
93 |
msgid "Read %sthis%s on how to increase the maximum file upload size."
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: build/php/class-help.php:82 php/class-help.php:82
|
97 |
msgid "PHP-Functions"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: build/php/class-help.php:104 php/class-help.php:104
|
101 |
msgctxt ""
|
102 |
"%1$s is a boolean condition, \\\"post_id == null\\\", %2$s is a PHP "
|
103 |
"variable, %2$s is a list of strings in paranthesis."
|
107 |
"in pixels, e.g. array(32,32)."
|
108 |
msgstr ""
|
109 |
|
110 |
+
#: build/php/class-help.php:111 build/php/class-settings.php:198
|
111 |
+
#: php/class-help.php:111 php/class-settings.php:198
|
112 |
msgid "or"
|
113 |
msgstr ""
|
114 |
|
115 |
+
#: build/php/class-help.php:115 php/class-help.php:115
|
116 |
msgid ""
|
117 |
"The functions are implemented corresponding to the original %sfunctions%s: "
|
118 |
"They are intended to be used and to act the same way. Take a look into the "
|
119 |
"WordPress Codex for further guidance:"
|
120 |
msgstr ""
|
121 |
|
122 |
+
#: build/php/class-help.php:119 php/class-help.php:119
|
123 |
msgid "Featured Image"
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: build/php/class-help.php:143 php/class-help.php:143
|
127 |
msgid "Featured Video Plus: Shortcode"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: build/php/class-help.php:156 php/class-help.php:156
|
131 |
msgid "Displays the video in its default size."
|
132 |
msgstr ""
|
133 |
|
134 |
+
#: build/php/class-help.php:160 php/class-help.php:160
|
135 |
msgid ""
|
136 |
"Displays the video with a width of 300 pixel. Height will be fitted such "
|
137 |
"that the aspect ratio is preserved."
|
138 |
msgstr ""
|
139 |
|
140 |
+
#: build/php/class-help.php:164 php/class-help.php:164
|
141 |
msgid "Displays the video with a fixed width and height."
|
142 |
msgstr ""
|
143 |
|
144 |
+
#: build/php/class-settings.php:50 php/class-settings.php:50
|
145 |
msgid "Display mode"
|
146 |
msgstr ""
|
147 |
|
148 |
+
#: build/php/class-settings.php:58 php/class-settings.php:58
|
149 |
msgid "Display Conditions"
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: build/php/class-settings.php:68 php/class-settings.php:68
|
153 |
msgid "Video Sizing"
|
154 |
msgstr ""
|
155 |
|
156 |
+
#: build/php/class-settings.php:77 php/class-settings.php:77
|
157 |
msgid "Video Align"
|
158 |
msgstr ""
|
159 |
|
160 |
+
#: build/php/class-settings.php:86 php/class-settings.php:86
|
161 |
msgid "Default Arguments"
|
162 |
msgstr ""
|
163 |
|
164 |
+
#: build/php/class-settings.php:95 php/class-settings.php:95
|
165 |
msgid "Support"
|
166 |
msgstr ""
|
167 |
|
168 |
+
#: build/php/class-settings.php:116 php/class-settings.php:116
|
169 |
msgid ""
|
170 |
"To display your featured videos you can either make use of the automatic "
|
171 |
"replacement, use the %s or manually edit your theme's source files to make "
|
172 |
"use of the plugins PHP-functions."
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: build/php/class-settings.php:117 php/class-settings.php:117
|
176 |
msgid ""
|
177 |
"For more information about Shortcode and PHP functions see the %sContextual "
|
178 |
"Help%s."
|
179 |
msgstr ""
|
180 |
|
181 |
+
#: build/php/class-settings.php:125 php/class-settings.php:125
|
182 |
msgid "The current theme does not support featured images."
|
183 |
msgstr ""
|
184 |
|
185 |
+
#: build/php/class-settings.php:128 php/class-settings.php:128
|
186 |
msgid ""
|
187 |
"To display Featured Videos you need to use the %1$sShortcode%2$s or %1$sPHP "
|
188 |
"functions%2$s."
|
189 |
msgstr ""
|
190 |
|
191 |
+
#: build/php/class-settings.php:151 php/class-settings.php:151
|
192 |
msgid "Replace featured image automatically."
|
193 |
msgstr ""
|
194 |
|
195 |
+
#: build/php/class-settings.php:152 php/class-settings.php:152
|
196 |
msgid "Replace featured image on click."
|
197 |
msgstr ""
|
198 |
|
199 |
+
#: build/php/class-settings.php:153 php/class-settings.php:153
|
200 |
msgid "Open video overlay when featured image is clicked."
|
201 |
msgstr ""
|
202 |
|
203 |
+
#: build/php/class-settings.php:154 php/class-settings.php:154
|
204 |
msgid "Manual: PHP-functions or shortcodes."
|
205 |
msgstr ""
|
206 |
|
207 |
+
#: build/php/class-settings.php:160 php/class-settings.php:160
|
208 |
msgid ""
|
209 |
"Automatic integration (options 1-3) requires your theme to make use of "
|
210 |
"WordPress' native %sfeatured image%s functionality."
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: build/php/class-settings.php:169 php/class-settings.php:169
|
214 |
+
msgid "Always use replace mode when viewing %ssingle%s posts and pages."
|
215 |
+
msgstr ""
|
216 |
+
|
217 |
+
#: build/php/class-settings.php:203 php/class-settings.php:203
|
218 |
msgid "View options are not available in manual mode."
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: build/php/class-settings.php:213 php/class-settings.php:213
|
222 |
+
msgid "Apply display mode..."
|
223 |
+
msgstr ""
|
224 |
+
|
225 |
+
#: build/php/class-settings.php:219 php/class-settings.php:219
|
226 |
+
msgid "when viewing %ssingle%s posts and pages %s"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: build/php/class-settings.php:225 php/class-settings.php:225
|
230 |
+
msgid "when on the %spost index page%s %s"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: build/php/class-settings.php:231 php/class-settings.php:231
|
234 |
+
msgid "when inside the %smain query%s of each page %s"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: build/php/class-settings.php:237 php/class-settings.php:237
|
238 |
+
msgid "when displaying %ssticky%s posts."
|
239 |
+
msgstr ""
|
240 |
+
|
241 |
+
#: build/php/class-settings.php:242 php/class-settings.php:242
|
242 |
+
msgid "when displaying not %ssticky%s posts."
|
243 |
+
msgstr ""
|
244 |
+
|
245 |
+
#: build/php/class-settings.php:249 php/class-settings.php:249
|
246 |
+
msgid ""
|
247 |
+
"If none of the above options is selected the display mode will be applied "
|
248 |
+
"whenever possible."
|
249 |
msgstr ""
|
250 |
|
251 |
+
#: build/php/class-settings.php:274 php/class-settings.php:274
|
252 |
msgid "Responsive"
|
253 |
msgstr ""
|
254 |
|
255 |
+
#: build/php/class-settings.php:281 php/class-settings.php:281
|
256 |
msgid "Width in pixels:"
|
257 |
msgstr ""
|
258 |
|
259 |
+
#: build/php/class-settings.php:298 php/class-settings.php:298
|
260 |
msgid ""
|
261 |
"The %1$sresponsive%2$s setting does not work when using the %1$soverlay%2$s "
|
262 |
"display mode and might break completly in some themes - in such cases you "
|
263 |
"should use a fixed width instead."
|
264 |
msgstr ""
|
265 |
|
266 |
+
#: build/php/class-settings.php:319 php/class-settings.php:319
|
267 |
msgid "left"
|
268 |
msgstr ""
|
269 |
|
270 |
+
#: build/php/class-settings.php:320 php/class-settings.php:320
|
271 |
msgid "center"
|
272 |
msgstr ""
|
273 |
|
274 |
+
#: build/php/class-settings.php:321 php/class-settings.php:321
|
275 |
msgid "right"
|
276 |
msgstr ""
|
277 |
|
278 |
+
#: build/php/class-settings.php:344 php/class-settings.php:344
|
279 |
msgid "Not all of the following options might be supported by all providers."
|
280 |
msgstr ""
|
281 |
|
282 |
+
#: build/php/class-settings.php:352 php/class-settings.php:352
|
283 |
msgid "Autoplay"
|
284 |
msgstr ""
|
285 |
|
286 |
+
#: build/php/class-settings.php:353 php/class-settings.php:353
|
287 |
msgid "Loop"
|
288 |
msgstr ""
|
289 |
|
290 |
+
#: build/php/class-settings.php:361 php/class-settings.php:361
|
291 |
msgid ""
|
292 |
"If the owner of a video is a Plus member, some of these settings may be "
|
293 |
"overridden by their preferences."
|
294 |
msgstr ""
|
295 |
|
296 |
+
#: build/php/class-settings.php:376 php/class-settings.php:376
|
297 |
msgid "Hide user's portrait"
|
298 |
msgstr ""
|
299 |
|
300 |
+
#: build/php/class-settings.php:380 php/class-settings.php:380
|
301 |
msgid "Hide video title"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: build/php/class-settings.php:384 php/class-settings.php:384
|
305 |
msgid "Hide video byline"
|
306 |
msgstr ""
|
307 |
|
308 |
+
#: build/php/class-settings.php:397 php/class-settings.php:397
|
309 |
msgid "Light theme"
|
310 |
msgstr ""
|
311 |
|
312 |
+
#: build/php/class-settings.php:401 php/class-settings.php:401
|
313 |
msgid "White highlight color"
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: build/php/class-settings.php:403 php/class-settings.php:403
|
317 |
msgid "Hide YouTube logo"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: build/php/class-settings.php:406 build/php/class-settings.php:456
|
321 |
+
#: php/class-settings.php:406 php/class-settings.php:456
|
322 |
msgid "Hide related videos"
|
323 |
msgstr ""
|
324 |
|
325 |
+
#: build/php/class-settings.php:410 php/class-settings.php:410
|
326 |
msgid "Disallow fullscreen"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: build/php/class-settings.php:414 build/php/class-settings.php:452
|
330 |
+
#: php/class-settings.php:414 php/class-settings.php:452
|
331 |
msgid "Hide video info"
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: build/php/class-settings.php:416 php/class-settings.php:416
|
335 |
msgid "Enable JavaScript API"
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: build/php/class-settings.php:448 php/class-settings.php:448
|
339 |
msgid "Hide DailyMotion logo"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: build/php/class-settings.php:460 php/class-settings.php:460
|
343 |
msgid "Turn HD on by default"
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: build/php/class-settings.php:479 php/class-settings.php:479
|
347 |
msgid ""
|
348 |
"If you have found a bug or think a specific feature is missing, %slet me know"
|
349 |
"%s in the support forum. Like this plugin? %sRate it%s or %sbuy me a cookie"
|
php/class-backend.php
CHANGED
@@ -32,11 +32,12 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
32 |
array( $this, 'plugin_action_link' ),
|
33 |
10, 2 );
|
34 |
add_filter( 'admin_post_thumbnail_html',
|
35 |
-
array( $this, '
|
36 |
10, 2 );
|
37 |
|
38 |
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
|
39 |
add_action( 'wp_ajax_fvp_save', array( $this, 'metabox_save_ajax' ) );
|
|
|
40 |
add_action( 'wp_ajax_fvp_get_embed', array( $this, 'ajax_get_embed' ) );
|
41 |
add_action( 'wp_ajax_nopriv_fvp_get_embed',
|
42 |
array( $this, 'ajax_get_embed' ) );
|
@@ -56,7 +57,7 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
56 |
return;
|
57 |
}
|
58 |
|
59 |
-
$min = defined( SCRIPT_DEBUG ) && SCRIPT_DEBUG ? '' : '.min';
|
60 |
|
61 |
// jQuery script for automatically resizing <textarea>s.
|
62 |
wp_register_script(
|
@@ -81,9 +82,10 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
81 |
|
82 |
// Some variables required in JS context.
|
83 |
$upload_dir = wp_upload_dir();
|
84 |
-
wp_localize_script( 'fvp-post', '
|
85 |
'wp_upload_dir' => $upload_dir['baseurl'],
|
86 |
-
'loading_gif' => get_admin_url( null, 'images/loading.gif' )
|
|
|
87 |
));
|
88 |
|
89 |
// General backend style.
|
@@ -147,7 +149,7 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
147 |
// Current featured video.
|
148 |
$content .= sprintf(
|
149 |
'<div class="fvp-current-video"%s>%s</div>',
|
150 |
-
|
151 |
'height: 0px' => ! $has_post_video,
|
152 |
), true, true ),
|
153 |
get_the_post_video( $post_id, array( 256, 144 ) )
|
@@ -174,7 +176,7 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
174 |
'<a href="#" class="fvp-video-choose">' .
|
175 |
'<span class="fvp-media-icon"%s></span>' .
|
176 |
'</a>',
|
177 |
-
|
178 |
'background-image' => sprintf(
|
179 |
'url(%s/wp-admin/images/media-button.png)',
|
180 |
get_bloginfo( 'wpurl' )
|
@@ -241,7 +243,6 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
241 |
|
242 |
$post = array(
|
243 |
'id' => $post_id,
|
244 |
-
'fvp_nonce' => ! empty( $_POST['fvp_nonce'] ) ? $_POST['fvp_nonce'] : '',
|
245 |
'fvp_video' => ! empty( $_POST['fvp_video'] ) ? $_POST['fvp_video'] : ''
|
246 |
);
|
247 |
|
@@ -258,13 +259,12 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
258 |
* @uses $this->save()
|
259 |
*/
|
260 |
public function metabox_save_ajax() {
|
261 |
-
if ( ! self::has_valid_nonce( $_POST ) ) {
|
262 |
-
|
263 |
}
|
264 |
|
265 |
$post = array(
|
266 |
-
'id' => $_POST['id'],
|
267 |
-
'fvp_nonce' => ! empty( $_POST['fvp_nonce'] ) ? $_POST['fvp_nonce'] : '',
|
268 |
'fvp_video' => ! empty( $_POST['fvp_video'] ) ? $_POST['fvp_video'] : '',
|
269 |
'fvp_set_featimg' =>
|
270 |
! empty( $_POST['fvp_set_featimg'] ) ? $_POST['fvp_set_featimg'] : '',
|
@@ -280,22 +280,22 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
280 |
|
281 |
if ( has_post_video( $post['id'] ) ) {
|
282 |
$video = get_the_post_video( $post['id'], array( 256, 144 ) );
|
283 |
-
$response =
|
284 |
'type' => 'update',
|
285 |
'valid' => isset( $meta['valid'] ) ? $meta['valid'] : null,
|
286 |
'video' => $video,
|
287 |
'img' => $img,
|
288 |
'provider' => isset( $meta['provider'] ) ? $meta['provider'] : null
|
289 |
-
)
|
290 |
} else {
|
291 |
-
$response =
|
292 |
'task' => 'remove',
|
293 |
'valid' => isset( $meta['valid'] ) ? $meta['valid'] : null,
|
294 |
'img' => $img,
|
295 |
-
)
|
296 |
}
|
297 |
|
298 |
-
|
299 |
}
|
300 |
|
301 |
|
@@ -314,13 +314,15 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
314 |
// parse video url
|
315 |
$url = ! empty( $post['fvp_video'] ) ? trim( $post['fvp_video'] ) : '';
|
316 |
|
317 |
-
//
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
|
|
|
|
324 |
return false;
|
325 |
}
|
326 |
|
@@ -339,8 +341,16 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
339 |
$data['filename'] = 'Featured Video Plus Placeholder';
|
340 |
}
|
341 |
|
342 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
343 |
|
|
|
344 |
$meta = array_merge(
|
345 |
array(
|
346 |
'full' => $url,
|
@@ -512,37 +522,66 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
512 |
* @since 1.7.0
|
513 |
*/
|
514 |
public function ajax_get_embed() {
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
$meta = get_post_meta( $_POST['id'], '_fvp_video', true );
|
527 |
-
$video = get_the_post_video( $_POST['id'] );
|
528 |
-
|
529 |
-
$response = json_encode( array(
|
530 |
-
'success' => 'true',
|
531 |
-
'html' => $video,
|
532 |
-
'id' => ! empty( $meta['id'] ) ? $meta['id'] : null,
|
533 |
-
) );
|
534 |
-
|
535 |
-
// no video, return featured image
|
536 |
} else {
|
537 |
-
|
|
|
|
|
|
|
|
|
|
|
538 |
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
543 |
}
|
544 |
|
545 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
546 |
}
|
547 |
|
548 |
|
@@ -616,23 +655,28 @@ class FVP_Backend extends Featured_Video_Plus {
|
|
616 |
* @param {int} $post_id
|
617 |
* @return {string}
|
618 |
*/
|
619 |
-
public function
|
620 |
-
if ( has_post_thumbnail( $post_id )
|
621 |
-
|
622 |
-
|
|
|
|
|
623 |
|
624 |
-
|
625 |
-
$
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
|
|
|
|
|
|
634 |
|
635 |
-
return $
|
636 |
}
|
637 |
|
638 |
|
32 |
array( $this, 'plugin_action_link' ),
|
33 |
10, 2 );
|
34 |
add_filter( 'admin_post_thumbnail_html',
|
35 |
+
array( $this, 'featured_image_box' ),
|
36 |
10, 2 );
|
37 |
|
38 |
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
|
39 |
add_action( 'wp_ajax_fvp_save', array( $this, 'metabox_save_ajax' ) );
|
40 |
+
add_action( 'wp_ajax_fvp_remove_img', array( $this, 'ajax_remove_img' ) );
|
41 |
add_action( 'wp_ajax_fvp_get_embed', array( $this, 'ajax_get_embed' ) );
|
42 |
add_action( 'wp_ajax_nopriv_fvp_get_embed',
|
43 |
array( $this, 'ajax_get_embed' ) );
|
57 |
return;
|
58 |
}
|
59 |
|
60 |
+
$min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
61 |
|
62 |
// jQuery script for automatically resizing <textarea>s.
|
63 |
wp_register_script(
|
82 |
|
83 |
// Some variables required in JS context.
|
84 |
$upload_dir = wp_upload_dir();
|
85 |
+
wp_localize_script( 'fvp-post', 'fvpPost', array(
|
86 |
'wp_upload_dir' => $upload_dir['baseurl'],
|
87 |
+
'loading_gif' => get_admin_url( null, 'images/loading.gif' ),
|
88 |
+
'debug' => defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG
|
89 |
));
|
90 |
|
91 |
// General backend style.
|
149 |
// Current featured video.
|
150 |
$content .= sprintf(
|
151 |
'<div class="fvp-current-video"%s>%s</div>',
|
152 |
+
FVP_HTML::inline_styles( array(
|
153 |
'height: 0px' => ! $has_post_video,
|
154 |
), true, true ),
|
155 |
get_the_post_video( $post_id, array( 256, 144 ) )
|
176 |
'<a href="#" class="fvp-video-choose">' .
|
177 |
'<span class="fvp-media-icon"%s></span>' .
|
178 |
'</a>',
|
179 |
+
FVP_HTML::inline_styles( array(
|
180 |
'background-image' => sprintf(
|
181 |
'url(%s/wp-admin/images/media-button.png)',
|
182 |
get_bloginfo( 'wpurl' )
|
243 |
|
244 |
$post = array(
|
245 |
'id' => $post_id,
|
|
|
246 |
'fvp_video' => ! empty( $_POST['fvp_video'] ) ? $_POST['fvp_video'] : ''
|
247 |
);
|
248 |
|
259 |
* @uses $this->save()
|
260 |
*/
|
261 |
public function metabox_save_ajax() {
|
262 |
+
if ( ! self::has_valid_nonce( $_POST ) || empty( $_POST['id'] ) ) {
|
263 |
+
wp_send_json_error();
|
264 |
}
|
265 |
|
266 |
$post = array(
|
267 |
+
'id' => (int) $_POST['id'],
|
|
|
268 |
'fvp_video' => ! empty( $_POST['fvp_video'] ) ? $_POST['fvp_video'] : '',
|
269 |
'fvp_set_featimg' =>
|
270 |
! empty( $_POST['fvp_set_featimg'] ) ? $_POST['fvp_set_featimg'] : '',
|
280 |
|
281 |
if ( has_post_video( $post['id'] ) ) {
|
282 |
$video = get_the_post_video( $post['id'], array( 256, 144 ) );
|
283 |
+
$response = array(
|
284 |
'type' => 'update',
|
285 |
'valid' => isset( $meta['valid'] ) ? $meta['valid'] : null,
|
286 |
'video' => $video,
|
287 |
'img' => $img,
|
288 |
'provider' => isset( $meta['provider'] ) ? $meta['provider'] : null
|
289 |
+
);
|
290 |
} else {
|
291 |
+
$response = array(
|
292 |
'task' => 'remove',
|
293 |
'valid' => isset( $meta['valid'] ) ? $meta['valid'] : null,
|
294 |
'img' => $img,
|
295 |
+
);
|
296 |
}
|
297 |
|
298 |
+
wp_send_json_success( $response );
|
299 |
}
|
300 |
|
301 |
|
314 |
// parse video url
|
315 |
$url = ! empty( $post['fvp_video'] ) ? trim( $post['fvp_video'] ) : '';
|
316 |
|
317 |
+
// Was this a force-auto-set featimg action?
|
318 |
+
$setimg = ! empty ( $post['fvp_set_featimg'] ) && $post['fvp_set_featimg'];
|
319 |
+
|
320 |
+
// Don't do anything if we are not setting the featured image AND the
|
321 |
+
// URL is empty AND did not change.
|
322 |
+
if ( ! $setimg && (
|
323 |
+
( ! empty( $meta['full'] ) && $url == $meta['full'] ) ||
|
324 |
+
( empty( $meta['full'] ) && empty( $url ) )
|
325 |
+
) ) {
|
326 |
return false;
|
327 |
}
|
328 |
|
341 |
$data['filename'] = 'Featured Video Plus Placeholder';
|
342 |
}
|
343 |
|
344 |
+
// Should we set the featured image?
|
345 |
+
if ( $setimg || (
|
346 |
+
! has_post_thumbnail( $post['id'] ) &&
|
347 |
+
( empty( $meta['noimg'] ) || $meta['noimg'] )
|
348 |
+
) ) {
|
349 |
+
$img = $this->set_featured_image( $post['id'], $data );
|
350 |
+
$data['noimg'] = false;
|
351 |
+
}
|
352 |
|
353 |
+
// Create the final _fvp_video meta data.
|
354 |
$meta = array_merge(
|
355 |
array(
|
356 |
'full' => $url,
|
522 |
* @since 1.7.0
|
523 |
*/
|
524 |
public function ajax_get_embed() {
|
525 |
+
if ( ! self::has_valid_nonce( $_POST ) || empty( $_POST['id'] ) ) {
|
526 |
+
wp_send_json_error();
|
527 |
+
}
|
528 |
+
|
529 |
+
// Parse post id.
|
530 |
+
$id = (int) $_POST['id'];
|
531 |
+
|
532 |
+
if ( has_post_video( $id ) ) {
|
533 |
+
// Return featured video html as requested.
|
534 |
+
$video = get_the_post_video( $id );
|
535 |
+
wp_send_json_success( $video );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
536 |
} else {
|
537 |
+
// Post has no video, return featured image html.
|
538 |
+
$image = get_the_post_thumbnail( $id );
|
539 |
+
wp_send_json_success( $image );
|
540 |
+
}
|
541 |
+
}
|
542 |
+
|
543 |
|
544 |
+
/**
|
545 |
+
* Some people might not want to have a featured image because of whatever
|
546 |
+
* reason. We notify them about the probable incompatibility and offer the
|
547 |
+
* 'auto set' link to set the featured image using the plugin (video
|
548 |
+
* thumbnail or placeholder) but do not want to auto set it on every post
|
549 |
+
* save automatically if they explicitly removed it before. This function
|
550 |
+
* therefor is triggered by an AJAX request when removing a featured image
|
551 |
+
* which was previously set by the plugin.
|
552 |
+
*/
|
553 |
+
public function ajax_remove_img() {
|
554 |
+
if ( ! self::has_valid_nonce( $_POST ) || empty( $_POST['id'] ) ) {
|
555 |
+
wp_send_json_error();
|
556 |
}
|
557 |
|
558 |
+
// Retrieve post id and check user capabilities.
|
559 |
+
$id = (int) $_POST['id'];
|
560 |
+
if ( ! current_user_can( 'edit_post', $id ) ) {
|
561 |
+
wp_send_json_error();
|
562 |
+
}
|
563 |
+
|
564 |
+
// Retrieve featured video metadata.
|
565 |
+
$meta = get_post_meta( $id, '_fvp_video', true );
|
566 |
+
|
567 |
+
// Delete the image from database if feasible. This also again tries to
|
568 |
+
// remove the link of the featured image to the post although it will
|
569 |
+
// probably already be unlinked by WordPress internal functionality.
|
570 |
+
$this->delete_featured_image( $id, $meta );
|
571 |
+
|
572 |
+
// Remember that we do not want to set a featured image automatically for
|
573 |
+
// this post.
|
574 |
+
$meta['noimg'] = true;
|
575 |
+
|
576 |
+
// Remove now unnecessary image information from the video meta.
|
577 |
+
$meta['img'] = null;
|
578 |
+
|
579 |
+
// Save meta.
|
580 |
+
update_post_meta( $id, '_fvp_video', $meta );
|
581 |
+
|
582 |
+
// Respond to the client.
|
583 |
+
$html = _wp_post_thumbnail_html( get_post_thumbnail_id( $id ), $id );
|
584 |
+
wp_send_json_success( $html );
|
585 |
}
|
586 |
|
587 |
|
655 |
* @param {int} $post_id
|
656 |
* @return {string}
|
657 |
*/
|
658 |
+
public function featured_image_box( $content, $post_id ) {
|
659 |
+
if ( has_post_thumbnail( $post_id ) ) {
|
660 |
+
$link = sprintf(
|
661 |
+
'<p class="hide-if-no-js"><a href="#" class="fvp-remove-image">%s</a></p>',
|
662 |
+
esc_html__( 'Remove featured image' )
|
663 |
+
);
|
664 |
|
665 |
+
return $content . $link;
|
666 |
+
} elseif ( has_post_video( $post_id ) ) {
|
667 |
+
$notice = sprintf(
|
668 |
+
'<p class="fvp-notice">%s <a href="#" class="fvp-set-image hide-if-no-js">%s</a></p>',
|
669 |
+
esc_html__(
|
670 |
+
'Featured Videos require a Featured Image for automatic replacement.',
|
671 |
+
'featured-video-plus'
|
672 |
+
),
|
673 |
+
esc_html__( 'Auto set', 'featured-video-plus' )
|
674 |
+
);
|
675 |
+
|
676 |
+
return $notice . $content;
|
677 |
+
}
|
678 |
|
679 |
+
return $content;
|
680 |
}
|
681 |
|
682 |
|
php/class-frontend.php
CHANGED
@@ -37,7 +37,7 @@ class FVP_Frontend extends Featured_Video_Plus {
|
|
37 |
* @since 1.0.0
|
38 |
*/
|
39 |
public function enqueue() {
|
40 |
-
$min = SCRIPT_DEBUG ? '' : '.min';
|
41 |
|
42 |
$options = get_option( 'fvp-settings' );
|
43 |
$mode = ! empty( $options['mode'] ) ? $options['mode'] : null;
|
@@ -94,7 +94,7 @@ class FVP_Frontend extends Featured_Video_Plus {
|
|
94 |
// some context for JS
|
95 |
wp_localize_script( 'fvp-frontend', 'fvpdata', array(
|
96 |
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
97 |
-
'nonce' => wp_create_nonce(
|
98 |
'fitvids' => ! empty( $options['sizing']['responsive'] ) &&
|
99 |
$options['sizing']['responsive'],
|
100 |
'dynamic' => 'dynamic' === $mode,
|
@@ -141,29 +141,24 @@ class FVP_Frontend extends Featured_Video_Plus {
|
|
141 |
$options = get_option( 'fvp-settings' );
|
142 |
$mode = ! empty( $options['mode'] ) ? $options['mode'] : null;
|
143 |
$conditions = ! empty( $options['conditions'] ) ?
|
144 |
-
$options['conditions'] :
|
145 |
-
|
146 |
-
|
147 |
-
foreach ( $conditions AS $fun => $value ) {
|
148 |
-
if ( $value && function_exists( 'is_' . $fun ) ) {
|
149 |
-
$conditions_hold = $conditions_hold && call_user_func( 'is_' . $fun );
|
150 |
-
}
|
151 |
-
}
|
152 |
|
153 |
if ( ( 'manual' === $mode ) ||
|
154 |
-
( ! $
|
155 |
( ! has_post_video( $post_id ) )
|
156 |
) {
|
157 |
return $html;
|
158 |
|
159 |
-
} elseif ( 'dynamic' === $mode && !
|
160 |
return sprintf(
|
161 |
'<a href="#" data-id="%1$s" class="fvp-dynamic post-thumbnail">%2$s</a>',
|
162 |
$post_id,
|
163 |
$html
|
164 |
);
|
165 |
|
166 |
-
} elseif ( 'overlay' === $mode && !
|
167 |
return sprintf(
|
168 |
'<a href="#" data-id="%1$s" class="fvp-overlay post-thumbnail">%2$s</a>' .
|
169 |
'<div id="fvp-cache-%1$s" style="display: none;"></div>',
|
@@ -209,4 +204,34 @@ class FVP_Frontend extends Featured_Video_Plus {
|
|
209 |
return get_the_post_video( null, array( $w, $h ) );
|
210 |
}
|
211 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
212 |
}
|
37 |
* @since 1.0.0
|
38 |
*/
|
39 |
public function enqueue() {
|
40 |
+
$min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
41 |
|
42 |
$options = get_option( 'fvp-settings' );
|
43 |
$mode = ! empty( $options['mode'] ) ? $options['mode'] : null;
|
94 |
// some context for JS
|
95 |
wp_localize_script( 'fvp-frontend', 'fvpdata', array(
|
96 |
'ajaxurl' => admin_url( 'admin-ajax.php' ),
|
97 |
+
'nonce' => wp_create_nonce( FVP_NAME . FVP_VERSION ),
|
98 |
'fitvids' => ! empty( $options['sizing']['responsive'] ) &&
|
99 |
$options['sizing']['responsive'],
|
100 |
'dynamic' => 'dynamic' === $mode,
|
141 |
$options = get_option( 'fvp-settings' );
|
142 |
$mode = ! empty( $options['mode'] ) ? $options['mode'] : null;
|
143 |
$conditions = ! empty( $options['conditions'] ) ?
|
144 |
+
$options['conditions'] : null;
|
145 |
+
$single_replace = is_single() &&
|
146 |
+
! empty( $options['single_replace'] ) && $options['single_replace'];
|
|
|
|
|
|
|
|
|
|
|
147 |
|
148 |
if ( ( 'manual' === $mode ) ||
|
149 |
+
( ! self::check_conditions( $conditions ) ) ||
|
150 |
( ! has_post_video( $post_id ) )
|
151 |
) {
|
152 |
return $html;
|
153 |
|
154 |
+
} elseif ( 'dynamic' === $mode && ! $single_replace ) {
|
155 |
return sprintf(
|
156 |
'<a href="#" data-id="%1$s" class="fvp-dynamic post-thumbnail">%2$s</a>',
|
157 |
$post_id,
|
158 |
$html
|
159 |
);
|
160 |
|
161 |
+
} elseif ( 'overlay' === $mode && ! $single_replace ) {
|
162 |
return sprintf(
|
163 |
'<a href="#" data-id="%1$s" class="fvp-overlay post-thumbnail">%2$s</a>' .
|
164 |
'<div id="fvp-cache-%1$s" style="display: none;"></div>',
|
204 |
return get_the_post_video( null, array( $w, $h ) );
|
205 |
}
|
206 |
}
|
207 |
+
|
208 |
+
|
209 |
+
/**
|
210 |
+
* Check a given set of display conditions if one or more of them hold. If
|
211 |
+
* an empty set is given, return true.
|
212 |
+
*
|
213 |
+
* @param {assoc} $conditions
|
214 |
+
* @return {bool}
|
215 |
+
*/
|
216 |
+
private static function check_conditions( $conditions ) {
|
217 |
+
if ( empty( $conditions ) ) {
|
218 |
+
return true;
|
219 |
+
}
|
220 |
+
|
221 |
+
$conditions_hold = false;
|
222 |
+
foreach ( $conditions AS $fun => $value ) {
|
223 |
+
$negate = false;
|
224 |
+
if ( '!' === $fun[0] ) {
|
225 |
+
$negate = true;
|
226 |
+
$fun = substr( $fun, 1 );
|
227 |
+
}
|
228 |
+
|
229 |
+
if ( $value && function_exists( 'is_' . $fun ) ) {
|
230 |
+
$call = call_user_func( 'is_' . $fun );
|
231 |
+
$conditions_hold = $conditions_hold || ( $negate ? ! $call : $call );
|
232 |
+
}
|
233 |
+
}
|
234 |
+
|
235 |
+
return $conditions_hold;
|
236 |
+
}
|
237 |
}
|
php/class-html.php
CHANGED
@@ -5,22 +5,14 @@ class FVP_HTML {
|
|
5 |
private static $name = 'fvphtml';
|
6 |
|
7 |
|
8 |
-
public
|
9 |
|
10 |
|
11 |
-
public static function
|
12 |
-
|
13 |
-
|
14 |
-
return;
|
15 |
}
|
16 |
|
17 |
-
add_action( 'admin_enqueue_scripts', array( get_class(), 'enqueue' ) );
|
18 |
-
|
19 |
-
$initiated = true;
|
20 |
-
}
|
21 |
-
|
22 |
-
|
23 |
-
public static function add_screens( $screens = array() ) {
|
24 |
self::$screens = array_merge( (array) self::$screens, (array) $screens );
|
25 |
}
|
26 |
|
@@ -32,7 +24,7 @@ class FVP_HTML {
|
|
32 |
}
|
33 |
|
34 |
// development or production?
|
35 |
-
$min = SCRIPT_DEBUG ? '' : '.min';
|
36 |
|
37 |
wp_enqueue_style(
|
38 |
'fvphtml',
|
@@ -62,7 +54,7 @@ class FVP_HTML {
|
|
62 |
'fvphtml', // hook
|
63 |
'fvphtml', // variable name
|
64 |
array(
|
65 |
-
'prefix' => '.fvphtml',
|
66 |
'pointers' => self::get_pointers( $hook ),
|
67 |
)
|
68 |
);
|
@@ -540,6 +532,90 @@ class FVP_HTML {
|
|
540 |
return $pointers;
|
541 |
}
|
542 |
|
543 |
-
}
|
544 |
|
545 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
private static $name = 'fvphtml';
|
6 |
|
7 |
|
8 |
+
public static $screens;
|
9 |
|
10 |
|
11 |
+
public static function add_screens( $screens = array() ) {
|
12 |
+
if ( empty( self::$screens ) && ! empty( $screens ) ) {
|
13 |
+
add_action( 'admin_enqueue_scripts', array( get_class(), 'enqueue' ) );
|
|
|
14 |
}
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
self::$screens = array_merge( (array) self::$screens, (array) $screens );
|
17 |
}
|
18 |
|
24 |
}
|
25 |
|
26 |
// development or production?
|
27 |
+
$min = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
|
28 |
|
29 |
wp_enqueue_style(
|
30 |
'fvphtml',
|
54 |
'fvphtml', // hook
|
55 |
'fvphtml', // variable name
|
56 |
array(
|
57 |
+
'prefix' => '.fvphtml-',
|
58 |
'pointers' => self::get_pointers( $hook ),
|
59 |
)
|
60 |
);
|
532 |
return $pointers;
|
533 |
}
|
534 |
|
|
|
535 |
|
536 |
+
/**
|
537 |
+
* Translates a given array into a ready-to-use HTML class-attribute or its
|
538 |
+
* value.
|
539 |
+
*
|
540 |
+
* @param {assoc/array} $assoc If assoc: classname/condition pairs.
|
541 |
+
* If array: classnames.
|
542 |
+
* @param {boolean} $attribute If the classnames should be wrapped in a
|
543 |
+
* 'class' attribute.
|
544 |
+
* @param {boolean} $leadingspace If the result string should start with
|
545 |
+
* a space.
|
546 |
+
* @param {boolean} $trailingspace If the result string should end with a
|
547 |
+
* space.
|
548 |
+
* @return {string}
|
549 |
+
*/
|
550 |
+
public static function class_names(
|
551 |
+
$assoc,
|
552 |
+
$attribute = false,
|
553 |
+
$leadingspace = false,
|
554 |
+
$trailingspace = false
|
555 |
+
) {
|
556 |
+
// Attribute opening and leading space.
|
557 |
+
$string = $leadingspace ? ' ' : '';
|
558 |
+
$string .= $attribute ? 'class="' : '';
|
559 |
+
|
560 |
+
// Class list.
|
561 |
+
$classes = array();
|
562 |
+
foreach ( $assoc AS $key => $val ) {
|
563 |
+
if ( $val ) {
|
564 |
+
$classes[] = $key;
|
565 |
+
}
|
566 |
+
}
|
567 |
+
$string .= implode( ' ', $classes );
|
568 |
+
|
569 |
+
// Closing the attribute and trailing space.
|
570 |
+
$string .= $attribute ? '"' : '';
|
571 |
+
$string .= $trailingspace ? ' ' : '';
|
572 |
+
|
573 |
+
return $string;
|
574 |
+
}
|
575 |
+
|
576 |
+
|
577 |
+
/**
|
578 |
+
* Translates a given array into a ready-to-use HTML style-attribute.
|
579 |
+
*
|
580 |
+
* @param {assoc} $assoc Associative array of CSS property/value
|
581 |
+
* pairs or associative array of CSS
|
582 |
+
* properties WITH values as key and
|
583 |
+
* boolean conditions as value.
|
584 |
+
* @param {boolean} $attribute If the resulting style string should be
|
585 |
+
* wrapped in a 'style' attribute.
|
586 |
+
* @param {boolean} $leadingspace If the resulting string should start with
|
587 |
+
* a space.
|
588 |
+
* @param {boolean} $trailingspace If the resulting string should end with a
|
589 |
+
* space.
|
590 |
+
* @return {string}
|
591 |
+
*/
|
592 |
+
public static function inline_styles(
|
593 |
+
$assoc,
|
594 |
+
$attribute = false,
|
595 |
+
$leadingspace = false,
|
596 |
+
$trailingspace = false
|
597 |
+
) {
|
598 |
+
// Attribute opening and leading space.
|
599 |
+
$string = $leadingspace ? ' ' : '';
|
600 |
+
$string .= $attribute ? 'style="' : '';
|
601 |
+
|
602 |
+
// Style body.
|
603 |
+
foreach ( $assoc AS $key => $val ) {
|
604 |
+
if ( is_bool( $val ) && true === $val ) {
|
605 |
+
// $key is a property: value pair and $val a boolean condition
|
606 |
+
$string .= esc_attr( $key ) . '; ';
|
607 |
+
} else {
|
608 |
+
// $key is a property and $val a value
|
609 |
+
$string .= sprintf( '%s: %s; ', esc_attr( $key ), esc_attr( $val ) );
|
610 |
+
}
|
611 |
+
}
|
612 |
+
|
613 |
+
// Closing the attribute and trailing space.
|
614 |
+
$string .= $attribute ? '"' : '';
|
615 |
+
$string .= $trailingspace ? ' ' : '';
|
616 |
+
|
617 |
+
return $string;
|
618 |
+
}
|
619 |
+
|
620 |
+
|
621 |
+
}
|
php/class-main.php
CHANGED
@@ -1,4 +1,8 @@
|
|
1 |
<?php
|
|
|
|
|
|
|
|
|
2 |
/**
|
3 |
* Class containing all functions needed on front- AND backend. Functions only needed on one of those are found in distinct classes.
|
4 |
*
|
@@ -114,7 +118,7 @@ class Featured_Video_Plus {
|
|
114 |
$embed = sprintf(
|
115 |
"<!-- Featured Video Plus v%s -->\n<div%s>%s</div>\n\n",
|
116 |
FVP_VERSION,
|
117 |
-
|
118 |
$embed
|
119 |
);
|
120 |
|
@@ -230,75 +234,4 @@ class Featured_Video_Plus {
|
|
230 |
FVP_NAME . '/lng/'
|
231 |
);
|
232 |
}
|
233 |
-
|
234 |
-
|
235 |
-
/**
|
236 |
-
*
|
237 |
-
* @param {assoc} $assoc
|
238 |
-
* @param {boolean} $attribute
|
239 |
-
* @param {boolean} $leadingspace
|
240 |
-
* @param {boolean} $trailingspace
|
241 |
-
* @return {string}
|
242 |
-
*/
|
243 |
-
protected function class_names(
|
244 |
-
$assoc,
|
245 |
-
$attribute = false,
|
246 |
-
$leadingspace = false,
|
247 |
-
$trailingspace = false
|
248 |
-
) {
|
249 |
-
// Attribute opening and leading space.
|
250 |
-
$string = $leadingspace ? ' ' : '';
|
251 |
-
$string .= $attribute ? 'class="' : '';
|
252 |
-
|
253 |
-
// Class list.
|
254 |
-
$classes = array();
|
255 |
-
foreach ( $assoc AS $key => $val ) {
|
256 |
-
if ( $val ) {
|
257 |
-
$classes[] = $key;
|
258 |
-
}
|
259 |
-
}
|
260 |
-
$string .= implode( ' ', $classes );
|
261 |
-
|
262 |
-
// Closing the attribute and trailing space.
|
263 |
-
$string .= $attribute ? '"' : '';
|
264 |
-
$string .= $trailingspace ? ' ' : '';
|
265 |
-
|
266 |
-
return $string;
|
267 |
-
}
|
268 |
-
|
269 |
-
/**
|
270 |
-
*
|
271 |
-
* @param {assoc} $assoc
|
272 |
-
* @param {boolean} $attribute
|
273 |
-
* @param {boolean} $leadingspace
|
274 |
-
* @param {boolean} $trailingspace
|
275 |
-
* @return {string}
|
276 |
-
*/
|
277 |
-
protected function inline_styles(
|
278 |
-
$assoc,
|
279 |
-
$attribute = false,
|
280 |
-
$leadingspace = false,
|
281 |
-
$trailingspace = false
|
282 |
-
) {
|
283 |
-
// Attribute opening and leading space.
|
284 |
-
$string = $leadingspace ? ' ' : '';
|
285 |
-
$string .= $attribute ? 'style="' : '';
|
286 |
-
|
287 |
-
// Style body.
|
288 |
-
foreach ( $assoc AS $key => $val ) {
|
289 |
-
if ( is_bool( $val ) && true === $val ) {
|
290 |
-
// $key is a property: value pair and $val a boolean condition
|
291 |
-
$string .= esc_attr( $key ) . '; ';
|
292 |
-
} else {
|
293 |
-
// $key is a property and $val a value
|
294 |
-
$string .= sprintf( '%s: %s; ', esc_attr( $key ), esc_attr( $val ) );
|
295 |
-
}
|
296 |
-
}
|
297 |
-
|
298 |
-
// Closing the attribute and trailing space.
|
299 |
-
$string .= $attribute ? '"' : '';
|
300 |
-
$string .= $trailingspace ? ' ' : '';
|
301 |
-
|
302 |
-
return $string;
|
303 |
-
}
|
304 |
}
|
1 |
<?php
|
2 |
+
|
3 |
+
// dependencies
|
4 |
+
require_once( FVP_DIR . 'php/class-html.php' );
|
5 |
+
|
6 |
/**
|
7 |
* Class containing all functions needed on front- AND backend. Functions only needed on one of those are found in distinct classes.
|
8 |
*
|
118 |
$embed = sprintf(
|
119 |
"<!-- Featured Video Plus v%s -->\n<div%s>%s</div>\n\n",
|
120 |
FVP_VERSION,
|
121 |
+
FVP_HTML::class_names($classnames, true, true),
|
122 |
$embed
|
123 |
);
|
124 |
|
234 |
FVP_NAME . '/lng/'
|
235 |
);
|
236 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
}
|
php/class-settings.php
CHANGED
@@ -15,10 +15,11 @@ class FVP_Settings {
|
|
15 |
|
16 |
private static $page = 'media';
|
17 |
|
|
|
18 |
public function __construct() {
|
19 |
FVP_HTML::add_screens( self::$hook );
|
20 |
|
21 |
-
add_action( 'admin_init',
|
22 |
}
|
23 |
|
24 |
|
@@ -158,6 +159,28 @@ class FVP_Settings {
|
|
158 |
echo FVP_HTML::description(
|
159 |
sprintf( esc_html__( "Automatic integration (options 1-3) requires your theme to make use of WordPress' native %sfeatured image%s functionality.", 'featured-video-plus' ), '<a href="http://codex.wordpress.org/Post_Thumbnails" target="_blank">', '</a>' )
|
160 |
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
161 |
}
|
162 |
|
163 |
|
@@ -170,6 +193,10 @@ class FVP_Settings {
|
|
170 |
$options = get_option( 'fvp-settings' );
|
171 |
|
172 |
$auto = ! empty( $options['mode'] ) && 'manual' !== $options['mode'];
|
|
|
|
|
|
|
|
|
173 |
|
174 |
echo FVP_HTML::conditional(
|
175 |
FVP_HTML::description(
|
@@ -182,32 +209,47 @@ class FVP_Settings {
|
|
182 |
);
|
183 |
|
184 |
echo FVP_HTML::conditional(
|
|
|
|
|
|
|
185 |
FVP_HTML::checkboxes(
|
186 |
'fvp-settings[conditions]',
|
187 |
array(
|
188 |
'single' => sprintf(
|
189 |
-
esc_html__( '
|
190 |
'<a href="http://codex.wordpress.org/Function_Reference/is_single" target="_blank">',
|
191 |
-
'</a>'
|
|
|
192 |
),
|
193 |
'home' => sprintf(
|
194 |
-
esc_html__( '
|
195 |
'<a href="http://codex.wordpress.org/Function_Reference/is_home" target="_blank">',
|
196 |
-
'</a>'
|
|
|
197 |
),
|
198 |
'main_query' => sprintf(
|
199 |
-
esc_html__( '
|
200 |
'<a href="https://developer.wordpress.org/reference/functions/is_main_query/" target="_blank">',
|
201 |
-
'</a>'
|
|
|
202 |
),
|
203 |
'sticky' => sprintf(
|
204 |
-
esc_html__( '
|
|
|
|
|
|
|
|
|
|
|
205 |
'<a href="http://codex.wordpress.org/Function_Reference/is_sticky" target="_blank">',
|
206 |
'</a>'
|
207 |
)
|
208 |
),
|
209 |
! empty( $options['conditions'] ) ? $options['conditions'] : array()
|
210 |
-
)
|
|
|
|
|
|
|
|
|
211 |
array(
|
212 |
'fvp-settings[mode]' => '!manual',
|
213 |
'hidden' => ! $auto,
|
@@ -470,12 +512,14 @@ class FVP_Settings {
|
|
470 |
);
|
471 |
|
472 |
$datatypes = array(
|
473 |
-
'mode'
|
474 |
-
'
|
475 |
-
|
476 |
-
'
|
477 |
-
'
|
478 |
-
'
|
|
|
|
|
479 |
),
|
480 |
'alignment' => '(left|center|right)',
|
481 |
'sizing' => array(
|
@@ -531,7 +575,7 @@ class FVP_Settings {
|
|
531 |
if ( ! empty( $nextleaf ) ) {
|
532 |
$validated[ $key ] = $nextleaf;
|
533 |
}
|
534 |
-
} elseif ( 'BOOLEAN'
|
535 |
$validated[ $key ] = (bool) $src[ $key ];
|
536 |
} else {
|
537 |
preg_match( '/' . $value . '/i', $src[ $key ], $match );
|
15 |
|
16 |
private static $page = 'media';
|
17 |
|
18 |
+
|
19 |
public function __construct() {
|
20 |
FVP_HTML::add_screens( self::$hook );
|
21 |
|
22 |
+
add_action( 'admin_init', array( $this, 'settings_init' ) );
|
23 |
}
|
24 |
|
25 |
|
159 |
echo FVP_HTML::description(
|
160 |
sprintf( esc_html__( "Automatic integration (options 1-3) requires your theme to make use of WordPress' native %sfeatured image%s functionality.", 'featured-video-plus' ), '<a href="http://codex.wordpress.org/Post_Thumbnails" target="_blank">', '</a>' )
|
161 |
);
|
162 |
+
|
163 |
+
// Always replace on is_single() ?
|
164 |
+
echo FVP_HTML::conditional(
|
165 |
+
'<br />' .
|
166 |
+
FVP_HTML::checkbox(
|
167 |
+
'fvp-settings[single_replace]',
|
168 |
+
sprintf(
|
169 |
+
esc_html__(
|
170 |
+
'Always use replace mode when viewing %ssingle%s posts and pages.',
|
171 |
+
'featured-video-plus'
|
172 |
+
),
|
173 |
+
'<a href="http://codex.wordpress.org/Function_Reference/is_single" target="_blank">',
|
174 |
+
'</a>'
|
175 |
+
),
|
176 |
+
'1',
|
177 |
+
! empty( $options['single_replace'] ) && $options['single_replace']
|
178 |
+
),
|
179 |
+
array(
|
180 |
+
'fvp-settings[mode]' => '!manual',
|
181 |
+
'hidden' => ! empty( $options['mode'] ) && 'manual' === $options['mode']
|
182 |
+
)
|
183 |
+
);
|
184 |
}
|
185 |
|
186 |
|
193 |
$options = get_option( 'fvp-settings' );
|
194 |
|
195 |
$auto = ! empty( $options['mode'] ) && 'manual' !== $options['mode'];
|
196 |
+
$or = sprintf(
|
197 |
+
'<em>%s</em>',
|
198 |
+
strtoupper( esc_html__( 'or', 'featured-video-plus' ) )
|
199 |
+
);
|
200 |
|
201 |
echo FVP_HTML::conditional(
|
202 |
FVP_HTML::description(
|
209 |
);
|
210 |
|
211 |
echo FVP_HTML::conditional(
|
212 |
+
FVP_HTML::description(
|
213 |
+
esc_html__( 'Apply display mode...', 'featured-video-plus' )
|
214 |
+
) .
|
215 |
FVP_HTML::checkboxes(
|
216 |
'fvp-settings[conditions]',
|
217 |
array(
|
218 |
'single' => sprintf(
|
219 |
+
esc_html__( 'when viewing %ssingle%s posts and pages %s', 'featured-video-plus' ),
|
220 |
'<a href="http://codex.wordpress.org/Function_Reference/is_single" target="_blank">',
|
221 |
+
'</a>',
|
222 |
+
$or
|
223 |
),
|
224 |
'home' => sprintf(
|
225 |
+
esc_html__( 'when on the %spost index page%s %s', 'featured-video-plus' ),
|
226 |
'<a href="http://codex.wordpress.org/Function_Reference/is_home" target="_blank">',
|
227 |
+
'</a>',
|
228 |
+
$or
|
229 |
),
|
230 |
'main_query' => sprintf(
|
231 |
+
esc_html__( 'when inside the %smain query%s of each page %s', 'featured-video-plus' ),
|
232 |
'<a href="https://developer.wordpress.org/reference/functions/is_main_query/" target="_blank">',
|
233 |
+
'</a>',
|
234 |
+
$or
|
235 |
),
|
236 |
'sticky' => sprintf(
|
237 |
+
esc_html__( 'when displaying %ssticky%s posts.', 'featured-video-plus' ),
|
238 |
+
'<a href="http://codex.wordpress.org/Function_Reference/is_sticky" target="_blank">',
|
239 |
+
'</a>'
|
240 |
+
),
|
241 |
+
'!sticky' => sprintf(
|
242 |
+
esc_html__( 'when displaying not %ssticky%s posts.', 'featured-video-plus' ),
|
243 |
'<a href="http://codex.wordpress.org/Function_Reference/is_sticky" target="_blank">',
|
244 |
'</a>'
|
245 |
)
|
246 |
),
|
247 |
! empty( $options['conditions'] ) ? $options['conditions'] : array()
|
248 |
+
) .
|
249 |
+
FVP_HTML::description( esc_html__(
|
250 |
+
'If none of the above options is selected the display mode will be applied whenever possible.',
|
251 |
+
'featured-video-plus'
|
252 |
+
) ),
|
253 |
array(
|
254 |
'fvp-settings[mode]' => '!manual',
|
255 |
'hidden' => ! $auto,
|
512 |
);
|
513 |
|
514 |
$datatypes = array(
|
515 |
+
'mode' => '(replace|dynamic|overlay|manual)',
|
516 |
+
'single_replace' => 'BOOLEAN',
|
517 |
+
'conditions' => array(
|
518 |
+
'single' => 'BOOLEAN',
|
519 |
+
'home' => 'BOOLEAN',
|
520 |
+
'main_query' => 'BOOLEAN',
|
521 |
+
'sticky' => 'BOOLEAN',
|
522 |
+
'!sticky' => 'BOOLEAN',
|
523 |
),
|
524 |
'alignment' => '(left|center|right)',
|
525 |
'sizing' => array(
|
575 |
if ( ! empty( $nextleaf ) ) {
|
576 |
$validated[ $key ] = $nextleaf;
|
577 |
}
|
578 |
+
} elseif ( 'BOOLEAN' === $value ) {
|
579 |
$validated[ $key ] = (bool) $src[ $key ];
|
580 |
} else {
|
581 |
preg_match( '/' . $value . '/i', $src[ $key ], $match );
|
php/inc-upgrade.php
CHANGED
@@ -200,6 +200,14 @@ switch ( $version ) {
|
|
200 |
$this->save( array( 'id' => $id, 'fvp_video' => $meta['full'] ) );
|
201 |
}
|
202 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
default:
|
204 |
update_option( 'fvp-settings', $options );
|
205 |
update_option( 'fvp-version', FVP_VERSION );
|
200 |
$this->save( array( 'id' => $id, 'fvp_video' => $meta['full'] ) );
|
201 |
}
|
202 |
|
203 |
+
|
204 |
+
case '2.0.3':
|
205 |
+
$options['single_replace'] = false;
|
206 |
+
foreach( $options['conditions'] AS $key => $value ) {
|
207 |
+
$options['conditions'][ $key ] = (bool) $value;
|
208 |
+
}
|
209 |
+
|
210 |
+
|
211 |
default:
|
212 |
update_option( 'fvp-settings', $options );
|
213 |
update_option( 'fvp-version', FVP_VERSION );
|
readme.txt
CHANGED
@@ -10,7 +10,7 @@ License: GPLv2 or later
|
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
Requires at least: 3.7
|
12 |
Tested up to: 4.2.2
|
13 |
-
Stable tag: 2.0
|
14 |
|
15 |
Add Featured Videos to your posts and pages. Works like magic with most themes which use Featured Images. Local Media, YouTube, Vimeo and many more.
|
16 |
|
@@ -106,14 +106,29 @@ Yes, please! Check out the public [Featured Video Plus Translation Project](http
|
|
106 |
|
107 |
== Upgrade Notice ==
|
108 |
|
109 |
-
= 2.0
|
110 |
-
Only upgrade when using WordPress 3.7 or higher!
|
111 |
|
|
|
|
|
112 |
|
113 |
|
114 |
== Changelog ==
|
115 |
|
116 |
-
= 2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
* __Requires WordPress 3.7 or higher now!__ This reflects versions of WordPress which are "officially" [supported](https://codex.wordpress.org/Supported_Versions). The plugin will from now on try to stick to supporting all versions listed there.
|
118 |
* Major code refactor which results in many bugs scrubbed.
|
119 |
* Support for raw embed codes and [all WordPress core media providers](https://codex.wordpress.org/Embeds#Okay.2C_So_What_Sites_Can_I_Embed_From.3F).
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
Requires at least: 3.7
|
12 |
Tested up to: 4.2.2
|
13 |
+
Stable tag: 2.1.0
|
14 |
|
15 |
Add Featured Videos to your posts and pages. Works like magic with most themes which use Featured Images. Local Media, YouTube, Vimeo and many more.
|
16 |
|
106 |
|
107 |
== Upgrade Notice ==
|
108 |
|
109 |
+
= 2.1.0 =
|
110 |
+
Only upgrade when using WordPress 3.7 or higher! Check your media settings after upgrading.
|
111 |
|
112 |
+
= 2.0.3 =
|
113 |
+
Only upgrade when using WordPress 3.7 or higher!
|
114 |
|
115 |
|
116 |
== Changelog ==
|
117 |
|
118 |
+
= 2.1.0: 2015-06-11 =
|
119 |
+
* Display options are now chained using OR - if one of them holds, the replace mode is used.
|
120 |
+
* Added `always use replace mode when viewing single posts and pages` option, was implicitly true since 2.0.0. ([*](https://wordpress.org/support/topic/featured-video-overrides-featured-image)).
|
121 |
+
* Fixed undefined warnings when using `WP_DEBUG` ([*](https://wordpress.org/support/topic/debug-error-16)).
|
122 |
+
* Fixed double-wrapped .post-thumbnails ([*](https://wordpress.org/support/topic/video-no-longer-appearing)).
|
123 |
+
* Lazy loading a video no longer breaks other videos. ([*](https://wordpress.org/support/topic/blank-screen-after-the-video-is-played))
|
124 |
+
|
125 |
+
= 2.0.3: 2015-06-01 =
|
126 |
+
* Remove usage of PHP short array syntax in order to support PHP versions lower than 5.4 ([*](https://wordpress.org/support/topic/bug-on-version-201))
|
127 |
+
|
128 |
+
= 2.0.2: 2015-06-01 =
|
129 |
+
* Fixed undefined warnings when saving posts with fresh featured videos.
|
130 |
+
|
131 |
+
= 2.0.0 & 2.0.1: 2015-06-01 =
|
132 |
* __Requires WordPress 3.7 or higher now!__ This reflects versions of WordPress which are "officially" [supported](https://codex.wordpress.org/Supported_Versions). The plugin will from now on try to stick to supporting all versions listed there.
|
133 |
* Major code refactor which results in many bugs scrubbed.
|
134 |
* Support for raw embed codes and [all WordPress core media providers](https://codex.wordpress.org/Embeds#Okay.2C_So_What_Sites_Can_I_Embed_From.3F).
|
styles/_variables.less
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
.border-radius( @radius ) {
|
2 |
-
-webkit-border-radius: @radius;
|
3 |
-
-moz-border-radius: @radius;
|
4 |
-
border-radius: @radius;
|
5 |
-
}
|
|
|
|
|
|
|
|
|
|
styles/backend.css
CHANGED
@@ -1 +1,58 @@
|
|
1 |
-
#featured-video-plus-box .fvp-current-video
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
#featured-video-plus-box .fvp-current-video {
|
2 |
+
background: transparent fixed no-repeat center center;
|
3 |
+
}
|
4 |
+
#featured-video-plus-box .fvp-current-video,
|
5 |
+
#featured-video-plus-box iframe {
|
6 |
+
width: 256px;
|
7 |
+
height: auto;
|
8 |
+
margin-bottom: 5px;
|
9 |
+
}
|
10 |
+
#featured-video-plus-box .fvp-hidden {
|
11 |
+
display: none;
|
12 |
+
}
|
13 |
+
#featured-video-plus-box .fvp-notice {
|
14 |
+
-webkit-border-radius: 3px;
|
15 |
+
-moz-border-radius: 3px;
|
16 |
+
border-radius: 3px;
|
17 |
+
margin: .5em 0;
|
18 |
+
padding: .4em .6em .2em;
|
19 |
+
border: 1px solid #808080;
|
20 |
+
background-color: #fff;
|
21 |
+
}
|
22 |
+
#featured-video-plus-box .fvp-warning {
|
23 |
+
-webkit-border-radius: 3px;
|
24 |
+
-moz-border-radius: 3px;
|
25 |
+
border-radius: 3px;
|
26 |
+
margin: .5em 0;
|
27 |
+
padding: .4em .6em .2em;
|
28 |
+
border: 1px solid #808080;
|
29 |
+
background-color: #fff;
|
30 |
+
border: 1px solid #E6DB55;
|
31 |
+
background-color: #FFFFE0;
|
32 |
+
}
|
33 |
+
#featured-video-plus-box textarea {
|
34 |
+
resize: none;
|
35 |
+
width: 100%;
|
36 |
+
height: 1.1em;
|
37 |
+
line-height: 1.1em;
|
38 |
+
font-size: 1em;
|
39 |
+
min-height: 23px;
|
40 |
+
}
|
41 |
+
#featured-video-plus-box .fvp-input-wrapper {
|
42 |
+
position: relative;
|
43 |
+
}
|
44 |
+
#featured-video-plus-box .fvp-video {
|
45 |
+
padding-right: 21px;
|
46 |
+
}
|
47 |
+
#featured-video-plus-box .fvp-media-icon {
|
48 |
+
background: transparent no-repeat top left;
|
49 |
+
display: block;
|
50 |
+
width: 15px;
|
51 |
+
height: 15px;
|
52 |
+
position: absolute;
|
53 |
+
top: 4px;
|
54 |
+
right: 4px;
|
55 |
+
}
|
56 |
+
#postimagediv #remove-post-thumbnail {
|
57 |
+
display: none !important;
|
58 |
+
}
|
styles/backend.less
DELETED
@@ -1,59 +0,0 @@
|
|
1 |
-
@import '_variables.less';
|
2 |
-
|
3 |
-
#featured-video-plus-box {
|
4 |
-
.fvp-current-video {
|
5 |
-
background: transparent fixed no-repeat center center;
|
6 |
-
}
|
7 |
-
|
8 |
-
.fvp-current-video,
|
9 |
-
iframe {
|
10 |
-
width: 256px;
|
11 |
-
height: auto;
|
12 |
-
margin-bottom: 5px;
|
13 |
-
}
|
14 |
-
|
15 |
-
.fvp-hidden {
|
16 |
-
display: none;
|
17 |
-
}
|
18 |
-
|
19 |
-
.fvp-notice {
|
20 |
-
.border-radius(3px);
|
21 |
-
margin: .5em 0;
|
22 |
-
padding: .4em .6em .2em;
|
23 |
-
border: 1px solid #808080;
|
24 |
-
background-color: #fff;
|
25 |
-
}
|
26 |
-
|
27 |
-
.fvp-warning {
|
28 |
-
.fvp-notice();
|
29 |
-
border: 1px solid #E6DB55;
|
30 |
-
background-color: #FFFFE0; // lightYellow
|
31 |
-
}
|
32 |
-
|
33 |
-
textarea {
|
34 |
-
resize: none;
|
35 |
-
width: 100%;
|
36 |
-
height: 1.1em;
|
37 |
-
line-height: 1.1em;
|
38 |
-
font-size: 1em;
|
39 |
-
min-height: 23px;
|
40 |
-
}
|
41 |
-
|
42 |
-
.fvp-input-wrapper {
|
43 |
-
position: relative;
|
44 |
-
}
|
45 |
-
|
46 |
-
.fvp-video {
|
47 |
-
padding-right: 21px;
|
48 |
-
}
|
49 |
-
|
50 |
-
.fvp-media-icon {
|
51 |
-
background: transparent no-repeat top left;
|
52 |
-
display: block;
|
53 |
-
width: 15px;
|
54 |
-
height: 15px;
|
55 |
-
position: absolute;
|
56 |
-
top: 4px;
|
57 |
-
right: 4px;
|
58 |
-
}
|
59 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
styles/frontend.css
CHANGED
@@ -1 +1,75 @@
|
|
1 |
-
.featured-video-plus.fvp-responsive .wp-video
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
.featured-video-plus.fvp-responsive .wp-video {
|
2 |
+
width: auto !important;
|
3 |
+
height: auto !important;
|
4 |
+
}
|
5 |
+
.featured-video-plus.fvp-responsive .mejs-container {
|
6 |
+
width: 100% !important;
|
7 |
+
height: auto !important;
|
8 |
+
padding-top: 57%;
|
9 |
+
}
|
10 |
+
.featured-video-plus.fvp-responsive .mejs-overlay,
|
11 |
+
.featured-video-plus.fvp-responsive .mejs-poster {
|
12 |
+
width: 100% !important;
|
13 |
+
height: 100% !important;
|
14 |
+
}
|
15 |
+
.featured-video-plus.fvp-responsive .mejs-mediaelement video {
|
16 |
+
position: absolute;
|
17 |
+
top: 0;
|
18 |
+
left: 0;
|
19 |
+
right: 0;
|
20 |
+
bottom: 0;
|
21 |
+
width: 100% !important;
|
22 |
+
height: 100% !important;
|
23 |
+
}
|
24 |
+
.featured-video-plus.fvp-responsive audio {
|
25 |
+
width: 100%;
|
26 |
+
}
|
27 |
+
.featured-video-plus.fvp-center {
|
28 |
+
text-align: center;
|
29 |
+
}
|
30 |
+
.featured-video-plus.fvp-center .wp-video {
|
31 |
+
margin: 0 auto;
|
32 |
+
}
|
33 |
+
.featured-video-plus.fvp-right {
|
34 |
+
text-align: right;
|
35 |
+
}
|
36 |
+
.featured-video-plus.fvp-right .wp-video {
|
37 |
+
margin: 0 0 auto auto;
|
38 |
+
}
|
39 |
+
.featured-video-plus.fvp-left {
|
40 |
+
text-align: left;
|
41 |
+
}
|
42 |
+
.featured-video-plus.fvp-left .wp-video {
|
43 |
+
margin: 0 auto auto 0;
|
44 |
+
}
|
45 |
+
.fvp-overlay,
|
46 |
+
.fvp-dynamic {
|
47 |
+
position: relative;
|
48 |
+
height: auto;
|
49 |
+
width: auto;
|
50 |
+
}
|
51 |
+
.fvp-overlay .fvp-loader,
|
52 |
+
.fvp-dynamic .fvp-loader {
|
53 |
+
background: transparent no-repeat scroll center center;
|
54 |
+
position: absolute;
|
55 |
+
left: 50%;
|
56 |
+
top: 50%;
|
57 |
+
z-index: 10;
|
58 |
+
pointer-events: none;
|
59 |
+
}
|
60 |
+
#DOMWindow {
|
61 |
+
background: transparent center center no-repeat;
|
62 |
+
width: auto;
|
63 |
+
height: auto;
|
64 |
+
margin: auto auto;
|
65 |
+
overflow: hidden;
|
66 |
+
}
|
67 |
+
.featured-video-plus .wp-video a:not(.post-thumbnail) {
|
68 |
+
display: none;
|
69 |
+
}
|
70 |
+
.no-js .featured-video-plus .wp-video a:not(.post-thumbnail) {
|
71 |
+
display: inline;
|
72 |
+
}
|
73 |
+
.featured-video-plus.fvp-responsive.fvp-spotify .fluid-width-video-wrapper {
|
74 |
+
padding-top: 100% !important;
|
75 |
+
}
|
styles/frontend.less
DELETED
@@ -1,96 +0,0 @@
|
|
1 |
-
// *****************************************************************************
|
2 |
-
// Responsive videos.
|
3 |
-
.featured-video-plus.fvp-responsive {
|
4 |
-
.wp-video {
|
5 |
-
width: auto !important;
|
6 |
-
height: auto !important;
|
7 |
-
}
|
8 |
-
|
9 |
-
.mejs-container {
|
10 |
-
width: 100% !important;
|
11 |
-
height: auto !important;
|
12 |
-
padding-top: 57%;
|
13 |
-
}
|
14 |
-
|
15 |
-
.mejs-overlay, .mejs-poster {
|
16 |
-
width: 100% !important;
|
17 |
-
height: 100% !important;
|
18 |
-
}
|
19 |
-
|
20 |
-
.mejs-mediaelement video {
|
21 |
-
position: absolute;
|
22 |
-
top: 0;
|
23 |
-
left: 0;
|
24 |
-
right: 0;
|
25 |
-
bottom: 0;
|
26 |
-
width: 100% !important;
|
27 |
-
height: 100% !important;
|
28 |
-
}
|
29 |
-
|
30 |
-
audio {
|
31 |
-
width: 100%;
|
32 |
-
}
|
33 |
-
}
|
34 |
-
|
35 |
-
// *****************************************************************************
|
36 |
-
// Alignment
|
37 |
-
.featured-video-plus.fvp-center {
|
38 |
-
text-align: center;
|
39 |
-
.wp-video { margin: 0 auto; }
|
40 |
-
}
|
41 |
-
|
42 |
-
.featured-video-plus.fvp-right {
|
43 |
-
text-align: right;
|
44 |
-
.wp-video { margin: 0 0 auto auto; }
|
45 |
-
}
|
46 |
-
|
47 |
-
.featured-video-plus.fvp-left {
|
48 |
-
text-align: left;
|
49 |
-
.wp-video { margin: 0 auto auto 0; }
|
50 |
-
}
|
51 |
-
|
52 |
-
// *****************************************************************************
|
53 |
-
// Lazy mode overlay button and DOM Window
|
54 |
-
.fvp-overlay,
|
55 |
-
.fvp-dynamic {
|
56 |
-
position: relative;
|
57 |
-
height: auto;
|
58 |
-
width: auto;
|
59 |
-
|
60 |
-
.fvp-loader {
|
61 |
-
background: transparent no-repeat scroll center center;
|
62 |
-
position: absolute;
|
63 |
-
left: 50%;
|
64 |
-
top: 50%;
|
65 |
-
z-index: 10;
|
66 |
-
}
|
67 |
-
}
|
68 |
-
|
69 |
-
#DOMWindow {
|
70 |
-
background: transparent center center no-repeat;
|
71 |
-
width: auto;
|
72 |
-
height: auto;
|
73 |
-
margin: auto auto;
|
74 |
-
overflow: hidden;
|
75 |
-
}
|
76 |
-
|
77 |
-
// *****************************************************************************
|
78 |
-
// Hacks
|
79 |
-
|
80 |
-
// Hides the link displayed below local videos as generated using
|
81 |
-
// wp_mediaelement_fallback
|
82 |
-
// @see http://codex.wordpress.org/Function_Reference/wp_mediaelement_fallback
|
83 |
-
// @see https://core.trac.wordpress.org/browser/tags/4.2.2/src/wp-includes/media.php#L1917
|
84 |
-
.featured-video-plus .wp-video a:not(.post-thumbnail) {
|
85 |
-
display: none;
|
86 |
-
}
|
87 |
-
|
88 |
-
.no-js .featured-video-plus .wp-video a:not(.post-thumbnail) {
|
89 |
-
display: inline;
|
90 |
-
}
|
91 |
-
|
92 |
-
// Spotify fitvids fix.
|
93 |
-
// TODO.
|
94 |
-
.featured-video-plus.fvp-responsive.fvp-spotify .fluid-width-video-wrapper {
|
95 |
-
padding-top: 100% !important;
|
96 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
styles/html.css
CHANGED
@@ -1 +1,52 @@
|
|
1 |
-
body.no-js .fvphtml-tab-title
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
body.no-js .fvphtml-tab-title {
|
2 |
+
font-weight: bold;
|
3 |
+
display: block;
|
4 |
+
}
|
5 |
+
body.js .fvphtml-tab-title {
|
6 |
+
float: left;
|
7 |
+
padding: 1px 10px 2px;
|
8 |
+
cursor: pointer;
|
9 |
+
border-style: solid;
|
10 |
+
border-color: #ccc;
|
11 |
+
border-width: 0;
|
12 |
+
border-right-width: 1px;
|
13 |
+
border-bottom-width: 1px;
|
14 |
+
}
|
15 |
+
body.js .fvphtml-tab-title:hover {
|
16 |
+
text-decoration: underline;
|
17 |
+
}
|
18 |
+
body.js .fvphtml-tab-title.active {
|
19 |
+
cursor: default;
|
20 |
+
font-weight: bold;
|
21 |
+
border-bottom-width: 0;
|
22 |
+
padding-top: 0;
|
23 |
+
border-top-width: 1px;
|
24 |
+
}
|
25 |
+
body.js .fvphtml-tab-title.active:hover {
|
26 |
+
text-decoration: none;
|
27 |
+
}
|
28 |
+
.fvphtml-tab-body {
|
29 |
+
clear: both;
|
30 |
+
padding-top: 5px;
|
31 |
+
}
|
32 |
+
.fvphtml-label {
|
33 |
+
position: relative;
|
34 |
+
clear: both;
|
35 |
+
display: block;
|
36 |
+
}
|
37 |
+
.fvphtml-label .fvphtml-innerlabel {
|
38 |
+
display: block;
|
39 |
+
float: left;
|
40 |
+
width: 10em;
|
41 |
+
line-height: 27px;
|
42 |
+
}
|
43 |
+
.fvphtml-label .fvphtml-reset {
|
44 |
+
position: absolute;
|
45 |
+
top: 0;
|
46 |
+
left: 9em;
|
47 |
+
z-index: 1;
|
48 |
+
line-height: 27px;
|
49 |
+
}
|
50 |
+
.fvphtml-pointer-input {
|
51 |
+
width: 100%;
|
52 |
+
}
|
styles/html.less
DELETED
@@ -1,66 +0,0 @@
|
|
1 |
-
body.no-js {
|
2 |
-
.fvphtml-tab-title {
|
3 |
-
font-weight: bold;
|
4 |
-
display: block;
|
5 |
-
}
|
6 |
-
}
|
7 |
-
|
8 |
-
body.js {
|
9 |
-
.fvphtml-tab-title {
|
10 |
-
float: left;
|
11 |
-
padding: 1px 10px 2px;
|
12 |
-
cursor: pointer;
|
13 |
-
border-style: solid;
|
14 |
-
border-color: #ccc;
|
15 |
-
border-width: 0;
|
16 |
-
border-right-width: 1px;
|
17 |
-
border-bottom-width: 1px;
|
18 |
-
|
19 |
-
&:hover {
|
20 |
-
text-decoration: underline;
|
21 |
-
}
|
22 |
-
}
|
23 |
-
|
24 |
-
.fvphtml-tab-title.active {
|
25 |
-
font-weight: bold;
|
26 |
-
cursor: default;
|
27 |
-
font-weight: bold;
|
28 |
-
border-bottom-width: 0;
|
29 |
-
padding-top: 0;
|
30 |
-
border-top-width: 1px;
|
31 |
-
|
32 |
-
&:hover {
|
33 |
-
text-decoration: none;
|
34 |
-
}
|
35 |
-
}
|
36 |
-
}
|
37 |
-
|
38 |
-
.fvphtml-tab-body {
|
39 |
-
clear: both;
|
40 |
-
padding-top: 5px;
|
41 |
-
}
|
42 |
-
|
43 |
-
.fvphtml-label {
|
44 |
-
position: relative;
|
45 |
-
clear: both;
|
46 |
-
display: block;
|
47 |
-
|
48 |
-
.fvphtml-innerlabel {
|
49 |
-
display: block;
|
50 |
-
float: left;
|
51 |
-
width: 10em;
|
52 |
-
line-height: 27px;
|
53 |
-
}
|
54 |
-
|
55 |
-
.fvphtml-reset {
|
56 |
-
position: absolute;
|
57 |
-
top: 0;
|
58 |
-
left: 9em;
|
59 |
-
z-index: 1;
|
60 |
-
line-height: 27px;
|
61 |
-
}
|
62 |
-
}
|
63 |
-
|
64 |
-
.fvphtml-pointer-input {
|
65 |
-
width: 100%;
|
66 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|