Changeset 80
- Timestamp:
- 04/09/07 18:02:40 (2 years ago)
- Files:
-
- fon/trunk/bin/thinclient (modified) (1 diff)
- fon/trunk/etc/banner (modified) (1 diff)
- fon/trunk/etc/config/ntpservers (added)
- fon/trunk/etc/config/openports (added)
- fon/trunk/etc/config/webif (added)
- fon/trunk/etc/fon_revision (modified) (1 diff)
- fon/trunk/etc/fon_version (modified) (1 diff)
- fon/trunk/etc/functions.sh (modified) (1 diff)
- fon/trunk/etc/init.d/N45ntpclient (added)
- fon/trunk/etc/init.d/S45firewall (modified) (1 diff)
- fon/trunk/etc/init.d/rcS (modified) (2 diffs)
- fon/trunk/etc/sysctl.conf (modified) (1 diff)
- fon/trunk/usr/bin/webif-page (modified) (previous)
- fon/trunk/usr/lib/webif/advanced.sh (modified) (1 diff)
- fon/trunk/usr/lib/webif/form.awk (modified) (5 diffs)
- fon/trunk/usr/lib/webif/lang (added)
- fon/trunk/usr/lib/webif/lang/cn (added)
- fon/trunk/usr/lib/webif/lang/cn/fon.txt (added)
- fon/trunk/usr/lib/webif/lang/de (added)
- fon/trunk/usr/lib/webif/lang/de/fon.txt (added)
- fon/trunk/usr/lib/webif/lang/en (added)
- fon/trunk/usr/lib/webif/lang/en/fon.txt (added)
- fon/trunk/usr/lib/webif/lang/es (added)
- fon/trunk/usr/lib/webif/lang/es/fon.txt (added)
- fon/trunk/usr/lib/webif/lang/fr (added)
- fon/trunk/usr/lib/webif/lang/fr/fon.txt (added)
- fon/trunk/usr/lib/webif/lang/it (added)
- fon/trunk/usr/lib/webif/lang/it/fon.txt (added)
- fon/trunk/usr/lib/webif/lang/jp (added)
- fon/trunk/usr/lib/webif/lang/jp/fon.txt (added)
- fon/trunk/usr/lib/webif/lang/kr (added)
- fon/trunk/usr/lib/webif/lang/kr/fon.txt (added)
- fon/trunk/usr/lib/webif/validate.awk (modified) (11 diffs)
- fon/trunk/usr/lib/webif/webif.sh (modified) (8 diffs)
- fon/trunk/usr/sbin/adjtimex (added)
- fon/trunk/usr/sbin/ntpclient (added)
- fon/trunk/www/cgi-bin/splash.sh (modified) (3 diffs)
- fon/trunk/www/cgi-bin/status.sh (modified) (1 diff)
- fon/trunk/www/cgi-bin/webif/adv_net.sh (modified) (4 diffs)
- fon/trunk/www/cgi-bin/webif/adv_pf.sh (added)
- fon/trunk/www/cgi-bin/webif/adv_wifi.sh (modified) (5 diffs)
- fon/trunk/www/cgi-bin/webif/connection.sh (modified) (6 diffs)
- fon/trunk/www/cgi-bin/webif/language.sh (added)
- fon/trunk/www/cgi-bin/webif/password.sh (modified) (3 diffs)
- fon/trunk/www/cgi-bin/webif/private.sh (modified) (5 diffs)
- fon/trunk/www/cgi-bin/webif/public.sh (modified) (3 diffs)
- fon/trunk/www/cgi-bin/webif/upgrade.sh (modified) (11 diffs)
- fon/trunk/www/style.css (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
fon/trunk/bin/thinclient
r77 r80 19 19 WLMAC=$( ifconfig $wifi_ifname|grep HWaddr|sed -e "s/^.*HWaddr //" |sed -e "s/ //g" ) 20 20 WLMAC2=$( ifconfig $lan_ifname|grep HWaddr|sed -e "s/^.*HWaddr //" |sed -e "s/ //g" ) 21 ETMAC=$( ifconfig $wan_ifname|grep HWaddr|sed -e "s/^.*HWaddr //" |sed -e "s/ //g" )21 ETMAC=$( ifconfig eth0|grep HWaddr|sed -e "s/^.*HWaddr //" |sed -e "s/ //g" ) 22 22 23 23 FONREV="$(cat /etc/fon_revision)" fon/trunk/etc/banner
r77 r80 5 5 |___| 6 6 7 Fonera Firmware (Version 0.7. 0 rev 4) -------------7 Fonera Firmware (Version 0.7.1 rev 1) ------------- 8 8 * 9 9 * Based on OpenWrt - http://openwrt.org fon/trunk/etc/fon_revision
r77 r80 1 4 1 1 fon/trunk/etc/fon_version
r77 r80 1 0.7. 01 0.7.1 fon/trunk/etc/functions.sh
r77 r80 113 113 } 114 114 115 # 116 # This functions forwards a port. The next args are required: 117 # $1 = WAN interface 118 # $2 = Origin Port 119 # $3 = Destination IP 120 # $4 = Destination Port 121 # $5 = protocol used 122 # 123 # Example: open_port $WAN 8080 192.168.1.2 80 tcp 124 # 125 open_port() { 126 iptables -t nat -A prerouting_rule -i $1 -p $5 --dport $2 -j DNAT --to-destination $3:$4 127 pdots=`echo $4 | sed 's/-/:/g'` 128 iptables -A forwarding_rule -i $1 -p $5 --dport $pdots -d $3 -j ACCEPT 129 } fon/trunk/etc/init.d/S45firewall
r77 r80 106 106 # check if the connection is already up and add WAN_HOOK rules automatically 107 107 env -i ACTION=ifup INTERFACE=wan /bin/sh /etc/hotplug.d/iface/20-firewall 108 # 109 # Forwarded ports 110 # 111 /etc/config/openports $WAN fon/trunk/etc/init.d/rcS
r77 r80 22 22 23 23 while :; do 24 lock -w /var/run/restart-services 25 26 # just in case 27 lock -u /var/run/network-connection 28 killall lock 29 30 # grab the locks again 24 31 lock /var/run/restart-services 32 lock /var/run/network-connection 33 25 34 killall N50chillispot 26 35 killall chilli … … 29 38 ifup wan 30 39 /etc/init.d/S45firewall 40 41 lock -w /var/run/network-connection 31 42 for i in /etc/init.d/N*; do 32 43 $i start 2>&1 fon/trunk/etc/sysctl.conf
r77 r80 7 7 net.ipv4.tcp_timestamps=0 8 8 net.ipv4.tcp_vegas_cong_avoid=1 9 net.ipv4.ip_local_port_range=4096 8192 fon/trunk/usr/lib/webif/advanced.sh
r77 r80 2 2 <tr> 3 3 <td align=\"right\"><span class=\"submenu${sel_conn:+_sel}\"> 4 <a href=\"/cgi-bin/webif/connection.sh\"> Internet Connection</a>4 <a href=\"/cgi-bin/webif/connection.sh\">@TR<<Internet Connection>></a> 5 5 </span></td> 6 6 </tr> 7 7 <tr> 8 8 <td align=\"right\"><span class=\"submenu${sel_net:+_sel}\"> 9 <a href=\"/cgi-bin/webif/adv_net.sh\"> Network Settings</a>9 <a href=\"/cgi-bin/webif/adv_net.sh\">@TR<<Network Settings>></a> 10 10 </span></td> 11 11 </tr> 12 12 <tr> 13 13 <td align=\"right\"><span class=\"submenu${sel_wifi:+_sel}\"> 14 <a href=\"/cgi-bin/webif/adv_wifi.sh\"> Wireless Settings</a>14 <a href=\"/cgi-bin/webif/adv_wifi.sh\">@TR<<Wireless Settings>></a> 15 15 </span></td> 16 16 </tr> 17 18 <tr> 19 <td align=\"right\"><span class=\"submenu${sel_port_fw:+_sel}\"> 20 <a href=\"/cgi-bin/webif/adv_pf.sh\">@TR<<PF_Title|Port Forwarding>></a> 21 </span></td> 22 </tr> 23 17 24 <tr> 18 25 <td align=\"right\"><span class=\"submenu${sel_upgrade:+_sel}\"> 19 <a href=\"/cgi-bin/webif/upgrade.sh\"> Firmware Upgrade</a>26 <a href=\"/cgi-bin/webif/upgrade.sh\">@TR<<Firmware Upgrade>></a> 20 27 </span></td> 21 28 </tr> 29 22 30 " 31 32 fon/trunk/usr/lib/webif/form.awk
r77 r80 26 26 } 27 27 28 # trim leading whitespaces 28 # trim leading whitespaces 29 29 { 30 30 gsub(/^[ \t]+/,"",$1) … … 42 42 $1 ~ /^infotext/ { 43 43 close_field() 44 print "<p>@TR<<" $2 ">></p>" 44 print "<p >@TR<<" $2 ">></p>" 45 } 46 47 48 # 49 # Table issues 50 # 51 52 $1 ~/^infotable/ { 53 close_field() 54 print "<p class=\"tableText\">@TR<<" $2 ">></p>" 55 } 56 57 # 58 # $2: the summary of the table. 59 # 60 61 $1 ~ /^start_table/ { 62 close_field() 63 print "<TABLE border=\"" $2 "\" cellspacing=\"" $3 "\" cellpadding=\"" $4 "\" summary=\"" $5 "\">" 64 } 65 66 $1 ~ /^start_border_table/ { 67 close_field() 68 print " <tr><td bgcolor=\"FADCBF\">" 69 print " <table border=\"0\" cellspacing=\"0\" cellpadding=\"1\">" 70 print " <tr><td>" 71 print " <TABLE border=\"0\" cellspacing=\"0\" cellpadding=\"0\">" 72 } 73 74 $1 ~ /^end_border_table/ { 75 close_field() 76 print " </TABLE> " 77 print " </td></tr> " 78 print " </table> " 79 print " </td> </tr> " 80 } 81 82 $1 ~ /^end_table/ { 83 close_field() 84 print "</TABLE>" 85 } 86 87 # 88 # $2: The title of the table 89 # 90 $1 ~ /^table_caption/ { 91 close_field() 92 print "<tr><td ALIGN=\"CENTER\" class=\"tableText\"><EM>" $2 "</EM></TD></tr>" 93 } 94 95 # 96 # Begins a new row to the table 97 # 98 $1 ~ /^add_row/ { 99 close_field() 100 print "<TR>" 101 } 102 103 104 $1 ~ /^end_row/ { 105 close_field() 106 print "</TR>" 107 } 108 # 109 # Add a cell to the row: 110 # $2: height of the row 111 # $3: width of the row 112 # $4: text of the row 113 $1 ~ /^add_title_cell/ { 114 close_field() 115 print "<TD bgcolor=\"FADCBF\" class=\"tableText Bold\">@TR<<" $2 ">></TD>" 116 } 117 118 $1 ~ /^add_normal_cell/ { 119 close_field() 120 print "<TD bgcolor=\"ffffff\" class=\"tableText\">" $2 "</TD>" 121 } 122 123 $1 ~ /^add_label_cell/ { 124 close_field() 125 print "<TD valign=\"middle\" class=\"tableText\">" $2 "</TD>" 126 } 127 128 $1 ~ /^add_pass_cell/ { 129 close_field 130 print "<TD class=\"tableText\">" 131 print "<input id=\"" $2 "\" valign=\"middle\" type=\"password\" name=\"" $2 "\" class=\"" $3 "\" value=\"" $4 "\"/>" $5 132 print "</TD>" 133 } 134 135 $1 ~ /^start_select_cell/ { 136 opts = "" 137 if (onchange != "") opts = opts " onChange=\"" onchange "()\"" 138 print "<TD class=\"tableText\">" 139 print "<select id=\"" $2 "\" valign=\"middle\" name=\"" $2 "\" class=\"" $4 "\"" opts ">" 140 select_id = $2 141 select_open = 1 142 select_default = $3 143 } 144 145 $1 ~ /^end_select_cell/ { 146 close_field() 147 print " </select></td>" 148 } 149 150 $1 ~ /^add_input_cell/ { 151 print "<TD class=\"tableText\">" 152 print "<input id=\"" $2 "\" valign=\"middle\" type=\"text\" name=\"" $2 "\" value=\"" $3 "\" class=\"" $4 "\"/>" $5 153 print "</TD>" 154 155 } 156 157 $1 ~ /^add_button_cell/ { 158 close_field() 159 print "<TD class=\"tableText\">" 160 print "<label> </label><input type=\"submit\" name=\"" $2 "\" value=\"" $3 "\" class=\"plain_button_orange\" />" 161 print "</TD>" 162 163 } 164 165 $1 ~ /^add_check_cell/ { 166 opts="" 167 if (onchange != "") opts = opts " onClick=\"" onchange "()\" onChange=\"" onchange "()\"" 168 print "<TD class=\"tableText\">"$3 169 print "<input id=\"" $2 "\" type=\"checkbox\" name=\"" $2 "\" " opts " class=\"" $4 "\"/>" 170 print "</TD>" 171 } 172 173 # Draw a line 174 $1 ~ /^draw_line/ { 175 close_field() 176 print "<tr><td colspan=\"2\"><hr /></td></tr>" 45 177 } 46 178 … … 74 206 $1 ~ /^select/ { 75 207 opts = "" 76 if (onchange != "") opts = opts " onC lick=\"" onchange "()\" onChange=\"" onchange "()\""208 if (onchange != "") opts = opts " onChange=\"" onchange "()\"" 77 209 print "<select id=\"" $2 "\" name=\"" $2 "\"" opts ">" 78 210 select_id = $2 … … 92 224 $1 ~ /^text/ { print "<input id=\"" $2 "\" type=\"text\" name=\"" $2 "\" value=\"" $3 "\" />" $4 } 93 225 $1 ~ /^password/ { print "<input id=\"" $2 "\" type=\"password\" name=\"" $2 "\" value=\"" $3 "\" />" $4 } 94 $1 ~ /^submit/ { 95 close_field() 96 print "<label> </label><input type=\"submit\" name=\"" $2 "\" value=\"" $3 "\" class=\"plain_button_orange\" />"226 $1 ~ /^submit/ { 227 close_field() 228 print "<label> </label><input type=\"submit\" name=\"" $2 "\" value=\"" $3 "\" class=\"plain_button_orange\" />" 97 229 } 98 230 … … 104 236 close_field() 105 237 } 238 239 fon/trunk/usr/lib/webif/validate.awk
r77 r80 9 9 } 10 10 11 { 12 valid_type = 0 13 valid = 1 14 # XXX: weird hack, but it works... 15 n = split($0, param, "|") 16 value = param[5] 17 for (i = 6; i <= n; i++) value = value FS param[i] 18 verr = "" 11 { 12 valid_type = 0 13 valid = 1 14 if ( $0 ~ /[\\`\"\']/ ) { 15 valid = 0 16 verr = "@TR<<Invalid value>>" 17 } 18 else { 19 # XXX: weird hack, but it works... 20 n = split($0, param, "|") 21 value = param[5] 22 for (i = 6; i <= n; i++) value = value FS param[i] 23 verr = "" 24 } 19 25 } 20 26 … … 37 43 if ((ipaddr[i] == 255) && ($2 != "FORM_netmask")) counter++ 38 44 } 39 if (counter == 4) valid = 0 45 if (counter == 4) valid = 0 40 46 } 41 47 if (valid == 0) verr = "@TR<<Invalid value>>" … … 43 49 } 44 50 51 45 52 $1 == "wep" { 46 53 valid_type = 1 47 54 if (value !~ /^[0-9A-Fa-f]*$/) { 48 55 valid = 0 49 verr = "@TR<<Invalid value>>"56 verr = "@TR<<InvalidHex|You must use letters from 'A' to 'F' and numbers from 0 to 9.>>" 50 57 } else if ((length(value) != 0) && (length(value) != 10) && (length(value) != 26)) { 51 58 valid = 0 52 verr = " Invalid key length"59 verr = "@TR<<InvalidLength|The key has to be either 10 or 26 characters long>>" 53 60 } 54 61 } … … 70 77 } 71 78 $1 == "user" { 72 valid_type = 179 valid_type = 1 73 80 if (value ~ /[\<\>\&|;]/) { 74 81 valid = 0 … … 98 105 verr = "@TR<<Invalid value>>" 99 106 } 107 if (value > 65535) { 108 valid = 0 109 verr = "@TR<<Invalid value>>" 110 } 100 111 } 101 112 … … 115 126 if (length(value) > 64) { 116 127 valid = 0 117 verr = " String too long"128 verr = "@TR<<Long|The string is too long [8-64]>>" 118 129 } 119 130 if ((length(value) != 0) && (length(value) < 8)) { 120 131 valid = 0 121 verr = " String too short"132 verr = "@TR<<Sort|The string is too short [8-64]>>" 122 133 } 123 134 if ((length(value) == 64) && (value ~ /[^0-9a-fA-F]/)) { 124 135 valid = 0 125 verr = " Invalid hex key"136 verr = "@TR<<InvalidHex|Invalid hex key. Use only numbers from 0 to 9 and letters from a to f>>" 126 137 } 127 138 } … … 133 144 for (i = 1; (valid == 1) && (i <= n); i++) { 134 145 if (options[i] == "required") { 135 if (value == "") { valid = 0; verr = " No value entered" }146 if (value == "") { valid = 0; verr = "@TR<<NoValue|No value entered>>" } 136 147 } else if ((options[i] ~ /^min=/) && (value != "")) { 137 148 min = options[i] … … 139 150 min = int(min) 140 151 if ($1 == "int") { 141 if (value < min) { valid = 0; verr = " Value too small (minimum:" min ")" }152 if (value < min) { valid = 0; verr = "@TR<<TooSmallNumber|The value is too small (minimum: >>" min ")" } 142 153 } else if ($1 == "string") { 143 if (length(value) < min) { valid = 0; verr = " Value too small (minimum length:" min ")"}154 if (length(value) < min) { valid = 0; verr = "@TR<<TooSmallStr|The value is too short (minimum length: >>" min ")"} 144 155 } 145 156 } else if ((options[i] ~ /^max=/) && (value != "")) { … … 148 159 max = int(max) 149 160 if ($1 == "int") { 150 if (value > max) { valid = 0; verr = "@TR<<Value too large>> (@TR<<maximum>>: " max ")" }161 if (value > max) { valid = 0; verr = "@TR<<Value too big | The value is too big>> (@TR<<maximum>>: " max ")" } 151 162 } else if ($1 == "string") { 152 if (length(value) > max) { valid = 0; verr = "@TR<<String too long >> (@TR<<maximum>>: " max ")" }163 if (length(value) > max) { valid = 0; verr = "@TR<<String too long | The string is too long>> (@TR<<maximum>>: " max ")" } 153 164 } 154 165 } else if ((options[i] == "nodots") && ($1 == "hostname")) { … … 163 174 valid_type == 1 { 164 175 if (valid == 1) output = output $2 "=\"" value "\";\n" 165 else error = error " Error in" $3 ": " verr "<br />"176 else error = error "@TR<<Error in>> " $3 ": " verr "<br />" 166 177 } 167 178 … … 171 182 else print "return 255" 172 183 } 184 185 fon/trunk/usr/lib/webif/webif.sh
r77 r80 43 43 header() { 44 44 local title="$1" 45 45 46 46 empty "$ERROR" && { 47 47 _saved_title="${SAVED:+: @TR<<Settings saved>>}" … … 73 73 74 74 <center> 75 <table width="80%" BORDER="0" CELLPADDING="0" CELLSPACING="0" > 76 <tr> 77 <td background="/images/table/left.gif" valign="top"><img src="/images/table/top-left.gif" width="38" height="82"></td> 75 <table width="80%" BORDER="0" CELLPADDING="0" CELLSPACING="0" > 76 <tr> 77 <td background="/images/table/left.gif" valign="top"><img src="/images/table/top-left.gif" width="38" height="82"></td> 78 78 <td rowspan="2" valign="top" width="177"> 79 <!--NAVIGATION-->79 <!--NAVIGATION--> 80 80 <div id="sidebar"> 81 <table width="100%" border="0" CELLPADDING="0" CELLSPACING="0">82 <tr>83 <td rowspan="2" width="167" height="175"><IMG SRC="/images/table/logo.gif">84 <!--NAVIGATION BUTTONS-->85 <table>86 <tr><td>87 <div class="button_orange" style="float: left;">81 <table width="100%" border="0" CELLPADDING="0" CELLSPACING="0"> 82 <tr> 83 <td rowspan="2" width="167" height="175"><IMG SRC="/images/table/logo.gif"> 84 <!--NAVIGATION BUTTONS--> 85 <table> 86 <tr><td> 87 <div class="button_orange" style="float: left;"> 88 88 <div class="btnleft"></div> 89 89 <a href="/cgi-bin/status.sh"></a> 90 90 <div class="btncenter"> 91 <a href="/cgi-bin/status.sh"> Status</a>92 </div> 93 <div class="btnright"></div> 94 </div> 95 </td></tr> 96 <tr><td>97 <div class="button_orange" style="float: left;">91 <a href="/cgi-bin/status.sh">@TR<<Status>></a> 92 </div> 93 <div class="btnright"></div> 94 </div> 95 </td></tr> 96 <tr><td> 97 <div class="button_orange" style="float: left;"> 98 98 <div class="btnleft"></div> 99 99 <a href="/cgi-bin/webif/public.sh"></a> 100 100 <div class="btncenter"> 101 <a href="/cgi-bin/webif/public.sh"> Public WiFi</a>102 </div> 103 <div class="btnright"></div> 104 </div> 105 </td></tr> 106 <tr><td> 107 <div class="button_orange" style="float: left;">101 <a href="/cgi-bin/webif/public.sh">@TR<<Public WiFi>></a> 102 </div> 103 <div class="btnright"></div> 104 </div> 105 </td></tr> 106 <tr><td> 107 <div class="button_orange" style="float: left;"> 108 108 <div class="btnleft"></div> 109 109 <a href="/cgi-bin/webif/private.sh"></a> 110 110 <div class="btncenter"> 111 <a href="/cgi-bin/webif/private.sh"> Private WiFi</a>112 </div> 113 <div class="btnright"></div> 114 </div> 115 </td></tr> 116 <tr><td> 117 <div class="button_orange" style="float: left;">111 <a href="/cgi-bin/webif/private.sh">@TR<<Private WiFi>></a> 112 </div> 113 <div class="btnright"></div> 114 </div> 115 </td></tr> 116 <tr><td> 117 <div class="button_orange" style="float: left;"> 118 118 <div class="btnleft"></div> 119 119 <a href="/cgi-bin/webif/password.sh"></a> 120 120 <div class="btncenter"> 121 <a href="/cgi-bin/webif/password.sh">Change Password</a> 122 </div> 123 <div class="btnright"></div> 124 </div> 125 </td></tr> 126 <tr><td> 127 <div class="button_orange" style="float: left;"> 121 <a href="/cgi-bin/webif/password.sh">@TR<<Password>></a> 122 </div> 123 <div class="btnright"></div> 124 </div> 125 </td></tr> 126 <tr><td> 127 <div class="button_orange" style="float: left;"> 128 <div class="btnleft"></div> 129 <a href="/cgi-bin/webif/language.sh"></a> 130 <div class="btncenter"> 131 <a href="/cgi-bin/webif/language.sh">@TR<<Language>></a> 132 </div> 133 <div class="btnright"></div> 134 </div> 135 </td></tr> 136 <tr><td> 137 <div class="button_orange" style="float: left;"> 128 138 <div class="btnleft"></div> 129 139 <a href="/cgi-bin/webif/connection.sh"></a> 130 140 <div class="btncenter"> 131 <a href="/cgi-bin/webif/connection.sh"> Advanced</a>141 <a href="/cgi-bin/webif/connection.sh">@TR<<Advanced>></a> 132 142 </div> 133 143 <div class="btnright"></div> … … 135 145 </td></tr> 136 146 $ADV_SUBMENU 137 </table>147 </table> 138 148 <br /> 139 149 <br /> 140 </td>141 142 <td style="background: transparent url(/images/table/top.gif) repeat-x;" width="10"></td>143 144 </tr>145 <tr>146 <td background="/images/table/sidebar.gif"></td>147 </tr>150 </td> 151 152 <td style="background: transparent url(/images/table/top.gif) repeat-x;" width="10"></td> 153 154 </tr> 155 <tr> 156 <td background="/images/table/sidebar.gif"></td> 157 </tr> 148 158 </table> 149 159 </td> … … 152 162 <table width="100%"><tr> 153 163 <td> 154 <h1> @TR<<$title>>$_saved_title</h1>164 <h1><br/>@TR<<$title>>$_saved_title</h1> 155 165 </td> 156 166 <td align="right"> … … 158 168 </tr></table> 159 169 <!--END MENU CODE--> 160 </td> 161 <td background="/images/table/right.gif" valign="top"> 162 <img src="/images/table/top-right.gif" width="38" height="82"></td> 163 </tr> 164 <tr> 165 <td background="/images/table/left.gif" width="38"> </td> 166 <td valign="top">170 </td> 171 <td background="/images/table/right.gif" valign="top"> 172 <img src="/images/table/top-right.gif" width="38" height="82"></td> 173 </tr> 174 <tr> 175 <td background="/images/table/left.gif" width="38"> </td> 176 <td colspan="2" valign="top" style="background: transparent url(/images/Fonera.gif); background-position: 100% 100%; background-repeat: no-repeat; " > 167 177 <form method="post" action="$SCRIPT_NAME" enctype="multipart/form-data"> 168 178 <br /> … … 177 187 <br /> 178 188 </form> 179 < td valign="bottom" width="150">189 <!--td valign="bottom" width="150"> 180 190 <img src="/images/Fonera.gif" width="150" height="200"> 181 </td >182 </td> 183 <td background="/images/table/right.gif" width="3
