From fff721dd185f5b97f7ae7a6e64189e55887ff590 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Sun, 05 Jul 2026 18:36:57 +0000
Subject: [PATCH] =Cleaning up the Square integration (still a bit more to do yet). Also majorly overhauled /rest/ files to ignore a rest request 'user' paramater, and rely on get_current_user_id() instead.
---
inc/integrations/Facebook.php | 33 ++++++++++++++++++++++++++-------
1 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/inc/integrations/Facebook.php b/inc/integrations/Facebook.php
index e4e3a96..f30ee8f 100644
--- a/inc/integrations/Facebook.php
+++ b/inc/integrations/Facebook.php
@@ -5,8 +5,8 @@
*/
namespace JVBase\integrations;
-use JVBase\meta\MetaManager;
use Exception;
+use JVBase\meta\Meta;
use WP_Error;
use WP_Post;
@@ -17,6 +17,15 @@
class Facebook extends Integrations
{
// Facebook-specific properties
+ protected array $allowedContent = [
+ 'post',
+ 'photo',
+ 'video',
+ 'event',
+ 'offer',
+ 'note',
+ 'milestone'
+ ];
private string $page_id = '';
private string $page_access_token = '';
private array $permissions = [];
@@ -33,7 +42,17 @@
'milestone' => 'milestones'
];
- public function __construct(?int $userID = null)
+ protected static array $instances = [];
+ public static function getInstance(?int $userID = null):self
+ {
+ $key = is_null($userID) ? 'base' : $userID;
+ if (!array_key_exists($key, self::$instances)) {
+ self::$instances[$key] = new self($userID);
+ }
+ return self::$instances[$key];
+ }
+
+ protected function __construct(?int $userID = null)
{
$this->service_name = 'facebook';
$this->title = 'Facebook';
@@ -524,18 +543,18 @@
private function createFacebookEvent(array $data): array
{
$post = get_post($data['post_id']);
- $meta = new MetaManager($post->ID, 'post');
+ $meta = Meta::forPost($post->ID);
$event_data = [
'name' => $post->post_title,
'description' => $this->formatPostContent($post),
- 'start_time' => $meta->getValue('event_start_date'),
- 'end_time' => $meta->getValue('event_end_date'),
+ 'start_time' => $meta->get('event_start_date'),
+ 'end_time' => $meta->get('event_end_date'),
'access_token' => $this->page_access_token
];
// Add location if available
- $location = $meta->getValue('event_location');
+ $location = $meta->get('event_location');
if ($location) {
$event_data['location'] = $location;
}
@@ -563,7 +582,7 @@
/**
* Helper: Get user's Facebook pages
*/
- private function getUserPages(string $access_token = null): array
+ private function getUserPages(?string $access_token = null): array
{
$token = $access_token ?: $this->credentials['access_token'];
--
Gitblit v1.10.0