public function getSite()
{
if ($this->_site === null) {
if (\Yii::$app instanceof \yii\console\Application) {
$this->_site = CmsSite::find()->active()->andWhere(['def' => Cms::BOOL_Y])->one();
} else {
$this->_serverName = \Yii::$app->getRequest()->getServerName();
$dependencySiteDomain = new TagDependency(['tags' => [(new CmsSiteDomain())->getTableCacheTag()]]);
$cmsDomain = CmsSiteDomain::getDb()->cache(function ($db) {
return CmsSiteDomain::find()->where(['domain' => $this->_serverName])->one();
}, null, $dependencySiteDomain);
/**
* @var CmsSiteDomain $cmsDomain
*/
if ($cmsDomain) {
$this->_site = $cmsDomain->cmsSite;
} else {
$this->_site = CmsSiteDomain::getDb()->cache(function ($db) {
return CmsSite::find()->active()->andWhere(['def' => Cms::BOOL_Y])->one();
}, null, new TagDependency(['tags' => [(new CmsSite())->getTableCacheTag()]]));
}
}
}
return $this->_site;
}