location_fax_locationapi

  1. drupal
    1. 6 location_fax.module function
    2. 7 location_fax.module function
Drupal 7 location_fax_locationapi(&$location, $op, $a3 = NULL, $a4 = NULL)

Implements hook_locationapi().

File

sites/all/modules/location/contrib/location_fax/location_fax.module, line 11
Add fax number fields to Location address.

Code

function location_fax_locationapi(&$location, $op, $a3 = NULL, $a4 = NULL) {
  switch ($op) {
    case 'fields':
      return array('fax' => t('Fax number'));

    case 'defaults':
      return array(
        'fax' => array('default' => '', 'collect' => 0, 'weight' => 30),
      );

    case 'field_expand':
      if ($a3 == 'fax') {
        return array(
          '#type' => 'textfield', 
          '#title' => t('Fax number'), 
          '#size' => 31, 
          '#maxlength' => 31, 
          '#description' => NULL, 
          '#required' => ($a4 == 2), 
          '#default_value' => $location,
        );
      }
      break;

    case 'save':
      db_delete('location_fax')
        ->condition('lid', $location['lid'])
        ->execute();
      if (!empty($location['fax'])) {
        db_insert('location_fax')
          ->fields(array(
          'lid' => $location['lid'], 
          'fax' => $location['fax'],
        ))
          ->execute();
      }
      break;

    case 'load':
      $fields = array();
      $fax = db_query('SELECT fax FROM {location_fax} WHERE lid = :lid', array(':lid' => $location['lid']))->fetchField();
      $fields['fax'] = $fax ? $fax : '';
      return $fields;

    case 'delete':
      db_delete('location_fax')
        ->condition('lid', $location['lid'])
        ->execute();
      break;
  }
}