Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/boxberry.delivery/lib/actionfilter/ |
Upload File : |
<?php namespace Boxberry\Delivery\ActionFilter; use Bitrix\Main\Engine\ActionFilter\Base; use Bitrix\Main\Error; use Bitrix\Main\Event; use Bitrix\Main\EventResult; use Bitrix\Main\Localization\Loc; Loc::loadMessages(__FILE__); class Referer extends Base { public const SALE_ORDER_VIEW_REFERER = 'bitrix/admin/sale_order_view.php'; public const SALE_DELIVERY_SERVICE_EDIT_REFERER = 'bitrix/admin/sale_delivery_service_edit.php'; public const SALE_ORDER_REFERER = 'bitrix/admin/sale_order.php'; private array $expectedReferers; public function __construct(array $expectedReferers) { parent::__construct(); $this->expectedReferers = $expectedReferers; } public function onBeforeAction(Event $event): ?EventResult { $referer = $event->getParameter('controller')->getRequest()->getHeader('referer'); foreach ($this->expectedReferers as $expectedReferer) { if (str_contains($referer, $expectedReferer)) { return null; } } return new EventResult(EventResult::ERROR, null, null, new Error(Loc::getMessage('ACTION_FILTER_ACCESS_DENIED'))); } }