Проблема с доступом через форму Office после добавление плагина на авто письмо после покупки

Подскажите почему конфликт с доступом.
Поставил Office и Hybridauth, все настроил, проблем нет, протестировал пользователь регистрируется, приходит письмо, вход в ЛК есть. Но есть решение на сайте Ильи Уткина, когда пользователь без регистрации делает покупки и ему приходит письмо кроме заказа также письмо о сгенерированном пароле и регистрации. Решил совместить эти два решения, пусть желающий сделать ЛК перед покупкой пройдет регу (тем более там только мыло нужно указать), но для тех кто сделает покупку без ЛК отправить письмо о логине и пароле и ссылку на вход в ЛК. Но при таком совместном использование плагина и Office, пользователь без предварительного создания ЛК при входе с почты получает ошибку 404. Подскажите может в настройках Office что-то надо еще подправить.
Плагин на письмо покупки без регистрации такой, поставлен на событие msOnChangeOrderStatus.
<?php
if ($modx->event->name == 'msOnChangeOrderStatus') {
	// Если статус заказа << Новый >>
        if ($status == 1) {
            $userId = $order->user_id;
            $objUser = $modx->getObject('modUser', $userId);
            $objProfile = $modx->getObject('modUserProfile', $userId);
            $time = time();
            $newUser = 10; // Сколько секунд пользователь считается новым
            
            if ($objUser && $objProfile) {
                $username = $objUser->get('username');
                $email = $objProfile->get('email');
                $createdon = strtotime($objUser->get('createdon')) + $newUser;
                $modx = new modX();
                $modx->initialize('mgr');
                $modx->getService('error','error.modError');
                
                if ($createdon > $time) {
                    $data = array(
                        'id' => $userId,
                        'username' => $username,
                        'email' => $email,
                        'newpassword' => 'passwordgenmethod', // любой набор символов
                        'passwordgenmethod' => 'g', // отдаём генерацию пароля MODX
                        'passwordnotifymethod'  => 'e', // письмо пользователю
                    );
                    
                    $response = $modx->runProcessor('/security/user/update', $data);
                    if ($response->isError()) {
                         $modx->log(modX::LOG_LEVEL_ERROR, 'Update error. Username: '.$username.', Message: '.$response->getMessage());
                    }
                }
            }
        }
}
Виталий
16 ноября 2022, 12:46
modx.pro
79
0

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0