60 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
| <?php
 | |
| 
 | |
| namespace frontend\models;
 | |
| 
 | |
| use Yii;
 | |
| use yii\base\Model;
 | |
| 
 | |
| /**
 | |
|  * ContactForm is the model behind the contact form.
 | |
|  */
 | |
| class ContactForm extends Model
 | |
| {
 | |
|     public $name;
 | |
|     public $email;
 | |
|     public $subject;
 | |
|     public $body;
 | |
|     public $verifyCode;
 | |
| 
 | |
| 
 | |
|     /**
 | |
|      * {@inheritdoc}
 | |
|      */
 | |
|     public function rules()
 | |
|     {
 | |
|         return [
 | |
|             // name, email, subject and body are required
 | |
|             [['name', 'email', 'subject', 'body'], 'required'],
 | |
|             // email has to be a valid email address
 | |
|             ['email', 'email'],
 | |
|             // verifyCode needs to be entered correctly
 | |
|             ['verifyCode', 'captcha'],
 | |
|         ];
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * {@inheritdoc}
 | |
|      */
 | |
|     public function attributeLabels()
 | |
|     {
 | |
|         return [
 | |
|             'verifyCode' => 'Verification Code',
 | |
|         ];
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * Sends an email to the specified email address using the information collected by this model.
 | |
|      *
 | |
|      * @return bool whether the email was sent
 | |
|      */
 | |
|     public function sendEmail()
 | |
|     {
 | |
|         return Yii::$app->mailer->compose()
 | |
|             ->setTo($this->email)
 | |
|             ->setFrom([Yii::$app->params['senderEmail'] => Yii::$app->params['senderName']])
 | |
|             ->setSubject($this->subject)
 | |
|             ->setTextBody($this->body)
 | |
|             ->send();
 | |
|     }
 | |
| }
 | 
