static function SendInvitationMessage($arParams)
{
if (!CModule::IncludeModule("socialnetwork"))
return;
$rs = CUser::GetList("id", "asc", array("ID_EQUAL_EXACT"=>intval($arParams["guestId"]), "ACTIVE" => "Y"));
if (!$rs->Fetch())
return;
$calendarUrl_ = str_replace('#user_id#', $arParams["guestId"], $arParams["pathToUserCalendar"]);
$calendarUrl_ = (CMain::IsHTTPS() ? "https://" : "http://").$_SERVER['HTTP_HOST'].$calendarUrl_;
$calendarUrl = $calendarUrl_.((mb_strpos($calendarUrl_, "?") === false) ? '?' : '&').'EVENT_ID='.intval($arParams["eventId"]);
if ($arParams['type'] == 'invite')
{
$mess = GetMessage('EC_MESS_INVITE', array('#OWNER_NAME#' => $arParams["ownerName"], '#TITLE#' => $arParams["name"], '#ACTIVE_FROM#' => $arParams["from"]));
if ($arParams['location'] <> '')
$mess .= "nn".GetMessage('EC_LOCATION').': '.$arParams['location'];
if (trim($arParams["meetingText"]) <> '')
$mess .= "nn".GetMessage('EC_MESS_MEETING_TEXT', array('#MEETING_TEXT#' => $arParams["meetingText"]));
$mess .= "nn".GetMessage('EC_MESS_INVITE_CONF_Y', array('#LINK#' => $calendarUrl.'&CONFIRM=Y'));
$mess .= "n".GetMessage('EC_MESS_INVITE_CONF_N', array('#LINK#' => $calendarUrl.'&CONFIRM=N'));
$mess .= "nn".GetMessage('EC_MESS_INVITE_DETAILS', array('#LINK#' => $calendarUrl.'&CLOSE_MESS=Y'));
$title = GetMessage('EC_MESS_INVITE_TITLE', array('#OWNER_NAME#' => $arParams["ownerName"], '#TITLE#' => $arParams["name"]));
}
elseif($arParams['type'] == 'change')
{
$mess = GetMessage('EC_MESS_INVITE_CHANGED', array('#OWNER_NAME#' => $arParams["ownerName"], '#TITLE#' => $arParams["name"], '#ACTIVE_FROM#' => $arParams["from"]));
if (trim($arParams["meetingText"]) <> '')
$mess .= "nn".GetMessage('EC_MESS_MEETING_TEXT', array('#MEETING_TEXT#' => $arParams["meetingText"]));
$mess .= "nn".GetMessage('EC_MESS_INVITE_CONF_Y', array('#LINK#' => $calendarUrl.'&CONFIRM=Y'));
$mess .= "n".GetMessage('EC_MESS_INVITE_CONF_N', array('#LINK#' => $calendarUrl.'&CONFIRM=N'));
$mess .= "nn".GetMessage('EC_MESS_INVITE_DETAILS', array('#LINK#' => $calendarUrl.'&CLOSE_MESS=Y'));
$title = GetMessage('EC_MESS_INVITE_CHANGED_TITLE', array('#TITLE#' => $arParams["name"]));
}
elseif($arParams['type'] == 'cancel')
{
$mess = GetMessage('EC_MESS_INVITE_CANCEL', array('#OWNER_NAME#' => $arParams["ownerName"], '#TITLE#' => $arParams["name"], '#ACTIVE_FROM#' => $arParams["from"]));
$mess .= "nn".GetMessage('EC_MESS_VIEW_OWN_CALENDAR', array('#LINK#' => $calendarUrl_));
$title = GetMessage('EC_MESS_INVITE_CANCEL_TITLE', array('#TITLE#' => $arParams["name"]));
}
else
return;
$arMessageFields = array(
"=DATE_CREATE" => $GLOBALS["DB"]->CurrentTimeFunction(),
"MESSAGE_TYPE" => SONET_MESSAGE_SYSTEM,
"FROM_USER_ID" => $arParams["userId"],
"TITLE" => $title,
"TO_USER_ID" => $arParams["guestId"],
"MESSAGE" => $mess,
"EMAIL_TEMPLATE" => "CALENDAR_INVITATION"
);
$res = CSocNetMessages::Add($arMessageFields);
$db_events = GetModuleEvents("intranet", "OnSendInvitationMessage");
while($arEvent = $db_events->Fetch())
ExecuteModuleEventEx($arEvent, array($arParams));
/*
// Send to e-mail
$event = new CEvent;
$arEvent = array(
"GUEST_EMAIL" => $arParams["email"],
"NAME" => $arParams["name"],
"ACTIVE_FROM" => $arParams["from"],
"ACTIVE_TO" => $arParams["to"],
"GUEST_NAME" => $arParams["guestName"],
"OWNER_NAME" => $arParams["ownerName"],
"DETAIL_TEXT" => $arParams["desc"],
"CALENDAR_URL" => $calendarUrl
);
$event->Send($arParams['type'], SITE_ID, $arEvent);
*/
}