Google Reviews Widget - Version 2.1.5

Version Description

  • Improve: added updated timestamp in Google place table
  • Bugfix: forced update old databases
  • Bugfix: wrong text domain
  • Bugfix: checking POST param (update_db_ver) in settings save
  • Bugfix: nofollow & open new tab for Google place link
Download this release

Release Info

Developer richplugins
Plugin Icon 128x128 Google Reviews Widget
Version 2.1.5
Comparing to
See all releases

Code changes from version 2.1.4 to 2.1.5

grw.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Widget for Google Reviews
4
  Plugin URI: https://richplugins.com/business-reviews-bundle-wordpress-plugin
5
  Description: Instantly Google Places Reviews on your website to increase user confidence and SEO.
6
- Version: 2.1.4
7
  Author: RichPlugins <support@richplugins.com>
8
  Author URI: https://richplugins.com
9
  Text Domain: widget-google-reviews
@@ -18,7 +18,7 @@ if (!defined('ABSPATH')) {
18
 
19
  require(ABSPATH . 'wp-includes/version.php');
20
 
21
- define('GRW_VERSION' , '2.1.4');
22
  define('GRW_PLUGIN_FILE' , __FILE__);
23
  define('GRW_PLUGIN_URL' , plugins_url(basename(plugin_dir_path(__FILE__ )), basename(__FILE__)));
24
  define('GRW_ASSETS_URL' , GRW_PLUGIN_URL . '/assets/');
@@ -50,8 +50,8 @@ function grw_plugin_row_meta($input, $file) {
50
  }
51
 
52
  $links = array(
53
- '<a href="' . admin_url('admin.php?page=grw-support') . '" target="_blank">' . __('View Documentation', 'grw') . '</a>',
54
- '<a href="' . esc_url('https://richplugins.com/business-reviews-bundle-wordpress-plugin') . '" target="_blank">' . __('Upgrade to Business', 'grw') . ' &raquo;</a>',
55
  );
56
  $input = array_merge($input, $links);
57
  return $input;
3
  Plugin Name: Widget for Google Reviews
4
  Plugin URI: https://richplugins.com/business-reviews-bundle-wordpress-plugin
5
  Description: Instantly Google Places Reviews on your website to increase user confidence and SEO.
6
+ Version: 2.1.5
7
  Author: RichPlugins <support@richplugins.com>
8
  Author URI: https://richplugins.com
9
  Text Domain: widget-google-reviews
18
 
19
  require(ABSPATH . 'wp-includes/version.php');
20
 
21
+ define('GRW_VERSION' , '2.1.5');
22
  define('GRW_PLUGIN_FILE' , __FILE__);
23
  define('GRW_PLUGIN_URL' , plugins_url(basename(plugin_dir_path(__FILE__ )), basename(__FILE__)));
24
  define('GRW_ASSETS_URL' , GRW_PLUGIN_URL . '/assets/');
50
  }
51
 
52
  $links = array(
53
+ '<a href="' . admin_url('admin.php?page=grw-support') . '" target="_blank">' . __('View Documentation', 'widget-google-reviews') . '</a>',
54
+ '<a href="' . esc_url('https://richplugins.com/business-reviews-bundle-wordpress-plugin') . '" target="_blank">' . __('Upgrade to Business', 'widget-google-reviews') . ' &raquo;</a>',
55
  );
56
  $input = array_merge($input, $links);
57
  return $input;
includes/admin/class-admin-feed-columns.php CHANGED
@@ -39,10 +39,10 @@ class Admin_Feed_Columns {
39
  $columns = $columns;
40
  $columns = array(
41
  'cb' => '<input type="checkbox">',
42
- 'title' => __('Title', 'grw'),
43
- 'ID' => __('ID', 'grw'),
44
- 'grw_theme' => __('Theme', 'grw'),
45
- 'date' => __('Date', 'grw'),
46
  );
47
  return $columns;
48
  }
39
  $columns = $columns;
40
  $columns = array(
41
  'cb' => '<input type="checkbox">',
42
+ 'title' => __('Title', 'widget-google-reviews'),
43
+ 'ID' => __('ID', 'widget-google-reviews'),
44
+ 'grw_theme' => __('Theme', 'widget-google-reviews'),
45
+ 'date' => __('Date', 'widget-google-reviews'),
46
  );
47
  return $columns;
48
  }
includes/class-activator.php CHANGED
@@ -114,7 +114,7 @@ class Activator {
114
  }
115
  break;
116
 
117
- case version_compare($last_active_version, '2.0.2', '<'):
118
  if (!function_exists('drop_index') || !function_exists('dbDelta')) {
119
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
120
  }
114
  }
115
  break;
116
 
117
+ case version_compare($last_active_version, '2.1.5', '<'):
118
  if (!function_exists('drop_index') || !function_exists('dbDelta')) {
119
  require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
120
  }
includes/class-feed-widget.php CHANGED
@@ -19,10 +19,10 @@ class Feed_Widget extends \WP_Widget {
19
  public function __construct() {
20
  parent::__construct(
21
  'grw_widget',
22
- __('Google Reviews Widget', 'grw'),
23
  array(
24
  'classname' => 'google-reviews-widget',
25
- 'description' => __('Display Google Places Reviews on your website.', 'grw'),
26
  )
27
  );
28
 
19
  public function __construct() {
20
  parent::__construct(
21
  'grw_widget',
22
+ __('Google Reviews Widget', 'widget-google-reviews'),
23
  array(
24
  'classname' => 'google-reviews-widget',
25
+ 'description' => __('Display Google Places Reviews on your website.', 'widget-google-reviews'),
26
  )
27
  );
28
 
includes/class-plugin-support.php CHANGED
@@ -31,13 +31,13 @@ class Plugin_Support {
31
 
32
  <div class="nav-tab-wrapper">
33
  <a href="#welcome" class="nav-tab<?php if ($tab == 'welcome') { ?> nav-tab-active<?php } ?>">
34
- <?php echo __('Welcome', 'grw'); ?>
35
  </a>
36
  <a href="#fig" class="nav-tab<?php if ($tab == 'fig') { ?> nav-tab-active<?php } ?>">
37
- <?php echo __('Full Installation Guide', 'grw'); ?>
38
  </a>
39
  <a href="#support" class="nav-tab<?php if ($tab == 'support') { ?> nav-tab-active<?php } ?>">
40
- <?php echo __('Support', 'grw'); ?>
41
  </a>
42
  </div>
43
 
31
 
32
  <div class="nav-tab-wrapper">
33
  <a href="#welcome" class="nav-tab<?php if ($tab == 'welcome') { ?> nav-tab-active<?php } ?>">
34
+ <?php echo __('Welcome', 'widget-google-reviews'); ?>
35
  </a>
36
  <a href="#fig" class="nav-tab<?php if ($tab == 'fig') { ?> nav-tab-active<?php } ?>">
37
+ <?php echo __('Full Installation Guide', 'widget-google-reviews'); ?>
38
  </a>
39
  <a href="#support" class="nav-tab<?php if ($tab == 'support') { ?> nav-tab-active<?php } ?>">
40
+ <?php echo __('Support', 'widget-google-reviews'); ?>
41
  </a>
42
  </div>
43
 
includes/class-post-types.php CHANGED
@@ -16,37 +16,37 @@ class Post_Types {
16
 
17
  public function register_feed_post_type() {
18
  $labels = array(
19
- 'name' => _x('Reviews widgets', 'Post Type General Name', 'grw'),
20
- 'singular_name' => _x('Reviews widget', 'Post Type Singular Name', 'grw'),
21
- 'menu_name' => __('Reviews widgets', 'grw'),
22
- 'name_admin_bar' => __('Reviews widget', 'grw'),
23
- 'archives' => __('Reviews Feed Archives', 'grw'),
24
- 'attributes' => __('Reviews Feed Attributes', 'grw'),
25
- 'parent_item_colon' => __('Parent Reviews Feed:', 'grw'),
26
- 'all_items' => __('Widgets', 'grw'),
27
- 'add_new_item' => __('Add New Reviews Feed', 'grw'),
28
- 'add_new' => __('Add Reviews Feed', 'grw'),
29
- 'new_item' => __('New Reviews Feed', 'grw'),
30
- 'edit_item' => __('Edit Reviews Feed', 'grw'),
31
- 'update_item' => __('Update Reviews Feed', 'grw'),
32
- 'view_item' => __('View Reviews Feed', 'grw'),
33
- 'view_items' => __('View Reviews Feeds', 'grw'),
34
- 'search_items' => __('Search Reviews Widgets', 'grw'),
35
- 'not_found' => __('Not found', 'grw'),
36
- 'not_found_in_trash' => __('Not found in Trash', 'grw'),
37
- 'featured_image' => __('Featured Image', 'grw'),
38
- 'set_featured_image' => __('Set featured image', 'grw'),
39
- 'remove_featured_image' => __('Remove featured image', 'grw'),
40
- 'use_featured_image' => __('Use as featured image', 'grw'),
41
- 'insert_into_item' => __('Insert into item', 'grw'),
42
- 'uploaded_to_this_item' => __('Uploaded to this item', 'grw'),
43
- 'items_list' => __('Reviews Feeds list', 'grw'),
44
- 'items_list_navigation' => __('Reviews Feeds list navigation', 'grw'),
45
- 'filter_items_list' => __('Filter items list', 'grw'),
46
  );
47
 
48
  $args = array(
49
- 'label' => __('Reviews Feed', 'grw'),
50
  'labels' => $labels,
51
  'supports' => array('title'),
52
  'taxonomies' => array(),
16
 
17
  public function register_feed_post_type() {
18
  $labels = array(
19
+ 'name' => _x('Reviews widgets', 'Post Type General Name', 'widget-google-reviews'),
20
+ 'singular_name' => _x('Reviews widget', 'Post Type Singular Name', 'widget-google-reviews'),
21
+ 'menu_name' => __('Reviews widgets', 'widget-google-reviews'),
22
+ 'name_admin_bar' => __('Reviews widget', 'widget-google-reviews'),
23
+ 'archives' => __('Reviews Feed Archives', 'widget-google-reviews'),
24
+ 'attributes' => __('Reviews Feed Attributes', 'widget-google-reviews'),
25
+ 'parent_item_colon' => __('Parent Reviews Feed:', 'widget-google-reviews'),
26
+ 'all_items' => __('Widgets', 'widget-google-reviews'),
27
+ 'add_new_item' => __('Add New Reviews Feed', 'widget-google-reviews'),
28
+ 'add_new' => __('Add Reviews Feed', 'widget-google-reviews'),
29
+ 'new_item' => __('New Reviews Feed', 'widget-google-reviews'),
30
+ 'edit_item' => __('Edit Reviews Feed', 'widget-google-reviews'),
31
+ 'update_item' => __('Update Reviews Feed', 'widget-google-reviews'),
32
+ 'view_item' => __('View Reviews Feed', 'widget-google-reviews'),
33
+ 'view_items' => __('View Reviews Feeds', 'widget-google-reviews'),
34
+ 'search_items' => __('Search Reviews Widgets', 'widget-google-reviews'),
35
+ 'not_found' => __('Not found', 'widget-google-reviews'),
36
+ 'not_found_in_trash' => __('Not found in Trash', 'widget-google-reviews'),
37
+ 'featured_image' => __('Featured Image', 'widget-google-reviews'),
38
+ 'set_featured_image' => __('Set featured image', 'widget-google-reviews'),
39
+ 'remove_featured_image' => __('Remove featured image', 'widget-google-reviews'),
40
+ 'use_featured_image' => __('Use as featured image', 'widget-google-reviews'),
41
+ 'insert_into_item' => __('Insert into item', 'widget-google-reviews'),
42
+ 'uploaded_to_this_item' => __('Uploaded to this item', 'widget-google-reviews'),
43
+ 'items_list' => __('Reviews Feeds list', 'widget-google-reviews'),
44
+ 'items_list_navigation' => __('Reviews Feeds list navigation', 'widget-google-reviews'),
45
+ 'filter_items_list' => __('Filter items list', 'widget-google-reviews'),
46
  );
47
 
48
  $args = array(
49
+ 'label' => __('Reviews Feed', 'widget-google-reviews'),
50
  'labels' => $labels,
51
  'supports' => array('title'),
52
  'taxonomies' => array(),
includes/class-settings-save.php CHANGED
@@ -78,10 +78,12 @@ class Settings_Save {
78
  $notice_code = 'settings_debug_mode_' . $debug_mode;
79
  }
80
 
81
- $update_db_ver = sanitize_text_field(wp_unslash($_POST['update_db_ver']));
82
- if (isset($_POST['update_db']) && strlen($update_db_ver) > 0) {
83
- $this->activator->update_db($update_db_ver);
84
- $notice_code = 'settings_update_db';
 
 
85
  }
86
 
87
  $this->redirect_to_tab($notice_code);
78
  $notice_code = 'settings_debug_mode_' . $debug_mode;
79
  }
80
 
81
+ if (isset($_POST['update_db_ver']) && isset($_POST['update_db'])) {
82
+ $update_db_ver = sanitize_text_field(wp_unslash($_POST['update_db_ver']));
83
+ if (strlen($update_db_ver) > 0) {
84
+ $this->activator->update_db($update_db_ver);
85
+ $notice_code = 'settings_update_db';
86
+ }
87
  }
88
 
89
  $this->redirect_to_tab($notice_code);
includes/class-view.php CHANGED
@@ -71,8 +71,7 @@ class View {
71
  $businesses[0],
72
  $businesses[0]->photo,
73
  $reviews,
74
- $options->dark_theme,
75
- $options->hide_based_on,
76
  true,
77
  true
78
  ); ?>
@@ -117,8 +116,7 @@ class View {
117
  $business,
118
  $business->photo,
119
  $reviews,
120
- $options->dark_theme,
121
- $options->hide_based_on
122
  ); ?>
123
  </div>
124
  <?php }
@@ -154,7 +152,7 @@ class View {
154
  <div class="wp-google-badge-btn">
155
  <svg viewBox="0 0 512 512" height="44" width="44"><g fill="none" fill-rule="evenodd"><path d="M482.56 261.36c0-16.73-1.5-32.83-4.29-48.27H256v91.29h127.01c-5.47 29.5-22.1 54.49-47.09 71.23v59.21h76.27c44.63-41.09 70.37-101.59 70.37-173.46z" fill="#4285f4"/><path d="M256 492c63.72 0 117.14-21.13 156.19-57.18l-76.27-59.21c-21.13 14.16-48.17 22.53-79.92 22.53-61.47 0-113.49-41.51-132.05-97.3H45.1v61.15c38.83 77.13 118.64 130.01 210.9 130.01z" fill="#34a853"/><path d="M123.95 300.84c-4.72-14.16-7.4-29.29-7.4-44.84s2.68-30.68 7.4-44.84V150.01H45.1C29.12 181.87 20 217.92 20 256c0 38.08 9.12 74.13 25.1 105.99l78.85-61.15z" fill="#fbbc05"/><path d="M256 113.86c34.65 0 65.76 11.91 90.22 35.29l67.69-67.69C373.03 43.39 319.61 20 256 20c-92.25 0-172.07 52.89-210.9 130.01l78.85 61.15c18.56-55.78 70.59-97.3 132.05-97.3z" fill="#ea4335"/><path d="M20 20h472v472H20V20z"/></g></svg>
156
  <div class="wp-google-badge-score">
157
- <div><?php echo __('Google Rating', 'grw'); ?></div>
158
  <span class="wp-google-rating"><?php echo $business->rating; ?></span>
159
  <span class="wp-google-stars"><?php $this->grw_stars($business->rating); ?></span>
160
  </div>
@@ -171,8 +169,7 @@ class View {
171
  $business,
172
  $business->photo,
173
  $reviews,
174
- $options->dark_theme,
175
- $options->hide_based_on,
176
  false
177
  ); ?>
178
  </div>
@@ -192,7 +189,7 @@ class View {
192
  <?php $this->js_loader('grw_badge_init');
193
  }
194
 
195
- function grw_place($rating, $place, $place_img, $reviews, $dark_theme, $hide_based_on, $show_powered = true, $show_writereview = false) {
196
  ?>
197
  <div class="wp-google-left">
198
  <img src="<?php echo $place_img; ?>" alt="<?php echo $place->name; ?>" width="50" height="50" title="<?php echo $place->name; ?>">
@@ -200,25 +197,25 @@ class View {
200
  <div class="wp-google-right">
201
  <div class="wp-google-name">
202
  <?php $place_name_content = '<span>' . $place->name . '</span>';
203
- echo $this->grw_anchor($place->url, '', $place_name_content, true, true); ?>
204
  </div>
205
  <div>
206
  <span class="wp-google-rating"><?php echo $rating; ?></span>
207
  <span class="wp-google-stars"><?php $this->grw_stars($rating); ?></span>
208
  </div>
209
- <?php if (!$hide_based_on && isset($place->review_count)) { ?>
210
- <div class="wp-google-powered"><?php echo vsprintf(__('Based on %s reviews', 'grw'), $this->grw_array($place->review_count)); ?></div>
211
  <?php } ?>
212
 
213
  <?php if ($show_powered) { ?>
214
  <div class="wp-google-powered">
215
- <img src="<?php echo GRW_ASSETS_URL; ?>img/powered_by_google_on_<?php if ($dark_theme) { ?>non_<?php } ?>white.png" alt="powered by Google" width="144" height="18" title="powered by Google">
216
  </div>
217
  <?php } ?>
218
 
219
  <?php if ($show_writereview) { ?>
220
  <div class="wp-google-wr">
221
- <a href="https://search.google.com/local/writereview?placeid=<?php echo $place->id; ?>" onclick="return rplg_leave_review_window.call(this)"><?php echo __('Ready to review?', 'grw'); ?></a>
222
  </div>
223
  <?php } ?>
224
  </div>
@@ -258,12 +255,12 @@ class View {
258
  </div>
259
  <?php if ($options->pagination > 0 && $hr) { ?>
260
  <a class="wp-google-url" href="#" onclick="return rplg_next_reviews.call(this, 'google', <?php echo $options->pagination; ?>);">
261
- <?php echo __('Next Reviews', 'grw'); ?>
262
  </a>
263
  <?php
264
  } else {
265
  $reviews_link = $options->google_def_rev_link ? $place_url : 'https://search.google.com/local/reviews?placeid=' . $place_id;
266
- $this->grw_anchor($reviews_link, 'wp-google-url', __('See All Reviews', 'grw'), true, true);
267
  }
268
  }
269
 
@@ -293,7 +290,7 @@ class View {
293
  if (strlen($review->author_name) > 0) {
294
  $author_name = $review->author_name;
295
  } else {
296
- $author_name = __('Google User', 'grw');
297
  }
298
  ?><div class="wp-google-name"><?php echo $author_name; ?></div><?php
299
  }
@@ -336,7 +333,7 @@ class View {
336
  if (strlen($review->author_name) > 0) {
337
  $author_name = $review->author_name;
338
  } else {
339
- $author_name = __('Google User', 'grw');
340
  }
341
  ?><div class="wp-google-name"><?php echo $author_name; ?></div><?php
342
  }
@@ -399,7 +396,7 @@ class View {
399
  }
400
  echo $visible_text;
401
  if ($this->grw_strlen($invisible_text) > 0) {
402
- ?><span>... </span><span class="wp-more"><?php echo $invisible_text; ?></span><span class="wp-more-toggle"><?php echo __('read more', 'grw'); ?></span><?php
403
  }
404
  } else {
405
  echo $text;
71
  $businesses[0],
72
  $businesses[0]->photo,
73
  $reviews,
74
+ $options,
 
75
  true,
76
  true
77
  ); ?>
116
  $business,
117
  $business->photo,
118
  $reviews,
119
+ $options
 
120
  ); ?>
121
  </div>
122
  <?php }
152
  <div class="wp-google-badge-btn">
153
  <svg viewBox="0 0 512 512" height="44" width="44"><g fill="none" fill-rule="evenodd"><path d="M482.56 261.36c0-16.73-1.5-32.83-4.29-48.27H256v91.29h127.01c-5.47 29.5-22.1 54.49-47.09 71.23v59.21h76.27c44.63-41.09 70.37-101.59 70.37-173.46z" fill="#4285f4"/><path d="M256 492c63.72 0 117.14-21.13 156.19-57.18l-76.27-59.21c-21.13 14.16-48.17 22.53-79.92 22.53-61.47 0-113.49-41.51-132.05-97.3H45.1v61.15c38.83 77.13 118.64 130.01 210.9 130.01z" fill="#34a853"/><path d="M123.95 300.84c-4.72-14.16-7.4-29.29-7.4-44.84s2.68-30.68 7.4-44.84V150.01H45.1C29.12 181.87 20 217.92 20 256c0 38.08 9.12 74.13 25.1 105.99l78.85-61.15z" fill="#fbbc05"/><path d="M256 113.86c34.65 0 65.76 11.91 90.22 35.29l67.69-67.69C373.03 43.39 319.61 20 256 20c-92.25 0-172.07 52.89-210.9 130.01l78.85 61.15c18.56-55.78 70.59-97.3 132.05-97.3z" fill="#ea4335"/><path d="M20 20h472v472H20V20z"/></g></svg>
154
  <div class="wp-google-badge-score">
155
+ <div><?php echo __('Google Rating', 'widget-google-reviews'); ?></div>
156
  <span class="wp-google-rating"><?php echo $business->rating; ?></span>
157
  <span class="wp-google-stars"><?php $this->grw_stars($business->rating); ?></span>
158
  </div>
169
  $business,
170
  $business->photo,
171
  $reviews,
172
+ $options,
 
173
  false
174
  ); ?>
175
  </div>
189
  <?php $this->js_loader('grw_badge_init');
190
  }
191
 
192
+ function grw_place($rating, $place, $place_img, $reviews, $options, $show_powered = true, $show_writereview = false) {
193
  ?>
194
  <div class="wp-google-left">
195
  <img src="<?php echo $place_img; ?>" alt="<?php echo $place->name; ?>" width="50" height="50" title="<?php echo $place->name; ?>">
197
  <div class="wp-google-right">
198
  <div class="wp-google-name">
199
  <?php $place_name_content = '<span>' . $place->name . '</span>';
200
+ echo $this->grw_anchor($place->url, '', $place_name_content, $options->open_link, $options->nofollow_link); ?>
201
  </div>
202
  <div>
203
  <span class="wp-google-rating"><?php echo $rating; ?></span>
204
  <span class="wp-google-stars"><?php $this->grw_stars($rating); ?></span>
205
  </div>
206
+ <?php if (!$options->hide_based_on && isset($place->review_count)) { ?>
207
+ <div class="wp-google-powered"><?php echo vsprintf(__('Based on %s reviews', 'widget-google-reviews'), $this->grw_array($place->review_count)); ?></div>
208
  <?php } ?>
209
 
210
  <?php if ($show_powered) { ?>
211
  <div class="wp-google-powered">
212
+ <img src="<?php echo GRW_ASSETS_URL; ?>img/powered_by_google_on_<?php if ($options->dark_theme) { ?>non_<?php } ?>white.png" alt="powered by Google" width="144" height="18" title="powered by Google">
213
  </div>
214
  <?php } ?>
215
 
216
  <?php if ($show_writereview) { ?>
217
  <div class="wp-google-wr">
218
+ <a href="https://search.google.com/local/writereview?placeid=<?php echo $place->id; ?>" onclick="return rplg_leave_review_window.call(this)"><?php echo __('Ready to review?', 'widget-google-reviews'); ?></a>
219
  </div>
220
  <?php } ?>
221
  </div>
255
  </div>
256
  <?php if ($options->pagination > 0 && $hr) { ?>
257
  <a class="wp-google-url" href="#" onclick="return rplg_next_reviews.call(this, 'google', <?php echo $options->pagination; ?>);">
258
+ <?php echo __('Next Reviews', 'widget-google-reviews'); ?>
259
  </a>
260
  <?php
261
  } else {
262
  $reviews_link = $options->google_def_rev_link ? $place_url : 'https://search.google.com/local/reviews?placeid=' . $place_id;
263
+ $this->grw_anchor($reviews_link, 'wp-google-url', __('See All Reviews', 'widget-google-reviews'), $options->open_link, $options->nofollow_link);
264
  }
265
  }
266
 
290
  if (strlen($review->author_name) > 0) {
291
  $author_name = $review->author_name;
292
  } else {
293
+ $author_name = __('Google User', 'widget-google-reviews');
294
  }
295
  ?><div class="wp-google-name"><?php echo $author_name; ?></div><?php
296
  }
333
  if (strlen($review->author_name) > 0) {
334
  $author_name = $review->author_name;
335
  } else {
336
+ $author_name = __('Google User', 'widget-google-reviews');
337
  }
338
  ?><div class="wp-google-name"><?php echo $author_name; ?></div><?php
339
  }
396
  }
397
  echo $visible_text;
398
  if ($this->grw_strlen($invisible_text) > 0) {
399
+ ?><span>... </span><span class="wp-more"><?php echo $invisible_text; ?></span><span class="wp-more-toggle"><?php echo __('read more', 'widget-google-reviews'); ?></span><?php
400
  }
401
  } else {
402
  echo $text;
includes/core/class-connect-google.php CHANGED
@@ -19,7 +19,7 @@ class Connect_Google {
19
  case 'grw_connect_google':
20
  if (current_user_can('manage_options')) {
21
  if (isset($_POST['grw_wpnonce']) === false) {
22
- $error = __('Unable to call request. Make sure you are accessing this page from the Wordpress dashboard.');
23
  $response = compact('error');
24
  } else {
25
  check_admin_referer('grw_wpnonce', 'grw_wpnonce');
@@ -84,7 +84,7 @@ class Connect_Google {
84
  case 'grw_hide_review':
85
  if (current_user_can('manage_options')) {
86
  if (isset($_POST['grw_wpnonce']) === false) {
87
- $error = __('Unable to call request. Make sure you are accessing this page from the Wordpress dashboard.', 'grw');
88
  $response = compact('error');
89
  } else {
90
  check_admin_referer('grw_wpnonce', 'grw_wpnonce');
@@ -150,8 +150,9 @@ class Connect_Google {
150
 
151
  // Update Google place
152
  $update_params = array(
153
- 'name' => $place->name,
154
- 'rating' => $place->rating,
 
155
  );
156
 
157
  $review_count = isset($place->user_ratings_total) ? $place->user_ratings_total : 0;
19
  case 'grw_connect_google':
20
  if (current_user_can('manage_options')) {
21
  if (isset($_POST['grw_wpnonce']) === false) {
22
+ $error = __('Unable to call request. Make sure you are accessing this page from the Wordpress dashboard.', 'widget-google-reviews');
23
  $response = compact('error');
24
  } else {
25
  check_admin_referer('grw_wpnonce', 'grw_wpnonce');
84
  case 'grw_hide_review':
85
  if (current_user_can('manage_options')) {
86
  if (isset($_POST['grw_wpnonce']) === false) {
87
+ $error = __('Unable to call request. Make sure you are accessing this page from the Wordpress dashboard.', 'widget-google-reviews');
88
  $response = compact('error');
89
  } else {
90
  check_admin_referer('grw_wpnonce', 'grw_wpnonce');
150
 
151
  // Update Google place
152
  $update_params = array(
153
+ 'name' => $place->name,
154
+ 'rating' => $place->rating,
155
+ 'updated' => round(microtime(true) * 1000),
156
  );
157
 
158
  $review_count = isset($place->user_ratings_total) ? $place->user_ratings_total : 0;
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://richplugins.com/business-reviews-bundle-wordpress-plugin
4
  Tags: google reviews, google, reviews, rating, widget, google business, testimonial, testimonials, google places reviews, map reviews, google my business
5
  Requires at least: 2.8
6
  Tested up to: 5.9
7
- Stable tag: 2.1.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -98,6 +98,13 @@ To find out more about who we are and what we do, here are some useful links:
98
 
99
  == Changelog ==
100
 
 
 
 
 
 
 
 
101
  = 2.1.4 =
102
  * New slider feature: speed option
103
  * Slider responsive bug
4
  Tags: google reviews, google, reviews, rating, widget, google business, testimonial, testimonials, google places reviews, map reviews, google my business
5
  Requires at least: 2.8
6
  Tested up to: 5.9
7
+ Stable tag: 2.1.5
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
98
 
99
  == Changelog ==
100
 
101
+ = 2.1.5 =
102
+ * Improve: added updated timestamp in Google place table
103
+ * Bugfix: forced update old databases
104
+ * Bugfix: wrong text domain
105
+ * Bugfix: checking POST param (update_db_ver) in settings save
106
+ * Bugfix: nofollow & open new tab for Google place link
107
+
108
  = 2.1.4 =
109
  * New slider feature: speed option
110
  * Slider responsive bug