deduplicate session cookies
[pear] / HTML / FlexyFramework / Page.php
index 4a5c810..9b2481f 100644 (file)
@@ -430,8 +430,31 @@ class HTML_FlexyFramework_Page  {
                 $ini = true;
                 // sometimes raises a notice - ps_files_cleanup_dir.
                 @session_start();
+                $this->dedupeSessionCookies();
                 return;
         }
     }
+    
+    function dedupeSessionCookies()
+    {
+         if (headers_sent()) {
+            return;
+        }
+        $cookies = array();
+        
+        foreach (headers_list() as $header) {
+            // Identify cookie headers
+            if (strpos($header, 'Set-Cookie:') === 0) {
+                $cookies[] = $header;
+            }
+        }
+        header_remove('Set-Cookie');
+
+        // Restore one copy of each cookie
+        foreach(array_unique($cookies) as $cookie) {
+            header($cookie, false);
+        }
+    }
+    
 
 }