Current Path : /var/www/html/clients/wodo.e-nk.ru/bitrix/components/bitrix/wiki.categories/ |
Current File : /var/www/html/clients/wodo.e-nk.ru/bitrix/components/bitrix/wiki.categories/component.php |
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); $arParams['IN_COMPLEX'] = 'N'; if (($arParent = $this->GetParent()) !== NULL) $arParams['IN_COMPLEX'] = 'Y'; if(empty($arParams["PAGE_VAR"])) $arParams["PAGE_VAR"] = "title"; if(empty($arParams["PAGE_OPER"])) $arParams["OPER_VAR"] = "oper"; $arParams["PATH_TO_POST"] = trim($arParams["PATH_TO_POST"]); if(empty($arParams["SEF_MODE"])) { $arParams["SEF_MODE"] = "N"; if ($arParams['IN_COMPLEX'] == 'Y') $arParams["SEF_MODE"] = $this->GetParent()->arResult['SEF_MODE']; } if(empty($arParams["SOCNET_GROUP_ID"]) && $arParams['IN_COMPLEX'] == 'Y') { if (strpos($this->GetParent()->GetName(), 'socialnetwork') !== false && !empty($this->GetParent()->arResult['VARIABLES']['group_id'])) $arParams["SOCNET_GROUP_ID"] = $this->GetParent()->arResult['VARIABLES']['group_id']; } ; $arParams["PATH_TO_POST"] = trim($arParams["PATH_TO_POST"]); if(strlen($arParams["PATH_TO_POST"])<=0) $arParams["PATH_TO_POST"] = htmlspecialchars($APPLICATION->GetCurPage()."?$arParams[PAGE_VAR]=#wiki_name#"); $arParams["PATH_TO_CATEGORY"] = trim($arParams["PATH_TO_POST"]); $arParams["PATH_TO_CATEGORIES"] = trim($arParams["PATH_TO_CATEGORIES"]); if(strlen($arParams["PATH_TO_CATEGORIES"])<=0) { $arParams["PATH_TO_CATEGORIES"] = htmlspecialchars($APPLICATION->GetCurPage()."?$arParams[OPER_VAR]=categories"); if ($arParams['IN_COMPLEX'] == 'Y' && $arParams["SEF_MODE"] == "Y") $arParams["PATH_TO_CATEGORIES"] = $this->GetParent()->arResult['PATH_TO_CATEGORIES']; } $arParams["PATH_TO_USER"] = trim($arParams["PATH_TO_USER"]); if(strlen($arParams["PATH_TO_USER"])<=0) { if ($arParams['IN_COMPLEX'] == 'Y' && $arParams["SEF_MODE"] == "Y") $arParams["PATH_TO_USER"] = $this->GetParent()->arParams['PATH_TO_USER']; } if (empty($arParams["CATEGORY_COUNT"])) $arParams["CATEGORY_COUNT"] = 20; $sCategoryName = !empty($GLOBALS['q']) ? $GLOBALS['q'] : ''; if(!empty($sCategoryName)) $arResult['QUERY'] = htmlspecialchars($sCategoryName); $GLOBALS['arParams'] = $arParams; if (!CModule::IncludeModule("wiki")) { ShowError(GetMessage("WIKI_MODULE_NOT_INSTALLED")); return; } if(!CModule::IncludeModule("iblock")) { ShowError(GetMessage("IBLOCK_MODULE_NOT_INSTALLED")); return; } if (!CWikiUtils::IsReadable()) { ShowError(GetMessage("WIKI_ACCESS_DENIED")); return; } if (empty($arParams['IBLOCK_ID'])) { ShowError(GetMessage("IBLOCK_NOT_ASSIGNED")); return; } if (CWikiSocnet::isEnabledSocnet() && !empty($arParams["SOCNET_GROUP_ID"])) { if(!CModule::IncludeModule("socialnetwork")) { ShowError(GetMessage("SOCNET_MODULE_NOT_INSTALLED")); return; } } if (CWikiSocnet::isEnabledSocnet() && !empty($arParams["SOCNET_GROUP_ID"])) { if (!CWikiSocnet::Init($arParams["SOCNET_GROUP_ID"], $arParams["IBLOCK_ID"])) { ShowError(GetMessage("WIKI_SOCNET_INITIALIZING_FAILED")); return; } } //$arResult['TOPLINKS'] = CWikiUtils::getRightsLinks('service', $arParams); // looking for a page without categories /*$arFilter = array(); $arFilter = array( "IBLOCK_LID" => SITE_ID, "IBLOCK_ID" => $arParams['IBLOCK_ID'], "CHECK_PERMISSIONS" => 'N', "IBLOCK_TYPE" => $arParams["IBLOCK_TYPE"], "ACTIVE" => 'Y', "!NAME" => 'Category%', "SECTION_ID" => false ); if (CWikiSocnet::IsSocNet()) $arFilter['SUBSECTION'] = CWikiSocnet::$iCatId; $rsElement = CIBlockElement::GetList(array(), $arFilter, false, false, Array()); $iUnsorted = 0; while($arElement = $rsElement->GetNext()) $iUnsorted++; */ $arParams["ELEMENT_NAME"] = urldecode($arParams["ELEMENT_NAME"]); $arFilter = Array(); $arFilter['IBLOCK_ID'] = $arParams['IBLOCK_ID']; $arFilter['GLOBAL_ACTIVE'] = 'Y'; $arFilter['CNT_ACTIVE'] = 'Y'; $arFilter['ELEMENT_SUBSECTIONS'] = 'Y'; if (CWikiSocnet::IsSocNet()) { $arFilter['>LEFT_BORDER'] = CWikiSocnet::$iCatLeftBorder; $arFilter['<RIGHT_BORDER'] = CWikiSocnet::$iCatRightBorder; } if (!empty($sCategoryName)) { $arFilter['NAME'] = '%'.$sCategoryName.'%'; } $dbList = CIBlockSection::GetList(Array('NAME'=>'ASC'), $arFilter, true); $dbList->NavStart($arParams["CATEGORY_COUNT"], false); $arResult['DB_LIST'] = &$dbList; $arResult['CATEGORIES'] = array(); $arCatName = array(); $arCatNameExists = array(); while($arCat = $dbList->GetNext()) { $arCatName[] = 'Category:'.$arCat['NAME']; $arResult['CATEGORIES'][strtolower($arCat['NAME'])] = array( 'TITLE' => $arCat['NAME'], 'NAME' => $arCat['NAME'], 'CNT' => $arCat['ELEMENT_CNT'], 'IS_RED' => 'Y', 'LINK' => CComponentEngine::MakePathFromTemplate($arParams['PATH_TO_CATEGORY'], array('wiki_name' => urlencode('Category:'.$arCat['NAME']), 'group_id' => CWikiSocnet::$iSocNetId)) ); } if (!empty($arCatName)) { // checking the category on the "red link" $arFilter = array( "IBLOCK_ID" => $arParams['IBLOCK_ID'], "CHECK_PERMISSIONS" => 'N', "ACTIVE" => 'Y', "NAME" => $arCatName ); if (CWikiSocnet::IsSocNet()) $arFilter['SUBSECTION'] = CWikiSocnet::$iCatId; $rsElement = CIBlockElement::GetList(array(), $arFilter, false, false, Array()); while($arElement = $rsElement->GetNext()) $arCatNameExists[] = substr($arElement['NAME'], strpos($arElement['NAME'], ':') + 1); if (!empty($arCatNameExists)) { foreach ($arCatNameExists as $sCatName) { $sCatName = strtolower($sCatName); if (isset($arResult['CATEGORIES'][$sCatName])) $arResult['CATEGORIES'][$sCatName]['IS_RED'] = 'N'; } } } include_once($_SERVER['DOCUMENT_ROOT'].'/bitrix/components/bitrix/wiki/include/nav.php'); $this->IncludeComponentTemplate(); unset($GLOBALS['arParams']); ?>