public function init($configType) { $this->properties = SiteService::getAttributeNameValueMapBySlugType(Yii::$app->cmgCore->getSiteSlug(), $configType); // Load main site properties if (Yii::$app->cmgCore->multiSite && count($this->properties) == 0) { $this->properties = SiteService::getAttributeNameValueMapBySlugType(Yii::$app->cmgCore->getMainSiteSlug(), $configType); } }
public function createController($route) { // find whether multisite is enabled if (Yii::$app->cmgCore->multiSite) { if ($route === '') { $route = $this->defaultRoute; } // double slashes or leading/ending slashes may cause substr problem $route = trim($route, '/'); if (strpos($route, '//') !== false) { return false; } // Sub-Directory if (Yii::$app->cmgCore->subDirectory) { if (strpos($route, '/') !== false) { list($site, $siteRoute) = explode('/', $route, 2); // Find Site $site = SiteService::findBySlug($site); // Site Found if (isset($site)) { // Configure Current Site Yii::$app->cmgCore->siteId = $site->id; Yii::$app->cmgCore->siteName = $site->name; Yii::$app->cmgCore->siteSlug = $site->slug; Yii::$app->urlManager->baseUrl = Yii::$app->urlManager->baseUrl . "/" . $site->name; return parent::createController($siteRoute); } } } else { // Find Site $siteName = array_shift(explode(".", $_SERVER['HTTP_HOST'])); if (!isset($siteName) || strcmp($siteName, 'www') == 0) { $siteName = 'main'; } $site = SiteService::findBySlug($siteName); // Site Found if (isset($site)) { // Configure Current Site Yii::$app->cmgCore->siteId = $site->id; Yii::$app->cmgCore->siteName = $site->name; Yii::$app->cmgCore->siteSlug = $site->slug; return parent::createController($route); } } } return parent::createController($route); }