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 | 116 +++++++++++++++++++++++++++-------------------------------
1 files changed, 54 insertions(+), 62 deletions(-)
diff --git a/activate.php b/activate.php
index 0dad565..c76a65d 100644
--- a/activate.php
+++ b/activate.php
@@ -1,9 +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
@@ -11,22 +16,24 @@
function jvbActivatePlugin():void
{
- ob_start();
- $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
@@ -34,48 +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!');
+
+ 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 (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!');
-
- $output = ob_get_clean();
- if ( $output ) {
- // Grab a backtrace to see what caused the output
- $trace = debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS );
- $formatted = [];
- foreach ( $trace as $step ) {
- if ( isset( $step['file'], $step['line'] ) ) {
- $formatted[] = $step['file'] . ':' . $step['line'];
- }
- }
-
- error_log( "⚠️ Plugin activation produced unexpected output (" . strlen( $output ) . " chars)" );
- error_log( "Output: " . trim( $output ) );
- error_log( "Backtrace: " . implode( ' <- ', $formatted ) );
- }
}
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,
@@ -107,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);
@@ -123,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()
@@ -159,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',
@@ -203,6 +195,7 @@
jvbDeleteOptions();
jvbDeleteDashboard();
jvbDeleteDirectories();
+ Cache::flushAll();
do_action('jvbDeactivate');
}
@@ -238,14 +231,13 @@
$pages = new WP_Query([
'post_type' => BASE.'directory',
'posts_per_page' => -1,
- 'post_status' => 'any',
+ 'post_status' => ['publish', 'draft','trash'],
'fields' => 'ids'
]);
- if ($pages->have_posts()) {
- foreach ($pages->posts as $ID) {
- wp_delete_post($ID, true);
- }
- }
+ foreach ($pages->posts as $ID) {
+ wp_delete_post($ID, true);
+ }
+
}
function jvbClearSchedules()
{
@@ -276,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