]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-14739: some minor modifications to allow per-editor customization, and changing...
authorscyrma <scyrma>
Wed, 2 Jul 2008 06:11:55 +0000 (06:11 +0000)
committerscyrma <scyrma>
Wed, 2 Jul 2008 06:11:55 +0000 (06:11 +0000)
lib/editor/htmlEditor.class.php
lib/editor/tinymce.js.php
lib/editor/tinymce/messages.php
lib/editor/tinymce/staff.php
lib/editor/tinymce/student.php
lib/editor/tinymce/xhtml_ruleset.txt

index 385277005f6f97aa263009533a08dda51e8422eb..fe40d6ecd80baf458350b5a00e35c63038a3fb11 100644 (file)
@@ -1,95 +1,95 @@
-<?php\r
-\r
-/**\r
- *\r
- * @copyright &copy; 2006 The Open University\r
- * @author d.t.le@open.ac.uk, a.j.forth@open.ac.uk\r
- * @license http://www.gnu.org/copyleft/gpl.html GNU Public License\r
- * @package portfolio\r
- */\r
-\r
-\r
-class htmlEditor {\r
-\r
-    public function __construct() {\r
-    }\r
-\r
-    public function configure($editor = NULL) {\r
-\r
-        global $CFG;\r
-        static $configured = Array();\r
-\r
-        if (!$CFG->htmleditor) {\r
-            return;\r
-        }\r
-\r
-        if ($editor == '') {\r
-            $editor = (isset($CFG->defaulthtmleditor) ? $CFG->defaulthtmleditor : '');\r
-        }\r
-\r
-        $configuration = '';\r
-\r
-        switch ($editor) {\r
-\r
-            case 'tinymce':\r
-                if (!isset($configured['tinymce'])) {\r
-                    $configuration = <<<EOF\r
-<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>\r
-<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/tinymce.js.php"></script>\r
-EOF;\r
-                    $configured['tinymce'] = true;\r
-                }\r
-                break;\r
-\r
-            case 'fckeditor':\r
-                $configuration = <<<EOF\r
-<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/fckeditor/fckeditor.js"></script>\r
-<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/fckeditor.js.php"></script>\r
-EOF;\r
-                break;\r
-\r
-\r
-            case 'xinha':\r
-                $configuration = <<<EOF\r
-<script type="text/javascript">\r
-    _editor_url  = "{$CFG->wwwroot}/lib/editor/xinha/"\r
-    _editor_lang = "en";\r
-    _editor_skin = "blue-look";\r
-</script>\r
-<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/xinha/XinhaCore.js"></script>\r
-<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/xinha.js.php"></script>\r
-EOF;\r
-                break;\r
-\r
-            case 'yuirte':\r
-                $configuration = <<<EOF\r
-<!-- Skin CSS file -->\r
-<link rel="stylesheet" type="text/css" href="{$CFG->wwwroot}/lib/editor/yui/build/assets/skins/sam/skin.css">\r
-\r
-<!-- Utility Dependencies -->\r
-<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/yui/build/yahoo-dom-event/yahoo-dom-event.js"></script>\r
-<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/yui/build/element/element-beta-min.js"></script>\r
-\r
-<!-- Needed for Menus, Buttons and Overlays used in the Toolbar -->\r
-<script src="{$CFG->wwwroot}/lib/editor/yui/build/container/container_core-min.js"></script>\r
-<script src="{$CFG->wwwroot}/lib/editor/yui/build/menu/menu-min.js"></script>\r
-<script src="{$CFG->wwwroot}/lib/editor/yui/build/button/button-min.js"></script>\r
-\r
-<!-- Source file for Rich Text Editor-->\r
-<script src="{$CFG->wwwroot}/lib/editor/yui/build/editor/editor-beta-min.js"></script>\r
-\r
-<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/yuirte.js.php"></script>\r
-EOF;\r
-                break;\r
-\r
-            default:\r
-                break;\r
-\r
-        }\r
-\r
-        return $configuration;\r
-\r
-    }\r
-}\r
-\r
-?>\r
+<?php
+
+/**
+ *
+ * @copyright &copy; 2006 The Open University
+ * @author d.t.le@open.ac.uk, a.j.forth@open.ac.uk
+ * @license http://www.gnu.org/copyleft/gpl.html GNU Public License
+ * @package portfolio
+ */
+
+
+class htmlEditor {
+
+    public function __construct() {
+    }
+
+    public function configure($editor = NULL) {
+
+        global $CFG;
+        static $configured = Array();
+
+        if (!isset($CFG->htmleditor) or (!$CFG->htmleditor)) {
+            return;
+        }
+
+        if ($editor == '') {
+            $editor = (isset($CFG->defaulthtmleditor) ? $CFG->defaulthtmleditor : '');
+        }
+
+        $configuration = '';
+
+        switch ($editor) {
+
+            case 'tinymce':
+                if (!isset($configured['tinymce'])) {
+                    $configuration = <<<EOF
+<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
+<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/tinymce.js.php"></script>
+EOF;
+                    $configured['tinymce'] = true;
+                }
+                break;
+
+            case 'fckeditor':
+                $configuration = <<<EOF
+<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/fckeditor/fckeditor.js"></script>
+<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/fckeditor.js.php"></script>
+EOF;
+                break;
+
+
+            case 'xinha':
+                $configuration = <<<EOF
+<script type="text/javascript">
+    _editor_url  = "{$CFG->wwwroot}/lib/editor/xinha/"
+    _editor_lang = "en";
+    _editor_skin = "blue-look";
+</script>
+<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/xinha/XinhaCore.js"></script>
+<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/xinha.js.php"></script>
+EOF;
+                break;
+
+            case 'yuirte':
+                $configuration = <<<EOF
+<!-- Skin CSS file -->
+<link rel="stylesheet" type="text/css" href="{$CFG->wwwroot}/lib/editor/yui/build/assets/skins/sam/skin.css">
+
+<!-- Utility Dependencies -->
+<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/yui/build/yahoo-dom-event/yahoo-dom-event.js"></script>
+<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/yui/build/element/element-beta-min.js"></script>
+
+<!-- Needed for Menus, Buttons and Overlays used in the Toolbar -->
+<script src="{$CFG->wwwroot}/lib/editor/yui/build/container/container_core-min.js"></script>
+<script src="{$CFG->wwwroot}/lib/editor/yui/build/menu/menu-min.js"></script>
+<script src="{$CFG->wwwroot}/lib/editor/yui/build/button/button-min.js"></script>
+
+<!-- Source file for Rich Text Editor-->
+<script src="{$CFG->wwwroot}/lib/editor/yui/build/editor/editor-beta-min.js"></script>
+
+<script type="text/javascript" src="{$CFG->wwwroot}/lib/editor/yuirte.js.php"></script>
+EOF;
+                break;
+
+            default:
+                break;
+
+        }
+
+        return $configuration;
+
+    }
+}
+
+?>
index 4221831ceb10be2f64f1c8ac6b8c91c5440c6ba7..cee21428e7046764ca35ed7748e91beb47c81cd9 100644 (file)
-<?php\r
-\r
-require_once('../../config.php');\r
-\r
-/*\r
- *\r
- * ********************************************************************************************************\r
- *\r
- * This section configures the TinyMCE toolbar buttons on and off\r
- * depending on the Moodle settings\r
- *\r
- * The changes are applied on a global basis,\r
- * ..... but there is scope here to modify and restrict the config\r
- * on a role basis, course basis, user basis, etc. if so desired.\r
- *\r
- */\r
-$editorhidebuttons = str_replace(' ', ',', $CFG->editorhidebuttons);\r
-\r
-$editorhidebuttons1 = $editorhidebuttons . ',visualaid,styleselect';\r
-\r
-$editorhidebuttons = 'theme_advanced_disable : "'.$editorhidebuttons1.'",';\r
-\r
-$editorhidebuttons = str_replace('fontsize',             'fontsizeselect',       $editorhidebuttons);\r
-$editorhidebuttons = str_replace('subscript',            'sub',                  $editorhidebuttons);\r
-$editorhidebuttons = str_replace('superscript',          'sup',                  $editorhidebuttons);\r
-$editorhidebuttons = str_replace('insertorderedlist',    'numlist',              $editorhidebuttons);\r
-$editorhidebuttons = str_replace('insertunorderedlist',  'bullist',              $editorhidebuttons);\r
-$editorhidebuttons = str_replace('createanchor',         'anchor',               $editorhidebuttons);\r
-$editorhidebuttons = str_replace('createlink',           'link',                 $editorhidebuttons);\r
-$editorhidebuttons = str_replace('htmlmode',             'code',                 $editorhidebuttons);\r
-$editorhidebuttons = str_replace('insertchar',           'charmap',              $editorhidebuttons);\r
-$editorhidebuttons = str_replace('insertimage',          'image',                $editorhidebuttons);\r
-$editorhidebuttons = str_replace('inserthorizontalrule', 'hr',                   $editorhidebuttons);\r
-$editorhidebuttons = str_replace('formatblock',          'formatselect',         $editorhidebuttons);\r
-$editorhidebuttons = str_replace('clean',                'cleanup,removeformat', $editorhidebuttons);\r
-\r
-// insertsmile,\r
-\r
-$pieces = explode(",", $editorhidebuttons1);\r
-\r
-$spellcheck = '';\r
-if (! in_array("spellcheck", $pieces)) {\r
-    $spellcheck = 'spellchecker,';\r
-}\r
-$inserttable = '';\r
-if (! in_array("inserttable", $pieces)) {\r
-    $inserttable = 'tablecontrols,separator,';\r
-}\r
-$search_replace = '';\r
-if (! in_array("search_replace", $pieces)) {\r
-    $search_replace = 'search,replace,separator,';\r
-}\r
-$lefttoright = '';\r
-if (! in_array("lefttoright", $pieces)) {\r
-    $lefttoright = 'ltr,separator,';\r
-}\r
-$righttoleft = '';\r
-if (! in_array("righttoleft", $pieces)) {\r
-    $righttoleft = 'rtl,separator,';\r
-}\r
-$cleanup = '';\r
-if (! in_array("cleanup", $pieces)) {\r
-    $cleanup = 'cleanup,removeformat,separator,';\r
-}\r
-$fontselect = '';\r
-if (! in_array("fontname", $pieces)) {\r
-    $fontselect = 'fontselect,';\r
-}\r
-$fontsize = '';\r
-if (! in_array("fontsize", $pieces)) {\r
-    $fontsize = 'fontsizeselect,';\r
-}\r
-$forecolor = '';\r
-if (! in_array("forecolor", $pieces)) {\r
-    $forecolor = 'forecolor,';\r
-}\r
-$hilitecolor = '';\r
-if (! in_array("hilitecolor", $pieces)) {\r
-    $hilitecolor = 'backcolor,';\r
-}\r
-$popupeditor = '';\r
-if (! in_array("popupeditor", $pieces)) {\r
-    $popupeditor = 'fullscreen,';\r
-}\r
-\r
-$editoraddbuttons3 = 'theme_advanced_buttons3_add : "'.$fontselect.$fontsize.$forecolor.$hilitecolor.'",';\r
-$editoraddbuttons4 = 'theme_advanced_buttons4 : "'.$spellcheck.$search_replace.$inserttable.$lefttoright.$righttoleft.$popupeditor.$cleanup.'",';\r
-\r
-/*\r
- *\r
- * ********************************************************************************************************\r
- *\r
- */\r
-\r
-\r
-$temp = $_SERVER["REQUEST_URI"];\r
-$temp = explode('/', $temp);\r
-$root = $temp[1];\r
-\r
-$configuration = <<<EOF\r
-\r
-function createHTMLArea(id) {\r
-\r
-    random       = Math.ceil(1000*Math.random());\r
-    editor       = 'editor'+random;\r
-    editorsubmit = 'editorsubmit'+random;\r
-\r
-    tinyMCE.init({\r
-        mode     : "exact",\r
-        elements : id,\r
-        theme    : "advanced",\r
-\r
-        plugins : "safari,spellchecker,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,pagebreak,",\r
-        spellchecker_languages : "+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv",\r
-\r
-        plugin_insertdate_dateFormat : "%Y-%m-%d",\r
-        plugin_insertdate_timeFormat : "%H:%M:%S",\r
-\r
-        content_css : "/$root/lib/editor/tinymce/examples/css/content.css",\r
-\r
-        theme_advanced_toolbar_location : "top",\r
-        theme_advanced_toolbar_align : "top",\r
-        theme_advanced_statusbar_location : "bottom",\r
-\r
-        theme_advanced_resize_horizontal : true,\r
-        theme_advanced_resizing : true,\r
-        apply_source_formatting : true,\r
-\r
-        $editorhidebuttons\r
-        $editoraddbuttons3\r
-        $editoraddbuttons4\r
-\r
-    });\r
-\r
-    script = "document.getElementById("+id+").form."+editorsubmit+" = document.getElementById("+id+").form.onsubmit;";\r
-    script = script + "document.getElementById("+id+").form.onsubmit = function() { tinyMCE.triggerSave(); document.getElementById("+id+").form."+editorsubmit+"(); document.getElementById("+id+").form."+editorsubmit+" = null;}";\r
-    eval(script);\r
-\r
-}\r
-\r
-EOF;\r
-\r
-echo <<<EOF\r
-    tinyMCE.init({\r
-        mode: "textareas",\r
-        relative_urls: false,\r
-        editor_selector: "form-textarea-simple",\r
-        document_base_url: "$CFG->httpswwwroot",\r
-        theme: "simple",\r
-        skin: "o2k7",\r
-        apply_source_formatting: true, \r
-        remove_script_host: false,\r
-        entity_encoding: "raw",\r
-        language: "en",\r
-        plugins: "spellchecker,emoticons,paste,standardmenu,directionality"\r
-    });\r
-    tinyMCE.init({\r
-        mode: "textareas",\r
-        relative_urls: false,\r
-        editor_selector: "form-textarea-advanced",\r
-        document_base_url: "$CFG->httpswwwroot",\r
-        theme: "advanced",\r
-        skin: "o2k7",\r
-        apply_source_formatting: true, \r
-        remove_script_host: false,\r
-        entity_encoding: "raw",\r
-        language: "en",\r
-        plugins: "safari,spellchecker,table,style,layer,advhr,advimage,advlink,emoticons,inlinepopups,media,searchreplace,paste,standardmenu,directionality,fullscreen,moodleimage,moodlelink,dragmath,nonbreaking",\r
-        theme_advanced_layout_manager: "SimpleLayout",\r
-        theme_advanced_toolbar_align : "left",\r
-        theme_advanced_buttons1: "fontselect,fontsizeselect,formatselect,",\r
-        theme_advanced_buttons1_add: "styleselect,selectall,pastetext,pasteword,cleanup",\r
-        theme_advanced_buttons2: "bold,italic,underline,strikethrough,sub,sup,|,justifyleft,justifycenter,justifyright,justifyfull,|,undo,redo,removeformat,code",\r
-        theme_advanced_buttons2_add: "styleprops,ltr,rtl,nonbreaking,charmap",\r
-        theme_advanced_buttons3: "media,advhr,emoticons,dragmath,spellchecker,search,code,fullscreen,bullist,numlist,outdent,indent,forecolor,backcolor,link,unlink,anchor,image,charmap,insertlayer,table",\r
-        theme_advanced_buttons3_add: "media,emoticons,charmap,dragmath,search,code,fullscreen",\r
-        theme_advanced_fonts: "Trebuchet=Trebuchet MS,Verdana,Arial,Helvetica,sans-serif;Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;Wingdings=wingdings", \r
-        moodleimage_course_id: $COURSE->id,\r
-        theme_advanced_resize_horizontal: true,\r
-        theme_advanced_resizing: true,\r
-        theme_advanced_toolbar_location : "top",\r
-        theme_advanced_statusbar_location : "bottom",\r
-        file_browser_callback : "moodlefilemanager",\r
-\r
-EOF;\r
-// the xhtml ruleset must be the last one - no comma at the end of the file\r
-readfile('tinymce/xhtml_ruleset.txt');\r
-echo <<<EOF\r
-    });\r
-    function toggleEditor(id) {\r
-        var elm = document.getElementById(id);\r
-        if (tinyMCE.getInstanceById(id) == null)\r
-                   tinyMCE.execCommand('mceAddControl', false, id);\r
-           else\r
-                   tinyMCE.execCommand('mceRemoveControl', false, id);\r
-    }\r
-    function moodlefilemanager(field_name, url, type, win) {\r
-        tinyMCE.activeEditor.windowManager.open({\r
-            file: "{$CFG->httpswwwroot}/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/link.php?id={$COURSE->id}",\r
-            width: 480,  \r
-            height: 380,\r
-            resizable: "yes",\r
-            inline: "yes",  \r
-            close_previous: "no"\r
-        }, {\r
-            window: win,\r
-            input: field_name\r
-        });\r
-        return false;\r
-    }\r
-EOF;\r
-?>\r
+<?php
+
+require_once('../../config.php');
+
+/*
+ *
+ * ********************************************************************************************************
+ *
+ * This section configures the TinyMCE toolbar buttons on and off
+ * depending on the Moodle settings
+ *
+ * The changes are applied on a global basis,
+ * ..... but there is scope here to modify and restrict the config
+ * on a role basis, course basis, user basis, etc. if so desired.
+ *
+ */
+$editorhidebuttons = str_replace(' ', ',', $CFG->tinymcehidebuttons);
+
+$editorhidebuttons1 = $editorhidebuttons . ',visualaid,styleselect';
+
+$editorhidebuttons = 'theme_advanced_disable : "'.$editorhidebuttons1.'",';
+
+$editorhidebuttons = str_replace('fontsize',             'fontsizeselect',       $editorhidebuttons);
+$editorhidebuttons = str_replace('subscript',            'sub',                  $editorhidebuttons);
+$editorhidebuttons = str_replace('superscript',          'sup',                  $editorhidebuttons);
+$editorhidebuttons = str_replace('insertorderedlist',    'numlist',              $editorhidebuttons);
+$editorhidebuttons = str_replace('insertunorderedlist',  'bullist',              $editorhidebuttons);
+$editorhidebuttons = str_replace('createanchor',         'anchor',               $editorhidebuttons);
+$editorhidebuttons = str_replace('createlink',           'link',                 $editorhidebuttons);
+$editorhidebuttons = str_replace('htmlmode',             'code',                 $editorhidebuttons);
+$editorhidebuttons = str_replace('insertchar',           'charmap',              $editorhidebuttons);
+$editorhidebuttons = str_replace('insertimage',          'image',                $editorhidebuttons);
+$editorhidebuttons = str_replace('inserthorizontalrule', 'hr',                   $editorhidebuttons);
+$editorhidebuttons = str_replace('formatblock',          'formatselect',         $editorhidebuttons);
+$editorhidebuttons = str_replace('clean',                'cleanup,removeformat', $editorhidebuttons);
+
+// insertsmile,
+
+$pieces = explode(",", $editorhidebuttons1);
+
+$spellcheck = '';
+if (! in_array("spellcheck", $pieces)) {
+    $spellcheck = 'spellchecker,';
+}
+$inserttable = '';
+if (! in_array("inserttable", $pieces)) {
+    $inserttable = 'tablecontrols,separator,';
+}
+$search_replace = '';
+if (! in_array("search_replace", $pieces)) {
+    $search_replace = 'search,replace,separator,';
+}
+$lefttoright = '';
+if (! in_array("lefttoright", $pieces)) {
+    $lefttoright = 'ltr,separator,';
+}
+$righttoleft = '';
+if (! in_array("righttoleft", $pieces)) {
+    $righttoleft = 'rtl,separator,';
+}
+$cleanup = '';
+if (! in_array("cleanup", $pieces)) {
+    $cleanup = 'cleanup,removeformat,separator,';
+}
+$fontselect = '';
+if (! in_array("fontname", $pieces)) {
+    $fontselect = 'fontselect,';
+}
+$fontsize = '';
+if (! in_array("fontsize", $pieces)) {
+    $fontsize = 'fontsizeselect,';
+}
+$forecolor = '';
+if (! in_array("forecolor", $pieces)) {
+    $forecolor = 'forecolor,';
+}
+$hilitecolor = '';
+if (! in_array("hilitecolor", $pieces)) {
+    $hilitecolor = 'backcolor,';
+}
+$popupeditor = '';
+if (! in_array("popupeditor", $pieces)) {
+    $popupeditor = 'fullscreen,';
+}
+
+$editoraddbuttons3 = 'theme_advanced_buttons3_add : "'.$fontselect.$fontsize.$forecolor.$hilitecolor.'",';
+$editoraddbuttons4 = 'theme_advanced_buttons4 : "'.$spellcheck.$search_replace.$inserttable.$lefttoright.$righttoleft.$popupeditor.$cleanup.'",';
+
+/*
+ *
+ * ********************************************************************************************************
+ *
+ */
+
+
+$temp = $_SERVER["REQUEST_URI"];
+$temp = explode('/', $temp);
+$root = $temp[1];
+
+$configuration = <<<EOF
+
+function createHTMLArea(id) {
+
+    random       = Math.ceil(1000*Math.random());
+    editor       = 'editor'+random;
+    editorsubmit = 'editorsubmit'+random;
+
+    tinyMCE.init({
+        mode     : "exact",
+        elements : id,
+        theme    : "advanced",
+
+        plugins : "safari,spellchecker,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,pagebreak,",
+        spellchecker_languages : "+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv",
+
+        plugin_insertdate_dateFormat : "%Y-%m-%d",
+        plugin_insertdate_timeFormat : "%H:%M:%S",
+
+        content_css : "/$root/lib/editor/tinymce/examples/css/content.css",
+
+        theme_advanced_toolbar_location : "top",
+        theme_advanced_toolbar_align : "top",
+        theme_advanced_statusbar_location : "bottom",
+
+        theme_advanced_resize_horizontal : true,
+        theme_advanced_resizing : true,
+        apply_source_formatting : true,
+
+        $editorhidebuttons
+        $editoraddbuttons3
+        $editoraddbuttons4
+
+    });
+
+    script = "document.getElementById("+id+").form."+editorsubmit+" = document.getElementById("+id+").form.onsubmit;";
+    script = script + "document.getElementById("+id+").form.onsubmit = function() { tinyMCE.triggerSave(); document.getElementById("+id+").form."+editorsubmit+"(); document.getElementById("+id+").form."+editorsubmit+" = null;}";
+    eval(script);
+
+}
+
+EOF;
+
+echo <<<EOF
+    tinyMCE.init({
+        mode: "textareas",
+        relative_urls: false,
+        editor_selector: "form-textarea-simple",
+        document_base_url: "$CFG->httpswwwroot",
+        theme: "simple",
+        skin: "o2k7",
+        apply_source_formatting: true, 
+        remove_script_host: false,
+        entity_encoding: "raw",
+        language: "en",
+        plugins: "spellchecker,emoticons,paste,standardmenu,directionality"
+    });
+    tinyMCE.init({
+        mode: "textareas",
+        relative_urls: false,
+        editor_selector: "form-textarea-advanced",
+        document_base_url: "$CFG->httpswwwroot",
+        theme: "advanced",
+        skin: "o2k7",
+        apply_source_formatting: true, 
+        remove_script_host: false,
+        entity_encoding: "raw",
+        language: "en",
+        plugins: "safari,spellchecker,table,style,layer,advhr,advimage,advlink,emoticons,inlinepopups,media,searchreplace,paste,standardmenu,directionality,fullscreen,moodleimage,moodlelink,dragmath,nonbreaking",
+        theme_advanced_layout_manager: "SimpleLayout",
+        theme_advanced_toolbar_align : "left",
+        theme_advanced_buttons1: "fontselect,fontsizeselect,formatselect,",
+        theme_advanced_buttons1_add: "styleselect,selectall,pastetext,pasteword,cleanup",
+        theme_advanced_buttons2: "bold,italic,underline,strikethrough,sub,sup,|,justifyleft,justifycenter,justifyright,justifyfull,|,undo,redo,removeformat,code",
+        theme_advanced_buttons2_add: "styleprops,ltr,rtl,nonbreaking,charmap",
+        theme_advanced_buttons3: "media,advhr,emoticons,dragmath,spellchecker,search,code,fullscreen,bullist,numlist,outdent,indent,forecolor,backcolor,link,unlink,anchor,image,charmap,insertlayer,table",
+        theme_advanced_buttons3_add: "media,emoticons,charmap,dragmath,search,code,fullscreen",
+        theme_advanced_fonts: "Trebuchet=Trebuchet MS,Verdana,Arial,Helvetica,sans-serif;Arial=arial,helvetica,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,times new roman,times,serif;Tahoma=tahoma,arial,helvetica,sans-serif;Times New Roman=times new roman,times,serif;Verdana=verdana,arial,helvetica,sans-serif;Impact=impact;Wingdings=wingdings", 
+        moodleimage_course_id: $COURSE->id,
+        theme_advanced_resize_horizontal: true,
+        theme_advanced_resizing: true,
+        theme_advanced_toolbar_location : "top",
+        theme_advanced_statusbar_location : "bottom",
+        file_browser_callback : "moodlefilemanager",
+
+EOF;
+// the xhtml ruleset must be the last one - no comma at the end of the file
+readfile('tinymce/xhtml_ruleset.txt');
+echo <<<EOF
+    });
+    function toggleEditor(id) {
+        var elm = document.getElementById(id);
+        if (tinyMCE.getInstanceById(id) == null)
+                   tinyMCE.execCommand('mceAddControl', false, id);
+           else
+                   tinyMCE.execCommand('mceRemoveControl', false, id);
+    }
+    function moodlefilemanager(field_name, url, type, win) {
+        tinyMCE.activeEditor.windowManager.open({
+            file: "{$CFG->httpswwwroot}/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/link.php?id={$COURSE->id}",
+            width: 480,  
+            height: 380,
+            resizable: "yes",
+            inline: "yes",  
+            close_previous: "no"
+        }, {
+            window: win,
+            input: field_name
+        });
+        return false;
+    }
+EOF;
+?>
index 6f8621ee328dbb1e090e130910eadb06bca200e8..f4406280fd90f3aa603ced6c0eff5d0a0ac04f62 100644 (file)
-<?php \r
-function print_editor_config($editorhidebuttons='', $return=false) {\r
-    global $CFG;\r
-\r
-    $str = "config.pageStyle = \"body {";\r
-\r
-    if (!(empty($CFG->editorbackgroundcolor))) {\r
-        $str .= " background-color: $CFG->editorbackgroundcolor;";\r
-    }\r
-\r
-    if (!(empty($CFG->editorfontfamily))) {\r
-        $str .= " font-family: $CFG->editorfontfamily;";\r
-    }\r
-\r
-    if (!(empty($CFG->editorfontsize))) {\r
-        $str .= " font-size: $CFG->editorfontsize;";\r
-    }\r
-\r
-    $str .= " }\";\n";\r
-    $str .= "config.killWordOnPaste = ";\r
-    $str .= (empty($CFG->editorkillword)) ? "false":"true";\r
-    $str .= ';'."\n";\r
-    $str .= 'config.fontname = {'."\n";\r
-\r
-    $fontlist = isset($CFG->editorfontlist) ? explode(';', $CFG->editorfontlist) : array();\r
-    $i = 1;                     // Counter is used to get rid of the last comma.\r
-\r
-    foreach ($fontlist as $fontline) {\r
-        if (!empty($fontline)) {\r
-            if ($i > 1) {\r
-                $str .= ','."\n";\r
-            }\r
-            list($fontkey, $fontvalue) = split(':', $fontline);\r
-            $str .= '"'. $fontkey ."\":\t'". $fontvalue ."'";\r
-\r
-            $i++;\r
-        }\r
-    }\r
-    $str .= '};';\r
-\r
-    if (!empty($editorhidebuttons)) {\r
-        $str .= "\nconfig.hideSomeButtons(\" ". $editorhidebuttons ." \");\n";\r
-    } else if (!empty($CFG->editorhidebuttons)) {\r
-        $str .= "\nconfig.hideSomeButtons(\" ". $CFG->editorhidebuttons ." \");\n";\r
-    }\r
-\r
-    if (!empty($CFG->editorspelling) && !empty($CFG->aspellpath)) {\r
-        $str .= print_speller_code($CFG->htmleditor, true);\r
-    }\r
-\r
-    if ($return) {\r
-        return $str;\r
-    }\r
-    echo $str;\r
-}\r
-\r
-function use_html_editor($name='', $editorhidebuttons='', $id='') {\r
-}\r
-\r
-function use_admin_editor($name='', $editorhidebuttons='', $id='') {\r
-    echo '<script type="text/javascript">tsetup();</script>';\r
-}\r
-\r
-function print_textarea($usehtmleditor, $rows, $cols, $width, $height, $name, $value='', $courseid=0, $return=false, $id='') {\r
-    global $CFG, $COURSE, $HTTPSPAGEREQUIRED;\r
-    $str = '';\r
-    if ($id === '') {\r
-        $id = 'edit-'.$name;\r
-    }\r
-    if (empty($courseid)) {\r
-        $courseid = $COURSE->id;\r
-    }\r
-    if ($usehtmleditor) {\r
-        $str .= '<textarea class="form-textarea" id="'. $id .'" name="'. $name .'" rows="'. $rows .'" cols="'. $cols .'">';\r
-        $str .= htmlspecialchars($value); \r
-        $str .= '</textarea><br />'."\n";\r
-        $toggle_ed = '<img width="50" height="17" src="'.$CFG->wwwroot.'/lib/editor/tinymce/images/toggle.gif" '.\r
-            'alt="'.get_string('toggleeditor','editor').'" title="'.get_string('toggleeditor','editor').'" />';\r
-        $str .= "<a href=\"javascript:toggleEditor('".$id."');\">".$toggle_ed."</a> ";\r
-        $str .= '<script type="text/javascript">'."\n".\r
-            'document.write(\''.addslashes_js(editorshortcutshelpbutton()).'\');'."\n".\r
-            '</script>';\r
-    } else {\r
-        $str .= '<textarea class="alltext" id="'. $id .'" name="'. $name .'" rows="'. $rows .'" cols="'. $cols .'">';  \r
-        $str .= s($value);\r
-        $str .= '</textarea>'."\n";\r
-    }\r
-    if ($return) {\r
-        return $str;\r
-    }\r
-    echo $str;\r
-}\r
-?>\r
-<script type="text/javascript" src="<?php echo $CFG->httpswwwroot ?>/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>\r
-<script type="text/javascript">\r
-function tsetup() { \r
-<?php\r
-if (!empty($COURSE->id) and has_capability('moodle/course:managefiles', get_context_instance(CONTEXT_COURSE, $COURSE->id))) {\r
-?>\r
-       tinyMCE.init({\r
-               relative_urls : false,\r
-        remove_script_host : false,\r
-        document_base_url : "<?php echo $CFG->wwwroot; ?>",\r
-               editor_selector : "form-textarea",\r
-               mode : "textareas",\r
-               theme : "standard",\r
-<?php \r
-if (!empty($USER->id)) {\r
-    if ($CFG->usehtmleditor == 'tinymce') {\r
-        echo 'skin : "o2k7",';\r
-    } else {\r
-        echo 'skin : "default",';\r
-    }\r
-} \r
-?>\r
-        entity_encoding : "raw",\r
-               plugins : "safari,emoticons,searchreplace,fullscreen,advimage,advlink,moodleimage,moodlelink",\r
-               \r
-               theme_standard_buttons1 : "fontselect,fontsizeselect,formatselect",\r
-               theme_standard_buttons2 : "bold,italic,underline,forecolor,backcolor,link,unlink,image,emoticons,charmap,code,fullscreen",\r
-        theme_standard_buttons3 : "",\r
-               theme_standard_toolbar_location : "top",\r
-               theme_standard_toolbar_align : "left",\r
-               theme_standard_statusbar_location : "bottom",\r
-               moodleimage_course_id: <?php echo $COURSE->id; ?>,\r
-               theme_standard_resize_horizontal : true,\r
-               theme_standard_resizing : true,\r
-               file_browser_callback : "moodlefilemanager",\r
-               apply_source_formatting : true          \r
-       \r
-       });\r
-    function moodlefilemanager(field_name, url, type, win) {\r
-                       \r
-           tinyMCE.activeEditor.windowManager.open({\r
-            file : "<?php echo $CFG->httpswwwroot ?>/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/link.php?id=<?php echo $COURSE->id; ?>",\r
-            width : 480,  \r
-            height : 380,\r
-            resizable : "yes",\r
-            inline : "yes",  \r
-            close_previous : "no"\r
-        }, {\r
-            window : win,\r
-            input : field_name\r
-        });\r
-        return false;\r
-    }\r
-<?php\r
-} else {\r
-?>\r
-    tinyMCE.init({\r
-        relative_urls : false,\r
-        remove_script_host : false,\r
-        document_base_url : "<?php echo $CFG->httpswwwroot; ?>",\r
-        editor_selector : "form-textarea",\r
-        mode : "textareas",\r
-        entity_encoding : "raw",\r
-        theme : "standard",\r
-        plugins : "safari,emoticons,searchreplace,fullscreen,advimage,advlink",\r
-        theme_standard_buttons1 : "fontselect,fontsizeselect,formatselect",\r
-        theme_standard_buttons2 : "bold,italic,underline,forecolor,backcolor,link,unlink,image,emoticons,charmap,code,fullscreen",\r
-        theme_standard_buttons3 : "",\r
-        theme_standard_toolbar_location : "top",\r
-        theme_standard_toolbar_align : "left",\r
-        theme_standard_statusbar_location : "bottom",\r
-        moodleimage_course_id: <?php echo $COURSE->id; ?>,\r
-        theme_standard_resize_horizontal : true,\r
-        theme_standard_resizing : true,\r
-        apply_source_formatting : true\r
-    });\r
-\r
-<?php\r
-}\r
-?>\r
-} /* end of tsetup() */\r
-function toggleEditor(id) {\r
-       var elm = document.getElementById(id);\r
-\r
-       if (tinyMCE.getInstanceById(id) == null)\r
-               tinyMCE.execCommand('mceAddControl', false, id);\r
-       else\r
-               tinyMCE.execCommand('mceRemoveControl', false, id);\r
-}\r
-</script>\r
+<?php 
+function print_editor_config($editorhidebuttons='', $return=false) {
+    global $CFG;
+
+    $str = "config.pageStyle = \"body {";
+
+    if (!(empty($CFG->editorbackgroundcolor))) {
+        $str .= " background-color: $CFG->editorbackgroundcolor;";
+    }
+
+    if (!(empty($CFG->editorfontfamily))) {
+        $str .= " font-family: $CFG->editorfontfamily;";
+    }
+
+    if (!(empty($CFG->editorfontsize))) {
+        $str .= " font-size: $CFG->editorfontsize;";
+    }
+
+    $str .= " }\";\n";
+    $str .= "config.killWordOnPaste = ";
+    $str .= (empty($CFG->editorkillword)) ? "false":"true";
+    $str .= ';'."\n";
+    $str .= 'config.fontname = {'."\n";
+
+    $fontlist = isset($CFG->editorfontlist) ? explode(';', $CFG->editorfontlist) : array();
+    $i = 1;                     // Counter is used to get rid of the last comma.
+
+    foreach ($fontlist as $fontline) {
+        if (!empty($fontline)) {
+            if ($i > 1) {
+                $str .= ','."\n";
+            }
+            list($fontkey, $fontvalue) = split(':', $fontline);
+            $str .= '"'. $fontkey ."\":\t'". $fontvalue ."'";
+
+            $i++;
+        }
+    }
+    $str .= '};';
+
+    if (!empty($editorhidebuttons)) {
+        $str .= "\nconfig.hideSomeButtons(\" ". $editorhidebuttons ." \");\n";
+    } else if (!empty($CFG->editorhidebuttons)) {
+        $str .= "\nconfig.hideSomeButtons(\" ". $CFG->editorhidebuttons ." \");\n";
+    }
+
+    if (!empty($CFG->editorspelling) && !empty($CFG->aspellpath)) {
+        $str .= print_speller_code($CFG->htmleditor, true);
+    }
+
+    if ($return) {
+        return $str;
+    }
+    echo $str;
+}
+
+function use_html_editor($name='', $editorhidebuttons='', $id='') {
+}
+
+function use_admin_editor($name='', $editorhidebuttons='', $id='') {
+    echo '<script type="text/javascript">tsetup();</script>';
+}
+
+function print_textarea($usehtmleditor, $rows, $cols, $width, $height, $name, $value='', $courseid=0, $return=false, $id='') {
+    global $CFG, $COURSE, $HTTPSPAGEREQUIRED;
+    $str = '';
+    if ($id === '') {
+        $id = 'edit-'.$name;
+    }
+    if (empty($courseid)) {
+        $courseid = $COURSE->id;
+    }
+    if ($usehtmleditor) {
+        $str .= '<textarea class="form-textarea" id="'. $id .'" name="'. $name .'" rows="'. $rows .'" cols="'. $cols .'">';
+        $str .= htmlspecialchars($value); 
+        $str .= '</textarea><br />'."\n";
+        $toggle_ed = '<img width="50" height="17" src="'.$CFG->wwwroot.'/lib/editor/tinymce/images/toggle.gif" '.
+            'alt="'.get_string('toggleeditor','editor').'" title="'.get_string('toggleeditor','editor').'" />';
+        $str .= "<a href=\"javascript:toggleEditor('".$id."');\">".$toggle_ed."</a> ";
+        $str .= '<script type="text/javascript">'."\n".
+            'document.write(\''.addslashes_js(editorshortcutshelpbutton()).'\');'."\n".
+            '</script>';
+    } else {
+        $str .= '<textarea class="alltext" id="'. $id .'" name="'. $name .'" rows="'. $rows .'" cols="'. $cols .'">';  
+        $str .= s($value);
+        $str .= '</textarea>'."\n";
+    }
+    if ($return) {
+        return $str;
+    }
+    echo $str;
+}
+?>
+<script type="text/javascript" src="<?php echo $CFG->httpswwwroot ?>/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
+<script type="text/javascript">
+function tsetup() { 
+<?php
+if (!empty($COURSE->id) and has_capability('moodle/course:managefiles', get_context_instance(CONTEXT_COURSE, $COURSE->id))) {
+?>
+       tinyMCE.init({
+               relative_urls : false,
+        remove_script_host : false,
+        document_base_url : "<?php echo $CFG->wwwroot; ?>",
+               editor_selector : "form-textarea",
+               mode : "textareas",
+               theme : "standard",
+<?php 
+if (!empty($USER->id)) {
+    if ($CFG->usehtmleditor == 'tinymce') {
+        echo 'skin : "o2k7",';
+    } else {
+        echo 'skin : "default",';
+    }
+} 
+?>
+        entity_encoding : "raw",
+               plugins : "safari,emoticons,searchreplace,fullscreen,advimage,advlink,moodleimage,moodlelink",
+               
+               theme_standard_buttons1 : "fontselect,fontsizeselect,formatselect",
+               theme_standard_buttons2 : "bold,italic,underline,forecolor,backcolor,link,unlink,image,emoticons,charmap,code,fullscreen",
+        theme_standard_buttons3 : "",
+               theme_standard_toolbar_location : "top",
+               theme_standard_toolbar_align : "left",
+               theme_standard_statusbar_location : "bottom",
+               moodleimage_course_id: <?php echo $COURSE->id; ?>,
+               theme_standard_resize_horizontal : true,
+               theme_standard_resizing : true,
+               file_browser_callback : "moodlefilemanager",
+               apply_source_formatting : true          
+       
+       });
+    function moodlefilemanager(field_name, url, type, win) {
+                       
+           tinyMCE.activeEditor.windowManager.open({
+            file : "<?php echo $CFG->httpswwwroot ?>/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/link.php?id=<?php echo $COURSE->id; ?>",
+            width : 480,  
+            height : 380,
+            resizable : "yes",
+            inline : "yes",  
+            close_previous : "no"
+        }, {
+            window : win,
+            input : field_name
+        });
+        return false;
+    }
+<?php
+} else {
+?>
+    tinyMCE.init({
+        relative_urls : false,
+        remove_script_host : false,
+        document_base_url : "<?php echo $CFG->httpswwwroot; ?>",
+        editor_selector : "form-textarea",
+        mode : "textareas",
+        entity_encoding : "raw",
+        theme : "standard",
+        plugins : "safari,emoticons,searchreplace,fullscreen,advimage,advlink",
+        theme_standard_buttons1 : "fontselect,fontsizeselect,formatselect",
+        theme_standard_buttons2 : "bold,italic,underline,forecolor,backcolor,link,unlink,image,emoticons,charmap,code,fullscreen",
+        theme_standard_buttons3 : "",
+        theme_standard_toolbar_location : "top",
+        theme_standard_toolbar_align : "left",
+        theme_standard_statusbar_location : "bottom",
+        moodleimage_course_id: <?php echo $COURSE->id; ?>,
+        theme_standard_resize_horizontal : true,
+        theme_standard_resizing : true,
+        apply_source_formatting : true
+    });
+
+<?php
+}
+?>
+} /* end of tsetup() */
+function toggleEditor(id) {
+       var elm = document.getElementById(id);
+
+       if (tinyMCE.getInstanceById(id) == null)
+               tinyMCE.execCommand('mceAddControl', false, id);
+       else
+               tinyMCE.execCommand('mceRemoveControl', false, id);
+}
+</script>
index 8b6fe0800de781e801fd93e32231481f6a1f505e..cf1436c4c3017bef4cfeeb72e983e90c1466404f 100644 (file)
@@ -1,70 +1,70 @@
-<script type="text/javascript"> \r
-    tinyMCE.init({\r
-       relative_urls : false,\r
-        remove_script_host : false,\r
-        document_base_url : "<?php echo $CFG->wwwroot; ?>",\r
-           editor_selector : "form-textarea",\r
-       mode : "textareas",\r
-           theme : "standard", \r
-<?php \r
-if (!empty($USER->id)) {\r
-    if ($CFG->defaulthtmleditor == 'tinymce') {\r
-        echo 'skin : "o2k7",';\r
-    } else {\r
-        echo 'skin : "default",';\r
-    } \r
-}\r
-?>\r
-        entity_encoding : "raw",\r
-        theme_standard_statusbar_location : "bottom",\r
-        language : "<?php echo str_replace("_utf8", "", current_language()) ?>",\r
-<?php \r
-    include_once('langlist.php');\r
-    echo "\n";\r
-    include_once('xhtml_ruleset.txt');\r
-?>\r
-        plugins : "safari,spellchecker,table,style,layer,advhr,advimage,advlink,emotions,emoticons,inlinepopups,media,searchreplace,paste,standardmenu,directionality,fullscreen,moodleimage,moodlelink,dragmath,nonbreaking",\r
-           theme_standard_buttons1_add : "styleselect,selectall,pastetext,pasteword,insertlayer",\r
-        theme_standard_buttons2_add : "styleprops,ltr,rtl,table,nonbreaking,media,advhr,emotions,emoticons,charmap,dragmath,spellchecker,search,code,fullscreen",\r
-<?php \r
-$hiddenbuttons = $CFG->editorhidebuttons;\r
-if (!empty($hiddenbuttons)) {\r
-    $hiddenbuttons = str_replace(" ", ",", $hiddenbuttons);\r
-    echo 'theme_standard_disable : "'. $hiddenbuttons .'",';\r
-} \r
-$tinyfts = $CFG->editorfontlist;\r
-if ($tinyfts) {\r
-    $tinyfts = str_replace(":", "=", $tinyfts);\r
-    echo 'theme_standard_fonts : "'. $tinyfts .'",';\r
-} \r
-?> \r
-        spellchecker_languages : "+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv",\r
-           moodleimage_course_id: <?php echo $COURSE->id; ?>,\r
-       theme_standard_resize_horizontal : true,\r
-           theme_standard_resizing : true,\r
-        file_browser_callback : "moodlefilemanager",\r
-       apply_source_formatting : true\r
-    });\r
-    function moodlefilemanager(field_name, url, type, win) {\r
-                       \r
-        tinyMCE.activeEditor.windowManager.open({\r
-            file : "<?php echo $CFG->wwwroot ?>/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/link.php?id=<?php echo $COURSE->id; ?>",\r
-            width : 480,  \r
-            height : 380,\r
-            resizable : "yes",\r
-            inline : "yes",  \r
-            close_previous : "no"\r
-        }, {\r
-            window : win,\r
-            input : field_name\r
-        });\r
-        return false;\r
-    }\r
-    function toggleEditor(id) {\r
-           var elm = document.getElementById(id);\r
-       if (tinyMCE.getInstanceById(id) == null)\r
-               tinyMCE.execCommand('mceAddControl', false, id);\r
-       else\r
-               tinyMCE.execCommand('mceRemoveControl', false, id);\r
-    }\r
-</script>\r
+<script type="text/javascript"> 
+    tinyMCE.init({
+       relative_urls : false,
+        remove_script_host : false,
+        document_base_url : "<?php echo $CFG->wwwroot; ?>",
+           editor_selector : "form-textarea",
+       mode : "textareas",
+           theme : "standard", 
+<?php 
+if (!empty($USER->id)) {
+    if ($CFG->defaulthtmleditor == 'tinymce') {
+        echo 'skin : "o2k7",';
+    } else {
+        echo 'skin : "default",';
+    } 
+}
+?>
+        entity_encoding : "raw",
+        theme_standard_statusbar_location : "bottom",
+        language : "<?php echo str_replace("_utf8", "", current_language()) ?>",
+<?php 
+    include_once('langlist.php');
+    echo "\n";
+    include_once('xhtml_ruleset.txt');
+?>
+        plugins : "safari,spellchecker,table,style,layer,advhr,advimage,advlink,emotions,emoticons,inlinepopups,media,searchreplace,paste,standardmenu,directionality,fullscreen,moodleimage,moodlelink,dragmath,nonbreaking",
+           theme_standard_buttons1_add : "styleselect,selectall,pastetext,pasteword,insertlayer",
+        theme_standard_buttons2_add : "styleprops,ltr,rtl,table,nonbreaking,media,advhr,emotions,emoticons,charmap,dragmath,spellchecker,search,code,fullscreen",
+<?php 
+$hiddenbuttons = $CFG->editorhidebuttons;
+if (!empty($hiddenbuttons)) {
+    $hiddenbuttons = str_replace(" ", ",", $hiddenbuttons);
+    echo 'theme_standard_disable : "'. $hiddenbuttons .'",';
+} 
+$tinyfts = $CFG->editorfontlist;
+if ($tinyfts) {
+    $tinyfts = str_replace(":", "=", $tinyfts);
+    echo 'theme_standard_fonts : "'. $tinyfts .'",';
+} 
+?> 
+        spellchecker_languages : "+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv",
+           moodleimage_course_id: <?php echo $COURSE->id; ?>,
+       theme_standard_resize_horizontal : true,
+           theme_standard_resizing : true,
+        file_browser_callback : "moodlefilemanager",
+       apply_source_formatting : true
+    });
+    function moodlefilemanager(field_name, url, type, win) {
+                       
+        tinyMCE.activeEditor.windowManager.open({
+            file : "<?php echo $CFG->wwwroot ?>/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/link.php?id=<?php echo $COURSE->id; ?>",
+            width : 480,  
+            height : 380,
+            resizable : "yes",
+            inline : "yes",  
+            close_previous : "no"
+        }, {
+            window : win,
+            input : field_name
+        });
+        return false;
+    }
+    function toggleEditor(id) {
+           var elm = document.getElementById(id);
+       if (tinyMCE.getInstanceById(id) == null)
+               tinyMCE.execCommand('mceAddControl', false, id);
+       else
+               tinyMCE.execCommand('mceRemoveControl', false, id);
+    }
+</script>
index d207fa6fe24559a2d58ea74fa4f8fe5a958d2fae..04f6c299a89870d0a154957b473ca5d0081cde5e 100644 (file)
@@ -1,53 +1,53 @@
-<script type="text/javascript"> \r
-    tinyMCE.init({\r
-        relative_urls : false,\r
-        remove_script_host : false,\r
-        document_base_url : "<?php echo $CFG->httpswwwroot; ?>",\r
-        editor_selector : "form-textarea",\r
-        mode : "textareas",\r
-        theme : "standard",\r
-<?php \r
-if (!empty($USER->id)) {\r
-    if ($CFG->defaulthtmleditor == 'tinymce') {\r
-        echo 'skin : "o2k7",';\r
-    } else {\r
-        echo 'skin : "default",';\r
-    }\r
-}\r
-?>\r
-        entity_encoding : "raw",\r
-        theme_standard_statusbar_location : "bottom",\r
-        language : "<?php echo str_replace("_utf8", "", current_language()) ?>",\r
-<?php \r
-    include_once('langlist.php');\r
-    echo "\n";\r
-    include_once('xhtml_ruleset.txt'); \r
-?> \r
-        plugins : "safari,spellchecker,table,style,advhr,advimage,advlink,emotions,emoticons,inlinepopups,searchreplace,standardmenu,paste,directionality,fullscreen,dragmath,nonbreaking",    \r
-        theme_standard_buttons1_add : "styleselect,pastetext,pasteword,selectall",\r
-        theme_standard_buttons2_add : "ltr,rtl,table,nonbreaking,advhr,emotions,emoticons,charmap,dragmath,search,code,fullscreen",\r
-<?php \r
-$hidbut = $CFG->editorhidebuttons;\r
-if ($hidbut) {\r
-    $hidbut = str_replace(" ",",",$hidbut);\r
-    echo 'theme_standard_disable : "'.$hidbut.'",';\r
-} \r
-$tinyfts = $CFG->editorfontlist;\r
-if ($tinyfts) {\r
-    $tinyfts = str_replace(":","=",$tinyfts);\r
-    echo 'theme_standard_fonts : "'.$tinyfts.'",';\r
-} \r
-?>\r
-        moodleimage_course_id: <?php echo $COURSE->id; ?>,\r
-       theme_standard_resize_horizontal : true,\r
-       theme_standard_resizing : true,\r
-           apply_source_formatting : true\r
-    });\r
-    function toggleEditor(id) {\r
-           var elm = document.getElementById(id);\r
-       if (tinyMCE.getInstanceById(id) == null)\r
-               tinyMCE.execCommand('mceAddControl', false, id);\r
-       else\r
-               tinyMCE.execCommand('mceRemoveControl', false, id);\r
-    }\r
-</script>\r
+<script type="text/javascript"> 
+    tinyMCE.init({
+        relative_urls : false,
+        remove_script_host : false,
+        document_base_url : "<?php echo $CFG->httpswwwroot; ?>",
+        editor_selector : "form-textarea",
+        mode : "textareas",
+        theme : "standard",
+<?php 
+if (!empty($USER->id)) {
+    if ($CFG->defaulthtmleditor == 'tinymce') {
+        echo 'skin : "o2k7",';
+    } else {
+        echo 'skin : "default",';
+    }
+}
+?>
+        entity_encoding : "raw",
+        theme_standard_statusbar_location : "bottom",
+        language : "<?php echo str_replace("_utf8", "", current_language()) ?>",
+<?php 
+    include_once('langlist.php');
+    echo "\n";
+    include_once('xhtml_ruleset.txt'); 
+?> 
+        plugins : "safari,spellchecker,table,style,advhr,advimage,advlink,emotions,emoticons,inlinepopups,searchreplace,standardmenu,paste,directionality,fullscreen,dragmath,nonbreaking",    
+        theme_standard_buttons1_add : "styleselect,pastetext,pasteword,selectall",
+        theme_standard_buttons2_add : "ltr,rtl,table,nonbreaking,advhr,emotions,emoticons,charmap,dragmath,search,code,fullscreen",
+<?php 
+$hidbut = $CFG->editorhidebuttons;
+if ($hidbut) {
+    $hidbut = str_replace(" ",",",$hidbut);
+    echo 'theme_standard_disable : "'.$hidbut.'",';
+} 
+$tinyfts = $CFG->editorfontlist;
+if ($tinyfts) {
+    $tinyfts = str_replace(":","=",$tinyfts);
+    echo 'theme_standard_fonts : "'.$tinyfts.'",';
+} 
+?>
+        moodleimage_course_id: <?php echo $COURSE->id; ?>,
+       theme_standard_resize_horizontal : true,
+       theme_standard_resizing : true,
+           apply_source_formatting : true
+    });
+    function toggleEditor(id) {
+           var elm = document.getElementById(id);
+       if (tinyMCE.getInstanceById(id) == null)
+               tinyMCE.execCommand('mceAddControl', false, id);
+       else
+               tinyMCE.execCommand('mceRemoveControl', false, id);
+    }
+</script>
index 840d2152378c2c9c3ed475881922f6e8ffb27bc9..c3fbfb9cfeecf341d9de4b32f10e7fbaec096d0c 100644 (file)
@@ -1,90 +1,90 @@
-        valid_elements : ""\r
-            +"a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|lang|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev|shape<circle?default?poly?rect|style|tabindex|title|target|type],"\r
-                +"abbr[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"acronym[class|dir<ltr?rtl|id|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"address[class|align|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"applet[align<bottom?left?middle?right?top|alt|archive|class|code|codebase|height|hspace|id|name|object|style|title|vspace|width],"\r
-            +"area[accesskey|alt|class|coords|dir<ltr?rtl|href|id|lang|nohref<nohref|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|shape<circle?default?poly?rect|style|tabindex|title|target],"\r
-            +"base[href|target],"\r
-            +"basefont[color|face|id|size],"\r
-            +"bdo[class|dir<ltr?rtl|id|lang|style|title],"\r
-            +"big[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"blockquote[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"body[alink|background|bgcolor|class|dir<ltr?rtl|id|lang|link|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onunload|style|title|text|vlink],"\r
-            +"br[class|clear<all?left?none?right|id|style|title],"\r
-            +"button[accesskey|class|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|title|type|value],"\r
-            +"caption[align<bottom?left?right?top|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"center[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"cite[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"code[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"col[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title|valign<baseline?bottom?middle?top|width],"\r
-            +"colgroup[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title|valign<baseline?bottom?middle?top|width],"\r
-            +"dd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"del[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"dfn[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"dir[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"div[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"dl[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"dt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"em/i[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"fieldset[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"font[class|color|dir<ltr?rtl|face|id|lang|size|style|title],"\r
-            +"form[accept|accept-charset|action|class|dir<ltr?rtl|enctype|id|lang|method<get?post|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onsubmit|style|title|target],"\r
-            +"frame[class|frameborder|id|longdesc|marginheight|marginwidth|name|noresize<noresize|scrolling<auto?no?yes|src|style|title],"\r
-            +"frameset[class|cols|id|onload|onunload|rows|style|title],"\r
-            +"h1[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"h2[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"h3[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"h4[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"h5[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"h6[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"head[dir<ltr?rtl|lang|profile],"\r
-            +"hr[align<center?left?right|class|dir<ltr?rtl|id|lang|noshade<noshade|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style|title|width],"\r
-            +"html[dir<ltr?rtl|lang|version],"\r
-            +"iframe[align<bottom?left?middle?right?top|class|frameborder|height|id|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style|title|width],"\r
-            +"img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|src|style|title|usemap|vspace|width],"\r
-            +"input[accept|accesskey|align<bottom?left?middle?right?top|alt|checked<checked|class|dir<ltr?rtl|disabled<disabled|id|ismap<ismap|lang|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect|readonly<readonly|size|src|style|tabindex|title|type<button?checkbox?file?hidden?image?password?radio?reset?submit?text|usemap|value],"\r
-            +"ins[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"isindex[class|dir<ltr?rtl|id|lang|prompt|style|title],"\r
-            +"kbd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"label[accesskey|class|dir<ltr?rtl|for|id|lang|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"legend[align<bottom?left?right?top|accesskey|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"li[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type|value],"\r
-            +"link[charset|class|dir<ltr?rtl|href|hreflang|id|lang|media|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|type],"\r
-            +"map[class|dir<ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"menu[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"meta[content|dir<ltr?rtl|http-equiv|lang|name|scheme],"\r
-            +"noframes[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"noscript[class|dir<ltr?rtl|id|lang|style|title],"\r
-            +"object[align<bottom?left?middle?right?top|archive|border|class|classid|codebase|codetype|data|declare|dir<ltr?rtl|height|hspace|id|lang|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|type|usemap|vspace|width],"\r
-            +"ol[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|start|style|title|type],"\r
-            +"optgroup[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"option[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|selected<selected|style|title|value],"\r
-            +"p[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"param[id|name|type|value|valuetype<DATA?OBJECT?REF],"\r
-            +"pre/listing/plaintext/xmp[align|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|width],"\r
-            +"q[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"s[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"samp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"script[charset|defer|language|src|type],"\r
-            +"select[class|dir<ltr?rtl|disabled<disabled|id|lang|multiple<multiple|name|onblur|onchange|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style|tabindex|title],"\r
-            +"small[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"strike[class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"strong/b[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"style[dir<ltr?rtl|lang|media|title|type],"\r
-            +"sub[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"sup[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"table[align<center?left?right|bgcolor|border|cellpadding|cellspacing|class|dir<ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rules|style|summary|title|width],"\r
-            +"tbody[align<center?char?justify?left?right|char|class|charoff|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|valign<baseline?bottom?middle?top],"\r
-            +"td[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup|style|title|valign<baseline?bottom?middle?top|width],"\r
-            +"textarea[accesskey|class|cols|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect|readonly<readonly|rows|style|tabindex|title],"\r
-            +"tfoot[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|valign<baseline?bottom?middle?top],"\r
-            +"th[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup|style|title|valign<baseline?bottom?middle?top|width],"\r
-            +"thead[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|valign<baseline?bottom?middle?top],"\r
-            +"title[dir<ltr?rtl|lang],"\r
-            +"tr[abbr|align<center?char?justify?left?right|bgcolor|char|charoff|class|rowspan|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|valign<baseline?bottom?middle?top],"\r
-            +"tt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"u[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"\r
-            +"ul[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type],"\r
-            +"var[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]"\r
+        valid_elements : ""
+            +"a[accesskey|charset|class|coords|dir<ltr?rtl|href|hreflang|id|lang|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev|shape<circle?default?poly?rect|style|tabindex|title|target|type],"
+                +"abbr[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"acronym[class|dir<ltr?rtl|id|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"address[class|align|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"applet[align<bottom?left?middle?right?top|alt|archive|class|code|codebase|height|hspace|id|name|object|style|title|vspace|width],"
+            +"area[accesskey|alt|class|coords|dir<ltr?rtl|href|id|lang|nohref<nohref|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|shape<circle?default?poly?rect|style|tabindex|title|target],"
+            +"base[href|target],"
+            +"basefont[color|face|id|size],"
+            +"bdo[class|dir<ltr?rtl|id|lang|style|title],"
+            +"big[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"blockquote[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"body[alink|background|bgcolor|class|dir<ltr?rtl|id|lang|link|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onload|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onunload|style|title|text|vlink],"
+            +"br[class|clear<all?left?none?right|id|style|title],"
+            +"button[accesskey|class|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|tabindex|title|type|value],"
+            +"caption[align<bottom?left?right?top|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"center[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"cite[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"code[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"col[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title|valign<baseline?bottom?middle?top|width],"
+            +"colgroup[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|span|style|title|valign<baseline?bottom?middle?top|width],"
+            +"dd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"del[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"dfn[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"dir[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"div[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"dl[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"dt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"em/i[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"fieldset[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"font[class|color|dir<ltr?rtl|face|id|lang|size|style|title],"
+            +"form[accept|accept-charset|action|class|dir<ltr?rtl|enctype|id|lang|method<get?post|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onreset|onsubmit|style|title|target],"
+            +"frame[class|frameborder|id|longdesc|marginheight|marginwidth|name|noresize<noresize|scrolling<auto?no?yes|src|style|title],"
+            +"frameset[class|cols|id|onload|onunload|rows|style|title],"
+            +"h1[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"h2[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"h3[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"h4[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"h5[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"h6[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"head[dir<ltr?rtl|lang|profile],"
+            +"hr[align<center?left?right|class|dir<ltr?rtl|id|lang|noshade<noshade|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style|title|width],"
+            +"html[dir<ltr?rtl|lang|version],"
+            +"iframe[align<bottom?left?middle?right?top|class|frameborder|height|id|longdesc|marginheight|marginwidth|name|scrolling<auto?no?yes|src|style|title|width],"
+            +"img[align<bottom?left?middle?right?top|alt|border|class|dir<ltr?rtl|height|hspace|id|ismap<ismap|lang|longdesc|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|src|style|title|usemap|vspace|width],"
+            +"input[accept|accesskey|align<bottom?left?middle?right?top|alt|checked<checked|class|dir<ltr?rtl|disabled<disabled|id|ismap<ismap|lang|maxlength|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect|readonly<readonly|size|src|style|tabindex|title|type<button?checkbox?file?hidden?image?password?radio?reset?submit?text|usemap|value],"
+            +"ins[cite|class|datetime|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"isindex[class|dir<ltr?rtl|id|lang|prompt|style|title],"
+            +"kbd[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"label[accesskey|class|dir<ltr?rtl|for|id|lang|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"legend[align<bottom?left?right?top|accesskey|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"li[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type|value],"
+            +"link[charset|class|dir<ltr?rtl|href|hreflang|id|lang|media|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rel|rev|style|title|target|type],"
+            +"map[class|dir<ltr?rtl|id|lang|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"menu[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"meta[content|dir<ltr?rtl|http-equiv|lang|name|scheme],"
+            +"noframes[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"noscript[class|dir<ltr?rtl|id|lang|style|title],"
+            +"object[align<bottom?left?middle?right?top|archive|border|class|classid|codebase|codetype|data|declare|dir<ltr?rtl|height|hspace|id|lang|name|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|standby|style|tabindex|title|type|usemap|vspace|width],"
+            +"ol[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|start|style|title|type],"
+            +"optgroup[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"option[class|dir<ltr?rtl|disabled<disabled|id|label|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|selected<selected|style|title|value],"
+            +"p[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"param[id|name|type|value|valuetype<DATA?OBJECT?REF],"
+            +"pre/listing/plaintext/xmp[align|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|width],"
+            +"q[cite|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"s[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"samp[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"script[charset|defer|language|src|type],"
+            +"select[class|dir<ltr?rtl|disabled<disabled|id|lang|multiple<multiple|name|onblur|onchange|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|size|style|tabindex|title],"
+            +"small[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"span[align<center?justify?left?right|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"strike[class|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"strong/b[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"style[dir<ltr?rtl|lang|media|title|type],"
+            +"sub[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"sup[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"table[align<center?left?right|bgcolor|border|cellpadding|cellspacing|class|dir<ltr?rtl|frame|height|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rules|style|summary|title|width],"
+            +"tbody[align<center?char?justify?left?right|char|class|charoff|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|valign<baseline?bottom?middle?top],"
+            +"td[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup|style|title|valign<baseline?bottom?middle?top|width],"
+            +"textarea[accesskey|class|cols|dir<ltr?rtl|disabled<disabled|id|lang|name|onblur|onclick|ondblclick|onfocus|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|onselect|readonly<readonly|rows|style|tabindex|title],"
+            +"tfoot[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|valign<baseline?bottom?middle?top],"
+            +"th[abbr|align<center?char?justify?left?right|axis|bgcolor|char|charoff|class|colspan|dir<ltr?rtl|headers|height|id|lang|nowrap<nowrap|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|rowspan|scope<col?colgroup?row?rowgroup|style|title|valign<baseline?bottom?middle?top|width],"
+            +"thead[align<center?char?justify?left?right|char|charoff|class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|valign<baseline?bottom?middle?top],"
+            +"title[dir<ltr?rtl|lang],"
+            +"tr[abbr|align<center?char?justify?left?right|bgcolor|char|charoff|class|rowspan|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|valign<baseline?bottom?middle?top],"
+            +"tt[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"u[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title],"
+            +"ul[class|compact<compact|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title|type],"
+            +"var[class|dir<ltr?rtl|id|lang|onclick|ondblclick|onkeydown|onkeypress|onkeyup|onmousedown|onmousemove|onmouseout|onmouseover|onmouseup|style|title]"