コード例 #1
0
ファイル: component.php プロジェクト: rasuldev/torino
global $CACHE_MANAGER;
$cache_path = $CACHE_MANAGER->GetCompCachePath(CComponentEngine::MakeComponentPath($this->__name));
$arCacheID = array($arResult["PERMISSION"] < "Q", $arParams['FID'], CTimeZone::GetOffset(), $by => $order);
$cache_id = "forum_topics_" . md5(serialize($arCacheID));
if ($PAGEN == null && $arParams["CACHE_TIME"] > 0 && defined("BX_COMP_MANAGED_CACHE")) {
    if ($cache->InitCache($arParams["CACHE_TIME"], $cache_id, $cache_path)) {
        $res = $cache->GetVars();
        $arResult["Topics"] = $res["Topics"];
        $arResult["NAV_STRING"] = $res['NAV_STRING'];
        $arResult["NAV_PAGE"] = $res['NAV_PAGE'];
        // get last_visit dates
        $arTopics = array();
        foreach ($arResult['Topics'] as $arTopic) {
            $arTopics[] = $arTopic['ID'];
        }
        $arVisit = CForumUser::GetUserTopicVisits($arParams["FID"], $arTopics);
        if (!empty($arVisit)) {
            foreach ($arResult['Topics'] as $topicIndex => $arTopic) {
                if (isset($arVisit[$arTopic['ID']])) {
                    $arResult['Topics'][$topicIndex]['LAST_VISIT'] = $arVisit[$arTopic['ID']];
                }
            }
        }
    }
}
/*******************************************************************
				/ CACHE
*******************************************************************/
if (empty($arResult["Topics"])) {
    /*******************************************************************/
    $db_res = CForumTopic::GetListEx(array("SORT" => "ASC", $by => $order), $arFilter, false, false, array("bDescPageNumbering" => $arParams["USE_DESC_PAGE"] == "Y", "nPageSize" => $arParams["TOPICS_PER_PAGE"], "bShowAll" => false, "sNameTemplate" => $arParams["NAME_TEMPLATE"]));