/**
* Modify createController() to handle routes in the default controller
*
* This is a temporary hack until they add in url management via modules
*
* @link https://github.com/yiisoft/yii2/issues/810
* @link http://www.yiiframework.com/forum/index.php/topic/21884-module-and-url-management/
*
* "user", "user/default", "user/admin", and "user/copy" work like normal
* any other "user/xxx" gets changed to "user/default/xxx"
*
* @inheritdoc
*/
public function createController($route)
{
// check valid routes
$validRoutes = [$this->defaultRoute, "admin", "copy", "auth"];
$isValidRoute = false;
foreach ($validRoutes as $validRoute) {
if (strpos($route, $validRoute) === 0) {
$isValidRoute = true;
break;
}
}
return (empty($route) or $isValidRoute) ? parent::createController($route) : parent::createController("{$this->defaultRoute}/{$route}");
}