Current Path : /var/www/html/clients/wodo.e-nk.ru/bitrix/components/bitrix/forum.user.profile.view/ |
Current File : /var/www/html/clients/wodo.e-nk.ru/bitrix/components/bitrix/forum.user.profile.view/component.php |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); if (!CModule::IncludeModule("forum")): ShowError(GetMessage("F_NO_MODULE")); return 0; endif; if (!function_exists("ForumUrlExtractTmp")) { function ForumUrlExtractTmp($s) { $x = 0; while (strpos(",}])>.", substr($s, -1, 1))!==false) { $s2 = substr($s, -1, 1); $s = substr($s, 0, strlen($s)-1); } return "<a href=\"".$s."\" target=\"_blank\">".$s."</a>".$s2; } } if (!function_exists("ForumNumberRusEnding")) { function ForumNumberRusEnding($num) { if (LANGUAGE_ID == "ru") { if (strlen($num)>1 && substr($num, strlen($num)-2, 1)=="1") { return GetMessage("F_ENDING_OV"); } else { $c = IntVal(substr($num, strlen($num)-1, 1)); if ($c==0 || ($c>=5 && $c<=9)) return GetMessage("F_ENDING_OV"); elseif ($c==1) return ""; else return GetMessage("F_ENDING_A"); } } else { if (IntVal($num)>1) return "s"; return ""; } } } /******************************************************************** Input params ********************************************************************/ /***************** BASE ********************************************/ $arParams["UID"] = trim(strLen($arParams["UID"]) <= 0 ? $_REQUEST["UID"] : $arParams["UID"]); /***************** URL *********************************************/ $URL_NAME_DEFAULT = array( "read" => "PAGE_NAME=read&FID=#FID#&TID=#TID#", "message" => "PAGE_NAME=message&FID=#FID#&TID=#TID#&MID=#MID#", "profile_view" => "PAGE_NAME=profile_view&UID=#UID#", "profile" => "PAGE_NAME=profile&UID=#UID#", "pm_edit" => "PAGE_NAME=pm_edit&FID=#FID#&MID=#MID#&UID=#UID#&mode=#mode#", "message_send" => "PAGE_NAME=message_send&TYPE=#TYPE#&UID=#UID#", "subscr_list" => "PAGE_NAME=subscr_list", "user_post" => "PAGE_NAME=user_post&UID=#UID#&mode=#mode#"); if (empty($arParams["URL_TEMPLATES_MESSAGE"]) && !empty($arParams["URL_TEMPLATES_READ"])) { $arParams["URL_TEMPLATES_MESSAGE"] = $arParams["URL_TEMPLATES_READ"]; } foreach ($URL_NAME_DEFAULT as $URL => $URL_VALUE) { if (strLen(trim($arParams["URL_TEMPLATES_".strToUpper($URL)])) <= 0) $arParams["URL_TEMPLATES_".strToUpper($URL)] = $APPLICATION->GetCurPage()."?".$URL_VALUE; $arParams["~URL_TEMPLATES_".strToUpper($URL)] = $arParams["URL_TEMPLATES_".strToUpper($URL)]; $arParams["URL_TEMPLATES_".strToUpper($URL)] = htmlspecialchars($arParams["~URL_TEMPLATES_".strToUpper($URL)]); } /***************** ADDITIONAL **************************************/ $arParams["FID_RANGE"] = (is_array($arParams["FID_RANGE"]) && !empty($arParams["FID_RANGE"]) ? $arParams["FID_RANGE"] : array()); $arParams["SHOW_FORUM_ANOTHER_SITE"] = ($arParams["SHOW_FORUM_ANOTHER_SITE"] == "Y" ? "Y" : "N"); $arParams["DATE_TIME_FORMAT"] = trim($arParams["DATE_TIME_FORMAT"]); $arParams["DATE_FORMAT"] = trim($arParams["DATE_FORMAT"]); if(strlen($arParams["DATE_TIME_FORMAT"])<=0) $arParams["DATE_TIME_FORMAT"] = $GLOBALS["DB"]->DateFormatToPHP(CSite::GetDateFormat("FULL")); if(strlen($arParams["DATE_FORMAT"])<=0) $arParams["DATE_FORMAT"] = $GLOBALS["DB"]->DateFormatToPHP(CSite::GetDateFormat("SHORT")); /***************** STANDART ****************************************/ if ($arParams["CACHE_TYPE"] == "Y" || ($arParams["CACHE_TYPE"] == "A" && COption::GetOptionString("main", "component_cache_on", "Y") == "Y")) $arParams["CACHE_TIME"] = intval($arParams["CACHE_TIME"]); else $arParams["CACHE_TIME"] = 0; $arParams["SET_TITLE"] = ($arParams["SET_TITLE"] == "N" ? "N" : "Y"); $arParams["SET_NAVIGATION"] = ($arParams["SET_NAVIGATION"] == "N" ? "N" : "Y"); // $arParams["DISPLAY_PANEL"] = ($arParams["DISPLAY_PANEL"] == "Y" ? "Y" : "N"); /******************************************************************** /Input params ********************************************************************/ $parser = new textParser(); $parser->MaxStringLen = $arParams["WORD_LENGTH"]; $arResult["USER"] = array(); $arResult["FORUM_USER"] = array(); $bUserFound = false; if (!empty($arParams["UID"])) { $ar_res = false; $db_res = CUser::GetByID(intVal($arParams["UID"])); if (!($ar_res = $db_res->Fetch())): $db_res = CUser::GetByLogin($arParams["UID"]); $ar_res = $db_res->Fetch(); $arParams["UID"] = intVal($ar_res["ID"]); endif; $arParams["UID"] = intval($arParams["UID"]); if ($ar_res) { $bUserFound = True; foreach ($ar_res as $key => $val): $arResult["USER"]["~".$key] = $val; if (is_string($val)): $arResult["USER"][$key] = $parser->wrap_long_words(htmlspecialcharsex(trim($val))); endif; if ($key == "PERSONAL_BIRTHDAY" && strLen($val) > 0): $arResult["USER"][$key."_FORMATED"] = CForumFormat::FormatDate($val, CLang::GetDateFormat("SHORT"), $arParams["DATE_FORMAT"]); endif; endforeach; } } if (!$bUserFound): CHTTP::SetStatus("404 Not Found"); if (strLen($arParams["UID"]) <= 0): ShowError(GetMessage("F_NO_UID")); else: ShowError(str_replace("#UID#", htmlspecialcharsEx($arParams["UID"]), GetMessage("F_NO_DUSER"))); endif; return false; endif; ForumSetLastVisit(); $arResult["FORUM_USER"] = CForumUser::GetByUSER_ID($arParams["UID"]); $arResult["FORUM_USER"] = (empty($arResult["FORUM_USER"]) ? array() : $arResult["FORUM_USER"]); foreach ($arResult["FORUM_USER"] as $key => $val): $arResult["FORUM_USER"]["~".$key] = $val; $arResult["FORUM_USER"][$key] = htmlspecialcharsEx($val); if (!is_array($val)) $arResult["FORUM_USER"][$key] = $parser->wrap_long_words($arResult["FORUM_USER"][$key]); endforeach; /******************************************************************** Default values ********************************************************************/ $strErrorMessage = ""; $strOKMessage = ""; $arResult["UID"] = $arParams["UID"]; $arResult["FID"] = intVal($_REQUEST["FID"]); $arResult["TID"] = intVal($_REQUEST["TID"]); $arResult["MID"] = intVal($_REQUEST["MID"]); $arResult["IsAuthorized"] = $USER->IsAuthorized() ? "Y" : "N"; $arResult["IsAdmin"] = $USER->IsAdmin() ? "Y" : "N"; $arResult["ERROR_MESSAGE"] = ""; $arResult["OK_MESSAGE"] = ($_REQUEST["result"] == "message_send" ? GetMessage("F_OK_MESSAGE_SEND") : ""); $arResult["FORUMS"] = array(); $arResult["SHOW_BACK_URL"] = (($arResult["FID"] > 0 || $arResult["TID"] > 0 || $arResult["MID"] > 0) ? "Y" : "N"); $arResult["SHOW_USER_INFO"] = "Y"; // out of date params $arResult["SHOW_EDIT_PROFILE"] = ($USER->IsAuthorized() && ((intVal($USER->GetID()) == $arParams["UID"] && $USER->CanDoOperation('edit_own_profile')) || $USER->IsAdmin()) ? "Y" : "N"); $arResult["SHOW_VOTES"] = ((COption::GetOptionString("forum", "SHOW_VOTES", "Y") == "Y" && $USER->IsAuthorized() && ($GLOBALS["APPLICATION"]->GetGroupRight("forum") >= "W" || intVal($USER->GetParam("USER_ID"))!=$arParams["UID"])) ? "Y" : "N"); $arResult["SHOW_RANK"] = (COption::GetOptionString("forum", "SHOW_VOTES", "Y") == "Y" ? "Y" : "N"); /******************************************************************/ $arResult["SHOW_ICQ"] = ((COption::GetOptionString("forum", "SHOW_ICQ_CONTACT", "N") != "Y") ? "N" : (($arParams["SEND_ICQ"] <= "A" || ($arParams["SEND_ICQ"] <= "E" && !$GLOBALS['USER']->IsAuthorized())) ? "N" : "Y")); $arResult["SHOW_MAIL"] = $arParams["SHOW_MAIL"] = (($arParams["SEND_MAIL"] <= "A" || ($arParams["SEND_MAIL"] <= "E" && !$GLOBALS['USER']->IsAuthorized())) ? "N" : "Y");; /******************************************************************/ $arResult["CURRENT_PAGE"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $arParams["UID"])); $arResult["URL"] = array( "PROFILE" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE"], array("UID" => $arParams["UID"])), "PROFILE_VIEW" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $arParams["UID"])), "~PROFILE_VIEW" => CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $arParams["UID"])), "USER_EMAIL" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE_SEND"], array("UID" => $arParams["UID"], "TYPE"=>"mail")), "USER_ICQ" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE_SEND"], array("UID" => $arParams["UID"], "TYPE"=>"icq")), "USER_PM" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PM_EDIT"], array("FID" => 1, "MID" => 0, "UID" => $arParams["UID"], "mode"=>"new")), "TOPIC" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_READ"], array("FID" => $arResult["FID"], "TID" => $arResult["TID"], "MID" => $arResult["MID"])), "MESSAGE" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_READ"], array("FID" => $arResult["FID"], "TID" => $arResult["TID"], "MID" => $arResult["MID"])), "USER_POSTS" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_USER_POST"], array("UID" => $arParams["UID"], "mode"=>"all")), "USER_POSTS_MEMBER" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_USER_POST"], array("UID" => $arParams["UID"], "mode"=>"lt")), "USER_POSTS_AUTHOR" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_USER_POST"], array("UID" => $arParams["UID"], "mode"=>"lta")), "SUBSCRIBE" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_SUBSCR_LIST"], array("UID" => $arParams["UID"])), "~SUBSCRIBE" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_SUBSCR_LIST"], array("UID" => $arParams["UID"]))); $arResult["URL"]["VOTE"] = $arResult["URL"]["PROFILE_VIEW"]; /************** For custom ****************************************/ $arResult["profile"] = $arResult["URL"]["PROFILE"]; $arResult["profile_view"] = $arResult["URL"]["PROFILE_VIEW"]; $arResult["message_mail"] = $arResult["URL"]["USER_EMAIL"]; $arResult["message_icq"] = $arResult["URL"]["USER_ICQ"]; $arResult["read"] = $arResult["URL"]["TOPIC"]; $arResult["message"] = $arResult["URL"]["MESSAGE"]; $arResult["pm_edit"] = $arResult["URL"]["USER_PM"]; $arResult["user_post_lta"] = $arResult["URL"]["USER_POSTS_AUTHOR"]; $arResult["user_post_lt"] = $arResult["URL"]["USER_POSTS_MEMBER"]; $arResult["user_post_all"] = $arResult["URL"]["USER_POSTS"]; /******************************************************************** /Default values ********************************************************************/ /******************************************************************** Data ********************************************************************/ /************** Votings ********************************************/ if ($arResult["SHOW_VOTES"] == "Y"): if ($_GET["VOTE_USER"] == "Y" && $USER->IsAuthorized() && check_bitrix_sessid()): ForumVote4User($arParams["UID"], $_GET["VOTES"], (strlen($_GET["CANCEL_VOTE"]) > 0 ? True : False), $strErrorMessage, $strOKMessage); if (empty($strErrorMessage)): LocalRedirect($arResult["URL"]["~PROFILE_VIEW"]); endif; endif; $strNotesText = ""; $bCanVote = ($GLOBALS["APPLICATION"]->GetGroupRight("forum") >= "W"); $bCanUnVote = False; $arUserRank = CForumUser::GetUserRank(intVal($USER->GetParam("USER_ID"))); $arUserPoints = CForumUserPoints::GetByID(intVal($USER->GetParam("USER_ID")), $arParams["UID"]); if ($arUserPoints) { $bCanUnVote = True; $strNotesText .= str_replace("#POINTS#", $arUserPoints["POINTS"], str_replace("#END#", ForumNumberRusEnding($arUserPoints["POINTS"]), GetMessage("F_ALREADY_VOTED1"))).". \n"; if ($GLOBALS["APPLICATION"]->GetGroupRight("forum") >= "W") { $strNotesText .= GetMessage("F_ALREADY_VOTED_ADMIN"); } elseif (intVal($arUserPoints["POINTS"]) < intVal($arUserRank["VOTES"])) { $bCanVote = True; $strNotesText .= str_replace("#POINTS#", (intVal($arUserRank["VOTES"])-intVal($arUserPoints["POINTS"])), str_replace("#END#", ForumNumberRusEnding((intVal($arUserRank["VOTES"])-intVal($arUserPoints["POINTS"]))), GetMessage("F_ALREADY_VOTED3"))); } } elseif (intVal($arUserRank["VOTES"]) > 0 || $GLOBALS["APPLICATION"]->GetGroupRight("forum") >= "W") { $bCanVote = True; $strNotesText .= GetMessage("F_NOT_VOTED"); if ($GLOBALS["APPLICATION"]->GetGroupRight("forum") < "W") { $strNotesText .= str_replace("#POINTS#", $arUserRank["VOTES"], str_replace("#END#", ForumNumberRusEnding($arUserRank["VOTES"]), GetMessage("F_NOT_VOTED1"))).". \n"; } else { $strNotesText .= GetMessage("F_ALREADY_VOTED_ADMIN"); } } $arResult["bCanVote"] = $bCanVote; $arResult["bCanUnVote"] = $bCanUnVote; $arResult["titleVote"] = $strNotesText; $arResult["SHOW_VOTES"] = (strlen($strNotesText) > 0 || $bCanVote || $bCanUnVote ? "Y" : "N"); if ($GLOBALS["APPLICATION"]->GetGroupRight("forum") >= "W" && $bCanVote) $arResult["VOTES"] = intVal($arUserRank["VOTES"]); if ($bCanUnVote): $arResult["VOTE_ACTION"] = "UNVOTE"; $arResult["URL"]["VOTE"] = $APPLICATION->GetCurPageParam("CANCEL_VOTE=Y&VOTE_USER=Y&sessid=".bitrix_sessid(), array("sessid", "VOTE_USER", "VOTES", "CANCEL_VOTE")); else: $arResult["VOTE_ACTION"] = "VOTE"; $arResult["URL"]["VOTE"] = $APPLICATION->GetCurPageParam("VOTE_USER=Y&sessid=".bitrix_sessid(), array("sessid", "VOTE_USER", "VOTES", "CANCEL_VOTE")); endif; endif; /*******************************************************************/ if (strLen($arResult["FORUM_USER"]["DATE_REG"]) > 0) $arResult["FORUM_USER"]["DATE_REG_FORMATED"] = CForumFormat::DateFormat($arParams["DATE_FORMAT"], MakeTimeStamp($arResult["FORUM_USER"]["DATE_REG"], CSite::GetDateFormat())); if (strLen($arResult["FORUM_USER"]["LAST_VISIT"]) > 0) $arResult["FORUM_USER"]["LAST_VISIT_FORMATED"] = CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($arResult["FORUM_USER"]["LAST_VISIT"], CSite::GetDateFormat())); $arResult["~SHOW_NAME"] = trim($arResult["USER"]["~NAME"]." ".$arResult["USER"]["~LAST_NAME"]); if (!($arResult["FORUM_USER"]["SHOW_NAME"] == "Y" && !empty($arResult["~SHOW_NAME"]))) $arResult["~SHOW_NAME"] = $arResult["USER"]["~LOGIN"]; $arResult["SHOW_NAME"] = htmlspecialcharsEx($arResult["~SHOW_NAME"]); $arResult["SHOW_EDIT_PROFILE_TITLE"] = (intVal($USER->GetID())!=$arParams["UID"]) ? GetMessage("F_EDIT_THIS_PROFILE") : GetMessage("F_EDIT_YOUR_PROFILE"); $arResult["SHOW_EDIT_PROFILE_TITLE_BOTTOM"] = ((intVal($USER->GetID())!=$arParams["UID"]) ? GetMessage("F_TO_CHANGE2") : GetMessage("F_TO_CHANGE3"))." ".GetMessage("F_TO_CHANGE4"); if (strlen($arResult["USER"]["PERSONAL_WWW"]) > 0) { $arResult["USER"]["PERSONAL_WWW_FORMATED"] = $arResult["USER"]["PERSONAL_WWW"]; $strBValueTmp = substr($arResult["USER"]["PERSONAL_WWW_FORMATED"], 0, 6); if ($strBValueTmp!="http:/" && $strBValueTmp!="https:" && $strBValueTmp!="ftp://") $arResult["USER"]["PERSONAL_WWW_FORMATED"] = "http://".$arResult["USER"]["PERSONAL_WWW_FORMATED"]; $arResult["USER"]["PERSONAL_WWW"] = "<a href=\"".$arResult["USER"]["PERSONAL_WWW_FORMATED"]."\" target=\"_blank\">".$arResult["USER"]["PERSONAL_WWW_FORMATED"]."</a>"; } if (strlen($arResult["USER"]["WORK_WWW"]) > 0) { $arResult["USER"]["WORK_WWW_FORMATED"] = $arResult["USER"]["WORK_WWW"]; $strBValueTmp = substr($arResult["USER"]["WORK_WWW_FORMATED"], 0, 6); if ($strBValueTmp!="http:/" && $strBValueTmp!="https:" && $strBValueTmp!="ftp://") $arResult["USER"]["WORK_WWW_FORMATED"] = "http://".$arResult["USER"]["WORK_WWW_FORMATED"]; $arResult["USER"]["WORK_WWW"] = "<a href=\"".$arResult["USER"]["WORK_WWW_FORMATED"]."\" target=\"_blank\">".$arResult["USER"]["WORK_WWW_FORMATED"]."</a>"; } if ($arResult["USER"]["PERSONAL_GENDER"]=="M") $arResult["USER"]["PERSONAL_GENDER"] = GetMessage("F_SEX_MALE"); elseif ($arResult["USER"]["PERSONAL_GENDER"]=="F") $arResult["USER"]["PERSONAL_GENDER"] = GetMessage("F_SEX_FEMALE"); $arResult["USER"]["PERSONAL_LOCATION"] = GetCountryByID($arResult["USER"]["PERSONAL_COUNTRY"]); if (strlen($arResult["USER"]["PERSONAL_LOCATION"])>0 && strlen($arResult["USER"]["PERSONAL_CITY"])>0) $arResult["USER"]["PERSONAL_LOCATION"] .= ", "; $arResult["USER"]["PERSONAL_LOCATION"] .= $arResult["USER"]["PERSONAL_CITY"]; $arResult["USER"]["WORK_LOCATION"] = GetCountryByID($arResult["USER"]["WORK_COUNTRY"]); if (strlen($arResult["USER"]["WORK_LOCATION"])>0 && strlen($arResult["USER"]["WORK_CITY"])>0) $arResult["USER"]["WORK_LOCATION"] .= ", "; $arResult["USER"]["WORK_LOCATION"] .= $arResult["USER"]["WORK_CITY"]; $arAllow = array("HTML" => "N", "ANCHOR" => "Y","BIU" => "Y", "IMG" => "Y", "VIDEO" => "Y", "LIST" => "Y", "QUOTE" => "Y", "CODE" => "Y", "FONT" => "Y", "SMILES" => "N", "NL2BR" => "Y"); $arResult["FORUM_USER"]["INTERESTS"] = $parser->convert($arResult["FORUM_USER"]["INTERESTS"], $arAllow); $arResult["FORUM_USER"]["AVATAR"] = ""; if (strlen($arResult["FORUM_USER"]["~AVATAR"]) > 0): $arResult["FORUM_USER"]["AVATAR_FILE"] = CFile::GetFileArray($arResult["FORUM_USER"]["~AVATAR"]); if ($arResult["FORUM_USER"]["AVATAR_FILE"] !== false) $arResult["FORUM_USER"]["AVATAR"] = CFile::ShowImage($arResult["FORUM_USER"]["AVATAR_FILE"]["SRC"], COption::GetOptionString("forum", "avatar_max_width", 90), COption::GetOptionString("forum", "avatar_max_height", 90), "border=0", "", true); endif; $arResult["USER"]["PERSONAL_PHOTO"] = ""; if (strlen($arResult["USER"]["~PERSONAL_PHOTO"])>0): $arResult["USER"]["PERSONAL_PHOTO_FILE"] = CFile::GetFileArray($arResult["USER"]["~PERSONAL_PHOTO"]); if ($arResult["USER"]["PERSONAL_PHOTO_FILE"] !== false) $arResult["USER"]["PERSONAL_PHOTO"] = CFile::ShowImage($arResult["USER"]["PERSONAL_PHOTO_FILE"]["SRC"], 200, 200, "border=0 alt=\"\"", "", true); endif; /************** Getting User rank **********************************/ $arResult["USER_RANK"] = ""; $arResult["USER_RANK_CODE"] = ""; $arFilter = array(); if ($arParams["SHOW_FORUM_ANOTHER_SITE"] == "N" || $GLOBALS["APPLICATION"]->GetGroupRight("forum") < "W") $arFilter["LID"] = SITE_ID; if (!empty($arParams["FID_RANGE"])) $arFilter["@ID"] = $arParams["FID_RANGE"]; if ($GLOBALS["APPLICATION"]->GetGroupRight("forum") < "W"): $arFilter["PERMS"] = array($USER->GetGroups(), 'A'); $arFilter["ACTIVE"] = "Y"; endif; $db_res = CForumNew::GetList(array(), $arFilter); if ($db_res && ($res = $db_res->GetNext())): $arUserGroup = CUser::GetUserGroup($arParams["UID"]); $arUserPerm = array(); do { $arResult["FORUMS"][$res["ID"]] = $res; $arUserPerm[] = CForumNew::GetUserPermission($res["ID"], $arUserGroup); }while ($res = $db_res->GetNext()); rsort($arUserPerm); if ($arUserPerm[0] == "Q"): $arResult["USER_RANK"] = $GLOBALS["FORUM_STATUS_NAME"]["moderator"]; $arResult["USER_RANK_CODE"] = 'moderator'; elseif ($arUserPerm[0] == "U"): $arResult["USER_RANK"] = $GLOBALS["FORUM_STATUS_NAME"]["editor"]; $arResult["USER_RANK_CODE"] = 'editor'; elseif ($arUserPerm[0] == "Y"): $arResult["USER_RANK"] = $GLOBALS["FORUM_STATUS_NAME"]["administrator"]; $arResult["USER_RANK_CODE"] = 'administrator'; endif; endif; if ($arResult["SHOW_RANK"] == "Y"): $arRank = CForumUser::GetUserRank($arParams["UID"], LANGUAGE_ID); if (empty($arResult["USER_RANK"])): $arResult["USER_RANK"] = $arRank["NAME"]; $arResult["USER_RANK_CODE"] = $arRank["CODE"]; endif; $arRank["NAME"] = $arResult["USER_RANK"]; $arResult["arRank"] = $arRank; $arResult["SHOW_POINTS"] = "N"; if ($USER->IsAuthorized() && ($GLOBALS["APPLICATION"]->GetGroupRight("forum") >= "W" || intVal($USER->GetParam("USER_ID"))==$arParams["UID"])) { $arResult["SHOW_POINTS"] = "Y"; $arResult["USER_POINTS"] = (intVal($arRank["VOTES"])>0 ? intVal($arRank["VOTES"]) : GetMessage("F_NO_VOTES")); } endif; if (empty($arResult["USER_RANK"])): $arResult["USER_RANK"] = $GLOBALS["FORUM_STATUS_NAME"]["user"]; $arResult["USER_RANK_CODE"] = 'user'; endif; /*******************************************************************/ $arResult["arTopic"] = "N"; if (!empty($arResult["FORUMS"])): $arFilter = array("AUTHOR_ID" => $arParams["UID"], "@FORUM_ID" => array_keys($arResult["FORUMS"])); $db_res = CForumUser::UserAddInfo(array("LAST_POST"=>"DESC"), $arFilter, "topics"); if ($db_res && $res = $db_res->GetNext()) { $res["TITLE"] = $parser->wrap_long_words($res["TITLE"]); $res["DESCRIPTION"] = $parser->wrap_long_words($res["DESCRIPTION"]); $res["LAST_POST_DATE"] = CForumFormat::DateFormat($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($res["LAST_POST_DATE"], CSite::GetDateFormat())); $arResult["arTopic"] = $res; $arResult["arTopic"]["read"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_MESSAGE"], array("FID" => $res["FORUM_ID"], "TID" => $res["TOPIC_ID"], "MID" => intVal($res["LAST_POST"])))."#message".intVal($res["LAST_POST"]); } endif; /************** User properties ************************************/ $arResult["USER_PROPERTIES"] = array("SHOW" => "N"); if (!empty($arParams["USER_PROPERTY"])) { $arUserFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("USER", $arParams["UID"], LANGUAGE_ID); if (count($arParams["USER_PROPERTY"]) > 0) { foreach ($arUserFields as $FIELD_NAME => $arUserField) { if (!in_array($FIELD_NAME, $arParams["USER_PROPERTY"])) continue; $arUserField["EDIT_FORM_LABEL"] = strLen($arUserField["EDIT_FORM_LABEL"]) > 0 ? $arUserField["EDIT_FORM_LABEL"] : $arUserField["FIELD_NAME"]; $arUserField["EDIT_FORM_LABEL"] = htmlspecialcharsEx($arUserField["EDIT_FORM_LABEL"]); $arUserField["~EDIT_FORM_LABEL"] = $arUserField["EDIT_FORM_LABEL"]; $arResult["USER_PROPERTIES"]["DATA"][$FIELD_NAME] = $arUserField; } } if (!empty($arResult["USER_PROPERTIES"]["DATA"])) $arResult["USER_PROPERTIES"]["SHOW"] = "Y"; } /*******************************************************************/ $arResult["ERROR_MESSAGE"] .= $strErrorMessage; $arResult["OK_MESSAGE"] .= $strOKMessage; /*******************************************************************/ foreach ($arResult["USER"] as $key => $val): if (substr($key, 0, 1) == "~") $arResult["~f_".substr($key, 1)] = $val; else $arResult["f_".$key] = $val; endforeach; foreach ($arResult["FORUM_USER"] as $key => $val): if (substr($key, 0, 1) == "~") $arResult["~fu_".substr($key, 1)] = $val; else $arResult["fu_".$key] = $val; endforeach; /******************************************************************** Data ********************************************************************/ if ($arParams["SET_NAVIGATION"] != "N") $APPLICATION->AddChainItem($arResult["~SHOW_NAME"]); if ($arParams["SET_TITLE"] != "N") $APPLICATION->SetTitle($arResult["SHOW_NAME"]); /*******************************************************************/ $this->IncludeComponentTemplate(); ?>