Software /
code /
prosody-modules
Comparison
mod_client_management/mod_client_management.lua @ 5650:1571c280aaef
mod_client_management: Show timestamp of first client appearance
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Wed, 16 Aug 2023 11:17:28 +0200 |
parent | 5607:c799b460f9f0 |
child | 5668:f16edebb1305 |
comparison
equal
deleted
inserted
replaced
5649:f889ff779571 | 5650:1571c280aaef |
---|---|
435 local clients = mod.get_active_clients(username); | 435 local clients = mod.get_active_clients(username); |
436 if not clients or #clients == 0 then | 436 if not clients or #clients == 0 then |
437 return true, "No clients associated with this account"; | 437 return true, "No clients associated with this account"; |
438 end | 438 end |
439 | 439 |
440 local function date_or_time(last_seen) | |
441 return last_seen and os.date(os.difftime(os.time(), last_seen) >= 86400 and "%Y-%m-%d" or "%H:%M:%S", last_seen); | |
442 end | |
443 | |
440 local colspec = { | 444 local colspec = { |
441 { title = "ID"; key = "id"; width = "1p" }; | 445 { title = "ID"; key = "id"; width = "1p" }; |
442 { | 446 { |
443 title = "Software"; | 447 title = "Software"; |
444 key = "user_agent"; | 448 key = "user_agent"; |
445 width = "1p"; | 449 width = "1p"; |
446 mapper = user_agent_tostring; | 450 mapper = user_agent_tostring; |
447 }; | 451 }; |
448 { | 452 { |
453 title = "First seen"; | |
454 key = "first_seen"; | |
455 width = math.max(#os.date("%Y-%m-%d"), #os.date("%H:%M:%S")); | |
456 align = "right"; | |
457 mapper = date_or_time; | |
458 }; | |
459 { | |
449 title = "Last seen"; | 460 title = "Last seen"; |
450 key = "last_seen"; | 461 key = "last_seen"; |
451 width = math.max(#os.date("%Y-%m-%d"), #os.date("%H:%M:%S")); | 462 width = math.max(#os.date("%Y-%m-%d"), #os.date("%H:%M:%S")); |
452 align = "right"; | 463 align = "right"; |
453 mapper = function(last_seen) | 464 mapper = date_or_time; |
454 return last_seen and os.date(os.difftime(os.time(), last_seen) >= 86400 and "%Y-%m-%d" or "%H:%M:%S", last_seen); | |
455 end; | |
456 }; | 465 }; |
457 { | 466 { |
458 title = "Authentication"; | 467 title = "Authentication"; |
459 key = "active"; | 468 key = "active"; |
460 width = "2p"; | 469 width = "2p"; |