bsw/jbe@1309: local id = param.get_id() bsw/jbe@1309: bsw/jbe@1309: local member_id = app.session.real_member_id or app.session.member_id bsw/jbe@1309: bsw/jbe@1309: if id then bsw/jbe@1309: local member = Member:by_id(id) bsw/jbe@1309: bsw/jbe@1309: if member.locked then bsw/jbe@1309: return bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: local agent = Agent:by_pk(member.id, member_id) bsw/jbe@1309: bsw/jbe@1309: if not agent then bsw/jbe@1309: return bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: local session = Session:new() bsw/jbe@1309: session.member_id = member.id bsw/jbe@1309: session.real_member_id = member_id bsw/jbe@1309: session:save() bsw/jbe@1309: bsw/jbe@1309: if not member.activated then bsw/jbe@1309: member.activated = "now" bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: member.last_login = "now" bsw/jbe@1309: member.last_activity = "now" bsw/jbe@1309: member.active = true bsw/jbe@1309: member:save() bsw/jbe@1309: bsw/jbe@1309: app.session:destroy() bsw/jbe@1309: bsw@1511: session:set_cookie() bsw@1511: bsw/jbe@1309: elseif app.session.real_member_id then bsw/jbe@1309: local session = Session:new() bsw/jbe@1309: session.member_id = app.session.real_member_id bsw/jbe@1309: session:save() bsw/jbe@1309: bsw/jbe@1309: app.session:destroy() bsw/jbe@1309: bsw@1511: session:set_cookie() bsw@1511: bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: if config.meta_navigation_home_url then bsw/jbe@1309: request.redirect{ external = config.meta_navigation_home_url } bsw/jbe@1309: else bsw/jbe@1309: request.redirect{ module = "index", view = "index" } bsw/jbe@1309: end