/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Subscribes::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id' => $this->id, 'status' => $this->status]); $query->andFilterWhere(['like', 'email', $this->email])->andFilterWhere(['like', 'key', $this->key]); return $dataProvider; }
public function subscribe() { if (Request::isMethod('post') && Input::get('email')) { $email = strip_tags(addslashes(Input::get('email'))); $exist = Subscribes::where('email', '=', $email)->count(); if ($exist == 0) { $rules = ['email' => 'required|email']; $validator = Validator::make(Input::all(), $rules); if ($validator->fails()) { $messages = $validator->messages(); return Redirect::to('/')->withErrors($messages)->withInput(); } $ussubscribe = new Subscribes(); $ussubscribe->email = $email; $ussubscribe->date = date('Y-m-d H:i:s'); $ussubscribe->save(); return Redirect::to('/')->with('message', 'Sikeresen felíratkozoztt hírlevelünkre'); } else { return Redirect::to('/')->with('message', 'Már korábban felíratkozoztt hírlevelünkre'); } } else { return Redirect::to('/')->with('message', 'Sikertelen hírlevél feliratkozás')->withInput(); } }
public function subscribes() { $email = \Yii::$app->request->get('subscribe_email'); if (isset($email)) { $key = md5(microtime()); $subscribes = new Subscribes(); $subscribes->email = $email; $subscribes->key = $key; $subscribes->status = 0; if ($subscribes->save()) { $link = $_SERVER['SERVER_NAME'] . '/?confirm=' . $key; // $message = 'hello your link <a href="http://' . $link . '">' . $link . '</a>'; // // Yii::$app->mailer->compose() // ->setFrom('*****@*****.**') // ->setTo($email) // ->setSubject('Confirmation subscribes') // ->setHtmlBody($message) // ->send(); \Yii::$app->getSession()->setFlash('subscribe_success', 'Дякуємо! Ваш email додано до нашої розсилки'); } else { \Yii::$app->getSession()->setFlash('subscribe_error', $subscribes->errors['email']['0']); } } $confirm = \Yii::$app->request->get('confirm'); if (isset($confirm)) { $model = Subscribes::findOne(['key' => $confirm]); $model->status = 1; $model->save(); } return true; //Yii::$app->controller->goBack(); //Yii::$app->response->getHeaders()->set('X-Pjax-Url: ' . Yii::$app->request->referrer); //return $this->redirect(Yii::$app->request->referrer); }
/** * Finds the Subscribes model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Subscribes the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Subscribes::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }