You are here

uc_quote.install in Ubercart 5

File

shipping/uc_quote/uc_quote.install
View source
<?php

function uc_quote_install() {
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      db_query("CREATE TABLE {uc_quote_shipping_types} (\n        `id_type` varchar(127) NOT NULL ,\n        `id` mediumint(9) NOT NULL ,\n        `shipping_type` varchar(64) NOT NULL,\n        PRIMARY KEY (`id_type`, `id`)\n      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ;");
      db_query("CREATE TABLE {uc_quote_manufacturer_locations} (\n        `tid` mediumint(9) UNSIGNED NOT NULL,\n        `first_name` varchar(255) NOT NULL,\n        `last_name` varchar(255) NOT NULL,\n        `company` varchar(255) NOT NULL,\n        `street1` varchar(255) NOT NULL,\n        `street2` varchar(255) NOT NULL,\n        `city` varchar(255) NOT NULL,\n        `zone` mediumint(11) UNSIGNED NOT NULL,\n        `postal_code` varchar(255) NOT NULL,\n        `country` mediumint(11) UNSIGNED NOT NULL,\n        `phone` varchar(255) NOT NULL,\n        PRIMARY KEY (tid)\n      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ;");
      db_query("CREATE TABLE {uc_quote_product_locations} (\n        `nid` mediumint(9) UNSIGNED NOT NULL,\n        `first_name` varchar(255) NOT NULL,\n        `last_name` varchar(255) NOT NULL,\n        `company` varchar(255) NOT NULL,\n        `street1` varchar(255) NOT NULL,\n        `street2` varchar(255) NOT NULL,\n        `city` varchar(255) NOT NULL,\n        `zone` mediumint(11) UNSIGNED NOT NULL,\n        `postal_code` varchar(255) NOT NULL,\n        `country` mediumint(11) UNSIGNED NOT NULL,\n        `phone` varchar(255) NOT NULL,\n        PRIMARY KEY (nid)\n      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ;");
      db_query("CREATE TABLE {uc_order_quotes} (\n        `oid` mediumint(9) unsigned NOT NULL,\n        `method` varchar(25) NOT NULL,\n        `accessorials` varchar(255) NOT NULL,\n        `rate` decimal(10,2) NOT NULL,\n        `quote_form` text NOT NULL,\n        UNIQUE KEY `oid_quote_method` (`oid`,`method`)\n      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ;");
      break;
    case 'pgsql':
      db_query("CREATE TABLE {uc_quote_shipping_types} (\n        id_type varchar(127) NOT NULL default '',\n        id integer NOT NULL default 0,\n        shipping_type VARCHAR( 64 ) NOT NULL default '',\n        PRIMARY KEY (id_type, id)\n      );");
      db_query("CREATE TABLE {uc_quote_manufacturer_locations} (\n        tid integer NOT NULL default 0,\n        first_name varchar(255) NOT NULL default '',\n        last_name varchar(255) NOT NULL default '',\n        company varchar(255) NOT NULL default '',\n        street1 varchar(255) NOT NULL default '',\n        street2 varchar(255) NOT NULL default '',\n        city varchar(255) NOT NULL default '',\n        zone integer NOT NULL default 0,\n        postal_code varchar(255) NOT NULL default '',\n        country integer NOT NULL default 0,\n        phone varchar(255) NOT NULL default '',\n        PRIMARY KEY (tid)\n      );");
      db_query("CREATE TABLE {uc_quote_product_locations} (\n        nid integer NOT NULL default 0,\n        first_name varchar(255) NOT NULL default '',\n        last_name varchar(255) NOT NULL default '',\n        company varchar(255) NOT NULL default '',\n        street1 varchar(255) NOT NULL default '',\n        street2 varchar(255) NOT NULL default '',\n        city varchar(255) NOT NULL default '',\n        zone integer NOT NULL default 0,\n        postal_code varchar(255) NOT NULL default '',\n        country integer NOT NULL default 0,\n        phone varchar(255) NOT NULL default '',\n        PRIMARY KEY (nid)\n      );");
      db_query("CREATE TABLE {uc_order_quotes} (\n        oid int_unsigned NOT NULL default 0,\n        method varchar(25) NOT NULL default '',\n        accessorials varchar(255) NOT NULL default '',\n        rate decimal(10,2) NOT NULL default 0.00,\n        quote_form text NOT NULL default '',\n        PRIMARY KEY (oid,method)\n      ) WITHOUT OIDS;");
      break;
  }
}
function uc_quote_uninstall() {
  db_query("DROP TABLE {uc_quote_shipping_types}");
  db_query("DROP TABLE {uc_quote_manufacturer_locations}");
  db_query("DROP TABLE {uc_quote_product_locations}");
  db_query("DROP TABLE {uc_order_quotes}");
  variable_del('uc_quote_store_default_address');
  variable_del('uc_quote_log_errors');
  variable_del('uc_quote_display_debug');
  variable_del('uc_quote_require_quote');
  variable_del('uc_quote_enabled');
  variable_del('uc_quote_method_weight');
  variable_del('uc_quote_type_weight');
  variable_del('uc_store_shipping_type');
}
function uc_quote_update_1() {
  variable_del('uc_store_shipping_quote_type');
  $ret = array();
  $ret[] = update_sql("DROP TABLE {uc_quote_types}");
  $ret[] = update_sql("DROP TABLE {uc_order_fulfillments}");
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("ALTER TABLE {uc_order_quotes} CHANGE COLUMN accessorials accessorials varchar(255) NOT NULL");
      break;
    case 'pgsql':
      db_change_column($ret, 'uc_order_quotes', 'accessorials', 'accessorials', 'varchar(255)', array(
        'not null' => true,
        'default' => "''",
      ));
      break;
  }
  return $ret;
}
function uc_quote_update_2() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("CREATE TABLE {uc_quote_manufacturer_locations} (\n        `tid` mediumint(9) UNSIGNED NOT NULL,\n        `first_name` varchar(255) NOT NULL,\n        `last_name` varchar(255) NOT NULL,\n        `company` varchar(255) NOT NULL,\n        `address1` varchar(255) NOT NULL,\n        `address2` varchar(255) NOT NULL,\n        `city` varchar(255) NOT NULL,\n        `zone` mediumint(11) UNSIGNED NOT NULL,\n        `postal_code` varchar(255) NOT NULL,\n        `country` mediumint(11) UNSIGNED NOT NULL,\n        PRIMARY KEY (tid)\n      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ;");
      $ret[] = update_sql("CREATE TABLE {uc_quote_product_locations} (\n        `nid` mediumint(9) UNSIGNED NOT NULL,\n        `first_name` varchar(255) NOT NULL,\n        `last_name` varchar(255) NOT NULL,\n        `company` varchar(255) NOT NULL,\n        `address1` varchar(255) NOT NULL,\n        `address2` varchar(255) NOT NULL,\n        `city` varchar(255) NOT NULL,\n        `zone` mediumint(11) UNSIGNED NOT NULL,\n        `postal_code` varchar(255) NOT NULL,\n        `country` mediumint(11) UNSIGNED NOT NULL,\n        PRIMARY KEY (nid)\n      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ;");
      break;
    case 'pgsql':
      $ret[] = update_sql("CREATE TABLE {uc_quote_manufacturer_locations} (\n        tid integer UNSIGNED NOT NULL default 0,\n        first_name varchar(255) NOT NULL default '',\n        last_name varchar(255) NOT NULL default '',\n        company varchar(255) NOT NULL default '',\n        address1 varchar(255) NOT NULL default '',\n        address2 varchar(255) NOT NULL default '',\n        city varchar(255) NOT NULL default '',\n        zone integer UNSIGNED NOT NULL default 0,\n        postal_code varchar(255) NOT NULL default '',\n        country integer UNSIGNED NOT NULL default '',\n        PRIMARY KEY (tid)\n      );");
      $ret[] = update_sql("CREATE TABLE {uc_quote_product_locations} (\n        nid integer UNSIGNED NOT NULL default 0,\n        first_name varchar(255) NOT NULL default '',\n        last_name varchar(255) NOT NULL default '',\n        company varchar(255) NOT NULL default '',\n        address1 varchar(255) NOT NULL default '',\n        address2 varchar(255) NOT NULL default '',\n        city varchar(255) NOT NULL default '',\n        zone integer UNSIGNED NOT NULL default 0,\n        postal_code varchar(255) NOT NULL default '',\n        country integer UNSIGNED NOT NULL default '',\n        PRIMARY KEY (nid)\n      );");
      break;
  }
  return $ret;
}
function uc_quote_update_3() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("ALTER TABLE {uc_quote_manufacturer_locations} CHANGE COLUMN address1 street1 varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_quote_manufacturer_locations} CHANGE COLUMN address2 street2 varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_quote_product_locations} CHANGE COLUMN address1 street1 varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_quote_product_locations} CHANGE COLUMN address2 street2 varchar(255) NOT NULL default ''");
      break;
    case 'pgsql':
      db_change_column($ret, 'uc_quote_manufacturer_locations', 'address1', 'street1', 'varchar(255)', array(
        'not null' => true,
        'default' => "''",
      ));
      db_change_column($ret, 'uc_quote_manufacturer_locations', 'address2', 'street2', 'varchar(255)', array(
        'not null' => true,
        'default' => "''",
      ));
      db_change_column($ret, 'uc_quote_product_locations', 'address1', 'street1', 'varchar(255)', array(
        'not null' => true,
        'default' => "''",
      ));
      db_change_column($ret, 'uc_quote_product_locations', 'address2', 'street2', 'varchar(255)', array(
        'not null' => true,
        'default' => "''",
      ));
      break;
  }
  return $ret;
}
function uc_quote_update_4() {
  $ret = array();
  $ret[] = update_sql("DELETE FROM {uc_quote_product_locations} WHERE street1 = ''");
  $ret[] = update_sql("DELETE FROM {uc_quote_manufacturer_locations} WHERE street1 = ''");
  return $ret;
}
function uc_quote_update_5() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'pgsql':
      db_change_column($ret, 'uc_order_quotes', 'oid', 'oid', 'int_unsigned', array(
        'not null' => true,
        'default' => 0,
      ));
      break;
  }
  return $ret;
}
function uc_quote_update_6() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("ALTER TABLE {uc_quote_manufacturer_locations} ADD COLUMN phone varchar(255) NOT NULL");
      $ret[] = update_sql("ALTER TABLE {uc_quote_product_locations} ADD COLUMN phone varchar(255) NOT NULL");
      break;
    case 'pgsql':
      db_add_column($ret, 'uc_quote_manufacturer_locations', 'phone', 'varchar(255)', array(
        'not null' => true,
        'default' => "''",
      ));
      db_add_column($ret, 'uc_quote_product_locations', 'phone', 'varchar(255)', array(
        'not null' => true,
        'default' => "''",
      ));
      break;
  }
  $address = variable_get('uc_quote_store_default_address', new stdClass());
  $result = db_query("UPDATE {uc_quote_manufacturer_locations} SET phone = '%s'", $address->phone);
  $ret[] = array(
    'success' => $result !== FALSE,
    'query' => check_plain("UPDATE {uc_quote_manufacturer_locations} SET phone = '" . $address->phone . "'"),
  );
  $result = db_query("UPDATE {uc_quote_product_locations} SET phone = '%s'", $address->phone);
  $ret[] = array(
    'success' => $result !== FALSE,
    'query' => check_plain("UPDATE {uc_quote_product_locations} SET phone = '" . $address->phone . "'"),
  );
  return $ret;
}
function uc_quote_update_7() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'pgsql':
      $ret[] = update_sql("ALTER TABLE {uc_order_quotes} SET WITHOUT OIDS");
      break;
  }
  return $ret;
}
function uc_quote_update_8() {
  $ret = array();
  $ret[] = update_sql("DELETE FROM {uc_quote_shipping_types} WHERE id = 0");
  return $ret;
}