#!/bin/sh

. ../common/ajax_common

if [ "${PALANG}" = "en" ]; then
	LANG001="Error"		#P2Pʶʧ
	LANG002="Error"		#WWWǿʧ
	LANG003="Error"		#Ѹǿʶʧ
	LANG004="Error"		#αIPʧ
	LANG005="Error"		#IPv6ʶ
	LANG006="Success"	#ɹ
	LANG007="Set_DPI"	#P2Pʶ
	LANG008="Set_DPI"	#WWWǿ
	LANG009="Set_DPI"	#Ѹǿʶ
	LANG010="Set_DPI"	#αIP
	LANG011="Set_DPI"	#IPv6ʶ
fi


load_dpi_stat()
{
    p2p_sntrack=`${FLOWEYE} dpi stat | grep "p2p_sntrack" | cut -d"=" -f2`
    http_trackdns=`${FLOWEYE} app get http | grep "trackdns" | cut -d"=" -f2`
    thunder_enable=`${FLOWEYE} thunder stat | grep "enable" | cut -d"=" -f2`
    ipverify_enable=`${FLOWEYE} ipobj stat | grep "ipverify_enable" | cut -d"=" -f2`
    ipv6_enable=`${FLOWEYE} v6flow stat | grep "enable=" | cut -d"=" -f2`

    printf "{"
    printf "\"p2p_sntrack\":${p2p_sntrack},"
    printf "\"ipv6_enable\":${ipv6_enable},"
    printf "\"http_trackdns\":${http_trackdns},"
    printf "\"thunder_enable\":${thunder_enable},"
    printf "\"ipverify_enable\":${ipverify_enable}"
    printf "}"
}


set_dpi_stat()
{
    case "${CGI_name}" in
        "p2p_sntrack")
            errmsg=`${FLOWEYE} dpi config p2p_sntrack=${CGI_enable}`
            [ $? -ne 0 ] &&retjson "${LANG001:=P2Pʶʧ}:${errmsg}"
            WEB_LOGGER "${LANG007:=P2Pʶ}" "enable=${CGI_enable}"
            sync_floweye "dpi config p2p_sntrack=${CGI_enable}"
            ;;

        "http_trackdns")
            errmsg=`${FLOWEYE} app set http trackdns=${CGI_enable}`
            [ $? -ne 0 ] &&retjson "${LANG002:=WWWǿʧ}:${errmsg}"
            WEB_LOGGER "${LANG008:=WWWǿ}" "enable=${CGI_enable}"
            sync_floweye "app set http trackdns=${CGI_enable}"
            ;;

        "thunder_enable")
            errmsg=`${FLOWEYE} thunder config enable=${CGI_enable}`
            [ $? -ne 0 ] &&retjson "${LANG003:=Ѹǿʶʧ}:${errmsg}"
            WEB_LOGGER "${LANG009:=Ѹǿʶ}" "enable=${CGI_enable}"
            sync_floweye "thunder config enable=${CGI_enable}"
            ;;

        "ipverify_enable")
            errmsg=`${FLOWEYE} ipobj config ipverify_enable=${CGI_enable}`
            [ $? -ne 0 ] &&retjson "${LANG004:=αIPʧ}:${errmsg}"
            WEB_LOGGER "${LANG010:=αIP}" "enable=${CGI_enable}"
            sync_floweye "ipobj config ipverify_enable=${CGI_enable}"
            ;;

        "ipv6_enable")
            errmsg=`${FLOWEYE} v6flow config enable=${CGI_enable}`
            [ $? -ne 0 ] &&retjson "${LANG005:=IPv6ʶ}:${errmsg}"
            WEB_LOGGER "${LANG011:=IPv6ʶ}" "enable=${CGI_enable}"
            sync_floweye "v6flow config enable=${CGI_enable}"
            ;;

        *)
            retjson 1 "UNKNOW_NAME"
            ;;
    esac

    retjson 0 "${LANG006:=ɹ}"
}


case "${CGI_action}" in
    "load_dpi_stat")
        retjson 0 "OK" "`load_dpi_stat`"
        ;;

    "set_dpi_stat")
        action_check
        set_dpi_stat
        ;;
    
    *)
        retjson 1 "UNKNOW_ACTION"
        ;;

esac
