ctms/ctms-home/models/ContactForm.php
2025-04-10 23:19:13 +08:00

65 lines
1.5 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' => Yii::t('frontend','Verify Code'),
'name' => Yii::t('frontend','Name'),
'email' => Yii::t('frontend','Email'),
'subject' => Yii::t('frontend','Subject'),
'body' => Yii::t('frontend','Body'),
];
}
/**
* 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(Yii::$app->params['noticeEmail'])
->setSubject($this->subject)
->setTextBody($this->body)
->send();
}
}