AMP for WP – Accelerated Mobile Pages - Version 0.9.59

Version Description

(23th August 2017) = * Design 3 Images were not aligned properly. Fixed. #1040 * Caption in the design 3 improved * Jetpack File not loading throwing fatal error #1038 * If the mobile redirection is ON and the category is excluded to display the AMP then it should redirect properly * Custom Editor Compatibility issue with SiteOrigin PageBuilder fixed #997 * Native Twitter Embed support * Added a hook after the body tag: ampforwp_body_beginning (commit) * GTM in AMP Improved #958 * WP User Avatar compatibility Added #975 * Alt tag on frontpage featured image added #1050 * Blurred Images on the frontpage fixed #1050 * Need to escape alt tag #1049 * Debug errors & PHP warnings were fixed #859 #811 #830 #810 * Proper rel canonicals for inner pages #1047 * Added Video sanitizer for comments #1053 * When activating the AMP plugin, display a notification in the popup. #1036 * Video Sanitizer added for Comments

Download this release

Release Info

Developer mohammed_kaludi
Plugin Icon 128x128 AMP for WP – Accelerated Mobile Pages
Version 0.9.59
Comparing to
See all releases

Code changes from version 0.9.58.1 to 0.9.59

Files changed (35) hide show
  1. accelerated-moblie-pages.php +81 -4
  2. images/gf.png +0 -0
  3. includes/admin-style.css +3 -0
  4. includes/includes.php +1 -1
  5. includes/options/admin-config.php +56 -1
  6. includes/redirect.php +2 -2
  7. readme.txt +23 -2
  8. templates/design-manager/design-1/archive.php +1 -1
  9. templates/design-manager/design-1/elements/comments.php +2 -1
  10. templates/design-manager/design-1/elements/meta-taxonomy.php +6 -2
  11. templates/design-manager/design-1/frontpage.php +1 -0
  12. templates/design-manager/design-1/index.php +1 -1
  13. templates/design-manager/design-1/search.php +1 -1
  14. templates/design-manager/design-1/single.php +1 -1
  15. templates/design-manager/design-1/style.php +3 -0
  16. templates/design-manager/design-2/archive.php +1 -0
  17. templates/design-manager/design-2/elements/comments.php +2 -1
  18. templates/design-manager/design-2/elements/meta-taxonomy.php +6 -2
  19. templates/design-manager/design-2/frontpage.php +1 -0
  20. templates/design-manager/design-2/index.php +1 -0
  21. templates/design-manager/design-2/search.php +1 -0
  22. templates/design-manager/design-2/single.php +1 -0
  23. templates/design-manager/design-2/style.php +4 -0
  24. templates/design-manager/design-3/archive.php +1 -0
  25. templates/design-manager/design-3/elements/comments.php +2 -1
  26. templates/design-manager/design-3/elements/meta-taxonomy.php +6 -2
  27. templates/design-manager/design-3/frontpage.php +1 -1
  28. templates/design-manager/design-3/index.php +1 -0
  29. templates/design-manager/design-3/search.php +1 -0
  30. templates/design-manager/design-3/single.php +1 -0
  31. templates/design-manager/design-3/style.php +8 -12
  32. templates/features.php +74 -58
  33. templates/frontpage-elements.php +33 -8
  34. templates/report-bugs.php +1 -1
  35. templates/search-functions.php +1 -1
accelerated-moblie-pages.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Accelerated Mobile Pages
4
  Plugin URI: https://wordpress.org/plugins/accelerated-mobile-pages/
5
  Description: AMP for WP - Accelerated Mobile Pages for WordPress
6
- Version: 0.9.58.1
7
  Author: Ahmed Kaludi, Mohammed Kaludi
8
  Author URI: https://ampforwp.com/
9
  Donate link: https://www.paypal.me/Kaludi/25
@@ -18,7 +18,7 @@ define('AMPFORWP_PLUGIN_DIR_URI', plugin_dir_url(__FILE__));
18
  define('AMPFORWP_DISQUS_URL',plugin_dir_url(__FILE__).'includes/disqus.php');
19
  define('AMPFORWP_IMAGE_DIR',plugin_dir_url(__FILE__).'images');
20
  define('AMPFORWP_MAIN_PLUGIN_DIR', plugin_dir_path( __DIR__ ) );
21
- define('AMPFORWP_VERSION','0.9.58.1');
22
  // any changes to AMP_QUERY_VAR should be refelected here
23
  define('AMPFORWP_AMP_QUERY_VAR', apply_filters( 'amp_query_var', 'amp' ) );
24
 
@@ -27,7 +27,7 @@ load_plugin_textdomain( 'accelerated-mobile-pages', false, trailingslashit(AMPFO
27
  // Rewrite the Endpoints after the plugin is activate, as priority is set to 11
28
  function ampforwp_add_custom_post_support() {
29
  global $redux_builder_amp;
30
- if( $redux_builder_amp['amp-on-off-for-all-pages'] ) {
31
  add_rewrite_endpoint( AMPFORWP_AMP_QUERY_VAR, EP_PAGES | EP_PERMALINK | EP_AUTHORS | EP_ALL_ARCHIVES | EP_ROOT );
32
  add_post_type_support( 'page', AMPFORWP_AMP_QUERY_VAR );
33
  }
@@ -36,6 +36,7 @@ add_action( 'init', 'ampforwp_add_custom_post_support',11);
36
 
37
  // Frontpage and Blog page check from reading settings.
38
  function ampforwp_name_blog_page() {
 
39
  $page_for_posts = get_option( 'page_for_posts' );
40
  $post = get_post($page_for_posts);
41
  if ( $post ) {
@@ -231,7 +232,7 @@ add_action('after_setup_theme','ampforwp_add_module_files');
231
  function ampforwp_add_module_files() {
232
 
233
  global $redux_builder_amp;
234
- if ( $redux_builder_amp['ampforwp-content-builder'] ) {
235
  if ( ! function_exists( 'bstw' ) ) {
236
  require_once AMPFORWP_PLUGIN_DIR .'/includes/vendor/tinymce-widget/tinymce-widget.php';
237
  }
@@ -476,4 +477,80 @@ if ( ! function_exists('ampforwp_init') ) {
476
  require_once( AMP__DIR__ . '/jetpack-helper.php' );
477
  }
478
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
479
  }
3
  Plugin Name: Accelerated Mobile Pages
4
  Plugin URI: https://wordpress.org/plugins/accelerated-mobile-pages/
5
  Description: AMP for WP - Accelerated Mobile Pages for WordPress
6
+ Version: 0.9.59
7
  Author: Ahmed Kaludi, Mohammed Kaludi
8
  Author URI: https://ampforwp.com/
9
  Donate link: https://www.paypal.me/Kaludi/25
18
  define('AMPFORWP_DISQUS_URL',plugin_dir_url(__FILE__).'includes/disqus.php');
19
  define('AMPFORWP_IMAGE_DIR',plugin_dir_url(__FILE__).'images');
20
  define('AMPFORWP_MAIN_PLUGIN_DIR', plugin_dir_path( __DIR__ ) );
21
+ define('AMPFORWP_VERSION','0.9.59');
22
  // any changes to AMP_QUERY_VAR should be refelected here
23
  define('AMPFORWP_AMP_QUERY_VAR', apply_filters( 'amp_query_var', 'amp' ) );
24
 
27
  // Rewrite the Endpoints after the plugin is activate, as priority is set to 11
28
  function ampforwp_add_custom_post_support() {
29
  global $redux_builder_amp;
30
+ if( isset($redux_builder_amp['amp-on-off-for-all-pages']) && $redux_builder_amp['amp-on-off-for-all-pages'] ) {
31
  add_rewrite_endpoint( AMPFORWP_AMP_QUERY_VAR, EP_PAGES | EP_PERMALINK | EP_AUTHORS | EP_ALL_ARCHIVES | EP_ROOT );
32
  add_post_type_support( 'page', AMPFORWP_AMP_QUERY_VAR );
33
  }
36
 
37
  // Frontpage and Blog page check from reading settings.
38
  function ampforwp_name_blog_page() {
39
+ if(!$page_for_posts = get_option('page_for_posts')) return;
40
  $page_for_posts = get_option( 'page_for_posts' );
41
  $post = get_post($page_for_posts);
42
  if ( $post ) {
232
  function ampforwp_add_module_files() {
233
 
234
  global $redux_builder_amp;
235
+ if ( isset($redux_builder_amp['ampforwp-content-builder']) && $redux_builder_amp['ampforwp-content-builder'] ) {
236
  if ( ! function_exists( 'bstw' ) ) {
237
  require_once AMPFORWP_PLUGIN_DIR .'/includes/vendor/tinymce-widget/tinymce-widget.php';
238
  }
477
  require_once( AMP__DIR__ . '/jetpack-helper.php' );
478
  }
479
  }
480
+ }
481
+
482
+
483
+ function AMP_update_db_check() {
484
+ $ampforWPCurrentVersion = AMPFORWP_VERSION;
485
+ if (get_option( 'AMPforwp_db_version' ) != $ampforWPCurrentVersion) {
486
+
487
+ if ( isset( $_GET['ampforwp-dismiss'] ) && trim($_GET['ampforwp-dismiss'])=="ampforwp_dismiss_admin_notices" ) {
488
+ update_option( 'AMPforwp_db_version', $ampforWPCurrentVersion );
489
+ wp_redirect(admin_url('/index.php'), 301);
490
+ }
491
+
492
+ add_action('admin_notices', 'ampforwp_update_notice');
493
+ }
494
+ }
495
+ add_action( 'plugins_loaded', 'AMP_update_db_check' );
496
+
497
+ function ampforwp_update_notice() {
498
+ $ampforWPCurrentVersion = AMPFORWP_VERSION;
499
+ ?>
500
+ <div class="notice-success notice is-dismissible amp-update-notice" style=" display: table;
501
+ position: relative;
502
+ height: 70px;
503
+ padding: 0;
504
+ border: 0;
505
+ overflow: hidden;
506
+ margin-bottom: 10px;
507
+ " id="gf_dashboard_message">
508
+ <div style=" padding: 15px 15px 10px 15px;
509
+ display: inline-block;">
510
+ <img style=" width: 40px;
511
+ display: inline;
512
+ height: 40px;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAMAAAD04JH5AAAAn1BMVEUAAADuHCXwHiTuHSTtHST/IjjuHSXuHCTvHSXvHCXwHi3/JyfuHSTuHCTvHSTvHCTxHSb/NDTyHyj0IyruHSTvHSXvHSbuHST1ICftHCXuHCXuHSXwHiXvHyfuHSTuHSTvHSXuHCTuHCTuHCTuHCTvHSXyHibuHCTuHCXuHCXuHCXuHibwICjuHCTuHCTuHSTwHSbuHCXuHCTuHCTtHCSisK2PAAAANHRSTlMA+1T35wiIxm9kEQzu4Yx/NgQlFZV6PrAa16RpUi7MhE3y3LmYXynrz5FYSSC9q55EddGypVN9ggAABlxJREFUeNrVm+mymkAQhQfZBVQEFNz3fbtm3v/ZYqUqyWww0603Vfn+mcr1wMz06QUk/yfZIPRua79KYst2Vgd/fS9aU5f8E6JFx4+pktWPryn5VtKH51u0kXgY9Mk30cv31IhZkH1e/VJU1BzrR+uzJ2I6sigQ5yv63NoPKYa42/6M/JpiWXrvr0I7p+/gnN7U3+7pm1x3BM/Op+9je+iACO2mI+aPcq8ItmHQ7WyGVVOUHHDWFI1qN3Y0HmSiSfYX3atddxhPmNCv1As6HNdvqvuYP6mSDXgbTsq78cdt7YV3HOU2lDD9QBnVZnuZnlXOkYAOwlzjaxjv3PfMs+5dvvsiAh6hofwdD1P9GxUZlQTMeSXlyAkxQrr/6kEwuF1bDKEBav87aCfrH8SDNIWf/3hB8Lgb0cMu2vgXI/9C3uK0FArXTHN4hW27p+RNdomQHZv9vxK2Hyf6ODIfSuE7u6QBIf984fQnNuc5bSGpN4RCSDlCnH7L2ghH8cofxKx2u2z+/rH6SSTu7IyyrEkN/if2f2JROXAz3hW3NfUff/7R+iNVX+Nwm6DMa+09F/8pVn+v3OIeV7PlRAFnWvEFq09PJg7bU1wiZVmg9YekBi4/z4jEmjuAaP24rG1xOEtsNS5A5eL0m73jwdWIjQv0QOtfjX32LCQhrv5B69uNZ7dcsmFWf3HLEqtPA0CtMeB8go3SAuW/8l3JpFWdIResBURYfZvpmfRma7ELXbH5GqNv+JdpIiY7OQaXbaz+08C9x4zS8+8/s1MQD6tvmXQ+LpuUpn8Whk1Dfbg+5Mo93m9li/Kx+isz99yx/arqqsZgfS6s9bDF0UWuhOw2Uj8HNP5i0RkxLjRE6ifG5pHJnr9A70DLklKLHqZfdMgvOvQvO5g+Jn3Jcj5zSTh9B3JyFlJ5HDObgtKnLQKAPXKeeCrGEH3syZ0JZ37A5mi4vroMNCyMKrEhzAD66BayYFJyyvtgjNHfp1DzFDLPjUkEAH18ATMVStO1HAR6fZbVpvPi+CJ/sXlxPzaNdF22PeBtIAfoa0garsDmz08lhCVeX+7+1DDlR/D6mGjqYZy+U1ce8Ipd3giDt/SNu9snv+aWaM14fRNvEE6dcCQ+pT829eLj66Oj2YIP6/PHfv76uOKOBF7f/D4Svjk5mM4lBjh9mSWzVvyR2DS2Vas6Reh4VahI1oYlad9MvwCVpRP+AUnV2FXNPqAvFSBSem7AnXS9X8xfdF/kPhPCZq21VIBI6RlGeeD158CyOBbTs2yg+uUEd9Y/hALEfWc4UcL1SSIOpFfs8xQgZ4i+HE2FuCQ2dEK5BuuTUNryL/yIcgLV52tQ2pYmRHOQftuB6xNHHlnH7OAIwh124dLtdhRz4ilA/4FZuFwxLw5wg/ooAenLAzErUgyOHPM+54hxj4lyIDaTl0VPDzVbvikLp0CaIetxK4x+31IOxDJL7Cj0zIH68pOxG5cfoIOyqYXRL+2azNeiwEhMZ6jHu0da09a7DnAJCpR+adcG/BcFBULfZupfXAjYJW8qjB0bzJ19lP656eltF1LZjVH6LlvXWxcxsS3Z5WmuDS9LjD6ZNz+c9yjDoXET1rr+T99YWfItRg6lZj3SFqWfcd9/1L5BdKr/phiqLz8cd5STtStlWO6aYikE63eF29O/w5KUNfkUpR8avczkUZaqrS4DMfoLi5oEmcs3Wr4qFO4Y/YFtOEDoL/mVilRl4BauH1OWofm7dLNMKgMR+gtbM0PlCwaOlWCYR4R+yOy/8IRXfwyo0+NfBjq9GX96By8TymExf+A+wfrZWtDP9al+T3mGf/asAOsPHMpzMym3l5Qnefy+Nmj+nVOBq2vUcVma14rRLxbPItM3IqnAMkih8uWNSvoZwDlEqm0Kkj8yNyH5mp6pQyWSsWvc/2xkeXoDTV8uKyrjeDuTlmFxs6hMDg3gK+hnZPIP0iQ7QVqYzKGziGpWPhw5VEnCGCrcRWSs2Yj/gWM2CDs/WA9VexneR9XY+9XTn1VJrPlvAUGzdejbXHcf/KkZ/sdmeHozisc6RuR9Wges/L1PPsPZR8jb+YV8jsHagsnvOyX5LOXX0/zmb4uUfAPTTmKy8wY/SMNzEdxW9ulzRL6bXegpfuAY+/diAb51PGn/3AqDrpcf58V4Oxlk5H/lJxdt5e+wtfWRAAAAAElFTkSuQmCC" width="128" height="128" />
513
+ <div style=" display: inline;
514
+ position: relative;
515
+ margin-left: 5px;
516
+ font-weight: 300;
517
+ top: -14px;
518
+ font-size: 20px;"> <?php _e( 'AMP has been updated to '.$ampforWPCurrentVersion, 'accelerated-mobile-pages' ); ?></div>
519
+ <a href="https://ampforwp.com/new/" target="_blank" style="
520
+ position: relative;
521
+ top: -17px;
522
+ background: #ECEFF1;
523
+ text-decoration: none;
524
+ color: #111;
525
+ font-size: 10px;
526
+ padding: 4px 6px 5px 5px;
527
+ border-radius: 4px;
528
+ margin-left: 5px;
529
+ text-transform: uppercase;
530
+ border: 1px solid rgba(207, 216, 220, 0.9);" href="admin.php?page=acmforwp_update">What's New?</a>
531
+ </div>
532
+ <div style="display:inline-block;float:right;height: 70px;background: #333;width: 50px;text-align: center;">
533
+ <a title="Close this Notification" style="color: #fff;
534
+ text-decoration: none;
535
+ top: 26px;
536
+ position: relative;
537
+ padding: 24px 18px;
538
+ font-size: 17px;
539
+ font-weight: 300;
540
+ background: #333;
541
+ z-index: 100;" href="<?php echo add_query_arg( 'ampforwp-dismiss', 'ampforwp_dismiss_admin_notices' ) ?>">X</a>
542
+ </div>
543
+
544
+ <div style="float: right;display: inline-block;/* height: 55px; */background: #4CAF50;padding: 12px 20px 11px 60px;background-image: url(data:image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1MTIuMDAxIDUxMi4wMDEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMi4wMDEgNTEyLjAwMTsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSIxMjhweCIgaGVpZ2h0PSIxMjhweCI+CjxnPgoJPGc+CgkJPGc+CgkJCTxwYXRoIGQ9Ik0zNjYuOTA1LDM2NS4wNzFsODcuOTAyLTg1LjY4M2M2LjA4Ny01LjkzNSw4LjIzNi0xNC42NDMsNS42MS0yMi43MjljLTIuNjI5LTguMDg1LTkuNDg2LTEzLjg2Ni0xNy44OTgtMTUuMDg3ICAgICBsLTU1Ljg3OS04LjEyYy00LjQxMy0wLjY0Ny04LjUyMSwyLjQxOS05LjE2MSw2LjgzN2MtMC42NDMsNC40MTksMi40MTgsOC41MjEsNi44MzcsOS4xNjNsNTUuODc5LDguMTIgICAgIGMyLjI3OCwwLjMzLDQuMTM1LDEuODk2LDQuODQ3LDQuMDgzYzAuNzExLDIuMTksMC4xMjksNC41NDgtMS41MTksNi4xNTRsLTkwLjk0Nyw4OC42NWMtMS45MDUsMS44NTgtMi43NzMsNC41MzMtMi4zMjMsNy4xNTUgICAgIGwyMS40NjksMTI1LjE3OGMwLjM4OSwyLjI2OC0wLjUyNyw0LjUxOC0yLjM4Nyw1Ljg2OWMtMS44MTYsMS4zMTgtNC4zMzksMS41MDItNi4zMjIsMC40NTlsLTExMi40MTQtNTkuMTAxICAgICBjLTIuMzU1LTEuMjM3LTUuMTY5LTEuMjM3LTcuNTI0LDBsLTExMi40MTQsNTkuMTAxYy0yLjAzOCwxLjA3LTQuNDYsMC44OTMtNi4zMjItMC40NThjLTEuODYxLTEuMzUzLTIuNzc1LTMuNjAyLTIuMzg4LTUuODcgICAgIGwyMS40Ny0xMjUuMTc3YzAuNDUtMi42MjItMC40Mi01LjI5Ny0yLjMyNC03LjE1NWwtOTAuOTQ2LTg4LjY0OWMtMS42NDgtMS42MDctMi4yMjktMy45NjYtMS41Mi02LjE1NSAgICAgYzAuNzEyLTIuMTg4LDIuNTY3LTMuNzUzLDQuODQ2LTQuMDgzbDEyNS42ODQtMTguMjYzYzIuNjMzLTAuMzgyLDQuOTEtMi4wMzYsNi4wODctNC40MjJsNTYuMjA5LTExMy44OTEgICAgIGMxLjAxOS0yLjA2MywzLjA4LTMuMzQ1LDUuMzgyLTMuMzQ1czQuMzY0LDEuMjgxLDUuMzgzLDMuMzQ1bDU2LjIwNywxMTMuODljMS4xNzgsMi4zODUsMy40NTMsNC4wMzksNi4wODgsNC40MjJsNDIuMzk1LDYuMTYgICAgIGM0LjQwNSwwLjY0MSw4LjUyLTIuNDE4LDkuMTYxLTYuODM3YzAuNjQzLTQuNDE4LTIuNDE4LTguNTIxLTYuODM3LTkuMTYybC0zOC4xOS01LjU0OWwtNTQuMzI2LTExMC4wNzcgICAgIGMtMy43NjEtNy42MjQtMTEuMzc5LTEyLjM1OS0xOS44OC0xMi4zNTljLTguNTAxLDAtMTYuMTE5LDQuNzM2LTE5Ljg3OSwxMi4zNThsLTU0LjMyOCwxMTAuMDc4TDUxLjE0OSwyNDEuNTcyICAgICBjLTguNDEyLDEuMjIyLTE1LjI3LDcuMDAzLTE3Ljg5NywxNS4wODljLTIuNjI2LDguMDg0LTAuNDc4LDE2Ljc5Miw1LjYxLDIyLjcyOGw4Ny45MDIsODUuNjgybC0yMC43NSwxMjAuOTg5ICAgICBjLTEuNDM4LDguMzc3LDEuOTQsMTYuNjg1LDguODE4LDIxLjY4M2MzLjg4OCwyLjgyMyw4LjQzNCw0LjI1OCwxMy4wMTEsNC4yNThjMy41MjMsMCw3LjA2NS0wLjg1LDEwLjMzNy0yLjU2OWwxMDguNjU0LTU3LjEyMiAgICAgbDEwOC42NTcsNTcuMTI0YzMuMTcsMS42NjMsNi43MzUsMi41NDMsMTAuMzEyLDIuNTQzYzQuNzE0LDAsOS4yMTktMS40NjQsMTMuMDM0LTQuMjM0YzYuODc2LTQuOTk4LDEwLjI1Ni0xMy4zMDcsOC44MTctMjEuNjgzICAgICBMMzY2LjkwNSwzNjUuMDcxeiIgZmlsbD0iI0ZGRkZGRiIvPgoJCQk8cGF0aCBkPSJNMzg5LjQyOCwyMDIuMzEzYzAuNzA2LTUuMTc5LDcuNzgtMTMuNTY1LDI5LjgxNi0xMi4xNjVjMS4zNTUsMC4wODYsMi42NTEsMC4xMjgsMy45MDEsMC4xMjggICAgIGMyNy42OTktMC4wMDIsMzAuMDU0LTIwLjYzOSwzMS42My0zNC40OThjMC44NzQtNy42NzcsMS42OTktMTQuOTI4LDUuMjc1LTIwLjA1M2MyLjU1My0zLjY2MiwxLjY1My04LjcwMS0yLjAwNy0xMS4yNTQgICAgIGMtMy42NjItMi41NTItOC43MDEtMS42NTUtMTEuMjU1LDIuMDA2Yy01LjkxNCw4LjQ4MS03LjA2MywxOC41Ny04LjA3NiwyNy40NzNjLTEuNzQ2LDE1LjM0My0yLjQxLDIxLjA4Ny0xOC40MzgsMjAuMDYzICAgICBjLTE3LjY2NC0xLjEyNy0zMC44NiwyLjY1Ni0zOS4yMzIsMTEuMjQyYy02Ljg1NCw3LjAyOS03LjY0NCwxNC43MjItNy43MTEsMTUuNTc2bDE2LjExNywxLjI3NSAgICAgQzM4OS40NDksMjAyLjEwNiwzODkuNDQ3LDIwMi4xNzksMzg5LjQyOCwyMDIuMzEzeiIgZmlsbD0iI0ZGRkZGRiIvPgoJCQk8cGF0aCBkPSJNMjg2Ljc3NSw5MS4xN2MwLjE2LTAuMDg2LDAuMjU0LTAuMTE5LDAuMjU0LTAuMTE5bDYuNTIxLDE0Ljc5NWM3LjkzNC0zLjQ5NiwxOS45NDUtMTcuMTkyLDguNjE3LTQzLjk5OSAgICAgYy00LjEzNS05Ljc4OS0yLjEyNS0xMS4xMzEsOS4yNS0xNi42MThjMTEuMTEtNS4zNjEsMjcuOTAyLTEzLjQ2MiwyMy40NzEtMzguNTUxYy0wLjc3NS00LjM5Ny00Ljk2Mi03LjMyNy05LjM2Ny02LjU1NSAgICAgYy00LjM5NywwLjc3Ny03LjMzLDQuOTcxLTYuNTU0LDkuMzY3YzIuMjA1LDEyLjQ4LTMuMTc3LDE1LjY3OC0xNC41NzYsMjEuMTc3Yy0xMC4yMzcsNC45MzktMjcuMzcsMTMuMjA1LTE3LjExNiwzNy40NzQgICAgIEMyOTMuNDU5LDgyLjc3OSwyODkuODcxLDg5LjUwNSwyODYuNzc1LDkxLjE3eiIgZmlsbD0iI0ZGRkZGRiIvPgoJCQk8cGF0aCBkPSJNODAuMjY4LDg0Ljc0OWMxMi4zMTQsMi43OTYsMTQuNTc2LDMuNjUzLDEyLjc0LDE0LjEyYy01LjAyOCwyOC42NjUsOS43NSwzOS4zMTksMTguMjY2LDQwLjk0NiAgICAgYzAuNTEzLDAuMDk5LDEuMDIzLDAuMTQ2LDEuNTI3LDAuMTQ2YzMuODAyLDAsNy4xOS0yLjY5NSw3LjkzMS02LjU2N2MwLjgzOC00LjM4Ni0yLjAzNy04LjYyLTYuNDIzLTkuNDU4ICAgICBjLTAuMDg5LTAuMDE3LTguODI3LTIuNi01LjM3Ni0yMi4yNzNjNC41NDktMjUuOTUtMTQuMDAxLTMwLjE2My0yNS4wODUtMzIuNjhjLTEyLjM0MS0yLjgwMy0xOC4zMDMtNC43MTItMTguOTUzLTE3LjM2OSAgICAgYy0wLjIyOS00LjQ1OC00LjAwNi03Ljg5NC04LjQ4OC03LjY1OWMtNC40NTgsMC4yMjktNy44ODgsNC4wMjktNy42NTgsOC40ODhDNTAuMDU2LDc3Ljg4OCw2OC4yMzcsODIuMDE2LDgwLjI2OCw4NC43NDl6IiBmaWxsPSIjRkZGRkZGIi8+CgkJCTxwYXRoIGQ9Ik0xMDUuMjM5LDE4MS4xMTNjMCw2LjEyMSwyLjM4MiwxMS44NzQsNi43MSwxNi4yMDFjNC4zMjgsNC4zMjgsMTAuMDgxLDYuNzExLDE2LjIwMSw2LjcxMSAgICAgYzYuMTIsMCwxMS44NzQtMi4zODMsMTYuMjAyLTYuNzFjNC4zMjgtNC4zMjgsNi43MTItMTAuMDgxLDYuNzEyLTE2LjIwMnMtMi4zODQtMTEuODc0LTYuNzExLTE2LjIwMiAgICAgYy00LjMyOS00LjMyOC0xMC4wODItNi43MTEtMTYuMjAzLTYuNzExcy0xMS44NzMsMi4zODMtMTYuMjAxLDYuNzExQzEwNy42MjEsMTY5LjIzOSwxMDUuMjM5LDE3NC45OTIsMTA1LjIzOSwxODEuMTEzeiAgICAgIE0xMjMuMzgyLDE3Ni4zNDJjMS4yNzMtMS4yNzMsMi45NjgtMS45NzUsNC43NjktMS45NzVjMS44MDIsMCwzLjQ5NSwwLjcwMiw0Ljc3LDEuOTc2YzEuMjc1LDEuMjc0LDEuOTc4LDIuOTY4LDEuOTc4LDQuNzcgICAgIHMtMC43MDIsMy40OTQtMS45NzYsNC43NjljLTEuMjc1LDEuMjc0LTIuOTY5LDEuOTc2LTQuNzcyLDEuOTc2Yy0xLjgsMC0zLjQ5NC0wLjcwMi00Ljc3LTEuOTc2ICAgICBjLTEuMjczLTEuMjczLTEuOTc1LTIuOTY3LTEuOTc1LTQuNzY5QzEyMS40MDUsMTc5LjMxMiwxMjIuMTA2LDE3Ny42MTgsMTIzLjM4MiwxNzYuMzQyeiIgZmlsbD0iI0ZGRkZGRiIvPgoJCQk8cGF0aCBkPSJNMzE1LjI4NSwxMjkuMTg5Yy04LjkzMyw4LjkzNC04LjkzMywyMy40NywwLjAwMSwzMi40MDRjNC4zMjgsNC4zMjgsMTAuMDgyLDYuNzEsMTYuMjAxLDYuNzEgICAgIGM2LjExOSwwLDExLjg3NC0yLjM4MiwxNi4yMDItNi43MWM4LjkzMy04LjkzNCw4LjkzMy0yMy40NywwLTMyLjQwM2MtNC4zMjctNC4zMjgtMTAuMDgzLTYuNzExLTE2LjIwMi02LjcxMSAgICAgQzMyNS4zNjgsMTIyLjQ3OSwzMTkuNjEzLDEyNC44NiwzMTUuMjg1LDEyOS4xODl6IE0zMzYuMjU0LDE1MC4xNmMtMS4yNzMsMS4yNzMtMi45NjcsMS45NzQtNC43NjksMS45NzQgICAgIGMtMS44MDIsMC0zLjQ5NS0wLjcwMS00Ljc3LTEuOTc0Yy0yLjYzLTIuNjMtMi42My02LjkxLTAuMDAxLTkuNTM5YzEuMjc0LTEuMjc0LDIuOTY4LTEuOTc1LDQuNzcxLTEuOTc1ICAgICBjMS44MDEsMCwzLjQ5NCwwLjcwMSw0Ljc2OSwxLjk3NEMzMzguODg0LDE0My4yNSwzMzguODg0LDE0Ny41MywzMzYuMjU0LDE1MC4xNnoiIGZpbGw9IiNGRkZGRkYiLz4KCQkJPHBhdGggZD0iTTc1LjY5NSwzMzYuOTI2Yy00LjMyOS00LjMyNi0xMC4wODItNi43MDktMTYuMjAyLTYuNzA5Yy02LjEyLDAtMTEuODczLDIuMzgzLTE2LjIwMSw2LjcxICAgICBjLTguOTM0LDguOTM1LTguOTM0LDIzLjQ3LDAsMzIuNDA0YzQuMzI3LDQuMzI4LDEwLjA4LDYuNzEyLDE2LjIwMSw2LjcxMnMxMS44NzQtMi4zODQsMTYuMjAzLTYuNzExICAgICBDODQuNjI5LDM2MC4zOTYsODQuNjI5LDM0NS44NjIsNzUuNjk1LDMzNi45MjZ6IE02NC4yNjIsMzU3Ljg5OGMtMS4yNzMsMS4yNzQtMi45NjcsMS45NzctNC43NywxLjk3NyAgICAgYy0xLjgsMC0zLjQ5NC0wLjcwMi00Ljc2OS0xLjk3N2MtMi42MzEtMi42MjktMi42MzEtNi45MDktMC4wMDEtOS41MzhjMS4yNzMtMS4yNzMsMi45NjctMS45NzUsNC43Ny0xLjk3NSAgICAgczMuNDk2LDAuNzAxLDQuNzcsMS45NzVDNjYuODkzLDM1MC45ODksNjYuODkzLDM1NS4yNjksNjQuMjYyLDM1Ny44OTh6IiBmaWxsPSIjRkZGRkZGIi8+CgkJCTxwYXRoIGQ9Ik00NzMuMTUsMzM2LjkyNmMtNC4zMjktNC4zMjYtMTAuMDgyLTYuNzA5LTE2LjIwMS02LjcwOWMtNi4xMjEsMC0xMS44NzMsMi4zODMtMTYuMjAyLDYuNzEgICAgIGMtOC45MzMsOC45MzUtOC45MzMsMjMuNDcsMCwzMi40MDRjNC4zMjgsNC4zMjgsMTAuMDgxLDYuNzEyLDE2LjIwMiw2LjcxMmM2LjEyLDAsMTEuODczLTIuMzg0LDE2LjIwMi02LjcxMSAgICAgQzQ4Mi4wODQsMzYwLjM5Niw0ODIuMDg0LDM0NS44NjIsNDczLjE1LDMzNi45MjZ6IE00NjEuNzE5LDM1Ny44OThjLTEuMjc0LDEuMjc0LTIuOTY4LDEuOTc3LTQuNzcsMS45NzcgICAgIGMtMS44MDEsMC0zLjQ5NS0wLjcwMi00Ljc2OS0xLjk3N2MtMi42MzEtMi42MjktMi42MzEtNi45MDktMC4wMDItOS41MzhjMS4yNzQtMS4yNzMsMi45NjgtMS45NzUsNC43NzEtMS45NzUgICAgIGMxLjgwMSwwLDMuNDk2LDAuNzAxLDQuNzcsMS45NzVDNDY0LjM0OSwzNTAuOTg5LDQ2NC4zNDksMzU1LjI2OSw0NjEuNzE5LDM1Ny44OTh6IiBmaWxsPSIjRkZGRkZGIi8+CgkJCTxwYXRoIGQ9Ik0xODYuODkyLDkzLjI0NWM2LjEyLDAsMTEuODczLTIuMzgzLDE2LjIwMS02LjcxMWM0LjMyNy00LjMyOCw2LjcxMS0xMC4wODIsNi43MTEtMTYuMjAyICAgICBjMC02LjEyMS0yLjM4NC0xMS44NzQtNi43MTEtMTYuMmMtNC4zMjgtNC4zMjktMTAuMDgxLTYuNzEyLTE2LjIwMS02LjcxMmMtNi4xMjIsMC0xMS44NzQsMi4zODMtMTYuMjAyLDYuNzExICAgICBjLTQuMzI4LDQuMzI3LTYuNzEyLDEwLjA4LTYuNzEyLDE2LjIwMXMyLjM4NCwxMS44NzQsNi43MTEsMTYuMjAyQzE3NS4wMTgsOTAuODYxLDE4MC43Nyw5My4yNDUsMTg2Ljg5Miw5My4yNDV6ICAgICAgTTE4Mi4xMjIsNjUuNTYyYzEuMjczLTEuMjc0LDIuOTY4LTEuOTc1LDQuNzcxLTEuOTc1YzEuOCwwLDMuNDkzLDAuNzAxLDQuNzY5LDEuOTc2YzEuMjczLDEuMjczLDEuOTc3LDIuOTY3LDEuOTc3LDQuNzY5ICAgICBjMCwxLjgwMi0wLjcwMywzLjQ5NS0xLjk3Nyw0Ljc3MWMtMS4yNzQsMS4yNzMtMi45NjgsMS45NzUtNC43NjksMS45NzVjLTEuODAyLDAtMy40OTYtMC43MDItNC43NzEtMS45NzYgICAgIGMtMS4yNzQtMS4yNzQtMS45NzYtMi45NjctMS45NzYtNC43N0MxODAuMTQ2LDY4LjUzMSwxODAuODQ4LDY2LjgzNiwxODIuMTIyLDY1LjU2MnoiIGZpbGw9IiNGRkZGRkYiLz4KCQkJPGNpcmNsZSBjeD0iNjQuNDA5IiBjeT0iMTYwLjIyIiByPSIxMC40OTYiIGZpbGw9IiNGRkZGRkYiLz4KCQkJPGNpcmNsZSBjeD0iNDExLjM5IiBjeT0iMzc0LjExNSIgcj0iMTAuNDk2IiBmaWxsPSIjRkZGRkZGIi8+CgkJCTxjaXJjbGUgY3g9IjczLjc1IiBjeT0iNDM5LjM0MyIgcj0iMTAuNDk3IiBmaWxsPSIjRkZGRkZGIi8+CgkJCTxwYXRoIGQ9Ik0zODcuOTI5LDE0OC45NTFjMi4xMDcsMCw0LjIxMy0wLjgxOSw1Ljc5OS0yLjQ0OGwxMS4yMy0xMS41NTNjMy4xMTEtMy4yMDEsMy4wMzktOC4zMTktMC4xNjItMTEuNDMxICAgICBjLTMuMTk5LTMuMTEyLTguMzE4LTMuMDM5LTExLjQzMSwwLjE2MmwtMTEuMjMsMTEuNTUyYy0zLjExMSwzLjIwMS0zLjA0LDguMzE5LDAuMTYyLDExLjQzMSAgICAgQzM4My44NjgsMTQ4LjE5MiwzODUuODk5LDE0OC45NTEsMzg3LjkyOSwxNDguOTUxeiIgZmlsbD0iI0ZGRkZGRiIvPgoJCQk8cGF0aCBkPSJNMTQ4LjgyMiwxMzYuMTgybDE0LjkzNyw2LjA0YzAuOTkzLDAuNDAxLDIuMDIsMC41OTEsMy4wMjcsMC41OTFjMy4xOTcsMCw2LjIyNy0xLjkwOSw3LjQ5Ny01LjA1NiAgICAgYzEuNjc0LTQuMTM5LTAuMzI1LTguODUxLTQuNDY0LTEwLjUyNGwtMTQuOTM4LTYuMDRjLTQuMTQ2LTEuNjc2LTguODUxLDAuMzI2LTEwLjUyNCw0LjQ2NCAgICAgQzE0Mi42ODQsMTI5Ljc5NywxNDQuNjgzLDEzNC41MDgsMTQ4LjgyMiwxMzYuMTgyeiIgZmlsbD0iI0ZGRkZGRiIvPgoJCQk8cGF0aCBkPSJNOTYuMDMzLDM5Mi42NzNsLTE0LjkzOC02LjA0Yy00LjE0Ni0xLjY3NC04Ljg1MSwwLjMyNS0xMC41MjQsNC40NjRjLTEuNjczLDQuMTQsMC4zMjYsOC44NTIsNC40NjUsMTAuNTI0bDE0LjkzOCw2LjA0MSAgICAgYzAuOTkzLDAuNCwyLjAxOSwwLjU5MSwzLjAyNiwwLjU5MWMzLjE5NywwLDYuMjI3LTEuOTA4LDcuNDk3LTUuMDU2QzEwMi4xNzEsMzk5LjA1OSwxMDAuMTcyLDM5NC4zNDcsOTYuMDMzLDM5Mi42NzN6IiBmaWxsPSIjRkZGRkZGIi8+CgkJCTxwYXRoIGQ9Ik00MzYuOTQ1LDQyMC4yODRsLTE0LjkzNy02LjA0Yy00LjE0Ni0xLjY3My04Ljg1MiwwLjMyNi0xMC41MjQsNC40NjVjLTEuNjc0LDQuMTQsMC4zMjUsOC44NTIsNC40NjQsMTAuNTI0bDE0LjkzOCw2LjA0ICAgICBjMC45OTMsMC40LDIuMDE5LDAuNTkyLDMuMDI3LDAuNTkyYzMuMTk2LDAsNi4yMjYtMS45MSw3LjQ5Ny01LjA1N0M0NDMuMDgzLDQyNi42NjksNDQxLjA4NSw0MjEuOTU3LDQzNi45NDUsNDIwLjI4NHoiIGZpbGw9IiNGRkZGRkYiLz4KCQk8L2c+Cgk8L2c+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPGc+CjwvZz4KPC9zdmc+Cg==);url(data: image/svg+xml;utf8;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pgo8IS0tIEdlbmVyYXRvcjogQWRvYmUgSWxsdXN0cmF0b3IgMTkuMC4wLCBTVkcgRXhwb3J0IFBsdWctSW4gLiBTVkcgVmVyc2lvbjogNi4wMCBCdWlsZCAwKSAgLS0+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeD0iMHB4IiB5PSIwcHgiIHZpZXdCb3g9IjAgMCA1MTIuMDAxIDUxMi4wMDEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMi4wMDEgNTEyLjAwMTsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiPgo8Zz4KCTxnPgoJCTxnPgoJCQk8cGF0aCBkPSJNMzY2LjkwNSwzNjUuMDcxbDg3LjkwMi04NS42ODNjNi4wODctNS45MzUsOC4yMzYtMTQuNjQzLDUuNjEtMjIuNzI5Yy0yLjYyOS04LjA4NS05LjQ4Ni0xMy44NjYtMTcuODk4LTE1LjA4NyAgICAgbC01NS44NzktOC4xMmMtNC40MTMtMC42NDctOC41MjEsMi40MTktOS4xNjEsNi44MzdjLTAuNjQzLDQuNDE5LDIuNDE4LDguNTIxLDYuODM3LDkuMTYzbDU1Ljg3OSw4LjEyICAgICBjMi4yNzgsMC4zMyw0LjEzNSwxLjg5Niw0Ljg0Nyw0LjA4M2MwLjcxMSwyLjE5LDAuMTI5LDQuNTQ4LTEuNTE5LDYuMTU0bC05MC45NDcsODguNjVjLTEuOTA1LDEuODU4LTIuNzczLDQuNTMzLTIuMzIzLDcuMTU1ICAgICBsMjEuNDY5LDEyNS4xNzhjMC4zODksMi4yNjgtMC41MjcsNC41MTgtMi4zODcsNS44NjljLTEuODE2LDEuMzE4LTQuMzM5LDEuNTAyLTYuMzIyLDAuNDU5bC0xMTIuNDE0LTU5LjEwMSAgICAgYy0yLjM1NS0xLjIzNy01LjE2OS0xLjIzNy03LjUyNCwwbC0xMTIuNDE0LDU5LjEwMWMtMi4wMzgsMS4wNy00LjQ2LDAuODkzLTYuMzIyLTAuNDU4Yy0xLjg2MS0xLjM1My0yLjc3NS0zLjYwMi0yLjM4OC01Ljg3ICAgICBsMjEuNDctMTI1LjE3N2MwLjQ1LTIuNjIyLTAuNDItNS4yOTctMi4zMjQtNy4xNTVsLTkwLjk0Ni04OC42NDljLTEuNjQ4LTEuNjA3LTIuMjI5LTMuOTY2LTEuNTItNi4xNTUgICAgIGMwLjcxMi0yLjE4OCwyLjU2Ny0zLjc1Myw0Ljg0Ni00LjA4M2wxMjUuNjg0LTE4LjI2M2MyLjYzMy0wLjM4Miw0LjkxLTIuMDM2LDYuMDg3LTQuNDIybDU2LjIwOS0xMTMuODkxICAgICBjMS4wMTktMi4wNjMsMy4wOC0zLjM0NSw1LjM4Mi0zLjM0NXM0LjM2NCwxLjI4MSw1LjM4MywzLjM0NWw1Ni4yMDcsMTEzLjg5YzEuMTc4LDIuMzg1LDMuNDUzLDQuMDM5LDYuMDg4LDQuNDIybDQyLjM5NSw2LjE2ICAgICBjNC40MDUsMC42NDEsOC41Mi0yLjQxOCw5LjE2MS02LjgzN2MwLjY0My00LjQxOC0yLjQxOC04LjUyMS02LjgzNy05LjE2MmwtMzguMTktNS41NDlsLTU0LjMyNi0xMTAuMDc3ICAgICBjLTMuNzYxLTcuNjI0LTExLjM3OS0xMi4zNTktMTkuODgtMTIuMzU5Yy04LjUwMSwwLTE2LjExOSw0LjczNi0xOS44NzksMTIuMzU4bC01NC4zMjgsMTEwLjA3OEw1MS4xNDksMjQxLjU3MiAgICAgYy04LjQxMiwxLjIyMi0xNS4yNyw3LjAwMy0xNy44OTcsMTUuMDg5Yy0yLjYyNiw4LjA4NC0wLjQ3OCwxNi43OTIsNS42MSwyMi43MjhsODcuOTAyLDg1LjY4MmwtMjAuNzUsMTIwLjk4OSAgICAgYy0xLjQzOCw4LjM3NywxLjk0LDE2LjY4NSw4LjgxOCwyMS42ODNjMy44ODgsMi44MjMsOC40MzQsNC4yNTgsMTMuMDExLDQuMjU4YzMuNTIzLDAsNy4wNjUtMC44NSwxMC4zMzctMi41NjlsMTA4LjY1NC01Ny4xMjIgICAgIGwxMDguNjU3LDU3LjEyNGMzLjE3LDEuNjYzLDYuNzM1LDIuNTQzLDEwLjMxMiwyLjU0M2M0LjcxNCwwLDkuMjE5LTEuNDY0LDEzLjAzNC00LjIzNGM2Ljg3Ni00Ljk5OCwxMC4yNTYtMTMuMzA3LDguODE3LTIxLjY4MyAgICAgTDM2Ni45MDUsMzY1LjA3MXoiIGZpbGw9IiNjY2NjY2MiLz4KCQkJPHBhdGggZD0iTTM4OS40MjgsMjAyLjMxM2MwLjcwNi01LjE3OSw3Ljc4LTEzLjU2NSwyOS44MTYtMTIuMTY1YzEuMzU1LDAuMDg2LDIuNjUxLDAuMTI4LDMuOTAxLDAuMTI4ICAgICBjMjcuNjk5LTAuMDAyLDMwLjA1NC0yMC42MzksMzEuNjMtMzQuNDk4YzAuODc0LTcuNjc3LDEuNjk5LTE0LjkyOCw1LjI3NS0yMC4wNTNjMi41NTMtMy42NjIsMS42NTMtOC43MDEtMi4wMDctMTEuMjU0ICAgICBjLTMuNjYyLTIuNTUyLTguNzAxLTEuNjU1LTExLjI1NSwyLjAwNmMtNS45MTQsOC40ODEtNy4wNjMsMTguNTctOC4wNzYsMjcuNDczYy0xLjc0NiwxNS4zNDMtMi40MSwyMS4wODctMTguNDM4LDIwLjA2MyAgICAgYy0xNy42NjQtMS4xMjctMzAuODYsMi42NTYtMzkuMjMyLDExLjI0MmMtNi44NTQsNy4wMjktNy42NDQsMTQuNzIyLTcuNzExLDE1LjU3NmwxNi4xMTcsMS4yNzUgICAgIEMzODkuNDQ5LDIwMi4xMDYsMzg5LjQ0NywyMDIuMTc5LDM4OS40MjgsMjAyLjMxM3oiIGZpbGw9IiNjY2NjY2MiLz4KCQkJPHBhdGggZD0iTTI4Ni43NzUsOTEuMTdjMC4xNi0wLjA4NiwwLjI1NC0wLjExOSwwLjI1NC0wLjExOWw2LjUyMSwxNC43OTVjNy45MzQtMy40OTYsMTkuOTQ1LTE3LjE5Miw4LjYxNy00My45OTkgICAgIGMtNC4xMzUtOS43ODktMi4xMjUtMTEuMTMxLDkuMjUtMTYuNjE4YzExLjExLTUuMzYxLDI3LjkwMi0xMy40NjIsMjMuNDcxLTM4LjU1MWMtMC43NzUtNC4zOTctNC45NjItNy4zMjctOS4zNjctNi41NTUgICAgIGMtNC4zOTcsMC43NzctNy4zMyw0Ljk3MS02LjU1NCw5LjM2N2MyLjIwNSwxMi40OC0zLjE3NywxNS42NzgtMTQuNTc2LDIxLjE3N2MtMTAuMjM3LDQuOTM5LTI3LjM3LDEzLjIwNS0xNy4xMTYsMzcuNDc0ICAgICBDMjkzLjQ1OSw4Mi43NzksMjg5Ljg3MSw4OS41MDUsMjg2Ljc3NSw5MS4xN3oiIGZpbGw9IiNjY2NjY2MiLz4KCQkJPHBhdGggZD0iTTgwLjI2OCw4NC43NDljMTIuMzE0LDIuNzk2LDE0LjU3NiwzLjY1MywxMi43NCwxNC4xMmMtNS4wMjgsMjguNjY1LDkuNzUsMzkuMzE5LDE4LjI2Niw0MC45NDYgICAgIGMwLjUxMywwLjA5OSwxLjAyMywwLjE0NiwxLjUyNywwLjE0NmMzLjgwMiwwLDcuMTktMi42OTUsNy45MzEtNi41NjdjMC44MzgtNC4zODYtMi4wMzctOC42Mi02LjQyMy05LjQ1OCAgICAgYy0wLjA4OS0wLjAxNy04LjgyNy0yLjYtNS4zNzYtMjIuMjczYzQuNTQ5LTI1Ljk1LTE0LjAwMS0zMC4xNjMtMjUuMDg1LTMyLjY4Yy0xMi4zNDEtMi44MDMtMTguMzAzLTQuNzEyLTE4Ljk1My0xNy4zNjkgICAgIGMtMC4yMjktNC40NTgtNC4wMDYtNy44OTQtOC40ODgtNy42NTljLTQuNDU4LDAuMjI5LTcuODg4LDQuMDI5LTcuNjU4LDguNDg4QzUwLjA1Niw3Ny44ODgsNjguMjM3LDgyLjAxNiw4MC4yNjgsODQuNzQ5eiIgZmlsbD0iI2NjY2NjYyIvPgoJCQk8cGF0aCBkPSJNMTA1LjIzOSwxODEuMTEzYzAsNi4xMjEsMi4zODIsMTEuODc0LDYuNzEsMTYuMjAxYzQuMzI4LDQuMzI4LDEwLjA4MSw2LjcxMSwxNi4yMDEsNi43MTEgICAgIGM2LjEyLDAsMTEuODc0LTIuMzgzLDE2LjIwMi02LjcxYzQuMzI4LTQuMzI4LDYuNzEyLTEwLjA4MSw2LjcxMi0xNi4yMDJzLTIuMzg0LTExLjg3NC02LjcxMS0xNi4yMDIgICAgIGMtNC4zMjktNC4zMjgtMTAuMDgyLTYuNzExLTE2LjIwMy02LjcxMXMtMTEuODczLDIuMzgzLTE2LjIwMSw2LjcxMUMxMDcuNjIxLDE2OS4yMzksMTA1LjIzOSwxNzQuOTkyLDEwNS4yMzksMTgxLjExM3ogICAgICBNMTIzLjM4MiwxNzYuMzQyYzEuMjczLTEuMjczLDIuOTY4LTEuOTc1LDQuNzY5LTEuOTc1YzEuODAyLDAsMy40OTUsMC43MDIsNC43NywxLjk3NmMxLjI3NSwxLjI3NCwxLjk3OCwyLjk2OCwxLjk3OCw0Ljc3ICAgICBzLTAuNzAyLDMuNDk0LTEuOTc2LDQuNzY5Yy0xLjI3NSwxLjI3NC0yLjk2OSwxLjk3Ni00Ljc3MiwxLjk3NmMtMS44LDAtMy40OTQtMC43MDItNC43Ny0xLjk3NiAgICAgYy0xLjI3My0xLjI3My0xLjk3NS0yLjk2Ny0xLjk3NS00Ljc2OUMxMjEuNDA1LDE3OS4zMTIsMTIyLjEwNiwxNzcuNjE4LDEyMy4zODIsMTc2LjM0MnoiIGZpbGw9IiNjY2NjY2MiLz4KCQkJPHBhdGggZD0iTTMxNS4yODUsMTI5LjE4OWMtOC45MzMsOC45MzQtOC45MzMsMjMuNDcsMC4wMDEsMzIuNDA0YzQuMzI4LDQuMzI4LDEwLjA4Miw2LjcxLDE2LjIwMSw2LjcxICAgICBjNi4xMTksMCwxMS44NzQtMi4zODIsMTYuMjAyLTYuNzFjOC45MzMtOC45MzQsOC45MzMtMjMuNDcsMC0zMi40MDNjLTQuMzI3LTQuMzI4LTEwLjA4My02LjcxMS0xNi4yMDItNi43MTEgICAgIEMzMjUuMzY4LDEyMi40NzksMzE5LjYxMywxMjQuODYsMzE1LjI4NSwxMjkuMTg5eiBNMzM2LjI1NCwxNTAuMTZjLTEuMjczLDEuMjczLTIuOTY3LDEuOTc0LTQuNzY5LDEuOTc0ICAgICBjLTEuODAyLDAtMy40OTUtMC43MDEtNC43Ny0xLjk3NGMtMi42My0yLjYzLTIuNjMtNi45MS0wLjAwMS05LjUzOWMxLjI3NC0xLjI3NCwyLjk2OC0xLjk3NSw0Ljc3MS0xLjk3NSAgICAgYzEuODAxLDAsMy40OTQsMC43MDEsNC43NjksMS45NzRDMzM4Ljg4NCwxNDMuMjUsMzM4Ljg4NCwxNDcuNTMsMzM2LjI1NCwxNTAuMTZ6IiBmaWxsPSIjY2NjY2NjIi8+CgkJCTxwYXRoIGQ9Ik03NS42OTUsMzM2LjkyNmMtNC4zMjktNC4zMjYtMTAuMDgyLTYuNzA5LTE2LjIwMi02LjcwOWMtNi4xMiwwLTExLjg3MywyLjM4My0xNi4yMDEsNi43MSAgICAgYy04LjkzNCw4LjkzNS04LjkzNCwyMy40NywwLDMyLjQwNGM0LjMyNyw0LjMyOCwxMC4wOCw2LjcxMiwxNi4yMDEsNi43MTJzMTEuODc0LTIuMzg0LDE2LjIwMy02LjcxMSAgICAgQzg0LjYyOSwzNjAuMzk2LDg0LjYyOSwzNDUuODYyLDc1LjY5NSwzMzYuOTI2eiBNNjQuMjYyLDM1Ny44OThjLTEuMjczLDEuMjc0LTIuOTY3LDEuOTc3LTQuNzcsMS45NzcgICAgIGMtMS44LDAtMy40OTQtMC43MDItNC43NjktMS45NzdjLTIuNjMxLTIuNjI5LTIuNjMxLTYuOTA5LTAuMDAxLTkuNTM4YzEuMjczLTEuMjczLDIuOTY3LTEuOTc1LDQuNzctMS45NzUgICAgIHMzLjQ5NiwwLjcwMSw0Ljc3LDEuOTc1QzY2Ljg5MywzNTAuOTg5LDY2Ljg5MywzNTUuMjY5LDY0LjI2MiwzNTcuODk4eiIgZmlsbD0iI2NjY2NjYyIvPgoJCQk8cGF0aCBkPSJNNDczLjE1LDMzNi45MjZjLTQuMzI5LTQuMzI2LTEwLjA4Mi02LjcwOS0xNi4yMDEtNi43MDljLTYuMTIxLDAtMTEuODczLDIuMzgzLTE2LjIwMiw2LjcxICAgICBjLTguOTMzLDguOTM1LTguOTMzLDIzLjQ3LDAsMzIuNDA0YzQuMzI4LDQuMzI4LDEwLjA4MSw2LjcxMiwxNi4yMDIsNi43MTJjNi4xMiwwLDExLjg3My0yLjM4NCwxNi4yMDItNi43MTEgICAgIEM0ODIuMDg0LDM2MC4zOTYsNDgyLjA4NCwzNDUuODYyLDQ3My4xNSwzMzYuOTI2eiBNNDYxLjcxOSwzNTcuODk4Yy0xLjI3NCwxLjI3NC0yLjk2OCwxLjk3Ny00Ljc3LDEuOTc3ICAgICBjLTEuODAxLDAtMy40OTUtMC43MDItNC43NjktMS45NzdjLTIuNjMxLTIuNjI5LTIuNjMxLTYuOTA5LTAuMDAyLTkuNTM4YzEuMjc0LTEuMjczLDIuOTY4LTEuOTc1LDQuNzcxLTEuOTc1ICAgICBjMS44MDEsMCwzLjQ5NiwwLjcwMSw0Ljc3LDEuOTc1QzQ2NC4zNDksMzUwLjk4OSw0NjQuMzQ5LDM1NS4yNjksNDYxLjcxOSwzNTcuODk4eiIgZmlsbD0iI2NjY2NjYyIvPgoJCQk8cGF0aCBkPSJNMTg2Ljg5Miw5My4yNDVjNi4xMiwwLDExLjg3My0yLjM4MywxNi4yMDEtNi43MTFjNC4zMjctNC4zMjgsNi43MTEtMTAuMDgyLDYuNzExLTE2LjIwMiAgICAgYzAtNi4xMjEtMi4zODQtMTEuODc0LTYuNzExLTE2LjJjLTQuMzI4LTQuMzI5LTEwLjA4MS02LjcxMi0xNi4yMDEtNi43MTJjLTYuMTIyLDAtMTEuODc0LDIuMzgzLTE2LjIwMiw2LjcxMSAgICAgYy00LjMyOCw0LjMyNy02LjcxMiwxMC4wOC02LjcxMiwxNi4yMDFzMi4zODQsMTEuODc0LDYuNzExLDE2LjIwMkMxNzUuMDE4LDkwLjg2MSwxODAuNzcsOTMuMjQ1LDE4Ni44OTIsOTMuMjQ1eiAgICAgIE0xODIuMTIyLDY1LjU2MmMxLjI3My0xLjI3NCwyLjk2OC0xLjk3NSw0Ljc3MS0xLjk3NWMxLjgsMCwzLjQ5MywwLjcwMSw0Ljc2OSwxLjk3NmMxLjI3MywxLjI3MywxLjk3NywyLjk2NywxLjk3Nyw0Ljc2OSAgICAgYzAsMS44MDItMC43MDMsMy40OTUtMS45NzcsNC43NzFjLTEuMjc0LDEuMjczLTIuOTY4LDEuOTc1LTQuNzY5LDEuOTc1Yy0xLjgwMiwwLTMuNDk2LTAuNzAyLTQuNzcxLTEuOTc2ICAgICBjLTEuMjc0LTEuMjc0LTEuOTc2LTIuOTY3LTEuOTc2LTQuNzdDMTgwLjE0Niw2OC41MzEsMTgwLjg0OCw2Ni44MzYsMTgyLjEyMiw2NS41NjJ6IiBmaWxsPSIjY2NjY2NjIi8+CgkJCTxjaXJjbGUgY3g9IjY0LjQwOSIgY3k9IjE2MC4yMiIgcj0iMTAuNDk2IiBmaWxsPSIjY2NjY2NjIi8+CgkJCTxjaXJjbGUgY3g9IjQxMS4zOSIgY3k9IjM3NC4xMTUiIHI9IjEwLjQ5NiIgZmlsbD0iI2NjY2NjYyIvPgoJCQk8Y2lyY2xlIGN4PSI3My43NSIgY3k9IjQzOS4zNDMiIHI9IjEwLjQ5NyIgZmlsbD0iI2NjY2NjYyIvPgoJCQk8cGF0aCBkPSJNMzg3LjkyOSwxNDguOTUxYzIuMTA3LDAsNC4yMTMtMC44MTksNS43OTktMi40NDhsMTEuMjMtMTEuNTUzYzMuMTExLTMuMjAxLDMuMDM5LTguMzE5LTAuMTYyLTExLjQzMSAgICAgYy0zLjE5OS0zLjExMi04LjMxOC0zLjAzOS0xMS40MzEsMC4xNjJsLTExLjIzLDExLjU1MmMtMy4xMTEsMy4yMDEtMy4wNCw4LjMxOSwwLjE2MiwxMS40MzEgICAgIEMzODMuODY4LDE0OC4xOTIsMzg1Ljg5OSwxNDguOTUxLDM4Ny45MjksMTQ4Ljk1MXoiIGZpbGw9IiNjY2NjY2MiLz4KCQkJPHBhdGggZD0iTTE0OC44MjIsMTM2LjE4MmwxNC45MzcsNi4wNGMwLjk5MywwLjQwMSwyLjAyLDAuNTkxLDMuMDI3LDAuNTkxYzMuMTk3LDAsNi4yMjctMS45MDksNy40OTctNS4wNTYgICAgIGMxLjY3NC00LjEzOS0wLjMyNS04Ljg1MS00LjQ2NC0xMC41MjRsLTE0LjkzOC02LjA0Yy00LjE0Ni0xLjY3Ni04Ljg1MSwwLjMyNi0xMC41MjQsNC40NjQgICAgIEMxNDIuNjg0LDEyOS43OTcsMTQ0LjY4MywxMzQuNTA4LDE0OC44MjIsMTM2LjE4MnoiIGZpbGw9IiNjY2NjY2MiLz4KCQkJPHBhdGggZD0iTTk2LjAzMywzOTIuNjczbC0xNC45MzgtNi4wNGMtNC4xNDYtMS42NzQtOC44NTEsMC4zMjUtMTAuNTI0LDQuNDY0Yy0xLjY3Myw0LjE0LDAuMzI2LDguODUyLDQuNDY1LDEwLjUyNGwxNC45MzgsNi4wNDEgICAgIGMwLjk5MywwLjQsMi4wMTksMC41OTEsMy4wMjYsMC41OTFjMy4xOTcsMCw2LjIyNy0xLjkwOCw3LjQ5Ny01LjA1NkMxMDIuMTcxLDM5OS4wNTksMTAwLjE3MiwzOTQuMzQ3LDk2LjAzMywzOTIuNjczeiIgZmlsbD0iI2NjY2NjYyIvPgoJCQk8cGF0aCBkPSJNNDM2Ljk0NSw0MjAuMjg0bC0xNC45MzctNi4wNGMtNC4xNDYtMS42NzMtOC44NTIsMC4zMjYtMTAuNTI0LDQuNDY1Yy0xLjY3NCw0LjE0LDAuMzI1LDguODUyLDQuNDY0LDEwLjUyNGwxNC45MzgsNi4wNCAgICAgYzAuOTkzLDAuNCwyLjAxOSwwLjU5MiwzLjAyNywwLjU5MmMzLjE5NiwwLDYuMjI2LTEuOTEsNy40OTctNS4wNTdDNDQzLjA4Myw0MjYuNjY5LDQ0MS4wODUsNDIxLjk1Nyw0MzYuOTQ1LDQyMC4yODR6IiBmaWxsPSIjY2NjY2NjIi8+CgkJPC9nPgoJPC9nPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+CjxnPgo8L2c+Cjwvc3ZnPgo=);background-size: 34px;background-repeat: no-repeat;text-align: right;background-position: 16px 17px;">
545
+ <a class="star_icon" href="https://wordpress.org/support/view/plugin-reviews/accelerated-mobile-pages?rate=5#new-post" target="_blank" style=" color: #fff;
546
+ text-decoration: none;
547
+ font-size: 16px;
548
+ line-height: 23px; font-weight: 300;"> Appreciate it? <br> <span style="font-size: 11px;text-transform: uppercase;" title="Give Us 5 Star">Leave a Review →</span></a>
549
+
550
+ </div>
551
+ </div>
552
+
553
+
554
+ <?php
555
+ //update_option( 'AMPforwp_db_version', $ampforWPCurrentVersion );
556
  }
images/gf.png ADDED
Binary file
includes/admin-style.css CHANGED
@@ -31,4 +31,7 @@ body #toplevel_page_amp_options .wp-menu-image{
31
  position: relative;
32
  top: -1px;
33
  left: 5px;
 
 
 
34
  }
31
  position: relative;
32
  top: -1px;
33
  left: 5px;
34
+ }
35
+ .amp-update-notice .notice-dismiss{
36
+ display: none
37
  }
includes/includes.php CHANGED
@@ -25,7 +25,7 @@
25
  if (! function_exists( 'ampforwp_footermenu') ) {
26
  function ampforwp_footermenu() {
27
  global $redux_builder_amp;
28
- if ( $redux_builder_amp['amp-design-selector'] == 1 ||
29
  $redux_builder_amp['amp-design-selector'] == 2 ||
30
  $redux_builder_amp['amp-design-selector'] == 3 ) {
31
  register_nav_menus(
25
  if (! function_exists( 'ampforwp_footermenu') ) {
26
  function ampforwp_footermenu() {
27
  global $redux_builder_amp;
28
+ if ( (isset($redux_builder_amp['amp-design-selector'])) && $redux_builder_amp['amp-design-selector'] == 1 ||
29
  $redux_builder_amp['amp-design-selector'] == 2 ||
30
  $redux_builder_amp['amp-design-selector'] == 3 ) {
31
  register_nav_menus(
includes/options/admin-config.php CHANGED
@@ -29,6 +29,14 @@ $extension_listing = '
29
  <div class="extension_btn">From: $39</div>
30
  </div>
31
  </a></li>
 
 
 
 
 
 
 
 
32
  <li class="first"><a href="http://ampforwp.com/opt-in-forms/#utm_source=options-panel&utm_medium=extension-tab_opt-in-forms&utm_campaign=AMP%20Plugin" target="_blank">
33
  <div class="align_left"><img src="'.AMPFORWP_IMAGE_DIR . '/email.png" /></div>
34
  <div class="extension_desc">
@@ -634,6 +642,7 @@ Redux::setArgs( "redux_builder_amp", $args );
634
  'type' => 'select',
635
  'title' => __( 'Design Selector', 'accelerated-mobile-pages' ),
636
  'subtitle' => __( 'Select your design.', 'accelerated-mobile-pages' ),
 
637
  'options' => array(
638
  '1' => __('Design One', 'accelerated-mobile-pages' ),
639
  '2' => __('Design Two', 'accelerated-mobile-pages' ),
@@ -1858,7 +1867,7 @@ Redux::setArgs( "redux_builder_amp", $args );
1858
  'type' => 'text',
1859
  'title' => __('Tag Manager ID (Container ID)','accelerated-mobile-pages'),
1860
  'default' => '',
1861
- 'desc' => __('Eg: GTM-5XXXXXP','accelerated-mobile-pages'),
1862
  // 'validate' => 'not_empty',
1863
  'required' => array(
1864
  array('amp-use-gtm-option', '=' , '1')
@@ -1968,6 +1977,7 @@ Redux::setArgs( "redux_builder_amp", $args );
1968
  'true' => 'Enabled',
1969
  'false' => 'Disabled',
1970
  ),
 
1971
  array(
1972
  // 'title' => __('Notification text', 'accelerated-mobile-pages'),
1973
  'id' => 'info_normal',
@@ -1975,6 +1985,21 @@ Redux::setArgs( "redux_builder_amp", $args );
1975
  'required' => array('amp-enable-contactform', '=' , '1'),
1976
  'desc' => '<div style=" background: #FFF9C4;padding: 12px;line-height: 1.6;margin: -35px -12px 0 -12px;"><b>ONE LAST STEP REQUIRED:</b> This feature requires <a href="https://ampforwp.com/contact-form-7/#utm_source=options-panel&utm_medium=cf7-tab_cf7_installation_link&utm_campaign=AMP%20Plugin" target="_blank">Contact Form 7 extension</a>.<br /> <div style="margin-top:4px;">(<a href="https://ampforwp.com/contact-form-7/#utm_source=options-panel&utm_medium=cf7-tab_cf7_installation_link&utm_campaign=AMP%20Plugin" target="_blank">Click here for more info</a>)</div></div>',
1977
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1978
  ),
1979
 
1980
  ) );
@@ -2569,6 +2594,36 @@ Redux::setSection( $opt_name, array(
2569
  'desc' => ' <a href="http://ampforwp.com/priority-support/#utm_source=options-panel&utm_medium=extension-tab_priority_support&utm_campaign=AMP%20Plugin" target="_blank"><img class="ampforwp-support-banner" src="'.AMPFORWP_IMAGE_DIR . '/priority-support-banner.png" width="345" height="500" /></a>',
2570
  'icon' => 'el el-hand-right',
2571
  ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2572
  /*
2573
  * <--- END SECTIONS
2574
  */
29
  <div class="extension_btn">From: $39</div>
30
  </div>
31
  </a></li>
32
+ <li class="second"><a href="http://ampforwp.com/gravity-forms/#utm_source=options-panel&utm_medium=extension-tab_gf&utm_campaign=AMP%20Plugin" target="_blank">
33
+ <div class="align_left"><img src="'.AMPFORWP_IMAGE_DIR . '/gf.png" /></div>
34
+ <div class="extension_desc">
35
+ <h2>Gravity Forms</h2>
36
+ <p>Add Gravity Forms Support in AMP.</p>
37
+ <div class="extension_btn">From: $79</div>
38
+ </div>
39
+ </a></li>
40
  <li class="first"><a href="http://ampforwp.com/opt-in-forms/#utm_source=options-panel&utm_medium=extension-tab_opt-in-forms&utm_campaign=AMP%20Plugin" target="_blank">
41
  <div class="align_left"><img src="'.AMPFORWP_IMAGE_DIR . '/email.png" /></div>
42
  <div class="extension_desc">
642
  'type' => 'select',
643
  'title' => __( 'Design Selector', 'accelerated-mobile-pages' ),
644
  'subtitle' => __( 'Select your design.', 'accelerated-mobile-pages' ),
645
+ 'desc' => '<a href="https://ampforwp.com/themes/" target="_blank">View More AMP Themes →</a>',
646
  'options' => array(
647
  '1' => __('Design One', 'accelerated-mobile-pages' ),
648
  '2' => __('Design Two', 'accelerated-mobile-pages' ),
1867
  'type' => 'text',
1868
  'title' => __('Tag Manager ID (Container ID)','accelerated-mobile-pages'),
1869
  'default' => '',
1870
+ 'desc' => __('Eg: GTM-5XXXXXP (<a href="https://ampforwp.com/tutorials/article/gtm-in-amp/">Getting Started?</a>)','accelerated-mobile-pages'),
1871
  // 'validate' => 'not_empty',
1872
  'required' => array(
1873
  array('amp-use-gtm-option', '=' , '1')
1977
  'true' => 'Enabled',
1978
  'false' => 'Disabled',
1979
  ),
1980
+
1981
  array(
1982
  // 'title' => __('Notification text', 'accelerated-mobile-pages'),
1983
  'id' => 'info_normal',
1985
  'required' => array('amp-enable-contactform', '=' , '1'),
1986
  'desc' => '<div style=" background: #FFF9C4;padding: 12px;line-height: 1.6;margin: -35px -12px 0 -12px;"><b>ONE LAST STEP REQUIRED:</b> This feature requires <a href="https://ampforwp.com/contact-form-7/#utm_source=options-panel&utm_medium=cf7-tab_cf7_installation_link&utm_campaign=AMP%20Plugin" target="_blank">Contact Form 7 extension</a>.<br /> <div style="margin-top:4px;">(<a href="https://ampforwp.com/contact-form-7/#utm_source=options-panel&utm_medium=cf7-tab_cf7_installation_link&utm_campaign=AMP%20Plugin" target="_blank">Click here for more info</a>)</div></div>',
1987
  ),
1988
+ array(
1989
+ 'id' =>'amp-enable-gravityforms_support',
1990
+ 'type' => 'switch',
1991
+ 'title' => __('Gravity Forms Support', 'accelerated-mobile-pages'),
1992
+ 'default' => '',
1993
+ 'true' => 'Enabled',
1994
+ 'false' => 'Disabled',
1995
+ ),
1996
+ array(
1997
+ // 'title' => __('Notification text', 'accelerated-mobile-pages'),
1998
+ 'id' => 'info_normal_2',
1999
+ 'type' => 'info',
2000
+ 'required' => array('amp-enable-gravityforms_support', '=' , '1'),
2001
+ 'desc' => '<div style=" background: #FFF9C4;padding: 12px;line-height: 1.6;margin: -35px -12px 0 -12px;"><b>ONE LAST STEP REQUIRED:</b> This feature requires <a href="https://ampforwp.com/gravity-forms/#utm_source=options-panel&utm_medium=gf-tab_gf_installation_link&utm_campaign=AMP%20Plugin" target="_blank">Gravity Forms extension</a>.<br /> <div style="margin-top:4px;">(<a href="https://ampforwp.com/gravity-forms/#utm_source=options-panel&utm_medium=gf-tab_gf_installation_link&utm_campaign=AMP%20Plugin" target="_blank">Click here for more info</a>)</div></div>',
2002
+ ),
2003
  ),
2004
 
2005
  ) );
2594
  'desc' => ' <a href="http://ampforwp.com/priority-support/#utm_source=options-panel&utm_medium=extension-tab_priority_support&utm_campaign=AMP%20Plugin" target="_blank"><img class="ampforwp-support-banner" src="'.AMPFORWP_IMAGE_DIR . '/priority-support-banner.png" width="345" height="500" /></a>',
2595
  'icon' => 'el el-hand-right',
2596
  ) );
2597
+
2598
+
2599
+
2600
+ // Plugin Manager
2601
+ Redux::setSection( $opt_name, array(
2602
+ 'title' => __( 'Plugins Manager', 'accelerated-mobile-pages' ),
2603
+ 'id' => 'opt-plugins-manager',
2604
+ 'subsection' => false,
2605
+ 'desc' => 'You can Disable Plugins only in AMP which are causing AMP validation errors. <a href="http://ampforwp.com/plugins-manager" target="_blank">More Information.</a>',
2606
+ 'icon' => 'el el-magic',
2607
+ 'fields' => array(
2608
+
2609
+ array(
2610
+ 'id' => 'ampforwp-plugin-manager-core',
2611
+ 'type' => 'switch',
2612
+ 'title' => __('Enable Plugin Manager', 'accelerated-mobile-pages'),
2613
+ 'default' => 0
2614
+ ),
2615
+ array(
2616
+ // 'title' => __('Notification text', 'accelerated-mobile-pages'),
2617
+ 'id' => 'info_normal',
2618
+ 'type' => 'info',
2619
+ 'required' => array('ampforwp-plugin-manager-core', '=' , '1'),
2620
+ 'desc' => '<div style=" background: #FFF9C4;padding: 12px;line-height: 1.6;margin: -35px -12px 0 -12px;"><b>ONE LAST STEP REQUIRED:</b> This feature requires <a href="https://ampforwp.com/plugins-manager" target="_blank">AMP Plugin Manager</a>.<br /> <div style="margin-top:4px;">(<a href="https://ampforwp.com/plugins-manager" target="_blank">Click here for more info</a>)</div></div>',
2621
+ ),
2622
+ )
2623
+ ) );
2624
+
2625
+
2626
+
2627
  /*
2628
  * <--- END SECTIONS
2629
  */
includes/redirect.php CHANGED
@@ -21,7 +21,7 @@ function ampforwp_page_template_redirect() {
21
  global $redux_builder_amp;
22
  $post_type = '';
23
 
24
- if($redux_builder_amp['amp-mobile-redirection']){
25
 
26
  if( ampforwp_meta_redirection_status()=='disable' ){
27
  return;
@@ -49,7 +49,7 @@ function ampforwp_page_template_redirect() {
49
  }
50
  }
51
  session_start();
52
- if( $_SESSION['ampforwp_amp_mode']=='mobile-on' && $_SESSION['ampforwp_mobile']=='exit'){
53
  return;
54
  }
55
  if( wp_is_mobile() && $_SESSION['ampforwp_amp_mode']=='mobile-on' && $_GET['nonamp']==1){
21
  global $redux_builder_amp;
22
  $post_type = '';
23
 
24
+ if( isset($redux_builder_amp['amp-mobile-redirection']) && $redux_builder_amp['amp-mobile-redirection']){
25
 
26
  if( ampforwp_meta_redirection_status()=='disable' ){
27
  return;
49
  }
50
  }
51
  session_start();
52
+ if( isset($_SESSION['ampforwp_mobile']) && $_SESSION['ampforwp_amp_mode']=='mobile-on' && $_SESSION['ampforwp_mobile']=='exit'){
53
  return;
54
  }
55
  if( wp_is_mobile() && $_SESSION['ampforwp_amp_mode']=='mobile-on' && $_GET['nonamp']==1){
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: AMP, accelerated mobile pages, mobile, amp project, google amp, amp wp, go
4
  Donate link: https://www.paypal.me/Kaludi/5
5
  Requires at least: 3.0
6
  Tested up to: 4.8.1
7
- Stable tag: 0.9.58.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -29,10 +29,12 @@ Bug reports for AMP for WP are [welcomed on GitHub](https://github.com/ahmedkalu
29
 
30
  = Features: =
31
 
 
 
32
  * NEW - Page Break / NextPage (Pagination) Support
33
  * NEW - Contact Form 7 Support [More Info](https://ampforwp.com/contact-form-7/)
34
  * NEW - Page Builder for AMP! [Watch the Demo](http://ampforwp.com/demo/#pagebuilder) | [How to](https://ampforwp.com/tutorials/page-builder/)
35
- * NEW - Facebook Comments Support
36
  * Github Gist Support
37
  * Email Opt-in Subscription form support in AMP added
38
  * Call to Action boxes and notification bars
@@ -138,6 +140,25 @@ You can contact me using this url: http://ampforwp.com/contact/
138
 
139
  == Changelog ==
140
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
141
  = 0.9.58.1 (9th August 2017) =
142
  * Jetpack conflict issue solved #1038
143
  * Genesis SEO Support added #1013
4
  Donate link: https://www.paypal.me/Kaludi/5
5
  Requires at least: 3.0
6
  Tested up to: 4.8.1
7
+ Stable tag: 0.9.59
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
29
 
30
  = Features: =
31
 
32
+ * NEW - Gravity Forms Support [More Info](https://ampforwp.com/gravity-forms/)
33
+ * NEW - AMP Plugins Manager - Which allows you to disable a specific plugin functionality only in the AMP version
34
  * NEW - Page Break / NextPage (Pagination) Support
35
  * NEW - Contact Form 7 Support [More Info](https://ampforwp.com/contact-form-7/)
36
  * NEW - Page Builder for AMP! [Watch the Demo](http://ampforwp.com/demo/#pagebuilder) | [How to](https://ampforwp.com/tutorials/page-builder/)
37
+ * Facebook Comments Support
38
  * Github Gist Support
39
  * Email Opt-in Subscription form support in AMP added
40
  * Call to Action boxes and notification bars
140
 
141
  == Changelog ==
142
 
143
+ = 0.9.59 (23th August 2017) =
144
+ * Design 3 Images were not aligned properly. Fixed. #1040
145
+ * Caption in the design 3 improved
146
+ * Jetpack File not loading throwing fatal error #1038
147
+ * If the mobile redirection is ON and the category is excluded to display the AMP then it should redirect properly
148
+ * Custom Editor Compatibility issue with SiteOrigin PageBuilder fixed #997
149
+ * Native Twitter Embed support
150
+ * Added a hook after the body tag: ampforwp_body_beginning (commit)
151
+ * GTM in AMP Improved #958
152
+ * WP User Avatar compatibility Added #975
153
+ * Alt tag on frontpage featured image added #1050
154
+ * Blurred Images on the frontpage fixed #1050
155
+ * Need to escape alt tag #1049
156
+ * Debug errors & PHP warnings were fixed #859 #811 #830 #810
157
+ * Proper rel canonicals for inner pages #1047
158
+ * Added Video sanitizer for comments #1053
159
+ * When activating the AMP plugin, display a notification in the popup. #1036
160
+ * Video Sanitizer added for Comments
161
+
162
  = 0.9.58.1 (9th August 2017) =
163
  * Jetpack conflict issue solved #1038
164
  * Genesis SEO Support added #1013
templates/design-manager/design-1/archive.php CHANGED
@@ -35,7 +35,7 @@
35
  </head>
36
 
37
  <body class="<?php echo esc_attr( $this->get( 'body_class' ) ); ?> design_1_wrapper">
38
-
39
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
40
 
41
  <article class="amp-wp-article ampforwp-custom-index amp-wp-home">
35
  </head>
36
 
37
  <body class="<?php echo esc_attr( $this->get( 'body_class' ) ); ?> design_1_wrapper">
38
+ <?php do_action('ampforwp_body_beginning', $this); ?>
39
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
40
 
41
  <article class="amp-wp-article ampforwp-custom-index amp-wp-home">
templates/design-manager/design-1/elements/comments.php CHANGED
@@ -48,7 +48,8 @@ if (!comments_open() || $redux_builder_amp['ampforwp-disqus-comments-support'] |
48
  // Added <p> tag in comments #873
49
  $comment_content = wpautop( $comment_content );
50
 
51
- $sanitizer = new AMPFORWP_Content( $comment_content, array(), apply_filters( 'ampforwp_content_sanitizers', array( 'AMP_Img_Sanitizer' => array() ) ) );
 
52
  $sanitized_comment_content = $sanitizer->get_amp_content();
53
  echo make_clickable( $sanitized_comment_content ); ?>
54
 
48
  // Added <p> tag in comments #873
49
  $comment_content = wpautop( $comment_content );
50
 
51
+ $sanitizer = new AMPFORWP_Content( $comment_content, array(), apply_filters( 'ampforwp_content_sanitizers', array( 'AMP_Img_Sanitizer' => array(),
52
+ 'AMP_Video_Sanitizer' => array() ) ) );
53
  $sanitized_comment_content = $sanitizer->get_amp_content();
54
  echo make_clickable( $sanitized_comment_content ); ?>
55
 
templates/design-manager/design-1/elements/meta-taxonomy.php CHANGED
@@ -47,8 +47,12 @@ if( array_key_exists( 'amp-author-description' , $redux_builder_amp ) && is_sing
47
  <div class="amp_author_area_wrapper">
48
  <?php $post_author = $this->get( 'post_author' );
49
  if ( $post_author ) {
50
-
51
- $author_avatar_url = get_avatar_url( $post_author->user_email, array( 'size' => 70 ) );
 
 
 
 
52
  if ( $author_avatar_url ) { ?>
53
  <amp-img src="<?php echo $author_avatar_url; ?>" width="70" height="70" layout="fixed"></amp-img>
54
  <?php
47
  <div class="amp_author_area_wrapper">
48
  <?php $post_author = $this->get( 'post_author' );
49
  if ( $post_author ) {
50
+ //If Avatar is set up in WP user avatar: grab it
51
+ $author_avatar_url = ampforwp_get_wp_user_avatar();
52
+ //Else : Get the Gravatar
53
+ if($author_avatar_url == null){
54
+ $author_avatar_url = get_avatar_url( $post_author->user_email, array( 'size' => 70 ) );
55
+ }
56
  if ( $author_avatar_url ) { ?>
57
  <amp-img src="<?php echo $author_avatar_url; ?>" width="70" height="70" layout="fixed"></amp-img>
58
  <?php
templates/design-manager/design-1/frontpage.php CHANGED
@@ -24,6 +24,7 @@ $template = new AMP_Post_Template( $post_id );?>
24
  </style>
25
  </head>
26
  <body class="single-post <?php ampforwp_the_body_class(); ?> amp-wp-frontpage design_1_wrapper">
 
27
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
28
 
29
  <?php do_action('ampforwp_frontpage_above_loop',$template, $post_id) ?>
24
  </style>
25
  </head>
26
  <body class="single-post <?php ampforwp_the_body_class(); ?> amp-wp-frontpage design_1_wrapper">
27
+ <?php do_action('ampforwp_body_beginning', $this); ?>
28
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
29
 
30
  <?php do_action('ampforwp_frontpage_above_loop',$template, $post_id) ?>
templates/design-manager/design-1/index.php CHANGED
@@ -12,7 +12,7 @@
12
  </head>
13
 
14
  <body class="<?php echo esc_attr( $this->get( 'body_class' ) ); ?> design_1_wrapper">
15
-
16
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
17
 
18
 
12
  </head>
13
 
14
  <body class="<?php echo esc_attr( $this->get( 'body_class' ) ); ?> design_1_wrapper">
15
+ <?php do_action('ampforwp_body_beginning', $this); ?>
16
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
17
 
18
 
templates/design-manager/design-1/search.php CHANGED
@@ -25,7 +25,7 @@
25
  </head>
26
 
27
  <body class="<?php echo esc_attr( $this->get( 'body_class' ) ); ?> design_1_wrapper">
28
-
29
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
30
 
31
  <article class="amp-wp-article ampforwp-custom-index amp-wp-home">
25
  </head>
26
 
27
  <body class="<?php echo esc_attr( $this->get( 'body_class' ) ); ?> design_1_wrapper">
28
+ <?php do_action('ampforwp_body_beginning', $this); ?>
29
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
30
 
31
  <article class="amp-wp-article ampforwp-custom-index amp-wp-home">
templates/design-manager/design-1/single.php CHANGED
@@ -11,7 +11,7 @@
11
  </head>
12
 
13
  <body class="<?php echo esc_attr( $this->get( 'body_class' ) ); ?> single-post <?php ampforwp_the_body_class(); ?> <?php if(is_page()){ echo'amp-single-page'; };?> design_1_wrapper">
14
-
15
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
16
 
17
  <article class="amp-wp-article">
11
  </head>
12
 
13
  <body class="<?php echo esc_attr( $this->get( 'body_class' ) ); ?> single-post <?php ampforwp_the_body_class(); ?> <?php if(is_page()){ echo'amp-single-page'; };?> design_1_wrapper">
14
+ <?php do_action('ampforwp_body_beginning', $this); ?>
15
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
16
 
17
  <article class="amp-wp-article">
templates/design-manager/design-1/style.php CHANGED
@@ -1,6 +1,9 @@
1
  <?php add_action('amp_post_template_css', 'ampforwp_additional_style_input');
2
  function ampforwp_additional_style_input( $amp_template ) {
3
  global $redux_builder_amp;
 
 
 
4
  $get_customizer = new AMP_Post_Template( $post_id );
5
  $content_max_width = absint( $get_customizer->get( 'content_max_width' ) );
6
  $theme_color = $get_customizer->get_customizer_setting( 'theme_color' );
1
  <?php add_action('amp_post_template_css', 'ampforwp_additional_style_input');
2
  function ampforwp_additional_style_input( $amp_template ) {
3
  global $redux_builder_amp;
4
+ global $post;
5
+ $post_id = '';
6
+ $post_id = $post->ID;
7
  $get_customizer = new AMP_Post_Template( $post_id );
8
  $content_max_width = absint( $get_customizer->get( 'content_max_width' ) );
9
  $theme_color = $get_customizer->get_customizer_setting( 'theme_color' );
templates/design-manager/design-2/archive.php CHANGED
@@ -35,6 +35,7 @@
35
  </style>
36
  </head>
37
  <body class="amp_home_body design_2_wrapper">
 
38
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
39
 
40
  <?php do_action( 'ampforwp_after_header', $this ); ?>
35
  </style>
36
  </head>
37
  <body class="amp_home_body design_2_wrapper">
38
+ <?php do_action('ampforwp_body_beginning', $this); ?>
39
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
40
 
41
  <?php do_action( 'ampforwp_after_header', $this ); ?>
templates/design-manager/design-2/elements/comments.php CHANGED
@@ -47,7 +47,8 @@ if (!comments_open() || $redux_builder_amp['ampforwp-disqus-comments-support'] |
47
  $comment_content = get_comment_text();
48
  // Added <p> tag in comments #873
49
  $comment_content = wpautop( $comment_content );
50
- $sanitizer = new AMPFORWP_Content( $comment_content, array(), apply_filters( 'ampforwp_content_sanitizers', array( 'AMP_Img_Sanitizer' => array() ) ) );
 
51
  $sanitized_comment_content = $sanitizer->get_amp_content();
52
  echo make_clickable( $sanitized_comment_content ); ?>
53
  </div>
47
  $comment_content = get_comment_text();
48
  // Added <p> tag in comments #873
49
  $comment_content = wpautop( $comment_content );
50
+ $sanitizer = new AMPFORWP_Content( $comment_content, array(), apply_filters( 'ampforwp_content_sanitizers', array( 'AMP_Img_Sanitizer' => array(),
51
+ 'AMP_Video_Sanitizer' => array() ) ) );
52
  $sanitized_comment_content = $sanitizer->get_amp_content();
53
  echo make_clickable( $sanitized_comment_content ); ?>
54
  </div>
templates/design-manager/design-2/elements/meta-taxonomy.php CHANGED
@@ -36,8 +36,12 @@ if( array_key_exists( 'amp-author-description' , $redux_builder_amp ) && is_sing
36
  <div class="amp_author_area_wrapper">
37
  <?php $post_author = $this->get( 'post_author' );
38
  if ( $post_author ) {
39
-
40
- $author_avatar_url = get_avatar_url( $post_author->user_email, array( 'size' => 70 ) );
 
 
 
 
41
  if ( $author_avatar_url ) { ?>
42
  <amp-img src="<?php echo $author_avatar_url; ?>" width="70" height="70" layout="fixed"></amp-img>
43
  <?php
36
  <div class="amp_author_area_wrapper">
37
  <?php $post_author = $this->get( 'post_author' );
38
  if ( $post_author ) {
39
+ //If Avatar is set up in WP user avatar: grab it
40
+ $author_avatar_url = ampforwp_get_wp_user_avatar();
41
+ //Else : Get the Gravatar
42
+ if($author_avatar_url == null){
43
+ $author_avatar_url = get_avatar_url( $post_author->user_email, array( 'size' => 70 ) );
44
+ }
45
  if ( $author_avatar_url ) { ?>
46
  <amp-img src="<?php echo $author_avatar_url; ?>" width="70" height="70" layout="fixed"></amp-img>
47
  <?php
templates/design-manager/design-2/frontpage.php CHANGED
@@ -23,6 +23,7 @@ $template = new AMP_Post_Template( $post_id );?>
23
  </style>
24
  </head>
25
  <body class="single-post <?php ampforwp_the_body_class(); ?> design_2_wrapper">
 
26
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
27
 
28
  <?php do_action( 'ampforwp_design_2_frontpage_title', $template ); ?>
23
  </style>
24
  </head>
25
  <body class="single-post <?php ampforwp_the_body_class(); ?> design_2_wrapper">
26
+ <?php do_action('ampforwp_body_beginning', $this); ?>
27
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
28
 
29
  <?php do_action( 'ampforwp_design_2_frontpage_title', $template ); ?>
templates/design-manager/design-2/index.php CHANGED
@@ -11,6 +11,7 @@
11
  </style>
12
  </head>
13
  <body class="amp_home_body design_2_wrapper">
 
14
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
15
  <?php do_action( 'ampforwp_after_header', $this ); ?>
16
  <?php do_action('ampforwp_home_above_loop') ?>
11
  </style>
12
  </head>
13
  <body class="amp_home_body design_2_wrapper">
14
+ <?php do_action('ampforwp_body_beginning', $this); ?>
15
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
16
  <?php do_action( 'ampforwp_after_header', $this ); ?>
17
  <?php do_action('ampforwp_home_above_loop') ?>
templates/design-manager/design-2/search.php CHANGED
@@ -23,6 +23,7 @@
23
  </style>
24
  </head>
25
  <body class="amp_home_body design_2_wrapper">
 
26
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
27
  <?php do_action( 'ampforwp_after_header', $this ); ?>
28
  <main>
23
  </style>
24
  </head>
25
  <body class="amp_home_body design_2_wrapper">
26
+ <?php do_action('ampforwp_body_beginning', $this); ?>
27
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
28
  <?php do_action( 'ampforwp_after_header', $this ); ?>
29
  <main>
templates/design-manager/design-2/single.php CHANGED
@@ -11,6 +11,7 @@
11
  </style>
12
  </head>
13
  <body class="single-post <?php ampforwp_the_body_class(); ?> <?php if(is_page()){ echo'amp-single-page'; };?> design_2_wrapper">
 
14
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
15
 
16
  <?php do_action( 'ampforwp_after_header', $this ); ?>
11
  </style>
12
  </head>
13
  <body class="single-post <?php ampforwp_the_body_class(); ?> <?php if(is_page()){ echo'amp-single-page'; };?> design_2_wrapper">
14
+ <?php do_action('ampforwp_body_beginning', $this); ?>
15
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
16
 
17
  <?php do_action( 'ampforwp_after_header', $this ); ?>
templates/design-manager/design-2/style.php CHANGED
@@ -7,6 +7,9 @@ add_action('amp_post_template_css', 'ampforwp_additional_style_input_2');
7
 
8
  function ampforwp_additional_style_input_2( $amp_template ) {
9
  global $redux_builder_amp;
 
 
 
10
  $get_customizer = new AMP_Post_Template( $post_id );
11
  // Get content width
12
  $content_max_width = absint( $get_customizer->get( 'content_max_width' ) );
@@ -147,6 +150,7 @@ figcaption{ font-size: 11px; margin-bottom: 11px; background: #eee; padding: 6px
147
  .amp-wp-tax-tag{ font-size: 13px; border: 0; display: inline-block; margin: 0.5em 0px 0.7em 0px; width: 100%; }
148
  main .amp-wp-content.featured-image-content{ padding: 0px; border: 0; margin-bottom: 0; box-shadow: none }
149
  .amp-wp-article-featured-image amp-img {margin: 0 auto;}
 
150
  .amp-wp-content.post-pagination-meta{ max-width: 1030px; }
151
  .single-post .ampforwp-social-icons.ampforwp-social-icons-wrapper{ display: block; margin: 2em auto 0.9em auto ; max-width: 1030px; }
152
  .amp-wp-article-header.amp-wp-article-category.ampforwp-meta-taxonomy{ margin: 10px auto; max-width: 1030px; } .ampforwp_single_excerpt { margin-bottom:15px; font-size: 15px;}
7
 
8
  function ampforwp_additional_style_input_2( $amp_template ) {
9
  global $redux_builder_amp;
10
+ global $post;
11
+ $post_id = '';
12
+ $post_id = $post->ID;
13
  $get_customizer = new AMP_Post_Template( $post_id );
14
  // Get content width
15
  $content_max_width = absint( $get_customizer->get( 'content_max_width' ) );
150
  .amp-wp-tax-tag{ font-size: 13px; border: 0; display: inline-block; margin: 0.5em 0px 0.7em 0px; width: 100%; }
151
  main .amp-wp-content.featured-image-content{ padding: 0px; border: 0; margin-bottom: 0; box-shadow: none }
152
  .amp-wp-article-featured-image amp-img {margin: 0 auto;}
153
+ .amp-wp-article-featured-image.wp-caption .wp-caption-text{color: #696969; font-size: 11px; line-height: 15px; background: #eee; margin: 0; padding: .66em .75em; text-align: center;}
154
  .amp-wp-content.post-pagination-meta{ max-width: 1030px; }
155
  .single-post .ampforwp-social-icons.ampforwp-social-icons-wrapper{ display: block; margin: 2em auto 0.9em auto ; max-width: 1030px; }
156
  .amp-wp-article-header.amp-wp-article-category.ampforwp-meta-taxonomy{ margin: 10px auto; max-width: 1030px; } .ampforwp_single_excerpt { margin-bottom:15px; font-size: 15px;}
templates/design-manager/design-3/archive.php CHANGED
@@ -34,6 +34,7 @@
34
  </style>
35
  </head>
36
  <body class="amp_home_body archives_body design_3_wrapper">
 
37
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
38
 
39
  <?php do_action( 'ampforwp_after_header', $this );
34
  </style>
35
  </head>
36
  <body class="amp_home_body archives_body design_3_wrapper">
37
+ <?php do_action('ampforwp_body_beginning', $this); ?>
38
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
39
 
40
  <?php do_action( 'ampforwp_after_header', $this );
templates/design-manager/design-3/elements/comments.php CHANGED
@@ -46,7 +46,8 @@ if (!comments_open() || $redux_builder_amp['ampforwp-disqus-comments-support'] |
46
  $comment_content = get_comment_text();
47
  // Added <p> tag in comments #873
48
  $comment_content = wpautop( $comment_content );
49
- $sanitizer = new AMPFORWP_Content( $comment_content, array(), apply_filters( 'ampforwp_content_sanitizers', array( 'AMP_Img_Sanitizer' => array() ) ) );
 
50
  $sanitized_comment_content = $sanitizer->get_amp_content();
51
  echo make_clickable( $sanitized_comment_content ); ?>
52
  </div>
46
  $comment_content = get_comment_text();
47
  // Added <p> tag in comments #873
48
  $comment_content = wpautop( $comment_content );
49
+ $sanitizer = new AMPFORWP_Content( $comment_content, array(), apply_filters( 'ampforwp_content_sanitizers', array( 'AMP_Img_Sanitizer' => array(),
50
+ 'AMP_Video_Sanitizer' => array() ) ) );
51
  $sanitized_comment_content = $sanitizer->get_amp_content();
52
  echo make_clickable( $sanitized_comment_content ); ?>
53
  </div>
templates/design-manager/design-3/elements/meta-taxonomy.php CHANGED
@@ -22,8 +22,12 @@ if( array_key_exists( 'amp-author-description' , $redux_builder_amp ) && is_sing
22
  <div class="amp_author_area_wrapper">
23
  <?php $post_author = $this->get( 'post_author' );
24
  if ( $post_author ) {
25
-
26
- $author_avatar_url = get_avatar_url( $post_author->user_email, array( 'size' => 70 ) );
 
 
 
 
27
  if ( $author_avatar_url ) { ?>
28
  <amp-img src="<?php echo $author_avatar_url; ?>" width="70" height="70" layout="fixed"></amp-img>
29
  <?php
22
  <div class="amp_author_area_wrapper">
23
  <?php $post_author = $this->get( 'post_author' );
24
  if ( $post_author ) {
25
+ //If Avatar is set up in WP user avatar: grab it
26
+ $author_avatar_url = ampforwp_get_wp_user_avatar();
27
+ //Else : Get the Gravatar
28
+ if($author_avatar_url == null){
29
+ $author_avatar_url = get_avatar_url( $post_author->user_email, array( 'size' => 70 ) );
30
+ }
31
  if ( $author_avatar_url ) { ?>
32
  <amp-img src="<?php echo $author_avatar_url; ?>" width="70" height="70" layout="fixed"></amp-img>
33
  <?php
templates/design-manager/design-3/frontpage.php CHANGED
@@ -24,7 +24,7 @@ $template = new AMP_Post_Template( $post_id );?>
24
  </style>
25
  </head>
26
  <body class="single-post <?php ampforwp_the_body_class(); ?> design_3_wrapper">
27
-
28
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
29
 
30
  <?php do_action( 'ampforwp_design_3_frontpage_title', $template ); ?>
24
  </style>
25
  </head>
26
  <body class="single-post <?php ampforwp_the_body_class(); ?> design_3_wrapper">
27
+ <?php do_action('ampforwp_body_beginning', $this); ?>
28
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
29
 
30
  <?php do_action( 'ampforwp_design_3_frontpage_title', $template ); ?>
templates/design-manager/design-3/index.php CHANGED
@@ -12,6 +12,7 @@
12
  </style>
13
  </head>
14
  <body class="amp_home_body design_3_wrapper">
 
15
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
16
 
17
  <div class="amp-wp-content">
12
  </style>
13
  </head>
14
  <body class="amp_home_body design_3_wrapper">
15
+ <?php do_action('ampforwp_body_beginning', $this); ?>
16
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
17
 
18
  <div class="amp-wp-content">
templates/design-manager/design-3/search.php CHANGED
@@ -24,6 +24,7 @@
24
  </style>
25
  </head>
26
  <body class="amp_home_body archives_body design_3_wrapper">
 
27
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
28
 
29
  <?php do_action( 'ampforwp_after_header', $this ); ?>
24
  </style>
25
  </head>
26
  <body class="amp_home_body archives_body design_3_wrapper">
27
+ <?php do_action('ampforwp_body_beginning', $this); ?>
28
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
29
 
30
  <?php do_action( 'ampforwp_after_header', $this ); ?>
templates/design-manager/design-3/single.php CHANGED
@@ -11,6 +11,7 @@
11
  </style>
12
  </head>
13
  <body class="design_3_wrapper single-post <?php ampforwp_the_body_class(); ?> <?php if(is_page()){ echo'amp-single-page'; };?>">
 
14
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
15
 
16
  <?php do_action( 'ampforwp_after_header', $this ); ?>
11
  </style>
12
  </head>
13
  <body class="design_3_wrapper single-post <?php ampforwp_the_body_class(); ?> <?php if(is_page()){ echo'amp-single-page'; };?>">
14
+ <?php do_action('ampforwp_body_beginning', $this); ?>
15
  <?php $this->load_parts( array( 'header-bar' ) ); ?>
16
 
17
  <?php do_action( 'ampforwp_after_header', $this ); ?>
templates/design-manager/design-3/style.php CHANGED
@@ -2,6 +2,9 @@
2
  add_action('amp_post_template_css', 'ampforwp_additional_style_input_3');
3
  function ampforwp_additional_style_input_3( $amp_template ) {
4
  global $redux_builder_amp;
 
 
 
5
  $get_customizer = new AMP_Post_Template( $post_id );
6
  // Get content width
7
  $colorscheme = $redux_builder_amp['amp-opt-color-rgba-colorscheme']['color'];
@@ -121,7 +124,8 @@ body .amp-loop-list-noimg .amp-wp-post-content{ width:100% }
121
  /* Single */
122
  .single-post main{ margin: 20px 17px 17px 17px; }
123
  .amp-wp-article-content{ font-family:'PT Serif', serif; }
124
- .single-post .post-featured-img, .single-post .amp-wp-article-content amp-img{ margin:0 17px 0px -17px }
 
125
  .ampforwp-title{ padding: 0px 0px 0px 0px; margin-top: 12px; margin-bottom: 12px; }
126
  .comment-button-wrapper{ margin-bottom: 50px; margin-top: 30px; text-align:center }
127
  .comment-button-wrapper a{ color: #fff; background: #312c7e; font-size: 14px; padding: 12px 22px 12px 22px; font-family: 'Roboto Slab', serif; border-radius: 2px; text-transform: uppercase; letter-spacing: 1px; }
@@ -150,6 +154,7 @@ figcaption{ font-size: 11px; line-height: 1.6; margin-bottom: 11px; background:
150
  main .amp-wp-content.featured-image-content{ padding: 0px; border: 0; margin-bottom: 0; box-shadow: none }
151
  .amp-wp-content .amp-wp-article-featured-image amp-img {margin: 0 auto;}
152
  .archives_body main{ margin-top:30px }
 
153
  /* Related Posts */
154
  main .amp-wp-content.relatedpost{ background: none; box-shadow: none; padding:0px 0 0 0; margin:1.8em auto 1.5em auto }
155
  .single-post ,.related-title,.single-post .comments_list h3{ font-size: 20px; color: #777; font-family:'Roboto Slab', serif; border-bottom: 1px solid #eee; font-weight: 400; padding-bottom: 1px; margin-bottom: 10px; }
@@ -284,13 +289,8 @@ table tr:hover td { background: #f2f2f2; background: -webkit-gradient(linear, le
284
 
285
  /* Responsive */
286
  @media screen and (min-width: 650px) { table {display: inline-table;} }
287
- @media screen and (min-width:1034px){
288
- .single-post .amp-wp-article-content amp-img{ margin:0 auto }
289
- }
290
- @media screen and (max-width: 1033px){
291
- .single-post figcaption{ margin: 0px 17px 5px -17px; }
292
- }
293
- @media screen and (max-width: 768px){ .amp-wp-meta{ margin:10px 0px 15px 0px } .home-post_image{ width: 40%; } .amp-loop-list .amp-wp-post-content{ width: 58%; } .amp-loop-list .featured_time{line-height:1} .single-post main .amp-wp-content h1{ line-height:1.4; font-size: 30px;} .single-post .alignright amp-img, .alignright figcaption{margin:0 -17px 0 17px} .alignnone figcaption{margin:0px -17px 5px -17px} }
294
  @media screen and (max-width: 600px){ .amp-loop-list .amp-wp-tags{display:none} }
295
  @media screen and (max-width: 530px){ .home-post_image{ width: 35%; } .amp-loop-list .amp-wp-post-content{ width: 63%; } .amp-wp-post-content p { font-size: 12px; } .related_posts ol li p { line-height: 1.6; margin: 7px 0 0 0;} .comments_list ul li .comment-body {width:auto} .amp-category-block li:nth-child(3) {margin:0} }
296
  @media screen and (max-width: 425px){ .home-post_image{ /* width: 125px;*/ width: 31.6%; overflow: hidden; height: 100px; /* margin-right: 13px; */ margin-right: 3%; } .home-post_image amp-img{ width: 144%; left: -20%; } h2.amp-wp-title{ margin-bottom: 7px; line-height: 1.31578947; font-size: 19px; position:relative;top:-3px } h2.amp-wp-title a{ color:#262626} .amp-loop-list{padding:25px 15px 22px 15px} .amp-loop-list .amp-wp-post-content{ width: 63%; } .amp-loop-list .amp-wp-post-content p, .related_posts .related_link p{ display:none } .related_posts .related_link a{ font-size: 18px; line-height: 1.7; } .ampforwp-tax-category{ padding-bottom:0 } .amp-wp-byline{ padding:0 } .related_posts .related_link a{ font-size: 17px; line-height: 1.5; } .single-post main .amp-wp-content h1{ line-height: 1.3; font-size: 26px;} .icono-share{display:none} .ampforwp-social-icons amp-social-share{ margin-right: 3px;} main .amp-wp-content{ font-size: 16px; line-height: 26px;} .single-post .amp_author_area .amp_author_area_wrapper{font-size:13px;} .amp-category-post{ font-size:12px; color:#666 } }
@@ -336,9 +336,6 @@ amp-user-notification button { background-color: <?php echo $redux_builder_amp[
336
  <?php if( $redux_builder_amp['enable-single-social-icons'] == true && is_socialshare_or_socialsticky_enabled_in_ampforwp() ) { ?>
337
  .single-post footer { padding-bottom: 41px;}
338
  <?php } ?>
339
- .single-post .alignnone amp-img{ padding: 17px;margin-bottom:0px}
340
- .single-post amp-img.alignleft, amp-anim.alignleft{ margin-right: 15px; margin-bottom:5px; float: left;}
341
- .single-post amp-img.alignright, amp-anim.alignright{ float:right; margin: 0px -17px 17px 0; }
342
  .amp-wp-author:before{ content: " <?php global $redux_builder_amp; echo ampforwp_translation($redux_builder_amp['amp-translator-published-by'], 'Published by' );?> ";}
343
  .ampforwp-tax-category span:last-child:after { content: ' ';}
344
  .ampforwp-tax-category span:after{ content: ', ';}
@@ -409,6 +406,5 @@ if ( class_exists('TablePress') ) { ?>
409
  @media (min-width: 768px) and (max-width: 1600px){ .tablepress{ overflow-x: none; } }
410
  @media (min-width: 320px) and (max-width: 767px){ .tablepress{ display: inline-block; overflow-x: scroll; } }
411
  <?php } ?>
412
- p.wp-caption-text{ text-align: center }
413
 
414
  <?php echo $redux_builder_amp['css_editor']; } ?>
2
  add_action('amp_post_template_css', 'ampforwp_additional_style_input_3');
3
  function ampforwp_additional_style_input_3( $amp_template ) {
4
  global $redux_builder_amp;
5
+ global $post;
6
+ $post_id = '';
7
+ $post_id = $post->ID;
8
  $get_customizer = new AMP_Post_Template( $post_id );
9
  // Get content width
10
  $colorscheme = $redux_builder_amp['amp-opt-color-rgba-colorscheme']['color'];
124
  /* Single */
125
  .single-post main{ margin: 20px 17px 17px 17px; }
126
  .amp-wp-article-content{ font-family:'PT Serif', serif; }
127
+ .single-post .post-featured-img{ margin:0 -17px 0px -17px }
128
+ .amp-wp-article-featured-image.wp-caption .wp-caption-text{color: #696969; font-size: 11px; line-height: 15px; background: #eee; margin: 0; padding: .66em .75em; text-align: center;}
129
  .ampforwp-title{ padding: 0px 0px 0px 0px; margin-top: 12px; margin-bottom: 12px; }
130
  .comment-button-wrapper{ margin-bottom: 50px; margin-top: 30px; text-align:center }
131
  .comment-button-wrapper a{ color: #fff; background: #312c7e; font-size: 14px; padding: 12px 22px 12px 22px; font-family: 'Roboto Slab', serif; border-radius: 2px; text-transform: uppercase; letter-spacing: 1px; }
154
  main .amp-wp-content.featured-image-content{ padding: 0px; border: 0; margin-bottom: 0; box-shadow: none }
155
  .amp-wp-content .amp-wp-article-featured-image amp-img {margin: 0 auto;}
156
  .archives_body main{ margin-top:30px }
157
+ .single-post .amp-wp-article-content amp-img{ max-width:100% }
158
  /* Related Posts */
159
  main .amp-wp-content.relatedpost{ background: none; box-shadow: none; padding:0px 0 0 0; margin:1.8em auto 1.5em auto }
160
  .single-post ,.related-title,.single-post .comments_list h3{ font-size: 20px; color: #777; font-family:'Roboto Slab', serif; border-bottom: 1px solid #eee; font-weight: 400; padding-bottom: 1px; margin-bottom: 10px; }
289
 
290
  /* Responsive */
291
  @media screen and (min-width: 650px) { table {display: inline-table;} }
292
+
293
+ @media screen and (max-width: 768px){ .amp-wp-meta{ margin:10px 0px 15px 0px } .home-post_image{ width: 40%; } .amp-loop-list .amp-wp-post-content{ width: 58%; } .amp-loop-list .featured_time{line-height:1} .single-post main .amp-wp-content h1{ line-height:1.4; font-size: 30px;} }
 
 
 
 
 
294
  @media screen and (max-width: 600px){ .amp-loop-list .amp-wp-tags{display:none} }
295
  @media screen and (max-width: 530px){ .home-post_image{ width: 35%; } .amp-loop-list .amp-wp-post-content{ width: 63%; } .amp-wp-post-content p { font-size: 12px; } .related_posts ol li p { line-height: 1.6; margin: 7px 0 0 0;} .comments_list ul li .comment-body {width:auto} .amp-category-block li:nth-child(3) {margin:0} }
296
  @media screen and (max-width: 425px){ .home-post_image{ /* width: 125px;*/ width: 31.6%; overflow: hidden; height: 100px; /* margin-right: 13px; */ margin-right: 3%; } .home-post_image amp-img{ width: 144%; left: -20%; } h2.amp-wp-title{ margin-bottom: 7px; line-height: 1.31578947; font-size: 19px; position:relative;top:-3px } h2.amp-wp-title a{ color:#262626} .amp-loop-list{padding:25px 15px 22px 15px} .amp-loop-list .amp-wp-post-content{ width: 63%; } .amp-loop-list .amp-wp-post-content p, .related_posts .related_link p{ display:none } .related_posts .related_link a{ font-size: 18px; line-height: 1.7; } .ampforwp-tax-category{ padding-bottom:0 } .amp-wp-byline{ padding:0 } .related_posts .related_link a{ font-size: 17px; line-height: 1.5; } .single-post main .amp-wp-content h1{ line-height: 1.3; font-size: 26px;} .icono-share{display:none} .ampforwp-social-icons amp-social-share{ margin-right: 3px;} main .amp-wp-content{ font-size: 16px; line-height: 26px;} .single-post .amp_author_area .amp_author_area_wrapper{font-size:13px;} .amp-category-post{ font-size:12px; color:#666 } }
336
  <?php if( $redux_builder_amp['enable-single-social-icons'] == true && is_socialshare_or_socialsticky_enabled_in_ampforwp() ) { ?>
337
  .single-post footer { padding-bottom: 41px;}
338
  <?php } ?>
 
 
 
339
  .amp-wp-author:before{ content: " <?php global $redux_builder_amp; echo ampforwp_translation($redux_builder_amp['amp-translator-published-by'], 'Published by' );?> ";}
340
  .ampforwp-tax-category span:last-child:after { content: ' ';}
341
  .ampforwp-tax-category span:after{ content: ', ';}
406
  @media (min-width: 768px) and (max-width: 1600px){ .tablepress{ overflow-x: none; } }
407
  @media (min-width: 320px) and (max-width: 767px){ .tablepress{ display: inline-block; overflow-x: scroll; } }
408
  <?php } ?>
 
409
 
410
  <?php echo $redux_builder_amp['css_editor']; } ?>
templates/features.php CHANGED
@@ -199,8 +199,7 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
199
  if ( is_home() || is_front_page() || is_archive() ){
200
  global $wp;
201
  $current_archive_url = home_url( $wp->request );
202
- $amp_url = trailingslashit($current_archive_url).'amp';
203
-
204
  } else {
205
  $amp_url = amp_get_permalink( get_queried_object_id() );
206
  }
@@ -219,7 +218,7 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
219
  $supported_types[] = $custom_post;
220
  }
221
  }
222
- }
223
 
224
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
225
  if( is_plugin_active( 'amp-woocommerce/amp-woocommerce.php' ) ) {
@@ -232,14 +231,8 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
232
  $supported_amp_post_types = in_array( $type , $supported_types );
233
 
234
  $query_arg_array = $wp->query_vars;
235
-
236
  if( array_key_exists( 'paged' , $query_arg_array ) ) {
237
- if ( ( is_home() || is_front_page() ) && $wp->query_vars['paged'] >= '2' ) {
238
- $new_url = home_url('/');
239
- $new_url = $new_url . AMPFORWP_AMP_QUERY_VAR . '/' . $wp->request ;
240
- $amp_url = $new_url ;
241
- }
242
- if ( is_archive() && $wp->query_vars['paged'] >= '2' ) {
243
  $new_url = home_url('/');
244
  $category_path = $wp->request;
245
  $explode_path = explode("/",$category_path);
@@ -262,7 +255,7 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
262
  $amp_url = apply_filters('ampforwp_modify_rel_canonical',$amp_url);
263
 
264
  if( $supported_amp_post_types) {
265
- printf( '<link rel="amphtml" href="%s" />', esc_url( $amp_url ) );
266
  }
267
 
268
  }
@@ -925,6 +918,8 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
925
  // $content = preg_replace('/<img*/', '<amp-img', $content); // Fallback for plugins
926
  // Removing the type attribute from the <ul>
927
  $content = preg_replace('/<ul(.*?)type=".*?"(.*?)/','<ul $1',$content);
 
 
928
  return $content;
929
  }
930
 
@@ -1082,7 +1077,7 @@ function ampforwp_get_all_post_types(){
1082
  global $redux_builder_amp;
1083
 
1084
  $post_types = array('post' => 'post', 'page' => 'page');
1085
- if ( $redux_builder_amp['ampforwp-custom-type'] ) {
1086
  $post_types = array_merge($post_types, $redux_builder_amp['ampforwp-custom-type']);
1087
  }
1088
  return $post_types;
@@ -1126,7 +1121,7 @@ function ampforwp_title_callback( $post ) {
1126
 
1127
  // TODO: Move the data storage code, to Save meta Box area as it is not a good idea to update an option everytime, try adding this code inside ampforwp_title_meta_save()
1128
  // This code needs a rewrite.
1129
- if ( $ampforwp_stored_meta['ampforwp-amp-on-off'][0] == 'hide-amp') {
1130
  $exclude_post_value = get_option('ampforwp_exclude_post');
1131
  if ( $exclude_post_value == null ) {
1132
  $exclude_post_value[] = 0;
@@ -1211,7 +1206,7 @@ function ampforwp_title_callback_redirection( $post ) {
1211
 
1212
  // TODO: Move the data storage code, to Save meta Box area as it is not a good idea to update an option everytime, try adding this code inside ampforwp_title_meta_save()
1213
  // This code needs a rewrite.
1214
- if ( $ampforwp_redirection_stored_meta['ampforwp-redirection-on-off'][0] == 'disable') {
1215
  $exclude_post_value = get_option('ampforwp_exclude_post');
1216
  if ( $exclude_post_value == null ) {
1217
  $exclude_post_value[] = 0;
@@ -1438,6 +1433,11 @@ function ampforwp_remove_schema_data() {
1438
  ampforwp_remove_filters_for_class( 'the_content', 'ICWP_WPTB_CssProcessor_V1', 'run', 10 );
1439
  //Perfect SEO url + Yoast SEO Compatibility #982
1440
  ampforwp_remove_filters_for_class( 'wpseo_canonical', 'PSU', 'canonical', 10 );
 
 
 
 
 
1441
  }
1442
  //Removing the WPTouch Pro social share links from AMP
1443
  remove_filter( 'the_content', 'foundation_handle_share_links_bottom', 100 );
@@ -1538,9 +1538,13 @@ function ampforwp_custom_yoast_meta(){
1538
  do_action( 'wpseo_opengraph' );
1539
  }
1540
  }//execute only if Glue is deactive
1541
- echo strip_tags($redux_builder_amp['ampforwp-seo-custom-additional-meta'], '<link><meta>' );
 
 
1542
  } else {
1543
- echo strip_tags($redux_builder_amp['ampforwp-seo-custom-additional-meta'], '<link><meta>' );
 
 
1544
  }
1545
  }
1546
 
@@ -1886,15 +1890,24 @@ add_action('wp','ampforwp_remove_crazy_lazy_support',9);
1886
  add_action('init', 'amp_gtm_remove_analytics_code');
1887
  function amp_gtm_remove_analytics_code() {
1888
  global $redux_builder_amp;
1889
- if( $redux_builder_amp['amp-use-gtm-option'] ) {
1890
  remove_action('amp_post_template_footer','ampforwp_analytics',11);
1891
  remove_action('amp_post_template_head','ampforwp_register_analytics_script', 20);
 
 
1892
  } else {
1893
  remove_filter( 'amp_post_template_analytics', 'amp_gtm_add_gtm_support' );
1894
 
1895
  }
1896
  }
1897
-
 
 
 
 
 
 
 
1898
  // Create GTM support
1899
  add_filter( 'amp_post_template_analytics', 'amp_gtm_add_gtm_support' );
1900
  function amp_gtm_add_gtm_support( $analytics ) {
@@ -2175,7 +2188,7 @@ function ampforwp_add_widget_support() {
2175
  'after_title' => '</h4>'
2176
  ));
2177
 
2178
- if ( $redux_builder_amp['ampforwp-content-builder'] ) {
2179
  $desc = "Drag and Drop the AMP Modules in this Widget Area and then assign this widget area to a page <a href=http://ampforwp.com/tutorials/page-builder>(Need Help?)</a>";
2180
  $placeholder = 'PLACEHOLDER';
2181
  register_sidebar(array(
@@ -2298,7 +2311,7 @@ function ampforwp_auto_add_amp_in_link_check() {
2298
 
2299
  function ampforwp_auto_add_amp_in_menu_link( $atts, $item, $args ) {
2300
 
2301
- $atts['href'] = trailingslashit( $atts['href'] ) . AMPFORWP_AMP_QUERY_VAR;
2302
  return $atts;
2303
  }
2304
 
@@ -2361,7 +2374,7 @@ function ampforwp_search_or_homepage_or_staticpage_metadata( $metadata, $post )
2361
  'width' => $structured_data_width,
2362
  );
2363
 
2364
- $metadata['mainEntityOfPage'] = $current_url; // proper URL added
2365
  $metadata['headline'] = $headline; // proper headline added
2366
  }
2367
  return $metadata;
@@ -2796,7 +2809,8 @@ function ampforwp_frontpage_comments() {
2796
  $emoji_content = get_comment_text();
2797
  // $emoji_free_comments = preg_replace($pattern,'',$emoji_content);
2798
  $emoji_content = wpautop( $emoji_content );
2799
- $sanitizer = new AMPFORWP_Content( $emoji_content, array(), apply_filters( 'ampforwp_content_sanitizers', array( 'AMP_Img_Sanitizer' => array() ) ) );
 
2800
  $sanitized_comment_content = $sanitizer->get_amp_content();
2801
  echo make_clickable( $sanitized_comment_content );
2802
  ?>
@@ -2822,18 +2836,13 @@ function ampforwp_frontpage_comments() {
2822
  </ul>
2823
  </div>
2824
  <?php
2825
- if ( comments_open($postID) ) { ?>
 
 
2826
  <div class="comment-button-wrapper">
2827
  <a href="<?php echo esc_url( trailingslashit( $comment_button_url ) ) .'?nonamp=1'.'#commentform' ?>" rel="nofollow"><?php echo ampforwp_translation( $redux_builder_amp['amp-translator-leave-a-comment-text'], 'Leave a Comment' ); ?></a>
2828
  </div><?php
2829
- }
2830
- } else {
2831
- if ( !comments_open() ) { ?>
2832
- <div class="comment-button-wrapper">
2833
- <a href="<?php echo esc_url( trailingslashit( $comment_button_url ) ) .'?nonamp=1'.'#commentform' ?>" rel="nofollow"><?php echo ampforwp_translation( $redux_builder_amp['amp-translator-leave-a-comment-text'], 'Leave a Comment' ); ?></a>
2834
- </div>
2835
- <?php }
2836
- }?>
2837
  </div> <?php
2838
  }
2839
  }
@@ -3057,7 +3066,7 @@ add_action('init', 'fb_instant_article_feed_generator');
3057
 
3058
  function fb_instant_article_feed_generator() {
3059
  global $redux_builder_amp;
3060
- if( $redux_builder_amp['fb-instant-article-switch'] ) {
3061
  add_feed('instant_articles', 'fb_instant_article_feed_function');
3062
  }
3063
  }
@@ -3071,7 +3080,7 @@ function fb_instant_article_feed_function() {
3071
  function ampforwp_post_pagination( $args = '' ) {
3072
 
3073
  wp_reset_postdata();
3074
- global $page, $numpages, $multipage, $more;
3075
 
3076
  $defaults = array(
3077
  'before' => '<p>' . __( 'Page:' ),
@@ -3140,10 +3149,12 @@ function ampforwp_post_pagination( $args = '' ) {
3140
  * @param array $args An array of arguments.
3141
  */
3142
  $html = apply_filters( 'ampforwp_post_pagination', $output, $args );
3143
- if ( $r['echo'] ) {
3144
- echo $html;
3145
- }
3146
- return $html;
 
 
3147
 
3148
  }
3149
 
@@ -3288,41 +3299,34 @@ function ampforwp_rel_canonical_home_archive(){
3288
  $amp_url = '';
3289
  $remove = '';
3290
  $query_arg_array = '';
 
 
3291
 
3292
- if ( is_home() && !$redux_builder_amp['amp-frontpage-select-option'] || ( is_archive() && $redux_builder_amp['ampforwp-archive-support'] ) ){
3293
  $current_archive_url = home_url( $wp->request );
3294
  $amp_url = trailingslashit($current_archive_url);
3295
  $remove = '/'. AMPFORWP_AMP_QUERY_VAR;
3296
- $amp_url = str_replace($remove, '', $amp_url) ;?>
3297
- <link rel="canonical" href="<?php echo $amp_url ?>">
3298
- <?php }
3299
-
3300
- if((is_front_page() || is_home() ) && $redux_builder_amp['amp-frontpage-select-option'] ){
3301
  $query_arg_array = $wp->query_vars;
3302
- $page = '' ;
3303
  if( array_key_exists( "page" , $query_arg_array ) ) {
3304
  $page = $wp->query_vars['page'];
3305
  }
3306
- if ( $page >= '2') { ?>
3307
- <link rel="canonical" href="<?php
3308
- echo trailingslashit( home_url() ) . '?page=' . $page ?>"> <?php
3309
- } else { ?>
3310
- <link rel="canonical" href="<?php
3311
- echo trailingslashit( home_url() ) ?>"> <?php
3312
- }
3313
- }
3314
  }
3315
 
3316
- // 71. Alt tag for thumbnails #1013 and For Post ID in Body tag #1006
3317
- //Alt tag for thumbnails #1013
3318
  function ampforwp_thumbnail_alt(){
3319
  $thumb_id = '';
3320
  $thumb_alt = '';
3321
  $thumb_id = get_post_thumbnail_id();
3322
- $thumb_alt = get_post_meta( $thumb_id, '_wp_attachment_image_alt', true);
3323
-
3324
- if($thumb_alt){
3325
- echo "alt = '$thumb_alt'";
3326
  }
3327
  }
3328
  // For Post ID in Body tag #1006
@@ -3450,3 +3454,15 @@ function ampforwp_generate_meta_desc(){
3450
  }
3451
  return $desc;
3452
  }
 
 
 
 
 
 
 
 
 
 
 
 
199
  if ( is_home() || is_front_page() || is_archive() ){
200
  global $wp;
201
  $current_archive_url = home_url( $wp->request );
202
+ $amp_url = trailingslashit(trailingslashit($current_archive_url).'amp');
 
203
  } else {
204
  $amp_url = amp_get_permalink( get_queried_object_id() );
205
  }
218
  $supported_types[] = $custom_post;
219
  }
220
  }
221
+ }
222
 
223
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
224
  if( is_plugin_active( 'amp-woocommerce/amp-woocommerce.php' ) ) {
231
  $supported_amp_post_types = in_array( $type , $supported_types );
232
 
233
  $query_arg_array = $wp->query_vars;
 
234
  if( array_key_exists( 'paged' , $query_arg_array ) ) {
235
+ if ( (is_home() || is_archive()) && $wp->query_vars['paged'] >= '2' ) {
 
 
 
 
 
236
  $new_url = home_url('/');
237
  $category_path = $wp->request;
238
  $explode_path = explode("/",$category_path);
255
  $amp_url = apply_filters('ampforwp_modify_rel_canonical',$amp_url);
256
 
257
  if( $supported_amp_post_types) {
258
+ printf( '<link rel="amphtml" href="%s" />', esc_url(trailingslashit($amp_url) ));
259
  }
260
 
261
  }
918
  // $content = preg_replace('/<img*/', '<amp-img', $content); // Fallback for plugins
919
  // Removing the type attribute from the <ul>
920
  $content = preg_replace('/<ul(.*?)type=".*?"(.*?)/','<ul $1',$content);
921
+ //Convert the Twitter embed into url for better sanitization #1010
922
+ $content = preg_replace('/<blockquote.+?(?=class="twitter-tweet")class="twitter-tweet".+?(https:\/\/twitter\.com\/\w+\/\w+\/.*?)".+?(?=<\/blockquote>)<\/blockquote>/s', "$1", $content);
923
  return $content;
924
  }
925
 
1077
  global $redux_builder_amp;
1078
 
1079
  $post_types = array('post' => 'post', 'page' => 'page');
1080
+ if ( isset($redux_builder_amp['ampforwp-custom-type']) && $redux_builder_amp['ampforwp-custom-type'] ) {
1081
  $post_types = array_merge($post_types, $redux_builder_amp['ampforwp-custom-type']);
1082
  }
1083
  return $post_types;
1121
 
1122
  // TODO: Move the data storage code, to Save meta Box area as it is not a good idea to update an option everytime, try adding this code inside ampforwp_title_meta_save()
1123
  // This code needs a rewrite.
1124
+ if ( ! isset($ampforwp_stored_meta['ampforwp-amp-on-off'][0]) || $ampforwp_stored_meta['ampforwp-amp-on-off'][0] == 'hide-amp') {
1125
  $exclude_post_value = get_option('ampforwp_exclude_post');
1126
  if ( $exclude_post_value == null ) {
1127
  $exclude_post_value[] = 0;
1206
 
1207
  // TODO: Move the data storage code, to Save meta Box area as it is not a good idea to update an option everytime, try adding this code inside ampforwp_title_meta_save()
1208
  // This code needs a rewrite.
1209
+ if ( !isset($ampforwp_redirection_stored_meta['ampforwp-redirection-on-off'][0]) || $ampforwp_redirection_stored_meta['ampforwp-redirection-on-off'][0] == 'disable') {
1210
  $exclude_post_value = get_option('ampforwp_exclude_post');
1211
  if ( $exclude_post_value == null ) {
1212
  $exclude_post_value[] = 0;
1433
  ampforwp_remove_filters_for_class( 'the_content', 'ICWP_WPTB_CssProcessor_V1', 'run', 10 );
1434
  //Perfect SEO url + Yoast SEO Compatibility #982
1435
  ampforwp_remove_filters_for_class( 'wpseo_canonical', 'PSU', 'canonical', 10 );
1436
+ //SiteOrigin Page builder compatibilty
1437
+ //Neglect SOPB If Custom AMP Editor is checked
1438
+ if ( $amp_custom_content_enable === 'yes') {
1439
+ ampforwp_remove_filters_for_class( 'the_content', 'SiteOrigin_Panels', 'generate_post_content', 10 );
1440
+ }
1441
  }
1442
  //Removing the WPTouch Pro social share links from AMP
1443
  remove_filter( 'the_content', 'foundation_handle_share_links_bottom', 100 );
1538
  do_action( 'wpseo_opengraph' );
1539
  }
1540
  }//execute only if Glue is deactive
1541
+ if(isset($redux_builder_amp['ampforwp-seo-custom-additional-meta']) && $redux_builder_amp['ampforwp-seo-custom-additional-meta']){
1542
+ echo strip_tags($redux_builder_amp['ampforwp-seo-custom-additional-meta'], '<link><meta>' );
1543
+ }
1544
  } else {
1545
+ if(isset($redux_builder_amp['ampforwp-seo-custom-additional-meta']) && $redux_builder_amp['ampforwp-seo-custom-additional-meta']){
1546
+ echo strip_tags($redux_builder_amp['ampforwp-seo-custom-additional-meta'], '<link><meta>' );
1547
+ }
1548
  }
1549
  }
1550
 
1890
  add_action('init', 'amp_gtm_remove_analytics_code');
1891
  function amp_gtm_remove_analytics_code() {
1892
  global $redux_builder_amp;
1893
+ if( isset($redux_builder_amp['amp-use-gtm-option']) && $redux_builder_amp['amp-use-gtm-option'] ) {
1894
  remove_action('amp_post_template_footer','ampforwp_analytics',11);
1895
  remove_action('amp_post_template_head','ampforwp_register_analytics_script', 20);
1896
+ //Add GTM Analytics code right after the body tag
1897
+ add_action('ampforwp_body_beginning','amp_post_template_add_analytics_data',10);
1898
  } else {
1899
  remove_filter( 'amp_post_template_analytics', 'amp_gtm_add_gtm_support' );
1900
 
1901
  }
1902
  }
1903
+ //Remove other analytics if GTM is enable
1904
+ add_action('amp_post_template_footer','ampforwp_gtm_support', 9);
1905
+ function ampforwp_gtm_support(){
1906
+ global $redux_builder_amp;
1907
+ if( isset($redux_builder_amp['amp-use-gtm-option']) && $redux_builder_amp['amp-use-gtm-option'] ) {
1908
+ remove_action( 'amp_post_template_footer', 'amp_post_template_add_analytics_data' );
1909
+ }
1910
+ }
1911
  // Create GTM support
1912
  add_filter( 'amp_post_template_analytics', 'amp_gtm_add_gtm_support' );
1913
  function amp_gtm_add_gtm_support( $analytics ) {
2188
  'after_title' => '</h4>'
2189
  ));
2190
 
2191
+ if ( isset($redux_builder_amp['ampforwp-content-builder']) && $redux_builder_amp['ampforwp-content-builder'] ) {
2192
  $desc = "Drag and Drop the AMP Modules in this Widget Area and then assign this widget area to a page <a href=http://ampforwp.com/tutorials/page-builder>(Need Help?)</a>";
2193
  $placeholder = 'PLACEHOLDER';
2194
  register_sidebar(array(
2311
 
2312
  function ampforwp_auto_add_amp_in_menu_link( $atts, $item, $args ) {
2313
 
2314
+ $atts['href'] = trailingslashit(trailingslashit( $atts['href'] ) . AMPFORWP_AMP_QUERY_VAR);
2315
  return $atts;
2316
  }
2317
 
2374
  'width' => $structured_data_width,
2375
  );
2376
 
2377
+ $metadata['mainEntityOfPage'] = trailingslashit($current_url); // proper URL added
2378
  $metadata['headline'] = $headline; // proper headline added
2379
  }
2380
  return $metadata;
2809
  $emoji_content = get_comment_text();
2810
  // $emoji_free_comments = preg_replace($pattern,'',$emoji_content);
2811
  $emoji_content = wpautop( $emoji_content );
2812
+ $sanitizer = new AMPFORWP_Content( $emoji_content, array(), apply_filters( 'ampforwp_content_sanitizers', array( 'AMP_Img_Sanitizer' => array(),
2813
+ 'AMP_Video_Sanitizer' => array() ) ) );
2814
  $sanitized_comment_content = $sanitizer->get_amp_content();
2815
  echo make_clickable( $sanitized_comment_content );
2816
  ?>
2836
  </ul>
2837
  </div>
2838
  <?php
2839
+
2840
+ }
2841
+ if ( comments_open($postID) ) { ?>
2842
  <div class="comment-button-wrapper">
2843
  <a href="<?php echo esc_url( trailingslashit( $comment_button_url ) ) .'?nonamp=1'.'#commentform' ?>" rel="nofollow"><?php echo ampforwp_translation( $redux_builder_amp['amp-translator-leave-a-comment-text'], 'Leave a Comment' ); ?></a>
2844
  </div><?php
2845
+ }?>
 
 
 
 
 
 
 
2846
  </div> <?php
2847
  }
2848
  }
3066
 
3067
  function fb_instant_article_feed_generator() {
3068
  global $redux_builder_amp;
3069
+ if( isset($redux_builder_amp['fb-instant-article-switch']) && $redux_builder_amp['fb-instant-article-switch'] ) {
3070
  add_feed('instant_articles', 'fb_instant_article_feed_function');
3071
  }
3072
  }
3080
  function ampforwp_post_pagination( $args = '' ) {
3081
 
3082
  wp_reset_postdata();
3083
+ global $page, $numpages, $multipage, $more, $redux_builder_amp;
3084
 
3085
  $defaults = array(
3086
  'before' => '<p>' . __( 'Page:' ),
3149
  * @param array $args An array of arguments.
3150
  */
3151
  $html = apply_filters( 'ampforwp_post_pagination', $output, $args );
3152
+ if($redux_builder_amp['amp-pagination']) {
3153
+ if ( $r['echo'] ) {
3154
+ echo $html;
3155
+ }
3156
+ return $html;
3157
+ }
3158
 
3159
  }
3160
 
3299
  $amp_url = '';
3300
  $remove = '';
3301
  $query_arg_array = '';
3302
+ $page = '' ;
3303
+
3304
 
3305
+ if ( is_home() || is_front_page() || is_archive() && $redux_builder_amp['ampforwp-archive-support'] ) {
3306
  $current_archive_url = home_url( $wp->request );
3307
  $amp_url = trailingslashit($current_archive_url);
3308
  $remove = '/'. AMPFORWP_AMP_QUERY_VAR;
3309
+ $amp_url = str_replace($remove, '', $amp_url);
 
 
 
 
3310
  $query_arg_array = $wp->query_vars;
 
3311
  if( array_key_exists( "page" , $query_arg_array ) ) {
3312
  $page = $wp->query_vars['page'];
3313
  }
3314
+ if ( $page >= '2') {
3315
+ $amp_url = trailingslashit( $amp_url . '?page=' . $page);
3316
+ } ?>
3317
+ <link rel="canonical" href="<?php echo trailingslashit($amp_url) ?>">
3318
+ <?php }
3319
+
 
 
3320
  }
3321
 
3322
+ // 71. Alt tag for thumbnails #1013
 
3323
  function ampforwp_thumbnail_alt(){
3324
  $thumb_id = '';
3325
  $thumb_alt = '';
3326
  $thumb_id = get_post_thumbnail_id();
3327
+ $thumb_alt = get_post_meta( $thumb_id, '_wp_attachment_image_alt', true) ;
3328
+ if($thumb_alt){
3329
+ echo 'alt = "'. esc_attr($thumb_alt). '"';
 
3330
  }
3331
  }
3332
  // For Post ID in Body tag #1006
3454
  }
3455
  return $desc;
3456
  }
3457
+
3458
+ //Compatibility with WP User Avatar #975
3459
+ function ampforwp_get_wp_user_avatar(){
3460
+ include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
3461
+ if(is_plugin_active( 'wp-user-avatar/wp-user-avatar.php' )){
3462
+ if(class_exists('WP_User_Avatar_Functions')){
3463
+ $user_avatar_url = '';
3464
+ $user_avatar_url = get_wp_user_avatar_src();
3465
+ return $user_avatar_url;
3466
+ }
3467
+ }
3468
+ }
templates/frontpage-elements.php CHANGED
@@ -44,9 +44,18 @@ function ampforwp_design_1_frontpage_content( $template, $post_id ){
44
 
45
  <?php if (has_post_thumbnail( $post_id ) ): ?>
46
  <figure class="amp-wp-article-featured-image wp-caption"> <?php
47
- $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), 'medium' );
48
- $caption = get_the_post_thumbnail_caption( $post_id ); ?>
49
- <amp-img src="<?php echo $image[0]; ?>" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" layout=responsive alt="<?php echo get_the_title( $post_id ) ?>" > </amp-img>
 
 
 
 
 
 
 
 
 
50
  <?php if ( $caption ) : ?>
51
  <p class="wp-caption-text">
52
  <?php echo wp_kses_data( $caption ); ?>
@@ -90,9 +99,17 @@ function ampforwp_design_2_frontpage_content($template, $post_id){
90
 
91
  <?php if (has_post_thumbnail( $post_id ) ): ?>
92
  <figure class="amp-wp-article-featured-image wp-caption"> <?php
93
- $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), 'medium' );
 
 
 
 
 
 
 
 
94
  $caption = get_the_post_thumbnail_caption( $post_id ); ?>
95
- <amp-img src="<?php echo $image[0]; ?>" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" layout=responsive alt="<?php echo get_the_title( $post_id ) ?>" > </amp-img>
96
  <?php if ( $caption ) : ?>
97
  <p class="wp-caption-text">
98
  <?php echo wp_kses_data( $caption ); ?>
@@ -133,10 +150,18 @@ function ampforwp_design_3_frontpage_content($template, $post_id){
133
  <div class="amp-wp-content the_content">
134
 
135
  <?php if (has_post_thumbnail( $post_id ) ): ?>
136
- <figure class="amp-wp-article-featured-image wp-caption"> <?php
137
- $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), 'medium' );
 
 
 
 
 
 
 
 
138
  $caption = get_the_post_thumbnail_caption( $post_id ); ?>
139
- <amp-img src="<?php echo $image[0]; ?>" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" layout=responsive alt="<?php echo get_the_title( $post_id ) ?>" > </amp-img>
140
  <?php if ( $caption ) : ?>
141
  <p class="wp-caption-text">
142
  <?php echo wp_kses_data( $caption ); ?>
44
 
45
  <?php if (has_post_thumbnail( $post_id ) ): ?>
46
  <figure class="amp-wp-article-featured-image wp-caption"> <?php
47
+ $thumb_id = get_post_thumbnail_id($post_id);
48
+ $image = wp_get_attachment_image_src( $thumb_id, 'full' );
49
+ $caption = get_the_post_thumbnail_caption( $post_id );
50
+ $thumb_alt = get_post_meta( $thumb_id, '_wp_attachment_image_alt', true);
51
+ if($thumb_alt){
52
+ $alt = $thumb_alt;
53
+ }
54
+ else{
55
+ $alt = get_the_title( $post_id );
56
+ }
57
+ ?>
58
+ <amp-img src="<?php echo $image[0]; ?>" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" layout=responsive alt="<?php echo esc_attr($alt); ?>" > </amp-img>
59
  <?php if ( $caption ) : ?>
60
  <p class="wp-caption-text">
61
  <?php echo wp_kses_data( $caption ); ?>
99
 
100
  <?php if (has_post_thumbnail( $post_id ) ): ?>
101
  <figure class="amp-wp-article-featured-image wp-caption"> <?php
102
+ $thumb_id = get_post_thumbnail_id($post_id);
103
+ $thumb_alt = get_post_meta( $thumb_id, '_wp_attachment_image_alt', true);
104
+ if($thumb_alt){
105
+ $alt = $thumb_alt;
106
+ }
107
+ else{
108
+ $alt = get_the_title( $post_id );
109
+ }
110
+ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), 'full' );
111
  $caption = get_the_post_thumbnail_caption( $post_id ); ?>
112
+ <amp-img src="<?php echo $image[0]; ?>" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" layout=responsive alt="<?php echo esc_attr($alt); ?>" > </amp-img>
113
  <?php if ( $caption ) : ?>
114
  <p class="wp-caption-text">
115
  <?php echo wp_kses_data( $caption ); ?>
150
  <div class="amp-wp-content the_content">
151
 
152
  <?php if (has_post_thumbnail( $post_id ) ): ?>
153
+ <figure class="amp-wp-article-featured-image wp-caption"> <?php
154
+ $thumb_id = get_post_thumbnail_id($post_id);
155
+ $thumb_alt = get_post_meta( $thumb_id, '_wp_attachment_image_alt', true);
156
+ if($thumb_alt){
157
+ $alt = $thumb_alt;
158
+ }
159
+ else{
160
+ $alt = get_the_title( $post_id );
161
+ }
162
+ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post_id ), 'full' );
163
  $caption = get_the_post_thumbnail_caption( $post_id ); ?>
164
+ <amp-img src="<?php echo $image[0]; ?>" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" layout=responsive alt="<?php echo esc_attr($alt); ?>" > </amp-img>
165
  <?php if ( $caption ) : ?>
166
  <p class="wp-caption-text">
167
  <?php echo wp_kses_data( $caption ); ?>
templates/report-bugs.php CHANGED
@@ -3,7 +3,7 @@ if ( ! function_exists( 'ampforwp_reporting_bugs' ) ) {
3
  function ampforwp_reporting_bugs($sections){
4
 
5
  $sections[] = array(
6
- 'title' => __( 'Report an Issue /<br> Request a Feature', 'accelerated-mobile-pages' ),
7
  // 'id' => 'opt-structured-data',
8
  // 'subsection' => true,
9
  'icon' => 'el el-warning-sign ',
3
  function ampforwp_reporting_bugs($sections){
4
 
5
  $sections[] = array(
6
+ 'title' => __( 'Send Feedback', 'accelerated-mobile-pages' ),
7
  // 'id' => 'opt-structured-data',
8
  // 'subsection' => true,
9
  'icon' => 'el el-warning-sign ',
templates/search-functions.php CHANGED
@@ -71,7 +71,7 @@ function ampforwp_get_search_form() {
71
  if ( is_search_enabled_in_ampforwp() ) {
72
  global $redux_builder_amp;
73
  $action_url = '';
74
- $label = ampforwp_translation($redux_builder_amp['ampforwp-search-label'], 'Type your search query and hit enter');
75
  $action_url = esc_url( get_bloginfo('url') );
76
  $action_url = preg_replace('#^http?:#', '', $action_url);
77
  $placeholder = ampforwp_translation($redux_builder_amp['ampforwp-search-placeholder'], 'Type Here' );
71
  if ( is_search_enabled_in_ampforwp() ) {
72
  global $redux_builder_amp;
73
  $action_url = '';
74
+ $label = ampforwp_translation(isset($redux_builder_amp['ampforwp-search-label']) && $redux_builder_amp['ampforwp-search-label'], 'Type your search query and hit enter');
75
  $action_url = esc_url( get_bloginfo('url') );
76
  $action_url = preg_replace('#^http?:#', '', $action_url);
77
  $placeholder = ampforwp_translation($redux_builder_amp['ampforwp-search-placeholder'], 'Type Here' );