Jake Vanderwerf
111 mins ago 3baf3d2545ba6ece6b74a64c0def59bd0774cf54
inc/registrar/helpers/AddIntegrationFields.php
@@ -3,7 +3,7 @@
use JVBase\registrar\config\Integration;
use JVBase\registrar\Registrar;
use JVBase\utility\Features;
use JVBase\base\Site;
if (!defined('ABSPATH')) {
   exit;
@@ -11,13 +11,13 @@
class AddIntegrationFields {
   protected string $service_name;
   protected Registrar $registrar;
   private Registrar $registrar;
   protected Integration $config;
   protected array $allowed;
   public function __construct(string $service_name, ?Registrar $registrar = null) {
      $this->initAllowed();
      if (!in_array($service_name, $this->allowed)) {
      if (!array_key_exists($service_name, $this->allowed)) {
         return;
      }
@@ -28,26 +28,27 @@
      $this->config = $registrar->getIntegration($service_name);
      add_action('jvb_define_integrations', [$this, 'addIntegrationFields'],20);
   }
   protected function initAllowed():void
   {
      $allowed = [];
      if (Features::hasIntegration('gmb')) {
      if (Site::hasIntegration('gmb')) {
         $allowed['gmb'] = 'Google My Business';
      }
      if (Features::hasIntegration('facebook')) {
      if (Site::hasIntegration('facebook')) {
         $allowed['facebook'] = 'Facebook';
      }
      if (Features::hasIntegration('square')) {
      if (Site::hasIntegration('square')) {
         $allowed['square'] = 'Square';
      }
      if (Features::hasIntegration('instagram')) {
      if (Site::hasIntegration('instagram')) {
         $allowed['instagram'] = 'Instagram';
      }
      if (Features::hasIntegration('bluesky')) {
      if (Site::hasIntegration('bluesky')) {
         $allowed['bluesky'] = 'BlueSky';
      }
      if (Features::hasIntegration('helcim')) {
      if (Site::hasIntegration('helcim')) {
         $allowed['helcim'] = 'Helcim';
      }
      $this->allowed = $allowed;
@@ -56,6 +57,7 @@
   public function addIntegrationFields():void
   {
      $fields = $this->getIntegrationFields();
//    error_log('[AddIntegrationFields] adding fields for '.$this->service_name.': '.print_r($fields, true));
      foreach ($fields as $fieldName => $fieldConfig) {
         $this->registrar->fields()->addField($fieldName, $fieldConfig);
      }