Создал класс, который создает csv файл и вписывает в него разделы из инфоблока каталога. Если запускать его просто так на какой-нибудь странице, то всё отрабатывает нормально и файл создается, но если код поместить в init.php, и повесить на агента https://yadi.sk/i/3U9QGbuvH_44Fw , то всё по идее отрабатывает, тк выводил в лог файл, но файл не создается .
Вот сам класс:
Вот сам класс:
Код |
---|
class SectionExportAgent{ public static function SectionExport(){ if(CModule::IncludeModule('iblock') and CModule::IncludeModule('fileman')){ $fp = fopen('sections_export.csv', 'w'); fwrite($fp, "ID_GROUP;IC_GROUP0;IC_GROUP1;IC_GROUP2". "\r\n"); $arFilter = Array('IBLOCK_ID'=>17, 'ACTIVE'=>'Y', 'DEPTH_LEVEL'=>1); $db_list = CIBlockSection::GetList(Array(), $arFilter, true); while($ar_result = $db_list->GetNext()) { $str=$ar_result['ID'].";".$ar_result['NAME'].";"; fwrite($fp, $str. "\r\n"); $rsParentSection = CIBlockSection::GetByID($ar_result['ID']); if ($arParentSection = $rsParentSection->GetNext()) { $arFilter2 = array('IBLOCK_ID' => $arParentSection['IBLOCK_ID'],'>LEFT_MARGIN' => $arParentSection['LEFT_MARGIN'],'<RIGHT_MARGIN' => $arParentSection['RIGHT_MARGIN'],'DEPTH_LEVEL' => 2); // выберет потомков без учета активности $rsSect = CIBlockSection::GetList(array('left_margin' => 'asc'),$arFilter2); while ($arSect = $rsSect->GetNext()) { $str=$arSect['ID'].";".$ar_result['NAME'].";".$arSect['NAME'].";"; fwrite($fp, $str. "\r\n"); $rsParentSection2 = CIBlockSection::GetByID($arSect['ID']); if ($arParentSection2 = $rsParentSection2->GetNext()) { $arFilter3 = array('IBLOCK_ID' => $arParentSection2['IBLOCK_ID'],'>LEFT_MARGIN' => $arParentSection2['LEFT_MARGIN'],'<RIGHT_MARGIN' => $arParentSection2['RIGHT_MARGIN'],'DEPTH_LEVEL' => 3); // выберет потомков без учета активности $rsSect2 = CIBlockSection::GetList(array('left_margin' => 'asc'),$arFilter3); while ($arSect2 = $rsSect2->GetNext()) { $str=$arSect2['ID'].";".$ar_result['NAME'].";".$arSect['NAME'].";".$arSect2['NAME'].";"; fwrite($fp, $str. "\r\n"); } } } } } fclose($fp); return 'SectionExportAgent::SectionExport();'; } else{ return 'SectionExportAgent::SectionExport();'; } } } |