diff --git a/sites/all/modules/simplenews_scheduler/simplenews_scheduler.install b/sites/all/modules/simplenews_scheduler/simplenews_scheduler.install index 2660a65..8f1a1ef 100644 --- a/sites/all/modules/simplenews_scheduler/simplenews_scheduler.install +++ b/sites/all/modules/simplenews_scheduler/simplenews_scheduler.install @@ -2,23 +2,48 @@ function simplenews_scheduler_install() { - $result[] = db_query("CREATE TABLE {simplenews_scheduler} ( - sid int(10) NOT NULL auto_increment, - snid int(10) NOT NULL default '0', - run_count int NOT NULL default 0, - run_limit int NOT NULL, - last_run int(11) NOT NULL default 0, - sched_interval varchar(10), - sched_start int(11) NOT NULL, - PRIMARY KEY (sid) - ) /*!40100 DEFAULT CHARACTER SET utf8 */;"); - - $result[] = db_query("CREATE TABLE {simplenews_scheduler_editions} ( - `edition_snid` int(10) NOT NULL default '0', - `snid` int(10) NOT NULL default '0', - `date_issued` int(11) NOT NULL default '0' - ) ENGINE=MyISAM DEFAULT CHARSET=utf8;"); + switch ($GLOBALS['db_type']) { + case 'mysql': + $result[] = db_query("CREATE TABLE {simplenews_scheduler} ( + sid int(10) NOT NULL auto_increment, + snid int(10) NOT NULL default '0', + run_count int default 0, + run_limit int NOT NULL default 0, + last_run int(11) NOT NULL default 0, + sched_interval varchar(10), + sched_start int(11) NOT NULL, + PRIMARY KEY (sid) + ) /*!40100 DEFAULT CHARACTER SET utf8 */;"); + $result[] = db_query("CREATE TABLE {simplenews_scheduler_editions} ( + `edition_snid` int(10) NOT NULL default '0', + `snid` int(10) NOT NULL default '0', + `date_issued` int(11) NOT NULL default '0' + ) ENGINE=MyISAM DEFAULT CHARSET=utf8;"); + + break; + + case 'pgsql': + $result[] = db_query("CREATE TABLE simplenews_scheduler ( + sid serial, + snid int_unsigned NOT NULL default 0, + run_count int_unsigned NOT NULL default 0, + run_limit int_unsigned NOT NULL default 0, + last_run int_unsigned NOT NULL default 0, + sched_interval varchar(10), + sched_start int_unsigned NOT NULL default 0, + PRIMARY KEY (sid) + )"); + + $result[] = db_query(" + CREATE TABLE {simplenews_scheduler_editions} ( + edition_snid int_unsigned NOT NULL default 0, + snid int_unsigned NOT NULL default 0, + date_issued int_unsigned NOT NULL default 0 + )"); + + break; + } return $result; } diff --git a/sites/all/modules/simplenews_scheduler/simplenews_scheduler.module b/sites/all/modules/simplenews_scheduler/simplenews_scheduler.module index 086af09..f8d5eec 100644 --- a/sites/all/modules/simplenews_scheduler/simplenews_scheduler.module +++ b/sites/all/modules/simplenews_scheduler/simplenews_scheduler.module @@ -133,7 +133,7 @@ function simplenews_scheduler_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) { if( is_numeric($node->nid) && ($op == 'insert' || $op == 'update') && $node->type == 'simplenews' ) { if($_POST['send']) { - db_query("DELETE FROM {simplenews_scheduler} WHERE `snid` = %d",$node->nid); + db_query("DELETE FROM {simplenews_scheduler} WHERE snid = %d",$node->nid); } @@ -159,13 +159,13 @@ function simplenews_scheduler_nodeapi(&$node, $op, $a3 = NULL, $a4 = NULL) { } if($node->type == 'simplenews' && $op == 'load') { - $result = db_query("SELECT * FROM {simplenews_scheduler} WHERE `snid` = %d",$node->nid); + $result = db_query("SELECT * FROM {simplenews_scheduler} WHERE snid = %d",$node->nid); $row = db_fetch_array($result); if($row) { $node->simplenews_scheduler = $row; } else { // maybe this was an edition that has been sent? - $result = db_query("SELECT * FROM {simplenews_scheduler_editions} WHERE `edition_snid` = %d",$node->nid); + $result = db_query("SELECT * FROM {simplenews_scheduler_editions} WHERE edition_snid = %d",$node->nid); $row = db_fetch_array($result); if($row) { $node->simplenews_scheduler_edition = $row; @@ -197,7 +197,7 @@ function simplenews_scheduler_cron() { foreach($intervals as $interval => $seconds) { // check daily items that need to be sent $now_time = gmmktime(); - $result = db_query("SELECT * FROM {simplenews_scheduler} WHERE %d - last_run > %d AND `sched_interval` = '%s'", $now_time, $seconds, $interval); + $result = db_query("SELECT * FROM {simplenews_scheduler} WHERE %d - last_run > %d AND sched_interval = '%s'", $now_time, $seconds, $interval); while ($row = db_fetch_array($result) ) { $nid = simplenews_scheduler_new_edition($row["snid"]); @@ -289,7 +289,7 @@ function simplenews_scheduler_node_page( $nid ) { $output .= '

'; } else { $output .= t('No scheduled newsletters have been sent.'); - $result = db_fetch_array(db_query('SELECT count(*) as c from {simplenews_scheduler} WHERE `snid` = %d', $nid)); + $result = db_fetch_array(db_query('SELECT count(*) as c from {simplenews_scheduler} WHERE snid = %d', $nid)); if($result['c'] == '1') { $output .= '
'.t('This is the original newsletter of which all editions are based on.'); }