Esempio n. 1
0
                    $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);
    $this->EndResultCache();
    $arResult['TOPICS'] = $arTopics;
    $arResult['FORUMS'] = $arForums;
} else {