/** * @inheritdoc */ public function attributeLabels() { $attributeLabels = parent::attributeLabels(); $attributeLabels['language_i18n_title'] = Yii::t('kalibao', 'language_group_language:language_id'); $attributeLabels['language_group_i18n_title'] = Yii::t('kalibao', 'language_group_language:language_group_id'); return $attributeLabels; }
/** * @return \yii\db\ActiveQuery */ public function getLanguageGroupLanguages() { return $this->hasMany(LanguageGroupLanguage::className(), ['language_group_id' => 'id']); }
/** * Get application languages * @return string[] application languages * @throws InvalidConfigException */ public function getAppLanguages() { if (empty($this->validLanguages)) { $cacheKey = 'language_group:' . $this->languageGroupName; if (($languages = Yii::$app->commonCache->get($cacheKey)) === false) { $languages = LanguageGroupLanguage::find()->select('language_id')->where(['activated' => true, 'language_group_id' => Yii::$app->variable->get('kalibao', 'language_group_id:' . $this->languageGroupName)])->all(); if (!empty($languages)) { foreach ($languages as $language) { $this->validLanguages[] = $language->language_id; } Yii::$app->commonCache->set($cacheKey, $this->validLanguages, $this->cacheDuration, new TagDependency(['tags' => [self::getCacheTag(), self::getCacheTag($this->languageGroupName)]])); } else { throw new InvalidConfigException("The language group name does not exist: {$this->languageGroupName}"); } } else { $this->validLanguages = $languages; } } return $this->validLanguages; }