mirror of
https://github.com/sys4-fr/server-nalc.git
synced 2024-12-28 03:30:36 +01:00
34 lines
703 B
Lua
Executable File
34 lines
703 B
Lua
Executable File
|
|
--[[
|
|
plugindef = {
|
|
regex = "^/foo/bar/.*",
|
|
description = "My Awesome Plugin",
|
|
load_page = func(entry, player),
|
|
^ Must return text, allow_save
|
|
save_page = func(entry, player),
|
|
^ Must return bool
|
|
}
|
|
]]
|
|
|
|
local plugin_defs = { }
|
|
|
|
function wikilib.register_plugin(def)
|
|
plugin_defs[#plugin_defs + 1] = def
|
|
end
|
|
|
|
local function do_handle(what, entry, player, text)
|
|
for _,pi in ipairs(plugin_defs) do
|
|
if entry:match(pi.regex) then
|
|
return pi[what](entry, player, text)
|
|
end
|
|
end
|
|
end
|
|
|
|
function wikilib.plugin_handle_load(entry, player)
|
|
return do_handle("load_page", entry, player)
|
|
end
|
|
|
|
function wikilib.plugin_handle_save(entry, player, text)
|
|
return do_handle("save_page", entry, player, text)
|
|
end
|