• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/quota.php
  • Класс: CDiskQuota
  • Вызов: CDiskQuota::UpdateDiskQuota
static function UpdateDiskQuota($type, $size, $action)
{
	if (COption::GetOptionInt("main", "disk_space") <= 0)
		return true;

	if (empty($type) || empty($size) || empty($action))
		return false;

	if (is_array($size))
		$size = mb_strlen(implode("", $size));
	elseif (doubleval($size) > 0)
		$size = doubleval($size);
	else
		$size = mb_strlen($size);

	$size = doubleval($size);

	$name = mb_strtolower($type) == "db" ? "db" : "files";

	if (in_array(mb_strtolower($action), array("delete", "del")))
	{
		COption::SetOptionString("main_size", "~".$name,
			doubleval(COption::GetOptionInt("main_size", "~".$name) - $size));
		return true;
	}
	if (in_array(mb_strtolower($action), array("update", "insert", "add", "copy")))
	{
		COption::SetOptionString("main_size", "~".$name,
			doubleval(COption::GetOptionInt("main_size", "~".$name) + $size));
		return true;
	}
	return false;
}