%PDF- %PDF-
| Direktori : /home/bitrix/www/bitrix/components/bitrix/socialnetwork.events_dyn/ |
| Current File : //home/bitrix/www/bitrix/components/bitrix/socialnetwork.events_dyn/get_message_2.php |
<?
define("NO_KEEP_STATISTIC", true);
define("NO_AGENT_STATISTIC", true);
define("BX_STATISTIC_BUFFER_USED", false);
define("NO_LANG_FILES", true);
define("NOT_CHECK_PERMISSIONS", true);
define("PUBLIC_AJAX_MODE", true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/bx_root.php");
$cuid = IntVal($_REQUEST["cuid"]);
$site_id = (isset($_REQUEST["site"]) && is_string($_REQUEST["site"])) ? trim($_REQUEST["site"]) : "";
if (isset($_REQUEST["is"]))
$ImageSize = intval($_REQUEST["is"]);
else
$ImageSize = 0;
if ($ImageSize <= 0)
$ImageSize = 42;
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
use Bitrix\Main\Localization\Loc;
if ($GLOBALS["USER"]->IsAuthorized())
$log_cnt = CUserCounter::GetValueByUserID($GLOBALS["USER"]->GetID(), $site);
if(
$CACHE_MANAGER->Read(86400*30, "socnet_cm_".$cuid)
&& $CACHE_MANAGER->Read(86400*30, "socnet_cf_".$cuid)
&& $CACHE_MANAGER->Read(86400*30, "socnet_cg_".$cuid)
)
{
if (intval($log_cnt) > 0)
{
$arData = array(
array("LOG_CNT" => $log_cnt)
);
echo CUtil::PhpToJSObject($arData);
define('PUBLIC_AJAX_MODE', true);
}
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
die();
}
$rsSites = CSite::GetByID($site);
if ($arSite = $rsSites->Fetch())
{
$DateTimeFormat = $arSite["FORMAT_DATETIME"];
define("LANGUAGE_ID", $arSite["LANGUAGE_ID"]);
Loc::loadLanguageFile(__FILE__);
}
else
{
die();
}
if(CModule::IncludeModule("compression"))
CCompress::Disable2048Spaces();
if(CModule::IncludeModule("socialnetwork"))
{
$userID = IntVal($_REQUEST["user_id"]);
$mptr = Trim($_REQUEST["mptr"]);
if(isset($_REQUEST["log"]))
$log = Trim($_REQUEST["log"]);
else
$log = "N";
$arParams["PATH_TO_USER"] = Trim($GLOBALS["APPLICATION"]->UnJSEscape($_REQUEST["up"]));
$arParams["PATH_TO_GROUP"] = Trim($GLOBALS["APPLICATION"]->UnJSEscape($_REQUEST["gp"]));
$arParams["PATH_TO_MESSAGE_FORM_MESS"] = Trim($GLOBALS["APPLICATION"]->UnJSEscape($_REQUEST["mpm"]));
require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/classes/".strToLower($GLOBALS["DB"]->type)."/favorites.php");
if (strlen(trim($_REQUEST["nt"])) > 0)
$arParams["NAME_TEMPLATE"] = Trim($GLOBALS["APPLICATION"]->UnJSEscape($_REQUEST["nt"]));
else
$arParams["NAME_TEMPLATE"] = CSite::GetNameFormat();
$arParams["TITLE_NAME_TEMPLATE"] = str_replace(
array("#NOBR#", "#/NOBR#"),
array("", ""),
$arParams["NAME_TEMPLATE"]
);
if (trim($_REQUEST["sl"]) == "N")
$bUseLogin = false;
else
$bUseLogin = true;
$arData = array();
if (!$GLOBALS["USER"]->IsAuthorized())
{
$arData[0] = "*";
}
else
{
$site_datetime_format = CSite::GetDateFormat("FULL", $site);
$date_pos = false;
$date_pos = strpos($site_datetime_format, "DD");
if ($date_pos === false)
$date_pos = strpos($site_datetime_format, "MM");
if ($date_pos === false)
$date_pos = strpos($site_datetime_format, "YY");
$time_pos = false;
$time_pos = strpos($site_datetime_format, "HH");
if ($time_pos === false)
$time_pos = strpos($site_datetime_format, "MI");
if ($time_pos === false)
$time_pos = strpos($site_datetime_format, "SS");
$last_message_ts = CUserOptions::GetOption('socialnetwork', 'SONET_EVENT_TIMESTAMP', 0);
$parser = new CSocNetTextParser($arSite["LANGUAGE_ID"], "/bitrix/images/socialnetwork/smile/");
$parser->MaxStringLen = 20;
$bGet = true;
if (intval($last_message_ts) > 0)
{
$last_message_ts += CTimeZone::GetOffset();
$bGet = false;
// get all new (from UserOption) messages of all types
$arFilter = array(
"SECOND_USER_ID" => $GLOBALS["USER"]->GetID(),
"RELATION" => SONET_RELATIONS_REQUEST,
">DATE_CREATE" => ConvertTimeStamp($last_message_ts, "FULL", $site)
);
$dbUserRequests = CSocNetUserRelations::GetList(
array(),
$arFilter,
false,
array("nTopCount" => 1),
array("ID")
);
if ($arUserRequests = $dbUserRequests->Fetch())
$bGet = true;
if (!$bGet)
{
$arFilter = array(
"USER_ID" => $GLOBALS["USER"]->GetID(),
"ROLE" => SONET_ROLES_REQUEST,
"INITIATED_BY_TYPE" => SONET_INITIATED_BY_GROUP,
">DATE_CREATE" => ConvertTimeStamp($last_message_ts, "FULL", $site)
);
$dbUserRequests = CSocNetUserToGroup::GetList(
array(),
$arFilter,
false,
array("nTopCount" => 1),
array("ID")
);
if ($arUserRequests = $dbUserRequests->Fetch())
$bGet = true;
}
if (!$bGet)
{
$arFilter = array(
"TO_USER_ID" => $GLOBALS["USER"]->GetID(),
"DATE_VIEW" => "",
"TO_DELETED" => "N",
">DATE_CREATE" => ConvertTimeStamp($last_message_ts, "FULL", $site)
);
if ($log == "Y")
$arFilter["IS_LOG_ALL"] = "Y";
$dbUserRequests = CSocNetMessages::GetList(
array(),
$arFilter,
false,
array("nTopCount" => 1),
array("ID")
);
if ($arUserRequests = $dbUserRequests->Fetch())
$bGet = true;
}
}
if ($bGet)
{
$arFilter = array(
"SECOND_USER_ID" => $GLOBALS["USER"]->GetID(),
"RELATION" => SONET_RELATIONS_REQUEST
);
$dbUserRequests = CSocNetUserRelations::GetList(
array("DATE_UPDATE" => "ASC"),
$arFilter,
false,
array("nTopCount" => 50),
array("ID", "FIRST_USER_ID", "MESSAGE", "FIRST_USER_NAME", "DATE_CREATE", "DATE_UPDATE", "FIRST_USER_LAST_NAME", "FIRST_USER_SECOND_NAME", "FIRST_USER_LOGIN", "FIRST_USER_PERSONAL_PHOTO", "FIRST_USER_PERSONAL_GENDER", "FIRST_USER_IS_ONLINE")
);
while ($arUserRequests = $dbUserRequests->GetNext())
{
$arTmpData = array();
$arTmpData["TYPE"] = "FR";
$pu = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arUserRequests["FIRST_USER_ID"]));
$canViewProfile = CSocNetUserPerms::CanPerformOperation($GLOBALS["USER"]->GetID(), $arUserRequests["FIRST_USER_ID"], "viewprofile", CSocNetUser::IsCurrentUserModuleAdmin($site));
$arTmpData["IMAGE_USER"] = "/bitrix/images/1.gif";
if (intval($arUserRequests["FIRST_USER_PERSONAL_PHOTO"]) <= 0)
{
switch ($arUserRequests["FIRST_USER_PERSONAL_GENDER"])
{
case "M":
$suffix = "male";
break;
case "F":
$suffix = "female";
break;
default:
$suffix = "unknown";
}
$arUserRequests["FIRST_USER_PERSONAL_PHOTO"] = COption::GetOptionInt("socialnetwork", "default_user_picture_".$suffix, false, $site);
}
if (intval($arUserRequests["FIRST_USER_PERSONAL_PHOTO"]) > 0)
{
$imageFile = CFile::GetFileArray($arUserRequests["FIRST_USER_PERSONAL_PHOTO"]);
if ($imageFile !== false)
{
$arFileTmp = CFile::ResizeImageGet(
$imageFile,
array("width" => $ImageSize, "height" => $ImageSize),
BX_RESIZE_IMAGE_EXACT,
false
);
$arTmpData["IMAGE_USER"] = $arFileTmp["src"];
}
}
$arTmpData["ID"] = $arUserRequests["ID"];
$arTmpData["ID_USER"] = $arUserRequests["FIRST_USER_ID"];
$arTmpUser = array(
"NAME" => $arUserRequests["~FIRST_USER_NAME"],
"LAST_NAME" => $arUserRequests["~FIRST_USER_LAST_NAME"],
"SECOND_NAME" => $arUserRequests["~FIRST_USER_SECOND_NAME"],
"LOGIN" => $arUserRequests["~FIRST_USER_LOGIN"]
);
$arTmpData["NAME_USER"] = CUser::FormatName($arParams["NAME_TEMPLATE"], $arTmpUser, $bUseLogin);
$arTmpData["NAME_USER_TITLE"] = CUser::FormatName($arParams["TITLE_NAME_TEMPLATE"], $arTmpUser, $bUseLogin);
$arTmpData["URL_USER"] = $pu;
$arTmpData["CAN_VIEW_USER"] = ($canViewProfile ? "Y" : "N");
$arTmpData["IS_ONLINE"] = $arUserRequests["FIRST_USER_IS_ONLINE"];
$arTmpData["DATE"] = $arUserRequests["DATE_UPDATE"];
$arTmpData["DATE_TIMESTAMP"] = MakeTimeStamp($arUserRequests["DATE_CREATE"], $DateTimeFormat);
$arTmpData["DATE_DATE_FORMATTED"] = ConvertTimeStamp($arTmpData["DATE_TIMESTAMP"], "SHORT", $site);
$arTmpData["DATE_DATETIME_FORMATTED"] = ConvertTimeStamp($arTmpData["DATE_TIMESTAMP"], "FULL", $site);
if ($time_pos > $date_pos)
$arTmpData["DATE_TIME_FORMATTED"] = trim(substr($arTmpData["DATE_DATETIME_FORMATTED"], strlen($arTmpData["DATE_DATE_FORMATTED"])), " ,.;:");
elseif ($date_pos > $time_pos && $time_pos !== false)
$arTmpData["DATE_TIME_FORMATTED"] = trim(substr($arTmpData["DATE_DATETIME_FORMATTED"], 0, $date_pos), " ,.;:");
else
$arTmpData["DATE_TIME_FORMATTED"] = "";
if (date("d", $arTmpData["DATE_TIMESTAMP"]) == date("d") && date("n", $arTmpData["DATE_TIMESTAMP"]) == date("n") && date("Y", $arTmpData["DATE_TIMESTAMP"]) == date("Y"))
$arTmpData["DATE_DAY"] = "TODAY";
elseif ((mktime(0, 0, 0, date("n"), date("d"), date("Y")) - $arTmpData["DATE_TIMESTAMP"]) < 60*60*24)
$arTmpData["DATE_DAY"] = "YESTERDAY";
else
$arTmpData["DATE_DAY"] = "";
$arTmpData["MESSAGE"] = $parser->convert(
$arUserRequests["~MESSAGE"],
false,
array(),
array(
"HTML" => "N",
"ANCHOR" => "Y",
"BIU" => "Y",
"IMG" => "Y",
"LIST" => "Y",
"QUOTE" => "Y",
"CODE" => "Y",
"FONT" => "Y",
"SMILES" => "Y",
"UPLOAD" => "N",
"NL2BR" => "N"
)
);
$arTmpData["BUTTONS"] = array(
array(
"NAME" => GetMessage("SONET_C2_FR_ADD"),
"ID" => "add",
"URL" => "EventType=FriendRequest&eventID=".$arUserRequests["ID"]."&action=add"
),
array(
"NAME" => GetMessage("SONET_C2_REJECT"),
"ID" => "reject",
"URL" => "EventType=FriendRequest&eventID=".$arUserRequests["ID"]."&action=reject"
)
);
$arData[] = $arTmpData;
} // while
$arFilter = array(
"USER_ID" => $GLOBALS["USER"]->GetID(),
"ROLE" => SONET_ROLES_REQUEST,
"INITIATED_BY_TYPE" => SONET_INITIATED_BY_GROUP,
);
$dbUserRequests = CSocNetUserToGroup::GetList(
array("DATE_CREATE" => "ASC"),
$arFilter,
false,
array("nTopCount" => 50),
array("ID", "INITIATED_BY_USER_ID", "MESSAGE", "INITIATED_BY_USER_NAME", "DATE_CREATE", "INITIATED_BY_USER_LAST_NAME", "INITIATED_BY_USER_SECOND_NAME", "INITIATED_BY_USER_LOGIN", "INITIATED_BY_USER_PHOTO", "INITIATED_BY_USER_GENDER", "GROUP_ID", "GROUP_NAME", "GROUP_IMAGE_ID", "GROUP_VISIBLE")
);
while ($arUserRequests = $dbUserRequests->GetNext())
{
$arTmpData = array();
$arTmpData["TYPE"] = "GR";
$pu = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arUserRequests["INITIATED_BY_USER_ID"]));
$canViewProfileU = CSocNetUserPerms::CanPerformOperation($GLOBALS["USER"]->GetID(), $arUserRequests["INITIATED_BY_USER_ID"], "viewprofile", CSocNetUser::IsCurrentUserModuleAdmin($site));
$arTmpData["IMAGE_USER"] = "/bitrix/images/1.gif";
if (intval($arUserRequests["INITIATED_BY_USER_PHOTO"]) <= 0)
{
switch ($arUserRequests["INITIATED_BY_USER_GENDER"])
{
case "M":
$suffix = "male";
break;
case "F":
$suffix = "female";
break;
default:
$suffix = "unknown";
}
$arUserRequests["INITIATED_BY_USER_PHOTO"] = COption::GetOptionInt("socialnetwork", "default_user_picture_".$suffix, false, $site);
}
if (intval($arUserRequests["INITIATED_BY_USER_PHOTO"]) > 0)
{
$imageFile = CFile::GetFileArray($arUserRequests["INITIATED_BY_USER_PHOTO"]);
if ($imageFile !== false)
{
$arFileTmp = CFile::ResizeImageGet(
$imageFile,
array("width" => $ImageSize, "height" => $ImageSize),
BX_RESIZE_IMAGE_EXACT,
false
);
$arTmpData["IMAGE_USER"] = $arFileTmp["src"];
}
}
$pg = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arUserRequests["GROUP_ID"]));
$canViewProfileG = (CSocNetUser::IsCurrentUserModuleAdmin($site) || ($arUserRequests["GROUP_VISIBLE"] == "Y"));
$arTmpData["IMAGE_GROUP"] = "/bitrix/images/1.gif";
if (intval($arUserRequests["GROUP_IMAGE_ID"]) <= 0)
$arUserRequests["GROUP_IMAGE_ID"] = COption::GetOptionInt("socialnetwork", "default_group_picture", false, $site);
if (intval($arUserRequests["GROUP_IMAGE_ID"]) > 0)
{
$imageFile = CFile::GetFileArray($arUserRequests["GROUP_IMAGE_ID"]);
if ($imageFile !== false)
{
$arFileTmp = CFile::ResizeImageGet(
$imageFile,
array("width" => $ImageSize, "height" => $ImageSize),
BX_RESIZE_IMAGE_EXACT,
false
);
$arTmpData["IMAGE_GROUP"] = $arFileTmp["src"];
}
}
$arTmpData["ID"] = $arUserRequests["ID"];
$arTmpData["ID_USER"] = $arUserRequests["INITIATED_BY_USER_ID"];
$arTmpUser = array(
"NAME" => $arUserRequests["~INITIATED_BY_USER_NAME"],
"LAST_NAME" => $arUserRequests["~INITIATED_BY_USER_LAST_NAME"],
"SECOND_NAME" => $arUserRequests["~INITIATED_BY_USER_SECOND_NAME"],
"LOGIN" => $arUserRequests["~INITIATED_BY_USER_LOGIN"]
);
$arTmpData["NAME_USER"] = CUser::FormatName($arParams["NAME_TEMPLATE"], $arTmpUser, $bUseLogin);
$arTmpData["NAME_USER_TITLE"] = CUser::FormatName($arParams["TITLE_NAME_TEMPLATE"], $arTmpUser, $bUseLogin);
$arTmpData["URL_USER"] = $pu;
$arTmpData["CAN_VIEW_USER"] = ($canViewProfileU ? "Y" : "N");
$arTmpData["DATE"] = $arUserRequests["DATE_CREATE"];
$arTmpData["DATE_TIMESTAMP"] = MakeTimeStamp($arUserRequests["DATE_CREATE"], $DateTimeFormat);
$arTmpData["DATE_DATE_FORMATTED"] = ConvertTimeStamp($arTmpData["DATE_TIMESTAMP"], "SHORT", $site);
$arTmpData["DATE_DATETIME_FORMATTED"] = ConvertTimeStamp($arTmpData["DATE_TIMESTAMP"], "FULL", $site);
if ($time_pos > $date_pos)
$arTmpData["DATE_TIME_FORMATTED"] = trim(substr($arTmpData["DATE_DATETIME_FORMATTED"], strlen($arTmpData["DATE_DATE_FORMATTED"])), " ,.;:");
elseif ($date_pos > $time_pos && $time_pos !== false)
$arTmpData["DATE_TIME_FORMATTED"] = trim(substr($arTmpData["DATE_DATETIME_FORMATTED"], 0, $date_pos), " ,.;:");
else
$arTmpData["DATE_TIME_FORMATTED"] = "";
if (date("d", $arTmpData["DATE_TIMESTAMP"]) == date("d") && date("n", $arTmpData["DATE_TIMESTAMP"]) == date("n") && date("Y", $arTmpData["DATE_TIMESTAMP"]) == date("Y"))
$arTmpData["DATE_DAY"] = "TODAY";
elseif ((mktime(0, 0, 0, date("n"), date("d"), date("Y")) - $arTmpData["DATE_TIMESTAMP"]) < 60*60*24)
$arTmpData["DATE_DAY"] = "YESTERDAY";
else
$arTmpData["DATE_DAY"] = "";
$arTmpData["MESSAGE"] = $parser->convert(
$arUserRequests["~MESSAGE"],
false,
array(),
array(
"HTML" => "N",
"ANCHOR" => "Y",
"BIU" => "Y",
"IMG" => "Y",
"LIST" => "Y",
"QUOTE" => "Y",
"CODE" => "Y",
"FONT" => "Y",
"SMILES" => "Y",
"UPLOAD" => "N",
"NL2BR" => "N"
)
);
$arTmpData["BUTTONS"] = array(
array(
"NAME" => GetMessage("SONET_C2_GR_ADD"),
"ID" => "add",
"URL" => "EventType=GroupRequest&eventID=".$arUserRequests["ID"]."&action=add"
),
array(
"NAME" => GetMessage("SONET_C2_REJECT"),
"ID" => "reject",
"URL" => "EventType=GroupRequest&eventID=".$arUserRequests["ID"]."&action=reject"
)
);
$arTmpData["CAN_VIEW_GROUP"] = ($canViewProfileG ? "Y" : "N");
$arTmpData["NAME_GROUP"] = $arUserRequests["GROUP_NAME"];
$arTmpData["URL_GROUP"] = $pg;
$arData[] = $arTmpData;
} // while
$arFilter = array(
"TO_USER_ID" => $GLOBALS["USER"]->GetID(),
"DATE_VIEW" => "",
"TO_DELETED" => "N"
);
if ($log == "Y")
$arFilter["IS_LOG_ALL"] = "Y";
$dbUserRequests = CSocNetMessages::GetList(
array("DATE_CREATE" => "ASC"),
$arFilter,
false,
array("nTopCount" => 50),
array("ID", "FROM_USER_ID", "TITLE", "MESSAGE", "DATE_CREATE", "MESSAGE_TYPE", "FROM_USER_NAME", "FROM_USER_LAST_NAME", "FROM_USER_SECOND_NAME", "FROM_USER_LOGIN", "FROM_USER_PERSONAL_PHOTO", "FROM_USER_PERSONAL_GENDER", "FROM_USER_IS_ONLINE", "IS_LOG")
);
while ($arUserRequests = $dbUserRequests->GetNext())
{
$arTmpData = array();
$arTmpData["TYPE"] = "M";
$arTmpData["IS_LOG"] = $arUserRequests["IS_LOG"];
$arTmpData["MESSAGE_TYPE"] = $arUserRequests["MESSAGE_TYPE"];
$pu = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_USER"], array("user_id" => $arUserRequests["FROM_USER_ID"]));
$canViewProfile = CSocNetUserPerms::CanPerformOperation($GLOBALS["USER"]->GetID(), $arUserRequests["FROM_USER_ID"], "viewprofile", CSocNetUser::IsCurrentUserModuleAdmin($site));
$canAnsver = (IsModuleInstalled("im") || CSocNetUserPerms::CanPerformOperation($GLOBALS["USER"]->GetID(), $arUserRequests["FROM_USER_ID"], "message", CSocNetUser::IsCurrentUserModuleAdmin($site)));
$arTmpData["IMAGE_USER"] = "/bitrix/images/1.gif";
if (intval($arUserRequests["FROM_USER_PERSONAL_PHOTO"]) <= 0)
{
switch ($arUserRequests["FROM_USER_PERSONAL_GENDER"])
{
case "M":
$suffix = "male";
break;
case "F":
$suffix = "female";
break;
default:
$suffix = "unknown";
}
$arUserRequests["FROM_USER_PERSONAL_PHOTO"] = COption::GetOptionInt("socialnetwork", "default_user_picture_".$suffix, false, $site);
}
if (intval($arUserRequests["FROM_USER_PERSONAL_PHOTO"]) > 0)
{
$imageFile = CFile::GetFileArray($arUserRequests["FROM_USER_PERSONAL_PHOTO"]);
if ($imageFile !== false)
{
$arFileTmp = CFile::ResizeImageGet(
$imageFile,
array("width" => $ImageSize, "height" => $ImageSize),
BX_RESIZE_IMAGE_EXACT,
false
);
$arTmpData["IMAGE_USER"] = $arFileTmp["src"];
}
}
$arTmpData["ID"] = $arUserRequests["ID"];
$arTmpData["ID_USER"] = $arUserRequests["FROM_USER_ID"];
$arTmpUser = array(
"NAME" => $arUserRequests["~FROM_USER_NAME"],
"LAST_NAME" => $arUserRequests["~FROM_USER_LAST_NAME"],
"SECOND_NAME" => $arUserRequests["~FROM_USER_SECOND_NAME"],
"LOGIN" => $arUserRequests["~FROM_USER_LOGIN"]
);
$arTmpData["NAME_USER"] = CUser::FormatName($arParams["NAME_TEMPLATE"], $arTmpUser, $bUseLogin);
$arTmpData["NAME_USER_TITLE"] = CUser::FormatName($arParams["TITLE_NAME_TEMPLATE"], $arTmpUser, $bUseLogin);
$arTmpData["URL_USER"] = $pu;
$arTmpData["CAN_VIEW_USER"] = ($canViewProfile ? "Y" : "N");
$arTmpData["IS_ONLINE"] = $arUserRequests["FROM_USER_IS_ONLINE"];
$arTmpData["DATE"] = $arUserRequests["DATE_CREATE"];
$arTmpData["DATE_TIMESTAMP"] = MakeTimeStamp($arUserRequests["DATE_CREATE"], $DateTimeFormat);
$arTmpData["DATE_DATE_FORMATTED"] = ConvertTimeStamp($arTmpData["DATE_TIMESTAMP"], "SHORT", $site);
$arTmpData["DATE_DATETIME_FORMATTED"] = ConvertTimeStamp($arTmpData["DATE_TIMESTAMP"], "FULL", $site);
if ($time_pos > $date_pos)
$arTmpData["DATE_TIME_FORMATTED"] = trim(substr($arTmpData["DATE_DATETIME_FORMATTED"], strlen($arTmpData["DATE_DATE_FORMATTED"])), " ,.;:");
elseif ($date_pos > $time_pos && $time_pos !== false)
$arTmpData["DATE_TIME_FORMATTED"] = trim(substr($arTmpData["DATE_DATETIME_FORMATTED"], 0, $date_pos), " ,.;:");
else
$arTmpData["DATE_TIME_FORMATTED"] = "";
if (date("d", $arTmpData["DATE_TIMESTAMP"]) == date("d") && date("n", $arTmpData["DATE_TIMESTAMP"]) == date("n") && date("Y", $arTmpData["DATE_TIMESTAMP"]) == date("Y"))
$arTmpData["DATE_DAY"] = "TODAY";
elseif ((mktime(0, 0, 0, date("n"), date("d"), date("Y")) - $arTmpData["DATE_TIMESTAMP"]) < 60*60*24)
$arTmpData["DATE_DAY"] = "YESTERDAY";
else
$arTmpData["DATE_DAY"] = "";
$arTmpData["MESSAGE"] = $parser->convert(
$arUserRequests["~MESSAGE"],
false,
array(),
array(
"HTML" => "N",
"ANCHOR" => "Y",
"BIU" => "Y",
"IMG" => "Y",
"LIST" => "Y",
"QUOTE" => "Y",
"CODE" => "Y",
"FONT" => "Y",
"SMILES" => "Y",
"UPLOAD" => "N",
"NL2BR" => "N"
)
);
$arTmpData["MESSAGE"] = str_replace("#BR#", "<br />", $arTmpData["MESSAGE"]);
$arTmpData["URL_MESSAGE"] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_MESSAGE_FORM_MESS"], array("user_id" => $arUserRequests["FROM_USER_ID"], "message_id" => $arUserRequests["ID"]));
$arTmpData["URL_BAN"] = "EventType=Message&userID=".$arUserRequests["FROM_USER_ID"]."&action=ban";
$arTmpData["CAN_ANSWER"] = (($arUserRequests["MESSAGE_TYPE"] == SONET_MESSAGE_PRIVATE && $canAnsver) ? "Y" : "N");
$arTmpData["CAN_BAN"] = ((!CSocNetUser::IsUserModuleAdmin($arUserRequests["FROM_USER_ID"], $site) && $arUserRequests["MESSAGE_TYPE"] == SONET_MESSAGE_PRIVATE) ? "Y" : "N");
if ($arTmpData["CAN_ANSWER"] == "Y")
{
$arTmpData["BUTTONS"] = array(
array(
"NAME" => GetMessage("SONET_C2_ANSWER"),
"ID" => "reply",
"ONCLICK" => "function ()
{
window.open('".$arTmpData["URL_MESSAGE"]."', '', 'location=yes,status=no,scrollbars=yes,resizable=yes,width=700,height=550,top='+Math.floor((screen.height - 550)/2-14)+',left='+Math.floor((screen.width - 700)/2-5));
_this.Next();
_this.oData.splice(_this.oCurrentMessagePointer-1, 1);
if (_this.oCurrentMessagePointer > 0)
_this.oCurrentMessagePointer--;
_this.adjustPaging();
_this.ShowContent(_this.oCurrentMessagePointer);
return;
}"
),
);
}
$arData[] = $arTmpData;
} // while
} // if bGet
}
if (
count($arData) <= 0
|| $arData[0] != "*"
)
{
CSocNetMessages::__SpeedFileCheckMessages($GLOBALS["USER"]->GetID());
CSocNetUserToGroup::__SpeedFileCheckMessages($GLOBALS["USER"]->GetID());
CSocNetUserRelations::__SpeedFileCheckMessages($GLOBALS["USER"]->GetID());
}
global $tmpSite;
$tmpSite = $site;
function date_cmp($a, $b)
{
global $tmpSite, $DB;
$ts_a = $DB->CharToDateFunction($a["DATE"], "FULL", $tmpSite);
$ts_b = $DB->CharToDateFunction($b["DATE"], "FULL", $tmpSite);
if ($ts_a == $ts_b)
{
return 0;
}
return ($ts_a < $ts_b) ? -1 : 1;
}
usort($arData, "date_cmp");
usort($arData, "date_cmp");
if (is_array($arData) && is_array($arData[0]))
{
$arDialogPos = CUserOptions::GetOption('socialnetwork', 'SONET_EVENT_POS', false);
if ($arDialogPos)
{
$arData[0]["POS_LEFT"] = $arDialogPos["left"];
$arData[0]["POS_TOP"] = $arDialogPos["top"];
}
if (intval($log_cnt) > 0)
$arData[0]["LOG_CNT"] = $log_cnt;
}
else
{
$arData = array(
array("LOG_CNT" => $log_cnt)
);
}
echo CUtil::PhpToJSObject($arData);
}
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
?>