Данный код можно вставить в макрос, если при совершении каких-то действий необходимо отправить пользователю письмо с подтверждением, уведомлением и т.п.
В модуле КАТАЛОГ в customMacros.php добавляем метод:
list($template_mail, $template_mail_subject) = $this->loadTemplates("./tpls/module/{$template}.tpl", "mailcontent_pay", "mail_pay_subject");
// получаем текущего пользователя
$permissions = permissionsCollection::getInstance();
$currentUserId = $permissions->getUserId();
$objects = umiObjectsCollection::getInstance();
$userObject = $objects->getObject($currentUserId);
$email = $userObject->getValue("e-mail");
$fio = $userObject->getValue("lname") . " " . $userObject->getValue("fname") . " " . $userObject->getValue("father_name");
$regedit = regedit::getInstance();
$email_from = $regedit->getVal("//settings/email_from");
$fio_from = $regedit->getVal("//settings/fio_from");
$mail_arr = Array();
$mail_arr['domain'] = $domain = $_SERVER['HTTP_HOST'];
$mail_arr['close_date'] = date("d.m.y", $close_time);
$mail_arr['io'] = $userObject->getValue("fname") . " " . $userObject->getValue("father_name");
$oldTemplaterMode = xslTemplater::getInstance()->setIsInited(false);
$mail_content = def_module::parseTemplate($template_mail, $mail_arr, false, $currentUserId);
xslTemplater::getInstance()->setIsInited($oldTemplaterMode);
$someMail = new umiMail();
$someMail->addRecipient($email, $fio);
$someMail->setFrom($email_from, $fio_from);
$someMail->setSubject($template_mail_subject);
$someMail->setPriorityLevel("highest");
$someMail->setContent($mail_content);
$someMail->commit();
$someMail->send();
Шаблон письма:
<?php
$FORMS = Array();
$FORMS['mailcontent_pay'] = <<<END
<p>Здравствуйте, %io%!<br />
Поздравляем!!! Вы теперь самый крутой клиент.</p>
<p>Ваша подписка действительна до %close_date%.</p>
<p>
С уважением,<br />
<b>Администрация сайта <a href="http://webevrika.ru">webevrika.ru</a></b>
</p>
END;
$FORMS['mail_pay_subject'] = "Подписка на платный контент";
?>