#!/bin/sh /etc/rc.common
START=20
UCI_CONFIG="app_guest"
CGI_ERROR_MSG="/tmp/cgi_error_msg"

boot() {
	ipset -N app_guest_all iphash
	start
}

start() {
	return
}
stop() {
	return
}
apply() {
	##### NEW GUEST
	new_guest=`uci fchanges new $UCI_CONFIG`
	[ -n "$new_guest" ] && {
		for elem in $new_guest; do
			shown_name=`uci get app_guest."$elem".shown_name`
			dup_list=""
			dup_list=`/sbin/app_guest_dup_check "$elem" "$shown_name"`
			if [ -n "$dup_list" ] ;then
				duped_name=`echo -n "$dup_list" |cut -d ' ' -f 1`
				in_group=`echo -n "$dup_list" |cut -d ' ' -f 2`
				echo -n "ERROR: Guest Name:($duped_name) is already existed in group($in_group)" >$CGI_ERROR_MSG
				uci delete $UCI_CONFIG.$elem
				exit 101
			fi
			[ "$reset_usage_deadline" = "enable" ] && uci set $UCI_CONFIG."$elem".reset_usage_deadline="disable"
		done
		uci commit $UCI_CONFIG
		exit 0
	}
	
	##### MODIFY GUEST
	mod_guest=`uci fchanges modify $UCI_CONFIG`
	[ -n "$mod_guest" ] && {
		for elem in $mod_guest; do
			reset_usage_deadline=`uci get app_guest."$elem".reset_usage_deadline`
			if [ "$reset_usage_deadline" = "enable" ] ;then
				uci set $UCI_CONFIG."$elem".show_first_login=""
				uci set $UCI_CONFIG."$elem".show_usage_deadline=""
				uci set $UCI_CONFIG."$elem".usage_time_deadline="0"
				uci set $UCI_CONFIG."$elem".reset_usage_deadline="disable"
			fi
		done
		uci commit $UCI_CONFIG
		exit 0
	}
	
	##### DELETE GUEST
	del_guest=`uci fchanges delete $UCI_CONFIG`
	[ -n "$del_guest" ] && {
		for elem in $del_guest; do
			uci delete $UCI_CONFIG.$elem
		done
		uci commit $UCI_CONFIG
		exit 0
	}
}
