All pastes #154806 Raw Edit

Unnamed

public text v1 · immutable
#154806 ·published 2006-08-30 16:55 UTC
rendered paste body
#!/usr/bin/webif-page
<? 
. /usr/lib/webif/webif.sh
load_settings "wireless"

header "Network" "Advanced Wireless" "@TR<<Advanced Wireless Configuration>>" ' onLoad="modechange()"' "$SCRIPT_NAME"

#####################################################################
# defaults - ONLY used in the rare case these nvram variables are unset
# todo: maybe change to 84? 
DEFAULT_TXPWR=28
DEFAULT_AP_ISOLATE=0

#####################################################################
FORM_wds="${wl0_wds:-$(nvram get wl0_wds)}"
LISTVAL="$FORM_wds"
handle_list "$FORM_wdsremove" "$FORM_wdsadd" "$FORM_wdssubmit" 'mac|FORM_wdsadd|WDS MAC address|required' && {
	FORM_wds="$LISTVAL"
	save_setting wireless wl0_wds "$FORM_wds"
}
FORM_wdsadd=${FORM_wdsadd:-00:00:00:00:00:00}

#####################################################################
FORM_maclist="${wl0_maclist:-$(nvram get wl0_maclist)}"
LISTVAL="$FORM_maclist"
handle_list "$FORM_maclistremove" "$FORM_maclistadd" "$FORM_maclistsubmit" 'mac|FORM_maclistadd|WDS MAC address|required' && {
	FORM_maclist="$LISTVAL"
	save_setting wireless wl0_maclist "$FORM_maclist"
}
FORM_maclistadd=${FORM_maclistadd:-00:00:00:00:00:00}

#####################################################################
# initialize txpwr options
txpwr="1"
while [ "$txpwr" -le 251 ]; do
	VALID_TXPWR="${VALID_TXPWR}
	option|$txpwr"
	let "txpwr+=1"
done		
		
#####################################################################
# Initialize forms
if empty "$FORM_submit"; then
	FORM_macmode="${wl0_macmode:-$(nvram get wl0_macmode)}"
	FORM_isolate=${wl0_ap_isolate:-$(nvram get wl0_ap_isolate)}
	FORM_isolate=${FORM_isolate:-$DEFAULT_AP_ISOLATE}
	FORM_txpwr=${wl0_txpwr:-$(nvram get wl0_txpwr)}		
	FORM_txpwr=${FORM_txpwr:-$DEFAULT_TXPWR}	
	FORM_lazywds=${wl0_lazywds:-$(nvram get wl0_lazywds)}  		
	case "$FORM_lazywds" in
		1|on|enabled) FORM_lazywds=1;;
		*) FORM_lazywds=0;;
	esac		
else
#####################################################################
# save forms
	SAVED=1

	validate <<EOF
int|FORM_lazywds|Lazy WDS On/Off|required min=0 max=1|$FORM_lazywds
int|FORM_txpwr|Transmit Power (in mw)|required min=1 max=251|$FORM_txpwr
EOF
	equal "$?" 0 && {
		save_setting wireless wl0_lazywds "$FORM_lazywds"
		save_setting wireless wl0_macmode "$FORM_macmode"
		save_setting wireless wl0_txpwr "$FORM_txpwr"	
		# todo: currently don't save if verify on above failed.. decide on this	
		save_setting wireless wl0_ap_isolate "$FORM_isolate"
		save_setting wireless wl0_frameburst "$FORM_frameburst"
	}
fi

#####################################################################s
cat <<EOF
<script type="text/javascript" src="/webif.js"></script>
<script type="text/javascript">

function modechange() {
	var v = (value("macmode") == "allow") || (value("macmode") == "deny");
	set_visible('mac_list', v);	
}
</script>
EOF

#####################################################################s
display_form <<EOF
onchange|modechange
start_form|@TR<<WDS Connections>>
listedit|wds|$SCRIPT_NAME?|$FORM_wds|$FORM_wdsadd
end_form
start_form|@TR<<MAC Filter List>>
listedit|maclist|$SCRIPT_NAME?|$FORM_maclist|$FORM_maclistadd
end_form

start_form|@TR<<Settings>>

field|@TR<<Automatic WDS>>
select|lazywds|$FORM_lazywds
option|1|@TR<<Enabled>>
option|0|@TR<<Disabled>>

field|@TR<<Filter Mode>>
select|macmode|$FORM_macmode
option|disabled|@TR<<Disabled>>
option|allow|@TR<<Allow>>
option|deny|@TR<<Deny>>

field|@TR<<Frameburst>>
select|isolate|$FORM_frameburst
option|1|@TR<<Enabled>>
option|0|@TR<<Disabled>>

field|@TR<<Isolate WLAN clients>>
select|isolate|$FORM_isolate
option|1|@TR<<Enabled>>
option|0|@TR<<Disabled>>

field|@TR<<Transmit Power (in mw)>>
select|txpwr|$FORM_txpwr
$VALID_TXPWR

end_form
EOF

footer ?>
<!--
##WEBIF:name:Network:4:Advanced Wireless
-->