%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.16.48.143 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 : |
<?php namespace Bitrix\Sale\Internals; use Bitrix\Sale; /** * Class PoolQuantity * @package Bitrix\Sale\Internals */ class PoolQuantity { const POOL_RESERVE_TYPE = 'R'; const POOL_QUANTITY_TYPE = 'Q'; private static $poolList = array(); private $typeList = array(); /** * @param $key * * @return PoolQuantity */ public static function getInstance($key) { if (!isset(static::$poolList[$key])) { $pool = new static(); static::$poolList[$key] = $pool; } return static::$poolList[$key]; } /** * @param $type * @param $code * * @return float|null */ public function get($type, $code) { $pool = $this->getByType($type); return $pool->get($code); } /** * @internal * @param $type * * @return Pool */ public function getByType($type) { if (empty($this->typeList[$type])) { $this->typeList[$type] = new Pool(); } return $this->typeList[$type]; } /** * @param $type * * @return array */ public function getQuantities($type) { /** @var Pool $pool */ $pool = $this->getByType($type); return $pool->getQuantities(); } /** * @param $type * @param $code * @param $value */ public function add($type, $code, $value) { $pool = $this->getByType($type); $currentValue = floatval($pool->get($code)); $pool->set($code, $currentValue + $value); } /** * @param $type * @param $code * @param $value */ public function set($type, $code, $value) { $pool = $this->getByType($type); $pool->set($code, $value); } /** * @param $type * @param $code */ public function delete($type, $code) { $pool = $this->getByType($type); $pool->delete($code); } /** * @param $type */ public function reset($type) { $pool = $this->getByType($type); $list = $pool->getQuantities(); if (!empty($list)) { foreach($list as $itemKey => $itemValue) { $pool->delete($itemKey); } } } }