- $bootServices['paths'] = array(
- 'class' => 'Civi\Core\Paths',
- 'obj' => new \Civi\Core\Paths(),
- );
- $bootServices['userSystem'] = array(
- 'class' => 'CRM_Utils_Cache_Interface',
- 'obj' => $userSystem,
- );
- $bootServices['userPermissionClass'] = array(
- // Ugh, silly name.
- 'class' => 'CRM_Core_Permission_Base',
- 'obj' => new $userPermissionClass(),
- );
- $bootServices['cache.settings'] = array(
- 'class' => 'CRM_Utils_Cache_Interface',
- 'obj' => \CRM_Utils_Cache::create(array(
- 'name' => 'settings',
- 'type' => array('*memory*', 'SqlGroup', 'ArrayCache'),
- )),
- );
- $bootServices['settings_manager'] = array(
- 'class' => 'Civi\Core\SettingsManager',
- 'obj' => new \Civi\Core\SettingsManager($bootServices['cache.settings']['obj']),
- );
- $bootServices['lockManager'] = array(
- 'class' => 'Civi\Core\Lock\LockManager',
- 'obj' => self::createLockManager(),
- );
+ $class = $runtime->userFrameworkClass;
+ $bootServices['userSystem'] = array(
+ 'class' => 'CRM_Utils_Cache_Interface',
+ 'obj' => ($userSystem = new $class()),
+ );
+ $userSystem->initialize();
+
+ $userPermissionClass = 'CRM_Core_Permission_' . $runtime->userFramework;
+ $bootServices['userPermissionClass'] = array(
+ // Ugh, silly name.
+ 'class' => 'CRM_Core_Permission_Base',
+ 'obj' => new $userPermissionClass(),
+ );
+
+ $bootServices['cache.settings'] = array(
+ 'class' => 'CRM_Utils_Cache_Interface',
+ 'obj' => \CRM_Utils_Cache::create(array(
+ 'name' => 'settings',
+ 'type' => array('*memory*', 'SqlGroup', 'ArrayCache'),
+ )),
+ );
+
+ $bootServices['settings_manager'] = array(
+ 'class' => 'Civi\Core\SettingsManager',
+ 'obj' => new \Civi\Core\SettingsManager($bootServices['cache.settings']['obj']),
+ );
+
+ $bootServices['lockManager'] = array(
+ 'class' => 'Civi\Core\Lock\LockManager',
+ 'obj' => self::createLockManager(),
+ );
+
+ if ($loadFromDB && $runtime->dsn) {
+ \CRM_Extension_System::singleton(TRUE);
+
+ $c = new self();
+ \Civi::$statics[__CLASS__]['container'] = $c->loadContainer();