%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/mail/models/forms/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/mail/models/forms/ReplyForm.php |
<?php
namespace humhub\modules\mail\models\forms;
use humhub\modules\mail\models\Message;
use humhub\modules\mail\models\MessageEntry;
use humhub\modules\mail\helpers\Url;
use Yii;
use yii\base\Model;
/**
* @package humhub.modules.mail.forms
* @since 0.5
*/
class ReplyForm extends Model
{
/**
* @var Message
*/
public $model;
/**
* @var string
*/
public $message;
/**
* @var MessageEntry
*/
public $reply;
/**
* Declares the validation rules.
*/
public function rules()
{
return [
['message', 'required'],
['message', 'validateRecipients'],
];
}
public function validateRecipients($attribute)
{
if ($this->model->isBlocked()) {
$this->addError($attribute, Yii::t('MailModule.base', 'You are not allowed to reply to users {userNames}!', [
'userNames' => implode(', ', $this->model->getBlockerNames())
]));
}
}
/**
* Declares customized attribute labels.
* If not declared here, an attribute would have a label that is
* the same as its name with the first letter in upper case.
*/
public function attributeLabels()
{
return [
'message' => Yii::t('MailModule.forms_ReplyMessageForm', 'Message'),
];
}
public function getUrl()
{
return Url::toReply($this->model);
}
public function save()
{
if(!$this->validate()) {
return false;
}
$this->reply = new MessageEntry([
'message_id' => $this->model->id,
'user_id' => Yii::$app->user->id,
'content' => $this->message
]);
if($this->reply->save()) {
$this->reply->refresh(); // Update created_by date, otherwise db expression is set...
$this->reply->notify();
$this->reply->fileManager->attach(Yii::$app->request->post('fileUploaderHiddenGuidField'));
return true;
}
return false;
}
}