AMP for WP – Accelerated Mobile Pages - Version 1.0.35

Version Description

(23th March 2020) = * Fixed: Related post images not having alt attribute #4282 * Fixed: iframes are not working with WP optimize premium #4290 * Fixed: input type file error #4289 * Fixed: next and prev alignment issue in design 2 #4211 * Fixed: 404 PHP File is not getting overried from the child theme #4284 * Fixed: Error in "Optimize loading of Google font" in SG Optimizer #4287 * Fixed: amp-vimeo Validation error of invalid value 'ondemand' #4294 * Fixed: AMP Option panel improvements #4277 #4288

Download this release

Release Info

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

Code changes from version 1.0.34 to 1.0.35

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: 5.3.2
7
- Stable tag: 1.0.34
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -194,6 +194,16 @@ Device testing done through [BrowserStack](https://www.browserstack.com)
194
 
195
  == Changelog ==
196
 
 
 
 
 
 
 
 
 
 
 
197
  = 1.0.34 (19th March 2020) =
198
  * Improvement: Matomo (Piwik) analytics improvements #4271 #4280
199
  * Improvement: Custom page template improvements #4244
4
  Donate link: https://www.paypal.me/Kaludi/25
5
  Requires at least: 3.0
6
  Tested up to: 5.3.2
7
+ Stable tag: 1.0.35
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
194
 
195
  == Changelog ==
196
 
197
+ = 1.0.35 (23th March 2020) =
198
+ * Fixed: Related post images not having alt attribute #4282
199
+ * Fixed: iframes are not working with WP optimize premium #4290
200
+ * Fixed: input type file error #4289
201
+ * Fixed: next and prev alignment issue in design 2 #4211
202
+ * Fixed: 404 PHP File is not getting overried from the child theme #4284
203
+ * Fixed: Error in "Optimize loading of Google font" in SG Optimizer #4287
204
+ * Fixed: amp-vimeo Validation error of invalid value 'ondemand' #4294
205
+ * Fixed: AMP Option panel improvements #4277 #4288
206
+
207
  = 1.0.34 (19th March 2020) =
208
  * Improvement: Matomo (Piwik) analytics improvements #4271 #4280
209
  * Improvement: Custom page template improvements #4244
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: 1.0.34
7
  Author: Ahmed Kaludi, Mohammed Kaludi
8
  Author URI: https://ampforwp.com/
9
  Donate link: https://www.paypal.me/Kaludi/25
@@ -20,7 +20,7 @@ define('AMPFORWP_PLUGIN_DIR_URI', plugin_dir_url(__FILE__));
20
  define('AMPFORWP_DISQUS_URL',plugin_dir_url(__FILE__).'includes/disqus.html');
21
  define('AMPFORWP_IMAGE_DIR',plugin_dir_url(__FILE__).'images');
22
  define('AMPFORWP_MAIN_PLUGIN_DIR', plugin_dir_path( __DIR__ ) );
23
- define('AMPFORWP_VERSION','1.0.34');
24
  define('AMPFORWP_EXTENSION_DIR',plugin_dir_path(__FILE__).'includes/options/extensions');
25
  if(!defined('AMPFROWP_HOST_NAME')){
26
  $urlinfo = get_bloginfo('url');
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: 1.0.35
7
  Author: Ahmed Kaludi, Mohammed Kaludi
8
  Author URI: https://ampforwp.com/
9
  Donate link: https://www.paypal.me/Kaludi/25
20
  define('AMPFORWP_DISQUS_URL',plugin_dir_url(__FILE__).'includes/disqus.html');
21
  define('AMPFORWP_IMAGE_DIR',plugin_dir_url(__FILE__).'images');
22
  define('AMPFORWP_MAIN_PLUGIN_DIR', plugin_dir_path( __DIR__ ) );
23
+ define('AMPFORWP_VERSION','1.0.35');
24
  define('AMPFORWP_EXTENSION_DIR',plugin_dir_path(__FILE__).'includes/options/extensions');
25
  if(!defined('AMPFROWP_HOST_NAME')){
26
  $urlinfo = get_bloginfo('url');
changelog.txt CHANGED
@@ -1,5 +1,15 @@
1
  == Changelog ==
2
 
 
 
 
 
 
 
 
 
 
 
3
  = 1.0.34 (19th March 2020) =
4
  * Improvement: Matomo (Piwik) analytics improvements #4271 #4280
5
  * Improvement: Custom page template improvements #4244
1
  == Changelog ==
2
 
3
+ = 1.0.35 (23th March 2020) =
4
+ * Fixed: Related post images not having alt attribute #4282
5
+ * Fixed: iframes are not working with WP optimize premium #4290
6
+ * Fixed: input type file error #4289
7
+ * Fixed: next and prev alignment issue in design 2 #4211
8
+ * Fixed: 404 PHP File is not getting overried from the child theme #4284
9
+ * Fixed: Error in "Optimize loading of Google font" in SG Optimizer #4287
10
+ * Fixed: amp-vimeo Validation error of invalid value 'ondemand' #4294
11
+ * Fixed: AMP Option panel improvements #4277 #4288
12
+
13
  = 1.0.34 (19th March 2020) =
14
  * Improvement: Matomo (Piwik) analytics improvements #4271 #4280
15
  * Improvement: Custom page template improvements #4244
components/related-posts/related-posts.php CHANGED
@@ -158,10 +158,12 @@ function ampforwp_get_relatedpost_image( $imagetype ='thumbnail', $data=array()
158
  $thumb_url = $thumb_url_array[0];
159
  $thumb_width = $thumb_url_array[1];
160
  $thumb_height = $thumb_url_array[2];
 
 
161
  }
162
 
163
  if ( $thumb_url && $show_image ) {
164
- $img_content = '<amp-img src="'.esc_url( $thumb_url ).'" width="'.esc_attr($thumb_width).'" height="'.esc_attr($thumb_height).'" layout="responsive"></amp-img>';
165
  if(function_exists('ampforwp_add_fallback_element')){
166
  $img_content = ampforwp_add_fallback_element($img_content,'amp-img');
167
  }
158
  $thumb_url = $thumb_url_array[0];
159
  $thumb_width = $thumb_url_array[1];
160
  $thumb_height = $thumb_url_array[2];
161
+ $thumb_alt = '';
162
+ $thumb_alt = get_post_meta ( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
163
  }
164
 
165
  if ( $thumb_url && $show_image ) {
166
+ $img_content = '<amp-img src="'.esc_url( $thumb_url ).'" alt="'.esc_attr($thumb_alt).'" width="'.esc_attr($thumb_width).'" height="'.esc_attr($thumb_height).'" layout="responsive"></amp-img>';
167
  if(function_exists('ampforwp_add_fallback_element')){
168
  $img_content = ampforwp_add_fallback_element($img_content,'amp-img');
169
  }
images/LuckyWpTOCforAMP.png ADDED
Binary file
includes/features/performance/performance-functions.php CHANGED
@@ -23,6 +23,9 @@ function ampforwp_minify_html_output($content_buffer){
23
  if (defined('W3TC') && strpos($content_buffer, 'frameborder') !== false) {
24
  add_filter("w3tc_minify_html_enable",'__return_false');
25
  }
 
 
 
26
  global $redux_builder_amp;
27
  if(!$redux_builder_amp['ampforwp_cache_minimize_mode']){
28
  return $content_buffer;
23
  if (defined('W3TC') && strpos($content_buffer, 'frameborder') !== false) {
24
  add_filter("w3tc_minify_html_enable",'__return_false');
25
  }
26
+ if(class_exists('Cli_Optimizer') && preg_match('/<style type="text\/css">@font-face(.*?)<\/style>/s', $content_buffer)!=0){
27
+ $content_buffer = preg_replace('/<style type="text\/css">@font-face(.*?)<\/style>/s', '', $content_buffer);
28
+ }
29
  global $redux_builder_amp;
30
  if(!$redux_builder_amp['ampforwp_cache_minimize_mode']){
31
  return $content_buffer;
includes/options/admin-config.php CHANGED
@@ -587,6 +587,18 @@ $extension_listing_array = array(
587
  'is_activated'=>(is_plugin_active('subdomain-endpoints-for-amp/subdomain-endpoints-for-amp.php')? 1 : 2),
588
  'settingUrl'=>'{amp-subdomain-subsection}',
589
  ),
 
 
 
 
 
 
 
 
 
 
 
 
590
  );
591
  $viewAllExtensions = array(
592
  'name'=>'View All Extensions',
587
  'is_activated'=>(is_plugin_active('subdomain-endpoints-for-amp/subdomain-endpoints-for-amp.php')? 1 : 2),
588
  'settingUrl'=>'{amp-subdomain-subsection}',
589
  ),
590
+ array(
591
+ 'name'=>'LuckyWP Table of Contents for AMP',
592
+ 'class'=>'new-ext',
593
+ 'desc'=>'This extension automatically adds LuckyWP Table of Contents functionality in AMP',
594
+ 'img_src'=>AMPFORWP_IMAGE_DIR . '/LuckyWpTOCforAMP.png',
595
+ 'price'=>'$19',
596
+ 'url_link'=>'https://ampforwp.com/addons/luckywp-table-of-contents-for-amp/',
597
+ 'plugin_active_path'=> 'luckywp-table-of-contents-for-amp/luckywp-table-of-contents-for-amp.php',
598
+ 'item_name'=>'LuckyWP Table of Contents for AMP',
599
+ 'store_url'=>'https://accounts.ampforwp.com',
600
+ 'is_activated'=>(is_plugin_active('luckywp-table-of-contents-for-amp/luckywp-table-of-contents-for-amp.php')? 1 : 2),
601
+ ),
602
  );
603
  $viewAllExtensions = array(
604
  'name'=>'View All Extensions',
includes/thirdparty-compatibility.php CHANGED
@@ -111,6 +111,9 @@ require_once AMPFORWP_PLUGIN_DIR . '/includes/updater/update.php';
111
  $file = $filePath . '/archive.php';
112
  }
113
  }
 
 
 
114
  $ampforwp_custom_post_page = ampforwp_custom_post_page();
115
  // Homepage
116
  if ( is_home() ) {
@@ -1093,4 +1096,15 @@ function ampforwp_valid_amp_componet_script(){
1093
  $ce_valid_scripts = array('amp-3d-gltf','amp-3q-player','amp-access','amp-analytics','amp-access-laterpay','amp-access-poool','amp-accordion','amp-action-macro','amp-ad-exit','amp-ad','amp-addthis','amp-anim','amp-animation','amp-apester-media','amp-app-banner','amp-audio','amp-auto-ads','amp-autocomplete','amp-base-carousel','amp-beopinion','amp-bind','amp-bodymovin-animation','amp-brid-player','amp-brightcove','amp-byside-content','amp-call-tracking','amp-carousel','amp-connatix-player','amp-consent','amp-dailymotion','amp-date-countdown','amp-date-picker','amp-delight-player','amp-dynamic-css-classes','amp-embedly-card','amp-experiment','amp-facebook-comments','amp-facebook-like','amp-facebook-page','amp-facebook','amp-fit-text','amp-font','amp-form','amp-fx-collection','amp-fx-flying-carpet','amp-geo','amp-gfycat','amp-gist','amp-google-document-embed','amp-google-vrview-image','amp-hulu','amp-iframe','amp-ima-video','amp-image-lightbox','amp-image-slider','amp-imgur','amp-inputmask','amp-instagram','amp-install-serviceworker','amp-izlesene','amp-jwplayer','amp-kaltura-player','amp-lightbox-gallery','amp-lightbox','amp-link-rewriter','amp-list','amp-live-list','amp-mathml','amp-mega-menu','amp-megaphone','amp-minute-media-player','amp-form','amp-mustache','amp-next-page','amp-nexxtv-player','amp-o2-player','amp-ooyala-player','amp-orientation-observer','amp-pan-zoom','amp-pinterest','amp-playbuzz','amp-position-observer','amp-powr-player','amp-reach-player','amp-recaptcha-input','amp-redbull-player','amp-reddit','amp-riddle-quiz','amp-script','amp-selector','amp-sidebar','amp-skimlinks','amp-smartlinks','amp-social-share','amp-soundcloud','amp-springboard-player','amp-sticky-ad','amp-story-auto-ads','amp-story','amp-subscriptions-google','amp-subscriptions','amp-timeago','amp-truncate-text','amp-twitter','amp-user-notification','amp-video-docking','amp-video-iframe','amp-video','amp-vimeo','amp-vine','amp-viqeo-player','amp-viz-vega','amp-vk','amp-web-push','amp-wistia-player','amp-yotpo','amp-youtube');
1094
  $ce_valid_scripts = apply_filters('ampforwp_valid_amp_component_script',$ce_valid_scripts);
1095
  return $ce_valid_scripts;
 
 
 
 
 
 
 
 
 
 
 
1096
  }
111
  $file = $filePath . '/archive.php';
112
  }
113
  }
114
+ if ( is_404() && 'single' === $type) {
115
+ $file = $filePath . '/404.php';
116
+ }
117
  $ampforwp_custom_post_page = ampforwp_custom_post_page();
118
  // Homepage
119
  if ( is_home() ) {
1096
  $ce_valid_scripts = array('amp-3d-gltf','amp-3q-player','amp-access','amp-analytics','amp-access-laterpay','amp-access-poool','amp-accordion','amp-action-macro','amp-ad-exit','amp-ad','amp-addthis','amp-anim','amp-animation','amp-apester-media','amp-app-banner','amp-audio','amp-auto-ads','amp-autocomplete','amp-base-carousel','amp-beopinion','amp-bind','amp-bodymovin-animation','amp-brid-player','amp-brightcove','amp-byside-content','amp-call-tracking','amp-carousel','amp-connatix-player','amp-consent','amp-dailymotion','amp-date-countdown','amp-date-picker','amp-delight-player','amp-dynamic-css-classes','amp-embedly-card','amp-experiment','amp-facebook-comments','amp-facebook-like','amp-facebook-page','amp-facebook','amp-fit-text','amp-font','amp-form','amp-fx-collection','amp-fx-flying-carpet','amp-geo','amp-gfycat','amp-gist','amp-google-document-embed','amp-google-vrview-image','amp-hulu','amp-iframe','amp-ima-video','amp-image-lightbox','amp-image-slider','amp-imgur','amp-inputmask','amp-instagram','amp-install-serviceworker','amp-izlesene','amp-jwplayer','amp-kaltura-player','amp-lightbox-gallery','amp-lightbox','amp-link-rewriter','amp-list','amp-live-list','amp-mathml','amp-mega-menu','amp-megaphone','amp-minute-media-player','amp-form','amp-mustache','amp-next-page','amp-nexxtv-player','amp-o2-player','amp-ooyala-player','amp-orientation-observer','amp-pan-zoom','amp-pinterest','amp-playbuzz','amp-position-observer','amp-powr-player','amp-reach-player','amp-recaptcha-input','amp-redbull-player','amp-reddit','amp-riddle-quiz','amp-script','amp-selector','amp-sidebar','amp-skimlinks','amp-smartlinks','amp-social-share','amp-soundcloud','amp-springboard-player','amp-sticky-ad','amp-story-auto-ads','amp-story','amp-subscriptions-google','amp-subscriptions','amp-timeago','amp-truncate-text','amp-twitter','amp-user-notification','amp-video-docking','amp-video-iframe','amp-video','amp-vimeo','amp-vine','amp-viqeo-player','amp-viz-vega','amp-vk','amp-web-push','amp-wistia-player','amp-yotpo','amp-youtube');
1097
  $ce_valid_scripts = apply_filters('ampforwp_valid_amp_component_script',$ce_valid_scripts);
1098
  return $ce_valid_scripts;
1099
+ }
1100
+ //iframes are not working with WP optimize premium #4290
1101
+ add_filter('wp_optimize_lazy_load_hook_these','ampforwp_wp_optimize_iframe');
1102
+ function ampforwp_wp_optimize_iframe($content){
1103
+ $url_path = trim(parse_url(add_query_arg(array()), PHP_URL_PATH),'/' );
1104
+ $explode_path = explode('/', $url_path);
1105
+ if ( AMPFORWP_AMP_QUERY_VAR === end( $explode_path)) {
1106
+ $content = array_flip($content);
1107
+ unset($content['the_content']);
1108
+ }
1109
+ return $content;
1110
  }
includes/vendor/amp/includes/sanitizers/class-amp-allowed-tags-generated.php CHANGED
@@ -5031,34 +5031,34 @@ class AMP_Allowed_Tags_Generated {
5031
  'input' => array(
5032
  array(
5033
  'attr_spec_list' => array(
5034
- '[accept]' => array(),
5035
- '[accesskey]' => array(),
5036
- '[autocomplete]' => array(),
5037
- '[checked]' => array(),
5038
- '[disabled]' => array(),
5039
- '[height]' => array(),
5040
- '[inputmode]' => array(),
5041
- '[max]' => array(),
5042
- '[maxlength]' => array(),
5043
- '[min]' => array(),
5044
- '[minlength]' => array(),
5045
- '[multiple]' => array(),
5046
- '[pattern]' => array(),
5047
- '[placeholder]' => array(),
5048
- '[readonly]' => array(),
5049
- '[required]' => array(),
5050
- '[selectiondirection]' => array(),
5051
- '[size]' => array(),
5052
- '[spellcheck]' => array(),
5053
- '[step]' => array(),
5054
- '[type]' => array(),
5055
- '[value]' => array(),
5056
- '[width]' => array(),
5057
  'accept' => array(),
5058
  'accesskey' => array(),
5059
  'autocomplete' => array(),
5060
  'autofocus' => array(),
5061
  'checked' => array(),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5062
  'disabled' => array(),
5063
  'height' => array(),
5064
  'inputmode' => array(),
@@ -5071,6 +5071,11 @@ class AMP_Allowed_Tags_Generated {
5071
  'name' => array(
5072
  'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
5073
  ),
 
 
 
 
 
5074
  'pattern' => array(),
5075
  'placeholder' => array(),
5076
  'readonly' => array(),
@@ -5087,7 +5092,628 @@ class AMP_Allowed_Tags_Generated {
5087
  'width' => array(),
5088
  ),
5089
  'tag_spec' => array(
5090
- 'spec_url' => 'https://www.ampproject.org/docs/reference/components/amp-form',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5091
  ),
5092
  ),
5093
  ),
@@ -11104,4 +11730,4 @@ class AMP_Allowed_Tags_Generated {
11104
  return self::$layout_allowed_attrs;
11105
  }
11106
 
11107
- }
5031
  'input' => array(
5032
  array(
5033
  'attr_spec_list' => array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5034
  'accept' => array(),
5035
  'accesskey' => array(),
5036
  'autocomplete' => array(),
5037
  'autofocus' => array(),
5038
  'checked' => array(),
5039
+ 'data-amp-bind-accept' => array(),
5040
+ 'data-amp-bind-accesskey' => array(),
5041
+ 'data-amp-bind-autocomplete' => array(),
5042
+ 'data-amp-bind-checked' => array(),
5043
+ 'data-amp-bind-disabled' => array(),
5044
+ 'data-amp-bind-height' => array(),
5045
+ 'data-amp-bind-inputmode' => array(),
5046
+ 'data-amp-bind-max' => array(),
5047
+ 'data-amp-bind-maxlength' => array(),
5048
+ 'data-amp-bind-min' => array(),
5049
+ 'data-amp-bind-minlength' => array(),
5050
+ 'data-amp-bind-multiple' => array(),
5051
+ 'data-amp-bind-pattern' => array(),
5052
+ 'data-amp-bind-placeholder' => array(),
5053
+ 'data-amp-bind-readonly' => array(),
5054
+ 'data-amp-bind-required' => array(),
5055
+ 'data-amp-bind-selectiondirection' => array(),
5056
+ 'data-amp-bind-size' => array(),
5057
+ 'data-amp-bind-spellcheck' => array(),
5058
+ 'data-amp-bind-step' => array(),
5059
+ 'data-amp-bind-type' => array(),
5060
+ 'data-amp-bind-value' => array(),
5061
+ 'data-amp-bind-width' => array(),
5062
  'disabled' => array(),
5063
  'height' => array(),
5064
  'inputmode' => array(),
5071
  'name' => array(
5072
  'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
5073
  ),
5074
+ 'no-verify' => array(
5075
+ 'value' => array(
5076
+ '',
5077
+ ),
5078
+ ),
5079
  'pattern' => array(),
5080
  'placeholder' => array(),
5081
  'readonly' => array(),
5092
  'width' => array(),
5093
  ),
5094
  'tag_spec' => array(
5095
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-form',
5096
+ ),
5097
+ ),
5098
+ array(
5099
+ 'attr_spec_list' => array(
5100
+ 'accept' => array(),
5101
+ 'accesskey' => array(),
5102
+ 'autocomplete' => array(),
5103
+ 'autofocus' => array(),
5104
+ 'checked' => array(),
5105
+ 'data-amp-bind-accept' => array(),
5106
+ 'data-amp-bind-accesskey' => array(),
5107
+ 'data-amp-bind-autocomplete' => array(),
5108
+ 'data-amp-bind-checked' => array(),
5109
+ 'data-amp-bind-disabled' => array(),
5110
+ 'data-amp-bind-height' => array(),
5111
+ 'data-amp-bind-inputmode' => array(),
5112
+ 'data-amp-bind-max' => array(),
5113
+ 'data-amp-bind-maxlength' => array(),
5114
+ 'data-amp-bind-min' => array(),
5115
+ 'data-amp-bind-minlength' => array(),
5116
+ 'data-amp-bind-multiple' => array(),
5117
+ 'data-amp-bind-pattern' => array(),
5118
+ 'data-amp-bind-placeholder' => array(),
5119
+ 'data-amp-bind-readonly' => array(),
5120
+ 'data-amp-bind-required' => array(),
5121
+ 'data-amp-bind-selectiondirection' => array(),
5122
+ 'data-amp-bind-size' => array(),
5123
+ 'data-amp-bind-spellcheck' => array(),
5124
+ 'data-amp-bind-step' => array(),
5125
+ 'data-amp-bind-type' => array(),
5126
+ 'data-amp-bind-value' => array(),
5127
+ 'data-amp-bind-width' => array(),
5128
+ 'disabled' => array(),
5129
+ 'height' => array(),
5130
+ 'inputmode' => array(),
5131
+ 'list' => array(),
5132
+ 'max' => array(),
5133
+ 'maxlength' => array(),
5134
+ 'min' => array(),
5135
+ 'minlength' => array(),
5136
+ 'multiple' => array(),
5137
+ 'name' => array(
5138
+ 'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
5139
+ ),
5140
+ 'no-verify' => array(
5141
+ 'value' => array(
5142
+ '',
5143
+ ),
5144
+ ),
5145
+ 'pattern' => array(),
5146
+ 'placeholder' => array(),
5147
+ 'readonly' => array(),
5148
+ 'required' => array(),
5149
+ 'selectiondirection' => array(),
5150
+ 'size' => array(),
5151
+ 'spellcheck' => array(),
5152
+ 'step' => array(),
5153
+ 'tabindex' => array(),
5154
+ 'type' => array(
5155
+ 'dispatch_key' => 2,
5156
+ 'mandatory' => true,
5157
+ 'value_casei' => array(
5158
+ 'file',
5159
+ ),
5160
+ ),
5161
+ 'value' => array(),
5162
+ 'width' => array(),
5163
+ ),
5164
+ 'tag_spec' => array(
5165
+ 'mandatory_ancestor' => 'form [method=post]',
5166
+ 'spec_name' => 'INPUT [type=file]',
5167
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-form',
5168
+ ),
5169
+ ),
5170
+ array(
5171
+ 'attr_spec_list' => array(
5172
+ 'accept' => array(),
5173
+ 'accesskey' => array(),
5174
+ 'autocomplete' => array(),
5175
+ 'autofocus' => array(),
5176
+ 'checked' => array(),
5177
+ 'data-amp-bind-accept' => array(),
5178
+ 'data-amp-bind-accesskey' => array(),
5179
+ 'data-amp-bind-autocomplete' => array(),
5180
+ 'data-amp-bind-checked' => array(),
5181
+ 'data-amp-bind-disabled' => array(),
5182
+ 'data-amp-bind-height' => array(),
5183
+ 'data-amp-bind-inputmode' => array(),
5184
+ 'data-amp-bind-max' => array(),
5185
+ 'data-amp-bind-maxlength' => array(),
5186
+ 'data-amp-bind-min' => array(),
5187
+ 'data-amp-bind-minlength' => array(),
5188
+ 'data-amp-bind-multiple' => array(),
5189
+ 'data-amp-bind-pattern' => array(),
5190
+ 'data-amp-bind-placeholder' => array(),
5191
+ 'data-amp-bind-readonly' => array(),
5192
+ 'data-amp-bind-required' => array(),
5193
+ 'data-amp-bind-selectiondirection' => array(),
5194
+ 'data-amp-bind-size' => array(),
5195
+ 'data-amp-bind-spellcheck' => array(),
5196
+ 'data-amp-bind-step' => array(),
5197
+ 'data-amp-bind-type' => array(),
5198
+ 'data-amp-bind-value' => array(),
5199
+ 'data-amp-bind-width' => array(),
5200
+ 'disabled' => array(),
5201
+ 'height' => array(),
5202
+ 'inputmode' => array(),
5203
+ 'list' => array(),
5204
+ 'max' => array(),
5205
+ 'maxlength' => array(),
5206
+ 'min' => array(),
5207
+ 'minlength' => array(),
5208
+ 'multiple' => array(),
5209
+ 'name' => array(
5210
+ 'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
5211
+ ),
5212
+ 'pattern' => array(),
5213
+ 'placeholder' => array(),
5214
+ 'readonly' => array(),
5215
+ 'required' => array(),
5216
+ 'selectiondirection' => array(),
5217
+ 'size' => array(),
5218
+ 'spellcheck' => array(),
5219
+ 'step' => array(),
5220
+ 'tabindex' => array(),
5221
+ 'type' => array(
5222
+ 'dispatch_key' => 2,
5223
+ 'mandatory' => true,
5224
+ 'value_casei' => array(
5225
+ 'password',
5226
+ ),
5227
+ ),
5228
+ 'value' => array(),
5229
+ 'width' => array(),
5230
+ ),
5231
+ 'tag_spec' => array(
5232
+ 'mandatory_ancestor' => 'form [method=post]',
5233
+ 'spec_name' => 'INPUT [type=password]',
5234
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-form',
5235
+ ),
5236
+ ),
5237
+ array(
5238
+ 'attr_spec_list' => array(
5239
+ 'type' => array(
5240
+ 'mandatory' => true,
5241
+ 'value_casei' => array(
5242
+ 'search',
5243
+ 'text',
5244
+ ),
5245
+ ),
5246
+ ),
5247
+ 'tag_spec' => array(
5248
+ 'mandatory_parent' => 'amp-autocomplete',
5249
+ 'requires_extension' => array(
5250
+ 'amp-autocomplete',
5251
+ 'amp-form',
5252
+ ),
5253
+ 'spec_name' => 'amp-autocomplete > input',
5254
+ ),
5255
+ ),
5256
+ array(
5257
+ 'attr_spec_list' => array(
5258
+ 'accept' => array(),
5259
+ 'accesskey' => array(),
5260
+ 'autocomplete' => array(),
5261
+ 'autofocus' => array(),
5262
+ 'checked' => array(),
5263
+ 'data-amp-bind-accept' => array(),
5264
+ 'data-amp-bind-accesskey' => array(),
5265
+ 'data-amp-bind-autocomplete' => array(),
5266
+ 'data-amp-bind-checked' => array(),
5267
+ 'data-amp-bind-disabled' => array(),
5268
+ 'data-amp-bind-height' => array(),
5269
+ 'data-amp-bind-inputmode' => array(),
5270
+ 'data-amp-bind-max' => array(),
5271
+ 'data-amp-bind-maxlength' => array(),
5272
+ 'data-amp-bind-min' => array(),
5273
+ 'data-amp-bind-minlength' => array(),
5274
+ 'data-amp-bind-multiple' => array(),
5275
+ 'data-amp-bind-pattern' => array(),
5276
+ 'data-amp-bind-placeholder' => array(),
5277
+ 'data-amp-bind-readonly' => array(),
5278
+ 'data-amp-bind-required' => array(),
5279
+ 'data-amp-bind-selectiondirection' => array(),
5280
+ 'data-amp-bind-size' => array(),
5281
+ 'data-amp-bind-spellcheck' => array(),
5282
+ 'data-amp-bind-step' => array(),
5283
+ 'data-amp-bind-type' => array(),
5284
+ 'data-amp-bind-value' => array(),
5285
+ 'data-amp-bind-width' => array(),
5286
+ 'disabled' => array(),
5287
+ 'height' => array(),
5288
+ 'inputmode' => array(),
5289
+ 'list' => array(),
5290
+ 'mask' => array(
5291
+ 'blacklisted_value_regex' => '(payment-card|date-dd-mm-yyyy|date-mm-dd-yyyy|date-mm-yy|date-yyyy-mm-dd)',
5292
+ 'dispatch_key' => 1,
5293
+ 'mandatory' => true,
5294
+ ),
5295
+ 'mask-output' => array(),
5296
+ 'mask-trim-zeros' => array(
5297
+ 'value_regex' => '\\d+',
5298
+ ),
5299
+ 'max' => array(),
5300
+ 'maxlength' => array(),
5301
+ 'min' => array(),
5302
+ 'minlength' => array(),
5303
+ 'multiple' => array(),
5304
+ 'name' => array(
5305
+ 'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
5306
+ ),
5307
+ 'pattern' => array(),
5308
+ 'placeholder' => array(),
5309
+ 'readonly' => array(),
5310
+ 'required' => array(),
5311
+ 'selectiondirection' => array(),
5312
+ 'size' => array(),
5313
+ 'spellcheck' => array(),
5314
+ 'step' => array(),
5315
+ 'tabindex' => array(),
5316
+ 'type' => array(
5317
+ 'value' => array(
5318
+ 'text',
5319
+ 'tel',
5320
+ 'search',
5321
+ ),
5322
+ ),
5323
+ 'value' => array(),
5324
+ 'width' => array(),
5325
+ ),
5326
+ 'tag_spec' => array(
5327
+ 'requires_extension' => array(
5328
+ 'amp-inputmask',
5329
+ ),
5330
+ 'spec_name' => 'input [mask] (custom mask)',
5331
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-inputmask',
5332
+ ),
5333
+ ),
5334
+ array(
5335
+ 'attr_spec_list' => array(
5336
+ 'accept' => array(),
5337
+ 'accesskey' => array(),
5338
+ 'autocomplete' => array(),
5339
+ 'autofocus' => array(),
5340
+ 'checked' => array(),
5341
+ 'data-amp-bind-accept' => array(),
5342
+ 'data-amp-bind-accesskey' => array(),
5343
+ 'data-amp-bind-autocomplete' => array(),
5344
+ 'data-amp-bind-checked' => array(),
5345
+ 'data-amp-bind-disabled' => array(),
5346
+ 'data-amp-bind-height' => array(),
5347
+ 'data-amp-bind-inputmode' => array(),
5348
+ 'data-amp-bind-max' => array(),
5349
+ 'data-amp-bind-maxlength' => array(),
5350
+ 'data-amp-bind-min' => array(),
5351
+ 'data-amp-bind-minlength' => array(),
5352
+ 'data-amp-bind-multiple' => array(),
5353
+ 'data-amp-bind-pattern' => array(),
5354
+ 'data-amp-bind-placeholder' => array(),
5355
+ 'data-amp-bind-readonly' => array(),
5356
+ 'data-amp-bind-required' => array(),
5357
+ 'data-amp-bind-selectiondirection' => array(),
5358
+ 'data-amp-bind-size' => array(),
5359
+ 'data-amp-bind-spellcheck' => array(),
5360
+ 'data-amp-bind-step' => array(),
5361
+ 'data-amp-bind-type' => array(),
5362
+ 'data-amp-bind-value' => array(),
5363
+ 'data-amp-bind-width' => array(),
5364
+ 'disabled' => array(),
5365
+ 'height' => array(),
5366
+ 'inputmode' => array(),
5367
+ 'list' => array(),
5368
+ 'mask' => array(
5369
+ 'dispatch_key' => 2,
5370
+ 'mandatory' => true,
5371
+ 'value' => array(
5372
+ 'payment-card',
5373
+ ),
5374
+ ),
5375
+ 'mask-output' => array(),
5376
+ 'max' => array(),
5377
+ 'maxlength' => array(),
5378
+ 'min' => array(),
5379
+ 'minlength' => array(),
5380
+ 'multiple' => array(),
5381
+ 'name' => array(
5382
+ 'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
5383
+ ),
5384
+ 'pattern' => array(),
5385
+ 'placeholder' => array(),
5386
+ 'readonly' => array(),
5387
+ 'required' => array(),
5388
+ 'selectiondirection' => array(),
5389
+ 'size' => array(),
5390
+ 'spellcheck' => array(),
5391
+ 'step' => array(),
5392
+ 'tabindex' => array(),
5393
+ 'type' => array(
5394
+ 'value' => array(
5395
+ 'text',
5396
+ 'tel',
5397
+ 'search',
5398
+ ),
5399
+ ),
5400
+ 'value' => array(),
5401
+ 'width' => array(),
5402
+ ),
5403
+ 'tag_spec' => array(
5404
+ 'requires_extension' => array(
5405
+ 'amp-inputmask',
5406
+ ),
5407
+ 'spec_name' => 'input [mask=payment-card]',
5408
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-inputmask',
5409
+ ),
5410
+ ),
5411
+ array(
5412
+ 'attr_spec_list' => array(
5413
+ 'accept' => array(),
5414
+ 'accesskey' => array(),
5415
+ 'autocomplete' => array(),
5416
+ 'autofocus' => array(),
5417
+ 'checked' => array(),
5418
+ 'data-amp-bind-accept' => array(),
5419
+ 'data-amp-bind-accesskey' => array(),
5420
+ 'data-amp-bind-autocomplete' => array(),
5421
+ 'data-amp-bind-checked' => array(),
5422
+ 'data-amp-bind-disabled' => array(),
5423
+ 'data-amp-bind-height' => array(),
5424
+ 'data-amp-bind-inputmode' => array(),
5425
+ 'data-amp-bind-max' => array(),
5426
+ 'data-amp-bind-maxlength' => array(),
5427
+ 'data-amp-bind-min' => array(),
5428
+ 'data-amp-bind-minlength' => array(),
5429
+ 'data-amp-bind-multiple' => array(),
5430
+ 'data-amp-bind-pattern' => array(),
5431
+ 'data-amp-bind-placeholder' => array(),
5432
+ 'data-amp-bind-readonly' => array(),
5433
+ 'data-amp-bind-required' => array(),
5434
+ 'data-amp-bind-selectiondirection' => array(),
5435
+ 'data-amp-bind-size' => array(),
5436
+ 'data-amp-bind-spellcheck' => array(),
5437
+ 'data-amp-bind-step' => array(),
5438
+ 'data-amp-bind-type' => array(),
5439
+ 'data-amp-bind-value' => array(),
5440
+ 'data-amp-bind-width' => array(),
5441
+ 'disabled' => array(),
5442
+ 'height' => array(),
5443
+ 'inputmode' => array(),
5444
+ 'list' => array(),
5445
+ 'mask' => array(
5446
+ 'dispatch_key' => 2,
5447
+ 'mandatory' => true,
5448
+ 'value' => array(
5449
+ 'date-dd-mm-yyyy',
5450
+ ),
5451
+ ),
5452
+ 'mask-output' => array(),
5453
+ 'max' => array(),
5454
+ 'maxlength' => array(),
5455
+ 'min' => array(),
5456
+ 'minlength' => array(),
5457
+ 'multiple' => array(),
5458
+ 'name' => array(
5459
+ 'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
5460
+ ),
5461
+ 'pattern' => array(),
5462
+ 'placeholder' => array(),
5463
+ 'readonly' => array(),
5464
+ 'required' => array(),
5465
+ 'selectiondirection' => array(),
5466
+ 'size' => array(),
5467
+ 'spellcheck' => array(),
5468
+ 'step' => array(),
5469
+ 'tabindex' => array(),
5470
+ 'type' => array(
5471
+ 'value' => array(
5472
+ 'text',
5473
+ 'tel',
5474
+ 'search',
5475
+ ),
5476
+ ),
5477
+ 'value' => array(),
5478
+ 'width' => array(),
5479
+ ),
5480
+ 'tag_spec' => array(
5481
+ 'requires_extension' => array(
5482
+ 'amp-inputmask',
5483
+ ),
5484
+ 'spec_name' => 'input [mask=date-dd-mm-yyyy]',
5485
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-inputmask',
5486
+ ),
5487
+ ),
5488
+ array(
5489
+ 'attr_spec_list' => array(
5490
+ 'accept' => array(),
5491
+ 'accesskey' => array(),
5492
+ 'autocomplete' => array(),
5493
+ 'autofocus' => array(),
5494
+ 'checked' => array(),
5495
+ 'data-amp-bind-accept' => array(),
5496
+ 'data-amp-bind-accesskey' => array(),
5497
+ 'data-amp-bind-autocomplete' => array(),
5498
+ 'data-amp-bind-checked' => array(),
5499
+ 'data-amp-bind-disabled' => array(),
5500
+ 'data-amp-bind-height' => array(),
5501
+ 'data-amp-bind-inputmode' => array(),
5502
+ 'data-amp-bind-max' => array(),
5503
+ 'data-amp-bind-maxlength' => array(),
5504
+ 'data-amp-bind-min' => array(),
5505
+ 'data-amp-bind-minlength' => array(),
5506
+ 'data-amp-bind-multiple' => array(),
5507
+ 'data-amp-bind-pattern' => array(),
5508
+ 'data-amp-bind-placeholder' => array(),
5509
+ 'data-amp-bind-readonly' => array(),
5510
+ 'data-amp-bind-required' => array(),
5511
+ 'data-amp-bind-selectiondirection' => array(),
5512
+ 'data-amp-bind-size' => array(),
5513
+ 'data-amp-bind-spellcheck' => array(),
5514
+ 'data-amp-bind-step' => array(),
5515
+ 'data-amp-bind-type' => array(),
5516
+ 'data-amp-bind-value' => array(),
5517
+ 'data-amp-bind-width' => array(),
5518
+ 'disabled' => array(),
5519
+ 'height' => array(),
5520
+ 'inputmode' => array(),
5521
+ 'list' => array(),
5522
+ 'mask' => array(
5523
+ 'dispatch_key' => 2,
5524
+ 'mandatory' => true,
5525
+ 'value' => array(
5526
+ 'date-mm-dd-yyyy',
5527
+ ),
5528
+ ),
5529
+ 'mask-output' => array(),
5530
+ 'max' => array(),
5531
+ 'maxlength' => array(),
5532
+ 'min' => array(),
5533
+ 'minlength' => array(),
5534
+ 'multiple' => array(),
5535
+ 'name' => array(
5536
+ 'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
5537
+ ),
5538
+ 'pattern' => array(),
5539
+ 'placeholder' => array(),
5540
+ 'readonly' => array(),
5541
+ 'required' => array(),
5542
+ 'selectiondirection' => array(),
5543
+ 'size' => array(),
5544
+ 'spellcheck' => array(),
5545
+ 'step' => array(),
5546
+ 'tabindex' => array(),
5547
+ 'type' => array(
5548
+ 'value' => array(
5549
+ 'text',
5550
+ 'tel',
5551
+ 'search',
5552
+ ),
5553
+ ),
5554
+ 'value' => array(),
5555
+ 'width' => array(),
5556
+ ),
5557
+ 'tag_spec' => array(
5558
+ 'requires_extension' => array(
5559
+ 'amp-inputmask',
5560
+ ),
5561
+ 'spec_name' => 'input [mask=date-mm-dd-yyyy]',
5562
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-inputmask',
5563
+ ),
5564
+ ),
5565
+ array(
5566
+ 'attr_spec_list' => array(
5567
+ 'accept' => array(),
5568
+ 'accesskey' => array(),
5569
+ 'autocomplete' => array(),
5570
+ 'autofocus' => array(),
5571
+ 'checked' => array(),
5572
+ 'data-amp-bind-accept' => array(),
5573
+ 'data-amp-bind-accesskey' => array(),
5574
+ 'data-amp-bind-autocomplete' => array(),
5575
+ 'data-amp-bind-checked' => array(),
5576
+ 'data-amp-bind-disabled' => array(),
5577
+ 'data-amp-bind-height' => array(),
5578
+ 'data-amp-bind-inputmode' => array(),
5579
+ 'data-amp-bind-max' => array(),
5580
+ 'data-amp-bind-maxlength' => array(),
5581
+ 'data-amp-bind-min' => array(),
5582
+ 'data-amp-bind-minlength' => array(),
5583
+ 'data-amp-bind-multiple' => array(),
5584
+ 'data-amp-bind-pattern' => array(),
5585
+ 'data-amp-bind-placeholder' => array(),
5586
+ 'data-amp-bind-readonly' => array(),
5587
+ 'data-amp-bind-required' => array(),
5588
+ 'data-amp-bind-selectiondirection' => array(),
5589
+ 'data-amp-bind-size' => array(),
5590
+ 'data-amp-bind-spellcheck' => array(),
5591
+ 'data-amp-bind-step' => array(),
5592
+ 'data-amp-bind-type' => array(),
5593
+ 'data-amp-bind-value' => array(),
5594
+ 'data-amp-bind-width' => array(),
5595
+ 'disabled' => array(),
5596
+ 'height' => array(),
5597
+ 'inputmode' => array(),
5598
+ 'list' => array(),
5599
+ 'mask' => array(
5600
+ 'dispatch_key' => 2,
5601
+ 'mandatory' => true,
5602
+ 'value' => array(
5603
+ 'date-mm-yy',
5604
+ ),
5605
+ ),
5606
+ 'mask-output' => array(),
5607
+ 'max' => array(),
5608
+ 'maxlength' => array(),
5609
+ 'min' => array(),
5610
+ 'minlength' => array(),
5611
+ 'multiple' => array(),
5612
+ 'name' => array(
5613
+ 'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
5614
+ ),
5615
+ 'pattern' => array(),
5616
+ 'placeholder' => array(),
5617
+ 'readonly' => array(),
5618
+ 'required' => array(),
5619
+ 'selectiondirection' => array(),
5620
+ 'size' => array(),
5621
+ 'spellcheck' => array(),
5622
+ 'step' => array(),
5623
+ 'tabindex' => array(),
5624
+ 'type' => array(
5625
+ 'value' => array(
5626
+ 'text',
5627
+ 'tel',
5628
+ 'search',
5629
+ ),
5630
+ ),
5631
+ 'value' => array(),
5632
+ 'width' => array(),
5633
+ ),
5634
+ 'tag_spec' => array(
5635
+ 'requires_extension' => array(
5636
+ 'amp-inputmask',
5637
+ ),
5638
+ 'spec_name' => 'input [mask=date-mm-yy]',
5639
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-inputmask',
5640
+ ),
5641
+ ),
5642
+ array(
5643
+ 'attr_spec_list' => array(
5644
+ 'accept' => array(),
5645
+ 'accesskey' => array(),
5646
+ 'autocomplete' => array(),
5647
+ 'autofocus' => array(),
5648
+ 'checked' => array(),
5649
+ 'data-amp-bind-accept' => array(),
5650
+ 'data-amp-bind-accesskey' => array(),
5651
+ 'data-amp-bind-autocomplete' => array(),
5652
+ 'data-amp-bind-checked' => array(),
5653
+ 'data-amp-bind-disabled' => array(),
5654
+ 'data-amp-bind-height' => array(),
5655
+ 'data-amp-bind-inputmode' => array(),
5656
+ 'data-amp-bind-max' => array(),
5657
+ 'data-amp-bind-maxlength' => array(),
5658
+ 'data-amp-bind-min' => array(),
5659
+ 'data-amp-bind-minlength' => array(),
5660
+ 'data-amp-bind-multiple' => array(),
5661
+ 'data-amp-bind-pattern' => array(),
5662
+ 'data-amp-bind-placeholder' => array(),
5663
+ 'data-amp-bind-readonly' => array(),
5664
+ 'data-amp-bind-required' => array(),
5665
+ 'data-amp-bind-selectiondirection' => array(),
5666
+ 'data-amp-bind-size' => array(),
5667
+ 'data-amp-bind-spellcheck' => array(),
5668
+ 'data-amp-bind-step' => array(),
5669
+ 'data-amp-bind-type' => array(),
5670
+ 'data-amp-bind-value' => array(),
5671
+ 'data-amp-bind-width' => array(),
5672
+ 'disabled' => array(),
5673
+ 'height' => array(),
5674
+ 'inputmode' => array(),
5675
+ 'list' => array(),
5676
+ 'mask' => array(
5677
+ 'dispatch_key' => 2,
5678
+ 'mandatory' => true,
5679
+ 'value' => array(
5680
+ 'date-yyyy-mm-dd',
5681
+ ),
5682
+ ),
5683
+ 'mask-output' => array(),
5684
+ 'max' => array(),
5685
+ 'maxlength' => array(),
5686
+ 'min' => array(),
5687
+ 'minlength' => array(),
5688
+ 'multiple' => array(),
5689
+ 'name' => array(
5690
+ 'blacklisted_value_regex' => '(^|\\s)(__amp_\\S*|__count__|__defineGetter__|__defineSetter__|__lookupGetter__|__lookupSetter__|__noSuchMethod__|__parent__|__proto__|__AMP_\\S*|\\$p|\\$proxy|acceptCharset|addEventListener|appendChild|assignedSlot|attachShadow|baseURI|checkValidity|childElementCount|childNodes|classList|className|clientHeight|clientLeft|clientTop|clientWidth|compareDocumentPosition|computedName|computedRole|contentEditable|createShadowRoot|enqueAction|firstChild|firstElementChild|getAnimations|getAttribute|getAttributeNS|getAttributeNode|getAttributeNodeNS|getBoundingClientRect|getClientRects|getDestinationInsertionPoints|getElementsByClassName|getElementsByTagName|getElementsByTagNameNS|getRootNode|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasPointerCapture|innerHTML|innerText|inputMode|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|isContentEditable|isDefaultNamespace|isEqualNode|isSameNode|lastChild|lastElementChild|lookupNamespaceURI|namespaceURI|nextElementSibling|nextSibling|nodeName|nodeType|nodeValue|offsetHeight|offsetLeft|offsetParent|offsetTop|offsetWidth|outerHTML|outerText|ownerDocument|parentElement|parentNode|previousElementSibling|previousSibling|querySelector|querySelectorAll|releasePointerCapture|removeAttribute|removeAttributeNS|removeAttributeNode|removeChild|removeEventListener|replaceChild|reportValidity|requestPointerLock|scrollHeight|scrollIntoView|scrollIntoViewIfNeeded|scrollLeft|scrollWidth|setAttribute|setAttributeNS|setAttributeNode|setAttributeNodeNS|setPointerCapture|shadowRoot|styleMap|tabIndex|tagName|textContent|toString|valueOf|(webkit|ms|moz|o)dropzone|(webkit|moz|ms|o)MatchesSelector|(webkit|moz|ms|o)RequestFullScreen|(webkit|moz|ms|o)RequestFullscreen)(\\s|$)',
5691
+ ),
5692
+ 'pattern' => array(),
5693
+ 'placeholder' => array(),
5694
+ 'readonly' => array(),
5695
+ 'required' => array(),
5696
+ 'selectiondirection' => array(),
5697
+ 'size' => array(),
5698
+ 'spellcheck' => array(),
5699
+ 'step' => array(),
5700
+ 'tabindex' => array(),
5701
+ 'type' => array(
5702
+ 'value' => array(
5703
+ 'text',
5704
+ 'tel',
5705
+ 'search',
5706
+ ),
5707
+ ),
5708
+ 'value' => array(),
5709
+ 'width' => array(),
5710
+ ),
5711
+ 'tag_spec' => array(
5712
+ 'requires_extension' => array(
5713
+ 'amp-inputmask',
5714
+ ),
5715
+ 'spec_name' => 'input [mask=date-yyyy-mm-dd]',
5716
+ 'spec_url' => 'https://amp.dev/documentation/components/amp-inputmask',
5717
  ),
5718
  ),
5719
  ),
11730
  return self::$layout_allowed_attrs;
11731
  }
11732
 
11733
+ }
includes/vendor/vendor-changelog.txt CHANGED
@@ -94,4 +94,5 @@ Reason: To extend the functionality of sidebars and Pagebuilder
94
  64. Fixed Instagram video (tv) rendering issue #3812
95
  65. Needs to redirect to 301, not in 302 #3767
96
  66. Whitelisted label and input tags #4054
97
- 67. Whitelisted Picture tag #4051
 
94
  64. Fixed Instagram video (tv) rendering issue #3812
95
  65. Needs to redirect to 301, not in 302 #3767
96
  66. Whitelisted label and input tags #4054
97
+ 67. Whitelisted Picture tag #4051
98
+ 68. Improvement in input type #4289
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: 5.3.2
7
- Stable tag: 1.0.34
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -191,6 +191,16 @@ You can contact us from [here](https://ampforwp.com/contact/)
191
 
192
  == Changelog ==
193
 
 
 
 
 
 
 
 
 
 
 
194
  = 1.0.34 (19th March 2020) =
195
  * Improvement: Matomo (Piwik) analytics improvements #4271 #4280
196
  * Improvement: Custom page template improvements #4244
4
  Donate link: https://www.paypal.me/Kaludi/25
5
  Requires at least: 3.0
6
  Tested up to: 5.3.2
7
+ Stable tag: 1.0.35
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
191
 
192
  == Changelog ==
193
 
194
+ = 1.0.35 (23th March 2020) =
195
+ * Fixed: Related post images not having alt attribute #4282
196
+ * Fixed: iframes are not working with WP optimize premium #4290
197
+ * Fixed: input type file error #4289
198
+ * Fixed: next and prev alignment issue in design 2 #4211
199
+ * Fixed: 404 PHP File is not getting overried from the child theme #4284
200
+ * Fixed: Error in "Optimize loading of Google font" in SG Optimizer #4287
201
+ * Fixed: amp-vimeo Validation error of invalid value 'ondemand' #4294
202
+ * Fixed: AMP Option panel improvements #4277 #4288
203
+
204
  = 1.0.34 (19th March 2020) =
205
  * Improvement: Matomo (Piwik) analytics improvements #4271 #4280
206
  * Improvement: Custom page template improvements #4244
templates/design-manager/design-1/elements/related-posts.php CHANGED
@@ -26,6 +26,7 @@ if( $current_post_type = get_post_type( $post )) {
26
  'orderby' => $orderby,
27
  'post_type' => $current_post_type,
28
  'post__not_in' => array( $post->ID ),
 
29
  'meta_query' => array(
30
  array(
31
  'key' => 'ampforwp-amp-on-off',
@@ -48,6 +49,7 @@ if($redux_builder_amp['ampforwp-single-select-type-of-related']==2) {
48
  'has_password' => false ,
49
  'post_status' => 'publish',
50
  'orderby' => $orderby,
 
51
  'meta_query' => array(
52
  array(
53
  'key' => 'ampforwp-amp-on-off',
@@ -94,6 +96,7 @@ if ( isset($redux_builder_amp['ampforwp-related-posts-days-switch']) && true ==
94
  );
95
  }
96
  if( isset($redux_builder_amp['ampforwp-single-related-posts-switch']) && $redux_builder_amp['ampforwp-single-related-posts-switch'] && $redux_builder_amp['ampforwp-single-select-type-of-related'] ){
 
97
  $my_query = new wp_query( $args );
98
  if( $my_query->have_posts() ) { ?>
99
  <div class="amp-wp-content relatedpost">
26
  'orderby' => $orderby,
27
  'post_type' => $current_post_type,
28
  'post__not_in' => array( $post->ID ),
29
+ 'no_found_rows' => true,
30
  'meta_query' => array(
31
  array(
32
  'key' => 'ampforwp-amp-on-off',
49
  'has_password' => false ,
50
  'post_status' => 'publish',
51
  'orderby' => $orderby,
52
+ 'no_found_rows' => true,
53
  'meta_query' => array(
54
  array(
55
  'key' => 'ampforwp-amp-on-off',
96
  );
97
  }
98
  if( isset($redux_builder_amp['ampforwp-single-related-posts-switch']) && $redux_builder_amp['ampforwp-single-related-posts-switch'] && $redux_builder_amp['ampforwp-single-select-type-of-related'] ){
99
+ $args = apply_filters('ampforwp_related_posts_query_args', $args);
100
  $my_query = new wp_query( $args );
101
  if( $my_query->have_posts() ) { ?>
102
  <div class="amp-wp-content relatedpost">
templates/design-manager/design-2/elements/related-posts.php CHANGED
@@ -26,6 +26,7 @@ if( $current_post_type = get_post_type( $post )) {
26
  'orderby' => $orderby,
27
  'post_type' => $current_post_type,
28
  'post__not_in' => array( $post->ID ),
 
29
  'meta_query' => array(
30
  array(
31
  'key' => 'ampforwp-amp-on-off',
@@ -48,6 +49,7 @@ if($redux_builder_amp['ampforwp-single-select-type-of-related']==2){
48
  'has_password' => false ,
49
  'post_status' => 'publish',
50
  'orderby' => $orderby,
 
51
  'meta_query' => array(
52
  array(
53
  'key' => 'ampforwp-amp-on-off',
@@ -94,6 +96,7 @@ if ( isset($redux_builder_amp['ampforwp-related-posts-days-switch']) && true ==
94
  );
95
  }
96
  if( isset($redux_builder_amp['ampforwp-single-related-posts-switch']) && $redux_builder_amp['ampforwp-single-related-posts-switch'] && $redux_builder_amp['ampforwp-single-select-type-of-related'] ) {
 
97
  $my_query = new wp_query( $args );
98
  if( $my_query->have_posts() ) { ?>
99
  <div class="amp-wp-content relatedpost">
26
  'orderby' => $orderby,
27
  'post_type' => $current_post_type,
28
  'post__not_in' => array( $post->ID ),
29
+ 'no_found_rows' => true,
30
  'meta_query' => array(
31
  array(
32
  'key' => 'ampforwp-amp-on-off',
49
  'has_password' => false ,
50
  'post_status' => 'publish',
51
  'orderby' => $orderby,
52
+ 'no_found_rows' => true,
53
  'meta_query' => array(
54
  array(
55
  'key' => 'ampforwp-amp-on-off',
96
  );
97
  }
98
  if( isset($redux_builder_amp['ampforwp-single-related-posts-switch']) && $redux_builder_amp['ampforwp-single-related-posts-switch'] && $redux_builder_amp['ampforwp-single-select-type-of-related'] ) {
99
+ $args = apply_filters('ampforwp_related_posts_query_args', $args);
100
  $my_query = new wp_query( $args );
101
  if( $my_query->have_posts() ) { ?>
102
  <div class="amp-wp-content relatedpost">
templates/design-manager/design-2/style.php CHANGED
@@ -189,8 +189,8 @@ amp-lightbox{ background: rgba(0, 0, 0,0.85); }
189
  /* Pagination */
190
  .amp-wp-content.pagination-holder { background: none; padding: 0; box-shadow: none; height: auto; min-height: auto; }
191
  #pagination{ width: 100%; margin-top: 15px; }
192
- #pagination .next{ float: right;width:60%;text-align: right;}
193
- #pagination .prev{ float: left;width:60%; }
194
  #pagination .next a, #pagination .prev a{ margin-bottom: 12px; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; -moz-box-shadow: 0 2px 3px rgba(0,0,0,.05); -webkit-box-shadow: 0 2px 3px rgba(0,0,0,.05); box-shadow: 0 2px 3px rgba(0,0,0,.05); padding: 11px 15px; font-size: 12px;}
195
  #pagination .next a, #pagination .prev a{
196
  color:#666666;
189
  /* Pagination */
190
  .amp-wp-content.pagination-holder { background: none; padding: 0; box-shadow: none; height: auto; min-height: auto; }
191
  #pagination{ width: 100%; margin-top: 15px; }
192
+ #pagination .next{ float: right;max-width:50%;text-align: right;}
193
+ #pagination .prev{ float: left;max-width:50%; }
194
  #pagination .next a, #pagination .prev a{ margin-bottom: 12px; -moz-border-radius: 2px; -webkit-border-radius: 2px; border-radius: 2px; -moz-box-shadow: 0 2px 3px rgba(0,0,0,.05); -webkit-box-shadow: 0 2px 3px rgba(0,0,0,.05); box-shadow: 0 2px 3px rgba(0,0,0,.05); padding: 11px 15px; font-size: 12px;}
195
  #pagination .next a, #pagination .prev a{
196
  color:#666666;
templates/design-manager/design-3/elements/related-posts.php CHANGED
@@ -26,6 +26,7 @@ if( $current_post_type = get_post_type( $post )) {
26
  'orderby' => $orderby,
27
  'post_type' => $current_post_type,
28
  'post__not_in' => array( $post->ID ),
 
29
  'meta_query' => array(
30
  array(
31
  'key' => 'ampforwp-amp-on-off',
@@ -48,6 +49,7 @@ if($redux_builder_amp['ampforwp-single-select-type-of-related']==2){
48
  'ignore_sticky_posts'=> 1,
49
  'has_password' => false ,
50
  'post_status' => 'publish',
 
51
  'orderby' => $orderby,
52
  'meta_query' => array(
53
  array(
@@ -95,6 +97,7 @@ if ( isset($redux_builder_amp['ampforwp-related-posts-days-switch']) && true ==
95
  );
96
  }
97
  if( isset($redux_builder_amp['ampforwp-single-related-posts-switch']) && $redux_builder_amp['ampforwp-single-related-posts-switch'] && $redux_builder_amp['ampforwp-single-select-type-of-related'] ){
 
98
  $my_query = new wp_query( $args );
99
  if( $my_query->have_posts() ) { ?>
100
  <div class="amp-wp-content relatedpost">
@@ -116,8 +119,10 @@ if( isset($redux_builder_amp['ampforwp-single-related-posts-switch']) && $redux_
116
  $thumb_url = ampforwp_get_post_thumbnail();
117
  $thumb_width = ampforwp_get_post_thumbnail('width');
118
  $thumb_height = ampforwp_get_post_thumbnail('height');
 
 
119
  if( $thumb_url && true == $redux_builder_amp['ampforwp-single-related-posts-image'] ) {
120
- $img_content = '<amp-img src="'.esc_url( $thumb_url ).'" width="'.esc_attr($thumb_width).'" height="'.esc_attr($thumb_height).'" layout="responsive"></amp-img>';
121
  if(function_exists('ampforwp_add_fallback_element')){
122
  $img_content = ampforwp_add_fallback_element($img_content,'amp-img');
123
  }
26
  'orderby' => $orderby,
27
  'post_type' => $current_post_type,
28
  'post__not_in' => array( $post->ID ),
29
+ 'no_found_rows' => true,
30
  'meta_query' => array(
31
  array(
32
  'key' => 'ampforwp-amp-on-off',
49
  'ignore_sticky_posts'=> 1,
50
  'has_password' => false ,
51
  'post_status' => 'publish',
52
+ 'no_found_rows' => true,
53
  'orderby' => $orderby,
54
  'meta_query' => array(
55
  array(
97
  );
98
  }
99
  if( isset($redux_builder_amp['ampforwp-single-related-posts-switch']) && $redux_builder_amp['ampforwp-single-related-posts-switch'] && $redux_builder_amp['ampforwp-single-select-type-of-related'] ){
100
+ $args = apply_filters('ampforwp_related_posts_query_args', $args);
101
  $my_query = new wp_query( $args );
102
  if( $my_query->have_posts() ) { ?>
103
  <div class="amp-wp-content relatedpost">
119
  $thumb_url = ampforwp_get_post_thumbnail();
120
  $thumb_width = ampforwp_get_post_thumbnail('width');
121
  $thumb_height = ampforwp_get_post_thumbnail('height');
122
+ $thumb_alt = '';
123
+ $thumb_alt = get_post_meta ( get_post_thumbnail_id(), '_wp_attachment_image_alt', true );
124
  if( $thumb_url && true == $redux_builder_amp['ampforwp-single-related-posts-image'] ) {
125
+ $img_content = '<amp-img src="'.esc_url( $thumb_url ).'" alt="'.esc_attr($thumb_alt).'" width="'.esc_attr($thumb_width).'" height="'.esc_attr($thumb_height).'" layout="responsive"></amp-img>';
126
  if(function_exists('ampforwp_add_fallback_element')){
127
  $img_content = ampforwp_add_fallback_element($img_content,'amp-img');
128
  }
templates/features.php CHANGED
@@ -4639,6 +4639,7 @@ function ampforwp_inline_related_posts(){
4639
  'order' => 'DESC',
4640
  'orderby' => $orderby,
4641
  'post_type' => $current_post_type,
 
4642
  'post__not_in' => array( $post->ID )
4643
 
4644
  );
@@ -4657,6 +4658,7 @@ function ampforwp_inline_related_posts(){
4657
  'ignore_sticky_posts'=>1,
4658
  'has_password' => false ,
4659
  'post_status'=> 'publish',
 
4660
  'orderby' => $orderby
4661
  );
4662
  }
@@ -4691,6 +4693,7 @@ function ampforwp_inline_related_posts(){
4691
  )
4692
  );
4693
  }
 
4694
  $my_query = new wp_query( $args );
4695
  if( $my_query->have_posts() ) {
4696
  $inline_related_posts_img = '';
@@ -4922,6 +4925,8 @@ if( !function_exists('ampforwp_get_post_thumbnail')){
4922
  $thumb_url = $thumb_url_array[0];
4923
  $thumb_width = $thumb_url_array[1];
4924
  $thumb_height = $thumb_url_array[2];
 
 
4925
  }
4926
  if(ampforwp_is_custom_field_featured_image() && ampforwp_cf_featured_image_src()){
4927
  $thumb_url = ampforwp_cf_featured_image_src();
@@ -4943,6 +4948,9 @@ if( !function_exists('ampforwp_get_post_thumbnail')){
4943
  case 'height':
4944
  $output = $thumb_height;
4945
  break;
 
 
 
4946
  default:
4947
  $output = $thumb_url;
4948
  break;
@@ -5477,7 +5485,10 @@ if ( ! function_exists('ampforwp_wptexturize_disabler') ) {
5477
  // amp-vimeo proper video id for 3 parameter url
5478
  add_filter('amp_vimeo_parse_url','amp_vimeo_parse_url_video_id');
5479
  function amp_vimeo_parse_url_video_id($tok){
5480
-
 
 
 
5481
  if(sizeof($tok)==3){
5482
  return $tok[1];
5483
  }else{
4639
  'order' => 'DESC',
4640
  'orderby' => $orderby,
4641
  'post_type' => $current_post_type,
4642
+ 'no_found_rows' => true,
4643
  'post__not_in' => array( $post->ID )
4644
 
4645
  );
4658
  'ignore_sticky_posts'=>1,
4659
  'has_password' => false ,
4660
  'post_status'=> 'publish',
4661
+ 'no_found_rows' => true,
4662
  'orderby' => $orderby
4663
  );
4664
  }
4693
  )
4694
  );
4695
  }
4696
+ $args = apply_filters('ampforwp_inlne_related_posts_query_args', $args);
4697
  $my_query = new wp_query( $args );
4698
  if( $my_query->have_posts() ) {
4699
  $inline_related_posts_img = '';
4925
  $thumb_url = $thumb_url_array[0];
4926
  $thumb_width = $thumb_url_array[1];
4927
  $thumb_height = $thumb_url_array[2];
4928
+ $thumb_alt = '';
4929
+ $thumb_alt = get_post_meta ( $thumb_id, '_wp_attachment_image_alt', true );
4930
  }
4931
  if(ampforwp_is_custom_field_featured_image() && ampforwp_cf_featured_image_src()){
4932
  $thumb_url = ampforwp_cf_featured_image_src();
4948
  case 'height':
4949
  $output = $thumb_height;
4950
  break;
4951
+ case 'alt':
4952
+ $output = $thumb_alt;
4953
+ break;
4954
  default:
4955
  $output = $thumb_url;
4956
  break;
5485
  // amp-vimeo proper video id for 3 parameter url
5486
  add_filter('amp_vimeo_parse_url','amp_vimeo_parse_url_video_id');
5487
  function amp_vimeo_parse_url_video_id($tok){
5488
+ if (in_array("ondemand", $tok) && sizeof($tok)==3){
5489
+ $tok = '';
5490
+ return $tok;
5491
+ }
5492
  if(sizeof($tok)==3){
5493
  return $tok[1];
5494
  }else{