if (!\Grase\Validate::numericLimit($groupIdleTimeout[$key])) { $error[] = sprintf(T_("Invalid value '%s' for Idle Timeout"), $groupIdleTimeout[$key]); } if (!\Grase\Validate::recurrenceInterval($groupRecurTime[$key], recurtimes())) { $error[] = sprintf(T_("Invalid recurrence interval '%s'"), $groupRecurTime[$key]); } if (!\Grase\Validate::recurrenceInterval($groupRecurData[$key], recurtimes())) { $error[] = sprintf(T_("Invalid recurrence interval '%s'"), $groupRecurData[$key]); } if (!\Grase\Validate::recurrenceTime($groupRecurTime[$key], $groupRecurTimeLimit[$key])) { $error[] = T_("Recurring time limit must be less than interval"); } if (!\Grase\Validate::bandwidthOptions($groupBandwidthDownLimit[$key], bandwidth_options())) { $error[] = sprintf(T_("Invalid Bandwidth Limit '%s'"), $groupBandwidthDownLimit[$key]); } if (!\Grase\Validate::bandwidthOptions($groupBandwidthUpLimit[$key], bandwidth_options())) { $error[] = sprintf(T_("Invalid Bandwidth Limit '%s'"), $groupBandwidthUpLimit[$key]); } //TODO we don't validate that it's not 0, relying on HTML5 to do that $error[] = @validate_int($groupSimultaneousUse[$key], true); // TODO: Validate Login-Time $error[] = @validate_uucptimerange($groupLoginTime[$key]); $error = array_filter($error); if (isset($groupRecurTime[$key]) xor isset($groupRecurTimeLimit[$key])) { $error[] = sprintf(T_("Need both a time limit and recurrance for '%s'"), \Grase\Clean::text($name)); } $groups[\Grase\Clean::groupName($name)] = array_filter(array('DataRecurTime' => \Grase\Clean::text($groupRecurData[$key]), 'DataRecurLimit' => clean_number($groupRecurDataLimit[$key]), 'TimeRecurTime' => @\Grase\Clean::text($groupRecurTime[$key]), 'TimeRecurLimit' => @clean_int($groupRecurTimeLimit[$key]), 'BandwidthDownLimit' => @clean_int($groupBandwidthDownLimit[$key]), 'BandwidthUpLimit' => @clean_int($groupBandwidthUpLimit[$key]), 'SimultaneousUse' => @clean_int($groupSimultaneousUse[$key]), 'LoginTime' => @$groupLoginTime[$key], 'IdleTimeout' => @clean_int($groupIdleTimeout[$key]))); $groupSettings[\Grase\Clean::groupName($name)] = array_filter(array('GroupName' => \Grase\Clean::groupName($name), 'Comment' => \Grase\Clean::text($groupComment[$key]), 'GroupLabel' => \Grase\Clean::text($name), 'Expiry' => @$groupExpiry[$key], 'ExpireAfter' => @$groupExpireAfter[$key], 'MaxMb' => @clean_number($groupDataLimit[$key]), 'MaxTime' => @clean_int($groupTimeLimit[$key]))); } if (sizeof($error) == 0) { // No errors. Save groups