Exemplo n.º 1
0
 public function actionMail($id)
 {
     $model = new MailForm();
     if (isset(\Yii::$app->request->post()['MailForm'])) {
         $model->load(\Yii::$app->request->post()['MailForm']);
         if ($model->validate()) {
             $class = new $this->module->userClass();
             $criteria = new CDbCriteria();
             $criteria->condition = $this->module->userIdColumn . ' = :id';
             $criteria->params = array(':id' => \Yii::$app->user->identity->id);
             $user = $class::find()->find($criteria);
             $from = $user->getAttribute($this->module->userMailColumn);
             $criteria->params = array(':id' => $model->member_id);
             $user = $class::find()->find($criteria);
             $to = $user->getAttribute($this->module->userMailColumn);
             $name = BbiiMember::find(\Yii::$app->user->identity->id)->member_name;
             $name = ' = ?UTF-8?B?' . base64_encode($name) . '? = ';
             $subject = ' = ?UTF-8?B?' . base64_encode($model->subject) . '? = ';
             $sendto = $model->member_name . " <{$to}>";
             $headers = "From: {$name} <{$from}>\r\n" . "To: {$sendto}\r\n" . "Date: " . date(DATE_RFC2822) . "\r\n" . "Reply-To: {$from}\r\n" . "Message-ID: <" . uniqid('', true) . "@bbii.forum>\r\n" . "MIME-Version: 1.0\r\n" . "Content-type: text/html; charset = UTF-8";
             mail($sendto, $subject, $model->body, $headers);
             \Yii::$app->session->addFlash('notice', Yii::t('BbiiModule.bbii', 'You have sent an e-mail to {member_name}.', array('{member_name}' => $model->member_name)));
             return \Yii::$app->response->redirect(array('forum/view', 'id' => $model->member_id));
         }
     } else {
         $model->member_id = $id;
         $model->member_name = BbiiMember::find($id)->member_name;
     }
     return $this->render('mail', array('model' => $model));
 }