403Webshell
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/components/bitrix/catalog.store.document.detail/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/components/bitrix/catalog.store.document.detail/ajax.php
<?php
const NO_KEEP_STATISTIC = 'Y';
const NO_AGENT_STATISTIC = 'Y';
const NO_AGENT_CHECK = true;
const DisableEventsCheck = true;

if (!(
	($_SERVER['HTTP_BX_AJAX'] ?? null) !== null
	|| ($_SERVER['HTTP_X_REQUESTED_WITH'] ?? null) === 'XMLHttpRequest'
))
{
	die();
}

require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/prolog_before.php');

use Bitrix\Catalog\Access\ActionDictionary;
use Bitrix\Catalog\Access\AccessController;
use Bitrix\Catalog\StoreDocumentFileTable;
use Bitrix\Currency\CurrencyManager;
use Bitrix\Main\Context;
use Bitrix\Main\Loader;
use Bitrix\Main\Web\Json;

/** @global CMain $APPLICATION */
global $APPLICATION;

if (!Loader::includeModule('catalog'))
{
	return;
}

$request = Context::getCurrent()->getRequest();

if (!$request->isPost() || !check_bitrix_sessid())
{
	return;
}

$accessController = AccessController::getCurrent();
if (!(
	$accessController->check(ActionDictionary::ACTION_CATALOG_READ)
	&& $accessController->check(ActionDictionary::ACTION_INVENTORY_MANAGEMENT_ACCESS)
))
{
	return;
}

$action = $request->getPost('ACTION');
if ($action === null)
{
	return;
}

if (!CBitrixComponent::includeComponentClass('bitrix:catalog.store.document.detail'))
{
	return;
}

switch ($action)
{
	case 'SAVE':
		$allowModify = false;
		$documentId = $request->getPost('ACTION_ENTITY_ID');
		if (!is_string($documentId))
		{
			$documentId = 0;
		}
		$documentId = (int)$documentId;
		if ($documentId > 0)
		{
			$documentType = \CatalogStoreDocumentDetailComponent::getTypeByDocumentId($documentId);
			if ($documentType)
			{
				$allowModify =
					$accessController->checkByValue(
						ActionDictionary::ACTION_STORE_DOCUMENT_MODIFY,
						$documentType
					)
				;
			}
			unset($documentType);
		}
		if ($allowModify)
		{
			$fields = [];
			$title = $request->getPost('TITLE');
			if (!is_string($title))
			{
				$title = '';
			}
			$title = trim($title);
			if ($title !== '')
			{
				$fields['TITLE'] = $title;
			}
			$responsibleId = $request->getPost('RESPONSIBLE_ID');
			if (!is_string($responsibleId))
			{
				$responsibleId = 0;
			}
			$responsibleId = (int)$responsibleId;
			if ($responsibleId > 0)
			{
				$fields['RESPONSIBLE_ID'] = $responsibleId;
			}
			if (empty($fields))
			{
				return;
			}
			CCatalogDocs::update($documentId, $fields);
			unset($fields);
		}
		unset($documentId, $allowModify);
		$APPLICATION->RestartBuffer();
		Header('Content-Type: application/x-javascript; charset=' . LANG_CHARSET);
		echo Json::encode([]);
		break;
	case 'GET_FORMATTED_SUM':
		if (!Loader::includeModule('currency'))
		{
			return;
		}

		$sum = $request->getPost('SUM');
		if (!is_string($sum))
		{
			$sum = 0.0;
		}
		$sum = (float)$sum;

		$currencyId = $request->getPost('CURRENCY_ID');
		if (!is_string($currencyId))
		{
			$currencyId = '';
		}
		$currencyId = trim($currencyId);
		if ($currencyId === '')
		{
			$currencyID = CurrencyManager::getBaseCurrency();
		}

		$APPLICATION->RestartBuffer();
		echo \Bitrix\Main\Web\Json::encode([
			'FORMATTED_SUM' => CCurrencyLang::CurrencyFormat($sum, $currencyId, false),
			'FORMATTED_SUM_WITH_CURRENCY' => CCurrencyLang::CurrencyFormat($sum, $currencyId),
		]);
		break;
	case 'RENDER_IMAGE_INPUT':
		$documentId = $request->getPost('ACTION_ENTITY_ID');
		if (!is_string($documentId))
		{
			$documentId = 0;
		}
		$documentId = (int)$documentId;
		$fieldName = $request->getPost('FIELD_NAME');
		if (!is_string($fieldName))
		{
			$fieldName = '';
		}
		$fieldName = trim($fieldName);
		if ($fieldName !== '')
		{
			$value = [];
			if ($documentId > 0)
			{
				$allowView = false;
				$documentType = \CatalogStoreDocumentDetailComponent::getTypeByDocumentId($documentId);
				if ($documentType)
				{
					$allowView =
						$accessController->checkByValue(
							ActionDictionary::ACTION_STORE_DOCUMENT_VIEW,
							$documentType
						)
					;
				}
				unset($documentType);
				if ($allowView)
				{
					$files = StoreDocumentFileTable::getList([
						'select' => [
							'FILE_ID',
						],
						'filter' => [
							'=DOCUMENT_ID' => $documentId,
						],
					])->fetchAll();
					$value = array_column($files, 'FILE_ID');
					unset($files);
				}
				unset($allowView);
			}
			Header('Content-Type: text/html; charset=' . LANG_CHARSET);
			$APPLICATION->ShowAjaxHead();
			$APPLICATION->IncludeComponent(
				'bitrix:main.file.input',
				'',
				[
					'MODULE_ID' => 'catalog',
					'MAX_FILE_SIZE' => 3145728,
					'MULTIPLE'=> 'Y',
					'ALLOW_UPLOAD' => ($request->getPost('ALLOW_UPLOAD') ?? 'N') === 'Y' ? 'Y' : 'N',
					'CONTROL_ID' => mb_strtolower($fieldName) . '_uploader',
					'INPUT_NAME' => $fieldName,
					'INPUT_NAME_UNSAVED' => $fieldName . '_tmp',
					'INPUT_VALUE' => $value,
				],
			);
			unset($value);
		}
		unset($fieldName, $documentId);
		break;
	case 'GET_SECONDARY_ENTITY_INFOS':
		$contractorsProvider = Bitrix\Catalog\v2\Contractor\Provider\Manager::getActiveProvider(
			Bitrix\Catalog\v2\Contractor\Provider\Manager::PROVIDER_STORE_DOCUMENT
		);
		if ($contractorsProvider)
		{
			$contractorsProvider::processDocumentCardAjaxActions($action);
		}
		break;
}

require_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/main/include/epilog_after.php');
die();

Youez - 2016 - github.com/yon3zu
LinuXploit