X-Git-Url: https://svn.cri.ensmp.fr/git/Plinn.git/blobdiff_plain/3e0a2c257d49fb162da9c70d2f70194036235166..5d2db1d01a9e7cd58a80b35d3c40f8536bb8ab11:/__init__.py

diff --git a/__init__.py b/__init__.py
index 5f96eeb..0335bc2 100755
--- a/__init__.py
+++ b/__init__.py
@@ -1,26 +1,26 @@
 # -*- coding: utf-8 -*-
 #######################################################################################
-#   Plinn - http://plinn.org                                                          #
-#   Copyright (C) 2005-2007  Benoît PIN <benoit.pin@ensmp.fr>                         #
-#                                                                                     #
-#   This program is free software; you can redistribute it and/or                     #
-#   modify it under the terms of the GNU General Public License                       #
-#   as published by the Free Software Foundation; either version 2                    #
-#   of the License, or (at your option) any later version.                            #
-#                                                                                     #
-#   This program is distributed in the hope that it will be useful,                   #
-#   but WITHOUT ANY WARRANTY; without even the implied warranty of                    #
-#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                     #
-#   GNU General Public License for more details.                                      #
-#                                                                                     #
-#   You should have received a copy of the GNU General Public License                 #
-#   along with this program; if not, write to the Free Software                       #
-#   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.   #
+#	Plinn - http://plinn.org														  #
+#	Copyright (C) 2005-2007	 Benoît PIN <benoit.pin@ensmp.fr>						  #
+#																					  #
+#	This program is free software; you can redistribute it and/or					  #
+#	modify it under the terms of the GNU General Public License						  #
+#	as published by the Free Software Foundation; either version 2					  #
+#	of the License, or (at your option) any later version.							  #
+#																					  #
+#	This program is distributed in the hope that it will be useful,					  #
+#	but WITHOUT ANY WARRANTY; without even the implied warranty of					  #
+#	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the					  #
+#	GNU General Public License for more details.									  #
+#																					  #
+#	You should have received a copy of the GNU General Public License				  #
+#	along with this program; if not, write to the Free Software						  #
+#	Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.	  #
 #######################################################################################
 """ Plinn implementation of CMFCore.
 
-$Id: __init__.py 1530 2009-07-08 09:19:39Z pin $
-$URL: http://svn.cri.ensmp.fr/svn/Plinn/branches/CMF-2.1/__init__.py $
+
+
 """
 
 import exceptions
@@ -96,7 +96,7 @@ validTags = default_cmf_utils.NASTY_TAGS.copy()
 for tag in validTags.keys() :
 	validTags[tag] = 1
 
-VALID_TAGS = {'font': 1}
+VALID_TAGS = {'font': 1, 'param' : 1, 'iframe' : 1}
 
 validTags.update(VALID_TAGS)
 
@@ -104,5 +104,40 @@ default_cmf_utils.NASTY_TAGS = {}
 default_cmf_utils.VALID_TAGS.update(validTags)
 
 # the plinn portal_calendar is a also a "SPECIAL PROVIDER"
-import Products.CMFCore.exportimport.actions
-Products.CMFCore.exportimport.actions._SPECIAL_PROVIDERS += ('portal_calendar',)
\ No newline at end of file
+# TODO: vérifier l'impact
+# import Products.CMFCore.exportimport.actions
+# Products.CMFCore.exportimport.actions._SPECIAL_PROVIDERS += ('portal_calendar',)
+
+
+# monkey-patch de getIcon qui est foirasse dans CMF2.2 : 
+# les icônes ne s'affichent pas correctement dans la ZMI
+# lorqu'on y accède par un virtual host apache.
+from urllib import quote
+from Products.CMFCore.utils import getToolByName
+
+def getIcon(self, relative_to_portal=0):
+	"""
+	Using this method allows the content class
+	creator to grab icons on the fly instead of using a fixed
+	attribute on the class.
+	"""
+	ti = self.getTypeInfo()
+	if ti is not None:
+		icon = quote(ti.getIcon())
+		if icon:
+			if relative_to_portal:
+				return icon
+			else:
+				# Relative to REQUEST['BASEPATH1']
+				portal_url = getToolByName( self, 'portal_url' )
+				res = portal_url(relative=1) + '/' + icon
+				while res[:1] == '/':
+					res = res[1:]
+				return res
+	return 'misc_/OFSP/dtmldoc.gif'
+
+icon = getIcon	# For the ZMI
+
+from Products.CMFCore.DynamicType import DynamicType
+DynamicType.getIcon = getIcon
+DynamicType.icon = getIcon