#!/bin/sh

. ../common/ajax_common

if [ "${PALANG}" = "en" ]; then
	LANG001="Success"		#ɹ
	LANG002="Add_IP_Note"	#IPע
fi


ipdesc_list()
{
	${FLOWEYE} macdesc list | awk \
	'BEGIN{
		dot="";
		printf "{";
	}{
		if (index($1, ".") < 1 ) next;

		printf "%s", dot;
		printf "\"%s\":\"%s\"", $1, $4;
		if(dot=="") dot=",";
	}END{
		printf "}";
	}'
}


ipdesc_set()
{
	[ "${CGI_ip}" = "" ] && retjson 1 "NO_IP"
	
	${FLOWEYE} macdesc set m=${CGI_ip} d=${CGI_desc}

	WEB_LOGGER "${LANG002:=IPע}" "IP=${CGI_ip}"
	retjson 0 "${LANG001:=ɹ}"
}


ipflow_list()
{
	[ "${CGI_type}" = "" ] && CGI_type="inner"
	[ "${CGI_appname}" != "" -a "${CGI_appname}" != "any" ] && args="app=${CGI_appname}"
	[ "${CGI_ipv6}" != "" ] && args="${args} ipv6=${CGI_ipv6}"

	end=$(( ${CGI_page} * ${CGI_limit} ))
	start=$(( ${end} - ${CGI_limit} ))

	${FLOWEYE} flow ipsort type=${CGI_type} ${args} | awk \
	-v start=${start} -v end=${end} \
	'BEGIN{
		row = 0;
		dot = "";
		printf "{\"data\":[";
	}{
		row++;
		if( row > end  || row < start ) next;

		col = 1;
		printf "%s", dot;
		printf "{";
		printf "\"ip\":\"%s\",", $1;
		printf "\"flow\":\"%s\"", $2;
		printf "}";

		if(dot == "") dot = ",";
	}END{
		printf "],\"total\":\"%s\"}", row;
	}'
}


flow_list()
{
	printf "{"
	printf "\"desc\":`ipdesc_list`,"
	printf "\"flow\":`ipflow_list`"
	printf "}"
}


case "${CGI_action}" in
	"flow_list")
		print_json_head
		flow_list
		;;

	"ipdesc_set")
		action_check
		ipdesc_set
		;;

	*)
		retjson 1 "UNKNOW_ACTION"
		;;
esac
