Mercurial > prosody-hg
annotate plugins/mod_time.lua @ 14066:b085d32af140 13.0
prosody, prosodyctl: Load loader directly from source directory
This should ensure that loader.lua is loaded from the source directory
and does the right thing when installed with `make install`
There are currently three ways Prosody can be run:
- Directly from the source directory, like `./prosody`
- Installed with `make install`
- Installed into Lua paths with e.g. dh-lua or luarocks
In the first two cases, Lua search paths need to include the source
directory and ensure that `require "prosody.util.json"` ends up loading
`util/json.lua` relative to the installation (CFG_SOURCEDIR) or the
source checkout.
Finally, in the last case where Prosody resources are installed under the
'prosody.*' namespace in regular Lua search paths, then loader.lua should
activate the compatibility mode that makes sure that both
`require"util.json"` and `require"prosody.util.json"` both resolve to
`(one path from of package.path)/prosody/util/json.lua`
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 09 Feb 2026 16:59:42 +0100 |
| parents | 74b9e05af71e |
| children |
| rev | line source |
|---|---|
|
1523
841d61be198f
Remove version number from copyright headers
Matthew Wild <mwild1@gmail.com>
parents:
1513
diff
changeset
|
1 -- Prosody IM |
|
2923
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2012
diff
changeset
|
2 -- Copyright (C) 2008-2010 Matthew Wild |
|
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2012
diff
changeset
|
3 -- Copyright (C) 2008-2010 Waqas Hussain |
|
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
2923
diff
changeset
|
4 -- |
| 758 | 5 -- This project is MIT/X11 licensed. Please see the |
| 6 -- COPYING file in the source package for more information. | |
|
519
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
438
diff
changeset
|
7 -- |
|
cccd610a0ef9
Insert copyright/license headers
Matthew Wild <mwild1@gmail.com>
parents:
438
diff
changeset
|
8 |
|
12977
74b9e05af71e
plugins: Prefix module imports with prosody namespace
Kim Alvefur <zash@zash.se>
parents:
12635
diff
changeset
|
9 local st = require "prosody.util.stanza"; |
|
74b9e05af71e
plugins: Prefix module imports with prosody namespace
Kim Alvefur <zash@zash.se>
parents:
12635
diff
changeset
|
10 local datetime = require "prosody.util.datetime".datetime; |
|
74b9e05af71e
plugins: Prefix module imports with prosody namespace
Kim Alvefur <zash@zash.se>
parents:
12635
diff
changeset
|
11 local now = require "prosody.util.time".now; |
|
1513
5c62216dd516
mod_time Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
12 |
|
5c62216dd516
mod_time Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
13 -- XEP-0202: Entity Time |
|
5c62216dd516
mod_time Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
14 |
|
5c62216dd516
mod_time Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
15 module:add_feature("urn:xmpp:time"); |
|
5c62216dd516
mod_time Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
16 |
|
2012
12131e7d3c25
mod_time: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
17 local function time_handler(event) |
|
12131e7d3c25
mod_time: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
18 local origin, stanza = event.origin, event.stanza; |
|
9225
0ba963e82ac7
mod_time: Simplify iq handling by hooking on iq-get/ instead of iq/.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5776
diff
changeset
|
19 origin.send(st.reply(stanza):tag("time", {xmlns="urn:xmpp:time"}) |
|
0ba963e82ac7
mod_time: Simplify iq handling by hooking on iq-get/ instead of iq/.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5776
diff
changeset
|
20 :tag("tzo"):text("+00:00"):up() -- TODO get the timezone in a platform independent fashion |
|
12632
70ae68bb0aa5
mod_time: Return sub-second precision timestamps
Kim Alvefur <zash@zash.se>
parents:
9225
diff
changeset
|
21 :tag("utc"):text(datetime(now()))); |
|
9225
0ba963e82ac7
mod_time: Simplify iq handling by hooking on iq-get/ instead of iq/.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5776
diff
changeset
|
22 return true; |
|
2012
12131e7d3c25
mod_time: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
23 end |
|
12131e7d3c25
mod_time: Updated to use events (which also fixes a few minor issues).
Waqas Hussain <waqas20@gmail.com>
parents:
1523
diff
changeset
|
24 |
|
9225
0ba963e82ac7
mod_time: Simplify iq handling by hooking on iq-get/ instead of iq/.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5776
diff
changeset
|
25 module:hook("iq-get/bare/urn:xmpp:time:time", time_handler); |
|
0ba963e82ac7
mod_time: Simplify iq handling by hooking on iq-get/ instead of iq/.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5776
diff
changeset
|
26 module:hook("iq-get/host/urn:xmpp:time:time", time_handler); |
|
1513
5c62216dd516
mod_time Convert from Windows line endings
Matthew Wild <mwild1@gmail.com>
parents:
896
diff
changeset
|
27 |
