Example #1
0
 public static function getIBlockId($code, $site_id, $use_cache = true)
 {
     $iblock_list = null;
     $arIblock = null;
     $result = array();
     if ($use_cache) {
         $iblock_list = static::getCache(__FUNCTION__ . '_list');
     }
     if (!is_array($iblock_list['RESULT'])) {
         \CModule::IncludeModule('iblock');
         $dbResult = \CIBlock::GetList();
         while ($next = $dbResult->fetch()) {
             $iblock_list['RESULT'][] = $next;
         }
         static::setCache(__FUNCTION__ . '_list', $iblock_list['RESULT']);
     }
     if ($use_cache) {
         $arIblock = static::getCache(__FUNCTION__ . '_iblock');
     }
     if (!is_array($arIblock['RESULT'])) {
         \CModule::IncludeModule('iblock');
         foreach ($iblock_list['RESULT'] as $iblock) {
             if ($iblock['CODE'] == $code) {
                 $dbResult = \CIBlock::GetSite($iblock['ID']);
                 while ($next = $dbResult->getNext()) {
                     if ($next['SITE_ID'] == $site_id) {
                         $arIblock['RESULT'][] = $iblock;
                     }
                 }
             }
         }
         static::setCache(__FUNCTION__ . '_iblock', $arIblock['RESULT']);
     }
     if (is_array($arIblock['RESULT']) && count($arIblock['RESULT']) > 0) {
         foreach ($arIblock['RESULT'] as $iblock) {
             $result[] = $iblock['ID'];
         }
     }
     return $result;
 }
Example #2
0
	$tabControl->EndCustomField("CATALOG", "");
}

if ($arShowTabs['sku'])
{
	$tabControl->BeginNextFormTab();
	$tabControl->BeginCustomField('OFFERS', GetMessage("IBLOCK_EL_TAB_OFFERS"), false);
	?><tr id="tr_OFFERS"><td colspan="2"><?

	define('B_ADMIN_SUBELEMENTS',1);
	define('B_ADMIN_SUBELEMENTS_LIST',false);

	$intSubIBlockID = $arMainCatalog['IBLOCK_ID'];
	$arSubIBlock = CIBlock::GetArrayByID($intSubIBlockID);
	$arSubIBlock["SITE_ID"] = array();
	$rsSites = CIBlock::GetSite($intSubIBlockID);
	while($arSite = $rsSites->Fetch())
		$arSubIBlock["SITE_ID"][] = $arSite["LID"];
	$strSubIBlockType = $arSubIBlock['IBLOCK_TYPE_ID'];
	$arSubIBlockType = CIBlockType::GetByIDLang($strSubIBlockType, LANGUAGE_ID);

	$boolIncludeOffers = CIBlockRights::UserHasRightTo($intSubIBlockID, $intSubIBlockID, "iblock_admin_display");;
	$arSubCatalog = CCatalogSKU::GetInfoByOfferIBlock($arMainCatalog['IBLOCK_ID']);
	$boolSubCatalog = (!empty($arSubCatalog) && is_array($arSubCatalog));
	if (!$boolCatalogRead && !$boolCatalogPrice)
		$boolSubCatalog = false;

	$boolSubWorkFlow = CModule::IncludeModule("workflow") && $arSubIBlock["WORKFLOW"] != "N";
	$boolSubBizproc = CModule::IncludeModule("bizproc") && $arSubIBlock["BIZPROC"] != "N";

	$intSubPropValue = (0 == $ID || $bCopy ? '-'.$TMP_ID : $ID);
Example #3
0
 function OnAfterIBlockElementDelete($arFields)
 {
     // news
     if (!array_key_exists("WF_STATUS_ID", $arFields) || $arFields["WF_STATUS_ID"] == 1) {
         $dbIBlock = CIBlock::GetByID($arFields["IBLOCK_ID"]);
         if ($arIBlock = $dbIBlock->Fetch()) {
             $rsSite = CIBlock::GetSite($arFields["IBLOCK_ID"]);
             if ($arSite = $rsSite->Fetch()) {
                 $site_id = $arSite["SITE_ID"];
             }
             $val = COption::GetOptionString("intranet", "sonet_log_news_iblock", "", $site_id);
             if (strlen($val) > 0) {
                 $arIBCode = unserialize($val);
                 if (!is_array($arIBCode) || count($arIBCode) <= 0) {
                     $arIBCode = array();
                 }
             } else {
                 $arIBCode = array();
             }
             if (in_array($arIBlock["CODE"], $arIBCode) && CModule::IncludeModule("socialnetwork")) {
                 CSocNetAllowed::GetAllowedEntityTypes();
                 $dbRes = CSocNetLog::GetList(array("ID" => "DESC"), array("ENTITY_TYPE" => SONET_SUBSCRIBE_ENTITY_NEWS, "EVENT_ID" => "news", "SOURCE_ID" => $arFields["ID"]), false, false, array("ID"));
                 while ($arRes = $dbRes->Fetch()) {
                     CSocNetLog::Delete($arRes["ID"]);
                 }
             }
         }
     }
     // --news
 }
<?
if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
    die();

if (!CModule::IncludeModule("iblock"))
    return false;

$rsIBlock = CIBlock::GetList(array(), array("CODE" => "aqw_shop_products", "TYPE" => "catalog"));
if ($arIBlock = $rsIBlock->Fetch())
{
    $arSites = array();
    $db_res = CIBlock::GetSite($arIBlock['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($arIBlock['ID'], array("LID" => $arSites));
    }
    $iblockID = $arIBlock['ID'];
} else {
    $iblockID = WizardServices::ImportIBlockFromXML(
        WIZARD_SERVICE_RELATIVE_PATH . "/xml/" . LANGUAGE_ID . "/products.xml",
        "aqw_shop_products",
        "catalog",
        WIZARD_SITE_ID
    );

}
$lAdmin = new CAdminList($sTableID);
$arHeader = array(array("id" => "NAME", "content" => GetMessage("CAT_CADM_NAME"), "default" => true), array("id" => "SORT", "content" => GetMessage("CAT_CADM_SORT"), "default" => true, "align" => "right"), array("id" => "ACTIVE", "content" => GetMessage("CAT_CADM_ACTIVE"), "default" => true, "align" => "center"), array("id" => "LID", "content" => GetMessage("CAT_CADM_LANG"), "default" => true, "align" => "left"), array("id" => "ID", "content" => GetMessage("CAT_CADM_ID"), "sort" => "id", "default" => true, "align" => "right"));
$lAdmin->AddHeaders($arHeader);
$arCatalogs = array();
$rsCatalog = CCatalog::GetList(array(), array(), false, false, array('IBLOCK_ID', 'PRODUCT_IBLOCK_ID'));
while ($ar = $rsCatalog->Fetch()) {
    if (!$ar["PRODUCT_IBLOCK_ID"]) {
        $arCatalogs[$ar["IBLOCK_ID"]] = 1;
    }
}
$rsIBlocks = CIBlock::GetList(array("SORT" => "asc", "NAME" => "ASC"), array('ID' => array_keys($arCatalogs), "MIN_PERMISSION" => "U"));
$rsIBlocks = new CAdminResult($rsIBlocks, $sTableID);
while ($dbrs = $rsIBlocks->NavNext(true, "f_")) {
    $row =& $lAdmin->AddRow($f_ID, $dbrs, 'cat_catalog_edit.php?IBLOCK_ID=' . $f_ID . '&lang=' . LANGUAGE_ID);
    $f_LID = '';
    $db_LID = CIBlock::GetSite($f_ID);
    while ($ar_LID = $db_LID->Fetch()) {
        $f_LID .= ($f_LID != "" ? " / " : "") . htmlspecialcharsbx($ar_LID["LID"]);
    }
    $row->AddViewField("LID", $f_LID);
    $row->AddViewField("NAME", '<a href="' . htmlspecialcharsbx('cat_catalog_edit.php?IBLOCK_ID=' . $f_ID . '&lang=' . LANGUAGE_ID) . '">' . $f_NAME . '</a>');
    $row->AddCheckField("ACTIVE", false);
    $arActions = array();
    if (CIBlockRights::UserHasRightTo($f_ID, $f_ID, "iblock_edit")) {
        $arActions[] = array("ICON" => "edit", "TEXT" => GetMessage("MAIN_ADMIN_MENU_EDIT"), "DEFAULT" => $_REQUEST["admin"] == "Y", "ACTION" => "window.location='" . CUtil::JSEscape('cat_catalog_edit.php?IBLOCK_ID=' . $f_ID . '&lang=' . LANGUAGE_ID) . "';");
    }
    if (!empty($arActions)) {
        $row->AddActions($arActions);
    }
}
$lAdmin->CheckListMode();
Example #6
0
	?>
	<?echo ShowError(GetMessage("IBLIST_A_BAD_IBLOCK"));?>
	<a href="<?echo htmlspecialcharsbx("iblock_admin.php?lang=".LANGUAGE_ID."&type=".urlencode($type))?>"><?echo GetMessage("IBLOCK_BACK_TO_ADMIN")?></a>
	<?
	endif;
	require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");
	die();
}

if(!$arIBlock["SECTIONS_NAME"])
	$arIBlock["SECTIONS_NAME"] = $arIBTYPE["SECTION_NAME"]? $arIBTYPE["SECTION_NAME"]: GetMessage("IBLIST_A_SECTIONS");
if(!$arIBlock["ELEMENTS_NAME"])
	$arIBlock["ELEMENTS_NAME"] = $arIBTYPE["ELEMENT_NAME"]? $arIBTYPE["ELEMENT_NAME"]: GetMessage("IBLIST_A_ELEMENTS");

$arIBlock["SITE_ID"] = array();
$rsSites = CIBlock::GetSite($IBLOCK_ID);
while($arSite = $rsSites->Fetch())
	$arIBlock["SITE_ID"][] = $arSite["LID"];

$bWorkFlow = $bWorkflow && (CIBlock::GetArrayByID($IBLOCK_ID, "WORKFLOW") != "N");
$bBizproc = $bBizproc && (CIBlock::GetArrayByID($IBLOCK_ID, "BIZPROC") != "N");

define("MODULE_ID", "iblock");
define("ENTITY", "CIBlockDocument");
define("DOCUMENT_TYPE", "iblock_".$IBLOCK_ID);

$bCatalog = Loader::includeModule("catalog");
$boolSKU = false;
$boolSKUFiltrable = false;
$strSKUName = '';
$uniq_id = 0;
Example #7
0
 $tasksForumId = 0;
 if (CModule::IncludeModule("iblock")) {
     $iblockCode = "intranet_tasks";
     $iblockType = "services";
     $rsIBlock = CIBlock::GetList(array(), array("XML_ID" => $iblockCode, "TYPE" => $iblockType));
     if ($arIBlock = $rsIBlock->Fetch()) {
         $tasksIblockId = $arIBlock["ID"];
     }
     if ($tasksIblockId == 0) {
         $tasksIblockId = WizardServices::ImportIBlockFromXML(WIZARD_SERVICE_RELATIVE_PATH . "/xml/" . LANGUAGE_ID . "/tasks.xml", $iblockCode, $iblockType, WIZARD_SITE_ID, array("1" => "X", "2" => "R", WIZARD_PORTAL_ADMINISTRATION_GROUP => "X"));
         $iblock = new CIBlock();
         $arFields = array("CODE" => $iblockCode, "XML_ID" => $iblockCode);
         $iblock->Update($tasksIblockId, $arFields);
     } else {
         $arSites = array();
         $db_res = CIBlock::GetSite($tasksIblockId);
         while ($res = $db_res->Fetch()) {
             $arSites[] = $res["LID"];
         }
         if (!in_array(WIZARD_SITE_ID, $arSites)) {
             $arSites[] = WIZARD_SITE_ID;
             $iblock = new CIBlock();
             $iblock->Update($tasksIblockId, array("LID" => $arSites));
         }
     }
 }
 if (CModule::IncludeModule("forum")) {
     $forumCode = "intranet_tasks";
     $dbRes = CForumNew::GetListEx(array(), array("SITE_ID" => WIZARD_SITE_ID, "XML_ID" => $forumCode));
     if ($arRes = $dbRes->Fetch()) {
         $tasksForumId = $arRes["ID"];
Example #8
0
	);
	while ($arCatalog = $rsCatalogs->Fetch())
	{
		$arIBlockIDs[] = intval($arCatalog['IBLOCK_ID']);
	}
	if (empty($arIBlockIDs))
		$arIBlockIDs[] = -1;
	$arIBlockList = array();
	$db_res = CIBlock::GetList(
		array("IBLOCK_TYPE"=>"ASC", "NAME"=>"ASC"),
		array('ID' => $arIBlockIDs, 'ACTIVE' => 'Y', 'CHECK_PERMISSIONS' => 'Y', 'MIN_PERMISSION' => 'W')
	);
	while ($res = $db_res->Fetch())
	{
		$arSiteList = array();
		$rsSites = CIBlock::GetSite($res["ID"]);
		while ($arSite = $rsSites->Fetch())
		{
			$arSiteList[] = $arSite["SITE_ID"];
		}

		$boolYandex = array_key_exists($res['ID'], $arYandexKeys);
		$arIBlockList[] = array(
			'ID' => $res['ID'],
			'NAME' => $res['NAME'],
			'IBLOCK_TYPE_ID' => $res['IBLOCK_TYPE_ID'],
			'YANDEX_EXPORT' => $boolYandex,
			'SITE_LIST' => '('.implode(' ',$arSiteList).')',
		);
		if ($boolYandex)
			$intCountChecked++;
Example #9
0
 /**
  * @param $id
  * @param bool|false $forCache
  * @return bool|string
  */
 public static function run($id, $forCache = false)
 {
     $data = \CIBlock::GetByID($id)->Fetch();
     if ($data) {
         $code = $data['CODE'];
         $name = $data['NAME'];
         $isactive = $data['ACTIVE'] == 'Y';
         $sort = $data['SORT'];
         $description = (string) $data['DESCRIPTION'];
         $descriptionType = $data['DESCRIPTION_TYPE'];
         $className = $forCache ? \TAO::normalizeMnemocode($code) : \TAO::chunkCap($code);
         unset($data['ID']);
         unset($data['TIMESTAMP_X']);
         unset($data['IBLOCK_TYPE_ID']);
         unset($data['CODE']);
         unset($data['NAME']);
         unset($data['LANG_DIR']);
         unset($data['SERVER_NAME']);
         unset($data['LID']);
         unset($data['ACTIVE']);
         unset($data['SORT']);
         unset($data['DESCRIPTION']);
         unset($data['DESCRIPTION_TYPE']);
         $defs = array('RSS_ACTIVE' => 'Y', 'RSS_TTL' => '24', 'RSS_FILE_ACTIVE' => 'N', 'RSS_YANDEX_ACTIVE' => 'N', 'INDEX_ELEMENT' => 'Y', 'INDEX_SECTION' => 'N', 'WORKFLOW' => 'Y', 'VERSION' => '1', 'BIZPROC' => 'N', 'SECTION_CHOOSER' => 'L', 'RIGHTS_MODE' => 'S', 'SECTION_PROPERTY' => 'N', 'PROPERTY_INDEX' => 'N');
         foreach (array_keys($data) as $k) {
             if (empty($data[$k])) {
                 unset($data[$k]);
             }
             if (isset($defs[$k]) && $defs[$k] == $data[$k]) {
                 unset($data[$k]);
             }
         }
         $sites = '';
         $res = \CIBlock::GetSite($id);
         while ($row = $res->Fetch()) {
             $sites .= $sites != '' ? ',' : '';
             $sites .= "'" . $row['SITE_ID'] . "'";
         }
         unset($data['ELEMENTS_NAME']);
         unset($data['ELEMENT_NAME']);
         $sData = self::generateArrayExport($data, '        ');
         $sDescription = self::generateSimpleStringFunctionText('description', $description, '');
         $sDescriptionType = self::generateSimpleStringFunctionText('descriptionType', $descriptionType, 'text');
         $sIsActive = self::generateSimpleStringFunctionText('isActive', $isactive, true);
         $sSort = self::generateSimpleStringFunctionText('sort', $sort, '500');
         $sSites = "\n\n    public function sites()\n    {\n        return array({$sites});\n    }";
         $properties = array();
         $result = \CIBlockProperty::GetList(array(), array('IBLOCK_ID' => $id, 'CHECK_PERMISSIONS' => 'N'));
         $defs = array('VERSION' => '1', 'FILTRABLE' => 'N', 'SEARCHABLE' => 'N', 'LIST_TYPE' => 'L', 'COL_COUNT' => '30', 'ROW_COUNT' => '1', 'MULTIPLE' => 'N', 'SORT' => '500', 'IS_REQUIRED' => 'N', 'WITH_DESCRIPTION' => 'N', 'MULTIPLE_CNT' => '5');
         while ($row = $result->Fetch()) {
             $code = trim($row['CODE']);
             if ($code == '') {
                 $code = 'PROP_' . $row['ID'];
             }
             $pid = $row['ID'];
             unset($row['ID']);
             unset($row['TIMESTAMP_X']);
             unset($row['IBLOCK_ID']);
             unset($row['ACTIVE']);
             unset($row['CODE']);
             foreach (array_keys($row) as $k) {
                 if (empty($row[$k])) {
                     unset($row[$k]);
                 }
                 if (isset($defs[$k]) && $defs[$k] == $row[$k]) {
                     unset($row[$k]);
                 }
             }
             if ($row['PROPERTY_TYPE'] == 'L') {
                 $items = array();
                 $res = \CIBlockPropertyEnum::GetList(array(), array('PROPERTY_ID' => $pid, 'CHECK_PERMISSIONS' => 'N'));
                 while ($lrow = $res->Fetch()) {
                     $iid = $lrow['ID'];
                     $eid = $lrow['EXTERNAL_ID'];
                     unset($lrow['ID']);
                     unset($lrow['EXTERNAL_ID']);
                     unset($lrow['XML_ID']);
                     unset($lrow['TMP_ID']);
                     unset($lrow['PROPERTY_ID']);
                     unset($lrow['PROPERTY_NAME']);
                     unset($lrow['PROPERTY_CODE']);
                     unset($lrow['PROPERTY_SORT']);
                     if ($lrow['SORT'] == '500') {
                         unset($lrow['SORT']);
                     }
                     if ($lrow['DEF'] == 'N') {
                         unset($lrow['DEF']);
                     }
                     if (count($lrow) == 1 && isset($lrow['VALUE'])) {
                         $lrow = $lrow['VALUE'];
                     }
                     $items[$eid] = $lrow;
                 }
                 $row['ITEMS'] = $items;
             }
             if (isset($row['LINK_IBLOCK_ID']) && !$forCache) {
                 $row['LINK_IBLOCK_CODE'] = \TAO::getInfoblockCode($row['LINK_IBLOCK_ID']);
                 unset($row['LINK_IBLOCK_ID']);
             }
             $properties[$code] = $row;
         }
         $sProperties = self::generateArrayExport($properties, '        ');
         $messages = \CIBlock::GetMessages($id);
         $sMessages = self::generateArrayExport($messages, '        ');
         $fields = self::trimArrayValues(\CIBlock::GetFields($id));
         $defFields = self::defaultFields();
         foreach (array_keys($fields) as $field) {
             if (isset($defFields[$field])) {
                 $md5 = md5(serialize($fields[$field]));
                 $def = md5(serialize($defFields[$field]));
                 if ($md5 == $def) {
                     //unset($fields[$field]);
                 } else {
                     //var_dump($fields[$field], $defFields[$field]);
                 }
             }
         }
         $sFields = self::generateArrayExport($fields, '        ');
         $permissions = \CIBlock::GetGroupPermissions($id);
         $sPermissions = self::generateArrayExport($permissions, '        ');
         ob_start();
         include \TAO::taoDir() . '/views/template-iblock.phtml';
         $content = "<?php\n" . ob_get_clean();
         return $content;
     }
     return false;
 }
Example #10
0
                            $oldPropertyProduct = null;
                            if (isset($IBLOCK_PROPERTY_PRODUCT[$iblock['ID']])) {
                                foreach ($iblockPropertiesName as $key => $prop) {
                                    $oldPropertyProduct[$key] = $IBLOCK_PROPERTY_PRODUCT[$iblock['ID']][$key];
                                }
                            }

                            $oldPropertyUnitProduct = null;
                            if (isset($IBLOCK_PROPERTY_UNIT_PRODUCT[$iblock['ID']])) {
                                foreach ($iblockPropertiesName as $key => $prop) {
                                    $oldPropertyUnitProduct[$key] = $IBLOCK_PROPERTY_UNIT_PRODUCT[$iblock['ID']][$key];
                                }
                            }

                            $arSiteList = array();
                            $rsSites = CIBlock::GetSite($iblock["ID"]);
                            while ($arSite = $rsSites->Fetch())
                            {
                                $arSiteList[] = $arSite["SITE_ID"];
                            }

                            if (count($IBLOCK_EXPORT) != 0)
                                $boolExport = (in_array($iblock['ID'], $IBLOCK_EXPORT));
                            else
                                $boolExport = true;


                            $arIBlockList[] = array(
                                'ID' => $iblock['ID'],
                                'NAME' => $iblock['NAME'],
                                'IBLOCK_TYPE_ID' => $iblock['IBLOCK_TYPE_ID'],
Example #11
0
    }
}
//--offers
if ($IBLOCK_OFFERS_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_OFFERS_ID = WizardServices::ImportIBlockFromXML($iblockXMLFileOffers, "clothes_offers", $iblockTypeOffers, WIZARD_SITE_ID, $permissions);
    $iblockID1 = WizardServices::ImportIBlockFromXML($iblockXMLFilePricesOffers, "clothes_offers", $iblockTypeOffers . "_prices", WIZARD_SITE_ID, $permissions);
    if ($IBLOCK_OFFERS_ID < 1) {
        return;
    }
    $_SESSION["WIZARD_OFFERS_IBLOCK_ID"] = $IBLOCK_OFFERS_ID;
} else {
    $arSites = array();
    $db_res = CIBlock::GetSite($IBLOCK_OFFERS_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_OFFERS_ID, array("LID" => $arSites));
    }
}
Example #12
0
foreach ($keys as $key) {
    $id = intval($arParams["IBLOCK_OTHER_IDS"][$key]);
    if ($id > 0 && $id != $arParams['IBLOCK_USER_ID'] && $id != $arParams['IBLOCK_GROUP_ID']) {
        $arParams["IBLOCK_OTHER_IDS"][$key] = $id;
        $dbRes = CIBlock::GetByID($id);
        if ($dbRes && ($arRes = $dbRes->Fetch())) {
            $path = str_replace(array('///', '//'), '/', str_replace('#SITE_DIR#', SITE_DIR, $arRes['LIST_PAGE_URL']));
            if (SubStr($path, 0, 1) != '/') {
                $path = '/' . $path;
            }
            if (SubStr($path, -1, 1) != '/') {
                $path .= '/';
            }
            $path .= '#PATH#';
            $arSites = array();
            $rSites = CIBlock::GetSite($id);
            while ($arSite = $rSites->Fetch()) {
                $arSites[$arSite['LID']] = $arSite;
            }
            if (isset($arSites[SITE_ID])) {
                $arDefaultUrlTemplates404 = array('i' . $id => $path) + $arDefaultUrlTemplates404;
                $modes = array($id => rawurlencode(str_replace("/", "", $arRes['NAME']))) + $modes;
            } else {
                unset($arParams["IBLOCK_OTHER_IDS"][$key]);
            }
        } else {
            unset($arParams["IBLOCK_OTHER_IDS"][$key]);
        }
    } else {
        unset($arParams["IBLOCK_OTHER_IDS"][$key]);
    }
Example #13
0
function PClearComponentCacheEx($iblockId = false, $arSections = array(), $arGalleries = array(), $arUsers = array(), $clearCommon = true)
{
    if (!$iblockId) {
        return;
    }
    $arCache = array();
    $arCache[] = "photogallery";
    if ($clearCommon) {
        $arCache[] = "search.page";
        $arCache[] = "search.tags.cloud";
        $arCache[] = "photogallery/" . $iblockId;
        $arCache[] = "photogallery/" . $iblockId . "/pemission";
        $arCache[] = "photogallery.detail.comment/" . $iblockId;
        $arCache[] = "photogallery.gallery.list/" . $iblockId;
    }
    if (is_array($arSections)) {
        $arSections = array_unique($arSections);
        foreach ($arSections as $sectionId) {
            $arCache[] = "photogallery/" . $iblockId . "/section" . intVal($sectionId);
        }
    }
    $arCache[] = "photogallery/" . $iblockId . "/section" . intVal($sectionId);
    if (is_array($arGalleries)) {
        $arGalleries = array_unique($arGalleries);
        foreach ($arGalleries as $galleryCode) {
            $arCache[] = "photogallery/" . $iblockId . "/gallery" . $galleryCode;
        }
        // todo: secure galleryCode!!!!
    }
    if (is_array($arUsers)) {
        $arUsers = array_unique($arUsers);
        foreach ($arUsers as $userId) {
            $arCache[] = "photogallery/" . $iblockId . "/user" . intVal($userId);
        }
    }
    $arSite = array();
    $rsIblockSite = CIBlock::GetSite($iblockId);
    while ($arIblockSite = $rsIblockSite->Fetch()) {
        $arSite[] = $arIblockSite["SITE_ID"];
    }
    PClearComponentCache($arCache, $arSite);
}
Example #14
0
 public static function getIBlockSites($iblockID)
 {
     $db_res = \CIBlock::GetSite($iblockID);
     while ($res = $db_res->Fetch()) {
         $arSites[] = $res["LID"];
     }
     return $arSites;
 }
Example #15
0
 public function executeComponent()
 {
     if (!CModule::IncludeModule('sale')) {
         ShowError("Module sale not installed!");
         return;
     }
     if (!CModule::IncludeModule('catalog')) {
         ShowError("Module catalog not installed!");
         return;
     }
     $this->arResult["BITRIX_CATEGORY_ID"] = isset($this->arParams["BITRIX_CATEGORY_ID"]) ? $this->arParams["BITRIX_CATEGORY_ID"] : 0;
     $this->arResult["IBLOCK_ID"] = isset($this->arParams["IBLOCK_ID"]) ? $this->arParams["IBLOCK_ID"] : 0;
     if (isset($this->arParams["EBAY_CATEGORY_ID"])) {
         $this->arResult["EBAY_CATEGORY_ID"] = $this->arParams["EBAY_CATEGORY_ID"];
     } else {
         $this->arResult["EBAY_CATEGORY_ID"] = $this->getMappedEbayCategoryId($this->arResult["BITRIX_CATEGORY_ID"]);
     }
     $this->arResult["TOP_CATEGORIES_LIST"] = $this->getTopCategories();
     $this->arResult["VARIATIONS_BLOCK_ID"] = 'SALE_EBAY_CAT_' . $this->arResult["EBAY_CATEGORY_ID"] . '_VARIATIONS';
     $siteRes = CIBlock::GetSite($this->arResult["IBLOCK_ID"]);
     //todo: It can be many sites for one iblock.
     if ($site = $siteRes->Fetch()) {
         $this->arResult["SITE_ID"] = $site["LID"];
     } else {
         $this->arResult["SITE_ID"] = "";
     }
     if (strlen($this->arResult["EBAY_CATEGORY_ID"]) > 0) {
         $this->arResult["CATEGORY_AND_PARENTS_INFO"] = $this->getCategoryAndParentsInfo($this->arResult["EBAY_CATEGORY_ID"]);
         if (isset($this->arResult["CATEGORY_AND_PARENTS_INFO"][1]["CATEGORY_ID"])) {
             $this->arResult["TOP_CATEGORY_ID"] = $this->arResult["CATEGORY_AND_PARENTS_INFO"][1]["CATEGORY_ID"];
         }
         $this->arResult["EBAY_CATEGORY_VARIATIONS"] = \Bitrix\Sale\TradingPlatform\Ebay\Helper::getEbayCategoryVariations($this->arResult["EBAY_CATEGORY_ID"], $this->arResult["SITE_ID"]);
         if (isset($this->arParams["VARIATIONS_VALUES"])) {
             $this->arResult["VARIATIONS_VALUES"] = $this->arParams["VARIATIONS_VALUES"];
         } else {
             $this->arResult["VARIATIONS_VALUES"] = $this->getVariationsValues($this->arResult["IBLOCK_ID"], $this->arResult["EBAY_CATEGORY_ID"], $this->arResult["EBAY_CATEGORY_VARIATIONS"]);
         }
     } else {
         $this->arResult["VARIATIONS_VALUES"] = array('' => '');
         $this->arResult["EBAY_CATEGORY_VARIATIONS"] = array();
     }
     $this->arResult["CATEGORY_PROPS"] = \CIBlockSectionPropertyLink::GetArray($this->arParams["IBLOCK_ID"], $this->arParams["BITRIX_CATEGORY_ID"]);
     $rsProps = \CIBlockProperty::GetList(array("SORT" => "ASC", 'ID' => 'ASC'), array("IBLOCK_ID" => $this->arParams["IBLOCK_ID"], "CHECK_PERMISSIONS" => "N", "ACTIVE" => "Y"));
     while ($arProp = $rsProps->Fetch()) {
         if (isset($this->arResult["CATEGORY_PROPS"][$arProp["ID"]])) {
             $this->arResult["CATEGORY_PROPS"][$arProp["ID"]]["NAME"] = $arProp["NAME"];
         }
     }
     $this->arResult["IBLOCK_IDS"] = array($this->arParams["IBLOCK_ID"] => Loc::getMessage("SALE_EBAY_SEC_CATEGORY_PROP"));
     $arOffers = \CCatalogSKU::GetInfoByProductIBlock($this->arParams["IBLOCK_ID"]);
     if (is_array($arOffers) && !empty($arOffers)) {
         $this->arResult["OFFERS_IBLOCK_ID"] = $arOffers["IBLOCK_ID"];
         $this->arResult["CATEGORY_OFFERS_PROPS"] = \CIBlockSectionPropertyLink::GetArray($arOffers["IBLOCK_ID"], $this->arParams["BITRIX_CATEGORY_ID"]);
         $rsProps = \CIBlockProperty::GetList(array("SORT" => "ASC", 'ID' => 'ASC'), array("IBLOCK_ID" => $arOffers["IBLOCK_ID"], "CHECK_PERMISSIONS" => "N", "ACTIVE" => "Y"));
         while ($arProp = $rsProps->Fetch()) {
             if (isset($this->arResult["CATEGORY_OFFERS_PROPS"][$arProp["ID"]])) {
                 $this->arResult["CATEGORY_OFFERS_PROPS"][$arProp["ID"]]["NAME"] = $arProp["NAME"];
             }
         }
         $this->arResult["IBLOCK_IDS"][$arOffers["IBLOCK_ID"]] = Loc::getMessage("SALE_EBAY_SEC_OFFERS_PROP");
     }
     $this->IncludeComponentTemplate();
 }
Example #16
0
 public function GetDiscountForProduct($arProduct, $arParams = false)
 {
     global $DB;
     self::initDiscountSettings();
     $arResult = array();
     $arResultID = array();
     if (is_array($arProduct) && !empty($arProduct)) {
         if (!is_array($arParams)) {
             $arParams = array();
         }
         if (!isset($arProduct['ID'])) {
             $arProduct['ID'] = 0;
         }
         $arProduct['ID'] = (int) $arProduct['ID'];
         if (!isset($arProduct['IBLOCK_ID'])) {
             $arProduct['IBLOCK_ID'] = 0;
         }
         $arProduct['IBLOCK_ID'] = (int) $arProduct['IBLOCK_ID'];
         if ($arProduct['IBLOCK_ID'] <= 0) {
             return $arResult;
         }
         $arSKUExt = false;
         if (isset($arParams['SKU']) && $arParams['SKU'] == 'Y') {
             $arSKUExt = CCatalogSKU::GetInfoByOfferIBlock($arProduct['IBLOCK_ID']);
         }
         $arFieldsParams = array();
         if (isset($arParams['TIME_ZONE'])) {
             $arFieldsParams['TIME_ZONE'] = $arParams['TIME_ZONE'];
         }
         if (isset($arParams['PRODUCT'])) {
             $arFieldsParams['PRODUCT'] = $arParams['PRODUCT'];
         }
         $boolGenerate = false;
         $arSelect = array('ID', 'SITE_ID', 'SORT', 'NAME', 'VALUE_TYPE', 'VALUE', 'CURRENCY', 'UNPACK');
         if (isset($arParams['DISCOUNT_FIELDS']) && !empty($arParams['DISCOUNT_FIELDS']) && is_array($arParams['DISCOUNT_FIELDS'])) {
             $arSelect = $arParams['DISCOUNT_FIELDS'];
         }
         if (!in_array('UNPACK', $arSelect)) {
             $arSelect[] = 'UNPACK';
         }
         $strDate = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")));
         if (isset($arParams['CURRENT_DATE'])) {
             $strDate = $arParams['CURRENT_DATE'];
         }
         $strRenewal = 'N';
         if (isset($arParams['RENEWAL'])) {
             $strRenewal = $arParams['RENEWAL'];
         }
         $strRenewal = $strRenewal == 'Y' ? 'Y' : 'N';
         $arSiteList = array();
         if (isset($arParams['SITE_ID'])) {
             if (!is_array($arParams['SITE_ID'])) {
                 $arParams['SITE_ID'] = array($arParams['SITE_ID']);
             }
             if (!empty($arParams['SITE_ID'])) {
                 $arSiteList = $arParams['SITE_ID'];
             }
         }
         if (empty($arSiteList)) {
             $rsIBlockSites = CIBlock::GetSite($arProduct['IBLOCK_ID']);
             while ($arIBlockSite = $rsIBlockSites->Fetch()) {
                 $arSiteList[] = $arIBlockSite['SITE_ID'];
             }
         }
         $arFilter = array('SITE_ID' => $arSiteList, 'TYPE' => self::ENTITY_ID, 'ACTIVE' => "Y", 'RENEWAL' => $strRenewal, '+<=ACTIVE_FROM' => $strDate, '+>=ACTIVE_TO' => $strDate, 'COUPON' => '');
         CTimeZone::Disable();
         $rsPriceDiscounts = CCatalogDiscount::GetList(array(), $arFilter, false, false, $arSelect);
         CTimeZone::Enable();
         while ($arPriceDiscount = $rsPriceDiscounts->Fetch()) {
             if ($arPriceDiscount['COUPON_ACTIVE'] != 'N') {
                 if (!$boolGenerate) {
                     if (!isset(self::$arCacheProduct[$arProduct['ID']])) {
                         if (!self::__GenerateFields($arProduct, $arFieldsParams)) {
                             return $arResult;
                         }
                         if (!empty($arSKUExt)) {
                             self::__GenerateParent($arProduct, $arSKUExt);
                         }
                         $boolGenerate = true;
                         self::$arCacheProduct[$arProduct['ID']] = $arProduct['ID'];
                     } else {
                         $arProduct = self::$arCacheProduct[$arProduct['ID']];
                     }
                 }
                 if (CCatalogDiscount::__Unpack($arProduct, $arPriceDiscount['UNPACK'])) {
                     unset($arPriceDiscount['UNPACK']);
                     $arResult[] = $arPriceDiscount;
                     $arResultID[] = $arPriceDiscount['ID'];
                 }
             }
         }
     }
     return $arResult;
 }
Example #17
0
    }
}
if (strPos($componentPage, "user_files") !== false || strPos($componentPage, "group_files") !== false) {
    if ($bExtranetEnabled && strPos($componentPage, "user_files") !== false && CModule::IncludeModule("iblock")) {
        $bIsUserExtranet = false;
        $obCache = new CPHPCache();
        $strCacheID = $arResult["VARIABLES"]["user_id"];
        $path = "/sonet_user_files_iblock_" . intval($arResult["VARIABLES"]["user_id"] / 100) . "_" . SITE_ID;
        if ($obCache->StartDataCache(60 * 60 * 24 * 365, $strCacheID, $path)) {
            if (defined("BX_COMP_MANAGED_CACHE")) {
                $GLOBALS["CACHE_MANAGER"]->StartTagCache($path);
                $GLOBALS["CACHE_MANAGER"]->RegisterTag("USER_CARD_" . intval($arResult["VARIABLES"]["user_id"] / TAGGED_user_card_size));
            }
            $rsIBlock = CIBlock::GetList(array(), array("ACTIVE" => "Y", "CHECK_PERMISSIONS" => "N", "CODE" => "user_files%"));
            while ($arIBlock = $rsIBlock->Fetch()) {
                $rsSite = CIBlock::GetSite($arIBlock["ID"]);
                while ($arSite = $rsSite->Fetch()) {
                    if ($arSite["SITE_ID"] == $extranetSiteId && intval($extranet_iblock_id) <= 0) {
                        $extranet_iblock_id = $arIBlock["ID"];
                    } elseif ($arSite["SITE_ID"] != $extranetSiteId && intval($intranet_iblock_id) <= 0) {
                        $intranet_iblock_id = $arIBlock["ID"];
                    }
                }
                if (intval($intranet_iblock_id) > 0 && intval($extranet_iblock_id) > 0) {
                    break;
                }
            }
            if (intval($intranet_iblock_id) > 0 && intval($extranet_iblock_id) > 0) {
                if (CSocNetUser::IsUserModuleAdmin($arResult["VARIABLES"]["user_id"])) {
                    $bIsUserExtranet = false;
                } else {
Example #18
0
 public function GetDiscountForProduct($arProduct, $arParams = false)
 {
     global $DB;
     $arResult = array();
     $arResultID = array();
     if (is_array($arProduct) && !empty($arProduct)) {
         if (!is_array($arParams)) {
             $arParams = array();
         }
         if (!isset($arProduct['ID'])) {
             $arProduct['ID'] = 0;
         }
         $arProduct['ID'] = intval($arProduct['ID']);
         if (!isset($arProduct['IBLOCK_ID'])) {
             $arProduct['IBLOCK_ID'] = 0;
         }
         $arProduct['IBLOCK_ID'] = intval($arProduct['IBLOCK_ID']);
         if (0 >= $arProduct['IBLOCK_ID']) {
             return $arResult;
         }
         $arFieldsParams = array();
         if (isset($arParams['TIME_ZONE'])) {
             $arFieldsParams['TIME_ZONE'] = $arParams['TIME_ZONE'];
         }
         if (isset($arParams['PRODUCT'])) {
             $arFieldsParams['PRODUCT'] = $arParams['PRODUCT'];
         }
         $boolGenerate = false;
         $arSelect = array("ID", "SITE_ID", "SORT", "NAME", "VALUE_TYPE", "VALUE", "CURRENCY", 'UNPACK');
         if (isset($arParams['DISCOUNT_FIELDS']) && is_array($arParams['DISCOUNT_FIELDS']) && !empty($arParams['DISCOUNT_FIELDS'])) {
             $arSelect = $arParams['DISCOUNT_FIELDS'];
         }
         if (!in_array('UNPACK', $arSelect)) {
             $arSelect[] = 'UNPACK';
         }
         $strDate = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")));
         if (isset($arParams['CURRENT_DATE'])) {
             $strDate = $arParams['CURRENT_DATE'];
         }
         $strRenewal = 'N';
         if (isset($arParams['RENEWAL'])) {
             $strRenewal = $arParams['RENEWAL'];
         } else {
             $rsCatalogs = CCatalog::GetList(array(), array('ID' => $arProduct['IBLOCK_ID']), false, false, array('ID', 'SUBSCRIPTION'));
             if ($arCatalog = $rsCatalogs->Fetch()) {
                 $strRenewal = $arCatalog['SUBSCRIPTION'];
             }
         }
         if ('Y' != $strRenewal) {
             $strRenewal = 'N';
         }
         $arSiteList = array();
         if (isset($arParams['SITE_ID'])) {
             if (!is_array($arParams['SITE_ID'])) {
                 $arParams['SITE_ID'] = array($arParams['SITE_ID']);
             }
             if (!empty($arParams['SITE_ID'])) {
                 $arSiteList = $arParams['SITE_ID'];
             }
         }
         if (empty($arSiteList)) {
             $rsIBlockSites = CIBlock::GetSite($arProduct['IBLOCK_ID']);
             while ($arIBlockSite = $rsIBlockSites->Fetch()) {
                 $arSiteList[] = $arIBlockSite['SITE_ID'];
             }
         }
         $arFilter = array("SITE_ID" => $arSiteList, "TYPE" => DISCOUNT_TYPE_STANDART, "ACTIVE" => "Y", "RENEWAL" => $strRenewal, "+<=ACTIVE_FROM" => $strDate, "+>=ACTIVE_TO" => $strDate, 'COUPON' => '');
         $rsPriceDiscounts = CCatalogDiscount::GetList(array(), $arFilter, false, false, $arSelect);
         while ($arPriceDiscount = $rsPriceDiscounts->Fetch()) {
             if ($arPriceDiscount['COUPON_ACTIVE'] != 'N') {
                 if (!$boolGenerate) {
                     if (!self::__GenerateFields($arProduct, $arFieldsParams)) {
                         return $arResult;
                     }
                     $boolGenerate = true;
                 }
                 if (CCatalogDiscount::__Unpack($arProduct, $arPriceDiscount['UNPACK'])) {
                     unset($arPriceDiscount['UNPACK']);
                     $arResult[] = $arPriceDiscount;
                     $arResultID[] = $arPriceDiscount['ID'];
                 }
             }
         }
         if (isset($arParams['SKU']) && 'Y' == $arParams['SKU']) {
             if (isset($arParams['SKU_PARAMS']) && is_array($arParams['SKU_PARAMS']) && !empty($arParams['SKU_PARAMS'])) {
                 $arSKU = $arParams['SKU_PARAMS'];
             } else {
                 $arSKU = CCatalogSKU::GetInfoByOfferIBlock($arProduct['IBLOCK_ID']);
             }
             if (is_array($arSKU)) {
                 $arParent = array();
                 $arParent['ID'] = 0;
                 $arParent['IBLOCK_ID'] = $arSKU['PRODUCT_IBLOCK_ID'];
                 if (isset($arProduct['PROPERTY_' . $arSKU['SKU_PROPERTY_ID'] . '_VALUE']) && is_array($arProduct['PROPERTY_' . $arSKU['SKU_PROPERTY_ID'] . '_VALUE'])) {
                     $intParentID = intval(current($arProduct['PROPERTY_' . $arSKU['SKU_PROPERTY_ID'] . '_VALUE']));
                     if (0 < $intParentID) {
                         $arParent['ID'] = $intParentID;
                     }
                 }
                 $arParentParams = array();
                 if (isset($arParams['TIME_ZONE'])) {
                     $arParentParams['TIME_ZONE'] = $arParams['TIME_ZONE'];
                 }
                 if (isset($arParams['DISCOUNT_FIELDS'])) {
                     $arParentParams['DISCOUNT_FIELDS'] = $arParams['DISCOUNT_FIELDS'];
                 }
                 $arParentParams['RENEWAL'] = $strRenewal;
                 $arParentParams['SITE_ID'] = $arSiteList;
                 $arParentParams['CURRENT_DATE'] = $strDate;
                 $arDiscountParent = self::GetDiscountForProduct($arParent, $arParentParams);
                 if (!empty($arDiscountParent)) {
                     if (empty($arResult)) {
                         $arResult = $arDiscountParent;
                     } else {
                         foreach ($arDiscountParent as &$arOneParentDiscount) {
                             if (in_array($arOneParentDiscount['ID'], $arResultID)) {
                                 continue;
                             }
                             $arResult[] = $arOneParentDiscount;
                             $arResultID[] = $arOneParentDiscount['ID'];
                         }
                         if (isset($arOneParentDiscount)) {
                             unset($arOneParentDiscount);
                         }
                     }
                 }
             }
         }
     }
     return $arResult;
 }
Example #19
0
	$arIBlockFullInfo = array();

	$arRecurring = array();
	$arRecurringKey = array();

	$rsIBlocks = CIBlock::GetList(array('IBLOCK_TYPE' => 'ASC','ID' => 'ASC'));
	while ($arIBlock = $rsIBlocks->Fetch())
	{
		$arIBlock['ID'] = (int)$arIBlock['ID'];
		if (!isset($arIBlockSitesList[$arIBlock['ID']]))
		{
			$arLIDList = array();
			$arWithLinks = array();
			$arWithoutLinks = array();
			$rsIBlockSites = CIBlock::GetSite($arIBlock['ID']);
			while ($arIBlockSite = $rsIBlockSites->Fetch())
			{
				$arLIDList[] = $arIBlockSite['LID'];
				$arWithLinks[] = '<a href="/bitrix/admin/site_edit.php?LID='.urlencode($arIBlockSite['LID']).'&lang='.LANGUAGE_ID.'" title="'.Loc::getMessage("CO_SITE_ALT").'">'.htmlspecialcharsbx($arIBlockSite["LID"]).'</a>';
				$arWithoutLinks[] = htmlspecialcharsbx($arIBlockSite['LID']);
			}
			$arIBlockSitesList[$arIBlock['ID']] = array(
				'SITE_ID' => $arLIDList,
				'WITH_LINKS' => implode('&nbsp;',$arWithLinks),
				'WITHOUT_LINKS' => implode(' ',$arWithoutLinks),
			);
		}
		$arIBlockItem = array(
			'ID' => $arIBlock['ID'],
			'IBLOCK_TYPE_ID' => $arIBlock['IBLOCK_TYPE_ID'],
Example #20
0
    $arFields["USER_GROUP_BUY"] = array(1);
    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));
    }
}
Example #21
0
$iblockID = false;
if ($arIBlock = $rsIBlock->Fetch()) {
    $iblockID = $arIBlock["ID"];
}
if ($iblockID == false) {
    $iblockID = WizardServices::ImportIBlockFromXML($iblockXMLFile, 'idea', $iblockType, WIZARD_SITE_ID, $permissions = array("1" => "X", "2" => "R", WIZARD_PORTAL_ADMINISTRATION_GROUP => "X", WIZARD_PERSONNEL_DEPARTMENT_GROUP => "W"));
    if ($iblockID < 1) {
        return;
    }
    //Iblock Section form settings
    $aFormOptions = array('tabs' => "edit1--#--" . GetMessage("IDEA_CATEGORY_EDIT_FORM_TAB_TITLE") . "--,--ID--#--ID--,--ACTIVE--#--" . GetMessage("IDEA_CATEGORY_EDIT_FORM_P_ACTIVE") . "--,--NAME--#--" . GetMessage("IDEA_CATEGORY_EDIT_FORM_P_NAME") . "--,--CODE--#--" . GetMessage("IDEA_CATEGORY_EDIT_FORM_P_CODE") . "--,--IBLOCK_SECTION_ID--#--" . GetMessage("IDEA_CATEGORY_EDIT_FORM_P_IBLOCK_SECTION_ID") . "--,--SORT--#--" . GetMessage("IDEA_CATEGORY_EDIT_FORM_P_SORT") . "--;--");
    WizardServices::SetUserOption("form", "form_section_" . $iblockID, $aFormOptions, $common = true);
    WizardServices::SetIBlockFormSettings($iblockID, $aFormOptions);
    //IBlock fields settings
    $iblock = new CIBlock();
    $arFields = array("ACTIVE" => "Y", "FIELDS" => array("SECTION_CODE" => array("IS_REQUIRED" => "Y", "DEFAULT_VALUE" => array("UNIQUE" => "Y", "TRANSLITERATION" => "Y", "TRANS_LEN" => 50, "TRANS_CASE" => "L", "TRANS_SPACE" => "_", "TRANS_OTHER" => "_", "TRANS_EAT" => "Y", "USE_GOOGLE" => "Y"))), "CODE" => $iblockCode, "XML_ID" => $iblockCode);
    $iblock->Update($iblockID, $arFields);
} else {
    $arSites = array();
    $db_res = CIBlock::GetSite($iblockID);
    while ($res = $db_res->Fetch()) {
        $arSites[] = $res["LID"];
    }
    if (!in_array(WIZARD_SITE_ID, $arSites)) {
        $arSites[] = WIZARD_SITE_ID;
        $iblock = new CIBlock();
        $iblock->Update($iblockID, array("LID" => $arSites));
    }
}
CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/about/idea/index.php", array("IDEA_IBLOCK_CATEGORY" => $iblockID));
CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/include/feedback.php", array("IDEA_IBLOCK_CATEGORY" => $iblockID));
Example #22
0
                $res = $ib->Update($photoGroupIBlockID, $arIBlockFields);
            }
        }
    }
    // tasks
    $tasksIblockId = 0;
    if (CModule::IncludeModule("iblock") && strlen($default_site_id) > 0) {
        $ib = new CIBlock();
        $ibtype_tasks = COption::GetOptionString('intranet', 'iblock_type_tasks', '', '');
        if (strlen($ibtype_tasks) <= 0) {
            $ibtype_tasks = "services";
            COption::SetOptionString("intranet", 'iblock_type_tasks', $ibtype_tasks);
        }
        $dbRes = CIBlock::GetList(array(), array("SITE_ID" => $default_site_id, "CODE" => "intranet_tasks"));
        if ($arRes = $dbRes->Fetch()) {
            $tasksIblockId = $arRes["ID"];
            $arSiteID = array(WIZARD_SITE_ID);
            $rsSites = CIBlock::GetSite($tasksIblockId);
            while ($arSite = $rsSites->Fetch()) {
                $arSiteID[] = $arSite["SITE_ID"];
            }
            $arIBlockFields = array("ACTIVE" => $arRes["ACTIVE"], "SITE_ID" => $arSiteID);
            $res = $ib->Update($tasksIblockId, $arIBlockFields);
        }
    }
    $arReplace = array("FILES_USER_IBLOCK_ID" => $filesUserIBlockID, "CALENDAR_USER_IBLOCK_ID" => $calendarUserIBlockID, "PHOTO_USER_IBLOCK_ID" => $photoUserIBlockID, "FILES_GROUP_IBLOCK_ID" => $filesGroupIBlockID, "CALENDAR_GROUP_IBLOCK_ID" => $calendarGroupIBlockID, "PHOTO_GROUP_IBLOCK_ID" => $photoGroupIBlockID, "TASKS_IBLOCK_ID" => $tasksIblockId);
    CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/workgroups/index.php", $arReplace);
    CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/contacts/personal.php", $arReplace);
    CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/index.php", $arReplace);
    CWizardUtil::ReplaceMacros(WIZARD_SITE_PATH . "/index_b24.php", $arReplace);
}