15 $userID = intval($userID);
21 if ($arUser[
"ALLOW_POST"] !=
"Y")
31 $userID = intval($userID);
34 $blogModulePermissions =
$GLOBALS[
"APPLICATION"]->GetGroupRight(
"blog");
35 if ($blogModulePermissions >=
"W")
39 if ($arUser && intval($arUser[
"USER_ID"]) == $userID)
52 $GLOBALS[
"APPLICATION"]->ThrowException(
GetMessage(
"BLG_GU_EMPTY_USER_ID"),
"EMPTY_USER_ID");
60 $GLOBALS[
"APPLICATION"]->ThrowException(
GetMessage(
"BLG_GU_ERROR_NO_USER_ID"),
"ERROR_NO_USER_ID");
70 $GLOBALS[
"APPLICATION"]->ThrowException(
GetMessage(
"BLG_GU_ERROR_DUPL_ALIAS"),
"ERROR_DUPL_ALIAS");
77 $GLOBALS[
"APPLICATION"]->ThrowException(
GetMessage(
"BLG_GU_ERROR_LAST_VISIT"),
"ERROR_LAST_VISIT");
83 $GLOBALS[
"APPLICATION"]->ThrowException(
GetMessage(
"BLG_GU_ERROR_DATE_REG"),
"ERROR_DATE_REG");
95 $max_size = Option::get(
'blog',
'avatar_max_size', 30000);
96 $res = CFile::CheckImageFile(
$arFields[
"AVATAR"], $max_size, 0, 0);
99 $GLOBALS[
"APPLICATION"]->ThrowException(
$res,
"ERROR_AVATAR");
121 $GLOBALS[
"APPLICATION"]->ThrowException(
GetMessage(
"BLG_GU_ERROR_OWNER"),
"ERROR_OWNER");
132 $GLOBALS[
"APPLICATION"]->ThrowException(
GetMessage(
"BLG_GU_ERROR_AUTHOR"),
"ERROR_AUTHOR");
140 $dbGloUser = CUser::GetByID($arUser[
"USER_ID"]);
141 $arGloUser = $dbGloUser->Fetch();
144 "UPDATE b_blog_comment SET ".
145 " AUTHOR_NAME = '".
$DB->ForSql(
CBlogUser::GetUserName($arUser[
"ALIAS"], $arGloUser[
"NAME"], $arGloUser[
"LAST_NAME"], $arGloUser[
"LOGIN"], $arGloUser[
"SECOND_NAME"])).
"', ".
146 " AUTHOR_ID = null ".
147 "WHERE AUTHOR_ID = ".$arUser[
"USER_ID"].
"",
151 $DB->Query(
"DELETE FROM b_blog_user2user_group WHERE USER_ID = ".$arUser[
"USER_ID"].
"",
true);
158 "FROM b_blog_user FU, b_file F ".
159 "WHERE FU.ID = ".$arUser[
"ID"].
" ".
160 " AND FU.AVATAR = F.ID ";
161 $z =
$DB->Query($strSql);
162 while (
$zr =
$z->Fetch())
163 CFile::Delete(
$zr[
"ID"]);
166 if (CModule::IncludeModule(
"search"))
177 unset(
$GLOBALS[
"BLOG_USER"][
"BLOG_USER_CACHE_".$arUser[
"ID"]]);
178 unset(
$GLOBALS[
"BLOG_USER"][
"BLOG_USER1_CACHE_".$arUser[
"USER_ID"]]);
179 unset(
$GLOBALS[
"BLOG_USER"][
"BLOG_USER2GROUP_CACHE_".$arUser[
"ID"]]);
180 unset(
$GLOBALS[
"BLOG_USER"][
"BLOG_USER2GROUP1_CACHE_".$arUser[
"USER_ID"]]);
182 return $DB->Query(
"DELETE FROM b_blog_user WHERE ID = ".$arUser[
"ID"].
"",
true);
196 $blogID = intval($blogID);
204 $GLOBALS[
"APPLICATION"]->ThrowException(str_replace(
"#ID#", $blogID,
GetMessage(
"BLG_GU_ERROR_NO_BLOG")),
"ERROR_NO_BLOG");
212 $dbResult = CUser::GetByID($arUser[
"USER_ID"]);
215 $GLOBALS[
"APPLICATION"]->ThrowException(
GetMessage(
"BLG_GU_ERROR_NO_USER_ID"),
"ERROR_NO_USER_ID");
223 "DELETE FROM b_blog_user2user_group ".
224 "WHERE USER_ID = ".intval($arUser[
"USER_ID"]).
" ".
225 " AND BLOG_ID = ".$blogID.
" "
237 $blogID = intval($blogID);
240 $joinStatus = (($joinStatus ==
"Y") ?
"Y" :
"N");
249 $GLOBALS[
"APPLICATION"]->ThrowException(str_replace(
"#ID#", $blogID,
GetMessage(
"BLG_GU_ERROR_NO_BLOG")),
"ERROR_NO_BLOG");
257 $dbResult = CUser::GetByID($arUser[
"USER_ID"]);
260 $GLOBALS[
"APPLICATION"]->ThrowException(
GetMessage(
"BLG_GU_ERROR_NO_USER_ID"),
"ERROR_NO_USER_ID");
269 "DELETE FROM b_blog_user2user_group ".
270 "WHERE USER_ID = ".intval($arUser[
"USER_ID"]).
" ".
271 " AND BLOG_ID = ".$blogID.
" "
291 while ($arUserGroup = $dbUserGroups->Fetch())
292 $arGroups[] = intval($arUserGroup[
"ID"]);
305 "INSERT INTO b_blog_user2user_group (USER_ID, BLOG_ID, USER_GROUP_ID) ".
306 "VALUES (".intval($arUser[
"USER_ID"]).
", ".$blogID.
", ".intval(
$val).
")"
313 unset(
$GLOBALS[
"BLOG_USER"][
"BLOG_USER2GROUP_CACHE_".$arUser[
"ID"]]);
314 unset(
$GLOBALS[
"BLOG_USER"][
"BLOG_USER2GROUP1_CACHE_".$arUser[
"USER_ID"]]);
322 if (isset(
$GLOBALS[
"BLOG_USER"][
"BLOG_LAST_VISIT_SET"]) &&
$GLOBALS[
"BLOG_USER"][
"BLOG_LAST_VISIT_SET"] ==
"Y")
325 if (!
$GLOBALS[
"USER"]->IsAuthorized())
328 $userID = intval(
$GLOBALS[
"USER"]->GetID());
341 "USER_ID" => $userID,
342 "=LAST_VISIT" =>
$GLOBALS[
"DB"]->GetNowFunction(),
343 "=DATE_REG" =>
$GLOBALS[
"DB"]->GetNowFunction(),
348 $GLOBALS[
"BLOG_USER"][
"BLOG_LAST_VISIT_SET"] =
"Y";
361 $varName = (($selectType ==
BLOG_BY_USER_ID) ?
"BLOG_USER1_CACHE_" :
"BLOG_USER_CACHE_");
362 if (isset(
$GLOBALS[
"BLOG_USER"][$varName.$ID]) && is_array(
$GLOBALS[
"BLOG_USER"][$varName.$ID]) &&
is_set(
$GLOBALS[
"BLOG_USER"][$varName.$ID],
"ID"))
364 return $GLOBALS[
"BLOG_USER"][$varName.$ID];
369 "SELECT B.ID, B.USER_ID, B.ALIAS, B.DESCRIPTION, B.AVATAR, B.INTERESTS, ".
371 " ".$DB->DateToCharFunction(
"B.LAST_VISIT",
"FULL").
" as LAST_VISIT, ".
372 " ".$DB->DateToCharFunction(
"B.DATE_REG",
"FULL").
" as DATE_REG ".
373 "FROM b_blog_user B ".
396 "SELECT B.ID, B.NAME, B.ACTIVE, B.URL, B.OWNER_ID ".
397 "FROM b_blog_user2user_group U2UG ".
398 " INNER JOIN b_blog_user_group_perms UGP ".
399 " ON (U2UG.BLOG_ID = UGP.BLOG_ID AND U2UG.USER_GROUP_ID = UGP.USER_GROUP_ID) ".
400 " INNER JOIN b_blog B ".
401 " ON (U2UG.BLOG_ID = B.ID) ".
402 "WHERE U2UG.USER_ID = ".$ID.
" ".
405 " AND UGP.POST_ID IS NULL ".
406 " AND B.ACTIVE = 'Y' ".
407 "GROUP BY B.ID, B.NAME, B.ACTIVE, B.URL, B.OWNER_ID ".
408 "ORDER BY B.NAME ASC";
413 "SELECT B.ID, B.NAME, B.ACTIVE, B.URL ".
415 " INNER JOIN b_blog_user_group_perms UGP ".
416 " ON (B1.ID = UGP.BLOG_ID) ".
417 " INNER JOIN b_blog_user2user_group U2UG ".
418 " ON (UGP.BLOG_ID = U2UG.BLOG_ID AND UGP.USER_GROUP_ID = U2UG.USER_GROUP_ID) ".
419 " INNER JOIN b_blog B ".
420 " ON (U2UG.USER_ID = B.OWNER_ID) ".
421 "WHERE B1.OWNER_ID = ".$ID.
" ".
424 " AND UGP.POST_ID IS NULL ".
425 " AND B.ACTIVE = 'Y' ".
426 " AND B1.ACTIVE = 'Y' ".
427 "GROUP BY B.ID, B.NAME, B.ACTIVE, B.URL ".
428 "ORDER BY B.NAME ASC";
441 $joinStatus = (($joinStatus ==
"Y" || $joinStatus ==
"N") ? $joinStatus :
"");
449 $blogID = intval($blogID);
451 $blogID = preg_replace(
"/[^a-zA-Z0-9_-]/is",
"", Trim($blogID));
453 $varName = (($selectType ==
BLOG_BY_USER_ID) ?
"BLOG_USER2GROUP1_CACHE_".$blogID.
"_".$joinStatus.
"_".
$ID.
"_".$bUrl :
"BLOG_USER2GROUP_CACHE_".$blogID.
"_".$joinStatus.
"_".
$ID.
"_".$bUrl);
455 if (isset(
$GLOBALS[
"BLOG_USER"][$varName]) && is_array(
$GLOBALS[
"BLOG_USER"][$varName]))
457 return $GLOBALS[
"BLOG_USER"][$varName];
465 if (
$ID > 0 && $blogID <>
'')
470 $userID = $arBlogUser[
"USER_ID"];
476 "SELECT UG.ID, UG.USER_ID, UG.BLOG_ID, UG.USER_GROUP_ID ".
477 "FROM b_blog_user2user_group UG ";
479 $strSql .=
" INNER JOIN b_blog B ON (UG.BLOG_ID = B.ID AND B.URL='".$DB->ForSql($blogID).
"') ";
481 $strSql .=
" WHERE UG.USER_ID = ".$userID.
" ";
484 $strSql .=
" AND UG.BLOG_ID = ".$blogID.
" ";
493 $GLOBALS[
"BLOG_USER"][
"BLOG_USER2GROUP_CACHE_".$blogID.
"_".$joinStatus.
"_".intval($arBlogUser[
"ID"]).
"_".$bUrl] =
$arGroups;
494 $GLOBALS[
"BLOG_USER"][
"BLOG_USER2GROUP1_CACHE_".$blogID.
"_".$joinStatus.
"_".intval($userID).
"_".$bUrl] =
$arGroups;
505 $blogID = intval($blogID);
506 $postID = intval($postID);
519 if ($strGroups <>
'')
522 $strGroups .= intval(
$val);
525 $varName =
"BLOG_USER_PERMS_CACHE_".$blogID.
"_".$postID.
"_".$permsType;
527 if (isset(
$GLOBALS[
"BLOG_USER"][$varName]) && is_array(
$GLOBALS[
"BLOG_USER"][$varName])
528 && isset(
$GLOBALS[
"BLOG_USER"][$varName][$strGroups]) && is_array(
$GLOBALS[
"BLOG_USER"][$varName][$strGroups]))
530 return $GLOBALS[
"BLOG_USER"][$varName][$strGroups];
537 "SELECT MAX(P.PERMS) as PERMS ".
538 "FROM b_blog_user_group_perms P ".
539 "WHERE P.BLOG_ID = ".$blogID.
" ".
540 " AND P.USER_GROUP_ID IN (".$strGroups.
") ".
541 " AND P.PERMS_TYPE = '".$DB->ForSql($permsType).
"' ".
542 " AND P.POST_ID = ".$postID.
" ";
552 "SELECT MAX(P.PERMS) as PERMS ".
553 "FROM b_blog_user_group_perms P ".
554 "WHERE P.BLOG_ID = ".$blogID.
" ".
555 " AND P.USER_GROUP_ID IN (".$strGroups.
") ".
556 " AND P.PERMS_TYPE = '".$DB->ForSql($permsType).
"' ".
557 " AND P.POST_ID IS NULL ";
571 return BlogUser::GetUserName($alias,
$name, $lastName,
$login, $secondName);
576 return BlogUser::GetUserNameEx($arUser, $arBlogUser,
$arParams);
581 $userID = intval($userID);
586 while(
$arPath = $dbPath->Fetch())
619 if (
$_SERVER[
"HTTP_X_FORWARDED_FOR"] ??
null)
621 $clientIP =
$_SERVER[
"HTTP_X_FORWARDED_FOR"];
625 $clientIP =
$_SERVER[
"HTTP_CLIENT_IP"] ??
null;
628 $clientProxy =
$_SERVER[
"REMOTE_ADDR"];
631 $clientIP = $clientProxy;
635 return array($clientIP, $clientProxy);
646 if (intval(
$arParams[
"AVATAR_SIZE"] ??
null) <= 0)
649 if (intval(
$arParams[
"AVATAR_SIZE_COMMENT"] ??
null) <= 0)
652 $bResizeImmediate = (isset(
$arParams[
"RESIZE_IMMEDIATE"]) &&
$arParams[
"RESIZE_IMMEDIATE"] ==
"Y");
655 "FIELDS" => Array(
"ID",
"LAST_NAME",
"NAME",
"SECOND_NAME",
"LOGIN",
"PERSONAL_PHOTO",
"PERSONAL_GENDER",
"EXTERNAL_AUTH_ID")
658 if (ModuleManager::isModuleInstalled(
'extranet'))
660 $arSelect[
"SELECT"] =
array(
'UF_DEPARTMENT');
663 $dbUser = CUser::GetList(
664 Array(
'ID' =>
'desc'),
669 if(
$arResult[
"arUser"] = $dbUser->GetNext())
672 intval(
$arResult[
"arUser"][
"PERSONAL_PHOTO"]) <= 0
673 && ModuleManager::isModuleInstalled(
'socialnetwork')
676 switch (
$arResult[
"arUser"][
"PERSONAL_GENDER"])
687 $arResult[
"arUser"][
"PERSONAL_PHOTO"] = Option::get(
'socialnetwork',
'default_user_picture_'.$suffix,
false,
SITE_ID);
690 if(intval(
$arResult[
"arUser"][
"PERSONAL_PHOTO"]) > 0)
692 $arResult[
"arUser"][
"PERSONAL_PHOTO_file"] = CFile::GetFileArray(
$arResult[
"arUser"][
"PERSONAL_PHOTO"]);
693 $arResult[
"arUser"][
"PERSONAL_PHOTO_resized"] = CFile::ResizeImageGet(
694 $arResult[
"arUser"][
"PERSONAL_PHOTO_file"],
701 if (
$arResult[
"arUser"][
"PERSONAL_PHOTO_resized"] !==
false)
702 $arResult[
"arUser"][
"PERSONAL_PHOTO_img"] = CFile::ShowImage(
$arResult[
"arUser"][
"PERSONAL_PHOTO_resized"][
"src"],
$arParams[
"AVATAR_SIZE"],
$arParams[
"AVATAR_SIZE"],
"border=0 align='right'");
703 $arResult[
"arUser"][
"PERSONAL_PHOTO_resized_30"] = CFile::ResizeImageGet(
704 $arResult[
"arUser"][
"PERSONAL_PHOTO_file"],
711 if (
$arResult[
"arUser"][
"PERSONAL_PHOTO_resized_30"] !==
false)
712 $arResult[
"arUser"][
"PERSONAL_PHOTO_img_30"] = CFile::ShowImage(
$arResult[
"arUser"][
"PERSONAL_PHOTO_resized_30"][
"src"],
$arParams[
"AVATAR_SIZE_COMMENT"],
$arParams[
"AVATAR_SIZE_COMMENT"],
"border=0 align='right'");
714 $arResult[
"arUser"][
"url"] = CComponentEngine::MakePathFromTemplate(
$path,
array(
"user_id" => $id));
734 $arId = array_unique($arId);
736 $arIdToGet =
array();
751 if (!empty($arIdToGet))
753 if (intval(
$arParams[
"AVATAR_SIZE"]) <= 0)
758 if (intval(
$arParams[
"AVATAR_SIZE_COMMENT"] ??
null) <= 0)
763 $arSelectParams = Array(
764 "FIELDS" => Array(
"ID",
"LAST_NAME",
"NAME",
"SECOND_NAME",
"LOGIN",
"PERSONAL_PHOTO",
"PERSONAL_GENDER",
"EXTERNAL_AUTH_ID")
768 ModuleManager::isModuleInstalled(
'intranet')
769 || ModuleManager::isModuleInstalled(
'crm')
772 $arSelectParams[
"SELECT"] =
array();
773 if (ModuleManager::isModuleInstalled(
'intranet'))
775 $arSelectParams[
"SELECT"][] =
"UF_DEPARTMENT";
777 if (ModuleManager::isModuleInstalled(
'crm'))
779 $arSelectParams[
"SELECT"][] =
"UF_USER_CRM_ENTITY";
783 $dbUser = CUser::GetList(
784 Array(
'ID' =>
'desc'),
786 Array(
"ID" => implode(
" | ", $arIdToGet)),
789 while ($arUser = $dbUser->GetNext())
792 intval($arUser[
"PERSONAL_PHOTO"]) <= 0
793 && ModuleManager::isModuleInstalled(
'socialnetwork')
796 switch ($arUser[
'PERSONAL_GENDER'])
807 $arUser[
'PERSONAL_PHOTO'] = Option::get(
'socialnetwork',
'default_user_picture_'.$suffix,
false,
SITE_ID);
810 if(intval($arUser[
"PERSONAL_PHOTO"]) > 0)
812 $arUser[
"PERSONAL_PHOTO_file"] = CFile::GetFileArray($arUser[
"PERSONAL_PHOTO"]);
813 $arUser[
"PERSONAL_PHOTO_resized"] = CFile::ResizeImageGet(
814 $arUser[
"PERSONAL_PHOTO_file"],
819 if ($arUser[
"PERSONAL_PHOTO_resized"] !==
false)
821 $arUser[
"PERSONAL_PHOTO_img"] = CFile::ShowImage($arUser[
"PERSONAL_PHOTO_resized"][
"src"],
$arParams[
"AVATAR_SIZE"],
$arParams[
"AVATAR_SIZE"],
"border=0 align='right'");
824 $arUser[
"PERSONAL_PHOTO_resized_30"] = CFile::ResizeImageGet(
825 $arUser[
"PERSONAL_PHOTO_file"],
830 if ($arUser[
"PERSONAL_PHOTO_resized_30"] !==
false)
832 $arUser[
"PERSONAL_PHOTO_img_30"] = CFile::ShowImage($arUser[
"PERSONAL_PHOTO_resized_30"][
"src"],
$arParams[
"AVATAR_SIZE_COMMENT"],
$arParams[
"AVATAR_SIZE_COMMENT"],
"border=0 align='right'");
836 $arUser[
"url"] = CComponentEngine::MakePathFromTemplate(
$path,
array(
"user_id" => $arUser[
"ID"]));
const BLOG_BY_BLOG_USER_ID
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
static GetUserPerms($arGroups, $blogID, $postID=0, $permsType=BLOG_PERMS_POST, $selectType=BLOG_BY_BLOG_USER_ID)
static PreparePath2User($arParams=array())
static GetUserNameEx($arUser, $arBlogUser, $arParams)
static GetUserFriends($ID, $bFlag=True)
static CheckFields($ACTION, &$arFields, $ID=0)
static GetUserName($alias, $name, $lastName, $login, $secondName="")
static AddToUserGroup($ID, $blogID, $arGroups=array(), $joinStatus="Y", $selectType=BLOG_BY_BLOG_USER_ID, $action=BLOG_CHANGE)
static GetUserGroups($ID, $blogID, $joinStatus="", $selectType=BLOG_BY_BLOG_USER_ID, $bUrl=false)
static GetUserInfoArray($arId, $path, $arParams=array())
static GetUserInfo($id, $path, $arParams=array())
static PreparePath($userID=0, $siteID=False, $is404=True)
static GetByID($ID, $selectType=BLOG_BY_BLOG_USER_ID)
static DeleteFromUserGroup($ID, $blogID, $selectType=BLOG_BY_BLOG_USER_ID)
static CanUserUpdateUser($ID, $userID, $selectType=BLOG_BY_BLOG_USER_ID)
static Index($MODULE_ID, $ITEM_ID, $arFields, $bOverWrite=false, $SEARCH_SESS_ID='')
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
static GetList( $arOrder=["ID"=> "DESC"], $arFilter=[], $arGroupBy=false, $arNavStartParams=false, $arSelectFields=[])
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
static GetList($arOrder=Array("ID"=> "DESC"), $arFilter=Array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array())
static Update($ID, $arFields)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
$_SERVER["DOCUMENT_ROOT"]
const BX_RESIZE_IMAGE_EXACT
htmlspecialcharsbx($string, $flags=ENT_COMPAT, $doubleEncode=true)
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
GetMessage($name, $aReplace=null)
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
$GLOBALS['_____370096793']