} $arUsersCache = array(); while ($arRes = $rsData->NavNext(true, "f_")) { $sec_list_url = '/bitrix/admin/cat_section_search.php?IBLOCK_ID=' . $IBLOCK_ID . '&lang=' . LANGUAGE_ID . '&find_section_section=' . $f_ID . '&n=' . urlencode($n) . '&k=' . urlencode($k) . ($m ? "&m=y" : ""); $row =& $lAdmin->AddRow($f_ID, $arRes); if ($entity_id) { $USER_FIELD_MANAGER->AddUserFields($entity_id, $arRes, $row); } $row->AddViewField("NAME", '<a href="' . $sec_list_url . '" onclick="' . $lAdmin->ActionAjaxReload($sec_list_url) . '; return false;" title="' . GetMessage("BX_MOD_CATALOG_ADMIN_CSS_LIST") . '">' . $f_NAME . '</a><div style="display:none" id="name_' . $f_ID . '">' . $strPath . $f_NAME . ' / ' . '</div>'); $row->AddCheckField("ACTIVE"); if (array_key_exists("ELEMENT_CNT", $arVisibleColumnsMap)) { $row->AddViewField("ELEMENT_CNT", $f_ELEMENT_CNT . '(' . intval(CIBlockSection::GetSectionElementsCount($f_ID, array("CNT_ALL" => "Y"))) . ')'); } if (array_key_exists("SECTION_CNT", $arVisibleColumnsMap)) { $arFilter = array("IBLOCK_ID" => $IBLOCK_ID, "SECTION_ID" => $f_ID); $row->AddViewField("SECTION_CNT", '<a href="' . $sec_list_url . '" onclick="' . $lAdmin->ActionAjaxReload($sec_list_url) . '; return false;" title="' . GetMessage("BX_MOD_CATALOG_ADMIN_CSS_LIST") . '">' . intval(CIBlockSection::GetCount($arFilter)) . '</a>'); } if (array_key_exists("MODIFIED_BY", $arVisibleColumnsMap) && intval($f_MODIFIED_BY) > 0) { if (!array_key_exists($f_MODIFIED_BY, $arUsersCache)) { $rsUser = CUser::GetByID($f_MODIFIED_BY); $arUsersCache[$f_MODIFIED_BY] = $rsUser->Fetch(); } if ($arUser = $arUsersCache[$f_MODIFIED_BY]) { $row->AddViewField("MODIFIED_BY", '[<a href="/bitrix/admin/user_edit.php?lang=' . LANGUAGE_ID . '&ID=' . $f_MODIFIED_BY . '" title="' . GetMessage("BX_MOD_CATALOG_ADMIN_CSS_HEAD_USERINFO") . '">' . $f_MODIFIED_BY . "</a>] (" . $arUser["LOGIN"] . ") " . $arUser["NAME"] . " " . $arUser["LAST_NAME"]); } } if (array_key_exists("CREATED_BY", $arVisibleColumnsMap) && intval($f_CREATED_BY) > 0) { if (!array_key_exists($f_CREATED_BY, $arUsersCache)) { $rsUser = CUser::GetByID($f_CREATED_BY); $arUsersCache[$f_CREATED_BY] = $rsUser->Fetch(); }
<?php if (!$res["ID"]) { ?> <?php $APPLICATION->SetTitle(404); $APPLICATION->SetPageProperty("title", 404); ?> <p><?php echo $arParams["MESSAGE_404"] ? $arParams["MESSAGE_404"] : GetMessage("CATALOG_SECTION_NOT_FOUND"); ?> </p> <?php } else { ?> <?php $count_sections = CIBlockSection::GetCount(array("SECTION_ID" => $res["ID"])); if ($count_sections > 0) { ?> <div class="shadow-item_info cat_list"><img border="0" alt="" src="<?php echo SITE_TEMPLATE_PATH; ?> /images/shadow-item_info.png"></div> <div class="container left shop"> <div class="inner_left"> <?php $APPLICATION->IncludeComponent("bitrix:catalog.section.list", "shop_groups", array("IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"], "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"], "DISPLAY_PANEL" => $arParams["DISPLAY_PANEL"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "SECTION_URL" => $arResult["FOLDER"] . $arResult["URL_TEMPLATES"]["section"], "COUNT_ELEMENTS" => $arParams["SECTION_COUNT_ELEMENTS"], "ADD_SECTIONS_CHAIN" => "N", "TOP_DEPTH" => "1"), $component); ?> </div> </div> <div class="sideRight shop"> <?php
} $arUsersCache = array(); while ($arRes = $rsData->NavNext(true, "f_")) { $sec_list_url = 'iblock_section_search.php?IBLOCK_ID=' . $IBLOCK_ID . '&lang=' . LANG . '&find_section_section=' . $f_ID . '&n=' . urlencode($n) . '&k=' . urlencode($k) . ($m ? "&m=y" : ""); $row =& $lAdmin->AddRow($f_ID, $arRes); if ($entity_id) { $USER_FIELD_MANAGER->AddUserFields($entity_id, $arRes, $row); } $row->AddViewField("NAME", '<a href="' . $sec_list_url . '" onclick="' . $lAdmin->ActionAjaxReload($sec_list_url) . '; return false;" title="' . GetMessage("IBLOCK_SECSEARCH_LIST") . '">' . $f_NAME . '</a><div style="display:none" id="name_' . $f_ID . '">' . $strPath . $f_NAME . ' / ' . '</div>'); $row->AddCheckField("ACTIVE"); if (array_key_exists("ELEMENT_CNT", $arVisibleColumnsMap)) { $row->AddViewField("ELEMENT_CNT", $f_ELEMENT_CNT . '(' . IntVal(CIBlockSection::GetSectionElementsCount($f_ID, array("CNT_ALL" => "Y"))) . ')'); } if (array_key_exists("SECTION_CNT", $arVisibleColumnsMap)) { $arFilter = array("IBLOCK_ID" => $IBLOCK_ID, "SECTION_ID" => $f_ID); $row->AddViewField("SECTION_CNT", '<a href="' . $sec_list_url . '" onclick="' . $lAdmin->ActionAjaxReload($sec_list_url) . '; return false;" title="' . GetMessage("IBLOCK_SECSEARCH_LIST") . '">' . IntVal(CIBlockSection::GetCount($arFilter)) . '</a>'); } if (array_key_exists("MODIFIED_BY", $arVisibleColumnsMap) && intval($f_MODIFIED_BY) > 0) { if (!array_key_exists($f_MODIFIED_BY, $arUsersCache)) { $rsUser = CUser::GetByID($f_MODIFIED_BY); $arUsersCache[$f_MODIFIED_BY] = $rsUser->Fetch(); } if ($arUser = $arUsersCache[$f_MODIFIED_BY]) { $row->AddViewField("MODIFIED_BY", '[<a href="user_edit.php?lang=' . LANG . '&ID=' . $f_MODIFIED_BY . '" title="' . GetMessage("IBLOCK_SECSEARCH_USERINFO") . '">' . $f_MODIFIED_BY . "</a>] (" . $arUser["LOGIN"] . ") " . $arUser["NAME"] . " " . $arUser["LAST_NAME"]); } } if (array_key_exists("CREATED_BY", $arVisibleColumnsMap) && intval($f_CREATED_BY) > 0) { if (!array_key_exists($f_CREATED_BY, $arUsersCache)) { $rsUser = CUser::GetByID($f_CREATED_BY); $arUsersCache[$f_CREATED_BY] = $rsUser->Fetch(); }
$arResult["NAV_RESULT"] = $db_res; } while ($res = $db_res->GetNext()) { $res["DATE"] = $res["UF_DATE"]; $res["~DATE"] = $res["~UF_DATE"]; if (!empty($res["~DATE"])) $res["DATE"] = PhotoDateFormat($arParams["DATE_TIME_FORMAT"], MakeTimeStamp($res["~DATE"], CSite::GetDateFormat())); $res["PASSWORD"] = $res["UF_PASSWORD"]; $res["~PASSWORD"] = $res["~UF_PASSWORD"]; $res["PICTURE"] = CFile::GetFileArray($res["PICTURE"]); $res["DETAIL_PICTURE"] = CFile::GetFileArray($res["DETAIL_PICTURE"]); $res["SECTIONS_CNT"] = intVal(CIBlockSection::GetCount(array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "SECTION_ID" => $res["ID"]))); $res["ELEMENTS_CNT"] = intVal(CIBlockSection::GetSectionElementsCount($res["ID"], array("CNT_ACTIVE" => "Y"))); if ($arParams["PERMISSION"] >= "U") $res["ELEMENTS_CNT_ALL"] = intVal(CIBlockSection::GetSectionElementsCount($res["ID"], array("CNT_ALL"=>"Y"))); if ($arParams["PERMISSION"] < "U" && $res["ELEMENTS_CNT"] <= 0) continue; $res["~LINK"] = CComponentEngine::MakePathFromTemplate($arParams["~SECTION_URL"], array("USER_ALIAS" => $arParams["USER_ALIAS"], "SECTION_ID" => $res["ID"])); $res["LINK"] = htmlspecialcharsbx($res["~LINK"]); if ($arParams["PERMISSION"] >= "W") { $res["~NEW_LINK"] = CComponentEngine::MakePathFromTemplate($arParams["~SECTION_EDIT_URL"], array("USER_ALIAS" => $arParams["USER_ALIAS"], "SECTION_ID" => $res["ID"], "ACTION" => "new"));
} $CACHE_MANAGER->EndTagCache(); } else { if (!($arCurSection = $dbRes->Fetch())) { $arCurSection = array(); } } } $obCache->EndDataCache($arCurSection); } if (!isset($arCurSection)) { $arCurSection = array(); } } if (isset($arCurSection['ID']) && 0 < intval($arCurSection['ID'])) { $haveElements = !(CIBlockSection::GetCount(array('SECTION_ID' => $arCurSection['ID'], 'IBLOCK_ID' => $arParams["IBLOCK_ID"])) > 0); } /*Устанавливаем сортировку товаров*/ session_start(); if (isset($_REQUEST["SORT_METHOD"])) { $_SESSION["MEBLYA_SORT_FIELD"] = $_REQUEST["SORT_METHOD"]; } else { if (!isset($_SESSION["MEBLYA_SORT_FIELD"])) { $_SESSION["MEBLYA_SORT_FIELD"] = "timestamp_x"; } } if (isset($_REQUEST["SORT_ORDER"])) { $_SESSION["MEBLYA_SORT_ORDER"] = $_REQUEST["SORT_ORDER"]; } else { if (!isset($_SESSION["MEBLYA_SORT_ORDER"])) { $_SESSION["MEBLYA_SORT_ORDER"] = "timestamp_x";
if (\Bitrix\Main\Loader::includeModule("iblock")) { $dbRes = CIBlockSection::GetList(array(), $arFilter, false, array("ID", "IBLOCK_SECTION_ID", "DEPTH_LEVEL")); if (defined("BX_COMP_MANAGED_CACHE")) { global $CACHE_MANAGER; $CACHE_MANAGER->StartTagCache("/iblock/catalog"); if ($arCurSection = $dbRes->Fetch()) { $CACHE_MANAGER->RegisterTag("iblock_id_" . $arParams["IBLOCK_ID"]); } $CACHE_MANAGER->EndTagCache(); } else { if (!($arCurSection = $dbRes->Fetch())) { $arCurSection = array(); } } if (!empty($arCurSection)) { $arCurSection['COUNT'] = CIBlockSection::GetCount(array("SECTION_ID" => $arCurSection['ID'])); } } $obCache->EndDataCache($arCurSection); } if (!isset($arCurSection)) { $arCurSection = array(); } $this->SetViewTarget("sm-filter"); $staticHTMLCache = \Bitrix\Main\Data\StaticHTMLCache::getInstance(); $staticHTMLCache->disableVoting(); ?> <?php $APPLICATION->IncludeComponent("bitrix:catalog.smart.filter", "santech", array("IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "SECTION_ID" => $arCurSection['ID'], "FILTER_NAME" => $arParams["FILTER_NAME"], "PRICE_CODE" => $arParams["PRICE_CODE"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "DISPLAY_ELEMENT_COUNT" => "N", "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "SAVE_IN_SESSION" => "N", "XML_EXPORT" => "Y", "SECTION_TITLE" => "NAME", "SECTION_DESCRIPTION" => "DESCRIPTION", 'HIDE_NOT_AVAILABLE' => $arParams["HIDE_NOT_AVAILABLE"], "TEMPLATE_THEME" => $arParams["TEMPLATE_THEME"], "CONVERT_CURRENCY" => "Y", "CURRENCY_ID" => "RUB", "SEF_MODE" => $arParams["SEF_MODE"], "SEF_RULE" => $arResult["FOLDER"] . $arResult["URL_TEMPLATES"]["smart_filter"], "SMART_FILTER_PATH" => $arResult["VARIABLES"]["SMART_FILTER_PATH"]), $component, array('HIDE_ICONS' => 'Y'));
protected function getCountDroppedSection($iblockId) { return CIBlockSection::GetCount(array("IBLOCK_ID" => $iblockId, "=NAME" => '.Dropped', '>DEPTH_LEVEL' => 0)); }
} else { $options["section_id"] = $arParams["SECTION_ID"]; $ob->IsDir($options); if ($ob->arParams["not_found"]) { $arError[] = array("id" => "recover_error", "text" => GetMessage("WD_ERROR_RECOVER")); } else { $url = str_replace(array("///", "//"), "/", WDAddPageParams(CComponentEngine::MakePathFromTemplate($arParams["~SECTIONS_URL"], array("PATH" => $ob->_get_path($ob->arParams["parent_id"], false))), array('result' => "sec" . $arParams["SECTION_ID"]))); } if (empty($arError)) { WDClearComponentCache(array("webdav.element.edit", "webdav.element.hist", "webdav.element.upload", "webdav.element.view", "webdav.menu", "webdav.section.edit", "webdav.section.list")); } } } elseif ($arParams["ACTION"] == "DROP") { if ($_REQUEST['get_count_elements']) { $count = 0; $count += CIBlockSection::GetCount(array('IBLOCK_ID' => $ob->IBLOCK_ID, 'LEFT_MARGIN' => $arResult["SECTION"]['LEFT_MARGIN'], 'RIGHT_MARGIN' => $arResult["SECTION"]['RIGHT_MARGIN'])) - 1; $count += CIBlockElement::GetList(array(), array('IBLOCK_ID' => $ob->IBLOCK_ID, 'INCLUDE_SUBSECTIONS' => 'Y', 'SECTION_ID' => $arParams["SECTION_ID"]), array()); CWebDavTools::sendJsonResponse(array('status' => 'success', 'items' => $count)); } elseif ($_REQUEST['portion_delete']) { //delete elements $rs = CIBlockElement::GetList(null, array('IBLOCK_ID' => $ob->IBLOCK_ID, 'INCLUDE_SUBSECTIONS' => 'Y', 'SECTION_ID' => $arParams["SECTION_ID"]), false, array('nTopCount' => 100), array('ID')); $maxExecTime = 10; $startTime = time(); $deleteCounter = 0; $successDeleteAllElements = false; while ($file = $rs->Fetch()) { $ob->DELETE(array("element_id" => $file['ID'])); $deleteCounter++; if (time() - $startTime > $maxExecTime) { CWebDavTools::sendJsonResponse(array('status' => 'success', 'deleteItems' => $deleteCounter, 'limitTime' => true, 'finish' => false)); }
while ($arRes = $rsData->NavNext(true, "f_")) { $el_list_url = htmlspecialcharsbx(CIBlock::GetAdminElementListLink($IBLOCK_ID, array('find_section_section' => $f_ID))); $el_add_url = htmlspecialcharsbx(CIBlock::GetAdminElementEditLink($IBLOCK_ID, 0, array('IBLOCK_SECTION_ID' => $arRes["ID"], 'from' => 'iblock_section_admin_inc', 'find_section_section' => $find_section_section))); $sec_list_url = htmlspecialcharsbx(CIBlock::GetAdminSectionListLink($IBLOCK_ID, array('find_section_section' => $f_ID, 'tree' => $_GET["tree"] == "Y" ? 'Y' : null))); $sec_add_url = htmlspecialcharsbx(CIBlock::GetAdminSectionEditLink($IBLOCK_ID, 0, array('IBLOCK_SECTION_ID' => $arRes["ID"], 'from' => 'iblock_section_admin', 'find_section_section' => $find_section_section))); $edit_url = htmlspecialcharsbx(CIBlock::GetAdminSectionEditLink($IBLOCK_ID, $arRes["ID"], array('from' => 'iblock_section_admin', 'find_section_section' => $find_section_section))); $arRows[$f_ID] = $row = $lAdmin->AddRow($f_ID, $arRes, $sec_list_url, GetMessage("IBSEC_A_LIST")); $USER_FIELD_MANAGER->AddUserFields($entity_id, $arRes, $row); $row->AddViewField("ID", '<a href="' . $edit_url . '" title="' . GetMessage("IBSEC_A_EDIT") . '">' . $f_ID . '</a>'); $row->AddViewField("NAME", '<a href="' . $sec_list_url . '" ' . ($_GET["tree"] == "Y" ? 'style="padding-left:' . ($f_DEPTH_LEVEL - 1) * 22 . 'px"' : '') . ' class="adm-list-table-icon-link" title="' . GetMessage("IBSEC_A_LIST") . '"><span class="adm-submenu-item-link-icon adm-list-table-icon iblock-section-icon"></span><span class="adm-list-table-link">' . $f_NAME . '</span></a>'); if (array_key_exists("ELEMENT_CNT", $arVisibleColumnsMap)) { $row->AddViewField("ELEMENT_CNT", '<a href="' . $el_list_url . '&find_el_subsections=N" title="' . GetMessage("IBSEC_A_ELLIST") . '">' . $f_ELEMENT_CNT . '</a>(' . '<a href="' . $el_list_url . '&find_el_subsections=Y" title="' . GetMessage("IBSEC_A_ELLIST_TITLE") . '">' . IntVal(CIBlockSection::GetSectionElementsCount($f_ID, array("CNT_ALL" => "Y"))) . '</a>) [<a href="' . $el_add_url . '" title="' . GetMessage("IBSEC_A_ELADD_TITLE") . '">+</a>]'); } if (array_key_exists("SECTION_CNT", $arVisibleColumnsMap)) { $arFilter = array("IBLOCK_ID" => $IBLOCK_ID, "SECTION_ID" => $f_ID); $row->AddViewField("SECTION_CNT", '<a href="' . $sec_list_url . '" onclick="' . $lAdmin->ActionAjaxReload($sec_list_url) . '; return false;" title="' . GetMessage("IBSEC_A_LIST") . '">' . IntVal(CIBlockSection::GetCount($arFilter)) . '</a> [<a href="' . $sec_add_url . '" title="' . GetMessage("IBSEC_A_SECTADD_TITLE") . '">+</a>]'); } if (array_key_exists("MODIFIED_BY", $arVisibleColumnsMap)) { if ($html = GetUserProfileLink($f_MODIFIED_BY, GetMessage("IBSEC_A_USERINFO"))) { $row->AddViewField("MODIFIED_BY", $html); } } if (array_key_exists("CREATED_BY", $arVisibleColumnsMap)) { if ($html = GetUserProfileLink($f_CREATED_BY, GetMessage("IBSEC_A_USERINFO"))) { $row->AddViewField("CREATED_BY", $html); } } } $arSectionOps = CIBlockSectionRights::UserHasRightTo($IBLOCK_ID, array_keys($arRows), "", CIBlockRights::RETURN_OPERATIONS); foreach ($arRows as $id => $row) { if (isset($arSectionOps[$id]) && isset($arSectionOps[$id]["section_edit"])) {
$dbRes = CIBlockSection::GetList(array(), $arFilter, array("ELEMENT_SUBSECTIONS" => "N", "CNT_ALL" => "N", "CNT_ACTIVE" => "Y"), array("ID", "NAME", "DEPTH_LEVEL", "IBLOCK_SECTION_ID", "UF_*")); if (defined("BX_COMP_MANAGED_CACHE")) { global $CACHE_MANAGER; $CACHE_MANAGER->StartTagCache("/iblock/catalog"); if ($arCurSection = $dbRes->GetNext()) { $arUnderFilter['SECTION_ID'] = $arCurSection['ID']; $CACHE_MANAGER->RegisterTag("iblock_id_" . $arParams["IBLOCK_ID"]); $arCurSection["SECTION_CNT"] = CIBlockSection::GetCount($arUnderFilter); } $CACHE_MANAGER->EndTagCache(); } else { if (!($arCurSection = $dbRes->GetNext())) { $arCurSection = array(); } else { $arUnderFilter["SECTION_ID"] = $arCurSection["ID"]; $arCurSection["SECTION_CNT"] = CIBlockSection::GetCount($arUnderFilter); } } $obCache->EndDataCache($arCurSection); } echo $sect_count; $depth = $arCurSection['DEPTH_LEVEL']; $hasChildSections = $arCurSection["SECTION_CNT"] > 0 && $arCurSection["UF_SHOW_ELEMENTS"] != 1; } if (strtoupper($_REQUEST["ajax"]) != 'Y') { ?> <?php $APPLICATION->ShowViewContent('filter'); } ?>
?> <div class="bx_content_section"><?php } ?> <?php $APPLICATION->IncludeComponent("bitrix:catalog.section.list", "", array("IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"], "SECTION_CODE" => $arResult["VARIABLES"]["SECTION_CODE"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "COUNT_ELEMENTS" => $arParams["SECTION_COUNT_ELEMENTS"], "TOP_DEPTH" => $arParams["SECTION_TOP_DEPTH"], "SECTION_URL" => $arResult["FOLDER"] . $arResult["URL_TEMPLATES"]["section"], "VIEW_MODE" => $arParams["SECTIONS_VIEW_MODE"], "SHOW_PARENT_NAME" => $arParams["SECTIONS_SHOW_PARENT_NAME"], "HIDE_SECTION_NAME" => isset($arParams["SECTIONS_HIDE_SECTION_NAME"]) ? $arParams["SECTIONS_HIDE_SECTION_NAME"] : "N", "ADD_SECTIONS_CHAIN" => isset($arParams["ADD_SECTIONS_CHAIN"]) ? $arParams["ADD_SECTIONS_CHAIN"] : ''), $component, array("HIDE_ICONS" => "Y")); ?> <div class="divider" id="secdetsdiv"></div> <?php //If there's no subcategories, let's roll out main categories $secid = CIBlockFindTools::GetSectionID($secid, $arResult["VARIABLES"]["SECTION_CODE"], $arFlt); $arFlt = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "SECTION_ID" => $secid); if (CIBlockSection::GetCount($arFlt) <= 0) { $APPLICATION->IncludeComponent("bitrix:catalog.section.list", "", array("IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "CACHE_TYPE" => $arParams["CACHE_TYPE"], "CACHE_TIME" => $arParams["CACHE_TIME"], "CACHE_GROUPS" => $arParams["CACHE_GROUPS"], "COUNT_ELEMENTS" => $arParams["SECTION_COUNT_ELEMENTS"], "TOP_DEPTH" => $arParams["SECTION_TOP_DEPTH"], "SECTION_URL" => $arResult["FOLDER"] . $arResult["URL_TEMPLATES"]["section"], "VIEW_MODE" => $arParams["SECTIONS_VIEW_MODE"], "SHOW_PARENT_NAME" => $arParams["SECTIONS_SHOW_PARENT_NAME"], "HIDE_SECTION_NAME" => isset($arParams["SECTIONS_HIDE_SECTION_NAME"]) ? $arParams["SECTIONS_HIDE_SECTION_NAME"] : "N", "ADD_SECTIONS_CHAIN" => isset($arParams["ADD_SECTIONS_CHAIN"]) ? $arParams["ADD_SECTIONS_CHAIN"] : ''), $component, array("HIDE_ICONS" => "Y")); } ?> <?php if ($arParams["USE_COMPARE"] == "Y") { $APPLICATION->IncludeComponent("bitrix:catalog.compare.list", "", array("IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "IBLOCK_ID" => $arParams["IBLOCK_ID"], "NAME" => $arParams["COMPARE_NAME"], "DETAIL_URL" => $arResult["FOLDER"] . $arResult["URL_TEMPLATES"]["element"], "COMPARE_URL" => $arResult["FOLDER"] . $arResult["URL_TEMPLATES"]["compare"], "ACTION_VARIABLE" => $arParams["ACTION_VARIABLE"], "PRODUCT_ID_VARIABLE" => $arParams["PRODUCT_ID_VARIABLE"], 'POSITION_FIXED' => isset($arParams['COMPARE_POSITION_FIXED']) ? $arParams['COMPARE_POSITION_FIXED'] : '', 'POSITION' => isset($arParams['COMPARE_POSITION']) ? $arParams['COMPARE_POSITION'] : ''), $component, array("HIDE_ICONS" => "Y")); } if (isset($arParams['USE_COMMON_SETTINGS_BASKET_POPUP']) && $arParams['USE_COMMON_SETTINGS_BASKET_POPUP'] == 'Y') { $basketAction = isset($arParams['COMMON_ADD_TO_BASKET_ACTION']) ? $arParams['COMMON_ADD_TO_BASKET_ACTION'] : ''; } else { $basketAction = isset($arParams['SECTION_ADD_TO_BASKET_ACTION']) ? $arParams['SECTION_ADD_TO_BASKET_ACTION'] : ''; } $intSectionID = 0;
$row->AddViewField("NAME", '<a href="' . htmlspecialcharsbx(CIBlock::GetAdminSectionListLink($f_ID, array('find_section_section' => 0))) . '" title="' . GetMessage("IBLOCK_ADM_TO_SECTLIST") . '">' . $f_NAME . '</a>'); } else { $row->AddViewField("NAME", '<a href="' . htmlspecialcharsbx(CIBlock::GetAdminElementListLink($f_ID, array('find_section_section' => -1))) . '" title="' . GetMessage("IBLOCK_ADM_TO_EL_LIST") . '">' . $f_NAME . '</a>'); } $row->AddCheckField("ACTIVE", false); $row->AddCheckField("INDEX_ELEMENT", false); if ($bWorkflow) { $row->AddCheckField("WORKFLOW", false); } } if (in_array("ELEMENT_CNT", $lAdmin->GetVisibleHeaderColumns())) { $f_ELEMENT_CNT = CIBlock::GetElementCount($f_ID); $row->AddViewField("ELEMENT_CNT", '<a href="' . htmlspecialcharsbx(CIBlock::GetAdminElementListLink($f_ID, array('find_section_section' => -1))) . '" title="' . GetMessage("IBLOCK_ADM_TO_ELLIST") . '">' . $f_ELEMENT_CNT . '</a>'); } if ($arIBTYPE["SECTIONS"] == "Y" && in_array("SECTION_CNT", $lAdmin->GetVisibleHeaderColumns())) { $row->AddViewField("SECTION_CNT", '<a href="' . htmlspecialcharsbx(CIBlock::GetAdminSectionListLink($f_ID, array())) . '" title="' . GetMessage("IBLOCK_ADM_TO_SECTLIST") . '">' . IntVal(CIBlockSection::GetCount(array("IBLOCK_ID" => $f_ID))) . '</a>'); } if ($bBizproc && $dbrs["BIZPROC"] == "Y" && in_array("WORKFLOW_TEMPLATES", $lAdmin->GetVisibleHeaderColumns()) && IsModuleInstalled("bizprocdesigner")) { $cnt = CBPDocument::GetNumberOfWorkflowTemplatesForDocumentType(array("iblock", "CIBlockDocument", "iblock_" . $f_ID)); $row->AddViewField("WORKFLOW_TEMPLATES", '<a href="/bitrix/admin/iblock_bizproc_workflow_admin.php?document_type=iblock_' . $f_ID . '&lang=' . LANGUAGE_ID . '&back_url_list=' . urlencode($APPLICATION->GetCurPageParam("", array())) . '">' . $cnt . '</a>'); } $arActions = array(); if ($_REQUEST["admin"] == "Y" && CIBlockRights::UserHasRightTo($f_ID, $f_ID, "iblock_edit")) { $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage("MAIN_ADMIN_MENU_EDIT"), "DEFAULT" => $_REQUEST["admin"] == "Y", "ACTION" => $lAdmin->ActionRedirect("iblock_edit.php?ID=" . $f_ID . "&type=" . urlencode($type) . "&lang=" . LANGUAGE_ID . "&admin=" . ($_REQUEST["admin"] == "Y" ? "Y" : "N"))); $arActions[] = array("ICON" => "list", "TEXT" => GetMessage("IBLOCK_ADM_MENU_PROPERTIES"), "ACTION" => $lAdmin->ActionRedirect("iblock_property_admin.php?IBLOCK_ID=" . $f_ID . "&lang=" . LANGUAGE_ID . ($_REQUEST["admin"] == "Y" ? "&admin=Y" : "&admin=N"))); } if ($bBizproc && $dbrs["BIZPROC"] == "Y" && CIBlockRights::UserHasRightTo($f_ID, $f_ID, "iblock_edit") && IsModuleInstalled("bizprocdesigner")) { $arActions[] = array("ICON" => "", "TEXT" => GetMessage("IBLOCK_ADM_MENU_BIZPROC"), "ACTION" => "window.location='/bitrix/admin/iblock_bizproc_workflow_admin.php?document_type=iblock_" . $f_ID . "&lang=" . LANGUAGE_ID . "';"); } if ($_REQUEST["admin"] == "Y" && CIBlockRights::UserHasRightTo($f_ID, $f_ID, "iblock_delete")) { $arActions[] = array("ICON" => "delete", "TEXT" => GetMessage("MAIN_ADMIN_MENU_DELETE"), "ACTION" => "if(confirm('" . GetMessageJS("IBLOCK_ADM_CONFIRM_DEL_MESSAGE") . "')) " . $lAdmin->ActionDoGroup($f_ID, "delete", "&type=" . htmlspecialcharsbx($type) . "&lang=" . LANGUAGE_ID . "&admin=" . ($_REQUEST["admin"] == "Y" ? "Y" : "N")));
} if ($groupCache->StartDataCache()) { $groupCache->EndDataCache(array('GROUP_TREE' => $groupTree)); } } unset($groupCache); usort($groupTree, "_wd_aggregator_sort"); $folderTree = array_merge($folderTree, $groupTree); } } } // SCAN USERS // **************************************************** if ($mode == 'root' || $mode == 'user') { $arFilter = array("IBLOCK_ID" => $arParams["IBLOCK_USER_ID"], "SOCNET_GROUP_ID" => false, "SECTION_ID" => 0, "CHECK_PERMISSIONS" => 'N'); if (CSocNetFeatures::IsActiveFeature(SONET_ENTITY_USER, $currentUserID, "files") && CIBlockSection::GetCount($arFilter) > 0) { $path = $arParams['SEF_FOLDER'] . $modes['user'] . ''; $folderTree[] = array('NAME' => _getName($path), 'PATH' => _getPath($path, $arParams['SEF_FOLDER']), 'DEPTH_LEVEL' => 0, 'MODE' => 'local', 'CLASS' => 'users'); } } if ($mode == 'user') { $arLocalPath = explode('/', trim($localPath, '/')); if (empty($arLocalPath[0])) { unset($arLocalPath[0]); } if (sizeof($arLocalPath) > 0) { $userName = $arLocalPath[0]; $userFilter = array(); if (strpos($userName, '(') !== false) { $userFilter = array('LOGIN_EQUAL' => trim($userName, '()')); $dbUser = CUser::GetList($by, $order, $userFilter);
'description' => $f_TYPE=="E", ) ); } if($f_TYPE=="S") { if(array_key_exists("ELEMENT_CNT", $arVisibleColumnsMap)) { $row->AddViewField("ELEMENT_CNT", $f_ELEMENT_CNT.'('.IntVal(CIBlockSection::GetSectionElementsCount($f_ID, Array("CNT_ALL"=>"Y"))).')'); } if(array_key_exists("SECTION_CNT", $arVisibleColumnsMap)) { $arFilter = Array("IBLOCK_ID"=>$IBLOCK_ID, "SECTION_ID"=>$f_ID); $row->AddViewField("SECTION_CNT", " ".IntVal(CIBlockSection::GetCount($arFilter))); } } if($f_TYPE=="E") { if (array_key_exists("PREVIEW_TEXT", $arVisibleColumnsMap)) $row->AddViewField("PREVIEW_TEXT", ($arRes["PREVIEW_TEXT_TYPE"]=="text" ? htmlspecialcharsex($arRes["PREVIEW_TEXT"]) : HTMLToTxt($arRes["PREVIEW_TEXT"]))); if (array_key_exists("DETAIL_TEXT", $arVisibleColumnsMap)) $row->AddViewField("DETAIL_TEXT", ($arRes["DETAIL_TEXT_TYPE"]=="text" ? htmlspecialcharsex($arRes["DETAIL_TEXT"]) : HTMLToTxt($arRes["DETAIL_TEXT"]))); if($bWorkFlow || $bBizproc) { $lamp = '<span class="adm-lamp adm-lamp-in-list adm-lamp-'.$lockStatus.'"></span>'; if($lockStatus=='red' && $arRes_orig['LOCKED_USER_NAME']!='') $row->AddViewField("LOCK_STATUS", $lamp.$arRes_orig['LOCKED_USER_NAME'].$unlock); else
} // массив для передачи в компонент новостей $USER->SetParam('elfilter', $arrElementsFilter); // массив текущих значений фильтра для отображения в форме $USER->SetParam('curFilterParams', $_POST); } if (isset($_GET["use_filter"]) && $_GET["use_filter"] == "y") { $arrFilterCurParams = $USER->GetParam('curFilterParams'); } // URL для отправки формы $arResult["ACTION_URL"] = $arParams["ACTION_URL"]; // фильтр по секциям if (isset($arParams["USE_SECTION_FILTER"]) && $arParams["USE_SECTION_FILTER"] == "Y") { $arSectFilter = array("IBLOCK_ID" => $arParams["IBLOCK_ID"], "GLOBAL_ACTIVE" => "Y"); // Если у инфоблока есть секции if (CIBlockSection::GetCount($arSectFilter) > 0) { $arrSections = array(); $dbSectList = CIBlockSection::GetList(array("SORT" => "ASC"), $arSectFilter, false, array("ID", "NAME")); // получаем список секций инфоблока (массив "ИД_РАЗДЕЛА" => "Название раздела") while ($tmpSectArr = $dbSectList->Fetch()) { $arrSections[$tmpSectArr["ID"]] = $tmpSectArr["NAME"]; } // Формируем HTML на основе данных и добавляем его в $arResult["FIELDS"] $fld_html = '<select name="SECTIONS[]" multiple = "multiple" size="5">'; $fld_html .= '<option value="-">-</option>'; foreach ($arrSections as $key => $value) { if (array_key_exists("SECTIONS", $arrFilterCurParams) && in_array($key, $arrFilterCurParams["SECTIONS"])) { $fld_html .= '<option value="' . $key . '" selected="selected">' . $value . '</option>'; } else { $fld_html .= '<option value="' . $key . '">' . $value . '</option>'; }
function GetSection($id, &$arSection, $params = array()) { static $arResult = array(); $params = is_array($params) ? $params : array($params); $id = intval($id); if ($id <= 0) { return 200; } $arCache = array("id" => serialize(array("iblock_id" => $this->IBlockID, "section_id" => $id, "gallery_id" => $this->Gallery && $this->Gallery['ID'] ? $this->Gallery['ID'] : "0", "site" => SITE_ID)), "path" => $this->arCache["path"], "time" => $this->arCache["time"]); if (($tzOffset = CTimeZone::GetOffset()) != 0) { $arCache["id"] .= "_" . $tzOffset; } if (empty($arResult[$arCache["id"]])) { $cache = new CPHPCache(); if ($arCache["time"] > 0 && $cache->InitCache($arCache["time"], $arCache["id"], $arCache["path"])) { $arResult[$arCache["id"]] = $cache->GetVars(); } else { CModule::IncludeModule("iblock"); $arFilter = array("IBLOCK_ACTIVE" => "Y", "IBLOCK_ID" => $this->IBlockID, "ID" => $id); $db_res = CIBlockSection::GetList(array(), $arFilter, false); if (!($db_res && ($arSection = $db_res->GetNext()))) { if ($this->arError["show_error"] == "Y") { ShowError(GetMessage("P_SECTION_NOT_FOUND")); } if ($this->arError["set_404"] == "Y") { @define("ERROR_404", "Y"); CHTTP::SetStatus("404 Not Found"); } return 404; } elseif ($arSection["ACTIVE"] != "Y" && $this->User["Permission"] < "U") { if ($this->arError["show_error"] == "Y") { ShowError(GetMessage("P_ALBUM_IS_BLOCKED")); } return 405; } elseif ($this->Gallery && ($arSection["LEFT_MARGIN"] < $this->Gallery["LEFT_MARGIN"] || $this->Gallery["RIGHT_MARGIN"] < $arSection["RIGHT_MARGIN"])) { return 301; } else { $arSection["SECTIONS_CNT"] = 0; if ($arSection["RIGHT_MARGIN"] - $arSection["LEFT_MARGIN"] > 1) { $arSection["SECTIONS_CNT"] = intVal(CIBlockSection::GetCount(array("SECTION_ID" => $arSection["ID"]))); } $arSection["SECTION_ELEMENTS_CNT"] = $arSection["SECTION_ELEMENTS_CNT_ALL"] = $arSection["ELEMENTS_CNT"] = 0; $arSection["ELEMENTS_CNT_ALL"] = intVal(CIBlockSection::GetSectionElementsCount($arSection["ID"], array("CNT_ALL" => "Y"))); // if section not empty if ($arSection["ELEMENTS_CNT_ALL"] > 0) { if ($arSection["SECTIONS_CNT"] > 0) { $arSection["SECTION_ELEMENTS_CNT_ALL"] = intval(CIBlockElement::GetList(array(), array("SECTION_ID" => $arSection["ID"]), array(), false, array("ID"))); } else { $arSection["SECTION_ELEMENTS_CNT_ALL"] = $arSection["ELEMENTS_CNT_ALL"]; } if ($this->User["Permission"] < "U") { $arSection["ELEMENTS_CNT"] = intVal(CIBlockSection::GetSectionElementsCount($arSection["ID"], array("CNT_ACTIVE" => "Y"))); } else { $arSection["ELEMENTS_CNT"] = $arSection["ELEMENTS_CNT_ALL"]; } // if not exists active elements if ($arSection["ELEMENTS_CNT"] <= 0) { $arSection["SECTION_ELEMENTS_CNT"] = 0; } elseif ($arSection["ELEMENTS_CNT_ALL"] == $arSection["ELEMENTS_CNT"]) { $arSection["SECTION_ELEMENTS_CNT"] = $arSection["SECTION_ELEMENTS_CNT_ALL"]; } elseif ($arSection["SECTIONS_CNT"] <= 0) { $arSection["SECTION_ELEMENTS_CNT"] = $arSection["ELEMENTS_CNT"]; } else { $arSection["SECTION_ELEMENTS_CNT"] = intval(CIBlockElement::GetList(array(), array("SECTION_ID" => $arSection["ID"], "ACTIVE" => "Y"), array(), false, array("ID"))); } } $arUserFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("IBLOCK_" . $this->IBlockID . "_SECTION", $arSection["ID"], LANGUAGE_ID); $arSection["USER_FIELDS"] = $arUserFields; $arSection["DATE"] = $arSection["~DATE"] = $arUserFields["UF_DATE"]; $arSection["~PASSWORD"] = $arUserFields["UF_PASSWORD"]; if (is_array($arSection["~PASSWORD"])) { $arSection["PASSWORD"] = $arSection["~PASSWORD"]["VALUE"]; } $arSection["PICTURE"] = CFile::GetFileArray($arSection["PICTURE"]); $arSection["DETAIL_PICTURE"] = CFile::GetFileArray($arSection["DETAIL_PICTURE"]); $arSection["PATH"] = array(); $db_res = GetIBlockSectionPath($this->IBlockID, $arSection["ID"]); while ($res = $db_res->GetNext()) { $arUserFields = $GLOBALS["USER_FIELD_MANAGER"]->GetUserFields("IBLOCK_" . $this->IBlockID . "_SECTION", $res["ID"], LANGUAGE_ID); $res["~PASSWORD"] = $arUserFields["UF_PASSWORD"]; if (is_array($res["~PASSWORD"])) { $res["PASSWORD"] = $res["~PASSWORD"]["VALUE"]; } $arSection["PATH"][$res["ID"]] = $res; } $arResult[$arCache["id"]] = $arSection; if ($arCache["time"] > 0) { $cache->StartDataCache($arCache["time"], $arCache["id"], $arCache["path"]); $cache->EndDataCache($arSection); } } } } $arSection = $arResult[$arCache["id"]]; return 200; }
return; } //Plug-in Blogs if (!CModule::IncludeModule("blog")) { $this->AbortResultCache(); ShowError(GetMessage("BLOG_MODULE_NOT_INSTALLED")); return; } //Get the number of participants $participantsCount = CUser::GetCount(); $arResult["PARTICIPANTS"] = $participantsCount; //Get the number of experts $groupId = $arParams["EXPERTS_GROUP"]; $arExperts = CGroup::GetGroupUser($groupId); //Alternative CGroup::GetList with SHOW_USERS_AMOUNT $arResult["EXPERTS"] = count($arExperts); //Get the number of questions $arFilter = array("IBLOCK_ID" => $arParams["QUESTIONS_IBLOCK_ID"], "ACTIVE" => "Y"); $arResult["QUESTIONS"] = CIBlockElement::GetList(array(), $arFilter, array(), false, array()); //Get the number of categoties $arFilter = array("IBLOCK_ID" => $arParams["CATEGORIES_IBLOCK_ID"], "ACTIVE" => "Y", "DEPTH_LEVEL" => 1); $arResult["CATEGORIES"] = CIBlockSection::GetCount($arFilter); //Get the number of work $arFilter = array("IBLOCK_ID" => $arParams["WORK_IBLOCK_ID"], "ACTIVE" => "Y"); $arResult["WORK"] = CIBlockElement::GetList(array(), $arFilter, array(), false, array()); //Get the number of comments $arFilter = array("BLOG_ID" => $arParams["BLOG_ID"]); $arResult["COMMENTS"] = CBlogComment::GetList(array(), $arFilter, array(), false, array()); //Plug-in tenplate $this->IncludeComponentTemplate(); }