Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /** * Copyright Magefan ([email protected]). All rights reserved. * Please visi..

Decoded Output download

<?php
/**
 * Copyright  Magefan ([email protected]). All rights reserved.
 * Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement).
 *
 * Glory to Ukraine! Glory to the heroes!
 */

declare(strict_types=1);

namespace Magefan\HtmlSitemap\Block\Catalog;

use Magefan\HtmlSitemap\Block\AbstractBlock;
use Magento\Framework\View\Element\Template;
use Magefan\HtmlSitemap\Model\Config;
use Magento\Framework\DataObject;
use Magento\Catalog\Model\ResourceModel\Product\Collection;
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
use Magento\Catalog\Model\Product\Attribute\Source\Status;
use Magento\Catalog\Model\Product\Visibility;

abstract class AbstractProducts extends AbstractBlock
{

    /**
     * @var CollectionFactory
     */
    protected $productCollectionFactory;

    /**
     * @var Status
     */
    protected $status;

    /**
     * @var Visibility
     */
    protected $visibility;

    /**
     * @var array
     */
    protected $excludedProductsIds;

    /**
     * @var string
     */
    protected $type = 'productlinks';

    /**
     * Product constructor.
     * @param Template\Context $context
     * @param Config $config
     * @param CollectionFactory $productCollectionFactory
     * @param Status $status
     * @param Visibility $visibility
     * @param array $data
     */
    public function __construct(
        Template\Context $context,
        Config $config,
        CollectionFactory $productCollectionFactory,
        Status $status,
        Visibility $visibility,
        array $data = []
    ) {
        parent::__construct($context, $config, $data);
        $this->productCollectionFactory = $productCollectionFactory;
        $this->status = $status;
        $this->visibility = $visibility;
    }

    /**
     * @return Collection
     * @throws \Magento\Framework\Exception\NoSuchEntityException
     */
    public function getCollection()
    {
        $k = 'collection';
        if (null === $this->getData($k)) {
            $items = $this->productCollectionFactory->create()
                ->addAttributeToSelect('name')
                ->addAttributeToFilter('status', ['in' => $this->status->getVisibleStatusIds()]);
            if (!empty($this->ignoredLinks)) {
                $items->addAttributeToFilter('url_key', ['nin' => $this->config->getIgnoredLinks()]);
            }

            if ($this->getExcludedProductsIds()) {
                $items->addAttributeToFilter('entity_id', ['nin' => $this->getExcludedProductsIds()]);
            }

            $items
                ->setVisibility($this->visibility->getVisibleInSiteIds())
                ->addStoreFilter($this->_storeManager->getStore()->getId());

            if ($pageSize = $this->getPageSize()) {
                $items->setPageSize($pageSize);
            }

            $this->setData($k, $items);
        }
        return $this->getData($k);
    }

    /**
     * @return array|mixed|null
     */
    public function getItems()
    {
        $k = 'items';
        if (null === $this->getData($k)) {
            $items = [];
            foreach ($this->getCollection() as $collectionItem) {
                $item = new DataObject([
                    'url' => $collectionItem->getProductUrl(),
                    'name' => $collectionItem->getName(),
                    'object' => $collectionItem
                ]);
                $items[] = $item;
            }
            $this->setData($k, $items);
        }

        return $this->getData($k);
    }

    /**
     * @return string
     */
    public function getCurrentTypeHtmlSitemapUrl()
    {
        return $this->getUrl('htmlsitemap/catalog/products');
    }

    /**
     * @return array
     */
    private function getExcludedProductsIds()
    {
        if (!$this->excludedProductsIds) {
            $this->excludedProductsIds = $this->productCollectionFactory->create()
                ->addAttributeToFilter('mf_exclude_html_sitemap', 1)->getAllIds();
        }

        return $this->excludedProductsIds;
    }
}
 ?>

Did this file decode correctly?

Original Code

<?php
/**
 * Copyright  Magefan ([email protected]). All rights reserved.
 * Please visit Magefan.com for license details (https://magefan.com/end-user-license-agreement).
 *
 * Glory to Ukraine! Glory to the heroes!
 */

declare(strict_types=1);

namespace Magefan\HtmlSitemap\Block\Catalog;

use Magefan\HtmlSitemap\Block\AbstractBlock;
use Magento\Framework\View\Element\Template;
use Magefan\HtmlSitemap\Model\Config;
use Magento\Framework\DataObject;
use Magento\Catalog\Model\ResourceModel\Product\Collection;
use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory;
use Magento\Catalog\Model\Product\Attribute\Source\Status;
use Magento\Catalog\Model\Product\Visibility;

abstract class AbstractProducts extends AbstractBlock
{

    /**
     * @var CollectionFactory
     */
    protected $productCollectionFactory;

    /**
     * @var Status
     */
    protected $status;

    /**
     * @var Visibility
     */
    protected $visibility;

    /**
     * @var array
     */
    protected $excludedProductsIds;

    /**
     * @var string
     */
    protected $type = 'productlinks';

    /**
     * Product constructor.
     * @param Template\Context $context
     * @param Config $config
     * @param CollectionFactory $productCollectionFactory
     * @param Status $status
     * @param Visibility $visibility
     * @param array $data
     */
    public function __construct(
        Template\Context $context,
        Config $config,
        CollectionFactory $productCollectionFactory,
        Status $status,
        Visibility $visibility,
        array $data = []
    ) {
        parent::__construct($context, $config, $data);
        $this->productCollectionFactory = $productCollectionFactory;
        $this->status = $status;
        $this->visibility = $visibility;
    }

    /**
     * @return Collection
     * @throws \Magento\Framework\Exception\NoSuchEntityException
     */
    public function getCollection()
    {
        $k = 'collection';
        if (null === $this->getData($k)) {
            $items = $this->productCollectionFactory->create()
                ->addAttributeToSelect('name')
                ->addAttributeToFilter('status', ['in' => $this->status->getVisibleStatusIds()]);
            if (!empty($this->ignoredLinks)) {
                $items->addAttributeToFilter('url_key', ['nin' => $this->config->getIgnoredLinks()]);
            }

            if ($this->getExcludedProductsIds()) {
                $items->addAttributeToFilter('entity_id', ['nin' => $this->getExcludedProductsIds()]);
            }

            $items
                ->setVisibility($this->visibility->getVisibleInSiteIds())
                ->addStoreFilter($this->_storeManager->getStore()->getId());

            if ($pageSize = $this->getPageSize()) {
                $items->setPageSize($pageSize);
            }

            $this->setData($k, $items);
        }
        return $this->getData($k);
    }

    /**
     * @return array|mixed|null
     */
    public function getItems()
    {
        $k = 'items';
        if (null === $this->getData($k)) {
            $items = [];
            foreach ($this->getCollection() as $collectionItem) {
                $item = new DataObject([
                    'url' => $collectionItem->getProductUrl(),
                    'name' => $collectionItem->getName(),
                    'object' => $collectionItem
                ]);
                $items[] = $item;
            }
            $this->setData($k, $items);
        }

        return $this->getData($k);
    }

    /**
     * @return string
     */
    public function getCurrentTypeHtmlSitemapUrl()
    {
        return $this->getUrl('htmlsitemap/catalog/products');
    }

    /**
     * @return array
     */
    private function getExcludedProductsIds()
    {
        if (!$this->excludedProductsIds) {
            $this->excludedProductsIds = $this->productCollectionFactory->create()
                ->addAttributeToFilter('mf_exclude_html_sitemap', 1)->getAllIds();
        }

        return $this->excludedProductsIds;
    }
}

Function Calls

None

Variables

None

Stats

MD5 7903edbe6a9f248efb9c6a2cf880aaf0
Eval Count 0
Decode Time 133 ms