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/vkapi.market/admin/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/vkapi.market/admin/export_list.php
<?php

use VKapi\Market\Exception\BaseException;
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php";
$VKAPI_MARKET_MODULE_ID = "vkapi.market";
$VKAPI_MARKET_MODULE_ID_LANG = "VKAPI.MARKET.";
global $APPLICATION;
\Bitrix\Main\Localization\Loc::loadMessages(__FILE__);
\Bitrix\Main\Loader::includeModule($VKAPI_MARKET_MODULE_ID);
$oManager = \VKapi\Market\Manager::getInstance();
$oExport = new \VKapi\Market\Export();
$oExportTable = new \VKapi\Market\ExportTable();
$oGoodReferenceExport = new \VKapi\Market\Good\Reference\Export();
$oParam = \VKapi\Market\Param::getInstance();
$app = \Bitrix\Main\Application::getInstance();
$req = $app->getContext()->getRequest();
$PREMISION_DEFINE = $APPLICATION->GetGroupRight($VKAPI_MARKET_MODULE_ID);
if ($PREMISION_DEFINE <= "D") {
    $APPLICATION->AuthForm(\GetMessage("ACCESS_DENIED"));
}
$bReadOnly = \true;
if ($PREMISION_DEFINE == 'W') {
    $bReadOnly = \false;
}
$sTableID = 'vkapi__market__export__list';
$sCurPage = $APPLICATION->GetCurPage();
$editPage = $VKAPI_MARKET_MODULE_ID . '_export_edit.php';
$listPage = $VKAPI_MARKET_MODULE_ID . '_export_list.php';
$exportNowPage = $VKAPI_MARKET_MODULE_ID . '_export_now.php';
$oSort = new \CAdminSorting($sTableID, "SORT", "ASC");
$sAdmin = new \CAdminList($sTableID, $oSort);

$sContent = [["TEXT" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'MENU_BTN_NEW_TITLE'), "LINK" => $editPage . "?lang=" . \LANG, "TITLE" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'MENU_BTN_NEW_TITLE'), "ICON" => "btn_new"]];
$sMenu = new \CAdminContextMenu($sContent);
if ($req->isPost() && $req->getPost('method')) {
    $oJsonResponse = new \VKapi\Market\Ajax\JsonResponse();
    try {
        if (!$oManager->base()->canActionRight('W')) {
            throw new \VKapi\Market\Exception\BaseException($oManager->getMessage('EXPORT_LIST.AJAX_ERROR_ACCESS'), 'AJAX_ERROR_ACCESS');
        }
        if (\CModule::IncludeModuleEx("vkapi.marke" . "" . "t") == \constant("MODULE_DEMO_EXPIRED")) {
            throw new \VKapi\Market\Exception\BaseException(\Bitrix\Main\Localization\Loc::getMessage("VKAPI.MARKET.DEMO_EXPIRED"), "BXMA" . "KER_" . "DEMO_EXP" . "IRE" . "" . "D");
        }
        switch ($req->getPost('method')) {
            // ������� ���� ������ �������� ���� �� �� ����� ������������
            case 'auto_export_stop':
                $oParam->set('AUTO_EXPORT_STOP', 'N');
                $oJsonResponse->setResponseField('msg', 'OK');
                break;
            default:
                throw new \VKapi\Market\Exception\BaseException($oManager->getMessage('EXPORT_LIST.AJAX_ERROR_UNKNOWN_METHOD'), 'AJAX_ERROR_UNKNOWN_METHOD');
        }
    } catch (\Throwable $ex) {
        $oJsonResponse->setException($ex);
    }
    $oJsonResponse->output();
}
// ������� ��� ��������
if (!!$req->get('action') && !!$req->get('export_id')) {
    switch ($req->get('action')) {
        case 'reset_state':
            // ���� ��������� �������� ��� ������ �������� ������� �������� - ���� ��� �������
            $oManager->resetAutoExportState(\intval($req->get('export_id')));
            break;
        case 'auto_export_enable':
            // ������� ������������� �������
            $oExportTable->update(\intval($req->get('export_id')), ['AUTO' => \true]);
            // ������� ��������� �������
            $oManager->resetAutoExportState(\intval($req->get('export_id')));
            break;
        case 'auto_export_disable':
            // �������� ������������� �������
            $oExportTable->update(\intval($req->get('export_id')), ['AUTO' => \false]);
            break;
    }
    \LocalRedirect($APPLICATION->GetCurPageParam('', ['action', 'export_id']));
}
// �������, ����������, �������� �������
if (!$bReadOnly && ($arID = $sAdmin->GroupAction())) {
    switch ($req->get('action')) {
        case "deactivate":
            foreach ($arID as $id) {
                $res = $oExportTable->update($id, ['ACTIVE' => \false]);
            }
            break;
        case "active":
            foreach ($arID as $id) {
                $res = $oExportTable->update($id, ['ACTIVE' => \true]);
            }
            break;
    }
    switch ($req->getPost('action_button')) {
        case "delete":
            foreach ($arID as $id) {
                $res = $oExportTable->delete($id);
            }
            break;
    }
}
// ����
$arSite = $oManager->getSiteList();
// ���������
$arIblocks = $oManager->getIblockList();
// ���
$arPrices = $oManager->getPriceList();
$by = 'ID';
if (isset($_GET['by']) && \in_array($_GET['by'], ['ID', 'SITE_ID', 'GROUP_ID', 'GROUP_NAME', 'ACTIVE', 'CATALOG_ID', 'PRICE_ID'])) {
    $by = $_GET['by'];
}
$arOrder = [$by => $_GET['order'] == 'ASC' ? 'ASC' : 'DESC'];
$navyParams = \CDBResult::GetNavParams(\CAdminResult::GetNavSize($sTableID, ['nPageSize' => 20, 'sNavID' => $APPLICATION->GetCurPage()]));
$usePageNavigation = \true;
if ($navyParams['SHOW_ALL']) {
    $usePageNavigation = \false;
} else {
    $navyParams['PAGEN'] = (int) $navyParams['PAGEN'];
    $navyParams['SIZEN'] = (int) $navyParams['SIZEN'];
}
// -----------------------------------
$arQuery = ['select' => ['*'], 'order' => $arOrder];
if ($usePageNavigation) {
    $arQuery['limit'] = $navyParams['SIZEN'];
    $arQuery['offset'] = $navyParams['SIZEN'] * ($navyParams['PAGEN'] - 1);
}
if ($usePageNavigation) {
    $totalCount = 0;
    $totalPages = 0;
    $dbrCount = $oExportTable->getList(['select' => ['CNT']]);
    if ($ar = $dbrCount->fetch()) {
        $totalCount = $ar['CNT'];
    }
    if ($totalCount > 0) {
        $totalPages = \ceil($totalCount / $navyParams['SIZEN']);
        if ($navyParams['PAGEN'] > $totalPages) {
            $navyParams['PAGEN'] = $totalPages;
        }
        $arQuery['limit'] = $navyParams['SIZEN'];
        $arQuery['offset'] = $navyParams['SIZEN'] * ($navyParams['PAGEN'] - 1);
    } else {
        $navyParams['PAGEN'] = 1;
        $arQuery['limit'] = $navyParams['SIZEN'];
        $arQuery['offset'] = 0;
    }
}
$dbResultList = $oExportTable->getList($arQuery);
$dbResultList = new \CAdminResult($dbResultList, $sTableID);
if ($usePageNavigation) {
    $dbResultList->NavStart($arQuery['limit'], $navyParams['SHOW_ALL'], $navyParams['PAGEN']);
    $dbResultList->NavRecordCount = $totalCount;
    $dbResultList->NavPageCount = $totalPages;
    $dbResultList->NavPageNomer = $navyParams['PAGEN'];
} else {
    $dbResultList->NavStart();
}
$sAdmin->NavText($dbResultList->GetNavPrint(\GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'PAGE_LIST_TITLE_NAV_TEXT')));
$sAdmin->AddHeaders([["id" => 'ID', "content" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'HEAD.ID'), "sort" => 'ID', "default" => \true], ["id" => 'NAME', "content" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'HEAD.NAME'), "sort" => 'NAME', "default" => \true], ["id" => 'ACTIVE', "content" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'HEAD.ACTIVE'), "sort" => 'ACTIVE', "default" => \true], ["id" => 'SITE_ID', "content" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'HEAD.SITE_ID'), "sort" => 'SITE_ID', "default" => \false], ["id" => 'GROUP_NAME', "content" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'HEAD.GROUP_NAME'), "sort" => 'GROUP_NAME', "default" => \true], ["id" => 'STATUS', "content" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'HEAD.STATUS'), "sort" => '', "default" => \true], ["id" => 'CATALOG_ID', "content" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'HEAD.CATALOG_ID'), "sort" => 'CATALOG_ID', "default" => \false]]);
while ($arItem = $dbResultList->NavNext(\true, 's_')) {
    $row =& $sAdmin->AddRow($arItem['ID'], $arItem);
    $row->AddField('SITE_ID', isset($arSite[$arItem['SITE_ID']]) ? $arSite[$arItem['SITE_ID']] : $arItem['SITE_ID']);
    $row->AddField('GROUP_NAME', '<a href="//vk.com/club' . $arItem['GROUP_ID'] . '" target="_blank" >[' . $arItem['GROUP_ID'] . '] ' . $arItem['GROUP_NAME'] . '</a>');
    $row->AddField('CATALOG_ID', isset($arIblocks[$arItem['CATALOG_ID']]) ? $arIblocks[$arItem['CATALOG_ID']] : $arItem['CATALOG_ID']);
    $row->AddField('PRICE_ID', isset($arPrices[$arItem['PRICE_ID']]) ? $arPrices[$arItem['PRICE_ID']] : $arItem['PRICE_ID']);
    $row->AddField('ACTIVE', \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'HEAD.ACTIVE_' . $arItem['ACTIVE']) . '' . \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'HEAD.AUTO_' . $arItem['AUTO']));
    $row->AddField('ID', $arItem['ID']);
    $oState = new \VKapi\Market\State('auto_' . $arItem['ID']);
    $oStateData = $oState->get();
    $arStatus = [];
    if (!empty($oStateData)) {
        if ($oStateData['complete']) {
            $arStatus[] = \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'ITEM.STATUS.COMPLETE', ['#TIME0#' => $oStateData['dateTimeStartFormat'], '#TIME1#' => $oStateData['dateTimeStopFormat']]);
        } else {
            $arStatus[] = \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'ITEM.STATUS.RUNNING', ['#TIME0#' => $oStateData['dateTimeStartFormat']]);
            foreach ($oStateData['steps'] as $arStep) {
                if (\is_null($arStep['name'])) {
                    continue;
                }
                $arStatus[] = '<b>' . $arStep['name'] . ' - ' . $arStep['percent'] . '%</b>';
                foreach ($arStep['items'] as $arSubStep) {
                    $arStatus[] = '<span class="vkapi__market__export__list-status-item">' . ($arSubStep['percent'] >= 100 ? '+ ' : '. ') . $arSubStep['name'] . ' - ' . $arSubStep['percent'] . '%</span>';
                }
            }
        }
    } else {
        $arStatus[] = \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'ITEM.STATUS.EMPTY');
    }
    $row->AddField('STATUS', \implode('<br />', $arStatus));
    $arActions = [];
    $arActions[] = ["ICON" => "edit", "TEXT" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'MENU_EDIT'), "ACTION" => $sAdmin->ActionRedirect($editPage . "?ID=" . $arItem['ID'] . "&lang=" . \LANG . ""), "DEFAULT" => \true];
    $arActions[] = ["ICON" => "copy", "TEXT" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'MENU_COPY'), "ACTION" => $sAdmin->ActionRedirect($editPage . "?COPY_ID=" . $arItem['ID'] . "&lang=" . \LANG . ""), "DEFAULT" => \true];
    if ($arItem['AUTO']) {
        $arActions[] = ["ICON" => "update", "TEXT" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'MENU_RESET_STATE'), "ACTION" => $sAdmin->ActionRedirect($listPage . "?action=reset_state&export_id=" . $arItem['ID'] . "&lang=" . \LANG . ""), "DEFAULT" => \true];
        $arActions[] = ["ICON" => "disable", "TEXT" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'MENU_AUTO_EXPORT_DISABLE'), "ACTION" => $sAdmin->ActionRedirect($listPage . "?action=auto_export_disable&export_id=" . $arItem['ID'] . "&lang=" . \LANG . ""), "DEFAULT" => \true];
    } else {
        $arActions[] = ["ICON" => "update", "TEXT" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'MENU_EXPORT_NOW_START'), "ACTION" => $sAdmin->ActionRedirect($exportNowPage . "?export_id=" . $arItem['ID'] . "&lang=" . \LANG . ""), "DEFAULT" => \true];
        $arActions[] = ["ICON" => "disable", "TEXT" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'MENU_AUTO_EXPORT_ENABLE'), "ACTION" => $sAdmin->ActionRedirect($listPage . "?action=auto_export_enable&export_id=" . $arItem['ID'] . "&lang=" . \LANG . ""), "DEFAULT" => \true];
    }
    $row->AddActions($arActions);
}
$sAdmin->AddFooter([["title" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'LIST_SELECTED'), "value" => $dbResultList->SelectedRowsCount()], ["counter" => \true, "title" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'LIST_CHECKED'), "value" => "0"]]);
if (!$bReadOnly) {
    $sAdmin->AddGroupActionTable(["delete" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'LIST_DELETE'), "active" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'LIST_ACTIVE'), "deactivate" => \GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'LIST_DEACTIVATE')]);
}
$sAdmin->CheckListMode();
$APPLICATION->SetTitle(\GetMessage($VKAPI_MARKET_MODULE_ID_LANG . 'PAGE_LIST_TITLE'));
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
\VKapi\Market\Manager::getInstance()->showAdminPageCssJs();
\VKapi\Market\Manager::getInstance()->showAdminPageMessages();
\VKapi\Market\Manager::getInstance()->showAutoExportError();
$sMenu->Show();
$sAdmin->DisplayList();
require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php";

Youez - 2016 - github.com/yon3zu
LinuXploit