250 -- Close all user sessions with the specified reason. If leave_resource is |
250 -- Close all user sessions with the specified reason. If leave_resource is |
251 -- true, the resource named by event.resource will not be closed. |
251 -- true, the resource named by event.resource will not be closed. |
252 local function disconnect_user_sessions(reason, leave_resource) |
252 local function disconnect_user_sessions(reason, leave_resource) |
253 return function (event) |
253 return function (event) |
254 local username, host, resource = event.username, event.host, event.resource; |
254 local username, host, resource = event.username, event.host, event.resource; |
|
255 if not (hosts[host] and hosts[host].type == "local") then |
|
256 return -- not a local VirtualHost so no sessions |
|
257 end |
255 local user = hosts[host].sessions[username]; |
258 local user = hosts[host].sessions[username]; |
256 if user and user.sessions then |
259 if user and user.sessions then |
257 for r, session in pairs(user.sessions) do |
260 for r, session in pairs(user.sessions) do |
258 if not leave_resource or r ~= resource then |
261 if not leave_resource or r ~= resource then |
259 session:close(reason); |
262 session:close(reason); |