' . gettext('The following input errors were detected:') . '
';
echo '
';
foreach ($input_errors as $ierr) {
echo '
' . htmlspecialchars($ierr) . '
';
}
echo '
';
echo '
';
}
function verify_gzip_file($fname) {
$returnvar = mwexec("/usr/bin/gzip -t " . escapeshellarg($fname));
if ($returnvar != 0) {
return 0;
} else {
return 1;
}
}
// print_info_box() has been updated so that any required button is explicitly created, rather than relying on the detection of certain
// strings in the message (such as "apply"). print_info_box_np() has been exterminated.
// $class = the bootstrap style class (default, info, warning, success, danger)
// $btnname and btntext describe the optional button and its display text, the default is an 'x' Close button.
// Note that there is also a shortcut function print_apply_box here that creates a standard "apply" box for you.
// In many cases just substitute that for print_info_box_np() to easily get a warning style "Apply changes" box.
function print_info_box($msg, $class="alert-warning", $btnname = "close", $btntext = "", $btnicon = "", $btnclass = "default") {
if (strpos($class, "alert-") !== 0) {
$class = 'alert-' . $class;
}
$msg = '
' . $msg . '
';
if ($btnname === "close") {
$msg = '' . $msg;
} else if ($btnname != "") {
if (empty($btntext)) {
$btntext = $btnname;
}
if (!empty($btnicon)) {
$btnicon = '';
}
$msg .= '';
}
echo '
';
echo $callout;
}
function get_std_save_message($ok) {
$filter_related = false;
$filter_pages = array("nat", "filter");
$to_return = gettext("The changes have been applied successfully.");
foreach ($filter_pages as $fp) {
if (stristr($_SERVER['SCRIPT_FILENAME'], $fp)) {
$filter_related = true;
}
}
if ($filter_related) {
$to_return .= " " . gettext("You can also monitor the filter reload progress.");
}
return $to_return;
}
function pprint_address($adr) {
global $specialnets;
if (isset($adr['any'])) {
$padr = "*";
} else if ($adr['network']) {
$padr = $specialnets[$adr['network']];
} else {
$padr = $adr['address'];
}
if (isset($adr['not'])) {
$padr = "! " . $padr;
}
return $padr;
}
function pprint_port($port) {
global $wkports;
$pport = "";
if (!$port) {
return "*";
} else {
$srcport = explode("-", $port);
if ((!$srcport[1]) || ($srcport[0] == $srcport[1])) {
$pport = $srcport[0];
if ($wkports[$srcport[0]]) {
$pport .= " (" . $wkports[$srcport[0]] . ")";
}
} else {
$pport .= $srcport[0] . " - " . $srcport[1];
}
}
return $pport;
}
function firewall_check_for_advanced_options(&$item) {
$item_set = "";
if ($item['os']) {
$item_set .= "os {$item['os']} ";
}
if ($item['dscp']) {
$item_set .= "dscp {$item['dscp']} ";
}
if ($item['max']) {
$item_set .= "max {$item['max']} ";
}
if ($item['max-src-nodes']) {
$item_set .= "max-src-nodes {$item['max-src-nodes']} ";
}
if ($item['max-src-conn']) {
$item_set .= "max-src-conn {$item['max-src-conn']} ";
}
if ($item['max-src-states']) {
$item_set .= "max-src-states {$item['max-src-states']} ";
}
if (isset($item['nopfsync'])) {
$item_set .= "nopfsync ";
}
if ($item['statetype'] != "keep state" && $item['statetype'] != "") {
$item_set .= "statetype {$item['statetype']} ";
}
if ($item['statetimeout']) {
$item_set .= "statetimeout {$item['statetimeout']} ";
}
if (isset($item['nosync'])) {
$item_set .= "no XMLRPC Sync ";
}
if ($item['max-src-conn-rate']) {
$item_set .= "max-src-conn-rate {$item['max-src-conn-rate']} ";
}
if ($item['max-src-conn-rates']) {
$item_set .= "max-src-conn-rates {$item['max-src-conn-rates']} ";
}
if ($item['vlanprio']) {
$item_set .= "vlanprio {$item['vlanprio']} ";
}
if ($item['vlanprioset']) {
$item_set .= "vlanprioset {$item['vlanprioset']} ";
}
if ($item['gateway']) {
$item_set .= "gateway {$item['gateway']} ";
}
if ($item['dnpipe']) {
$item_set .= "limiter {$item['dnpipe']} ";
}
if ($item['pdnpipe']) {
$item_set .= "limiter {$item['pdnpipe']} ";
}
if ($item['ackqueue']) {
$item_set .= "ackqueue {$item['ackqueue']} ";
}
if ($item['defaultqueue']) {
$item_set .= "defaultqueue {$item['defaultqueue']} ";
}
if ($item['tag']) {
$item_set .= "tag {$item['tag']} ";
}
if ($item['tagged']) {
$item_set .= "tagged {$item['tagged']} ";
}
if (isset($item['allowopts'])) {
$item_set .= "allowopts ";
}
if (isset($item['disablereplyto'])) {
$item_set .= "disable reply-to ";
}
if ($item['tcpflags_any'] || $item['tcpflags1'] || $item['tcpflags2']) {
$item_set .= "tcpflags set";
}
return $item_set;
}
function gentitle($title) {
global $navlevelsep;
if (!is_array($title)) {
return $title;
} else {
return join($navlevelsep, $title);
}
}
function genhtmltitle($title) {
// If the array contains only one element, there are no breadcrumbs, so don't
// add anything else
if (count($title) > 1) {
$bc = '';
foreach ($title as $el) {
$bc .= '
'.$el.'
';
}
$bc .= '';
} else {
$bc = "";
}
return $heading . $bc;
}
/* update the changedesc and changecount(er) variables */
function update_changedesc($update) {
global $changedesc;
global $changecount;
$changedesc .= " {$update}";
$changecount++;
}
// This version of dump_clog() does not output
";
}
}
/****f* pfsense-utils/display_top_tabs
* NAME
* display_top_tabs - display tabs with rounded edges
* INPUTS
* $text - array of tabs
* RESULT
* null
******/
function display_top_tabs(& $tab_array, $no_drop_down = false, $type = 'pills') {
global $config;
global $g;
global $tab_array_indent;
global $tab_array_space;
global $tab_array_char_limit;
/* does the user have access to this tab?
* master user has access to everything.
* if the user does not have access, simply
* unset the tab item.
*/
/* empty string code */
if ($tab_array_indent == '') {
$tab_array_indent = 0;
}
if ($tab_array_space == '') {
$tab_array_space = 1;
}
if ($tab_array_char_limit == '') {
$tab_array_char_limit = 92;
}
foreach ($tab_array as $tab_id => $ta) {
if (!isAllowedPage($ta[2])) {
unset ($tab_array[$tab_id]);
}
}
$tab_active_bg = "#EEEEEE";
$tab_inactive_bg = "#777777";
$nifty_tabs_corners = "#FFF";
$font_color = "white";
$tabcharcount = 0;
foreach ($tab_array as $ta) {
$tabcharcount = $tabcharcount + strlen($ta[0]);
}
if ($no_drop_down == true) {
$tabcharcount = 0;
unset($tab_array_char_limit);
}
// If the character count of the tab names is > 670
// then show a select item dropdown menubox.
if ($tabcharcount > $tab_array_char_limit) {
echo gettext("Currently viewing: ");
echo "\n