From 56a9a1ccf764ff7a6af8f8a2292cb07443cb4aa7 Mon Sep 17 00:00:00 2001
From: Jake Vanderwerf <get@jakevanderwerf.ca>
Date: Thu, 28 May 2026 18:19:57 +0000
Subject: [PATCH] =New Gitbit setpu

---
 activate.php |   90 +++++++++++++++++++++++----------------------
 1 files changed, 46 insertions(+), 44 deletions(-)

diff --git a/activate.php b/activate.php
index 8287709..c76a65d 100644
--- a/activate.php
+++ b/activate.php
@@ -1,11 +1,14 @@
 <?php
 
-use JVBase\integrations\Umami;
 use JVBase\managers\Cache;
+use JVBase\managers\CustomTable;
+use JVBase\base\Site;
+use JVBase\managers\DashboardManager;
 use JVBase\managers\DirectoryManager;
+use JVBase\managers\queue\Queue;
 use JVBase\managers\ReferralManager;
-use JVBase\managers\SEO\SEOAdminPage;
-use JVBase\utility\Features;
+use JVBase\managers\RoleManager;
+use JVBase\registrar\Registrar;
 
 if (!defined('ABSPATH')) {
     exit; // Exit if accessed directly
@@ -13,21 +16,24 @@
 
 function jvbActivatePlugin():void
 {
-	$validator = new JVBase\utility\Validator();
-	$validation = $validator->validateAll();
-	error_log('Validation result: '.print_r($validation, true));
-	$checker = JVBase\utility\Checker::getInstance();
-	error_log('Doing our activation action...');
+//	$validator = new JVBase\utility\Validator();
+//	$validation = $validator->validateAll();
+//	error_log('Validation result: '.print_r($validation, true));
+//	$checker = JVBase\utility\Checker::getInstance();
+//	error_log('Doing our activation action...');
 	// Get ContentRegistry instance early
-	$registry = new JVBase\registry\ContentRegistry();
+//	$registry = new JVBase\registry\ContentRegistry();
 	// Initialize content types
-	$registry->onActivation();
-	$checker->invalidateContentCache();
-	$checker->invalidateTaxonomyCache();
+//	$registry->onActivation();
+//	$checker->invalidateContentCache();
+//	$checker->invalidateTaxonomyCache();
     do_action(BASE.'activation');
 	error_log('Action done!');
 	error_log('Checking custom tables...');
-    (new JVBase\registry\CheckCustomTables())->maybeCreateTables();
+	CustomTable::ensureTables();
+	error_log('Dashboard is setup: '.print_r(JVB()->dashboard(), true));
+
+//    (new JVBase\registry\CheckCustomTables())->maybeCreateTables();
 	error_log('Tables created!');
 
     // Store schema version
@@ -35,37 +41,32 @@
 	error_log('Starting schedules...');
     jvbSchedules();
 	error_log('Schedules done!');
-	error_log('checking Admin capabilities...');
-    jvbAddAdminCaps();
-	error_log('Admin caps done!');
-	error_log('Removing unneeded roles...');
-    remove_role('contributor');
-    remove_role('author');
-    remove_role('editor');
-	error_log('Roles removed!');
-	error_log('New Roles done!');
-	jvbRegisterAdminPages();
-	if (array_key_exists('integrations', JVB_SITE) && array_key_exists('umami', JVB_SITE['integrations']) && JVB_SITE['integrations']['umami']=== true) {
-		error_log('Adding Umami tables');
-		Umami::createTables();
-	}
 
-	if (Features::forSite()->has('is_directory')) {
-		error_log('Activating DirectoryManager');
-		DirectoryManager::activate();
-	}
+	RoleManager::activate();
+
+	jvbRegisterAdminPages();
+//	if (array_key_exists('integrations', JVB_SITE) && array_key_exists('umami', JVB_SITE['integrations']) && JVB_SITE['integrations']['umami']=== true) {
+//		error_log('Adding Umami tables');
+//		Umami::createTables();
+//	}
+
+//	if (Site::has('is_directory')) {
+//		error_log('Activating DirectoryManager');
+//		jvb_register_do_once('buildDirectory', ['JVBase\managers\DirectoryManager', 'activate']);
+//	}
 	error_log('Activation done! Huzzah!');
 }
 
 function jvbAddAdminCaps()
 {
-	$roleManager = new \JVBase\managers\RoleManager();
+	$roleManager = new RoleManager();
+
 
 	$role = get_role('administrator');
 	$users = get_users(['role' => 'administrator']);
-    foreach (JVB_CONTENT as $slug => $config) {
-
-		$plural = strtolower($config['plural']);
+    foreach (array_merge(Registrar::getRegistered('post'), Registrar::getFeatured('is_content')) as $slug) {
+		error_log('Adding administrative roles to '.$slug);
+		$plural = $roleManager->getContentPlural($slug);
 		$capabilities = [
 			'edit_' . $plural,
 			'edit_published_' . $plural,
@@ -97,14 +98,15 @@
 function jvbGrantAdminUserCaps()
 {
 	// Only run once after activation
-	if (get_option('jvb_admin_caps_granted') === '1') {
+	if (get_option(BASE.'admin_caps_granted') === '1') {
 		return;
 	}
 
-	$roleManager = new \JVBase\managers\RoleManager();
+	$roleManager = new RoleManager();
 	$users = get_users(['role' => 'administrator']);
 
-	foreach (JVB_CONTENT as $slug => $config) {
+	foreach (array_merge(Registrar::getRegistered('post'), Registrar::getFeatured('is_content', 'term')) as $slug) {
+
 		foreach ($users as $user) {
 			// These methods should check if post type exists before adding caps
 			$roleManager->grantContent($user, $slug);
@@ -113,7 +115,7 @@
 	}
 
 	// Mark as complete to prevent running again
-	update_option('jvb_admin_caps_granted', '1');
+	update_option(BASE.'admin_caps_granted', '1');
 	remove_action('init', 'jvbGrantAdminUserCaps', 99);
 }
 function jvbScheduledHooks()
@@ -149,16 +151,16 @@
             'time'              => '12:03am tomorrow',
         ],
         //NotificationManager.php
-        'jvb_notification_digest_daily' =>
+        BASE.'notification_digest_daily' =>
             [
                 'time'  => '8:08am tomorrow',
             ],
-        'jvb_notification_digest_weekly' =>
+        BASE.'notification_digest_weekly' =>
             [
                 'time'       => 'monday 6:07am',
                 'recurrence' => 'weekly',
             ],
-        'jvb_notification_digest_monthly' =>
+        BASE.'notification_digest_monthly' =>
             [
                 'time'       => '2025-05-05 9:00am',
                 'recurrence' => 'monthly',
@@ -266,8 +268,8 @@
 
 function jvbRegisterAdminPages():void
 {
-	if (Features::forSite()->has('referrals')){
+	if (Site::has('referrals')){
 		ReferralManager::addSubpage();
 	}
-	SEOAdminPage::addSubpage();
+//	SEOAdminPage::addSubpage();
 }

--
Gitblit v1.10.0