• Модуль: socialservices
  • Путь к файлу: ~/bitrix/modules/socialservices/classes/general/authmanager.php
  • Класс: for
  • Вызов: for::OnAfterTMReportDailyAdd
static function OnAfterTMReportDailyAdd()
{
	if(COption::GetOptionString("socialservices", "allow_send_user_activity", "Y") != 'Y')
		return;
	global $USER;
	$arIntranetData = $arResult = $arData = array();
	$eventCounter = $taskCounter = 0;
	if(CModule::IncludeModule('intranet'))
	{
		$arIntranetData = CIntranetPlanner::getData(SITE_ID, true);
	}
	if(isset($arIntranetData['DATA']))
	{
		$arData = $arIntranetData['DATA'];
	}
	if(isset($arData['EVENTS']) && is_array($arData['EVENTS']))
	{
		$eventCounter = count($arData['EVENTS']);
	}
	if(isset($arData['TASKS']) && is_array($arData['TASKS']))
	{
		$taskCounter = count($arData['TASKS']);
	}

	$arResult['USER_ID'] = intval($USER->GetID());
	if($arResult['USER_ID'] > 0)
	{
		$enabledSendMessage = CUserOptions::GetOption("socialservices", "user_socserv_enable", "N", $arResult['USER_ID']);
		if($enabledSendMessage == 'Y')
		{
			$enabledEndDaySend = CUserOptions::GetOption("socialservices", "user_socserv_end_day", "N", $arResult['USER_ID']);
			if($enabledEndDaySend == 'Y')
			{
				$arResult['MESSAGE'] = str_replace('#event#', $eventCounter, str_replace('#task#', $taskCounter, CUserOptions::GetOption("socialservices", "user_socserv_end_text", GetMessage("JS_CORE_SS_WORKDAY_START"), $arResult['USER_ID'])));

				$socServArray = CUserOptions::GetOption("socialservices", "user_socserv_array", "a:0:{}", $arResult['USER_ID']);
				if(!CheckSerializedData($socServArray))
				{
					$socServArray = "a:0:{}";
				}

				$arSocServUser['SOCSERVARRAY'] = unserialize($socServArray, ["allowed_classes" => false]);

				if(is_array($arSocServUser['SOCSERVARRAY']) && count($arSocServUser['SOCSERVARRAY']) > 0)
				{
					foreach($arSocServUser['SOCSERVARRAY'] as $id => $providerName)
					{
						$arResult['SOCSERV_USER_ID'] = $id;
						$arResult['PROVIDER'] = $providerName;
						CSocServMessage::Add($arResult);
					}
				}
			}
		}
	}
}