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];
 }
Пример #2
0
	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;
	}
Пример #3
0
 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;
 }
Пример #4
0
 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;
 }
Пример #5
0
 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;
 }
Пример #6
0
 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 "";
         }
     }
 }
Пример #7
0
 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);
         	}
         */
     }
 }
Пример #8
0
 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;
         }
     }
 }
Пример #9
0
 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);
 }
Пример #11
0
 /**
  * @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);
 }
Пример #12
0
 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"]);
 }
Пример #13
0
 /**
  * <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("поле"=&gt;"значение", ...). Содержит значения <a
  * href="http://dev.1c-bitrix.ru/api_help/iblock/fields.php#fproperty">всех полей</a> изменяемого
  * свойства. Кроме того, с помощью поля "VALUES", значением которого
  * должен быть массив вида Array(Array("VALUE"=&gt;"значение", "DEF"=&gt;"по
  * умолчанию (Y/N)", "SORT"=&gt;"индекс сортировки"),...), можно установить
  * варианты выбора для свойств типа "список" (подробнее смотрите
  * метод <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>
  * &lt;?<br>$arFields = Array(<br>  "NAME" =&gt; "Цвет",<br>  "ACTIVE" =&gt; "Y",<br>  "SORT" =&gt; "100",<br>  "CODE" =&gt; "color",<br>  "PROPERTY_TYPE" =&gt; "L",<br>  "IBLOCK_ID" =&gt; 11<br>  );<br><br>$arFields["VALUES"][0] = Array(<br>  "VALUE" =&gt; "Красный",<br>  "DEF" =&gt; "N",<br>  "SORT" =&gt; "100"<br>}<br><br>$arFields["VALUES"][1] = Array(<br>  "VALUE" =&gt; "Желтый",<br>  "DEF" =&gt; "N",<br>  "SORT" =&gt; "200"<br>}<br><br>$arFields["VALUES"][2] = Array(<br>  "VALUE" =&gt; "Зеленый",<br>  "DEF" =&gt; "Y",<br>  "SORT" =&gt; "300"<br>}<br><br>$ibp = new CIBlockProperty;<br>if(!$ibp-&gt;Update($ID, $arFields))<br>	echo $ibp-&gt;LAST_ERROR;<br>?
  * 
  * В случае обновления информации в пользовательском типе свойства для сохранения ключа USER_TYPE_SETTINGS необходимо указать еще ключ USER_TYPE с реальным значением. В противном случае ключ USER_TYPE_SETTINGS не обновится. Неверными будут следующие варианты:
  * 
  * 
  * $arFields = array(
  *    'PROPERTY_TYPE' =&gt; 'E',
  *    'USER_TYPE_SETTINGS' =&gt; array(
  *       'WIDTH' =&gt; '10',
  *       'HEIGHT' =&gt; '10',
  *    ),
  * );
  * $ibp = new CIBlockProperty();
  * $ibp-&gt;Update($ID, $arFields));
  * 
  * $arFields = array(
  *    'PROPERTY_TYPE' =&gt; 'E',
  *    'USER_TYPE_SETTINGS' =&gt; array(
  *       'WIDTH' =&gt; '10',
  *       'HEIGHT' =&gt; '10',
  *    ),
  *    'USER_TYPE' =&gt; '',
  * );
  * $ibp = new CIBlockProperty();
  * $ibp-&gt;Update($ID, $arFields));
  * 
  * $arFields = array(
  *    'PROPERTY_TYPE' =&gt; 'E',
  *    'USER_TYPE_SETTINGS' =&gt; array(
  *       'WIDTH' =&gt; '10',
  *       'HEIGHT' =&gt; '10',
  *    ),
  *    'USER_TYPE' =&gt; 'xxx'
  * );
  * $ibp = new CIBlockProperty();
  * $ibp-&gt;Update($ID, $arFields));
  * 
  * //включить индексацию свойства для поиска
  *  $arFields = Array(
  *      'SEARCHABLE'=&gt;'Y'
  * );
  * $ibp = new CIBlockProperty;
  * if(!$ibp-&gt;Update($prop['ID'], $arFields))
  *      echo $ibp-&gt;LAST_ERROR;
  * 
  * 
  * 
  * // добавление свойства в умный фильтр: 
  * $arFields = Array('SMART_FILTER' =&gt; 'Y', 'IBLOCK_ID' =&gt; 123);
  * $ibp = new CIBlockProperty();
  * if(!$ibp-&gt;Update($prop['ID'], $arFields))
  * echo $ibp-&gt;LAST_ERROR; 
  * 
  * //IBLOCK_ID в arFields указывать обязательно, иначе свойство не будет включено в умный фильтр, и при этом не выдаст ошибки.
  * //Чтобы исключить свойство из умного фильтра в arFileds заменить:  'SMART_FILTER'=&gt;'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;
 }
Пример #14
0
}
$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']) {
Пример #15
0
 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);
     }
 }
Пример #16
0
				$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"])
Пример #17
0
<?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 
Пример #18
0
 }
 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';
     }
 }
Пример #19
0
    ?>
"><?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>
Пример #20
0
    }
    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();
Пример #21
0
<?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 
    }
}
Пример #22
0
    }
}
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));
Пример #23
0
                ?>
" 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;
Пример #24
0
	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;
Пример #25
0
 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());
         }
     }
 }
Пример #26
0
    }
}
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]);
Пример #27
0
        @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);
        }
Пример #28
0
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())
Пример #29
0
?>
<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();
Пример #30
0
            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"];
            }
        }