Your IP : 3.129.71.60


Current Path : /var/www/www-root/data/www/monolith-realty.ru/bitrix/modules/perfmon/classes/general/
Upload File :
Current File : /var/www/www-root/data/www/monolith-realty.ru/bitrix/modules/perfmon/classes/general/history.php

<?php

class CPerfomanceHistory
{
	public static function GetList($arOrder, $arFilter = [])
	{
		global $DB;

		if (!is_array($arOrder))
		{
			$arOrder = [];
		}
		if (count($arOrder) < 1)
		{
			$arOrder = [
				'ID' => 'DESC',
			];
		}

		$arQueryOrder = [];
		foreach ($arOrder as $strColumn => $strDirection)
		{
			$strColumn = mb_strtoupper($strColumn);
			$strDirection = mb_strtoupper($strDirection) === 'ASC' ? 'ASC' : 'DESC';
			if ($strColumn === 'ID')
			{
				$arQueryOrder[$strColumn] = $strColumn . ' ' . $strDirection;
			}
		}

		static $arWhereFields = [
			'ID' => [
				'TABLE_ALIAS' => 'h',
				'FIELD_NAME' => 'ID',
				'FIELD_TYPE' => 'int',
				'JOIN' => false,
			],
		];

		$obQueryWhere = new CSQLWhere;
		$obQueryWhere->SetFields($arWhereFields);

		$strSql = '
			SELECT
				h.*
				,' . $DB->DateToCharFunction('h.TIMESTAMP_X') . ' TIMESTAMP_X
			FROM
				b_perf_history h
		';
		if (!is_array($arFilter))
		{
			$arFilter = [];
		}
		if ($strQueryWhere = $obQueryWhere->GetQuery($arFilter))
		{
			$strSql .= '
				WHERE
				' . $strQueryWhere . '
			';
		}
		if (count($arQueryOrder) > 0)
		{
			$strSql .= '
				ORDER BY
				' . implode(', ', $arQueryOrder) . '
			';
		}

		return $DB->Query($strSql, false, 'File: ' . __FILE__ . '<br>Line: ' . __LINE__);
	}

	public static function Delete($ID)
	{
		global $DB;
		$ID = intval($ID);
		return $DB->Query('DELETE FROM b_perf_history WHERE ID = ' . $ID);
	}

	public static function Add($arFields)
	{
		global $DB;

		if ($arFields['TOTAL_MARK'] > 0)
		{
			$arFields['ACCELERATOR_ENABLED'] = $arFields['ACCELERATOR_ENABLED'] === 'Y' ? 'Y' : 'N';
			$arFields['~TIMESTAMP_X'] = $DB->CurrentTimeFunction();
			return $DB->Add('b_perf_history', $arFields);
		}
		else
		{
			return false;
		}
	}
}