liquid_feedback_frontend

view app/main/index/_action/reset_password.lua @ 1857:1c329811e47f

Allow to hide password reset and login recover feature
author bsw
date Sat Sep 17 21:32:10 2022 +0200 (20 months ago)
parents e7fc3fed1593
children
line source
1 trace.disable()
3 if config.hide_reset_password then
4 return
5 end
7 local secret = param.get("secret")
9 if not secret then
11 local member = Member:new_selector()
12 :add_where{ "login = ?", param.get("login") }
13 :add_where("password_reset_secret ISNULL OR password_reset_secret_expiry < now()")
14 :optional_object_mode()
15 :exec()
17 if member then
18 if not member.notify_email then
19 slot.put_into("error", _"Sorry, but there is not confirmed email address for your account. Please contact the administrator or support.")
20 return false
21 end
22 member:send_password_reset_mail()
23 end
25 slot.put_into("notice", _"Your request has been processed.")
27 else
28 local member = Member:new_selector()
29 :add_where{ "password_reset_secret = ?", secret }
30 :add_where{ "password_reset_secret_expiry > now()" }
31 :optional_object_mode()
32 :exec()
34 if not member then
35 slot.put_into("error", _"Reset code is invalid!")
36 return false
37 end
39 local password1 = param.get("password1")
40 local password2 = param.get("password2")
42 if password1 ~= password2 then
43 slot.put_into("error", _"Passwords don't match!")
44 return false
45 end
47 if #password1 < 8 then
48 slot.put_into("error", _"Passwords must consist of at least 8 characters!")
49 return false
50 end
52 member:set_password(password1)
53 member:save()
55 slot.put_into("notice", _"Password has been reset successfully")
57 end

Impressum / About Us