You are here

function double_field_property_callback in Double Field 7.2

Same name and namespace in other branches
  1. 7 double_field.module \double_field_property_callback()

Alter the property info of double field subfields.

1 string reference to 'double_field_property_callback'
double_field_field_info in ./double_field.module
Implements hook_field_info().

File

./double_field.module, line 39
Defines "Double field" field type.

Code

function double_field_property_callback(&$info, $entity_type, $field, $instance, $field_type) {
  $property =& $info[$entity_type]['bundles'][$instance['bundle']]['properties'][$field['field_name']];
  $property['getter callback'] = 'entity_metadata_field_verbatim_get';
  $property['setter callback'] = 'entity_metadata_field_verbatim_set';
  foreach (array(
    'first',
    'second',
  ) as $subfield) {
    $property['property info'][$subfield] = array(
      'label' => $subfield == 'first' ? t('First subfield') : t('Second subfield'),
      'setter callback' => 'entity_property_verbatim_set',
    );
    switch ($field['settings'][$subfield]['type']) {
      case 'varchar':
      case 'text':
        $property['property info'][$subfield]['type'] = 'text';
        break;
      case 'int':
        $property['property info'][$subfield]['type'] = 'integer';
        break;
      case 'float':
      case 'decimal':
        $property['property info'][$subfield]['type'] = 'decimal';
        break;
    }
  }
  unset($property['query callback']);
}