Version Description
Download this release
Release Info
Developer | embedplus |
Plugin | YouTube |
Version | 12.0.1 |
Comparing to | |
See all releases |
Code changes from version 12.0 to 12.0.1
- includes/vi/vi_registration_form.php +7 -4
- readme.txt +5 -1
- scripts/ytprefs-admin.js +91 -6
- scripts/ytprefs-admin.min.js +1 -1
- scripts/ytprefs.js +1 -1
- scripts/ytprefs.min.js +1 -1
- styles/ytvi-admin.css +11 -2
- styles/ytvi-admin.min.css +1 -1
- youtube.php +146 -23
includes/vi/vi_registration_form.php
CHANGED
@@ -31,8 +31,8 @@
|
|
31 |
<div class="vi-demo-col-content">
|
32 |
<div class="vi-demo">
|
33 |
<p class="vi-demo-lede">
|
34 |
-
You now have the option to make money embedding quality video ads
|
35 |
-
|
36 |
<a href="https://www.vi.ai/publisher-video-monetization/?aid=WP_embedplus&utm_source=Wordpress&utm_medium=WP_embedplus" target="_blank">video intelligence</a>,
|
37 |
and completely separate from your YouTube embeds.
|
38 |
</p>
|
@@ -79,6 +79,7 @@
|
|
79 |
<p>
|
80 |
<input class="button-primary ytvi-step-1--submit-login ytprefs-ajax-form--submit" type="button" value="Log In »">
|
81 |
<a class="vi-forgot-pw" href="https://dashboard.vi.ai/resetPassword/" target="_blank">Forgot Password?</a>
|
|
|
82 |
</p>
|
83 |
</div>
|
84 |
<div class="vi-contact-support">
|
@@ -130,12 +131,14 @@ if (!self::vi_cover_prompt_yes())
|
|
130 |
<div class="clearboth vi-cover-clear"></div>
|
131 |
<div class="vi-cover-prompt">
|
132 |
<h1>
|
133 |
-
Hey! We have a new optional feature to help you monetize using video.
|
134 |
<br>
|
135 |
Are you interested in learning more about it?
|
136 |
</h1>
|
137 |
<p class="vi-cover-prompt-buttons">
|
138 |
-
<button type="button" class="button-primary vi-cover-prompt-yes">Yes, tell me more.</button
|
|
|
|
|
139 |
</p>
|
140 |
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" class="viblurfilter-svg">
|
141 |
<defs>
|
31 |
<div class="vi-demo-col-content">
|
32 |
<div class="vi-demo">
|
33 |
<p class="vi-demo-lede">
|
34 |
+
You now have the option to make money embedding quality video ads that offer up to 10 times higher CPMs than display advertising. The ads that you will embed are privacy/GDPR friendly,
|
35 |
+
powered by <img class="vi-logo-text" alt="vi" src="<?php echo plugins_url(self::$folder_name . '/images/vi_logo.svg'); ?>">
|
36 |
<a href="https://www.vi.ai/publisher-video-monetization/?aid=WP_embedplus&utm_source=Wordpress&utm_medium=WP_embedplus" target="_blank">video intelligence</a>,
|
37 |
and completely separate from your YouTube embeds.
|
38 |
</p>
|
79 |
<p>
|
80 |
<input class="button-primary ytvi-step-1--submit-login ytprefs-ajax-form--submit" type="button" value="Log In »">
|
81 |
<a class="vi-forgot-pw" href="https://dashboard.vi.ai/resetPassword/" target="_blank">Forgot Password?</a>
|
82 |
+
<input type="hidden" value="" class="ytvi-login-adstxt" />
|
83 |
</p>
|
84 |
</div>
|
85 |
<div class="vi-contact-support">
|
131 |
<div class="clearboth vi-cover-clear"></div>
|
132 |
<div class="vi-cover-prompt">
|
133 |
<h1>
|
134 |
+
Hey! We have a new optional feature to help you monetize using video and gain up to 10 times higher CPMs than display advertising.
|
135 |
<br>
|
136 |
Are you interested in learning more about it?
|
137 |
</h1>
|
138 |
<p class="vi-cover-prompt-buttons">
|
139 |
+
<button type="button" class="button-primary vi-cover-prompt-yes">Yes, tell me more.</button>
|
140 |
+
<button type="button" class="button-secondary vi-cover-prompt-maybe">Maybe later.</button>
|
141 |
+
<button type="button" class="button-secondary vi-cover-prompt-no">No, hide this feature.</button>
|
142 |
</p>
|
143 |
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" class="viblurfilter-svg">
|
144 |
<defs>
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: YouTube Embed
|
|
4 |
Tags: youtube gallery, video gallery, youtube channel, youtube live, live stream
|
5 |
Requires at least: 3.6.1
|
6 |
Tested up to: 4.9
|
7 |
-
Stable tag: 12.0
|
8 |
License: GPLv3 or later
|
9 |
|
10 |
YouTube Embed WordPress Plugin. Embed a responsive video, YouTube channel gallery, playlist gallery, or YouTube.com live stream (with GDPR options)
|
@@ -148,6 +148,10 @@ You can also start and end each individual video at particular times. Like the a
|
|
148 |
|
149 |
== Changelog ==
|
150 |
|
|
|
|
|
|
|
|
|
151 |
= WordPress YouTube Embed 12.0 =
|
152 |
* Improves the admin interface, and includes a new optional feature for users that want to monetize their sites through contextual video from vi.ai.
|
153 |
|
4 |
Tags: youtube gallery, video gallery, youtube channel, youtube live, live stream
|
5 |
Requires at least: 3.6.1
|
6 |
Tested up to: 4.9
|
7 |
+
Stable tag: 12.0.1
|
8 |
License: GPLv3 or later
|
9 |
|
10 |
YouTube Embed WordPress Plugin. Embed a responsive video, YouTube channel gallery, playlist gallery, or YouTube.com live stream (with GDPR options)
|
148 |
|
149 |
== Changelog ==
|
150 |
|
151 |
+
= WordPress YouTube Embed 12.0.1 =
|
152 |
+
* Force HTTPS for the YouTube API if the API is enabled
|
153 |
+
* Makes the wizard's lightbox expand/contract responsively for different size screens
|
154 |
+
|
155 |
= WordPress YouTube Embed 12.0 =
|
156 |
* Improves the admin interface, and includes a new optional feature for users that want to monetize their sites through contextual video from vi.ai.
|
157 |
|
scripts/ytprefs-admin.js
CHANGED
@@ -4,14 +4,16 @@
|
|
4 |
{
|
5 |
setTimeout(function ()
|
6 |
{
|
7 |
-
$(
|
|
|
|
|
8 |
{
|
9 |
-
$("#TB_window").get(0).style.setProperty('width',
|
10 |
});
|
11 |
|
12 |
$("#TB_overlay").addClass('epyt-thickbox');
|
13 |
|
14 |
-
$("#TB_window iframe").animate({width:
|
15 |
}, 750);
|
16 |
};
|
17 |
|
@@ -76,6 +78,60 @@
|
|
76 |
}, 600);
|
77 |
};
|
78 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
79 |
$.fn.ytprefsFormJSON = function ()
|
80 |
{
|
81 |
var o = {};
|
@@ -189,6 +245,11 @@
|
|
189 |
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
190 |
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
191 |
|
|
|
|
|
|
|
|
|
|
|
192 |
$('.wrap section a[href^="#jump"]').on('click', function (e)
|
193 |
{
|
194 |
e.preventDefault();
|
@@ -280,6 +341,21 @@
|
|
280 |
document.cookie = "vi_cover_prompt_yes=1;expires=" + date.toUTCString() + ";path=" + window._EPYTA_.admin_url;
|
281 |
});
|
282 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
283 |
if ($('.vi-demo-screen').length > 1)
|
284 |
{
|
285 |
var demoInterval = setInterval(function ()
|
@@ -372,6 +448,7 @@
|
|
372 |
|
373 |
var loginEmail = $.trim($('.ytvi-login-email').val());
|
374 |
var loginPassword = $.trim($('.ytvi-password').val());
|
|
|
375 |
var errorMessage = "";
|
376 |
|
377 |
errorMessage += loginEmail.length ? "" : "Please enter your email address. ";
|
@@ -398,13 +475,17 @@
|
|
398 |
security: window._EPYTA_.security,
|
399 |
action: 'my_embedplus_vi_login_ajax',
|
400 |
email: loginEmail,
|
401 |
-
password: loginPassword
|
|
|
402 |
},
|
403 |
success: function (response)
|
404 |
{
|
405 |
if (response.type === 'error')
|
406 |
{
|
407 |
-
alertify.alert(response.message)
|
|
|
|
|
|
|
408 |
window._EPYTA_.ytvi_cancel();
|
409 |
}
|
410 |
else
|
@@ -420,12 +501,16 @@
|
|
420 |
},
|
421 |
error: function (xhr, ajaxOptions, thrownError)
|
422 |
{
|
423 |
-
alertify.alert('Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com')
|
|
|
|
|
|
|
424 |
window._EPYTA_.ytvi_cancel();
|
425 |
},
|
426 |
complete: function ()
|
427 |
{
|
428 |
$('.ytvi-step-1--submit-login').prop('disabled', false);
|
|
|
429 |
}
|
430 |
});
|
431 |
});
|
4 |
{
|
5 |
setTimeout(function ()
|
6 |
{
|
7 |
+
var tbWidth = Math.min(950, $(window).width() - 100);
|
8 |
+
var tbMargin = -1 * tbWidth / 2;
|
9 |
+
$("#TB_window").addClass('epyt-thickbox').animate({marginLeft: tbMargin, width: tbWidth}, 150, 'swing', function ()
|
10 |
{
|
11 |
+
$("#TB_window").get(0).style.setProperty('width', tbWidth, 'important');
|
12 |
});
|
13 |
|
14 |
$("#TB_overlay").addClass('epyt-thickbox');
|
15 |
|
16 |
+
$("#TB_window iframe").animate({width: tbWidth}, 150);
|
17 |
}, 750);
|
18 |
};
|
19 |
|
78 |
}, 600);
|
79 |
};
|
80 |
|
81 |
+
window._EPYTA_.selectText = function (ele)
|
82 |
+
{
|
83 |
+
if (document.selection)
|
84 |
+
{
|
85 |
+
var range = document.body.createTextRange();
|
86 |
+
range.moveToElementText(ele);
|
87 |
+
range.select();
|
88 |
+
}
|
89 |
+
else if (window.getSelection)
|
90 |
+
{
|
91 |
+
var selection = window.getSelection();
|
92 |
+
var range = document.createRange();
|
93 |
+
range.selectNode(ele);
|
94 |
+
selection.removeAllRanges();
|
95 |
+
selection.addRange(range);
|
96 |
+
}
|
97 |
+
};
|
98 |
+
|
99 |
+
window._EPYTA_.adstxtLookup = function ()
|
100 |
+
{
|
101 |
+
$.ajax({
|
102 |
+
url: location.protocol + "//" + location.hostname + "/ads.txt?c=" + Math.random(),
|
103 |
+
dataType: 'text',
|
104 |
+
type: 'get',
|
105 |
+
async: true,
|
106 |
+
statusCode: {
|
107 |
+
200: function (response)
|
108 |
+
{
|
109 |
+
$('.ytvi-login-adstxt').val($("<div/>").html(response).text());
|
110 |
+
},
|
111 |
+
301: function (response)
|
112 |
+
{
|
113 |
+
$('.ytvi-login-adstxt').val($("<div/>").html(response).text());
|
114 |
+
},
|
115 |
+
302: function (response)
|
116 |
+
{
|
117 |
+
$('.ytvi-login-adstxt').val($("<div/>").html(response).text());
|
118 |
+
},
|
119 |
+
304: function (response)
|
120 |
+
{
|
121 |
+
$('.ytvi-login-adstxt').val($("<div/>").html(response).text());
|
122 |
+
},
|
123 |
+
307: function (response)
|
124 |
+
{
|
125 |
+
$('.ytvi-login-adstxt').val($("<div/>").html(response).text());
|
126 |
+
}
|
127 |
+
},
|
128 |
+
error: function (jqXHR, status, errorThrown)
|
129 |
+
{
|
130 |
+
//alert(errorThrown);
|
131 |
+
}
|
132 |
+
});
|
133 |
+
};
|
134 |
+
|
135 |
$.fn.ytprefsFormJSON = function ()
|
136 |
{
|
137 |
var o = {};
|
245 |
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
246 |
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
247 |
|
248 |
+
if ($('.ytvi-step.ytvi-step-1').length)
|
249 |
+
{
|
250 |
+
window._EPYTA_.adstxtLookup();
|
251 |
+
}
|
252 |
+
|
253 |
$('.wrap section a[href^="#jump"]').on('click', function (e)
|
254 |
{
|
255 |
e.preventDefault();
|
341 |
document.cookie = "vi_cover_prompt_yes=1;expires=" + date.toUTCString() + ";path=" + window._EPYTA_.admin_url;
|
342 |
});
|
343 |
|
344 |
+
$('.vi-cover-prompt-maybe').on('click', function ()
|
345 |
+
{
|
346 |
+
var date = new Date();
|
347 |
+
date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));
|
348 |
+
document.cookie = "vi_cover_prompt_yes=1;expires=" + date.toUTCString() + ";path=" + window._EPYTA_.admin_url;
|
349 |
+
if (window != window.top)
|
350 |
+
{
|
351 |
+
window.location.reload();
|
352 |
+
}
|
353 |
+
else
|
354 |
+
{
|
355 |
+
window.top.location.href = window._EPYTA_.admin_url_ytprefs;
|
356 |
+
}
|
357 |
+
});
|
358 |
+
|
359 |
if ($('.vi-demo-screen').length > 1)
|
360 |
{
|
361 |
var demoInterval = setInterval(function ()
|
448 |
|
449 |
var loginEmail = $.trim($('.ytvi-login-email').val());
|
450 |
var loginPassword = $.trim($('.ytvi-password').val());
|
451 |
+
var loginAdstxt = $('.ytvi-login-adstxt').val();
|
452 |
var errorMessage = "";
|
453 |
|
454 |
errorMessage += loginEmail.length ? "" : "Please enter your email address. ";
|
475 |
security: window._EPYTA_.security,
|
476 |
action: 'my_embedplus_vi_login_ajax',
|
477 |
email: loginEmail,
|
478 |
+
password: loginPassword,
|
479 |
+
adstxt: loginAdstxt
|
480 |
},
|
481 |
success: function (response)
|
482 |
{
|
483 |
if (response.type === 'error')
|
484 |
{
|
485 |
+
alertify.alert(response.message, function ()
|
486 |
+
{
|
487 |
+
window._EPYTA_.adstxtLookup();
|
488 |
+
});
|
489 |
window._EPYTA_.ytvi_cancel();
|
490 |
}
|
491 |
else
|
501 |
},
|
502 |
error: function (xhr, ajaxOptions, thrownError)
|
503 |
{
|
504 |
+
alertify.alert('Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com', function ()
|
505 |
+
{
|
506 |
+
window._EPYTA_.adstxtLookup();
|
507 |
+
});
|
508 |
window._EPYTA_.ytvi_cancel();
|
509 |
},
|
510 |
complete: function ()
|
511 |
{
|
512 |
$('.ytvi-step-1--submit-login').prop('disabled', false);
|
513 |
+
window._EPYTA_.adstxtLookup();
|
514 |
}
|
515 |
});
|
516 |
});
|
scripts/ytprefs-admin.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
|
2 |
-
(function(a,b){a._EPYTA_.widen_ytprefs_wiz=a._EPYTA_.widen_ytprefs_wiz||function(){setTimeout(function(){b("#TB_window").addClass("epyt-thickbox").animate({marginLeft:"-475px",width:"950px"},150,"swing",function(){b("#TB_window").get(0).style.setProperty("width","950px","important")});b("#TB_overlay").addClass("epyt-thickbox");b("#TB_window iframe").animate({width:"950px"},150)},750)};a._EPYTA_.ytvi_cancel=a._EPYTA_.ytvi_cancel||function(){b(".ytvi-step").hide("fade",{},500,function(){b(".ytvi-step-1").show("fade",{},500)})};a._EPYTA_.moneyFormat=a._EPYTA_.moneyFormat||function(c){return"$"+parseFloat(c).toFixed(2)};a._EPYTA_.escId=function(c){return"#"+c.replace(/(:|\.|\[|\]|,|=|@)/g,"\\$1")};a._EPYTA_.demoBackgroundColor=function(c,d){setTimeout(function(){b(".vi-story-demo--info").css("background-color",b(a._EPYTA_.escId("vi_js_settings[backgroundColor]")).val())},0)};a._EPYTA_.demoTextColor=function(c,d){setTimeout(function(){b(".vi-story-demo--info *").css("color",b(a._EPYTA_.escId("vi_js_settings[textColor]")).val())},0)};a._EPYTA_.demoFontFamily=function(){b(".vi-story-demo--title").css("font-family",b(a._EPYTA_.escId("vi_js_settings[font]")).val())};a._EPYTA_.demoFontSize=function(){b(".vi-story-demo--title").css("font-size",b(a._EPYTA_.escId("vi_js_settings[fontSize]")).val()+"px")};a._EPYTA_.onboardNext=function(c){b(".ytprefs-ob-step").removeClass("active-step");setTimeout(function(){a.scrollTo(0,0);c.next().addClass("active-step")},600)};a._EPYTA_.onboardPrev=function(c){b(".ytprefs-ob-step").removeClass("active-step");setTimeout(function(){a.scrollTo(0,0);c.prev().addClass("active-step")},600)};b.fn.ytprefsFormJSON=function(){var d={};var c=this.serializeArray();b.each(c,function(){if(d[this.name]){if(!d[this.name].push){d[this.name]=[d[this.name]]}d[this.name].push(this.value||"")}else{d[this.name]=this.value||""}});return d};b(document).ready(function(){if(a.location.toString().indexOf("https://")===0){a._EPYTA_.wpajaxurl=a._EPYTA_.wpajaxurl.replace("http://","https://")}var g=a.addEventListener?"addEventListener":"attachEvent";var d=a[g];var c=g==="attachEvent"?"onmessage":"message";d(c,function(k){var i="";try{if(k.data.indexOf("youtubeembedplus")===0){i=k.data.split("|")[1];if(i.indexOf("[")!==0){i="<p>"+i+"</p>"}if(a.tinyMCE!==null&&a.tinyMCE.activeEditor!==null&&!a.tinyMCE.activeEditor.isHidden()){if(typeof a.tinyMCE.execInstanceCommand!=="undefined"){a.tinyMCE.execInstanceCommand(a.tinyMCE.activeEditor.id,"mceInsertContent",false,i)}else{send_to_editor(i)}}else{i=i.replace("<p>","\n").replace("</p>","\n");if(typeof QTags.insertContent==="function"){QTags.insertContent(i)}else{send_to_editor(i)}}tb_remove()}}catch(j){}},false);b("body").on("click.tbyt","#ytprefs_wiz_button, .ytprefs_wiz_button_widget_text, .ytprefs-onboarding-launch",function(){a._EPYTA_.widen_ytprefs_wiz()});b("body").on("click.tbyt","#ytprefs_wiz_button_vi, .ytprefs_wiz_button_vi_widget_text",function(){send_to_editor("<p>[embed-vi-ad]</p>")});b(a).resize(a._EPYTA_.widen_ytprefs_wiz);b(document).on("wp-before-tinymce-init.ytprefs-media_button",function(i,j){$media_buttons=b(j.selector).closest(".wp-editor-wrap").find(".wp-media-buttons");if(!$media_buttons.find(".ytprefs_media_link").length){$media_buttons.append('<a href="'+encodeURI(a._EPYTA_.wizhref)+'" class="thickbox button ytprefs_media_link ytprefs_wiz_button_widget_text" title="Visual YouTube Search Tool and Wizard - For easier embedding"><span></span> YouTube</a>');if(a._EPYTA_.manage_options&&a._EPYTA_.vi_logged_in){$media_buttons.append('<a class="button ytprefs_vi_embed_shortcode" id="ytprefs_wiz_button_vi" title="Embed vi video ad"><span></span> Video Ad</a>')}}});b('.wrap section a[href^="#jump"]').on("click",function(j){j.preventDefault();var i=b(this).attr("href");b('.nav-tab-wrapper a[href="'+i+'"]').click()});b(".ytprefs-ajax-form").on("keypress",function(i){if(i.which==13){i.preventDefault();b(this).find(".ytprefs-ajax-form--submit:not([disabled])").click()}});b(a).on("hashchange",function(){if(a.location.hash.length>0){$section=b("section"+a.location.hash);if($section.length>0){$section.find("h2").addClass("ytvi-hash-scroll");setTimeout(function(){$section.find("h2").removeClass("ytvi-hash-scroll")},2000)}$jumper=b(".jumper"+a.location.hash);if($jumper.length>0){b(".jumper"+a.location.hash+" + h3.sect").addClass("ytvi-hash-scroll");setTimeout(function(){b(".jumper"+a.location.hash+" + h3.sect").removeClass("ytvi-hash-scroll")},2000)}}});b(".vi-cover-prompt-no").on("click",function(){b.ajax({type:"post",dataType:"json",timeout:120000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_hide_feature_ajax"},success:function(i){if(!i||i.type==="error"){alertify.alert(i.message)}else{if(a!=a.top){a.location.reload()}else{a.top.location.href=i.url}}},error:function(k,i,j){alertify.alert('Sorry, there was a network error. Please try again, or turn off this feature using the "Hide Monetize Feature" checkbox on the "Defaults" tab of the YouTube settings. If the issue persists, please contact ext@embedplus.com')},complete:function(){}})});b(".vi-cover-prompt-yes").on("click",function(){b(".vi-cover-prompt, .vi-cover-clear").fadeOut(500);var i=new Date();i.setTime(i.getTime()+(365*24*60*60*1000));document.cookie="vi_cover_prompt_yes=1;expires="+i.toUTCString()+";path="+a._EPYTA_.admin_url});if(b(".vi-demo-screen").length>1){var f=setInterval(function(){b(".vi-demo-screen-2").toggleClass("demo-hide");b(".vi-demo-mobile-caption").toggleClass("demo-hide")},20000)}b(".ytvi-step-1--submit-register").on("click",function(i){var j=b.trim(b(".ytvi-register-email").val());if(!j.length){alertify.alert("Please enter your email address.")}else{b(".ytvi-step-1--submit-register").prop("disabled",true);b(".ytvi-step-1").hide("fade",{},500,function(){b(".ytvi-step-2-loading").show("fade",{},500,function(){b.ajax({type:"post",dataType:"json",timeout:120000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_cache_endpoints_ajax",email:j,domain:a.location.href},success:function(k){if(k.type=="success"){b(".ytvi-step-2 .ytvi-registration iframe").attr("src",k.signupURLParams);setTimeout(function(){b(".ytvi-step-2-loading").hide("fade",{},500,function(){b(".ytvi-step-2").show("fade",{},500)})},3000)}else{if(k.type==="error"){alertify.alert(k.message);a._EPYTA_.ytvi_cancel()}}},error:function(m,k,l){alertify.alert("Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com");a._EPYTA_.ytvi_cancel()},complete:function(){b(".ytvi-step-1--submit-register").prop("disabled",false)}})})})}});b(".ytvi-registration--cancel").on("click",function(){a._EPYTA_.ytvi_cancel()});b(".ytvi-step-1--confirm").on("change",function(){if(b(this).is(":checked")){b(".ytvi-step-1--submit-register").prop("disabled",false)}else{b(".ytvi-step-1--submit-register").prop("disabled",true)}});b(".ytvi-step-1--submit-login").on("click",function(k){var l=b.trim(b(".ytvi-login-email").val());var i=b.trim(b(".ytvi-password").val());var j="";j+=l.length?"":"Please enter your email address. ";j+=i.length?"":"Please enter your vi dashboard password.";if(j.length){alertify.alert(j)}else{b(".ytvi-step-1--submit-login").prop("disabled",true);b(".ytvi-step-1").hide("fade",{},500,function(){b(".ytvi-login-loading").show("fade",{},500,function(){b.ajax({type:"post",dataType:"json",timeout:12000000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_login_ajax",email:l,password:i},success:function(m){if(m.type==="error"){alertify.alert(m.message);a._EPYTA_.ytvi_cancel()}else{b(".ytvi-login-loading").hide("fade",{},500,function(){b(".ytvi-login-success-message").html(m.message);b(".ytvi-login-success").show("fade",{},500,function(){})})}},error:function(o,m,n){alertify.alert("Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com");a._EPYTA_.ytvi_cancel()},complete:function(){b(".ytvi-step-1--submit-login").prop("disabled",false)}})})})}});b("a.vi-logged-in-goto").each(function(){if(b(this).attr("href").indexOf(a.location.pathname+a.location.search)>0){b(this).removeAttr("target")}});if(b(".wrap-vi-settings").length){b(".vi-how-works").on("click",function(){var i=b(this).data("jump");b('.nav-tab-wrapper > a[href="'+i+'"]').click()});b(document).on("click",".wrap-vi-settings .nav-tab-wrapper a",function(){$a=b(this);b(".wrap-vi-settings .nav-tab-wrapper a").removeClass("nav-tab-active");$a.addClass("nav-tab-active");b(".wrap-vi-settings section").hide();b(".wrap-vi-settings section").filter($a.attr("href")).fadeIn(200);return false});var e=b(".iab-cat-child").val();if(e.length>0){var h=e.split("-")[0];b(".iab-cat-child-box").removeClass("hidden");b('.iab-cat-parent option[value="'+h+'"]').prop("selected",true);b(".iab-cat-child option").addClass("hidden");b('.iab-cat-child option[value^="'+h+'-"], .iab-cat-child option[value="'+h+'"]').removeClass("hidden")}b(".iab-cat-parent").on("change",function(){b(".iab-cat-child").val("");var i=b(this).val();if(i==""){b(".iab-cat-child-box").addClass("hidden")}else{b(".iab-cat-child-box").removeClass("hidden");b(".iab-cat-child option").addClass("hidden");b('.iab-cat-child option[value^="'+i+'-"], .iab-cat-child option[value="'+i+'"]').removeClass("hidden")}});a._EPYTA_.demoBackgroundColor();a._EPYTA_.demoTextColor();a._EPYTA_.demoFontFamily();a._EPYTA_.demoFontSize();b(a._EPYTA_.escId("vi_js_settings[backgroundColor]")).wpColorPicker({change:a._EPYTA_.demoBackgroundColor});b(a._EPYTA_.escId("vi_js_settings[textColor]")).wpColorPicker({change:a._EPYTA_.demoTextColor});b(a._EPYTA_.escId("vi_js_settings[font]")).on("change",a._EPYTA_.demoFontFamily);b(a._EPYTA_.escId("vi_js_settings[fontSize]")).on("change",a._EPYTA_.demoFontSize);b.ajax({type:"post",dataType:"json",timeout:12000000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_reports_ajax"},success:function(l){if(l.type==="error"||!l.data.mtdReport.length){b(".vi-report-error").removeClass("hide");b(".vi-report").addClass("hide")}else{var n=l.data.mtdReport.map(function(p,o){return{x:moment(p.date,"YYYY-MM-DD").format(),y:p.revenue}});b(".vi-total-earnings-num").text(a._EPYTA_.moneyFormat(l.data.netRevenue));var k=moment(n.length?n[0].x:new Date()).format("MMMM YYYY");var j=document.getElementById("vi-report-canvas").getContext("2d");var m={type:"line",data:{datasets:[{label:k+" Earnings (USD)",backgroundColor:"#1193aa",borderColor:"#1193aa",fill:false,data:n}]},options:{responsive:true,maintainAspectRatio:false,plugins:{deferred:{delay:1000},},title:{display:false},legend:{labels:{fontSize:15,fontColor:"#000000"}},tooltips:{position:"nearest",mode:"index",intersect:false,callbacks:{label:function(o,p){return a._EPYTA_.moneyFormat(o.yLabel)},title:function(o,p){return moment(o[0].xLabel).format("LL")}}},scales:{xAxes:[{type:"time",time:{unit:"day",unitStepSize:1,displayFormats:{day:"MMM DD"}},display:true,scaleLabel:{display:true,labelString:"Date",fontSize:15,fontColor:"#000000"},ticks:{major:{fontStyle:"bold",fontColor:"#000000"}}}],yAxes:[{display:true,scaleLabel:{display:true,labelString:"Revenue",fontSize:15,fontColor:"#000000"},ticks:{callback:function(q,p,o){return a._EPYTA_.moneyFormat(q)}}}]}}};Chart.defaults.global.defaultFontFamily="'Segoe UI', Roboto, 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif";var i=new Chart(j,m)}},error:function(k,i,j){alertify.alert("Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com")},complete:function(){}});b(".ytvi-btn-logout").on("click",function(){alertify.confirm().set({title:"Logout of Monetize settings",message:"Logging out won't delete your settings. However, it will require you (or any other admins) to re-login to change vi ad settings in the future.<br><br>To actually disable vi ads, make sure the '<strong>vi ads are: On/Off</strong>' button is set to '<strong>Off</strong>.'",onok:function(){b.ajax({type:"post",dataType:"json",timeout:12000000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_logout_ajax"},success:function(i){if(i.type==="error"){alertify.alert(i.message)}else{location.href=i.url}},error:function(k,i,j){alertify.alert("Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com")},complete:function(){}})}}).show()})}b(".ytvi-btn-toggle").on("click",function(){var i=b(this);alertify.confirm().set({title:(i.hasClass("ytvi-btn-active")?"Turn off":"Turn on")+" your vi ads",message:i.hasClass("ytvi-btn-active")?"Are you sure you would like to deactivate your video ads? Please note that your ads will no longer appear on the front end and your revenue will be paused. If you would like them to reappear later, simply click on this button again.":"Click OK to confirm turning on your vi ads. They will appear on your site according to your <strong>Placement</strong> settings.",onok:function(){b.ajax({type:"post",dataType:"json",timeout:12000000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_toggle_ajax"},success:function(j){if(j.type==="error"){alertify.alert(j.message)}else{i.find("strong").text(j.button_text);i.toggleClass("ytvi-btn-active ytvi-btn-inactive")}},error:function(l,j,k){alertify.alert("Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com")},complete:function(){}})}}).show()});b(".ytvi-intro-video-modal").on("click",function(k){k.preventDefault();var i=Math.min(document.body.clientWidth*0.8,800);var j=9/16*i;alertify.YoutubeDialog("BcrNPnWUkVI").set({frameless:true,resizeable:true}).resizeTo(i,j)});b("#vi_show_gdpr_authorization").on("change",function(){if(b(this).is(":checked")){b(".opt_vi_show_privacy_button").show(300)}else{b(".opt_vi_show_privacy_button").hide(300)}});if(b(".wrap-ytprefs-onboarding").length){b(".ytprefs-ob-nav-close").on("click",function(){a.parent.tb_remove();a.top.location.reload()});b(".ytprefs-ob-nav-prev").on("click",function(){a._EPYTA_.onboardPrev(b(this).closest(".ytprefs-ob-step"))});b(".ytprefs-ob-filter li").hover(function(){var i="."+b(this).find('input[type="checkbox"]').data("obfilter")+"-icon";b(i).addClass("yob-icon-visible")},function(){var i="."+b(this).find('input[type="checkbox"]').data("obfilter")+"-icon";b(i).removeClass("yob-icon-visible")});b('.ytprefs-ob-filter input[type="checkbox"]').on("change",function(){var i=b(this);var j=i.data("obfilter");var k=b('.ytprefs-ob-filter input[type="checkbox"]:checked');if(k.length&&!(k.length===1&&k.is('[data-obfilter="yob-monetize"]'))){b(".ytprefs-ob-step1 .ytprefs-ob-nav-next").prop("disabled",false)}else{b(".ytprefs-ob-step1 .ytprefs-ob-nav-next").prop("disabled",true)}if(j=="yob-monetize"){b(".ytprefs-ob-step3 .ytprefs-ob-nav-ultimate, .ytprefs-ob-step3 .ytprefs-ob-nav-penultimate").toggleClass("ytprefs-ob-nav-hide")}else{if(i.is(":checked")){b(".ytprefs-ob-step2 ."+j).addClass(j+"-visible")}else{b(".ytprefs-ob-step2 ."+j).removeClass(j+"-visible")}}});b(".ytprefs-ob-step1 .ytprefs-ob-nav-next").on("click",function(){a._EPYTA_.onboardNext(b(this).closest(".ytprefs-ob-step"))});b("#form-onboarding").on("submit",function(k){k.preventDefault();(a.tinyMCE||a.tinymce).triggerSave();var i=b(this);i.find(".ytprefs-ob-nav-next").prop("disabled",true);var j=i.ytprefsFormJSON();j.security=a._EPYTA_.security;b.ajax({type:"post",dataType:"json",timeout:30000,url:a._EPYTA_?a._EPYTA_.wpajaxurl:ajaxurl,data:j,success:function(l){if(l.type=="success"){a._EPYTA_.onboardNext(i.closest(".ytprefs-ob-step"))}else{}},error:function(n,l,m){},complete:function(){i.find(".ytprefs-ob-nav-next").prop("disabled",false)}})});b(".ytprefs-ob-step3 .ytprefs-ob-nav-skip").on("click",function(){a._EPYTA_.onboardNext(b(this).closest(".ytprefs-ob-step"))});b("#form-onboarding-apikey").on("submit",function(k){k.preventDefault();var i=b(this);i.find(".ytprefs-ob-nav-next").prop("disabled",true);var j=i.ytprefsFormJSON();j.security=a._EPYTA_.security;b.ajax({type:"post",dataType:"json",timeout:30000,url:a._EPYTA_?a._EPYTA_.wpajaxurl:ajaxurl,data:j,success:function(l){if(l.type=="success"){if(i.find(".ytprefs-ob-nav-ultimate").hasClass("ytprefs-ob-nav-hide")){a._EPYTA_.onboardNext(i.closest(".ytprefs-ob-step"))}else{a.parent.tb_remove();a.top.location.reload()}}else{}},error:function(n,l,m){},complete:function(){i.find(".ytprefs-ob-nav-next").prop("disabled",false)}})})}});b(a).on("load",function(){if(_EPYTA_.onboarded!="1"){b(".ytprefs-onboarding-launch").click()}})})(window,jQuery);
|
1 |
|
2 |
+
(function(a,b){a._EPYTA_.widen_ytprefs_wiz=a._EPYTA_.widen_ytprefs_wiz||function(){setTimeout(function(){var c=Math.min(950,b(a).width()-100);var d=-1*c/2;b("#TB_window").addClass("epyt-thickbox").animate({marginLeft:d,width:c},150,"swing",function(){b("#TB_window").get(0).style.setProperty("width",c,"important")});b("#TB_overlay").addClass("epyt-thickbox");b("#TB_window iframe").animate({width:c},150)},750)};a._EPYTA_.ytvi_cancel=a._EPYTA_.ytvi_cancel||function(){b(".ytvi-step").hide("fade",{},500,function(){b(".ytvi-step-1").show("fade",{},500)})};a._EPYTA_.moneyFormat=a._EPYTA_.moneyFormat||function(c){return"$"+parseFloat(c).toFixed(2)};a._EPYTA_.escId=function(c){return"#"+c.replace(/(:|\.|\[|\]|,|=|@)/g,"\\$1")};a._EPYTA_.demoBackgroundColor=function(c,d){setTimeout(function(){b(".vi-story-demo--info").css("background-color",b(a._EPYTA_.escId("vi_js_settings[backgroundColor]")).val())},0)};a._EPYTA_.demoTextColor=function(c,d){setTimeout(function(){b(".vi-story-demo--info *").css("color",b(a._EPYTA_.escId("vi_js_settings[textColor]")).val())},0)};a._EPYTA_.demoFontFamily=function(){b(".vi-story-demo--title").css("font-family",b(a._EPYTA_.escId("vi_js_settings[font]")).val())};a._EPYTA_.demoFontSize=function(){b(".vi-story-demo--title").css("font-size",b(a._EPYTA_.escId("vi_js_settings[fontSize]")).val()+"px")};a._EPYTA_.onboardNext=function(c){b(".ytprefs-ob-step").removeClass("active-step");setTimeout(function(){a.scrollTo(0,0);c.next().addClass("active-step")},600)};a._EPYTA_.onboardPrev=function(c){b(".ytprefs-ob-step").removeClass("active-step");setTimeout(function(){a.scrollTo(0,0);c.prev().addClass("active-step")},600)};a._EPYTA_.selectText=function(e){if(document.selection){var c=document.body.createTextRange();c.moveToElementText(e);c.select()}else{if(a.getSelection){var d=a.getSelection();var c=document.createRange();c.selectNode(e);d.removeAllRanges();d.addRange(c)}}};a._EPYTA_.adstxtLookup=function(){b.ajax({url:location.protocol+"//"+location.hostname+"/ads.txt?c="+Math.random(),dataType:"text",type:"get",async:true,statusCode:{200:function(c){b(".ytvi-login-adstxt").val(b("<div/>").html(c).text())},301:function(c){b(".ytvi-login-adstxt").val(b("<div/>").html(c).text())},302:function(c){b(".ytvi-login-adstxt").val(b("<div/>").html(c).text())},304:function(c){b(".ytvi-login-adstxt").val(b("<div/>").html(c).text())},307:function(c){b(".ytvi-login-adstxt").val(b("<div/>").html(c).text())}},error:function(d,c,e){}})};b.fn.ytprefsFormJSON=function(){var d={};var c=this.serializeArray();b.each(c,function(){if(d[this.name]){if(!d[this.name].push){d[this.name]=[d[this.name]]}d[this.name].push(this.value||"")}else{d[this.name]=this.value||""}});return d};b(document).ready(function(){if(a.location.toString().indexOf("https://")===0){a._EPYTA_.wpajaxurl=a._EPYTA_.wpajaxurl.replace("http://","https://")}var g=a.addEventListener?"addEventListener":"attachEvent";var d=a[g];var c=g==="attachEvent"?"onmessage":"message";d(c,function(k){var i="";try{if(k.data.indexOf("youtubeembedplus")===0){i=k.data.split("|")[1];if(i.indexOf("[")!==0){i="<p>"+i+"</p>"}if(a.tinyMCE!==null&&a.tinyMCE.activeEditor!==null&&!a.tinyMCE.activeEditor.isHidden()){if(typeof a.tinyMCE.execInstanceCommand!=="undefined"){a.tinyMCE.execInstanceCommand(a.tinyMCE.activeEditor.id,"mceInsertContent",false,i)}else{send_to_editor(i)}}else{i=i.replace("<p>","\n").replace("</p>","\n");if(typeof QTags.insertContent==="function"){QTags.insertContent(i)}else{send_to_editor(i)}}tb_remove()}}catch(j){}},false);b("body").on("click.tbyt","#ytprefs_wiz_button, .ytprefs_wiz_button_widget_text, .ytprefs-onboarding-launch",function(){a._EPYTA_.widen_ytprefs_wiz()});b("body").on("click.tbyt","#ytprefs_wiz_button_vi, .ytprefs_wiz_button_vi_widget_text",function(){send_to_editor("<p>[embed-vi-ad]</p>")});b(a).resize(a._EPYTA_.widen_ytprefs_wiz);b(document).on("wp-before-tinymce-init.ytprefs-media_button",function(i,j){$media_buttons=b(j.selector).closest(".wp-editor-wrap").find(".wp-media-buttons");if(!$media_buttons.find(".ytprefs_media_link").length){$media_buttons.append('<a href="'+encodeURI(a._EPYTA_.wizhref)+'" class="thickbox button ytprefs_media_link ytprefs_wiz_button_widget_text" title="Visual YouTube Search Tool and Wizard - For easier embedding"><span></span> YouTube</a>');if(a._EPYTA_.manage_options&&a._EPYTA_.vi_logged_in){$media_buttons.append('<a class="button ytprefs_vi_embed_shortcode" id="ytprefs_wiz_button_vi" title="Embed vi video ad"><span></span> Video Ad</a>')}}});if(b(".ytvi-step.ytvi-step-1").length){a._EPYTA_.adstxtLookup()}b('.wrap section a[href^="#jump"]').on("click",function(j){j.preventDefault();var i=b(this).attr("href");b('.nav-tab-wrapper a[href="'+i+'"]').click()});b(".ytprefs-ajax-form").on("keypress",function(i){if(i.which==13){i.preventDefault();b(this).find(".ytprefs-ajax-form--submit:not([disabled])").click()}});b(a).on("hashchange",function(){if(a.location.hash.length>0){$section=b("section"+a.location.hash);if($section.length>0){$section.find("h2").addClass("ytvi-hash-scroll");setTimeout(function(){$section.find("h2").removeClass("ytvi-hash-scroll")},2000)}$jumper=b(".jumper"+a.location.hash);if($jumper.length>0){b(".jumper"+a.location.hash+" + h3.sect").addClass("ytvi-hash-scroll");setTimeout(function(){b(".jumper"+a.location.hash+" + h3.sect").removeClass("ytvi-hash-scroll")},2000)}}});b(".vi-cover-prompt-no").on("click",function(){b.ajax({type:"post",dataType:"json",timeout:120000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_hide_feature_ajax"},success:function(i){if(!i||i.type==="error"){alertify.alert(i.message)}else{if(a!=a.top){a.location.reload()}else{a.top.location.href=i.url}}},error:function(k,i,j){alertify.alert('Sorry, there was a network error. Please try again, or turn off this feature using the "Hide Monetize Feature" checkbox on the "Defaults" tab of the YouTube settings. If the issue persists, please contact ext@embedplus.com')},complete:function(){}})});b(".vi-cover-prompt-yes").on("click",function(){b(".vi-cover-prompt, .vi-cover-clear").fadeOut(500);var i=new Date();i.setTime(i.getTime()+(365*24*60*60*1000));document.cookie="vi_cover_prompt_yes=1;expires="+i.toUTCString()+";path="+a._EPYTA_.admin_url});b(".vi-cover-prompt-maybe").on("click",function(){var i=new Date();i.setTime(i.getTime()+(365*24*60*60*1000));document.cookie="vi_cover_prompt_yes=1;expires="+i.toUTCString()+";path="+a._EPYTA_.admin_url;if(a!=a.top){a.location.reload()}else{a.top.location.href=a._EPYTA_.admin_url_ytprefs}});if(b(".vi-demo-screen").length>1){var f=setInterval(function(){b(".vi-demo-screen-2").toggleClass("demo-hide");b(".vi-demo-mobile-caption").toggleClass("demo-hide")},20000)}b(".ytvi-step-1--submit-register").on("click",function(i){var j=b.trim(b(".ytvi-register-email").val());if(!j.length){alertify.alert("Please enter your email address.")}else{b(".ytvi-step-1--submit-register").prop("disabled",true);b(".ytvi-step-1").hide("fade",{},500,function(){b(".ytvi-step-2-loading").show("fade",{},500,function(){b.ajax({type:"post",dataType:"json",timeout:120000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_cache_endpoints_ajax",email:j,domain:a.location.href},success:function(k){if(k.type=="success"){b(".ytvi-step-2 .ytvi-registration iframe").attr("src",k.signupURLParams);setTimeout(function(){b(".ytvi-step-2-loading").hide("fade",{},500,function(){b(".ytvi-step-2").show("fade",{},500)})},3000)}else{if(k.type==="error"){alertify.alert(k.message);a._EPYTA_.ytvi_cancel()}}},error:function(m,k,l){alertify.alert("Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com");a._EPYTA_.ytvi_cancel()},complete:function(){b(".ytvi-step-1--submit-register").prop("disabled",false)}})})})}});b(".ytvi-registration--cancel").on("click",function(){a._EPYTA_.ytvi_cancel()});b(".ytvi-step-1--confirm").on("change",function(){if(b(this).is(":checked")){b(".ytvi-step-1--submit-register").prop("disabled",false)}else{b(".ytvi-step-1--submit-register").prop("disabled",true)}});b(".ytvi-step-1--submit-login").on("click",function(l){var m=b.trim(b(".ytvi-login-email").val());var i=b.trim(b(".ytvi-password").val());var k=b(".ytvi-login-adstxt").val();var j="";j+=m.length?"":"Please enter your email address. ";j+=i.length?"":"Please enter your vi dashboard password.";if(j.length){alertify.alert(j)}else{b(".ytvi-step-1--submit-login").prop("disabled",true);b(".ytvi-step-1").hide("fade",{},500,function(){b(".ytvi-login-loading").show("fade",{},500,function(){b.ajax({type:"post",dataType:"json",timeout:12000000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_login_ajax",email:m,password:i,adstxt:k},success:function(n){if(n.type==="error"){alertify.alert(n.message,function(){a._EPYTA_.adstxtLookup()});a._EPYTA_.ytvi_cancel()}else{b(".ytvi-login-loading").hide("fade",{},500,function(){b(".ytvi-login-success-message").html(n.message);b(".ytvi-login-success").show("fade",{},500,function(){})})}},error:function(p,n,o){alertify.alert("Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com",function(){a._EPYTA_.adstxtLookup()});a._EPYTA_.ytvi_cancel()},complete:function(){b(".ytvi-step-1--submit-login").prop("disabled",false);a._EPYTA_.adstxtLookup()}})})})}});b("a.vi-logged-in-goto").each(function(){if(b(this).attr("href").indexOf(a.location.pathname+a.location.search)>0){b(this).removeAttr("target")}});if(b(".wrap-vi-settings").length){b(".vi-how-works").on("click",function(){var i=b(this).data("jump");b('.nav-tab-wrapper > a[href="'+i+'"]').click()});b(document).on("click",".wrap-vi-settings .nav-tab-wrapper a",function(){$a=b(this);b(".wrap-vi-settings .nav-tab-wrapper a").removeClass("nav-tab-active");$a.addClass("nav-tab-active");b(".wrap-vi-settings section").hide();b(".wrap-vi-settings section").filter($a.attr("href")).fadeIn(200);return false});var e=b(".iab-cat-child").val();if(e.length>0){var h=e.split("-")[0];b(".iab-cat-child-box").removeClass("hidden");b('.iab-cat-parent option[value="'+h+'"]').prop("selected",true);b(".iab-cat-child option").addClass("hidden");b('.iab-cat-child option[value^="'+h+'-"], .iab-cat-child option[value="'+h+'"]').removeClass("hidden")}b(".iab-cat-parent").on("change",function(){b(".iab-cat-child").val("");var i=b(this).val();if(i==""){b(".iab-cat-child-box").addClass("hidden")}else{b(".iab-cat-child-box").removeClass("hidden");b(".iab-cat-child option").addClass("hidden");b('.iab-cat-child option[value^="'+i+'-"], .iab-cat-child option[value="'+i+'"]').removeClass("hidden")}});a._EPYTA_.demoBackgroundColor();a._EPYTA_.demoTextColor();a._EPYTA_.demoFontFamily();a._EPYTA_.demoFontSize();b(a._EPYTA_.escId("vi_js_settings[backgroundColor]")).wpColorPicker({change:a._EPYTA_.demoBackgroundColor});b(a._EPYTA_.escId("vi_js_settings[textColor]")).wpColorPicker({change:a._EPYTA_.demoTextColor});b(a._EPYTA_.escId("vi_js_settings[font]")).on("change",a._EPYTA_.demoFontFamily);b(a._EPYTA_.escId("vi_js_settings[fontSize]")).on("change",a._EPYTA_.demoFontSize);b.ajax({type:"post",dataType:"json",timeout:12000000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_reports_ajax"},success:function(l){if(l.type==="error"||!l.data.mtdReport.length){b(".vi-report-error").removeClass("hide");b(".vi-report").addClass("hide")}else{var n=l.data.mtdReport.map(function(p,o){return{x:moment(p.date,"YYYY-MM-DD").format(),y:p.revenue}});b(".vi-total-earnings-num").text(a._EPYTA_.moneyFormat(l.data.netRevenue));var k=moment(n.length?n[0].x:new Date()).format("MMMM YYYY");var j=document.getElementById("vi-report-canvas").getContext("2d");var m={type:"line",data:{datasets:[{label:k+" Earnings (USD)",backgroundColor:"#1193aa",borderColor:"#1193aa",fill:false,data:n}]},options:{responsive:true,maintainAspectRatio:false,plugins:{deferred:{delay:1000},},title:{display:false},legend:{labels:{fontSize:15,fontColor:"#000000"}},tooltips:{position:"nearest",mode:"index",intersect:false,callbacks:{label:function(o,p){return a._EPYTA_.moneyFormat(o.yLabel)},title:function(o,p){return moment(o[0].xLabel).format("LL")}}},scales:{xAxes:[{type:"time",time:{unit:"day",unitStepSize:1,displayFormats:{day:"MMM DD"}},display:true,scaleLabel:{display:true,labelString:"Date",fontSize:15,fontColor:"#000000"},ticks:{major:{fontStyle:"bold",fontColor:"#000000"}}}],yAxes:[{display:true,scaleLabel:{display:true,labelString:"Revenue",fontSize:15,fontColor:"#000000"},ticks:{callback:function(q,p,o){return a._EPYTA_.moneyFormat(q)}}}]}}};Chart.defaults.global.defaultFontFamily="'Segoe UI', Roboto, 'Helvetica Neue', 'Helvetica', 'Arial', sans-serif";var i=new Chart(j,m)}},error:function(k,i,j){alertify.alert("Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com")},complete:function(){}});b(".ytvi-btn-logout").on("click",function(){alertify.confirm().set({title:"Logout of Monetize settings",message:"Logging out won't delete your settings. However, it will require you (or any other admins) to re-login to change vi ad settings in the future.<br><br>To actually disable vi ads, make sure the '<strong>vi ads are: On/Off</strong>' button is set to '<strong>Off</strong>.'",onok:function(){b.ajax({type:"post",dataType:"json",timeout:12000000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_logout_ajax"},success:function(i){if(i.type==="error"){alertify.alert(i.message)}else{location.href=i.url}},error:function(k,i,j){alertify.alert("Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com")},complete:function(){}})}}).show()})}b(".ytvi-btn-toggle").on("click",function(){var i=b(this);alertify.confirm().set({title:(i.hasClass("ytvi-btn-active")?"Turn off":"Turn on")+" your vi ads",message:i.hasClass("ytvi-btn-active")?"Are you sure you would like to deactivate your video ads? Please note that your ads will no longer appear on the front end and your revenue will be paused. If you would like them to reappear later, simply click on this button again.":"Click OK to confirm turning on your vi ads. They will appear on your site according to your <strong>Placement</strong> settings.",onok:function(){b.ajax({type:"post",dataType:"json",timeout:12000000,url:a._EPYTA_.wpajaxurl,data:{security:a._EPYTA_.security,action:"my_embedplus_vi_toggle_ajax"},success:function(j){if(j.type==="error"){alertify.alert(j.message)}else{i.find("strong").text(j.button_text);i.toggleClass("ytvi-btn-active ytvi-btn-inactive")}},error:function(l,j,k){alertify.alert("Sorry, there was a network error. Please try again. If the issue persists, please contact ext@embedplus.com")},complete:function(){}})}}).show()});b(".ytvi-intro-video-modal").on("click",function(k){k.preventDefault();var i=Math.min(document.body.clientWidth*0.8,800);var j=9/16*i;alertify.YoutubeDialog("BcrNPnWUkVI").set({frameless:true,resizeable:true}).resizeTo(i,j)});b("#vi_show_gdpr_authorization").on("change",function(){if(b(this).is(":checked")){b(".opt_vi_show_privacy_button").show(300)}else{b(".opt_vi_show_privacy_button").hide(300)}});if(b(".wrap-ytprefs-onboarding").length){b(".ytprefs-ob-nav-close").on("click",function(){a.parent.tb_remove();a.top.location.reload()});b(".ytprefs-ob-nav-prev").on("click",function(){a._EPYTA_.onboardPrev(b(this).closest(".ytprefs-ob-step"))});b(".ytprefs-ob-filter li").hover(function(){var i="."+b(this).find('input[type="checkbox"]').data("obfilter")+"-icon";b(i).addClass("yob-icon-visible")},function(){var i="."+b(this).find('input[type="checkbox"]').data("obfilter")+"-icon";b(i).removeClass("yob-icon-visible")});b('.ytprefs-ob-filter input[type="checkbox"]').on("change",function(){var i=b(this);var j=i.data("obfilter");var k=b('.ytprefs-ob-filter input[type="checkbox"]:checked');if(k.length&&!(k.length===1&&k.is('[data-obfilter="yob-monetize"]'))){b(".ytprefs-ob-step1 .ytprefs-ob-nav-next").prop("disabled",false)}else{b(".ytprefs-ob-step1 .ytprefs-ob-nav-next").prop("disabled",true)}if(j=="yob-monetize"){b(".ytprefs-ob-step3 .ytprefs-ob-nav-ultimate, .ytprefs-ob-step3 .ytprefs-ob-nav-penultimate").toggleClass("ytprefs-ob-nav-hide")}else{if(i.is(":checked")){b(".ytprefs-ob-step2 ."+j).addClass(j+"-visible")}else{b(".ytprefs-ob-step2 ."+j).removeClass(j+"-visible")}}});b(".ytprefs-ob-step1 .ytprefs-ob-nav-next").on("click",function(){a._EPYTA_.onboardNext(b(this).closest(".ytprefs-ob-step"))});b("#form-onboarding").on("submit",function(k){k.preventDefault();(a.tinyMCE||a.tinymce).triggerSave();var i=b(this);i.find(".ytprefs-ob-nav-next").prop("disabled",true);var j=i.ytprefsFormJSON();j.security=a._EPYTA_.security;b.ajax({type:"post",dataType:"json",timeout:30000,url:a._EPYTA_?a._EPYTA_.wpajaxurl:ajaxurl,data:j,success:function(l){if(l.type=="success"){a._EPYTA_.onboardNext(i.closest(".ytprefs-ob-step"))}else{}},error:function(n,l,m){},complete:function(){i.find(".ytprefs-ob-nav-next").prop("disabled",false)}})});b(".ytprefs-ob-step3 .ytprefs-ob-nav-skip").on("click",function(){a._EPYTA_.onboardNext(b(this).closest(".ytprefs-ob-step"))});b("#form-onboarding-apikey").on("submit",function(k){k.preventDefault();var i=b(this);i.find(".ytprefs-ob-nav-next").prop("disabled",true);var j=i.ytprefsFormJSON();j.security=a._EPYTA_.security;b.ajax({type:"post",dataType:"json",timeout:30000,url:a._EPYTA_?a._EPYTA_.wpajaxurl:ajaxurl,data:j,success:function(l){if(l.type=="success"){if(i.find(".ytprefs-ob-nav-ultimate").hasClass("ytprefs-ob-nav-hide")){a._EPYTA_.onboardNext(i.closest(".ytprefs-ob-step"))}else{a.parent.tb_remove();a.top.location.reload()}}else{}},error:function(n,l,m){},complete:function(){i.find(".ytprefs-ob-nav-next").prop("disabled",false)}})})}});b(a).on("load",function(){if(_EPYTA_.onboarded!="1"){b(".ytprefs-onboarding-launch").click()}})})(window,jQuery);
|
scripts/ytprefs.js
CHANGED
@@ -214,7 +214,7 @@
|
|
214 |
if (window._EPYT_.ytapi_load !== 'never' && (window._EPYT_.ytapi_load === 'always' || $('iframe[src*="youtube.com/embed/"]').length))
|
215 |
{
|
216 |
var iapi = document.createElement('script');
|
217 |
-
iapi.src = "
|
218 |
iapi.type = "text/javascript";
|
219 |
document.getElementsByTagName('head')[0].appendChild(iapi);
|
220 |
}
|
214 |
if (window._EPYT_.ytapi_load !== 'never' && (window._EPYT_.ytapi_load === 'always' || $('iframe[src*="youtube.com/embed/"]').length))
|
215 |
{
|
216 |
var iapi = document.createElement('script');
|
217 |
+
iapi.src = "https://www.youtube.com/iframe_api";
|
218 |
iapi.type = "text/javascript";
|
219 |
document.getElementsByTagName('head')[0].appendChild(iapi);
|
220 |
}
|
scripts/ytprefs.min.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
|
2 |
-
(function(a,b){a._EPYT_=a._EPYT_||{ajaxurl:"/wp-admin/admin-ajax.php",security:"",gallery_scrolloffset:100,eppathtoscripts:"/wp-content/plugins/youtube-embed-plus/scripts/",epresponsiveselector:["iframe.__youtube_prefs_widget__"],epdovol:true,evselector:'iframe.__youtube_prefs__[src], iframe[src*="youtube.com/embed/"], iframe[src*="youtube-nocookie.com/embed/"]',stopMobileBuffer:true,ajax_compat:false,usingdefault:true,ytapi_load:"light"};if(a.location.toString().indexOf("https://")===0){a._EPYT_.ajaxurl=a._EPYT_.ajaxurl.replace("http://","https://")}a._EPYT_.pageLoaded=false;b(a).on("load._EPYT_",function(){a._EPYT_.pageLoaded=true});if(!document.querySelectorAll){document.querySelectorAll=function(d){var f=document,e=f.documentElement.firstChild,c=f.createElement("STYLE");e.appendChild(c);f.__qsaels=[];c.styleSheet.cssText=d+"{x:expression(document.__qsaels.push(this))}";a.scrollBy(0,0);return f.__qsaels}}if(typeof a._EPADashboard_==="undefined"){a._EPADashboard_={initStarted:false,checkCount:0,onPlayerReady:function(f){try{if(typeof _EPYT_.epdovol!=="undefined"&&_EPYT_.epdovol){var d=parseInt(f.target.getIframe().getAttribute("data-vol"));if(!isNaN(d)){if(d===0){f.target.mute()}else{if(f.target.isMuted()){f.target.unMute()}f.target.setVolume(d)}}}var c=parseInt(f.target.getIframe().getAttribute("data-epautoplay"));if(!isNaN(c)&&c===1){f.target.playVideo()}}catch(e){}},onPlayerStateChange:function(f){var e=f.target.getIframe();if(f.data===a.YT.PlayerState.PLAYING&&f.target.ponce!==true&&e.src.indexOf("autoplay=1")===-1){f.target.ponce=true}var c=b(e).closest(".epyt-gallery");if(!c.length){c=b("#"+b(e).data("epytgalleryid"))}if(c.length){var d=c.find(".epyt-pagebutton").first().data("autonext")=="1";if(d&&f.data===a.YT.PlayerState.ENDED){var g=c.find(".epyt-current-video");if(!g.length){g=c.find(".epyt-gallery-thumb").first()}var h=g.find(" ~ .epyt-gallery-thumb").first();if(h.length){h.click()}else{c.find('.epyt-pagebutton.epyt-next[data-pagetoken!=""][data-pagetoken]').first().click()}}}},justid:function(c){return new RegExp("[\\?&]v=([^&#]*)").exec(c)[1]},setupevents:function(d){if(typeof(a.YT)!=="undefined"&&a.YT!==null&&a.YT.loaded){var c=document.getElementById(d);if(!c.epytsetupdone){a._EPADashboard_.log("Setting up YT API events: "+d);c.epytsetupdone=true;return new a.YT.Player(d,{events:{onReady:a._EPADashboard_.onPlayerReady,onStateChange:a._EPADashboard_.onPlayerStateChange}})}}},apiInit:function(){if(typeof(a.YT)!=="undefined"){a._EPADashboard_.initStarted=true;var c=document.querySelectorAll(_EPYT_.evselector);for(var d=0;d<c.length;d++){if(!c[d].hasAttribute("id")){c[d].id="_dytid_"+Math.round(Math.random()*8999+1000)}a._EPADashboard_.setupevents(c[d].id)}}},log:function(d){try{console.log(d)}catch(c){}},doubleCheck:function(){a._EPADashboard_.checkInterval=setInterval(function(){a._EPADashboard_.checkCount++;if(a._EPADashboard_.checkCount>=5||a._EPADashboard_.initStarted){clearInterval(a._EPADashboard_.checkInterval)}else{a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API init check")}},1000)},selectText:function(e){if(document.selection){var c=document.body.createTextRange();c.moveToElementText(e);c.select()}else{if(a.getSelection){var d=a.getSelection();var c=document.createRange();c.selectNode(e);d.removeAllRanges();d.addRange(c)}}},setVidSrc:function(c,d){c.attr("src",d);c.get(0).epytsetupdone=false;a._EPADashboard_.setupevents(c.attr("id"))},loadYTAPI:function(){if(typeof a.YT==="undefined"){if(a._EPYT_.ytapi_load!=="never"&&(a._EPYT_.ytapi_load==="always"||b('iframe[src*="youtube.com/embed/"]').length)){var c=document.createElement("script");c.src="
|
1 |
|
2 |
+
(function(a,b){a._EPYT_=a._EPYT_||{ajaxurl:"/wp-admin/admin-ajax.php",security:"",gallery_scrolloffset:100,eppathtoscripts:"/wp-content/plugins/youtube-embed-plus/scripts/",epresponsiveselector:["iframe.__youtube_prefs_widget__"],epdovol:true,evselector:'iframe.__youtube_prefs__[src], iframe[src*="youtube.com/embed/"], iframe[src*="youtube-nocookie.com/embed/"]',stopMobileBuffer:true,ajax_compat:false,usingdefault:true,ytapi_load:"light"};if(a.location.toString().indexOf("https://")===0){a._EPYT_.ajaxurl=a._EPYT_.ajaxurl.replace("http://","https://")}a._EPYT_.pageLoaded=false;b(a).on("load._EPYT_",function(){a._EPYT_.pageLoaded=true});if(!document.querySelectorAll){document.querySelectorAll=function(d){var f=document,e=f.documentElement.firstChild,c=f.createElement("STYLE");e.appendChild(c);f.__qsaels=[];c.styleSheet.cssText=d+"{x:expression(document.__qsaels.push(this))}";a.scrollBy(0,0);return f.__qsaels}}if(typeof a._EPADashboard_==="undefined"){a._EPADashboard_={initStarted:false,checkCount:0,onPlayerReady:function(f){try{if(typeof _EPYT_.epdovol!=="undefined"&&_EPYT_.epdovol){var d=parseInt(f.target.getIframe().getAttribute("data-vol"));if(!isNaN(d)){if(d===0){f.target.mute()}else{if(f.target.isMuted()){f.target.unMute()}f.target.setVolume(d)}}}var c=parseInt(f.target.getIframe().getAttribute("data-epautoplay"));if(!isNaN(c)&&c===1){f.target.playVideo()}}catch(e){}},onPlayerStateChange:function(f){var e=f.target.getIframe();if(f.data===a.YT.PlayerState.PLAYING&&f.target.ponce!==true&&e.src.indexOf("autoplay=1")===-1){f.target.ponce=true}var c=b(e).closest(".epyt-gallery");if(!c.length){c=b("#"+b(e).data("epytgalleryid"))}if(c.length){var d=c.find(".epyt-pagebutton").first().data("autonext")=="1";if(d&&f.data===a.YT.PlayerState.ENDED){var g=c.find(".epyt-current-video");if(!g.length){g=c.find(".epyt-gallery-thumb").first()}var h=g.find(" ~ .epyt-gallery-thumb").first();if(h.length){h.click()}else{c.find('.epyt-pagebutton.epyt-next[data-pagetoken!=""][data-pagetoken]').first().click()}}}},justid:function(c){return new RegExp("[\\?&]v=([^&#]*)").exec(c)[1]},setupevents:function(d){if(typeof(a.YT)!=="undefined"&&a.YT!==null&&a.YT.loaded){var c=document.getElementById(d);if(!c.epytsetupdone){a._EPADashboard_.log("Setting up YT API events: "+d);c.epytsetupdone=true;return new a.YT.Player(d,{events:{onReady:a._EPADashboard_.onPlayerReady,onStateChange:a._EPADashboard_.onPlayerStateChange}})}}},apiInit:function(){if(typeof(a.YT)!=="undefined"){a._EPADashboard_.initStarted=true;var c=document.querySelectorAll(_EPYT_.evselector);for(var d=0;d<c.length;d++){if(!c[d].hasAttribute("id")){c[d].id="_dytid_"+Math.round(Math.random()*8999+1000)}a._EPADashboard_.setupevents(c[d].id)}}},log:function(d){try{console.log(d)}catch(c){}},doubleCheck:function(){a._EPADashboard_.checkInterval=setInterval(function(){a._EPADashboard_.checkCount++;if(a._EPADashboard_.checkCount>=5||a._EPADashboard_.initStarted){clearInterval(a._EPADashboard_.checkInterval)}else{a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API init check")}},1000)},selectText:function(e){if(document.selection){var c=document.body.createTextRange();c.moveToElementText(e);c.select()}else{if(a.getSelection){var d=a.getSelection();var c=document.createRange();c.selectNode(e);d.removeAllRanges();d.addRange(c)}}},setVidSrc:function(c,d){c.attr("src",d);c.get(0).epytsetupdone=false;a._EPADashboard_.setupevents(c.attr("id"))},loadYTAPI:function(){if(typeof a.YT==="undefined"){if(a._EPYT_.ytapi_load!=="never"&&(a._EPYT_.ytapi_load==="always"||b('iframe[src*="youtube.com/embed/"]').length)){var c=document.createElement("script");c.src="https://www.youtube.com/iframe_api";c.type="text/javascript";document.getElementsByTagName("head")[0].appendChild(c)}}else{if(a.YT.loaded){if(a._EPYT_.pageLoaded){a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API available")}else{b(a).on("load._EPYT_",function(){a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API available 2")})}}}},pageReady:function(){b(".epyt-gallery").each(function(){var f=b(this);var e=b(this).find("iframe, div.__youtube_prefs_gdpr__").first();var c=e.attr("src");if(!c){c=e.data("ep-src")}var d=b(this).find(".epyt-gallery-list .epyt-gallery-thumb").first().data("videoid");if(typeof(c)!=="undefined"){c=c.replace(d,"GALLERYVIDEOID");e.data("ep-gallerysrc",c)}else{if(e.hasClass("__youtube_prefs_gdpr__")){e.data("ep-gallerysrc","")}}f.on("click",".epyt-gallery-list .epyt-gallery-thumb",function(){f.find(".epyt-gallery-list .epyt-gallery-thumb").removeClass("epyt-current-video");b(this).addClass("epyt-current-video");var g=b(this).data("videoid");f.data("currvid",g);var k=e.data("ep-gallerysrc").replace("GALLERYVIDEOID",g);var j=f.find(".epyt-pagebutton").first().data("thumbplay");if(j!=="0"&&j!==0){if(k.indexOf("autoplay")>0){k=k.replace("autoplay=0","autoplay=1")}else{k+="&autoplay=1"}e.addClass("epyt-thumbplay")}var h=Math.max(b("body").scrollTop(),b("html").scrollTop());var i=e.offset().top-parseInt(_EPYT_.gallery_scrolloffset);if(h>i){b("html, body").animate({scrollTop:i},500,function(){a._EPADashboard_.setVidSrc(e,k)})}else{a._EPADashboard_.setVidSrc(e,k)}}).on("keydown",".epyt-gallery-list .epyt-gallery-thumb, .epyt-pagebutton",function(h){var g=h.which;if((g===13)||(g===32)){h.preventDefault();b(this).click()}});f.on("mouseenter",".epyt-gallery-list .epyt-gallery-thumb",function(){b(this).addClass("hover")});f.on("mouseleave",".epyt-gallery-list .epyt-gallery-thumb",function(){b(this).removeClass("hover")});f.on("click",".epyt-pagebutton",function(){var i={action:"my_embedplus_gallery_page",security:_EPYT_.security,options:{playlistId:b(this).data("playlistid"),pageToken:b(this).data("pagetoken"),pageSize:b(this).data("pagesize"),columns:b(this).data("epcolumns"),showTitle:b(this).data("showtitle"),showPaging:b(this).data("showpaging"),autonext:b(this).data("autonext"),thumbplay:b(this).data("thumbplay")}};var g=b(this).hasClass("epyt-next");var h=parseInt(f.data("currpage")+"");h+=g?1:-1;f.data("currpage",h);f.find(".epyt-gallery-list").addClass("epyt-loading");b.post(_EPYT_.ajaxurl,i,function(j){f.find(".epyt-gallery-list").html(j);f.find(".epyt-current").each(function(){b(this).text(f.data("currpage"))});f.find('.epyt-gallery-thumb[data-videoid="'+f.data("currvid")+'"]').addClass("epyt-current-video");if(f.find(".epyt-pagebutton").first().data("autonext")=="1"){f.find(".epyt-gallery-thumb").first().click()}}).fail(function(){alert("Sorry, there was an error loading the next page.")}).always(function(){f.find(".epyt-gallery-list").removeClass("epyt-loading");if(f.find(".epyt-pagebutton").first().data("autonext")!="1"){var j=Math.max(b("body").scrollTop(),b("html").scrollTop());var k=f.find(".epyt-gallery-list").offset().top-parseInt(_EPYT_.gallery_scrolloffset);if(j>k){b("html, body").animate({scrollTop:k},500)}}})})});b("button.__youtube_prefs_gdpr__").on("click",function(c){c.preventDefault();if(b.cookie){b.cookie("ytprefs_gdpr_consent","1",{expires:30,path:"/"});a.top.location.reload()}})}}}a.onYouTubeIframeAPIReady=typeof a.onYouTubeIframeAPIReady!=="undefined"?a.onYouTubeIframeAPIReady:function(){if(a._EPYT_.pageLoaded){a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API ready")}else{b(a).on("load._EPYT_",function(){a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API ready 2")})}};a._EPADashboard_.loadYTAPI();if(a._EPYT_.pageLoaded){a._EPADashboard_.doubleCheck()}else{b(a).on("load._EPYT_",function(){a._EPADashboard_.doubleCheck()})}b(document).ready(function(){a._EPADashboard_.pageReady();a._EPADashboard_.loadYTAPI();if(a._EPYT_.ajax_compat){b(a).on("load._EPYT_",function(){b(document).ajaxSuccess(function(d,f,c){if(f&&f.responseText&&f.responseText.indexOf("<iframe ")!==-1){a._EPADashboard_.loadYTAPI();a._EPADashboard_.apiInit();a._EPADashboard_.log("YT API AJAX");a._EPADashboard_.pageReady()}})})}})})(window,jQuery);
|
styles/ytvi-admin.css
CHANGED
@@ -34,9 +34,9 @@ sup.orange {text-transform: lowercase; font-weight: bold; color: #f85d00;}
|
|
34 |
filter: url(#viblurfilter);
|
35 |
}
|
36 |
|
37 |
-
.vi-cover-prompt-buttons
|
38 |
display: inline-block;
|
39 |
-
|
40 |
}
|
41 |
|
42 |
.viblurfilter-svg {
|
@@ -365,7 +365,16 @@ a.button-primary.ytvi-btn-inactive:hover {
|
|
365 |
.wp-picker-container.wp-picker-active .wp-color-result-text {font-weight: bold;}
|
366 |
ul.list-ul {margin: 15px 30px;}
|
367 |
ul.list-ul li {list-style-type: disc; }
|
|
|
368 |
.alertify .ajs-body .ajs-content {line-height: 2em;}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
369 |
.ajs-button {cursor: pointer;}
|
370 |
|
371 |
.ss-vi-img {
|
34 |
filter: url(#viblurfilter);
|
35 |
}
|
36 |
|
37 |
+
.vi-cover-prompt-buttons button.button-primary, .vi-cover-prompt-buttons button.button-secondary {
|
38 |
display: inline-block;
|
39 |
+
margin: 0 5px;
|
40 |
}
|
41 |
|
42 |
.viblurfilter-svg {
|
365 |
.wp-picker-container.wp-picker-active .wp-color-result-text {font-weight: bold;}
|
366 |
ul.list-ul {margin: 15px 30px;}
|
367 |
ul.list-ul li {list-style-type: disc; }
|
368 |
+
.alertify .ajs-dialog {max-width: 600px;}
|
369 |
.alertify .ajs-body .ajs-content {line-height: 2em;}
|
370 |
+
.alertify .ajs-body .ajs-content code {
|
371 |
+
white-space: pre;
|
372 |
+
display: block;
|
373 |
+
overflow: auto;
|
374 |
+
line-height: 1.4em;
|
375 |
+
margin: 1em auto;
|
376 |
+
}
|
377 |
+
|
378 |
.ajs-button {cursor: pointer;}
|
379 |
|
380 |
.ss-vi-img {
|
styles/ytvi-admin.min.css
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
|
2 |
-
.clearboth{clear:both}sup.orange{text-transform:lowercase;font-weight:bold;color:#f85d00}.align-middle{vertical-align:middle!important}.vi-registration-box{position:relative}.vi-cover-prompt{position:absolute;width:100%;height:100%;top:0;left:0;z-index:100;background-color:rgba(241,241,241,.93);text-align:center}.vi-cover-prompt::before{content:"";display:none;z-index:10000;position:absolute;width:100%;height:100%;margin:0;padding:0;-webkit-filter:url(#viblurfilter);-moz-filter:url(#viblurfilter);-o-filter:url(#viblurfilter);-ms-filter:url(#viblurfilter);filter:url(#viblurfilter)}.vi-cover-prompt-buttons
|
1 |
|
2 |
+
.clearboth{clear:both}sup.orange{text-transform:lowercase;font-weight:bold;color:#f85d00}.align-middle{vertical-align:middle!important}.vi-registration-box{position:relative}.vi-cover-prompt{position:absolute;width:100%;height:100%;top:0;left:0;z-index:100;background-color:rgba(241,241,241,.93);text-align:center}.vi-cover-prompt::before{content:"";display:none;z-index:10000;position:absolute;width:100%;height:100%;margin:0;padding:0;-webkit-filter:url(#viblurfilter);-moz-filter:url(#viblurfilter);-o-filter:url(#viblurfilter);-ms-filter:url(#viblurfilter);filter:url(#viblurfilter)}.vi-cover-prompt-buttons button.button-primary,.vi-cover-prompt-buttons button.button-secondary{display:inline-block;margin:0 5px}.viblurfilter-svg{width:0;height:0;margin:0;padding:0;border:0}.vi-cover-prompt h1{text-align:center;margin-top:50px}.ytvi-wrap *{box-sizing:border-box}.ytvi-wrap .center{text-align:center}.ytvi-wrap input.regular-text{width:100%}.ytvi-step-1,.ytvi-step-2{text-align:left}.ytvi-step-1{width:auto;padding:0;max-width:870px;margin:0 auto}.ytvi-step-1 .button-primary{font-size:16px}.ytvi-step-1--form,.ytvi-login-success,.ytvi-step-2-loading,.ytvi-login-loading,.ytvi-login-complete{background:#fff;border:solid 1px #e5e5e5;padding:15px 0;width:100%;margin:30px auto}.ytvi-step-1--form .side-signup{width:49.5%;float:left;border-right:1px solid #ccc;padding:0 40px}.ytvi-step-1--form .side-login{width:49.5%;float:right;padding:0 40px 0 30px}.ytvi-step-1--form .side-login h2,.ytvi-step-1--form .side-signup h2{font-size:1.15em}.wrap .ytvi-step-1--form h2{margin:10px 0 15px 0;font-weight:normal}.ytvi-step-2-loading,.ytvi-step-2,.ytvi-login-loading,.ytvi-login-success{display:none}.ytvi-loading--message{text-align:center;font-size:16px}.ytvi-step-2 .ytvi-registration{max-width:870px;margin:0 auto}.ytvi-step-2 .ytvi-registration iframe{border-width:0;padding:0;margin:0 auto;width:100%;height:575px;display:block}.ytvi-step-2-msg{background-color:#d8ebf3;border:1px solid #d0d0d0;margin:0 26px}.ytvi-login-success,.ytvi-login-complete{max-width:100%;text-align:center;padding:25px 40px}.vi-adstxt-diff{text-align:left}.vi-adstxt-diff p{font-style:italic}.vi-adstxt-diff code{white-space:pre;display:block;overflow:auto}section.pattern h2{background-color:rgba(255,255,255,0);transition:background-color 2s ease-out 0s}section.pattern h2.ytvi-hash-scroll{background-color:rgba(255,255,255,1);transition:background-color 0s}h3.sect{transition:background-color 2s ease-out 0s}h3.sect.ytvi-hash-scroll{background-color:rgba(255,255,255,1);transition:background-color 0s}.vi-forgot-pw{display:inline-block;float:right;padding-top:5px}.vi-contact-support{margin-top:30px;clear:left;padding-top:20px}.vi-logo-text{height:1.2em;width:auto;vertical-align:text-bottom}.vi-demo{max-width:1360px;margin:0 auto}p.vi-demo-lede,#ytform p.vi-demo-lede{font-size:18px;line-height:1.5}.wrap-vi-settings-pre p.vi-demo-lede{padding-top:.75em}.vi-demo-col-phone{float:right;width:330px;clear:right}.vi-demo-col-content{width:calc(100% - 340px)}.vi-demo-mobile{margin:0 auto;width:300px;background:transparent url(../images/vi-mobile-phone.png) no-repeat scroll;background-size:cover}.vi-demo-mobile-caption-list{position:relative;min-height:115px}.vi-demo-mobile-caption{font-style:italic;margin:0 10px;position:absolute;top:0;left:0;opacity:1;transition:ease-in-out opacity 3s}.vi-demo-mobile-ratio{position:relative;width:100%;height:0;padding-bottom:175.89%}.vi-demo-mobile-bg{position:absolute;top:0;left:0;width:100%;height:100%}.vi-demo-screen{position:absolute;top:5.5%;left:12%;width:76%;height:auto;z-index:1;opacity:1;transition:ease-in-out opacity 4s}.vi-demo-screen.demo-hide,.vi-demo-mobile-caption.demo-hide{opacity:0;transition:ease-in-out opacity 3s}.vi-demo-screen-2{z-index:2}p.vi-ad-source-row{text-align:center;margin-top:20px}.vi-ad-source-row img{vertical-align:middle;display:inline-block;margin-bottom:13px;padding:0 13px 0 13px;max-height:20px;height:auto;width:auto}.wrap-vi{max-width:1064px;margin-bottom:100px}.wrap-vi h1 .yt-admin-icon{width:16px;height:16px}.wrap-vi h1 a.button-primary,.wrap-vi h1 a.button-secondary,.wrap-ytprefs h2 a.button-primary,.wrap-ytprefs h2 a.button-secondary{float:right;margin-left:15px}.wrap-vi section{margin-left:20px;display:none;padding-top:15px}.wrap-vi th label{display:block}.wrap-vi th small{font-weight:normal;font-style:italic}.wrap-vi h2.nav-tab-wrapper{margin:22px 0 0 0}.wrap-vi section#jumphowitworks{display:block}.wrap-vi .no-js section{display:block}.wrap-vi h2{margin-bottom:30px;margin-left:0}.wrap-vi h3{font-size:1.2em;font-style:italic}.save-changes-follow{position:fixed;z-index:10000;bottom:0;right:0;background-color:#fff;padding:0 20px;border-top-left-radius:20px;border:2px solid #aaa;border-right-width:0;border-bottom-width:0;-webkit-box-shadow:0 0 10px 0 rgba(0,0,0,0.75);-moz-box-shadow:0 0 10px 0 rgba(0,0,0,0.75);box-shadow:0 0 10px 0 rgba(0,0,0,0.75)}.button-primary{white-space:nowrap}p.submit{margin:0;padding:15px 0 10px 0}.wp-core-ui p.submit .button-primary{font-weight:bold;font-size:21px;height:50px;padding:0 20px 1px;background:#2ea2cc;background:-moz-linear-gradient(top,#2ea2cc 0,#007396 98%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0%,#2ea2cc),color-stop(98%,#007396));background:-webkit-linear-gradient(top,#2ea2cc 0,#007396 98%);background:-o-linear-gradient(top,#2ea2cc 0,#007396 98%);background:-ms-linear-gradient(top,#2ea2cc 0,#007396 98%);background:linear-gradient(to bottom,#2ea2cc 0,#007396 98%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#2ea2cc',endColorstr='#007396',GradientType=0)}p.submit em{display:inline-block;padding-left:20px;vertical-align:middle;width:240px;margin-top:-6px}.vi-red{color:#de1515}a.button-primary.ytvi-btn-inactive,a.button-primary.ytvi-btn-inactive:hover{background:#de1515;border-color:#a22222;box-shadow:0 1px 0 #a22222;text-shadow:0 -1px 1px #a22222,1px 0 1px #a22222,0 1px 1px #a22222,-1px 0 1px #a22222}a.button-primary.ytvi-btn-inactive:hover{background:#e51f1f}.iab-cat-parent{margin-right:15px;display:inline-block}.iab-cat-child-box{display:inline-block}.iab-cat-child-box.hidden{display:none}.iab-cat-child option.hidden{display:none}.wp-picker-container.wp-picker-active .wp-color-result-text{font-weight:bold}ul.list-ul{margin:15px 30px}ul.list-ul li{list-style-type:disc}.alertify .ajs-dialog{max-width:600px}.alertify .ajs-body .ajs-content{line-height:2em}.alertify .ajs-body .ajs-content code{white-space:pre;display:block;overflow:auto;line-height:1.4em;margin:1em auto}.ajs-button{cursor:pointer}.ss-vi-img{max-width:700px;height:auto}.ss-vi-wizbutton{max-width:100%;height:auto}.vi-how-works{margin-bottom:40px;position:relative;margin-left:10px}.vi-how-works::before{clear:both}.vi-how-works p{line-height:1}.vi-how-works img{width:50px;height:50px;float:left;margin-right:15px;transition:ease-in-out transform,opacity .1s;opacity:.5}.vi-how-works:hover img{transform:scale(1.1);opacity:1;transition:ease-in-out transform,opacity .2s}.vi-how-works h3{margin-bottom:0}.vi-how-works .vi-num{position:absolute;left:-20px;font-size:22px;font-weight:bold;color:#000;opacity:.2;font-style:italic;transition:ease-in-out transform,opacity .1s}.vi-how-works:hover .vi-num{transform:scale(1.1);opacity:1;transition:ease-in-out transform,opacity .2s}h2 .vi-num{font-style:italic;opacity:.5}.form-table.form-table--vi-appearance{width:100%}.form-table td{vertical-align:top}.vi-story-demo{width:65%;position:relative;margin:20px auto}.vi-story-demo--box{border:solid 1px #e3e3e3}.vi-story-demo--screen{width:100%;padding-top:57%;background-color:#888;position:relative}.vi-story-demo--screen span{color:#ccc;position:absolute;width:100%;text-align:center;font-size:20px;top:50%;font-style:italic}.vi-story-demo--info{padding:8px}.vi-story-demo--featured{height:20px;font-size:9px;text-align:right;margin-top:8px;text-transform:uppercase;line-height:20px;font-family:Verdana,sans-serif}.vi-story-demo--title{font-weight:bold;line-height:1.33}.vi-story-demo--featured span{opacity:.5}.vi-story-demo--featured img{width:20px;height:20px;vertical-align:middle;margin:-4px 0 0 5px}@media(min-width:768px){.form-table.form-table--vi-appearance{width:53%;float:left;clear:left}.vi-story-demo{float:right;width:44%;position:relative}}.vi-report-error.hide,.vi-report.hide{display:none}.vi-report,.vi-report-error{text-align:center}.vi-total-earnings,.vi-total-earnings-error{float:left;width:25%;margin-top:60px;color:#1193aa}.vi-report-graph,.vi-report-graph-error{float:right;width:75%}.vi-report-canvas-box,.vi-report-canvas-box-error{height:300px;width:100%}.vi-total-earnings-num,.vi-total-earnings-num-error{margin-top:20px;font-weight:bold;font-size:3.7vw;line-height:3.7vw}.vi-total-earnings-num-error,.vi-report-canvas-box-error{color:#ccc;font-weight:normal;font-size:45px;line-height:45px}.vi-report-canvas-box-error{background-size:10% 10%;background-image:linear-gradient(to right,#ddd 1px,transparent 1px),linear-gradient(to bottom,#ddd 1px,transparent 1px)}@media(min-width:1280px){.vi-total-earnings-num,.vi-total-earnings-num-error{font-size:45px;line-height:45px}}
|
youtube.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: YouTube
|
4 |
Plugin URI: https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx
|
5 |
Description: YouTube Embed and YouTube Gallery WordPress Plugin. Embed a responsive video, YouTube channel, playlist gallery, or live stream
|
6 |
-
Version: 12.0
|
7 |
Author: EmbedPlus Team
|
8 |
Author URI: https://www.embedplus.com
|
9 |
*/
|
@@ -34,7 +34,7 @@ class YouTubePrefs
|
|
34 |
|
35 |
public static $folder_name = 'youtube-embed-plus';
|
36 |
public static $curltimeout = 30;
|
37 |
-
public static $version = '12.0';
|
38 |
public static $opt_version = 'version';
|
39 |
public static $optembedwidth = null;
|
40 |
public static $optembedheight = null;
|
@@ -1206,7 +1206,7 @@ class YouTubePrefs
|
|
1206 |
if (current_user_can('manage_options') && !self::vi_logged_in() && !(bool) (self::$alloptions[self::$opt_vi_hide_monetize_tab]))
|
1207 |
{
|
1208 |
?>
|
1209 |
-
<h3 id="h3_vi_monetize"> <a href="#"> Explore
|
1210 |
<div class="h3_vi_monetize-content">
|
1211 |
<div class="vi-registration-box">
|
1212 |
<?php
|
@@ -2511,7 +2511,7 @@ class YouTubePrefs
|
|
2511 |
{
|
2512 |
$origin = '';
|
2513 |
}
|
2514 |
-
$finalsrc = 'enablejsapi=1&' . $origin;
|
2515 |
|
2516 |
if (count($finalparams) > 1)
|
2517 |
{
|
@@ -2852,13 +2852,13 @@ class YouTubePrefs
|
|
2852 |
$new_pointer_content .= '<p>'; // ooopointer
|
2853 |
if (!(self::$alloptions[self::$opt_pro] && strlen(trim(self::$alloptions[self::$opt_pro])) > 0))
|
2854 |
{
|
2855 |
-
//$new_pointer_content .=
|
2856 |
-
$new_pointer_content .= "This
|
2857 |
}
|
2858 |
else
|
2859 |
{
|
2860 |
-
//$new_pointer_content .=
|
2861 |
-
$new_pointer_content .= "This
|
2862 |
}
|
2863 |
$new_pointer_content .= '</p>';
|
2864 |
|
@@ -2887,7 +2887,7 @@ class YouTubePrefs
|
|
2887 |
<a class="nav-tab" href="#jumpapikey">API Key</a>
|
2888 |
<a class="nav-tab" href="#jumpwiz">Wizard</a>
|
2889 |
<a class="nav-tab" href="#jumpgallery">Galleries</a>
|
2890 |
-
<a class="nav-tab href-link" rel="#jumpupgrade" target="_blank" href="<?php echo self::$epbase . "/dashboard/pro-easy-video-analytics.aspx?ref=protab" ?>">Upgrade?</a>
|
2891 |
<?php
|
2892 |
if (!(bool) (self::$alloptions[self::$opt_vi_hide_monetize_tab]))
|
2893 |
{
|
@@ -2906,7 +2906,7 @@ class YouTubePrefs
|
|
2906 |
}
|
2907 |
?>
|
2908 |
<a class="nav-tab" href="#jumpcompat">Compatibility</a>
|
2909 |
-
<a class="nav-tab" href="#jumpprivacy">Privacy
|
2910 |
<a class="nav-tab" href="#jumphowto">Embed Manually</a>
|
2911 |
<a class="nav-tab" href="#jumpsupport">Support</a>
|
2912 |
</h3>
|
@@ -3228,7 +3228,6 @@ class YouTubePrefs
|
|
3228 |
.bold {font-weight: bold;}
|
3229 |
.grey{color: #888888;}
|
3230 |
#goprobox {border-radius: 15px; padding: 10px 15px 15px 15px; border: 3px solid #CCE5EC; position: relative;}
|
3231 |
-
#nonprosupport {border-radius: 15px; padding: 10px 15px 20px 15px; border: 3px solid #ff6655;}
|
3232 |
.pronon {font-weight: bold; color: #f85d00;}
|
3233 |
ul.reglist li {margin-left: 30px; list-style: disc outside none;}
|
3234 |
.procol {width: 475px; float: left;}
|
@@ -3535,9 +3534,10 @@ class YouTubePrefs
|
|
3535 |
<p>
|
3536 |
<input name="<?php echo self::$opt_playlistorder; ?>" id="<?php echo self::$opt_playlistorder; ?>" <?php checked($all[self::$opt_playlistorder], 1); ?> type="checkbox" class="checkbox">
|
3537 |
<label for="<?php echo self::$opt_playlistorder; ?>">
|
3538 |
-
<b class="chktitle">Playlist Ordering:</b>
|
3539 |
-
|
3540 |
-
|
|
|
3541 |
</label>
|
3542 |
</p>
|
3543 |
<p>
|
@@ -3911,6 +3911,9 @@ class YouTubePrefs
|
|
3911 |
<p>
|
3912 |
<b>For self-contained channel playlists:</b> At your editor, click on the <img style="vertical-align: text-bottom;" src="<?php echo plugins_url('images/wizbuttonbig.png', __FILE__) ?>"> wizard button and choose the option <i>Search for a video or channel to insert in my editor.</i> Then, click on the <i>channel playlist</i> option there (instead of <i>single video</i>). Search for the channel username and follow the rest of the directions there.
|
3913 |
</p>
|
|
|
|
|
|
|
3914 |
<p>
|
3915 |
<b>Examples:</b><br><br>
|
3916 |
<img style="width: 900px; height: auto;" class="shadow" src="<?php echo plugins_url('images/sshowto.png', __FILE__) ?>" />
|
@@ -4089,7 +4092,6 @@ class YouTubePrefs
|
|
4089 |
<h2>Plugin Support</h2>
|
4090 |
|
4091 |
<div id="nonprosupport">
|
4092 |
-
<h3>Support tips for all users (Free and PRO)</h3>
|
4093 |
We've found that a common support request has been from users that are pasting video links on single lines, as required, but are not seeing the video embed show up. One of these suggestions is usually the fix:
|
4094 |
<ul class="reglist">
|
4095 |
<li>Make sure the URL is really on its own line by itself. Or, if you need multiple videos on the same line, make sure each URL is wrapped properly with the shortcode (Example: <code>[embedyt]http://www.youtube.com/watch?v=ABCDEFGHIJK&width=400&height=250[/embedyt]</code>)</li>
|
@@ -4587,8 +4589,8 @@ class YouTubePrefs
|
|
4587 |
<li><label><input type="checkbox" data-obfilter="yob-gallery" /> Galleries of playlists or channels (displays thumbnails and a player).</label></li>
|
4588 |
<li><label><input type="checkbox" data-obfilter="yob-standalone" /> Self-contained playlists or channels (no thumbnails, just YouTube's standard playlist player).</label></li>
|
4589 |
<li><label><input type="checkbox" data-obfilter="yob-live" /> Live streams.</label></li>
|
4590 |
-
<li><label><input type="checkbox" data-obfilter="yob-privacy" /> With GDPR / privacy features.</label></li>
|
4591 |
-
<li><label><input type="checkbox" data-obfilter="yob-monetize" />
|
4592 |
</ul>
|
4593 |
<div class="ytprefs-ob-nav">
|
4594 |
<button type="button" class="button-secondary ytprefs-ob-nav-close">Cancel</button>
|
@@ -4957,7 +4959,8 @@ class YouTubePrefs
|
|
4957 |
'onboarded' => self::$alloptions[self::$opt_onboarded],
|
4958 |
'vi_logged_in' => self::vi_logged_in(),
|
4959 |
'epbase' => self::$epbase,
|
4960 |
-
'admin_url' => admin_url()
|
|
|
4961 |
//'epblogwidth' => self::get_blogwidth(),
|
4962 |
//'epprokey' => self::$alloptions[self::$opt_pro],
|
4963 |
//'epbasesite' => self::$epbase,
|
@@ -5248,7 +5251,8 @@ class YouTubePrefs
|
|
5248 |
$result = array();
|
5249 |
$default = array(
|
5250 |
'email' => '',
|
5251 |
-
'password' => ''
|
|
|
5252 |
);
|
5253 |
$input = shortcode_atts($default, stripslashes_deep($_POST));
|
5254 |
$valid = self::vi_login_valid($input);
|
@@ -5256,8 +5260,12 @@ class YouTubePrefs
|
|
5256 |
{
|
5257 |
self::vi_cache_endpoints();
|
5258 |
$loginAPI = self::$alloptions[self::$opt_vi_endpoints]->loginAPI;
|
|
|
|
|
|
|
|
|
5259 |
$apiResult = self::vi_remote_post_anon($loginAPI, array(
|
5260 |
-
'body' => json_encode($
|
5261 |
));
|
5262 |
$valid = self::vi_login_api_valid($apiResult);
|
5263 |
|
@@ -5271,7 +5279,7 @@ class YouTubePrefs
|
|
5271 |
|
5272 |
self::update_option_set($new_options);
|
5273 |
|
5274 |
-
$adstxt_status = self::
|
5275 |
|
5276 |
|
5277 |
if ($adstxt_status['code'] < 1)
|
@@ -5289,6 +5297,11 @@ class YouTubePrefs
|
|
5289 |
|
5290 |
$result['code'] = $adstxt_status['code'];
|
5291 |
$result['message'] = $adstxt_status['message'];
|
|
|
|
|
|
|
|
|
|
|
5292 |
if (isset($adstxt_status['before_adstxt']) && isset($adstxt_status['after_adstxt']))
|
5293 |
{
|
5294 |
$result['message'] .= '<div class="vi-adstxt-diff"><p><strong>Note:</strong> The below shows your new adst.txt file. <strong>Please doublecheck</strong> that any non-vi lines you might have had before are still preserved now (e.g. if you also had Google Adsense lines, etc.).</p><div class="vi-adstxt-before"><p><strong>Before:</strong></p><code>' . ($adstxt_status['before_adstxt'] ? $adstxt_status['before_adstxt'] : '(empty)') . '</code></div><div class="vi-adstxt-after"><p><strong>Now:</strong></p><code>' . ($adstxt_status['after_adstxt'] ? $adstxt_status['after_adstxt'] : '') . '</code></div></div>';
|
@@ -5612,6 +5625,72 @@ class YouTubePrefs
|
|
5612 |
}
|
5613 |
}
|
5614 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5615 |
private static function vi_not_vi_adstxt_line($line)
|
5616 |
{
|
5617 |
return stripos($line, '# 41b5eef6') === false;
|
@@ -6572,6 +6651,27 @@ class YouTubePrefs
|
|
6572 |
</tbody>
|
6573 |
</table>
|
6574 |
<div class="clearboth"></div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6575 |
</section>
|
6576 |
|
6577 |
|
@@ -6613,7 +6713,7 @@ class YouTubePrefs
|
|
6613 |
Note that only one ad can appear on a page, but if you'd like more control of exactly <em>where</em> it's placed, see the "Manual" or "Theme Code" directions in the next sections.
|
6614 |
</p>
|
6615 |
<h3>Manual</h3>
|
6616 |
-
<p>
|
6617 |
<img class="ss-vi-wizbutton" src="<?php echo plugins_url(self::$folder_name . '/images/ss-vi-wizbutton.png'); ?>"/>
|
6618 |
|
6619 |
<h3>Theme Code (advanced)</h3>
|
@@ -6670,7 +6770,7 @@ class YouTubePrefs
|
|
6670 |
<p>
|
6671 |
<label>
|
6672 |
<input type="checkbox" id="<?php echo self::$opt_vi_show_gdpr_authorization ?>" name="<?php echo self::$opt_vi_show_gdpr_authorization ?>" value="1" <?php checked($item[self::$opt_vi_show_gdpr_authorization] == 1) ?> />
|
6673 |
-
<strong>Show GDPR Popup</strong> - Use the <a href="https://advertisingconsent.eu/" target="_blank">IAB approved</a> method to gain consent from your EU visitors before video intelligence cookies or ad content is loaded.
|
6674 |
</label>
|
6675 |
</p>
|
6676 |
<p class="opt_<?php echo self::$opt_vi_show_privacy_button ?>" style="<?php echo $item[self::$opt_vi_show_gdpr_authorization] == 1 ? '' : 'display: none;' ?>">
|
@@ -6737,6 +6837,29 @@ class YouTubePrefs
|
|
6737 |
At this time, only one ad is allowed per page. If you insert more, then only the first one will be visible.
|
6738 |
</p>
|
6739 |
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6740 |
<li>
|
6741 |
<h3>I don't want my ad to follow me as I scroll.</h3>
|
6742 |
<p>
|
3 |
Plugin Name: YouTube
|
4 |
Plugin URI: https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx
|
5 |
Description: YouTube Embed and YouTube Gallery WordPress Plugin. Embed a responsive video, YouTube channel, playlist gallery, or live stream
|
6 |
+
Version: 12.0.1
|
7 |
Author: EmbedPlus Team
|
8 |
Author URI: https://www.embedplus.com
|
9 |
*/
|
34 |
|
35 |
public static $folder_name = 'youtube-embed-plus';
|
36 |
public static $curltimeout = 30;
|
37 |
+
public static $version = '12.0.1';
|
38 |
public static $opt_version = 'version';
|
39 |
public static $optembedwidth = null;
|
40 |
public static $optembedheight = null;
|
1206 |
if (current_user_can('manage_options') && !self::vi_logged_in() && !(bool) (self::$alloptions[self::$opt_vi_hide_monetize_tab]))
|
1207 |
{
|
1208 |
?>
|
1209 |
+
<h3 id="h3_vi_monetize"> <a href="#"> Explore monetization. <sup class="orange">new</sup> </a></h3>
|
1210 |
<div class="h3_vi_monetize-content">
|
1211 |
<div class="vi-registration-box">
|
1212 |
<?php
|
2511 |
{
|
2512 |
$origin = '';
|
2513 |
}
|
2514 |
+
$finalsrc = (self::$alloptions[self::$opt_ytapi_load] == 'never' ? '' : 'enablejsapi=1&') . $origin;
|
2515 |
|
2516 |
if (count($finalparams) > 1)
|
2517 |
{
|
2852 |
$new_pointer_content .= '<p>'; // ooopointer
|
2853 |
if (!(self::$alloptions[self::$opt_pro] && strlen(trim(self::$alloptions[self::$opt_pro])) > 0))
|
2854 |
{
|
2855 |
+
//$new_pointer_content .= "This version improves the admin interface, and includes a new optional feature for users that want to monetize their sites through <a target=\"_blank\" href=\"https://www.vi.ai?aid=WP_embedplus&utm_source=Wordpress&utm_medium=WP_embedplus\">contextual video »</a> (Free and <a target=_blank href=" . self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=frompointer' . ">Pro »</a>).";
|
2856 |
+
$new_pointer_content .= "This update forces the YouTube API (if enabled) to be secured with https, and makes the wizard more compatible with smaller screens for both Free and <a target=_blank href=" . self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=frompointer' . ">Pro »</a> versions.";
|
2857 |
}
|
2858 |
else
|
2859 |
{
|
2860 |
+
//$new_pointer_content .= "This version improves the admin interface, and includes a new optional feature for users that want to monetize their sites through <a target=\"_blank\" href=\"https://www.vi.ai?aid=WP_embedplus&utm_source=Wordpress&utm_medium=WP_embedplus\">contextual video »</a> (Free and <a target=_blank href=" . self::$epbase . '/dashboard/pro-easy-video-analytics.aspx?ref=frompointer' . ">Pro »</a>)." . '<strong>Important message to YouTube Pro users</strong>: From version 11.7 onward, you must <a href="https://www.embedplus.com/youtube-pro/download/?prokey=' . esc_attr(self::$alloptions[self::$opt_pro]) . '" target="_blank">download the separate plugin here</a> to regain your Pro features. All your settings will automatically migrate after installing the separate Pro download. Thank you for your support and patience during this transition.';
|
2861 |
+
$new_pointer_content .= "This update forces the YouTube API (if enabled) to be secured with https, and makes the wizard more compatible with smaller screens for both Free and Pro versions." . '<strong>Important message to YouTube Pro users</strong>: From version 11.7 onward, you must <a href="https://www.embedplus.com/youtube-pro/download/?prokey=' . esc_attr(self::$alloptions[self::$opt_pro]) . '" target="_blank">download the separate plugin here</a> to regain your Pro features. All your settings will automatically migrate after installing the separate Pro download. Thank you for your support and patience during this transition.';
|
2862 |
}
|
2863 |
$new_pointer_content .= '</p>';
|
2864 |
|
2887 |
<a class="nav-tab" href="#jumpapikey">API Key</a>
|
2888 |
<a class="nav-tab" href="#jumpwiz">Wizard</a>
|
2889 |
<a class="nav-tab" href="#jumpgallery">Galleries</a>
|
2890 |
+
<a class="nav-tab href-link" style="background-color: #daebf1;" rel="#jumpupgrade" target="_blank" href="<?php echo self::$epbase . "/dashboard/pro-easy-video-analytics.aspx?ref=protab" ?>">Upgrade?</a>
|
2891 |
<?php
|
2892 |
if (!(bool) (self::$alloptions[self::$opt_vi_hide_monetize_tab]))
|
2893 |
{
|
2906 |
}
|
2907 |
?>
|
2908 |
<a class="nav-tab" href="#jumpcompat">Compatibility</a>
|
2909 |
+
<a class="nav-tab" href="#jumpprivacy">Privacy</a>
|
2910 |
<a class="nav-tab" href="#jumphowto">Embed Manually</a>
|
2911 |
<a class="nav-tab" href="#jumpsupport">Support</a>
|
2912 |
</h3>
|
3228 |
.bold {font-weight: bold;}
|
3229 |
.grey{color: #888888;}
|
3230 |
#goprobox {border-radius: 15px; padding: 10px 15px 15px 15px; border: 3px solid #CCE5EC; position: relative;}
|
|
|
3231 |
.pronon {font-weight: bold; color: #f85d00;}
|
3232 |
ul.reglist li {margin-left: 30px; list-style: disc outside none;}
|
3233 |
.procol {width: 475px; float: left;}
|
3534 |
<p>
|
3535 |
<input name="<?php echo self::$opt_playlistorder; ?>" id="<?php echo self::$opt_playlistorder; ?>" <?php checked($all[self::$opt_playlistorder], 1); ?> type="checkbox" class="checkbox">
|
3536 |
<label for="<?php echo self::$opt_playlistorder; ?>">
|
3537 |
+
<b class="chktitle">Self-contained Playlist Ordering:</b>
|
3538 |
+
Note: This option does <strong class="orange">NOT</strong> apply to galleries. It applies only to these kinds of <em>self-contained playlists</em> (Example: <a target="_blank" href="https://www.youtube.com/watch?v=J50PlRZHH9I&t=3m20s">https://www.youtube.com/watch?v=J50PlRZHH9I&t=3m20s</a>).
|
3539 |
+
If you're trying to control the order of a <em>gallery</em> instead, then you must be the owner of the playlist, go to YouTube.com, and reorder it there. This plugin can only order a <em>gallery</em> the way the owner ordered the source playlist.
|
3540 |
+
Check this option if you just want your <em>self-contained playlists</em> to begin with the latest added video by default. (Unchecking this will force playlists to always start with your selected specific video, even if you add videos to the playlist later).
|
3541 |
</label>
|
3542 |
</p>
|
3543 |
<p>
|
3911 |
<p>
|
3912 |
<b>For self-contained channel playlists:</b> At your editor, click on the <img style="vertical-align: text-bottom;" src="<?php echo plugins_url('images/wizbuttonbig.png', __FILE__) ?>"> wizard button and choose the option <i>Search for a video or channel to insert in my editor.</i> Then, click on the <i>channel playlist</i> option there (instead of <i>single video</i>). Search for the channel username and follow the rest of the directions there.
|
3913 |
</p>
|
3914 |
+
<p>
|
3915 |
+
<b>For video ads:</b> First sign up with <a target="_blank" href="<?php echo admin_url('admin.php?page=youtube-ep-vi') ?>">video intelligence</a>. Once you're approved and logged in, you can use the following short code to display revenue-generating video ads on your site: <code>[embed-vi-ad]</code>.
|
3916 |
+
</p>
|
3917 |
<p>
|
3918 |
<b>Examples:</b><br><br>
|
3919 |
<img style="width: 900px; height: auto;" class="shadow" src="<?php echo plugins_url('images/sshowto.png', __FILE__) ?>" />
|
4092 |
<h2>Plugin Support</h2>
|
4093 |
|
4094 |
<div id="nonprosupport">
|
|
|
4095 |
We've found that a common support request has been from users that are pasting video links on single lines, as required, but are not seeing the video embed show up. One of these suggestions is usually the fix:
|
4096 |
<ul class="reglist">
|
4097 |
<li>Make sure the URL is really on its own line by itself. Or, if you need multiple videos on the same line, make sure each URL is wrapped properly with the shortcode (Example: <code>[embedyt]http://www.youtube.com/watch?v=ABCDEFGHIJK&width=400&height=250[/embedyt]</code>)</li>
|
4589 |
<li><label><input type="checkbox" data-obfilter="yob-gallery" /> Galleries of playlists or channels (displays thumbnails and a player).</label></li>
|
4590 |
<li><label><input type="checkbox" data-obfilter="yob-standalone" /> Self-contained playlists or channels (no thumbnails, just YouTube's standard playlist player).</label></li>
|
4591 |
<li><label><input type="checkbox" data-obfilter="yob-live" /> Live streams.</label></li>
|
4592 |
+
<li style="display:none;"><label><input type="checkbox" data-obfilter="yob-privacy" /> With GDPR / privacy features.</label></li>
|
4593 |
+
<li><label><input type="checkbox" data-obfilter="yob-monetize" /> Relevant video ads that earn revenue for me (up to 10 times higher CPMs revenue than display advertising).</label></li>
|
4594 |
</ul>
|
4595 |
<div class="ytprefs-ob-nav">
|
4596 |
<button type="button" class="button-secondary ytprefs-ob-nav-close">Cancel</button>
|
4959 |
'onboarded' => self::$alloptions[self::$opt_onboarded],
|
4960 |
'vi_logged_in' => self::vi_logged_in(),
|
4961 |
'epbase' => self::$epbase,
|
4962 |
+
'admin_url' => admin_url(),
|
4963 |
+
'admin_url_ytprefs' => admin_url('admin.php?page=youtube-my-preferences')
|
4964 |
//'epblogwidth' => self::get_blogwidth(),
|
4965 |
//'epprokey' => self::$alloptions[self::$opt_pro],
|
4966 |
//'epbasesite' => self::$epbase,
|
5251 |
$result = array();
|
5252 |
$default = array(
|
5253 |
'email' => '',
|
5254 |
+
'password' => '',
|
5255 |
+
'adstxt' => ''
|
5256 |
);
|
5257 |
$input = shortcode_atts($default, stripslashes_deep($_POST));
|
5258 |
$valid = self::vi_login_valid($input);
|
5260 |
{
|
5261 |
self::vi_cache_endpoints();
|
5262 |
$loginAPI = self::$alloptions[self::$opt_vi_endpoints]->loginAPI;
|
5263 |
+
$inputAuth = array(
|
5264 |
+
'email' => $input['email'],
|
5265 |
+
'password' => $input['password']
|
5266 |
+
);
|
5267 |
$apiResult = self::vi_remote_post_anon($loginAPI, array(
|
5268 |
+
'body' => json_encode($inputAuth)
|
5269 |
));
|
5270 |
$valid = self::vi_login_api_valid($apiResult);
|
5271 |
|
5279 |
|
5280 |
self::update_option_set($new_options);
|
5281 |
|
5282 |
+
$adstxt_status = self::vi_adstxt_status_soft($input['adstxt']);
|
5283 |
|
5284 |
|
5285 |
if ($adstxt_status['code'] < 1)
|
5297 |
|
5298 |
$result['code'] = $adstxt_status['code'];
|
5299 |
$result['message'] = $adstxt_status['message'];
|
5300 |
+
if ($result['type'] === 'error')
|
5301 |
+
{
|
5302 |
+
$result['message'] .= '<p><strong>Having trouble with setting up ads.txt? Please contact us at ext@embedplus.com for help.</strong></p>';
|
5303 |
+
}
|
5304 |
+
|
5305 |
if (isset($adstxt_status['before_adstxt']) && isset($adstxt_status['after_adstxt']))
|
5306 |
{
|
5307 |
$result['message'] .= '<div class="vi-adstxt-diff"><p><strong>Note:</strong> The below shows your new adst.txt file. <strong>Please doublecheck</strong> that any non-vi lines you might have had before are still preserved now (e.g. if you also had Google Adsense lines, etc.).</p><div class="vi-adstxt-before"><p><strong>Before:</strong></p><code>' . ($adstxt_status['before_adstxt'] ? $adstxt_status['before_adstxt'] : '(empty)') . '</code></div><div class="vi-adstxt-after"><p><strong>Now:</strong></p><code>' . ($adstxt_status['after_adstxt'] ? $adstxt_status['after_adstxt'] : '') . '</code></div></div>';
|
5625 |
}
|
5626 |
}
|
5627 |
|
5628 |
+
private static function vi_adstxt_status_soft($current_adstxt)
|
5629 |
+
{
|
5630 |
+
$adstxt_url = self::base_url() . '/ads.txt';
|
5631 |
+
$adstxt_note = ' <strong>Note:</strong> If you already have an ads.txt file at ' . $adstxt_url . ', you will just need to add in the additional lines found in the download.';
|
5632 |
+
$user_adstxt = self::vi_cache_user_adstxt();
|
5633 |
+
$current_adstxt = empty($current_adstxt) ? false : $current_adstxt;
|
5634 |
+
if ($user_adstxt === false)
|
5635 |
+
{
|
5636 |
+
return array(
|
5637 |
+
'code' => -1,
|
5638 |
+
'message' => 'Sorry, your publisher ads.txt info could not be retrieved. Please wait a few minutes and try again. Your ads.txt verification file will enable you to make money through vi. <a href="https://www.vi.ai/publisherfaq/?aid=WP_embedplus&utm_source=Wordpress&utm_medium=WP_embedplus" target="_blank">FAQ »</a>'
|
5639 |
+
);
|
5640 |
+
}
|
5641 |
+
else
|
5642 |
+
{
|
5643 |
+
$user_adstxt = preg_replace('~\R~u', PHP_EOL, $user_adstxt);
|
5644 |
+
}
|
5645 |
+
|
5646 |
+
if (!empty($current_adstxt))
|
5647 |
+
{
|
5648 |
+
$current_adstxt = preg_replace('~\R~u', PHP_EOL, $current_adstxt);
|
5649 |
+
|
5650 |
+
// append / update manually
|
5651 |
+
if (stripos($current_adstxt, $user_adstxt) === false)
|
5652 |
+
{
|
5653 |
+
if (stripos($current_adstxt, '# 41b5eef6') !== false) // update
|
5654 |
+
{
|
5655 |
+
return array(
|
5656 |
+
'code' => 0,
|
5657 |
+
'message' => '<h2>Almost There!</h2>Before you login, it's time to update your ads.txt file to reflect the latest data from vi. '
|
5658 |
+
. 'In your current <a href="' . self::base_url() . '/ads.txt" target="_blank">ads.txt</a> file, replace the vi lines (ending in # 41b5eef6) with the new lines you see below. '
|
5659 |
+
. 'Then, try logging in again. Your ads.txt verification file will enable you to make money through vi.'
|
5660 |
+
. '<code>' . $user_adstxt . '</code>'
|
5661 |
+
);
|
5662 |
+
}
|
5663 |
+
else // add
|
5664 |
+
{
|
5665 |
+
return array(
|
5666 |
+
'code' => 0,
|
5667 |
+
'message' => '<h2>Almost There!</h2>In order to login and complete the setup, you need to update your ads.txt file. '
|
5668 |
+
. 'In your current <a href="' . self::base_url() . '/ads.txt" target="_blank">ads.txt</a> file, just add in the additional lines you see below. '
|
5669 |
+
. 'Then, try logging in again. Your ads.txt verification file will enable you to make money through vi.'
|
5670 |
+
. '<code>' . $user_adstxt . '</code>'
|
5671 |
+
);
|
5672 |
+
}
|
5673 |
+
}
|
5674 |
+
else
|
5675 |
+
{
|
5676 |
+
return array(
|
5677 |
+
'code' => 2,
|
5678 |
+
'message' => 'You successfully validated your account.'
|
5679 |
+
);
|
5680 |
+
}
|
5681 |
+
}
|
5682 |
+
else
|
5683 |
+
{
|
5684 |
+
// create manually
|
5685 |
+
return array(
|
5686 |
+
'code' => 0,
|
5687 |
+
'message' => '<h2>Almost There!</h2>In order to login and complete the monetization setup, you need an "ads.txt" file. '
|
5688 |
+
. 'Please first <a class="button-secondary" href="' . admin_url('admin.php') . '?ytvi_adstxt_download=1&key=' . urlencode(self::$alloptions[self::$opt_vi_token]) . '">download this ads.txt</a> file and upload it to your site root. '
|
5689 |
+
. 'Then, try logging in again. Your ads.txt verification file will enable you to make money through vi.'
|
5690 |
+
);
|
5691 |
+
}
|
5692 |
+
}
|
5693 |
+
|
5694 |
private static function vi_not_vi_adstxt_line($line)
|
5695 |
{
|
5696 |
return stripos($line, '# 41b5eef6') === false;
|
6651 |
</tbody>
|
6652 |
</table>
|
6653 |
<div class="clearboth"></div>
|
6654 |
+
<h3>Sizing Tips</h3>
|
6655 |
+
<p>The video ad's player will be as large as the container it’s in. If you’d like to change the default size to something smaller, you’ll just need to add some CSS to your website's theme as follows:</p>
|
6656 |
+
<ol class="list-ol">
|
6657 |
+
<li>
|
6658 |
+
You'll be using your site's theme customizer. In the WordPress admin menu on the left, go to <em>Appearance > <a target="_blank" href="<?php echo admin_url('customize.php?return=') . urlencode(admin_url()) ?>">Customize</a></em>.
|
6659 |
+
</li>
|
6660 |
+
<li>
|
6661 |
+
On the customizer page, scroll down in the left menu to "Additional CSS" and click on it.
|
6662 |
+
</li>
|
6663 |
+
<li>
|
6664 |
+
You'll have a textbox to paste in the following CSS (change 480 to your desired max width in pixels):
|
6665 |
+
<br><br>
|
6666 |
+
<div class="code pre"><?php echo ".ytvi-story-container {
|
6667 |
+
max-width: 480px;
|
6668 |
+
margin: 0 auto;
|
6669 |
+
}" ?></div>
|
6670 |
+
</li>
|
6671 |
+
<li>
|
6672 |
+
When done, click on the "Publish" button at the top to save your change, and then the X to close the theme customizer.
|
6673 |
+
</li>
|
6674 |
+
</ol>
|
6675 |
</section>
|
6676 |
|
6677 |
|
6713 |
Note that only one ad can appear on a page, but if you'd like more control of exactly <em>where</em> it's placed, see the "Manual" or "Theme Code" directions in the next sections.
|
6714 |
</p>
|
6715 |
<h3>Manual</h3>
|
6716 |
+
<p>Instead of the automatic placement options, you can manually insert your ad in text widgets, and in specific posts or pages too. Simply use the wizard button as shown below, and the ad will appear exactly where you inserted its shortcode. <strong>Note that only one vi ad can show up per page. So, above, if you checked any automatic placement options, please uncheck them to prevent a conflict between the automatic and manually placed ads. Your manually entered codes will then have a chance to start appearing.</strong></p>
|
6717 |
<img class="ss-vi-wizbutton" src="<?php echo plugins_url(self::$folder_name . '/images/ss-vi-wizbutton.png'); ?>"/>
|
6718 |
|
6719 |
<h3>Theme Code (advanced)</h3>
|
6770 |
<p>
|
6771 |
<label>
|
6772 |
<input type="checkbox" id="<?php echo self::$opt_vi_show_gdpr_authorization ?>" name="<?php echo self::$opt_vi_show_gdpr_authorization ?>" value="1" <?php checked($item[self::$opt_vi_show_gdpr_authorization] == 1) ?> />
|
6773 |
+
<strong>Show Privacy/GDPR Popup</strong> - Use the <a href="https://advertisingconsent.eu/" target="_blank">IAB approved</a> method to gain consent from your EU visitors before video intelligence cookies or ad content is loaded.
|
6774 |
</label>
|
6775 |
</p>
|
6776 |
<p class="opt_<?php echo self::$opt_vi_show_privacy_button ?>" style="<?php echo $item[self::$opt_vi_show_gdpr_authorization] == 1 ? '' : 'display: none;' ?>">
|
6837 |
At this time, only one ad is allowed per page. If you insert more, then only the first one will be visible.
|
6838 |
</p>
|
6839 |
</li>
|
6840 |
+
<li>
|
6841 |
+
<h3>How do I resize the ad?</h3>
|
6842 |
+
<p>The video ad's player will be as large as the container it’s in. If you’d like to change the default size to something smaller, you’ll just need to add some CSS to your website's theme as follows:</p>
|
6843 |
+
<ol class="list-ol">
|
6844 |
+
<li>
|
6845 |
+
You'll be using your site's theme customizer. In the WordPress admin menu on the left, go to <em>Appearance > <a target="_blank" href="<?php echo admin_url('customize.php?return=') . urlencode(admin_url()) ?>">Customize</a></em>.
|
6846 |
+
</li>
|
6847 |
+
<li>
|
6848 |
+
On the customizer page, scroll down in the left menu to "Additional CSS" and click on it.
|
6849 |
+
</li>
|
6850 |
+
<li>
|
6851 |
+
You'll have a textbox to paste in the following CSS (change 480 to your desired max width in pixels):
|
6852 |
+
<br><br>
|
6853 |
+
<div class="code pre"><?php echo ".ytvi-story-container {
|
6854 |
+
max-width: 480px;
|
6855 |
+
margin: 0 auto;
|
6856 |
+
}" ?></div>
|
6857 |
+
</li>
|
6858 |
+
<li>
|
6859 |
+
When done, click on the "Publish" button at the top to save your change, and then the X to close the theme customizer.
|
6860 |
+
</li>
|
6861 |
+
</ol>
|
6862 |
+
</li>
|
6863 |
<li>
|
6864 |
<h3>I don't want my ad to follow me as I scroll.</h3>
|
6865 |
<p>
|