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