AMP for WP – Accelerated Mobile Pages - Version 0.9.73

Version Description

(15th January 2018) = * View More details on the blog post * Added: Instagram Sanitizer added to process Instagram Embeds inside the BlockQuotes #1581 * Added: Option Created to Enable/Disable rel="nofollow" for View Non-AMP link #1572 * Fixed: Custom AMP Content was not working with Elementor Pagbuilder #1495 * Fixed: ampforwp_is_front_page() is not working in the newspaper theme #1583 * Added: Allow people to use multiple Analytics on AMP #1124 * Fixed: 'https' error with PlayBuzz Embeds #1481 * Added: Option to show last modified date instead of Published date #1496 * Fixed: Add proper permission for ampforwptourinstaller page * Fixed: Debug warnings #1586 and #1459 * Fixed: A lot of Security Fixes has been done #1497 * Fixed: Removed lot of unused code #1497 * Added: AMP skip for checkout page #1443 * Added: Show the list of Child pages at the end in Parent Page with on/off #1551 * Fixed: Properly strip shortcodes fom Structured data description #1512

Download this release

Release Info

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

Code changes from version 0.9.72.1 to 0.9.73

README.md 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/25
5
  Requires at least: 3.0
6
  Tested up to: 4.9.1
7
- Stable tag: 0.9.72.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -112,16 +112,6 @@ Bug reports for AMP for WP are [welcomed on GitHub](https://github.com/ahmedkalu
112
 
113
  **[5. Frequently Asked Questions:](http://ampforwp.com/faq/)** Some of the Frequently Asked questions.
114
 
115
- = Issues & Bug Reports: =
116
- **How do I Report Bugs and Suggest New Features**
117
- <i>You</i> can report the bugs at https://github.com/ahmedkaludi/Accelerated-Mobile-Pages/issues
118
-
119
- **Will you Add New features upon my request?**
120
- Yes, Absolutely! I would suggest you to send your feature request by creating an issue in Github at https://github.com/ahmedkaludi/Accelerated-Mobile-Pages/issues/new/ . It helps us organize the feedback easily.
121
-
122
- **How do I get in touch?**
123
- You can contact me using this url: http://ampforwp.com/contact/
124
-
125
 
126
  == Installation ==
127
  **[Visit Help area for the Documentation:](http://ampforwp.com/help/)**
@@ -187,6 +177,23 @@ You can contact us from [here](http://ampforwp.com/contact/)
187
 
188
  == Changelog ==
189
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  = 0.9.72 (6th January 2018, Happy New Year) =
191
  * View More details on https://ampforwp.com/0-9-72-released-stability-update-77th-update
192
  * Related Posts Image stretching in Design 3 AMP theme Framework #1482
4
  Donate link: https://www.paypal.me/Kaludi/25
5
  Requires at least: 3.0
6
  Tested up to: 4.9.1
7
+ Stable tag: 0.9.73
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
112
 
113
  **[5. Frequently Asked Questions:](http://ampforwp.com/faq/)** Some of the Frequently Asked questions.
114
 
 
 
 
 
 
 
 
 
 
 
115
 
116
  == Installation ==
117
  **[Visit Help area for the Documentation:](http://ampforwp.com/help/)**
177
 
178
  == Changelog ==
179
 
180
+ = 0.9.73 (15th January 2018) =
181
+ * View More details on the [blog post](https://ampforwp.com/0-9-73-released-stability-update-78th-update/)
182
+ * Added: Instagram Sanitizer added to process Instagram Embeds inside the BlockQuotes #1581
183
+ * Added: Option Created to Enable/Disable rel="nofollow" for View Non-AMP link #1572
184
+ * Fixed: Custom AMP Content was not working with Elementor Pagbuilder #1495
185
+ * Fixed: ampforwp_is_front_page() is not working in the newspaper theme #1583
186
+ * Added: Allow people to use multiple Analytics on AMP #1124
187
+ * Fixed: 'https' error with PlayBuzz Embeds #1481
188
+ * Added: Option to show last modified date instead of Published date #1496
189
+ * Fixed: Add proper permission for ampforwptourinstaller page
190
+ * Fixed: Debug warnings #1586 and #1459
191
+ * Fixed: A lot of Security Fixes has been done #1497
192
+ * Fixed: Removed lot of unused code #1497
193
+ * Added: AMP skip for checkout page #1443
194
+ * Added: Show the list of Child pages at the end in Parent Page with on/off #1551
195
+ * Fixed: Properly strip shortcodes fom Structured data description #1512
196
+
197
  = 0.9.72 (6th January 2018, Happy New Year) =
198
  * View More details on https://ampforwp.com/0-9-72-released-stability-update-77th-update
199
  * Related Posts Image stretching in Design 3 AMP theme Framework #1482
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.72.1
7
  Author: Ahmed Kaludi, Mohammed Kaludi
8
  Author URI: https://ampforwp.com/
9
  Donate link: https://www.paypal.me/Kaludi/25
@@ -19,19 +19,13 @@ define('AMPFORWP_PLUGIN_DIR_URI', plugin_dir_url(__FILE__));
19
  define('AMPFORWP_DISQUS_URL',plugin_dir_url(__FILE__).'includes/disqus.php');
20
  define('AMPFORWP_IMAGE_DIR',plugin_dir_url(__FILE__).'images');
21
  define('AMPFORWP_MAIN_PLUGIN_DIR', plugin_dir_path( __DIR__ ) );
22
- define('AMPFORWP_VERSION','0.9.72.1');
23
 
24
  // any changes to AMP_QUERY_VAR should be refelected here
25
  function ampforwp_generate_endpoint(){
26
  $ampforwp_slug = '';
27
  $get_permalink_structure = '';
28
- //$get_permalink_structure = get_option('permalink_structure');
29
-
30
- // if(empty( $get_permalink_structure )) {
31
- // $ampforwp_slug = '&amp=1';
32
- // }else{
33
- // $ampforwp_slug = "amp";
34
- // }
35
  $ampforwp_slug = "amp";
36
 
37
  return $ampforwp_slug;
@@ -44,8 +38,8 @@ load_plugin_textdomain( 'accelerated-mobile-pages', false, trailingslashit(AMPFO
44
  // Rewrite the Endpoints after the plugin is activate, as priority is set to 11
45
  function ampforwp_add_custom_post_support() {
46
  global $redux_builder_amp;
47
- if( isset($redux_builder_amp['amp-on-off-for-all-pages']) && $redux_builder_amp['amp-on-off-for-all-pages'] ) {
48
- add_rewrite_endpoint( AMPFORWP_AMP_QUERY_VAR, EP_PAGES | EP_PERMALINK | EP_AUTHORS | EP_ALL_ARCHIVES | EP_ROOT );
49
  add_post_type_support( 'page', AMPFORWP_AMP_QUERY_VAR );
50
  }
51
  }
@@ -53,8 +47,8 @@ add_action( 'init', 'ampforwp_add_custom_post_support',11);
53
 
54
  // Frontpage and Blog page check from reading settings.
55
  function ampforwp_name_blog_page() {
56
- if(!$page_for_posts = get_option('page_for_posts')) return;
57
- $page_for_posts = get_option( 'page_for_posts' );
58
  $post = get_post($page_for_posts);
59
  if ( $post ) {
60
  $slug = $post->post_name;
@@ -62,7 +56,7 @@ function ampforwp_name_blog_page() {
62
  }
63
  }
64
  function ampforwp_custom_post_page() {
65
- $front_page_type = get_option( 'show_on_front' );
66
  if ( $front_page_type ) {
67
  return $front_page_type;
68
  }
@@ -95,22 +89,20 @@ function ampforwp_add_custom_rewrite_rules() {
95
  'top'
96
  );
97
  // For /Blog page with Pagination
98
- //if ( ampforwp_custom_post_page() && ampforwp_name_blog_page() ) {
99
  add_rewrite_rule(
100
  ampforwp_name_blog_page(). '/amp/page/([0-9]{1,})/?$',
101
  'index.php?amp&paged=$matches[1]&page_id=' .ampforwp_get_the_page_id_blog_page(),
102
  'top'
103
  );
104
- //}
105
 
106
  // For Author pages
107
- add_rewrite_rule(
108
  'author\/([^/]+)\/amp\/?$',
109
  'index.php?amp&author_name=$matches[1]',
110
  'top'
111
  );
112
 
113
- add_rewrite_rule(
114
  'author\/([^/]+)\/amp\/page\/?([0-9]{1,})\/?$',
115
  'index.php?amp=1&author_name=$matches[1]&paged=$matches[2]',
116
  'top'
@@ -118,7 +110,7 @@ function ampforwp_add_custom_rewrite_rules() {
118
 
119
  // For category pages
120
  $rewrite_category = get_option('category_base');
121
- if (! empty($rewrite_category)) {
122
  $rewrite_category = get_option('category_base');
123
  } else {
124
  $rewrite_category = 'category';
@@ -138,7 +130,7 @@ function ampforwp_add_custom_rewrite_rules() {
138
 
139
  // For tag pages
140
  $rewrite_tag = get_option('tag_base');
141
- if (! empty($rewrite_tag)) {
142
  $rewrite_tag = get_option('tag_base');
143
  } else {
144
  $rewrite_tag = 'tag';
@@ -157,14 +149,14 @@ function ampforwp_add_custom_rewrite_rules() {
157
 
158
  //Rewrite rule for custom Taxonomies
159
  $args = array(
160
- 'public' => true,
161
- '_builtin' => false
162
  );
163
  $output = 'names'; // or objects
164
  $operator = 'and'; // 'and' or 'or'
165
  $taxonomies = get_taxonomies( $args, $output, $operator );
166
  if ( $taxonomies ) {
167
- foreach ( $taxonomies as $taxonomy ) {
168
  add_rewrite_rule(
169
  $taxonomy.'\/(.+?)\/amp/?$',
170
  'index.php?amp&'.$taxonomy.'=$matches[1]',
@@ -188,7 +180,7 @@ function ampforwp_rewrite_activation() {
188
  ampforwp_deactivate_amp_plugin();
189
 
190
  if ( ! did_action( 'ampforwp_init' ) ) {
191
- ampforwp_init();
192
  }
193
 
194
  flush_rewrite_rules();
@@ -220,7 +212,7 @@ function ampforwp_flush_rewrite_by_option(){
220
  return;
221
  }
222
  // Adding double check to make sure, we are not updating and calling database unnecessarily
223
- if ( empty( $get_current_permalink_settings )){
224
  $wp_rewrite->flush_rules();
225
  update_option('ampforwp_rewrite_flush_option', 'true');
226
  }
@@ -259,7 +251,7 @@ function ampforwp_parent_plugin_check() {
259
  }
260
 
261
  // Redux panel inclusion code
262
- if ( !class_exists( 'ReduxFramework' ) ) {
263
  require_once dirname( __FILE__ ).'/includes/options/extensions/loader.php';
264
  require_once dirname( __FILE__ ).'/includes/options/redux-core/framework.php';
265
  }
@@ -291,114 +283,24 @@ if ( is_admin() ) {
291
  // Include Welcome page only on Admin pages
292
  require AMPFORWP_PLUGIN_DIR .'/includes/welcome.php';
293
 
294
- // Deactivate Parent Plugin notice
295
- // add_action('init','ampforwp_plugin_notice');
296
- function ampforwp_plugin_notice() {
297
-
298
- if ( ! defined( 'AMP__FILE__' ) ) {
299
- add_action( 'admin_notices', 'ampforwp_plugin_not_found_notice' );
300
- function ampforwp_plugin_not_found_notice() {
301
-
302
- $current_screen = get_current_screen();
303
-
304
- if( $current_screen ->id == "plugin-install" || $current_screen ->id == "dashboard_page_ampforwp-welcome-page" || $current_screen ->id == "ampforwp-welcome-page" ) {
305
- return;
306
- }
307
-
308
- ?>
309
-
310
- <div class="notice notice-warning is-dismissible ampinstallation">
311
-
312
- <?php add_thickbox(); ?>
313
- <p>
314
- <strong><?php _e( 'AMP Installation requires one last step:','accelerated-mobile-pages' ); ?></strong> <?php _e( 'AMP by Automattic plugin is not active', 'accelerated-mobile-pages' ); ?>
315
- <strong> <span style="display: block; margin: 0.5em 0.5em 0 0; clear: both;"><a href="index.php?page=ampforwp-welcome-page"><?php _e( 'Continue Installation', 'accelerated-mobile-pages' ); ?></a>
316
- </span> </strong>
317
- </p>
318
- </div> <?php
319
- }
320
-
321
- add_action('admin_head','ampforwp_required_plugin_styling');
322
- function ampforwp_required_plugin_styling() {
323
- if ( ! defined( 'AMP__FILE__' ) ) { ?>
324
- <style>
325
- #toplevel_page_amp_options a .wp-menu-name:after {
326
- content: "1";
327
- background-color: #d54e21;
328
- color: #fff;
329
- border-radius: 10px;
330
- font-size: 9px;
331
- line-height: 17px;
332
- font-weight: 600;
333
- padding: 3px 7px;
334
- margin-left: 5px;
335
- }
336
- </style>
337
- <?php
338
- }
339
- ?>
340
- <style>
341
- .notice, .notice-error, .is-dismissible, .ampinstallation{}
342
- .plugin-card.plugin-card-amp:before{
343
- content: __("FINISH INSTALLATION: Install & Activate this plugin ↓",'accelerated-mobile-pages');
344
- font-weight: bold;
345
- float: right;
346
- position: relative;
347
- color: #dc3232;
348
- top: -28px;
349
- font-size: 18px;
350
- }
351
- .plugin-action-buttons a{
352
- color: #fff
353
- }
354
- .plugin-card.plugin-card-amp {
355
- background: rgb(0, 165, 92);
356
- color: #fff;
357
- }
358
- .plugin-card.plugin-card-amp .column-name a,
359
- .plugin-card.plugin-card-amp .column-description a,
360
- .plugin-card.plugin-card-amp .column-description p {
361
- color: #fff;
362
- }
363
- .plugin-card-amp .plugin-card-bottom {
364
- background: rgba(229, 255, 80, 0);
365
- }
366
- </style> <?php
367
- }
368
- }
369
- }
370
-
371
  // Add Settings Button in Plugin backend
372
  if ( ! function_exists( 'ampforwp_plugin_settings_link' ) ) {
373
 
374
  // Deactivate Parent Plugin notice
375
  add_filter( 'plugin_action_links', 'ampforwp_plugin_settings_link', 10, 5 );
376
 
377
- function ampforwp_plugin_settings_link( $actions, $plugin_file ) {
378
  static $plugin;
379
- if (!isset($plugin))
380
  $plugin = plugin_basename(__FILE__);
381
- if ($plugin == $plugin_file) {
382
- $settings = array('settings' => '<a href="admin.php?page=amp_options&tab=8">' . __('Settings', 'accelerated-mobile-pages') . '</a> | <a href="https://ampforwp.com/priority-support/#utm_source=options-panel&utm_medium=extension-tab_priority_support&utm_campaign=AMP%20Plugin">' . __('Premium Support', 'accelerated-mobile-pages') . '</a>');
383
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
384
  $actions = array_merge( $actions, $settings );
385
- /*if ( is_plugin_active( 'amp/amp.php' ) ) {
386
- //if parent plugin is activated
387
- $actions = array_merge( $actions, $settings );
388
- } else{
389
- if(is_plugin_active( 'amp/amp.php' )){
390
- $actions = array_merge( $actions, $settings );
391
- }else{
392
- $please_activate_parent_plugin = array(__('Please Activate Parent plugin','accelerated-mobile-pages') => '<a href="'.get_admin_url() .'index.php?page=ampforwp-welcome-page">' . __('<span style="color:#b30000">'.__('Action Required: Continue Installation','accelerated-mobile-pages').'</span>', 'accelerated-mobile-pages') . '</a>');
393
- $actions = array_merge( $please_activate_parent_plugin,$actions );
394
- }
395
- }*/
396
-
397
  }
398
  return $actions;
399
  }
400
  }
401
-
402
  } // is_admin() closing
403
 
404
  // AMP endpoint Verifier
@@ -418,7 +320,7 @@ if ( ! class_exists( 'Ampforwp_Init', false ) ) {
418
  require AMPFORWP_PLUGIN_DIR.'/includes/redirect.php';
419
 
420
  require AMPFORWP_PLUGIN_DIR .'/classes/class-init.php';
421
- new Ampforwp_Loader;
422
 
423
  }
424
  }
@@ -430,7 +332,7 @@ if ( ! class_exists( 'Ampforwp_Init', false ) ) {
430
  function ampforwp_plugin_init() {
431
 
432
  if ( defined( 'AMP__FILE__' ) && defined('AMPFORWP_PLUGIN_DIR') ) {
433
- new Ampforwp_Init;
434
  }
435
  }
436
  add_action('init','ampforwp_plugin_init',9);
@@ -480,11 +382,11 @@ function ampforwp_deactivate_amp_plugin() {
480
  }
481
  add_action( 'plugins_loaded', 'ampforwp_deactivate_amp_plugin' );
482
 
483
- function ampforwp_modify_amp_activatation_link( $actions, $plugin_file ) {
484
  $plugin = '';
485
 
486
- $plugin = 'amp/amp.php';
487
- if ( $plugin == $plugin_file ) {
488
  add_thickbox();
489
  unset($actions['activate']);
490
  $a = '<span style="cursor:pointer;color:#0089c8" class="warning_activate_amp" onclick="alert(\'AMP is already bundled with AMPforWP. Please do not install this plugin with AMPforWP to avoid conflicts. \')">Activate</span>';
@@ -494,11 +396,6 @@ function ampforwp_modify_amp_activatation_link( $actions, $plugin_file ) {
494
  }
495
  add_filter( 'plugin_action_links', 'ampforwp_modify_amp_activatation_link', 10, 2 );
496
 
497
-
498
-
499
-
500
-
501
-
502
  if ( ! function_exists('ampforwp_init') ) {
503
  add_action( 'init', 'ampforwp_init' );
504
  function ampforwp_init() {
@@ -525,87 +422,49 @@ if ( ! function_exists('ampforwp_init') ) {
525
  // Redirect the old url of amp page to the updated url. #1033 (Vendor Update)
526
  add_filter( 'old_slug_redirect_url', 'ampforwp_redirect_old_slug_to_new_url' );
527
 
528
- if ( class_exists( 'Jetpack' ) && ! ( defined( 'IS_WPCOM' ) && IS_WPCOM ) ) {
529
  require_once( AMP__DIR__ . '/jetpack-helper.php' );
530
  }
531
  }
532
  }
533
 
534
 
535
- function AMP_update_db_check() {
536
  global $redux_builder_amp;
537
- $ampforWPCurrentVersion = AMPFORWP_VERSION;
538
- if (get_option( 'AMPforwp_db_version' ) != $ampforWPCurrentVersion) {
539
 
540
- if ( isset( $_GET['ampforwp-dismiss'] ) && trim($_GET['ampforwp-dismiss'])=="ampforwp_dismiss_admin_notices" ) {
541
- update_option( 'AMPforwp_db_version', $ampforWPCurrentVersion );
542
  wp_redirect(remove_query_arg('ampforwp-dismiss'), 301);
543
  }
544
- if( isset($redux_builder_amp['ampforwp-update-notification-bar'] ) && $redux_builder_amp['ampforwp-update-notification-bar'] && current_user_can( 'manage_options' ) ){
545
 
546
  add_action('admin_notices', 'ampforwp_update_notice');
547
  }
548
  }
549
  }
550
- add_action( 'plugins_loaded', 'AMP_update_db_check' );
551
 
552
  function ampforwp_update_notice() {
553
- $ampforWPCurrentVersion = AMPFORWP_VERSION;
554
  ?>
555
- <div class="notice-success notice is-dismissible amp-update-notice" style=" display: table;
556
- position: relative;
557
- height: 70px;
558
- padding: 0;
559
- border: 0;
560
- overflow: hidden;
561
- margin-bottom: 10px;
562
- " id="gf_dashboard_message">
563
- <div style=" padding: 15px 15px 10px 15px;
564
- display: inline-block;">
565
- <img style=" width: 40px;
566
- display: inline;
567
- 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" />
568
- <div style=" display: inline;
569
- position: relative;
570
- margin-left: 5px;
571
- font-weight: 300;
572
- top: -14px;
573
- font-size: 20px;"> <?php _e( 'AMP has been updated to '.$ampforWPCurrentVersion, 'accelerated-mobile-pages' ); ?></div>
574
- <a href="https://ampforwp.com/new/" target="_blank" style="
575
- position: relative;
576
- top: -17px;
577
- background: #ECEFF1;
578
- text-decoration: none;
579
- color: #111;
580
- font-size: 10px;
581
- padding: 4px 6px 5px 5px;
582
- border-radius: 4px;
583
- margin-left: 5px;
584
- text-transform: uppercase;
585
- border: 1px solid rgba(207, 216, 220, 0.9);" href="admin.php?page=acmforwp_update">What's New?</a>
586
- </div>
587
- <div style="display:inline-block;float:right;height: 70px;background: #333;width: 50px;text-align: center;">
588
- <a title="Close this Notification" style="color: #fff;
589
- text-decoration: none;
590
- top: 26px;
591
- position: relative;
592
- padding: 24px 18px;
593
- font-size: 17px;
594
- font-weight: 300;
595
- background: #333;
596
- z-index: 100;" href="<?php echo add_query_arg( 'ampforwp-dismiss', 'ampforwp_dismiss_admin_notices' ) ?>">X</a>
597
- </div>
598
-
599
- <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;">
600
- <a class="star_icon" href="https://wordpress.org/support/view/plugin-reviews/accelerated-mobile-pages?rate=5#new-post" target="_blank" style=" color: #fff;
601
- text-decoration: none;
602
- font-size: 16px;
603
- 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>
604
- </div></div>
605
  <?php
606
- //update_option( 'AMPforwp_db_version', $ampforWPCurrentVersion );
607
  }
608
- if(!defined('AMP_FRAMEWORK_COMOPNENT_DIR_PATH')){
609
  define('AMP_FRAMEWORK_COMOPNENT_DIR_PATH', plugin_dir_path( __FILE__ )."/components");
610
  }
611
  require_once( AMP_FRAMEWORK_COMOPNENT_DIR_PATH . '/components-core.php' );
@@ -622,7 +481,7 @@ require ( AMPFORWP_PLUGIN_DIR.'/install/index.php' );
622
  *
623
  * @return string $link URL to be redirected.
624
  */
625
- if( ! function_exists( 'ampforwp_redirect_old_slug_to_new_url' ) ){
626
  function ampforwp_redirect_old_slug_to_new_url( $link ) {
627
 
628
  if ( function_exists( 'ampforwp_is_amp_endpoint' ) && ampforwp_is_amp_endpoint() ) {
@@ -631,4 +490,4 @@ if( ! function_exists( 'ampforwp_redirect_old_slug_to_new_url' ) ){
631
 
632
  return $link;
633
  }
634
- }
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.73
7
  Author: Ahmed Kaludi, Mohammed Kaludi
8
  Author URI: https://ampforwp.com/
9
  Donate link: https://www.paypal.me/Kaludi/25
19
  define('AMPFORWP_DISQUS_URL',plugin_dir_url(__FILE__).'includes/disqus.php');
20
  define('AMPFORWP_IMAGE_DIR',plugin_dir_url(__FILE__).'images');
21
  define('AMPFORWP_MAIN_PLUGIN_DIR', plugin_dir_path( __DIR__ ) );
22
+ define('AMPFORWP_VERSION','0.9.73');
23
 
24
  // any changes to AMP_QUERY_VAR should be refelected here
25
  function ampforwp_generate_endpoint(){
26
  $ampforwp_slug = '';
27
  $get_permalink_structure = '';
28
+
 
 
 
 
 
 
29
  $ampforwp_slug = "amp";
30
 
31
  return $ampforwp_slug;
38
  // Rewrite the Endpoints after the plugin is activate, as priority is set to 11
39
  function ampforwp_add_custom_post_support() {
40
  global $redux_builder_amp;
41
+ if ( isset($redux_builder_amp['amp-on-off-for-all-pages']) && $redux_builder_amp['amp-on-off-for-all-pages'] ) {
42
+ add_rewrite_endpoint( AMPFORWP_AMP_QUERY_VAR, EP_PAGES | EP_PERMALINK | EP_AUTHORS | EP_ALL_ARCHIVES | EP_ROOT );
43
  add_post_type_support( 'page', AMPFORWP_AMP_QUERY_VAR );
44
  }
45
  }
47
 
48
  // Frontpage and Blog page check from reading settings.
49
  function ampforwp_name_blog_page() {
50
+ if ( ! $page_for_posts = get_option('page_for_posts')) return;
51
+ $page_for_posts = get_option( 'page_for_posts' );
52
  $post = get_post($page_for_posts);
53
  if ( $post ) {
54
  $slug = $post->post_name;
56
  }
57
  }
58
  function ampforwp_custom_post_page() {
59
+ $front_page_type = get_option( 'show_on_front' );
60
  if ( $front_page_type ) {
61
  return $front_page_type;
62
  }
89
  'top'
90
  );
91
  // For /Blog page with Pagination
 
92
  add_rewrite_rule(
93
  ampforwp_name_blog_page(). '/amp/page/([0-9]{1,})/?$',
94
  'index.php?amp&paged=$matches[1]&page_id=' .ampforwp_get_the_page_id_blog_page(),
95
  'top'
96
  );
 
97
 
98
  // For Author pages
99
+ add_rewrite_rule(
100
  'author\/([^/]+)\/amp\/?$',
101
  'index.php?amp&author_name=$matches[1]',
102
  'top'
103
  );
104
 
105
+ add_rewrite_rule(
106
  'author\/([^/]+)\/amp\/page\/?([0-9]{1,})\/?$',
107
  'index.php?amp=1&author_name=$matches[1]&paged=$matches[2]',
108
  'top'
110
 
111
  // For category pages
112
  $rewrite_category = get_option('category_base');
113
+ if ( ! empty($rewrite_category) ) {
114
  $rewrite_category = get_option('category_base');
115
  } else {
116
  $rewrite_category = 'category';
130
 
131
  // For tag pages
132
  $rewrite_tag = get_option('tag_base');
133
+ if ( ! empty($rewrite_tag) ) {
134
  $rewrite_tag = get_option('tag_base');
135
  } else {
136
  $rewrite_tag = 'tag';
149
 
150
  //Rewrite rule for custom Taxonomies
151
  $args = array(
152
+ 'public' => true,
153
+ '_builtin' => false,
154
  );
155
  $output = 'names'; // or objects
156
  $operator = 'and'; // 'and' or 'or'
157
  $taxonomies = get_taxonomies( $args, $output, $operator );
158
  if ( $taxonomies ) {
159
+ foreach ( $taxonomies as $taxonomy ) {
160
  add_rewrite_rule(
161
  $taxonomy.'\/(.+?)\/amp/?$',
162
  'index.php?amp&'.$taxonomy.'=$matches[1]',
180
  ampforwp_deactivate_amp_plugin();
181
 
182
  if ( ! did_action( 'ampforwp_init' ) ) {
183
+ ampforwp_init();
184
  }
185
 
186
  flush_rewrite_rules();
212
  return;
213
  }
214
  // Adding double check to make sure, we are not updating and calling database unnecessarily
215
+ if ( empty( $get_current_permalink_settings ) ) {
216
  $wp_rewrite->flush_rules();
217
  update_option('ampforwp_rewrite_flush_option', 'true');
218
  }
251
  }
252
 
253
  // Redux panel inclusion code
254
+ if ( ! class_exists( 'ReduxFramework' ) ) {
255
  require_once dirname( __FILE__ ).'/includes/options/extensions/loader.php';
256
  require_once dirname( __FILE__ ).'/includes/options/redux-core/framework.php';
257
  }
283
  // Include Welcome page only on Admin pages
284
  require AMPFORWP_PLUGIN_DIR .'/includes/welcome.php';
285
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
286
  // Add Settings Button in Plugin backend
287
  if ( ! function_exists( 'ampforwp_plugin_settings_link' ) ) {
288
 
289
  // Deactivate Parent Plugin notice
290
  add_filter( 'plugin_action_links', 'ampforwp_plugin_settings_link', 10, 5 );
291
 
292
+ function ampforwp_plugin_settings_link( $actions, $plugin_file ) {
293
  static $plugin;
294
+ if ( ! isset($plugin))
295
  $plugin = plugin_basename(__FILE__);
296
+ if ( $plugin === $plugin_file ) {
297
+ $settings = array( 'settings' => '<a href="admin.php?page=amp_options&tab=8">' . __('Settings', 'accelerated-mobile-pages') . '</a> | <a href="https://ampforwp.com/priority-support/#utm_source=options-panel&utm_medium=extension-tab_priority_support&utm_campaign=AMP%20Plugin">' . __('Premium Support', 'accelerated-mobile-pages') . '</a>' );
298
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
299
  $actions = array_merge( $actions, $settings );
 
 
 
 
 
 
 
 
 
 
 
 
300
  }
301
  return $actions;
302
  }
303
  }
 
304
  } // is_admin() closing
305
 
306
  // AMP endpoint Verifier
320
  require AMPFORWP_PLUGIN_DIR.'/includes/redirect.php';
321
 
322
  require AMPFORWP_PLUGIN_DIR .'/classes/class-init.php';
323
+ new Ampforwp_Loader();
324
 
325
  }
326
  }
332
  function ampforwp_plugin_init() {
333
 
334
  if ( defined( 'AMP__FILE__' ) && defined('AMPFORWP_PLUGIN_DIR') ) {
335
+ new Ampforwp_Init();
336
  }
337
  }
338
  add_action('init','ampforwp_plugin_init',9);
382
  }
383
  add_action( 'plugins_loaded', 'ampforwp_deactivate_amp_plugin' );
384
 
385
+ function ampforwp_modify_amp_activatation_link( $actions, $plugin_file ) {
386
  $plugin = '';
387
 
388
+ $plugin = 'amp/amp.php';
389
+ if ( $plugin == $plugin_file ) {
390
  add_thickbox();
391
  unset($actions['activate']);
392
  $a = '<span style="cursor:pointer;color:#0089c8" class="warning_activate_amp" onclick="alert(\'AMP is already bundled with AMPforWP. Please do not install this plugin with AMPforWP to avoid conflicts. \')">Activate</span>';
396
  }
397
  add_filter( 'plugin_action_links', 'ampforwp_modify_amp_activatation_link', 10, 2 );
398
 
 
 
 
 
 
399
  if ( ! function_exists('ampforwp_init') ) {
400
  add_action( 'init', 'ampforwp_init' );
401
  function ampforwp_init() {
422
  // Redirect the old url of amp page to the updated url. #1033 (Vendor Update)
423
  add_filter( 'old_slug_redirect_url', 'ampforwp_redirect_old_slug_to_new_url' );
424
 
425
+ if ( class_exists( 'Jetpack' ) && ! (defined( 'IS_WPCOM' ) && IS_WPCOM) ) {
426
  require_once( AMP__DIR__ . '/jetpack-helper.php' );
427
  }
428
  }
429
  }
430
 
431
 
432
+ function amp_update_db_check() {
433
  global $redux_builder_amp;
434
+ $ampforwp_current_version = AMPFORWP_VERSION;
435
+ if ( get_option( 'AMPforwp_db_version' ) !== $ampforwp_current_version ) {
436
 
437
+ if ( isset( $_GET['ampforwp-dismiss'] ) && trim( $_GET['ampforwp-dismiss']) === "ampforwp_dismiss_admin_notices" ) {
438
+ update_option( 'AMPforwp_db_version', $ampforwp_current_version );
439
  wp_redirect(remove_query_arg('ampforwp-dismiss'), 301);
440
  }
441
+ if ( isset($redux_builder_amp['ampforwp-update-notification-bar'] ) && $redux_builder_amp['ampforwp-update-notification-bar'] && current_user_can( 'manage_options' ) ) {
442
 
443
  add_action('admin_notices', 'ampforwp_update_notice');
444
  }
445
  }
446
  }
447
+ add_action( 'plugins_loaded', 'amp_update_db_check' );
448
 
449
  function ampforwp_update_notice() {
450
+ $ampforwp_current_version = AMPFORWP_VERSION;
451
  ?>
452
+ <div class="notice-success notice is-dismissible amp-update-notice">
453
+ <div class="amp-update-notice-text-box">
454
+ <img 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" />
455
+ <div class="amp-update-notice-text"> <?php echo esc_attr('AMP has been updated to '.$ampforwp_current_version, 'accelerated-mobile-pages' ); ?></div>
456
+ <a href="https://ampforwp.com/new/" target="_blank" href="admin.php?page=acmforwp_update">What's New?</a>
457
+ </div>
458
+ <div class="amp-update-notice-dismiss">
459
+ <a title="Close this Notification" href="<?php echo esc_url(add_query_arg( 'ampforwp-dismiss', 'ampforwp_dismiss_admin_notices' )) ?>">X</a>
460
+ </div>
461
+ <div class="amp-update-notice-review-box">
462
+ <a class="star_icon" href="https://wordpress.org/support/view/plugin-reviews/accelerated-mobile-pages?rate=5#new-post" target="_blank"> Appreciate it? <br> <span title="Give Us 5 Star">Leave a Review →</span></a>
463
+ </div>
464
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
465
  <?php
 
466
  }
467
+ if ( ! defined('AMP_FRAMEWORK_COMOPNENT_DIR_PATH') ) {
468
  define('AMP_FRAMEWORK_COMOPNENT_DIR_PATH', plugin_dir_path( __FILE__ )."/components");
469
  }
470
  require_once( AMP_FRAMEWORK_COMOPNENT_DIR_PATH . '/components-core.php' );
481
  *
482
  * @return string $link URL to be redirected.
483
  */
484
+ if ( ! function_exists( 'ampforwp_redirect_old_slug_to_new_url' ) ) {
485
  function ampforwp_redirect_old_slug_to_new_url( $link ) {
486
 
487
  if ( function_exists( 'ampforwp_is_amp_endpoint' ) && ampforwp_is_amp_endpoint() ) {
490
 
491
  return $link;
492
  }
493
+ }
base_remover/base_remover.php CHANGED
@@ -2,17 +2,17 @@
2
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
3
 
4
  // check for plugin using plugin name
5
- $oldPlugin = AMPFORWP_MAIN_PLUGIN_DIR.'amp-category-base-remover/amp-category-base-remover.php';
6
- if ( is_plugin_active( $oldPlugin ) ) {
7
  //plugin is activated
8
- deactivate_plugins($oldPlugin);
9
  add_action( 'admin_notices', 'plugin_catagory_base_removed_admin_notice__success' );
10
  }
11
 
12
  function plugin_catagory_base_removed_admin_notice__success(){
13
  ?>
14
  <div class="notice notice-success is-dismissible">
15
- <p><?php _e( 'AMP Category Base URL Remover plugin has De-activated, <br> Category removal option is added in our core plugin <a href="#">Click here to view details</a>', 'amp-for-plugin' ); ?></p>
16
  </div>
17
  <?php
18
  }
@@ -21,17 +21,12 @@ function plugin_catagory_base_removed_admin_notice__success(){
21
  add_action( 'current_screen', 'this_screen_own' );
22
  function this_screen_own(){
23
  $current_screen = get_current_screen();
24
- if( $current_screen ->id == "plugin-install" ) {
25
 
26
- function amp_enqueue_function_dependancies($hook) {
27
- wp_enqueue_script( 'AMPScriptDependanciesremove', plugins_url('dependencyScript.js', __FILE__), array('jquery') );
28
- }
29
- add_action( 'admin_enqueue_scripts', 'amp_enqueue_function_dependancies' );
30
-
31
-
32
-
33
-
34
-
35
  }
36
  }
37
 
@@ -44,10 +39,10 @@ function ampforwp_url_base_rewrite_rules(){
44
  $categoryBaseRewrite = 0;
45
  $tagBaseRewrite = 0;
46
 
47
- if(isset($redux_builder_amp['ampforwp-category-base-removel-link'])){
48
  $categoryBaseRewrite = $redux_builder_amp['ampforwp-category-base-removel-link'];
49
  }
50
- if(isset($redux_builder_amp['ampforwp-tag-base-removal-link'])){
51
  $tagBaseRewrite = $redux_builder_amp['ampforwp-tag-base-removal-link'];
52
  }
53
  /* $catagoryStatusChanges = get_option('AMP-category-base-removal-status');
@@ -55,25 +50,24 @@ function ampforwp_url_base_rewrite_rules(){
55
  update_option('AMP-category-base-removal-status',$categoryBaseRewrite);
56
  $wp_rerite->flush_rules( $hard );
57
  } */
58
- if($categoryBaseRewrite=='1'){
59
  add_action( 'created_category', 'amp_flush_rewrite_rules', 999 );
60
  add_action( 'edited_category', 'amp_flush_rewrite_rules', 999 );
61
  add_action( 'delete_category', 'amp_flush_rewrite_rules', 999 );
62
  add_filter( 'category_rewrite_rules', 'ampforwp_category_url_rewrite_rules');
63
- }elseif($categoryBaseRewrite=='0'){
64
  remove_action( 'created_category', 'amp_flush_rewrite_rules' , 999 );
65
  remove_action( 'edited_category', 'amp_flush_rewrite_rules' , 999 );
66
  remove_action( 'delete_category', 'amp_flush_rewrite_rules' , 999 );
67
  remove_filter( 'category_rewrite_rules', 'ampforwp_category_url_rewrite_rules');
68
 
69
  }
70
- if($tagBaseRewrite=='1'){
71
  add_action( 'created_post_tag', 'amp_flush_rewrite_rules' , 999 );
72
  add_action( 'edited_post_tag', 'amp_flush_rewrite_rules', 999 );
73
  add_action( 'delete_post_tag', 'amp_flush_rewrite_rules', 999 );
74
  add_filter( 'tag_rewrite_rules', 'ampforwp_tag_url_rewrite_rules' );
75
- }elseif($tagBaseRewrite=='0'){
76
-
77
  remove_action( 'created_post_tag', 'amp_flush_rewrite_rules' , 999 );
78
  remove_action( 'edited_post_tag', 'amp_flush_rewrite_rules', 999 );
79
  remove_action( 'delete_post_tag', 'amp_flush_rewrite_rules', 999 );
@@ -84,13 +78,12 @@ function ampforwp_url_base_rewrite_rules(){
84
 
85
 
86
 
87
- function amp_flush_rewrite_rules($hard=true){
88
- //flush_rewrite_rules();
89
  global $wp_rewrite;
90
  $wp_rewrite->flush_rules( $hard );
91
  }
92
 
93
- function ampforwp_category_url_rewrite_rules($rewrite){
94
  global $redux_builder_amp, $wp_rewrite;
95
  $categoryBaseRewrite = $redux_builder_amp['ampforwp-category-base-removel-link'];
96
  $categories = get_categories( array( 'hide_empty' => false ) );
@@ -99,15 +92,15 @@ function ampforwp_category_url_rewrite_rules($rewrite){
99
 
100
  foreach ( $categories as $category ) {
101
  $category_nicename = $category->slug;
102
- if ( $category->parent == $category->cat_ID ) {
103
  $category->parent = 0;
104
- } elseif ( 0 != $category->parent ) {
105
  $category_nicename = get_category_parents( $category->parent, false, '/', true ) . $category_nicename;
106
  }
107
  $category_nicename = trim($category_nicename);
108
 
109
- $rewrite['('.$category_nicename.')'.'/amp/?$'] = 'index.php?amp&category_name=$matches[1]';
110
- $rewrite['('.$category_nicename.')'.'/amp/' . $wp_rewrite->pagination_base . '/?([0-9]{1,})/?$'] = 'index.php?amp&category_name=$matches[1]&paged=$matches[2]';
111
 
112
  // Redirect support from Old Category Base
113
  $old_category_base = get_option( 'category_base' ) ? get_option( 'category_base' ) : 'category';
@@ -120,15 +113,14 @@ function ampforwp_category_url_rewrite_rules($rewrite){
120
  }
121
 
122
 
123
- function ampforwp_tag_url_rewrite_rules($rewrite){
124
  $terms = get_terms( 'post_tag', array( 'hide_empty' => false ) );
125
  foreach ( $terms as $term ) {
126
  $term_nicename = trim($term->slug);
127
 
128
- $rewrite['('.$term_nicename.')'.'/amp/?$'] = 'index.php?amp&tag=$matches[1]';
129
- $rewrite['('.$term_nicename.')'.'/amp/page/?([0-9]{1,})/?$'] =
130
  'index.php?amp&tag=$matches[1]&paged=$matches[2]';
131
-
132
  }
133
 
134
  return $rewrite;
2
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
3
 
4
  // check for plugin using plugin name
5
+ $old_plugin = AMPFORWP_MAIN_PLUGIN_DIR.'amp-category-base-remover/amp-category-base-remover.php';
6
+ if ( is_plugin_active( $old_plugin ) ) {
7
  //plugin is activated
8
+ deactivate_plugins($old_plugin);
9
  add_action( 'admin_notices', 'plugin_catagory_base_removed_admin_notice__success' );
10
  }
11
 
12
  function plugin_catagory_base_removed_admin_notice__success(){
13
  ?>
14
  <div class="notice notice-success is-dismissible">
15
+ <p><?php esc_html_e( 'AMP Category Base URL Remover plugin has De-activated, <br> Category removal option is added in our core plugin <a href="#">Click here to view details</a>', 'amp-for-plugin' ); ?></p>
16
  </div>
17
  <?php
18
  }
21
  add_action( 'current_screen', 'this_screen_own' );
22
  function this_screen_own(){
23
  $current_screen = get_current_screen();
24
+ if( $current_screen->id === "plugin-install" ) {
25
 
26
+ function amp_enqueue_function_dependancies( $hook ) {
27
+ wp_enqueue_script( 'AMPScriptDependanciesremove', plugins_url('dependencyScript.js', __FILE__), array( 'jquery' ) );
28
+ }
29
+ add_action( 'admin_enqueue_scripts', 'amp_enqueue_function_dependancies' );
 
 
 
 
 
30
  }
31
  }
32
 
39
  $categoryBaseRewrite = 0;
40
  $tagBaseRewrite = 0;
41
 
42
+ if( isset($redux_builder_amp['ampforwp-category-base-removel-link']) ) {
43
  $categoryBaseRewrite = $redux_builder_amp['ampforwp-category-base-removel-link'];
44
  }
45
+ if( isset($redux_builder_amp['ampforwp-tag-base-removal-link']) ) {
46
  $tagBaseRewrite = $redux_builder_amp['ampforwp-tag-base-removal-link'];
47
  }
48
  /* $catagoryStatusChanges = get_option('AMP-category-base-removal-status');
50
  update_option('AMP-category-base-removal-status',$categoryBaseRewrite);
51
  $wp_rerite->flush_rules( $hard );
52
  } */
53
+ if($categoryBaseRewrite === '1'){
54
  add_action( 'created_category', 'amp_flush_rewrite_rules', 999 );
55
  add_action( 'edited_category', 'amp_flush_rewrite_rules', 999 );
56
  add_action( 'delete_category', 'amp_flush_rewrite_rules', 999 );
57
  add_filter( 'category_rewrite_rules', 'ampforwp_category_url_rewrite_rules');
58
+ }elseif($categoryBaseRewrite === '0'){
59
  remove_action( 'created_category', 'amp_flush_rewrite_rules' , 999 );
60
  remove_action( 'edited_category', 'amp_flush_rewrite_rules' , 999 );
61
  remove_action( 'delete_category', 'amp_flush_rewrite_rules' , 999 );
62
  remove_filter( 'category_rewrite_rules', 'ampforwp_category_url_rewrite_rules');
63
 
64
  }
65
+ if( $tagBaseRewrite === '1'){
66
  add_action( 'created_post_tag', 'amp_flush_rewrite_rules' , 999 );
67
  add_action( 'edited_post_tag', 'amp_flush_rewrite_rules', 999 );
68
  add_action( 'delete_post_tag', 'amp_flush_rewrite_rules', 999 );
69
  add_filter( 'tag_rewrite_rules', 'ampforwp_tag_url_rewrite_rules' );
70
+ }elseif( $tagBaseRewrite === '0' ) {
 
71
  remove_action( 'created_post_tag', 'amp_flush_rewrite_rules' , 999 );
72
  remove_action( 'edited_post_tag', 'amp_flush_rewrite_rules', 999 );
73
  remove_action( 'delete_post_tag', 'amp_flush_rewrite_rules', 999 );
78
 
79
 
80
 
81
+ function amp_flush_rewrite_rules( $hard=true ) {
 
82
  global $wp_rewrite;
83
  $wp_rewrite->flush_rules( $hard );
84
  }
85
 
86
+ function ampforwp_category_url_rewrite_rules( $rewrite ) {
87
  global $redux_builder_amp, $wp_rewrite;
88
  $categoryBaseRewrite = $redux_builder_amp['ampforwp-category-base-removel-link'];
89
  $categories = get_categories( array( 'hide_empty' => false ) );
92
 
93
  foreach ( $categories as $category ) {
94
  $category_nicename = $category->slug;
95
+ if ( $category->parent === $category->cat_ID ) {
96
  $category->parent = 0;
97
+ } elseif ( 0 !== $category->parent ) {
98
  $category_nicename = get_category_parents( $category->parent, false, '/', true ) . $category_nicename;
99
  }
100
  $category_nicename = trim($category_nicename);
101
 
102
+ $rewrite[ '('.$category_nicename.')'.'/amp/?$' ] = 'index.php?amp&category_name=$matches[1]';
103
+ $rewrite[ '('.$category_nicename.')'.'/amp/' . $wp_rewrite->pagination_base . '/?([0-9]{1,})/?$' ] = 'index.php?amp&category_name=$matches[1]&paged=$matches[2]';
104
 
105
  // Redirect support from Old Category Base
106
  $old_category_base = get_option( 'category_base' ) ? get_option( 'category_base' ) : 'category';
113
  }
114
 
115
 
116
+ function ampforwp_tag_url_rewrite_rules( $rewrite ) {
117
  $terms = get_terms( 'post_tag', array( 'hide_empty' => false ) );
118
  foreach ( $terms as $term ) {
119
  $term_nicename = trim($term->slug);
120
 
121
+ $rewrite[ '('.$term_nicename.')'.'/amp/?$' ] = 'index.php?amp&tag=$matches[1]';
122
+ $rewrite[ '('.$term_nicename.')'.'/amp/page/?([0-9]{1,})/?$' ] =
123
  'index.php?amp&tag=$matches[1]&paged=$matches[2]';
 
124
  }
125
 
126
  return $rewrite;
classes/class-ampforwp-instagram-sanitizer.php ADDED
@@ -0,0 +1,48 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Converts Instagram embeds to <amp-instagram>
4
+ */
5
+ class AMPFORWP_Instagram_Embed_Sanitizer extends AMP_Base_Sanitizer {
6
+ private $instagram_medias = array();
7
+ private static $script_slug = 'amp-instagram';
8
+ private static $script_src = 'https://cdn.ampproject.org/v0/amp-instagram-0.1.js';
9
+ public function sanitize() {
10
+ $body = $this->get_body_node();
11
+ $xpath = new \DOMXPath($this->dom);
12
+ $class_name = 'instagram-media';
13
+ $blockquotes = $xpath->query("//*[contains(@class,'$class_name')]");
14
+ foreach($blockquotes as $instagram_media){
15
+ $this->replace_with_amp_instagram($instagram_media);
16
+ }
17
+ if(count($this->instagram_medias) > 0){
18
+ $this->did_convert_elements = true;
19
+ }
20
+ }
21
+ function replace_with_amp_instagram ($instagram_media){
22
+ $medias = $instagram_media->getElementsByTagName('a');
23
+ if($medias->length > 0){
24
+ $media = $medias->item(0);
25
+ $href = $media->getAttribute('href');
26
+ $explode = explode('/', rtrim($href, '/'));
27
+ $sourcecode = end($explode);
28
+ $tag = $this->create_instagram_tag($sourcecode);
29
+ $this->instagram_medias[] = $tag; // add it to array
30
+ $instagram_media->parentNode->replaceChild( $tag, $instagram_media);
31
+ }
32
+ }
33
+ function create_instagram_tag($sourcecode){
34
+ $attrs = array(
35
+ 'data-shortcode' => $sourcecode,
36
+ 'width' => 400,
37
+ 'height'=> 400,
38
+ 'layout' => 'responsive'
39
+ );
40
+ return AMP_DOM_Utils::create_node($this->dom, 'amp-instagram', $attrs);
41
+ }
42
+ public function get_scripts() {
43
+ if ( ! $this->did_convert_elements ) {
44
+ return array();
45
+ }
46
+ return array( self::$script_slug => self::$script_src );
47
+ }
48
+ }
components/components-core.php CHANGED
@@ -391,7 +391,7 @@ add_action('amp_css', 'amp_theme_framework_rtl_styles');
391
  if( ! function_exists('amp_theme_framework_rtl_styles') ){
392
  function amp_theme_framework_rtl_styles(){
393
  global $redux_builder_amp;
394
- if( true == $redux_builder_amp['amp-rtl-select-option'] ){ ?>
395
  body.rtl {direction: rtl;}
396
  body amp-carousel{ direction: ltr;}
397
  <?php }
391
  if( ! function_exists('amp_theme_framework_rtl_styles') ){
392
  function amp_theme_framework_rtl_styles(){
393
  global $redux_builder_amp;
394
+ if( true === $redux_builder_amp['amp-rtl-select-option'] ){ ?>
395
  body.rtl {direction: rtl;}
396
  body amp-carousel{ direction: ltr;}
397
  <?php }
components/sidebar/sidebar.php CHANGED
@@ -2,7 +2,7 @@
2
  if(!function_exists('ampforwp_framework_get_sideabr')){
3
  function ampforwp_framework_get_sideabr($data=array()){
4
  if(!isset($data['action'])){
5
- echo 'action not found';
6
  }
7
  $action = $data['action'];
8
  unset($data['action']);
@@ -22,7 +22,7 @@ if(!function_exists('ampforwp_framework_get_sideabr')){
22
  echo sidebar_close_button($data);
23
  break;
24
  default:
25
- echo 'action not found';
26
  break;
27
  }
28
  }
@@ -36,7 +36,7 @@ function sidebar_close_button($data=array() ){
36
  if(isset($data['class'])){
37
  $class .= $data['class'];
38
  }
39
- return '<div role="button" tabindex="0" on="tap:'.$id.'.close" class="'.$class.'">X</div>';
40
  }
41
  function sidebar_opening_button($data=array()){
42
  $id = 'sidebar';
@@ -47,7 +47,7 @@ function sidebar_opening_button($data=array()){
47
  if(isset($data['class'])){
48
  $class = $data['class'];
49
  }
50
- return '<div on="tap:'.$id.'.toggle" role="button" tabindex="0" class="'.$class.'">
51
  <a href="#" class="amp-sidebar-toggle">
52
  <span></span>
53
  <span></span>
@@ -59,12 +59,12 @@ function sideber_begin($data=array()){
59
  $attribute = '';
60
  if(count($data)>0){
61
  foreach ($data as $key => $value) {
62
- $attribute .= $key.'="'.$value.'" ' ;
63
  }
64
  }else{
65
  $attribute = "id='sidebar' layout='nodisplay' side='right'";
66
  }
67
- return '<amp-sidebar '.$attribute.'>';
68
  }
69
 
70
  function sideber_end(){
2
  if(!function_exists('ampforwp_framework_get_sideabr')){
3
  function ampforwp_framework_get_sideabr($data=array()){
4
  if(!isset($data['action'])){
5
+ echo esc_attr('action not found');
6
  }
7
  $action = $data['action'];
8
  unset($data['action']);
22
  echo sidebar_close_button($data);
23
  break;
24
  default:
25
+ echo esc_html('action not found');
26
  break;
27
  }
28
  }
36
  if(isset($data['class'])){
37
  $class .= $data['class'];
38
  }
39
+ return '<div role="button" tabindex="0" on="tap:'.esc_attr( $id ).'.close" class="'.esc_attr( $class ).'">X</div>';
40
  }
41
  function sidebar_opening_button($data=array()){
42
  $id = 'sidebar';
47
  if(isset($data['class'])){
48
  $class = $data['class'];
49
  }
50
+ return '<div on="tap:'.esc_attr( $id ).'.toggle" role="button" tabindex="0" class="'. esc_attr( $class ) .'">
51
  <a href="#" class="amp-sidebar-toggle">
52
  <span></span>
53
  <span></span>
59
  $attribute = '';
60
  if(count($data)>0){
61
  foreach ($data as $key => $value) {
62
+ $attribute .= esc_attr($key).'="'.esc_attr($value).'" ';
63
  }
64
  }else{
65
  $attribute = "id='sidebar' layout='nodisplay' side='right'";
66
  }
67
+ return '<amp-sidebar '. $attribute .'>';
68
  }
69
 
70
  function sideber_end(){
components/theme-loader.php CHANGED
@@ -23,12 +23,12 @@ if(!defined('AMPFORWP_CUSTOM_THEME')){
23
  global $redux_builder_amp;
24
  // Single file
25
  if ( is_single() ) {
26
- if('single' === $type && !('product' === $post->post_type )) {
27
  $file = AMPFORWP_CUSTOM_THEME . '/single.php';
28
  }
29
  }
30
  if ( is_page() ) {
31
- if('single' === $type && !('product' === $post->post_type )) {
32
  $file = AMPFORWP_CUSTOM_THEME . '/page.php';
33
  }
34
  }
@@ -68,11 +68,12 @@ if(!defined('AMPFORWP_CUSTOM_THEME')){
68
  }
69
  }
70
 
 
71
  return $file;
72
  }
73
 
74
  // Custom Footer
75
- function ampforwp_custom_footer_file($file, $type ){
76
  if ( 'footer' === $type ) {
77
  $file = AMPFORWP_CUSTOM_THEME . '/footer.php';
78
  }
@@ -87,12 +88,3 @@ if(!defined('AMPFORWP_CUSTOM_THEME')){
87
  echo $redux_builder_amp['css_editor'];
88
  }
89
 
90
- // Loading Custom Google Fonts in the theme
91
- /*add_action( 'amp_post_template_head', 'amp_post_template_add_custom_google_font');
92
- function amp_post_template_add_custom_google_font( $amp_template ) {
93
- $font_urls = $amp_template->get( 'font_urls', array() );
94
- $font_urls['source_serif_pro'] = 'https://fonts.googleapis.com/css?family=Source+Serif+Pro:400,600|Source+Sans+Pro:400,700'; ?>
95
- <link rel="stylesheet" href="<?php echo esc_url( $font_urls['source_serif_pro'] ); ?>">
96
- <?php }*/
97
-
98
-
23
  global $redux_builder_amp;
24
  // Single file
25
  if ( is_single() ) {
26
+ if( 'single' === $type && ! ('product' === $post->post_type) ) {
27
  $file = AMPFORWP_CUSTOM_THEME . '/single.php';
28
  }
29
  }
30
  if ( is_page() ) {
31
+ if( 'single' === $type && ! ('product' === $post->post_type) ) {
32
  $file = AMPFORWP_CUSTOM_THEME . '/page.php';
33
  }
34
  }
68
  }
69
  }
70
 
71
+
72
  return $file;
73
  }
74
 
75
  // Custom Footer
76
+ function ampforwp_custom_footer_file($file, $type) {
77
  if ( 'footer' === $type ) {
78
  $file = AMPFORWP_CUSTOM_THEME . '/footer.php';
79
  }
88
  echo $redux_builder_amp['css_editor'];
89
  }
90
 
 
 
 
 
 
 
 
 
 
includes/admin-style.css CHANGED
@@ -132,4 +132,70 @@ body #toplevel_page_amp_options .wp-menu-image{
132
  position: relative;
133
  visibility: visible;
134
  cursor:pointer;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
135
  }
132
  position: relative;
133
  visibility: visible;
134
  cursor:pointer;
135
+ }
136
+ #wpbody-content .wrap .amp-update-notice{
137
+ display: table;
138
+ position: relative;
139
+ height: 70px;
140
+ padding: 0;
141
+ border: 0;
142
+ overflow: hidden;
143
+ margin-bottom: 10px;
144
+ }
145
+ .amp-update-notice-text-box{
146
+ padding: 15px 15px 10px 15px;
147
+ display: inline-block;
148
+ }
149
+
150
+ .amp-update-notice-text-box img{
151
+ width: 40px;
152
+ display: inline;
153
+ height: 40px;
154
+ }
155
+ .amp-update-notice-text{
156
+ display: inline;
157
+ position: relative;
158
+ margin-left: 5px;
159
+ font-weight: 300;
160
+ top: -14px;
161
+ font-size: 20px;
162
+ }
163
+ .amp-update-notice-text-box a{
164
+ position: relative;
165
+ top: -17px;
166
+ background: #ECEFF1;
167
+ text-decoration: none;
168
+ color: #111;
169
+ font-size: 10px;
170
+ padding: 4px 6px 5px 5px;
171
+ border-radius: 4px;
172
+ margin-left: 5px;
173
+ text-transform: uppercase;
174
+ border: 1px solid rgba(207, 216, 220, 0.9);
175
+ }
176
+ .amp-update-notice-dismiss{
177
+ display:inline-block;float:right;height: 70px;background: #333;width: 50px;text-align: center;
178
+ }
179
+ .amp-update-notice-dismiss a{
180
+ color: #fff;
181
+ text-decoration: none;
182
+ top: 26px;
183
+ position: relative;
184
+ padding: 24px 18px;
185
+ font-size: 17px;
186
+ font-weight: 300;
187
+ background: #333;
188
+ z-index: 100;
189
+ }
190
+ .amp-update-notice-review-box{
191
+ 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;
192
+ }
193
+ .amp-update-notice-review-box a{
194
+ color: #fff;
195
+ text-decoration: none;
196
+ font-size: 16px;
197
+ line-height: 23px; font-weight: 300;
198
+ }
199
+ .amp-update-notice-review-box span{
200
+ font-size: 11px;text-transform: uppercase;
201
  }
includes/options/admin-config.php CHANGED
@@ -1008,6 +1008,17 @@ Redux::setArgs( "redux_builder_amp", $args );
1008
 
1009
  );
1010
 
 
 
 
 
 
 
 
 
 
 
 
1011
  // Analytics SECTION
1012
  Redux::setSection( $opt_name, array(
1013
  'title' => __('Analytics'),
@@ -1016,12 +1027,11 @@ Redux::setArgs( "redux_builder_amp", $args );
1016
  'subsection' => true,
1017
  'fields' =>
1018
  array(
1019
-
1020
-
1021
  array(
1022
  'id' => 'amp-analytics-select-option',
1023
  'type' => 'select',
1024
  'title' => __( 'Analytics Type', 'accelerated-mobile-pages' ),
 
1025
  'subtitle' => __( 'Select your Analytics provider.', 'accelerated-mobile-pages' ),
1026
  'options' => array(
1027
  '1' => __('Google Analytics', 'accelerated-mobile-pages' ),
@@ -1040,6 +1050,16 @@ Redux::setArgs( "redux_builder_amp", $args );
1040
  array('amp-use-gtm-option', '=' , '0'),
1041
  ),
1042
  'default' => '1',
 
 
 
 
 
 
 
 
 
 
1043
  ),
1044
  array(
1045
  'id' => 'ga-feild',
@@ -1047,7 +1067,7 @@ Redux::setArgs( "redux_builder_amp", $args );
1047
  'title' => __( 'Google Analytics', 'accelerated-mobile-pages' ),
1048
  'required' => array(
1049
  array('amp-use-gtm-option', '=' , '0'),
1050
- array('amp-analytics-select-option', '=' , '1')
1051
  ),
1052
  'subtitle' => __( 'Enter your Google Analytics ID.', 'accelerated-mobile-pages' ),
1053
  'desc' => __('Example: UA-XXXXX-Y', 'accelerated-mobile-pages' ),
@@ -1061,7 +1081,7 @@ Redux::setArgs( "redux_builder_amp", $args );
1061
  'title' => __( 'Advanced Analytics Tracking Event Options', 'accelerated-mobile-pages' ),
1062
  'required' => array(
1063
  array('amp-use-gtm-option', '=' , '0'),
1064
- array('amp-analytics-select-option', '=' , '1')
1065
  ),
1066
  'subtitle' => __( 'Enable the Advance Tracking options', 'accelerated-mobile-pages' ),
1067
  'default' => 0,
@@ -1072,7 +1092,7 @@ Redux::setArgs( "redux_builder_amp", $args );
1072
  'title' => __('Advance Google Analytics', 'accelerated-mobile-pages'),
1073
  'required' => array(
1074
  array('amp-use-gtm-option', '=' , '0'),
1075
- array('amp-analytics-select-option', '=' , '1'),
1076
  array('ampforwp-ga-field-advance-switch', '=' , '1')
1077
  ),
1078
  'subtitle' => __('Enter the Advance Tracking options', 'accelerated-mobile-pages'),
@@ -1080,6 +1100,16 @@ Redux::setArgs( "redux_builder_amp", $args );
1080
  'theme' => 'monokai',
1081
  'desc' => '',
1082
  'default' => __('','accelerated-mobile-pages')
 
 
 
 
 
 
 
 
 
 
1083
  ),
1084
  array(
1085
  'id' => 'sa-feild',
@@ -1088,83 +1118,152 @@ Redux::setArgs( "redux_builder_amp", $args );
1088
  'subtitle' => __( 'Enter your Segment Analytics Key.', 'accelerated-mobile-pages' ),
1089
  'required' => array(
1090
  array('amp-use-gtm-option', '=' , '0'),
1091
- array('amp-analytics-select-option', '=' , '2')
1092
  ),
1093
  'default' => 'SEGMENT-WRITE-KEY',
1094
  ),
 
 
 
 
 
 
 
 
 
 
1095
  array(
1096
  'id' => 'pa-feild',
1097
  'type' => 'text',
1098
  'title' => __( 'Piwik Analytics', 'accelerated-mobile-pages' ),
1099
  'required' => array(
1100
  array('amp-use-gtm-option', '=' , '0'),
1101
- array('amp-analytics-select-option', '=' , '3')
1102
  ),
1103
  'desc' => __( 'Example: https://piwik.example.org/piwik.php?idsite=YOUR_SITE_ID&rec=1&action_name=TITLE&urlref=DOCUMENT_REFERRER&url=CANONICAL_URL&rand=RANDOM', 'accelerated-mobile-pages' ),
1104
  'subtitle' => __('Enter your Piwik Analytics URL.', 'accelerated-mobile-pages' ),
1105
  'default' => '#',
1106
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1107
  array(
1108
  'id' => 'eam-feild',
1109
  'type' => 'text',
1110
  'title' => __( 'Effective Measure Analytics', 'accelerated-mobile-pages' ),
1111
  'required' => array(
1112
  array('amp-use-gtm-option', '=' , '0'),
1113
- array('amp-analytics-select-option', '=' , '6')
1114
  ),
1115
  'desc' => __( 'Example: https://s.effectivemeasure.net/d/6/i?pu=CANONICAL_URL&ru=DOCUMENT_REFERRER&rnd=RANDOM', 'accelerated-mobile-pages' ),
1116
  'subtitle' => __('Enter your Effective Measure URL.', 'accelerated-mobile-pages' ),
1117
  'default' => '#',
1118
  ),
 
 
 
 
 
 
 
 
 
 
1119
  array(
1120
  'id' => 'sc-feild',
1121
  'type' => 'text',
1122
  'title' => __( 'StatCounter', 'accelerated-mobile-pages' ),
1123
  'required' => array(
1124
  array('amp-use-gtm-option', '=' , '0'),
1125
- array('amp-analytics-select-option', '=' , '7')
1126
  ),
1127
  'desc' => __( 'Example: https://c.statcounter.com/PROJECT_ID/0/SECURITY_CODE/1/', 'accelerated-mobile-pages' ),
1128
  'subtitle' => __('Enter your StatCounter URL.', 'accelerated-mobile-pages' ),
1129
  'default' => '#',
1130
  ),
1131
-
1132
- array(
1133
- 'id' =>'amp-quantcast-analytics-code',
1134
- 'type' => 'text',
1135
- 'title' => __('p-code','accelerated-mobile-pages'),
1136
- 'default' => '',
1137
- 'required' => array(
1138
- array('amp-analytics-select-option', '=' , '4')),
1139
- ),
1140
  array(
1141
- 'id' =>'amp-comscore-analytics-code-c1',
1142
- 'type' => 'text',
1143
- 'title' => __('C1','accelerated-mobile-pages'),
1144
- 'default' => 1,
1145
- 'required' => array(
1146
- array('amp-analytics-select-option', '=' , '5')),
1147
- ),
1148
- array(
1149
- 'id' =>'amp-comscore-analytics-code-c2',
1150
- 'type' => 'text',
1151
- 'title' => __('C2','accelerated-mobile-pages'),
1152
- 'default' => '',
1153
  'required' => array(
1154
- array('amp-analytics-select-option', '=' , '5')),
1155
- ),
 
1156
  array(
1157
  'id' => 'histats-feild',
1158
  'type' => 'text',
1159
  'title' => __( 'Histats Analytics', 'accelerated-mobile-pages' ),
1160
  'required' => array(
1161
  array('amp-use-gtm-option', '=' , '0'),
1162
- array('amp-analytics-select-option', '=' , '8')
1163
  ),
1164
  'subtitle' => __( 'Enter your Histats Analytics ID.', 'accelerated-mobile-pages' ),
1165
  'desc' => 'Tutorial: <a href="https://ampforwp.com/tutorials/how-to-get-histats-analytics-id/">How to get Histats Analytics ID for AMP?</a>',
1166
  'default' => '',
1167
  ),
 
 
 
 
 
 
 
 
 
 
1168
  array(
1169
  'id' =>'amp-Yandex-Metrika-analytics-code',
1170
  'type' => 'text',
@@ -1172,9 +1271,20 @@ Redux::setArgs( "redux_builder_amp", $args );
1172
  'default' => '',
1173
  'required' => array(
1174
  array('amp-use-gtm-option', '=' , '0'),
1175
- array('amp-analytics-select-option', '=' , '9')),
1176
  'subtitle' => __( 'Enter your Counter ID.', 'accelerated-mobile-pages' ),
1177
  ),
 
 
 
 
 
 
 
 
 
 
 
1178
  array(
1179
  'id' =>'amp-Chartbeat-analytics-code',
1180
  'type' => 'text',
@@ -1182,17 +1292,26 @@ Redux::setArgs( "redux_builder_amp", $args );
1182
  'default' => '',
1183
  'required' => array(
1184
  array('amp-use-gtm-option', '=' , '0'),
1185
- array('amp-analytics-select-option', '=' , '10')),
1186
  'subtitle' => __( 'Enter your Account ID.', 'accelerated-mobile-pages' ),
1187
  ),
1188
- // Alexa
 
 
 
 
 
 
 
 
 
1189
  array(
1190
  'id' => 'ampforwp-alexa-account',
1191
  'type' => 'text',
1192
  'title' => __( 'Alexa Metrics Account', 'accelerated-mobile-pages' ),
1193
  'required' => array(
1194
  array('amp-use-gtm-option', '=' , '0'),
1195
- array('amp-analytics-select-option', '=' , '11')
1196
  ),
1197
  'subtitle' => __( 'Enter Account Number given by Alexa Metrics', 'accelerated-mobile-pages' ),
1198
  'default' => '',
@@ -1203,7 +1322,7 @@ Redux::setArgs( "redux_builder_amp", $args );
1203
  'title' => __( 'Alexa Metrics Domain', 'accelerated-mobile-pages' ),
1204
  'required' => array(
1205
  array('amp-use-gtm-option', '=' , '0'),
1206
- array('amp-analytics-select-option', '=' , '11')
1207
  ),
1208
  'subtitle' => __( 'Enter the domain', 'accelerated-mobile-pages' ),
1209
  'default' => '',
@@ -2411,27 +2530,6 @@ Redux::setSection( $opt_name, array(
2411
  array('ampforwp-callnow-button', '=' , '1')
2412
  )
2413
  ),
2414
- // Date Format
2415
- array(
2416
- 'id' =>'ampforwp-post-date-format',
2417
- 'type' =>'select',
2418
- 'title' =>__('Date Format','accelerated-mobile-pages'),
2419
- 'subtitle' => __('Select the Date Format of Posts', 'accelerated-mobile-pages'),
2420
- 'options' => array(
2421
- '1' => 'Ago',
2422
- '2' => 'Traditional view'
2423
- ),
2424
- 'default' =>'1',
2425
- ),
2426
- array(
2427
- 'id' =>'ampforwp-post-date-format-text',
2428
- 'type' =>'text',
2429
- 'title' =>__('Text for the Date Format','accelerated-mobile-pages'),
2430
- 'desc' =>__('Example: English - % days ago, Spain - ago % days','accelerated-mobile-pages'),
2431
- 'required' => array( array('ampforwp-post-date-format', '=', '1') ),
2432
- 'default' =>'% days ago',
2433
- ),
2434
-
2435
  array(
2436
  'id' => 'css_editor',
2437
  'type' => 'ace_editor',
@@ -2808,14 +2906,6 @@ Redux::setSection( $opt_name, array(
2808
  'default' => 1,
2809
  'subtitle' => __('Enable Next-Previous links in single', 'accelerated-mobile-pages'),
2810
  ),
2811
- // Post Modified Date
2812
- array(
2813
- 'id' => 'post-modified-date',
2814
- 'type' => 'switch',
2815
- 'title' => __('Show Post Modified Date', 'accelerated-mobile-pages'),
2816
- 'default' => 0,
2817
- 'subtitle' => __('Show Modified date of an article at the end of the post.', 'accelerated-mobile-pages'),
2818
- ),
2819
  // Author Bio
2820
  array(
2821
  'id' => 'amp-author-description',
@@ -2830,17 +2920,6 @@ Redux::setSection( $opt_name, array(
2830
  'title' => __( 'Link to Author Pages', 'accelerated-mobile-pages' ),
2831
  'default' => '0',
2832
  ),
2833
- // Date on Single
2834
- array(
2835
- 'id' => 'amp-design-3-date-feature',
2836
- 'type' => 'switch',
2837
- 'title' => __( 'Published Date', 'accelerated-mobile-pages' ),
2838
- 'required' => array(
2839
- array('amp-design-selector', '=' , '3')
2840
- ),
2841
- 'subtitle' => __('Display date along with author and category', 'accelerated-mobile-pages' ),
2842
- 'default' => '0'
2843
- ),
2844
  // Pagination //#1015
2845
  array(
2846
  'id' => 'amp-pagination',
@@ -2985,6 +3064,12 @@ Redux::setSection( $opt_name, array(
2985
  ),
2986
  'default' => '1'
2987
  ),
 
 
 
 
 
 
2988
  )
2989
  ));
2990
 
@@ -3009,6 +3094,13 @@ Redux::setSection( $opt_name, array(
3009
  'title' => __('Meta Information', 'accelerated-mobile-pages'),
3010
  'subtitle' => __('Enable or disable the Meta info on Pages'),
3011
  ),
 
 
 
 
 
 
 
3012
  )
3013
  ));
3014
 
@@ -3359,6 +3451,66 @@ Redux::setSection( $opt_name, array(
3359
  ) );
3360
 
3361
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3362
  // Misc SECTION
3363
  Redux::setSection( $opt_name, array(
3364
  'title' => __( 'Misc', 'accelerated-mobile-pages' ),
1008
 
1009
  );
1010
 
1011
+ function ampforwp_get_default_analytics($param=""){
1012
+ $options = $default = '';
1013
+ $options = get_option('redux_builder_amp', true);
1014
+ $default = $options['amp-analytics-select-option'];
1015
+ if($param == $default){
1016
+ return true;
1017
+ }
1018
+ else
1019
+ return false;
1020
+ }
1021
+
1022
  // Analytics SECTION
1023
  Redux::setSection( $opt_name, array(
1024
  'title' => __('Analytics'),
1027
  'subsection' => true,
1028
  'fields' =>
1029
  array(
 
 
1030
  array(
1031
  'id' => 'amp-analytics-select-option',
1032
  'type' => 'select',
1033
  'title' => __( 'Analytics Type', 'accelerated-mobile-pages' ),
1034
+ 'class' => 'hide',
1035
  'subtitle' => __( 'Select your Analytics provider.', 'accelerated-mobile-pages' ),
1036
  'options' => array(
1037
  '1' => __('Google Analytics', 'accelerated-mobile-pages' ),
1050
  array('amp-use-gtm-option', '=' , '0'),
1051
  ),
1052
  'default' => '1',
1053
+ ),
1054
+ // Google Analytics
1055
+ array(
1056
+ 'id' => 'ampforwp-ga-switch',
1057
+ 'type' => 'switch',
1058
+ 'title' => 'Google Analytics',
1059
+ 'default' => ampforwp_get_default_analytics('1'),
1060
+ 'required' => array(
1061
+ array('amp-use-gtm-option', '=' , '0'),
1062
+ ),
1063
  ),
1064
  array(
1065
  'id' => 'ga-feild',
1067
  'title' => __( 'Google Analytics', 'accelerated-mobile-pages' ),
1068
  'required' => array(
1069
  array('amp-use-gtm-option', '=' , '0'),
1070
+ array('ampforwp-ga-switch', '=' , '1')
1071
  ),
1072
  'subtitle' => __( 'Enter your Google Analytics ID.', 'accelerated-mobile-pages' ),
1073
  'desc' => __('Example: UA-XXXXX-Y', 'accelerated-mobile-pages' ),
1081
  'title' => __( 'Advanced Analytics Tracking Event Options', 'accelerated-mobile-pages' ),
1082
  'required' => array(
1083
  array('amp-use-gtm-option', '=' , '0'),
1084
+ array('ampforwp-ga-switch', '=' , '1')
1085
  ),
1086
  'subtitle' => __( 'Enable the Advance Tracking options', 'accelerated-mobile-pages' ),
1087
  'default' => 0,
1092
  'title' => __('Advance Google Analytics', 'accelerated-mobile-pages'),
1093
  'required' => array(
1094
  array('amp-use-gtm-option', '=' , '0'),
1095
+ array('ampforwp-ga-switch', '=' , '1'),
1096
  array('ampforwp-ga-field-advance-switch', '=' , '1')
1097
  ),
1098
  'subtitle' => __('Enter the Advance Tracking options', 'accelerated-mobile-pages'),
1100
  'theme' => 'monokai',
1101
  'desc' => '',
1102
  'default' => __('','accelerated-mobile-pages')
1103
+ ),
1104
+ // Segment Analytics
1105
+ array(
1106
+ 'id' => 'ampforwp-Segment-switch',
1107
+ 'type' => 'switch',
1108
+ 'title' => 'Segment Analytics',
1109
+ 'default' => ampforwp_get_default_analytics('2'),
1110
+ 'required' => array(
1111
+ array('amp-use-gtm-option', '=' , '0'),
1112
+ ),
1113
  ),
1114
  array(
1115
  'id' => 'sa-feild',
1118
  'subtitle' => __( 'Enter your Segment Analytics Key.', 'accelerated-mobile-pages' ),
1119
  'required' => array(
1120
  array('amp-use-gtm-option', '=' , '0'),
1121
+ array('ampforwp-Segment-switch', '=' , '1')
1122
  ),
1123
  'default' => 'SEGMENT-WRITE-KEY',
1124
  ),
1125
+ // Piwik Analytics
1126
+ array(
1127
+ 'id' => 'ampforwp-Piwik-switch',
1128
+ 'type' => 'switch',
1129
+ 'title' => 'Piwik Analytics',
1130
+ 'default' => ampforwp_get_default_analytics('3'),
1131
+ 'required' => array(
1132
+ array('amp-use-gtm-option', '=' , '0'),
1133
+ ),
1134
+ ),
1135
  array(
1136
  'id' => 'pa-feild',
1137
  'type' => 'text',
1138
  'title' => __( 'Piwik Analytics', 'accelerated-mobile-pages' ),
1139
  'required' => array(
1140
  array('amp-use-gtm-option', '=' , '0'),
1141
+ array('ampforwp-Piwik-switch', '=' , '1')
1142
  ),
1143
  'desc' => __( 'Example: https://piwik.example.org/piwik.php?idsite=YOUR_SITE_ID&rec=1&action_name=TITLE&urlref=DOCUMENT_REFERRER&url=CANONICAL_URL&rand=RANDOM', 'accelerated-mobile-pages' ),
1144
  'subtitle' => __('Enter your Piwik Analytics URL.', 'accelerated-mobile-pages' ),
1145
  'default' => '#',
1146
  ),
1147
+ // Quantcast
1148
+ array(
1149
+ 'id' => 'ampforwp-Quantcast-switch',
1150
+ 'type' => 'switch',
1151
+ 'title' => 'Quantcast Measurement',
1152
+ 'default' => ampforwp_get_default_analytics('4'),
1153
+ 'required' => array(
1154
+ array('amp-use-gtm-option', '=' , '0'),
1155
+ ),
1156
+ ),
1157
+ array(
1158
+ 'id' =>'amp-quantcast-analytics-code',
1159
+ 'type' => 'text',
1160
+ 'title' => __('p-code','accelerated-mobile-pages'),
1161
+ 'default' => '',
1162
+ 'required' => array(
1163
+ array('ampforwp-Quantcast-switch', '=' , '1')),
1164
+ ),
1165
+ // comScore
1166
+ array(
1167
+ 'id' => 'ampforwp-comScore-switch',
1168
+ 'type' => 'switch',
1169
+ 'title' => 'comScore',
1170
+ 'default' => ampforwp_get_default_analytics('5'),
1171
+ 'required' => array(
1172
+ array('amp-use-gtm-option', '=' , '0'),
1173
+ ),
1174
+ ),
1175
+ array(
1176
+ 'id' =>'amp-comscore-analytics-code-c1',
1177
+ 'type' => 'text',
1178
+ 'title' => __('C1','accelerated-mobile-pages'),
1179
+ 'default' => 1,
1180
+ 'required' => array(
1181
+ array('ampforwp-comScore-switch', '=' , '1')),
1182
+ ),
1183
+ array(
1184
+ 'id' =>'amp-comscore-analytics-code-c2',
1185
+ 'type' => 'text',
1186
+ 'title' => __('C2','accelerated-mobile-pages'),
1187
+ 'default' => '',
1188
+ 'required' => array(
1189
+ array('ampforwp-comScore-switch', '=' , '1')),
1190
+ ),
1191
+ // Effective Measure
1192
+ array(
1193
+ 'id' => 'ampforwp-Effective-switch',
1194
+ 'type' => 'switch',
1195
+ 'title' => 'Effective Measure',
1196
+ 'default' => ampforwp_get_default_analytics('6'),
1197
+ 'required' => array(
1198
+ array('amp-use-gtm-option', '=' , '0'),
1199
+ ),
1200
+ ),
1201
  array(
1202
  'id' => 'eam-feild',
1203
  'type' => 'text',
1204
  'title' => __( 'Effective Measure Analytics', 'accelerated-mobile-pages' ),
1205
  'required' => array(
1206
  array('amp-use-gtm-option', '=' , '0'),
1207
+ array('ampforwp-Effective-switch', '=' , '1')
1208
  ),
1209
  'desc' => __( 'Example: https://s.effectivemeasure.net/d/6/i?pu=CANONICAL_URL&ru=DOCUMENT_REFERRER&rnd=RANDOM', 'accelerated-mobile-pages' ),
1210
  'subtitle' => __('Enter your Effective Measure URL.', 'accelerated-mobile-pages' ),
1211
  'default' => '#',
1212
  ),
1213
+ // StatCounter
1214
+ array(
1215
+ 'id' => 'ampforwp-StatCounter-switch',
1216
+ 'type' => 'switch',
1217
+ 'title' => 'StatCounter',
1218
+ 'default' => ampforwp_get_default_analytics('7'),
1219
+ 'required' => array(
1220
+ array('amp-use-gtm-option', '=' , '0'),
1221
+ ),
1222
+ ),
1223
  array(
1224
  'id' => 'sc-feild',
1225
  'type' => 'text',
1226
  'title' => __( 'StatCounter', 'accelerated-mobile-pages' ),
1227
  'required' => array(
1228
  array('amp-use-gtm-option', '=' , '0'),
1229
+ array('ampforwp-StatCounter-switch', '=' , '1')
1230
  ),
1231
  'desc' => __( 'Example: https://c.statcounter.com/PROJECT_ID/0/SECURITY_CODE/1/', 'accelerated-mobile-pages' ),
1232
  'subtitle' => __('Enter your StatCounter URL.', 'accelerated-mobile-pages' ),
1233
  'default' => '#',
1234
  ),
1235
+ // Histats Analytics
 
 
 
 
 
 
 
 
1236
  array(
1237
+ 'id' => 'ampforwp-Histats-switch',
1238
+ 'type' => 'switch',
1239
+ 'title' => 'Histats Analytics',
1240
+ 'default' => ampforwp_get_default_analytics('8'),
 
 
 
 
 
 
 
 
1241
  'required' => array(
1242
+ array('amp-use-gtm-option', '=' , '0'),
1243
+ ),
1244
+ ),
1245
  array(
1246
  'id' => 'histats-feild',
1247
  'type' => 'text',
1248
  'title' => __( 'Histats Analytics', 'accelerated-mobile-pages' ),
1249
  'required' => array(
1250
  array('amp-use-gtm-option', '=' , '0'),
1251
+ array('ampforwp-Histats-switch', '=' , '1')
1252
  ),
1253
  'subtitle' => __( 'Enter your Histats Analytics ID.', 'accelerated-mobile-pages' ),
1254
  'desc' => 'Tutorial: <a href="https://ampforwp.com/tutorials/how-to-get-histats-analytics-id/">How to get Histats Analytics ID for AMP?</a>',
1255
  'default' => '',
1256
  ),
1257
+ // Yandex Metrika
1258
+ array(
1259
+ 'id' => 'ampforwp-Yandex-switch',
1260
+ 'type' => 'switch',
1261
+ 'title' => 'Yandex Metrika',
1262
+ 'default' => ampforwp_get_default_analytics('9'),
1263
+ 'required' => array(
1264
+ array('amp-use-gtm-option', '=' , '0'),
1265
+ ),
1266
+ ),
1267
  array(
1268
  'id' =>'amp-Yandex-Metrika-analytics-code',
1269
  'type' => 'text',
1271
  'default' => '',
1272
  'required' => array(
1273
  array('amp-use-gtm-option', '=' , '0'),
1274
+ array('ampforwp-Yandex-switch', '=' , '1')),
1275
  'subtitle' => __( 'Enter your Counter ID.', 'accelerated-mobile-pages' ),
1276
  ),
1277
+ // Chartbeat Analytics
1278
+ array(
1279
+ 'id' => 'ampforwp-Chartbeat-switch',
1280
+ 'type' => 'switch',
1281
+ 'title' => 'Chartbeat Analytics',
1282
+ 'default' => ampforwp_get_default_analytics('10'),
1283
+ 'required' => array(
1284
+ array('amp-use-gtm-option', '=' , '0'),
1285
+ ),
1286
+ ),
1287
+
1288
  array(
1289
  'id' =>'amp-Chartbeat-analytics-code',
1290
  'type' => 'text',
1292
  'default' => '',
1293
  'required' => array(
1294
  array('amp-use-gtm-option', '=' , '0'),
1295
+ array('ampforwp-Chartbeat-switch', '=' , '1')),
1296
  'subtitle' => __( 'Enter your Account ID.', 'accelerated-mobile-pages' ),
1297
  ),
1298
+ // Alexa Metrics
1299
+ array(
1300
+ 'id' => 'ampforwp-Alexa-switch',
1301
+ 'type' => 'switch',
1302
+ 'title' => 'Alexa Metrics',
1303
+ 'default' => ampforwp_get_default_analytics('11'),
1304
+ 'required' => array(
1305
+ array('amp-use-gtm-option', '=' , '0'),
1306
+ ),
1307
+ ),
1308
  array(
1309
  'id' => 'ampforwp-alexa-account',
1310
  'type' => 'text',
1311
  'title' => __( 'Alexa Metrics Account', 'accelerated-mobile-pages' ),
1312
  'required' => array(
1313
  array('amp-use-gtm-option', '=' , '0'),
1314
+ array('ampforwp-Alexa-switch', '=' , '1')
1315
  ),
1316
  'subtitle' => __( 'Enter Account Number given by Alexa Metrics', 'accelerated-mobile-pages' ),
1317
  'default' => '',
1322
  'title' => __( 'Alexa Metrics Domain', 'accelerated-mobile-pages' ),
1323
  'required' => array(
1324
  array('amp-use-gtm-option', '=' , '0'),
1325
+ array('ampforwp-Alexa-switch', '=' , '1')
1326
  ),
1327
  'subtitle' => __( 'Enter the domain', 'accelerated-mobile-pages' ),
1328
  'default' => '',
2530
  array('ampforwp-callnow-button', '=' , '1')
2531
  )
2532
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2533
  array(
2534
  'id' => 'css_editor',
2535
  'type' => 'ace_editor',
2906
  'default' => 1,
2907
  'subtitle' => __('Enable Next-Previous links in single', 'accelerated-mobile-pages'),
2908
  ),
 
 
 
 
 
 
 
 
2909
  // Author Bio
2910
  array(
2911
  'id' => 'amp-author-description',
2920
  'title' => __( 'Link to Author Pages', 'accelerated-mobile-pages' ),
2921
  'default' => '0',
2922
  ),
 
 
 
 
 
 
 
 
 
 
 
2923
  // Pagination //#1015
2924
  array(
2925
  'id' => 'amp-pagination',
3064
  ),
3065
  'default' => '1'
3066
  ),
3067
+ array(
3068
+ 'id' => 'ampforwp-nofollow-view-nonamp',
3069
+ 'type' => 'switch',
3070
+ 'title' => __('Make "View Non-AMP" link nofollow', 'accelerated-mobile-pages'),
3071
+ 'default' => 0
3072
+ ),
3073
  )
3074
  ));
3075
 
3094
  'title' => __('Meta Information', 'accelerated-mobile-pages'),
3095
  'subtitle' => __('Enable or disable the Meta info on Pages'),
3096
  ),
3097
+ array(
3098
+ 'id' => 'ampforwp_subpages_list',
3099
+ 'type' => 'switch',
3100
+ 'default' => '0',
3101
+ 'title' => __('Display Subpages/ChildPages', 'accelerated-mobile-pages'),
3102
+ 'subtitle' => __('Enable or disable the List of Subpages'),
3103
+ ),
3104
  )
3105
  ));
3106
 
3451
  ) );
3452
 
3453
 
3454
+ // Date SECTION
3455
+ Redux::setSection( $opt_name, array(
3456
+ 'title' => __( 'Date', 'accelerated-mobile-pages' ),
3457
+ 'id' => 'ampforwp-date-section',
3458
+ 'subsection' => true,
3459
+ 'fields' => array(
3460
+ // Date on Single Design 3
3461
+ array(
3462
+ 'id' => 'amp-design-3-date-feature',
3463
+ 'type' => 'switch',
3464
+ 'title' => __( 'Date in Posts', 'accelerated-mobile-pages' ),
3465
+ 'required' => array(
3466
+ array('amp-design-selector', '=' , '3')
3467
+ ),
3468
+ 'subtitle' => __('Display date along with author and category in posts', 'accelerated-mobile-pages' ),
3469
+ 'default' => '0'
3470
+ ),
3471
+ // Show Date As
3472
+ array(
3473
+ 'id' => 'ampforwp-post-date-global',
3474
+ 'type' => 'select',
3475
+ 'title' => __( 'Show Date As', 'accelerated-mobile-pages' ),
3476
+ 'options' => array(
3477
+ '1' => 'Published Date',
3478
+ '2' => 'Modified Date'
3479
+ ),
3480
+ 'default' => '1',
3481
+ ),
3482
+ // Date Format
3483
+ array(
3484
+ 'id' =>'ampforwp-post-date-format',
3485
+ 'type' =>'select',
3486
+ 'title' =>__('Date Format','accelerated-mobile-pages'),
3487
+ 'subtitle' => __('Select the Date Format of Posts', 'accelerated-mobile-pages'),
3488
+ 'options' => array(
3489
+ '1' => 'Ago',
3490
+ '2' => 'Traditional view'
3491
+ ),
3492
+ 'default' =>'1',
3493
+ ),
3494
+ array(
3495
+ 'id' =>'ampforwp-post-date-format-text',
3496
+ 'type' =>'text',
3497
+ 'title' =>__('Text for the Date Format','accelerated-mobile-pages'),
3498
+ 'desc' =>__('Example: English - % days ago, Spain - ago % days','accelerated-mobile-pages'),
3499
+ 'required' => array( array('ampforwp-post-date-format', '=', '1') ),
3500
+ 'default' =>'% days ago',
3501
+ ),
3502
+ // Post Modified Date
3503
+ array(
3504
+ 'id' => 'post-modified-date',
3505
+ 'type' => 'switch',
3506
+ 'title' => __('Modified Date Notice', 'accelerated-mobile-pages'),
3507
+ 'default' => 0,
3508
+ 'subtitle' => __('Show Modified date of an article at the end of the post.', 'accelerated-mobile-pages'),
3509
+ ),
3510
+ )
3511
+
3512
+ ) );
3513
+
3514
  // Misc SECTION
3515
  Redux::setSection( $opt_name, array(
3516
  'title' => __( 'Misc', 'accelerated-mobile-pages' ),
includes/vendor/amp/includes/sanitizers/class-amp-playbuzz-sanitizer.php CHANGED
@@ -54,12 +54,11 @@ class AMP_Playbuzz_Sanitizer extends AMP_Base_Sanitizer {
54
 
55
  if ( $new_attributes['src'] ) {
56
  $checker = preg_match("@^https?://@", $new_attributes['src'] ) ;
 
 
 
57
  }
58
 
59
- if ( empty( $checker ) ) {
60
- $new_attributes['src'] = 'https:' . $new_attributes['src'];
61
- }
62
-
63
  $new_node = AMP_DOM_Utils::create_node( $this->dom, self::$script_slug, $new_attributes );
64
 
65
  $node->parentNode->replaceChild( $new_node, $node );
54
 
55
  if ( $new_attributes['src'] ) {
56
  $checker = preg_match("@^https?://@", $new_attributes['src'] ) ;
57
+ if ( empty( $checker ) ) {
58
+ $new_attributes['src'] = 'https:' . $new_attributes['src'];
59
+ }
60
  }
61
 
 
 
 
 
62
  $new_node = AMP_DOM_Utils::create_node( $this->dom, self::$script_slug, $new_attributes );
63
 
64
  $node->parentNode->replaceChild( $new_node, $node );
install/index.php CHANGED
@@ -127,8 +127,7 @@ if(isset($redux_builder_amp['opt-media']['url']) && $redux_builder_amp['opt-medi
127
 
128
  function ampforwp_instller_admin_init(){
129
  if(isset($_GET['ampforwp_install']) && $_GET['ampforwp_install']=='1' && is_admin()){
130
- ampforwp_steps_call();
131
-
132
  }
133
  }
134
 
127
 
128
  function ampforwp_instller_admin_init(){
129
  if(isset($_GET['ampforwp_install']) && $_GET['ampforwp_install']=='1' && is_admin()){
130
+ ampforwp_steps_call();
 
131
  }
132
  }
133
 
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/25
5
  Requires at least: 3.0
6
  Tested up to: 4.9.1
7
- Stable tag: 0.9.72.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -112,16 +112,6 @@ Bug reports for AMP for WP are [welcomed on GitHub](https://github.com/ahmedkalu
112
 
113
  **[5. Frequently Asked Questions:](http://ampforwp.com/faq/)** Some of the Frequently Asked questions.
114
 
115
- = Issues & Bug Reports: =
116
- **How do I Report Bugs and Suggest New Features**
117
- <i>You</i> can report the bugs at https://github.com/ahmedkaludi/Accelerated-Mobile-Pages/issues
118
-
119
- **Will you Add New features upon my request?**
120
- Yes, Absolutely! I would suggest you to send your feature request by creating an issue in Github at https://github.com/ahmedkaludi/Accelerated-Mobile-Pages/issues/new/ . It helps us organize the feedback easily.
121
-
122
- **How do I get in touch?**
123
- You can contact me using this url: http://ampforwp.com/contact/
124
-
125
 
126
  == Installation ==
127
  **[Visit Help area for the Documentation:](http://ampforwp.com/help/)**
@@ -187,6 +177,23 @@ You can contact us from [here](http://ampforwp.com/contact/)
187
 
188
  == Changelog ==
189
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
190
  = 0.9.72 (6th January 2018, Happy New Year) =
191
  * View More details on https://ampforwp.com/0-9-72-released-stability-update-77th-update
192
  * Related Posts Image stretching in Design 3 AMP theme Framework #1482
4
  Donate link: https://www.paypal.me/Kaludi/25
5
  Requires at least: 3.0
6
  Tested up to: 4.9.1
7
+ Stable tag: 0.9.73
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
112
 
113
  **[5. Frequently Asked Questions:](http://ampforwp.com/faq/)** Some of the Frequently Asked questions.
114
 
 
 
 
 
 
 
 
 
 
 
115
 
116
  == Installation ==
117
  **[Visit Help area for the Documentation:](http://ampforwp.com/help/)**
177
 
178
  == Changelog ==
179
 
180
+ = 0.9.73 (15th January 2018) =
181
+ * View More details on the [blog post](https://ampforwp.com/0-9-73-released-stability-update-78th-update/)
182
+ * Added: Instagram Sanitizer added to process Instagram Embeds inside the BlockQuotes #1581
183
+ * Added: Option Created to Enable/Disable rel="nofollow" for View Non-AMP link #1572
184
+ * Fixed: Custom AMP Content was not working with Elementor Pagbuilder #1495
185
+ * Fixed: ampforwp_is_front_page() is not working in the newspaper theme #1583
186
+ * Added: Allow people to use multiple Analytics on AMP #1124
187
+ * Fixed: 'https' error with PlayBuzz Embeds #1481
188
+ * Added: Option to show last modified date instead of Published date #1496
189
+ * Fixed: Add proper permission for ampforwptourinstaller page
190
+ * Fixed: Debug warnings #1586 and #1459
191
+ * Fixed: A lot of Security Fixes has been done #1497
192
+ * Fixed: Removed lot of unused code #1497
193
+ * Added: AMP skip for checkout page #1443
194
+ * Added: Show the list of Child pages at the end in Parent Page with on/off #1551
195
+ * Fixed: Properly strip shortcodes fom Structured data description #1512
196
+
197
  = 0.9.72 (6th January 2018, Happy New Year) =
198
  * View More details on https://ampforwp.com/0-9-72-released-stability-update-77th-update
199
  * Related Posts Image stretching in Design 3 AMP theme Framework #1482
templates/design-manager/design-1/elements/meta-info.php CHANGED
@@ -27,7 +27,11 @@
27
  <time datetime="<?php echo esc_attr( date( 'c', $this->get( 'post_publish_timestamp' ) ) ); ?>">
28
  <?php if( is_single() || ( is_page() && $redux_builder_amp['meta_page'] ) ) {
29
  global $redux_builder_amp;
30
- echo apply_filters('ampforwp_modify_post_date', ampforwp_translation($redux_builder_amp['amp-translator-on-text']. ' ', 'On') . get_the_date( get_option( 'date_format' )) );
 
 
 
 
31
  }?>
32
  </time>
33
  </div>
27
  <time datetime="<?php echo esc_attr( date( 'c', $this->get( 'post_publish_timestamp' ) ) ); ?>">
28
  <?php if( is_single() || ( is_page() && $redux_builder_amp['meta_page'] ) ) {
29
  global $redux_builder_amp;
30
+ $date = get_the_date( get_option( 'date_format' ));
31
+ if( 2 == $redux_builder_amp['ampforwp-post-date-global'] ){
32
+ $date = get_the_modified_date( get_option( 'date_format' )) . ', ' . get_the_modified_time() ;
33
+ }
34
+ echo apply_filters('ampforwp_modify_post_date', ampforwp_translation($redux_builder_amp['amp-translator-on-text']. ' ', 'On') . $date );
35
  }?>
36
  </time>
37
  </div>
templates/design-manager/design-2/elements/meta-info.php CHANGED
@@ -11,7 +11,12 @@
11
  <?php
12
  if(is_single() || ( is_page() && $redux_builder_amp['meta_page'] ) ) {
13
  echo ampforwp_get_author_details( $post_author , 'meta-info' ); ?>
14
- <li class="amp-wp-meta-date"> <?php global $redux_builder_amp; echo apply_filters('ampforwp_modify_post_date', ampforwp_translation($redux_builder_amp['amp-translator-on-text']. ' ', 'On') . get_the_date( get_option( 'date_format' ) ) ) ?></li>
 
 
 
 
 
15
  <?php } ?>
16
  </div>
17
  <?php endif; ?>
11
  <?php
12
  if(is_single() || ( is_page() && $redux_builder_amp['meta_page'] ) ) {
13
  echo ampforwp_get_author_details( $post_author , 'meta-info' ); ?>
14
+ <li class="amp-wp-meta-date"> <?php global $redux_builder_amp;
15
+ $date = get_the_date( get_option( 'date_format' ) );
16
+ if( 2 == $redux_builder_amp['ampforwp-post-date-global'] ){
17
+ $date = get_the_modified_date( get_option( 'date_format' )) . ', ' . get_the_modified_time() ;
18
+ }
19
+ echo apply_filters('ampforwp_modify_post_date', ampforwp_translation($redux_builder_amp['amp-translator-on-text']. ' ', 'On') . $date ) ?></li>
20
  <?php } ?>
21
  </div>
22
  <?php endif; ?>
templates/design-manager/design-3/elements/meta-info.php CHANGED
@@ -34,7 +34,13 @@ if( isset($redux_builder_amp['ampforwp-cats-single']) && $redux_builder_amp['amp
34
  <?php endif; } ?>
35
 
36
  <?php if ( $redux_builder_amp['amp-design-3-date-feature'] ) : ?>
37
- <span class="ampforwp-design3-single-date"><?php global $redux_builder_amp; echo apply_filters('ampforwp_modify_post_date', ampforwp_translation($redux_builder_amp['amp-translator-on-text']. ' ', 'On') . get_the_date( get_option( 'date_format' ) ) ) ?></span>
 
 
 
 
 
 
38
  <?php endif; ?>
39
 
40
  </div>
34
  <?php endif; } ?>
35
 
36
  <?php if ( $redux_builder_amp['amp-design-3-date-feature'] ) : ?>
37
+ <span class="ampforwp-design3-single-date"><?php global $redux_builder_amp;
38
+ $date = get_the_date( get_option( 'date_format' ));
39
+ if( 2 == $redux_builder_amp['ampforwp-post-date-global'] ){
40
+ $date = get_the_modified_date( get_option( 'date_format' ) ) . ', ' . get_the_modified_time() ;
41
+ }
42
+
43
+ echo apply_filters('ampforwp_modify_post_date', ampforwp_translation($redux_builder_amp['amp-translator-on-text']. ' ', 'On') . $date ) ?></span>
44
  <?php endif; ?>
45
 
46
  </div>
templates/design-manager/design-3/footer.php CHANGED
@@ -1,8 +1,7 @@
1
  <?php global $redux_builder_amp;
2
  wp_reset_postdata();?>
3
  <footer class="footer_wrapper container">
4
- <div id="footer">
5
-
6
  <?php if ( has_nav_menu( 'amp-footer-menu' ) ) { ?>
7
  <?php // schema.org/SiteNavigationElement missing from menus #1229 ?>
8
  <div class="footer_menu">
@@ -10,105 +9,105 @@
10
  <?php
11
  $menu = wp_nav_menu( array(
12
  'theme_location' => 'amp-footer-menu',
13
- 'link_before' => '<span itemprop="name">',
14
  'link_after' => '</span>',
15
- 'echo' => false
16
  ) );
17
  $menu = apply_filters('ampforwp_menu_content', $menu);
18
- $sanitizer_obj = new AMPFORWP_Content( $menu, array(), apply_filters( 'ampforwp_content_sanitizers', array( 'AMP_Img_Sanitizer' => array(), 'AMP_Style_Sanitizer' => array(), ) ) );
19
- $sanitized_menu = $sanitizer_obj->get_amp_content();
20
- echo $sanitized_menu; ?>
 
 
 
21
  </nav>
22
  </div>
23
  <?php } ?>
24
 
25
- <?php if( ampforwp_checking_any_social_profiles() ) { ?>
26
  <div class="social_icons">
27
  <ul>
28
 
29
  <?php global $redux_builder_amp;
30
- if( $redux_builder_amp['enable-single-twittter-profile'] && $redux_builder_amp['enable-single-twittter-profile-url'] !== '') { ?>
31
- <a href="<?php echo $redux_builder_amp['enable-single-twittter-profile-url']; ?>" target ="_blank"><li class="icon-twitter"></li></a>
32
  <?php } ?>
33
 
34
  <?php global $redux_builder_amp;
35
- if( $redux_builder_amp['enable-single-facebook-profile'] && $redux_builder_amp['enable-single-facebook-profile-url'] !== '') { ?>
36
- <a href="<?php echo $redux_builder_amp['enable-single-facebook-profile-url']; ?>" target ="_blank"><li class="icon-facebook"></li></a>
37
  <?php } ?>
38
 
39
  <?php global $redux_builder_amp;
40
- if( $redux_builder_amp['enable-single-pintrest-profile'] && $redux_builder_amp['enable-single-pintrest-profile-url'] !== '') { ?>
41
- <a href="<?php echo $redux_builder_amp['enable-single-pintrest-profile-url']; ?>" target ="_blank"><li class="icon-pinterest"></li></a>
42
  <?php } ?>
43
 
44
  <?php global $redux_builder_amp;
45
- if( $redux_builder_amp['enable-single-google-plus-profile'] && $redux_builder_amp['enable-single-google-plus-profile-url'] !== '') { ?>
46
- <a href="<?php echo $redux_builder_amp['enable-single-google-plus-profile-url']; ?>" target ="_blank"><li class="icon-google-plus"></li></a>
47
  <?php } ?>
48
 
49
  <?php global $redux_builder_amp;
50
- if( $redux_builder_amp['enable-single-linkdin-profile'] && $redux_builder_amp['enable-single-linkdin-profile-url'] !== '') { ?>
51
- <a href="<?php echo $redux_builder_amp['enable-single-linkdin-profile-url']; ?>" target ="_blank"><li class="icon-linkedin"></li></a>
52
  <?php } ?>
53
 
54
  <?php global $redux_builder_amp;
55
- if( $redux_builder_amp['enable-single-youtube-profile'] && $redux_builder_amp['enable-single-youtube-profile-url'] !== '') { ?>
56
- <a href="<?php echo $redux_builder_amp['enable-single-youtube-profile-url']; ?>" target ="_blank"><li class="icon-youtube-play"></li></a>
57
  <?php } ?>
58
 
59
  <?php global $redux_builder_amp;
60
- if( $redux_builder_amp['enable-single-instagram-profile'] && $redux_builder_amp['enable-single-instagram-profile-url'] !== '') { ?>
61
- <a href="<?php echo $redux_builder_amp['enable-single-instagram-profile-url']; ?>" target ="_blank"> <li class="icon-instagram"></li></a>
62
  <?php } ?>
63
 
64
  <?php global $redux_builder_amp;
65
- if( $redux_builder_amp['enable-single-reddit-profile'] && $redux_builder_amp['enable-single-reddit-profile-url'] !== '') { ?>
66
- <a href="<?php echo $redux_builder_amp['enable-single-reddit-profile-url']; ?>" target ="_blank"><li class="icon-reddit-alien"></li></a>
67
  <?php } ?>
68
 
69
  <?php global $redux_builder_amp;
70
- if( $redux_builder_amp['enable-single-VKontakte-profile'] && $redux_builder_amp['enable-single-VKontakte-profile-url'] !== '') { ?>
71
- <a href="<?php echo $redux_builder_amp['enable-single-VKontakte-profile-url']; ?>" target ="_blank"><li class="icon-vk"></li></a>
72
  <?php } ?>
73
 
74
  <?php global $redux_builder_amp;
75
- if( $redux_builder_amp['enable-single-snapchat-profile'] && $redux_builder_amp['enable-single-snapchat-profile-url'] !== '') { ?>
76
- <a href="<?php echo $redux_builder_amp['enable-single-snapchat-profile-url']; ?>" target ="_blank"><li class="icon-snapchat-ghost"></li></a>
77
  <?php } ?>
78
 
79
  <?php global $redux_builder_amp;
80
- if( $redux_builder_amp['enable-single-Tumblr-profile'] && $redux_builder_amp['enable-single-Tumblr-profile-url'] !== '') { ?>
81
- <a href="<?php echo $redux_builder_amp['enable-single-Tumblr-profile-url']; ?>" target ="_blank"><li class="icon-tumblr"></li></a>
82
  <?php } ?>
83
 
84
  </ul>
85
  </div>
86
  <?php }
87
- if( $redux_builder_amp['ampforwp-footer-top-design3'] == '1' ){ ?>
88
  <p class="rightslink back-to-top">
89
  <a href="#">
90
- <?php echo ampforwp_translation( $redux_builder_amp['amp-translator-top-text'], 'Top'); ?>
91
  </a> </p> <?php } ?>
92
  <p class="rightslink">
93
  <?php
94
  global $allowed_html;
95
- echo wp_kses( ampforwp_translation($redux_builder_amp['amp-translator-footer-text'], 'Footer') ,$allowed_html ) ;
96
- if($redux_builder_amp['amp-footer-link-non-amp-page']=='1') {
97
- if($redux_builder_amp['amp-translator-footer-text']){ ?> | <?php ampforwp_view_nonamp(); }
98
- else{
99
  ampforwp_view_nonamp();
100
- } } ?>
 
101
  </p>
102
- <?php global $redux_builder_amp; if( $redux_builder_amp['amp-design-3-credit-link'] ) { ?>
103
- <p class="poweredby">
104
- <a href="https://ampforwp.com" rel="nofollow">Powered by AMPforWP</a>
105
- <p>
106
- <?php } ?>
107
  </div>
108
  </footer>
109
  </div><!--Design3 Ends-->
110
-
111
- <?php
112
- do_action('ampforwp_global_after_footer');
113
-
114
- ?>
1
  <?php global $redux_builder_amp;
2
  wp_reset_postdata();?>
3
  <footer class="footer_wrapper container">
4
+ <div id="footer">
 
5
  <?php if ( has_nav_menu( 'amp-footer-menu' ) ) { ?>
6
  <?php // schema.org/SiteNavigationElement missing from menus #1229 ?>
7
  <div class="footer_menu">
9
  <?php
10
  $menu = wp_nav_menu( array(
11
  'theme_location' => 'amp-footer-menu',
12
+ 'link_before' => '<span itemprop="name">',
13
  'link_after' => '</span>',
14
+ 'echo' => false,
15
  ) );
16
  $menu = apply_filters('ampforwp_menu_content', $menu);
17
+ $sanitizer_obj = new AMPFORWP_Content( $menu, array(), apply_filters( 'ampforwp_content_sanitizers', array(
18
+ 'AMP_Img_Sanitizer' => array(),
19
+ 'AMP_Style_Sanitizer' => array(),
20
+ )) );
21
+ $sanitized_menu = $sanitizer_obj->get_amp_content();
22
+ echo wp_kses($sanitized_menu, ampforwp_allowed_tags()); ?>
23
  </nav>
24
  </div>
25
  <?php } ?>
26
 
27
+ <?php if ( ampforwp_checking_any_social_profiles() ) { ?>
28
  <div class="social_icons">
29
  <ul>
30
 
31
  <?php global $redux_builder_amp;
32
+ if ( $redux_builder_amp['enable-single-twittter-profile'] && '' !== $redux_builder_amp['enable-single-twittter-profile-url'] ) { ?>
33
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-twittter-profile-url']); ?>" target ="_blank"><li class="icon-twitter"></li></a>
34
  <?php } ?>
35
 
36
  <?php global $redux_builder_amp;
37
+ if ( $redux_builder_amp['enable-single-facebook-profile'] && '' !== $redux_builder_amp['enable-single-facebook-profile-url'] ) { ?>
38
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-facebook-profile-url']); ?>" target ="_blank"><li class="icon-facebook"></li></a>
39
  <?php } ?>
40
 
41
  <?php global $redux_builder_amp;
42
+ if ( $redux_builder_amp['enable-single-pintrest-profile'] && '' !== $redux_builder_amp['enable-single-pintrest-profile-url'] ) { ?>
43
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-pintrest-profile-url']); ?>" target ="_blank"><li class="icon-pinterest"></li></a>
44
  <?php } ?>
45
 
46
  <?php global $redux_builder_amp;
47
+ if ( $redux_builder_amp['enable-single-google-plus-profile'] && '' !== $redux_builder_amp['enable-single-google-plus-profile-url'] ) { ?>
48
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-google-plus-profile-url']); ?>" target ="_blank"><li class="icon-google-plus"></li></a>
49
  <?php } ?>
50
 
51
  <?php global $redux_builder_amp;
52
+ if ( $redux_builder_amp['enable-single-linkdin-profile'] && '' !== $redux_builder_amp['enable-single-linkdin-profile-url'] ) { ?>
53
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-linkdin-profile-url']); ?>" target ="_blank"><li class="icon-linkedin"></li></a>
54
  <?php } ?>
55
 
56
  <?php global $redux_builder_amp;
57
+ if ( $redux_builder_amp['enable-single-youtube-profile'] && '' !== $redux_builder_amp['enable-single-youtube-profile-url'] ) { ?>
58
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-youtube-profile-url']); ?>" target ="_blank"><li class="icon-youtube-play"></li></a>
59
  <?php } ?>
60
 
61
  <?php global $redux_builder_amp;
62
+ if ( $redux_builder_amp['enable-single-instagram-profile'] && '' !== $redux_builder_amp['enable-single-instagram-profile-url'] ) { ?>
63
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-instagram-profile-url']); ?>" target ="_blank"> <li class="icon-instagram"></li></a>
64
  <?php } ?>
65
 
66
  <?php global $redux_builder_amp;
67
+ if ( $redux_builder_amp['enable-single-reddit-profile'] && '' !== $redux_builder_amp['enable-single-reddit-profile-url'] ) { ?>
68
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-reddit-profile-url']); ?>" target ="_blank"><li class="icon-reddit-alien"></li></a>
69
  <?php } ?>
70
 
71
  <?php global $redux_builder_amp;
72
+ if ( $redux_builder_amp['enable-single-VKontakte-profile'] && '' !== $redux_builder_amp['enable-single-VKontakte-profile-url'] ) { ?>
73
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-VKontakte-profile-url']); ?>" target ="_blank"><li class="icon-vk"></li></a>
74
  <?php } ?>
75
 
76
  <?php global $redux_builder_amp;
77
+ if ( $redux_builder_amp['enable-single-snapchat-profile'] && '' !== $redux_builder_amp['enable-single-snapchat-profile-url'] ) { ?>
78
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-snapchat-profile-url']); ?>" target ="_blank"><li class="icon-snapchat-ghost"></li></a>
79
  <?php } ?>
80
 
81
  <?php global $redux_builder_amp;
82
+ if ( $redux_builder_amp['enable-single-Tumblr-profile'] && '' !== $redux_builder_amp['enable-single-Tumblr-profile-url'] ) { ?>
83
+ <a href="<?php echo esc_url($redux_builder_amp['enable-single-Tumblr-profile-url']); ?>" target ="_blank"><li class="icon-tumblr"></li></a>
84
  <?php } ?>
85
 
86
  </ul>
87
  </div>
88
  <?php }
89
+ if ( '1' == $redux_builder_amp['ampforwp-footer-top-design3'] ) { ?>
90
  <p class="rightslink back-to-top">
91
  <a href="#">
92
+ <?php echo esc_attr(ampforwp_translation( $redux_builder_amp['amp-translator-top-text'], 'Top')); ?>
93
  </a> </p> <?php } ?>
94
  <p class="rightslink">
95
  <?php
96
  global $allowed_html;
97
+ echo wp_kses( ampforwp_translation($redux_builder_amp['amp-translator-footer-text'], 'Footer') ,$allowed_html );
98
+ if ( '1' == $redux_builder_amp['amp-footer-link-non-amp-page'] ) {
99
+ if ( $redux_builder_amp['amp-translator-footer-text'] ) { ?> | <?php ampforwp_view_nonamp(); }
100
+ else {
101
  ampforwp_view_nonamp();
102
+ }
103
+ } ?>
104
  </p>
105
+ <?php if ( true == $redux_builder_amp['amp-design-3-credit-link'] ) { ?>
106
+ <p class="poweredby">
107
+ <a href="https://ampforwp.com" rel="nofollow">Powered by AMPforWP</a>
108
+ </p>
109
+ <?php } ?>
110
  </div>
111
  </footer>
112
  </div><!--Design3 Ends-->
113
+ <?php do_action('ampforwp_global_after_footer'); ?>
 
 
 
 
templates/design-manager/design-3/style.php CHANGED
@@ -7,12 +7,12 @@ function ampforwp_additional_style_input_3( $amp_template ) {
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'];
11
- $headercolor = $redux_builder_amp['amp-opt-color-rgba-headercolor']['color'];
12
- $font_color = $redux_builder_amp['amp-opt-color-rgba-font']['color'];
13
- $link_color = $redux_builder_amp['amp-opt-color-rgba-link']['color'];
14
- $headerelements = $redux_builder_amp['amp-opt-color-rgba-headerelements']['color'];
15
- $sticky_head = $redux_builder_amp['amp-opt-sticky-head'];
16
 
17
  $content_max_width = absint( $get_customizer->get( 'content_max_width' ) );
18
  // Get template colors
@@ -33,32 +33,32 @@ amp-anim { max-width: 100%; }
33
  font-family: 'Roboto Slab';
34
  font-style: normal;
35
  font-weight: 400;
36
- src: local('Roboto Slab Regular'), local('RobotoSlab-Regular'), url('<?php echo plugin_dir_url(__FILE__) ?>fonts/robotoslab/RobotoSlab-Regular.ttf');
37
  }
38
  @font-face {
39
  font-family: 'Roboto Slab';
40
  font-style: normal;
41
  font-weight: 700;
42
- src: local('Roboto Slab Bold'), local('RobotoSlab-Bold'), url('<?php echo plugin_dir_url(__FILE__) ?>fonts/robotoslab/RobotoSlab-Bold.ttf');
43
  }
44
 
45
  @font-face {
46
  font-family: 'PT Serif';
47
  font-style: normal;
48
  font-weight: 400;
49
- src: local('PT Serif'), local('PTSerif-Regular'), url('<?php echo plugin_dir_url(__FILE__) ?>fonts/ptserif/PT_Serif-Web-Regular.ttf');
50
  }
51
  @font-face {
52
  font-family: 'PT Serif';
53
  font-style: normal;
54
  font-weight: 700;
55
- src: local('PT Serif Bold'), local('PTSerif-Bold'), url('<?php echo plugin_dir_url(__FILE__) ?>fonts/ptserif/PT_Serif-Web-Bold.ttf');
56
  }
57
 
58
  /* Template Styles */
59
  .amp-wp-content, .amp-wp-title-bar div {
60
  <?php if ( $content_max_width > 0 ) : ?>
61
- max-width: <?php echo sprintf( '%dpx', $content_max_width ); ?>;
62
  margin: 0 auto;
63
  <?php endif; ?>
64
  }
@@ -82,14 +82,14 @@ amp-sidebar{ width: 280px; background: #131313; font-family: 'Roboto Slab', seri
82
  .toggle-text{ color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: 3px; display: inherit; text-align: center; }
83
  .toggle-text:before{ content: "..."; font-size: 32px; position: ; font-family: georgia; line-height: 0px; margin-left: 0px; letter-spacing: 1px; top: -3px; position: relative; padding-right: 10px; }
84
  .toggle-navigation:hover, .toggle-navigation:active, .toggle-navigation:focus{ display: inline-block; width: 100%; }
85
- <?php if( ! is_singular() ){ ?>
86
  /* Pagination */
87
  .amp-wp-content.pagination-holder{ background: none; padding: 0; box-shadow: none; height: auto; min-height: auto; }
88
  #pagination{ width: 100%; margin-top: 20px; }
89
  #pagination .next, #pagination .prev{ margin: 0px 6% 10px 6%; }
90
  #pagination .next a, #pagination .prev a{ opacity:0.9; background: #f42f42; width: 100%; color: #fff; display: inline-block; text-align: center; font-size: 16px; line-height: 1; padding: 18px 0%; border-radius: 4px; }
91
  <?php }
92
- if(is_single()){?>
93
  /* Sticky Social bar in Single */
94
  .sticky_social{ width: 100%; bottom: 0; display: block; left: 0; box-shadow: 0px 4px 7px #000; background: #fff; padding: 7px 0px 0px 0px; position: fixed; margin: 0; z-index: 10; text-align: center; }
95
  .custom-amp-socialsharing-icon{ width: 50px; height: 28px; display: inline-block; background: #5cbe4a;position: relative; top: -8px; padding-top: 0px; }
@@ -102,7 +102,7 @@ amp-sidebar{ width: 280px; background: #131313; font-family: 'Roboto Slab', seri
102
  #header{ background: #fff; text-align: center; height:50px; box-shadow:0 0 32px rgba(0,0,0,.15); }
103
  header{ padding-bottom:50px; }
104
  #headerwrap{ position: fixed; z-index:1000; width: 100%; top:0; }
105
- <?php if($sticky_head) { ?>
106
  header{ padding-bottom:0px; }
107
  #headerwrap{ position: relative;}
108
  <?php } ?>
@@ -121,7 +121,7 @@ body .amp-loop-list-noimg .amp-wp-post-content{ width:100% }
121
  .amp-loop-list .amp-wp-post-content{ float: left; width: 65%; }
122
  .amp-loop-list .featured_time{ color:#b3b3b3; padding-left:0 }
123
  .amp-wp-post-content p{ color: grey; line-height: 1.5; font-size: 14px; margin: 8px 0 10px; font-family:'PT Serif', serif }
124
- <?php if( $redux_builder_amp['enable-excerpt-single'] == 1) { ?>
125
  /* For Excerpt */
126
  .amp-wp-post-content .small-screen-excerpt-design-3 {display: none;} .amp-wp-post-content .large-screen-excerpt-design-3 { display: block; }
127
  <?php } ?>
@@ -140,7 +140,7 @@ body .amp-loop-list-noimg .amp-wp-post-content{ width:100% }
140
  .footer_menu ul li:first-child{ margin-left:0 }
141
  .footer_menu ul li:last-child{ margin-right:0 }
142
  .footer_menu ul ul{ display:none }
143
- <?php if(is_singular() || $redux_builder_amp['amp-frontpage-select-option'] && ampforwp_get_blog_details() == false ){ ?>
144
  /* Single */
145
  .single-post main{ margin: 20px 17px 17px 17px; }
146
  .amp-wp-article-content{ font-family:'PT Serif', serif; }
@@ -177,8 +177,8 @@ figcaption{ font-size: 11px; line-height: 1.6; margin-bottom: 11px; background:
177
  main .amp-wp-content.featured-image-content{ padding: 0px; border: 0; margin-bottom: 0; box-shadow: none }
178
  .amp-wp-content .amp-wp-article-featured-image amp-img {margin: 0 auto;}
179
  .single-post .amp-wp-article-content amp-img{ max-width:100% }
180
- <?php if(is_single()){
181
- if( $redux_builder_amp['ampforwp-single-select-type-of-related'] ){ ?>
182
  /* Related Posts */
183
  main .amp-wp-content.relatedpost{ background: none; box-shadow: none; padding:0px 0 0 0; margin:1.8em auto 1.5em auto }
184
  .single-post main,.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; }
@@ -194,7 +194,7 @@ main .amp-wp-content.relatedpost{ background: none; box-shadow: none; padding:0p
194
  .related-post_image amp-img{ width: 144%; left: -20%; }
195
  <?php }
196
  }
197
- if( $redux_builder_amp['wordpress-comments-support'] ==1) { ?>
198
  /* Comments */
199
  .page-numbers{ padding: 9px 10px; background: #fff; font-size: 14px; }
200
  .comment-body .comment-content{ font-family:'PT Serif', serif; margin-top: 2px; }
@@ -287,7 +287,7 @@ amp-lightbox{ background: rgba(0, 0, 0,0.85); }
287
  .archives_body main{ margin-top:30px }
288
  .taxonomy-description p{margin-top: 5px;font-size: 14px;line-height: 1.5;}
289
  .amp-sub-archives li{width: 50%;} .amp-sub-archives ul{padding: 0;list-style: none;display: flex;font-size: 12px;line-height: 1.2;margin: 5px 0 10px 0px;} .author-img amp-img{border-radius: 50%;margin: 0px 12px 10px 0px;display: block; width:50px;}.author-img{float: left;padding-bottom: 25px;}
290
- <?php if(is_home() && $redux_builder_amp['amp-frontpage-select-option']==0){?>
291
  /* AMP carousel */
292
  .amp-carousel-button-prev, .amp-carousel-button-next{ top:30px;border-radius:60px; }
293
  .amp-featured-wrapper{ background:#333 }
@@ -299,7 +299,7 @@ amp-lightbox{ background: rgba(0, 0, 0,0.85); }
299
  .featured_meta_left{ float:left }
300
  .featured_meta_right{ float:right }
301
  <?php }
302
- if( is_singular() || is_home() && $redux_builder_amp['amp-frontpage-select-option'] && ampforwp_get_blog_details() == false ) { ?>
303
  /* Tables */
304
  table { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; overflow-x: auto; }
305
  table a:link { font-weight: bold; text-decoration: none; }
@@ -319,7 +319,7 @@ table tr:last-child td:first-child { -moz-border-radius-bottomleft: 3px; -webkit
319
  table tr:last-child td:last-child { -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
320
  table tr:hover td { background: #f2f2f2; background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#f0f0f0)); background: -moz-linear-gradient(top, #f2f2f2, #f0f0f0); }
321
  <?php } ?>
322
- <?php if( $redux_builder_amp['amp-enable-notifications'] == 1 || isset($redux_builder_amp['ampforwp-cta-subsection-notification-sticky']) && $redux_builder_amp['ampforwp-cta-subsection-notification-sticky'] == 1 ){?>
323
  /* Notifications */
324
  #amp-user-notification1 p{ display: inline-block; }
325
  amp-user-notification{ padding: 5px; text-align: center; background: #fff; border-top: 1px solid; }
@@ -328,7 +328,6 @@ amp-user-notification button:hover{ cursor: pointer }
328
  <?php } ?>
329
  /* Responsive */
330
  @media screen and (min-width: 650px) { table {display: inline-table;} }
331
-
332
  @media screen and (max-width: 768px){ .amp-wp-meta{ margin:10px 0px 15px 0px } .archive-heading{padding: 0 15px;} .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;} }
333
  @media screen and (max-width: 600px){ .amp-loop-list .amp-wp-tags{display:none} }
334
  @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} }
@@ -338,7 +337,7 @@ amp-user-notification button:hover{ cursor: pointer }
338
  @media screen and (max-width: 340px){ .single-post main .amp-wp-content h1{ line-height: 1.3; font-size: 22px;} .amp-loop-list{ padding: 20px 15px 18px 15px; } h2.amp-wp-title{ line-height: 1.31578947; font-size: 17px; } .related_posts .related_link a{ font-size: 15px; } .the_content .amp-ad-wrapper{ text-align: center; margin-left: -13px; } }
339
  @media screen and (max-width: 320px){ .related_posts .related_link a{ font-size: 13px; } .ampforwp-social-icons amp-social-share{ margin-right: 1px; } }
340
  .entry-content amp-anim{display:table-cell;}
341
- <?php if($redux_builder_amp['amp-rtl-select-option'] == true) { ?>
342
  .amp-carousel-slide h1{ direction: rtl; }
343
  .featured_time{ text-align: right; padding-right: 20px; }
344
  main .amp-wp-content{ direction: rtl; }
@@ -361,26 +360,26 @@ amp-sidebar { direction: rtl; }
361
  amp-carousel{direction: ltr;}
362
  <?php } ?>
363
 
364
- a { color: <?php echo $redux_builder_amp['amp-opt-color-rgba-colorscheme']['color']; ?> }
365
- body a { color: <?php echo $redux_builder_amp['amp-opt-color-rgba-link']['color']; ?> }
366
 
367
- .amp-wp-content blockquote { border-color: <?php echo sanitize_hex_color( $header_background_color ); ?>; }
368
- amp-user-notification { border-color: <?php echo $redux_builder_amp['amp-opt-color-rgba-colorscheme']['color']; ?>;}
369
- amp-user-notification button { background-color: <?php echo $redux_builder_amp['amp-opt-color-rgba-colorscheme']['color']; ?>;}
370
- <?php if( $redux_builder_amp['enable-single-social-icons'] == true && is_socialshare_or_socialsticky_enabled_in_ampforwp() ) { ?>
371
  .single-post footer { padding-bottom: 41px;}
372
  <?php } ?>
373
- .amp-wp-author:before{ content: " <?php global $redux_builder_amp; echo ampforwp_translation($redux_builder_amp['amp-translator-published-by'], 'Published by' );?> ";}
374
  .ampforwp-tax-category span:last-child:after { content: ' ';}
375
  .ampforwp-tax-category span:after{ content: ', ';}
376
  .amp-wp-article-content img { max-width: 100%;}
377
  @font-face {
378
  font-family: 'icomoon';
379
- src: url('<?php echo plugin_dir_url(__FILE__) ?>fonts/icomoon.eot');
380
- src: url('<?php echo plugin_dir_url(__FILE__) ?>fonts/icomoon.eot') format('embedded-opentype'),
381
- url('<?php echo plugin_dir_url(__FILE__) ?>fonts/icomoon.ttf') format('truetype'),
382
- url('<?php echo plugin_dir_url(__FILE__) ?>fonts/icomoon.woff') format('woff'),
383
- url('<?php echo plugin_dir_url(__FILE__) ?>fonts/icomoon.svg') format('svg');
384
  font-weight: normal;
385
  font-style: normal;
386
  }
@@ -406,18 +405,18 @@ amp-user-notification button { background-color: <?php echo $redux_builder_amp[
406
  .social_icons li{ box-sizing: initial; display:inline-block; margin:5px; }
407
  .social_icons li:before{ box-sizing: initial; color:#fff; padding: 10px; display: inline-block; border-radius: 70px; width: 18px; height: 18px; line-height: 20px; text-align: center; }
408
  #ampsomething { display: none; }
409
- #header, .headerlogo a{ background:<?php echo $redux_builder_amp['amp-opt-color-rgba-headercolor']['color']; ?> }
410
- .comment-button-wrapper a, #pagination .next a, #pagination .prev a{ background: <?php echo $redux_builder_amp['amp-opt-color-rgba-colorscheme']['color']; ?> ; }
411
- .toast:after, .toast:before, .toast span{ background: <?php echo $redux_builder_amp['amp-opt-color-rgba-headerelements']['color']; ?> ; }
412
- [class*=icono-], .headerlogo a{ color: <?php echo $redux_builder_amp['amp-opt-color-rgba-headerelements']['color']; ?> }
413
- #pagination .next a, #pagination .prev a , #pagination .next a, #pagination .prev a , .comment-button-wrapper a{ color: <?php echo $redux_builder_amp['amp-opt-color-rgba-font']['color']; ?> ;}
414
- <?php if( !has_nav_menu( 'amp-menu' ) ) { ?>
415
  .toggle-navigationv2 .social_icons { border-top: 0px; }
416
  .toggle-navigationv2 a { color:#fff; }
417
  <?php } ?>
418
- <?php if ($redux_builder_amp['ampforwp-callnow-button']) { ?>
419
  .callnow{ position: relative; top: -37px; right: 39px }
420
- .callnow a:before { content: ""; position: absolute; right: 23px; width: 4px; height: 8px; border-width: 6px 0 6px 3px; border-style: solid; border-color:<?php echo $redux_builder_amp['amp-opt-color-rgba-colorscheme-call']['color']; ?>; background: transparent; transform: rotate(-30deg); box-sizing: initial; border-top-left-radius: 3px 5px; border-bottom-left-radius: 3px 5px; }
421
  <?php } ?>
422
  <?php
423
  if ( class_exists('TablePress') ) { ?>
@@ -435,7 +434,7 @@ if ( class_exists('TablePress') ) { ?>
435
  @media (min-width: 768px) and (max-width: 1600px){ .tablepress{ overflow-x: none; } }
436
  @media (min-width: 320px) and (max-width: 767px){ .tablepress{ display: inline-block; overflow-x: scroll; } }
437
  <?php }
438
- if( !is_home() && $redux_builder_amp['ampforwp-bread-crumb'] == 1 ) { ?>
439
  .breadcrumb{line-height: 1;margin-bottom:6px;}
440
  .breadcrumb ul, .category-single ul{ padding:0; margin:0;}
441
  .breadcrumb ul li{display:inline;}
@@ -449,5 +448,5 @@ if( !is_home() && $redux_builder_amp['ampforwp-bread-crumb'] == 1 ) { ?>
449
  .amp-carousel-container {position: relative;width: 100%;height: 100%;}
450
  .amp-carousel-img img {object-fit: contain;}
451
  <?php // Ads (sitewide)
452
- if( ( isset($redux_builder_amp['enable-amp-ads-1'] ) && $redux_builder_amp['enable-amp-ads-1'] ) || ( isset($redux_builder_amp['enable-amp-ads-2'] ) && $redux_builder_amp['enable-amp-ads-2'] ) ){ ?> .amp-ad-wrapper{ text-align: center } .amp_ad_1{ margin-top: 15px; margin-bottom: 10px; } .single-post .amp_ad_1{ margin-bottom: -15px; } .amp-ad-2{ margin-bottom: -5px; margin-top: 20px; } .amp-ad-wrapper{ text-align: center; margin-left: -13px; }.amp-ad-wrapper, .amp-wp-article amp-ad{ direction: ltr; } <?php }
453
- echo $redux_builder_amp['css_editor']; } ?>
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'];
11
+ $headercolor = $redux_builder_amp['amp-opt-color-rgba-headercolor']['color'];
12
+ $font_color = $redux_builder_amp['amp-opt-color-rgba-font']['color'];
13
+ $link_color = $redux_builder_amp['amp-opt-color-rgba-link']['color'];
14
+ $headerelements = $redux_builder_amp['amp-opt-color-rgba-headerelements']['color'];
15
+ $sticky_head = $redux_builder_amp['amp-opt-sticky-head'];
16
 
17
  $content_max_width = absint( $get_customizer->get( 'content_max_width' ) );
18
  // Get template colors
33
  font-family: 'Roboto Slab';
34
  font-style: normal;
35
  font-weight: 400;
36
+ src: local('Roboto Slab Regular'), local('RobotoSlab-Regular'), url('<?php echo esc_url(plugin_dir_url(__FILE__).'fonts/robotoslab/RobotoSlab-Regular.ttf'); ?>');
37
  }
38
  @font-face {
39
  font-family: 'Roboto Slab';
40
  font-style: normal;
41
  font-weight: 700;
42
+ src: local('Roboto Slab Bold'), local('RobotoSlab-Bold'), url('<?php echo esc_url(plugin_dir_url(__FILE__).'fonts/robotoslab/RobotoSlab-Bold.ttf'); ?>');
43
  }
44
 
45
  @font-face {
46
  font-family: 'PT Serif';
47
  font-style: normal;
48
  font-weight: 400;
49
+ src: local('PT Serif'), local('PTSerif-Regular'), url('<?php echo esc_url(plugin_dir_url(__FILE__).'fonts/ptserif/PT_Serif-Web-Regular.ttf'); ?>');
50
  }
51
  @font-face {
52
  font-family: 'PT Serif';
53
  font-style: normal;
54
  font-weight: 700;
55
+ src: local('PT Serif Bold'), local('PTSerif-Bold'), url('<?php echo esc_url(plugin_dir_url(__FILE__).'fonts/ptserif/PT_Serif-Web-Bold.ttf'); ?>');
56
  }
57
 
58
  /* Template Styles */
59
  .amp-wp-content, .amp-wp-title-bar div {
60
  <?php if ( $content_max_width > 0 ) : ?>
61
+ max-width: <?php echo esc_attr( sprintf( '%dpx', $content_max_width ) ); ?>;
62
  margin: 0 auto;
63
  <?php endif; ?>
64
  }
82
  .toggle-text{ color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: 3px; display: inherit; text-align: center; }
83
  .toggle-text:before{ content: "..."; font-size: 32px; position: ; font-family: georgia; line-height: 0px; margin-left: 0px; letter-spacing: 1px; top: -3px; position: relative; padding-right: 10px; }
84
  .toggle-navigation:hover, .toggle-navigation:active, .toggle-navigation:focus{ display: inline-block; width: 100%; }
85
+ <?php if ( ! is_singular() ) { ?>
86
  /* Pagination */
87
  .amp-wp-content.pagination-holder{ background: none; padding: 0; box-shadow: none; height: auto; min-height: auto; }
88
  #pagination{ width: 100%; margin-top: 20px; }
89
  #pagination .next, #pagination .prev{ margin: 0px 6% 10px 6%; }
90
  #pagination .next a, #pagination .prev a{ opacity:0.9; background: #f42f42; width: 100%; color: #fff; display: inline-block; text-align: center; font-size: 16px; line-height: 1; padding: 18px 0%; border-radius: 4px; }
91
  <?php }
92
+ if ( is_single() ) {?>
93
  /* Sticky Social bar in Single */
94
  .sticky_social{ width: 100%; bottom: 0; display: block; left: 0; box-shadow: 0px 4px 7px #000; background: #fff; padding: 7px 0px 0px 0px; position: fixed; margin: 0; z-index: 10; text-align: center; }
95
  .custom-amp-socialsharing-icon{ width: 50px; height: 28px; display: inline-block; background: #5cbe4a;position: relative; top: -8px; padding-top: 0px; }
102
  #header{ background: #fff; text-align: center; height:50px; box-shadow:0 0 32px rgba(0,0,0,.15); }
103
  header{ padding-bottom:50px; }
104
  #headerwrap{ position: fixed; z-index:1000; width: 100%; top:0; }
105
+ <?php if ( $sticky_head ) { ?>
106
  header{ padding-bottom:0px; }
107
  #headerwrap{ position: relative;}
108
  <?php } ?>
121
  .amp-loop-list .amp-wp-post-content{ float: left; width: 65%; }
122
  .amp-loop-list .featured_time{ color:#b3b3b3; padding-left:0 }
123
  .amp-wp-post-content p{ color: grey; line-height: 1.5; font-size: 14px; margin: 8px 0 10px; font-family:'PT Serif', serif }
124
+ <?php if ( 1 == $redux_builder_amp['enable-excerpt-single'] ) { ?>
125
  /* For Excerpt */
126
  .amp-wp-post-content .small-screen-excerpt-design-3 {display: none;} .amp-wp-post-content .large-screen-excerpt-design-3 { display: block; }
127
  <?php } ?>
140
  .footer_menu ul li:first-child{ margin-left:0 }
141
  .footer_menu ul li:last-child{ margin-right:0 }
142
  .footer_menu ul ul{ display:none }
143
+ <?php if ( is_singular() || $redux_builder_amp['amp-frontpage-select-option'] && ampforwp_get_blog_details() == false ) { ?>
144
  /* Single */
145
  .single-post main{ margin: 20px 17px 17px 17px; }
146
  .amp-wp-article-content{ font-family:'PT Serif', serif; }
177
  main .amp-wp-content.featured-image-content{ padding: 0px; border: 0; margin-bottom: 0; box-shadow: none }
178
  .amp-wp-content .amp-wp-article-featured-image amp-img {margin: 0 auto;}
179
  .single-post .amp-wp-article-content amp-img{ max-width:100% }
180
+ <?php if ( is_single() ) {
181
+ if ( $redux_builder_amp['ampforwp-single-select-type-of-related'] ) { ?>
182
  /* Related Posts */
183
  main .amp-wp-content.relatedpost{ background: none; box-shadow: none; padding:0px 0 0 0; margin:1.8em auto 1.5em auto }
184
  .single-post main,.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; }
194
  .related-post_image amp-img{ width: 144%; left: -20%; }
195
  <?php }
196
  }
197
+ if ( isset($redux_builder_amp['wordpress-comments-support']) && 1 == $redux_builder_amp['wordpress-comments-support'] ) { ?>
198
  /* Comments */
199
  .page-numbers{ padding: 9px 10px; background: #fff; font-size: 14px; }
200
  .comment-body .comment-content{ font-family:'PT Serif', serif; margin-top: 2px; }
287
  .archives_body main{ margin-top:30px }
288
  .taxonomy-description p{margin-top: 5px;font-size: 14px;line-height: 1.5;}
289
  .amp-sub-archives li{width: 50%;} .amp-sub-archives ul{padding: 0;list-style: none;display: flex;font-size: 12px;line-height: 1.2;margin: 5px 0 10px 0px;} .author-img amp-img{border-radius: 50%;margin: 0px 12px 10px 0px;display: block; width:50px;}.author-img{float: left;padding-bottom: 25px;}
290
+ <?php if ( is_home() && 0 == $redux_builder_amp['amp-frontpage-select-option'] ) {?>
291
  /* AMP carousel */
292
  .amp-carousel-button-prev, .amp-carousel-button-next{ top:30px;border-radius:60px; }
293
  .amp-featured-wrapper{ background:#333 }
299
  .featured_meta_left{ float:left }
300
  .featured_meta_right{ float:right }
301
  <?php }
302
+ if ( is_singular() || is_home() && $redux_builder_amp['amp-frontpage-select-option'] && ampforwp_get_blog_details() == false ) { ?>
303
  /* Tables */
304
  table { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; overflow-x: auto; }
305
  table a:link { font-weight: bold; text-decoration: none; }
319
  table tr:last-child td:last-child { -moz-border-radius-bottomright: 3px; -webkit-border-bottom-right-radius: 3px; border-bottom-right-radius: 3px; }
320
  table tr:hover td { background: #f2f2f2; background: -webkit-gradient(linear, left top, left bottom, from(#f2f2f2), to(#f0f0f0)); background: -moz-linear-gradient(top, #f2f2f2, #f0f0f0); }
321
  <?php } ?>
322
+ <?php if ( 1 == $redux_builder_amp['amp-enable-notifications'] || isset($redux_builder_amp['ampforwp-cta-subsection-notification-sticky']) && 1 == $redux_builder_amp['ampforwp-cta-subsection-notification-sticky'] ) {?>
323
  /* Notifications */
324
  #amp-user-notification1 p{ display: inline-block; }
325
  amp-user-notification{ padding: 5px; text-align: center; background: #fff; border-top: 1px solid; }
328
  <?php } ?>
329
  /* Responsive */
330
  @media screen and (min-width: 650px) { table {display: inline-table;} }
 
331
  @media screen and (max-width: 768px){ .amp-wp-meta{ margin:10px 0px 15px 0px } .archive-heading{padding: 0 15px;} .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;} }
332
  @media screen and (max-width: 600px){ .amp-loop-list .amp-wp-tags{display:none} }
333
  @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} }
337
  @media screen and (max-width: 340px){ .single-post main .amp-wp-content h1{ line-height: 1.3; font-size: 22px;} .amp-loop-list{ padding: 20px 15px 18px 15px; } h2.amp-wp-title{ line-height: 1.31578947; font-size: 17px; } .related_posts .related_link a{ font-size: 15px; } .the_content .amp-ad-wrapper{ text-align: center; margin-left: -13px; } }
338
  @media screen and (max-width: 320px){ .related_posts .related_link a{ font-size: 13px; } .ampforwp-social-icons amp-social-share{ margin-right: 1px; } }
339
  .entry-content amp-anim{display:table-cell;}
340
+ <?php if ( true == $redux_builder_amp['amp-rtl-select-option'] ) { ?>
341
  .amp-carousel-slide h1{ direction: rtl; }
342
  .featured_time{ text-align: right; padding-right: 20px; }
343
  main .amp-wp-content{ direction: rtl; }
360
  amp-carousel{direction: ltr;}
361
  <?php } ?>
362
 
363
+ a { color: <?php echo esc_attr($redux_builder_amp['amp-opt-color-rgba-colorscheme']['color']) ?> }
364
+ body a { color: <?php echo esc_attr($redux_builder_amp['amp-opt-color-rgba-link']['color']); ?> }
365
 
366
+ .amp-wp-content blockquote { border-color: <?php echo esc_attr(sanitize_hex_color( $header_background_color )); ?>; }
367
+ amp-user-notification { border-color: <?php echo esc_attr($redux_builder_amp['amp-opt-color-rgba-colorscheme']['color']); ?>;}
368
+ amp-user-notification button { background-color: <?php echo esc_attr($redux_builder_amp['amp-opt-color-rgba-colorscheme']['color']); ?>;}
369
+ <?php if ( true == $redux_builder_amp['enable-single-social-icons'] && is_socialshare_or_socialsticky_enabled_in_ampforwp() ) { ?>
370
  .single-post footer { padding-bottom: 41px;}
371
  <?php } ?>
372
+ .amp-wp-author:before{ content: " <?php global $redux_builder_amp; echo esc_attr(ampforwp_translation($redux_builder_amp['amp-translator-published-by'], 'Published by' ));?> ";}
373
  .ampforwp-tax-category span:last-child:after { content: ' ';}
374
  .ampforwp-tax-category span:after{ content: ', ';}
375
  .amp-wp-article-content img { max-width: 100%;}
376
  @font-face {
377
  font-family: 'icomoon';
378
+ src: url('<?php echo esc_url(plugin_dir_url(__FILE__) .'fonts/icomoon.eot'); ?>');
379
+ src: url('<?php echo esc_url(plugin_dir_url(__FILE__) .'fonts/icomoon.eot'); ?>') format('embedded-opentype'),
380
+ url('<?php echo esc_url(plugin_dir_url(__FILE__) .'fonts/icomoon.ttf'); ?>') format('truetype'),
381
+ url('<?php echo esc_url(plugin_dir_url(__FILE__) .'fonts/icomoon.woff'); ?>') format('woff'),
382
+ url('<?php echo esc_url(plugin_dir_url(__FILE__) .'fonts/icomoon.svg'); ?>') format('svg');
383
  font-weight: normal;
384
  font-style: normal;
385
  }
405
  .social_icons li{ box-sizing: initial; display:inline-block; margin:5px; }
406
  .social_icons li:before{ box-sizing: initial; color:#fff; padding: 10px; display: inline-block; border-radius: 70px; width: 18px; height: 18px; line-height: 20px; text-align: center; }
407
  #ampsomething { display: none; }
408
+ #header, .headerlogo a{ background:<?php echo esc_attr($redux_builder_amp['amp-opt-color-rgba-headercolor']['color']); ?> }
409
+ .comment-button-wrapper a, #pagination .next a, #pagination .prev a{ background: <?php echo esc_attr($redux_builder_amp['amp-opt-color-rgba-colorscheme']['color']); ?> ; }
410
+ .toast:after, .toast:before, .toast span{ background: <?php echo esc_attr($redux_builder_amp['amp-opt-color-rgba-headerelements']['color']); ?> ; }
411
+ [class*=icono-], .headerlogo a{ color: <?php echo esc_attr($redux_builder_amp['amp-opt-color-rgba-headerelements']['color']); ?> }
412
+ #pagination .next a, #pagination .prev a , #pagination .next a, #pagination .prev a , .comment-button-wrapper a{ color: <?php echo esc_attr($redux_builder_amp['amp-opt-color-rgba-font']['color']); ?> ;}
413
+ <?php if ( ! has_nav_menu( 'amp-menu' ) ) { ?>
414
  .toggle-navigationv2 .social_icons { border-top: 0px; }
415
  .toggle-navigationv2 a { color:#fff; }
416
  <?php } ?>
417
+ <?php if ( $redux_builder_amp['ampforwp-callnow-button'] ) { ?>
418
  .callnow{ position: relative; top: -37px; right: 39px }
419
+ .callnow a:before { content: ""; position: absolute; right: 23px; width: 4px; height: 8px; border-width: 6px 0 6px 3px; border-style: solid; border-color:<?php echo esc_attr($redux_builder_amp['amp-opt-color-rgba-colorscheme-call']['color']); ?>; background: transparent; transform: rotate(-30deg); box-sizing: initial; border-top-left-radius: 3px 5px; border-bottom-left-radius: 3px 5px; }
420
  <?php } ?>
421
  <?php
422
  if ( class_exists('TablePress') ) { ?>
434
  @media (min-width: 768px) and (max-width: 1600px){ .tablepress{ overflow-x: none; } }
435
  @media (min-width: 320px) and (max-width: 767px){ .tablepress{ display: inline-block; overflow-x: scroll; } }
436
  <?php }
437
+ if ( ! is_home() && 1 == $redux_builder_amp['ampforwp-bread-crumb'] ) { ?>
438
  .breadcrumb{line-height: 1;margin-bottom:6px;}
439
  .breadcrumb ul, .category-single ul{ padding:0; margin:0;}
440
  .breadcrumb ul li{display:inline;}
448
  .amp-carousel-container {position: relative;width: 100%;height: 100%;}
449
  .amp-carousel-img img {object-fit: contain;}
450
  <?php // Ads (sitewide)
451
+ if ( (isset($redux_builder_amp['enable-amp-ads-1'] ) && $redux_builder_amp['enable-amp-ads-1']) || (isset($redux_builder_amp['enable-amp-ads-2'] ) && $redux_builder_amp['enable-amp-ads-2']) ) { ?> .amp-ad-wrapper{ text-align: center } .amp_ad_1{ margin-top: 15px; margin-bottom: 10px; } .single-post .amp_ad_1{ margin-bottom: -15px; } .amp-ad-2{ margin-bottom: -5px; margin-top: 20px; } .amp-ad-wrapper{ text-align: center; margin-left: -13px; }.amp-ad-wrapper, .amp-wp-article amp-ad{ direction: ltr; } <?php }
452
+ echo esc_attr($redux_builder_amp['css_editor']); } ?>
templates/features.php CHANGED
@@ -212,6 +212,12 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
212
  if(post_password_required( $post )){
213
  return;
214
  }
 
 
 
 
 
 
215
  // #872 no-amphtml if selected as hide from settings
216
  if(is_archive() && $redux_builder_amp['ampforwp-archive-support']){
217
  $selected_cats = array();
@@ -497,7 +503,10 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
497
  add_filter('amp_post_template_data','ampforwp_register_analytics_script', 20);
498
  function ampforwp_register_analytics_script( $data ){
499
  global $redux_builder_amp;
500
- if( $redux_builder_amp['amp-analytics-select-option'] && $redux_builder_amp['amp-analytics-select-option'] != '3' && $redux_builder_amp['amp-analytics-select-option'] != '6' && $redux_builder_amp['amp-analytics-select-option'] != '7' && $redux_builder_amp['amp-analytics-select-option'] != '8'){
 
 
 
501
  if ( empty( $data['amp_component_scripts']['amp-analytics'] ) ) {
502
  $data['amp_component_scripts']['amp-analytics'] = 'https://cdn.ampproject.org/v0/amp-analytics-0.1.js';
503
  }
@@ -820,7 +829,7 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
820
 
821
  // 10.1 Analytics Support added for Google Analytics
822
  global $redux_builder_amp;
823
- if ( $redux_builder_amp['amp-analytics-select-option']=='1' ){
824
  $ga_fields = array();
825
  $ampforwp_ga_fields = array();
826
  $ga_account = '';
@@ -848,7 +857,7 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
848
  }//code ends for supporting Google Analytics
849
 
850
  // 10.2 Analytics Support added for segment.com
851
- if ( $redux_builder_amp['amp-analytics-select-option']=='2' ) { ?>
852
  <amp-analytics type="segment">
853
  <script type="application/json">
854
  {
@@ -863,12 +872,12 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
863
  }
864
 
865
  // 10.3 Analytics Support added for Piwik
866
- if( $redux_builder_amp['amp-analytics-select-option']=='3' ) { ?>
867
  <amp-pixel src="<?php global $redux_builder_amp; echo $redux_builder_amp['pa-feild']; ?>"></amp-pixel>
868
  <?php }
869
 
870
  // 10.4 Analytics Support added for quantcast
871
- if ( $redux_builder_amp['amp-analytics-select-option']=='4' ) { ?>
872
  <amp-analytics type="quantcast">
873
  <script type="application/json">
874
  {
@@ -883,7 +892,7 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
883
  }
884
 
885
  // 10.5 Analytics Support added for comscore
886
- if ( $redux_builder_amp['amp-analytics-select-option']=='5' ) { ?>
887
  <amp-analytics type="comscore">
888
  <script type="application/json">
889
  {
@@ -898,14 +907,14 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
898
  }
899
 
900
  // 10.6 Analytics Support added for Effective Measure
901
- if( $redux_builder_amp['amp-analytics-select-option']=='6' ) { ?>
902
  <!-- BEGIN EFFECTIVE MEASURE CODE -->
903
  <amp-pixel src="<?php global $redux_builder_amp; echo $redux_builder_amp['eam-feild']; ?>" />
904
  <!--END EFFECTIVE MEASURE CODE -->
905
  <?php }
906
 
907
  // 10.7 Analytics Support added for StatCounter
908
- if( $redux_builder_amp['amp-analytics-select-option']=='7' ) { ?>
909
  <!-- BEGIN StatCounter CODE -->
910
  <div id="statcounter">
911
  <amp-pixel src="<?php global $redux_builder_amp; echo $redux_builder_amp['sc-feild']; ?>" >
@@ -913,8 +922,9 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
913
  </div>
914
  <!--END StatCounter CODE -->
915
  <?php }
 
916
  // 10.8 Analytics Support added for Histats Analytics
917
- if( $redux_builder_amp['amp-analytics-select-option']=='8' ) { ?>
918
  <!-- BEGIN Histats CODE -->
919
  <div id="histats">
920
  <amp-pixel src="//sstatic1.histats.com/0.gif?<?php global $redux_builder_amp; echo $redux_builder_amp['histats-feild']; ?>&101" >
@@ -922,9 +932,9 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
922
  </div>
923
  <!--END Histats CODE -->
924
  <?php }
 
925
  // 10.9 Analytics Support added for Yandex Metrika Analytics
926
- global $redux_builder_amp;
927
- if ( $redux_builder_amp['amp-analytics-select-option']=='9' ){ ?>
928
  <amp-analytics type="metrika">
929
  <script type="application/json">
930
  {
@@ -946,9 +956,9 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
946
  </script>
947
  </amp-analytics>
948
  <?php }//code ends for supporting Yandex Metrika Analytics
 
949
  // 10.10 Analytics Support added for Chartbeat Analytics
950
- global $redux_builder_amp;
951
- if ( $redux_builder_amp['amp-analytics-select-option']=='10' ){ ?>
952
  <amp-analytics type="chartbeat">
953
  <script type="application/json">
954
  {
@@ -963,8 +973,9 @@ define('AMPFORWP_COMMENTS_PER_PAGE', ampforwp_define_comments_number() );
963
  </amp-analytics>
964
  <?php
965
  }//code ends for supporting Chartbeat Analytics
 
966
  // 10.11 Analytics Support added for Alexa Metrics
967
- if ( '11' == $redux_builder_amp['amp-analytics-select-option'] ) { ?>
968
  <!-- Start Alexa AMP Certify Javascript -->
969
  <amp-analytics type="alexametrics">
970
  <script type="application/json">
@@ -1681,6 +1692,7 @@ function ampforwp_remove_schema_data() {
1681
  //Neglect SOPB If Custom AMP Editor is checked
1682
  if ( $amp_custom_content_enable === 'yes') {
1683
  ampforwp_remove_filters_for_class( 'the_content', 'SiteOrigin_Panels', 'generate_post_content', 10 );
 
1684
  }
1685
  }
1686
  //Removing the WPTouch Pro social share links from AMP
@@ -3027,7 +3039,6 @@ function ampforwp_meta_description() {
3027
  }
3028
  $desc = "" ;
3029
  $desc = ampforwp_generate_meta_desc();
3030
-
3031
  if( $desc ) {
3032
  echo '<meta name="description" content="'. esc_attr( convert_chars( stripslashes( $desc ) ) ) .'"/>';
3033
  }
@@ -3433,7 +3444,7 @@ function ampforwp_builder_checker() {
3433
  if ( $post ) {
3434
  $post_id = $post->ID;
3435
  }
3436
- if ( ampforwp_is_front_page() ) {
3437
  $post_id = $redux_builder_amp['amp-frontpage-select-option-pages'];
3438
  }
3439
  if ( $post_id ) {
@@ -3544,9 +3555,9 @@ function ampforwp_remove_sq_seo() {
3544
 
3545
  //67 View Non AMP
3546
  function ampforwp_view_nonamp(){
3547
- global $redux_builder_amp;
3548
- global $post;
3549
- $ampforwp_backto_nonamp = '';
3550
  if ( is_home() && get_option( 'page_for_posts' ) && get_queried_object_id() ) {
3551
  $post_id = get_option('page_for_posts');
3552
  if($redux_builder_amp['amp-mobile-redirection']==1)
@@ -3582,8 +3593,11 @@ function ampforwp_view_nonamp(){
3582
  $ampforwp_backto_nonamp = esc_url( untrailingslashit(home_url( $wp->request )) );
3583
  $ampforwp_backto_nonamp = preg_replace('/amp/','',$ampforwp_backto_nonamp);
3584
  }
3585
- } ?>
3586
- <?php if ( $ampforwp_backto_nonamp ) { ?> <a class="view-non-amp" href="<?php echo $ampforwp_backto_nonamp; ?>" rel="nofollow"><?php echo esc_html( $redux_builder_amp['amp-translator-non-amp-page-text'] ) ;?> </a> <?php }
 
 
 
3587
  }
3588
 
3589
  //68. Facebook Instant Articles
@@ -3934,8 +3948,9 @@ function ampforwp_generate_meta_desc(){
3934
  } else {
3935
  global $post;
3936
  $id = $post->ID;
3937
- $desc = get_post($id)->post_content;
3938
  }
 
3939
  $desc = addslashes( wp_trim_words( strip_tags( $desc ) , '15' ) );
3940
  }
3941
 
@@ -3982,7 +3997,7 @@ function ampforwp_generate_meta_desc(){
3982
  }
3983
  // strip_shortcodes strategy not working here so had to do this way
3984
  // strips shortcodes
3985
- $desc= preg_replace('/\[(.*)?\]/','', $desc);
3986
  return $desc;
3987
  }
3988
 
@@ -5019,11 +5034,11 @@ add_action('pre_amp_render_post', 'ampforwp_onesignal_notifications_widget_posit
5019
  if( ! function_exists( 'ampforwp_onesignal_notifications_widget_position' ) ){
5020
  function ampforwp_onesignal_notifications_widget_position(){
5021
  global $redux_builder_amp;
5022
- if( true == $redux_builder_amp['ampforwp-web-push-onesignal-below-content'] ){
5023
  add_action('ampforwp_after_post_content', 'ampforwp_onesignal_notifications_widget');
5024
  }
5025
 
5026
- if( true == $redux_builder_amp['ampforwp-web-push-onesignal-above-content'] ){
5027
  add_action('ampforwp_inside_post_content_before', 'ampforwp_onesignal_notifications_widget');
5028
  add_action('ampforwp_before_post_content', 'ampforwp_onesignal_notifications_widget');
5029
  }
@@ -5153,9 +5168,16 @@ if( ! function_exists( 'ampforwp_full_post_date_loops' ) ){
5153
  if( is_home() || is_archive() ){
5154
  if( 2 == $redux_builder_amp['ampforwp-post-date-format'] ){
5155
  $full_date = get_the_date();
 
 
 
5156
  }
5157
  if( 1 == $redux_builder_amp['ampforwp-post-date-format'] ){
5158
- $date = human_time_diff( get_the_time('U', get_the_ID() ), current_time('timestamp') );
 
 
 
 
5159
  if( $redux_builder_amp['ampforwp-post-date-format-text'] ){
5160
  $full_date = $redux_builder_amp['ampforwp-post-date-format-text'];
5161
  // Change the % days into the actual number of days
@@ -5164,8 +5186,12 @@ if( ! function_exists( 'ampforwp_full_post_date_loops' ) ){
5164
  }
5165
  }
5166
  if(is_single() && 1 == $redux_builder_amp['ampforwp-post-date-format']){
5167
- $date = human_time_diff( get_the_time('U', get_the_ID() ), current_time('timestamp') );
5168
- $full_date = human_time_diff( get_the_time('U', get_the_ID() ), current_time('timestamp') ) .' '. ampforwp_translation( $redux_builder_amp['amp-translator-ago-date-text'],'ago' );
 
 
 
 
5169
  if( $redux_builder_amp['ampforwp-post-date-format-text'] ){
5170
  $full_date = $redux_builder_amp['ampforwp-post-date-format-text'];
5171
  // Change the % days into the actual number of days
@@ -5308,3 +5334,43 @@ if( ! function_exists(' ampforwp_envira_lazy_load ') ){
5308
  return $data;
5309
  }
5310
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
212
  if(post_password_required( $post )){
213
  return;
214
  }
215
+ // #1443 AMP should be skip on the check out page
216
+ if(class_exists( 'WooCommerce' )){
217
+ if(function_exists('is_checkout') && is_checkout()){
218
+ return;
219
+ }
220
+ }
221
  // #872 no-amphtml if selected as hide from settings
222
  if(is_archive() && $redux_builder_amp['ampforwp-archive-support']){
223
  $selected_cats = array();
503
  add_filter('amp_post_template_data','ampforwp_register_analytics_script', 20);
504
  function ampforwp_register_analytics_script( $data ){
505
  global $redux_builder_amp;
506
+ if( false == $redux_builder_amp['ampforwp-Piwik-switch'] && false == $redux_builder_amp['ampforwp-Effective-switch'] && false == $redux_builder_amp['ampforwp-StatCounter-switch'] && false == $redux_builder_amp['ampforwp-Histats-switch'] ) {
507
+
508
+
509
+ // if( $redux_builder_amp['amp-analytics-select-option'] && $redux_builder_amp['amp-analytics-select-option'] != '3' && $redux_builder_amp['amp-analytics-select-option'] != '6' && $redux_builder_amp['amp-analytics-select-option'] != '7' && $redux_builder_amp['amp-analytics-select-option'] != '8'){
510
  if ( empty( $data['amp_component_scripts']['amp-analytics'] ) ) {
511
  $data['amp_component_scripts']['amp-analytics'] = 'https://cdn.ampproject.org/v0/amp-analytics-0.1.js';
512
  }
829
 
830
  // 10.1 Analytics Support added for Google Analytics
831
  global $redux_builder_amp;
832
+ if ( true == $redux_builder_amp['ampforwp-ga-switch'] ){
833
  $ga_fields = array();
834
  $ampforwp_ga_fields = array();
835
  $ga_account = '';
857
  }//code ends for supporting Google Analytics
858
 
859
  // 10.2 Analytics Support added for segment.com
860
+ if ( true == $redux_builder_amp['ampforwp-Segment-switch'] ) { ?>
861
  <amp-analytics type="segment">
862
  <script type="application/json">
863
  {
872
  }
873
 
874
  // 10.3 Analytics Support added for Piwik
875
+ if( true == $redux_builder_amp['ampforwp-Piwik-switch'] ) { ?>
876
  <amp-pixel src="<?php global $redux_builder_amp; echo $redux_builder_amp['pa-feild']; ?>"></amp-pixel>
877
  <?php }
878
 
879
  // 10.4 Analytics Support added for quantcast
880
+ if ( true == $redux_builder_amp['ampforwp-Quantcast-switch'] ) { ?>
881
  <amp-analytics type="quantcast">
882
  <script type="application/json">
883
  {
892
  }
893
 
894
  // 10.5 Analytics Support added for comscore
895
+ if ( true == $redux_builder_amp['ampforwp-comScore-switch'] ) { ?>
896
  <amp-analytics type="comscore">
897
  <script type="application/json">
898
  {
907
  }
908
 
909
  // 10.6 Analytics Support added for Effective Measure
910
+ if( true == $redux_builder_amp['ampforwp-Effective-switch'] ) { ?>
911
  <!-- BEGIN EFFECTIVE MEASURE CODE -->
912
  <amp-pixel src="<?php global $redux_builder_amp; echo $redux_builder_amp['eam-feild']; ?>" />
913
  <!--END EFFECTIVE MEASURE CODE -->
914
  <?php }
915
 
916
  // 10.7 Analytics Support added for StatCounter
917
+ if( true == $redux_builder_amp['ampforwp-StatCounter-switch'] ) { ?>
918
  <!-- BEGIN StatCounter CODE -->
919
  <div id="statcounter">
920
  <amp-pixel src="<?php global $redux_builder_amp; echo $redux_builder_amp['sc-feild']; ?>" >
922
  </div>
923
  <!--END StatCounter CODE -->
924
  <?php }
925
+
926
  // 10.8 Analytics Support added for Histats Analytics
927
+ if( true == $redux_builder_amp['ampforwp-Histats-switch'] ) { ?>
928
  <!-- BEGIN Histats CODE -->
929
  <div id="histats">
930
  <amp-pixel src="//sstatic1.histats.com/0.gif?<?php global $redux_builder_amp; echo $redux_builder_amp['histats-feild']; ?>&101" >
932
  </div>
933
  <!--END Histats CODE -->
934
  <?php }
935
+
936
  // 10.9 Analytics Support added for Yandex Metrika Analytics
937
+ if ( true == $redux_builder_amp['ampforwp-Yandex-switch'] ){ ?>
 
938
  <amp-analytics type="metrika">
939
  <script type="application/json">
940
  {
956
  </script>
957
  </amp-analytics>
958
  <?php }//code ends for supporting Yandex Metrika Analytics
959
+
960
  // 10.10 Analytics Support added for Chartbeat Analytics
961
+ if ( true == $redux_builder_amp['ampforwp-Chartbeat-switch'] ){ ?>
 
962
  <amp-analytics type="chartbeat">
963
  <script type="application/json">
964
  {
973
  </amp-analytics>
974
  <?php
975
  }//code ends for supporting Chartbeat Analytics
976
+
977
  // 10.11 Analytics Support added for Alexa Metrics
978
+ if ( true == $redux_builder_amp['ampforwp-Alexa-switch'] ) { ?>
979
  <!-- Start Alexa AMP Certify Javascript -->
980
  <amp-analytics type="alexametrics">
981
  <script type="application/json">
1692
  //Neglect SOPB If Custom AMP Editor is checked
1693
  if ( $amp_custom_content_enable === 'yes') {
1694
  ampforwp_remove_filters_for_class( 'the_content', 'SiteOrigin_Panels', 'generate_post_content', 10 );
1695
+ ampforwp_remove_filters_for_class( 'the_content', 'Elementor\Frontend', 'apply_builder_in_content', 9 );
1696
  }
1697
  }
1698
  //Removing the WPTouch Pro social share links from AMP
3039
  }
3040
  $desc = "" ;
3041
  $desc = ampforwp_generate_meta_desc();
 
3042
  if( $desc ) {
3043
  echo '<meta name="description" content="'. esc_attr( convert_chars( stripslashes( $desc ) ) ) .'"/>';
3044
  }
3444
  if ( $post ) {
3445
  $post_id = $post->ID;
3446
  }
3447
+ if ( ampforwp_is_home() || ampforwp_is_front_page() ) {
3448
  $post_id = $redux_builder_amp['amp-frontpage-select-option-pages'];
3449
  }
3450
  if ( $post_id ) {
3555
 
3556
  //67 View Non AMP
3557
  function ampforwp_view_nonamp(){
3558
+ global $redux_builder_amp, $post;
3559
+ $ampforwp_backto_nonamp = '';
3560
+ $nofollow = '';
3561
  if ( is_home() && get_option( 'page_for_posts' ) && get_queried_object_id() ) {
3562
  $post_id = get_option('page_for_posts');
3563
  if($redux_builder_amp['amp-mobile-redirection']==1)
3593
  $ampforwp_backto_nonamp = esc_url( untrailingslashit(home_url( $wp->request )) );
3594
  $ampforwp_backto_nonamp = preg_replace('/amp/','',$ampforwp_backto_nonamp);
3595
  }
3596
+ }
3597
+ if( true == $redux_builder_amp['ampforwp-nofollow-view-nonamp'] ){
3598
+ $nofollow = 'rel="nofollow"';
3599
+ }
3600
+ if ( $ampforwp_backto_nonamp ) { ?> <a class="view-non-amp" href="<?php echo $ampforwp_backto_nonamp; ?>" <?php echo $nofollow; ?>><?php echo esc_html( $redux_builder_amp['amp-translator-non-amp-page-text'] ) ;?> </a> <?php }
3601
  }
3602
 
3603
  //68. Facebook Instant Articles
3948
  } else {
3949
  global $post;
3950
  $id = $post->ID;
3951
+ $desc = $post->post_content;
3952
  }
3953
+ $desc= preg_replace('/\[(.*?)\]/',' ', $desc);
3954
  $desc = addslashes( wp_trim_words( strip_tags( $desc ) , '15' ) );
3955
  }
3956
 
3997
  }
3998
  // strip_shortcodes strategy not working here so had to do this way
3999
  // strips shortcodes
4000
+ $desc= preg_replace('/\[(.*?)\]/','', $desc);
4001
  return $desc;
4002
  }
4003
 
5034
  if( ! function_exists( 'ampforwp_onesignal_notifications_widget_position' ) ){
5035
  function ampforwp_onesignal_notifications_widget_position(){
5036
  global $redux_builder_amp;
5037
+ if( isset( $redux_builder_amp['ampforwp-web-push-onesignal-below-content'] ) && true == $redux_builder_amp['ampforwp-web-push-onesignal-below-content'] ){
5038
  add_action('ampforwp_after_post_content', 'ampforwp_onesignal_notifications_widget');
5039
  }
5040
 
5041
+ if( isset( $redux_builder_amp['ampforwp-web-push-onesignal-above-content'] ) && true == $redux_builder_amp['ampforwp-web-push-onesignal-above-content'] ){
5042
  add_action('ampforwp_inside_post_content_before', 'ampforwp_onesignal_notifications_widget');
5043
  add_action('ampforwp_before_post_content', 'ampforwp_onesignal_notifications_widget');
5044
  }
5168
  if( is_home() || is_archive() ){
5169
  if( 2 == $redux_builder_amp['ampforwp-post-date-format'] ){
5170
  $full_date = get_the_date();
5171
+ if( 2 == $redux_builder_amp['ampforwp-post-date-global'] ){
5172
+ $full_date = get_the_modified_date();
5173
+ }
5174
  }
5175
  if( 1 == $redux_builder_amp['ampforwp-post-date-format'] ){
5176
+ $time = get_the_time('U', get_the_ID() );
5177
+ if( 2 == $redux_builder_amp['ampforwp-post-date-global'] ){
5178
+ $time = get_the_modified_time('U', get_the_ID() );
5179
+ }
5180
+ $date = human_time_diff( $time, current_time('timestamp') );
5181
  if( $redux_builder_amp['ampforwp-post-date-format-text'] ){
5182
  $full_date = $redux_builder_amp['ampforwp-post-date-format-text'];
5183
  // Change the % days into the actual number of days
5186
  }
5187
  }
5188
  if(is_single() && 1 == $redux_builder_amp['ampforwp-post-date-format']){
5189
+ $time = get_the_time('U', get_the_ID() );
5190
+ if( 2 == $redux_builder_amp['ampforwp-post-date-global'] ){
5191
+ $time = get_the_modified_time('U', get_the_ID() );
5192
+ }
5193
+ $date = human_time_diff( $time, current_time('timestamp') );
5194
+ $full_date = human_time_diff( $time, current_time('timestamp') ) .' '. ampforwp_translation( $redux_builder_amp['amp-translator-ago-date-text'],'ago');
5195
  if( $redux_builder_amp['ampforwp-post-date-format-text'] ){
5196
  $full_date = $redux_builder_amp['ampforwp-post-date-format-text'];
5197
  // Change the % days into the actual number of days
5334
  return $data;
5335
  }
5336
  }
5337
+
5338
+ #1581 Instagram Sanitizer
5339
+
5340
+ add_filter( 'amp_content_sanitizers', 'ampforwp_instagram_sanitizer', 10, 1 );
5341
+
5342
+ function ampforwp_instagram_sanitizer( $sanitizer_classes ) {
5343
+ require_once( AMPFORWP_PLUGIN_DIR. 'classes/class-ampforwp-instagram-sanitizer.php' );
5344
+ $sanitizer_classes[ 'AMPFORWP_Instagram_Embed_Sanitizer' ] = array();
5345
+ return $sanitizer_classes;
5346
+ }
5347
+
5348
+ // Allowed Tags
5349
+ if ( ! function_exists('ampforwp_allowed_tags') ) {
5350
+ function ampforwp_allowed_tags() {
5351
+ $allowed_tags = '';
5352
+ $allowed_tags = wp_kses_allowed_html('post');
5353
+ $allowed_tags['a']['itemprop'] = true;
5354
+ $allowed_tags['span']['itemprop'] = true;
5355
+
5356
+ return $allowed_tags;
5357
+ }
5358
+ }
5359
+
5360
+ // List of Subpages/Childpages on Pages
5361
+ add_action('ampforwp_after_post_content', 'ampforwp_list_subpages');
5362
+ if ( ! function_exists('ampforwp_list_subpages') ) {
5363
+ function ampforwp_list_subpages() {
5364
+ global $post, $redux_builder_amp;
5365
+ if ( is_page() && true == $redux_builder_amp['ampforwp_subpages_list'] ) {
5366
+ $pages = '';
5367
+ $pages = wp_list_pages( array(
5368
+ 'echo' => 0,
5369
+ 'child_of' => $post->ID,
5370
+ 'title_li' => '',
5371
+ ) );
5372
+ $pages = preg_replace('/href="(.*?)"/', 'href="$1/amp/"', $pages);
5373
+ echo wp_kses($pages, ampforwp_allowed_tags());
5374
+ }
5375
+ }
5376
+ }
templates/woo-widget.php CHANGED
@@ -3,10 +3,10 @@
3
  // Set up the widget name and description.
4
  public function __construct() {
5
  $widget_options = array(
6
- 'classname' => 'AMPFORWP_Woo_Widget',
7
- 'description' => __('This Widget adds Woocommerce Products where necessary in AMP Pages','accelerated-mobile-pages')
8
  );
9
- parent::__construct( 'AMPFORWP_Woo_Widget', __('AMP WooCommerce','accelerated-mobile-pages'), $widget_options );
10
  }
11
 
12
 
@@ -27,25 +27,26 @@
27
  if( !class_exists( 'WooCommerce' ) ){
28
  return;
29
  }
30
- $ampforwp_title = apply_filters( 'widget_wc_title', $instance[ 'title' ] );
31
- $ampforwp_enable_ratings = $instance[ 'ratings' ];
32
- $on_sale_logo_on_product = $instance[ 'on_sale' ];
33
- $ampforwp_procts_page_link = $instance[ 'link' ];
34
- $ampforwp_number_of_products = $instance[ 'num_of_products' ];
35
- $ampforwp_show_price = $instance[ 'show_price' ];
36
 
37
  $exclude_ids = get_option('ampforwp_exclude_post');
 
38
 
39
  $q = new WP_Query( array(
40
  'post_type' => 'product',
41
  'orderby' => 'date',
42
- 'post__not_in' => $exclude_ids,
43
- 'has_password' => false,
44
- 'post_status'=> 'publish',
45
- 'posts_per_page' => $ampforwp_number_of_products
46
  ) );
47
 
48
- echo '<h4 class="wc_widgettitle">' . $ampforwp_title . '</h4>';
49
  echo '<div class="widget-wrap amp-wp-content">' ;
50
 
51
  if ( $q->have_posts() ) : ?>
@@ -58,38 +59,39 @@
58
  } else {
59
  $ampforwp_post_url = trailingslashit( get_permalink() ) ;
60
  } ?>
61
- <li class="ampforwp_wc_shortcode_child"><a href="<?php echo $ampforwp_post_url ?>"> <?php
62
 
63
  if ( has_post_thumbnail() ) {
64
  $thumb_id = get_post_thumbnail_id();
65
  $thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail', true);
66
  $thumb_url = $thumb_url_array[0]; ?>
67
 
68
- <amp-img src='<?php echo $thumb_url ?>' width="150" height="150" layout="responsive"></amp-img> <?php
69
  }
70
 
71
  if ( $product->is_on_sale() && $on_sale_logo_on_product=='yes' ) { ?>
72
- <span class="onsale"> <?php echo __('Sale!','accelerated-mobile-pages') ?> </span> <?php
73
  } ?>
74
 
75
- <div class="ampforwp-wc-title"> <?php echo get_the_title() ?> </div> <?php
76
  if ( class_exists( 'WooCommerce' ) ) {
77
- $amp_product_price = $woocommerce->product_factory->get_product()->get_price_html();
78
- $context = '';
79
- $allowed_tags = wp_kses_allowed_html( $context );
80
 
81
  $stock_status = $product->is_in_stock() ? 'InStock' : 'OutOfStock' ;
82
  if ( $amp_product_price && $stock_status == 'InStock' && $ampforwp_show_price=='yes' ) { ?>
83
  <div class="ampforwp-wc-price"><?php echo wp_kses( $amp_product_price , $allowed_tags ) ?> </div> <?php
84
  }
85
 
86
- $rating_count = $product->get_rating_count();
87
- $rating = $product->get_average_rating();
 
88
  if ( get_option( 'woocommerce_enable_review_rating' ) === 'yes' && $rating_count && $ampforwp_enable_ratings=='yes' ) {
89
  $content = '<div class="ampforwp_wc_star_rating" class="star-rating" title="Rated '.$rating.' out of 5' . '">';
90
  $content .= '<span class="ampforwp_wc_star_rating_text" ><strong>'.$rating.'</strong>'.__(' out of 5 </span>','accelerated-mobile-pages');
91
  $content .= '</div>';
92
- echo $content;
93
  }
94
 
95
  } ?>
@@ -108,73 +110,72 @@
108
  public function form( $instance ) {
109
 
110
  // Declarations for all the values to be stored
111
- $ampforwp_title = ! empty( $instance['title'] ) ? $instance['title'] : 'Woocommerce Title';
112
- $ampforwp_enable_ratings = ! empty( $instance['ratings'] ) ? $instance['ratings'] : 'yes';
113
- $on_sale_logo_on_product = ! empty( $instance['on_sale'] ) ? $instance['on_sale'] : 'yes';
114
- $ampforwp_show_price =! empty( $instance['show_price'] ) ? $instance['show_price'] : 'yes';
115
- $ampforwp_procts_page_link = ! empty( $instance['link'] ) ? $instance['link'] : 'noamp';
116
- $ampforwp_number_of_products = ! empty( $instance['num_of_products'] ) ? $instance['num_of_products'] : 3;
117
- ?>
118
  <!-- Form Starts Here -->
119
  <p>
120
  <!-- text Start Here -->
121
- <label for="<?php echo $this->get_field_id( 'title' ); ?>"> <?php echo __('Title:','accelerated-mobile-pages') ?>
122
- <input class="widefat" type="text" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" value="<?php echo esc_attr( $ampforwp_title ); ?>" />
123
  </label><br>
124
  <!-- text End Here -->
125
  </p>
126
 
127
  <!-- number input starts Here -->
128
  <p>
129
- <label for="<?php echo $this->get_field_id( 'num_of_products' ); ?>"><?php echo __('Number of Products:','accelerated-mobile-pages') ?>
130
- <input class="widefat" type="number" id="<?php echo $this->get_field_id( 'num_of_products' ); ?>" name="<?php echo $this->get_field_name( 'num_of_products' ); ?>" value="<?php echo esc_attr( $ampforwp_number_of_products ); ?>" />
131
  </label>
132
  </p>
133
  <!-- number input End Here -->
134
 
135
  <p>
136
  <!-- radio buttons starts Here -->
137
- <label for="<?php echo $this->get_field_id( 'ratings' ); ?>" value="<?php echo esc_attr( $ampforwp_enable_ratings );?>"><?php echo __('Enable Ratings:','accelerated-mobile-pages') ?> </label><br>
138
- <label for="<?php echo $this->get_field_id('ratings_1'); ?>">
139
- <input class="widefat" id="<?php echo $this->get_field_id('ratings_1'); ?>" name="<?php echo $this->get_field_name('ratings'); ?>" type="radio" value="yes" <?php if($ampforwp_enable_ratings === 'yes'){ echo 'checked="checked"'; } ?> /><?php echo __('Yes ','accelerated-mobile-pages'); ?>
140
  </label>
141
- <label for="<?php echo $this->get_field_id('ratings_2'); ?>">
142
- <input class="widefat" id="<?php echo $this->get_field_id('ratings_2'); ?>" name="<?php echo $this->get_field_name('ratings'); ?>" type="radio" value="no" <?php if($ampforwp_enable_ratings === 'no'){ echo 'checked="checked"'; } ?> /><?php echo __(' No','accelerated-mobile-pages'); ?>
143
  </label>
144
  <!-- radio buttons Ends Here -->
145
  </p>
146
 
147
  <p>
148
  <!-- radio buttons starts Here -->
149
- <label for="<?php echo $this->get_field_id( 'on_sale' ); ?>" value="<?php echo esc_attr( $on_sale_logo_on_product );?>"><?php echo __('Show On Sale:','accelerated-mobile-pages') ?> </label><br>
150
- <label for="<?php echo $this->get_field_id('on_sale_1'); ?>">
151
- <input class="widefat" id="<?php echo $this->get_field_id('on_sale_1'); ?>" name="<?php echo $this->get_field_name('on_sale'); ?>" type="radio" value="yes" <?php if($on_sale_logo_on_product === 'yes'){ echo 'checked="checked"'; } ?> /><?php echo __('Yes ','accelerated-mobile-pages'); ?>
152
  </label>
153
- <label for="<?php echo $this->get_field_id('on_sale_2'); ?>">
154
- <input class="widefat" id="<?php echo $this->get_field_id('on_sale_2'); ?>" name="<?php echo $this->get_field_name('on_sale'); ?>" type="radio" value="no" <?php if($on_sale_logo_on_product === 'no'){ echo 'checked="checked"'; } ?> /><?php echo __(' No','accelerated-mobile-pages'); ?>
155
  </label>
156
  <!-- radio buttons Ends Here -->
157
  </p>
158
 
159
  <p>
160
  <!-- radio buttons starts Here -->
161
- <label for="<?php echo $this->get_field_id( 'show_price' ); ?>" value="<?php echo esc_attr( $ampforwp_show_price );?>"> <?php echo __('Show Price:','accelerated-mobile-pages') ?></label><br>
162
- <label for="<?php echo $this->get_field_id('show_price_1'); ?>">
163
- <input class="widefat" id="<?php echo $this->get_field_id('show_price_1'); ?>" name="<?php echo $this->get_field_name('show_price'); ?>" type="radio" value="yes" <?php if($ampforwp_show_price === 'yes'){ echo 'checked="checked"'; } ?> /><?php echo __('Yes ','accelerated-mobile-pages'); ?>
164
  </label>
165
- <label for="<?php echo $this->get_field_id('show_price_2'); ?>">
166
- <input class="widefat" id="<?php echo $this->get_field_id('show_price_2'); ?>" name="<?php echo $this->get_field_name('show_price'); ?>" type="radio" value="no" <?php if($ampforwp_show_price === 'no'){ echo 'checked="checked"'; } ?> /><?php echo __(' No','accelerated-mobile-pages'); ?>
167
  </label>
168
  <!-- radio buttons Ends Here -->
169
  </p>
170
  <p>
171
  <!-- radio buttons starts Here -->
172
- <label for="<?php echo $this->get_field_id( 'link' ); ?>" value="<?php echo esc_attr( $ampforwp_procts_page_link );?>"><?php echo __('Show View more Button:','accelerated-mobile-pages') ?> </label><br>
173
- <label for="<?php echo $this->get_field_id('link_1'); ?>">
174
- <input class="widefat" id="<?php echo $this->get_field_id('link_1'); ?>" name="<?php echo $this->get_field_name('link'); ?>" type="radio" value="amp" <?php if($ampforwp_procts_page_link === 'amp'){ echo 'checked="checked"'; } ?> /><?php echo __('AMP ','accelerated-mobile-pages'); ?>
175
  </label>
176
- <label for="<?php echo $this->get_field_id('link_2'); ?>">
177
- <input class="widefat" id="<?php echo $this->get_field_id('link_2'); ?>" name="<?php echo $this->get_field_name('link'); ?>" type="radio" value="noamp" <?php if($ampforwp_procts_page_link === 'noamp'){ echo 'checked="checked"'; } ?> /><?php echo __(' Non AMP','accelerated-mobile-pages'); ?>
178
  </label>
179
  <!-- radio buttons Ends Here -->
180
  </p>
@@ -184,9 +185,7 @@
184
 
185
  <?php
186
  }
187
-
188
-
189
-
190
  // Apply settings to the widget instance.
191
  public function update( $new_instance, $old_instance ) {
192
  $instance = $old_instance;
3
  // Set up the widget name and description.
4
  public function __construct() {
5
  $widget_options = array(
6
+ 'classname' => 'AMPFORWP_Woo_Widget',
7
+ 'description' => esc_html__('This Widget adds Woocommerce Products where necessary in AMP Pages','accelerated-mobile-pages')
8
  );
9
+ parent::__construct( 'AMPFORWP_Woo_Widget', esc_html__('AMP WooCommerce','accelerated-mobile-pages'), $widget_options );
10
  }
11
 
12
 
27
  if( !class_exists( 'WooCommerce' ) ){
28
  return;
29
  }
30
+ $ampforwp_title = apply_filters( 'widget_wc_title', $instance[ 'title' ] );
31
+ $ampforwp_enable_ratings = $instance[ 'ratings' ];
32
+ $on_sale_logo_on_product = $instance[ 'on_sale' ];
33
+ $ampforwp_procts_page_link = $instance[ 'link' ];
34
+ $ampforwp_number_of_products = $instance[ 'num_of_products' ];
35
+ $ampforwp_show_price = $instance[ 'show_price' ];
36
 
37
  $exclude_ids = get_option('ampforwp_exclude_post');
38
+ $exclude_ids = (array) $exclude_ids;
39
 
40
  $q = new WP_Query( array(
41
  'post_type' => 'product',
42
  'orderby' => 'date',
43
+ 'post__not_in' => $exclude_ids,
44
+ 'has_password' => false,
45
+ 'post_status' => 'publish',
46
+ 'posts_per_page' => esc_attr( $ampforwp_number_of_products )
47
  ) );
48
 
49
+ echo '<h4 class="wc_widgettitle">' . esc_attr( $ampforwp_title) . '</h4>';
50
  echo '<div class="widget-wrap amp-wp-content">' ;
51
 
52
  if ( $q->have_posts() ) : ?>
59
  } else {
60
  $ampforwp_post_url = trailingslashit( get_permalink() ) ;
61
  } ?>
62
+ <li class="ampforwp_wc_shortcode_child"><a href="<?php echo esc_url( $ampforwp_post_url );?>"> <?php
63
 
64
  if ( has_post_thumbnail() ) {
65
  $thumb_id = get_post_thumbnail_id();
66
  $thumb_url_array = wp_get_attachment_image_src($thumb_id, 'thumbnail', true);
67
  $thumb_url = $thumb_url_array[0]; ?>
68
 
69
+ <amp-img src='<?php echo esc_url( $thumb_url ); ?>' width="150" height="150" layout="responsive"></amp-img> <?php
70
  }
71
 
72
  if ( $product->is_on_sale() && $on_sale_logo_on_product=='yes' ) { ?>
73
+ <span class="onsale"> <?php echo esc_html__('Sale!','accelerated-mobile-pages') ?> </span> <?php
74
  } ?>
75
 
76
+ <div class="ampforwp-wc-title"> <?php echo get_the_title() ?> </div> <?php
77
  if ( class_exists( 'WooCommerce' ) ) {
78
+ $amp_product_price = $woocommerce->product_factory->get_product()->get_price_html();
79
+ $context = '';
80
+ $allowed_tags = wp_kses_allowed_html( $context );
81
 
82
  $stock_status = $product->is_in_stock() ? 'InStock' : 'OutOfStock' ;
83
  if ( $amp_product_price && $stock_status == 'InStock' && $ampforwp_show_price=='yes' ) { ?>
84
  <div class="ampforwp-wc-price"><?php echo wp_kses( $amp_product_price , $allowed_tags ) ?> </div> <?php
85
  }
86
 
87
+ $rating_count = $product->get_rating_count();
88
+ $rating = $product->get_average_rating();
89
+
90
  if ( get_option( 'woocommerce_enable_review_rating' ) === 'yes' && $rating_count && $ampforwp_enable_ratings=='yes' ) {
91
  $content = '<div class="ampforwp_wc_star_rating" class="star-rating" title="Rated '.$rating.' out of 5' . '">';
92
  $content .= '<span class="ampforwp_wc_star_rating_text" ><strong>'.$rating.'</strong>'.__(' out of 5 </span>','accelerated-mobile-pages');
93
  $content .= '</div>';
94
+ echo wp_kses( $content, $allowed_tags );
95
  }
96
 
97
  } ?>
110
  public function form( $instance ) {
111
 
112
  // Declarations for all the values to be stored
113
+ $ampforwp_title = ! empty( $instance['title'] ) ? $instance['title'] : 'Woocommerce Title';
114
+ $ampforwp_enable_ratings = ! empty( $instance['ratings'] ) ? $instance['ratings'] : 'yes';
115
+ $on_sale_logo_on_product = ! empty( $instance['on_sale'] ) ? $instance['on_sale'] : 'yes';
116
+ $ampforwp_show_price = ! empty( $instance['show_price'] ) ? $instance['show_price'] : 'yes';
117
+ $ampforwp_procts_page_link = ! empty( $instance['link'] ) ? $instance['link'] : 'noamp';
118
+ $ampforwp_number_of_products = ! empty( $instance['num_of_products'] ) ? $instance['num_of_products'] : 3; ?>
 
119
  <!-- Form Starts Here -->
120
  <p>
121
  <!-- text Start Here -->
122
+ <label for="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>"> <?php echo esc_html__('Title:','accelerated-mobile-pages') ?>
123
+ <input class="widefat" type="text" id="<?php echo esc_attr( $this->get_field_id( 'title' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'title' ) ); ?>" value="<?php echo esc_html( $ampforwp_title ); ?>" />
124
  </label><br>
125
  <!-- text End Here -->
126
  </p>
127
 
128
  <!-- number input starts Here -->
129
  <p>
130
+ <label for="<?php echo esc_attr( $this->get_field_id( 'num_of_products' ) ); ?>"><?php echo esc_html__('Number of Products:','accelerated-mobile-pages') ?>
131
+ <input class="widefat" type="number" id="<?php echo esc_attr( $this->get_field_id( 'num_of_products' ) ); ?>" name="<?php echo esc_attr( $this->get_field_name( 'num_of_products' ) ); ?>" value="<?php echo esc_attr( $ampforwp_number_of_products ); ?>" />
132
  </label>
133
  </p>
134
  <!-- number input End Here -->
135
 
136
  <p>
137
  <!-- radio buttons starts Here -->
138
+ <label for="<?php echo esc_attr($this->get_field_id( 'ratings' ) ); ?>" value="<?php echo esc_attr( $ampforwp_enable_ratings );?>"><?php echo esc_html__('Enable Ratings:','accelerated-mobile-pages') ?> </label><br>
139
+ <label for="<?php echo esc_attr( $this->get_field_id('ratings_1') ); ?>">
140
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id('ratings_1') ); ?>" name="<?php echo esc_attr( $this->get_field_name('ratings') ); ?>" type="radio" value="yes" <?php if($ampforwp_enable_ratings === 'yes'){ echo 'checked="checked"'; } ?> /><?php echo esc_html__('Yes ','accelerated-mobile-pages'); ?>
141
  </label>
142
+ <label for="<?php echo esc_attr( $this->get_field_id('ratings_2') ); ?>">
143
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id('ratings_2') ); ?>" name="<?php echo esc_attr( $this->get_field_name('ratings') ); ?>" type="radio" value="no" <?php if($ampforwp_enable_ratings === 'no'){ echo esc_attr( 'checked="checked"' ); } ?> /><?php echo esc_html__(' No','accelerated-mobile-pages'); ?>
144
  </label>
145
  <!-- radio buttons Ends Here -->
146
  </p>
147
 
148
  <p>
149
  <!-- radio buttons starts Here -->
150
+ <label for="<?php echo esc_attr( $this->get_field_id( 'on_sale' ) ); ?>" value="<?php echo esc_attr( $on_sale_logo_on_product );?>"><?php echo esc_html__('Show On Sale:','accelerated-mobile-pages') ?> </label><br>
151
+ <label for="<?php echo esc_attr( $this->get_field_id('on_sale_1') ); ?>">
152
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id('on_sale_1') ); ?>" name="<?php echo esc_attr( $this->get_field_name('on_sale') ); ?>" type="radio" value="yes" <?php if( $on_sale_logo_on_product === 'yes'){ echo esc_attr('checked="checked"' ); } ?> /><?php echo esc_html__('Yes ','accelerated-mobile-pages'); ?>
153
  </label>
154
+ <label for="<?php echo esc_attr( $this->get_field_id('on_sale_2') ); ?>">
155
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id('on_sale_2') ); ?>" name="<?php echo esc_attr( $this->get_field_name('on_sale') ); ?>" type="radio" value="no" <?php if($on_sale_logo_on_product === 'no'){ echo 'checked="checked"'; } ?> /><?php echo esc_html__(' No','accelerated-mobile-pages'); ?>
156
  </label>
157
  <!-- radio buttons Ends Here -->
158
  </p>
159
 
160
  <p>
161
  <!-- radio buttons starts Here -->
162
+ <label for="<?php echo esc_attr( $this->get_field_id( 'show_price' ) ); ?>" value="<?php echo esc_attr( $ampforwp_show_price );?>"> <?php echo esc_html__('Show Price:','accelerated-mobile-pages') ?></label><br>
163
+ <label for="<?php echo esc_attr( $this->get_field_id('show_price_1') ); ?>">
164
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id('show_price_1') ); ?>" name="<?php echo esc_attr( $this->get_field_name('show_price') ); ?>" type="radio" value="yes" <?php if($ampforwp_show_price === 'yes'){ echo esc_attr( 'checked="checked"' ); } ?> /><?php echo esc_html__('Yes ','accelerated-mobile-pages'); ?>
165
  </label>
166
+ <label for="<?php echo esc_attr( $this->get_field_id('show_price_2') ); ?>">
167
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id('show_price_2') ); ?>" name="<?php echo esc_attr( $this->get_field_name('show_price') ); ?>" type="radio" value="no" <?php if($ampforwp_show_price === 'no'){ echo esc_attr( 'checked="checked"' ); } ?> /><?php echo esc_html__(' No','accelerated-mobile-pages'); ?>
168
  </label>
169
  <!-- radio buttons Ends Here -->
170
  </p>
171
  <p>
172
  <!-- radio buttons starts Here -->
173
+ <label for="<?php echo esc_attr( $this->get_field_id( 'link' ) ); ?>" value="<?php echo esc_attr( $ampforwp_procts_page_link );?>"><?php echo esc_html__('Show View more Button:','accelerated-mobile-pages') ?> </label><br>
174
+ <label for="<?php echo esc_attr( $this->get_field_id('link_1') ); ?>">
175
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id('link_1') ); ?>" name="<?php echo esc_attr( $this->get_field_name('link') ); ?>" type="radio" value="amp" <?php if($ampforwp_procts_page_link === 'amp'){ echo esc_attr( 'checked="checked"' ); } ?> /><?php echo esc_html__('AMP ','accelerated-mobile-pages'); ?>
176
  </label>
177
+ <label for="<?php echo esc_attr( $this->get_field_id('link_2') ); ?>">
178
+ <input class="widefat" id="<?php echo esc_attr( $this->get_field_id('link_2') ); ?>" name="<?php echo esc_attr( $this->get_field_name('link') ); ?>" type="radio" value="noamp" <?php if($ampforwp_procts_page_link === 'noamp'){ echo esc_attr( 'checked="checked"' ); } ?> /><?php echo esc_html__(' Non AMP','accelerated-mobile-pages'); ?>
179
  </label>
180
  <!-- radio buttons Ends Here -->
181
  </p>
185
 
186
  <?php
187
  }
188
+
 
 
189
  // Apply settings to the widget instance.
190
  public function update( $new_instance, $old_instance ) {
191
  $instance = $old_instance;