$val) { if (substr_count($key, PREFLD_UPTIME) != 0) { $name = str_replace(PREFLD_UPTIME, '', $key); if ($name) $pass_up[$name] = 'on'; } elseif (substr_count($key, PREFLD_UPTIME_DENY) != 0) { $name = str_replace(PREFLD_UPTIME_DENY, '', $key); if ($name) $deny_up[$name] = 'on'; } elseif (substr_count($key, PREFLD_OVERTIME) != 0) { $name = str_replace(PREFLD_OVERTIME, '', $key); if ($name) $pass_over[$name] = 'on'; } elseif (substr_count($key, PREFLD_OVERTIME_DENY) != 0) { $name = str_replace(PREFLD_OVERTIME_DENY, '', $key); if ($name) $deny_over[$name] = 'on'; } } foreach ($pass_up as $key => $val) { if ($deny_up[$key]) $pass_up_val .= " !$key"; else $pass_up_val .= " $key"; } foreach ($pass_over as $key => $val) { if ($deny_over[$key]) $pass_over_val .= " !$key"; else $pass_over_val .= " $key"; } // !ATTENTION! on pfSense XML config must be must(shall) 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[FLD_DEST] = "$pass_up_val"; else $post[FLD_DEST] = "$pass_up_val [$pass_over_val]"; } # ------------------------------------------------------------------------------ # validate times # Format: # date: