$separators = $config['nat']['separator']; // Get a list of separator rows and use it to call the display separator function only for rows which there are separator(s). // More efficient than looping through the list of separators on every row. $seprows = separator_rows($separators); foreach ($a_nat as $natent) { // Display separator(s) for section beginning at rule n if ($seprows[$nnats]) { display_separator($separators, $nnats, $columns_in_table); } $localport = $natent['local-port']; list($dstbeginport, $dstendport) = explode("-", $natent['destination']['port']); if ($dstendport) { $localendport = $natent['local-port'] + $dstendport - $dstbeginport; $localport .= '-' . $localendport; } $alias = rule_columns_with_alias($natent['source']['address'], pprint_port($natent['source']['port']), $natent['destination']['address'], pprint_port($natent['destination']['port']), $natent['target'], $localport); /* if user does not have access to edit an interface skip on to the next record */ if (!have_natpfruleint_access($natent['interface'])) { continue; } if (isset($natent['disabled'])) { $iconfn = "pass_d"; $trclass = 'class="disabled"'; } else { $iconfn = "pass"; $trclass = ''; } ?> <tr id="fr<?php echo $nnats;
</a> <?php if ($filterent['quick'] == 'yes') { print '<i class="fa fa-forward text-success" title="' . gettext(""Quick" rule. Applied immediately on match.") . '" style="cursor: pointer;"></i>'; } $isadvset = firewall_check_for_advanced_options($filterent); if ($isadvset) { print '<i class="fa fa-cog" title="' . gettext("advanced setting") . ': ' . $isadvset . '"></i>'; } if (isset($filterent['log'])) { print '<i class="fa fa-tasks" title="' . gettext("traffic is logged") . '" style="cursor: pointer;"></i>'; } ?> </td> <?php $alias = rule_columns_with_alias($filterent['source']['address'], pprint_port($filterent['source']['port']), $filterent['destination']['address'], pprint_port($filterent['destination']['port'])); //build Schedule popup box $a_schedules =& $config['schedules']['schedule']; $schedule_span_begin = ""; $schedule_span_end = ""; $sched_caption_escaped = ""; $sched_content = ""; $schedstatus = false; $dayArray = array(gettext('Mon'), gettext('Tues'), gettext('Wed'), gettext('Thur'), gettext('Fri'), gettext('Sat'), gettext('Sun')); $monthArray = array(gettext('January'), gettext('February'), gettext('March'), gettext('April'), gettext('May'), gettext('June'), gettext('July'), gettext('August'), gettext('September'), gettext('October'), gettext('November'), gettext('December')); if ($config['schedules']['schedule'] != "" && is_array($config['schedules']['schedule'])) { $idx = 0; foreach ($a_schedules as $schedule) { if ($schedule['name'] == $filterent['sched']) { $schedstatus = filter_get_time_based_rule_status($schedule); foreach ($schedule['timerange'] as $timerange) {
?> </th> </tr> </thead> <tbody class="user-entries"> <?php $i = 0; foreach ($a_out as $natent) { $iconfn = "pass"; $textss = $textse = ""; $trclass = ''; if ($mode == "disabled" || $mode == "automatic" || isset($natent['disabled'])) { $iconfn .= "_d"; $trclass = 'class="disabled"'; } $alias = rule_columns_with_alias($natent['source']['network'], pprint_port($natent['sourceport']), $natent['destination']['address'], pprint_port($natent['dstport'])); ?> <tr id="fr<?php echo $i; ?> " <?php echo $trclass; ?> onClick="fr_toggle(<?php echo $i; ?> )" ondblclick="document.location='firewall_nat_out_edit.php?id=<?php echo $i; ?> ';">