AMP for WP – Accelerated Mobile Pages - Version 0.9.97.31

Version Description

(4th February 2019) = * Added: Subtitles plugin Compatibility #2853 * Added: Created an option for Id's for all the modules and column in AMP Page builder #2730 * Fixed: All the Images are Adding AMP at the End of their URL #2391 * Fixed: When nextpage pagination is added, URL in is rendering /2?amp=1 #2767 #2766 * Fixed: Comments Issues #2755 * Fixed: The gutenberg button doesn't work in amp #2707 * Fixed: Button Module color is not getting changed #2745 * Fixed: Issue with amp menu converting & ASCII code to X #2855 * Fixed: 'Call Button Color' option not working #2820 * Fixed: Error: The attribute 'alt' may not appear in tag 'a' #2837 * Fixed: Captions are not working in Gallery #2576

Full changelog available in changelog.txt

Download this release

Release Info

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

Code changes from version 0.9.97.30 to 0.9.97.31

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.0.3
7
- Stable tag: 0.9.97.30
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -184,6 +184,19 @@ You can contact us from [here](https://ampforwp.com/contact/)
184
 
185
  == Changelog ==
186
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
  = 0.9.97.30 (2nd February 2019) =
188
  * Fixed: Wrong title on the archive pages #2864
189
  * Fixed: data-loading-strategy attribute is double quoted #2863
4
  Donate link: https://www.paypal.me/Kaludi/25
5
  Requires at least: 3.0
6
  Tested up to: 5.0.3
7
+ Stable tag: 0.9.97.31
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
184
 
185
  == Changelog ==
186
 
187
+ = 0.9.97.31 (4th February 2019) =
188
+ * Added: Subtitles plugin Compatibility #2853
189
+ * Added: Created an option for Id's for all the modules and column in AMP Page builder #2730
190
+ * Fixed: All the Images are Adding AMP at the End of their URL #2391
191
+ * Fixed: When nextpage pagination is added, URL in is rendering /2?amp=1 #2767 #2766
192
+ * Fixed: Comments Issues #2755
193
+ * Fixed: The gutenberg button doesn't work in amp #2707
194
+ * Fixed: Button Module color is not getting changed #2745
195
+ * Fixed: Issue with amp menu converting & ASCII code to X #2855
196
+ * Fixed: 'Call Button Color' option not working #2820
197
+ * Fixed: Error: The attribute 'alt' may not appear in tag 'a' #2837
198
+ * Fixed: Captions are not working in Gallery #2576
199
+
200
  = 0.9.97.30 (2nd February 2019) =
201
  * Fixed: Wrong title on the archive pages #2864
202
  * Fixed: data-loading-strategy attribute is double quoted #2863
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.97.30
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','0.9.97.30');
24
  // any changes to AMP_QUERY_VAR should be refelected here
25
  function ampforwp_generate_endpoint(){
26
  $ampforwp_slug = '';
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.97.31
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','0.9.97.31');
24
  // any changes to AMP_QUERY_VAR should be refelected here
25
  function ampforwp_generate_endpoint(){
26
  $ampforwp_slug = '';
changelog.txt CHANGED
@@ -1,5 +1,18 @@
1
  == Changelog ==
2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3
  = 0.9.97.30 (2nd February 2019) =
4
  * Fixed: Wrong title on the archive pages #2864
5
  * Fixed: data-loading-strategy attribute is double quoted #2863
1
  == Changelog ==
2
 
3
+ = 0.9.97.31 (4th February 2019) =
4
+ * Added: Subtitles plugin Compatibility #2853
5
+ * Added: Created an option for Id's for all the modules and column in AMP Page builder #2730
6
+ * Fixed: All the Images are Adding AMP at the End of their URL #2391
7
+ * Fixed: When nextpage pagination is added, URL in is rendering /2?amp=1 #2767 #2766
8
+ * Fixed: Comments Issues #2755
9
+ * Fixed: The gutenberg button doesn't work in amp #2707
10
+ * Fixed: Button Module color is not getting changed #2745
11
+ * Fixed: Issue with amp menu converting & ASCII code to X #2855
12
+ * Fixed: 'Call Button Color' option not working #2820
13
+ * Fixed: Error: The attribute 'alt' may not appear in tag 'a' #2837
14
+ * Fixed: Captions are not working in Gallery #2576
15
+
16
  = 0.9.97.30 (2nd February 2019) =
17
  * Fixed: Wrong title on the archive pages #2864
18
  * Fixed: data-loading-strategy attribute is double quoted #2863
components/comments/comments.php CHANGED
@@ -25,6 +25,9 @@ function ampforwp_framework_get_comments(){
25
  // Gather comments for a specific page/post
26
  $postID = $comments = $max_page = "";
27
  $postID = get_the_ID();
 
 
 
28
  $comments = get_comments(array(
29
  'post_id' => $postID,
30
  'status' => 'approve' //Change this to the type of comments to be displayed
@@ -105,7 +108,7 @@ function ampforwp_framework_get_comments(){
105
  } // if ( $comments )
106
  if ( ! defined( 'AMP_COMMENTS_VERSION' ) ) { ?>
107
  <div class="amp-comment-button">
108
- <?php if ( comments_open() ) { ?>
109
  <a href="<?php echo ampforwp_comment_button_url(); ?>" rel="nofollow"><?php echo esc_html(ampforwp_translation( $redux_builder_amp['amp-translator-leave-a-comment-text'], 'Leave a Comment' ) ); ?></a> <?php
110
  } else {
111
  echo "<p class='nocomments'>". esc_html( ampforwp_translation( $redux_builder_amp['amp-translator-comments-closed'], 'Comments are closed' ) )." </p>";
25
  // Gather comments for a specific page/post
26
  $postID = $comments = $max_page = "";
27
  $postID = get_the_ID();
28
+ if ( ampforwp_is_front_page() ) {
29
+ $postID = ampforwp_get_frontpage_id();
30
+ }
31
  $comments = get_comments(array(
32
  'post_id' => $postID,
33
  'status' => 'approve' //Change this to the type of comments to be displayed
108
  } // if ( $comments )
109
  if ( ! defined( 'AMP_COMMENTS_VERSION' ) ) { ?>
110
  <div class="amp-comment-button">
111
+ <?php if ( comments_open($postID) ) { ?>
112
  <a href="<?php echo ampforwp_comment_button_url(); ?>" rel="nofollow"><?php echo esc_html(ampforwp_translation( $redux_builder_amp['amp-translator-leave-a-comment-text'], 'Leave a Comment' ) ); ?></a> <?php
113
  } else {
114
  echo "<p class='nocomments'>". esc_html( ampforwp_translation( $redux_builder_amp['amp-translator-comments-closed'], 'Comments are closed' ) )." </p>";
includes/vendor/amp/includes/embeds/class-amp-gallery-embed.php CHANGED
@@ -39,7 +39,9 @@ class AMP_Gallery_Embed_Handler extends AMP_Base_Embed_Handler {
39
  'id' => $post ? $post->ID : 0,
40
  'include' => '',
41
  'exclude' => '',
42
- 'size' => array( $this->args['width'], $this->args['height'] ),
 
 
43
  ), $attr, 'gallery' );
44
 
45
  $id = intval( $atts['id'] );
@@ -146,8 +148,8 @@ class AMP_Gallery_Embed_Handler extends AMP_Base_Embed_Handler {
146
  'image-with-caption-html'=>'',
147
  'image-without-caption-html' =>'{{main_images}}',
148
  'gallery_css' => '
149
- .wrapper{display:inline-block;width:100%;clear:both;}
150
- .wrapper amp-img{height:134px;width:200px;position: relative;float:left;margin: 0px 30px 30px 0px;}
151
  .cls-btn{background:#0d0d0d;border:none;position: absolute;right: 10px;}
152
  .cls-btn:after{content:"X";display:inline-block;color:#fff;font-size:20px;padding:20px;}
153
  ',
@@ -155,7 +157,6 @@ class AMP_Gallery_Embed_Handler extends AMP_Base_Embed_Handler {
155
  ),
156
  );
157
 
158
-
159
  $carousel_markup_all = apply_filters("ampforwp_manage_gallery_markup", $carousel_markup_all);
160
  //Default markup
161
  $markup = $carousel_markup_all[1];
@@ -163,9 +164,7 @@ class AMP_Gallery_Embed_Handler extends AMP_Base_Embed_Handler {
163
  if( isset($redux_builder_amp['ampforwp-gallery-design-type']) && isset($carousel_markup_all[$redux_builder_amp['ampforwp-gallery-design-type'] ] ) ){
164
  $markup = $carousel_markup_all[$redux_builder_amp['ampforwp-gallery-design-type']];
165
  }
166
- /*Filter*/
167
 
168
-
169
  $amp_images = array();
170
  foreach ( $args['images'] as $key => $image ) {
171
  $amp_img_arr = array(
@@ -192,35 +191,55 @@ class AMP_Gallery_Embed_Handler extends AMP_Base_Embed_Handler {
192
  $amp_img_arr
193
  );
194
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
195
  //Image markups loading
196
  $returnHtml = '';
197
  //Check if the attachment has caption or not
198
  if(isset($image['caption']) && $image['caption'] != '' && isset($markup['image-with-caption-html']) && $markup['image-with-caption-html'] != ''){
199
  // To enable the carousel magic
200
- //add_action('ampforwp_after_header','ampforwp_carousel_class_magic', 999, 1);
201
- add_filter('ampforwp_modify_the_content','ampforwp_carousel_class_magic');
202
- //add_action('below_the_header_design_1','ampforwp_carousel_class_magic', 999, 1);
203
  $caption = $image['caption'];
204
  // Append the caption with image
205
  $returnHtml = isset($markup['image-with-caption-html'])? $markup['image-with-caption-html']:'';
206
  $returnHtml = str_replace('{{main_images}}', $amp_images[$key] , $returnHtml);
207
  $returnHtml = str_replace('{{main_images_caption}}', wp_kses_data( $caption ), $returnHtml);
 
 
 
208
  }
209
  elseif( isset($markup['image-without-caption-html']) ){
210
  // If there is no caption
211
  $returnHtml = isset($markup['image-without-caption-html'])? $markup['image-without-caption-html'] :'';
212
  $returnHtml = str_replace('{{main_images}}', $amp_images[$key] , $returnHtml);
213
  }
214
-
215
 
216
  $images[$key] = apply_filters('amp_gallery_images', $returnHtml, $image, $markup);
217
  }// foreach Closed
218
 
219
-
220
-
221
  //replacements
222
  $r = rand(1,100);
223
- $amp_carousel = AMP_HTML_Utils::build_tag(
224
  'amp-carousel',
225
  array(
226
  'width' => $this->args['width'],
@@ -232,7 +251,7 @@ class AMP_Gallery_Embed_Handler extends AMP_Base_Embed_Handler {
232
  ),
233
  implode( PHP_EOL, $images ));
234
 
235
- $amp_carousel_with_thumbnail_nav = apply_filters('amp_thumbnail_images', $amp_images, $r, $markup);
236
  $amp_carousel_thumbnail ='';
237
  if(!empty($amp_carousel_with_thumbnail_nav)){
238
  $amp_carousel_thumbnail = AMP_HTML_Utils::build_tag(
@@ -248,7 +267,6 @@ class AMP_Gallery_Embed_Handler extends AMP_Base_Embed_Handler {
248
 
249
  }
250
  $amp_carousel_thumbnail = apply_filters('amp_gallery_markup', $amp_carousel_thumbnail);
251
-
252
  $returnCompleteHtml = $markup['main-html'];
253
  //last changes
254
  $returnCompleteHtml = str_replace('{{with_carousel}}', $amp_carousel, $returnCompleteHtml);
@@ -259,18 +277,15 @@ class AMP_Gallery_Embed_Handler extends AMP_Base_Embed_Handler {
259
  }
260
  }// Class closed
261
 
262
-
263
  // Add Caption in the Gallery Image
264
  add_filter('amp_gallery_images','ampforwp_new_gallery_images', 10, 3);
265
  function ampforwp_new_gallery_images($images_markup, $image, $markup_arr){
266
  add_action('amp_post_template_css', 'ampforwp_additional_gallery_style');
267
  add_filter('amp_post_template_data','ampforwp_carousel_bind_script');
 
268
  return $images_markup;
269
  }
270
 
271
-
272
-
273
-
274
  if( ! function_exists( 'ampforwp_additional_gallery_style' ) ){
275
  function ampforwp_additional_gallery_style(){
276
  global $redux_builder_amp,$carousel_markup_all;
@@ -319,4 +334,43 @@ function ampforwp_new_thumbnail_images($amp_images, $uniqueid, $markup_arr){
319
  $amp_thumb_image_buttons[$key] = $returnHtml;
320
  }
321
  return $amp_thumb_image_buttons;
322
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  'id' => $post ? $post->ID : 0,
40
  'include' => '',
41
  'exclude' => '',
42
+ //'size' => array( $this->args['width'], $this->args['height'] ),
43
+ //'size' => isset($attr['size'])? $attr['size']:'thumbnail',
44
+ 'size' => 'large'
45
  ), $attr, 'gallery' );
46
 
47
  $id = intval( $atts['id'] );
148
  'image-with-caption-html'=>'',
149
  'image-without-caption-html' =>'{{main_images}}',
150
  'gallery_css' => '
151
+ .gal_w{display:inline-block;width:100%}
152
+ .gal_w amp-img{background:#f1f1f1;height:134px;width:150px;position: relative;float:left;margin:10px;}
153
  .cls-btn{background:#0d0d0d;border:none;position: absolute;right: 10px;}
154
  .cls-btn:after{content:"X";display:inline-block;color:#fff;font-size:20px;padding:20px;}
155
  ',
157
  ),
158
  );
159
 
 
160
  $carousel_markup_all = apply_filters("ampforwp_manage_gallery_markup", $carousel_markup_all);
161
  //Default markup
162
  $markup = $carousel_markup_all[1];
164
  if( isset($redux_builder_amp['ampforwp-gallery-design-type']) && isset($carousel_markup_all[$redux_builder_amp['ampforwp-gallery-design-type'] ] ) ){
165
  $markup = $carousel_markup_all[$redux_builder_amp['ampforwp-gallery-design-type']];
166
  }
 
167
 
 
168
  $amp_images = array();
169
  foreach ( $args['images'] as $key => $image ) {
170
  $amp_img_arr = array(
191
  $amp_img_arr
192
  );
193
 
194
+ //Small Thumbnail Images
195
+ $thumb_url = ampforwp_aq_resize( $image['url'], 120, 60, true, false ); //resize & crop the image
196
+ if($thumb_url!=false){
197
+ $smallimage = $thumb_url[0];
198
+ $smallwidth = $thumb_url[1];
199
+ $smallheight = $thumb_url[2];
200
+ }else{
201
+ $smallimage = $image['url'];
202
+ $smallwidth = $image['width'];
203
+ $smallheight = $image['height'];
204
+ }
205
+
206
+ $amp_images_small[$key] = AMP_HTML_Utils::build_tag(
207
+ 'amp-img',
208
+ array(
209
+ 'src' => $smallimage,
210
+ 'width' => $smallwidth,
211
+ 'height' => $smallheight,
212
+ 'layout' => 'fill',
213
+ 'class' => 'amp-carousel-img',
214
+ )
215
+ );
216
+
217
  //Image markups loading
218
  $returnHtml = '';
219
  //Check if the attachment has caption or not
220
  if(isset($image['caption']) && $image['caption'] != '' && isset($markup['image-with-caption-html']) && $markup['image-with-caption-html'] != ''){
221
  // To enable the carousel magic
 
 
 
222
  $caption = $image['caption'];
223
  // Append the caption with image
224
  $returnHtml = isset($markup['image-with-caption-html'])? $markup['image-with-caption-html']:'';
225
  $returnHtml = str_replace('{{main_images}}', $amp_images[$key] , $returnHtml);
226
  $returnHtml = str_replace('{{main_images_caption}}', wp_kses_data( $caption ), $returnHtml);
227
+ // Replace the openbrack with [ and closebrack with ]
228
+ $returnHtml = str_replace('{{openbrack}}', '[', $returnHtml);
229
+ $returnHtml = str_replace('{{closebrack}}', ']', $returnHtml);
230
  }
231
  elseif( isset($markup['image-without-caption-html']) ){
232
  // If there is no caption
233
  $returnHtml = isset($markup['image-without-caption-html'])? $markup['image-without-caption-html'] :'';
234
  $returnHtml = str_replace('{{main_images}}', $amp_images[$key] , $returnHtml);
235
  }
 
236
 
237
  $images[$key] = apply_filters('amp_gallery_images', $returnHtml, $image, $markup);
238
  }// foreach Closed
239
 
 
 
240
  //replacements
241
  $r = rand(1,100);
242
+ $amp_carousel = AMP_HTML_Utils::build_tag(
243
  'amp-carousel',
244
  array(
245
  'width' => $this->args['width'],
251
  ),
252
  implode( PHP_EOL, $images ));
253
 
254
+ $amp_carousel_with_thumbnail_nav = apply_filters('amp_thumbnail_images', $amp_images_small, $r, $markup);
255
  $amp_carousel_thumbnail ='';
256
  if(!empty($amp_carousel_with_thumbnail_nav)){
257
  $amp_carousel_thumbnail = AMP_HTML_Utils::build_tag(
267
 
268
  }
269
  $amp_carousel_thumbnail = apply_filters('amp_gallery_markup', $amp_carousel_thumbnail);
 
270
  $returnCompleteHtml = $markup['main-html'];
271
  //last changes
272
  $returnCompleteHtml = str_replace('{{with_carousel}}', $amp_carousel, $returnCompleteHtml);
277
  }
278
  }// Class closed
279
 
 
280
  // Add Caption in the Gallery Image
281
  add_filter('amp_gallery_images','ampforwp_new_gallery_images', 10, 3);
282
  function ampforwp_new_gallery_images($images_markup, $image, $markup_arr){
283
  add_action('amp_post_template_css', 'ampforwp_additional_gallery_style');
284
  add_filter('amp_post_template_data','ampforwp_carousel_bind_script');
285
+ add_action('amp_post_template_css', 'ampforwp_additional_style_carousel_caption');
286
  return $images_markup;
287
  }
288
 
 
 
 
289
  if( ! function_exists( 'ampforwp_additional_gallery_style' ) ){
290
  function ampforwp_additional_gallery_style(){
291
  global $redux_builder_amp,$carousel_markup_all;
334
  $amp_thumb_image_buttons[$key] = $returnHtml;
335
  }
336
  return $amp_thumb_image_buttons;
337
+ }
338
+
339
+ if( ! function_exists( 'ampforwp_additional_style_carousel_caption' ) ){
340
+ function ampforwp_additional_style_carousel_caption(){ ?>
341
+ .collapsible-captions {--caption-height: 32px; --image-height: 100%; --caption-padding:1rem; --button-size: 28px; --caption-color: #f5f5f5;; --caption-bg-color: #111;}
342
+ .collapsible-captions * {
343
+ -webkit-tap-highlight-color: rgba(255, 255, 255, 0);
344
+ box-sizing: border-box;
345
+ }
346
+ .collapsible-captions .amp-carousel-container {position: relative; width: 100%;}
347
+ .collapsible-captions amp-img img {object-fit: contain; }
348
+ .collapsible-captions figure { margin: 0; padding: 0; }
349
+ .collapsible-captions figcaption { position: absolute; bottom: 0;width: 100%;
350
+ max-height: var(--caption-height);margin-bottom:0;
351
+ line-height: var(--caption-height);
352
+ padding: 0 var(--button-size) 0 5px;
353
+ white-space: nowrap;
354
+ overflow: hidden;
355
+ text-overflow: ellipsis;
356
+ transition: max-height 200ms cubic-bezier(0.4, 0, 0.2, 1);
357
+ z-index: 1000;
358
+ color: var(--caption-color);
359
+ background: rgba(0, 0, 0, 0.6);
360
+ }
361
+ .collapsible-captions figcaption.expanded {
362
+ line-height: inherit;
363
+ white-space: normal;
364
+ text-overflow: auto;
365
+ max-height: 100px;
366
+ overflow: auto;
367
+ }
368
+ .collapsible-captions figcaption:focus { outline: none; border: none; }
369
+ .collapsible-captions figcaption span { display: block; position: absolute;
370
+ top: calc((var(--caption-height) - var(--button-size)) / 2);
371
+ right: 2px; width: var(--button-size); height: var(--button-size);
372
+ line-height: var(--button-size); text-align: center; font-size: 12px; color: inherit;
373
+ cursor: pointer; }
374
+ figcaption{ margin-bottom: 20px; }
375
+ <?php }
376
+ }
includes/vendor/amp/includes/sanitizers/class-amp-blacklist-sanitizer.php CHANGED
@@ -38,7 +38,7 @@ class AMP_Blacklist_Sanitizer extends AMP_Base_Sanitizer {
38
 
39
  $node_name = $node->nodeName;
40
 
41
- if($node->nodeName=='a' ){
42
  $href = $node->getAttribute('href');
43
  if ( $href ){
44
  $node->setAttribute('href',ampforwp_findInternalUrl($href));
38
 
39
  $node_name = $node->nodeName;
40
 
41
+ if($node->nodeName=='a' && $node->hasAttribute('href')){
42
  $href = $node->getAttribute('href');
43
  if ( $href ){
44
  $node->setAttribute('href',ampforwp_findInternalUrl($href));
includes/vendor/amp/includes/sanitizers/class-amp-style-sanitizer.php CHANGED
@@ -25,15 +25,16 @@ class AMP_Style_Sanitizer extends AMP_Base_Sanitizer {
25
  if ( $node->hasAttributes() && $node instanceof DOMElement ) {
26
  $style = $node->getAttribute( 'style' );
27
  $class = $node->getAttribute( 'class' );
 
28
 
29
  if ( $style ) {
30
  $style = $this->process_style( $style );
31
  if ( ! empty( $style ) ) {
32
  $class_name = $this->generate_class_name( $style );
33
  $new_class = trim( $class . ' ' . $class_name );
34
-
35
  $node->setAttribute( 'class', $new_class );
36
- $this->styles[ '.' . $class_name ] = $style;
37
  }
38
 
39
  $node->removeAttribute( 'style' );
25
  if ( $node->hasAttributes() && $node instanceof DOMElement ) {
26
  $style = $node->getAttribute( 'style' );
27
  $class = $node->getAttribute( 'class' );
28
+ $tagName = $node->tagName;
29
 
30
  if ( $style ) {
31
  $style = $this->process_style( $style );
32
  if ( ! empty( $style ) ) {
33
  $class_name = $this->generate_class_name( $style );
34
  $new_class = trim( $class . ' ' . $class_name );
35
+ $selector = $tagName.'.' . $class_name;
36
  $node->setAttribute( 'class', $new_class );
37
+ $this->styles[ $selector ] = $style;
38
  }
39
 
40
  $node->removeAttribute( 'style' );
includes/vendor/vendor-changelog.txt CHANGED
@@ -57,4 +57,6 @@ Reason: To extend the functionality of sidebars and Pagebuilder
57
  30. FTP protocol has been whitelisted in anchor tags #2477
58
  31. Class AMP_Img_Sanitizer Updated #2748
59
  32. Widgets folder added in Vendor amp/includes #1400
60
- 33. Class AMP_Blacklist_Sanitizer updated #2835
 
 
57
  30. FTP protocol has been whitelisted in anchor tags #2477
58
  31. Class AMP_Img_Sanitizer Updated #2748
59
  32. Widgets folder added in Vendor amp/includes #1400
60
+ 33. Class AMP_Blacklist_Sanitizer updated #2835
61
+ 34. class-amp-style-sanitizer.php updated #2745
62
+ 35. Class AMP_Blacklist_Sanitizer updated for inernal links #2391
pagebuilder/config/moduleTemplate.php CHANGED
@@ -55,7 +55,7 @@ if(!function_exists("ampforwp_module_templates")){
55
  }//If Fucntion check closed
56
 
57
  //Row Contents
58
- $output = '<section class="ap_m {{row_class}} {{grid_type}} {{if_condition_check_for_slant==1}}slant_clr{{ifend_condition_check_for_slant_1}}">
59
  {{if_condition_background_type==video}}
60
  <div class="amp_video">
61
  <div class="amp-txt">
@@ -232,6 +232,14 @@ $containerCommonSettings = array(
232
  'default' =>'',
233
  'content_type'=>'html',
234
  ),
 
 
 
 
 
 
 
 
235
 
236
  array(
237
  'type' =>'text',
55
  }//If Fucntion check closed
56
 
57
  //Row Contents
58
+ $output = '<section {{if_row_id}}id={{row_id}}{{ifend_row_id}} class="ap_m {{row_class}} {{grid_type}} {{if_condition_check_for_slant==1}}slant_clr{{ifend_condition_check_for_slant_1}}">
59
  {{if_condition_background_type==video}}
60
  <div class="amp_video">
61
  <div class="amp-txt">
232
  'default' =>'',
233
  'content_type'=>'html',
234
  ),
235
+ array(
236
+ 'type' =>'text',
237
+ 'name' =>'row_id',
238
+ 'label' =>esc_html__('Row ID', 'accelerated-mobile-pages'),
239
+ 'tab' =>'container_css',
240
+ 'default' =>'',
241
+ 'content_type'=>'html',
242
+ ),
243
 
244
  array(
245
  'type' =>'text',
pagebuilder/modules/accordion-mod-module.php CHANGED
@@ -12,7 +12,7 @@ function ampforwp_framework_pagebuilder_accordions_scripts( $data ) {
12
  return $data;
13
  }
14
  $output =
15
- '<amp-accordion>{{repeater}}</amp-accordion>';
16
  $css = '
17
  .accordion-mod{margin:{{margin_css}};padding:{{padding_css}};}
18
  amp-accordion section[expanded] .show-more {display: none;}
@@ -41,6 +41,22 @@ return array(
41
  'default' =>'#555555',
42
  'content_type'=>'css'
43
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  array(
45
  'type' =>'spacing',
46
  'name' =>"margin_css",
12
  return $data;
13
  }
14
  $output =
15
+ '<amp-accordion {{if_id}}id="{{id}}"{{ifend_id}} {{if_user_class}}class="{{user_class}}{{ifend_user_class}}">{{repeater}}</amp-accordion>';
16
  $css = '
17
  .accordion-mod{margin:{{margin_css}};padding:{{padding_css}};}
18
  amp-accordion section[expanded] .show-more {display: none;}
41
  'default' =>'#555555',
42
  'content_type'=>'css'
43
  ),
44
+ array(
45
+ 'type' =>'text',
46
+ 'name' =>"id",
47
+ 'label' =>'ID',
48
+ 'tab' =>'advanced',
49
+ 'default' =>'',
50
+ 'content_type'=>'html'
51
+ ),
52
+ array(
53
+ 'type' =>'text',
54
+ 'name' =>"user_class",
55
+ 'label' =>'Class',
56
+ 'tab' =>'advanced',
57
+ 'default' =>'',
58
+ 'content_type'=>'html'
59
+ ),
60
  array(
61
  'type' =>'spacing',
62
  'name' =>"margin_css",
pagebuilder/modules/adsense-ad-module.php CHANGED
@@ -1,7 +1,8 @@
1
  <?php
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
- $output = '<amp-ad class="amp-ad-1"
 
5
  type="adsense"
6
  {{if_condition_ad_size_option==300x250}}width="300"{{ifend_condition_ad_size_option_300x250}}
7
  {{if_condition_ad_size_option==336x280}}width="336"{{ifend_condition_ad_size_option_336x280}}
@@ -30,6 +31,10 @@ $css ='';
30
  return array(
31
  'label' =>'Advertisement',
32
  'name' =>'adsense-ad',
 
 
 
 
33
  'default_tab'=> 'customizer',
34
  'fields' => array(
35
  array(
@@ -68,6 +73,22 @@ return array(
68
  'helpmessage' => 'e.g. 896xxxxx12',
69
  'content_type' => 'html',
70
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  ),
72
  'front_template'=> $output,
73
  'front_css'=> $css,
1
  <?php
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
+
5
+ $output = '<amp-ad {{if_id}}id="{{id}}"{{ifend_id}} class="amp-ad-1 {{user_class}}"
6
  type="adsense"
7
  {{if_condition_ad_size_option==300x250}}width="300"{{ifend_condition_ad_size_option_300x250}}
8
  {{if_condition_ad_size_option==336x280}}width="336"{{ifend_condition_ad_size_option_336x280}}
31
  return array(
32
  'label' =>'Advertisement',
33
  'name' =>'adsense-ad',
34
+ 'tabs' => array(
35
+ 'customizer'=>'Content',
36
+ 'advanced' => 'Advanced'
37
+ ),
38
  'default_tab'=> 'customizer',
39
  'fields' => array(
40
  array(
73
  'helpmessage' => 'e.g. 896xxxxx12',
74
  'content_type' => 'html',
75
  ),
76
+ array(
77
+ 'type' =>'text',
78
+ 'name' =>"id",
79
+ 'label' =>'ID',
80
+ 'tab' =>'advanced',
81
+ 'default' =>'',
82
+ 'content_type'=>'html'
83
+ ),
84
+ array(
85
+ 'type' =>'text',
86
+ 'name' =>"user_class",
87
+ 'label' =>'Class',
88
+ 'tab' =>'advanced',
89
+ 'default' =>'',
90
+ 'content_type'=>'html'
91
+ ),
92
  ),
93
  'front_template'=> $output,
94
  'front_css'=> $css,
pagebuilder/modules/blurb-mod-module.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
- $output = '<div class="ln-fx">{{repeater}}</div>';
5
  $css = '
6
  {{if_condition_blurb_layout_type==1}}
7
  {{module-class}} .ln-fx{width:100%;display:flex; flex-wrap:wrap;margin:{{margin_css}};padding:{{padding_css}};}
@@ -56,7 +56,7 @@ $css = '
56
  }
57
 
58
 
59
- ';
60
  global $redux_builder_amp;
61
  if(ampforwp_get_setting('amp-rtl-select-option')){
62
  $css .= '/** RTL CSS **/
@@ -81,9 +81,9 @@ return array(
81
  'default_tab'=> 'customizer',
82
  'tabs' => array(
83
  'customizer'=>'Content',
 
84
  'design'=>'Design',
85
- 'advanced' => 'Advanced',
86
- 'layout' => 'Layout'
87
  ),
88
  'fields' => array(
89
  array(
@@ -297,19 +297,35 @@ return array(
297
  ),
298
  'content_type'=>'css',
299
  ),
300
- array(
301
- 'type' =>'spacing',
302
- 'name' =>"padding_gpg",
303
- 'label' =>'Padding',
304
- 'tab' =>'design',
305
- 'default' =>array(
306
- 'left'=>'30px',
307
- 'right'=>'30px',
308
- 'top'=>'50px',
309
- 'bottom'=>'50px'
310
- ),
311
- 'content_type'=>'css',
312
- ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
313
  array(
314
  'type' =>'spacing',
315
  'name' =>"margin_css",
1
  <?php
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
+ $output = '<div {{if_id}}id="{{id}}"{{ifend_id}} class="ln-fx {{if_user_class}}{{user_class}}{{ifend_user_class}}">{{repeater}}</div>';
5
  $css = '
6
  {{if_condition_blurb_layout_type==1}}
7
  {{module-class}} .ln-fx{width:100%;display:flex; flex-wrap:wrap;margin:{{margin_css}};padding:{{padding_css}};}
56
  }
57
 
58
 
59
+ ';
60
  global $redux_builder_amp;
61
  if(ampforwp_get_setting('amp-rtl-select-option')){
62
  $css .= '/** RTL CSS **/
81
  'default_tab'=> 'customizer',
82
  'tabs' => array(
83
  'customizer'=>'Content',
84
+ 'layout' => 'Layout',
85
  'design'=>'Design',
86
+ 'advanced' => 'Advanced'
 
87
  ),
88
  'fields' => array(
89
  array(
297
  ),
298
  'content_type'=>'css',
299
  ),
300
+ array(
301
+ 'type' =>'spacing',
302
+ 'name' =>"padding_gpg",
303
+ 'label' =>'Padding',
304
+ 'tab' =>'design',
305
+ 'default' =>array(
306
+ 'left'=>'30px',
307
+ 'right'=>'30px',
308
+ 'top'=>'50px',
309
+ 'bottom'=>'50px'
310
+ ),
311
+ 'content_type'=>'css',
312
+ ),
313
+ array(
314
+ 'type' =>'text',
315
+ 'name' =>"id",
316
+ 'label' =>'ID',
317
+ 'tab' =>'advanced',
318
+ 'default' =>'',
319
+ 'content_type'=>'html'
320
+ ),
321
+ array(
322
+ 'type' =>'text',
323
+ 'name' =>"user_class",
324
+ 'label' =>'Class',
325
+ 'tab' =>'advanced',
326
+ 'default' =>'',
327
+ 'content_type'=>'html'
328
+ ),
329
  array(
330
  'type' =>'spacing',
331
  'name' =>"margin_css",
pagebuilder/modules/blurb-module.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
- $output = '<div class="amp_pb_module amp_blurb {{css_class}}"><img src="{{blurb_image}}" width="{{image_width}}" height="{{image_height}}" layout="responsive"/>
5
  <h4>{{text_title}}</h4>
6
  <p>{{text_description}}</p>
7
  </div>';
@@ -12,7 +12,8 @@ return array(
12
  'default_tab'=> 'customizer',
13
  'tabs' => array(
14
  'customizer'=>'Customizer',
15
- 'container_css'=>'Container css'
 
16
  ),
17
  'fields'=> array(
18
  array(
@@ -46,7 +47,23 @@ return array(
46
  'tab' =>'container_css',
47
  'default' => '',
48
  'content_type'=>'html',
49
- )
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
50
  ),
51
  'front_template'=> $output,
52
  'front_css'=>'',
1
  <?php
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
+ $output = '<div {{if_id}}id="{{id}}"{{ifend_id}} class="amp_pb_module amp_blurb {{css_class}} {{user_class}}"><img src="{{blurb_image}}" width="{{image_width}}" height="{{image_height}}" layout="responsive"/>
5
  <h4>{{text_title}}</h4>
6
  <p>{{text_description}}</p>
7
  </div>';
12
  'default_tab'=> 'customizer',
13
  'tabs' => array(
14
  'customizer'=>'Customizer',
15
+ 'container_css'=>'Container css',
16
+ 'advanced'=> 'Advanced'
17
  ),
18
  'fields'=> array(
19
  array(
47
  'tab' =>'container_css',
48
  'default' => '',
49
  'content_type'=>'html',
50
+ ),
51
+ array(
52
+ 'type' =>'text',
53
+ 'name' =>"id",
54
+ 'label' =>'ID',
55
+ 'tab' =>'advanced',
56
+ 'default' =>'',
57
+ 'content_type'=>'html'
58
+ ),
59
+ array(
60
+ 'type' =>'text',
61
+ 'name' =>"user_class",
62
+ 'label' =>'Class',
63
+ 'tab' =>'advanced',
64
+ 'default' =>'',
65
+ 'content_type'=>'html'
66
+ ),
67
  ),
68
  'front_template'=> $output,
69
  'front_css'=>'',
pagebuilder/modules/button-mod-module.php CHANGED
@@ -1,11 +1,11 @@
1
  <?php
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
- $output = '
5
  <div class="btn"><a href="{{btn_link}}" {{if_condition_page_link_open==new_page}}target="_blank"{{ifend_condition_page_link_open_new_page}} {{if_condition_check_for_nofollow==1}}rel="nofollow"{{ifend_condition_check_for_nofollow_1}} class="btn-txt">{{content_title}}{{if_condition_check_for_icon==1}}<i class="ico-pic icon-{{icon-picker}}"></i>{{ifend_condition_check_for_icon_1}}</a>
6
  {{if_sub_heading}}<span>{{sub_heading}}</span> {{ifend_sub_heading}}</div>
7
  {{if_condition_button_repeat_check==1}}{{repeater}}{{ifend_condition_button_repeat_check_1}}
8
- ';
9
  $css = '
10
  {{module-class}}.button-mod {width:100%;display:inline-block;text-align:{{align_type}};margin:{{margin_css}};padding:{{padding_css}};}
11
  {{module-class}} .btn-txt{
@@ -69,6 +69,7 @@ return array(
69
  'name' =>"btn_link",
70
  'label' =>'URL',
71
  'tab' =>'customizer',
 
72
  'default' =>'#',
73
  'content_type'=>'html',
74
  ),
@@ -339,6 +340,22 @@ return array(
339
  'content_type'=>'css',
340
  'required' => array('check_for_altrbtn'=>'1')
341
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
342
  array(
343
  'type' =>'spacing',
344
  'name' =>"margin_css",
1
  <?php
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
+ $output = '<div {{if_id}}id="{{id}}"{{ifend_id}} class="{{user_class}}">
5
  <div class="btn"><a href="{{btn_link}}" {{if_condition_page_link_open==new_page}}target="_blank"{{ifend_condition_page_link_open_new_page}} {{if_condition_check_for_nofollow==1}}rel="nofollow"{{ifend_condition_check_for_nofollow_1}} class="btn-txt">{{content_title}}{{if_condition_check_for_icon==1}}<i class="ico-pic icon-{{icon-picker}}"></i>{{ifend_condition_check_for_icon_1}}</a>
6
  {{if_sub_heading}}<span>{{sub_heading}}</span> {{ifend_sub_heading}}</div>
7
  {{if_condition_button_repeat_check==1}}{{repeater}}{{ifend_condition_button_repeat_check_1}}
8
+ </div>';
9
  $css = '
10
  {{module-class}}.button-mod {width:100%;display:inline-block;text-align:{{align_type}};margin:{{margin_css}};padding:{{padding_css}};}
11
  {{module-class}} .btn-txt{
69
  'name' =>"btn_link",
70
  'label' =>'URL',
71
  'tab' =>'customizer',
72
+ 'helpmessage' => esc_html__('Enter URL with Valid Protocol(http, https, mailto, sms, tel, viber, whatsapp, ftp)', 'accelerated-mobile-pages'),
73
  'default' =>'#',
74
  'content_type'=>'html',
75
  ),
340
  'content_type'=>'css',
341
  'required' => array('check_for_altrbtn'=>'1')
342
  ),
343
+ array(
344
+ 'type' =>'text',
345
+ 'name' =>"id",
346
+ 'label' =>'ID',
347
+ 'tab' =>'advanced',
348
+ 'default' =>'',
349
+ 'content_type'=>'html'
350
+ ),
351
+ array(
352
+ 'type' =>'text',
353
+ 'name' =>"user_class",
354
+ 'label' =>'Class',
355
+ 'tab' =>'advanced',
356
+ 'default' =>'',
357
+ 'content_type'=>'html'
358
+ ),
359
  array(
360
  'type' =>'spacing',
361
  'name' =>"margin_css",
pagebuilder/modules/contents-module.php CHANGED
@@ -3,8 +3,7 @@
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  require_once ABSPATH . WPINC . '/category.php';
5
  $output = '{{if_condition_content_layout_type==1}}
6
- <div class="pb_mod cat_mod"><h4>{{content_title}}</h4>
7
- <div class="wrap"><ul>{{category_selection}}</ul></div>
8
  </div>
9
  {{ifend_condition_content_layout_type_1}}
10
  ';
@@ -55,9 +54,9 @@ require_once ABSPATH . WPINC . '/category.php';
55
  'default_tab'=> 'customizer',
56
  'tabs' => array(
57
  'customizer'=>'Content',
 
58
  'container_css'=>'Design',
59
- 'advanced' => 'Advanced',
60
- 'layout' => 'Layout'
61
  ),
62
  'fields' => array(
63
  array(
@@ -84,6 +83,22 @@ require_once ABSPATH . WPINC . '/category.php';
84
  'default' =>'Category',
85
  'content_type'=>'html',
86
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
87
  array(
88
  'type' =>'spacing',
89
  'name' =>"margin_css",
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  require_once ABSPATH . WPINC . '/category.php';
5
  $output = '{{if_condition_content_layout_type==1}}
6
+ <div {{if_id}}id="{{id}}"{{ifend_id}} class="pb_mod cat_mod {{user_class}}"><h4>{{content_title}}</h4>
 
7
  </div>
8
  {{ifend_condition_content_layout_type_1}}
9
  ';
54
  'default_tab'=> 'customizer',
55
  'tabs' => array(
56
  'customizer'=>'Content',
57
+ 'layout' => 'Layout',
58
  'container_css'=>'Design',
59
+ 'advanced' => 'Advanced'
 
60
  ),
61
  'fields' => array(
62
  array(
83
  'default' =>'Category',
84
  'content_type'=>'html',
85
  ),
86
+ array(
87
+ 'type' =>'text',
88
+ 'name' =>"id",
89
+ 'label' =>'ID',
90
+ 'tab' =>'advanced',
91
+ 'default' =>'',
92
+ 'content_type'=>'html'
93
+ ),
94
+ array(
95
+ 'type' =>'text',
96
+ 'name' =>"user_class",
97
+ 'label' =>'Class',
98
+ 'tab' =>'advanced',
99
+ 'default' =>'',
100
+ 'content_type'=>'html'
101
+ ),
102
  array(
103
  'type' =>'spacing',
104
  'name' =>"margin_css",
pagebuilder/modules/counter-mod-module.php CHANGED
@@ -2,7 +2,7 @@
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
- <div class="ln-fx">{{repeater}}</div>';
6
  $css = '
7
  {{module-class}}.counter-mod{
8
  margin:{{margin_css}};
@@ -127,6 +127,22 @@ return array(
127
  'default' =>'#333',
128
  'content_type'=>'css'
129
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
130
  array(
131
  'type' =>'spacing',
132
  'name' =>"margin_css",
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
+ <div {{if_id}}id="{{id}}"{{ifend_id}} class="ln-fx {{user_class}}">{{repeater}}</div>';
6
  $css = '
7
  {{module-class}}.counter-mod{
8
  margin:{{margin_css}};
127
  'default' =>'#333',
128
  'content_type'=>'css'
129
  ),
130
+ array(
131
+ 'type' =>'text',
132
+ 'name' =>"id",
133
+ 'label' =>'ID',
134
+ 'tab' =>'advanced',
135
+ 'default' =>'',
136
+ 'content_type'=>'html'
137
+ ),
138
+ array(
139
+ 'type' =>'text',
140
+ 'name' =>"user_class",
141
+ 'label' =>'Class',
142
+ 'tab' =>'advanced',
143
+ 'default' =>'',
144
+ 'content_type'=>'html'
145
+ ),
146
  array(
147
  'type' =>'spacing',
148
  'name' =>"margin_css",
pagebuilder/modules/cta-mod-module.php CHANGED
@@ -2,7 +2,7 @@
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
- <div class="cta-tlt">
6
  <h2>{{content_title}}</h2>
7
  </div>
8
  <div class="cta-btn">
@@ -143,6 +143,22 @@ return array(
143
  'default' =>' ',
144
  'content_type'=>'html',
145
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  array(
147
  'type' =>'spacing',
148
  'name' =>"margin_css",
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
+ <div {{if_id}}id="{{id}}"{{ifend_id}} class="cta-tlt {{user_class}}">
6
  <h2>{{content_title}}</h2>
7
  </div>
8
  <div class="cta-btn">
143
  'default' =>' ',
144
  'content_type'=>'html',
145
  ),
146
+ array(
147
+ 'type' =>'text',
148
+ 'name' =>"id",
149
+ 'label' =>'ID',
150
+ 'tab' =>'advanced',
151
+ 'default' =>'',
152
+ 'content_type'=>'html'
153
+ ),
154
+ array(
155
+ 'type' =>'text',
156
+ 'name' =>"user_class",
157
+ 'label' =>'Class',
158
+ 'tab' =>'advanced',
159
+ 'default' =>'',
160
+ 'content_type'=>'html'
161
+ ),
162
  array(
163
  'type' =>'spacing',
164
  'name' =>"margin_css",
pagebuilder/modules/feature-mod-module.php CHANGED
@@ -2,7 +2,7 @@
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
- <div class="ln-fx">{{repeater}}</div>';
6
  $css = '
7
  .feature-mod{margin:{{margin_css}};padding:{{padding_css}};}
8
  {{if_condition_feature_layout_type==1}}
@@ -38,9 +38,9 @@ return array(
38
  'default_tab'=> 'customizer',
39
  'tabs' => array(
40
  'customizer'=>'Content',
 
41
  'design'=>'Design',
42
- 'advanced' => 'Advanced',
43
- 'layouts'=> 'Layouts'
44
  ),
45
  'fields' => array(
46
  array(
@@ -181,6 +181,22 @@ return array(
181
  'content_type'=>'css',
182
  'required' => array('feature_layout_type'=> 1)
183
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
  array(
185
  'type' =>'spacing',
186
  'name' =>"margin_css",
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
+ <div {{if_id}}id="{{id}}"{{ifend_id}} class="ln-fx {{user_class}}">{{repeater}}</div>';
6
  $css = '
7
  .feature-mod{margin:{{margin_css}};padding:{{padding_css}};}
8
  {{if_condition_feature_layout_type==1}}
38
  'default_tab'=> 'customizer',
39
  'tabs' => array(
40
  'customizer'=>'Content',
41
+ 'layouts'=> 'Layouts',
42
  'design'=>'Design',
43
+ 'advanced' => 'Advanced'
 
44
  ),
45
  'fields' => array(
46
  array(
181
  'content_type'=>'css',
182
  'required' => array('feature_layout_type'=> 1)
183
  ),
184
+ array(
185
+ 'type' =>'text',
186
+ 'name' =>"id",
187
+ 'label' =>'ID',
188
+ 'tab' =>'advanced',
189
+ 'default' =>'',
190
+ 'content_type'=>'html'
191
+ ),
192
+ array(
193
+ 'type' =>'text',
194
+ 'name' =>"user_class",
195
+ 'label' =>'Class',
196
+ 'tab' =>'advanced',
197
+ 'default' =>'',
198
+ 'content_type'=>'html'
199
+ ),
200
  array(
201
  'type' =>'spacing',
202
  'name' =>"margin_css",
pagebuilder/modules/gallery-module.php CHANGED
@@ -2,7 +2,7 @@
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output =
5
- '<div class="amp-gallery-mod">
6
  <div class="amp_gallery_wrapper">{{repeater}}</div>
7
  </div>
8
  ';
@@ -41,7 +41,23 @@ return array(
41
  'left' =>'Left',
42
  'right' =>'Right', ),
43
  'content_type'=>'css',
44
- ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  array(
46
  'type' =>'spacing',
47
  'name' =>"margin_css",
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output =
5
+ '<div {{if_id}}id="{{id}}"{{ifend_id}} class="amp-gallery-mod {{user_class}}">
6
  <div class="amp_gallery_wrapper">{{repeater}}</div>
7
  </div>
8
  ';
41
  'left' =>'Left',
42
  'right' =>'Right', ),
43
  'content_type'=>'css',
44
+ ),
45
+ array(
46
+ 'type' =>'text',
47
+ 'name' =>"id",
48
+ 'label' =>'ID',
49
+ 'tab' =>'advanced',
50
+ 'default' =>'',
51
+ 'content_type'=>'html'
52
+ ),
53
+ array(
54
+ 'type' =>'text',
55
+ 'name' =>"user_class",
56
+ 'label' =>'Class',
57
+ 'tab' =>'advanced',
58
+ 'default' =>'',
59
+ 'content_type'=>'html'
60
+ ),
61
  array(
62
  'type' =>'spacing',
63
  'name' =>"margin_css",
pagebuilder/modules/heading-module.php CHANGED
@@ -1,7 +1,7 @@
1
  <?php
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
- $output = '<{{header_type}} class="h-txt">{{content_title}}</{{header_type}}>';
5
  $css = '
6
  {{module-class}}{width:100%;text-align:{{align_type}};margin:{{margin_css}};padding:{{padding_css}};}
7
  {{module-class}} .h-txt{font-size:{{text-size}};color:{{font_color_picker}};letter-spacing:{{letter-spacing}};font-weight:{{font_type}};line-height:{{line-height}};}
@@ -99,8 +99,24 @@ return array(
99
  'left' =>'Left',
100
  'right' =>'Right', ),
101
  'content_type'=>'css',
102
- ),
103
- array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
104
  'type' =>'spacing',
105
  'name' =>"margin_css",
106
  'label' =>'Margin',
1
  <?php
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
+ $output = '<{{header_type}} {{if_id}}id="{{id}}"{{ifend_id}} class="h-txt {{user_class}}">{{content_title}}</{{header_type}}>';
5
  $css = '
6
  {{module-class}}{width:100%;text-align:{{align_type}};margin:{{margin_css}};padding:{{padding_css}};}
7
  {{module-class}} .h-txt{font-size:{{text-size}};color:{{font_color_picker}};letter-spacing:{{letter-spacing}};font-weight:{{font_type}};line-height:{{line-height}};}
99
  'left' =>'Left',
100
  'right' =>'Right', ),
101
  'content_type'=>'css',
102
+ ),
103
+ array(
104
+ 'type' =>'text',
105
+ 'name' =>"id",
106
+ 'label' =>'ID',
107
+ 'tab' =>'advanced',
108
+ 'default' =>'',
109
+ 'content_type'=>'html'
110
+ ),
111
+ array(
112
+ 'type' =>'text',
113
+ 'name' =>"user_class",
114
+ 'label' =>'Class',
115
+ 'tab' =>'advanced',
116
+ 'default' =>'',
117
+ 'content_type'=>'html'
118
+ ),
119
+ array(
120
  'type' =>'spacing',
121
  'name' =>"margin_css",
122
  'label' =>'Margin',
pagebuilder/modules/icons-mod-module.php CHANGED
@@ -2,7 +2,7 @@
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
- <div class="ln-fx">{{repeater}}</div>';
6
  $css = '
7
  .icons-mod{margin:{{margin_css}};padding:{{padding_css}};}
8
  .ln-fx{width:100%;display:inline-flex;}
@@ -43,6 +43,22 @@ return array(
43
  'default' =>'#ffffff',
44
  'content_type'=>'css'
45
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
46
  array(
47
  'type' =>'spacing',
48
  'name' =>"margin_css",
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
+ <div {{if_id}}id="{{id}}"{{ifend_id}} class="ln-fx {{user_class}}">{{repeater}}</div>';
6
  $css = '
7
  .icons-mod{margin:{{margin_css}};padding:{{padding_css}};}
8
  .ln-fx{width:100%;display:inline-flex;}
43
  'default' =>'#ffffff',
44
  'content_type'=>'css'
45
  ),
46
+ array(
47
+ 'type' =>'text',
48
+ 'name' =>"id",
49
+ 'label' =>'ID',
50
+ 'tab' =>'advanced',
51
+ 'default' =>'',
52
+ 'content_type'=>'html'
53
+ ),
54
+ array(
55
+ 'type' =>'text',
56
+ 'name' =>"user_class",
57
+ 'label' =>'Class',
58
+ 'tab' =>'advanced',
59
+ 'default' =>'',
60
+ 'content_type'=>'html'
61
+ ),
62
  array(
63
  'type' =>'spacing',
64
  'name' =>"margin_css",
pagebuilder/modules/image-mod-module.php CHANGED
@@ -3,7 +3,7 @@
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
  {{if_condition_img_hyperlink==1}}<a href="{{hyperlink_link_img}}" {{if_condition_img_link_open==new_page}}target="_blank"{{ifend_condition_img_link_open_new_page}}>{{ifend_condition_img_hyperlink_1}}
6
- {{if_img_upload}}<amp-img src="{{img_upload}}" width="{{image_width}}" height="{{image_height}}" {{if_image_layout}}layout="{{image_layout}}"{{ifend_image_layout}} alt="{{image_alt}}"></amp-img>{{ifend_img_upload}}
7
  {{if_condition_img_hyperlink==1}}</a>{{ifend_condition_img_hyperlink_1}}';
8
 
9
  $css = '
@@ -121,8 +121,24 @@ return array(
121
  )
122
  ),
123
  'content_type'=>'html',
124
- ),
125
- array(
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
126
  'type' =>'spacing',
127
  'name' =>"margin_css",
128
  'label' =>'Margin',
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
  {{if_condition_img_hyperlink==1}}<a href="{{hyperlink_link_img}}" {{if_condition_img_link_open==new_page}}target="_blank"{{ifend_condition_img_link_open_new_page}}>{{ifend_condition_img_hyperlink_1}}
6
+ {{if_img_upload}}<amp-img src="{{img_upload}}" {{if_id}}id="{{id}}"{{ifend_id}} width="{{image_width}}" height="{{image_height}}" {{if_image_layout}}layout="{{image_layout}}"{{ifend_image_layout}} alt="{{image_alt}}" class="{{user_class}}"></amp-img>{{ifend_img_upload}}
7
  {{if_condition_img_hyperlink==1}}</a>{{ifend_condition_img_hyperlink_1}}';
8
 
9
  $css = '
121
  )
122
  ),
123
  'content_type'=>'html',
124
+ ),
125
+ array(
126
+ 'type' =>'text',
127
+ 'name' =>"id",
128
+ 'label' =>'ID',
129
+ 'tab' =>'advanced',
130
+ 'default' =>'',
131
+ 'content_type'=>'html'
132
+ ),
133
+ array(
134
+ 'type' =>'text',
135
+ 'name' =>"user_class",
136
+ 'label' =>'Class',
137
+ 'tab' =>'advanced',
138
+ 'default' =>'',
139
+ 'content_type'=>'html'
140
+ ),
141
+ array(
142
  'type' =>'spacing',
143
  'name' =>"margin_css",
144
  'label' =>'Margin',
pagebuilder/modules/list-mod-module.php CHANGED
@@ -2,7 +2,7 @@
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
- {{repeater}}
6
  ';
7
  $css = '
8
  .list-mod{display: flex;flex-direction: column;flex: 1 0 25%;justify-content: space-between;margin:{{margin_css}};}
@@ -60,6 +60,22 @@ return array(
60
  'default' =>'#333',
61
  'content_type'=>'css'
62
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
63
  array(
64
  'type' =>'spacing',
65
  'name' =>"margin_css",
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
+ <div {{if_id}}id="{{id}}"{{ifend_id}} class="{{user_class}}">{{repeater}}</div>
6
  ';
7
  $css = '
8
  .list-mod{display: flex;flex-direction: column;flex: 1 0 25%;justify-content: space-between;margin:{{margin_css}};}
60
  'default' =>'#333',
61
  'content_type'=>'css'
62
  ),
63
+ array(
64
+ 'type' =>'text',
65
+ 'name' =>"id",
66
+ 'label' =>'ID',
67
+ 'tab' =>'advanced',
68
+ 'default' =>'',
69
+ 'content_type'=>'html'
70
+ ),
71
+ array(
72
+ 'type' =>'text',
73
+ 'name' =>"user_class",
74
+ 'label' =>'Class',
75
+ 'tab' =>'advanced',
76
+ 'default' =>'',
77
+ 'content_type'=>'html'
78
+ ),
79
  array(
80
  'type' =>'spacing',
81
  'name' =>"margin_css",
pagebuilder/modules/pricing-mod-module.php CHANGED
@@ -2,7 +2,7 @@
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
- <div class="ln-fx">{{repeater}}</div>';
6
  $css = '
7
  {{if_condition_pricing_layout_type==1}}
8
  .pricing-mod{margin:{{margin_css}};padding:{{padding_css}};}
@@ -31,9 +31,9 @@ return array(
31
  'default_tab'=> 'customizer',
32
  'tabs' => array(
33
  'customizer'=>'Content',
 
34
  'design'=>'Design',
35
- 'advanced' => 'Advanced',
36
- 'layouts'=> 'Layouts'
37
  ),
38
  'fields' => array(
39
  array(
@@ -68,6 +68,22 @@ return array(
68
  'default' =>'#333',
69
  'content_type'=>'css'
70
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
71
  array(
72
  'type' =>'spacing',
73
  'name' =>"margin_css",
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
+ <div {{if_id}}id="{{id}}"{{ifend_id}} class="ln-fx {{user_class}}">{{repeater}}</div>';
6
  $css = '
7
  {{if_condition_pricing_layout_type==1}}
8
  .pricing-mod{margin:{{margin_css}};padding:{{padding_css}};}
31
  'default_tab'=> 'customizer',
32
  'tabs' => array(
33
  'customizer'=>'Content',
34
+ 'layouts'=> 'Layouts',
35
  'design'=>'Design',
36
+ 'advanced' => 'Advanced'
 
37
  ),
38
  'fields' => array(
39
  array(
68
  'default' =>'#333',
69
  'content_type'=>'css'
70
  ),
71
+ array(
72
+ 'type' =>'text',
73
+ 'name' =>"id",
74
+ 'label' =>'ID',
75
+ 'tab' =>'advanced',
76
+ 'default' =>'',
77
+ 'content_type'=>'html'
78
+ ),
79
+ array(
80
+ 'type' =>'text',
81
+ 'name' =>"user_class",
82
+ 'label' =>'Class',
83
+ 'tab' =>'advanced',
84
+ 'default' =>'',
85
+ 'content_type'=>'html'
86
+ ),
87
  array(
88
  'type' =>'spacing',
89
  'name' =>"margin_css",
pagebuilder/modules/slider-mod-module.php CHANGED
@@ -2,6 +2,7 @@
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
 
5
  {{if_condition_carousel_layout_type==1}}
6
  <amp-carousel width="400" height="300" layout="responsive" type="slides" autoplay delay="{{delay}}">
7
  {{repeater_image}}
@@ -111,7 +112,23 @@ return array(
111
  'left' =>'Left',
112
  'right' =>'Right', ),
113
  'content_type'=>'css',
114
- ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
115
  array(
116
  'type' =>'spacing',
117
  'name' =>"margin_css",
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
+ <div {{if_id}}id="{{id}}"{{ifend_id}} class="{{user_class}}">
6
  {{if_condition_carousel_layout_type==1}}
7
  <amp-carousel width="400" height="300" layout="responsive" type="slides" autoplay delay="{{delay}}">
8
  {{repeater_image}}
112
  'left' =>'Left',
113
  'right' =>'Right', ),
114
  'content_type'=>'css',
115
+ ),
116
+ array(
117
+ 'type' =>'text',
118
+ 'name' =>"id",
119
+ 'label' =>'ID',
120
+ 'tab' =>'advanced',
121
+ 'default' =>'',
122
+ 'content_type'=>'html'
123
+ ),
124
+ array(
125
+ 'type' =>'text',
126
+ 'name' =>"user_class",
127
+ 'label' =>'Class',
128
+ 'tab' =>'advanced',
129
+ 'default' =>'',
130
+ 'content_type'=>'html'
131
+ ),
132
  array(
133
  'type' =>'spacing',
134
  'name' =>"margin_css",
pagebuilder/modules/testimonial-mod-module.php CHANGED
@@ -1,8 +1,6 @@
1
  <?php
2
- // Exit if accessed directly.
3
- if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
- <div class="ln-fx">{{repeater}}</div>
6
  ';
7
  $css = '
8
  {{if_condition_testimonial_layout_type==1}}
@@ -42,9 +40,9 @@ return array(
42
  'default_tab'=> 'customizer',
43
  'tabs' => array(
44
  'customizer'=>'Content',
 
45
  'design'=>'Design',
46
- 'advanced' => 'Advanced',
47
- 'layout' => 'Layout'
48
  ),
49
  'fields' => array(
50
  array(
@@ -117,6 +115,22 @@ return array(
117
  'content_type'=>'css',
118
 
119
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
  array(
121
  'type' =>'spacing',
122
  'name' =>"margin_css",
@@ -185,6 +199,7 @@ return array(
185
  'default' =>'Designation',
186
  'content_type'=>'html',
187
  ),
 
188
 
189
  ),
190
  'front_template'=>
1
  <?php
 
 
2
  $output = '
3
+ <div {{if_id}}id="{{id}}"{{ifend_id}} class="ln-fx {{user_class}}">{{repeater}}</div>
4
  ';
5
  $css = '
6
  {{if_condition_testimonial_layout_type==1}}
40
  'default_tab'=> 'customizer',
41
  'tabs' => array(
42
  'customizer'=>'Content',
43
+ 'layout' => 'Layout',
44
  'design'=>'Design',
45
+ 'advanced' => 'Advanced'
 
46
  ),
47
  'fields' => array(
48
  array(
115
  'content_type'=>'css',
116
 
117
  ),
118
+ array(
119
+ 'type' =>'text',
120
+ 'name' =>"id",
121
+ 'label' =>'ID',
122
+ 'tab' =>'advanced',
123
+ 'default' =>'',
124
+ 'content_type'=>'html'
125
+ ),
126
+ array(
127
+ 'type' =>'text',
128
+ 'name' =>"user_class",
129
+ 'label' =>'Class',
130
+ 'tab' =>'advanced',
131
+ 'default' =>'',
132
+ 'content_type'=>'html'
133
+ ),
134
  array(
135
  'type' =>'spacing',
136
  'name' =>"margin_css",
199
  'default' =>'Designation',
200
  'content_type'=>'html',
201
  ),
202
+
203
 
204
  ),
205
  'front_template'=>
pagebuilder/modules/text-mod-module.php CHANGED
@@ -2,7 +2,7 @@
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
- {{content_title}}
6
  ';
7
  $css = '
8
  {{module-class}}.text-mod{width:100%;max-width:{{max-width}};text-align:{{align_type}};margin:{{margin_css}};padding:{{padding_css}};font-size:{{font-size}};
@@ -31,7 +31,22 @@ return array(
31
  'default' =>'Write your content in Text Editor',
32
  'content_type'=>'html',
33
  ),
34
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  array(
36
  'type' =>'text',
37
  'name' =>"font-size",
2
  // Exit if accessed directly.
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
+ <div {{if_id}}id="{{id}}"{{ifend_id}} class="{{user_class}}">{{content_title}}</div>
6
  ';
7
  $css = '
8
  {{module-class}}.text-mod{width:100%;max-width:{{max-width}};text-align:{{align_type}};margin:{{margin_css}};padding:{{padding_css}};font-size:{{font-size}};
31
  'default' =>'Write your content in Text Editor',
32
  'content_type'=>'html',
33
  ),
34
+ array(
35
+ 'type' =>'text',
36
+ 'name' =>"id",
37
+ 'label' =>'ID',
38
+ 'tab' =>'advanced',
39
+ 'default' =>'',
40
+ 'content_type'=>'html'
41
+ ),
42
+ array(
43
+ 'type' =>'text',
44
+ 'name' =>"user_class",
45
+ 'label' =>'Class',
46
+ 'tab' =>'advanced',
47
+ 'default' =>'',
48
+ 'content_type'=>'html'
49
+ ),
50
  array(
51
  'type' =>'text',
52
  'name' =>"font-size",
pagebuilder/modules/video-module.php CHANGED
@@ -3,7 +3,7 @@
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
  {{if_condition_video_option==custom}}
6
- <amp-video width="{{width}}" height="{{height}}" src="{{video_upload_link}}"
7
  layout="responsive"
8
  {{if_condition_custom_video_more_info==1}}poster="{{poster}}"
9
  artist="{{artist}}"
@@ -20,7 +20,7 @@ $output = '
20
  {{ifend_condition_video_option_custom}}
21
 
22
  {{if_condition_video_option==youtube}}
23
- <amp-youtube
24
  data-videoid="{{youtube_video_id}}"
25
  layout="responsive"
26
  width="{{width}}" height="{{height}}"></amp-youtube>
@@ -204,6 +204,22 @@ return array(
204
  'content_type'=>'js',
205
  'required' => array('video_option'=>'embed'),
206
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
207
  ),
208
  'front_template'=> $output,
209
  'front_css'=> $css,
3
  if ( ! defined( 'ABSPATH' ) ) exit;
4
  $output = '
5
  {{if_condition_video_option==custom}}
6
+ <amp-video {{if_id}}id="{{id}}"{{ifend_id}} class="{{user_class}}" width="{{width}}" height="{{height}}" src="{{video_upload_link}}"
7
  layout="responsive"
8
  {{if_condition_custom_video_more_info==1}}poster="{{poster}}"
9
  artist="{{artist}}"
20
  {{ifend_condition_video_option_custom}}
21
 
22
  {{if_condition_video_option==youtube}}
23
+ <amp-youtube {{if_id}}id="{{id}}"{{ifend_id}}
24
  data-videoid="{{youtube_video_id}}"
25
  layout="responsive"
26
  width="{{width}}" height="{{height}}"></amp-youtube>
204
  'content_type'=>'js',
205
  'required' => array('video_option'=>'embed'),
206
  ),
207
+ array(
208
+ 'type' =>'text',
209
+ 'name' =>"id",
210
+ 'label' =>'ID',
211
+ 'tab' =>'advanced',
212
+ 'default' =>'',
213
+ 'content_type'=>'html'
214
+ ),
215
+ array(
216
+ 'type' =>'text',
217
+ 'name' =>"user_class",
218
+ 'label' =>'Class',
219
+ 'tab' =>'advanced',
220
+ 'default' =>'',
221
+ 'content_type'=>'html'
222
+ ),
223
  ),
224
  'front_template'=> $output,
225
  'front_css'=> $css,
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.0.3
7
- Stable tag: 0.9.97.30
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -185,15 +185,17 @@ You can contact us from [here](https://ampforwp.com/contact/)
185
 
186
  == Changelog ==
187
 
188
- = 0.9.97.30 (2nd February 2019) =
189
- * Fixed: Wrong title on the archive pages #2864
190
- * Fixed: data-loading-strategy attribute is double quoted #2863
191
-
192
- = 0.9.97.29 (31st January 2019) =
193
- * Fixed: Validation error due to Search Widget #2858
194
- * Fixed: Issue after upgrading analytics code #2859
195
- * Fixed: amp-animation error in amp theme framework and tech blogging amp theme #2819
196
- * Fixed: Blog title is displaying on Homepage when static front page is selected in All in one SEO & Yoast - code updated #2816
197
- * Fixed: Search Console Crawl Errors ?nonamp=1/ is listed in Access denied #2760
 
 
198
 
199
  Full changelog available in changelog.txt
4
  Donate link: https://www.paypal.me/Kaludi/25
5
  Requires at least: 3.0
6
  Tested up to: 5.0.3
7
+ Stable tag: 0.9.97.31
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
185
 
186
  == Changelog ==
187
 
188
+ = 0.9.97.31 (4th February 2019) =
189
+ * Added: Subtitles plugin Compatibility #2853
190
+ * Added: Created an option for Id's for all the modules and column in AMP Page builder #2730
191
+ * Fixed: All the Images are Adding AMP at the End of their URL #2391
192
+ * Fixed: When nextpage pagination is added, URL in is rendering /2?amp=1 #2767 #2766
193
+ * Fixed: Comments Issues #2755
194
+ * Fixed: The gutenberg button doesn't work in amp #2707
195
+ * Fixed: Button Module color is not getting changed #2745
196
+ * Fixed: Issue with amp menu converting & ASCII code to X #2855
197
+ * Fixed: 'Call Button Color' option not working #2820
198
+ * Fixed: Error: The attribute 'alt' may not appear in tag 'a' #2837
199
+ * Fixed: Captions are not working in Gallery #2576
200
 
201
  Full changelog available in changelog.txt
templates/design-manager/swift/style.php CHANGED
@@ -79,7 +79,14 @@ header .cntr{
79
  <?php } // Sickt CSS Ends ?>
80
  .h_m_w{width:100%;clear:both;display: inline-flex;<?php if($redux_builder_amp['swift-height-control']){?>height:<?php echo $redux_builder_amp['swift-height-control']?>;<?php } ?>}
81
  .h-ic a:after, .h-ic a:before{font-family: 'icomoon';font-size: 23px;<?php if(isset($redux_builder_amp['swift-element-color-control'] ['rgba']) && $redux_builder_amp['swift-element-color-control'] ['rgba']){?>color: <?php echo ampforwp_sanitize_color($redux_builder_amp['swift-element-color-control']['rgba'])?>;<?php } ?>}
 
82
  .h-call a:after{content: "\e0cd";}
 
 
 
 
 
 
83
  .h-shop a:after{align-self: center;}
84
  .h-ic{margin:0px 10px; align-self: center;}
85
  .amp-logo a{line-height:0;display:inline-block;<?php if(isset($redux_builder_amp['swift-element-color-control'] ['rgba']) && $redux_builder_amp['swift-element-color-control'] ['rgba']){?>color:<?php echo ampforwp_sanitize_color($redux_builder_amp['swift-element-color-control']['rgba'])?>;<?php } ?>}
@@ -339,12 +346,13 @@ if( is_page() || ampforwp_is_front_page() || ampforwp_polylang_front_page() ){?>
339
  blockquote{margin-bottom:20px;}
340
  blockquote p {font-size: 34px; line-height: 1.4; font-weight: 700; position: relative; padding: 30px 0 0 0; }
341
  blockquote p:before {content: "";border-top: 8px solid #000;width: 115px;line-height: 40px;display: inline-block;position: absolute;top: 0;}
 
 
 
342
  .amp-comment-button{background-color: <?php echo ampforwp_sanitize_color($redux_builder_amp['swift-color-scheme']['color']) ?>;font-size: 15px;float: none;margin: 30px auto 0px auto;text-align: center;border-radius: 3px;font-weight: 600;width:250px;}
343
  .amp-comment-button .nocomments{color: #fff;display: block;padding: 7px 0px 8px 0px;}
344
  .cmts{width:100%;display:inline-block;clear:both;margin-top:40px;}
345
  .amp-comment-button{background-color: <?php echo ampforwp_sanitize_color($redux_builder_amp['swift-color-scheme']['color']) ?>;font-size: 15px;float: none;margin: 30px auto 0px auto;text-align: center;border-radius: 3px;font-weight: 600;width:250px;}
346
- .form-submit #submit{background-color: #005be2;font-size: 14px;text-align: center;border-radius: 3px;font-weight: 500;color: #fff;cursor: pointer;margin: 0;border: 0;padding: 11px 21px;}
347
- #respond p {margin: 12px 0;}
348
  .amp-comment-button a{color: #fff;display: block;padding: 7px 0px 8px 0px;}
349
  .comment-form-comment #comment {border-color: #ccc;width: 100%;padding: 20px;}
350
  .cmts h3{margin: 0;font-size: 12px;padding-bottom: 6px;border-bottom: 1px solid #eee;font-weight: 400;letter-spacing: 0.5px;text-transform: uppercase;color: #444;}
@@ -360,7 +368,7 @@ if( is_page() || ampforwp_is_front_page() || ampforwp_polylang_front_page() ){?>
360
  .comment-content{margin-top:6px;width:100%;display:inline-block;}
361
  .comment-content p{font-size: 14px;color: #333;line-height: 22px;font-weight: 400;margin: 0;}
362
  .comment-meta amp-img{float:left;margin-right:10px;border-radius:50%;width:40px;}
363
-
364
 
365
  @media (max-width: 480px){
366
  blockquote p {font-size:20px;}
79
  <?php } // Sickt CSS Ends ?>
80
  .h_m_w{width:100%;clear:both;display: inline-flex;<?php if($redux_builder_amp['swift-height-control']){?>height:<?php echo $redux_builder_amp['swift-height-control']?>;<?php } ?>}
81
  .h-ic a:after, .h-ic a:before{font-family: 'icomoon';font-size: 23px;<?php if(isset($redux_builder_amp['swift-element-color-control'] ['rgba']) && $redux_builder_amp['swift-element-color-control'] ['rgba']){?>color: <?php echo ampforwp_sanitize_color($redux_builder_amp['swift-element-color-control']['rgba'])?>;<?php } ?>}
82
+ <?php if ( true == ampforwp_get_setting('ampforwp-callnow-button') ) { ?>
83
  .h-call a:after{content: "\e0cd";}
84
+ <?php
85
+ $callnowcolor = ampforwp_get_setting('amp-opt-color-rgba-colorscheme-call');
86
+ if ( !empty($callnowcolor['color']) ) { ?>
87
+ .h-call a:after{color:<?php echo $callnowcolor['color'];?>;}
88
+ <?php }
89
+ } ?>
90
  .h-shop a:after{align-self: center;}
91
  .h-ic{margin:0px 10px; align-self: center;}
92
  .amp-logo a{line-height:0;display:inline-block;<?php if(isset($redux_builder_amp['swift-element-color-control'] ['rgba']) && $redux_builder_amp['swift-element-color-control'] ['rgba']){?>color:<?php echo ampforwp_sanitize_color($redux_builder_amp['swift-element-color-control']['rgba'])?>;<?php } ?>}
346
  blockquote{margin-bottom:20px;}
347
  blockquote p {font-size: 34px; line-height: 1.4; font-weight: 700; position: relative; padding: 30px 0 0 0; }
348
  blockquote p:before {content: "";border-top: 8px solid #000;width: 115px;line-height: 40px;display: inline-block;position: absolute;top: 0;}
349
+ .form-submit #submit{background-color: #005be2;font-size: 14px;text-align: center;border-radius: 3px;font-weight: 500;color: #fff;cursor: pointer;margin: 0;border: 0;padding: 11px 21px;}
350
+ #respond p {margin: 12px 0;}
351
+ <?php if( !checkAMPforPageBuilderStatus(get_the_ID()) && ampforwp_get_comments_status() ){ ?>
352
  .amp-comment-button{background-color: <?php echo ampforwp_sanitize_color($redux_builder_amp['swift-color-scheme']['color']) ?>;font-size: 15px;float: none;margin: 30px auto 0px auto;text-align: center;border-radius: 3px;font-weight: 600;width:250px;}
353
  .amp-comment-button .nocomments{color: #fff;display: block;padding: 7px 0px 8px 0px;}
354
  .cmts{width:100%;display:inline-block;clear:both;margin-top:40px;}
355
  .amp-comment-button{background-color: <?php echo ampforwp_sanitize_color($redux_builder_amp['swift-color-scheme']['color']) ?>;font-size: 15px;float: none;margin: 30px auto 0px auto;text-align: center;border-radius: 3px;font-weight: 600;width:250px;}
 
 
356
  .amp-comment-button a{color: #fff;display: block;padding: 7px 0px 8px 0px;}
357
  .comment-form-comment #comment {border-color: #ccc;width: 100%;padding: 20px;}
358
  .cmts h3{margin: 0;font-size: 12px;padding-bottom: 6px;border-bottom: 1px solid #eee;font-weight: 400;letter-spacing: 0.5px;text-transform: uppercase;color: #444;}
368
  .comment-content{margin-top:6px;width:100%;display:inline-block;}
369
  .comment-content p{font-size: 14px;color: #333;line-height: 22px;font-weight: 400;margin: 0;}
370
  .comment-meta amp-img{float:left;margin-right:10px;border-radius:50%;width:40px;}
371
+ <?php } ?>
372
 
373
  @media (max-width: 480px){
374
  blockquote p {font-size:20px;}
templates/features.php CHANGED
@@ -3260,6 +3260,7 @@ function ampforwp_sidebar_content_sanitizer($sidebar){
3260
  'AMP_Iframe_Sanitizer' => array(
3261
  'add_placeholder' => true,
3262
  ),
 
3263
  ) ), array('non-content'=>'non-content')
3264
  );
3265
  }
@@ -4675,7 +4676,7 @@ function ampforwp_modify_rel_amphtml_paginated_post($url) {
4675
  $new_url = add_query_arg('page',$post_paginated_page,$url);
4676
  }
4677
  else{
4678
- $new_url = trailingslashit($url).$post_paginated_page;
4679
  }
4680
 
4681
  $new_url = add_query_arg(AMPFORWP_AMP_QUERY_VAR,'1',$new_url);
@@ -6474,7 +6475,7 @@ if( ! function_exists(' ampforwp_modify_menu_content ') ){
6474
  $menu = mb_convert_encoding($menu, 'HTML-ENTITIES', 'UTF-8');
6475
  }
6476
  else{
6477
- $menu = preg_replace( '/&.*?;/', 'x', $menu ); // multi-byte characters converted to X
6478
  }
6479
 
6480
  // To Suppress Warnings
@@ -7309,14 +7310,17 @@ function ampforwp_return_no_gap(){
7309
  function ampforwp_get_comments_status(){
7310
  global $redux_builder_amp;
7311
  $display_comments_on = "";
7312
- if ( (isset($redux_builder_amp['ampforwp-display-on-pages']) && $redux_builder_amp['ampforwp-display-on-pages']==false ) && (isset($redux_builder_amp['ampforwp-display-on-posts']) && $redux_builder_amp['ampforwp-display-on-posts']==true ) ) {
7313
  $display_comments_on = is_single();
7314
  }
7315
- if ( (isset($redux_builder_amp['ampforwp-display-on-pages']) && $redux_builder_amp['ampforwp-display-on-pages']==true ) && (isset($redux_builder_amp['ampforwp-display-on-posts']) && $redux_builder_amp['ampforwp-display-on-posts']==false ) ) {
7316
  $display_comments_on = is_page();
7317
  }
7318
- if ( (isset($redux_builder_amp['ampforwp-display-on-pages']) && $redux_builder_amp['ampforwp-display-on-pages']==true ) && (isset($redux_builder_amp['ampforwp-display-on-posts']) && $redux_builder_amp['ampforwp-display-on-posts']==true ) ) {
7319
  $display_comments_on = is_singular();
 
 
 
7320
  }
7321
  $display_comments_on = apply_filters('ampforwp_comments_visibility', $display_comments_on);
7322
  return $display_comments_on;
@@ -7779,4 +7783,33 @@ if ( ! function_exists('ampforwp_sd_feature_image_guidlines') ) {
7779
  }
7780
  return $metadata;
7781
  }
7782
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3260
  'AMP_Iframe_Sanitizer' => array(
3261
  'add_placeholder' => true,
3262
  ),
3263
+ 'AMP_Tag_And_Attribute_Sanitizer' => array(),
3264
  ) ), array('non-content'=>'non-content')
3265
  );
3266
  }
4676
  $new_url = add_query_arg('page',$post_paginated_page,$url);
4677
  }
4678
  else{
4679
+ $new_url = trailingslashit($url) . user_trailingslashit($post_paginated_page);
4680
  }
4681
 
4682
  $new_url = add_query_arg(AMPFORWP_AMP_QUERY_VAR,'1',$new_url);
6475
  $menu = mb_convert_encoding($menu, 'HTML-ENTITIES', 'UTF-8');
6476
  }
6477
  else{
6478
+ $menu = preg_replace( '/&[^amp|#038].*?;/', 'x', $menu ); // multi-byte characters converted to X
6479
  }
6480
 
6481
  // To Suppress Warnings
7310
  function ampforwp_get_comments_status(){
7311
  global $redux_builder_amp;
7312
  $display_comments_on = "";
7313
+ if ( false == ampforwp_get_setting('ampforwp-display-on-pages') && true == ampforwp_get_setting('ampforwp-display-on-posts') ) {
7314
  $display_comments_on = is_single();
7315
  }
7316
+ if ( true == ampforwp_get_setting('ampforwp-display-on-pages') && false == ampforwp_get_setting('ampforwp-display-on-posts') ) {
7317
  $display_comments_on = is_page();
7318
  }
7319
+ if ( true == ampforwp_get_setting('ampforwp-display-on-pages') && true == ampforwp_get_setting('ampforwp-display-on-posts')) {
7320
  $display_comments_on = is_singular();
7321
+ if ( ampforwp_is_front_page() ) {
7322
+ $display_comments_on = ampforwp_is_front_page();
7323
+ }
7324
  }
7325
  $display_comments_on = apply_filters('ampforwp_comments_visibility', $display_comments_on);
7326
  return $display_comments_on;
7783
  }
7784
  return $metadata;
7785
  }
7786
+ }
7787
+ // Gutenberg Modules CSS #2707
7788
+ add_action('amp_post_template_css', 'ampforwp_gutenberg_css');
7789
+ if ( ! function_exists('ampforwp_gutenberg_css') ) {
7790
+ function ampforwp_gutenberg_css(){ ?>
7791
+ .wp-block-button { color: #fff}
7792
+ .wp-block-button a {background-color: #32373c;border-radius: 28px;color: inherit;display: inline-block;padding: 12px 24px;}
7793
+ <?php }
7794
+ }
7795
+ // Subtitles Plugin Support #2853
7796
+ add_action('ampforwp_below_the_title','ampforwp_subtitles_support');
7797
+ if ( ! function_exists('ampforwp_subtitles_support') ) {
7798
+ function ampforwp_subtitles_support(){
7799
+ if (class_exists('Subtitles')){
7800
+ $post_id = get_the_ID();
7801
+ if(ampforwp_is_front_page()){
7802
+ $post_id = ampforwp_get_frontpage_id();
7803
+ }
7804
+ // exit if no post id is available.
7805
+ if (empty($post_id)){
7806
+ return;
7807
+ }
7808
+ $subtitle = "";
7809
+ $subtitle = get_post_meta( $post_id, Subtitles::SUBTITLE_META_KEY, true );
7810
+ ?>
7811
+ <h4 class="amp-wp-content"><?php echo esc_html($subtitle) ?></h4>
7812
+ <?php
7813
+ }
7814
+ }
7815
+ }