Вызов формы
<button type="button" class="button" data-bs-toggle="modal" data-bs-target="#basicModal" >
<i class="fa fa-phone"></i> <span>Заказать звонок</span>
</button>
Добавить в Макет
<div class="modal fade" id="basicModal" tabindex="-1" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header"><button class="close" type="button" data-dismiss="modal">x</button> </div>
<div class="modal-body">
<?php
// add ФОРМА ЗАКАЗАТЬ ЗВОНОК
$oForm = Core_Entity::factory('Form', 5); // Заменить id формы
$Form_Controller_Show = new Form_Controller_Show($oForm);
if (!is_null(Core_Array::getPost($oForm->button_name)))
{
$Form_Controller_Show
->values($_POST + $_FILES)
// 0 - html, 1- plain text
->mailType(1)
->mailXsl(
Core_Entity::factory('Xsl')->getByName('ПисьмоКураторуФормы')
)
->mailFromFieldName('mail@spartika.ru')
->process();
// Отправляем письмо-подтверждение пользователю
$Form_Controller_Show1 = clone $Form_Controller_Show;
$sEmail = Core_Array::get($Form_Controller_Show1->values, 'email');
if (Core_Valid::email($sEmail)){
ob_start();
$Form_Controller_Show1
->xsl(
Core_Entity::factory('Xsl')->getByName($Form_Controller_Show1->mailType == 0 ? 'ПисьмоПодтверждениеПользователюФормыВФорматеHTML' : 'ПисьмоПодтверждениеПользователюФормы')
)
->show();
$sMailText = ob_get_clean();
if (mb_strpos($sMailText, 'ERROR TRUE') === FALSE){
$subject = 'Вами была заполнена форма обратного звока на сайте jvern.club';// Тема письма отредактировать
// При текстовой отправке нужно преобразовать HTML-сущности в символы
$Form_Controller_Show->mailType == 1 && $sMailText = html_entity_decode(strip_tags($sMailText), ENT_COMPAT, 'UTF-8');
$oCore_Mail = Core_Mail::instance()
->to($sEmail)
->from(EMAIL_TO)
->subject($subject)
->message(trim($sMailText))
->contentType($Form_Controller_Show->mailType == 0 ? 'text/html' : 'text/plain')
->header('X-HostCMS-Reason', 'Form');
// Массив содержащий пути прикрепленных файлов и их имена
$aForm_Fields = $oForm->Form_Fields->findAll();
foreach ($aForm_Fields as $oForm_Field){
if ($oForm_Field->type == 2){// File
$value = Core_Array::get($Form_Controller_Show->values, $oForm_Field->name);
if (!is_null($value)){
if (is_array($value) && $value['size'] > 0){
$oForm_Fill_Fields = Core_Entity::factory('Form_Fill_Field');
$oForm_Fill_Fields->queryBuilder()
->where('form_field_id', '=', $oForm_Field->id)
->where('value', '=', $value['name'])
->limit(1);
$aForm_Fill_Fields = $oForm_Fill_Fields->findAll();
if (isset($aForm_Fill_Fields[0])){
$oCore_Mail->attach(array(
'filepath' => $aForm_Fill_Fields[0]->getPath(),
'filename' => $value['name']
));
}
}
}
}
}
$oCore_Mail->send();
}
}
// END add
}
$Form_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName('ОтобразитьФорму')
)
->show();
?>
</div>
</div>
</div>
</div>