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;
 }
Exemplo n.º 2
0
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;
}
Exemplo n.º 3
0
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;
}
Exemplo n.º 4
0
 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;
 }
Exemplo n.º 5
0
 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);
     }
 }
Exemplo n.º 6
0
	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;
	}
Exemplo n.º 7
0
			$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"),
Exemplo n.º 8
0
 /**
  * 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;
 }
Exemplo n.º 9
0
    foreach ($arTypes as $arType) {
        if ($bUserIsAdmin || !empty($arType["IBLOCKS"]["X"])) {
            $arResult[] = array("text" => $arType["NAME~"], "url" => "iblock_admin.php?type=" . $arType["ID"] . "&amp;lang=" . LANGUAGE_ID . "&amp;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;
Exemplo n.º 10
0
$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)
{
Exemplo n.º 11
0
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;
Exemplo n.º 12
0
         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);
Exemplo n.º 13
0
<?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 
    }
    ?>
Exemplo n.º 14
0
					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";
Exemplo n.º 16
0
                $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);
    }
Exemplo n.º 17
0
 /**
  * <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;
 }
Exemplo n.º 18
0
 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;
 }
Exemplo n.º 19
0
 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;
 }
Exemplo n.º 20
0
                        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">&nbsp;</td><td class="right">&nbsp;</td>
		</tr>
Exemplo n.º 21
0
    $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);
Exemplo n.º 22
0
 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);
 }
Exemplo n.º 23
0
$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);
Exemplo n.º 24
0
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");
    ?>
Exemplo n.º 25
0
    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);
}
Exemplo n.º 26
0
/**
 * 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 .= "&nbsp;\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;
}
Exemplo n.º 27
0
}
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)));
Exemplo n.º 28
0
 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')) . '&nbsp;<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);";
         }
     }
 }
Exemplo n.º 29
0
<?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)));
Exemplo n.º 30
0
{
	$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'))