Beispiel #1
0
<?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"));
    }
}
Beispiel #2
0
                $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;
Beispiel #4
0
<?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"));
}
Beispiel #5
0
/**
 * 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;
    }
}
Beispiel #6
0
			$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>
	<?
Beispiel #7
0
         $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");
Beispiel #9
0
<?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"));
}
Beispiel #11
0
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);
Beispiel #12
0
 function GetIBlockID($xmlID, $filePath)
 {
     if (!CModule::IncludeModule("iblock")) {
         return false;
     }
     if (!file_exists($_SERVER["DOCUMENT_ROOT"] . $filePath)) {
         return false;
     }
     return CIBlockCMLImport::GetIBlockByXML_ID($xmlID);
 }
Beispiel #13
0
<?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(), ""));
}
Beispiel #14
0
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"));
    }
}
Beispiel #15
0
}
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"]);
    }
}
Beispiel #16
0
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"));
            }
        }