summaryrefslogtreecommitdiffstats
path: root/src/usr/local/www/services_captiveportal_hostname.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/local/www/services_captiveportal_hostname.php')
-rw-r--r--src/usr/local/www/services_captiveportal_hostname.php188
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;?>&amp;id=<?=$i;?>'">
- <td class="listlr">
+$i = 0;
+foreach ($a_cp[$cpzone]['allowedhostname'] as $ip): ?>
+ <tr>
+ <td>
+ <?=$directionicons[$ip['dir']]?>&nbsp;<?=strtolower($ip['hostname'])?>
+ </td>
+ <td >
+ <?=htmlspecialchars($ip['descr'])?>
+ </td>
+ <td>
+ <a href="services_captiveportal_hostname_edit.php?zone=<?=$cpzone?>&amp;id=<?=$i?>" class="btn btn-xs btn-info">Edit</a>
+ <a href="services_captiveportal_hostname.php?zone=<?=$cpzone?>&amp;act=del&amp;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']);?>&nbsp;
- </td>
- <td valign="middle" class="list nowrap">
- <a href="services_captiveportal_hostname_edit.php?zone=<?=$cpzone;?>&amp;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>
- &nbsp;<a href="services_captiveportal_hostname.php?zone=<?=$cpzone;?>&amp;act=del&amp;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">&nbsp;</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"); ?>&nbsp;&nbsp;&nbsp; </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>&nbsp;&nbsp;&nbsp;&nbsp; </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">&nbsp;</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?>&amp;act=add" class="btn btn-success">Add</a>
+ </nav>
+</div>
+<?php
+print_info_box($notestr);
+
+include("foot.inc"); \ No newline at end of file
OpenPOWER on IntegriCloud