restructure webif similar to x-wrt
[openwrt/svn-archive/archive.git] / openwrt / package / webif / files / www / cgi-bin / webif / network-wlan-advanced.sh
1 #!/usr/bin/webif-page
2 <?
3 . /usr/lib/webif/webif.sh
4 load_settings "wireless"
5
6 FORM_wds="${wl0_wds:-$(nvram get wl0_wds)}"
7 LISTVAL="$FORM_wds"
8 handle_list "$FORM_wdsremove" "$FORM_wdsadd" "$FORM_wdssubmit" 'mac|FORM_wdsadd|WDS MAC address|required' && {
9 FORM_wds="$LISTVAL"
10 save_setting wireless wl0_wds "$FORM_wds"
11 }
12 FORM_wdsadd=${FORM_wdsadd:-00:00:00:00:00:00}
13
14 FORM_maclist="${wl0_maclist:-$(nvram get wl0_maclist)}"
15 LISTVAL="$FORM_maclist"
16 handle_list "$FORM_maclistremove" "$FORM_maclistadd" "$FORM_maclistsubmit" 'mac|FORM_maclistadd|WDS MAC address|required' && {
17 FORM_maclist="$LISTVAL"
18 save_setting wireless wl0_maclist "$FORM_maclist"
19 }
20 FORM_maclistadd=${FORM_maclistadd:-00:00:00:00:00:00}
21
22 if empty "$FORM_submit"; then
23 FORM_macmode="${wl0_macmode:-$(nvram get wl0_macmode)}"
24 FORM_lazywds=${wl0_lazywds:-$(nvram get wl0_lazywds)}
25 case "$FORM_lazywds" in
26 1|on|enabled) FORM_lazywds=1;;
27 *) FORM_lazywds=0;;
28 esac
29 FORM_wdstimeout=${wl0_wdstimeout:-$(nvram get wl0_wdstimeout)}
30 FORM_antdiv="${wl0_antdiv:-$(nvram get wl0_antdiv)}"
31 case "$FORM_antdiv" in
32 -1|auto) FORM_antdiv=-1;;
33 0|main|left) FORM_antdiv=0;;
34 1|aux|right) FORM_antdiv=1;;
35 3|diversity) FORM_antdiv=3;;
36 *) FORM_antdiv=-1;;
37 esac
38 FORM_distance="${wl0_distance:-$(nvram get wl0_distance)}"
39 else
40 SAVED=1
41
42 validate <<EOF
43 int|FORM_lazywds|Lazy WDS On/Off|required min=0 max=1|$FORM_lazywds
44 int|FORM_wdstimeout|WDS watchdog timeout|optional min=0 max=3600|$FORM_wdstimeout
45 int|FORM_distance|Distance|optional min=1|$FORM_distance
46 EOF
47 equal "$?" 0 && {
48 save_setting wireless wl0_lazywds "$FORM_lazywds"
49 save_setting wireless wl0_wdstimeout "$FORM_wdstimeout"
50 save_setting wireless wl0_macmode "$FORM_macmode"
51 save_setting wireless wl0_antdiv "$FORM_antdiv"
52 save_setting wireless wl0_distance "$FORM_distance"
53 }
54 fi
55
56 header "Network" "Advanced Wireless" "@TR<<Advanced Wireless Configuration>>" ' onLoad="modechange()"' "$SCRIPT_NAME"
57
58 cat <<EOF
59 <script type="text/javascript" src="/webif.js"></script>
60 <script type="text/javascript">
61
62 function modechange() {
63 var v = (value("macmode") == "allow") || (value("macmode") == "deny");
64 set_visible('mac_list', v);
65 }
66
67 </script>
68 EOF
69
70 display_form <<EOF
71 onchange|modechange
72 start_form|@TR<<WDS Connections>>
73 listedit|wds|$SCRIPT_NAME?|$FORM_wds|$FORM_wdsadd
74 end_form
75 start_form|@TR<<MAC Filter List>>
76 listedit|maclist|$SCRIPT_NAME?|$FORM_maclist|$FORM_maclistadd
77 end_form
78 start_form|@TR<<Settings>>
79 field|@TR<<Automatic WDS>>
80 select|lazywds|$FORM_lazywds
81 option|1|@TR<<Enabled>>
82 option|0|@TR<<Disabled>>
83 field|@TR<<WDS watchdog timeout>>
84 text|wdstimeout|$FORM_wdstimeout
85 field|@TR<<Filter Mode>>:
86 select|macmode|$FORM_macmode
87 option|disabled|@TR<<Disabled>>
88 option|allow|@TR<<Allow>>
89 option|deny|@TR<<Deny>>
90 field|@TR<<Antenna selection>>:
91 select|antdiv|$FORM_antdiv
92 option|-1|@TR<<Automatic>>
93 option|0|@TR<<Left>>
94 option|1|@TR<<Right>>
95 option|3|@TR<<Diversity>>
96 field|@TR<<Distance>>
97 text|distance|$FORM_distance
98 end_form
99 EOF
100
101 footer ?>
102 <!--
103 ##WEBIF:name:Network:250:Advanced Wireless
104 -->