]> git.mjollnir.org Git - s9y.git/commitdiff
Fix problems with multiple image resuilts when using access lists
authorgarvinhicking <garvinhicking>
Wed, 29 Mar 2006 13:48:51 +0000 (13:48 +0000)
committergarvinhicking <garvinhicking>
Wed, 29 Mar 2006 13:48:51 +0000 (13:48 +0000)
docs/NEWS
include/functions_images.inc.php

index a3e34cd8999633ccec47a784fd5679816f661359..7a131cf50642dab0f5c2239dcc063ac0edc8ee3f 100644 (file)
--- a/docs/NEWS
+++ b/docs/NEWS
@@ -3,6 +3,9 @@
 Version 1.1-alpha1()
 ------------------------------------------------------------------------
 
+   * Fix getting multiple images for directories that were put into
+     the Acccess List (garvinhicking)
+
    * Allow to create new groups from existing ones, by editing them
      and clicking on "Create new group". (garvinhicking)
 
index 37e947924912e7458c238381b6830503dcca993d..e33affaee36d7dc61a4ade1faa1401f20d43d78a 100644 (file)
@@ -76,6 +76,14 @@ function serendipity_fetchImagesFromDatabase($start=0, $limit=0, &$total, $order
     );
     serendipity_ACL_SQL($cond, false, 'directory');
 
+    if ($serendipity['dbType'] == 'postgres') {
+        $cond['group']    = '';
+        $cond['distinct'] = 'DISTINCT';
+    } else {
+        $cond['group']    = 'GROUP BY i.id';
+        $cond['distinct'] = '';
+    }
+
     $basequery = "FROM {$serendipity['dbPrefix']}images AS i
        LEFT OUTER JOIN {$serendipity['dbPrefix']}authors AS a
                     ON i.authorid = a.authorid
@@ -83,12 +91,14 @@ function serendipity_fetchImagesFromDatabase($start=0, $limit=0, &$total, $order
 
                        {$cond['and']}";
 
-    $query = "SELECT i.*,
+    $query = "SELECT {$cond['distinct']} i.id, i.name, i.extension, i.mime, i.size, i.dimensions_width, i.dimensions_height, i.date, i.thumbnail_name, i.authorid, i.path, i.hotlink,
                      a.realname AS authorname
                      $basequery
+                     {$cond['group']}
             ORDER BY $order $ordermode $limitsql";
 
     $rs = serendipity_db_query($query, false, 'assoc');
+
     if (!is_array($rs)) {
         return array();
     }