Спасибо Дмитрий! Но проблема была в другом. Пришлось права неавторизованным изменить в настройках формы.
20.12.2019 09:52:55
[QUOTE]Валентин Матвейчик написал:
Вот моё решение для модуля Веб-форм битрикса:[CODE] Bitrix\Main\EventManager::getInstance()->addEventHandler( "main" , "OnBeforeEventAdd" , [ "MailEventHandler" , "onBeforeEventAddHandler" ] ); class MailEventHandler { static function onBeforeEventAddHandler (& $event , & $lid , & $arFields , & $message_id , & $files ) { if (strpos( $event , 'FORM_FILLING_' ) !== false ) { if (!is_array( $files )) $files = []; foreach ( $arFields as $key => $field ) { if ( $link = self ::getLinkFromField( $field )) { if ( $arFile = self ::getFileFromLink( $link )) { $files [] = $arFile [ 'FILE_ID' ]; } } } } } static function getLinkFromField ( $field ) { preg_match( "/href=[\"'](.*form_show_file.*)[\"']/" , $field , $out ); return ( $out [ 1 ] ?: false ); } static function getFileFromLink ( $link ) { $uri = new \Bitrix\Main\Web\Uri( $link ); parse_str( $uri ->getQuery(), $query ); return CFormResult::GetFileByHash( $query [ "rid" ], $query [ "hash" ]); } } [/CODE]Этот код в init.php сделает так, что все файлы, которые выбрал пользователь попадут в атач письма (а не только как ссылка на скачивание). Работает именно с вебформами.[/QUOTE] Перестал работать этот способ. Не подскажите в чем может быть проблема? У Вас работает? |
|
|