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