[CMF-checkins] CVS: CMF - SkinsTool.py:1.9

tseaver@digicool.com tseaver@digicool.com
Tue, 19 Jun 2001 20:35:49 -0400 (EDT)


Update of /cvs-repository/CMF/CMFCore
In directory korak.digicool.com:/tmp/cvs-serv1492/CMFCore

Modified Files:
	SkinsTool.py 
Log Message:


 - Stopped polluting the browser with persistent skin cookie;
   clear it as well on logout (Tracker #304).



--- Updated File SkinsTool.py in package CMF --
--- SkinsTool.py	2001/05/23 20:42:29	1.8
+++ SkinsTool.py	2001/06/20 00:35:18	1.9
@@ -307,15 +307,20 @@
                 cookie = req.cookies.get(self.request_varname, None)
                 if cookie != mskin:
                     resp = req.RESPONSE
-                    expires = (DateTime('GMT') + 365).rfc822()
-                    resp.setCookie(self.request_varname, mskin,
-                                   path='/', expires=expires)
+                    # *Don't* make the cookie persistent!
+                    resp.setCookie( self.request_varname, mskin, path='/' )
                     # Ensure updateSkinCookie() doesn't try again
                     # within this request.
                     req.cookies[self.request_varname] = mskin
                     req[self.request_varname] = mskin
                     return 1
         return 0
+
+    security.declareProtected( 'View', 'clearSkinCookie' )
+    def clearSkinCookie(self):
+        req = self.REQUEST
+        resp = req.RESPONSE
+        resp.expireCookie( self.request_varname, path='/' )
 
     security.declareProtected(ManagePortal, 'addSkinSelection')
     def addSkinSelection(self, skinname, skinpath, test=0, make_default=0):