AddEventHandler("iblock", "OnAfterIBlockElementAdd", array("ComentComponentForum", "CreateTopic") );
class ComentComponentForum {
//Создаем топик
function CreateTopic(&$arFields){
include_once $_SERVER['DOCUMENT_ROOT'].'/bitrix/modules/forum/include.php';
$ElemValue = '';
//Найти ID_TOPIC ID
$properties = CIBlockProperty::GetList(Array("sort"=>"asc", "name"=>"asc"), Array("IBLOCK_ID"=>$arFields['IBLOCK_ID']));
$IDProperty = '';
$IDPropertyFORUM = '';
while ($prop_fields = $properties->GetNext()){
if($prop_fields['CODE']=='ID_TOPIC') $IDPropertyTOPIC = $prop_fields["ID"];
if($prop_fields['CODE']=='FORUM_FID')
$IDPropertyFORUM = $prop_fields['ID'];
}
foreach($arFields['PROPERTY_VALUES'] as $key=>$item){
if($key==$IDPropertyFORUM){
//$Propertys[] = 'PROPERTY_'.$IDPropertyFORUM.'_ID';
$ElemValue = $item['n0']['VALUE'];
}
}
//Если получили ID элемента нужно выдернуть ID Форум группы из значения.
if(!empty($ElemValue)){
$res = CIBlockElement::GetList(Array("SORT"=>"ASC"), Array("IBLOCK_ID"=>19, "ID"=>$ElemValue , "ACTIVE"=>"Y") ,
false, false, array('PROPERTY_9_ID'));
$arFiel = $res->GetNext();
//Получаем ID Форума...
$FID = $arFiel['PROPERTY_9_ID_VALUE'];
}
global $USER , $DB;
$UserName = $USER->GetFullName();
$arFieldsM = array(
'POST_MESSAGE' => "Обсуждение статьи ".$arFields['NAME'] . "<br> URL: ".$arFields['DETAIL_PAGE_URL'] ,
'TITLE'=> $arFields['NAME'],
'AUTHOR_NAME'=>$UserName,
'DESCRIPTION'=> "Обсуждение статьи ".$arFields['NAME'] ,
'USE_SMILES'=>'Y',
);
//if($_SESSION[IDART]==$arFields['ID']) return false;
if(!empty($FID) and $_SESSION[IDART]==''){
$testtext = "Обсуждение статьи ".$arFields['NAME'] ."<br> URL: ".$arFields['DETAIL_PAGE_URL'];
$result = ForumAddMessage('NEW' , $FID , 0, 0, $arFieldsM, $strErrorMessage , $strOKMessage); //тема создается но без текста
$_SESSION[IDART]= $result;
$_SESSION[IDART_TEXT]= $testtext;
//AddMessage2Log($SQL);
// $SQL = "UPDATE `b_forum_message` SET `POST_MESSAGE` = '".$_SESSION[IDART_TEXT]."' WHERE `ID` =".$_SESSION['IDART'].";";
//CIBlockElement::SetPropertyValueCode($arFields["ID"], "ID_TOPIC", $result);
// return true
// mysql_query($SQL);
// return true;
}
return false;
}
} |