. July 2006 */ function lm_paypal_subscriptions_install() { $mysql_create_subscribers = " CREATE TABLE {lm_paypal_subscribers} ( usid int unsigned not null auto_increment, kind int unsigned not null default 0, uid int(10) unsigned not null, nid int(10) unsigned not null default 0, subid mediumint unsigned not null, started int(11) unsigned not null default 0, status int(4) unsigned not null, subscr_id varchar(20) default null, # ID generated by PayPal for this subscription email_sent int(1) unsigned not null default '0', KEY uid (uid), KEY subscr_id (subscr_id), PRIMARY KEY(usid) ) /*!40100 DEFAULT CHARACTER SET utf8 */;"; $mysql_create_subscriptions = " CREATE TABLE {lm_paypal_subscriptions} ( subid mediumint unsigned not null auto_increment, kind int unsigned not null default 0, rid int(10) unsigned not null, item_name varchar(127) not null default '', description varchar(200) default '', a1 decimal(10,2) default null, p1 mediumint unsigned default null, t1 char(1) default null, a2 decimal(10,2) default null, p2 mediumint unsigned default null, t2 char(1) default null, a3 decimal(10,2) default null, p3 mediumint unsigned default null, t3 char(1) default null, src int(1) default null, srt mediumint unsigned default null, currency_code varchar(3) default null, status int(4) not null, # live, defunct return_url varchar(200) default '', uid_admin int(10) unsigned not null, send_admin_onsub int(1) unsigned not null default '0', send_admin_onend int(1) unsigned not null default '0', send_user_onsub int(1) unsigned not null default '0', send_user_onsub_subject varchar(80) default '', send_user_onsub_body text, nearend_days int unsigned not null default '0', send_user_onnearend int(1) unsigned not null default '0', send_user_onnearend_subject varchar(80) default '', send_user_onnearend_body text, send_user_onend int(1) unsigned not null default '0', send_user_onend_subject varchar(80) default '', send_user_onend_body text, terms text, primary key(subid) ) /*!40100 DEFAULT CHARACTER SET utf8 */ ;"; $ret = ''; switch ($GLOBALS['db_type']) { case 'mysql': case 'mysqli': $ret .= lm_paypal_subscriptions_create_table('lm_paypal_subscribers', $mysql_create_subscribers); $ret .= lm_paypal_subscriptions_create_table('lm_paypal_subscriptions', $mysql_create_subscriptions); break; case 'pgsql': watchdog('lm_paypal_subscriptions', t('pgsql not supported yet'), WATCHDOG_ERROR); return; break; } if ($ret == '') { $msg = t('lm_paypal_subscriptions created tables'); } else { $msg = t('lm_paypal_subscriptions FAILED to create tables:') . $ret; } drupal_set_message($msg); } function lm_paypal_subscriptions_create_table($table, $sql) { $res = db_query($sql); if (!$res) { $ret = t('Failed to create table:') . $table . t('. '); watchdog('lm_paypal', $ret, WATCHDOG_ERROR); return $ret; } return ''; } function lm_paypal_subscriptions_update_1() { $items = array(); $items[] = update_sql("ALTER TABLE {lm_paypal_subscribers} CHANGE datepaid started int(11) unsigned not null"); return $items; } function lm_paypal_subscriptions_update_2() { $items = array(); $items[] = update_sql("ALTER TABLE {lm_paypal_subscribers} ADD email_sent int(1) unsigned not null default '0'"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscribers} CHANGE status status int(4) unsigned not null"); return $items; } function lm_paypal_subscriptions_update_3() { $items = array(); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD uid_admin int(10) unsigned not null "); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_admin_onsub int(1) unsigned not null default '0'"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_admin_onend int(1) unsigned not null default '0'"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_user_onsub int(1) unsigned not null default '0'"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_user_onsub_subject varchar(80) default ''"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_user_onsub_body varchar(200) default ''"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD nearend_days int unsigned not null default '0'"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_user_onnearend int(1) unsigned not null default '0'"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_user_onnearend_subject varchar(80) default ''"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_user_onnearend_body varchar(200) default ''"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_user_onend int(1) unsigned not null default '0'"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_user_onend_subject varchar(80) default ''"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD send_user_onend_body varchar(200) default ''"); return $items; } function lm_paypal_subscriptions_update_4() { $items = array(); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD kind int unsigned not null default 0 AFTER subid"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscribers} ADD kind int unsigned not null default 0 AFTER usid"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscribers} ADD nid int(10) unsigned not null default 0 AFTER uid"); return $items; } function lm_paypal_subscriptions_update_5() { $items = array(); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD return_url varchar(200) default '' AFTER subid"); return $items; } function lm_paypal_subscriptions_update_6() { $items = array(); $items[] = update_sql("ALTER TABLE {lm_paypal_subscribers} CHANGE started started int(11) unsigned not null default 0"); return $items; } function lm_paypal_subscriptions_update_7() { $items = array(); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} CHANGE send_user_onsub_body send_user_onsub_body text(2000)"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} CHANGE send_user_onnearend_body send_user_onnearend_body text(2000)"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} CHANGE send_user_onend_body send_user_onend_body text(2000)"); return $items; } function lm_paypal_subscriptions_update_8() { $items = array(); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} ADD terms text(2000) AFTER send_user_onend_body "); return $items; } // Sigh... some users report that text(2000) doesn't work so switch to just text function lm_paypal_subscriptions_update_9() { $items = array(); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} CHANGE send_user_onsub_body send_user_onsub_body text"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} CHANGE send_user_onnearend_body send_user_onnearend_body text"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} CHANGE send_user_onend_body send_user_onend_body text"); $items[] = update_sql("ALTER TABLE {lm_paypal_subscriptions} CHANGE terms terms text"); return $items; } ?>