| | |
| | | use JVBase\managers\Cache; |
| | | use JVBase\managers\CustomTable; |
| | | use JVBase\base\Site; |
| | | use JVBase\managers\queue\Queue; |
| | | use JVBase\managers\ReferralManager; |
| | | use JVBase\managers\RoleManager; |
| | | use JVBase\managers\Referrals; |
| | | use JVBase\managers\Roles; |
| | | use JVBase\registrar\Registrar; |
| | | |
| | | if (!defined('ABSPATH')) { |
| | |
| | | do_action(BASE.'activation'); |
| | | error_log('Action done!'); |
| | | error_log('Checking custom tables...'); |
| | | Queue::defineTables(); |
| | | CustomTable::ensureTables(); |
| | | |
| | | |
| | | // (new JVBase\registry\CheckCustomTables())->maybeCreateTables(); |
| | | error_log('Tables created!'); |
| | | |
| | | // Store schema version |
| | | update_option('jvb_db_version', '1.0.0'); |
| | | update_option(BASE.'db_version', '1.0.0'); |
| | | error_log('Starting schedules...'); |
| | | jvbSchedules(); |
| | | error_log('Schedules done!'); |
| | | |
| | | RoleManager::activate(); |
| | | Roles::activate(); |
| | | |
| | | jvbRegisterAdminPages(); |
| | | // if (array_key_exists('integrations', JVB_SITE) && array_key_exists('umami', JVB_SITE['integrations']) && JVB_SITE['integrations']['umami']=== true) { |
| | |
| | | |
| | | function jvbAddAdminCaps() |
| | | { |
| | | $roleManager = new RoleManager(); |
| | | $roleManager = new Roles(); |
| | | |
| | | |
| | | $role = get_role('administrator'); |
| | | $users = get_users(['role' => 'administrator']); |
| | | foreach (array_merge(Registrar::getRegistered('post'), Registrar::getFeatured('is_content')) as $slug) { |
| | | foreach (array_merge(Registrar::getRegistered('post'), Registrar::withFeature('is_content')) as $slug) { |
| | | error_log('Adding administrative roles to '.$slug); |
| | | $plural = $roleManager->getContentPlural($slug); |
| | | $capabilities = [ |
| | |
| | | ]; |
| | | |
| | | foreach ($capabilities as $cap) { |
| | | $role->add_cap($cap, true); |
| | | $role->add_cap($cap); |
| | | } |
| | | |
| | | foreach ($users as $user) { |
| | |
| | | return; |
| | | } |
| | | |
| | | $roleManager = new RoleManager(); |
| | | $roleManager = new Roles(); |
| | | $users = get_users(['role' => 'administrator']); |
| | | |
| | | foreach (array_merge(Registrar::getRegistered('post'), Registrar::getFeatured('is_content', 'term')) as $slug) { |
| | | foreach (array_merge(Registrar::getRegistered('post'), Registrar::withFeature('is_content', 'term')) as $slug) { |
| | | |
| | | foreach ($users as $user) { |
| | | // These methods should check if post type exists before adding caps |
| | |
| | | } |
| | | } |
| | | |
| | | // Optional: Add upgrade routine |
| | | function jvbMaybeUpgrade():void |
| | | { |
| | | $current_version = get_option('jvb_db_version', '0'); |
| | | if (version_compare($current_version, '1.0.0', '<')) { |
| | | jvbActivatePlugin(); |
| | | } |
| | | } |
| | | add_action('plugins_loaded', 'jvbMaybeUpgrade'); |
| | | |
| | | |
| | | add_action('jvb_daily_reset', 'jvbDailyResetAction'); |
| | | function jvbDailyResetAction(): void |
| | | { |
| | |
| | | function jvbRegisterAdminPages():void |
| | | { |
| | | if (Site::has('referrals')){ |
| | | ReferralManager::addSubpage(); |
| | | Referrals::addSubpage(); |
| | | } |
| | | // SEOAdminPage::addSubpage(); |
| | | } |