Go to "Administration" -> "Settings" -> "Appearance" and change the theme.
You get the following error and the theme is not changed.
yii\base\ErrorException: Attempt to read property "basePath" on null in /var/www/hhdev/protected/modules/dark-mode/models/Config.php:131
Stack trace:
#0 /var/www/hhdev/protected/modules/dark-mode/models/Config.php(131): yii\web\ErrorHandler->handleError('...', '...', '...', '...')
#1 /var/www/hhdev/protected/modules/dark-mode/models/Config.php(29): humhub\modules\darkMode\models\Config->getRecommendedTheme()
#2 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/BaseObject.php(109): humhub\modules\darkMode\models\Config->init()
#3 /var/www/hhdev/protected/modules/dark-mode/Events.php(35): humhub\modules\darkMode\models\Config->__construct('...')
#4 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Event.php(312): humhub\modules\darkMode\Events::onDesignSettingForm('...')
#5 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Event.php(312): ::call_user_func:{/var/www/hhdev/protected/vendor/yiisoft/yii2/base/Event.php:312}(callback: '...', args: Array)
#6 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Component.php(642): yii\base\Event::trigger(class: '...', name: '...', event: '...')
#7 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Model.php(399): humhub\modules\admin\models\forms\DesignSettingsForm->trigger(name: '...', event: '...')
#8 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Model.php(370): humhub\modules\admin\models\forms\DesignSettingsForm->afterValidate()
#9 /var/www/hhdev/protected/humhub/modules/admin/controllers/SettingController.php(225): humhub\modules\admin\models\forms\DesignSettingsForm->validate(attributeNames: '...', clearErrors: '...')
#10 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/InlineAction.php(57): humhub\modules\admin\controllers\SettingController->actionDesign()
#11 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/InlineAction.php(57): ::call_user_func_array:{/var/www/hhdev/protected/vendor/yiisoft/yii2/base/InlineAction.php:57}(callback: '...', args: '...')
#12 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams(params: '...')
#13 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Module.php(552): humhub\modules\admin\controllers\SettingController->runAction(id: '...', params: '...')
#14 /var/www/hhdev/protected/vendor/yiisoft/yii2/web/Application.php(103): humhub\components\Application->runAction(route: '...', params: '...')
#15 /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Application.php(384): humhub\components\Application->handleRequest(request: '...')
#16 /var/www/hhdev/index.php(26): humhub\components\Application->run()
#17 {main}
Copy StacktraceSearch StackoverflowSearch GoogleError
PHP Warning โ [yii\base\ErrorException](https://www.yiiframework.com/doc-2.0/yii-base-errorexception.html)
Attempt to read property "basePath" on null
1. in /var/www/hhdev/protected/modules/dark-mode/models/Config.phpat line 131
122123124125126127128129130131132133134135136137138 public function getRecommendedTheme()
{
$baseTheme = Yii::$app->view->theme->name;
if ($baseTheme == 'HumHub') {
return 'DarkHumHub';
} elseif ($baseTheme == 'enterprise') {
return 'DarkEnterprise';
} else {
$basePath = ThemeHelper::getThemeByName($baseTheme)->basePath;
if (file_exists($basePath . DIRECTORY_SEPARATOR . 'css' . DIRECTORY_SEPARATOR . 'dark.css')) {
return $baseTheme . self::DARK_CSS_SUFFIX;
}
}
return '';
}
}
2. in /var/www/hhdev/protected/modules/dark-mode/models/Config.php at line 131โ [yii\web\ErrorHandler::handleError](https://www.yiiframework.com/doc-2.0/yii-web-errorhandler.html#handleError()-detail)(4294967295 => '2', 0 => ''Attempt to read property "baseP...', 1 => ''/var/www/hhdev/protected/module...', 2 => '131')
125126127128129130131132133134135136137
if ($baseTheme == 'HumHub') {
return 'DarkHumHub';
} elseif ($baseTheme == 'enterprise') {
return 'DarkEnterprise';
} else {
$basePath = ThemeHelper::getThemeByName($baseTheme)->basePath;
if (file_exists($basePath . DIRECTORY_SEPARATOR . 'css' . DIRECTORY_SEPARATOR . 'dark.css')) {
return $baseTheme . self::DARK_CSS_SUFFIX;
}
}
return '';
}
3. in /var/www/hhdev/protected/modules/dark-mode/models/Config.php at line 29โ humhub\modules\darkMode\models\Config::getRecommendedTheme()
23242526272829303132333435 $settings = Yii::$app->getModule('dark-mode')->settings;
$this->theme = $settings->get('theme');
// If no setting was found, get recommended theme or fallback (DarkHumHub)
if (empty($this->theme)) {
$this->theme = self::getRecommendedTheme();
if (empty($this->theme)) {
$this->theme = self::FALLBACK;
}
}
}
4. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/BaseObject.php at line 109โ humhub\modules\darkMode\models\Config::init()
5. in /var/www/hhdev/protected/modules/dark-mode/Events.php at line 35โ humhub\modules\darkMode\models\Config::__construct(4294967295 => '???')
29303132333435363738394041 $oldTheme = Yii::$app->view->theme->name;
$newTheme = $event->sender->theme;
// Clear dark theme setting if base theme has changed
if ($oldTheme !== $newTheme) {
$config = new Config();
$config->theme = '';
$config->save();
}
}
public static function onAfterModuleEnabled(ModuleEvent $event)
6. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Event.php at line 312โ humhub\modules\darkMode\Events::onDesignSettingForm(4294967295 => 'class yii\base\Event { public $n...')
7. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Event.php at line 312โ call_user_func:{/var/www/hhdev/protected/vendor/yiisoft/yii2/base/Event.php:312}('callback' => '[0 => 'humhub\\modules\\darkMode...', 'args' => [])
8. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Component.php at line 642โ [yii\base\Event::trigger](https://www.yiiframework.com/doc-2.0/yii-base-event.html#trigger()-detail)('class' => 'class humhub\modules\admin\model...', 'name' => ''afterValidate'', 'event' => 'NULL')
9. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Model.php at line 399โ humhub\modules\admin\models\forms\DesignSettingsForm::trigger('name' => ''afterValidate'', 'event' => '???')
10. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Model.php at line 370โ humhub\modules\admin\models\forms\DesignSettingsForm::afterValidate()
11. in /var/www/hhdev/protected/humhub/modules/admin/controllers/SettingController.php at line 225โ humhub\modules\admin\models\forms\DesignSettingsForm::validate('attributeNames' => '???', 'clearErrors' => '???')
219220221222223224225226227228229230231 }
public function actionDesign()
{
$form = new DesignSettingsForm;
if ($form->load(Yii::$app->request->post()) && $form->validate() && $form->save()) {
$this->view->saved();
return $this->redirect([
'/admin/setting/design'
]);
}
12. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/InlineAction.php at line 57โ humhub\modules\admin\controllers\SettingController::actionDesign()
13. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/InlineAction.php at line 57โ call_user_func_array:{/var/www/hhdev/protected/vendor/yiisoft/yii2/base/InlineAction.php:57}('callback' => '[0 => class humhub\modules\admin...', 'args' => '[]')
14. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Controller.php at line 178โ [yii\base\InlineAction::runWithParams](https://www.yiiframework.com/doc-2.0/yii-base-inlineaction.html#runWithParams()-detail)('params' => '['_pjax' => '#layout-content', '...')
15. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Module.php at line 552โ humhub\modules\admin\controllers\SettingController::runAction('id' => ''design'', 'params' => '['_pjax' => '#layout-content', '...')
16. in /var/www/hhdev/protected/vendor/yiisoft/yii2/web/Application.php at line 103โ humhub\components\Application::runAction('route' => ''admin/setting/design'', 'params' => '['_pjax' => '#layout-content', '...')
17. in /var/www/hhdev/protected/vendor/yiisoft/yii2/base/Application.php at line 384โ humhub\components\Application::handleRequest('request' => 'class humhub\components\Request ...')
18. in /var/www/hhdev/index.php at line 26โ humhub\components\Application::run()
20212223242526 require(__DIR__ . '/protected/humhub/config/web.php'),
(is_readable(__DIR__ . '/protected/config/dynamic.php')) ? require(__DIR__ . '/protected/config/dynamic.php') : [],
require(__DIR__ . '/protected/config/common.php'),
require(__DIR__ . '/protected/config/web.php')
);
(new humhub\components\Application($config))->run();
$_GET = [
'_pjax' => '#layout-content',
'_' => '1696240179783',
];
$_POST = [
'_csrf' => 'UUBdkyM77aEWhoZ9IrpKMrq03KEnAbulPy4lkHxt_OIgCQfRTnim2UnZzR9Kg3l69MPlk3ZEif1VRF3aNwuE0w==',
'DesignSettingsForm' => [
'theme' => 'clean-contrasted',
'paginationSize' => '10',
'displayNameFormat' => '{profile.firstname} {profile.lastname}',
'displayNameSubFormat' => 'title',
'spaceOrder' => '0',
'defaultStreamSort' => 'u',
'dateInputDisplayFormat' => '',
'horImageScrollOnMobile' => '1',
],
'logo' => [
'',
],
'icon' => [
'',
],
];