From 8c39e98eef7a2c7c3f64cca44a52b6966b6cc722 Mon Sep 17 00:00:00 2001
From: Garvin Hicking <mail@garv.in>
Date: Fri, 17 Nov 2006 15:20:04 +0000
Subject: [PATCH] Fix pgsql lowercase plugin problem

---
 docs/NEWS                  |  4 ++++
 include/plugin_api.inc.php | 10 ++++++++--
 2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/docs/NEWS b/docs/NEWS
index a5dc57eb..6b89102b 100644
--- a/docs/NEWS
+++ b/docs/NEWS
@@ -3,6 +3,10 @@
 Version 1.1 ()
 ------------------------------------------------------------------------
 
+    * Fixed a bug in lowercased DB key names in the plugin API table,
+      which prevented postgresql for properly printing a plugin list
+      in some setups (garvinhicking)
+
     * Huge SQL improvement by "caching" the current timestamp for
       5 minutes, so that an SQL string for the central logic will
       stay the same for a 5 minute window, thus relying on the DB-Server
diff --git a/include/plugin_api.inc.php b/include/plugin_api.inc.php
index 66f47802..3ba4a56d 100644
--- a/include/plugin_api.inc.php
+++ b/include/plugin_api.inc.php
@@ -431,7 +431,7 @@ class serendipity_plugin_api {
         if (empty($pluginPath)) {
             $pluginPath = $name;
         }
-        
+
         $file = false;
 
         // Security constraint
@@ -593,6 +593,9 @@ class serendipity_plugin_api {
                                                  p.plugintype     = '" . serendipity_db_escape_string($type) . "'");
             if (is_array($data)) {
                 foreach($data AS $p) {
+                    if (isset($p['pluginpath'])) {
+                        $p['pluginPath'] = $p['pluginpath'];
+                    }
                     if (!isset($pluginlist[$p['plugin_file']])) {
                         $pluginlist[$p['plugin_file']] = $p;
                     }
@@ -683,6 +686,9 @@ class serendipity_plugin_api {
             unset($data['true_name']);
             unset($data['customURI']);
             unset($data['groups']);
+            if (isset($data['pluginpath'])) {
+                $data['pluginPath'] = $data['pluginpath'];
+            }
             $data['requirements'] = serialize($data['requirements']);
         }
 
@@ -751,7 +757,7 @@ class serendipity_plugin_api {
         }
 
         $sql .= "WHERE name='$name' $admin";
-        
+
         return serendipity_db_query($sql);
     }