コード例 #1
0
 // attach
 $res["ATTACH_IMG"] = "";
 $res["FILES"] = array();
 $res["~ATTACH_FILE"] = array();
 $res["ATTACH_FILE"] = array();
 /************** Message info/***************************************/
 /************** Author info ****************************************/
 $res["AUTHOR_ID"] = intVal($res["AUTHOR_ID"]);
 $res["AUTHOR_NAME"] = $parser->wrap_long_words($res["AUTHOR_NAME"]);
 if ($res["AUTHOR_ID"] <= 0) {
     // Status
     list($res["AUTHOR_STATUS_CODE"], $res["AUTHOR_STATUS"]) = ForumGetUserForumStatus(0);
 } else {
     if (!array_key_exists($res["AUTHOR_ID"], $UserInfo)) {
         $perm = CForumNew::GetUserPermission($res["FORUM_ID"], CUser::GetUserGroup($res["AUTHOR_ID"]));
         $arUser = array("Perms" => $perm, "Rank" => $perm <= "Q" ? CForumUser::GetUserRank($res["AUTHOR_ID"], LANGUAGE_ID) : "", "Points" => !empty($res["POINTS"]) ? array("POINTS" => $res["POINTS"], "DATE_UPDATE" => $res["DATE_UPDATE"]) : false);
         $arUData = array();
         // Status
         list($arUData["AUTHOR_STATUS_CODE"], $arUData["AUTHOR_STATUS"]) = ForumGetUserForumStatus($res["AUTHOR_ID"], $arUser["Perms"], $arUser);
         // Avatar
         if (!empty($res["AVATAR"])) {
             $arUData["AVATAR"] = array("ID" => $res["~AVATAR"], "FILE" => CFile::GetFileArray($res["~AVATAR"]));
             $arUData["AVATAR"]["HTML"] = CFile::ShowImage($arUData["AVATAR"]["FILE"], COption::GetOptionString("forum", "avatar_max_width", 90), COption::GetOptionString("forum", "avatar_max_height", 90), "border=\"0\"", "", true);
         }
         // Voting
         $arUData["VOTING"] = "N";
         if (COption::GetOptionString("forum", "SHOW_VOTES", "Y") == "Y" && $USER->IsAuthorized() && ($GLOBALS["APPLICATION"]->GetGroupRight("forum") >= "W" || $USER->GetID() != $res["AUTHOR_ID"])) {
             $bUnVote = $arUser["Points"];
             $bVote = !$arUser["Points"] ? $arResult["USER"]["RANK"]["VOTES"] : intval($arUser["Points"]["POINTS"]) < intval($arResult["USER"]["RANK"]["VOTES"]);
             $bVote = $bVote ? $bVote : $GLOBALS["APPLICATION"]->GetGroupRight("forum") >= "W";
             $arUData["VOTING"] = $bVote ? "VOTE" : ($bUnVote ? "UNVOTE" : "N");
コード例 #2
0
ファイル: component.php プロジェクト: spas-viktor/books
$arResult["FORUMS_ALL"] = $arForums;
/********************************************************************
				Default params
********************************************************************/
$arResult["user_list"] = CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_USER_LIST"], array());
$arResult["SHOW_RESULT"] = "N";
$arResult["GROUPS"] = CForumGroup::GetByLang(LANGUAGE_ID);
$arResult["USER"]["URL"] = array("PROFILE" => CComponentEngine::MakePathFromTemplate($arParams["URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $arParams["UID"])), "~PROFILE" => CComponentEngine::MakePathFromTemplate($arParams["~URL_TEMPLATES_PROFILE_VIEW"], array("UID" => $arParams["UID"])));
if (!empty($arResult["USER"]["AVATAR"])) {
    $arResult["USER"]["~AVATAR"] = array("ID" => $arResult["USER"]["AVATAR"], "FILE" => CFile::GetFileArray($arResult["USER"]["AVATAR"]));
    $arResult["USER"]["~AVATAR"]["HTML"] = CFile::ShowImage($arResult["USER"]["~AVATAR"]["FILE"], COption::GetOptionString("forum", "avatar_max_width", 90), COption::GetOptionString("forum", "avatar_max_height", 90), "border=\"0\"", "", true);
    $arResult["USER"]["AVATAR"] = $arResult["USER"]["~AVATAR"]["HTML"];
}
$arResult["USER"]["DATE_REG"] = !empty($arResult["USER"]["DATE_REG"]) ? CForumFormat::DateFormat($arParams["DATE_FORMAT"], MakeTimeStamp($arResult["USER"]["DATE_REG"], CSite::GetDateFormat())) : $arResult["USER"]["DATE_REG"];
$arResult["USER"]["GROUPS"] = CUser::GetUserGroup($arParams["UID"]);
$arResult["USER"]["RANK"] = CForumUser::GetUserRank($arParams["UID"], LANGUAGE_ID);
$arResult["PARSER"] = new forumTextParser(LANGUAGE_ID, $arParams["PATH_TO_SMILE"]);
$arResult["PARSER"]->MaxStringLen = $arParams["WORD_LENGTH"];
$arResult["PARSER"]->image_params["width"] = $arResult["PARSER"]->image_params["height"] = $arParams["IMAGE_SIZE"];
$arResult["PARSER"]->userPath = $arParams["URL_TEMPLATES_PROFILE_VIEW"];
$arResult["PARSER"]->userNameTemplate = $arParams["NAME_TEMPLATE"];
$arTopics = array();
$arTopicNeeded = array();
$forums = array();
$topics = array();
$arFilterFromForm = array();
$FilterMess = array();
$FilterMessLast = array();
$arForum_posts = array();
$arResult["MESSAGE_LIST"] = array();
$arResult["FORUMS"] = array();
コード例 #3
0
ファイル: component.php プロジェクト: mrdeadmouse/u136006
}
if (!CForumUser::IsAdmin()) {
    $arFilter["PERMS"] = array($USER->GetGroups(), 'A');
    $arFilter["ACTIVE"] = "Y";
}
$arUserPerm = array();
$db_res = CForumNew::GetList(array(), $arFilter);
if ($db_res && ($res = $db_res->GetNext())) {
    $arUserGroup = CUser::GetUserGroup($arParams["UID"]);
    do {
        $arResult["FORUMS"][$res["ID"]] = $res;
        $arUserPerm[] = CForumNew::GetUserPermission($res["ID"], $arUserGroup);
    } while ($res = $db_res->GetNext());
}
rsort($arUserPerm);
$arRank = CForumUser::GetUserRank($arParams["UID"], LANGUAGE_ID);
list($arResult["USER_RANK_CODE"], $arResult["USER_RANK"]) = ForumGetUserForumStatus($arParams["UID"], $arUserPerm[0], array("Rank" => $arRank));
$arResult["SHOW_POINTS"] = "N";
$arResult["arRank"] = array_merge(is_array($arRank) ? $arRank : array(), array("NAME" => $arResult["USER_RANK"]));
if ($USER->IsAuthorized() && (CForumUser::IsAdmin() || intval($USER->GetID()) == $arParams["UID"])) {
    $arResult["SHOW_POINTS"] = "Y";
    $arResult["USER_POINTS"] = !empty($arRank["VOTES"]) ? intval($arRank["VOTES"]) : GetMessage("F_NO_VOTES");
}
/*******************************************************************/
$arResult["arTopic"] = "N";
if (!empty($arResult["FORUMS"])) {
    $db_res = CForumUser::UserAddInfo(array("LAST_POST" => "DESC"), array("AUTHOR_ID" => $arParams["UID"], "@FORUM_ID" => array_keys($arResult["FORUMS"])), "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()));
コード例 #4
0
ファイル: component.php プロジェクト: ASDAFF/bitrix-5
/************** Author info ****************************************/
	$res["AUTHOR_ID"] = intVal($res["AUTHOR_ID"]);
	$res["AUTHOR_NAME"] = $parser->wrap_long_words($res["AUTHOR_NAME"]);
	if ($res["AUTHOR_ID"] <= 0)
	{
		// Status
		list($res["AUTHOR_STATUS_CODE"], $res["AUTHOR_STATUS"]) = ForumGetUserForumStatus(0);
	}
	else
	{
		if (!array_key_exists($res["AUTHOR_ID"], $UserInfo))
		{
			$perm = CForumNew::GetUserPermission($res["FORUM_ID"], CUser::GetUserGroup($res["AUTHOR_ID"]));
			$arUser = array(
				"Perms" => $perm,
				"Rank" => ($perm <= "Q" ? CForumUser::GetUserRank($res["AUTHOR_ID"], LANGUAGE_ID) : ""),
				"Points" => (intVal($res["POINTS"]) > 0 ? array("POINTS" => $res["POINTS"], "DATE_UPDATE" => $res["DATE_UPDATE"]) : false));

			$arUData = array();

			// Status
			list($arUData["AUTHOR_STATUS_CODE"], $arUData["AUTHOR_STATUS"]) = ForumGetUserForumStatus($res["AUTHOR_ID"], $arUser["Perms"], $arUser);

			// Avatar
			if (!empty($res["AVATAR"])):
				$arUData["AVATAR"] = array("ID" => $res["~AVATAR"], "FILE" => CFile::GetFileArray($res["~AVATAR"]));
				$arUData["AVATAR"]["HTML"] = CFile::ShowImage($arUData["AVATAR"]["FILE"],
					COption::GetOptionString("forum", "avatar_max_width", 90),
					COption::GetOptionString("forum", "avatar_max_height", 90), "border=\"0\"", "", true);
			endif;
			// Voting
コード例 #5
0
ファイル: include.php プロジェクト: DarneoStudio/bitrix
function ForumGetUserForumStatus($userID = false, $perm = false, $arAdditionalParams = array())
{
    $arStatuses = array("guest" => array("guest", $GLOBALS["FORUM_STATUS_NAME"]["guest"]), "user" => array("user", $GLOBALS["FORUM_STATUS_NAME"]["user"]), "Q" => array("moderator", $GLOBALS["FORUM_STATUS_NAME"]["moderator"]), "U" => array("editor", $GLOBALS["FORUM_STATUS_NAME"]["editor"]), "Y" => array("administrator", $GLOBALS["FORUM_STATUS_NAME"]["administrator"]));
    $res = $userID === false ? $arStatuses : $arStatuses["guest"];
    if (!empty($userID)) {
        $res = $arStatuses["user"];
        if ($arStatuses[$perm]) {
            $res = $arStatuses[$perm];
        } else {
            $arRank = is_set($arAdditionalParams, "Rank") ? $arAdditionalParams["Rank"] : CForumUser::GetUserRank($userID, LANGUAGE_ID);
            if (is_array($arRank) && $arRank["NAME"]) {
                $res = array($arRank["CODE"], $arRank["NAME"]);
            }
        }
    }
    return $res;
}
コード例 #6
0
                        do {
                            $arUserGroup = CUser::GetUserGroup($res["USER_ID"]);
                            if (!in_array(2, $arUserGroup)) {
                                $arUserGroup[] = 2;
                            }
                            sort($arUserGroup);
                            $UserP = array();
                            $UserPermStr = "";
                            foreach ($Forums as $forum) {
                                $UserP[] = CForumNew::GetUserPermission($forum["ID"], $arUserGroup);
                            }
                            rsort($UserP);
                            if (array_key_exists($UserP[0], $ForumsPerms)) {
                                $UserPermStr = $ForumsPerms[$UserP[0]];
                            } elseif (COption::GetOptionString("forum", "SHOW_VOTES", "Y") == "Y") {
                                $arUserRank = CForumUser::GetUserRank($res["USER_ID"], LANGUAGE_ID);
                                $UserPermStr = $arUserRank["NAME"];
                            }
                            $UserPermStr = strlen(trim($UserPermStr)) > 0 ? $UserPermStr : $ForumsPerms["user"];
                            ?>
<tr class="forumbody">
								<td align="left" class="forumbodytext"><a href="view_profile.php?UID=<?php 
                            echo $res["USER_ID"];
                            ?>
" title="<?php 
                            echo GetMessage("FMI_FORUM_PROFILE");
                            ?>
"><?php 
                            echo $res["SHOW_ABC"];
                            ?>
</a></td>
コード例 #7
0
	</table>
	<font style="font-size:4px;">&nbsp;<br></font>
	<form name="FORUM_MESSAGES" id="FORUM_MESSAGES">
	<table width="100%" border="0" cellspacing="0" cellpadding="5">
	<?php 
    while ($arMessage = $db_Message->Fetch()) {
        $arUser = array();
        //*************************!***************************************************************************************
        if ($arMessage["AUTHOR_ID"] > 0 && !isset($UserInfo[$arMessage["AUTHOR_ID"]])) {
            $arUser["Groups"] = CUser::GetUserGroup($arMessage["AUTHOR_ID"]);
            if (!in_array(2, $arUser["Groups"])) {
                $arUser["Groups"][] = 2;
            }
            $arUser["Perms"] = CForumNew::GetUserPermission($arMessage["FORUM_ID"], $arUser["Groups"]);
            if ($arUser["Perms"] <= "Q" && COption::GetOptionString("forum", "SHOW_VOTES", "Y") == "Y") {
                $arUser["Rank"] = CForumUser::GetUserRank($arMessage["AUTHOR_ID"], LANGUAGE_ID);
            }
            if (intVal($arMessage["POINTS"]) > 0) {
                $arUser["Points"] = array("POINTS" => $arMessage["POINTS"], "DATE_UPDATE" => $arMessage["DATE_UPDATE"]);
            } else {
                $arUser["Points"] = false;
            }
            $UserInfo[$arMessage["AUTHOR_ID"]] = $arUser;
        } elseif ($arMessage["AUTHOR_ID"] > 0 && isset($UserInfo[$arMessage["AUTHOR_ID"]])) {
            $arUser = $UserInfo[$arMessage["AUTHOR_ID"]];
        }
        $arMessage["AUTHOR_ID"] = intVal($arMessage["AUTHOR_ID"]);
        $arMessage["FOR_JS"]["AUTHOR_NAME"] = Cutil::JSEscape(htmlspecialchars($arMessage["AUTHOR_NAME"]));
        $arMessage["FOR_JS"]["POST_MESSAGE"] = Cutil::JSEscape(htmlspecialchars($arMessage["POST_MESSAGE"]));
        ?>
<tr valign="top" class="forumbody">
コード例 #8
0
				</td>
				<td class="forumbodytext" width="20%" rowspan="25"><?php 
        if (strlen($fu_AVATAR) > 0) {
            echo CFile::ShowImage($fu_AVATAR, 200, 200, "border=0", "", true);
        }
        ?>
&nbsp;</td>
				<td class="forumbodytext" width="20%" rowspan="25"><?php 
        if (strlen($f_PERSONAL_PHOTO) > 0) {
            echo CFile::ShowImage($f_PERSONAL_PHOTO, 200, 200, "border=0", "", true);
        }
        ?>
&nbsp;</td>
		</tr><?php 
        if (COption::GetOptionString("forum", "SHOW_VOTES", "Y") == "Y") {
            $arRank = CForumUser::GetUserRank($UID, LANG_ADMIN_LID);
            ?>
			<tr valign="top" class="forumbody">
				<td class="forumbodytext" width="20%"><?php 
            echo GetMessage("FV_ZVA");
            ?>
</td>
				<td class="forumbodytext" width="30%"><?php 
            echo $arRank["NAME"];
            if ($USER->IsAuthorized() && ($USER->IsAdmin() || IntVal($USER->GetParam("USER_ID")) == $UID)) {
                echo "<br>" . GetMessage("FV_NUM_POINTS") . $fu_POINTS;
                echo "<br>" . GetMessage("FV_NUM_VOTES") . (IntVal($arRank["VOTES"]) > 0 ? IntVal($arRank["VOTES"]) : GetMessage("FV_NO_VOTES"));
            }
            ?>
&nbsp;</td>
			</tr>