diff options
Diffstat (limited to 'src/usr/local/www/services_captiveportal_hostname.php')
-rw-r--r-- | src/usr/local/www/services_captiveportal_hostname.php | 188 |
1 files changed, 67 insertions, 121 deletions
diff --git a/src/usr/local/www/services_captiveportal_hostname.php b/src/usr/local/www/services_captiveportal_hostname.php index 939fb23..0256fc2 100644 --- a/src/usr/local/www/services_captiveportal_hostname.php +++ b/src/usr/local/www/services_captiveportal_hostname.php @@ -32,7 +32,7 @@ */ /* pfSense_BUILDER_BINARIES: /sbin/ipfw - pfSense_MODULE: captiveportal + pfSense_MODULE: captiveportal */ ##|+PRIV @@ -42,6 +42,13 @@ ##|*MATCH=services_captiveportal_hostname.php* ##|-PRIV +$directionicons = array('to' => '→', 'from' => '←', 'both' => '⇄'); + +$notestr = + gettext('Adding new hostnames will allow a DNS hostname access to/from the captive portal without being taken to the portal page.' . + 'This can be used for a web server serving images for the portal page, or a DNS server on another network, for example. ' . + 'By specifying <em>from</em> addresses, it may be used to always allow pass-through access from a client behind the captive portal.'); + require("guiconfig.inc"); require("functions.inc"); require_once("filter.inc"); @@ -89,6 +96,7 @@ if ($_GET['act'] == "del" && !empty($cpzone) && isset($cpzoneid)) { pfSense_pipe_action("pipe delete {$ipfw['dnpipe']}"); pfSense_pipe_action("pipe delete " . ($ipfw['dnpipe']+1)); } + pfSense_ipfw_Tableaction($cpzoneid, IP_FW_TABLE_XDEL, 3, $ip, $sn); pfSense_ipfw_Tableaction($cpzoneid, IP_FW_TABLE_XDEL, 4, $ip, $sn); } @@ -102,131 +110,69 @@ if ($_GET['act'] == "del" && !empty($cpzone) && isset($cpzoneid)) { } } - include("head.inc"); + +if ($savemsg) + print_info_box($savemsg); + +$tab_array = array(); +$tab_array[] = array(gettext("Captive portal(s)"), false, "services_captiveportal.php?zone={$cpzone}"); +$tab_array[] = array(gettext("MAC"), false, "services_captiveportal_mac.php?zone={$cpzone}"); +$tab_array[] = array(gettext("Allowed IP Addresses"), false, "services_captiveportal_ip.php?zone={$cpzone}"); +$tab_array[] = array(gettext("Allowed Hostnames"), true, "services_captiveportal_hostname.php?zone={$cpzone}"); +$tab_array[] = array(gettext("Vouchers"), false, "services_captiveportal_vouchers.php?zone={$cpzone}"); +$tab_array[] = array(gettext("File Manager"), false, "services_captiveportal_filemanager.php?zone={$cpzone}"); +display_top_tabs($tab_array, true); ?> -<body link="#0000CC" vlink="#0000CC" alink="#0000CC"> -<?php include("fbegin.inc"); ?> -<form action="services_captiveportal_hostname.php" method="post"> -<input type="hidden" name="zone" id="zone" value="<?=htmlspecialchars($cpzone);?>" /> -<?php if ($savemsg) print_info_box($savemsg); ?> -<table width="100%" border="0" cellpadding="0" cellspacing="0" summary="captiveportal hostname"> - <tr> - <td class="tabnavtbl"> +<div class="table-responsive"> + <table class="table table-hover table-striped table-condensed"> + <thead> + <tr> + <th><?=gettext("Hostname"); ?></th> + <th><?=gettext("Description"); ?></th> + <th><!-- Buttons --></th> + </tr> + </thead> + <?php - $tab_array = array(); - $tab_array[] = array(gettext("Captive portal(s)"), false, "services_captiveportal.php?zone={$cpzone}"); - $tab_array[] = array(gettext("MAC"), false, "services_captiveportal_mac.php?zone={$cpzone}"); - $tab_array[] = array(gettext("Allowed IP Addresses"), false, "services_captiveportal_ip.php?zone={$cpzone}"); - $tab_array[] = array(gettext("Allowed Hostnames"), true, "services_captiveportal_hostname.php?zone={$cpzone}"); - $tab_array[] = array(gettext("Vouchers"), false, "services_captiveportal_vouchers.php?zone={$cpzone}"); - $tab_array[] = array(gettext("File Manager"), false, "services_captiveportal_filemanager.php?zone={$cpzone}"); - display_top_tabs($tab_array, true); -?> - </td> - </tr> - <tr> - <td class="tabcont"> - <table width="100%" border="0" cellpadding="0" cellspacing="0" summary="main"> - <tr> - <td width="60%" class="listhdrr"><?=gettext("Hostname"); ?></td> - <td width="40%" class="listhdr"><?=gettext("Description"); ?></td> - <td width="10%" class="list"> - <table border="0" cellspacing="0" cellpadding="1" summary="add"> - <tr> - <td width="17" height="17"></td> - <td> - <a href="services_captiveportal_hostname_edit.php?zone=<?=$cpzone;?>"><img src="/themes/<?php echo $g['theme']; ?>/images/icons/icon_plus.gif" title="<?=gettext("add address"); ?>" width="17" height="17" border="0" alt="add" /></a> - </td> - </tr> - </table> - </td> - </tr> +if (is_array($a_cp[$cpzone]['allowedhostname'])): ?> + <tbody> <?php - if (is_array($a_cp[$cpzone]['allowedhostname'])): - $i = 0; - foreach ($a_cp[$cpzone]['allowedhostname'] as $ip): -?> - <tr ondblclick="document.location='services_captiveportal_hostname_edit.php?zone=<?=$cpzone;?>&id=<?=$i;?>'"> - <td class="listlr"> +$i = 0; +foreach ($a_cp[$cpzone]['allowedhostname'] as $ip): ?> + <tr> + <td> + <?=$directionicons[$ip['dir']]?> <?=strtolower($ip['hostname'])?> + </td> + <td > + <?=htmlspecialchars($ip['descr'])?> + </td> + <td> + <a href="services_captiveportal_hostname_edit.php?zone=<?=$cpzone?>&id=<?=$i?>" class="btn btn-xs btn-info">Edit</a> + <a href="services_captiveportal_hostname.php?zone=<?=$cpzone?>&act=del&id=<?=$i?>" class="btn btn-xs btn-danger">Delete</a> + </td> + </tr> <?php - if ($ip['dir'] == "to") { - echo "any <img src=\"/themes/{$g['theme']}/images/icons/icon_in.gif\" width=\"11\" height=\"11\" align=\"middle\" alt=\"in\" /> "; - } - if ($ip['dir'] == "both") { - echo "<img src=\"/themes/{$g['theme']}/images/icons/icon_pass.gif\" width=\"11\" height=\"11\" align=\"middle\" alt=\"pass\" /> "; - } - echo strtolower($ip['hostname']); - if ($ip['dir'] == "from") { - echo "<img src=\"/themes/{$g['theme']}/images/icons/icon_in.gif\" width=\"11\" height=\"11\" align=\"middle\" alt=\"in\" /> any"; - } +$i++; +endforeach; ?> + <tbody> + </table> + <?=$directionicons['to'] . ' = ' . sprintf(gettext('All connections %sto%s the hostname are allowed'), '<u>','</u>') . ', '?> + <?=$directionicons['from'] . ' = ' . sprintf(gettext('All connections %sfrom%s the hostname are allowed'), '<u>','</u>') . ', '?> + <?=$directionicons['both'] . ' = ' . sprintf(gettext('All connections %sto or from%s are allowed'), '<u>','</u>')?> +<?php +else : ?> - </td> - <td class="listbg"> - <?=htmlspecialchars($ip['descr']);?> - </td> - <td valign="middle" class="list nowrap"> - <a href="services_captiveportal_hostname_edit.php?zone=<?=$cpzone;?>&id=<?=$i;?>"><img src="/themes/<?php echo $g['theme']; ?>/images/icons/icon_e.gif" title="<?=gettext("edit address"); ?>" width="17" height="17" border="0" alt="add" /></a> - <a href="services_captiveportal_hostname.php?zone=<?=$cpzone;?>&act=del&id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this address?"); ?>')"><img src="/themes/<?php echo $g['theme']; ?>/images/icons/icon_x.gif" title="<?=gettext("delete address"); ?>" width="17" height="17" border="0" alt="delete" /></a> - </td> - </tr> + </tbody> + </table> <?php - $i++; - endforeach; - endif; +endif; ?> - <tr> - <td class="list" colspan="2"> </td> - <td class="list"> - <table border="0" cellspacing="0" cellpadding="1" summary="add"> - <tr> - <td width="17" height="17"></td> - <td> - <a href="services_captiveportal_hostname_edit.php?zone=<?=$cpzone;?>"><img src="/themes/<?php echo $g['theme']; ?>/images/icons/icon_plus.gif" title="<?=gettext("add address"); ?>" width="17" height="17" border="0" alt="add" /></a> - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td colspan="2" class="list"> - <p class="vexpl"> - <span class="red"> - <strong> - <?=gettext("Note:"); ?><br /> - </strong> - </span> - <?=gettext("Adding allowed Hostnames will allow a DNS hostname access to/from access through the captive portal without being taken to the portal page. This can be used for a web server serving images for the portal page or a DNS server on another network, for example. By specifying <em>from</em> addresses, it may be used to always allow pass-through access from a client behind the captive portal."); ?> - </p> - <table border="0" cellspacing="0" cellpadding="0" summary="icons"> - <tr> - <td> - <span class="vexpl"><?=gettext("any"); ?> <img src="/themes/<?=$g['theme'];?>/images/icons/icon_in.gif" width="11" height="11" align="middle" alt="in" /> x.x.x.x </span> - </td> - <td> - <span class="vexpl"><?=gettext("All connections"); ?> <strong><?=gettext("to"); ?></strong> <?=gettext("the Hostname are allowed"); ?></span> - </td> - </tr> - <tr> - <td colspan="5" height="4"></td> - </tr> - <tr> - <td>x.x.x.x <span class="vexpl"><img src="/themes/<?=$g['theme'];?>/images/icons/icon_in.gif" width="11" height="11" align="middle" alt="in" /></span> <?=gettext("any"); ?> </td> - <td><span class="vexpl"><?=gettext("All connections"); ?> <strong><?=gettext("from"); ?></strong> <?=gettext("the Hostname are allowed"); ?> </span></td> - </tr> - <tr> - <td><span class="vexpl"><img src="/themes/<?=$g['theme'];?>/images/icons/icon_pass.gif" width="11" height="11" align="right" alt="pass" /></span> </td> - <td><span class="vexpl"> All connections <strong>to</strong> and <strong>from</strong> the Hostname are allowed </span></td> - </tr> - </table> - </td> - <td class="list"> </td> - </tr> - </table> - </td> - </tr> -</table> -</form> -<?php include("fend.inc"); ?> -</body> -</html> + <nav class="action-buttons"> + <a href="services_captiveportal_hostname_edit.php?zone=<?=$cpzone?>&act=add" class="btn btn-success">Add</a> + </nav> +</div> +<?php +print_info_box($notestr); + +include("foot.inc");
\ No newline at end of file |