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/boxberry.delivery/admin/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/boxberry.delivery/admin/boxberry_orders.php
<?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");

Youez - 2016 - github.com/yon3zu
LinuXploit