#!/bin/sh

. ../common/ajax_common

if [ "${PALANG}" = "en" ]; then 
	LANG001="Error"		#ʧ
	LANG002="Success"	#ɹ
	LANG003="SET_TMPL_ACCT" #ʱ˺Ų
	LANG004="ADD_TMPL_ACCT"	#ʱ˺
	LANG005="DEL_TMPL_ACCT"	#ɾʱ˺
fi


load_pppoeacct_stat()
{
    . /${PGETC}/ifadmin.conf

    printf "{"
    printf "\"mgtip\":\"${ADMIN_IP}\""

    ${FLOWEYE} pppoeacct stat | awk -F"=" \
    '{
        printf ",\"%s\":\"%s\"", $1, $2;
    }'

    printf "}"
}



set_pppoeacct_stat()
{
    cmdarg="templogin_enable=${CGI_templogin_enable} tempuser_ttl0=${CGI_tempuser_ttl0} tempuser_ttl1=${CGI_tempuser_ttl1}"
    errmsg=`${FLOWEYE} pppoeacct config ${cmdarg}`

    if [ $? -ne 0 ]; then
        retjson 1 "${LANG001:=ʧ}:${errmsg}"
    else
        WEB_LOGGER "${LANG003:=ʱ˺Ų}" "${cmdarg}"
        retjson 0 "${LANG002:=ɹ}"
    fi
}


add_tmpl_acct()
{
	cmdarg="name=${CGI_user_name} passwd=${CGI_password} enable=1 maxonline=1"
	errmsg=`${FLOWEYE} pppoeacct add g=tmp ${cmdarg}`

    if [ $? -ne 0 ]; then
        retjson 1 "${LANG001:=ʧ}:${errmsg}"
    else
        WEB_LOGGER "${LANG004:=ʱ˺}" "${cmdarg}"
        retjson 0 "${LANG002:=ɹ}"
    fi
}


rmv_tmpl_acct()
{
    errmsg=`${FLOWEYE} pppoeacct remove name=${CGI_account}`

    if [ $? -ne 0 ]; then
        retjson 1 "${LANG001:=ʧ}:${errmsg}"
    else
        WEB_LOGGER "${LANG005:=ɾʱ˺}" "name=${CGI_account}"
        retjson 0 "${LANG002:=ɹ}"
    fi
}


check_webauth()
{
    if [ -d /usr/ramdisk/app/webauth2.0 ]; then
        errmsg=`/usr/ramdisk/app/webauth2.0/appctrl status`
        if [ "${errmsg}" = "disable" ]; then
            retjson 1 "web֤δ"
        else
            retjson 0 "web֤"
        fi
    else
        retjson 2 "web֤δװ"
    fi
}


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

    "set_pppoeacct_stat")
        action_check
        set_pppoeacct_stat
        ;;

    "load_tmpl_acct")
        retjson 0 "OK" "`load_tmpl_acct`"
        ;;

    "add_tmpl_acct")
        action_check
        add_tmpl_acct
        ;;
    
    "rmv_tmpl_acct")
        action_check
        rmv_tmpl_acct
        ;;

    "check_webauth")
        check_webauth
        ;;

    *)
        retjson 1 "UNKNOW_ACTION"
        ;;
esac
