YouTube - Version 8.8

Version Description

Download this release

Release Info

Developer embedplus
Plugin Icon 128x128 YouTube
Version 8.8
Comparing to
See all releases

Code changes from version 8.7 to 8.8

Files changed (2) hide show
  1. readme.txt +12 -7
  2. youtube.php +171 -31
readme.txt CHANGED
@@ -4,16 +4,16 @@ Plugin Name: YouTube Embed
4
  Tags: at a glance, channel, annotations, music, music video, songs, song, lyrics, responsive, short code, shortcode, youtube shortcode, health, diagnostic, youtube status, seo, video seo, rich snippets, reddit, google+, google plus, comments, search, widget, sidebar, responsive, fluid, iphone, mobile, android, tablet, ipad, youtube playlist, playlists, playlist, wmode, hd, autohd, auto hd, video analytics, analytics, google, google analytics, view count, vlog, vlogging, web videos, youtube analytics, youtube, youtube plugin, youtube shortcode, embed youtube, plugin, video, video shortcode, embed videos, youtube player, shortcode, simple, simple youtube, smart youtube playback, youtube embed, wordpress youtube embed, embedding youtube, youtube embedding, video plugin, https, ssl, secure, no-cookie, cookie, html5, youtube html5
5
  Requires at least: 2.9
6
  Tested up to: 3.9.2
7
- Stable tag: 8.7
8
  License: GPLv3 or later
9
 
10
  YouTube embed plugin with basic features and convenient defaults. Upgrade now to add tracking, instant video SEO tags, and much more!
11
 
12
  == Description ==
13
 
14
- **500,000+ downloads! Here are some recently added features:**
15
 
16
- * Instant HTTPS support. It can even convert past non-HTTPS videos to HTTPS.
17
  * iOS playback preferences
18
  * Embed an entire channel as a playlist
19
  * "At a Glance" direct access to your YouTube posts/pages
@@ -128,11 +128,16 @@ You can also start and end each individual video at particular times. Like the a
128
 
129
  == Changelog ==
130
 
 
 
 
 
 
131
  = YouTube Embed 8.7 =
132
- (PRO) Extends the plugins existing tagging capabilities by also adding Open Graph markup to enhance Facebook sharing/discovery of your pages.
133
 
134
  = YouTube Embed 8.6 =
135
- HTTPS/SSL embedding is now free.
136
 
137
  = YouTube Embed 8.5 =
138
  This update features a new iOS related option for both Free and PRO users. PRO users additionally have the new mobile compatibility checker.
@@ -231,7 +236,7 @@ Enhanced deleted video checker for PRO users
231
  Added ability to try to force HTML5 player to speed up page loading
232
 
233
  = YouTube Embed 3.3 =
234
- HTTPS: Added secure YouTube embedding for PRO users
235
 
236
  = YouTube Embed 3.2 =
237
  Ensures video-specific height overrides defaults properly
@@ -280,4 +285,4 @@ First release uploaded to the plugin repository.
280
 
281
  == Other Notes ==
282
 
283
- [This YouTube plugin can include premium features like automatic schema tagging for video SEO, mobile compatibility checking, and deleted video alerts when you upgrade to PRO.](https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx).
4
  Tags: at a glance, channel, annotations, music, music video, songs, song, lyrics, responsive, short code, shortcode, youtube shortcode, health, diagnostic, youtube status, seo, video seo, rich snippets, reddit, google+, google plus, comments, search, widget, sidebar, responsive, fluid, iphone, mobile, android, tablet, ipad, youtube playlist, playlists, playlist, wmode, hd, autohd, auto hd, video analytics, analytics, google, google analytics, view count, vlog, vlogging, web videos, youtube analytics, youtube, youtube plugin, youtube shortcode, embed youtube, plugin, video, video shortcode, embed videos, youtube player, shortcode, simple, simple youtube, smart youtube playback, youtube embed, wordpress youtube embed, embedding youtube, youtube embedding, video plugin, https, ssl, secure, no-cookie, cookie, html5, youtube html5
5
  Requires at least: 2.9
6
  Tested up to: 3.9.2
7
+ Stable tag: 8.8
8
  License: GPLv3 or later
9
 
10
  YouTube embed plugin with basic features and convenient defaults. Upgrade now to add tracking, instant video SEO tags, and much more!
11
 
12
  == Description ==
13
 
14
+ **600,000+ downloads! Here are some recently added features:**
15
 
16
+ * Instant HTTPS support. It can even convert past non-HTTPS videos to HTTPS. Did you know that Google uses [HTTPS/SSL support as a ranking signal for SERP?](http://embedplus.com/convert-old-youtube-embeds-to-https-ssl.aspx)
17
  * iOS playback preferences
18
  * Embed an entire channel as a playlist
19
  * "At a Glance" direct access to your YouTube posts/pages
128
 
129
  == Changelog ==
130
 
131
+ = YouTube Embed 8.8 =
132
+ * Better embedplus plugin conflict notifications.
133
+ * Greater emphasis on HTTPS support due to Google's recent announcement about [HTTPS/SSL as an SEO/SERP signal](http://embedplus.com/convert-old-youtube-embeds-to-https-ssl.aspx).
134
+ * Supports latest version of WordPress (3.9.2).
135
+
136
  = YouTube Embed 8.7 =
137
+ (PRO) Extends the plugin's existing tagging capabilities by also adding Open Graph markup to enhance Facebook sharing/discovery of your pages.
138
 
139
  = YouTube Embed 8.6 =
140
+ Expanded HTTPS/SSL support.
141
 
142
  = YouTube Embed 8.5 =
143
  This update features a new iOS related option for both Free and PRO users. PRO users additionally have the new mobile compatibility checker.
236
  Added ability to try to force HTML5 player to speed up page loading
237
 
238
  = YouTube Embed 3.3 =
239
+ HTTPS: Added secure YouTube embedding
240
 
241
  = YouTube Embed 3.2 =
242
  Ensures video-specific height overrides defaults properly
285
 
286
  == Other Notes ==
287
 
288
+ This YouTube plugin can include premium features like automatic schema tagging for video SEO, mobile compatibility checking, and deleted video alerts when you [upgrade to PRO.](https://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx).
youtube.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: YouTube
4
  Plugin URI: http://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx
5
  Description: YouTube embed plugin with basic features and convenient defaults. Upgrade now to add tracking, instant video SEO tags, and much more!
6
- Version: 8.7
7
  Author: EmbedPlus Team
8
  Author URI: http://www.embedplus.com
9
  */
@@ -32,7 +32,7 @@
32
  class YouTubePrefs
33
  {
34
 
35
- public static $version = '8.7';
36
  public static $opt_version = 'version';
37
  public static $optembedwidth = null;
38
  public static $optembedheight = null;
@@ -65,6 +65,8 @@ class YouTubePrefs
65
  public static $opt_defaultdims = 'defaultdims';
66
  public static $opt_defaultwidth = 'width';
67
  public static $opt_defaultheight = 'height';
 
 
68
  public static $opt_schemaorg = 'schemaorg';
69
  public static $opt_alloptions = 'youtubeprefs_alloptions';
70
  public static $alloptions = null;
@@ -501,24 +503,91 @@ class YouTubePrefs
501
  {
502
  if (is_plugin_active('embedplus-for-wordpress/embedplus.php'))
503
  {
504
- self::$double_plugin = true;
 
505
  }
506
  }
507
 
508
  public static function double_plugin_warning()
509
  {
510
- ?>
511
- <style type="text/css">
512
- .embedpluswarning img
 
 
 
 
 
 
513
  {
514
- vertical-align: text-bottom;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
515
  }
516
- </style>
517
- <div class="error">
518
- <p class="embedpluswarning">Seems like you have two different YouTube plugins by the EmbedPlus Team installed: <b><img src="<?php echo plugins_url('images/youtubeicon16.png', __FILE__) ?>" /> YouTube</b> and <b><img src="<?php echo plugins_url('images/btn_embedpluswiz.png', __FILE__) ?>" /> Advanced YouTube Embed.</b> We strongly suggest keeping only the one you prefer, so that they don't conflict with each other while trying to create your embeds.</p>
519
- </div>
520
- <iframe allowTransparency="true" src="<?php echo self::$epbase . '/both-plugins-conflict.aspx' ?>" style="width:2px; height: 2px;" ></iframe>
521
- <?php
 
 
 
 
 
 
 
 
 
 
 
 
 
522
  }
523
 
524
  public static function jsvars()
@@ -571,6 +640,8 @@ class YouTubePrefs
571
  $_defaultwidth = '';
572
  $_defaultheight = '';
573
  $_playsinline = 0;
 
 
574
 
575
  $arroptions = get_option(self::$opt_alloptions);
576
 
@@ -604,6 +675,8 @@ class YouTubePrefs
604
  $_defaultdims = self::tryget($arroptions, self::$opt_defaultdims, 0);
605
  $_defaultwidth = self::tryget($arroptions, self::$opt_defaultwidth, '');
606
  $_defaultheight = self::tryget($arroptions, self::$opt_defaultheight, '');
 
 
607
  }
608
  else
609
  {
@@ -638,7 +711,9 @@ class YouTubePrefs
638
  self::$opt_schemaorg => $_schemaorg,
639
  self::$opt_defaultdims => $_defaultdims,
640
  self::$opt_defaultwidth => $_defaultwidth,
641
- self::$opt_defaultheight => $_defaultheight
 
 
642
  );
643
 
644
  update_option(self::$opt_alloptions, $all);
@@ -726,6 +801,7 @@ class YouTubePrefs
726
  $linkscheme = 'http';
727
  $youtubebaseurl = 'youtube';
728
  $schemaorgoutput = '';
 
729
 
730
  $finalparams = $linkparams + self::$alloptions;
731
 
@@ -1117,6 +1193,7 @@ class YouTubePrefs
1117
 
1118
  public static function custom_admin_pointers_check()
1119
  {
 
1120
  $admin_pointers = self::custom_admin_pointers();
1121
  foreach ($admin_pointers as $pointer => $array)
1122
  {
@@ -1302,6 +1379,7 @@ class YouTubePrefs
1302
  $new_options[self::$opt_responsive] = self::postchecked(self::$opt_responsive) ? 1 : 0;
1303
  $new_options[self::$opt_schemaorg] = self::postchecked(self::$opt_schemaorg) ? 1 : 0;
1304
  $new_options[self::$opt_defaultdims] = self::postchecked(self::$opt_defaultdims) ? 1 : 0;
 
1305
 
1306
  $_defaultwidth = '';
1307
  try
@@ -1325,6 +1403,17 @@ class YouTubePrefs
1325
  }
1326
  $new_options[self::$opt_defaultheight] = $_defaultheight;
1327
 
 
 
 
 
 
 
 
 
 
 
 
1328
  $all = $new_options + $all;
1329
 
1330
  // Save the posted value in the database
@@ -1381,12 +1470,15 @@ class YouTubePrefs
1381
  .cuz {background-image: linear-gradient(to bottom,#4983FF,#0C5597) !important; color: #ffffff;}
1382
  .brightpro {background-image: linear-gradient(to bottom,#ff5500,#cc2200) !important; color: #ffffff;}
1383
  #boxdefaultdims {font-weight: bold; padding: 0px 10px; <?php echo $all[self::$opt_defaultdims] ? '' : 'display: none;' ?>}
 
 
 
1384
  .textinput {border-width: 2px !important;}
1385
  h3.sect {border-radius: 10px; background-color: #D9E9F7; padding: 5px 5px 5px 10px; position: relative; font-weight: bold;}
1386
  h3.sect a {text-decoration: none; color: #E20000;}
1387
  h3.sect a.button-primary {color: #ffffff;}
1388
- #ytnav {margin-bottom: 15px;}
1389
- #ytnav a {font-weight: bold; display: inline-block; padding: 5px 10px; margin: 0px 20px 0px 0px; border: 1px solid #cccccc; border-radius: 6px;
1390
  text-decoration: none; background-color: #ffffff;}
1391
  .jumper {height: 25px;}
1392
  .ssschema {float: right; width: 350px; height: auto; margin-right: 10px;}
@@ -1402,7 +1494,7 @@ class YouTubePrefs
1402
  <div class="ytindent">
1403
  <br>
1404
  <div id="jumphowto"></div>
1405
- <div id="ytnav">
1406
  <a href="#jumphowto">How To Embed</a>
1407
  <a href="#jumpwiz">Visual YouTube Wizard</a>
1408
  <a href="#jumpdefaults">Set Defaults</a>
@@ -1460,7 +1552,7 @@ class YouTubePrefs
1460
  <br>
1461
  <br>
1462
 
1463
- <img style="width: 550px; margin: 0 auto; display: block;" src="<?php echo plugins_url('images/ssprowizard.png', __FILE__) ?>" >
1464
 
1465
  </p>
1466
  <div class="jumper" id="jumpdefaults"></div>
@@ -1567,7 +1659,8 @@ class YouTubePrefs
1567
  <p>
1568
  <input name="<?php echo self::$opt_ssl; ?>" id="<?php echo self::$opt_ssl; ?>" <?php checked($all[self::$opt_ssl], 1); ?> type="checkbox" class="checkbox">
1569
  <label for="<?php echo self::$opt_ssl; ?>">
1570
- <b class="chktitle">HTTPS/SSL Player:</b> Do you have a website that uses HTTPS? Check this to use the secure YouTube player for all of your past and future embeds.
 
1571
  </label>
1572
  </p>
1573
 
@@ -1587,7 +1680,7 @@ class YouTubePrefs
1587
  <img class="ssschema" src="<?php echo plugins_url('images/ssschemaorg.jpg', __FILE__) ?>" />
1588
  <input name="<?php echo self::$opt_schemaorg; ?>" id="<?php echo self::$opt_schemaorg; ?>" <?php checked($all[self::$opt_schemaorg], 1); ?> type="checkbox" class="checkbox">
1589
  <label for="<?php echo self::$opt_schemaorg; ?>">
1590
- <b>(PRO)</b> <b class="chktitle">Video SEO Tags:</b> Automatically add Google, Bing, and Yahoo friendly markup so that your pages with video embeds can be indexed to have a greater chance of showing up in search engine results for those particular videos, even if you aren't the owner. This markup also promotes the chances of your pages showing up with actual video thumbnails within search results (see example on the right).
1591
  </label>
1592
  </p>
1593
  <p>
@@ -1595,9 +1688,16 @@ class YouTubePrefs
1595
  <img class="ssfb" src="<?php echo plugins_url('images/ssfb.jpg', __FILE__) ?>" />
1596
  <input name="<?php echo self::$opt_ogvideo; ?>" id="<?php echo self::$opt_ogvideo; ?>" <?php checked($all[self::$opt_ogvideo], 1); ?> type="checkbox" class="checkbox">
1597
  <label for="<?php echo self::$opt_ogvideo; ?>">
1598
- <b>(PRO)</b> <b class="chktitle">Facebook Open Graph Markup:</b> <span class="pronon">(NEW: PRO Users)</span> Automatically add Open Graph markup on your pages with YouTube embeds to enhance Facebook sharing and discovery of the pages. Your shared pages, for example, will also display embedded video thumbnails on Facebook Timelines.
1599
  </label>
1600
  </p>
 
 
 
 
 
 
 
1601
 
1602
  <?php
1603
  }
@@ -1614,7 +1714,7 @@ class YouTubePrefs
1614
  <img class="ssschema" src="<?php echo plugins_url('images/ssschemaorg.jpg', __FILE__) ?>" />
1615
  <input disabled type="checkbox" class="checkbox">
1616
  <label>
1617
- <b class="chktitle">Video SEO Tags:</b> Automatically add Google, Bing, and Yahoo friendly markup so that your pages with video embeds can be indexed to have a greater chance of showing up in search engine results for those particular videos, even if you aren't the owner. This markup also promotes the chances of your pages showing up with actual video thumbnails within search results (see example on the right).
1618
  </label>
1619
  </p>
1620
  <p>
@@ -1622,7 +1722,7 @@ class YouTubePrefs
1622
  <img class="ssfb" src="<?php echo plugins_url('images/ssfb.jpg', __FILE__) ?>" />
1623
  <input disabled type="checkbox" class="checkbox">
1624
  <label>
1625
- <b class="chktitle">Facebook Open Graph Markup:</b> <span class="pronon">(NEW: PRO Users)</span> Automatically add Open Graph markup on your pages with YouTube embeds to enhance Facebook sharing and discovery of the pages. Your shared pages, for example, will also display embedded video thumbnails on Facebook Timelines.
1626
  </label>
1627
  </p>
1628
 
@@ -1749,10 +1849,10 @@ class YouTubePrefs
1749
  <img src="<?php echo plugins_url('images/infinity.png', __FILE__) ?>">
1750
  Unlimited PRO upgrades and downloads
1751
  </li>
1752
- <!-- <li>
1753
- <img src="<?php echo plugins_url('images/questionsale.png', __FILE__) ?>">
1754
- What else? You tell us!
1755
- </li> -->
1756
  </ul>
1757
  </div>
1758
  <div style="clear: both;"></div>
@@ -1826,25 +1926,47 @@ class YouTubePrefs
1826
  <iframe src="<?php echo self::$epbase ?>/dashboard/likecoupon.aspx" width="600" height="500"></iframe>
1827
  <?php }
1828
  ?>
 
 
 
 
 
 
 
 
 
1829
 
1830
  <script type="text/javascript">
1831
 
1832
  function savevalidate()
1833
  {
1834
  var valid = true;
1835
-
1836
  if (jQuery("#<?php echo self::$opt_defaultdims; ?>").is(":checked"))
1837
  {
1838
  if (!(jQuery.isNumeric(jQuery.trim(jQuery("#<?php echo self::$opt_defaultwidth; ?>").val())) &&
1839
  jQuery.isNumeric(jQuery.trim(jQuery("#<?php echo self::$opt_defaultheight; ?>").val()))))
1840
  {
1841
- alert("Please enter valid numbers for default height and width, or uncheck the option.");
1842
  jQuery("#boxdefaultdims input").css("background-color", "#ffcccc").css("border", "2px solid #000000");
1843
  valid = false;
1844
  }
1845
  }
1846
 
1847
-
 
 
 
 
 
 
 
 
 
 
 
 
 
1848
  return valid;
1849
  }
1850
 
@@ -1865,6 +1987,24 @@ class YouTubePrefs
1865
 
1866
  });
1867
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1868
  jQuery("#showcase-validate").click(function() {
1869
  window.open("<?php echo self::$epbase . "/showcase-validate.aspx?prokey=" . self::$alloptions[self::$opt_pro] ?>" + "&domain=" + mydomain);
1870
  });
@@ -2043,7 +2183,7 @@ class YouTubePrefs
2043
  add_action("wp_ajax_my_embedplus_pro_record", array('YouTubePrefs', 'my_embedplus_pro_record'));
2044
  add_action("wp_ajax_my_embedplus_glance_vids", array('YouTubePrefs', 'my_embedplus_glance_vids'));
2045
  add_action("wp_ajax_my_embedplus_glance_count", array('YouTubePrefs', 'my_embedplus_glance_count'));
2046
-
2047
 
2048
  $youtubeplg = new YouTubePrefs();
2049
 
3
  Plugin Name: YouTube
4
  Plugin URI: http://www.embedplus.com/dashboard/pro-easy-video-analytics.aspx
5
  Description: YouTube embed plugin with basic features and convenient defaults. Upgrade now to add tracking, instant video SEO tags, and much more!
6
+ Version: 8.8
7
  Author: EmbedPlus Team
8
  Author URI: http://www.embedplus.com
9
  */
32
  class YouTubePrefs
33
  {
34
 
35
+ public static $version = '8.8';
36
  public static $opt_version = 'version';
37
  public static $optembedwidth = null;
38
  public static $optembedheight = null;
65
  public static $opt_defaultdims = 'defaultdims';
66
  public static $opt_defaultwidth = 'width';
67
  public static $opt_defaultheight = 'height';
68
+ public static $opt_defaultvol = 'defaultvol';
69
+ public static $opt_vol = 'vol';
70
  public static $opt_schemaorg = 'schemaorg';
71
  public static $opt_alloptions = 'youtubeprefs_alloptions';
72
  public static $alloptions = null;
503
  {
504
  if (is_plugin_active('embedplus-for-wordpress/embedplus.php'))
505
  {
506
+ add_action('admin_notices', array("YouTubePrefs", "double_plugin_warning"));
507
+ //self::$double_plugin = true;
508
  }
509
  }
510
 
511
  public static function double_plugin_warning()
512
  {
513
+ global $pagenow;
514
+ $user_id = get_current_user_id();
515
+ if ($pagenow != 'plugins.php' || get_user_meta($user_id, 'embedplus_double_plugin_warning', true) != 1)
516
+ {
517
+ //echo '<div class="error">' . $_SERVER['QUERY_STRING'] .'</div>';
518
+ if ($pagenow == 'plugins.php' || strpos($_SERVER['QUERY_STRING'], 'youtube-my-preferences') !== false ||
519
+ strpos($_SERVER['QUERY_STRING'], 'embedplus-video-analytics-dashboard') !== false ||
520
+ strpos($_SERVER['QUERY_STRING'], 'youtube-ep-analytics-dashboard') !== false ||
521
+ strpos($_SERVER['QUERY_STRING'], 'embedplus-official-options') !== false)
522
  {
523
+ ?>
524
+ <style type="text/css">
525
+ .embedpluswarning img
526
+ {
527
+ vertical-align: text-bottom;
528
+ }
529
+ div.bgyellow {background-color: #FCFC94; position: relative;}
530
+ a.epxout, a.epxout:hover {font-weight: bold; color: #ffffff; background-color: #ff8888; text-decoration: none;
531
+ border-radius: 20px; font-size: 15px; position: absolute; top: 3px; right: 3px;
532
+ line-height: 20px; text-align: center; width: 20px; height: 20px; display: block; cursor: pointer;}
533
+ </style>
534
+ <div class="error bgyellow embedpluswarningbox">
535
+ <p class="embedpluswarning">
536
+ <?php
537
+ if ($pagenow == 'plugins.php')
538
+ {
539
+ echo '<a class="epxout">&times;</a>';
540
+ }
541
+ ?>
542
+ Seems like you have two different YouTube plugins by the EmbedPlus Team installed: <b><img src="<?php echo plugins_url('images/youtubeicon16.png', __FILE__) ?>" /> YouTube</b> and <b><img src="<?php echo plugins_url('images/btn_embedpluswiz.png', __FILE__) ?>" /> Advanced YouTube Embed.</b> We strongly suggest keeping only the one you prefer, so that they don't conflict with each other while trying to create your embeds.</p>
543
+ </div>
544
+ <iframe allowTransparency="true" src="<?php echo self::$epbase . '/both-plugins-conflict.aspx' ?>" style="width:2px; height: 2px;" ></iframe>
545
+ <script type="text/javascript">
546
+ (function($) {
547
+ $(document).ready(function() {
548
+ $('.epxout').click(function() {
549
+ $.ajax({
550
+ type: "post",
551
+ dataType: "json",
552
+ timeout: 30000,
553
+ url: wpajaxurl,
554
+ data: {action: 'my_embedplus_dismiss_double_plugin_warning'},
555
+ success: function(response) {
556
+ if (response.type == "success") {
557
+ $(".embedpluswarningbox").hide();
558
+ }
559
+ },
560
+ error: function(xhr, ajaxOptions, thrownError) {
561
+ },
562
+ complete: function() {
563
+ }
564
+ });
565
+ });
566
+
567
+ });
568
+ })(jQuery);
569
+ </script>
570
+ <?php
571
  }
572
+ }
573
+ }
574
+
575
+ public static function my_embedplus_dismiss_double_plugin_warning()
576
+ {
577
+ $result = array();
578
+ if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest')
579
+ {
580
+ $user_id = get_current_user_id();
581
+ update_user_meta($user_id, 'embedplus_double_plugin_warning', 1);
582
+ $result['type'] = 'success';
583
+ echo json_encode($result);
584
+ }
585
+ else
586
+ {
587
+ $result['type'] = 'error';
588
+ header("Location: " . $_SERVER["HTTP_REFERER"]);
589
+ }
590
+ die();
591
  }
592
 
593
  public static function jsvars()
640
  $_defaultwidth = '';
641
  $_defaultheight = '';
642
  $_playsinline = 0;
643
+ // epvol $_defaultvol = 0;
644
+ // epvol $_vol = '';
645
 
646
  $arroptions = get_option(self::$opt_alloptions);
647
 
675
  $_defaultdims = self::tryget($arroptions, self::$opt_defaultdims, 0);
676
  $_defaultwidth = self::tryget($arroptions, self::$opt_defaultwidth, '');
677
  $_defaultheight = self::tryget($arroptions, self::$opt_defaultheight, '');
678
+ // epvol $_defaultvol = self::tryget($arroptions, self::$opt_defaultvol, 0);
679
+ // epvol $_vol = self::tryget($arroptions, self::$opt_vol, '');
680
  }
681
  else
682
  {
711
  self::$opt_schemaorg => $_schemaorg,
712
  self::$opt_defaultdims => $_defaultdims,
713
  self::$opt_defaultwidth => $_defaultwidth,
714
+ self::$opt_defaultheight => $_defaultheight,
715
+ // epvol self::$opt_defaultvol => $_defaultvol,
716
+ // epvol self::$opt_vol => $_vol
717
  );
718
 
719
  update_option(self::$opt_alloptions, $all);
801
  $linkscheme = 'http';
802
  $youtubebaseurl = 'youtube';
803
  $schemaorgoutput = '';
804
+ // epvol $voloutput = '';
805
 
806
  $finalparams = $linkparams + self::$alloptions;
807
 
1193
 
1194
  public static function custom_admin_pointers_check()
1195
  {
1196
+ return false; // ooopointer shut all off;
1197
  $admin_pointers = self::custom_admin_pointers();
1198
  foreach ($admin_pointers as $pointer => $array)
1199
  {
1379
  $new_options[self::$opt_responsive] = self::postchecked(self::$opt_responsive) ? 1 : 0;
1380
  $new_options[self::$opt_schemaorg] = self::postchecked(self::$opt_schemaorg) ? 1 : 0;
1381
  $new_options[self::$opt_defaultdims] = self::postchecked(self::$opt_defaultdims) ? 1 : 0;
1382
+ // epvol $new_options[self::$opt_defaultvol] = self::postchecked(self::$opt_defaultvol) ? 1 : 0;
1383
 
1384
  $_defaultwidth = '';
1385
  try
1403
  }
1404
  $new_options[self::$opt_defaultheight] = $_defaultheight;
1405
 
1406
+ // epvol $_vol = '';
1407
+ // epvol try
1408
+ //epvol {
1409
+ // $_vol = is_numeric(trim($_POST[self::$opt_vol])) ? intval(trim($_POST[self::$opt_vol])) : $_vol;
1410
+ //epvol }
1411
+ // catch (Exception $ex)
1412
+ // {
1413
+ // epvol
1414
+ // }
1415
+ //epvol $new_options[self::$opt_vol] = $_vol;
1416
+
1417
  $all = $new_options + $all;
1418
 
1419
  // Save the posted value in the database
1470
  .cuz {background-image: linear-gradient(to bottom,#4983FF,#0C5597) !important; color: #ffffff;}
1471
  .brightpro {background-image: linear-gradient(to bottom,#ff5500,#cc2200) !important; color: #ffffff;}
1472
  #boxdefaultdims {font-weight: bold; padding: 0px 10px; <?php echo $all[self::$opt_defaultdims] ? '' : 'display: none;' ?>}
1473
+ #boxdefaultvol {font-weight: bold; padding: 0px 10px; <?php echo $all[self::$opt_defaultvol] ? '' : 'display: none;' ?>}
1474
+ .vol-output {display: inline-block; width: 30px; color: #008800;}
1475
+ input#vol {vertical-align: middle;}
1476
  .textinput {border-width: 2px !important;}
1477
  h3.sect {border-radius: 10px; background-color: #D9E9F7; padding: 5px 5px 5px 10px; position: relative; font-weight: bold;}
1478
  h3.sect a {text-decoration: none; color: #E20000;}
1479
  h3.sect a.button-primary {color: #ffffff;}
1480
+ .ytnav {margin-bottom: 15px;}
1481
+ .ytnav a {font-weight: bold; display: inline-block; padding: 5px 10px; margin: 0px 20px 0px 0px; border: 1px solid #cccccc; border-radius: 6px;
1482
  text-decoration: none; background-color: #ffffff;}
1483
  .jumper {height: 25px;}
1484
  .ssschema {float: right; width: 350px; height: auto; margin-right: 10px;}
1494
  <div class="ytindent">
1495
  <br>
1496
  <div id="jumphowto"></div>
1497
+ <div class="ytnav">
1498
  <a href="#jumphowto">How To Embed</a>
1499
  <a href="#jumpwiz">Visual YouTube Wizard</a>
1500
  <a href="#jumpdefaults">Set Defaults</a>
1552
  <br>
1553
  <br>
1554
 
1555
+ <img style="width: 500px; margin: 0 auto; display: block;" src="<?php echo plugins_url('images/ssprowizard.png', __FILE__) ?>" >
1556
 
1557
  </p>
1558
  <div class="jumper" id="jumpdefaults"></div>
1659
  <p>
1660
  <input name="<?php echo self::$opt_ssl; ?>" id="<?php echo self::$opt_ssl; ?>" <?php checked($all[self::$opt_ssl], 1); ?> type="checkbox" class="checkbox">
1661
  <label for="<?php echo self::$opt_ssl; ?>">
1662
+ <b class="chktitle">HTTPS/SSL Player:</b> Do you have a website that uses HTTPS? Check this to use the secure YouTube player for all of your embeds.
1663
+ This will go back and also secure your past embeds as they are loaded on their pages. Most web browsers will warn users when they access web pages via HTTPS that contain embedded content loaded via HTTP. If your main site is currently accessed via HTTPS, using HTTPS URLs for your YouTube embeds will prevent your users from running into that warning. If you're not currently supporting HTTPS/SSL, <a href="http://embedplus.com/convert-old-youtube-embeds-to-https-ssl.aspx" target="_blank">here's some motivation from Google &raquo;</a>
1664
  </label>
1665
  </p>
1666
 
1680
  <img class="ssschema" src="<?php echo plugins_url('images/ssschemaorg.jpg', __FILE__) ?>" />
1681
  <input name="<?php echo self::$opt_schemaorg; ?>" id="<?php echo self::$opt_schemaorg; ?>" <?php checked($all[self::$opt_schemaorg], 1); ?> type="checkbox" class="checkbox">
1682
  <label for="<?php echo self::$opt_schemaorg; ?>">
1683
+ <b>(PRO)</b> <b class="chktitle">Video SEO Tags:</b> Update your YouTube embeds with Google, Bing, and Yahoo friendly SEO markup. This markup promotes the chances of your pages showing up with actual video thumbnails within search results (see example on the right).
1684
  </label>
1685
  </p>
1686
  <p>
1688
  <img class="ssfb" src="<?php echo plugins_url('images/ssfb.jpg', __FILE__) ?>" />
1689
  <input name="<?php echo self::$opt_ogvideo; ?>" id="<?php echo self::$opt_ogvideo; ?>" <?php checked($all[self::$opt_ogvideo], 1); ?> type="checkbox" class="checkbox">
1690
  <label for="<?php echo self::$opt_ogvideo; ?>">
1691
+ <b>(PRO)</b> <b class="chktitle">Facebook Open Graph Markup:</b> <span class="pronon">(NEW: PRO Users)</span> Update YouTube embeds on your pages with Open Graph markup to enhance Facebook sharing and discovery of the pages. Your shared pages, for example, will also display embedded video thumbnails on Facebook Timelines.
1692
  </label>
1693
  </p>
1694
+ <!-- epvol <p>
1695
+ <input name="<?php echo self::$opt_defaultvol; ?>" id="<?php echo self::$opt_defaultvol; ?>" <?php checked($all[self::$opt_defaultvol], 1); ?> type="checkbox" class="checkbox">
1696
+ <span id="boxdefaultvol">
1697
+ Volume: <span class="vol-output"></span> <input min="0" max="100" step="1" type="range" name="<?php echo self::$opt_vol; ?>" id="<?php echo self::$opt_vol; ?>" value="<?php echo trim($all[self::$opt_vol]); ?>" >
1698
+ </span>
1699
+ <label for="<?php echo self::$opt_defaultvol; ?>"><b>(PRO)</b> <b class="chktitle">Default Volume:</b> <span class="pronon">(NEW: PRO Users)</span> Make my videos have a default volume</label>
1700
+ </p>-->
1701
 
1702
  <?php
1703
  }
1714
  <img class="ssschema" src="<?php echo plugins_url('images/ssschemaorg.jpg', __FILE__) ?>" />
1715
  <input disabled type="checkbox" class="checkbox">
1716
  <label>
1717
+ <b class="chktitle">Video SEO Tags:</b> <span class="pronon">(PRO Users)</span> Update your YouTube embeds with Google, Bing, and Yahoo friendly SEO markup. This markup promotes the chances of your pages showing up with actual video thumbnails within search results (see example on the right).
1718
  </label>
1719
  </p>
1720
  <p>
1722
  <img class="ssfb" src="<?php echo plugins_url('images/ssfb.jpg', __FILE__) ?>" />
1723
  <input disabled type="checkbox" class="checkbox">
1724
  <label>
1725
+ <b class="chktitle">Facebook Open Graph Markup:</b> <span class="pronon">(NEW: PRO Users)</span> Update YouTube embeds on your pages with Open Graph markup to enhance Facebook sharing and discovery of the pages. Your shared pages, for example, will also display embedded video thumbnails on Facebook Timelines.
1726
  </label>
1727
  </p>
1728
 
1849
  <img src="<?php echo plugins_url('images/infinity.png', __FILE__) ?>">
1850
  Unlimited PRO upgrades and downloads
1851
  </li>
1852
+ <!-- <li>
1853
+ <img src="<?php echo plugins_url('images/questionsale.png', __FILE__) ?>">
1854
+ What else? You tell us!
1855
+ </li> -->
1856
  </ul>
1857
  </div>
1858
  <div style="clear: both;"></div>
1926
  <iframe src="<?php echo self::$epbase ?>/dashboard/likecoupon.aspx" width="600" height="500"></iframe>
1927
  <?php }
1928
  ?>
1929
+ <div class="ytnav">
1930
+ <a href="#jumphowto">How To Embed</a>
1931
+ <a href="#jumpwiz">Visual YouTube Wizard</a>
1932
+ <a href="#jumpdefaults">Set Defaults</a>
1933
+ <a href="#jumpoverride">How To Override Defaults</a>
1934
+ <a href="#jumppro" style="border-color: #888888;">Go PRO!</a>
1935
+ <a href="#jumpsupport">Support</a>
1936
+ </div>
1937
+
1938
 
1939
  <script type="text/javascript">
1940
 
1941
  function savevalidate()
1942
  {
1943
  var valid = true;
1944
+ var alertmessage = '';
1945
  if (jQuery("#<?php echo self::$opt_defaultdims; ?>").is(":checked"))
1946
  {
1947
  if (!(jQuery.isNumeric(jQuery.trim(jQuery("#<?php echo self::$opt_defaultwidth; ?>").val())) &&
1948
  jQuery.isNumeric(jQuery.trim(jQuery("#<?php echo self::$opt_defaultheight; ?>").val()))))
1949
  {
1950
+ alertmessage += "Please enter valid numbers for default height and width, or uncheck the option.";
1951
  jQuery("#boxdefaultdims input").css("background-color", "#ffcccc").css("border", "2px solid #000000");
1952
  valid = false;
1953
  }
1954
  }
1955
 
1956
+ // epvol if (jQuery("#<?php echo self::$opt_defaultvol; ?>").is(":checked"))
1957
+ // epvol {
1958
+ // if (!(jQuery.isNumeric(jQuery.trim(jQuery("#<?php echo self::$opt_vol; ?>").val()))))
1959
+ // {
1960
+ // epvol alertmessage += "Please enter a number between 0 and 100 for the default volume, or uncheck the option.";
1961
+ // jQuery("#boxdefaultvol input").css("background-color", "#ffcccc").css("border", "2px solid #000000");
1962
+ // valid = false;
1963
+ // epvol }
1964
+ // epvol }
1965
+
1966
+ if (!valid)
1967
+ {
1968
+ alert(alertmessage);
1969
+ }
1970
  return valid;
1971
  }
1972
 
1987
 
1988
  });
1989
 
1990
+ // epvol jQuery('#<?php echo self::$opt_defaultvol; ?>').change(function()
1991
+ // {
1992
+ // if (jQuery(this).is(":checked"))
1993
+ // {
1994
+ // epvol jQuery("#boxdefaultvol").show(500);
1995
+ // }
1996
+ // else
1997
+ // {
1998
+ // jQuery("#boxdefaultvol").hide(500);
1999
+ // }
2000
+ //
2001
+ // epvol });
2002
+ //
2003
+ // $("input#vol").on("input change", function() {
2004
+ // $('.vol-output').text($(this).val() > 0 ? $(this).val() + '%' : 'Mute');
2005
+ // });
2006
+ // epvol $('.vol-output').text($("input#vol").val() > 0 ? $("input#vol").val() + '%' : 'Mute');
2007
+
2008
  jQuery("#showcase-validate").click(function() {
2009
  window.open("<?php echo self::$epbase . "/showcase-validate.aspx?prokey=" . self::$alloptions[self::$opt_pro] ?>" + "&domain=" + mydomain);
2010
  });
2183
  add_action("wp_ajax_my_embedplus_pro_record", array('YouTubePrefs', 'my_embedplus_pro_record'));
2184
  add_action("wp_ajax_my_embedplus_glance_vids", array('YouTubePrefs', 'my_embedplus_glance_vids'));
2185
  add_action("wp_ajax_my_embedplus_glance_count", array('YouTubePrefs', 'my_embedplus_glance_count'));
2186
+ add_action("wp_ajax_my_embedplus_dismiss_double_plugin_warning", array('YouTubePrefs', 'my_embedplus_dismiss_double_plugin_warning'));
2187
 
2188
  $youtubeplg = new YouTubePrefs();
2189