Цитата |
---|
Дмитрий Кривоногов написал: Bitrix\Main\EventManager::getInstance()->addEventHandler( "main", "OnBeforeEventAdd", ["MailEventHandler", "onBeforeEventAddHandler"] ); class MailEventHandler { static function onBeforeEventAddHandler(&$event, &$lid, &$arFields, &$message_id, &$files) { $pos = strripos($event, 'FORM_FILLING_'); if ($pos !== false) { if (!is_array($files)) $files = array(); foreach ($arFields as $key => $field) { if ($link = self::getLinkFromField($field)) { if ($arFile = self::getFileFromLink($link)) { $files[] = $arFile['FILE_ID']; } } } } } static function getLinkFromField($field) { $pos = strripos($field, 'form_show_file'); if ($pos !== false) { $str=strpos($field, "http"); $out=substr($field, $str); return ($out ?: false); } } static function getFileFromLink($link) { $uri = new \Bitrix\Main\Web\Uri($link); parse_str($uri->getQuery(), $query); return CFormResult::GetFileByHash($query["rid"], $query["hash"]); } } |
Здравствуйте Дмитрий.
Ваш код работает на нашем сайте, однако у меня к Вам возник следующий вопрос. Дело в том, что в виде вложения в письме приходит только один файл, а остальные файлы приходят в виде ссылок. Можно ли сделать так чтобы в виде вложений в письме были все файлы, которые прикреплены к форме?