<?php
|
|
use JVBase\managers\Cache;
|
use JVBase\managers\IconsManager;
|
use JVBase\utility\Features;
|
|
require(JVB_DIR . '/inc/managers/ScriptLoader.php');
|
//require(JVB_DIR . '/inc/managers/CacheManager.php');
|
require(JVB_DIR . '/inc/managers/Cache.php');
|
class_alias('JVBase\managers\Cache', 'JVBase\managers\CacheManager');
|
|
|
require(JVB_DIR . '/inc/managers/IconsManager.php');
|
add_action('init', 'jvbInit', 1); // Priority 1 - very early
|
function jvbInit(): void
|
{
|
|
Cache::registerHooks();
|
// Initialize base sources (this registers hooks and includes defaults)
|
IconsManager::for('icons');
|
IconsManager::for('forms');
|
|
// Only initialize dash if feature is enabled
|
if (Features::forSite()->has('dashboard')) {
|
IconsManager::for('dash');
|
}
|
}
|
require(JVB_DIR . '/inc/managers/ErrorHandler.php');
|
require(JVB_DIR . '/inc/managers/queue/_setup.php');
|
//require(JVB_DIR . '/inc/managers/OperationQueue.php');
|
require(JVB_DIR . '/inc/managers/EmailManager.php');
|
|
if (Features::forSite()->has('magicLink')) {
|
require(JVB_DIR . '/inc/managers/MagicLinkManager.php');
|
}
|
|
require(JVB_DIR . '/inc/managers/LoginManager.php');
|
|
|
//IF SITE HAS DASHBOARD AND FEED BLOCK
|
//if (Features::forSite()->hasAny(['dashboard', 'feed_block'])) {
|
require(JVB_DIR . '/inc/forms/TaxonomySelector.php');
|
//}
|
|
//IF SITE HAS DASHBOARD
|
if (Features::forSite()->has('dashboard')) {
|
require(JVB_DIR . '/inc/managers/CRUDManager.php');
|
require(JVB_DIR . '/inc/managers/UploadManager.php');
|
}
|
|
//IF SITE HAS FEED BLOCK
|
if (Features::forSite()->has('feed_block')) {
|
require(JVB_DIR . '/inc/managers/TaxonomyRelationships.php');
|
new JVBase\managers\TaxonomyRelationships();
|
}
|
|
//if (Features::forSite()->hasAll(['dashboard', 'membership', 'feed_block'])) {
|
require(JVB_DIR . '/inc/managers/UserTermsManager.php');
|
new JVBase\managers\UserTermsManager();
|
//}
|
|
if (Features::forSite()->has('notifications')) {
|
require(JVB_DIR . '/inc/managers/NotificationManager.php');
|
}
|
|
if (Features::forMembership()->has('forum') && Features::anyTaxonomyHas('is_content')) {
|
require(JVB_DIR . '/inc/managers/NewsRelationships.php');
|
}
|
|
//
|
//require(JVB_DIR . '/inc/managers/SchemaManager.php');
|
//require(JVB_DIR . '/inc/managers/SEOMetaManager.php');
|
require(JVB_DIR . '/inc/managers/SEO/_setup.php');
|
if (Features::forSite()->has('is_directory')) {
|
require(JVB_DIR . '/inc/managers/DirectoryManager.php');
|
}
|
require(JVB_DIR . '/inc/managers/ImageGenerator.php');
|
require(JVB_DIR . '/inc/managers/AdminPages.php');
|
require(JVB_DIR . '/inc/managers/RoleManager.php');
|
|
|
if (Features::forSite()->has('dashboard')) {
|
require(JVB_DIR . '/inc/managers/DashboardManager.php');
|
}
|
|
if (Features::forSite()->has('referrals')) {
|
require(JVB_DIR . '/inc/managers/ReferralManager.php');
|
}
|