From 5b50afdcafd150186ea5c7b0e1cad98065590b35 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 28 Aug 2026 18:44:28 +0000
Subject: [PATCH] =A few more phpStorm suggestions, mainly in PHPDocs
---
inc/registrar/helpers/AddIntegrationFields.php | 28 ++++++++++++++++++++++------
1 files changed, 22 insertions(+), 6 deletions(-)
diff --git a/inc/registrar/helpers/AddIntegrationFields.php b/inc/registrar/helpers/AddIntegrationFields.php
index 29fe741..1a6fe68 100644
--- a/inc/registrar/helpers/AddIntegrationFields.php
+++ b/inc/registrar/helpers/AddIntegrationFields.php
@@ -1,6 +1,7 @@
<?php
namespace JVBase\registrar\helpers;
+use JVBase\integrations\ServiceMap;
use JVBase\registrar\config\Integration;
use JVBase\registrar\Registrar;
use JVBase\base\Site;
@@ -10,14 +11,15 @@
}
class AddIntegrationFields {
+ use ServiceMap;
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,6 +30,7 @@
$this->config = $registrar->getIntegration($service_name);
+ add_action('jvb_define_integrations', [$this, 'addIntegrationFields'],20);
}
protected function initAllowed():void
{
@@ -56,6 +59,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);
}
@@ -63,11 +67,16 @@
public function getIntegrationFields():array
{
+ if (!$this->getService($this->service_name)) {
+ error_log('Attempted to connect to unsupported service: '.$this->service_name);
+ return [];
+ }
$fields = [
'share_to_'.$this->service_name => [
'type' => 'true_false',
'label' => 'Share To '.$this->allowed[$this->service_name],
'section' => 'sync',
+ 'default' => 1
]
];
if ($this->config->getUpdate()){
@@ -79,7 +88,8 @@
'field' => 'share_to_'.$this->service_name,
'value' => 1,
'operator' => '=='
- ]
+ ],
+ 'default' => 1,
];
$fields["_{$this->service_name}_item_id"] = [
@@ -116,18 +126,24 @@
}
if ($this->config->getCanSchedule()) {
- $fields['schedule_'.$this->service_name] = [
+ $fields['_'.$this->service_name.'_scheduled_at'] = [
'type' => 'datetime',
'label' => 'Schedule for later?',
'condition' => [
'field' => 'share_to_'.$this->service_name,
'operator' => '==',
'value' => 1
- ]
+ ],
+ 'default' => 1,
];
}
- $additional = JVB()->connect($this->service_name)->getAdditionalFields($this->config->getContentType());
+
+ $additional = $this->getService($this->service_name)->getAdditionalFields($this->config->getContentType());
if (!empty($additional)) {
+ $additional = array_combine(
+ array_map(fn($k) => str_starts_with($k, '_'.$this->service_name) ? $k : "_{$this->service_name}_{$k}", array_keys($additional)),
+ $additional
+ );
$fields = array_merge($fields, $additional);
}
return $fields;
--
Gitblit v1.10.0