| | |
| | | <?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\RoleManager; |
| | | use JVBase\managers\SEO\SEOAdminPage; |
| | | use JVBase\registrar\Registrar; |
| | | use JVBase\utility\Features; |
| | | |
| | | if (!defined('ABSPATH')) { |
| | | exit; // Exit if accessed directly |
| | |
| | | |
| | | function jvbActivatePlugin():void |
| | | { |
| | | |
| | | // $validator = new JVBase\utility\Validator(); |
| | | // $validation = $validator->validateAll(); |
| | | // error_log('Validation result: '.print_r($validation, true)); |
| | |
| | | do_action(BASE.'activation'); |
| | | error_log('Action done!'); |
| | | error_log('Checking custom tables...'); |
| | | Queue::defineTables(); |
| | | CustomTable::ensureTables(); |
| | | error_log('Dashboard is setup: '.print_r(JVB()->dashboard(), true)); |
| | | |
| | | // (new JVBase\registry\CheckCustomTables())->maybeCreateTables(); |
| | | error_log('Tables created!'); |
| | | |
| | |
| | | error_log('Starting schedules...'); |
| | | jvbSchedules(); |
| | | error_log('Schedules done!'); |
| | | error_log('checking Admin capabilities...'); |
| | | |
| | | jvb_register_do_once('admin_caps', 'jvbAddAdminCaps'); |
| | | RoleManager::activate(); |
| | | |
| | | 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 (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')) { |
| | | // if (Site::has('is_directory')) { |
| | | // error_log('Activating DirectoryManager'); |
| | | // jvb_register_do_once('buildDirectory', ['JVBase\managers\DirectoryManager', 'activate']); |
| | | // } |
| | |
| | | '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', |
| | |
| | | |
| | | function jvbRegisterAdminPages():void |
| | | { |
| | | if (Features::forSite()->has('referrals')){ |
| | | if (Site::has('referrals')){ |
| | | ReferralManager::addSubpage(); |
| | | } |
| | | // SEOAdminPage::addSubpage(); |