|
11 | 11 | </div> |
12 | 12 | </div> |
13 | 13 |
|
14 | | - <!-- static IP settings --> |
| 14 | + <!-- bridge interface configuration --> |
15 | 15 | <div class="row" id="bridgeStaticIpSection" style="display: <?php echo $arrHostapdConf['BridgedEnable'] == 1 ? 'block' : 'none' ?>;"> |
16 | 16 | <div class="col-md-12 mb-3"> |
17 | 17 | <div class="card"> |
18 | 18 | <div class="card-body"> |
19 | 19 | <h6 class="card-title"><?php echo _("Bridge interface configuration"); ?></h6> |
20 | | - <p class="text-muted small mb-3"> |
21 | | - <?php echo _("Configure a static IP address for the <code>br0</code> interface to maintain connectivity during bridge mode activation."); ?> |
22 | | - </p> |
23 | | - |
24 | | - <div class="row g-3"> |
25 | | - <div class="col-md-6"> |
26 | | - <label for="bridgeStaticIp" class="form-label"><?php echo _("Static IP Address"); ?></label> |
27 | | - <div class="input-group has-validation"> |
28 | | - <input type="text" class="form-control ip_address" id="bridgeStaticIp" name="bridgeStaticIp" |
29 | | - value="<?php echo htmlspecialchars($arrConfig['bridgeStaticIP'] ?? '', ENT_QUOTES); ?>" |
30 | | - placeholder="192.168.1.100" /> |
31 | | - <div class="invalid-feedback"> |
32 | | - <?php echo _("Please enter a valid IPv4 address"); ?> |
| 20 | + |
| 21 | + <!-- dynamic IP toggle --> |
| 22 | + <div class="form-check form-switch mb-3"> |
| 23 | + <?php $dynChecked = !empty($arrHostapdConf['BridgedDynamic']) && $arrHostapdConf['BridgedDynamic'] == 1 ? 'checked="checked"' : '' ?> |
| 24 | + <input class="form-check-input" id="chxbridgedynamic" name="bridgedDynamic" type="checkbox" value="1" <?php echo $dynChecked ?> /> |
| 25 | + <label class="form-check-label" for="chxbridgedynamic"><?php echo _("Use dynamic IP address"); ?></label> |
| 26 | + <div class="form-text text-muted"><?php echo _("Requires mDNS or local DNS (e.g. <code>hostname.local</code>). If the DHCP server fails to assign an address, the device will be unreachable."); ?></div> |
| 27 | + </div> |
| 28 | + |
| 29 | + <!-- static IP fields --> |
| 30 | + <div id="bridgeStaticIpFields" style="display: <?php echo (!empty($arrHostapdConf['BridgedDynamic']) && $arrHostapdConf['BridgedDynamic'] == 1) ? 'none' : 'block' ?>;"> |
| 31 | + <p class="text-muted small mb-3"> |
| 32 | + <?php echo _("Configure a static IP address for the <code>br0</code> interface to maintain connectivity during bridge mode activation."); ?> |
| 33 | + </p> |
| 34 | + <div class="row g-3"> |
| 35 | + <div class="col-md-6"> |
| 36 | + <label for="bridgeStaticIp" class="form-label"><?php echo _("Static IP Address"); ?></label> |
| 37 | + <div class="input-group has-validation"> |
| 38 | + <input type="text" class="form-control ip_address" id="bridgeStaticIp" name="bridgeStaticIp" |
| 39 | + value="<?php echo htmlspecialchars($arrConfig['bridgeStaticIP'] ?? '', ENT_QUOTES); ?>" |
| 40 | + placeholder="192.168.1.100" /> |
| 41 | + <div class="invalid-feedback"> |
| 42 | + <?php echo _("Please enter a valid IPv4 address"); ?> |
| 43 | + </div> |
33 | 44 | </div> |
| 45 | + <div class="form-text"><?php echo _("Example: 192.168.1.100"); ?></div> |
34 | 46 | </div> |
35 | | - <div class="form-text"><?php echo _("Example: 192.168.1.100"); ?></div> |
36 | | - </div> |
37 | | - |
38 | | - <div class="col-md-6"> |
39 | | - <label for="bridgeNetmask" class="form-label"><?php echo _("Netmask / CIDR"); ?></label> |
40 | | - <div class="input-group has-validation"> |
41 | | - <input type="text" class="form-control" id="bridgeNetmask" name="bridgeNetmask" |
42 | | - value="<?php echo htmlspecialchars($arrConfig['bridgeNetmask'] ?? '24', ENT_QUOTES); ?>" |
43 | | - placeholder="24" /> |
44 | | - <div class="invalid-feedback"> |
45 | | - <?php echo _("Please enter a valid netmask"); ?> |
| 47 | + |
| 48 | + <div class="col-md-6"> |
| 49 | + <label for="bridgeNetmask" class="form-label"><?php echo _("Netmask / CIDR"); ?></label> |
| 50 | + <div class="input-group has-validation"> |
| 51 | + <input type="text" class="form-control" id="bridgeNetmask" name="bridgeNetmask" |
| 52 | + value="<?php echo htmlspecialchars($arrConfig['bridgeNetmask'] ?? '24', ENT_QUOTES); ?>" |
| 53 | + placeholder="24" /> |
| 54 | + <div class="invalid-feedback"> |
| 55 | + <?php echo _("Please enter a valid netmask"); ?> |
| 56 | + </div> |
46 | 57 | </div> |
| 58 | + <div class="form-text"><?php echo _("CIDR notation (e.g., 24 for 255.255.255.0)"); ?></div> |
47 | 59 | </div> |
48 | | - <div class="form-text"><?php echo _("CIDR notation (e.g., 24 for 255.255.255.0)"); ?></div> |
49 | | - </div> |
50 | | - |
51 | | - <div class="col-md-6"> |
52 | | - <label for="bridgeGateway" class="form-label"><?php echo _("Gateway"); ?></label> |
53 | | - <div class="input-group has-validation"> |
54 | | - <input type="text" class="form-control ip_address" id="bridgeGateway" name="bridgeGateway" |
55 | | - value="<?php echo htmlspecialchars($arrConfig['bridgeGateway'] ?? '', ENT_QUOTES); ?>" |
56 | | - placeholder="192.168.1.1" /> |
57 | | - <div class="invalid-feedback"> |
58 | | - <?php echo _("Please enter a valid IPv4 address"); ?> |
| 60 | + |
| 61 | + <div class="col-md-6"> |
| 62 | + <label for="bridgeGateway" class="form-label"><?php echo _("Gateway"); ?></label> |
| 63 | + <div class="input-group has-validation"> |
| 64 | + <input type="text" class="form-control ip_address" id="bridgeGateway" name="bridgeGateway" |
| 65 | + value="<?php echo htmlspecialchars($arrConfig['bridgeGateway'] ?? '', ENT_QUOTES); ?>" |
| 66 | + placeholder="192.168.1.1" /> |
| 67 | + <div class="invalid-feedback"> |
| 68 | + <?php echo _("Please enter a valid IPv4 address"); ?> |
| 69 | + </div> |
59 | 70 | </div> |
| 71 | + <div class="form-text"><?php echo _("Your router's IP address"); ?></div> |
60 | 72 | </div> |
61 | | - <div class="form-text"><?php echo _("Your router's IP address"); ?></div> |
62 | | - </div> |
63 | 73 |
|
64 | | - <div class="col-md-6"> |
65 | | - <label for="bridgeDNS" class="form-label"><?php echo _("DNS Server"); ?></label> |
66 | | - <div class="input-group has-validation"> |
67 | | - <input type="text" class="form-control ip_address" id="bridgeDNS" name="bridgeDNS" |
68 | | - value="<?php echo htmlspecialchars($arrConfig['bridgeDNS'] ?? '', ENT_QUOTES); ?>" |
69 | | - placeholder="192.168.1.1" /> |
70 | | - <div class="invalid-feedback"> |
71 | | - <?php echo _("Please enter a valid IPv4 address"); ?> |
| 74 | + <div class="col-md-6"> |
| 75 | + <label for="bridgeDNS" class="form-label"><?php echo _("DNS Server"); ?></label> |
| 76 | + <div class="input-group has-validation"> |
| 77 | + <input type="text" class="form-control ip_address" id="bridgeDNS" name="bridgeDNS" |
| 78 | + value="<?php echo htmlspecialchars($arrConfig['bridgeDNS'] ?? '', ENT_QUOTES); ?>" |
| 79 | + placeholder="192.168.1.1" /> |
| 80 | + <div class="invalid-feedback"> |
| 81 | + <?php echo _("Please enter a valid IPv4 address"); ?> |
| 82 | + </div> |
72 | 83 | </div> |
| 84 | + <div class="form-text"><?php echo _("Usually same as gateway"); ?></div> |
73 | 85 | </div> |
74 | | - <div class="form-text"><?php echo _("Usually same as gateway"); ?></div> |
75 | 86 | </div> |
76 | | - </div> |
| 87 | + </div><!-- /#bridgeStaticIpFields --> |
77 | 88 |
|
78 | 89 | </div> |
79 | 90 | </div> |
|
0 commit comments