[ 'class' => AccessControl::class, 'rules' => [ [ 'allow' => true, 'roles' => ['@'] ] ], ], ]; } public function actionIndex() { return $this->render('index', [ 'user' => $this->getUserCurrent(), 'producer' => $this->getProducerCurrent() ]); } public function actionSubscribe() { if(!$this->getUserCurrent()) { return $this->redirectProducerLoginFrontend('subscribe'); } $userManager = $this->getUserManager(); $userCurrent = $this->getUserCurrent(); $userManager->subscribeUserNewsletter($userCurrent); $this->setFlash('success', "Votre inscription au bulletin d'information a bien été prise en compte."); return $this->redirect('index'); } public function actionUnsubscribe() { if(!$this->getUserCurrent()) { return $this->redirectProducerLoginFrontend('unsubscribe'); } $userManager = $this->getUserManager(); $userCurrent = $this->getUserCurrent(); $userManager->unsubscribeUserNewsletter($userCurrent); $this->setFlash('success', "À partir de maintenant, vous ne recevrez plus d'email de la part de ce producteur."); return $this->redirect('index'); } public function redirectProducerLoginFrontend(string $actionNewsletter) { return $this->redirect($this->getUrlManagerFrontend()->createAbsoluteUrl(['site/producer', 'id' => $this->getProducerCurrent()->id, 'return_url' => \Yii::$app->urlManagerProducer->createAbsoluteUrl(['newsletter/'.$actionNewsletter, 'slug_producer' => $this->getProducerCurrent()->slug])])); } } ?>