Your IP : 3.139.85.51


Current Path : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/sender/lib/security/
Upload File :
Current File : /home/bitrix/ext_www/klimatlend.ua/bitrix/modules/sender/lib/security/agreement.php

<?php

namespace Bitrix\Sender\Security;

use Bitrix\Main\Context;
use Bitrix\Main\Localization\Loc;
use Bitrix\Sender\Internals\Model\AgreementTable;


/**
 * Class Agreement
 * @package Bitrix\Sender\Security
 **/
class Agreement
{
	/**
	 * Checks if User have access to module.
	 *
	 * @param integer $userId User ID.
	 * @return bool
	 */
	public static function isAcceptedByUser($userId)
	{
		$agreement = AgreementTable::getRow(array(
			'select' => array('ID'),
			'filter' => array('=USER_ID' => $userId),
			'limit' => 1,
			'cache' => array('ttl' => 3600)
		));

		return !empty($agreement);
	}

	/**
	 * Request agreement accept.
	 *
	 * @return void
	 */
	public static function requestFromCurrentUser()
	{
		if (User::current()->isAgreementAccepted())
		{
			return;
		}

		\CJSCore::init(array('sender_agreement'));
	}

	/**
	 * Return true if user accepted agreement.
	 *
	 * @return bool
	 */
	public static function acceptByCurrentUser()
	{
		if (User::current()->isAgreementAccepted())
		{
			return true;
		}

		$result = AgreementTable::add(array(
			'USER_ID' => User::current()->getId(),
			'NAME' => User::current()->getObject()->GetFullName(),
			'EMAIL' => User::current()->getObject()->GetEmail(),
			'IP_ADDRESS' => Context::getCurrent()->getRequest()->getRemoteAddress(),
		));

		return $result->isSuccess();
	}

	/**
	 * Get agreement text.
	 *
	 * @param bool $asRichHtml Get as rich html.
	 * @return string
	 */
	public static function getText($asRichHtml = false)
	{
		Loc::loadMessages(__FILE__);

		if ($asRichHtml)
		{
			$msg = Loc::getMessage("SENDER_SECURITY_AGREEMENT_HTML_RICH");
		}
		else
		{
			$msg = Loc::getMessage("SENDER_SECURITY_AGREEMENT_HTML_RICH");
		}

		return $msg;
	}
}