#!/bin/sh

. ../common/ajax_common

WORKDIR="${RAMDISK}/tmp/sys_new"
CONFDIR="${PGETC}/web"

sys_check_result="${WORKDIR}/system_news.info"
sys_check_conf="${CONFDIR}/system_news_check.conf"

dpi_check_result="${WORKDIR}/system_dpi.info"
dpi_check_conf="${CONFDIR}/system_dpi_check.conf"

app_check_result="${WORKDIR}/system_app.info"
app_check_conf="${CONFDIR}/system_app_check.conf"


load_module_stat()
{
    local check_type=$1
    local info_path=$2
    local check_conf=$3
    
    printf "{"
    printf "\"type\":\"${check_type}\""

    if [ -f ${info_path} ]; then
        awk -F"=" \
        '{
            gsub("\"", "", $2);
            printf ",\"%s\":\"%s\"", $1, $2;
        }' ${info_path}
    fi

    if [ -f ${check_conf} ]; then
        awk -F"=" \
        '{
            printf ",\"%s\":\"%s\"", $1, $2;
        }' ${check_conf}
    fi

    printf "}"
}


load_upgrade_check()
{
    printf "["
    load_module_stat sys ${sys_check_result} ${sys_check_conf}

    printf ","
    load_module_stat dpi ${dpi_check_result} ${dpi_check_conf}

    printf ","
    load_module_stat app ${app_check_result} ${app_check_conf}

    printf "]"
}


set_sys_conf()
{
    mkdir -p ${CONFDIR}

    echo "enable=${CGI_enable}" > ${sys_check_conf}
    echo "notice=${CGI_notice}" >> ${sys_check_conf}

    ${WEBUICTL} start sys_new_check > /dev/null 2>&1 &

    WEB_LOGGER "ϵͳ¼" "enable=${CGI_enable} notice=${CGI_notice}"
    retjson 0 "ɹ"
}


set_dpi_conf()
{
    mkdir -p ${CONFDIR}

    echo "enable=${CGI_enable}" > ${dpi_check_conf}
    echo "upgrade=${CGI_upgrade}" >> ${dpi_check_conf}
    echo "notice=${CGI_notice}" >> ${dpi_check_conf}

    ${WEBUICTL} start sys_new_check > /dev/null 2>&1 &

    WEB_LOGGER "¼" "enable=${CGI_enable} notice=${CGI_notice}"
    retjson 0 "ɹ"
}


set_app_conf()
{
    mkdir -p ${CONFDIR}

    echo "enable=${CGI_enable}" > ${app_check_conf}
    echo "upgrade=${CGI_upgrade}" >> ${app_check_conf}
    echo "notice=${CGI_notice}" >> ${app_check_conf}

    ${WEBUICTL} start sys_new_check > /dev/null 2>&1 &

    WEB_LOGGER "APP¼" "enable=${CGI_enable} notice=${CGI_notice}"
    retjson 0 "ɹ"
}


now_upgrade_check()
{
    SCRIPT="${RAMDISK}/app/webui/bin/system_news_check"
    [ ! -x ${SCRIPT} ] && retjson 1 "ʧ,ļ쳣"

    if [ "${CGI_type}" != "sys" -a "${CGI_type}" != "dpi" -a "${CGI_type}" != "app" ]; then
        retjson 1 "Ч"
    fi

    ${SCRIPT} "get_${CGI_type}_news" > /dev/null 2>&1 &
    sleep 2

    retjson 0 "ɹ"
}


case "${CGI_action}" in

    "load_upgrade_check")
        retjson 0 "OK" "`load_upgrade_check`"
        ;;

    "set_sys_conf")
        action_check
        set_sys_conf
        ;;

    "set_dpi_conf")
        action_check
        set_dpi_conf
        ;;

    "set_app_conf")
        action_check
        set_app_conf
        ;;
        
    "now_upgrade_check")
        action_check
        now_upgrade_check
        ;;

    *)
        retjson 1 "UNKNOW_ACTION"
        ;;

esac
