Jake Vanderwerf
2026-03-03 772462eeca3002a1d52508aeba485aab2b4742ad
activate.php
@@ -2,9 +2,13 @@
use JVBase\integrations\Umami;
use JVBase\managers\Cache;
use JVBase\managers\CustomTable;
use JVBase\managers\DirectoryManager;
use JVBase\managers\queue\Queue;
use JVBase\managers\ReferralManager;
use JVBase\managers\RoleManager;
use JVBase\managers\SEO\SEOAdminPage;
use JVBase\registrar\Registrar;
use JVBase\utility\Features;
if (!defined('ABSPATH')) {
@@ -13,21 +17,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();
   Queue::defineTables();
   CustomTable::ensureTables();
//    (new JVBase\registry\CheckCustomTables())->maybeCreateTables();
   error_log('Tables created!');
    // Store schema version
@@ -36,7 +43,9 @@
    jvbSchedules();
   error_log('Schedules done!');
   error_log('checking Admin capabilities...');
    jvbAddAdminCaps();
   jvb_register_do_once('admin_caps', 'jvbAddAdminCaps');
   error_log('Admin caps done!');
   error_log('Removing unneeded roles...');
    remove_role('contributor');
@@ -50,22 +59,23 @@
      Umami::createTables();
   }
   if (Features::forSite()->has('is_directory')) {
      error_log('Activating DirectoryManager');
      DirectoryManager::activate();
   }
// if (Features::forSite()->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 +107,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 +124,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()
@@ -269,5 +280,5 @@
   if (Features::forSite()->has('referrals')){
      ReferralManager::addSubpage();
   }
   SEOAdminPage::addSubpage();
// SEOAdminPage::addSubpage();
}