• Модуль: mail
  • Путь к файлу: ~/bitrix/modules/mail/lib/controller/usersignature.php
  • Класс: BitrixMailControllerUserSignature
  • Вызов: UserSignature::addAction
public function addAction(array $fields)
{
	$unsafeFields = (array) $this->getRequest()->getPostList()->getRaw('fields');
	CUtil::decodeUriComponent($unsafeFields);

	if (($limit = MainConfigOption::get('mail', 'user_signatures_limit', static::USER_SIGNATURES_LIMIT)) > 0)
	{
		$count = UserSignatureTable::getCount(array(
			'USER_ID' => CurrentUser::get()->getId(),
		));
		if ($count >= $limit)
		{
			Loc::loadMessages(__FILE__);
			$this->errorCollection[] = new Error(Loc::getMessage('MAIL_USER_SIGNATURE_LIMIT'));
			return false;
		}
	}

	$userSignature = new BitrixMailInternalsEntityUserSignature;

	$userSignature->set('USER_ID', CurrentUser::get()->getId());
	$userSignature->set('SENDER', $fields['sender']);
	$userSignature->set('SIGNATURE', $this->sanitize($unsafeFields['signature']));

	$result = $userSignature->save();

	if($result->isSuccess())
	{
		$userSignature = UserSignatureTable::getById($result->getId())->fetchObject();
		return $this->getAction($userSignature);
	}
	else
	{
		$this->errorCollection = $result->getErrors();
		return false;
	}
}