Commit 59504c5c authored by Ad Schellevis's avatar Ad Schellevis

(legacy) refactor services_igmpproxy.php

parent 3e601eb3
<?php
/*
Copyright (C) 2014-2015 Deciso B.V.
Copyright (C) 2014-2016 Deciso B.V.
Copyright (C) 2009 Ermal Luçi
Copyright (C) 2004 Scott Ullrich
Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>.
......@@ -33,116 +33,119 @@ require_once("guiconfig.inc");
require_once("interfaces.inc");
require_once("services.inc");
if (!isset($config['igmpproxy']['igmpentry']))
if (!isset($config['igmpproxy']['igmpentry'])) {
$config['igmpproxy']['igmpentry'] = array();
}
//igmpproxy_sort();
$a_igmpproxy = &$config['igmpproxy']['igmpentry'];
if ($_POST) {
$pconfig = $_POST;
$retval = 0;
/* reload all components that use igmpproxy */
$retval = services_igmpproxy_configure();
if(stristr($retval, "error") <> true)
$savemsg = get_std_save_message();
else
$savemsg = $retval;
clear_subsystem_dirty('igmpproxy');
}
if ($_GET['act'] == "del") {
if ($a_igmpproxy[$_GET['id']]) {
unset($a_igmpproxy[$_GET['id']]);
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (isset($_POST['act']) && $_POST['act'] == "del") {
if (isset($_POST['id']) && !empty($a_igmpproxy[$_POST['id']])){
unset($a_igmpproxy[$_POST['id']]);
write_config();
mark_subsystem_dirty('igmpproxy');
}
exit;
} else {
/* reload all components that use igmpproxy */
services_igmpproxy_configure();
clear_subsystem_dirty('igmpproxy');
header("Location: services_igmpproxy.php");
exit;
}
}
include("head.inc");
include("head.inc");
legacy_html_escape_form_data($a_igmpproxy);
$main_buttons = array(
array('label'=>gettext("add a new igmpentry"), 'href'=>'services_igmpproxy_edit.php'),
);
?>
<body>
<script type="text/javascript">
$( document ).ready(function() {
// delete host action
$(".act_delete_entry").click(function(event){
event.preventDefault();
var id = $(this).data("id");
// delete single
BootstrapDialog.show({
type:BootstrapDialog.TYPE_DANGER,
title: "<?= gettext("IGMP Proxy");?>",
message: "<?=gettext("Do you really want to delete this igmp entry? All elements that still use it will become invalid (e.g. filter rules)!");?>",
buttons: [{
label: "<?= gettext("No");?>",
action: function(dialogRef) {
dialogRef.close();
}}, {
label: "<?= gettext("Yes");?>",
action: function(dialogRef) {
$.post(window.location, {act: 'del', id:id}, function(data) {
location.reload();
});
}
}]
});
});
});
//]]>
</script>
<?php include("fbegin.inc"); ?>
<section class="page-content-main">
<div class="container-fluid">
<div class="row">
<?php if (isset($savemsg)) print_info_box($savemsg); ?>
<?php if (is_subsystem_dirty('igmpproxy')): ?><br/>
<?php print_info_box_apply(gettext("The IGMP entry list has been changed") . ".<br />" . gettext("You must apply the changes in order for them to take effect."));?>
<?php endif; ?>
<section class="col-xs-12">
<div class="content-box">
<form action="services_igmpproxy.php" method="post" name="iform" id="iform">
<form method="post" name="iform" id="iform">
<div class="table-responsive">
<table class="table table-striped table-sort">
<table class="table table-striped">
<thead>
<tr>
<td width="15%" class="listhdrr"><?=gettext("Name");?></td>
<td width="10%" class="listhdrr"><?=gettext("Type");?></td>
<td width="25%" class="listhdrr"><?=gettext("Values");?></td>
<td width="20%" class="listhdr"><?=gettext("Description");?></td>
<td width="10%" class="list">
<td><?=gettext("Name");?></td>
<td><?=gettext("Type");?></td>
<td><?=gettext("Values");?></td>
<td><?=gettext("Description");?></td>
<td>
</tr>
<?php $i = 0; foreach ($a_igmpproxy as $igmpentry): ?>
</thead>
<tbody>
<?php
$i = 0;
foreach ($a_igmpproxy as $igmpentry): ?>
<tr>
<td class="listlr" ondblclick="document.location='services_igmpproxy_edit.php?id=<?=$i;?>';">
<td>
<?=htmlspecialchars(convert_friendly_interface_to_friendly_descr($igmpentry['ifname']));?>
</td>
<td class="listlr" ondblclick="document.location='services_igmpproxy_edit.php?id=<?=$i;?>';">
<?=htmlspecialchars($igmpentry['type']);?>
</td>
<td class="listr" ondblclick="document.location='services_igmpproxy_edit.php?id=<?=$i;?>';">
<?php
$addresses = implode(", ", array_slice(explode(" ", $igmpentry['address']), 0, 10));
echo $addresses;
if(count($addresses) < 10) {
echo " ";
} else {
echo "...";
}
?>
</td>
<td class="listbg" ondblclick="document.location='services_igmpproxy_edit.php?id=<?=$i;?>';">
<?=htmlspecialchars($igmpentry['descr']);?>&nbsp;
<td><?=$igmpentry['type'];?></td>
<td>
<?php
$addresses = implode(", ", array_slice(explode(" ", $igmpentry['address']), 0, 10));?>
<?=$addresses;?> <?=count($addresses) < 10 ? "" : "...";?>
</td>
<td valign="middle" class="list nowrap">
<td><?=$igmpentry['descr'];?></td>
<td>
<a href="services_igmpproxy_edit.php?id=<?=$i;?>" title="<?=gettext("edit igmpentry"); ?>" class="btn btn-default btn-xs"><span class="glyphicon glyphicon-pencil"></span></a>
<a href="services_igmpproxy.php?act=del&amp;id=<?=$i;?>" onclick="return confirm('<?=gettext("Do you really want to delete this igmp entry? All elements that still use it will become invalid (e.g. filter rules)!");?>')" title="<?=gettext("delete igmpentry");?>" class="btn btn-default btn-xs"><span class="fa fa-trash text-muted"></span></a>
</td>
</tr>
<?php $i++; endforeach; ?>
<tr>
<td colspan="5" width="78%">
<br />
<input id="submit" name="submit" type="submit" class="btn btn-primary" value="<?=gettext("Save");?>" />
<br />
<a href="#" data-id="<?=$i;?>" class="act_delete_entry"><button type="button" class="btn btn-xs btn-default"><span class="fa fa-trash text-muted"></span></button></a>
</td>
</tr>
<?php
$i++;
endforeach; ?>
<tr>
<td class="tabcont" colspan="5">
<p><span class="vexpl"><span class="red"><strong><?=gettext("Note:");?><br /></strong></span><?=gettext("Please add the interface for upstream, the allowed subnets, and the downstream interfaces you would like the proxy to allow. Only one 'upstream' interface can be configured.");?></span></p>
<p>
<span class="text-danger"><strong><?=gettext("Note:");?><br /></strong></span>
<?=gettext("Please add the interface for upstream, the allowed subnets, and the downstream interfaces you would like the proxy to allow. Only one 'upstream' interface can be configured.");?>
</p>
</td>
</tr>
</tbody>
</table>
</div>
</form>
......@@ -151,5 +154,4 @@ $main_buttons = array(
</div>
</div>
</section>
<?php include("foot.inc"); ?>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment