From a9654f00c8fbc9934289d761843ddd071025013f Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Fri, 28 Aug 2026 17:20:28 +0000
Subject: [PATCH] =PHPStorm Code Inspection: fixed class reference errors (from getting rid of JVB() and replacing with direct class::getInstance; as well as general code sniffing, etc
---
inc/admin/Integrations.php | 82 +++++++++++++++++++++++++++-------------
1 files changed, 55 insertions(+), 27 deletions(-)
diff --git a/inc/admin/Integrations.php b/inc/admin/Integrations.php
index 2604c8b..91f63f0 100644
--- a/inc/admin/Integrations.php
+++ b/inc/admin/Integrations.php
@@ -1,17 +1,24 @@
<?php
namespace JVBase\admin;
+use JVBase\integrations\ServiceMap;
+use JVBase\managers\IconsManager;
+use JVBase\registrar\Registrar;
+
if (!defined('ABSPATH')) {
exit;
}
class Integrations
{
+ use ServiceMap;
+
public function __construct()
{
// Hook into WordPress admin
add_action('admin_menu', [$this, 'registerAdminPages']);
add_action('admin_enqueue_scripts', [$this, 'enqueueAdminAssets']);
+ add_action(BASE.'dashboard_page_integrations', [$this, 'renderDashPage'], 10);
}
/**
@@ -30,17 +37,15 @@
);
// Add submenu pages for configured integrations
- $integrations = JVB()->getAvailableServices(false);
-
- foreach($integrations as $service => $integration) {
-// if ($integration->isSetUp() && !empty($integration->enabledContentTypes())) {
- if (!empty($integration->enabledContentTypes())) {
+ foreach ($this->getAvailableServices() as $service) {
+ $integration = $this->getService($service);
+ if ($integration->isSetUp() && method_exists($integration, 'getAllowedContent') && !empty($integration->getAllowedContent())) {
add_submenu_page(
'jvb-integrations',
$integration->getTitle() . ' Defaults',
$integration->getTitle(),
'manage_options',
- 'jvb-integration-'.$service,
+ 'jvb-integration-'.$integration->getServiceName(),
[$integration, 'renderDefaults']
);
}
@@ -64,22 +69,38 @@
wp_enqueue_script(
'jvb-admin-scripts',
JVB_URL . 'assets/js/min/integrations.min.js',
- [],
+ ['jvb-auth'],
'1.0.0',
true
);
- wp_localize_script(
- 'jvb-admin-scripts',
- 'jvbSettings',
- [
- 'api' => rest_url('jvb/v1/'),
- 'currentUser' => get_current_user_id(),
- 'nonce' => wp_create_nonce('wp_rest'),
- ]
- );
+ IconsManager::for()->enqueueIconStyles();
+ IconsManager::for('dash')->enqueueIconStyles();
+ IconsManager::for('forms')->enqueueIconStyles();
+
+ $queue = [
+ 'api' => rest_url('jvb/v1/'),
+ 'redirect' => wp_login_url(home_url(add_query_arg(null, null))),
+ 'labels' => Registrar::getLabels(),
+ ];
+
+ wp_localize_script('jvb-auth', 'jvbSettings', $queue);
+//
+// wp_localize_script(
+// 'jvb-admin-scripts',
+// 'jvbSettings',
+// [
+// 'api' => rest_url('jvb/v1/'),
+// 'currentUser' => get_current_user_id(),
+// 'nonce' => wp_create_nonce('wp_rest'),
+// ]
+// );
}
+ public function renderDashPage():void
+ {
+ $this->renderPage();
+ }
/**
* Render the main integrations page
*/
@@ -92,23 +113,30 @@
<div class="jvb-admin-content">
<?php
// Display any admin notices from form submissions
- settings_errors('jvb_integrations');
+ if (is_admin()) {
+ settings_errors('jvb_integrations');
+ }
+
$this->displayNotices();
?>
<div class="item-grid integrations">
<?php
- $integrations = JVB()->getAvailableServices(false);
+ foreach ($this->getAvailableServices() as $service) {
+ $integration = $this->getService($service);
+ if ($integration->isSetUp() && method_exists($integration, 'renderConnection')) {
+ $integration->renderConnection();
+ }
+ }
- foreach ($integrations as $service => $integration):
- $integration->renderConnection();
- endforeach;
?>
</div>
</div>
</div>
- <?php $this->renderStyles(); ?>
+ <?php if (is_admin()) {
+ $this->renderStyles();
+ } ?>
<?php
}
@@ -247,7 +275,7 @@
--mt: 1rem;
--mb: 1rem;
--setMargin: var(--mt) var(--mr) var(--mb) var(--ml);
- --insetMargin: var(--mt) calc((var(--maxWidth) - var(--narrow)) / 2 + var(--mr)) var(--mb) var(--ml);
+ --insetMargin: var(--mt) calc((var(--content) - var(--narrow)) / 2 + var(--mr)) var(--mb) var(--ml);
--height: 4rem;
--doubleHeight: 8rem;
--offHeight: 5rem;
@@ -388,10 +416,10 @@
--scrollbar-width: 8px;
- --scrollbar-track-color: var(--base-100);
- --scrollbar-thumb-color: var(--action-0);
- --scrollbar-thumb-hover-color: var(--action-50);
- --scrollbar-thumb-border: 2px solid var(--base-50);
+ --scrollbar-track-color: rgb(var(--base-100));
+ --scrollbar-thumb-color: rgb(var(--action-0));
+ --scrollbar-thumb-hover-color: rgb(var(--action-50));
+ --scrollbar-thumb-border: 2px solid rgb(var(--base-50));
--scrollbar-border-radius: 4px;
}
.item-grid.integrations {
--
Gitblit v1.10.0