You are here

function location_fax_locationapi in Location 7.4

Same name and namespace in other branches
  1. 5.3 contrib/location_fax/location_fax.module \location_fax_locationapi()
  2. 5 contrib/location_fax/location_fax.module \location_fax_locationapi()
  3. 6.3 contrib/location_fax/location_fax.module \location_fax_locationapi()
  4. 7.5 contrib/location_fax/location_fax.module \location_fax_locationapi()
  5. 7.3 contrib/location_fax/location_fax.module \location_fax_locationapi()

Implementation of hook_locationapi().

File

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_query('DELETE FROM {location_fax} WHERE lid = :lid', array(
        ':lid' => $location['lid'],
      ));
      if (!empty($location['fax'])) {
        db_query("INSERT INTO {location_fax} (lid, fax) VALUES (:lid, :fax)", array(
          ':lid' => $location['lid'],
          ':fax' => $location['fax'],
        ));
      }
      break;
    case 'load':
      $fields = array(
        'fax' => '',
      );
      if ($result = db_query('SELECT fax FROM {location_fax} WHERE lid = :lid', array(
        ':lid' => $location['lid'],
      ))
        ->fetchObject()) {
        $fields['fax'] = $result->fax;
      }
      return $fields;
    case 'delete':
      db_query('DELETE FROM {location_fax} WHERE lid = :lid', array(
        ':lid' => $location['lid'],
      ));
      break;
  }
}