We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 37783
    • 85 Posts
    Мне нужно самостоятельно подтверждать юзеров в дефолтном шаблоне отправляемого пользователю используется плейсхолдер [[+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, но в переменной валидатор просто указывается имя снипета, а не его вызов.