From 1c939d5cad5d87582a8bc8698f67ac003664d2dc Mon Sep 17 00:00:00 2001 From: tonis Date: Tue, 8 Oct 2024 17:38:13 +0300 Subject: [PATCH] fixed pretty-urls not working from console apps --- src/User/Bootstrap.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/User/Bootstrap.php b/src/User/Bootstrap.php index 0f5ad66..82eab2c 100755 --- a/src/User/Bootstrap.php +++ b/src/User/Bootstrap.php @@ -30,6 +30,7 @@ use yii\console\Application as ConsoleApplication; use yii\helpers\ArrayHelper; use yii\i18n\PhpMessageSource; use yii\web\Application as WebApplication; +use yii\web\UrlManager; /** * Bootstrap class of the yii2-usuario extension. Configures container services, initializes translations, @@ -49,10 +50,10 @@ class Bootstrap implements BootstrapInterface $this->initTranslations($app); $this->initContainer($app, $map); $this->initMailServiceConfiguration($app, $app->getModule('user')); + $this->initUrlRoutes($app); if ($app instanceof WebApplication) { $this->initControllerNamespace($app); - $this->initUrlRoutes($app); $this->initUrlRestRoutes($app); $this->initAuthCollection($app); $this->initAuthManager($app); @@ -256,11 +257,11 @@ class Bootstrap implements BootstrapInterface /** * Initializes web url routes (rules in Yii2). * - * @param WebApplication $app + * @param Application $app * * @throws InvalidConfigException */ - protected function initUrlRoutes(WebApplication $app) + protected function initUrlRoutes(Application $app) { /** @var $module Module */ $module = $app->getModule('user'); @@ -274,8 +275,13 @@ class Bootstrap implements BootstrapInterface $config['routePrefix'] = 'user'; } + $urlManager = $app->getUrlManager(); + if(!($urlManager instanceof UrlManager)) { + return; + } + $rule = Yii::createObject($config); - $app->getUrlManager()->addRules([$rule], false); + $urlManager->addRules([$rule], false); } /**