- Модуль: timeman
- Путь к файлу: ~/bitrix/modules/timeman/classes/general/timeman_report_full.php
- Класс: CReportNotifications
- Вызов: CReportNotifications::SendMessage
static function SendMessage($REPORT_ID, $bSendEvent = true)
{
global $DB;
$REPORT_ID = intval($REPORT_ID);
if ($REPORT_ID<=0)
return false;
$dbReport = CTimeManReportFull::GetByID($REPORT_ID);
if (
CModule::IncludeModule("socialnetwork")
&& ($arReport = $dbReport->Fetch())
)
{
$date_from = FormatDate("j F", MakeTimeStamp($arReport["DATE_FROM"],CSite::GetDateFormat("FULL", SITE_ID)));
$date_to = FormatDate("j F", MakeTimeStamp($arReport["DATE_TO"],CSite::GetDateFormat("FULL", SITE_ID)));
if ($date_from == $date_to)
$date_text = $date_to;
else
$date_text = $date_from." - ".$date_to;
$message = GetMessage('REPORT_DONE');
$arSoFields = Array(
"EVENT_ID" => "report",
"=LOG_DATE" =>$DB->CurrentTimeFunction(),
"MODULE_ID" => "timeman",
"TITLE_TEMPLATE" => "#TITLE#",
"TITLE" => GetMessage("REPORT_PERIOD").$date_text,
"MESSAGE" => $message,
"TEXT_MESSAGE" => $message,
"CALLBACK_FUNC" => false,
"SOURCE_ID" => $REPORT_ID,
"SITE_ID"=>SITE_ID,
"ENABLE_COMMENTS" => "Y",
"PARAMS" => serialize(array(
"FORUM_ID" => COption::GetOptionInt("timeman","report_forum_id","")
))
);
$arSoFields["ENTITY_TYPE"] = SONET_WORK_REPORT_ENTITY;
$arSoFields["ENTITY_ID"] = $arReport["USER_ID"];
$arSoFields["USER_ID"] = $arReport["USER_ID"];
// CReportNotifications::Subscribe($arReport["USER_ID"]);
$logID = CSocNetLog::Add($arSoFields, false);
if (intval($logID) > 0)
{
CSocNetLog::Update($logID, array("TMP_ID" => $logID));
$arRights = CReportNotifications::GetRights($arReport["USER_ID"]);
CSocNetLogRights::Add($logID, $arRights);
if ($bSendEvent) // for new report only
{
// CSocNetLog::SendEvent($logID, "SONET_NEW_EVENT", $logID);
$arReport["ID"] = $REPORT_ID;
$arReport["LOG_ID"] = $logID;
$arReport["PERIOD_TEXT"] = $date_text;
if (IsModuleInstalled("im"))
self::NotifyIm($arReport);
}
}
return $logID;
}
return false;
}