%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/bitrix/www/bitrix/wizards/bitrix/eshop/site/services/iblock/
Upload File :
Create Path :
Current File : //home/bitrix/www/bitrix/wizards/bitrix/eshop/site/services/iblock/catalog.php

<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)
	die();

if(!CModule::IncludeModule("iblock") || !CModule::IncludeModule("catalog"))
	return;

if(COption::GetOptionString("eshop", "wizard_installed", "N", WIZARD_SITE_ID) == "Y" && !WIZARD_INSTALL_DEMO_DATA)
	return;

//catalog iblock import
$shopLocalization = $wizard->GetVar("shopLocalization");

$iblockXMLFile = WIZARD_SERVICE_RELATIVE_PATH."/xml/".LANGUAGE_ID."/catalog.xml";
if ($shopLocalization == "ua")
	$iblockXMLFilePrices = WIZARD_SERVICE_RELATIVE_PATH."/xml/".LANGUAGE_ID."/catalog_prices_ua.xml";
else
	$iblockXMLFilePrices = WIZARD_SERVICE_RELATIVE_PATH."/xml/".LANGUAGE_ID."/catalog_prices.xml";
$iblockCode = "clothes_".WIZARD_SITE_ID;
$iblockType = "catalog";

$rsIBlock = CIBlock::GetList(array(), array("XML_ID" => $iblockCode, "TYPE" => $iblockType));
$IBLOCK_CATALOG_ID = false;
if ($arIBlock = $rsIBlock->Fetch())
{
	$IBLOCK_CATALOG_ID = $arIBlock["ID"];
	if (WIZARD_INSTALL_DEMO_DATA)
	{
		$boolFlag = true;
		$arSKU = CCatalogSKU::GetInfoByProductIBlock($IBLOCK_CATALOG_ID);
		if (!empty($arSKU))
		{
			$boolFlag = CCatalog::UnLinkSKUIBlock($IBLOCK_CATALOG_ID);
			if (!$boolFlag)
			{
				$strError = "";
				if ($ex = $APPLICATION->GetException())
				{
					$strError = $ex->GetString();
				}
				else
				{
					$strError = "Couldn't unlink iblocks";
				}
				//die($strError);
			}
			$boolFlag = CIBlock::Delete($arSKU['IBLOCK_ID']);
			if (!$boolFlag)
			{
				$strError = "";
				if ($ex = $APPLICATION->GetException())
				{
					$strError = $ex->GetString();
				}
				else
				{
					$strError = "Couldn't delete offers iblock";
				}
				//die($strError);
			}
		}
		if ($boolFlag)
		{
			$boolFlag = CIBlock::Delete($IBLOCK_CATALOG_ID);
			if (!$boolFlag)
			{
				$strError = "";
				if ($ex = $APPLICATION->GetException())
				{
					$strError = $ex->GetString();
				}
				else
				{
					$strError = "Couldn't delete catalog iblock";
				}
				//die($strError);
			}
		}
		if ($boolFlag)
		{
			$IBLOCK_CATALOG_ID = false;
		}
	}
}

/*//$dbResultList = CCatalogGroup::GetList(Array(), Array("CODE" => "BASE"));
$dbResultList = CCatalogGroup::GetList(Array(), Array("BASE" => "Y"));
if(!($dbResultList->Fetch()))
{
	$arFields = Array();
	$rsLanguage = CLanguage::GetList($by, $order, array());
	while($arLanguage = $rsLanguage->Fetch())
	{
		WizardServices::IncludeServiceLang("catalog.php", $arLanguage["ID"]);
		$arFields["USER_LANG"][$arLanguage["ID"]] = GetMessage("WIZ_PRICE_NAME");
	}
	$arFields["BASE"] = "Y";
	$arFields["SORT"] = 100;
	$arFields["NAME"] = "BASE";
	$arFields["USER_GROUP"] = Array(1, 2);
	$arFields["USER_GROUP_BUY"] = Array(1, 2);
	CCatalogGroup::Add($arFields);
}*/

if($IBLOCK_CATALOG_ID == false)
{
	$permissions = Array(
			"1" => "X",
			"2" => "R"
		);
	$dbGroup = CGroup::GetList($by = "", $order = "", Array("STRING_ID" => "sale_administrator"));
	if($arGroup = $dbGroup -> Fetch())
	{
		$permissions[$arGroup["ID"]] = 'W';
	}
	$dbGroup = CGroup::GetList($by = "", $order = "", Array("STRING_ID" => "content_editor"));
	if($arGroup = $dbGroup -> Fetch())
	{
		$permissions[$arGroup["ID"]] = 'W';
	}
	$IBLOCK_CATALOG_ID = WizardServices::ImportIBlockFromXML(
		$iblockXMLFile,
		"clothes",
		$iblockType,
		WIZARD_SITE_ID,
		$permissions
	);
	$IBLOCK_CATALOG_ID1 = WizardServices::ImportIBlockFromXML(
		$iblockXMLFilePrices,
		"clothes",
		$iblockType."_prices",
		WIZARD_SITE_ID,
		$permissions
	);

	if ($IBLOCK_CATALOG_ID < 1)
		return;

	$_SESSION["WIZARD_CATALOG_IBLOCK_ID"] = $IBLOCK_CATALOG_ID;
}
else
{
	$arSites = array();
	$db_res = CIBlock::GetSite($IBLOCK_CATALOG_ID);
	while ($res = $db_res->Fetch())
		$arSites[] = $res["LID"];
	if (!in_array(WIZARD_SITE_ID, $arSites))
	{
		$arSites[] = WIZARD_SITE_ID;
		$iblock = new CIBlock;
		$iblock->Update($IBLOCK_CATALOG_ID, array("LID" => $arSites));
	}
}
?>

Zerion Mini Shell 1.0