• Модуль: timeman
  • Путь к файлу: ~/bitrix/modules/timeman/classes/general/timeman_report_full.php
  • Класс: CUserReportFull
  • Вызов: CUserReportFull::GetReportInfo
public function GetReportInfo()
{
	global $USER, $CACHE_MANAGER;

	$cache_id = self::getInfoCacheId($USER->GetID());

	$arReportInfo = null;

	if($CACHE_MANAGER->Read(86400, $cache_id, "timeman_report_info"))
	{
		$arReportInfo = $CACHE_MANAGER->Get($cache_id);
	}
	else
	{
		$arReportInfo = $this->_GetReportInfo();

		$CACHE_MANAGER->Set($cache_id, $arReportInfo);
	}

	if(is_array($arReportInfo['_DATA']))
	{
		$arData = $arReportInfo['_DATA'];
		$fix = $arReportInfo['_FIX'] ?? null;

		//is time to show a report form?
		if ($this->isShowReportForm($arData["DATE_SUBMIT"]) && $arReportInfo["MODE"])
		{
			$arReportInfo["SHOW_REPORT_FORM"] = "Y";
		}

		if ($this->isReportDay($arData["DATE_SUBMIT"]))
		{
			$arReportInfo["IS_REPORT_DAY"] = "Y";

			if ($fix["NEED_TO_RECALC"])
			{
				$CACHE_MANAGER->Clean($cache_id, 'timeman_report_info');

				return $this->_GetReportInfo();
			}
			elseif($fix["DO_NOT_SHOW_THE_FORM"])
			{
				$arReportInfo["IS_REPORT_DAY"] = "N";
				$arReportInfo["SHOW_REPORT_FORM"] = "N";
			}
		}
	}

	unset($arReportInfo['_DATA']);
	unset($arReportInfo['_FIX']);

	return $arReportInfo;
}