53 lines
1.4 KiB
PHP
53 lines
1.4 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* PHP version 7.1
|
||
|
*
|
||
|
* @category Integration
|
||
|
* @package Intaro\RetailCrm\Model\Api
|
||
|
* @author RetailCRM <integration@retailcrm.ru>
|
||
|
* @license MIT
|
||
|
* @link http://retailcrm.ru
|
||
|
* @see http://retailcrm.ru/docs
|
||
|
*/
|
||
|
|
||
|
namespace Intaro\RetailCrm\Repository;
|
||
|
|
||
|
use Bitrix\Currency\CurrencyLangTable;
|
||
|
use Bitrix\Main\ArgumentException;
|
||
|
use Bitrix\Main\ObjectPropertyException;
|
||
|
use Bitrix\Main\SystemException;
|
||
|
use Intaro\RetailCrm\Component\ConfigProvider;
|
||
|
use Intaro\RetailCrm\Component\Constants;
|
||
|
use Logger;
|
||
|
|
||
|
/**
|
||
|
* Class CurrencyRepository
|
||
|
*/
|
||
|
class CurrencyRepository extends AbstractRepository
|
||
|
{
|
||
|
/**
|
||
|
* @return string|null
|
||
|
*/
|
||
|
public function getCurrencyFormatString(): ?string
|
||
|
{
|
||
|
try {
|
||
|
$currency = CurrencyLangTable::query()
|
||
|
->setSelect(['FORMAT_STRING'])
|
||
|
->where([
|
||
|
['CURRENCY', '=', ConfigProvider::getCurrencyOrDefault()],
|
||
|
['LID', '=', 'LANGUAGE_ID'],
|
||
|
])
|
||
|
->fetch();
|
||
|
|
||
|
if ($currency === false || !isset($currency['FORMAT_STRING'])) {
|
||
|
return null;
|
||
|
}
|
||
|
|
||
|
return $currency['FORMAT_STRING'];
|
||
|
} catch (ObjectPropertyException | ArgumentException | SystemException $exception) {
|
||
|
Logger::getInstance()->write($exception->getMessage(), Constants::REPOSITORY_ERRORS);
|
||
|
}
|
||
|
}
|
||
|
}
|