-- -- (C) 2017 - ntop.org -- dirs = ntop.getDirs() package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path require "lua_utils" local host_pools_utils = require "host_pools_utils" if(ntop.isPro()) then package.path = dirs.installdir .. "/pro/scripts/lua/modules/?.lua;" .. package.path shaper_utils = require "shaper_utils" end sendHTTPHeader('text/html; charset=iso-8859-1') ntop.dumpFile(dirs.installdir .. "/httpdocs/inc/header.inc") active_page = "admin" dofile(dirs.installdir .. "/scripts/lua/inc/menu.lua") if not isAdministrator() then return end if _POST["edit_pools"] ~= nil then local config = paramsPairsDecode(_POST, true) for pool_id, pool_name in pairs(config) do -- create or rename host_pools_utils.createPool(ifId, pool_id, pool_name) if(interface.isBridgeInterface(ifId) == true) then -- create default shapers shaper_utils.setProtocolShapers(ifId, pool_id, shaper_utils.POOL_SHAPER_DEFAULT_PROTO_KEY, shaper_utils.DEFAULT_SHAPER_ID --[[ ingress shaper --]], shaper_utils.DEFAULT_SHAPER_ID --[[ egress shaper --]], true) -- Set only if the key does NOT exist end end -- Note: do not call reload here elseif _POST["pool_to_delete"] ~= nil then host_pools_utils.deletePool(ifId, _POST["pool_to_delete"]) interface.reloadHostPools() elseif (_POST["edit_members"] ~= nil) then local pool_to_edit = _POST["pool_id"] local config = paramsPairsDecode(_POST, true) -- This code handles member address changes -- delete old addresses for k,old_member in pairs(config) do if((not isEmptyString(old_member)) and (k ~= old_member)) then host_pools_utils.deleteFromPoll(ifId, pool_to_edit, old_member) end end -- add new addresses for new_member,k in pairs(config) do if k ~= new_member then host_pools_utils.addToPool(ifId, pool_to_edit, new_member) end end interface.reloadHostPools() elseif (_POST["member_to_delete"] ~= nil) then local pool_to_edit = _POST["pool_id"] host_pools_utils.deleteFromPoll(ifId, pool_to_edit, _POST["member_to_delete"]) interface.reloadHostPools() end function printPoolNameField(pool_id_str) print[[