Software /
code /
prosody-modules
File
mod_list_inactive/mod_list_inactive.lua @ 1294:bb1fb54360ab
mod_auth_any: Allows any username/password to connect
author | Waqas Hussain <waqas20@gmail.com>, Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 30 Jan 2014 20:31:18 -0500 |
parent | 1267:589991b148e8 |
child | 1496:cccb151a4cc5 |
line wrap: on
line source
-- Copyright (C) 2012-2013 Kim Alvefur local um = require "core.usermanager"; local sm = require "core.storagemanager"; local dm_load = require "util.datamanager".load; local multipliers = { d = 86400, -- day w = 604800, -- week m = 2629746, -- month y = 31556952, -- year } function module.command(arg) local items = {}; local host = arg[1]; assert(hosts[host], "Host "..tostring(host).." does not exist"); sm.initialize_host(host); um.initialize_host(host); local max_age, unit = assert(arg[2], "No time range given"):match("^(%d*)%s*([dwmy]?)"); max_age = os.time() - ( tonumber(max_age) or 1 ) * ( multipliers[unit] or 1 ); for user in um.users(host) do local last_active = dm_load(user, host, "lastlog"); last_active = last_active and last_active.timestamp or 0; local bare = user.."@"..host; if last_active < max_age then print(("user:delete%q"):format(bare)); end end end