%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/user/models/forms/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/humhub/modules/user/models/forms/Invite.php |
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2016 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*/
namespace humhub\modules\user\models\forms;
use Yii;
use yii\base\Model;
use humhub\modules\user\models\User;
/**
* Invite Form Model
*
* @since 1.1
*/
class Invite extends Model
{
/**
* @var string user's username or email address
*/
public $emails;
/**
* @inheritdoc
*/
public function rules()
{
return [
[['emails'], 'required'],
['emails', 'checkEmails']
];
}
/**
* Checks a comma separated list of e-mails which should invited.
* E-Mails needs to be valid and not already registered.
*
* @param string $attribute
* @param array $params
*/
public function checkEmails($attribute, $params)
{
if ($this->$attribute != "") {
foreach ($this->getEmails() as $email) {
$validator = new \yii\validators\EmailValidator();
if (!$validator->validate($email)) {
$this->addError($attribute, Yii::t('UserModule.invite', '{email} is not valid!', ["{email}" => $email]));
continue;
}
if (User::findOne(['email' => $email]) != null) {
$this->addError($attribute, Yii::t('UserModule.invite', '{email} is already registered!', ["{email}" => $email]));
continue;
}
}
}
}
/**
* E-Mails entered in form
*
* @return array the emails
*/
public function getEmails()
{
$emails = [];
foreach (explode(',', $this->emails) as $email) {
$emails[] = trim($email);
}
return $emails;
}
}