PluginProbe
ووسلام – همگام سازی ووکامرس و باسلام / 1.10.28
ووسلام – همگام سازی ووکامرس و باسلام v1.10.28
1.10.28 1.1.26 1.10.27 1.10.24 1.10.25 1.10.23 1.10.22 1.10.21 1.10.19 1.10.20 1.10.18 1.10.17 1.10.15 1.10.14 1.10.13 1.10.12 1.10.10 1.10.9 1.10.8 1.10.7 1.10.6 1.10.5 1.10.4 1.10.3 1.10.2 All 61 releases
← All changes | includes/Admin/Settings/SettingsPageHandler.php +18 -1 1.1.26 → 1.10.28 View file →
@@ -16,11 +16,28 @@
16 16
17 17 public static function saveSettings()
18 18 {
19 19 $data = isset($_POST['sync_basalam_settings']) ? array_map('sanitize_text_field', wp_unslash($_POST['sync_basalam_settings'])) : [];
20 + $toggleProductSync = !empty($_POST['sync_basalam_toggle_product']);
20 21
22 + if ($toggleProductSync) {
23 + $nextStatus = !SettingsManager::getSettings(SettingsConfig::SYNC_STATUS_PRODUCT);
24 + $nextValue = $nextStatus ? '1' : '0';
25 + $data[SettingsConfig::SYNC_STATUS_PRODUCT] = $nextValue;
26 + $data[SettingsConfig::SYNC_STATUS_PRODUCT_CREATE] = $nextValue;
27 + $data[SettingsConfig::SYNC_STATUS_PRODUCT_UPDATE] = $nextValue;
28 + }
29 +
21 30 if ($data) {
22 - if (!SettingsManager::isProductUpdateSelectionValid($data)) {
31 + $syncToggleSubmitted = array_key_exists(SettingsConfig::SYNC_STATUS_PRODUCT, $data)
32 + || array_key_exists(SettingsConfig::SYNC_STATUS_PRODUCT_CREATE, $data)
33 + || array_key_exists(SettingsConfig::SYNC_STATUS_PRODUCT_UPDATE, $data);
34 + $candidateSettings = SettingsManager::sanitizeSettings($data);
35 +
36 + if (
37 + (!$syncToggleSubmitted || $candidateSettings[SettingsConfig::SYNC_STATUS_PRODUCT_UPDATE])
38 + && !SettingsManager::isProductUpdateSelectionValid($data)
39 + ) {
23 40 self::pushValidationError(SettingsConfig::CUSTOM_PRODUCT_UPDATE_REQUIRED_MESSAGE);
24 41 return false;
25 42 }
26 43