public function GetIBlockTypes($lid, $catalogOnly = true, $hideOffers = true) { CModule::IncludeModule("iblock"); $arTypeAll = array(); $dbIBlock = CIBlock::GetList(array("IBLOCK_TYPE" => "ASC", "NAME" => "ASC"), array("LID" => $lid)); while ($arIBlock = $dbIBlock->Fetch()) { if (true == $catalogOnly) { if (CModule::IncludeModule("catalog") && CCatalog::GetByID($arIBlock["ID"])) { if ($hideOffers == true && CCatalogSKU::GetInfoByOfferIBlock($arIBlock["ID"])) { continue; } $arTypeIblock[] = $arIBlock; } } else { $arTypeIblock[] = $arIBlock; } } unset($dbIBlock); foreach ($arTypeIblock as $arIBlock) { $arType = CIBlockType::GetByIDLang($arIBlock["IBLOCK_TYPE_ID"], LANG); $arTypeAll[$arType["ID"]]["ID"] = $arType["ID"]; $arTypeAll[$arType["ID"]]["NAME"] = "{$arType["NAME"]} [{$arType["ID"]}]"; $arTypeAll[$arType["ID"]]["IBLOCK"][$arIBlock["ID"]] = "{$arIBlock["NAME"]} [{$arIBlock["ID"]}]"; unset($arType); } unset($arTypeIblock); return $arTypeAll; }
function getTypesFormatted() { $out = ''; $rResuls = CIBlockType::GetList(); while (false !== ($type = $rResuls->GetNext())) { $arType = CIBlockType::GetByIDLang($type['ID'], LANGUAGE_ID, true); $out .= sprintf('<option value="%s">%s</option>', $type['ID'], $arType['NAME']); } return $out; }
function get_iblock_types() { $rIBlockTypeList = CIBlockType::GetList(array('SORT' => 'ASC'), array()); $arIBlockTypeList = array(); while ($iblock_type = $rIBlockTypeList->GetNext()) { $arIBlockTypeList[] = $iblock_type; } foreach ($arIBlockTypeList as $i => $iblock_type) { $iblock_lang_settings = CIBlockType::GetByIDLang($iblock_type['ID'], LANGUAGE_ID, true); $arIBlockTypeList[$i]['NAME'] = $iblock_lang_settings['NAME']; } return $arIBlockTypeList; }
function GetIBlockTypes($arTop = false) { if (is_array($arTop)) { $arIBlockType = $arTop; } else { $arIBlockType = array(); } $rsIBlockType = CIBlockType::GetList(array("sort" => "asc"), array("ACTIVE" => "Y")); while ($arr = $rsIBlockType->Fetch()) { if ($ar = CIBlockType::GetByIDLang($arr["ID"], LANGUAGE_ID)) { $arIBlockType[$arr["ID"]] = "[" . $arr["ID"] . "] " . $ar["~NAME"]; } } return $arIBlockType; }
public static function check($type, $data = false) { $data = self::canonizeData($type, $data); $type = trim($data['ID']); $result = \CIBlockType::GetByID($type); $cdata = $result->Fetch(); if ($cdata) { $cdata['LANG'] = array(); foreach (array_keys(\TAO::getLangs()) as $lang) { $l = \CIBlockType::GetByIDLang($type, $lang); $cdata['LANG'][$lang] = array('NAME' => $l['NAME'], 'ELEMENT_NAME' => $l['ELEMENT_NAME'], 'SECTION_NAME' => $l['SECTION_NAME']); } $cdata = \TAO::mergeArgs($cdata, $data); self::updateType($cdata); } else { self::addNewType($data); } }
function GetFilterDropDown($bFilter = false) { if($bFilter) $arrDropdown = array( "no" => GetMessage("SEARCH_CP_NO_LIMIT"), "main" => "[main] ".GetMessage("SEARCH_CP_STATIC"), ); else $arrDropdown = array(); if(IsModuleInstalled("forum")) $arrDropdown["forum"] = "[forum] ".GetMessage("SEARCH_CP_FORUM"); if(CModule::IncludeModule("iblock")) { $rsType = CIBlockType::GetList(array("sort"=>"asc"), array("ACTIVE"=>"Y")); while ($arr=$rsType->Fetch()) { if($ar=CIBlockType::GetByIDLang($arr["ID"], LANGUAGE_ID)) $arrDropdown["iblock_".$arr["ID"]] = "[iblock_".$arr["ID"]."] ".$ar["~NAME"]; } } if(IsModuleInstalled("blog")) { $arrDropdown["blog"] = "[blog] ".GetMessage("SEARCH_CP_BLOG"); if($bFilter) $arrDropdown["microblog"] = "[microblog] ".GetMessage("SEARCH_CP_MICROBLOG"); } if(IsModuleInstalled("socialnetwork")) { $arrDropdown["socialnetwork"] = "[socialnetwork] ".GetMessage("SEARCH_CP_SOCNET"); $arrDropdown["socialnetwork_user"] = "******".GetMessage("SEARCH_CP_SOCNET_USER"); } if(IsModuleInstalled("intranet")) $arrDropdown["intranet"] = "[intranet] ".GetMessage("SEARCH_CP_INTRANET_USERS"); if(IsModuleInstalled("crm")) $arrDropdown["crm"] = "[crm] ".GetMessage("SEARCH_CP_CRM"); return $arrDropdown; }
$arOwnBlock['OFFERS_PROPERTY_ID'] = $arOneCatalog['SKU_PROPERTY_ID']; $arIBlockFullInfo[$arOneCatalog['PRODUCT_IBLOCK_ID']] = $arOwnBlock; unset($arOwnBlock); } $arIBlockFullInfo[$arOneCatalog['IBLOCK_ID']] = $arIBlock; if ('Y' == $arIBlock['IS_CATALOG']) $arCatalogList[$arOneCatalog['IBLOCK_ID']] = $arIBlock; unset($arIBlock); } $arIBlockTypeIDList = array(); $arIBlockTypeNameList = array(); $rsIBlockTypes = CIBlockType::GetList(array("sort"=>"asc"), array("ACTIVE"=>"Y")); while ($arIBlockType = $rsIBlockTypes->Fetch()) { if ($ar = CIBlockType::GetByIDLang($arIBlockType["ID"], LANGUAGE_ID, true)) { $arIBlockTypeIDList[] = htmlspecialcharsbx($arIBlockType["ID"]); $arIBlockTypeNameList[] = htmlspecialcharsbx('['.$arIBlockType["ID"].'] '.$ar["~NAME"]); } } $arDoubleIBlockFullInfo = $arIBlockFullInfo; ?> <tr><td><? if (!empty($arRecurring)) { $strRecurring = Loc::getMessage('SMALL_BUSINESS_RECURRING_ERR_LIST').'<ul><li>'.implode('</li><li>', $arRecurring).'</li></ul>'.Loc::getMessage('SMALL_BUSINESS_RECURRING_ERR_LIST_CLEAR'); CAdminMessage::ShowMessage(array( "MESSAGE" => Loc::getMessage("SMALL_BUSINESS_RECURRING_ERR"),
/** * getLangData * @param $iblockTypeId * @return array */ private function getLangData($iblockTypeId) { $CIblockType = new \CIBlockType(); $lang = new \CLanguage(); $result = array(); $langDbRes = $lang->GetList($by = "lid", $order = "desc", array()); while ($langData = $langDbRes->Fetch()) { $typeLangItemTmp = $CIblockType->GetByIDLang($iblockTypeId, $langData['LID']); $typeLangItem = array(); foreach ($typeLangItemTmp as $key => $value) { if (strstr($key, '~')) { continue; } $typeLangItem[$key] = $value; } $result[$langData['LID']] = $typeLangItem; } return $result; }
foreach ($arTypes as $arType) { if ($bUserIsAdmin || !empty($arType["IBLOCKS"]["X"])) { $arResult[] = array("text" => $arType["NAME~"], "url" => "iblock_admin.php?type=" . $arType["ID"] . "&lang=" . LANGUAGE_ID . "&admin=Y", "more_url" => array("iblock_admin.php?type=" . $arType["ID"] . "&lang=" . LANGUAGE_ID . "&admin=Y", "iblock_edit.php?type=" . $arType["ID"] . "&lang=" . LANGUAGE_ID . "&admin=Y"), "title" => $arType["NAME~"], "parent_menu" => "global_menu_content", "sort" => 200 + $obt_index, "icon" => "iblock_menu_icon_types", "page_icon" => "iblock_page_icon_settings", "module_id" => "iblock", "items_id" => "menu_iblock_admin_/" . $arType["ID"], "dynamic" => true, "items" => _get_iblocks_admin_menu($arType)); $obt_index++; } } return $arResult; } $aMenu = array(); //Read all necessary data from database global $USER; $bUserIsAdmin = $USER->IsAdmin(); $arTypes = array(); $rsTypes = CIBlockType::GetList(array("SORT" => "ASC")); while ($arType = $rsTypes->Fetch()) { $arType = CIBlockType::GetByIDLang($arType["ID"], LANGUAGE_ID); $arTypes[$arType["ID"]] = array("ID" => $arType["ID"], "NAME" => $arType["NAME"], "NAME~" => $arType["NAME"], "ELEMENT_NAME" => $arType["ELEMENT_NAME"], "SECTIONS" => $arType["SECTIONS"], "IBLOCKS" => array("S" => array(), "W" => array(), "X" => array())); } $bHasXRight = false; $bHasWRight = false; $bHasSRight = false; if ($bUserIsAdmin) { $rsIBlocks = CIBlock::GetList(array("SORT" => "asc", "NAME" => "ASC")); while ($arIBlock = $rsIBlocks->Fetch()) { if (!$arIBlock["ELEMENTS_NAME"]) { $arIBlock["ELEMENTS_NAME"] = $arTypes[$arIBlock["IBLOCK_TYPE_ID"]]["ELEMENT_NAME"] ?: GetMessage("IBLOCK_MENU_ELEMENTS"); } $arItem = array("ID" => $arIBlock["ID"], "NAME" => $arIBlock["NAME"], "NAME~" => htmlspecialcharsex($arIBlock["NAME"]), "ELEMENTS_NAME" => $arIBlock["ELEMENTS_NAME"], "URL_PART" => "type=" . $arIBlock["IBLOCK_TYPE_ID"] . "&lang=" . LANGUAGE_ID . "&IBLOCK_ID=" . $arIBlock["ID"]); $arTypes[$arIBlock["IBLOCK_TYPE_ID"]]["IBLOCKS"]["X"][] = $arItem; $bHasXRight = true; $arTypes[$arIBlock["IBLOCK_TYPE_ID"]]["IBLOCKS"]["W"][] = $arItem;
$bSearch = false; $bCurrency = false; $arCurrencyList = array(); $minImageSize = array("W" => 1, "H"=>1); $maxImageSize = array( "W" => COption::GetOptionString("iblock", "list_image_size"), "H" => COption::GetOptionString("iblock", "list_image_size"), ); if (isset($_REQUEST['mode']) && ($_REQUEST['mode']=='list' || $_REQUEST['mode']=='frame')) { CFile::DisableJSFunction(true); } $arIBTYPE = CIBlockType::GetByIDLang($type, LANGUAGE_ID); if($arIBTYPE===false) $APPLICATION->AuthForm(GetMessage("IBLIST_A_BAD_BLOCK_TYPE_ID")); $IBLOCK_ID = 0; if (isset($_REQUEST['IBLOCK_ID'])) $IBLOCK_ID = (int)$_REQUEST["IBLOCK_ID"]; $arIBlock = CIBlock::GetArrayByID($IBLOCK_ID); if($arIBlock) $bBadBlock = !CIBlockRights::UserHasRightTo($IBLOCK_ID, $IBLOCK_ID, "iblock_admin_display"); else $bBadBlock = true; if($bBadBlock) {
if (strlen($arParams["PATH_TO_BP"]) <= 0) { $arParams["PATH_TO_BP"] = htmlspecialcharsbx($APPLICATION->GetCurPage() . "?" . $arParams["PAGE_VAR"] . "=bp&" . $arParams["BLOCK_VAR"] . "=#block_id#"); } $arParams["PATH_TO_BP"] = $arParams["PATH_TO_BP"] . (strpos($arParams["PATH_TO_BP"], "?") === false ? "?" : "&") . bitrix_sessid_get(); $arResult["BackUrl"] = urlencode(strlen($_REQUEST["back_url"]) <= 0 ? $APPLICATION->GetCurPageParam() : $_REQUEST["back_url"]); $arResult["PATH_TO_INDEX"] = htmlspecialcharsbx(CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_INDEX"], array())); $arResult["FatalErrorMessage"] = ""; $arResult["ErrorMessage"] = ""; $arParams["IBLOCK_TYPE"] = trim($arParams["IBLOCK_TYPE"]); if (strlen($arParams["IBLOCK_TYPE"]) <= 0) { $arResult["FatalErrorMessage"] .= GetMessage("BPWC_WNC_EMPTY_IBLOCK_TYPE") . ". "; } $arParams["BLOCK_ID"] = intval($arParams["BLOCK_ID"]); if (strlen($arResult["FatalErrorMessage"]) <= 0) { $arResult["BlockType"] = null; $ar = CIBlockType::GetByIDLang($arParams["IBLOCK_TYPE"], LANGUAGE_ID, true); if ($ar) { $arResult["BlockType"] = $ar; } else { $arResult["FatalErrorMessage"] .= GetMessage("BPWC_WNC_WRONG_IBLOCK_TYPE") . ". "; } } if (strlen($arResult["FatalErrorMessage"]) <= 0) { if (strlen($_REQUEST["doCancel"]) > 0) { LocalRedirect(CComponentEngine::MakePathFromTemplate($arParams["PATH_TO_INDEX"], array())); } } if (strlen($arResult["FatalErrorMessage"]) <= 0) { $arResult["Step"] = intval($_REQUEST["bp_step"]); if ($arResult["Step"] <= 0) { $arResult["Step"] = 1;
foreach ($arParams["IBLOCK_TYPE_MASK"] as $val) { $val = substr($val, 0, -1); if (!empty($val) && strpos($arIbType["ID"], $val) !== false) { $continue = false; break; } } } } else { $continue = false; } if ($continue) { continue; } $level = 1 - ($arParams["DEPTH_LEVEL_START"] - 1); $arIBType = empty($arIbType['NAME']) ? CIBlockType::GetByIDLang($arIbType["ID"], LANG) : $arIbType; if ($arIBType) { $mainCnt = 0; $mainIndex = 0; if ($arParams["DEPTH_LEVEL_START"] <= 1) { $depthLevel = $level; $url = str_replace("#IBLOCK_TYPE#", $arIbType["ID"], $arParams["IBLOCK_TYPE_URL"]); $url = str_replace($arParams['IBLOCK_TYPE_URL_REPLACE'], "", $url); $arResult[$i] = array($arIBType["NAME"], $url, array()); $arResult[$i][3] = array("FROM_IBLOCK" => "1", "IS_PARENT" => "", "DEPTH_LEVEL" => $depthLevel, "FILTER" => $arFilterDefault + array("IBLOCK_TYPE" => $arIbType['ID'])); $mainIndex = $i; $i++; } if ($arParams["DEPTH_LEVEL_FINISH"] >= 2) { $arFilter = array('TYPE' => $arIbType["ID"], 'ID' => $arParams["IBLOCK_ID"], 'SITE_ID' => SITE_ID, 'ACTIVE' => 'Y', "CNT_ACTIVE" => 'Y'); $res = CIBlock::GetList(array($arParams['IBLOCK_SORT_FIELD'] => $arParams['IBLOCK_SORT_ORDER']), $arFilter, $bIncCnt);
<?php include $_SERVER['DOCUMENT_ROOT'] . '/local/vendor/techart/bitrix.tao/include/prolog_admin.php'; ?> <h2>Экспорт текущей схемы инфоблоков</h2> <ul> <?php $result = CIBlockType::GetList(array('SORT' => 'ASC'), array('CHECK_PERMISSIONS' => 'N')); while ($row = $result->Fetch()) { $r = CIBlockType::GetByIDLang($row['ID'], 'ru'); $name = $r['NAME']; $type = $row['ID']; ?> <li><?php echo $name; ?> </li><ul> <?php $iresult = CIBlock::GetList(array('SORT' => 'ASC'), array('CHECK_PERMISSIONS' => 'N', 'TYPE' => $type)); while ($irow = $iresult->Fetch()) { ?> <li><a href="tao-export-iblock.php?id=<?php echo $irow['ID']; ?> "><?php echo $irow['NAME']; ?> </a></li><?php } ?>
Chlist(cnt, i, ar[i + 3]); Chlist(cnt, i); } //--> </script> <?php $arIBlockCache = array(); $arIBlockTypeCache = array(); $maxLevel = 0; $dbIBlockList = CIBlock::GetList(array("IBLOCK_TYPE" => "ASC", "NAME" => "ASC"), array("ACTIVE" => "Y")); while ($arIBlock = $dbIBlockList->Fetch()) { $arIBlockCache[] = $arIBlock; if (!array_key_exists($arIBlock["IBLOCK_TYPE_ID"], $arIBlockTypeCache)) { if ($arIBlockType = CIBlockType::GetByIDLang($arIBlock["IBLOCK_TYPE_ID"], LANG, true)) { $arIBlockTypeCache[$arIBlock["IBLOCK_TYPE_ID"]] = $arIBlockType["NAME"]; } } $arSections = array(); $dbSectionTree = CIBlockSection::GetTreeList(array("IBLOCK_ID" => $arIBlock["ID"])); while ($arSectionTree = $dbSectionTree->Fetch()) { if ($maxLevel < $arSectionTree["DEPTH_LEVEL"]) { $maxLevel = $arSectionTree["DEPTH_LEVEL"]; } $arSectionTree["IBLOCK_SECTION_ID"] = IntVal($arSectionTree["IBLOCK_SECTION_ID"]); if (!is_array($arSections[$arSectionTree["IBLOCK_SECTION_ID"]])) { $arSections[$arSectionTree["IBLOCK_SECTION_ID"]] = array(); } $arSections[$arSectionTree["IBLOCK_SECTION_ID"]][] = array("ID" => $arSectionTree["ID"], "NAME" => $arSectionTree["NAME"]); }
<?php require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php"; require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/iblock/iblock.php"; require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/iblock/prolog.php"; IncludeModuleLangFile(__FILE__); if (!CModule::IncludeModule("workflow")) { die; } $arIBTYPE = CIBlockType::GetByIDLang($type, LANG); if ($arIBTYPE == false) { die; } $IBLOCK_ID = intval($IBLOCK_ID); $ELEMENT_ID = intval($ELEMENT_ID); $find_section_section = intval($find_section_section); $iblock = CIBlock::GetByID($IBLOCK_ID); if ($arIBlock = $iblock->Fetch()) { if (!CIBlockRights::UserHasRightTo($IBLOCK_ID, $IBLOCK_ID, "iblock_admin_display")) { $APPLICATION->SetTitle(GetMessage("IBLOCK_ADM_HISTORY_TITLE", array("#ID#" => $ELEMENT_ID))); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; echo ShowError(GetMessage("IBLOCK_ADM_HISTORY_BAD_IBLOCK")); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/epilog_admin.php"; die; } } $LAST_ID = CIBlockElement::WF_GetLast($ELEMENT_ID); $z = CIblockElement::GetByID($LAST_ID); if (!($zr = $z->Fetch())) { $APPLICATION->SetTitle(GetMessage("IBLOCK_ADM_HISTORY_TITLE", array("#ID#" => $ELEMENT_ID))); require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php";
$DB->Commit(); break; } } } // Fill list with data $rsData = CIBlockType::GetList($arOrder, $arFilter); $rsData = new CAdminResult($rsData, $sTableID); $rsData->NavStart(); // Set page navigation $lAdmin->NavText($rsData->GetNavPrint(GetMessage("IBLOCK_TYPE_ADMIN_NAV"))); // List headers/columns $lAdmin->AddHeaders(array(array("id" => "ID", "content" => "ID", "sort" => "id", "default" => true), array("id" => "NAME", "content" => GetMessage("IBLOCK_TYPE_ADMIN_COL_NAME"), "default" => true), array("id" => "SORT", "content" => GetMessage("IBLOCK_TYPE_ADMIN_COL_SORT"), "sort" => "sort", "default" => true, "align" => "right"), array("id" => "SECTIONS", "content" => GetMessage("IBLOCK_TYPE_ADMIN_COL_SECT"), "default" => true, "align" => "center"), array("id" => "IN_RSS", "content" => GetMessage("IBLOCK_TYPE_ADMIN_COL_RSS"), "default" => true, "align" => "center"), array("id" => "EDIT_FILE_BEFORE", "content" => GetMessage("IBLOCK_TYPE_ADMIN_COL_EDIT_BEF")), array("id" => "EDIT_FILE_AFTER", "content" => GetMessage("IBLOCK_TYPE_ADMIN_COL_EDIT_AFT")))); // Build elements list while ($arRes = $rsData->NavNext(true, "f_")) { $ibtypelang = CIBlockType::GetByIDLang($f_ID, LANGUAGE_ID); $row =& $lAdmin->AddRow($f_ID, $arRes); $row->AddViewField("NAME", $ibtypelang["NAME"]); if ($USER->IsAdmin()) { $row->AddInputField("SORT"); $row->AddCheckField("SECTIONS"); $row->AddCheckField("IN_RSS"); $row->AddInputField("EDIT_FILE_BEFORE"); $row->AddInputField("EDIT_FILE_AFTER"); } else { $row->AddViewField("SORT", $f_SORT); $row->AddCheckField("SECTIONS", false); $row->AddCheckField("IN_RSS", false); $row->AddViewField("EDIT_FILE_BEFORE", $f_EDIT_FILE_BEFORE); $row->AddViewField("EDIT_FILE_AFTER", $f_EDIT_FILE_AFTER); }
/** * <p>Функция возвращает значения <a href="http://dev.1c-bitrix.ru/api_help/iblock/fields.php#fiblocklang">дополнительных полей</a> инфоблока.</p> * * * * * @param int $ID Код инфоблока. <br> * * * * @return array <p>Массив значений <a * href="http://dev.1c-bitrix.ru/api_help/iblock/fields.php#fiblocklang">дополнительных полей</a> * инфоблока.</p> * * * <h4>See Also</h4> * <ul> <li><a href="http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblock/SetMessages.php">CIBlock::SetMessages</a></li> * <li><a href="http://dev.1c-bitrix.ru/api_help/iblock/fields.php#fiblocklang">Дополнительные * поля</a></li> </ul><br><br> * * * @static * @link http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblock/GetMessages.php * @author Bitrix */ public static function GetMessages($ID, $type = "") { /** @global CDatabase $DB */ global $DB; $ID = intval($ID); $arMessages = array("ELEMENT_NAME" => GetMessage("IBLOCK_MESS_ELEMENT_NAME"), "ELEMENTS_NAME" => "", "ELEMENT_ADD" => GetMessage("IBLOCK_MESS_ELEMENT_ADD"), "ELEMENT_EDIT" => GetMessage("IBLOCK_MESS_ELEMENT_EDIT"), "ELEMENT_DELETE" => GetMessage("IBLOCK_MESS_ELEMENT_DELETE"), "SECTION_NAME" => GetMessage("IBLOCK_MESS_SECTION_NAME"), "SECTIONS_NAME" => "", "SECTION_ADD" => GetMessage("IBLOCK_MESS_SECTION_ADD"), "SECTION_EDIT" => GetMessage("IBLOCK_MESS_SECTION_EDIT"), "SECTION_DELETE" => GetMessage("IBLOCK_MESS_SECTION_DELETE")); $res = $DB->Query("\n\t\t\tSELECT\n\t\t\t\tB.IBLOCK_TYPE_ID\n\t\t\t\t,M.IBLOCK_ID\n\t\t\t\t,M.MESSAGE_ID\n\t\t\t\t,M.MESSAGE_TEXT\n\t\t\tFROM\n\t\t\t\tb_iblock B\n\t\t\t\tLEFT JOIN b_iblock_messages M ON B.ID = M.IBLOCK_ID\n\t\t\tWHERE\n\t\t\t\tB.ID = " . $ID . "\n\t\t"); while ($ar = $res->Fetch()) { $type = $ar["IBLOCK_TYPE_ID"]; if ($ar["MESSAGE_ID"]) { $arMessages[$ar["MESSAGE_ID"]] = $ar["MESSAGE_TEXT"]; } } if (strlen($arMessages["ELEMENTS_NAME"]) <= 0 || strlen($arMessages["SECTIONS_NAME"]) <= 0) { if ($type) { $arType = CIBlockType::GetByIDLang($type, LANGUAGE_ID); if ($arType) { if (strlen($arMessages["ELEMENTS_NAME"]) <= 0) { $arMessages["ELEMENTS_NAME"] = $arType["ELEMENT_NAME"]; } if (strlen($arMessages["SECTIONS_NAME"]) <= 0) { $arMessages["SECTIONS_NAME"] = $arType["SECTION_NAME"]; } } } } if (strlen($arMessages["ELEMENTS_NAME"]) <= 0) { $arMessages["ELEMENTS_NAME"] = GetMessage("IBLOCK_MESS_ELEMENTS_NAME"); } if (strlen($arMessages["SECTIONS_NAME"]) <= 0) { $arMessages["SECTIONS_NAME"] = GetMessage("IBLOCK_MESS_SECTIONS_NAME"); } return $arMessages; }
public static function __GetParam($lang, $site_id, $module_id = false, $param1 = false, $param2 = false, $item_id = false) { $name = ""; if ($module_id == "iblock" && CModule::IncludeModule("iblock")) { if ($item_id !== false) { $rs = CIBlockElement::GetByID($item_id); if ($ar = $rs->GetNext()) { $name = $ar["NAME"]; } } elseif ($param2 !== false) { $rs = CIBlock::GetByID($param2); if ($ar = $rs->GetNext()) { $name = $ar["NAME"]; } } elseif ($param1 !== false) { $rs = CIBlockType::GetByIDLang($param1, $lang); if (is_array($rs)) { $name = $rs["NAME"]; } } else { $name = GetMessage("customrank_iblocks"); } } elseif ($module_id == "forum" && CModule::IncludeModule("forum")) { if ($item_id !== false) { $name = ""; } elseif ($param2 !== false) { $rs = CForumTopic::GetByID($param2); if (is_array($rs)) { $name = htmlspecialcharsex($rs["TITLE"]); } } elseif ($param1 !== false) { $rs = CForumNew::GetByID($param1); if (is_array($rs)) { $name = htmlspecialcharsex($rs["NAME"]); } } else { $name = GetMessage("customrank_forum"); } } elseif ($module_id == "main") { if ($item_id !== false) { $name = ""; } else { $name = GetMessage("customrank_files"); } } elseif ($module_id === false) { $rs = CSite::GetByID($site_id); if ($ar = $rs->GetNext()) { $name = $ar["NAME"]; } } else { $name = false; } return $name; }
protected function getIbStructure() { \CModule::IncludeModule("iblock"); $db_iblock_type = \CIBlockType::GetList(array("ID" => "ASC"), array()); //"id"=>"help" $arResult = array(); while ($ar_iblock_type = $db_iblock_type->Fetch()) { if ($arIBType = \CIBlockType::GetByIDLang($ar_iblock_type["ID"], LANG)) { $sTypeId = $arIBType['IBLOCK_TYPE_ID']; $arIBType = array_intersect_key($arIBType, array_flip($this->arIblockTypeKeys)); $arIBType['LANG'] = array(LANGUAGE_ID => array('NAME' => $arIBType['NAME'], 'SECTION_NAME' => $arIBType['SECTION_NAME'], 'ELEMENT_NAME' => $arIBType['ELEMENT_NAME'])); $arIBType['IBLOCKS'] = $this->getIBlocksArray($sTypeId); if (isset($arIBType['IBLOCKS'][0])) { $arResult[] = $arIBType; } } } $this->arResult = $arResult; }
ShowError(GetMessage('GREENSIGHT_IBLOCK_IMPORT_ERROR_PROP_CREATE')); break 3; } } } } } while (false); $DB->Commit(); echo GetMessage('GREENSIGHT_IBLOCK_IMPORT_OK'); } // подготовка данных для формы // список типов инфоблоков $arIBTypes = array('REFERENCE' => array(GetMessage('GREENSIGHT_IBLOCK_IMPORT_NEW')), 'REFERENCE_ID' => array(0)); $rsIBTypes = CIBlockType::GetList(); while ($ar = $rsIBTypes->Fetch()) { $ar2 = CIBlockType::GetByIDLang($ar['ID'], LANGUAGE_ID); $arIBTypes['REFERENCE'][] = $ar2['NAME'] . ' (' . $ar['ID'] . ')'; $arIBTypes['REFERENCE_ID'][] = $ar['ID']; } ?> <form action="<?php echo BX_ROOT; ?> /admin/greensight_iblock_import.php" method="post" enctype="multipart/form-data"> <table class="list" cellspacing="0"> <tr class="gutter"> <td class="left"><div class="empty"></div></td><td class="right"><div class="empty"></div></td> </tr> <tr class="head"> <td class="left"> </td><td class="right"> </td> </tr>
$IBLOCK_ID = intval($find_iblock_id); if (0 >= $IBLOCK_ID) { $IBLOCK_ID = 0; } } if (0 == $IBLOCK_ID) { $IBLOCK_ID = intval($_REQUEST["IBLOCK_ID"]); if (0 >= $IBLOCK_ID) { $IBLOCK_ID = 0; } } $arIBTYPE = false; if ($IBLOCK_ID > 0) { $arIBlock = CIBlock::GetArrayByID($IBLOCK_ID); if ($arIBlock) { $arIBTYPE = CIBlockType::GetByIDLang($arIBlock["IBLOCK_TYPE_ID"], LANGUAGE_ID); if (!$arIBTYPE) { $APPLICATION->AuthForm(GetMessage("BX_MOD_CATALOG_ADMIN_CSS_BAD_BLOCK_TYPE_ID")); } $bBadBlock = !CIBlockRights::UserHasRightTo($IBLOCK_ID, $IBLOCK_ID, "iblock_admin_display"); } else { $bBadBlock = true; } if ($bBadBlock) { $APPLICATION->AuthForm(GetMessage("BX_MOD_CATALOG_ADMIN_CSS_BAD_IBLOCK")); } } else { $arIBlock = array("ID" => 0, "NAME" => "", "SECTIONS_NAME" => GetMessage("BX_MOD_CATALOG_ADMIN_CSS_SECTIONS")); } ############################################ $arFilter = array("?NAME" => $find_section_name, "SECTION_ID" => $find_section_section, "ID" => $find_section_id, ">=TIMESTAMP_X" => $find_section_timestamp_1, "<=TIMESTAMP_X" => $find_section_timestamp_2, "MODIFIED_BY" => $find_section_modified_user_id ? $find_section_modified_user_id : $find_section_modified_by, ">=DATE_CREATE" => $find_section_date_create_1, "<=DATE_CREATE" => $find_section_date_create_2, "CREATED_BY" => $find_section_created_user_id ? $find_section_created_user_id : $find_section_created_by, "ACTIVE" => $find_section_active, "CODE" => $find_section_code, "EXTERNAL_ID" => $find_section_external_id);
public static function GetIblockTypes() { $dbIBlockType = CIBlockType::GetList(); $arIBTypes = array(); $arIB = array(); while ($arIBType = $dbIBlockType->Fetch()) { if ($arIBTypeData = CIBlockType::GetByIDLang($arIBType["ID"], LANG)) { $arIB[$arIBType['ID']] = array(); $arIBTypes[$arIBType['ID']] = '[' . $arIBType['ID'] . '] ' . $arIBTypeData['NAME']; } } $dbIBlock = CIBlock::GetList(array('SORT' => 'ASC'), array('ACTIVE' => 'Y')); self::$arIBlocks = array(); while ($arIBlock = $dbIBlock->Fetch()) { self::$arIBlocks[$arIBlock['IBLOCK_TYPE_ID']][$arIBlock['ID']] = $arIBlock; $arIB[$arIBlock['IBLOCK_TYPE_ID']][$arIBlock['ID']] = ($arIBlock['CODE'] ? '[' . $arIBlock['CODE'] . '] ' : '') . $arIBlock['NAME']; } self::$arIBTypes = $arIBTypes; return array('types' => $arIBTypes, 'iblocks' => $arIB); }
$IBLOCK_TYPE_ID = ''; if (isset($filter_iblock_type_id) && !is_array($filter_iblock_type_id)) { $filter_iblock_type_id = strval($filter_iblock_type_id); if ('' != $filter_iblock_type_id) { $IBLOCK_TYPE_ID = $filter_iblock_type_id; } } if ('' == $IBLOCK_TYPE_ID && isset($_REQUEST['IBLOCK_TYPE_ID']) && !is_array($_REQUEST['IBLOCK_TYPE_ID'])) { $strTempo = strval($_REQUEST['IBLOCK_TYPE_ID']); if ('' != $strTempo) { $IBLOCK_TYPE_ID = $strTempo; } unset($strTempo); } if ('' !== $IBLOCK_TYPE_ID) { $arIBlockType = CIBlockType::GetByIDLang($IBLOCK_TYPE_ID, LANGUAGE_ID); if (!$arIBlockType) { $IBLOCK_TYPE_ID = ''; $APPLICATION->AuthForm(GetMessage("BX_MOD_CATALOG_ADMIN_CIS_BAD_IBLOCK_TYPE_ID")); } } $APPLICATION->SetTitle(GetMessage("BX_MOD_CATALOG_ADMIN_CIS_TITLE")); $arFilterFields = array('filter_iblock_type_id'); $oSort = new CAdminSorting($sTableID, "NAME", "asc"); $lAdmin = new CAdminList($sTableID, $oSort); $lAdmin->InitFilter($arFilterFields); $arFilter = array("IBLOCK_TYPE_ID" => $IBLOCK_TYPE_ID, "CHECK_PERMISSIONS" => "Y", "MIN_PERMISSION" => "R"); $arHeader = array(); $arHeader[] = array("id" => "ID", "content" => GetMessage("BX_MOD_CATALOG_ADMIN_CIS_HEAD_ID"), "sort" => "ID", "align" => "right", "default" => true); $arHeader[] = array("id" => "IBLOCK_TYPE_ID", "content" => GetMessage("BX_MOD_CATALOG_ADMIN_CIS_HEAD_IBLOCK_TYPE_ID"), "sort" => "IBLOCK_TYPE_ID", "default" => true); $arHeader[] = array("id" => "NAME", "content" => GetMessage("BX_MOD_CATALOG_ADMIN_CIS_HEAD_NAME"), "sort" => "NAME", "default" => true);
global $USER; $bBizproc = CModule::IncludeModule("bizproc"); $bWorkflow = CModule::IncludeModule("workflow"); $bFileman = CModule::IncludeModule("fileman"); $bSearch = false; $bCurrency = false; $arCurrencyList = array(); if (isset($_REQUEST['mode']) && ($_REQUEST['mode'] == 'list' || $_REQUEST['mode'] == 'frame')) { CFile::DisableJSFunction(true); } $arIBTYPE = CIBlockType::GetByIDLang($_REQUEST["type"], LANGUAGE_ID); if ($arIBTYPE === false) $APPLICATION->AuthForm(GetMessage("IBLOCK_BAD_BLOCK_TYPE_ID")); $IBLOCK_ID = intval($_REQUEST["IBLOCK_ID"]); $arIBlock = CIBlock::GetArrayByID($IBLOCK_ID); if ($arIBlock) $bBadBlock = !CIBlockRights::UserHasRightTo($IBLOCK_ID, $IBLOCK_ID, "iblock_admin_display"); else $bBadBlock = true; if ($bBadBlock) { $APPLICATION->SetTitle($arIBTYPE["NAME"]); require($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"); ?>
die; } /** * PIS - parameter image slider */ if (!CModule::IncludeModule("iblock")) { return; } $arIblockType = array(); //типы инфоблоков $arIBlocks = array(); //инфоблоки $arISections = array(); //разделы //Выбираем все типы инфоблоков///// $dbIBlockType = CIBlockType::GetList(array("sort" => "asc"), array("ACTIVE" => "Y")); while ($arIBlockType = $dbIBlockType->GetNext()) { if ($arIBlockTypeLang = CIBlockType::GetByIDLang($arIBlockType["ID"], LANGUAGE_ID)) { $arIblockType[$arIBlockType["ID"]] = "[" . $arIBlockType["ID"] . "] " . $arIBlockTypeLang["NAME"]; } } ///Выбираем ифноблоки для выбранного типа///// $dbIBlock = CIBlock::GetList(array(), array('TYPE' => $arCurrentValues["IBLOCK_TYPE_ID"], 'ACTIVE' => 'Y'), true); while ($arProp = $dbIBlock->GetNext()) { $arIBlocks[$arProp["ID"]] = "[" . $arProp["ID"] . "]" . $arProp["NAME"]; } ////////////////////////////////////////// $arComponentParameters = array("GROUPS" => "", "PARAMETERS" => array("IBLOCK_TYPE_ID" => array("PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_TYPE_ID_NAME_PIS"), "REFRESH" => "Y", "ADDITIONAL_VALUES" => "Y", "TYPE" => "LIST", "VALUES" => $arIblockType), "CACHE_TIME" => array())); if (!empty($arIBlocks)) { $arComponentParameters["PARAMETERS"]["IBLOCK_ID"] = array("PARENT" => "DATA_SOURCE", "NAME" => GetMessage("IBLOCK_ID_NAME_PIS"), "REFRESH" => "Y", "TYPE" => "LIST", "VALUES" => $arIBlocks); }
/** * Returns html presenting a control of two drop boxes to choose iblock iblock from. * * @param int $IBLOCK_ID Selected iblock * @param string $strTypeName Name of the iblock type select * @param string $strIBlockName Name of the iblock name select * @param bool|array $arFilter Additional filter for iblock list * @param string $onChangeType Additional JS handler for type select * @param string $onChangeIBlock Additional JS handler for iblock select * @param string $strAddType Additional html inserted into type select * @param string $strAddIBlock Additional html inserted into iblock select * @return string */ function GetIBlockDropDownListEx($IBLOCK_ID, $strTypeName, $strIBlockName, $arFilter = false, $onChangeType = '', $onChangeIBlock = '', $strAddType = '', $strAddIBlock = '') { $html = ''; static $arTypesAll = array(); static $arTypes = array(); static $arIBlocks = array(); if (!is_array($arFilter)) { $arFilter = array(); } if (!array_key_exists('MIN_PERMISSION', $arFilter) || trim($arFilter['MIN_PERMISSION']) == '') { $arFilter["MIN_PERMISSION"] = "W"; } $filterId = md5(serialize($arFilter)); if (!isset($arTypes[$filterId])) { $arTypes[$filterId] = array(0 => GetMessage("IBLOCK_CHOOSE_IBLOCK_TYPE")); $arIBlocks[$filterId] = array(0 => array('' => GetMessage("IBLOCK_CHOOSE_IBLOCK"))); $rsIBlocks = CIBlock::GetList(array("IBLOCK_TYPE" => "ASC", "NAME" => "ASC"), $arFilter); while ($arIBlock = $rsIBlocks->Fetch()) { $tmpIBLOCK_TYPE_ID = $arIBlock["IBLOCK_TYPE_ID"]; if (!array_key_exists($tmpIBLOCK_TYPE_ID, $arTypesAll)) { $arType = CIBlockType::GetByIDLang($tmpIBLOCK_TYPE_ID, LANG); $arTypesAll[$arType["~ID"]] = $arType["~NAME"] . " [" . $arType["~ID"] . "]"; } if (!array_key_exists($tmpIBLOCK_TYPE_ID, $arTypes[$filterId])) { $arTypes[$filterId][$tmpIBLOCK_TYPE_ID] = $arTypesAll[$tmpIBLOCK_TYPE_ID]; $arIBlocks[$filterId][$tmpIBLOCK_TYPE_ID] = array(0 => GetMessage("IBLOCK_CHOOSE_IBLOCK")); } $arIBlocks[$filterId][$tmpIBLOCK_TYPE_ID][$arIBlock["ID"]] = $arIBlock["NAME"] . " [" . $arIBlock["ID"] . "]"; } $html .= ' <script type="text/javascript"> function OnType_' . $filterId . '_Changed(typeSelect, iblockSelectID) { var arIBlocks = ' . CUtil::PhpToJSObject($arIBlocks[$filterId]) . '; var iblockSelect = BX(iblockSelectID); if(!!iblockSelect) { for(var i=iblockSelect.length-1; i >= 0; i--) iblockSelect.remove(i); for(var j in arIBlocks[typeSelect.value]) { var newOption = new Option(arIBlocks[typeSelect.value][j], j, false, false); iblockSelect.options.add(newOption); } } } </script> '; } $IBLOCK_TYPE = false; if ($IBLOCK_ID > 0) { foreach ($arIBlocks[$filterId] as $iblock_type_id => $iblocks) { if (array_key_exists($IBLOCK_ID, $iblocks)) { $IBLOCK_TYPE = $iblock_type_id; break; } } } $htmlTypeName = htmlspecialcharsbx($strTypeName); $htmlIBlockName = htmlspecialcharsbx($strIBlockName); $onChangeType = 'OnType_' . $filterId . '_Changed(this, \'' . CUtil::JSEscape($strIBlockName) . '\');' . $onChangeType . ';'; $onChangeIBlock = trim($onChangeIBlock); $html .= '<select name="' . $htmlTypeName . '" id="' . $htmlTypeName . '" onchange="' . htmlspecialcharsbx($onChangeType) . '" ' . $strAddType . '>' . "\n"; foreach ($arTypes[$filterId] as $key => $value) { if ($IBLOCK_TYPE === false) { $IBLOCK_TYPE = $key; } $html .= '<option value="' . htmlspecialcharsbx($key) . '"' . ($IBLOCK_TYPE === $key ? ' selected' : '') . '>' . htmlspecialcharsEx($value) . '</option>' . "\n"; } $html .= "</select>\n"; $html .= " \n"; $html .= '<select name="' . $htmlIBlockName . '" id="' . $htmlIBlockName . '"' . ($onChangeIBlock != '' ? ' onchange="' . htmlspecialcharsbx($onChangeIBlock) . '"' : '') . ' ' . $strAddIBlock . '>' . "\n"; foreach ($arIBlocks[$filterId][$IBLOCK_TYPE] as $key => $value) { $html .= '<option value="' . htmlspecialcharsbx($key) . '"' . ($IBLOCK_ID == $key ? ' selected' : '') . '>' . htmlspecialcharsEx($value) . '</option>' . "\n"; } $html .= "</select>\n"; return $html; }
} if (!IsModuleInstalled("iblock") || !CModule::IncludeModule("iblock")) { return; } $arSites = array(); $defSite = ""; $sitesSort = "SORT"; $sitesBy = "ASC"; $rsSite = CSite::GetList($sitesSort, $sitesBy, array()); while ($arSite = $rsSite->Fetch()) { $arSites[$arSite["ID"]] = $arSite["NAME"]; if ($arSite["DEF"] == "Y") { $defSite = $arSite["ID"]; } } $arIBlockTypes = array(); $defIBlockType = "news"; $rsIBlockType = CIBlockType::GetList(array("SORT" => "ASC")); while ($arIBlockType = $rsIBlockType->Fetch()) { if ($arIBlockType = CIBlockType::GetByIDLang($arIBlockType["ID"], LANG)) { $arIBlockTypes[$arIBlockType["ID"]] = $arIBlockType["NAME"]; } } $arIBlocks = array("-" => GetMessage("MAIN_ALL")); $rsIBlock = CIBlock::GetList(array("SORT" => "ASC"), array("SITE_ID" => $arCurrentValues["SITE_ID"], "TYPE" => $arCurrentValues["IBLOCK_TYPE"] != "-" ? $arCurrentValues["IBLOCK_TYPE"] : "")); while ($arIBlock = $rsIBlock->Fetch()) { $arIBlocks[$arIBlock["ID"]] = $arIBlock["NAME"]; } $arSorts = array("ASC" => GetMessage("CP_BSN_ORDER_ASC"), "DESC" => GetMessage("CP_BSN_ORDER_DESC")); $arSortFields = array("ACTIVE_FROM" => GetMessage("CP_BSN_ACTIVE_FROM"), "SORT" => GetMessage("CP_BSN_SORT")); $arComponentParameters = array("GROUPS" => array(), "PARAMETERS" => array("SITE_ID" => array("NAME" => GetMessage("CP_BSN_SITE_ID"), "TYPE" => "LIST", "VALUES" => $arSites, "DEFAULT" => $defSite, "REFRESH" => "Y"), "IBLOCK_TYPE" => array("NAME" => GetMessage("CP_BSN_IBLOCK_TYPE"), "TYPE" => "LIST", "VALUES" => $arIBlockTypes, "DEFAULT" => $defIBlockType, "REFRESH" => "Y"), "ID" => array("NAME" => GetMessage("CP_BSN_ID"), "TYPE" => "LIST", "VALUES" => $arIBlocks), "SORT_BY" => array("NAME" => GetMessage("CP_BSN_SORT_BY"), "TYPE" => "LIST", "DEFAULT" => "ACTIVE_FROM", "VALUES" => $arSortFields), "SORT_ORDER" => array("NAME" => GetMessage("CP_BSN_SORT_ORDER"), "TYPE" => "LIST", "DEFAULT" => "DESC", "VALUES" => $arSorts)));
public static function OnAdminListDisplayHandler(&$list) { $strCurPage = $GLOBALS['APPLICATION']->GetCurPage(); $bElemPage = $strCurPage == '/bitrix/admin/iblock_element_admin.php' || $strCurPage == '/bitrix/admin/cat_product_admin.php'; $bSectPage = $strCurPage == '/bitrix/admin/iblock_section_admin.php' || $strCurPage == '/bitrix/admin/cat_section_admin.php'; $bMixPage = $strCurPage == '/bitrix/admin/iblock_list_admin.php'; $bRightPage = $bElemPage || $bSectPage || $bMixPage; if ($bRightPage && !empty($list->arActions)) { CJSCore::Init(array('asd_iblock')); $strSomeScripts = '<script type="text/javascript">sListTable = \'' . $list->table_id . '\';</script>'; $list->arActions['asd_checkbox_manager'] = array('type' => 'html', 'value' => $strSomeScripts); } if ($bMixPage || $strCurPage == '/bitrix/admin/iblock_element_admin.php' || $strCurPage == '/bitrix/admin/iblock_section_admin.php') { $list->context->additional_items[] = array('TEXT' => GetMessage('ASD_IBLOCK_SETT_SECT_MODE'), 'TITLE' => GetMessage('ASD_IBLOCK_SETT_SECT_MODE_TITLE'), 'GLOBAL_ICON' => 'adm-menu-setting', 'ONCLICK' => "location.href='" . htmlspecialcharsbx($GLOBALS['APPLICATION']->GetCurPageParam('action=asd_reverse&' . bitrix_sessid_get(), array('action'))) . "'"); } if ($bRightPage && CModule::IncludeModule('iblock')) { if (strlen(CASDiblock::$error)) { $message = new CAdminMessage(array('TYPE' => 'ERROR', 'MESSAGE' => CASDiblock::$error)); echo $message->Show(); } $lAdmin = new CAdminList($list->table_id, $list->sort); $IBLOCK_ID = intval($_REQUEST['IBLOCK_ID']); $find_section = intval($_REQUEST['find_section_section']); if ($find_section < 0) { $find_section = 0; } $boolSectionCopy = CASDIblockRights::IsSectionSectionCreate($IBLOCK_ID, $find_section); $boolElementCopy = CASDIblockRights::IsSectionElementCreate($IBLOCK_ID, $find_section); $copyMessageId = 'ASD_ACTION_POPUP_COPY'; $copyContextMessageId = 'ASD_ACTION_COPY'; $moveContextMessageId = 'ASD_ACTION_MOVE'; if (CModule::IncludeModule('catalog')) { $productIBlock = CCatalog::GetList(array(), array('PRODUCT_IBLOCK_ID' => $IBLOCK_ID), false, false, array('IBLOCK_ID'))->Fetch(); if (!empty($productIBlock)) { $copyMessageId = 'ASD_ACTION_POPUP_COPY_WITHOUT_SKU'; $copyContextMessageId = 'ASD_ACTION_COPY_WITHOUT_SKU'; $moveContextMessageId = 'ASD_ACTION_MOVE_WITHOUT_SKU'; } unset($productIBlock); } if ($bElemPage) { if ($boolElementCopy) { foreach ($list->aRows as $id => $v) { $arnewActions = array(); foreach ($v->aActions as $i => $act) { $arnewActions[] = $act; if ($act['ICON'] == 'copy') { $arnewActions[] = array('ICON' => 'copy', 'TEXT' => GetMessage($copyMessageId), 'ACTION' => $lAdmin->ActionDoGroup($v->id, 'asd_copy_in_list', '&type=' . urlencode($_REQUEST['type']) . '&lang=' . LANGUAGE_ID . '&IBLOCK_ID=' . $IBLOCK_ID . '&find_section_section=' . $find_section)); } } $v->aActions = $arnewActions; } } } elseif ($bSectPage) { if ($boolSectionCopy) { foreach ($list->aRows as $id => $v) { $arnewActions = array(); foreach ($v->aActions as $i => $act) { $arnewActions[] = $act; if ($act['ICON'] == 'edit') { $arnewActions[] = array('ICON' => 'copy', 'TEXT' => GetMessage('ASD_ACTION_POPUP_COPY'), 'ACTION' => $lAdmin->ActionDoGroup($v->id, 'asd_copy_in_list', '&type=' . urlencode($_REQUEST['type']) . '&lang=' . LANGUAGE_ID . '&IBLOCK_ID=' . $IBLOCK_ID . '&find_section_section=' . $find_section)); } } $v->aActions = $arnewActions; } } } else { foreach ($list->aRows as $id => $v) { $strPrefix = substr($v->id, 0, 1); if ($strPrefix == 'E') { if ($boolElementCopy) { $arnewActions = array(); foreach ($v->aActions as $i => $act) { $arnewActions[] = $act; if ($act['ICON'] == 'copy') { $arnewActions[] = array('ICON' => 'copy', 'TEXT' => GetMessage($copyMessageId), 'ACTION' => $lAdmin->ActionDoGroup($v->id, 'asd_copy_in_list', '&type=' . urlencode($_REQUEST['type']) . '&IBLOCK_ID=' . $IBLOCK_ID . '&find_section_section=' . $find_section)); } } $v->aActions = $arnewActions; } } elseif ($strPrefix == 'S') { if ($boolSectionCopy) { $arnewActions = array(); foreach ($v->aActions as $i => $act) { $arnewActions[] = $act; if ($act['ICON'] == 'edit') { $arnewActions[] = array('ICON' => 'copy', 'TEXT' => GetMessage('ASD_ACTION_POPUP_COPY'), 'ACTION' => $lAdmin->ActionDoGroup($v->id, 'asd_copy_in_list', '&type=' . urlencode($_REQUEST['type']) . '&lang=' . LANGUAGE_ID . '&IBLOCK_ID=' . $IBLOCK_ID . '&find_section_section=' . $find_section)); } } $v->aActions = $arnewActions; } } } } $arIBtypes = array(); $rsIBtype = CIBlockType::GetList(); while ($arIBtype = $rsIBtype->Fetch()) { if ($arIBTypeLang = CIBlockType::GetByIDLang($arIBtype['ID'], LANGUAGE_ID)) { $arIBtypes[$arIBTypeLang['IBLOCK_TYPE_ID']] = $arIBTypeLang['NAME']; } } $arIBblocks = array(); $rsIB = CIBlock::GetList(); while ($arIB = $rsIB->GetNext(true, false)) { if (!isset($arIBblocks[$arIB['IBLOCK_TYPE_ID']])) { $arIBblocks[$arIB['IBLOCK_TYPE_ID']] = array('NAME' => $arIBtypes[$arIB['IBLOCK_TYPE_ID']], 'ITEMS' => array()); } $arIBblocks[$arIB['IBLOCK_TYPE_ID']]['ITEMS'][] = array('ID' => $arIB['ID'], 'NAME' => $arIB['NAME']); } $boolAccess = false; $strIBlocksCp = '<div id="asd_ib_dest_cont" style="display:none; "><select class="typeselect" name="asd_ib_dest" id="asd_ib_dest">'; foreach ($arIBblocks as &$arType) { $strIBlocksCpGr = ''; foreach ($arType['ITEMS'] as &$arIB) { if (CASDIblockRights::IsIBlockDisplay($arIB['ID'])) { $boolAccess = true; $strIBlocksCpGr .= '<option value="' . $arIB['ID'] . '">' . $arIB['NAME'] . '</option>'; } } if (isset($arIB)) { unset($arIB); } if ($strIBlocksCpGr != '') { $strIBlocksCp .= '<optgroup label="' . $arType['NAME'] . '">'; $strIBlocksCp .= $strIBlocksCpGr; $strIBlocksCp .= '</optgroup>'; } } if (isset($arType)) { unset($arType); } $strIBlocksCp .= '</select></div>'; $strSectionSelect = '<div id="asd_ib_dest_sect" class="asd-sect-cont" style="display:none;" title="' . htmlspecialcharsbx(GetMessage('ASD_SELECT_SECTION_DESCR')) . '">' . htmlspecialcharsex(GetMessage('ASD_SELECT_SECTION')) . ' <input class="asd-sect-input" type="text" id="asd_sect_id" value="" name="asd_sect_dest" size="4" title="">' . '<span id="sp_asd_sect_id" class="asd-sect-descr"></span>' . '<input type="button" onclick="ASDSelIBShow(\'' . LANGUAGE_ID . '\');" value="' . htmlspecialcharsbx(GetMessage('ASD_SELECT_BUTTON')) . '" title="' . htmlspecialcharsbx(GetMessage('ASD_SELECT_BUTTON_DESCR')) . '"></div>'; if (CASDIblockRights::IsSectionElementEdit($IBLOCK_ID, $find_section) && ($bElemPage || $bMixPage)) { $list->arActions['asd_remove'] = GetMessage('ASD_ACTION_REMOVE'); } if ($boolAccess) { $list->arActions['asd_copy'] = GetMessage($copyContextMessageId); if ($bElemPage || $bMixPage) { $list->arActions['asd_move'] = GetMessage($moveContextMessageId); } $list->arActions['asd_copy_move'] = array('type' => 'html', 'value' => $strIBlocksCp); $list->arActions['asd_copy_move_sect'] = array('type' => 'html', 'value' => $strSectionSelect); $list->arActionsParams['select_onchange'] .= "ASDSelIBChange(this.value);"; } } }
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!CModule::IncludeModule("iblock")) { return; } $arIBlockType = array(); $rsIBlockType = CIBlockType::GetList(array("sort" => "asc"), array("ACTIVE" => "Y")); while ($arr = $rsIBlockType->Fetch()) { if ($ar = CIBlockType::GetByIDLang($arr["ID"], LANGUAGE_ID)) { $arIBlockType[$arr["ID"]] = "[" . $arr["ID"] . "] " . $ar["NAME"]; } } $arIBlock = array(); $rsIBlock = CIBlock::GetList(array("sort" => "asc"), array("TYPE" => $arCurrentValues["IBLOCK_TYPE"], "ACTIVE" => "Y")); while ($arr = $rsIBlock->Fetch()) { $arIBlock[$arr["ID"]] = "[" . $arr["ID"] . "] " . $arr["NAME"]; } $arUserGroups = array(); $dbGroups = CGroup::GetList($b = "NAME", $o = "ASC", array("ACTIVE" => "Y")); while ($arGroup = $dbGroups->GetNext()) { $arUserGroups[$arGroup["ID"]] = "[" . $arGroup["ID"] . "] " . $arGroup["NAME"]; } $arComponentParameters = array("GROUPS" => array("VARIABLE_ALIASES" => array("NAME" => GetMessage("INTL_VARIABLE_ALIASES"))), "PARAMETERS" => array("IBLOCK_TYPE" => array("PARENT" => "BASE", "NAME" => GetMessage("INTL_IBLOCK_TYPE"), "TYPE" => "LIST", "VALUES" => $arIBlockType, "REFRESH" => "Y"), "IBLOCK_ID" => array("PARENT" => "BASE", "NAME" => GetMessage("INTL_IBLOCK"), "TYPE" => "LIST", "VALUES" => $arIBlock, "REFRESH" => "Y"), "PAGE_VAR" => array("NAME" => GetMessage("INTL_PAGE_VAR"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "VARIABLE_ALIASES"), "MEETING_VAR" => array("NAME" => GetMessage("INTL_MEETING_VAR"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "VARIABLE_ALIASES"), "MEETING_ID" => array("NAME" => GetMessage("INTL_MEETING_ID"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "BASE"), "ITEM_VAR" => array("NAME" => GetMessage("INTL_ITEM_VAR"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "VARIABLE_ALIASES"), "ITEM_ID" => array("NAME" => GetMessage("INTL_ITEM_ID"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "BASE"), "PATH_TO_MEETING" => array("NAME" => GetMessage("INTL_PATH_TO_MEETING"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "URL_TEMPLATES"), "PATH_TO_MEETING_LIST" => array("NAME" => GetMessage("INTL_PATH_TO_MEETING_LIST"), "TYPE" => "STRING", "MULTIPLE" => "N", "DEFAULT" => "", "COLS" => 25, "PARENT" => "URL_TEMPLATES"), "SET_NAVCHAIN" => array("PARENT" => "ADDITIONAL_SETTINGS", "NAME" => GetMessage("INTL_SET_NAVCHAIN"), "TYPE" => "CHECKBOX", "DEFAULT" => "Y"), "SET_TITLE" => array(), "USERGROUPS_RESERVE" => array("PARENT" => "BASE", "NAME" => GetMessage("INTL_USERGROUPS_RESERVE"), "TYPE" => "LIST", "MULTIPLE" => "Y", "VALUES" => $arUserGroups)));
{ $tabControl->BeginNextFormTab(); $tabControl->BeginCustomField('OFFERS', GetMessage("IBLOCK_EL_TAB_OFFERS"), false); ?><tr id="tr_OFFERS"><td colspan="2"><? define('B_ADMIN_SUBELEMENTS',1); define('B_ADMIN_SUBELEMENTS_LIST',false); $intSubIBlockID = $arMainCatalog['IBLOCK_ID']; $arSubIBlock = CIBlock::GetArrayByID($intSubIBlockID); $arSubIBlock["SITE_ID"] = array(); $rsSites = CIBlock::GetSite($intSubIBlockID); while($arSite = $rsSites->Fetch()) $arSubIBlock["SITE_ID"][] = $arSite["LID"]; $strSubIBlockType = $arSubIBlock['IBLOCK_TYPE_ID']; $arSubIBlockType = CIBlockType::GetByIDLang($strSubIBlockType, LANGUAGE_ID); $boolIncludeOffers = CIBlockRights::UserHasRightTo($intSubIBlockID, $intSubIBlockID, "iblock_admin_display");; $arSubCatalog = CCatalogSKU::GetInfoByOfferIBlock($arMainCatalog['IBLOCK_ID']); $boolSubCatalog = (!empty($arSubCatalog) && is_array($arSubCatalog)); if (!$boolCatalogRead && !$boolCatalogPrice) $boolSubCatalog = false; $boolSubWorkFlow = CModule::IncludeModule("workflow") && $arSubIBlock["WORKFLOW"] != "N"; $boolSubBizproc = CModule::IncludeModule("bizproc") && $arSubIBlock["BIZPROC"] != "N"; $intSubPropValue = (0 == $ID || $bCopy ? '-'.$TMP_ID : $ID); $strSubTMP_ID = $TMP_ID; $strSubElementAjaxPath = '/bitrix/admin/iblock_subelement_admin.php?WF=Y&IBLOCK_ID='.$intSubIBlockID.'&type='.urlencode($strSubIBlockType).'&lang='.LANGUAGE_ID.'&find_section_section=0&find_el_property_'.$arSubCatalog['SKU_PROPERTY_ID'].'='.((0 == $ID) || ($bCopy) ? '-'.$TMP_ID : $ID).'&TMP_ID='.urlencode($strSubTMP_ID); if ($boolIncludeOffers && file_exists($_SERVER["DOCUMENT_ROOT"].'/bitrix/modules/iblock/admin/templates/iblock_subelement_list.php'))