Jake Vanderwerf
2026-05-31 d7e7d248cbe41cd7a9ef9c2fb022b6c4831f99a3
inc/integrations/GoogleMyBusiness.php
@@ -1,8 +1,7 @@
<?php
namespace JVBase\integrations;
use JVBase\meta\MetaManager;
use JVBase\managers\CacheManager;
use JVBase\meta\Meta;
use WP_Error;
if (!defined('ABSPATH')) {
   exit;
@@ -129,7 +128,9 @@
         ]
      );
//    $this->cache->clear();
      if (JVB_TESTING) {
         $this->cache->flush();
      }
   }
   protected function initialize(): void
@@ -281,7 +282,7 @@
      }
      $postID = $data['post_id'];
      $meta = new MetaManager($postID, 'post');
      $meta = Meta::forPost($postID);
      $fields = [
         'start_date',
         'end_date',
@@ -317,7 +318,7 @@
         $result =  $this->updatePost($fields["_{$this->service_name}_item_id"], $data);
      } else {
         $result = $this->createPost($data);
         $meta->updateValue("_{$this->service_name}_item_id", $result['name']);
         $meta->set("_{$this->service_name}_item_id", $result['name']);
      }
      return [
@@ -338,7 +339,7 @@
      }
      $postID = $data['post_id'];
      $meta = new MetaManager($postID, 'post');
      $meta = Meta::forPost($postID);
      $fields = [
         'post_excerpt',
         'post_title',
@@ -370,7 +371,7 @@
         $result =  $this->updatePost($fields["_{$this->service_name}_item_id"], $data);
      } else {
         $result = $this->createPost($data);
         $meta->updateValue("_{$this->service_name}_item_id", $result['name']);
         $meta->set("_{$this->service_name}_item_id", $result['name']);
      }
      return [
@@ -392,7 +393,7 @@
      }
      $postID = $data['post_id'];
      $meta = new MetaManager($postID, 'post');
      $meta = Meta::forPost($postID);
      $fields = [
         'post_excerpt',
         'post_title',
@@ -421,7 +422,7 @@
         $result =  $this->updatePost($fields["_{$this->service_name}_item_id"], $data);
      } else {
         $result = $this->createPost($data);
         $meta->updateValue("_{$this->service_name}_item_id", $result['name']);
         $meta->set("_{$this->service_name}_item_id", $result['name']);
      }
      return [
@@ -1737,9 +1738,7 @@
      $text = preg_replace('/\s+/', ' ', $text);
      // Trim
      $text = trim($text);
      return $text;
      return trim($text);
   }
   /**
    * Format date for GMB API
@@ -1780,11 +1779,10 @@
         // Validate hour and minute ranges
         if ($hour >= 0 && $hour <= 23 && $minute >= 0 && $minute <= 59) {
            $result = [
            return [
               'hours' => $hour,
               'minutes' => $minute
            ];
            return $result;
         }
      }
@@ -2074,9 +2072,7 @@
         [],
         'posts'
      );
      $result = $response['foodMenus'] ?? [];
      return $result;
      return $response['foodMenus'] ?? [];
   }
   /**
@@ -2279,7 +2275,7 @@
   {
      try {
         // Use the static method to clear the entire cache group
         $this->cache->clear();
         $this->cache->flush();
         return true;
      } catch (\Exception $e) {
@@ -2351,12 +2347,11 @@
            'dailyRange.endDate.day' => date('j', strtotime($end_date))
         ];
         $response = $this->getRequest(
            "/v1/{$location_name}:fetchMultiDailyMetricsTimeSeries?" . http_build_query($params),
            $params,
            'performance'
         );
      return $response;
      return $this->getRequest(
         "/v1/{$location_name}:fetchMultiDailyMetricsTimeSeries?" . http_build_query($params),
         $params,
         'performance'
      );
   }
   /**
@@ -2475,7 +2470,7 @@
   protected function collectMenu(array $menu_items): array
   {
      $defaultMeta = new MetaManager($this->userID, 'integrations');
      $defaultMeta = Meta::forOptions($this->userID.'_integrations');
      $defaults = ['menu_name', 'menu_description', 'default_section', 'cuisines', 'source_url', 'language', 'default_currency'];
      $defaults = $defaultMeta->getAll($defaults);
@@ -2536,7 +2531,7 @@
   protected function buildMenuItem(\WP_Post $item, array $defaults):array
   {
      $meta = new MetaManager($item->ID, 'post');
      $meta = Meta::forPost($item->ID);
      $fields = $this->mappedMenuFields($item->post_type);
      $values = $meta->getAll(array_values($fields));
@@ -2665,8 +2660,8 @@
   protected function getMenuSectionsOrder(array $sections_map):array
   {
      $optionsMeta = new MetaManager(null, 'options');
      $sectionOrder = $optionsMeta->getValue('menu_section_order');
      $optionsMeta = Meta::forOptions('options');
      $sectionOrder = $optionsMeta->get('menu_section_order');
      // Build final GMB menu structure
      $ordered = [];
@@ -2702,8 +2697,8 @@
      // Collect cuisines from individual items if specified
      foreach ($menu_items as $item) {
         $meta = new MetaManager($item->ID, 'post');
         $item_cuisines = $meta->getValue('cuisines');
         $meta = Meta::forPost($item->ID);
         $item_cuisines = $meta->get('cuisines');
         if (!empty($item_cuisines)) {
            $item_cuisines = is_array($item_cuisines) ?