frontend/models/ContactForm.php
<?php
/**
* @link http://www.writesdown.com/
* @copyright Copyright (c) 2015 WritesDown
* @license http://www.writesdown.com/license/
*/
namespace frontend\models;
use Yii;
use yii\base\Model;
/**
* Class ContactForm
*
* @author Agiel K. Saputra <13nightevil@gmail.com>
* @since 0.1.0
*/
class ContactForm extends Model
{
/**
* @var string
*/
public $name;
/**
* @var string
*/
public $email;
/**
* @var string
*/
public $subject;
/**
* @var string
*/
public $body;
/**
* @var
*/
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 boolean 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();
}
}