| @@ -41,10 +41,26 @@ | ||
| 41 | 41 | |
| 42 | 42 | $input[SettingsConfig::DEFAULT_WEIGHT] = absint($input[SettingsConfig::DEFAULT_WEIGHT]); |
| 43 | 43 | $input[SettingsConfig::DEFAULT_PREPARATION] = absint($input[SettingsConfig::DEFAULT_PREPARATION]); |
| 44 | 44 | $input[SettingsConfig::DISCOUNT_REDUCTION_PERCENT] = min(100, absint($input[SettingsConfig::DISCOUNT_REDUCTION_PERCENT])); |
| 45 | + $interval = absint($input[SettingsConfig::AUTO_FULL_UPDATE_INTERVAL] ?? 0); | |
| 46 | + $input[SettingsConfig::AUTO_FULL_UPDATE_INTERVAL] = in_array($interval, [24, 48], true) ? $interval : 0; | |
| 45 | 47 | |
| 46 | 48 | return $input; |
| 49 | + } | |
| 50 | + | |
| 51 | + public static function isProductUpdateSelectionValid(?array $settings = null): bool | |
| 52 | + { | |
| 53 | + $settings = array_merge(self::getSettings() ?: [], $settings ?: []); | |
| 54 | + | |
| 55 | + if (($settings[SettingsConfig::SYNC_PRODUCT_FIELDS] ?? 'all') !== 'custom') return true; | |
| 56 | + | |
| 57 | + foreach (SettingsConfig::CUSTOM_PRODUCT_UPDATE_FIELDS as $field) { | |
| 58 | + $value = $settings[$field] ?? null; | |
| 59 | + if ($value === true || $value === 1 || $value === '1') return true; | |
| 60 | + } | |
| 61 | + | |
| 62 | + return false; | |
| 47 | 63 | } |
| 48 | 64 | |
| 49 | 65 | public static function getEffectiveTasksPerMinute() |
| 50 | 66 | { |