address-optional.inc 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. /**
  3. * @file
  4. * Make all fields optional.
  5. * Allows users to save incomplete addresses, bypassing validation.
  6. */
  7. $plugin = array(
  8. 'title' => t('Make all fields optional (No validation - unsuitable for postal purposes)'),
  9. 'format callback' => 'addressfield_format_address_optional',
  10. 'type' => 'address',
  11. 'weight' => 100,
  12. );
  13. /**
  14. * Format callback.
  15. *
  16. * @see CALLBACK_addressfield_format_callback()
  17. */
  18. function addressfield_format_address_optional(&$format, $address, $context = array()) {
  19. if (isset($format['name_block'])) {
  20. if (isset($format['name_block']['name_line'])) {
  21. $format['name_block']['name_line']['#required'] = FALSE;
  22. }
  23. elseif (isset($format['name_block']['first_name'])) {
  24. $format['name_block']['first_name']['#required'] = FALSE;
  25. $format['name_block']['last_name']['#required'] = FALSE;
  26. }
  27. }
  28. $format['street_block']['thoroughfare']['#required'] = FALSE;
  29. $format['locality_block']['postal_code']['#required'] = FALSE;
  30. $format['locality_block']['dependent_locality']['#required'] = FALSE;
  31. $format['locality_block']['locality']['#required'] = FALSE;
  32. $format['locality_block']['administrative_area']['#required'] = FALSE;
  33. }