public static function check($type, $data = false) { $data = self::canonizeData($type, $data); $type = trim($data['ID']); $result = \CIBlockType::GetByID($type); $cdata = $result->Fetch(); if ($cdata) { $cdata['LANG'] = array(); foreach (array_keys(\TAO::getLangs()) as $lang) { $l = \CIBlockType::GetByIDLang($type, $lang); $cdata['LANG'][$lang] = array('NAME' => $l['NAME'], 'ELEMENT_NAME' => $l['ELEMENT_NAME'], 'SECTION_NAME' => $l['SECTION_NAME']); } $cdata = \TAO::mergeArgs($cdata, $data); self::updateType($cdata); } else { self::addNewType($data); } }
function CheckIBlockTypeID($strIBlockTypeID, $strNewIBlockTypeID, $strNeedAdd) { $arResult = false; $strNeedAdd = 'Y' == $strNeedAdd ? 'Y' : 'N'; $strNewIBlockTypeID = trim($strNewIBlockTypeID); $strIBlockTypeID = trim($strIBlockTypeID); if ('Y' == $strNeedAdd) { $obIBlockType = new CIBlockType(); if ('' != $strNewIBlockTypeID) { $rsIBlockTypes = CIBlockType::GetByID($strNewIBlockTypeID); if ($arIBlockType = $rsIBlockTypes->Fetch()) { $arResult = array('RESULT' => 'OK', 'VALUE' => $strNewIBlockTypeID); } else { $arFields = array('ID' => $strNewIBlockTypeID, 'SECTIONS' => 'N', 'IN_RSS' => 'N', 'SORT' => 500); $rsLanguages = CLanguage::GetList($by = "sort", $order = "desc", array('ACTIVE' => 'Y')); while ($arLanguage = $rsLanguages->Fetch()) { $arFields['LANG'][$arLanguage['LID']]['NAME'] = $strNewIBlockTypeID; } $mxOffersType = $obIBlockType->Add($arFields); if (false == $mxOffersType) { $arResult = array('RESULT' => 'ERROR', 'MESSAGE' => $obIBlockType->LAST_ERROR); } else { $arResult = array('RESULT' => 'OK', 'VALUE' => $strNewIBlockTypeID); } } } else { $arResult = array('RESULT' => 'ERROR', 'MESSAGE' => GetMessage('IB_E_OF_ERR_NEW_IBLOCK_TYPE_ABSENT')); } } else { if ('' == $strIBlockTypeID) { $arResult = array('RESULT' => 'ERROR', 'MESSAGE' => GetMessage('IB_E_OF_ERR_IBLOCK_TYPE_ABSENT')); } else { $rsIBlockTypes = CIBlockType::GetByID($strIBlockTypeID); if (!($arIBlockType = $rsIBlockTypes->Fetch())) { $arResult = array('RESULT' => 'ERROR', 'MESSAGE' => GetMessage('IB_E_OF_ERR_IBLOCK_TYPE_BAD')); } else { $arResult = array('RESULT' => 'OK', 'VALUE' => $strIBlockTypeID); } } } return $arResult; }
function CheckIBlockType($ID, $SECTIONS = "Y") { $obType = new CIBlockType(); $rsType = $obType->GetByID($ID); if ($arType = $rsType->Fetch()) { return $arType["ID"]; } else { $arFields = array("ID" => $ID, "SECTIONS" => $SECTIONS, "LANG" => array()); $rsLanguages = CLanguage::GetList($by = "sort", $order = "asc"); while ($arLanguage = $rsLanguages->Fetch()) { $MY_MESS = IncludeModuleLangFile(__FILE__, $arLanguage["LID"], true); $arFields["LANG"][$arLanguage["LID"]] = array("NAME" => $MY_MESS["IBLOCK_INSTALL_" . strtoupper($ID) . "_NAME"], "SECTION_NAME" => $MY_MESS["IBLOCK_INSTALL_" . strtoupper($ID) . "_SECTIONS_NAME"], "ELEMENT_NAME" => $MY_MESS["IBLOCK_INSTALL_" . strtoupper($ID) . "_ELEMENTS_NAME"]); } $result = $obType->Add($arFields); if ($result) { return $result; } else { return false; } } }
public function applySnapshot($data, $dbVersion = null) { $iblockData = $this->handleNullValues($data['iblock']); $typeData = $this->handleNullValues($data['type']); $res = new ApplyResult(); $type = new \CIBlockType(); if (!\CIBlockType::GetByID($typeData['ID'])->Fetch()) { $res->setSuccess($type->Add($typeData)); } else { $res->setSuccess($type->Update($typeData['ID'], $typeData)); } if (!$res->isSuccess()) { return $res->setMessage($type->LAST_ERROR); } $extId = $iblockData['ID']; if ($dbVersion) { $id = $this->getCurrentVersionId($extId, $dbVersion); } else { $id = $extId; } if (!$dbVersion && !IblockTable::getById($id)->fetch()) { $addRes = IblockTable::add(array('ID' => $id, 'IBLOCK_TYPE_ID' => $typeData['ID'], 'NAME' => 'add')); if (!$addRes->isSuccess()) { throw new \Exception('add iblock error ' . implode(', ', $addRes->getErrorMessages())); } } $iblock = new \CIBlock(); if ($id && ($currentData = IblockTable::getById($id)->fetch())) { $iblockData['PICTURE'] = $currentData['PICTURE']; $res->setSuccess((bool) $iblock->Update($id, $iblockData)); } else { unset($iblockData['PICTURE']); $res->setSuccess((bool) ($id = $iblock->Add($iblockData))); $this->registerCurrentVersionId($id, $this->getReferenceValue($extId, $dbVersion)); } $res->setId($id); return $res->setMessage($iblock->LAST_ERROR); }
} if (strlen($DATA_FILE_NAME) <= 0) { if (strlen($URL_FILE_1C) > 0) { $URL_FILE_1C = Rel2Abs("/", $URL_FILE_1C); if (file_exists($_SERVER["DOCUMENT_ROOT"] . $URL_FILE_1C) && is_file($_SERVER["DOCUMENT_ROOT"] . $URL_FILE_1C)) { $DATA_FILE_NAME = $_SERVER["DOCUMENT_ROOT"] . $URL_FILE_1C; } } } if (strlen($DATA_FILE_NAME) <= 0) { $strImportErrorMessage .= GetMessage("CICML_NO_LOAD_FILE") . "<br>"; } global $IBLOCK_TYPE_ID; $IBLOCK_TYPE_ID = trim(strval($IBLOCK_TYPE_ID)); if (0 < strlen($IBLOCK_TYPE_ID)) { $rsIBlockTypes = CIBlockType::GetByID($IBLOCK_TYPE_ID); if (!($arIBlockType = $rsIBlockTypes->Fetch())) { $IBLOCK_TYPE_ID = ''; } } if (strlen($IBLOCK_TYPE_ID) <= 0) { $IBLOCK_TYPE_ID = COption::GetOptionString("catalog", "default_catalog_1c", ""); } if (strlen($IBLOCK_TYPE_ID) <= 0) { ClearVars('f_'); $iblocks = CIBlockType::GetList(array('SORT' => 'ASC')); if ($iblocks->ExtractFields("f_")) { $IBLOCK_TYPE_ID = $f_ID; } } if (strlen($IBLOCK_TYPE_ID) <= 0) {
public function CheckFields(&$arFields, $ID = false) { /** @global CMain $APPLICATION */ global $APPLICATION; $this->LAST_ERROR = ""; $NAME = isset($arFields["NAME"]) ? $arFields["NAME"] : ""; if (($ID === false || array_key_exists("NAME", $arFields)) && strlen($NAME) <= 0) { $this->LAST_ERROR .= GetMessage("IBLOCK_BAD_NAME") . "<br>"; } if ($ID === false && !is_set($arFields, "IBLOCK_TYPE_ID")) { $this->LAST_ERROR .= GetMessage("IBLOCK_BAD_BLOCK_TYPE") . "<br>"; } if ($ID === false) { //For new record take default values $WORKFLOW = array_key_exists("WORKFLOW", $arFields) ? $arFields["WORKFLOW"] : "Y"; $BIZPROC = array_key_exists("BIZPROC", $arFields) ? $arFields["BIZPROC"] : "N"; } else { //For existing one read old values $arIBlock = CIBlock::GetArrayByID($ID); $WORKFLOW = array_key_exists("WORKFLOW", $arFields) ? $arFields["WORKFLOW"] : $arIBlock["WORKFLOW"]; $BIZPROC = array_key_exists("BIZPROC", $arFields) ? $arFields["BIZPROC"] : $arIBlock["BIZPROC"]; if ($BIZPROC != "Y") { $BIZPROC = "N"; } //This is cache compatibility issue } if ($WORKFLOW == "Y" && $BIZPROC == "Y") { $this->LAST_ERROR .= GetMessage("IBLOCK_BAD_WORKFLOW_AND_BIZPROC") . "<br>"; } if (is_set($arFields, "IBLOCK_TYPE_ID")) { $r = CIBlockType::GetByID($arFields["IBLOCK_TYPE_ID"]); if (!$r->Fetch()) { $this->LAST_ERROR .= GetMessage("IBLOCK_BAD_BLOCK_TYPE_ID") . "<br>"; } } if (is_array($arFields["PICTURE"]) && array_key_exists("bucket", $arFields["PICTURE"]) && is_object($arFields["PICTURE"]["bucket"])) { //This is trusted image from xml import } elseif (isset($arFields["PICTURE"]) && is_array($arFields["PICTURE"]) && isset($arFields["PICTURE"]["name"])) { $error = CFile::CheckImageFile($arFields["PICTURE"]); if (strlen($error) > 0) { $this->LAST_ERROR .= $error . "<br>"; } } if ($ID === false && !is_set($arFields, "LID") || is_set($arFields, "LID") && (is_array($arFields["LID"]) && count($arFields["LID"]) <= 0 || !is_array($arFields["LID"]) && strlen($arFields["LID"]) <= 0)) { $this->LAST_ERROR .= GetMessage("IBLOCK_BAD_SITE_ID_NA") . "<br>"; } elseif (is_set($arFields, "LID")) { if (!is_array($arFields["LID"])) { $arFields["LID"] = array($arFields["LID"]); } foreach ($arFields["LID"] as $v) { $r = CSite::GetByID($v); if (!$r->Fetch()) { $this->LAST_ERROR .= "'" . $v . "' - " . GetMessage("IBLOCK_BAD_SITE_ID") . "<br>"; } } } $APPLICATION->ResetException(); if ($ID === false) { $db_events = GetModuleEvents("iblock", "OnBeforeIBlockAdd", true); } else { $arFields["ID"] = $ID; $db_events = GetModuleEvents("iblock", "OnBeforeIBlockUpdate", true); } foreach ($db_events as $arEvent) { $bEventRes = ExecuteModuleEventEx($arEvent, array(&$arFields)); if ($bEventRes === false) { if ($err = $APPLICATION->GetException()) { $this->LAST_ERROR .= $err->GetString() . "<br>"; } else { $APPLICATION->ThrowException("Unknown error"); $this->LAST_ERROR .= "Unknown error.<br>"; } break; } } /****************************** QUOTA ******************************/ if (empty($this->LAST_ERROR) && COption::GetOptionInt("main", "disk_space") > 0) { $quota = new CDiskQuota(); if (!$quota->checkDiskQuota($arFields)) { $this->LAST_ERROR = $quota->LAST_ERROR; } } /****************************** QUOTA ******************************/ if (strlen($this->LAST_ERROR) > 0) { return false; } return true; }
$arParams["PHOTO_COMMENTS_TYPE"] = $parent->arParams["PHOTO_COMMENTS_TYPE"]; $arParams["PHOTO_FORUM_ID"] = $parent->arParams["PHOTO_FORUM_ID"]; $arParams["PHOTO_BLOG_URL"] = $parent->arParams["PHOTO_BLOG_URL"]; $arParams["PHOTO_USE_CAPTCHA"] = $parent->arParams["PHOTO_USE_CAPTCHA"]; if ((strlen($arParams["PHOTO_GROUP_IBLOCK_TYPE"]) <= 0 || intval($arParams["PHOTO_GROUP_IBLOCK_ID"]) <= 0) && CModule::IncludeModule("iblock")) { $ttl = 60 * 60 * 24; $cache_id = 'sonet_group_photo_iblock_' . SITE_ID; $cache_dir = '/bitrix/sonet_group_photo_iblock'; $obCache = new CPHPCache(); if ($obCache->InitCache($ttl, $cache_id, $cache_dir)) { $cacheData = $obCache->GetVars(); $arParams["PHOTO_GROUP_IBLOCK_TYPE"] = $cacheData["PHOTO_GROUP_IBLOCK_TYPE"]; $arParams["PHOTO_GROUP_IBLOCK_ID"] = $cacheData["PHOTO_GROUP_IBLOCK_ID"]; unset($cacheData); } else { $rsIBlockType = CIBlockType::GetByID("photos"); if ($arIBlockType = $rsIBlockType->Fetch()) { $rsIBlock = CIBlock::GetList(array("SORT" => "ASC"), array("IBLOCK_TYPE" => $arIBlockType["ID"], "CODE" => array("group_photogallery", "group_photogallery_" . SITE_ID), "ACTIVE" => "Y", "SITE_ID" => SITE_ID)); if ($arIBlock = $rsIBlock->Fetch()) { $arParams["PHOTO_GROUP_IBLOCK_TYPE"] = $arIBlock["IBLOCK_TYPE_ID"]; $arParams["PHOTO_GROUP_IBLOCK_ID"] = $arIBlock["ID"]; } } if ($obCache->StartDataCache()) { $obCache->EndDataCache(array("PHOTO_GROUP_IBLOCK_TYPE" => $arIBlock["IBLOCK_TYPE_ID"], "PHOTO_GROUP_IBLOCK_ID" => $arIBlock["ID"])); } } unset($obCache); } $arParams["PHOTO_COUNT"] = $parent->arParams["LOG_PHOTO_COUNT"]; $arParams["PHOTO_THUMBNAIL_SIZE"] = $parent->arParams["LOG_PHOTO_THUMBNAIL_SIZE"];
private function CheckIblockType() { if ($arIblockType = CIBlockType::GetByID($this->ModuleIblockType)->Fetch()) { $this->arResult["INSTALLATION"]["IBLOCK_TYPE_INSTALL"] = false; $this->arResult["INSTALLATION"]["IBLOCK_TYPE_ID"] = $this->ModuleIblockType; } }
public function getTestIBlockType() { if (self::$_arTestIBlockType !== null) { return self::$_arTestIBlockType; } $testIBlockType = 'obx_test_type'; $rsIBlockType = \CIBlockType::GetByID($testIBlockType); self::$_arTestIBlockType = $rsIBlockType->Fetch(); if (!self::$_arTestIBlockType) { $arIBlockTypeFields = array('ID' => $testIBlockType, 'SECTIONS' => 'Y', 'IN_RSS' => 'N', 'SORT' => 1000, 'LANG' => array('en' => array('NAME' => 'OpenBX: Test info blocks', 'SECTION_NAME' => 'Sections', 'ELEMENT_NAME' => 'Elements'), 'ru' => array('NAME' => 'OpenBX: Test info blocks', 'SECTION_NAME' => 'Sections', 'ELEMENT_NAME' => 'Elements'))); $obBlockType = new \CIBlockType(); global $DB; /** @global \CDatabase $DB */ $DB->StartTransaction(); $res = $obBlockType->Add($arIBlockTypeFields); if (!$res) { $DB->Rollback(); $this->fail('Error: ' . $obBlockType->LAST_ERROR); } else { $DB->Commit(); $rsIBlockType = \CIBlockType::GetByID($testIBlockType); self::$_arTestIBlockType = $rsIBlockType->Fetch(); } } return self::$_arTestIBlockType; }
/** * Абстрактный метод проверки передаваемых параметров * * checkParams * @param array $params * @return mixed|void * @throws \Exception */ public function checkParams($params) { $CIblockType = new \CIBlockType(); if (!isset($params['iblockTypeId']) || !strlen($params['iblockTypeId'])) { throw new BimException('В параметрах не найден iblockTypeId'); } $iblockTypeDbRes = $CIblockType->GetByID($params['iblockTypeId']); if ($iblockTypeDbRes === false || !$iblockTypeDbRes->SelectedRowsCount()) { throw new BimException('В системе не найден тип инфоблока с id = ' . $params['iblockTypeId']); } $this->ownerItemDbData = $iblockTypeDbRes->Fetch(); }
/** * genIblocktypeDelete * @param array $args * @param array $options */ public function genIblocktypeDelete(array $args, array $options = array()) { $dialog = new \ConsoleKit\Widgets\Dialog($this->console); $iblockTypeId = isset($options['typeId']) ? $options['typeId'] : false; if (!$iblockTypeId) { $do = true; while ($do) { $desk = "Put block type id - no default/required"; $iblockTypeId = $dialog->ask($desk . PHP_EOL . $this->color('[IBLOCK_TYPE_ID]:', \ConsoleKit\Colors::YELLOW), '', false); $iblockDbRes = \CIBlockType::GetByID($iblockTypeId); if ($iblockDbRes->SelectedRowsCount()) { $do = false; } else { $this->error('Iblock with id = "' . $iblockTypeId . '" not exist.'); } } } # get description options $desc = isset($options['d']) ? $options['d'] : ""; $autoTag = "delete"; $this->_save($this->generateObject->generateDeleteCode($iblockTypeId), $this->generateObject->generateAddCode($iblockTypeId), $desc, $autoTag); }
$arMESS[$lang] = $MESS; } return $arMESS[$lang]; } } $SITE_ID = defined("SITE_ID") && strLen(SITE_ID) > 0 ? SITE_ID : "s1"; $arLangs = array(); $arMess = array(); __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__))); // Get language $db_res = CLangAdmin::GetList($b = "sort", $o = "asc"); while ($res = $db_res->Fetch()) { $arLangs[] = $res["LID"]; } // 1. Create iblock type $iblockType = CIBlockType::GetByID("gallery"); if (!($iblockType && $iblockType->Fetch())) { $arFields = array('ID' => 'gallery', 'SECTIONS' => 'Y', 'IN_RSS' => 'N', 'SORT' => 100, 'LANG' => array()); foreach ($arLangs as $lang_id) { $res = array('NAME' => GetMessage("P_NAME"), 'SECTION_NAME' => GetMessage("P_SECTION_NAME"), 'ELEMENT_NAME' => GetMessage("P_ELEMENT_NAME")); if ($lang_id != LANGUAGE_ID) { $arMess[$lang_id] = __GetMessageArray($lang_id); $res['NAME'] = trim($arMess[$lang_id]["P_NAME"]); $res['SECTION_NAME'] = trim($arMess[$lang_id]["P_SECTION_NAME"]); $res['ELEMENT_NAME'] = trim($arMess[$lang_id]["P_ELEMENT_NAME"]); } $res['NAME'] = !empty($res['NAME']) ? $res['NAME'] : 'Gallery'; $res['SECTION_NAME'] = !empty($res['SECTION_NAME']) ? $res['SECTION_NAME'] : 'Albums'; $res['ELEMENT_NAME'] = !empty($res['ELEMENT_NAME']) ? $res['ELEMENT_NAME'] : 'Photos'; $arFields["LANG"][$lang_id] = $res; }
function GetContent($arParams) { if (!CModule::IncludeModule('iblock')) { return false; } if ($_POST['library_resource_type'] != "folder") { //iblock $iblock_type = ''; $iblock_id = 0; if ($_POST['library_IBLOCK_TYPE'] != '') { $res = CIBlockType::GetByID($_POST['library_IBLOCK_TYPE']); if ($res_arr = $res->Fetch()) { $iblock_type = $res_arr["ID"]; } if ($iblock_type != '') { if ($_POST['library_NEW_IBLOCK'] == 'Y') { //new iblock $ib = new CIBlock(); $arFields = array("ACTIVE" => "Y", "VERSION" => 1, "LIST_PAGE_URL" => $arParams['path'], "DETAIL_PAGE_URL" => $arParams['path'] . 'element/view/#ID#/', "NAME" => $_POST['library_TITLE'], "IBLOCK_TYPE_ID" => $iblock_type, "LID" => array($arParams['site']), "SORT" => "500", "WORKFLOW" => "N", "BIZPROC" => "N", "SECTION_CHOOSER" => "L"); if (is_array($_POST['library_PERMISSION'])) { $arPerm = array(); foreach ($_POST['library_PERMISSION'] as $grp => $perm) { if ($perm == 'R' || $perm == 'U' || $perm == 'W') { $arPerm[$grp] = $perm; } if ($perm == 'U') { $arFields['BIZPROC'] = 'Y'; } } $arFields["GROUP_ID"] = $arPerm; } $iblock_id = $ib->Add($arFields); } elseif (intval($_POST['library_IBLOCK_ID']) > 0) { //existing iblock: need check permissions if (CIBlock::GetPermission($_POST['library_IBLOCK_ID']) >= "X") { $iblock_id = intval($_POST['library_IBLOCK_ID']); } } } } //forum for comments $forum_id = 0; if ($_POST['library_USE_COMMENTS'] == 'Y') { if ($_POST['library_NEW_FORUM'] == 'Y') { CModule::IncludeModule('forum'); //new forum $arFields = array("NAME" => GetMessage("library_wizard_forum_name") . " \"" . $_POST['library_TITLE'] . "\"", "SITES" => array($arParams['site'] => $arParams["path"] . "element/view/#PARAM2#/"), "ACTIVE" => "Y", "INDEXATION" => "N", "SORT" => 150, "ALLOW_ANCHOR" => "Y", "ALLOW_BIU" => "Y", "ALLOW_IMG" => "Y", "ALLOW_LIST" => "Y", "ALLOW_QUOTE" => "Y", "ALLOW_CODE" => "Y", "ALLOW_FONT" => "Y", "ALLOW_SMILES" => "Y", "ALLOW_TOPIC_TITLED" => "Y"); if (is_array($_POST['library_FORUM_PERMISSION'])) { $arPerm = array(); foreach ($_POST['library_FORUM_PERMISSION'] as $grp => $perm) { if ($perm == 'E' || $perm == 'M') { $arPerm[$grp] = $perm; } } $arFields["GROUP_ID"] = $arPerm; } $forum_id = CForumNew::Add($arFields); } elseif (intval($_POST['library_FORUM_ID']) > 0) { $forum_id = intval($_POST['library_FORUM_ID']); } } //file size $iUploadMaxFilesize = intval(ini_get('upload_max_filesize')); $iPostMaxSize = intval(ini_get('post_max_size')); $iUploadMaxFilesize = min($iUploadMaxFilesize, $iPostMaxSize); //bizproc templates if ($_POST['library_NEW_IBLOCK'] == 'Y' && $iblock_id > 0 && CModule::IncludeModule("bizproc")) { $documentType = array("webdav", "CIBlockDocumentWebdav", "iblock_" . $iblock_id); if (!function_exists("__wd_replace_user_and_groups")) { function __wd_replace_user_and_groups(&$val, $key, $params = array()) { if ($key == "MailText") { $val = str_replace("/company/personal/bizproc/{=Workflow:id}/", $params["path"], $val); } return true; } } if ($handle = opendir($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/bizproc/templates')) { $arr = array("path" => str_replace("//", "/", $arParams["path"] . "/webdav_bizproc_view/{=Document:ID}/")); while (false !== ($file = readdir($handle))) { if (!is_file($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/bizproc/templates/' . $file)) { continue; } $arFields = false; include $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/bizproc/templates/' . $file; array_walk_recursive($arFields["TEMPLATE"], "__wd_replace_user_and_groups", $arr); if ($file == "status.php") { $arFields["AUTO_EXECUTE"] = CBPDocumentEventType::Create; } if (is_array($arFields)) { $arFields["DOCUMENT_TYPE"] = $documentType; $arFields["SYSTEM_CODE"] = $file; if (is_object($GLOBALS['USER'])) { $arFields["USER_ID"] = $GLOBALS['USER']->GetID(); } try { CBPWorkflowTemplateLoader::Add($arFields); } catch (Exception $e) { } } } closedir($handle); } } $s = '<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");?> <?$APPLICATION->IncludeComponent("bitrix:webdav", ".default", array( "RESOURCE_TYPE" => "IBLOCK", "IBLOCK_TYPE" => "' . EscapePHPString($iblock_type) . '", "IBLOCK_ID" => "' . intval($iblock_id) . '", "NAME_FILE_PROPERTY" => "FILE", "REPLACE_SYMBOLS" => "N", "USE_AUTH" => "Y", "UPLOAD_MAX_FILESIZE" => "' . $iUploadMaxFilesize . '", "UPLOAD_MAX_FILE" => "4", "SEF_MODE" => "Y", "SEF_FOLDER" => "' . EscapePHPString($arParams["path"]) . '", "AJAX_MODE" => "N", "AJAX_OPTION_SHADOW" => "Y", "AJAX_OPTION_JUMP" => "N", "AJAX_OPTION_STYLE" => "Y", "AJAX_OPTION_HISTORY" => "N", "CACHE_TYPE" => "A", "CACHE_TIME" => "3600", "COLUMNS" => array( 0 => "NAME", 1 => "TIMESTAMP_X", 2 => "USER_NAME", 3 => "FILE_SIZE", 4 => "WF_STATUS_ID", 5 => "", ), "PAGE_ELEMENTS" => "50", "PAGE_NAVIGATION_TEMPLATE" => "", "STR_TITLE" => "' . EscapePHPString($_POST['library_TITLE']) . '", "SET_TITLE" => "Y", "DISPLAY_PANEL" => "N", "SHOW_TAGS" => "' . ($_POST['library_SHOW_TAGS'] == 'Y' ? 'Y' : 'N') . '", "TAGS_PAGE_ELEMENTS" => "' . (intval($_POST['library_TAGS_PAGE_ELEMENTS']) > 0 ? intval($_POST['library_TAGS_PAGE_ELEMENTS']) : 50) . '", "TAGS_PERIOD" => "", "TAGS_INHERIT" => "Y", "TAGS_FONT_MAX" => "30", "TAGS_FONT_MIN" => "14", "TAGS_COLOR_NEW" => "486DAA", "TAGS_COLOR_OLD" => "486DAA", "TAGS_SHOW_CHAIN" => "Y", "USE_COMMENTS" => "' . ($_POST['library_USE_COMMENTS'] == 'Y' ? 'Y' : 'N') . '", "FORUM_ID" => "' . intval($forum_id) . '", "PATH_TO_SMILE" => "/bitrix/images/forum/smile/", "USE_CAPTCHA" => "Y", "PREORDER" => "Y", "AJAX_OPTION_ADDITIONAL" => "", "SEF_URL_TEMPLATES" => array( "user_view" => "/company/personal/user/#USER_ID#/", "sections" => "#PATH#", "section_edit" => "folder/edit/#SECTION_ID#/#ACTION#/", "element" => "element/view/#ELEMENT_ID#/", "element_edit" => "element/edit/#ACTION#/#ELEMENT_ID#/", "element_history" => "element/history/#ELEMENT_ID#/", "element_history_get" => "element/historyget/#ELEMENT_ID#/#ELEMENT_NAME#", "element_upload" => "element/upload/#SECTION_ID#/", "help" => "help", "search" => "search/", ) ), false );?> <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>'; return $s; } else { $_REQUEST["library_FOLDER"] = strtolower(str_replace("//", "/", "/" . $_REQUEST["library_FOLDER"] . "/")); CheckDirPath($_SERVER['DOCUMENT_ROOT'] . $_REQUEST["library_FOLDER"], true); if (!empty($_REQUEST["library_FOLDER_PERMISSION"]) && is_array($_REQUEST["library_FOLDER_PERMISSION"])) { $GLOBALS["APPLICATION"]->SetFileAccessPermission($_REQUEST["library_FOLDER"], $_REQUEST["library_FOLDER_PERMISSION"]); } $s = '<?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");?> <?$APPLICATION->IncludeComponent("bitrix:webdav", ".default", array( "RESOURCE_TYPE" => "FOLDER", "FOLDER" => "' . EscapePHPString($_REQUEST["library_FOLDER"]) . '", "USE_AUTH" => "Y", "SEF_MODE" => "Y", "SEF_FOLDER" => "' . EscapePHPString($arParams["path"]) . '", "CACHE_TYPE" => "A", "CACHE_TIME" => "3600", "COLUMNS" => array( 0 => "NAME", 1 => "FILE_SIZE", 2 => "TIMESTAMP_X", 4 => "", ), "SET_TITLE" => "Y" ), false );?> <?require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?>'; return $s; } }
/** * @param array $data * @param bool $deleteIfExists */ protected function IblockTypeCreate(array $data, $deleteIfExists = false) { global $DB; if (empty(trim($data['ID']))) { throw new \Exception('You must set iblock type ID'); } $name = trim($data['ID']); $fire = false; $res = \CIBlockType::GetByID($name); if ($ob = $res->Fetch()) { if ($deleteIfExists) { $this->IblockTypeDelete($name); $fire = true; } } else { $fire = true; } if ($fire) { $obBlocktype = new \CIBlockType(); $DB->StartTransaction(); $res = $obBlocktype->Add(array_merge(['ID' => $name, 'SECTIONS' => 'Y', 'IN_RSS' => 'N', 'SORT' => 500], $data)); if (!$res) { $DB->Rollback(); $error = "Can't create {$name} iblock type"; } else { echo "Add {$name} iblock type\r\n"; } $DB->Commit(); if (isset($error)) { throw new \Exception($error); } } return $name; }
function CheckIBlockType($ID) { $obType = new CIBlockType(); $rsType = $obType->GetByID($ID); if ($arType = $rsType->Fetch()) { return $arType["ID"]; } else { $rsType = $obType->GetByID("1c_catalog"); if ($arType = $rsType->Fetch()) { return $arType["ID"]; } else { $result = $obType->Add(array("ID" => "1c_catalog", "SECTIONS" => "Y", "LANG" => array("ru" => array("NAME" => GetMessage("IBLOCK_XML2_CATALOG_NAME"), "SECTION_NAME" => GetMessage("IBLOCK_XML2_CATALOG_SECTION_NAME"), "ELEMENT_NAME" => GetMessage("IBLOCK_XML2_CATALOG_ELEMENT_NAME"))))); if ($result) { return $result; } else { return false; } } } }
} } else { LocalRedirect($APPLICATION->GetCurPage() . "?lang=" . $lang . "&ID=" . UrlEncode($ID) . "&" . $tabControl->ActiveTabParam()); } } } if (strlen($ID) > 0) { $APPLICATION->SetTitle(GetMessage("IBTYPE_E_TITLE", array('#ITYPE#' => $ID))); } else { $APPLICATION->SetTitle(GetMessage("IBTYPE_E_TITLE_2")); } require $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_after.php"; ClearVars("str_"); $str_SECTIONS = "Y"; $str_SORT = "500"; $result = CIBlockType::GetByID($ID); if (!$result->ExtractFields("str_")) { $ID = ''; } if ($bVarsFromForm) { $DB->InitTableVarsForEdit("b_iblock_type", "", "str_"); $str_SECTIONS = $SECTIONS; } $aMenu = array(array("TEXT" => GetMessage("IBTYPE_E_LIST"), "TITLE" => GetMessage("IBTYPE_E_LIST_TITLE"), "LINK" => "iblock_type_admin.php?lang=" . LANGUAGE_ID, "ICON" => "btn_list")); if (strlen($ID) > 0) { $aMenu[] = array("SEPARATOR" => "Y"); $aMenu[] = array("TEXT" => GetMessage("IBTYPE_E_CREATE"), "TITLE" => GetMessage("IBTYPE_E_CREATE_TITLE"), "LINK" => "iblock_type_edit.php?lang=" . LANGUAGE_ID, "ICON" => "btn_new"); $aMenu[] = array("TEXT" => GetMessage("IBTYPE_E_DEL"), "TITLE" => GetMessage("IBTYPE_E_DEL_TITLE"), "LINK" => "javascript:if(confirm('" . GetMessageJS("IBTYPE_E_DEL_CONF") . "')) window.location='/bitrix/admin/iblock_type_admin.php?ID=" . $ID . "&action=delete&lang=" . LANGUAGE_ID . "&" . bitrix_sessid_get() . "';", "ICON" => "btn_delete"); } $context = new CAdminContextMenu($aMenu); $context->Show();
do { $DB->StartTransaction(); // создание инфоблока, если надо if ($_POST['iblock_type'] == '0') { $cibt = new CIBlockType(); if ($cibt->Add(array('ID' => $_POST['newiblocktype_id'], 'SECTIONS' => 'Y', 'EDIT_FILE_BEFORE' => '', 'EDIT_FILE_AFTER' => '', 'IN_RSS' => 'N', 'SORT' => 500, 'LANG' => array('en' => array('NAME' => $_POST['newiblocktype_id'], 'SECTION_NAME' => 'Sections', 'ELEMENT_NAME' => 'Elements'), 'ru' => array('NAME' => $_POST['newiblocktype_name'], 'SECTION_NAME' => 'Секции', 'ELEMENT_NAME' => 'Элементы'))))) { $iBlockTypeID = $_POST['newiblocktype_id']; } else { $DB->Rollback(); ShowError(GetMessage('GREENSIGHT_IBLOCK_IMPORT_ERROR_TYPE_CREATE')); break; } } // выбрать нужный тип инфоблока if (!$iBlockTypeID) { $rsIBlockType = CIBlockType::GetByID($_POST['iblock_type']); $iBlockTypeID = $rsIBlockType->Fetch(); $iBlockTypeID = $iBlockTypeID['ID']; } if (!$iBlockTypeID) { $DB->Rollback(); ShowError(GetMessage('GREENSIGHT_IBLOCK_IMPORT_ERROR_TYPE_SELECT')); break; } // загрузка файла в переменную $data = explode("\n", file_get_contents($_FILES['import_file']['tmp_name'])); if ($data[0][0] == '#') { unset($data[0]); } if (!strlen($data[1])) { unset($data[1]);
} } // create iblock $arNewOffers = array(); if ($boolFlag) { $DB->StartTransaction(); foreach ($arNewIBlocksList as $intIBlockID => $arIBlockInfo) { if (CATALOG_NEW_OFFERS_IBLOCK_NEED == $arIBlockInfo['OFFERS_IBLOCK_ID']) { // need new offers $arResultNewCatalogItem = array(); if ('Y' == $arIBlockInfo['CREATE_OFFERS_NEW_TYPE']) { $rsIBlockTypes = CIBlockType::GetByID($arIBlockInfo['OFFERS_NEW_TYPE']); if ($arIBlockType = $rsIBlockTypes->Fetch()) { $arIBlockInfo['OFFERS_TYPE'] = $arIBlockInfo['OFFERS_NEW_TYPE']; } else { $arFields = array( 'ID' => $arIBlockInfo['OFFERS_NEW_TYPE'], 'SECTIONS' => 'N', 'IN_RSS' => 'N', 'SORT' => 500, ); $rsLanguages = CLanguage::GetList($by="sort", $order="desc",array('ACTIVE' => 'Y')); while ($arLanguage = $rsLanguages->Fetch()) {
<?php include $_SERVER['DOCUMENT_ROOT'] . '/local/vendor/techart/bitrix.tao/include/prolog_admin.php'; $code = htmlspecialcharsbx($_GET['id']); $langs = \TAO::getLangs(); $data = CIBlockType::GetByID($code)->Fetch(); $langData = array(); $name = false; foreach ($langs as $lang => $ldata) { if ($r = CIBlockType::GetByIDLang($code, $lang, false)) { $langData[$lang] = $r; if (!$name) { $name = $r['NAME']; } } } ?> <h2>Экспорт типа "<?php echo $name; ?> "</h2> Мнемокод: <b><?php echo $code; ?> </b>, файл: <b>local/schema/types/<?php echo $code; ?> .php</b><br> <?php