AnonSec Shell
Server IP : 85.193.89.191  /  Your IP : 18.188.226.91
Web Server : Apache
System : Linux 956367-cx40159.tmweb.ru 3.10.0-1160.105.1.el7.x86_64 #1 SMP Thu Dec 7 15:39:45 UTC 2023 x86_64
User : bitrix ( 600)
PHP Version : 8.1.27
Disable Function : NONE
MySQL : OFF  |  cURL : OFF  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/bitrix/www/bitrix/modules/main/lib/controller/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/bitrix/www/bitrix/modules/main/lib/controller/agreement.php
<?php
namespace Bitrix\Main\Controller;

use Bitrix\Main\Engine;
use Bitrix\Main\Engine\ActionFilter\Authentication;
use Bitrix\Main\Error;
use Bitrix\Main\Text\Encoding;
use Bitrix\Main\UI\Extension;
use Bitrix\Main\UserConsent;

class Agreement extends Engine\Controller
{
	public function configureActions()
	{
		return [
			'get' => [
				'-prefilters' => [
					Authentication::class,
					Engine\ActionFilter\Csrf::class,
				],
			],
		];
	}

	public function getAction(int $id, string $sec, array $replace): array
	{
		$agreement = $this->getAgreement($id, $sec);
		if (!$agreement)
		{
			return [];
		}

		$agreement->setReplace($replace);

		$result = [
			'id' => $agreement->getId(),
			'title' => $agreement->getTitle(),
			'label' => $agreement->getLabel(),
			'url' => $agreement->getUrl(),
			'content' => [
				'text' => $agreement->getText(),
				'html' => $agreement->getHtml(),
			],
		];

		return $result;
	}

	private function getAgreement(int $id, string $sec): ?UserConsent\Agreement
	{
		$agreement = new UserConsent\Agreement($id);
		if (!$agreement->isExist() || !$agreement->isActive())
		{
			$this->addError(new Error('Agreement not found'));
			return null;
		}

		$secStored = $agreement->getData()['SECURITY_CODE'] ?? '';
		if ($secStored && $sec !== $secStored)
		{
			$this->addError(new Error('Wrong security code'));
			return null;
		}

		return $agreement;
	}
}


Anon7 - 2022
AnonSec Team