Champs client++
[Plinn.git] / utils.py
index aa91c8d..6b3b697 100755 (executable)
--- a/utils.py
+++ b/utils.py
@@ -165,7 +165,11 @@ def _checkMemberPermission(userid, permission, obj, StringType = type('')):
     return 0
     
 def getCPInfo(self) :
-    try: cp = _cb_decode(self.REQUEST['__cp'])
+    if self.REQUEST.RESPONSE.cookies.has_key('__cp') :
+        cp = self.REQUEST.RESPONSE.cookies['__cp']['value']
+    else :
+        cp = self.REQUEST.get('__cp')
+    try: cp = _cb_decode(cp)
     except: return None
     return cp
 
@@ -226,7 +230,7 @@ def getPreferredLanguages(context):
 security.declarePublic('getBestTranslationLanguage')
 def getBestTranslationLanguage(langs, context):
     """ returns best translation language according
-        availables languages (param langs)
+        to available languages (param langs)
         and user preferences (retrieves by context)
     """
     request = getattr(context, 'REQUEST', None)
@@ -257,10 +261,12 @@ def getAdapterByInterface(ob, dotted_name, default=_marker) :
     else :
         return default
 
+security.declarePublic('encodeQuopriEmail')
 def encodeQuopriEmail(name, email) :
     qpName = encodestring(name).replace('=\n', '')
     return '''"=?utf-8?q?%s?=" <%s>''' % (qpName, email)
 
+security.declarePublic('encodeMailHeader')
 def encodeMailHeader(content) :
     s = encodestring(content).replace('=\n', '')
     s = s.replace('_', '=5F')