コード例 #1
0
 /**
  * Add
  * @param $arFields
  * @return bool
  * @throws \Exception
  */
 public static function Add($arFields)
 {
     if (!isset($arFields['SECTIONS']) || empty($arFields['SECTIONS'])) {
         $arFields['SECTIONS'] = 'Y';
     }
     if (!isset($arFields['IN_RSS']) || empty($arFields['IN_RSS'])) {
         $arFields['IN_RSS'] = 'N';
     }
     if (isset($arFields['SORT'])) {
         if (!is_int($arFields['SORT'])) {
             if (intval($arFields['SORT'])) {
                 $arFields['SORT'] = intval($arFields['SORT']);
             } else {
                 $arFields['SORT'] = 500;
             }
         }
     } else {
         $arFields['SORT'] = 500;
     }
     if (!isset($arFields['LANG']) || empty($arFields['LANG'])) {
         $langDefaults = array('ru' => array('NAME' => 'Название', 'SECTION_NAME' => 'Разделы', 'ELEMENT_NAME' => 'Элементы'), 'en' => array('NAME' => 'Common', 'SECTION_NAME' => 'Sections', 'ELEMENT_NAME' => 'Elements'));
         $l = \CLanguage::GetList($lby = "sort", $lorder = "asc");
         while ($arIBTLang = $l->GetNext()) {
             if (array_key_exists($arIBTLang["LID"], $langDefaults)) {
                 $arFields["LANG"][$arIBTLang["LID"]] = $langDefaults[$arIBTLang["LID"]];
             }
         }
     }
     $CIblockType = new \CIBlockType();
     if ($CIblockType->Add($arFields)) {
         return true;
     } else {
         throw new BimException($CIblockType->LAST_ERROR);
     }
 }
コード例 #2
0
 public function addIblockType($fields = array())
 {
     $default = array('ID' => '', 'SECTIONS' => 'Y', 'IN_RSS' => 'N', 'SORT' => 100, 'LANG' => array('ru' => array('NAME' => 'Catalog', 'SECTION_NAME' => 'Sections', 'ELEMENT_NAME' => 'Elements'), 'en' => array('NAME' => 'Catalog', 'SECTION_NAME' => 'Sections', 'ELEMENT_NAME' => 'Elements')));
     $fields = array_replace_recursive($default, $fields);
     $ib = new \CIBlockType();
     if ($ib->Add($fields)) {
         return $fields['ID'];
     }
     $this->throwException(__METHOD__, $ib->LAST_ERROR);
 }
コード例 #3
0
ファイル: type.php プロジェクト: techart/bitrix.tao
 /**
  * @throws \TAOAddTypeException
  */
 protected static function addNewType($data)
 {
     global $DB;
     $DB->StartTransaction();
     $o = new \CIBlockType();
     $res = $o->Add($data);
     if (!$res) {
         $DB->Rollback();
         throw new \TAOAddTypeException("Error create type " . $data['ID']);
     } else {
         $DB->Commit();
     }
 }
コード例 #4
0
ファイル: IblockHelper.php プロジェクト: Hawkart/megatv
 public function addIblockTypeIfNotExists($fields)
 {
     $this->checkRequiredKeys(__METHOD__, $fields, array('ID'));
     $id = $fields['ID'];
     if ($this->getIblockTypeId($id)) {
         return $id;
     }
     $default = array('ID' => '', 'SECTIONS' => 'Y', 'IN_RSS' => 'N', 'SORT' => 100, 'LANG' => array('ru' => array('NAME' => 'Catalog', 'SECTION_NAME' => 'Sections', 'ELEMENT_NAME' => 'Elements'), 'en' => array('NAME' => 'Catalog', 'SECTION_NAME' => 'Sections', 'ELEMENT_NAME' => 'Elements')));
     $fields = array_merge($default, $fields);
     $ib = new \CIBlockType();
     if ($ib->Add($fields)) {
         return $id;
     }
     $this->throwException(__METHOD__, $ib->LAST_ERROR);
 }
コード例 #5
0
ファイル: iblock_edit.php プロジェクト: Satariall/izurit
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;
}
コード例 #6
0
ファイル: step2.php プロジェクト: Satariall/izurit
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;
        }
    }
}
コード例 #7
0
 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);
 }
コード例 #8
0
ファイル: step1.php プロジェクト: webgksupport/alpina
 private function InstallIblockType()
 {
     if ($this->arResult["INSTALLATION"]["IBLOCK_TYPE_INSTALL"]) {
         $arFields = array("ID" => $this->ModuleIblockType, "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 100, "LANG" => array());
         foreach ($this->arResult["SETTINGS"]["LANG"] as $Lang) {
             $m = IncludeModuleLangFile(__FILE__, $Lang["LANGUAGE_ID"], true);
             $arFields["LANG"][$Lang["LANGUAGE_ID"]] = array("NAME" => strlen($m["IDEA_INSTALL_IBLOCK_TYPE"]) == 0 ? "Idea Management" : $m["IDEA_INSTALL_IBLOCK_TYPE"], "SECTION_NAME" => strlen($m["IDEA_INSTALL_IBLOCK_SECTION_NAME"]) == 0 ? "Category" : $m["IDEA_INSTALL_IBLOCK_SECTION_NAME"]);
         }
         $IBT = new CIBlockType();
         if (!($IblockTypeId = $IBT->Add($arFields))) {
             $this->arResult["ERRORS"][] = $IBT->LAST_ERROR;
         }
         $this->arResult["INSTALLATION"]["IBLOCK_TYPE_ID"] = $IblockTypeId;
     }
 }
コード例 #9
0
ファイル: testcase.php プロジェクト: OpenBX/obx.core
 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;
 }
コード例 #10
0
 * Файл импорта структуры инфоблоков административной чавсти модуля greensight_utils
 */
require_once $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_admin_before.php';
IncludeModuleLangFile(__FILE__);
$APPLICATION->SetTitle(GetMessage('GREENSIGHT_IBLOCK_IMPORT_TITLE'));
if (!$USER->IsAdmin()) {
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));
}
include $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/include/prolog_admin_after.php";
if ($_POST) {
    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();
コード例 #11
0
ファイル: index.php プロジェクト: akniyev/itprom.ru
	function DoInstall()
	{
		global $APPLICATION;
		if(!CModule::IncludeModule('iblock')) return false;
		
		//получаем тип инфоблока
    	$iblockType = CIBlockType::GetList(
    		array(),
    		array(
    			"ID" => "kaycom_ONEPLACESEO"
    		)
    	);
		//создаем, если такого нет
    	if(!$iblockType = $iblockType->GetNext()){
			$iT = new CIBlockType();
    		$iblockType["ID"] =  $iT->Add(
    			array(
    				"ID" 		=> "kaycom_ONEPLACESEO",
    				"SECTIONS" 	=> "N",
					"LANG" => array(
						"ru" => array(
							'NAME' => GetMessage("kaycom.oneplaceseo_IBLOCK_TYPE_NAME"),
						)
					)
    			)
    		);
    	}
    	
		//если не создался, выходим
    	if(!$iblockType["ID"]){
    		return false;
    	}
		//получаем список всех сайтов
    	$arSites = array();
    	$rsSites = CSite::GetList($by="sort", $order="desc", Array("ACTIVE" => "Y"));
		while ($arSite = $rsSites->Fetch()){
			$arSites[] = $arSite["ID"]; 
		}
    	
		//пытаемся найти инфоблок в нашем типе инфоблока
    	$iblocks = CIBlock::GetList(
    		array(),
    		array(
    			"TYPE" => "kaycom_ONEPLACESEO",
    			"CODE" => "kaycom_ONEPLACESEO"
    		)
    	);
		//если нет - создаем инфоблок с заданным набором полей
    	if(!$iblock = $iblocks->GetNext()){
			$ib = new CIBlock();
			$iblock["ID"] = $ib->Add(
				array(
					"ACTIVE" => "Y",
					"NAME" => GetMessage("kaycom.oneplaceseo_IBLOCK_TYPE_NAME"),
					"CODE" => "kaycom_ONEPLACESEO",
					"LIST_PAGE_URL" => "",
					"DETAIL_PAGE_URL" => "",
					"IBLOCK_TYPE_ID" => "kaycom_ONEPLACESEO",
					"SITE_ID" => $arSites,
					"SORT" => 10,
					"WORKFLOW" => "N",
					"EDIT_FILE_AFTER" => (strpos (SM_VERSION, '12')!==false ? "/bitrix/modules/".$this->MODULE_ID."/admin/iblock_element_edit.php" : "") // TODO: добавить файл редактирования для 11 версии
				)
			);
			
			$ibp = new CIBlockProperty;
			
			foreach(array("TITLE", "KEYWORDS", "DESCRIPTION") as $PROP_CODE){
				$ibp->Add(
					Array(
						"NAME" => GetMessage("kaycom.oneplaceseo_PROP_".$PROP_CODE),
						"ACTIVE" => "Y",
						"SORT" => 10 * $cnt++,
						"CODE" => $PROP_CODE,
						"PROPERTY_TYPE" => "S",
						"MULTIPLE" => "N",
						"IBLOCK_ID" => $iblock["ID"]
					)
				);
			}
		}
		
		
		$this->InstallFiles();
		$this->InstallDB();
		RegisterModule(self::MODULE_ID);
		
		
		
		RegisterModuleDependences("main", "OnEpilog", "kaycom.oneplaceseo",  "CKaycomOneplaceseo", "onPageLoad");
	}
コード例 #12
0
<?php

if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (!CModule::IncludeModule("iblock")) {
    return;
}
$arTypes = array(array(), array("ID" => "news", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 50, "LANG" => array()), array("ID" => "portfolio", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 100, "LANG" => array()), array("ID" => "price", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 150, "LANG" => array()), array("ID" => "reviews", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 200, "LANG" => array()), array("ID" => "services", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 250, "LANG" => array()), array("ID" => "slider", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 300, "LANG" => array()));
$arLanguages = array();
$rsLanguage = CLanguage::GetList($by, $order, array());
while ($arLanguage = $rsLanguage->Fetch()) {
    $arLanguages[] = $arLanguage["LID"];
}
$iblockType = new CIBlockType();
foreach ($arTypes as $arType) {
    $dbType = CIBlockType::GetList(array(), array("=ID" => $arType["ID"]));
    if ($dbType->Fetch()) {
        continue;
    }
    foreach ($arLanguages as $languageID) {
        WizardServices::IncludeServiceLang("type.php", $languageID);
        $code = strtoupper($arType["ID"]);
        $arType["LANG"][$languageID]["NAME"] = GetMessage($code . "_TYPE_NAME");
        $arType["LANG"][$languageID]["ELEMENT_NAME"] = GetMessage($code . "_ELEMENT_NAME");
        if ($arType["SECTIONS"] == "Y") {
            $arType["LANG"][$languageID]["SECTION_NAME"] = GetMessage($code . "_SECTION_NAME");
        }
    }
    $iblockType->Add($arType);
}
コード例 #13
0
// ------------------ PHOTO -------------------------------
$photoIBlockTypeID = "car_gallery_demo";
$photoUserIBlockID = 0;
$photoGroupIBlockID = 0;
if (CModule::IncludeModule("iblock")) {
    $dbIBlockType = CIBlockType::GetList(array(), array("=ID" => $photoIBlockTypeID));
    if ($arIBlockType = $dbIBlockType->Fetch()) {
        $photoIBlockTypeID = $arIBlockType["ID"];
    } else {
        $arFieldsLang = array();
        foreach ($arLanguages as $arLang) {
            $arFieldsLang[$arLang["LID"]] = array("NAME" => GetSocNetMessageLocal("SONET_I_PHOTO_IBLOCK_TYPE_NAME", $arLang["LID"]));
        }
        $arFields = array("ID" => $photoIBlockTypeID, "LANG" => $arFieldsLang, "SECTIONS" => "Y");
        $iblockType = new CIBlockType();
        $photoIBlockTypeID = $iblockType->Add($arFields);
        if (strLen($photoIBlockTypeID) <= 0) {
            $errorString .= $iblockType->LAST_ERROR;
        }
    }
    if (StrLen($photoIBlockTypeID) > 0) {
        $iblockCode = "car_photo_user_demo";
        $photoUserIBlockID = 0;
        $dbIBlock = CIBlock::GetList(array(), array("SITE_ID" => $arSite["SITE_ID"], "TYPE" => $photoIBlockTypeID, "CODE" => $iblockCode));
        if ($arIBlock = $dbIBlock->Fetch()) {
            $photoUserIBlockID = IntVal($arIBlock["ID"]);
        } else {
            $arFields = array("ACTIVE" => "Y", "NAME" => GetSocNetMessageLocal("SONET_I_IBLOCK_PHOTO_USER_NAME", $arSite["LANGUAGE_ID"]), "IBLOCK_TYPE_ID" => $photoIBlockTypeID, "CODE" => $iblockCode, "RSS_ACTIVE" => "N", "WORKFLOW" => "N", "INDEX_ELEMENT" => "N", "LID" => array($arSite["SITE_ID"]));
            $iblock = new CIBlock();
            $dbUGroups = CGroup::GetList($by = "c_sort", $order = "asc");
            while ($arUGroups = $dbUGroups->Fetch()) {
コード例 #14
0
ファイル: iblock_tools.php プロジェクト: webgksupport/alpina
function DEMO_IBlock_CreateType($IBLOCK_TYPES = false)
{
    if (!is_array($IBLOCK_TYPES)) {
        $IBLOCK_TYPES = array("news", "services", "photo", "books", "articles", "paid", "xmlcatalog");
    }
    $arTypes = array("news" => array("ID" => "news", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 10, "LANG" => array(LANGUAGE_ID => array("NAME" => GetMessage("DEMO_IBLOCK_TYPE_NEWS_NAME"), "SECTION_NAME" => GetMessage("DEMO_IBLOCK_TYPE_NEWS_SECTION_NAME"), "ELEMENT_NAME" => GetMessage("DEMO_IBLOCK_TYPE_NEWS_ELEMENT_NAME")))), "articles" => array("ID" => "articles", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 20, "LANG" => array(LANGUAGE_ID => array("NAME" => GetMessage("DEMO_IBLOCK_TYPE_ARTICLES_NAME"), "SECTION_NAME" => GetMessage("DEMO_IBLOCK_TYPE_ARTICLES_SECTION_NAME"), "ELEMENT_NAME" => GetMessage("DEMO_IBLOCK_TYPE_ARTICLES_ELEMENT_NAME")))), "photo" => array("ID" => "photo", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 40, "LANG" => array(LANGUAGE_ID => array("NAME" => GetMessage("DEMO_IBLOCK_TYPE_PHOTO_NAME"), "SECTION_NAME" => GetMessage("DEMO_IBLOCK_TYPE_PHOTO_SECTION_NAME"), "ELEMENT_NAME" => GetMessage("DEMO_IBLOCK_TYPE_PHOTO_ELEMENT_NAME")))), "services" => array("ID" => "services", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 50, "LANG" => array(LANGUAGE_ID => array("NAME" => GetMessage("DEMO_IBLOCK_TYPE_SERVICES_NAME"), "SECTION_NAME" => GetMessage("DEMO_IBLOCK_TYPE_SERVICES_SECTION_NAME"), "ELEMENT_NAME" => GetMessage("DEMO_IBLOCK_TYPE_SERVICES_ELEMENT_NAME")))), "books" => array("ID" => "books", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 60, "LANG" => array(LANGUAGE_ID => array("NAME" => GetMessage("DEMO_IBLOCK_TYPE_BOOKS_NAME"), "SECTION_NAME" => GetMessage("DEMO_IBLOCK_TYPE_BOOKS_SECTION_NAME"), "ELEMENT_NAME" => GetMessage("DEMO_IBLOCK_TYPE_BOOKS_ELEMENT_NAME")))), "paid" => array("ID" => "paid", "SECTIONS" => "N", "IN_RSS" => "N", "SORT" => 70, "LANG" => array(LANGUAGE_ID => array("NAME" => GetMessage("DEMO_IBLOCK_TYPE_PAID_NAME"), "SECTION_NAME" => GetMessage("DEMO_IBLOCK_TYPE_PAID_SECTION_NAME"), "ELEMENT_NAME" => GetMessage("DEMO_IBLOCK_TYPE_PAID_ELEMENT_NAME")))), "xmlcatalog" => array("ID" => "xmlcatalog", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 80, "LANG" => array(LANGUAGE_ID => array("NAME" => GetMessage("DEMO_IBLOCK_TYPE_XMLCATALOG_NAME"), "SECTION_NAME" => GetMessage("DEMO_IBLOCK_TYPE_XMLCATALOG_SECTION_NAME"), "ELEMENT_NAME" => GetMessage("DEMO_IBLOCK_TYPE_XMLCATALOG_ELEMENT_NAME")))), "lists" => array("ID" => "lists", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 90, "LANG" => array(LANGUAGE_ID => array("NAME" => GetMessage("DEMO_IBLOCK_TYPE_LISTS_NAME"), "SECTION_NAME" => GetMessage("DEMO_IBLOCK_TYPE_LISTS_SECTION_NAME"), "ELEMENT_NAME" => GetMessage("DEMO_IBLOCK_TYPE_LISTS_ELEMENT_NAME")))));
    foreach ($IBLOCK_TYPES as $TYPE_ID) {
        if (array_key_exists($TYPE_ID, $arTypes)) {
            $obType = new CIBlockType();
            $arFields = $arTypes[$TYPE_ID];
            $rsType = $obType->GetList(array(), array("=ID" => $arFields["ID"]));
            if ($arType = $rsType->Fetch()) {
                continue;
            } else {
                $obType->Add($arFields);
            }
        }
    }
}
コード例 #15
0
ファイル: crm_catalog.php プロジェクト: DarneoStudio/bitrix
 public static function CreateCatalog($originatorID = '', $name = '', $siteID = null)
 {
     if (!is_string($originatorID) || strlen($originatorID) == 0) {
         $originatorID = null;
     }
     if ($siteID == null) {
         $siteID = SITE_ID;
     }
     $langID = LANGUAGE_ID;
     $dbSite = CSite::GetById($siteID);
     if ($arSite = $dbSite->Fetch()) {
         $langID = $arSite['LANGUAGE_ID'];
     }
     $result = true;
     //check type type
     $typeID = self::GetCatalogTypeID();
     //$rsIBlockTypes = CIBlockType::GetByID($typeID); // CIBlockType::GetByID() is unstable
     $rsIBlockTypes = CIBlockType::GetList(array(), array("=ID" => $typeID));
     if (!$rsIBlockTypes->Fetch()) {
         $iblocktype = new CIBlockType();
         $result = $iblocktype->Add(array('ID' => $typeID, 'SECTIONS' => 'Y', 'IN_RSS' => 'N', 'SORT' => 100, 'LANG' => array($langID => array('NAME' => GetMessage('CRM_PRODUCT_CATALOG_TYPE_TITLE'), 'SECTION_NAME' => GetMessage('CRM_PRODUCT_CATALOG_SECTION_NAME'), 'ELEMENT_NAME' => GetMessage('CRM_PRODUCT_CATALOG_PRODUCT_NAME')))));
         if (!$result) {
             self::RegisterError($iblocktype->LAST_ERROR);
             return false;
         }
     }
     //echo 'Error: '.$obBlocktype->LAST_ERROR.'<br/>';
     $arSite = array();
     $sites = CSite::GetList($by = 'sort', $order = 'desc', array('ACTIVE' => 'Y'));
     while ($site = $sites->Fetch()) {
         $arSite[] = $site['LID'];
     }
     //creation of iblock
     $iblock = new CIBlock();
     $iblockID = $iblock->Add(array('NAME' => isset($name[0]) ? $name : GetMessage('CRM_PRODUCT_CATALOG_TITLE'), 'ACTIVE' => 'Y', 'IBLOCK_TYPE_ID' => $typeID, 'LID' => $siteID, 'SORT' => 100, 'XML_ID' => 'crm_external_' . $originatorID, 'INDEX_ELEMENT' => 'N', 'WORKFLOW' => 'N', 'BIZPROC' => 'N', 'VERSION' => 1, 'GROUP_ID' => array(2 => 'R')));
     if ($iblockID === false) {
         self::RegisterError($iblock->LAST_ERROR);
         return false;
     }
     //echo 'Error: '.$iblock->LAST_ERROR.'<br/>';
     //creation of catalog
     $result = CCrmCatalog::Add(array('ID' => $iblockID, 'ORIGINATOR_ID' => $originatorID));
     if ($result === false) {
         self::RegisterError('Catalog creation error');
         return false;
     }
     return $iblockID;
 }
コード例 #16
0
ファイル: index.php プロジェクト: mrdeadmouse/u136006
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) {
    die;
}
if (!CModule::IncludeModule("bizproc") || !CModule::IncludeModule("iblock")) {
    return;
}
$langTmp = "";
$dbSite = CSite::GetById(WIZARD_SITE_ID);
if ($arSite = $dbSite->Fetch()) {
    $langTmp = $arSite["LANGUAGE_ID"];
}
$iblockType = "bizproc_iblockx";
$ib = new CIBlockType();
$arFields = array("ID" => $iblockType, "LANG" => array($langTmp => array("NAME" => GetMessage("BIZPROC_DEMO_TYPE_TITLE"))));
$ib->Add($arFields);
$runtime = CBPRuntime::GetRuntime();
$runtime->StartRuntime();
$arResult["DocumentService"] = $runtime->GetService("DocumentService");
$iblockCode = "bizproc1_" . WIZARD_SITE_ID;
$rsIBlock = CIBlock::GetList(array(), array("XML_ID" => $iblockCode, "IBLOCK_TYPE_ID" => $iblockType));
$iblockID = false;
if ($arIBlock = $rsIBlock->Fetch()) {
    $iblockID = $arIBlock["ID"];
}
if ($iblockID == false && WIZARD_SITE_ID == "s1") {
    $rsIBlock = CIBlock::GetList(array(), array("CODE" => "bizproc1", "TYPE" => $iblockType));
    $iblockID = false;
    if ($arIBlock = $rsIBlock->Fetch()) {
        $iblockID = $arIBlock["ID"];
    }
コード例 #17
0
ファイル: index.php プロジェクト: Satariall/izurit
    $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;
    }
    $obBlocktype = new CIBlockType();
    $success = (bool) $obBlocktype->Add($arFields);
    if (!$success) {
        return;
    }
}
// 2. Import iblock
$iBlockId = 0;
$db_res = CIBlock::GetList(array(), array("CODE" => "photo", "XML_ID" => "photo-gallery"));
if ($db_res && ($res = $db_res->Fetch())) {
    $iBlockId = intVal($res["ID"]);
} else {
    $source_base = dirname(__FILE__);
    $documentRoot = rtrim(str_replace(array("\\\\", "//", "\\"), array("\\", "/", "/"), $_SERVER["DOCUMENT_ROOT"]), "\\/");
    $source_base = substr($source_base, strLen($documentRoot));
    $source_base = str_replace(array("\\", "//"), "/", "/" . $source_base . "/");
    require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/iblock/classes/" . $DBType . "/cml2.php";
コード例 #18
0
ファイル: bm.php プロジェクト: ASDAFF/BitrixMigration
 protected function addType( $arType )
 {
     $db_iblock_type = CIBlockType::GetList(false, array("=ID"=>$arType["ID"]));
     if($ar_iblock_type = $db_iblock_type->Fetch()){
         echo 'Тип инфоблока '.$arType["ID"].' уже есть.';
     }else {
         $obBlocktype = new CIBlockType;
         $res = $obBlocktype->Add($arType);
     }
 }
コード例 #19
0
ファイル: wizard.php プロジェクト: ASDAFF/entask.ru
	function OnPostForm()
	{
		$wizard = &$this->GetWizard();
		
		if ($wizard->IsNextButtonClick())
		{
			$SITES = $wizard->GetVar('sites');
			$arSitesPassed = array();
			$pub_files = $wizard->GetVar('public_files_installed');
			$pub_data = $wizard->GetVar('public_data_installed');
			$pub_updater = $wizard->GetVar('public_data_updater');
			
			$arErrors=array();
			
			if (is_array($SITES) && count($SITES)) {
				$rS = CSite::GetList($ord='id', $dir='asc', array('ACTIVE'=>'Y'));
				$arSites = array();
				while($arr = $rS->Fetch()) {
					$arSites[$arr['LID']] = $arr;
				}
				
				foreach($SITES as $ST) {
					if (! in_array($ST, array_keys($arSites)) || !($arSites[$ST]['DIR'] || $arSites[$ST]['DOC_ROOT'])) {
						$arErrors[] = array('LID'=>$ST, 'MSG'=>GetMessage('WD_SITE_NOT_FOUND'));
						continue;
					}
					if (! empty($arSites[$ST]['DOC_ROOT'])) {
						if (! is_writable($arSites[$ST]['DOC_ROOT']) ) {
							$arErrors[] = array('LID'=>$ST, 'NAME'=>$arSites[$ST]['NAME'], 'PATH'=>$arSites[$ST]['DOC_ROOT'], 'MSG'=>GetMessage('WD_SITE_NOT_WRITABLE'));
							continue;
						}
						else {
							$doc_root = preg_replace('#\/$#', '', $arSites[$ST]['DOC_ROOT']);
						}
					}
					else {
						if (! is_writable($_SERVER['DOCUMENT_ROOT'] . $arSites[$ST]['DIR']) ) {
							$arErrors[] = array('LID'=>$ST, 'NAME'=>$arSites[$ST]['NAME'], 'PATH'=>$_SERVER['DOCUMENT_ROOT'] . $arSites[$ST]['DIR'], 'MSG'=>GetMessage('WD_SITE_NOT_WRITABLE'));
							continue;
						}
						else {
							$doc_root = preg_replace('#\/$#', '', $_SERVER['DOCUMENT_ROOT'] . $arSites[$ST]['DIR']);
						}
					}
					$tmpls = $wizard->GetVar('template_installed');
					$arFields=array();
					$arFields['NAME'] = $arSites[$ST]['NAME'];
					$index=1;
					foreach($tmpls as $tp) {
						$arFields["TEMPLATE"][] = array(
							"TEMPLATE" => $tp,
							"SORT" => $index++,
							"CONDITION" => ''
						);
					}
					
					$bIsUTF = (defined('BX_UTF') && BX_UTF == true);
					
					if (!$bIsUTF) {
						if (CopyDirFiles(str_replace('\\', '/', dirname(__FILE__)) . '/public_files', $doc_root, true, true) !== false) {
							$pub_files[] = '[' . $arSites[$ST]['LID'] . '] ' . $arSites[$ST]['NAME'];
							
							$langs = new CLang;
							if ($langs->Update($ST, $arFields) === false) {
								$arErrors[] = array('LID'=>$ST, 'NAME'=>$arSites[$ST]['NAME'], 'MSG'=>GetMessage('WD_TPL_NOT_ASSIGN'));
							}
							$arSitesPassed[] = $ST;
						}
						else {
							$this->SetError( GetMessage('WD_STEP_2_NOT_INSTALLED') );
						}
					}
					else {
						if (WizardServices::CopyDirFilesEx(str_replace('\\', '/', dirname(__FILE__)) . '/public_files', $doc_root) !== false) {
							
							$pub_files[] = '[' . $arSites[$ST]['LID'] . '] ' . $arSites[$ST]['NAME'];
							
							$langs = new CLang;
							if ($langs->Update($ST, $arFields) === false) {
								$arErrors[] = array('LID'=>$ST, 'NAME'=>$arSites[$ST]['NAME'], 'MSG'=>GetMessage('WD_TPL_NOT_ASSIGN'));
							}
							$arSitesPassed[] = $ST;
						}
						else {
							$this->SetError( GetMessage('WD_STEP_2_NOT_INSTALLED') );
						}
					}
				}
			}
			$wizard->SetVar('errors', $arErrors);
			$wizard->SetVar('public_files_installed', $pub_files);
			//$install_data = $wizard->GetVar('install_data');
			if (count($arSitesPassed) && count($pub_data)) {
				CModule::IncludeModule('iblock');
				// create iblock type
				$arType = array(
					'ID'=>'BT',
					"SECTIONS" => "Y",
					"IN_RSS" => "N",
					"SORT" => 100,
					"LANG" => Array(),
				);
				$arLanguages = Array();
				$rsLanguage = CLanguage::GetList($by, $order, array());
				while($arLanguage = $rsLanguage->Fetch())
					$arLanguages[] = $arLanguage["LID"];	
					
				$bIBType = true;
				$dbType = CIBlockType::GetList(Array(),Array("=ID" => $arType["ID"]));
				if(! $dbType->Fetch()) {
					foreach($arLanguages as $languageID)
					{
						$arType["LANG"][$languageID]["NAME"] = 'Bitrixtemplates';
						$arType["LANG"][$languageID]["ELEMENT_NAME"] = 'Item';
						$arType["LANG"][$languageID]["SECTION_NAME"] = 'Section';
					}
					$iblockType = new CIBlockType;
					$bIBType = $iblockType->Add($arType);
				}
				
				if ($bIBType) {
					$arCodeToId = array();
					foreach($pub_data as $arF) {
						$iblockCode = $arF['name'];
						$rsIBlock = CIBlock::GetList(array(), array("CODE" => $iblockCode, "TYPE" => $arType['ID']));
						if ($arIBlock = $rsIBlock->Fetch())
						{
							CIBlock::Delete($arIBlock["ID"]); 
						}
						$filepath = str_replace('\\', '/', dirname(__FILE__)) . '/public_data/'.$arF['filepath'];
						$filepath = preg_replace('#^.+?\/bitrix\/#','/bitrix/', $filepath);
						//echo $filepath;
						$iblockID = WizardServices::ImportIBlockFromXML(
							$filepath,
							$iblockCode,
							$arType['ID'],
							$arSitesPassed
						);
						$arCodeToId[$iblockCode] = $iblockID;
					}
					if ($pub_updater) {
						$updater = str_replace('\\', '/', dirname(__FILE__)) . '/public_data/'.$pub_updater;
						$arUpdate = array();
						include($updater);
						if (is_array($arUpdate)) {
							foreach($arUpdate as $arData) {
								$file = $_SERVER[DOCUMENT_ROOT].$arData['file'];
								//echo $file;
								//print_r($arCodeToId);
								$iblockCode = ToUpper($arData['code']).'_IBLOCK_CODE';
								$iblockId = ToUpper($arData['code']).'_IBLOCK_ID';
								$id = $arCodeToId[$arData['code']];
								if (file_exists($file) && $id) {
									CWizardUtil::ReplaceMacros($file, array($iblockCode => $arType['ID'], $iblockId => $id));
								}
							}
						}
					}
				}
			}
		}
	}
コード例 #20
0
ファイル: step2.php プロジェクト: Satariall/izurit
 if ($_REQUEST["socnet_iblock"] == "Y" && $GLOBALS["APPLICATION"]->GetGroupRight("iblock") >= "W") {
     if ($_REQUEST["create_socnet_iblock_type"] == "Y") {
         if ($_REQUEST["create_iblock_type"] == "N" || $_REQUEST["create_iblock_type"] == "Y" && $_REQUEST["socnet_iblock_type_name"] != $_REQUEST["iblock_type_name"]) {
             $arIBTLang = array();
             $arLang = array();
             $l = CLanguage::GetList($lby = "sort", $lorder = "asc");
             while ($ar = $l->ExtractFields("l_")) {
                 $arIBTLang[] = $ar;
             }
             for ($i = 0; $i < count($arIBTLang); $i++) {
                 $arLang[$arIBTLang[$i]["LID"]] = array("NAME" => $_REQUEST["socnet_iblock_type_name"]);
             }
             $arFields = array("ID" => $_REQUEST["socnet_iblock_type_name"], "LANG" => $arLang, "SECTIONS" => "Y");
             $GLOBALS["DB"]->StartTransaction();
             $obBlocktype = new CIBlockType();
             $IBLOCK_TYPE_ID = $obBlocktype->Add($arFields);
             if (strLen($IBLOCK_TYPE_ID) <= 0) {
                 $strWarning .= $obBlocktype->LAST_ERROR;
                 $GLOBALS["DB"]->Rollback();
                 $bVarsFromForm = true;
             } else {
                 $GLOBALS["DB"]->Commit();
                 $_REQUEST["create_socnet_iblock_type"] = "N";
                 $_REQUEST["socnet_iblock_type_name"] = "";
                 $_REQUEST["socnet_iblock_type_id"] = $IBLOCK_TYPE_ID;
             }
         }
     } else {
         $IBLOCK_TYPE_ID = $_REQUEST["socnet_iblock_type_id"];
     }
     if ($IBLOCK_TYPE_ID) {
コード例 #21
0
 protected function addType($arType)
 {
     $db_iblock_type = \CIBlockType::GetList(array("ID" => "ASC"), array("=ID" => $arType["ID"]));
     if ($ar_iblock_type = $db_iblock_type->Fetch()) {
         $this->addMessage('Тип инфоблока ' . $arType["ID"] . ' уже есть.', true);
     } else {
         $obBlocktype = new \CIBlockType();
         $res = $obBlocktype->Add($arType);
         $this->addMessage('Новый тип инфоблока ' . $arType["ID"] . ' добавлен.', true);
     }
 }
コード例 #22
0
ファイル: index.php プロジェクト: ASDAFF/bitrix.company
function InstallDB()
{
if(!CModule::IncludeModule("iblock"))
return;
	global $DB;
	$arFields = Array(
	'ID'=>'vdk_companies_type',
	'SECTIONS'=>'Y',
	'IN_RSS'=>'N',
	'SORT'=>100,
	'LANG'=>Array(
		'en'=>Array(
			'NAME'=>'Сompanies',
			'SECTION_NAME'=>'Catalog',
			'ELEMENT_NAME'=>'Сompany'
			),
			'ru'=>Array(
			'NAME'=>'Компании',
			'SECTION_NAME'=>'Каталог',
			'ELEMENT_NAME'=>'Компания'
			)
		)
	);

$obBlocktype = new CIBlockType;
$DB->StartTransaction();
$res = $obBlocktype->Add($arFields);
if(!$res)
{$DB->Rollback();   echo 'Error: '.$obBlocktype->LAST_ERROR.'<br>';}
else
{$DB->Commit();}
   

$arFields = Array(
	'ID'=>'vdk_cities_type',
	'SECTIONS'=>'Y',
	'IN_RSS'=>'N',
	'SORT'=>100,
	'LANG'=>Array(
		'ru'=>Array(
			'NAME'=>'Города',
			'SECTION_NAME'=>'Страна',
			'ELEMENT_NAME'=>'Город'
			),
			'en'=>Array(
			'NAME'=>'Cities',
			'SECTION_NAME'=>'Country',
			'ELEMENT_NAME'=>'City'
			)
		)
	);

$obBlocktype = new CIBlockType;
$DB->StartTransaction();
$res = $obBlocktype->Add($arFields);
if(!$res)
{$DB->Rollback();   echo 'Error: '.$obBlocktype->LAST_ERROR.'<br>';}
else
{$DB->Commit();}

$iblockID = WizardServices::ImportIBlockFromXML("/bitrix/modules/vdk_companies/install/db/infoblocks/cities.xml", "vdk_cities", "vdk_cities_type", "s1");
if ($iblockID < 1) return false;
$iblockID = WizardServices::ImportIBlockFromXML("/bitrix/modules/vdk_companies/install/db/infoblocks/1.xml", "vdk_companies", "vdk_companies_type", "s1");
if ($iblockID < 1) return false;
return true;
}
コード例 #23
0
ファイル: cml2.php プロジェクト: nycmic/bittest
 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;
             }
         }
     }
 }
コード例 #24
0
						}
						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())
							{
								$arFields['LANG'][$arLanguage['LID']]['NAME'] = $arIBlockInfo['OFFERS_NEW_TYPE'];
							}
							$obIBlockType = new CIBlockType();
							$mxOffersType = $obIBlockType->Add($arFields);
							if (!$mxOffersType)
							{
								$boolFlag = false;
								$strWarning .= Loc::getMessage(
									'CAT_IBLOCK_OFFERS_ERR_NEW_IBLOCK_TYPE_NOT_ADD',
									array(
										'#PRODUCT#' => $arCurrentIBlocks[$intIBlockID]['INFO'],
										'#ERROR#' => $obIBlockType->LAST_ERROR
									)
								).'<br />';
							}
							else
							{
								$arIBlockInfo['OFFERS_TYPE'] = $arIBlockInfo['OFFERS_NEW_TYPE'];
							}
コード例 #25
0
ファイル: index.php プロジェクト: mrdeadmouse/u136006
    return;
}
//if(!WIZARD_IS_RERUN)
//{
WizardServices::CopyFile(WIZARD_SERVICE_RELATIVE_PATH . "/public/" . LANGUAGE_ID . "/video", WIZARD_SITE_DIR . "services/video");
$arMenuItem = array(GetMessage("VMENUIT"), WIZARD_SITE_DIR . "services/video/", array(), array(), "");
WizardServices::AddMenuItem(WIZARD_SITE_DIR . "services/.left.menu.php", $arMenuItem, WIZARD_SITE_ID, 11);
//}
$iblockCode = "video-meeting_" . WIZARD_SITE_ID;
$iblockType = "events";
$dbIblockType = CIBlockType::GetList(array(), array("=ID" => $iblockType));
if (!$dbIblockType->Fetch()) {
    $obBlocktype = new CIBlockType();
    $arFields = array("ID" => $iblockType, "SORT" => 500, "IN_RSS" => "N", "SECTIONS" => "Y");
    $arFields["LANG"][LANGUAGE_ID] = array("NAME" => GetMessage("VI_IBLOCK_NAME"));
    $res = $obBlocktype->Add($arFields);
}
$rsIBlock = CIBlock::GetList(array(), array("XML_ID" => $iblockCode, "TYPE" => $iblockType));
$iblockID = false;
if ($arIBlock = $rsIBlock->Fetch()) {
    $iblockID = $arIBlock["ID"];
}
if ($iblockID == false) {
    $rsIBlock = CIBlock::GetList(array(), array("CODE" => "video-meeting", "TYPE" => $iblockType));
    if ($arIBlock = $rsIBlock->Fetch()) {
        $iblockID = $arIBlock["ID"];
    }
}
if ($iblockID == false) {
    $iblockID = WizardServices::ImportIBlockFromXML(WIZARD_SERVICE_RELATIVE_PATH . "/xml/lang_" . LANGUAGE_ID . "/res_video.xml", 'video-meeting', $iblockType, WIZARD_SITE_ID, $permissions = array("1" => "X", "2" => "R", WIZARD_PORTAL_ADMINISTRATION_GROUP => "X"));
    $iblock = new CIBlock();
コード例 #26
0
ファイル: index.php プロジェクト: ASDAFF/1C_Bitrix_info_site
	function installDemoData()
	{
		if(!CModule::IncludeModule("iblock"))
			return;

		$currentPermissions = CLists::GetPermission();
		$socnet_iblock_type_id = COption::GetOptionString("lists", "socnet_iblock_type_id");
		$isSocnetInstalled = IsModuleInstalled('socialnetwork');

		$arTypes = array();
		if (empty($currentPermissions))
		{
			$arTypes[] = array(
				"ID" => "lists",
				"SECTIONS" => "Y",
				"IN_RSS" => "N",
				"SORT" => 80,
				"LANG" => array(),
			);
		}

		if ($isSocnetInstalled && strlen($socnet_iblock_type_id) <= 0)
		{
			$arTypes[] = array(
				"ID" => "lists_socnet",
				"SECTIONS" => "Y",
				"IN_RSS" => "N",
				"SORT" => 83,
				"LANG" => array(),
			);
		}

		$arLanguages = array();
		if (!empty($arTypes))
		{
			$rsLanguage = CLanguage::GetList($by, $order, array());
			while ($arLanguage = $rsLanguage->Fetch())
			{
				$arLanguages[] = $arLanguage["LID"];
			}
		}

		foreach ($arTypes as $arType)
		{
			$dbType = CIBlockType::GetList(array(), array("=ID" => $arType["ID"]));
			if (!$dbType->Fetch())
			{
				foreach($arLanguages as $languageID)
				{
					IncludeModuleLangFile(__FILE__, $languageID);
					$code = strtoupper($arType["ID"]);
					$arType["LANG"][$languageID]["NAME"] = GetMessage($code."_TYPE_NAME");
					$arType["LANG"][$languageID]["ELEMENT_NAME"] = GetMessage($code."_ELEMENT_NAME");
					if ($arType["SECTIONS"] == "Y")
						$arType["LANG"][$languageID]["SECTION_NAME"] = GetMessage($code."_SECTION_NAME");
				}
				$iblockType = new CIBlockType;
				$iblockType->Add($arType);
			}
		}

		if (empty($currentPermissions))
		{
			CLists::SetPermission('lists', array(1));
		}

		if ($isSocnetInstalled && strlen($socnet_iblock_type_id) <= 0)
		{
			COption::SetOptionString("lists", "socnet_iblock_type_id", "lists_socnet");
			CLists::EnableSocnet(true);
		}
	}
コード例 #27
0
ファイル: index.php プロジェクト: Satariall/izurit
 function installDemoData()
 {
     if (!CModule::IncludeModule("iblock")) {
         return;
     }
     $currentPermissions = CLists::GetPermission();
     unset($currentPermissions["bitrix_processes"]);
     unset($currentPermissions["lists"]);
     $socnet_iblock_type_id = COption::GetOptionString("lists", "socnet_iblock_type_id");
     $isSocnetInstalled = IsModuleInstalled('socialnetwork');
     $arTypes = array();
     if (empty($currentPermissions)) {
         $arTypes[] = array("ID" => "lists", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 80, "LANG" => array());
         $arTypes[] = array("ID" => "bitrix_processes", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 90, "LANG" => array());
     }
     if ($isSocnetInstalled && strlen($socnet_iblock_type_id) <= 0) {
         $arTypes[] = array("ID" => "lists_socnet", "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 83, "LANG" => array());
     }
     $arLanguages = array();
     if (!empty($arTypes)) {
         $rsLanguage = CLanguage::GetList($by, $order, array());
         while ($arLanguage = $rsLanguage->Fetch()) {
             $arLanguages[] = $arLanguage["LID"];
         }
     }
     foreach ($arTypes as $arType) {
         $dbType = CIBlockType::GetList(array(), array("=ID" => $arType["ID"]));
         if (!$dbType->Fetch()) {
             foreach ($arLanguages as $languageID) {
                 IncludeModuleLangFile(__FILE__, $languageID);
                 $code = strtoupper($arType["ID"]);
                 $arType["LANG"][$languageID]["NAME"] = GetMessage($code . "_TYPE_NAME");
                 $arType["LANG"][$languageID]["ELEMENT_NAME"] = GetMessage($code . "_ELEMENT_NAME");
                 if ($arType["SECTIONS"] == "Y") {
                     $arType["LANG"][$languageID]["SECTION_NAME"] = GetMessage($code . "_SECTION_NAME");
                 }
             }
             $iblockType = new CIBlockType();
             $iblockType->Add($arType);
         }
     }
     if (empty($currentPermissions)) {
         CLists::SetPermission('lists', array(1));
         CLists::SetPermission('bitrix_processes', array(1));
     }
     $defaultSiteId = CSite::GetDefSite();
     $siteObject = CSite::GetByID($defaultSiteId);
     $site = $siteObject->fetch();
     $defaultLang = $site ? $site['LANGUAGE_ID'] : 'en';
     if ($defaultLang == 'ua') {
         $defaultLang = 'ru';
     }
     \Bitrix\Lists\Importer::installProcesses($defaultLang);
     if (IsModuleInstalled("bitrix24")) {
         \Bitrix\Main\Config\Option::set("lists", "livefeed_url", "/company/processes/");
     } else {
         \Bitrix\Main\Config\Option::set("lists", "livefeed_url", "/services/processes/");
     }
     if ($isSocnetInstalled && strlen($socnet_iblock_type_id) <= 0) {
         COption::SetOptionString("lists", "socnet_iblock_type_id", "lists_socnet");
         CLists::EnableSocnet(true);
     }
 }
コード例 #28
0
ファイル: index.php プロジェクト: studiofact/citfact.seopage
 /**
  * Add tables to the infoblock
  *
  * @return bool
  */
 public function installIblock()
 {
     $db_iblock_type = CIBlockType::GetList(array(), array('=ID' => CODE_IBLOCK_TYPE));
     if (!($ar_iblock_type = $db_iblock_type->Fetch())) {
         global $DB;
         $obBlocktype = new CIBlockType();
         $DB->StartTransaction();
         $res = $obBlocktype->Add(array('ID' => CODE_IBLOCK_TYPE, 'SECTIONS' => 'Y', 'IN_RSS' => 'N', 'SORT' => 500, 'LANG' => array('ru' => array('NAME' => 'Сервисы', 'SECTION_NAME' => 'Разделы', 'ELEMENT_NAME' => 'Страницы'), 'en' => array('NAME' => 'Servies', 'SECTION_NAME' => 'Sections', 'ELEMENT_NAME' => 'Pages'))));
         if (!$res) {
             $DB->Rollback();
             echo 'Error: ' . $obBlocktype->LAST_ERROR . '<br>';
         } else {
             $DB->Commit();
         }
     }
     $idBlock = 0;
     $res = CIBlock::GetList(array(), array('TYPE' => CODE_IBLOCK_TYPE, 'SITE_ID' => SITE_ID, 'ACTIVE' => 'Y', "CODE" => CODE_IBLOCK_CODE), true);
     if (!($ar_res = $res->Fetch())) {
         $ib = new CIBlock();
         $arFields = array("ACTIVE" => 'Y', "NAME" => 'СЕО страницы', "CODE" => CODE_IBLOCK_CODE, "LIST_PAGE_URL" => "", "DETAIL_PAGE_URL" => "", "IBLOCK_TYPE_ID" => CODE_IBLOCK_TYPE, "SITE_ID" => array(SITE_ID), "SORT" => '500', "GROUP_ID" => array("2" => "R"));
         $idBlock = $ib->Add($arFields);
     } else {
         $idBlock = $ar_res['ID'];
     }
     $PropID = 0;
     $properties = CIBlockProperty::GetList(array("sort" => "asc"), array("ACTIVE" => "Y", "IBLOCK_ID" => $idBlock, "CODE" => CODE_PROP_IBLOCK));
     if (!($prop_fields = $properties->GetNext())) {
         $arFieldsProps = array("NAME" => "URL копия", "ACTIVE" => "Y", "SORT" => "500", "CODE" => CODE_PROP_IBLOCK, "PROPERTY_TYPE" => "S", "IS_REQUIRED" => 'Y', "IBLOCK_ID" => $idBlock);
         $ibp = new CIBlockProperty();
         $PropID = $ibp->Add($arFieldsProps);
     } else {
         $PropID = $prop_fields['ID'];
     }
     global $DB;
     $DB->PrepareFields("b_citfact_uservars_group");
     $arFieldsDB = array('NAME' => "'СЕО Страницы'", 'CODE' => "'" . CODE_GROUP_USER_VARS . "'");
     $IDGroup = $DB->Insert("b_citfact_uservars_group", $arFieldsDB, $err_mess . __LINE__);
     $IDGroup = intval($IDGroup);
     $arFieldsDB = array('GROUP_ID' => "'" . $IDGroup . "'", 'NAME' => "'ID свойства в SEO'", 'CODE' => "'" . CODE_PROPS_SEO_BLOCK_USER_VARS . "'", 'VALUE' => "'" . $PropID . "'", 'DESCRIPTION' => "'Символьный код свойства в инфоблоке SEO Страниц'");
     $DB->Insert("b_citfact_uservars", $arFieldsDB, $err_mess . __LINE__);
     $arFieldsDB = array('GROUP_ID' => "'" . $IDGroup . "'", 'NAME' => "'Инфоблок SEO'", 'CODE' => "'" . CODE_ID_SEO_BLOCK_USER_VARS . "'", 'VALUE' => "'" . $idBlock . "'", 'DESCRIPTION' => "'Инфоблок SEO'");
     $DB->Insert("b_citfact_uservars", $arFieldsDB, $err_mess . __LINE__);
     $arFieldsDB = array('GROUP_ID' => "'" . $IDGroup . "'", 'NAME' => "'Редирект'", 'CODE' => "'" . CODE_IS_REDIRECT_SEO . "'", 'VALUE' => "'N'", 'DESCRIPTION' => "'Если установлен данный параметр, будет работать редирект из обычной страницы на сео-страницу'");
     $DB->Insert("b_citfact_uservars", $arFieldsDB, $err_mess . __LINE__);
     return true;
 }
コード例 #29
0
 /**
  * Создает тип инфоблока
  *
  * @param array $arFields
  *
  * @throws MigrationException
  */
 protected function createIBlockType(array $arFields)
 {
     if (!$this->iBlockTypeGateway->Add($arFields)) {
         throw new MigrationException($this->iBlockTypeGateway->LAST_ERROR);
     }
 }
コード例 #30
0
ファイル: step1.php プロジェクト: k-kalashnikov/geekcon_new
 private function InstallIblockType()
 {
     if ($this->arResult["INSTALLATION"]["IBLOCK_TYPE_INSTALL"]) {
         $arFields = array("ID" => $this->ModuleIblockType, "SECTIONS" => "Y", "IN_RSS" => "N", "SORT" => 100, "LANG" => array());
         foreach ($this->arResult["SETTINGS"]["LANG"] as $Lang) {
             $arFields["LANG"][$Lang["LANGUAGE_ID"]] = array("NAME" => strlen(GetMessage("IDEA_INSTALL_IBLOCK_TYPE_LANG_" . ToUpper($Lang["LANGUAGE_ID"]))) == 0 ? GetMessage("IDEA_INSTALL_IBLOCK_TYPE_LANG_DEFAULT") : GetMessage("IDEA_INSTALL_IBLOCK_TYPE_LANG_" . ToUpper($Lang["LANGUAGE_ID"])), "SECTION_NAME" => strlen(GetMessage("IDEA_INSTALL_IBLOCK_SECTION_NAME_LANG_" . ToUpper($Lang["LANGUAGE_ID"]))) == 0 ? GetMessage("IDEA_INSTALL_IBLOCK_SECTION_NAME_LANG_DEFAULT") : GetMessage("IDEA_INSTALL_IBLOCK_SECTION_NAME_LANG_" . ToUpper($Lang["LANGUAGE_ID"])));
         }
         $IBT = new CIBlockType();
         if (!($IblockTypeId = $IBT->Add($arFields))) {
             $this->arResult["ERRORS"][] = $IBT->LAST_ERROR;
         }
         $this->arResult["INSTALLATION"]["IBLOCK_TYPE_ID"] = $IblockTypeId;
     }
 }