mirror of
https://github.com/RaspAP/raspap-webgui.git
synced 2024-11-24 16:40:24 +00:00
Reverting files to correct ones
This commit is contained in:
parent
b386f5285a
commit
00fe51f005
12 changed files with 47 additions and 116 deletions
|
@ -459,19 +459,6 @@ $(document).on("click", ".js-toggle-password", function(e) {
|
|||
}
|
||||
});
|
||||
|
||||
$(document).on("input", ".js-validate-psk", function(e) {
|
||||
var field = $(e.target);
|
||||
var colors = field.data("colors").split(",");
|
||||
var target = $(field.data("target"));
|
||||
if (field.val().length < 8 || field.val().length > 63) {
|
||||
field.css("backgroundColor", colors[0]);
|
||||
target.attr("disabled", true);
|
||||
} else {
|
||||
field.css("backgroundColor", colors[1]);
|
||||
target.attr("disabled", false);
|
||||
}
|
||||
});
|
||||
|
||||
$(function() {
|
||||
$('#theme-select').change(function() {
|
||||
var theme = themes[$( "#theme-select" ).val() ];
|
||||
|
|
2
app/js/custom.min.js
vendored
2
app/js/custom.min.js
vendored
|
@ -4,4 +4,4 @@
|
|||
* Licensed under MIT (https://github.com/raspap-webgui/raspap-webgui/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
function msgShow(t,a){if(0==t)var e="success";else if(2==t||1==t)e="danger";return'<div class="alert alert-'+e+' alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>'+a+"</div>"}function createNetmaskAddr(t){var a=[];for(i=0;i<4;i++){var e=Math.min(t,8);a.push(256-Math.pow(2,8-e)),t-=e}return a.join(".")}function loadSummary(a){$.post("/ajax/networking/get_ip_summary.php",{interface:a},function(t){jsonData=JSON.parse(t),console.log(jsonData),0==jsonData.return?$("#"+a+"-summary").html(jsonData.output.join("<br />")):2==jsonData.return&&$("#"+a+"-summary").append('<div class="alert alert-danger alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>'+jsonData.output.join("<br />")+"</div>")})}function getAllInterfaces(){$.get("/ajax/networking/get_all_interfaces.php",function(t){jsonData=JSON.parse(t),$.each(jsonData,function(t,a){loadSummary(a)})})}function setupTabs(){$('a[data-toggle="tab"]').on("shown.bs.tab",function(t){var a=$(t.target).attr("href");a.match("summary")||loadCurrentSettings(a.replace("#",""))})}function loadCurrentSettings(t){$.post("/ajax/networking/get_int_config.php",{interface:t},function(t){jsonData=JSON.parse(t),$.each(jsonData.output,function(t,a){var n=a.interface;$.each(a,function(t,a){switch(t){case"static":"true"==a?($("#"+n+"-static").click(),$("#"+n+"-nofailover").click()):$("#"+n+"-dhcp").click();break;case"failover":"true"===a?$("#"+n+"-failover").click():$("#"+n+"-nofailover").click();break;case"ip_address":var e=a.split("/");$("#"+n+"-ipaddress").val(e[0]),$("#"+n+"-netmask").val(createNetmaskAddr(e[1]));break;case"routers":$("#"+n+"-gateway").val(a);break;case"domain_name_server":svrsDNS=a.split(" "),$("#"+n+"-dnssvr").val(svrsDNS[0]),$("#"+n+"-dnssvralt").val(svrsDNS[1])}})})})}function saveNetworkSettings(t){var a=$("#frm-"+t).find(":input"),e={};$.each(a,function(t,a){"radio"==$(a).attr("type")?e[$(a).attr("id")]=$(a).prop("checked"):e[$(a).attr("id")]=$(a).val()}),e.interface=t,$.post("/ajax/networking/save_int_config.php",e,function(t){var a=JSON.parse(t);$("#msgNetworking").html(msgShow(a.return,a.output))})}function applyNetworkSettings(){$(this).data("int");arrFormData={generate:""},$.post("/ajax/networking/gen_int_config.php",arrFormData,function(t){console.log(t);var a=JSON.parse(t);$("#msgNetworking").html(msgShow(a.return,a.output))})}function setupBtns(){$("#btnSummaryRefresh").click(function(){getAllInterfaces()}),$(".intsave").click(function(){saveNetworkSettings($(this).data("int"))}),$(".intapply").click(function(){applyNetworkSettings()})}function setCSRFTokenHeader(t,a,e){var n=$("meta[name=csrf_token]").attr("content");/^(POST|PATCH|PUT|DELETE)$/i.test(e.type)&&a.setRequestHeader("X-CSRF-Token",n)}function contentLoaded(){switch(pageCurrent=window.location.href.split("?")[1].split("=")[1],pageCurrent=pageCurrent.replace("#",""),$("#side-menu").metisMenu(),pageCurrent){case"network_conf":getAllInterfaces(),setupTabs(),setupBtns()}}function loadWifiStations(a){return function(){var t=!0===a?"?refresh":"";$(".js-wifi-stations").addClass("loading-spinner").empty().load("/ajax/networking/wifi_stations.php"+t,function(){$(this).removeClass("loading-spinner")})}}$(document).on("click",".js-add-dhcp-static-lease",function(t){t.preventDefault();var a=$(".js-new-dhcp-static-lease"),e=$("input[name=mac]",a).val().trim(),n=$("input[name=ip]",a).val().trim();if(""!=e&&""!=n){var i=$("#js-dhcp-static-lease-row").html().replace("{{ mac }}",e).replace("{{ ip }}",n);$(".js-dhcp-static-lease-container").append(i),$("input[name=mac]",a).val(""),$("input[name=ip]",a).val("")}}),$(document).on("click",".js-remove-dhcp-static-lease",function(t){t.preventDefault(),$(this).parents(".js-dhcp-static-lease-row").remove()}),$(document).on("submit",".js-dhcp-settings-form",function(t){$(".js-add-dhcp-static-lease").trigger("click")}),$(".js-reload-wifi-stations").on("click",loadWifiStations(!0)),$(document).on("click",".js-toggle-password",function(t){var a=$(t.target),e=$(a.data("target"));e.is(":input")&&(t.preventDefault(),a.data("__toggle-with-initial")||a.data("__toggle-with-initial",a.text()),"password"===e.attr("type")?(a.text(a.data("toggle-with")),e.attr("type","text")):(a.text(a.data("__toggle-with-initial")),e.attr("type","password")))}),$(document).on("input",".js-validate-psk",function(t){var a=$(t.target),e=a.data("colors").split(","),n=$(a.data("target"));a.val().length<8||63<a.val().length?(a.css("backgroundColor",e[0]),n.attr("disabled",!0)):(a.css("backgroundColor",e[1]),n.attr("disabled",!1))}),$(document).ajaxSend(setCSRFTokenHeader).ready(contentLoaded).ready(loadWifiStations());
|
||||
function msgShow(t,a){if(0==t)var e="success";else if(2==t||1==t)e="danger";return'<div class="alert alert-'+e+' alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>'+a+"</div>"}function createNetmaskAddr(t){var a=[];for(i=0;i<4;i++){var e=Math.min(t,8);a.push(256-Math.pow(2,8-e)),t-=e}return a.join(".")}function loadSummary(a){$.post("/ajax/networking/get_ip_summary.php",{interface:a},function(t){jsonData=JSON.parse(t),console.log(jsonData),0==jsonData.return?$("#"+a+"-summary").html(jsonData.output.join("<br />")):2==jsonData.return&&$("#"+a+"-summary").append('<div class="alert alert-danger alert-dismissible" role="alert"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>'+jsonData.output.join("<br />")+"</div>")})}function getAllInterfaces(){$.get("/ajax/networking/get_all_interfaces.php",function(t){jsonData=JSON.parse(t),$.each(jsonData,function(t,a){loadSummary(a)})})}function setupTabs(){$('a[data-toggle="tab"]').on("shown.bs.tab",function(t){var a=$(t.target).attr("href");a.match("summary")||loadCurrentSettings(a.replace("#",""))})}function loadCurrentSettings(t){$.post("/ajax/networking/get_int_config.php",{interface:t},function(t){jsonData=JSON.parse(t),$.each(jsonData.output,function(t,a){var n=a.interface;$.each(a,function(t,a){switch(t){case"static":"true"==a?($("#"+n+"-static").click(),$("#"+n+"-nofailover").click()):$("#"+n+"-dhcp").click();break;case"failover":"true"===a?$("#"+n+"-failover").click():$("#"+n+"-nofailover").click();break;case"ip_address":var e=a.split("/");$("#"+n+"-ipaddress").val(e[0]),$("#"+n+"-netmask").val(createNetmaskAddr(e[1]));break;case"routers":$("#"+n+"-gateway").val(a);break;case"domain_name_server":svrsDNS=a.split(" "),$("#"+n+"-dnssvr").val(svrsDNS[0]),$("#"+n+"-dnssvralt").val(svrsDNS[1])}})})})}function saveNetworkSettings(t){var a=$("#frm-"+t).find(":input"),e={};$.each(a,function(t,a){"radio"==$(a).attr("type")?e[$(a).attr("id")]=$(a).prop("checked"):e[$(a).attr("id")]=$(a).val()}),e.interface=t,$.post("/ajax/networking/save_int_config.php",e,function(t){var a=JSON.parse(t);$("#msgNetworking").html(msgShow(a.return,a.output))})}function applyNetworkSettings(){$(this).data("int");arrFormData={generate:""},$.post("/ajax/networking/gen_int_config.php",arrFormData,function(t){console.log(t);var a=JSON.parse(t);$("#msgNetworking").html(msgShow(a.return,a.output))})}function setupBtns(){$("#btnSummaryRefresh").click(function(){getAllInterfaces()}),$(".intsave").click(function(){saveNetworkSettings($(this).data("int"))}),$(".intapply").click(function(){applyNetworkSettings()})}function setCSRFTokenHeader(t,a,e){var n=$("meta[name=csrf_token]").attr("content");/^(POST|PATCH|PUT|DELETE)$/i.test(e.type)&&a.setRequestHeader("X-CSRF-Token",n)}function contentLoaded(){switch(pageCurrent=window.location.href.split("?")[1].split("=")[1],pageCurrent=pageCurrent.replace("#",""),$("#side-menu").metisMenu(),pageCurrent){case"network_conf":getAllInterfaces(),setupTabs(),setupBtns()}}function loadWifiStations(a){return function(){var t=!0===a?"?refresh":"";$(".js-wifi-stations").addClass("loading-spinner").empty().load("/ajax/networking/wifi_stations.php"+t,function(){$(this).removeClass("loading-spinner")})}}$(document).on("click",".js-add-dhcp-static-lease",function(t){t.preventDefault();var a=$(".js-new-dhcp-static-lease"),e=$("input[name=mac]",a).val().trim(),n=$("input[name=ip]",a).val().trim();if(""!=e&&""!=n){var i=$("#js-dhcp-static-lease-row").html().replace("{{ mac }}",e).replace("{{ ip }}",n);$(".js-dhcp-static-lease-container").append(i),$("input[name=mac]",a).val(""),$("input[name=ip]",a).val("")}}),$(document).on("click",".js-remove-dhcp-static-lease",function(t){t.preventDefault(),$(this).parents(".js-dhcp-static-lease-row").remove()}),$(document).on("submit",".js-dhcp-settings-form",function(t){$(".js-add-dhcp-static-lease").trigger("click")}),$(".js-reload-wifi-stations").on("click",loadWifiStations(!0)),$(document).on("click",".js-toggle-password",function(t){var a=$(t.target),e=$(a.data("target"));e.is(":input")&&(t.preventDefault(),a.data("__toggle-with-initial")||a.data("__toggle-with-initial",a.text()),"password"===e.attr("type")?(a.text(a.data("toggle-with")),e.attr("type","text")):(a.text(a.data("__toggle-with-initial")),e.attr("type","password")))}),$(document).on("keyup",".js-validate-psk",function(t){var a=$(t.target),e=a.data("colors").split(","),n=$(a.data("target"));a.val().length<8||63<a.val().length?(a.css("backgroundColor",e[0]),n.attr("disabled",!0)):(a.css("backgroundColor",e[1]),n.attr("disabled",!1))}),$(document).ajaxSend(setCSRFTokenHeader).ready(contentLoaded).ready(loadWifiStations());
|
|
@ -1,8 +1,9 @@
|
|||
server.modules += (
|
||||
"mod_rewrite",
|
||||
"mod_rewrite",
|
||||
)
|
||||
|
||||
$HTTP["url"] =~ "^/(?!(dist|app|ajax|config)).*" {
|
||||
url.rewrite-once = ( "^/(.*?)(\?.+)?$"=>"/index.php/$1$2" )
|
||||
server.error-handler-404 = "/index.php"
|
||||
$HTTP["url"] =~ "^/REPLACE_ME/(?!(dist|app|ajax|config)).*" {
|
||||
url.rewrite-once = ( "^/REPLACE_ME/(.*?)(\?.+)?$"=>"/REPLACE_ME/index.php/$1$2" )
|
||||
server.error-handler-404 = "/REPLACE_ME/index.php"
|
||||
}
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
define('RASPI_BRAND_TEXT', 'Isobox');
|
||||
define('RASPI_BRAND_TEXT', 'RaspAP');
|
||||
define('RASPI_CONFIG', '/etc/raspap');
|
||||
define('RASPI_CONFIG_NETWORK', RASPI_CONFIG.'/networking/defaults.json');
|
||||
define('RASPI_ADMIN_DETAILS', RASPI_CONFIG.'/raspap.auth');
|
||||
|
@ -39,14 +39,14 @@ define('RASPI_HOTSPOT_ENABLED', true);
|
|||
define('RASPI_NETWORK_ENABLED', true);
|
||||
define('RASPI_DHCP_ENABLED', true);
|
||||
define('RASPI_ADBLOCK_ENABLED', false);
|
||||
define('RASPI_OPENVPN_ENABLED', true);
|
||||
define('RASPI_OPENVPN_ENABLED', false);
|
||||
define('RASPI_WIREGUARD_ENABLED', false);
|
||||
define('RASPI_TORPROXY_ENABLED', false);
|
||||
define('RASPI_CONFAUTH_ENABLED', true);
|
||||
define('RASPI_CHANGETHEME_ENABLED', true);
|
||||
define('RASPI_VNSTAT_ENABLED', true);
|
||||
define('RASPI_SYSTEM_ENABLED', true);
|
||||
define('RASPI_MONITOR_ENABLED', true);
|
||||
define('RASPI_MONITOR_ENABLED', false);
|
||||
|
||||
// Locale settings
|
||||
define('LOCALE_ROOT', 'locale');
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
"subnetmask": [ "255.255.255.0" ]
|
||||
},
|
||||
"uap0": {
|
||||
"static ip_address": [ "192.168.200.1/24" ],
|
||||
"static routers": [ "192.168.200.1" ],
|
||||
"static ip_address": [ "192.168.50.1/24" ],
|
||||
"static routers": [ "192.168.50.1" ],
|
||||
"static domain_name_server": [ "1.1.1.1 8.8.8.8" ],
|
||||
"subnetmask": [ "255.255.255.0" ]
|
||||
},
|
||||
|
@ -31,7 +31,7 @@
|
|||
"dhcp-range": [ "10.3.141.50,10.3.141.255,255.255.255.0,12h" ]
|
||||
},
|
||||
"uap0": {
|
||||
"dhcp-range": [ "192.168.200.50,192.168.200.150,12h" ]
|
||||
"dhcp-range": [ "192.168.50.50,192.168.50.150,12h" ]
|
||||
}
|
||||
},
|
||||
"wireguard": {
|
||||
|
|
|
@ -10,9 +10,9 @@ require dhcp_server_identifier
|
|||
slaac private
|
||||
nohook lookup-hostname
|
||||
|
||||
# RaspAP uap0 configuration
|
||||
interface uap0
|
||||
static ip_address=192.168.200.1/24
|
||||
static routers=192.168.200.1
|
||||
# RaspAP wlan0 configuration
|
||||
interface wlan0
|
||||
static ip_address=10.3.141.1/24
|
||||
static routers=10.3.141.1
|
||||
static domain_name_server=9.9.9.9 1.1.1.1
|
||||
|
||||
|
|
|
@ -4,15 +4,14 @@ ctrl_interface_group=0
|
|||
beacon_int=100
|
||||
auth_algs=1
|
||||
wpa_key_mgmt=WPA-PSK
|
||||
ssid=isobox
|
||||
ssid=raspi-webgui
|
||||
channel=1
|
||||
hw_mode=g
|
||||
wpa_passphrase=isobox-password
|
||||
interface=uap0
|
||||
wpa_passphrase=ChangeMe
|
||||
interface=wlan0
|
||||
wpa=2
|
||||
wpa_pairwise=CCMP
|
||||
country_code=IT
|
||||
ignore_broadcast_ssid=0
|
||||
country_code=
|
||||
## Rapberry Pi 3 specific to on board WLAN/WiFi
|
||||
#ieee80211n=1 # 802.11n support (Raspberry Pi 3)
|
||||
#wmm_enabled=1 # QoS support (Raspberry Pi 3)
|
||||
|
|
|
@ -554,7 +554,7 @@ function _configure_networking() {
|
|||
echo "Checking iptables rules"
|
||||
rules=(
|
||||
"-A POSTROUTING -j MASQUERADE"
|
||||
"-A POSTROUTING -s 192.168.200.0/24 ! -d 192.168.200.0/24 -j MASQUERADE"
|
||||
"-A POSTROUTING -s 192.168.50.0/24 ! -d 192.168.50.0/24 -j MASQUERADE"
|
||||
)
|
||||
for rule in "${rules[@]}"; do
|
||||
if grep -- "$rule" $rulesv4 > /dev/null; then
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
[Unit]
|
||||
Description=RaspAP Service Daemon
|
||||
DefaultDependencies=no
|
||||
After=network.target
|
||||
After=multi-user.target
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
|
|
|
@ -10,58 +10,30 @@ DAEMONPATH="/lib/systemd/system/raspapd.service"
|
|||
OPENVPNENABLED=$(pidof openvpn | wc -l)
|
||||
|
||||
positional=()
|
||||
while [[ $# -gt 0 ]]; do
|
||||
key="$1"
|
||||
while [[ $# -gt 0 ]]
|
||||
do
|
||||
key="$1"
|
||||
|
||||
case $key in
|
||||
-i | --interface)
|
||||
interface="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
-s | --seconds)
|
||||
seconds="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
-a | --action)
|
||||
action="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
case $key in
|
||||
-i|--interface)
|
||||
interface="$2"
|
||||
shift # past argument
|
||||
shift # past value
|
||||
;;
|
||||
-s|--seconds)
|
||||
seconds="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
-a|--action)
|
||||
action="$2"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
set -- "${positional[@]}"
|
||||
|
||||
HOSTAPD_CONF="/etc/hostapd/hostapd.conf"
|
||||
|
||||
new_country_code=$(curl -s -H "Authorization: Bearer 9da1eb466ed052" https://ipinfo.io/json | jq -r ".country // empty")
|
||||
old_country_code=$(grep ^country_code $HOSTAPD_CONF | cut -d "=" -f 2)
|
||||
|
||||
if [[ ! -z "$new_country_code" ]] && [[ "$old_country_code" != "$new_country_code" ]]; then
|
||||
sudo sed -i "s/country_code=$old_country_code/country_code=$new_country_code/" /etc/hostapd/hostapd.conf
|
||||
echo "Updated country code: $new_country_code"
|
||||
fi
|
||||
|
||||
old_ssid=$(grep ^ssid $HOSTAPD_CONF | cut -d "=" -f 2)
|
||||
rpi_serial=$(cat /proc/cpuinfo | grep Serial | cut -d ' ' -f 2)
|
||||
new_ssid="isobox-$rpi_serial"
|
||||
|
||||
if [[ "$old_ssid" != "$new_ssid" ]]; then
|
||||
sed -i "s/ssid=$old_ssid/ssid=$new_ssid/" $HOSTAPD_CONF
|
||||
echo "Updated ssid: $new_ssid"
|
||||
fi
|
||||
|
||||
old_hostname=$(hostname)
|
||||
new_hostname="isobox-$rpi_serial"
|
||||
|
||||
if [[ "$old_hostname" != "$new_hostname" ]]; then
|
||||
echo $new_hostname >/etc/hostname
|
||||
sed -i "s/$old_hostname/$new_hostname/" /etc/hosts
|
||||
hostname $new_hostname
|
||||
echo "Updated hostname: $new_hostname"
|
||||
fi
|
||||
|
||||
echo "Stopping network services..."
|
||||
if [ $OPENVPNENABLED -eq 1 ]; then
|
||||
systemctl stop openvpn-client@client
|
||||
|
@ -85,7 +57,7 @@ if [ -r "$CONFIGFILE" ]; then
|
|||
declare -A config
|
||||
while IFS=" = " read -r key value; do
|
||||
config["$key"]="$value"
|
||||
done <"$CONFIGFILE"
|
||||
done < "$CONFIGFILE"
|
||||
|
||||
if [ "${config[BridgedEnable]}" = 1 ]; then
|
||||
if [ "${interface}" = "br0" ]; then
|
||||
|
@ -107,7 +79,7 @@ if [ -r "$CONFIGFILE" ]; then
|
|||
echo "Disabling systemd-networkd"
|
||||
systemctl disable systemd-networkd
|
||||
|
||||
ip link ls up | grep -q 'br0' &>/dev/null
|
||||
ip link ls up | grep -q 'br0' &> /dev/null
|
||||
if [ $? == 0 ]; then
|
||||
echo "Removing br0 interface..."
|
||||
ip link set down br0
|
||||
|
@ -117,7 +89,7 @@ if [ -r "$CONFIGFILE" ]; then
|
|||
if [ "${config[WifiAPEnable]}" = 1 ]; then
|
||||
if [ "${interface}" = "uap0" ]; then
|
||||
|
||||
ip link ls up | grep -q 'uap0' &>/dev/null
|
||||
ip link ls up | grep -q 'uap0' &> /dev/null
|
||||
if [ $? == 0 ]; then
|
||||
echo "Removing uap0 interface..."
|
||||
iw dev uap0 del
|
||||
|
@ -155,3 +127,4 @@ if [ "${config[WifiAPEnable]}" = 1 ]; then
|
|||
fi
|
||||
|
||||
echo "RaspAP service start DONE"
|
||||
|
||||
|
|
|
@ -158,7 +158,7 @@ function _restore_networking() {
|
|||
echo "Checking iptables rules"
|
||||
rules=(
|
||||
"-A POSTROUTING -j MASQUERADE"
|
||||
"-A POSTROUTING -s 192.168.200.0/24 ! -d 192.168.200.0/24 -j MASQUERADE"
|
||||
"-A POSTROUTING -s 192.168.50.0/24 ! -d 192.168.50.0/24 -j MASQUERADE"
|
||||
)
|
||||
for rule in "${rules[@]}"; do
|
||||
if grep -- "$rule" $rulesv4 > /dev/null; then
|
||||
|
|
|
@ -46,32 +46,3 @@
|
|||
<?php endforeach ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
|
||||
<h4 class="h-underlined my-3"><?php echo _("Add Custom Network") ?></h4>
|
||||
<div class="card-grid">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
|
||||
<input type="hidden" name="protocol<?php echo $index ?>" value="<?php echo htmlspecialchars($network ['protocol'], ENT_QUOTES); ?>" />
|
||||
|
||||
<div class="form-group">
|
||||
<div class="info-item-wifi"><?php echo _("SSID"); ?></div>
|
||||
<input type="text" class="form-control" name="ssid<?php echo $index ?>" data-colors="#ffd0d0,#d0ffd0"/>
|
||||
<div class="info-item-wifi"><?php echo _("Passphrase"); ?></div>
|
||||
<div class="input-group">
|
||||
<input type="password" class="form-control js-validate-psk" aria-describedby="passphrase" name="passphrase<?php echo $index ?>" data-target="#update<?php echo $index ?>" data-colors="#ffd0d0,#d0ffd0">
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-outline-secondary js-toggle-password" type="button" data-target="[name=passphrase<?php echo $index ?>]" data-toggle-with="<?php echo _("Hide") ?>">Show</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn-group btn-block ">
|
||||
<input type="submit" class="col-xs-4 col-md-4 btn btn-info" value="<?php echo _("Add"); ?>" id="update<?php echo $index ?>" name="update<?php echo $index ?>" data-toggle="modal" data-target="#configureClientModal" />
|
||||
</div><!-- /.btn-group -->
|
||||
</div><!-- /.card-body -->
|
||||
</div><!-- /.card -->
|
||||
|
||||
<?php $index++; ?>
|
||||
|
||||
</div>
|
||||
|
|
Loading…
Reference in a new issue