Esempio n. 1
0
         $GLOBALS["APPLICATION"]->AddChainItem($arSectionPath4Cache[$i][0], $arSectionPath4Cache[$i][1]);
     }
     $cache->Output();
 } else {
     if ($CACHE_TIME > 0) {
         $cache->StartDataCache($CACHE_TIME, $cache_id, "/" . SITE_ID . "/catalog/uni_section.php/");
     }
     $arSectionPath4Cache = array();
     $arFolder = False;
     $dbIBlock = CIBlock::GetByID($IBLOCK_ID);
     if ($arIBlock = $dbIBlock->Fetch()) {
         if (strlen($DETAIL_PAGE_TEMPLATE) <= 0) {
             $DETAIL_PAGE_TEMPLATE = $arIBlock["DETAIL_PAGE_URL"];
         }
         if ($bDisplayPanel) {
             CIBlock::ShowPanel($IBLOCK_ID, 0, $ID, $arIBlock["IBLOCK_TYPE_ID"]);
         }
         $strPath_tmp = UNI_SECTION_MakeRealPath($LIST_PAGE_TEMPLATE, array("IBLOCK_ID" => $IBLOCK_ID, "ID" => 0));
         $GLOBALS["APPLICATION"]->AddChainItem($arIBlock["NAME"], $strPath_tmp);
         $arSectionPath4Cache[] = array($arIBlock["NAME"], $strPath_tmp);
         if (IntVal($ID) > 0) {
             $dbFolder = CIBlockSection::GetByID($ID);
             if ($arFolder = $dbFolder->Fetch()) {
                 $dbSectionPath = CIBlockSection::GetNavChain($IBLOCK_ID, $ID);
                 while ($arSectionPath = $dbSectionPath->Fetch()) {
                     $strPath_tmp = UNI_SECTION_MakeRealPath($LIST_PAGE_TEMPLATE, array("IBLOCK_ID" => $IBLOCK_ID, "ID" => $arSectionPath["ID"]));
                     $GLOBALS["APPLICATION"]->AddChainItem($arSectionPath["NAME"], $strPath_tmp);
                     $arSectionPath4Cache[] = array($arSectionPath["NAME"], $strPath_tmp);
                 }
             }
         }
Esempio n. 2
0
				<tr>
					<td>' . htmlspecialcharsbx($matches[3]) . '</td>
				</tr>
			</table>
		');
    }
}
global $APPLICATION, $USER;
foreach ($arResult['ITEMS'] as $key => $val) {
    $arResult['ITEMS'][$key]["DETAIL_TEXT"] = preg_replace_callback("/(<|\\[)CODE(>|\\])(.+?)(<|\\[)\\/CODE(>|\\])/is", code_replace_func, $arResult['ITEMS'][$key]["DETAIL_TEXT"]);
    if (strtoupper($arResult['ITEMS'][$key]["PREVIEW_TEXT_TYPE"]) == "TEXT") {
        $arResult['ITEMS'][$key]["PREVIEW_TEXT"] = nl2br($arResult['ITEMS'][$key]["PREVIEW_TEXT"]);
    }
    if (strtoupper($arResult['ITEMS'][$key]["DETAIL_TEXT_TYPE"]) == "TEXT") {
        $arResult['ITEMS'][$key]["DETAIL_TEXT"] = nl2br($arResult['ITEMS'][$key]["DETAIL_TEXT"]);
    }
    //create button
    if ($USER->IsAuthorized()) {
        if ($APPLICATION->GetShowIncludeAreas()) {
            $ar = CIBlock::ShowPanel($arParams['IBLOCK_ID'], $val['ID'], 0, $arParams["IBLOCK_TYPE"], true);
            if (is_array($ar)) {
                foreach ($ar as $arButton) {
                    if (preg_match("/[^A-Z0-9_]ID=\\d+/", $arButton["URL"])) {
                        $arButton["URL"] = preg_replace("/&return_url=(.+?)&/", "&", $arButton["URL"]);
                        $arResult['ITEMS'][$key]['EDIT_BUTTON'] = '<a href="' . htmlspecialcharsbx($arButton["URL"]) . '" title="' . htmlspecialcharsbx($arButton["TITLE"]) . '"><img src="' . $arButton["IMAGE"] . '" width="20" height="20" border="0" /></a>';
                    }
                }
            }
        }
    }
}
Esempio n. 3
0
********************************************************************/
if ($arParams["SET_TITLE"] == "Y") {
    $APPLICATION->SetTitle($arParams["ACTION"] == "CLONE" ? GetMessage("WD_TITLE_CLONE") : GetMessage("WD_TITLE"));
}
if ($arParams["SET_NAV_CHAIN"] == "Y") {
    $res = array("section_id" => !empty($arResult["ELEMENT_ORIGINAL"]) ? $arResult["ELEMENT_ORIGINAL"]["IBLOCK_SECTION_ID"] : $arResult["ELEMENT"]["IBLOCK_SECTION_ID"]);
    $arResult["NAV_CHAIN"] = $ob->GetNavChain($res, "array");
    $arNavChain = array();
    foreach ($arResult["NAV_CHAIN"] as $res) {
        $arNavChain[] = $res["URL"];
        $url = CComponentEngine::MakePathFromTemplate($arParams["~SECTIONS_URL"], array("PATH" => implode("/", $arNavChain), "SECTION_ID" => $res["ID"], "ELEMENT_ID" => "files", "ELEMENT_NAME" => "files"));
        $GLOBALS["APPLICATION"]->AddChainItem(htmlspecialcharsEx($res["NAME"]), $url);
    }
    if (!empty($arResult["ELEMENT_ORIGINAL"])) {
        $GLOBALS["APPLICATION"]->AddChainItem(GetMessage("WD_ORIGINAL") . ": " . htmlspecialcharsEx($arResult["ELEMENT_ORIGINAL"]["~NAME"]), WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["~ELEMENT_URL"], array("PATH" => $arResult["ELEMENT_ORIGINAL"]["PATH"], "SECTION_ID" => intVal(${$arResult}["ELEMENT_ORIGINAL"]["IBLOCK_SECTION_ID"]), "ELEMENT_ID" => $arResult["ELEMENT_ORIGINAL"]["ID"], "ELEMENT_NAME" => $arResult["ELEMENT_ORIGINAL"]["~NAME"])), array($arParams["FORM_ID"] . "_active_tab" => "tab_version")));
    }
    $GLOBALS["APPLICATION"]->AddChainItem(htmlspecialcharsEx($arResult["ELEMENT"]["~NAME"]), $arResult["ELEMENT"]["URL"]["VIEW"]);
}
if ($arParams["DISPLAY_PANEL"] == "Y" && $USER->IsAuthorized()) {
    CIBlock::ShowPanel($arParams["IBLOCK_ID"], 0, $arParams["SECTION_ID"], $arParams["IBLOCK_TYPE"], false, $this->GetName());
}
/********************************************************************
				/Standart operations
********************************************************************/
if ($arParams["WORKFLOW"] == "workflow" && (!empty($arResult["ELEMENT"]["ORIGINAL"]) && intVal($arResult["ELEMENT"]["ORIGINAL"]["WF_STATUS_ID"]) > 1 || empty($arResult["ELEMENT"]["ORIGINAL"]) && intVal($arResult["ELEMENT"]["WF_STATUS_ID"]) > 1)) {
    return array("ELEMENT_ID" => false);
} elseif (!empty($arResult["ELEMENT"]["ORIGINAL"])) {
    return array("ELEMENT_ID" => $arResult["ELEMENT"]["ORIGINAL"]["ID"], "ELEMENT" => $arResult["ELEMENT"]);
} else {
    return array("ELEMENT_ID" => $arParams["ELEMENT_ID"], "ELEMENT" => $arResult["ELEMENT"]);
}
Esempio n. 4
0
        }
        $arResult["NAV_STRING"] = $rsElement->GetPageNavStringEx($navComponentObject, $arParams["PAGER_TITLE"], $arParams["PAGER_TEMPLATE"], $arParams["PAGER_SHOW_ALWAYS"]);
        $arResult["NAV_CACHED_DATA"] = $navComponentObject->GetTemplateCachedData();
        $arResult["NAV_RESULT"] = $rsElement;
        $this->SetResultCacheKeys(array("ID", "IBLOCK_TYPE_ID", "NAV_CACHED_DATA", "NAME", "SECTION"));
        $this->IncludeComponentTemplate();
    } else {
        $this->AbortResultCache();
        ShowError(GetMessage("T_DOCS_DOCS_NA"));
        @define("ERROR_404", "Y");
    }
}
if (isset($arResult["ID"])) {
    if ($USER->IsAuthorized()) {
        if ($GLOBALS["APPLICATION"]->GetShowIncludeAreas() && CModule::IncludeModule("iblock")) {
            $this->AddIncludeAreaIcons(CIBlock::ShowPanel($arResult["ID"], 0, 0, $arResult["IBLOCK_TYPE_ID"], true));
        }
    }
    $this->SetTemplateCachedData($arResult["NAV_CACHED_DATA"]);
    if ($arParams["SET_TITLE"]) {
        $APPLICATION->SetTitle($arResult["NAME"]);
    }
    if ($arParams["INCLUDE_IBLOCK_INTO_CHAIN"] && isset($arResult["NAME"])) {
        $APPLICATION->AddChainItem($arResult["NAME"]);
    }
    if ($arParams["ADD_SECTIONS_CHAIN"] && is_array($arResult["SECTION"])) {
        foreach ($arResult["SECTION"]["PATH"] as $arPath) {
            $APPLICATION->AddChainItem($arPath["NAME"], $arPath["SECTION_PAGE_URL"]);
        }
    }
}
Esempio n. 5
0
$arParams["IBLOCK_TYPE"] = trim($arParams["IBLOCK_TYPE"]);
$arParams["IBLOCK_URL"] = trim($arParams["IBLOCK_URL"]);
/*************************************************************************
			Work with cache
*************************************************************************/
$arResult["ITEMS"] = array();
if ($this->StartResultCache(false, $arParams["CACHE_GROUPS"] === "N" ? false : $USER->GetGroups())) {
    if (!CModule::IncludeModule("iblock")) {
        $this->AbortResultCache();
        ShowError(GetMessage("IBLOCK_MODULE_NOT_INSTALLED"));
        return;
    }
    //WHERE
    $arFilter = array("TYPE" => $arParams["IBLOCK_TYPE"], "SITE_ID" => SITE_ID, "ACTIVE" => "Y");
    //ORDER BY
    $arSort = array("SORT" => "ASC", "NAME" => "ASC");
    $rsIBlocks = CIBlock::GetList($arSort, $arFilter);
    while ($arIBlock = $rsIBlocks->GetNext()) {
        $arIBlock["PICTURE"] = CFile::GetFileArray($arIBlock["PICTURE"]);
        $arIBlock["~LIST_PAGE_URL"] = str_replace(array("#SERVER_NAME#", "#SITE_DIR#", "#IBLOCK_TYPE_ID#", "#IBLOCK_ID#", "#IBLOCK_CODE#", "#IBLOCK_EXTERNAL_ID#", "#CODE#"), array(SITE_SERVER_NAME, SITE_DIR, $arIBlock["IBLOCK_TYPE_ID"], $arIBlock["ID"], $arIBlock["CODE"], $arIBlock["EXTERNAL_ID"], $arIBlock["CODE"]), strlen($arParams["IBLOCK_URL"]) ? trim($arParams["~IBLOCK_URL"]) : $arIBlock["~LIST_PAGE_URL"]);
        $arIBlock["~LIST_PAGE_URL"] = preg_replace("'/+'s", "/", $arIBlock["~LIST_PAGE_URL"]);
        $arIBlock["LIST_PAGE_URL"] = htmlspecialcharsbx($arIBlock["~LIST_PAGE_URL"]);
        $arResult["ITEMS"][] = $arIBlock;
    }
    $this->IncludeComponentTemplate();
}
if (count($arResult["ITEMS"]) > 0 && $USER->IsAuthorized()) {
    if ($APPLICATION->GetShowIncludeAreas() && CModule::IncludeModule("iblock")) {
        $this->AddIncludeAreaIcons(CIBlock::ShowPanel(0, 0, 0, $arParams["IBLOCK_TYPE"], true));
    }
}
Esempio n. 6
0
        return preg_replace("/\n/is", "", '
			<table cellpadding="0" cellspacing="0" class="data-table">
				<tr>
					<td>' . htmlspecialcharsbx($matches[3]) . '</td>
				</tr>
			</table>
		');
    }
}
global $APPLICATION, $USER;
$arResult['ITEM']["DETAIL_TEXT"] = preg_replace_callback("/(<|\\[)CODE(>|\\])(.+?)(<|\\[)\\/CODE(>|\\])/is", code_replace_func, $arResult['ITEM']["DETAIL_TEXT"]);
if (strtoupper($arResult['ITEM']["PREVIEW_TEXT_TYPE"]) == "TEXT") {
    $arResult['ITEM']["PREVIEW_TEXT"] = nl2br($arResult['ITEM']["PREVIEW_TEXT"]);
}
if (strtoupper($arResult['ITEM']["DETAIL_TEXT_TYPE"]) == "TEXT") {
    $arResult['ITEM']["DETAIL_TEXT"] = nl2br($arResult['ITEM']["DETAIL_TEXT"]);
}
//create button
if ($USER->IsAuthorized()) {
    if ($APPLICATION->GetShowIncludeAreas()) {
        $ar = CIBlock::ShowPanel($arParams['IBLOCK_ID'], $arResult['ITEM']['ID'], 0, $arParams["IBLOCK_TYPE"], true);
        if (is_array($ar)) {
            foreach ($ar as $arButton) {
                if (preg_match("/[^A-Z0-9_]ID=\\d+/", $arButton["URL"])) {
                    $arButton["URL"] = preg_replace("/&return_url=(.+?)&/", "&", $arButton["URL"]);
                    $arResult['ITEM']['EDIT_BUTTON'] = '<a href="' . htmlspecialcharsbx($arButton["URL"]) . '" title="' . htmlspecialcharsbx($arButton["TITLE"]) . '"><img src="' . $arButton["IMAGE"] . '" width="20" height="20" border="0" /></a>';
                }
            }
        }
    }
}
Esempio n. 7
0
ELEMENT_SORT_ORDER - element sorting order, following values can be used:

	asc - in ascending order
	desc - in descending order

FILTER_NAME - name of an array with values for elements filtering
CACHE_FILTER - [Y|N] use or not use cache for values selected from database if filter was set with this values?
CACHE_TIME - (сек.) time for caching values selected from database

***************************************************************************/
global $USER, $APPLICATION;
if (CModule::IncludeModule("iblock")) {
    IncludeTemplateLangFile(__FILE__);
    $bDisplayPanel = $DISPLAY_PANEL == "Y" ? True : False;
    if ($bDisplayPanel) {
        CIBlock::ShowPanel($IBLOCK_ID, 0, 0, $IBLOCK_TYPE);
    }
    /*************************************************************************
    						Processing of received parameters
    	*************************************************************************/
    $LINE_ELEMENT_COUNT = intval($LINE_ELEMENT_COUNT);
    global ${$FILTER_NAME};
    $arrFilter = ${$FILTER_NAME};
    $CACHE_FILTER = $CACHE_FILTER == "Y" ? "Y" : "N";
    if ($CACHE_FILTER == "N" && count($arrFilter) > 0) {
        $CACHE_TIME = 0;
    }
    /*************************************************************************
    								Work with cache
    	*************************************************************************/
    $CACHE_ID = __FILE__ . md5(serialize($arParams) . serialize($arrFilter) . $USER->GetGroups());
Esempio n. 8
0
            }
        }
        $this->IncludeComponentTemplate();
    } else {
        $this->AbortResultCache();
        ShowError(GetMessage("T_NEWS_DETAIL_NF"));
        @define("ERROR_404", "Y");
    }
}
if (isset($arResult["ID"])) {
    if (CModule::IncludeModule("iblock")) {
        CIBlockElement::CounterInc($arParams["ELEMENT_ID"]);
        if ($GLOBALS["APPLICATION"]->GetShowIncludeAreas()) {
            $this->AddIncludeAreaIcons(CIBlock::ShowPanel($arResult["IBLOCK_ID"], $arResult["ID"], 0, $arParams["IBLOCK_TYPE"], true));
            if ($arParams["DISPLAY_PANEL"]) {
                CIBlock::ShowPanel($arResult["IBLOCK_ID"], $arResult["ID"], 0, $arParams["IBLOCK_TYPE"]);
            }
        }
    }
    if ($arParams["SET_TITLE"]) {
        $APPLICATION->SetTitle($arResult["NAME"]);
    }
    if ($arParams["ADD_SECTIONS_CHAIN"] && is_array($arResult["SECTION"])) {
        foreach ($arResult["SECTION"]["PATH"] as $arPath) {
            $APPLICATION->AddChainItem($arPath["NAME"], $arPath["SECTION_PAGE_URL"]);
        }
    }
    return $arResult["ID"];
} else {
    return 0;
}
Esempio n. 9
0
}
if ($bUserHaveAccess) {
    if (CModule::IncludeModule("iblock")) {
        CIBlockElement::CounterInc($ID);
    }
    $cache = new CPHPCache();
    if ($cache->InitCache($CACHE_TIME, $CACHE_ID)) {
        $vars = $cache->GetVars();
        CIBlock::ShowPanel($vars["IBLOCK_ID"], $ID);
        $APPLICATION->SetTitle($vars["NAME"]);
        $APPLICATION->AddChainItem($vars["IBLOCK_NAME"], $vars["LIST_PAGE_URL"]);
        $cache->Output();
    } else {
        if (CModule::IncludeModule("iblock")) {
            if ($arIBlockElement = GetIBlockElement($ID, $IBLOCK_TYPE)) {
                CIBlock::ShowPanel($arIBlockElement["IBLOCK_ID"], $ID, 0, $IBLOCK_TYPE);
                $APPLICATION->SetTitle($arIBlockElement["NAME"]);
                $APPLICATION->AddChainItem($arIBlockElement["IBLOCK_NAME"], $arIBlockElement["LIST_PAGE_URL"]);
                $cache->StartDataCache();
                ?>
				<?php 
                if ($arIBlockElement["ACTIVE_FROM"]) {
                    ?>
<font class="newsdata"><?php 
                    echo $arIBlockElement["ACTIVE_FROM"];
                    ?>
&nbsp;</font><?php 
                }
                ?>
				<font class="text">
				<?php 
Esempio n. 10
0
 /*************************************************************************
 								Work with cache
 	*************************************************************************/
 $CACHE_ID = SITE_ID . "|" . __FILE__ . md5(serialize($arParams) . $USER->GetGroups() . CDBResult::NavStringForCache($PAGE_LINK_ELEMENT_COUNT));
 $obCache = new CPHPCache();
 if ($obCache->InitCache($CACHE_TIME, $CACHE_ID, "/")) {
     $arVars = $obCache->GetVars();
     $ELEMENT_NAME = $arVars["ELEMENT_NAME"];
 } else {
     $rsElement = CIBlockElement::GetList(array(), array("ID" => IntVal($ELEMENT_ID), "ACTIVE_DATE" => "Y", "ACTIVE" => "Y", "CHECK_PERMISSIONS" => "Y"), false, false, array("ID", "IBLOCK_ID", "NAME", "DETAIL_PAGE_URL"));
     $arElement = $rsElement->GetNext();
     $ELEMENT_NAME = $arElement["NAME"];
 }
 if (strlen($ELEMENT_NAME) > 0) {
     if ($bDisplayPanel) {
         CIBlock::ShowPanel($LINK_IBLOCK_ID, 0, 0, $LINK_IBLOCK_TYPE);
     }
     $APPLICATION->SetTitle(str_replace("#PHONE_NAME#", $ELEMENT_NAME, $APPLICATION->GetTitle()));
     if ($obCache->StartDataCache()) {
         $arrPrice = "";
         // if price type code specified
         if (strlen($LINK_PRICE_CODE) > 0 && CModule::IncludeModule("sale") && CModule::IncludeModule("catalog")) {
             $arrPrice = array();
             $rsPrice = CCatalogGroup::GetList($v1, $v2, array("NAME" => $LINK_PRICE_CODE));
             while ($arPrice = $rsPrice->Fetch()) {
                 $arrPrice[$arPrice["NAME"]] = array("ID" => $arPrice["ID"], "TITLE" => $arPrice["NAME_LANG"]);
             }
         }
         /************************************
         						Elements
         			************************************/
Esempio n. 11
0
             $arrPath[] = array("ID" => $arPath["ID"], "NAME" => $arPath["NAME"]);
         }
     }
 }
 // if element has been found then
 if ($found == "Y") {
     $ELEMENT_NAME = $arElement["NAME"];
     $IBLOCK_ID = $arElement["IBLOCK_ID"];
     $SECTION_ID = $arElement["IBLOCK_SECTION_ID"];
     $KEYWORDS = $arProperty["KEYWORDS"]["VALUE"];
     $DESCRIPTION = $arProperty["DESCRIPTION"]["VALUE"];
     $SECTION_NAME = is_array($arSection) ? $arSection["NAME"] : "";
     $APPLICATION->SetPageProperty("keywords", $KEYWORDS);
     $APPLICATION->SetPageProperty("description", $DESCRIPTION);
     if ($bDisplayPanel) {
         CIBlock::ShowPanel($IBLOCK_ID, $ELEMENT_ID, $SECTION_ID, $IBLOCK_TYPE);
     }
     $APPLICATION->SetTitle($ELEMENT_NAME);
     if (is_array($arrPath)) {
         while (list($key, $arS) = each($arrPath)) {
             if ($SECTION_ID == $arS["ID"]) {
                 $SECTION_NAME = $arS["NAME"];
             }
             $APPLICATION->AddChainItem($arS["NAME"], $SECTION_URL . "&SECTION_ID=" . $arS["ID"]);
         }
     }
     CIBlockElement::CounterInc($ELEMENT_ID);
     if ($obCache->StartDataCache()) {
         // get the values for the Next and Previous links
         $arSelect = array("ID", "IBLOCK_ID", "IBLOCK_SECTION_ID", "DETAIL_PAGE_URL");
         if ($rs = GetIBlockElementList($IBLOCK_ID, $SECTION_ID, array($ELEMENT_SORT_FIELD => $ELEMENT_SORT_ORDER, "ID" => "ASC"), 0, array("ACTIVE" => "Y"), $arSelect)) {