<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } //Library include_once dirname(__FILE__) . "/iblock_tools.php"; //Parameters if (!is_array($arParams)) { $arParams = array(); } if (strlen($arParams["site_id"]) <= 0) { $arParams["site_id"] = "s1"; } $_SESSION["DEMO_IBLOCK_BOOKS"] = CIBlockCMLImport::GetIBlockByXML_ID("books-books"); //Import XML if ($_SESSION["DEMO_IBLOCK_BOOKS"] === false) { $iblock_id = DEMO_IBlock_ImportXML("080_books_books-books_" . LANGUAGE_ID . ".xml", $arParams["site_id"], false, false); if ($iblock_id > 0) { $arLabels = array(); $rsLanguages = CLanguage::GetList($b = "sort", $o = "asc"); while ($arLang = $rsLanguages->Fetch()) { __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/books-books.php", $arLang["LANGUAGE_ID"])); $arLabels[$arLang["LANGUAGE_ID"]] = GetMessage("DEMO_IBLOCK_ESTORE_BOOKS_BROWSER_TITLE"); } $obUserField = new CUserTypeEntity(); $obUserField->Add(array("ENTITY_ID" => "IBLOCK_" . $iblock_id . "_SECTION", "FIELD_NAME" => "UF_BROWSER_TITLE", "USER_TYPE_ID" => "string", "XML_ID" => "books_sections-books-property-browser_title", "SORT" => 100, "MULTIPLE" => "N", "MANDATORY" => "N", "SHOW_FILTER" => "S", "SHOW_IN_LIST" => "Y", "EDIT_IN_LIST" => "Y", "IS_SEARCHABLE" => "Y", "EDIT_FORM_LABEL" => $arLabels, "LIST_COLUMN_LABEL" => $arLabels, "LIST_FILTER_LABEL" => $arLabels)); CUrlRewriter::Add(array("CONDITION" => "#^/e-store/books/#", "RULE" => "", "ID" => "bitrix:catalog", "PATH" => "/e-store/books/index.php")); } }
$file = dirname(__FILE__) . "/lang/" . $arLang["LANGUAGE_ID"] . "/books-files.php"; include $file; $arFields["LANG"][] = array("LID" => $arLang["LANGUAGE_ID"], "NAME" => GetMessage("DEMO_IBLOCK_ESTORE_BOOKS_FORUM_GROUP_NAME"), "DESCRIPTION" => ""); } $arForumGroup = array("FORUM_GROUP_ID" => CForumGroup::Add($arFields)); } if ($arForumGroup["FORUM_GROUP_ID"]) { $arFields = array("NAME" => GetMessage("DEMO_IBLOCK_ESTORE_BOOKS_FORUM_NAME"), "DESCRIPTION" => "", "SORT" => 150, "ACTIVE" => "Y", "ALLOW_HTML" => "N", "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_UPLOAD" => "N", "ALLOW_UPLOAD_EXT" => "", "ALLOW_NL2BR" => "N", "MODERATION" => "N", "ALLOW_MOVE_TOPIC" => "N", "ORDER_BY" => "P", "ORDER_DIRECTION" => "DESC", "PATH2FORUM_MESSAGE" => "", "FORUM_GROUP_ID" => $arForumGroup["FORUM_GROUP_ID"], "ASK_GUEST_EMAIL" => "N", "USE_CAPTCHA" => "N", "SITES" => array($arParams["site_id"] => "/communication/forum/messages/forum#FORUM_ID#/topic#TOPIC_ID#/message#MESSAGE_ID#/")); $arFields["GROUP_ID"] = array("2" => "M", "19" => "Q"); if (CModule::IncludeModule("statistic")) { $arFields["EVENT1"] = "forum"; $arFields["EVENT2"] = "message"; $arFields["EVENT3"] = ""; } $arForum = array("ID" => CForumNew::Add($arFields)); } } } else { $arForum = array("ID" => ""); } //Include language one more time (after forum creation) __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__))); $search = array("#IBLOCK.ID(XML_ID=books-authors)#", "#IBLOCK.ID(XML_ID=books-books)#", "#IBLOCK.ID(XML_ID=books-reviews)#", "#FORUM.ID(NAME=books-reviews)#", "#MODULE.INSTALLED(ID=forum)#"); $replace = array(CIBlockCMLImport::GetIBlockByXML_ID("books-authors"), CIBlockCMLImport::GetIBlockByXML_ID("books-books"), CIBlockCMLImport::GetIBlockByXML_ID("books-reviews"), $arForum["ID"], IsModuleInstalled("forum") ? "Y" : "N"); //Create directory and copy files DEMO_IBlock_CopyFiles("/public/e-store/books/", "/e-store/books/", false, $search, $replace); DEMO_IBlock_CopyFiles("/public/e-store/books/authors/", "/e-store/books/authors/", false, $search, $replace); DEMO_IBlock_CopyFiles("/public/e-store/books/reviews/", "/e-store/books/reviews/", false, $search, $replace); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/e-store/books/", $_SERVER["DOCUMENT_ROOT"] . "/e-store/books", false, true); //Add menu item DEMO_IBlock_AddMenuItem("/e-store/.left.menu.php", array(GetMessage("DEMO_IBLOCK_ESTORE_BOOKS_MENU"), "/e-store/books/", array(), array(), ""));
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } //Library include_once dirname(__FILE__) . "/iblock_tools.php"; __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__))); //Parameters if (!is_array($arParams)) { $arParams = array(); } if (strlen($arParams["site_id"]) <= 0) { $arParams["site_id"] = "s1"; } //Import XML if ($IBLOCK_ID = DEMO_IBlock_ImportXML("010_services_services-master_" . LANGUAGE_ID . ".xml", $arParams["site_id"], false, true)) { $replace = array($IBLOCK_ID, CIBlockCMLImport::GetPropertyByXML_ID($IBLOCK_ID, "services-master-property-type"), CIBlockCMLImport::GetPropertyByXML_ID($IBLOCK_ID, "services-master-property-values")); DEMO_IBlock_EditFormLayout($IBLOCK_ID, array("edit1" => array("TITLE" => GetMessage("DEMO_IBLOCK_MASTER_TAB_TITLE"), "FIELDS" => array("ACTIVE" => GetMessage("DEMO_IBLOCK_MASTER_FIELD_ACTIVE"), "NAME" => GetMessage("DEMO_IBLOCK_MASTER_FIELD_NAME"), "SORT" => GetMessage("DEMO_IBLOCK_MASTER_FIELD_SORT"), "IBLOCK_ELEMENT_PROP_VALUE" => GetMessage("DEMO_IBLOCK_MASTER_FIELD_IBLOCK_ELEMENT_PROP_VALUE"), "PROPERTY_" . $replace[1] => GetMessage("DEMO_IBLOCK_MASTER_FIELD_PROPERTY_TYPE"), "PROPERTY_" . $replace[2] => GetMessage("DEMO_IBLOCK_MASTER_FIELD_PROPERTY_VALUES"), "PREVIEW_TEXT" => GetMessage("DEMO_IBLOCK_MASTER_FIELD_PREVIEW_TEXT"))), "edit6" => array("TITLE" => GetMessage("DEMO_IBLOCK_MASTER_TAB2_TITLE"), "FIELDS" => array("DETAIL_TEXT" => GetMessage("DEMO_IBLOCK_MASTER_FIELD_DETAIL_TEXT"))), "edit2" => array("TITLE" => GetMessage("DEMO_IBLOCK_MASTER_TAB3_TITLE"), "FIELDS" => array("SECTIONS" => GetMessage("DEMO_IBLOCK_MASTER_FIELD_SECTIONS"))))); } return $IBLOCK_ID;
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } //Library include_once dirname(__FILE__) . "/iblock_tools.php"; __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__))); //Parameters if (!is_array($arParams)) { $arParams = array(); } if (strlen($arParams["site_id"]) <= 0) { $arParams["site_id"] = "s1"; } //Install themes iblock DEMO_IBlock_ImportXML("010_services_services-themes_" . LANGUAGE_ID . ".xml", $arParams["site_id"], false, true); //Import XML if ($IBLOCK_ID = DEMO_IBlock_ImportXML("020_news_content-news_" . LANGUAGE_ID . ".xml", $arParams["site_id"], false, true)) { //Set Some IBLOCK FIELDS CIBlock::SetFields($IBLOCK_ID, array("ACTIVE_FROM" => array("DEFAULT_VALUE" => "=now"), "PREVIEW_PICTURE" => array("DEFAULT_VALUE" => array("FROM_DETAIL" => "Y", "SCALE" => "Y", "WIDTH" => 200, "HEIGHT" => 200, "IGNORE_ERRORS" => "N")), "DETAIL_PICTURE" => array("DEFAULT_VALUE" => array("SCALE" => "Y", "WIDTH" => 400, "HEIGHT" => 400, "IGNORE_ERRORS" => "N")))); DEMO_IBlock_EditFormLayout($IBLOCK_ID, array("edit1" => array("TITLE" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_TAB_TITLE"), "FIELDS" => array("ACTIVE" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_ACTIVE"), "ACTIVE_FROM" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_ACTIVE_FROM"), "SECTIONS" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_SECTIONS"), "NAME" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_NAME"), "PREVIEW_TEXT" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_PREVIEW_TEXT"), "DETAIL_TEXT" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_DETAIL_TEXT"), "DETAIL_PICTURE" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_DETAIL_PICTURE"), "TAGS" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_TAGS"), "PROPERTY_" . CIBlockCMLImport::GetPropertyByXML_ID($IBLOCK_ID, "content-news-property-themes") => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_PROPERTY_THEMES"), "PROPERTY_" . CIBlockCMLImport::GetPropertyByXML_ID($IBLOCK_ID, "content-news-property-source") => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_PROPERTY_SOURCE"), "edit1_csection1" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_edit1_csection1"), "PROPERTY_" . CIBlockCMLImport::GetPropertyByXML_ID($IBLOCK_ID, "content-news-property-keywords") => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_PROPERTY_KEYWORDS"), "PROPERTY_" . CIBlockCMLImport::GetPropertyByXML_ID($IBLOCK_ID, "content-news-property-description") => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_PROPERTY_DESCRIPTION"), "PROPERTY_" . CIBlockCMLImport::GetPropertyByXML_ID($IBLOCK_ID, "content-news-property-browser_title") => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_PROPERTY_BROWSER_TITLE"), "edit1_csection2" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_edit1_csection2"), "WF_STATUS_ID" => GetMessage("DEMO_IBLOCK_CONTENT_NEWS_FIELD_WF_STATUS_ID"))))); //Create directory and copy files $search = array("#IBLOCK.ID(XML_ID=content-news)#"); $replace = array($IBLOCK_ID); DEMO_IBlock_CopyFiles("/public/content/news/", "/content/news/", false, $search, $replace); //Add menu item DEMO_IBlock_AddMenuItem("/content/.left.menu.php", array(GetMessage("DEMO_IBLOCK_CONTENT_NEWS_MENU"), "/content/news/", array(), array(), "")); CUrlRewriter::Add(array("CONDITION" => "#^/content/news/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/content/news/index.php")); }
/** * Imports an xml file into iblock. File may be an .tar.gz archive. * * @param string $file_name Name of the file to import * @param string $iblock_type IBlock type ID to import iblock to * @param string|array $site_id ID of the site or array of IDs to bind iblock to * @param string $section_action What to do with sections missed in the file. D - delete or A - deactivate. * @param string $element_action What to do with elements missed in the file. D - delete or A - deactivate. * @param bool $use_crc Whenever to use CRC check for optimizi=ation or force an update * @param bool $preview If true when use iblock settings to generate preview pictures from detail. * @param bool $sync If true uses alternative set of tables in order not to interfere with other import processes * @param bool $return_last_error If true will return string with error description in case of failure * @param bool $return_iblock_id If true will return iblock identifier (int) in case of success * @return bool|int|string */ function ImportXMLFile($file_name, $iblock_type = "-", $site_id = '', $section_action = "D", $element_action = "D", $use_crc = false, $preview = false, $sync = false, $return_last_error = false, $return_iblock_id = false) { /** @global CMain $APPLICATION */ global $APPLICATION; $ABS_FILE_NAME = false; if (strlen($file_name) > 0) { if (file_exists($file_name) && is_file($file_name) && (substr($file_name, -4) === ".xml" || substr($file_name, -7) === ".tar.gz")) { $ABS_FILE_NAME = $file_name; } else { $filename = trim(str_replace("\\", "/", trim($file_name)), "/"); $FILE_NAME = rel2abs($_SERVER["DOCUMENT_ROOT"], "/" . $filename); if (strlen($FILE_NAME) > 1 && $FILE_NAME === "/" . $filename && $APPLICATION->GetFileAccessPermission($FILE_NAME) >= "W") { $ABS_FILE_NAME = $_SERVER["DOCUMENT_ROOT"] . $FILE_NAME; } } } if (!$ABS_FILE_NAME) { return GetMessage("IBLOCK_XML2_FILE_ERROR"); } $WORK_DIR_NAME = substr($ABS_FILE_NAME, 0, strrpos($ABS_FILE_NAME, "/") + 1); if (substr($ABS_FILE_NAME, -7) == ".tar.gz") { include_once $_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/classes/general/tar_gz.php"; $obArchiver = new CArchiver($ABS_FILE_NAME); if (!$obArchiver->ExtractFiles($WORK_DIR_NAME)) { $strError = ""; if (is_object($APPLICATION)) { $arErrors = $obArchiver->GetErrors(); if (count($arErrors)) { foreach ($arErrors as $error) { $strError .= $error[1] . "<br>"; } } } if ($strError != "") { return $strError; } else { return GetMessage("IBLOCK_XML2_FILE_ERROR"); } } $IMP_FILE_NAME = substr($ABS_FILE_NAME, 0, -7) . ".xml"; } else { $IMP_FILE_NAME = $ABS_FILE_NAME; } $fp = fopen($IMP_FILE_NAME, "rb"); if (!$fp) { return GetMessage("IBLOCK_XML2_FILE_ERROR"); } if ($sync) { $table_name = "b_xml_tree_sync"; } else { $table_name = "b_xml_tree"; } $NS = array("STEP" => 0); $obCatalog = new CIBlockCMLImport(); $obCatalog->Init($NS, $WORK_DIR_NAME, $use_crc, $preview, false, false, false, $table_name); if ($sync) { if (!$obCatalog->StartSession(bitrix_sessid())) { return GetMessage("IBLOCK_XML2_TABLE_CREATE_ERROR"); } $obCatalog->ReadXMLToDatabase($fp, $NS, 0, 1024); $xml_root = $obCatalog->GetSessionRoot(); $bUpdateIBlock = false; } else { $obCatalog->DropTemporaryTables(); if (!$obCatalog->CreateTemporaryTables()) { return GetMessage("IBLOCK_XML2_TABLE_CREATE_ERROR"); } $obCatalog->ReadXMLToDatabase($fp, $NS, 0, 1024); if (!$obCatalog->IndexTemporaryTables()) { return GetMessage("IBLOCK_XML2_INDEX_ERROR"); } $xml_root = 1; $bUpdateIBlock = true; } fclose($fp); $result = $obCatalog->ImportMetaData($xml_root, $iblock_type, $site_id, $bUpdateIBlock); if ($result !== true) { return GetMessage("IBLOCK_XML2_METADATA_ERROR") . implode("\n", $result); } $obCatalog->ImportSections(); $obCatalog->DeactivateSections($section_action); $obCatalog->SectionsResort(); $obCatalog = new CIBlockCMLImport(); $obCatalog->Init($NS, $WORK_DIR_NAME, $use_crc, $preview, false, false, false, $table_name); if ($sync) { if (!$obCatalog->StartSession(bitrix_sessid())) { return GetMessage("IBLOCK_XML2_TABLE_CREATE_ERROR"); } } $SECTION_MAP = false; $PRICES_MAP = false; $obCatalog->ReadCatalogData($SECTION_MAP, $PRICES_MAP); $obCatalog->ImportElements(time(), 0); $obCatalog->ImportProductSets(); $obCatalog->DeactivateElement($element_action, time(), 0); if ($sync) { $obCatalog->EndSession(); } if ($return_last_error) { if (strlen($obCatalog->LAST_ERROR)) { return $obCatalog->LAST_ERROR; } } if ($return_iblock_id) { return intval($NS["IBLOCK_ID"]); } else { return true; } }
$obCatalog->Init($NS, $WORK_DIR_NAME, true, $NS["PREVIEW"], false, true); $result = $obCatalog->DeactivateElement($NS["ACTION"], $start_time, $INTERVAL); $counter = 0; foreach($result as $key=>$value) { $NS["DONE"][$key] += $value; $counter+=$value; } if(!$counter) $NS["STEP"]++; } elseif($NS["STEP"] < 8) { $obCatalog = new CIBlockCMLImport; $obCatalog->Init($NS, $WORK_DIR_NAME, true, $NS["PREVIEW"], false, true); $result = $obCatalog->ImportProductSets(); $NS["STEP"]++; } } else { $arErrors[] = GetMessage("IBLOCK_CML2_FILE_ERROR"); } ?> <script> CloseWaitWindow(); </script> <?
$counter = 0; foreach ($result as $key => $value) { $NS["DONE"][$key] += $value; $counter += $value; } if (!$counter) { $strMessage = GetMessage("CC_BSC1_DONE"); $NS["STEP"] = 8; } elseif (strlen($obCatalog->LAST_ERROR)) { $strError = $obCatalog->LAST_ERROR; } else { $strMessage = GetMessage("CC_BSC1_PROGRESS", array("#TOTAL#" => $NS["DONE"]["ALL"], "#DONE#" => intval($NS["DONE"]["CRC"]))); } } } elseif ($NS["STEP"] == 8) { $obCatalog = new CIBlockCMLImport(); $obCatalog->Init($NS); $result = $obCatalog->DeactivateElement($arParams["ELEMENT_ACTION"], $start_time, $arParams["INTERVAL"]); $counter = 0; foreach ($result as $key => $value) { $NS["DONE"][$key] += $value; $counter += $value; } if (!$counter) { $strMessage = GetMessage("CC_BSC1_DEA_DONE"); $NS["STEP"] = 9; } else { $strMessage = GetMessage("CC_BSC1_PROGRESS", array("#TOTAL#" => $NS["DONE"]["ALL"], "#DONE#" => $NS["DONE"]["NON"])); } } else { $NS["STEP"]++;
$NS["DONE"]["ALL"] = $ar["C"]; } $obCatalog = new CIBlockCMLImport(); $obCatalog->Init($NS, $WORK_DIR_NAME, true, $NS["PREVIEW"], false, true); $obCatalog->ReadCatalogData($_SESSION["BX_CML2_IMPORT"]["SECTION_MAP"], $_SESSION["BX_CML2_IMPORT"]["PRICES_MAP"]); $result = $obCatalog->ImportElements($start_time, $INTERVAL); $counter = 0; foreach ($result as $key => $value) { $NS["DONE"][$key] += $value; $counter += $value; } if (!$counter) { $NS["STEP"]++; } } elseif ($NS["STEP"] < 7) { $obCatalog = new CIBlockCMLImport(); $obCatalog->Init($NS, $WORK_DIR_NAME, true, $NS["PREVIEW"], false, true); $result = $obCatalog->DeactivateElement($NS["ACTION"], $start_time, $INTERVAL); $counter = 0; foreach ($result as $key => $value) { $NS["DONE"][$key] += $value; $counter += $value; } if (!$counter) { $NS["STEP"]++; } } elseif ($NS["STEP"] < 8) { $NS["STEP"]++; } } else { $arErrors[] = GetMessage("IBLOCK_CML2_FILE_ERROR");
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } //Library include_once dirname(__FILE__) . "/iblock_tools.php"; __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__))); //Parameters if (!is_array($arParams)) { $arParams = array(); } if (strlen($arParams["site_id"]) <= 0) { $arParams["site_id"] = "s1"; } //Import XML if ($IBLOCK_ID = DEMO_IBlock_ImportXML("050_services_services-board_" . LANGUAGE_ID . ".xml", $arParams["site_id"], false, true)) { //Create directory and copy files $search = array("#IBLOCK.ID(XML_ID=services-board)#", "#IBLOCK_PROPERTY.ID(XML_ID=services-board-property-url)#", "#IBLOCK_PROPERTY.ID(XML_ID=services-board-property-email)#", "#IBLOCK_PROPERTY.ID(XML_ID=services-board-property-user_id)#"); $replace = array($IBLOCK_ID, CIBlockCMLImport::GetPropertyByXML_ID($IBLOCK_ID, "services-board-property-url"), CIBlockCMLImport::GetPropertyByXML_ID($IBLOCK_ID, "services-board-property-email"), CIBlockCMLImport::GetPropertyByXML_ID($IBLOCK_ID, "services-board-property-user_id")); DEMO_IBlock_CopyFiles("/public/content/board/", "/content/board/", false, $search, $replace); DEMO_IBlock_CopyFiles("/public/content/board/my/", "/content/board/my/", false, $search, $replace); //Add menu item DEMO_IBlock_AddMenuItem("/content/.left.menu.php", array(GetMessage("DEMO_IBLOCK_CONTENT_BOARD_MENU"), "/content/board/", array(), array(), "")); }
$TEMPLATE_ID = 0; $dbWorkflowTemplate = CBPWorkflowTemplateLoader::GetList(array(), array("DOCUMENT_TYPE" => array("iblock", "CIBlockDocument", "iblock_" . $IBLOCK_ID), "SYSTEM_CODE" => "status.php", "ACTIVE" => "Y"), false, false, array("ID")); if ($arWorkflowTemplate = $dbWorkflowTemplate->Fetch()) { $TEMPLATE_ID = $arWorkflowTemplate["ID"]; } $arElement = array("IBLOCK_ID" => $IBLOCK_ID, "NAME" => GetMessage("DEMO_IBLOCK_CONTENT_ARTICLES_NAME"), "PREVIEW_TEXT" => GetMessage("DEMO_IBLOCK_CONTENT_ARTICLES_PREVIEW_TEXT"), "WF_STATUS_ID" => 2, "WF_NEW" => "Y", "PROPERTY_VALUES" => array("KEYWORDS" => GetMessage("DEMO_IBLOCK_CONTENT_ARTICLES_KEYWORDS"), "THEMES" => 4)); $obElement = new CIBlockElement(); $element_id = $obElement->Add($arElement); if ($element_id && $TEMPLATE_ID > 0) { $arErrorsTmp = array(); $bpId = CBPDocument::StartWorkflow($TEMPLATE_ID, array("iblock", "CIBlockDocument", $element_id), array("Creators" => array("author"), "Approvers" => array(1)), $arErrorsTmp); if (count($arErrorsTmp) <= 0) { $arDocumentStates = CBPDocument::GetDocumentStates(array("iblock", "CIBlockDocument", "iblock_" . $IBLOCK_ID), array("iblock", "CIBlockDocument", $element_id)); $arCurrentUserGroups = $GLOBALS["USER"]->GetUserGroupArray(); $arCurrentUserGroups[] = "Author"; $arEvents = CBPDocument::GetAllowableEvents($GLOBALS["USER"]->GetID(), $arCurrentUserGroups, array_pop($arDocumentStates)); CBPDocument::SendExternalEvent($bpId, $arEvents[0]["NAME"], array("Groups" => $arCurrentUserGroups, "User" => $GLOBALS["USER"]->GetID()), $arErrorTmp); } } } //Include language one more time (after forum creation) __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__))); //Create directory and copy files $search = array("#IBLOCK.ID(XML_ID=content-articles)#", "#IBLOCK.ID(XML_ID=content-news)#", "#MODULE.INSTALLED(ID=forum)#", "#FORUM.ID(NAME=content-articles)#"); $replace = array($IBLOCK_ID, CIBlockCMLImport::GetIBlockByXML_ID("content-news"), IsModuleInstalled("forum") ? "Y" : "N", $arForum["ID"]); DEMO_IBlock_CopyFiles("/public/content/articles/", "/content/articles/", false, $search, $replace); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/content/articles/", $_SERVER["DOCUMENT_ROOT"] . "/content/articles", false, true); //Add menu item DEMO_IBlock_AddMenuItem("/content/.left.menu.php", array(GetMessage("DEMO_IBLOCK_CONTENT_ARTICLES_MENU"), "/content/articles/", array(), array(), "")); CUrlRewriter::Add(array("CONDITION" => "#^/content/articles/#", "RULE" => "", "ID" => "bitrix:news", "PATH" => "/content/articles/index.php")); }
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } //Library include_once dirname(__FILE__) . "/../iblock/iblock_tools.php"; __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__))); //Parameters if (!is_array($arParams)) { $arParams = array(); } if (strlen($arParams["site_id"]) <= 0) { $arParams["site_id"] = "s1"; } //Import XML if ($IBLOCK_ID = CIBlockCMLImport::GetIBlockByXML_ID("content-news")) { //Create directory and copy files $rsElements = CIBlockElement::GetList(array(), array("IBLOCK_ID" => $IBLOCK_ID), false, array("nTopSize" => 1), array("ID")); $arElement = $rsElements->Fetch(); $search = array("#IBLOCK.ID(XML_ID=content-news)#", "#IBLOCK_ELEMENT.ID(IBLOCK_XML_ID=content-news)#"); $replace = array($IBLOCK_ID, $arElement["ID"]); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/examples/", $_SERVER["DOCUMENT_ROOT"] . "/examples", false, false); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/examples/custom-registration/", $_SERVER["DOCUMENT_ROOT"] . "/examples/custom-registration", false, true); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/examples/download/", $_SERVER["DOCUMENT_ROOT"] . "/examples/download", false, true); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/examples/menu/", $_SERVER["DOCUMENT_ROOT"] . "/examples/menu", false, true); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/examples/rss/", $_SERVER["DOCUMENT_ROOT"] . "/examples/rss", false, true); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/examples/sef/", $_SERVER["DOCUMENT_ROOT"] . "/examples/sef", false, true); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/examples/feedback/", $_SERVER["DOCUMENT_ROOT"] . "/examples/feedback", false, true); CopyDirFiles(dirname(__FILE__) . "/bitrix/", $_SERVER["DOCUMENT_ROOT"] . "/bitrix", false, true); DEMO_IBlock_CopyFiles(array(dirname(__FILE__), "/public/language/" . LANGUAGE_ID . "/examples/my-components/"), "/examples/my-components/", false, $search, $replace); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/upload/", $_SERVER["DOCUMENT_ROOT"] . "/upload", false, true);
function GetIBlockID($xmlID, $filePath) { if (!CModule::IncludeModule("iblock")) { return false; } if (!file_exists($_SERVER["DOCUMENT_ROOT"] . $filePath)) { return false; } return CIBlockCMLImport::GetIBlockByXML_ID($xmlID); }
<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } //Library include_once dirname(__FILE__) . "/iblock_tools.php"; __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__))); //Parameters if (!is_array($arParams)) { $arParams = array(); } if (strlen($arParams["site_id"]) <= 0) { $arParams["site_id"] = "s1"; } //Import XML if ($IBLOCK_ID = DEMO_IBlock_ImportXML("010_services_services-video_" . LANGUAGE_ID . ".xml", $arParams["site_id"], false, true)) { $obImport = new CIBlockCMLImport(); //Create directory and copy files $search = array("#IBLOCK.ID(XML_ID=services-video)#", "#IBLOCK_PROPERTY.ID(XML_ID=services-video-property-file)#", "#IBLOCK_PROPERTY.ID(XML_ID=services-video-property-duration)#", "#IBLOCK_SECTION.ID(XML_ID=examples)#", "#IBLOCK_ELEMENT.ID(XML_ID=intro)#"); $replace = array($IBLOCK_ID, $obImport->GetPropertyByXML_ID($IBLOCK_ID, "services-video-property-file"), $obImport->GetPropertyByXML_ID($IBLOCK_ID, "services-video-property-duration"), $obImport->GetSectionByXML_ID($IBLOCK_ID, "examples"), $obImport->GetElementByXML_ID($IBLOCK_ID, "intro")); DEMO_IBlock_CopyFiles("/public/content/media/", "/content/media/", false, $search, $replace); DEMO_IBlock_EditFormLayout($IBLOCK_ID, array("edit1" => array("TITLE" => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_TAB_TITLE"), "FIELDS" => array("ACTIVE" => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_FIELD_ACTIVE"), "ACTIVE_FROM" => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_FIELD_ACTIVE_FROM"), "SORT" => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_FIELD_SORT"), "NAME" => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_FIELD_NAME"), "PROPERTY_" . $replace[1] => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_FIELD_PROPERTY_FILE"), "PROPERTY_" . $replace[2] => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_FIELD_PROPERTY_DURATION"))), "edit2" => array("TITLE" => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_TAB2_TITLE"), "FIELDS" => array("SECTIONS" => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_FIELD_SECTIONS"))), "edit3" => array("TITLE" => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_TAB3_TITLE"), "FIELDS" => array("CODE" => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_FIELD_CODE"), "TAGS" => GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_FIELD_TAGS"))))); //Add menu item DEMO_IBlock_AddMenuItem("/content/.left.menu.php", array(GetMessage("DEMO_IBLOCK_CONTENT_MEDIA_MENU"), "/content/media/", array(), array(), "")); }
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (LANGUAGE_ID !== "ru") { return; } //Library include_once dirname(__FILE__) . "/iblock_tools.php"; //Parameters if (!is_array($arParams)) { $arParams = array(); } if (strlen($arParams["site_id"]) <= 0) { $arParams["site_id"] = "s1"; } $_SESSION["DEMO_IBLOCK_1C_CATALOG"] = CIBlockCMLImport::GetIBlockByXML_ID("FUTURE-1C-CATALOG"); //Import XML if ($_SESSION["DEMO_IBLOCK_1C_CATALOG"] === false) { $iblock_id = DEMO_IBlock_ImportXML("100_xmlcatalog_FUTURE-1C-CATALOG_ru.xml", $arParams["site_id"], false); if ($iblock_id > 0) { $arLabels = array(); $rsLanguages = CLanguage::GetList($b = "sort", $o = "asc"); while ($arLang = $rsLanguages->Fetch()) { __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/xmlcatalog-1c.php", $arLang["LANGUAGE_ID"])); $arLabels[$arLang["LANGUAGE_ID"]] = GetMessage("DEMO_IBLOCK_ESTORE_XMLCATALOG_BROWSER_TITLE"); } $obUserField = new CUserTypeEntity(); $obUserField->Add(array("ENTITY_ID" => "IBLOCK_" . $iblock_id . "_SECTION", "FIELD_NAME" => "UF_BROWSER_TITLE", "USER_TYPE_ID" => "string", "XML_ID" => "FUTURE-1C-CATALOG_section-property-browser_title", "SORT" => 100, "MULTIPLE" => "N", "MANDATORY" => "N", "SHOW_FILTER" => "S", "SHOW_IN_LIST" => "Y", "EDIT_IN_LIST" => "Y", "IS_SEARCHABLE" => "Y", "EDIT_FORM_LABEL" => $arLabels, "LIST_COLUMN_LABEL" => $arLabels, "LIST_FILTER_LABEL" => $arLabels)); CUrlRewriter::Add(array("CONDITION" => "#^/e-store/xml_catalog/#", "RULE" => "", "ID" => "bitrix:catalog", "PATH" => "/e-store/xml_catalog/index.php")); } }
} if (LANGUAGE_ID !== "ru") { return; } //Library include_once dirname(__FILE__) . "/iblock_tools.php"; __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__))); //Parameters if (!is_array($arParams)) { $arParams = array(); } if (strlen($arParams["site_id"]) <= 0) { $arParams["site_id"] = "s1"; } $search = array("#IBLOCK.ID(XML_ID=FUTURE-1C-CATALOG)#"); $replace = array(CIBlockCMLImport::GetIBlockByXML_ID("FUTURE-1C-CATALOG")); //Create directory and copy files DEMO_IBlock_CopyFiles("/public/e-store/xml_catalog/", "/e-store/xml_catalog/", false, $search, $replace); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/e-store/xml_catalog/", $_SERVER["DOCUMENT_ROOT"] . "/e-store/xml_catalog", false, true); //Add menu item DEMO_IBlock_AddMenuItem("/e-store/.left.menu.php", array(GetMessage("DEMO_IBLOCK_ESTORE_XMLCAT_MENU"), "/e-store/xml_catalog/", array(), array(), "")); if (IsModuleInstalled('catalog')) { //Create group and add it to importers $XMLCATALOG_GROUP_ID = DEMO_IBlock_AddUserGroup("1c_integration", GetMessage("DEMO_IBLOCK_XMLCATALOG_GROUP_NAME"), GetMessage("DEMO_IBLOCK_XMLCATALOG_GROUP_DESC")); //Tune 1C exchange if ($XMLCATALOG_GROUP_ID) { DemoSiteUtil::SetFilePermission(array($arParams["site_id"], "/bitrix/admin"), array($XMLCATALOG_GROUP_ID => "R")); COption::SetOptionString("catalog", "1C_GROUP_PERMISSIONS", $XMLCATALOG_GROUP_ID); COption::SetOptionString("catalog", "1C_SITE_LIST", $arParams["site_id"]); } }
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } //Library include_once dirname(__FILE__) . "/iblock_tools.php"; __IncludeLang(GetLangFileName(dirname(__FILE__) . "/lang/", "/" . basename(__FILE__))); //Parameters if (!is_array($arParams)) { $arParams = array(); } if (strlen($arParams["site_id"]) <= 0) { $arParams["site_id"] = "s1"; } //Import XML if ($IBLOCK_ID = DEMO_IBlock_ImportXML("110_paid_paid-articles_" . LANGUAGE_ID . ".xml", $arParams["site_id"], false, true)) { $_SESSION["DEMO_IBLOCK_PAID"] = CIBlockCMLImport::GetIBlockByXML_ID("paid-subscribe"); if ($SUBSCR_ID = DEMO_IBlock_ImportXML("120_paid_paid-subscribe_" . LANGUAGE_ID . ".xml", $arParams["site_id"], false, true)) { $SUBSCR_GROUP_ID = DEMO_IBlock_AddUserGroup("subscribers", GetMessage("DEMO_IBLOCK_ESTORE_PAID_GROUP_NAME"), GetMessage("DEMO_IBLOCK_ESTORE_PAID_GROUP_DESC")); //Create directory and copy files $search = array("#IBLOCK.ID(XML_ID=paid-articles)#", "#IBLOCK.ID(XML_ID=paid-subscribe)#", "#USER_GROUP.ID(STRING_ID=subscribers)#"); $replace = array($IBLOCK_ID, $SUBSCR_ID, $SUBSCR_GROUP_ID); DEMO_IBlock_CopyFiles("/public/e-store/paid/", "/e-store/paid/", false, $search, $replace); CopyDirFiles(dirname(__FILE__) . "/public/language/" . LANGUAGE_ID . "/e-store/paid/", $_SERVER["DOCUMENT_ROOT"] . "/e-store/paid", false, true); //Add menu item DEMO_IBlock_AddMenuItem("/e-store/.left.menu.php", array(GetMessage("DEMO_IBLOCK_ESTORE_PAID_MENU"), "/e-store/paid/", array(), array(), "")); if ($_SESSION["DEMO_IBLOCK_PAID"] === false) { DEMO_IBlock_ImportXML("120_paid_paid-subscribe-offers_" . LANGUAGE_ID . ".xml", $arParams["site_id"], true, false); if (CModule::IncludeModule('catalog')) { CCatalog::Update($SUBSCR_ID, array("SUBSCRIPTION" => "Y")); } }