PluginProbe
Site Reviews / trunk
Site Reviews vtrunk
8.3.1 8.3.0 8.2.2 8.2.1 8.2.0 8.1.0 8.0.13 8.0.12 8.0.11 trunk 1.2.2 2.17.1 3.5.4 4.7.0 5.25.1 6.11.8 7.0.10 7.0.11 7.0.12 7.0.13 7.0.14 7.0.15 7.0.16 7.0.17 7.0.18 All 54 releases
site-reviews / plugin / Controllers / GeolocationController.php

GeolocationController.php in Site Reviews trunk, at plugin/Controllers/GeolocationController.php

38 lines 1.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace GeminiLabs\SiteReviews\Controllers;
4
5 use GeminiLabs\SiteReviews\Helper;
6 use GeminiLabs\SiteReviews\Modules\Html\ReviewHtml;
7 use GeminiLabs\SiteReviews\Modules\Queue;
8 use GeminiLabs\SiteReviews\Review;
9
10 class GeolocationController extends AbstractController
11 {
12 /**
13 * @filter site-reviews/review/build/after
14 */
15 public function filterReviewTemplateTags(array $tags, Review $review, ReviewHtml $html): array
16 {
17 $tags['location'] = $html->buildTemplateTag($review, 'location', '');
18 return $tags;
19 }
20
21 /**
22 * @action site-reviews/review/created
23 */
24 public function geolocateReview(Review $review): void
25 {
26 if (defined('WP_IMPORTING')) {
27 return;
28 }
29 if (!glsr_get_option('reviews.geolocation', false, 'bool')) {
30 return;
31 }
32 if (Helper::isLocalIpAddress($review->ip_address)) {
33 return;
34 }
35 glsr(Queue::class)->once(time(), 'queue/geolocation', ['review_id' => $review->ID], true);
36 }
37 }
38