comparison mod_lastlog/mod_lastlog.lua @ 1493:d5e8758d391d

mod_lastlog: Fix traceback if no session included with event (eg from mod_register_web) (thanks biszkopcik)
author Kim Alvefur <zash@zash.se>
date Mon, 25 Aug 2014 00:38:14 +0200
parents 7dbde05b48a9
children
comparison
equal deleted inserted replaced
1492:8c4a2d85e8bf 1493:d5e8758d391d
8 local session = event.session; 8 local session = event.session;
9 if session.username then 9 if session.username then
10 datamanager.store(session.username, host, "lastlog", { 10 datamanager.store(session.username, host, "lastlog", {
11 event = "login"; 11 event = "login";
12 timestamp = time(), 12 timestamp = time(),
13 ip = log_ip and session.ip or nil, 13 ip = log_ip and session and session.ip or nil,
14 }); 14 });
15 end 15 end
16 end); 16 end);
17 17
18 module:hook("resource-unbind", function(event) 18 module:hook("resource-unbind", function(event)
19 local session = event.session; 19 local session = event.session;
20 if session.username then 20 if session.username then
21 datamanager.store(session.username, host, "lastlog", { 21 datamanager.store(session.username, host, "lastlog", {
22 event = "logout"; 22 event = "logout";
23 timestamp = time(), 23 timestamp = time(),
24 ip = log_ip and session.ip or nil, 24 ip = log_ip and session and session.ip or nil,
25 }); 25 });
26 end 26 end
27 end); 27 end);
28 28
29 module:hook("user-registered", function(event) 29 module:hook("user-registered", function(event)
30 local session = event.session; 30 local session = event.session;
31 datamanager.store(event.username, host, "lastlog", { 31 datamanager.store(event.username, host, "lastlog", {
32 event = "registered"; 32 event = "registered";
33 timestamp = time(), 33 timestamp = time(),
34 ip = log_ip and session.ip or nil, 34 ip = log_ip and session and session.ip or nil,
35 }); 35 });
36 end); 36 end);
37 37
38 38
39 if module:get_host_type() == "component" then 39 if module:get_host_type() == "component" then