POST /stok=89eb18a6314226c045d82175589ff4a1/ds HTTP/1.1
Origin: http://192.168.0.1
Referer: http://192.168.0.1/
{“method”:”add”,”ipgroup”:{“table”:”rule_ipgroup”,”para”:{“flag”:”user”,”name”:”aa”,”rule_scope”:[“—“],”comment”:”aa”,”ref”:”0″}}}
register_module(“ipgroup”, “ipgroup”)
local e = require(“luci.model.uci”)
register_keyword_set_data(“ipgroup”, “rule_ipgroup”, “rule_ipgroup_set_data”)
register_keyword_add_data(“ipgroup”, “rule_ipgroup”, “rule_ipgroup_add_data”)
register_keyword_del_data(“ipgroup”, “rule_ipgroup”, “rule_ipgroup_del_data”)
function rule_ipgroup_add_data(t, l, l, l)
local r = e.ipgroup_table_count_get_by_key_value(“flag”, “user”)
local l = l:get_profile(“ipgroup”, “group_max”) or s
if t.flag == “user” and r >= l then return n.ETABLEFULL end
local l = e.ipgroup_table_entry_get_is_exist(“name”, t.name)
if l ~= false then return n.EENTRYEXIST end
t.flag = t.flag or “user”
t.comment = t.comment or “”
if t.comment ~= nil then t.comment = string.gsub(t.comment, “‘”, “””) end
if t.rule_scope == nil then t.rule_scope = {} end
if t.rule_ipgroup == nil then t.rule_ipgroup = {} end
e.ipgroup_table_entry_insert(t)
local _ = e.ipgroup_table_entry_get_is_exist(“name”, t.name, “id”)
local r = e.ipscope_table_entry_get_id_table_by_name(t.rule_scope)
for e = 1, #r do l[e] = r[e].id end
if #l > 0 then e.relation_table_entry_multi_insert(_[1].id, l) end
local r = e.ipgroup_table_entry_get_id_table_by_name(t.rule_ipgroup)
for e = 1, #r do l[e] = r[e].id end
if #l > 0 then e.group_relation_table_entry_multi_insert(_[1].id, l) end
ipgroup_after_proc(“add”)
return n.ENONE, {[“ipgroup”] = {[“name”] = t.name}}
|