<?php
// $Id: location_fax.install,v 1.10 2008/10/03 01:11:15 bdragon Exp $

/**
 * @file
 * Installation routines.
 */

/**
 * Implementation of hook_schema().
 */
function location_fax_schema() {
  $schema['location_fax'] = array(
    'description' => 'location_fax.module {location} supplementary table.',
    'fields' => array(
      'lid' => array(
        'description' => '{location}.lid',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
        'default' => 0,
      ),
      'fax' => array(
        'description' => 'Fax number',
        'type' => 'varchar',
        'length' => 31,
        'not null' => TRUE,
        'default' => '',
      ),
    ),
    'primary key' => array('lid'),
  );

  return $schema;
}

/**
 * Implementation of hook_install().
 */
function location_fax_install() {
  drupal_install_schema('location_fax');

  // Change weight so we execute after location.
  db_query("UPDATE {system} SET weight = 1 WHERE name = '%s' AND type = '%s'", 'location_fax', 'module');
}

/**
 * Implementation of hook_uninstall().
 */
function location_fax_uninstall() {
  drupal_uninstall_schema('location_fax');
}

/**
 * Location 3.0 update 1.
 * Fix pgsql -- The table definition was broken.
 */
function location_fax_update_5300() {
  $ret = array();

  // Drupal 6 note: These should only affect postgresql, but are safe
  // to run on mysql as well, so I don't bother checking db types.

  if (!db_table_exists('location_fax')) {
    db_create_table($ret, 'location_fax', array(
      'fields' => array(
        'lid' => array('type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0),
        'fax' => array('type' => 'varchar', 'length' => 31, 'default' => NULL),
      ),
      'primary key' => array('lid'),
    ));
  }
  return $ret;
}

/**
 * Location 3.0 update 2.
 * Change weight of module.
 */
function location_fax_update_5301() {
  $ret = array();
  // This update was moved to update 5302.
  return $ret;
}

/**
 * Location 3.0 update 2.
 * Change weight of module.
 */
function location_fax_update_5302() {
  $ret = array();
  // Change weight.
  $ret[] = update_sql("UPDATE {system} SET weight = 1 WHERE name = 'location_fax' AND type = 'module'");
  return $ret;
}

/**
 * Drupal 6 updates.
 */
function location_fax_update_6301() {
  $ret = array();

  db_change_field($ret, 'location_fax', 'fax', 'fax', array(
    'type' => 'varchar',
    'length' => 31,
    'not null' => TRUE,
    'default' => '',
  ));

  return $ret;
}
