Мне нужно самостоятельно подтверждать юзеров в дефолтном шаблоне отправляемого пользователю используется плейсхолдер [[+confirmUrl]].
Как показано в манeале, я сделал собственный хук , который при регистрации юзера шлет мне письмо, в нем мне нужно передавать ссылку на активацию.
$formFields = $hook->getValues();
$doc_num = $formFields['doc_num'];
$pass=$formFields['password'];
$Lu=rawurlencode(urlencode(base64_encode($hook->getValue('username'))));
$Lp=rawurlencode(urlencode(base64_encode(($pass))));
$confURL='http://www.site.ru/stroitelnaya-kompaniya/user-conf.html?lp='.$Lp.'&lu='.$Lu;
$message = 'Новый пользователь : '.$hook->getValue('username').'Gfhjkm : '.$pass.' Номер договора : '.$doc_num. ' Почта - email : '.$hook->getValue('email'). '<br /> Активировать пользователя ? <a href='.$confURL.'>ДА</a> '.$pass;
$modx->getService('mail', 'mail.modPHPMailer');
$modx->mail->set(modMail::MAIL_BODY,$message);
$modx->mail->set(modMail::MAIL_FROM,'Сайт СВС');
$modx->mail->set(modMail::MAIL_FROM_NAME,'svs_reg');
$modx->mail->set(modMail::MAIL_SENDER,'svs.com.ru');
$modx->mail->set(modMail::MAIL_SUBJECT,'Зарегистрирован новый пользователь раздела Трубецкое');
$modx->mail->address('to','[email protected]');
$modx->mail->setHTML(true);
if (!$modx->mail->send()) {
$modx->log(modX::LOG_LEVEL_ERROR,'An error occurred while trying to send the email: '.$err);
}
$modx->mail->reset();
/* tell our snippet we're good and can continue */
return true;
Я пытаюсь сгенерировать, ее сам, а юзеру слать письмо что его активируют после проверки его данных.
Проблема в том, что как с генерировать правильно lu переменную я нашел, а вот lp генерируется как то по другому и как я не могу найти.
Где посмотреть, как происходит генерация +confirmUrl или подскажите может, что как лучше сделать.
По идее если. бы можно было вызвать просто снимет. то в него можно было бы передать +confirmUrl, но в переменной валидатор просто указывается имя снипета, а не его вызов.