PluginProbe ʕ •ᴥ•ʔ
Reviews Feed – Add Testimonials and Customer Reviews From Google Reviews, Yelp, TripAdvisor, and More / 2.6.7
Reviews Feed – Add Testimonials and Customer Reviews From Google Reviews, Yelp, TripAdvisor, and More v2.6.7
2.11.0 2.10.0 2.9.0 2.8.0 2.7.0 2.6.7 2.6.8 2.6.5 2.6.4 2.6.3 2.6.2 2.6.0 2.5.5 2.5.4 2.5.3 2.5.2 trunk 1.0 1.0.1 1.0.2 1.0.3 1.1 1.1.1 1.1.2 1.2.0 2.0 2.1.0 2.1.1 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.5.0 2.5.1
reviews-feed / class / Common / FeedCacheUpdater.php
reviews-feed / class / Common Last commit date
Admin 2 months ago Builder 2 months ago Customizer 2 months ago Exceptions 2 months ago Helpers 2 months ago Integrations 2 months ago Migrations 2 months ago ReviewAlerts 2 months ago Services 2 months ago Settings 2 months ago Support 2 months ago Traits 2 months ago Utils 2 months ago AuthorizationStatusCheck.php 2 months ago BusinessDataCache.php 2 months ago Clear_Cache.php 2 months ago Container.php 2 months ago DisplayElements.php 2 months ago Email_Notification.php 2 months ago Error_Reporter.php 2 months ago Feed.php 2 months ago FeedCache.php 2 months ago FeedCacheUpdater.php 2 months ago FeedDisplay.php 2 months ago Feed_Locator.php 2 months ago Parser.php 2 months ago PostAggregator.php 2 months ago RemoteRequest.php 2 months ago SBR_Education.php 2 months ago SBR_Settings.php 2 months ago ServiceContainer.php 2 months ago SinglePostCache.php 2 months ago TemplateRenderer.php 2 months ago Tooltip_Wizard.php 2 months ago Util.php 2 months ago
FeedCacheUpdater.php
63 lines
1 <?php
2
3 /**
4 * Class FeedCacheUpdater
5 *
6 * @since 1.0
7 */
8
9 namespace SmashBalloon\Reviews\Common;
10
11 class FeedCacheUpdater {
12 /**
13 * @var array
14 */
15 private $batch;
16
17 public function __construct($batch)
18 {
19 $this->batch = $batch;
20 }
21
22 public function do_updates()
23 {
24 $refreshed_feed_ids = array();
25
26 foreach ($this->batch as $single_feed) {
27 $feed_id = ! empty($single_feed['feed_id']) ? (int) $single_feed['feed_id'] : 0;
28 if ($feed_id <= 0) {
29 continue;
30 }
31
32 // Hydrate the feed settings from wp_sbr_feeds the same way the
33 // shortcode render path does — without this, the Feed constructor
34 // gets a near-empty settings array (just `['feed' => N]`) and
35 // update_posts_cache()/update_header_cache() short-circuit on the
36 // `empty($settings['sources'])` guard, leaving the cron a silent
37 // no-op for the cached upstream fetch it is supposed to drive.
38 $settings = SBR_Settings::get_settings_by_feed_id($feed_id, false, false);
39 $feed_cache = new FeedCache((string) $feed_id, 0);
40
41 $feed = Util::sbr_is_pro()
42 ? new \SmashBalloon\Reviews\Pro\Feed($settings, $feed_id, $feed_cache)
43 : new \SmashBalloon\Reviews\Common\Feed($settings, $feed_id, $feed_cache);
44
45 $feed->init();
46 if (! empty($feed->get_errors())) {
47 continue;
48 }
49
50 $feed->get_set_cache();
51 $refreshed_feed_ids[] = $feed_id;
52 }
53
54 // Notify listeners that the upstream-cache rows have been repopulated.
55 // SBR_Feed_Saver_Manager subscribes here to re-flush 3rd-party page
56 // caches (WP Rocket / LiteSpeed / W3TC etc) so any empty-feed HTML
57 // they baked during the cron warm-up window is evicted.
58 if (! empty($refreshed_feed_ids)) {
59 do_action('sbr_after_cron_refresh', $refreshed_feed_ids);
60 }
61 }
62 }
63