Google Reviews Widget - Version 1.5

Version Description

  • Remove 'Live Support' tab from setting page
  • Added instruction and video how to get Google Places API Key
  • Added Dutch language (nl_NL)
Download this release

Release Info

Developer widgetpack
Plugin Icon 128x128 Google Reviews Widget
Version 1.5
Comparing to
See all releases

Code changes from version 1.49 to 1.5

grw-setting.php CHANGED
@@ -139,9 +139,6 @@ if (strlen($grw_google_api_key) == 0) {
139
  <li role="presentation">
140
  <a href="#mod" aria-controls="mod" role="tab" data-toggle="tab"><?php echo grw_i('Review Moderation'); ?></a>
141
  </li>
142
- <li role="presentation">
143
- <a href="#support" aria-controls="support" role="tab" data-toggle="tab"><?php echo grw_i('Live Support'); ?></a>
144
- </li>
145
  </ul>
146
  <div class="tab-content">
147
  <div role="tabpanel" class="tab-pane active" id="about">
@@ -213,15 +210,15 @@ if (strlen($grw_google_api_key) == 0) {
213
  </div>
214
  <hr>
215
  <h4>Get More Features with Google Reviews Pro!</h4>
216
- <p><a href="https://richplugins.com/google-reviews-pro-wordpress-plugin" target="_blank" style="color:#00bf54;font-size:16px;text-decoration:underline;">Upgrade to Google Reviews Pro</a></p>
217
  <p>* Pure self-hosted plugin, keep all reviews in WordPress database</p>
218
  <p>* Auto-download new Google reviews daily</p>
219
  <p>* Collect more than 5 Google reviews</p>
220
  <p>* Supports Google Rich Snippets (schema.org)</p>
221
  <p>* Grid theme to show G+ reviews in testimonials section</p>
222
- <p>* 'Write a review' button to available leave Google review on your website</p>
223
- <p>* Minimum Rating filter</p>
224
  <p>* Custom business place photo</p>
 
225
  <p>* Pagination, Sorting</p>
226
  <p>* Priority support</p>
227
  </div>
@@ -229,17 +226,19 @@ if (strlen($grw_google_api_key) == 0) {
229
  <h4><?php echo grw_i('Google Reviews Widget Setting'); ?></h4>
230
  <!-- Configuration form -->
231
  <form method="POST" enctype="multipart/form-data">
232
- <?php wp_nonce_field('grw-wpnonce_grw_settings', 'grw-form_nonce_grw_settings'); ?>
233
- <table class="form-table">
234
- <tr>
235
- <th scope="row" valign="top"><?php echo grw_i('Google API Key'); ?></th>
236
- <td>
237
- <input type="text" name="grw_google_api_key" value="<?php echo esc_attr($grw_google_api_key); ?>"/>
238
- <br>
239
- <?php echo grw_i('Google Places API Key. To get own key go to <a href="https://console.developers.google.com/flows/enableapi?apiid=places_backend&keyType=SERVER_SIDE&reusekey=true" target="_blank">Get Google API Key</a> and follow the instructions.'); ?>
240
- </td>
241
- </tr>
242
- </table>
 
 
243
  <p class="submit" style="text-align: left">
244
  <input name="grw_setting" type="submit" value="Save" class="button-primary button" tabindex="4">
245
  </p>
@@ -274,9 +273,5 @@ if (strlen($grw_google_api_key) == 0) {
274
  <h4><?php echo grw_i('Shortcode Builder available in Google Reviews Pro plugin:'); ?></h4>
275
  <a href="https://richplugins.com/google-reviews-pro-wordpress-plugin" target="_blank" style="color:#00bf54;font-size:16px;text-decoration:underline;"><?php echo grw_i('Upgrade to Pro'); ?></a>
276
  </div>
277
- <div role="tabpanel" class="tab-pane" id="support">
278
- <h4><?php echo grw_i('Live Chat support available in Google Reviews Pro plugin:'); ?></h4>
279
- <a href="https://richplugins.com/google-reviews-pro-wordpress-plugin" target="_blank" style="color:#00bf54;font-size:16px;text-decoration:underline;"><?php echo grw_i('Upgrade to Pro'); ?></a>
280
- </div>
281
  </div>
282
  </div>
139
  <li role="presentation">
140
  <a href="#mod" aria-controls="mod" role="tab" data-toggle="tab"><?php echo grw_i('Review Moderation'); ?></a>
141
  </li>
 
 
 
142
  </ul>
143
  <div class="tab-content">
144
  <div role="tabpanel" class="tab-pane active" id="about">
210
  </div>
211
  <hr>
212
  <h4>Get More Features with Google Reviews Pro!</h4>
213
+ <p><a href="https://richplugins.com/google-reviews-pro-wordpress-plugin" target="_blank" style="color:#00bf54;font-size:16px;text-decoration:underline;">Upgrade to Google Reviews Pro or Business version</a></p>
214
  <p>* Pure self-hosted plugin, keep all reviews in WordPress database</p>
215
  <p>* Auto-download new Google reviews daily</p>
216
  <p>* Collect more than 5 Google reviews</p>
217
  <p>* Supports Google Rich Snippets (schema.org)</p>
218
  <p>* Grid theme to show G+ reviews in testimonials section</p>
219
+ <p>* 'Write a review' button to available leave Google review directly on your website</p>
 
220
  <p>* Custom business place photo</p>
221
+ <p>* Minimum rating filter</p>
222
  <p>* Pagination, Sorting</p>
223
  <p>* Priority support</p>
224
  </div>
226
  <h4><?php echo grw_i('Google Reviews Widget Setting'); ?></h4>
227
  <!-- Configuration form -->
228
  <form method="POST" enctype="multipart/form-data">
229
+ <?php wp_nonce_field('grw-wpnonce_grw_settings', 'grw-form_nonce_grw_settings'); ?>
230
+ <div class="form-group">
231
+ <label class="control-label" for="grw_google_api_key"><?php echo grw_i('Google API Places Key'); ?></label>
232
+ <input class="form-control" type="text" id="grw_google_api_key" name="grw_google_api_key" value="<?php echo esc_attr($grw_google_api_key); ?>">
233
+ <small>
234
+ Instruction to get Google Places API server key:<br>
235
+ 1. Go to <a href="https://developers.google.com/places/web-service/get-api-key" target="_blank">Google Places API</a><br>
236
+ 2. Click by 'GET A KEY' button<br>
237
+ 3. Agree term and click by 'CREATE AND ENABLE API'<br>
238
+ 4. Copy key to plugin field<br>
239
+ <iframe src="//www.youtube.com/embed/uW-PTKeZAXs?rel=0" allowfullscreen=""></iframe>
240
+ </small>
241
+ </div>
242
  <p class="submit" style="text-align: left">
243
  <input name="grw_setting" type="submit" value="Save" class="button-primary button" tabindex="4">
244
  </p>
273
  <h4><?php echo grw_i('Shortcode Builder available in Google Reviews Pro plugin:'); ?></h4>
274
  <a href="https://richplugins.com/google-reviews-pro-wordpress-plugin" target="_blank" style="color:#00bf54;font-size:16px;text-decoration:underline;"><?php echo grw_i('Upgrade to Pro'); ?></a>
275
  </div>
 
 
 
 
276
  </div>
277
  </div>
grw.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Google Reviews Widget
4
  Plugin URI: https://richplugins.com/google-reviews-pro-wordpress-plugin
5
  Description: Instantly Google Places Reviews on your website to increase user confidence and SEO.
6
  Author: RichPlugins <support@richplugins.com>
7
- Version: 1.49
8
  Author URI: https://richplugins.com/google-reviews-pro-wordpress-plugin
9
  */
10
 
@@ -12,7 +12,7 @@ require(ABSPATH . 'wp-includes/version.php');
12
 
13
  require_once(dirname(__FILE__) . '/api/grw-api.php');
14
 
15
- define('GRW_VERSION', '1.49');
16
  define('GRW_GOOGLE_PLACE_API', 'https://maps.googleapis.com/maps/api/place/');
17
  define('GRW_GOOGLE_AVATAR', 'https://lh3.googleusercontent.com/-8hepWJzFXpE/AAAAAAAAAAI/AAAAAAAAAAA/I80WzYfIxCQ/s64-c/114307615494839964028.jpg');
18
  define('GRW_PLUGIN_URL', plugins_url(basename(plugin_dir_path(__FILE__ )), basename(__FILE__)));
4
  Plugin URI: https://richplugins.com/google-reviews-pro-wordpress-plugin
5
  Description: Instantly Google Places Reviews on your website to increase user confidence and SEO.
6
  Author: RichPlugins <support@richplugins.com>
7
+ Version: 1.5
8
  Author URI: https://richplugins.com/google-reviews-pro-wordpress-plugin
9
  */
10
 
12
 
13
  require_once(dirname(__FILE__) . '/api/grw-api.php');
14
 
15
+ define('GRW_VERSION', '1.5');
16
  define('GRW_GOOGLE_PLACE_API', 'https://maps.googleapis.com/maps/api/place/');
17
  define('GRW_GOOGLE_AVATAR', 'https://lh3.googleusercontent.com/-8hepWJzFXpE/AAAAAAAAAAI/AAAAAAAAAAA/I80WzYfIxCQ/s64-c/114307615494839964028.jpg');
18
  define('GRW_PLUGIN_URL', plugins_url(basename(plugin_dir_path(__FILE__ )), basename(__FILE__)));
languages/grw-nl_NL.mo ADDED
Binary file
languages/grw-nl_NL.po ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Language: nl\n"
4
+ "MIME-Version: 1.0\n"
5
+ "Content-Type: text/plain; charset=UTF-8\n"
6
+ "Content-Transfer-Encoding: 8bit\n"
7
+ "X-Generator: Poedit 1.8.11\n"
8
+ "Project-Id-Version: \n"
9
+ "POT-Creation-Date: \n"
10
+ "PO-Revision-Date: \n"
11
+ "Last-Translator: \n"
12
+ "Language-Team: \n"
13
+
14
+ msgid "Google Rating"
15
+ msgstr "Google Beoordelingen"
16
+
17
+ msgid "See All Reviews"
18
+ msgstr "Bekijk alle beoordelingen"
19
+
20
+ msgid "Google User"
21
+ msgstr "Google gebruiker"
22
+
23
+ msgid "read more"
24
+ msgstr "Lees meer"
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://richplugins.com/
4
  Tags: google, google reviews, google business reviews, google place review, Google Places, google places reviews, google review widget, google review, google map reviews, map reviews, review, reviews, google reviews widget, google plus reviews, g+ reviews, comment, comments, sidebar, widget, widgetpack, richplugins, facebook, facebook reviews, facebook business reviews, google reviews pro
5
  Requires at least: 2.8
6
  Tested up to: 4.7
7
- Stable tag: 1.49
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -12,7 +12,7 @@ Google Reviews Widget show Google Places Reviews on your WordPress website to in
12
 
13
  == Description ==
14
 
15
- > > To get more unique features we have <a href="https://richplugins.com/google-reviews-pro-wordpress-plugin">Pro and Business version</a> of plugin
16
 
17
  This plugin display Google Business Reviews on your websites in sidebar widget. A unique feature of the plugin is that it save all reviews in WordPress database and have no depend on any services like Google to show these reviews.
18
 
@@ -41,7 +41,7 @@ This plugin display Google Business Reviews on your websites in sidebar widget.
41
  * Auto-download new Google reviews daily
42
  * Collect and display more than 5 Google reviews
43
  * Supports Google Rich Snippets (schema.org)
44
- * 'Write a review' button to available leave Google review on your website
45
  * Grid theme to show G+ reviews in testimonials section
46
  * Trim long reviews and add "read more" link
47
  * Powerful <b>Shortcode Builder</b>
@@ -65,6 +65,11 @@ This plugin display Google Business Reviews on your websites in sidebar widget.
65
 
66
  == Changelog ==
67
 
 
 
 
 
 
68
  = 1.49 =
69
  * Bugfix: time-ago on English by default, update readme, added fr_FR locale
70
 
4
  Tags: google, google reviews, google business reviews, google place review, Google Places, google places reviews, google review widget, google review, google map reviews, map reviews, review, reviews, google reviews widget, google plus reviews, g+ reviews, comment, comments, sidebar, widget, widgetpack, richplugins, facebook, facebook reviews, facebook business reviews, google reviews pro
5
  Requires at least: 2.8
6
  Tested up to: 4.7
7
+ Stable tag: 1.5
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
12
 
13
  == Description ==
14
 
15
+ > > To get more unique features we have <a href="https://richplugins.com/google-reviews-pro-wordpress-plugin">Pro and Business version</a> plugin
16
 
17
  This plugin display Google Business Reviews on your websites in sidebar widget. A unique feature of the plugin is that it save all reviews in WordPress database and have no depend on any services like Google to show these reviews.
18
 
41
  * Auto-download new Google reviews daily
42
  * Collect and display more than 5 Google reviews
43
  * Supports Google Rich Snippets (schema.org)
44
+ * 'Write a review' button to available leave Google review directly on your website
45
  * Grid theme to show G+ reviews in testimonials section
46
  * Trim long reviews and add "read more" link
47
  * Powerful <b>Shortcode Builder</b>
65
 
66
  == Changelog ==
67
 
68
+ = 1.5 =
69
+ * Remove 'Live Support' tab from setting page
70
+ * Added instruction and video how to get Google Places API Key
71
+ * Added Dutch language (nl_NL)
72
+
73
  = 1.49 =
74
  * Bugfix: time-ago on English by default, update readme, added fr_FR locale
75
 
static/js/grp-place-finder.js CHANGED
@@ -212,7 +212,7 @@ minutes:function(a){return WPacTime.declineNum(Math.round(a),"un minuto fa","min
212
  main:function(a){var b=this,c=(a.cnt||document).querySelector(a.el);c.innerHTML=this.stars_render(a.size,a.color,a.stars,a.sum,a.count);if(!a.readonly){var c=c.querySelector(".wp-stars"),d=c.querySelectorAll(".wp-star");WPacFastjs.on(c,"mouseleave",function(a){WPacFastjs.each(d,function(a){var b=a.querySelector("path");a.setAttribute("data-hover","");b.setAttribute("d",WPacSVGIcon.path[a.getAttribute("data-origin")]);b.setAttribute("fill",a.getAttribute("data-color"))})});WPacFastjs.onall(d,"mouseout",
213
  function(){b.prevHover(a,this);b.nextHover(a,this)});WPacFastjs.onall(d,"click",function(){var c=parseInt(this.getAttribute("data-star"));a.clickable&&(this.parentNode.setAttribute("data-star",c),WPacFastjs.each(d,function(d){d.getAttribute("data-star")<=c?(d.setAttribute("data-origin","star"),d.setAttribute("data-color",b.color(a.color))):(d.setAttribute("data-origin","star_o"),d.setAttribute("data-color","#ccc"))}));a.cb&&a.cb(c)})}},stars_render:function(a,b,c,d,e){return this.render("html",{size:a,
214
  color:this.color(b),stars:this.stars(c||5),rating:this.rating(d,e)})},rating_render:function(a,b,c,d){return this.render("html",{size:b,color:this.color(c),stars:this.stars(d||5),rating:a})},color:function(a){return a?a.match(/^#[0-9a-zA-Z]+$/)?a:"#"+a:"#ff9800"},render:function(a,b){b.svg=WPacSVGIcon;return doT.template(this[a]||a)(b)},stars:function(a){for(var b=[],c=1;c<=a;c++)b.push(c);return b},rating:function(a,b){b=b||0;return 0<b?((a||0)/b).toFixed(1):0},prevHover:function(a,b){if(b){var c=
215
- b.getAttribute("data-hover");c&&"off"!=c||(c=b.querySelector("path"),c.setAttribute("d",WPacSVGIcon.path.star),c.setAttribute("fill",this.color(a.color)),b.setAttribute("data-hover","on"));this.prevHover(a,WPacFastjs.prev(b))}},nextHover:function(a,b){var c=WPacFastjs.next(b);if(c){var d=c.getAttribute("data-hover");d&&"on"!=d||(d=c.querySelector("path"),d.setAttribute("d",WPacSVGIcon.path.star_o),d.setAttribute("fill","#ccc"),c.setAttribute("data-hover","off"));this.nextHover(a,c)}}};var GRPPlaceFinder=GRPPlaceFinder||{_HTML:'<div class="wp-gri"><div class="row"><div class="col-sm-4"><div class="form form400 form-horizontal"><h4 class="text-left"><span class="wp-step">1</span>Find Place</h4><div class="form-group"><div class="col-sm-12"><input type="text" class="wp-place form-control" placeholder="Google Place Search Query"></div></div><div class="form-group wp-gkey-cnt" style="display:none"><div class="col-sm-12"><input type="text" class="wp-gkey form-control" placeholder="Google API Key" {{?it.google_api_key}}value="{{=it.google_api_key}}"{{?}}><small>Default limit of requests to Google Places API exceeded, to continue <a href="https://developers.google.com/places/web-service/get-api-key" target="_blank">get Google Places API key</a></small></div></div><div class="form-group"><div class="col-sm-12"><button class="wp-get-place btn btn-block btn-primary">Search Place</button></div></div><div class="form-group"><div class="col-sm-12"><h4 class="text-left"><span class="wp-step">2</span>Choice Place</h4><div class="wp-places"></div></div></div><div class="form-group"><div class="col-sm-12"><h4 class="text-left"><span class="wp-step">3</span>Save Place</h4><div class="wp-reviews"></div></div></div></div></div>{{?it.post_content}}{{=it.post_content}}{{?}}</div></div>',
216
  _PLACE_HTML:'<div class="media-left"><img class="media-object" src="{{=it.place.icon}}" alt="{{=it.place.name}}" style="width:32px;height:32px;"></div><div class="media-body"><h5 class="media-heading">{{=it.place.name}}</h5><div>{{?it.place.rating}}<span class="wp-grating">{{=it.place.rating}}</span><span class="wp-gstars"></span>{{?}}</div><small class="text-muted">{{=it.place.formatted_address}}</small></div>',_REVIEW_HTML:'<div class="media-left"><img class="media-object" src="{{=it.review.profile_photo_url || it.defava}}" alt="{{=it.review.author_name}}" onerror="if(this.src!=\'{{=it.defava}}\')this.src=\'{{=it.defava}}\';"></div><div class="media-body"><div class="media-heading"><a href="{{=it.review.author_url}}" target="_blank">{{=it.review.author_name}}</a></div><div class="wp-gtime">{{=it.time}}</div><div class="wp-gtext"><span class="wp-gstars"></span> {{=it.text}}</div></div>',
217
  _TEXT_HTML:'{{!it.t}} {{?it.h}}<span class="wp-more">{{!it.h}}</span><span class="wp-more-toggle" onclick="this.previousSibling.className=\'\';this.textContent=\'\';">read more</span>{{?}}',main:function(a){var b=this,c=document.getElementById(a.el||"wpac-greview-install");c.innerHTML=doT.template(b._HTML)({post_content:a.post_content,google_api_key:a.google_api_key});WPacFastjs.on2(c,".wp-get-place","click",function(){var d=c.querySelector(".wp-place").value;/^ChIJ.*$/.test(d)?(c.querySelector(".wp-places").innerHTML=
218
  "",b.details(a,c,d,!0)):b.textsearch(a,c,d);return!1});WPacFastjs.cbs(a,"ready")},textsearch:function(a,b,c){var d=this,e=b.querySelector(".wp-gkey").value,f=this.getLang();jQuery.get(a.app_host,{cf_action:"textsearch",query:c,key:e,lang:f,_textsearch_wpnonce:jQuery(a.nonce).val()},function(g){if("GOOGLE_COULDNT_CONNECT"==g.error)WPacXDM.post("https://embed.widgetpack.com","https://app.widgetpack.com/widget/google-review/place",{query:c,key:e,lang:f},function(c){return d.textsearchCallback(a,b,c.error,
212
  main:function(a){var b=this,c=(a.cnt||document).querySelector(a.el);c.innerHTML=this.stars_render(a.size,a.color,a.stars,a.sum,a.count);if(!a.readonly){var c=c.querySelector(".wp-stars"),d=c.querySelectorAll(".wp-star");WPacFastjs.on(c,"mouseleave",function(a){WPacFastjs.each(d,function(a){var b=a.querySelector("path");a.setAttribute("data-hover","");b.setAttribute("d",WPacSVGIcon.path[a.getAttribute("data-origin")]);b.setAttribute("fill",a.getAttribute("data-color"))})});WPacFastjs.onall(d,"mouseout",
213
  function(){b.prevHover(a,this);b.nextHover(a,this)});WPacFastjs.onall(d,"click",function(){var c=parseInt(this.getAttribute("data-star"));a.clickable&&(this.parentNode.setAttribute("data-star",c),WPacFastjs.each(d,function(d){d.getAttribute("data-star")<=c?(d.setAttribute("data-origin","star"),d.setAttribute("data-color",b.color(a.color))):(d.setAttribute("data-origin","star_o"),d.setAttribute("data-color","#ccc"))}));a.cb&&a.cb(c)})}},stars_render:function(a,b,c,d,e){return this.render("html",{size:a,
214
  color:this.color(b),stars:this.stars(c||5),rating:this.rating(d,e)})},rating_render:function(a,b,c,d){return this.render("html",{size:b,color:this.color(c),stars:this.stars(d||5),rating:a})},color:function(a){return a?a.match(/^#[0-9a-zA-Z]+$/)?a:"#"+a:"#ff9800"},render:function(a,b){b.svg=WPacSVGIcon;return doT.template(this[a]||a)(b)},stars:function(a){for(var b=[],c=1;c<=a;c++)b.push(c);return b},rating:function(a,b){b=b||0;return 0<b?((a||0)/b).toFixed(1):0},prevHover:function(a,b){if(b){var c=
215
+ b.getAttribute("data-hover");c&&"off"!=c||(c=b.querySelector("path"),c.setAttribute("d",WPacSVGIcon.path.star),c.setAttribute("fill",this.color(a.color)),b.setAttribute("data-hover","on"));this.prevHover(a,WPacFastjs.prev(b))}},nextHover:function(a,b){var c=WPacFastjs.next(b);if(c){var d=c.getAttribute("data-hover");d&&"on"!=d||(d=c.querySelector("path"),d.setAttribute("d",WPacSVGIcon.path.star_o),d.setAttribute("fill","#ccc"),c.setAttribute("data-hover","off"));this.nextHover(a,c)}}};var GRPPlaceFinder=GRPPlaceFinder||{_HTML:'<div class="wp-gri"><div class="row"><div class="col-sm-4"><div class="form form400 form-horizontal"><h4 class="text-left"><span class="wp-step">1</span>Find Place</h4><div class="form-group"><div class="col-sm-12"><input type="text" class="wp-place form-control" placeholder="Google Place Search Query"></div></div><div class="form-group wp-gkey-cnt" style="display:none"><div class="col-sm-12"><input type="text" class="wp-gkey form-control" placeholder="Google Places API Key" {{?it.google_api_key}}value="{{=it.google_api_key}}"{{?}}><small>Please register your own Google Places API server key:<br>1. Go to <a href="https://developers.google.com/places/web-service/get-api-key" target="_blank">Google Places API</a><br>2. Click by \'GET A KEY\' button<br>3. Agree term and click by \'CREATE AND ENABLE API\'<br>4. Copy key to plugin field<br><iframe src="//www.youtube.com/embed/uW-PTKeZAXs?rel=0" allowfullscreen="" style="width:100%"></iframe></small></div></div><div class="form-group"><div class="col-sm-12"><button class="wp-get-place btn btn-block btn-primary">Search Place</button></div></div><div class="form-group"><div class="col-sm-12"><h4 class="text-left"><span class="wp-step">2</span>Choice Place</h4><div class="wp-places"></div></div></div><div class="form-group"><div class="col-sm-12"><h4 class="text-left"><span class="wp-step">3</span>Save Place</h4><div class="wp-reviews"></div></div></div></div></div>{{?it.post_content}}{{=it.post_content}}{{?}}</div></div>',
216
  _PLACE_HTML:'<div class="media-left"><img class="media-object" src="{{=it.place.icon}}" alt="{{=it.place.name}}" style="width:32px;height:32px;"></div><div class="media-body"><h5 class="media-heading">{{=it.place.name}}</h5><div>{{?it.place.rating}}<span class="wp-grating">{{=it.place.rating}}</span><span class="wp-gstars"></span>{{?}}</div><small class="text-muted">{{=it.place.formatted_address}}</small></div>',_REVIEW_HTML:'<div class="media-left"><img class="media-object" src="{{=it.review.profile_photo_url || it.defava}}" alt="{{=it.review.author_name}}" onerror="if(this.src!=\'{{=it.defava}}\')this.src=\'{{=it.defava}}\';"></div><div class="media-body"><div class="media-heading"><a href="{{=it.review.author_url}}" target="_blank">{{=it.review.author_name}}</a></div><div class="wp-gtime">{{=it.time}}</div><div class="wp-gtext"><span class="wp-gstars"></span> {{=it.text}}</div></div>',
217
  _TEXT_HTML:'{{!it.t}} {{?it.h}}<span class="wp-more">{{!it.h}}</span><span class="wp-more-toggle" onclick="this.previousSibling.className=\'\';this.textContent=\'\';">read more</span>{{?}}',main:function(a){var b=this,c=document.getElementById(a.el||"wpac-greview-install");c.innerHTML=doT.template(b._HTML)({post_content:a.post_content,google_api_key:a.google_api_key});WPacFastjs.on2(c,".wp-get-place","click",function(){var d=c.querySelector(".wp-place").value;/^ChIJ.*$/.test(d)?(c.querySelector(".wp-places").innerHTML=
218
  "",b.details(a,c,d,!0)):b.textsearch(a,c,d);return!1});WPacFastjs.cbs(a,"ready")},textsearch:function(a,b,c){var d=this,e=b.querySelector(".wp-gkey").value,f=this.getLang();jQuery.get(a.app_host,{cf_action:"textsearch",query:c,key:e,lang:f,_textsearch_wpnonce:jQuery(a.nonce).val()},function(g){if("GOOGLE_COULDNT_CONNECT"==g.error)WPacXDM.post("https://embed.widgetpack.com","https://app.widgetpack.com/widget/google-review/place",{query:c,key:e,lang:f},function(c){return d.textsearchCallback(a,b,c.error,