From d4b107a07f952055b925d31c6984b64a40bb3f8f Mon Sep 17 00:00:00 2001 From: billz Date: Sun, 19 Mar 2023 15:27:12 +0100 Subject: [PATCH 01/10] Initial commit --- ajax/networking/get_frequencies.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 ajax/networking/get_frequencies.php diff --git a/ajax/networking/get_frequencies.php b/ajax/networking/get_frequencies.php new file mode 100644 index 00000000..3d2a48d9 --- /dev/null +++ b/ajax/networking/get_frequencies.php @@ -0,0 +1,27 @@ +0) { + $flags += NL80211_BAND_24GHZ; + } + if (count(preg_grep('/^5[0-9]{3}/i', $frequencies)) >0) { + $flags += NL80211_BAND_5GHZ; + } + echo json_encode($flags); +} + From 67bf364b04638e8889555745a0450967d3301578 Mon Sep 17 00:00:00 2001 From: billz Date: Sun, 19 Mar 2023 16:44:18 +0100 Subject: [PATCH 02/10] Add function getTooltip() --- includes/functions.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/includes/functions.php b/includes/functions.php index 2971a329..6ab8a40a 100755 --- a/includes/functions.php +++ b/includes/functions.php @@ -792,3 +792,14 @@ function get_public_ip() return $public_ip[0]; } +/* Returns a standardized tooltip + * + * @return string $tooltip + */ +function getTooltip($msg, $id, $visible = true) +{ + ($visible) ? $opt = 'visible' : $opt = 'invisible'; + $tooltip = ''; + return $tooltip; +} + From 2bfbbd4a47e258590c0db9c598527bb221a3bab0 Mon Sep 17 00:00:00 2001 From: billz Date: Sun, 19 Mar 2023 16:45:09 +0100 Subject: [PATCH 03/10] Update templates w/ getTooltip(), add setHardwareModeTooltip --- templates/hostapd/advanced.php | 2 +- templates/hostapd/basic.php | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/templates/hostapd/advanced.php b/templates/hostapd/advanced.php index 89d90c72..916b3308 100644 --- a/templates/hostapd/advanced.php +++ b/templates/hostapd/advanced.php @@ -56,7 +56,7 @@
- "> + diff --git a/templates/hostapd/basic.php b/templates/hostapd/basic.php index 90fd18d2..77475b27 100644 --- a/templates/hostapd/basic.php +++ b/templates/hostapd/basic.php @@ -4,7 +4,7 @@
@@ -17,6 +17,7 @@
+ Date: Sun, 19 Mar 2023 16:45:56 +0100 Subject: [PATCH 04/10] Return messages from ajax handler for gettext locale support --- ajax/networking/get_frequencies.php | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/ajax/networking/get_frequencies.php b/ajax/networking/get_frequencies.php index 3d2a48d9..ea78cd45 100644 --- a/ajax/networking/get_frequencies.php +++ b/ajax/networking/get_frequencies.php @@ -22,6 +22,20 @@ if (isset($_POST['interface'])) { if (count(preg_grep('/^5[0-9]{3}/i', $frequencies)) >0) { $flags += NL80211_BAND_5GHZ; } - echo json_encode($flags); + + switch ($flags) { + case NL80211_BAND_24GHZ: + $msg = _("The selected interface has support for the 2.4 GHz wireless band only."); + break; + case NL80211_BAND_5GHZ: + $msg = _("The selected interface has support for the 2.4 GHz wireless band only."); + break; + case NL80211_BAND_24GHZ | NL80211_BAND_5GHZ: + $msg = _("The selected interface has support for both the 2.4 and 5 GHz wireless bands."); + break; + default: + $msg = _("The selected interface does not support wireless mode operation."); + } + echo json_encode($msg); } From 01af3d1c522abe37454faf70686546454c9921b6 Mon Sep 17 00:00:00 2001 From: billz Date: Sun, 19 Mar 2023 16:47:30 +0100 Subject: [PATCH 05/10] Add setHardwareModeTooltip(), fix webmanifest src attr --- app/icons/site.webmanifest | 2 +- app/js/custom.js | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/app/icons/site.webmanifest b/app/icons/site.webmanifest index 321ab7db..5d0d01c4 100644 --- a/app/icons/site.webmanifest +++ b/app/icons/site.webmanifest @@ -3,7 +3,7 @@ "short_name": "RaspAP", "icons": [ { - "src": "/dist/icons/android-chrome-192x192.png", + "src": "/app/icons/android-chrome-192x192.png", "sizes": "192x192", "type": "image/png" } diff --git a/app/js/custom.js b/app/js/custom.js index 6483614b..4615ebb9 100644 --- a/app/js/custom.js +++ b/app/js/custom.js @@ -183,6 +183,7 @@ function contentLoaded() { break; case "hostapd_conf": loadChannel(); + setHardwareModeTooltip(); break; case "dhcpd_conf": loadInterfaceDHCPSelect(); @@ -387,6 +388,17 @@ function loadChannelSelect(selected) { }); } +/* Sets hardware mode tooltip text for selected interface. + * Messages are sent from ajax request for gettext locale support. + */ +function setHardwareModeTooltip() { + var iface = $('#cbxinterface').val(); + $.post('ajax/networking/get_frequencies.php?',{'interface': iface},function(data){ + responseText = JSON.parse(data); + $('#tiphwmode').attr('data-original-title', responseText); + }); +} + /* Updates the selected blocklist * Request is passed to an ajax handler to download the associated list. * Interface elements are updated to indicate current progress, status. From d5eb3c510e38f16053ffdb3e319838c143351008 Mon Sep 17 00:00:00 2001 From: billz Date: Sun, 19 Mar 2023 16:47:55 +0100 Subject: [PATCH 06/10] Update en_US locale w/ new messsages --- includes/firewall.php | 0 includes/get_clients.php | 0 includes/wireguard.php | 0 locale/en_US/LC_MESSAGES/messages.po | 12 ++++++++++++ 4 files changed, 12 insertions(+) mode change 100644 => 100755 includes/firewall.php mode change 100644 => 100755 includes/get_clients.php mode change 100644 => 100755 includes/wireguard.php diff --git a/includes/firewall.php b/includes/firewall.php old mode 100644 new mode 100755 diff --git a/includes/get_clients.php b/includes/get_clients.php old mode 100644 new mode 100755 diff --git a/includes/wireguard.php b/includes/wireguard.php old mode 100644 new mode 100755 diff --git a/locale/en_US/LC_MESSAGES/messages.po b/locale/en_US/LC_MESSAGES/messages.po index 1b51ca08..3c080d86 100644 --- a/locale/en_US/LC_MESSAGES/messages.po +++ b/locale/en_US/LC_MESSAGES/messages.po @@ -585,6 +585,18 @@ msgstr "Sets the txpower option for the AP interface and the config msgid "dBm is a unit of level used to indicate that a power ratio is expressed in decibels (dB) with reference to one milliwatt (mW). 30 dBm is equal to 1000 mW, while 0 dBm equals 1.25 mW." msgstr "dBm is a unit of level used to indicate that a power ratio is expressed in decibels (dB) with reference to one milliwatt (mW). 30 dBm is equal to 1000 mW, while 0 dBm equals 1.25 mW." +msgid "The selected interface has support for the 2.4 GHz wireless band only." +msgstr "The selected interface has support for the 2.4 GHz wireless band only." + +msgid "The selected interface has support for the 2.4 GHz wireless band only." +msgstr "The selected interface has support for the 2.4 GHz wireless band only." + +msgid "The selected interface has support for both the 2.4 and 5 GHz wireless bands." +msgstr "The selected interface has support for both the 2.4 and 5 GHz wireless bands." + +msgid "The selected interface does not support wireless mode operation." +msgstr "The selected interface does not support wireless mode operation." + #: includes/networking.php msgid "Summary" msgstr "Summary" From 9bc54336c23028123e3ea4925926859b7b0f40df Mon Sep 17 00:00:00 2001 From: billz Date: Sun, 19 Mar 2023 16:53:40 +0100 Subject: [PATCH 07/10] Update messages + compile .mo --- ajax/networking/get_frequencies.php | 2 +- locale/en_US/LC_MESSAGES/messages.mo | Bin 31159 -> 31793 bytes locale/en_US/LC_MESSAGES/messages.po | 4 ++-- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ajax/networking/get_frequencies.php b/ajax/networking/get_frequencies.php index ea78cd45..bc21e4cc 100644 --- a/ajax/networking/get_frequencies.php +++ b/ajax/networking/get_frequencies.php @@ -28,7 +28,7 @@ if (isset($_POST['interface'])) { $msg = _("The selected interface has support for the 2.4 GHz wireless band only."); break; case NL80211_BAND_5GHZ: - $msg = _("The selected interface has support for the 2.4 GHz wireless band only."); + $msg = _("The selected interface has support for the 5 GHz wireless band only."); break; case NL80211_BAND_24GHZ | NL80211_BAND_5GHZ: $msg = _("The selected interface has support for both the 2.4 and 5 GHz wireless bands."); diff --git a/locale/en_US/LC_MESSAGES/messages.mo b/locale/en_US/LC_MESSAGES/messages.mo index f8d9ba406d1a84858ffd91f9c2a1be8fa9760dac..906fb5e8ff8c7ed21ee3954750b8e46ee4615269 100644 GIT binary patch delta 7569 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 R=e3$M0}dztf9Kac;9r%!{d)ia delta 7072 zcmX}v33yId9>?+XlE@yCi0lg?5kU|^QdbW}@A&G(mko_U{KpL5P#&j0^E=e~)(H#`TgdAtqb zK3fc*4IX3Su{zk8geJ!P5Uo*TrnWYwJx;@NT!*1}6O+-ujWOI}(lH8qpg)eV{Sq8T zzXC_%8yJqkDaHgD<26Y%;uy%lrdWWHI2853Y3PTQ*a}ynCfJH$xDy9r9VX!oz3+z7dE3m5LM!#$d4JzKh4mK8effiu!BnA zSybQ$F#zka0MBDLOiptHDnhR=D5VjIb8#^)L6z`7sK{@j9vI9dOS-QJ)73mBsgH;S@qK)W>&!NU&!j4#nTHCKs*O?B+5R++v zEwC33#v!PsdIFWe%cwwJ$EH}1fp{7f_?I0BOBa02Kmgvb7c|LmH(>~B!W68=ENq5{ z?D;n_i~h%UJb-9}=(oTaj7L`0^gsnV5&dy4GL>26rJ>U9M3wFkDw7kKh~b^w8@i(U zxtNUOP=PH)y#?z~n{Yd-$X?nY6vg2v|5le7<7s`nH za4g=!UO1+!>qdNt{(GpU%IW3?l80gR3sIStqBi3KRHjd$GCz!Zz5j;c+7_SDP^qq< z9^gkkHE|3o<9Vn|HlZ@yfvVVk)Smb|>bf5=0)x7{0VQD|{Y+HAxu~VvgIel3^wG9F zLPHNcZclt_`(GmwnqN_ohh)2@Z-vUdC+dOyFcJr&CY*@DIK#RCQ|Yfl1zcl&UoyY> z7Y(Xu{Cl_;q&tv|t*co|#aZ>UO!_jD`K7B$`-RiUA% zgr=akJ&l<(^j>d5P4F5jv!kfj!vCr}SMi<;njRK~Ya8TzwPlzAp9f!?U|W3h2h zpzd3M+PtfKQGaFd6a#uccca$2*18|HH;$nm^tm0sj0*6-wto|~RK7WGC8AMF)Cm=E zHtPCesELbE&nwNL{))Jq0e!bup)!36mC^I42fd3bT|KJQ7p=dbCJ4^uI|5TM8VgW~ zO+~$a71#uqqvl(Qs?Y{6jgB;GQ4^g*J+J|l(REbm{O@ujk3m%`9hE^RRKUH^2lG%F z4n_r9jH>8tdwwxi(O-u8rRTjtLl0=x+uhwssEPZdz6Xj>rQ3m;a2G1Gzn}s;iu3U# zDuMhyZiYiq6O2Xep+%_smZ6@v9;v9;JV~RBftT!w;J$9DBT$*7S$o>?0#r#Spfa9? z?XldBKaIpe@op1+Ohj0g4OZw|fx*)(*)G*pE1QJFl9s>C`}<~vXU)!-OB zgvl7%-wh-a^_q4^OnW(`&OzN@g)4DA26|}(=eYqyp)yNHy@oweH{{vzLhBUN zn$AUS%1YGr8&HWnje1TkD)57-K#rpVJBbSDJbHEF8+*Y|sEj=W+#6e>CQ8B%n1S(F zY@Ls))Dx&R-HN*ZdDIuwK8(Tl?f6C1#Me;)`{Yx9-XIg2@BRgJHx8!%H0r_zq{`+B z_Qy^G-A!4J)94?<;TSu}{R?L%@?&1*pKAOWi?E7^PR5fs0y`JDn|65t^;gM$WI#5( z+bwA%Du8si$|(B@UxXe;ieTk5Ko0gL>XI)OG&eA?}(q zN0lrZ_2AB^3x;4f9EGX)2u9(bPyroBEx~E@!Ou_=T|n)P?=cSVU>l6P$Ne+BFRJg| zNTVZ-z19ZQ4M9WQ3DQuTsV8cpL8$Y?u?x<^1NaOofWl#JfW_8w)c9%)!1c(RZnj{c z-v2W+^xy{TWo$zK-MHO-#mm492Ud%G^SKY&p{HCm@e7*~pK1 zn18fMPh*hY|4THK(T~^^Lq@qv5r%qT8Y;kksITS%)C7}JYd!-9VkIWwQ4GQc)LMUs zs^A@LharV-0$CWv{AK`+1RReFWQlb%YQk4huibm7z41@$9So%(d#@X4x-}1d86Sr_ zKLwj(IVzDA7>=vas}tL3P&HGF%It>K!@HwR7>Fuy7-|zH+VMeld>HD%<4_4qLj}GZ zwdR|#0H4Edco{Ws%xLPb3(`lsuS*s#rr#G;!UL!akE0%V8ntV`#R(Y9_pmaZX)VWa z`U|inu0d5`JF3!uM$MN|>@Hn)F{8??fB{W38kNa()c73ih?S_deF=5lyO@UOum%2( zgRyyu{f0y(Fdr3&7qz!GBfH*gMFsw%PUwPKRAfi(1@B`d{WGWuzr||2iCU5sW8L$Q zVix^pQR6336Q4tU@mxf0x?89~+l+IUI14+__x7gIipC67=~kdJ*@TIB9qN>LS>qc+KjoVOp8&8tU^_G9foUHyg(y{fjU$s zAE73`fQi^^s+&m(D#KD##i}p~pF~}^4 z1J~LU&)a@2YDwNgMScd8@e5Suw^0xDz0b`k7&T!V)aLDE&Bavu1*m|_tsBv+fmdjB z#d>?fl)9x$MrGC;TjK;&e??U&Y`U9JyXn-w zJp-K?XoDrF36`QVt46&h>roZhgqq+P)C7A`8NZFnupX89b=2B7DRa*!V&k4b-It3B zY*-ofR|XRqXo|B@ySBnwh1wfyP!sL6<9kp693KRfz`F5?wxE=MtU8sx>qe@qgD%k~8rLLkfxP}V&cl1HOneKJLs6gXU743>T z-v_I30P;)EYmUGYmr} zFp21ky;1iKKs~PzBlP}{rNQ!;IrhZq#uLVTipuzk^|l=kneCReH7cV_Y>(aT_$1VS zKxU&7tHH+2YR|uo>5QMk4CXh#*$dLukS`XUW1|Z52FJ9u!8#M&^XJ$2n>DD{p~jib>S}ThjrK=ui+5v z{*e10kQF$b{#RIlo#(m#0a=9A^xwcD%wvc0d&+D<&GQrTWAeQV+>#x%et;32_#73$ zRcwjBV{?pH=vE{J^?i|vZSfvd=_^o`ScR(KT2uubR3%?VJ@0kYb>4a!T9c145*ttt z{t0zK^F{98Y^^Yr{t(n}!3R+Rtwk-tR@5eZ0X5NXR3dv(Uo`KazT*FZBhhDZW8Z5= z)9A>+V(Tu{4X02OTtRK7+o*|xmbm95unYZ6Jb+VC0Yp{00mfUqqsE7!*1Qn=-~@7na;tZUx`ihOmIGmO$jLF#J?FTbZ*ARc}6*raqB(Pot<%UzLlI==^Trj(9TOs zpB2cTRsa87w5{E^#>tD13s}t+cz|9ly|K=b_@18oo$K*wzK=1s%4wZY z>Zx`fO(;otkiI`hIY%VN2VCD3Kg4m)&4m20iS&kZ=raYUI>QqyA|Iyp10#3gDU8N3 z&Z)!*&wA%lVn)bl`gM%ohxa-ONok%X&Y+~8d2{INvly@7S&n>;1$I0G*U^vWIL4t* z5o3Kgo}>b0n$6Q|v@0r+8*KImwxx<<6|+p`KaJ{^TUq-#M4u!86bCw2qp#kXz<* z+I&}Sqr;wa%bPhZ~>F*?EL8;*XA&*u1qb_5RKn8cB#3+$%_{Xrb#>ndB Date: Mon, 20 Mar 2023 19:14:24 +0100 Subject: [PATCH 08/10] Add 802.11ac tooltip help text, update messages + compile .mo --- ajax/networking/get_frequencies.php | 11 ++++++----- app/js/custom.js | 10 +++++++--- includes/functions.php | 7 ++++--- locale/en_US/LC_MESSAGES/messages.mo | Bin 31793 -> 32033 bytes locale/en_US/LC_MESSAGES/messages.po | 19 +++++++++++-------- templates/hostapd/basic.php | 4 ++-- 6 files changed, 30 insertions(+), 21 deletions(-) diff --git a/ajax/networking/get_frequencies.php b/ajax/networking/get_frequencies.php index bc21e4cc..7fb29990 100644 --- a/ajax/networking/get_frequencies.php +++ b/ajax/networking/get_frequencies.php @@ -2,6 +2,7 @@ require '../../includes/csrf.php'; require_once '../../includes/config.php'; +require_once '../../includes/locale.php'; if (isset($_POST['interface'])) { @@ -25,16 +26,16 @@ if (isset($_POST['interface'])) { switch ($flags) { case NL80211_BAND_24GHZ: - $msg = _("The selected interface has support for the 2.4 GHz wireless band only."); - break; + $msg = sprintf(_("The selected interface (%s) has support for the 2.4 GHz wireless band only."), $iface); + break; case NL80211_BAND_5GHZ: - $msg = _("The selected interface has support for the 5 GHz wireless band only."); + $msg = sprintf(_("The selected interface (%s) has support for the 5 GHz wireless band only."), $iface); break; case NL80211_BAND_24GHZ | NL80211_BAND_5GHZ: - $msg = _("The selected interface has support for both the 2.4 and 5 GHz wireless bands."); + $msg = sprintf(_("The selected interface (%s) has support for both the 2.4 and 5 GHz wireless bands."), $iface); break; default: - $msg = _("The selected interface does not support wireless mode operation."); + $msg = sprintf(_("The selected interface (%s) does not support wireless mode operation."), $iface); } echo json_encode($msg); } diff --git a/app/js/custom.js b/app/js/custom.js index 4615ebb9..1412b44f 100644 --- a/app/js/custom.js +++ b/app/js/custom.js @@ -389,13 +389,17 @@ function loadChannelSelect(selected) { } /* Sets hardware mode tooltip text for selected interface. - * Messages are sent from ajax request for gettext locale support. */ function setHardwareModeTooltip() { var iface = $('#cbxinterface').val(); + var hwmodeText = ''; + // Explanatory text if 802.11ac is disabled + if ($('#cbxhwmode').find('option[value="ac"]').prop('disabled') == true ) { + var hwmodeText = $('#hwmode').attr('data-tooltip'); + } $.post('ajax/networking/get_frequencies.php?',{'interface': iface},function(data){ - responseText = JSON.parse(data); - $('#tiphwmode').attr('data-original-title', responseText); + var responseText = JSON.parse(data); + $('#tiphwmode').attr('data-original-title', responseText + '\n' + hwmodeText ); }); } diff --git a/includes/functions.php b/includes/functions.php index 6ab8a40a..df437037 100755 --- a/includes/functions.php +++ b/includes/functions.php @@ -796,10 +796,11 @@ function get_public_ip() * * @return string $tooltip */ -function getTooltip($msg, $id, $visible = true) +function getTooltip($msg, $id, $visible = true, $data_html = false) { - ($visible) ? $opt = 'visible' : $opt = 'invisible'; - $tooltip = ''; + ($visible) ? $opt1 = 'visible' : $opt1 = 'invisible'; + ($data_html) ? $opt2 = 'data-html="true"' : $opt2 = 'data-html="false"'; + $tooltip = ''; return $tooltip; } diff --git a/locale/en_US/LC_MESSAGES/messages.mo b/locale/en_US/LC_MESSAGES/messages.mo index 906fb5e8ff8c7ed21ee3954750b8e46ee4615269..c1a7c5c714ab4d28411fff52fcf1861ade31a281 100644 GIT binary patch delta 7471 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 E4`?LC4gdfE delta 7243 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 E1E2GPlmGw# diff --git a/locale/en_US/LC_MESSAGES/messages.po b/locale/en_US/LC_MESSAGES/messages.po index 02a8ce22..fd1ff0c1 100644 --- a/locale/en_US/LC_MESSAGES/messages.po +++ b/locale/en_US/LC_MESSAGES/messages.po @@ -585,17 +585,20 @@ msgstr "Sets the txpower option for the AP interface and the config msgid "dBm is a unit of level used to indicate that a power ratio is expressed in decibels (dB) with reference to one milliwatt (mW). 30 dBm is equal to 1000 mW, while 0 dBm equals 1.25 mW." msgstr "dBm is a unit of level used to indicate that a power ratio is expressed in decibels (dB) with reference to one milliwatt (mW). 30 dBm is equal to 1000 mW, while 0 dBm equals 1.25 mW." -msgid "The selected interface has support for the 2.4 GHz wireless band only." -msgstr "The selected interface has support for the 2.4 GHz wireless band only." +msgid "The selected interface (%s) has support for the 2.4 GHz wireless band only." +msgstr "The selected interface (%s) has support for the 2.4 GHz wireless band only." -msgid "The selected interface has support for the 2.5 GHz wireless band only." -msgstr "The selected interface has support for the 2.5 GHz wireless band only." +msgid "The selected interface (%s) has support for the 2.5 GHz wireless band only." +msgstr "The selected interface (%s) has support for the 2.5 GHz wireless band only." -msgid "The selected interface has support for both the 2.4 and 5 GHz wireless bands." -msgstr "The selected interface has support for both the 2.4 and 5 GHz wireless bands." +msgid "The selected interface (%s) has support for both the 2.4 and 5 GHz wireless bands." +msgstr "The selected interface (%s) has support for both the 2.4 and 5 GHz wireless bands." -msgid "The selected interface does not support wireless mode operation." -msgstr "The selected interface does not support wireless mode operation." +msgid "The selected interface (%s) does not support wireless mode operation." +msgstr "The selected interface (%s) does not support wireless mode operation." + +msgid "The 802.11ac 5 GHz option is disabled until a compatible wireless regulatory domain is set." +msgstr "The 802.11ac 5 GHz option is disabled until a compatible wireless regulatory domain is set." #: includes/networking.php msgid "Summary" diff --git a/templates/hostapd/basic.php b/templates/hostapd/basic.php index 77475b27..ddc019ad 100644 --- a/templates/hostapd/basic.php +++ b/templates/hostapd/basic.php @@ -17,7 +17,7 @@
- + +
">
From 24abe9c53c34f1488da3cce858d83d984db76a04 Mon Sep 17 00:00:00 2001 From: billz Date: Mon, 20 Mar 2023 20:00:28 +0100 Subject: [PATCH 09/10] Update wireless mode items --- includes/hostapd.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/hostapd.php b/includes/hostapd.php index d1160d6d..6eb5909d 100755 --- a/includes/hostapd.php +++ b/includes/hostapd.php @@ -25,7 +25,7 @@ function DisplayHostAPDConfig() 'b' => '802.11b - 2.4 GHz', 'g' => '802.11g - 2.4 GHz', 'n' => '802.11n - 2.4 GHz', - 'ac' => '802.11.ac - 5 GHz' + 'ac' => '802.11ac - 5 GHz' ]; $arrSecurity = array(1 => 'WPA', 2 => 'WPA2', 3 => 'WPA+WPA2', 'none' => _("None")); $arrEncType = array('TKIP' => 'TKIP', 'CCMP' => 'CCMP', 'TKIP CCMP' => 'TKIP+CCMP'); From 7b3a7dba1dec437e2e987122d78c521c4b377c7f Mon Sep 17 00:00:00 2001 From: billz Date: Mon, 20 Mar 2023 20:14:01 +0100 Subject: [PATCH 10/10] Move template logic to includes + code cleanup --- includes/functions.php | 3 +-- includes/hostapd.php | 28 +++++++++++++++++++++++++++- templates/hostapd/advanced.php | 6 ++---- templates/hostapd/basic.php | 32 +++----------------------------- 4 files changed, 33 insertions(+), 36 deletions(-) diff --git a/includes/functions.php b/includes/functions.php index df437037..35d285cf 100755 --- a/includes/functions.php +++ b/includes/functions.php @@ -800,7 +800,6 @@ function getTooltip($msg, $id, $visible = true, $data_html = false) { ($visible) ? $opt1 = 'visible' : $opt1 = 'invisible'; ($data_html) ? $opt2 = 'data-html="true"' : $opt2 = 'data-html="false"'; - $tooltip = ''; - return $tooltip; + echo ''; } diff --git a/includes/hostapd.php b/includes/hostapd.php index 6eb5909d..7f47cd7d 100755 --- a/includes/hostapd.php +++ b/includes/hostapd.php @@ -109,6 +109,30 @@ function DisplayHostAPDConfig() $txpower = $_POST['txpower']; } + $countries_5Ghz_max48ch = RASPI_5GHZ_ISO_ALPHA2; + $selectedHwMode = $arrConfig['hw_mode']; + if (isset($arrConfig['ieee80211n'])) { + if (strval($arrConfig['ieee80211n']) === '1') { + $selectedHwMode = 'n'; + } + } + if (isset($arrConfig['ieee80211ac'])) { + if (strval($arrConfig['ieee80211ac']) === '1') { + $selectedHwMode = 'ac'; + } + } + if (isset($arrConfig['ieee80211w'])) { + if (strval($arrConfig['ieee80211w']) === '2') { + $selectedHwMode = 'w'; + } + } + if (!in_array($arrConfig['country_code'], $countries_5Ghz_max48ch)) { + $hwModeDisabled = 'ac'; + if ($selectedHwMode === $hwModeDisabled) { + unset($selectedHwMode); + } + } + echo renderTemplate( "hostapd", compact( "status", @@ -124,7 +148,9 @@ function DisplayHostAPDConfig() "arrTxPower", "txpower", "arrHostapdConf", - "operatingSystem" + "operatingSystem", + "selectedHwMode", + "hwModeDisabled" ) ); } diff --git a/templates/hostapd/advanced.php b/templates/hostapd/advanced.php index 916b3308..d765d34c 100644 --- a/templates/hostapd/advanced.php +++ b/templates/hostapd/advanced.php @@ -56,10 +56,8 @@
- - + + txpower option for the AP interface and the configured country."); ?>
diff --git a/templates/hostapd/basic.php b/templates/hostapd/basic.php index ddc019ad..f421490d 100644 --- a/templates/hostapd/basic.php +++ b/templates/hostapd/basic.php @@ -3,9 +3,7 @@
- +
@@ -17,32 +15,8 @@
- - + +
">