From 42fa8304ddb811b0f725f245130f70c0f5e86a6c Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Tue, 04 Nov 2025 06:12:02 +0000
Subject: [PATCH] =Refactored LoginManager to be more extensible and configurable, as well as an AjaxRateLimiter

---
 jvb.php |   61 ++++++++++++++++--------------
 1 files changed, 32 insertions(+), 29 deletions(-)

diff --git a/jvb.php b/jvb.php
index fb13350..9fd28df 100644
--- a/jvb.php
+++ b/jvb.php
@@ -21,7 +21,7 @@
 const JVB_LOCAL = 'northeh.test';
 
 add_filter('show_admin_bar', '__return_false');
-const JVB_TESTING = false;
+const JVB_TESTING = true;
 
 const JVB_DIR = WP_PLUGIN_DIR . '/jvb';
 define('JVB_URL', plugin_dir_url(__FILE__));
@@ -59,10 +59,10 @@
 require(JVB_DIR . '/activate.php');
 
 require(JVB_DIR . '/inc/helpers/all.php');
+require(JVB_DIR . '/inc/meta/_setup.php');
 require(JVB_DIR . '/inc/managers/_setup.php');
 require(JVB_DIR . '/inc/integrations/_setup.php');
 require(JVB_DIR . '/inc/rest/_setup.php');
-require(JVB_DIR . '/inc/meta/_setup.php');
 
 add_filter( 'cron_schedules', 'jvbCronSchedules');
 function jvbCronSchedules($schedules)
@@ -161,7 +161,7 @@
 /**
  * Scripts
  */
-add_action('wp_enqueue_scripts', 'jvbScripts', 999);
+add_action('wp_enqueue_scripts', 'jvbScripts', 10);
 
 function jvbScripts():void
 {
@@ -208,6 +208,21 @@
 	);
 
 	wp_register_script(
+		'jvb-settings',
+		JVB_URL.'assets/js/min/settings.min.js',
+		[
+//			'jvb-queue',
+			'jvb-utility',
+			'jvb-data-store'
+		],
+		'1.0.0',
+		[
+			'strategy'    => 'defer',
+			'in_footer'    => true,
+		]
+	);
+
+	wp_register_script(
 		'jvb-popup',
 		JVB_URL.'assets/js/min/popup.min.js',
 		[
@@ -594,7 +609,8 @@
             'jvb-selector',
             'jvb-uploader',
 			'sortable-js',
-			'jvb-populate-form'
+			'jvb-populate-form',
+			'jvb-quill',
         ],
         '1.0.0',
         [
@@ -631,6 +647,7 @@
         JVB_URL.'assets/js/min/crud.min.js',
         [
 			'jvb-selector',
+			'jvb-settings',
             'jvb-a11y',
             'jvb-error',
             'jvb-data-store',
@@ -653,6 +670,7 @@
 		'jvb-view',
 		JVB_URL.'assets/js/min/view.min.js',
 		[
+			'jvb-settings',
 			'jvb-a11y',
 			'jvb-utility',
 			'jvb-data-store',
@@ -778,18 +796,15 @@
 
     add_action('wp_head', 'jvbInlineNavStyles');
 
-    wp_enqueue_script('jvb-queue');
+	if (Features::forSite()->has('dashboard')) {
+		wp_enqueue_script('jvb-queue');
+	}
+
+	wp_enqueue_script('jvb-settings');
     wp_enqueue_script('jvb-navigation');
 //    wp_enqueue_script('jvb-ui');
     wp_enqueue_script('jvb-media');
     wp_enqueue_script('jvb-cache');
-    wp_localize_script(
-        'jvb-cache',
-        'cacheJVB',
-        [
-            'cache' => json_encode(jvbGetCache())
-        ]
-    );
 
 
 
@@ -815,7 +830,9 @@
 			'labels'			=> jvbGetLabels(),
         ];
 
-    wp_localize_script('jvb-queue', 'jvbSettings', $queue);
+    wp_localize_script('jvb-utility', 'jvbSettings', $queue);
+
+
 
 	$initUserSettings = 'async function initUserItems() {
 	if (!jvbSettings.currentUser) return;
@@ -919,7 +936,7 @@
 //        ');
 //        }
     }
-    if (is_user_logged_in()) {
+    if (is_user_logged_in() && Features::forSite()->has('notifications')) {
         wp_enqueue_script('jvb-notifications');
 
         wp_localize_script('jvb-notifications', 'notificationSettings', array(
@@ -995,21 +1012,7 @@
 //add_action('wp_head', 'jvbDumpIt');
 function jvbDumpIt()
 {
-
+	jvbDump(get_post_type_archive_link(BASE.'faq'));
 }
 
-//add_filter('map_meta_cap', function($caps, $cap, $user_id, $args) {
-//	error_log('Caps: '.print_r($caps, true));
-//	error_log('Cap: '.print_r($cap, true));
-//	error_log('User ID: '.print_r($user_id, true));
-//	error_log('Args: '.print_r($args, true));
-//	return $caps;
-//}, 10, 4);
-
-add_action( 'doing_it_wrong_run', function( $function, $message, $version ) {
-	if ( 'map_meta_cap' === $function ) {
-		error_log( "Map Meta Cap Wrong: $message" );
-		error_log( print_r( wp_debug_backtrace_summary( null, 0, false ), true ) );
-	}
-}, 10, 3 );
 

--
Gitblit v1.10.0