- Модуль: wiki
- Путь к файлу: ~/bitrix/modules/wiki/classes/general/wiki_socnet.php
- Класс: CWikiSocnet
- Вызов: CWikiSocnet::Init
static function Init($SOCNET_GROUP_ID, $IBLOCK_ID)
{
if (self::$bInit)
return self::$bInit;
if (!self::IsEnabledSocnet())
return false;
self::$iSocNetId = intval($SOCNET_GROUP_ID);
// detect work group
$arFilter = Array();
$arFilter['IBLOCK_ID'] = $IBLOCK_ID;
$arFilter['SOCNET_GROUP_ID'] = self::$iSocNetId;
$arFilter['CHECK_PERMISSIONS'] = 'N';
$rsSection = CIBlockSection::GetList(Array($by=>$order), $arFilter, true);
$obSection = $rsSection->GetNextElement();
if ($obSection !== false)
{
$arResult = $obSection->GetFields();
self::$iCatId = $arResult['ID'];
self::$iCatLeftBorder = $arResult['LEFT_MARGIN'];
self::$iCatRightBorder = $arResult['RIGHT_MARGIN'];
}
else
{
$arWorkGroup = CSocNetGroup::GetById(self::$iSocNetId);
$arFields = Array(
'ACTIVE' => 'Y',
'IBLOCK_ID' => $IBLOCK_ID,
'SOCNET_GROUP_ID' => self::$iSocNetId,
'CHECK_PERMISSIONS' => 'N',
'NAME' => $arWorkGroup['NAME']
);
$CIB_S = new CIBlockSection();
self::$iCatId = $CIB_S->Add($arFields);
if (self::$iCatId == false)
{
self::$bInit = false;
return false;
}
$rsSection = CIBlockSection::GetList(Array($by=>$order), $arFilter, true);
$obSection = $rsSection->GetNextElement();
if ($obSection == false)
{
self::$bInit = false;
return false;
}
$arResult = $obSection->GetFields();
self::$iCatLeftBorder = $arResult['LEFT_MARGIN'];
self::$iCatRightBorder = $arResult['RIGHT_MARGIN'];
}
self::$bInit = CSocNetFeatures::IsActiveFeature(SONET_ENTITY_GROUP, self::$iSocNetId, 'wiki');
return self::$bInit;
}