-- -- (C) 2014-24 - ntop.org -- if (pragma_once_lua_utils_print == true) then -- io.write(debug.traceback().."\n") -- avoid multiple inclusions return end pragma_once_lua_utils_print = true local clock_start = os.clock() local dscp_consts = require "dscp_consts" -- ############################################## function printGETParameters(get) for key, value in pairs(get) do io.write(key .. "=" .. value .. "\n") end end -- ############################################## function printASN(asn, asname) asname = asname:gsub('"', '') if (asn > 0) then return ("" .. asname .. " ") else return (asname) end end -- ############################################## function printIpVersionDropdown(base_url, page_params) local ipversion = _GET["version"] local ipversion_filter if not isEmptyString(ipversion) then ipversion_filter = '' else ipversion_filter = '' end -- table.clone needed to modify some parameters while keeping the original unchanged local ipversion_params = table.clone(page_params) ipversion_params["version"] = nil print [[\ \ ]] end -- ############################################## function printVLANFilterDropdown(base_url, page_params) local vlans = interface.getVLANsList() if vlans == nil then vlans = {VLANs = {}} end vlans = vlans["VLANs"] local ids = {} for _, vlan in ipairs(vlans) do ids[#ids + 1] = vlan["vlan_id"] end local vlan_id = _GET["vlan"] local vlan_id_filter = '' if not isEmptyString(vlan_id) then vlan_id_filter = '' end -- table.clone needed to modify some parameters while keeping the original unchanged local vlan_id_params = table.clone(page_params) vlan_id_params["vlan"] = nil print [[\ \ ]] end -- ############################################## function printDSCPDropdown(base_url, page_params, dscp_list, format_utils) local dscp = _GET["dscp"] local dscp_filter if not isEmptyString(dscp) then dscp_filter = '' else dscp_filter = '' end -- table.clone needed to modify some parameters while keeping the original unchanged local dscp_params = table.clone(page_params) dscp_params["dscp"] = nil -- Used to possibly remove tcp state filters when selecting a non-TCP l4 protocol local dscp_params_non_filter = table.clone(dscp_params) if dscp_params_non_filter["dscp"] then dscp_params_non_filter["dscp"] = nil end local ordered_dscp_list = {} for key, value in pairs(dscp_list) do local name = dscp_consts.dscp_descr(key) ordered_dscp_list[name] = {} ordered_dscp_list[name]["id"] = key ordered_dscp_list[name]["count"] = value.count end print [[\ \ ]] end -- ################################### local function sub_quotes_to_string(string_to_fix) return string_to_fix:gsub("%'", "‘") end -- ################################### function printHostPoolDropdown(base_url, page_params, host_pool_list, format_utils) local host_pools = require "host_pools" local host_pools_instance = host_pools:create() local host_pool = _GET["host_pool_id"] local host_pool_filter if not isEmptyString(host_pool) then host_pool_filter = '' else host_pool_filter = '' end -- table.clone needed to modify some parameters while keeping the original unchanged local host_pool_params = table.clone(page_params) host_pool_params["host_pool_id"] = nil -- Used to possibly remove tcp state filters when selecting a non-TCP l4 protocol local host_pool_params_non_filter = table.clone(host_pool_params) if host_pool_params_non_filter["host_pool_id"] then host_pool_params_non_filter["host_pool_id"] = nil end local ordered_host_pool_list = {} if host_pool then local id = tonumber(host_pool) if host_pool_list[id] then ordered_host_pool_list[id] = {} ordered_host_pool_list[id]["count"] = host_pool_list[id]["count"] end else for key, value in pairs(host_pool_list) do ordered_host_pool_list[key] = {} ordered_host_pool_list[key]["count"] = value.count end end print [[\ \ ]] end -- ################################### function printLocalNetworksDropdown(base_url, page_params) local networks_stats = interface.getNetworksStats() local ids = {} for n, local_network in pairs(networks_stats) do local network_name = getFullLocalNetworkName( local_network["network_key"]) ids[network_name] = local_network end local local_network_id = _GET["network"] local local_network_id_filter = '' if not isEmptyString(local_network_id) then local_network_id_filter = '' end -- table.clone needed to modify some parameters while keeping the original unchanged local local_network_id_params = table.clone(page_params) local_network_id_params["network"] = nil print [[\ \ ]] end -- ############################################## function printTrafficTypeFilterDropdown(base_url, page_params) local traffic_type = _GET["traffic_type"] local traffic_type_filter = '' if not isEmptyString(traffic_type) then traffic_type_filter = '' end -- table.clone needed to modify some parameters while keeping the original unchanged local traffic_type_params = table.clone(page_params) traffic_type_params["traffic_type"] = nil print [[\ \ ]] end function processColor(proc) if (proc == nil) then return ("") elseif (proc["average_cpu_load"] < 33) then return ("" .. proc["name"] .. "") elseif (proc["average_cpu_load"] < 66) then return ("" .. proc["name"] .. "") else return ("" .. proc["name"] .. "") end end -- print TCP flags function printTCPFlags(flags) print(formatTCPFlags(flags)) end -- ########################################### function printWarningAlert(message) print [[]] end -- ########################################### -- Banner format: {type="success|warning|danger", text="..."} function printMessageBanners(banners) for _, msg in ipairs(banners) do print [[
]]) if (msg.type == "warning") then print("" .. i18n("warning") .. ": ") elseif (msg.type == "danger") then print("" .. i18n("error") .. ": ") end print(msg.text) print [[
]] end end -- ############################################## function print_copy_button(id, data) print( '') print("") end -- ############################################## if (trace_script_duration ~= nil) then io.write(debug.getinfo(1, 'S').source .. " executed in " .. (os.clock() - clock_start) * 1000 .. " ms\n") end