#!/bin/sh

. ../common/ajax_common

if [ "${PALANG}" = "en" ]; then
	LANG001="Error"					#ʧ
	LANG002="Disable_Mobile_Record"	#ƶնͺʶ
	LANG003="Success"				#ɹ
	LANG004="Enable_Mobile_Record"	#ƶնͺʶ
fi


load_mobile_list()
{
    # while read count devid black devname
    ${FLOWEYE} mobile list type=device | sort -nr -k1 | awk \
    'BEGIN{
        dot = "";
        printf "[";
    }{
        devname = "";
        for(i = 4; i <= NF; i++)
            devname = sprintf("%s %s", devname, $i);
        col = 1;
        printf "%s{", dot;
        printf "\"count\":\"%s\",", $(col++);
        printf "\"devid\":\"%s\",", $(col++);
        printf "\"black\":\"%s\",", $(col++);
        printf "\"devname\":\"%s\"", devname;
        printf "}";
        if(dot == "") dot = ",";
    }END{
        printf "]";
    }'
}


load_mbip_list()
{
    # id devid ipaddr ltime devname
    ${FLOWEYE} mobile list devid=${CGI_devid} | awk \
    'BEGIN{
        dot = "";
        printf "[";
    }{
        devname = "";
        for(i = 5; i <= NF; i++)
            devname = sprintf("%s %s", devname, $i);
        col = 1;
        printf "%s{", dot;
        printf "\"id\":\"%s\",", $(col++);
        printf "\"devid\":\"%s\",", $(col++);
        printf "\"ipaddr\":\"%s\",", $(col++);
        printf "\"ltime\":\"%s\",", $(col++);
        printf "\"devname\":\"%s\"", devname;
        printf "}";
        if(dot == "") dot = ",";
    }END{
        printf "]";
    }'
}


disable_mobile()
{
    errmsg=`${FLOWEYE} mobile config setblack=${CGI_devid}`

    if [ $? -ne 0 ]; then
        retjson 1 "${LANG001:=ʧ}:${errmsg}"
    else
        WEB_LOGGER "${LANG002:=ƶնͺʶ}" "devname=${CGI_devname}"
        retjson 0 "${LANG003:=ɹ}"
    fi
}


enable_mobile()
{
    errmsg=`${FLOWEYE} mobile config unsetblack=${CGI_devid}`

    if [ $? -ne 0 ]; then
		retjson 1 "${LANG001:=ʧ}:${errmsg}"
    else
        WEB_LOGGER "${LANG004:=ƶնͺʶ}" "devname=${CGI_devname}"
        retjson 0 "${LANG003:=ɹ}"
    fi
}


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

    "disable_mobile")
        action_check
        disable_mobile
        ;;
    
    "enable_mobile")
        action_check
        enable_mobile
        ;;

    *)
        retjson 1 "UNKNOW_ACTION"
        ;;
esac
