Spamworldpro Mini Shell
Spamworldpro


Server : Apache
System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64
User : corals ( 1002)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/corals/old/app/code/Zendesk/Zendesk/Model/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/old/app/code/Zendesk/Zendesk/Model/OrderRepository.php
<?php

namespace Zendesk\Zendesk\Model;

class OrderRepository implements \Zendesk\Zendesk\Api\OrderRepositoryInterface
{
    /**
     * @var \Magento\Sales\Api\OrderRepositoryInterface
     */
    protected $orderRepository;
    /**
     * @var \Magento\Framework\Api\SearchCriteriaBuilder
     */
    protected $searchCriteriaBuilder;
    /**
     * @var \Zendesk\Zendesk\Api\Data\OrderInterfaceFactory
     */
    protected $zendeskOrderFactory;
    /**
     * @var \Zendesk\Zendesk\Helper\Data
     */
    protected $helper;
    /**
     * @var \Magento\Framework\Api\SortOrderBuilder
     */
    protected $sortOrderBuilder;
    /**
     * @var \Zendesk\Zendesk\Helper\Config
     */
    protected $configHelper;

    /**
     * OrderRepository constructor.
     * @param \Zendesk\Zendesk\Api\Data\OrderInterfaceFactory $zendeskOrderFactory
     * @param \Magento\Sales\Api\OrderRepositoryInterface $orderRepository
     * @param \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder
     * @param \Magento\Framework\Api\SortOrderBuilder $sortOrderBuilder
     * @param \Zendesk\Zendesk\Helper\Data $helper
     * @param \Zendesk\Zendesk\Helper\Config $configHelper
     */
    public function __construct(
        \Zendesk\Zendesk\Api\Data\OrderInterfaceFactory $zendeskOrderFactory,
        \Magento\Sales\Api\OrderRepositoryInterface $orderRepository,
        \Magento\Framework\Api\SearchCriteriaBuilder $searchCriteriaBuilder,
        \Magento\Framework\Api\SortOrderBuilder $sortOrderBuilder,
        \Zendesk\Zendesk\Helper\Data $helper,
        \Zendesk\Zendesk\Helper\Config $configHelper
    ) {
        $this->orderRepository = $orderRepository;
        $this->searchCriteriaBuilder = $searchCriteriaBuilder;
        $this->zendeskOrderFactory = $zendeskOrderFactory;
        $this->helper = $helper;
        $this->sortOrderBuilder = $sortOrderBuilder;
        $this->configHelper = $configHelper;
    }

    /**
     * {@inheritdoc}
     */
    public function getOrders($emailAddress, $brandId, $orderCount)
    {
        $this->searchCriteriaBuilder->addFilter(
            \Magento\Sales\Api\Data\OrderInterface::CUSTOMER_EMAIL,
            $emailAddress
        );

        $storeIds = $this->configHelper->getBrandStores($brandId);
        if (!empty($storeIds)) {
            $this->searchCriteriaBuilder->addFilter(
                \Magento\Sales\Api\Data\OrderInterface::STORE_ID,
                $storeIds,
                'in'
            );
        }

        $this->sortOrderBuilder->setField(\Magento\Sales\Api\Data\OrderInterface::CREATED_AT);
        $this->sortOrderBuilder->setDescendingDirection();

        $this->searchCriteriaBuilder->addSortOrder($this->sortOrderBuilder->create());

        $this->searchCriteriaBuilder->setPageSize($orderCount);

        $orders = $this->orderRepository->getList($this->searchCriteriaBuilder->create())->getItems();

        /** @var \Zendesk\Zendesk\Api\Data\OrderInterface[] $zendeskOrders */
        $zendeskOrders = [];

        foreach ($orders as $order) {
            /** @var \Zendesk\Zendesk\Api\Data\OrderInterface $zendeskOrder */
            $zendeskOrder = $this->zendeskOrderFactory->create();

            $zendeskOrder->setOrderUrl($this->helper->getOrderDeepLinkUrl($order->getEntityId()));

            if (!empty($order->getCustomerId())) {
                $zendeskOrder->setCustomerBackendUrl($this->helper->getCustomerDeepLinkUrl($order->getCustomerId()));
            }

            $zendeskOrder->setOrder($order);

            $zendeskOrders[] = $zendeskOrder;
        }

        return $zendeskOrders;
    }
}

Spamworldpro Mini