%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/modules/sale/lib/integration/numerator/ |
| Current File : //home/bitrix/www/bitrix/modules/sale/lib/integration/numerator/orderidnumbergenerator.php |
<?php
namespace Bitrix\Sale\Integration\Numerator;
use Bitrix\Main\Localization\Loc;
use Bitrix\Main\Numerator\Generator\Contract\DynamicConfigurable;
use Bitrix\Main\Numerator\Generator\NumberGenerator;
use Bitrix\Sale\Registry;
/**
* Class OrderIdNumberGenerator
* @package Bitrix\Sale\Integration\Numerator
*/
class OrderIdNumberGenerator extends NumberGenerator implements DynamicConfigurable
{
protected $orderId;
const TEMPLATE_WORD_ORDER_ID = "ORDER_ID";
/** @inheritdoc */
public static function getTemplateWordsForParse()
{
return [
static::getPatternFor(static::TEMPLATE_WORD_ORDER_ID),
];
}
/** @inheritdoc */
public static function getTemplateWordsSettings()
{
return [
static::getPatternFor(static::TEMPLATE_WORD_ORDER_ID)
=> Loc::getMessage('BITRIX_SALE_INTEGRATION_NUMERATOR_ORDERIDNUMBERGENERATOR_WORD_ORDER_ID'),
];
}
/**
* @return string
*/
public static function getAvailableForType()
{
return Registry::REGISTRY_TYPE_ORDER;
}
/** @inheritdoc */
public function parseTemplate($template)
{
if (!is_null($this->orderId))
{
return str_replace(self::getPatternFor(static::TEMPLATE_WORD_ORDER_ID), $this->orderId, $template);
}
return $template;
}
/**
* @param array $config
*/
public function setDynamicConfig($config)
{
if (is_array($config) && array_key_exists('ORDER_ID', $config))
{
$this->orderId = $config['ORDER_ID'];
}
}
}