function location_phone_locationapi in Location 6.3
Same name and namespace in other branches
- 5.3 contrib/location_phone/location_phone.module \location_phone_locationapi()
- 5 contrib/location_phone/location_phone.module \location_phone_locationapi()
- 7.5 contrib/location_phone/location_phone.module \location_phone_locationapi()
- 7.3 contrib/location_phone/location_phone.module \location_phone_locationapi()
- 7.4 contrib/location_phone/location_phone.module \location_phone_locationapi()
Implementation of hook_locationapi().
File
- contrib/
location_phone/ location_phone.module, line 11 - Add phone number fields to Location address.
Code
function location_phone_locationapi(&$location, $op, $a3 = NULL, $a4 = NULL) {
switch ($op) {
case 'fields':
return array(
'phone' => t('Phone number'),
);
case 'defaults':
return array(
'phone' => array(
'default' => '',
'collect' => 0,
'weight' => 25,
),
);
case 'field_expand':
if ($a3 == 'phone') {
return array(
'#type' => 'textfield',
'#title' => t('Phone number'),
'#size' => 31,
'#maxlength' => 31,
'#description' => NULL,
'#required' => $a4 == 2,
'#default_value' => $location,
);
}
break;
case 'save':
db_query('DELETE FROM {location_phone} WHERE lid = %d', $location['lid']);
if (!empty($location['phone'])) {
db_query("INSERT INTO {location_phone} (lid, phone) VALUES (%d, '%s')", $location['lid'], $location['phone']);
}
break;
case 'load':
$fields = array(
'phone' => '',
);
if ($row = db_fetch_object(db_query('SELECT phone FROM {location_phone} WHERE lid = %d', $location['lid']))) {
$fields['phone'] = $row->phone;
}
return $fields;
case 'delete':
db_query('DELETE FROM {location_phone} WHERE lid = %d', $location['lid']);
break;
}
}