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/admin/ |
Upload File : |
<?php use Bitrix\Main\Loader; use Bitrix\Main\Localization\Loc; use Bitrix\Sale\StatusLangTable; use Boxberry\Bitrix\Entity\Order; use Boxberry\Bitrix\Helpers\Options; use Boxberry\Bitrix\OrdersTable; use Bitrix\Sale\OrderTable; global $APPLICATION; require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_before.php"); Loader::includeModule('boxberry.delivery'); Loc::loadMessages(__FILE__); $POST_RIGHT = $APPLICATION->GetGroupRight(Options::getModuleId()); if ($POST_RIGHT === 'D') { $APPLICATION->AuthForm(Loc::getMessage("ACCESS_DENIED")); } $APPLICATION->SetTitle(Loc::getMessage('BOXBERRY_ORDERS_MENU_TITLE')); $sorting = new CAdminSorting('bb_orders_table', 'ORDER_ID', 'desc'); $lAdmin = new CAdminUiList($sorting->table_id, $sorting); $headers = [ ['id' => 'ORDER_ID', 'content' => Loc::getMessage('ORDER_ID'), 'sort' => 'ORDER_ID', 'default' => true], ['id' => 'ACCOUNT_NUMBER', 'content' => Loc::getMessage('ACCOUNT_NUMBER'), 'sort' => 'ACCOUNT_NUMBER', 'default' => true], ['id' => 'TRACK', 'content' => Loc::getMessage('TRACK_NUMBER'), 'sort' => 'TRACK', 'default' => true], ['id' => 'DELIVERY_ID', 'content' => Loc::getMessage('DELIVERY_ID'), 'sort' => 'DELIVERY_ID', 'default' => true], ['id' => 'BITRIX_STATUS', 'content' => Loc::getMessage('BITRIX_STATUS'), 'sort' => 'BITRIX_STATUS_ID', 'default' => true], ['id' => 'BOXBERRY_STATUS', 'content' => Loc::getMessage('BOXBERRY_STATUS'), 'sort' => 'BB_STATUS_ID', 'default' => true], ]; $bbStatuses = Options::getBbStatusesArray(); unset($bbStatuses['0']); $filterFields = []; foreach ($headers as $header) { $field = [ 'id' => $header['id'], 'name' => $header['content'], 'filterable' => '', 'quickSearch' => '', 'default' => $header['default'] ]; if ($header['id'] == 'BITRIX_STATUS' || $header['id'] == 'BOXBERRY_STATUS') { continue; // $field['filterable'] = $bbStatuses; // $field['quickSearch'] = $bbStatuses; } $filterFields[] = $field; } $filter = []; $orderList = OrdersTable::getList([ 'order' => ['ID' => 'DESC'], 'filter' => $filter, 'limit' => $lAdmin->getNavSize(), ])->fetchAll(); $bitrixOrderList = []; foreach ($orderList as $order) { $bitrixOrder = OrderTable::getList([ 'filter' => ['ID' => $order['ORDER_ID']], 'select' => ['ID'], 'limit' => 1 ])->fetch(); if ($bitrixOrder !== false) { $bitrixOrderList[] = $order; } } $lAdmin->AddHeaders($headers); $lAdmin->AddFilter($filterFields, $filter); foreach ($bitrixOrderList as $order) { $row = $lAdmin->AddRow($order['ID'], $order); $row->AddCheckField('ID'); $orderLink = '<a href="/bitrix/admin/sale_order_view.php?ID=' . $order['ORDER_ID'] . '" target="_blank">' . htmlspecialchars($order['ORDER_ID']) . '</a>'; $accountNumberLink = '<a href="/bitrix/admin/sale_order_view.php?ID=' . $order['ORDER_ID'] . '"target="_blank">' . htmlspecialchars($order['ACCOUNT_NUMBER']) . '</a>'; $row->AddViewField('ORDER_ID', isset($order['ORDER_ID']) ? $orderLink : ''); $row->AddViewField('ACCOUNT_NUMBER', isset($order['ACCOUNT_NUMBER']) ? $accountNumberLink : ''); $trackLink = ''; if (!empty($order['TRACK'])) { $trackLink = '<a href="' . Order::BB_TRACKING_URL . $order['TRACK'] . '" target="_blank" target="_blank">' . htmlspecialchars($order['TRACK']) . '</a>'; } $row->AddViewField('TRACK', $trackLink); $deliveryLink = '<a href="/bitrix/admin/sale_delivery_service_edit.php?ID=' . $order['PARENT_DELIVERY_ID'] . '">' . htmlspecialchars($order['PARENT_DELIVERY_ID']) . '</a>'; $row->AddViewField('DELIVERY_ID', isset($order['DELIVERY_ID']) ? $deliveryLink : ''); $bitrixStatus = StatusLangTable::getList(array( 'filter' => array('STATUS_ID' => $order['BITRIX_STATUS_ID'], 'LID' => LANGUAGE_ID) ))->fetch(); $bitrixStatusName = $bitrixStatus['NAME'] ?? ''; $row->AddViewField('BITRIX_STATUS', $bitrixStatusName); $bbStatusName = $bbStatuses[$order['BB_STATUS_ID']] ?? ''; $row->AddViewField('BOXBERRY_STATUS', $bbStatusName); $actions = [ [ "ICON"=>"edit", "TEXT"=> Loc::getMessage('ORDER_EDIT_ACTION'), "ACTION"=>"javascript:window.open('sale_order_edit.php?ID=".$order['ORDER_ID']."', '_blank')" ], ]; $row->AddActions($actions); } /* $groupActions = [ "update_status" => "Обновить статус", ]; $lAdmin->AddGroupActionTable($groupActions); */ $lAdmin->CheckListMode(); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); $lAdmin->DisplayFilter($filterFields); $lAdmin->DisplayList(); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");