80 end |
80 end |
81 end |
81 end |
82 |
82 |
83 function load_roster(username, host) |
83 function load_roster(username, host) |
84 log("debug", "load_roster: asked for: "..username.."@"..host); |
84 log("debug", "load_roster: asked for: "..username.."@"..host); |
|
85 local roster; |
85 if hosts[host] and hosts[host].sessions[username] then |
86 if hosts[host] and hosts[host].sessions[username] then |
86 local roster = hosts[host].sessions[username].roster; |
87 roster = hosts[host].sessions[username].roster; |
87 if not roster then |
88 if not roster then |
88 log("debug", "load_roster: loading for new user: "..username.."@"..host); |
89 log("debug", "load_roster: loading for new user: "..username.."@"..host); |
89 roster = datamanager.load(username, host, "roster") or {}; |
90 roster = datamanager.load(username, host, "roster") or {}; |
90 if not roster[false] then roster[false] = { }; end |
91 if not roster[false] then roster[false] = { }; end |
91 hosts[host].sessions[username].roster = roster; |
92 hosts[host].sessions[username].roster = roster; |
|
93 hosts[host].events.fire_event("roster-load", username, host, roster); |
92 end |
94 end |
93 return roster; |
95 return roster; |
94 end |
96 end |
|
97 |
95 -- Attempt to load roster for non-loaded user |
98 -- Attempt to load roster for non-loaded user |
96 log("debug", "load_roster: loading for offline user: "..username.."@"..host); |
99 log("debug", "load_roster: loading for offline user: "..username.."@"..host); |
97 return datamanager.load(username, host, "roster") or {}; |
100 roster = datamanager.load(username, host, "roster") or {}; |
|
101 hosts[host].events.fire_event("roster-load", username, host, roster); |
|
102 return roster; |
98 end |
103 end |
99 |
104 |
100 function save_roster(username, host) |
105 function save_roster(username, host) |
101 log("debug", "save_roster: saving roster for "..username.."@"..host); |
106 log("debug", "save_roster: saving roster for "..username.."@"..host); |
102 if hosts[host] and hosts[host].sessions[username] and hosts[host].sessions[username].roster then |
107 if hosts[host] and hosts[host].sessions[username] and hosts[host].sessions[username].roster then |