protected function GetLinkElement($intElementID, $intIBlockID) { static $cache = array(); $arResult = false; $intIBlockID = intval($intIBlockID); if (0 >= $intIBlockID) { $intIBlockID = 0; } $intElementID = intval($intElementID); if (0 >= $intElementID) { return false; } if (!array_key_exists($intElementID, $cache)) { $arFilter = array(); if (0 < $intIBlockID) { $arFilter['IBLOCK_ID'] = $intIBlockID; } $arFilter['ID'] = $intElementID; $arFilter['SHOW_HISTORY'] = 'Y'; $rsElements = CIBlockElement::GetList(array(), $arFilter, false, false, array('IBLOCK_ID', 'ID', 'NAME')); if ($arElement = $rsElements->GetNext(true, true)) { $arResult = array('ID' => $arElement['ID'], 'NAME' => $arElement['NAME'], '~NAME' => $arElement['~NAME'], 'IBLOCK_ID' => $arElement['IBLOCK_ID'], 'IBLOCK_TYPE_ID' => CIBlock::GetArrayByID($arElement['IBLOCK_ID'], 'IBLOCK_TYPE_ID')); $cache[$intElementID] = $arResult; } else { $cache[$intElementID] = false; } } return $cache[$intElementID]; }
function GetFilter() { $arFilter = array(); $res = CIBlock::GetList( Array(), Array( 'ACTIVE'=>'Y', ) ); while($ar_res = $res->Fetch()) { $arIblock = CIBlock::GetArrayByID($ar_res['ID']); if ( $arIblock["FIELDS"]["LOG_SECTION_ADD"]["IS_REQUIRED"] == "Y" || $arIblock["FIELDS"]["LOG_SECTION_EDIT"]["IS_REQUIRED"] == "Y" || $arIblock["FIELDS"]["LOG_SECTION_DELETE"]["IS_REQUIRED"] == "Y" || $arIblock["FIELDS"]["LOG_ELEMENT_ADD"]["IS_REQUIRED"] == "Y" || $arIblock["FIELDS"]["LOG_ELEMENT_EDIT"]["IS_REQUIRED"] == "Y" || $arIblock["FIELDS"]["LOG_ELEMENT_DELETE"]["IS_REQUIRED"] == "Y" ) { $arFilter[$ar_res["ID"]] = $ar_res["NAME"]." (".$ar_res["LID"].")"; } } if (COption::GetOptionString("iblock", "event_log_iblock", "N") === "Y") $arFilter["IBLOCK"] = GetMessage("LOG_IBLOCK_FILTER"); return $arFilter; }
public function onPrepareComponentParams($params) { $this->arIBlock = CIBlock::GetArrayByID($params["IBLOCK_ID"]); $this->arResult["IBLOCK"] = htmlspecialcharsex($this->arIBlock); $this->arResult["IBLOCK_ID"] = $this->arIBlock["ID"]; $this->arResult["GRID_ID"] = "lists_list_elements_" . $this->arResult["IBLOCK_ID"]; $this->arResult["ANY_SECTION"] = isset($_GET["list_section_id"]) && strlen($_GET["list_section_id"]) == 0; $this->arResult["SECTIONS"] = array(); $this->arResult["SECTION_ID"] = false; $this->arResult["LIST_SECTIONS"] = array(); if (isset($_GET["list_section_id"])) { $sectionId = intval($_GET["list_section_id"]); } else { $sectionId = intval($params["SECTION_ID"]); } $rsSections = CIBlockSection::GetList(array("left_margin" => "asc"), array("IBLOCK_ID" => $this->arIBlock["ID"], "GLOBAL_ACTIVE" => "Y", "CHECK_PERMISSIONS" => "Y")); while ($arSection = $rsSections->GetNext()) { $this->arResult["SECTIONS"][$arSection["ID"]] = array("ID" => $arSection["ID"], "NAME" => $arSection["NAME"]); if ($arSection["ID"] == $sectionId) { $this->arResult["SECTION"] = $arSection; $this->arResult["SECTION_ID"] = $arSection["ID"]; } $this->arResult["LIST_SECTIONS"][$arSection["ID"]] = str_repeat(" . ", $arSection["DEPTH_LEVEL"]) . $arSection["NAME"]; } $this->arResult["IS_SOCNET_GROUP_CLOSED"] = false; if (intval($params["~SOCNET_GROUP_ID"]) > 0 && CModule::IncludeModule("socialnetwork")) { $arSonetGroup = CSocNetGroup::GetByID(intval($params["~SOCNET_GROUP_ID"])); if (is_array($arSonetGroup) && $arSonetGroup["CLOSED"] == "Y" && !CSocNetUser::IsCurrentUserModuleAdmin() && ($arSonetGroup["OWNER_ID"] != $GLOBALS["USER"]->GetID() || COption::GetOptionString("socialnetwork", "work_with_closed_groups", "N") != "Y")) { $this->arResult["IS_SOCNET_GROUP_CLOSED"] = true; } } return $params; }
function GetByIDEx($ID, $boolAllValues = false) { global $DB, $USER; $boolAllValues = true == $boolAllValues ? true : false; $ID = intval($ID); if (0 >= $ID) { return false; } $arFilter = array("ID" => $ID, "ACTIVE_DATE" => "Y", "ACTIVE" => "Y"); $dbIBlockElement = CIBlockElement::GetList(array(), $arFilter); if ($arIBlockElement = $dbIBlockElement->GetNext()) { if ($arIBlock = CIBlock::GetArrayByID($arIBlockElement["IBLOCK_ID"])) { $arIBlockElement["IBLOCK_ID"] = $arIBlock["ID"]; $arIBlockElement["IBLOCK_NAME"] = htmlspecialcharsbx($arIBlock["NAME"]); $arIBlockElement["~IBLOCK_NAME"] = $arIBlock["NAME"]; $arIBlockElement["PROPERTIES"] = false; $dbProps = CIBlockElement::GetProperty($arIBlock["ID"], $ID, "sort", "asc", array("ACTIVE" => "Y", "NON_EMPTY" => "Y")); if ($arProp = $dbProps->Fetch()) { $arAllProps = array(); do { $strID = strlen($arProp["CODE"]) > 0 ? $arProp["CODE"] : $arProp["ID"]; if (is_array($arProp["VALUE"])) { foreach ($arProp["VALUE"] as &$strOneValue) { $strOneValue = htmlspecialcharsbx($strOneValue); } if (isset($strOneValue)) { unset($strOneValue); } } else { $arProp["VALUE"] = htmlspecialcharsbx($arProp["VALUE"]); } if ($boolAllValues && 'Y' == $arProp['MULTIPLE']) { if (!isset($arAllProps[$strID])) { $arAllProps[$strID] = array("NAME" => htmlspecialcharsbx($arProp["NAME"]), "VALUE" => array($arProp["VALUE"]), "VALUE_ENUM" => array(htmlspecialcharsbx($arProp["VALUE_ENUM"])), "VALUE_XML_ID" => array(htmlspecialcharsbx($arProp["VALUE_XML_ID"])), "DEFAULT_VALUE" => htmlspecialcharsbx($arProp["DEFAULT_VALUE"]), "SORT" => htmlspecialcharsbx($arProp["SORT"]), "MULTIPLE" => $arProp['MULTIPLE']); } else { $arAllProps[$strID]['VALUE'][] = $arProp["VALUE"]; $arAllProps[$strID]['VALUE_ENUM'][] = htmlspecialcharsbx($arProp["VALUE_ENUM"]); $arAllProps[$strID]['VALUE_XML_ID'][] = htmlspecialcharsbx($arProp["VALUE_XML_ID"]); } } else { $arAllProps[$strID] = array("NAME" => htmlspecialcharsbx($arProp["NAME"]), "VALUE" => $arProp["VALUE"], "VALUE_ENUM" => htmlspecialcharsbx($arProp["VALUE_ENUM"]), "VALUE_XML_ID" => htmlspecialcharsbx($arProp["VALUE_XML_ID"]), "DEFAULT_VALUE" => htmlspecialcharsbx($arProp["DEFAULT_VALUE"]), "SORT" => htmlspecialcharsbx($arProp["SORT"]), "MULTIPLE" => $arProp['MULTIPLE']); } } while ($arProp = $dbProps->Fetch()); $arIBlockElement["PROPERTIES"] = $arAllProps; } // bugfix: 2007-07-31 by Sigurd $arIBlockElement["PRODUCT"] = CCatalogProduct::GetByID(intval($ID)); $dbPrices = CPrice::GetList(array("SORT" => "ASC"), array("PRODUCT_ID" => $ID)); if ($arPrices = $dbPrices->Fetch()) { $arAllPrices = array(); do { $arAllPrices[$arPrices["CATALOG_GROUP_ID"]] = array("EXTRA_ID" => intval($arPrices["EXTRA_ID"]), "PRICE" => doubleval($arPrices["PRICE"]), "CURRENCY" => htmlspecialcharsbx($arPrices["CURRENCY"])); } while ($arPrices = $dbPrices->Fetch()); $arIBlockElement["PRICES"] = $arAllPrices; } return $arIBlockElement; } } return false; }
public function onPrepareComponentParams($params) { $this->arIBlock = CIBlock::GetArrayByID($params["IBLOCK_ID"]); $this->arResult["IBLOCK"] = htmlspecialcharsex($this->arIBlock); $this->arResult["IBLOCK_ID"] = $this->arIBlock["ID"]; $this->arResult["GRID_ID"] = "lists_list_elements_" . $this->arResult["IBLOCK_ID"]; $this->arResult["ANY_SECTION"] = isset($_GET["list_section_id"]) && strlen($_GET["list_section_id"]) == 0; $this->arResult["SECTIONS"] = array(); $this->arResult["SECTION_ID"] = false; $this->arResult["LIST_SECTIONS"] = array(); if (isset($_GET["list_section_id"])) { $sectionId = intval($_GET["list_section_id"]); } else { $sectionId = intval($params["SECTION_ID"]); } $rsSections = CIBlockSection::GetList(array("left_margin" => "asc"), array("IBLOCK_ID" => $this->arIBlock["ID"], "GLOBAL_ACTIVE" => "Y", "CHECK_PERMISSIONS" => "Y")); while ($arSection = $rsSections->GetNext()) { $this->arResult["SECTIONS"][$arSection["ID"]] = array("ID" => $arSection["ID"], "NAME" => $arSection["NAME"]); if ($arSection["ID"] == $sectionId) { $this->arResult["SECTION"] = $arSection; $this->arResult["SECTION_ID"] = $arSection["ID"]; } $this->arResult["LIST_SECTIONS"][$arSection["ID"]] = str_repeat(" . ", $arSection["DEPTH_LEVEL"]) . $arSection["NAME"]; } return $params; }
function _getIBlockMode($ib, $object = false, $object_id = false) { if ($object === false) { $arIBlock = CIBlock::GetArrayByID($ib); if ($arIBlock["WORKFLOW"] == "Y") { return "WF"; } elseif ($arIBlock["BIZPROC"] == "Y") { return "BP"; } else { return ""; } } else { $arFilter = array("IBLOCK_ID" => $ib, "SOCNET_GROUP_ID" => false, "CHECK_PERMISSIONS" => "N", "SECTION_ID" => 0); if ($object == "user") { $arFilter["CREATED_BY"] = $object_id; } else { $arFilter["SOCNET_GROUP_ID"] = $object_id; } $arLibrary = array(); $db_res = CIBlockSection::GetList(array(), $arFilter, false, array("ID", "UF_USE_BP")); if ($db_res && ($arLibrary = $db_res->GetNext())) { return $arLibrary["UF_USE_BP"] == "N" ? "" : "BP"; } else { return ""; } } }
function __wd_get_root_section($IBLOCK_ID, $object, $object_id) { $result = CIBlockWebdavSocnet::GetSectionID($IBLOCK_ID, $object, $object_id); if (intval($result) > 0) { return $result; } else { __wd_check_uf_use_bp_property($arParams["IBLOCK_ID"]); $arFields = array("IBLOCK_ID" => $IBLOCK_ID, "ACTIVE" => "Y", "SOCNET_GROUP_ID" => false, "IBLOCK_SECTION_ID" => 0, "UF_USE_BP" => "N"); if ($object == "user") { $dbUser = CUser::GetByID($object_id); $arUser = $dbUser->Fetch(); $arFields["NAME"] = trim($arUser['LAST_NAME'] . " " . $arUser['FIRST_NAME']); $arFields["NAME"] = trim(!empty($arFields["NAME"]) ? $arFields["NAME"] : $arUser['LOGIN']); $arFields['CREATED_BY'] = $arUser['ID']; $arFields['MODIFIED_BY'] = $arUser['ID']; if (CIBlock::GetArrayByID($IBLOCK_ID, "RIGHTS_MODE") === "E") { $arTasks = CWebDavIblock::GetTasks(); $arFields['RIGHTS'] = array('n0' => array('GROUP_CODE' => 'U' . $object_id, 'TASK_ID' => $arTasks['X'])); } } else { /* $res = CSocNetGroup::GetByID($arResult["VARIABLES"]["group_id"]); if (!$res) { $arParams["ERROR_MESSAGE"] = GetMessage("SONET_GROUP_NOT_EXISTS"); return 0; } */ $arFields["SOCNET_GROUP_ID"] = $object_id; //$arGroup = CSocNetGroup::GetByID($object_id); $arFields["NAME"] = GetMessage("SONET_GROUP_PREFIX") . $object_id; $dbGroup = CSocNetGroup::GetList(array(), array("ID" => (int) $object_id), false, false, array("ID", "SITE_ID", "NAME")); if ($arGroup = $dbGroup->Fetch()) { $arFields["NAME"] = GetMessage("SONET_GROUP_PREFIX") . $arGroup["NAME"]; } if (CIBlock::GetArrayByID($IBLOCK_ID, "RIGHTS_MODE") === "E") { $arTasks = CWebDavIblock::GetTasks(); $arFields['RIGHTS'] = array('n0' => array('GROUP_CODE' => 'SG' . $arFields["SOCNET_GROUP_ID"] . '_A', 'TASK_ID' => $arTasks['X']), 'n1' => array('GROUP_CODE' => 'SG' . $arFields["SOCNET_GROUP_ID"] . '_E', 'TASK_ID' => $arTasks['W']), 'n2' => array('GROUP_CODE' => 'SG' . $arFields["SOCNET_GROUP_ID"] . '_K', 'TASK_ID' => $arTasks['W'])); } } if (\Bitrix\Main\Config\Option::get('disk', 'successfully_converted', false) && CModule::includeModule('disk')) { \Bitrix\Disk\Driver::getInstance()->addGroupStorage($arFields["SOCNET_GROUP_ID"]); } $GLOBALS["UF_USE_BP"] = $arFields["UF_USE_BP"]; $GLOBALS["USER_FIELD_MANAGER"]->EditFormAddFields("IBLOCK_" . $IBLOCK_ID . "_SECTION", $arFields); $bs = new CIBlockSection(); $sectionID = $bs->Add($arFields); if (!$sectionID) { $arParams["ERROR_MESSAGE"] = $bs->LAST_ERROR; return 0; } WDClearComponentCache(array("webdav.element.edit", "webdav.element.hist", "webdav.element.upload", "webdav.element.view", "webdav.menu", "webdav.section.edit", "webdav.section.list")); return true; /* if ($ob->workflow == 'bizproc') { __wd_create_default_bp_user_and_groups($arBizProcParameters); } */ } }
protected function prepareData() { $elementIblock = CIBlock::GetArrayByID((int) $this->arParams["listId"]); $this->arResult['ENTITY_NAME'] = $elementIblock['ELEMENT_NAME']; $this->arResult["FIELDS"] = $this->getElementFields($this->arParams['listId'], $this->arParams['elementId']); foreach ($this->arResult['FIELDS'] as $fieldId => &$field) { if ($field['TYPE'] == 'NAME') { $this->arResult['ENTITY_TITLE'] = $field['VALUE']; } $field['HTML'] = $this->renderField($field); if ($field['SETTINGS']['SHOW_FIELD_PREVIEW'] !== 'Y') { unset($this->arResult['FIELDS'][$fieldId]); continue; } } }
function OnAdminListDisplay(&$obList) { global $USER; if (!preg_match("/^tbl_catalog_section_/", $obList->table_id)) { return; } if (!is_object($USER) || !$USER->CanDoOperation("clouds_upload")) { return; } foreach ($obList->aRows as $row_num => $obRow) { $obRow->aActions[] = array("SEPARATOR" => true); $tmpVar = CIBlock::ReplaceDetailUrl($obRow->arRes["SECTION_PAGE_URL"], $obRow->arRes, true, "S"); $obRow->aActions[] = array("ICON" => "view", "TEXT" => GetMessage("CAT_ACT_MENU_VIEW_SECTION"), "ACTION" => $obList->ActionRedirect(htmlspecialcharsbx($tmpVar))); $tmpVar = CIBlock::GetAdminElementListLink($obRow->arRes["IBLOCK_ID"], array('find_section_section' => $obRow->arRes["ID"], 'set_filter' => 'Y')); $obRow->aActions[] = array("ICON" => "list", "TEXT" => CIBlock::GetArrayByID($obRow->arRes["IBLOCK_ID"], "ELEMENTS_NAME"), "ACTION" => $obList->ActionRedirect(htmlspecialcharsbx($tmpVar))); } }
/** * @param $id * @param null $dbVersion * @return array|mixed */ public function getSnapshot($id, $dbVersion = null) { if (!$id) { return false; } $dbVersion && ($id = $this->getCurrentVersionId($id, $dbVersion)); !$dbVersion && !$this->hasCurrentReference($id) && $this->registerCurrentVersionId($id); $iblock = \CIBlock::GetArrayByID($id); if (!$iblock) { return false; } $iblock['~reference'] = $this->getReferenceValue($id); $type = \CIBlockType::GetByID($iblock['IBLOCK_TYPE_ID'])->Fetch(); $rsTypeLangs = TypeLanguageTable::getList(array('filter' => array('IBLOCK_TYPE_ID' => $iblock['IBLOCK_TYPE_ID']))); while ($lang = $rsTypeLangs->fetch()) { $type['LANG'][$lang['LANGUAGE_ID']] = $lang; } return array('iblock' => $iblock, 'type' => $type); }
/** * @inheritdoc */ public function create(ParameterDictionary $parameters) { $iblockId = (int) $parameters->get('ID'); $queryBuilder = new Entity\Query(Iblock\IblockTable::getEntity()); $iblockData = $queryBuilder->setSelect(array('ID', 'NAME'))->setFilter(array('ID' => $iblockId))->setOrder(array())->exec()->fetch(); if (empty($iblockData)) { throw new BuilderException(sprintf('Not found iblock with id = %d', $iblockId)); } // Get settings iblock $iblockDataFields = \CIBlock::GetArrayByID($iblockData['ID']); $queryBuilder = new Entity\Query(Iblock\PropertyTable::getEntity()); $propertyResult = $queryBuilder->setSelect(array('*'))->setFilter(array('IBLOCK_ID' => $iblockData['ID']))->setOrder(array())->exec(); $propertyList = array(); while ($property = $propertyResult->fetch()) { if (!empty($property['USER_TYPE_SETTINGS'])) { $property['USER_TYPE_SETTINGS'] = ($unserialize = @unserialize($property['USER_TYPE_SETTINGS'])) === false ? $property['USER_TYPE_SETTINGS'] : $unserialize; } $propertyList[$property['CODE']] = $property; } $this->iblockProperty = $propertyList; $this->setElementValue(); $this->setSectionValue(); $this->setEnumValue(); $sectionValueList = array(); if (in_array($iblockData['ID'], $this->getListByType('G'))) { foreach ($this->iblockProperty as $field) { if ($field['PROPERTY_TYPE'] == 'G' && $field['LINK_IBLOCK_ID'] == $iblockData['ID']) { $sectionValueList = isset($field['VALUE_LIST']) ? $field['VALUE_LIST'] : array(); break; } } } else { $queryBuilder = new Entity\Query(Iblock\SectionTable::getEntity()); $sectionValueList = $queryBuilder->setSelect(array('ID', 'NAME'))->setFilter(array('IBLOCK_ID' => $iblockData['ID']))->setOrder(array())->exec()->fetchAll(); } $upperLevel[] = array('ID' => 0, 'NAME' => GetMessage('IBLOCK_UPPER_LEVEL')); $sectionValueList = $upperLevel + $sectionValueList; return array('DATA' => $iblockData, 'DEFAULT_FIELDS' => $this->getDefaultFields($iblockDataFields, $sectionValueList), 'FIELDS' => $this->iblockProperty); }
public static function Add($iblock_id, $arFields) { if ($iblock_id > 0) { $arIBlockFields = CIBlock::GetArrayByID($iblock_id, "FIELDS"); $arIBlockFields[$arFields["TYPE"]] = $arFields; CIBlock::SetFields($iblock_id, $arIBlockFields); $GLOBALS["stackCacheManager"]->Clear("b_iblock"); } return new CListElementField($iblock_id, $arFields["TYPE"], $arFields["NAME"], $arFields["SORT"]); }
/** * <p>Метод изменяет параметры свойства с кодом <i>ID</i>. Перед изменением параметров вызываются обработчики события <a href="http://dev.1c-bitrix.ru/api_help/iblock/events/onbeforeiblockpropertyupdate.php">OnBeforeIBlockPropertyUpdate</a> из которых можно отменить изменения или переопределить поля. А после изменения параметром вызывается событие <a href="http://dev.1c-bitrix.ru/api_help/iblock/events/onafteriblockpropertyupdate.php">OnAfterIBlockPropertyUpdate</a>. Метод динамичный.</p> * * * @param int $ID ID изменяемой записи. </htm * * @param array $arFields Массив Array("поле"=>"значение", ...). Содержит значения <a * href="http://dev.1c-bitrix.ru/api_help/iblock/fields.php#fproperty">всех полей</a> изменяемого * свойства. Кроме того, с помощью поля "VALUES", значением которого * должен быть массив вида Array(Array("VALUE"=>"значение", "DEF"=>"по * умолчанию (Y/N)", "SORT"=>"индекс сортировки"),...), можно установить * варианты выбора для свойств типа "список" (подробнее смотрите * метод <a href="http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockproperty/index.php">CIBlockProperty</a>::<a * href="http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockproperty/updateenum.php">UpdateEnum()</a>). * * @return bool * * <h4>Example</h4> * <pre> * <?<br>$arFields = Array(<br> "NAME" => "Цвет",<br> "ACTIVE" => "Y",<br> "SORT" => "100",<br> "CODE" => "color",<br> "PROPERTY_TYPE" => "L",<br> "IBLOCK_ID" => 11<br> );<br><br>$arFields["VALUES"][0] = Array(<br> "VALUE" => "Красный",<br> "DEF" => "N",<br> "SORT" => "100"<br>}<br><br>$arFields["VALUES"][1] = Array(<br> "VALUE" => "Желтый",<br> "DEF" => "N",<br> "SORT" => "200"<br>}<br><br>$arFields["VALUES"][2] = Array(<br> "VALUE" => "Зеленый",<br> "DEF" => "Y",<br> "SORT" => "300"<br>}<br><br>$ibp = new CIBlockProperty;<br>if(!$ibp->Update($ID, $arFields))<br> echo $ibp->LAST_ERROR;<br>? * * В случае обновления информации в пользовательском типе свойства для сохранения ключа USER_TYPE_SETTINGS необходимо указать еще ключ USER_TYPE с реальным значением. В противном случае ключ USER_TYPE_SETTINGS не обновится. Неверными будут следующие варианты: * * * $arFields = array( * 'PROPERTY_TYPE' => 'E', * 'USER_TYPE_SETTINGS' => array( * 'WIDTH' => '10', * 'HEIGHT' => '10', * ), * ); * $ibp = new CIBlockProperty(); * $ibp->Update($ID, $arFields)); * * $arFields = array( * 'PROPERTY_TYPE' => 'E', * 'USER_TYPE_SETTINGS' => array( * 'WIDTH' => '10', * 'HEIGHT' => '10', * ), * 'USER_TYPE' => '', * ); * $ibp = new CIBlockProperty(); * $ibp->Update($ID, $arFields)); * * $arFields = array( * 'PROPERTY_TYPE' => 'E', * 'USER_TYPE_SETTINGS' => array( * 'WIDTH' => '10', * 'HEIGHT' => '10', * ), * 'USER_TYPE' => 'xxx' * ); * $ibp = new CIBlockProperty(); * $ibp->Update($ID, $arFields)); * * //включить индексацию свойства для поиска * $arFields = Array( * 'SEARCHABLE'=>'Y' * ); * $ibp = new CIBlockProperty; * if(!$ibp->Update($prop['ID'], $arFields)) * echo $ibp->LAST_ERROR; * * * * // добавление свойства в умный фильтр: * $arFields = Array('SMART_FILTER' => 'Y', 'IBLOCK_ID' => 123); * $ibp = new CIBlockProperty(); * if(!$ibp->Update($prop['ID'], $arFields)) * echo $ibp->LAST_ERROR; * * //IBLOCK_ID в arFields указывать обязательно, иначе свойство не будет включено в умный фильтр, и при этом не выдаст ошибки. * //Чтобы исключить свойство из умного фильтра в arFileds заменить: 'SMART_FILTER'=>'N' * </pre> * * * <h4>See Also</h4> * <ul> <li> <a href="http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockproperty/add.php">CIBlockProperty::Add</a> * </li> <li><a href="http://dev.1c-bitrix.ru/api_help/iblock/fields.php#fproperty">Поля свойства</a></li> * <li><a * href="http://dev.1c-bitrix.ru/api_help/iblock/events/onbeforeiblockpropertyupdate.php">OnBeforeIBlockPropertyUpdate</a></li> * <li><a * href="http://dev.1c-bitrix.ru/api_help/iblock/events/onafteriblockpropertyupdate.php">OnAfterIBlockPropertyUpdate</a></li> * </ul> <br><p><b>Примечание:</b> если используются <b>Инфоблоки 2.0</b> и * изменяется базовый тип свойства, то все текущие значения свойств * у существующих элементов очищаются.</p> <br><a name="examples"></a> * * * @static * @link http://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockproperty/update.php * @author Bitrix */ public function Update($ID, $arFields, $bCheckDescription = false) { global $DB; $ID = IntVal($ID); if (is_set($arFields, "ACTIVE") && $arFields["ACTIVE"] != "Y") { $arFields["ACTIVE"] = "N"; } if (is_set($arFields, "SEARCHABLE") && $arFields["SEARCHABLE"] != "Y") { $arFields["SEARCHABLE"] = "N"; } if (is_set($arFields, "FILTRABLE") && $arFields["FILTRABLE"] != "Y") { $arFields["FILTRABLE"] = "N"; } if (is_set($arFields, "MULTIPLE") && $arFields["MULTIPLE"] != "Y") { $arFields["MULTIPLE"] = "N"; } if (is_set($arFields, "LIST_TYPE") && $arFields["LIST_TYPE"] != "C") { $arFields["LIST_TYPE"] = "L"; } if (!$this->CheckFields($arFields, $ID)) { $Result = false; $arFields["RESULT_MESSAGE"] =& $this->LAST_ERROR; } elseif (!$this->_Update($ID, $arFields, $bCheckDescription)) { $Result = false; $arFields["RESULT_MESSAGE"] =& $this->LAST_ERROR; } else { if (isset($arFields["USER_TYPE"])) { $arUserType = CIBlockProperty::GetUserType($arFields["USER_TYPE"]); if (array_key_exists("ConvertToDB", $arUserType)) { $arValue = array("VALUE" => $arFields["DEFAULT_VALUE"]); $arValue = call_user_func_array($arUserType["ConvertToDB"], array($arFields, $arValue)); if (is_array($arValue) && isset($arValue["VALUE"]) && strlen($arValue["VALUE"])) { $arFields["DEFAULT_VALUE"] = $arValue["VALUE"]; } else { $arFields["DEFAULT_VALUE"] = false; } } if (array_key_exists("PrepareSettings", $arUserType)) { $arFieldsResult = call_user_func_array($arUserType["PrepareSettings"], array($arFields)); if (is_array($arFieldsResult) && array_key_exists('USER_TYPE_SETTINGS', $arFieldsResult)) { $arFields = array_merge($arFields, $arFieldsResult); $arFields["USER_TYPE_SETTINGS"] = serialize($arFields["USER_TYPE_SETTINGS"]); } else { $arFields["USER_TYPE_SETTINGS"] = serialize($arFieldsResult); } } else { $arFields["USER_TYPE_SETTINGS"] = false; } } unset($arFields["ID"]); unset($arFields["VERSION"]); unset($arFields["TIMESTAMP_X"]); $strUpdate = $DB->PrepareUpdate("b_iblock_property", $arFields); if (strlen($strUpdate) > 0) { $strSql = "UPDATE b_iblock_property SET " . $strUpdate . " WHERE ID=" . $ID; $DB->QueryBind($strSql, array("USER_TYPE_SETTINGS" => $arFields["USER_TYPE_SETTINGS"])); } if (is_set($arFields, "VALUES")) { $this->UpdateEnum($ID, $arFields["VALUES"]); } if (array_key_exists("IBLOCK_ID", $arFields) && CIBlock::GetArrayByID($arFields["IBLOCK_ID"], "SECTION_PROPERTY") === "Y") { if (!array_key_exists("SECTION_PROPERTY", $arFields) || $arFields["SECTION_PROPERTY"] !== "N") { $arLink = array("SMART_FILTER" => $arFields["SMART_FILTER"]); if (array_key_exists("DISPLAY_TYPE", $arFields)) { $arLink["DISPLAY_TYPE"] = $arFields["DISPLAY_TYPE"]; } if (array_key_exists("DISPLAY_EXPANDED", $arFields)) { $arLink["DISPLAY_EXPANDED"] = $arFields["DISPLAY_EXPANDED"]; } if (array_key_exists("FILTER_HINT", $arFields)) { $arLink["FILTER_HINT"] = $arFields["FILTER_HINT"]; } CIBlockSectionPropertyLink::Set(0, $ID, $arLink); } else { CIBlockSectionPropertyLink::Delete(0, $ID); } } global $BX_IBLOCK_PROP_CACHE; if (is_set($arFields, "IBLOCK_ID")) { unset($BX_IBLOCK_PROP_CACHE[$arFields["IBLOCK_ID"]]); } else { $BX_IBLOCK_PROP_CACHE = array(); } $Result = true; } $arFields["ID"] = $ID; $arFields["RESULT"] =& $Result; foreach (GetModuleEvents("iblock", "OnAfterIBlockPropertyUpdate", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array(&$arFields)); } return $Result; }
} $DATA_FILE_NAME = ""; if (strlen($URL_DATA_FILE) > 0) { $URL_DATA_FILE = Rel2Abs("/", $URL_DATA_FILE); if (file_exists($_SERVER["DOCUMENT_ROOT"] . $URL_DATA_FILE) && is_file($_SERVER["DOCUMENT_ROOT"] . $URL_DATA_FILE)) { $DATA_FILE_NAME = $URL_DATA_FILE; } } if (strlen($DATA_FILE_NAME) <= 0) { $strImportErrorMessage .= GetMessage("CATI_NO_DATA_FILE") . "<br>"; } $IBLOCK_ID = intval($IBLOCK_ID); if ($IBLOCK_ID <= 0) { $strImportErrorMessage .= GetMessage("CATI_NO_IBLOCK") . "<br>"; } else { $arIBlock = CIBlock::GetArrayByID($IBLOCK_ID); if (false === $arIBlock) { $strImportErrorMessage .= GetMessage("CATI_NO_IBLOCK") . "<br>"; } } if ('' == $strImportErrorMessage) { $bWorkflow = CModule::IncludeModule("workflow") && $arIBlock["WORKFLOW"] != "N"; $bIBlockIsCatalog = false; $arSku = false; $rsCatalogs = CCatalog::GetList(array(), array('IBLOCK_ID' => $IBLOCK_ID), false, false, array('IBLOCK_ID', 'PRODUCT_IBLOCK_ID', 'SKU_PROPERTY_ID')); if ($arCatalog = $rsCatalogs->Fetch()) { $bIBlockIsCatalog = true; $arCatalog['IBLOCK_ID'] = (int) $arCatalog['IBLOCK_ID']; $arCatalog['PRODUCT_IBLOCK_ID'] = (int) $arCatalog['PRODUCT_IBLOCK_ID']; $arCatalog['SKU_PROPERTY_ID'] = (int) $arCatalog['SKU_PROPERTY_ID']; if (0 < $arCatalog['PRODUCT_IBLOCK_ID'] && 0 < $arCatalog['SKU_PROPERTY_ID']) {
function IndexIBlockSection($arFields, $entity_id, $entity_type, $feature, $operation, $path_template) { $rSection = CIBlockSection::GetByID($arFields['ID']); $arSection = $rSection->Fetch(); $path = array(); $rsPath = CIBlockSection::GetNavChain($arFields["IBLOCK_ID"], $arFields['ID']); while ($arPath = $rsPath->Fetch()) { $path[] = $arPath['NAME']; } $path = implode("/", array_slice($path, 1)); $ID = intval($arFields["ID"]); $IBLOCK_ID = intval($arFields["IBLOCK_ID"]); $arItem = array(); if ($entity_type == "G") { $url = str_replace(array("#group_id#", "#user_alias#", "#section_id#", "#element_id#", "#action#", "#task_id#", "#name#", "#path#"), array($entity_id, "group_" . $entity_id, $arFields["IBLOCK_SECTION"], $arFields["ID"], "view", $arFields["ID"], urlencode($arFields["NAME"]), $path), $path_template); } else { $url = str_replace(array("#user_id#", "#user_alias#", "#section_id#", "#element_id#", "#action#", "#task_id#", "#path#"), array($entity_id, "user_" . $entity_id, $arFields["IBLOCK_SECTION"], $arFields["ID"], "view", $arFields["ID"], $path), $path_template); } $body = ""; $title = $arFields["NAME"]; $arPermissions = $this->GetSearchGroups($entity_type, $entity_id, $feature, $operation); if (CIBlock::GetArrayByID($IBLOCK_ID, "RIGHTS_MODE") == "E") { $obSectionRights = new CIBlockSectionRights($IBLOCK_ID, $arFields["ID"]); $arPermissions = $obSectionRights->GetGroups(array("section_read")); } $arSearchIndexParams = $this->GetSearchParams($entity_type, $entity_id, $feature, $operation); CSearch::Index("socialnetwork", 'S' . $ID, array("LAST_MODIFIED" => ConvertTimeStamp(time() + CTimeZone::GetOffset(), "FULL"), "TITLE" => $title, "BODY" => $body, "SITE_ID" => array(SITE_ID => $url), "PARAM1" => CIBlock::GetArrayByID($IBLOCK_ID, "IBLOCK_TYPE_ID"), "PARAM2" => $IBLOCK_ID, "PARAM3" => $feature, "TAGS" => "", "PERMISSIONS" => $arPermissions, "PARAMS" => $arSearchIndexParams), true); if (defined("BX_COMP_MANAGED_CACHE")) { $GLOBALS["CACHE_MANAGER"]->ClearByTag("sonet_search_" . $entity_type . "_" . $entity_id); } }
$UrlDeleteSectionButton = $arSection["SECTION_PAGE_URL"]; } if(empty($UrlDeleteSectionButton)) { $url_template = CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "LIST_PAGE_URL"); $arIBlock = CIBlock::GetArrayByID($arParams["IBLOCK_ID"]); $arIBlock["IBLOCK_CODE"] = $arIBlock["CODE"]; $UrlDeleteSectionButton = CIBlock::ReplaceDetailURL($url_template, $arIBlock, true, false); } $arReturnUrl = array( "add_section" => ( strlen($arParams["SECTION_URL"])? $arParams["SECTION_URL"]: CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "SECTION_PAGE_URL") ), "delete_section" => $UrlDeleteSectionButton, ); $arButtons = CIBlock::GetPanelButtons( $arParams["IBLOCK_ID"], 0, $arResult["ID"], array("RETURN_URL" => $arReturnUrl, "CATALOG"=>true) ); if($APPLICATION->GetShowIncludeAreas()) $this->AddIncludeAreaIcons(CIBlock::GetComponentMenu($APPLICATION->GetPublicShowMode(), $arButtons)); if( is_array($arButtons["intranet"])
<?endif?> <div class="recrm_list"> <?if($arParams["DISPLAY_TOP_PAGER"]):?> <?php echo $arResult["NAV_STRING"]; ?> <br /> <?endif;?> <div class="items"> <?foreach($arResult["ITEMS"] as $arItem):?> <? $this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_EDIT")); $this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], CIBlock::GetArrayByID($arItem["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('CT_BNL_ELEMENT_DELETE_CONFIRM'))); ?> <div class="item<?php echo $arParams['LIST_COVER_PHOTO'] == "Y" ? " item_photo" : ""; ?> " id="recrm_el_<?php echo $arItem['ID']; ?> "> <?if($arParams['LIST_COVER_PHOTO'] == "Y"):?> <?if($arItem['COVER_PHOTO']):?> <a href="<?php echo $arItem['DETAIL_PAGE_URL']; ?> " class="photo" style="width: <?php
} if (isset($_POST["PROPERTY_PROPERTY_TYPE"])) { if (strpos($_POST["PROPERTY_PROPERTY_TYPE"], ":")) { list($arFields["PROPERTY_TYPE"], $arFields["USER_TYPE"]) = explode(':', $_POST["PROPERTY_PROPERTY_TYPE"], 2); } else { $arFields["PROPERTY_TYPE"] = $_POST["PROPERTY_PROPERTY_TYPE"]; $arFields["USER_TYPE"] = ""; } } if (!empty($arListValues)) { $arFields["VALUES"] = $arListValues; } if (COption::GetOptionString("iblock", "show_xml_id", "N") == "Y") { $arFields["XML_ID"] = $_POST["PROPERTY_XML_ID"]; } if (CIBlock::GetArrayByID($arFields["IBLOCK_ID"], "SECTION_PROPERTY") != "Y") { if ($arFields["SECTION_PROPERTY"] === "N" || $arFields["SMART_FILTER"] === "Y") { $ib = new CIBlock(); $ib->Update($arFields["IBLOCK_ID"], array("SECTION_PROPERTY" => "Y")); } } $ibp = new CIBlockProperty(); if ($str_PROPERTY_ID > 0) { $res = $ibp->Update($str_PROPERTY_ID, $arFields, true); } else { $str_PROPERTY_ID = $ibp->Add($arFields); $res = $str_PROPERTY_ID > 0; if (!$res) { $str_PROPERTY_ID = 'n0'; } }
?> "><?php echo $val["NAME"]; ?> </a></li> <?php } ?> </ul> <?php foreach ($arResult["ITEMS"] as $val) { ?> <?php $this->AddEditAction($val['ID'], $val['EDIT_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_EDIT")); $this->AddDeleteAction($val['ID'], $val['DELETE_LINK'], CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_DELETE"), array("CONFIRM" => GetMessage('FAQ_DELETE_CONFIRM'))); ?> <div class="faq-item" id="<?php echo $val["ID"]; ?> "> <h2><?php echo $val["NAME"]; ?> </h2> <div class="faq-item-answer"> <?php echo $val["DETAIL_TEXT"]; ?> </div>
} if (!$file) { if (file_exists($abs_path . $arItem["MODULE_ID"] . "_default.gif")) { $file = $arItem["MODULE_ID"] . "_default.gif"; } else { $file = "default.gif"; } } $arResult["SEARCH"][$i]["ICON"] = $image_path . $file; $arResult["CHAIN_PATH"] = $GLOBALS["APPLICATION"]->GetNavChain($arResult["URL"], 0, $this->GetFolder() . "/chain_template.php", true, false); } if (CModule::IncludeModule('intranet')) { $arResult["STRUCTURE_PAGE"] = ""; $structure_iblock_id = COption::GetOptionInt("intranet", "iblock_structure", 0); if ($structure_iblock_id > 0) { $arIBlock = CIBlock::GetArrayByID($structure_iblock_id); if ($arIBlock) { $arResult["STRUCTURE_PAGE"] = CIBlock::ReplaceDetailURL($arIBlock["LIST_PAGE_URL"], $arIBlock, true); } } $arResult["STRUCTURE_FILTER"] = trim($arParams["STRUCTURE_FILTER"]); if (strlen($arResult["STRUCTURE_FILTER"]) <= 0) { $arResult["STRUCTURE_FILTER"] = "structure"; } $bSoNet = CModule::IncludeModule('socialnetwork'); $arDepCache = array(); $arDepCacheValue = array(); foreach ($arResult["SEARCH"] as $i => $arItem) { if ($arItem["MODULE_ID"] === "intranet" && substr($arItem["ITEM_ID"], 0, 1) === "U") { $rsUser = CUser::GetList($by = '', $ord = '', array("ID_EQUAL_EXACT" => substr($arItem["ITEM_ID"], 1)), array('SELECT' => array('UF_*'))); $arUser = $rsUser->Fetch();
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (!empty($arResult['ELEMENTS'])) { foreach ($arResult['ELEMENTS'] as $item) { $this->AddEditAction('iblock_element_' . $item['ID'], $item['EDIT_LINK'], CIBlock::GetArrayByID($arResult['IBLOCK']['ID'], 'ELEMENT_EDIT')); $this->AddDeleteAction('iblock_element_' . $item['ID'], $item['DELETE_LINK'], CIBlock::GetArrayByID($arResult['IBLOCK']['ID'], 'ELEMENT_DELETE'), array('CONFIRM' => GetMessage('CT_BNI_ELEMENT_DELETE_CONFIRM'))); ?> <div id="<?php echo $this->GetEditAreaId('iblock_element_' . $item['ID']); ?> "><?php ?> <h1><a href="<?php echo $item['DETAIL_PAGE_URL']; ?> "><?php echo $item['NAME']; ?> </a></h1><?php ?> <p><?php echo $item['PREVIEW_TEXT']; ?> </p><?php ?> </div><?php } }
} } if ($iblockID == false) { $permissions = array("1" => "X", "2" => "R"); $dbGroup = CGroup::GetList($by = "", $order = "", array("STRING_ID" => "content_editor")); if ($arGroup = $dbGroup->Fetch()) { $permissions[$arGroup["ID"]] = 'W'; } $iblockID = WizardServices::ImportIBlockFromXML($iblockXMLFile, $iblockCode, $iblockType, WIZARD_SITE_ID, $permissions); if ($iblockID < 1) { return; } //WizardServices::SetIBlockFormSettings($iblockID, Array ( 'tabs' => GetMessage("W_IB_GROUP_PHOTOG_TAB1").$REAL_PICTURE_PROPERTY_ID.GetMessage("W_IB_GROUP_PHOTOG_TAB2").$rating_PROPERTY_ID.GetMessage("W_IB_GROUP_PHOTOG_TAB3").$vote_count_PROPERTY_ID.GetMessage("W_IB_GROUP_PHOTOG_TAB4").$vote_sum_PROPERTY_ID.GetMessage("W_IB_GROUP_PHOTOG_TAB5").$APPROVE_ELEMENT_PROPERTY_ID.GetMessage("W_IB_GROUP_PHOTOG_TAB6").$PUBLIC_ELEMENT_PROPERTY_ID.GetMessage("W_IB_GROUP_PHOTOG_TAB7"), )); //IBlock fields $iblock = new CIBlock(); $arFields = array("ACTIVE" => "Y", "FIELDS" => array('IBLOCK_SECTION' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => ''), 'ACTIVE' => array('IS_REQUIRED' => 'Y', 'DEFAULT_VALUE' => 'Y'), 'ACTIVE_FROM' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => '=today'), 'ACTIVE_TO' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => ''), 'SORT' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => ''), 'NAME' => array('IS_REQUIRED' => 'Y', 'DEFAULT_VALUE' => ''), 'PREVIEW_PICTURE' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => array('FROM_DETAIL' => 'N', 'SCALE' => 'N', 'WIDTH' => '', 'HEIGHT' => '', 'IGNORE_ERRORS' => 'N')), 'PREVIEW_TEXT_TYPE' => array('IS_REQUIRED' => 'Y', 'DEFAULT_VALUE' => 'text'), 'PREVIEW_TEXT' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => ''), 'DETAIL_PICTURE' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => array('SCALE' => 'N', 'WIDTH' => '', 'HEIGHT' => '', 'IGNORE_ERRORS' => 'N')), 'DETAIL_TEXT_TYPE' => array('IS_REQUIRED' => 'Y', 'DEFAULT_VALUE' => 'text'), 'DETAIL_TEXT' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => ''), 'XML_ID' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => ''), 'CODE' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => ''), 'TAGS' => array('IS_REQUIRED' => 'N', 'DEFAULT_VALUE' => '')), "CODE" => $iblockCode, "XML_ID" => $iblockCode, "NAME" => $iblock->GetArrayByID($iblockID, "NAME")); $iblock->Update($iblockID, $arFields); } else { $arSites = array(); $db_res = CIBlock::GetSite($iblockID); while ($res = $db_res->Fetch()) { $arSites[] = $res["LID"]; } if (!in_array(WIZARD_SITE_ID, $arSites)) { $arSites[] = WIZARD_SITE_ID; $iblock = new CIBlock(); $iblock->Update($iblockID, array("LID" => $arSites)); } } //public_files CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/news/index.php", array("WF_IB_NEWS" => $iblockID));
?> " style="<?php echo $strSlideStyle; ?> "></div> </div> </div> <?php } $arSkuTemplate[$arProp['CODE']] = ob_get_contents(); ob_end_clean(); } unset($arProp); } $strElementEdit = CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_EDIT"); $strElementDelete = CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "ELEMENT_DELETE"); $arElementDeleteParams = array("CONFIRM" => GetMessage('CT_BCS_TPL_ELEMENT_DELETE_CONFIRM')); ?> <?php $itemSize = count($arResult["ITEMS"]); foreach ($arResult['ITEMS'] as $key => $arItem) { $this->AddEditAction($arItem['ID'], $arItem['EDIT_LINK'], $strElementEdit); $this->AddDeleteAction($arItem['ID'], $arItem['DELETE_LINK'], $strElementDelete, $arElementDeleteParams); $strMainID = $this->GetEditAreaId($arItem['ID']); $arItemIDs = array('ID' => $strMainID, 'PICT' => $strMainID . '_pict', 'SECOND_PICT' => $strMainID . '_secondpict', 'MAIN_PROPS' => $strMainID . '_main_props', 'QUANTITY' => $strMainID . '_quantity', 'QUANTITY_DOWN' => $strMainID . '_quant_down', 'QUANTITY_UP' => $strMainID . '_quant_up', 'QUANTITY_MEASURE' => $strMainID . '_quant_measure', 'BUY_LINK' => $strMainID . '_buy_link', 'SUBSCRIBE_LINK' => $strMainID . '_subscribe', 'PRICE' => $strMainID . '_price', 'DSC_PERC' => $strMainID . '_dsc_perc', 'SECOND_DSC_PERC' => $strMainID . '_second_dsc_perc', 'PROP_DIV' => $strMainID . '_sku_tree', 'PROP' => $strMainID . '_prop_', 'DISPLAY_PROP_DIV' => $strMainID . '_sku_prop', 'BASKET_PROP_DIV' => $strMainID . '_basket_prop'); $strObName = 'ob' . preg_replace("/[^a-zA-Z0-9_]/", "x", $strMainID); $strTitle = isset($arItem["IPROPERTY_VALUES"]["ELEMENT_PREVIEW_PICTURE_FILE_TITLE"]) && '' != isset($arItem["IPROPERTY_VALUES"]["ELEMENT_PREVIEW_PICTURE_FILE_TITLE"]) ? $arItem["IPROPERTY_VALUES"]["ELEMENT_PREVIEW_PICTURE_FILE_TITLE"] : $arItem['NAME']; if (!empty($arItem["OFFERS"])) { foreach ($arItem["OFFERS"] as $offer) { if ($offer["CAN_BUY"]) { $arItem["CAN_BUY"] = true;
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php"); die(); } if(!$arIBlock["SECTIONS_NAME"]) $arIBlock["SECTIONS_NAME"] = $arIBTYPE["SECTION_NAME"]? $arIBTYPE["SECTION_NAME"]: GetMessage("IBLIST_A_SECTIONS"); if(!$arIBlock["ELEMENTS_NAME"]) $arIBlock["ELEMENTS_NAME"] = $arIBTYPE["ELEMENT_NAME"]? $arIBTYPE["ELEMENT_NAME"]: GetMessage("IBLIST_A_ELEMENTS"); $arIBlock["SITE_ID"] = array(); $rsSites = CIBlock::GetSite($IBLOCK_ID); while($arSite = $rsSites->Fetch()) $arIBlock["SITE_ID"][] = $arSite["LID"]; $bWorkFlow = $bWorkflow && (CIBlock::GetArrayByID($IBLOCK_ID, "WORKFLOW") != "N"); $bBizproc = $bBizproc && (CIBlock::GetArrayByID($IBLOCK_ID, "BIZPROC") != "N"); define("MODULE_ID", "iblock"); define("ENTITY", "CIBlockDocument"); define("DOCUMENT_TYPE", "iblock_".$IBLOCK_ID); $bCatalog = Loader::includeModule("catalog"); $boolSKU = false; $boolSKUFiltrable = false; $strSKUName = ''; $uniq_id = 0; $strUseStoreControl = ''; $strSaveWithoutPrice = ''; $boolCatalogRead = false; $boolCatalogPrice = false; $boolCatalogPurchasInfo = false;
if ($APPLICATION->GetShowIncludeAreas() || is_object($INTRANET_TOOLBAR) && $arParams["INTRANET_TOOLBAR"] !== "N" || $arParams["SET_TITLE"] || isset($arResult[$arParams["BROWSER_TITLE"]])) { if (Loader::includeModule("iblock")) { $UrlDeleteSectionButton = ""; if ($arResult["IBLOCK_SECTION_ID"] > 0) { $rsSection = CIBlockSection::GetList(array(), array("=ID" => $arResult["IBLOCK_SECTION_ID"]), false, array("SECTION_PAGE_URL")); $rsSection->SetUrlTemplates("", $arParams["SECTION_URL"]); $arSection = $rsSection->GetNext(); $UrlDeleteSectionButton = $arSection["SECTION_PAGE_URL"]; } if (empty($UrlDeleteSectionButton)) { $url_template = CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "LIST_PAGE_URL"); $arIBlock = CIBlock::GetArrayByID($arParams["IBLOCK_ID"]); $arIBlock["IBLOCK_CODE"] = $arIBlock["CODE"]; $UrlDeleteSectionButton = CIBlock::ReplaceDetailURL($url_template, $arIBlock, true, false); } $arReturnUrl = array("add_section" => strlen($arParams["SECTION_URL"]) ? $arParams["SECTION_URL"] : CIBlock::GetArrayByID($arParams["IBLOCK_ID"], "SECTION_PAGE_URL"), "delete_section" => $UrlDeleteSectionButton); $arButtons = CIBlock::GetPanelButtons($arParams["IBLOCK_ID"], 0, $arResult["ID"], array("RETURN_URL" => $arReturnUrl, "CATALOG" => true)); if ($APPLICATION->GetShowIncludeAreas()) { $this->AddIncludeAreaIcons(CIBlock::GetComponentMenu($APPLICATION->GetPublicShowMode(), $arButtons)); } if (is_array($arButtons["intranet"]) && is_object($INTRANET_TOOLBAR) && $arParams["INTRANET_TOOLBAR"] !== "N") { $APPLICATION->AddHeadScript('/bitrix/js/main/utils.js'); foreach ($arButtons["intranet"] as $arButton) { $INTRANET_TOOLBAR->AddButton($arButton); } } if ($arParams["SET_TITLE"] || isset($arResult[$arParams["BROWSER_TITLE"]])) { $arTitleOptions = array('ADMIN_EDIT_LINK' => $arButtons["submenu"]["edit_section"]["ACTION"], 'PUBLIC_EDIT_LINK' => $arButtons["edit"]["edit_section"]["ACTION"], 'COMPONENT_NAME' => $this->GetName()); } } }
} } require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"; Loc::loadMessages(__FILE__); global $APPLICATION; if (!CModule::IncludeModule('iblock')) { echo Loc::getMessage("BT_COMP_MLI_AJAX_ERR_MODULE_ABSENT"); die; } CUtil::JSPostUnescape(); $IBlockID = intval($_REQUEST["IBLOCK_ID"]); if (!CIBlockRights::UserHasRightTo($IBlockID, $IBlockID, "iblock_admin_display")) { echo Loc::getMessage('BT_COMP_MLI_AJAX_ERR_IBLOCK_ACCESS_DENIED'); die; } $arIBlock = CIBlock::GetArrayByID($IBlockID); $strBanSym = trim($_REQUEST['BAN_SYM']); $arBanSym = str_split($strBanSym, 1); $strRepSym = trim($_REQUEST['REP_SYM']); $arRepSym = array_fill(0, sizeof($arBanSym), $strRepSym); $bSection = false; if (isset($_REQUEST['TYPE']) && 'SECTION' == $_REQUEST['TYPE']) { $bSection = true; } if ($_REQUEST['MODE'] == 'SEARCH') { $APPLICATION->RestartBuffer(); $arResult = array(); $search = trim($_REQUEST['search']); $matches = array(); if (preg_match('/^(.*?)\\[([\\d]+?)\\]/i', $search, $matches)) { $matches[2] = intval($matches[2]);
@define("ERROR_404", "Y"); if ($arParams["SET_STATUS_404"] === "Y") { CHTTP::SetStatus("404 Not Found"); } } } /************************************************************************* Any actions without cache (if there was some to display) *************************************************************************/ if (isset($arResult["ID"])) { $arTitleOptions = null; if (CModule::IncludeModule("iblock")) { CIBlockElement::CounterInc($arResult["ID"]); if ($USER->IsAuthorized()) { if ($APPLICATION->GetShowIncludeAreas() || $arParams["SET_TITLE"] || isset($arResult[$arParams["BROWSER_TITLE"]])) { $arReturnUrl = array("add_element" => CIBlock::GetArrayByID($arResult["IBLOCK_ID"], "DETAIL_PAGE_URL"), "delete_element" => isset($arResult["SECTION"]) ? $arResult["SECTION"]["SECTION_PAGE_URL"] : $arResult["LIST_PAGE_URL"]); $arButtons = CIBlock::GetPanelButtons($arResult["IBLOCK_ID"], $arResult["ID"], $arResult["IBLOCK_SECTION_ID"], array("RETURN_URL" => $arReturnUrl)); if ($APPLICATION->GetShowIncludeAreas()) { $this->AddIncludeAreaIcons(CIBlock::GetComponentMenu($APPLICATION->GetPublicShowMode(), $arButtons)); } if ($arParams["SET_TITLE"] || isset($arResult[$arParams["BROWSER_TITLE"]])) { $arTitleOptions = array('ADMIN_EDIT_LINK' => $arButtons["submenu"]["edit_element"]["ACTION"], 'PUBLIC_EDIT_LINK' => $arButtons["edit"]["edit_element"]["ACTION"], 'COMPONENT_NAME' => $this->GetName()); } } } } if (isset($arResult["PROPERTIES"][$arParams["META_KEYWORDS"]])) { $val = $arResult["PROPERTIES"][$arParams["META_KEYWORDS"]]["VALUE"]; if (is_array($val)) { $val = implode(" ", $val); }
if(isset($arResult["ID"])) { $arTitleOptions = null; if($USER->IsAuthorized()) { if( $APPLICATION->GetShowIncludeAreas() || $arParams["SET_TITLE"] || isset($arResult[$arParams["BROWSER_TITLE"]]) ) { if(CModule::IncludeModule("iblock")) { $url_template = CIBlock::GetArrayByID($arResult["IBLOCK_ID"], "LIST_PAGE_URL"); $arIBlock = CIBlock::GetArrayByID($arResult["IBLOCK_ID"]); $arIBlock["IBLOCK_CODE"] = $arIBlock["CODE"]; $UrlDeleteSectionButton = CIBlock::ReplaceDetailURL($url_template, $arIBlock, true, false); $arButtons = CIBlock::GetPanelButtons( $arResult["IBLOCK_ID"], 0, $arResult["ID"], array("RETURN_URL" => array( "delete_section" => $UrlDeleteSectionButton, )) ); foreach($arButtons as $mode => $ar) unset($arButtons[$mode]["add_section"]); if($APPLICATION->GetShowIncludeAreas())
?> <br class="sn-br" /> <?php if ($arParams["SHOW_WEBDAV"] == "Y") { $url_help = $arResult["~PATH_TO_USER_FILES_HELP"]; $url_base = str_replace(":443", "", rtrim($arResult["VARIABLES"]["BASE_URL"], '/')); $url_base = ($GLOBALS["APPLICATION"]->IsHTTPS() ? 'https' : 'http') . '://' . str_replace("//", "/", $_SERVER['HTTP_HOST'] . "/" . $url_base . "/"); include_once $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/components/bitrix/webdav/templates/.default/informer.php"; } if ($arParams["PERMISSION"] >= "W" && $arParams["CHECK_CREATOR"] != "Y" && $arResult["VARIABLES"]["PAGE_NAME"] == "SECTIONS") { // $result = CSocNetUserToGroup::InitUserPerms($GLOBALS["USER"]->GetId(), $arGroup, CSocNetUser::IsCurrentUserModuleAdmin()); // if ($result["UserCanModerateGroup"] === true) // { $bNeedButton = $arParams["OBJECT"]->workflow == "bizproc"; if ($arParams["OBJECT"]->workflow == "bizproc_limited") { $bNeedButton = CIBlock::GetArrayByID($arParams["OBJECT"]->IBLOCK_ID, "BIZPROC") != "N"; } if ($bNeedButton) { $component->arResult["arButtons"] = is_array($component->arResult["arButtons"]) ? $component->arResult["arButtons"] : array(); $component->arResult["arButtons"][] = array("TEXT" => GetMessage("SOCNET_SETTINGS"), "TITLE" => GetMessage("SOCNET_SETTINGS_ALT"), "LINK" => "javascript:" . $APPLICATION->GetPopupLink(array("URL" => $component->__path . "/include/webdav_settings.php?DOCUMENT_ID=" . $arParams["OBJECT"]->wfParams['DOCUMENT_TYPE'][2] . "&back_url=" . urlencode($APPLICATION->GetCurPage()), "PARAMS" => array("min_width" => 300, "min_height" => 150))), "ICON" => "btn-list settings"); } // } } $result = $APPLICATION->IncludeComponent("bitrix:webdav.menu", ".default", array("OBJECT" => $arParams["OBJECT"], "SECTION_ID" => $arResult["VARIABLES"]["SECTION_ID"], "ELEMENT_ID" => $arResult["VARIABLES"]["ELEMENT_ID"], "PAGE_NAME" => $arResult["VARIABLES"]["PAGE_NAME"], "ACTION" => $arResult["VARIABLES"]["ACTION"], "BASE_URL" => $arResult["VARIABLES"]["BASE_URL"], "SECTIONS_URL" => $arResult["~PATH_TO_USER_FILES"], "SECTION_EDIT_URL" => $arResult["~PATH_TO_USER_FILES_SECTION_EDIT"], "ELEMENT_URL" => $arResult["~PATH_TO_USER_FILES_ELEMENT"], "ELEMENT_EDIT_URL" => $arResult["~PATH_TO_USER_FILES_ELEMENT_EDIT"], "ELEMENT_FILE_URL" => $arResult["~PATH_TO_USER_FILES_ELEMENT_FILE"], "ELEMENT_HISTORY_URL" => $arResult["~PATH_TO_USER_FILES_ELEMENT_HISTORY"], "ELEMENT_HISTORY_GET_URL" => $arResult["~PATH_TO_USER_FILES_ELEMENT_HISTORY_GET"], "ELEMENT_VERSION_URL" => $arResult["~PATH_TO_USER_FILES_ELEMENT_VERSION"], "ELEMENT_VERSIONS_URL" => $arResult["~PATH_TO_USER_FILES_ELEMENT_VERSIONS"], "ELEMENT_UPLOAD_URL" => $arResult["~PATH_TO_USER_FILES_ELEMENT_UPLOAD"], "HELP_URL" => $arResult["~PATH_TO_USER_FILES_HELP"], "USER_VIEW_URL" => $arResult["~PATH_TO_USER"], "WEBDAV_BIZPROC_HISTORY_URL" => $arResult["~PATH_TO_USER_FILES_WEBDAV_BIZPROC_HISTORY"], "WEBDAV_BIZPROC_HISTORY_GET_URL" => $arResult["~PATH_TO_USER_FILES_WEBDAV_BIZPROC_HISTORY_GET"], "WEBDAV_BIZPROC_LOG_URL" => $arResult["~PATH_TO_USER_FILES_WEBDAV_BIZPROC_LOG"], "WEBDAV_BIZPROC_VIEW_URL" => $arResult["~PATH_TO_USER_FILES_WEBDAV_BIZPROC_VIEW"], "WEBDAV_BIZPROC_WORKFLOW_ADMIN_URL" => $arResult["~PATH_TO_USER_FILES_WEBDAV_BIZPROC_WORKFLOW_ADMIN"], "WEBDAV_BIZPROC_WORKFLOW_EDIT_URL" => $arResult["~PATH_TO_USER_FILES_WEBDAV_BIZPROC_WORKFLOW_EDIT"], "WEBDAV_START_BIZPROC_URL" => $arResult["~PATH_TO_USER_FILES_WEBDAV_START_BIZPROC"], "WEBDAV_TASK_LIST_URL" => $arResult["~PATH_TO_BIZPROC_TASK_LIST"], "WEBDAV_TASK_URL" => $arResult["~PATH_TO_BIZPROC_TASK"], "BIZPROC" => $arResult["VARIABLES"]["BIZPROC"], "USE_COMMENTS" => "N", "FORUM_ID" => false, "STR_TITLE" => $arResult["VARIABLES"]["STR_TITLE"], "SHOW_WEBDAV" => $arResult["VARIABLES"]["SHOW_WEBDAV"]), $component, array("HIDE_ICONS" => "Y")); $this->__component->__menu_values = $result; if ($arParams["SHOW_NAVIGATION"] != "N") { // text from main CMain::InitPathVars($site, $path); $DOC_ROOT = CSite::GetSiteDocRoot($site); $path = $GLOBALS["APPLICATION"]->GetCurDir(); $arChain = array();
return; case CListPermissions::LISTS_FOR_SONET_GROUP_DISABLED: ShowError(GetMessage("CC_BLF_LISTS_FOR_SONET_GROUP_DISABLED")); return; default: ShowError(GetMessage("CC_BLF_UNKNOWN_ERROR")); return; } } elseif ($ELEMENT_ID > 0 && $lists_perm <= CListPermissions::CAN_READ && !CIBlockElementRights::UserHasRightTo($IBLOCK_ID, $ELEMENT_ID, "element_read")) { ShowError(GetMessage("CC_BLF_ACCESS_DENIED")); return; } elseif ($SECTION_ID > 0 && $lists_perm <= CListPermissions::CAN_READ && !CIBlockSectionRights::UserHasRightTo($IBLOCK_ID, $SECTION_ID, "section_read")) { ShowError(GetMessage("CC_BLF_ACCESS_DENIED")); return; } $arIBlock = CIBlock::GetArrayByID(intval($arParams["~IBLOCK_ID"])); $arResult["FILES"] = array(); $arResult["ELEMENT"] = false; $arResult["SECTION"] = false; if ($ELEMENT_ID > 0) { $rsElement = CIBlockElement::GetList(array(), array("IBLOCK_ID" => $arIBlock["ID"], "=ID" => $ELEMENT_ID, "CHECK_PERMISSIONS" => "N"), false, false, array("ID", $arParams["FIELD_ID"])); while ($ar = $rsElement->GetNext()) { if (isset($ar[$arParams["FIELD_ID"]])) { $arResult["FILES"][] = $ar[$arParams["FIELD_ID"]]; } elseif (isset($ar[$arParams["FIELD_ID"] . "_VALUE"])) { if (is_array($ar[$arParams["FIELD_ID"] . "_VALUE"])) { $arResult["FILES"] = array_merge($arResult["FILES"], $ar[$arParams["FIELD_ID"] . "_VALUE"]); } else { $arResult["FILES"][] = $ar[$arParams["FIELD_ID"] . "_VALUE"]; } }