--
-- (C) 2013-24 - ntop.org
--
local dirs = ntop.getDirs()
package.path = dirs.installdir .. "/scripts/lua/modules/?.lua;" .. package.path
require "lua_utils_generic"
require "lua_utils_gui"
require "ntop_utils"
require "label_utils"
local delete_data_utils = require "delete_data_utils"
local template_utils = require "template_utils"
local ui_utils = require "ui_utils"
local page_utils = require("page_utils")
local is_system_interface = page_utils.is_system_view()
local page
if (_GET['page']) then
page = _GET['page']
-- if the user tries to get the export/delete page in system interface
-- then send him to the system interface default page
-- Same thing for the non system interface pages
if ((page == 'export' or page == 'delete') and is_system_interface) then
page = 'system_interface_data'
elseif ((page == 'inactive_interfaces_data' or page == 'system_interface_data') and not is_system_interface) then
page = 'export'
end
else
page = ternary(is_system_interface, 'system_interface_data', 'export')
end
local info = ntop.getInfo()
sendHTTPContentTypeHeader('text/html')
page_utils.print_header_and_set_active_menu_entry(page_utils.menu_entries.manage_data)
dofile(dirs.installdir .. "/scripts/lua/inc/menu.lua")
-- import the modals if we are inside system interface pages
if is_system_interface then
dofile(dirs.installdir .. "/scripts/lua/inc/manage_data.lua")
else
if _POST and table.len(_POST) > 0 and isAdministrator() then
if _POST["delete_active_if_data"] then
-- Data for the active interface can't be hot-deleted.
-- a restart of ntopng is required so we just mark the deletion.
delete_data_utils.request_delete_active_interface_data(_POST["ifid"])
print(
'
')
else -- we're deleting an host
local host_info = url2hostinfo(_POST)
local parts = split(host_info["host"], "/")
local res
if (#parts == 2) and (tonumber(parts[2]) ~= nil) then
res = delete_data_utils.delete_network(_POST["ifid"], parts[1],
parts[2],
host_info["vlan"] or 0)
else
res = delete_data_utils.delete_host(_POST["ifid"], host_info)
end
local err_msgs = {}
for what, what_res in pairs(res) do
if what_res["status"] ~= "OK" then
err_msgs[#err_msgs + 1] =
i18n(delete_data_utils.status_to_i18n(what_res["status"]))
end
end
if #err_msgs == 0 then
print(
'