Отправка пароля пользователю при оформлении заказа
Здравствуйте!
Необходимо осуществить отправку пароля пользователю при оформлении заказа в minishop2. По умолчанию такого функционала нет, в связи с чем менял класс minishop2.class.php, указав
Никто не реализовывал отправку пароля при офрмлении заказа незареганным пользователем? Может у кого-то есть идеи?
Необходимо осуществить отправку пароля пользователю при оформлении заказа в minishop2. По умолчанию такого функционала нет, в связи с чем менял класс minishop2.class.php, указав
$pass=rand();
$user = $this->modx->newObject('modUser', array('username' => $email, 'password' => md5($pass)));
$profile = $this->modx->newObject('modUserProfile', array('email' => $email, 'fullname' => $order['receiver'],'mobilephone'=>$pass));Тоесть, по сути, сохранял пароль в профиле пользователя в открытом виде. Это, конечно, плохо, но собирался повесить плагин на msOnCreateOrder, который бы сразу при отправке письма этот пароль стер из профиля. Но при попытке войти с данным паролем, выскакиеват сообщение что неправильны пароль. Может это из-за того, что хеш-класс пользователя modPBKDF2, а пароль шифруется в md5? Я не смог разобраться точно…Никто не реализовывал отправку пароля при офрмлении заказа незареганным пользователем? Может у кого-то есть идеи?
Комментарии: 5
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Правил файл /core/components/minishop2/model/minishop2/minishop2.class.php, функция getCustomerId теперь выглядит следующим образом:
Наверняка есть лишние моменты, но пример рабочий.
Но лучше, конечно, создать плагин на событие, например, msOnChangeOrderStatus:
Только еще нужно где-то отмечать, что пароль пользователю выслан, чтобы ему после каждого изменения статуса новый пароль не устанавливать.
Андрейпо умолчанию генерит пароль в 10 символов.
Естественно, код будет работать только после этого: