Code:
if (!$sniffer->table_exists(TABLE_LINKPOINT_API)) {
$sql = "CREATE TABLE " . TABLE_LINKPOINT_API . " (
id int(11) unsigned NOT NULL auto_increment,
customer_id varchar(11) NOT NULL default '',
lp_trans_num varchar(64) NOT NULL default '',
order_id int(11) NOT NULL default '0',
avs_response varchar(4) NOT NULL default '',
r_error varchar(250) NOT NULL default '',
approval_code varchar(254) NOT NULL default '',
transaction_result varchar(25) NOT NULL default '',
message text NOT NULL,
transaction_response_time varchar(25) NOT NULL default '',
transaction_time varchar(50) NOT NULL default '',
transaction_reference_number varchar(64) NOT NULL default '',
fraud_score int(11) NOT NULL default '0',
cc_number varchar(20) NOT NULL default '',
cc_expire varchar(12) NOT NULL default '',
cust_info text NOT NULL,
chargetotal decimal(15,4) NOT NULL default '0.0000',
date_added datetime NOT NULL default '0001-01-01 00:00:00',
PRIMARY KEY (id),
KEY idx_customer_id_zen (customer_id) )";
$db->Execute($sql);
} else {
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'customer_id')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD customer_id varchar(11) NOT NULL default '' after id");
if ($sniffer->field_exists(TABLE_LINKPOINT_API, 'lp_order_id')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " CHANGE COLUMN lp_order_id lp_trans_num varchar(64) NOT NULL default ''");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'r_error')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD r_error varchar(250) NOT NULL default '' after avs_response");
if ($sniffer->field_exists(TABLE_LINKPOINT_API, 'approval_code')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " CHANGE COLUMN approval_code approval_code varchar(254) NOT NULL default ''");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'transaction_result')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD transaction_result varchar(25) NOT NULL default '' after approval_code");
if ($sniffer->field_exists(TABLE_LINKPOINT_API, 'message')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " CHANGE COLUMN message message text NOT NULL");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'transaction_response_time')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD transaction_response_time varchar(25) NOT NULL default '' after message");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'transaction_time')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD transaction_time varchar(50) NOT NULL default '' after transaction_response_time");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'transaction_reference_number')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD transaction_reference_number varchar(64) NOT NULL default '' after transaction_time");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'fraud_score')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD fraud_score int(11) NOT NULL default '0' after transaction_reference_number");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'cc_number')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD cc_number varchar(20) NOT NULL default '' after fraud_score");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'cc_expire')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD cc_expire varchar(12) NOT NULL default '' after cc_number");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'cust_info')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD cust_info text NOT NULL after cc_expire");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'chargetotal')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD chargetotal decimal(15,4) NOT NULL default '0.0000' after cust_info");
if (!$sniffer->field_exists(TABLE_LINKPOINT_API, 'date_added')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " ADD date_added datetime NOT NULL default '0001-01-01 00:00:00' after chargetotal");
if ($sniffer->field_exists(TABLE_LINKPOINT_API, 'zen_order_id')) $db->Execute("ALTER TABLE " . TABLE_LINKPOINT_API . " CHANGE COLUMN zen_order_id order_id int(11) NOT NULL default '0'");
}
if (!$sniffer->field_exists(TABLE_ORDERS, 'lp_avs')) {
$sql = "ALTER TABLE " . TABLE_ORDERS . " ADD lp_avs VARCHAR( 25 ) NOT NULL DEFAULT ''";
$db->Execute($sql);
}
if (!$sniffer->field_exists(TABLE_ORDERS, 'lp_trans_num')) {
$sql = "ALTER TABLE " . TABLE_ORDERS . " ADD lp_trans_num varchar(64) NOT NULL DEFAULT ''";
$db->Execute($sql);
}
if ($sniffer->field_type(TABLE_ORDERS, 'lp_trans_num', 'varchar(64)', true) !== true) {
$sql = "ALTER TABLE " . TABLE_ORDERS . " CHANGE lp_trans_num lp_trans_num varchar(64) NOT NULL DEFAULT ''";
$db->Execute($sql);
}