You are here

uc_shipping.install in Ubercart 5

File

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

function uc_shipping_install() {
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      db_query("CREATE TABLE {uc_shipments} (\n        sid mediumint(9) UNSIGNED NOT NULL,\n        order_id mediumint(9) UNSIGNED NOT NULL default 0,\n        o_first_name varchar(255) NOT NULL default '',\n        o_last_name varchar(255) NOT NULL default '',\n        o_company varchar(255) NOT NULL default '',\n        o_street1 varchar(255) NOT NULL default '',\n        o_street2 varchar(255) NOT NULL default '',\n        o_city varchar(255) NOT NULL default '',\n        o_zone mediumint(11) UNSIGNED NOT NULL default 0,\n        o_postal_code varchar(255) NOT NULL default '',\n        o_country mediumint(11) UNSIGNED NOT NULL default 0,\n        d_first_name varchar(255) NOT NULL default '',\n        d_last_name varchar(255) NOT NULL default '',\n        d_company varchar(255) NOT NULL default '',\n        d_street1 varchar(255) NOT NULL default '',\n        d_street2 varchar(255) NOT NULL default '',\n        d_city varchar(255) NOT NULL default '',\n        d_zone mediumint(11) UNSIGNED NOT NULL default 0,\n        d_postal_code varchar(255) NOT NULL default '',\n        d_country mediumint(11) UNSIGNED NOT NULL default 0,\n        shipping_method varchar(255) NOT NULL default '',\n        accessorials varchar(255) NOT NULL default '' default '',\n        carrier varchar(255) NOT NULL default '',\n        transaction_id varchar(255) NOT NULL default '',\n        tracking_number varchar(255) NOT NULL default '',\n        ship_date int(11) NOT NULL default 0,\n        expected_delivery int(11) NOT NULL default 0,\n        cost decimal(10,2) NOT NULL default 0.0,\n        PRIMARY KEY (sid)\n      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ;");
      db_query("CREATE TABLE {uc_packages} (\n        package_id mediumint(11) UNSIGNED NOT NULL,\n        order_id mediumint(11)UNSIGNED NOT NULL,\n        shipping_type varchar(255) NOT NULL default '',\n        pkg_type varchar(255) NOT NULL default '',\n        length float UNSIGNED NULL,\n        width float UNSIGNED NULL,\n        height float UNSIGNED NULL,\n        length_units varchar(255) NULL,\n        value decimal(10,2) UNSIGNED NULL,\n        sid mediumint(11) UNSIGNED NULL,\n        tracking_number varchar(255) NULL,\n        label_image varchar(255) NULL,\n        PRIMARY KEY (package_id)\n      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ;");
      db_query("CREATE TABLE {uc_packaged_products} (\n        package_id mediumint(11) UNSIGNED NOT NULL,\n        order_product_id mediumint(11) UNSIGNED NOT NULL,\n        qty int UNSIGNED NOT NULL default '0',\n        PRIMARY KEY (package_id, order_product_id)\n      ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ;");
      break;
    case 'pgsql':
      db_query("CREATE TABLE {uc_shipments} (\n        sid serial NOT NULL,\n        order_id integer NOT NULL default 0,\n        o_first_name varchar(255) NOT NULL default '',\n        o_last_name varchar(255) NOT NULL default '',\n        o_company varchar(255) NOT NULL default '',\n        o_street1 varchar(255) NOT NULL default '',\n        o_street2 varchar(255) NOT NULL default '',\n        o_city varchar(255) NOT NULL default '',\n        o_zone integer NOT NULL default 0,\n        o_postal_code varchar(255) NOT NULL default '',\n        o_country integer NOT NULL default 0,\n        d_first_name varchar(255) NOT NULL default '',\n        d_last_name varchar(255) NOT NULL default '',\n        d_company varchar(255) NOT NULL default '',\n        d_street1 varchar(255) NOT NULL default '',\n        d_street2 varchar(255) NOT NULL default '',\n        d_city varchar(255) NOT NULL default '',\n        d_zone integer NOT NULL default 0,\n        d_postal_code varchar(255) NOT NULL default '',\n        d_country integer NOT NULL default 0,\n        shipping_method varchar(255) NOT NULL default '',\n        accessorials varchar(255) NOT NULL default '',\n        carrier varchar(255) NOT NULL default '',\n        transaction_id varchar(255) NOT NULL default '',\n        tracking_number varchar(255) NOT NULL default '',\n        ship_date integer NOT NULL default 0,\n        expected_delivery integer NOT NULL default 0,\n        cost decimal(10,2) NOT NULL default 0.00,\n        PRIMARY KEY (sid)\n      );");
      db_query("CREATE TABLE {uc_packages} (\n        package_id serial NOT NULL,\n        order_id integer NOT NULL default 0,\n        shipping_type varchar(255) NOT NULL default '',\n        pkg_type varchar(255) NOT NULL default '',\n        length float NULL,\n        width float NULL,\n        height float NULL,\n        length_units varchar(255) NULL,\n        value decimal(10,2) NULL,\n        sid integer NULL,\n        tracking_number varchar(255) NULL,\n        label_image varchar(255) NULL,\n        PRIMARY KEY (package_id)\n      );");
      db_query("CREATE TABLE {uc_packaged_products} (\n        package_id integer NOT NULL default 0,\n        order_product_id integer NOT NULL default 0,\n        qty integer NOT NULL default 0,\n        PRIMARY KEY (package_id, order_product_id)\n      );");
      break;
  }
}
function uc_shipping_uninstall() {
  db_query("DROP TABLE {uc_shipments}");
  db_query("DROP TABLE {uc_packages}");
  db_query("DROP TABLE {uc_packaged_products}");
}
function uc_shipping_update_1() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("ALTER TABLE {uc_packages} CHANGE units length_units varchar(255) NULL");
      break;
    case 'pgsql':
      db_change_column($ret, 'uc_packages', 'units', 'length_units', 'varchar(255)', array(
        'not null' => false,
      ));
      break;
  }
  return $ret;
}

//function uc_shipping_update_2() {

// Abortive attempt at rearranging package_ids and order_product_ids.
// Leaving this here as a reminder to start the next update at "3".

//}
function uc_shipping_update_3() {
  $ret = array();
  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `order_id` order_id mediumint(9) UNSIGNED NOT NULL default 0");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `o_first_name` o_first_name varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `o_last_name` o_last_name varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `o_company` o_company varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `o_street1` o_street1 varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `o_street2` o_street2 varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `o_city` o_city varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `o_zone` o_zone mediumint(11) UNSIGNED NOT NULL default 0");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `o_postal_code` o_postal_code varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `o_country` o_country mediumint(11) UNSIGNED NOT NULL default 0");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `d_first_name` d_first_name varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `d_last_name` d_last_name varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `d_company` d_company varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `d_street1` d_street1 varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `d_street2` d_street2 varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `d_city` d_city varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `d_zone` d_zone mediumint(11) UNSIGNED NOT NULL default 0");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `d_postal_code` d_postal_code varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `d_country` d_country mediumint(11) UNSIGNED NOT NULL default 0");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `shipping_method` shipping_method varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `accessorials` accessorials varchar(255) NOT NULL default '' default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `carrier` carrier varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `transaction_id` transaction_id varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `tracking_number` tracking_number varchar(255) NOT NULL default ''");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `ship_date` ship_date int(11) NOT NULL default 0");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `expected_delivery` expected_delivery int(11) NOT NULL default 0");
      $ret[] = update_sql("ALTER TABLE {uc_shipments} CHANGE `cost` cost decimal(10,2) NOT NULL default 0.0");
      break;
  }
  return $ret;
}