3namespace Bitrix\Rest\Configuration;
5use Bitrix\Main\Type\DateTime;
6use Bitrix\Rest\Configuration\Core\StorageTable;
25 private const TTL_CONTEXT = 259200;
27 private $context =
'null';
28 private $multipleCode = [];
37 $context = preg_replace(
'/[^a-zA-Z0-9_]/',
'', $context);
38 $this->context = $context;
53 $this->multipleCode[] =
$code;
59 return $this->multipleCode;
73 if (!in_array(
$code, $this->multipleCode,
true))
75 $res = StorageTable::getList(
78 '=CONTEXT' => $this->context,
83 if ($item =
$res->fetch())
85 StorageTable::deleteFile($item);
118 $isMultiple = in_array(
$code, $this->multipleCode,
true);
120 $res = StorageTable::getList(
123 '=CONTEXT' => $this->context,
128 while ($item =
$res->fetch())
130 $item[
'CREATE_TIME']->add(self::TTL_CONTEXT .
'second');
131 if ($item[
'CREATE_TIME'] > $now)
139 $result[$item[
'ID']] = $item[
'DATA'];
143 StorageTable::deleteFile($item);
144 StorageTable::delete($item[
'ID']);
158 StorageTable::deleteByFilter(
160 '=CONTEXT' => $this->context,
173 StorageTable::deleteByFilter(
175 '=CONTEXT' => $this->context,
const SETTING_FINISH_DATA
const SETTING_ACTION_INFO
const SETTING_ACTION_ADDITIONAL_OPTION
const SETTING_EXPORT_ARCHIVE_NAME
const SETTING_NOTICE_COLLECTION
const SETTING_UNINSTALL_APP_CODE
if(!is_null($config))($config as $configItem)(! $configItem->isVisible()) $code