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 : |
<?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; } }