1. <?php
  2. /**
  3. * Monitors the state of date values in a legacy project with default values.
  4. * This script checks for specific date fields and updates them if they are missing or have default values.
  5. */
  6. // Configuration - Define the fields to monitor and their default values.
  7. $dateFields = [
  8. 'created_at' => '1970-01-01 00:00:00', // Default timestamp
  9. 'updated_at' => '1970-01-01 00:00:00', // Default timestamp
  10. 'start_date' => '1970-01-01 00:00:00', // Default timestamp
  11. 'end_date' => '9999-12-31 23:59:59' // Default timestamp
  12. ];
  13. // Function to check and update a date field.
  14. function checkAndUpdateDate($fieldName, $defaultValue) {
  15. // Check if the field is set.
  16. if (isset($_POST[$fieldName]) && $_POST[$fieldName] !== '') {
  17. return true; // Field is set and not empty
  18. }
  19. // Field is missing or empty, set to default value.
  20. $_POST[$fieldName] = $defaultValue;
  21. return false; // Field was updated
  22. }
  23. // Process form data. Replace with your actual form processing logic.
  24. if ($_SERVER["REQUEST_METHOD"] == "POST") {
  25. foreach ($dateFields as $fieldName => $defaultValue) {
  26. checkAndUpdateDate($fieldName, $defaultValue);
  27. }
  28. }
  29. //Example Output - for debugging purposes
  30. echo "<pre>";
  31. print_r($_POST);
  32. echo "</pre>";
  33. ?>

Add your comment