Inheritance: extends Core, use trait skeeks\cms\traits\ValidateRulesTrait
Example #1
0
 /**
  * @return CmsSite
  */
 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();
             try {
                 $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()]]));
                 }
             } catch (Exception $e) {
                 if (in_array($e->getCode(), NotConnectedToDbException::$invalidConnectionCodes)) {
                     throw new NotConnectedToDbException();
                 }
             }
         }
     }
     return $this->_site;
 }
 public function init()
 {
     $this->name = "Управление доменами";
     $this->modelShowAttribute = "domain";
     $this->modelClassName = CmsSiteDomain::className();
     parent::init();
 }
Example #3
0
 /**
  * @return CmsSite
  */
 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;
 }
Example #4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getCmsSiteDomains()
 {
     return $this->hasMany(CmsSiteDomain::className(), ['site_code' => 'code']);
 }