You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							60 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							60 lines
						
					
					
						
							1.3 KiB
						
					
					
				<?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. | 
						|
     * | 
						|
     * @param string $email the target email address | 
						|
     * @return bool whether the email was sent | 
						|
     */ | 
						|
    public function sendEmail($email) | 
						|
    { | 
						|
        return Yii::$app->mailer->compose() | 
						|
            ->setTo($email) | 
						|
            ->setFrom([$this->email => $this->name]) | 
						|
            ->setSubject($this->subject) | 
						|
            ->setTextBody($this->body) | 
						|
            ->send(); | 
						|
    } | 
						|
}
 | 
						|
 |