/** * Creates data provider instance with search query applied * @return ActiveDataProvider */ public function search($params) { $query = Subscribes::find(); if (!\Yii::$app->user->can('administrator')) { $query->forDomain(); } $dataProvider = new ActiveDataProvider(['query' => $query]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'status' => $this->status, 'domain_id' => $this->domain_id]); $query->andFilterWhere(['like', 'firstname', $this->firstname])->andFilterWhere(['like', 'secondname', $this->secondname])->andFilterWhere(['like', 'lastname', $this->lastname])->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'phone', $this->phone]); return $dataProvider; }
/** * Creates a new Subscribes model. * If creation is successful, the browser will be redirected to the 'view' Subscribes. * @return mixed */ public function actionCreate() { foreach (Yii::$app->params['availableLocales'] as $key => $value) { $currentModel = Subscribes::getLocaleInstance($key); $currentModel->locale = $key; if (Yii::$app->request->get('scenario')) { $currentModel->on_scenario = Yii::$app->request->get('scenario'); } $models[$key] = $currentModel; } //set data from default model if (Yii::$app->request->get('locale_group_id')) { $defaultDomainModels = Subscribes::find()->andFilterWhere(['domain_id' => Yii::getAlias('@defaultDomainId')])->all(); foreach ($defaultDomainModels as $key => $value) { if (!in_array($value->locale, array_keys(Yii::$app->params['availableLocales']))) { continue; } $models[$value->locale]->slug = $value->slug; $models[$value->locale]->title = $value->title; $models[$value->locale]->head = $value->head; $models[$value->locale]->body = $value->body; $models[$value->locale]->before_body = $value->before_body; $models[$value->locale]->after_body = $value->after_body; } } $model = new MultiModel(['models' => $models]); if ($model->load(Yii::$app->request->post()) && Subscribes::multiSave($model)) { return $this->redirect(['index']); } else { switch (Yii::$app->request->get('scenario')) { case 'extend': $viewName = 'extend'; break; default: $viewName = 'create'; } return $this->render($viewName, ['model' => $model]); } }