$files[$res["MESSAGE_ID"]] = $files[$res["MESSAGE_ID"]] ?: array(); $files[$res["MESSAGE_ID"]][$res["FILE_ID"]] = $res; } if (!empty($arParams["USER_FIELDS"])) { $db_props = CForumMessage::GetList(array("ID" => "ASC"), array("@ID" => $ids), false, 0, array("SELECT" => $arParams["USER_FIELDS"])); while ($res = $db_props->Fetch()) { $props[$res["ID"]] = array_intersect_key($res, array_flip($arParams["USER_FIELDS"])); } } $arAllow = array("HTML" => $arParams["ALLOW_HTML"], "ANCHOR" => $arParams["ALLOW_ANCHOR"], "BIU" => $arParams["ALLOW_BIU"], "IMG" => $arParams["ALLOW_IMG"], "VIDEO" => $arParams["ALLOW_VIDEO"], "LIST" => $arParams["ALLOW_LIST"], "QUOTE" => $arParams["ALLOW_QUOTE"], "CODE" => $arParams["ALLOW_CODE"], "FONT" => $arParams["ALLOW_FONT"], "SMILES" => $arParams["ALLOW_SMILES"], "NL2BR" => $arParams["ALLOW_NL2BR"], "TABLE" => $arParams["ALLOW_TABLE"], "UPLOAD" => $arParams["ALLOW_UPLOAD"], "ALIGN" => $arParams["ALLOW_ALIGN"]); foreach ($arTopics as &$topic) { $topic['MESSAGE']["POST_MESSAGE_TEXT"] = $parser->convert($topic['MESSAGE']["~POST_MESSAGE_TEXT"], array_merge($arAllow, array("SMILES" => $topic["MESSAGE"]["USE_SMILES"] == "Y" ? $arParams["ALLOW_SMILES"] : "N", "USERFIELDS" => $props[$topic["MESSAGE"]["ID"]])), "html", $files[$topic["MESSAGE"]["ID"]]); if ($arParams['TOPIC_POST_MESSAGE_LENGTH'] > 0) { $symbols_len = strlen(strip_tags($topic['MESSAGE']["POST_MESSAGE_TEXT"])); if ($symbols_len > $arParams['TOPIC_POST_MESSAGE_LENGTH']) { $strip_text = $parser->strip_words($topic['MESSAGE']["POST_MESSAGE_TEXT"], $arParams['TOPIC_POST_MESSAGE_LENGTH']); if ($symbols_len > $arParams['TOPIC_POST_MESSAGE_LENGTH']) { $strip_text = $strip_text . "..."; } $topic['MESSAGE']["POST_MESSAGE_TEXT"] = $parser->closetags($strip_text); } } $topic['MESSAGE']["FILES"] = $files[$topic["MESSAGE"]["ID"]]; $topic['MESSAGE']["FILES_PARSED"] = $parser->arFilesIDParsed; unset($topic["MESSAGE"]["USE_SMILES"]); } } } } $arResult['TOPICS'] = CForumCacheManager::Compress($arTopics); $arResult['FORUMS'] = CForumCacheManager::Compress($arForums);