diff -Naur ezoe_5_0_2/classes/ezoepackerfunctions.php ezoe_5_0_2_patched/classes/ezoepackerfunctions.php
--- ezoe_5_0_2/classes/ezoepackerfunctions.php	2009-05-20 15:35:48.000000000 +0200
+++ ezoe_5_0_2_patched/classes/ezoepackerfunctions.php	2009-09-18 18:32:46.000000000 +0200
@@ -95,13 +95,13 @@
                 'ltr_desc' => ezi18n( 'design/standard/ezoe', "Direction left to right"),
                 'rtl_desc' => ezi18n( 'design/standard/ezoe', "Direction right to left")
             ),
-            /*'layer' => array(
+            'layer' => array(
                 'insertlayer_desc' => ezi18n( 'design/standard/ezoe', "Insert new layer"),
                 'forward_desc' => ezi18n( 'design/standard/ezoe', "Move forward"),
                 'backward_desc' => ezi18n( 'design/standard/ezoe', "Move backward"),
                 'absolute_desc' => ezi18n( 'design/standard/ezoe', "Toggle absolute positioning"),
                 'content' => ezi18n( 'design/standard/ezoe', "New layer...")
-            ),*/
+            ),
             'save' => array(
                 'save_desc' => ezi18n( 'design/standard/ezoe', "Save"),
                 'cancel_desc' => ezi18n( 'design/standard/ezoe', "Cancel all changes")
@@ -112,13 +112,13 @@
             /*'iespell' => array(
                 'iespell_desc' => ezi18n( 'design/standard/ezoe', "Run spell checking"),
                 'download' => ezi18n( 'design/standard/ezoe', "ieSpell not detected. Do you want to install it now?")
-            ),
+            ),*/
             'advhr' => array(
                 'advhr_desc' => ezi18n( 'design/standard/ezoe', "Horizontale rule")
             ),
             'emotions' => array(
                 'emotions_desc' => ezi18n( 'design/standard/ezoe', "Emotions")
-            ),*/
+            ),
             'searchreplace' => array(
                 'search_desc' => ezi18n( 'design/standard/ezoe', "Find"),
                 'replace_desc' => ezi18n( 'design/standard/ezoe', "Find/Replace")
@@ -128,7 +128,7 @@
             ),
             'advlink' => array(
                 'link_desc' => ezi18n( 'design/standard/ezoe', "Insert/edit link")
-            ),
+            ),*/
             'xhtmlxtras' => array(
                 'cite_desc' => ezi18n( 'design/standard/ezoe', "Citation"),
                 'abbr_desc' => ezi18n( 'design/standard/ezoe', "Abbreviation"),
@@ -139,7 +139,7 @@
             ),
             'style' => array(
                 'desc' => ezi18n( 'design/standard/ezoe', "Edit CSS Style")
-            ),*/
+            ),
             'paste' => array(
                 'paste_text_desc' => ezi18n( 'design/standard/ezoe', "Paste as Plain Text"),
                 'paste_word_desc' => ezi18n( 'design/standard/ezoe', "Paste from Word"),
@@ -209,12 +209,12 @@
             ),
             'advanced' => array(
                 'style_select' => ezi18n( 'design/standard/ezoe', "Styles"),
-                //'font_size' => ezi18n( 'design/standard/ezoe', "Font size"),
-                //'fontdefault' => ezi18n( 'design/standard/ezoe', "Font family"),
+                'font_size' => ezi18n( 'design/standard/ezoe', "Font size"),
+                'fontdefault' => ezi18n( 'design/standard/ezoe', "Font family"),
                 'block' => ezi18n( 'design/standard/ezoe', "Format"),
                 'paragraph' => ezi18n( 'design/standard/ezoe', "Paragraph"),
                 'div' => ezi18n( 'design/standard/ezoe', "Div"),
-                //'address' => ezi18n( 'design/standard/ezoe', "Address"),
+                'address' => ezi18n( 'design/standard/ezoe', "Address"),
                 'pre' => ezi18n( 'design/standard/ezoe', "Literal"),
                 'h1' => ezi18n( 'design/standard/ezoe', "Heading 1"),
                 'h2' => ezi18n( 'design/standard/ezoe', "Heading 2"),
@@ -222,7 +222,7 @@
                 'h4' => ezi18n( 'design/standard/ezoe', "Heading 4"),
                 'h5' => ezi18n( 'design/standard/ezoe', "Heading 5"),
                 'h6' => ezi18n( 'design/standard/ezoe', "Heading 6"),
-                //'blockquote' => ezi18n( 'design/standard/ezoe', "Blockquote"),
+                'blockquote' => ezi18n( 'design/standard/ezoe', "Blockquote"),
                 'code' => ezi18n( 'design/standard/ezoe', "Code"),
                 'samp' => ezi18n( 'design/standard/ezoe', "Code sample"),
                 'dt' => ezi18n( 'design/standard/ezoe', "Definition term"),
@@ -259,11 +259,11 @@
                 'code_desc' => ezi18n( 'design/standard/ezoe', "Edit HTML Source"),
                 'sub_desc' => ezi18n( 'design/standard/ezoe', "Subscript"),
                 'sup_desc' => ezi18n( 'design/standard/ezoe', "Superscript"),
-                //'hr_desc' => ezi18n( 'design/standard/ezoe', "Insert horizontal ruler"),
+                'hr_desc' => ezi18n( 'design/standard/ezoe', "Insert horizontal ruler"),
                 'removeformat_desc' => ezi18n( 'design/standard/ezoe', "Remove formatting"),
                 'custom1_desc' => ezi18n( 'design/standard/ezoe', "Your custom description here"),
-                //'forecolor_desc' => ezi18n( 'design/standard/ezoe', "Select text color"),
-                //'backcolor_desc' => ezi18n( 'design/standard/ezoe', "Select background color"),
+                'forecolor_desc' => ezi18n( 'design/standard/ezoe', "Select text color"),
+                'backcolor_desc' => ezi18n( 'design/standard/ezoe', "Select background color"),
                 'charmap_desc' => ezi18n( 'design/standard/ezoe', "Insert special character"),
                 'visualaid_desc' => ezi18n( 'design/standard/ezoe', "Toggle guidelines/invisible elements"),
                 'anchor_desc' => ezi18n( 'design/standard/ezoe', "Insert/edit anchor"),
@@ -273,12 +273,12 @@
                 'image_props_desc' => ezi18n( 'design/standard/ezoe', "Image properties"),
                 'newdocument_desc' => ezi18n( 'design/standard/ezoe', "New document"),
                 'help_desc' => ezi18n( 'design/standard/ezoe', "Help"),
-                //'blockquote_desc' => ezi18n( 'design/standard/ezoe', "Blockquote"),
+                'blockquote_desc' => ezi18n( 'design/standard/ezoe', "Blockquote"),
                 'clipboard_msg' => ezi18n( 'design/standard/ezoe', "Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?"),
                 'path' => ezi18n( 'design/standard/ezoe', "Path"),
                 'newdocument' => ezi18n( 'design/standard/ezoe', "Are you sure you want clear all contents?"),
                 'toolbar_focus' => ezi18n( 'design/standard/ezoe', "Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X"),
-                //'more_colors' => ezi18n( 'design/standard/ezoe', "More colors"),
+                'more_colors' => ezi18n( 'design/standard/ezoe', "More colors"),
                 'next' => ezi18n( 'design/standard/ezoe', "Next"),
                 'previous' => ezi18n( 'design/standard/ezoe', "Previous"),
                 'select' => ezi18n( 'design/standard/ezoe', "Select"),
@@ -338,7 +338,8 @@
             'ez' => array(
                 'root_node_name' => ezi18n( 'kernel/content', 'Top Level Nodes'),
                 'empty_search_result' => ezi18n( 'design/standard/content/search', 'No results were found when searching for &quot;%1&quot;', null, array( '%1' => '<search_string>' )),
-                'empty_bookmarks_result' => ezi18n( 'design/standard/content/view', 'You have no bookmarks')
+                'empty_bookmarks_result' => ezi18n( 'design/standard/content/view', 'You have no bookmarks'),
+				'newdocument' => ezi18n( 'design/standard/content/view', 'New document')
             ),
             'searchreplace_dlg' => array(
                 'searchnext_desc' => ezi18n('design/standard/ezoe/searchreplace', "Find again"),
@@ -356,6 +357,244 @@
                 'replace' => ezi18n('design/standard/ezoe/searchreplace', "Replace"),
                 'replaceall' => ezi18n('design/standard/ezoe/searchreplace', "Replace all")
             ),
+			'emotions_dlg' => array(
+                'title' => ezi18n('design/standard/ezoe/emotions', "Insert emotion"),
+                'desc' => ezi18n('design/standard/ezoe/emotions', "Emotions"),
+                'cool' => ezi18n('design/standard/ezoe/emotions', "Cool"),
+                'cry' => ezi18n('design/standard/ezoe/emotions', "cry"),
+                'embarassed' => ezi18n('design/standard/ezoe/emotions', "Embarassed"),
+                'foot_in_mouth' => ezi18n('design/standard/ezoe/emotions', "Foot in mouth"),
+                'frown' => ezi18n('design/standard/ezoe/emotions', "Frown"),
+                'innocent' => ezi18n('design/standard/ezoe/emotions', "Innocent"),
+                'kiss' => ezi18n('design/standard/ezoe/emotions', "Kiss"),
+                'laughing' => ezi18n('design/standard/ezoe/emotions', "Laughing"),
+                'money_mouth' => ezi18n('design/standard/ezoe/emotions', "Money mouth"),
+                'sealed' => ezi18n('design/standard/ezoe/emotions', "Sealed"),
+                'smile' => ezi18n('design/standard/ezoe/emotions', "Smile"),
+                'surprised' => ezi18n('design/standard/ezoe/emotions', "Surprised"),
+                'tongue_out' => ezi18n('design/standard/ezoe/emotions', "Tongue out"),
+                'undecided' => ezi18n('design/standard/ezoe/emotions', "Undecided"),
+                'wink' => ezi18n('design/standard/ezoe/emotions', "Wink"),
+                'yell' => ezi18n('design/standard/ezoe/emotions', "Yell")
+            ),
+			'media_dlg' => array(
+                'title' => ezi18n('design/standard/ezoe/media', "Insert / edit embedded media"),
+				'general' => ezi18n('design/standard/ezoe/media', "General"),
+				'advanced' => ezi18n('design/standard/ezoe/media',"Advanced"),
+				'file' => ezi18n('design/standard/ezoe/media',"File/URL"),
+				'list' => ezi18n('design/standard/ezoe/media',"List"),
+				'size' => ezi18n('design/standard/ezoe/media',"Dimensions"),
+				'preview' => ezi18n('design/standard/ezoe/media',"Preview"),
+				'constrain_proportions' => ezi18n('design/standard/ezoe/media',"Constrain proportions"),
+				'type' => ezi18n('design/standard/ezoe/media',"Type"),
+				'id' => ezi18n('design/standard/ezoe/media',"Id"),
+				'name' => ezi18n('design/standard/ezoe/media',"Name"),
+				'class_name' => ezi18n('design/standard/ezoe/media',"Class"),
+				'vspace' => ezi18n('design/standard/ezoe/media',"V-Space"),
+				'hspace' => ezi18n('design/standard/ezoe/media',"H-Space"),
+				'play' => ezi18n('design/standard/ezoe/media',"Auto play"),
+				'loop' => ezi18n('design/standard/ezoe/media',"Loop"),
+				'menu' => ezi18n('design/standard/ezoe/media',"Show menu"),
+				'quality' => ezi18n('design/standard/ezoe/media',"Quality"),
+				'scale' => ezi18n('design/standard/ezoe/media',"Scale"),
+				'align' => ezi18n('design/standard/ezoe/media',"Align"),
+				'salign' => ezi18n('design/standard/ezoe/media',"SAlign"),
+				'wmode' => ezi18n('design/standard/ezoe/media',"WMode"),
+				'bgcolor' => ezi18n('design/standard/ezoe/media',"Background"),
+				'base' => ezi18n('design/standard/ezoe/media',"Base"),
+				'flashvars' => ezi18n('design/standard/ezoe/media',"Flashvars"),
+				'liveconnect' => ezi18n('design/standard/ezoe/media',"SWLiveConnect"),
+				'autohref' => ezi18n('design/standard/ezoe/media',"AutoHREF"),
+				'cache' => ezi18n('design/standard/ezoe/media',"Cache"),
+				'hidden' => ezi18n('design/standard/ezoe/media',"Hidden"),
+				'controller' => ezi18n('design/standard/ezoe/media',"Controller"),
+				'kioskmode' => ezi18n('design/standard/ezoe/media',"Kiosk mode"),
+				'playeveryframe' => ezi18n('design/standard/ezoe/media',"Play every frame"),
+				'targetcache' => ezi18n('design/standard/ezoe/media',"Target cache"),
+				'correction' => ezi18n('design/standard/ezoe/media',"No correction"),
+				'enablejavascript' => ezi18n('design/standard/ezoe/media',"Enable JavaScript"),
+				'starttime' => ezi18n('design/standard/ezoe/media',"Start time"),
+				'endtime' => ezi18n('design/standard/ezoe/media',"End time"),
+				'href' => ezi18n('design/standard/ezoe/media',"Href"),
+				'qtsrcchokespeed' => ezi18n('design/standard/ezoe/media',"Choke speed"),
+				'target' => ezi18n('design/standard/ezoe/media',"Target"),
+				'volume' => ezi18n('design/standard/ezoe/media',"Volume"),
+				'autostart' => ezi18n('design/standard/ezoe/media',"Auto start"),
+				'enabled' => ezi18n('design/standard/ezoe/media',"Enabled"),
+				'fullscreen' => ezi18n('design/standard/ezoe/media',"Fullscreen"),
+				'invokeurls' => ezi18n('design/standard/ezoe/media',"Invoke URLs"),
+				'mute' => ezi18n('design/standard/ezoe/media',"Mute"),
+			    'stretchtofit' => ezi18n('design/standard/ezoe/media',"Stretch to fit"),
+                'windowlessvideo' => ezi18n('design/standard/ezoe/media',"Windowless video"),
+                'balance' => ezi18n('design/standard/ezoe/media',"Balance"),
+                'baseurl' => ezi18n('design/standard/ezoe/media',"Base URL"),
+                'captioningid' => ezi18n('design/standard/ezoe/media',"Captioning id"),
+                'currentmarker' => ezi18n('design/standard/ezoe/media',"Current marker"),
+                'currentposition' => ezi18n('design/standard/ezoe/media',"Current position"),
+                'defaultframe' => ezi18n('design/standard/ezoe/media',"Default frame"),
+                'playcount' => ezi18n('design/standard/ezoe/media',"Play count"),
+                'rate' => ezi18n('design/standard/ezoe/media',"Rate"),
+                'uimode' => ezi18n('design/standard/ezoe/media',"UI Mode"),
+                'flash_options' => ezi18n('design/standard/ezoe/media',"Flash options"),
+                'qt_options' => ezi18n('design/standard/ezoe/media',"Quicktime options"),
+                'wmp_options' => ezi18n('design/standard/ezoe/media',"Windows media player options"),
+                'rmp_options' => ezi18n('design/standard/ezoe/media',"Real media player options"),
+                'shockwave_options' => ezi18n('design/standard/ezoe/media',"Shockwave options"),
+                'autogotourl' => ezi18n('design/standard/ezoe/media',"Auto goto URL"),
+                'center' => ezi18n('design/standard/ezoe/media',"Center"),
+                'imagestatus' => ezi18n('design/standard/ezoe/media',"Image status"),
+                'maintainaspect' => ezi18n('design/standard/ezoe/media',"Maintain aspect"),
+                'nojava' => ezi18n('design/standard/ezoe/media',"No java"),
+                'prefetch' => ezi18n('design/standard/ezoe/media',"Prefetch"),
+                'shuffle' => ezi18n('design/standard/ezoe/media',"Shuffle"),
+                'console' => ezi18n('design/standard/ezoe/media',"Console"),
+                'numloop' => ezi18n('design/standard/ezoe/media',"Num loops"),
+                'controls' => ezi18n('design/standard/ezoe/media',"Controls"),
+                'scriptcallbacks' => ezi18n('design/standard/ezoe/media',"Script callbacks"),
+                'swstretchstyle' => ezi18n('design/standard/ezoe/media',"Stretch style"),
+                'swstretchhalign' => ezi18n('design/standard/ezoe/media',"Stretch H-Align"),
+                'swstretchvalign' => ezi18n('design/standard/ezoe/media',"Stretch V-Align"),
+                'sound' => ezi18n('design/standard/ezoe/media',"Sound"),
+                'progress' => ezi18n('design/standard/ezoe/media',"Progress"),
+                'qtsrc' => ezi18n('design/standard/ezoe/media',"QT Src"),
+                'qt_stream_warn' => ezi18n('design/standard/ezoe/media',"Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field.."),
+                'align_top' => ezi18n('design/standard/ezoe/media',"Top"),
+                'align_right' => ezi18n('design/standard/ezoe/media',"Right"),
+                'align_bottom' => ezi18n('design/standard/ezoe/media',"Bottom"),
+                'align_left' => ezi18n('design/standard/ezoe/media',"Left"),
+                'align_center' => ezi18n('design/standard/ezoe/media',"Center"),
+                'align_top_left' => ezi18n('design/standard/ezoe/media',"Top left"),
+                'align_top_right' => ezi18n('design/standard/ezoe/media',"Top right"),
+                'align_bottom_left' => ezi18n('design/standard/ezoe/media',"Bottom left"),
+                'align_bottom_right' => ezi18n('design/standard/ezoe/media',"Bottom right"),
+                'flv_options' => ezi18n('design/standard/ezoe/media',"Flash video options"),
+                'flv_scalemode' => ezi18n('design/standard/ezoe/media',"Scale mode"),
+                'flv_buffer' => ezi18n('design/standard/ezoe/media',"Buffer"),
+                'flv_startimage' => ezi18n('design/standard/ezoe/media',"Start image"),
+                'flv_starttime' => ezi18n('design/standard/ezoe/media',"Start time"),
+                'flv_defaultvolume' => ezi18n('design/standard/ezoe/media',"Default volumne"),
+                'flv_hiddengui' => ezi18n('design/standard/ezoe/media',"Hidden GUI"),
+                'flv_autostart' => ezi18n('design/standard/ezoe/media',"Auto start"),
+                'flv_loop' => ezi18n('design/standard/ezoe/media',"Loop"),
+                'flv_showscalemodes' => ezi18n('design/standard/ezoe/media',"Show scale modes"),
+                'flv_smoothvideo' => ezi18n('design/standard/ezoe/media',"Smooth video"),
+                'flv_jscallback' => ezi18n('design/standard/ezoe/media',"JS Callback")
+            ),
+            /*'advhr_dlg' => array(
+                'width' => ezi18n('design/standard/ezoe/media',"Width"),
+                'size' => ezi18n('design/standard/ezoe/media',"Height"),
+                'noshade' => ezi18n('design/standard/ezoe/media',"No shadow")
+            ),*/
+            'style_dlg' => array(
+                'title' => ezi18n('design/standard/ezoe/media',"Edit CSS Style"),
+                'apply' => ezi18n('design/standard/ezoe/media',"Apply"),
+                'text_tab' => ezi18n('design/standard/ezoe/media',"Text"),
+                'background_tab' => ezi18n('design/standard/ezoe/media',"Background"),
+                'block_tab' => ezi18n('design/standard/ezoe/media',"Block"),
+                'box_tab' => ezi18n('design/standard/ezoe/media',"Box"),
+                'border_tab' => ezi18n('design/standard/ezoe/media',"Border"),
+                'list_tab' => ezi18n('design/standard/ezoe/media',"List"),
+                'positioning_tab' => ezi18n('design/standard/ezoe/media',"Positioning"),
+                'text_props' => ezi18n('design/standard/ezoe/media',"Text"),
+                'text_font' => ezi18n('design/standard/ezoe/media',"Font"),
+                'text_size' => ezi18n('design/standard/ezoe/media',"Size"),
+                'text_weight' => ezi18n('design/standard/ezoe/media',"Weight"),
+                'text_style' => ezi18n('design/standard/ezoe/media',"Style"),
+                'text_variant' => ezi18n('design/standard/ezoe/media',"Variant"),
+                'text_lineheight' => ezi18n('design/standard/ezoe/media',"Line height"),
+                'text_case' => ezi18n('design/standard/ezoe/media',"Case"),
+                'text_color' => ezi18n('design/standard/ezoe/media',"Color"),
+                'text_decoration' => ezi18n('design/standard/ezoe/media',"Decoration"),
+                'text_overline' => ezi18n('design/standard/ezoe/media',"overline"),
+                'text_underline' => ezi18n('design/standard/ezoe/media',"underline"),
+                'text_striketrough' => ezi18n('design/standard/ezoe/media',"strikethrough"),
+                'text_blink' => ezi18n('design/standard/ezoe/media',"blink"),
+                'text_none' => ezi18n('design/standard/ezoe/media',"none"),
+                'background_color' => ezi18n('design/standard/ezoe/media',"Background color"),
+                'background_image' => ezi18n('design/standard/ezoe/media',"Background image"),
+                'background_repeat' => ezi18n('design/standard/ezoe/media',"Repeat"),
+                'background_attachment' => ezi18n('design/standard/ezoe/media',"Attachment"),
+                'background_hpos' => ezi18n('design/standard/ezoe/media',"Horizontal position"),
+                'background_vpos' => ezi18n('design/standard/ezoe/media',"Vertical position"),
+                'block_wordspacing' => ezi18n('design/standard/ezoe/media',"Word spacing"),
+                'block_letterspacing' => ezi18n('design/standard/ezoe/media',"Letter spacing"),
+                'block_vertical_alignment' => ezi18n('design/standard/ezoe/media',"Vertical alignment"),
+                'block_text_align' => ezi18n('design/standard/ezoe/media',"Text align"),
+                'block_text_indent' => ezi18n('design/standard/ezoe/media',"Text indent"),
+                'block_whitespace' => ezi18n('design/standard/ezoe/media',"Whitespace"),
+                'block_display' => ezi18n('design/standard/ezoe/media',"Display"),
+                'box_width' => ezi18n('design/standard/ezoe/media',"Width"),
+                'box_height' => ezi18n('design/standard/ezoe/media',"Height"),
+                'box_float' => ezi18n('design/standard/ezoe/media',"Float"),
+                'box_clear' => ezi18n('design/standard/ezoe/media',"Clear"),
+                'padding' => ezi18n('design/standard/ezoe/media',"Padding"),
+                'same' => ezi18n('design/standard/ezoe/media',"Same for all"),
+                'top' => ezi18n('design/standard/ezoe/media',"Top"),
+                'right' => ezi18n('design/standard/ezoe/media',"Right"),
+                'bottom' => ezi18n('design/standard/ezoe/media',"Bottom"),
+                'left' => ezi18n('design/standard/ezoe/media',"Left"),
+                'margin' => ezi18n('design/standard/ezoe/media',"Margin"),
+                'style' => ezi18n('design/standard/ezoe/media',"Style"),
+                'width' => ezi18n('design/standard/ezoe/media',"Width"),
+                'height' => ezi18n('design/standard/ezoe/media',"Height"),
+                'color' => ezi18n('design/standard/ezoe/media',"Color"),
+                'list_type' => ezi18n('design/standard/ezoe/media',"Type"),
+                'bullet_image' => ezi18n('design/standard/ezoe/media',"Bullet image"),
+                'position' => ezi18n('design/standard/ezoe/media',"Position"),
+                'positioning_type' => ezi18n('design/standard/ezoe/media',"Type"),
+                'visibility' => ezi18n('design/standard/ezoe/media',"Visibility"),
+                'zindex' => ezi18n('design/standard/ezoe/media',"Z-index"),
+                'overflow' => ezi18n('design/standard/ezoe/media',"Overflow"),
+                'placement' => ezi18n('design/standard/ezoe/media',"Placement"),
+                'clip' => ezi18n('design/standard/ezoe/media',"Clip") 
+            ),
+            'xhtmlxtras_dlg' => array(
+                'attribute_label_title' => ezi18n('design/standard/ezoe/media',"Title"),
+                'attribute_label_id' => ezi18n('design/standard/ezoe/media',"ID"),
+                'attribute_label_class' => ezi18n('design/standard/ezoe/media',"Class"),
+                'attribute_label_style' => ezi18n('design/standard/ezoe/media',"Style"),
+                'attribute_label_cite' => ezi18n('design/standard/ezoe/media',"Cite"),
+                'attribute_label_datetime' => ezi18n('design/standard/ezoe/media',"Date/Time"),
+                'attribute_label_langdir' => ezi18n('design/standard/ezoe/media',"Text Direction"),
+                'attribute_option_ltr' => ezi18n('design/standard/ezoe/media',"Left to right"),
+                'attribute_option_rtl' => ezi18n('design/standard/ezoe/media',"Right to left"),
+                'attribute_label_langcode' => ezi18n('design/standard/ezoe/media',"Language"),
+                'attribute_label_tabindex' => ezi18n('design/standard/ezoe/media',"TabIndex"),
+                'attribute_label_accesskey' => ezi18n('design/standard/ezoe/media',"AccessKey"),
+                'attribute_events_tab' => ezi18n('design/standard/ezoe/media',"Events"),
+                'attribute_attrib_tab' => ezi18n('design/standard/ezoe/media',"Attributes"),
+                'general_tab' => ezi18n('design/standard/ezoe/media',"General"),
+                'attrib_tab' => ezi18n('design/standard/ezoe/media',"Attributes"),
+                'events_tab' => ezi18n('design/standard/ezoe/media',"Events"),
+                'fieldset_general_tab' => ezi18n('design/standard/ezoe/media',"General Settings"),
+                'fieldset_attrib_tab' => ezi18n('design/standard/ezoe/media',"Element Attributes"),
+                'fieldset_events_tab' => ezi18n('design/standard/ezoe/media',"Element Events"),
+                'title_ins_element' => ezi18n('design/standard/ezoe/media',"Insertion Element"),
+                'title_del_element' => ezi18n('design/standard/ezoe/media',"Deletion Element"),
+                'title_acronym_element' => ezi18n('design/standard/ezoe/media',"Acronym Element"),
+                'title_abbr_element' => ezi18n('design/standard/ezoe/media',"Abbreviation Element"),
+                'title_cite_element' => ezi18n('design/standard/ezoe/media',"Citation Element"),
+                'remove' => ezi18n('design/standard/ezoe/media',"Remove"),
+                'insert_date' => ezi18n('design/standard/ezoe/media',"Insert current date/time"),
+                'option_ltr' => ezi18n('design/standard/ezoe/media',"Left to right"),
+                'option_rtl' => ezi18n('design/standard/ezoe/media',"Right to left"),
+                'attribs_title' => ezi18n('design/standard/ezoe/media',"Insert/Edit Attributes") 
+            ),
+            'template_dlg' => array(
+                'title' => ezi18n('design/standard/ezoe/media',"Templates"),
+                'label' => ezi18n('design/standard/ezoe/media',"Template"),
+                'desc_label' => ezi18n('design/standard/ezoe/media',"Description"),
+                'desc' => ezi18n('design/standard/ezoe/media',"Insert predefined template content"),
+                'select' => ezi18n('design/standard/ezoe/media',"Select a template"),
+                'preview' => ezi18n('design/standard/ezoe/media',"Preview"),
+                'warning' => ezi18n('design/standard/ezoe/media',"Warning: Updating a template with a different one may cause data loss."),
+                'mdate_format' => ezi18n('design/standard/ezoe/media',"%Y-%m-%d %H:%M:%S"),
+                'cdate_format' => ezi18n('design/standard/ezoe/media',"%Y-%m-%d %H:%M:%S"),
+                'months_long' => ezi18n('design/standard/ezoe/media',"January,February,March,April,May,June,July,August,September,October,November,December"),
+                'months_short' => ezi18n('design/standard/ezoe/media',"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec"),
+                'day_long' => ezi18n('design/standard/ezoe/media',"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday"),
+                'day_short' => ezi18n('design/standard/ezoe/media',"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun") 
+            )
         ));
         $i18nString = eZOEAjaxContent::jsonEncode( $i18nArray );
 
@@ -372,7 +611,7 @@
     */
     public static function getCacheTime( $functionName )
     {
-        return 1227728406;
+        return 1248712467;
     }
 }
 
diff -Naur ezoe_5_0_2/design/standard/javascript/plugins/media/editor_plugin_src.js ezoe_5_0_2_patched/design/standard/javascript/plugins/media/editor_plugin_src.js
--- ezoe_5_0_2/design/standard/javascript/plugins/media/editor_plugin_src.js	2009-05-20 15:35:48.000000000 +0200
+++ ezoe_5_0_2_patched/design/standard/javascript/plugins/media/editor_plugin_src.js	2009-07-29 15:50:30.000000000 +0200
@@ -46,7 +46,7 @@
 			ed.onInit.add(function() {
 				var lo = {
 					mceItemFlash : 'flash',
-					mceItemShockWave : 'shockwave',
+					mceItemShockWave:"shockwave",
 					mceItemWindowsMedia : 'windowsmedia',
 					mceItemQuickTime : 'quicktime',
 					mceItemRealMedia : 'realmedia'
diff -Naur ezoe_5_0_2/design/standard/javascript/themes/ez/editor_template.js ezoe_5_0_2_patched/design/standard/javascript/themes/ez/editor_template.js
--- ezoe_5_0_2/design/standard/javascript/themes/ez/editor_template.js	2009-05-20 15:35:48.000000000 +0200
+++ ezoe_5_0_2_patched/design/standard/javascript/themes/ez/editor_template.js	2009-07-28 16:32:00.000000000 +0200
@@ -310,20 +310,20 @@
         _createBlockFormats : function() {
             var c, fmts = {
                 p : 'advanced.paragraph',
-                //address : 'advanced.address',
+                address : 'advanced.address',
                 pre : 'advanced.pre',
                 h1 : 'advanced.h1',
                 h2 : 'advanced.h2',
                 h3 : 'advanced.h3',
                 h4 : 'advanced.h4',
                 h5 : 'advanced.h5',
-                h6 : 'advanced.h6'/*,
+                h6 : 'advanced.h6',
                 div : 'advanced.div',
                 blockquote : 'advanced.blockquote',
                 code : 'advanced.code',
                 dt : 'advanced.dt',
                 dd : 'advanced.dd',
-                samp : 'advanced.samp'*/
+                samp : 'advanced.samp'
             }, t = this;
 
             c = t.editor.controlManager.createListBox('formatselect', {title : 'advanced.block', cmd : 'FormatBlock'});
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/edit/ezxmltext_ezoe.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/edit/ezxmltext_ezoe.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/edit/ezxmltext_ezoe.tpl	2009-05-20 15:35:32.000000000 +0200
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/edit/ezxmltext_ezoe.tpl	2009-09-18 18:35:51.000000000 +0200
@@ -16,6 +16,8 @@
 
     {def $plugin_list = ezini('EditorSettings', 'Plugins', 'ezoe.ini',,true()  )
          $skin        = ezini('EditorSettings', 'Skin', 'ezoe.ini',,true() )
+         $format_list = ezini('EditorSettings', 'Formats', 'ezoe.ini',,true() )
+         $style_list  = ezini('EditorSettings', 'Styles', 'ezoe.ini',,true() )
          $skin_variant = ''
          $content_css_list_temp = ezini('StylesheetSettings', 'EditorCSSFileList', 'design.ini',,true())
          $content_css_list = array()
@@ -69,14 +71,17 @@
         skin : '{$skin}',
         skin_variant : '{$skin_variant}',
         plugins : "-{$plugin_list|implode(',-')}",
+        theme_advanced_buttons1 : "",
         theme_advanced_buttons2 : "",
         theme_advanced_buttons3 : "",
-        theme_advanced_blockformats : "p,pre,h1,h2,h3,h4,h5,h6",
+        theme_advanced_buttons4 : "",
+        theme_advanced_blockformats : "{$format_list|implode(',')}",
+        theme_advanced_styles : "{$style_list|implode(',')}",
         theme_advanced_path_location : "bottom",
         theme_advanced_statusbar_location: "bottom",
         theme_advanced_toolbar_location : "top",
         theme_advanced_toolbar_align : "left",
-        theme_advanced_toolbar_floating : true,
+        theme_advanced_toolbar_floating : false,
         theme_advanced_resize_horizontal : false,
         theme_advanced_resizing : true,
         valid_elements: "-strong/-b/-bold[class|customattributes],-em/-i/-emphasize[class|customattributes],span[type|class|title|customattributes],pre[class|title|customattributes],ol[class|customattributes],ul[class|customattributes],li,a[href|name|target|title|class|id|customattributes],p[class|customattributes],img[src|class|alt|align|inline|id|customattributes],table[class|border|width|id|title|customattributes|ezborder|bordercolor],tr,th[class|width|rowspan|colspan|customattributes],td[class|width|rowspan|colspan|customattributes],h1,h2,h3,h4,h5,h6,br",
@@ -180,7 +185,20 @@
         
         eZOeAttributeSettings = eZOeGlobalSettings;
         eZOeAttributeSettings['ez_attribute_id'] = {$attribute.id};
-        eZOeAttributeSettings['theme_advanced_buttons1'] = "{$layout_settings['buttons']|implode(',')}";
+        {def $counter = 1
+            $comma = 0}
+        {foreach $layout_settings['buttons'] as $buttons}
+            {if eq($buttons, "&")}
+                {set $counter = $counter|inc}
+            {else}
+                {if ne($counter, $comma)}
+                    {set $comma = $counter}
+                {else}
+                    eZOeAttributeSettings['theme_advanced_buttons{$counter}'] += ",";
+                {/if}
+                eZOeAttributeSettings['theme_advanced_buttons{$counter}'] += "{$buttons}";
+            {/if}
+        {/foreach}
         eZOeAttributeSettings['theme_advanced_path_location'] = "{$layout_settings['path_location']}";
         eZOeAttributeSettings['theme_advanced_statusbar_location'] = "{$layout_settings['path_location']}";
         eZOeAttributeSettings['theme_advanced_toolbar_location'] = "{$layout_settings['toolbar_location']}";
@@ -197,4 +215,4 @@
     <input class="button" type="submit" name="CustomActionButton[{$attribute.id}_enable_editor]" value="{'Enable editor'|i18n('design/standard/content/datatype')}" /><br />
     {/let}
 {/if}
-{/default}
+{/default}
\ Pas de fin de ligne à la fin du fichier.
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/abbr.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/abbr.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/abbr.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/abbr.tpl	2009-09-18 18:33:13.000000000 +0200
@@ -0,0 +1 @@
+<abbr {if is_set($class)}class="{$class}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($id)}id="{$id}"{/if} {if is_set($lang)}lang="{$lang}"{/if} {if is_set($title)}title="{$title}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</abbr>
\ Pas de fin de ligne à la fin du fichier.
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/acronym.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/acronym.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/acronym.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/acronym.tpl	2009-07-27 18:01:36.000000000 +0200
@@ -0,0 +1 @@
+<acronym {if is_set($class)}class="{$class}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($id)}id="{$id}"{/if} {if is_set($lang)}lang="{$lang}"{/if} {if is_set($title)}title="{$title}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</acronym>
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/cite.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/cite.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/cite.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/cite.tpl	2009-07-27 18:00:55.000000000 +0200
@@ -0,0 +1 @@
+<cite {if is_set($class)}class="{$class}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($id)}id="{$id}"{/if} {if is_set($lang)}lang="{$lang}"{/if} {if is_set($title)}title="{$title}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</cite>
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/del.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/del.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/del.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/del.tpl	2009-07-28 09:54:45.000000000 +0200
@@ -0,0 +1 @@
+<del>{$content}</del>
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/header.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/header.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/header.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/header.tpl	2009-07-27 16:27:01.000000000 +0200
@@ -0,0 +1,26 @@
+{set $classification = cond( and(is_set( $align ), $align ), concat( $classification, ' text-', $align ), $classification )}
+{if is_set($anchor_name)}<a name={$anchor_name} />{/if}
+<a name="eztoc{$toc_anchor_name}" id="eztoc{$toc_anchor_name}"></a>
+{switch name=sw match=$level}
+{case match=1}
+<h2{if $classification|trim} class="{$classification|wash}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</h2>
+{/case}
+{case match=2}
+<h3{if $classification|trim} class="{$classification|wash}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</h3>
+{/case}
+{case match=3}
+<h4{if $classification|trim} class="{$classification|wash}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</h4>
+{/case}
+{case match=4}
+<h5{if $classification|trim} class="{$classification|wash}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</h5>
+{/case}
+{case match=5}
+<h6{if $classification|trim} class="{$classification|wash}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</h6>
+{/case}
+{case match=6} {* html does not have h7 *}
+<h6{if $classification|trim} class="{$classification|wash}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</h6>
+{/case}
+{case}
+<h2{if $classification|trim} class="{$classification|wash}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</h2>
+{/case}
+{/switch}
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/hr.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/hr.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/hr.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/hr.tpl	2009-07-24 16:29:01.000000000 +0200
@@ -0,0 +1 @@
+<hr {if is_set( $width )}width="{$width}"{/if} {if is_set( $size )}size="{$size}"{/if} {if is_set( $noshade )}{if ne($noshade, '')}noshade="noshade"{/if}{/if} />
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/ins.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/ins.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/ins.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/ins.tpl	2009-07-28 09:54:58.000000000 +0200
@@ -0,0 +1 @@
+<ins>{$content}</ins>
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/literal.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/literal.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/literal.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/literal.tpl	2009-07-27 16:27:00.000000000 +0200
@@ -0,0 +1,5 @@
+{section show=ne( $classification, 'html' )}
+<pre{section show=ne($classification|trim,'')} class="{$classification|wash}"{/section} {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content|wash(xhtml)}</pre>
+{section-else}
+{$content}
+{/section}
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/li.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/li.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/li.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/li.tpl	2009-09-18 18:35:12.000000000 +0200
@@ -0,0 +1 @@
+<li{section show=ne($classification|trim,'')} class="{$classification|wash}"{/section} {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>{$content}</li>
\ Pas de fin de ligne à la fin du fichier.
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/media.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/media.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/media.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/media.tpl	2009-09-18 18:33:59.000000000 +0200
@@ -0,0 +1,39 @@
+{if and(is_set( $params ), is_set( $type ), is_set( $width ), is_set( $height ), is_set( $src ))}
+    {def $paramArray = $params|explode(',')}
+    {def $param = null()}
+    {if eq($type, 'flash')}
+        {def $objectParams = 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'}
+        {def $embadParams = 'type="application/x-shockwave-flash"'}
+    {elseif eq($type, 'shockwave')}
+        {def $objectParams = 'codebase="http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0" classid="clsid:166B1BCA-3F9C-11CF-8075-444553540000"'}
+        {def $embadParams = 'type="application/x-director"'}
+    {elseif eq($type, 'qt')}
+        {def $objectParams = 'codebase="http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"'}
+        {def $embadParams = 'type="video/quicktime"'}
+    {elseif eq($type, 'wmp')}
+        {def $objectParams = 'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" classid="clsid:05589FA1-C356-11CE-BF01-00AA0055595A"'}
+        {def $embadParams = 'type="application/x-mplayer2"'}
+    {elseif eq($type, 'rmp')}
+        {def $objectParams = 'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"'}
+        {def $embadParams = 'type="audio/x-pn-realaudio-plugin"'}
+    {/if}
+    {if is_set($embadParams)}
+        <object width="{$width}" height="{$height}" {if is_set($align)}align="{$align}"{/if} {$objectParams} >
+            <param name="src" value="{$src}"/>
+            <param name="url" value="{$src}"/>
+            <param name="align" value="{if is_set($align)}{$align}{/if}"/>
+            {foreach $paramArray as $element}
+                {set $param = $element|explode(':')}
+                {if ne($param[0], 'src')}<param name="{$param[0]}" value="{$param[1]|explode("'")|implode("")}"/>{/if}
+            {/foreach}
+            <embed    src="{$src}"
+                    align="{if is_set($align)}{$align}{/if}"
+                    {$embadParams}
+            {foreach $paramArray as $element}
+                {set $param = $element|explode(':')}
+                {if ne($param[0], 'src')}{$param[0]}="{$param[1]|explode("'")|implode("")}"{/if}
+            {/foreach}
+            ></embed>
+        </object>
+    {/if}
+{/if}
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/paragraph.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/paragraph.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/paragraph.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/paragraph.tpl	2009-07-27 16:27:03.000000000 +0200
@@ -0,0 +1,4 @@
+{set $classification = cond( and(is_set( $align ), $align ), concat( $classification, ' text-', $align ), $classification )}
+<p{if $classification|trim} class="{$classification|wash}"{/if} {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>
+{$content}
+</p>
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/smiley.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/smiley.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/smiley.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/smiley.tpl	2009-07-28 15:11:28.000000000 +0200
@@ -0,0 +1 @@
+{if is_set( $src )} <img src="{$src}" {if is_set( $title )}alt="{$title}" title="{$title}"{/if} /> {/if}
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/span.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/span.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/span.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/span.tpl	2009-07-27 14:15:08.000000000 +0200
@@ -0,0 +1 @@
+<span {if is_set( $style )}style="{$style}"{/if}>{$content}</span>
diff -Naur ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/td.tpl ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/td.tpl
--- ezoe_5_0_2/design/standard/templates/content/datatype/view/ezxmltags/td.tpl	1970-01-01 01:00:00.000000000 +0100
+++ ezoe_5_0_2_patched/design/standard/templates/content/datatype/view/ezxmltags/td.tpl	2009-09-18 18:34:26.000000000 +0200
@@ -0,0 +1,14 @@
+{set $classification = cond( and(is_set( $align ), $align ), concat( $classification, ' text-', $align ), $classification )}
+<td{if $classification} class="{$classification|wash}"{/if}{if $colspan} colspan="{$colspan}"{/if}{if $rowspan} rowspan="{$rowspan}"{/if}{if $width} width="{$width}"{/if}{if and(is_set( $scope ), $scope)} scope="{$scope|wash}"{/if}{if and(is_set( $abbr ), $abbr)} abbr="{$abbr|wash}"{/if} valign="{first_set( $valign, 'top')}" {if is_set($style)}style="{$style}"{/if} {if is_set($dir)}dir="{$dir}"{/if}>
+{switch name=Sw match=$content}
+  {case match="<p></p>"}
+  &nbsp;
+  {/case}
+  {case match=""}
+  &nbsp;
+  {/case}
+  {case}
+  {$content}
+  {/case}
+{/switch}
+</td>
diff -Naur ezoe_5_0_2/design/standard/templates/ezoe/tag_custom.tpl ezoe_5_0_2_patched/design/standard/templates/ezoe/tag_custom.tpl
--- ezoe_5_0_2/design/standard/templates/ezoe/tag_custom.tpl	2009-05-20 15:35:32.000000000 +0200
+++ ezoe_5_0_2_patched/design/standard/templates/ezoe/tag_custom.tpl	2009-07-24 16:36:27.000000000 +0200
@@ -195,4 +195,4 @@
 </div>
     </form>
 
-</div>
\ Pas de fin de ligne à la fin du fichier.
+</div>
diff -Naur ezoe_5_0_2/ezxmltext/handlers/input/ezoeinputparser.php ezoe_5_0_2_patched/ezxmltext/handlers/input/ezoeinputparser.php
--- ezoe_5_0_2/ezxmltext/handlers/input/ezoeinputparser.php	2009-05-20 15:35:48.000000000 +0200
+++ ezoe_5_0_2_patched/ezxmltext/handlers/input/ezoeinputparser.php	2009-09-18 18:31:54.000000000 +0200
@@ -77,7 +77,17 @@
        // Stubs for not supported tags.
         'tbody'   => array( 'name' => '' ),
         'thead'   => array( 'name' => '' ),
-        'tfoot'   => array( 'name' => '' )
+        'tfoot'   => array( 'name' => '' ),
+      // Newly added tags.
+        'hr'      => array( 'nameHandler' => 'tagNameCustomHelper',
+                            'noChildren' => true ),
+        'strike'  => array( 'nameHandler' => 'tagNameCustomHelper' ),
+        'blockquote' => array( 'nameHandler' => 'tagNameCustomHelper' ),
+        'cite' => array( 'nameHandler' => 'tagNameCustomHelper' ),
+        'abbr' => array( 'nameHandler' => 'tagNameCustomHelper' ),
+        'acronym' => array( 'nameHandler' => 'tagNameCustomHelper' ),
+        'del' => array( 'nameHandler' => 'tagNameCustomHelper' ),
+        'ins' => array( 'nameHandler' => 'tagNameCustomHelper')
     );
 
     /**
@@ -199,7 +209,14 @@
                 $attributes['name'] = 'underline';
                 $attributes['children_required'] = 'true';
             }
+            elseif ( isset( $attributes['style'] ) !== false && self::customTagIsEnabled('span') )
+            {
+                $name = 'custom';
+                $attributes['name'] = 'span';
+                $attributes['children_required'] = 'true';
+            }
         }
+
         return $name;
     }
 
@@ -264,8 +281,57 @@
                 }
             }
         }
-
-        if ( $name === '' && isset( $attributes['type'] ) && $attributes['type'] === 'custom' )
+        
+        if ( $tagName === 'img' && isset( $attributes['src'] ) && strpos($attributes['src'], 'design/standard/javascript/plugins/emotions/img/smiley-') !== false )
+        {
+            $name = 'custom';
+            $attributes['name'] = 'smiley';
+            $attributes['customattributes'] = 'title|'.((isset($attributes['title']))? $attributes['title']: '');
+        }
+        elseif ($tagName === 'img' && isset( $attributes['class'] ) && isset( $attributes['title'] ))
+        {
+            if ($attributes['class'] == 'mceItemFlash')
+            {
+                $name = 'custom';
+                $attributes['name'] = 'media';
+                $attributes['customattributes'] = 'params|'.$attributes['title'];
+                $attributes['customattributes'] .= 'attribute_separation'.'type|flash';
+                $attributes['src'] = preg_replace('#.*src:\'([^\']*)\'.*#','$1',$attributes['title']);
+            }
+            elseif ($attributes['class'] == 'mceItemQuickTime')
+            {
+                $name = 'custom';
+                $attributes['name'] = 'media';
+                $attributes['customattributes'] = 'params|'.$attributes['title'];
+                $attributes['customattributes'] .= 'attribute_separation'.'type|qt';
+                $attributes['src'] = preg_replace('#.*src:\'([^\']*)\'.*#','$1',$attributes['title']);
+            }
+            elseif ($attributes['class'] == 'mceItemShockWave')
+            {
+                $name = 'custom';
+                $attributes['name'] = 'media';
+                $attributes['customattributes'] = 'params|'.$attributes['title'];
+                $attributes['customattributes'] .= 'attribute_separation'.'type|shockwave';
+                $attributes['src'] = preg_replace('#.*src:\'([^\']*)\'.*#','$1',$attributes['title']);
+            }
+            elseif ($attributes['class'] == 'mceItemWindowsMedia')
+            {
+                $name = 'custom';
+                $attributes['name'] = 'media';
+                $attributes['customattributes'] = 'params|'.$attributes['title'];
+                $attributes['customattributes'] .= 'attribute_separation'.'type|wmp';
+                $attributes['src'] = preg_replace('#.*src:\'([^\']*)\'.*#','$1',$attributes['title']);
+            }
+            elseif ($attributes['class'] == 'mceItemRealMedia')
+            {
+                $name = 'custom';
+                $attributes['name'] = 'media';
+                $attributes['customattributes'] = 'params|'.$attributes['title'];
+                $attributes['customattributes'] .= 'attribute_separation'.'type|rmp';
+                $attributes['src'] = preg_replace('#.*src:\'([^\']*)\'.*#','$1',$attributes['title']);
+            }
+        }
+        elseif ( $name === '' && isset( $attributes['type'] ) && $attributes['type'] === 'custom' )
         {
             $name = 'custom';
             if ( $tagName === 'div' )
@@ -335,12 +401,32 @@
             $attributes['name'] = 'underline';
             $attributes['children_required'] = 'true';
         }
-        else if ( ( $tagName === 'sub' || $tagName === 'sup' ) && self::customTagIsEnabled( $tagName ) )
+        else if ( ( $tagName === 'sub' || $tagName === 'sup' || $tagName === 'strike' || $tagName === 'del' || $tagName === 'ins' ) && self::customTagIsEnabled( $tagName ) )
+        {
+            $name = 'custom';
+            $attributes['name'] = $tagName;
+            $attributes['children_required'] = 'true';
+        }
+        else if ( $tagName === 'hr' && self::customTagIsEnabled( 'hr' ) )
+        {
+            $name = 'custom';
+            $attributes['name'] = $tagName;
+        }
+        else if ( $tagName === 'blockquote' && self::customTagIsEnabled( 'quote' ) )
+        {
+            $name = 'custom';
+            $attributes['name'] = 'quote';
+            $attributes['children_required'] = 'true';
+        }
+        else if ( ( $tagName === 'cite'  || $tagName === 'abbr' || $tagName === 'acronym' ) && self::customTagIsEnabled( $tagName ) )
         {
             $name = 'custom';
             $attributes['name'] = $tagName;
             $attributes['children_required'] = 'true';
+            $attributes['customattributes'] = 'title|'.((isset($attributes['title']))? $attributes['title']: '');
+            $attributes['customattributes'] .= 'attribute_separation'.'class|'.((isset($attributes['class']))? $attributes['class']: '');
         }
+
         return $name;
     }
 
diff -Naur ezoe_5_0_2/ezxmltext/handlers/input/ezoexmlinput.php ezoe_5_0_2_patched/ezxmltext/handlers/input/ezoexmlinput.php
--- ezoe_5_0_2/ezxmltext/handlers/input/ezoexmlinput.php	2009-05-20 15:35:48.000000000 +0200
+++ ezoe_5_0_2_patched/ezxmltext/handlers/input/ezoexmlinput.php	2009-09-18 18:29:53.000000000 +0200
@@ -765,15 +765,22 @@
                     $headerClassName = $sectionNode->getAttribute( 'class' );
                     $headerAlign = $sectionNode->getAttribute( 'align' );
                     $customAttributePart = self::getCustomAttrPart( $sectionNode, $styleString );
+                    $headerAttribute = '';
 
                     if ( $headerClassName )
                     {
-                        $customAttributePart .= ' class="' . $headerClassName . '"';
+                        $headerAttribute .= ' class="' . $headerClassName . '"';
                     }
 
                     if ( $headerAlign )
                     {
-                        $customAttributePart .= ' align="' . $headerAlign . '"';
+                        $headerAttribute .= ' align="' . $headerAlign . '"';
+                    }
+                    if ( $customAttributePart )
+                    {
+                        $headerAttribute .= str_replace( array('customattributes="', 'attribute_separation', '|'),
+                                                            array('', '" "', '="'),
+                                                            $customAttributePart );
                     }
 
                     $tagContent = '';
@@ -804,11 +811,11 @@
                     $archorName = $sectionNode->getAttribute( 'anchor_name' );
                     if ( $archorName != null )
                     {
-                        $output .= "<h$level$customAttributePart$styleString><a name=\"$archorName\" class=\"mceItemAnchor\"></a>" . $sectionNode->textContent. "</h$level>";
+                        $output .= "<h$level$headerAttribute$styleString><a name=\"$archorName\" class=\"mceItemAnchor\"></a>" . $sectionNode->textContent. "</h$level>";
                     }
                     else
                     {
-                        $output .= "<h$level$customAttributePart$styleString>" . $tagContent . "</h$level>";
+                        $output .= "<h$level$headerAttribute$styleString>" . $tagContent . "</h$level>";
                     }
 
                 }break;
@@ -936,18 +943,25 @@
         $paragraphClassName = $paragraph->getAttribute( 'class' );
         $paragraphAlign = $paragraph->getAttribute( 'align' );
         $customAttributePart = self::getCustomAttrPart( $paragraph, $styleString );
+        $paragraphAttribute = '';
 
         if ( $paragraphAlign )
         {
-            $customAttributePart .= ' align="' . $paragraphAlign . '"';
+            $paragraphAttribute .= ' align="' . $paragraphAlign . '"';
         }
 
         if ( $paragraphClassName )
         {
-            $customAttributePart .= ' class="' . $paragraphClassName . '"';
+            $paragraphAttribute .= ' class="' . $paragraphClassName . '"';
+        }
+        if ( $customAttributePart )
+        {
+            $paragraphAttribute .= str_replace( array('customattributes="', 'attribute_separation', '|'),
+                                                array('', '" "', '="'),
+                                                $customAttributePart );
         }
 
-        $openPara = "<p$customAttributePart$styleString>";
+        $openPara = '<p'.$paragraphAttribute.$styleString.'>';
         $closePara = '</p>';
 
         if ( $children->length == 0 )
@@ -1227,34 +1241,117 @@
                     $customAttributePart .= ' align="' . $align . '"';
                 }
 
-                if ( isset( self::$nativeCustomTags[ $name ] ))
-                {
-                    if ( !$childTagText ) $childTagText = '&nbsp;';
-                    $output .= '<' . self::$nativeCustomTags[ $name ] . $customAttributePart . $styleString . '>' . $childTagText . '</' . self::$nativeCustomTags[ $name ] . '>';
-                }
-                else if ( $inline === true )
+                switch ($name)
                 {
-                    if ( !$childTagText ) $childTagText = '&nbsp;';
-                    $output .= '<span class="mceItemCustomTag ' . $name . '" type="custom"' . $customAttributePart . $styleString . '>' . $childTagText . '</span>';
-                }
-                else if ( $inline === 'image' )
-                {
-                    $imageUrl = self::getCustomAttrbute( $tag, 'image_url' );
-                    if ( $imageUrl === null || !$imageUrl )
-                    {
-                        $imageUrl = self::getDesignFile('images/tango/image-x-generic22.png');
-                        $customAttributePart .= ' width="22" height="22"';
-                    }
-                    $output .= '<img src="' . $imageUrl . '" class="mceItemCustomTag ' . $name . '" type="custom"' . $customAttributePart . $styleString . ' />';
-                }
-                else
-                {
-                    $customTagContent = $this->inputSectionXML( $tag, $currentSectionLevel, $tdSectionLevel );
-                    /*foreach ( $tag->childNodes as $tagChild )
-                    {
-                        $customTagContent .= $this->inputTdXML( $tagChild, $currentSectionLevel, $tdSectionLevel );
-                    }*/
-                    $output .= '<div class="mceItemCustomTag ' . $name . '" type="custom"' . $customAttributePart . $styleString . '>' . $customTagContent . '</div>';
+                    case 'hr' :
+                        $customAttributeList = str_replace( array('customattributes="', 'attribute_separation', '|'),
+                                                        array('', '" "', '="'),
+                                                        $customAttributePart );
+                        $output .= '<hr' . str_replace('noshade=""', '', $customAttributeList) . ' />';
+                        break;
+
+                    case 'smiley' :
+                        $customAttributeList = str_replace( array('customattributes="', 'attribute_separation', '|'),
+                                                        array('', '" "', '="'),
+                                                        $customAttributePart );
+                        $output .= '<img' . $customAttributeList . ' />';
+                        break;
+
+                    case 'media' :
+                        $wwwDirPrefix = "";
+                        if ( strlen( eZSys::wwwDir() ) > 0 )
+                        {
+                            $wwwDirPrefix = eZSys::wwwDir() . "/";
+                        }
+
+                        $output .= '<img '. $styleString .' " mce_src="'.$wwwDirPrefix.'extension/ezoe/design/standard/javascript/plugins/media/img/trans.gif" src="'.$wwwDirPrefix.'extension/ezoe/design/standard/javascript/plugins/media/img/trans.gif" ';
+                        foreach ( $tag->attributes as $attribute )
+                        {
+                            if ( $attribute->namespaceURI == 'http://ez.no/namespaces/ezpublish3/custom/' )
+                            {
+                                if ( $attribute->name == 'params' )
+                                    $output .= ' title="' . $attribute->value . '" ';
+                                elseif ( $attribute->name == 'type' )
+                                {
+                                    if ( $attribute->value == 'flash' )
+                                        $output .= ' class="mceItemFlash" ';
+                                    elseif ( $attribute->value == 'shockwave' )
+                                        $output .= ' class="mceItemShockWave" ';
+                                    elseif ( $attribute->value == 'qt' )
+                                        $output .= ' class="mceItemQuickTime" ';
+                                    elseif ( $attribute->value == 'wmp' )
+                                        $output .= ' class="mceItemWindowsMedia" ';
+                                    elseif ( $attribute->value == 'rmp' )
+                                        $output .= ' class="mceItemRealMedia" ';
+                                }
+                                else
+                                    $output .= $attribute->name . '="' . $attribute->value . '" ';
+                            }
+                        }
+                        $output .= ' />';
+                        break;
+
+                    case 'quote' :
+                        $output .= '<blockquote>';
+                        $children = $tag->childNodes;
+                        foreach ( $children as $child )
+                        {
+                            $childName = $child instanceof DOMNode ? $child->nodeName : '';
+                            switch ( $childName )
+                            {
+                                case 'paragraph' :
+                                {
+                                    $output .= $this->inputParagraphXML( $child, $currentSectionLevel, $tdSectionLevel  );
+                                }break;
+                            }
+                        }
+                        $output .= '</blockquote>';
+                        break;
+
+                    case 'strike' :
+                    case 'span' :
+                    case 'cite' :
+                    case 'abbr' :
+                    case 'acronym' :
+                    case 'del' :
+                    case 'ins' :
+                        $customAttributeList = str_replace( array('customattributes="', 'attribute_separation', '|'),
+                                                        array('', '" "', '="'),
+                                                        $customAttributePart );
+                        $output .= '<' . $name . ' ' . $customAttributeList . '>' . $childTagText . '</' . $name . '>';
+                        break;
+
+                    default :
+                        if ( isset( self::$nativeCustomTags[ $name ] ))
+                        {
+                            if ( !$childTagText ) $childTagText = '&nbsp;';
+                            $output .= '<' . self::$nativeCustomTags[ $name ] . $customAttributePart . $styleString . '>' . $childTagText . '</' . self::$nativeCustomTags[ $name ] . '>';
+                        }
+                        else if ( $inline === true )
+                        {
+                            if ( !$childTagText ) $childTagText = '&nbsp;';
+                            $output .= '<span class="mceItemCustomTag ' . $name . '" type="custom"' . $customAttributePart . $styleString . '>' . $childTagText . '</span>';
+                        }
+                        else if ( $inline === 'image' )
+                        {
+                            $imageUrl = self::getCustomAttrbute( $tag, 'image_url' );
+                            if ( $imageUrl === null || !$imageUrl )
+                            {
+                                $imageUrl = self::getDesignFile('images/tango/image-x-generic22.png');
+                                $customAttributePart .= ' width="22" height="22"';
+                            }
+                            $output .= '<img src="' . $imageUrl . '" class="mceItemCustomTag ' . $name . '" type="custom"' . $customAttributePart . $styleString . ' />';
+                        }
+                        else
+                        {
+                            $customTagContent = $this->inputSectionXML( $tag, $currentSectionLevel, $tdSectionLevel );
+                            /*foreach ( $tag->childNodes as $tagChild )
+                            {
+                                $customTagContent .= $this->inputTdXML( $tagChild, $currentSectionLevel, $tdSectionLevel );
+                            }*/
+                            $output .= '<div class="mceItemCustomTag ' . $name . '" type="custom"' . $customAttributePart . $styleString . '>' . $customTagContent . '</div>';
+                        }
+                        break;
                 }
             }break;
 
@@ -1268,6 +1365,9 @@
                 $className = $tag->getAttribute( 'class' );
 
                 $customAttributePart = self::getCustomAttrPart( $tag, $styleString );
+                $customAttributeList = str_replace( array('customattributes="', 'attribute_separation', '|'),
+                                                    array('', '" "', '="'),
+                                                    $customAttributePart );
 
                 $literalText = htmlspecialchars( $literalText );
                 $literalText = str_replace( '  ', ' &nbsp;', $literalText );
@@ -1277,7 +1377,7 @@
                 if ( $className != '' )
                     $customAttributePart .= ' class="' . $className . '"';
 
-                $output .= '<pre' . $customAttributePart . $styleString . '>' . $literalText . '</pre>';
+                $output .= '<pre' . $customAttributeList . $styleString . '>' . $literalText . '</pre>';
 
             }break;
 
@@ -1314,11 +1414,15 @@
                     }
                     
                     $LIclassName = $listItemNode->getAttribute( 'class' );
+
+                    $customAttributeList = str_replace( array('customattributes="', 'attribute_separation', '|'),
+                                                        array('', '" "', '="'),
+                                                        $LIcustomAttributePart );
                     
                     if ( $LIclassName )
                         $LIcustomAttributePart .= ' class="' . $LIclassName . '"';
 
-                    $listContent .= '<li' . $LIcustomAttributePart . $listItemStyleString . '>' . $listItemContent . '</li>';
+                    $listContent .= '<li' . $customAttributeList . $listItemStyleString . '>' . $listItemContent . '</li>';
                 }
                 $className = $tag->getAttribute( 'class' );
                 if ( $className != '' )
@@ -1381,7 +1485,7 @@
                         }
                         if ( $cellAlign )
                         {
-                        	$TDcustomAttributePart .= ' align="' . $cellAlign . '"';
+                            $TDcustomAttributePart .= ' align="' . $cellAlign . '"';
                         }
                         $cellContent = '';
                         $tdSectionLevel = $currentSectionLevel;
@@ -1399,7 +1503,10 @@
                         }
                         else
                         {
-                            $tableData .= '<td' . $TDcustomAttributePart . $tableCellStyleString . '>' . $cellContent . '</td>';
+                            $customAttributeList = str_replace( array('customattributes="', 'attribute_separation', '|'),
+                                                                array('', '" "', '="'),
+                                                                $TDcustomAttributePart );
+                            $tableData .= '<td' . $customAttributeList . $tableCellStyleString . '>' . $cellContent . '</td>';
                         }
                     }
                     if ( $TRclassName )
diff -Naur ezoe_5_0_2/settings/content.ini.append.php ezoe_5_0_2_patched/settings/content.ini.append.php
--- ezoe_5_0_2/settings/content.ini.append.php	2009-05-20 15:35:50.000000000 +0200
+++ ezoe_5_0_2_patched/settings/content.ini.append.php	2009-09-18 18:03:46.000000000 +0200
@@ -1,4 +1,5 @@
 <?php /* #?ini charset="utf-8"?
+
 # eZ publish configuration file for content and ez xml tags
 #
 
@@ -7,22 +8,109 @@
 # pagebreak: adds a button to add pagebreaks
 # NOTE: view template is not included for pagebreak tag, so you need to implement it to see it
 #
-#[CustomTagSettings]
-#AvailableCustomTags[]=pagebreak
-#AvailableCustomTags[]=underline
-#IsInline[underline]=true
+[CustomTagSettings]
+AvailableCustomTags[]=pagebreak
+AvailableCustomTags[]=underline
+AvailableCustomTags[]=hr
+AvailableCustomTags[]=strike
+AvailableCustomTags[]=quote
+AvailableCustomTags[]=smiley
+AvailableCustomTags[]=media
+AvailableCustomTags[]=span
+AvailableCustomTags[]=cite
+AvailableCustomTags[]=abbr
+AvailableCustomTags[]=acronym
+AvailableCustomTags[]=del
+AvailableCustomTags[]=ins
 ## New setting as of OE 5.0.1
 ## Displays the custom tag as an image so you cannot create sub content.
 ## Will use custom image if there is a custom attribute on the tag named 'image_url'
 #IsInline[externalimage]=image
-
-
-
+IsInline[underline]=true
+IsInline[strikethrough]=true
+IsInline[smiley]=true
+IsInline[span]=true
+IsInline[cite]=true
+IsInline[abbr]=true
+IsInline[acronym]=true
+IsInline[del]=true
+IsInline[ins]=true
 
 [paragraph]
+#AvailableClasses[]=pRed
 # Human-readable aliases for class names that will be displayed
 # in the "Class" dropdowns of dialog windows.
-#ClassDescription[pRed]=Red bar
+ClassDescription[pRed]=Red bar
+ClassDescription[pBlue]=Blue bar
+CustomAttributes[]=style
+CustomAttributes[]=dir
+
+[header]
+CustomAttributes[]=style
+CustomAttributes[]=dir
+
+[literal]
+CustomAttributes[]=style
+CustomAttributes[]=dir
+
+[li]
+CustomAttributes[]
+CustomAttributes[]=style
+CustomAttributes[]=dir
+
+[td]
+CustomAttributes[]=style
+CustomAttributes[]=dir
+
+[hr]
+CustomAttributes[]
+CustomAttributes[]=width
+CustomAttributes[]=size
+CustomAttributes[]=noshade
+
+[smiley]
+CustomAttributes[]
+CustomAttributes[]=src
+CustomAttributes[]=title
+
+[media]
+CustomAttributes[]
+CustomAttributes[]=params
+CustomAttributes[]=type
+CustomAttributes[]=width
+CustomAttributes[]=height
+CustomAttributes[]=src
+
+[span]
+CustomAttributes[]
+CustomAttributes[]=style
+
+[cite]
+CustomAttributes[]
+CustomAttributes[]=id
+CustomAttributes[]=class
+CustomAttributes[]=lang
+CustomAttributes[]=title
+CustomAttributes[]=style
+CustomAttributes[]=dir
+
+[abbr]
+CustomAttributes[]
+CustomAttributes[]=id
+CustomAttributes[]=class
+CustomAttributes[]=lang
+CustomAttributes[]=title
+CustomAttributes[]=style
+CustomAttributes[]=dir
+
+[acronym]
+CustomAttributes[]
+CustomAttributes[]=id
+CustomAttributes[]=class
+CustomAttributes[]=lang
+CustomAttributes[]=title
+CustomAttributes[]=style
+CustomAttributes[]=dir
 
 [link]
 AvailableViewModes[]=full
diff -Naur ezoe_5_0_2/settings/ezoe.ini ezoe_5_0_2_patched/settings/ezoe.ini
--- ezoe_5_0_2/settings/ezoe.ini	2009-05-20 15:35:34.000000000 +0200
+++ ezoe_5_0_2_patched/settings/ezoe.ini	2009-09-18 18:30:45.000000000 +0200
@@ -19,6 +19,11 @@
 Plugins[]=paste
 Plugins[]=fullscreen
 Plugins[]=inlinepopups
+#Plugins[]=style
+#Plugins[]=media
+#Plugins[]=directionality
+#Plugins[]=xhtmlxtras
+#Plugins[]=emotions
 
 # Skin for the editor, 'default' and 'o2k7' is included as standard
 Skin=o2k7
@@ -68,6 +73,22 @@
 XmlTagNameAlias[ol]=ordered list
 XmlTagNameAlias[li]=list item
 
+# List of format for the formatselect button
+#Formats[]
+#Formats[]=p
+#Formats[]=pre
+#Formats[]=h1
+#Formats[]=h2
+#Formats[]=h3
+#Formats[]=h4
+#Formats[]=h5
+#Formats[]=h6
+#Formats[]=div
+#Formats[]=blockquote
+
+# List of style for the styleselect button
+#Styles[]
+#Styles[]=pRed
 
 [SystemSettings]
 # Use relative URLs (without host) inside the editor (only affects images in OE 5.0).
@@ -149,6 +170,44 @@
 #Buttons[]=discard
 # Button for TinyMCE spellchecker, remember to activate plugin first
 #Buttons[]=spellchecker
+#Buttons[]=&
+
+# needs the xhtmlxtras plugin in order to work (cite, abbr, acronym, del, ins)
+#Buttons[]=cite
+#Buttons[]=abbr
+#Buttons[]=acronym
+#Buttons[]=del
+#Buttons[]=ins
+
+#Buttons[]=|
+#Buttons[]=blockquote
+#Buttons[]=strikethrough
+#Buttons[]=hr
+# needs the media plugin in order to work (cite, abbr, acronym, del, ins)
+#Buttons[]=media
+#Buttons[]=|
+#Buttons[]=insertdate
+#Buttons[]=inserttime
+#Buttons[]=pastetext
+#Buttons[]=removeformat
+#Buttons[]=|
+#Buttons[]=forecolor
+#Buttons[]=backcolor
+# needs the style plugin in order to work (cite, abbr, acronym, del, ins)
+#Buttons[]=styleprops
+#Buttons[]=styleselect
+#Buttons[]=|
+#Buttons[]=newdocument
+#Buttons[]=fontselect
+#Buttons[]=fontsizeselect
+
+# needs the directionality plugin in order to work (ltr, rtl)
+#Buttons[]=ltr
+#Buttons[]=rtl
+
+# needs the emotions plugin in order to work
+#Buttons[]=emotions
+
 
 # Toolbar location, possible values: top / bottom / none
 ToolbarLocation=top
