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/yandex.market/lib/export/param/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/yandex.market/lib/export/param/collection.php
<?php
namespace Yandex\Market\Export\Param;

use Yandex\Market\Export\Entity;
use Yandex\Market\Reference\Storage;

/**
 * @property Model[] $collection
 */
class Collection extends Storage\Collection
{
	public static function getItemReference()
	{
		return Model::class;
	}

	public function initChildren()
	{
		foreach ($this->collection as $item)
		{
			$item->initChildren();
		}
	}

	public function preloadReference()
	{
		foreach ($this->collection as $item)
		{
			$item->getValueCollection();
		}
	}

    /** @return TagMap */
    public function getTagMap()
    {
        return new TagMap($this->describeTagMap($this));
    }

    private function describeTagMap(Collection $paramCollection)
    {
        $result = [];

        /** @var Model $param */
        foreach ($paramCollection as $param)
        {
            $tagResult = [
                'TAG' => $param->getField('XML_TAG'),
                'VALUE' => null,
                'CHILDREN' => $this->describeTagMap($param->getChildren()),
                'ATTRIBUTES' => [],
                'SETTINGS' => $param->getSettings()
            ];

            /** @var \Yandex\Market\Export\ParamValue\Model $paramValue */
            foreach ($param->getValueCollection() as $paramValue)
            {
                $sourceType = $paramValue->getSourceType();
                $sourceField = $paramValue->getSourceField();
                $sourceMap = (
                    $sourceType === Entity\Manager::TYPE_TEXT
                        ? [ 'VALUE' => $sourceField ]
                        : [ 'TYPE' => $sourceType, 'FIELD' => $sourceField ]
                );

                if ($paramValue->isAttribute())
                {
                    $attributeName = $paramValue->getAttributeName();

                    $tagResult['ATTRIBUTES'][$attributeName] = $sourceMap;
                }
                else
                {
                    $tagResult['VALUE'] = $sourceMap;
                }
            }

            $result[] = $tagResult;
        }

        return $result;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit