Index: user_badges.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_badges/user_badges.install,v
retrieving revision 1.1
diff -u -p -r1.1 user_badges.install
--- user_badges.install	25 Jul 2006 14:28:20 -0000	1.1
+++ user_badges.install	20 Feb 2007 04:08:38 -0000
@@ -2,25 +2,62 @@
 // $Id: user_badges.install,v 1.1 2006/07/25 14:28:20 heine Exp $
 
 function user_badges_install() {
-  $ret = array();
-  $ret[] = db_query("CREATE TABLE {user_badges_badges} (
-  bid int(10) NOT NULL default '0',
-  name varchar(50) NOT NULL default '',
-  image varchar(80) NOT NULL default '',
-  weight int(2) NOT NULL default '0'
-  )");
-  $ret[] = db_query("CREATE TABLE {user_badges_product} (
-  bid int(10) NOT NULL default '0',
-  nid int(10) NOT NULL default '0'
-)");
-  $ret[] = db_query("CREATE TABLE {user_badges_roles} (
-  rid int(10) NOT NULL default '0',
-  bid int(10) NOT NULL default '0'
-)");
-  $ret[] = db_query("CREATE TABLE {user_badges_user} (
-  uid int(10) NOT NULL default '0',
-  bid int(10) NOT NULL default '0',
-  type varchar(20) NOT NULL default ''
-)");
-  return $ret;
-}
+  switch ($GLOBALS['db_type']) {
+    case 'mysql':
+    case 'mysqli':
+      db_query("CREATE TABLE {user_badges_badges} (
+        bid int(10) NOT NULL default '0',
+        name varchar(50) NOT NULL default '',
+        image varchar(80) NOT NULL default '',
+        weight int(2) NOT NULL default '0'
+      )");
+
+      db_query("CREATE TABLE {user_badges_product} (
+        bid int(10) NOT NULL default '0',
+        nid int(10) NOT NULL default '0'
+      )");
+
+      db_query("CREATE TABLE {user_badges_roles} (
+        rid int(10) NOT NULL default '0',
+        bid int(10) NOT NULL default '0'
+      )");
+
+      db_query("CREATE TABLE {user_badges_user} (
+        uid int(10) NOT NULL default '0',
+        bid int(10) NOT NULL default '0',
+        type varchar(20) NOT NULL default ''
+      )");
+
+      break;
+    case 'pgsql':
+      db_query("CREATE TABLE {user_badges_badges} (
+        bid int NOT NULL default '0',
+        name varchar(50) NOT NULL default '',
+        image varchar(80) NOT NULL default '',
+        weight int NOT NULL default '0',
+        PRIMARY KEY (bid)
+      ); ");
+
+      db_query("CREATE SEQUENCE {user_badges_badges}_seq");
+
+      db_query("CREATE TABLE {user_badges_product} (
+        bid int NOT NULL default '0',
+        nid int NOT NULL default '0'
+      ); ");
+
+      db_query("CREATE TABLE {user_badges_roles} (
+        rid int NOT NULL default '0',
+        bid int NOT NULL default '0'
+      ); ");
+
+      db_query("CREATE TABLE {user_badges_user} (
+        uid int NOT NULL default '0',
+        bid int NOT NULL default '0',
+        type varchar(20) NOT NULL default ''
+      ); ");
+
+      break;
+    default:
+      break;
+  }
+}
\ No newline at end of file
Index: user_badges.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/user_badges/user_badges.module,v
retrieving revision 1.14
diff -u -p -r1.14 user_badges.module
--- user_badges.module	17 Jan 2007 06:51:01 -0000	1.14
+++ user_badges.module	20 Feb 2007 04:06:01 -0000
@@ -293,7 +293,7 @@ function user_badges_user_save($edit, $u
  * @return unknown
  */
 function user_badges_user_add_badge($uid, $bid, $type = NULL){
-  return db_query('INSERT INTO {user_badges_user} (uid, bid, type) VALUES (%d, %d, "%s")', $uid, $bid, $type);
+  return db_query('INSERT INTO {user_badges_user} (uid, bid, type) VALUES (%d, %d, \'%s\')', $uid, $bid, $type);
 }
 
 function user_badges_user_remove_badge($uid, $bid, $type = NULL){
@@ -301,7 +301,7 @@ function user_badges_user_remove_badge($
     return db_query('DELETE FROM {user_badges_user} WHERE uid=%d AND bid=%d', $uid, $bid);
   }
   else {
-    return db_query('DELETE FROM {user_badges_user} WHERE uid=%d AND bid=%d AND type="%s"', $uid, $bid, $type);
+    return db_query('DELETE FROM {user_badges_user} WHERE uid=%d AND bid=%d AND type=\'%s\'', $uid, $bid, $type);
   }
 }
 
@@ -477,10 +477,10 @@ function user_badges_roles_form_submit($
 function user_badges_get_badges($uid) {
   $badges = array();
   if ($uid == 'all' || $uid == 'select') {
-    $sql = db_query('SELECT b.bid, b.name, b.image FROM {user_badges_badges} b ORDER BY b.weight, b.name');
+    $sql = db_query('SELECT b.bid, b.weight, b.name, b.image FROM {user_badges_badges} b ORDER BY b.weight, b.name');
   }
   else {
-    $sql = db_query('SELECT DISTINCT b.bid, b.name, b.image FROM {user_badges_badges} b INNER JOIN {user_badges_user} u ON b.bid = u.bid WHERE u.uid = %d ORDER BY b.weight, b.name', $uid);
+    $sql = db_query('SELECT DISTINCT b.bid, b.weight, b.name, b.image FROM {user_badges_badges} b INNER JOIN {user_badges_user} u ON b.bid = u.bid WHERE u.uid = %d ORDER BY b.weight, b.name', $uid);
   }
   while ($badge = db_fetch_object($sql)) {
     if ($uid == 'select') {
