comparison mod_firewall/mod_firewall.lua @ 966:a65df6e97d94

mod_firewall: Add time and date deps
author Matthew Wild <mwild1@gmail.com>
date Sat, 06 Apr 2013 14:02:38 +0100
parents d4e24fb289c0
children a88f33fe6970
comparison
equal deleted inserted replaced
965:d4e24fb289c0 966:a65df6e97d94
74 core_post_stanza = { global_code = [[local core_post_stanza = prosody.core_post_stanza]] }; 74 core_post_stanza = { global_code = [[local core_post_stanza = prosody.core_post_stanza]] };
75 zone = { global_code = function (zone) 75 zone = { global_code = function (zone)
76 assert(zone:match("^%a[%w_]*$"), "Invalid zone name: "..zone); 76 assert(zone:match("^%a[%w_]*$"), "Invalid zone name: "..zone);
77 return ("local zone_%s = zones[%q] or {};"):format(zone, zone); 77 return ("local zone_%s = zones[%q] or {};"):format(zone, zone);
78 end }; 78 end };
79 date_time = { global_code = [[local os_date = os.date]]; local_code = [[local current_date_time = os_date("*t");]] };
80 time = { local_code = function (what)
81 local defs = {};
82 for field in what:gmatch("%a+") do
83 table.insert(defs, ("local current_%s = current_date_time.%s;"):format(field, field));
84 end
85 return table.concat(defs, " ");
86 end, depends = { "date_time" }; };
79 }; 87 };
80 88
81 local function include_dep(dep, code) 89 local function include_dep(dep, code)
82 local dep, dep_param = dep:match("^([^:]+):?(.*)$"); 90 local dep, dep_param = dep:match("^([^:]+):?(.*)$");
83 local dep_info = available_deps[dep]; 91 local dep_info = available_deps[dep];