-- -- (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[[
]] print[[]] print[[
]] print[[
]] end function printMemberNameField(member_str, origin_value_str) print[[
]] print[[]] print[[
]] print[[
]] end function printMemberVlanField(member_str) print[[
]] print[[]] print[[
]] print[[
]] end -------------------------------------------------------------------------------- local selected_pool_id = _GET["pool"] local available_pools = {} for _, pool_id in host_pools_utils.listPools(ifId) do available_pools[#available_pools + 1] = {id=pool_id, name=host_pools_utils.getPoolName(ifId, pool_id)} end if tonumber(selected_pool_id) == nil then if #available_pools > 0 then selected_pool_id = available_pools[1].id else selected_pool_id = "0" end end -------------------------------------------------------------------------------- print [[

]] print(i18n("host_pools.edit_host_pools")) print[[


]] print('
') print(i18n("host_pools.pool")) print(': \n') print[[

]] print[[




]] -------------------------------------------------------------------------------- print[[ ]] -- ==== Manage tab ==== print [[ ]] -- ==== Create tab ==== print [[ ]] print[[ ]] dofile(dirs.installdir .. "/scripts/lua/inc/footer.lua")