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/modules/yandex.market/lib/ui/iblock/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/yandex.market/lib/ui/iblock/adminelementedit.php
<?php

namespace Yandex\Market\Ui\Iblock;

use Yandex\Market;
use Bitrix\Main;

Main\Localization\Loc::loadMessages(__FILE__);

class AdminElementEdit extends Market\Reference\Event\Regular
{
	const TABSET_ID = 'tab_yandex_market';
	const TAB_EXPORT_RESULT = 'export_result';

	public static function getHandlers()
	{
		return [
			[
				'module' => 'main',
				'event' => 'OnAdminIBlockElementEdit'
			]
		];
	}

	public static function OnAdminIBlockElementEdit($elementInfo)
	{
		return [
			'TABSET' => static::TABSET_ID,
			'GetTabs' => [__CLASS__, 'getTabs'],
			'ShowTab' => [__CLASS__, 'showTab']
		];
	}

	public static function getTabs($elementInfo)
	{
		$result = null;

		if (!empty($elementInfo['ID']) && static::hasReadAccess() && static::hasExportOffer($elementInfo['ID']))
		{
			$result = [
				[
					'DIV' => static::TAB_EXPORT_RESULT,
					'SORT' => 1000,
					'TAB' => Market\Config::getLang('UI_IBLOCK_ADMIN_ELEMENT_EDIT_TAB_EXPORT_RESULT'),
					'TITLE' => Market\Config::getLang('UI_IBLOCK_ADMIN_ELEMENT_EDIT_TAB_EXPORT_RESULT_TITLE')
				]
			];
		}

		return $result;
	}

	public static function showTab($div, $elementInfo, $formData)
	{
		switch ($div)
		{
			case static::TAB_EXPORT_RESULT:
				static::showTabExportResult($elementInfo['ID'], true);
			break;
		}
	}

	public static function showTabExportResult($elementId, $isTab = false)
	{
		global $APPLICATION;

		if ($isTab) { echo '<tr><td>'; }

		try
		{
			$elementId = (int)$elementId;

			$APPLICATION->IncludeComponent('yandex.market:admin.grid.list', '', array(
				'GRID_ID' => 'YANDEX_MARKET_ELEMENT_TAB_EXPORT_RESULT',
				'ELEMENT_ID' => $elementId,
				'PROVIDER' => Market\Component\ExportOffer\GridList::class,
				'DATA_CLASS_NAME' => Market\Export\Run\Storage\OfferTable::class,
				'USE_FILTER' => 'N',
				'SUBLIST' => 'Y',
				'SUBLIST_TARGET' => $isTab ? 'N' : 'Y',
				'AJAX_URL' => '/bitrix/admin/yamarket_element_export_result.php?dummy&lang=' . LANGUAGE_ID . '&id=' . $elementId, // dummy required for pager
				'PAGE_TITLE' => Market\Config::getLang('UI_IBLOCK_ADMIN_ELEMENT_EDIT_TAB_EXPORT_RESULT_NAV_TITLE'),
				'LIST_FIELDS' => array(
					'SETUP',
					'ELEMENT_ID',
					'STATUS',
					'LOG'
				),
				'PRIMARY' => [
					'SETUP_ID',
					'ELEMENT_ID'
				],
				'ROW_ACTIONS' => array(
					'LOG' => array(
						'URL' => '/bitrix/admin/yamarket_log.php?lang=' . LANGUAGE_ID . '&find_offer_id=#ELEMENT_ID#&find_setup=#SETUP_ID#&set_filter=Y&apply_filter=Y&popup=Y',
						'TEXT' => Market\Config::getLang('UI_IBLOCK_ADMIN_ELEMENT_EDIT_TAB_EXPORT_RESULT_ROW_ACTION_LOG'),
						'WINDOW' => 'Y'
					),
					'XML_CONTENT' => array(
						'URL' => '/bitrix/admin/yamarket_xml_element.php?lang=' . LANGUAGE_ID . '&type=offer&id=#ELEMENT_ID#&setup=#SETUP_ID#&popup=Y',
						'TEXT' => Market\Config::getLang('UI_IBLOCK_ADMIN_ELEMENT_EDIT_TAB_EXPORT_RESULT_ROW_XML_CONTENT'),
						'WINDOW' => 'Y'
					)
				)
			));
		}
		catch (Main\SystemException $exception)
		{
			\CAdminMessage::ShowMessage($exception->getMessage());
		}

		if ($isTab) { echo '<tr><td>'; }
	}

	protected static function hasReadAccess()
	{
		return Market\Ui\Access::isProcessExportAllowed();
	}

	protected static function hasExportOffer($offerId)
	{
		$offerId = (int)$offerId;
		$result = false;

		$query = Market\Export\Run\Storage\OfferTable::getList([
			'filter' => [
				[
					'LOGIC' => 'OR',
					'=ELEMENT_ID' => $offerId,
					'=PARENT_ID' => $offerId
				]
			],
			'limit' => 1,
			'select' => [ 'ELEMENT_ID' ]
		]);

		if ($query->fetch())
		{
			$result = true;
		}

		return $result;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit