Esempio n. 1
0
                 $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);