• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/composite/helper.php
  • Класс: BitrixMainCompositeshares
  • Вызов: shares::writeStatistic
static function writeStatistic($hits = 0, $writings = 0, $quota = 0, $posts = 0, $files = 0.0)
{
	$options = self::getOptions();
	if ($options["WRITE_STATISTIC"] === "N")
	{
		return;
	}

	$fileName = self::getEnabledFilePath();
	if (!file_exists($fileName) || ($fp = @fopen($fileName, "r+")) === false)
	{
		return;
	}

	if (@flock($fp, LOCK_EX))
	{
		$fileValues = explode(",", fgets($fp));
		$cacheSize = (isset($fileValues[4]) ? doubleval($fileValues[4]) + doubleval($files) : doubleval($files));
		$newFileValues = array(
			$hits === false ? 0 : (isset($fileValues[0]) ? intval($fileValues[0]) + $hits : $hits),
			$writings === false ? 0 : (isset($fileValues[1]) ? intval($fileValues[1]) + $writings : $writings),
			$quota === false ? 0 : (isset($fileValues[2]) ? intval($fileValues[2]) + $quota : $quota),
			$posts === false ? 0 : (isset($fileValues[3]) ? intval($fileValues[3]) + $posts : $posts),
			$files === false ? 0 : ($cacheSize > 0 ? $cacheSize : 0),
		);

		fseek($fp, 0);
		ftruncate($fp, 0);
		fwrite($fp, implode(",", $newFileValues));
		flock($fp, LOCK_UN);
	}

	fclose($fp);
}