%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/bitrix/www/bitrix/modules/main/lib/numerator/generator/
Upload File :
Create Path :
Current File : //home/bitrix/www/bitrix/modules/main/lib/numerator/generator/prefixnumbergenerator.php

<?php
namespace Bitrix\Main\Numerator\Generator;

use Bitrix\Main\Localization\Loc;
use Bitrix\Main\Numerator\Generator\Contract\UserConfigurable;
use Bitrix\Main\Result;

Loc::loadMessages(__FILE__);

/**
 * Class PrefixNumberGenerator - replace prefix in numerator template
 * @package Bitrix\Main\Numerator\Generator
 */
class PrefixNumberGenerator extends NumberGenerator implements UserConfigurable
{
	protected $prefix;
	const TEMPLATE_WORD_PREFIX = 'PREFIX';

	/** @inheritdoc */
	public function setConfig($config)
	{
		$this->setFromArrayOrDefault('prefix', $config, '');
	}

	/** @inheritdoc */
	public function getConfig()
	{
		return ['prefix' => $this->prefix];
	}

	/**
	 * @return string
	 */
	public static function getAvailableForType()
	{
		return 'DEFAULT';
	}

	/** @inheritdoc */
	public function parseTemplate($template)
	{
		return str_replace(static::getPatternFor(static::TEMPLATE_WORD_PREFIX), $this->prefix, $template);
	}

	/** @inheritdoc */
	public static function getTemplateWordsForParse()
	{
		return [static::getPatternFor(static::TEMPLATE_WORD_PREFIX)];
	}

	/** @inheritdoc */
	public static function getTemplateWordsSettings()
	{
		return [
			static::getPatternFor(static::TEMPLATE_WORD_PREFIX) =>
				Loc::getMessage('BITRIX_MAIN_NUMERATOR_GENERATOR_PREFIXNUMBERGENERATOR_WORD_PREFIX'),
		];
	}

	/** @inheritdoc */
	public static function getSettingsFields()
	{
		return [
			[
				'settingName' => 'prefix',
				'type'        => 'string',
				'title'       => static::getPrefixSettingsTitle(),
			],
		];
	}

	/**
	 * @return string
	 */
	protected static function getPrefixSettingsTitle()
	{
		return Loc::getMessage('TITLE_BITRIX_MAIN_NUMERATOR_GENERATOR_PREFIXNUMBERGENERATOR_PREFIX');
	}

	/** @inheritdoc */
	public function validateConfig($config)
	{
		$result = new Result();
		return $result;
	}
}

Zerion Mini Shell 1.0