- Модуль: socialnetwork
- Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/log_tools.php
- Класс: CSocNetLogTools
- Вызов: CSocNetLogTools::AddComment_Review_CheckIBlock_Forum
static function AddComment_Review_CheckIBlock_Forum($arElement)
{
if (!CModule::IncludeModule("iblock"))
return false;
if (!CModule::IncludeModule("forum"))
return false;
$needProperty = array();
$ELEMENT_IBLOCK_ID = intval($arElement["IBLOCK_ID"]);
$ELEMENT_FORUM_TOPIC_ID = intval($arElement["PROPERTY_FORUM_TOPIC_ID_VALUE"]);
$ELEMENT_FORUM_MESSAGE_CNT = intval($arElement["PROPERTY_FORUM_MESSAGE_CNT_VALUE"]);
if ($ELEMENT_FORUM_TOPIC_ID <= 0):
$db_res = CIBlockElement::GetProperty($ELEMENT_IBLOCK_ID, $arElement["ID"], false, false, array("CODE" => "FORUM_TOPIC_ID"));
if (!($db_res && $res = $db_res->Fetch()))
$needProperty[] = "FORUM_TOPIC_ID";
endif;
if ($ELEMENT_FORUM_MESSAGE_CNT <= 0):
$db_res = CIBlockElement::GetProperty($ELEMENT_IBLOCK_ID, $arElement["ID"], false, false, array("CODE" => "FORUM_MESSAGE_CNT"));
if (!($db_res && $res = $db_res->Fetch()))
$needProperty[] = "FORUM_MESSAGE_CNT";
endif;
if (!empty($needProperty)):
$obProperty = new CIBlockProperty;
$res = true;
foreach ($needProperty as $nameProperty)
{
$sName = trim($nameProperty == "FORUM_TOPIC_ID" ? GetMessage("F_FORUM_TOPIC_ID") : GetMessage("F_FORUM_MESSAGE_CNT"));
$sName = (empty($sName) ? $nameProperty : $sName);
$res = $obProperty->Add(array(
"IBLOCK_ID" => $ELEMENT_IBLOCK_ID,
"ACTIVE" => "Y",
"PROPERTY_TYPE" => "N",
"MULTIPLE" => "N",
"NAME" => $sName,
"CODE" => $nameProperty
)
);
}
endif;
// Set NULL for topic_id if it was deleted
if ($ELEMENT_FORUM_TOPIC_ID > 0):
$arTopic = CForumTopic::GetByID($ELEMENT_FORUM_TOPIC_ID);
if (!$arTopic || !is_array($arTopic) || count($arTopic) <= 0)
{
CIBlockElement::SetPropertyValues($arElement["ID"], $ELEMENT_IBLOCK_ID, 0, "FORUM_TOPIC_ID");
$ELEMENT_FORUM_TOPIC_ID = 0;
}
endif;
return true;
}