%PDF- %PDF-
Direktori : /proc/self/root/home/bitrix/www/bitrix/components/bitrix/socialnetwork.events_dyn/ |
Current File : //proc/self/root/home/bitrix/www/bitrix/components/bitrix/socialnetwork.events_dyn/get_message.php |
<? require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/bx_root.php"); $cuid = IntVal($_REQUEST["cuid"]); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); 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) ) { require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php"); die(); } /* $abs_path = $_SERVER["DOCUMENT_ROOT"].BX_PERSONAL_ROOT."/managed_flags/socnet/c/".IntVal($cuid / 1000)."/".$cuid; if ( !file_exists($abs_path."_m") && !file_exists($abs_path."_f") && !file_exists($abs_path."_g") ) die(); */ $site = trim($_REQUEST["site"]); define("NO_KEEP_STATISTIC", true); define("BX_STATISTIC_BUFFER_USED", false); define("NO_LANG_FILES", true); // require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php"); if(CModule::IncludeModule("compression")) CCompress::Disable2048Spaces(); if(CModule::IncludeModule("socialnetwork")) { $userID = IntVal($_REQUEST["user_id"]); $mptr = Trim($_REQUEST["mptr"]); $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"] = Trim($GLOBALS["APPLICATION"]->UnJSEscape($_REQUEST["mp"])); $arParams["PATH_TO_MESSAGE_FORM_MESS"] = Trim($GLOBALS["APPLICATION"]->UnJSEscape($_REQUEST["mpm"])); $arParams["PATH_TO_MESSAGES_CHAT"] = Trim($GLOBALS["APPLICATION"]->UnJSEscape($_REQUEST["cp"])); $arParams["POPUP"] = Trim($GLOBALS["APPLICATION"]->UnJSEscape($_REQUEST["popup"])); if (array_key_exists("pt", $_REQUEST) && $_REQUEST["pt"] == "Y") $arParams["POPUP_TEMPLATE"] = true; else $arParams["POPUP_TEMPLATE"] = false; if ($arParams["POPUP"] == "Y") 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(); if (trim($_REQUEST["sl"]) == "N") $bUseLogin = false; else $bUseLogin = true; $arData = array(); if (!$GLOBALS["USER"]->IsAuthorized()) { $arData[0] = "*"; } else { $parser = new CSocNetTextParser(LANGUAGE_ID, "/bitrix/images/socialnetwork/smile/"); $parser->MaxStringLen = 20; $bFound = false; if (!$bFound) { $arFilter = array( "SECOND_USER_ID" => $GLOBALS["USER"]->GetID(), "RELATION" => SONET_RELATIONS_REQUEST ); if ($arParams["POPUP"] == "Y") { $last_message_id = CUserOptions::GetOption('socialnetwork', 'SONET_EVENT_FR', 0); if (intval($last_message_id) > 0) $arFilter[">ID"] = $last_message_id; } $dbUserRequests = CSocNetUserRelations::GetList( array("DATE_UPDATE" => "ASC"), $arFilter, false, array("nTopCount" => 1), array("ID", "FIRST_USER_ID", "MESSAGE", "FIRST_USER_NAME", "DATE_UPDATE", "FIRST_USER_LAST_NAME", "FIRST_USER_SECOND_NAME", "FIRST_USER_LOGIN", "FIRST_USER_PERSONAL_PHOTO", "FIRST_USER_PERSONAL_GENDER") ); if ($arUserRequests = $dbUserRequests->GetNext()) { if ($arParams["POPUP"] == "Y") CUserOptions::SetOption('socialnetwork', 'SONET_EVENT_FR', $arUserRequests["ID"]); $bFound = true; $arData[0] = "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()); if ($arParams["POPUP_TEMPLATE"]) $ImageSize = 50; else $ImageSize = 150; 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); } $arImage = CSocNetTools::InitImage($arUserRequests["FIRST_USER_PERSONAL_PHOTO"], $ImageSize, "/bitrix/images/socialnetwork/nopic_user_".$ImageSize.".gif", $ImageSize, $pu, $canViewProfile); $arData[1] = $arUserRequests["ID"]; $arData[2] = $arUserRequests["FIRST_USER_ID"]; //2 // $arData[3] = $arUserRequests["FIRST_USER_NAME"]." ".$arUserRequests["FIRST_USER_LAST_NAME"]; //3 $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"] ); $arData[3] = CUser::FormatName($arParams['NAME_TEMPLATE'], $arTmpUser, $bUseLogin); $arData[4] = $arImage["IMG"]; //4 $arData[5] = $pu; //5 $arData[6] = ($canViewProfile ? "Y" : "N"); //6 $arData[7] = (CSocNetUser::IsOnLine($arUserRequests["FIRST_USER_ID"]) ? "Y" : "N"); //7 $arData[8] = $arUserRequests["DATE_UPDATE"]; //8 $arData[9] = $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" ) ); //9 $arData[10] = "EventType=FriendRequest&eventID=".$arUserRequests["ID"]."&action=add"; //10 $arData[11] = "EventType=FriendRequest&eventID=".$arUserRequests["ID"]."&action=reject"; //11 } } if (!$bFound) { $arFilter = array( "USER_ID" => $GLOBALS["USER"]->GetID(), "ROLE" => SONET_ROLES_REQUEST, "INITIATED_BY_TYPE" => SONET_INITIATED_BY_GROUP, ); if ($arParams["POPUP"] == "Y") { $last_message_id = CUserOptions::GetOption('socialnetwork', 'SONET_EVENT_GR', 0); if (intval($last_message_id) > 0) $arFilter[">ID"] = $last_message_id; } $dbUserRequests = CSocNetUserToGroup::GetList( array("DATE_CREATE" => "ASC"), $arFilter, false, array("nTopCount" => 1), 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") ); if ($arUserRequests = $dbUserRequests->GetNext()) { if ($arParams["POPUP"] == "Y") CUserOptions::SetOption('socialnetwork', 'SONET_EVENT_GR', $arUserRequests["ID"]); $bFound = true; $arData[0] = "GR"; //0 $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()); if ($arParams["POPUP_TEMPLATE"]) $ImageSize = 50; else $ImageSize = 150; 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); } $arImage = CSocNetTools::InitImage($arUserRequests["INITIATED_BY_USER_PHOTO"], $ImageSize, "/bitrix/images/socialnetwork/nopic_user_".$ImageSize.".gif", $ImageSize, $pu, $canViewProfileU); $pg = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_GROUP"], array("group_id" => $arUserRequests["GROUP_ID"])); $canViewProfileG = (CSocNetUser::IsCurrentUserModuleAdmin() || ($arUserRequests["GROUP_VISIBLE"] == "Y")); if ($arParams["POPUP_TEMPLATE"]) $ImageSize = 50; else $ImageSize = 150; if (intval($arUserRequests["GROUP_IMAGE_ID"]) <= 0) $arUserRequests["GROUP_IMAGE_ID"] = COption::GetOptionInt("socialnetwork", "default_group_picture", false, SITE_ID); $arImageG = CSocNetTools::InitImage($arUserRequests["GROUP_IMAGE_ID"], $ImageSize, "/bitrix/images/socialnetwork/nopic_group_".$ImageSize.".gif", $ImageSize, $pg, $canViewProfileG); $arData[1] = $arUserRequests["ID"]; //1 $arData[2] = $arUserRequests["INITIATED_BY_USER_ID"]; //2 // $arData[3] = $arUserRequests["INITIATED_BY_USER_NAME"]." ".$arUserRequests["INITIATED_BY_USER_LAST_NAME"]; //3 $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"] ); $arData[3] = CUser::FormatName($arParams['NAME_TEMPLATE'], $arTmpUser, $bUseLogin); $arData[4] = $arImage["IMG"]; //4 $arData[5] = $pu; //5 $arData[6] = ($canViewProfileU ? "Y" : "N"); //6 $arData[7] = $arUserRequests["DATE_CREATE"]; //7 $arData[8] = $arUserRequests["GROUP_NAME"]; //8 $arData[9] = $arImageG["IMG"]; //9 $arData[10] = $pg; //10 $arData[11] = ($canViewProfileG ? "Y" : "N"); //11 $arData[12] = $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" ) ); //12 $arData[13] = "EventType=GroupRequest&eventID=".$arUserRequests["ID"]."&action=add"; //13 $arData[14] = "EventType=GroupRequest&eventID=".$arUserRequests["ID"]."&action=reject"; //14 } } if (!$bFound) { $arFilter = array( "TO_USER_ID" => $GLOBALS["USER"]->GetID(), "DATE_VIEW" => "", "TO_DELETED" => "N" ); if ($arParams["POPUP"] == "Y") { $last_message_id = CUserOptions::GetOption('socialnetwork', 'SONET_EVENT_M', 0); if (intval($last_message_id) > 0) $arFilter[">ID"] = $last_message_id; } $dbUserRequests = CSocNetMessages::GetList( array("DATE_CREATE" => "ASC"), $arFilter, false, array("nTopCount" => 1), 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") ); if ($arUserRequests = $dbUserRequests->GetNext()) { if ($arParams["POPUP"] == "Y") CUserOptions::SetOption('socialnetwork', 'SONET_EVENT_M', $arUserRequests["ID"]); $bFound = true; $arData[0] = "M"; //0 $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()); $canAnsver = CSocNetUserPerms::CanPerformOperation($GLOBALS["USER"]->GetID(), $arUserRequests["FROM_USER_ID"], "message", CSocNetUser::IsCurrentUserModuleAdmin()); if ($arParams["POPUP_TEMPLATE"]) $ImageSize = 50; else $ImageSize = 150; 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); } $arImage = CSocNetTools::InitImage($arUserRequests["FROM_USER_PERSONAL_PHOTO"], $ImageSize, "/bitrix/images/socialnetwork/nopic_user_".$ImageSize.".gif", $ImageSize, $pu, $canViewProfile); $arData[1] = $arUserRequests["ID"]; //1 $arData[2] = $arUserRequests["FROM_USER_ID"]; //2 // $arData[3] = $arUserRequests["FROM_USER_NAME"]." ".$arUserRequests["FROM_USER_LAST_NAME"]; $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"] ); $arData[3] = CUser::FormatName($arParams['NAME_TEMPLATE'], $arTmpUser, $bUseLogin); $arData[4] = $arImage["IMG"]; //4 $arData[5] = $pu; //5 $arData[6] = ($canViewProfile ? "Y" : "N"); //6 $arData[7] = (CSocNetUser::IsOnLine($arUserRequests["FROM_USER_ID"]) ? "Y" : "N"); //7 $arData[8] = $arUserRequests["DATE_CREATE"]; //8 $arData[9] = $arUserRequests["MESSAGE_TYPE"]; //9 //$arData[0] = $arUserRequests["TITLE"]; //10 $arData[10] = $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" ) ); //10 $arData[11] = (($arUserRequests["MESSAGE_TYPE"] == SONET_MESSAGE_PRIVATE && $canAnsver) ? "Y" : "N"); //11 $arData[12] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_MESSAGE_FORM_MESS"], array("user_id" => $arUserRequests["FROM_USER_ID"], "message_id" => $arUserRequests["ID"])); //12 $arData[13] = CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_MESSAGES_CHAT"], array("user_id" => $arUserRequests["FROM_USER_ID"], "message_id" => $arUserRequests["ID"])); //13 $arData[14] = "EventType=Message&eventID=".$arUserRequests["ID"]."&action=close"; //14 $arData[15] = ((!CSocNetUser::IsUserModuleAdmin($arUserRequests["FROM_USER_ID"]) && $arUserRequests["MESSAGE_TYPE"] == SONET_MESSAGE_PRIVATE) ? "Y" : "N"); //15 $arData[16] = "EventType=Message&userID=".$arUserRequests["FROM_USER_ID"]."&action=ban"; //16 } } } echo CUtil::PhpToJSObject($arData); } define('PUBLIC_AJAX_MODE', true); require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php"); ?>