$val) { if (substr_count($key, PREF_UPTIME) != 0) { $name = str_replace(PREF_UPTIME, '', $key); if ($name) { switch($val) { case "allow": $pass_up_val .= " $name"; break; case "white": $pass_up_val .= " ^$name"; break; case "deny" : $pass_up_val .= " !$name"; break; } } } elseif (substr_count($key, PREF_OVERTIME) != 0) { $name = str_replace(PREF_OVERTIME, '', $key); if ($name) { switch($val) { case "allow": $pass_over_val .= " $name"; break; case "white": $pass_over_val .= " ^$name"; break; case "deny" : $pass_over_val .= " !$name"; break; } } } } # !ATTENTION! on pfSense XML config must be must(shell) be '!all' instead of 'none' - it is a must for correct work GUI # if not exists key 'all', then add 'none' - default 'deny all' if ((substr_count($pass_up_val, 'all') == 0)) { $pass_up_val .= ' !all'; } if (!empty($pass_over_val) && (substr_count($pass_over_val, 'all') == 0)) { $pass_over_val .= ' !all'; } if (empty($pass_over_val)) $post[F_DEST] = "$pass_up_val"; else $post[F_DEST] = "$pass_up_val [$pass_over_val]"; # check redirect $errmsg = ''; if (!sg_check_redirect($post[F_RMOD], $post[F_REDIRECT], &$errmsg)) { $input_errors[] = "Redirect info error. $errmsg"; } } # ------------------------------------------------------------------------------ # validate times # Format: # date: