• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/quota.php
  • Класс: CDiskQuota
  • Вызов: CDiskQuota::SetDBSize
static function SetDBSize()
{
	global $DB;
	$DBSize = 0;

	if (static::$recalculateDb && COption::GetOptionInt("main", "disk_space") > 0)
	{
		$db_res = $DB->Query("
			SELECT sum(Data_length + Index_length) as TOTAL_LEN
			FROM information_schema.tables
			WHERE table_schema = '{$DB->ForSql($DB->DBName)}'
		");
		if ($db_res && ($res = $db_res->Fetch()))
		{
			$DBSize = $res['TOTAL_LEN'];
		}

		COption::SetOptionString("main_size", "~db", $DBSize);
		$params = array("status" => "d", "time" => time());
		COption::SetOptionString("main_size", "~db_params", serialize($params));

		static::recalculateDb(false);
	}
	else
	{
		$params = array("time" => false);
	}

	return array("status" => "done", "size" => $DBSize, "time" => $params["time"]);
}