/**
  * Add new language
  * @return string|\yii\web\Response
  */
 public function actionCreate()
 {
     $languageForm = Yii::createObject(['class' => Language::className(), 'scenario' => 'create']);
     if ($languageForm->load(Yii::$app->request->post()) && $languageForm->save()) {
         Yii::$app->getSession()->setFlash('success', Yii::t('multilang', 'Language was created.'));
     } else {
         Yii::$app->getSession()->setFlash('danger', Yii::t('multilang', 'Language creation failed.'));
     }
     return $this->redirect(Url::toRoute(['index']));
 }
 public function validateKeyCodePair($attribute)
 {
     $existValidator = \Yii::createObject(['class' => ExistValidator::className(), 'targetClass' => Language::className(), 'targetAttribute' => 'code']);
     $errorLangExists = null;
     $existValidator->validate($this->lang_code, $errorLangExists);
     if (!empty($errorLangExists)) {
         $this->addError('lang_code', $errorLangExists);
     } else {
         if (($testItem = $this->findOne(['key' => $this->key, 'lang_code' => $this->lang_code])) && $testItem->id != $this->id) {
             $this->addError($attribute, \Yii::t('support', 'Key must be unique for selected language'));
         }
     }
 }
Esempio n. 3
0
 /** @inheritdoc */
 public function rules()
 {
     return ['usernameRequired' => ['username', 'required', 'on' => ['register', 'create', 'connect', 'update']], 'usernameMatch' => ['username', 'match', 'pattern' => static::$usernameRegexp], 'usernameLength' => ['username', 'string', 'min' => 3, 'max' => 255], 'usernameUnique' => ['username', 'unique', 'message' => Yii::t('user', 'This username has already been taken')], 'usernameTrim' => ['username', 'trim'], 'emailRequired' => ['email', 'required', 'on' => ['register', 'connect', 'create', 'update']], 'emailPattern' => ['email', 'email'], 'emailLength' => ['email', 'string', 'max' => 255], 'emailUnique' => ['email', 'unique', 'message' => Yii::t('user', 'This email address has already been taken')], 'emailTrim' => ['email', 'trim'], 'passwordRequired' => ['password', 'required', 'on' => ['register']], 'passwordLength' => ['password', 'string', 'min' => 6, 'on' => ['register', 'create']], 'langExists' => ['lang', 'exist', 'targetClass' => \jarrus90\Multilang\Models\Language::className(), 'targetAttribute' => 'code']];
 }
Esempio n. 4
0
 /**
  * Validation rules
  * @return array
  */
 public function rules()
 {
     return ['required' => [['key', 'title', 'content', 'lang_code'], 'required', 'on' => ['create', 'update']], 'keyValid' => ['key', 'validateKeyCodePair', 'on' => ['create', 'update']], 'langExists' => ['lang_code', 'exist', 'targetClass' => Language::className(), 'targetAttribute' => 'code'], 'safeSearch' => [['key', 'title', 'lang_code'], 'safe', 'on' => ['search']]];
 }
Esempio n. 5
0
 /**
  * Validation rules
  * @return array
  */
 public function rules()
 {
     return ['processRequired' => [['code', 'name', 'flag', 'is_active'], 'required', 'on' => ['create', 'update']], 'searchSafe' => [['code', 'name', 'is_active'], 'safe', 'on' => ['search']], 'codeUnique' => ['code', 'unique', 'targetClass' => Language::className(), 'message' => Yii::t('multilang', 'Code must be unique'), 'when' => function ($model) {
         return $model->code != $model->_model->code;
     }, 'on' => ['create', 'update']]];
 }