View source
<?php
function uc_recurring_install() {
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
db_query("CREATE TABLE {uc_recurring_products} (\n pfid mediumint(9) NOT NULL,\n model varchar(255) NOT NULL,\n fee_amount decimal(10,2) NOT NULL,\n initial_charge varchar(255) NOT NULL,\n regular_interval varchar(255) NOT NULL,\n number_intervals smallint(4) NOT NULL,\n PRIMARY KEY pfid (pfid)\n ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
db_query("CREATE TABLE {uc_recurring_users} (\n rfid mediumint(9) NOT NULL,\n uid mediumint(9) NOT NULL,\n fee_handler varchar(255) NOT NULL,\n next_charge int(11) NOT NULL,\n fee_amount decimal(10,2) NOT NULL,\n regular_interval varchar(255) NOT NULL,\n remaining_intervals smallint(4) NOT NULL,\n charged_intervals smallint(4) NOT NULL,\n order_id mediumint(9) NOT NULL,\n data text NOT NULL,\n created int(11) NOT NULL,\n PRIMARY KEY rfid (rfid)\n ) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
break;
case 'pgsql':
db_query("CREATE TABLE {uc_recurring_products} (\n pfid integer NOT NULL default 0,\n model varchar(255) NOT NULL default '',\n fee_amount decimal(10,2) NOT NULL default 0.0,\n initial_charge varchar(255) NOT NULL default '',\n regular_interval varchar(255) NOT NULL default '',\n number_intervals integer NOT NULL default 0,\n PRIMARY KEY (pfid)\n )");
db_query("CREATE TABLE {uc_recurring_users} (\n rfid integer NOT NULL default 0,\n uid integer NOT NULL default 0,\n next_charge integer NOT NULL default 0,\n fee_amount decimal(10,2) NOT NULL default 0.0,\n regular_interval varchar(255) NOT NULL default '',\n remaining_intervals integer NOT NULL default 0,\n charged_intervals integer NOT NULL default 0,\n order_id integer NOT NULL default 0,\n data text NOT NULL,\n created integer NOT NULL,\n PRIMARY KEY (rfid)\n )");
break;
}
}
function uc_recurring_uninstall() {
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
db_query("DROP TABLE IF EXISTS {uc_recurring_products}");
db_query("DROP TABLE IF EXISTS {uc_recurring_users}");
break;
case 'pgsql':
db_query("DROP TABLE {uc_recurring_products}");
db_query("DROP TABLE {uc_recurring_users}");
break;
}
db_query("DELETE FROM {variable} WHERE name LIKE 'uc_recurring_%%'");
cache_clear_all('variables', 'cache');
}
function uc_recurring_update_1() {
$ret = array();
switch ($GLOBALS['db_type']) {
case 'mysql':
case 'mysqli':
$ret[] = update_sql("ALTER TABLE {uc_recurring_users} ADD fee_handler VARCHAR(255) NOT NULL AFTER uid");
break;
case 'pgsql':
db_add_column($ret, 'uc_recurring_users', 'fee_handler', 'varchar(255)', array(
'not null' => TRUE,
'default' => "''",
));
break;
}
if (variable_get('uc_recurring_handler', 'uc_recurring') == 'uc_recurring') {
$ret[] = update_sql("UPDATE {uc_recurring_users} SET fee_handler = 'uc_recurring'");
}
return $ret;
}