--- fast_gallery.class.php	2009-04-08 11:26:56.000000000 -0300
+++ fast_gallery.class.php	2009-06-15 16:03:12.000000000 -0300
@@ -455,8 +455,8 @@
           }
 
     // Form the appropriate SQL query for folders
-    if ($folder_sort_by == 'path') {
-      $sql_folders = "SELECT path, fg.folder, gid FROM {fast_gallery} AS fg " .
+    if ($folder_sort_by == 'path') {      
+      $sql_folders = "SELECT fg.path, fg.folder, gid FROM {fast_gallery} AS fg " .
       "RIGHT JOIN " .
       "(SELECT DISTINCT folder FROM {fast_gallery} WHERE parent='%s') " .
       "AS fldrs " .
@@ -464,16 +464,30 @@
       "ORDER by path %s";
     } else
       if ($folder_sort_by == 'date') {
-        $sql_folders = "SELECT path, fg.folder, fg.gid, fe.value FROM {fast_gallery} AS fg, " .
-        "{fast_gallery_exif} AS fe " .
-        "RIGHT JOIN " .
-        "(SELECT DISTINCT folder FROM {fast_gallery} WHERE parent='%s') " .
-        "AS fldrs " .
-        "ON 1 WHERE fg.folder=fldrs.folder " .
-        "AND fg.gid=fe.gid " .
-        "AND fe.field='dateTaken' " .
-        "GROUP by folder " .
-        "ORDER by value %s";
+
+	// fix for supporting postgresql
+	global $db_type;
+	if ($db_type == 'mysql') {
+	  $sql_folders = "SELECT path, fg.folder, fg.gid, fe.value FROM {fast_gallery} AS fg, " .
+          "{fast_gallery_exif} AS fe " .
+          "RIGHT JOIN " .
+	  "(SELECT DISTINCT folder FROM {fast_gallery} WHERE parent='%s') " .
+          "AS fldrs " .
+          "ON 1 WHERE fg.folder=fldrs.folder " .
+          "AND fg.gid=fe.gid " .
+          "AND fe.field='dateTaken' " .
+          "GROUP by folder " .
+          "ORDER by value %s";
+	} else if ($db_type == 'pgsql') {
+	  $sql_folders = "SELECT " .
+	  "DISTINCT ON (fg.folder) fg.path, fg.folder, fg.gid, fe.value " .
+          "FROM fast_gallery fg, fast_gallery_exif AS fe " .
+          "WHERE  fg.parent='%s' " .
+          "AND fg.gid=fe.gid " .
+          "AND fe.field='dateTaken'" .
+          "GROUP by fg.folder, fg.path, fg.gid, fe.value ORDER by fg.folder, fe.value %s";
+	}	
+	
         $sql_folders_noexif = "SELECT path, folder, gid, filetype FROM {fast_gallery} " .
         "WHERE parent='%s' " .
         "AND filetype <> 'jpg' " .
@@ -484,7 +498,7 @@
         "AND filetype <> 'asx' " .
         "AND filetype <> 'swf' " .
         "AND filetype <> 'pdf' " .
-        "GROUP by folder " .
+        "GROUP by folder,path,gid,filetype " .
         "ORDER by path %s";
       } else
         if ($folder_sort_by == 'filec') {
