UP...
Есть инфоблок новости у этого инфоблока есть дополнительное поле выподающий список из элементов списк форумов.
При добавление новости выбирается нужный из списка форумов, форум.
в файле оброботчика события /bitrix/php_interface/init.php
след. код:
Раньше все работало, сейчаз создается тема форума как и должно но без текста .
Я пробывал создовать вручную через запрос но текс темы не вставлялся, я пробовал создать тему и потом обновить сообщение чезер запрос или функцию но также безрезультатно.
Выполняешь в ручную запрос к phpmyadmin все меняется. парадокс?
$_SESSION[IDART] я обнуляю в файле /bitrix/header.php иначе битрикс прогонит код 2 раза.
Есть инфоблок новости у этого инфоблока есть дополнительное поле выподающий список из элементов списк форумов.
При добавление новости выбирается нужный из списка форумов, форум.
в файле оброботчика события /bitrix/php_interface/init.php
след. код:
Код |
---|
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; } } |
Раньше все работало, сейчаз создается тема форума как и должно но без текста .
Я пробывал создовать вручную через запрос но текс темы не вставлялся, я пробовал создать тему и потом обновить сообщение чезер запрос или функцию но также безрезультатно.
Выполняешь в ручную запрос к phpmyadmin все меняется. парадокс?
$_SESSION[IDART] я обнуляю в файле /bitrix/header.php иначе битрикс прогонит код 2 раза.