From b5278b2d708c24b8a537a6d10c69e103339db31d Mon Sep 17 00:00:00 2001 From: scyrma Date: Fri, 9 May 2008 09:29:20 +0000 Subject: [PATCH] MDL-14739: TinyMCE 3.0.8, along with Moodle-specific Modules, as included by Mauno Korpelainen. --- .../tinymce/jscripts/tiny_mce/langs/en.js | 154 + .../tinymce/jscripts/tiny_mce/license.txt | 504 + .../tiny_mce/plugins/advhr/css/advhr.css | 5 + .../tiny_mce/plugins/advhr/editor_plugin.js | 1 + .../plugins/advhr/editor_plugin_src.js | 54 + .../tiny_mce/plugins/advhr/js/rule.js | 34 + .../tiny_mce/plugins/advhr/langs/en_dlg.js | 5 + .../jscripts/tiny_mce/plugins/advhr/rule.htm | 63 + .../plugins/advimage/css/advimage.css | 13 + .../plugins/advimage/editor_plugin.js | 1 + .../plugins/advimage/editor_plugin_src.js | 47 + .../tiny_mce/plugins/advimage/image.htm | 237 + .../tiny_mce/plugins/advimage/img/sample.gif | Bin 0 -> 1624 bytes .../tiny_mce/plugins/advimage/js/image.js | 440 + .../tiny_mce/plugins/advimage/langs/en_dlg.js | 43 + .../tiny_mce/plugins/advlink/css/advlink.css | 8 + .../tiny_mce/plugins/advlink/editor_plugin.js | 1 + .../plugins/advlink/editor_plugin_src.js | 58 + .../tiny_mce/plugins/advlink/js/advlink.js | 552 + .../tiny_mce/plugins/advlink/langs/en_dlg.js | 52 + .../tiny_mce/plugins/advlink/link.htm | 339 + .../plugins/autosave/editor_plugin.js | 1 + .../plugins/autosave/editor_plugin_src.js | 51 + .../tiny_mce/plugins/bbcode/editor_plugin.js | 1 + .../plugins/bbcode/editor_plugin_src.js | 115 + .../plugins/compat2x/editor_plugin.js | 1 + .../plugins/compat2x/editor_plugin_src.js | 613 + .../plugins/contextmenu/editor_plugin.js | 1 + .../plugins/contextmenu/editor_plugin_src.js | 86 + .../plugins/directionality/editor_plugin.js | 1 + .../directionality/editor_plugin_src.js | 79 + .../tiny_mce/plugins/dragmath/COPYRIGHT.html | 30 + .../tiny_mce/plugins/dragmath/LICENSE-gpl.txt | 341 + .../tiny_mce/plugins/dragmath/README.html | 66 + .../plugins/dragmath/Release Notes.html | 34 + .../dragmath/applet/HotEqn/HotEqn.class | Bin 0 -> 2759 bytes .../plugins/dragmath/applet/HotEqn/HotEqn.jar | Bin 0 -> 87233 bytes .../plugins/dragmath/applet/HotEqn/WS_FTP.LOG | 4 + .../plugins/dragmath/applet/Latex.html | 67 + .../plugins/dragmath/applet/MathML.html | 64 + .../plugins/dragmath/applet/Maxima.html | 49 + .../plugins/dragmath/applet/MaximaPopup.html | 39 + .../plugins/dragmath/applet/WS_FTP.LOG | 6 + .../applet/classes/AbsoluteLayout.jar | Bin 0 -> 4334 bytes .../dragmath/applet/classes/Config.xml | 32 + .../applet/classes/Display/MainApplet.class | Bin 0 -> 66179 bytes .../applet/classes/Display/WS_FTP.LOG | 3 + .../dragmath/applet/classes/Project.jar | Bin 0 -> 450400 bytes .../dragmath/applet/classes/formats/Latex.xml | 541 + .../dragmath/applet/classes/formats/Maple.xml | 539 + .../applet/classes/formats/MathML.xml | 539 + .../applet/classes/formats/Maxima.xml | 544 + .../applet/classes/formats/WS_FTP.LOG | 6 + .../plugins/dragmath/applet/classes/jdom.jar | Bin 0 -> 159613 bytes .../plugins/dragmath/applet/classes/jep.jar | Bin 0 -> 240436 bytes .../dragmath/applet/classes/lang/WS_FTP.LOG | 11 + .../dragmath/applet/classes/lang/ca.xml | 176 + .../dragmath/applet/classes/lang/cz.xml | 180 + .../dragmath/applet/classes/lang/de.xml | 175 + .../dragmath/applet/classes/lang/en.xml | 177 + .../dragmath/applet/classes/lang/es.xml | 176 + .../dragmath/applet/classes/lang/fr.xml | 181 + .../dragmath/applet/classes/lang/nl.xml | 177 + .../dragmath/applet/classes/lang/pl.xml | 177 + .../dragmath/applet/classes/lang/pt-br.xml | 176 + .../dragmath/applet/classes/lang/ru.xml | 176 + .../dragmath/applet/classes/lang/sv.xml | 178 + .../applet/classes/swing-layout-1.0.jar | Bin 0 -> 143306 bytes .../tiny_mce/plugins/dragmath/demo.html | 56 + .../tiny_mce/plugins/dragmath/doc/WS_FTP.LOG | 17 + .../tiny_mce/plugins/dragmath/doc/about.html | 20 + .../plugins/dragmath/doc/acknowledgments.html | 32 + .../plugins/dragmath/doc/browser.html | 85 + .../plugins/dragmath/doc/complex.html | 209 + .../tiny_mce/plugins/dragmath/doc/cvs.html | 73 + .../plugins/dragmath/doc/editing.html | 47 + .../plugins/dragmath/doc/img/WS_FTP.LOG | 6 + .../plugins/dragmath/doc/img/plus.jpg | Bin 0 -> 1003 bytes .../plugins/dragmath/doc/img/sin on box.jpg | Bin 0 -> 1529 bytes .../plugins/dragmath/doc/img/sin on plus.jpg | Bin 0 -> 1503 bytes .../tiny_mce/plugins/dragmath/doc/img/sin.jpg | Bin 0 -> 1253 bytes .../tiny_mce/plugins/dragmath/doc/index.html | 16 + .../plugins/dragmath/doc/integrations.html | 41 + .../plugins/dragmath/doc/language.html | 31 + .../plugins/dragmath/doc/navframe.html | 34 + .../plugins/dragmath/doc/newformat.html | 227 + .../plugins/dragmath/doc/newobject.html | 43 + .../plugins/dragmath/doc/options.html | 38 + .../plugins/dragmath/doc/parameters.html | 77 + .../tiny_mce/plugins/dragmath/doc/simple.html | Bin 0 -> 5520 bytes .../tiny_mce/plugins/dragmath/dragmath.php | 51 + .../plugins/dragmath/editor_plugin.js | 1 + .../plugins/dragmath/editor_plugin_src.js | 78 + .../plugins/dragmath/img/dragmath.gif | Bin 0 -> 894 bytes .../tiny_mce/plugins/dragmath/index.html | 79 + .../plugins/dragmath/integrations.html | 55 + .../tiny_mce/plugins/dragmath/js/dragmath.js | 31 + .../plugins/dragmath/langs/WS_FTP.LOG | 5 + .../tiny_mce/plugins/dragmath/langs/en_dlg.js | 3 + .../tiny_mce/plugins/dragmath/support.html | 67 + .../plugins/emoticons/editor_plugin.js | 1 + .../plugins/emoticons/editor_plugin_src.js | 40 + .../tiny_mce/plugins/emoticons/emoticons.php | 93 + .../tiny_mce/plugins/emoticons/img/smiley.gif | Bin 0 -> 265 bytes .../plugins/emoticons/js/emoticons.js | 22 + .../plugins/emoticons/langs/en_dlg.js | 20 + .../plugins/emotions/editor_plugin.js | 1 + .../plugins/emotions/editor_plugin_src.js | 40 + .../tiny_mce/plugins/emotions/emotions.htm | 41 + .../plugins/emotions/img/smiley-cool.gif | Bin 0 -> 354 bytes .../plugins/emotions/img/smiley-cry.gif | Bin 0 -> 329 bytes .../emotions/img/smiley-embarassed.gif | Bin 0 -> 331 bytes .../emotions/img/smiley-foot-in-mouth.gif | Bin 0 -> 344 bytes .../plugins/emotions/img/smiley-frown.gif | Bin 0 -> 340 bytes .../plugins/emotions/img/smiley-innocent.gif | Bin 0 -> 336 bytes .../plugins/emotions/img/smiley-kiss.gif | Bin 0 -> 338 bytes .../plugins/emotions/img/smiley-laughing.gif | Bin 0 -> 344 bytes .../emotions/img/smiley-money-mouth.gif | Bin 0 -> 321 bytes .../plugins/emotions/img/smiley-sealed.gif | Bin 0 -> 325 bytes .../plugins/emotions/img/smiley-smile.gif | Bin 0 -> 345 bytes .../plugins/emotions/img/smiley-surprised.gif | Bin 0 -> 342 bytes .../emotions/img/smiley-tongue-out.gif | Bin 0 -> 328 bytes .../plugins/emotions/img/smiley-undecided.gif | Bin 0 -> 337 bytes .../plugins/emotions/img/smiley-wink.gif | Bin 0 -> 351 bytes .../plugins/emotions/img/smiley-yell.gif | Bin 0 -> 336 bytes .../tiny_mce/plugins/emotions/js/emotions.js | 22 + .../tiny_mce/plugins/emotions/langs/en_dlg.js | 20 + .../tiny_mce/plugins/example/dialog.htm | 27 + .../tiny_mce/plugins/example/editor_plugin.js | 1 + .../plugins/example/editor_plugin_src.js | 81 + .../tiny_mce/plugins/example/img/example.gif | Bin 0 -> 87 bytes .../tiny_mce/plugins/example/js/dialog.js | 19 + .../tiny_mce/plugins/example/langs/en.js | 3 + .../tiny_mce/plugins/example/langs/en_dlg.js | 3 + .../plugins/fullpage/css/fullpage.css | 178 + .../plugins/fullpage/editor_plugin.js | 1 + .../plugins/fullpage/editor_plugin_src.js | 122 + .../tiny_mce/plugins/fullpage/fullpage.htm | 577 + .../tiny_mce/plugins/fullpage/js/fullpage.js | 462 + .../tiny_mce/plugins/fullpage/langs/en_dlg.js | 85 + .../plugins/fullscreen/editor_plugin.js | 1 + .../plugins/fullscreen/editor_plugin_src.js | 140 + .../plugins/fullscreen/fullscreen.htm | 111 + .../tiny_mce/plugins/iespell/editor_plugin.js | 1 + .../plugins/iespell/editor_plugin_src.js | 51 + .../plugins/inlinepopups/editor_plugin.js | 1 + .../plugins/inlinepopups/editor_plugin_src.js | 589 + .../skins/clearlooks2/img/alert.gif | Bin 0 -> 818 bytes .../skins/clearlooks2/img/button.gif | Bin 0 -> 280 bytes .../skins/clearlooks2/img/buttons.gif | Bin 0 -> 1195 bytes .../skins/clearlooks2/img/confirm.gif | Bin 0 -> 915 bytes .../skins/clearlooks2/img/corners.gif | Bin 0 -> 911 bytes .../skins/clearlooks2/img/horizontal.gif | Bin 0 -> 769 bytes .../skins/clearlooks2/img/vertical.gif | Bin 0 -> 92 bytes .../inlinepopups/skins/clearlooks2/window.css | 90 + .../plugins/inlinepopups/template.htm | 387 + .../plugins/insertdatetime/editor_plugin.js | 1 + .../insertdatetime/editor_plugin_src.js | 80 + .../tiny_mce/plugins/layer/editor_plugin.js | 1 + .../plugins/layer/editor_plugin_src.js | 209 + .../tiny_mce/plugins/media/css/content.css | 6 + .../tiny_mce/plugins/media/css/media.css | 68 + .../tiny_mce/plugins/media/editor_plugin.js | 1 + .../plugins/media/editor_plugin_src.js | 353 + .../tiny_mce/plugins/media/img/flash.gif | Bin 0 -> 241 bytes .../tiny_mce/plugins/media/img/flv_player.swf | Bin 0 -> 11668 bytes .../tiny_mce/plugins/media/img/quicktime.gif | Bin 0 -> 303 bytes .../tiny_mce/plugins/media/img/realmedia.gif | Bin 0 -> 439 bytes .../tiny_mce/plugins/media/img/shockwave.gif | Bin 0 -> 387 bytes .../tiny_mce/plugins/media/img/trans.gif | Bin 0 -> 43 bytes .../plugins/media/img/windowsmedia.gif | Bin 0 -> 415 bytes .../tiny_mce/plugins/media/js/embed.js | 73 + .../tiny_mce/plugins/media/js/media.js | 621 + .../tiny_mce/plugins/media/langs/en_dlg.js | 103 + .../jscripts/tiny_mce/plugins/media/media.htm | 824 ++ .../plugins/moodleimage/editor_plugin.js | 1 + .../plugins/moodleimage/editor_plugin_src.js | 78 + .../plugins/moodleimage/img/image.gif | Bin 0 -> 156 bytes .../plugins/moodleimage/insert_image.php | 294 + .../tiny_mce/plugins/moodleimage/js/image.js | 414 + .../plugins/moodleimage/js/moodleimage.js | 171 + .../plugins/moodleimage/langs/en_dlg.js | 4 + .../tiny_mce/plugins/moodleimage/preview.php | 31 + .../plugins/moodlelink/editor_plugin.js | 1 + .../plugins/moodlelink/editor_plugin_src.js | 78 + .../plugins/moodlelink/img/browse.gif | Bin 0 -> 428 bytes .../tiny_mce/plugins/moodlelink/img/link.gif | Bin 0 -> 78 bytes .../plugins/moodlelink/js/moodlelink.js | 71 + .../plugins/moodlelink/langs/en_dlg.js | 3 + .../tiny_mce/plugins/moodlelink/link.php | 181 + .../plugins/nonbreaking/editor_plugin.js | 1 + .../plugins/nonbreaking/editor_plugin_src.js | 50 + .../plugins/noneditable/editor_plugin.js | 1 + .../plugins/noneditable/editor_plugin_src.js | 81 + .../plugins/pagebreak/css/content.css | 1 + .../plugins/pagebreak/editor_plugin.js | 1 + .../plugins/pagebreak/editor_plugin_src.js | 73 + .../plugins/pagebreak/img/pagebreak.gif | Bin 0 -> 325 bytes .../tiny_mce/plugins/pagebreak/img/trans.gif | Bin 0 -> 43 bytes .../jscripts/tiny_mce/plugins/paste/blank.htm | 22 + .../tiny_mce/plugins/paste/css/blank.css | 14 + .../tiny_mce/plugins/paste/css/pasteword.css | 3 + .../tiny_mce/plugins/paste/editor_plugin.js | 1 + .../plugins/paste/editor_plugin_src.js | 381 + .../tiny_mce/plugins/paste/js/pastetext.js | 42 + .../tiny_mce/plugins/paste/js/pasteword.js | 56 + .../tiny_mce/plugins/paste/langs/en_dlg.js | 5 + .../tiny_mce/plugins/paste/pastetext.htm | 34 + .../tiny_mce/plugins/paste/pasteword.htm | 29 + .../tiny_mce/plugins/preview/editor_plugin.js | 1 + .../plugins/preview/editor_plugin_src.js | 187 + .../tiny_mce/plugins/preview/example.html | 28 + .../plugins/preview/jscripts/embed.js | 73 + .../tiny_mce/plugins/print/editor_plugin.js | 1 + .../plugins/print/editor_plugin_src.js | 31 + .../tiny_mce/plugins/safari/blank.htm | 1 + .../tiny_mce/plugins/safari/editor_plugin.js | 1 + .../plugins/safari/editor_plugin_src.js | 427 + .../tiny_mce/plugins/save/editor_plugin.js | 1 + .../plugins/save/editor_plugin_src.js | 100 + .../searchreplace/css/searchreplace.css | 6 + .../plugins/searchreplace/editor_plugin.js | 1 + .../searchreplace/editor_plugin_src.js | 54 + .../plugins/searchreplace/js/searchreplace.js | 117 + .../plugins/searchreplace/langs/en_dlg.js | 16 + .../plugins/searchreplace/searchreplace.htm | 105 + .../plugins/spellchecker/css/content.css | 1 + .../plugins/spellchecker/editor_plugin.js | 1 + .../plugins/spellchecker/editor_plugin_src.js | 337 + .../plugins/spellchecker/img/wline.gif | Bin 0 -> 46 bytes .../plugins/standardmenu/editor_plugin.js | 1 + .../plugins/standardmenu/editor_plugin_src.js | 106 + .../tiny_mce/plugins/style/css/props.css | 13 + .../tiny_mce/plugins/style/editor_plugin.js | 1 + .../plugins/style/editor_plugin_src.js | 48 + .../tiny_mce/plugins/style/js/props.js | 641 ++ .../tiny_mce/plugins/style/langs/en_dlg.js | 63 + .../jscripts/tiny_mce/plugins/style/props.htm | 731 ++ .../jscripts/tiny_mce/plugins/table/cell.htm | 183 + .../tiny_mce/plugins/table/css/cell.css | 17 + .../tiny_mce/plugins/table/css/row.css | 25 + .../tiny_mce/plugins/table/css/table.css | 13 + .../tiny_mce/plugins/table/editor_plugin.js | 1 + .../plugins/table/editor_plugin_src.js | 1064 ++ .../tiny_mce/plugins/table/js/cell.js | 256 + .../tiny_mce/plugins/table/js/merge_cells.js | 27 + .../jscripts/tiny_mce/plugins/table/js/row.js | 210 + .../tiny_mce/plugins/table/js/table.js | 407 + .../tiny_mce/plugins/table/langs/en_dlg.js | 74 + .../tiny_mce/plugins/table/merge_cells.htm | 38 + .../jscripts/tiny_mce/plugins/table/row.htm | 160 + .../jscripts/tiny_mce/plugins/table/table.htm | 192 + .../tiny_mce/plugins/template/blank.htm | 12 + .../plugins/template/css/template.css | 23 + .../plugins/template/editor_plugin.js | 1 + .../plugins/template/editor_plugin_src.js | 149 + .../tiny_mce/plugins/template/js/template.js | 100 + .../tiny_mce/plugins/template/langs/en_dlg.js | 15 + .../tiny_mce/plugins/template/template.htm | 39 + .../plugins/visualchars/editor_plugin.js | 1 + .../plugins/visualchars/editor_plugin_src.js | 73 + .../tiny_mce/plugins/xhtmlxtras/abbr.htm | 149 + .../tiny_mce/plugins/xhtmlxtras/acronym.htm | 149 + .../plugins/xhtmlxtras/attributes.htm | 154 + .../tiny_mce/plugins/xhtmlxtras/cite.htm | 149 + .../plugins/xhtmlxtras/css/attributes.css | 11 + .../tiny_mce/plugins/xhtmlxtras/css/popup.css | 9 + .../plugins/xhtmlxtras/css/xhtmlxtras.css | 24 + .../tiny_mce/plugins/xhtmlxtras/del.htm | 170 + .../plugins/xhtmlxtras/editor_plugin.js | 1 + .../plugins/xhtmlxtras/editor_plugin_src.js | 134 + .../tiny_mce/plugins/xhtmlxtras/ins.htm | 170 + .../tiny_mce/plugins/xhtmlxtras/js/abbr.js | 25 + .../tiny_mce/plugins/xhtmlxtras/js/acronym.js | 25 + .../plugins/xhtmlxtras/js/attributes.js | 123 + .../tiny_mce/plugins/xhtmlxtras/js/cite.js | 25 + .../tiny_mce/plugins/xhtmlxtras/js/del.js | 50 + .../plugins/xhtmlxtras/js/element_common.js | 221 + .../tiny_mce/plugins/xhtmlxtras/js/ins.js | 49 + .../plugins/xhtmlxtras/langs/en_dlg.js | 32 + .../tiny_mce/themes/advanced/about.htm | 56 + .../tiny_mce/themes/advanced/anchor.htm | 32 + .../tiny_mce/themes/advanced/charmap.htm | 54 + .../tiny_mce/themes/advanced/color_picker.htm | 76 + .../themes/advanced/editor_template.js | 1 + .../themes/advanced/editor_template_src.js | 1033 ++ .../tiny_mce/themes/advanced/image.htm | 86 + .../themes/advanced/img/colorpicker.jpg | Bin 0 -> 3189 bytes .../tiny_mce/themes/advanced/img/icons.gif | Bin 0 -> 11532 bytes .../tiny_mce/themes/advanced/js/about.js | 72 + .../tiny_mce/themes/advanced/js/anchor.js | 33 + .../tiny_mce/themes/advanced/js/charmap.js | 325 + .../themes/advanced/js/color_picker.js | 245 + .../tiny_mce/themes/advanced/js/image.js | 245 + .../tiny_mce/themes/advanced/js/link.js | 126 + .../themes/advanced/js/source_editor.js | 62 + .../tiny_mce/themes/advanced/langs/en.js | 62 + .../tiny_mce/themes/advanced/langs/en_dlg.js | 51 + .../tiny_mce/themes/advanced/link.htm | 64 + .../themes/advanced/skins/default/content.css | 25 + .../themes/advanced/skins/default/dialog.css | 114 + .../advanced/skins/default/img/buttons.png | Bin 0 -> 3274 bytes .../advanced/skins/default/img/items.gif | Bin 0 -> 70 bytes .../advanced/skins/default/img/menu_arrow.gif | Bin 0 -> 68 bytes .../advanced/skins/default/img/menu_check.gif | Bin 0 -> 70 bytes .../advanced/skins/default/img/progress.gif | Bin 0 -> 1787 bytes .../advanced/skins/default/img/tabs.gif | Bin 0 -> 1326 bytes .../themes/advanced/skins/default/ui.css | 209 + .../themes/advanced/skins/o2k7/content.css | 25 + .../themes/advanced/skins/o2k7/dialog.css | 113 + .../advanced/skins/o2k7/img/button_bg.png | Bin 0 -> 5859 bytes .../skins/o2k7/img/button_bg_black.png | Bin 0 -> 3736 bytes .../skins/o2k7/img/button_bg_silver.png | Bin 0 -> 5358 bytes .../themes/advanced/skins/o2k7/ui.css | 211 + .../themes/advanced/skins/o2k7/ui_black.css | 8 + .../themes/advanced/skins/o2k7/ui_silver.css | 5 + .../themes/advanced/source_editor.htm | 32 + .../tiny_mce/themes/simple/editor_template.js | 1 + .../themes/simple/editor_template_src.js | 85 + .../tiny_mce/themes/simple/img/icons.gif | Bin 0 -> 1440 bytes .../tiny_mce/themes/simple/langs/en.js | 11 + .../themes/simple/skins/default/content.css | 25 + .../themes/simple/skins/default/ui.css | 32 + .../themes/simple/skins/o2k7/content.css | 17 + .../simple/skins/o2k7/img/button_bg.png | Bin 0 -> 5102 bytes .../tiny_mce/themes/simple/skins/o2k7/ui.css | 35 + .../tiny_mce/themes/standard/about.htm | 56 + .../tiny_mce/themes/standard/anchor.htm | 32 + .../tiny_mce/themes/standard/charmap.htm | 54 + .../tiny_mce/themes/standard/color_picker.htm | 76 + .../themes/standard/editor_template.js | 1 + .../themes/standard/editor_template_src.js | 1052 ++ .../tiny_mce/themes/standard/form_utils.js | 199 + .../tiny_mce/themes/standard/image.htm | 86 + .../themes/standard/img/colorpicker.jpg | Bin 0 -> 3189 bytes .../tiny_mce/themes/standard/img/icons.gif | Bin 0 -> 11505 bytes .../tiny_mce/themes/standard/js/about.js | 72 + .../tiny_mce/themes/standard/js/anchor.js | 37 + .../tiny_mce/themes/standard/js/charmap.js | 325 + .../themes/standard/js/color_picker.js | 245 + .../tiny_mce/themes/standard/js/image.js | 245 + .../tiny_mce/themes/standard/js/link.js | 155 + .../themes/standard/js/source_editor.js | 62 + .../tiny_mce/themes/standard/langs/ar.js | 62 + .../tiny_mce/themes/standard/langs/ar_dlg.js | 51 + .../tiny_mce/themes/standard/langs/bg.js | 62 + .../tiny_mce/themes/standard/langs/bg_dlg.js | 51 + .../tiny_mce/themes/standard/langs/bs.js | 62 + .../tiny_mce/themes/standard/langs/bs_dlg.js | 51 + .../tiny_mce/themes/standard/langs/ca.js | 62 + .../tiny_mce/themes/standard/langs/ca_dlg.js | 51 + .../tiny_mce/themes/standard/langs/ch.js | 62 + .../tiny_mce/themes/standard/langs/ch_dlg.js | 51 + .../tiny_mce/themes/standard/langs/cs.js | 62 + .../tiny_mce/themes/standard/langs/cs_dlg.js | 51 + .../tiny_mce/themes/standard/langs/cy.js | 76 + .../tiny_mce/themes/standard/langs/da.js | 62 + .../tiny_mce/themes/standard/langs/da_dlg.js | 51 + .../tiny_mce/themes/standard/langs/de.js | 62 + .../tiny_mce/themes/standard/langs/de_dlg.js | 51 + .../tiny_mce/themes/standard/langs/el.js | 62 + .../tiny_mce/themes/standard/langs/el_dlg.js | 51 + .../tiny_mce/themes/standard/langs/en.js | 62 + .../tiny_mce/themes/standard/langs/en_dlg.js | 51 + .../tiny_mce/themes/standard/langs/es.js | 62 + .../tiny_mce/themes/standard/langs/es_dlg.js | 51 + .../tiny_mce/themes/standard/langs/et.js | 62 + .../tiny_mce/themes/standard/langs/et_dlg.js | 51 + .../tiny_mce/themes/standard/langs/fa.js | 62 + .../tiny_mce/themes/standard/langs/fa_dlg.js | 51 + .../tiny_mce/themes/standard/langs/fi.js | 62 + .../tiny_mce/themes/standard/langs/fi_dlg.js | 51 + .../tiny_mce/themes/standard/langs/fr.js | 62 + .../tiny_mce/themes/standard/langs/fr_ca.js | 64 + .../tiny_mce/themes/standard/langs/fr_dlg.js | 51 + .../tiny_mce/themes/standard/langs/he.js | 62 + .../tiny_mce/themes/standard/langs/he_dlg.js | 51 + .../tiny_mce/themes/standard/langs/hr.js | 62 + .../tiny_mce/themes/standard/langs/hr_dlg.js | 51 + .../tiny_mce/themes/standard/langs/hu.js | 62 + .../tiny_mce/themes/standard/langs/hu_dlg.js | 51 + .../tiny_mce/themes/standard/langs/ia.js | 62 + .../tiny_mce/themes/standard/langs/ia_dlg.js | 51 + .../tiny_mce/themes/standard/langs/ii.js | 62 + .../tiny_mce/themes/standard/langs/ii_dlg.js | 51 + .../tiny_mce/themes/standard/langs/is.js | 76 + .../tiny_mce/themes/standard/langs/it.js | 62 + .../tiny_mce/themes/standard/langs/it_dlg.js | 51 + .../tiny_mce/themes/standard/langs/ja.js | 62 + .../tiny_mce/themes/standard/langs/ja_dlg.js | 51 + .../tiny_mce/themes/standard/langs/ko.js | 62 + .../tiny_mce/themes/standard/langs/ko_dlg.js | 51 + .../tiny_mce/themes/standard/langs/lt.js | 67 + .../tiny_mce/themes/standard/langs/lt_dlg.js | 51 + .../tiny_mce/themes/standard/langs/lv.js | 62 + .../tiny_mce/themes/standard/langs/lv_dlg.js | 51 + .../tiny_mce/themes/standard/langs/nb.js | 62 + .../tiny_mce/themes/standard/langs/nb_dlg.js | 51 + .../tiny_mce/themes/standard/langs/nl.js | 62 + .../tiny_mce/themes/standard/langs/nl_dlg.js | 51 + .../tiny_mce/themes/standard/langs/nn.js | 62 + .../tiny_mce/themes/standard/langs/nn_dlg.js | 51 + .../tiny_mce/themes/standard/langs/pl.js | 62 + .../tiny_mce/themes/standard/langs/pl_dlg.js | 51 + .../tiny_mce/themes/standard/langs/pt.js | 62 + .../tiny_mce/themes/standard/langs/pt_br.js | 115 + .../tiny_mce/themes/standard/langs/pt_dlg.js | 51 + .../tiny_mce/themes/standard/langs/readme.txt | 4 + .../tiny_mce/themes/standard/langs/ru.js | 62 + .../themes/standard/langs/ru_KOI8-R.js | 76 + .../themes/standard/langs/ru_UTF-8.js | 76 + .../tiny_mce/themes/standard/langs/ru_dlg.js | 48 + .../tiny_mce/themes/standard/langs/si.js | 62 + .../tiny_mce/themes/standard/langs/si_dlg.js | 51 + .../tiny_mce/themes/standard/langs/sk.js | 62 + .../tiny_mce/themes/standard/langs/sk_dlg.js | 51 + .../tiny_mce/themes/standard/langs/sl.js | 63 + .../tiny_mce/themes/standard/langs/sl_dlg.js | 51 + .../tiny_mce/themes/standard/langs/sr.js | 62 + .../tiny_mce/themes/standard/langs/sr_dlg.js | 51 + .../tiny_mce/themes/standard/langs/sv.js | 60 + .../tiny_mce/themes/standard/langs/sv_dlg.js | 51 + .../tiny_mce/themes/standard/langs/tr.js | 62 + .../tiny_mce/themes/standard/langs/tr_dlg.js | 51 + .../tiny_mce/themes/standard/langs/tw.js | 62 + .../tiny_mce/themes/standard/langs/tw_dlg.js | 51 + .../tiny_mce/themes/standard/langs/uk.js | 64 + .../tiny_mce/themes/standard/langs/uk_dlg.js | 51 + .../tiny_mce/themes/standard/langs/vi.js | 62 + .../tiny_mce/themes/standard/langs/vi_dlg.js | 51 + .../tiny_mce/themes/standard/langs/zh.js | 62 + .../tiny_mce/themes/standard/langs/zh_cn.js | 76 + .../tiny_mce/themes/standard/langs/zh_dlg.js | 51 + .../tiny_mce/themes/standard/langs/zh_tw.js | 78 + .../themes/standard/langs/zh_tw_utf8.js | 78 + .../tiny_mce/themes/standard/link.htm | 64 + .../themes/standard/skins/default/content.css | 27 + .../themes/standard/skins/default/dialog.css | 114 + .../standard/skins/default/img/buttons.png | Bin 0 -> 3274 bytes .../standard/skins/default/img/items.gif | Bin 0 -> 70 bytes .../standard/skins/default/img/menu_arrow.gif | Bin 0 -> 68 bytes .../standard/skins/default/img/menu_check.gif | Bin 0 -> 70 bytes .../standard/skins/default/img/progress.gif | Bin 0 -> 1787 bytes .../standard/skins/default/img/tabs.gif | Bin 0 -> 1326 bytes .../themes/standard/skins/default/ui.css | 215 + .../themes/standard/skins/o2k7/content.css | 27 + .../themes/standard/skins/o2k7/dialog.css | 113 + .../standard/skins/o2k7/img/button_bg.png | Bin 0 -> 5859 bytes .../skins/o2k7/img/button_bg_black.png | Bin 0 -> 3736 bytes .../skins/o2k7/img/button_bg_silver.png | Bin 0 -> 5358 bytes .../themes/standard/skins/o2k7/ui.css | 215 + .../themes/standard/skins/o2k7/ui_black.css | 8 + .../themes/standard/skins/o2k7/ui_silver.css | 5 + .../themes/standard/source_editor.htm | 32 + .../tinymce/jscripts/tiny_mce/tiny_mce.js | 1 + .../jscripts/tiny_mce/tiny_mce_popup.js | 274 + .../tinymce/jscripts/tiny_mce/tiny_mce_src.js | 9939 +++++++++++++++++ .../tiny_mce/utils/editable_selects.js | 61 + .../jscripts/tiny_mce/utils/form_utils.js | 199 + .../jscripts/tiny_mce/utils/mclayer.js | 210 + .../tinymce/jscripts/tiny_mce/utils/mctabs.js | 74 + .../jscripts/tiny_mce/utils/validate.js | 219 + 462 files changed, 48801 insertions(+) create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/langs/en.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/license.txt create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/COPYRIGHT.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/LICENSE-gpl.txt create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/README.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/Release Notes.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/HotEqn/HotEqn.class create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/HotEqn/HotEqn.jar create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/HotEqn/WS_FTP.LOG create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/Latex.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/MathML.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/Maxima.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/MaximaPopup.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/WS_FTP.LOG create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/AbsoluteLayout.jar create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Config.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Display/MainApplet.class create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Display/WS_FTP.LOG create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Project.jar create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/Latex.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/Maple.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/MathML.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/Maxima.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/WS_FTP.LOG create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/jdom.jar create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/jep.jar create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/WS_FTP.LOG create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/ca.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/cz.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/de.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/en.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/es.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/fr.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/nl.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/pl.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/pt-br.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/ru.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/sv.xml create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/swing-layout-1.0.jar create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/demo.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/WS_FTP.LOG create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/about.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/acknowledgments.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/browser.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/complex.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/cvs.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/editing.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/WS_FTP.LOG create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/plus.jpg create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/sin on box.jpg create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/sin on plus.jpg create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/sin.jpg create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/index.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/integrations.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/language.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/navframe.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/newformat.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/newobject.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/options.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/parameters.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/simple.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/dragmath.php create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/img/dragmath.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/index.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/integrations.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/js/dragmath.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/langs/WS_FTP.LOG create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/support.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/emoticons.php create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/img/smiley.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/js/emoticons.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/js/media.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/media/media.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/img/image.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/insert_image.php create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/js/image.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/js/moodleimage.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/preview.php create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/img/browse.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/img/link.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/js/moodlelink.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/link.php create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/example.html create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/blank.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/standardmenu/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/standardmenu/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/style/css/props.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/style/props.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/row.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/table.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/row.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/table/table.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/template/blank.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/template/css/template.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/template/js/template.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/template/template.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/about.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/anchor.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/charmap.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/color_picker.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/editor_template.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/editor_template_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/form_utils.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/image.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/img/colorpicker.jpg create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/img/icons.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/about.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/anchor.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/charmap.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/color_picker.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/image.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/link.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/source_editor.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ar.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ar_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bg_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bs.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bs_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ca.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ca_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ch.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ch_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cs.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cs_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cy.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/da.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/da_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/de.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/de_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/el.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/el_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/en.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/en_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/es.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/es_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/et.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/et_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fa.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fa_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fi.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fi_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr_ca.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/he.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/he_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hr.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hr_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hu.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hu_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ia.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ia_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ii.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ii_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/is.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/it.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/it_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ja.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ja_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ko.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ko_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lt.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lt_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lv.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lv_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nb.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nb_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nl.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nl_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nn.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nn_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pl.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pl_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt_br.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/readme.txt create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_KOI8-R.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_UTF-8.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/si.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/si_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sk.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sk_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sl.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sl_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sr.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sr_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sv.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sv_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tr.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tr_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tw.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tw_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/uk.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/uk_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/vi.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/vi_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_cn.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_dlg.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_tw.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_tw_utf8.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/link.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/content.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/dialog.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/img/buttons.png create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/img/items.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/img/menu_arrow.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/img/menu_check.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/img/progress.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/img/tabs.gif create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/ui.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/content.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/dialog.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/img/button_bg.png create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/img/button_bg_black.png create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/img/button_bg_silver.png create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui_black.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui_silver.css create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/themes/standard/source_editor.htm create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/tiny_mce_src.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/utils/editable_selects.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/utils/form_utils.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/utils/mclayer.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/utils/mctabs.js create mode 100644 lib/editor/tinymce/jscripts/tiny_mce/utils/validate.js diff --git a/lib/editor/tinymce/jscripts/tiny_mce/langs/en.js b/lib/editor/tinymce/jscripts/tiny_mce/langs/en.js new file mode 100644 index 0000000000..744145a92e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/langs/en.js @@ -0,0 +1,154 @@ +tinyMCE.addI18n({en:{ +common:{ +edit_confirm:"Do you want to use the WYSIWYG mode for this textarea?", +apply:"Apply", +insert:"Insert", +update:"Update", +cancel:"Cancel", +close:"Close", +browse:"Browse", +class_name:"Class", +not_set:"-- Not set --", +clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?", +clipboard_no_support:"Currently not supported by your browser, use keyboard shortcuts instead.", +popup_blocked:"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.", +invalid_data:"Error: Invalid values entered, these are marked in red.", +more_colors:"More colors" +}, +contextmenu:{ +align:"Alignment", +left:"Left", +center:"Center", +right:"Right", +full:"Full" +}, +insertdatetime:{ +date_fmt:"%Y-%m-%d", +time_fmt:"%H:%M:%S", +insertdate_desc:"Insert date", +inserttime_desc:"Insert time", +months_long:"January,February,March,April,May,June,July,August,September,October,November,December", +months_short:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", +day_long:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday", +day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun" +}, +print:{ +print_desc:"Print" +}, +preview:{ +preview_desc:"Preview" +}, +directionality:{ +ltr_desc:"Direction left to right", +rtl_desc:"Direction right to left" +}, +layer:{ +insertlayer_desc:"Insert new layer", +forward_desc:"Move forward", +backward_desc:"Move backward", +absolute_desc:"Toggle absolute positioning", +content:"New layer..." +}, +save:{ +save_desc:"Save", +cancel_desc:"Cancel all changes" +}, +nonbreaking:{ +nonbreaking_desc:"Insert non-breaking space character" +}, +iespell:{ +iespell_desc:"Run spell checking", +download:"ieSpell not detected. Do you want to install it now?" +}, +advhr:{ +advhr_desc:"Horizontale rule" +}, +emotions:{ +emotions_desc:"Emotions" +}, +searchreplace:{ +search_desc:"Find", +replace_desc:"Find/Replace" +}, +advimage:{ +image_desc:"Insert/edit image" +}, +advlink:{ +link_desc:"Insert/edit link" +}, +xhtmlxtras:{ +cite_desc:"Citation", +abbr_desc:"Abbreviation", +acronym_desc:"Acronym", +del_desc:"Deletion", +ins_desc:"Insertion", +attribs_desc:"Insert/Edit Attributes" +}, +style:{ +desc:"Edit CSS Style" +}, +paste:{ +paste_text_desc:"Paste as Plain Text", +paste_word_desc:"Paste from Word", +selectall_desc:"Select All" +}, +paste_dlg:{ +text_title:"Use CTRL+V on your keyboard to paste the text into the window.", +text_linebreaks:"Keep linebreaks", +word_title:"Use CTRL+V on your keyboard to paste the text into the window." +}, +table:{ +desc:"Inserts a new table", +row_before_desc:"Insert row before", +row_after_desc:"Insert row after", +delete_row_desc:"Delete row", +col_before_desc:"Insert column before", +col_after_desc:"Insert column after", +delete_col_desc:"Remove column", +split_cells_desc:"Split merged table cells", +merge_cells_desc:"Merge table cells", +row_desc:"Table row properties", +cell_desc:"Table cell properties", +props_desc:"Table properties", +paste_row_before_desc:"Paste table row before", +paste_row_after_desc:"Paste table row after", +cut_row_desc:"Cut table row", +copy_row_desc:"Copy table row", +del:"Delete table", +row:"Row", +col:"Column", +cell:"Cell" +}, +autosave:{ +unload_msg:"The changes you made will be lost if you navigate away from this page." +}, +fullscreen:{ +desc:"Toggle fullscreen mode" +}, +media:{ +desc:"Insert / edit embedded media", +edit:"Edit embedded media" +}, +fullpage:{ +desc:"Document properties" +}, +template:{ +desc:"Insert predefined template content" +}, +visualchars:{ +desc:"Visual control characters on/off." +}, +spellchecker:{ +desc:"Toggle spellchecker", +menu:"Spellchecker settings", +ignore_word:"Ignore word", +ignore_words:"Ignore all", +langs:"Languages", +wait:"Please wait...", +sug:"Suggestions", +no_sug:"No suggestions", +no_mpell:"No misspellings found." +}, +pagebreak:{ +desc:"Insert page break." +}}}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/license.txt b/lib/editor/tinymce/jscripts/tiny_mce/license.txt new file mode 100644 index 0000000000..60d6d4c8f5 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/license.txt @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css new file mode 100644 index 0000000000..0e22834985 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css @@ -0,0 +1,5 @@ +input.radio {border:1px none #000; background:transparent; vertical-align:middle;} +.panel_wrapper div.current {height:80px;} +#width {width:50px; vertical-align:middle;} +#width2 {width:50px; vertical-align:middle;} +#size {width:100px;} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js new file mode 100644 index 0000000000..f3350043f3 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.AdvancedHRPlugin',{init:function(ed,url){ed.addCommand('mceAdvancedHr',function(){ed.windowManager.open({file:url+'/rule.htm',width:250+parseInt(ed.getLang('advhr.delta_width',0)),height:160+parseInt(ed.getLang('advhr.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('advhr',{title:'advhr.advhr_desc',cmd:'mceAdvancedHr'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('advhr',n.nodeName=='HR');});ed.onClick.add(function(ed,e){e=e.target;if(e.nodeName==='HR')ed.selection.select(e);});},getInfo:function(){return{longname:'Advanced HR',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('advhr',tinymce.plugins.AdvancedHRPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js new file mode 100644 index 0000000000..8985c73f6e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js @@ -0,0 +1,54 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedHRPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceAdvancedHr', function() { + ed.windowManager.open({ + file : url + '/rule.htm', + width : 250 + parseInt(ed.getLang('advhr.delta_width', 0)), + height : 160 + parseInt(ed.getLang('advhr.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('advhr', { + title : 'advhr.advhr_desc', + cmd : 'mceAdvancedHr' + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('advhr', n.nodeName == 'HR'); + }); + + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'HR') + ed.selection.select(e); + }); + }, + + getInfo : function() { + return { + longname : 'Advanced HR', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advhr', tinymce.plugins.AdvancedHRPlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js new file mode 100644 index 0000000000..73ee618d69 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js @@ -0,0 +1,34 @@ +var AdvHRDialog = { + init : function(ed) { + var dom = ed.dom, f = document.forms[0], n = ed.selection.getNode(), w; + + w = dom.getAttrib(n, 'width'); + f.width.value = w ? parseInt(w) : ''; + f.size.value = dom.getAttrib(n, 'size'); + f.noshade.checked = !!dom.getAttrib(n, 'noshade'); + selectByValue(f, 'width2', w.indexOf('%') != -1 ? '%' : 'px'); + }, + + update : function() { + var ed = tinyMCEPopup.editor, h, f = document.forms[0]; + + h = ' + + + {#advhr.advhr_desc} + + + + + + + + +
+ + +
+
+ + + + + + + + + + + + + +
+ + +
+
+
+ +
+
+ +
+ +
+ +
+
+
+ + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css new file mode 100644 index 0000000000..4d549a5f81 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css @@ -0,0 +1,13 @@ +#src_list, #over_list, #out_list {width:280px;} +.mceActionPanel {margin-top:7px;} +.alignPreview {border:1px solid #000; width:140px; height:140px; overflow:hidden; padding:5px;} +.checkbox {border:0;} +.panel_wrapper div.current {height:305px;} +#prev {margin:0; border:1px solid #000; width:99%; height:150px; overflow:auto;} +#align, #classlist {width:150px;} +#width, #height {vertical-align:middle; width:50px; text-align:center;} +#vspace, #hspace, #border {vertical-align:middle; width:30px; text-align:center;} +#class_list {width:180px;} +input {width: 280px;} +#constrain, #onmousemovecheck {width:auto;} +#id, #dir, #lang, #usemap, #longdesc {width:200px;} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js new file mode 100644 index 0000000000..3af50573e0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.AdvancedImagePlugin',{init:function(ed,url){ed.addCommand('mceAdvImage',function(){if(ed.dom.getAttrib(ed.selection.getNode(),'class').indexOf('mceItem')!=-1)return;ed.windowManager.open({file:url+'/image.htm',width:480+parseInt(ed.getLang('advimage.delta_width',0)),height:385+parseInt(ed.getLang('advimage.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('image',{title:'advimage.image_desc',cmd:'mceAdvImage'});},getInfo:function(){return{longname:'Advanced image',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('advimage',tinymce.plugins.AdvancedImagePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js new file mode 100644 index 0000000000..c24b1b9f06 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js @@ -0,0 +1,47 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedImagePlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceAdvImage', function() { + // Internal image object like a flash placeholder + if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1) + return; + + ed.windowManager.open({ + file : url + '/image.htm', + width : 480 + parseInt(ed.getLang('advimage.delta_width', 0)), + height : 385 + parseInt(ed.getLang('advimage.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('image', { + title : 'advimage.image_desc', + cmd : 'mceAdvImage' + }); + }, + + getInfo : function() { + return { + longname : 'Advanced image', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advimage', tinymce.plugins.AdvancedImagePlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm new file mode 100644 index 0000000000..d773eb2864 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm @@ -0,0 +1,237 @@ + + + + {#advimage_dlg.dialog_title} + + + + + + + + + +
+ + +
+
+
+ {#advimage_dlg.general} + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+
+ +
+ {#advimage_dlg.preview} + +
+
+ +
+
+ {#advimage_dlg.tab_appearance} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ {#advimage_dlg.example_img} + Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam + nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum + edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam + erat volutpat. +
+
+ x + px +
  + + + + +
+
+
+
+ +
+
+ {#advimage_dlg.swap_image} + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
+ + + + +
 
+
+ +
+ {#advimage_dlg.misc} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ +
+ + + + +
 
+
+
+
+ +
+
+ +
+ +
+ +
+
+
+ + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif new file mode 100644 index 0000000000000000000000000000000000000000..53bf6890b507741c10910c9e2217ad8247b98e8d GIT binary patch literal 1624 zcmV-e2B-N)Nk%w1VJ!eH0OkMy|NsB}{r&v>{Q3F$`1ttq^YifV@ayaA>FMd_=H}w! z;^5%m-rnBb-QC>W+}qpR+S=OL+1c3G*w@$B*4Eb4)YQ|{)zHw=&d$%x&CScp%gV~i z$;rvc$jHXV#>B+L!^6YE!otD9!N9=4zrVk|y}i7=yt})*y1Kf#xw*Hux3;#nwY9ah zw6wFcv$C?Xv9YnRu&}SMudc4Ht*x!BtgNf6tE#H1si~={sjjD|r>3T+rKP2$q@<&x zqobp!qN1Xqp`oFnrJ$goprE6lpP!zdp`MSWoSd7Ro12@UnwpxLnw^=MnV6WE zmzS58mX?*3mz9;3mX?*2l$4W`lai8@l9G~eg|M^H&l zLpBo?51@vfgB2q_TVh*dNP<;cR$Wg!vYsMHR!qvvOis>GNH`+ zJ3B|tqgANiBSy@x>Q#;x7+DuU7&rwlf#S04)VZvA$XoUy8Y&f7)SqP<}Lw@L# zA(@Cohl`6CZyedUu^BlmK|DG5$Kl2f8z@uCc)^k-3m7$G!njf7$;XhOW>^`rV#UFh zEN#eG;bP?tCs>{+)q)ceg9$aDAaTZ{MGK5rU8ty$qz8){MT#gHGX{#XEJHLonBXFa zj+#9GE&^pq!`qG`K5iiC!gq}sRY|1yD8?j++_^oR0g+)NNtZN`)08!0q=}AA4HhIo zFaa9NYu8%97=oos5f?O`lwre~4VfoIei+FyK|urxj@C(-q(sS(!$5uL3j&jg7&XY% zlr17;3GGL;2K8>CB87G97;W(2VZ((D+3Hz;L;bylfhf(kFNV8at)h;hdM z85WX(#*Hq@@BYePt3t_l{ zCL3|YVWydA0Fz{rTl65n00)c^)^-jJn1c zRVXtA6mkUMEDLU|v7{JK&_IJ2ciiCy7BOT1fdUBh8b=yrbYaCAchCU_7?H`b1`}4q zLB|_mI2!;7W4QCq6F1O+MW||6AwmKafUrReUA&QotxQZI8D$G)AuSVV@X<&A9v;~H zKnWjo&;bljq=29aCeV-t5GBYkL=Q}q(S~FLd2t39MyRmC%_GFHkPc7CfIt8P*emqV z0YK2j9A+kmW^!tn(ZmG+L=6DZR99W}8p9?Utr=#t@rE2=zxf3QQ(JBJ&<{Z2>8EUP zeX1B)2w_3gXV)D-0Tt+=#@cV-0f!PU#MglZ3m6b}0e08zK^x;9(u?Tga{%?&nNTXhcEuM_#J>yL>p*a zuZJ2pliCGSp!Ye8>YFq@)ZOW-uT~OrjFQK!)UyVGFt7ni'); + }, + + init : function(ed) { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode(); + + tinyMCEPopup.resizeToInnerSize(); + this.fillClassList('class_list'); + this.fillFileList('src_list', 'tinyMCEImageList'); + this.fillFileList('over_list', 'tinyMCEImageList'); + this.fillFileList('out_list', 'tinyMCEImageList'); + + if (n.nodeName == 'IMG') { + nl.src.value = dom.getAttrib(n, 'src'); + nl.width.value = dom.getAttrib(n, 'width'); + nl.height.value = dom.getAttrib(n, 'height'); + nl.alt.value = dom.getAttrib(n, 'alt'); + nl.title.value = dom.getAttrib(n, 'title'); + nl.vspace.value = this.getAttrib(n, 'vspace'); + nl.hspace.value = this.getAttrib(n, 'hspace'); + nl.border.value = this.getAttrib(n, 'border'); + selectByValue(f, 'align', this.getAttrib(n, 'align')); + selectByValue(f, 'class_list', dom.getAttrib(n, 'class')); + nl.style.value = dom.getAttrib(n, 'style'); + nl.id.value = dom.getAttrib(n, 'id'); + nl.dir.value = dom.getAttrib(n, 'dir'); + nl.lang.value = dom.getAttrib(n, 'lang'); + nl.usemap.value = dom.getAttrib(n, 'usemap'); + nl.longdesc.value = dom.getAttrib(n, 'longdesc'); + nl.insert.value = ed.getLang('update'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseover'))) + nl.onmouseoversrc.value = dom.getAttrib(n, 'onmouseover').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseout'))) + nl.onmouseoutsrc.value = dom.getAttrib(n, 'onmouseout').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (ed.settings.inline_styles) { + // Move attribs to styles + if (dom.getAttrib(n, 'align')) + this.updateStyle('align'); + + if (dom.getAttrib(n, 'hspace')) + this.updateStyle('hspace'); + + if (dom.getAttrib(n, 'border')) + this.updateStyle('border'); + + if (dom.getAttrib(n, 'vspace')) + this.updateStyle('vspace'); + } + } + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoversrccontainer').innerHTML = getBrowserHTML('overbrowser','onmouseoversrc','image','theme_advanced_image'); + if (isVisible('overbrowser')) + document.getElementById('onmouseoversrc').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoutsrccontainer').innerHTML = getBrowserHTML('outbrowser','onmouseoutsrc','image','theme_advanced_image'); + if (isVisible('outbrowser')) + document.getElementById('onmouseoutsrc').style.width = '260px'; + + // If option enabled default contrain proportions to checked + if (ed.getParam("advimage_constrain_proportions", true)) + f.constrain.checked = true; + + // Check swap image if valid data + if (nl.onmouseoversrc.value || nl.onmouseoutsrc.value) + this.setSwapImage(true); + else + this.setSwapImage(false); + + this.changeAppearance(); + this.showPreviewImage(nl.src.value, 1); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, t = this, f = document.forms[0]; + + if (f.src.value === '') { + if (ed.selection.getNode().nodeName == 'IMG') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + } + + tinyMCEPopup.close(); + return; + } + + if (tinyMCEPopup.getParam("accessibility_warnings", 1)) { + if (!f.alt.value) { + tinyMCEPopup.editor.windowManager.confirm(tinyMCEPopup.getLang('advimage_dlg.missing_alt'), function(s) { + if (s) + t.insertAndClose(); + }); + + return; + } + } + + t.insertAndClose(); + }, + + insertAndClose : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el; + + tinyMCEPopup.restoreSelection(); + + // Fixes crash in Safari + if (tinymce.isWebKit) + ed.getWin().focus(); + + if (!ed.settings.inline_styles) { + args = { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }; + } else { + // Remove deprecated values + args = { + vspace : '', + hspace : '', + border : '', + align : '' + }; + } + + tinymce.extend(args, { + src : nl.src.value, + width : nl.width.value, + height : nl.height.value, + alt : nl.alt.value, + title : nl.title.value, + 'class' : getSelectValue(f, 'class_list'), + style : nl.style.value, + id : nl.id.value, + dir : nl.dir.value, + lang : nl.lang.value, + usemap : nl.usemap.value, + longdesc : nl.longdesc.value + }); + + args.onmouseover = args.onmouseout = ''; + + if (f.onmousemovecheck.checked) { + if (nl.onmouseoversrc.value) + args.onmouseover = "this.src='" + nl.onmouseoversrc.value + "';"; + + if (nl.onmouseoutsrc.value) + args.onmouseout = "this.src='" + nl.onmouseoutsrc.value + "';"; + } + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, '', {skip_undo : 1}); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + ed.undoManager.add(); + } + + tinyMCEPopup.close(); + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + setSwapImage : function(st) { + var f = document.forms[0]; + + f.onmousemovecheck.checked = st; + setBrowserDisabled('overbrowser', !st); + setBrowserDisabled('outbrowser', !st); + + if (f.over_list) + f.over_list.disabled = !st; + + if (f.out_list) + f.out_list.disabled = !st; + + f.onmouseoversrc.disabled = !st; + f.onmouseoutsrc.disabled = !st; + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.elements.width.value = f.elements.height.value = ''; + }, + + updateImageData : function(img, st) { + var f = document.forms[0]; + + if (!st) { + f.elements.width.value = img.width; + f.elements.height.value = img.height; + } + + this.preloadImg = img; + }, + + changeAppearance : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], img = document.getElementById('alignSampleImg'); + + if (img) { + if (ed.getParam('inline_styles')) { + ed.dom.setAttrib(img, 'style', f.style.value); + } else { + img.align = f.align.value; + img.border = f.border.value; + img.hspace = f.hspace.value; + img.vspace = f.vspace.value; + } + } + }, + + changeHeight : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height; + f.height.value = tp.toFixed(0); + }, + + changeWidth : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width; + f.width.value = tp.toFixed(0); + }, + + updateStyle : function(ty) { + var dom = tinyMCEPopup.dom, st, v, f = document.forms[0], img = dom.create('img', {style : dom.get('style').value}); + + if (tinyMCEPopup.editor.settings.inline_styles) { + // Handle align + if (ty == 'align') { + dom.setStyle(img, 'float', ''); + dom.setStyle(img, 'vertical-align', ''); + + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') + dom.setStyle(img, 'float', v); + else + img.style.verticalAlign = v; + } + } + + // Handle border + if (ty == 'border') { + dom.setStyle(img, 'border', ''); + + v = f.border.value; + if (v || v == '0') { + if (v == '0') + img.style.border = ''; + else + img.style.border = v + 'px solid black'; + } + } + + // Handle hspace + if (ty == 'hspace') { + dom.setStyle(img, 'marginLeft', ''); + dom.setStyle(img, 'marginRight', ''); + + v = f.hspace.value; + if (v) { + img.style.marginLeft = v + 'px'; + img.style.marginRight = v + 'px'; + } + } + + // Handle vspace + if (ty == 'vspace') { + dom.setStyle(img, 'marginTop', ''); + dom.setStyle(img, 'marginBottom', ''); + + v = f.vspace.value; + if (v) { + img.style.marginTop = v + 'px'; + img.style.marginBottom = v + 'px'; + } + } + + // Merge + dom.get('style').value = dom.serializeStyle(dom.parseStyle(img.style.cssText)); + } + }, + + changeMouseMove : function() { + }, + + showPreviewImage : function(u, st) { + if (!u) { + tinyMCEPopup.dom.setHTML('prev', ''); + return; + } + + if (!st && tinyMCEPopup.getParam("advimage_update_dimensions_onchange", true)) + this.resetImageData(); + + u = tinyMCEPopup.editor.documentBaseURI.toAbsolute(u); + + if (!st) + tinyMCEPopup.dom.setHTML('prev', ''); + else + tinyMCEPopup.dom.setHTML('prev', ''); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js new file mode 100644 index 0000000000..f493d196fa --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js @@ -0,0 +1,43 @@ +tinyMCE.addI18n('en.advimage_dlg',{ +tab_general:"General", +tab_appearance:"Appearance", +tab_advanced:"Advanced", +general:"General", +title:"Title", +preview:"Preview", +constrain_proportions:"Constrain proportions", +langdir:"Language direction", +langcode:"Language code", +long_desc:"Long description link", +style:"Style", +classes:"Classes", +ltr:"Left to right", +rtl:"Right to left", +id:"Id", +map:"Image map", +swap_image:"Swap image", +alt_image:"Alternative image", +mouseover:"for mouse over", +mouseout:"for mouse out", +misc:"Miscellaneous", +example_img:"Appearance preview image", +missing_alt:"Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.", +dialog_title:"Insert/edit image", +src:"Image URL", +alt:"Image description", +list:"Image list", +border:"Border", +dimensions:"Dimensions", +vspace:"Vertical space", +hspace:"Horizontal space", +align:"Alignment", +align_baseline:"Baseline", +align_top:"Top", +align_middle:"Middle", +align_bottom:"Bottom", +align_texttop:"Text top", +align_textbottom:"Text bottom", +align_left:"Left", +align_right:"Right", +image_list:"Image list" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css new file mode 100644 index 0000000000..14364316a1 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css @@ -0,0 +1,8 @@ +.mceLinkList, .mceAnchorList, #targetlist {width:280px;} +.mceActionPanel {margin-top:7px;} +.panel_wrapper div.current {height:320px;} +#classlist, #title, #href {width:280px;} +#popupurl, #popupname {width:200px;} +#popupwidth, #popupheight, #popupleft, #popuptop {width:30px;vertical-align:middle;text-align:center;} +#id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {width:200px;} +#events_panel input {width:200px;} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js new file mode 100644 index 0000000000..4899f7b8c6 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.AdvancedLinkPlugin',{init:function(ed,url){this.editor=ed;ed.addCommand('mceAdvLink',function(){var se=ed.selection;if(se.isCollapsed()&&!ed.dom.getParent(se.getNode(),'A'))return;ed.windowManager.open({file:url+'/link.htm',width:480+parseInt(ed.getLang('advlink.delta_width',0)),height:400+parseInt(ed.getLang('advlink.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('link',{title:'advlink.link_desc',cmd:'mceAdvLink'});ed.addShortcut('ctrl+k','advlink.advlink_desc','mceAdvLink');ed.onNodeChange.add(function(ed,cm,n,co){cm.setDisabled('link',co&&n.nodeName!='A');cm.setActive('link',n.nodeName=='A'&&!n.name);});},getInfo:function(){return{longname:'Advanced link',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('advlink',tinymce.plugins.AdvancedLinkPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js new file mode 100644 index 0000000000..0a35fd81b8 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js @@ -0,0 +1,58 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.AdvancedLinkPlugin', { + init : function(ed, url) { + this.editor = ed; + + // Register commands + ed.addCommand('mceAdvLink', function() { + var se = ed.selection; + + // No selection and not in link + if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A')) + return; + + ed.windowManager.open({ + file : url + '/link.htm', + width : 480 + parseInt(ed.getLang('advlink.delta_width', 0)), + height : 400 + parseInt(ed.getLang('advlink.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('link', { + title : 'advlink.link_desc', + cmd : 'mceAdvLink' + }); + + ed.addShortcut('ctrl+k', 'advlink.advlink_desc', 'mceAdvLink'); + + ed.onNodeChange.add(function(ed, cm, n, co) { + cm.setDisabled('link', co && n.nodeName != 'A'); + cm.setActive('link', n.nodeName == 'A' && !n.name); + }); + }, + + getInfo : function() { + return { + longname : 'Advanced link', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('advlink', tinymce.plugins.AdvancedLinkPlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js new file mode 100644 index 0000000000..cdeec360e0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js @@ -0,0 +1,552 @@ +/* Functions for the advlink plugin popup */ + +tinyMCEPopup.requireLangPack(); + +var templates = { + "window.open" : "window.open('${url}','${target}','${options}')" +}; + +function preinit() { + var url; + + if (url = tinyMCEPopup.getParam("external_link_list_url")) + document.write(''); +} + +function changeClass() { + var formObj = document.forms[0]; + formObj.classes.value = getSelectValue(formObj, 'classlist'); +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + var formObj = document.forms[0]; + var inst = tinyMCEPopup.editor; + var elm = inst.selection.getNode(); + var action = "insert"; + var html; + + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','advlink'); + document.getElementById('popupurlbrowsercontainer').innerHTML = getBrowserHTML('popupurlbrowser','popupurl','file','advlink'); + document.getElementById('linklisthrefcontainer').innerHTML = getLinkListHTML('linklisthref','href'); + document.getElementById('anchorlistcontainer').innerHTML = getAnchorListHTML('anchorlist','href'); + document.getElementById('targetlistcontainer').innerHTML = getTargetListHTML('targetlist','target'); + + // Link list + html = getLinkListHTML('linklisthref','href'); + if (html == "") + document.getElementById("linklisthrefrow").style.display = 'none'; + else + document.getElementById("linklisthrefcontainer").innerHTML = html; + + // Resize some elements + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '260px'; + + if (isVisible('popupurlbrowser')) + document.getElementById('popupurl').style.width = '180px'; + + elm = inst.dom.getParent(elm, "A"); + if (elm != null && elm.nodeName == "A") + action = "update"; + + formObj.insert.value = tinyMCEPopup.getLang(action, 'Insert', true); + + setPopupControlsDisabled(true); + + if (action == "update") { + var href = inst.dom.getAttrib(elm, 'href'); + var onclick = inst.dom.getAttrib(elm, 'onclick'); + + // Setup form data + setFormValue('href', href); + setFormValue('title', inst.dom.getAttrib(elm, 'title')); + setFormValue('id', inst.dom.getAttrib(elm, 'id')); + setFormValue('style', inst.dom.getAttrib(elm, "style")); + setFormValue('rel', inst.dom.getAttrib(elm, 'rel')); + setFormValue('rev', inst.dom.getAttrib(elm, 'rev')); + setFormValue('charset', inst.dom.getAttrib(elm, 'charset')); + setFormValue('hreflang', inst.dom.getAttrib(elm, 'hreflang')); + setFormValue('dir', inst.dom.getAttrib(elm, 'dir')); + setFormValue('lang', inst.dom.getAttrib(elm, 'lang')); + setFormValue('tabindex', inst.dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', inst.dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('type', inst.dom.getAttrib(elm, 'type')); + setFormValue('onfocus', inst.dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', inst.dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', onclick); + setFormValue('ondblclick', inst.dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', inst.dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', inst.dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', inst.dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', inst.dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', inst.dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', inst.dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', inst.dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', inst.dom.getAttrib(elm, 'onkeyup')); + setFormValue('target', inst.dom.getAttrib(elm, 'target')); + setFormValue('classes', inst.dom.getAttrib(elm, 'class')); + + // Parse onclick data + if (onclick != null && onclick.indexOf('window.open') != -1) + parseWindowOpen(onclick); + else + parseFunction(onclick); + + // Select by the values + selectByValue(formObj, 'dir', inst.dom.getAttrib(elm, 'dir')); + selectByValue(formObj, 'rel', inst.dom.getAttrib(elm, 'rel')); + selectByValue(formObj, 'rev', inst.dom.getAttrib(elm, 'rev')); + selectByValue(formObj, 'linklisthref', href); + + if (href.charAt(0) == '#') + selectByValue(formObj, 'anchorlist', href); + + addClassesToList('classlist', 'advlink_styles'); + + selectByValue(formObj, 'classlist', inst.dom.getAttrib(elm, 'class'), true); + selectByValue(formObj, 'targetlist', inst.dom.getAttrib(elm, 'target'), true); + } else + addClassesToList('classlist', 'advlink_styles'); +} + +function checkPrefix(n) { + if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_email'))) + n.value = 'mailto:' + n.value; + + if (/^\s*www./i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_external'))) + n.value = 'http://' + n.value; +} + +function setFormValue(name, value) { + document.forms[0].elements[name].value = value; +} + +function parseWindowOpen(onclick) { + var formObj = document.forms[0]; + + // Preprocess center code + if (onclick.indexOf('return false;') != -1) { + formObj.popupreturn.checked = true; + onclick = onclick.replace('return false;', ''); + } else + formObj.popupreturn.checked = false; + + var onClickData = parseLink(onclick); + + if (onClickData != null) { + formObj.ispopup.checked = true; + setPopupControlsDisabled(false); + + var onClickWindowOptions = parseOptions(onClickData['options']); + var url = onClickData['url']; + + formObj.popupname.value = onClickData['target']; + formObj.popupurl.value = url; + formObj.popupwidth.value = getOption(onClickWindowOptions, 'width'); + formObj.popupheight.value = getOption(onClickWindowOptions, 'height'); + + formObj.popupleft.value = getOption(onClickWindowOptions, 'left'); + formObj.popuptop.value = getOption(onClickWindowOptions, 'top'); + + if (formObj.popupleft.value.indexOf('screen') != -1) + formObj.popupleft.value = "c"; + + if (formObj.popuptop.value.indexOf('screen') != -1) + formObj.popuptop.value = "c"; + + formObj.popuplocation.checked = getOption(onClickWindowOptions, 'location') == "yes"; + formObj.popupscrollbars.checked = getOption(onClickWindowOptions, 'scrollbars') == "yes"; + formObj.popupmenubar.checked = getOption(onClickWindowOptions, 'menubar') == "yes"; + formObj.popupresizable.checked = getOption(onClickWindowOptions, 'resizable') == "yes"; + formObj.popuptoolbar.checked = getOption(onClickWindowOptions, 'toolbar') == "yes"; + formObj.popupstatus.checked = getOption(onClickWindowOptions, 'status') == "yes"; + formObj.popupdependent.checked = getOption(onClickWindowOptions, 'dependent') == "yes"; + + buildOnClick(); + } +} + +function parseFunction(onclick) { + var formObj = document.forms[0]; + var onClickData = parseLink(onclick); + + // TODO: Add stuff here +} + +function getOption(opts, name) { + return typeof(opts[name]) == "undefined" ? "" : opts[name]; +} + +function setPopupControlsDisabled(state) { + var formObj = document.forms[0]; + + formObj.popupname.disabled = state; + formObj.popupurl.disabled = state; + formObj.popupwidth.disabled = state; + formObj.popupheight.disabled = state; + formObj.popupleft.disabled = state; + formObj.popuptop.disabled = state; + formObj.popuplocation.disabled = state; + formObj.popupscrollbars.disabled = state; + formObj.popupmenubar.disabled = state; + formObj.popupresizable.disabled = state; + formObj.popuptoolbar.disabled = state; + formObj.popupstatus.disabled = state; + formObj.popupreturn.disabled = state; + formObj.popupdependent.disabled = state; + + setBrowserDisabled('popupurlbrowser', state); +} + +function parseLink(link) { + link = link.replace(new RegExp(''', 'g'), "'"); + + var fnName = link.replace(new RegExp("\\s*([A-Za-z0-9\.]*)\\s*\\(.*", "gi"), "$1"); + + // Is function name a template function + var template = templates[fnName]; + if (template) { + // Build regexp + var variableNames = template.match(new RegExp("'?\\$\\{[A-Za-z0-9\.]*\\}'?", "gi")); + var regExp = "\\s*[A-Za-z0-9\.]*\\s*\\("; + var replaceStr = ""; + for (var i=0; i'); + for (var i=0; i'; + html += ''; + + for (i=0; i' + name + ''; + } + + html += ''; + + return html; +} + +function insertAction() { + var inst = tinyMCEPopup.editor; + var elm, elementArray, i; + + elm = inst.selection.getNode(); + checkPrefix(document.forms[0].href); + + elm = inst.dom.getParent(elm, "A"); + + // Remove element if there is no href + if (!document.forms[0].href.value) { + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + i = inst.selection.getBookmark(); + inst.dom.remove(elm, 1); + inst.selection.moveToBookmark(i); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + + // Create new anchor elements + if (elm == null) { + tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1}); + + elementArray = tinymce.grep(inst.dom.select("a"), function(n) {return inst.dom.getAttrib(n, 'href') == '#mce_temp_url#';}); + for (i=0; i' + tinyMCELinkList[i][0] + ''; + + html += ''; + + return html; + + // tinyMCE.debug('-- image list start --', html, '-- image list end --'); +} + +function getTargetListHTML(elm_id, target_form_element) { + var targets = tinyMCEPopup.getParam('theme_advanced_link_targets', '').split(';'); + var html = ''; + + html += ''; + + return html; +} + +// While loading +preinit(); +tinyMCEPopup.onInit.add(init); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js new file mode 100644 index 0000000000..c71ffbd0f1 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js @@ -0,0 +1,52 @@ +tinyMCE.addI18n('en.advlink_dlg',{ +title:"Insert/edit link", +url:"Link URL", +target:"Target", +titlefield:"Title", +is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", +is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", +list:"Link list", +general_tab:"General", +popup_tab:"Popup", +events_tab:"Events", +advanced_tab:"Advanced", +general_props:"General properties", +popup_props:"Popup properties", +event_props:"Events", +advanced_props:"Advanced properties", +popup_opts:"Options", +anchor_names:"Anchors", +target_same:"Open in this window / frame", +target_parent:"Open in parent window / frame", +target_top:"Open in top frame (replaces all frames)", +target_blank:"Open in new window", +popup:"Javascript popup", +popup_url:"Popup URL", +popup_name:"Window name", +popup_return:"Insert 'return false'", +popup_scrollbars:"Show scrollbars", +popup_statusbar:"Show status bar", +popup_toolbar:"Show toolbars", +popup_menubar:"Show menu bar", +popup_location:"Show location bar", +popup_resizable:"Make window resizable", +popup_dependent:"Dependent (Mozilla/Firefox only)", +popup_size:"Size", +popup_position:"Position (X/Y)", +id:"Id", +style:"Style", +classes:"Classes", +target_name:"Target name", +langdir:"Language direction", +target_langcode:"Target language", +langcode:"Language code", +encoding:"Target character encoding", +mime:"Target MIME type", +rel:"Relationship page to target", +rev:"Relationship target to page", +tabindex:"Tabindex", +accesskey:"Accesskey", +ltr:"Left to right", +rtl:"Right to left", +link_list:"Link list" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm new file mode 100644 index 0000000000..f46e8f8324 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm @@ -0,0 +1,339 @@ + + + + {#advlink_dlg.title} + + + + + + + + + +
+ + +
+
+
+ {#advlink_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + +
 
 
 
 
+ +
+
+
+ + + +
+
+ {#advlink_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+
+ +
+
+ {#advlink_dlg.event_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ +
+
+ +
+ +
+ +
+
+
+ + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js new file mode 100644 index 0000000000..01a994ee56 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.AutoSavePlugin',{init:function(ed,url){var t=this;t.editor=ed;window.onbeforeunload=tinymce.plugins.AutoSavePlugin._beforeUnloadHandler;},getInfo:function(){return{longname:'Auto save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave',version:tinymce.majorVersion+"."+tinymce.minorVersion};},'static':{_beforeUnloadHandler:function(){var msg;tinymce.each(tinyMCE.editors,function(ed){if(ed.getParam("fullscreen_is_enabled"))return;if(ed.isDirty()){msg=ed.getLang("autosave.unload_msg");return false;}});return msg;}}});tinymce.PluginManager.add('autosave',tinymce.plugins.AutoSavePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js new file mode 100644 index 0000000000..48f1825ec4 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js @@ -0,0 +1,51 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.AutoSavePlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + window.onbeforeunload = tinymce.plugins.AutoSavePlugin._beforeUnloadHandler; + }, + + getInfo : function() { + return { + longname : 'Auto save', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private plugin internal methods + + 'static' : { + _beforeUnloadHandler : function() { + var msg; + + tinymce.each(tinyMCE.editors, function(ed) { + if (ed.getParam("fullscreen_is_enabled")) + return; + + if (ed.isDirty()) { + msg = ed.getLang("autosave.unload_msg"); + return false; + } + }); + + return msg; + } + } + }); + + // Register plugin + tinymce.PluginManager.add('autosave', tinymce.plugins.AutoSavePlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js new file mode 100644 index 0000000000..c56cdfdd63 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.BBCodePlugin',{init:function(ed,url){var t=this,dialect=ed.getParam('bbcode_dialect','punbb').toLowerCase();ed.onBeforeSetContent.add(function(ed,o){o.content=t['_'+dialect+'_bbcode2html'](o.content);});ed.onPostProcess.add(function(ed,o){if(o.set)o.content=t['_'+dialect+'_bbcode2html'](o.content);if(o.get)o.content=t['_'+dialect+'_html2bbcode'](o.content);});},getInfo:function(){return{longname:'BBCode Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_punbb_html2bbcode:function(s){s=tinymce.trim(s);function rep(re,str){s=s.replace(re,str);};rep(/(.*?)<\/a>/gi,"[url=$1]$2[/url]");rep(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]");rep(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]");rep(/(.*?)<\/span>/gi,"[color=$1]$2[/color]");rep(/(.*?)<\/font>/gi,"[color=$1]$2[/color]");rep(/(.*?)<\/span>/gi,"[size=$1]$2[/size]");rep(/(.*?)<\/font>/gi,"$1");rep(//gi,"[img]$1[/img]");rep(/(.*?)<\/span>/gi,"[code]$1[/code]");rep(/(.*?)<\/span>/gi,"[quote]$1[/quote]");rep(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]");rep(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]");rep(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]");rep(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]");rep(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]");rep(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]");rep(/<\/(strong|b)>/gi,"[/b]");rep(/<(strong|b)>/gi,"[b]");rep(/<\/(em|i)>/gi,"[/i]");rep(/<(em|i)>/gi,"[i]");rep(/<\/u>/gi,"[/u]");rep(/(.*?)<\/span>/gi,"[u]$1[/u]");rep(//gi,"[u]");rep(/
/gi,"\n");rep(//gi,"\n");rep(/
/gi,"\n");rep(/

/gi,"");rep(/<\/p>/gi,"\n");rep(/ /gi," ");rep(/"/gi,"\"");rep(/</gi,"<");rep(/>/gi,">");rep(/&/gi,"&");return s;},_punbb_bbcode2html:function(s){s=tinymce.trim(s);function rep(re,str){s=s.replace(re,str);};rep(/\n/gi,"
");rep(/\[b\]/gi,"");rep(/\[\/b\]/gi,"");rep(/\[i\]/gi,"");rep(/\[\/i\]/gi,"");rep(/\[u\]/gi,"");rep(/\[\/u\]/gi,"");rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"$2");rep(/\[url\](.*?)\[\/url\]/gi,"$1");rep(/\[img\](.*?)\[\/img\]/gi,"");rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"$2");rep(/\[code\](.*?)\[\/code\]/gi,"$1 ");rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"$1 ");return s;}});tinymce.PluginManager.add('bbcode',tinymce.plugins.BBCodePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js new file mode 100644 index 0000000000..b276adad9c --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js @@ -0,0 +1,115 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.BBCodePlugin', { + init : function(ed, url) { + var t = this, dialect = ed.getParam('bbcode_dialect', 'punbb').toLowerCase(); + + ed.onBeforeSetContent.add(function(ed, o) { + o.content = t['_' + dialect + '_bbcode2html'](o.content); + }); + + ed.onPostProcess.add(function(ed, o) { + if (o.set) + o.content = t['_' + dialect + '_bbcode2html'](o.content); + + if (o.get) + o.content = t['_' + dialect + '_html2bbcode'](o.content); + }); + }, + + getInfo : function() { + return { + longname : 'BBCode Plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/bbcode', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + // HTML -> BBCode in PunBB dialect + _punbb_html2bbcode : function(s) { + s = tinymce.trim(s); + + function rep(re, str) { + s = s.replace(re, str); + }; + + // example: to [b] + rep(/(.*?)<\/a>/gi,"[url=$1]$2[/url]"); + rep(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"); + rep(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"); + rep(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"); + rep(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"); + rep(/(.*?)<\/span>/gi,"[color=$1]$2[/color]"); + rep(/(.*?)<\/font>/gi,"[color=$1]$2[/color]"); + rep(/(.*?)<\/span>/gi,"[size=$1]$2[/size]"); + rep(/(.*?)<\/font>/gi,"$1"); + rep(//gi,"[img]$1[/img]"); + rep(/(.*?)<\/span>/gi,"[code]$1[/code]"); + rep(/(.*?)<\/span>/gi,"[quote]$1[/quote]"); + rep(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"); + rep(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"); + rep(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"); + rep(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"); + rep(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"); + rep(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"); + rep(/<\/(strong|b)>/gi,"[/b]"); + rep(/<(strong|b)>/gi,"[b]"); + rep(/<\/(em|i)>/gi,"[/i]"); + rep(/<(em|i)>/gi,"[i]"); + rep(/<\/u>/gi,"[/u]"); + rep(/(.*?)<\/span>/gi,"[u]$1[/u]"); + rep(//gi,"[u]"); + rep(/
/gi,"\n"); + rep(//gi,"\n"); + rep(/
/gi,"\n"); + rep(/

/gi,""); + rep(/<\/p>/gi,"\n"); + rep(/ /gi," "); + rep(/"/gi,"\""); + rep(/</gi,"<"); + rep(/>/gi,">"); + rep(/&/gi,"&"); + + return s; + }, + + // BBCode -> HTML from PunBB dialect + _punbb_bbcode2html : function(s) { + s = tinymce.trim(s); + + function rep(re, str) { + s = s.replace(re, str); + }; + + // example: [b] to + rep(/\n/gi,"
"); + rep(/\[b\]/gi,""); + rep(/\[\/b\]/gi,""); + rep(/\[i\]/gi,""); + rep(/\[\/i\]/gi,""); + rep(/\[u\]/gi,""); + rep(/\[\/u\]/gi,""); + rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"$2"); + rep(/\[url\](.*?)\[\/url\]/gi,"$1"); + rep(/\[img\](.*?)\[\/img\]/gi,""); + rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"$2"); + rep(/\[code\](.*?)\[\/code\]/gi,"$1 "); + rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"$1 "); + + return s; + } + }); + + // Register plugin + tinymce.PluginManager.add('bbcode', tinymce.plugins.BBCodePlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js new file mode 100644 index 0000000000..090c94b0bf --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js @@ -0,0 +1 @@ +(function(){var DOM=tinymce.DOM,Event=tinymce.dom.Event,each=tinymce.each,is=tinymce.is;tinymce.create('tinymce.plugins.Compat2x',{getInfo:function(){return{longname:'Compat2x',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/compat2x',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};}});(function(){tinymce.extend(tinyMCE,{addToLang:function(p,l){each(l,function(v,k){tinyMCE.i18n[(tinyMCE.settings.language||'en')+'.'+(p?p+'_':'')+k]=v;});},getInstanceById:function(n){return this.get(n);}});})();(function(){var EditorManager=tinymce.EditorManager;tinyMCE.instances={};tinyMCE.plugins={};tinymce.PluginManager.onAdd.add(function(pm,n,p){tinyMCE.plugins[n]=p;});tinyMCE.majorVersion=tinymce.majorVersion;tinyMCE.minorVersion=tinymce.minorVersion;tinyMCE.releaseDate=tinymce.releaseDate;tinyMCE.baseURL=tinymce.baseURL;tinyMCE.isIE=tinyMCE.isMSIE=tinymce.isIE||tinymce.isOpera;tinyMCE.isMSIE5=tinymce.isIE;tinyMCE.isMSIE5_0=tinymce.isIE;tinyMCE.isMSIE7=tinymce.isIE;tinyMCE.isGecko=tinymce.isGecko;tinyMCE.isSafari=tinymce.isWebKit;tinyMCE.isOpera=tinymce.isOpera;tinyMCE.isMac=false;tinyMCE.isNS7=false;tinyMCE.isNS71=false;tinyMCE.compat=true;TinyMCE_Engine=tinyMCE;tinymce.extend(tinyMCE,{getParam:function(n,dv){return this.activeEditor.getParam(n,dv);},addEvent:function(e,na,f,sc){tinymce.dom.Event.add(e,na,f,sc||this);},getControlHTML:function(n){return EditorManager.activeEditor.controlManager.createControl(n);},loadCSS:function(u){tinymce.DOM.loadCSS(u);},importCSS:function(doc,u){if(doc==document)this.loadCSS(u);else new tinymce.dom.DOMUtils(doc).loadCSS(u);},log:function(){console.debug.apply(console,arguments);},getLang:function(n,dv){var v=EditorManager.activeEditor.getLang(n.replace(/^lang_/g,''),dv);if(/^[0-9\-.]+$/g.test(v))return parseInt(v);return v;},isInstance:function(o){return o!=null&&typeof(o)=="object"&&o.execCommand;},triggerNodeChange:function(){EditorManager.activeEditor.nodeChanged();},regexpReplace:function(in_str,reg_exp,replace_str,opts){var re;if(in_str==null)return in_str;if(typeof(opts)=="undefined")opts='g';re=new RegExp(reg_exp,opts);return in_str.replace(re,replace_str);},trim:function(s){return tinymce.trim(s);},xmlEncode:function(s){return tinymce.DOM.encode(s);},explode:function(s,d){var o=[];tinymce.each(s.split(d),function(v){if(v!='')o.push(v);});return o;},switchClass:function(id,cls){var b;if(/^mceButton/.test(cls)){b=EditorManager.activeEditor.controlManager.get(id);if(!b)return;switch(cls){case"mceButtonNormal":b.setDisabled(false);b.setActive(false);return;case"mceButtonDisabled":b.setDisabled(true);return;case"mceButtonSelected":b.setActive(true);b.setDisabled(false);return;}}},addCSSClass:function(e,n,b){return tinymce.DOM.addClass(e,n,b);},hasCSSClass:function(e,n){return tinymce.DOM.hasClass(e,n);},removeCSSClass:function(e,n){return tinymce.DOM.removeClass(e,n);},getCSSClasses:function(){var cl=EditorManager.activeEditor.dom.getClasses(),o=[];each(cl,function(c){o.push(c['class']);});return o;},setWindowArg:function(n,v){EditorManager.activeEditor.windowManager.params[n]=v;},getWindowArg:function(n,dv){var wm=EditorManager.activeEditor.windowManager,v;v=wm.getParam(n);if(v==='')return'';return v||wm.getFeature(n)||dv;},getParentNode:function(n,f){return this._getDOM().getParent(n,f);},selectElements:function(n,na,f){var i,a=[],nl,x;for(x=0,na=na.split(',');x + +DragMath Documentation - License + + + +DragMath copyright information + + + +

DragMath is licensed under the GNU General Public License (GPL) (http://www.gnu.org/copyleft/gpl.html) +

+All source code in this package is written by Alex Billingsley except the libraries used. The copyright information for the libaries is included below:

+
+

+

JDOM
http://www.jdom.org

+JDOM is available under an Apache-style open source license, with the acknowledgment clause removed. This license is among the least restrictive license available, enabling developers to use JDOM in creating new products without requiring them to release their own products as open source. This is the license model used by the Apache Project, which created the Apache server. The license is available at the top of every source file and in LICENSE.txt in the root of the distribution. +

+
+

+

JEP
https://sourceforge.net/projects/jep/

+JEP is licensed under the GNU General Public License (GPL) (http://www.gnu.org/copyleft/gpl.html)

+

+
+

glyFX Common Toolbar Set Icons
http://www.glyfx.com

+Icons used in software, license found at; http://www.glyfx.com/license-toolbar.html

+
+ + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/LICENSE-gpl.txt b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/LICENSE-gpl.txt new file mode 100644 index 0000000000..c872f2629e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/LICENSE-gpl.txt @@ -0,0 +1,341 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/README.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/README.html new file mode 100644 index 0000000000..8bbac45c1d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/README.html @@ -0,0 +1,66 @@ + + +DragMath - README + + + +DragMath README + + +

+ +

+
+This is an open-source drag and drop equation editor written in Java. Once an expression is created the user can convert it into a variety of different linear syntax for mathematics, including MathML, LaTeX, Maple, Maxima or any user defined style. +

+DragMath Website:www.dragmath.bham.ac.uk
+SoureForge.net Project:http://sourceforge.net/projects/dragmath +

+
+

+Package Contents: +

+
+
+ +
README.html +
This file
+ +
+
LICENSE-gpl.txt +
License Agreement
+ +
+
COPYRIGHT.html +
Copyright Information
+ +
+
Release Notes.html +
Release Notes for this version
+ +
+
index.html +
DragMath Website including Demonstrations
+ +

+
doc/ +
Documentation
+ +
+
+
applet/classes/ +
+
formats/ +
Export formats
+
+
lang/ +
Language files
+ +
+ + + +
+
+ + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/Release Notes.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/Release Notes.html new file mode 100644 index 0000000000..9400f05efa --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/Release Notes.html @@ -0,0 +1,34 @@ + + +DragMath - Release Notes for Version 0.7.1 + + + +Release Notes for DragMath 0.7.1 + + +

+ +www.dragmath.bham.ac.uk +

+
+ +DragMath 0.7.1 released 28/02/2008 +

+New Features: +

+
    +
  1. Export to image
  2. +
+New languages: +

+
    +
  1. Portuguese (Brazilian)
  2. +
+
+ + +
+
+ + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/HotEqn/HotEqn.class b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/HotEqn/HotEqn.class new file mode 100644 index 0000000000000000000000000000000000000000..2d494e858ca960d485a92b021eac6b4334042c25 GIT binary patch literal 2759 zcma)7>2nlS5dXcsX0n-tWkRAMi3AZ$hLCU>H6f8C1c)RoBp6)8W0IXL3!9l`GaC+X z#rs0>C{QWU!dQx>Anam-cotUqkNC|h%TIn0yJvQjC4nkxYrEh3z3zT}yzcqqzsbw+ zVg-H+Vm)>g;XXXTWRS^DCJ!=+$k@dK56Rdq<6#+(6yZ@kCSgMmCD(7-LCW#zy988RJ15z(EO{WgHHY{^K&9 zkntp+J|&??#xpGNY!LN$j=|?;9AW-~j2D@|#N=frugG{+#%sKMUB(;C-<0td^P@7} zmhlcRk1=^y!fpxM1iW$67EpWl>f?G-LN{Yg19mEI###kRx-4_d)=hg*PoxcjirF%q z>5&m5B~Yx}$)@4WmfgMI6p%Msrfuq@q*3N*=m+ekO{sXaS3hK>>9R#LcDANRhm6!l zD>bUy-3Nz_q#d`&MCr6%mzA*ShLYZbE6BCLy0{s)+sXa9`auC-mldV!ydx~@<0A^m zwUJCF47;hrVRTm4Q{N*XbP~2xhZJl)xN%T|Y&w1YN;#oDc}jL^W_|%r-_T3|FOguy$?Z%9XVWKEy`~KE_E2F$JICR6av- zt7#i0-KNwV`Y3z#se)f||8x|TK`Mr=$4w)}$Dc{qtKc*~S1^GuDCfP#h&>SJBoy_> zV|$#n1Pbs=d_}R=w$bfpa7w|~d}|SxXe@r%SS8_U1>fM?YyEd#K!Mn5PS5rNU`@e# zt%9>SCoq2|0X?Q|#Q0@ML$P75Am8yFJAPil1!U-8B!7_QZD7bsMLD#K$SC+8lM1FV zNn$DYfFd-^@tmnkj>aB65s#S)e&B!toU(9_EywqA|nHcWPD6D0i@n_35Tgm2G8V zuO6jvwE~$gYcy$@hH1Cv0%64&(6JvdsC^P+vmyx(?KOr;Z5K@wa$u&#csDap$Uix$ zr^XC=VY4jc#um4?lGEWAP8UfOoEu)nb&})^1fB~NQ3)w_>cjhDDJ#vTEW0K)ddE)O zEJY*B$V-*7mh*md(~48*0z7ecv1OH@em2@qVdl@ANX_vAt<4?$sNEtA=GHQ)Zg3y8 zqY#bT`cQ&8-4nHl#7C$Srf~p^>D#d$fP{tUKqsZDi*_E&qZLg!S_>X>4n}j%+0&?V zI88f;)6606B}p2LMEhu`kqxRGZqu?5nz#TD6E71V6F-x{S(4xz!g)Q%hfi_Z*Zdlti*9Rp(_8VijT;%+Em8rcf4PX^r75 z7F<9%VHFXdFN<3;xRvqp3@Ue$@r90YKOz3SaX-OT4jdpjkcWBWSBo>KK7m#~$gP{m zw&Mw(lM`x<>rlXTh?79q(chb)>}cvD$Fz?C-xZYR&U_ivhDz6kl(tZ?JtQ~#G<7k_ zUBvC{CLp)?=}c4aaFMnN6u0=bsw|eaY3ec;Yh8bZk=xlvVJ zQ%-l)O`$%bsTzreLKm?-i-s0|rT+>P7OJE$R!qR(;&;UwZ!FeSAhvRjSasgoDqhgN ztC>?C))c6%y-77vFI2m0j@q>E&5m_Vy_-a4g>{dn-pgp9GLR3J>eQmCt&B>Q(iI9{ zQrA(HkE1x}bz9Es_OmDw^F*bn#uBkuEEkQ$o5gz3MSP1G6cOU4I4X`2e@|q^B=Jk) zFY!0=e>_V)by(ujJiVSUmQWjb_;Z&9FF)x!EnSMQo@lys5Bgr qLTb3L;j%AEg$^9?UadI^iK^@KHq{Y8O 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 www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/HotEqn HotEqn.class +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\HotEqn\HotEqn.jar --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/HotEqn HotEqn.jar +2008.01.23 10:48 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\HotEqn\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/HotEqn WS_FTP.LOG +2008.01.23 10:59 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\HotEqn\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/HotEqn WS_FTP.LOG diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/Latex.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/Latex.html new file mode 100644 index 0000000000..98c01317ca --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/Latex.html @@ -0,0 +1,67 @@ + + + + +DragMath Latex Example + + + + + + +

+ + +
DragMath Latex Example
+

+ + + + + +To use this page you need a Java-enabled browser. Download the latest Java plug-in from Java.com + +
+ +
+ +
+ +

Latex Rendering:

+ + + +
+
+Latex rendering performed by freeware Java applet HotEqn + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/MathML.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/MathML.html new file mode 100644 index 0000000000..6709f7259b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/MathML.html @@ -0,0 +1,64 @@ + + + + +DragMath MathML Example + + + + + + +
+ + +
DragMath MathML Example
+

+ + + + +To use this page you need a Java-enabled browser. Download the latest Java plug-in from Java.com + +
+ +
+ +
+ +

MathML Rendering:

+ + + +
+
+JavaScript used for rendering from Mozilla website, re-used under Creative Commons License + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/Maxima.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/Maxima.html new file mode 100644 index 0000000000..f4808b0758 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/Maxima.html @@ -0,0 +1,49 @@ + + +DragMath Maxima Example + + + + + + +
DragMath Maxima Example
+

+ +
+ +

Factorise 20*x+5 +
+ + +

+ +

Differentiate 2·x5+2·x4-x3+3·x2-2·x with respect to x +
+ + +

+ +

Integrate cos( 5·x ) with respect to x +
+ + +

+ + +
+ + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/MaximaPopup.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/MaximaPopup.html new file mode 100644 index 0000000000..7f68b688fa --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/MaximaPopup.html @@ -0,0 +1,39 @@ + + + + + + + + +
+ +
+ + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/WS_FTP.LOG b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/WS_FTP.LOG new file mode 100644 index 0000000000..b7f1b38e94 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/WS_FTP.LOG @@ -0,0 +1,6 @@ +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\Latex.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet Latex.html +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\MathML.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet MathML.html +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\Maxima.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet Maxima.html +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\MaximaPopup.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet MaximaPopup.html +2008.01.23 10:48 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet WS_FTP.LOG +2008.01.23 10:59 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet WS_FTP.LOG diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/AbsoluteLayout.jar b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/AbsoluteLayout.jar new file mode 100644 index 0000000000000000000000000000000000000000..7095af9ba230fe9bdb03cac0d1239f8664343357 GIT binary patch literal 4334 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 + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Display/MainApplet.class b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Display/MainApplet.class new file mode 100644 index 0000000000000000000000000000000000000000..29679280dbc347e4c6ebea8f0101ff3e891daeff GIT binary patch literal 66179 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 z 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 TMz3r1rbhqvP>L@usDJ+h8=(u6 literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Display/WS_FTP.LOG b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Display/WS_FTP.LOG new file mode 100644 index 0000000000..0342aabf8f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Display/WS_FTP.LOG @@ -0,0 +1,3 @@ +2008.01.23 10:09 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\Display\MainApplet.class --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/Display MainApplet.class +2008.01.23 10:48 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\Display\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/Display WS_FTP.LOG +2008.01.23 10:58 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\Display\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/Display WS_FTP.LOG diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Project.jar b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/Project.jar new file mode 100644 index 0000000000000000000000000000000000000000..1b0329ea425afe8d39cff45a6415df9cf6010595 GIT binary patch literal 450400 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 usJNK5qX z&ld93uSbrLBOe@xCm6YAR`7$gRG*)j-_~a2T=|e=zO*NnPz#Z>MQSusQ+`=K~e zcm7PQAb}OTBZ$1s-IeVq@8nt zvvh^$8hN^ZS-$m<5Rv|K>aV{?s`c|5%N5Sp_S2dC{7fV1kSAfjY%XwxkNxETO&MNR-^2XH|F!w!AM=NQ zdj62oSlg>YoX8@cY6SIAoieYUx3ZL&3!11JGTu9dYwqZ zYcNWn?!oP-jzcMELTh2Gj+cNb9tz@`{U(j7F=@UCnvh) zrm)QAD@PLxt9&K!3}>mxLd)Q=qq(%Ft=C#Nr|LIPdoPkImDIBlIv090(K=>Z+64}; zm^4S@M{_Tfsa5d!&-N$-pk{B-zdse_%X$Pyz%mt8k(mSMONuR=Ot3M;+T{8C^|VLnsfv z5u&5%eBCpCSpRZHchSyuiM~b4^NM>)&u{12tGzCBoQ{w?iI;5*bO43J;x{z@);yED z;$rzaSoRT~wdF0QT2*_*?w+*IxOnGgL+-}+2KS|SBjZ$-`N$LX0;q;=-q~+bI}2h= zltd+{VqzXuA5Rg_V=b}%TVn%->J3UQY&hH>{rUEr5uPDLUx3&_{pde^fBwVipdDBM z&;v*eF2r7p6ZQ;04wLd;mWn00;sbfQhgwVbWBuk&_H*BL{mF@*LmlrMN0WD#b9rG2c`9Hou#7fLW04^1Vg}ZO zXPkyvQLDyr-fpjA+Kbvwau=5DY(7d+_YrR^m!JxC_^1x_vDoo25w`_S$oQf)+9qV$ zgQoYFUXVHeDvz=DWQbw8{_Zm)5m;I3f+p}_6^#O)HVVldRndVMu2Qk3&G~gEK5lrf zORjaD*JH;DNh337wfj#69oR9<=Va0pV}erYyIzW^N)aT7=TL1rl=uc#xKz-1TU;?r zZ%^Ne8TI2WZXHT7D@oSizgp{ia+Tr9eS?hJE>9k<$s$-(my2{vman(zl_+hR=GLj? zS+6UiIL@*+zJe3)D_2914AKdGa-<`w_}vmdx<^B2WXmOdv>gNeR>YbFRL<0fPNpX+ z>gXzJwA{_%%y2pL&Nq=WMVNU(^KOAtx6?(m`Lz0K$Nc2pV3|rq@fc=PSP;n&t-^n} zQ~7yAACoMFcYGUO)6QF1r&9`NCMqpxqqFcGkEZR07~A7BM&+urv6y_A93icP{0_bOYwbnl4>5td1#ojlh=CC0VV>gQQi!pO7cYZ?c}Drp4f`D zyn$4;8>2kD&F^pVw^P+zZs;y7NKl9XpJX+!6mt94HyrQ}4mfXT++TaH)bJ|WXM4L3 z+B)qmE+LeXu!J_K}wiWa0^{tMByOe|?7jY;67M!>qsKEDUM4ezhT5 zH2bggcgS1;qBZG3N`?iDCrMwQJ}gSPjLXH^7<8*}<8J?wbRSW=|44q?14qdGe2de4Yx z?!ffYI8uJ@wdXsXj`zgH4az z1VpxiWA|y(Z(MWrt0v&njD*B5YW(L}uV2m!AbNj9uRlNY^YgseeEmoI#6Rl)e}DWa z|JU_Tf7t$A1nxC5ra`u?|A73hAbZyr{oA&`E}ssDRzGc@&+6ZQ>VW*rFXzAIljrPz zpZ?!{i|GH5nJr}iDa5}^JO7<2$aed3{{KJ6uN5XtR!cB?=G6L$6CC1h&1O}lut1-; zEur(ZUheE|0WoaDvsEAXW2dAoIJPPo8>83wundf)ctl-SqKFQ z1CE`FBzfZ9I6IOm`v@=F$@fpEt1d(izf8xrUXQQeAeiUgaCPGBvYO{plKRctj-638 zy$KDwFz~O|dCj-KTYro{fB294ultWHcY{%oEfX8{berEsQ_twf>}wZcgG$YAy>TyW z;yTLc+?B^C=CGjW*|__{h{Jfj2j{V(!vR??6g1gbr_IOuh8+(NQ6u1%r(=bI=j+YW zqQYrO22F#uYwoUB+axLX=FybHxzz#uLF$!bs1K&173I9N4%!-U`WRZy^On96EbM1| zwzmkiQYA6jo$8DV=lz!qrK}GXt>fa?+WXN$D}7abnD&}9YeLS;08#<%`D~I3VKUGedrOjKbwx(^1qmLI^Or?;Z*ez?c_V#N@4|BK6wv|R zmt3_x91lwER)~VFY4F6f-Z`+PUm+`;7v9+>E}qD`WppLJnlZP2%cjjIOD?QAq$8mo|w z`YZY8sD-mx>ZrfCg7jzm48(3k5_v^^u`!$1qJ3=vgN!VZ5$3$r%6$8k1n;yT{l`Dv ze>@A9(jN!_0)Z$X2nYcZflwd}2nQm7NFW+W0L}v!fEXYaxCq1n@xUeE8gLm%0`34; zfMg&ANCmC}*MTe`4M+zvfEz$2a1*!%+y=6N0^kvF7XUBGsC&SDAQyN5;q<(I#!VP6B(0#AUaz%!r@cn;J9$T9yb+mHF*KR^E~ zOzfzRrl(3!n7~9v3L4LI4?Eo!#D5bEcbhXU9RME z7xyNGi=5CuhhnxfHY;z;v^_nYU0>C8pyXtv;O3WxR$JFC61tkRJtq)j(Z@QH0C zbtDik;P>rJRfBwVZyxOaXeSh_WGp|WK{>SMq*OrA!gZ&XTxEKAGlzFJZh~rtcl4*N zBtmRiv@_lpUDeCmBD+bfIxs&YBS|^8cuHSprAg(j^QBQ4t(Tfv`8NpDzZ7kx$`V)} zr7)3Yh9U;4)B`?7nluIitEv8JFuK8ck;!miS&X^Jd9g zskaTw0xKD>Vwg)0XPdqB+1ktyoGsoB>p?0vUU5^l+rR&bTLGum#WS9KQQPW$Y@Kh} zyd6kg-Y3)E@nOdA%CWEtO)j57KE8C$R}u`4r)OemOFvMylhKvnv_B8K?6Bur?b4(8 zP{E+l8chSUTgmn> ztr4;&<2YEs|Le5^($GrH&t)K~zn;^bZ@&;5gYTjL`D^=O$-l0D`ec2r0v8GC6CoGt zKW+AKtq>avWRv7Za`&`ZpJWF`+ofe)IY3}KwkG&Eejbuh$fZ0ym$4-oVDG5xon{P683E7~t>wU8Af$SRhfbqh!e zBtqr)60LTOKfdZfqC<2Oshd>EX3X}om0Fu`u*gpm;fJ&eWs0M0) zTHp!r6nF;I0mw1+ux|hwffqm%&5lw zFb5z@Z-2xe`X}QLm8*7O93u_X2*K47ob`k{2utWVxUF>49Wcal%)yE87w<1*F?kIB zLG}+%dS-a;qvz00-;9?qBuI=ey={l#bu4Ekr#{9KBJ6YrE)v~S1=n8hbI7&3Q6PEv z?Ap!pB3)7!l&gHoH}a`DG1*-&KS9=|Sawm-sC>DcqqfnMLiq`Rh$MvWg7f$@($)wP6V*t^+r4o@Qgb%y~U0hP8-#L5r^q zR}WwxbjzH2>g>+HgmOVG(8B0l`sOhAoz61r*X4v_k4BTVXbY+KWM}YkP}m7pOqQMv zgVlXFOs69DL1|Z(39a$9*I<2ZXTfCm<-X)J4&|IGiB3~+mRl3On%reTTvWBz0ZSMf z9_VS0vptz5rLJ7J=YzJ>^G92ZMVPBJoT^ew%tsNWH=%^Ii)dWQ%js!QecoqB)8up? zlP3pNHTXH9>XyBDDs$vmhD|l`sKVaBj3X4wNPm&-mCuz?vlp=g+~mOl)i4!iq8^e!vGa)L$7`imH7`A8=Cwa<1CQXcfM=2W)Ryf;Z~unyEXX_O-){5o zpN0RQzJGqSKmTO=Qz}}6&C?6X%faoI2=HSkh+#wAyr_ao`ia@3qRnD_=mOai&8^J4 zM~cjOWaGk1Pgor26MP47AlG^rwcXtS=y3F*Z0sEPKE9$_<+j zwGJ09#xz--O?zj4&~mFgMPSWga&?=?}Kw6<3iv0_{= zyJb&Zteb-aP3u4$-R8>LWh_-8OJ&E=i)cz{A5C&7QS_0@dTzYGdMuMr1>E&WtKH$om zh8^cnXHIrbmgIXG2VtO%(o|VUUH!R@!l@3Jk{kLyH&K{8pRBA~NE0>utP$rv*-h?D z&fLmt2z6fsoNzN@TF2*5vPm?yVX8l7DwT!>pE7f(R|?bUU<`QS8dyLcC%WKONqt?| z0ae-)n0d7BRKni#4QjhOhcYYuSn|Pvl2yp@@nOg9rvDu6>9&WyrfUwDIC1H|Dz6>5(EV z&ZvmVtp1$vUT$JRmUvLiA)E5eh3C2tds>*C!=2bybLZw%NK)w4)$$3XON{XokIuyr z6Y~di7)DZLC@U`VY-&~7c0F=Mrpp(HqFPTjdYe8`Hls3qKWdXN$i!@I-~%Zr`Z++9s>qGPZ`ZdEOk)q#1Us zwqz_xJ6gJB9pTQFC+WxEdVC;Kb=qFtFS=JCm$0@}LN2YSmN)69XwI``6GBg&77x5g zdAYR%!#O@3K3da`_^l1!bN^vt)3N5X+z0nlw5)7;o|O?}4Es21@T_N6HrNe0`5fLI zv_NLmyQMU??4sW`6FF*jF6Pp^&ER`i0B3ab8oQn2-SC;Vv^RZ$Fssc_mAbqZyro&I zTpF%pa+nI;-pA;&fP?Nrf#C?<6Q%uVVJbHSWHLgruA8ognc5rpk0ntLnm190brL$No zrm&gkGZAtRgJQ4S7P1!_hdfMQlz~?9xODeu^5e(nBL+NK_nU8|4|ckAJMKj5#k_c& z*%TJM>()*LFn zr-^Ci?$X(zh3c%vy+`il-E%b*5vhBp;<4ylM!@x3O-AUXiN>!cqo5A|(QW?yB?0yM zNB{4S+duuVfB7r+FKvxcoBb-C`+F2CXWHd!Ju*iN-@X0V&>U0i!Ya?vmET%*RFPVJ zl;6wJa+ti60#W2sI~#jFSXOO z+wMRpt~!Gj340_I7i)2TXifgA}$cUDu<@%t7{!92H&9v`#ywB>9Hpne(b?tg- zjvHy1*bvW&cM~B#+`<=k@%#b*C4y^Zk~h|FZ@!aPFZHZ%Z_CMRI(BA?TJge1LRm#L zLar_{+=to+@1SpWANte$nbME?^P~R!ck2&@g3qbd0jtY)KY=z0KMv1I6GCr*<;H6s zIkqlu7k58ir*iV{g?h}o;UkPoBp2-FzIJwD>H@0e;JD+CmOCoz$t+boyhK#4ylK=e zUzHfr3fJeH8 zf<$t>aicHKEaRL(xI1N+^X%oImxRLAy78{dh3xxt&MB~;ku`B!AvK4pW;b44Vc#i> zWjpck4xf(bYW|YqxHY+H!^=1r&p1^v|2qT8|Ii_v_qU6T!R3&&U;H%MgH03S_3`)p zG$NyQc_j6bWef{-s=>>zBY2&(1S=@S=PVjLRw8~u5udH6;IH5FqACanZ$)zWN#1Wg zIU?V0`zj6MzZ3Bxig*;ZMIl~2f6t@nW;jLxIZk(S!4lfZO%0`j1h#S7-p)wtRkSKmYM3KIi?PX~MDJD*q$M zKJ-QZB>6YV*ZKqUmxFBL7x_|ulYH$zAfFdx8-BU|KgK_Qe*9x_J?x_+KA{>DL0dL^ zjmF`ll-r@SWV6cp?$My;Aq=B=z4+xt5&WLDP>5rSXtsjR`(85|xu#9>MZx2%5~(VoO|Uf zx_uEuO-K7D4o6{ZRnMj}-x1FvyP{#L2^@sjsyPc}SM}LH(Bhjqz-LssNvt@5{>EUn zH+b_H#4^#Aolsdco1r4+qo$K(@*d6IX;Xd8mTP>=VH5Su3m3g)e`bS|T8Zx}bXqL> z^5*q3-x3*QzWv}KoHmfYy^Y= zVPF#=0*C^e0pvJw*h>Ig07*a!kOpJ`#Ewr6kOz=8&D#J4069(x_R4??pbBgU5If)< zz)k@137`&W0GfanpbhK>bbvj8F0dCs@krhplMymJl% z<^UQv0wDPugS`cC9Iyne032WgAnRgI0CvDhz#eb_904c588`*F0ImR%A2OHa0eAvl zz-ho6@Bw@QKL7)q0ls7ZRWtAK@zHoDZo6Lj2f1w$%S=a^ZR?NW@~bl*K-3g#(|SQO zi|)%_;=C?0CwIpbbLcCLn!#wnWnVLHh2l=K<3NwvGHu5!TOL8?!(C6(r5_ z5qzWheb0#@dpXhsiIXqpmHL|M>f%*(tPUCM!c5OIbm-$zx6Ef58K*|}L-;6Cd5*W- z_y>EM*}8nuJG;uR8)CxjJ3&ucsy?JeZjRs*Vc^ZSI1xQ@M66%8`RA5PL1{K zL8X;TPV$_ymNnkfE+aa*m@Kms&&0$YpqA_JIZQt5miCl2i=#Vo;j(916VG?L3%q9C zf2ernvUo1`$n3?F+tkZ2)ii5!1&8dlk_o%!P&;oDg0j+{=8!kmbeS|u$TE$;9hQ5D z3ER-IPJQ;WtNi7SbgkC(He4EN4F{Xl*Gvws$>h~*OF6!J_mgkajL*M+UcG#if-2PA+Nl~+DrJ@AUM?7NSW63e_{Un!(r{APu(|c}5{jg0rmRcEGgwH&Q z(aPEEz2(woHPlcEdI9wyLA9C*T(@%#N-&WN#}rjMW&>}ld6Rr81zsrz1wCE7oHgzR z3Tst1d$QBmf-4$1J>|#yI#UT3YziN0cKPJULqH;%v-o#%4u`uuh8+g3SO{dhxzY{O zHqBo11IJZ|A2umz6D2bhkYW^==LoaXRJJK;$yj zRVF@au-vthvO;x}uLr(sO>uLl;PC_2sx}3luUD?wf9^3;;z&~o2Tmb%iJypPI9@Ez z{ti{CT}eEWF$TJ+&-)KPtJ~PL&bd3gjC^vni}FR$DV26N$V!jWkqQd?hlwJ9nHp`M$+6K?G z8o9}(p(ou+>_xU(9DBCw49;Xb<&6H8Lw7k|Yd=Px-8(-rW^sw z0rpy6ureTozlkqrFE1>+Eas3#TzO8GGn>sr$GUa%E4xcZOUI8S4p}N5zH-wLr&n*+ zpE))Seod3AjZLv6;|dC|!qai3#zmg=l*NSCgC~_B)LyD9T1ax7^GL8$m;blSFa zIf0X|T?da8G>=gw2A;Zlp1dBp`=d9{RR0>Bz_Q!S!ul#FBd^ZeW_+q3|KVf4{q2Wm z`g`dA{22fJ&-8z0rHRAQGLAvzoT=!J;i3TDFgx#K_M0d}GrlC6$rDq3y1phmOWjedCu8E)ZIeAhE{yxrS8P*= z(adK#rLJ&yhxT^v9I8y=In0|?M0#*BR~v%)xcDK{A|LY?rI_1wnQ!BHg!7BSSezQO z$$Ey(*F-oEoE7WI(}G#?^~b7?pA8grR^cY!BI?yjo+zYokum)r^UMz09cUICYE!aw zvv-z%nUnbd6m88J2fEwG9`A}gQ+cK1s*ez{gDS=pn6iSH@DlStb%4L=WIpD;SGi*+ zt!aVI>q%Tm!DP*N+SUe!-KZ?0{D5zC6))qcd%;kjCUM1>Tulqw%rM^0ENfeRL#nj6 zaf6w6?C@ssE{+8KEn`fHehuad5V^OO$cyKV(yyiP>nMr|Jw9C!D_CyVX(zXMYKXSz zys*i!(0r|d)e#Jy8$?Q!3NcqjFA`KMm6-;5)9{qC)l9jViv8JgWxfme1$A6W1T_Kv z>v!d6uV_^lN^1*7=+&R0dyQT}RUdQ=oY`A=wcCfA7*sfiS|f+Ox%1{*51dfv#QKu9 ziHQMMmJ^asq*>pdf0Mp0!rA;RMcLEr073qdL{JJ>`?z0qwhfK5MF#QYe0<6}tbOY% z-6y-jpUktEm0Jakul~!WhV$(oqBs5?+P@$3FaJC3-{RC-Q(6}0rrc$h4BK|O4=yG( z2?hFxbojzFBD>>Kwp@K!z|L@HsZzg}W=)b~Fl}qo`iJEE1KC1)ZAQ`-j`&ToTy~Zk zi#nC!UhpR?9_T$*5mTk_N~iFXSn zox(MfP^rVjW};(_@6ph8c>1Wz_C&Vz>aDM|I7;40vRLg|Emo>|yB5#4@v2zf%~f(^XSc`b zWS!Ay5vh&axA?^?RsCzrC`xIP&qa?OaC+aS&Mp3`BN4s4EDlRQI90mlG>0W)g-=XL zZlQGk2ZzzuqU{b^s`NLw3S(ms5#_R3$#?$4#^1p zHg|9%2dt#6H78pb7q`ns?pQv%{Yw9nZEUnwEqe~H)Z1U5e| zpR9SlJ*qBZ+l2VHo{wjXM0`dplMw46#LDUGc)-Gt5b;JdZ<*u(-y@M;e;qp#$yN2M zbcmJF=d{0#N{OW2j->t)+1CN0_#jbf*Moe=PxeW_JZmH+;*n?mtUs670c@!dUsFgN z-HtzJ!T)7d znZQ8bOHBSrs+tF>o`xo|2g`D!9qNnUsnjkkNB45{6}oeA;$Gsh*1Wg{U4xi2N*jEg zGws;S`C64!ZEue(Mz1(wq+k=TbzLgEtiFnWld(_gdhJ8Gk&o^z%E~9UCk;mK90TPd zIk<9WW&Iq=j@I+Sx|P~J-ue0?Ec`a#^08sID}l>B89ebl?n8Oj4b;SCkTC{ChQLXx zP`d2}+lLNG*FD`QYV6!X_wzr0HzL2G&0~kza>Zhg5@PrJ%9FJ8T*~|zkWUb zl>h7cr%!q(ME8VjpRdZl|8#?El?ou+)_*{L2*^hK=^)#-zb^k%{09-p>s!x15o9xd zk-z1$9qy;H{Fx81fBeJOKMQ0dHZ{n07WV!?0B{Zn1cHEI0I?+rg?$(h4nzQvKok%S zoChudF#z)XUj*WScpw3|1Y8D?e3D>)1xN-`0ObB(1+D?tfixf;$N+8tnZQlp7H}It z^0)*0Y~U`C1Kb1d1G&HhAP>j~3V=eO2q*>~0wn;FM;YwP0W9zccnnkkl|U6x4b%X& zz!LyD<{9kkfagFx&;T?7FMuYX8E64ofi|EW=m1^uqO%$R z@W3GO3V00+0mHx>;4Lr$i~?i8I4}WB0!Y3@*iQlPfcL;OKmtAhWZ)w(15f}eFbmLt zIb;vV|9Jm?zwcjzKNY{v2wY2XDV8Z3lKF1hrtlLr0-f(tHC|99Zfy+3AKs}KG`u(Y z?%IP9`}T%#hVYgx6MO{SY5LUJ92M@z1T2j;hbq7$Nl42kjKgL9|_K1u}foV2%cA5?f-r)PKnyW?j85M>N>*62KqJeI?n!71k7a{Nl5N z%O}CgV(E$4*@QjOjqd~#EQ>ouCb+V@SQsN}>wV9nd1+6vI4mK~NA4YFz{VF#TQl28 z-H0YY46h0`lInQ!j8T0mPPOQr%j~u22gE`Q0e?n0pyr`*M1Br0nFY^#)-{sXsIY)Q z%gk)dB&Y2wY1(L5masQPzKgV}$3#6=RFhv|lXHsN8pnamKq`38TCP`3lOo0^49v1n z4Ah%l!*#@#o22T`p`x{?InA|s%yjHa%Dc}98&M*(ITw@}{p+AFpPT+qpY!7fL!?dk z4*bXb&>#KJ=#QqE!cz;QBdO~6r+Lvqas=BMwbBH=mb>^CGs8C7%NBx4@$LPAtNfV` z#h|uv;v{{TAnpcdmFcTTYVJVx1`@*`5mrE zwUeP%LGuwBC$H1w8RAq2K`?@K~zUjW3N7^@Xx;kBX;jEXe z>Pk$@GdX zM=|+V_fPe|e|O#~eYStW@az4DnZ{BHJi}G046a$Jku*BO&;z{s0ld72w>c>XP77W!$yC+Rt&={j{)X0kICji8rb0i8uT94&e~dcbP0}M< z<(yM}522}Gc49nr4#jmnO!V1I8|EXKMslNwV4jr^{zoIu`Su6(qy71@e)PY)esq>6 z8Xp*yP24f~Xok74ZCZ?<13E&Zt~X^oZ)mT$EpA0w-cn|!ojA{^29wOVm#};~clGn<+n3P^o?qmZGiEqjJex+@g{jy% zdyO=QBAY4H#?5A8>nReQW3;D*7!~7AYN`aUM8X5dy0B+Ws;{bO3otz}W7Trw!giif zq3Y$_Lij-J+36<7^b@9~Qaxm6+}lHTt9D#SN;h23n!@H(&;ESvM(tHyEa{6p=TPHW zp9CslDwO91swT}|{v>cxrK7|e5jZKWDv^Nos7r*P9|B~wMLKm~5wYf+{rgBA;~-JJ zRo8J@k;jDf)lQ5(@{g@(Ftq#_u&a?P?HEIVkoN3l6(*at+3}e-e1r)q$+t}QB*+!U zr>uJrX0t(qF-G9dkt|Wv&IL=>uTp2F%NDAjaGOE-qhwngvqnsJN#Q)5*S77mA?~>l zo@peQkYcqxTjCkp2CXJ`>C)G%`@S{Y`Y-w}$glJ52hWf8<461P-)%o;JV=(rj!-2X zh$lA~p>P*_>jc|F_cSj@OIsJE2VJ;y<5&%UMW-%}Rjfx*Vo};cvhVds6KQiORm?}n zUJTKVU|g9R1(Pz1RBa@}{SU8vXP$b9xG~LQQCURqp`rh&PXgiz;x{zHz>|5tj;EQ7K*)@^Fm)Q~@dc3kq)7Xye zwkrkATHI-#?B9c_rce!R%bqUqYj$(lBllL#x zz?~xZ`WlZD-mguMPqJ$ynl-qStY}hN*5T&8G*4`&Uf%sFzsB2#v>m|8Ys94Vd`w%$gr(-1> z_T`NDHNs_CSPrw41CsULxYrb3S0I>Q-_YS?eX%sMY^v)1)9t(voQV|$%v;INx1XEf znfe~|N57u``l0{+j`iQyOEEQA9*I(A%1%$kfxW2%bzTm#JyQ0E^ONoL?NvJQVaK)Y z#|kPpm6T|84%w)>vu%k$GwvpX%4iPNwXCuKMhQjt1c9u&uWf?H4T@VyQpkjoo|FBw zMB#0bk6RR!j8qQB4ozMBSY=7@Lczn2=B0YfUX#^ztiZ1G`ziDSA<5{c*bB#tej9ti zg>(!K(qr_rBUzK3@k|iY(dwmV$K#O1#aV1OA9PE!FlD25#wjJN z)Yi+FEl|^F+|GWUV#*F%oZnecNL!^24>F8Ng4P&KTgyZfbsWQz%~T1|nCC(bv}d$B2*jY<(eTb4)1rKt zCNgt74E1pig|8jUfFpL|QzJ?(L6{!NnktB9%<<#)4X3EqQ&e$6UVfd}dRTTi_zWi< zG0835jJ1>)Yg|QZP{^TfP_d?N8fTl-n!-FF&gKl;Hko)`eur@`eAZXE+S<}F>21c+VCF65Ul)l;5;)A<2s_9(7w&=4zq~G&>#19D(e>3y>x`54-!&mtU z!k36g7}Sobw{&f_kROu5=BqSF6l3k5#;=+`+Rq>3*Z=PLb=KgnXl);dk1V0Xu-Uc# z_$bSW=^c4?x%kr?129>8h}&P>X=csy*AL5fUef)D@d>IPf+kd$T!Rn8InV$z3H8L!}*+Yjva2D8^K^j^<~*BlyY+Q?`(Y ziB)&oo0GEl4&h(uM5J-NzIPe_MDcjxsVz^m7GcS@j!WiHF9h%mG_GjoIn>k&H}gg0 zgmj->6c3VNYKWLh?StpE9>P#sx423T&RQ)q7IM|+=4~mhrzipw87?yy#E^(r9ni&8NWh9~ z+O9_OE=&RZPqKUtmCBntoA#9U6gqQbed8r%zJ@>d%aF$BTekWB8xo`Hd+5LY-Q(XM z(!htJa^J{R&`IZgdjz<%AzR#^@Pbv{T+A0 zm%To7JjwEqCU#zUWm)mbsD@FkZsU`sf2MXSwnTelB`Nwtw%o4*NJ@zU$y7mE*YXjR;n5ewQ7zG|xJP|i3kJeGS6whKv>sT5~*ln2s8GNeGy8!w>)zws+2Y3lVaj`d!-+YtDbQ6ydcmOz2V^fo+7$}vb$lz^wlaVRQe8; zt>mnM>RRfCM8D7hECV@7mxv}|NTS{5hkHzwf~|3Wtsxf_vSX0T`dmn%m; zw+^!Zfc^o6*gt*IKgj(9@~hy~d04)sb^Nw8U`F-R_H9S}y{Uc@4!``-oax|RECA?% zg}@?UF~9&U0hR*GfaL%qumV^KFae1D*ecks23WrQ{mZia`2GL>6_|hjBk?PLy#Ig1 z4=^%5Xkuz{+|ufoj-mVm&IJYqhlGa3#9oYxPq=hB@p@W%#*NIIw{GV?`1AfV|H%5; zMBZ_x{#i^FPUY-6bK#bJv17JkcNQ1+&!YDPdFd||vZ?BjyI))KEXWvla5eLwY#hbt zM7sh*g_*9NL0Mr-UY7(L*>q@RYQiv#gI|x?c5F)VKAqu#)d$a`7AC$!N2%ruRWy!c zgA#i~2UD5IwX{{)b_Y6g@+KKaNQE7#mW71&+$pJ=m|0dfJ`X8>4IBEA+oJVK8;B{x zXyR<@IoZ@;nlQmU!~4eJk%E}fQ*U!Cm5iFZ)TIJ!y|yu~oni@EwnT^_V*hrYghQFt z(crJM;sx1cP-5|H2}K$#nbd$RmCUW`>q;EJ#6~*exZCwG)N3CJLQ5?# zA@4nw)3dIc#@jxJ%6)G(%imnLgYas`k?PxMDf(2P&i9iwS+JNJK>85 zXBU(+Xh)8MW(4sX{d=pLHbX{;pO2sQ9zP%Pdm0tQC&$leku_K@pwT%6x)7&d>2;1k z!acy+ob@0CegM&us44leNBF`n=&zgy}yJu{Edy1)ijpZYeoy?cCgT2Q=1CuYiQ zZY8*&>(IPvvb}dJ(YGm5w~=&lU#M1{2$$%N?eCwWuDCsFREw$`bB^#CZ-m(Z^yM~_ z0=v-c&9dfN6?^53-{1}#<=jnGG?B29-9q-PkqYe6em_#iIkbpHu$GryUg&$ojF2%wSO9y^x+cUmUKc$tv) zXAEM)5n+xo9WOnd(v6}&=b{g}0a&A;X?U2dcye@H zGt{<_B_MPK5`5<~KlT8ah1#?xz_`mMv-_k<3S?nM$5I(a@2~zW!T6aTA&qXk=Zp-z zZx<|X)ks+~<2O81{%E0&hF9K0H+EM8ti{b)(XzNCh1m!EhralF3DYc%+4ZPu%HgKX zGmo6kE-?%#M>VR<Ess zj%{Y{dJqBv$F|a(Rq&`^-@Mxv}wbFA${BZ-q%!rjbM^mU)}cztDE#z%~>7!4}Y zg2{J>LoZP;$d}bz#LA+N4VlLoHuj4&(Js7-nGL-M5%?2GPVMwLy~i%$E{a-Imo^2r z=VQ7uQC;tK*saBOI~kNclA?L17iP@Hlvtg%$x%za9j)A|Jf7?`-#O|na{GhNYf&L{ zHeBz%PY7K4_{UO;qX(p-M_m|ecO=R>S*j2-rdL$jrC3ay4Mfsn{awFEjb*ck#H=c7>AKxb%{x?fQ|R!s zh3?kw(-&?*?p2pWZZ~)BG7k>*PgU6nN`WeyAaCho^24k#A+zDB`g#4ZOKS3Ihf6Hw z?2DvJTAv+Xv&2@PbSE704f`|aljhd7p;^1Mz>8ELFnM&rf)$Y6&T%H^)4?uCWx3m0 zU<7#Zaicz+dYxm+aoWTw9!cUVd+P-1#OkYgY9Eue5ePWV%ZsT_dJZF)3fWxF?C8!F zOgjQYUfo8iW-ju%?TEcHG`osg`Pe^D8xU5=z2hoDM_66_xgSZx)$0y`RQJZw~;*WmJJeGykca-+IiGq z$X(hC+du(J4Cj9brkB{#E+7uSp`!G(C`*lJ z%|4L_^cHQD_z8`;UBKle?zj3kY%{t7C=1NG7VVj+p8C5F%w0+f%s9=s^FNL$H*&Om zeY%aXXnHw_Q&ZN3x7R)oqCM;OT9q7gk|%C|$<6<<{O*O}_LXqhA z;+e?~QD<-#Tpl}?drBZOak_X2)vrhPbiR0orXyVrBHjW_Eo+k*SFuGVzE1M=i z*uj!%=ODQxzw4<^mbW{$#It#CH|BLK+VQM6@v+To4pZ27y{@u7>fZ!s3c~bPpE5@Z zSbKwQ4w8vQ{WMxIcXJlKpYJLjTJKmlFDV{N`_wySlC6=^v|jet)m=_r_GK(G%WzY9 zFWDp%SXy$9MjX%)1(G7(dzCbuWTTXp8h-_%@k)%;kxYG> zE6}bJKO_8dz_DY&q}0U1+!bgZs7brS_h~;?O~P5|bBoZ?GGwP!_vbw4EH=mp6tTrR z%YJ^DRkM=?50lL0Gs7|n$PaLVC;pvW>Iv#)n%Tr_AZ4jLc(bjJ?CbuHd>;@810KIb ztNKN$(4GqkVB-3I-22uiK=M+cYm)kCn;H7lP5G*E*4r!<=ipo8?0h2Zj|T6maSQHr z#q4FEZHX+lCcU)ul;6bwBtc#MWt{dT&`O{_$^W2&z&ypk>xdSdi8$#*LH$Zh@nI|ME2oc4_(63qJtP-D3*G|1N;fL>t9$|0B>3@7~ktYI=jWLSOE?!=tZ|HV& zkQ@aFDTK6QBrRAKgtnOr1)cVU2$D>lXlo?p$QT#An(O#b7pOWnNPF?xK5=jMRxDzG zK-P0gT#GNS*bV~$k3-mu#LjA01)|02#K4^sBI~3I?KvH}m)tH>MABN7#RIlzu<;`g zhcnPF3Or2~KKXv6xybfran)Xx+PT<2WHeeB#8#8@LkprGHugZZ?51gsv)B(e+_q_A zP=3iQUe&j6(wRyA$y4Fj&S}xCw#185YTWZ=pO3P|BBXT;aj#5O zjNPlZKC=dBlxG$%G;o^W0}lZQ1IvHM<%8ugQR8J&be`O78_^5V5R_C9tU zMHivSF-mAOFu=q{_Z$8uTH^)q_&v#A24XTFGftm48npQ- z0@{q~Qc}@@@V1~P&Y_8%Ole1gi!bHFb(+#9-36(?a*y1SSqrRI|_9cVroq$Ub&@}^f zdN6NpoG0{fl3l9al0#CtrALLB1G}9Xm2XHGz+vE6x6i(!6Z$#f6ac{f)&7zT(bn6B zjDrqp@frnubma#M9Huk4iZf%`YyJEZ^xG1Sy3_Z<_k2RzV3v1#BJNtbC>#eYp~LH1 z@Usx%y%4xd8)&FW=}{1tD6?st$O!W)6CFE?P=#HM=!?(-*RK8r_MF%i2*KIs+&;F& zc=074ptN`tqMwCnLC$|Fv}q}{Hx3vX>OLoML#KHPKpJBE0$^{D`Rv|2C<%-M8?sW4la430rp&!yD<%{rohg-smw?tS)Q;nF|5TLYI8%+bxQV z&2MEE$kDe)-V#eSpGgiZQA92c9+fh$B+$#+MKb9YT!C1NfwCPK$DJBg`G)OtV6B|B zqkN;KLK`22F5n*ywUM1umTl<2eE9WsndX!Y1|_%wE|?Ae2=eZOG2!Q0CdM{4fKGUMabEcT{-1EJhAuKQ1fKGd)S&!^fA&0K777_vvKm(xgua)Pgj>$>;+P9BIYiZV&1vJ}mgcg|I`v9j}aPbP+ ztntb`qrb$^uR75)m|6BJIJ(s1s2{pmnYB5o(Q9hu*wtPoN4I%>-)GU-l40nKW?(mH?=L=a|k!fTnm>Y^pU4 zV|C28$=*SxSkeI%M)GtLu5$#irKN~W!W90uJnVLp!iUetetY059d&PZX}85VzEU|8 zc`jL7)0naOab*RG=Vq{G2Se0{#DN!kppJUJb|IeU8kZv#fzf1XpKeRnyE}x-$Z*dj zsN83v5v)KS%FQX&*4x*6>Gk~Y&9460jrL#riIN-~Jo5L|J4Wj8j&5zhrUQ{62oVGC zikmsuS{k^q$ygbf7(1{T7&_QkIyoA%nwWv5WF&d{41jbD&=Ce`0LH z0{;X4+S}V95y>l{MG52uc>U3=1lah`{c!>lbAU!8Kz|O%nSd=$P7o&;#F+x(8~||w z4;An^CkPA%fm1->0TB2KvTq6}C0vZ?q4M0{3y5a;~ zfk9U(psN93*^mQ64hMRtfA1tOGbP zaBSevz_G3%cMkF~unqhTq@-LyZX|Ghz-fW4fq|5PE8xBYmkX={_%P*aAms|UkHDP< zZUC?@V0Yj~16K>&O5lC~%LKj++zwz(kVgZuWXLrDiw3?4EDKl%aAM%tz@e`oKM`ba z;A3DL_`3prG2li5*9V*y*ct#Luiu{r$mM?jfgw-c_umY1_1}L6;J!nC-tV^(vc~Us z2l8uwzhKCczh497$N#=8$Q67)6XZGm{$=3i0oMeait+>=28fA+SRhM>U_uzt0z{5T zB3=1HBtSJEHSqD%toA@eT(ZayBMajG7%XUk3`#~lQCMu@Br+;AJvRwe^WkN7jYJ~o zwVJvZuycAM2<6si`)W)EV>!r!TaY-P$Y%=$v05hYzn00BMG;hQyuc+nER$Tzm5V{W4Po9`Ln%P+Yj%r{?1Lz2HDFBWk z1VuFz)&Jj74dHnIy{Lv@LKu$KJ@u#^LuR0fjVB9s!m7|6$4h-_0W+m=H#M{40+LK*VO!IR*)fguqft zCiGTjcSjI#YUdVK<@Cf*h=sTGDpQF^BPesjKaTq>oX8~ApC(h2Klq&2;hkej+^TFi zJALYdlbz4vK@4(4v;?XJV+Be%vhoBNKVd9d=?-|mD)B`B1Y}bvlA${M|E3QAe*wwA z>hP~2NPd9$;<1OT`Zm&~?m1KSQ++(Ms`i0MQV-UP3z>KqWL3)KE|ZZujdw=RfRcvp<6RyZsEp zAmyfEh|Pl7&qSq#y9VFwXF%(w?g?X{L=$LyXC&u`#aGSpi~YPlYo_|SKNN?VA09dW zOJ52jBb7igPX1UDo)>o{Z!P0+iDr%YEyAA}(w!*jA6@`xhS2qL8bCBuPD3FLh4fD# zZT&|`t0DSQ_=emf7f)cYUF-^i7}CAF^Aa(nzshM0N)1omO3Jt4SVAvz5o_|hQ@Ip> zF{Fh9P7}07jC*3346ve(;~2*Rd8~#8WNPzNpDE`c19H0LVLS}XPxNna{cKqGV2My{$T>?;-z@J0)KZ1G;f8{O%HfB{v@r zwOx{oq`*gj{|R3)CP-uH0ssl2YvSxi29`!nmQH`+EYLVRG<)Vhn?3V?!LX0}9g;;S zBCZ&|!XPw4(I)^TB|@>upG2AhUb;wpj^I)P%v`Z(GSy<8lo51aH6~>u#}m634+1E( zWLp@kvdM+UK}tEjRSb&h((z2X{RwNMA?V)DUB~+(#X+i8aiy}AG?QuacggZ(U$SUc z(iGU^Ht$jnCyCchx1=D0MrsY`%5S}`uh5V9sZzlZ7Tc}`03SjGf0xKcHda;!P+<&> zxj|!Y|789D5XSVsBHs@LBGKuEWZ1xCGkGRsK%(c=8o3RzMsH#$;9!3ui<3E4Zd<^D zKoFw44vw~N`bL&!wuUwa_D}ThaOs<}+FF~0DJe+ZLMDPF#NLvT7FPjYAy_6rL;(Js zce#HIydc?1YdHW7aj+o-14>PU>;Z2gA}<0=ql@-DQ;r9=DU765LcEh>NJXPM1C#mW5TudDC{!g@%@Z=XI?# z7Z0xHDAn{S>?>i659RV0<4mHaxi2VUQBk#V#;eoW*sV+GL(Q>kkz`VGYtv>7CDTVe z3OFw2ZMWJ^>-{LE$G_8@f|F+Dy@|mL#$m z$%^6_&!f-om~9KwC8o0^TMx4D9G{1WjNy+H>l3K^gF>%pZ!-Air;|4EjgczmIBO_X zXwlRA33Tw2N^6Luq@zp*rSvWf2RfmCMLUdnufwLl>ZF9ko{qAiqN%QYyX_^CL#iVK z6)KFmi4>}AatWL{?4y~a`_$PuzGljFaq*Stoxb^NEa?hZlV}7m3igbX5kX7ugpgF5 z7~()>S0r}v5MA`^Vz z$yWOYTb>#JH>!c7Pyse1#HF=!u8B6k(8>j;c@dyUyakas+z;QtXUzq)zfdVy>T%Nq zcrZXR5(?twqL2OmoT52GNU{?ENDc^HlMME!%&YG?*N{U&vooPN*Z;Ac>;G=8@kh?J z@~^VPAA|)O{7Vie09&Yg80sE|x`%(_ z9(Mc{w~#z597K@t>tF;*w1nOfgYGaqe84>%Ya|wqE(k77#$4=)W&o@`2yR2E#oi>y zC{anL;@d2ao7F52Bnbx~lgic>j^^a}=u<^SWe|@~bRQluC7m zlgiwQ~mjb{VLe~U;jGXK(-3;x2x9Ff!8R}kzx>x_~Ui~4JO@2kUKQQ`Q zE!37$%nu1&))QlNK|Bzh5u9skYt$V9$)Y?~HtL8c6iQtFFhbRpK&l%z%WL| zaIM)l!@f)oll~`-Bee3_H0XEWr}sW9B`{=?mC4i;45ew>{nR@v_@b#X5dO!MbHFV7 zo2+(n{QrqT2zUCcL8u?9=7iHDv^wiy^6>q$I!YJ`C5#%tPZNXPucOP zkT*oc!*Q~eP>XLK6@{o^(MaEtsI=$lEui5bpPl94yn98n71^9qGc)A6z3t+jtVJ}L zZbi;-yY>_>pBrHXlJVK+q6Sc(+Z{T@|L-aKAz2|Sea)?TA!AgiHGbmiR zVt`1m>M0RlHIh*Ir^I$4**IHk#>?gfFY;z=q;*b4q+zb0Jdhqd?O98J{JAPV1v}QpD1BxJ1S>kMiwQ3pF7pvRJczB z?QT-;V3bc}$B`i>CT;dI)%izXwbX(ZAE$UO4Bhvo!U&B;j$+KJs;BSFAg_*s>3Td0{XCb1*b*c=QGnH==pov6Lq zE@ZGe%Qv?F?r8A?bZvr5}v~0YR(e zr$#xQ#zUzr#)LyvpEA&>olC~@ORmSh6Z^Q?N^Bn6+HHc>+lSrE_zZZGuIpjOEXhZ% z{3>mAOekaGny?QtaRQ7>^h$3F7Ft-s$+GM=Nx(QiR+EIA{!&UGhx+4B*C>`5)d@rp*R4s0e1d^v0lF8~Wgk11~ro5Gq$X?&DH11c?l zrAQH1;dLdz@96if{pJMIg5#%m&K>o&x9cfDyzGR&4j}kZl}oG7c}A?o=zj9Y1h>(1 zIwfez_hH!-5#|}}2vy70Ee}b+!&rf!?j|Q)3iQSJyiftY^?+bWlvN*XAGFCbH}haM z&Ib61{1@HC6nh|c-cj|b5mO^~ZsyNfoCzU#8a>jO;`~=7$APGq+s7uLlasX!`YWSR zh;@IxrvUjlAaWScNgzc2cQyueZq+xlb~HAzH?aI&If2BZp@Al7pa~jig88jX8-fX8 z#B@M8!9jdM;p+z}*5ciHK`w+!Ez9x&W8w8pd=8D-WMp4*b1bo7u4Lt0>2P?N#Mwf7 zTG@DZr2a@Zdpe+43pd|C*}?EloRI4DxG4vNTmW9Y_Jaurns@ogGNMuZj!dJ^G-{Y~ zS8jq-%XI3fzPe*usO5;|VU?X?70TCI1m&ksX_$3pGI;o)^i=T9P0?E z`>9IfR-Nzu6yO68BD;2M^1i(@X z3-c-&hy%M2>l zq3u`xciXT0cZULg$o1ggz>J6jOVPl-AOgaGgaWDz#DZbj1V;)vaynxW?)iH%>>5eL z!rcyjqG^{4gaV8bBTq1>2cL60l#?*-QFTQMy7=$+DKiY^NXNUYneTrYj$$ywGnP## z8hA=yqo7laZ898)_bA_z-@!;VM0JqKF-61bVWqL3O06u9+0UGe7a-$#4M1>1=o%;E z6EkPCC&qVv*W)1}a$i7&`M3K(;QUBMB?fT}5EZ;9`1rtSQ5x^BNu}eV!mYmsA+O0_ zgRI8kPkmybK2NC66YBH4&gc1CBr@Oz41*4k695N-r{ou4P=5S9qM;Vbk=+wbe%l}Q z#5T7to`FpdzR}LOCy`O6I^iUaPB#Ab-H)>;wnhVftQ^JXjB%@7KZ`^nL}AVR+D(Q8 z;17R^L_V=`u@xJhJE|Qz`nfN>qLL+DRWuqG3*N{ zG!Vl1`>OuhNDkNon$!SoB=?_dB=_H~$^0-&6n@ua$U%T6L+KlgM9uFht(@Hvjt8lo zv7-K;^os)s(A2Qe>3JKJ)2z4w%9gDv^79p4rMx^;2wt!=?w-P9M!=Q$>Wl%Qk z{N6jJw`!^TXF|QA+;{p{^8k`%`WK-NfYHqPKOoS57zgCOX*lf>c5{tqwd$W-asO%@ zB!Dke$^fPSp=*o-V`l?PC!ip5rT1p zKT?__tIH1+#&p)T%BVXAg~xm!v3jv94oG+6YJ8g8A4d34Qh;&HP(F}QLKH^^=npb%;$$*!tx9A5%B}CB#>+iq(;LL zi;5T8F2aQY=0t8XCbf7Bx`?$SgZ)pN(#fnZDlGw+gwQqI0&Hw;Wc&wi!3Kh6AwZkO z|EHV9|99K?5KIUoR{f?CAYv22zfhv+3_>TygBRw=?hM1YsnXS}oFftTz0qXcd`~=z zeD>EbPZuO(aP{5Qv{b--K+D+mS(!bf&Uj&?X-|xJ+R@0{QDo|TjMO*}#N6AO5VNej-XWCq&P=?;}GL(Ba{;Eh2Cs!-f1I!9S*BCKiCu^fW zcf$W}#6YtppxF}8Y>D5pC4Lw&L4RObXn{|kW{HHL;EQ^)$5M$P;^G2s$*P?8aBML= z97fEXz6cEY;)E|%kXkDvvH@O)+`$+c>gsdXcteGZd-vY8Fw_7w8;}b9b-O}^1SYZk zNd9Mq>X{Gy7Cnn`jWi-eL=bMgohW%2Hne|iZA#ZQVj7EV?hQUR<( z=o$x#iNT+W^1p)}U|7%?1T+Q#jY0evBk=?5rhfoC;LHRjOPB*$l0Y^Em57ixe7?IW zM^@+eM%ZSU)UTsxZk);-fQ0+wS@h8!;HrLaX%DpI!=M#02bufBBP&x##R;n;lOiRo z45|^@oZ2zoWrDQiTSrCw37+>DI6fu;SccGbc(yk-wt#vdp-ncRO*a0i$;J;n8~+K< z(tz^qhlVW)X|K~Aaf8%+mX~8mES!`)(DE1%-tmA3Qh-;*urCoqj`b^|>f^y@zcse! z;8|~3 ze!{n7+?{k=)exR&oK`x4HDX1lzqUyA=Z&vg^_nRX8EGA9m`e<5b@dL zV#K4-%Aj@$KX=nuo~$*OQRrsCHfI9Ktgg?!bus^0_Hu(8W7QJ?^$@zIWC2o!XzyVB z7mpe=G6#*!K_he5Mdt4OK>uSA5CS>H1H{K!!XZe2k{P=V0&j!{vD7nKrlh1R46V`9>SKAopwK6fc1EZ@n0UR&b{M*=!ALC8YhF1{5ewh$ z#BPqMj?j3byqhu|U?KB5M)u%+yt@Qp!L}LqGQ~uxUb#}VD~5a~Ug$G}1u8yrLKo+$ z{+>`_d_)+A*vZ>FuoL1EeD70vC}}cM@Cx@6Wxu}GeSNFCMXabT_ycb44Hc)3EgW~t zl18{9HjCho6fD!lRTP7j55qr;ju{VwY5ZL1=hfTWl+v5qQ2LCJY()LGgyjj*n7oij z;~lPK@_2+2*}md81oV9Bxcj*QxP=0a5}J-;K;KfJ>I_8jeFQj#iLte@{rAzMhHey6 z3hES6rZzxEh>^XSts@1)6JuvHBjfwF)>ifgE{w7wBNPH@1<^(VnC)TwfeQCUy{6(z21*5dU{%X#+eGE36>_ucWa*63 zZ5At4JZyBfOME5UP`S{F4*Rn8y7zc2dqHM{Vu*#u-}?G5^~+v z+rO=2#Y9u;*NOGlJ{ArR6pp5U9H#{}E1+ft)U3G9toUVQJq5t&P=RsO6qKF*Xymd2 z1j$G<>E3-dnY|wBz6p~O#{uz=# z!f(G%x3~cV5{CHsf?z2HpYqxnh(}=GQt6V$$dL-65Tiq4^U=zMvr1{R zXxY&{h{j~ro9$CI84BdM$3()9W89xfNQ~886l*#HnGpX>Hl9iKnOua%ZS5NRv7kqa z?(&3(Ss!vqy)+K`4mZa0bqHCVjyXy+a_o1b$Io6?=qLR&R)_!oywV>)J%n(tQ4Idz zM}Rg3fWjUM`#;0}M0-TyRB>X*q;?>~$y zYTf}pB!om=RBgbHE(Z3-Adx3FhQ>c)FDk|cPu%SKj0J$40M;KJ!fVy#Er}&?E~^hu zd0tMQa5&2w7FciOzo@L0my^f}D-@P@M+^$jD2%ZM`SaR=IxvxF^o3^;Nic3QsZ7J& zW^&4TheH{jlP!!aKY3y&OLDIY`<~Fpx|Dh?`WYHTrjGcJLth7;Z(j^NKk~gwDHc5B zY5G85#BwLYc($iuH7{&bTq3kD4J?*cc55BI<^V+8L~vC7s`RCE;H^0#4W1ss*y;Pt zT|>h{U9spN@rYu`q6y0I!jQbPVK5}_z7L2uu={8bV=g&5Z9!raIkAoIk}@}ec_$SI zFj$P2@` z1?G^YMk4Z3+~Q&*bG=%w+=mZ`oC#d1WvfwZN{E{EzKDyRiQwdOTG55vTFaUtc;#A_ z)W^e7Db?#Rd&h5*!a<|a;`GeH6?FfSbChjlMh9gX26;~U?W7*&Md_>Rp+Md~#L z=QZ*%NNC+k>QBwa?Y`qI;Dggj-&G!9^NJGj9`T1%*oYE@@_976oc88z3{*O7*|!pR z1@<{cR?l^~XAJ5hTIQOXr}cftiLn1|L_<+X?K-?vBXrTS+p5H9K1ExIIZtBw4b2Cw0hBeIG;{>D zouGXjYwttMJ1ptnjLfPpaXNL2we|05Hhi?RK01QuCwussv+bjZLTZ=i;#P6wRbS@^ z=Pw-6RSvv%D^%V>E(rB)f^WBSQ9ivob^m-zKo)z6?tn4Wo)E<+KemNGv}1W6!LNG_ z)!TF1%PE6|pk4YCkF-vMf8VxGaNk;&JuAJ+jTieo>nsJ6Qx-)|VbL$psZGw9Pg?xm ziHVhbTW)uH7DiC1R~l7aSd4{N{37H1{jU?+9CjxKKDyC&BY0-wG?P<#i+$m@ET<8q z+FkVLpKF#CgifP7I^7>iab4K%u+J2~Se~2E&b^y-jOQoz>E3>x=q#13%vI;wbXuhZ zvcDQ(ZFIdx`4!yb%r`X~*;zn;a=tS~oG~KL80)gH~a#G@u^8v%}#F~A8m+R){VVFP|nd!%g zRJR1RiS!Jt+akDQ#w_C?2{gvb1)O<%HyWs7jipmNv^@b7kkR@hC4IEbQB zmrxZ*atKk)@uK*`#c8l|utOOJnGhXo4*TC7ew=u;`PO55hDGo|XBWYMj1)2{(n>YhK`%_I>-n%u@ zN4ljD4iu#YW;6J<^rJL{BHkdhl)QgHKY~S3o@I_Q#|b!`zc$*vcMUHegZ4ur?@@wN3Kp_1zM4r8{>!)_w_`U#hp1Z!(_d*3!0`ZeW{L*gAB z0}0va7{gz@pdfud$P4RBgBOv-fQ%=%e!uSt7A3soQuoo^3&cax&6VLg`o_&*dpdmM zy~P!yFHJ){)~^sST53-iR65EcWZe$Z5fI=wKxu1u#r-vWV}$cVkMc)0(Z3aJma#P3 z-Ff7k31+}qy{DfnY2y=^^of6HafANxUE(5}ub-ob;dMANe>CSe zf4+OZZUcJnwm<51z8gcYRcDTXF6cV<<<;#+)0(f`>DAS>TK4**Tm{~9V81$9VccrA zp>Gnzo3Fu}x7Tt#m>@1HACgp8=eGRN9>LZcI<~gF)w~VfUF>eTIGj<_&`{CS^Hw(Q zMr@C{T8F!%t0BNjtk_yh9x^xZFi{NyvDyvDG6(4&vVa%H6Yig`LmDbTJ@- zH~t4j+>i2@3DSz0WLsty3ZochLCXZCJs?YN;$(rT!FJ)~vPVLT86L&9{DX`)m^nwe z(qDNro0<~j=D)f3X0P7bDyN3ix7+ZI`Q6ASGlm4=$-Cj8&RQFwC?mgxiArxfJ@}<**-;7ZNbn7GHq4Ar}JyYEi=rGyW#lux@p2A)>{uK9~VIxZS|S>W6m9 zciD+iv$ZQVWoTxR>d)r+8QVrl5ciqb^R*k=@mB}GEjmu~I+tc9CK{B#;wJW$iPw4X zJh9tjyROQ^Ws<H;&vt1NoxBSvv?jyV?0virM2;OTo{ z;u{BxU)8{GJ;CIsQ_`)>&E-idoHIWcpJn?{bPQDctw&Gkxw=|IQK9YFCvxNMk6WV~ z&dp(qhV(CLjHKwRlKI`Ydt<#7UZO31%lp>NmUzbjjE0MA?YzB3L#9~yLA{9pttqBl5^G*@vAL%&t+=5K-Dw(pr`;j>CRjG? zrmv>xXIBd$?7cLc6+YhSMf%url|ETn$NSH6o6Zf$d=}umU#%g^sM8m%f5GafYdG1_ zggm3w9jMuMxO`|GO$qKn6B=95JtaYXIA$+3>&4^yBBEb`<_8`yJFL3Hq)$(y#r3J# zlMqEaEOvn?3M-Dr-s2H@fqRA&46EQLCZ=$3^WZAozA=7u-@qY@Nhd#ljDQw`-;AH8B;AOeEumBO@bY?|fb6Tt})pN>%DD8ns)xlPN0eS*=z0HB-K9JtAEB z`An!PNT=tytbr6(FMKkvqTEBQUSg96ia9N?{Ke z3`ghS#YubHM&%$_t_(WpnsV9%O1<(9BLND>;Trj2jhtoiJC5cFj$##YcL z4(r|6gMqUCf?@&Ufb6Hzrof(thI9+2asFwJv#cmp;{9UO9MAGO1Jc$BB*#>oGGrzt zBo%G4o~oo(Cx5bu5Wn!jZ=aaZ!olU^_2QS-)g=dc96ECF67(!oz9?qgKrpqsWxM|c zq>%Kik=pL$a}x3KV|^aUoLJQQXG#p81)Iu^sx%w6nl_Gk?eQL)q=xMwS<52d*#S?D zI>{`p!Enh}?^#UR50e7?L`LpWKgFdpn*8LbWO2H`kpmANNEnST_}g zPERYKBD^MbQLFU!!uB|H1~6jusnz=Y60xRYIH$T}aL3kP{<#8`6RG;-$(j+l?N?JF zp{o;5Knl6O(reLUBbN&F9rkHT=+L>z8WJ=-l-?_z8L{nc#!q{LHSv=moJ}GrBW=l6 znv4RNh-WBWTA(OfuCI2FrS)4-k>;Rec#A@7eQEf+4%F6@Vbvmrq2(&vyJ|QdrWQ zqk!Mfbuo-6Um;yqTYI_(mf-PJR6OCr03zjxQ{Pdd`fEh$dyj(I+Pn~&1bV(Y>Z+(` zbVl~^Nh3*|42^QA%HEeoI^kQBW@Oysi%q2wBrtfd>wqD7LozN8u{Z%fxC(T8?a*rT zmDi=*+CA$Klc6*LfebDp;+t-tpV9H(6H|L=qN}kIj9f3?sGXua*?ukB{HnW)u=$8+H19zaE^OYXn8rpV zU1ia_*CUC?v>lxdc&JJmD~9W8=ri^8-`>g5E2;Cvb)m9o&Kqq`cUpcJdBBj6o7*Mh zozYewpQ1)!$S=EX!J_QHF3v_tM`-lEgC}}ox0lS6Yu7}S)9U7=A*@@ z?2`5oc`9vgIpvjlnlHHW;HcVEV}W60^}z#BoU1;;)g?FoOKuL^!T@oKXn3N`88LS| zy7GPtIU>9+A1}^mE1-*kZ%g7 z!|usDHhx8GYa-U9poIlqFR$3~)Jt;h93an@{OU*{y6zAgmELu2(5UokI8W`_>I-UR z_?FhXu(OQW=t1-4lS%Y%9i2RtPxN*Pn9*LIuFXzMPrk(KD7dLyDmiY-#KR1RIyd8*ipqaSVW=>@UR!~uwqNC6|Y{UA08eu!}1P-7ehX!4koTzFBP2$ z%6lk2eHGG-LCuUT83$-=1Y`X*t`~ie`lRc3rmwi3KFE-&g@-5d;H%k1q-zf9_gL92 zs?+akuEgP$T6TBI%s)7~8F~m$Sh_)h{8a;0*G|5zC43=Stq zet;Z-cM1}5ei_y10Aa>jjn#?d7pB7mPtnP~c5cTk+NUrw*{eKyBqu=DHm|#2o7_Y0 zlXmpU=c-y(E@hp5AX7_N!j3M5P$Lo{$njD503ytVn6iQss;YX%;QpRvKi!iNTlc5E zZm2j&ZdY7ke8b*hQ;I$raraCX%J-D3S`Z$(y`Q=-EX!N7%Pv2>NjZ%t8j&5{rX zR$FCYd&&6Kb}R<_w`BU)7g!GL7i=c!~8jS*UvF&Va9C1BAJ zGtMs`Q(}gW9TqGVj?(m?B8aN!DQ{fG-Ext@9LUTZ{`hKcAen26i)sH1G;YE?iw3{QA=x@3nz8+RubihmGk+#=XljAvRPC1*TMZ-6Dv^xhv1^LO<6~l{NHO(XO)X%f!a_6Fjc+d%>bYgE1 zw>ll|W#X(n$%-`ElZ+RoDtCB$8@uPpW8gky3cdL{)tKP7_e_v49m2>> zbiZ*7YU77AiOckDvx61fWCmNPgKof%oUaB}QCn`9hX>53(b?I7 z_I8k9W=t41ee}$i(SX6ivNlO`yFd&E*wmTe|Y6#Q8(`j&te>d1r$_U2UF0P6kn( z&F0%1n;U0S#){9_>ftm>{QUiQEr2F? z%&pB3ZE+~>dbNzZaf!m&?AJ=Zc=kNHKv=wuhkkFlA%bG3%@DAbLkp#>EDs3 zy7OQ-@2vr!3yaqc!vvMM@mjlQuhyw>9ObhOTATD;rXGA?9vh*4)Akl6^44wod)nHH z?jqjyLYt$87{g2Pk6}3G#JNbC44*~~U!LVyoL{!mV}%7CV4uNIu=o2_yd;vQdJT$p zJj0E;(!Z50ir}Li8xQeETt8Q>;=q<=5{R)t=$dqNzyo4$=K6c21)AIhjkG``Eq{)* z{77!f`z_1iW&sY+-E=`X8106nXM>VqcQ8JuHjvzuEg4SAyqFNrAfGKzWKY`x zGzPLKaf^M@@r;FdF|dKtU@()?7#Y{xVdYIW`F#Y5>8b*SwA-pgEV2hnBS5bZguKS_ zV&!P{`tTblILo31_uND$`VUJ~%E3LY_t)>T=)}rT=0~O0SZOpn_AJuQs8`Osc4*sE z-`F!VY7>R~SzbD}tf;}SgWa!5ov<>1vI6K_cj#RAe`l_{8X~B@Js6!-(3e-)P&@(! zGP(fMP%MlbB^ZY{j;06FW&|?2Kr$ScnkbMEn|k0mg@a(iT6Mv2=8w7Vrc&Y5HgUCu zj*P>}a&j77h;>XV>G#YQJ&E2?ixf#h=DIr@{VXX8d_p6r4QK%nx(?Z9PktBj|KpO# z?}Z?L8j%t~pcNgK`nN)mml$=IF93}LLf5Y54~dmfl>@4BKvjpZYNVr@7MAL|oSYqIk*5#@-lO zyaeV1LB}{k$2fBSqXzLKZR?lfr5BLoOA?ar-O7R5R!0EY-4Tc!chm}ZMY;pXMVv_* z*?(5NL`<2cRSP6+L5L0z{(q^tw6bwF)_1hg2isUaF}Byg!=-Qf54jG1OX0dMvjOx= zURPDL=b19Z?Lc89ts)NsxzhsNDF8@{xB_0+Kp-b}5NQ1|2*jTZq<7lH>30LAm+;^F z6}V29CVa9{lfdZ_s%cKreXDW`_W>&_C_fi7fAB61nGW0Oy9V`g^>f_Gu5t04 ze4O7dGB{V$Ftsi6>m#*87tsLJ^0)O1sE*ff0Uwq~CZanidvuLtDYa)+eba?V3q0j}fx zyS>qHh<3P|Vh?bNj5zhCm~f6Qj{hHf#{m^Zvh3Mqca~*{qKJ{82#69E5HXPj1w=tH z>k3Oyk_2aHyj$wOTVM z!hKM{s{_HwJ^k)Jvxr~%te)lm)=^OgD+B)gD|@;F<56?*y;t{^R6RMK-}YFu1(ojY z*f7=8uI=jmTJA=Z>%FmZs+0Hjz}PwYOLJY$Ry!+6y0ZSXK?TFI`=aL87`SEr<1G_L z+pk&_|H?e|%PZ$ITYCi$-j{hNw0Y;h8th%NDDh5~VOW$w%l&O;8a3*hF{x@tpKZM_ z^Tow@%$a#n>*q5TDLqHmD6{1Bkk?DrK5x+b=GSW55@MT{xx3b>-{Oc?ub02M z9P{*{r?yGizidA}x_0fzwP$(@_C6w739TmR&YgDu{yZno`vK%!weiV4pIf#{{4ljw zJl`*K{480m1^vSuhMe+txOHdVfQ7^Fp6GMvX(Qs%!}#c=GtaIbd+(v2-`*|0Tdf_dtdke;to#yB<#y#e zu37Zu$nuL{Ji~jhCJ#QiIqiB|-zt8Ftfooxb?qzk6~13?(>3AJy#XCPuaBf!nI9b! z-81RQyK8sTUBkpS-f<5idRNJ@%x%VMLX;zWb|v>PqQ1`Y7!B*lw7#<&d@db7ya;{id=@>jJ8U?Nno=e<@3YqMD{k}R%lI$nEvclt`OlkU3_jkQ`JCR?=ZzNG#?+E* zuv}}FRO9sB;m;Zder#d8#5yKdcaG=%XSz4$KYVyLd57n0o$c=r$BsKUEA-2m;MMuf zzVsxwPIbxHbmTM}7e%vSv(l9n?8Yg$d5Q)H^7v8*@={GCs#FsxP7_h=o3fh*O~hI5 zK<*dEI*^MT^}vDrmiGjsiet2vzvxn&4T7o|TsIWh5q}!OKg6fSrN$=3#YRXAZbneL zx}($pP-*}uXaL}b3FeB`9fN^6VY5Zp)QH>d{pOxwu&GgMvHO+mf4Oy%H)!ej(-3e( z&XK)~+=~6%I5g}o$xjA)Odcm}XYYLB@Q&7Ir^a0#y>vzMZ?-pEmvVaWIuHf;(@=Oq zt<)H^LmZ%D;D17ONw$$`nb0Y|20OswWR!=>hs$8LrZM`kv zdjC?dg*TZkucUv@ZoNV8?BPu{_sz3jncRM6^3t%W(e0MDJd*R|$e>~tj@{DAY}5`! z4E{89{0WK4sWHCNlphxN$&`)zB(&&NieU%!8A*sFzDzJIy2Q?(01IO z-qFj_LSGLL59qG@e#y-X)2G{+6yCt9?S<@<5l}Dup&hD_5epjQhlKPr2fERI^n^Fl zct!8Wn?7b94?DZZS16o3Gh_6F!%;5+Ex(z_${4vPx&`!K_^YU~V(ix81?Se@LB`T3 z;H6Q(OQV2uQNU4r5s|&B3)A8GFPkX!9!4yh%*l0-`i|t;cR3R?F|+a5@^rG6Da3Qc z>8N@kP5D}4mX}h~+q-S)oqi$?*bsl3`z30R6w=vyIN#K3j&<`Jdufwe7I|*j5sk;wren0)oHXA*%(&tZXSWu&8&7Z$ z2(^k)1($e-p6&`9ia!nhrU}5KrI9^Kr-(}pv&9)^-Q?Y+ClQsgaDESA^9iHlmF}Ny zzJGMNntJ<|Wk>jor^{MJ9x`0KZ?sjT9>&X`XC541tQ*JKRe5cfz+5r@VA8g*s-2i5 zOXw7t7?FnI(SPoAaYZf~$eiij;*47w9~`)0Lc)v$>Db}A(@9XfGiEJb2z(3|m**RX z7(O36cvL55wBzpgyXk2LWfmE_jMx`*#%HLP#ad&B$rn7jIrumA?$TR(V@OQT%U7Rv z>rtiW-HtmitUlT*rtjoeGN*f=pXSd=Ig!3}YL|_7+dZqxKf@24({{|d_UTjI$o6NC zCsnrG9}}TvNA1})WyheNw{Es{xp8X2gmazNOdOvvdrpIw+cM3ToXNeiEqL~w4q0=1 z=fsZhv#I~W6&H-c{z|(vtKGGuHQmmYzf}JD!)t%_AxCR9FXtr zI%S;bY;kbH{7q?f`$ncUA3fe>#B{CgeO_6%dwcUm^oX-t9JdZ^)MVomt?BJ@QWvlP zBkAOO>E78BTK4`@q4B_mjhjWUUl7)C(4g?d9nbbR`*UOP)X z+t1!cwYOQ`E_k1ecIp||tR6>pce zs(9z>EIN0(?yh6=bndU2@G!dJ;*I@yUpotA(?UHf_;;@|NALE)1vR6aNe^BU<~;i} zZg1ir2Qo7}KjynH%h=j|`NEUi=g^`DyfLZAJ3qZN_x;93gWZxUXKd+zt5YY32|=3- z_q3em-*;lg_!`MgVmp;hUv631sDJqKnI8-~o;-3t{QAxp7b~60Ir(Yp$y>|g_PV}$ z#T%4V`E{OI%De%3k3-Wh4kM?-`p?aBIe*9Fr0>zCv~@=NvFCS;S-)@QtD2V&IHuM5 zEA4EnBd=ck`Ra26|AUFi@3zkfxmeraty_D827R5X+huK9=-6}gyq@B+{+|QIBPV8O z&#yu*n_o(66B^Tr=g|M4gU2DG6?fx2-fkZ9=r6|^VdADICO&>vecI!Lf2IwSH94QQ zrq*Svx8-WpTmCuh_^OfbPa00SvtE00w)KOsM$;3_>_WGka`AW+n$*JE<%4t9{w%|q zmky8{rtiv_jlSi+xJ>i)%e68hE7hE_H#`1;f2{R=zu0J(pvrG!ZypMLwtQcVZI;cF zm=7D>Z)FR;_T(&?8fn~~Zu{q%0Xwb6+Ybo8n0|gl!{Y}xOS*4wL^i(~C?wVQZT>LW zc$)_*_nPO2!?iOPD_l@D3>QGo!G;fs$tkL#d#NL8={!{FJXFDXD9-w<=7>u3{MmUZ z0cDqJ?RazFFcWidM9sF?lP<112KM2j4ox;}zT!-;m$!CLFXy=9vvqb<(5yP)uutyf z8lE#PYi=;0z!0hPtL@7oD2kq-r1Mj7`hW&n;Gi@o>MmNa5

$H5`alkbdn{l-8Tusn3@(^7G}*F5mM3?+{)zYv$fLNNZh%KI^V}rrhs; z6{nz3|ElFf`La$Caj{8V5~azJKUGQOn{!Iy;_1y|D#^+p7&A#zA>B0isBw0LN?{($u3E!PIM48G}bd}nsP@x}Is?rfPk_F4zo!J77xTu1L~ zTQ6CxF-dUvd`e_;yfHH_RnoBi&1a8Z^?P&pV*Nia8<17~`z_P2HMe@c_pS@?gM}Z@ zZwRr=4zW8s?dzE-ZQR{E%HG~fN!Q;yBCe4~hdIkHwVpv;c$sQ1Io&9`!nlNiB5R9x zuh%**Sk)k6ta0Oy&$=a~-#Y0cn3MMBg`JMO>Wtqp&r7G9uTRK5gKma3I_Ev4&h~k? z!6dxw*&7Wu=nKh(Ej=?IY}&czvtLvP{rLl~O}LTTcTkgC{nmc2`uu5|SN>Le8;yMx zcWu%wr=4ed_Zl}&U^w`rf?C*N3016dG!>$;P8)(m4y) z1AgYNdQ+Tq-w)uu{PNLqM*sAA!53cUk=Y|ZUD*6=qieeVnVWH=#x%9^sov&xO(Fk| z?TWO%v7;NUJ@)G0Xr456q)UUj$NDY^p6KRvW?^thccQgpH*phvZtD>qz3Y0&^wt&$ zGp4uRv5C3Tl{c|`v}Kr9cfGStyNFP4!27hLv7hem(rRA*)u$_g5rcBen;cxWb=pjF z%4WaREh(ms&CWOeJ=2!7^EI}p-Q=ao$R?+T?&3Eqd#hp#zu3lU#H5Dd^4v%rv%^=d zx94|!G-`aMj5u8blP>Y;TW>#Da%Je$M31Sr8uyI&nkYDI9Pq@r_ZZ5@_{6Qv7OILGb zaD&A|C)fwg&)DkRKdRfYF*Sl$&&=u8@m0%{foDH8spsA!ZV$OqnXKL1tA$6?;rb|N zG^FeTH;??7yB}tdr0$*Xho|3AVUh6~t4X?PltJ) zgYa+Hu3g~DPx3)E!2=voNntPG`Um|<2#F#jgOEHd39cj(B8eiB3?j)Rl6<@g3u>aG zNK^)i$|F(vm=}zv8Bqj1Mt}hG@zFeRpot=R86+={OtO1O6)_3+O zJWKiN#Gbd?feGi9eJ+v;mnI6^LoEGh!Qr)oY=iEsVd#8(=uOIfoOm-}zV*JuM zqfb}!nO?u{5$Dm9tq#xd8#pg;#hIv6(*hmOr8jB0EN^84(}!APT2^bez`W&vX=B3f zH(PJEe_n$z({Eo`k<_5}aGhxh7jpxOjjCb!Iy5a8_#J;5I^SejWa7^qBrD>oPd|}( zIkNo0M$aBq>*ngdW#6$`Yeubzo2adwHtoU@>Rc0p?!zk9xs>0z!Tb7sj!WCub&0N~ z)gZIVm>wA;Y-`P4dU#ctOAD(nN?9JB)&1t}H%FgyMOeb5ZPeDn|@#V&F@sM zZMWbS)oR$?T(;YKdX2$#uUBx$NLtO?X?<{jll9EzcJ`zWRp$Ai>XVXYWvARQXwZL* z`B95y@ilIR4Z5?)!!NtO?iJsqqee8I__d19+5NL@4N!fNw(T^HZ9&o^~A(f_0A@RgE{Z{J?r zkv4njqsdhoHg%nUYxTR@6Z1doY;WZHVr9hzm+GW<`B35crsTLpgZSk$CkH&bRnvIQ z@uZN;H(pF=wD58*GUSr$rwN_!9e*}w%WK0fsp)xlnu)5mTA1C4UR81b%g;x*-fuUl z;rzt>Cb!mP z(6*TmEH}HFw+JwJl}4|2A9ccQw(kOqJ${WQekHq)ONjH<*-x7;p|$>8ROWu(gB=}S zFW&ShIHy7_r&jZ#p4gwZo^G<$#sBq(pzD23*orESx>~_K+{`x6oVT;a&};5#^Rp_x z^Ea{D`nKYWe$__a-x@6Y(|d0N+ac~g;!~!tFSgg;<+SV7r*|=y0YQO=&lbGVI#g-U z@n%Lr?H{l7Uz9)K)YDltR!?4D@5#kr1EV&#?)&i#g%P`E_Bh{aNlRX9v*(6y?v45~ zu;c2Ws)jZUiJkV8T#LCTSrk?-{;uIT_slZEO;<+R9{lRrwtA>f*H)=s9h+Ldxw$ns z!TU|HA;aIYX|$-~)#YoppWNMid@aOc;%WUb!Or?`8rIRfMCtJAf z)T9c%X9zK{ZEtPhv1hQJrMu7ji8pqS5Y{kSHEPn${S(Z*$2@j>Ni`m4P|LO7sL6|u zPP1*4Y=?$~$r4#qeVgnhhsQLGzI&#;vsLqjeuGz3s!%5K_zZgfUvoY>nib>1H9E9b z<_#Vp_|u@yq(~v6z|V{$zzgSW{#T|4H7nEHc*Oj^(e9yb4UaSqn%Z{AI65Lc<*mVZYOUEm31ArwA`)B?>1LoK!wyf@#^8TrcIm1^P2?)wbUl{JfhoYjtGp~ zb0cC_b~&30{U=LYH=n&bx|+N0^~FZjFAlVxG&O6AeN(aHlDOzLV~ue zdjBO_f01sBCiPD=c5eB^HOorNXPUw4flhULZhKO>exL1mdmiaWZm4|wm9JCf0o_Iq zGbkT1F}doXic^}AnKS2H|G3HJzybU2vdB3rBNm-4b5v`$Ym2T^$9TMd^2tLqI@{{5 zz3~XsDyB=b-dS9SKH*^ZNvB31KE3s%5g9tv_vHtjNXfk}Evt5Dba1&x=hfpseERt5 ze*J5LTyfFCg=sw?c?$oKzXGTKD zia!l&MN(qb!fBOutfd`mX~(LmV{NJESceiLy|DKlQZGVVvKIQiBMcmC=e34?N++1< zb~HZp{N|w{)g`lTmtVi+=nMy&dFio}miVRH#!rsSNM5vWUY(%{?YEq+acq(Qlwu9@ zJNoGNSORQ|KNFAyh4gY@-I&tZHMHP^VF_&XrMz3pyK>&mSD#%=A^F;s{MRkmjW&6o z!CnhJM)1wQPI1eY?jKdIGKAdBwmgt-WbUMOF=??pR_mSy`$Lw71t^`W zES;+S2XiE;N|i>W&m$ApfmqZxYiMWPy|eE~L;Efu78mUvQ^Cb*Sg-C21Ey5LNW?D| zADv-gcpx%%Qs+a{UE&A4&Yc*wH>2TD*m`~A{oqB0lY%#jQmP+XWZAUEu#cfxXIJV~ zZ!&jG8SA6-n*3o~x#{!>k7CRR@1|h}16H~QtY}XJ&J-9U zXKxG>Y8;lEWWIM8ZK*fx{h-W!Lyc>RBS-yt15JSzw{smA28=6Pb@Hm1B$?lgS`C&O z*PRSLMb(=(so%!v-q8^rHC8b0&8?11v+H*Jv484=lT)n5SqMI~i1wN1wqZcAo3-Em z!+!Y?U}yYkvIxSu>xksoBsI5&QY%F1NTzfoqsa;pqU^GHRQa$`>uz|C(5~EMj;MR* z{iDlEy0#ZBSafi#k>`+9>zAJUCz)$!UO9wT2z`?TyXBLj4ot3E&o%GC$;C%tcKzd-%@`h^_U6r_$3fCL0Co)VkTfPK3&&z z>xt(3$ClS|x)Rg;rq8IVo+FG8caJe7)#Rep zWOQQpP&n*%hFLkr)_Bx9srPU_%i42d9FQ|%pA0vHg??kJTK2i^KRL3v?o!{>pl2Ac zB>ptnr_#ElCQBnU1h57F#L_;qw9hQFLTAft^Y+;`Z(>Z=61zP^oV6&Hd>*%`)Tslke=Ez>{vZdyu{K@OZVINYqpTfYTvDbxY9i=9w(gkd=fTeT++uy95;mpP=6BD1ZZolj~ zMTY1b`VAYkE)zC~(+S=PvqA?al&h0)CMKy`<0)32xId*VV1!MxE@3w7Et-sUh@ZZA zOPSk2^BpQ~t<)q{R-DefZMXK|vCu!`PeUJ_DlK(SD-H2p8sfdk5bqqOGz76Z17SW1%F!}D0*>yrQ&uG7( znvQRnB0PIIsm8vMem#%0Ke92lIQC6<#kgd24n1bq54anD8r;^=q9s!equIGz16)Hqh&5@IMuw0?NhDEGlBf(^ zWsQrUAw&f%S&xDtCoa0iwa~CA8&+Y%vTImp4GXJ5M}wu)uvQutN5g7pSpEzvr6HaL zM7Mx&77)Jz7HPvh(C7g-paxv9V0a5Fx?z*4qHLSsgNEuK~cpCT?mVZMfAaDlM8jwMyp_Y&p>H!4< zZb1E?E7m|t|Hn(xxh}eilEt;mJvR}6>Xygj2Fs&(#i^Lfi<3#J8HT|6^w{fe-gVX4j2Cf(NVTE%>9n<=aQ7}Ss& zFtkU8?-aKVOIzGrUt#zPFN@tS?;{>d=up7rOAquH?EBNf@$|mz z_^>R&^GzF9f2MbJ^KgG{dcMYsM|$t){uRFAs;@f{der|=_EpcFo>fhkzCKuU>&4f5 zs`k8*p4acdrpud8*2sFXqV~8IO^+`3T%Eow+@Ntn1^)+8cNcD4z5PY@#|KeX!q2?L z>Dkt=uB~-2-su^?)9X&qydF!uuJ<-D_1nL+`K|85HcV*MXR|2oVbtAu-Ss{TCRXb3 ze#r2ut=zf_j63BA^nY}0`TCfkU8^nb87;eDJa}r%SuZ1h{T3&+`}KQJZtS~(`?{rC z-yV?l^<&xhmFd<3tHtr!ou}<;JaDJ(V4tAC!BOP1v-Qv*GuIudW4BB*4!$wy=7xLk zr|}2Xf4(lf)~THJTQf!*zJHXtedMgqmC|I!H_lGxOUifJdN{A=QMchn`Str(*fUV@ z^i9+3ijn*zpGP86cFU2`V?NfJm3#Qi%gt_m>8Ty-TPAfQZDQN4y!X0g75_Kx$F<6j z*`JY{GV+q=xRjW^WlK2~<=lkXY-*NF;B?npQ@hrfd$C8wWgqs992tJgAp4!GUE?)boyrXz-KP8)v%hvWIDCdAekZtqJ`sx?Q&p;Lo;Ap4Pb`)gtrRC4=`_OS5};zUOx? zbIfe!mzTY&l>MrAW91)RNdnEUHoAU2REgfs!%Bxqa zOXn6zR&47$dUA)@5%lR@!TF75R}y~MvU6oKLGI&g(+ASzV&7i3>-72~4MbrP>&te9 zPrMclERR189d%klY@*s&x-^7SsgqTyy}O{36*nX7!gbUzBP^_H=A8Syv)5o^;n&aq zh17e92_3v|W_Bhl^>Va&yew&Pz=(1c6PUvo%gH=nC$LqltY=7aqLYI|;iU_bb-gBf z1MA{XLx_X4B+umJ#GWcW8msbm%Rkvw6ZG6c!|t|en|(T?(FwtP*Dlr5M%Wfy(2)Xr z-y9x0?k`^fA^0nx4kRR{rFtjECnY98aM{`sanh8OBVV`ffEqdw7cmhNTWz9EY9g>h zPzynA1oj9V5IEAri6#D6+~*pSB4yMwC|g&67@&dq);7?@h_5l%%0f5|!=}}P6L}@M78i#mrX@$n z{9^It$^;ascWwN-4A^R&8KOfNhUgMK24;*57-ERP2-C_SFeYUwQcm;R!*^6sNwY3p zWfAzHt!-KnbD%2RxQQk_#1CgYEP_2kDeMsnVvkT3dxYZHBa{e75rJaC8U<|+SKHxv z+zQ;zb~B-DO|>==o~@~16XDxd+(fi&D{UeI+gh85(AHGAiO{yD^d=(8X0f5iqZQPK z5No1EY>*+K+?r5^9q@21QkB$(T`=q+#ewDN7F;>tk%epqC1R^UE$|F$3?UKV4C@R% zG@RkvX|ZSce!!iOhHoNd&+uJnc)BvUl5lTg4@bl%u-!;_>)?dPI%NvkL}#`N43|M( z1q!NY1}WGK>JN(wKkTOQVRK@k;bDH^hwE#6*pgJ!@UYgZLe=)r_;7WN4+{!E?4$8v zD~%0C7p}Iy#)oTYd{|ic;XsWKTeB}`quP25#c%Y6+x-^-0pd?R+)p6L$25>%LDB?( z$%W)^FEM;MFKzgM-UxhX;wuJXVN?7trLma!lK>HEg2$#J5-27?B$y`6Xc8g@a`HmZ zTtr&nF;qmt@Yqretken-g(HsEG-)FuZAGM=7*-;7ph-uXbP|)!L`st`G>M=HgHjx8 zDHjESiOJFST_Y3Y?S16iynq}t$Ck7K_srD^f1VRqFOImDPqzo`rRFxl#LdibVv$Yp@6Y?p$ zfoj$TQD`W)#NymkiLB5EgbFapGHE0xbFF11uLd@cq9@cS&yYA04{8ScweTVVTCaAm_&A0nl2`_$d|iel zk?suiP!=GTSu91hC6FpxM>C`dtYU$xK`-o+ER7C=PeT(ZIE6sxS4M$Qt?8k%$_6UX z@H9zdNDtDJA|{IdwNQH(*}=jMB~Ce?a$12m5+Ox2Q*Gf#kS$StVCk_4)x}UzH6^>l zLrI_zrp7_r3W4us2~eP&I_Yw%K)r9-g!@QPY=P`@4*8qxqSQn#6MR}$j!?w1ka)0B zQMZ~@Gr{lC%RZ$id_Mao%~%!*ktP708>Yl0_6(AxqyW|Xz@`j|K$`XCI9Z)ip;Oo6 z*ombm`HQKg$mI3kfLcuj(1je~h-X+TFfE*6J$P{L1hJI4Qq$p@)qSWS z&}QfZ;Cu^*nmI%iWTYKzcYx^F(Ac=)a}ClE(tROk zBdELw{QE*~PvQg7`-0#+1g@IHRa@dmq@*#(u>iI?8iHC`0|cl$d=wr$3BjdEeK_-B z&lV5S%*J!awAYy@)<%oUS) zT-toRTtJhBV(67J@nR887UOY=7+7E_o@F6eh8dRAWQ7>0aurQhW8xYFYZ0sy0}*E9 z*?JM_hDC0m$wq97O(K#bCYwpF7{1CDyt7qAwu#7g5&1(zc8JJM5!r@{ z5c`n5G}(v8{bCYG4&d2AF*!sIIZe)p z$XPKtN6ur)1q2sqa)~CFX>tX`G>&4cIZ(t{srabAEr?_7(B28DF|yQH&=!>nn2EKf z%q7;jfcThzgalc#H`*v||s183l4f+-wNWwTBwI#2_UV*W&=L|eekt&?{ zMIkNg0Sc;pP-0q&OmQC`*O5j!LLZhP)wf83;K39&>+S$Vc*tA)iSiL%xu&49Q0!QN(bcp(u*S zP<%>@rUVQnq-cf`QQ8b8hQ}!#ilHf8hSI|neTo5Ps2STh_S}JMBPf+JU?@Y%2>Qmb zWSPvKRsHddp~_Ikc)u(|m7`1;syt=NP!+I3H54zb`V`d)e05Y|fJlJAH6`P#LbDkw zuy{sBDoth#RgtR1P?f1F3{{mf!}84;%7U_FsA^Po(5BTj2-aQ`5CI>OvZ88${%Eg2 z$=*q^FR-Z`O<6OP4Fw9YjH<~{c2q5jR4Due7|4Kz&}OLNW|S-eD4DxyQus-E&^L-y zDtrgbSP^Nk;RE-eY2n+^(AeFIC{cP3=rs^=18&#K~+^KpDRiA30_F>dMuM<83)<909MrQYm zOY9lQwie!M#84iTCqsE5?Rk?#n(|>NU&@anx?GoKhT|()BuzDDD1YEoDuCQ!NPi?J zB_XJl2XCUmm}SK3^Q`XIA}t|7ZYWf~v9f;z{GdpONRwgsmx@A4vjVQdrW_TD<-*Fr z!HFX7nq-x_0$QZ143bNM$q_LrE}RNpfNZnYSjM-?w;DzVl%qQEf~xVofx=3u8sRI7 zlwgrg8cX3Mx8f0bnTkvJ08j+?@w^igQ0@bVDawI?1{fIZ3*1(#qB9m6_&0@Wd|qAy zjrUY-=z_1Wc)L1yVXLtq4x4hc5h(2H0J zy;{emN>kyIVEw>$q5;=8?X4;wp0O$783iKs!T>)@%8E~?EKQY3{r%kV{rolJS3X&2 zK?2 z(pf-d`I}cLKu0h`(M1-Cqgf=fB5r{=WcgM;K?GWti8a)N{dxt5xzPPcBLN+7S*i>t zG`dKW6`~$zK&&-Bg`e37p7ZSmK4i*H74j>TFvp^mFu8$1$uL+b*cjn$j0?UEm(EoX z%7~XHM1EUAWq~kpN0A09B2dw!^1~D+fr8YG@1(@WN;3}?HdU8VFHnPi1Mj3MRSh94 zO^Oo2-&h7HQd?E_H`V?odx5I6GSOA_xO&wKs$Nj*LJ4XWW+h5ZjcAH`Sv|CvaS9(= zDOJ*`?%z=NKjDslE`5lJ7hwu33Jv0d8Qv{fSlR%{ocCMZ7lH;S%WD}H;g0CJ!(M~$^m^*)*~fU;CT z;K^y~Zz`lFp+MY0@7h{pu}Y$VQZ?!31>a0#4iN9()(uoOkog6MS`;ytf5xH)=IUPz zDh+K_M`NW6v{eyxDyJx(yRYb{V5F$I5(Trd#AB+daI_0R+X}%2fi>wO8FFI|m<&)u z&85j_{n$rf+NgV)ECoyf5oyr%kAMuMFWjl=|pzHl84XJ{2fyP((> z48#;zig}z-I0n+V`R7m)3+LsyT%;>l5b;ke$4QX{m_=c6X~lq@5peP2!2C(!&xoHx zv~r0cT$vzb6KGX}h)vLD6LN|8Akk$X)X61^G)9r8tBxs$=;ac9B_6Qh<`P3W79&Kl zjg)DF$6VH!n@h^EH@6WJd1`s?rs-x<0Zh8=%^XsRORUTt#9+e3GlR%KNYz|orYtR& znCB3S9Ab%gb4WEjaF0~aAyzr0hAP2Ym9UN2$jdh6GRuo8znR$PlA7}R*~#MPO$R(%fCkeOcON8B~9g*f$~O{w{Fm8 z5}Zq#$(vJ=m_tIic9SPG&mk@33EN0$8{o1qRhDg}Wg9Im(Pq*rhbZvmkk*(#hqPHw z+8VXXA?>-xI~*W}cqYHfAstoRdK_jC2v~v*Nh_Ev3WuxKFssl8W(wND3_yE;9f5m0 zk=`H^27x@74)S0FNP?{(3y#8M(FM5s0OnPn!(=INHDyGSC|A;*3MI)@B+O$bku+)% z=|!z0y{V(54|Rd`rCyPK!0`Qf70CdeH5thBCWCk(WH7HA8N%yDhVrJ6VZ4Q8IPVWK zl6QcN=A9*DcrQshpHIf|jbUeDE3$y^P8RZgNG882S;P;8i0B>2QhqnGOeJ;rah%kl zlBmx(PYcpUM3P}{mB&gjb^jNr98P5v7G4VHnN(JIabl21(BqZ|bFFc3tN>!M6CCl+ z2@K^c;TXzZ5!JLvDmZ<(xGrA28QvLx>H(TmnqxIbhl2AW#6lZpp2~}1ip^9EB~_$J zC7M+JRW0x)Dg{Al%7S--{)dT2qq=uoY(zI1Oz&1v>-*F+T3@ukv)vzG)&qL8iW>D^ zE*I#W>aGRfTGfSwW}sK8LX)Zt^l9eMIVv?E_1Zx(tkzjb&+v?tCb6bBZr;G?+h@h|g?eeR)2GS@uzjqPc*%)p07)zj($ zC*z-3juWw$k>m0N+$?q!1T}LBpA!R!N{lzO%!x?LLJgfZOfqulw9$JH(D0y3$10kD z{~A68J`r$)zk>9x7k7|X9K9Es2mCGQ9jBarU3v$@^mo%c4Bz;)4O+>Mk9-(ccn^@=MdZ{7!Q33gq5R4PA-JJ#39tlj6j?>u*TzuD`T+cm0;$*?FRWMepn!`9Gs~7P*44 ze;B>@QzOvtr1$&Ejl<@;Up9AzhR}Ec>>3uWx zwSIB*UiUYo_qx9{y~EPe?>9%XeyKl`-j}Np=y%fl3ZVCuYUoNt@3^ME>ygpVQXxzN z{)$+2R@nO9MjN6rSc_pA%Ld~()I?w>hRL#8Vpv~iFUAFL5X%HFB)Cco0-!h$SIkvM zOki~&-f*W$J(|>4OvyriSb+djV*hk;lE$@Cf9Fh8qJSeB*G84ZaIYPqSjY-KyanCN zlVu;I6+4N4kx&O!18ns*8%W;K<9xju!5Q| zSU~LIs1*cDy;=V_@Y>5|*HP2Eh$xuzT!IwsTCfZ}OX1OmS#pSu{4O65Fo;B%TbN69 z!R3#0bHF-UupxOS1Dpc=&Qz$?bXXie1LXTGSTj8ve4OU8^~c5HmN2&rz9Zn`qYKN! zE#MlAq2Rx$c&9FqS{>enr(9HT4EK%T+6a#Lr_UVwZsznGx&k@<(yl;G z;M4H^y4lZm1rlymQ>MOCH`@lf*>*K_CDP5%^({L7z?tIc{Wo+4a{8rRft-GXD-cX2 z{9IQc;UP5w{Z4v64D^0P4PA-peUXFKgVoSe;ID|OGpE9Xk>9}8(+Niu;%>6uAsCQepQDECk_5T|JotK`Cs_|{5K8} z*VX9rJIVb9ko!$FbR{PDceAqAo(Ba6e?=)Vh5di3;d&KVsv;m2#PARdR-DiUNT1u4IYgEm1>u-bnW_4XGULf^++0|nsZ>~>QO{PaN<$M71GW+~ znwT?aanQVO#R(jNGz6I8B2cPS5w2v_de(oin8lg(4wC#MO-KF3l%<}65JSjz%NF1RYnf`n^WSPPQy9UIwBVL{TDTT{exoUoo1mZEUDidfHrsMz%^ z!uP-rAJovH&7U*QXoHEX9H7CKELg?z>@tEP*Rv$_ur*&Fv+?u~&)t!7acpu{eGx>|pep@B{i7{o?!pjz<3x zKd@7zKbaqle;hxQ1%4=}hOWf?kkoEVtK#^fumjR>!Vl>>psdn8s;fh5A(@en1DMj2hux7QMJA=W|!Mlrr;cFw!enCIN z^yj5{9cRJTszda2R3#L%$X-ur1mh)SOIkGYD=2lOi^QD0-iYlJ1&P z(D{fBjS69|FgP6>H%s%5C@@KbEQVftxDk^s9Fg6*cvswZO&DLGD60h;6F9$@k6@Qj zhzT)RDA25cW(W=^?zvBzk&`e$&EzSi|Okng&kUckG@`lJ}tj?UoQcp>wnbOv)(R0xv$49M^s#= zFz%ITENBOPeJwR~CF<+Z;pMz@1DoRbp|HctZ^94g^YV-HgXZAuKfrblrb6JgpUe++ z)Cl-Hbze8&hq`L$O3V-Cy}lG@JC_u8i1|(U0exbAaee^znE$4KaACb>elkCJsuA#a z@`D%fgSQ&G67z%2)ma^i>mLda27eQNz(L#QdQ3 zv8+{b{lo9+dn5VveQzZHneUCuFW`GacTpqY@8pLF;D<;xbS3782N9919~$yR5x!`W z-_!R-^6UHFNd7b58<$_f_a;G&fWMO;5`iC*)X`qJ;|dn5VveQzZHneUCuui$$#LXCjG zlOG^9Gd)TTU5WYOsafKl;`rhB^u3Y%`o1@k|IGKsqKfM&_JxdK;iRHi1jvYzG3m8TK#{SV&T|%5g@O$R2ePmKq zxyrOyhsDn*XCS(1$1j-wcde)$4=E1J|`V1a~{<^}Z5|IEoFoNb1G zw1B?A9?kOMgr>FdBJfuI7i;0^`)U;b_YC9$m_ef<6z4jwTux74Q9}U@EMNZ)4a2T~ zr@&ENv7FumJiHNw2tCpvCZh@y>x54KMQHk(8a9y<8!SPQV=J%3R%C^4sG-nQA=Bbf z+$sh|h2l}%DF#Kw;!)fy1_e6lbAbwqY>Nkfi$djqkLw1C3{GIa?DWNz@Zs=Rgn^^5 zzrg>OLaWihfxZGiIo_Big9i8q6kb&GFT;&Fv5o*gE!-HdvYOWUeM&5^3K%h}s-Y{f z5<6;9JDW{F-uNqm#0$Fs{01cc%WTi1iO^x<|GOimI{ob3dH6qWb4@->;P8LQ=9-rK zX0dutxP`rabnC)xS)fY|5%2+5vxV`WY;#9nyv z{x=}@UuI(-O~n2q_T_Q<+57VFSE*6wcM|(*AoewC=t``{3~hbir5Iu_JTw0r5c@B) zD~~2({}G$=IQ{HRdHCDZsPj9CeLE2QA8P1IOza2xox0-;%i!4`j9-0XQ{6d5fhW5`$p=`kwq)<$A3B1_T@N zauc5A;Mrybxd^t1$yTxrpV*Fd`2){(V3X_=lU-ytp6$W2y?A3E)}C#q{bF)}%%aIb znjC`Q8ohes+E~@Jzhe84Um>VS#lN8xFtG$AfCqzjoD>3&r%=Qp@ZXUd7!nvZYKSs) zd6jRXeX0Uu)Wb+5TB)-5Brt0#OTrivUWvT`6+ad4lx5pdxq*yVT54)y0^HS(!p(&- zP{!Zxp~RE*qDTeqTciSN`w(ezip;lHge)mFmPI6pPEJe%Boyosq@5z|A&U%4mVuqt zFc6QxWT`RDx^$IA;GRo*DY7^?g9lql<6^wOWU+o z6px|!lopT%>$0NZ%QKXKoP)32LI$!lLKbP3m?TSjzTUhD@}`J4$n-e@(g84Re+B`Rb;42 zRAq*$LRDobGs>KyEGSEcs)nFCWl2+33{``&W+)rVmZ54=b_`XEs?AXL(E5}E94SYJ zaw0bY;F*MixH@MkF-?JutoFZS(SK%ZC~SCBQ8Tmy1f*dlS`qtbY1|4+5nYG%rLfl+ z7T2boQU(MhB&DS)W8eVaDYmb2WJi8>nx9ub4nA7y5C6B}ca*A-dZ`o9jG-Ux6(FG(d+GahW3)i^T6gije+d=9oFtT*XCISw9R#>W% z3Si;nFbGCj_cUo7Xa@yITi!(?X<@`F6z`B#ngp|r&`kozs!(%?>dE(4Q)3KH#zQ?s zsfmixiVHghA21?W2J^2W(gax?MXZY~NvT4xIn{)Us|0zap~f#?Q2F4VboT_LNuLCsrDl2=m|d<=?kJ zlr;I~F)S&`3GrKc3qW;KuVDLwt`H5=;n45PIHeCl#ucaz_r===1jxT!fp*1?h1=+m z{cs>{H9d>PDx@ut8VDIy%M4A0LU9klZ`8~J53t0fe4MrNn`kC2R9|6#!a!;7#5CYN ze~q;XD2i?Z;2kwpA1h;G4X@AgZ^2dv22Ym7C-#8X(1I+Gli_$Vw0C@$L|{fWY5EPB z7HBFq#vCvMA6|eWH8plORD9P>fu@q2 z=jRZI;4C6=XEzO%*8mb7xl<=-(0SBx?m`IICEO`CpQ~0`ty!d&{2q63<_<3MTtX;- zI|W3pWwo^C6Ya8Ef(4X3G9#d|5H29+xZR=%`7`&mlSw%^2u;(h5SnzoRwTJ6x zk(ykdVzV|Vs|79aPjlBVt0ns9x$9va*pJUu2AH5Bch)F_7~>gt1)sqqhj?ZKKR>4o zU`T9DwWE@#6foTJAY3N_(}V&=Ka!{7&*Zr{pEA%9QDtBk6k{EVveeO{n&=3rKpmQDsUxP^ z=;%`Ibo8kt9YZQb$AC)HDMJm@DMwAxF{S3{RHT;aRH0VuRHe@ASWvfgs!=a=YVgc- zta%b08(v!-Tiz(0TD)00wR!t>9C=T4TzIc^T=^As>hjHX-1z}I_4zGy8t~iec=Drk zy!btJ8nY593S`h^h$P&ebbx@Qvmw@JN74!090w40(it|wZVLu9qA&&swiQjn86e3v3~DwEikENgrwqy( znsjDB&U9fwutd^C#(+5KLXjH(kV3!TB#5>L_UjZd{Ae@;Duyy(Z2`@^V zKe410H>gpxz>l`L{gA;DX980VvA_fdAKph6B~6Qy542!#gFB}Y=qQZj?%G_8axF;V zqLZU%Wl@6~Tq?m0YG%QpW;R3{R}E?^18)2iE8W0hzXHID_!M1!9q4WOf(68c>t@+- z=eyW&=UJ-mUIdx6xeQ_$l;jYG>v*wnBhXEV82paJ^GPM~Lg;4}sa2v5=r3lFi;z0R z61rW~JE|)y(GB`Z?DEYy+`1XW6iO29B6>k~T#|kcL7l#EaZ8Cy4lTgDn_XRmNOdFl^5tFW6dHa4UJi2Fl{tah6&+tQI3)1FyA~=!@4W%OJ!+iP=Do zSp>W4apm%e4ZIGI*pjMn#LmAAbgxwkcmAe($Hxx^Jq>^5A>+5AwO~K5y+@lrUN8c| zNCcx0j1~hJgJ3LzbOhrNj7Km5!9)a;5KKle1;JDV(-2HYFayC%1Q`fsA()L|4uZJ| z<{_AmU;%=K2r>~YLa-RY5(G;TWFc6FU^#*n2v#CkgDieMXp?FjxrumizP1iKLFZaiZfY%iYeL$Dvg0Wp7q;2K?`1r1g}Jb*J8mN!CPAJ4l}(M2|kGVl;9&R_=LDW;|qQf3BJ;T zd@<=R_$-3u{6Y#m2?X!qmXJpa`QS_dZzt3e3PeI7Eu_Ky0UB{+ z#^fpps)~hXLURNbw9ryarU|Qwgw^o@D=fGMEwmO1D6!B+Xe$yBEFKisSwcIJu$D+z zTO_m>2^~a2N0HD;B$SAR&LW|UNa!jO))5KaM8dl8A%yN?VLf4eTG#-O4aH=wun{z% z&_g8j6jQwgH}JwsB=i~uW0*+T5|6D!!f-sc775$nv8_nh4v+0c!VY-sC=zzUV`q_2ipMS@VFVr{ zMM4=KqeQ}JF*Ss%RE$U%i-}!D!fv!MPE2mFKxCi=ZEZ{s;yj7>HmHg24!eAQ*~Z7=qyl zP~r$jB0z~F9F1TMg0TqF5sX7H9>D|z6A?^8Fd4xV1XB@ALogk|3U3K)`;XLwI%=!4U*U5#%8_hTu4Y6A1o9a1y~O1g8<4L2wqqIRxhsTtILU z!6gKj5nMrV6~SK!t|7RN;0A)52yP*`jo=P~y9n+fxR2lgf`%D*}y+y2%CZCfl#CQG_CbN+P(s?ilb|LXLdI`d$Z9?0)Y^MhlC&zw6w*g6ewD# z&_DtNNgxS@y4zcKcXuVwrb4M3)Ze9>6$3+Wq5{`q#nv1ubRRpp zj+0EV^PLV9oQKBc*iVqZ zh&Xm57oxW~#lq=Mb`LVp53aG_7EUkW^cGGZ;q(a0Uuz zkZ=YIr$RWD!l@EYwQzTDBjCJAS3ul3F_7cwC!r4bS`wC~FaQ1WAb50Ezi-fb7N~zXy>V&f-!M=BvQWlp9r(QVA zg|k99D}}R4I1R#S#HEVDStFb#;WRr=OM-JM`W6gI&RXH@FPwG4S?@RpB)DroDVzgw z>6~y5cAP^JJd+5A3gqDZQ z?>HAEcqOsCP&gL}=VIJ$A)HHvbD3~17tR&Jxl%Y+3Fm6zT!V`Mgmay6t{2V?!nqN8 z(89Udac)WQNd$1KaBg#)+Y@{$`R)+Tox-_GI2(l1Dx8hN*(991g>#Q^+JtkjaPAY% z{la-bIGcs@pm4Sb=ON)dESyJ#^Qds}Xdf5O6T$)1Q^I*#IL`=Yt8lgn=UL%AC!FVn z^MY_*6wXV+d09CB7S1cec~v;C3Fmd;ydj)7h4Yqh-WJX~!g*IX?+NF9;d~&R4~6rQ za6T5!C&KwuIG+jUbK!g;oG*p*mE(M!;3qoY2B=MUlhDV)C?=kEl+6cI327R(Vm!LKBrDTL(+ zJHf9dUz!k(BSeDV2rj}+@S7Ev9MFVFcZ8SVcTiA9g5QN8^apuDppm0dl7UEB36U*w z(8GvaA(D>hkl^=|BnOE+bUz|rh>nivl;95$@c=YUQQ(Nq3H})I@8XEU1b>o(_7`1+ zC=#NZBZ?Dz8-;dvM2`f2o}4`$(JR4UB4=+$^hxkn$l2EsB?N9>f~zrkakB4}D9b{1lngxFP#cElJ*j1^*>5aWfIAjCu=CJ8ZF zh$%wsCd5=Bb{AqArki5ABW4J(hY&LpW~P`W#O!o2N6Zyso)CKy=zK>kNSGbPUS#a; zh`ROnl9cil zR*}&_Mxzj`9kC{14irsf>`jTA6QV_|rQrQ3@jCLZ$HZ71fQAds#svb$j4u!eIpW}i zITE9cI3!_?LQigv6o(3N7}?^3fU>P&$bs+j^WR5QhiB-`0SoZ|?*Q7y9n zaM{V?JPbCj!;sT;vNXA8uxLAlw9D#SLT5%boW8grwzuXa5I07$K^(6N)5Y1(n zBO{krIRbB3%LLxA8pO54>biuuUfe)Mb0cQj0!NisiJQrVqsprUjw-Jbw*gq(POlul zkwm{xvOB1daA^4gaTj?v2+=CUMjQ;NOh!nz=!FiDIxH3+K(4jC#mNL1z zOl@phI&gVySvxTQ>#=pCOMrpU_a(GH}k!sl>;RfiG9mfiZv4UZxwUbQ|av zI|LFxI^eTbo?^;XNRh*12u~=q891YhC!%Vcs$dWh$9o&*)we7gzkYQS&OgaAawt8H z;o%ts4{WODp-<-lHcuVTmS;?my0NK+;!v9CNfUK)Sw=#dtVkLaJF#5FkhjU~=umqY z2^s{Ury}a9jC!h~9-Iaa(+r7vpmiCBKr7Alg#nwu4K9HjOaeD}1a7bh+~5$n!60x) z@u3vt(<|uYljd6y;ad^mTM^+~5#d`A;ad^mTM^+~5#d__zC!bgK+-q-d=V-mB2-31 zsEo#sh(O;f2+~GGpnIwVdPD@epVSv20z>!I`O)dFuD~4;fo@d^=+U$h5vn30R7FIn ziil7Z5h0SaIwC@KM1<;y2-Oi0sv{y)M{yz|R7XUpj)+hl5g`(NNJNAo5fO$&L>Lkg zVMs)TArTRVL@^^G42g&^BqBm2%Fu`iLn9&#jfgNbBEry!2ty+x42_5|G>RV)VJJlK zALy_M-(eBH!y62*c|cDpq`=QsopV6H?^?_$NBtFoSkf{Urz_oR8Oe<5G784JaGbqiW4AN zoPc8SH0X?)W;#~sOFpx%wlVb0f_6_R`mB0%{C>AMn??aY)f`;xM37_YXfBkICLORE zr}Sdo{S-e8oqcu?adN}{bx<$DB~Jlq_qv9)lcD4^3ujp|=UIs>VsTSzYAio4FumpS zOr)COv>WvO^O6}V7HRsm)I&zGoFL>ZDL>9a(}A3jamLjxT8l9(**+GcxH8K4+Il=& zsA!dJAwJ!96_r(2k1&F&AR$MpBBN2ia|2*CYaG22=UJn~7GJjPNK8F5 z$O%b!>gr^1$kMM}R0is}Gx#~nE2Sri5X5py|tJ)vd0Pr&kfPQ~aR^LGg%ahmm9uC*ng3jQG&}B0ls>5g&S^ zh!6cy_VU>^ix$<@lGJi?+)nZ^TvkP@+^Erzd%G&F0}v^(+>azXIqi`hn|4Ed*N+6@ z1Gnr@bsX8DYPalAwHsOR{Ise~WJJASleSZRLw(E6IKNyX58Tp>7f);|D&(}as}|KY zAxkuk#w>Yp&C0noP4(p0M5|?4Jt{zlUG)$ADE%iL||!uWhMc33WS=z&H(WH0b&$(BJF~59Acd>3+kKwGAr< zF0WhNUa2xs7nx>fuEaQiY5bDs0ik_ik)gZP`LZXa-M%9Xn0UdE; zQ$1c{YgTH}TzZYw=goDc2#-P_SuXNDetk<*O^|hzVq$GWP16Cp*Eg(%hxEWOu*Y7r zcJSf)f7Hs2-2;dooSH$DY3|ad`r0uyOHr+wAy0in3z&BeOLk(rV2Iy4=$BRJt%nh% z={cjWX$e*%=zv-KiyT#y@FK@PiW6$^oQCGLtLde%u6BIG;>KDm2}J8{+Ws{w*VaL{ zq^@i9%Bgi)AyHaQL-RU%A2;jv$Fpj8H)NDAUGVOYo3rZVP}5HG49Y@H%h+X&xIPlF z;q{g3MOX)bbN48gDvow&MM0b$L@4{GX-+%1;sA~&Lo_V5i;_-VmhNw;5d>XNNQUg4 zV)IR@^)?YzAobZm85}-2e~AIjL1}77!Z8%ZkmZ`!fBo2DJ7}3+vBsm&&@?HI1N$K~ z_lSo?9}+2^V;0h`$hrolDrZ;!5H2S_?ZOMg^qA(i3+@sIuWe};8YZTRRJ-7?0;zdb zy9i-=nyLLmFio1;1@{PK3uk}rB8BB6C#vnj6E!q{ozNt^&2SW!ktG!su5-XhlH(7l zvwpDpeI_30S11)24~r+P_@}_icwqQ?q2D;-!JUF;i8q&cP@HG=KLu9B1M_t@$F6OO z2l&;O=JN57JUBHv8=7U3)=;ZL@qqQS&IV z1go=Zxihmam~g2uJ(OUCQY*)J_rwA`W`}h(t5Bo0WC*6{(;A^WytV;jdw4H~v)CU* z)Ic35q*8)#9C4fKTGlqveHeKCq(xT6UiXCodpXq)xc5-QryL8V@^LBw5>Ra$)7Vst zH)@QGB@1MlK#Jgb$ZJH>7B{ZMX<*tr2-Muhf<%ki?qYv2yWOi#2tsS)J}(=W>(Jn7 zuU0z69W-xQBh_UtG__>QF@7(uX;@5p#{#1+RyP)|3Y~aq^Y0enbQJ&tA+1?%S@@cc z>EMLUN50u%l7p*IS`LW3;fYnWr!j-pTmI|1rs210af$`jX-$Kk&} zv?t*$WIf)m_3c)CDiUyNN-=b;Nwx3btG=cR3$g!6GZ%Hm&%_WC0XobnN+O`) z4NUK9g*p-;EyR)+!$Dy=1(uRIXe<75kuQb390Cf$DN+VB+O?p)7JnZklx6#nP$H?_ z+$$yS4j+oV(WBoE()a?V%KraQf!!~I;q)X@m%$GAfwI9h;<~XauktWHoY+^(*}4L+ruFttno2& zSl$1(m)ZQ+8?YQ8qR;uicgI9fe*fiLVPxyrL01_Re!Cs@u*6dBw);|`j-u)9`Oi;c zN18t|7CYFR_ZbbA4`^^oMlqar2LpVB|E-pi-`U7E9e~Cf>Hq3`Yhm^NAKrBy0r;QZ zARU2_eR+^gS-k_F?5+c!d@{Zdts3)#z!xj5%2;7l$_^liDO$zyToubf zRV)Wpu^d#za!?h^0YD--sE*~JI+la#SPrUX4t!bEm&OBMOcwQ(*&r+?i~7WxABJQR zS=8ru{ILIH-7=re|JAKrvP5uGXrBx4g9caX7xjEBg0n2blrc$AFC z$atKLr^vX0j8-z9Amd3g-nQ=bthWgHb?Xh!dW~GKlJPDX?~t*Dj0eeRqsaG@>lHHo zO~%V)yhO%}WV}Ge^JF|n#)ky@p7p+Gjj)D$<|XE(o_UdZv1eXpUhY}*D1&F2XM5(Y z=53yNo_W4!o@1WtS*xujp4CXkVyo6OuQIRp%zMl>&l*N37nm1%*0olXXWnVv<(ape zcX;Lov(+>2CSwx}YmL=}O(DNdgcF@!c>6LCYS`Zo_JC`<%y@oGoIKgwjqw3x?zP%Uv%k-XT@`lc-|8)h!-94k|$mk|Hjfj z7J>EAsbbpEsjGFwE1r1OItZ`lG;7<@evl_#6R&%=CEoDFo8m1`yloxiiFZgmp|9h_ z0n&Fp@t%0!5g%X`Hkbo$e>TlCZ!~Xm#D|{vNPLVn)q#Ei(X>r%F%4M1YNaDS@x-U% zGf#XjzVOVO&08Gtr6;};U;BlHg^9@C6ElX4Z)$36lKH|4elhkF>YA`GQXH%u6feQD zM{#*EPPE}H8|b*NZ84VY!)qbMH=g)be20C?K>XM)mM6ZquA)ukn*D3m4`{{*nwAcj zB4>7<_(A;WhYXY<1O1Sn#Lu2}oOL`ZLoA`5{QG1-RX|qvYWi%{`jO6j@B*T!o^>ic z!vE$)l8*Sr6Tgbzuu313%Rd*9y7E>!;&)H{A^t>R(8K=A6MwrYP$?eJ;B45yI0KvJ(s(t=UUcPo@={lj_Y`?a9z($xal4& z7#VJ+<7RnoHo7P`$Go0SYT$9mm7NruacF05uIDD*4vw4Wx%qBK&+SC@cDu`zC|&_p zchugQ=XQ3xcy6KF71H|^R4#x8FBgtmn zb^Fp2DWQz+YGIdL(1WI(EYF%^jfJ1q{*`}s@+Z`0fuc;56m&hsnRc(c%^>=`5juvmfrC)Sgu}6|8C@W)dI65jFSYpyP{G|BSJ#G zH7Lp~5+Plm=1`>R6e$B6by3-85HU;d-pS<^$zin20UcgZX-ARYm1lGmVGl|tsGnB; zAr?+3q~nd34!tPSWQvj*ZiFc67^1pr*8;3)8;ZIg-Cd{-KptB4%zMrIJoA1S)?D-2 z?IK2wlX%vi*8J^*!=((*nu9UXs>9G{K4EV5tRgbH!7yJT<9RY(C*y50z9ZvLGF~R* z-!LpeMpyDaNv>itx|3m&v6PS>Bv&Ug3drb8Mi(*)VVDn)v4xC>$at8H$H{nvj7Q0M z42D%tP|uO~4Kh9^<3%!Ff?<`AkxfQlGWwBGO2%?Z_6%I+Rx;it;~fg{$jBgLC8Ah^ z$kmgK!RBVapY%Iwzn}E1YOBh#Dq)y!BCh!s8Shi72IBJqxiX3N0l7Mokwr#-GRk0> z?~!XZmHH}5@gdPZBI6S>J|*KbGCn8c3o^bW<0~@0hG8wEWZ#hYTQa^U;|DT+B;zMC zekS7=GJYlFH!^-F;}0_aBI9oumO%z1gOg#AVUv+YhC_x+MuLoVGFA}tr{FT5CSw~J z&yw*f8Lz>xa>&RfBS}UFGV;jCC!;qReaIL{#Vp4Qzk*K*4mWw$zSdrzRYCCvkg<@w zy~x#rjB-kw;wroC2Uu!WIF965BdwhO5fD74JMgUct%3v8Pd z(R}X&OcI^J73EWBkKcp1pKvw#E6XQJKO2Sqd~j9yczp{m!Y>1G_3(1+p-Ccy8G%R{ zRm00iL(ySr!zwvtK*Y;2h76TS>-U$)M}aVG5M~mq#;<`qn1pzhL(3;1k2n}aJ9^=V z$=V;NktK5j5C&J5;|Y+`35p6+s;t37$|utVx>?0Hb2sFw~+3)S_uL zgPcw?NUNo0(NNEw;o@njxv=izkp7+OAFQ*bzA`)sSNSQS+aFIPt|Qg>jOMWxNIS=LAm)U2h7nOTh|P>0I93g_ae zr%5Fux=KD9bwX5El+Q+&fC+o5XgKalm7@~vXnPrPGk8Poq9!F|X64}WF@RZ7*U~(b z?#pf$eev3+l?V9Ivnnfs=y>BmGi_JBR8{d4WK>oL31*?8wToV(2M;AqS|wf%7Ev2n zRf7YdX;ni}hH#iD67mi!M+c{}Rs|~FP|zAH2Fn)`_!rZDwOdi4-%3Dfq24Z0QAw{R z>ixwDPRfTDE=_Jg&(Q3-b6hOY=K1eU(UlJ@3np-)rLGCL3)9YX%1DF3P+k@7RSYek z+PD;_ZCjRMTb{3k5XlO(cWkdV)vSyJ@p8waRL$YDvokOM#`UWmUE8 z_lUxb;_X3e>y|8xCrDOfn5kPrXB%-AT0x~sSWn-+KqrnaS#ip$8iH;jq~fx-?YZH& zH^q;}Qfc#tRh47aW&1#^x@-@zvVK*)?hHirkn*YIjjp-K{;hdn^V(Iq-c+MMT8pAi z`CKrPwyV~wn;L7^F4jB})euY(b^w8fgkJa(j2o3S!pMTdxm#*u)FQW@iRN2bP2*|Z zimCJoBs5XJ^(->ZBLgY>y>2ONyar~pquAg(UtS9x07)P8F!Jffs9r%FyQm8 zo5;AEjC;svBja8&?jz%VG9G}j4Wkd=b_5w1b@(<6G<@4JWMItW+m0gxBN*R?Vat5) z*wfIH521;{k`|mKZd@mcXJ7;$GPrzZ{nBL->gi|!Ln_MWtPUe0)7}u&qsDa&A@Lkc zO^49X*3`0W9!?{NA?H&F77uXjWV?`a5i%45Eu|R`HJUID3NL3U+Bc<%hoEe8hM;Od z^thzQAyZjHs$|HxMJofWe4I7=jk-Lxq7oqVr>QN@w7##w9Ida5`+I zIw3?uDCUsuS^?cozObcn;gZIcI7hUwqH5u?0jo)Q(^GHd{<>Jo8e6r4YKU3yJaBmamr zEComtj>ttpXg%d0K`{EYE1|_}TNW-}S-)C-1tWsyVm0QUz({$t-NRjsV}&Wv6114} zk8l_yQay6gMJ?I>sjeoKvXp$%ijkiKn8M^@`ll)J-2~k1*H;GzM!$H(Q{YR3PcbiGR>{3^xQQr_6Ew7d|e@aZtz}ih%Xf+m*JnL&Dus*h$9Cxkf?(eSi-1P);02v38agckk=N>}F zq2xV`9!z1C!M(6A!bxTh$}UM zRzq~s{0JdD_d@qH(m0997C9%a*VsvJ5-k!!l3nDv7mID4dkIOFAZVXYaoA*1pRM-X zORXP0_cHMeI!0ZQ{7?0H?&TDAh4th1E2+WWl^@{mEs|Q`g!;ObesTDZRnOF>q8|z; zX;^8TOe>8(-+`1`>KS$;vA0V*zGd;Ux>}vuy^;hjN)?UHP5ZH~a<8WHnd`aNxYs)F zb)I{@dxPiR=-%YHH@mlBH;^jjt>p5^b(?#;=icF#dhVUHA9p9w3dy*O8mK#-7P4kG zu0vn%s+ELs^{7&wq+wFyAOEoX7@qQ z7PcE{L1Cju>yGAYin{vbzjKGTIs-tFT8+;vLO%ej5PC(U-M5m`@lJ^|fAV{b*fEbn>7(1~&{BBX!2ifs zgo4hBlp!(Rm(X|c%+-x(8gUIlrLZs(y=+S(b!<@FYyXv`_N?Yc7Ga`iXz<|V6iz{< z{=(Dbc3)wV-!qDiJ_leHhzDMtMjScU2@_5^1TyTRK*g9FZxRfaTc3Pr|7SOO> zPIn{x|Nn$njz2O5=d@!3w|bsfEu$;c>D#iX?f&)YvLZ?%vaZ&GLK5O3$;`TDdC~jm zX4EohuP_70#lt>MS3P~e97P}LD1m9qE04lr-7Z4EP~~`Bc(YMXaDu}pqWdOMu+FNF zC96ss#0w8A$2M4}{2zbMjJ~x;M<&o#{?ljq=egxUAs1`&VwDK{g%#c}Ms2W}4=;QB^3|1S8BUqw z?J{LG*ggqhh~wxM^jnLtK?Y4F>KXq(e48+xYJ{$w%;=F)8d<=hDvI78kS|qK6Y1q@ z@^tixsMyF6KA09u;Om~C_+*lHs^Zk7=GE8Ig;&w1p(0E4>DX^+!mT9otD|&9{-iou zQc{I723?0bvqH0E%!NwmOLsw~z(`luK)Vzu!?02WR5Y%2ig(&F4Vnf3^`Sl0(fPXT zvbu%9K3S@?ha*==Mo)>k=sKALX5fTuAd@7G)E}#hoZHzhv()|7;ydY3gNB%tEesF2 zN~p1Gn_C)JseChId^_-v*^EYvi6fO?c1!WjMm8M(OKkt?i?4F4SiQ-}wO(4B6mmp` z7t-R<&>+B!y&-LTmOG+EWca5js@SLy{x@GdOse^DOlt%+2}2?#)VL7AU)f1HV(W?( zEk|_u$hHDi??{--f)aeKk~&>%8ngf+0GT#Uxy>HU;3+pGvmsC_D>?o*h zWGp^Mp0lC_s!b>r8Y^eDti@tR5HG6mMM1JZlhbv7ma3+lYP%GR6CHH*qD~e|ZYq?D zLgm~~wMgn2s$o2ch8&Qvej5GV^zD+UP$@?SMaEohsoY4S0aZPHRV<|V7^(2lX*Awh zQp=;kkqz|pK^gj;xqPBQBUEa+?IKB@nMe*T)-YlF+Y}t%c~ zi6}ElV(ebig!@BiE)-&`eLNY3CJl0G8rFvBFr}(dEJ9F()0^t?$n|BGv2AtK9(2Qa ztC4*feKOhicA*7ZN**;xtgXDp0M`OksqO6MY!-5=tq#wpq3 zF{JQ=;;8aa5FG&0Q+S_SNSCUy)U;wjsiGqj>BxjkDlhpeNWlvMs_bb>fj8D=c%9Qq z*=nTKPg&kpLW59R9o<`k(j2BAVzkPu#~P)i?#7$3NGT`Y{)c*x)?ojsb+%_PIrao) zb<-17DTZ#^$tI^%q6}0Fr*5xT3rx~Sl=UDbo`O1_b! zv!y*8EOVsBqc`@bN-5+tv4e!6k~X90WfSG^Vhr`&de|J8>UqmDk}qd+)~MPq+Wh$a z(a)%92Yh2?OGv9lFCpKRQwk>g2RSp*qmKUW8BJXXV;Nm?hxLuI=tk+7O5JoE*2yaw zo3iQ96i2^5tMMWYgxNLNqogsO>KJ}bM}u4-RMBKMsjE{Badv$RRnknV z>a=v~H&1_fi#JbNk)auxUyq18-opGj7v5Nif^Nu@RbKnmJI=TixPYVkm zHMKr)1{RO&T4=LM?MRt3$77|BihbrpY@b?Vrp_4;HWO!#A3qKBm30kE=>>~kp48YD zS-+t2(*qt#8LO55$KP@fkIVS)FYUfhww-h;o}OR&iK64RjzGnvKNXFtivrPKhR(t< zi%=_iG@6S4-W|4dU9sbpNtGCmn#lG=Z>sX3Imonl?zdj_cK!?<+W0AYmB~TZDIaRM z`t?trERTP$`~T>p;Pkn5|5NACGX8JLPNg0Ha(QCvP|uP!RIa2AwK!=*#ZB7Kcat`>-K4!y+t7KF zekj068@h7RhEjsGp_d?S9PO7j6ab`+Q~uJ%L4RrEtiQBz(qGz-Y8&VMr5|bl(uQh+ zw4q@jZ5%+CHqM|+8^`;ljT8RT#<6s1<7B$Dp*0|Fs53|#$MmHQ^#N%^gFxEQYLGS* z8>9^#2x;SRyR>n>UE0uykTw(%qzzR7X+s-8+EA8|HuMan4W$EVF zDhASqmVvZQZA0Ne`k`|m?KEve^FaEAwxNU|{m?^@HdGO$?P)th+nL(V(ss7Cp^_lu zLn}erP)v|EbQ7cv^#o}{LqXcm+mJSNR-|2^?atbU@`|JvY8&b=(qE+QZrU!^c6V(< zcR|MMsck4UNI#S!q}@l`eYIVp?S9%W)pnV-`)eEO5HdYfC8Q123TY40_F!#8pF+~1 zzaniYvq&2XO45e9tF)m!D{W{^NE;eX(uVGqw4oR#ZD>MC8+uF9hVGTLp`;~k=x#|H zYGKlbGMKcX{UmKDlt~*(T+)W_m$ac+CT*y0NgLW((uP8ow4q=nZRn0k8wy?0hFXoZ zq0}U8s76T}ioeo^E|j#P*CB1Fc1RoA9nyxwZNN@pW!Swti;rNQCp2YVbQ1Vhv&|3H5RlQ zd#TI}#fRKy>CEg5aSh`x6wU^G1GW`k8Qo}fH#Xs$p?Bkhsap`U4c|(?*BEcyhfg}+ zkMB4?fbW%W#z)^DG@6WuWTtmE(vYr;b+B~^3eqzMSch7Np&-T^<<{ZW5%@goNMk69 z? z4aQ=kEp9bxHy9Py8l9)I+$Fh7%}vI#YmJQ1b335Y@hQ}DqfXi*=v(yi8J41U7{+6u zK7kLVK8ZNn5bG&pfblf4y$#uZ210K&#u?AbEYina2N*6gaSQ|=DP70PCp_MN!lcx! zpKt~;fp5|phnS-Z%kICzSXWk90r6Xn<+&?bjg{vcxgcydR!u7{Z#5cPjm9v1btHU^ z3~!2sH_Py1nZ8AauWdE}PyvEHgeb_BTE;4mLguo^P=stP{{jn1~G* zTA_)!`PRSCUz(KF;He&BooJneqT$9t*2$Pn;T!kXDSpuyr=wsf{w}&`hKE_FtX*Jq z2nh$uyynQv9YmQs*w5T!Vdgrc@)^cAVDl|9_Z^<(PX^9o7&|i_JUOrn#M>nhZ&V;2 z^u^Va&p4WOG|ph1jPqH6aTV)qT+g}~_pn0aQPz#6vEK4g zoq~Eg$FOB1OG6J+Yn_JrlV&V8_O?!k%fUCJr(0*hC5)quG1i%IxyBhrm35YNHX8K# z=x@%k&c!3V$MCH4tn<+q;ZgdJ9ye*=9^>q6@yRGB>EJL_W1=uLbC`D^PEpjbv1 z;|uFj>oRoF%(^`2m+k;3>X&Ag=3a&dSDJgdG_R26mD0RQnpaEn8fjiD&Ff%N*=HA} zHIgf0S>zQN#uqz1TpblnpWl zvBAa=R%uLTRmL8yT9z9PI*?4~b22(7db^>1^-2sWYK*)BeC0UN%HF+%VZl zqk!#f6tbO+u56Ssf$b7B#I8m^Jl(6Mypy!NrZGMk2d?qUo4pTov|?5RG43F7a_^Lq z+y(ar>2H<(jc{+0{<{PJJ<{J6`0the`vU*{(*J<;6W(U&e=rE&BK;2q{)eUik--0` z^gkB(AD8|o0{@fJ|5V_ATKb;}{9C1eoAeX^XQltSApCjhex;JIT}vQcuYtg8#>2@PMYj%$tHx(iJ@~+=$srnr-aVkLg&=bxqIlG z7CNVg&KaR|kI*?Ybj}K$vqR^c&^b4B&I_G;hR*q+a{-*XNcIY;dxy?_Lg&7rb7AP* zFLc&~&PAbfapPx1Ev9O>>xM~-hdfE;M@eK z7Uz(VdQa%Q7fy|Ee@NXNI=8^75e^Nh4~Nc2L+9gR+`~fZlOgr+koq*7n(@|<`fM2Y zh>-ex8281{`EnTH6*!MX=8xK7yauP1_vkRfo1ydV(pGj%8#@-!k85Sem$FuN0*3sL z0@A@4Lyo4n_= zvUB16lt``YJXjx*w~d`Y-^?+N%;AMO#yK0=1+DBt(1%*B>>}7-w6TjJ*d?uuq<}9K z@2}dEFGcLHkdw>EHe1={u)k?zSIkecE6wc8jqIvcb~VwG?3z|~t#V!0%C0Auz~3fz zLo2(Hd`Nwh3ctCP-J&VC!v2cft?V{hKKV8U_P0rPyTXP`V}BdN{#Iin{0@ap6d(Ir zjs0B;?C+B7PK6DZ#{Mpb{hh`}_+1K{C_eUg8vFYc*xx7F289im#{NEr{k_IUc&oxD zijV!h#{MA%_76$6QDMWSv44nR|DdrEzDZ#d#mD|ZWB-@}`^O}^TVcbcv44zV|ERGM zeviT?ijV!H#{MY<_D@OHrm*4C*gwUvf6~|pzgJ-s#mD|hWB;52`{yLPPhrEQv44(X z|E#eQe!s#dijV!X#{MM*_Ag2HfWn4LWB(Gv{zYRWe6zwPijVz^#{M-0_OD6ypu&br zWB(e%{#9cme2c;+ijV!P#{Mk@_HRk{kiv#bWB(Sz{!L>e{9%Pn6d(IHjs1HH?BA2@ z5rqwx#{NBq{kz6S_@fG&C_eV@8vBnF*ncG1V+tECjr~Uq`wxwc@W&N4QGDz_H1?k< zu>VZ5CloeZ8vD-}_MaLX;ZG`TqWIWh5PbqA;H1=OH?7uWN!k<>yMDelz z(%65e!2UbQo>ACvY3#pa*newmgl|>YMDelzR@lsFkB!ZKwoPJ_OJU<&G5-Ai8|x0T z|EBO~CAOq!Y-VV=zo7oSjXj64=6N{+F_v;rVN4Awi~$yd3gan+;z{;`5(+LY6psnT zwNMCuQ3*v92!&TRVCoE;DX`5Xdr4u#rLoNzHkN2;z+wo0Sz!~!$A*&zEM}#^wvz1M z3L7qsZN;!Hjg9bE6gE+OY>e3w+fIRPC)ukC8!nA)$FOaUjqukLHc@ztX9}ArK6Zx2&P;)w znPi_UY`8RbW(+%1VHD9CVCpm^|LL~~J=C^T<%N~GQ-InjhT2J^c1m)gP>DjQo!Yod*-3=i>7)n0lJ`>By#nlBG3;I%8!>w;Y@+zsNGvDwy;ETKPVznqyLW)y zJBHm`V<7M-)*KBU&{ablCQP5!zP$2`U zYZ%nZan?x|LWu_Jm*f=+tX~YQUpugV8Vn(o1XdM-_0wQj9^HPekd-ERwaRsAkn2*P z6|EJrQk`qW9HMef6hGIc8oMk7c3F}SRoG<#c3BL&Ok*SFFojJN9~<*5S)%<@V1wp2 z+Tqbg+dtscKgOxQ=F~sQM<`B2@j3NZoT&2Suoy%ArJlGvb>+uNG+Frvq!0@OFw}F})7R1|C70`TcyGFSU3b+kw$8C`2HYmwQD{e&bxee0X2B+W#n$K-al-uBd z+u(NG25WAElYFe=MiighV9l)}1vk)qZsVfdDgtg5?YLEFZWT#BUU4Ie&#gjps|=AR zM3E~4OV0nG$7E6)>raF{#o_s*-#+ z#e^utq^gZiB__LvOsX`K>J;Txo#fM06R!?fRmWIWYgULkU9lpHUrOkEsEJdGG3?PA8!b*9Iqz#f<6`zY*j0rt2U_Bf4= zm>QcXKK3|`Jw65Y_@I)F53t9_u*Yj`#MIbC@v$-H$ciu_1@?p_-&e^!A;6vx!=9kA z5mRFm#mAnYu_va$o|xnd752mcdtwZGqQ*u{jZG9E8>5<(dr}JQNlCt+!k!dhPl{nr z(%6Wpv5DeiPtw?vQ(#X{@*0IbIl!JA!=9|M5mRFm#mAnkv8SZKo|5E?6!w$=drAy@ zipEAvjZG9Edy2;1Ed};&NxoQN?-pS17Q^06V;_N)}xvyyy;!k!gi&x&Es(%6Wpv5DeiW7Z|HXQ#lP zo#ZPO_Ur(Ab_{#A#zstyO%xv+vo47}Ck6JLBwwYl=LFbuV%T#uHezaQqWIXDbxG{G zDX`}zd4s~98(`0kVb9grh^euO;$vghC9$!I(e5>FUXnK|?0Et9ycqU8jg6QZnEXAFB!jg6QZnyp?DQeZDg@+O77Ai!P_!(O1V5mRFm#mC01OJdVh22+@D$K791z{&}&DD0Jb zdb1axXnM1E3eomX@@6I4-hpU)$M&-J)}kS1i+X1v3W>HCVQSI#NrAmjlCM?R`vlng z#IX0#*oe8m!X}E3jk%G`_P!~w_f7J33VYuGd*2xLz8V`b*DGwI_}G}gNbH3vuoouz z0SX&iXV=LCZfs!;d!fcg%mWoRQG9I7UnKT^DX{lT@`DuiegXD=G3@;`Hew#Eu!-Vh zWBwwsYf@m>B>5oyrE!g+nq3wsiI8ZOOEL?0lIl9=i zERc1XgTG*XbD5TPS(2ZkWF-p8x~z?#N{daWsl_IEPbcpgt^7=4Pcd{(=vXbJJRgU2 zzcF)I|Lmebcq~h8zdS_3SI32?MJE!zJ{10}sPOfH@bxj_>$ULpNq)8xo+u=IeH%ZA zq&-&(Z&VXWKhxzQlk=iXmIq9h$CxbFOqM74`HBfqh{^IcegQGLFl2&>n5;OftX58^ ziHR{LB9hh+GKOwrxCz@3Fm8x3ZqSSylKc|Im?*@!p^aZkj4ulrV@4vGG=@x|0T?oA z445>=m^5l8jY)omVnP&R(%8nYBqmpdOfWT(Ojbv7hbe`mtqB=J#V};NCSbfK#(0fp zye7%7QH+T~jMudBYl-o7A!E!fB$K9)$@NhtO#zdp7?UQ=q$$a7P)vwIOq$yGjl|?8 z$%MQ&llPWZj!^m7Fz1jwn?s&ZHViY?9Pn(8@od&So0I%@#giz+v$>7mK}_ycJmI~I zyc<-DqN;+)1o4!;0h$ha1DsU%fcME^ov5YpR#4T_B;ROedvw;ElhWY` zIwH^SE>-Ce15K1=A{9&pDwC=$oOsgyv80GWhvv6Wct?`o(`t~4;D+q!_9oue%1M`T zLy|+8aU;3f`2Cc{2UR{kJmaZ{3SQIR&a@rNkV!(pUNIua7FLt6PGl;EBu ze^e#7r;R^G2_6p<+@llRo8-`QB-Zz~@h2(LQ(>fgRV3(aK$KSgG@;&~5}%=xIGfw}Ho|#U;gD|TX3cC%_WUr#mL!LUByrx-#-FDYFN7(!=oCoJ4%PX2 zID5}9^}|X2qDuX68-IyXzZ|AU!N?+eG<$5A;?X3Bh9&WPw2i+)DP9dzJgQSXo;^2A z@pzKIrcylK#$TrtZ-gmOmXZfac$k*($s~VMC3v!pzeNe&4ih{XNpQGM@O1X*kloWs z4i!!k@aZ=GE~S1iO#QS*XZ>T)AFJ@-Gy~D{cHs0{KdTybP|d zXs)j%`PZ!mX|2B2#=oIR-?nlZz$wyeI?{{e58do&E#{j^{=MSxW*h&3691?;P=Ysg zg13|WCl%@KHvTh3`lXfsiU{!jM&94UG_|3+ z9R)qxqoG}U3|qmDW&5+^5OO>_iJidCW&dJVuoKzM@NHrzvxnFzY%4pJy~<8wAF$Ke z*X#`T8#|NR>@1$m&gNa%IlK=$mk(y=@txTDd?LGm&tw{5OL zyNsX3F6WoBEBFoUO1^&+G=1vm4C}c9YqO-E8(` zx0nOit>$ocn>mi%Zcb-+m?vy%d)ivhp0SQ%Tdh;rHtT%$EI!!soOLUE-nxgqU_HWKw4P-zS+BE~t&iBh zt#8>Y)*tLu+hMQSx$JejD|^E(VQ<=%>@9m|_O?Bly<^X2@7fF5d-ihnzP*-xU?0vt zv`=Io+2^p2?aSFG_D$?ldn5bI-oie&pJ89vudpxe_t{tWSL|#1SN2Vs#lB6;V&A28 zX5XjvWL_0#C}gZg#D3rJo_{4O!imWCG79C z>$#D37iVb?aGv%gH`89?R@yt>M;KRgCe7LxWj}TkwG9O?;|* zAm80Rnoo02;?v#p_#W;}e5TvVXStjCY)fowXO-3%iHlvVV zm(hz~pD~Evm@$sulrfFpoUtdrC1VM{HKT#wma(4So^d$8BjY4~SH@+0L&gofHRCS6 zF=Gqgl<_3LJL5%uPsSU(E#nh@U&bH&{>(J~KxQ`IoLR&l%Jvop~XDCi7~(HS;Vymvsn# zKkFF&LDuQ~qpYj>$62@XPqOajpJqMAKg-(2KhJuVf06Yr|1#@K{&hCv-(;urZ?p6G zciBDp_t|CqhwN(pWA-TiQ}$&3OZGne*X*VIx9m0i_w2*?AKAz8KeJEge`TM~|IWVJ zWZ8F{Jo_Qj%znnSvR^mt?Dx&I>@Q6x`$tpcFf);pXQtlSrMdfiuR_8ur4$Xbn9G3gJIXw4Ab41cKM<&zF zosxOxsAN}j=VU)~*W@U3baJ9OCb@?>Ho4Fomt1O&Pp&a1Bo8nrCXX>ECr>t~B+oE+ zOP*^^O zdv%y*?%iRDxlf1H=Dr;cH5Ya`*4(edX=Y7_^UOsZt}<&oY%=RQJZmoL@S3@_!zbpl z4&Rvd9ey*H=W%mIUZ%M!uZP)?H^OYp8)vT0n`y4eTVOWj)tb$DE6tX?_2&M0Cz-C`b)cdvP1-oxfWd0Wkc^IkR&$$QT{Eblk-@O;ZWB0twWGQYEVRDLh>==}cX zG5I6S6Z0pUC+F{Fo|4~eo|=D%d0PI7=IQxonrGx+Y@V5awRu+l?dCc8PnhTCzhIu1 z|E_s{{-@>z`QMut=KpS9)G=XR(J|k=s$;2nb;m06nvOf0*LIw0Ue|H9d40!y%^Nx{ zF>ma+*1Wyr5$2s8&o=Msc&WLe&7CZt3`& z`EaKk^N~&k=A)g;&Br>8Hy`gb-F%|cKIW61>ddD)HJVR%T4z4f=_qqsr*q9`JKbtN z*XeHa`A(0SFLc^wzS!wi^QBJjnlE?y(tM?WnXeWUn6DM|G+!?mY`#%2+#NqBuAf_TyMAxY>-wj)XOV5qFUqm@D(Y?RT{Ozt zr)Z+JZ_#{fVNs2>U(pJyrl{FkRCJhCTXd#XS9GJbq-cY+wCFKwS${z99nkGc z>%eX|S_gI8U>)4;KI@QfPgsX_d)GR=+vnC1-F~%>EN0eG#p%}3#YyX!;vUwC#RII9 zizis86wk0uE#B8Ut$2xbdhu%OjNi3Ut3od|7l&*J>9yldk^dS?!&Dcx{tPQ>^{f3sry3f=I-^@E#22y zw{}0wx~=;O*6rO-x9;eEv2|DX+pP`V+pN~^k60VKzhG_Z{2bTYt;ZwQvpu$1&-HlKdcMcU)(btpwqES zck9)jW!7swtF702jKR?pbfW+w&0Xy`INe@Ao|2`k?2f)`vZ> zwLa>3yY+F;yRA=pK4N{=^HuBfp6^><^!(ELvghyCSG`Q@>s}ewH@)(#Z+msOzVB6S z{m^R{>&IS`t)F_$vwrTi(E6oUz4dFaHP&yv4zd2|b-MLuuM4fedR=Y(-Rn-<=+$Pk zUXR$k*E6=+>s8zC^{$=P>m%Fg^|>v2{cI^Upu$=5#+hR}Xd$2vR@3HozzNgre z`(9x0*7p{BYTr%v?tQn|)A~MZPw)GRJ)`e?_8xsdvuF1G$(~)3u;-L?u;-Q(+4D;J z+k2K&+4D(C=vbz<#IL2lcziKDggi_96Xlu@CLnY9H2bi+x1Dm+d3_ zy<;EM?=$=8e!tkqlp6N2r3w4E(p>xa(jxm`r4{yxr90Utl}@lvE}d~l*u+2@sRvCl7k(!QYdW&5Ji&+Lm!f3Pnp z{mZ_z%(E{m>tJ7AR%BmM*2liGtiry!Y=V7F*$n&IvIX{aWy|dA%U0VrlpSc_Sazg+ zQ`sr@EoE2Ox0c;x-&WRY-(L2xeMi~T_MK%f+jo_{Wp60^%-&e`m%XXKubs26YS0X7uXN>ueG=IZ?GTgf3W><|NqC_mj_l=T>qcB_ub{) zT#}FwB&-2hLlzPsknlj+7umrDL?t8-2xc=2o8pS1b=SI}RdGdIYb#1X(H5(e}X*XN-_c?Qyci+nmS-$<_hvwb6b7#&ubLPyM?aY~-+7An^(Vj23S^H7J zJ=#wS+O!u64r?zKyr8{Q@TT_Df_Jqe1%J?v7W_?nx!_CfmBK9T=Y<2cR|`jKuN6+v zUN4MkZxqha-Yi_K{i1NS_EurN_N&6J+S`Q}YrihMPJ5^DR_)!wd$jiozp4GEuuc12 z;g7Z77rw52Son$dQQ_aUKNLl^KNe+c9~TYMJ}DZj{i$fY_UEFh+Fy!hYkw_TrhQrz z*FGz1(EeVuP5VdDF72O1*J}SN+O7S&=x*)vqHk;eEqX@#qUc5K%c9q`uZn)FQ_&xF zQS^6RDf&WJi=(<$j3XY!qjaOVL^q31(4)n3b*p%po>sg{w~OO?dhs?rqxcd%v-oPg zck%6dR`I=hcJa6MKE?a>oZ@HnV=N5mY_b>jZKA`w3ec-sLK4@HTeek$J zdfvDaedxF;`mk}c_2b8_(1(vZT^}(nu8$m7r;i%9O&>GvYCV74E&AATck2b?zM~h8 zJD?YhdqyuF_Y-~GxYzX3aUbd9$9<|#825!fu_R3|E6LU;l?>7+myFQMOG@-9CA0Nd z$r62P$trzX$p-y|k_P?6l5P6*l8f{iC0FaSO77NYmwZc~Q?g&5Tk@F^<)tP1iqdj@W$A4Fl+qRYX{B}g>e8M1 z>7_U7Yf5j|&nSINKeO~{{jAa#^|hrx*DFik*4LH3uUD0Rrf(dt>h`sVT5^)2Hs*SC(pPTw~EHhuf}d-QY1KdN6e{%QS^@vrGS$G@Xr zI{p*=vhjb{ca8r_zkGtBUooMte(i)|`t=j?^&2LX>0h6)Sifn)Y5L6**6X)SsMl|u zuvOnZ;X?hk3D@d-Cfu&yGvP7)-U(0Z_f2?FzkkBd^#>-rt?!-izW(5Z&-6zolK$O^ zrvB)}KKf%53-re)mg)N^&eGc^F4PZ9JVie^@l5@RiFNw-CvMZ9nRvbagNe86&rW9~rvB-qEd8@d zL-fB-8l(SX(q#R=lV<5(PFk#gHR%jPn}pq)Nv%e7(glV!=^7(*(rrf8r2CBQNsk%1 zlfG{ZnDnACXwqxO;7PwRhD`d{$eZ*ZW8`GR7(KaZ3XQ960HF=6s@ zW8&mBM%m=Ejo9QZ#4;u?6A2pUve#=-s`2%C+ zaNxowK&5zSW9R!Fy^z*C;B+VIJjwLuq!fOt^tby$VR(cH-MbP_&KJ*1|ua{V)As~Pad z$PRxm%T_b-3;&Flwb8BvYVT|nQ^0JM_EO&pO*mltNU)B3+%b!TP9C#WoS9pV%!Mfq z9+8pDK7lPqGJZ&{#`AQY@ngElc!7Ro{FGiWUZj_dm*{Qd6?)frncg#gCUoOf z(Z_gAR@-v81S}we$H<3)|0U{;(02IcY@)Lx-;O+jxK`R2`3@XdM&QAAg!C*40!5DN zUXVlIjj#_>Rb)vYlM1SQpI7B{j_VV1)FJh_RVeHU7}`{*lO z^aDKfYCH4^l<5rG_!Ch687Th}KsUfgH^4`y`{>$ybW>U2L7tZ1rVdH~mR_=rPbp%2 zmS`(*!s>X*MsgRZ5;@?5ng?PSR3?sgVNqTkjK{b(bx11Ie^Q3=uK?6cA8Mu#^`H;+ z+h~EzzxjvMJg$yFyTjY$1L{y&C&TvAm?TG~+3N9*45vCNb-Y~2IrjTUjqhkA`$WKI`L;;U?Wr~YB-zR;(Px_(AQ;zbWiAcezM1li4 zyDv4hKl*s{Tz{m3wLDc$T(Ip%->j=nyQzCMm0`Z!K>ahQNw(x#3{Ky?^8 z7*K}*Bm4jlv^pLFAb%|GS%*}d@&y?O)NxXamn4cN zyEbzH+2%>q+g#{lK`tM5mJ8b^J#r*+6pBQNyzFbK4%P3{0Oym{ucI@6);Wlkoq%|y za}cL>0^;YLgILoEh*vuYv9=QsulXQ?ZKE_%Pma2)fghpn%74b%pJ+Sm!G zH+)bXR&s3sL|7%i**S>DPC)#^2hoB4{=cip7O2QAP?4=rk(;3+w@Q+Zt-l>^|FSdU z{_ma3c_8ir5Vr%woe$zJ>@sn0MSj)U7-?sR%zs;I+F$$SOHq&Qy5e0>kCz9aC96k= zTkmu}XuB!^B3YoGmIS@q5kc+r^|c`Ax&X8=g5K*0TDum#e3hcvVG9Ati4x`ZBxf*UT_!LGGOkZ-q7W8_|m3M*vrPMJp7t?8x?RoCS)sl z4m}RN%gLwW=af?mkg@EbIw^5AO+v4X#MKI9J__;LM|tLc$~W6+ym^3P=0TcnK0yo3 zCuxQGw4|Eb!+6S**UE73v(oP&R-%Vsc@dG{dp_lr3y~V5aPb>h?Tl_yC-0Wd_{MOE zu0h;z5IH$>Y-yWX?pPd;kP!umh~s5Mej=hfS#a|Bkt8f`L;?#(>=m<-$U)RE6;W;? z!pYS?5s}D}gov{wA>u3&5t~&Br}VWx%25e`PT58$A{>-s5)lqc&XRMCE4K$mX zZR)JW{5+`6zK#01D?nJU!O{<$D)6$;;zR1(Rfp7hs|pXO^AD&Cc+m&|0~6>r^(3qo zsS6Q1C0kvDtDyGM35(t3p(ViT-JX;m7MasNl2?Sr(xr5{x>!E%z;uM)_xU%)tfsz1 z(VNJO-b~riTWDzXRvH!EO=F|C)A;B&XlnEhS{}WNs-k;nbM$UHH+m0U8hwZ^kKRjH zMDL^95WXXNKiwI9fWCw9zUW?hEczfl7yXuGG_MYg$E_zHLfxoTMZ+Q=MgD*h?-g>L z=#PlIQ-ff_0ZjqMu}%XL(UJ9D<9j`(?`OT@asrk`4N2tb@Uz7(RWct zkD`wDp^hG-!svb~i?-3C=m9zyMdwAIrmGRYF8V#X zA^Lr~7vTq@hv~uSGxS9CIayC@px(=9I&P2Rb-G2Ak9ztGczd2(PZ8YU!z+7##n%Vj zdWwL~tK9pFA?elBwM!&}X7Wvfa@x;4;fUZQq#gKaXVzn%ymT5VWLR`T0H&LM% z=0uV&;eyk)t5@w)*R-i;98k}!&?9BqUYe9hmaXE(E?m}?beRen7PWkA8PG@-P9-7IHXpu%GD33@iuk+UOFk)IH+zwFc%Kv_+~H zg!L?n{*<)n5!CWgN{jxCvZAk0PW0!f=~q$1uTd=eIxUI5L6y;8pmu*n+oEsNwb6I! z#^`%=U-Y;1aP)Wdbo70+yx-Hy(GTdY=!f)i^b`7P^iT9z^w0F4=wF41e(Klub2J(^ zgk6O8nL{5%K8ySv?Pwca8u>@$pIG8U{dk==LjS^jtlUK_k$>Z>0=f7?UeKi?_viA0 zt_bdP`e)>Gq{EF&>djvJB)%DnhX8ZAz2Hx-q`-*uoP}ebrwl|)7>jF-PTfnn9L8Tz z9m)?G3*pU@9(7covslPi<9X{U!$1N>|3$r{pMzchLF4#>CRu_iqF>PzTpu^bO58Bk zn?_1;<-6h1hZKnlEdmsIfbFba~G{Fr+k{_VVoU}46Qieul?4>y%;9MN% zxSwJit+~;~el++0C8zT1LG`@bsBa=wp`<%fX6}`Bh(2sbcs+vw9AD-#{i>;IFToQgEH%oY{BL`Ax* zxG#j_20EzlixAR9Zdzhzr&n&TA7MG8%+9fIqhdD$Zk6jWLwas{BEwKFMQ$WV<6_|o zIWxBxu64^z#}698C63r9CE#1*)Jt-r;9nG%%I%@!QbFMR&YY+o{^in~sIiCoBDaT5uxmE_vw|dh`s}HTUa;VDcOJ`fh z(H1M0c31=HLTeCRVhyIttRZxTHH>bwM$qlnD7wcQO%Gc6^j&K#9kvSSd21ZKVwKW6 z)&%;kHIaUAmC?sm1^vUCLZ4eP`ofwDgUwlDpfy|MS#!kk)?6{tnkNdZ`J&Xq4OiAO zagw!MEVfpN)z&I;hP7I(wN4jR)|q0Xb(T2CS}V3&RpMf6z1U@K6xUca;x%iNc+)yt zyk*sjUt4vG0^4H4YEUezNy)I9mGM@KGTCZXroi6#L~9#tkk3=LSQjdnSQja`SUZ(F ztV@+gt;>}I))mT+t*ewH*44^ytm~BztQ({%ZNnPxJ#@8Hhf%tpz9!Y7g-&u;0z)3b_%MCf=mWB40p7+Tty`B=RM?+Fs(}nkp{&w0grF6b4?PvGe5mP& zgSJD+z?FL#L}{iLb-Uzd3_+ms=@}^6dhU{){`hgH1HIhsKsDKKs#oxs=xe*F2}7yO z{G7;s68U5IW2J9uqF;3{&^*z}aV3<>12mprSWoZ;i>%04NYz|jZBwt}8R*`x{*a%m z0}ud3z&7=2*`uE1i!m;K?E^7>k~HfOnbuR3VLeTQt;1Ak zJwqkd570$COEK#?nr8i&&ai$$>#Y~4-g=QPuzpIHT1V(=>t*_e^(sALy+%)3Z$f;3 zDXV)P7`2{;%Ud>eOk(bmJtt2Xp7EHC5LXm;Ezf8c*v|dsQ+|K>gxg=5TAF5qZG1QG z6jT8Bl1Bd6)%$6>yu4gqHYoR}aA9IAK01rZhSp2ojElrtI^;%Zd^Id@Vr6y!?!=yf z>)ipk6M6o>q;UHq#)DRFI)KfT!Y1#?x_%Z-JYVpJ9Z=CCUgDNzPFBm2H9nOi`^mgF5gDwg$ zRv5TD0^nw7Gef}@b{*VZ0dTXl*)F(XkJB zWD3H$5)NX4c9L6=3Jj!pD5d9*JwRi_yH2N~bblnJYv~c}s`&N3P+JrREx+r~u*cy; zTdXY!gBI8qYcG?@v>gsWTN(~6U`Ep&Xv@N(jp}+ygS0IVhZZm&>JDuy!l4E1K)M5M zWjM5eDM)vqog5DB_@43YlyGRndIs&(aA-q&2JJL$RhabVbsZYEWBs!P99m}2pq(8KEu&}9YQv$W_Y7KHIJCevRA(9~D82RJ z(CnVk)({RYt!L00!=YI{gLY0hG;G55q}4ZtLxW{aPoOo2Lo<2?ttDLd>RpEx)V;0Y zv}s+37L>Qm+7?&$24_1ROzgrZ30t*oAs`~%nP+U*&UHZ~FWGhgBy2`_Z=ee}Pumef zQ3td5@IsxhT@Xr<8eXh0im+DgcS;wA&f_}(7EaMcp&*oSdcr|mtX&eq7ZE;-4+EiS zJGnh+m#WtjiFG)jv_-u}y^ct|0nZ!pZ6^Ns-?`31+~7WMa-Is$A@NUvse*i_yU#55 zS?oT?yU%&>fw);U&5gB{+lm)8#}_rU)HKwuh}XueS{Bwcx5Vq? zO+{6;mCemBeEB37ZX6x5U|4cm6qUA$e^wiGx*8>wPuT2sMVy+7OZc!8nn%# z0n}>Ib~=|s=S7iv2WLLtqzg=Jb|QF@MHkan#wQbA!lCmm+UfiN^Q9arpvw%}Wzgk< zGBz!(tdG~8+R$`%b7N&yTu`5dn<_U~ZY^%!Qd7U7c!B&pMNqH0hSuh|#~DEb76zD? z%r>OfV>R_PEz<;*jt&ENjJ#t`5pbH(Pz_2l7S`0q7q`}}i#M&TTvv;jtc49#m9?i- zHr4RE8yRWYSko+MXb@;vZGtRY7GhRY<%SLMYC(e?;)*M`v=qlT$Lm{)7jYqHb8re1 zB7k#%EI@b~oDJN%tyEBEBF)l<8e|p}-B`0>V=ew#1dR@70`pnIb@Hs1MQ@4MHMXmS zg_Y~#wE!wM;cq^$R@T-cv|5k`@r^fu;q`IIEXrh6HPkgW)T0F8NzUmB!e)B$45tQ6 zt~zV$HUzigZx;R#POGY|sXE)KOcXqY>I48LH0t9K)GxV?6A4j=J{uOh1Rj?H))6oU zX{~5zZK{gTso|;~*ioBguGv&dSJ+fU#WvbyiJ+{Hlm@XwWW zw~cLfq`I2!Ht1fP?xXt+dcejB+6O&!MY1UsEs(Wn&_gzTlfLDB^xB#G@nM_3O^?|0 z9r~_KkJ3IH)`yRSjc#KrS{dKkGNS=?=9I((EtzQ3erhx5fK3PK5rdvE=t-Ma(#e8` z1lnp?(?IL-85n2?PSWYsm5nVdW9n$GrQEQTvdKWEHpE*_lL;ZD{IUuXI(q(mDKL0- zDj4EDdW<8OwUy8@OV(|I(uG*&2FOfSDY(SFI_?Rk-4s8k71A`Pp{f-^-V1QTlz!Eeh*vb3@ZZAwtzV1k(q^(~c9QcWPfe^9hm zu<|^)rKYx~r6vxV`cyU4Z;m&$NQf&NR#Y{`Ck`Z_t}1JRB*!glfQTt$puzfhl|H??I#4Z4-rS~!Rw%=y zoGz|05U^--yk$vaC1e4@Hd?AreZ}mBvuCbM(#SI#Y8$wMdLj9Y%Br(B0BSunWp;r1 zP8w!3OH(jal0bN%66!|AK**76J{aCNCF0{9dRK>7Q8V4RVG8wW_ZF@ z5lU-3ekb4!3!T#TI3xdnYtxcnu%A>pUy+B0|YyFpw4Nog>X zP}<0uSW7bGQBumMOxSYwN7+W9bVc|tK}xYtN-=CpVnCcpLue{ZlcYfZI;5zNz;p-$ zTcri~dP#djnBbNUac^+HEL`c^ ze>Y8$QHN)oFk_?kc zhNdRTmk|&O_&FfhEvB&{Vj9;BHRss7sUF|cP&IrK!^J#&H|cw632Jo2K^mC}v%hFg znsygW^YXUYAQWS#CiZ@DPoi1f2?-{&LLIFz3JJF%$=sN-(46|C z*$jpZkB0P4g#1o}?9Qj@=x%2TgXW9=v_K4}lSGUbiWzX@yPTH6&F^x!>ODnVPN#}n z;nw#7S|c8!GcbKTQ#?UuiC1Wy(vPZ@0klCGOq-P9RI7}kI;D*2l@q8zSxBwQS+rTH zqpeCarUBfpcEVI|INI2Bnn7tu*%zT=#63j!Vk$WcW_}N2q%s?ab8T)SN za@rq%oriQP=}JAyvH(H0g6VpvXK^|lsaW7aoFK6hP_#qvW}J@1am!FO3R$K zD@<2g-N1DKoq@Uw$nA`=kXb%B>`H998-&1Su`CT9E5&s5Uh0R8W8_OdtDP~Z*)|&M zL32dca#MS;PPO*u^DwCXEca_ZaB|*6%}zr-674`4E&#_a#BAzfsKZOZ(VeKrT`2qI zbTVB<)fm>DP1l3hHy{OuhVWl4of&&qWGq<}fklkyup-XgS|R)8CV2VX8%FvABI ziME5(UW?Reg9^}88VUxXjRd&U9}(Q9aRP^Vfj6hoCek_OwnM%+W$){M$w$a3_f8ef zkuI{|82%{5J#% zywL!L|H(tZl*u?|zJqC+K_^(KvFZFXgO3=`jM5;Q#jmps*x2J`t_7RZc^1=Sfs}#3S?)RfL{Cb8#XBud- zJpbe2RbtrYjTy~ZvyU+r@y99tMA;c!_h{yO?5Vgj=Uv(qZ*Kk{&3U~!X9p_;#PVd=ALJ$t)%<#hVN&a?MI_BH`?eP_9=q8XMvVxWPp-A8lGfQcDTbfn zRBc08^K2Z2TJKH8yosDU6)T}q8w)ZU4XUwuy~m(ho9f`iJ!R(R&ifi{YNT@vYO>K_ zT5Nca8Rn(*0Lzp%TGnP8L&sq@uL^Z>W*97x9I@JH%z&`nDb2Yy&Qk&3vF2X`SsDaY${m!#LXA)^%a?pY4DsaY2$}_c zN8*jAB|L}FcskB5zq&8KjjV<0)PZBs2k#y`5PfhOCNf#QFqPO%qhv(JK7wbo-n%gj z8HjE)YcZ~_r)-4x5&WU$Br^4tnFb_hvO^N0n+Npa$4H2BqtrVU^wt{^e4RtRQBv-6 zC!#kkLvKA9)m4s?Rv>l?LNWBiCt}1g9Sg!UFkYF9);teOQ}eNobrSmb#TW}NmHf&_ z`6rp${9-}_a`#|qqZf)~_YGT~bjHUc9Yah%XrV#Pp zaY*2e8&B^+4h1&6Z=hTkO zNxQbgrBg@Xia| z0^vW@slR&R$aWgyr1KuM+6bUTp=vNkagUQ&kaK5i%aTx8ee(GgG#D6(R;PJ^_cTE|DW?PW$ zOoMu3G8B-O|HD|Ww=WqkM#x2^s-Y39^J-Nq)*rRTN-XrJESB3Ic}{(!LJ|XmV)t9> z;uJ^EsfpKCgZIw*5}YN1EnJ%@3(6j%=(&0w4m*`*;@wm9QCT%uQ1tm@j| zqcXU9yo^}Kb2HkVXB-`xu~+9A$A)HP2~#K|Ap*Qf__xh(3||PH%YV5@;EMp(Y~66O z7~pImbnGq*)8fmc__+ex4<=p78+ljp`_=sA8iTIo-8gK!U1xzu*YnE_{P{+czHUJp zZ{p~i`R5jcZsiyWa<@shF@W0*9Q?x6;|~6Er$Kk|Cg2`^xto9P;h%ds;e8h7ZUDB3 z9D!ooD}nsik8nn+s*ZdfNeB7k{2DMpG_Xqg>pegqd zEC>R&KA)neIrKgL`Mybq4SL2x=Yuch^aGQgHRw4DO9^XovpM~X2ED|SGQ7{{^z-R?gMMnz5lCQDLjxq;*&^^ZB3r=y;#u+am94cc zi&|Uc{vVJB%`Lju{AN0gqqAf-ET?rlfJQ{bv8XQaZAzr-e#w-_X|faT*-(R zRkmz&w<$V=+x^~vx8ZmOdLE;<0=$jZU5@jbR;#ho6=UI|J76%6%EoQbfRbuC&87gOLduAj-YGF=wP({of zqXjAlT!e~nO2R4#m@yaJisGehcK3BgGmzce^D&EKiYc}X;O0SU_5HokAa5BYhta{;R85S#P6!#~dG##UQ zC89=NVgM!^i(W6=SUp;5<4EcTY{&(n1Y{Bto%Dst;mkj?=@t69jS=li@MtCq6UVgp zReH^)*Xa$L-lSio&W+tk_b>U2$@}}=Xd<`KK-iFN1FF;qc=yQ-V#qx z-rcz3V4N)kD1(MmAmB2GBlzwc>r^xY52YvV9?Haf0-Go1L2QY*?2wK+RZiwK$?eO* zEE2_XCvtHslqcJ4#GCxKk}?2CqvZW*R$;EiNK%vFqRDQE6J%gmd`eAxOJhTmeDZd* zGhpYX6JNbbU}|MGwjsxaes}UD?Ue#L?^Q2v*fJ9vm{6Ed(7X#8-`ZGNUyW$!9A|dl z4@9_ncxG)wbKK#P+}}2N*k04Z78V^%GWsPEj5rh#mJ*J*rxqWdhiD(PG^VCbpC(Y4d*R(?iK}&aH=6m)KUjN%xMcbpgNp=d5FYJ z^bwmYYg^+>ur!%7dS=kl!k;g)sesdEa+>*}Y5YBHuU#dNqcCCs5ciuyGOyAtXZwSh z8*6Ii4*M9t$Mc3y7_uPM!uWbGk>tFSo(u2Pb04OO8&+`Sg^3DpJUJ^>=w9UD9sQJi zqO*`+1oS#Pc0Ltv|HL4dCo&u4)bjvbIPktXR-GcNva|yPrw#_Z{n+`uUj#==<{^r% zIzZOqLzKquW{m@6!wnAmv*CTj^ujFo&Cg`FP}qaU;?OL=9NgTm2CKA0VvI4D#YKt8w``$FSFS zWJD@afd6IO5G<_aaXd3>C|;bCV#F-Tmy^5`FuR$KY5WXK^Jjt~voTMYgQCs_+4Hah zz5phVCrK7Kv&vSt;DSdIC>Cl}J?zw~_#6}e)`&J5xtj)Hmv0oRF0u-qghr!w zDWl& z@_fXVF)=2GCdrUT)?^8y5FpBfASyyYVACHUyo@oKaXK2yA8wFfaKmpXk}a#dN9IMVES@#2W=b|M_fJV z<4Y`bv>T4Q7OLPJ*bS>FRe$Uvaoj6dK!p)8;yysD+stt&OF3^H;aZD4sHbf*ZVc8E zq_ROt24Gw0TzstqLaxd} z=wjqmu+i=;HSL6ox)foBE=yj5`QEC#$_JJb@gFbKEop7R^j`J_E1N3oi?-I)#!kRb z9?wiMu9-Tlq-fl*ym)<8Lp5ehQ-__ra!%poVJA%MW%aURE4E=+uodAv{EO9N1eiCy zwWVQ369xnEmgcF$*26$8K5QD#85n%5nA5oF-CXlAIj*U!bt5GpOd>#3$+TFp7jn`D zK9>3)OFi_($&g~)bN&yY2EfF;iNyZ^YznAYV&3sT0NxIm!@uBfY-nL&ULMaX^1Ok5 zGx%Fr=&=(5$Q`-@clr(m7J!C#4AINWQY>zmYJT{+aI?b5RbO@p{1Vl)# z7$!4yl_69Vw4*+ll1p8)IV4-&8d!?fY;I3}Fhfu_oUkJy-UKySI8I(vQ{UR$9#_e< zLXXCh_FuyqZ4#u|oXRS!A3+`DtxMG*4p9MlD4BNdF>&n}>V5X*qS%M;5*J&HJ*}q7 z+Jy}pute6fv93MQC6K$?dY^e+ELI0_W1S&t*w9@}sSsl;U^X3IjOLndmm>fSVhI2p zfUastw978CC<$C_CG6EP_Y5bzrLxkCuB}t0%)}UBto?BS5qr0q62Ff^+ z%9MfyEb1wiB(RJpxpXOrz^$GlN`@;%X zWP$R+DZs&>ZUYZM^JJ+5=**a&vOkGIzBqM&h;A3u`ND>MFN-Jy91` zV**kP9c?(!8jPm9H9Ss0ip`2+s8WYLn{b7@raIozP2lYz#xUTo3hgacHgywt5K>3u z6lWDaIF?NeWfwQJ$YEX>BacZ+-kSROIqhUDpiaj7(~$9=6cndmi!H5fZSHWm)Cu~= zy6$36V9RrdanrGPw4olmFQJ|5F$t*f$ID*(>ZI)LaK%=%u4{oHbRV}rknAGr6hyIE zHJfXy<6Ud`Yu1CrPTIczIh3Bn*dZYZ4h5cEIB%uXn1lEiGMqhTRphOy4h-Q#Y4Gx= zQs5runkaQ_Zd1Gx z8mLFKbQgaRSAc|tD`zk3fj+2>ceg=GL;=Kedxm&Jw-HN30mNt^*!Jl`nVV(C?v~p{ z*N%YM=k%C_?(1TQ2%rp*vAD;KsBdUl(=%pxI6a;0zW0b12`akJj|5&%1I3m$Y>78@ zyGjxxrBF4n!&4^-T@=K_y+U(UQ%z&{#qq38^l*E`30!`e7q@Jb?_!Y%5Myz>N0Ol!}`2#)9Dg5&65#t<)zzov!)h%fTKM|gx1fRCf-aOdX${p*i$lE z8+$~9htMNnR>PM1o{~_Fygec!fz%^|>uA=x+MZIv*?UAu5?+rOSx^55YGnQ%k&}$s zqlbwM$WHgidbI%1#7(qEM5Ul_N7esTvKV$f8)w4=yQd;mAMX*f zQt(EjE{-KVIz zXB4I24Y0$l!`WNmZ>qTmT~}OY>~6o6gf2Fxp=o+;_xCmP)~s*9jzn#Dktd;x&2OGx z?@cv(AR_U`=9=1u#G-o_J8p^9v8g1=Zd_xr=nBAjE>$ zdKi3S8IZSE8=9))O)%~#7&k1OAh{w|z2jUTYbaIzJgDo#fN zUR#5T@tRa}pc=wy zOUP6xbvxS0OsqJCB+BE`L+qyxnPP1Xrt1L7P`yT`gv$^(kfV{L$W zVd9=z4wvOY?H$zN&glujOl%-IQNgOJlSeFY9Jr|k_92bVE5s=n?*Ns=VG+bh8!PsM zfzR-b%KI~3lBC!6$!4Q}jTO6z_@#Z46>+FWK8iIh<}Kaljm(pa_a1ORMIbk5bAY>n z@TN%O%>fp3Pp5QJ3Em-}`T3FMEZzXgPKD zm%TjcixsyA9rL1Qwl;2$9>9HUHUcxl>W^C8Ek zuWRlQ$$1`tV<7RY^z(>P@6gylA0yVP!J=b^)1^xVq9`#uRjqOW?Mme_*pWL!^PN@`QaCSZ?8u(bOiRNuc}ZhO?hVbfqGm%VC%x3MBlm~qJ2_?k ze!L}q4`pm1KdQYNH2Zt zNLy&m?coLV6331l2+bCr%S#(OaxgSkO9w5`OC3A%L}%($HM3 z9qBPYeeCFEp*b7F^q8MEc63*0uBy;nUfS5v%R_U4$Pi9m?(Ziay&^PQL%90$Q{$LN zv474ZahQZX1-)}Hy>h__BK~849!s3VB+ditkr?}>`163jjZ5iWlirKMALMWN=ePXx zJA>Y5Z#3`n%kTN;1OEAte?H=$KUnlf`j|tXnDi%${!D-2m%p0yH-kQ92OaP7&u1q6 zoj?AAU;b&*zfAf!zkhDhe=Hox{(>F$e`(TJ22OWUo)G+_@Q-SWh$S?kTfz{gDWZn3 zOp#^^+Y-G*x*;+EQe>KY` zDF*Y)5L4tCVyG#Gne0kr8vVl*#~Wg}DMnZ{6IY%C_$X71HpCc<=81d|E5@3*UL7w( z_@%%Ug`B9!6vc)ZXTj;|5V!{6XGv6)it!wpV2O!hf+@=QWfK2PHbuE9Dhx5jf;&_| zIzz-vG1U;$EUM)9N^t`JoM?*arkG)hnfx}(6thh+#}so-G0zn9O|ihhHSE;DIT{$k zLPNmUV>7=uixU2sz(0%mXNf76nqrwD;QsMkrt&RQtl%=NuQ=5Z zrx{`uyb(AEek93Fb`glw6$;%hA4+=OJfx|4O&O7Ie37+FZiz(nE=s4KTu0_1>3lY_d zliuEWZvgSGdw`1&FI57HAC;OhnHE0G+#_#VISWIYG-%JjapGVr@6c^|Z-;3s8)nwl zG_Gr?Y{J=P9KTLIe;j&B+Tg_ptnPt!$E9V;We9vQOS)MCK`KtN3(5@|YNxWDYZE#;)Q^+z>>^%?!{NdZhk%-fV$Oqw;yLUP-S>U~ z{QVL#wqVwhMZr%we&+d0g7M~hh9$i#WHM2U+{1JZS&lCm!*ycM715r%sQyko#B|yB zi{mP$Glw$W@(^RXO%W}n8_r_7IYmf(G3gHbea@K6(cmr|W>`R=({5 zF2ydRUGf?Z8=jc2fb#K`W2(-R7klsp9yi)JM|+D6|IEnwHM-Iet8H<*SYyMF^VMLX zw^D+28AF_5i!;SpHeJJ?4EIQ;>mkkY3*wY#Ml0_|*kY}yL^?-Jl-Ob&?Xg7_?LnjG zqoPo|!2_kXsOF1fB5bZ@i1oJEAmEDzcXRk4N;`DMX2ZMm!?viQ$8E8Rc@gz>k|EBv zMXdnHI$PA!!@#<@0fzmq+Z{M3>CCH18ctmD`B4aSi}V2yW-VrG~mP zogS>Y7$xF^w>F#*!ac*rHWz1{hC|Fls|= zvC$;9F$vp2nfJ{W=W<;n9Pqf|V#h5-#Cde?O9%1^s$E}Fwm47hU>=+=I&;_~E)W;m z;v#V||6BsXykoPReJ9E%z278z;BjM9{ql%Q#bt)rWsA$j6}I@A*kOn(AvUfFpe?Qv zm)YWKahWel<2~xU{XF-**n4M5NAiw6@Yv!SF6gyl2U0nz2z@s@95cODVAO-RAj@BD zahx#vOh-Hx}J&W@;Q*jxmetJ!PcphbO3B$0R!D1Q;EIyf`znAT&opD+F~K&?kJ& zm@N&?H?Rl9$voLsTfS0nETgYTT zO@XnR>jo+i9g&Yr61Hv2(`JCvH z|Dq&`?2y|i#DFjdNIq_+72D^Sh@r*f5~S1-KgLKh3SOwH;?;03fySUo=Smn#pN_Gb z=Of8U#{H2)3=|pjKi~@~#p@AYj@>$yHluai z-p-JqJ%70lXhC=50y$YQaW9Z+Nc~4yk}PFWKKu#U@IJ*Zn>@ctnfs|XyjI;O-?QM5 zYO&|oiJcF@uTvrWb%OJ9I2^~_M*WyO?2-wdoielfx6yzs_UE)4?1?bD;L&GrI{>&S zC<(wJ%3}vn>H!*B5#hih_Qo@ee~!<0D&TSO|8cUihU4-c`1sjN*?4uLMtM*DaP@T^-2L1EcR%;QiOyc+ei%Np_QCng58-y^HMshD6TY#20l!!u!Q~Iv zEc@0fLT%m)2~?4D1l;A^561rju5BIw1eGhmulGOFgK(eAH2xNjf_8yMf!k0Xb}Q_3 z*S!`>h|6XQv*1K32h7dMDt7AO0F9INY2wD4lKlj)WBVy>FP*;#&Vi&~ zF3Fnll2(?P1hwq{F@H%uA!q>w0&~@-T)CPY;9-~LW+xEB7NEGB4 zNsr(H83pM%^j(Cmlc7fu0tcq3x2c8+o%GZ z+)GUhLzy_m;k?Jdg$C(Z>G?pn3VqRDTr7y-Y8mWRp?NPUDBE+hJvax31m{3@!SPEw zaHprpMTh0=Nch*t8md4Io#EBcnO(1;cJ!q7;Yk(Or3%2YzL+a#-`a8{S`5YOu{9TgQ%sXMg{w*wkEMo#1&`l4Ox z^(m=y^c?LTx~N^c4JqmJ3jk4Xqm5y#s!2)AKqJ+6g|zTZDJggA@Ev-7JM3qtB;(SA z1FTI+iPG;h08?oPvo0m2$MkxsKX-!Z4Ia}Qk+l85GE}*=Lz61H+=R~wV_HW-&?JRm z4(Mt2=xOOXJ>64wt-i9`>?*s~9w`E(V{0>B-F)qdrNaMMO*xlkogh>7yJ+ zqm|>82@2koN0g(=D|mjP4pxWKX!RzwO??8-Uq#X*y=io0ZRCc?O*C3xs-L5`;Q6j0 zj0lZ3GL50ea6CUYdzqOu+AK9!n5W=*fq9d8t2ZrD9>6q&FrCi8gt`y*HwI(OeFDbZ zGcb*rg^~1DjIwuOT5}bqsXReFfT7`&m^43yN!4F4iT#T15)ryjWYhg(0(}Q1ctDiX zUNH~%lrN))L=$~eT!U-L_tCe-&uO3d4Lt@ArH{iy=>eq=J&BSYRC4JlWgvZDIi7x? zOrYmc>SvX5`k@k|pD5Gm1!We!sGLMURVwL-QcXWsYUowvYI>2K;n`cz#;pQ)|%FLfvV zTfKrlS8t*(RBWVxvtO!*grfdRXzCw?9!VEzk>0|LWD6@YN%V@GAkrgiMej(x$co$` zj*HwR`b2IKeItiN|HunsK;)#4P==n5!QZ^YmB6eEnUvP7q6sh*)IkutSK7l}08E4Tg%- zjp4917%5g8W5k(8kvPjJ5o?XfVx6&AR2j>}M&lGwV{8{^8yAaO<8o1F+#u?W$3%ni zggD1|Rx}wu7R|=TVvE^JY&SE-Rx?ZNFo%ls&5_~)vs7Gct`L`+r-)0;)5I=wo4CR} zPkhb1KwM?+5?7m7iEGT8#0}=H;yUv-@pbbKag%wExY_)cxWzmqZZ)3~yUl-!+srS- z9Z_A}8O;=TMf-|9(S_pf=yGvCPh`Z$@X9+2(#q562&Ar>AA898xTyKz5J9L+|%Vfy7?ve1$x^I3R_pOs7GvOiY`g zbRb1;NPGavK1|Ob@2Bw2`vZoo3>2&AS+u2yddPzkVZ0Js z>3Plz*{P%-(T_=i1f5Jjk#X;dCG-NlND)ZWe0m8XO-mCa;8FNR(ji&H=m(PTFeEPGL8% z_}jRE%98iO*=Q-SHIv(vDI1dB3V32^8_T@TDkWdR=3V%P{HR#IIE*jz!agG2PKN~Z z;#lwe0dNm5^2L5Q;Kz@9SsUN==G^OeJirV>mci(3hsy;g=U&I&xB-suX$A;<=?$

FH7mX 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

`qGo@IlvUcyi&beueQ1pYgN&7qA#mn3#u;;u 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 + + + Latex + + + + + + + + + + + + + + + + + + + + + + + + + + + \cdot + + + \times + + + = + + + \cup + + + \cap + + + , + + + \equiv + + + + + + + - + + + + { + }! + + + \ln + + + + \log + + + + \sin + + + + \cos + + + + \tan + + + + \sin^{-1} + + + + \cos^{-1} + + + + \tan^{-1} + + + + \sinh + + + + \cosh + + + + \tanh + + + + \sinh^{-1} + + + + \cosh^{-1} + + + + \tanh^{-1} + + + + \sqrt{ + } + + + e^{ + } + + + \max + + + + \min + + + + \det + + + + Tr + + + + + + + + + \neq + + + + + \pm + + + + + := + + + + + - + + + + \frac{ + }{ + } + + + + \div + + + + + + + + + + > + + + + + \le + + + + + \ge + + + + + \subset + + + + + \subseteq + + + + + \not\subset + + + + + \not\subseteq + + + + + ^{ + } + + + + _{ + } + + + \sqrt[ + ]{ + } + + + + \left( + \right) + + + + \leftarrow + + + + + \rightarrow + + + + + \uparrow + + + + + \downarrow + + + + + \Leftarrow + + + + + \Rightarrow + + + + + \leftrightarrow + + + + + \Leftrightarrow + + + + + \nearrow + + + + + \searrow + + + + + \nwarrow + + + + + \swarrow + + + + + + \exists + + + + + \forall + + + + + \epsilon + + + + + \not\exists + + + + + \not\epsilon + + + + + \simeq + + + + + \vee + + + + + \wedge + + + + + \neg + + + + + + + \int + \,d + + + + \frac{d}{d + } + + + + \frac{\partial}{\partial + } + + + + \sum_{{ + }={ + }}^{ + } + + + + \prod_{{ + }={ + }}^{ + } + + + + \lim_{ + \to + } + + + + + \left|_{{ + }={ + }} + + + \int_{ + }^{ + } + \,d + + + + + + + + \left( \begin{array}{ccc} + + + + + \\ + + \end{array} \right) + + + + + + + \left( + \right) + + + \{ + \} + + + \left[ + \right] + + + \left| + \right| + + + + + + + \infty + + + + <Γ> + \Gamma + + <Δ> + \Delta + + <Θ> + \Theta + + <Λ> + \Lamda + + <Ξ> + \Xi + + <Π> + \Pi + + <Σ> + \Sigma + + <Î¥> + \Upsilon + + <Φ> + \Phi + + <Ψ> + \Psi + + <Ω> + \Omega + + + + <α> + \alpha + + <β> + \beta + + <γ> + \gamma + + <δ> + \delta + + <ε> + \epsilon + + <ζ> + \zeta + + <η> + \eta + + <θ> + \theta + + <ι> + \iota + + <κ> + \kappa + + <λ> + \lambda + + <μ> + \mu + + <ν> + \nu + + <ξ> + \xi + + <π> + \pi + + <ρ> + \rho + + <σ> + \sigma + + <τ> + \tau + + <υ> + \upsilon + + <φ> + \phi + + <χ> + \chi + + <ψ> + \psi + + <ω> + \omega + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/Maple.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/Maple.xml new file mode 100644 index 0000000000..7b42b78cce --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/Maple.xml @@ -0,0 +1,539 @@ + + + + Maple + + + + + + + + + + + + + + + + + + + + + + + + + + * + + + * + + + = + + + union + + + intersect + + + , + + + ≡ + + + + + + + - + + + + factorial + + + + ln + + + + log + + + + sin + + + + cos + + + + tan + + + + arcsin + + + + arccos + + + + arctan + + + + sinh + + + + cosh + + + + tanh + + + + arcsinh + + + + arccosh + + + + arctanh + + + + sqrt + + + + exp + + + + max + + + + min + + + + det + + + + trace + + + + + + + + + ≠ + + + + + ± + + + + + := + + + + + - + + + + + / + + + + + / + + + + + + + + + + > + + + + + + + + + + >= + + + + `subset`( + , + ) + + + `subset`( + , + ) + + + not `subset`( + , + ) + + + not `subset`( + , + ) + + + + ^ + + + + + [ + ] + + + surd( + , + ) + + + + ( + ) + + + + ← + + + + + → + + + + + ↑ + + + + + ↓ + + + + + ⇐ + + + + + ⇒ + + + + + ↔ + + + + + ⇔ + + + + + ↗ + + + + + ↘ + + + + + ↖ + + + + + ↙ + + + + + + ∃ + + + + + ∀ + + + + + ∈ + + + + + ∄ + + + + + ∉ + + + + + ≃ + + + + + ∨ + + + + + ∧ + + + + + ¬ + + + + + + + int( + , + ) + + + diff( + , + ) + + + diff( + , + ) + + + sum( + , + = + .. + ) + + + product( + , + = + .. + ) + + + limit( + , + = + ) + + + subs( + = + , + ) + + + int( + , + = + .. + ) + + + + + + + Matrix([ + [ + + + , + ] + , + ]) + + + + + + + ( + ) + + + { + } + + + [ + ] + + + abs( + ) + + + + + + + infinity + + + <Γ> + Gamma + + <Δ> + Delta + + <Θ> + Theta + + <Λ> + Lamda + + <Ξ> + Xi + + <Π> + PI + + <Σ> + Sigma + + <Î¥> + Upsilon + + <Φ> + Phi + + <Ψ> + Psi + + <Ω> + Omega + + + + <α> + alpha + + <β> + beta + + <γ> + gamma + + <δ> + delta + + <ε> + epsilon + + <ζ> + zeta + + <η> + eta + + <θ> + theta + + <ι> + iota + + <κ> + kappa + + <λ> + lambda + + <μ> + mu + + <ν> + nu + + <ξ> + xi + + <π> + Pi + + <ρ> + rho + + <σ> + sigma + + <τ> + tau + + <υ> + upsilon + + <φ> + phi + + <χ> + chi + + <ψ> + psi + + <ω> + omega + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/MathML.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/MathML.xml new file mode 100644 index 0000000000..f70367cc0a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/MathML.xml @@ -0,0 +1,539 @@ + + + + MathML + + + ]]> + ]]> + + + ]]> + ]]> + + + ]]> + ]]> + + + ]]> + ]]> + + + + + + + + ]]> + + + ⋅ ]]> + + + × ]]> + + + = ]]> + + + ⋃ ]]> + + + ⋂ ]]> + + + , ]]> + + + ≡ ]]> + + + + + + + + + + + ]]> + !]]> + + + ln ]]> + + + + log ]]> + + + + sin ]]> + + + + cos ]]> + + + + tan ]]> + + + + sin-1 ]]> + + + + cos-1 ]]> + + + + tan-1 ]]> + + + + sinh ]]> + + + + cosh ]]> + + + + tanh ]]> + + + + sinh-1 ]]> + + + + cosh-1 ]]> + + + + tanh-1 ]]> + + + + ]]> + ]]> + + + e ]]> + ]]> + + + max ]]> + + + + min ]]> + + + + det ]]> + + + + trace ]]> + + + + + + + + + ≠ ]]> + + + + + ± ]]> + + + + + ≔ ]]> + + + + + − ]]> + + + + ]]> + ]]> + ]]> + + + + ÷ ]]> + + + + + < ]]> + + + + + > ]]> + + + + + ≤ ]]> + + + + + ≥ ]]> + + + + + ⊂ ]]> + + + + + ⊆ ]]> + + + + + ⊄ ]]> + + + + + ⊈ ]]> + + + + ]]> + ]]> + ]]> + + + ]]> + ]]> + ]]> + + + ]]> + ]]> + ]]> + + + ]]> + ]]> + ]]> + + + + + + ]]> + ]]> + ]]> + + + ]]> + ]]> + ]]> + + + ]]> + ]]> + ]]> + + + ]]> + = ]]> + ]]> + ]]> + ]]> + + + ]]> + = ]]> + ]]> + ]]> + ]]> + + + lim ]]> + → ]]> + ]]> + ]]> + + + + | ]]> + = ]]> + ]]> + + + ]]> + ]]> + ]]> + ]]> + ]]> + + + + ← ]]> + + + + + → ]]> + + + + + ↑ ]]> + + + + + ↓ ]]> + + + + + ⇐ ]]> + + + + + ⇒ ]]> + + + + + ↔ ]]> + + + + + ⇔ ]]> + + + + + ↗ ]]> + + + + + ↘ ]]> + + + + + ↖ ]]> + + + + + ↙ ]]> + + + + + + ∃ ]]> + + + + + ∀ ]]> + + + + + ∈ ]]> + + + + + ∄ ]]> + + + + + ∉ ]]> + + + + + ≃ ]]> + + + + + ∨ ]]> + + + + + ∧ ]]> + + + + + ¬ ]]> + + + + + + + + ]]> + ]]> + + + ]]> + ]]> + + + ]]> + ]]> + + + ]]> + ]]> + + + + + + + ]]> + ]]> + ]]> + ]]> + + ]]> + + ]]> + + + + + + + ∞ ]]> + + + <Γ> + Γ ]]> + + <Δ> + Δ ]]> + + <Θ> + Θ ]]> + + <Λ> + &Lamda; ]]> + + <Ξ> + Ξ ]]> + + <Π> + Π ]]> + + <Σ> + Σ ]]> + + <Î¥> + Υ ]]> + + <Φ> + Φ ]]> + + <Ψ> + Ψ ]]> + + <Ω> + Ω ]]> + + + + <α> + α ]]> + + <β> + β ]]> + + <γ> + γ ]]> + + <δ> + δ ]]> + + <ε> + ε ]]> + + <ζ> + ζ ]]> + + <η> + η ]]> + + <θ> + θ ]]> + + <ι> + ι ]]> + + <κ> + κ ]]> + + <λ> + &lamda; ]]> + + <μ> + μ ]]> + + <ν> + ν ]]> + + <ξ> + ξ ]]> + + <π> + π ]]> + + <ρ> + ρ ]]> + + <σ> + σ ]]> + + <τ> + τ ]]> + + <υ> + υ ]]> + + <φ> + φ ]]> + + <χ> + χ ]]> + + <ψ> + ψ ]]> + + <ω> + ω ]]> + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/Maxima.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/Maxima.xml new file mode 100644 index 0000000000..ce58ae1543 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/Maxima.xml @@ -0,0 +1,544 @@ + + + + Maxima + + + + + + + + + + + + + + + + + + + + + + + + + + + * + + + * + + + = + + + union( + , + ) + + + intersection( + , + ) + + + , + + + ≡ + + + + + + + - + + + + ( + )! + + + log + + + + log10 + + + + sin + + + + cos + + + + tan + + + + asin + + + + acos + + + + atan + + + + sinh + + + + cosh + + + + tanh + + + + asinh + + + + acosh + + + + atanh + + + + sqrt + + + + exp + + + + max + + + + min + + + + det + + + + trace + + + + + + + + + ≠ + + + + + ± + + + + + : + + + + + - + + + + + / + + + + + / + + + + + + + + + + > + + + + + + + + + + >= + + + + subsetp( + , + ) + + + subsetp( + , + ) + + + not(subsetp( + , + )) + + + not(subsetp( + , + )) + + + + ^ + + + + + [ + ] + + + ( + )^(1/( + )) + + + + ( + ) + + + + ← + + + + + → + + + + + ↑ + + + + + ↓ + + + + + ⇐ + + + + + ⇒ + + + + + ↔ + + + + + ⇔ + + + + + ↗ + + + + + ↘ + + + + + ↖ + + + + + ↙ + + + + + + ∃ + + + + + ∀ + + + + + ∈ + + + + + ∄ + + + + + ∉ + + + + + ≃ + + + + + ∨ + + + + + ∧ + + + + + ¬ + + + + + + + integrate( + , + ) + + + diff( + , + ) + + + diff( + , + ) + + + sum( + , + , + , + ); + + + product( + , + , + , + ); + + + limit( + , + = + ); + + + subst( + = + , + ) + + + integrate( + , + , + , + ) + + + + + + + matrix( + [ + + + , + ] + , + ) + + + + + + + ( + ) + + + { + } + + + [ + ] + + + abs( + ) + + + + + + + infinity + + + <Γ> + Gamma + + <Δ> + Delta + + <Θ> + Theta + + <Λ> + Lamda + + <Ξ> + Xi + + <Π> + Pi + + <Σ> + Sigma + + <Î¥> + Upsilon + + <Φ> + Phi + + <Ψ> + Psi + + <Ω> + Omega + + + + <α> + alpha + + <β> + beta + + <γ> + %gamma + + <δ> + delta + + <ε> + epsilon + + <ζ> + zeta + + <η> + eta + + <θ> + theta + + <ι> + iota + + <κ> + kappa + + <λ> + lambda + + <μ> + mu + + <ν> + nu + + <ξ> + xi + + <π> + %pi + + <ρ> + rho + + <σ> + sigma + + <τ> + tau + + <υ> + upsilon + + <φ> + phi + + <χ> + chi + + <ψ> + psi + + <ω> + omega + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/WS_FTP.LOG b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/WS_FTP.LOG new file mode 100644 index 0000000000..6a2e96ca6f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/formats/WS_FTP.LOG @@ -0,0 +1,6 @@ +2008.01.23 10:09 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\formats\Latex.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/formats Latex.xml +2008.01.23 10:09 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\formats\Maple.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/formats Maple.xml +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\formats\MathML.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/formats MathML.xml +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\formats\Maxima.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/formats Maxima.xml +2008.01.23 10:48 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\formats\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/formats WS_FTP.LOG +2008.01.23 10:59 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\formats\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/formats WS_FTP.LOG diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/jdom.jar b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/jdom.jar new file mode 100644 index 0000000000000000000000000000000000000000..d9cda2a67d1dfcc683e644621a343d69763c82a1 GIT binary patch literal 159613 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

sIJD3fp&_AR2=*BFdJ^DO!KtII&6u z=F@K=OQP1C$WWIzlWB??5~HdZYmM<(ZzK;clSN8h8HYu5(R1Gv*jcqEmKvRr;dvXF z&XmR}sU}fU^SY{(eubyh5GY{R?VJpe8jglYt z1L>*3^AaNnb2v(Kk*(SaN$4P@AKpP7N**gW-_O{!;|76CtZQHhO+qN-dYs8+hZQHhO+nLG9_pMcX?{oHA>*7?s z)o;etxajq3PkY1_UUOdi{9abOaWNAQAUAb5nE;H_!FO)M7xj11p*F#5u*Z zj&`$6&)q~^LYN$NotsSmebcP#;#`~%Zd)E4(kC;YOsl-+EUZkLbzd2Jcr3|CnoEm>Q8bPwpC4+ z&1`o4wbj|_VMF1sUGB19`n@@!%PZdp=X`nMl~hCv%gy>>w_4`T%rcH^nzGI)^xb;l-@f^r zKPa*8kj-A9bH20WhqP_pYaDR!i6ZqM0=&R~y~0lK(`CLR8os9G@b!^gb0*UfQPk7F z&;>t?aw{|vhS)1^3)q+3v6!umQONCOCV8GUA=4`!7u>-4grWI~afGLOQZa{ugLTW0 zkfm=x%-!V4bLTKx!!8)HP6UPDbrPbCON`V7}_k`Q8J;yUMAZz ze@FWmZsi|#d_(-l>!#o>r&s?8P*JY#KyY>2hwT1J(E3LI1sA0msp27+ivt?_Fi1SH zO)tQ6q8;JH&FLMz>IN9w%0eD&Oojgh%4eK>gG6zRi2J~tcJ?_lS0DZDi5cJI(B~2J=8FS@ON)LGo=GM zGp6$H*~^oq?Nc8b)4FBt-DJn<21|cJvAb&Bh` z50;}(-fn#008}g$hT3g>-~yDM@@;$I4~*##qN7htc<2u*qn(+iCp-j)qnPvnclFWg zCY_WAw3zl29^%6tOxuZ$f}+3NN;Sf=sniTop>*TDHfh{iAnLV;v@XjC*D8dBwT7e` zD^`E|QmO5!p%!6#O%0U?y>Z?o7L4O;Tb;|f z)>s~skxOe%jg_tpTQ{bI@+&v0-D)WyEz5LUov(%l27oIgZwP{(`?*7OLI8> zv6ObMyxWfb%1UNmsN-81J)G)mp6<>G(k$3bw-b6@=R>tFOyM*|r5%wQSx2(<1}#~* zwP++xUQd>}k|?%|D0(h-zm&YOLGITx4(va;+>_XlpjsZS#SQvPtecG_ge$k4q_DEL zDmqi!B}mLa_TU<(v*KtRi#ws+JjSymOwMf9XFQo7jJjp=EGHM8as9g#!kQ~Cx0`e7 zS@aXM72x12fNifce&O0VFkP4p>u^d;Ws29`ONd ziq@$&q0ndQpEb^Ju)~S?X$pXIEHweSpyAY~npEkLn_gRNi6;UhXO8!z(HsWy*c-T_ z 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�dzK;}AB8Y%TCg)w;Ik;zGMxl5| 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%0Dr`Kt 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

$mNQuKTwvK9uj_8bALL`y|wvq(r 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 bmqCqwJ#$hvaW-ri_4s!Lzj(S9D~0h8`PR>j literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/jep.jar b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/jep.jar new file mode 100644 index 0000000000000000000000000000000000000000..f9e315c73e1628f44e2650aed8e5be1893e2cf7b GIT binary patch literal 240436 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

lHt9`etq4^x*NW}~%MoJH6 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 www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang cz.xml +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\lang\de.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang de.xml +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\lang\en.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang en.xml +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\lang\es.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang es.xml +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\lang\fr.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang fr.xml +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\lang\nl.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang nl.xml +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\lang\pl.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang pl.xml +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\lang\ru.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang ru.xml +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\lang\sv.xml --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang sv.xml +2008.01.23 10:48 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\lang\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang WS_FTP.LOG +2008.01.23 10:59 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\applet\classes\lang\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/applet/classes/lang WS_FTP.LOG diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/ca.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/ca.xml new file mode 100644 index 0000000000..a60a24e275 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/ca.xml @@ -0,0 +1,176 @@ + + + + + + + + Error llegint el fitxer: Comproveu-ne la validesa + Error carregant el fitxer amb format: + Error carregant l'expressió desada + Error desant l'expressió + No es pot retallar la selecció: + No es pot copiar la selecció: + No es pot mostrar l'arbre: + No s'ha pogut completar l'acció: + No es pot afegir la Matriu a aquesta posició + Manca un operador en aquesta posició + Manca un argument o operador en aquesta posició + Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org + + + L'expressió no pot ser analitzada + DragMath - Escull una expressió per ser carregada + DragMath - Escull un lloc on desar l'expressió + Introduïu el nombre de files de la matriu + Introduïu el nombre de columnes de la matriu + Dimensions de la matriu + No hi ha res seleccionat per retallar + No hi ha res per enganxar + No hi ha cap quadre seleccionat per enganxar-hi + No hi ha res seleccionat per copiar + Copiat + S'ha produït un error al llegir les dades de sortida + S'ha copiat l'expressió al porta-retalls + No hi ha cap expressió per convertir + Encara no s'ha carregat un fitxer amb format + Choose the image size 1-10 (Smallest-Largest) + + + Multiplica + Divideix + Suma + Resta + Coma + Més-menys + No es igual + Arrel Quadrada + Arrel n-éssima + Superíndex + Subíndex + Matriu + Integral + Diferencial + Menor que + Major que + Menor o igual que + Major o igual que + Igual + Unió + Intersecció + Subconjunt + Subconjunt o igual que + No inclòs + No inclòs o igual que + Sinus + Cosinus + Tangent + Arcsinus + Arccosinus + Arctangent + Sinus hiperbòlic + Cosinus hiperbòlic + Tangent hiperbòlica + Invers del sinus hiperbòlic + Invers del cosinus hiperbòlic + Invers de la tangent hiperbòlica + Logaritme + Logaritme neperià + Exponencial + Menys + Parèntesis + Claus + Claudàtors + Valor absolut + Infinit + Lletra grega + Factorial + Màxim del conjunt + Mínim del conjunt + Assignació + Funció general + Determinant + Traça + Integral definida + Producte + Suma + Límit + Avalua una expressió en un punt + Fletxa esquerra + Fletxa dreta + Fletxa amunt + Fletxa avall + Fletxa esquerra-dreta + Fletxa doble esquerra + Fletxa doble dreta + Fletxa doble esquerra-dreta + Fletxa dreta-amunt + Fletxa dreta-avall + Fletxa esquerra-amun + Fletxa esquerra-avall + Multiplica + Divideix + Equivalència + Existeix + Per a tot + Pertany + No existeix + No pertany + Semblant + Unió Lògica + Intersecció lògica + Negació lògica + Partial Differential + + + Carrega un format personalitzat de sortida + Desar fórmula a un fitxer + Exportar l'expressió al porta-retalls + Desfés + Refés + Retalla + Còpia + Enganxa + Neteja tot l'àrea de treball + Selecciona tot l'àrea de treball + Carrega un fitxer amb format exportat + Carrega un fitxer d'idioma + Mostra l'arbre de l'expressió + Mostra el contorn + Carrega documents d'ajuda al navegador + Quant a DragMath + + + Fitxer + Obrir... + Anomenar i desar... + Exportar al porta-retalls + Export to image + + Edició + Desfer + Refer + Retallar + Còpia + Enganxa + Neteja tot + Seleccionar tot + + Opcions + Format d'Exportació + Idioma + + Ajuda + Depuració + Mostrar arbre de l'expressió + Mostrar contorn + Ajuda en línia + Quant a DragMath + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/cz.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/cz.xml new file mode 100644 index 0000000000..0c9afdb60a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/cz.xml @@ -0,0 +1,180 @@ + + + + + + + + Chyba při načítání souboru s formátem + Chyba při načítání souboru s formátem + Chyba při načítání uložených výrazů + Chyba při ukládání výrazů + Nelze vyjmout výběr: + Nelze zkopírovat výrěr: + Nelze zobrazit strom: + Akce nemůže být dokončena: + Sem nelze přidat matici + Chybí operátor + Chybí proměnná či operátor (na vhodné pozici) + Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org + + + Výraz nelze rozpoznat + DragMath - Vyberte soubor s výrazem k načtení + DragMath - Vyberte umístění kam uložit výraz + Zadejte počet řádků matice + Zadejte počet sloupců matice + Rozměr matice + Nebylo vybráno nic na vyjmutí + Nic na vložení + Není vybráno políčko kam vkládat + Není nic vybráno ke kopírování + Zkopírováno + Cyba při čtení výstupních dat + : výrazy uloženy do schránky + Žádné výrazy na konvertování + JeÅ¡tě nebyl načten soubor s definicí formátu + Choose the image size 1-10 (Smallest-Largest) + + + Součin + Podíl + Součet + Rozdíl + Desetinná čárka + Plus-Minus + Druhá odmocnina + N-tá odmocnina + Horní index nebo mocnina + Dolní index + Matice + Integrál + Derivace + Menší než + Větší než + Menší nebo rovno + Větší nebo rovno + Rovno + Není rovno + Sjednocení + Průnik + Vlastní podmnožina + Podmnožina + Není vlastní podmnožinou + Není podmnožinou + Sinus + Kosinus + Tangens + Arkus sinus + Arkus kosinus + Arkus tangens + Hyperbolický sinus + Hyperbolický kosinus + Hyperbolický tangens + Hyperbolický arkus sinus + Hyperbolický arkus kosinus + Hyperbolický arkus tangens + Logaritmus + Přirozený logaritmus + Exponenciální funkce + Mínus + Kulaté závorky + Složené závorky + Hranaté závorky + Absolutní hodnota + Nekonečno + Řecká písmena + Faktoriál + Maximum množiny + Minimum množiny + Přiřazení + Uživatelem definovaná funkce + Determinant + Stopa + Určitý integrál + Součin + Suma + Limita + Hodnota výrazu v bodě + Left arrow + Right arrow + Up arrow + Down arrow + Left double arrow + Right double arrow + Left-Right arrow + Left-Right double arrow + North-East arrow + South-East arrow + North-West arrow + South-West arrow + Multiplication + Division + Equivalence + There Exists + For All + Element Of + There Does Not Exist + Not An Element Of + Asymptotically Equivalent To + Or + And + Not + Partial Differential + + + + Načíst výraz ze souboru + Uložit výraz do souboru + Exportovat výraz do schránky + Zpět + Opakovat + Vyjmout + Zkopírovat + Vložit + Vyčistit pracovní plochu + Vybrat celou pracovní plochu + Nahrát formát pro export + Nahrát soubor s jazykovym nastavením + Zobrazit stromovou strukturu výrazů + Zobrazit obrysy výrazů na pracovní ploÅ¡e + Nahrát nápovědu ve webovém prohlížeči + O programu + + + Soubor + Otevřít... + Uložit jako... + Exportovat do schránky + Export to image + + Změnit + Zpět + Opakovat + Vyjmout + Zkopírovat + Vložit + Vyčistit pracovní plochu + Vybrat vÅ¡e + + Možnosti + Nastavit formát pro export + Nastavit jazyk + + Nápověda + Ladění + Zobrazit strukturu vzorce + Zobrazit výstup + Online nápověda + O programu + + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/de.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/de.xml new file mode 100644 index 0000000000..0979a7eaed --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/de.xml @@ -0,0 +1,175 @@ + + + + + + + + Fehler beim Lesen des Dateiformats: Bitte auf Gültigkeit überprüfen + Fehler beim Laden der Datei: + Fehler beim Laden der Erweiterung + Fehler beim Speichern der Erweiterung + Ausschneiden der Auswahl nicht möglich: + Kopieren der Auswahl nicht möglich: + Verzeichnisbaum kann nicht angezeigt werden: + Aktion konnte nicht fertiggestellt werden: + Matrix konnte an der Stelle nicht hinzugefügt werden + Operator fehlt an Position + Argument des Operators fehlt an Position + Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org + + + Ausdruck kann mathematisch nicht bestimmt werden + DragMath - Wählen Sie eine Datei im DragMath-Format zum Laden + DragMath - Wählen Sie einen Speicherort zum Speichern der Datei im DragMath-Format + Geben Sie die Anzahl der Reihen der Matrix ein + Geben Sie die Anzahl der Spalten der Matrix ein + Dimension der Matrix + Nichts zum Ausschneiden gewählt + Nichts zum Kopieren gewählt + Keine Box zum Hineinkopieren gewählt + Nichts zum Kopieren ausgewählt + Kopiert + Fehler beim Lesen des Ausgabeformats + Format wurde in die Zwischenablage kopiert + Kein Format zum Konvertieren + Es wurde kein Dateiformat geladen + Choose the image size 1-10 (Smallest-Largest) + + + Multiplikation + Division + Addition + Subtraktion + Komma + Plus-Minus + Quadratwurzel + n-te Wurzel + Hochgestellt + Tiefgestellt + Matrix + Integration + Differentation + kleiner als + größer als + kleiner als oder gleich + größer als oder gleich + gleich + ungleich + Vereinigung + Durchschnitt + Teilmenge + Echte Teilmenge + Keine Teilmenge + Keine echte Teilmenge + Sinus + Kosinus + Tangens + Arkusinus + Arkuskosinus + Arkustangens + Sinus Hyperbolicus + Kosinus Hyperbolicus + Tangens Hyperbolicus + Areasinus Hyperbolicus + Areakosinus Hyperbolicus + Areatangens Hyperbolicus + Logarithmus + Natürlicher Logarithmus + Exponentialfunktion + Minus + Runde Klammern + Geschwungene Klammern + Eckige Klammern + Betrag + Unendlich + Griechische Buchstaben + Faktorisieren + Maximum + Minimum + Aufgabe + Unbekannte Funktion + Determinante + Spur + Bestimmtes Integral + Produkt + Summe + Grenzwert + Ausdruck auswerten + Links arrow + Recht arrow + Bis arrow + Down arrow + Links doppel arrow + Recht doppel arrow + Links-Recht arrow + Links-Recht doppel arrow + Nord-Ost Pfeil + Süd-Ost Pfeil + Nord-West Pfeil + Süd-West Pfeil + Multiplikation + Division + Gleichwertigkeit + Vorhanden + Für alle + Ist in + Nicht vorhanden + Nicht in + Asymptotisch äquivalent zu + Oder + Und + Nicht + Partial Differential + + + Lade Format von Datei + Speichere Format als Datei + Exportiere Format in die Zwischenablage + Rückgägig + Wiederholen + Ausschneiden + Kopieren + Einfügen + Leere das gesamte Arbeitsfeld + Wähle das gesamte Arbeitsfeld + Lade eine Formatdatei + Lade eine Sprachdatei + Zeige Baumstruktur eines Ausdrucks + Zeige außerhalb des Objektes im Arbeitsfeld + Lade Hilfedateien im Browser + Über DragMath + + + Datei + Öffnen... + Speichern als... + Exportiere in die Zwischenablage + Export to image + + Bearbeiten + Rückgängig + Wiederholen + Ausschneiden + Kopieren + Einfügen + Arbeitsfeld leeren + Alle auswählen + + Optionen + Export-Format einstellen + Sprache einstellen + + Hilfe + Debug + Zeige Ausdruck in Baumstruktur + Zeige außerhalb + Online-Hilfe + Über DragMath + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/en.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/en.xml new file mode 100644 index 0000000000..b741cf0387 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/en.xml @@ -0,0 +1,177 @@ + + + + + + + + Error reading format file: Check file is valid + Error loading format file: + Error loading saved expression + Error saving expression + Cannot cut selection: + Cannot copy selection: + Cannot display tree: + Action could not be completed: + Cannot add Matrix at this location + Operator missing at position + Argument of operator missing at position + Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org + + + Expression could not be parsed + DragMath - Choose an expression file to load + DragMath - Choose the location to save the expression + Enter number of rows of matrix + Enter number of columns of matrix + Matrix Dimensions + Nothing selected to cut + Nothing to paste + No box selected to paste into + Nothing selected to copy + Copied + Error reading output data + Expression exported to clipboard + No expression to convert + No format file has been loaded yet + Choose the image size 1-10 (Smallest-Largest) + + + Multiplication + Division + Addition + Subtraction + Comma + Plus-Minus + Square Root + N-th Root + Superscript + Subscript + Matrix + Integration + Differentiation + Less Than + Greater Than + Less Than or Equal To + Greater Than or Equal To + Equals + Not Equal + Union + Intersection + Subset + Subset or Equal To + Not Subset + Not Subset or Equal To + Sine + Cosine + Tangent + Inverse Sine + Inverse Cosine + Inverse Tangent + Hyperbolic Sine + Hyperbolic Cosine + Hyperbolic Tangent + Inverse Hyperbolic Sine + Inverse Hyperbolic Cosine + Inverse Hyperbolic Tangent + Logarithm + Natural Logarithm + Exponential Function + Minus + Round Brackets + Curly Brackets + Square Brackets + Absolute Value + Infinity + Greek letter + Factorial + Maximum of a set + Minimum of a set + Assignment + Unknown function + Determinant + Trace + Definite Integral + Product + Sum + Limit + Evaluate an expression at a point + Left arrow + Right arrow + Up arrow + Down arrow + Left double arrow + Right double arrow + Left-Right arrow + Left-Right double arrow + North-East arrow + South-East arrow + North-West arrow + South-West arrow + Multiplication + Division + Equivalence + There Exists + For All + Element Of + There Does Not Exist + Not An Element Of + Asymptotically Equivalent To + Or + And + Not + Partial Differential + + + + Load expression from file + Save expression to file + Export expression to clipboard + Undo + Redo + Cut + Copy + Paste + Clear the entire workspace + Select the entire workspace + Load an export format file + Load a language file + Show tree structure of expression + Display outline of objects on workspace + Loads help documents in web browser + About DragMath + + + File + Open... + Save As... + Export to clipboard + Export to image + + Edit + Undo + Redo + Cut + Copy + Paste + Clear Workspace + Select All + + Options + Set export format + Set language + + Help + Debug + Show expression tree + Show outline + Online Help + About DragMath + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/es.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/es.xml new file mode 100644 index 0000000000..37982342b8 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/es.xml @@ -0,0 +1,176 @@ + + + + + + + + Error leyendo el archivo: Verifique archivo + Error cargando el archivo con formato: + Error cargando expresión guardada + Error guardando expresión + No se puede cortar selección: + No se puede copiar selección: + No se puede mostrar el árbol: + Acción no puede ser completada: + No se puede agregar una matriz en este lugar + Operador no encontrado en esta posición + Argumento del operador no encontrado + Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org + + + Expresión no puede ser enviada + DragMath - Seleccione un archivo de expresiones + DragMath - ¿Dónde desea guardar el archivo? + Inserte el número de filas de la matriz + Inserte el número de columnas de la matriz + Dimensiones de la matriz + No ha seleccionado nada para cortar + Nada para pegar + No ha seleccionado sitio para pegar + No ha seleccionado nada para copiar + Copiado + Error leyendo datos de salida + Expresión exportada al portapapeles + No ha seleccionado expresión para convertir + No ha cargado un archivo con formato aún + Choose the image size 1-10 (Smallest-Largest) + + + Multiplicación + Fracción + Adición + Sustracción + Coma + Mas-Menos + Raíz Cuadrada + N-ésima Raíz + SuperIndice + SubIndice + Matriz + Integración + Diferenciación + Menor que + Mayor que + Menor o Igual que + Mayor o Igual que + Igual + No Igual + Unión + Intersección + SubConjunto + SubConjunto o Igual que + No SubConjunto + No es SubConjunto o Igual que + Seno + Coseno + Tangente + Inversa Seno + Inversa Coseno + Inversa Tangente + Seno Hiperbólico + Coseno Hiperbólico + Tangente Hiperbólico + Seno Hiperbólico Inverso + Coseno Hiperbólico Inverso + Tangente Hiperbólica Inversa + Logaritmo + Logaritmo Natural + Función Exponencial + Menos + Parentesis + Llaves + Corchetes + Valor Absoluto + Infinito + Letras Griegas + Factorial + Máximo del Conjunto + Minimo del Conjutno + Asignación + Función Desconocida + Determinante + Ruta + Integral Definida + Productoria + Sumatoria + Limite + Evaluar una expresión en un punto + Flecha izquierda + Flecha derecha + Flecha arriba + Flecha abajo + Flecha izquierda-dreta + Flecha doble izquierda + Flecha doble derecha + Flecha doble izquierda-derecha + Flecha derecha-arriba + Flecha derecha-abajo + Flecha izquierda-arriba + Flecha izquierda-abajo + Multiplicación + División + Equivalencia + Existe + Para todo + Pertenece + No existe + No pertenece + Parecido + Unión Lógica + Intersección lógica + Negación lógica + Diferenciales Parciales + + + Cargar una expresión de un archivo + Salvar una expresión a un archivo + Exportar la expresión al portapapeles + Deshacer + Rehacer + Cortar + Copiar + Pegar + Limpiar toda el área de trabajo + Seleccionar toda el área de trabajo + Cargar archivo con formato exportado + Cargar un archivo de lenguaje + Mostrar la expresión como un árbol + Mostrar bordes de expresiones + Cargar documentos de ayuda en el navegador + Acerca de DragMath + + + Archivo + Abrir... + Salvar como... + Exportar al portapapeles + Export to image + + Editar + Deshacer + Rehacer + Cortar + Copiar + Pegar + Limpiar todo + Seleccionar todo + + Opciones + Formato de Exportación + Lenguaje + + Ayuda + Depurar + Mostrar árbol de expresión + Mostrar bordes + Ayuda en linea + Acerca de DragMath + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/fr.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/fr.xml new file mode 100644 index 0000000000..1c0d35214e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/fr.xml @@ -0,0 +1,181 @@ + + + + + + + + Erreur de lecture du format de fichier: Vérifiez si le fichier est valide + Erreur de lecture du fichier: + Erreur lors du chargement des expressions + Erreur lors de l'enregistrement des expressions + Découpe de la sélection impossible: + Copie de la sélection impossible: + Affichage de l'arbre impossible + L'action n'a pas pu être terminée: + La matrice n'a pas pu être ajoutée à cette position + L'opérateur est manquant à cette position + L'argument de l'opérateur est manquant à cette position + Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org + + + L'expression n'a pas pu être lu + DragMath - Choisissez un fichier d'expression à lire + DragMath - Choisissez un endroit pour sauver l'expression + Entrez le nombre de lignes de la matrice + Entrez le nombre de colonne de la matrice + Dimensions de la matrice + Rien à couper + Rien à coller + Pas de boîte sélectionné pour collage + Rien à copier + Copié + Erreur lors de la lecture des données de sortie + Expression exporté dans le Presse-papiers + Aucune expression à convertir + Aucun format de fichier n'a encore été chargé + Choose the image size 1-10 (Smallest-Largest) + + + Multiplication + Division + Addition + Soustraction + Virgule + Plus ou Moin + Carré + Racine + Puissance + Indice + Matrice + Integrale + Différenciation + Inférieur à + Supérieur à + Inférieur ou égal à + Supérieur ou égal à + Egal + Inégal + Union + Intersection + Appartient + Appartient ou est égal à + N'appartient pas + N'appartient pas ou est égal à + Sinus + Cosinus + Tangente + Sinus Inverse + Cosinus Inverse + Tangente inversée + Hyperbolic Sinus + Cosinus hyperbolique + Tangente hyperbolique + Sinus hyperbolique inversée + Cosinus hyperbolique inversée + Tangente hyperbolique inversée + Logarithme + Logarithme naturelle + Exposant + Moins + Parenthèses + Accolades + Crochets + Valeur absolue + Infinie + Lettres grecque + Factoriel + Maximale d'un ensemble + Minimum d'un ensemble + Cession + Fonction inconnue + Déterminant + Trace + Integrale définie + Produit + Somme + Limite + Évaluer l'expression en un point + Gauche arrow + Droite arrow + Up arrow + Down arrow + Gauche double arrow + Right double arrow + Gauche-Droite arrow + Gauche-Droite double arrow + Nord-Est Arrow + Sud-Est arrow + Nord-Ouest arrow + Sud-Ouest arrow + Gauche-Up arrow + Gauche-Down arrow + Right-Up arrow + Droite-down arrow + + Multiplication + Division + Equivalence + Il existe + Pour tous + Est en + Il n'existe pas + Pas un élément de + Asymptotiquement équivalente à + Ou + Et + Non + Dérivée partielle + + + Charger une expression à partir d'un fichier + Sauvegarde de l'expression à partir d'un fichier + Exporter l'expression dans le presse-papier + Défaire + Refaire + Couper + Copier + Coller + Tout effacer + Tout sélectionner + Charger un fichier de format d'expression + Charger un fichier de langage + Afficher l'arborescence de l'expression + Afficher la structure de l'expression + Charger l'aide en ligne + A propos de DragMath + + + Fichier + Ouvrir... + Enregistrer sous... + Exporter dans le presse-papier + Export to image + + Editer + Défaire + Refaire + Couper + Copier + Coller + Tout effacer + Tout sélectionner + + Options + Changer de format de sorti + Changer de langue + + Aide + Debug + Afficher l'arborescence de l'expression + Afficher la structure de l'expression + Aide Online + A propos de DragMath + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/nl.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/nl.xml new file mode 100644 index 0000000000..435ff53db0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/nl.xml @@ -0,0 +1,177 @@ + + + + + + + + Fout bij lezen bestand: Controleer geldigheid bestandstype + Fout bij laden bestand: + Fout bij laden uitdrukking + Fout bij bewaren uitdrukking + Kan selectie niet knippen: + Kan selectie niet kopiëren: + Kan boomstructuur niet weergeven: + Kon bewerking niet uitvoeren: + Kan matrix hier niet invoegen + Operator ontbreekt + Argument ontbreekt + Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org + + + Uitdrukking kon niet behandeld worden + DragMath - Kies een te laden bestand + DragMath - Kies een map om de uitdrukking te bewaren + Aantal in te voegen + Aantal in te voegen kolommen + Matrix Dimensies + Niets geselecteerd om te knippen + Niets te plakken + Geen box geselecteerd waarin geplakt moet worden + Niets geselecteerd om te kopiëren + Gekopieerd + Fout bij lezen output gegevens + Gekopieerd naar klembord + Niets te converteren + ER werd geen format-bestand geladen + Choose the image size 1-10 (Smallest-Largest) + + + Vermenigvuldigen + Delen + Optellen + Aftrekken + Komma + Plus-Minus + Vierkantswortel + N-de Machtswortel + Superscript + Subscript + Matrix + Integreren + Differentiëren + Kleiner Dan + Groter Dan + Kleiner dan of Gelijk Aan + Groter Dan of Gelijk Aan + Gelijk + Niet Gelijk + Vereniging + Doorsnede + Deelverzameling + Deelverzameling of Gelijk Aan + Geen Deelverzameling + Geen Deelverzameling of Gelijk Aan + Sinus + Cosinus + Tangens + Boog Sinus + Boog Cosinus + Boog Tangens + Sinus Hyperbolicus + Cosinus Hyperbolicus + Tangens Hyperbolicus + Boog Sinus Hyperbolicus + Boog Cosinus Hyperbolicus + Boog Tangens Hyperbolicus + Logaritme + Natuurlijke Logaritmen + Exponentiële Functie + Min + Rondde Haakjes + Accolades + Vierkante Haakjes + Absolute Waarde + Oneindig + Griekse letter + Factor + Maximum + Minimum + Toekenning + Onbekende functie + Determinant + Spoor + Bepaalde Integraal + Product + Som + Limiet + Evalueer een uitdrukking in een punt + Links arrow + Recht arrow + Up arrow + Omlaag arrow + Links dubbel arrow + Right dubbel arrow + Links-Recht arrow + Links-Recht dubbel arrow + Noord-Oost-arrow + Zuid-Oost-arrow + Noord-West-arrow + Zuid-West arrow + Vermenigvuldigen + Divisie + Gelijkwaardigheid + Er Bestaat + Voor alle + Element van + Er bestaat niet + Niet een element van + Asymptotically gelijk aan + Of + En + Niet + Partiële differentiaalvergelijking + + + + Laad uitdrukking uit bestand + Bewaar uitdrukking in bestand + Exporteer uitdrukking naar het klembord + Ongedaan maken + Herstellen + Knippen + Kopiëren + Plakken + Alles Wissen + Alles Selecteren + Laad een export format bestand + Laad een Taalbestand + Toon Boomstructuur + Toon outline of objecten + Laad help in webbrowser + About DragMath + + + Bestand + Openen... + Bewaar Als... + Kopieer naar klembord + Export to image + + Bewerk + Ongedaan maken + Herstellen + Knippen + Kopiëren + Plakken + Alles Wissen + Alles Selecteren + + Opties + Kies Export Format + Kies Taal + + Help + Debug + Toon boomstructuur + Toon outline + Online Help + About DragMath + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/pl.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/pl.xml new file mode 100644 index 0000000000..ef1879b9bd --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/pl.xml @@ -0,0 +1,177 @@ + + + + + + + + Błąd wczytania pliku: Sprawdź format pliku + Błąd wczytania pliku + Błąd wczytania wyrażenia + Błąd zapisu wyrażenia + Nie można wyciąć + Nie można skopiować + Nie można wyświetlić drzewa + Działanie nie może zostać zakończone + Nie można dodać macierzy w tym miejscu + Brakujący operator na pozycji + Brakujący argument na pozycji + Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org + + + Błąd parsowania wyrażenia + DragMath -Wybierz plik do wczytania + DragMath - Wybierz lokalizację zapisu + Wprowadź liczbę wierszy macierzy + Wprowadź liczbę kolumn macierzy + Wymiar macierzy + Nie zaznaczono nic do wycięcia + Brak elementów do wklejenia + Nie wybrano nic do wklejenia + Nie wybrano nic do skopiowania + Skopiowane + Błąd wczytania danych + Eksport wyrażenia do schowka + Brak wyrażenia do konwersji + Nie wybrano żadnego formatu + Choose the image size 1-10 (Smallest-Largest) + + + Mnożenie + Ułamek + Dodawanie + Odejmowanie + Przecinek dziesiętny + Plus-Minus + Pierwiastek kwadratowy + Pierwiastek n-tego stopnia + Indeks górny + Indeks dolny + Macierz + Całka nieoznaczona + Różniczkowanie + Mniejsze niż + Większe niż + Mniejsze lub równe + Większe lub równe + Równe + Nie równe + Suma + Iloczyn + Zawiera się + Zawiera się lub jest równy + Nie zawiera się + Nie zawiera się i nie jest równy + sin (sinus) + cos (cosinus) + tg (tangens) + arcsin (arcus sinus) + arccos (arcus cosinus) + arctg (arcus tangens) + sinh (sinus hiperboliczny) + cosh (cosinus hiperboliczny) + tgh (tangens hiperboliczny) + arcsinh (arcus sinus hiperboliczny) + arccosh (arcus cosinus hiperboliczny) + arctgh (arcus tangens hiperboliczny) + Logarytm + Logarytm naturalny + Exp (Funkcja eksponencjalna) + Minus + Nawiasy okrągłe + Nawiasy klamrowe + Nawiasy kwadratowe + Wartość bezwzględna + Nieskończoność + Greckie litery + Silnia + Maksimum + Minimum + Przypisanie + Funkcja + Wyznacznik macierzy + Ślad macierzy + Całka oznaczona + Iloczyn + Suma + Granica + Wartość wyrażenia w punkcie + Left arrow + Right arrow + Up arrow + Down arrow + Left double arrow + Right double arrow + Left-Right arrow + Left-Right double arrow + North-East arrow + South-East arrow + North-West arrow + South-West arrow + Multiplication + Division + Equivalence + There Exists + For All + Element Of + There Does Not Exist + Not An Element Of + Asymptotically Equivalent To + Or + And + Not + Partial Differential + + + Wczytaj wyrażenie z pliku + Zapisz wyrażenie do pliku + Eksportuj wyrażenie do schowka + Cofnij + Ponów + Wytnij + Kopiuj + Wklej + Wyczyść wszystko + Zaznacz wszystko + Wczytaj format pliku do eksportu + Wczytaj plik językowy + Pokaż strukturę drzewiastą wyrażenia + Display outline of objects on workspace + Pomoc online + O DragMath + + + Plik + Otwórz ... + Zapisz jako ... + Eksportuj do schowka + Export to image + + Edycja + Cofnij + Ponów + Wytnij + Kopiuj + Wklej + Wyczyść wszystko + Zaznacz wszystko + + Opcje + Wybierz format (Latex,MathML,...) + Wybierz język (pl,eng...) + + Pomoc + Debug + Pokaż drzewo wyrażenia + Outline + Pomoc Online + O programie DragMath + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/pt-br.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/pt-br.xml new file mode 100644 index 0000000000..a43f93a399 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/pt-br.xml @@ -0,0 +1,176 @@ + + + + + + + + Erro lendo arquivo: Verifique se o arquivo é válido + Erro lendo arquivo: + Erro carregando expressão salva + Erro salvando expressão + Seleção não pode ser recortada: + Seleção não pode ser copiada: + Árvore não pode ser mostrada: + Ação não pode ser completada: + Matriz não pode ser adicionada neste local + Operador faltando na posição + Argumento do operador faltando na posição + Erro: Não é possível exportar para imagem. Verifique sua conexão com a internet e acesse http://www.mathtran.org + + + Expressão não pode ser analisada + DragMath - Escolha uma expressão em arquivo para ser carregada + DragMath - Escolha o local para salvar a expressão + Informe o número de linhas da matriz + Informe o número de colunas da matriz + Dimensões da Matriz + Nada selecionado para recortar + Nada para colar + Nenhuma caixa selecionada para colar dentro + Nada selecionado para copiar + Copiado + Erro lendo dados externos + Expressão exportada para a área de transferência + Nenhuma expressão para converter + Nenhum formato de arquivo foi carregado ainda + Escolha o tamanho da imagem de 1-10 (Menor-Maior) + + + Multiplicação + Divisão + Adição + Subtração + Vírgula + Mais-Menos + Raiz Quadrada + Raiz de N + Sobrescrito + Subscrito + Matriz + Integral + Diferencial + Menor Que + Maior Que + Menor Que ou Igual A + Maior Que ou Igual A + Igual + Diferente + União + Intersecção + Subconjunto + Subconjunto ou Igual A + Não é Subconjunto + Não é Subconjunto ou Igual A + Seno + Cosseno + Tangente + Arco-Seno + Arco-Cosseno + Arco-Tangente + Seno Hiperbólico + Cosseno Hiperbólico + Tangente Hiperbólica + Arco-Seno Hiperbólico + Arco-Cosseno Hiperbólico + Arco-Tangente Hiperbólico + Logaritmo + Logaritmo Neperiano + Função Exponencial + Menos + Parênteses + Chaves + Colchetes + Valor Absoluto + Infinito + Letra Grega + Fatorial + Máximo de um conjunto + Mínimo de um conjunto + Atribuição + Função desconhecida + Determinante + Traço + Integral Definida + Produto + Soma + Limite + Determina uma expressão num ponto + Seta para esquerda + Seta para direita + Seta para cima + Seta para baixo + Seta dupla para esquerda + Seta dupla para direita + Seta para Esquerda-Direita + Seta dupla para Esquerda-Direita + Seta para Nordeste + Seta para Sudeste + Seta para Noroeste + Seta para Sudoeste + Multiplicação + Divisão + Equivalência + Existe + Para Todos + Elemento De + Não Existe + Não É Um Elemento De + Assintoticamente Equivalente A + Ou + E + Não + Diferencial Parcial + + + Carregar expressão de um arquivo + Salvar expressão em arquivo + Exportar expressão para área de transferência + Desfazer + Refazer + Recortar + Copiar + Colar + Limpar toda a área de trabalho + Selecionar toda a área de trabalho + Carregar um formato de exportação + Carregar um arquivo de idioma + Mostrar estrutura em árvore da expressão + Mostrar contorno dos objetos da área de trabalho + Carregar documentos de ajuda no navegador + Sobre DragMath + + + Arquivo + Abrir... + Salvar Como... + Exportar para área de transferência + Exportar para imagem + + Editar + Desfazer + Refazer + Recortar + Copiar + Colar + Limpar a área de trabalho + Selecionar Tudo + + Opções + Escolher formato de exportação + Escolher idioma + + Ajuda + Debugar + Mostrar árvore de expressão + Mostrar contorno + Ajuda Online + Sobre DragMath + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/ru.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/ru.xml new file mode 100644 index 0000000000..4dccacca70 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/ru.xml @@ -0,0 +1,176 @@ + + + + + + + + Îøèáêà ôîðìàòà ôàéëà: Ïðîâåðüòå ïðàâèëüíîñòü óêàçàííîãî ôàéëà + Îøèáêà çàãðóçêè ôîðìàòà ôàéëà: + Îøèáêà çàãðóçêè ñîõðàíåííîãî âûðàæåíèÿ + Îøèáêà ñîõðàíåíèÿ âûðàæåíèÿ + Íåâîçìîæíî âûðåçàòü âûáðàííîå: + Íåâîçìîæíî êîïèðîâàòü âûáðàííîå: + Íåâîçìîæíî îòîáðàçèòü äåðåâî: + Äåéñòâèå íå ìîæåò áûòü âûïîëíåííî: + Íåâîçìîæíî äàáàâèòü Ìàòðèöó â óêàçàííîå ìåñòî + Îòñóòâòâóåò Îïåðàòîð íà ïîçèöèè + Îòñóòñòâóåò àðãóìåíò îïåðàòîðà íà ïîçèöèè + Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org + + + Íåâîçìîæåí ðàçáîð âûðàæåíèÿ + DragMath - Âûáåðèòå ôàéë âûðàæåíèÿ äëÿ çàãðóçêè + DragMath - Âûáåðèòå ìåñòîïîëîæåíèå äëÿ ñîõðàíåíèÿ âûðàæåíèÿ + Ââåäèòå êîëè÷åñòâî ñòðîê â ìàòðèöå + Ââåäèòå êîëè÷åñòâî ñòîëáöåâ â ìàòðèöå + Ðàçìåð Ìàòðèöû + Íè÷åãî íå âûáðàííî ÷òîáû âûðåçàòü + Íå÷åãî âñòàâëÿòü + Íå âûáðàí áëîê äëÿ âñòàâêè + Íè÷åãî íå âûáðàíî äëÿ êîïèðîâàíèÿ + Ñêîïèðîâàíî + Îøèáêà ÷òåíèÿ âûõîäíûõ äàííûõ + Âûðàæåíèå ýêñïîðòèðîâàííî â áóôåð îáìåíà + Íåò âûðàæåíèÿ äëÿ êîíâåðòàöèè + Íå çàãðóæåí ôàéë ôîðìàòà + Choose the image size 1-10 (Smallest-Largest) + + + Óìíàæåíèå + Äåëåíèå + Ñëîæåíèå + Âû÷èòàíèå + Çàïÿòàÿ + Ïëþñ-Ìèíóñ + Êâàäðàòíûé Êîðåíü + N-é Êîðåíü + Âåðõíèé Èíäåêñ + Íèæíèé Èíäåêñ + Ìàòðèöà + Èíòåãðèðîâàíèå + Äèôôåðåíöèðîâàíèå + Ìåíüøå + Áîëüøå + Ìåíüøå èëè Ðàâíî + Áîëüøè èëè Ðàâíî + Ðàâåíñòâî + Íåðàâåíñòâî + Îáúåäèíåíèå + Ïåðåñå÷åíèå + Ïîäìíîæåñòâî + Ïîäìíîæåñòâî èëè Ðàâåíñòâî + Íå Ïîäìíîæåñòâî + Íå Ïîäìíîæåñòâî èëè Ðàâåíñòâî + Ñèíóñ + Êîñèíóñ + Tangent + Èíâåðñíûé Ñèíóñ + Èíâåðñíûé Êîñèíóñ + Èíâåðñíûé Òàíãåíñ + Ãèïåðáîëè÷åñêèé Ñèíóñ + Ãèïåðáîëè÷åñêèé Êîñèíóñ + Ãèïåðáîëè÷åñêèé Òàíãåíñ + Èíâåðñíûé Ãèïåðáîëè÷åñêèé Ñèíóñ + Èíâåðñíûé Ãèïåðáîëè÷åñêèé Êîñèíóñ + Èíâåðñíûé Ãèïåðáîëè÷åñêèé Òàíãåíñ + Ëîãàðèôì + Íàòóðàëüíûé Ëîãàðèôì + Ýêñïîíåíöèàëüíàÿ Ôóíêöèÿ + Ìèíóñ + Êðóãëûå Ñêîáêè + Ôèãóðíûå Ñêîáêè + Êâàäðàòíûå Ñêîáêè + Ìîäóëü + Áåñêîíåñíîñòü + Ãðå÷åñêàÿ Áóêâà + Ôàêòîðèàë + Ìàêñèìóì + Ìèíèìóì + Ïðèñâàèâàíèå + Íåèçâåñòíàÿ ôóíêöèÿ + Äåòåðìèíàíò + Òðàññèðîâêà + Îïðåäåë¸ííûé Èíòåãðàë + Ïðîèçâåäåíèå + Ñóììèðîâàíèå + Ïðåäåë + Âû÷èñëèòü âûðàæåíèå â òî÷êå + Left arrow + Right arrow + Up arrow + Down arrow + Left double arrow + Right double arrow + Left-Right arrow + Left-Right double arrow + North-East arrow + South-East arrow + North-West arrow + South-West arrow + Multiplication + Division + Equivalence + There Exists + For All + Element Of + There Does Not Exist + Not An Element Of + Asymptotically Equivalent To + Or + And + Not + Partial Differential + + + Çàãðóçèòü âûðàæåíèå èç ôàéëà + Ñîõðàíèòü âûðàæåíèå â ôàéë + Ýêñïîðòèðîâàòü âûðàæåíèå â áóôåð îáìåíà + Îòìåíèòü + Ïîâòîðèòü + Âûðåçàòü + Êîïèðîâàòü + Âñòàâèòü + Î÷èñòèòü ðàáî÷åå ïðîñòðàíñòâî + Âûáðàòü ðàáî÷åå ïðîñòðàíñòâî + Çàãðóçèòü ýêñïîðò ôàéëà ôîðìàòà + Çàãðóçèòü ÿçûêîâîé ôàë + Ïîêàçàòü äðåâîâèäíóþ ñòðóêòóðó âûðàæåíèÿ + Ïîêàçàòü î÷åðòàíèå îáúåêòîâ íà ðàáî÷åì ïðîñòðàíñòâå + Çàãðóçèòü äîêóìåíò ïîìîùè â âåá-áðàóçåðå + Î DragMath + + + Ôàéë + Îòêðûòü... + Ñîõðàíèòü êàê... + Ýêñïîðòèðîâàòü â áóôåð îáìåíà + Export to image + + Ïðàâêà + Îòìåíèòü + Ïîâòîðèòü + Âûðåçàòü + Êîïèðîâàòü + Âûðåçàòü + Î÷èñòèòü Ðàáî÷åå Ïðîñòðàíñòâî + Âûáðàòü Âñ¸ + + Íàñòðîéêè + Óñòàíîâèòü ôîðìàò ýêñïîðòà + Óñòàíîâèòü ÿçûê + + Ïîìîùü + Îòëàäêà + Ïîêàçàòü äåðåâî âûðàæåíèÿ + Ïîêàçàòü î÷åðòàíèÿ + Îíëàéí Ïîìîùü + Î DragMath + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/sv.xml b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/sv.xml new file mode 100644 index 0000000000..82a7861a9f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/lang/sv.xml @@ -0,0 +1,178 @@ + + + + + + + + Fel vid format filläsning: Kolla att filen är giltig + Error loading format file: + Fel vid laddning av sparad uttryck + Fel vid sparande av uttryck + Kan inte klippa ut markeringen: + Kan inte kopiera markeringen: + Kan inte visa trädet: + Åtgärden kunde inte fullgöras: + Kan inte lägga till en Matris här + Operator saknas vid läge + Operatorns variabel (Argument) saknas vid läge + Error: Cannot export to image. Check internet connection and access to http://www.mathtran.org + + + Uttrycket kan inte tolkas + DragMath - Välj en format fil att ladda + DragMath - Välj en uttrycksfil att ladda + DragMath - Välj var du vill spara uttrycket + Ange antalet rader i matrisen + Ange antalet kolumner i matrisen + Matris mÃ¥tt + Inget vald att klippa ut + Ingeting att klistra in + Ingen box vald att klistra in i + Inget vald att kopiera + Kopierad + Fel vid läsning av output data + uttryck kopierad till minnet + Inget uttryck att omvandla + Ingen format fil har laddats än + Choose the image size 1-10 (Smallest-Largest) + + + Multiplikation + Division + Addition + Subtraktion + Komma + Plus-Minus + Kvadratrot + N-te rot + exponent + index + Matris + Integration + Differentiering + mindre än + större än + mindre än eller lika med + större än eller lika med + lika med + Ingen lika med + Union + Intersektion + Subset (undergrupp) + Subset (undergrupp) eller lika med + Ingen Subset (undergrupp) + Ingen Subset (undergrupp) eller lika med + Sinus + Cosinus + Tangens + Invers Sinus + Invers Cosinus + Invers Tangens + Hyperbolisk Sinus + Hyperbolisk Cosinus + Hyperbolisk Tangens + Invers Hyperbolisk Sinus + Invers Hyperbolisk Cosinus + Invers Hyperbolisk Tangens + Logaritm + Naturlig Logaritm + Exponentiell Funktion + Minus + rundparentes + klammerparentes + hakparentes + Absolut Värde + oändlighet + Grekisk bokstav + Faktorial + Maximum av en mängd + Minimum av en mängd + Assignment + okänd funktion + Determinant + Trace + Bestämd Integral + Produkt + Summa + Gränvärdet + utvärdera ett uttryck vid en punkt + Left arrow + Right arrow + Up arrow + Down arrow + Left double arrow + Right double arrow + Left-Right arrow + Left-Right double arrow + North-East arrow + South-East arrow + North-West arrow + South-West arrow + Multiplication + Division + Equivalence + There Exists + For All + Element Of + There Does Not Exist + Not An Element Of + Asymptotically Equivalent To + Or + And + Not + Partial Differential + + + Ladda uttryck frÃ¥n en fil + Spara uttryck till fil + Export expression to clipboard + Ångra + Redo + Klipp ut + Kopiera + klistra in + Clear the entire workspace + Select the entire workspace + Load an export format file + Load a language file + Visa träd för Uttrycket + Display outline of objects on workspace + Loads help documents in web browser + Om DragMath + + + File + Open... + Save As... + Export to clipboard + Export to image + + Edit + Ångra + Redo + Klipp ut + Kopiera + klistra in + Clear Workspace + Select All + + Options + Set export format + Set language + + Help + Debug + Visa träd för uttryck + Visa innehÃ¥llsblock + Online Help + Om DragMath + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/swing-layout-1.0.jar b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/applet/classes/swing-layout-1.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..8d3f66f324ea898a63be3d6f8803b85d2522e1fe GIT binary patch literal 143306 zcmeFa2YeO9*EfDklt` zIj*Fjpy0zkBa7SLwtvjN9sS$wTl)6C;@CURZ%R%d((?WXzuOfZQFhO{Pahoi>CItV zJ~QImoZY|W_TnG=zMTBw{;ErExUIOucis9-dHS0VfA_VSo@&g$b4~g)fAr07aP$@_ zhxBY$rQ70&mhb&`YHip4#oj(2iFsEa{d#3;w?E%YZ_%*9srnbb))vlK_ItZ=3!;p7 zTKE5>@b%c$JxATPzPwSZjV;=JKkCn#og!D3-E&}=cgg-1Kjz#Y_2Au66RzvutM6@J zUjN50f3CQH$)M_crq}<)Sh*plcjZGZKKo+U>fwjpC`<3OZ2f~RrziHw-m&q}u0vHn zIXPN8HEnzQwPRMbysN>c>Av14*1Ymnqtk1XukSFs>k2KV$DpvQa;J5OԇnwM8 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

EPtp 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 z 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 literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/demo.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/demo.html new file mode 100644 index 0000000000..7369071f2c --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/demo.html @@ -0,0 +1,56 @@ + + + +DragMath - Demonstration + + + + + +

+

DragMath

+
+ + +
+

+Home    +Demonstration    +Download    +Documentation    +Integrations    +Support DragMath    +Contact +

+
+ + +
+ +

Demonstration

+

+ +To use this page you need a Java-enabled browser. Download the latest Java plug-in from Java.com +

+
+ + +

Maxima Demo
+This example shows setting the default output format to 'Maxima', and how JavaScript can be used to provide further interaction between a web-page and DragMath.
+
+LaTeX Demo
+This example sets the default output format to 'LaTeX', and passes the LaTeX syntax to an external applet which renders it dynamically.
+
+MathML Demo
+This example dynamically inserts the generated MathML syntax in the web-page, so the created expression is displayed with MathML.It requires a MathML enabled Gecko browser, or Internet Explorer and a MathML plugin.

+
+
+

© 2008 Alex Billingsley, Chris Sangwin +

+

+ +
+ + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/WS_FTP.LOG b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/WS_FTP.LOG new file mode 100644 index 0000000000..9c985cf665 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/WS_FTP.LOG @@ -0,0 +1,17 @@ +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\about.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc about.html +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\acknowledgments.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc acknowledgments.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\browser.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc browser.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\complex.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc complex.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\cvs.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc cvs.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\editing.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc editing.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\index.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc index.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\integrations.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc integrations.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\language.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc language.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\navframe.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc navframe.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\newformat.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc newformat.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\newobject.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc newobject.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\options.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc options.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\parameters.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc parameters.html +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\simple.html --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc simple.html +2008.01.23 10:48 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc WS_FTP.LOG +2008.01.23 10:59 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc WS_FTP.LOG diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/about.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/about.html new file mode 100644 index 0000000000..f82898dd64 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/about.html @@ -0,0 +1,20 @@ + + +DragMath Documentation - About DragMath + + + + + +

About DragMath

+ +

+DragMath is a simple "drag and drop" equation editor for mathematics. Accepting certain traditional mathematical conventions, the user can build a mathematical expression. This expression can be exported in a number of different formats. DragMath is a simple Java applet, and could be incorporated into web-based applications or other Java applications. +

+

+DragMath started as a final-year University project at the University of Birmingham by Alex Billingsley under the supervision of Chris Sangwin. It's main application is therefore directed toward an educational one. +

+ +
+ + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/acknowledgments.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/acknowledgments.html new file mode 100644 index 0000000000..4c70f247ce --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/acknowledgments.html @@ -0,0 +1,32 @@ + + +DragMath Documentation - License + + + + + +

DragMath copyright information

+ +

DragMath is licensed under the GNU General Public License (GPL) (http://www.gnu.org/copyleft/gpl.html) +

+All source code in this package is written by Alex Billingsley except the libraries used. The copyright information for the libaries is included below:

+
+

+

JDOM
http://www.jdom.org

+JDOM is available under an Apache-style open source license, with the acknowledgment clause removed. This license is among the least restrictive license available, enabling developers to use JDOM in creating new products without requiring them to release their own products as open source. This is the license model used by the Apache Project, which created the Apache server. The license is available at the top of every source file and in LICENSE.txt in the root of the distribution. +

+
+

+

JEP
https://sourceforge.net/projects/jep/

+JEP is licensed under the GNU General Public License (GPL) (http://www.gnu.org/copyleft/gpl.html)

+

+
+

glyFX Common Toolbar Set Icons
http://www.glyfx.com

+Icons used in software, license found at; http://www.glyfx.com/license-toolbar.html

+ + +
+ + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/browser.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/browser.html new file mode 100644 index 0000000000..585d74f25c --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/browser.html @@ -0,0 +1,85 @@ + + +DragMath Documentation - Running applet in web browser + + + + + +

Running applet in web browser

+ +

+Details are given on the file structure of the required files, and <APPLET> tag to enable the applet to run in a web browser. +

+The applet currently requires Java Runtime Environment (JRE) 1.4 or higher to run, which can be obtained from www.java.com +

+The recommended file structure is: +

+ +
+
applet.html
+
+
\dragmath
+
+
+
\Display
+
+
MainApplet.class
+
+
+
\lang
+
+
en.xml
+
+
+
\formats
+
+
Maple.xml
+
Latex.xml
+
MathML.xml
+
Maxima.xml
+
+
+
AbsoluteLayout.jar
+
swing-layouts-1.0.jar
+
jdom.jar
+
jep.jar
+
Project.jar
+
+
+
+Using this structure the following <APPLET> tag should be used: +

+

+ +<applet +name= +"dragmath" +codebase="classes" +code= +"Display.MainApplet.class" + archive= +"Project.jar,AbsoluteLayout.jar,swing-layout-1.0.jar,,jdom.jar,,jep.jar" + width= +540 + height= +300 +>
+<param +name=
+language +value= +"en" + >
+</applet > +
+

+ +All of the .jar files in the \dragmath directory require digitally signing. A tutorial on how to do this can be viewed at,
+http://java.sun.com/developer/onlineTraining/Programming/JDCBook/signed.html#example + +
+ + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/complex.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/complex.html new file mode 100644 index 0000000000..98317bffd5 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/complex.html @@ -0,0 +1,209 @@ + + +DragMath Documentation - Creating complex expressions + + + + + +

Creating complex expressions

+ +

+To apply an object to multiple objects, you will need to select the multiple objects and then click on the object to apply in the toolbar. Selection is performed as it is in any program, by using the mouse to highlight the desired area. +

+

+Operators and functions can be entered into text boxes using the keyboard with the following syntax: +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameSyntax
Addition+
Multiplication*
Division/
Greater than>
Less than<
Equal=
==
Less than or Equal<=
Greater than or Equal>=
Power^
Sinesin(x)
Cosinecos(x)
Tangenttan(x)
Arc Sineasin(x)
Arc Cosineacos(x)
Arc Tangentatan(x)
Hyperbolic Sinesinh(x)
Hyperbolic Cosinecosh(x)
Hyperbolic Tangenttanh(x)
Inverse Hyperbolic Sineasinh(x)
Inverse Hyperbolic Cosineacosh(x)
Inverse Hyperbolic Tangentatanh(x)
Natural Logarithmln(x)
Logarithmlog(x)
Exponentialexp(x)
Absolute Valueabs(x)
Square Rootsqrt(x)
Unionunion(a,b)
Intersectionintersection(a,b)
Determinantdet(a)
Tracetrace(a)
Subsetsubset(a,b)
Integralintegrate(f,x)
+int(f,x)
Definite Integralintegrate(f,x,a,b)
+int(f,x,a,b) +
Differentialdiff(f,x)
Sumsum(n^2,n,1,10)
Productproduct(n^2,n,1,10)
+ +

+Once the box that you have been typing in has been left then the text is turned into templates automatically for you. +

+
+ +How to use layout templates + + +

+There are special templates called layout templates, beause they each take a unique layout. These are:
+Fraction
+Square Root
+N-th Root
+Subscript
+Superscript
+Matrix
+Integral
+Differential
+Product
+Sum
+Limit
+Evaluate at a point
+Grouping (round brackets, curly brackets, square brackets, modulus)
+

+

+These layout templates can be used in exactly the same way as the other math templates. +

+ +
+ +How to add symbols + +

+Symbols such as greek letters are added by clicking in the box you wish to insert the symbol, and then clicking on the symbol in the toolbar. +

+ +
+ + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/cvs.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/cvs.html new file mode 100644 index 0000000000..dc9f60795b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/cvs.html @@ -0,0 +1,73 @@ + + +DragMath Documentation - Setting up DragMath CVS in NetBeans + + + + + +

Setting up DragMath CVS in NetBeans

+ +

+Below are the instructions on how to get active as a developer of DragMath and set up NetBeans with the DragMath code versioning system (CVS).

+

+1. Install NetBeans
+2. Get source code from DragMath CVS repository
+3. Update and Commiting your local source code copy +

+
+ + +1. Install NetBeans + +
+

+NetBeans is the integrated development environment (IDE) used for DragMath. +It is open source and can be downloaded from http://www.netbeans.org. +

+
+ + +2. Get source code from DragMath CVS repository + +

+Start NetBeans and do the following to get the DragMath source code:
+

+1. File -> New Project +

+2. Choose the 'General' category, and then 'Java Application' under Projects, then click Next. +

+3. Set the Project Name as "ddma". Click Browse to choose the location where you would like the code stored. Then click Next. +

+4. CVS -> Checkout. The click Edit. +

+5. Fill in the location information identifying the DragMath CVS repository and click OK.
+ Access Method: pserver for anonymous, ext for developer accounts
+ User: "anonymous" or your DragMath developer account at SourceForge
+ Host: dragmath.cvs.sourceforge.net
+ Repository Path: /cvsroot/dragmath +

+6. Enter your password, none for anonymous login, then click Next +

+7. Set the Module as "ddma", and the Local Folder to the same location the Project was created. Then click Finish. +

+8. Once the source code has been downloaded, click Close to the popup message about opening the project. +

+9. The different packages containing the source code can now be seen in the projects window. The package 'ddma' containing the Main.java class can be deleted, as it was created for the new Project and is not part of the DragMath source code. +

+10. The libraries used by DragMath must now be added to the Project. Right click on Libraries in the Project window, and go to 'Add JAR/Folder...'. Navigate to the ddma -> lib folder and add all the .jar files from this folder. +

+11. The code is now ready to work on. +

+
+ +3. Update and Commiting your local source code copy + +

+The code can be updated and commited using the Update and Commit options under the CVS menu in NetBeans. +

+ +
+ + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/editing.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/editing.html new file mode 100644 index 0000000000..ee79b40b34 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/editing.html @@ -0,0 +1,47 @@ + + +DragMath Documentation - Editing an expression + + + + + +

Editing an expression

+ +

+Basic editing options are supplied to edit the expression: +

+ +
    +
  • +Select - Selection is performed similar to any program, by dragging the mouse to highlight the desired area. Objects can also be selected by double clicking on them. You can select all the objects on the workspace by using Select All on the menu, or Ctrl+A on the keyboard. +

    +
  • +Cut – Select the desired area to cut, then either click the Cut button or use Ctrl+X on the keyboard. +

    +
  • +Copy – Select the desired area to copy, then either click the Copy button or use Ctrl+C on the keyboard. +

    +
  • +Paste – Once a selection has been copied, it can be pasted into any box, by clicking on the box to select it, and then either clicking the Paste button or using Ctrl+V on the keyboard. +

    +
  • +Delete – Delete is performed by selecting the area to delete and pressing delete on the keyboard. +

    +
  • +Undo – You can perform an undo by clicking the Undo button +

    +
  • +Redo – You can perform a redo by clicking the Redo button +

    +
  • +Open – Saved expressions can be opened from a file using the Open button +

    +
  • +Save – Expressions can be saved to a file using the Save button +

    +
+
+ + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/WS_FTP.LOG b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/WS_FTP.LOG new file mode 100644 index 0000000000..7d656d0c4a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/WS_FTP.LOG @@ -0,0 +1,6 @@ +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\img\plus.jpg --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc/img plus.jpg +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\img\sin on box.jpg --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc/img sin on box.jpg +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\img\sin on plus.jpg --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc/img sin on plus.jpg +2008.01.23 10:10 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\img\sin.jpg --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc/img sin.jpg +2008.01.23 10:48 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\img\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc/img WS_FTP.LOG +2008.01.23 10:59 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\doc\img\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/doc/img WS_FTP.LOG diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/plus.jpg b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/plus.jpg new file mode 100644 index 0000000000000000000000000000000000000000..848f6e6e13a370009398e3197b782438e285ce7e GIT binary patch literal 1003 zcmex=^(PF6}rMnOeST|r4lSw=>~TvNxu(8R<}W=16jCP7AKLB{__7~~lk7+Ha?1vwZB7@3$^SlQS)IJvli z3bqO`FflSSGqEtUva+xMRo4RL8CV2ag%k}P*@OcV*_8@Kj2b5{ECr+Na zbot8FYu9hwy!G(W<0ns_J%91?)yGetzkL1n{m0K=Ab&A3Fhjfr_ZgbM1cClyVqsxs zVF&q(k*OSrnFU!`6%E;h90S=C3x$=88aYIqCNA7~kW<+>=!0ld(M2vX6_bamA3gw<=XWheceKGr!?v_V9wdOJn1kPLSuu$EBxs&A1@o_=-2_=!0B7+pJelxA>~RnG}6k zCXn0X+)2?TcW!7mPPo|f{pK6(#ZC9DQxoOh&v=(~CSr0=slC^<2CbvVmRtO1SY}xN z!ryb{{2x>AeyG2)|6fz)r^ur^%iKOQPY{_hb+SUb#6- RgU(cyi{8z*x)}c71OWEold=E+ literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/sin on box.jpg b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/img/sin on box.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ce319b32f3433ea5dacc49a44c20f513c0b5d07f GIT binary patch literal 1529 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 IgZ%%S0H22YLI3~& literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/index.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/index.html new file mode 100644 index 0000000000..adcc364d6a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/index.html @@ -0,0 +1,16 @@ + + +DragMath Documentation + + + + + + + + + + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/integrations.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/integrations.html new file mode 100644 index 0000000000..73d65b34a4 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/integrations.html @@ -0,0 +1,41 @@ + + +DragMath Documentation - Integrations + + + + + +

Integrations

+ +

+DragMath has been successfully integrated with a number of different systems. The main method used for extracting the expression in the desired format is by using the getMathExpression() method called from JavaScript within a web page. This method returns the expression in the format specified. +

+
+ + +Moodle + +

+Moodle is a free, open source course management system (CMS). Also know as a Learning Managment System (LMS) or Virtual Learning Environment (VLE). For further details please see the specific Moodle installation instructions. +

+
+ + +STACK + +

+STACK is a computer aided assessment (CAA) package for mathematics. It was mainly developed by Chris Sangwin (a developer of DragMath). +

+
+ + +YourMathsTutor Website + +

+YourMathsTutor is a website created primarily to help students studying the for the UK's Key Stage 3, GCSE, AS and A Level mathematics and physics exams. DragMath has been integrated into the forum on this website. The forum is a Simple Machines Forum (SMF), which is a powerful open source forum. More information on how it was integrated and how it is used in the forum. +

+
+ + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/language.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/language.html new file mode 100644 index 0000000000..88ea0057d2 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/language.html @@ -0,0 +1,31 @@ + + +DragMath Documentation - Adding a language + + + + + +

Adding a language

+ +

+The software is supplied with an English language file, ‘en.xml’. This can be used as a template for creating other language files. To change the language data simply change the text within the tags in XML file. +

+

+For example consider the error message when a file cannot be read, +

+ +<ReadingFile> +Error reading format file: Check file is valid +</ReadingFile> + +

+To change the language of this message, simply change the message between the tags (the bold text). The tags should not be changed, otherwise the language file will not work. +

+Once a new language file has been created it should be placed in the \lang folder where the English file was found, and then an entry corresponding to that file entered in the Config.xml file. To change which language file the software uses see the Options section or the Changing applet parameters section. +

+ +
+ + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/navframe.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/navframe.html new file mode 100644 index 0000000000..4ab7ca4dc5 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/navframe.html @@ -0,0 +1,34 @@ + + +
+
DragMath
+
+ +
+
Basic Usage
+
Creating simple expressions
+
Creating complex expressions
+
Editing an expression
+
Options
+
+
Advanced Usage
+
Adding a language
+
Adding an output format
+
Changing applet parameters
+
Integrations
+
+
Developer Usage
+
Setting up DragMath CVS in NetBeans
+
Running applet in web browser
+
Adding a function/operator
+
+
About
+
License
+
About DragMath
+
+

+
www.dragmath.bham.ac.uk
+
+ + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/newformat.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/newformat.html new file mode 100644 index 0000000000..20a19a026c --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/newformat.html @@ -0,0 +1,227 @@ + +DragMath Documentation - Adding an output format + + + +
Adding an output format
+
+
+

+The formats supplied +are Maple, Latex, MathML and Maxima, with the corresponding files found in +the \formats folder. These files can be edited to reflect the syntax you prefer. These +files can also be used as templates for creating files for different formats. +There are a number of rules and options that you need to be aware of to +successfully create an XML file for a new format.

Each math object has +its own element in the XML document, with a familiar name describing it, for +example “Add”. Within this element there are a number of sub-elements depending +upon how many arguments the object has.
+

N-ary operators +have a single ‘output’ element e.g. for addition this +is 
     <Add>
        +<output>+</output>
    </Add>

Binary Operators have 3 +‘output’ elements e.g. for fraction in Latex this is
    <Divide brackets="false">
        +<output1>\frac{</output1>
        +<output2>}{</output2>
        +<output3>}</output3>
    </Divide>

Functions have 2 ‘output’ +elements e.g. for square root in Latex this is
    +<SquareRoot brackets="false">
        +<output1>\sqrt{</output1>
        +<output2>}</output2>
    +</SquareRoot>


+
N-ary functions have 'n' output elements +e.g. for definite integral in Latex it has +5
+
    +<DefiniteIntegral reverse="true">
        +<output1>  \int_{</output1>
        +<output2>}^{</output2>
        +<output3>}</output3>
        +<output4>\,\mathrm{d</output4>
        +<output5>}</output5>
    +</DefiniteIntegral>
+
 
+
+
Symbols have 1 ‘output’ element e.g. for +Infinity in Latex this is
    +<Infinity>
        +<output>\infty</output>
    +</Infinity>


Groupings have 2 ‘output’ elements e.g. +for square brackets in Latex this is
    <BracketsSq>
        +<output1>\left[</output1>
        +<output2>\right]</output2>
    +</BracketsSq>


Matrix in Latex is as +follows:
    <Matrix>
        +<matrixStart>\left( +\begin{array}{ccc}</matrixStart>
        +<rowStart />
        +<elementStart />
        +<elementEnd />
        +<elementSeparator><![CDATA[ & +]]></elementSeparator>
        +<rowEnd> \\ </rowEnd>
        +<rowSeparator />
        +<matrixEnd>\end{array} +\right)</matrixEnd>
    +</Matrix>



The syntax within these tags is used +when converting an expression to that particular format. The actual arguments of +the objects appear in the syntax between each pair of tags. For example consider +½ in Latex format.  It has 3 ‘output’ elements. So the first part will be +‘\frac{‘, then the first argument will be appended to the string giving us, +‘\frac{1’, then the 2nd output will be appended, ‘\frac{1}{‘, then the 2nd +argment, \frac{1}{2’ and then the final output, ‘\frac{1}{2}’. A similar process +takes place with all the object types of objects, with the argument being +appended between each pair of output elements.

There are various options +that can be set to allow more control over the +output.
+
 
+
Reverse
If you find the arguments +of a binary operator being output in the wrong order for a format, you can +reverse the order of them by setting, reverse=”true”. An example of this is with +the N-th root in Latex,
    <NthRoot reverse="true" brackets="false">
        +<output1>\sqrt[ +</output1>
        +<output2>]{</output2>
        +<output3>}</output3>
    +</NthRoot>

+
 
+
Argument Order
+
If you find the arguments of an N-ary Function being output in the wrong +order for a format, you can re-arrange the order of them by setting, +order=”#1,#2,#3,...,#n”. An example of this is with the Sum in Latex. +Obviously, the default order for this is 0,1,2,3, and it is being +changed to 1,2,3,0.
    <Sum order="1,2,3,0">
        +<output1> \sum_{{</output1>
        +<output2>}={</output2>
        +<output3>}}^{</output3>
        +<output4>}</output4>
        +<output5></output5>
    +</Sum>


+
AutoBrackets
By default, round +brackets are placed around n-ary operators and binary operators where necessary +to ensure operator precedence is preserved. For presentational formats, such as +Latex this is often unnecessary, so there is the option to turn automatic +placing of brackets on/off. This is set in the element that specifies the name +of the format. An example of this is shown for +Latex,
+
    <name AutoBrackets="false">Latex</name>
+
 
+
Brackets on Functions
Brackets +are added by default around the argument of a function. For example Sine in +Latex is,
    <Sine>
        +<output1>\sin +</output1>
        <output2 +/>
    </Sine>


Brackets are +automatically added after the ‘\sin’ and after the 2nd output, resulting in +"\sin(arg)". This is often the desired result but if you need to turn the +brackets off, they can be set for each individual function. An example of +turning them off is shown here for Square root in +Latex,
    <SquareRoot brackets="false">
        +<output1>\sqrt{</output1>
        +<output2>}</output2>
    +</SquareRoot>

+
 
+
Initial
As well as the structured +number of output elements for each type of object, there is the option of having +an ‘initial’ element. The data in this element is added to the string before any +other output element is. An example of its use for describing multiplication in +MathML Content is shown below.
    <Add>        
        +<initial><times/></initial>
        +<output</output> 
    +</Add>

 ‘a x b x c’ would then be converted +to,
    +<times/>
        +<ci>a</ci>
        +<ci>b</ci>
        +<ci>c</ci>
+
 
+
Final
+
N-ary operators can also have an optional 'final' +element for adding data after everything else. An example of this is with Union +in Maxima.
+
    <Union>
        +<initial>union(</initial>
        +<output>,</output>
        +<final>)</final>
    +</Union>
+
 
diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/newobject.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/newobject.html new file mode 100644 index 0000000000..a5b8897556 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/newobject.html @@ -0,0 +1,43 @@ + + +DragMath Documentation - Adding a function/operator + + + + + +

Adding a function/operator

+ +

+The code can be easily modified and recompiled to add additional operators and functions. +

+However, they must adhere to the standard display layout shown below: +

+Operator: +
+ +

+Function: +
+ +

+The steps to adding one: +

+
    + +
  1. A new element in the CompConfig.xml, which is located in the Display package. The element must be given a unique name as the name of the object. A unique ID number, by simply choosing the next available ID number. A group number as follows: +
     N-ary operator - 1 +
     Binary Operator - 2 +
     Function - 3 +
     The name of the GIF file that holds a transparent image of the object, of size  16x16, 24x24 or 32x32 pixels.
     The text of the element should hold the + characters that represent the object. +
  2. A new JButton placed on one of the tabs, in the MainApplet.java file. This button can have Text or an Icon to inform the user what it is. The JButton must have the name field set to 'ID-Name' e.g. for Addition this is '2-Add'. +
  3. A new element in the language file you intend to use, with the same element name as in the CompConfig.xml file. The text of the element should be a description of the object for use in the status bar of the program. +
  4. The array ‘inputComponents’ should be initialised to the size of the highest ID number now in CompConfig.xml. This line of code is found near the start of the init() method in the MainApplet.java file, in the Display package. +
  5. The Precedence.java file in the Tree package should be adjusted, so the ‘value’ array is initialised to the size of the highest ID number now in CompConfig.xml, and the precedence of the new object should be set if required. +
  6. An entry in each format XML file will be required for the new object. For details on how to do this see here. + + + + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/options.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/options.html new file mode 100644 index 0000000000..cc91b03666 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/options.html @@ -0,0 +1,38 @@ + + +DragMath Documentation - Options + + + + + +

    Options

    + +

    + +Exporting an expression + +

    +

    +To choose which format to export to click 'Set export format' under the Options menu, and select a file from the list. The files available will be those in the \formats folder. If no format is specified in an applet paramater the default is LaTeX. +To export an expression click the Export button. Once exported the syntax will be copied to the clipboard, so you can simply paste it into any other program you desire. +

    +
    + +Changing the language + +

    +The language can be changed by clicking 'Set language' under the Options menu, and selected a file from the list. The files available will be those in the \lang folder. If no language is specified in an applet parameter the default is English. +

    + +
    + +Help + +

    +If there appears to be a problem with the way the software is behaving it can be useful to use the two tools under the Debug menu, which is under the Help menu. These can show the current expression as a tree, and outline the borders of all the objects on the workspace. +Under the Help menu there is also a link to the Online Documentation. +

    +
    + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/parameters.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/parameters.html new file mode 100644 index 0000000000..6cd54fd8c6 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/parameters.html @@ -0,0 +1,77 @@ + + +DragMath Documentation - Changing applet parameters + + + + + +

    Changing Applet parameters

    + +

    +There are various parameters that can be set inside the <APPLET> tag, to change particular options of the applet. +

    + + +Language + +

    + +<param +name= + +language + +value= + +"en" + +> + +
    +The value is the name of the XML file, so this example refers to language file en.xml in the \lang folder. If the parameter is not used the default value is "en". +

    + + +Output Format + +

    + +<param +name= + +outputFormat + +value= + +"MathML" + +> + +
    +The value is the name of the XML file, so this example refers to output format file MathML.xml in the \formats folder. The purpose of setting this is to have the default format to use automatically set when the software loads. +

    + + +Open applet with an expression + +

    + +<param +name= + +openWithExpression + +value= + +"sin(1+x)" + +> + +
    +The value can be any expression you would like the applet to be opened with. The Maxima example on the DragMath website gives an example of this being used. +

    + +
    + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/simple.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/doc/simple.html new file mode 100644 index 0000000000000000000000000000000000000000..ec5086fbcaad960d400976a77f87a0c57c146276 GIT binary patch literal 5520 zcmc(j&uHQvZFoQM$&X%Hd|YnUn zC!6wE^G;;fRAV!(I;eDj(L>!I%hGE-$JdqYO__}_S!mrt5|H$5`Dy!kR32@mvAWfB zJie5)|BqBx4%mfV*a&J^o9J9`@AjiP)yk%fnNvtQjn`(?`GJc`oR(Bpt zB1{Y$!*i*B=8d(Ex!1ZQb6Q>V%zrPGH*?L2j5*Ykzw~Ua|FLF+D_MgrOU-Ibb6@9= z8h=bu{vyaU%;L`C%ZjkiF6}<3ysuyj3r<()9A+RLmGL5FJQy$ z#&Q8Wv1Dzt-Pf-7M_SqS8^2rw7OW(f7@%!l-rDs-RRX#obh?ejTvDzy4{X9W>cM9= z7AZ6%Icje$8@mx5l5!@AmnPk7ny5ww^kX^X4d}hy+8dP{IrrNZHR_&fa~>dub)>^y z;!{V6NRuBkjS`QAJ|HyHYBai?#QU)_e@hW#5|U+RfVnd*A3nNcm+FgF{B!crCz8Ki~{fx(I9Z6t+Eey?A02_Cqz zG0#rC*+}+6)*&k^!XrU#5PRwj-bI&JELKow8MDj^a2}cNv0*kAYJs)q1=YYx)>C(| zBo#`0+QRzC)wBcVyWYt`Ug`z~Dln`&*Lw2f(D=s+-K|=j_cr<>y^&N4ok`dL8{l>G=+4n3!21J^BtD zotc{RyK%|-8;c%?AKEt8?yaV{dONCM_;IF-3zpLIi6~PHR}xa>crZO^((Jf*48on z82Vm=WNLIcXMi(l52kl5UC+D+M30C#)1#JF4InYR6Fb!SsVsyw)}|FEqKgdA$7k=d ze_N$(3;}qT{gCq%zwn56Qu^&gALP2#HD<{pvEyXF;k}t1!p!t#U7K!sA&=19)rs{}V~nm&I#_=<=re}&@Wk_W zuDl{6`+B^uW+(l${njh1R}k$+K79AuzRRu*4$ZEgc0M!Y=sc5M2llRbtXRD)zniaL zV(->S^GzS`2<#E*;?WsSEC=BC*h^%8zl%3ii`OW>9+N}u2JW^ib?a~2zmt8UF80q$ zktO~F?(}m~_pEp`Q@JgP*)z-Znqh*o>MZp=^}aP^6lW>;B)bfJHryYWSD$IAT(5NR zd3kD~`kHdD`Jvozn02rD=HPxq?cguZ@PX3>yLs<=jvDa`{8pO5+Y_W;=o9;GPL_m3*(>D?r(?XWV^p6XDc@N| zva4Pzw;~F`(tU1TmG3(zC?b%jR96f~$D7gUcYvFj)$8obvTMztT+ + + + + +"DragMath Equation Editor + + + + + + + + + + + To use this page you need a Java-enabled browser. + Download the latest Java plug-in from + href="http://www.java.com">Java.com + + +
    + + +
    + + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/editor_plugin.js new file mode 100644 index 0000000000..96c5c639a8 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.DragMathPlugin',{init:function(ed,url){course_id=tinyMCE.activeEditor.getParam('moodleimage_course_id');ed.addCommand('mceDragMath',function(){ed.windowManager.open({file:url+'/dragmath.php?id='+course_id,width:540,height:380,inline:1},{plugin_url:url,some_custom_arg:'custom arg'});});ed.addButton('dragmath',{title:'Insert Equation',cmd:'mceDragMath',image:url+'/img/dragmath.gif'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('dragmath',n.nodeName=='IMG');});},createControl:function(n,cm){return null;},getInfo:function(){return{longname:'Moodle Dragmath plugin',author:'Glen Davies',authorurl:'http://www.canterbury.ac.nz',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example',version:"1.0"};}});tinymce.PluginManager.add('dragmath',tinymce.plugins.DragMathPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/editor_plugin_src.js new file mode 100644 index 0000000000..1ae22fbac2 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/editor_plugin_src.js @@ -0,0 +1,78 @@ +(function() { + // Load plugin specific language pack + //tinymce.PluginManager.requireLangPack('example'); + + tinymce.create('tinymce.plugins.DragMathPlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + course_id = tinyMCE.activeEditor.getParam('moodleimage_course_id'); + + ed.addCommand('mceDragMath', function() { + ed.windowManager.open({ + + file : url + '/dragmath.php?id=' + course_id, + width : 540, + height : 380, + inline : 1 + }, { + plugin_url : url, // Plugin absolute URL + some_custom_arg : 'custom arg' // Custom argument + }); + }); + + // Register example button + ed.addButton('dragmath', { + title : 'Insert Equation', + cmd : 'mceDragMath', + image : url + '/img/dragmath.gif' + }); + + + // Add a node change handler, selects the button in the UI when a image is selected + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('dragmath', n.nodeName == 'IMG'); + }); + }, + + /** + * Creates control instances based in the incomming name. This method is normally not + * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons + * but you sometimes need to create more complex controls like listboxes, split buttons etc then this + * method can be used to create those. + * + * @param {String} n Name of the control to create. + * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control. + * @return {tinymce.ui.Control} New control instance or null if no control was created. + */ + createControl : function(n, cm) { + return null; + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Moodle Dragmath plugin', + author : 'Glen Davies', + authorurl : 'http://www.canterbury.ac.nz', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example', + version : "1.0" + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('dragmath', tinymce.plugins.DragMathPlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/img/dragmath.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/img/dragmath.gif new file mode 100644 index 0000000000000000000000000000000000000000..c4c3b5beb55a199119b803dda67f19c883e1c07b GIT binary patch literal 894 zcmZ?wbhEHb6k!ly_|Cu}DkiEIG_R|xYuB;c{=WWkJ@+o1JLOe$$j-)Y^X9c#d6~6~ z-kQg6fA{9q@w0asM!{$Z46hJS{K>+|z`)O-1M(IqPcU#qGsttucx+g3u$e;#rYKqPB1hc?^iIFN>TXW(9ozRy-cTa(!*2i`l9=KW)`HKZZ!+N hx5TqB{dA|T>!B0@hvW-Q{H + +DragMath - Home Page + + + + + +

    DragMath

    +
    + + +

    +Home    +Demonstration    +Download    +Documentation    +Integrations    +Support DragMath    +Contact +

    +
    + +
    + +

    Introduction

    +

    +DragMath is a free "drag and drop" equation editor. It is a Java applet which can simply run within a web browser on most computers.
    +
    +The editor lets users build up mathematical expressions in a traditional two dimensional way, and then output the results in a correctly formed syntax. This is not so easy: mathematical notation contains some ambiguities. Still, we appear to be stuck with traditional notation for the foreseeable future, see for example this +article for some comments on notation. This gives some idea of the design of DragMath.
    +
    +The supplied output formats are MathML, LaTeX, Maple, Maxima. It is also possible to convert the expression to almost any user defined style by creating an XML file with the correct syntax data in it. Details of how to do this are included in the documentation.

    Although mathematics is less dependent on language than many things, the applet loads a language file which makes it possible to translate DragMath into other languages. DragMath has currently been translated into: Catalan, Czech, Dutch, English, French, German, Polish, Russian, Spanish and Swedish. The latest language files can be downloaded from here.
    +

    +

    +DragMath makes use of the MathTran service to automatically convert expressions to images. More details of MathTran available at www.mathtran.org +

    +

    +DragMath has a project on SourceForge.net, an open-source software development web site. This allows users to: +

    +SourceForge.net Logo +

    +
    + + +

    Download

    +

    +As DragMath is open-source, you are free to download and re-distribute. See the DragMath license for details.

    +DragMath requires Java 1.4.2 or later is installed. If you do not have it, you can download it from www.java.com.
    +To download the latest version visit our project site on SourceForge.net.
    +

    +
    + +

    Contact

    +

    +Project leader
    +Chris Sangwin
    +Website: http://web.mat.bham.ac.uk/C.J.Sangwin/
    +Email: C.J.Sangwin@bham.ac.uk

    +


    +Developer
    +Alex Billingsley
    +Website: http://www.abillingsley.co.uk/
    +Email: email@abillingsley.co.uk

    +
    + +
    +

    © 2008 Alex Billingsley, Chris Sangwin +

    + +
    + + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/integrations.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/integrations.html new file mode 100644 index 0000000000..31c5c806cf --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/integrations.html @@ -0,0 +1,55 @@ + + + +DragMath - Integrations + + + + + +

    +

    DragMath

    +
    + + +
    +

    +Home    +Demonstration    +Download    +Documentation    +Integrations    +Support DragMath    +Contact +

    +
    +
    + +
    + + +

    Integrations

    + +

    As a Java applet, DragMath can be easily embedded into many other web based systems. It has currently been successfully integrated with: +

    Moodle
    +Moodle is a free, open source course management system (CMS). Also know as a Learning Managment System (LMS) or Virtual Learning Environment (VLE). For further details please see the specific Moodle installation instructions.
    +
    +STACK
    +STACK is a computer aided assessment (CAA) package for mathematics, a project by Chris Sangwin (a developer of DragMath).
    +
    +YourMathsTutor
    +YourMathsTutor is a website created primarily to help students studying the for the UK's Key Stage 3, GCSE, AS and A Level mathematics and physics exams. DragMath has been integrated into the forum on this website. The forum is a Simple Machines Forum (SMF), which is a powerful open source forum. More information on how it was integrated and how it is used in the forum.
    +

    +

    Please let us know if any other successful integrations have occured.
    +

    +
    + +
    +
    +

    © 2008 Alex Billingsley, Chris Sangwin +

    + +
    + + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/js/dragmath.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/js/dragmath.js new file mode 100644 index 0000000000..8526663544 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/js/dragmath.js @@ -0,0 +1,31 @@ +tinyMCEPopup.requireLangPack(); + +var DragMathDialog = { + init : function(ed) { + + }, + + + + insert : function(file, title) { + + var ed = tinyMCEPopup.editor; + var mathExpression = document.dragmath.getMathExpression(); + // + // TBD any massaging needed here? + // + var text = mathExpression; + // + // Escape the expression + // + var text = '$$' + text + '$$'; + ed.execCommand('mceInsertContent', false, text); + + tinyMCEPopup.close(); + } + + + +}; + +tinyMCEPopup.onInit.add(DragMathDialog.init, DragMathDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/langs/WS_FTP.LOG b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/langs/WS_FTP.LOG new file mode 100644 index 0000000000..4ddc049a12 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/langs/WS_FTP.LOG @@ -0,0 +1,5 @@ +2008.01.23 10:11 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\langs\en_dlg.js --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/langs en_dlg.js +2008.01.23 10:49 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\langs\en_dlg.js --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/langs en_dlg.js +2008.01.23 10:49 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\langs\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/langs WS_FTP.LOG +2008.01.23 11:00 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\langs\en_dlg.js --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/langs en_dlg.js +2008.01.23 11:00 B C:\www\webroot\moodle\lib\editor\tinymce3\plugins\dragmath\langs\WS_FTP.LOG --> www.host4learning.com /public_html/moodlemce/lib/editor/tinymce3/plugins/dragmath/langs WS_FTP.LOG diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/langs/en_dlg.js new file mode 100644 index 0000000000..4018ec1d1a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/langs/en_dlg.js @@ -0,0 +1,3 @@ +tinyMCE.addI18n('en.dragmath_dlg',{ +title:"Insert Equation" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/support.html b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/support.html new file mode 100644 index 0000000000..2c661eac58 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/dragmath/support.html @@ -0,0 +1,67 @@ + + + +DragMath - Home Page + + + + + +

    +

    DragMath

    +
    + + +
    +

    +Home    +Demonstration    +Download    +Documentation    +Integrations    +Support DragMath    +Contact +

    +
    +
    + +
    + +

    Support DragMath

    +

    DragMath is an open-source project that started as a final-year Computer Science project in 2006 at the University of Birmingham by Alex Billingsley under the supervision of Chris Sangwin. It's main application is therefore directed toward an educational one.
    +

    +

    Please make a donation to help support the future development of DragMath. Donations can be securely made through the SourceForge.net website.
    +
    +Support This Project

    +

    We currently need help translating the English language file into many different languages. As new versions of DragMath are created the current language files need updating as well. If you can help, then please contact us. +

    +

    Contributions by: +

    +
    + +
    +
    +

    © 2008 Alex Billingsley, Chris Sangwin +

    + + +
    + + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/editor_plugin.js new file mode 100644 index 0000000000..59c15bf6e6 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.emoticonsPlugin',{init:function(ed,url){ed.addCommand('mceemoticon',function(){ed.windowManager.open({file:url+'/emoticons.php',width:300+parseInt(ed.getLang('emoticons.delta_width',0)),height:300+parseInt(ed.getLang('emoticons.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('emoticons',{title:'emoticons.emoticons_desc',cmd:'mceemoticon',image:url+'/img/smiley.gif'});},getInfo:function(){return{longname:'emoticons',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emoticons',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('emoticons',tinymce.plugins.emoticonsPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/editor_plugin_src.js new file mode 100644 index 0000000000..19e89fa340 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/editor_plugin_src.js @@ -0,0 +1,40 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.emoticonsPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceemoticon', function() { + ed.windowManager.open({ + file : url + '/emoticons.php', + width : 300 + parseInt(ed.getLang('emoticons.delta_width', 0)), + height : 300 + parseInt(ed.getLang('emoticons.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('emoticons', {title : 'emoticons.emoticons_desc', cmd : 'mceemoticon', image : url + '/img/smiley.gif'}); + }, + + getInfo : function() { + return { + longname : 'emoticons', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emoticons', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('emoticons', tinymce.plugins.emoticonsPlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/emoticons.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/emoticons.php new file mode 100644 index 0000000000..bf3884b09a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/emoticons.php @@ -0,0 +1,93 @@ +pixpath/s"; + + $fullnames = get_list_of_pixnames(); + + $emoticons = array ( 'smiley' => ':-)', + 'biggrin' => ':-D', + 'wink' => ';-)', + 'mixed' => ':-/', + 'thoughtful' => 'V-.', + 'tongueout' => ':-P', + 'cool' => 'B-)', + 'approve' => '^-)', + 'wideeyes' => '8-)', + 'clown' => ':o)', + 'sad' => ':-(', + 'shy' => '8-.', + 'blush' => ':-I', + 'kiss' => ':-X', + 'surprise' => '8-o', + 'blackeye' => 'P-|', + 'angry' => '8-[', + 'dead' => 'xx-P', + 'sleepy' => '|-.', + 'evil' => '}-]' ); + +?> + + + + {#emoticons_dlg.title} + + + + + +
    + + + + + +
    + + + + + +
    + +'; +echo ""; + echo ""; + echo ""; + echo ""; + } +?> +
    \"$name\"$name$icon
    +
    + + +'; +echo ""; + echo ""; + echo ""; + echo ""; + } +?> +
    \"$name\"$name$icon
    +
    + +
    +
    + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/img/smiley.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/img/smiley.gif new file mode 100644 index 0000000000000000000000000000000000000000..d3a2a0fd9331b39dd235f993d95d59940bc4e856 GIT binary patch literal 265 zcmZ?wbhEHb6k!lyXc1)qf;n>(moC*@yVh{)R?EG6osJ!II(E+M90&zny9Pv2_wFS> ze-1?1@81Ja@%QgQRQ>-y5Via#1QdU=FfuU6Gw6V90@=yH+V()bFC}wc#;SGl4|e5n z`%DsXEZ_%y**z literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/js/emoticons.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/js/emoticons.js new file mode 100644 index 0000000000..16e34353ea --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/js/emoticons.js @@ -0,0 +1,22 @@ +tinyMCEPopup.requireLangPack(); + +var emoticonsDialog = { + init : function(ed) { + tinyMCEPopup.resizeToInnerSize(); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, dom = ed.dom; + + tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', { + src : file, + alt : title, + title : title, + border : 0 + })); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(emoticonsDialog.init, emoticonsDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/langs/en_dlg.js new file mode 100644 index 0000000000..9c19ab2fe4 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emoticons/langs/en_dlg.js @@ -0,0 +1,20 @@ +tinyMCE.addI18n('en.emoticons_dlg',{ +title:"Insert emoticon", +desc:"emoticons", +cool:"Cool", +cry:"Cry", +embarassed:"Embarassed", +foot_in_mouth:"Foot in mouth", +frown:"Frown", +innocent:"Innocent", +kiss:"Kiss", +laughing:"Laughing", +money_mouth:"Money mouth", +sealed:"Sealed", +smile:"Smile", +surprised:"Surprised", +tongue_out:"Tongue out", +undecided:"Undecided", +wink:"Wink", +yell:"Yell" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js new file mode 100644 index 0000000000..87fac106d4 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.EmotionsPlugin',{init:function(ed,url){ed.addCommand('mceEmotion',function(){ed.windowManager.open({file:url+'/emotions.htm',width:250+parseInt(ed.getLang('emotions.delta_width',0)),height:160+parseInt(ed.getLang('emotions.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('emotions',{title:'emotions.emotions_desc',cmd:'mceEmotion'});},getInfo:function(){return{longname:'Emotions',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('emotions',tinymce.plugins.EmotionsPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js new file mode 100644 index 0000000000..0f5bd1ad1c --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js @@ -0,0 +1,40 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.EmotionsPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceEmotion', function() { + ed.windowManager.open({ + file : url + '/emotions.htm', + width : 250 + parseInt(ed.getLang('emotions.delta_width', 0)), + height : 160 + parseInt(ed.getLang('emotions.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('emotions', {title : 'emotions.emotions_desc', cmd : 'mceEmotion'}); + }, + + getInfo : function() { + return { + longname : 'Emotions', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('emotions', tinymce.plugins.EmotionsPlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm new file mode 100644 index 0000000000..8110ee029a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm @@ -0,0 +1,41 @@ + + + + {#emotions_dlg.title} + + + + + +
    +
    {#emotions_dlg.title}:

    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {#emotions_dlg.cool}{#emotions_dlg.cry}{#emotions_dlg.embarassed}{#emotions_dlg.foot_in_mouth}
    {#emotions_dlg.frown}{#emotions_dlg.innocent}{#emotions_dlg.kiss}{#emotions_dlg.laughing}
    {#emotions_dlg.money_mouth}{#emotions_dlg.sealed}{#emotions_dlg.smile}{#emotions_dlg.surprised}
    {#emotions_dlg.tongue-out}{#emotions_dlg.undecided}{#emotions_dlg.wink}{#emotions_dlg.yell}
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif new file mode 100644 index 0000000000000000000000000000000000000000..ba90cc36fb0415d0273d1cd206bff63fd9c91fde GIT binary patch literal 354 zcmV-o0iFIwNk%w1VG;lm0Mr!#3ke00dJfFY%i+lrhK7V(RutUQJhPY;?(XfrsZKgL z7WLQ^zPO&zzav{)SL^9nBOw~z(=orMEH5uC-P_gr`uhCnASMa|$-iRw?m_(dUwU8) zq>Kx}s1_F$4FCWDA^8LW0018VEC2ui01^Na000Hw;3tYzX_jM3Qpv$_M?zI9i5=0S zX-{-uv=l3%&P0s%m9Ox_a(m_c|u z01g3U0`Wll5)poVdma=N8y<3f0Sf~hXmTC}2oxMW4FdxUj+z4<0}lrX2nP=qkDRIt z9Ge*(qzMrj3jrIOjvI{`5eWzt3`G_T8yChG8w(a19SkK12@M(+799Zr9n=~PzBCmA z5)BU-)YKUd4H5!D9|!^o9kWIe9SH(WDHRk92}DZ?3})2$P@$55g90f0N)ZA8JID5J Aw*UYD literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif new file mode 100644 index 0000000000000000000000000000000000000000..74d897a4f6d22e814e2b054e98b8a75fb464b4be GIT binary patch literal 329 zcmV-P0k-}}Nk%w1VG;lm0Mr-&E)xPSit@9T3%;vR+|V+?t0A(pllJjXrMl7n=_A_a za^B+Su$LjvyC3@TIQZNZa##w=!k(SO^P#bO*w(eU#;{U83XFCU_V)J5wrb+;g2vkN z#>U24qVoOvY5)KLA^8LW0018VEC2ui01^Na000HX;3tY$X_jM3QUfCh%s^o(nF++< zc?Th6v=oL>*by8K!mhvwelUXuuW&&U9iGO3hM@>Njw{l^#0q9mWpcefdI;O$;efnY zkd~@r-o$*74FCWI1%d((4+jDz0va0>69^fI6%`W{8w!gU1pyL>prH>E0R<%k6Aq%H z4ij+^9TEwM5P}eh2@)L<~6+>@EpxfA0YrcPNsSu literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif new file mode 100644 index 0000000000000000000000000000000000000000..963a96b8a7593b1d8bcbab073abe5ee4e539dbf6 GIT binary patch literal 331 zcmV-R0kr-{Nk%w1VG;lm0MrryDh>j~yq&6%75dW~z^P39(NxsGDE{UkxtkIEq(S-a zRKlwv+S=Lr?>hbYY~sQ?c3T&ZcN_Nh_EU3s(>Io6B&>WW`@bsw**)Ocy1bht z{*G6|uwwqUQ2+n{A^8LW0018VEC2ui01^Na000HZ;3tYwX_jM3YQ!c88=*-m*&&bO zILd=`w3KAC;8hxpif*w9ek6oqV-Z0L77fROK$BSR@5BAv-%C>6y>>#+D4e#&nz^qMDItlpp zTG728+|V&?R13PIEBW(C`uh6d*t-1sZ^XQv;oDD}iYLOV7uVO;{`xl4#4tJ{0;h@! z>)kfFn;iS@Hvj+tA^8LW0018VEC2ui01^Na000Hm;3tYuX_jM3Mo7199TGt*Nf;R= zNmOPKwA8_2Q6MTDP6eT`I1VESVj-zGIG(JdB3U44kcdI@;AAq{Gv^^O%%ltj2GdB) z>vIL;d*~=0a|w1Bf^!cF9R~+vb94;_0}TxWlnMrlj2MuVoSYAreF`3(0|pHS8VLgr zi3bP_qZ;q#>Sw62=mns-On=0wransPVevT^YK{Dy(0YY zH)vE6x0?;Wqb>gZas1^OT0si>`ugD5y87}*#H$s=yq(wA*8cf7{`y+(+9J7|9QfT7 z`ROHiU=Y&6FaQ7mA^8LW0018VEC2ui01^Na000Hi;3tYvX_jM3N`@u~nju9hSuh^r zIEcp-wA7(NL0~2d#RP+(G!CPPA>o*KJjv_CkucCA5=K?AfF#RG2V*8BU@jL304|4P z2;PGRF@bj$et;Jf2pR_mVsIA<85|n}kQ*Bq42Ovqj*yy>6P0=h3X&9Z01yyk~2N4w%7#RW^55W%`0vQ+-6(y_*2pqz~90*;x9}yM}%$UI(7t#$D mK_3Se1{4HKM+6iG7EmeH6$V631{L5n)#CyC0qx-*Apkoyg?w!Q literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif new file mode 100644 index 0000000000000000000000000000000000000000..334d49e0e60f2997c9ba24071764f95d9e08a5cc GIT binary patch literal 336 zcmV-W0k8f?Nk%w1VG;lm0MrryI4TI-%dP0m5~*+Y`T~ z7Rth){q{I_X%*S48uRZ|(b3V&wIKTX`u+WJzo<^$#wuY;3W|Cf{O29IkTAcaE&lpe z+P*^H)-tknA^-pYA^8LW0018VEC2ui01^Na000He;3tYwX_n)75QgVvNQ`6#5gcMm zEEG~blgXokptKAJgCU?%JT?yos!R6cPtcQWh2siHlNI2L}ifQhgX02^InZ2?-ktkqVRyZJY^Trk|lv zovp437?1~d46O)?2(1i+2NDYk8<+_Kil!K!3njA^!I#dL8x<729}*B65mC=m5gHH@ iDi9P3f*VjB3KS4HDb_qqRul{0DIT=Nk%w1VG;lm0Mrx!QauaC#>Vb6G=_5=^YB^9wrc376Sb5I-qJGf@9vZ# z5WlKU(!eVB+7tfnDXp0zyB`?BZ5IChalob*`uh6d*t+@dKGHcU+L|83yq*5~IoH?L zy`?Gp<{bX|SpWb4A^8LW0018VEC2ui01^Na000Hg;3tYyX_jM3R?Bl7&r(q;SsVx< zNd$5fv{ZsKA$SlL3&KN~a1tZRf*~1Ltkx9~2uL3&z-yb0WJDRY082|tP literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif new file mode 100644 index 0000000000000000000000000000000000000000..1606c119e75678c4031f384e0d50849906e8f533 GIT binary patch literal 344 zcmV-e0jK^)Nk%w1VG;lm0MruzQauf>s;1-69HWK?p_PpF=Pd8~Ygtcnp*fHAL z**;z>w3iC}`fmL6IkKB1N;3zEa}&zKpsu1;_V)HocR5-{J~BcYvE`YXhBnc@CfU=! za(Ec zG>66zv=rqr;2j)}gKqE$ekcSD?}0=WLB?AWp85)qALd+P=4)6X4oXy{bw2>K^d$ z@6ERvva+(4ib~41YUkTEn1&#?rzrOHT>1I=Y*h`+%*@WtPUPg|!@EEI_d5LgZ>^Og z-qyCjsu$J9F8}}lA^8LW0018VEC2ui01^Na000HT;3tYxX_jM37RWXX8&XUv=@{Oj zX@_Sxw3H&!kzgQ?2LvPOL=>Y5VxieY9+_+eqFEql6OKWXd3Ze8Ggf2Zln@U|mI9d9 zGm^(wVUTA5cYs-V1`2#+a})^z6chrF5`~8k5e6@pmkW`GeGw<069yTQaGnH)s0suV zR|pCd0ZtRCsjM9VB^L+~7X%f*zyuc%2p3=#ycf#L%McYo9|{Z&5D^#_78qL%3{WW( X7Xb)FP6z?UH6ODVz!ev-DIowmgll^P literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif new file mode 100644 index 0000000000000000000000000000000000000000..e6a9e60d5ddd1243fbbf2197b4dc6cd9c1b58b93 GIT binary patch literal 345 zcmV-f0jB;(Nk%w1VG;lm0MrlwCJF+^#>SR<4C>Dj%C>6W(lWoQPVevT^YB^Fy&h6M z4YZgH{O~qtR1(Ci8T;lQ`uh6d*t-7xar*K{#Jrulo-Wtd*44u?{`oh#n;gQXGXDEo z_}UVAU=FH^0ssI2A^8LW0018VEC2ui01^Na000Hn;3tYuX_jM3Mn>j&nGr!MNh}v4 zNyxPjwA7*EKx`%q#$Vl9SM>N9ReH-cn1&^4jYXf0KotqjT;UWC94U(4-NtX4#i!%9}pHA2?&dg3>XLr r8Wuqx2Nnhn1xrT-4h9xbDb^GQ8V(K`1{C5o)#U;I0p5-K5CQ-@9%ySnDDC*4*{OcpiwransPVevTQacIr@mkQp zCf(06s)_=>r7UYx48o@u`uh6d*t-7rH~ji<`P&oj;5Wp)o!8ga`SV6TA_BIW5#ZWV z{`*+__>9}pJ}3JDSl85wB_3Jn)Q o9|so(4+|I^92g4^1{Y8%(iR3pP6ig=HPPY$`~mLZA3^{CJDB=?L;wH) literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif new file mode 100644 index 0000000000000000000000000000000000000000..2075dc16058f1f17912167675ce5cfb9986fc71d GIT binary patch literal 328 zcmV-O0k{4~Nk%w1VG;lm0Mrx!CJF+^#>SU@3-{U*rx+Q^wrc$ABfqLn@9*x?z8(4X zSW-O=@){bmmI~g|GQXoP);cvj3|f1M8e@{G*!tYaiCEujj1NGxRN#6#tiCETo+{x{Hkzt z5k-kPvcD=V2nbmjCgL6k{uF&2nP-t0s;w<385Nx2oxDb z9T5Pp7qJl?3Kkh9oe2sCr5F$p7zPSlsUH*@54w*83=9Or4;w)r2pcU95(FL|1Th;< aDaRQH4;Tal7#Y$v#?=Au0pHUfApkpvZg^t= literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif new file mode 100644 index 0000000000000000000000000000000000000000..bef7e257303f8243c89787e7a7f9955dd1f112e2 GIT binary patch literal 337 zcmV-X0j~Z>Nk%w1VG;lm0MroxDi#99#>R?y8~4}{%C>6#>?OadPVevTr-=vi@LATn z4rERY-qJF+n+?CCE&B3D{{3Shh?>WT0o%`b%*Voqm`dL;(4F35y zc485^n;g!+Bme*aA^8LW0018VEC2ui01^Na000Hf;3tYvX_jM3N=AnuogqakNi<9X zK?&0kwA8^tNn{?C$|IAYI1ZzT!2>}iuMddFK#NEkRl!7%6brJAnUs;)XcnA}TNBSP zxQ9;SvEfwYeSaGd2^|LqU~(QF1qBxr3Ii7x84ZVt8wCTKoSYAqc?p`G2onnpk`IOl z1`HLGj}riN2p1K12N4z&8IBDc6tEWs859;JtRB6>lf+xO9}yT19toMv8wnl`7(pKg j7zPv!OGgY81{hE&(iR3pP6ig;HPPS!_yOwPA0Yrc)=Yf3 literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif new file mode 100644 index 0000000000000000000000000000000000000000..9faf1aff8f4b28e02f4f414975fe1859c43b6b54 GIT binary patch literal 351 zcmV-l0igazNk%w1VG;lm0MrryC=CL}#>Sn03F^-g-qAA3wransPV?|t@9*x%vmQ`7 z4E*pcw3rOOq%3t@4*K#({N^40{c-yG`rz2Q!KfI-yq*61HrBop*VoqW<}&{JS@_x# zwwfH#!YTdnIsgCwA^8LW0018VEC2ui01^Na000Ht;3tYwX_jM3P6j6koH0o%Sun&A zMF+tYv=pL2IcOdp&qH&dG!P?+ArV0)J)O=Yk}%LD6Go&#@MJn3he8=)%%lWOM*#pN zEDD9iq9J$@90v~;83`GC4i0+{2OJ0pVtacF5E}yn8<`pmkCBv_pqZEtoPY-l0}P>= z3WE6cr`19U7DgF9{F}at6R35*Q5~ x2OgBy9tRx_7(pKh7zPvsOGgA01{hE&-4zBzP6id}HMp@0Krnzkbss_i06S`>cdh^c literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif new file mode 100644 index 0000000000000000000000000000000000000000..648e6e879123fe49beebbc1f3635141864a79a9c GIT binary patch literal 336 zcmV-W0k8f?Nk%w1VG;lm0MrryG8O{K#>IbS7WCB_mWF$+hzY-{PWkp(?(Xf;zbH~P z3jOdj?W+^YwrakfE8fyG&5jTBz!3WS`fgM_;MltQ+c}4GO8)(E`S3`@yq&d~5!ct& z)v79NObo)O7XSbNA^8LW0018VEC2ui01^Na000He;3tYwX_jM3QifI(nn6h_*=Wyk zUB{y}v=qYOIUF#R3dZPhAVv~H;(|a2yN_5FH&J0|$eJ3kw4gj1Y?v5d#>LMV12^6BYy$1)ZKA zga!|m2?POz0R)f>4+aPl8KD{gz`+G_9vLMFQU?RU!8uyH9}*i52|cC+7S0YEK_3Vk i1|APfM-Ltb8&4_H83sg61{vHn(cc000qNZzApkp + + + {#example_dlg.title} + + + + + +
    +

    Here is a example dialog.

    +

    Selected text:

    +

    Custom arg:

    + +
    +
    + +
    + +
    + +
    +
    +
    + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js new file mode 100644 index 0000000000..cb7010d188 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.PluginManager.requireLangPack('example');tinymce.create('tinymce.plugins.ExamplePlugin',{init:function(ed,url){ed.addCommand('mceExample',function(){ed.windowManager.open({file:url+'/dialog.htm',width:320+parseInt(ed.getLang('example.delta_width',0)),height:120+parseInt(ed.getLang('example.delta_height',0)),inline:1},{plugin_url:url,some_custom_arg:'custom arg'});});ed.addButton('example',{title:'example.desc',cmd:'mceExample',image:url+'/img/example.gif'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('example',n.nodeName=='IMG');});},createControl:function(n,cm){return null;},getInfo:function(){return{longname:'Example plugin',author:'Some author',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example',version:"1.0"};}});tinymce.PluginManager.add('example',tinymce.plugins.ExamplePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js new file mode 100644 index 0000000000..96ef7c89df --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js @@ -0,0 +1,81 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + // Load plugin specific language pack + tinymce.PluginManager.requireLangPack('example'); + + tinymce.create('tinymce.plugins.ExamplePlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + ed.addCommand('mceExample', function() { + ed.windowManager.open({ + file : url + '/dialog.htm', + width : 320 + parseInt(ed.getLang('example.delta_width', 0)), + height : 120 + parseInt(ed.getLang('example.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, // Plugin absolute URL + some_custom_arg : 'custom arg' // Custom argument + }); + }); + + // Register example button + ed.addButton('example', { + title : 'example.desc', + cmd : 'mceExample', + image : url + '/img/example.gif' + }); + + // Add a node change handler, selects the button in the UI when a image is selected + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('example', n.nodeName == 'IMG'); + }); + }, + + /** + * Creates control instances based in the incomming name. This method is normally not + * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons + * but you sometimes need to create more complex controls like listboxes, split buttons etc then this + * method can be used to create those. + * + * @param {String} n Name of the control to create. + * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control. + * @return {tinymce.ui.Control} New control instance or null if no control was created. + */ + createControl : function(n, cm) { + return null; + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Example plugin', + author : 'Some author', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example', + version : "1.0" + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ab5da4461113d2af579898528246fdbe52ecd00 GIT binary patch literal 87 zcmZ?wbhEHb6k!lyn83&Y1dNP~ia%L^OhyJB5FaGNz@*pGzw+SQ`#f{}FJ-?!v#V)e mtsGNfpJeCKSAiOz**>0`XR2{OVa>-G_df0vaY/i);if(attr&&attr[1]){bdattr=attr[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);for(i=0,len=bdattr.length;i',sp);t.head=c.substring(0,sp+1);ep=c.indexOf('';t.head+='\n\n\nUntitled document\n\n\n';t.foot='\n\n';}},_getContent:function(ed,o){var t=this;o.content=tinymce.trim(t.head)+'\n'+tinymce.trim(o.content)+'\n'+tinymce.trim(t.foot);}});tinymce.PluginManager.add('fullpage',tinymce.plugins.FullPagePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js new file mode 100644 index 0000000000..b4af8ecae6 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js @@ -0,0 +1,122 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.FullPagePlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceFullPageProperties', function() { + ed.windowManager.open({ + file : url + '/fullpage.htm', + width : 430 + parseInt(ed.getLang('fullpage.delta_width', 0)), + height : 495 + parseInt(ed.getLang('fullpage.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + head_html : t.head + }); + }); + + // Register buttons + ed.addButton('fullpage', {title : 'fullpage.desc', cmd : 'mceFullPageProperties'}); + + ed.onBeforeSetContent.add(t._setContent, t); + ed.onSetContent.add(t._setBodyAttribs, t); + ed.onGetContent.add(t._getContent, t); + }, + + getInfo : function() { + return { + longname : 'Fullpage', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private plugin internal methods + + _setBodyAttribs : function(ed, o) { + var bdattr, i, len, kv, k, v, t, attr = this.head.match(/body(.*?)>/i); + + if (attr && attr[1]) { + bdattr = attr[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g); + + for(i = 0, len = bdattr.length; i < len; i++) { + kv = bdattr[i].split('='); + k = kv[0].replace(/\s/,''); + v = kv[1]; + + if (v) { + v = v.replace(/^\s+/,'').replace(/\s+$/,''); + t = v.match(/^["'](.*)["']$/); + + if (t) + v = t[1]; + } else + v = k; + + ed.dom.setAttrib(ed.getBody(), 'style', v); + } + } + }, + + _createSerializer : function() { + return new tinymce.dom.Serializer({ + dom : this.editor.dom, + apply_source_formatting : true + }); + }, + + _setContent : function(ed, o) { + var t = this, sp, ep, c = o.content; + + // Parse out head, body and footer + c = c.replace(/<(\/?)BODY/gi, '<$1body'); + sp = c.indexOf('', sp); + t.head = c.substring(0, sp + 1); + + ep = c.indexOf(' + + + {#fullpage_dlg.title} + + + + + + + + +
    + + +
    +
    +
    + {#fullpage_dlg.meta_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
     
     
     
     
     
      + +
    +
    + +
    + {#fullpage_dlg.langprops} + + + + + + + + + + + + + + + + + + + + + + +
    + +
      + +
     
    + +
     
    +
    +
    + +
    +
    + {#fullpage_dlg.appearance_textprops} + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + + +
     
    +
    +
    + +
    + {#fullpage_dlg.appearance_bgprops} + + + + + + + + + + +
    + + + + + +
     
    +
    + + + + + +
     
    +
    +
    + +
    + {#fullpage_dlg.appearance_marginprops} + + + + + + + + + + + + + + +
    +
    + +
    + {#fullpage_dlg.appearance_linkprops} + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + +
     
    +
    + + + + + +
     
    +
      
    +
    + +
    + {#fullpage_dlg.appearance_style} + + + + + + + + + + +
    + + + + +
     
    +
    +
    + +
    + + +
    + {#fullpage_dlg.head_elements} + +
    +
    +
    + + +
    +
    + + +
    +
    +
    + +
    +
    + +
    + {#fullpage_dlg.meta_element} + + + + + + + + + + + + + + +
    + + +
    + +
    + {#fullpage_dlg.title_element} + + + + + + +
    + + +
    + +
    + {#fullpage_dlg.script_element} + + + +
    + +
    +
    + + + + + + + + + + + + + + + + + +
    + + + + +
     
    +
    + +
    + +
    +
    + + +
    + +
    + {#fullpage_dlg.style_element} + + + +
    + +
    +
    + + + + + + + + + +
    +
    + +
    + +
    +
    + + +
    + +
    + {#fullpage_dlg.base_element} + + + + + + + + + + +
    + + +
    + + + +
    + {#fullpage_dlg.comment_element} + + + + +
    +
    +
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js new file mode 100644 index 0000000000..b22d288005 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js @@ -0,0 +1,462 @@ +tinyMCEPopup.requireLangPack(); + +var doc; + +var defaultDocTypes = + 'XHTML 1.0 Transitional=,' + + 'XHTML 1.0 Frameset=,' + + 'XHTML 1.0 Strict=,' + + 'XHTML 1.1=,' + + 'HTML 4.01 Transitional=,' + + 'HTML 4.01 Strict=,' + + 'HTML 4.01 Frameset='; + +var defaultEncodings = + 'Western european (iso-8859-1)=iso-8859-1,' + + 'Central European (iso-8859-2)=iso-8859-2,' + + 'Unicode (UTF-8)=utf-8,' + + 'Chinese traditional (Big5)=big5,' + + 'Cyrillic (iso-8859-5)=iso-8859-5,' + + 'Japanese (iso-2022-jp)=iso-2022-jp,' + + 'Greek (iso-8859-7)=iso-8859-7,' + + 'Korean (iso-2022-kr)=iso-2022-kr,' + + 'ASCII (us-ascii)=us-ascii'; + +var defaultMediaTypes = + 'all=all,' + + 'screen=screen,' + + 'print=print,' + + 'tty=tty,' + + 'tv=tv,' + + 'projection=projection,' + + 'handheld=handheld,' + + 'braille=braille,' + + 'aural=aural'; + +var defaultFontNames = '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'; +var defaultFontSizes = '10px,11px,12px,13px,14px,15px,16px'; + +function init() { + var f = document.forms['fullpage'], el = f.elements, e, i, p, doctypes, encodings, mediaTypes, fonts, ed = tinyMCEPopup.editor, dom = tinyMCEPopup.dom, style; + + // Setup doctype select box + doctypes = ed.getParam("fullpage_doctypes", defaultDocTypes).split(','); + for (i=0; i 1) + addSelectValue(f, 'doctypes', p[0], p[1]); + } + + // Setup fonts select box + fonts = ed.getParam("fullpage_fonts", defaultFontNames).split(';'); + for (i=0; i 1) + addSelectValue(f, 'fontface', p[0], p[1]); + } + + // Setup fontsize select box + fonts = ed.getParam("fullpage_fontsizes", defaultFontSizes).split(','); + for (i=0; i 1) { + addSelectValue(f, 'element_style_media', p[0], p[1]); + addSelectValue(f, 'element_link_media', p[0], p[1]); + } + } + + // Setup encodings select box + encodings = ed.getParam("fullpage_encodings", defaultEncodings).split(','); + for (i=0; i 1) { + addSelectValue(f, 'docencoding', p[0], p[1]); + addSelectValue(f, 'element_script_charset', p[0], p[1]); + addSelectValue(f, 'element_link_charset', p[0], p[1]); + } + } + + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + document.getElementById('link_color_pickcontainer').innerHTML = getColorPickerHTML('link_color_pick','link_color'); + //document.getElementById('hover_color_pickcontainer').innerHTML = getColorPickerHTML('hover_color_pick','hover_color'); + document.getElementById('visited_color_pickcontainer').innerHTML = getColorPickerHTML('visited_color_pick','visited_color'); + document.getElementById('active_color_pickcontainer').innerHTML = getColorPickerHTML('active_color_pick','active_color'); + document.getElementById('textcolor_pickcontainer').innerHTML = getColorPickerHTML('textcolor_pick','textcolor'); + document.getElementById('stylesheet_browsercontainer').innerHTML = getBrowserHTML('stylesheetbrowser','stylesheet','file','fullpage'); + document.getElementById('link_href_pickcontainer').innerHTML = getBrowserHTML('link_href_browser','element_link_href','file','fullpage'); + document.getElementById('script_src_pickcontainer').innerHTML = getBrowserHTML('script_src_browser','element_script_src','file','fullpage'); + document.getElementById('bgimage_pickcontainer').innerHTML = getBrowserHTML('bgimage_browser','bgimage','image','fullpage'); + + // Resize some elements + if (isVisible('stylesheetbrowser')) + document.getElementById('stylesheet').style.width = '220px'; + + if (isVisible('link_href_browser')) + document.getElementById('element_link_href').style.width = '230px'; + + if (isVisible('bgimage_browser')) + document.getElementById('bgimage').style.width = '210px'; + + // Add iframe + dom.add(document.body, 'iframe', {id : 'documentIframe', src : 'javascript:""', style : {display : 'none'}}); + doc = dom.get('documentIframe').contentWindow.document; + h = tinyMCEPopup.getWindowArg('head_html'); + + // Preprocess the HTML disable scripts and urls + h = h.replace(/ + + + + +
    + +
    + + + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js new file mode 100644 index 0000000000..06dae75df7 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.IESpell',{init:function(ed,url){var t=this,sp;if(!tinymce.isIE)return;t.editor=ed;ed.addCommand('mceIESpell',function(){try{sp=new ActiveXObject("ieSpell.ieSpellExtension");sp.CheckDocumentNode(ed.getDoc().documentElement);}catch(e){if(e.number==-2146827859){ed.windowManager.confirm(ed.getLang("iespell.download"),function(s){if(s)window.open('http://www.iespell.com/download.php','ieSpellDownload','');});}else ed.windowManager.alert("Error Loading ieSpell: Exception "+e.number);}});ed.addButton('iespell',{title:'iespell.iespell_desc',cmd:'mceIESpell'});},getInfo:function(){return{longname:'IESpell (IE Only)',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('iespell',tinymce.plugins.IESpell);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js new file mode 100644 index 0000000000..2122c66ffd --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js @@ -0,0 +1,51 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.IESpell', { + init : function(ed, url) { + var t = this, sp; + + if (!tinymce.isIE) + return; + + t.editor = ed; + + // Register commands + ed.addCommand('mceIESpell', function() { + try { + sp = new ActiveXObject("ieSpell.ieSpellExtension"); + sp.CheckDocumentNode(ed.getDoc().documentElement); + } catch (e) { + if (e.number == -2146827859) { + ed.windowManager.confirm(ed.getLang("iespell.download"), function(s) { + if (s) + window.open('http://www.iespell.com/download.php', 'ieSpellDownload', ''); + }); + } else + ed.windowManager.alert("Error Loading ieSpell: Exception " + e.number); + } + }); + + // Register buttons + ed.addButton('iespell', {title : 'iespell.iespell_desc', cmd : 'mceIESpell'}); + }, + + getInfo : function() { + return { + longname : 'IESpell (IE Only)', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('iespell', tinymce.plugins.IESpell); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js new file mode 100644 index 0000000000..0649c17384 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js @@ -0,0 +1 @@ +(function(){var DOM=tinymce.DOM,Element=tinymce.dom.Element,Event=tinymce.dom.Event,each=tinymce.each,is=tinymce.is;tinymce.create('tinymce.plugins.InlinePopups',{init:function(ed,url){ed.onBeforeRenderUI.add(function(){ed.windowManager=new tinymce.InlineWindowManager(ed);DOM.loadCSS(url+'/skins/'+(ed.settings.inlinepopups_skin||'clearlooks2')+"/window.css");});},getInfo:function(){return{longname:'InlinePopups',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.create('tinymce.InlineWindowManager:tinymce.WindowManager',{InlineWindowManager:function(ed){var t=this;t.parent(ed);t.zIndex=1000;t.count=0;},open:function(f,p){var t=this,id,opt='',ed=t.editor,dw=0,dh=0,vp,po,mdf,clf,we,w,u;f=f||{};p=p||{};if(!f.inline)return t.parent(f,p);t.bookmark=ed.selection.getBookmark('simple');id=DOM.uniqueId();vp=DOM.getViewPort();f.width=parseInt(f.width||320);f.height=parseInt(f.height||240)+(tinymce.isIE?8:0);f.min_width=parseInt(f.min_width||150);f.min_height=parseInt(f.min_height||100);f.max_width=parseInt(f.max_width||2000);f.max_height=parseInt(f.max_height||2000);f.left=f.left||Math.round(Math.max(vp.x,vp.x+(vp.w/ 2.0) - (f.width /2.0)));f.top=f.top||Math.round(Math.max(vp.y,vp.y+(vp.h/ 2.0) - (f.height /2.0)));f.movable=f.resizable=true;p.mce_width=f.width;p.mce_height=f.height;p.mce_inline=true;p.mce_window_id=id;p.mce_auto_focus=f.auto_focus;t.features=f;t.params=p;t.onOpen.dispatch(t,f,p);if(f.type){opt+=' mceModal';if(f.type)opt+=' mce'+f.type.substring(0,1).toUpperCase()+f.type.substring(1);f.resizable=false;}if(f.statusbar)opt+=' mceStatusbar';if(f.resizable)opt+=' mceResizable';if(f.minimizable)opt+=' mceMinimizable';if(f.maximizable)opt+=' mceMaximizable';if(f.movable)opt+=' mceMovable';t._addAll(document.body,['div',{id:id,'class':ed.settings.inlinepopups_skin||'clearlooks2',dir:'ltr',style:'width:100px;height:100px'},['div',{id:id+'_wrapper','class':'mceWrapper'+opt},['div',{id:id+'_top','class':'mceTop'},['div',{'class':'mceLeft'}],['div',{'class':'mceCenter'}],['div',{'class':'mceRight'}],['span',{id:id+'_title'},f.title||'']],['div',{id:id+'_middle','class':'mceMiddle'},['div',{id:id+'_left','class':'mceLeft'}],['span',{id:id+'_content'}],['div',{id:id+'_right','class':'mceRight'}]],['div',{id:id+'_bottom','class':'mceBottom'},['div',{'class':'mceLeft'}],['div',{'class':'mceCenter'}],['div',{'class':'mceRight'}],['span',{id:id+'_status'},'Content']],['a',{'class':'mceMove',tabindex:'-1',href:'javascript:;'}],['a',{'class':'mceMin',tabindex:'-1',href:'javascript:;',onmousedown:'return false;'}],['a',{'class':'mceMax',tabindex:'-1',href:'javascript:;',onmousedown:'return false;'}],['a',{'class':'mceMed',tabindex:'-1',href:'javascript:;',onmousedown:'return false;'}],['a',{'class':'mceClose',tabindex:'-1',href:'javascript:;',onmousedown:'return false;'}],['a',{id:id+'_resize_n','class':'mceResize mceResizeN',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_s','class':'mceResize mceResizeS',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_w','class':'mceResize mceResizeW',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_e','class':'mceResize mceResizeE',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_nw','class':'mceResize mceResizeNW',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_ne','class':'mceResize mceResizeNE',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_sw','class':'mceResize mceResizeSW',tabindex:'-1',href:'javascript:;'}],['a',{id:id+'_resize_se','class':'mceResize mceResizeSE',tabindex:'-1',href:'javascript:;'}]]]);DOM.setStyles(id,{top:-10000,left:-10000});if(tinymce.isGecko)DOM.setStyle(id,'overflow','auto');if(!f.type){dw+=DOM.get(id+'_left').clientWidth;dw+=DOM.get(id+'_right').clientWidth;dh+=DOM.get(id+'_top').clientHeight;dh+=DOM.get(id+'_bottom').clientHeight;}DOM.setStyles(id,{top:f.top,left:f.left,width:f.width+dw,height:f.height+dh});u=f.url||f.file;if(tinymce.relaxedDomain)u+=(u.indexOf('?')==-1?'?':'&')+'mce_rdomain='+tinymce.relaxedDomain;if(!f.type){DOM.add(id+'_content','iframe',{id:id+'_ifr',src:'javascript:""',frameBorder:0,style:'border:0;width:10px;height:10px'});DOM.setStyles(id+'_ifr',{width:f.width,height:f.height});DOM.setAttrib(id+'_ifr','src',u);}else{DOM.add(id+'_wrapper','a',{id:id+'_ok','class':'mceButton mceOk',href:'javascript:;',onmousedown:'return false;'},'Ok');if(f.type=='confirm')DOM.add(id+'_wrapper','a',{'class':'mceButton mceCancel',href:'javascript:;',onmousedown:'return false;'},'Cancel');DOM.add(id+'_middle','div',{'class':'mceIcon'});DOM.setHTML(id+'_content',f.content.replace('\n','
    '));}mdf=Event.add(id,'mousedown',function(e){var n=e.target,w,vp;w=t.windows[id];t.focus(id);if(n.nodeName=='A'||n.nodeName=='a'){if(n.className=='mceMax'){w.oldPos=w.element.getXY();w.oldSize=w.element.getSize();vp=DOM.getViewPort();vp.w-=2;vp.h-=2;w.element.moveTo(vp.x,vp.y);w.element.resizeTo(vp.w,vp.h);DOM.setStyles(id+'_ifr',{width:vp.w-w.deltaWidth,height:vp.h-w.deltaHeight});DOM.addClass(id+'_wrapper','mceMaximized');}else if(n.className=='mceMed'){w.element.moveTo(w.oldPos.x,w.oldPos.y);w.element.resizeTo(w.oldSize.w,w.oldSize.h);w.iframeElement.resizeTo(w.oldSize.w-w.deltaWidth,w.oldSize.h-w.deltaHeight);DOM.removeClass(id+'_wrapper','mceMaximized');}else if(n.className=='mceMove')return t._startDrag(id,e,n.className);else if(DOM.hasClass(n,'mceResize'))return t._startDrag(id,e,n.className.substring(13));}});clf=Event.add(id,'click',function(e){var n=e.target;t.focus(id);if(n.nodeName=='A'||n.nodeName=='a'){switch(n.className){case'mceClose':t.close(null,id);return Event.cancel(e);case'mceButton mceOk':case'mceButton mceCancel':f.button_func(n.className=='mceButton mceOk');return Event.cancel(e);}}});t.windows=t.windows||{};w=t.windows[id]={id:id,mousedown_func:mdf,click_func:clf,element:new Element(id,{blocker:1,container:ed.getContainer()}),iframeElement:new Element(id+'_ifr'),features:f,deltaWidth:dw,deltaHeight:dh};w.iframeElement.on('focus',function(){t.focus(id);});if(t.count==0&&t.editor.getParam('dialog_type')=='modal'){DOM.add(DOM.doc.body,'div',{id:'mceModalBlocker','class':(t.editor.settings.inlinepopups_skin||'clearlooks2')+'_modalBlocker',style:{left:vp.x,top:vp.y,width:vp.w,height:vp.h,zIndex:t.zIndex-1}});DOM.show('mceModalBlocker');}else DOM.setStyle('mceModalBlocker','z-index',t.zIndex-1);t.focus(id);t._fixIELayout(id,1);if(DOM.get(id+'_ok'))DOM.get(id+'_ok').focus();t.count++;return w;},focus:function(id){var t=this,w=t.windows[id];w.zIndex=this.zIndex++;w.element.setStyle('zIndex',w.zIndex);w.element.update();id=id+'_wrapper';DOM.removeClass(t.lastId,'mceFocus');DOM.addClass(id,'mceFocus');t.lastId=id;},_addAll:function(te,ne){var i,n,t=this,dom=tinymce.DOM;if(is(ne,'string'))te.appendChild(dom.doc.createTextNode(ne));else if(ne.length){te=te.appendChild(dom.create(ne[0],ne[1]));for(i=2;iix){fw=w;ix=w.zIndex;}});if(fw)t.focus(fw.id);}},setTitle:function(ti,id){DOM.get(id+'_title').innerHTML=DOM.encode(ti);},alert:function(txt,cb,s){var t=this,w;w=t.open({title:t,type:'alert',button_func:function(s){if(cb)cb.call(s||t,s);t.close(null,w.id);},content:DOM.encode(t.editor.getLang(txt,txt)),inline:1,width:400,height:130});},confirm:function(txt,cb,s){var t=this,w;w=t.open({title:t,type:'confirm',button_func:function(s){if(cb)cb.call(s||t,s);t.close(null,w.id);},content:DOM.encode(t.editor.getLang(txt,txt)),inline:1,width:400,height:130});},_fixIELayout:function(id,s){var w,img;if(!tinymce.isIE6)return;each(['n','s','w','e','nw','ne','sw','se'],function(v){var e=DOM.get(id+'_resize_'+v);DOM.setStyles(e,{width:s?e.clientWidth:'',height:s?e.clientHeight:'',cursor:DOM.getStyle(e,'cursor',1)});DOM.setStyle(id+"_bottom",'bottom','-1px');e=0;});if(w=this.windows[id]){w.element.hide();w.element.show();each(DOM.select('div,a',id),function(e,i){if(e.currentStyle.backgroundImage!='none'){img=new Image();img.src=e.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/,'$1');}});DOM.get(id).style.filter='';}}});tinymce.PluginManager.add('inlinepopups',tinymce.plugins.InlinePopups);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js new file mode 100644 index 0000000000..6c5ca08fe1 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js @@ -0,0 +1,589 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var DOM = tinymce.DOM, Element = tinymce.dom.Element, Event = tinymce.dom.Event, each = tinymce.each, is = tinymce.is; + + tinymce.create('tinymce.plugins.InlinePopups', { + init : function(ed, url) { + // Replace window manager + ed.onBeforeRenderUI.add(function() { + ed.windowManager = new tinymce.InlineWindowManager(ed); + DOM.loadCSS(url + '/skins/' + (ed.settings.inlinepopups_skin || 'clearlooks2') + "/window.css"); + }); + }, + + getInfo : function() { + return { + longname : 'InlinePopups', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/inlinepopups', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + tinymce.create('tinymce.InlineWindowManager:tinymce.WindowManager', { + InlineWindowManager : function(ed) { + var t = this; + + t.parent(ed); + t.zIndex = 1000; + t.count = 0; + }, + + open : function(f, p) { + var t = this, id, opt = '', ed = t.editor, dw = 0, dh = 0, vp, po, mdf, clf, we, w, u; + + f = f || {}; + p = p || {}; + + // Run native windows + if (!f.inline) + return t.parent(f, p); + + t.bookmark = ed.selection.getBookmark('simple'); + id = DOM.uniqueId(); + vp = DOM.getViewPort(); + f.width = parseInt(f.width || 320); + f.height = parseInt(f.height || 240) + (tinymce.isIE ? 8 : 0); + f.min_width = parseInt(f.min_width || 150); + f.min_height = parseInt(f.min_height || 100); + f.max_width = parseInt(f.max_width || 2000); + f.max_height = parseInt(f.max_height || 2000); + f.left = f.left || Math.round(Math.max(vp.x, vp.x + (vp.w / 2.0) - (f.width / 2.0))); + f.top = f.top || Math.round(Math.max(vp.y, vp.y + (vp.h / 2.0) - (f.height / 2.0))); + f.movable = f.resizable = true; + p.mce_width = f.width; + p.mce_height = f.height; + p.mce_inline = true; + p.mce_window_id = id; + p.mce_auto_focus = f.auto_focus; + + // Transpose +// po = DOM.getPos(ed.getContainer()); +// f.left -= po.x; +// f.top -= po.y; + + t.features = f; + t.params = p; + t.onOpen.dispatch(t, f, p); + + if (f.type) { + opt += ' mceModal'; + + if (f.type) + opt += ' mce' + f.type.substring(0, 1).toUpperCase() + f.type.substring(1); + + f.resizable = false; + } + + if (f.statusbar) + opt += ' mceStatusbar'; + + if (f.resizable) + opt += ' mceResizable'; + + if (f.minimizable) + opt += ' mceMinimizable'; + + if (f.maximizable) + opt += ' mceMaximizable'; + + if (f.movable) + opt += ' mceMovable'; + + // Create DOM objects + t._addAll(document.body, + ['div', {id : id, 'class' : ed.settings.inlinepopups_skin || 'clearlooks2', dir : 'ltr', style : 'width:100px;height:100px'}, + ['div', {id : id + '_wrapper', 'class' : 'mceWrapper' + opt}, + ['div', {id : id + '_top', 'class' : 'mceTop'}, + ['div', {'class' : 'mceLeft'}], + ['div', {'class' : 'mceCenter'}], + ['div', {'class' : 'mceRight'}], + ['span', {id : id + '_title'}, f.title || ''] + ], + + ['div', {id : id + '_middle', 'class' : 'mceMiddle'}, + ['div', {id : id + '_left', 'class' : 'mceLeft'}], + ['span', {id : id + '_content'}], + ['div', {id : id + '_right', 'class' : 'mceRight'}] + ], + + ['div', {id : id + '_bottom', 'class' : 'mceBottom'}, + ['div', {'class' : 'mceLeft'}], + ['div', {'class' : 'mceCenter'}], + ['div', {'class' : 'mceRight'}], + ['span', {id : id + '_status'}, 'Content'] + ], + + ['a', {'class' : 'mceMove', tabindex : '-1', href : 'javascript:;'}], + ['a', {'class' : 'mceMin', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceMax', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceMed', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {'class' : 'mceClose', tabindex : '-1', href : 'javascript:;', onmousedown : 'return false;'}], + ['a', {id : id + '_resize_n', 'class' : 'mceResize mceResizeN', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_s', 'class' : 'mceResize mceResizeS', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_w', 'class' : 'mceResize mceResizeW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_e', 'class' : 'mceResize mceResizeE', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_nw', 'class' : 'mceResize mceResizeNW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_ne', 'class' : 'mceResize mceResizeNE', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_sw', 'class' : 'mceResize mceResizeSW', tabindex : '-1', href : 'javascript:;'}], + ['a', {id : id + '_resize_se', 'class' : 'mceResize mceResizeSE', tabindex : '-1', href : 'javascript:;'}] + ] + ] + ); + + DOM.setStyles(id, {top : -10000, left : -10000}); + + // Fix gecko rendering bug, where the editors iframe messed with window contents + if (tinymce.isGecko) + DOM.setStyle(id, 'overflow', 'auto'); + + // Measure borders + if (!f.type) { + dw += DOM.get(id + '_left').clientWidth; + dw += DOM.get(id + '_right').clientWidth; + dh += DOM.get(id + '_top').clientHeight; + dh += DOM.get(id + '_bottom').clientHeight; + } + + // Resize window + DOM.setStyles(id, {top : f.top, left : f.left, width : f.width + dw, height : f.height + dh}); + + u = f.url || f.file; + if (tinymce.relaxedDomain) + u += (u.indexOf('?') == -1 ? '?' : '&') + 'mce_rdomain=' + tinymce.relaxedDomain; + + if (!f.type) { + DOM.add(id + '_content', 'iframe', {id : id + '_ifr', src : 'javascript:""', frameBorder : 0, style : 'border:0;width:10px;height:10px'}); + DOM.setStyles(id + '_ifr', {width : f.width, height : f.height}); + DOM.setAttrib(id + '_ifr', 'src', u); + } else { + DOM.add(id + '_wrapper', 'a', {id : id + '_ok', 'class' : 'mceButton mceOk', href : 'javascript:;', onmousedown : 'return false;'}, 'Ok'); + + if (f.type == 'confirm') + DOM.add(id + '_wrapper', 'a', {'class' : 'mceButton mceCancel', href : 'javascript:;', onmousedown : 'return false;'}, 'Cancel'); + + DOM.add(id + '_middle', 'div', {'class' : 'mceIcon'}); + DOM.setHTML(id + '_content', f.content.replace('\n', '
    ')); + } + + // Register events + mdf = Event.add(id, 'mousedown', function(e) { + var n = e.target, w, vp; + + w = t.windows[id]; + t.focus(id); + + if (n.nodeName == 'A' || n.nodeName == 'a') { + if (n.className == 'mceMax') { + w.oldPos = w.element.getXY(); + w.oldSize = w.element.getSize(); + + vp = DOM.getViewPort(); + + // Reduce viewport size to avoid scrollbars + vp.w -= 2; + vp.h -= 2; + + w.element.moveTo(vp.x, vp.y); + w.element.resizeTo(vp.w, vp.h); + DOM.setStyles(id + '_ifr', {width : vp.w - w.deltaWidth, height : vp.h - w.deltaHeight}); + DOM.addClass(id + '_wrapper', 'mceMaximized'); + } else if (n.className == 'mceMed') { + // Reset to old size + w.element.moveTo(w.oldPos.x, w.oldPos.y); + w.element.resizeTo(w.oldSize.w, w.oldSize.h); + w.iframeElement.resizeTo(w.oldSize.w - w.deltaWidth, w.oldSize.h - w.deltaHeight); + + DOM.removeClass(id + '_wrapper', 'mceMaximized'); + } else if (n.className == 'mceMove') + return t._startDrag(id, e, n.className); + else if (DOM.hasClass(n, 'mceResize')) + return t._startDrag(id, e, n.className.substring(13)); + } + }); + + clf = Event.add(id, 'click', function(e) { + var n = e.target; + + t.focus(id); + + if (n.nodeName == 'A' || n.nodeName == 'a') { + switch (n.className) { + case 'mceClose': + t.close(null, id); + return Event.cancel(e); + + case 'mceButton mceOk': + case 'mceButton mceCancel': + f.button_func(n.className == 'mceButton mceOk'); + return Event.cancel(e); + } + } + }); + + // Add window + t.windows = t.windows || {}; + w = t.windows[id] = { + id : id, + mousedown_func : mdf, + click_func : clf, + element : new Element(id, {blocker : 1, container : ed.getContainer()}), + iframeElement : new Element(id + '_ifr'), + features : f, + deltaWidth : dw, + deltaHeight : dh + }; + + w.iframeElement.on('focus', function() { + t.focus(id); + }); + + // Setup blocker + if (t.count == 0 && t.editor.getParam('dialog_type') == 'modal') { + DOM.add(DOM.doc.body, 'div', { + id : 'mceModalBlocker', + 'class' : (t.editor.settings.inlinepopups_skin || 'clearlooks2') + '_modalBlocker', + style : {left : vp.x, top : vp.y, width : vp.w, height : vp.h, zIndex : t.zIndex - 1} + }); + + DOM.show('mceModalBlocker'); // Reduces flicker in IE + } else + DOM.setStyle('mceModalBlocker', 'z-index', t.zIndex - 1); + + t.focus(id); + t._fixIELayout(id, 1); + + // Focus ok button + if (DOM.get(id + '_ok')) + DOM.get(id + '_ok').focus(); + + t.count++; + + return w; + }, + + focus : function(id) { + var t = this, w = t.windows[id]; + + w.zIndex = this.zIndex++; + w.element.setStyle('zIndex', w.zIndex); + w.element.update(); + + id = id + '_wrapper'; + DOM.removeClass(t.lastId, 'mceFocus'); + DOM.addClass(id, 'mceFocus'); + t.lastId = id; + }, + + _addAll : function(te, ne) { + var i, n, t = this, dom = tinymce.DOM; + + if (is(ne, 'string')) + te.appendChild(dom.doc.createTextNode(ne)); + else if (ne.length) { + te = te.appendChild(dom.create(ne[0], ne[1])); + + for (i=2; i ix) { + fw = w; + ix = w.zIndex; + } + }); + + if (fw) + t.focus(fw.id); + } + }, + + setTitle : function(ti, id) { + DOM.get(id + '_title').innerHTML = DOM.encode(ti); + }, + + alert : function(txt, cb, s) { + var t = this, w; + + w = t.open({ + title : t, + type : 'alert', + button_func : function(s) { + if (cb) + cb.call(s || t, s); + + t.close(null, w.id); + }, + content : DOM.encode(t.editor.getLang(txt, txt)), + inline : 1, + width : 400, + height : 130 + }); + }, + + confirm : function(txt, cb, s) { + var t = this, w; + + w = t.open({ + title : t, + type : 'confirm', + button_func : function(s) { + if (cb) + cb.call(s || t, s); + + t.close(null, w.id); + }, + content : DOM.encode(t.editor.getLang(txt, txt)), + inline : 1, + width : 400, + height : 130 + }); + }, + + // Internal functions + + _fixIELayout : function(id, s) { + var w, img; + + if (!tinymce.isIE6) + return; + + // Fixes the bug where hover flickers and does odd things in IE6 + each(['n','s','w','e','nw','ne','sw','se'], function(v) { + var e = DOM.get(id + '_resize_' + v); + + DOM.setStyles(e, { + width : s ? e.clientWidth : '', + height : s ? e.clientHeight : '', + cursor : DOM.getStyle(e, 'cursor', 1) + }); + + DOM.setStyle(id + "_bottom", 'bottom', '-1px'); + + e = 0; + }); + + // Fixes graphics glitch + if (w = this.windows[id]) { + // Fixes rendering bug after resize + w.element.hide(); + w.element.show(); + + // Forced a repaint of the window + //DOM.get(id).style.filter = ''; + + // IE has a bug where images used in CSS won't get loaded + // sometimes when the cache in the browser is disabled + // This fix tries to solve it by loading the images using the image object + each(DOM.select('div,a', id), function(e, i) { + if (e.currentStyle.backgroundImage != 'none') { + img = new Image(); + img.src = e.currentStyle.backgroundImage.replace(/url\(\"(.+)\"\)/, '$1'); + } + }); + + DOM.get(id).style.filter = ''; + } + } + }); + + // Register plugin + tinymce.PluginManager.add('inlinepopups', tinymce.plugins.InlinePopups); +})(); + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif new file mode 100644 index 0000000000000000000000000000000000000000..94abd08763fffdaa0dd5c5afb470a97294f2b94d GIT binary patch literal 818 zcmV-21I_$LNk%w1VITk?0OkMyy?1uhZf>Is3*B5?sT&&Hqoc$;Jkrt6&k+&QHa5gV zL)l77I5;@fLqpYMWV+*+oUyj*ia`4%)P|vrSClaB!?EE7K$--(_XZ zOH0lO2-#9n!;Fik78a-!6wR}-yS%#378ch%J=j4(x@2V5*3{b0&C|=t(mFcQDJi8A z60bTsucxKY8XD3{O5bW~+gDfHP*AZbD54S)*gHGL#>A(co5`c08yg$Yzr7_TCCA9d zs-U0MFfhzxW4%d9s-K?K($LSkxy-Sz(7?Xdn3%wSe#oDmxL#e?qN1My0^C(q&nzt3 zjEvWFbJcly)5*uu)6w93eACp@*{!X#QBc56PRYv1%goBm&CA4*kj9vnyFxN00960|JK*lA^8LV00000EC2ui z03ZM$000O7fPaF6goTEOh>41ejE#5-A-Y zDMkRMg$FSdD>XGe76Lo4g8*}CUeivLI}B6rYIE)9Vh306CXDUKb=Dfx`}wT=u<6# zD$n)U&_b6YEgl901IUC4zyf`27&(S$$E;fb{Wx)wm4^u-0H zv*CdXLINn%=tH`+>C>qDxJcmTfS@*Z45S!AI|Ya#EOHOnP2`2|1;88Ju#tey5e=^) w9O1*fx%21Hn;(HtX3!cMK%gku&b_<$??7lEkM$&p`Sa-0r)T3DnWI1eJD_KQDgXcg literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif new file mode 100644 index 0000000000000000000000000000000000000000..e671094cb0eb210b756117f992cf5ca2caa698fd GIT binary patch literal 280 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 literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif new file mode 100644 index 0000000000000000000000000000000000000000..c2a2ad454db194e428a7b9da40f62d5376a17428 GIT binary patch literal 769 zcmb7?=`WiB0LI^D)(HC`v6*aD4AW#LGRb0Oi$tH~CP=nb%N%8n zy02ceuewTUUDeW|RaMp*TlLV6R$o=rQOY{@AME+?`}QQiCwU%4Jq)?`{5B8=ECT1T z+wH!7{zji$)-UA>D9({)xO1SJGLHK54Mat(}s4_unMiKjB85EHng*~!Ddt+?(c5uHG4ZI zsc>jP#5Y6w6Wj5!Y=0^oK*&D+R;Yh@ze z7vfi;qFW{owiOfGqcB@XkwUZ0j?Km4{qjE- z6c!Z|O1!?5l~+^}tE#*^aCo0?lZ$rLKBwT;dI+nLO(UEMvb-ad9elEWPw8Xg(t zx$y<#6T+{PQ@$ecjAT|iC%dxnP5yoH$I`OLFU5*drPiz>bidcu^@a^2v}rP3-`?4^ z?Cl>M-Z(n8ot*x$0~Z|;ku35!-qAHSQN*GM3tW8AN#VWJNrHQD+6qXfO_zB^6eFVU zOjzupAb0*`W8} zQVeE5Djt<a0+Owme6r2OGio7DoTWqkhGKj0`0*1-*<$#uL5YH*kC8Z>wpCvYO~asp;G r-~A;>$wp)vkltB=c_?k6Zw*FUgrbAm;sB08O9+}m=}H3OFd*zN8L+JA literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif new file mode 100644 index 0000000000000000000000000000000000000000..43a735f22c81d6d7d99c1ba9f034f38bfdd1a92b GIT binary patch literal 92 zcmZ?wbhEHb&D4o4FLHO9PR)B literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css new file mode 100644 index 0000000000..abb2a44864 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css @@ -0,0 +1,90 @@ +/* Clearlooks 2 */ + +/* Reset */ +.clearlooks2 div, .clearlooks2 span, .clearlooks2 a {vertical-align:baseline; text-align:left; position:absolute; border:0; padding:0; margin:0; background:transparent; font-family:Arial,Verdana; font-size:11px; color:#000; text-decoration:none; font-weight:normal; width:auto; height:auto; overflow:hidden; display:block} + +/* General */ +.clearlooks2 {position:absolute} +.clearlooks2 .mceWrapper {position:static} +.mceEventBlocker {position:absolute; left:0; top:0; background:url(img/horizontal.gif) no-repeat 0 -75px; width:100%; height:100%} +.clearlooks2 .mcePlaceHolder {border:1px solid #000; background:#888; top:0; left:0; opacity:0.5; filter:alpha(opacity=50)} +.clearlooks2_modalBlocker {position:absolute; left:0; top:0; background:#FFF; opacity:0.6; filter:alpha(opacity=60); display:none} + +/* Top */ +.clearlooks2 .mceTop, .clearlooks2 .mceTop div {top:0; width:100%; height:23px} +.clearlooks2 .mceTop .mceLeft {width:6px; background:url(img/corners.gif)} +.clearlooks2 .mceTop .mceCenter {right:6px; width:100%; height:23px; background:url(img/horizontal.gif) 12px 0; clip:rect(auto auto auto 12px)} +.clearlooks2 .mceTop .mceRight {right:0; width:6px; height:23px; background:url(img/corners.gif) -12px 0} +.clearlooks2 .mceTop span {width:100%; text-align:center; vertical-align:middle; line-height:23px; font-weight:bold} +.clearlooks2 .mceFocus .mceTop .mceLeft {background:url(img/corners.gif) -6px 0} +.clearlooks2 .mceFocus .mceTop .mceCenter {background:url(img/horizontal.gif) 0 -23px} +.clearlooks2 .mceFocus .mceTop .mceRight {background:url(img/corners.gif) -18px 0} +.clearlooks2 .mceFocus .mceTop span {color:#FFF} + +/* Middle */ +.clearlooks2 .mceMiddle, .clearlooks2 .mceMiddle div {top:0} +.clearlooks2 .mceMiddle {width:100%; height:100%; clip:rect(23px auto auto auto)} +.clearlooks2 .mceMiddle .mceLeft {left:0; width:5px; height:100%; background:url(img/vertical.gif) -5px 0} +.clearlooks2 .mceMiddle span {top:23px; left:5px; width:100%; height:100%; background:#FFF} +.clearlooks2 .mceMiddle .mceRight {right:0; width:5px; height:100%; background:url(img/vertical.gif)} + +/* Bottom */ +.clearlooks2 .mceBottom, .clearlooks2 .mceBottom div {height:6px} +.clearlooks2 .mceBottom {left:0; bottom:0; width:100%} +.clearlooks2 .mceBottom div {top:0} +.clearlooks2 .mceBottom .mceLeft {left:0; width:5px; background:url(img/corners.gif) -34px -6px} +.clearlooks2 .mceBottom .mceCenter {left:5px; width:100%; background:url(img/horizontal.gif) 0 -46px} +.clearlooks2 .mceBottom .mceRight {right:0; width:5px; background: url(img/corners.gif) -34px 0} +.clearlooks2 .mceBottom span {display:none} +.clearlooks2 .mceStatusbar .mceBottom, .clearlooks2 .mceStatusbar .mceBottom div {height:23px} +.clearlooks2 .mceStatusbar .mceBottom .mceLeft {background:url(img/corners.gif) -29px 0} +.clearlooks2 .mceStatusbar .mceBottom .mceCenter {background:url(img/horizontal.gif) 0 -52px} +.clearlooks2 .mceStatusbar .mceBottom .mceRight {background:url(img/corners.gif) -24px 0} +.clearlooks2 .mceStatusbar .mceBottom span {display:block; left:7px; font-family:Arial, Verdana; font-size:11px; line-height:23px} + +/* Actions */ +.clearlooks2 a {width:29px; height:16px; top:3px;} +.clearlooks2 .mceClose {right:6px; background:url(img/buttons.gif) -87px 0} +.clearlooks2 .mceMin {display:none; right:68px; background:url(img/buttons.gif) 0 0} +.clearlooks2 .mceMed {display:none; right:37px; background:url(img/buttons.gif) -29px 0} +.clearlooks2 .mceMax {display:none; right:37px; background:url(img/buttons.gif) -58px 0} +.clearlooks2 .mceMove {display:none;width:100%;cursor:move;background:url(img/corners.gif) no-repeat -100px -100px} +.clearlooks2 .mceMovable .mceMove {display:block} +.clearlooks2 .mceFocus .mceClose {right:6px; background:url(img/buttons.gif) -87px -16px} +.clearlooks2 .mceFocus .mceMin {right:68px; background:url(img/buttons.gif) 0 -16px} +.clearlooks2 .mceFocus .mceMed {right:37px; background:url(img/buttons.gif) -29px -16px} +.clearlooks2 .mceFocus .mceMax {right:37px; background:url(img/buttons.gif) -58px -16px} +.clearlooks2 .mceFocus .mceClose:hover {right:6px; background:url(img/buttons.gif) -87px -32px} +.clearlooks2 .mceFocus .mceClose:hover {right:6px; background:url(img/buttons.gif) -87px -32px} +.clearlooks2 .mceFocus .mceMin:hover {right:68px; background:url(img/buttons.gif) 0 -32px} +.clearlooks2 .mceFocus .mceMed:hover {right:37px; background:url(img/buttons.gif) -29px -32px} +.clearlooks2 .mceFocus .mceMax:hover {right:37px; background:url(img/buttons.gif) -58px -32px} + +/* Resize */ +.clearlooks2 .mceResize {top:auto; left:auto; display:none; width:5px; height:5px; background:url(img/horizontal.gif) no-repeat 0 -75px} +.clearlooks2 .mceResizable .mceResize {display:block} +.clearlooks2 .mceResizable .mceMin, .clearlooks2 .mceMax {display:none} +.clearlooks2 .mceMinimizable .mceMin {display:block} +.clearlooks2 .mceMaximizable .mceMax {display:block} +.clearlooks2 .mceMaximized .mceMed {display:block} +.clearlooks2 .mceMaximized .mceMax {display:none} +.clearlooks2 a.mceResizeN {top:0; left:0; width:100%; cursor:n-resize} +.clearlooks2 a.mceResizeNW {top:0; left:0; cursor:nw-resize} +.clearlooks2 a.mceResizeNE {top:0; right:0; cursor:ne-resize} +.clearlooks2 a.mceResizeW {top:0; left:0; height:100%; cursor:w-resize;} +.clearlooks2 a.mceResizeE {top:0; right:0; height:100%; cursor:e-resize} +.clearlooks2 a.mceResizeS {bottom:0; left:0; width:100%; cursor:s-resize} +.clearlooks2 a.mceResizeSW {bottom:0; left:0; cursor:sw-resize} +.clearlooks2 a.mceResizeSE {bottom:0; right:0; cursor:se-resize} + +/* Alert/Confirm */ +.clearlooks2 .mceButton {font-weight:bold; bottom:10px; width:80px; height:30px; background:url(img/button.gif); line-height:30px; vertical-align:middle; text-align:center; outline:0} +.clearlooks2 .mceMiddle .mceIcon {left:15px; top:35px; width:32px; height:32px} +.clearlooks2 .mceAlert .mceMiddle span, .clearlooks2 .mceConfirm .mceMiddle span {background:transparent;left:60px; top:35px; width:320px; height:50px; font-weight:bold; overflow:auto; white-space:normal} +.clearlooks2 a:hover {font-weight:bold;} +.clearlooks2 .mceAlert .mceMiddle, .clearlooks2 .mceConfirm .mceMiddle {background:#D6D7D5} +.clearlooks2 .mceAlert .mceOk {left:50%; top:auto; margin-left: -40px} +.clearlooks2 .mceAlert .mceIcon {background:url(img/alert.gif)} +.clearlooks2 .mceConfirm .mceOk {left:50%; top:auto; margin-left: -90px} +.clearlooks2 .mceConfirm .mceCancel {left:50%; top:auto} +.clearlooks2 .mceConfirm .mceIcon {background:url(img/confirm.gif)} \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm new file mode 100644 index 0000000000..f9ec64219d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm @@ -0,0 +1,387 @@ + + + +Template for dialogs + + + + +
    +
    +
    +
    +
    +
    +
    + Blured +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Focused +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Statusbar +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Statusbar, Resizable +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Resizable, Maximizable +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Blurred, Maximizable, Statusbar, Resizable +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Maximized, Maximizable, Minimizable +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Blured +
    + +
    +
    + Content +
    +
    + +
    +
    +
    +
    + Statusbar text. +
    + + + + + + + + + + + + + + +
    +
    + +
    +
    +
    +
    +
    +
    + Alert +
    + +
    +
    + + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + +
    +
    +
    + +
    +
    +
    +
    +
    + + + Ok + +
    +
    + +
    +
    +
    +
    +
    +
    + Confirm +
    + +
    +
    + + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + This is a very long error message. This is a very long error message. + +
    +
    +
    + +
    +
    +
    +
    +
    + + + Ok + Cancel + +
    +
    +
    + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js new file mode 100644 index 0000000000..34d4ceca51 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.InsertDateTime',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceInsertDate',function(){var str=t._getDateTime(new Date(),ed.getParam("plugin_insertdate_dateFormat",ed.getLang('insertdatetime.date_fmt')));ed.execCommand('mceInsertContent',false,str);});ed.addCommand('mceInsertTime',function(){var str=t._getDateTime(new Date(),ed.getParam("plugin_insertdate_timeFormat",ed.getLang('insertdatetime.time_fmt')));ed.execCommand('mceInsertContent',false,str);});ed.addButton('insertdate',{title:'insertdatetime.insertdate_desc',cmd:'mceInsertDate'});ed.addButton('inserttime',{title:'insertdatetime.inserttime_desc',cmd:'mceInsertTime'});},getInfo:function(){return{longname:'Insert date/time',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_getDateTime:function(d,fmt){var ed=this.editor;function addZeros(value,len){value=""+value;if(value.length-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci];}else{if(z[ci]>0)nl[ci].style.zIndex=z[ci]-1;}}else{for(i=0;iz[ci]){fi=i;break;}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci];}else nl[ci].style.zIndex=z[ci]+1;}ed.execCommand('mceRepaint');},_getParentLayer:function(n){return this.editor.dom.getParent(n,function(n){return n.nodeType==1&&/^(absolute|relative|static)$/i.test(n.style.position);});},_insertLayer:function(){var ed=this.editor,p=ed.dom.getPos(ed.dom.getParent(ed.selection.getNode(),'*'));ed.dom.add(ed.getBody(),'div',{style:{position:'absolute',left:p.x,top:(p.y>20?p.y:20),width:100,height:100},'class':'mceItemVisualAid'},ed.selection.getContent()||ed.getLang('layer.content'));},_toggleAbsolute:function(){var ed=this.editor,le=this._getParentLayer(ed.selection.getNode());if(!le)le=ed.dom.getParent(ed.selection.getNode(),'DIV,P,IMG');if(le){if(le.style.position.toLowerCase()=="absolute"){ed.dom.setStyles(le,{position:'',left:'',top:'',width:'',height:''});ed.dom.removeClass(le,'mceItemVisualAid');}else{if(le.style.left=="")le.style.left=20+'px';if(le.style.top=="")le.style.top=20+'px';if(le.style.width=="")le.style.width=le.width?(le.width+'px'):'100px';if(le.style.height=="")le.style.height=le.height?(le.height+'px'):'100px';le.style.position="absolute";ed.addVisual(ed.getBody());}ed.execCommand('mceRepaint');ed.nodeChanged();}}});tinymce.PluginManager.add('layer',tinymce.plugins.Layer);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js new file mode 100644 index 0000000000..1ddaa4cc8f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js @@ -0,0 +1,209 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.Layer', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceInsertLayer', t._insertLayer, t); + + ed.addCommand('mceMoveForward', function() { + t._move(1); + }); + + ed.addCommand('mceMoveBackward', function() { + t._move(-1); + }); + + ed.addCommand('mceMakeAbsolute', function() { + t._toggleAbsolute(); + }); + + // Register buttons + ed.addButton('moveforward', {title : 'layer.forward_desc', cmd : 'mceMoveForward'}); + ed.addButton('movebackward', {title : 'layer.backward_desc', cmd : 'mceMoveBackward'}); + ed.addButton('absolute', {title : 'layer.absolute_desc', cmd : 'mceMakeAbsolute'}); + ed.addButton('insertlayer', {title : 'layer.insertlayer_desc', cmd : 'mceInsertLayer'}); + + ed.onInit.add(function() { + if (tinymce.isIE) + ed.getDoc().execCommand('2D-Position', false, true); + }); + + ed.onNodeChange.add(t._nodeChange, t); + ed.onVisualAid.add(t._visualAid, t); + }, + + getInfo : function() { + return { + longname : 'Layer', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var le, p; + + le = this._getParentLayer(n); + p = ed.dom.getParent(n, 'DIV,P,IMG'); + + if (!p) { + cm.setDisabled('absolute', 1); + cm.setDisabled('moveforward', 1); + cm.setDisabled('movebackward', 1); + } else { + cm.setDisabled('absolute', 0); + cm.setDisabled('moveforward', !le); + cm.setDisabled('movebackward', !le); + cm.setActive('absolute', le && le.style.position.toLowerCase() == "absolute"); + } + }, + + // Private methods + + _visualAid : function(ed, e, s) { + var dom = ed.dom; + + tinymce.each(dom.select('div,p', e), function(e) { + if (/^(absolute|relative|static)$/i.test(e.style.position)) { + if (s) + dom.addClass(e, 'mceItemVisualAid'); + else + dom.removeClass(e, 'mceItemVisualAid'); + } + }); + }, + + _move : function(d) { + var ed = this.editor, i, z = [], le = this._getParentLayer(ed.selection.getNode()), ci = -1, fi = -1, nl; + + nl = []; + tinymce.walk(ed.getBody(), function(n) { + if (n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position)) + nl.push(n); + }, 'childNodes'); + + // Find z-indexes + for (i=0; i -1) { + nl[ci].style.zIndex = z[fi]; + nl[fi].style.zIndex = z[ci]; + } else { + if (z[ci] > 0) + nl[ci].style.zIndex = z[ci] - 1; + } + } else { + // Move forward + + // Try find a higher one + for (i=0; i z[ci]) { + fi = i; + break; + } + } + + if (fi > -1) { + nl[ci].style.zIndex = z[fi]; + nl[fi].style.zIndex = z[ci]; + } else + nl[ci].style.zIndex = z[ci] + 1; + } + + ed.execCommand('mceRepaint'); + }, + + _getParentLayer : function(n) { + return this.editor.dom.getParent(n, function(n) { + return n.nodeType == 1 && /^(absolute|relative|static)$/i.test(n.style.position); + }); + }, + + _insertLayer : function() { + var ed = this.editor, p = ed.dom.getPos(ed.dom.getParent(ed.selection.getNode(), '*')); + + ed.dom.add(ed.getBody(), 'div', { + style : { + position : 'absolute', + left : p.x, + top : (p.y > 20 ? p.y : 20), + width : 100, + height : 100 + }, + 'class' : 'mceItemVisualAid' + }, ed.selection.getContent() || ed.getLang('layer.content')); + }, + + _toggleAbsolute : function() { + var ed = this.editor, le = this._getParentLayer(ed.selection.getNode()); + + if (!le) + le = ed.dom.getParent(ed.selection.getNode(), 'DIV,P,IMG'); + + if (le) { + if (le.style.position.toLowerCase() == "absolute") { + ed.dom.setStyles(le, { + position : '', + left : '', + top : '', + width : '', + height : '' + }); + + ed.dom.removeClass(le, 'mceItemVisualAid'); + } else { + if (le.style.left == "") + le.style.left = 20 + 'px'; + + if (le.style.top == "") + le.style.top = 20 + 'px'; + + if (le.style.width == "") + le.style.width = le.width ? (le.width + 'px') : '100px'; + + if (le.style.height == "") + le.style.height = le.height ? (le.height + 'px') : '100px'; + + le.style.position = "absolute"; + ed.addVisual(ed.getBody()); + } + + ed.execCommand('mceRepaint'); + ed.nodeChanged(); + } + } + }); + + // Register plugin + tinymce.PluginManager.add('layer', tinymce.plugins.Layer); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css new file mode 100644 index 0000000000..1bf6a75869 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css @@ -0,0 +1,6 @@ +.mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia {border:1px dotted #cc0000; background-position:center; background-repeat:no-repeat; background-color:#ffffcc;} +.mceItemShockWave {background-image: url(../img/shockwave.gif);} +.mceItemFlash {background-image:url(../img/flash.gif);} +.mceItemQuickTime {background-image:url(../img/quicktime.gif);} +.mceItemWindowsMedia {background-image:url(../img/windowsmedia.gif);} +.mceItemRealMedia {background-image:url(../img/realmedia.gif);} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css new file mode 100644 index 0000000000..89c6bd5a05 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css @@ -0,0 +1,68 @@ +#id, #name, #hspace, #vspace, #class_name, #align { + width: 100px; +} + +#hspace, #vspace { + width: 50px; +} + +#flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode { + width: 100px; +} + +#flash_base, #flash_flashvars { + width: 240px; +} + +#width, #height { + width: 40px; +} + +#src, #media_type { + width: 250px; +} + +#class { + width: 120px; +} + +#prev { + margin: 0; + border: 1px solid black; + width: 99%; + height: 230px; + overflow: auto; +} + +.panel_wrapper div.current { + height: 390px; + overflow: auto; +} + +#flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options { + display: none; +} + +.mceAddSelectValue { + background-color: #DDDDDD; +} + +#qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume { + width: 70px; +} + +#wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume { + width: 70px; +} + +#rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks { + width: 70px; +} + +#shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle { + width: 90px; +} + +#qt_qtsrc { + width: 200px; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js new file mode 100644 index 0000000000..948db7c7d4 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js @@ -0,0 +1 @@ +(function(){var each=tinymce.each;tinymce.create('tinymce.plugins.MediaPlugin',{init:function(ed,url){var t=this;t.editor=ed;t.url=url;function isMediaElm(n){return/^(mceItemFlash|mceItemShockWave|mceItemWindowsMedia|mceItemQuickTime|mceItemRealMedia)$/.test(n.className);};ed.addCommand('mceMedia',function(){ed.windowManager.open({file:url+'/media.htm',width:430+parseInt(ed.getLang('media.delta_width',0)),height:470+parseInt(ed.getLang('media.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('media',{title:'media.desc',cmd:'mceMedia'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('media',n.nodeName=='IMG'&&isMediaElm(n));});ed.onInit.add(function(){var lo={mceItemFlash:'flash',mceItemShockWave:'shockwave',mceItemWindowsMedia:'windowsmedia',mceItemQuickTime:'quicktime',mceItemRealMedia:'realmedia'};ed.dom.loadCSS(url+"/css/content.css");if(ed.theme.onResolveName){ed.theme.onResolveName.add(function(th,o){if(o.name=='img'){each(lo,function(v,k){if(ed.dom.hasClass(o.node,k)){o.name=v;o.title=ed.dom.getAttrib(o.node,'title');return false;}});}});}if(ed&&ed.plugins.contextmenu){ed.plugins.contextmenu.onContextMenu.add(function(th,m,e){if(e.nodeName=='IMG'&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(e.className)){m.add({title:'media.edit',icon:'media',cmd:'mceMedia'});}});}});ed.onBeforeSetContent.add(function(ed,o){var h=o.content;h=h.replace(/]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi,function(a,b,c){var o=t._parse(c);return''});h=h.replace(/]*)>/gi,'');h=h.replace(/]*)>/gi,'');h=h.replace(/<\/(object|embed)([^>]*)>/gi,'');h=h.replace(/]*)>/gi,function(a,b){return''});h=h.replace(/\/ class=\"mceItemParam\"><\/span>/gi,'class="mceItemParam">');o.content=h;});ed.onSetContent.add(function(){t._spansToImgs(ed.getBody());});ed.onPreProcess.add(function(ed,o){var dom=ed.dom;if(o.set){t._spansToImgs(o.node);each(dom.select('IMG',o.node),function(n){var p;if(isMediaElm(n)){p=t._parse(n.title);dom.setAttrib(n,'width',dom.getAttrib(n,'width',p.width||100));dom.setAttrib(n,'height',dom.getAttrib(n,'height',p.height||100));}});}if(o.get){each(dom.select('IMG',o.node),function(n){var ci,cb,mt;if(ed.getParam('media_use_script')){if(isMediaElm(n))n.className=n.className.replace(/mceItem/g,'mceTemp');return;}switch(n.className){case'mceItemFlash':ci='d27cdb6e-ae6d-11cf-96b8-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='application/x-shockwave-flash';break;case'mceItemShockWave':ci='166b1bca-3f9c-11cf-8075-444553540000';cb='http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';mt='application/x-director';break;case'mceItemWindowsMedia':ci=ed.getParam('media_wmp6_compatible')?'05589fa1-c356-11ce-bf01-00aa0055595a':'6bf52a52-394a-11d3-b153-00c04f79faa6';cb='http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';mt='application/x-mplayer2';break;case'mceItemQuickTime':ci='02bf25d5-8c17-4b23-bc80-d3488abddc6b';cb='http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';mt='video/quicktime';break;case'mceItemRealMedia':ci='cfcdaa03-8be4-11cf-b84b-0020afbbccfa';cb='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';mt='audio/x-pn-realaudio-plugin';break;}if(ci){dom.replace(t._buildObj({classid:ci,codebase:cb,type:mt},n),n);}});}});ed.onPostProcess.add(function(ed,o){o.content=o.content.replace(/_value=/g,'value=');});if(ed.getParam('media_use_script')){function getAttr(s,n){n=new RegExp(n+'=\"([^\"]+)\"','g').exec(s);return n?ed.dom.decode(n[1]):'';};ed.onPostProcess.add(function(ed,o){o.content=o.content.replace(/]+>/g,function(im){var cl=getAttr(im,'class');if(/^(mceTempFlash|mceTempShockWave|mceTempWindowsMedia|mceTempQuickTime|mceTempRealMedia)$/.test(cl)){at=t._parse(getAttr(im,'title'));at.width=getAttr(im,'width');at.height=getAttr(im,'height');im='';}return im;});});}},getInfo:function(){return{longname:'Media',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_buildObj:function(o,n){var ob,ed=this.editor,dom=ed.dom,p=this._parse(n.title);p.width=o.width=dom.getAttrib(n,'width')||100;p.height=o.height=dom.getAttrib(n,'height')||100;ob=dom.create('span',{mce_name:'object',classid:"clsid:"+o.classid,codebase:o.codebase,width:o.width,height:o.height});if(p.src)p.src=ed.convertURL(p.src,'src',n);each(p,function(v,k){if(!/^(width|height|codebase|classid)$/.test(k))dom.add(ob,'span',{mce_name:'param',name:k,'_value':v});});dom.add(ob,'span',tinymce.extend({mce_name:'embed',type:o.type},p));return ob;},_spansToImgs:function(p){var t=this,dom=t.editor.dom,im,ci;each(dom.select('span',p),function(n){if(dom.getAttrib(n,'class')=='mceItemObject'){ci=dom.getAttrib(n,"classid").toLowerCase().replace(/\s+/g,'');switch(ci){case'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':dom.replace(t._createImg('mceItemFlash',n),n);break;case'clsid:166b1bca-3f9c-11cf-8075-444553540000':dom.replace(t._createImg('mceItemShockWave',n),n);break;case'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':case'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':case'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':dom.replace(t._createImg('mceItemWindowsMedia',n),n);break;case'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':dom.replace(t._createImg('mceItemQuickTime',n),n);break;case'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':dom.replace(t._createImg('mceItemRealMedia',n),n);break;default:dom.replace(t._createImg('mceItemFlash',n),n);}return;}if(dom.getAttrib(n,'class')=='mceItemEmbed'){switch(dom.getAttrib(n,'type')){case'application/x-shockwave-flash':dom.replace(t._createImg('mceItemFlash',n),n);break;case'application/x-director':dom.replace(t._createImg('mceItemShockWave',n),n);break;case'application/x-mplayer2':dom.replace(t._createImg('mceItemWindowsMedia',n),n);break;case'video/quicktime':dom.replace(t._createImg('mceItemQuickTime',n),n);break;case'audio/x-pn-realaudio-plugin':dom.replace(t._createImg('mceItemRealMedia',n),n);break;default:dom.replace(t._createImg('mceItemFlash',n),n);}}});},_createImg:function(cl,n){var im,dom=this.editor.dom,pa={},ti='';im=dom.create('img',{src:this.url+'/img/trans.gif',width:dom.getAttrib(n,'width')||100,height:dom.getAttrib(n,'height')||100,'class':cl});each(['id','name','width','height','bgcolor','align','flashvars','src','wmode'],function(na){var v=dom.getAttrib(n,na);if(v)pa[na]=v;});each(dom.select('span',n),function(n){if(dom.hasClass(n,'mceItemParam'))pa[dom.getAttrib(n,'name')]=dom.getAttrib(n,'_value');});if(pa.movie){pa.src=pa.movie;delete pa.movie;}delete pa.width;delete pa.height;im.title=this._serialize(pa);return im;},_parse:function(s){return tinymce.util.JSON.parse('{'+s+'}');},_serialize:function(o){return tinymce.util.JSON.serialize(o).replace(/[{}]/g,'');}});tinymce.PluginManager.add('media',tinymce.plugins.MediaPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js new file mode 100644 index 0000000000..dee19aa0ae --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js @@ -0,0 +1,353 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var each = tinymce.each; + + tinymce.create('tinymce.plugins.MediaPlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + t.url = url; + + function isMediaElm(n) { + return /^(mceItemFlash|mceItemShockWave|mceItemWindowsMedia|mceItemQuickTime|mceItemRealMedia)$/.test(n.className); + }; + + // Register commands + ed.addCommand('mceMedia', function() { + ed.windowManager.open({ + file : url + '/media.htm', + width : 430 + parseInt(ed.getLang('media.delta_width', 0)), + height : 470 + parseInt(ed.getLang('media.delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('media', {title : 'media.desc', cmd : 'mceMedia'}); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('media', n.nodeName == 'IMG' && isMediaElm(n)); + }); + + ed.onInit.add(function() { + var lo = { + mceItemFlash : 'flash', + mceItemShockWave : 'shockwave', + mceItemWindowsMedia : 'windowsmedia', + mceItemQuickTime : 'quicktime', + mceItemRealMedia : 'realmedia' + }; + + ed.dom.loadCSS(url + "/css/content.css"); + + if (ed.theme.onResolveName) { + ed.theme.onResolveName.add(function(th, o) { + if (o.name == 'img') { + each(lo, function(v, k) { + if (ed.dom.hasClass(o.node, k)) { + o.name = v; + o.title = ed.dom.getAttrib(o.node, 'title'); + return false; + } + }); + } + }); + } + + if (ed && ed.plugins.contextmenu) { + ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { + if (e.nodeName == 'IMG' && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(e.className)) { + m.add({title : 'media.edit', icon : 'media', cmd : 'mceMedia'}); + } + }); + } + }); + + ed.onBeforeSetContent.add(function(ed, o) { + var h = o.content; + + h = h.replace(/]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi, function(a, b, c) { + var o = t._parse(c); + + return '' + }); + + h = h.replace(/]*)>/gi, ''); + h = h.replace(/]*)>/gi, ''); + h = h.replace(/<\/(object|embed)([^>]*)>/gi, ''); + h = h.replace(/]*)>/gi, function(a, b) {return ''}); + h = h.replace(/\/ class=\"mceItemParam\"><\/span>/gi, 'class="mceItemParam">'); + + o.content = h; + }); + + ed.onSetContent.add(function() { + t._spansToImgs(ed.getBody()); + }); + + ed.onPreProcess.add(function(ed, o) { + var dom = ed.dom; + + if (o.set) { + t._spansToImgs(o.node); + + each(dom.select('IMG', o.node), function(n) { + var p; + + if (isMediaElm(n)) { + p = t._parse(n.title); + dom.setAttrib(n, 'width', dom.getAttrib(n, 'width', p.width || 100)); + dom.setAttrib(n, 'height', dom.getAttrib(n, 'height', p.height || 100)); + } + }); + } + + if (o.get) { + each(dom.select('IMG', o.node), function(n) { + var ci, cb, mt; + + if (ed.getParam('media_use_script')) { + if (isMediaElm(n)) + n.className = n.className.replace(/mceItem/g, 'mceTemp'); + + return; + } + + switch (n.className) { + case 'mceItemFlash': + ci = 'd27cdb6e-ae6d-11cf-96b8-444553540000'; + cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'; + mt = 'application/x-shockwave-flash'; + break; + + case 'mceItemShockWave': + ci = '166b1bca-3f9c-11cf-8075-444553540000'; + cb = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0'; + mt = 'application/x-director'; + break; + + case 'mceItemWindowsMedia': + ci = ed.getParam('media_wmp6_compatible') ? '05589fa1-c356-11ce-bf01-00aa0055595a' : '6bf52a52-394a-11d3-b153-00c04f79faa6'; + cb = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; + mt = 'application/x-mplayer2'; + break; + + case 'mceItemQuickTime': + ci = '02bf25d5-8c17-4b23-bc80-d3488abddc6b'; + cb = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0'; + mt = 'video/quicktime'; + break; + + case 'mceItemRealMedia': + ci = 'cfcdaa03-8be4-11cf-b84b-0020afbbccfa'; + cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'; + mt = 'audio/x-pn-realaudio-plugin'; + break; + } + + if (ci) { + dom.replace(t._buildObj({ + classid : ci, + codebase : cb, + type : mt + }, n), n); + } + }); + } + }); + + ed.onPostProcess.add(function(ed, o) { + o.content = o.content.replace(/_value=/g, 'value='); + }); + + if (ed.getParam('media_use_script')) { + function getAttr(s, n) { + n = new RegExp(n + '=\"([^\"]+)\"', 'g').exec(s); + + return n ? ed.dom.decode(n[1]) : ''; + }; + + ed.onPostProcess.add(function(ed, o) { + o.content = o.content.replace(/]+>/g, function(im) { + var cl = getAttr(im, 'class'); + + if (/^(mceTempFlash|mceTempShockWave|mceTempWindowsMedia|mceTempQuickTime|mceTempRealMedia)$/.test(cl)) { + at = t._parse(getAttr(im, 'title')); + at.width = getAttr(im, 'width'); + at.height = getAttr(im, 'height'); + im = ''; + } + + return im; + }); + }); + } + }, + + getInfo : function() { + return { + longname : 'Media', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _buildObj : function(o, n) { + var ob, ed = this.editor, dom = ed.dom, p = this._parse(n.title); + + p.width = o.width = dom.getAttrib(n, 'width') || 100; + p.height = o.height = dom.getAttrib(n, 'height') || 100; + + ob = dom.create('span', { + mce_name : 'object', + classid : "clsid:" + o.classid, + codebase : o.codebase, + width : o.width, + height : o.height + }); + + if (p.src) + p.src = ed.convertURL(p.src, 'src', n); + + each (p, function(v, k) { + if (!/^(width|height|codebase|classid)$/.test(k)) + dom.add(ob, 'span', {mce_name : 'param', name : k, '_value' : v}); + }); + + dom.add(ob, 'span', tinymce.extend({mce_name : 'embed', type : o.type}, p)); + + return ob; + }, + + _spansToImgs : function(p) { + var t = this, dom = t.editor.dom, im, ci; + + each(dom.select('span', p), function(n) { + // Convert object into image + if (dom.getAttrib(n, 'class') == 'mceItemObject') { + ci = dom.getAttrib(n, "classid").toLowerCase().replace(/\s+/g, ''); + + switch (ci) { + case 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000': + dom.replace(t._createImg('mceItemFlash', n), n); + break; + + case 'clsid:166b1bca-3f9c-11cf-8075-444553540000': + dom.replace(t._createImg('mceItemShockWave', n), n); + break; + + case 'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6': + case 'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95': + case 'clsid:05589fa1-c356-11ce-bf01-00aa0055595a': + dom.replace(t._createImg('mceItemWindowsMedia', n), n); + break; + + case 'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b': + dom.replace(t._createImg('mceItemQuickTime', n), n); + break; + + case 'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa': + dom.replace(t._createImg('mceItemRealMedia', n), n); + break; + + default: + dom.replace(t._createImg('mceItemFlash', n), n); + } + + return; + } + + // Convert embed into image + if (dom.getAttrib(n, 'class') == 'mceItemEmbed') { + switch (dom.getAttrib(n, 'type')) { + case 'application/x-shockwave-flash': + dom.replace(t._createImg('mceItemFlash', n), n); + break; + + case 'application/x-director': + dom.replace(t._createImg('mceItemShockWave', n), n); + break; + + case 'application/x-mplayer2': + dom.replace(t._createImg('mceItemWindowsMedia', n), n); + break; + + case 'video/quicktime': + dom.replace(t._createImg('mceItemQuickTime', n), n); + break; + + case 'audio/x-pn-realaudio-plugin': + dom.replace(t._createImg('mceItemRealMedia', n), n); + break; + + default: + dom.replace(t._createImg('mceItemFlash', n), n); + } + } + }); + }, + + _createImg : function(cl, n) { + var im, dom = this.editor.dom, pa = {}, ti = ''; + + // Create image + im = dom.create('img', { + src : this.url + '/img/trans.gif', + width : dom.getAttrib(n, 'width') || 100, + height : dom.getAttrib(n, 'height') || 100, + 'class' : cl + }); + + // Setup base parameters + each(['id', 'name', 'width', 'height', 'bgcolor', 'align', 'flashvars', 'src', 'wmode'], function(na) { + var v = dom.getAttrib(n, na); + + if (v) + pa[na] = v; + }); + + // Add optional parameters + each(dom.select('span', n), function(n) { + if (dom.hasClass(n, 'mceItemParam')) + pa[dom.getAttrib(n, 'name')] = dom.getAttrib(n, '_value'); + }); + + // Use src not movie + if (pa.movie) { + pa.src = pa.movie; + delete pa.movie; + } + + delete pa.width; + delete pa.height; + + im.title = this._serialize(pa); + + return im; + }, + + _parse : function(s) { + return tinymce.util.JSON.parse('{' + s + '}'); + }, + + _serialize : function(o) { + return tinymce.util.JSON.serialize(o).replace(/[{}]/g, ''); + } + }); + + // Register plugin + tinymce.PluginManager.add('media', tinymce.plugins.MediaPlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif new file mode 100644 index 0000000000000000000000000000000000000000..cb192e6ceda8d19ad8e7d08dd1cfde0aa72ead2a GIT binary patch literal 241 zcmVOzlLa+Za}7>m0&NpCfJ0FQc3~F7DE)S%o1)Qi1n@vxX46qnD4hRS-NE*Pw!4UvE=#^N( literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf new file mode 100644 index 0000000000000000000000000000000000000000..042c2ab969e98a6fdbe08848c4a73bd2c41de906 GIT binary patch literal 11668 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 literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif new file mode 100644 index 0000000000000000000000000000000000000000..3b0499145b16138249f653a1a3f2c80230fb292c GIT binary patch literal 303 zcmV+~0nq+ONk%w1VGsZi0K^{vH>m7Qv+~s9^fsC5ZpZP=*zu3F=Jxpf8k_5u%JNv6 z=md-84VLU4w)kSE=yI&-yw>b=v+SqE?+kq47pC+YrR?bJ^yu>Zyvpn;hTp*6^mM!O zu+8$^=JX7bb<~J01ZTA{q@86#&8&6~H`Ss{{?p%K!-p%L6P2TpFYz90?pD06UU# BbnE~C literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif new file mode 100644 index 0000000000000000000000000000000000000000..fdfe0b9ac05869ae845fdd828eaad97cc0c69dbc GIT binary patch literal 439 zcmV;o0Z9HwNk%w1VI=?(0K^{vQcz8xz}f&njBB06v9GQ`Jv%NdDHCI&z`wqZw$(Lw zuFTBL!Pe#<92tv>h)9OE1Xh}vnVEHSaeb-GByg#tqM_B*)YRkdSdqTuipLaF8n=^^LJP4|1^gGRdo_Rl+a*grZQ1hw@Zo1ikN$oB{QbRq&z?QIckdq1aE3;Fq_(WV>Kc7gjQtQh+9OrtFhn-)LUqD<|MOIl_!(Ed#pPRE;S)g;ew3>pd zn`Wa(lc2DGa)peFw3f88dp-|`@*)AXj;@(8hwDr|7Sxsp;&YxjN*Y{PBB!TIU|!b7Zgv0OaG5)&Kwi literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..388486517fa8da13ebd150e8f65d5096c3e10c3a GIT binary patch literal 43 ncmZ?wbhEHbWMp7un7{x9ia%KxMSyG_5FaGNz{KRj$Y2csb)f_x literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab50f2d887a0843b116ef598e5a005e5601d18d0 GIT binary patch literal 415 zcmV;Q0bu?|Nk%w1VGjTg0M$PL`E^qkEu+z?1&N?x_*pRg{rx~kg!#|I<>uyug^O^t z0hZGrt*x!>$1C!zn`W5@`ts6_uMW)2%<0NUEKIo?SIPPE=}U0}7Z(?JcX!y=*;bF< zCWz-=h7+2ao9)(dOHM;+X=xs9)%!~xc&ICMZdRYdUQ2$^@9y(6X3NCIz{cM7f^Z=Q z1_tQ95kgl8b%R%OiYTIo7LSdE^@}A^8LW002J#EC2ui01p5U000KOz@O0K01zUifeIyT9%!RzMDgehG|mwLz+Eh; z7Z~iE zrX?OfJ^>XeDJK)xJuWOB3_l1N0Ra>g4Gk^=ED0V6LI?>4;Q|6OB{LplLMRLg8U5-E J?0y6R06W6!pgRBn literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js new file mode 100644 index 0000000000..f8dc810527 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js @@ -0,0 +1,73 @@ +/** + * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. + */ + +function writeFlash(p) { + writeEmbed( + 'D27CDB6E-AE6D-11cf-96B8-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'application/x-shockwave-flash', + p + ); +} + +function writeShockWave(p) { + writeEmbed( + '166B1BCA-3F9C-11CF-8075-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', + 'application/x-director', + p + ); +} + +function writeQuickTime(p) { + writeEmbed( + '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', + 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', + 'video/quicktime', + p + ); +} + +function writeRealMedia(p) { + writeEmbed( + 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'audio/x-pn-realaudio-plugin', + p + ); +} + +function writeWindowsMedia(p) { + p.url = p.src; + writeEmbed( + '6BF52A52-394A-11D3-B153-00C04F79FAA6', + 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', + 'application/x-mplayer2', + p + ); +} + +function writeEmbed(cls, cb, mt, p) { + var h = '', n; + + h += ''; + + h += ''); + +function init() { + var pl = "", f, val; + var type = "flash", fe, i; + + ed = tinyMCEPopup.editor; + + tinyMCEPopup.resizeToInnerSize(); + f = document.forms[0] + + fe = ed.selection.getNode(); + if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe, 'class'))) { + pl = fe.title; + + switch (ed.dom.getAttrib(fe, 'class')) { + case 'mceItemFlash': + type = 'flash'; + break; + + case 'mceItemFlashVideo': + type = 'flv'; + break; + + case 'mceItemShockWave': + type = 'shockwave'; + break; + + case 'mceItemWindowsMedia': + type = 'wmp'; + break; + + case 'mceItemQuickTime': + type = 'qt'; + break; + + case 'mceItemRealMedia': + type = 'rmp'; + break; + } + + document.forms[0].insert.value = ed.getLang('update', 'Insert', true); + } + + document.getElementById('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media'); + document.getElementById('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var html = getMediaListHTML('medialist','src','media','media'); + if (html == "") + document.getElementById("linklistrow").style.display = 'none'; + else + document.getElementById("linklistcontainer").innerHTML = html; + + // Resize some elements + if (isVisible('filebrowser')) + document.getElementById('src').style.width = '230px'; + + // Setup form + if (pl != "") { + pl = tinyMCEPopup.editor.plugins.media._parse(pl); + + switch (type) { + case "flash": + setBool(pl, 'flash', 'play'); + setBool(pl, 'flash', 'loop'); + setBool(pl, 'flash', 'menu'); + setBool(pl, 'flash', 'swliveconnect'); + setStr(pl, 'flash', 'quality'); + setStr(pl, 'flash', 'scale'); + setStr(pl, 'flash', 'salign'); + setStr(pl, 'flash', 'wmode'); + setStr(pl, 'flash', 'base'); + setStr(pl, 'flash', 'flashvars'); + break; + + case "qt": + setBool(pl, 'qt', 'loop'); + setBool(pl, 'qt', 'autoplay'); + setBool(pl, 'qt', 'cache'); + setBool(pl, 'qt', 'controller'); + setBool(pl, 'qt', 'correction'); + setBool(pl, 'qt', 'enablejavascript'); + setBool(pl, 'qt', 'kioskmode'); + setBool(pl, 'qt', 'autohref'); + setBool(pl, 'qt', 'playeveryframe'); + setBool(pl, 'qt', 'tarsetcache'); + setStr(pl, 'qt', 'scale'); + setStr(pl, 'qt', 'starttime'); + setStr(pl, 'qt', 'endtime'); + setStr(pl, 'qt', 'tarset'); + setStr(pl, 'qt', 'qtsrcchokespeed'); + setStr(pl, 'qt', 'volume'); + setStr(pl, 'qt', 'qtsrc'); + break; + + case "shockwave": + setBool(pl, 'shockwave', 'sound'); + setBool(pl, 'shockwave', 'progress'); + setBool(pl, 'shockwave', 'autostart'); + setBool(pl, 'shockwave', 'swliveconnect'); + setStr(pl, 'shockwave', 'swvolume'); + setStr(pl, 'shockwave', 'swstretchstyle'); + setStr(pl, 'shockwave', 'swstretchhalign'); + setStr(pl, 'shockwave', 'swstretchvalign'); + break; + + case "wmp": + setBool(pl, 'wmp', 'autostart'); + setBool(pl, 'wmp', 'enabled'); + setBool(pl, 'wmp', 'enablecontextmenu'); + setBool(pl, 'wmp', 'fullscreen'); + setBool(pl, 'wmp', 'invokeurls'); + setBool(pl, 'wmp', 'mute'); + setBool(pl, 'wmp', 'stretchtofit'); + setBool(pl, 'wmp', 'windowlessvideo'); + setStr(pl, 'wmp', 'balance'); + setStr(pl, 'wmp', 'baseurl'); + setStr(pl, 'wmp', 'captioningid'); + setStr(pl, 'wmp', 'currentmarker'); + setStr(pl, 'wmp', 'currentposition'); + setStr(pl, 'wmp', 'defaultframe'); + setStr(pl, 'wmp', 'playcount'); + setStr(pl, 'wmp', 'rate'); + setStr(pl, 'wmp', 'uimode'); + setStr(pl, 'wmp', 'volume'); + break; + + case "rmp": + setBool(pl, 'rmp', 'autostart'); + setBool(pl, 'rmp', 'loop'); + setBool(pl, 'rmp', 'autogotourl'); + setBool(pl, 'rmp', 'center'); + setBool(pl, 'rmp', 'imagestatus'); + setBool(pl, 'rmp', 'maintainaspect'); + setBool(pl, 'rmp', 'nojava'); + setBool(pl, 'rmp', 'prefetch'); + setBool(pl, 'rmp', 'shuffle'); + setStr(pl, 'rmp', 'console'); + setStr(pl, 'rmp', 'controls'); + setStr(pl, 'rmp', 'numloop'); + setStr(pl, 'rmp', 'scriptcallbacks'); + break; + } + + setStr(pl, null, 'src'); + setStr(pl, null, 'id'); + setStr(pl, null, 'name'); + setStr(pl, null, 'vspace'); + setStr(pl, null, 'hspace'); + setStr(pl, null, 'bgcolor'); + setStr(pl, null, 'align'); + setStr(pl, null, 'width'); + setStr(pl, null, 'height'); + + if ((val = ed.dom.getAttrib(fe, "width")) != "") + pl.width = f.width.value = val; + + if ((val = ed.dom.getAttrib(fe, "height")) != "") + pl.height = f.height.value = val; + + oldWidth = pl.width ? parseInt(pl.width) : 0; + oldHeight = pl.height ? parseInt(pl.height) : 0; + } else + oldWidth = oldHeight = 0; + + selectByValue(f, 'media_type', type); + changedType(type); + updateColor('bgcolor_pick', 'bgcolor'); + + TinyMCE_EditableSelects.init(); + generatePreview(); +} + +function insertMedia() { + var fe, f = document.forms[0], h; + + tinyMCEPopup.restoreSelection(); + + if (!AutoValidator.validate(f)) { + alert(ed.getLang('invalid_data')); + return false; + } + + f.width.value = f.width.value == "" ? 100 : f.width.value; + f.height.value = f.height.value == "" ? 100 : f.height.value; + + fe = ed.selection.getNode(); + if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(ed.dom.getAttrib(fe, 'class'))) { + switch (f.media_type.options[f.media_type.selectedIndex].value) { + case "flash": + fe.className = "mceItemFlash"; + break; + + case "flv": + fe.className = "mceItemFlashVideo"; + break; + + case "shockwave": + fe.className = "mceItemShockWave"; + break; + + case "qt": + fe.className = "mceItemQuickTime"; + break; + + case "wmp": + fe.className = "mceItemWindowsMedia"; + break; + + case "rmp": + fe.className = "mceItemRealMedia"; + break; + } + + if (fe.width != f.width.value || fe.height != f.height.height) + ed.execCommand('mceRepaint'); + + fe.title = serializeParameters(); + fe.width = f.width.value; + fe.height = f.height.value; + fe.style.width = f.width.value + (f.width.value.indexOf('%') == -1 ? 'px' : ''); + fe.style.height = f.height.value + (f.height.value.indexOf('%') == -1 ? 'px' : ''); + fe.align = f.align.options[f.align.selectedIndex].value; + } else { + h = ' 0) { + var html = ""; + + html += ''; + + return html; + } + + return ""; +} + +function getType(v) { + var fo, i, c, el, x, f = document.forms[0]; + + fo = ed.getParam("media_types", "flash=swf;flv=flv;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';'); + + // YouTube + if (v.match(/watch\?v=(.+)(.*)/)) { + f.width.value = '425'; + f.height.value = '350'; + f.src.value = 'http://www.youtube.com/v/' + v.match(/v=(.*)(.*)/)[0].split('=')[1]; + return 'flash'; + } + + // Google video + if (v.indexOf('http://video.google.com/videoplay?docid=') == 0) { + f.width.value = '425'; + f.height.value = '326'; + f.src.value = 'http://video.google.com/googleplayer.swf?docId=' + v.substring('http://video.google.com/videoplay?docid='.length) + '&hl=en'; + return 'flash'; + } + + for (i=0; i 0 ? s.substring(0, s.length - 1) : s; + + return s; +} + +function setBool(pl, p, n) { + if (typeof(pl[n]) == "undefined") + return; + + document.forms[0].elements[p + "_" + n].checked = pl[n]; +} + +function setStr(pl, p, n) { + var f = document.forms[0], e = f.elements[(p != null ? p + "_" : '') + n]; + + if (typeof(pl[n]) == "undefined") + return; + + if (e.type == "text") + e.value = pl[n]; + else + selectByValue(f, (p != null ? p + "_" : '') + n, pl[n]); +} + +function getBool(p, n, d, tv, fv) { + var v = document.forms[0].elements[p + "_" + n].checked; + + tv = typeof(tv) == 'undefined' ? 'true' : "'" + jsEncode(tv) + "'"; + fv = typeof(fv) == 'undefined' ? 'false' : "'" + jsEncode(fv) + "'"; + + return (v == d) ? '' : n + (v ? ':' + tv + ',' : ':' + fv + ','); +} + +function getStr(p, n, d) { + var e = document.forms[0].elements[(p != null ? p + "_" : "") + n]; + var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value; + + if (n == 'src') + v = tinyMCEPopup.editor.convertURL(v, 'src', null); + + return ((n == d || v == '') ? '' : n + ":'" + jsEncode(v) + "',"); +} + +function getInt(p, n, d) { + var e = document.forms[0].elements[(p != null ? p + "_" : "") + n]; + var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value; + + return ((n == d || v == '') ? '' : n + ":" + v.replace(/[^0-9]+/g, '') + ","); +} + +function jsEncode(s) { + s = s.replace(new RegExp('\\\\', 'g'), '\\\\'); + s = s.replace(new RegExp('"', 'g'), '\\"'); + s = s.replace(new RegExp("'", 'g'), "\\'"); + + return s; +} + +function generatePreview(c) { + var f = document.forms[0], p = document.getElementById('prev'), h = '', cls, pl, n, type, codebase, wp, hp, nw, nh; + + p.innerHTML = ''; + + nw = parseInt(f.width.value); + nh = parseInt(f.height.value); + + if (f.width.value != "" && f.height.value != "") { + if (f.constrain.checked) { + if (c == 'width' && oldWidth != 0) { + wp = nw / oldWidth; + nh = Math.round(wp * nh); + f.height.value = nh; + } else if (c == 'height' && oldHeight != 0) { + hp = nh / oldHeight; + nw = Math.round(hp * nw); + f.width.value = nw; + } + } + } + + if (f.width.value != "") + oldWidth = nw; + + if (f.height.value != "") + oldHeight = nh; + + // After constrain + pl = serializeParameters(); + + switch (f.media_type.options[f.media_type.selectedIndex].value) { + case "flash": + cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'; + codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0'; + type = 'application/x-shockwave-flash'; + break; + + case "shockwave": + cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000'; + codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0'; + type = 'application/x-director'; + break; + + case "qt": + cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B'; + codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0'; + type = 'video/quicktime'; + break; + + case "wmp": + cls = ed.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6'; + codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; + type = 'application/x-mplayer2'; + break; + + case "rmp": + cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA'; + codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701'; + type = 'audio/x-pn-realaudio-plugin'; + break; + } + + if (pl == '') { + p.innerHTML = ''; + return; + } + + pl = tinyMCEPopup.editor.plugins.media._parse(pl); + + if (!pl.src) { + p.innerHTML = ''; + return; + } + + pl.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(pl.src); + pl.width = !pl.width ? 100 : pl.width; + pl.height = !pl.height ? 100 : pl.height; + pl.id = !pl.id ? 'obj' : pl.id; + pl.name = !pl.name ? 'eobj' : pl.name; + pl.align = !pl.align ? '' : pl.align; + + h += ''; + + for (n in pl) { + h += ''; + + // Add extra url parameter if it's an absolute URL + if (n == 'src' && pl[n].indexOf('://') != -1) + h += ''; + } + + h += ' + + + {#media_dlg.title} + + + + + + + + + + +
    + + +
    +
    +
    + {#media_dlg.general} + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + +
     
    +
     
    + + + + + + +
    x   
    +
    +
    + +
    + {#media_dlg.preview} + +
    +
    + +
    +
    + {#media_dlg.advanced} + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + + +
     
    +
    +
    + +
    + {#media_dlg.flash_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + + + + + + + +
    +
    + +
    + {#media_dlg.flv_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    +
    + +
    + {#media_dlg.qt_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    +  
    + + + + + +
     
    +
    +
    + +
    + {#media_dlg.wmp_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    +
    + +
    + {#media_dlg.rmp_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    +   +
    +
    + +
    + {#media_dlg.shockwave_options} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    + + + + + +
    +
    +
    +
    +
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/editor_plugin.js new file mode 100644 index 0000000000..c9b517f6dd --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.MoodleImagePlugin',{init:function(ed,url){course_id=tinyMCE.activeEditor.getParam('moodleimage_course_id');ed.addCommand('mceMoodleImage',function(){ed.windowManager.open({file:url+'/insert_image.php?id='+course_id,width:600+ed.getLang('example.delta_width',0),height:500+ed.getLang('example.delta_height',0),inline:1},{plugin_url:url,some_custom_arg:'custom arg'});});ed.addButton('moodleimage',{title:'Insert Image',cmd:'mceMoodleImage',image:url+'/img/image.gif'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('moodleimage',n.nodeName=='IMG');});},createControl:function(n,cm){return null;},getInfo:function(){return{longname:'Moodle Image plugin',author:'Glen Davies',authorurl:'http://www.canterbury.ac.nz',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example',version:"1.0"};}});tinymce.PluginManager.add('moodleimage',tinymce.plugins.MoodleImagePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/editor_plugin_src.js new file mode 100644 index 0000000000..ad53c440b4 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/editor_plugin_src.js @@ -0,0 +1,78 @@ +(function() { + // Load plugin specific language pack + //tinymce.PluginManager.requireLangPack('example'); + + tinymce.create('tinymce.plugins.MoodleImagePlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + course_id = tinyMCE.activeEditor.getParam('moodleimage_course_id'); + ed.addCommand('mceMoodleImage', function() { + ed.windowManager.open({ + + file : url + '/insert_image.php?id=' + course_id, + //file : '/moodle/lib/editor/htmlarea/popups/insert_image.php?id=' + course_id, + width : 600 + ed.getLang('example.delta_width', 0), + height : 500 + ed.getLang('example.delta_height', 0), + inline : 1 + }, { + plugin_url : url, // Plugin absolute URL + some_custom_arg : 'custom arg' // Custom argument + }); + }); + + // Register example button + ed.addButton('moodleimage', { + title : 'Insert Image', + cmd : 'mceMoodleImage', + image : url + '/img/image.gif' + }); + + + // Add a node change handler, selects the button in the UI when a image is selected + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('moodleimage', n.nodeName == 'IMG'); + }); + }, + + /** + * Creates control instances based in the incomming name. This method is normally not + * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons + * but you sometimes need to create more complex controls like listboxes, split buttons etc then this + * method can be used to create those. + * + * @param {String} n Name of the control to create. + * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control. + * @return {tinymce.ui.Control} New control instance or null if no control was created. + */ + createControl : function(n, cm) { + return null; + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Moodle Image plugin', + author : 'Glen Davies', + authorurl : 'http://www.canterbury.ac.nz', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example', + version : "1.0" + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('moodleimage', tinymce.plugins.MoodleImagePlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/img/image.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/img/image.gif new file mode 100644 index 0000000000000000000000000000000000000000..41d1d6e652994d02050ce197e5aad1b87a7474b0 GIT binary patch literal 156 zcmZ?wbhEHbwo;Bz6r~CIG{Qv)-0R!lO zL_m5OSON`BdS+W$yw)+dY*|=(BV5F#D?z1j-@)T?529HPSDei6I?wL1sz5@Zr-dPD sQV_2IQ_Dst500LuDXmHjIl|k79R#MC1mAoUX>?%c?Sebsr5PEl0hlv17XSbN literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/insert_image.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/insert_image.php new file mode 100644 index 0000000000..c3fb9aebce --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/insert_image.php @@ -0,0 +1,294 @@ +maxbytes); + +?> + + + + +{#moodleimage_dlg.title} + + + + + + + + + + +
    + + + + + + + + + + + +
    : +
    : +
    +
    + + + + + + +
    +
    +
    + + + + + + + + + +
    : +
    : +
    +
     
    +
    +
    + + + + + + + + + +
    : + +
    : +
    +
    +
    + + + + + + + + + +
    : + +
    : + + +
    +
    + + + + + +
    "; + echo ""; + ?> + :
    + +
    + + + + + + + + +
    + + + + + + + +
    :
    + " onclick="return submit_form('delete');" />
    + " onclick="return submit_form('move');" />
    + " onclick="return submit_form('zip');" />
    + + + + + + " />
    +
    + +
    + +
    +
    +   : + + : +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + + + + + + + " /> + +
    +
    +

     

    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/js/image.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/js/image.js new file mode 100644 index 0000000000..9a26c0aeb5 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/js/image.js @@ -0,0 +1,414 @@ +var ImageDialog = { + preInit : function() { + var url; + + tinyMCEPopup.requireLangPack(); + + if (url = tinyMCEPopup.getParam("external_image_list_url")) + document.write(''); + }, + + init : function(ed) { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode(); + + tinyMCEPopup.resizeToInnerSize(); + this.fillClassList('class_list'); + this.fillFileList('src_list', 'tinyMCEImageList'); + this.fillFileList('over_list', 'tinyMCEImageList'); + this.fillFileList('out_list', 'tinyMCEImageList'); + + if (n.nodeName == 'IMG') { + nl.src.value = dom.getAttrib(n, 'src'); + nl.width.value = dom.getAttrib(n, 'width'); + nl.height.value = dom.getAttrib(n, 'height'); + nl.alt.value = dom.getAttrib(n, 'alt'); + nl.title.value = dom.getAttrib(n, 'title'); + nl.vspace.value = this.getAttrib(n, 'vspace'); + nl.hspace.value = this.getAttrib(n, 'hspace'); + nl.border.value = this.getAttrib(n, 'border'); + selectByValue(f, 'align', this.getAttrib(n, 'align')); + selectByValue(f, 'class_list', dom.getAttrib(n, 'class')); + nl.style.value = dom.getAttrib(n, 'style'); + nl.id.value = dom.getAttrib(n, 'id'); + nl.dir.value = dom.getAttrib(n, 'dir'); + nl.lang.value = dom.getAttrib(n, 'lang'); + nl.usemap.value = dom.getAttrib(n, 'usemap'); + nl.longdesc.value = dom.getAttrib(n, 'longdesc'); + nl.insert.value = ed.getLang('update'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseover'))) + nl.onmouseoversrc.value = dom.getAttrib(n, 'onmouseover').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + + if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseout'))) + nl.onmouseoutsrc.value = dom.getAttrib(n, 'onmouseout').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1'); + } + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoversrccontainer').innerHTML = getBrowserHTML('overbrowser','onmouseoversrc','image','theme_advanced_image'); + if (isVisible('overbrowser')) + document.getElementById('onmouseoversrc').style.width = '260px'; + + // Setup browse button + document.getElementById('onmouseoutsrccontainer').innerHTML = getBrowserHTML('outbrowser','onmouseoutsrc','image','theme_advanced_image'); + if (isVisible('outbrowser')) + document.getElementById('onmouseoutsrc').style.width = '260px'; + + // If option enabled default contrain proportions to checked + if (ed.getParam("advimage_constrain_proportions", true)) + f.constrain.checked = true; + + // Check swap image if valid data + if (nl.onmouseoversrc.value || nl.onmouseoutsrc.value) + this.setSwapImage(true); + else + this.setSwapImage(false); + + this.changeAppearance(); + this.updateStyle(); + this.showPreviewImage(nl.src.value, 1); + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, t = this, f = document.forms[0]; + + if (f.src.value === '') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + tinyMCEPopup.close(); + return; + } + + if (tinyMCEPopup.getParam("accessibility_warnings", 1)) { + if (!f.alt.value) { + tinyMCEPopup.editor.windowManager.confirm(tinyMCEPopup.getLang('advimage_dlg.missing_alt'), function(s) { + if (s) + t.insertAndClose(); + }); + + return; + } + } + + t.insertAndClose(); + }, + + insertAndClose : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el; + + // Fixes crash in Safari + if (tinymce.isWebKit) + ed.getWin().focus(); + + if (!ed.settings.inline_styles) { + args = tinymce.extend(args, { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }); + } + + tinymce.extend(args, { + src : nl.src.value, + width : nl.width.value, + height : nl.height.value, + alt : nl.alt.value, + title : nl.title.value, + 'class' : getSelectValue(f, 'class_list'), + style : nl.style.value, + id : nl.id.value, + dir : nl.dir.value, + lang : nl.lang.value, + usemap : nl.usemap.value, + longdesc : nl.longdesc.value + }); + + args.onmouseover = args.onmouseout = ''; + + if (f.onmousemovecheck.checked) { + if (nl.onmouseoversrc.value) + args.onmouseover = "this.src='" + nl.onmouseoversrc.value + "';"; + + if (nl.onmouseoutsrc.value) + args.onmouseout = "this.src='" + nl.onmouseoutsrc.value + "';"; + } + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, ''); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + } + + tinyMCEPopup.close(); + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + setSwapImage : function(st) { + var f = document.forms[0]; + + f.onmousemovecheck.checked = st; + setBrowserDisabled('overbrowser', !st); + setBrowserDisabled('outbrowser', !st); + + if (f.over_list) + f.over_list.disabled = !st; + + if (f.out_list) + f.out_list.disabled = !st; + + f.onmouseoversrc.disabled = !st; + f.onmouseoutsrc.disabled = !st; + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.elements.width.value = f.elements.height.value = ''; + }, + + updateImageData : function(img, st) { + var f = document.forms[0]; + + if (!st) { + f.elements.width.value = img.width; + f.elements.height.value = img.height; + } + + this.preloadImg = img; + }, + + changeAppearance : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], img = document.getElementById('alignSampleImg'); + + if (img) { + if (ed.getParam('inline_styles')) { + ed.dom.setAttrib(img, 'style', f.style.value); + } else { + img.align = f.align.value; + img.border = f.border.value; + img.hspace = f.hspace.value; + img.vspace = f.vspace.value; + } + } + }, + + changeHeight : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + t.updateStyle(); + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height; + f.height.value = tp.toFixed(0); + t.updateStyle(); + }, + + changeWidth : function() { + var f = document.forms[0], tp, t = this; + + if (!f.constrain.checked || !t.preloadImg) { + t.updateStyle(); + return; + } + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width; + f.width.value = tp.toFixed(0); + t.updateStyle(); + }, + + updateStyle : function() { + var dom = tinyMCEPopup.dom, st, v, f = document.forms[0]; + + if (tinyMCEPopup.editor.settings.inline_styles) { + st = tinyMCEPopup.dom.parseStyle(dom.get('style').value); + + // Handle align + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') { + st['float'] = v; + delete st['vertical-align']; + } else { + st['vertical-align'] = v; + delete st['float']; + } + } else { + delete st['float']; + delete st['vertical-align']; + } + + // Handle border + v = f.border.value; + if (v || v == '0') { + if (v == '0') + st['border'] = '0'; + else + st['border'] = v + 'px solid black'; + } else + delete st['border']; + + // Handle hspace + v = f.hspace.value; + if (v) { + delete st['margin']; + st['margin-left'] = v + 'px'; + st['margin-right'] = v + 'px'; + } else { + delete st['margin-left']; + delete st['margin-right']; + } + + // Handle vspace + v = f.vspace.value; + if (v) { + delete st['margin']; + st['margin-top'] = v + 'px'; + st['margin-bottom'] = v + 'px'; + } else { + delete st['margin-top']; + delete st['margin-bottom']; + } + + // Merge + st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st)); + dom.get('style').value = dom.serializeStyle(st); + } + }, + + changeMouseMove : function() { + }, + + showPreviewImage : function(u, st) { + if (!u) { + tinyMCEPopup.dom.setHTML('prev', ''); + return; + } + + if (!st && tinyMCEPopup.getParam("advimage_update_dimensions_onchange", true)) + this.resetImageData(); + + u = tinyMCEPopup.editor.documentBaseURI.toAbsolute(u); + + if (!st) + tinyMCEPopup.dom.setHTML('prev', ''); + else + tinyMCEPopup.dom.setHTML('prev', ''); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/js/moodleimage.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/js/moodleimage.js new file mode 100644 index 0000000000..03b1d2cb42 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/js/moodleimage.js @@ -0,0 +1,171 @@ +tinyMCEPopup.requireLangPack(); + +var MoodleImageDialog = { + init : function(ed) { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode(); + course_id = tinyMCEPopup.getParam('moodleimage_course_id'); + tinyMCEPopup.resizeToInnerSize(); + if (n.nodeName == 'IMG') { + nl.f_url.value = dom.getAttrib(n, 'src'); + nl.f_width.value = dom.getAttrib(n, 'width'); + nl.f_height.value = dom.getAttrib(n, 'height'); + nl.f_alt.value = dom.getAttrib(n, 'alt'); + nl.f_vert.value = this.getAttrib(n, 'vspace'); + nl.f_horiz.value = this.getAttrib(n, 'hspace'); + nl.f_border.value = this.getAttrib(n, 'border'); + selectByValue(f, 'f_align', this.getAttrib(n, 'align')); + window.ipreview.location.replace('preview.php?id='+ course_id +'&imageurl='+ nl.f_url.value); + } + + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, t = this, f = document.forms[0]; + + if (f.f_url.value === '') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + tinyMCEPopup.close(); + return; + } + + if (tinyMCEPopup.getParam("accessibility_warnings", 1)) { + if (!f.f_alt.value) { + tinyMCEPopup.editor.windowManager.confirm(tinyMCEPopup.getLang('moodleimage_dlg.missing_alt'), function(s) { + if (s) + t.insertAndClose(); + }); + + return; + } + } + + t.insertAndClose(); + }, + + insertAndClose : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el; + + // Fixes crash in Safari + if (tinymce.isWebKit) + ed.getWin().focus(); + + tinymce.extend(args, { + src : nl.f_url.value, + width : nl.f_width.value, + height : nl.f_height.value, + alt : nl.f_alt.value, + vspace : nl.f_vert.value, + hspace : nl.f_horiz.value, + border : nl.f_border.value, + align : getSelectValue(f, 'f_align') + }); + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, ''); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + } + + tinyMCEPopup.close(); + }, + + changeHeight : function() { + var f = document.forms[0], tp, t = this; + + //if (!f.constrain.checked || !t.preloadImg) { + //t.updateStyle(); + //return; + //} + + if (f.width.value == "" || f.height.value == "") + return; + + tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height; + f.height.value = tp.toFixed(0); + //t.updateStyle(); + }, + + changeWidth : function() { + var f = document.forms[0], tp, t = this; + + //if (!f.constrain.checked || !t.preloadImg) { + //t.updateStyle(); + //return; + //} + + if (f.f_width.value == "" || f.f_height.value == "") + return; + + tp = (parseInt(f.f_height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width; + f.width.value = tp.toFixed(0); + //t.updateStyle(); + }, + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + } + + +}; + + +tinyMCEPopup.onInit.add(MoodleImageDialog.init, MoodleImageDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/langs/en_dlg.js new file mode 100644 index 0000000000..4627138574 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/langs/en_dlg.js @@ -0,0 +1,4 @@ +tinyMCE.addI18n('en.moodleimage_dlg',{ +title:"Insert Image", +missing_alt:"Are you sure you want to continue without including an Alternate Text? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off." +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/preview.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/preview.php new file mode 100644 index 0000000000..8213a2fa0e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodleimage/preview.php @@ -0,0 +1,31 @@ +'); + +?> + + + +<?php echo get_string('preview') ?> + + + + + + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/editor_plugin.js new file mode 100644 index 0000000000..bb41b19d57 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.MoodleLinkPlugin',{init:function(ed,url){course_id=tinyMCE.activeEditor.getParam('moodleimage_course_id');ed.addCommand('mceMoodleLink',function(){ed.windowManager.open({file:url+'/link.php?id='+course_id,width:600+ed.getLang('example.delta_width',0),height:500+ed.getLang('example.delta_height',0),inline:1},{plugin_url:url,some_custom_arg:'custom arg'});});ed.addButton('moodlelink',{title:'Insert Link',cmd:'mceMoodleLink',image:url+'/img/link.gif'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('moodlelink',n.nodeName=='IMG');});},createControl:function(n,cm){return null;},getInfo:function(){return{longname:'Moodle Link plugin',author:'Glen Davies',authorurl:'http://www.canterbury.ac.nz',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example',version:"1.0"};}});tinymce.PluginManager.add('moodlelink',tinymce.plugins.MoodleLinkPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/editor_plugin_src.js new file mode 100644 index 0000000000..194d93aff1 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/editor_plugin_src.js @@ -0,0 +1,78 @@ +(function() { + // Load plugin specific language pack + //tinymce.PluginManager.requireLangPack('example'); + + tinymce.create('tinymce.plugins.MoodleLinkPlugin', { + /** + * Initializes the plugin, this will be executed after the plugin has been created. + * This call is done before the editor instance has finished it's initialization so use the onInit event + * of the editor instance to intercept that event. + * + * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in. + * @param {string} url Absolute URL to where the plugin is located. + */ + init : function(ed, url) { + // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample'); + course_id = tinyMCE.activeEditor.getParam('moodleimage_course_id'); + ed.addCommand('mceMoodleLink', function() { + ed.windowManager.open({ + + file : url + '/link.php?id=' + course_id, + //file : '/moodle/lib/editor/htmlarea/popups/insert_image.php?id=' + course_id, + width : 600 + ed.getLang('example.delta_width', 0), + height : 500 + ed.getLang('example.delta_height', 0), + inline : 1 + }, { + plugin_url : url, // Plugin absolute URL + some_custom_arg : 'custom arg' // Custom argument + }); + }); + + // Register example button + ed.addButton('moodlelink', { + title : 'Insert Link', + cmd : 'mceMoodleLink', + image : url + '/img/link.gif' + }); + + + // Add a node change handler, selects the button in the UI when a image is selected + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('moodlelink', n.nodeName == 'IMG'); + }); + }, + + /** + * Creates control instances based in the incomming name. This method is normally not + * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons + * but you sometimes need to create more complex controls like listboxes, split buttons etc then this + * method can be used to create those. + * + * @param {String} n Name of the control to create. + * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control. + * @return {tinymce.ui.Control} New control instance or null if no control was created. + */ + createControl : function(n, cm) { + return null; + }, + + /** + * Returns information about the plugin as a name/value array. + * The current keys are longname, author, authorurl, infourl and version. + * + * @return {Object} Name/value array containing information about the plugin. + */ + getInfo : function() { + return { + longname : 'Moodle Link plugin', + author : 'Glen Davies', + authorurl : 'http://www.canterbury.ac.nz', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example', + version : "1.0" + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('moodlelink', tinymce.plugins.MoodleLinkPlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/img/browse.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/img/browse.gif new file mode 100644 index 0000000000000000000000000000000000000000..30fda6fc2cf926e94323a1033326fa552824a343 GIT binary patch literal 428 zcmZ?wbhEHbG-nWGxXJ(m9t;d6FuH`n!-Juu1c*F5N=i!RlrYTk@YrACF~_51e@V&y z{U!J3c-)^;@_#>2;T(pN{T?23ppyIdd(63C0z~`&H#9WtzdvWr{r&s@@4tV4&VL~K zzkkmC|NH;{zYm1}?*lOqfGww#&;c0$@(TmoMTfou4;`ug6H6vFXIag^u%g6kF4yWC zYr?ATR_%{btKfO(=FHeo<(xNr;lfj#qVu<(ezaLeb>R_F7L^Q!#!^K#6*XQJfh=M5 zW@hEkeE(*KNf|jxOgRD~O6)zH(n?|q9U6S{i%P1)DhsL$6*h0~;8Et26;~9W(^!(3 zb#Oy)sm4OtZN=?95@M>n{5dC?SWcHkO!YeG0ZX%`sQTr=vj8+1y*nYfgj;2ZJ>LZF`fl literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/img/link.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/img/link.gif new file mode 100644 index 0000000000000000000000000000000000000000..76fd537daddf5e13ab7d7f022e92bf6acd2cbb96 GIT binary patch literal 78 zcmZ?wbhEHb6k-r!n90oW|Nnmm28M=)1|UQ6CkrEx!=S^+z{()Nz|O$HB;V4+F+oG@ gScJ|w(Q`RA4_-uGIT#YZ+~CQJ0Ie%?av2${0l0V?iU0rr literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/js/moodlelink.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/js/moodlelink.js new file mode 100644 index 0000000000..aa8befb62b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/js/moodlelink.js @@ -0,0 +1,71 @@ +tinyMCEPopup.requireLangPack(); + +var MoodleLinkDialog = { + init : function(ed) { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode(); + tinyMCEPopup.resizeToInnerSize(); + + }, + + insert : function(file, title) { + var ed = tinyMCEPopup.editor, t = this, f = document.forms[0]; + + if (f.f_url.value === '') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + tinyMCEPopup.close(); + return; + } + + if (tinyMCEPopup.getParam("accessibility_warnings", 1)) { + if (!f.f_alt.value) { + tinyMCEPopup.editor.windowManager.confirm(tinyMCEPopup.getLang('moodleimage_dlg.missing_alt'), function(s) { + if (s) + t.insertAndClose(); + }); + + return; + } + } + + t.insertAndClose(); + }, + + insertAndClose : function() { + var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el; + + // Fixes crash in Safari + if (tinymce.isWebKit) + ed.getWin().focus(); + + tinymce.extend(args, { + src : nl.f_url.value, + width : nl.f_width.value, + height : nl.f_height.value, + alt : nl.f_alt.value, + vspace : nl.f_vert.value, + hspace : nl.f_horiz.value, + border : nl.f_border.value, + align : getSelectValue(f, 'f_align') + }); + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, ''); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + } + + tinyMCEPopup.close(); + } + + + + +}; + + +tinyMCEPopup.onInit.add(MoodleLinkDialog.init, MoodleLinkDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/langs/en_dlg.js new file mode 100644 index 0000000000..87937b47d2 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/langs/en_dlg.js @@ -0,0 +1,3 @@ +tinyMCE.addI18n('en.moodlelink_dlg',{ +title:"Choose file to link" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/link.php b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/link.php new file mode 100644 index 0000000000..d255af8fd3 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/moodlelink/link.php @@ -0,0 +1,181 @@ + + + + +<?php print_string("insertlink","editor");?> + + + + + + + + + + + + + +
    + + +
    + ": + ""; ?> +

    +

    +
    +
     
    + + + + + +
    + + + + + + + +
    :
    + " onclick="return submit_form('delete');" />
    + " onclick="return submit_form('move');" />
    + " onclick="return submit_form('zip');" />
    + + + + + + " />
    +
    + +
    + + + + +
    +
    + + + + + + " onclick="return checkvalue('foldername','cfolder');" /> +
    +
    + + + + + + + " /> + + +
    + +
    +

     

    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js new file mode 100644 index 0000000000..4fce503c15 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.Nonbreaking',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceNonBreaking',function(){ed.execCommand('mceInsertContent',false,(ed.plugins.visualchars&&ed.plugins.visualchars.state)?'·':' ');});ed.addButton('nonbreaking',{title:'nonbreaking.nonbreaking_desc',cmd:'mceNonBreaking'});if(ed.getParam('nonbreaking_force_tab')){ed.onKeyDown.add(function(ed,e){if(tinymce.isIE&&e.keyCode==9){ed.execCommand('mceNonBreaking');ed.execCommand('mceNonBreaking');ed.execCommand('mceNonBreaking');tinymce.dom.Event.cancel(e);}});}},getInfo:function(){return{longname:'Nonbreaking space',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('nonbreaking',tinymce.plugins.Nonbreaking);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js new file mode 100644 index 0000000000..e29c0b4ce8 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js @@ -0,0 +1,50 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.Nonbreaking', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceNonBreaking', function() { + ed.execCommand('mceInsertContent', false, (ed.plugins.visualchars && ed.plugins.visualchars.state) ? '·' : ' '); + }); + + // Register buttons + ed.addButton('nonbreaking', {title : 'nonbreaking.nonbreaking_desc', cmd : 'mceNonBreaking'}); + + if (ed.getParam('nonbreaking_force_tab')) { + ed.onKeyDown.add(function(ed, e) { + if (tinymce.isIE && e.keyCode == 9) { + ed.execCommand('mceNonBreaking'); + ed.execCommand('mceNonBreaking'); + ed.execCommand('mceNonBreaking'); + tinymce.dom.Event.cancel(e); + } + }); + } + }, + + getInfo : function() { + return { + longname : 'Nonbreaking space', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + + // Private methods + }); + + // Register plugin + tinymce.PluginManager.add('nonbreaking', tinymce.plugins.Nonbreaking); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js new file mode 100644 index 0000000000..489a174085 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js @@ -0,0 +1 @@ +(function(){var Event=tinymce.dom.Event;tinymce.create('tinymce.plugins.NonEditablePlugin',{init:function(ed,url){var t=this,editClass,nonEditClass;t.editor=ed;editClass=ed.getParam("noneditable_editable_class","mceEditable");nonEditClass=ed.getParam("noneditable_noneditable_class","mceNonEditable");ed.onNodeChange.addToTop(function(ed,cm,n){var sc,ec;sc=ed.dom.getParent(ed.selection.getStart(),function(n){return ed.dom.hasClass(n,nonEditClass);});ec=ed.dom.getParent(ed.selection.getEnd(),function(n){return ed.dom.hasClass(n,nonEditClass);});if(sc||ec){t._setDisabled(1);return false;}else t._setDisabled(0);});},getInfo:function(){return{longname:'Non editable elements',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_block:function(ed,e){return Event.cancel(e);},_setDisabled:function(s){var t=this,ed=t.editor;tinymce.each(ed.controlManager.controls,function(c){c.setDisabled(s);});if(s!==t.disabled){if(s){ed.onKeyDown.addToTop(t._block);ed.onKeyPress.addToTop(t._block);ed.onKeyUp.addToTop(t._block);ed.onPaste.addToTop(t._block);}else{ed.onKeyDown.remove(t._block);ed.onKeyPress.remove(t._block);ed.onKeyUp.remove(t._block);ed.onPaste.remove(t._block);}t.disabled=s;}}});tinymce.PluginManager.add('noneditable',tinymce.plugins.NonEditablePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js new file mode 100644 index 0000000000..9fa0364a42 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js @@ -0,0 +1,81 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var Event = tinymce.dom.Event; + + tinymce.create('tinymce.plugins.NonEditablePlugin', { + init : function(ed, url) { + var t = this, editClass, nonEditClass; + + t.editor = ed; + editClass = ed.getParam("noneditable_editable_class", "mceEditable"); + nonEditClass = ed.getParam("noneditable_noneditable_class", "mceNonEditable"); + + ed.onNodeChange.addToTop(function(ed, cm, n) { + var sc, ec; + + // Block if start or end is inside a non editable element + sc = ed.dom.getParent(ed.selection.getStart(), function(n) { + return ed.dom.hasClass(n, nonEditClass); + }); + + ec = ed.dom.getParent(ed.selection.getEnd(), function(n) { + return ed.dom.hasClass(n, nonEditClass); + }); + + // Block or unblock + if (sc || ec) { + t._setDisabled(1); + return false; + } else + t._setDisabled(0); + }); + }, + + getInfo : function() { + return { + longname : 'Non editable elements', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _block : function(ed, e) { + return Event.cancel(e); + }, + + _setDisabled : function(s) { + var t = this, ed = t.editor; + + tinymce.each(ed.controlManager.controls, function(c) { + c.setDisabled(s); + }); + + if (s !== t.disabled) { + if (s) { + ed.onKeyDown.addToTop(t._block); + ed.onKeyPress.addToTop(t._block); + ed.onKeyUp.addToTop(t._block); + ed.onPaste.addToTop(t._block); + } else { + ed.onKeyDown.remove(t._block); + ed.onKeyPress.remove(t._block); + ed.onKeyUp.remove(t._block); + ed.onPaste.remove(t._block); + } + + t.disabled = s; + } + } + }); + + // Register plugin + tinymce.PluginManager.add('noneditable', tinymce.plugins.NonEditablePlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css new file mode 100644 index 0000000000..c949d58cc4 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css @@ -0,0 +1 @@ +.mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../img/pagebreak.gif) no-repeat center top;} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js new file mode 100644 index 0000000000..c6cb710fb7 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.PageBreakPlugin',{init:function(ed,url){var pb='',cls='mcePageBreak',sep=ed.getParam('pagebreak_separator',''),pbRE;pbRE=new RegExp(sep.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(a){return'\\'+a;}),'g');ed.addCommand('mcePageBreak',function(){ed.execCommand('mceInsertContent',0,pb);});ed.addButton('pagebreak',{title:'pagebreak.desc',cmd:cls});ed.onInit.add(function(){ed.dom.loadCSS(url+"/css/content.css");if(ed.theme.onResolveName){ed.theme.onResolveName.add(function(th,o){if(o.node.nodeName=='IMG'&&ed.dom.hasClass(o.node,cls))o.name='pagebreak';});}});ed.onClick.add(function(ed,e){e=e.target;if(e.nodeName==='IMG'&&ed.dom.hasClass(e,cls))ed.selection.select(e);});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('pagebreak',n.nodeName==='IMG'&&ed.dom.hasClass(n,cls));});ed.onBeforeSetContent.add(function(ed,o){o.content=o.content.replace(pbRE,pb);});ed.onPostProcess.add(function(ed,o){if(o.get)o.content=o.content.replace(/]+>/g,function(im){if(im.indexOf('class="mcePageBreak')!==-1)im=sep;return im;});});},getInfo:function(){return{longname:'PageBreak',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('pagebreak',tinymce.plugins.PageBreakPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js new file mode 100644 index 0000000000..d846879d82 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js @@ -0,0 +1,73 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.PageBreakPlugin', { + init : function(ed, url) { + var pb = '', cls = 'mcePageBreak', sep = ed.getParam('pagebreak_separator', ''), pbRE; + + pbRE = new RegExp(sep.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function(a) {return '\\' + a;}), 'g'); + + // Register commands + ed.addCommand('mcePageBreak', function() { + ed.execCommand('mceInsertContent', 0, pb); + }); + + // Register buttons + ed.addButton('pagebreak', {title : 'pagebreak.desc', cmd : cls}); + + ed.onInit.add(function() { + ed.dom.loadCSS(url + "/css/content.css"); + + if (ed.theme.onResolveName) { + ed.theme.onResolveName.add(function(th, o) { + if (o.node.nodeName == 'IMG' && ed.dom.hasClass(o.node, cls)) + o.name = 'pagebreak'; + }); + } + }); + + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName === 'IMG' && ed.dom.hasClass(e, cls)) + ed.selection.select(e); + }); + + ed.onNodeChange.add(function(ed, cm, n) { + cm.setActive('pagebreak', n.nodeName === 'IMG' && ed.dom.hasClass(n, cls)); + }); + + ed.onBeforeSetContent.add(function(ed, o) { + o.content = o.content.replace(pbRE, pb); + }); + + ed.onPostProcess.add(function(ed, o) { + if (o.get) + o.content = o.content.replace(/]+>/g, function(im) { + if (im.indexOf('class="mcePageBreak') !== -1) + im = sep; + + return im; + }); + }); + }, + + getInfo : function() { + return { + longname : 'PageBreak', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('pagebreak', tinymce.plugins.PageBreakPlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif new file mode 100644 index 0000000000000000000000000000000000000000..acdf4085f3068c4c0a1d6855f4b80dae8bac3068 GIT binary patch literal 325 zcmV-L0lNN2Nk%w1VPpUd0J9GO`>v<{=;ru;boX6P{`2zsmyZ3>&HK5t_;hIbi-G;z z+4`cI{KdfcXj}GCLjV8&A^8LW000jFEC2ui0Av6R000E?@X1N5y*TU5yZ>M)j$|1M z4Ouvb$pHu>IW8BZq|n;U0s@T!VM5~w1_+1X!EiVl!&PITYdjT!ffYfpt{jAfv%qvh zA63WUHSlr7LkeyaV4(pM0f50(II?RD4RtMg4-E+tFhdAy5{3c=0}3Bg9Y8`B2To20 zR%SO62L%9}0H+dzoKB$+2TOwzUrwi{XiBM^4V#>63q3!LsU3u93zH8CdwqY%62;1g z0g8ze$k93lWExp`CUe|K4qOWk17ZeJ0|5pDP6+}};{>bI@lOWj=kf}r2sHp7w9-Ie XK%9UG6W(*AX-vY05F<*&5CH%?Gwy&_ literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif new file mode 100644 index 0000000000000000000000000000000000000000..388486517fa8da13ebd150e8f65d5096c3e10c3a GIT binary patch literal 43 ncmZ?wbhEHbWMp7un7{x9ia%KxMSyG_5FaGNz{KRj$Y2csb)f_x literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm new file mode 100644 index 0000000000..7ba26bd656 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/blank.htm @@ -0,0 +1,22 @@ + + +blank_page + + + + + + + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css new file mode 100644 index 0000000000..6b16bac25a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/blank.css @@ -0,0 +1,14 @@ +html, body {height:98%} +body { +background-color: #FFFFFF; +font-family: Verdana, Arial, Helvetica, sans-serif; +font-size: 10px; +scrollbar-3dlight-color: #F0F0EE; +scrollbar-arrow-color: #676662; +scrollbar-base-color: #F0F0EE; +scrollbar-darkshadow-color: #DDDDDD; +scrollbar-face-color: #E0E0DD; +scrollbar-highlight-color: #F0F0EE; +scrollbar-shadow-color: #F0F0EE; +scrollbar-track-color: #F5F5F5; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css new file mode 100644 index 0000000000..b3be6270bb --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/css/pasteword.css @@ -0,0 +1,3 @@ +.sourceIframe { + border: 1px solid #808080; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js new file mode 100644 index 0000000000..02971208cc --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js @@ -0,0 +1 @@ +(function(){var Event=tinymce.dom.Event;tinymce.create('tinymce.plugins.PastePlugin',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mcePasteText',function(ui,v){if(ui){ed.windowManager.open({file:url+'/pastetext.htm',width:450,height:400,inline:1},{plugin_url:url});}else t._insertText(v.html,v.linebreaks);});ed.addCommand('mcePasteWord',function(ui,v){if(ui){ed.windowManager.open({file:url+'/pasteword.htm',width:450,height:400,inline:1},{plugin_url:url});}else t._insertWordContent(v);});ed.addCommand('mceSelectAll',function(){ed.execCommand('selectall');});ed.addButton('pastetext',{title:'paste.paste_text_desc',cmd:'mcePasteText',ui:true});ed.addButton('pasteword',{title:'paste.paste_word_desc',cmd:'mcePasteWord',ui:true});ed.addButton('selectall',{title:'paste.selectall_desc',cmd:'mceSelectAll'});if(ed.getParam("paste_auto_cleanup_on_paste",false)){ed.onPaste.add(function(ed,e){return t._handlePasteEvent(e)});}if(!tinymce.isIE&&ed.getParam("paste_auto_cleanup_on_paste",false)){ed.onKeyDown.add(function(ed,e){if(e.ctrlKey&&e.keyCode==86){window.setTimeout(function(){ed.execCommand("mcePasteText",true);},1);Event.cancel(e);}});}},getInfo:function(){return{longname:'Paste text/word',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_handlePasteEvent:function(e){var html=this._clipboardHTML(),ed=this.editor,sel=ed.selection,r;if(ed&&(r=sel.getRng())&&r.text.length>0)ed.execCommand('delete');if(html&&html.length>0)ed.execCommand('mcePasteWord',false,html);return Event.cancel(e);},_insertText:function(content,bLinebreaks){if(content&&content.length>0){if(bLinebreaks){if(this.editor.getParam("paste_create_paragraphs",true)){var rl=this.editor.getParam("paste_replace_list",'\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i

    ');content=content.replace(/\r\r/g,'

    ');content=content.replace(/\n\n/g,'

    ');if((pos=content.indexOf('

    '))!=-1){this.editor.execCommand("Delete");var node=this.editor.selection.getNode();var breakElms=[];do{if(node.nodeType==1){if(node.nodeName=="TD"||node.nodeName=="BODY")break;breakElms[breakElms.length]=node;}}while(node=node.parentNode);var before="",after="

    ";before+=content.substring(0,pos);for(var i=0;i";after+="<"+breakElms[(breakElms.length-1)-i].nodeName+">";}before+="

    ";content=before+content.substring(pos+7)+after;}}if(this.editor.getParam("paste_create_linebreaks",true)){content=content.replace(/\r\n/g,'
    ');content=content.replace(/\r/g,'
    ');content=content.replace(/\n/g,'
    ');}}this.editor.execCommand("mceInsertRawHTML",false,content);}},_insertWordContent:function(content){var t=this,ed=t.editor;if(content&&content.length>0){var bull=String.fromCharCode(8226);var middot=String.fromCharCode(183);if(ed.getParam('paste_insert_word_content_callback'))content=ed.execCallback('paste_insert_word_content_callback','before',content);var rl=ed.getParam("paste_replace_list",'\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(',');for(var i=0;i(.*?)<\/p>','gi'),'

    $1

    ');}content=content.replace(new RegExp('tab-stops: list [0-9]+.0pt">','gi'),'">'+"--list--");content=content.replace(new RegExp(bull+"(.*?)
    ","gi"),"

    "+middot+"$1

    ");content=content.replace(new RegExp('','gi'),""+bull);content=content.replace(/<\/o:p>/gi,"");content=content.replace(new RegExp('
    ]*>/gi,"");if(this.editor.getParam("paste_remove_styles",true))content=content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)','gi'),"<$1$3");content=content.replace(/<\/?font[^>]*>/gi,"");switch(this.editor.getParam("paste_strip_class_attributes","all")){case"all":content=content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3");break;case"mso":content=content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)','gi'),"<$1$3");break;}content=content.replace(new RegExp('href="?'+this._reEscape(""+document.location)+'','gi'),'href="'+this.editor.documentBaseURI.getURI());content=content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3");content=content.replace(/<\\?\?xml[^>]*>/gi,"");content=content.replace(/<\/?\w+:[^>]*>/gi,"");content=content.replace(/-- page break --\s*

     <\/p>/gi,"");content=content.replace(/-- page break --/gi,"");if(!this.editor.getParam('force_p_newlines')){content=content.replace('','','gi');content=content.replace('

    ','

    ','gi');}if(!tinymce.isIE&&!this.editor.getParam('force_p_newlines')){content=content.replace(/<\/?p[^>]*>/gi,"");}content=content.replace(/<\/?div[^>]*>/gi,"");if(this.editor.getParam("paste_convert_middot_lists",true)){var div=ed.dom.create("div",null,content);var className=this.editor.getParam("paste_unindented_list_class","unIndentedList");while(this._convertMiddots(div,"--list--"));while(this._convertMiddots(div,middot,className));while(this._convertMiddots(div,bull));content=div.innerHTML;}if(this.editor.getParam("paste_convert_headers_to_strong",false)){content=content.replace(/ <\/h[1-6]>/gi,'

      

    ');content=content.replace(//gi,'

    ');content=content.replace(/<\/h[1-6]>/gi,'

    ');content=content.replace(/ <\/b>/gi,'  ');content=content.replace(/^( )*/gi,'');}content=content.replace(/--list--/gi,"");if(ed.getParam('paste_insert_word_content_callback'))content=ed.execCallback('paste_insert_word_content_callback','after',content);this.editor.execCommand("mceInsertContent",false,content);if(this.editor.getParam('paste_force_cleanup_wordpaste',true)){var ed=this.editor;window.setTimeout(function(){ed.execCommand("mceCleanup");},1);}}},_reEscape:function(s){var l="?.\\*[](){}+^$:";var o="";for(var i=0;i 0) + ed.execCommand('delete'); + + if (html && html.length > 0) + ed.execCommand('mcePasteWord', false, html); + + return Event.cancel(e); + }, + + _insertText : function(content, bLinebreaks) { + if (content && content.length > 0) { + if (bLinebreaks) { + // Special paragraph treatment + if (this.editor.getParam("paste_create_paragraphs", true)) { + var rl = this.editor.getParam("paste_replace_list", '\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(','); + for (var i=0; i

    '); + content = content.replace(/\r\r/g, '

    '); + content = content.replace(/\n\n/g, '

    '); + + // Has paragraphs + if ((pos = content.indexOf('

    ')) != -1) { + this.editor.execCommand("Delete"); + + var node = this.editor.selection.getNode(); + + // Get list of elements to break + var breakElms = []; + + do { + if (node.nodeType == 1) { + // Don't break tables and break at body + if (node.nodeName == "TD" || node.nodeName == "BODY") + break; + + breakElms[breakElms.length] = node; + } + } while(node = node.parentNode); + + var before = "", after = "

    "; + before += content.substring(0, pos); + + for (var i=0; i"; + after += "<" + breakElms[(breakElms.length-1)-i].nodeName + ">"; + } + + before += "

    "; + content = before + content.substring(pos+7) + after; + } + } + + if (this.editor.getParam("paste_create_linebreaks", true)) { + content = content.replace(/\r\n/g, '
    '); + content = content.replace(/\r/g, '
    '); + content = content.replace(/\n/g, '
    '); + } + } + + this.editor.execCommand("mceInsertRawHTML", false, content); + } + }, + + _insertWordContent : function(content) { + var t = this, ed = t.editor; + + if (content && content.length > 0) { + // Cleanup Word content + var bull = String.fromCharCode(8226); + var middot = String.fromCharCode(183); + + if (ed.getParam('paste_insert_word_content_callback')) + content = ed.execCallback('paste_insert_word_content_callback', 'before', content); + + var rl = ed.getParam("paste_replace_list", '\u2122,TM,\u2026,...,\u201c|\u201d,",\u2019,\',\u2013|\u2014|\u2015|\u2212,-').split(','); + for (var i=0; i(.*?)<\/p>', 'gi'), '

    $1

    '); + } + + content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--"); + content = content.replace(new RegExp(bull + "(.*?)
    ", "gi"), "

    " + middot + "$1

    "); + content = content.replace(new RegExp('', 'gi'), "" + bull); // Covert to bull list + content = content.replace(/<\/o:p>/gi, ""); + content = content.replace(new RegExp('
    ]*>/gi, ""); + + if (this.editor.getParam("paste_remove_styles", true)) + content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3"); + + content = content.replace(/<\/?font[^>]*>/gi, ""); + + // Strips class attributes. + switch (this.editor.getParam("paste_strip_class_attributes", "all")) { + case "all": + content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3"); + break; + + case "mso": + content = content.replace(new RegExp('<(\\w[^>]*) class="?mso([^ |>]*)([^>]*)', 'gi'), "<$1$3"); + break; + } + + content = content.replace(new RegExp('href="?' + this._reEscape("" + document.location) + '', 'gi'), 'href="' + this.editor.documentBaseURI.getURI()); + content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3"); + content = content.replace(/<\\?\?xml[^>]*>/gi, ""); + content = content.replace(/<\/?\w+:[^>]*>/gi, ""); + content = content.replace(/-- page break --\s*

     <\/p>/gi, ""); // Remove pagebreaks + content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks + + // content = content.replace(/\/? */gi, "");   + // content = content.replace(/

     <\/p>/gi, ''); + + if (!this.editor.getParam('force_p_newlines')) { + content = content.replace('', '' ,'gi'); + content = content.replace('

    ', '

    ' ,'gi'); + } + + if (!tinymce.isIE && !this.editor.getParam('force_p_newlines')) { + content = content.replace(/<\/?p[^>]*>/gi, ""); + } + + content = content.replace(/<\/?div[^>]*>/gi, ""); + + // Convert all middlot lists to UL lists + if (this.editor.getParam("paste_convert_middot_lists", true)) { + var div = ed.dom.create("div", null, content); + + // Convert all middot paragraphs to li elements + var className = this.editor.getParam("paste_unindented_list_class", "unIndentedList"); + + while (this._convertMiddots(div, "--list--")) ; // bull + while (this._convertMiddots(div, middot, className)) ; // Middot + while (this._convertMiddots(div, bull)) ; // bull + + content = div.innerHTML; + } + + // Replace all headers with strong and fix some other issues + if (this.editor.getParam("paste_convert_headers_to_strong", false)) { + content = content.replace(/ <\/h[1-6]>/gi, '

      

    '); + content = content.replace(//gi, '

    '); + content = content.replace(/<\/h[1-6]>/gi, '

    '); + content = content.replace(/ <\/b>/gi, '  '); + content = content.replace(/^( )*/gi, ''); + } + + content = content.replace(/--list--/gi, ""); // Remove --list-- + + if (ed.getParam('paste_insert_word_content_callback')) + content = ed.execCallback('paste_insert_word_content_callback', 'after', content); + + // Insert cleaned content + this.editor.execCommand("mceInsertContent", false, content); + + if (this.editor.getParam('paste_force_cleanup_wordpaste', true)) { + var ed = this.editor; + + window.setTimeout(function() { + ed.execCommand("mceCleanup"); + }, 1); // Do normal cleanup detached from this thread + } + } + }, + + _reEscape : function(s) { + var l = "?.\\*[](){}+^$:"; + var o = ""; + + for (var i=0; i + + {#paste.paste_text_desc} + + + + + + +
    +
    {#paste.paste_text_desc}
    + +
    + +
    + +
    + +
    {#paste_dlg.text_title}
    + + + +
    +
    + +
    + +
    + +
    +
    +
    + + \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm new file mode 100644 index 0000000000..9e5ab1b5b5 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm @@ -0,0 +1,29 @@ + + + + {#paste.paste_word_desc} + + + + + + +
    +
    {#paste.paste_word_desc}
    + +
    {#paste_dlg.word_title}
    + +
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js new file mode 100644 index 0000000000..766ebf8e85 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.Preview',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mcePreview',t._preview,t);ed.addButton('preview',{title:'preview.preview_desc',cmd:'mcePreview'});},getInfo:function(){return{longname:'Preview',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/preview',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_preview:function(){var ed=this.editor,win,html,c,pos,pos2,css,i,page=ed.getParam("plugin_preview_pageurl",null),w=ed.getParam("plugin_preview_width","550"),h=ed.getParam("plugin_preview_height","600");if(page){ed.windowManager.open({file:ed.getParam("plugin_preview_pageurl",null),width:w,height:h},{resizable:"yes",scrollbars:"yes",inline:1});}else{win=window.open("","mcePreview","menubar=no,toolbar=no,scrollbars=yes,resizable=yes,left=20,top=20,width="+w+",height="+h);html="";c=ed.getContent();pos=c.indexOf('',pos);pos2=c.lastIndexOf('');c=c.substring(pos+1,pos2);}html+=ed.getParam('doctype');html+='';html+='';html+=''+ed.getLang('preview.preview_desc')+'';html+='';html+='';for(i=0;i';html+='';html+='';html+=c;html+='';html+='';win.document.write(html);win.document.close();}},_onLoad:function(w,d){var t=this,nl,i,el=[],sv,ne;t._doc=d;w.writeFlash=t._writeFlash;w.writeShockWave=t._writeShockWave;w.writeQuickTime=t._writeQuickTime;w.writeRealMedia=t._writeRealMedia;w.writeWindowsMedia=t._writeWindowsMedia;w.writeEmbed=t._writeEmbed;nl=d.getElementsByTagName("script");for(i=0;i';for(n in p)h+='';h+='', pos); + pos2 = c.lastIndexOf(''); + c = c.substring(pos + 1, pos2); + } + + html += ed.getParam('doctype'); + html += ''; + html += ''; + html += '' + ed.getLang('preview.preview_desc') + ''; + html += ''; + html += ''; + + for (i=0; i'; + + html += ''; + html += ''; + html += c; + html += ''; + html += ''; + + win.document.write(html); + win.document.close(); + } + }, + + _onLoad : function(w, d) { + var t = this, nl, i, el = [], sv, ne; + + t._doc = d; + w.writeFlash = t._writeFlash; + w.writeShockWave = t._writeShockWave; + w.writeQuickTime = t._writeQuickTime; + w.writeRealMedia = t._writeRealMedia; + w.writeWindowsMedia = t._writeWindowsMedia; + w.writeEmbed = t._writeEmbed; + + nl = d.getElementsByTagName("script"); + for (i=0; i'; + + h += ' + + + + +Example of a custom preview page + + + +Editor contents:
    +
    + +
    + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js new file mode 100644 index 0000000000..f8dc810527 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js @@ -0,0 +1,73 @@ +/** + * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose. + */ + +function writeFlash(p) { + writeEmbed( + 'D27CDB6E-AE6D-11cf-96B8-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'application/x-shockwave-flash', + p + ); +} + +function writeShockWave(p) { + writeEmbed( + '166B1BCA-3F9C-11CF-8075-444553540000', + 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0', + 'application/x-director', + p + ); +} + +function writeQuickTime(p) { + writeEmbed( + '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B', + 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0', + 'video/quicktime', + p + ); +} + +function writeRealMedia(p) { + writeEmbed( + 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA', + 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0', + 'audio/x-pn-realaudio-plugin', + p + ); +} + +function writeWindowsMedia(p) { + p.url = p.src; + writeEmbed( + '6BF52A52-394A-11D3-B153-00C04F79FAA6', + 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701', + 'application/x-mplayer2', + p + ); +} + +function writeEmbed(cls, cb, mt, p) { + var h = '', n; + + h += ''; + + h += ' \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js new file mode 100644 index 0000000000..960fc71725 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js @@ -0,0 +1 @@ +(function(){var Event=tinymce.dom.Event,grep=tinymce.grep,each=tinymce.each,inArray=tinymce.inArray,isOldWebKit=tinymce.isOldWebKit;tinymce.create('tinymce.plugins.Safari',{init:function(ed){var t=this,dom;if(!tinymce.isWebKit)return;t.editor=ed;t.webKitFontSizes=['x-small','small','medium','large','x-large','xx-large','-webkit-xxx-large'];t.namedFontSizes=['xx-small','x-small','small','medium','large','x-large','xx-large'];ed.onKeyUp.add(function(ed,e){var h;if(e.keyCode==46||e.keyCode==8){h=ed.getBody().innerHTML;if(!/<(img|hr)/.test(h)&&tinymce.trim(h.replace(/<[^>]+>/g,'')).length==0)ed.setContent('',{format:'raw'});}});ed.addCommand('FormatBlock',function(u,v){var dom=ed.dom,e=dom.getParent(ed.selection.getNode(),dom.isBlock);if(e)dom.replace(dom.create(v),e,1);else ed.getDoc().execCommand("FormatBlock",false,v);});ed.addCommand('mceInsertContent',function(u,v){ed.getDoc().execCommand("InsertText",false,'mce_marker');ed.getBody().innerHTML=ed.getBody().innerHTML.replace(/mce_marker/g,v+'XX');ed.selection.select(ed.dom.get('_mce_tmp'));ed.getDoc().execCommand("Delete",false,' ');});ed.onKeyPress.add(function(ed,e){if(e.keyCode==13&&(e.shiftKey||ed.settings.force_br_newlines&&ed.selection.getNode().nodeName!='LI')){t._insertBR(ed);Event.cancel(e);}});ed.addQueryValueHandler('FontSize',function(u,v){var e,v;if((e=ed.dom.getParent(ed.selection.getStart(),'span'))&&(v=e.style.fontSize))return tinymce.inArray(t.namedFontSizes,v)+1;if((e=ed.dom.getParent(ed.selection.getEnd(),'span'))&&(v=e.style.fontSize))return tinymce.inArray(t.namedFontSizes,v)+1;return ed.getDoc().queryCommandValue('FontSize');});ed.addQueryValueHandler('FontName',function(u,v){var e,v;if((e=ed.dom.getParent(ed.selection.getStart(),'span'))&&(v=e.style.fontFamily))return v.replace(/, /g,',');if((e=ed.dom.getParent(ed.selection.getEnd(),'span'))&&(v=e.style.fontFamily))return v.replace(/, /g,',');return ed.getDoc().queryCommandValue('FontName');});ed.onClick.add(function(ed,e){e=e.target;if(e.nodeName=='IMG'){t.selElm=e;ed.selection.select(e);}else t.selElm=null;});ed.onBeforeExecCommand.add(function(ed,c,b){var r=t.bookmarkRng;if(r){ed.selection.setRng(r);t.bookmarkRng=null;}});ed.onInit.add(function(){t._fixWebKitSpans();ed.windowManager.onOpen.add(function(){var r=ed.selection.getRng();if(r.startContainer!=ed.getDoc()){t.bookmarkRng=r.cloneRange();}});ed.windowManager.onClose.add(function(){t.bookmarkRng=null;});if(isOldWebKit)t._patchSafari2x(ed);});ed.onSetContent.add(function(){dom=ed.dom;each(['strong','b','em','u','strike','sub','sup','a'],function(v){each(grep(dom.select(v)).reverse(),function(n){var nn=n.nodeName.toLowerCase(),st;if(nn=='a'){if(n.name)dom.replace(dom.create('img',{mce_name:'a',name:n.name,'class':'mceItemAnchor'}),n);return;}switch(nn){case'b':case'strong':if(nn=='b')nn='strong';st='font-weight: bold;';break;case'em':st='font-style: italic;';break;case'u':st='text-decoration: underline;';break;case'sub':st='vertical-align: sub;';break;case'sup':st='vertical-align: super;';break;case'strike':st='text-decoration: line-through;';break;}dom.replace(dom.create('span',{mce_name:nn,style:st,'class':'Apple-style-span'}),n,1);});});});ed.onPreProcess.add(function(ed,o){dom=ed.dom;each(grep(o.node.getElementsByTagName('span')).reverse(),function(n){var v,bg;if(o.get){if(dom.hasClass(n,'Apple-style-span')){bg=n.style.backgroundColor;switch(dom.getAttrib(n,'mce_name')){case'font':if(!ed.settings.convert_fonts_to_spans)dom.setAttrib(n,'style','');break;case'strong':case'em':case'sub':case'sup':dom.setAttrib(n,'style','');break;case'strike':case'u':if(!ed.settings.inline_styles)dom.setAttrib(n,'style','');else dom.setAttrib(n,'mce_name','');break;default:if(!ed.settings.inline_styles)dom.setAttrib(n,'style','');}if(bg)n.style.backgroundColor=bg;}}if(dom.hasClass(n,'mceItemRemoved'))dom.remove(n,1);});});ed.onPostProcess.add(function(ed,o){o.content=o.content.replace(/
    <\/(h[1-6]|div|p|address|pre)>/g,'');o.content=o.content.replace(/ id=\"undefined\"/g,'');});},_fixWebKitSpans:function(){var t=this,ed=t.editor;if(!isOldWebKit){Event.add(ed.getDoc(),'DOMNodeInserted',function(e){e=e.target;if(e&&e.nodeType==1)t._fixAppleSpan(e);});}else{ed.onExecCommand.add(function(){each(ed.dom.select('span'),function(n){t._fixAppleSpan(n);});ed.nodeChanged();});}},_fixAppleSpan:function(e){var ed=this.editor,dom=ed.dom,fz=this.webKitFontSizes,fzn=this.namedFontSizes,s=ed.settings,st,p;if(dom.getAttrib(e,'mce_fixed'))return;if(e.nodeName=='SPAN'&&e.className=='Apple-style-span'){st=e.style;if(!s.convert_fonts_to_spans){if(st.fontSize){dom.setAttrib(e,'mce_name','font');dom.setAttrib(e,'size',inArray(fz,st.fontSize)+1);}if(st.fontFamily){dom.setAttrib(e,'mce_name','font');dom.setAttrib(e,'face',st.fontFamily);}if(st.color){dom.setAttrib(e,'mce_name','font');dom.setAttrib(e,'color',dom.toHex(st.color));}if(st.backgroundColor){dom.setAttrib(e,'mce_name','font');dom.setStyle(e,'background-color',st.backgroundColor);}}else{if(st.fontSize)dom.setStyle(e,'fontSize',fzn[inArray(fz,st.fontSize)]);}if(st.fontWeight=='bold')dom.setAttrib(e,'mce_name','strong');if(st.fontStyle=='italic')dom.setAttrib(e,'mce_name','em');if(st.textDecoration=='underline')dom.setAttrib(e,'mce_name','u');if(st.textDecoration=='line-through')dom.setAttrib(e,'mce_name','strike');if(st.verticalAlign=='super')dom.setAttrib(e,'mce_name','sup');if(st.verticalAlign=='sub')dom.setAttrib(e,'mce_name','sub');dom.setAttrib(e,'mce_fixed','1');}},_patchSafari2x:function(ed){var t=this,setContent,getNode,dom=ed.dom,lr;if(ed.windowManager.onBeforeOpen){ed.windowManager.onBeforeOpen.add(function(){r=ed.selection.getRng();});}ed.selection.select=function(n){this.getSel().setBaseAndExtent(n,0,n,1);};getNode=ed.selection.getNode;ed.selection.getNode=function(){return t.selElm||getNode.call(this);};ed.selection.getRng=function(){var t=this,s=t.getSel(),d=ed.getDoc(),r,rb,ra,di;if(s.anchorNode){r=d.createRange();try{rb=d.createRange();rb.setStart(s.anchorNode,s.anchorOffset);rb.collapse(1);ra=d.createRange();ra.setStart(s.focusNode,s.focusOffset);ra.collapse(1);di=rb.compareBoundaryPoints(rb.START_TO_END,ra)<0;r.setStart(di?s.anchorNode:s.focusNode,di?s.anchorOffset:s.focusOffset);r.setEnd(di?s.focusNode:s.anchorNode,di?s.focusOffset:s.anchorOffset);lr=r;}catch(ex){}}return r||lr;};setContent=ed.selection.setContent;ed.selection.setContent=function(h,s){var r=this.getRng(),b;try{setContent.call(this,h,s);}catch(ex){b=dom.create('body');b.innerHTML=h;each(b.childNodes,function(n){r.insertNode(n.cloneNode(true));});}};},_insertBR:function(ed){var dom=ed.dom,s=ed.selection,r=s.getRng(),br;r.insertNode(br=dom.create('br'));r.setStartAfter(br);r.setEndAfter(br);s.setRng(r);if(s.getSel().focusNode==br.previousSibling){s.select(dom.insertAfter(dom.doc.createTextNode('\u00a0'),br));s.collapse(1);}ed.getWin().scrollTo(0,dom.getPos(s.getRng().startContainer).y);}});tinymce.PluginManager.add('safari',tinymce.plugins.Safari);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js new file mode 100644 index 0000000000..64bc771b5a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js @@ -0,0 +1,427 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var Event = tinymce.dom.Event, grep = tinymce.grep, each = tinymce.each, inArray = tinymce.inArray, isOldWebKit = tinymce.isOldWebKit; + + tinymce.create('tinymce.plugins.Safari', { + init : function(ed) { + var t = this, dom; + + // Ignore on non webkit + if (!tinymce.isWebKit) + return; + + t.editor = ed; + t.webKitFontSizes = ['x-small', 'small', 'medium', 'large', 'x-large', 'xx-large', '-webkit-xxx-large']; + t.namedFontSizes = ['xx-small', 'x-small','small','medium','large','x-large', 'xx-large']; + + // Safari will crash if the build in createlink command is used +/* ed.addCommand('CreateLink', function(u, v) { + ed.execCommand("mceInsertContent", false, '' + ed.selection.getContent() + ''); + });*/ + + ed.onKeyUp.add(function(ed, e) { + var h; + + // If backspace or delete key + if (e.keyCode == 46 || e.keyCode == 8) { + h = ed.getBody().innerHTML; + + // If there is no text content or images or hr elements then remove everything + if (!/<(img|hr)/.test(h) && tinymce.trim(h.replace(/<[^>]+>/g, '')).length == 0) + ed.setContent('', {format : 'raw'}); + } + }); + + // Workaround for FormatBlock bug, http://bugs.webkit.org/show_bug.cgi?id=16004 + ed.addCommand('FormatBlock', function(u, v) { + var dom = ed.dom, e = dom.getParent(ed.selection.getNode(), dom.isBlock); + + if (e) + dom.replace(dom.create(v), e, 1); + else + ed.getDoc().execCommand("FormatBlock", false, v); + }); + + // Workaround for InsertHTML bug, http://bugs.webkit.org/show_bug.cgi?id=16382 + ed.addCommand('mceInsertContent', function(u, v) { + ed.getDoc().execCommand("InsertText", false, 'mce_marker'); + ed.getBody().innerHTML = ed.getBody().innerHTML.replace(/mce_marker/g, v + 'XX'); + ed.selection.select(ed.dom.get('_mce_tmp')); + ed.getDoc().execCommand("Delete", false, ' '); + }); + + // Workaround for missing shift+enter support, http://bugs.webkit.org/show_bug.cgi?id=16973 + ed.onKeyPress.add(function(ed, e) { + if (e.keyCode == 13 && (e.shiftKey || ed.settings.force_br_newlines && ed.selection.getNode().nodeName != 'LI')) { + t._insertBR(ed); + Event.cancel(e); + } + }); + + // Safari returns incorrect values + ed.addQueryValueHandler('FontSize', function(u, v) { + var e, v; + + // Check for the real font size at the start of selection + if ((e = ed.dom.getParent(ed.selection.getStart(), 'span')) && (v = e.style.fontSize)) + return tinymce.inArray(t.namedFontSizes, v) + 1; + + // Check for the real font size at the end of selection + if ((e = ed.dom.getParent(ed.selection.getEnd(), 'span')) && (v = e.style.fontSize)) + return tinymce.inArray(t.namedFontSizes, v) + 1; + + // Return default value it's better than nothing right! + return ed.getDoc().queryCommandValue('FontSize'); + }); + + // Safari returns incorrect values + ed.addQueryValueHandler('FontName', function(u, v) { + var e, v; + + // Check for the real font name at the start of selection + if ((e = ed.dom.getParent(ed.selection.getStart(), 'span')) && (v = e.style.fontFamily)) + return v.replace(/, /g, ','); + + // Check for the real font name at the end of selection + if ((e = ed.dom.getParent(ed.selection.getEnd(), 'span')) && (v = e.style.fontFamily)) + return v.replace(/, /g, ','); + + // Return default value it's better than nothing right! + return ed.getDoc().queryCommandValue('FontName'); + }); + + // Workaround for bug, http://bugs.webkit.org/show_bug.cgi?id=12250 + ed.onClick.add(function(ed, e) { + e = e.target; + + if (e.nodeName == 'IMG') { + t.selElm = e; + ed.selection.select(e); + } else + t.selElm = null; + }); + + ed.onBeforeExecCommand.add(function(ed, c, b) { + var r = t.bookmarkRng; + + // Restore selection + if (r) { + ed.selection.setRng(r); + t.bookmarkRng = null; + //console.debug('restore', r.startContainer, r.startOffset, r.endContainer, r.endOffset); + } + }); + + ed.onInit.add(function() { + t._fixWebKitSpans(); + + ed.windowManager.onOpen.add(function() { + var r = ed.selection.getRng(); + + // Store selection if valid + if (r.startContainer != ed.getDoc()) { + t.bookmarkRng = r.cloneRange(); + //console.debug('store', r.startContainer, r.startOffset, r.endContainer, r.endOffset); + } + }); + + ed.windowManager.onClose.add(function() { + t.bookmarkRng = null; + }); + + if (isOldWebKit) + t._patchSafari2x(ed); + }); + + ed.onSetContent.add(function() { + dom = ed.dom; + + // Convert strong,b,em,u,strike to spans + each(['strong','b','em','u','strike','sub','sup','a'], function(v) { + each(grep(dom.select(v)).reverse(), function(n) { + var nn = n.nodeName.toLowerCase(), st; + + // Convert anchors into images + if (nn == 'a') { + if (n.name) + dom.replace(dom.create('img', {mce_name : 'a', name : n.name, 'class' : 'mceItemAnchor'}), n); + + return; + } + + switch (nn) { + case 'b': + case 'strong': + if (nn == 'b') + nn = 'strong'; + + st = 'font-weight: bold;'; + break; + + case 'em': + st = 'font-style: italic;'; + break; + + case 'u': + st = 'text-decoration: underline;'; + break; + + case 'sub': + st = 'vertical-align: sub;'; + break; + + case 'sup': + st = 'vertical-align: super;'; + break; + + case 'strike': + st = 'text-decoration: line-through;'; + break; + } + + dom.replace(dom.create('span', {mce_name : nn, style : st, 'class' : 'Apple-style-span'}), n, 1); + }); + }); + }); + + ed.onPreProcess.add(function(ed, o) { + dom = ed.dom; + + each(grep(o.node.getElementsByTagName('span')).reverse(), function(n) { + var v, bg; + + if (o.get) { + if (dom.hasClass(n, 'Apple-style-span')) { + bg = n.style.backgroundColor; + + switch (dom.getAttrib(n, 'mce_name')) { + case 'font': + if (!ed.settings.convert_fonts_to_spans) + dom.setAttrib(n, 'style', ''); + break; + + case 'strong': + case 'em': + case 'sub': + case 'sup': + dom.setAttrib(n, 'style', ''); + break; + + case 'strike': + case 'u': + if (!ed.settings.inline_styles) + dom.setAttrib(n, 'style', ''); + else + dom.setAttrib(n, 'mce_name', ''); + + break; + + default: + if (!ed.settings.inline_styles) + dom.setAttrib(n, 'style', ''); + } + + + if (bg) + n.style.backgroundColor = bg; + } + } + + if (dom.hasClass(n, 'mceItemRemoved')) + dom.remove(n, 1); + }); + }); + + ed.onPostProcess.add(function(ed, o) { + // Safari adds BR at end of all block elements + o.content = o.content.replace(/
    <\/(h[1-6]|div|p|address|pre)>/g, ''); + + // Safari adds id="undefined" to HR elements + o.content = o.content.replace(/ id=\"undefined\"/g, ''); + }); + }, + + _fixWebKitSpans : function() { + var t = this, ed = t.editor; + + if (!isOldWebKit) { + // Use mutator events on new WebKit + Event.add(ed.getDoc(), 'DOMNodeInserted', function(e) { + e = e.target; + + if (e && e.nodeType == 1) + t._fixAppleSpan(e); + }); + } else { + // Do post command processing in old WebKit since the browser crashes on Mutator events :( + ed.onExecCommand.add(function() { + each(ed.dom.select('span'), function(n) { + t._fixAppleSpan(n); + }); + + ed.nodeChanged(); + }); + } + }, + + _fixAppleSpan : function(e) { + var ed = this.editor, dom = ed.dom, fz = this.webKitFontSizes, fzn = this.namedFontSizes, s = ed.settings, st, p; + + if (dom.getAttrib(e, 'mce_fixed')) + return; + + // Handle Apple style spans + if (e.nodeName == 'SPAN' && e.className == 'Apple-style-span') { + st = e.style; + + if (!s.convert_fonts_to_spans) { + if (st.fontSize) { + dom.setAttrib(e, 'mce_name', 'font'); + dom.setAttrib(e, 'size', inArray(fz, st.fontSize) + 1); + } + + if (st.fontFamily) { + dom.setAttrib(e, 'mce_name', 'font'); + dom.setAttrib(e, 'face', st.fontFamily); + } + + if (st.color) { + dom.setAttrib(e, 'mce_name', 'font'); + dom.setAttrib(e, 'color', dom.toHex(st.color)); + } + + if (st.backgroundColor) { + dom.setAttrib(e, 'mce_name', 'font'); + dom.setStyle(e, 'background-color', st.backgroundColor); + } + } else { + if (st.fontSize) + dom.setStyle(e, 'fontSize', fzn[inArray(fz, st.fontSize)]); + } + + if (st.fontWeight == 'bold') + dom.setAttrib(e, 'mce_name', 'strong'); + + if (st.fontStyle == 'italic') + dom.setAttrib(e, 'mce_name', 'em'); + + if (st.textDecoration == 'underline') + dom.setAttrib(e, 'mce_name', 'u'); + + if (st.textDecoration == 'line-through') + dom.setAttrib(e, 'mce_name', 'strike'); + + if (st.verticalAlign == 'super') + dom.setAttrib(e, 'mce_name', 'sup'); + + if (st.verticalAlign == 'sub') + dom.setAttrib(e, 'mce_name', 'sub'); + + dom.setAttrib(e, 'mce_fixed', '1'); + } + }, + + _patchSafari2x : function(ed) { + var t = this, setContent, getNode, dom = ed.dom, lr; + + // Inline dialogs + if (ed.windowManager.onBeforeOpen) { + ed.windowManager.onBeforeOpen.add(function() { + r = ed.selection.getRng(); + }); + } + + // Fake select on 2.x + ed.selection.select = function(n) { + this.getSel().setBaseAndExtent(n, 0, n, 1); + }; + + getNode = ed.selection.getNode; + ed.selection.getNode = function() { + return t.selElm || getNode.call(this); + }; + + // Fake range on Safari 2.x + ed.selection.getRng = function() { + var t = this, s = t.getSel(), d = ed.getDoc(), r, rb, ra, di; + + // Fake range on Safari 2.x + if (s.anchorNode) { + r = d.createRange(); + + try { + // Setup before range + rb = d.createRange(); + rb.setStart(s.anchorNode, s.anchorOffset); + rb.collapse(1); + + // Setup after range + ra = d.createRange(); + ra.setStart(s.focusNode, s.focusOffset); + ra.collapse(1); + + // Setup start/end points by comparing locations + di = rb.compareBoundaryPoints(rb.START_TO_END, ra) < 0; + r.setStart(di ? s.anchorNode : s.focusNode, di ? s.anchorOffset : s.focusOffset); + r.setEnd(di ? s.focusNode : s.anchorNode, di ? s.focusOffset : s.anchorOffset); + + lr = r; + } catch (ex) { + // Sometimes fails, at least we tried to do it by the book. I hope Safari 2.x will go disappear soooon!!! + } + } + + return r || lr; + }; + + // Fix setContent so it works + setContent = ed.selection.setContent; + ed.selection.setContent = function(h, s) { + var r = this.getRng(), b; + + try { + setContent.call(this, h, s); + } catch (ex) { + // Workaround for Safari 2.x + b = dom.create('body'); + b.innerHTML = h; + + each(b.childNodes, function(n) { + r.insertNode(n.cloneNode(true)); + }); + } + }; + }, + + _insertBR : function(ed) { + var dom = ed.dom, s = ed.selection, r = s.getRng(), br; + + // Insert BR element + r.insertNode(br = dom.create('br')); + + // Place caret after BR + r.setStartAfter(br); + r.setEndAfter(br); + s.setRng(r); + + // Could not place caret after BR then insert an nbsp entity and move the caret + if (s.getSel().focusNode == br.previousSibling) { + s.select(dom.insertAfter(dom.doc.createTextNode('\u00a0'), br)); + s.collapse(1); + } + + // Scroll to new position, scrollIntoView can't be used due to bug: http://bugs.webkit.org/show_bug.cgi?id=16117 + ed.getWin().scrollTo(0, dom.getPos(s.getRng().startContainer).y); + } + }); + + // Register plugin + tinymce.PluginManager.add('safari', tinymce.plugins.Safari); +})(); + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js new file mode 100644 index 0000000000..43af51b0fc --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.Save',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceSave',t._save,t);ed.addCommand('mceCancel',t._cancel,t);ed.addButton('save',{title:'save.save_desc',cmd:'mceSave'});ed.addButton('cancel',{title:'save.cancel_desc',cmd:'mceCancel'});ed.onNodeChange.add(t._nodeChange,t);ed.addShortcut('ctrl+s',ed.getLang('save.save_desc'),'mceSave');},getInfo:function(){return{longname:'Save',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_nodeChange:function(ed,cm,n){var ed=this.editor;if(ed.getParam('save_enablewhendirty')){cm.setDisabled('save',!ed.isDirty());cm.setDisabled('cancel',!ed.isDirty());}},_save:function(){var ed=this.editor,formObj,os,i,elementId;formObj=tinymce.DOM.get(ed.id).form||tinymce.DOM.getParent(ed.id,'form');if(ed.getParam("save_enablewhendirty")&&!ed.isDirty())return true;tinyMCE.triggerSave();if(os=ed.getParam("save_onsavecallback")){if(ed.execCallback('save_onsavecallback',ed)){ed.startContent=tinymce.trim(ed.getContent({format:'raw'}));ed.nodeChanged();}return;}if(formObj){ed.isNotDirty=true;if(formObj.onsubmit==null||formObj.onsubmit()!=false)formObj.submit();ed.nodeChanged();}else ed.windowManager.alert("Error: No form element found.");return true;},_cancel:function(){var ed=this.editor,os,h=tinymce.trim(ed.startContent);if(os=ed.getParam("save_oncancelcallback")){ed.execCallback('save_oncancelcallback',ed);return;}ed.setContent(h);ed.undoManager.clear();ed.nodeChanged();}});tinymce.PluginManager.add('save',tinymce.plugins.Save);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js new file mode 100644 index 0000000000..4c60f80a64 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js @@ -0,0 +1,100 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.Save', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + + // Register commands + ed.addCommand('mceSave', t._save, t); + ed.addCommand('mceCancel', t._cancel, t); + + // Register buttons + ed.addButton('save', {title : 'save.save_desc', cmd : 'mceSave'}); + ed.addButton('cancel', {title : 'save.cancel_desc', cmd : 'mceCancel'}); + + ed.onNodeChange.add(t._nodeChange, t); + ed.addShortcut('ctrl+s', ed.getLang('save.save_desc'), 'mceSave'); + }, + + getInfo : function() { + return { + longname : 'Save', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/save', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private methods + + _nodeChange : function(ed, cm, n) { + var ed = this.editor; + + if (ed.getParam('save_enablewhendirty')) { + cm.setDisabled('save', !ed.isDirty()); + cm.setDisabled('cancel', !ed.isDirty()); + } + }, + + // Private methods + + _save : function() { + var ed = this.editor, formObj, os, i, elementId; + + formObj = tinymce.DOM.get(ed.id).form || tinymce.DOM.getParent(ed.id, 'form'); + + if (ed.getParam("save_enablewhendirty") && !ed.isDirty()) + return true; + + tinyMCE.triggerSave(); + + // Use callback instead + if (os = ed.getParam("save_onsavecallback")) { + if (ed.execCallback('save_onsavecallback', ed)) { + ed.startContent = tinymce.trim(ed.getContent({format : 'raw'})); + ed.nodeChanged(); + } + + return; + } + + if (formObj) { + ed.isNotDirty = true; + + if (formObj.onsubmit == null || formObj.onsubmit() != false) + formObj.submit(); + + ed.nodeChanged(); + } else + ed.windowManager.alert("Error: No form element found."); + + return true; + }, + + _cancel : function() { + var ed = this.editor, os, h = tinymce.trim(ed.startContent); + + // Use callback instead + if (os = ed.getParam("save_oncancelcallback")) { + ed.execCallback('save_oncancelcallback', ed); + return; + } + + ed.setContent(h); + ed.undoManager.clear(); + ed.nodeChanged(); + } + }); + + // Register plugin + tinymce.PluginManager.add('save', tinymce.plugins.Save); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css new file mode 100644 index 0000000000..ecdf58c7b5 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css @@ -0,0 +1,6 @@ +.panel_wrapper {height:85px;} +.panel_wrapper div.current {height:85px;} + +/* IE */ +* html .panel_wrapper {height:100px;} +* html .panel_wrapper div.current {height:100px;} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js new file mode 100644 index 0000000000..7fd913b2b8 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.SearchReplacePlugin',{init:function(ed,url){function open(m){ed.windowManager.open({file:url+'/searchreplace.htm',width:420+parseInt(ed.getLang('searchreplace.delta_width',0)),height:160+parseInt(ed.getLang('searchreplace.delta_height',0)),inline:1,auto_focus:0},{mode:m,search_string:ed.selection.getContent({format:'text'}),plugin_url:url});};ed.addCommand('mceSearch',function(){open('search');});ed.addCommand('mceReplace',function(){open('replace');});ed.addButton('search',{title:'searchreplace.search_desc',cmd:'mceSearch'});ed.addButton('replace',{title:'searchreplace.replace_desc',cmd:'mceReplace'});ed.addShortcut('ctrl+f','searchreplace.search_desc','mceSearch');},getInfo:function(){return{longname:'Search/Replace',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('searchreplace',tinymce.plugins.SearchReplacePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js new file mode 100644 index 0000000000..008559af4a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js @@ -0,0 +1,54 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.SearchReplacePlugin', { + init : function(ed, url) { + function open(m) { + ed.windowManager.open({ + file : url + '/searchreplace.htm', + width : 420 + parseInt(ed.getLang('searchreplace.delta_width', 0)), + height : 160 + parseInt(ed.getLang('searchreplace.delta_height', 0)), + inline : 1, + auto_focus : 0 + }, { + mode : m, + search_string : ed.selection.getContent({format : 'text'}), + plugin_url : url + }); + }; + + // Register commands + ed.addCommand('mceSearch', function() { + open('search'); + }); + + ed.addCommand('mceReplace', function() { + open('replace'); + }); + + // Register buttons + ed.addButton('search', {title : 'searchreplace.search_desc', cmd : 'mceSearch'}); + ed.addButton('replace', {title : 'searchreplace.replace_desc', cmd : 'mceReplace'}); + + ed.addShortcut('ctrl+f', 'searchreplace.search_desc', 'mceSearch'); + }, + + getInfo : function() { + return { + longname : 'Search/Replace', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('searchreplace', tinymce.plugins.SearchReplacePlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js new file mode 100644 index 0000000000..890eb37f1a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js @@ -0,0 +1,117 @@ +tinyMCEPopup.requireLangPack(); + +var SearchReplaceDialog = { + init : function(ed) { + var f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode"); + + this.switchMode(m); + + f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string"); + + // Focus input field + f[m + '_panel_searchstring'].focus(); + }, + + switchMode : function(m) { + var f, lm = this.lastMode; + + if (lm != m) { + f = document.forms[0]; + + if (lm) { + f[m + '_panel_searchstring'].value = f[lm + '_panel_searchstring'].value; + f[m + '_panel_backwardsu'].checked = f[lm + '_panel_backwardsu'].checked; + f[m + '_panel_backwardsd'].checked = f[lm + '_panel_backwardsd'].checked; + f[m + '_panel_casesensitivebox'].checked = f[lm + '_panel_casesensitivebox'].checked; + } + + mcTabs.displayTab(m + '_tab', m + '_panel'); + document.getElementById("replaceBtn").style.display = (m == "replace") ? "inline" : "none"; + document.getElementById("replaceAllBtn").style.display = (m == "replace") ? "inline" : "none"; + this.lastMode = m; + } + }, + + searchNext : function(a) { + var ed = tinyMCEPopup.editor, se = ed.selection, r = se.getRng(), f, m = this.lastMode, s, b, fl = 0, w = ed.getWin(), wm = ed.windowManager, fo = 0; + + // Get input + f = document.forms[0]; + s = f[m + '_panel_searchstring'].value; + b = f[m + '_panel_backwardsu'].checked; + ca = f[m + '_panel_casesensitivebox'].checked; + rs = f['replace_panel_replacestring'].value; + + function fix() { + // Correct Firefox graphics glitches + r = se.getRng().cloneRange(); + ed.getDoc().execCommand('SelectAll', false, null); + se.setRng(r); + }; + + function replace() { + if (tinymce.isIE) + ed.selection.getRng().duplicate().pasteHTML(rs); // Needs to be duplicated due to selection bug in IE + else + ed.getDoc().execCommand('InsertHTML', false, rs); + }; + + // IE flags + if (ca) + fl = fl | 4; + + switch (a) { + case 'all': + if (tinymce.isIE) { + while (r.findText(s, b ? -1 : 1, fl)) { + r.scrollIntoView(); + r.select(); + replace(); + fo = 1; + } + + tinyMCEPopup.storeSelection(); + } else { + while (w.find(s, ca, b, false, false, false, false)) { + replace(); + fo = 1; + } + } + + if (fo) + wm.alert(ed.getLang('searchreplace_dlg.allreplaced')); + else + wm.alert(ed.getLang('searchreplace_dlg.notfound')); + + return; + + case 'current': + replace(); + break; + } + + se.collapse(b); + r = se.getRng(); + + // Whats the point + if (!s) + return; + + if (tinymce.isIE) { + if (r.findText(s, b ? -1 : 1, fl)) { + r.scrollIntoView(); + r.select(); + } else + wm.alert(ed.getLang('searchreplace_dlg.notfound')); + + tinyMCEPopup.storeSelection(); + } else { + if (!w.find(s, ca, b, false, false, false, false)) + wm.alert(ed.getLang('searchreplace_dlg.notfound')); + else + fix(); + } + } +}; + +tinyMCEPopup.onInit.add(SearchReplaceDialog.init, SearchReplaceDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js new file mode 100644 index 0000000000..370959afa3 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js @@ -0,0 +1,16 @@ +tinyMCE.addI18n('en.searchreplace_dlg',{ +searchnext_desc:"Find again", +notfound:"The search has been completed. The search string could not be found.", +search_title:"Find", +replace_title:"Find/Replace", +allreplaced:"All occurrences of the search string were replaced.", +findwhat:"Find what", +replacewith:"Replace with", +direction:"Direction", +up:"Up", +down:"Down", +mcase:"Match case", +findnext:"Find next", +replace:"Replace", +replaceall:"Replace all" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm new file mode 100644 index 0000000000..9c95a6a30b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm @@ -0,0 +1,105 @@ + + + + {#searchreplace_dlg.replace_title} + + + + + + + + +
    + + +
    +
    + + + + + + + + + + + +
    + + + + + + + + +
    +
    + + + + + +
    +
    +
    + +
    + + + + + + + + + + + + + + + +
    + + + + + + + + +
    +
    + + + + + +
    +
    +
    + +
    + +
    +
    + + + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css new file mode 100644 index 0000000000..24efa02170 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css @@ -0,0 +1 @@ +.mceItemHiddenSpellWord {background:url(../img/wline.gif) repeat-x bottom left; cursor:default;} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js new file mode 100644 index 0000000000..0161fb4e1b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js @@ -0,0 +1 @@ +(function(){var JSONRequest=tinymce.util.JSONRequest,each=tinymce.each,DOM=tinymce.DOM;tinymce.create('tinymce.plugins.SpellcheckerPlugin',{getInfo:function(){return{longname:'Spellchecker',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker',version:tinymce.majorVersion+"."+tinymce.minorVersion};},init:function(ed,url){var t=this,cm;t.url=url;t.editor=ed;ed.addCommand('mceSpellCheck',function(){if(!t.active){ed.setProgressState(1);t._sendRPC('checkWords',[t.selectedLang,t._getWords()],function(r){if(r.length>0){t.active=1;t._markWords(r);ed.setProgressState(0);ed.nodeChanged();}else{ed.setProgressState(0);ed.windowManager.alert('spellchecker.no_mpell');}});}else t._done();});ed.onInit.add(function(){ed.dom.loadCSS(url+'/css/content.css');});ed.onClick.add(t._showMenu,t);ed.onContextMenu.add(t._showMenu,t);ed.onBeforeGetContent.add(function(){if(t.active)t._removeWords();});ed.onNodeChange.add(function(ed,cm){cm.setActive('spellchecker',t.active);});ed.onSetContent.add(function(){t._done();});ed.onBeforeGetContent.add(function(){t._done();});ed.onBeforeExecCommand.add(function(ed,cmd){if(cmd=='mceFullScreen')t._done();});t.languages={};each(ed.getParam('spellchecker_languages','+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv','hash'),function(v,k){if(k.indexOf('+')===0){k=k.substring(1);t.selectedLang=v;}t.languages[k]=v;});},createControl:function(n,cm){var t=this,c,ed=t.editor;if(n=='spellchecker'){c=cm.createSplitButton(n,{title:'spellchecker.desc',cmd:'mceSpellCheck',scope:t});c.onRenderMenu.add(function(c,m){m.add({title:'spellchecker.langs','class':'mceMenuItemTitle'}).setDisabled(1);each(t.languages,function(v,k){var o={icon:1},mi;o.onclick=function(){mi.setSelected(1);t.selectedItem.setSelected(0);t.selectedItem=mi;t.selectedLang=v;};o.title=k;mi=m.add(o);mi.setSelected(v==t.selectedLang);if(v==t.selectedLang)t.selectedItem=mi;})});return c;}},_walk:function(n,f){var d=this.editor.getDoc(),w;if(d.createTreeWalker){w=d.createTreeWalker(n,NodeFilter.SHOW_TEXT,null,false);while((n=w.nextNode())!=null)f.call(this,n);}else tinymce.walk(n,f,'childNodes');},_getSeparators:function(){var re='',i,str=this.editor.getParam('spellchecker_word_separator_chars','\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}����������������\u201d\u201c');for(i=0;i$1$2');v=v.replace(r3,'$1$2');dom.replace(dom.create('span',{'class':'mceItemHidden'},v),n);}}});se.moveToBookmark(b);},_showMenu:function(ed,e){var t=this,ed=t.editor,m=t._menu,p1,dom=ed.dom,vp=dom.getViewPort(ed.getWin());if(!m){p1=DOM.getPos(ed.getContentAreaContainer());m=ed.controlManager.createDropMenu('spellcheckermenu',{offset_x:p1.x,offset_y:p1.y,'class':'noIcons'});t._menu=m;}if(dom.hasClass(e.target,'mceItemHiddenSpellWord')){m.removeAll();m.add({title:'spellchecker.wait','class':'mceMenuItemTitle'}).setDisabled(1);t._sendRPC('getSuggestions',[t.selectedLang,dom.decode(e.target.innerHTML)],function(r){m.removeAll();if(r.length>0){m.add({title:'spellchecker.sug','class':'mceMenuItemTitle'}).setDisabled(1);each(r,function(v){m.add({title:v,onclick:function(){dom.replace(ed.getDoc().createTextNode(v),e.target);t._checkDone();}});});m.addSeparator();}else m.add({title:'spellchecker.no_sug','class':'mceMenuItemTitle'}).setDisabled(1);m.add({title:'spellchecker.ignore_word',onclick:function(){dom.remove(e.target,1);t._checkDone();}});m.add({title:'spellchecker.ignore_words',onclick:function(){t._removeWords(dom.decode(e.target.innerHTML));t._checkDone();}});m.update();});ed.selection.select(e.target);p1=dom.getPos(e.target);m.showMenu(p1.x,p1.y+e.target.offsetHeight-vp.y);return tinymce.dom.Event.cancel(e);}else m.hideMenu();},_checkDone:function(){var t=this,ed=t.editor,dom=ed.dom,o;each(dom.select('span'),function(n){if(n&&dom.hasClass(n,'mceItemHiddenSpellWord')){o=true;return false;}});if(!o)t._done();},_done:function(){var t=this,la=t.active;if(t.active){t.active=0;t._removeWords();if(t._menu)t._menu.hideMenu();if(la)t.editor.nodeChanged();}},_sendRPC:function(m,p,cb){var t=this,url=t.editor.getParam("spellchecker_rpc_url","{backend}");if(url=='{backend}'){t.editor.setProgressState(0);alert('Please specify: spellchecker_rpc_url');return;}JSONRequest.sendRPC({url:url,method:m,params:p,success:cb,error:function(e,x){t.editor.setProgressState(0);t.editor.windowManager.alert(e.errstr||('Error response: '+x.responseText));}});}});tinymce.PluginManager.add('spellchecker',tinymce.plugins.SpellcheckerPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js new file mode 100644 index 0000000000..acf7f4042d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js @@ -0,0 +1,337 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var JSONRequest = tinymce.util.JSONRequest, each = tinymce.each, DOM = tinymce.DOM; + + tinymce.create('tinymce.plugins.SpellcheckerPlugin', { + getInfo : function() { + return { + longname : 'Spellchecker', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/spellchecker', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + init : function(ed, url) { + var t = this, cm; + + t.url = url; + t.editor = ed; + + // Register commands + ed.addCommand('mceSpellCheck', function() { + if (!t.active) { + ed.setProgressState(1); + t._sendRPC('checkWords', [t.selectedLang, t._getWords()], function(r) { + if (r.length > 0) { + t.active = 1; + t._markWords(r); + ed.setProgressState(0); + ed.nodeChanged(); + } else { + ed.setProgressState(0); + ed.windowManager.alert('spellchecker.no_mpell'); + } + }); + } else + t._done(); + }); + + ed.onInit.add(function() { + ed.dom.loadCSS(url + '/css/content.css'); + }); + + ed.onClick.add(t._showMenu, t); + ed.onContextMenu.add(t._showMenu, t); + ed.onBeforeGetContent.add(function() { + if (t.active) + t._removeWords(); + }); + + ed.onNodeChange.add(function(ed, cm) { + cm.setActive('spellchecker', t.active); + }); + + ed.onSetContent.add(function() { + t._done(); + }); + + ed.onBeforeGetContent.add(function() { + t._done(); + }); + + ed.onBeforeExecCommand.add(function(ed, cmd) { + if (cmd == 'mceFullScreen') + t._done(); + }); + + // Find selected language + t.languages = {}; + each(ed.getParam('spellchecker_languages', '+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv', 'hash'), function(v, k) { + if (k.indexOf('+') === 0) { + k = k.substring(1); + t.selectedLang = v; + } + + t.languages[k] = v; + }); + }, + + createControl : function(n, cm) { + var t = this, c, ed = t.editor; + + if (n == 'spellchecker') { + c = cm.createSplitButton(n, {title : 'spellchecker.desc', cmd : 'mceSpellCheck', scope : t}); + + c.onRenderMenu.add(function(c, m) { + m.add({title : 'spellchecker.langs', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + each(t.languages, function(v, k) { + var o = {icon : 1}, mi; + + o.onclick = function() { + mi.setSelected(1); + t.selectedItem.setSelected(0); + t.selectedItem = mi; + t.selectedLang = v; + }; + + o.title = k; + mi = m.add(o); + mi.setSelected(v == t.selectedLang); + + if (v == t.selectedLang) + t.selectedItem = mi; + }) + }); + + return c; + } + }, + + // Internal functions + + _walk : function(n, f) { + var d = this.editor.getDoc(), w; + + if (d.createTreeWalker) { + w = d.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, false); + + while ((n = w.nextNode()) != null) + f.call(this, n); + } else + tinymce.walk(n, f, 'childNodes'); + }, + + _getSeparators : function() { + var re = '', i, str = this.editor.getParam('spellchecker_word_separator_chars', '\\s!"#$%&()*+,-./:;<=>?@[\]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c'); + + // Build word separator regexp + for (i=0; i$1$2'); + v = v.replace(r3, '$1$2'); + + dom.replace(dom.create('span', {'class' : 'mceItemHidden'}, v), n); + } + } + }); + + se.moveToBookmark(b); + }, + + _showMenu : function(ed, e) { + var t = this, ed = t.editor, m = t._menu, p1, dom = ed.dom, vp = dom.getViewPort(ed.getWin()); + + if (!m) { + p1 = DOM.getPos(ed.getContentAreaContainer()); + //p2 = DOM.getPos(ed.getContainer()); + + m = ed.controlManager.createDropMenu('spellcheckermenu', { + offset_x : p1.x, + offset_y : p1.y, + 'class' : 'noIcons' + }); + + t._menu = m; + } + + if (dom.hasClass(e.target, 'mceItemHiddenSpellWord')) { + m.removeAll(); + m.add({title : 'spellchecker.wait', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + + t._sendRPC('getSuggestions', [t.selectedLang, dom.decode(e.target.innerHTML)], function(r) { + m.removeAll(); + + if (r.length > 0) { + m.add({title : 'spellchecker.sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + each(r, function(v) { + m.add({title : v, onclick : function() { + dom.replace(ed.getDoc().createTextNode(v), e.target); + t._checkDone(); + }}); + }); + + m.addSeparator(); + } else + m.add({title : 'spellchecker.no_sug', 'class' : 'mceMenuItemTitle'}).setDisabled(1); + + m.add({ + title : 'spellchecker.ignore_word', + onclick : function() { + dom.remove(e.target, 1); + t._checkDone(); + } + }); + + m.add({ + title : 'spellchecker.ignore_words', + onclick : function() { + t._removeWords(dom.decode(e.target.innerHTML)); + t._checkDone(); + } + }); + + m.update(); + }); + + ed.selection.select(e.target); + p1 = dom.getPos(e.target); + m.showMenu(p1.x, p1.y + e.target.offsetHeight - vp.y); + + return tinymce.dom.Event.cancel(e); + } else + m.hideMenu(); + }, + + _checkDone : function() { + var t = this, ed = t.editor, dom = ed.dom, o; + + each(dom.select('span'), function(n) { + if (n && dom.hasClass(n, 'mceItemHiddenSpellWord')) { + o = true; + return false; + } + }); + + if (!o) + t._done(); + }, + + _done : function() { + var t = this, la = t.active; + + if (t.active) { + t.active = 0; + t._removeWords(); + + if (t._menu) + t._menu.hideMenu(); + + if (la) + t.editor.nodeChanged(); + } + }, + + _sendRPC : function(m, p, cb) { + var t = this, url = t.editor.getParam("spellchecker_rpc_url", "{backend}"); + + if (url == '{backend}') { + t.editor.setProgressState(0); + alert('Please specify: spellchecker_rpc_url'); + return; + } + + JSONRequest.sendRPC({ + url : url, + method : m, + params : p, + success : cb, + error : function(e, x) { + t.editor.setProgressState(0); + t.editor.windowManager.alert(e.errstr || ('Error response: ' + x.responseText)); + } + }); + } + }); + + // Register plugin + tinymce.PluginManager.add('spellchecker', tinymce.plugins.SpellcheckerPlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif b/lib/editor/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif new file mode 100644 index 0000000000000000000000000000000000000000..7d0a4dbca03cc13177a359a5f175dda819fdf464 GIT binary patch literal 46 ycmZ?wbhEHbWMN=tXkcXcqowu#|9{1wEQ|~cj0`#qKmd|qU}ANVOOs?}um%7FLkRf* literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/standardmenu/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/standardmenu/editor_plugin.js new file mode 100644 index 0000000000..aae1bc1d78 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/standardmenu/editor_plugin.js @@ -0,0 +1 @@ +(function(){var Event=tinymce.dom.Event,each=tinymce.each,DOM=tinymce.DOM;tinymce.create('tinymce.plugins.StandardMenu',{init:function(ed){var t=this;t.editor=ed;t.onContextMenu=new tinymce.util.Dispatcher(this);ed.addShortcut('ctrl+l','standardmenu.justifyleft_desc','JustifyLeft');ed.addShortcut('ctrl+e','standardmenu.justifycenter_desc','JustifyCenter');ed.addShortcut('ctrl+r','standardmenu.justifyright_desc','JustifyRight');ed.addShortcut('ctrl+j','standardmenu.justifyfull_desc','JustifyFull');ed.addShortcut('ctrl+alt+o','standardmenu.numlist_desc','InsertOrderedList');ed.addShortcut('ctrl+alt+u','standardmenu.bullist_desc','InsertUnorderedList');ed.addShortcut('ctrl+s','standardmenu.striketrough_desc','Strikethrough');ed.addShortcut('ctrl+alt+a','standardmenu.anchor_desc','mceInsertAnchor');ed.addShortcut('ctrl+alt+d','standardmenu.unlink_desc','unlink');ed.onContextMenu.add(function(ed,e){if(!e.ctrlKey){t._getMenu(ed).showMenu(e.clientX,e.clientY);Event.add(document,'click',hide);Event.cancel(e);}});function hide(){if(t._menu){t._menu.removeAll();t._menu.destroy();Event.remove(document,'click',hide);}};ed.onMouseDown.add(hide);ed.onKeyDown.add(hide);},getInfo:function(){return{longname:'Contextmenu',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_getMenu:function(ed){var t=this,m=t._menu,se=ed.selection,col=se.isCollapsed(),el=se.getNode()||ed.getBody(),am,p1,p2;if(m){m.removeAll();m.destroy();}p1=DOM.getPos(ed.getContentAreaContainer());p2=DOM.getPos(ed.getContainer());m=ed.controlManager.createDropMenu('contextmenu',{offset_x:p1.x,offset_y:p1.y,constrain:1});t._menu=m;m.add({title:'standard.cut_desc',icon:'cut',cmd:'Cut'}).setDisabled(col);m.add({title:'standard.copy_desc',icon:'copy',cmd:'Copy'}).setDisabled(col);m.add({title:'standard.paste_desc',icon:'paste',cmd:'Paste'});if((el.nodeName=='A'&&!ed.dom.getAttrib(el,'name'))||!col){m.addSeparator();m.add({title:'standard.link_desc',icon:'link',cmd:ed.plugins.advlink?'mceAdvLink':'mceLink',ui:true});m.add({title:'standard.unlink_desc',icon:'unlink',cmd:'UnLink'});}m.addSeparator();m.add({title:'standard.image_desc',icon:'image',cmd:ed.plugins.advimage?'mceAdvImage':'mceImage',ui:true});m.addSeparator();am=m.addMenu({title:'contextmenu.align'});am.add({title:'contextmenu.left',icon:'justifyleft',cmd:'JustifyLeft'});am.add({title:'contextmenu.center',icon:'justifycenter',cmd:'JustifyCenter'});am.add({title:'contextmenu.right',icon:'justifyright',cmd:'JustifyRight'});am.add({title:'contextmenu.full',icon:'justifyfull',cmd:'JustifyFull'});t.onContextMenu.dispatch(t,m,el,col);return m;}});tinymce.PluginManager.add('standardmenu',tinymce.plugins.StandardMenu);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/standardmenu/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/standardmenu/editor_plugin_src.js new file mode 100644 index 0000000000..12f2cf80db --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/standardmenu/editor_plugin_src.js @@ -0,0 +1,106 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var Event = tinymce.dom.Event, each = tinymce.each, DOM = tinymce.DOM; + + tinymce.create('tinymce.plugins.StandardMenu', { + init : function(ed) { + var t = this; + + t.editor = ed; + t.onContextMenu = new tinymce.util.Dispatcher(this); +ed.addShortcut('ctrl+l', 'standardmenu.justifyleft_desc', 'JustifyLeft'); +ed.addShortcut('ctrl+e', 'standardmenu.justifycenter_desc', 'JustifyCenter'); +ed.addShortcut('ctrl+r', 'standardmenu.justifyright_desc', 'JustifyRight'); +ed.addShortcut('ctrl+j', 'standardmenu.justifyfull_desc', 'JustifyFull'); +ed.addShortcut('ctrl+alt+o', 'standardmenu.numlist_desc', 'InsertOrderedList'); +ed.addShortcut('ctrl+alt+u', 'standardmenu.bullist_desc', 'InsertUnorderedList'); +ed.addShortcut('ctrl+s', 'standardmenu.striketrough_desc', 'Strikethrough'); +ed.addShortcut('ctrl+alt+a', 'standardmenu.anchor_desc', 'mceInsertAnchor'); +ed.addShortcut('ctrl+alt+d', 'standardmenu.unlink_desc', 'unlink'); + + ed.onContextMenu.add(function(ed, e) { + if (!e.ctrlKey) { + t._getMenu(ed).showMenu(e.clientX, e.clientY); + Event.add(document, 'click', hide); + Event.cancel(e); + } + }); + + function hide() { + if (t._menu) { + t._menu.removeAll(); + t._menu.destroy(); + Event.remove(document, 'click', hide); + } + }; + + ed.onMouseDown.add(hide); + ed.onKeyDown.add(hide); + }, + + getInfo : function() { + return { + longname : 'Contextmenu', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + _getMenu : function(ed) { + var t = this, m = t._menu, se = ed.selection, col = se.isCollapsed(), el = se.getNode() || ed.getBody(), am, p1, p2; + + if (m) { + m.removeAll(); + m.destroy(); + } + + p1 = DOM.getPos(ed.getContentAreaContainer()); + p2 = DOM.getPos(ed.getContainer()); + + m = ed.controlManager.createDropMenu('contextmenu', { + offset_x : p1.x, + offset_y : p1.y, +/* vp_offset_x : p2.x, + vp_offset_y : p2.y,*/ + constrain : 1 + }); + + t._menu = m; + + m.add({title : 'standard.cut_desc', icon : 'cut', cmd : 'Cut'}).setDisabled(col); + m.add({title : 'standard.copy_desc', icon : 'copy', cmd : 'Copy'}).setDisabled(col); + m.add({title : 'standard.paste_desc', icon : 'paste', cmd : 'Paste'}); + + if ((el.nodeName == 'A' && !ed.dom.getAttrib(el, 'name')) || !col) { + m.addSeparator(); + m.add({title : 'standard.link_desc', icon : 'link', cmd : ed.plugins.advlink ? 'mceAdvLink' : 'mceLink', ui : true}); + m.add({title : 'standard.unlink_desc', icon : 'unlink', cmd : 'UnLink'}); + } + + m.addSeparator(); + m.add({title : 'standard.image_desc', icon : 'image', cmd : ed.plugins.advimage ? 'mceAdvImage' : 'mceImage', ui : true}); + + m.addSeparator(); + am = m.addMenu({title : 'contextmenu.align'}); + am.add({title : 'contextmenu.left', icon : 'justifyleft', cmd : 'JustifyLeft'}); + am.add({title : 'contextmenu.center', icon : 'justifycenter', cmd : 'JustifyCenter'}); + am.add({title : 'contextmenu.right', icon : 'justifyright', cmd : 'JustifyRight'}); + am.add({title : 'contextmenu.full', icon : 'justifyfull', cmd : 'JustifyFull'}); + + t.onContextMenu.dispatch(t, m, el, col); + + return m; + } + }); + + // Register plugin + tinymce.PluginManager.add('standardmenu', tinymce.plugins.StandardMenu); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/css/props.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/css/props.css new file mode 100644 index 0000000000..eb1f264960 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/css/props.css @@ -0,0 +1,13 @@ +#text_font {width:250px;} +#text_size {width:70px;} +.mceAddSelectValue {background:#DDD;} +select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {width:70px;} +#box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {width:70px;} +#positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {width:70px;} +#positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {width:70px;} +.panel_wrapper div.current {padding-top:10px;height:230px;} +.delim {border-left:1px solid gray;} +.tdelim {border-bottom:1px solid gray;} +#block_display {width:145px;} +#list_type {width:115px;} +.disabled {background:#EEE;} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js new file mode 100644 index 0000000000..80ca6c2c15 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.StylePlugin',{init:function(ed,url){ed.addCommand('mceStyleProps',function(){ed.windowManager.open({file:url+'/props.htm',width:480+parseInt(ed.getLang('style.delta_width',0)),height:320+parseInt(ed.getLang('style.delta_height',0)),inline:1},{plugin_url:url,style_text:ed.selection.getNode().style.cssText});});ed.addCommand('mceSetElementStyle',function(ui,v){if(e=ed.selection.getNode()){ed.dom.setAttrib(e,'style',v);ed.execCommand('mceRepaint');}});ed.addButton('styleprops',{title:'style.desc',cmd:'mceStyleProps'});},getInfo:function(){return{longname:'Style',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('style',tinymce.plugins.StylePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js new file mode 100644 index 0000000000..71daab1fd2 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js @@ -0,0 +1,48 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.StylePlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceStyleProps', function() { + ed.windowManager.open({ + file : url + '/props.htm', + width : 480 + parseInt(ed.getLang('style.delta_width', 0)), + height : 320 + parseInt(ed.getLang('style.delta_height', 0)), + inline : 1 + }, { + plugin_url : url, + style_text : ed.selection.getNode().style.cssText + }); + }); + + ed.addCommand('mceSetElementStyle', function(ui, v) { + if (e = ed.selection.getNode()) { + ed.dom.setAttrib(e, 'style', v); + ed.execCommand('mceRepaint'); + } + }); + + // Register buttons + ed.addButton('styleprops', {title : 'style.desc', cmd : 'mceStyleProps'}); + }, + + getInfo : function() { + return { + longname : 'Style', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('style', tinymce.plugins.StylePlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js new file mode 100644 index 0000000000..501879209b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js @@ -0,0 +1,641 @@ +tinyMCEPopup.requireLangPack(); + +var defaultFonts = "" + + "Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Courier New, Courier, mono=Courier New, Courier, mono;" + + "Times New Roman, Times, serif=Times New Roman, Times, serif;" + + "Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;" + + "Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;" + + "Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif"; + +var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger"; +var defaultMeasurement = "+pixels=px;points=pt;em;in;cm;mm;picas;ems;exs;%"; +var defaultSpacingMeasurement = "pixels=px;points=pt;in;cm;mm;picas;+ems;exs;%"; +var defaultIndentMeasurement = "pixels=px;+points=pt;in;cm;mm;picas;ems;exs;%"; +var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900"; +var defaultTextStyle = "normal;italic;oblique"; +var defaultVariant = "normal;small-caps"; +var defaultLineHeight = "normal"; +var defaultAttachment = "fixed;scroll"; +var defaultRepeat = "no-repeat;repeat;repeat-x;repeat-y"; +var defaultPosH = "left;center;right"; +var defaultPosV = "top;center;bottom"; +var defaultVAlign = "baseline;sub;super;top;text-top;middle;bottom;text-bottom"; +var defaultDisplay = "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none"; +var defaultBorderStyle = "none;solid;dashed;dotted;double;groove;ridge;inset;outset"; +var defaultBorderWidth = "thin;medium;thick"; +var defaultListType = "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none"; + +function init() { + var ce = document.getElementById('container'), h; + + ce.style.cssText = tinyMCEPopup.getWindowArg('style_text'); + + h = getBrowserHTML('background_image_browser','background_image','image','advimage'); + document.getElementById("background_image_browser").innerHTML = h; + + document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color'); + document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color'); + document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top'); + document.getElementById('border_color_right_pickcontainer').innerHTML = getColorPickerHTML('border_color_right_pick','border_color_right'); + document.getElementById('border_color_bottom_pickcontainer').innerHTML = getColorPickerHTML('border_color_bottom_pick','border_color_bottom'); + document.getElementById('border_color_left_pickcontainer').innerHTML = getColorPickerHTML('border_color_left_pick','border_color_left'); + + fillSelect(0, 'text_font', 'style_font', defaultFonts, ';', true); + fillSelect(0, 'text_size', 'style_font_size', defaultSizes, ';', true); + fillSelect(0, 'text_size_measurement', 'style_font_size_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'text_case', 'style_text_case', "capitalize;uppercase;lowercase", ';', true); + fillSelect(0, 'text_weight', 'style_font_weight', defaultWeight, ';', true); + fillSelect(0, 'text_style', 'style_font_style', defaultTextStyle, ';', true); + fillSelect(0, 'text_variant', 'style_font_variant', defaultVariant, ';', true); + fillSelect(0, 'text_lineheight', 'style_font_line_height', defaultLineHeight, ';', true); + fillSelect(0, 'text_lineheight_measurement', 'style_font_line_height_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_attachment', 'style_background_attachment', defaultAttachment, ';', true); + fillSelect(0, 'background_repeat', 'style_background_repeat', defaultRepeat, ';', true); + + fillSelect(0, 'background_hpos_measurement', 'style_background_hpos_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'background_vpos_measurement', 'style_background_vpos_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'background_hpos', 'style_background_hpos', defaultPosH, ';', true); + fillSelect(0, 'background_vpos', 'style_background_vpos', defaultPosV, ';', true); + + fillSelect(0, 'block_wordspacing', 'style_wordspacing', 'normal', ';', true); + fillSelect(0, 'block_wordspacing_measurement', 'style_wordspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_letterspacing', 'style_letterspacing', 'normal', ';', true); + fillSelect(0, 'block_letterspacing_measurement', 'style_letterspacing_measurement', defaultSpacingMeasurement, ';', true); + fillSelect(0, 'block_vertical_alignment', 'style_vertical_alignment', defaultVAlign, ';', true); + fillSelect(0, 'block_text_align', 'style_text_align', "left;right;center;justify", ';', true); + fillSelect(0, 'block_whitespace', 'style_whitespace', "normal;pre;nowrap", ';', true); + fillSelect(0, 'block_display', 'style_display', defaultDisplay, ';', true); + fillSelect(0, 'block_text_indent_measurement', 'style_text_indent_measurement', defaultIndentMeasurement, ';', true); + + fillSelect(0, 'box_width_measurement', 'style_box_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_height_measurement', 'style_box_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_float', 'style_float', 'left;right;none', ';', true); + fillSelect(0, 'box_clear', 'style_clear', 'left;right;both;none', ';', true); + fillSelect(0, 'box_padding_left_measurement', 'style_padding_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_top_measurement', 'style_padding_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_bottom_measurement', 'style_padding_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_padding_right_measurement', 'style_padding_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_left_measurement', 'style_margin_left_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_top_measurement', 'style_margin_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_bottom_measurement', 'style_margin_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'box_margin_right_measurement', 'style_margin_right_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'border_style_top', 'style_border_style_top', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_right', 'style_border_style_right', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_bottom', 'style_border_style_bottom', defaultBorderStyle, ';', true); + fillSelect(0, 'border_style_left', 'style_border_style_left', defaultBorderStyle, ';', true); + + fillSelect(0, 'border_width_top', 'style_border_width_top', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_right', 'style_border_width_right', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_bottom', 'style_border_width_bottom', defaultBorderWidth, ';', true); + fillSelect(0, 'border_width_left', 'style_border_width_left', defaultBorderWidth, ';', true); + + fillSelect(0, 'border_width_top_measurement', 'style_border_width_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_right_measurement', 'style_border_width_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_bottom_measurement', 'style_border_width_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'border_width_left_measurement', 'style_border_width_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'list_type', 'style_list_type', defaultListType, ';', true); + fillSelect(0, 'list_position', 'style_list_position', "inside;outside", ';', true); + + fillSelect(0, 'positioning_type', 'style_positioning_type', "absolute;relative;static", ';', true); + fillSelect(0, 'positioning_visibility', 'style_positioning_visibility', "inherit;visible;hidden", ';', true); + + fillSelect(0, 'positioning_width_measurement', 'style_positioning_width_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_height_measurement', 'style_positioning_height_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_overflow', 'style_positioning_overflow', "visible;hidden;scroll;auto", ';', true); + + fillSelect(0, 'positioning_placement_top_measurement', 'style_positioning_placement_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_right_measurement', 'style_positioning_placement_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_bottom_measurement', 'style_positioning_placement_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_placement_left_measurement', 'style_positioning_placement_left_measurement', defaultMeasurement, ';', true); + + fillSelect(0, 'positioning_clip_top_measurement', 'style_positioning_clip_top_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_right_measurement', 'style_positioning_clip_right_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_bottom_measurement', 'style_positioning_clip_bottom_measurement', defaultMeasurement, ';', true); + fillSelect(0, 'positioning_clip_left_measurement', 'style_positioning_clip_left_measurement', defaultMeasurement, ';', true); + + TinyMCE_EditableSelects.init(); + setupFormData(); + showDisabledControls(); +} + +function setupFormData() { + var ce = document.getElementById('container'), f = document.forms[0], s, b, i; + + // Setup text fields + + selectByValue(f, 'text_font', ce.style.fontFamily, true, true); + selectByValue(f, 'text_size', getNum(ce.style.fontSize), true, true); + selectByValue(f, 'text_size_measurement', getMeasurement(ce.style.fontSize)); + selectByValue(f, 'text_weight', ce.style.fontWeight, true, true); + selectByValue(f, 'text_style', ce.style.fontStyle, true, true); + selectByValue(f, 'text_lineheight', getNum(ce.style.lineHeight), true, true); + selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight)); + selectByValue(f, 'text_case', ce.style.textTransform, true, true); + selectByValue(f, 'text_variant', ce.style.fontVariant, true, true); + f.text_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.color); + updateColor('text_color_pick', 'text_color'); + f.text_underline.checked = inStr(ce.style.textDecoration, 'underline'); + f.text_overline.checked = inStr(ce.style.textDecoration, 'overline'); + f.text_linethrough.checked = inStr(ce.style.textDecoration, 'line-through'); + f.text_blink.checked = inStr(ce.style.textDecoration, 'blink'); + + // Setup background fields + + f.background_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.backgroundColor); + updateColor('background_color_pick', 'background_color'); + f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true); + selectByValue(f, 'background_attachment', ce.style.backgroundAttachment, true, true); + selectByValue(f, 'background_hpos', getNum(getVal(ce.style.backgroundPosition, 0)), true, true); + selectByValue(f, 'background_hpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 0))); + selectByValue(f, 'background_vpos', getNum(getVal(ce.style.backgroundPosition, 1)), true, true); + selectByValue(f, 'background_vpos_measurement', getMeasurement(getVal(ce.style.backgroundPosition, 1))); + + // Setup block fields + + selectByValue(f, 'block_wordspacing', getNum(ce.style.wordSpacing), true, true); + selectByValue(f, 'block_wordspacing_measurement', getMeasurement(ce.style.wordSpacing)); + selectByValue(f, 'block_letterspacing', getNum(ce.style.letterSpacing), true, true); + selectByValue(f, 'block_letterspacing_measurement', getMeasurement(ce.style.letterSpacing)); + selectByValue(f, 'block_vertical_alignment', ce.style.verticalAlign, true, true); + selectByValue(f, 'block_text_align', ce.style.textAlign, true, true); + f.block_text_indent.value = getNum(ce.style.textIndent); + selectByValue(f, 'block_text_indent_measurement', getMeasurement(ce.style.textIndent)); + selectByValue(f, 'block_whitespace', ce.style.whiteSpace, true, true); + selectByValue(f, 'block_display', ce.style.display, true, true); + + // Setup box fields + + f.box_width.value = getNum(ce.style.width); + selectByValue(f, 'box_width_measurement', getMeasurement(ce.style.width)); + + f.box_height.value = getNum(ce.style.height); + selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height)); + + if (tinymce.isGecko) + selectByValue(f, 'box_float', ce.style.cssFloat, true, true); + else + selectByValue(f, 'box_float', ce.style.styleFloat, true, true); + + selectByValue(f, 'box_clear', ce.style.clear, true, true); + + setupBox(f, ce, 'box_padding', 'padding', ''); + setupBox(f, ce, 'box_margin', 'margin', ''); + + // Setup border fields + + setupBox(f, ce, 'border_style', 'border', 'Style'); + setupBox(f, ce, 'border_width', 'border', 'Width'); + setupBox(f, ce, 'border_color', 'border', 'Color'); + + updateColor('border_color_top_pick', 'border_color_top'); + updateColor('border_color_right_pick', 'border_color_right'); + updateColor('border_color_bottom_pick', 'border_color_bottom'); + updateColor('border_color_left_pick', 'border_color_left'); + + f.elements.border_color_top.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_top.value); + f.elements.border_color_right.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_right.value); + f.elements.border_color_bottom.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_bottom.value); + f.elements.border_color_left.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_left.value); + + // Setup list fields + + selectByValue(f, 'list_type', ce.style.listStyleType, true, true); + selectByValue(f, 'list_position', ce.style.listStylePosition, true, true); + f.list_bullet_image.value = ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + + // Setup box fields + + selectByValue(f, 'positioning_type', ce.style.position, true, true); + selectByValue(f, 'positioning_visibility', ce.style.visibility, true, true); + selectByValue(f, 'positioning_overflow', ce.style.overflow, true, true); + f.positioning_zindex.value = ce.style.zIndex ? ce.style.zIndex : ""; + + f.positioning_width.value = getNum(ce.style.width); + selectByValue(f, 'positioning_width_measurement', getMeasurement(ce.style.width)); + + f.positioning_height.value = getNum(ce.style.height); + selectByValue(f, 'positioning_height_measurement', getMeasurement(ce.style.height)); + + setupBox(f, ce, 'positioning_placement', '', '', new Array('top', 'right', 'bottom', 'left')); + + s = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", 'gi'), "$1"); + s = s.replace(/,/g, ' '); + + if (!hasEqualValues(new Array(getVal(s, 0), getVal(s, 1), getVal(s, 2), getVal(s, 3)))) { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = getNum(getVal(s, 1)); + selectByValue(f, 'positioning_clip_right_measurement', getMeasurement(getVal(s, 1))); + f.positioning_clip_bottom.value = getNum(getVal(s, 2)); + selectByValue(f, 'positioning_clip_bottom_measurement', getMeasurement(getVal(s, 2))); + f.positioning_clip_left.value = getNum(getVal(s, 3)); + selectByValue(f, 'positioning_clip_left_measurement', getMeasurement(getVal(s, 3))); + } else { + f.positioning_clip_top.value = getNum(getVal(s, 0)); + selectByValue(f, 'positioning_clip_top_measurement', getMeasurement(getVal(s, 0))); + f.positioning_clip_right.value = f.positioning_clip_bottom.value = f.positioning_clip_left.value; + } + +// setupBox(f, ce, '', 'border', 'Color'); +} + +function getMeasurement(s) { + return s.replace(/^([0-9]+)(.*)$/, "$2"); +} + +function getNum(s) { + if (new RegExp('^[0-9]+[a-z%]+$', 'gi').test(s)) + return s.replace(/[^0-9]/g, ''); + + return s; +} + +function inStr(s, n) { + return new RegExp(n, 'gi').test(s); +} + +function getVal(s, i) { + var a = s.split(' '); + + if (a.length > 1) + return a[i]; + + return ""; +} + +function setValue(f, n, v) { + if (f.elements[n].type == "text") + f.elements[n].value = v; + else + selectByValue(f, n, v, true, true); +} + +function setupBox(f, ce, fp, pr, sf, b) { + if (typeof(b) == "undefined") + b = new Array('Top', 'Right', 'Bottom', 'Left'); + + if (isSame(ce, pr, sf, b)) { + f.elements[fp + "_same"].checked = true; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + f.elements[fp + "_right"].value = ""; + f.elements[fp + "_right"].disabled = true; + f.elements[fp + "_bottom"].value = ""; + f.elements[fp + "_bottom"].disabled = true; + f.elements[fp + "_left"].value = ""; + f.elements[fp + "_left"].disabled = true; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + f.elements[fp + "_left_measurement"].disabled = true; + f.elements[fp + "_bottom_measurement"].disabled = true; + f.elements[fp + "_right_measurement"].disabled = true; + } + } else { + f.elements[fp + "_same"].checked = false; + + setValue(f, fp + "_top", getNum(ce.style[pr + b[0] + sf])); + f.elements[fp + "_top"].disabled = false; + + setValue(f, fp + "_right", getNum(ce.style[pr + b[1] + sf])); + f.elements[fp + "_right"].disabled = false; + + setValue(f, fp + "_bottom", getNum(ce.style[pr + b[2] + sf])); + f.elements[fp + "_bottom"].disabled = false; + + setValue(f, fp + "_left", getNum(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left"].disabled = false; + + if (f.elements[fp + "_top_measurement"]) { + selectByValue(f, fp + '_top_measurement', getMeasurement(ce.style[pr + b[0] + sf])); + selectByValue(f, fp + '_right_measurement', getMeasurement(ce.style[pr + b[1] + sf])); + selectByValue(f, fp + '_bottom_measurement', getMeasurement(ce.style[pr + b[2] + sf])); + selectByValue(f, fp + '_left_measurement', getMeasurement(ce.style[pr + b[3] + sf])); + f.elements[fp + "_left_measurement"].disabled = false; + f.elements[fp + "_bottom_measurement"].disabled = false; + f.elements[fp + "_right_measurement"].disabled = false; + } + } +} + +function isSame(e, pr, sf, b) { + var a = new Array(), i, x; + + if (typeof(b) == "undefined") + b = new Array('Top', 'Right', 'Bottom', 'Left'); + + if (typeof(sf) == "undefined" || sf == null) + sf = ""; + + a[0] = e.style[pr + b[0] + sf]; + a[1] = e.style[pr + b[1] + sf]; + a[2] = e.style[pr + b[2] + sf]; + a[3] = e.style[pr + b[3] + sf]; + + for (i=0; i 0 ? s.substring(1) : s; + + if (f.text_none.checked) + s = "none"; + + ce.style.textDecoration = s; + + // Build background styles + + ce.style.backgroundColor = f.background_color.value; + ce.style.backgroundImage = f.background_image.value != "" ? "url(" + f.background_image.value + ")" : ""; + ce.style.backgroundRepeat = f.background_repeat.value; + ce.style.backgroundAttachment = f.background_attachment.value; + + if (f.background_hpos.value != "") { + s = ""; + s += f.background_hpos.value + (isNum(f.background_hpos.value) ? f.background_hpos_measurement.value : "") + " "; + s += f.background_vpos.value + (isNum(f.background_vpos.value) ? f.background_vpos_measurement.value : ""); + ce.style.backgroundPosition = s; + } + + // Build block styles + + ce.style.wordSpacing = f.block_wordspacing.value + (isNum(f.block_wordspacing.value) ? f.block_wordspacing_measurement.value : ""); + ce.style.letterSpacing = f.block_letterspacing.value + (isNum(f.block_letterspacing.value) ? f.block_letterspacing_measurement.value : ""); + ce.style.verticalAlign = f.block_vertical_alignment.value; + ce.style.textAlign = f.block_text_align.value; + ce.style.textIndent = f.block_text_indent.value + (isNum(f.block_text_indent.value) ? f.block_text_indent_measurement.value : ""); + ce.style.whiteSpace = f.block_whitespace.value; + ce.style.display = f.block_display.value; + + // Build box styles + + ce.style.width = f.box_width.value + (isNum(f.box_width.value) ? f.box_width_measurement.value : ""); + ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : ""); + ce.style.styleFloat = f.box_float.value; + + if (tinymce.isGecko) + ce.style.cssFloat = f.box_float.value; + + ce.style.clear = f.box_clear.value; + + if (!f.box_padding_same.checked) { + ce.style.paddingTop = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + ce.style.paddingRight = f.box_padding_right.value + (isNum(f.box_padding_right.value) ? f.box_padding_right_measurement.value : ""); + ce.style.paddingBottom = f.box_padding_bottom.value + (isNum(f.box_padding_bottom.value) ? f.box_padding_bottom_measurement.value : ""); + ce.style.paddingLeft = f.box_padding_left.value + (isNum(f.box_padding_left.value) ? f.box_padding_left_measurement.value : ""); + } else + ce.style.padding = f.box_padding_top.value + (isNum(f.box_padding_top.value) ? f.box_padding_top_measurement.value : ""); + + if (!f.box_margin_same.checked) { + ce.style.marginTop = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + ce.style.marginRight = f.box_margin_right.value + (isNum(f.box_margin_right.value) ? f.box_margin_right_measurement.value : ""); + ce.style.marginBottom = f.box_margin_bottom.value + (isNum(f.box_margin_bottom.value) ? f.box_margin_bottom_measurement.value : ""); + ce.style.marginLeft = f.box_margin_left.value + (isNum(f.box_margin_left.value) ? f.box_margin_left_measurement.value : ""); + } else + ce.style.margin = f.box_margin_top.value + (isNum(f.box_margin_top.value) ? f.box_margin_top_measurement.value : ""); + + // Build border styles + + if (!f.border_style_same.checked) { + ce.style.borderTopStyle = f.border_style_top.value; + ce.style.borderRightStyle = f.border_style_right.value; + ce.style.borderBottomStyle = f.border_style_bottom.value; + ce.style.borderLeftStyle = f.border_style_left.value; + } else + ce.style.borderStyle = f.border_style_top.value; + + if (!f.border_width_same.checked) { + ce.style.borderTopWidth = f.border_width_top.value + (isNum(f.border_width_top.value) ? f.border_width_top_measurement.value : ""); + ce.style.borderRightWidth = f.border_width_right.value + (isNum(f.border_width_right.value) ? f.border_width_right_measurement.value : ""); + ce.style.borderBottomWidth = f.border_width_bottom.value + (isNum(f.border_width_bottom.value) ? f.border_width_bottom_measurement.value : ""); + ce.style.borderLeftWidth = f.border_width_left.value + (isNum(f.border_width_left.value) ? f.border_width_left_measurement.value : ""); + } else + ce.style.borderWidth = f.border_width_top.value; + + if (!f.border_color_same.checked) { + ce.style.borderTopColor = f.border_color_top.value; + ce.style.borderRightColor = f.border_color_right.value; + ce.style.borderBottomColor = f.border_color_bottom.value; + ce.style.borderLeftColor = f.border_color_left.value; + } else + ce.style.borderColor = f.border_color_top.value; + + // Build list styles + + ce.style.listStyleType = f.list_type.value; + ce.style.listStylePosition = f.list_position.value; + ce.style.listStyleImage = f.list_bullet_image.value != "" ? "url(" + f.list_bullet_image.value + ")" : ""; + + // Build positioning styles + + ce.style.position = f.positioning_type.value; + ce.style.visibility = f.positioning_visibility.value; + + if (ce.style.width == "") + ce.style.width = f.positioning_width.value + (isNum(f.positioning_width.value) ? f.positioning_width_measurement.value : ""); + + if (ce.style.height == "") + ce.style.height = f.positioning_height.value + (isNum(f.positioning_height.value) ? f.positioning_height_measurement.value : ""); + + ce.style.zIndex = f.positioning_zindex.value; + ce.style.overflow = f.positioning_overflow.value; + + if (!f.positioning_placement_same.checked) { + ce.style.top = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.right = f.positioning_placement_right.value + (isNum(f.positioning_placement_right.value) ? f.positioning_placement_right_measurement.value : ""); + ce.style.bottom = f.positioning_placement_bottom.value + (isNum(f.positioning_placement_bottom.value) ? f.positioning_placement_bottom_measurement.value : ""); + ce.style.left = f.positioning_placement_left.value + (isNum(f.positioning_placement_left.value) ? f.positioning_placement_left_measurement.value : ""); + } else { + s = f.positioning_placement_top.value + (isNum(f.positioning_placement_top.value) ? f.positioning_placement_top_measurement.value : ""); + ce.style.top = s; + ce.style.right = s; + ce.style.bottom = s; + ce.style.left = s; + } + + if (!f.positioning_clip_same.checked) { + s = "rect("; + s += (isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_right.value) ? f.positioning_clip_right.value + f.positioning_clip_right_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_bottom.value) ? f.positioning_clip_bottom.value + f.positioning_clip_bottom_measurement.value : "auto") + " "; + s += (isNum(f.positioning_clip_left.value) ? f.positioning_clip_left.value + f.positioning_clip_left_measurement.value : "auto"); + s += ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } else { + s = "rect("; + t = isNum(f.positioning_clip_top.value) ? f.positioning_clip_top.value + f.positioning_clip_top_measurement.value : "auto"; + s += t + " "; + s += t + " "; + s += t + " "; + s += t + ")"; + + if (s != "rect(auto auto auto auto)") + ce.style.clip = s; + } + + ce.style.cssText = ce.style.cssText; +} + +function isNum(s) { + return new RegExp('[0-9]+', 'g').test(s); +} + +function showDisabledControls() { + var f = document.forms, i, a; + + for (i=0; i 1) { + addSelectValue(f, s, p[0], p[1]); + + if (se) + selectByValue(f, s, p[1]); + } else { + addSelectValue(f, s, p[0], p[0]); + + if (se) + selectByValue(f, s, p[0]); + } + } +} + +function toggleSame(ce, pre) { + var el = document.forms[0].elements, i; + + if (ce.checked) { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = true; + el[pre + "_bottom"].disabled = true; + el[pre + "_left"].disabled = true; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = true; + el[pre + "_bottom_measurement"].disabled = true; + el[pre + "_left_measurement"].disabled = true; + } + } else { + el[pre + "_top"].disabled = false; + el[pre + "_right"].disabled = false; + el[pre + "_bottom"].disabled = false; + el[pre + "_left"].disabled = false; + + if (el[pre + "_top_measurement"]) { + el[pre + "_top_measurement"].disabled = false; + el[pre + "_right_measurement"].disabled = false; + el[pre + "_bottom_measurement"].disabled = false; + el[pre + "_left_measurement"].disabled = false; + } + } + + showDisabledControls(); +} + +function synch(fr, to) { + var f = document.forms[0]; + + f.elements[to].value = f.elements[fr].value; + + if (f.elements[fr + "_measurement"]) + selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value); +} + +tinyMCEPopup.onInit.add(init); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js new file mode 100644 index 0000000000..5026313e2e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js @@ -0,0 +1,63 @@ +tinyMCE.addI18n('en.style_dlg',{ +title:"Edit CSS Style", +apply:"Apply", +text_tab:"Text", +background_tab:"Background", +block_tab:"Block", +box_tab:"Box", +border_tab:"Border", +list_tab:"List", +positioning_tab:"Positioning", +text_props:"Text", +text_font:"Font", +text_size:"Size", +text_weight:"Weight", +text_style:"Style", +text_variant:"Variant", +text_lineheight:"Line height", +text_case:"Case", +text_color:"Color", +text_decoration:"Decoration", +text_overline:"overline", +text_underline:"underline", +text_striketrough:"strikethrough", +text_blink:"blink", +text_none:"none", +background_color:"Background color", +background_image:"Background image", +background_repeat:"Repeat", +background_attachment:"Attachment", +background_hpos:"Horizontal position", +background_vpos:"Vertical position", +block_wordspacing:"Word spacing", +block_letterspacing:"Letter spacing", +block_vertical_alignment:"Vertical alignment", +block_text_align:"Text align", +block_text_indent:"Text indent", +block_whitespace:"Whitespace", +block_display:"Display", +box_width:"Width", +box_height:"Height", +box_float:"Float", +box_clear:"Clear", +padding:"Padding", +same:"Same for all", +top:"Top", +right:"Right", +bottom:"Bottom", +left:"Left", +margin:"Margin", +style:"Style", +width:"Width", +height:"Height", +color:"Color", +list_type:"Type", +bullet_image:"Bullet image", +position:"Position", +positioning_type:"Type", +visibility:"Visibility", +zindex:"Z-index", +overflow:"Overflow", +placement:"Placement", +clip:"Clip" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/props.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/props.htm new file mode 100644 index 0000000000..54538e3577 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/style/props.htm @@ -0,0 +1,731 @@ + + + + {#style_dlg.title} + + + + + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + + +
     
    +
    + +
    + + + +
    + + + + + + +
    + +  
    +
    + +
    + + + + + +
     
    +
    {#style_dlg.text_decoration} + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
     
    +
    + + + + +
     
    +
    + + + + + + +
     
    +
    + + + + + + +
     
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + + +
     
    +
    + + + + + + +
     
    +
    + + + + + + +
     
    +
    +
    + +
    + + + + + + + + + + + + + + +
    + + + + + + +
     
    +
       
    + + + + + + +
     
    +
       
    +
    +
    + {#style_dlg.padding} + + + + + + + + + + + + + + + + + + + + + + +
     
    + + + + + + +
     
    +
    + + + + + + +
     
    +
    + + + + + + +
     
    +
    + + + + + + +
     
    +
    +
    +
    + +
    +
    + {#style_dlg.margin} + + + + + + + + + + + + + + + + + + + + + + +
     
    + + + + + + +
     
    +
    + + + + + + +
     
    +
    + + + + + + +
     
    +
    + + + + + + +
     
    +
    +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      {#style_dlg.style} {#style_dlg.width} {#style_dlg.color}
          
    {#style_dlg.top}   + + + + + + +
     
    +
      + + + + + +
     
    +
    {#style_dlg.right}   + + + + + + +
     
    +
      + + + + + +
     
    +
    {#style_dlg.bottom}   + + + + + + +
     
    +
      + + + + + +
     
    +
    {#style_dlg.left}   + + + + + + +
     
    +
      + + + + + +
     
    +
    +
    + +
    + + + + + + + + + + + + + + + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + +
       
    + + + + + + +
     
    +
       
    + + + + + + +
     
    +
       
    + +
    +
    + {#style_dlg.placement} + + + + + + + + + + + + + + + + + + + + + + +
     
    {#style_dlg.top} + + + + + + +
     
    +
    {#style_dlg.right} + + + + + + +
     
    +
    {#style_dlg.bottom} + + + + + + +
     
    +
    {#style_dlg.left} + + + + + + +
     
    +
    +
    +
    + +
    +
    + {#style_dlg.clip} + + + + + + + + + + + + + + + + + + + + + + +
     
    {#style_dlg.top} + + + + + + +
     
    +
    {#style_dlg.right} + + + + + + +
     
    +
    {#style_dlg.bottom} + + + + + + +
     
    +
    {#style_dlg.left} + + + + + + +
     
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    + +
     
    +
    +
    + +
    + +
    +
    +
    + +
    +
    +
    + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm new file mode 100644 index 0000000000..054e8efd51 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm @@ -0,0 +1,183 @@ + + + + {#table_dlg.cell_title} + + + + + + + + +
    + + +
    +
    +
    + {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + +
    + + + +
    + +
    +
    +
    + +
    +
    + {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + + +
     
    +
    + + + + + +
     
    +
    + + + + + +
     
    +
    +
    +
    +
    + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css new file mode 100644 index 0000000000..a067ecdfed --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css @@ -0,0 +1,17 @@ +/* CSS file for cell dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#class { + width: 150px; +} \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/row.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/row.css new file mode 100644 index 0000000000..1f7755dafa --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/row.css @@ -0,0 +1,25 @@ +/* CSS file for row dialog in the table plugin */ + +.panel_wrapper div.current { + height: 200px; +} + +.advfield { + width: 200px; +} + +#action { + margin-bottom: 3px; +} + +#rowtype,#align,#valign,#class,#height { + width: 150px; +} + +#height { + width: 50px; +} + +.col2 { + padding-left: 20px; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/table.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/table.css new file mode 100644 index 0000000000..d11c3f69cb --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/css/table.css @@ -0,0 +1,13 @@ +/* CSS file for table dialog in the table plugin */ + +.panel_wrapper div.current { + height: 245px; +} + +.advfield { + width: 200px; +} + +#class { + width: 150px; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js new file mode 100644 index 0000000000..714134b969 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js @@ -0,0 +1 @@ +(function(){var each=tinymce.each;tinymce.create('tinymce.plugins.TablePlugin',{init:function(ed,url){var t=this;t.editor=ed;t.url=url;each([['table','table.desc','mceInsertTable',true],['delete_table','table.del','mceTableDelete'],['delete_col','table.delete_col_desc','mceTableDeleteCol'],['delete_row','table.delete_row_desc','mceTableDeleteRow'],['col_after','table.col_after_desc','mceTableInsertColAfter'],['col_before','table.col_before_desc','mceTableInsertColBefore'],['row_after','table.row_after_desc','mceTableInsertRowAfter'],['row_before','table.row_before_desc','mceTableInsertRowBefore'],['row_props','table.row_desc','mceTableRowProps',true],['cell_props','table.cell_desc','mceTableCellProps',true],['split_cells','table.split_cells_desc','mceTableSplitCells',true],['merge_cells','table.merge_cells_desc','mceTableMergeCells',true]],function(c){ed.addButton(c[0],{title:c[1],cmd:c[2],ui:c[3]});});ed.onInit.add(function(){if(ed&&ed.plugins.contextmenu){ed.plugins.contextmenu.onContextMenu.add(function(th,m,e){var sm;if(ed.dom.getParent(e,'td')||ed.dom.getParent(e,'th')){m.removeAll();m.add({title:'table.desc',icon:'table',cmd:'mceInsertTable',ui:true,value:{action:'insert'}});m.add({title:'table.props_desc',icon:'table_props',cmd:'mceInsertTable',ui:true});m.add({title:'table.del',icon:'delete_table',cmd:'mceTableDelete',ui:true});m.addSeparator();sm=m.addMenu({title:'table.cell'});sm.add({title:'table.cell_desc',icon:'cell_props',cmd:'mceTableCellProps',ui:true});sm.add({title:'table.split_cells_desc',icon:'split_cells',cmd:'mceTableSplitCells',ui:true});sm.add({title:'table.merge_cells_desc',icon:'merge_cells',cmd:'mceTableMergeCells',ui:true});sm=m.addMenu({title:'table.row'});sm.add({title:'table.row_desc',icon:'row_props',cmd:'mceTableRowProps',ui:true});sm.add({title:'table.row_before_desc',icon:'row_before',cmd:'mceTableInsertRowBefore'});sm.add({title:'table.row_after_desc',icon:'row_after',cmd:'mceTableInsertRowAfter'});sm.add({title:'table.delete_row_desc',icon:'delete_row',cmd:'mceTableDeleteRow'});sm.addSeparator();sm.add({title:'table.cut_row_desc',icon:'cut',cmd:'mceTableCutRow'});sm.add({title:'table.copy_row_desc',icon:'copy',cmd:'mceTableCopyRow'});sm.add({title:'table.paste_row_before_desc',icon:'paste',cmd:'mceTablePasteRowBefore'});sm.add({title:'table.paste_row_after_desc',icon:'paste',cmd:'mceTablePasteRowAfter'});sm=m.addMenu({title:'table.col'});sm.add({title:'table.col_before_desc',icon:'col_before',cmd:'mceTableInsertColBefore'});sm.add({title:'table.col_after_desc',icon:'col_after',cmd:'mceTableInsertColAfter'});sm.add({title:'table.delete_col_desc',icon:'delete_col',cmd:'mceTableDeleteCol'});}else m.add({title:'table.desc',icon:'table',cmd:'mceInsertTable',ui:true});});}});if(tinymce.isGecko){ed.onKeyPress.add(function(ed,e){var n;if(e.keyCode==46){n=ed.dom.getParent(ed.selection.getNode(),'TD,TH');if(n&&(!n.hasChildNodes()||(n.childNodes.length==1&&n.firstChild.nodeName=='BR')))tinymce.dom.Event.cancel(e);}});}ed.onKeyDown.add(function(ed,e){if(e.keyCode==9&&ed.dom.getParent(ed.selection.getNode(),'TABLE'))ed.undoManager.add();});ed.onNodeChange.add(function(ed,cm,n){var p=ed.dom.getParent(n,'td,th,caption');cm.setActive('table',!!p);if(p&&p.nodeName==='CAPTION')p=null;cm.setDisabled('delete_table',!p);cm.setDisabled('delete_col',!p);cm.setDisabled('delete_table',!p);cm.setDisabled('delete_row',!p);cm.setDisabled('col_after',!p);cm.setDisabled('col_before',!p);cm.setDisabled('row_after',!p);cm.setDisabled('row_before',!p);cm.setDisabled('row_props',!p);cm.setDisabled('cell_props',!p);cm.setDisabled('split_cells',!p||(parseInt(ed.dom.getAttrib(p,'colspan','1'))<2&&parseInt(ed.dom.getAttrib(p,'rowspan','1'))<2));cm.setDisabled('merge_cells',!p);});},execCommand:function(cmd,ui,val){var ed=this.editor,b;switch(cmd){case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":ed.execCommand('mceBeginUndoLevel');this._doExecCommand(cmd,ui,val);ed.execCommand('mceEndUndoLevel');return true;}return false;},getInfo:function(){return{longname:'Tables',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_doExecCommand:function(command,user_interface,value){var inst=this.editor,ed=inst,url=this.url;var focusElm=inst.selection.getNode();var trElm=inst.dom.getParent(focusElm,"tr");var tdElm=inst.dom.getParent(focusElm,"td,th");var tableElm=inst.dom.getParent(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i0&&inArray(ar[i],v))return true;if(ar[i]==v)return true;}return false;}function select(dx,dy){var td;grid=getTableGrid(tableElm);dx=dx||0;dy=dy||0;dx=Math.max(cpos.cellindex+dx,0);dy=Math.max(cpos.rowindex+dy,0);inst.execCommand('mceRepaint');td=getCell(grid,dy,dx);if(td){inst.selection.select(td.firstChild||td);inst.selection.collapse(1);}};function makeTD(){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='
    ';}function getColRowSpan(td){var colspan=inst.dom.getAttrib(td,"colspan");var rowspan=inst.dom.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan};}function getCellPos(grid,td){var x,y;for(y=0;y1){for(var i=x;i1)td.rowSpan=sd.rowspan+1;lastElm=td;}deleteMarked(tableElm);}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node;}return null;}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td);}while((td=nexttd)!=null);}}while((tr=next)!=null);}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i';if(tinymce.isIE)trNext.insertBefore(newTD,trNext.cells(td_elm.cellIndex));else trNext.insertBefore(newTD,trNext.cells[td_elm.cellIndex]);trNext=nextElm(trNext,"TR");}}function copyRow(doc,table,tr){var grid=getTableGrid(table);var newTR=tr.cloneNode(false);var cpos=getCellPos(grid,tr.cells[0]);var lastCell=null;var tableBorder=inst.dom.getAttrib(table,"border");var tdElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){var newTD=null;if(lastCell!=tdElm){for(var i=0;i';}newTD.colSpan=1;newTD.rowSpan=1;newTR.appendChild(newTD);lastCell=tdElm;}return newTR;}switch(command){case"mceTableRowProps":if(trElm==null)return true;if(user_interface){inst.windowManager.open({url:url+'/row.htm',width:400+parseInt(inst.getLang('table.rowprops_delta_width',0)),height:295+parseInt(inst.getLang('table.rowprops_delta_height',0)),inline:1},{plugin_url:url});}return true;case"mceTableCellProps":if(tdElm==null)return true;if(user_interface){inst.windowManager.open({url:url+'/cell.htm',width:400+parseInt(inst.getLang('table.cellprops_delta_width',0)),height:295+parseInt(inst.getLang('table.cellprops_delta_height',0)),inline:1},{plugin_url:url});}return true;case"mceInsertTable":if(user_interface){inst.windowManager.open({url:url+'/table.htm',width:400+parseInt(inst.getLang('table.table_delta_width',0)),height:320+parseInt(inst.getLang('table.table_delta_height',0)),inline:1},{plugin_url:url,action:value?value.action:0});}return true;case"mceTableDelete":var table=inst.dom.getParent(inst.selection.getNode(),"table");if(table){table.parentNode.removeChild(table);inst.execCommand('mceRepaint');}return true;case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":if(!tableElm)return true;if(trElm&&tableElm!=trElm.parentNode)tableElm=trElm.parentNode;if(tableElm&&trElm){switch(command){case"mceTableCutRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);inst.execCommand("mceTableDeleteRow");break;case"mceTableCopyRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);break;case"mceTablePasteRowBefore":if(!trElm||!tdElm)return true;var newTR=inst.tableRowClipboard.cloneNode(true);var prevTR=prevElm(trElm,"TR");if(prevTR!=null)trimRow(tableElm,prevTR,prevTR.cells[0],newTR);trElm.parentNode.insertBefore(newTR,trElm);break;case"mceTablePasteRowAfter":if(!trElm||!tdElm)return true;var nextTR=nextElm(trElm,"TR");var newTR=inst.tableRowClipboard.cloneNode(true);trimRow(tableElm,trElm,tdElm,newTR);if(nextTR==null)trElm.parentNode.appendChild(newTR);else nextTR.parentNode.insertBefore(newTR,nextTR);break;case"mceTableInsertRowBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='
    ';newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}trElm.parentNode.insertBefore(newTR,trElm);select(0,1);break;case"mceTableInsertRowAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='
    ';newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}if(newTR.hasChildNodes()){var nextTR=nextElm(trElm,"TR");if(nextTR)nextTR.parentNode.insertBefore(newTR,nextTR);else tableElm.appendChild(newTR);}select(0,1);break;case"mceTableDeleteRow":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);if(grid.length==1){inst.dom.remove(inst.dom.getParent(tableElm,"table"));return true;}var cells=trElm.cells;var nextTR=nextElm(trElm,"TR");for(var x=0;x1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD);}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1;}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true;}lastTDElm=tdElm;}}deleteMarked(tableElm);select(0,-1);break;case"mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);if(!tinymce.isIE)newTD.innerHTML='
    ';newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm);}else tdElm.colSpan++;lastTDElm=tdElm;}}select();break;case"mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);if(!tinymce.isIE)newTD.innerHTML='
    ';newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD,TH");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD);}else tdElm.colSpan++;lastTDElm=tdElm;}}select(1);break;case"mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){inst.dom.remove(inst.dom.getParent(tableElm,"table"));return true;}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm);}lastTDElm=tdElm;}}select(-1);break;case"mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i';trElm.insertBefore(newTD,nextElm(tdElm,"TD,TH"));if(rowspan>1)addRows(newTD,trElm,rowspan);}addRows(tdElm,trElm,rowspan);}tableElm=inst.dom.getParent(inst.selection.getNode(),"table");break;case"mceTableMergeCells":var rows=[];var sel=inst.selection.getSel();var grid=getTableGrid(tableElm);if(tinymce.isIE||sel.rangeCount==1){if(user_interface){var sp=getColRowSpan(tdElm);inst.windowManager.open({url:url+'/merge_cells.htm',width:240+parseInt(inst.getLang('table.merge_cells_delta_width',0)),height:110+parseInt(inst.getLang('table.merge_cells_delta_height',0)),inline:1},{action:"update",numcols:sp.colspan,numrows:sp.rowspan,plugin_url:url});return true;}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y0)rows[rows.length]=rowCells;var td=getCell(grid,cpos.rowindex,cpos.cellindex);each(ed.dom.select('br',td),function(e,i){if(i>0&&ed.dom.getAttrib('mce_bogus'))ed.dom.remove(e);});}}}else{var cells=[];var sel=inst.selection.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i0)rows[rows.length]=rowCells;}var curRow=[];var lastTR=null;for(var y=0;ycolSpan)colSpan=rowColSpan;lastRowSpan=-1;}var lastColSpan=-1;for(var x=0;xrowSpan)rowSpan=colRowSpan;lastColSpan=-1;}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm;}if(tdElm.rowSpan>1)tdElm.rowSpan--;}}}}each(ed.dom.select('br',tdElm),function(e,i){if(i>0&&ed.dom.getAttrib(e,'mce_bogus'))ed.dom.remove(e);});break;}tableElm=inst.dom.getParent(inst.selection.getNode(),"table");inst.addVisual(tableElm);inst.nodeChanged();}return true;}return false;}});tinymce.PluginManager.add('table',tinymce.plugins.TablePlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js new file mode 100644 index 0000000000..b92e47f938 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js @@ -0,0 +1,1064 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var each = tinymce.each; + + tinymce.create('tinymce.plugins.TablePlugin', { + init : function(ed, url) { + var t = this; + + t.editor = ed; + t.url = url; + + // Register buttons + each([ + ['table', 'table.desc', 'mceInsertTable', true], + ['delete_table', 'table.del', 'mceTableDelete'], + ['delete_col', 'table.delete_col_desc', 'mceTableDeleteCol'], + ['delete_row', 'table.delete_row_desc', 'mceTableDeleteRow'], + ['col_after', 'table.col_after_desc', 'mceTableInsertColAfter'], + ['col_before', 'table.col_before_desc', 'mceTableInsertColBefore'], + ['row_after', 'table.row_after_desc', 'mceTableInsertRowAfter'], + ['row_before', 'table.row_before_desc', 'mceTableInsertRowBefore'], + ['row_props', 'table.row_desc', 'mceTableRowProps', true], + ['cell_props', 'table.cell_desc', 'mceTableCellProps', true], + ['split_cells', 'table.split_cells_desc', 'mceTableSplitCells', true], + ['merge_cells', 'table.merge_cells_desc', 'mceTableMergeCells', true] + ], function(c) { + ed.addButton(c[0], {title : c[1], cmd : c[2], ui : c[3]}); + }); + + ed.onInit.add(function() { + if (ed && ed.plugins.contextmenu) { + ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { + var sm; + + if (ed.dom.getParent(e, 'td') || ed.dom.getParent(e, 'th')) { + m.removeAll(); + m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable', ui : true, value : {action : 'insert'}}); + m.add({title : 'table.props_desc', icon : 'table_props', cmd : 'mceInsertTable', ui : true}); + m.add({title : 'table.del', icon : 'delete_table', cmd : 'mceTableDelete', ui : true}); + m.addSeparator(); + + // Cell menu + sm = m.addMenu({title : 'table.cell'}); + sm.add({title : 'table.cell_desc', icon : 'cell_props', cmd : 'mceTableCellProps', ui : true}); + sm.add({title : 'table.split_cells_desc', icon : 'split_cells', cmd : 'mceTableSplitCells', ui : true}); + sm.add({title : 'table.merge_cells_desc', icon : 'merge_cells', cmd : 'mceTableMergeCells', ui : true}); + + // Row menu + sm = m.addMenu({title : 'table.row'}); + sm.add({title : 'table.row_desc', icon : 'row_props', cmd : 'mceTableRowProps', ui : true}); + sm.add({title : 'table.row_before_desc', icon : 'row_before', cmd : 'mceTableInsertRowBefore'}); + sm.add({title : 'table.row_after_desc', icon : 'row_after', cmd : 'mceTableInsertRowAfter'}); + sm.add({title : 'table.delete_row_desc', icon : 'delete_row', cmd : 'mceTableDeleteRow'}); + sm.addSeparator(); + sm.add({title : 'table.cut_row_desc', icon : 'cut', cmd : 'mceTableCutRow'}); + sm.add({title : 'table.copy_row_desc', icon : 'copy', cmd : 'mceTableCopyRow'}); + sm.add({title : 'table.paste_row_before_desc', icon : 'paste', cmd : 'mceTablePasteRowBefore'}); + sm.add({title : 'table.paste_row_after_desc', icon : 'paste', cmd : 'mceTablePasteRowAfter'}); + + // Column menu + sm = m.addMenu({title : 'table.col'}); + sm.add({title : 'table.col_before_desc', icon : 'col_before', cmd : 'mceTableInsertColBefore'}); + sm.add({title : 'table.col_after_desc', icon : 'col_after', cmd : 'mceTableInsertColAfter'}); + sm.add({title : 'table.delete_col_desc', icon : 'delete_col', cmd : 'mceTableDeleteCol'}); + } else + m.add({title : 'table.desc', icon : 'table', cmd : 'mceInsertTable', ui : true}); + }); + } + }); + + // Block delete on gecko inside TD:s. Gecko is removing table elements and then produces incorrect tables + // The backspace key also removed TD:s but this one can not be blocked + if (tinymce.isGecko) { + ed.onKeyPress.add(function(ed, e) { + var n; + + if (e.keyCode == 46) { + n = ed.dom.getParent(ed.selection.getNode(), 'TD,TH'); + if (n && (!n.hasChildNodes() || (n.childNodes.length == 1 && n.firstChild.nodeName == 'BR'))) + tinymce.dom.Event.cancel(e); + } + }); + } + + // Add undo level when new rows are created using the tab key + ed.onKeyDown.add(function(ed, e) { + if (e.keyCode == 9 && ed.dom.getParent(ed.selection.getNode(), 'TABLE')) + ed.undoManager.add(); + }); + + ed.onNodeChange.add(function(ed, cm, n) { + var p = ed.dom.getParent(n, 'td,th,caption'); + + cm.setActive('table', !!p); + if (p && p.nodeName === 'CAPTION') + p = null; + + cm.setDisabled('delete_table', !p); + cm.setDisabled('delete_col', !p); + cm.setDisabled('delete_table', !p); + cm.setDisabled('delete_row', !p); + cm.setDisabled('col_after', !p); + cm.setDisabled('col_before', !p); + cm.setDisabled('row_after', !p); + cm.setDisabled('row_before', !p); + cm.setDisabled('row_props', !p); + cm.setDisabled('cell_props', !p); + cm.setDisabled('split_cells', !p || (parseInt(ed.dom.getAttrib(p, 'colspan', '1')) < 2 && parseInt(ed.dom.getAttrib(p, 'rowspan', '1')) < 2)); + cm.setDisabled('merge_cells', !p); + }); + }, + + execCommand : function(cmd, ui, val) { + var ed = this.editor, b; + + // Is table command + switch (cmd) { + case "mceInsertTable": + case "mceTableRowProps": + case "mceTableCellProps": + case "mceTableSplitCells": + case "mceTableMergeCells": + case "mceTableInsertRowBefore": + case "mceTableInsertRowAfter": + case "mceTableDeleteRow": + case "mceTableInsertColBefore": + case "mceTableInsertColAfter": + case "mceTableDeleteCol": + case "mceTableCutRow": + case "mceTableCopyRow": + case "mceTablePasteRowBefore": + case "mceTablePasteRowAfter": + case "mceTableDelete": + ed.execCommand('mceBeginUndoLevel'); + this._doExecCommand(cmd, ui, val); + ed.execCommand('mceEndUndoLevel'); + + return true; + } + + // Pass to next handler in chain + return false; + }, + + getInfo : function() { + return { + longname : 'Tables', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + }, + + // Private plugin internal methods + + /** + * Executes the table commands. + */ + _doExecCommand : function(command, user_interface, value) { + var inst = this.editor, ed = inst, url = this.url; + var focusElm = inst.selection.getNode(); + var trElm = inst.dom.getParent(focusElm, "tr"); + var tdElm = inst.dom.getParent(focusElm, "td,th"); + var tableElm = inst.dom.getParent(focusElm, "table"); + var doc = inst.contentWindow.document; + var tableBorder = tableElm ? tableElm.getAttribute("border") : ""; + + // Get first TD if no TD found + if (trElm && tdElm == null) + tdElm = trElm.cells[0]; + + function inArray(ar, v) { + for (var i=0; i 0 && inArray(ar[i], v)) + return true; + + // Found value + if (ar[i] == v) + return true; + } + + return false; + } + + function select(dx, dy) { + var td; + + grid = getTableGrid(tableElm); + dx = dx || 0; + dy = dy || 0; + dx = Math.max(cpos.cellindex + dx, 0); + dy = Math.max(cpos.rowindex + dy, 0); + + // Recalculate grid and select + inst.execCommand('mceRepaint'); + td = getCell(grid, dy, dx); + + if (td) { + inst.selection.select(td.firstChild || td); + inst.selection.collapse(1); + } + }; + + function makeTD() { + var newTD = doc.createElement("td"); + + if (!tinymce.isIE) + newTD.innerHTML = '
    '; + } + + function getColRowSpan(td) { + var colspan = inst.dom.getAttrib(td, "colspan"); + var rowspan = inst.dom.getAttrib(td, "rowspan"); + + colspan = colspan == "" ? 1 : parseInt(colspan); + rowspan = rowspan == "" ? 1 : parseInt(rowspan); + + return {colspan : colspan, rowspan : rowspan}; + } + + function getCellPos(grid, td) { + var x, y; + + for (y=0; y 1) { // Remove due to colspan + for (var i=x; i 1) + td.rowSpan = sd.rowspan + 1; + + lastElm = td; + } + + deleteMarked(tableElm); + } + } + + function prevElm(node, name) { + while ((node = node.previousSibling) != null) { + if (node.nodeName == name) + return node; + } + + return null; + } + + function nextElm(node, names) { + var namesAr = names.split(','); + + while ((node = node.nextSibling) != null) { + for (var i=0; i 1) { + do { + var nexttd = nextElm(td, "TD,TH"); + + if (td._delete) + td.parentNode.removeChild(td); + } while ((td = nexttd) != null); + } + } while ((tr = next) != null); + } + + function addRows(td_elm, tr_elm, rowspan) { + // Add rows + td_elm.rowSpan = 1; + var trNext = nextElm(tr_elm, "TR"); + for (var i=1; i 1) { + var newTD = cells[x].cloneNode(true); + var sd = getColRowSpan(cells[x]); + + newTD.rowSpan = sd.rowspan - 1; + + var nextTD = nextTR.cells[x]; + + if (nextTD == null) + nextTR.appendChild(newTD); + else + nextTR.insertBefore(newTD, nextTD); + } + } + + // Delete cells + var lastTDElm = null; + for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd.rowspan > 1) { + tdElm.rowSpan = sd.rowspan - 1; + } else { + trElm = tdElm.parentNode; + + if (trElm.parentNode) + trElm._delete = true; + } + + lastTDElm = tdElm; + } + } + + deleteMarked(tableElm); + + select(0, -1); + break; + + case "mceTableInsertColBefore": + if (!trElm || !tdElm) + return true; + + var grid = getTableGrid(tableElm); + var cpos = getCellPos(grid, tdElm); + var lastTDElm = null; + + for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd['colspan'] == 1) { + var newTD = doc.createElement(tdElm.nodeName); + + if (!tinymce.isIE) + newTD.innerHTML = '
    '; + + newTD.rowSpan = tdElm.rowSpan; + + tdElm.parentNode.insertBefore(newTD, tdElm); + } else + tdElm.colSpan++; + + lastTDElm = tdElm; + } + } + + select(); + break; + + case "mceTableInsertColAfter": + if (!trElm || !tdElm) + return true; + + var grid = getTableGrid(tableElm); + var cpos = getCellPos(grid, tdElm); + var lastTDElm = null; + + for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd['colspan'] == 1) { + var newTD = doc.createElement(tdElm.nodeName); + + if (!tinymce.isIE) + newTD.innerHTML = '
    '; + + newTD.rowSpan = tdElm.rowSpan; + + var nextTD = nextElm(tdElm, "TD,TH"); + if (nextTD == null) + tdElm.parentNode.appendChild(newTD); + else + nextTD.parentNode.insertBefore(newTD, nextTD); + } else + tdElm.colSpan++; + + lastTDElm = tdElm; + } + } + + select(1); + break; + + case "mceTableDeleteCol": + if (!trElm || !tdElm) + return true; + + var grid = getTableGrid(tableElm); + var cpos = getCellPos(grid, tdElm); + var lastTDElm = null; + + // Only one col, remove whole table + if (grid.length > 1 && grid[0].length <= 1) { + inst.dom.remove(inst.dom.getParent(tableElm, "table")); + return true; + } + + // Delete cells + for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) { + if (tdElm != lastTDElm) { + var sd = getColRowSpan(tdElm); + + if (sd['colspan'] > 1) + tdElm.colSpan = sd['colspan'] - 1; + else { + if (tdElm.parentNode) + tdElm.parentNode.removeChild(tdElm); + } + + lastTDElm = tdElm; + } + } + + select(-1); + break; + + case "mceTableSplitCells": + if (!trElm || !tdElm) + return true; + + var spandata = getColRowSpan(tdElm); + + var colspan = spandata["colspan"]; + var rowspan = spandata["rowspan"]; + + // Needs splitting + if (colspan > 1 || rowspan > 1) { + // Generate cols + tdElm.colSpan = 1; + for (var i=1; i 1) + addRows(newTD, trElm, rowspan); + } + + addRows(tdElm, trElm, rowspan); + } + + // Apply visual aids + tableElm = inst.dom.getParent(inst.selection.getNode(), "table"); + break; + + case "mceTableMergeCells": + var rows = []; + var sel = inst.selection.getSel(); + var grid = getTableGrid(tableElm); + + if (tinymce.isIE || sel.rangeCount == 1) { + if (user_interface) { + // Setup template + var sp = getColRowSpan(tdElm); + + inst.windowManager.open({ + url : url + '/merge_cells.htm', + width : 240 + parseInt(inst.getLang('table.merge_cells_delta_width', 0)), + height : 110 + parseInt(inst.getLang('table.merge_cells_delta_height', 0)), + inline : 1 + }, { + action : "update", + numcols : sp.colspan, + numrows : sp.rowspan, + plugin_url : url + }); + + return true; + } else { + var numRows = parseInt(value['numrows']); + var numCols = parseInt(value['numcols']); + var cpos = getCellPos(grid, tdElm); + + if (("" + numRows) == "NaN") + numRows = 1; + + if (("" + numCols) == "NaN") + numCols = 1; + + // Get rows and cells + var tRows = tableElm.rows; + for (var y=cpos.rowindex; y 0) + rows[rows.length] = rowCells; + + var td = getCell(grid, cpos.rowindex, cpos.cellindex); + each(ed.dom.select('br', td), function(e, i) { + if (i > 0 && ed.dom.getAttrib('mce_bogus')) + ed.dom.remove(e); + }); + } + + //return true; + } + } else { + var cells = []; + var sel = inst.selection.getSel(); + var lastTR = null; + var curRow = null; + var x1 = -1, y1 = -1, x2, y2; + + // Only one cell selected, whats the point? + if (sel.rangeCount < 2) + return true; + + // Get all selected cells + for (var i=0; i 0) + rows[rows.length] = rowCells; + } + + // Find selected cells in grid and box + var curRow = []; + var lastTR = null; + for (var y=0; y colSpan) + colSpan = rowColSpan; + + lastRowSpan = -1; + } + + // Validate vertical and get total rowspan + var lastColSpan = -1; + for (var x=0; x rowSpan) + rowSpan = colRowSpan; + + lastColSpan = -1; + } + + // Setup td + tdElm = rows[0][0]; + tdElm.rowSpan = rowSpan; + tdElm.colSpan = colSpan; + + // Merge cells + for (var y=0; y 0)) + tdElm.innerHTML += html; + + // Not current cell + if (rows[y][x] != tdElm && !rows[y][x]._deleted) { + var cpos = getCellPos(grid, rows[y][x]); + var tr = rows[y][x].parentNode; + + tr.removeChild(rows[y][x]); + rows[y][x]._deleted = true; + + // Empty TR, remove it + if (!tr.hasChildNodes()) { + tr.parentNode.removeChild(tr); + + var lastCell = null; + for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) { + if (cellElm != lastCell && cellElm.rowSpan > 1) + cellElm.rowSpan--; + + lastCell = cellElm; + } + + if (tdElm.rowSpan > 1) + tdElm.rowSpan--; + } + } + } + } + + // Remove all but one bogus br + each(ed.dom.select('br', tdElm), function(e, i) { + if (i > 0 && ed.dom.getAttrib(e, 'mce_bogus')) + ed.dom.remove(e); + }); + + break; + } + + tableElm = inst.dom.getParent(inst.selection.getNode(), "table"); + inst.addVisual(tableElm); + inst.nodeChanged(); + } + + return true; + } + + // Pass to next handler in chain + return false; + } + }); + + // Register plugin + tinymce.PluginManager.add('table', tinymce.plugins.TablePlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js new file mode 100644 index 0000000000..69be316c5d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js @@ -0,0 +1,256 @@ +tinyMCEPopup.requireLangPack(); + +var ed; + +function init() { + ed = tinyMCEPopup.editor; + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor') + + var inst = ed; + var tdElm = ed.dom.getParent(ed.selection.getNode(), "td,th"); + var formObj = document.forms[0]; + var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style")); + + // Get table cell data + var celltype = tdElm.nodeName.toLowerCase(); + var align = ed.dom.getAttrib(tdElm, 'align'); + var valign = ed.dom.getAttrib(tdElm, 'valign'); + var width = trimSize(getStyle(tdElm, 'width', 'width')); + var height = trimSize(getStyle(tdElm, 'height', 'height')); + var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor')); + var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor')); + var className = ed.dom.getAttrib(tdElm, 'class'); + var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; + var id = ed.dom.getAttrib(tdElm, 'id'); + var lang = ed.dom.getAttrib(tdElm, 'lang'); + var dir = ed.dom.getAttrib(tdElm, 'dir'); + var scope = ed.dom.getAttrib(tdElm, 'scope'); + + // Setup form + addClassesToList('class', 'table_cell_styles'); + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.backgroundimage.value = backgroundimage; + formObj.width.value = width; + formObj.height.value = height; + formObj.id.value = id; + formObj.lang.value = lang; + formObj.style.value = ed.dom.serializeStyle(st); + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'valign', valign); + selectByValue(formObj, 'class', className); + selectByValue(formObj, 'celltype', celltype); + selectByValue(formObj, 'dir', dir); + selectByValue(formObj, 'scope', scope); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); +} + +function updateAction() { + var el = ed.selection.getNode(); + var inst = ed; + var tdElm = ed.dom.getParent(el, "td,th"); + var trElm = ed.dom.getParent(el, "tr"); + var tableElm = ed.dom.getParent(el, "table"); + var formObj = document.forms[0]; + + ed.execCommand('mceBeginUndoLevel'); + + switch (getSelectValue(formObj, 'action')) { + case "cell": + var celltype = getSelectValue(formObj, 'celltype'); + var scope = getSelectValue(formObj, 'scope'); + + if (ed.getParam("accessibility_warnings")) { + if (celltype == "th" && scope == "") + var answer = confirm(ed.getLang('table_dlg.missing_scope', '', true)); + else + var answer = true; + + if (!answer) + return; + } + + updateCell(tdElm); + break; + + case "row": + var cell = trElm.firstChild; + + if (cell.nodeName != "TD" && cell.nodeName != "TH") + cell = nextCell(cell); + + do { + cell = updateCell(cell, true); + } while ((cell = nextCell(cell)) != null); + + break; + + case "all": + var rows = tableElm.getElementsByTagName("tr"); + + for (var i=0; i colLimit) { + alert(inst.getLang('table_col_limit', '', true, {cols : colLimit})); + return false; + } else if (rowLimit && rows > rowLimit) { + alert(inst.getLang('table_row_limit', '', true, {rows : rowLimit})); + return false; + } else if (cellLimit && cols * rows > cellLimit) { + alert(inst.getLang('table_cell_limit', '', true, {cells : cellLimit})); + return false; + } + + // Update table + if (action == "update") { + inst.execCommand('mceBeginUndoLevel'); + + dom.setAttrib(elm, 'cellPadding', cellpadding, true); + dom.setAttrib(elm, 'cellSpacing', cellspacing, true); + dom.setAttrib(elm, 'border', border); + dom.setAttrib(elm, 'align', align); + dom.setAttrib(elm, 'frame', frame); + dom.setAttrib(elm, 'rules', rules); + dom.setAttrib(elm, 'class', className); + dom.setAttrib(elm, 'style', style); + dom.setAttrib(elm, 'id', id); + dom.setAttrib(elm, 'summary', summary); + dom.setAttrib(elm, 'dir', dir); + dom.setAttrib(elm, 'lang', lang); + + capEl = inst.dom.select('caption', elm)[0]; + + if (capEl && !caption) + capEl.parentNode.removeChild(capEl); + + if (!capEl && caption) { + capEl = elm.ownerDocument.createElement('caption'); + + if (!tinymce.isIE) + capEl.innerHTML = '
    '; + + elm.insertBefore(capEl, elm.firstChild); + } + + if (width && /(pt|em|cm)$/.test(width)) { + dom.setStyle(elm, 'width', width); + dom.setAttrib(elm, 'width', ''); + } else { + dom.setAttrib(elm, 'width', width, true); + dom.setStyle(elm, 'width', ''); + } + + // Remove these since they are not valid XHTML + dom.setAttrib(elm, 'borderColor', ''); + dom.setAttrib(elm, 'bgColor', ''); + dom.setAttrib(elm, 'background', ''); + + if (height) { + dom.setStyle(elm, 'height', height); + dom.setAttrib(elm, 'height', ''); + } + + if (background != '') + elm.style.backgroundImage = "url('" + background + "')"; + else + elm.style.backgroundImage = ''; + +/* if (tinyMCEPopup.getParam("inline_styles")) { + if (width != '') + elm.style.width = getCSSSize(width); + }*/ + + if (bordercolor != "") { + elm.style.borderColor = bordercolor; + elm.style.borderStyle = elm.style.borderStyle == "" ? "solid" : elm.style.borderStyle; + elm.style.borderWidth = border == "" ? "1px" : border; + } else + elm.style.borderColor = ''; + + elm.style.backgroundColor = bgcolor; + elm.style.height = getCSSSize(height); + + inst.addVisual(); + + // Fix for stange MSIE align bug + //elm.outerHTML = elm.outerHTML; + + inst.nodeChanged(); + inst.execCommand('mceEndUndoLevel'); + + // Repaint if dimensions changed + if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) + inst.execCommand('mceRepaint'); + + tinyMCEPopup.close(); + return true; + } + + // Create new table + html += '/g, '>'); + + return ' ' + attrib + '="' + value + '"'; +} + +function init() { + tinyMCEPopup.resizeToInnerSize(); + + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table'); + document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor'); + document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor'); + + var cols = 2, rows = 2, border = tinyMCEPopup.getParam('table_default_border', '0'), cellpadding = tinyMCEPopup.getParam('table_default_cellpadding', ''), cellspacing = tinyMCEPopup.getParam('table_default_cellspacing', ''); + var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; + var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules, frame; + var inst = tinyMCEPopup.editor, dom = inst.dom; + var formObj = document.forms[0]; + var elm = dom.getParent(inst.selection.getNode(), "table"); + + action = tinyMCEPopup.getWindowArg('action'); + + if (!action) + action = elm ? "update" : "insert"; + + if (elm && action != "insert") { + var rowsAr = elm.rows; + var cols = 0; + for (var i=0; i cols) + cols = rowsAr[i].cells.length; + + cols = cols; + rows = rowsAr.length; + + st = dom.parseStyle(dom.getAttrib(elm, "style")); + border = trimSize(getStyle(elm, 'border', 'borderWidth')); + cellpadding = dom.getAttrib(elm, 'cellpadding', ""); + cellspacing = dom.getAttrib(elm, 'cellspacing', ""); + width = trimSize(getStyle(elm, 'width', 'width')); + height = trimSize(getStyle(elm, 'height', 'height')); + bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor')); + bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor')); + align = dom.getAttrib(elm, 'align', align); + frame = dom.getAttrib(elm, 'frame'); + rules = dom.getAttrib(elm, 'rules'); + className = tinymce.trim(dom.getAttrib(elm, 'class').replace(/mceItem.+/g, '')); + id = dom.getAttrib(elm, 'id'); + summary = dom.getAttrib(elm, 'summary'); + style = dom.serializeStyle(st); + dir = dom.getAttrib(elm, 'dir'); + lang = dom.getAttrib(elm, 'lang'); + background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + formObj.caption.checked = elm.getElementsByTagName('caption').length > 0; + + orgTableWidth = width; + orgTableHeight = height; + + action = "update"; + formObj.insert.value = inst.getLang('update'); + } + + addClassesToList('class', "table_styles"); + + // Update form + selectByValue(formObj, 'align', align); + selectByValue(formObj, 'frame', frame); + selectByValue(formObj, 'rules', rules); + selectByValue(formObj, 'class', className); + formObj.cols.value = cols; + formObj.rows.value = rows; + formObj.border.value = border; + formObj.cellpadding.value = cellpadding; + formObj.cellspacing.value = cellspacing; + formObj.width.value = width; + formObj.height.value = height; + formObj.bordercolor.value = bordercolor; + formObj.bgcolor.value = bgcolor; + formObj.id.value = id; + formObj.summary.value = summary; + formObj.style.value = style; + formObj.dir.value = dir; + formObj.lang.value = lang; + formObj.backgroundimage.value = background; + + updateColor('bordercolor_pick', 'bordercolor'); + updateColor('bgcolor_pick', 'bgcolor'); + + // Resize some elements + if (isVisible('backgroundimagebrowser')) + document.getElementById('backgroundimage').style.width = '180px'; + + // Disable some fields in update mode + if (action == "update") { + formObj.cols.disabled = true; + formObj.rows.disabled = true; + } +} + +function changedSize() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + +/* var width = formObj.width.value; + if (width != "") + st['width'] = tinyMCEPopup.getParam("inline_styles") ? getCSSSize(width) : ""; + else + st['width'] = "";*/ + + var height = formObj.height.value; + if (height != "") + st['height'] = getCSSSize(height); + else + st['height'] = ""; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBackgroundImage() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedBorder() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + // Update border width if the element has a color + if (formObj.border.value != "" && formObj.bordercolor.value != "") + st['border-width'] = formObj.border.value + "px"; + + formObj.style.value = dom.serializeStyle(st); +} + +function changedColor() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + st['background-color'] = formObj.bgcolor.value; + + if (formObj.bordercolor.value != "") { + st['border-color'] = formObj.bordercolor.value; + + // Add border-width if it's missing + if (!st['border-width']) + st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px"; + } + + formObj.style.value = dom.serializeStyle(st); +} + +function changedStyle() { + var formObj = document.forms[0]; + var st = dom.parseStyle(formObj.style.value); + + if (st['background-image']) + formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); + else + formObj.backgroundimage.value = ''; + + if (st['width']) + formObj.width.value = trimSize(st['width']); + + if (st['height']) + formObj.height.value = trimSize(st['height']); + + if (st['background-color']) { + formObj.bgcolor.value = st['background-color']; + updateColor('bgcolor_pick','bgcolor'); + } + + if (st['border-color']) { + formObj.bordercolor.value = st['border-color']; + updateColor('bordercolor_pick','bordercolor'); + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js new file mode 100644 index 0000000000..000332a35d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js @@ -0,0 +1,74 @@ +tinyMCE.addI18n('en.table_dlg',{ +general_tab:"General", +advanced_tab:"Advanced", +general_props:"General properties", +advanced_props:"Advanced properties", +rowtype:"Row in table part", +title:"Insert/Modify table", +width:"Width", +height:"Height", +cols:"Cols", +rows:"Rows", +cellspacing:"Cellspacing", +cellpadding:"Cellpadding", +border:"Border", +align:"Alignment", +align_default:"Default", +align_left:"Left", +align_right:"Right", +align_middle:"Center", +row_title:"Table row properties", +cell_title:"Table cell properties", +cell_type:"Cell type", +valign:"Vertical alignment", +align_top:"Top", +align_bottom:"Bottom", +bordercolor:"Border color", +bgcolor:"Background color", +merge_cells_title:"Merge table cells", +id:"Id", +style:"Style", +langdir:"Language direction", +langcode:"Language code", +mime:"Target MIME type", +ltr:"Left to right", +rtl:"Right to left", +bgimage:"Background image", +summary:"Summary", +td:"Data", +th:"Header", +cell_cell:"Update current cell", +cell_row:"Update all cells in row", +cell_all:"Update all cells in table", +row_row:"Update current row", +row_odd:"Update odd rows in table", +row_even:"Update even rows in table", +row_all:"Update all rows in table", +thead:"Table Head", +tbody:"Table Body", +tfoot:"Table Foot", +scope:"Scope", +rowgroup:"Row Group", +colgroup:"Col Group", +col_limit:"You've exceeded the maximum number of columns of {$cols}.", +row_limit:"You've exceeded the maximum number of rows of {$rows}.", +cell_limit:"You've exceeded the maximum number of cells of {$cells}.", +missing_scope:"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.", +caption:"Table caption", +frame:"Frame", +frame_none:"none", +frame_groups:"groups", +frame_rows:"rows", +frame_cols:"cols", +frame_all:"all", +rules:"Rules", +rules_void:"void", +rules_above:"above", +rules_below:"below", +rules_hsides:"hsides", +rules_lhs:"lhs", +rules_rhs:"rhs", +rules_vsides:"vsides", +rules_box:"box", +rules_border:"border" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm new file mode 100644 index 0000000000..9d34a886b0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm @@ -0,0 +1,38 @@ + + + + {#table_dlg.merge_cells_title} + + + + + + + +
    +
    + {#table_dlg.merge_cells_title} + + + + + + + + + +
    {#table_dlg.cols}:
    {#table_dlg.rows}:
    +
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/row.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/row.htm new file mode 100644 index 0000000000..d59fbad07a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/row.htm @@ -0,0 +1,160 @@ + + + + {#table_dlg.row_title} + + + + + + + + +
    + + +
    +
    +
    + {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    +
    +
    + +
    +
    + {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + +
    + + + + + +
     
    +
    + + + + + +
     
    +
    +
    +
    +
    + +
    +
    + +
    + +
    +
    +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/table.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/table.htm new file mode 100644 index 0000000000..02f34e85f8 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/table/table.htm @@ -0,0 +1,192 @@ + + + + {#table_dlg.title} + + + + + + + + + +
    + + +
    +
    +
    + {#table_dlg.general_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +
    + +
    +
    + {#table_dlg.advanced_props} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + + +
     
    +
    + +
    + +
    + +
    + + + + + +
     
    +
    + + + + + +
     
    +
    +
    +
    +
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/blank.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/blank.htm new file mode 100644 index 0000000000..ecde53fae7 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/blank.htm @@ -0,0 +1,12 @@ + + + blank_page + + + + + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/css/template.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/css/template.css new file mode 100644 index 0000000000..2d23a4938c --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/css/template.css @@ -0,0 +1,23 @@ +#frmbody { + padding: 10px; + background-color: #FFF; + border: 1px solid #CCC; +} + +.frmRow { + margin-bottom: 10px; +} + +#templatesrc { + border: none; + width: 320px; + height: 240px; +} + +.title { + padding-bottom: 5px; +} + +.mceActionPanel { + padding-top: 5px; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js new file mode 100644 index 0000000000..e6f87866fa --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js @@ -0,0 +1 @@ +(function(){var each=tinymce.each;tinymce.create('tinymce.plugins.TemplatePlugin',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceTemplate',function(ui){ed.windowManager.open({file:url+'/template.htm',width:ed.getParam('template_popup_width',750),height:ed.getParam('template_popup_height',600),inline:1},{plugin_url:url});});ed.addCommand('mceInsertTemplate',t._insertTemplate,t);ed.addButton('template',{title:'template.desc',cmd:'mceTemplate'});ed.onPreProcess.add(function(ed,o){var dom=ed.dom;each(dom.select('div',o.node),function(e){if(dom.hasClass(e,'mceTmpl')){each(dom.select('*',e),function(e){if(dom.hasClass(e,ed.getParam('template_mdate_classes','mdate').replace(/\s+/g,'|')))e.innerHTML=t._getDateTime(new Date(),ed.getParam("template_mdate_format",ed.getLang("template.mdate_format")));});t._replaceVals(e);}});});},getInfo:function(){return{longname:'Template plugin',author:'Moxiecode Systems AB',authorurl:'http://www.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/template',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_insertTemplate:function(ui,v){var t=this,ed=t.editor,h,el,dom=ed.dom,sel=ed.selection.getContent();h=v.content;each(t.editor.getParam('template_replace_values'),function(v,k){if(typeof(v)!='function')h=h.replace(new RegExp('\\{\\$'+k+'\\}','g'),v);});el=dom.create('div',null,h);function hasClass(n,c){return new RegExp('\\b'+c+'\\b','g').test(n.className);};each(dom.select('*',el),function(n){if(hasClass(n,ed.getParam('template_cdate_classes','cdate').replace(/\s+/g,'|')))n.innerHTML=t._getDateTime(new Date(),ed.getParam("template_cdate_format",ed.getLang("template.cdate_format")));if(hasClass(n,ed.getParam('template_mdate_classes','mdate').replace(/\s+/g,'|')))n.innerHTML=t._getDateTime(new Date(),ed.getParam("template_mdate_format",ed.getLang("template.mdate_format")));if(hasClass(n,ed.getParam('template_selected_content_classes','selcontent').replace(/\s+/g,'|')))n.innerHTML=sel;});t._replaceVals(el);ed.execCommand('mceInsertContent',false,el.innerHTML);ed.addVisual();},_replaceVals:function(e){var dom=this.editor.dom,vl=this.editor.getParam('template_replace_values');each(dom.select('*',e),function(e){each(vl,function(v,k){if(dom.hasClass(e,k)){if(typeof(vl[k])=='function')vl[k](e);}});});},_getDateTime:function(d,fmt){if(!fmt)return"";function addZeros(value,len){var i;value=""+value;if(value.length'); + }, + + init : function() { + var ed = tinyMCEPopup.editor, tsrc, sel, x, u; + + tsrc = ed.getParam("template_templates", false); + sel = document.getElementById('tpath'); + + // Setup external template list + if (!tsrc && typeof(tinyMCETemplateList) != 'undefined') { + for (x=0, tsrc = []; x'); + }); + }, + + selectTemplate : function(u) { + var d = window.frames['templatesrc'].document; + + if (!u) + return; + + d.body.innerHTML = this.templateHTML = this.getFileContents(u); + }, + + insert : function() { + tinyMCEPopup.execCommand('mceInsertTemplate', false, { + content : this.templateHTML, + selection : tinyMCEPopup.editor.selection.getContent() + }); + + tinyMCEPopup.close(); + }, + + getFileContents : function(u) { + var x, d, t = 'text/plain'; + + function g(s) { + x = 0; + + try { + x = new ActiveXObject(s); + } catch (s) { + } + + return x; + }; + + x = window.ActiveXObject ? g('Msxml2.XMLHTTP') || g('Microsoft.XMLHTTP') : new XMLHttpRequest(); + + // Synchronous AJAX load file + x.overrideMimeType && x.overrideMimeType(t); + x.open("GET", u, false); + x.send(null); + + return x.responseText; + } +}; + +TemplateDialog.preInit(); +tinyMCEPopup.onInit.add(TemplateDialog.init, TemplateDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js new file mode 100644 index 0000000000..2471c3fa04 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js @@ -0,0 +1,15 @@ +tinyMCE.addI18n('en.template_dlg',{ +title:"Templates", +label:"Template", +desc_label:"Description", +desc:"Insert predefined template content", +select:"Select a template", +preview:"Preview", +warning:"Warning: Updating a template with a different one may cause data loss.", +mdate_format:"%Y-%m-%d %H:%M:%S", +cdate_format:"%Y-%m-%d %H:%M:%S", +months_long:"January,February,March,April,May,June,July,August,September,October,November,December", +months_short:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec", +day_long:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday", +day_short:"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/template.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/template.htm new file mode 100644 index 0000000000..00af3cc1f3 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/template/template.htm @@ -0,0 +1,39 @@ + + + {#template_dlg.title} + + + + + + +
    +
    +
    {#template_dlg.desc}
    +
    + +
    +
    +
    +
    + {#template_dlg.preview} + +
    +
    + +
    +
    + +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js new file mode 100644 index 0000000000..e1e4238a3b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.VisualChars',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceVisualChars',t._toggleVisualChars,t);ed.addButton('visualchars',{title:'visualchars.desc',cmd:'mceVisualChars'});ed.onBeforeGetContent.add(function(ed,o){if(t.state){t.state=true;t._toggleVisualChars();}});},getInfo:function(){return{longname:'Visual characters',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_toggleVisualChars:function(){var t=this,ed=t.editor,nl,i,h,d=ed.getDoc(),b=ed.getBody(),nv,s=ed.selection,bo;t.state=!t.state;ed.controlManager.setActive('visualchars',t.state);if(t.state){nl=[];tinymce.walk(b,function(n){if(n.nodeType==3&&n.nodeValue&&n.nodeValue.indexOf('\u00a0')!=-1)nl.push(n);},'childNodes');for(i=0;i$1');nv=nv.replace(/\u00a0/g,'\u00b7');ed.dom.setOuterHTML(nl[i],nv,d);}}else{nl=tinymce.grep(ed.dom.select('span',b),function(n){return ed.dom.hasClass(n,'mceVisualNbsp');});for(i=0;i$1'); + nv = nv.replace(/\u00a0/g, '\u00b7'); + ed.dom.setOuterHTML(nl[i], nv, d); + } + } else { + nl = tinymce.grep(ed.dom.select('span', b), function(n) { + return ed.dom.hasClass(n, 'mceVisualNbsp'); + }); + + for (i=0; i + + + {#xhtmlxtras_dlg.title_abbr_element} + + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    : + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm new file mode 100644 index 0000000000..54e4c9d9ec --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm @@ -0,0 +1,149 @@ + + + + {#xhtmlxtras_dlg.title_acronym_element} + + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    : + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm new file mode 100644 index 0000000000..cfbb409ab6 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm @@ -0,0 +1,154 @@ + + + + {#xhtmlxtras_dlg.attribs_title} + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.attribute_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.attribute_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm new file mode 100644 index 0000000000..7d9eaba4d2 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm @@ -0,0 +1,149 @@ + + + + {#xhtmlxtras_dlg.title_cite_element} + + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    : + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css new file mode 100644 index 0000000000..9a6a235c35 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css @@ -0,0 +1,11 @@ +.panel_wrapper div.current { + height: 290px; +} + +#id, #style, #title, #dir, #hreflang, #lang, #classlist, #tabindex, #accesskey { + width: 200px; +} + +#events_panel input { + width: 200px; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css new file mode 100644 index 0000000000..e67114dbaa --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css @@ -0,0 +1,9 @@ +input.field, select.field {width:200px;} +input.picker {width:179px; margin-left: 5px;} +input.disabled {border-color:#F2F2F2;} +img.picker {vertical-align:text-bottom; cursor:pointer;} +h1 {padding: 0 0 5px 0;} +.panel_wrapper div.current {height:160px;} +#xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {height: 230px;} +a.browse span {display:block; width:20px; height:20px; background:url('../../../themes/advanced/img/icons.gif') -140px -20px;} +#datetime {width:180px;} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css new file mode 100644 index 0000000000..6838d90251 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css @@ -0,0 +1,24 @@ +ins { + border-bottom: 1px solid green; + text-decoration: none; + color: green; +} + +del { + color: Red; + text-decoration: line-through; +} + +cite { + border-bottom: 1px dashed blue; +} + +acronym { + border-bottom: 1px dotted #CCC; + cursor: help; +} + +abbr, html\:abbr { + border-bottom: 1px dashed #CCC; + cursor: help; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm new file mode 100644 index 0000000000..d03c4568aa --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm @@ -0,0 +1,170 @@ + + + + {#xhtmlxtras_dlg.title_del_element} + + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_general_tab} + + + + + + + + + +
    : + + + + + +
    +
    :
    +
    +
    + {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    : + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js new file mode 100644 index 0000000000..6a3270d353 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js @@ -0,0 +1 @@ +(function(){tinymce.create('tinymce.plugins.XHTMLXtrasPlugin',{init:function(ed,url){ed.addCommand('mceCite',function(){ed.windowManager.open({file:url+'/cite.htm',width:350+parseInt(ed.getLang('xhtmlxtras.cite_delta_width',0)),height:250+parseInt(ed.getLang('xhtmlxtras.cite_delta_height',0)),inline:1},{plugin_url:url});});ed.addCommand('mceAcronym',function(){ed.windowManager.open({file:url+'/acronym.htm',width:350+parseInt(ed.getLang('xhtmlxtras.acronym_delta_width',0)),height:250+parseInt(ed.getLang('xhtmlxtras.acronym_delta_width',0)),inline:1},{plugin_url:url});});ed.addCommand('mceAbbr',function(){ed.windowManager.open({file:url+'/abbr.htm',width:350+parseInt(ed.getLang('xhtmlxtras.abbr_delta_width',0)),height:250+parseInt(ed.getLang('xhtmlxtras.abbr_delta_width',0)),inline:1},{plugin_url:url});});ed.addCommand('mceDel',function(){ed.windowManager.open({file:url+'/del.htm',width:340+parseInt(ed.getLang('xhtmlxtras.del_delta_width',0)),height:310+parseInt(ed.getLang('xhtmlxtras.del_delta_width',0)),inline:1},{plugin_url:url});});ed.addCommand('mceIns',function(){ed.windowManager.open({file:url+'/ins.htm',width:340+parseInt(ed.getLang('xhtmlxtras.ins_delta_width',0)),height:310+parseInt(ed.getLang('xhtmlxtras.ins_delta_width',0)),inline:1},{plugin_url:url});});ed.addCommand('mceAttributes',function(){ed.windowManager.open({file:url+'/attributes.htm',width:380,height:370,inline:1},{plugin_url:url});});ed.addButton('cite',{title:'xhtmlxtras.cite_desc',cmd:'mceCite'});ed.addButton('acronym',{title:'xhtmlxtras.acronym_desc',cmd:'mceAcronym'});ed.addButton('abbr',{title:'xhtmlxtras.abbr_desc',cmd:'mceAbbr'});ed.addButton('del',{title:'xhtmlxtras.del_desc',cmd:'mceDel'});ed.addButton('ins',{title:'xhtmlxtras.ins_desc',cmd:'mceIns'});ed.addButton('attribs',{title:'xhtmlxtras.attribs_desc',cmd:'mceAttributes'});if(tinymce.isIE){function fix(ed,o){if(o.set){o.content=o.content.replace(/]+)>/gi,'');o.content=o.content.replace(/<\/abbr>/gi,'');}};ed.onBeforeSetContent.add(fix);ed.onPostProcess.add(fix);}ed.onNodeChange.add(function(ed,cm,n,co){n=ed.dom.getParent(n,'CITE,ACRONYM,ABBR,DEL,INS');cm.setDisabled('cite',co);cm.setDisabled('acronym',co);cm.setDisabled('abbr',co);cm.setDisabled('del',co);cm.setDisabled('ins',co);cm.setDisabled('attribs',n&&n.nodeName=='BODY');if(n){cm.setDisabled(n.nodeName.toLowerCase(),0);cm.setActive(n.nodeName.toLowerCase(),1);}else{cm.setActive('cite',0);cm.setActive('acronym',0);cm.setActive('abbr',0);cm.setActive('del',0);cm.setActive('ins',0);}});},getInfo:function(){return{longname:'XHTML Xtras Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('xhtmlxtras',tinymce.plugins.XHTMLXtrasPlugin);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js new file mode 100644 index 0000000000..33b4f2347c --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js @@ -0,0 +1,134 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + tinymce.create('tinymce.plugins.XHTMLXtrasPlugin', { + init : function(ed, url) { + // Register commands + ed.addCommand('mceCite', function() { + ed.windowManager.open({ + file : url + '/cite.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.cite_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.cite_delta_height', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAcronym', function() { + ed.windowManager.open({ + file : url + '/acronym.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.acronym_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.acronym_delta_width', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAbbr', function() { + ed.windowManager.open({ + file : url + '/abbr.htm', + width : 350 + parseInt(ed.getLang('xhtmlxtras.abbr_delta_width', 0)), + height : 250 + parseInt(ed.getLang('xhtmlxtras.abbr_delta_width', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceDel', function() { + ed.windowManager.open({ + file : url + '/del.htm', + width : 340 + parseInt(ed.getLang('xhtmlxtras.del_delta_width', 0)), + height : 310 + parseInt(ed.getLang('xhtmlxtras.del_delta_width', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceIns', function() { + ed.windowManager.open({ + file : url + '/ins.htm', + width : 340 + parseInt(ed.getLang('xhtmlxtras.ins_delta_width', 0)), + height : 310 + parseInt(ed.getLang('xhtmlxtras.ins_delta_width', 0)), + inline : 1 + }, { + plugin_url : url + }); + }); + + ed.addCommand('mceAttributes', function() { + ed.windowManager.open({ + file : url + '/attributes.htm', + width : 380, + height : 370, + inline : 1 + }, { + plugin_url : url + }); + }); + + // Register buttons + ed.addButton('cite', {title : 'xhtmlxtras.cite_desc', cmd : 'mceCite'}); + ed.addButton('acronym', {title : 'xhtmlxtras.acronym_desc', cmd : 'mceAcronym'}); + ed.addButton('abbr', {title : 'xhtmlxtras.abbr_desc', cmd : 'mceAbbr'}); + ed.addButton('del', {title : 'xhtmlxtras.del_desc', cmd : 'mceDel'}); + ed.addButton('ins', {title : 'xhtmlxtras.ins_desc', cmd : 'mceIns'}); + ed.addButton('attribs', {title : 'xhtmlxtras.attribs_desc', cmd : 'mceAttributes'}); + + if (tinymce.isIE) { + function fix(ed, o) { + if (o.set) { + o.content = o.content.replace(/]+)>/gi, ''); + o.content = o.content.replace(/<\/abbr>/gi, ''); + } + }; + + ed.onBeforeSetContent.add(fix); + ed.onPostProcess.add(fix); + } + + ed.onNodeChange.add(function(ed, cm, n, co) { + n = ed.dom.getParent(n, 'CITE,ACRONYM,ABBR,DEL,INS'); + + cm.setDisabled('cite', co); + cm.setDisabled('acronym', co); + cm.setDisabled('abbr', co); + cm.setDisabled('del', co); + cm.setDisabled('ins', co); + cm.setDisabled('attribs', n && n.nodeName == 'BODY'); + + if (n) { + cm.setDisabled(n.nodeName.toLowerCase(), 0); + cm.setActive(n.nodeName.toLowerCase(), 1); + } else { + cm.setActive('cite', 0); + cm.setActive('acronym', 0); + cm.setActive('abbr', 0); + cm.setActive('del', 0); + cm.setActive('ins', 0); + } + }); + }, + + getInfo : function() { + return { + longname : 'XHTML Xtras Plugin', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras', + version : tinymce.majorVersion + "." + tinymce.minorVersion + }; + } + }); + + // Register plugin + tinymce.PluginManager.add('xhtmlxtras', tinymce.plugins.XHTMLXtrasPlugin); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm new file mode 100644 index 0000000000..c0f056ff34 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm @@ -0,0 +1,170 @@ + + + + {#xhtmlxtras_dlg.title_ins_element} + + + + + + + + + + +
    + + +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_general_tab} + + + + + + + + + +
    : + + + + + +
    +
    :
    +
    +
    + {#xhtmlxtras_dlg.fieldset_attrib_tab} + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    : + +
    :
    : + +
    : + +
    +
    +
    +
    +
    + {#xhtmlxtras_dlg.fieldset_events_tab} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    :
    +
    +
    +
    +
    +
    + +
    +
    + +
    +
    + +
    +
    + +
    + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js new file mode 100644 index 0000000000..29311c2e8b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js @@ -0,0 +1,25 @@ + /** + * $Id$ + * + * @author Moxiecode - based on work by Andrew Tetlaw + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +function init() { + SXE.initElementDialog('abbr'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertAbbr() { + SXE.insertElement(tinymce.isIE ? 'html:abbr' : 'abbr'); + tinyMCEPopup.close(); +} + +function removeAbbr() { + SXE.removeElement('abbr'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js new file mode 100644 index 0000000000..386ee311f0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js @@ -0,0 +1,25 @@ + /** + * $Id$ + * + * @author Moxiecode - based on work by Andrew Tetlaw + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +function init() { + SXE.initElementDialog('acronym'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertAcronym() { + SXE.insertElement('acronym'); + tinyMCEPopup.close(); +} + +function removeAcronym() { + SXE.removeElement('acronym'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js new file mode 100644 index 0000000000..b2c3155434 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js @@ -0,0 +1,123 @@ + /** + * $Id$ + * + * @author Moxiecode - based on work by Andrew Tetlaw + * @copyright Copyright © 2004-2006, Moxiecode Systems AB, All rights reserved. + */ + +function init() { + tinyMCEPopup.resizeToInnerSize(); + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + var elm = inst.selection.getNode(); + var f = document.forms[0]; + var onclick = dom.getAttrib(elm, 'onclick'); + + setFormValue('title', dom.getAttrib(elm, 'title')); + setFormValue('id', dom.getAttrib(elm, 'id')); + setFormValue('style', dom.getAttrib(elm, "style")); + setFormValue('dir', dom.getAttrib(elm, 'dir')); + setFormValue('lang', dom.getAttrib(elm, 'lang')); + setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : "")); + setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : "")); + setFormValue('onfocus', dom.getAttrib(elm, 'onfocus')); + setFormValue('onblur', dom.getAttrib(elm, 'onblur')); + setFormValue('onclick', onclick); + setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick')); + setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown')); + setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup')); + setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover')); + setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove')); + setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout')); + setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress')); + setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown')); + setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup')); + className = dom.getAttrib(elm, 'class'); + + addClassesToList('classlist', 'advlink_styles'); + selectByValue(f, 'classlist', className, true); + + TinyMCE_EditableSelects.init(); +} + +function setFormValue(name, value) { + if(value && document.forms[0].elements[name]){ + document.forms[0].elements[name].value = value; + } +} + +function insertAction() { + var inst = tinyMCEPopup.editor; + var elm = inst.selection.getNode(); + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + setAllAttribs(elm); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); +} + +function setAttrib(elm, attrib, value) { + var formObj = document.forms[0]; + var valueElm = formObj.elements[attrib.toLowerCase()]; + var inst = tinyMCEPopup.editor; + var dom = inst.dom; + + if (typeof(value) == "undefined" || value == null) { + value = ""; + + if (valueElm) + value = valueElm.value; + } + + if (value != "") { + dom.setAttrib(elm, attrib.toLowerCase(), value); + + if (attrib == "style") + attrib = "style.cssText"; + + if (attrib.substring(0, 2) == 'on') + value = 'return true;' + value; + + if (attrib == "class") + attrib = "className"; + + elm[attrib]=value; + } else + elm.removeAttribute(attrib); +} + +function setAllAttribs(elm) { + var f = document.forms[0]; + + setAttrib(elm, 'title'); + setAttrib(elm, 'id'); + setAttrib(elm, 'style'); + setAttrib(elm, 'class', getSelectValue(f, 'classlist')); + setAttrib(elm, 'dir'); + setAttrib(elm, 'lang'); + setAttrib(elm, 'tabindex'); + setAttrib(elm, 'accesskey'); + setAttrib(elm, 'onfocus'); + setAttrib(elm, 'onblur'); + setAttrib(elm, 'onclick'); + setAttrib(elm, 'ondblclick'); + setAttrib(elm, 'onmousedown'); + setAttrib(elm, 'onmouseup'); + setAttrib(elm, 'onmouseover'); + setAttrib(elm, 'onmousemove'); + setAttrib(elm, 'onmouseout'); + setAttrib(elm, 'onkeypress'); + setAttrib(elm, 'onkeydown'); + setAttrib(elm, 'onkeyup'); + + // Refresh in old MSIE +// if (tinyMCE.isMSIE5) +// elm.outerHTML = elm.outerHTML; +} + +function insertAttribute() { + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); +tinyMCEPopup.requireLangPack(); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js new file mode 100644 index 0000000000..98f19927a3 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js @@ -0,0 +1,25 @@ + /** + * $Id$ + * + * @author Moxiecode - based on work by Andrew Tetlaw + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +function init() { + SXE.initElementDialog('cite'); + if (SXE.currentAction == "update") { + SXE.showRemoveButton(); + } +} + +function insertCite() { + SXE.insertElement('cite'); + tinyMCEPopup.close(); +} + +function removeCite() { + SXE.removeElement('cite'); + tinyMCEPopup.close(); +} + +tinyMCEPopup.onInit.add(init); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js new file mode 100644 index 0000000000..80e58c4863 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js @@ -0,0 +1,50 @@ + /** + * $Id$ + * + * @author Moxiecode - based on work by Andrew Tetlaw + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +function init() { + SXE.initElementDialog('del'); + if (SXE.currentAction == "update") { + setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime')); + setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite')); + SXE.showRemoveButton(); + } +} + +function setElementAttribs(elm) { + setAllCommonAttribs(elm); + setAttrib(elm, 'datetime'); + setAttrib(elm, 'cite'); +} + +function insertDel() { + var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'DEL'); + + tinyMCEPopup.execCommand('mceBeginUndoLevel'); + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + tinyMCEPopup.execCommand('mceInsertContent', false, '' + s + ''); + var elementArray = tinymce.grep(SXE.inst.dom.select('del'), function(n) {return n.id == '#sxe_temp_del#';}); + for (var i=0; i 0) { + tagName = element_name; + + if (tinymce.isIE && element_name.indexOf('html:') == 0) + element_name = element_name.substring(5).toLowerCase(); + + h = '<' + tagName + ' id="#sxe_temp_' + element_name + '#">' + s + ''; + + tinyMCEPopup.execCommand('mceInsertContent', false, h); + + var elementArray = tinymce.grep(SXE.inst.dom.select(element_name), function(n) {return n.id == '#sxe_temp_' + element_name + '#';}); + for (var i=0; i -1) ? true : false; +} + +SXE.removeClass = function(elm,cl) { + if(elm.className == null || elm.className == "" || !SXE.containsClass(elm,cl)) { + return true; + } + var classNames = elm.className.split(" "); + var newClassNames = ""; + for (var x = 0, cnl = classNames.length; x < cnl; x++) { + if (classNames[x] != cl) { + newClassNames += (classNames[x] + " "); + } + } + elm.className = newClassNames.substring(0,newClassNames.length-1); //removes extra space at the end +} + +SXE.addClass = function(elm,cl) { + if(!SXE.containsClass(elm,cl)) elm.className ? elm.className += " " + cl : elm.className = cl; + return true; +} \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js new file mode 100644 index 0000000000..0feb9c2f81 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js @@ -0,0 +1,49 @@ + /** + * $Id$ + * + * @author Moxiecode - based on work by Andrew Tetlaw + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +function init() { + SXE.initElementDialog('ins'); + if (SXE.currentAction == "update") { + setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime')); + setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite')); + SXE.showRemoveButton(); + } +} + +function setElementAttribs(elm) { + setAllCommonAttribs(elm); + setAttrib(elm, 'datetime'); + setAttrib(elm, 'cite'); +} + +function insertIns() { + var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS'); + tinyMCEPopup.execCommand('mceBeginUndoLevel'); + if (elm == null) { + var s = SXE.inst.selection.getContent(); + if(s.length > 0) { + tinyMCEPopup.execCommand('mceInsertContent', false, '' + s + ''); + var elementArray = tinymce.grep(SXE.inst.dom.select('ins'), function(n) {return n.id == '#sxe_temp_ins#';}); + for (var i=0; i + + + {#advanced_dlg.about_title} + + + + + + + +
    +
    +

    {#advanced_dlg.about_title}

    +

    Version: ()

    +

    TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL + by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.

    +

    Copyright © 2003-2007, Moxiecode Systems AB, All rights reserved.

    +

    For more information about this software visit the TinyMCE website.

    + +
    + Got Moxie? + Hosted By Sourceforge + Also on freshmeat +
    +
    + +
    +
    +

    {#advanced_dlg.about_loaded}

    + +
    +
    + +

     

    +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm new file mode 100644 index 0000000000..9e4c0b91ae --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm @@ -0,0 +1,32 @@ + + + + {#advanced_dlg.anchor_title} + + + + + +
    + + + + + + + + +
    {#advanced_dlg.anchor_title}
    {#advanced_dlg.anchor_name}:
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm new file mode 100644 index 0000000000..e4c7344848 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm @@ -0,0 +1,54 @@ + + + + {#advanced_dlg.charmap_title} + + + + + + + + + + + + + + + + + +
    {#advanced_dlg.charmap_title}
    + + + + + + + + + +
     
     
    +
    + + + + + + + + + + + + + + + + +
    HTML-Code
     
     
    NUM-Code
     
    +
    + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm new file mode 100644 index 0000000000..a8f297c603 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm @@ -0,0 +1,76 @@ + + + + {#advanced_dlg.colorpicker_title} + + + + + + +
    + + +
    +
    +
    + {#advanced_dlg.colorpicker_picker_title} +
    + + +
    + +
    + +
    +
    +
    +
    + +
    +
    + {#advanced_dlg.colorpicker_palette_title} +
    + +
    + +
    +
    +
    + +
    +
    + {#advanced_dlg.colorpicker_named_title} +
    + +
    + +
    + +
    + {#advanced_dlg.colorpicker_name} +
    +
    +
    +
    + +
    +
    + +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js new file mode 100644 index 0000000000..15388c7276 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js @@ -0,0 +1 @@ +(function(){var DOM=tinymce.DOM,Event=tinymce.dom.Event,extend=tinymce.extend,each=tinymce.each,Cookie=tinymce.util.Cookie,lastExtID,explode=tinymce.explode;tinymce.ThemeManager.requireLangPack('advanced');tinymce.create('tinymce.themes.AdvancedTheme',{controls:{bold:['bold_desc','Bold'],italic:['italic_desc','Italic'],underline:['underline_desc','Underline'],strikethrough:['striketrough_desc','Strikethrough'],justifyleft:['justifyleft_desc','JustifyLeft'],justifycenter:['justifycenter_desc','JustifyCenter'],justifyright:['justifyright_desc','JustifyRight'],justifyfull:['justifyfull_desc','JustifyFull'],bullist:['bullist_desc','InsertUnorderedList'],numlist:['numlist_desc','InsertOrderedList'],outdent:['outdent_desc','Outdent'],indent:['indent_desc','Indent'],cut:['cut_desc','Cut'],copy:['copy_desc','Copy'],paste:['paste_desc','Paste'],undo:['undo_desc','Undo'],redo:['redo_desc','Redo'],link:['link_desc','mceLink'],unlink:['unlink_desc','unlink'],image:['image_desc','mceImage'],cleanup:['cleanup_desc','mceCleanup'],help:['help_desc','mceHelp'],code:['code_desc','mceCodeEditor'],hr:['hr_desc','InsertHorizontalRule'],removeformat:['removeformat_desc','RemoveFormat'],sub:['sub_desc','subscript'],sup:['sup_desc','superscript'],forecolor:['forecolor_desc','ForeColor'],forecolorpicker:['forecolor_desc','mceForeColor'],backcolor:['backcolor_desc','HiliteColor'],backcolorpicker:['backcolor_desc','mceBackColor'],charmap:['charmap_desc','mceCharMap'],visualaid:['visualaid_desc','mceToggleVisualAid'],anchor:['anchor_desc','mceInsertAnchor'],newdocument:['newdocument_desc','mceNewDocument'],blockquote:['blockquote_desc','mceBlockQuote']},stateControls:['bold','italic','underline','strikethrough','bullist','numlist','justifyleft','justifycenter','justifyright','justifyfull','sub','sup','blockquote'],init:function(ed,url){var t=this,s,v;t.editor=ed;t.url=url;t.onResolveName=new tinymce.util.Dispatcher(this);t.settings=s=extend({theme_advanced_path:true,theme_advanced_toolbar_location:'bottom',theme_advanced_buttons1:"bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,|,sub,sup,|,charmap",theme_advanced_blockformats:"p,address,pre,h1,h2,h3,h4,h5,h6",theme_advanced_toolbar_align:"center",theme_advanced_fonts:"Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats",theme_advanced_font_sizes:"1,2,3,4,5,6,7",theme_advanced_more_colors:1,theme_advanced_row_height:23,theme_advanced_resize_horizontal:1,theme_advanced_resizing_use_cookie:1},ed.settings);if((v=s.theme_advanced_path_location)&&v!='none')s.theme_advanced_statusbar_location=s.theme_advanced_path_location;if(s.theme_advanced_statusbar_location=='none')s.theme_advanced_statusbar_location=0;ed.onInit.add(function(){ed.onNodeChange.add(t._nodeChanged,t);ed.dom.loadCSS(ed.baseURI.toAbsolute("themes/advanced/skins/"+ed.settings.skin+"/content.css"));});ed.onSetProgressState.add(function(ed,b,ti){var co,id=ed.id,tb;if(b){t.progressTimer=setTimeout(function(){co=ed.getContainer();co=co.insertBefore(DOM.create('DIV',{style:'position:relative'}),co.firstChild);tb=DOM.get(ed.id+'_tbl');DOM.add(co,'div',{id:id+'_blocker','class':'mceBlocker',style:{width:tb.clientWidth+2,height:tb.clientHeight+2}});DOM.add(co,'div',{id:id+'_progress','class':'mceProgress',style:{left:tb.clientWidth/ 2, top : tb.clientHeight /2}});},ti||0);}else{DOM.remove(id+'_blocker');DOM.remove(id+'_progress');clearTimeout(t.progressTimer);}});DOM.loadCSS(ed.baseURI.toAbsolute(s.editor_css||"themes/advanced/skins/"+ed.settings.skin+"/ui.css"));if(s.skin_variant)DOM.loadCSS(ed.baseURI.toAbsolute(s.editor_css||"themes/advanced/skins/"+ed.settings.skin+"/ui_"+s.skin_variant+".css"));},createControl:function(n,cf){var cd,c;if(c=cf.createControl(n))return c;switch(n){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu();}if((cd=this.controls[n]))return cf.createButton(n,{title:"advanced."+cd[0],cmd:cd[1],ui:cd[2],value:cd[3]});},execCommand:function(cmd,ui,val){var f=this['_'+cmd];if(f){f.call(this,ui,val);return true;}return false;},_importClasses:function(){var ed=this.editor,c=ed.controlManager.get('styleselect');if(c.getLength()==0){each(ed.dom.getClasses(),function(o){c.add(o['class'],o['class']);});}},_createStyleSelect:function(n){var t=this,ed=t.editor,cf=ed.controlManager,c=cf.createListBox('styleselect',{title:'advanced.style_select',onselect:function(v){if(c.selectedValue===v){ed.execCommand('mceSetStyleInfo',0,{command:'removeformat'});c.select();return false;}else ed.execCommand('mceSetCSSClass',0,v);}});each(ed.getParam('theme_advanced_styles','','hash'),function(v,k){if(v)c.add(t.editor.translate(k),v);});c.onPostRender.add(function(ed,n){Event.add(n,'focus',t._importClasses,t);Event.add(n,'mousedown',t._importClasses,t);});return c;},_createFontSelect:function(){var c,t=this,ed=t.editor;c=ed.controlManager.createListBox('fontselect',{title:'advanced.fontdefault',cmd:'FontName'});each(ed.getParam('theme_advanced_fonts',t.settings.theme_advanced_fonts,'hash'),function(v,k){c.add(ed.translate(k),v,{style:v.indexOf('dings')==-1?'font-family:'+v:''});});return c;},_createFontSizeSelect:function(){var c,t=this,lo=["1 (8 pt)","2 (10 pt)","3 (12 pt)","4 (14 pt)","5 (18 pt)","6 (24 pt)","7 (36 pt)"],fz=[8,10,12,14,18,24,36];c=t.editor.controlManager.createListBox('fontsizeselect',{title:'advanced.font_size',cmd:'FontSize'});each(explode(t.settings.theme_advanced_font_sizes),function(v){c.add(lo[parseInt(v)-1],v,{'style':'font-size:'+fz[v-1]+'pt','class':'mceFontSize'+v});});return c;},_createBlockFormats:function(){var c,fmts={p:'advanced.paragraph',address:'advanced.address',pre:'advanced.pre',h1:'advanced.h1',h2:'advanced.h2',h3:'advanced.h3',h4:'advanced.h4',h5:'advanced.h5',h6:'advanced.h6',div:'advanced.div',blockquote:'advanced.blockquote',code:'advanced.code',dt:'advanced.dt',dd:'advanced.dd',samp:'advanced.samp'},t=this;c=t.editor.controlManager.createListBox('formatselect',{title:'advanced.block',cmd:'FormatBlock'});each(explode(t.settings.theme_advanced_blockformats),function(v){c.add(t.editor.translate(fmts[v]),v,{'class':'mce_formatPreview mce_'+v});});return c;},_createForeColorMenu:function(){var c,t=this,s=t.settings,o={},v;if(s.theme_advanced_more_colors){o.more_colors_func=function(){t._mceColorPicker(0,{color:c.value,func:function(co){c.setColor(co);}});};}if(v=s.theme_advanced_text_colors)o.colors=v;o.title='advanced.forecolor_desc';o.cmd='ForeColor';o.scope=this;c=t.editor.controlManager.createColorSplitButton('forecolor',o);return c;},_createBackColorMenu:function(){var c,t=this,s=t.settings,o={},v;if(s.theme_advanced_more_colors){o.more_colors_func=function(){t._mceColorPicker(0,{color:c.value,func:function(co){c.setColor(co);}});};}if(v=s.theme_advanced_background_colors)o.colors=v;o.title='advanced.backcolor_desc';o.cmd='HiliteColor';o.scope=this;c=t.editor.controlManager.createColorSplitButton('backcolor',o);return c;},renderUI:function(o){var n,ic,tb,t=this,ed=t.editor,s=t.settings,sc,p,nl;n=p=DOM.create('span',{id:ed.id+'_parent','class':'mceEditor '+ed.settings.skin+'Skin'+(s.skin_variant?' '+ed.settings.skin+'Skin'+t._ufirst(s.skin_variant):'')});if(!DOM.boxModel)n=DOM.add(n,'div',{'class':'mceOldBoxModel'});n=sc=DOM.add(n,'table',{id:ed.id+'_tbl',dir:'ltr','class':'mceLayout',cellSpacing:0,cellPadding:0});n=tb=DOM.add(n,'tbody');switch((s.theme_advanced_layout_manager||'').toLowerCase()){case"rowlayout":ic=t._rowLayout(s,tb,o);break;case"customlayout":ic=ed.execCallback("theme_advanced_custom_layout",s,tb,o,p);break;default:ic=t._simpleLayout(s,tb,o,p);}n=o.targetNode;nl=DOM.stdMode?sc.getElementsByTagName('tr'):sc.rows;DOM.addClass(nl[0],'mceFirst');DOM.addClass(nl[nl.length-1],'mceLast');each(DOM.select('tr',tb),function(n){DOM.addClass(n.firstChild,'mceFirst');DOM.addClass(n.childNodes[n.childNodes.length-1],'mceLast');});if(DOM.get(s.theme_advanced_toolbar_container))DOM.get(s.theme_advanced_toolbar_container).appendChild(p);else DOM.insertAfter(p,n);Event.add(ed.id+'_path_row','click',function(e){e=e.target;if(e.nodeName=='A'){t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/,'$1'));return Event.cancel(e);}});if(!ed.getParam('accessibility_focus')||ed.getParam('tab_focus'))Event.add(DOM.add(p,'a',{href:'#'},''),'focus',function(){tinyMCE.get(ed.id).focus();});if(s.theme_advanced_toolbar_location=='external')o.deltaHeight=0;t.deltaHeight=o.deltaHeight;o.targetNode=null;return{iframeContainer:ic,editorContainer:ed.id+'_parent',sizeContainer:sc,deltaHeight:o.deltaHeight};},getInfo:function(){return{longname:'Advanced theme',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',version:tinymce.majorVersion+"."+tinymce.minorVersion}},resizeBy:function(dw,dh){var e=DOM.get(this.editor.id+'_tbl');this.resizeTo(e.clientWidth+dw,e.clientHeight+dh);},resizeTo:function(w,h){var ed=this.editor,s=ed.settings,e=DOM.get(ed.id+'_tbl'),ifr=DOM.get(ed.id+'_ifr'),dh;w=Math.max(s.theme_advanced_resizing_min_width||100,w);h=Math.max(s.theme_advanced_resizing_min_height||100,h);w=Math.min(s.theme_advanced_resizing_max_width||0xFFFF,w);h=Math.min(s.theme_advanced_resizing_max_height||0xFFFF,h);dh=e.clientHeight-ifr.clientHeight;DOM.setStyle(ifr,'height',h-dh);DOM.setStyles(e,{width:w,height:h});},_simpleLayout:function(s,tb,o,p){var t=this,ed=t.editor,lo=s.theme_advanced_toolbar_location,sl=s.theme_advanced_statusbar_location,n,ic,etb,c;if(lo=='top')t._addToolbars(tb,o);if(lo=='external'){n=c=DOM.create('div',{style:'position:relative'});n=DOM.add(n,'div',{id:ed.id+'_external','class':'mceExternalToolbar'});DOM.add(n,'a',{id:ed.id+'_external_close',href:'javascript:;','class':'mceExternalClose'});n=DOM.add(n,'table',{id:ed.id+'_tblext',cellSpacing:0,cellPadding:0});etb=DOM.add(n,'tbody');if(p.firstChild.className=='mceOldBoxModel')p.firstChild.appendChild(c);else p.insertBefore(c,p.firstChild);t._addToolbars(etb,o);ed.onMouseUp.add(function(){var e=DOM.get(ed.id+'_external');DOM.show(e);DOM.hide(lastExtID);var f=Event.add(ed.id+'_external_close','click',function(){DOM.hide(ed.id+'_external');Event.remove(ed.id+'_external_close','click',f);});DOM.show(e);DOM.setStyle(e,'top',0-DOM.getRect(ed.id+'_tblext').h-1);DOM.hide(e);DOM.show(e);e.style.filter='';lastExtID=ed.id+'_external';e=null;});}if(sl=='top')t._addStatusBar(tb,o);if(!s.theme_advanced_toolbar_container){n=DOM.add(tb,'tr');n=ic=DOM.add(n,'td',{'class':'mceIframeContainer'});}if(lo=='bottom')t._addToolbars(tb,o);if(sl=='bottom')t._addStatusBar(tb,o);return ic;},_rowLayout:function(s,tb,o){var t=this,ed=t.editor,dc,da,cf=ed.controlManager,n,ic,to,a;dc=s.theme_advanced_containers_default_class||'';da=s.theme_advanced_containers_default_align||'center';each(explode(s.theme_advanced_containers||''),function(c,i){var v=s['theme_advanced_container_'+c]||'';switch(c.toLowerCase()){case'mceeditor':n=DOM.add(tb,'tr');n=ic=DOM.add(n,'td',{'class':'mceIframeContainer'});break;case'mceelementpath':t._addStatusBar(tb,o);break;default:a=s['theme_advanced_container_'+c+'_align'].toLowerCase();a='mce'+t._ufirst(a);n=DOM.add(DOM.add(tb,'tr'),'td',{'class':'mceToolbar '+(s['theme_advanced_container_'+c+'_class']||dc)+' '+a||da});to=cf.createToolbar("toolbar"+i);t._addControls(v,to);DOM.setHTML(n,to.renderHTML());o.deltaHeight-=s.theme_advanced_row_height;}});return ic;},_addControls:function(v,tb){var t=this,s=t.settings,di,cf=t.editor.controlManager;if(s.theme_advanced_disable&&!t._disabled){di={};each(explode(s.theme_advanced_disable),function(v){di[v]=1;});t._disabled=di;}else di=t._disabled;each(explode(v),function(n){var c;if(di&&di[n])return;if(n=='tablecontrols'){each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(n){n=t.createControl(n,cf);if(n)tb.add(n);});return;}c=t.createControl(n,cf);if(c)tb.add(c);});},_addToolbars:function(c,o){var t=this,i,tb,ed=t.editor,s=t.settings,v,cf=ed.controlManager,di,n,h=[],a;a=s.theme_advanced_toolbar_align.toLowerCase();a='mce'+t._ufirst(a);n=DOM.add(DOM.add(c,'tr'),'td',{'class':'mceToolbar '+a});if(!ed.getParam('accessibility_focus')||ed.getParam('tab_focus'))h.push(DOM.createHTML('a',{href:'#',onfocus:'tinyMCE.get(\''+ed.id+'\').focus();'},''));h.push(DOM.createHTML('a',{href:'#',accesskey:'q',title:ed.getLang("advanced.toolbar_focus")},''));for(i=1;(v=s['theme_advanced_buttons'+i]);i++){tb=cf.createToolbar("toolbar"+i,{'class':'mceToolbarRow'+i});if(s['theme_advanced_buttons'+i+'_add'])v+=','+s['theme_advanced_buttons'+i+'_add'];if(s['theme_advanced_buttons'+i+'_add_before'])v=s['theme_advanced_buttons'+i+'_add_before']+','+v;t._addControls(v,tb);h.push(tb.renderHTML());o.deltaHeight-=s.theme_advanced_row_height;}h.push(DOM.createHTML('a',{href:'#',accesskey:'z',title:ed.getLang("advanced.toolbar_focus"),onfocus:'tinyMCE.getInstanceById(\''+ed.id+'\').focus();'},''));DOM.setHTML(n,h.join(''));},_addStatusBar:function(tb,o){var n,t=this,ed=t.editor,s=t.settings,r,mf,me,td;n=DOM.add(tb,'tr');n=td=DOM.add(n,'td',{'class':'mceStatusbar'});n=DOM.add(n,'div',{id:ed.id+'_path_row'},s.theme_advanced_path?ed.translate('advanced.path')+': ':' ');DOM.add(n,'a',{href:'#',accesskey:'x'});if(s.theme_advanced_resizing&&!tinymce.isOldWebKit){DOM.add(td,'a',{id:ed.id+'_resize',href:'javascript:;',onclick:"return false;",'class':'mceResize'});if(s.theme_advanced_resizing_use_cookie){ed.onPostRender.add(function(){var o=Cookie.getHash("TinyMCE_"+ed.id+"_size"),c=DOM.get(ed.id+'_tbl');if(!o)return;if(s.theme_advanced_resize_horizontal)c.style.width=o.cw+'px';c.style.height=o.ch+'px';DOM.get(ed.id+'_ifr').style.height=(parseInt(o.ch)+t.deltaHeight)+'px';});}ed.onPostRender.add(function(){Event.add(ed.id+'_resize','mousedown',function(e){var c,p,w,h,n,pa;c=DOM.get(ed.id+'_tbl');w=c.clientWidth;h=c.clientHeight;miw=s.theme_advanced_resizing_min_width||100;mih=s.theme_advanced_resizing_min_height||100;maw=s.theme_advanced_resizing_max_width||0xFFFF;mah=s.theme_advanced_resizing_max_height||0xFFFF;p=DOM.add(DOM.get(ed.id+'_parent'),'div',{'class':'mcePlaceHolder'});DOM.setStyles(p,{width:w,height:h});DOM.hide(c);DOM.show(p);r={x:e.screenX,y:e.screenY,w:w,h:h,dx:null,dy:null};mf=Event.add(document,'mousemove',function(e){var w,h;r.dx=e.screenX-r.x;r.dy=e.screenY-r.y;w=Math.max(miw,r.w+r.dx);h=Math.max(mih,r.h+r.dy);w=Math.min(maw,w);h=Math.min(mah,h);if(s.theme_advanced_resize_horizontal)p.style.width=w+'px';p.style.height=h+'px';return Event.cancel(e);});me=Event.add(document,'mouseup',function(e){var ifr;Event.remove(document,'mousemove',mf);Event.remove(document,'mouseup',me);c.style.display='';DOM.remove(p);if(r.dx===null)return;ifr=DOM.get(ed.id+'_ifr');if(s.theme_advanced_resize_horizontal)c.style.width=(r.w+r.dx)+'px';c.style.height=(r.h+r.dy)+'px';ifr.style.height=(ifr.clientHeight+r.dy)+'px';if(s.theme_advanced_resizing_use_cookie){Cookie.setHash("TinyMCE_"+ed.id+"_size",{cw:r.w+r.dx,ch:r.h+r.dy});}});return Event.cancel(e);});});}o.deltaHeight-=21;n=tb=null;},_nodeChanged:function(ed,cm,n,co){var t=this,p,de=0,v,c,s=t.settings;tinymce.each(t.stateControls,function(c){cm.setActive(c,ed.queryCommandState(t.controls[c][1]));});cm.setActive('visualaid',ed.hasVisual);cm.setDisabled('undo',!ed.undoManager.hasUndo()&&!ed.typing);cm.setDisabled('redo',!ed.undoManager.hasRedo());cm.setDisabled('outdent',!ed.queryCommandState('Outdent'));p=DOM.getParent(n,'A');if(c=cm.get('link')){if(!p||!p.name){c.setDisabled(!p&&co);c.setActive(!!p);}}if(c=cm.get('unlink')){c.setDisabled(!p&&co);c.setActive(!!p&&!p.name);}if(c=cm.get('anchor')){c.setActive(!!p&&p.name);if(tinymce.isWebKit){p=DOM.getParent(n,'IMG');c.setActive(!!p&&DOM.getAttrib(p,'mce_name')=='a');}}p=DOM.getParent(n,'IMG');if(c=cm.get('image'))c.setActive(!!p&&n.className.indexOf('mceItem')==-1);if(c=cm.get('styleselect')){if(n.className){t._importClasses();c.select(n.className);}else c.select();}if(c=cm.get('formatselect')){p=DOM.getParent(n,DOM.isBlock);if(p)c.select(p.nodeName.toLowerCase());}if(c=cm.get('fontselect'))c.select(ed.queryCommandValue('FontName'));if(c=cm.get('fontsizeselect'))c.select(ed.queryCommandValue('FontSize'));if(s.theme_advanced_path&&s.theme_advanced_statusbar_location){p=DOM.get(ed.id+'_path')||DOM.add(ed.id+'_path_row','span',{id:ed.id+'_path'});DOM.setHTML(p,'');ed.dom.getParent(n,function(n){var na=n.nodeName.toLowerCase(),u,pi,ti='';if(n.nodeType!=1||(DOM.hasClass(n,'mceItemHidden')||DOM.hasClass(n,'mceItemRemoved')))return;if(v=DOM.getAttrib(n,'mce_name'))na=v;if(tinymce.isIE&&n.scopeName!=='HTML')na=n.scopeName+':'+na;na=na.replace(/mce\:/g,'');switch(na){case'b':na='strong';break;case'i':na='em';break;case'img':if(v=DOM.getAttrib(n,'src'))ti+='src: '+v+' ';break;case'a':if(v=DOM.getAttrib(n,'name')){ti+='name: '+v+' ';na+='#'+v;}if(v=DOM.getAttrib(n,'href'))ti+='href: '+v+' ';break;case'font':if(s.convert_fonts_to_spans)na='span';if(v=DOM.getAttrib(n,'face'))ti+='font: '+v+' ';if(v=DOM.getAttrib(n,'size'))ti+='size: '+v+' ';if(v=DOM.getAttrib(n,'color'))ti+='color: '+v+' ';break;case'span':if(v=DOM.getAttrib(n,'style'))ti+='style: '+v+' ';break;}if(v=DOM.getAttrib(n,'id'))ti+='id: '+v+' ';if(v=n.className){v=v.replace(/(webkit-[\w\-]+|Apple-[\w\-]+|mceItem\w+|mceVisualAid)/g,'');if(v&&v.indexOf('mceItem')==-1){ti+='class: '+v+' ';if(DOM.isBlock(n)||na=='img'||na=='span')na+='.'+v;}}na=na.replace(/(html:)/g,'');na={name:na,node:n,title:ti};t.onResolveName.dispatch(t,na);ti=na.title;na=na.name;pi=DOM.create('a',{'href':"javascript:;",onmousedown:"return false;",title:ti,'class':'mcePath_'+(de++)},na);if(p.hasChildNodes()){p.insertBefore(document.createTextNode(' \u00bb '),p.firstChild);p.insertBefore(pi,p.firstChild);}else p.appendChild(pi);},ed.getBody());}},_sel:function(v){this.editor.execCommand('mceSelectNodeDepth',false,v);},_mceInsertAnchor:function(ui,v){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/anchor.htm',width:320+parseInt(ed.getLang('advanced.anchor_delta_width',0)),height:90+parseInt(ed.getLang('advanced.anchor_delta_height',0)),inline:true},{theme_url:this.url});},_mceCharMap:function(){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/charmap.htm',width:550+parseInt(ed.getLang('advanced.charmap_delta_width',0)),height:250+parseInt(ed.getLang('advanced.charmap_delta_height',0)),inline:true},{theme_url:this.url});},_mceHelp:function(){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/about.htm',width:480,height:380,inline:true},{theme_url:this.url});},_mceColorPicker:function(u,v){var ed=this.editor;v=v||{};ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/color_picker.htm',width:375+parseInt(ed.getLang('advanced.colorpicker_delta_width',0)),height:250+parseInt(ed.getLang('advanced.colorpicker_delta_height',0)),close_previous:false,inline:true},{input_color:v.color,func:v.func,theme_url:this.url});},_mceCodeEditor:function(ui,val){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/source_editor.htm',width:parseInt(ed.getParam("theme_advanced_source_editor_width",720)),height:parseInt(ed.getParam("theme_advanced_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url});},_mceImage:function(ui,val){var ed=this.editor;if(ed.dom.getAttrib(ed.selection.getNode(),'class').indexOf('mceItem')!=-1)return;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/image.htm',width:355+parseInt(ed.getLang('advanced.image_delta_width',0)),height:275+parseInt(ed.getLang('advanced.image_delta_height',0)),inline:true},{theme_url:this.url});},_mceLink:function(ui,val){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/advanced/link.htm',width:310+parseInt(ed.getLang('advanced.link_delta_width',0)),height:200+parseInt(ed.getLang('advanced.link_delta_height',0)),inline:true},{theme_url:this.url});},_mceNewDocument:function(){var ed=this.editor;ed.windowManager.confirm('advanced.newdocument',function(s){if(s)ed.execCommand('mceSetContent',false,'');});},_mceForeColor:function(){var t=this;this._mceColorPicker(0,{func:function(co){t.editor.execCommand('ForeColor',false,co);}});},_mceBackColor:function(){var t=this;this._mceColorPicker(0,{func:function(co){t.editor.execCommand('HiliteColor',false,co);}});},_ufirst:function(s){return s.substring(0,1).toUpperCase()+s.substring(1);}});tinymce.ThemeManager.add('advanced',tinymce.themes.AdvancedTheme);}()); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js new file mode 100644 index 0000000000..3d03455d4e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js @@ -0,0 +1,1033 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, Cookie = tinymce.util.Cookie, lastExtID, explode = tinymce.explode; + + // Tell it to load theme specific language pack(s) + tinymce.ThemeManager.requireLangPack('advanced'); + + tinymce.create('tinymce.themes.AdvancedTheme', { + // Control name lookup, format: title, command + controls : { + bold : ['bold_desc', 'Bold'], + italic : ['italic_desc', 'Italic'], + underline : ['underline_desc', 'Underline'], + strikethrough : ['striketrough_desc', 'Strikethrough'], + justifyleft : ['justifyleft_desc', 'JustifyLeft'], + justifycenter : ['justifycenter_desc', 'JustifyCenter'], + justifyright : ['justifyright_desc', 'JustifyRight'], + justifyfull : ['justifyfull_desc', 'JustifyFull'], + bullist : ['bullist_desc', 'InsertUnorderedList'], + numlist : ['numlist_desc', 'InsertOrderedList'], + outdent : ['outdent_desc', 'Outdent'], + indent : ['indent_desc', 'Indent'], + cut : ['cut_desc', 'Cut'], + copy : ['copy_desc', 'Copy'], + paste : ['paste_desc', 'Paste'], + undo : ['undo_desc', 'Undo'], + redo : ['redo_desc', 'Redo'], + link : ['link_desc', 'mceLink'], + unlink : ['unlink_desc', 'unlink'], + image : ['image_desc', 'mceImage'], + cleanup : ['cleanup_desc', 'mceCleanup'], + help : ['help_desc', 'mceHelp'], + code : ['code_desc', 'mceCodeEditor'], + hr : ['hr_desc', 'InsertHorizontalRule'], + removeformat : ['removeformat_desc', 'RemoveFormat'], + sub : ['sub_desc', 'subscript'], + sup : ['sup_desc', 'superscript'], + forecolor : ['forecolor_desc', 'ForeColor'], + forecolorpicker : ['forecolor_desc', 'mceForeColor'], + backcolor : ['backcolor_desc', 'HiliteColor'], + backcolorpicker : ['backcolor_desc', 'mceBackColor'], + charmap : ['charmap_desc', 'mceCharMap'], + visualaid : ['visualaid_desc', 'mceToggleVisualAid'], + anchor : ['anchor_desc', 'mceInsertAnchor'], + newdocument : ['newdocument_desc', 'mceNewDocument'], + blockquote : ['blockquote_desc', 'mceBlockQuote'] + }, + + stateControls : ['bold', 'italic', 'underline', 'strikethrough', 'bullist', 'numlist', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'sub', 'sup', 'blockquote'], + + init : function(ed, url) { + var t = this, s, v; + + t.editor = ed; + t.url = url; + t.onResolveName = new tinymce.util.Dispatcher(this); + + // Default settings + t.settings = s = extend({ + theme_advanced_path : true, + theme_advanced_toolbar_location : 'bottom', + theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect", + theme_advanced_buttons2 : "bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code", + theme_advanced_buttons3 : "hr,removeformat,visualaid,|,sub,sup,|,charmap", + theme_advanced_blockformats : "p,address,pre,h1,h2,h3,h4,h5,h6", + theme_advanced_toolbar_align : "center", + theme_advanced_fonts : "Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats", + theme_advanced_font_sizes : "1,2,3,4,5,6,7", + theme_advanced_more_colors : 1, + theme_advanced_row_height : 23, + theme_advanced_resize_horizontal : 1, + theme_advanced_resizing_use_cookie : 1 + }, ed.settings); + + if ((v = s.theme_advanced_path_location) && v != 'none') + s.theme_advanced_statusbar_location = s.theme_advanced_path_location; + + if (s.theme_advanced_statusbar_location == 'none') + s.theme_advanced_statusbar_location = 0; + + // Init editor + ed.onInit.add(function() { + ed.onNodeChange.add(t._nodeChanged, t); + ed.dom.loadCSS(ed.baseURI.toAbsolute("themes/advanced/skins/" + ed.settings.skin + "/content.css")); + }); + + ed.onSetProgressState.add(function(ed, b, ti) { + var co, id = ed.id, tb; + + if (b) { + t.progressTimer = setTimeout(function() { + co = ed.getContainer(); + co = co.insertBefore(DOM.create('DIV', {style : 'position:relative'}), co.firstChild); + tb = DOM.get(ed.id + '_tbl'); + + DOM.add(co, 'div', {id : id + '_blocker', 'class' : 'mceBlocker', style : {width : tb.clientWidth + 2, height : tb.clientHeight + 2}}); + DOM.add(co, 'div', {id : id + '_progress', 'class' : 'mceProgress', style : {left : tb.clientWidth / 2, top : tb.clientHeight / 2}}); + }, ti || 0); + } else { + DOM.remove(id + '_blocker'); + DOM.remove(id + '_progress'); + clearTimeout(t.progressTimer); + } + }); + + DOM.loadCSS(ed.baseURI.toAbsolute(s.editor_css || "themes/advanced/skins/" + ed.settings.skin + "/ui.css")); + + if (s.skin_variant) + DOM.loadCSS(ed.baseURI.toAbsolute(s.editor_css || "themes/advanced/skins/" + ed.settings.skin + "/ui_" + s.skin_variant + ".css")); + }, + + createControl : function(n, cf) { + var cd, c; + + if (c = cf.createControl(n)) + return c; + + switch (n) { + case "styleselect": + return this._createStyleSelect(); + + case "formatselect": + return this._createBlockFormats(); + + case "fontselect": + return this._createFontSelect(); + + case "fontsizeselect": + return this._createFontSizeSelect(); + + case "forecolor": + return this._createForeColorMenu(); + + case "backcolor": + return this._createBackColorMenu(); + } + + if ((cd = this.controls[n])) + return cf.createButton(n, {title : "advanced." + cd[0], cmd : cd[1], ui : cd[2], value : cd[3]}); + }, + + execCommand : function(cmd, ui, val) { + var f = this['_' + cmd]; + + if (f) { + f.call(this, ui, val); + return true; + } + + return false; + }, + + _importClasses : function() { + var ed = this.editor, c = ed.controlManager.get('styleselect'); + + if (c.getLength() == 0) { + each(ed.dom.getClasses(), function(o) { + c.add(o['class'], o['class']); + }); + } + }, + + _createStyleSelect : function(n) { + var t = this, ed = t.editor, cf = ed.controlManager, c = cf.createListBox('styleselect', { + title : 'advanced.style_select', + onselect : function(v) { + if (c.selectedValue === v) { + ed.execCommand('mceSetStyleInfo', 0, {command : 'removeformat'}); + c.select(); + return false; + } else + ed.execCommand('mceSetCSSClass', 0, v); + } + }); + + each(ed.getParam('theme_advanced_styles', '', 'hash'), function(v, k) { + if (v) + c.add(t.editor.translate(k), v); + }); + + c.onPostRender.add(function(ed, n) { + Event.add(n, 'focus', t._importClasses, t); + Event.add(n, 'mousedown', t._importClasses, t); + }); + + return c; + }, + + _createFontSelect : function() { + var c, t = this, ed = t.editor; + + c = ed.controlManager.createListBox('fontselect', {title : 'advanced.fontdefault', cmd : 'FontName'}); + + each(ed.getParam('theme_advanced_fonts', t.settings.theme_advanced_fonts, 'hash'), function(v, k) { + c.add(ed.translate(k), v, {style : v.indexOf('dings') == -1 ? 'font-family:' + v : ''}); + }); + + return c; + }, + + _createFontSizeSelect : function() { + var c, t = this, lo = [ + "1 (8 pt)", + "2 (10 pt)", + "3 (12 pt)", + "4 (14 pt)", + "5 (18 pt)", + "6 (24 pt)", + "7 (36 pt)" + ], fz = [8, 10, 12, 14, 18, 24, 36]; + + c = t.editor.controlManager.createListBox('fontsizeselect', {title : 'advanced.font_size', cmd : 'FontSize'}); + + each(explode(t.settings.theme_advanced_font_sizes), function(v) { + c.add(lo[parseInt(v) - 1], v, {'style' : 'font-size:' + fz[v - 1] + 'pt', 'class' : 'mceFontSize' + v}); + }); + + return c; + }, + + _createBlockFormats : function() { + var c, fmts = { + p : 'advanced.paragraph', + address : 'advanced.address', + pre : 'advanced.pre', + h1 : 'advanced.h1', + h2 : 'advanced.h2', + h3 : 'advanced.h3', + h4 : 'advanced.h4', + h5 : 'advanced.h5', + h6 : 'advanced.h6', + div : 'advanced.div', + blockquote : 'advanced.blockquote', + code : 'advanced.code', + dt : 'advanced.dt', + dd : 'advanced.dd', + samp : 'advanced.samp' + }, t = this; + + c = t.editor.controlManager.createListBox('formatselect', {title : 'advanced.block', cmd : 'FormatBlock'}); + + each(explode(t.settings.theme_advanced_blockformats), function(v) { + c.add(t.editor.translate(fmts[v]), v, {'class' : 'mce_formatPreview mce_' + v}); + }); + + return c; + }, + + _createForeColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_advanced_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_advanced_text_colors) + o.colors = v; + + o.title = 'advanced.forecolor_desc'; + o.cmd = 'ForeColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('forecolor', o); + + return c; + }, + + _createBackColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_advanced_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_advanced_background_colors) + o.colors = v; + + o.title = 'advanced.backcolor_desc'; + o.cmd = 'HiliteColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('backcolor', o); + + return c; + }, + + renderUI : function(o) { + var n, ic, tb, t = this, ed = t.editor, s = t.settings, sc, p, nl; + + n = p = DOM.create('span', {id : ed.id + '_parent', 'class' : 'mceEditor ' + ed.settings.skin + 'Skin' + (s.skin_variant ? ' ' + ed.settings.skin + 'Skin' + t._ufirst(s.skin_variant) : '')}); + + if (!DOM.boxModel) + n = DOM.add(n, 'div', {'class' : 'mceOldBoxModel'}); + + n = sc = DOM.add(n, 'table', {id : ed.id + '_tbl', dir : 'ltr', 'class' : 'mceLayout', cellSpacing : 0, cellPadding : 0}); + n = tb = DOM.add(n, 'tbody'); + + switch ((s.theme_advanced_layout_manager || '').toLowerCase()) { + case "rowlayout": + ic = t._rowLayout(s, tb, o); + break; + + case "customlayout": + ic = ed.execCallback("theme_advanced_custom_layout", s, tb, o, p); + break; + + default: + ic = t._simpleLayout(s, tb, o, p); + } + + n = o.targetNode; + + // Add classes to first and last TRs + nl = DOM.stdMode ? sc.getElementsByTagName('tr') : sc.rows; // Quick fix for IE 8 + DOM.addClass(nl[0], 'mceFirst'); + DOM.addClass(nl[nl.length - 1], 'mceLast'); + + // Add classes to first and last TDs + each(DOM.select('tr', tb), function(n) { + DOM.addClass(n.firstChild, 'mceFirst'); + DOM.addClass(n.childNodes[n.childNodes.length - 1], 'mceLast'); + }); + + if (DOM.get(s.theme_advanced_toolbar_container)) + DOM.get(s.theme_advanced_toolbar_container).appendChild(p); + else + DOM.insertAfter(p, n); + + Event.add(ed.id + '_path_row', 'click', function(e) { + e = e.target; + + if (e.nodeName == 'A') { + t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/, '$1')); + + return Event.cancel(e); + } + }); +/* + if (DOM.get(ed.id + '_path_row')) { + Event.add(ed.id + '_tbl', 'mouseover', function(e) { + var re; + + e = e.target; + + if (e.nodeName == 'SPAN' && DOM.hasClass(e.parentNode, 'mceButton')) { + re = DOM.get(ed.id + '_path_row'); + t.lastPath = re.innerHTML; + DOM.setHTML(re, e.parentNode.title); + } + }); + + Event.add(ed.id + '_tbl', 'mouseout', function(e) { + if (t.lastPath) { + DOM.setHTML(ed.id + '_path_row', t.lastPath); + t.lastPath = 0; + } + }); + } +*/ + + if (!ed.getParam('accessibility_focus') || ed.getParam('tab_focus')) + Event.add(DOM.add(p, 'a', {href : '#'}, ''), 'focus', function() {tinyMCE.get(ed.id).focus();}); + + if (s.theme_advanced_toolbar_location == 'external') + o.deltaHeight = 0; + + t.deltaHeight = o.deltaHeight; + o.targetNode = null; + + return { + iframeContainer : ic, + editorContainer : ed.id + '_parent', + sizeContainer : sc, + deltaHeight : o.deltaHeight + }; + }, + + getInfo : function() { + return { + longname : 'Advanced theme', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + version : tinymce.majorVersion + "." + tinymce.minorVersion + } + }, + + resizeBy : function(dw, dh) { + var e = DOM.get(this.editor.id + '_tbl'); + + this.resizeTo(e.clientWidth + dw, e.clientHeight + dh); + }, + + resizeTo : function(w, h) { + var ed = this.editor, s = ed.settings, e = DOM.get(ed.id + '_tbl'), ifr = DOM.get(ed.id + '_ifr'), dh; + + // Boundery fix box + w = Math.max(s.theme_advanced_resizing_min_width || 100, w); + h = Math.max(s.theme_advanced_resizing_min_height || 100, h); + w = Math.min(s.theme_advanced_resizing_max_width || 0xFFFF, w); + h = Math.min(s.theme_advanced_resizing_max_height || 0xFFFF, h); + + // Calc difference between iframe and container + dh = e.clientHeight - ifr.clientHeight; + + // Resize iframe and container + DOM.setStyle(ifr, 'height', h - dh); + DOM.setStyles(e, {width : w, height : h}); + }, + + // Internal functions + + _simpleLayout : function(s, tb, o, p) { + var t = this, ed = t.editor, lo = s.theme_advanced_toolbar_location, sl = s.theme_advanced_statusbar_location, n, ic, etb, c; + + // Create toolbar container at top + if (lo == 'top') + t._addToolbars(tb, o); + + // Create external toolbar + if (lo == 'external') { + n = c = DOM.create('div', {style : 'position:relative'}); + n = DOM.add(n, 'div', {id : ed.id + '_external', 'class' : 'mceExternalToolbar'}); + DOM.add(n, 'a', {id : ed.id + '_external_close', href : 'javascript:;', 'class' : 'mceExternalClose'}); + n = DOM.add(n, 'table', {id : ed.id + '_tblext', cellSpacing : 0, cellPadding : 0}); + etb = DOM.add(n, 'tbody'); + + if (p.firstChild.className == 'mceOldBoxModel') + p.firstChild.appendChild(c); + else + p.insertBefore(c, p.firstChild); + + t._addToolbars(etb, o); + + ed.onMouseUp.add(function() { + var e = DOM.get(ed.id + '_external'); + DOM.show(e); + + DOM.hide(lastExtID); + + var f = Event.add(ed.id + '_external_close', 'click', function() { + DOM.hide(ed.id + '_external'); + Event.remove(ed.id + '_external_close', 'click', f); + }); + + DOM.show(e); + DOM.setStyle(e, 'top', 0 - DOM.getRect(ed.id + '_tblext').h - 1); + + // Fixes IE rendering bug + DOM.hide(e); + DOM.show(e); + e.style.filter = ''; + + lastExtID = ed.id + '_external'; + + e = null; + }); + } + + if (sl == 'top') + t._addStatusBar(tb, o); + + // Create iframe container + if (!s.theme_advanced_toolbar_container) { + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + } + + // Create toolbar container at bottom + if (lo == 'bottom') + t._addToolbars(tb, o); + + if (sl == 'bottom') + t._addStatusBar(tb, o); + + return ic; + }, + + _rowLayout : function(s, tb, o) { + var t = this, ed = t.editor, dc, da, cf = ed.controlManager, n, ic, to, a; + + dc = s.theme_advanced_containers_default_class || ''; + da = s.theme_advanced_containers_default_align || 'center'; + + each(explode(s.theme_advanced_containers || ''), function(c, i) { + var v = s['theme_advanced_container_' + c] || ''; + + switch (c.toLowerCase()) { + case 'mceeditor': + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + break; + + case 'mceelementpath': + t._addStatusBar(tb, o); + break; + + default: + a = s['theme_advanced_container_' + c + '_align'].toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(tb, 'tr'), 'td', { + 'class' : 'mceToolbar ' + (s['theme_advanced_container_' + c + '_class'] || dc) + ' ' + a || da + }); + + to = cf.createToolbar("toolbar" + i); + t._addControls(v, to); + DOM.setHTML(n, to.renderHTML()); + o.deltaHeight -= s.theme_advanced_row_height; + } + }); + + return ic; + }, + + _addControls : function(v, tb) { + var t = this, s = t.settings, di, cf = t.editor.controlManager; + + if (s.theme_advanced_disable && !t._disabled) { + di = {}; + + each(explode(s.theme_advanced_disable), function(v) { + di[v] = 1; + }); + + t._disabled = di; + } else + di = t._disabled; + + each(explode(v), function(n) { + var c; + + if (di && di[n]) + return; + + // Compatiblity with 2.x + if (n == 'tablecontrols') { + each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"], function(n) { + n = t.createControl(n, cf); + + if (n) + tb.add(n); + }); + + return; + } + + c = t.createControl(n, cf); + + if (c) + tb.add(c); + }); + }, + + _addToolbars : function(c, o) { + var t = this, i, tb, ed = t.editor, s = t.settings, v, cf = ed.controlManager, di, n, h = [], a; + + a = s.theme_advanced_toolbar_align.toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(c, 'tr'), 'td', {'class' : 'mceToolbar ' + a}); + + if (!ed.getParam('accessibility_focus') || ed.getParam('tab_focus')) + h.push(DOM.createHTML('a', {href : '#', onfocus : 'tinyMCE.get(\'' + ed.id + '\').focus();'}, '')); + + h.push(DOM.createHTML('a', {href : '#', accesskey : 'q', title : ed.getLang("advanced.toolbar_focus")}, '')); + + // Create toolbar and add the controls + for (i=1; (v = s['theme_advanced_buttons' + i]); i++) { + tb = cf.createToolbar("toolbar" + i, {'class' : 'mceToolbarRow' + i}); + + if (s['theme_advanced_buttons' + i + '_add']) + v += ',' + s['theme_advanced_buttons' + i + '_add']; + + if (s['theme_advanced_buttons' + i + '_add_before']) + v = s['theme_advanced_buttons' + i + '_add_before'] + ',' + v; + + t._addControls(v, tb); + + //n.appendChild(n = tb.render()); + h.push(tb.renderHTML()); + + o.deltaHeight -= s.theme_advanced_row_height; + } + + h.push(DOM.createHTML('a', {href : '#', accesskey : 'z', title : ed.getLang("advanced.toolbar_focus"), onfocus : 'tinyMCE.getInstanceById(\'' + ed.id + '\').focus();'}, '')); + DOM.setHTML(n, h.join('')); + }, + + _addStatusBar : function(tb, o) { + var n, t = this, ed = t.editor, s = t.settings, r, mf, me, td; + + n = DOM.add(tb, 'tr'); + n = td = DOM.add(n, 'td', {'class' : 'mceStatusbar'}); + n = DOM.add(n, 'div', {id : ed.id + '_path_row'}, s.theme_advanced_path ? ed.translate('advanced.path') + ': ' : ' '); + DOM.add(n, 'a', {href : '#', accesskey : 'x'}); + + if (s.theme_advanced_resizing && !tinymce.isOldWebKit) { + DOM.add(td, 'a', {id : ed.id + '_resize', href : 'javascript:;', onclick : "return false;", 'class' : 'mceResize'}); + + if (s.theme_advanced_resizing_use_cookie) { + ed.onPostRender.add(function() { + var o = Cookie.getHash("TinyMCE_" + ed.id + "_size"), c = DOM.get(ed.id + '_tbl'); + + if (!o) + return; + + if (s.theme_advanced_resize_horizontal) + c.style.width = o.cw + 'px'; + + c.style.height = o.ch + 'px'; + DOM.get(ed.id + '_ifr').style.height = (parseInt(o.ch) + t.deltaHeight) + 'px'; + }); + } + + ed.onPostRender.add(function() { + Event.add(ed.id + '_resize', 'mousedown', function(e) { + var c, p, w, h, n, pa; + + // Measure container + c = DOM.get(ed.id + '_tbl'); + w = c.clientWidth; + h = c.clientHeight; + + miw = s.theme_advanced_resizing_min_width || 100; + mih = s.theme_advanced_resizing_min_height || 100; + maw = s.theme_advanced_resizing_max_width || 0xFFFF; + mah = s.theme_advanced_resizing_max_height || 0xFFFF; + + // Setup placeholder + p = DOM.add(DOM.get(ed.id + '_parent'), 'div', {'class' : 'mcePlaceHolder'}); + DOM.setStyles(p, {width : w, height : h}); + + // Replace with placeholder + DOM.hide(c); + DOM.show(p); + + // Create internal resize obj + r = { + x : e.screenX, + y : e.screenY, + w : w, + h : h, + dx : null, + dy : null + }; + + // Start listening + mf = Event.add(document, 'mousemove', function(e) { + var w, h; + + // Calc delta values + r.dx = e.screenX - r.x; + r.dy = e.screenY - r.y; + + // Boundery fix box + w = Math.max(miw, r.w + r.dx); + h = Math.max(mih, r.h + r.dy); + w = Math.min(maw, w); + h = Math.min(mah, h); + + // Resize placeholder + if (s.theme_advanced_resize_horizontal) + p.style.width = w + 'px'; + + p.style.height = h + 'px'; + + return Event.cancel(e); + }); + + me = Event.add(document, 'mouseup', function(e) { + var ifr; + + // Stop listening + Event.remove(document, 'mousemove', mf); + Event.remove(document, 'mouseup', me); + + c.style.display = ''; + DOM.remove(p); + + if (r.dx === null) + return; + + ifr = DOM.get(ed.id + '_ifr'); + + if (s.theme_advanced_resize_horizontal) + c.style.width = (r.w + r.dx) + 'px'; + + c.style.height = (r.h + r.dy) + 'px'; + ifr.style.height = (ifr.clientHeight + r.dy) + 'px'; + + if (s.theme_advanced_resizing_use_cookie) { + Cookie.setHash("TinyMCE_" + ed.id + "_size", { + cw : r.w + r.dx, + ch : r.h + r.dy + }); + } + }); + + return Event.cancel(e); + }); + }); + } + + o.deltaHeight -= 21; + n = tb = null; + }, + + _nodeChanged : function(ed, cm, n, co) { + var t = this, p, de = 0, v, c, s = t.settings; + + tinymce.each(t.stateControls, function(c) { + cm.setActive(c, ed.queryCommandState(t.controls[c][1])); + }); + + cm.setActive('visualaid', ed.hasVisual); + cm.setDisabled('undo', !ed.undoManager.hasUndo() && !ed.typing); + cm.setDisabled('redo', !ed.undoManager.hasRedo()); + cm.setDisabled('outdent', !ed.queryCommandState('Outdent')); + + p = DOM.getParent(n, 'A'); + if (c = cm.get('link')) { + if (!p || !p.name) { + c.setDisabled(!p && co); + c.setActive(!!p); + } + } + + if (c = cm.get('unlink')) { + c.setDisabled(!p && co); + c.setActive(!!p && !p.name); + } + + if (c = cm.get('anchor')) { + c.setActive(!!p && p.name); + + if (tinymce.isWebKit) { + p = DOM.getParent(n, 'IMG'); + c.setActive(!!p && DOM.getAttrib(p, 'mce_name') == 'a'); + } + } + + p = DOM.getParent(n, 'IMG'); + if (c = cm.get('image')) + c.setActive(!!p && n.className.indexOf('mceItem') == -1); + + if (c = cm.get('styleselect')) { + if (n.className) { + t._importClasses(); + c.select(n.className); + } else + c.select(); + } + + if (c = cm.get('formatselect')) { + p = DOM.getParent(n, DOM.isBlock); + + if (p) + c.select(p.nodeName.toLowerCase()); + } + + if (c = cm.get('fontselect')) + c.select(ed.queryCommandValue('FontName')); + + if (c = cm.get('fontsizeselect')) + c.select(ed.queryCommandValue('FontSize')); + + if (s.theme_advanced_path && s.theme_advanced_statusbar_location) { + p = DOM.get(ed.id + '_path') || DOM.add(ed.id + '_path_row', 'span', {id : ed.id + '_path'}); + DOM.setHTML(p, ''); + + ed.dom.getParent(n, function(n) { + var na = n.nodeName.toLowerCase(), u, pi, ti = ''; + + // Ignore non element and hidden elements + if (n.nodeType != 1 || (DOM.hasClass(n, 'mceItemHidden') || DOM.hasClass(n, 'mceItemRemoved'))) + return; + + // Fake name + if (v = DOM.getAttrib(n, 'mce_name')) + na = v; + + // Handle prefix + if (tinymce.isIE && n.scopeName !== 'HTML') + na = n.scopeName + ':' + na; + + // Remove internal prefix + na = na.replace(/mce\:/g, ''); + + // Handle node name + switch (na) { + case 'b': + na = 'strong'; + break; + + case 'i': + na = 'em'; + break; + + case 'img': + if (v = DOM.getAttrib(n, 'src')) + ti += 'src: ' + v + ' '; + + break; + + case 'a': + if (v = DOM.getAttrib(n, 'name')) { + ti += 'name: ' + v + ' '; + na += '#' + v; + } + + if (v = DOM.getAttrib(n, 'href')) + ti += 'href: ' + v + ' '; + + break; + + case 'font': + if (s.convert_fonts_to_spans) + na = 'span'; + + if (v = DOM.getAttrib(n, 'face')) + ti += 'font: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'size')) + ti += 'size: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'color')) + ti += 'color: ' + v + ' '; + + break; + + case 'span': + if (v = DOM.getAttrib(n, 'style')) + ti += 'style: ' + v + ' '; + + break; + } + + if (v = DOM.getAttrib(n, 'id')) + ti += 'id: ' + v + ' '; + + if (v = n.className) { + v = v.replace(/(webkit-[\w\-]+|Apple-[\w\-]+|mceItem\w+|mceVisualAid)/g, ''); + + if (v && v.indexOf('mceItem') == -1) { + ti += 'class: ' + v + ' '; + + if (DOM.isBlock(n) || na == 'img' || na == 'span') + na += '.' + v; + } + } + + na = na.replace(/(html:)/g, ''); + na = {name : na, node : n, title : ti}; + t.onResolveName.dispatch(t, na); + ti = na.title; + na = na.name; + + //u = "javascript:tinymce.EditorManager.get('" + ed.id + "').theme._sel('" + (de++) + "');"; + pi = DOM.create('a', {'href' : "javascript:;", onmousedown : "return false;", title : ti, 'class' : 'mcePath_' + (de++)}, na); + + if (p.hasChildNodes()) { + p.insertBefore(document.createTextNode(' \u00bb '), p.firstChild); + p.insertBefore(pi, p.firstChild); + } else + p.appendChild(pi); + }, ed.getBody()); + } + }, + + // Commands gets called by execCommand + + _sel : function(v) { + this.editor.execCommand('mceSelectNodeDepth', false, v); + }, + + _mceInsertAnchor : function(ui, v) { + var ed = this.editor; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/advanced/anchor.htm', + width : 320 + parseInt(ed.getLang('advanced.anchor_delta_width', 0)), + height : 90 + parseInt(ed.getLang('advanced.anchor_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceCharMap : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/advanced/charmap.htm', + width : 550 + parseInt(ed.getLang('advanced.charmap_delta_width', 0)), + height : 250 + parseInt(ed.getLang('advanced.charmap_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceHelp : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/advanced/about.htm', + width : 480, + height : 380, + inline : true + }, { + theme_url : this.url + }); + }, + + _mceColorPicker : function(u, v) { + var ed = this.editor; + + v = v || {}; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/advanced/color_picker.htm', + width : 375 + parseInt(ed.getLang('advanced.colorpicker_delta_width', 0)), + height : 250 + parseInt(ed.getLang('advanced.colorpicker_delta_height', 0)), + close_previous : false, + inline : true + }, { + input_color : v.color, + func : v.func, + theme_url : this.url + }); + }, + + _mceCodeEditor : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/advanced/source_editor.htm', + width : parseInt(ed.getParam("theme_advanced_source_editor_width", 720)), + height : parseInt(ed.getParam("theme_advanced_source_editor_height", 580)), + inline : true, + resizable : true, + maximizable : true + }, { + theme_url : this.url + }); + }, + + _mceImage : function(ui, val) { + var ed = this.editor; + + // Internal image object like a flash placeholder + if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1) + return; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/advanced/image.htm', + width : 355 + parseInt(ed.getLang('advanced.image_delta_width', 0)), + height : 275 + parseInt(ed.getLang('advanced.image_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceLink : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/advanced/link.htm', + width : 310 + parseInt(ed.getLang('advanced.link_delta_width', 0)), + height : 200 + parseInt(ed.getLang('advanced.link_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceNewDocument : function() { + var ed = this.editor; + + ed.windowManager.confirm('advanced.newdocument', function(s) { + if (s) + ed.execCommand('mceSetContent', false, ''); + }); + }, + + _mceForeColor : function() { + var t = this; + + this._mceColorPicker(0, { + func : function(co) { + t.editor.execCommand('ForeColor', false, co); + } + }); + }, + + _mceBackColor : function() { + var t = this; + + this._mceColorPicker(0, { + func : function(co) { + t.editor.execCommand('HiliteColor', false, co); + } + }); + }, + + _ufirst : function(s) { + return s.substring(0, 1).toUpperCase() + s.substring(1); + } + }); + + tinymce.ThemeManager.add('advanced', tinymce.themes.AdvancedTheme); +}()); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm new file mode 100644 index 0000000000..6c366469c3 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm @@ -0,0 +1,86 @@ + + + + {#advanced_dlg.image_title} + + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
     
    + x +
    +
    +
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b4c542d107b25f68a9d4f9d7a109d0565d1f1437 GIT binary patch literal 3189 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 literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif new file mode 100644 index 0000000000000000000000000000000000000000..687082782a37bb539f33e4c16cd1b243939736cc GIT binary patch literal 11532 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 YO(`WkJCHPOn)KWuY39Zz1ptiy2iZ779RL6T literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js new file mode 100644 index 0000000000..9081e1ddc0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js @@ -0,0 +1,72 @@ +tinyMCEPopup.requireLangPack(); + +function init() { + var ed, tcont; + + tinyMCEPopup.resizeToInnerSize(); + ed = tinyMCEPopup.editor; + + // Give FF some time + window.setTimeout('insertHelpIFrame();', 10); + + tcont = document.getElementById('plugintablecontainer'); + document.getElementById('plugins_tab').style.display = 'none'; + + var html = ""; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + + tinymce.each(ed.plugins, function(p, n) { + var info; + + if (!p.getInfo) + return; + + html += ''; + + info = p.getInfo(); + + if (info.infourl != null && info.infourl != '') + html += ''; + else + html += ''; + + if (info.authorurl != null && info.authorurl != '') + html += ''; + else + html += ''; + + html += ''; + html += ''; + + document.getElementById('plugins_tab').style.display = ''; + + }); + + html += ''; + html += '
    ' + ed.getLang('advanced_dlg.about_plugin') + '' + ed.getLang('advanced_dlg.about_author') + '' + ed.getLang('advanced_dlg.about_version') + '
    ' + info.longname + '' + info.longname + '' + info.author + '' + info.author + '' + info.version + '
    '; + + tcont.innerHTML = html; + + tinyMCEPopup.dom.get('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion; + tinyMCEPopup.dom.get('date').innerHTML = tinymce.releaseDate; +} + +function insertHelpIFrame() { + var html; + + if (tinyMCEPopup.getParam('docs_url')) { + html = ''; + document.getElementById('iframecontainer').innerHTML = html; + document.getElementById('help_tab').style.display = 'block'; + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js new file mode 100644 index 0000000000..f349b2219f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js @@ -0,0 +1,33 @@ +tinyMCEPopup.requireLangPack(); + +var AnchorDialog = { + init : function(ed) { + var action, elm, f = document.forms[0]; + + this.editor = ed; + elm = ed.dom.getParent(ed.selection.getNode(), 'A,IMG'); + v = ed.dom.getAttrib(elm, 'name'); + + if (v) + f.anchorName.value = v; + + f.insert.value = ed.getLang(elm ? 'update' : 'insert'); + }, + + update : function() { + var ed = this.editor; + + tinyMCEPopup.restoreSelection(); + ed.selection.collapse(1); + + // Webkit acts weird if empty inline element is inserted so we need to use a image instead + if (tinymce.isWebKit) + ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('img', {mce_name : 'a', name : document.forms[0].anchorName.value, 'class' : 'mceItemAnchor'})); + else + ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : document.forms[0].anchorName.value, 'class' : 'mceItemAnchor'}, '')); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js new file mode 100644 index 0000000000..8467ef6036 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js @@ -0,0 +1,325 @@ +tinyMCEPopup.requireLangPack(); + +var charmap = [ + [' ', ' ', true, 'no-break space'], + ['&', '&', true, 'ampersand'], + ['"', '"', true, 'quotation mark'], +// finance + ['¢', '¢', true, 'cent sign'], + ['€', '€', true, 'euro sign'], + ['£', '£', true, 'pound sign'], + ['¥', '¥', true, 'yen sign'], +// signs + ['©', '©', true, 'copyright sign'], + ['®', '®', true, 'registered sign'], + ['™', '™', true, 'trade mark sign'], + ['‰', '‰', true, 'per mille sign'], + ['µ', 'µ', true, 'micro sign'], + ['·', '·', true, 'middle dot'], + ['•', '•', true, 'bullet'], + ['…', '…', true, 'three dot leader'], + ['′', '′', true, 'minutes / feet'], + ['″', '″', true, 'seconds / inches'], + ['§', '§', true, 'section sign'], + ['¶', '¶', true, 'paragraph sign'], + ['ß', 'ß', true, 'sharp s / ess-zed'], +// quotations + ['‹', '‹', true, 'single left-pointing angle quotation mark'], + ['›', '›', true, 'single right-pointing angle quotation mark'], + ['«', '«', true, 'left pointing guillemet'], + ['»', '»', true, 'right pointing guillemet'], + ['‘', '‘', true, 'left single quotation mark'], + ['’', '’', true, 'right single quotation mark'], + ['“', '“', true, 'left double quotation mark'], + ['”', '”', true, 'right double quotation mark'], + ['‚', '‚', true, 'single low-9 quotation mark'], + ['„', '„', true, 'double low-9 quotation mark'], + ['<', '<', true, 'less-than sign'], + ['>', '>', true, 'greater-than sign'], + ['≤', '≤', true, 'less-than or equal to'], + ['≥', '≥', true, 'greater-than or equal to'], + ['–', '–', true, 'en dash'], + ['—', '—', true, 'em dash'], + ['¯', '¯', true, 'macron'], + ['‾', '‾', true, 'overline'], + ['¤', '¤', true, 'currency sign'], + ['¦', '¦', true, 'broken bar'], + ['¨', '¨', true, 'diaeresis'], + ['¡', '¡', true, 'inverted exclamation mark'], + ['¿', '¿', true, 'turned question mark'], + ['ˆ', 'ˆ', true, 'circumflex accent'], + ['˜', '˜', true, 'small tilde'], + ['°', '°', true, 'degree sign'], + ['−', '−', true, 'minus sign'], + ['±', '±', true, 'plus-minus sign'], + ['÷', '÷', true, 'division sign'], + ['⁄', '⁄', true, 'fraction slash'], + ['×', '×', true, 'multiplication sign'], + ['¹', '¹', true, 'superscript one'], + ['²', '²', true, 'superscript two'], + ['³', '³', true, 'superscript three'], + ['¼', '¼', true, 'fraction one quarter'], + ['½', '½', true, 'fraction one half'], + ['¾', '¾', true, 'fraction three quarters'], +// math / logical + ['ƒ', 'ƒ', true, 'function / florin'], + ['∫', '∫', true, 'integral'], + ['∑', '∑', true, 'n-ary sumation'], + ['∞', '∞', true, 'infinity'], + ['√', '√', true, 'square root'], + ['∼', '∼', false,'similar to'], + ['≅', '≅', false,'approximately equal to'], + ['≈', '≈', true, 'almost equal to'], + ['≠', '≠', true, 'not equal to'], + ['≡', '≡', true, 'identical to'], + ['∈', '∈', false,'element of'], + ['∉', '∉', false,'not an element of'], + ['∋', '∋', false,'contains as member'], + ['∏', '∏', true, 'n-ary product'], + ['∧', '∧', false,'logical and'], + ['∨', '∨', false,'logical or'], + ['¬', '¬', true, 'not sign'], + ['∩', '∩', true, 'intersection'], + ['∪', '∪', false,'union'], + ['∂', '∂', true, 'partial differential'], + ['∀', '∀', false,'for all'], + ['∃', '∃', false,'there exists'], + ['∅', '∅', false,'diameter'], + ['∇', '∇', false,'backward difference'], + ['∗', '∗', false,'asterisk operator'], + ['∝', '∝', false,'proportional to'], + ['∠', '∠', false,'angle'], +// undefined + ['´', '´', true, 'acute accent'], + ['¸', '¸', true, 'cedilla'], + ['ª', 'ª', true, 'feminine ordinal indicator'], + ['º', 'º', true, 'masculine ordinal indicator'], + ['†', '†', true, 'dagger'], + ['‡', '‡', true, 'double dagger'], +// alphabetical special chars + ['À', 'À', true, 'A - grave'], + ['Á', 'Á', true, 'A - acute'], + ['Â', 'Â', true, 'A - circumflex'], + ['Ã', 'Ã', true, 'A - tilde'], + ['Ä', 'Ä', true, 'A - diaeresis'], + ['Å', 'Å', true, 'A - ring above'], + ['Æ', 'Æ', true, 'ligature AE'], + ['Ç', 'Ç', true, 'C - cedilla'], + ['È', 'È', true, 'E - grave'], + ['É', 'É', true, 'E - acute'], + ['Ê', 'Ê', true, 'E - circumflex'], + ['Ë', 'Ë', true, 'E - diaeresis'], + ['Ì', 'Ì', true, 'I - grave'], + ['Í', 'Í', true, 'I - acute'], + ['Î', 'Î', true, 'I - circumflex'], + ['Ï', 'Ï', true, 'I - diaeresis'], + ['Ð', 'Ð', true, 'ETH'], + ['Ñ', 'Ñ', true, 'N - tilde'], + ['Ò', 'Ò', true, 'O - grave'], + ['Ó', 'Ó', true, 'O - acute'], + ['Ô', 'Ô', true, 'O - circumflex'], + ['Õ', 'Õ', true, 'O - tilde'], + ['Ö', 'Ö', true, 'O - diaeresis'], + ['Ø', 'Ø', true, 'O - slash'], + ['Œ', 'Œ', true, 'ligature OE'], + ['Š', 'Š', true, 'S - caron'], + ['Ù', 'Ù', true, 'U - grave'], + ['Ú', 'Ú', true, 'U - acute'], + ['Û', 'Û', true, 'U - circumflex'], + ['Ü', 'Ü', true, 'U - diaeresis'], + ['Ý', 'Ý', true, 'Y - acute'], + ['Ÿ', 'Ÿ', true, 'Y - diaeresis'], + ['Þ', 'Þ', true, 'THORN'], + ['à', 'à', true, 'a - grave'], + ['á', 'á', true, 'a - acute'], + ['â', 'â', true, 'a - circumflex'], + ['ã', 'ã', true, 'a - tilde'], + ['ä', 'ä', true, 'a - diaeresis'], + ['å', 'å', true, 'a - ring above'], + ['æ', 'æ', true, 'ligature ae'], + ['ç', 'ç', true, 'c - cedilla'], + ['è', 'è', true, 'e - grave'], + ['é', 'é', true, 'e - acute'], + ['ê', 'ê', true, 'e - circumflex'], + ['ë', 'ë', true, 'e - diaeresis'], + ['ì', 'ì', true, 'i - grave'], + ['í', 'í', true, 'i - acute'], + ['î', 'î', true, 'i - circumflex'], + ['ï', 'ï', true, 'i - diaeresis'], + ['ð', 'ð', true, 'eth'], + ['ñ', 'ñ', true, 'n - tilde'], + ['ò', 'ò', true, 'o - grave'], + ['ó', 'ó', true, 'o - acute'], + ['ô', 'ô', true, 'o - circumflex'], + ['õ', 'õ', true, 'o - tilde'], + ['ö', 'ö', true, 'o - diaeresis'], + ['ø', 'ø', true, 'o slash'], + ['œ', 'œ', true, 'ligature oe'], + ['š', 'š', true, 's - caron'], + ['ù', 'ù', true, 'u - grave'], + ['ú', 'ú', true, 'u - acute'], + ['û', 'û', true, 'u - circumflex'], + ['ü', 'ü', true, 'u - diaeresis'], + ['ý', 'ý', true, 'y - acute'], + ['þ', 'þ', true, 'thorn'], + ['ÿ', 'ÿ', true, 'y - diaeresis'], + ['Α', 'Α', true, 'Alpha'], + ['Β', 'Β', true, 'Beta'], + ['Γ', 'Γ', true, 'Gamma'], + ['Δ', 'Δ', true, 'Delta'], + ['Ε', 'Ε', true, 'Epsilon'], + ['Ζ', 'Ζ', true, 'Zeta'], + ['Η', 'Η', true, 'Eta'], + ['Θ', 'Θ', true, 'Theta'], + ['Ι', 'Ι', true, 'Iota'], + ['Κ', 'Κ', true, 'Kappa'], + ['Λ', 'Λ', true, 'Lambda'], + ['Μ', 'Μ', true, 'Mu'], + ['Ν', 'Ν', true, 'Nu'], + ['Ξ', 'Ξ', true, 'Xi'], + ['Ο', 'Ο', true, 'Omicron'], + ['Π', 'Π', true, 'Pi'], + ['Ρ', 'Ρ', true, 'Rho'], + ['Σ', 'Σ', true, 'Sigma'], + ['Τ', 'Τ', true, 'Tau'], + ['Υ', 'Υ', true, 'Upsilon'], + ['Φ', 'Φ', true, 'Phi'], + ['Χ', 'Χ', true, 'Chi'], + ['Ψ', 'Ψ', true, 'Psi'], + ['Ω', 'Ω', true, 'Omega'], + ['α', 'α', true, 'alpha'], + ['β', 'β', true, 'beta'], + ['γ', 'γ', true, 'gamma'], + ['δ', 'δ', true, 'delta'], + ['ε', 'ε', true, 'epsilon'], + ['ζ', 'ζ', true, 'zeta'], + ['η', 'η', true, 'eta'], + ['θ', 'θ', true, 'theta'], + ['ι', 'ι', true, 'iota'], + ['κ', 'κ', true, 'kappa'], + ['λ', 'λ', true, 'lambda'], + ['μ', 'μ', true, 'mu'], + ['ν', 'ν', true, 'nu'], + ['ξ', 'ξ', true, 'xi'], + ['ο', 'ο', true, 'omicron'], + ['π', 'π', true, 'pi'], + ['ρ', 'ρ', true, 'rho'], + ['ς', 'ς', true, 'final sigma'], + ['σ', 'σ', true, 'sigma'], + ['τ', 'τ', true, 'tau'], + ['υ', 'υ', true, 'upsilon'], + ['φ', 'φ', true, 'phi'], + ['χ', 'χ', true, 'chi'], + ['ψ', 'ψ', true, 'psi'], + ['ω', 'ω', true, 'omega'], +// symbols + ['ℵ', 'ℵ', false,'alef symbol'], + ['ϖ', 'ϖ', false,'pi symbol'], + ['ℜ', 'ℜ', false,'real part symbol'], + ['ϑ','ϑ', false,'theta symbol'], + ['ϒ', 'ϒ', false,'upsilon - hook symbol'], + ['℘', '℘', false,'Weierstrass p'], + ['ℑ', 'ℑ', false,'imaginary part'], +// arrows + ['←', '←', true, 'leftwards arrow'], + ['↑', '↑', true, 'upwards arrow'], + ['→', '→', true, 'rightwards arrow'], + ['↓', '↓', true, 'downwards arrow'], + ['↔', '↔', true, 'left right arrow'], + ['↵', '↵', false,'carriage return'], + ['⇐', '⇐', false,'leftwards double arrow'], + ['⇑', '⇑', false,'upwards double arrow'], + ['⇒', '⇒', false,'rightwards double arrow'], + ['⇓', '⇓', false,'downwards double arrow'], + ['⇔', '⇔', false,'left right double arrow'], + ['∴', '∴', false,'therefore'], + ['⊂', '⊂', false,'subset of'], + ['⊃', '⊃', false,'superset of'], + ['⊄', '⊄', false,'not a subset of'], + ['⊆', '⊆', false,'subset of or equal to'], + ['⊇', '⊇', false,'superset of or equal to'], + ['⊕', '⊕', false,'circled plus'], + ['⊗', '⊗', false,'circled times'], + ['⊥', '⊥', false,'perpendicular'], + ['⋅', '⋅', false,'dot operator'], + ['⌈', '⌈', false,'left ceiling'], + ['⌉', '⌉', false,'right ceiling'], + ['⌊', '⌊', false,'left floor'], + ['⌋', '⌋', false,'right floor'], + ['⟨', '〈', false,'left-pointing angle bracket'], + ['⟩', '〉', false,'right-pointing angle bracket'], + ['◊', '◊', true,'lozenge'], + ['♠', '♠', false,'black spade suit'], + ['♣', '♣', true, 'black club suit'], + ['♥', '♥', true, 'black heart suit'], + ['♦', '♦', true, 'black diamond suit'], + [' ', ' ', false,'en space'], + [' ', ' ', false,'em space'], + [' ', ' ', false,'thin space'], + ['‌', '‌', false,'zero width non-joiner'], + ['‍', '‍', false,'zero width joiner'], + ['‎', '‎', false,'left-to-right mark'], + ['‏', '‏', false,'right-to-left mark'], + ['­', '­', false,'soft hyphen'] +]; + +tinyMCEPopup.onInit.add(function() { + tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML()); +}); + +function renderCharMapHTML() { + var charsPerRow = 20, tdWidth=20, tdHeight=20, i; + var html = ''; + var cols=-1; + + for (i=0; i' + + '' + + charmap[i][1] + + ''; + if ((cols+1) % charsPerRow == 0) + html += ''; + } + } + + if (cols % charsPerRow > 0) { + var padd = charsPerRow - (cols % charsPerRow); + for (var i=0; i '; + } + + html += '
    '; + + return html; +} + +function insertChar(chr) { + tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';'); + + // Refocus in window + if (tinyMCEPopup.isWindow) + window.focus(); + + tinyMCEPopup.editor.focus(); + tinyMCEPopup.close(); +} + +function previewChar(codeA, codeB, codeN) { + var elmA = document.getElementById('codeA'); + var elmB = document.getElementById('codeB'); + var elmV = document.getElementById('codeV'); + var elmN = document.getElementById('codeN'); + + if (codeA=='#160;') { + elmV.innerHTML = '__'; + } else { + elmV.innerHTML = '&' + codeA; + } + + elmB.innerHTML = '&' + codeA; + elmA.innerHTML = '&' + codeB; + elmN.innerHTML = codeN; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js new file mode 100644 index 0000000000..f6871437a2 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js @@ -0,0 +1,245 @@ +tinyMCEPopup.requireLangPack(); + +var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false; + +var colors = new Array( + "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033", + "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099", + "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff", + "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033", + "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399", + "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff", + "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333", + "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399", + "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff", + "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633", + "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699", + "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff", + "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633", + "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999", + "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff", + "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933", + "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999", + "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff", + "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33", + "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99", + "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff", + "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33", + "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99", + "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff", + "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33", + "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99", + "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff" +); + +var named = { + '#F0F8FF':'AliceBlue','#FAEBD7':'AntiqueWhite','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige', + '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'BlanchedAlmond','#0000FF':'Blue','#8A2BE2':'BlueViolet','#A52A2A':'Brown', + '#DEB887':'BurlyWood','#5F9EA0':'CadetBlue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'CornflowerBlue', + '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'DarkBlue','#008B8B':'DarkCyan','#B8860B':'DarkGoldenRod', + '#A9A9A9':'DarkGray','#A9A9A9':'DarkGrey','#006400':'DarkGreen','#BDB76B':'DarkKhaki','#8B008B':'DarkMagenta','#556B2F':'DarkOliveGreen', + '#FF8C00':'Darkorange','#9932CC':'DarkOrchid','#8B0000':'DarkRed','#E9967A':'DarkSalmon','#8FBC8F':'DarkSeaGreen','#483D8B':'DarkSlateBlue', + '#2F4F4F':'DarkSlateGray','#2F4F4F':'DarkSlateGrey','#00CED1':'DarkTurquoise','#9400D3':'DarkViolet','#FF1493':'DeepPink','#00BFFF':'DeepSkyBlue', + '#696969':'DimGray','#696969':'DimGrey','#1E90FF':'DodgerBlue','#B22222':'FireBrick','#FFFAF0':'FloralWhite','#228B22':'ForestGreen', + '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'GhostWhite','#FFD700':'Gold','#DAA520':'GoldenRod','#808080':'Gray','#808080':'Grey', + '#008000':'Green','#ADFF2F':'GreenYellow','#F0FFF0':'HoneyDew','#FF69B4':'HotPink','#CD5C5C':'IndianRed','#4B0082':'Indigo','#FFFFF0':'Ivory', + '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'LavenderBlush','#7CFC00':'LawnGreen','#FFFACD':'LemonChiffon','#ADD8E6':'LightBlue', + '#F08080':'LightCoral','#E0FFFF':'LightCyan','#FAFAD2':'LightGoldenRodYellow','#D3D3D3':'LightGray','#D3D3D3':'LightGrey','#90EE90':'LightGreen', + '#FFB6C1':'LightPink','#FFA07A':'LightSalmon','#20B2AA':'LightSeaGreen','#87CEFA':'LightSkyBlue','#778899':'LightSlateGray','#778899':'LightSlateGrey', + '#B0C4DE':'LightSteelBlue','#FFFFE0':'LightYellow','#00FF00':'Lime','#32CD32':'LimeGreen','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon', + '#66CDAA':'MediumAquaMarine','#0000CD':'MediumBlue','#BA55D3':'MediumOrchid','#9370D8':'MediumPurple','#3CB371':'MediumSeaGreen','#7B68EE':'MediumSlateBlue', + '#00FA9A':'MediumSpringGreen','#48D1CC':'MediumTurquoise','#C71585':'MediumVioletRed','#191970':'MidnightBlue','#F5FFFA':'MintCream','#FFE4E1':'MistyRose','#FFE4B5':'Moccasin', + '#FFDEAD':'NavajoWhite','#000080':'Navy','#FDF5E6':'OldLace','#808000':'Olive','#6B8E23':'OliveDrab','#FFA500':'Orange','#FF4500':'OrangeRed','#DA70D6':'Orchid', + '#EEE8AA':'PaleGoldenRod','#98FB98':'PaleGreen','#AFEEEE':'PaleTurquoise','#D87093':'PaleVioletRed','#FFEFD5':'PapayaWhip','#FFDAB9':'PeachPuff', + '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'PowderBlue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'RosyBrown','#4169E1':'RoyalBlue', + '#8B4513':'SaddleBrown','#FA8072':'Salmon','#F4A460':'SandyBrown','#2E8B57':'SeaGreen','#FFF5EE':'SeaShell','#A0522D':'Sienna','#C0C0C0':'Silver', + '#87CEEB':'SkyBlue','#6A5ACD':'SlateBlue','#708090':'SlateGray','#708090':'SlateGrey','#FFFAFA':'Snow','#00FF7F':'SpringGreen', + '#4682B4':'SteelBlue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet', + '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'WhiteSmoke','#FFFF00':'Yellow','#9ACD32':'YellowGreen' +}; + +function init() { + var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color')); + + tinyMCEPopup.resizeToInnerSize(); + + generatePicker(); + + if (inputColor) { + changeFinalColor(inputColor); + + col = convertHexToRGB(inputColor); + + if (col) + updateLight(col.r, col.g, col.b); + } +} + +function insertAction() { + var color = document.getElementById("color").value, f = tinyMCEPopup.getWindowArg('func'); + + tinyMCEPopup.restoreSelection(); + + if (f) + f(color); + + tinyMCEPopup.close(); +} + +function showColor(color, name) { + if (name) + document.getElementById("colorname").innerHTML = name; + + document.getElementById("preview").style.backgroundColor = color; + document.getElementById("color").value = color.toLowerCase(); +} + +function convertRGBToHex(col) { + var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi"); + + if (!col) + return col; + + var rgb = col.replace(re, "$1,$2,$3").split(','); + if (rgb.length == 3) { + r = parseInt(rgb[0]).toString(16); + g = parseInt(rgb[1]).toString(16); + b = parseInt(rgb[2]).toString(16); + + r = r.length == 1 ? '0' + r : r; + g = g.length == 1 ? '0' + g : g; + b = b.length == 1 ? '0' + b : b; + + return "#" + r + g + b; + } + + return col; +} + +function convertHexToRGB(col) { + if (col.indexOf('#') != -1) { + col = col.replace(new RegExp('[^0-9A-F]', 'gi'), ''); + + r = parseInt(col.substring(0, 2), 16); + g = parseInt(col.substring(2, 4), 16); + b = parseInt(col.substring(4, 6), 16); + + return {r : r, g : g, b : b}; + } + + return null; +} + +function generatePicker() { + var el = document.getElementById('light'), h = '', i; + + for (i = 0; i < detail; i++){ + h += '
    '; + } + + el.innerHTML = h; +} + +function generateWebColors() { + var el = document.getElementById('webcolors'), h = '', i; + + if (el.className == 'generated') + return; + + h += '' + + ''; + + for (i=0; i' + + '' + + ''; + if ((i+1) % 18 == 0) + h += ''; + } + + h += '
    '; + + el.innerHTML = h; + el.className = 'generated'; +} + +function generateNamedColors() { + var el = document.getElementById('namedcolors'), h = '', n, v, i = 0; + + if (el.className == 'generated') + return; + + for (n in named) { + v = named[n]; + h += '' + } + + el.innerHTML = h; + el.className = 'generated'; +} + +function dechex(n) { + return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16); +} + +function computeColor(e) { + var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB; + + x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0); + y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0); + + partWidth = document.getElementById('colors').width / 6; + partDetail = detail / 2; + imHeight = document.getElementById('colors').height; + + r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255; + g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255 + (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth); + b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth); + + coef = (imHeight - y) / imHeight; + r = 128 + (r - 128) * coef; + g = 128 + (g - 128) * coef; + b = 128 + (b - 128) * coef; + + changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b)); + updateLight(r, g, b); +} + +function updateLight(r, g, b) { + var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color; + + for (i=0; i=0) && (i'); + }, + + init : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor; + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '180px'; + + e = ed.selection.getNode(); + + this.fillFileList('image_list', 'tinyMCEImageList'); + + if (e.nodeName == 'IMG') { + f.src.value = ed.dom.getAttrib(e, 'src'); + f.alt.value = ed.dom.getAttrib(e, 'alt'); + f.border.value = this.getAttrib(e, 'border'); + f.vspace.value = this.getAttrib(e, 'vspace'); + f.hspace.value = this.getAttrib(e, 'hspace'); + f.width.value = ed.dom.getAttrib(e, 'width'); + f.height.value = ed.dom.getAttrib(e, 'height'); + f.insert.value = ed.getLang('update'); + this.styleVal = ed.dom.getAttrib(e, 'style'); + selectByValue(f, 'image_list', f.src.value); + selectByValue(f, 'align', this.getAttrib(e, 'align')); + this.updateStyle(); + } + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + update : function() { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, args = {}, el; + + tinyMCEPopup.restoreSelection(); + + if (f.src.value === '') { + if (ed.selection.getNode().nodeName == 'IMG') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + } + + tinyMCEPopup.close(); + return; + } + + if (!ed.settings.inline_styles) { + args = tinymce.extend(args, { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }); + } else + args.style = this.styleVal; + + tinymce.extend(args, { + src : f.src.value, + alt : f.alt.value, + width : f.width.value, + height : f.height.value + }); + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, '', {skip_undo : 1}); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + ed.undoManager.add(); + } + + tinyMCEPopup.close(); + }, + + updateStyle : function() { + var dom = tinyMCEPopup.dom, st, v, f = document.forms[0]; + + if (tinyMCEPopup.editor.settings.inline_styles) { + st = tinyMCEPopup.dom.parseStyle(this.styleVal); + + // Handle align + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') { + st['float'] = v; + delete st['vertical-align']; + } else { + st['vertical-align'] = v; + delete st['float']; + } + } else { + delete st['float']; + delete st['vertical-align']; + } + + // Handle border + v = f.border.value; + if (v || v == '0') { + if (v == '0') + st['border'] = '0'; + else + st['border'] = v + 'px solid black'; + } else + delete st['border']; + + // Handle hspace + v = f.hspace.value; + if (v) { + delete st['margin']; + st['margin-left'] = v + 'px'; + st['margin-right'] = v + 'px'; + } else { + delete st['margin-left']; + delete st['margin-right']; + } + + // Handle vspace + v = f.vspace.value; + if (v) { + delete st['margin']; + st['margin-top'] = v + 'px'; + st['margin-bottom'] = v + 'px'; + } else { + delete st['margin-top']; + delete st['margin-bottom']; + } + + // Merge + st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st)); + this.styleVal = dom.serializeStyle(st); + } + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.width.value = f.height.value = ""; + }, + + updateImageData : function() { + var f = document.forms[0], t = ImageDialog; + + if (f.width.value == "") + f.width.value = t.preloadImg.width; + + if (f.height.value == "") + f.height.value = t.preloadImg.height; + }, + + getImageData : function() { + var f = document.forms[0]; + + this.preloadImg = new Image(); + this.preloadImg.onload = this.updateImageData; + this.preloadImg.onerror = this.resetImageData; + this.preloadImg.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.src.value); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js new file mode 100644 index 0000000000..3f684a1c76 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js @@ -0,0 +1,126 @@ +tinyMCEPopup.requireLangPack(); + +var LinkDialog = { + preInit : function() { + var url; + + if (url = tinyMCEPopup.getParam("external_link_list_url")) + document.write(''); + }, + + init : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor; + + // Setup browse button + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser', 'href', 'file', 'theme_advanced_link'); + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '180px'; + + this.fillClassList('class_list'); + this.fillFileList('link_list', 'tinyMCELinkList'); + this.fillTargetList('target_list'); + + if (e = ed.dom.getParent(ed.selection.getNode(), 'A')) { + f.href.value = ed.dom.getAttrib(e, 'href'); + f.linktitle.value = ed.dom.getAttrib(e, 'title'); + f.insert.value = ed.getLang('update'); + selectByValue(f, 'link_list', f.href.value); + selectByValue(f, 'target_list', ed.dom.getAttrib(e, 'target')); + selectByValue(f, 'class_list', ed.dom.getAttrib(e, 'class')); + } + }, + + update : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor, e, b; + + tinyMCEPopup.restoreSelection(); + + // Remove element if there is no href + if (!f.href.value) { + e = ed.dom.getParent(ed.selection.getNode(), 'A'); + if (e) { + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + b = ed.selection.getBookmark(); + ed.dom.remove(e, 1); + ed.selection.moveToBookmark(b); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + } + + ed.execCommand('mceInsertLink', false, { + href : f.href.value, + title : f.linktitle.value, + target : f.target_list ? f.target_list.options[f.target_list.selectedIndex].value : null, + 'class' : f.class_list ? f.class_list.options[f.class_list.selectedIndex].value : null + }); + + tinyMCEPopup.close(); + }, + + checkPrefix : function(n) { + if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_email'))) + n.value = 'mailto:' + n.value; + + if (/^\s*www./i.test(n.value) && confirm(tinyMCEPopup.getLang('advanced_dlg.link_is_external'))) + n.value = 'http://' + n.value; + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_advanced_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillTargetList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v; + + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_same'), '_self'); + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('advanced_dlg.link_target_blank'), '_blank'); + + if (v = tinyMCEPopup.getParam('theme_advanced_link_targets')) { + tinymce.each(v.split(','), function(v) { + v = v.split('='); + html += ''; + }); + } + } +}; + +LinkDialog.preInit(); +tinyMCEPopup.onInit.add(LinkDialog.init, LinkDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js new file mode 100644 index 0000000000..af2231cad5 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js @@ -0,0 +1,62 @@ +tinyMCEPopup.requireLangPack(); +tinyMCEPopup.onInit.add(onLoadInit); + +function saveContent() { + tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value); + tinyMCEPopup.close(); +} + +function onLoadInit() { + tinyMCEPopup.resizeToInnerSize(); + + // Remove Gecko spellchecking + if (tinymce.isGecko) + document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck"); + + document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent(); + + if (tinyMCEPopup.editor.getParam("theme_advanced_source_editor_wrap", true)) { + setWrap('soft'); + document.getElementById('wraped').checked = true; + } + + resizeInputs(); +} + +function setWrap(val) { + var v, n, s = document.getElementById('htmlSource'); + + s.wrap = val; + + if (!tinymce.isIE) { + v = s.value; + n = s.cloneNode(false); + n.setAttribute("wrap", val); + s.parentNode.replaceChild(n, s); + n.value = v; + } +} + +function toggleWordWrap(elm) { + if (elm.checked) + setWrap('soft'); + else + setWrap('off'); +} + +var wHeight=0, wWidth=0, owHeight=0, owWidth=0; + +function resizeInputs() { + var el = document.getElementById('htmlSource'); + + if (!tinymce.isIE) { + wHeight = self.innerHeight - 65; + wWidth = self.innerWidth - 16; + } else { + wHeight = document.body.clientHeight - 70; + wWidth = document.body.clientWidth - 16; + } + + el.style.height = Math.abs(wHeight) + 'px'; + el.style.width = Math.abs(wWidth) + 'px'; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js new file mode 100644 index 0000000000..69694b1f9f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('en.advanced',{ +style_select:"Styles", +font_size:"Font size", +fontdefault:"Font family", +block:"Format", +paragraph:"Paragraph", +div:"Div", +address:"Address", +pre:"Preformatted", +h1:"Heading 1", +h2:"Heading 2", +h3:"Heading 3", +h4:"Heading 4", +h5:"Heading 5", +h6:"Heading 6", +blockquote:"Blockquote", +code:"Code", +samp:"Code sample", +dt:"Definition term ", +dd:"Definition description", +bold_desc:"Bold (Ctrl+B)", +italic_desc:"Italic (Ctrl+I)", +underline_desc:"Underline (Ctrl+U)", +striketrough_desc:"Strikethrough", +justifyleft_desc:"Align left", +justifycenter_desc:"Align center", +justifyright_desc:"Align right", +justifyfull_desc:"Align full", +bullist_desc:"Unordered list", +numlist_desc:"Ordered list", +outdent_desc:"Outdent", +indent_desc:"Indent", +undo_desc:"Undo (Ctrl+Z)", +redo_desc:"Redo (Ctrl+Y)", +link_desc:"Insert/edit link", +unlink_desc:"Unlink", +image_desc:"Insert/edit image", +cleanup_desc:"Cleanup messy code", +code_desc:"Edit HTML Source", +sub_desc:"Subscript", +sup_desc:"Superscript", +hr_desc:"Insert horizontal ruler", +removeformat_desc:"Remove formatting", +custom1_desc:"Your custom description here", +forecolor_desc:"Select text color", +backcolor_desc:"Select background color", +charmap_desc:"Insert custom character", +visualaid_desc:"Toggle guidelines/invisible elements", +anchor_desc:"Insert/edit anchor", +cut_desc:"Cut", +copy_desc:"Copy", +paste_desc:"Paste", +image_props_desc:"Image properties", +newdocument_desc:"New document", +help_desc:"Help", +blockquote_desc:"Blockquote", +clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\r\nDo you want more information about this issue?", +path:"Path", +newdocument:"Are you sure you want clear all contents?", +toolbar_focus:"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X", +more_colors:"More colors" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js new file mode 100644 index 0000000000..9d124d7db6 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('en.advanced_dlg',{ +about_title:"About TinyMCE", +about_general:"About", +about_help:"Help", +about_license:"License", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Author", +about_version:"Version", +about_loaded:"Loaded plugins", +anchor_title:"Insert/edit anchor", +anchor_name:"Anchor name", +code_title:"HTML Source Editor", +code_wordwrap:"Word wrap", +colorpicker_title:"Select a color", +colorpicker_picker_tab:"Picker", +colorpicker_picker_title:"Color picker", +colorpicker_palette_tab:"Palette", +colorpicker_palette_title:"Palette colors", +colorpicker_named_tab:"Named", +colorpicker_named_title:"Named colors", +colorpicker_color:"Color:", +colorpicker_name:"Name:", +charmap_title:"Select custom character", +image_title:"Insert/edit image", +image_src:"Image URL", +image_alt:"Image description", +image_list:"Image list", +image_border:"Border", +image_dimensions:"Dimensions", +image_vspace:"Vertical space", +image_hspace:"Horizontal space", +image_align:"Alignment", +image_align_baseline:"Baseline", +image_align_top:"Top", +image_align_middle:"Middle", +image_align_bottom:"Bottom", +image_align_texttop:"Text top", +image_align_textbottom:"Text bottom", +image_align_left:"Left", +image_align_right:"Right", +link_title:"Insert/edit link", +link_url:"Link URL", +link_target:"Target", +link_target_same:"Open link in the same window", +link_target_blank:"Open link in a new window", +link_titlefield:"Title", +link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", +link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", +link_list:"Link list" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm new file mode 100644 index 0000000000..286cc92479 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm @@ -0,0 +1,64 @@ + + + + {#advanced_dlg.link_title} + + + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
     
    +
    +
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css new file mode 100644 index 0000000000..4bbbfdee7f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css @@ -0,0 +1,25 @@ +body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;} +body {background:#FFF;} +body.mceForceColors {background:#FFF; color:#000;} +h1 {font-size: 2em} +h2 {font-size: 1.5em} +h3 {font-size: 1.17em} +h4 {font-size: 1em} +h5 {font-size: .83em} +h6 {font-size: .75em} +.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} +a.mceItemAnchor {width:12px; line-height:6px; overflow:hidden; padding-left:12px; background:url(img/items.gif) no-repeat bottom left;} +img.mceItemAnchor {width:12px; height:12px; background:url(img/items.gif) no-repeat;} +img {border:0;} + +/* IE */ +* html body { +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css new file mode 100644 index 0000000000..c944a60ba0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css @@ -0,0 +1,114 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDDDDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +background:#F0F0EE; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;} +a:hover {color:#2B6FB6;} + +/* Forms */ +fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} +legend {color:#2B6FB6; font-weight:bold;} +label.msg {display:none;} +label.invalid {color:#EE0000; display:inline;} +input.invalid {border:1px solid #EE0000;} +input {background:#FFF; border:1px solid #CCC;} +input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +input, select, textarea {border:1px solid #808080;} +input.radio {border:1px none #000000; background:transparent; vertical-align:middle;} +input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;} +.input_noborder {border:0;} + +/* Buttons */ +#insert, #cancel, input.button, .updateButton { +border:0; margin:0; padding:0; +font-weight:bold; +width:94px; height:26px; +background:url(img/buttons.png) 0 -26px; +cursor:pointer; +padding-bottom:2px; +} + +#insert {background:url(img/buttons.png) 0 -52px;} +#cancel {background:url(img/buttons.png) 0 0;} + +/* Browse */ +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;} +.mceOldBoxModel a.browse span {width:22px; height:20px;} +a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} +a.browse span.disabled {border:1px solid white; -moz-opacity:0.3; opacity:0.3; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);} +a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} +a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;} +.mceOldBoxModel a.pickcolor span {width:21px; height:17px;} +a.pickcolor:hover span {background-color:#B2BBD0;} +a.pickcolor:hover span.disabled {} + +/* Charmap */ +table.charmap {border:1px solid #AAA; text-align:center} +td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;} +#charmap a {display:block; color:#000; text-decoration:none; border:0} +#charmap a:hover {background:#CCC;color:#2B6FB6} +#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center} +#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center} + +/* Source */ +.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;} +.mceActionPanel {margin-top:5px;} + +/* Tabs classes */ +.tabs {width:100%; height:18px; line-height:normal; background:url(img/tabs.gif) repeat-x 0 -72px;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; background:url(img/tabs.gif) no-repeat 0 0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;} +.tabs li.current {background:url(img/tabs.gif) no-repeat 0 -18px; margin-right:2px;} +.tabs span {float:left; display:block; background:url(img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;} +.tabs .current span {background:url(img/tabs.gif) no-repeat right -54px;} +.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;} +.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;} + +/* Panels */ +.panel_wrapper div.panel {display:none;} +.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;} +.panel_wrapper {border:1px solid #919B9C; border-top:0px; padding:10px; padding-top:5px; clear:both; background:white;} + +/* Columns */ +.column {float:left;} +.properties {width:100%;} +.properties .column1 {} +.properties .column2 {text-align:left;} + +/* Titles */ +h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;} +h3 {font-size:14px;} +.title {font-size:12px; font-weight:bold; color:#2B6FB6;} + +/* Dialog specific */ +#link .panel_wrapper, #link div.current {height:125px;} +#image .panel_wrapper, #image div.current {height:200px;} +#plugintable thead {font-weight:bold; background:#DDD;} +#plugintable, #about #plugintable td {border:1px solid #919B9C;} +#plugintable {width:96%; margin-top:10px;} +#pluginscontainer {height:290px; overflow:auto;} +#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; border:1px solid black; margin-left:5px;} +#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;} +#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;} +#colorpicker #light div {overflow:hidden;} +#colorpicker #previewblock {float:right; padding-left:10px; height:20px;} +#colorpicker .panel_wrapper div.current {height:175px;} +#colorpicker #namedcolors {width:150px;} +#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} +#colorpicker #colornamecontainer {margin-top:5px;} +#colorpicker #picker_panel fieldset {margin:auto;width:325px;} \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..7dd58418ba7cfe58ae7efdf174e0b223fe3aa6a0 GIT binary patch literal 3274 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 SLTQbO*E^TJI;F+RU=09Vu@yA{ literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif new file mode 100644 index 0000000000000000000000000000000000000000..adfdddccd7cac62a17d68873fa53c248bff8351a GIT binary patch literal 70 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 R!Sp}^Mt9BhYjvGt{|88cricIl literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png new file mode 100644 index 0000000000000000000000000000000000000000..8996c7493e8a58c9c40845cbe8abdc3e6730716d GIT binary patch literal 3736 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 M07*qoM6N<$f@g#ZbN~PV literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css new file mode 100644 index 0000000000..8bc936ebdc --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css @@ -0,0 +1,211 @@ +/* Reset */ +.o2k7Skin table, .o2k7Skin tbody, .o2k7Skin a, .o2k7Skin img, .o2k7Skin tr, .o2k7Skin div, .o2k7Skin td, .o2k7Skin iframe, .o2k7Skin span, .o2k7Skin *, .o2k7Skin .mceText {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000; vertical-align:baseline; width:auto; border-collapse:separate; text-align:left} +.o2k7Skin a:hover, .o2k7Skin a:link, .o2k7Skin a:visited, .o2k7Skin a:active {text-decoration:none; font-weight:normal; cursor:default; color:#000} +.o2k7Skin table td {vertical-align:middle} + +/* Containers */ +.o2k7Skin table {background:#E5EFFD} +.o2k7Skin iframe {display:block; background:#FFF} +.o2k7Skin .mceToolbar {height:26px} + +/* External */ +.o2k7Skin .mceExternalToolbar {position:absolute; border:1px solid #ABC6DD; border-bottom:0; display:none} +.o2k7Skin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.o2k7Skin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px; background:url(../../img/icons.gif) -820px 0} + +/* Layout */ +.o2k7Skin table.mceLayout {border:0; border-left:1px solid #ABC6DD; border-right:1px solid #ABC6DD} +.o2k7Skin table.mceLayout tr.mceFirst td {border-top:1px solid #ABC6DD} +.o2k7Skin table.mceLayout tr.mceLast td {border-bottom:1px solid #ABC6DD} +.o2k7Skin table.mceToolbar, .o2k7Skin tr.mceFirst .mceToolbar tr td, .o2k7Skin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0} +.o2k7Skin .mceIframeContainer {border-top:1px solid #ABC6DD; border-bottom:1px solid #ABC6DD} +.o2k7Skin .mceStatusbar {display:block; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; height:20px;} +.o2k7Skin .mceStatusbar div {float:left; padding:2px;} +.o2k7Skin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.gif) -800px 0; width:20px; height:20px; cursor:se-resize} +.o2k7Skin .mceStatusbar a:hover {text-decoration:underline} +.o2k7Skin table.mceToolbar {margin-left:3px} +.o2k7Skin .mceToolbar .mceToolbarStart span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px; margin-left:3px;} +.o2k7Skin .mceToolbar td.mceFirst span {margin:0} +.o2k7Skin .mceToolbar .mceToolbarEnd span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px} +.o2k7Skin .mceToolbar .mceToolbarEndListBox span, .o2k7Skin .mceToolbar .mceToolbarStartListBox span {display:none} +.o2k7Skin span.mceIcon, .o2k7Skin img.mceIcon {display:block; width:20px; height:20px} +.o2k7Skin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px} +.o2k7Skin td.mceCenter {text-align:center;} +.o2k7Skin td.mceCenter table {margin:0 auto; text-align:left;} +.o2k7Skin td.mceRight table {margin:0 0 0 auto;} + +/* Button */ +.o2k7Skin .mceButton {display:block; background:url(img/button_bg.png); width:22px; height:22px} +.o2k7Skin a.mceButton span, .o2k7Skin a.mceButton img {margin-left:1px} +.o2k7Skin .mceOldBoxModel a.mceButton span, .o2k7Skin .mceOldBoxModel a.mceButton img {margin:0 0 0 1px} +.o2k7Skin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px} +.o2k7Skin a.mceButtonActive, .o2k7Skin a.mceButtonSelected {background-position:0 -44px} +.o2k7Skin .mceButtonDisabled .mceIcon {opacity:0.3; filter:alpha(opacity=30)} + +/* Separator */ +.o2k7Skin .mceSeparator {display:block; background:url(img/button_bg.png) -22px 0; width:5px; height:22px} + +/* ListBox */ +.o2k7Skin .mceListBox {margin-left:3px} +.o2k7Skin .mceListBox, .o2k7Skin .mceListBox a {display:block} +.o2k7Skin .mceListBox .mceText {padding-left:4px; text-align:left; width:70px; border:1px solid #b3c7e1; border-right:0; background:#eaf2fb; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; height:20px; line-height:20px; overflow:hidden} +.o2k7Skin .mceListBox .mceOpen {width:14px; height:22px; background:url(img/button_bg.png) -66px 0} +.o2k7Skin table.mceListBoxEnabled:hover .mceText, .o2k7Skin .mceListBoxHover .mceText, .o2k7Skin .mceListBoxSelected .mceText {background:#FFF} +.o2k7Skin table.mceListBoxEnabled:hover .mceOpen, .o2k7Skin .mceListBoxHover .mceOpen, .o2k7Skin .mceListBoxSelected .mceOpen {background-position:-66px -22px} +.o2k7Skin .mceListBoxDisabled .mceText {color:gray} +.o2k7Skin .mceListBoxMenu {overflow:auto; overflow-x:hidden} +.o2k7Skin .mceOldBoxModel .mceListBox .mceText {height:22px} +.o2k7Skin select.mceListBox {font-family:Tahoma,Verdana,Arial,Helvetica; font-size:12px; border:1px solid #b3c7e1; background:#FFF;} + +/* SplitButton */ +.o2k7Skin .mceSplitButton, .o2k7Skin .mceSplitButton a, .o2k7Skin .mceSplitButton span {display:block; height:22px} +.o2k7Skin .mceSplitButton {background:url(img/button_bg.png)} +.o2k7Skin .mceSplitButton a.mceAction {width:22px} +.o2k7Skin .mceSplitButton span.mceAction {width:22px; background:url(../../img/icons.gif) 20px 20px} +.o2k7Skin .mceSplitButton a.mceOpen {width:10px} +.o2k7Skin .mceSplitButton span.mceOpen {width:10px; background:url(img/button_bg.png) -44px 0} +.o2k7Skin table.mceSplitButtonEnabled:hover a.mceAction, .o2k7Skin .mceSplitButtonHover a.mceAction, .o2k7Skin .mceSplitButtonSelected {background:url(img/button_bg.png) 0 -22px} +.o2k7Skin table.mceSplitButtonEnabled:hover span.mceOpen, .o2k7Skin .mceSplitButtonHover span.mceOpen, .o2k7Skin .mceSplitButtonSelected span.mceOpen {background-position:-44px -44px} +.o2k7Skin .mceSplitButtonDisabled .mceAction {opacity:0.3; filter:alpha(opacity=30)} +.o2k7Skin .mceSplitButtonActive {background-position:0 -44px} + +/* ColorSplitButton */ +.o2k7Skin div.mceColorSplitMenu table {background:#FFF; border:1px solid gray} +.o2k7Skin .mceColorSplitMenu td {padding:2px} +.o2k7Skin .mceColorSplitMenu a {display:block; width:9px; height:9px; overflow:hidden; border:1px solid #808080} +.o2k7Skin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.o2k7Skin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF} +.o2k7Skin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid #0A246A; background-color:#B6BDD2} +.o2k7Skin a.mceMoreColors:hover {border:1px solid #0A246A} +.o2k7Skin .mceColorPreview {position:absolute; top:15px; left:2px; width:16px; height:4px; overflow:hidden} +.o2k7Skin .mce_forecolor, .o2k7Skin .mce_backcolor {position:relative} + +/* Menu */ +.o2k7Skin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid #ABC6DD} +.o2k7Skin .mceNoIcons span.mceIcon {width:0;} +.o2k7Skin .mceNoIcons a .mceText {padding-left:10px} +.o2k7Skin .mceMenu table {background:#FFF} +.o2k7Skin .mceMenu a, .o2k7Skin .mceMenu span, .o2k7Skin .mceMenu {display:block} +.o2k7Skin .mceMenu td {height:20px} +.o2k7Skin .mceMenu a {position:relative;padding:3px 0 4px 0} +.o2k7Skin .mceMenu .mceText {position:relative; display:block; font-family:Tahoma,Verdana,Arial,Helvetica; color:#000; cursor:default; margin:0; padding:0 25px 0 25px; display:block} +.o2k7Skin .mceMenu span.mceText, .o2k7Skin .mceMenu .mcePreview {font-size:11px} +.o2k7Skin .mceMenu pre.mceText {font-family:Monospace} +.o2k7Skin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;} +.o2k7Skin .mceMenu .mceMenuItemEnabled a:hover, .o2k7Skin .mceMenu .mceMenuItemActive {background-color:#dbecf3} +.o2k7Skin td.mceMenuItemSeparator {background:#DDD; height:1px} +.o2k7Skin .mceMenuItemTitle a {border:0; background:#E5EFFD; border-bottom:1px solid #ABC6DD} +.o2k7Skin .mceMenuItemTitle span.mceText {color:#000; font-weight:bold; padding-left:4px} +.o2k7Skin .mceMenuItemDisabled .mceText {color:#888} +.o2k7Skin .mceMenuItemSelected .mceIcon {background:url(../default/img/menu_check.gif)} +.o2k7Skin .mceNoIcons .mceMenuItemSelected a {background:url(../default/img/menu_arrow.gif) no-repeat -6px center} +.o2k7Skin .mceMenu span.mceMenuLine {display:none} +.o2k7Skin .mceMenuItemSub a {background:url(../default/img/menu_arrow.gif) no-repeat top right;} + +/* Progress,Resize */ +.o2k7Skin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; filter:alpha(opacity=50); background:#FFF} +.o2k7Skin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(../default/img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} +.o2k7Skin .mcePlaceHolder {border:1px dotted gray} + +/* Formats */ +.o2k7Skin .mce_formatPreview a {font-size:10px} +.o2k7Skin .mce_p span.mceText {} +.o2k7Skin .mce_address span.mceText {font-style:italic} +.o2k7Skin .mce_pre span.mceText {font-family:monospace} +.o2k7Skin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.o2k7Skin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.o2k7Skin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.o2k7Skin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.o2k7Skin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.o2k7Skin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} + +/* Theme */ +.o2k7Skin span.mce_bold {background-position:0 0} +.o2k7Skin span.mce_italic {background-position:-60px 0} +.o2k7Skin span.mce_underline {background-position:-140px 0} +.o2k7Skin span.mce_strikethrough {background-position:-120px 0} +.o2k7Skin span.mce_undo {background-position:-160px 0} +.o2k7Skin span.mce_redo {background-position:-100px 0} +.o2k7Skin span.mce_cleanup {background-position:-40px 0} +.o2k7Skin span.mce_bullist {background-position:-20px 0} +.o2k7Skin span.mce_numlist {background-position:-80px 0} +.o2k7Skin span.mce_justifyleft {background-position:-460px 0} +.o2k7Skin span.mce_justifyright {background-position:-480px 0} +.o2k7Skin span.mce_justifycenter {background-position:-420px 0} +.o2k7Skin span.mce_justifyfull {background-position:-440px 0} +.o2k7Skin span.mce_anchor {background-position:-200px 0} +.o2k7Skin span.mce_indent {background-position:-400px 0} +.o2k7Skin span.mce_outdent {background-position:-540px 0} +.o2k7Skin span.mce_link {background-position:-500px 0} +.o2k7Skin span.mce_unlink {background-position:-640px 0} +.o2k7Skin span.mce_sub {background-position:-600px 0} +.o2k7Skin span.mce_sup {background-position:-620px 0} +.o2k7Skin span.mce_removeformat {background-position:-580px 0} +.o2k7Skin span.mce_newdocument {background-position:-520px 0} +.o2k7Skin span.mce_image {background-position:-380px 0} +.o2k7Skin span.mce_help {background-position:-340px 0} +.o2k7Skin span.mce_code {background-position:-260px 0} +.o2k7Skin span.mce_hr {background-position:-360px 0} +.o2k7Skin span.mce_visualaid {background-position:-660px 0} +.o2k7Skin span.mce_charmap {background-position:-240px 0} +.o2k7Skin span.mce_paste {background-position:-560px 0} +.o2k7Skin span.mce_copy {background-position:-700px 0} +.o2k7Skin span.mce_cut {background-position:-680px 0} +.o2k7Skin span.mce_blockquote {background-position:-220px 0} +.o2k7Skin .mce_forecolor span.mceAction {background-position:-720px 0} +.o2k7Skin .mce_backcolor span.mceAction {background-position:-760px 0} +.o2k7Skin .mce_forecolorpicker {background-position:-720px 0} +.o2k7Skin .mce_backcolorpicker {background-position:-760px 0} + +/* Plugins */ +.o2k7Skin span.mce_advhr {background-position:-0px -20px} +.o2k7Skin span.mce_ltr {background-position:-20px -20px} +.o2k7Skin span.mce_rtl {background-position:-40px -20px} +.o2k7Skin span.mce_emotions {background-position:-60px -20px} +.o2k7Skin span.mce_fullpage {background-position:-80px -20px} +.o2k7Skin span.mce_fullscreen {background-position:-100px -20px} +.o2k7Skin span.mce_iespell {background-position:-120px -20px} +.o2k7Skin span.mce_insertdate {background-position:-140px -20px} +.o2k7Skin span.mce_inserttime {background-position:-160px -20px} +.o2k7Skin span.mce_absolute {background-position:-180px -20px} +.o2k7Skin span.mce_backward {background-position:-200px -20px} +.o2k7Skin span.mce_forward {background-position:-220px -20px} +.o2k7Skin span.mce_insert_layer {background-position:-240px -20px} +.o2k7Skin span.mce_insertlayer {background-position:-260px -20px} +.o2k7Skin span.mce_movebackward {background-position:-280px -20px} +.o2k7Skin span.mce_moveforward {background-position:-300px -20px} +.o2k7Skin span.mce_media {background-position:-320px -20px} +.o2k7Skin span.mce_nonbreaking {background-position:-340px -20px} +.o2k7Skin span.mce_pastetext {background-position:-360px -20px} +.o2k7Skin span.mce_pasteword {background-position:-380px -20px} +.o2k7Skin span.mce_selectall {background-position:-400px -20px} +.o2k7Skin span.mce_preview {background-position:-420px -20px} +.o2k7Skin span.mce_print {background-position:-440px -20px} +.o2k7Skin span.mce_cancel {background-position:-460px -20px} +.o2k7Skin span.mce_save {background-position:-480px -20px} +.o2k7Skin span.mce_replace {background-position:-500px -20px} +.o2k7Skin span.mce_search {background-position:-520px -20px} +.o2k7Skin span.mce_styleprops {background-position:-560px -20px} +.o2k7Skin span.mce_table {background-position:-580px -20px} +.o2k7Skin span.mce_cell_props {background-position:-600px -20px} +.o2k7Skin span.mce_delete_table {background-position:-620px -20px} +.o2k7Skin span.mce_delete_col {background-position:-640px -20px} +.o2k7Skin span.mce_delete_row {background-position:-660px -20px} +.o2k7Skin span.mce_col_after {background-position:-680px -20px} +.o2k7Skin span.mce_col_before {background-position:-700px -20px} +.o2k7Skin span.mce_row_after {background-position:-720px -20px} +.o2k7Skin span.mce_row_before {background-position:-740px -20px} +.o2k7Skin span.mce_merge_cells {background-position:-760px -20px} +.o2k7Skin span.mce_table_props {background-position:-980px -20px} +.o2k7Skin span.mce_row_props {background-position:-780px -20px} +.o2k7Skin span.mce_split_cells {background-position:-800px -20px} +.o2k7Skin span.mce_template {background-position:-820px -20px} +.o2k7Skin span.mce_visualchars {background-position:-840px -20px} +.o2k7Skin span.mce_abbr {background-position:-860px -20px} +.o2k7Skin span.mce_acronym {background-position:-880px -20px} +.o2k7Skin span.mce_attribs {background-position:-900px -20px} +.o2k7Skin span.mce_cite {background-position:-920px -20px} +.o2k7Skin span.mce_del {background-position:-940px -20px} +.o2k7Skin span.mce_ins {background-position:-960px -20px} +.o2k7Skin span.mce_pagebreak {background-position:0 -40px} +.o2k7Skin .mce_spellchecker span.mceAction {background-position:-540px -20px} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css new file mode 100644 index 0000000000..a42a727abc --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css @@ -0,0 +1,8 @@ +/* Black */ +.o2k7SkinBlack .mceToolbar .mceToolbarStart span, .o2k7SkinBlack .mceToolbar .mceToolbarEnd span, .o2k7SkinBlack .mceButton, .o2k7SkinBlack .mceSplitButton, .o2k7SkinBlack .mceSeparator, .o2k7SkinBlack .mceSplitButton span.mceOpen, .o2k7SkinBlack .mceListBox .mceOpen {background-image:url(img/button_bg_black.png)} +.o2k7SkinBlack table, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack .mceMenuItemTitle span.mceText, .o2k7SkinBlack .mceStatusbar div, .o2k7SkinBlack .mceStatusbar span, .o2k7SkinBlack .mceStatusbar a {background:#535353; color:#FFF} +.o2k7SkinBlack table.mceListBoxEnabled .mceText, o2k7SkinBlack .mceListBox .mceText {background:#FFF; border:1px solid #CBCFD4; border-bottom-color:#989FA9; border-right:0} +.o2k7SkinBlack table.mceListBoxEnabled:hover .mceText, .o2k7Skin .mceListBoxHover .mceText, .o2k7Skin .mceListBoxSelected .mceText {background:#FFF; border:1px solid #FFBD69; border-right:0} +.o2k7SkinBlack .mceExternalToolbar, .o2k7SkinBlack .mceListBox .mceText, .o2k7SkinBlack div.mceMenu, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceFirst td, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceLast td, .o2k7SkinBlack .mceIframeContainer {border-color: #535353;} +.o2k7SkinBlack table.mceSplitButtonEnabled:hover a.mceAction, .o2k7Skin .mceSplitButtonHover a.mceAction, .o2k7Skin .mceSplitButtonSelected {background-image:url(img/button_bg_black.png)} +.o2k7SkinBlack .mceMenu .mceMenuItemEnabled a:hover, .o2k7Skin .mceMenu .mceMenuItemActive {background-color:#FFE7A1} \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css new file mode 100644 index 0000000000..548b1b852b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css @@ -0,0 +1,5 @@ +/* Silver */ +.o2k7SkinSilver .mceToolbar .mceToolbarStart span, .o2k7SkinSilver .mceButton, .o2k7SkinSilver .mceSplitButton, .o2k7SkinSilver .mceSeparator, .o2k7SkinSilver .mceSplitButton span.mceOpen, .o2k7SkinSilver .mceListBox .mceOpen {background-image:url(img/button_bg_silver.png)} +.o2k7SkinSilver table, .o2k7SkinSilver .mceMenuItemTitle a {background:#eee} +.o2k7SkinSilver .mceListBox .mceText {background:#FFF} +.o2k7SkinSilver .mceExternalToolbar, .o2k7SkinSilver .mceListBox .mceText, .o2k7SkinSilver div.mceMenu, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceFirst td, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceLast td, .o2k7SkinSilver .mceIframeContainer {border-color: #bbb} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm new file mode 100644 index 0000000000..119a913c93 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm @@ -0,0 +1,32 @@ + + + + {#advanced_dlg.code_title} + + + + + +
    +
    {#advanced_dlg.code_title}
    + +
    + +
    + +
    + + + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js new file mode 100644 index 0000000000..79d6d8e971 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js @@ -0,0 +1 @@ +(function(){var DOM=tinymce.DOM;tinymce.ThemeManager.requireLangPack('simple');tinymce.create('tinymce.themes.SimpleTheme',{init:function(ed,url){var t=this,states=['Bold','Italic','Underline','Strikethrough','InsertUnorderedList','InsertOrderedList'],s=ed.settings;t.editor=ed;ed.onInit.add(function(){ed.onNodeChange.add(function(ed,cm){tinymce.each(states,function(c){cm.get(c.toLowerCase()).setActive(ed.queryCommandState(c));});});ed.dom.loadCSS(url+"/skins/"+s.skin+"/content.css");});DOM.loadCSS(url+"/skins/"+s.skin+"/ui.css");},renderUI:function(o){var t=this,n=o.targetNode,ic,tb,ed=t.editor,cf=ed.controlManager,sc;n=DOM.insertAfter(DOM.create('span',{id:ed.id+'_container','class':'mceEditor '+ed.settings.skin+'SimpleSkin'}),n);n=sc=DOM.add(n,'table',{cellPadding:0,cellSpacing:0,'class':'mceLayout'});n=tb=DOM.add(n,'tbody');n=DOM.add(tb,'tr');n=ic=DOM.add(DOM.add(n,'td'),'div',{'class':'mceIframeContainer'});n=DOM.add(DOM.add(tb,'tr',{'class':'last'}),'td',{'class':'mceToolbar mceLast',align:'center'});tb=t.toolbar=cf.createToolbar("tools1");tb.add(cf.createButton('bold',{title:'simple.bold_desc',cmd:'Bold'}));tb.add(cf.createButton('italic',{title:'simple.italic_desc',cmd:'Italic'}));tb.add(cf.createButton('underline',{title:'simple.underline_desc',cmd:'Underline'}));tb.add(cf.createButton('strikethrough',{title:'simple.striketrough_desc',cmd:'Strikethrough'}));tb.add(cf.createSeparator());tb.add(cf.createButton('undo',{title:'simple.undo_desc',cmd:'Undo'}));tb.add(cf.createButton('redo',{title:'simple.redo_desc',cmd:'Redo'}));tb.add(cf.createSeparator());tb.add(cf.createButton('cleanup',{title:'simple.cleanup_desc',cmd:'mceCleanup'}));tb.add(cf.createSeparator());tb.add(cf.createButton('insertunorderedlist',{title:'simple.bullist_desc',cmd:'InsertUnorderedList'}));tb.add(cf.createButton('insertorderedlist',{title:'simple.numlist_desc',cmd:'InsertOrderedList'}));tb.renderTo(n);return{iframeContainer:ic,editorContainer:ed.id+'_container',sizeContainer:sc,deltaHeight:-20};},getInfo:function(){return{longname:'Simple theme',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.ThemeManager.add('simple',tinymce.themes.SimpleTheme);})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js new file mode 100644 index 0000000000..13ddc13f67 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js @@ -0,0 +1,85 @@ +/** + * $Id$ + * + * This file is meant to showcase how to create a simple theme. The advanced + * theme is more suitable for production use. + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var DOM = tinymce.DOM; + + // Tell it to load theme specific language pack(s) + tinymce.ThemeManager.requireLangPack('simple'); + + tinymce.create('tinymce.themes.SimpleTheme', { + init : function(ed, url) { + var t = this, states = ['Bold', 'Italic', 'Underline', 'Strikethrough', 'InsertUnorderedList', 'InsertOrderedList'], s = ed.settings; + + t.editor = ed; + + ed.onInit.add(function() { + ed.onNodeChange.add(function(ed, cm) { + tinymce.each(states, function(c) { + cm.get(c.toLowerCase()).setActive(ed.queryCommandState(c)); + }); + }); + + ed.dom.loadCSS(url + "/skins/" + s.skin + "/content.css"); + }); + + DOM.loadCSS(url + "/skins/" + s.skin + "/ui.css"); + }, + + renderUI : function(o) { + var t = this, n = o.targetNode, ic, tb, ed = t.editor, cf = ed.controlManager, sc; + + n = DOM.insertAfter(DOM.create('span', {id : ed.id + '_container', 'class' : 'mceEditor ' + ed.settings.skin + 'SimpleSkin'}), n); + n = sc = DOM.add(n, 'table', {cellPadding : 0, cellSpacing : 0, 'class' : 'mceLayout'}); + n = tb = DOM.add(n, 'tbody'); + + // Create iframe container + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(DOM.add(n, 'td'), 'div', {'class' : 'mceIframeContainer'}); + + // Create toolbar container + n = DOM.add(DOM.add(tb, 'tr', {'class' : 'last'}), 'td', {'class' : 'mceToolbar mceLast', align : 'center'}); + + // Create toolbar + tb = t.toolbar = cf.createToolbar("tools1"); + tb.add(cf.createButton('bold', {title : 'simple.bold_desc', cmd : 'Bold'})); + tb.add(cf.createButton('italic', {title : 'simple.italic_desc', cmd : 'Italic'})); + tb.add(cf.createButton('underline', {title : 'simple.underline_desc', cmd : 'Underline'})); + tb.add(cf.createButton('strikethrough', {title : 'simple.striketrough_desc', cmd : 'Strikethrough'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('undo', {title : 'simple.undo_desc', cmd : 'Undo'})); + tb.add(cf.createButton('redo', {title : 'simple.redo_desc', cmd : 'Redo'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('cleanup', {title : 'simple.cleanup_desc', cmd : 'mceCleanup'})); + tb.add(cf.createSeparator()); + tb.add(cf.createButton('insertunorderedlist', {title : 'simple.bullist_desc', cmd : 'InsertUnorderedList'})); + tb.add(cf.createButton('insertorderedlist', {title : 'simple.numlist_desc', cmd : 'InsertOrderedList'})); + tb.renderTo(n); + + return { + iframeContainer : ic, + editorContainer : ed.id + '_container', + sizeContainer : sc, + deltaHeight : -20 + }; + }, + + getInfo : function() { + return { + longname : 'Simple theme', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + version : tinymce.majorVersion + "." + tinymce.minorVersion + } + } + }); + + tinymce.ThemeManager.add('simple', tinymce.themes.SimpleTheme); +})(); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif new file mode 100644 index 0000000000000000000000000000000000000000..16af141ff0eea376a889b1e8d28e9c1cacaaab16 GIT binary patch literal 1440 zcmV;R1z-9{Nk%w1VaNa!0QUd@Ib*`7v&H}b0P*i`B{WZ*I4YI8{iDPCZ*XyWj;?N! z&ooP8CcKTM%}ImAk&d@bUef&=iA% zhPA3sm56OYcjMRI^s}jof~E0n!SIozxs`y)bZpaM%~elOt(xIz_1F@`xREtxwxO@X zElsNLx;f_MIwnTOux@bk@5r<-;@s){f~fMSskU>S&vlpdmZGk)n^Ks084*pfMo5}`Y)@uBrt7q^ z_xb)XxI@^-XhLVQWPPfUtMQSg&Xb6UQhU2=S3pa1!Lhs1Kwz1)!P59aI6r5pthLM4 zE-ud4`aC>8zybolqcQ$sRq*)W>+kl^)!br%x2LJkVv+Dui1Oh7|6z>ag023Luhg%= z;=sbh)RP30t>V}2$H?fg=;-%zOTU8v0MO8l85I$+z}bYP#G9DS_#hs}n3hj*tissz zAwYQh{QX~VkH5&*9YTcu{{H^`{_yYcW|;u|{Qilm^upTyi?sd!nVG)6{{LrW`s5%! zQETJeu@Y0sB3Qy+jGVB@-BWO)C1U{h_4v@?@UEu*S8lPiucH6>|4vxO2|0#LaF@v0 z@ZaCy@c8hkxVXaB{z|fT@U~;Hv$d$T$J*xpqPpE8TH+G^0=vlI+KzIEuZN}B@UYO} z&dtoGp5{=vw)ErQRcDJbQgSxGf8JYL_`X^{uFH_9uqY`f`}_Of)zF}&w4mVd!0r05 zoM3>k!2kdMA^8LW00930EC2ui0LTCo000R80RIUbNU)&6g9sBUT*$DY!-o(fN}Ncs zqQ#3CGiuz(v7^V2AVW@EluM+^lPFV4B&kwhfCK?JZW}S8Lq-x8D(>2KU{_0tBn}8A zagb%p1Q&P-6u`78(}*2LRH3FT;{^Z%ooYoWl!#X%K7Tem@Rf*AgGMWAZK^N;uLKrJ zgqs_6Dufyfw<06~AZA3KR{>nO09GJYj!yq2Mo2^;St0-;UpPxp*8_}f6+Z>JE!?&a z+dPb*b~hYDra%-%J`C}|)xna%9$;-yz|zc`Z6DmMS)p07fiENwe4t=jwVQEwY|=zo zxL=@s=&E6Qp)TGXT_1)l*emUVx)m?~6;Hl)c5^2e&KlH&3v877L9rfP;Fp}T4iu?af8AOXd@5C0(U&fK3z8Av u{UxbK~bzVrJ#-t*jZ&pr2fKKGn^&V9~vZo*x2BQEx{>;M38nHcL^F{BiObs@}* z`J{#WLxwovXYBAC060$l$4o$8!D#?sw|K0lclYii-vHm|k9_^aO!V}`{GR!GKKAwi zfM8^yH4JKv6VxCt?&+GwM`W1#S_weJtaOti_){-Si=W`V9WVZ2Ucj=G&%l61xW6Qx zIXOAvt$?KrXCnI?8&>>da`dP8#6ikZ*e9=Xj!Y3TOdSEKH%uWB{D5|7vhEi^+mI=uFz2#0P{IPZ3_WyP0q)8IE|RbRP5}{x z2f1NP!2Jwy0j82vKX1B3cwNuxb$DV7!1VZ0{n)%cIrDj8dcu&mZD20F_l+P$K~x|}=gXx@k6>Qpl6&#z^PNTmmnMl1(^x`y}el%5+)I}ziC z{+nV%ZRP-}B2yQ-P25`SrTJGZPx>e8=e;E=m0n2DO}o-_X%ci_#>h~ZH8IzKuTM0Y z!ct|+A3S80mwAc^uuzL3L4$(Us`#(&g1vdn3IGLcQB-!%*n8~-# z(8-gNhLb*47jZHb`6|X|FQyM5-M#AB)G}nmuJ*sd7Ge=tWvnn(eD^+kp_{h<=L73y zDXYOJx6iEduBxoEdgLhS*nG;fS}6Yj<-3-0Pq*enlU1E%T=^-L7kO$U(SjzXr8OTj zr_MeSdPII)w;u45Zy{6EJbT=3atLR%p1sbz7sSaGD-him50g5Rf12$y>`c(4Pd?@RJM(g;u(Uk1qVh}SVkL(S(PjvmQsHF% zs@Bj(*?Oho#P6&so65qwo7TeCu!>vdah0%gU#QmSa0glfs{`T=!b0z}Wyv?^mDXM{ zj)!Ny2g`_iaaF~>h`iQ)`P<0+%Rp&(4ow7}q)}P%K}}EjwzA!KD`JMH7TZdW|3N{3 z`H3~DvTR~_;v)a{mE|kKUsUe2D0(=0Rc2*p*;g4?SymZswyD1=8NeMVk=#0c zwL3k?%w8Sn54MXzP`_X1ZoC#iX`OsDGL^ zd}qk>_HnP{ip0v(-lx5vF0)=1zieu@VMfTaGHdyA<;$%*x9;?f43B&qnaRDDuc0`r zw3fe?KbwzfcDWaPPo}B7>4%3&J@(!g2SQV;&zpN{4yE=s_a1yVtSPLyGy|`Jm+_Ug zn5Uap70tj9Uw4`Ynkt&ld|jPmMb$PvZF=Pja}$C!_tYW?>22w+e!hA~(_rI@o9C_) zxhE3-yx|%DP1~D`d7}jctyevJSvYx^{TT1qobpQ3si7;~j|;8yr;K1iu$Jf1#Q3BH z)2Jc2Y)!d*;ogP*Htg*HlK+FH&`DBZ{`dSYd^xI)ph|d5h(i|-s}x@;a!`Igj_B9> zW4St^#ZjE8;DxCUx6reQgf*^Rlz%9nYF9J+wYfB?lI*%Iq`9y8tawFpMg97s(xQX& z@b!-7{^lVIgm01a8;suTi=aCg3QhoJ5to=?%n6Y?k@t^L4nkjwwUdtIx9evFG=5F}<%s89tU)Ll=IH%;BxHopOTFHL# z_Gc#)v#$kBp!J?(^pEtj^cVACiWX{hvbV2EYgWoVQAb|?sq#~+SI*O6c-p?u-o)GV zoSK|;t*VdrFANn=j9V^T=2!_6%8~DX;1}{?v}^B8nP7$7Ntv5j+IQm3Z)E(_;gv2I ze0yp4RM4el_K+@-F4zV63Dt@CIXy>dQS)76X|vF@t<=_QArd{xr8286F_IPUTkmk) zS;)UxB$yW{_EbsZW}9MkTIzd$-AZw@^d{H_?5}6wP_@UKdU}sfQnS2hCfk75_xIJu z9c0;?bib@a?@7%{v(>{q>^$2?5(d?>s*0|T;D^5tqTXLG*e(X~C%aBAr8Sktn%c>V z*#B*-exg>d?jM3;UlBNdHP)83TKz|2ll0SRiz>Wbc5QguA2Nw474wy#Qqu4@WO@V~OT7HyJw!rH-DRl6vaGdX8doDVop`xn0#eK|k z(i8W0QMTwlcUEQg-)wFlu6bkw7sj>$Pue#?$!Cv9q2SR?dM%&Y)qk{llnsoI+|q)6 zhVDU+psIw)g+|xe1D^?ka9HcU%GNaMek+-#Iq(Z*!(?MN?K$m1F`;}XYt<%H;tsMX zPao8nKlR7=F;6nn*e-H6&9?lW7Maw5TBXcf-8ACvJO7JbxE&U z7DqmTA&YX|L1m~Wj&x$k!Wr^T@5#LUKGDAfpco~J-X z-67;Q5jyY~iHn*_hwYBNEzB%@6)ty(c0qk?3R`FHAzeeeQ!UTuq`R|_Gutuf4#j1w-pKDw~i7P2D< z&P*4nX)Lr6Lw(6TWD-VjA^e#nZFC4eA0$brX|-r|-qXhG%5n!qvy8Kub*@T zl@KS;Mr77E(PQ*fQVNgW@s!+@p;)fi&7vEcYHG_`&uBPmnckTD*ySQ2`bYXut&pI6 z_`&q%?C3 zL<7Jf$dEVyc%c9Q8!iBFGY0^KeAAqJ3;}={xO)d`z`%eYh#JiuMDNsfW1=$<(dmeo zjP95WM1J$1l2&YH-E;|jIjipXkD;|WEa?w!-}cqFV)$|~e5s^$xdgu0`J3=-Vxw&w z*E+V2nAz@{CUpMB{~E`2PHpwf{u@M-#+S$=3%e74_NG_%k!y$Zf6230(!vG>jXT0@ zQWkKBD|iY9x4*ta!{QHDwhjtf(8ch@lGepy_(H?L@-N2uQ~0)tjbD=+0}K1zvkVjX zeiX51?%&Yje((Ihp1JK2%>KyY?kI*hvwAR%B~LEx&0zP(76>cb^ko8V2~SK&K zhZgtxQ9FG|29P*_-Wgih9Yhf(m-i-?h~t>;(FObndTSO-M6Qvr|LB;_gMJiY5WPLI z%qL(;yWI9`%6K1(3Q7(n;XqFi2emX?T!M z21(7}!4Q3a5TtI4U6L8WDoG=3?&A|zCaLN{(cA-zZgEJoBj3+qz1VjeXFz>+S_q3%Ha5;mvltEk0 z0I@mXY5{${dec;X@b$bxp z9RrC|)SYo~Z-z#k2KN_0G6p0sfm9+m{{oy329Ym8bR>w5rp-swkufx642VghGpsLV zfa_J@<_~aZ7~Go&NhpxA1I~ni(;>9q!Qf0NZ9WD(+@ue@p!NmO2Lh@6FQ{;5TB{2k z@raIiLhE`Aj>gePV!^R^N`noh!Is)&M{TsD!Ck=LIkdTQ5Lr3ckUh|l1I||*p_&en zje`w21K)GDrW!Y=8jp~TjF;a|x}gsMOhAB@xiv%meO2x_!p66W8|!3F z3K<7F$K0Opu&RXCgY0kj(}Md=k40Ax3**GROT%0zW&NB3QY@Ac&kyGl^e-&ALU@lcY9Q}1h&TWo z+k?8hnE8OA{@y=VwBtoF@ihygu@)0b$2x5Lov1td z-k(2Ze}N=k@O+&25t3H|iTZ-W?aUDy#Sicgc12CnBuq5L+a-$MlL@I3Y8rf~(>P;3 z6|)Hzvs3&!*8B$J{E8Z)sCX_~-HCM8E*6rI;^47^s=UobI%jJMp zUEHb>8saG^lr1R4=HWje>a6xd&1c<7%aN7wAskl%AhM|DwH^LGE<~=j0xyL1Sf`8F zffz3*Ycx-kPN=ks(AiKa(byk%<5z5p{T<`)uilX3XZL^m(C70?&g>>B^n3^&aS>j9 z(=a=hH}sEs46p9_z0MHG2c9n8K7X{?dLX>Or_5^-R}=tu3__0%m^4q(9!oU$T2(;h zNEfnimp*HOZcw1o*@LAD3YkNR4wn4n!2NCwOMU}OG@k+IaKgNZV*bJaAt7uzSt@b9 zI%mY~Pg3{HjIBCfO5aNUj=q~RUy9^Of6ie-JM#Qs73~!#+PX12@5|%LBP$yl8|!N} z(<+WeX4cottl1cv*%Xu$t)~l`4PMZ6FIm&W3$-3l_^?6o_l`b`;8X`NC zCSjT;Go-{Vy}Ran$)Ua?Ci?hcquG{?heOssk(AxT=;)W4uiuZYVX$@4afkW;MwkRe zg#{4hP)@|byaFde!CYEWl9lzz>a&*5*_D^tDmPctYVAn%wGT@|gM)()rq-0of86@S zpW$YCMNq)NG9$`LhM%M70yp9Oe27W3YD3n< zV?=oxR(68L_JS3@&Ti7CH)#u-q^YxN7b22`Or8ynbtoJ~GYNN6M}36p0QHtFr;sN(-`SjCLE z^;=~`c}nHAqS=&+**WhTU?amp#_E%kugb=cbTvjcRPdpJo_T*OLJ~E+ z!ioz{$NIZL-zNH7DRMHiRe7{kW|Putvu{sV*4mj)KM`Q#@$FtzjJr`TWl&lobv$g0 zKk0a>J=E{+oZtaA(2AEuGZ)*O-YVuT>7N}ZloloSuk}6lP(mKk+94U@XrwtnRBxAs zm^c~xa2y+x-0}0iUT9JlG=jv-)(>n)f262E!2209 VmjT$ODWe$zObpERYjs_s{s;8{A&me4 literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css new file mode 100644 index 0000000000..bfae96e2d0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css @@ -0,0 +1,35 @@ +/* Reset */ +.o2k7SimpleSkin table, .o2k7SimpleSkin tbody, .o2k7SimpleSkin a, .o2k7SimpleSkin img, .o2k7SimpleSkin tr, .o2k7SimpleSkin div, .o2k7SimpleSkin td, .o2k7SimpleSkin iframe, .o2k7SimpleSkin span, .o2k7SimpleSkin * {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000} + +/* Containers */ +.o2k7SimpleSkin {position:relative} +.o2k7SimpleSkin table.mceLayout {background:#E5EFFD; border:1px solid #ABC6DD;} +.o2k7SimpleSkin iframe {display:block; background:#FFF; border-bottom:1px solid #ABC6DD;} +.o2k7SimpleSkin .mceToolbar {height:26px;} + +/* Layout */ +.o2k7SimpleSkin .mceToolbar .mceToolbarStart span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px; } +.o2k7SimpleSkin .mceToolbar .mceToolbarEnd span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px} +.o2k7SimpleSkin span.mceIcon, .o2k7SimpleSkin img.mceIcon {display:block; width:20px; height:20px} +.o2k7SimpleSkin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px} + +/* Button */ +.o2k7SimpleSkin .mceButton {display:block; background:url(img/button_bg.png); width:22px; height:22px} +.o2k7SimpleSkin a.mceButton span, .o2k7SimpleSkin a.mceButton img {margin:1px 0 0 1px} +.o2k7SimpleSkin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px} +.o2k7SimpleSkin a.mceButtonActive {background-position:0 -44px} +.o2k7SimpleSkin .mceButtonDisabled span {opacity:0.3; filter:alpha(opacity=30)} + +/* Separator */ +.o2k7SimpleSkin .mceSeparator {display:block; background:url(img/button_bg.png) -22px 0; width:5px; height:22px} + +/* Theme */ +.o2k7SimpleSkin span.mce_bold {background-position:0 0} +.o2k7SimpleSkin span.mce_italic {background-position:-60px 0} +.o2k7SimpleSkin span.mce_underline {background-position:-140px 0} +.o2k7SimpleSkin span.mce_strikethrough {background-position:-120px 0} +.o2k7SimpleSkin span.mce_undo {background-position:-160px 0} +.o2k7SimpleSkin span.mce_redo {background-position:-100px 0} +.o2k7SimpleSkin span.mce_cleanup {background-position:-40px 0} +.o2k7SimpleSkin span.mce_insertunorderedlist {background-position:-20px 0} +.o2k7SimpleSkin span.mce_insertorderedlist {background-position:-80px 0} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/about.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/about.htm new file mode 100644 index 0000000000..c68f242607 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/about.htm @@ -0,0 +1,56 @@ + + + + {#standard_dlg.about_title} + + + + + + + +
    +
    +

    {#standard_dlg.about_title}

    +

    Version: ()

    +

    TinyMCE is a platform independent web based Javascript HTML WYSIWYG editor control released as Open Source under LGPL + by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances.

    +

    Copyright © 2003-2008, Moxiecode Systems AB, All rights reserved.

    +

    For more information about this software visit the TinyMCE website.

    + +
    + Got Moxie? + Hosted By Sourceforge + Also on freshmeat +
    +
    + +
    +
    +

    {#standard_dlg.about_loaded}

    + +
    +
    + +

     

    +
    +
    + +
    +
    +
    +
    + +
    +
    + +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/anchor.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/anchor.htm new file mode 100644 index 0000000000..69f4cb0778 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/anchor.htm @@ -0,0 +1,32 @@ + + + + {#standard_dlg.anchor_title} + + + + + +
    + + + + + + + + +
    {#standard_dlg.anchor_title}
    {#standard_dlg.anchor_name}:
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/charmap.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/charmap.htm new file mode 100644 index 0000000000..2c61a2af90 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/charmap.htm @@ -0,0 +1,54 @@ + + + + {#standard_dlg.charmap_title} + + + + + + + + + + + + + + + + + +
    {#standard_dlg.charmap_title}
    + + + + + + + + + +
     
     
    +
    + + + + + + + + + + + + + + + + +
    HTML-Code
     
     
    NUM-Code
     
    +
    + + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/color_picker.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/color_picker.htm new file mode 100644 index 0000000000..8c832df1d1 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/color_picker.htm @@ -0,0 +1,76 @@ + + + + {#standard_dlg.colorpicker_title} + + + + + + +
    + + +
    +
    +
    + {#standard_dlg.colorpicker_picker_title} +
    + + +
    + +
    + +
    +
    +
    +
    + +
    +
    + {#standard_dlg.colorpicker_palette_title} +
    + +
    + +
    +
    +
    + +
    +
    + {#standard_dlg.colorpicker_named_title} +
    + +
    + +
    + +
    + {#standard_dlg.colorpicker_name} +
    +
    +
    +
    + +
    +
    + +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/editor_template.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/editor_template.js new file mode 100644 index 0000000000..3c24bdade2 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/editor_template.js @@ -0,0 +1 @@ +(function(){var DOM=tinymce.DOM,Event=tinymce.dom.Event,extend=tinymce.extend,each=tinymce.each,Cookie=tinymce.util.Cookie,lastExtID,explode=tinymce.explode;tinymce.ThemeManager.requireLangPack('standard');tinymce.create('tinymce.themes.standardTheme',{controls:{bold:['bold_desc','Bold'],italic:['italic_desc','Italic'],underline:['underline_desc','Underline'],strikethrough:['striketrough_desc','Strikethrough'],justifyleft:['justifyleft_desc','JustifyLeft'],justifycenter:['justifycenter_desc','JustifyCenter'],justifyright:['justifyright_desc','JustifyRight'],justifyfull:['justifyfull_desc','JustifyFull'],bullist:['bullist_desc','InsertUnorderedList'],numlist:['numlist_desc','InsertOrderedList'],outdent:['outdent_desc','Outdent'],indent:['indent_desc','Indent'],cut:['cut_desc','Cut'],copy:['copy_desc','Copy'],paste:['paste_desc','Paste'],undo:['undo_desc','Undo'],redo:['redo_desc','Redo'],link:['link_desc','mceLink'],unlink:['unlink_desc','unlink'],image:['image_desc','mceImage'],cleanup:['cleanup_desc','mceCleanup'],help:['help_desc','mceHelp'],code:['code_desc','mceCodeEditor'],hr:['hr_desc','InsertHorizontalRule'],removeformat:['removeformat_desc','RemoveFormat'],sub:['sub_desc','subscript'],sup:['sup_desc','superscript'],forecolor:['forecolor_desc','ForeColor'],forecolorpicker:['forecolor_desc','mceForeColor'],backcolor:['backcolor_desc','HiliteColor'],backcolorpicker:['backcolor_desc','mceBackColor'],charmap:['charmap_desc','mceCharMap'],visualaid:['visualaid_desc','mceToggleVisualAid'],anchor:['anchor_desc','mceInsertAnchor'],newdocument:['newdocument_desc','mceNewDocument'],blockquote:['blockquote_desc','mceBlockQuote']},stateControls:['bold','italic','underline','strikethrough','bullist','numlist','justifyleft','justifycenter','justifyright','justifyfull','sub','sup','blockquote'],init:function(ed,url){var t=this,s,v;t.editor=ed;t.url=url;t.onResolveName=new tinymce.util.Dispatcher(this);t.settings=s=extend({theme_standard_path:true,theme_standard_toolbar_location:'top',theme_standard_buttons1:"fontselect,fontsizeselect,formatselect,bold,italic,underline,strikethrough,sub,sup,undo,redo,cleanup,removeformat,|",theme_standard_buttons2:"justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,outdent,indent,forecolor,backcolor,link,unlink,anchor,image,charmap,code,|",theme_standard_buttons3:"",theme_standard_blockformats:"h1,h2,h3,h4,h5,h6,p,address,pre",theme_standard_toolbar_align:"left",theme_standard_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",theme_standard_font_sizes:"1,2,3,4,5,6,7",theme_standard_more_colors:1,theme_standard_row_height:23,theme_standard_resize_horizontal:1,theme_standard_resizing_use_cookie:1},ed.settings);if((v=s.theme_standard_path_location)&&v!='none')s.theme_standard_statusbar_location=s.theme_standard_path_location;if(s.theme_standard_statusbar_location=='none')s.theme_standard_statusbar_location=0;ed.onInit.add(function(){ed.onNodeChange.add(t._nodeChanged,t);if(ed.settings.content_css!==false)ed.dom.loadCSS(ed.baseURI.toAbsolute("themes/standard/skins/"+ed.settings.skin+"/content.css"));});ed.onSetProgressState.add(function(ed,b,ti){var co,id=ed.id,tb;if(b){t.progressTimer=setTimeout(function(){co=ed.getContainer();co=co.insertBefore(DOM.create('DIV',{style:'position:relative'}),co.firstChild);tb=DOM.get(ed.id+'_tbl');DOM.add(co,'div',{id:id+'_blocker','class':'mceBlocker',style:{width:tb.clientWidth+2,height:tb.clientHeight+2}});DOM.add(co,'div',{id:id+'_progress','class':'mceProgress',style:{left:tb.clientWidth/ 2, top : tb.clientHeight /2}});},ti||0);}else{DOM.remove(id+'_blocker');DOM.remove(id+'_progress');clearTimeout(t.progressTimer);}});DOM.loadCSS(ed.baseURI.toAbsolute(s.editor_css||"themes/standard/skins/"+ed.settings.skin+"/ui.css"));if(s.skin_variant)DOM.loadCSS(ed.baseURI.toAbsolute(s.editor_css||"themes/standard/skins/"+ed.settings.skin+"/ui_"+s.skin_variant+".css"));},createControl:function(n,cf){var cd,c;if(c=cf.createControl(n))return c;switch(n){case"styleselect":return this._createStyleSelect();case"formatselect":return this._createBlockFormats();case"fontselect":return this._createFontSelect();case"fontsizeselect":return this._createFontSizeSelect();case"forecolor":return this._createForeColorMenu();case"backcolor":return this._createBackColorMenu();}if((cd=this.controls[n]))return cf.createButton(n,{title:"standard."+cd[0],cmd:cd[1],ui:cd[2],value:cd[3]});},execCommand:function(cmd,ui,val){var f=this['_'+cmd];if(f){f.call(this,ui,val);return true;}return false;},_importClasses:function(){var ed=this.editor,c=ed.controlManager.get('styleselect');if(c.getLength()==0){each(ed.dom.getClasses(),function(o){c.add(o['class'],o['class']);});}},_createStyleSelect:function(n){var t=this,ed=t.editor,cf=ed.controlManager,c=cf.createListBox('styleselect',{title:'standard.style_select',onselect:function(v){if(c.selectedValue===v){ed.execCommand('mceSetStyleInfo',0,{command:'removeformat'});c.select();return false;}else ed.execCommand('mceReplaceContent',false,'{$selection}');}});if(c){each(ed.getParam('theme_standard_styles','','hash'),function(v,k){if(v)c.add(t.editor.translate(k),v);});c.onPostRender.add(function(ed,n){Event.add(n,'focus',t._importClasses,t);Event.add(n,'mousedown',t._importClasses,t);});}return c;},_createFontSelect:function(){var c,t=this,ed=t.editor;c=ed.controlManager.createListBox('fontselect',{title:'standard.fontdefault',cmd:'FontName'});if(c){each(ed.getParam('theme_standard_fonts',t.settings.theme_standard_fonts,'hash'),function(v,k){c.add(ed.translate(k),v,{style:v.indexOf('dings')==-1?'font-family:'+v:''});});}return c;},_createFontSizeSelect:function(){var c,t=this,lo=["1 (8 pt)","2 (10 pt)","3 (12 pt)","4 (14 pt)","5 (18 pt)","6 (24 pt)","7 (36 pt)"],fz=[8,10,12,14,18,24,36];c=t.editor.controlManager.createListBox('fontsizeselect',{title:'standard.font_size',cmd:'FontSize'});if(c){each(explode(t.settings.theme_standard_font_sizes),function(v){c.add(lo[parseInt(v)-1],v,{'style':'font-size:'+fz[v-1]+'pt','class':'mceFontSize'+v});});}return c;},_createBlockFormats:function(){var c,fmts={p:'standard.paragraph',address:'standard.address',pre:'standard.pre',h1:'standard.h1',h2:'standard.h2',h3:'standard.h3',h4:'standard.h4',h5:'standard.h5',h6:'standard.h6',div:'standard.div',blockquote:'standard.blockquote',code:'standard.code',dt:'standard.dt',dd:'standard.dd',samp:'standard.samp'},t=this;c=t.editor.controlManager.createListBox('formatselect',{title:'standard.block',cmd:'FormatBlock'});if(c){each(t.editor.getParam('theme_standard_blockformats',t.settings.theme_standard_blockformats,'hash'),function(v,k){c.add(t.editor.translate(k!=v?k:fmts[v]),v,{'class':'mce_formatPreview mce_'+v});});}return c;},_createForeColorMenu:function(){var c,t=this,s=t.settings,o={},v;if(s.theme_standard_more_colors){o.more_colors_func=function(){t._mceColorPicker(0,{color:c.value,func:function(co){c.setColor(co);}});};}if(v=s.theme_standard_text_colors)o.colors=v;o.title='standard.forecolor_desc';o.cmd='ForeColor';o.scope=this;c=t.editor.controlManager.createColorSplitButton('forecolor',o);return c;},_createBackColorMenu:function(){var c,t=this,s=t.settings,o={},v;if(s.theme_standard_more_colors){o.more_colors_func=function(){t._mceColorPicker(0,{color:c.value,func:function(co){c.setColor(co);}});};}if(v=s.theme_standard_background_colors)o.colors=v;o.title='standard.backcolor_desc';o.cmd='HiliteColor';o.scope=this;c=t.editor.controlManager.createColorSplitButton('backcolor',o);return c;},renderUI:function(o){var n,ic,tb,t=this,ed=t.editor,s=t.settings,sc,p,nl;n=p=DOM.create('span',{id:ed.id+'_parent','class':'mceEditor '+ed.settings.skin+'Skin'+(s.skin_variant?' '+ed.settings.skin+'Skin'+t._ufirst(s.skin_variant):'')});if(!DOM.boxModel)n=DOM.add(n,'div',{'class':'mceOldBoxModel'});n=sc=DOM.add(n,'table',{id:ed.id+'_tbl','class':'mceLayout',cellSpacing:0,cellPadding:0});n=tb=DOM.add(n,'tbody');switch((s.theme_standard_layout_manager||'').toLowerCase()){case"rowlayout":ic=t._rowLayout(s,tb,o);break;case"customlayout":ic=ed.execCallback("theme_standard_custom_layout",s,tb,o,p);break;default:ic=t._simpleLayout(s,tb,o,p);}n=o.targetNode;nl=DOM.stdMode?sc.getElementsByTagName('tr'):sc.rows;DOM.addClass(nl[0],'mceFirst');DOM.addClass(nl[nl.length-1],'mceLast');each(DOM.select('tr',tb),function(n){DOM.addClass(n.firstChild,'mceFirst');DOM.addClass(n.childNodes[n.childNodes.length-1],'mceLast');});if(DOM.get(s.theme_standard_toolbar_container))DOM.get(s.theme_standard_toolbar_container).appendChild(p);else DOM.insertAfter(p,n);Event.add(ed.id+'_path_row','click',function(e){e=e.target;if(e.nodeName=='A'){t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/,'$1'));return Event.cancel(e);}});if(!ed.getParam('accessibility_focus')||ed.getParam('tab_focus'))Event.add(DOM.add(p,'a',{href:'#'},''),'focus',function(){tinyMCE.get(ed.id).focus();});if(s.theme_standard_toolbar_location=='external')o.deltaHeight=0;t.deltaHeight=o.deltaHeight;o.targetNode=null;return{iframeContainer:ic,editorContainer:ed.id+'_parent',sizeContainer:sc,deltaHeight:o.deltaHeight};},getInfo:function(){return{longname:'standard theme',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',version:tinymce.majorVersion+"."+tinymce.minorVersion}},resizeBy:function(dw,dh){var e=DOM.get(this.editor.id+'_tbl');this.resizeTo(e.clientWidth+dw,e.clientHeight+dh);},resizeTo:function(w,h){var ed=this.editor,s=ed.settings,e=DOM.get(ed.id+'_tbl'),ifr=DOM.get(ed.id+'_ifr'),dh;w=Math.max(s.theme_standard_resizing_min_width||100,w);h=Math.max(s.theme_standard_resizing_min_height||100,h);w=Math.min(s.theme_standard_resizing_max_width||0xFFFF,w);h=Math.min(s.theme_standard_resizing_max_height||0xFFFF,h);dh=e.clientHeight-ifr.clientHeight;DOM.setStyle(ifr,'height',h-dh);DOM.setStyles(e,{width:w,height:h});},destroy:function(){var id=this.editor.id;Event.clear(id+'_resize');Event.clear(id+'_path_row');Event.clear(id+'_external_close');},_simpleLayout:function(s,tb,o,p){var t=this,ed=t.editor,lo=s.theme_standard_toolbar_location,sl=s.theme_standard_statusbar_location,n,ic,etb,c;if(lo=='top')t._addToolbars(tb,o);if(lo=='external'){n=c=DOM.create('div',{style:'position:relative'});n=DOM.add(n,'div',{id:ed.id+'_external','class':'mceExternalToolbar'});DOM.add(n,'a',{id:ed.id+'_external_close',href:'javascript:;','class':'mceExternalClose'});n=DOM.add(n,'table',{id:ed.id+'_tblext',cellSpacing:0,cellPadding:0});etb=DOM.add(n,'tbody');if(p.firstChild.className=='mceOldBoxModel')p.firstChild.appendChild(c);else p.insertBefore(c,p.firstChild);t._addToolbars(etb,o);ed.onMouseUp.add(function(){var e=DOM.get(ed.id+'_external');DOM.show(e);DOM.hide(lastExtID);var f=Event.add(ed.id+'_external_close','click',function(){DOM.hide(ed.id+'_external');Event.remove(ed.id+'_external_close','click',f);});DOM.show(e);DOM.setStyle(e,'top',0-DOM.getRect(ed.id+'_tblext').h-1);DOM.hide(e);DOM.show(e);e.style.filter='';lastExtID=ed.id+'_external';e=null;});}if(sl=='top')t._addStatusBar(tb,o);if(!s.theme_standard_toolbar_container){n=DOM.add(tb,'tr');n=ic=DOM.add(n,'td',{'class':'mceIframeContainer'});}if(lo=='bottom')t._addToolbars(tb,o);if(sl=='bottom')t._addStatusBar(tb,o);return ic;},_rowLayout:function(s,tb,o){var t=this,ed=t.editor,dc,da,cf=ed.controlManager,n,ic,to,a;dc=s.theme_standard_containers_default_class||'';da=s.theme_standard_containers_default_align||'center';each(explode(s.theme_standard_containers||''),function(c,i){var v=s['theme_standard_container_'+c]||'';switch(c.toLowerCase()){case'mceeditor':n=DOM.add(tb,'tr');n=ic=DOM.add(n,'td',{'class':'mceIframeContainer'});break;case'mceelementpath':t._addStatusBar(tb,o);break;default:a=s['theme_standard_container_'+c+'_align'].toLowerCase();a='mce'+t._ufirst(a);n=DOM.add(DOM.add(tb,'tr'),'td',{'class':'mceToolbar '+(s['theme_standard_container_'+c+'_class']||dc)+' '+a||da});to=cf.createToolbar("toolbar"+i);t._addControls(v,to);DOM.setHTML(n,to.renderHTML());o.deltaHeight-=s.theme_standard_row_height;}});return ic;},_addControls:function(v,tb){var t=this,s=t.settings,di,cf=t.editor.controlManager;if(s.theme_standard_disable&&!t._disabled){di={};each(explode(s.theme_standard_disable),function(v){di[v]=1;});t._disabled=di;}else di=t._disabled;each(explode(v),function(n){var c;if(di&&di[n])return;if(n=='tablecontrols'){each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"],function(n){n=t.createControl(n,cf);if(n)tb.add(n);});return;}c=t.createControl(n,cf);if(c)tb.add(c);});},_addToolbars:function(c,o){var t=this,i,tb,ed=t.editor,s=t.settings,v,cf=ed.controlManager,di,n,h=[],a;a=s.theme_standard_toolbar_align.toLowerCase();a='mce'+t._ufirst(a);n=DOM.add(DOM.add(c,'tr'),'td',{'class':'mceToolbar '+a});if(!ed.getParam('accessibility_focus')||ed.getParam('tab_focus'))h.push(DOM.createHTML('a',{href:'#',onfocus:'tinyMCE.get(\''+ed.id+'\').focus();'},''));h.push(DOM.createHTML('a',{href:'#',accesskey:'q',title:ed.getLang("standard.toolbar_focus")},''));for(i=1;(v=s['theme_standard_buttons'+i]);i++){tb=cf.createToolbar("toolbar"+i,{'class':'mceToolbarRow'+i});if(s['theme_standard_buttons'+i+'_add'])v+=','+s['theme_standard_buttons'+i+'_add'];if(s['theme_standard_buttons'+i+'_add_before'])v=s['theme_standard_buttons'+i+'_add_before']+','+v;t._addControls(v,tb);h.push(tb.renderHTML());o.deltaHeight-=s.theme_standard_row_height;}h.push(DOM.createHTML('a',{href:'#',accesskey:'z',title:ed.getLang("standard.toolbar_focus"),onfocus:'tinyMCE.getInstanceById(\''+ed.id+'\').focus();'},''));DOM.setHTML(n,h.join(''));},_addStatusBar:function(tb,o){var n,t=this,ed=t.editor,s=t.settings,r,mf,me,td;n=DOM.add(tb,'tr');n=td=DOM.add(n,'td',{'class':'mceStatusbar'});n=DOM.add(n,'div',{id:ed.id+'_path_row'},s.theme_standard_path?ed.translate('standard.path')+': ':' ');DOM.add(n,'a',{href:'#',accesskey:'x'});if(s.theme_standard_resizing&&!tinymce.isOldWebKit){DOM.add(td,'a',{id:ed.id+'_resize',href:'javascript:;',onclick:"return false;",'class':'mceResize'});if(s.theme_standard_resizing_use_cookie){ed.onPostRender.add(function(){var o=Cookie.getHash("TinyMCE_"+ed.id+"_size"),c=DOM.get(ed.id+'_tbl');if(!o)return;if(s.theme_standard_resize_horizontal)c.style.width=Math.max(10,o.cw)+'px';c.style.height=Math.max(10,o.ch)+'px';DOM.get(ed.id+'_ifr').style.height=Math.max(10,parseInt(o.ch)+t.deltaHeight)+'px';});}ed.onPostRender.add(function(){Event.add(ed.id+'_resize','mousedown',function(e){var c,p,w,h,n,pa;c=DOM.get(ed.id+'_tbl');w=c.clientWidth;h=c.clientHeight;miw=s.theme_standard_resizing_min_width||100;mih=s.theme_standard_resizing_min_height||100;maw=s.theme_standard_resizing_max_width||0xFFFF;mah=s.theme_standard_resizing_max_height||0xFFFF;p=DOM.add(DOM.get(ed.id+'_parent'),'div',{'class':'mcePlaceHolder'});DOM.setStyles(p,{width:w,height:h});DOM.hide(c);DOM.show(p);r={x:e.screenX,y:e.screenY,w:w,h:h,dx:null,dy:null};mf=Event.add(DOM.doc,'mousemove',function(e){var w,h;r.dx=e.screenX-r.x;r.dy=e.screenY-r.y;w=Math.max(miw,r.w+r.dx);h=Math.max(mih,r.h+r.dy);w=Math.min(maw,w);h=Math.min(mah,h);if(s.theme_standard_resize_horizontal)p.style.width=w+'px';p.style.height=h+'px';return Event.cancel(e);});me=Event.add(DOM.doc,'mouseup',function(e){var ifr;Event.remove(DOM.doc,'mousemove',mf);Event.remove(DOM.doc,'mouseup',me);c.style.display='';DOM.remove(p);if(r.dx===null)return;ifr=DOM.get(ed.id+'_ifr');if(s.theme_standard_resize_horizontal)c.style.width=Math.max(10,r.w+r.dx)+'px';c.style.height=Math.max(10,r.h+r.dy)+'px';ifr.style.height=Math.max(10,ifr.clientHeight+r.dy)+'px';if(s.theme_standard_resizing_use_cookie){Cookie.setHash("TinyMCE_"+ed.id+"_size",{cw:r.w+r.dx,ch:r.h+r.dy});}});return Event.cancel(e);});});}o.deltaHeight-=21;n=tb=null;},_nodeChanged:function(ed,cm,n,co){var t=this,p,de=0,v,c,s=t.settings;tinymce.each(t.stateControls,function(c){cm.setActive(c,ed.queryCommandState(t.controls[c][1]));});cm.setActive('visualaid',ed.hasVisual);cm.setDisabled('undo',!ed.undoManager.hasUndo()&&!ed.typing);cm.setDisabled('redo',!ed.undoManager.hasRedo());cm.setDisabled('outdent',!ed.queryCommandState('Outdent'));p=DOM.getParent(n,'A');if(c=cm.get('link')){if(!p||!p.name){c.setDisabled(!p&&co);c.setActive(!!p);}}if(c=cm.get('unlink')){c.setDisabled(!p&&co);c.setActive(!!p&&!p.name);}if(c=cm.get('anchor')){c.setActive(!!p&&p.name);if(tinymce.isWebKit){p=DOM.getParent(n,'IMG');c.setActive(!!p&&DOM.getAttrib(p,'mce_name')=='a');}}p=DOM.getParent(n,'IMG');if(c=cm.get('image'))c.setActive(!!p&&n.className.indexOf('mceItem')==-1);if(c=cm.get('styleselect')){if(n.className){t._importClasses();c.select(n.className);}else c.select();}if(c=cm.get('formatselect')){p=DOM.getParent(n,DOM.isBlock);if(p)c.select(p.nodeName.toLowerCase());}if(c=cm.get('fontselect'))c.select(ed.queryCommandValue('FontName'));if(c=cm.get('fontsizeselect'))c.select(ed.queryCommandValue('FontSize'));if(s.theme_standard_path&&s.theme_standard_statusbar_location){p=DOM.get(ed.id+'_path')||DOM.add(ed.id+'_path_row','span',{id:ed.id+'_path'});DOM.setHTML(p,'');ed.dom.getParent(n,function(n){var na=n.nodeName.toLowerCase(),u,pi,ti='';if(n.nodeType!=1||(DOM.hasClass(n,'mceItemHidden')||DOM.hasClass(n,'mceItemRemoved')))return;if(v=DOM.getAttrib(n,'mce_name'))na=v;if(tinymce.isIE&&n.scopeName!=='HTML')na=n.scopeName+':'+na;na=na.replace(/mce\:/g,'');switch(na){case'b':na='strong';break;case'i':na='em';break;case'img':if(v=DOM.getAttrib(n,'src'))ti+='src: '+v+' ';break;case'a':if(v=DOM.getAttrib(n,'name')){ti+='name: '+v+' ';na+='#'+v;}if(v=DOM.getAttrib(n,'href'))ti+='href: '+v+' ';break;case'font':if(s.convert_fonts_to_spans)na='span';if(v=DOM.getAttrib(n,'face'))ti+='font: '+v+' ';if(v=DOM.getAttrib(n,'size'))ti+='size: '+v+' ';if(v=DOM.getAttrib(n,'color'))ti+='color: '+v+' ';break;case'span':if(v=DOM.getAttrib(n,'style'))ti+='style: '+v+' ';break;}if(v=DOM.getAttrib(n,'id'))ti+='id: '+v+' ';if(v=n.className){v=v.replace(/(webkit-[\w\-]+|Apple-[\w\-]+|mceItem\w+|mceVisualAid)/g,'');if(v&&v.indexOf('mceItem')==-1){ti+='class: '+v+' ';if(DOM.isBlock(n)||na=='img'||na=='span')na+='.'+v;}}na=na.replace(/(html:)/g,'');na={name:na,node:n,title:ti};t.onResolveName.dispatch(t,na);ti=na.title;na=na.name;pi=DOM.create('a',{'href':"javascript:;",onmousedown:"return false;",title:ti,'class':'mcePath_'+(de++)},na);if(p.hasChildNodes()){p.insertBefore(DOM.doc.createTextNode(' \u00bb '),p.firstChild);p.insertBefore(pi,p.firstChild);}else p.appendChild(pi);},ed.getBody());}},_sel:function(v){this.editor.execCommand('mceSelectNodeDepth',false,v);},_mceInsertAnchor:function(ui,v){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/standard/anchor.htm',width:320+parseInt(ed.getLang('standard.anchor_delta_width',0)),height:90+parseInt(ed.getLang('standard.anchor_delta_height',0)),inline:true},{theme_url:this.url});},_mceCharMap:function(){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/standard/charmap.htm',width:550+parseInt(ed.getLang('standard.charmap_delta_width',0)),height:250+parseInt(ed.getLang('standard.charmap_delta_height',0)),inline:true},{theme_url:this.url});},_mceHelp:function(){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/standard/about.htm',width:480,height:380,inline:true},{theme_url:this.url});},_mceColorPicker:function(u,v){var ed=this.editor;v=v||{};ed.windowManager.open({url:tinymce.baseURL+'/themes/standard/color_picker.htm',width:375+parseInt(ed.getLang('standard.colorpicker_delta_width',0)),height:250+parseInt(ed.getLang('standard.colorpicker_delta_height',0)),close_previous:false,inline:true},{input_color:v.color,func:v.func,theme_url:this.url});},_mceCodeEditor:function(ui,val){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/standard/source_editor.htm',width:parseInt(ed.getParam("theme_standard_source_editor_width",720)),height:parseInt(ed.getParam("theme_standard_source_editor_height",580)),inline:true,resizable:true,maximizable:true},{theme_url:this.url});},_mceImage:function(ui,val){var ed=this.editor;if(ed.dom.getAttrib(ed.selection.getNode(),'class').indexOf('mceItem')!=-1)return;ed.windowManager.open({url:tinymce.baseURL+'/themes/standard/image.htm',width:355+parseInt(ed.getLang('standard.image_delta_width',0)),height:275+parseInt(ed.getLang('standard.image_delta_height',0)),inline:true},{theme_url:this.url});},_mceLink:function(ui,val){var ed=this.editor;ed.windowManager.open({url:tinymce.baseURL+'/themes/standard/link.htm',width:310+parseInt(ed.getLang('standard.link_delta_width',0)),height:200+parseInt(ed.getLang('standard.link_delta_height',0)),inline:true},{theme_url:this.url});},_mceNewDocument:function(){var ed=this.editor;ed.windowManager.confirm('standard.newdocument',function(s){if(s)ed.execCommand('mceSetContent',false,'');});},_mceForeColor:function(){var t=this;this._mceColorPicker(0,{color:t.fgColor,func:function(co){t.fgColor=co;t.editor.execCommand('ForeColor',false,co);}});},_mceBackColor:function(){var t=this;this._mceColorPicker(0,{color:t.bgColor,func:function(co){t.bgColor=co;t.editor.execCommand('HiliteColor',false,co);}});},_ufirst:function(s){return s.substring(0,1).toUpperCase()+s.substring(1);}});tinymce.ThemeManager.add('standard',tinymce.themes.standardTheme);}()); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/editor_template_src.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/editor_template_src.js new file mode 100644 index 0000000000..040ac134c0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/editor_template_src.js @@ -0,0 +1,1052 @@ +/** + * $Id$ + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +(function() { + var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, Cookie = tinymce.util.Cookie, lastExtID, explode = tinymce.explode; + + // Tell it to load theme specific language pack(s) + tinymce.ThemeManager.requireLangPack('standard'); + + tinymce.create('tinymce.themes.standardTheme', { + // Control name lookup, format: title, command + controls : { + bold : ['bold_desc', 'Bold'], + italic : ['italic_desc', 'Italic'], + underline : ['underline_desc', 'Underline'], + strikethrough : ['striketrough_desc', 'Strikethrough'], + justifyleft : ['justifyleft_desc', 'JustifyLeft'], + justifycenter : ['justifycenter_desc', 'JustifyCenter'], + justifyright : ['justifyright_desc', 'JustifyRight'], + justifyfull : ['justifyfull_desc', 'JustifyFull'], + bullist : ['bullist_desc', 'InsertUnorderedList'], + numlist : ['numlist_desc', 'InsertOrderedList'], + outdent : ['outdent_desc', 'Outdent'], + indent : ['indent_desc', 'Indent'], + cut : ['cut_desc', 'Cut'], + copy : ['copy_desc', 'Copy'], + paste : ['paste_desc', 'Paste'], + undo : ['undo_desc', 'Undo'], + redo : ['redo_desc', 'Redo'], + link : ['link_desc', 'mceLink'], + unlink : ['unlink_desc', 'unlink'], + image : ['image_desc', 'mceImage'], + cleanup : ['cleanup_desc', 'mceCleanup'], + help : ['help_desc', 'mceHelp'], + code : ['code_desc', 'mceCodeEditor'], + hr : ['hr_desc', 'InsertHorizontalRule'], + removeformat : ['removeformat_desc', 'RemoveFormat'], + sub : ['sub_desc', 'subscript'], + sup : ['sup_desc', 'superscript'], + forecolor : ['forecolor_desc', 'ForeColor'], + forecolorpicker : ['forecolor_desc', 'mceForeColor'], + backcolor : ['backcolor_desc', 'HiliteColor'], + backcolorpicker : ['backcolor_desc', 'mceBackColor'], + charmap : ['charmap_desc', 'mceCharMap'], + visualaid : ['visualaid_desc', 'mceToggleVisualAid'], + anchor : ['anchor_desc', 'mceInsertAnchor'], + newdocument : ['newdocument_desc', 'mceNewDocument'], + blockquote : ['blockquote_desc', 'mceBlockQuote'] + }, + + stateControls : ['bold', 'italic', 'underline', 'strikethrough', 'bullist', 'numlist', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'sub', 'sup', 'blockquote'], + + init : function(ed, url) { + var t = this, s, v; + + t.editor = ed; + t.url = url; + t.onResolveName = new tinymce.util.Dispatcher(this); + + // Default settings + t.settings = s = extend({ + theme_standard_path : true, + theme_standard_toolbar_location : 'top', + theme_standard_buttons1 : "fontselect,fontsizeselect,formatselect,bold,italic,underline,strikethrough,sub,sup,undo,redo,cleanup,removeformat,|", + theme_standard_buttons2 : "justifyleft,justifycenter,justifyright,justifyfull,bullist,numlist,outdent,indent,forecolor,backcolor,link,unlink,anchor,image,charmap,code,|", + theme_standard_buttons3 : "", + theme_standard_blockformats : "h1,h2,h3,h4,h5,h6,p,address,pre", + theme_standard_toolbar_align : "left", + theme_standard_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", + theme_standard_font_sizes : "1,2,3,4,5,6,7", + theme_standard_more_colors : 1, + theme_standard_row_height : 23, + theme_standard_resize_horizontal : 1, + theme_standard_resizing_use_cookie : 1 + }, ed.settings); + + if ((v = s.theme_standard_path_location) && v != 'none') + s.theme_standard_statusbar_location = s.theme_standard_path_location; + + if (s.theme_standard_statusbar_location == 'none') + s.theme_standard_statusbar_location = 0; + + // Init editor + ed.onInit.add(function() { + ed.onNodeChange.add(t._nodeChanged, t); + + if (ed.settings.content_css !== false) + ed.dom.loadCSS(ed.baseURI.toAbsolute("themes/standard/skins/" + ed.settings.skin + "/content.css")); + }); + + ed.onSetProgressState.add(function(ed, b, ti) { + var co, id = ed.id, tb; + + if (b) { + t.progressTimer = setTimeout(function() { + co = ed.getContainer(); + co = co.insertBefore(DOM.create('DIV', {style : 'position:relative'}), co.firstChild); + tb = DOM.get(ed.id + '_tbl'); + + DOM.add(co, 'div', {id : id + '_blocker', 'class' : 'mceBlocker', style : {width : tb.clientWidth + 2, height : tb.clientHeight + 2}}); + DOM.add(co, 'div', {id : id + '_progress', 'class' : 'mceProgress', style : {left : tb.clientWidth / 2, top : tb.clientHeight / 2}}); + }, ti || 0); + } else { + DOM.remove(id + '_blocker'); + DOM.remove(id + '_progress'); + clearTimeout(t.progressTimer); + } + }); + + DOM.loadCSS(ed.baseURI.toAbsolute(s.editor_css || "themes/standard/skins/" + ed.settings.skin + "/ui.css")); + + if (s.skin_variant) + DOM.loadCSS(ed.baseURI.toAbsolute(s.editor_css || "themes/standard/skins/" + ed.settings.skin + "/ui_" + s.skin_variant + ".css")); + }, + + createControl : function(n, cf) { + var cd, c; + + if (c = cf.createControl(n)) + return c; + + switch (n) { + case "styleselect": + return this._createStyleSelect(); + + case "formatselect": + return this._createBlockFormats(); + + case "fontselect": + return this._createFontSelect(); + + case "fontsizeselect": + return this._createFontSizeSelect(); + + case "forecolor": + return this._createForeColorMenu(); + + case "backcolor": + return this._createBackColorMenu(); + } + + if ((cd = this.controls[n])) + return cf.createButton(n, {title : "standard." + cd[0], cmd : cd[1], ui : cd[2], value : cd[3]}); + }, + + execCommand : function(cmd, ui, val) { + var f = this['_' + cmd]; + + if (f) { + f.call(this, ui, val); + return true; + } + + return false; + }, + + _importClasses : function() { + var ed = this.editor, c = ed.controlManager.get('styleselect'); + + if (c.getLength() == 0) { + each(ed.dom.getClasses(), function(o) { + c.add(o['class'], o['class']); + }); + } + }, + + _createStyleSelect : function(n) { + var t = this, ed = t.editor, cf = ed.controlManager, c = cf.createListBox('styleselect', { + title : 'standard.style_select', + onselect : function(v) { + if (c.selectedValue === v) { + ed.execCommand('mceSetStyleInfo', 0, {command : 'removeformat'}); + c.select(); + return false; + } else + ed.execCommand('mceReplaceContent',false,'{$selection}'); + } + }); + + if (c) { + each(ed.getParam('theme_standard_styles', '', 'hash'), function(v, k) { + if (v) + c.add(t.editor.translate(k), v); + }); + + c.onPostRender.add(function(ed, n) { + Event.add(n, 'focus', t._importClasses, t); + Event.add(n, 'mousedown', t._importClasses, t); + }); + } + + return c; + }, + + _createFontSelect : function() { + var c, t = this, ed = t.editor; + + c = ed.controlManager.createListBox('fontselect', {title : 'standard.fontdefault', cmd : 'FontName'}); + if (c) { + each(ed.getParam('theme_standard_fonts', t.settings.theme_standard_fonts, 'hash'), function(v, k) { + c.add(ed.translate(k), v, {style : v.indexOf('dings') == -1 ? 'font-family:' + v : ''}); + }); + } + + return c; + }, + + _createFontSizeSelect : function() { + var c, t = this, lo = [ + "1 (8 pt)", + "2 (10 pt)", + "3 (12 pt)", + "4 (14 pt)", + "5 (18 pt)", + "6 (24 pt)", + "7 (36 pt)" + ], fz = [8, 10, 12, 14, 18, 24, 36]; + + c = t.editor.controlManager.createListBox('fontsizeselect', {title : 'standard.font_size', cmd : 'FontSize'}); + if (c) { + each(explode(t.settings.theme_standard_font_sizes), function(v) { + c.add(lo[parseInt(v) - 1], v, {'style' : 'font-size:' + fz[v - 1] + 'pt', 'class' : 'mceFontSize' + v}); + }); + } + + return c; + }, + + _createBlockFormats : function() { + var c, fmts = { + p : 'standard.paragraph', + address : 'standard.address', + pre : 'standard.pre', + h1 : 'standard.h1', + h2 : 'standard.h2', + h3 : 'standard.h3', + h4 : 'standard.h4', + h5 : 'standard.h5', + h6 : 'standard.h6', + div : 'standard.div', + blockquote : 'standard.blockquote', + code : 'standard.code', + dt : 'standard.dt', + dd : 'standard.dd', + samp : 'standard.samp' + }, t = this; + + c = t.editor.controlManager.createListBox('formatselect', {title : 'standard.block', cmd : 'FormatBlock'}); + if (c) { + each(t.editor.getParam('theme_standard_blockformats', t.settings.theme_standard_blockformats, 'hash'), function(v, k) { + c.add(t.editor.translate(k != v ? k : fmts[v]), v, {'class' : 'mce_formatPreview mce_' + v}); + }); + } + + return c; + }, + + _createForeColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_standard_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_standard_text_colors) + o.colors = v; + + o.title = 'standard.forecolor_desc'; + o.cmd = 'ForeColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('forecolor', o); + + return c; + }, + + _createBackColorMenu : function() { + var c, t = this, s = t.settings, o = {}, v; + + if (s.theme_standard_more_colors) { + o.more_colors_func = function() { + t._mceColorPicker(0, { + color : c.value, + func : function(co) { + c.setColor(co); + } + }); + }; + } + + if (v = s.theme_standard_background_colors) + o.colors = v; + + o.title = 'standard.backcolor_desc'; + o.cmd = 'HiliteColor'; + o.scope = this; + + c = t.editor.controlManager.createColorSplitButton('backcolor', o); + + return c; + }, + + renderUI : function(o) { + var n, ic, tb, t = this, ed = t.editor, s = t.settings, sc, p, nl; + + n = p = DOM.create('span', {id : ed.id + '_parent', 'class' : 'mceEditor ' + ed.settings.skin + 'Skin' + (s.skin_variant ? ' ' + ed.settings.skin + 'Skin' + t._ufirst(s.skin_variant) : '')}); + + if (!DOM.boxModel) + n = DOM.add(n, 'div', {'class' : 'mceOldBoxModel'}); + + n = sc = DOM.add(n, 'table', {id : ed.id + '_tbl', 'class' : 'mceLayout', cellSpacing : 0, cellPadding : 0}); + n = tb = DOM.add(n, 'tbody'); + + switch ((s.theme_standard_layout_manager || '').toLowerCase()) { + case "rowlayout": + ic = t._rowLayout(s, tb, o); + break; + + case "customlayout": + ic = ed.execCallback("theme_standard_custom_layout", s, tb, o, p); + break; + + default: + ic = t._simpleLayout(s, tb, o, p); + } + + n = o.targetNode; + + // Add classes to first and last TRs + nl = DOM.stdMode ? sc.getElementsByTagName('tr') : sc.rows; // Quick fix for IE 8 + DOM.addClass(nl[0], 'mceFirst'); + DOM.addClass(nl[nl.length - 1], 'mceLast'); + + // Add classes to first and last TDs + each(DOM.select('tr', tb), function(n) { + DOM.addClass(n.firstChild, 'mceFirst'); + DOM.addClass(n.childNodes[n.childNodes.length - 1], 'mceLast'); + }); + + if (DOM.get(s.theme_standard_toolbar_container)) + DOM.get(s.theme_standard_toolbar_container).appendChild(p); + else + DOM.insertAfter(p, n); + + Event.add(ed.id + '_path_row', 'click', function(e) { + e = e.target; + + if (e.nodeName == 'A') { + t._sel(e.className.replace(/^.*mcePath_([0-9]+).*$/, '$1')); + + return Event.cancel(e); + } + }); +/* + if (DOM.get(ed.id + '_path_row')) { + Event.add(ed.id + '_tbl', 'mouseover', function(e) { + var re; + + e = e.target; + + if (e.nodeName == 'SPAN' && DOM.hasClass(e.parentNode, 'mceButton')) { + re = DOM.get(ed.id + '_path_row'); + t.lastPath = re.innerHTML; + DOM.setHTML(re, e.parentNode.title); + } + }); + + Event.add(ed.id + '_tbl', 'mouseout', function(e) { + if (t.lastPath) { + DOM.setHTML(ed.id + '_path_row', t.lastPath); + t.lastPath = 0; + } + }); + } +*/ + + if (!ed.getParam('accessibility_focus') || ed.getParam('tab_focus')) + Event.add(DOM.add(p, 'a', {href : '#'}, ''), 'focus', function() {tinyMCE.get(ed.id).focus();}); + + if (s.theme_standard_toolbar_location == 'external') + o.deltaHeight = 0; + + t.deltaHeight = o.deltaHeight; + o.targetNode = null; + + return { + iframeContainer : ic, + editorContainer : ed.id + '_parent', + sizeContainer : sc, + deltaHeight : o.deltaHeight + }; + }, + + getInfo : function() { + return { + longname : 'standard theme', + author : 'Moxiecode Systems AB', + authorurl : 'http://tinymce.moxiecode.com', + version : tinymce.majorVersion + "." + tinymce.minorVersion + } + }, + + resizeBy : function(dw, dh) { + var e = DOM.get(this.editor.id + '_tbl'); + + this.resizeTo(e.clientWidth + dw, e.clientHeight + dh); + }, + + resizeTo : function(w, h) { + var ed = this.editor, s = ed.settings, e = DOM.get(ed.id + '_tbl'), ifr = DOM.get(ed.id + '_ifr'), dh; + + // Boundery fix box + w = Math.max(s.theme_standard_resizing_min_width || 100, w); + h = Math.max(s.theme_standard_resizing_min_height || 100, h); + w = Math.min(s.theme_standard_resizing_max_width || 0xFFFF, w); + h = Math.min(s.theme_standard_resizing_max_height || 0xFFFF, h); + + // Calc difference between iframe and container + dh = e.clientHeight - ifr.clientHeight; + + // Resize iframe and container + DOM.setStyle(ifr, 'height', h - dh); + DOM.setStyles(e, {width : w, height : h}); + }, + + destroy : function() { + var id = this.editor.id; + + Event.clear(id + '_resize'); + Event.clear(id + '_path_row'); + Event.clear(id + '_external_close'); + }, + + // Internal functions + + _simpleLayout : function(s, tb, o, p) { + var t = this, ed = t.editor, lo = s.theme_standard_toolbar_location, sl = s.theme_standard_statusbar_location, n, ic, etb, c; + + // Create toolbar container at top + if (lo == 'top') + t._addToolbars(tb, o); + + // Create external toolbar + if (lo == 'external') { + n = c = DOM.create('div', {style : 'position:relative'}); + n = DOM.add(n, 'div', {id : ed.id + '_external', 'class' : 'mceExternalToolbar'}); + DOM.add(n, 'a', {id : ed.id + '_external_close', href : 'javascript:;', 'class' : 'mceExternalClose'}); + n = DOM.add(n, 'table', {id : ed.id + '_tblext', cellSpacing : 0, cellPadding : 0}); + etb = DOM.add(n, 'tbody'); + + if (p.firstChild.className == 'mceOldBoxModel') + p.firstChild.appendChild(c); + else + p.insertBefore(c, p.firstChild); + + t._addToolbars(etb, o); + + ed.onMouseUp.add(function() { + var e = DOM.get(ed.id + '_external'); + DOM.show(e); + + DOM.hide(lastExtID); + + var f = Event.add(ed.id + '_external_close', 'click', function() { + DOM.hide(ed.id + '_external'); + Event.remove(ed.id + '_external_close', 'click', f); + }); + + DOM.show(e); + DOM.setStyle(e, 'top', 0 - DOM.getRect(ed.id + '_tblext').h - 1); + + // Fixes IE rendering bug + DOM.hide(e); + DOM.show(e); + e.style.filter = ''; + + lastExtID = ed.id + '_external'; + + e = null; + }); + } + + if (sl == 'top') + t._addStatusBar(tb, o); + + // Create iframe container + if (!s.theme_standard_toolbar_container) { + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + } + + // Create toolbar container at bottom + if (lo == 'bottom') + t._addToolbars(tb, o); + + if (sl == 'bottom') + t._addStatusBar(tb, o); + + return ic; + }, + + _rowLayout : function(s, tb, o) { + var t = this, ed = t.editor, dc, da, cf = ed.controlManager, n, ic, to, a; + + dc = s.theme_standard_containers_default_class || ''; + da = s.theme_standard_containers_default_align || 'center'; + + each(explode(s.theme_standard_containers || ''), function(c, i) { + var v = s['theme_standard_container_' + c] || ''; + + switch (c.toLowerCase()) { + case 'mceeditor': + n = DOM.add(tb, 'tr'); + n = ic = DOM.add(n, 'td', {'class' : 'mceIframeContainer'}); + break; + + case 'mceelementpath': + t._addStatusBar(tb, o); + break; + + default: + a = s['theme_standard_container_' + c + '_align'].toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(tb, 'tr'), 'td', { + 'class' : 'mceToolbar ' + (s['theme_standard_container_' + c + '_class'] || dc) + ' ' + a || da + }); + + to = cf.createToolbar("toolbar" + i); + t._addControls(v, to); + DOM.setHTML(n, to.renderHTML()); + o.deltaHeight -= s.theme_standard_row_height; + } + }); + + return ic; + }, + + _addControls : function(v, tb) { + var t = this, s = t.settings, di, cf = t.editor.controlManager; + + if (s.theme_standard_disable && !t._disabled) { + di = {}; + + each(explode(s.theme_standard_disable), function(v) { + di[v] = 1; + }); + + t._disabled = di; + } else + di = t._disabled; + + each(explode(v), function(n) { + var c; + + if (di && di[n]) + return; + + // Compatiblity with 2.x + if (n == 'tablecontrols') { + each(["table","|","row_props","cell_props","|","row_before","row_after","delete_row","|","col_before","col_after","delete_col","|","split_cells","merge_cells"], function(n) { + n = t.createControl(n, cf); + + if (n) + tb.add(n); + }); + + return; + } + + c = t.createControl(n, cf); + + if (c) + tb.add(c); + }); + }, + + _addToolbars : function(c, o) { + var t = this, i, tb, ed = t.editor, s = t.settings, v, cf = ed.controlManager, di, n, h = [], a; + + a = s.theme_standard_toolbar_align.toLowerCase(); + a = 'mce' + t._ufirst(a); + + n = DOM.add(DOM.add(c, 'tr'), 'td', {'class' : 'mceToolbar ' + a}); + + if (!ed.getParam('accessibility_focus') || ed.getParam('tab_focus')) + h.push(DOM.createHTML('a', {href : '#', onfocus : 'tinyMCE.get(\'' + ed.id + '\').focus();'}, '')); + + h.push(DOM.createHTML('a', {href : '#', accesskey : 'q', title : ed.getLang("standard.toolbar_focus")}, '')); + + // Create toolbar and add the controls + for (i=1; (v = s['theme_standard_buttons' + i]); i++) { + tb = cf.createToolbar("toolbar" + i, {'class' : 'mceToolbarRow' + i}); + + if (s['theme_standard_buttons' + i + '_add']) + v += ',' + s['theme_standard_buttons' + i + '_add']; + + if (s['theme_standard_buttons' + i + '_add_before']) + v = s['theme_standard_buttons' + i + '_add_before'] + ',' + v; + + t._addControls(v, tb); + + //n.appendChild(n = tb.render()); + h.push(tb.renderHTML()); + + o.deltaHeight -= s.theme_standard_row_height; + } + + h.push(DOM.createHTML('a', {href : '#', accesskey : 'z', title : ed.getLang("standard.toolbar_focus"), onfocus : 'tinyMCE.getInstanceById(\'' + ed.id + '\').focus();'}, '')); + DOM.setHTML(n, h.join('')); + }, + + _addStatusBar : function(tb, o) { + var n, t = this, ed = t.editor, s = t.settings, r, mf, me, td; + + n = DOM.add(tb, 'tr'); + n = td = DOM.add(n, 'td', {'class' : 'mceStatusbar'}); + n = DOM.add(n, 'div', {id : ed.id + '_path_row'}, s.theme_standard_path ? ed.translate('standard.path') + ': ' : ' '); + DOM.add(n, 'a', {href : '#', accesskey : 'x'}); + + if (s.theme_standard_resizing && !tinymce.isOldWebKit) { + DOM.add(td, 'a', {id : ed.id + '_resize', href : 'javascript:;', onclick : "return false;", 'class' : 'mceResize'}); + + if (s.theme_standard_resizing_use_cookie) { + ed.onPostRender.add(function() { + var o = Cookie.getHash("TinyMCE_" + ed.id + "_size"), c = DOM.get(ed.id + '_tbl'); + + if (!o) + return; + + if (s.theme_standard_resize_horizontal) + c.style.width = Math.max(10, o.cw) + 'px'; + + c.style.height = Math.max(10, o.ch) + 'px'; + DOM.get(ed.id + '_ifr').style.height = Math.max(10, parseInt(o.ch) + t.deltaHeight) + 'px'; + }); + } + + ed.onPostRender.add(function() { + Event.add(ed.id + '_resize', 'mousedown', function(e) { + var c, p, w, h, n, pa; + + // Measure container + c = DOM.get(ed.id + '_tbl'); + w = c.clientWidth; + h = c.clientHeight; + + miw = s.theme_standard_resizing_min_width || 100; + mih = s.theme_standard_resizing_min_height || 100; + maw = s.theme_standard_resizing_max_width || 0xFFFF; + mah = s.theme_standard_resizing_max_height || 0xFFFF; + + // Setup placeholder + p = DOM.add(DOM.get(ed.id + '_parent'), 'div', {'class' : 'mcePlaceHolder'}); + DOM.setStyles(p, {width : w, height : h}); + + // Replace with placeholder + DOM.hide(c); + DOM.show(p); + + // Create internal resize obj + r = { + x : e.screenX, + y : e.screenY, + w : w, + h : h, + dx : null, + dy : null + }; + + // Start listening + mf = Event.add(DOM.doc, 'mousemove', function(e) { + var w, h; + + // Calc delta values + r.dx = e.screenX - r.x; + r.dy = e.screenY - r.y; + + // Boundery fix box + w = Math.max(miw, r.w + r.dx); + h = Math.max(mih, r.h + r.dy); + w = Math.min(maw, w); + h = Math.min(mah, h); + + // Resize placeholder + if (s.theme_standard_resize_horizontal) + p.style.width = w + 'px'; + + p.style.height = h + 'px'; + + return Event.cancel(e); + }); + + me = Event.add(DOM.doc, 'mouseup', function(e) { + var ifr; + + // Stop listening + Event.remove(DOM.doc, 'mousemove', mf); + Event.remove(DOM.doc, 'mouseup', me); + + c.style.display = ''; + DOM.remove(p); + + if (r.dx === null) + return; + + ifr = DOM.get(ed.id + '_ifr'); + + if (s.theme_standard_resize_horizontal) + c.style.width = Math.max(10, r.w + r.dx) + 'px'; + + c.style.height = Math.max(10, r.h + r.dy) + 'px'; + ifr.style.height = Math.max(10, ifr.clientHeight + r.dy) + 'px'; + + if (s.theme_standard_resizing_use_cookie) { + Cookie.setHash("TinyMCE_" + ed.id + "_size", { + cw : r.w + r.dx, + ch : r.h + r.dy + }); + } + }); + + return Event.cancel(e); + }); + }); + } + + o.deltaHeight -= 21; + n = tb = null; + }, + + _nodeChanged : function(ed, cm, n, co) { + var t = this, p, de = 0, v, c, s = t.settings; + + tinymce.each(t.stateControls, function(c) { + cm.setActive(c, ed.queryCommandState(t.controls[c][1])); + }); + + cm.setActive('visualaid', ed.hasVisual); + cm.setDisabled('undo', !ed.undoManager.hasUndo() && !ed.typing); + cm.setDisabled('redo', !ed.undoManager.hasRedo()); + cm.setDisabled('outdent', !ed.queryCommandState('Outdent')); + + p = DOM.getParent(n, 'A'); + if (c = cm.get('link')) { + if (!p || !p.name) { + c.setDisabled(!p && co); + c.setActive(!!p); + } + } + + if (c = cm.get('unlink')) { + c.setDisabled(!p && co); + c.setActive(!!p && !p.name); + } + + if (c = cm.get('anchor')) { + c.setActive(!!p && p.name); + + if (tinymce.isWebKit) { + p = DOM.getParent(n, 'IMG'); + c.setActive(!!p && DOM.getAttrib(p, 'mce_name') == 'a'); + } + } + + p = DOM.getParent(n, 'IMG'); + if (c = cm.get('image')) + c.setActive(!!p && n.className.indexOf('mceItem') == -1); + + if (c = cm.get('styleselect')) { + if (n.className) { + t._importClasses(); + c.select(n.className); + } else + c.select(); + } + + if (c = cm.get('formatselect')) { + p = DOM.getParent(n, DOM.isBlock); + + if (p) + c.select(p.nodeName.toLowerCase()); + } + + if (c = cm.get('fontselect')) + c.select(ed.queryCommandValue('FontName')); + + if (c = cm.get('fontsizeselect')) + c.select(ed.queryCommandValue('FontSize')); + + if (s.theme_standard_path && s.theme_standard_statusbar_location) { + p = DOM.get(ed.id + '_path') || DOM.add(ed.id + '_path_row', 'span', {id : ed.id + '_path'}); + DOM.setHTML(p, ''); + + ed.dom.getParent(n, function(n) { + var na = n.nodeName.toLowerCase(), u, pi, ti = ''; + + // Ignore non element and hidden elements + if (n.nodeType != 1 || (DOM.hasClass(n, 'mceItemHidden') || DOM.hasClass(n, 'mceItemRemoved'))) + return; + + // Fake name + if (v = DOM.getAttrib(n, 'mce_name')) + na = v; + + // Handle prefix + if (tinymce.isIE && n.scopeName !== 'HTML') + na = n.scopeName + ':' + na; + + // Remove internal prefix + na = na.replace(/mce\:/g, ''); + + // Handle node name + switch (na) { + case 'b': + na = 'strong'; + break; + + case 'i': + na = 'em'; + break; + + case 'img': + if (v = DOM.getAttrib(n, 'src')) + ti += 'src: ' + v + ' '; + + break; + + case 'a': + if (v = DOM.getAttrib(n, 'name')) { + ti += 'name: ' + v + ' '; + na += '#' + v; + } + + if (v = DOM.getAttrib(n, 'href')) + ti += 'href: ' + v + ' '; + + break; + + case 'font': + if (s.convert_fonts_to_spans) + na = 'span'; + + if (v = DOM.getAttrib(n, 'face')) + ti += 'font: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'size')) + ti += 'size: ' + v + ' '; + + if (v = DOM.getAttrib(n, 'color')) + ti += 'color: ' + v + ' '; + + break; + + case 'span': + if (v = DOM.getAttrib(n, 'style')) + ti += 'style: ' + v + ' '; + + break; + } + + if (v = DOM.getAttrib(n, 'id')) + ti += 'id: ' + v + ' '; + + if (v = n.className) { + v = v.replace(/(webkit-[\w\-]+|Apple-[\w\-]+|mceItem\w+|mceVisualAid)/g, ''); + + if (v && v.indexOf('mceItem') == -1) { + ti += 'class: ' + v + ' '; + + if (DOM.isBlock(n) || na == 'img' || na == 'span') + na += '.' + v; + } + } + + na = na.replace(/(html:)/g, ''); + na = {name : na, node : n, title : ti}; + t.onResolveName.dispatch(t, na); + ti = na.title; + na = na.name; + + //u = "javascript:tinymce.EditorManager.get('" + ed.id + "').theme._sel('" + (de++) + "');"; + pi = DOM.create('a', {'href' : "javascript:;", onmousedown : "return false;", title : ti, 'class' : 'mcePath_' + (de++)}, na); + + if (p.hasChildNodes()) { + p.insertBefore(DOM.doc.createTextNode(' \u00bb '), p.firstChild); + p.insertBefore(pi, p.firstChild); + } else + p.appendChild(pi); + }, ed.getBody()); + } + }, + + // Commands gets called by execCommand + + _sel : function(v) { + this.editor.execCommand('mceSelectNodeDepth', false, v); + }, + + _mceInsertAnchor : function(ui, v) { + var ed = this.editor; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/standard/anchor.htm', + width : 320 + parseInt(ed.getLang('standard.anchor_delta_width', 0)), + height : 90 + parseInt(ed.getLang('standard.anchor_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceCharMap : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/standard/charmap.htm', + width : 550 + parseInt(ed.getLang('standard.charmap_delta_width', 0)), + height : 250 + parseInt(ed.getLang('standard.charmap_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceHelp : function() { + var ed = this.editor; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/standard/about.htm', + width : 480, + height : 380, + inline : true + }, { + theme_url : this.url + }); + }, + + _mceColorPicker : function(u, v) { + var ed = this.editor; + + v = v || {}; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/standard/color_picker.htm', + width : 375 + parseInt(ed.getLang('standard.colorpicker_delta_width', 0)), + height : 250 + parseInt(ed.getLang('standard.colorpicker_delta_height', 0)), + close_previous : false, + inline : true + }, { + input_color : v.color, + func : v.func, + theme_url : this.url + }); + }, + + _mceCodeEditor : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/standard/source_editor.htm', + width : parseInt(ed.getParam("theme_standard_source_editor_width", 720)), + height : parseInt(ed.getParam("theme_standard_source_editor_height", 580)), + inline : true, + resizable : true, + maximizable : true + }, { + theme_url : this.url + }); + }, + + _mceImage : function(ui, val) { + var ed = this.editor; + + // Internal image object like a flash placeholder + if (ed.dom.getAttrib(ed.selection.getNode(), 'class').indexOf('mceItem') != -1) + return; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/standard/image.htm', + width : 355 + parseInt(ed.getLang('standard.image_delta_width', 0)), + height : 275 + parseInt(ed.getLang('standard.image_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceLink : function(ui, val) { + var ed = this.editor; + + ed.windowManager.open({ + url : tinymce.baseURL + '/themes/standard/link.htm', + width : 310 + parseInt(ed.getLang('standard.link_delta_width', 0)), + height : 200 + parseInt(ed.getLang('standard.link_delta_height', 0)), + inline : true + }, { + theme_url : this.url + }); + }, + + _mceNewDocument : function() { + var ed = this.editor; + + ed.windowManager.confirm('standard.newdocument', function(s) { + if (s) + ed.execCommand('mceSetContent', false, ''); + }); + }, + + _mceForeColor : function() { + var t = this; + + this._mceColorPicker(0, { + color: t.fgColor, + func : function(co) { + t.fgColor = co; + t.editor.execCommand('ForeColor', false, co); + } + }); + }, + + _mceBackColor : function() { + var t = this; + + this._mceColorPicker(0, { + color: t.bgColor, + func : function(co) { + t.bgColor = co; + t.editor.execCommand('HiliteColor', false, co); + } + }); + }, + + _ufirst : function(s) { + return s.substring(0, 1).toUpperCase() + s.substring(1); + } + }); + + tinymce.ThemeManager.add('standard', tinymce.themes.standardTheme); +}()); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/form_utils.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/form_utils.js new file mode 100644 index 0000000000..e3fa31351a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/form_utils.js @@ -0,0 +1,199 @@ +/** + * $Id$ + * + * Various form utilitiy functions. + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme")); + +function getColorPickerHTML(id, target_form_element) { + var h = ""; + + h += ''; + h += ''; + + return h; +} + +function updateColor(img_id, form_element_id) { + document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value; +} + +function setBrowserDisabled(id, state) { + var img = document.getElementById(id); + var lnk = document.getElementById(id + "_link"); + + if (lnk) { + if (state) { + lnk.setAttribute("realhref", lnk.getAttribute("href")); + lnk.removeAttribute("href"); + tinyMCEPopup.dom.addClass(img, 'disabled'); + } else { + if (lnk.getAttribute("realhref")) + lnk.setAttribute("href", lnk.getAttribute("realhref")); + + tinyMCEPopup.dom.removeClass(img, 'disabled'); + } + } +} + +function getBrowserHTML(id, target_form_element, type, prefix) { + var option = prefix + "_" + type + "_browser_callback", cb, html; + + cb = tinyMCEPopup.getParam(option, tinyMCEPopup.getParam("file_browser_callback")); + + if (!cb) + return ""; + + html = ""; + html += ''; + html += ''; + + return html; +} + +function openBrowser(img_id, target_form_element, type, option) { + var img = document.getElementById(img_id); + + if (img.className != "mceButtonDisabled") + tinyMCEPopup.openBrowser(target_form_element, type, option); +} + +function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { + if (!form_obj || !form_obj.elements[field_name]) + return; + + var sel = form_obj.elements[field_name]; + + var found = false; + for (var i=0; i + + + {#standard_dlg.image_title} + + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
     
    + x +
    +
    +
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/img/colorpicker.jpg b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/img/colorpicker.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b4c542d107b25f68a9d4f9d7a109d0565d1f1437 GIT binary patch literal 3189 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 literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/img/icons.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/img/icons.gif new file mode 100644 index 0000000000000000000000000000000000000000..ccac36f54d983cc33a0a6e45134e3dabf1820367 GIT binary patch literal 11505 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 literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/about.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/about.js new file mode 100644 index 0000000000..e5d5193587 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/about.js @@ -0,0 +1,72 @@ +tinyMCEPopup.requireLangPack(); + +function init() { + var ed, tcont; + + tinyMCEPopup.resizeToInnerSize(); + ed = tinyMCEPopup.editor; + + // Give FF some time + window.setTimeout('insertHelpIFrame();', 10); + + tcont = document.getElementById('plugintablecontainer'); + document.getElementById('plugins_tab').style.display = 'none'; + + var html = ""; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + html += ''; + + tinymce.each(ed.plugins, function(p, n) { + var info; + + if (!p.getInfo) + return; + + html += ''; + + info = p.getInfo(); + + if (info.infourl != null && info.infourl != '') + html += ''; + else + html += ''; + + if (info.authorurl != null && info.authorurl != '') + html += ''; + else + html += ''; + + html += ''; + html += ''; + + document.getElementById('plugins_tab').style.display = ''; + + }); + + html += ''; + html += '
    ' + ed.getLang('standard_dlg.about_plugin') + '' + ed.getLang('standard_dlg.about_author') + '' + ed.getLang('standard_dlg.about_version') + '
    ' + info.longname + '' + info.longname + '' + info.author + '' + info.author + '' + info.version + '
    '; + + tcont.innerHTML = html; + + tinyMCEPopup.dom.get('version').innerHTML = tinymce.majorVersion + "." + tinymce.minorVersion; + tinyMCEPopup.dom.get('date').innerHTML = tinymce.releaseDate; +} + +function insertHelpIFrame() { + var html; + + if (tinyMCEPopup.getParam('docs_url')) { + html = ''; + document.getElementById('iframecontainer').innerHTML = html; + document.getElementById('help_tab').style.display = 'block'; + } +} + +tinyMCEPopup.onInit.add(init); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/anchor.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/anchor.js new file mode 100644 index 0000000000..b5efd1ec97 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/anchor.js @@ -0,0 +1,37 @@ +tinyMCEPopup.requireLangPack(); + +var AnchorDialog = { + init : function(ed) { + var action, elm, f = document.forms[0]; + + this.editor = ed; + elm = ed.dom.getParent(ed.selection.getNode(), 'A,IMG'); + v = ed.dom.getAttrib(elm, 'name'); + + if (v) { + this.action = 'update'; + f.anchorName.value = v; + } + + f.insert.value = ed.getLang(elm ? 'update' : 'insert'); + }, + + update : function() { + var ed = this.editor; + + tinyMCEPopup.restoreSelection(); + + if (this.action != 'update') + ed.selection.collapse(1); + + // Webkit acts weird if empty inline element is inserted so we need to use a image instead + if (tinymce.isWebKit) + ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('img', {mce_name : 'a', name : document.forms[0].anchorName.value, 'class' : 'mceItemAnchor'})); + else + ed.execCommand('mceInsertContent', 0, ed.dom.createHTML('a', {name : document.forms[0].anchorName.value, 'class' : 'mceItemAnchor'}, '')); + + tinyMCEPopup.close(); + } +}; + +tinyMCEPopup.onInit.add(AnchorDialog.init, AnchorDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/charmap.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/charmap.js new file mode 100644 index 0000000000..8467ef6036 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/charmap.js @@ -0,0 +1,325 @@ +tinyMCEPopup.requireLangPack(); + +var charmap = [ + [' ', ' ', true, 'no-break space'], + ['&', '&', true, 'ampersand'], + ['"', '"', true, 'quotation mark'], +// finance + ['¢', '¢', true, 'cent sign'], + ['€', '€', true, 'euro sign'], + ['£', '£', true, 'pound sign'], + ['¥', '¥', true, 'yen sign'], +// signs + ['©', '©', true, 'copyright sign'], + ['®', '®', true, 'registered sign'], + ['™', '™', true, 'trade mark sign'], + ['‰', '‰', true, 'per mille sign'], + ['µ', 'µ', true, 'micro sign'], + ['·', '·', true, 'middle dot'], + ['•', '•', true, 'bullet'], + ['…', '…', true, 'three dot leader'], + ['′', '′', true, 'minutes / feet'], + ['″', '″', true, 'seconds / inches'], + ['§', '§', true, 'section sign'], + ['¶', '¶', true, 'paragraph sign'], + ['ß', 'ß', true, 'sharp s / ess-zed'], +// quotations + ['‹', '‹', true, 'single left-pointing angle quotation mark'], + ['›', '›', true, 'single right-pointing angle quotation mark'], + ['«', '«', true, 'left pointing guillemet'], + ['»', '»', true, 'right pointing guillemet'], + ['‘', '‘', true, 'left single quotation mark'], + ['’', '’', true, 'right single quotation mark'], + ['“', '“', true, 'left double quotation mark'], + ['”', '”', true, 'right double quotation mark'], + ['‚', '‚', true, 'single low-9 quotation mark'], + ['„', '„', true, 'double low-9 quotation mark'], + ['<', '<', true, 'less-than sign'], + ['>', '>', true, 'greater-than sign'], + ['≤', '≤', true, 'less-than or equal to'], + ['≥', '≥', true, 'greater-than or equal to'], + ['–', '–', true, 'en dash'], + ['—', '—', true, 'em dash'], + ['¯', '¯', true, 'macron'], + ['‾', '‾', true, 'overline'], + ['¤', '¤', true, 'currency sign'], + ['¦', '¦', true, 'broken bar'], + ['¨', '¨', true, 'diaeresis'], + ['¡', '¡', true, 'inverted exclamation mark'], + ['¿', '¿', true, 'turned question mark'], + ['ˆ', 'ˆ', true, 'circumflex accent'], + ['˜', '˜', true, 'small tilde'], + ['°', '°', true, 'degree sign'], + ['−', '−', true, 'minus sign'], + ['±', '±', true, 'plus-minus sign'], + ['÷', '÷', true, 'division sign'], + ['⁄', '⁄', true, 'fraction slash'], + ['×', '×', true, 'multiplication sign'], + ['¹', '¹', true, 'superscript one'], + ['²', '²', true, 'superscript two'], + ['³', '³', true, 'superscript three'], + ['¼', '¼', true, 'fraction one quarter'], + ['½', '½', true, 'fraction one half'], + ['¾', '¾', true, 'fraction three quarters'], +// math / logical + ['ƒ', 'ƒ', true, 'function / florin'], + ['∫', '∫', true, 'integral'], + ['∑', '∑', true, 'n-ary sumation'], + ['∞', '∞', true, 'infinity'], + ['√', '√', true, 'square root'], + ['∼', '∼', false,'similar to'], + ['≅', '≅', false,'approximately equal to'], + ['≈', '≈', true, 'almost equal to'], + ['≠', '≠', true, 'not equal to'], + ['≡', '≡', true, 'identical to'], + ['∈', '∈', false,'element of'], + ['∉', '∉', false,'not an element of'], + ['∋', '∋', false,'contains as member'], + ['∏', '∏', true, 'n-ary product'], + ['∧', '∧', false,'logical and'], + ['∨', '∨', false,'logical or'], + ['¬', '¬', true, 'not sign'], + ['∩', '∩', true, 'intersection'], + ['∪', '∪', false,'union'], + ['∂', '∂', true, 'partial differential'], + ['∀', '∀', false,'for all'], + ['∃', '∃', false,'there exists'], + ['∅', '∅', false,'diameter'], + ['∇', '∇', false,'backward difference'], + ['∗', '∗', false,'asterisk operator'], + ['∝', '∝', false,'proportional to'], + ['∠', '∠', false,'angle'], +// undefined + ['´', '´', true, 'acute accent'], + ['¸', '¸', true, 'cedilla'], + ['ª', 'ª', true, 'feminine ordinal indicator'], + ['º', 'º', true, 'masculine ordinal indicator'], + ['†', '†', true, 'dagger'], + ['‡', '‡', true, 'double dagger'], +// alphabetical special chars + ['À', 'À', true, 'A - grave'], + ['Á', 'Á', true, 'A - acute'], + ['Â', 'Â', true, 'A - circumflex'], + ['Ã', 'Ã', true, 'A - tilde'], + ['Ä', 'Ä', true, 'A - diaeresis'], + ['Å', 'Å', true, 'A - ring above'], + ['Æ', 'Æ', true, 'ligature AE'], + ['Ç', 'Ç', true, 'C - cedilla'], + ['È', 'È', true, 'E - grave'], + ['É', 'É', true, 'E - acute'], + ['Ê', 'Ê', true, 'E - circumflex'], + ['Ë', 'Ë', true, 'E - diaeresis'], + ['Ì', 'Ì', true, 'I - grave'], + ['Í', 'Í', true, 'I - acute'], + ['Î', 'Î', true, 'I - circumflex'], + ['Ï', 'Ï', true, 'I - diaeresis'], + ['Ð', 'Ð', true, 'ETH'], + ['Ñ', 'Ñ', true, 'N - tilde'], + ['Ò', 'Ò', true, 'O - grave'], + ['Ó', 'Ó', true, 'O - acute'], + ['Ô', 'Ô', true, 'O - circumflex'], + ['Õ', 'Õ', true, 'O - tilde'], + ['Ö', 'Ö', true, 'O - diaeresis'], + ['Ø', 'Ø', true, 'O - slash'], + ['Œ', 'Œ', true, 'ligature OE'], + ['Š', 'Š', true, 'S - caron'], + ['Ù', 'Ù', true, 'U - grave'], + ['Ú', 'Ú', true, 'U - acute'], + ['Û', 'Û', true, 'U - circumflex'], + ['Ü', 'Ü', true, 'U - diaeresis'], + ['Ý', 'Ý', true, 'Y - acute'], + ['Ÿ', 'Ÿ', true, 'Y - diaeresis'], + ['Þ', 'Þ', true, 'THORN'], + ['à', 'à', true, 'a - grave'], + ['á', 'á', true, 'a - acute'], + ['â', 'â', true, 'a - circumflex'], + ['ã', 'ã', true, 'a - tilde'], + ['ä', 'ä', true, 'a - diaeresis'], + ['å', 'å', true, 'a - ring above'], + ['æ', 'æ', true, 'ligature ae'], + ['ç', 'ç', true, 'c - cedilla'], + ['è', 'è', true, 'e - grave'], + ['é', 'é', true, 'e - acute'], + ['ê', 'ê', true, 'e - circumflex'], + ['ë', 'ë', true, 'e - diaeresis'], + ['ì', 'ì', true, 'i - grave'], + ['í', 'í', true, 'i - acute'], + ['î', 'î', true, 'i - circumflex'], + ['ï', 'ï', true, 'i - diaeresis'], + ['ð', 'ð', true, 'eth'], + ['ñ', 'ñ', true, 'n - tilde'], + ['ò', 'ò', true, 'o - grave'], + ['ó', 'ó', true, 'o - acute'], + ['ô', 'ô', true, 'o - circumflex'], + ['õ', 'õ', true, 'o - tilde'], + ['ö', 'ö', true, 'o - diaeresis'], + ['ø', 'ø', true, 'o slash'], + ['œ', 'œ', true, 'ligature oe'], + ['š', 'š', true, 's - caron'], + ['ù', 'ù', true, 'u - grave'], + ['ú', 'ú', true, 'u - acute'], + ['û', 'û', true, 'u - circumflex'], + ['ü', 'ü', true, 'u - diaeresis'], + ['ý', 'ý', true, 'y - acute'], + ['þ', 'þ', true, 'thorn'], + ['ÿ', 'ÿ', true, 'y - diaeresis'], + ['Α', 'Α', true, 'Alpha'], + ['Β', 'Β', true, 'Beta'], + ['Γ', 'Γ', true, 'Gamma'], + ['Δ', 'Δ', true, 'Delta'], + ['Ε', 'Ε', true, 'Epsilon'], + ['Ζ', 'Ζ', true, 'Zeta'], + ['Η', 'Η', true, 'Eta'], + ['Θ', 'Θ', true, 'Theta'], + ['Ι', 'Ι', true, 'Iota'], + ['Κ', 'Κ', true, 'Kappa'], + ['Λ', 'Λ', true, 'Lambda'], + ['Μ', 'Μ', true, 'Mu'], + ['Ν', 'Ν', true, 'Nu'], + ['Ξ', 'Ξ', true, 'Xi'], + ['Ο', 'Ο', true, 'Omicron'], + ['Π', 'Π', true, 'Pi'], + ['Ρ', 'Ρ', true, 'Rho'], + ['Σ', 'Σ', true, 'Sigma'], + ['Τ', 'Τ', true, 'Tau'], + ['Υ', 'Υ', true, 'Upsilon'], + ['Φ', 'Φ', true, 'Phi'], + ['Χ', 'Χ', true, 'Chi'], + ['Ψ', 'Ψ', true, 'Psi'], + ['Ω', 'Ω', true, 'Omega'], + ['α', 'α', true, 'alpha'], + ['β', 'β', true, 'beta'], + ['γ', 'γ', true, 'gamma'], + ['δ', 'δ', true, 'delta'], + ['ε', 'ε', true, 'epsilon'], + ['ζ', 'ζ', true, 'zeta'], + ['η', 'η', true, 'eta'], + ['θ', 'θ', true, 'theta'], + ['ι', 'ι', true, 'iota'], + ['κ', 'κ', true, 'kappa'], + ['λ', 'λ', true, 'lambda'], + ['μ', 'μ', true, 'mu'], + ['ν', 'ν', true, 'nu'], + ['ξ', 'ξ', true, 'xi'], + ['ο', 'ο', true, 'omicron'], + ['π', 'π', true, 'pi'], + ['ρ', 'ρ', true, 'rho'], + ['ς', 'ς', true, 'final sigma'], + ['σ', 'σ', true, 'sigma'], + ['τ', 'τ', true, 'tau'], + ['υ', 'υ', true, 'upsilon'], + ['φ', 'φ', true, 'phi'], + ['χ', 'χ', true, 'chi'], + ['ψ', 'ψ', true, 'psi'], + ['ω', 'ω', true, 'omega'], +// symbols + ['ℵ', 'ℵ', false,'alef symbol'], + ['ϖ', 'ϖ', false,'pi symbol'], + ['ℜ', 'ℜ', false,'real part symbol'], + ['ϑ','ϑ', false,'theta symbol'], + ['ϒ', 'ϒ', false,'upsilon - hook symbol'], + ['℘', '℘', false,'Weierstrass p'], + ['ℑ', 'ℑ', false,'imaginary part'], +// arrows + ['←', '←', true, 'leftwards arrow'], + ['↑', '↑', true, 'upwards arrow'], + ['→', '→', true, 'rightwards arrow'], + ['↓', '↓', true, 'downwards arrow'], + ['↔', '↔', true, 'left right arrow'], + ['↵', '↵', false,'carriage return'], + ['⇐', '⇐', false,'leftwards double arrow'], + ['⇑', '⇑', false,'upwards double arrow'], + ['⇒', '⇒', false,'rightwards double arrow'], + ['⇓', '⇓', false,'downwards double arrow'], + ['⇔', '⇔', false,'left right double arrow'], + ['∴', '∴', false,'therefore'], + ['⊂', '⊂', false,'subset of'], + ['⊃', '⊃', false,'superset of'], + ['⊄', '⊄', false,'not a subset of'], + ['⊆', '⊆', false,'subset of or equal to'], + ['⊇', '⊇', false,'superset of or equal to'], + ['⊕', '⊕', false,'circled plus'], + ['⊗', '⊗', false,'circled times'], + ['⊥', '⊥', false,'perpendicular'], + ['⋅', '⋅', false,'dot operator'], + ['⌈', '⌈', false,'left ceiling'], + ['⌉', '⌉', false,'right ceiling'], + ['⌊', '⌊', false,'left floor'], + ['⌋', '⌋', false,'right floor'], + ['⟨', '〈', false,'left-pointing angle bracket'], + ['⟩', '〉', false,'right-pointing angle bracket'], + ['◊', '◊', true,'lozenge'], + ['♠', '♠', false,'black spade suit'], + ['♣', '♣', true, 'black club suit'], + ['♥', '♥', true, 'black heart suit'], + ['♦', '♦', true, 'black diamond suit'], + [' ', ' ', false,'en space'], + [' ', ' ', false,'em space'], + [' ', ' ', false,'thin space'], + ['‌', '‌', false,'zero width non-joiner'], + ['‍', '‍', false,'zero width joiner'], + ['‎', '‎', false,'left-to-right mark'], + ['‏', '‏', false,'right-to-left mark'], + ['­', '­', false,'soft hyphen'] +]; + +tinyMCEPopup.onInit.add(function() { + tinyMCEPopup.dom.setHTML('charmapView', renderCharMapHTML()); +}); + +function renderCharMapHTML() { + var charsPerRow = 20, tdWidth=20, tdHeight=20, i; + var html = ''; + var cols=-1; + + for (i=0; i' + + '' + + charmap[i][1] + + ''; + if ((cols+1) % charsPerRow == 0) + html += ''; + } + } + + if (cols % charsPerRow > 0) { + var padd = charsPerRow - (cols % charsPerRow); + for (var i=0; i '; + } + + html += '
    '; + + return html; +} + +function insertChar(chr) { + tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';'); + + // Refocus in window + if (tinyMCEPopup.isWindow) + window.focus(); + + tinyMCEPopup.editor.focus(); + tinyMCEPopup.close(); +} + +function previewChar(codeA, codeB, codeN) { + var elmA = document.getElementById('codeA'); + var elmB = document.getElementById('codeB'); + var elmV = document.getElementById('codeV'); + var elmN = document.getElementById('codeN'); + + if (codeA=='#160;') { + elmV.innerHTML = '__'; + } else { + elmV.innerHTML = '&' + codeA; + } + + elmB.innerHTML = '&' + codeA; + elmA.innerHTML = '&' + codeB; + elmN.innerHTML = codeN; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/color_picker.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/color_picker.js new file mode 100644 index 0000000000..da833dc94b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/color_picker.js @@ -0,0 +1,245 @@ +tinyMCEPopup.requireLangPack(); + +var detail = 50, strhex = "0123456789abcdef", i, isMouseDown = false, isMouseOver = false; + +var colors = [ + "#000000","#000033","#000066","#000099","#0000cc","#0000ff","#330000","#330033", + "#330066","#330099","#3300cc","#3300ff","#660000","#660033","#660066","#660099", + "#6600cc","#6600ff","#990000","#990033","#990066","#990099","#9900cc","#9900ff", + "#cc0000","#cc0033","#cc0066","#cc0099","#cc00cc","#cc00ff","#ff0000","#ff0033", + "#ff0066","#ff0099","#ff00cc","#ff00ff","#003300","#003333","#003366","#003399", + "#0033cc","#0033ff","#333300","#333333","#333366","#333399","#3333cc","#3333ff", + "#663300","#663333","#663366","#663399","#6633cc","#6633ff","#993300","#993333", + "#993366","#993399","#9933cc","#9933ff","#cc3300","#cc3333","#cc3366","#cc3399", + "#cc33cc","#cc33ff","#ff3300","#ff3333","#ff3366","#ff3399","#ff33cc","#ff33ff", + "#006600","#006633","#006666","#006699","#0066cc","#0066ff","#336600","#336633", + "#336666","#336699","#3366cc","#3366ff","#666600","#666633","#666666","#666699", + "#6666cc","#6666ff","#996600","#996633","#996666","#996699","#9966cc","#9966ff", + "#cc6600","#cc6633","#cc6666","#cc6699","#cc66cc","#cc66ff","#ff6600","#ff6633", + "#ff6666","#ff6699","#ff66cc","#ff66ff","#009900","#009933","#009966","#009999", + "#0099cc","#0099ff","#339900","#339933","#339966","#339999","#3399cc","#3399ff", + "#669900","#669933","#669966","#669999","#6699cc","#6699ff","#999900","#999933", + "#999966","#999999","#9999cc","#9999ff","#cc9900","#cc9933","#cc9966","#cc9999", + "#cc99cc","#cc99ff","#ff9900","#ff9933","#ff9966","#ff9999","#ff99cc","#ff99ff", + "#00cc00","#00cc33","#00cc66","#00cc99","#00cccc","#00ccff","#33cc00","#33cc33", + "#33cc66","#33cc99","#33cccc","#33ccff","#66cc00","#66cc33","#66cc66","#66cc99", + "#66cccc","#66ccff","#99cc00","#99cc33","#99cc66","#99cc99","#99cccc","#99ccff", + "#cccc00","#cccc33","#cccc66","#cccc99","#cccccc","#ccccff","#ffcc00","#ffcc33", + "#ffcc66","#ffcc99","#ffcccc","#ffccff","#00ff00","#00ff33","#00ff66","#00ff99", + "#00ffcc","#00ffff","#33ff00","#33ff33","#33ff66","#33ff99","#33ffcc","#33ffff", + "#66ff00","#66ff33","#66ff66","#66ff99","#66ffcc","#66ffff","#99ff00","#99ff33", + "#99ff66","#99ff99","#99ffcc","#99ffff","#ccff00","#ccff33","#ccff66","#ccff99", + "#ccffcc","#ccffff","#ffff00","#ffff33","#ffff66","#ffff99","#ffffcc","#ffffff" +]; + +var named = { + '#F0F8FF':'AliceBlue','#FAEBD7':'AntiqueWhite','#00FFFF':'Aqua','#7FFFD4':'Aquamarine','#F0FFFF':'Azure','#F5F5DC':'Beige', + '#FFE4C4':'Bisque','#000000':'Black','#FFEBCD':'BlanchedAlmond','#0000FF':'Blue','#8A2BE2':'BlueViolet','#A52A2A':'Brown', + '#DEB887':'BurlyWood','#5F9EA0':'CadetBlue','#7FFF00':'Chartreuse','#D2691E':'Chocolate','#FF7F50':'Coral','#6495ED':'CornflowerBlue', + '#FFF8DC':'Cornsilk','#DC143C':'Crimson','#00FFFF':'Cyan','#00008B':'DarkBlue','#008B8B':'DarkCyan','#B8860B':'DarkGoldenRod', + '#A9A9A9':'DarkGray','#A9A9A9':'DarkGrey','#006400':'DarkGreen','#BDB76B':'DarkKhaki','#8B008B':'DarkMagenta','#556B2F':'DarkOliveGreen', + '#FF8C00':'Darkorange','#9932CC':'DarkOrchid','#8B0000':'DarkRed','#E9967A':'DarkSalmon','#8FBC8F':'DarkSeaGreen','#483D8B':'DarkSlateBlue', + '#2F4F4F':'DarkSlateGray','#2F4F4F':'DarkSlateGrey','#00CED1':'DarkTurquoise','#9400D3':'DarkViolet','#FF1493':'DeepPink','#00BFFF':'DeepSkyBlue', + '#696969':'DimGray','#696969':'DimGrey','#1E90FF':'DodgerBlue','#B22222':'FireBrick','#FFFAF0':'FloralWhite','#228B22':'ForestGreen', + '#FF00FF':'Fuchsia','#DCDCDC':'Gainsboro','#F8F8FF':'GhostWhite','#FFD700':'Gold','#DAA520':'GoldenRod','#808080':'Gray','#808080':'Grey', + '#008000':'Green','#ADFF2F':'GreenYellow','#F0FFF0':'HoneyDew','#FF69B4':'HotPink','#CD5C5C':'IndianRed','#4B0082':'Indigo','#FFFFF0':'Ivory', + '#F0E68C':'Khaki','#E6E6FA':'Lavender','#FFF0F5':'LavenderBlush','#7CFC00':'LawnGreen','#FFFACD':'LemonChiffon','#ADD8E6':'LightBlue', + '#F08080':'LightCoral','#E0FFFF':'LightCyan','#FAFAD2':'LightGoldenRodYellow','#D3D3D3':'LightGray','#D3D3D3':'LightGrey','#90EE90':'LightGreen', + '#FFB6C1':'LightPink','#FFA07A':'LightSalmon','#20B2AA':'LightSeaGreen','#87CEFA':'LightSkyBlue','#778899':'LightSlateGray','#778899':'LightSlateGrey', + '#B0C4DE':'LightSteelBlue','#FFFFE0':'LightYellow','#00FF00':'Lime','#32CD32':'LimeGreen','#FAF0E6':'Linen','#FF00FF':'Magenta','#800000':'Maroon', + '#66CDAA':'MediumAquaMarine','#0000CD':'MediumBlue','#BA55D3':'MediumOrchid','#9370D8':'MediumPurple','#3CB371':'MediumSeaGreen','#7B68EE':'MediumSlateBlue', + '#00FA9A':'MediumSpringGreen','#48D1CC':'MediumTurquoise','#C71585':'MediumVioletRed','#191970':'MidnightBlue','#F5FFFA':'MintCream','#FFE4E1':'MistyRose','#FFE4B5':'Moccasin', + '#FFDEAD':'NavajoWhite','#000080':'Navy','#FDF5E6':'OldLace','#808000':'Olive','#6B8E23':'OliveDrab','#FFA500':'Orange','#FF4500':'OrangeRed','#DA70D6':'Orchid', + '#EEE8AA':'PaleGoldenRod','#98FB98':'PaleGreen','#AFEEEE':'PaleTurquoise','#D87093':'PaleVioletRed','#FFEFD5':'PapayaWhip','#FFDAB9':'PeachPuff', + '#CD853F':'Peru','#FFC0CB':'Pink','#DDA0DD':'Plum','#B0E0E6':'PowderBlue','#800080':'Purple','#FF0000':'Red','#BC8F8F':'RosyBrown','#4169E1':'RoyalBlue', + '#8B4513':'SaddleBrown','#FA8072':'Salmon','#F4A460':'SandyBrown','#2E8B57':'SeaGreen','#FFF5EE':'SeaShell','#A0522D':'Sienna','#C0C0C0':'Silver', + '#87CEEB':'SkyBlue','#6A5ACD':'SlateBlue','#708090':'SlateGray','#708090':'SlateGrey','#FFFAFA':'Snow','#00FF7F':'SpringGreen', + '#4682B4':'SteelBlue','#D2B48C':'Tan','#008080':'Teal','#D8BFD8':'Thistle','#FF6347':'Tomato','#40E0D0':'Turquoise','#EE82EE':'Violet', + '#F5DEB3':'Wheat','#FFFFFF':'White','#F5F5F5':'WhiteSmoke','#FFFF00':'Yellow','#9ACD32':'YellowGreen' +}; + +function init() { + var inputColor = convertRGBToHex(tinyMCEPopup.getWindowArg('input_color')); + + tinyMCEPopup.resizeToInnerSize(); + + generatePicker(); + + if (inputColor) { + changeFinalColor(inputColor); + + col = convertHexToRGB(inputColor); + + if (col) + updateLight(col.r, col.g, col.b); + } +} + +function insertAction() { + var color = document.getElementById("color").value, f = tinyMCEPopup.getWindowArg('func'); + + tinyMCEPopup.restoreSelection(); + + if (f) + f(color); + + tinyMCEPopup.close(); +} + +function showColor(color, name) { + if (name) + document.getElementById("colorname").innerHTML = name; + + document.getElementById("preview").style.backgroundColor = color; + document.getElementById("color").value = color.toLowerCase(); +} + +function convertRGBToHex(col) { + var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi"); + + if (!col) + return col; + + var rgb = col.replace(re, "$1,$2,$3").split(','); + if (rgb.length == 3) { + r = parseInt(rgb[0]).toString(16); + g = parseInt(rgb[1]).toString(16); + b = parseInt(rgb[2]).toString(16); + + r = r.length == 1 ? '0' + r : r; + g = g.length == 1 ? '0' + g : g; + b = b.length == 1 ? '0' + b : b; + + return "#" + r + g + b; + } + + return col; +} + +function convertHexToRGB(col) { + if (col.indexOf('#') != -1) { + col = col.replace(new RegExp('[^0-9A-F]', 'gi'), ''); + + r = parseInt(col.substring(0, 2), 16); + g = parseInt(col.substring(2, 4), 16); + b = parseInt(col.substring(4, 6), 16); + + return {r : r, g : g, b : b}; + } + + return null; +} + +function generatePicker() { + var el = document.getElementById('light'), h = '', i; + + for (i = 0; i < detail; i++){ + h += '
    '; + } + + el.innerHTML = h; +} + +function generateWebColors() { + var el = document.getElementById('webcolors'), h = '', i; + + if (el.className == 'generated') + return; + + h += '' + + ''; + + for (i=0; i' + + '' + + ''; + if ((i+1) % 18 == 0) + h += ''; + } + + h += '
    '; + + el.innerHTML = h; + el.className = 'generated'; +} + +function generateNamedColors() { + var el = document.getElementById('namedcolors'), h = '', n, v, i = 0; + + if (el.className == 'generated') + return; + + for (n in named) { + v = named[n]; + h += '' + } + + el.innerHTML = h; + el.className = 'generated'; +} + +function dechex(n) { + return strhex.charAt(Math.floor(n / 16)) + strhex.charAt(n % 16); +} + +function computeColor(e) { + var x, y, partWidth, partDetail, imHeight, r, g, b, coef, i, finalCoef, finalR, finalG, finalB; + + x = e.offsetX ? e.offsetX : (e.target ? e.clientX - e.target.x : 0); + y = e.offsetY ? e.offsetY : (e.target ? e.clientY - e.target.y : 0); + + partWidth = document.getElementById('colors').width / 6; + partDetail = detail / 2; + imHeight = document.getElementById('colors').height; + + r = (x >= 0)*(x < partWidth)*255 + (x >= partWidth)*(x < 2*partWidth)*(2*255 - x * 255 / partWidth) + (x >= 4*partWidth)*(x < 5*partWidth)*(-4*255 + x * 255 / partWidth) + (x >= 5*partWidth)*(x < 6*partWidth)*255; + g = (x >= 0)*(x < partWidth)*(x * 255 / partWidth) + (x >= partWidth)*(x < 3*partWidth)*255 + (x >= 3*partWidth)*(x < 4*partWidth)*(4*255 - x * 255 / partWidth); + b = (x >= 2*partWidth)*(x < 3*partWidth)*(-2*255 + x * 255 / partWidth) + (x >= 3*partWidth)*(x < 5*partWidth)*255 + (x >= 5*partWidth)*(x < 6*partWidth)*(6*255 - x * 255 / partWidth); + + coef = (imHeight - y) / imHeight; + r = 128 + (r - 128) * coef; + g = 128 + (g - 128) * coef; + b = 128 + (b - 128) * coef; + + changeFinalColor('#' + dechex(r) + dechex(g) + dechex(b)); + updateLight(r, g, b); +} + +function updateLight(r, g, b) { + var i, partDetail = detail / 2, finalCoef, finalR, finalG, finalB, color; + + for (i=0; i=0) && (i'); + }, + + init : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor; + + // Setup browse button + document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_standard_image'); + if (isVisible('srcbrowser')) + document.getElementById('src').style.width = '180px'; + + e = ed.selection.getNode(); + + this.fillFileList('image_list', 'tinyMCEImageList'); + + if (e.nodeName == 'IMG') { + f.src.value = ed.dom.getAttrib(e, 'src'); + f.alt.value = ed.dom.getAttrib(e, 'alt'); + f.border.value = this.getAttrib(e, 'border'); + f.vspace.value = this.getAttrib(e, 'vspace'); + f.hspace.value = this.getAttrib(e, 'hspace'); + f.width.value = ed.dom.getAttrib(e, 'width'); + f.height.value = ed.dom.getAttrib(e, 'height'); + f.insert.value = ed.getLang('update'); + this.styleVal = ed.dom.getAttrib(e, 'style'); + selectByValue(f, 'image_list', f.src.value); + selectByValue(f, 'align', this.getAttrib(e, 'align')); + this.updateStyle(); + } + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + update : function() { + var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, args = {}, el; + + tinyMCEPopup.restoreSelection(); + + if (f.src.value === '') { + if (ed.selection.getNode().nodeName == 'IMG') { + ed.dom.remove(ed.selection.getNode()); + ed.execCommand('mceRepaint'); + } + + tinyMCEPopup.close(); + return; + } + + if (!ed.settings.inline_styles) { + args = tinymce.extend(args, { + vspace : nl.vspace.value, + hspace : nl.hspace.value, + border : nl.border.value, + align : getSelectValue(f, 'align') + }); + } else + args.style = this.styleVal; + + tinymce.extend(args, { + src : f.src.value, + alt : f.alt.value, + width : f.width.value, + height : f.height.value + }); + + el = ed.selection.getNode(); + + if (el && el.nodeName == 'IMG') { + ed.dom.setAttribs(el, args); + } else { + ed.execCommand('mceInsertContent', false, '', {skip_undo : 1}); + ed.dom.setAttribs('__mce_tmp', args); + ed.dom.setAttrib('__mce_tmp', 'id', ''); + ed.undoManager.add(); + } + + tinyMCEPopup.close(); + }, + + updateStyle : function() { + var dom = tinyMCEPopup.dom, st, v, f = document.forms[0]; + + if (tinyMCEPopup.editor.settings.inline_styles) { + st = tinyMCEPopup.dom.parseStyle(this.styleVal); + + // Handle align + v = getSelectValue(f, 'align'); + if (v) { + if (v == 'left' || v == 'right') { + st['float'] = v; + delete st['vertical-align']; + } else { + st['vertical-align'] = v; + delete st['float']; + } + } else { + delete st['float']; + delete st['vertical-align']; + } + + // Handle border + v = f.border.value; + if (v || v == '0') { + if (v == '0') + st['border'] = '0'; + else + st['border'] = v + 'px solid black'; + } else + delete st['border']; + + // Handle hspace + v = f.hspace.value; + if (v) { + delete st['margin']; + st['margin-left'] = v + 'px'; + st['margin-right'] = v + 'px'; + } else { + delete st['margin-left']; + delete st['margin-right']; + } + + // Handle vspace + v = f.vspace.value; + if (v) { + delete st['margin']; + st['margin-top'] = v + 'px'; + st['margin-bottom'] = v + 'px'; + } else { + delete st['margin-top']; + delete st['margin-bottom']; + } + + // Merge + st = tinyMCEPopup.dom.parseStyle(dom.serializeStyle(st)); + this.styleVal = dom.serializeStyle(st); + } + }, + + getAttrib : function(e, at) { + var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2; + + if (ed.settings.inline_styles) { + switch (at) { + case 'align': + if (v = dom.getStyle(e, 'float')) + return v; + + if (v = dom.getStyle(e, 'vertical-align')) + return v; + + break; + + case 'hspace': + v = dom.getStyle(e, 'margin-left') + v2 = dom.getStyle(e, 'margin-right'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'vspace': + v = dom.getStyle(e, 'margin-top') + v2 = dom.getStyle(e, 'margin-bottom'); + if (v && v == v2) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + + case 'border': + v = 0; + + tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) { + sv = dom.getStyle(e, 'border-' + sv + '-width'); + + // False or not the same as prev + if (!sv || (sv != v && v !== 0)) { + v = 0; + return false; + } + + if (sv) + v = sv; + }); + + if (v) + return parseInt(v.replace(/[^0-9]/g, '')); + + break; + } + } + + if (v = dom.getAttrib(e, at)) + return v; + + return ''; + }, + + resetImageData : function() { + var f = document.forms[0]; + + f.width.value = f.height.value = ""; + }, + + updateImageData : function() { + var f = document.forms[0], t = ImageDialog; + + if (f.width.value == "") + f.width.value = t.preloadImg.width; + + if (f.height.value == "") + f.height.value = t.preloadImg.height; + }, + + getImageData : function() { + var f = document.forms[0]; + + this.preloadImg = new Image(); + this.preloadImg.onload = this.updateImageData; + this.preloadImg.onerror = this.resetImageData; + this.preloadImg.src = tinyMCEPopup.editor.documentBaseURI.toAbsolute(f.src.value); + } +}; + +ImageDialog.preInit(); +tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/link.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/link.js new file mode 100644 index 0000000000..39dae4d155 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/link.js @@ -0,0 +1,155 @@ +tinyMCEPopup.requireLangPack(); + +var LinkDialog = { + preInit : function() { + var url; + + if (url = tinyMCEPopup.getParam("external_link_list_url")) + document.write(''); + }, + + init : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor; + + // Setup browse button + document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser', 'href', 'file', 'theme_standard_link'); + if (isVisible('hrefbrowser')) + document.getElementById('href').style.width = '180px'; + + this.fillClassList('class_list'); + this.fillFileList('link_list', 'tinyMCELinkList'); + this.fillTargetList('target_list'); + + if (e = ed.dom.getParent(ed.selection.getNode(), 'A')) { + f.href.value = ed.dom.getAttrib(e, 'href'); + f.linktitle.value = ed.dom.getAttrib(e, 'title'); + f.insert.value = ed.getLang('update'); + selectByValue(f, 'link_list', f.href.value); + selectByValue(f, 'target_list', ed.dom.getAttrib(e, 'target')); + selectByValue(f, 'class_list', ed.dom.getAttrib(e, 'class')); + } + }, + + update : function() { + var f = document.forms[0], ed = tinyMCEPopup.editor, e, b; + + tinyMCEPopup.restoreSelection(); + e = ed.dom.getParent(ed.selection.getNode(), 'A'); + + // Remove element if there is no href + if (!f.href.value) { + if (e) { + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + b = ed.selection.getBookmark(); + ed.dom.remove(e, 1); + ed.selection.moveToBookmark(b); + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + return; + } + } + + tinyMCEPopup.execCommand("mceBeginUndoLevel"); + + // Create new anchor elements + if (e == null) { + tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1}); + + tinymce.each(ed.dom.select("a"), function(n) { + if (ed.dom.getAttrib(n, 'href') == '#mce_temp_url#') { + e = n; + + ed.dom.setAttribs(e, { + href : f.href.value, + title : f.linktitle.value, + target : f.target_list ? f.target_list.options[f.target_list.selectedIndex].value : null, + 'class' : f.class_list ? f.class_list.options[f.class_list.selectedIndex].value : null + }); + } + }); + } else { + ed.dom.setAttribs(e, { + href : f.href.value, + title : f.linktitle.value, + target : f.target_list ? f.target_list.options[f.target_list.selectedIndex].value : null, + 'class' : f.class_list ? f.class_list.options[f.class_list.selectedIndex].value : null + }); + } + + // Don't move caret if selection was image + if (e.childNodes.length != 1 || e.firstChild.nodeName != 'IMG') { + ed.focus(); + ed.selection.select(e); + ed.selection.collapse(0); + tinyMCEPopup.storeSelection(); + } + + tinyMCEPopup.execCommand("mceEndUndoLevel"); + tinyMCEPopup.close(); + }, + + checkPrefix : function(n) { + if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('standard_dlg.link_is_email'))) + n.value = 'mailto:' + n.value; + + if (/^\s*www./i.test(n.value) && confirm(tinyMCEPopup.getLang('standard_dlg.link_is_external'))) + n.value = 'http://' + n.value; + }, + + fillFileList : function(id, l) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + l = window[l]; + + if (l && l.length > 0) { + lst.options[lst.options.length] = new Option('', ''); + + tinymce.each(l, function(o) { + lst.options[lst.options.length] = new Option(o[0], o[1]); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillClassList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl; + + if (v = tinyMCEPopup.getParam('theme_standard_styles')) { + cl = []; + + tinymce.each(v.split(';'), function(v) { + var p = v.split('='); + + cl.push({'title' : p[0], 'class' : p[1]}); + }); + } else + cl = tinyMCEPopup.editor.dom.getClasses(); + + if (cl.length > 0) { + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + + tinymce.each(cl, function(o) { + lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']); + }); + } else + dom.remove(dom.getParent(id, 'tr')); + }, + + fillTargetList : function(id) { + var dom = tinyMCEPopup.dom, lst = dom.get(id), v; + + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), ''); + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('standard_dlg.link_target_same'), '_self'); + lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('standard_dlg.link_target_blank'), '_blank'); + + if (v = tinyMCEPopup.getParam('theme_standard_link_targets')) { + tinymce.each(v.split(','), function(v) { + v = v.split('='); + lst.options[lst.options.length] = new Option(v[0], v[1]); + }); + } + } +}; + +LinkDialog.preInit(); +tinyMCEPopup.onInit.add(LinkDialog.init, LinkDialog); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/source_editor.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/source_editor.js new file mode 100644 index 0000000000..fe6dcba7a5 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/js/source_editor.js @@ -0,0 +1,62 @@ +tinyMCEPopup.requireLangPack(); +tinyMCEPopup.onInit.add(onLoadInit); + +function saveContent() { + tinyMCEPopup.editor.setContent(document.getElementById('htmlSource').value); + tinyMCEPopup.close(); +} + +function onLoadInit() { + tinyMCEPopup.resizeToInnerSize(); + + // Remove Gecko spellchecking + if (tinymce.isGecko) + document.body.spellcheck = tinyMCEPopup.editor.getParam("gecko_spellcheck"); + + document.getElementById('htmlSource').value = tinyMCEPopup.editor.getContent(); + + if (tinyMCEPopup.editor.getParam("theme_standard_source_editor_wrap", true)) { + setWrap('soft'); + document.getElementById('wraped').checked = true; + } + + resizeInputs(); +} + +function setWrap(val) { + var v, n, s = document.getElementById('htmlSource'); + + s.wrap = val; + + if (!tinymce.isIE) { + v = s.value; + n = s.cloneNode(false); + n.setAttribute("wrap", val); + s.parentNode.replaceChild(n, s); + n.value = v; + } +} + +function toggleWordWrap(elm) { + if (elm.checked) + setWrap('soft'); + else + setWrap('off'); +} + +var wHeight=0, wWidth=0, owHeight=0, owWidth=0; + +function resizeInputs() { + var el = document.getElementById('htmlSource'); + + if (!tinymce.isIE) { + wHeight = self.innerHeight - 65; + wWidth = self.innerWidth - 16; + } else { + wHeight = document.body.clientHeight - 70; + wWidth = document.body.clientWidth - 16; + } + + el.style.height = Math.abs(wHeight) + 'px'; + el.style.width = Math.abs(wWidth) + 'px'; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ar.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ar.js new file mode 100644 index 0000000000..b837601449 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ar.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('ar.standard',{ +style_select:"Lang", +font_size:"\u062D\u062C\u0645 \u0627\u0644\u062E\u0637", +fontdefault:"\u0646\u0648\u0639 \u0627\u0644\u062E\u0637", +block:"\u062A\u0646\u0633\u064A\u0642", +paragraph:"\u0641\u0642\u0631\u0629", +div:"Div", +address:"\u0639\u0646\u0648\u0627\u0646", +pre:"Preformatted", +h1:"\u0639\u0646\u0648\u0627\u0646 1", +h2:"\u0639\u0646\u0648\u0627\u0646 2", +h3:"\u0639\u0646\u0648\u0627\u0646 3", +h4:"\u0639\u0646\u0648\u0627\u0646 4", +h5:"\u0639\u0646\u0648\u0627\u0646 5", +h6:"\u0639\u0646\u0648\u0627\u0646 6", +blockquote:"Blockquote", +code:"\u0643\u0648\u062F", +samp:"\u0643\u0648\u062F \u0628\u0633\u064A\u0637", +dt:"Definition term ", +dd:"Definition description", +bold_desc:"\u0639\u0631\u064A\u0636 (Ctrl+B)", +italic_desc:"\u0645\u0627\u0626\u0644 (Ctrl+I)", +underline_desc:"\u062A\u062D\u062A\u0647 \u062E\u0637 (Ctrl+U)", +striketrough_desc:"\u064A\u062A\u0648\u0633\u0637\u0629 \u062E\u0637", +justifyleft_desc:"\u0645\u062D\u0627\u0630\u0627\u0629 \u0644\u0644\u064A\u0633\u0627\u0631", +justifycenter_desc:"\u0645\u062D\u0627\u0630\u0627\u0629 \u0644\u0644\u0648\u0633\u0637", +justifyright_desc:"\u0645\u062D\u0627\u0630\u0627\u0629 \u064A\u0645\u064A\u0646", +justifyfull_desc:"\u0636\u0628\u0637", +bullist_desc:"\u062A\u0639\u062F\u0627\u062F \u0646\u0642\u0637\u064A", +numlist_desc:"\u062A\u0639\u062F\u0627\u062F \u0631\u0642\u0645\u064A", +outdent_desc:"\u0625\u0646\u0642\u0627\u0635 \u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0627\u0644\u0628\u0627\u062F\u0626\u0629", +indent_desc:"\u0632\u064A\u0627\u062F\u0629 \u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0627\u0644\u0628\u0627\u062F\u0626\u0629", +undo_desc:"\u062A\u0631\u0627\u062C\u0639 (Ctrl+Z)", +redo_desc:"\u0625\u0639\u0627\u062F\u0629 (Ctrl+Y)", +link_desc:"\u0625\u062F\u0631\u0627\u062C/\u062A\u062D\u0631\u064A\u0631 \u0631\u0627\u0628\u0637", +unlink_desc:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0631\u0627\u0628\u0637", +image_desc:"\u0625\u062F\u0631\u0627\u062C/\u062A\u062D\u0631\u064A\u0631 \u0635\u0648\u0631\u0629", +cleanup_desc:"\u062A\u0646\u0636\u064A\u0641 \u0627\u0644\u0623\u0643\u0648\u0627\u062F \u0627\u0644\u062E\u0627\u0637\u0626\u0629", +code_desc:"\u062A\u062D\u0631\u064A\u0631 \u0643\u0648\u062F HTML", +sub_desc:"\u0623\u0633\u0641\u0644 \u0627\u0644\u0646\u0635", +sup_desc:"\u0623\u0639\u0644\u0649 \u0627\u0644\u0646\u0635", +hr_desc:"\u0625\u062F\u0631\u0627\u062C \u062E\u0637 \u0627\u0641\u0642\u064A", +removeformat_desc:"\u0645\u0633\u062D \u0627\u0644\u062A\u0646\u0633\u064A\u0642\u0627\u062A", +custom1_desc:"Your custom description here", +forecolor_desc:"\u062D\u062F\u062F \u0644\u0648\u0646 \u0627\u0644\u0646\u0635", +backcolor_desc:"\u062D\u062F\u062F \u0644\u0648\u0646 \u0627\u0644\u062E\u0644\u0641\u064A\u0629", +charmap_desc:"\u0625\u062F\u0627\u0631\u062C \u062D\u0631\u0641 \u0645\u062E\u0635\u0635", +visualaid_desc:"Toggle guidelines/invisible elements", +anchor_desc:"\u0625\u062F\u0631\u0627\u062C/\u062A\u062D\u0631\u064A\u0631 \u0639\u0644\u0627\u0645\u0629", +cut_desc:"\u0642\u0635", +copy_desc:"\u0646\u0633\u062E", +paste_desc:"\u0644\u0635\u0642", +image_props_desc:"\u062E\u0635\u0627\u0626\u0635 \u0627\u0644\u0635\u0648\u0631\u0629", +newdocument_desc:"\u0645\u0633\u062A\u0646\u062F \u062C\u062F\u064A\u062F", +help_desc:"\u0645\u0633\u0627\u0639\u062F\u0629", +blockquote_desc:"Blockquote", +clipboard_msg:"\u0646\u0633\u062E/\u0642\u0635/\u0644\u0635\u0642 \u063A\u064A\u0631 \u0645\u062A\u0648\u0641\u0631\u0629 \u0644\u0645\u062A\u0635\u0641\u062D Mozilla \u0648 Firefox.\n\u0647\u0644 \u062A\u0631\u064A\u062F \u0645\u0639\u0631\u0641\u0629 \u0627\u0644\u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062A \u062D\u0648\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0648\u0636\u0648\u0639?", +path:"\u0627\u0644\u0645\u0633\u0627\u0631", +newdocument:"\u0647\u0644 \u062A\u0631\u064A\u062F \u062D\u0642\u0627 \u0645\u0633\u062D \u062C\u0645\u064A\u0639 \u0627\u0644\u0645\u062D\u062A\u0648\u064A\u0627\u062A?", +toolbar_focus:"\u0625\u0646\u062A\u0642\u0627\u0644 \u0644\u0634\u0631\u064A\u0637 \u0627\u0644\u0623\u062F\u0648\u0627\u062A - Alt+Q, \u0625\u0646\u062A\u0642\u0627\u0644 \u0644\u0644\u0645\u062D\u0631\u0631 - Alt-Z, \u0625\u0646\u062A\u0642\u0627\u0644 \u0644\u0644\u0645\u0633\u0627\u0631 - Alt-X", +more_colors:"\u0645\u0632\u064A\u062F \u0645\u0646 \u0627\u0644\u0623\u0644\u0648\u0627\u0646" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ar_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ar_dlg.js new file mode 100644 index 0000000000..1665de4d54 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ar_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('ar.standard_dlg',{ +about_title:"\u062D\u0648\u0644 TinyMCE", +about_general:"\u062D\u0648\u0644", +about_help:"\u0645\u0633\u0627\u0639\u062F\u0629", +about_license:"\u0627\u0644\u0631\u062E\u0635\u0629", +about_plugins:"\u0627\u0644\u0625\u0636\u0627\u0641\u0627\u062A", +about_plugin:"\u0627\u0644\u0625\u0636\u0627\u0641\u0629", +about_author:"\u0627\u0644\u0645\u0628\u0631\u0645\u062C", +about_version:"\u0627\u0644\u0625\u0635\u062F\u0627\u0631", +about_loaded:"\u0627\u0644\u0625\u0636\u0627\u0641\u0627\u062A \u0627\u0644\u0645\u062D\u0645\u0644\u0629", +anchor_title:"\u0625\u062F\u0631\u0627\u062C/\u062A\u062D\u0631\u064A\u0631 \u0639\u0644\u0627\u0645\u0629", +anchor_name:"\u0627\u0633\u0645 \u0627\u0644\u0639\u0644\u0627\u0645\u0629", +code_title:"\u0645\u062D\u0631\u0631 \u0643\u0648\u062F HTML", +code_wordwrap:"\u0627\u0644\u062A\u0641\u0627\u0641 \u0627\u0644\u0646\u0635", +colorpicker_title:"\u062D\u062F\u062F \u0644\u0648\u0646", +colorpicker_picker_tab:"\u0627\u0644\u0645\u0627\u0632\u062C", +colorpicker_picker_title:"\u0645\u0627\u0632\u062C \u0627\u0644\u0623\u0644\u0648\u0627\u0646", +colorpicker_palette_tab:"\u0627\u0644\u0644\u0648\u062D\u0629", +colorpicker_palette_title:"\u0644\u0648\u062D\u0629 \u0627\u0644\u0623\u0644\u0648\u0627\u0646", +colorpicker_named_tab:"\u0627\u0644\u0623\u0633\u0645\u0627\u0621", +colorpicker_named_title:"\u0627\u0633\u0645\u0627\u0621 \u0627\u0644\u0623\u0644\u0648\u0627\u0646", +colorpicker_color:"\u0627\u0644\u0644\u0648\u0646:", +colorpicker_name:"\u0627\u0644\u0623\u0633\u0645:", +charmap_title:"\u062D\u062F\u062F \u062D\u0631\u0641 \u0645\u062E\u0635\u0635", +image_title:"\u0625\u062F\u0631\u0627\u062C/\u062A\u062D\u0631\u064A\u0631 \u0635\u0648\u0631\u0629", +image_src:"\u0631\u0627\u0628\u0637 \u0627\u0644\u0635\u0648\u0631\u0629", +image_alt:"\u0648\u0635\u0641 \u0627\u0644\u0635\u0648\u0631\u0629", +image_list:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0635\u0648\u0631", +image_border:"\u0627\u0644\u062D\u062F\u0648\u062F", +image_dimensions:"\u0627\u0644\u0642\u064A\u0627\u0633\u0627\u062A", +image_vspace:"\u0645\u0633\u0627\u0641\u0629 \u0639\u0645\u0648\u062F\u064A\u0629", +image_hspace:"\u0645\u0633\u0627\u0641\u0629 \u0627\u0641\u0642\u064A\u0629", +image_align:"\u0645\u062D\u0627\u0630\u0627\u0629", +image_align_baseline:"\u062E\u0637 \u0627\u0644\u0642\u0627\u0639\u062F\u0629", +image_align_top:"\u0623\u0639\u0644\u0649", +image_align_middle:"\u062A\u0648\u0633\u064A\u0637 \u0639\u0645\u0648\u062F\u064A", +image_align_bottom:"\u0627\u0633\u0641\u0644", +image_align_texttop:"\u0623\u0639\u0644\u0649 \u0627\u0644\u0646\u0635", +image_align_textbottom:"\u0623\u0633\u0641\u0644 \u0627\u0644\u0646\u0635", +image_align_left:"\u064A\u0633\u0627\u0631", +image_align_right:"\u064A\u0645\u064A\u0646", +link_title:"\u0625\u062F\u0631\u0627\u062C/\u062A\u062D\u0631\u064A\u0631 \u0631\u0627\u0628\u0637", +link_url:"\u0627\u0644\u0631\u0627\u0628\u0637", +link_target:"\u0627\u0644\u0645\u0633\u0627\u0631", +link_target_same:"\u0641\u062A\u062D \u0627\u0644\u0631\u0627\u0628\u0637 \u0641\u064A \u0646\u0641\u0633 \u0627\u0644\u0635\u0641\u062D\u0629", +link_target_blank:"\u0641\u062A\u062D \u0627\u0644\u0631\u0627\u0628\u0637 \u0641\u064A \u0635\u0641\u062D\u0629 \u062C\u062F\u064A\u062F\u0629", +link_titlefield:"\u0627\u0644\u0639\u0646\u0648\u0627\u0646", +link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", +link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", +link_list:"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0631\u0648\u0627\u0628\u0637" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bg.js new file mode 100644 index 0000000000..24c871b57b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bg.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('bg.standard',{ +style_select:"Lang", +font_size:"\u0420\u0430\u0437\u043C\u0435\u0440 \u043D\u0430 \u0448\u0440\u0438\u0444\u0442\u0430", +fontdefault:"\u0428\u0440\u0438\u0444\u0442", +block:"\u0424\u043E\u0440\u043C\u0430\u0442", +paragraph:"\u041F\u0430\u0440\u0430\u0433\u0440\u0430\u0444", +div:"Div", +address:"\u0410\u0434\u0440\u0435\u0441", +pre:"\u041F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u043D\u043E \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u0430\u043D", +h1:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 1", +h2:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 2", +h3:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 3", +h4:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 4", +h5:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 5", +h6:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435 6", +blockquote:"\u0426\u0438\u0442\u0430\u0442", +code:"\u041A\u043E\u0434", +samp:"\u041F\u0440\u043E\u043C\u0435\u0440\u0435\u043D \u043A\u043E\u0434", +dt:"\u0414\u0435\u0444\u0438\u043D\u0438\u0446\u0438\u044F ", +dd:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430 \u0434\u0435\u0444\u0438\u043D\u0438\u0446\u0438\u044F", +bold_desc:"\u041F\u043E\u043B\u0443\u0447\u0435\u0440 (Ctrl+B)", +italic_desc:"\u041A\u0443\u0440\u0441\u0438\u0432 (Ctrl+I)", +underline_desc:"\u041F\u043E\u0434\u0447\u0435\u0440\u0442\u0430\u043D (Ctrl+U)", +striketrough_desc:"\u0417\u0430\u0447\u0435\u0440\u0442\u0430\u043D", +justifyleft_desc:"\u041F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435 \u043E\u0442\u043B\u044F\u0432\u043E", +justifycenter_desc:"\u0426\u0435\u043D\u0442\u0440\u0438\u0440\u0430\u043D\u043E", +justifyright_desc:"\u041F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435 \u043E\u0442\u0434\u044F\u0441\u043D\u043E", +justifyfull_desc:"\u0414\u0432\u0443\u0441\u0442\u0440\u0430\u043D\u043D\u043E", +bullist_desc:"\u0412\u043E\u0434\u0430\u0447\u0438", +numlist_desc:"\u041D\u043E\u043C\u0435\u0440\u0430", +outdent_desc:"\u041D\u0430\u043C\u0430\u043B\u044F\u0432\u0430\u043D\u0435 \u043D\u0430 \u043E\u0442\u0441\u0442\u044A\u043F\u0430", +indent_desc:"\u0423\u0432\u0435\u043B\u0438\u0447\u0430\u0432\u0430\u043D\u0435 \u043D\u0430 \u043E\u0442\u0441\u0442\u044A\u043F\u0430", +undo_desc:"\u041E\u0442\u043C\u044F\u043D\u0430 (Ctrl+Z)", +redo_desc:"\u0412\u044A\u0437\u0441\u0442\u0430\u043D\u043E\u0432\u044F\u0432\u0430\u043D\u0435 (Ctrl+Y)", +link_desc:"\u0412\u043C\u044A\u043A\u0432\u0430\u043D\u0435/\u0440\u0435\u0434\u0430\u043A\u0446\u0438\u044F \u043D\u0430 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430", +unlink_desc:"\u041F\u0440\u0435\u043C\u0430\u0445\u043D\u0438 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430", +image_desc:"\u0412\u043C\u044A\u043A\u0432\u0430\u043D\u0435/\u0440\u0435\u0434\u0430\u043A\u0446\u0438\u044F \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +cleanup_desc:"\u0418\u0437\u0447\u0438\u0441\u0442\u0438 \u043A\u043E\u0434\u0430", +code_desc:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 HTML", +sub_desc:"\u0414\u043E\u043B\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", +sup_desc:"\u0413\u043E\u0440\u0435\u043D \u0438\u043D\u0434\u0435\u043A\u0441", +hr_desc:"\u0412\u043C\u044A\u043A\u043D\u0438 \u0445\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u043D\u0430 \u043B\u0438\u043D\u0438\u044F", +removeformat_desc:"\u041F\u0440\u0435\u043C\u0430\u0445\u043D\u0438 \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u0430\u043D\u0435\u0442\u043E", +custom1_desc:"\u0412\u0430\u0448\u0435\u0442\u043E \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0442\u0443\u043A", +forecolor_desc:"\u0418\u0437\u0431\u0435\u0440\u0438 \u0446\u0432\u044F\u0442 \u043D\u0430 \u0442\u0435\u043A\u0441\u0442\u0430", +backcolor_desc:"\u0418\u0437\u0431\u0435\u0440\u0438 \u0446\u0432\u044F\u0442 \u043D\u0430 \u0444\u043E\u043D\u0430", +charmap_desc:"\u0412\u043C\u044A\u043A\u043D\u0438 \u0441\u0438\u043C\u0432\u043E\u043B", +visualaid_desc:"\u0412\u043A\u043B./\u0438\u0437\u043A\u043B. \u043D\u0435\u0432\u0438\u0434\u0438\u043C\u0438\u0442\u0435 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438", +anchor_desc:"\u0412\u043C\u044A\u043A\u043D\u0438/\u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 \u043A\u043E\u0442\u0432\u0430", +cut_desc:"\u0418\u0437\u0440\u044F\u0437\u0432\u0430\u043D\u0435", +copy_desc:"\u041A\u043E\u043F\u0438\u0440\u0430\u043D\u0435", +paste_desc:"\u041F\u043E\u0441\u0442\u0430\u0432\u044F\u043D\u0435", +image_props_desc:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430\u0442\u0430", +newdocument_desc:"\u041D\u043E\u0432 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442", +help_desc:"\u041F\u043E\u043C\u043E\u0449", +blockquote_desc:"\u0426\u0438\u0442\u0430\u0442", +clipboard_msg:"\u041A\u043E\u043F\u0438\u0440\u0430\u043D\u0435/\u041E\u0442\u0440\u044F\u0437\u0432\u0430\u043D\u0435/\u041F\u043E\u0441\u0442\u0430\u0432\u044F\u043D\u0435 \u043D\u0435 \u0435 \u0434\u043E\u0441\u0442\u044A\u043F\u043D\u043E \u043F\u043E\u0434 Mozilla \u0438 Firefox.\r\n\u0416\u0435\u043B\u0430\u0435\u0442\u0435 \u043B\u0438 \u043F\u043E\u0432\u0435\u0447\u0435 \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044F \u0437\u0430 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0430?", +path:"\u041F\u044A\u0442", +newdocument:"\u0421\u0438\u0433\u0443\u0440\u0435\u043D \u043B\u0438 \u0441\u0442\u0435, \u0447\u0435 \u0438\u0441\u043A\u0430\u0442\u0435 \u0434\u0430 \u0438\u0437\u0447\u0438\u0441\u0442\u0438\u0442\u0435 \u0446\u044F\u043B\u043E\u0442\u043E \u0441\u044A\u0434\u044A\u0440\u0436\u0430\u043D\u0438\u0435?", +toolbar_focus:"\u041E\u0442\u0438\u0434\u0438 \u043F\u0440\u0438 \u0431\u0443\u0442\u043E\u043D\u0438\u0442\u0435 - Alt+Q, \u041E\u0442\u0438\u0434\u0438 \u043F\u0440\u0438 \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0430 - Alt-Z, \u041E\u0442\u0438\u0434\u0438 \u043F\u0440\u0438 \u043F\u044A\u0442\u0435\u043A\u0430\u0442\u0430 \u043D\u0430 \u0435\u043B\u0435\u043C\u0435\u043D\u0442\u0438\u0442\u0435 - Alt-X", +more_colors:"\u041E\u0449\u0435 \u0446\u0432\u0435\u0442\u043E\u0432\u0435" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bg_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bg_dlg.js new file mode 100644 index 0000000000..f5dc100c49 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bg_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('bg.standard_dlg',{ +about_title:"\u041E\u0442\u043D\u043E\u0441\u043D\u043E TinyMCE", +about_general:"\u041E\u0442\u043D\u043E\u0441\u043D\u043E", +about_help:"\u041F\u043E\u043C\u043E\u0449", +about_license:"\u041B\u0438\u0446\u0435\u043D\u0437", +about_plugins:"\u0414\u043E\u0431\u0430\u0432\u043A\u0438", +about_plugin:"\u0414\u043E\u0431\u0430\u0432\u043A\u0430", +about_author:"\u0410\u0432\u0442\u043E\u0440", +about_version:"\u0412\u0435\u0440\u0441\u0438\u044F", +about_loaded:"\u0417\u0430\u0440\u0435\u0434\u0435\u043D\u0438 \u0434\u043E\u0431\u0430\u0432\u043A\u0438", +anchor_title:"\u0412\u043C\u044A\u043A\u043D\u0438/\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 \u043A\u043E\u0442\u0432\u0430", +anchor_name:"\u0418\u043C\u0435 \u043D\u0430 \u043A\u043E\u0442\u0432\u0430\u0442\u0430", +code_title:"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 \u043D\u0430 HTML", +code_wordwrap:"\u041F\u0440\u0435\u043D\u043E\u0441 \u043D\u0430 \u0434\u0443\u043C\u0438", +colorpicker_title:"\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0446\u0432\u044F\u0442", +colorpicker_picker_tab:"\u0418\u0437\u0431\u043E\u0440", +colorpicker_picker_title:"\u0418\u0437\u0431\u043E\u0440 \u043D\u0430 \u0446\u0432\u044F\u0442", +colorpicker_palette_tab:"\u041F\u0430\u043B\u0438\u0442\u0440\u0430", +colorpicker_palette_title:"\u0426\u0432\u0435\u0442\u043E\u0432\u0430 \u043F\u0430\u043B\u0438\u0442\u0440\u0430", +colorpicker_named_tab:"\u0418\u043C\u0435\u043D\u0443\u0432\u0430\u043D\u0438", +colorpicker_named_title:"\u0418\u043C\u0435\u043D\u0443\u0432\u0430\u043D\u0438 \u0446\u0432\u0435\u0442\u043E\u0432\u0435", +colorpicker_color:"\u0426\u0432\u044F\u0442:", +colorpicker_name:"\u0418\u043C\u0435:", +charmap_title:"\u0418\u0437\u0431\u0435\u0440\u0435\u0442\u0435 \u0441\u0438\u043C\u0432\u043E\u043B", +image_title:"\u0412\u043C\u044A\u043A\u043D\u0438/\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +image_src:"URL \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +image_alt:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u043D\u0430 \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0430", +image_list:"\u0421\u043F\u0438\u0441\u044A\u043A \u043A\u0430\u0440\u0442\u0438\u043D\u043A\u0438", +image_border:"\u0420\u0430\u043C\u043A\u0430", +image_dimensions:"\u0420\u0430\u0437\u043C\u0435\u0440\u0438", +image_vspace:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u043D\u043E \u0440\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435", +image_hspace:"\u0425\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u043D\u043E \u0440\u0430\u0437\u0441\u0442\u043E\u044F\u043D\u0438\u0435", +image_align:"\u041F\u043E\u0434\u0440\u0430\u0432\u043D\u044F\u0432\u0430\u043D\u0435", +image_align_baseline:"\u0411\u0430\u0437\u043E\u0432\u0430 \u043B\u0438\u043D\u0438\u044F", +image_align_top:"\u0413\u043E\u0440\u0435", +image_align_middle:"\u0426\u0435\u043D\u0442\u0440\u0438\u0440\u0430\u043D\u0435", +image_align_bottom:"\u0414\u043E\u043B\u0443", +image_align_texttop:"\u0422\u0435\u043A\u0441\u0442 \u0433\u043E\u0440\u0435", +image_align_textbottom:"\u0422\u0435\u043A\u0441\u0442 \u0434\u043E\u043B\u0443", +image_align_left:"\u041B\u044F\u0432\u043E", +image_align_right:"\u0414\u044F\u0441\u043D\u043E", +link_title:"\u0412\u043C\u044A\u043A\u043D\u0438/\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0430\u0439 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430", +link_url:"URL \u043D\u0430 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430", +link_target:"\u0426\u0435\u043B", +link_target_same:"\u041E\u0442\u0432\u043E\u0440\u0438 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430\u0442\u0430 \u0432 \u0441\u044A\u0449\u0438\u044F\u0442 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446", +link_target_blank:"\u041E\u0442\u0432\u043E\u0440\u0438 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430\u0442\u0430 \u0432 \u043D\u043E\u0432 \u043F\u0440\u043E\u0437\u043E\u0440\u0435\u0446", +link_titlefield:"\u0417\u0430\u0433\u043B\u0430\u0432\u0438\u0435", +link_is_email:"URL-\u0442\u043E \u043A\u043E\u0435\u0442\u043E \u0432\u044A\u0432\u0435\u0434\u043E\u0445\u0442\u0435 \u0435 email \u0430\u0434\u0440\u0435\u0441, \u0436\u0435\u043B\u0430\u0435\u0442\u0435 \u043B\u0438 \u0434\u0430 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u0435 \u043D\u0443\u0436\u043D\u0438\u044F\u0442 mailto: \u043F\u0440\u0435\u0444\u0438\u043A\u0441?", +link_is_external:"URL-\u0442\u043E \u043A\u043E\u0435\u0442\u043E \u0432\u044A\u0432\u0435\u0434\u043E\u0445\u0442\u0435 \u0435 \u0432\u044A\u043D\u0448\u043D\u0430 \u0445\u0438\u043F\u0435\u0440\u0432\u0440\u044A\u0437\u043A\u0430, \u0436\u0435\u043B\u0430\u0435\u0442\u0435 \u043B\u0438 \u0434\u0430 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u0435 \u043D\u0443\u0436\u043D\u0438\u044F\u0442 http:// \u043F\u0440\u0435\u0444\u0438\u043A\u0441?", +link_list:"\u0421\u043F\u0438\u0441\u044A\u043A \u043B\u0438\u043D\u043A\u043E\u0432\u0435" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bs.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bs.js new file mode 100644 index 0000000000..63f9725490 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bs.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('bs.standard',{ +style_select:"Lang", +font_size:"Veli\u010Dina pisma", +fontdefault:"Vrsta pisma", +block:"Format", +paragraph:"Paragraf", +div:"Div", +address:"Adresa", +pre:"Oblikovano", +h1:"Naslov 1", +h2:"Naslov 2", +h3:"Naslov 3", +h4:"Naslov 4", +h5:"Naslov 5", +h6:"Naslov 6", +blockquote:"Citat", +code:"Kod", +samp:"Primjer koda", +dt:"Definicija pojma", +dd:"Opis definicije", +bold_desc:"Podebljaj (Ctrl+B)", +italic_desc:"Kurziv (Ctrl+I)", +underline_desc:"Podcrtaj (Ctrl+U)", +striketrough_desc:"Precrtaj", +justifyleft_desc:"Poravnaj lijevo", +justifycenter_desc:"Centriraj", +justifyright_desc:"Poravnaj desno", +justifyfull_desc:"Poravnaj potpuno", +bullist_desc:"Neure\u0111ena lista", +numlist_desc:"Ure\u0111ena lista", +outdent_desc:"Uvuci", +indent_desc:"Izvuci", +undo_desc:"Poni\u0161ti (Ctrl+Z)", +redo_desc:"Ponovi (Ctrl+Y)", +link_desc:"Umetni/uredi poveznicu", +unlink_desc:"Poni\u0161ti poveznicu", +image_desc:"Umetni/uredi sliku", +cleanup_desc:"Po\u010Disti kod", +code_desc:"Uredi HTML izvor", +sub_desc:"Indeks", +sup_desc:"Eksponent", +hr_desc:"Umetni vodoravnu crtu", +removeformat_desc:"Poni\u0161ti oblikovanje", +custom1_desc:"Vlastiti opis ovdje", +forecolor_desc:"Odaberite boju teksta", +backcolor_desc:"Odaberite boju pozadine", +charmap_desc:"Umetni vlastiti znak", +visualaid_desc:"Vodilice/nevidljivi elementi", +anchor_desc:"Umetni/uredi sidro", +cut_desc:"Izre\u017Ei", +copy_desc:"Kopiraj", +paste_desc:"Zalijepi", +image_props_desc:"Svojstva slike", +newdocument_desc:"Novi dokument", +help_desc:"Pomo\u0107", +blockquote_desc:"Citiraj", +clipboard_msg:"Kopiraj/Izre\u017Ei/Zalijepi nije dostupno u Mozilla i Firefox preglednicima. Vi\u0161e informacija?", +path:"Staza", +newdocument:"Jeste li sigurni da \u017Eelite izbrisati cijeli sadr\u017Eaj?", +toolbar_focus:"Prije\u0111i na alatnu traku - Alt+Q, prije\u0111i na ure\u0111iva\u010D - Alt-Z, prije\u0111i na element path - Alt-X", +more_colors:"Vi\u0161e boja" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bs_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bs_dlg.js new file mode 100644 index 0000000000..df45ca0949 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/bs_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('bs.standard_dlg',{ +about_title:"TinyMCE", +about_general:"O programu", +about_help:"Pomo\u0107", +about_license:"Licenca", +about_plugins:"Dodaci", +about_plugin:"Dodatak", +about_author:"Autor", +about_version:"Verzija", +about_loaded:"Postoje\u0107i dodaci", +anchor_title:"Umetni/uredi sidro", +anchor_name:"Ime sidra", +code_title:"HTML ure\u0111iva\u010D", +code_wordwrap:"Omatanje teksta", +colorpicker_title:"Izbor boje", +colorpicker_picker_tab:"Odabir", +colorpicker_picker_title:"Odabir boje", +colorpicker_palette_tab:"Paleta", +colorpicker_palette_title:"Paleta boja", +colorpicker_named_tab:"Imenovano", +colorpicker_named_title:"Imenovane boje", +colorpicker_color:"Boja:", +colorpicker_name:"Naziv:", +charmap_title:"Odaberite znak", +image_title:"Umetni/uredi sliku", +image_src:"URL slike", +image_alt:"Opis slike", +image_list:"Lista slika", +image_border:"Obrub", +image_dimensions:"Dimenzije", +image_vspace:"Okomiti razmak", +image_hspace:"Vodoravni razmak", +image_align:"Poravnavanje", +image_align_baseline:"Osnovna linija", +image_align_top:"Vrh", +image_align_middle:"Sredina", +image_align_bottom:"Dno", +image_align_texttop:"Vrh teksta", +image_align_textbottom:"Dno teksta", +image_align_left:"Lijevo", +image_align_right:"Desno", +link_title:"Umetni/uredi poveznicu", +link_url:"URL poveznice", +link_target:"Meta", +link_target_same:"Otvori poveznicu u istom prozoru", +link_target_blank:"Otvori poveznicu u novom prozoru", +link_titlefield:"Naslov", +link_is_email:"URL koji ste unijeli izgleda kao e-mail adresa, \u017Eelite li dodati potrebni mailto: prefiks?", +link_is_external:"URL koji ste unijeli izgleda kao vanjska poveznica, \u017Eelite li dodati potrebni http:// prefiks?", +link_list:"Lista poveznica" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ca.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ca.js new file mode 100644 index 0000000000..c752f5c7b7 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ca.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('ca.standard',{ +style_select:"Lang", +font_size:"Mida de lletra", +fontdefault:"Tipografia", +block:"Format", +paragraph:"Par\u00E0graf", +div:"Div", +address:"Adre\u00E7a", +pre:"Preformatat", +h1:"Cap\u00E7alera 1", +h2:"Cap\u00E7alera 2", +h3:"Cap\u00E7alera 3", +h4:"Cap\u00E7alera 4", +h5:"Cap\u00E7alera 5", +h6:"Cap\u00E7alera 6", +blockquote:"Blockquote", +code:"Codi", +samp:"Mostra de codi", +dt:"Terme de la definici\u00F3", +dd:"Descripci\u00F3 de la definici\u00F3", +bold_desc:"Negreta (Ctrl+B)", +italic_desc:"Cursiva (Ctrl+I)", +underline_desc:"Subratllat (Ctrl+U)", +striketrough_desc:"Tatxat", +justifyleft_desc:"Alinea a l'esquerra", +justifycenter_desc:"Centra", +justifyright_desc:"Alinea a la dreta", +justifyfull_desc:"Justifica", +bullist_desc:"Llista no ordenada", +numlist_desc:"Llista ordenada", +outdent_desc:"Redueix el sagnat", +indent_desc:"Augmenta el sagnat", +undo_desc:"Desf\u00E9s (Ctrl+Z)", +redo_desc:"Ref\u00E9s (Ctrl+Y)", +link_desc:"Insereix/edita enlla\u00E7", +unlink_desc:"Desenlla\u00E7a", +image_desc:"Insereix/edita imatge", +cleanup_desc:"Neteja el codi embullat", +code_desc:"Edita el font HTML", +sub_desc:"Sub\u00EDndex", +sup_desc:"Super\u00EDndex", +hr_desc:"Insereix regle horitzontal", +removeformat_desc:"Elimina el format", +custom1_desc:"Aqu\u00ED la teva descripci\u00F3 personalitzada", +forecolor_desc:"Selecciona el color del text", +backcolor_desc:"Selecciona el color de fons", +charmap_desc:"Insereix car\u00E0cter personalitzat", +visualaid_desc:"Canvia els elements guies/invisibles", +anchor_desc:"Insereix/edita \u00E0ncora", +cut_desc:"Retalla", +copy_desc:"Copia", +paste_desc:"Enganxa", +image_props_desc:"Propietats de la imatge", +newdocument_desc:"Nou document", +help_desc:"Ajuda", +blockquote_desc:"Blockquote", +clipboard_msg:"Copia/Retalla/Enganxa no est\u00E0 disponible en Mozilla/Firefox.\r\nVols m\u00E9s informaci\u00F3 sobre aquest tema?", +path:"Cam\u00ED", +newdocument:"Segur que vols esborrar tot el contingut?", +toolbar_focus:"Salta als botons d'eines - Alt+Q, Salta a l'editor - Alt-Z, Salta al cam\u00ED de l'element - Alt-X", +more_colors:"M\u00E9s colors" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ca_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ca_dlg.js new file mode 100644 index 0000000000..ffa09c102d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ca_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('ca.standard_dlg',{ +about_title:"Quant a TinyMCE", +about_general:"Quant a", +about_help:"Ajuda", +about_license:"Llic\u00E8ncia", +about_plugins:"Extensions", +about_plugin:"Extensi\u00F3", +about_author:"Autor", +about_version:"Versi\u00F3", +about_loaded:"Extensions carregades", +anchor_title:"Insereix/edita \u00E0ncora", +anchor_name:"Nom de l'\u00E0ncora", +code_title:"Editor de Font HTML", +code_wordwrap:"Salt de paraula", +colorpicker_title:"Selecciona un color", +colorpicker_picker_tab:"Triador", +colorpicker_picker_title:"Triador de color", +colorpicker_palette_tab:"Paleta", +colorpicker_palette_title:"Colors de la paleta", +colorpicker_named_tab:"Amb nom", +colorpicker_named_title:"Colors amb nom", +colorpicker_color:"Color:", +colorpicker_name:"Nom:", +charmap_title:"Selecciona el car\u00E0cter personalitzat", +image_title:"Insereix/edita imatge", +image_src:"URL de la imatge", +image_alt:"Descripci\u00F3 de la imatge", +image_list:"Llista d'imatges", +image_border:"Vora", +image_dimensions:"Dimensions", +image_vspace:"Espaiat vertical", +image_hspace:"Espaiat horitzontal", +image_align:"Alineaci\u00F3", +image_align_baseline:"L\u00EDnia base", +image_align_top:"Dalt", +image_align_middle:"Mig", +image_align_bottom:"Baix", +image_align_texttop:"A dalt del text", +image_align_textbottom:"A baix del text", +image_align_left:"Esquerra", +image_align_right:"Dreta", +link_title:"Insereix/edita enlla\u00E7", +link_url:"URL de l'enlla\u00E7", +link_target:"Objectiu", +link_target_same:"Obre l'enlla\u00E7 a la mateixa finestra", +link_target_blank:"Obre l'enlla\u00E7 en una finestra nova", +link_titlefield:"T\u00EDtol", +link_is_email:"L'URL que has introdu\u00EFt sembla una adre\u00E7a de correu, vols afegir-hi el prefix mailto://?", +link_is_external:"L'URL que has introdu\u00EFt sembla un enlla\u00E7 extern, vols afegir-hi el prefix http://?", +link_list:"Llista d'enlla\u00E7os" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ch.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ch.js new file mode 100644 index 0000000000..42a6e99c7c --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ch.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('ch.standard',{ +style_select:"Lang", +font_size:"\u5B57\u4F53\u5927\u5C0F", +fontdefault:"\u5B57\u4F53", +block:"\u683C\u5F0F", +paragraph:"\u6BB5\u843D", +div:"Div", +address:"\u5730\u5740", +pre:"\u9ED8\u8BA4\u683C\u5F0F", +h1:"\u6807\u9898 1", +h2:"\u6807\u9898 2", +h3:"\u6807\u9898 3", +h4:"\u6807\u9898 4", +h5:"\u6807\u9898 5", +h6:"\u6807\u9898 6", +blockquote:"\u5F15\u7528", +code:"\u4EE3\u7801", +samp:"\u7A0B\u5E8F\u8303\u4F8B", +dt:"\u540D\u8BCD\u5B9A\u4E49", +dd:"\u540D\u8BCD\u89E3\u91CA", +bold_desc:"\u7C97\u4F53 (Ctrl+B)", +italic_desc:"\u659C\u4F53 (Ctrl+I)", +underline_desc:"\u5E95\u7EBF (Ctrl+U)", +striketrough_desc:"\u4E2D\u5212\u7EBF", +justifyleft_desc:"\u5DE6\u5BF9\u9F50", +justifycenter_desc:"\u5C45\u4E2D", +justifyright_desc:"\u53F3\u5BF9\u9F50", +justifyfull_desc:"\u4E24\u7AEF\u5BF9\u9F50", +bullist_desc:"\u6E05\u5355\u7B26\u53F7", +numlist_desc:"\u7F16\u53F7", +outdent_desc:"\u51CF\u5C11\u7F29\u8FDB", +indent_desc:"\u589E\u52A0\u7F29\u8FDB", +undo_desc:"\u64A4\u9500 (Ctrl+Z)", +redo_desc:"\u6062\u590D (Ctrl+Y)", +link_desc:"\u63D2\u5165/\u7F16\u8F91 \u8FDE\u7ED3", +unlink_desc:"\u53D6\u6D88\u8FDE\u7ED3", +image_desc:"\u63D2\u5165/\u7F16\u8F91 \u56FE\u7247", +cleanup_desc:"\u5220\u9664\u5197\u4F59\u7801", +code_desc:"\u7F16\u8F91 HTML \u539F\u59CB\u7A0B\u5E8F\u4EE3\u7801", +sub_desc:"\u4E0B\u6807", +sup_desc:"\u4E0A\u6807", +hr_desc:"\u63D2\u5165\u6C34\u5E73\u7EBF", +removeformat_desc:"\u6E05\u9664\u6837\u5F0F", +custom1_desc:"\u5728\u6B64\u8F93\u5165\u60A8\u7684\u81EA\u8BA2\u63CF\u8FF0", +forecolor_desc:"\u9009\u62E9\u6587\u5B57\u989C\u8272", +backcolor_desc:"\u9009\u62E9\u80CC\u666F\u989C\u8272", +charmap_desc:"\u63D2\u5165\u7279\u6B8A\u7B26\u53F7", +visualaid_desc:"\u7F51\u683C/\u9690\u85CF\u7EC4\u4EF6\uFF1F", +anchor_desc:"\u63D2\u5165/\u7F16\u8F91 \u951A\u70B9", +cut_desc:"\u526A\u5207 (Ctrl+X)", +copy_desc:"\u590D\u5236 (Ctrl+C)", +paste_desc:"\u7C98\u8D34 (Ctrl+V)", +image_props_desc:"\u56FE\u7247\u5C5E\u6027", +newdocument_desc:"\u65B0\u5EFA\u6587\u4EF6", +help_desc:"\u5E2E\u52A9", +blockquote_desc:"\u5F15\u7528", +clipboard_msg:"\u590D\u5236\u3001\u526A\u5207\u548C\u7C98\u8D34\u529F\u80FD\u5728Mozilla \u548C Firefox\u4E2D\u65E0\u6CD5\u4F7F\u7528", +path:"\u8DEF\u5F84", +newdocument:"\u60A8\u786E\u8BA4\u8981\u5220\u9664\u5168\u90E8\u5185\u5BB9\u5417\uFF1F", +toolbar_focus:"\u5DE5\u5177\u5217 - Alt+Q, \u7F16\u8F91\u5668 - Alt-Z, \u7EC4\u4EF6\u8DEF\u5F84 - Alt-X", +more_colors:"\u66F4\u591A\u989C\u8272" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ch_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ch_dlg.js new file mode 100644 index 0000000000..13b202c6d3 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ch_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('ch.standard_dlg',{ +about_title:"\u5173\u4E8E TinyMCE", +about_general:"\u5173\u4E8E", +about_help:"\u5E2E\u52A9", +about_license:"\u6388\u6743", +about_plugins:"\u5168\u90E8\u5916\u6302\u7A0B\u5E8F", +about_plugin:"\u5916\u6302\u7A0B\u5E8F", +about_author:"\u4F5C\u8005", +about_version:"\u7248\u672C", +about_loaded:"\u5DF2\u52A0\u8F7D\u7684\u5916\u6302\u7A0B\u5E8F", +anchor_title:"\u63D2\u5165/\u7F16\u8F91 \u951A\u70B9", +anchor_name:"\u951A\u70B9\u540D\u79F0", +code_title:"HTML \u539F\u59CB\u7A0B\u5E8F\u4EE3\u7801\u7F16\u8F91\u5668", +code_wordwrap:"\u81EA\u52A8\u6362\u884C", +colorpicker_title:"\u9009\u62E9\u989C\u8272", +colorpicker_picker_tab:"\u9009\u62E9\u5668", +colorpicker_picker_title:"\u53D6\u8272\u5668", +colorpicker_palette_tab:"\u8272\u8C31", +colorpicker_palette_title:"\u8272\u8C31\u989C\u8272", +colorpicker_named_tab:"\u9ED8\u8BA4\u503C", +colorpicker_named_title:"\u9ED8\u8BA4\u7684\u989C\u8272", +colorpicker_color:"\u989C\u8272:", +colorpicker_name:"\u8272\u540D:", +charmap_title:"\u63D2\u5165\u7279\u6B8A\u7B26\u53F7", +image_title:"\u63D2\u5165/\u7F16\u8F91 \u56FE\u7247", +image_src:"\u56FE\u7247\u7F51\u5740", +image_alt:"\u56FE\u7247\u8BF4\u660E", +image_list:"\u56FE\u7247\u6E05\u5355", +image_border:"\u8FB9\u6846", +image_dimensions:"\u5C3A\u5BF8", +image_vspace:"\u5782\u76F4\u95F4\u8DDD", +image_hspace:"\u6C34\u5E73\u95F4\u8DDD", +image_align:"\u5BF9\u9F50\u65B9\u5F0F", +image_align_baseline:"\u57FA\u7EBF", +image_align_top:"\u9876\u90E8\u5BF9\u9F50", +image_align_middle:"\u4E2D\u90E8\u5BF9\u9F50", +image_align_bottom:"\u5E95\u90E8\u5BF9\u9F50", +image_align_texttop:"\u6587\u5B57\u4E0A\u65B9", +image_align_textbottom:"\u6587\u5B57\u4E0B\u65B9", +image_align_left:"\u5DE6\u5BF9\u9F50", +image_align_right:"\u53F3\u5BF9\u9F50", +link_title:"\u63D2\u5165/\u7F16\u8F91 \u8FDE\u7ED3", +link_url:"\u8FDE\u7ED3\u7F51\u5740", +link_target:"\u76EE\u6807", +link_target_same:"\u5F53\u524D\u7A97\u53E3\u6253\u5F00", +link_target_blank:"\u65B0\u7A97\u53E3\u6253\u5F00", +link_titlefield:"\u6807\u9898", +link_is_email:"\u60A8\u8F93\u5165\u7684\u5E94\u8BE5\u662F\u4E00\u4E2A\u7535\u5B50\u90AE\u5BC4\u5730\u5740\uFF0C\u662F\u5426\u9700\u8981\u5728\u7F51\u5740\u524D\u52A0\u4E0A mailto: ? ", +link_is_external:"\u60A8\u8F93\u5165\u7684\u7F51\u5740\u5E94\u8BE5\u662F\u4E00\u4E2A\u5916\u90E8\u8FDE\u7ED3\uFF0C\u662F\u5426\u9700\u8981\u5728\u7F51\u5740\u524D\u52A0\u4E0A http:// ?", +link_list:"\u8FDE\u7ED3\u6E05\u5355" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cs.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cs.js new file mode 100644 index 0000000000..a16473cdb8 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cs.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('cs.standard',{ +style_select:"Lang", +font_size:"Velikost p\u00EDsma", +fontdefault:"P\u00EDsmo", +block:"Form\u00E1t", +paragraph:"Odstavec", +div:"Div", +address:"Adresa", +pre:"P\u0159edform\u00E1tov\u00E1no [p]", +h1:"Nadpis 1 [h1]", +h2:"Nadpis 2 [h2]", +h3:"Nadpis 3 [h3]", +h4:"Nadpis 4 [h4]", +h5:"Nadpis 5 [h5]", +h6:"Nadpis 6 [h6]", +blockquote:"Blockquote", +code:"K\u00F3d", +samp:"Uk\u00E1zka k\u00F3du", +dt:"Slo\u017Eka definice", +dd:"Popis definice", +bold_desc:"Tu\u010Dn\u011B (Ctrl+B)", +italic_desc:"Kurz\u00EDva (Ctrl+I)", +underline_desc:"Podtr\u017Een\u00ED (Ctrl+U)", +striketrough_desc:"P\u0159e\u0161krtnut\u00ED", +justifyleft_desc:"Zarovnat vlevo", +justifycenter_desc:"Zarovnat doprost\u0159ed", +justifyright_desc:"Zarovnat vpravo", +justifyfull_desc:"Zarovnat do bloku", +bullist_desc:"Seznam s odr\u00E1\u017Ekami", +numlist_desc:"\u010C\u00EDslovan\u00FD seznam", +outdent_desc:"Zmen\u0161it odsazen\u00ED", +indent_desc:"Zv\u011Bt\u0161it odsazen\u00ED", +undo_desc:"Zp\u011Bt (Ctrl+Z)", +redo_desc:"Znovu (Ctrl+Y)", +link_desc:"Vlo\u017Eit/upravit odkaz", +unlink_desc:"Zru\u0161it odkaz", +image_desc:"Vlo\u017Eit/upravit obr\u00E1zek", +cleanup_desc:"Vy\u010Distit k\u00F3d", +code_desc:"Upravit HTML zdroj", +sub_desc:"Doln\u00ED index", +sup_desc:"Horn\u00ED index", +hr_desc:"Vlo\u017Eit vodorovn\u00FD odd\u011Blova\u010D", +removeformat_desc:"Zru\u0161it form\u00E1tov\u00E1n\u00ED", +custom1_desc:"Libovoln\u00FD popisek", +forecolor_desc:"Barva textu", +backcolor_desc:"Barva pozad\u00ED", +charmap_desc:"Vlo\u017Eit speci\u00E1ln\u00ED znak", +visualaid_desc:"Zapnout zna\u010Dky/neviditeln\u00E9 prvky", +anchor_desc:"Vlo\u017Eit/upravit z\u00E1lo\u017Eky", +cut_desc:"Vyjmout", +copy_desc:"Kop\u00EDrovat", +paste_desc:"Vlo\u017Eit", +image_props_desc:"Vlastnosti obr\u00E1zku", +newdocument_desc:"Nov\u00FD dokument", +help_desc:"N\u00E1pov\u011Bda", +blockquote_desc:"Citace", +clipboard_msg:"Funkce kop\u00EDrovat/vyjmout/vlo\u017Eit nejsou pou\u017Eiteln\u00E9 v Mozille a Firefoxu.\nChcete v\u00EDce informac\u00ED?", +path:"Cesta", +newdocument:"Jste si opravdu jisti, \u017Ee chcete vymazat ve\u0161ker\u00FD obsah?", +toolbar_focus:"Nastaven\u00ED fokusu na n\u00E1strojovou li\u0161tu - Alt+Q, nastaven\u00ED fokusu na editor textu - Alt-Z, nastaven\u00ED fokusu na \u0159\u00E1dek zano\u0159en\u00ED element\u016F - Alt-X", +more_colors:"Dal\u0161\u00ED barvy" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cs_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cs_dlg.js new file mode 100644 index 0000000000..18cf5a4d9e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cs_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('cs.standard_dlg',{ +about_title:"O TinyMCE", +about_general:"O n\u00E1s", +about_help:"N\u00E1pov\u011Bda", +about_license:"Licence", +about_plugins:"Pluginy", +about_plugin:"Plugin", +about_author:"Autor", +about_version:"Verze", +about_loaded:"Na\u010Dten\u00E9 pluginy", +anchor_title:"Vlo\u017Eit/upravit zalo\u017Eku", +anchor_name:"N\u00E1zev z\u00E1lo\u017Eky", +code_title:"Editor HTML", +code_wordwrap:"D\u011Blit slova", +colorpicker_title:"V\u00FDb\u011Br barvy", +colorpicker_picker_tab:"Kap\u00E1tko", +colorpicker_picker_title:"Barevn\u00E9 kap\u00E1tko", +colorpicker_palette_tab:"Paleta", +colorpicker_palette_title:"Paleta barev", +colorpicker_named_tab:"N\u00E1zvy", +colorpicker_named_title:"N\u00E1zvy barev", +colorpicker_color:"Vybran\u00E1 barva:", +colorpicker_name:"N\u00E1zev:", +charmap_title:"V\u00FDb\u011Br speci\u00E1ln\u00EDch znak\u016F", +image_title:"Vlo\u017Eit/upravit obr\u00E1zek", +image_src:"URL obr\u00E1zku", +image_alt:"Popis obr\u00E1zku", +image_list:"Seznam obr\u00E1zk\u016F", +image_border:"Okraj", +image_dimensions:"Rozm\u011Bry", +image_vspace:"Vertik\u00E1ln\u00ED okraj", +image_hspace:"Horizont\u00E1ln\u00ED okraj", +image_align:"Zarovn\u00E1n\u00ED", +image_align_baseline:"Na z\u00E1kladnu", +image_align_top:"Nahoru", +image_align_middle:"Na st\u0159ed", +image_align_bottom:"Dol\u016F", +image_align_texttop:"Vrch textu", +image_align_textbottom:"Spodek textu", +image_align_left:"Vlevo", +image_align_right:"Vpravo", +link_title:"Vlo\u017Eit/upravit odkaz", +link_url:"URL odkazu", +link_target:"C\u00EDl", +link_target_same:"Otev\u0159\u00EDt odkaz ve stejn\u00E9m okn\u011B", +link_target_blank:"Otev\u0159\u00EDt odkaz v nov\u00E9m okn\u011B", +link_titlefield:"Titulek", +link_is_email:"Zadan\u00E9 URL vypad\u00E1 jako emailov\u00E1 adresa, chcete doplnit pot\u0159ebn\u00FD prefix mailto: ?", +link_is_external:"Zadan\u00E9 URL vypad\u00E1 jako extern\u00ED odkaz, chtete doplnit pot\u0159ebn\u00FD prefix http:// ?", +link_list:"Seznam odkaz\u016F" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cy.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cy.js new file mode 100644 index 0000000000..d88578ee9d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/cy.js @@ -0,0 +1,76 @@ +// UK lang variables + +tinyMCE.addToLang('',{ +theme_style_select : 'Lang', +theme_code_desc : 'Golygu côd HTML', +theme_code_title : 'Golygydd Côd HTML', +theme_code_wordwrap : 'Amlapio geiriau', +theme_sub_desc : 'Is-sgript', +theme_sup_desc : 'Uwch-sgript', +theme_hr_desc : 'Mewnosod llinell llorweddol', +theme_removeformat_desc : 'Diddymu fformatio', +theme_custom1_desc : 'Dy ddisgrifiad fan hyn', +insert_image_border : 'Ymyl', +insert_image_dimensions : 'Meintiau', +insert_image_vspace : 'Gofod fertigol', +insert_image_hspace : 'Gofod llorweddol', +insert_image_align : 'Unioniad', +insert_image_align_default : '-- Heb ddewis --', +insert_image_align_baseline : 'Gwaelodlin', +insert_image_align_top : 'Brig', +insert_image_align_middle : 'Canol', +insert_image_align_bottom : 'Gwaelod', +insert_image_align_texttop : 'Brig Testun', +insert_image_align_absmiddle : 'Canol Union', +insert_image_align_absbottom : 'Gwaelod Union', +insert_image_align_left : 'Chwith', +insert_image_align_right : 'Dde', +theme_font_size : '-- Maint ffont --', +theme_fontdefault : '-- Teulu ffont --', +theme_block : '-- Fformat --', +theme_paragraph : 'Paragraff', +theme_div : 'Div', +theme_address : 'Cyfeiriad', +theme_pre : 'Rhag-fformatiwyd', +theme_h1 : 'Pennawd 1', +theme_h2 : 'Pennawd 2', +theme_h3 : 'Pennawd 3', +theme_h4 : 'Pennawd 4', +theme_h5 : 'Pennawd 5', +theme_h6 : 'Pennawd 6', +theme_colorpicker_title : 'Dewis lliw', +theme_colorpicker_apply : 'Gosod', +theme_forecolor_desc : 'Dewis lliw testun', +theme_backcolor_desc : 'Dewis lliw cefndir', +theme_charmap_title : 'Dewis llythyren arbennig', +theme_charmap_desc : 'Gosod llythyren arbennig', +theme_visualaid_desc : 'Gwrthdroi canllawiau/elfennau anweledig', +insert_anchor_title : 'Mewnosod/golygu angor', +insert_anchor_name : 'Enw angor', +theme_anchor_desc : 'Mewnosod/golygu angor', +theme_insert_link_titlefield : 'Teitl', +theme_clipboard_msg : 'Dyw Copïo/Torri/Gludo ddim ar gael ym Mozilla na Firefox.\nHoffet ti ragor o wybodaeth ynghylch hyn?', +theme_path : 'Llwybr', +cut_desc : 'Torri', +copy_desc : 'Copïo', +paste_desc : 'Gludo', +link_list : 'Rhestr dolenni', +image_list : 'Rhestr delweddau', +browse : 'Pori', +image_props_desc : 'Priodoleddau delwedd', +newdocument_desc : 'Dogfen newydd', +class_name : 'Dosbarth', +newdocument : 'Wyt ti\'n sicr eisiau clirio\'r holl gynnwys?', +about_title : 'Ynglŷn â TinyMCE', +about : 'Ynglŷn â', +license : 'Trwydded', +plugins : 'Ategynnau', +plugin : 'Ategyn', +author : 'Awdur', +version : 'Fersiwn', +loaded_plugins : 'Ategynnau gweithredol', +help : 'Cymorth', +not_set : '-- Heb ddewis --', +close : 'Cau', +toolbar_focus : 'Neidio i fotymau offer - Alt+Q, Neidio i\'r golygydd - Alt+Z, Neidio i lwybr y elfen - Alt+X' +}); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/da.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/da.js new file mode 100644 index 0000000000..4d813d54f6 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/da.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('da.standard',{ +style_select:"Lang", +font_size:"Skriftst\u00F8rrelse", +fontdefault:"Skrifttype", +block:"Format", +paragraph:"Afsnit", +div:"Div", +address:"Adresse", +pre:"Pr\u00E6formatteret", +h1:"Overskrift 1", +h2:"Overskrift 2", +h3:"Overskrift 3", +h4:"Overskrift 4", +h5:"Overskrift 5", +h6:"Overskrift 6", +blockquote:"Blokcitat", +code:"Kode", +samp:"Kodeeksempel", +dt:"Definitionsterm ", +dd:"Definitionsbeskrivelse", +bold_desc:"Fed (Ctrl+B)", +italic_desc:"Kursiv (Ctrl+I)", +underline_desc:"Understreget (Ctrl+U)", +striketrough_desc:"Gennemstreget", +justifyleft_desc:"Venstrejusteret", +justifycenter_desc:"Centreret", +justifyright_desc:"H\u00F8jrejusteret", +justifyfull_desc:"Lige marginer", +bullist_desc:"Unummereret punktopstilling", +numlist_desc:"Nummereret punktopstilling", +outdent_desc:"Formindsk indrykning", +indent_desc:"\u00D8g indrykning", +undo_desc:"Fortryd (Ctrl+Z)", +redo_desc:"Gendan (Ctrl+Y)", +link_desc:"Inds\u00E6t/rediger link", +unlink_desc:"Fjern link", +image_desc:"Inds\u00E6t/rediger billede", +cleanup_desc:"Ryd op i uordentlig kode", +code_desc:"Rediger HTML-kilde", +sub_desc:"S\u00E6nket skrift", +sup_desc:"H\u00E6vet skrift", +hr_desc:"Inds\u00E6t horisontal linie", +removeformat_desc:"Fjern formatering", +custom1_desc:"Din egen beskrivelse her", +forecolor_desc:"V\u00E6lg tekstfarve", +backcolor_desc:"V\u00E6lg baggrundsfarve", +charmap_desc:"Inds\u00E6t specialtegn", +visualaid_desc:"Sl\u00E5 hj\u00E6lp/synlige elementer til/fra", +anchor_desc:"Inds\u00E6t/rediger anker", +cut_desc:"Klip", +copy_desc:"Kopier", +paste_desc:"Inds\u00E6t", +image_props_desc:"Billedeegenskaber", +newdocument_desc:"Nyt dokument", +help_desc:"Hj\u00E6lp", +blockquote_desc:"Blokcitat", +clipboard_msg:"Kopier/Klip/inds\u00E6t er ikke muligt i Mozilla og Firefox.\nVil du have mere information om dette emne?", +path:"Sti", +newdocument:"Er du sikker p\u00E5 du vil slette alt indhold?", +toolbar_focus:"Hop til v\u00E6rkt\u00F8jsknapper - Alt+Q, Skift til redigering - Alt-Z, Skift til element sti - Alt-X", +more_colors:"Flere farver" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/da_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/da_dlg.js new file mode 100644 index 0000000000..a58d70626d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/da_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('da.standard_dlg',{ +about_title:"Om TinyMCE", +about_general:"Om", +about_help:"Hj\u00E6lp", +about_license:"Licens", +about_plugins:"Udvidelser", +about_plugin:"Udvidelse", +about_author:"Forfatter", +about_version:"Version", +about_loaded:"Indl\u00E6ste udvidelser", +anchor_title:"Inds\u00E6t/rediger anker", +anchor_name:"Navn p\u00E5 anker", +code_title:"HTML kildekode redigering", +code_wordwrap:"Tekstombrydning", +colorpicker_title:"V\u00E6lg en farve", +colorpicker_picker_tab:"V\u00E6lger", +colorpicker_picker_title:"Farve v\u00E6lger", +colorpicker_palette_tab:"Palette", +colorpicker_palette_title:"Palette farver", +colorpicker_named_tab:"Navngivet", +colorpicker_named_title:"Navngivet farve", +colorpicker_color:"Farve:", +colorpicker_name:"Navn:", +charmap_title:"V\u00E6lg specialtegn", +image_title:"Inds\u00E6t/rediger billede", +image_src:"Billede URL", +image_alt:"Billedebeskrivelse", +image_list:"Liste over billeder", +image_border:"Kant", +image_dimensions:"Dimensioner", +image_vspace:"Vertikal afstand", +image_hspace:"Horisontal afstand", +image_align:"Justering", +image_align_baseline:"Grundlinie", +image_align_top:"Toppen", +image_align_middle:"Centreret", +image_align_bottom:"Bunden", +image_align_texttop:"Tekst toppen", +image_align_textbottom:"Tekst bunden", +image_align_left:"Venstre", +image_align_right:"H\u00F8jre", +link_title:"Inds\u00E6t/rediger link", +link_url:"Link URL", +link_target:"Target", +link_target_same:"\u00C5ben link i samme vindue", +link_target_blank:"\u00C5ben link i nyt vindue", +link_titlefield:"Titel", +link_is_email:"Den URL der er indtastet ser ud til at v\u00E6re en emailadresse. Vil du have tilf\u00F8jet det p\u00E5kr\u00E6vede mailto: foran?", +link_is_external:"Den URL der er indtastet ser ud til at v\u00E6re et eksternt link. Vil du have tilf\u00F8jet det p\u00E5kr\u00E6vede http:// foran?", +link_list:"Liste over links" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/de.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/de.js new file mode 100644 index 0000000000..06c9e1dd0e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/de.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('de.standard',{ +style_select:"Lang", +font_size:"Schriftgr\u00F6\u00DFe", +fontdefault:"Schriftart", +block:"Vorlage", +paragraph:"Absatz", +div:"Zusammenh\u00E4ngender Bereich", +address:"Addresse", +pre:"Rohdaten", +h1:"\u00DCberschrift 1", +h2:"\u00DCberschrift 2", +h3:"\u00DCberschrift 3", +h4:"\u00DCberschrift 4", +h5:"\u00DCberschrift 5", +h6:"\u00DCberschrift 6", +blockquote:"Zitatblock", +code:"Code", +samp:"Beispiel", +dt:"Definitionsbegriff", +dd:"Definitionsbeschreibung", +bold_desc:"Fett (Strg+B)", +italic_desc:"Kursiv (Strg+I)", +underline_desc:"Unterstrichen (Strg+U)", +striketrough_desc:"Durchgestrichen", +justifyleft_desc:"Links ausgerichtet", +justifycenter_desc:"Mittig ausgerichtet", +justifyright_desc:"Rechts ausgerichtet", +justifyfull_desc:"Blocksatz", +bullist_desc:"Unsortierte Liste", +numlist_desc:"Sortierte Liste", +outdent_desc:"Ausr\u00FCcken", +indent_desc:"Einr\u00FCcken", +undo_desc:"R\u00FCckg\u00E4ngig (Strg+Z)", +redo_desc:"Wiederholen (Strg+Y)", +link_desc:"Link einf\u00FCgen/ver\u00E4ndern", +unlink_desc:"Link entfernen", +image_desc:"Bild einf\u00FCgen/ver\u00E4ndern", +cleanup_desc:"Quellcode aufr\u00E4ufen", +code_desc:"HTML-Quellcode bearbeiten", +sub_desc:"Tiefgestellt", +sup_desc:"Hochgestellt", +hr_desc:"Trennlinie einf\u00FCgen", +removeformat_desc:"Formatierungen zur\u00FCcksetzen", +custom1_desc:"Benutzerdefinierte Beschreibung", +forecolor_desc:"Textfarbe", +backcolor_desc:"Hintergrundfarbe", +charmap_desc:"Sonderzeichen einf\u00FCgen", +visualaid_desc:"Hilfslinien und unsichtbare Elemente ein-/ausblenden", +anchor_desc:"Anker einf\u00FCgen/ver\u00E4ndern", +cut_desc:"Ausschneiden", +copy_desc:"Kopieren", +paste_desc:"Einf\u00FCgen", +image_props_desc:"Bildeigenschaften", +newdocument_desc:"Neues Dokument", +help_desc:"Hilfe", +blockquote_desc:"Zitatblock", +clipboard_msg:"Kopieren, Ausschneiden und Einf\u00FCgen sind im Mozilla Firefox nicht m\u00F6glich.\r\nWollen Sie mehr \u00FCber dieses Problem erfahren?", +path:"Pfad", +newdocument:"Wollen Sie wirklich den ganzen Inhalt l\u00F6schen?", +toolbar_focus:"Zur Werkzeugleiste springen: Alt+Q; Zum Editor springen: Alt-Z; Zum Elementpfad springen: Alt-X", +more_colors:"Weitere Farben" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/de_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/de_dlg.js new file mode 100644 index 0000000000..2db4fe20dc --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/de_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('de.standard_dlg',{ +about_title:"\u00DCber TinyMCE", +about_general:"\u00DCber\u2026", +about_help:"Hilfe", +about_license:"Lizenzbedingungen", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Urheber", +about_version:"Version", +about_loaded:"Geladene Plugins", +anchor_title:"Anker einf\u00FCgen/ver\u00E4ndern", +anchor_name:"Name des Ankers", +code_title:"HTML-Quellcode bearbeiten", +code_wordwrap:"Automatischer Zeilenumbruch", +colorpicker_title:"Farbe", +colorpicker_picker_tab:"Farbwahl", +colorpicker_picker_title:"Farbwahl", +colorpicker_palette_tab:"Palette", +colorpicker_palette_title:"Farbpalette", +colorpicker_named_tab:"Benannte Farben", +colorpicker_named_title:"Benannte Farben", +colorpicker_color:"Farbe:", +colorpicker_name:"Name:", +charmap_title:"Sonderzeichen", +image_title:"Bild einf\u00FCgen/bearbeiten", +image_src:"Adresse", +image_alt:"Alternativtext", +image_list:"Bilderliste", +image_border:"Rahmen", +image_dimensions:"Ausma\u00DFe", +image_vspace:"Vertikaler Abstand", +image_hspace:"Horizontaler Abstand", +image_align:"Ausrichtung", +image_align_baseline:"Zeile", +image_align_top:"Oben", +image_align_middle:"Mittig", +image_align_bottom:"Unten", +image_align_texttop:"Oben im Text", +image_align_textbottom:"Unten im Text", +image_align_left:"Links", +image_align_right:"Rechts", +link_title:"Link einf\u00FCgen/bearbeiten", +link_url:"Adresse", +link_target:"Fenster", +link_target_same:"Im selben Fenster \u00F6ffnen", +link_target_blank:"Neues Fenster \u00F6ffnen", +link_titlefield:"Titel", +link_is_email:"Bei der Adresse scheint es sich um eine E-Mail-Adresse zu handeln. Wollen Sie das dazu ben\u00F6tigte mailto: voranstellen?", +link_is_external:"Bei der Adresse scheint es sich um einen externen Link zu handeln. M\u00F6chten Sie, dass zur korrekten Verlinkung ein http:// vorangestellt wird?", +link_list:"Linkliste" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/el.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/el.js new file mode 100644 index 0000000000..cdfeb2c053 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/el.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('el.standard',{ +style_select:"Lang", +font_size:"\u039C\u03AD\u03B3\u03B5\u03B8\u03BF\u03C2 \u0393\u03C1\u03B1\u03BC\u03BC\u03AC\u03C4\u03C9\u03BD", +fontdefault:"\u0393\u03C1\u03B1\u03BC\u03BC\u03B1\u03C4\u03BF\u03C3\u03B5\u03B9\u03C1\u03AC", +block:"\u039C\u03BF\u03C1\u03C6\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7", +paragraph:"\u03A0\u03B1\u03C1\u03AC\u03B3\u03C1\u03B1\u03C6\u03BF\u03C2", +div:"Div", +address:"\u0394\u03B9\u03B5\u03CD\u03B8\u03C5\u03BD\u03C3\u03B7", +pre:"Pre", +h1:"\u0395\u03C0\u03B9\u03BA\u03B5\u03C6\u03B1\u03BB\u03AF\u03B4\u03B1 1", +h2:"\u0395\u03C0\u03B9\u03BA\u03B5\u03C6\u03B1\u03BB\u03AF\u03B4\u03B1 2", +h3:"\u0395\u03C0\u03B9\u03BA\u03B5\u03C6\u03B1\u03BB\u03AF\u03B4\u03B1 3", +h4:"\u0395\u03C0\u03B9\u03BA\u03B5\u03C6\u03B1\u03BB\u03AF\u03B4\u03B1 4", +h5:"\u0395\u03C0\u03B9\u03BA\u03B5\u03C6\u03B1\u03BB\u03AF\u03B4\u03B1 5", +h6:"\u0395\u03C0\u03B9\u03BA\u03B5\u03C6\u03B1\u03BB\u03AF\u03B4\u03B1 6", +blockquote:"Blockquote", +code:"\u039A\u03CE\u03B4\u03B9\u03BA\u03B1\u03C2", +samp:"\u0394\u03B5\u03AF\u03B3\u03BC\u03B1 \u039A\u03CE\u03B4\u03B9\u03BA\u03B1", +dt:"\u039F\u03C1\u03B9\u03C3\u03BC\u03CC\u03C2", +dd:"\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE \u039F\u03C1\u03B9\u03C3\u03BC\u03BF\u03CD", +bold_desc:"\u039C\u03B1\u03CD\u03C1\u03B1 (Ctrl+B)", +italic_desc:"\u03A0\u03BB\u03AC\u03B3\u03B9\u03B1 (Ctrl+I)", +underline_desc:"\u03A5\u03C0\u03BF\u03B3\u03C1\u03B1\u03BC\u03BC\u03B9\u03C3\u03BC\u03AD\u03BD\u03B1 (Ctrl+U)", +striketrough_desc:"\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03BC\u03BC\u03B9\u03C3\u03BC\u03AD\u03BD\u03B1", +justifyleft_desc:"\u03A3\u03C4\u03BF\u03AF\u03C7\u03B9\u03C3\u03B7 \u03B1\u03C1\u03B9\u03C3\u03C4\u03B5\u03C1\u03AC", +justifycenter_desc:"\u03A3\u03C4\u03BF\u03AF\u03C7\u03B9\u03C3\u03B7 \u03BA\u03AD\u03BD\u03C4\u03C1\u03BF", +justifyright_desc:"\u03A3\u03C4\u03BF\u03AF\u03C7\u03B9\u03C3\u03B7 \u03B4\u03B5\u03BE\u03B9\u03AC", +justifyfull_desc:"\u03A3\u03C4\u03BF\u03AF\u03C7\u03B9\u03C3\u03B7 \u03C0\u03BB\u03AE\u03C1\u03B7\u03C2", +bullist_desc:"\u039B\u03AF\u03C3\u03C4\u03B1 \u03C7\u03C9\u03C1\u03AF\u03C2 \u03C3\u03B5\u03B9\u03C1\u03AC", +numlist_desc:"\u039B\u03AF\u03C3\u03C4\u03B1 \u03BC\u03B5 \u03C3\u03B5\u03B9\u03C1\u03AC", +outdent_desc:"\u03A0\u03C1\u03BF\u03B5\u03BE\u03BF\u03C7\u03AE", +indent_desc:"\u0395\u03C3\u03BF\u03C7\u03AE", +undo_desc:"\u0391\u03BD\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7 (Ctrl+Z)", +redo_desc:"\u0395\u03C0\u03B1\u03BD\u03AC\u03BB\u03B7\u03C8\u03B7 (Ctrl+Y)", +link_desc:"\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE/\u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 \u03C3\u03C5\u03BD\u03B4\u03AD\u03C3\u03BC\u03BF\u03C5", +unlink_desc:"\u039A\u03B1\u03C4\u03AC\u03C1\u03B3\u03B7\u03C3\u03B7 \u03C3\u03C5\u03BD\u03B4\u03AD\u03C3\u03BC\u03BF\u03C5", +image_desc:"\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE/\u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2", +cleanup_desc:"\u039A\u03B1\u03B8\u03B1\u03C1\u03B9\u03C3\u03BC\u03CC\u03C2 \u03BC\u03C0\u03B5\u03C1\u03B4\u03B5\u03BC\u03AD\u03BD\u03BF\u03C5 \u03BA\u03CE\u03B4\u03B9\u03BA\u03B1", +code_desc:"\u0395\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 HTML \u039A\u03CE\u03B4\u03B9\u03BA\u03B1", +sub_desc:"\u0394\u03B5\u03AF\u03BA\u03C4\u03B7\u03C2", +sup_desc:"\u0395\u03BA\u03B8\u03AD\u03C4\u03B7\u03C2", +hr_desc:"\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE \u03BF\u03C1\u03B9\u03B6\u03CC\u03BD\u03C4\u03B9\u03B1\u03C2 \u03B3\u03C1\u03B1\u03BC\u03BC\u03AE\u03C2", +removeformat_desc:"\u0391\u03C6\u03B1\u03AF\u03C1\u03B5\u03C3\u03B7 \u03BC\u03BF\u03C1\u03C6\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7\u03C2", +custom1_desc:"\u0397 \u03C0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE \u03C3\u03B1\u03C2 \u03B5\u03B4\u03CE", +forecolor_desc:"\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE \u03C7\u03C1\u03CE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03BA\u03B5\u03B9\u03BC\u03AD\u03BD\u03BF\u03C5", +backcolor_desc:"\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE \u03C7\u03C1\u03CE\u03BC\u03B1\u03C4\u03BF\u03C2 \u03C6\u03CC\u03BD\u03C4\u03BF\u03C5", +charmap_desc:"\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE \u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B1", +visualaid_desc:"\u0395\u03BC\u03C6\u03AC\u03BD\u03B9\u03C3\u03B7/\u0391\u03C0\u03CC\u03BA\u03C1\u03C5\u03C8\u03B7 \u03B2\u03BF\u03B7\u03B8\u03B7\u03C4\u03B9\u03BA\u03CE\u03BD \u03B3\u03C1\u03B1\u03BC\u03BC\u03CE\u03BD \u03BA\u03B1\u03B9 \u03B1\u03CC\u03C1\u03B1\u03C4\u03C9\u03BD \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03C9\u03BD", +anchor_desc:"\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE/\u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 anchor", +cut_desc:"\u0391\u03C0\u03BF\u03BA\u03BF\u03C0\u03AE", +copy_desc:"\u0391\u03BD\u03C4\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE", +paste_desc:"\u0395\u03C0\u03B9\u03BA\u03CC\u03BB\u03BB\u03B7\u03C3\u03B7", +image_props_desc:"\u0399\u03B4\u03B9\u03CC\u03C4\u03B7\u03C4\u03B5\u03C2 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2", +newdocument_desc:"\u039D\u03AD\u03BF \u03AD\u03B3\u03B3\u03C1\u03B1\u03C6\u03BF", +help_desc:"\u0392\u03BF\u03AE\u03B8\u03B5\u03B9\u03B1", +blockquote_desc:"Blockquote", +clipboard_msg:"\u039F\u03B9 \u03BB\u03B5\u03B9\u03C4\u03BF\u03C5\u03C1\u03B3\u03AF\u03B5\u03C2 \u0391\u03BD\u03C4\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE/\u0391\u03C0\u03BF\u03BA\u03BF\u03C0\u03AE/\u0395\u03C0\u03B9\u03BA\u03CC\u03BB\u03BB\u03B7\u03C3\u03B7 \u03B4\u03B5\u03BD \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B4\u03B9\u03B1\u03B8\u03AD\u03C3\u03B9\u03BC\u03B5\u03C2 \u03C3\u03B5 Mozilla \u03BA\u03B1\u03B9 Firefox.\n\u0398\u03AD\u03BB\u03B5\u03C4\u03B5 \u03C0\u03B5\u03C1\u03B9\u03C3\u03C3\u03CC\u03C4\u03B5\u03C1\u03B5\u03C2 \u03C0\u03BB\u03B7\u03C1\u03BF\u03C6\u03BF\u03C1\u03AF\u03B5\u03C2 ;", +path:"\u0394\u03B9\u03B1\u03B4\u03C1\u03BF\u03BC\u03AE", +newdocument:"\u03A3\u03B9\u03AF\u03B3\u03BF\u03C5\u03C1\u03B1 \u03B8\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03BA\u03B1\u03B8\u03B1\u03C1\u03AF\u03C3\u03B5\u03C4\u03B5 \u03CC\u03BB\u03BF \u03C4\u03BF \u03C0\u03B5\u03C1\u03B9\u03B5\u03C7\u03CC\u03BC\u03B5\u03BD\u03BF ;", +toolbar_focus:"\u039C\u03B5\u03C4\u03AC\u03B2\u03B1\u03C3\u03B7 \u03C3\u03C4\u03B1 \u03BA\u03BF\u03C5\u03BC\u03C0\u03B9\u03AC \u03B5\u03C1\u03B3\u03B1\u03BB\u03B5\u03AF\u03C9\u03BD - Alt+Q, \u039C\u03B5\u03C4\u03AC\u03B2\u03B1\u03C3\u03B7 \u03C3\u03C4\u03BF\u03BD \u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03C4\u03AE \u03BA\u03B5\u03B9\u03BC\u03AD\u03BD\u03BF\u03C5 - Alt-Z, \u039C\u03B5\u03C4\u03AC\u03B2\u03B1\u03C3\u03B7 \u03C3\u03C4\u03B7\u03BD \u03B4\u03B9\u03B1\u03B4\u03C1\u03BF\u03BC\u03AE \u03C4\u03BF\u03C5 \u03C3\u03C4\u03BF\u03B9\u03C7\u03B5\u03AF\u03BF\u03C5 - Alt-X", +more_colors:"\u03A0\u03B5\u03C1\u03B9\u03C3\u03C3\u03CC\u03C4\u03B5\u03C1\u03B1 \u03C7\u03C1\u03CE\u03BC\u03B1\u03C4\u03B1" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/el_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/el_dlg.js new file mode 100644 index 0000000000..b16709da2b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/el_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('el.standard_dlg',{ +about_title:"\u03A3\u03C7\u03B5\u03C4\u03B9\u03BA\u03AC \u03BC\u03B5 \u03C4\u03BF TinyMCE", +about_general:"\u03A3\u03C7\u03B5\u03C4\u03B9\u03BA\u03AC", +about_help:"\u0392\u03BF\u03AE\u03B8\u03B5\u03B9\u03B1", +about_license:"\u0386\u03B4\u03B5\u03B9\u03B1", +about_plugins:"\u03A3\u03C7\u03B5\u03C4\u03B9\u03BA\u03AC \u03BC\u03B5 \u03C4\u03B1 \u03C0\u03C1\u03CC\u03C3\u03B8\u03B5\u03C4\u03B1", +about_plugin:"\u03A3\u03C7\u03B5\u03C4\u03B9\u03BA\u03AC \u03BC\u03B5 \u03C4\u03BF \u03C0\u03C1\u03CC\u03C3\u03B8\u03B5\u03C4\u03BF", +about_author:"\u03A3\u03C5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AD\u03B1\u03C2", +about_version:"\u0388\u03BA\u03B4\u03BF\u03C3\u03B7", +about_loaded:"\u03A6\u03BF\u03C1\u03C4\u03C9\u03BC\u03AD\u03BD\u03B1 \u03C0\u03C1\u03CC\u03C3\u03B8\u03B5\u03C4\u03B1", +anchor_title:"\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE/\u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 anchor", +anchor_name:"\u038C\u03BD\u03BF\u03BC\u03B1 anchor", +code_title:"\u0395\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03C4\u03AE\u03C2 \u03BA\u03CE\u03B4\u03B9\u03BA\u03B1 HTML", +code_wordwrap:"\u0391\u03BD\u03B1\u03B4\u03AF\u03C0\u03BB\u03C9\u03C3\u03B7 \u03BA\u03B5\u03B9\u03BC\u03AD\u03BD\u03BF\u03C5", +colorpicker_title:"\u0394\u03B9\u03B1\u03BB\u03AD\u03BE\u03C4\u03B5 \u03C7\u03C1\u03CE\u03BC\u03B1", +colorpicker_picker_tab:"\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE", +colorpicker_picker_title:"\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE \u03C7\u03C1\u03CE\u03BC\u03B1\u03C4\u03BF\u03C2", +colorpicker_palette_tab:"\u03A0\u03B1\u03BB\u03AD\u03C4\u03B1", +colorpicker_palette_title:"\u03A7\u03C1\u03CE\u03BC\u03B1\u03C4\u03B1 \u03C0\u03B1\u03BB\u03AD\u03C4\u03B1\u03C2", +colorpicker_named_tab:"\u039F\u03BD\u03BF\u03BC\u03B1\u03C3\u03C4\u03B9\u03BA\u03AC", +colorpicker_named_title:"\u039F\u03BD\u03BF\u03BC\u03B1\u03C3\u03C4\u03B9\u03BA\u03AC \u03C7\u03C1\u03CE\u03BC\u03B1\u03C4\u03B1", +colorpicker_color:"\u03A7\u03C1\u03CE\u03BC\u03B1:", +colorpicker_name:"\u038C\u03BD\u03BF\u03BC\u03B1:", +charmap_title:"\u0395\u03C0\u03B9\u03BB\u03BF\u03B3\u03AE \u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B1", +image_title:"\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE/\u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2", +image_src:"\u0394\u03B9\u03B1\u03B4\u03C1\u03BF\u03BC\u03AE URL \u0395\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2", +image_alt:"\u03A0\u03B5\u03C1\u03B9\u03B3\u03C1\u03B1\u03C6\u03AE \u03B5\u03B9\u03BA\u03CC\u03BD\u03B1\u03C2", +image_list:"\u039B\u03AF\u03C3\u03C4\u03B1 \u03B5\u03B9\u03BA\u03CC\u03BD\u03C9\u03BD", +image_border:"\u03A0\u03BB\u03B1\u03AF\u03C3\u03B9\u03BF", +image_dimensions:"\u0394\u03B9\u03B1\u03C3\u03C4\u03AC\u03C3\u03B5\u03B9\u03C2", +image_vspace:"\u0391\u03C0\u03CC\u03C3\u03C4\u03B1\u03C3\u03B7 \u03BA\u03AC\u03B8\u03B5\u03C4\u03B7", +image_hspace:"\u0391\u03C0\u03CC\u03C3\u03C4\u03B1\u03C3\u03B7 \u03BF\u03C1\u03B9\u03B6\u03CC\u03BD\u03C4\u03B9\u03B1", +image_align:"\u03A3\u03C4\u03BF\u03AF\u03C7\u03B9\u03C3\u03B7", +image_align_baseline:"\u0393\u03C1\u03B1\u03BC\u03BC\u03AE \u03C3\u03C4\u03BF\u03AF\u03C7\u03B9\u03C3\u03B7\u03C2 \u03B3\u03C1\u03B1\u03BC\u03BC\u03AC\u03C4\u03C9\u03BD", +image_align_top:"\u0395\u03C0\u03AC\u03BD\u03C9", +image_align_middle:"\u039C\u03AD\u03C3\u03B7", +image_align_bottom:"\u039A\u03AC\u03C4\u03C9", +image_align_texttop:"\u039A\u03AD\u03B9\u03BC\u03B5\u03BD\u03BF \u03C0\u03AC\u03BD\u03C9", +image_align_textbottom:"\u039A\u03B5\u03AF\u03BC\u03B5\u03BD\u03BF \u03BA\u03AC\u03C4\u03C9", +image_align_left:"\u0391\u03C1\u03B9\u03C3\u03C4\u03B5\u03C1\u03AC", +image_align_right:"\u0394\u03B5\u03BE\u03B9\u03AC", +link_title:"\u0395\u03B9\u03C3\u03B1\u03B3\u03C9\u03B3\u03AE/\u03B5\u03C0\u03B5\u03BE\u03B5\u03C1\u03B3\u03B1\u03C3\u03AF\u03B1 \u03C3\u03C5\u03BD\u03B4\u03AD\u03C3\u03BC\u03BF\u03C5", +link_url:"\u0394\u03B9\u03B1\u03B4\u03C1\u03BF\u03BC\u03AE URL \u03C3\u03C5\u03BD\u03B4\u03AD\u03C3\u03BC\u03BF\u03C5", +link_target:"\u03A3\u03C4\u03CC\u03C7\u03BF\u03C2", +link_target_same:"\u0386\u03BD\u03BF\u03B9\u03B3\u03BC\u03B1 \u03C3\u03C4\u03BF \u03AF\u03B4\u03B9\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF", +link_target_blank:"\u0386\u03BD\u03BF\u03B9\u03B3\u03BC\u03B1 \u03C3\u03B5 \u03BD\u03AD\u03BF \u03C0\u03B1\u03C1\u03AC\u03B8\u03C5\u03C1\u03BF", +link_titlefield:"\u03A4\u03AF\u03C4\u03BB\u03BF\u03C2", +link_is_email:"\u0397 \u03B4\u03B9\u03B1\u03B4\u03C1\u03BF\u03BC\u03AE URL \u03C0\u03BF\u03C5 \u03B5\u03B9\u03C3\u03AC\u03B3\u03B1\u03C4\u03B5 \u03C6\u03B1\u03AF\u03BD\u03B5\u03C4\u03B1\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 email, \u03BD\u03B1 \u03C0\u03C1\u03BF\u03C3\u03C4\u03B5\u03B8\u03B5\u03AF \u03C4\u03BF \u03B1\u03C0\u03B1\u03C1\u03B1\u03AF\u03C4\u03B7\u03C4\u03BF mailto: ;", +link_is_external:"\u0397 \u03B4\u03B9\u03B1\u03B4\u03C1\u03BF\u03BC\u03AE URL \u03C0\u03BF\u03C5 \u03B5\u03B9\u03C3\u03AC\u03B3\u03B1\u03C4\u03B5 \u03C6\u03B1\u03AF\u03BD\u03B5\u03C4\u03B1\u03B9 \u03BD\u03B1 \u03B5\u03AF\u03BD\u03B1\u03B9 \u03B5\u03BE\u03C9\u03C4\u03B5\u03C1\u03B9\u03BA\u03CC\u03C2 \u03C3\u03CD\u03BD\u03B4\u03B5\u03C3\u03BC\u03BF\u03C2, \u03BD\u03B1 \u03C0\u03C1\u03BF\u03C3\u03C4\u03B5\u03B8\u03B5\u03AF \u03C4\u03BF \u03B1\u03C0\u03B1\u03C1\u03B1\u03AF\u03C4\u03B7\u03C4\u03BF http:// ;", +link_list:"\u039B\u03AF\u03C3\u03C4\u03B1 \u03C3\u03C5\u03BD\u03B4\u03AD\u03C3\u03BC\u03C9\u03BD" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/en.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/en.js new file mode 100644 index 0000000000..60e2293815 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/en.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('en.standard',{ +style_select:"Lang", +font_size:"Font size", +fontdefault:"Font family", +block:"Format", +paragraph:"Paragraph", +div:"Div", +address:"Address", +pre:"Preformatted", +h1:"Heading 1", +h2:"Heading 2", +h3:"Heading 3", +h4:"Heading 4", +h5:"Heading 5", +h6:"Heading 6", +blockquote:"Blockquote", +code:"Code", +samp:"Code sample", +dt:"Definition term ", +dd:"Definition description", +bold_desc:"Bold (Ctrl+B)", +italic_desc:"Italic (Ctrl+I)", +underline_desc:"Underline (Ctrl+U)", +striketrough_desc:"Strikethrough", +justifyleft_desc:"Align left", +justifycenter_desc:"Align center", +justifyright_desc:"Align right", +justifyfull_desc:"Align full", +bullist_desc:"Unordered list", +numlist_desc:"Ordered list", +outdent_desc:"Outdent", +indent_desc:"Indent", +undo_desc:"Undo (Ctrl+Z)", +redo_desc:"Redo (Ctrl+Y)", +link_desc:"Insert/edit link", +unlink_desc:"Unlink", +image_desc:"Insert/edit image", +cleanup_desc:"Cleanup messy code", +code_desc:"Edit HTML Source", +sub_desc:"Subscript", +sup_desc:"Superscript", +hr_desc:"Insert horizontal ruler", +removeformat_desc:"Remove formatting", +custom1_desc:"Your custom description here", +forecolor_desc:"Select text color", +backcolor_desc:"Select background color", +charmap_desc:"Insert custom character", +visualaid_desc:"Toggle guidelines/invisible elements", +anchor_desc:"Insert/edit anchor", +cut_desc:"Cut", +copy_desc:"Copy", +paste_desc:"Paste", +image_props_desc:"Image properties", +newdocument_desc:"New document", +help_desc:"Help", +blockquote_desc:"Blockquote", +clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\r\nDo you want more information about this issue?", +path:"Path", +newdocument:"Are you sure you want clear all contents?", +toolbar_focus:"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X", +more_colors:"More colors" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/en_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/en_dlg.js new file mode 100644 index 0000000000..e7bc3fd21f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/en_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('en.standard_dlg',{ +about_title:"About TinyMCE", +about_general:"About", +about_help:"Help", +about_license:"License", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Author", +about_version:"Version", +about_loaded:"Loaded plugins", +anchor_title:"Insert/edit anchor", +anchor_name:"Anchor name", +code_title:"HTML Source Editor", +code_wordwrap:"Word wrap", +colorpicker_title:"Select a color", +colorpicker_picker_tab:"Picker", +colorpicker_picker_title:"Color picker", +colorpicker_palette_tab:"Palette", +colorpicker_palette_title:"Palette colors", +colorpicker_named_tab:"Named", +colorpicker_named_title:"Named colors", +colorpicker_color:"Color:", +colorpicker_name:"Name:", +charmap_title:"Select custom character", +image_title:"Insert/edit image", +image_src:"Image URL", +image_alt:"Image description", +image_list:"Image list", +image_border:"Border", +image_dimensions:"Dimensions", +image_vspace:"Vertical space", +image_hspace:"Horizontal space", +image_align:"Alignment", +image_align_baseline:"Baseline", +image_align_top:"Top", +image_align_middle:"Middle", +image_align_bottom:"Bottom", +image_align_texttop:"Text top", +image_align_textbottom:"Text bottom", +image_align_left:"Left", +image_align_right:"Right", +link_title:"Insert/edit link", +link_url:"Link URL", +link_target:"Target", +link_target_same:"Open link in the same window", +link_target_blank:"Open link in a new window", +link_titlefield:"Title", +link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", +link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", +link_list:"Link list" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/es.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/es.js new file mode 100644 index 0000000000..288f0d7f06 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/es.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('es.standard',{ +style_select:"Lang", +font_size:"Tama\u00F1o", +fontdefault:"Fuente", +block:"Formato", +paragraph:"P\u00E1rrafo", +div:"Div", +address:"Direcci\u00F3n", +pre:"Preformateado", +h1:"Encabezado 1", +h2:"Encabezado 2", +h3:"Encabezado 3", +h4:"Encabezado 4", +h5:"Encabezado 5", +h6:"Encabezado 6", +blockquote:"Cita", +code:"C\u00F3digo", +samp:"Ejemplo de c\u00F3digo", +dt:"T\u00E9rmino de definici\u00F3n", +dd:"Descripci\u00F3n de definici\u00F3n", +bold_desc:"Negrita (Ctrl+B)", +italic_desc:"Cursiva (Ctrl+I)", +underline_desc:"Subrayado (Ctrl+U)", +striketrough_desc:"Tachado", +justifyleft_desc:"Alinear a la izquierda", +justifycenter_desc:"Alinear al centro", +justifyright_desc:"Alinear a la derecha", +justifyfull_desc:"Justificar", +bullist_desc:"Lista desordenada", +numlist_desc:"Lista ordenada", +outdent_desc:"Reducir sangr\u00EDa", +indent_desc:"Aumentar sandr\u00EDa", +undo_desc:"Deshacer (Ctrl+Z)", +redo_desc:"Rehacer (Ctrl+Y)", +link_desc:"Insertar/editar hiperv\u00EDnculo", +unlink_desc:"Quitar hiperv\u00EDnculo", +image_desc:"Insertar/editar imagen", +cleanup_desc:"Limpiar c\u00F3digo basura", +code_desc:"Editar c\u00F3digo HTML", +sub_desc:"Sub\u00EDndice", +sup_desc:"Super\u00EDndice", +hr_desc:"Insertar regla horizontal", +removeformat_desc:"Limpiar formato", +custom1_desc:"Su descripci\u00F3n personal aqu\u00ED", +forecolor_desc:"Seleccionar color del texto", +backcolor_desc:"Seleccionar color de fondo", +charmap_desc:"Insertar caracteres personalizados", +visualaid_desc:"Mostrar/ocultar l\u00EDnea de gu\u00EDa/elementos invisibles", +anchor_desc:"Insertar/editar ancla", +cut_desc:"Cortar", +copy_desc:"Copiar", +paste_desc:"Pegar", +image_props_desc:"Propiedades de imagen", +newdocument_desc:"Nuevo documento", +help_desc:"Ayuda", +blockquote_desc:"Cita", +clipboard_msg:"Copiar/Cortar/Pegar no se encuentra disponible en Mozilla y Firefox.\n\u00BFDesea obtener m\u00E1s informaci\u00F3n acerca de este tema?", +path:"Ruta", +newdocument:"\u00BFEst\u00E1 seguro que desea limpiar todo el contenido?", +toolbar_focus:"Ir a los botones de herramientas - Alt+Q, Ir al editor - Alt-Z, Ir a la ruta del elemento - Alt-X", +more_colors:"M\u00E1s colores" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/es_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/es_dlg.js new file mode 100644 index 0000000000..1793444e1b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/es_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('es.standard_dlg',{ +about_title:"Acerca de TinyMCE", +about_general:"Acerca de ", +about_help:"Ayuda", +about_license:"Licencia", +about_plugins:"Complementos", +about_plugin:"Complemento", +about_author:"Autor", +about_version:"Versi\u00F3n", +about_loaded:"Complementos cargados", +anchor_title:"Insertar/editar ancla", +anchor_name:"Nombre del ancla", +code_title:"Editor del c\u00F3digo fuente HTML", +code_wordwrap:"Ajustar al margen", +colorpicker_title:"Seleccionar color", +colorpicker_picker_tab:"Selector", +colorpicker_picker_title:"Paleta de color", +colorpicker_palette_tab:"Paleta", +colorpicker_palette_title:"Paleta de colores", +colorpicker_named_tab:"Nombrados", +colorpicker_named_title:"Colores nombrados", +colorpicker_color:"Color:", +colorpicker_name:"Nombre:", +charmap_title:"Seleccionar caracter personalizado", +image_title:"Insertar/editar imagen", +image_src:"URL de la Imagen", +image_alt:"Descripci\u00F3n de la Imagen", +image_list:"Lista de la Imagen", +image_border:"Borde", +image_dimensions:"Dimensi\u00F3n", +image_vspace:"Espacio vertical", +image_hspace:"Espacio horizontal", +image_align:"Alineaci\u00F3n", +image_align_baseline:"L\u00EDnea base", +image_align_top:"Arriba", +image_align_middle:"Medio", +image_align_bottom:"Debajo", +image_align_texttop:"Texto arriba", +image_align_textbottom:"Texto debajo", +image_align_left:"Izquierda", +image_align_right:"Derecha", +link_title:"Insertar/editar hiperv\u00EDnculo", +link_url:"URL del hiperv\u00EDnculo", +link_target:"Destino", +link_target_same:"Abrir v\u00EDnculo en la misma ventana", +link_target_blank:"Abrir v\u00EDnculo en una ventana nueva", +link_titlefield:"T\u00EDtulo", +link_is_email:"La URL que introdujo parece ser una direcci\u00F3n de email, \u00BFdesea agregar el prefijo mailto: necesario?", +link_is_external:"La URL que introdujo parece ser un v\u00EDnculo externo, \u00BFdesea agregar el prefijo http:// necesario?", +link_list:"Lista de hiperv\u00EDnculos" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/et.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/et.js new file mode 100644 index 0000000000..5e170d866a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/et.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('et.standard',{ +style_select:"Lang", +font_size:"Font size", +fontdefault:"Font family", +block:"Format", +paragraph:"Paragraph", +div:"Div", +address:"Address", +pre:"Preformatted", +h1:"Heading 1", +h2:"Heading 2", +h3:"Heading 3", +h4:"Heading 4", +h5:"Heading 5", +h6:"Heading 6", +blockquote:"Blockquote", +code:"Code", +samp:"Code sample", +dt:"Definition term ", +dd:"Definition description", +bold_desc:"Rasvane (Ctrl+B)", +italic_desc:"Kursiiv (Ctrl+I)", +underline_desc:"Allajoonitud (Ctrl+U)", +striketrough_desc:"L\u00E4bijoonitud", +justifyleft_desc:"Vasak joondus", +justifycenter_desc:"Keskjoondus", +justifyright_desc:"Parem joondus", +justifyfull_desc:"T\u00E4isjoondus", +bullist_desc:"Ebakorrap\u00E4rane loetelu", +numlist_desc:"Korrap\u00E4rane loetelu", +outdent_desc:"Taanda v\u00E4lja", +indent_desc:"Taanda sisse", +undo_desc:"V\u00F5ta tagasi (Ctrl+Z)", +redo_desc:"Tee uuesti (Ctrl+Y)", +link_desc:"Sisesta/redigeeri link", +unlink_desc:"Eemalda link", +image_desc:"Sisesta/redigeeri pilt", +cleanup_desc:"Puhasta segane kood", +code_desc:"Redigeeri HTML l\u00E4htekoodi", +sub_desc:"Alaindeks", +sup_desc:"\u00DClaindeks", +hr_desc:"Sisesta horisontaalne joonlaud", +removeformat_desc:"Eemalda vormindus", +custom1_desc:"Teie kohandatud kirjeldus siia", +forecolor_desc:"Vali teksti v\u00E4rv", +backcolor_desc:"Vali tausta v\u00E4rv", +charmap_desc:"Sisesta kohandatud kirjam\u00E4rk", +visualaid_desc:"L\u00FClita \u00FCmber juhtjooned/n\u00E4htamatud elemendid", +anchor_desc:"Sisesta/redigeeri ankur", +cut_desc:"L\u00F5ika", +copy_desc:"Kopeeri", +paste_desc:"Kleebi", +image_props_desc:"Pildi kirjeldus", +newdocument_desc:"Uus dokument", +help_desc:"Abi", +blockquote_desc:"Plokkviide", +clipboard_msg:"Kopeeri/L\u00F5ika/Kleebi ei ole Mozillas ja Firefoxis saadaval.\r\nKas soovid rohkem infot selle probleemi kohta?", +path:"Tee", +newdocument:"Oled sa kindel, et tahad kustutada k\u00F5ik sisud?", +toolbar_focus:"H\u00FCppa t\u00F6\u00F6riista nuppudele - Alt+Q, H\u00FCppa redigeerijale - Alt-Z, H\u00FCppa elemendi teele - Alt-X", +more_colors:"Rohkem v\u00E4rve" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/et_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/et_dlg.js new file mode 100644 index 0000000000..b95dbd2bdb --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/et_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('et.standard_dlg',{ +about_title:"About TinyMCE", +about_general:"About", +about_help:"Help", +about_license:"License", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Author", +about_version:"Version", +about_loaded:"Loaded plugins", +anchor_title:"Sisesta/redigeeri ankur", +anchor_name:"Ankru nimi", +code_title:"HTML Source Editor", +code_wordwrap:"Word wrap", +colorpicker_title:"Vali v\u00E4rv", +colorpicker_picker_tab:"Korjaja", +colorpicker_picker_title:"V\u00E4rvi korjaja", +colorpicker_palette_tab:"Palett", +colorpicker_palette_title:"Palett v\u00E4rvid", +colorpicker_named_tab:"Nimetatud", +colorpicker_named_title:"Nimetatud v\u00E4rvid", +colorpicker_color:"V\u00E4rv:", +colorpicker_name:"Nimi:", +charmap_title:"Vali kohandatud t\u00E4hem\u00E4rk", +image_title:"Sisestal/redigeeri pilt", +image_src:"Pildi URL", +image_alt:"Pildi kirjeldus", +image_list:"Pildi loend", +image_border:"Raam", +image_dimensions:"Dimensioonid", +image_vspace:"Vertikaalne vahe", +image_hspace:"Horisontaalne vahe", +image_align:"Reastus", +image_align_baseline:"Kirjajoondus", +image_align_top:"\u00DClemine", +image_align_middle:"Keskmine", +image_align_bottom:"Alumine", +image_align_texttop:"Teksti tipp", +image_align_textbottom:"Teksti p\u00F5hi", +image_align_left:"Vasak", +image_align_right:"Parem", +link_title:"Sisesta/redigeeri link", +link_url:"Link URL", +link_target:"Sihtala", +link_target_same:"Ava link samas aknas", +link_target_blank:"Ava link uues aknas", +link_titlefield:"Tiitel", +link_is_email:"URL, mille te sisestasite, tundub olevat emaili aadress, kas soovite, et lisataks mailto: eesliite?", +link_is_external:"URL, mille sisestasite, tundub olevat v\u00E4line link, kas soovite, et lisataks http:// eesliite?", +link_list:"Lingi loetelu" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fa.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fa.js new file mode 100644 index 0000000000..579b215df9 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fa.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('fa.standard',{ +style_select:"Lang", +font_size:"\u0627\u0646\u062F\u0627\u0632\u0647 \u0642\u0644\u0645", +fontdefault:"\u0646\u0648\u0639 \u0642\u0644\u0645", +block:"\u0642\u0627\u0644\u0628", +paragraph:"\u067E\u0627\u0631\u0627\u06AF\u0631\u0627\u0641", +div:"Div", +address:"\u0622\u062F\u0631\u0633", +pre:"\u0627\u0632 \u0642\u0628\u0644 \u0642\u0627\u0644\u0628\u0646\u062F\u06CC \u0634\u062F\u0647", +h1:"\u0633\u0631\u0641\u0635\u0644 1", +h2:"\u0633\u0631\u0641\u0635\u0644 2", +h3:"\u0633\u0631\u0641\u0635\u0644 3", +h4:"\u0633\u0631\u0641\u0635\u0644 4", +h5:"\u0633\u0631\u0641\u0635\u0644 5", +h6:"\u0633\u0631\u0641\u0635\u0644 6", +blockquote:"\u062C\u0639\u0628\u0647 \u0646\u0642\u0644 \u0642\u0648\u0644", +code:"\u06A9\u062F", +samp:"\u0646\u0645\u0648\u0646\u0647 \u06A9\u062F", +dt:"Definition term ", +dd:"Definition description", +bold_desc:"(Ctrl+B) \u067E\u0631\u0631\u0646\u06AF", +italic_desc:"(Ctrl+I) \u06A9\u062C", +underline_desc:"(Ctrl+U) \u0632\u06CC\u0631\u062E\u0637", +striketrough_desc:"\u062E\u0637 \u062E\u0648\u0631\u062F\u0647", +justifyleft_desc:"\u0686\u067E \u0686\u06CC\u0646", +justifycenter_desc:"\u0648\u0633\u0637 \u0686\u06CC\u0646", +justifyright_desc:"\u0631\u0627\u0633\u062A \u0686\u06CC\u0646", +justifyfull_desc:"\u062A\u0631\u0627\u0632 \u06A9\u0634\u06CC\u062F\u0647", +bullist_desc:"\u0644\u06CC\u0633\u062A \u0633\u0627\u062F\u0647", +numlist_desc:"\u0644\u06CC\u0633\u062A \u0634\u0645\u0627\u0631\u0647\u200C\u062F\u0627\u0631", +outdent_desc:"\u06A9\u0627\u0647\u0634 \u062A\u0648\u0631\u0641\u062A\u06AF\u06CC", +indent_desc:"\u0627\u0641\u0632\u0627\u06CC\u0634 \u062A\u0648\u0631\u0641\u062A\u06AF\u06CC", +undo_desc:"(Ctrl+Z) \u0628\u0627\u0637\u0644 \u0646\u0645\u0648\u062F\u0646", +redo_desc:"(Ctrl+Y) \u062A\u06A9\u0631\u0627\u0631", +link_desc:"\u062F\u0631\u062C/\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0644\u06CC\u0646\u06A9", +unlink_desc:"\u062D\u0630\u0641 \u0644\u06CC\u0646\u06A9", +image_desc:"\u062F\u0631\u062C/\u0648\u06CC\u0631\u0627\u06CC\u0634 \u062A\u0635\u0648\u06CC\u0631", +cleanup_desc:"\u067E\u0627\u06A9 \u0633\u0627\u0632\u06CC \u06A9\u062F\u0647\u0627\u06CC \u0622\u0634\u0641\u062A\u0647", +code_desc:"HTML \u0648\u06CC\u0631\u0627\u06CC\u0634 \u06A9\u062F", +sub_desc:"(\u0632\u06CC\u0631\u0646\u0648\u06CC\u0633 (\u0627\u0646\u062F\u06CC\u0633", +sup_desc:"(\u0628\u0627\u0644\u0627\u0646\u0648\u06CC\u0633 (\u062A\u0648\u0627\u0646", +hr_desc:"\u062F\u0631\u062C \u062E\u0637 \u0627\u0641\u0642\u06CC", +removeformat_desc:"\u062D\u0630\u0641 \u0633\u0628\u06A9", +custom1_desc:"\u0645\u062D\u0644 \u062A\u0648\u0636\u06CC\u062D \u062F\u0644\u062E\u0648\u0627\u0647 \u0634\u0645\u0627", +forecolor_desc:"\u0631\u0646\u06AF \u0645\u062A\u0646 \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F", +backcolor_desc:"\u0631\u0646\u06AF \u067E\u0633 \u0632\u0645\u06CC\u0646\u0647 \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F", +charmap_desc:"\u062F\u0631\u062C \u06A9\u0627\u0631\u0627\u06A9\u062A\u0631 \u062F\u0644\u062E\u0648\u0627\u0647", +visualaid_desc:"\u062A\u063A\u06CC\u06CC\u0631 \u0648\u0636\u0639\u06CC\u062A \u062E\u0637\u0648\u0637 \u0631\u0627\u0647\u0646\u0645\u0627/\u0639\u0646\u0627\u0635\u0631 \u0645\u062E\u0641\u06CC", +anchor_desc:"\u062F\u0631\u062C/\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0645\u0631\u062C\u0639", +cut_desc:"\u0628\u0631\u0634", +copy_desc:"\u0631\u0648\u0646\u0648\u0634\u062A", +paste_desc:"\u0686\u0633\u0628\u0627\u0646\u062F\u0646", +image_props_desc:"\u062A\u0646\u0638\u06CC\u0645\u0627\u062A \u062A\u0635\u0648\u06CC\u0631", +newdocument_desc:"\u0633\u0646\u062F \u062C\u062F\u06CC\u062F", +help_desc:"\u0631\u0627\u0647\u0646\u0645\u0627", +blockquote_desc:"\u062C\u0639\u0628\u0647 \u0646\u0642\u0644 \u0642\u0648\u0644", +clipboard_msg:"\u0631\u0648\u0646\u0648\u0634\u062A/\u0628\u0631\u0634/\u062C\u0627\u06CC\u06AF\u0630\u0627\u0631\u06CC \u062F\u0631 \u0645\u0631\u0648\u0631\u06AF\u0631\u0647\u0627\u06CC \u0645\u0648\u0632\u06CC\u0644\u0627 \u0648 \u0641\u0627\u06CC\u0631\u0641\u0627\u06A9\u0633 \u0648\u062C\u0648\u062F \u0646\u062F\u0627\u0631\u0646\u062F.\r\n\u0622\u06CC\u0627 \u0628\u0647 \u0627\u0637\u0644\u0627\u0639\u0627\u062A \u0628\u06CC\u0634\u062A\u0631\u06CC \u062F\u0631 \u0627\u06CC\u0646 \u0632\u0645\u06CC\u0646\u0647 \u0646\u06CC\u0627\u0632 \u062F\u0627\u0631\u06CC\u062F\u061F", +path:"\u0645\u0633\u064A\u0631", +newdocument:"\u0622\u06CC\u0627 \u0645\u0637\u0645\u0626\u0646\u06CC\u062F \u06A9\u0647 \u0645\u0647\u0645 \u0645\u062D\u062A\u0648\u06CC\u0627\u062A \u0631\u0627 \u067E\u0627\u06A9 \u0645\u06CC \u06A9\u0646\u06CC\u062F\u061F", +toolbar_focus:"\u067E\u0631\u0634 \u0628\u0647 \u06A9\u0644\u06CC\u062F\u0647\u0627\u06CC \u0627\u0628\u0632\u0627\u0631 - Alt+Q, \u067E\u0631\u0634 \u0628\u0647 \u0648\u06CC\u0631\u0627\u06CC\u0634\u06AF\u0631 - Alt-Z, \u067E\u0631\u0634 \u0628\u0647 \u0645\u0633\u06CC\u0631 \u0639\u0646\u0635\u0631 - Alt-X", +more_colors:"\u0631\u0646\u06AF\u200C\u0647\u0627\u06CC \u0628\u06CC\u0634\u062A\u0631" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fa_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fa_dlg.js new file mode 100644 index 0000000000..6ebf77898f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fa_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('fa.standard_dlg',{ +about_title:"About TinyMCE", +about_general:"\u062F\u0631\u0628\u0627\u0631\u0647", +about_help:"\u0631\u0627\u0647\u0646\u0645\u0627", +about_license:"\u0627\u062C\u0627\u0632\u0647 \u0646\u0627\u0645\u0647", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Author", +about_version:"\u0646\u06AF\u0627\u0631\u0634", +about_loaded:"Loaded plugins", +anchor_title:"\u062F\u0631\u062C/\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0645\u0631\u062C\u0639", +anchor_name:"\u0646\u0627\u0645 \u0645\u0631\u062C\u0639", +code_title:"HTML Source Editor", +code_wordwrap:"Word wrap", +colorpicker_title:"\u0631\u0646\u06AF\u06CC \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F", +colorpicker_picker_tab:"Picker", +colorpicker_picker_title:"Color picker", +colorpicker_palette_tab:"Palette", +colorpicker_palette_title:"Palette colors", +colorpicker_named_tab:"Named", +colorpicker_named_title:"Named colors", +colorpicker_color:"\u0631\u0646\u06AF:", +colorpicker_name:"\u0646\u0627\u0645:", +charmap_title:"\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631 \u062F\u0644\u062E\u0648\u0627\u0647 \u0631\u0627 \u0627\u0646\u062A\u062E\u0627\u0628 \u06A9\u0646\u06CC\u062F", +image_title:"\u062F\u0631\u062C/\u0648\u06CC\u0631\u0627\u06CC\u0634 \u062A\u0635\u0648\u06CC\u0631", +image_src:"\u062A\u0635\u0648\u06CC\u0631 URL", +image_alt:"\u062A\u0648\u0636\u06CC\u062D\u0627\u062A \u062A\u0635\u0648\u06CC\u0631", +image_list:"Image list", +image_border:"\u062D\u0627\u0634\u06CC\u0647", +image_dimensions:"\u0627\u0628\u0639\u0627\u062F", +image_vspace:"\u0641\u0636\u0627\u06CC \u0639\u0645\u0648\u062F\u06CC", +image_hspace:"\u0641\u0636\u0627\u06CC \u0627\u0641\u0642\u06CC", +image_align:"\u062A\u0631\u0627\u0632", +image_align_baseline:"\u062E\u0637 \u0632\u0645\u06CC\u0646\u0647", +image_align_top:"\u0628\u0627\u0644\u0627", +image_align_middle:"\u0648\u0633\u0637", +image_align_bottom:"\u067E\u0627\u06CC\u06CC\u0646", +image_align_texttop:"Text top", +image_align_textbottom:"Text bottom", +image_align_left:"\u0686\u067E", +image_align_right:"\u0631\u0627\u0633\u062A", +link_title:"\u062F\u0631\u062C/\u0648\u06CC\u0631\u0627\u06CC\u0634 \u0644\u06CC\u0646\u06A9", +link_url:"\u0644\u06CC\u0646\u06A9 URL", +link_target:"\u0647\u062F\u0641", +link_target_same:"\u0628\u0627\u0632\u0634\u062F\u0646 \u062F\u0631 \u0647\u0645\u0627\u0646 \u067E\u0646\u062C\u0631\u0647", +link_target_blank:"\u0628\u0627\u0632\u0634\u062F\u0646 \u062F\u0631 \u067E\u0646\u062C\u0631\u0647 \u062C\u062F\u06CC\u062F", +link_titlefield:"\u0639\u0646\u0648\u0627\u0646", +link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", +link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", +link_list:"Link list" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fi.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fi.js new file mode 100644 index 0000000000..03664f116f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fi.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('fi.standard',{ +style_select:"Lang", +font_size:"Fonttikoko", +fontdefault:"Fontti", +block:"Muotoilu", +paragraph:"Kappale", +div:"Div", +address:"Osoite", +pre:"Esimuotoiltu (pre)", +h1:"Otsikko 1", +h2:"Otsikko 2", +h3:"Otsikko 3", +h4:"Otsikko 4", +h5:"Otsikko 5", +h6:"Otsikko 6", +blockquote:"Pitk\u00E4 lainaus", +code:"Koodi", +samp:"Koodi esimerkki", +dt:"M\u00E4\u00E4rittelyn ehto ", +dd:"M\u00E4\u00E4rittelyn kuvaus", +bold_desc:"Lihavoitu (Ctrl+B)", +italic_desc:"Kursivoitu (Ctrl+I)", +underline_desc:"Alleviivattu (Ctrl+U)", +striketrough_desc:"Yliviivattu", +justifyleft_desc:"Tasaus vasemmalle", +justifycenter_desc:"Keskitetty", +justifyright_desc:"Tasaus oikealle", +justifyfull_desc:"Tasattu", +bullist_desc:"J\u00E4rjest\u00E4m\u00E4t\u00F6n lista", +numlist_desc:"J\u00E4rjestetty lista", +outdent_desc:"V\u00E4henn\u00E4 sisennyst\u00E4", +indent_desc:"Sisenn\u00E4", +undo_desc:"Peru (Ctrl+Z)", +redo_desc:"Tee uudelleen (Ctrl+Y)", +link_desc:"Lis\u00E4\u00E4/muuta linkki", +unlink_desc:"Poista linkki", +image_desc:"Lis\u00E4\u00E4/muuta kuva", +cleanup_desc:"Siisti sekainen koodi", +code_desc:"Editoi HTML-koodia", +sub_desc:"Alaindeksi", +sup_desc:"Yl\u00E4indeksi", +hr_desc:"Lis\u00E4\u00E4 vaakasuora viivain", +removeformat_desc:"Poista muotoilu", +custom1_desc:"Oma kuvauksesi t\u00E4h\u00E4n", +forecolor_desc:"Valitse tekstin v\u00E4ri", +backcolor_desc:"Valitse taustan v\u00E4ri", +charmap_desc:"Lis\u00E4\u00E4 erikoismerkki", +visualaid_desc:"Suuntaviivat/N\u00E4kym\u00E4tt\u00F6m\u00E4t elementit", +anchor_desc:"Lis\u00E4\u00E4/Muokkaa ankkuri", +cut_desc:"Leikkaa", +copy_desc:"Kopioi", +paste_desc:"Liit\u00E4", +image_props_desc:"Kuvan ominaisuudet", +newdocument_desc:"Uusi tiedosto", +help_desc:"Ohje", +blockquote_desc:"Pitk\u00E4 lainaus", +clipboard_msg:"Kopioi/Leikkaa/Liit\u00E4 -painikkeet eiv\u00E4t toimi Mozilla ja Firefox-selaimilla. Voit kuitenkin k\u00E4ytt\u00E4\u00E4 n\u00E4pp\u00E4inyhdistelmi\u00E4 kopioimiseen (ctrl+c), leikkaamiseen (ctrl+x) ja liitt\u00E4miseen (ctrl+v).\r\nHalutatko lis\u00E4\u00E4 tietoa?", +path:"Polku", +newdocument:"Haluatko varmasti tyhjent\u00E4\u00E4 kaiken sis\u00E4ll\u00F6n?", +toolbar_focus:"Siirry ty\u00F6kaluihin - Alt+Q, Siirry tekstieditoriin - Alt-Z, Siirry elementin polkuun - Alt-X", +more_colors:"Enemm\u00E4n v\u00E4rej\u00E4" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fi_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fi_dlg.js new file mode 100644 index 0000000000..2c0f834982 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fi_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('fi.standard_dlg',{ +about_title:"Tietoja TinyMCE:st\u00E4", +about_general:"Tietoja", +about_help:"Ohje", +about_license:"Lisenssi", +about_plugins:"Lis\u00E4osat", +about_plugin:"Lis\u00E4osa", +about_author:"Kirjoittaja", +about_version:"Versio", +about_loaded:"Ladatut lis\u00E4osat", +anchor_title:"Liit\u00E4/muokkaa ankkuria", +anchor_name:"Ankkurin nimi", +code_title:"HTML-koodin muokkaus", +code_wordwrap:"Automaattinen rivinvaihto", +colorpicker_title:"Valitse v\u00E4ri", +colorpicker_picker_tab:"Valitsin", +colorpicker_picker_title:"V\u00E4rin valitsin", +colorpicker_palette_tab:"Paletti", +colorpicker_palette_title:"V\u00E4ripalette", +colorpicker_named_tab:"Nimetty", +colorpicker_named_title:"Nimetyt v\u00E4rit", +colorpicker_color:"V\u00E4ri:", +colorpicker_name:"Nimi:", +charmap_title:"Valitse erikoismerkki", +image_title:"Lis\u00E4\u00E4/muokkaa kuvaa", +image_src:"Kuvan osoite", +image_alt:"Kuvan kuvaus", +image_list:"Kuvalista", +image_border:"Reunus", +image_dimensions:"Mitat", +image_vspace:"Pystysuuntainen tila", +image_hspace:"Vaakasuuntainen tila", +image_align:"Tasaus", +image_align_baseline:"Tekstin tasossa", +image_align_top:"Yl\u00F6s", +image_align_middle:"Keskelle", +image_align_bottom:"Alas", +image_align_texttop:"Tekstin yl\u00E4osaan", +image_align_textbottom:"Tekstin alaosaan", +image_align_left:"Vasemmalle", +image_align_right:"Oikealle", +link_title:"Lis\u00E4\u00E4/muuta linkki", +link_url:"Linkin osoite", +link_target:"Kohde", +link_target_same:"Avaa linkki samassa ikkunassa", +link_target_blank:"Avaa linkki uuteen ikkunaan", +link_titlefield:"Otsikko", +link_is_email:"Antamasi osoite n\u00E4ytt\u00E4\u00E4 olevan s\u00E4\u00E4hk\u00F6postiosoite. Haluatko lis\u00E4t\u00E4 siihen mailto:-etuliitteen?", +link_is_external:"Antamasi osoite n\u00E4ytt\u00E4\u00E4 johtavan ulkopuoliselle sivustolle. Haluatko lis\u00E4t\u00E4 linkin eteen http://-etuliitteen? (suositus)", +link_list:"Linkkilista" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr.js new file mode 100644 index 0000000000..f1a4787d8d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('fr.standard',{ +style_select:"Lang", +font_size:"Taille de la police", +fontdefault:"Famille de police", +block:"Format", +paragraph:"Paragraphe", +div:"Div", +address:"Adresse", +pre:"Preformatt\u00E9", +h1:"Titre 1", +h2:"Titre 2", +h3:"Titre 3", +h4:"Titre 4", +h5:"Titre 5", +h6:"Titre 6", +blockquote:"Citation", +code:"Code", +samp:"Exemple de code", +dt:"Terme \u00E0 d\u00E9finir", +dd:"D\u00E9finition du terme", +bold_desc:"Gras (Ctrl+B)", +italic_desc:"Italique (Ctrl+I)", +underline_desc:"Soulign\u00E9 (Ctrl+U)", +striketrough_desc:"Barr\u00E9", +justifyleft_desc:"Align\u00E9 \u00E0 gauche", +justifycenter_desc:"Centr\u00E9", +justifyright_desc:"Align\u00E9 \u00E0 droite", +justifyfull_desc:"Justifi\u00E9", +bullist_desc:"Liste non-num\u00E9rot\u00E9e", +numlist_desc:"Liste num\u00E9rot\u00E9e", +outdent_desc:"Retirer l'indentation", +indent_desc:"Indenter", +undo_desc:"D\u00E9faire (Ctrl+Z)", +redo_desc:"Refaire (Ctrl+Y)", +link_desc:"Ins\u00E9rer/\u00C9diter le lien", +unlink_desc:"D\u00E9lier", +image_desc:"Ins\u00E9rer/\u00C9diter l'image", +cleanup_desc:"Nettoyer le code non propre", +code_desc:"\u00C9diter source HTML", +sub_desc:"Indice", +sup_desc:"Exposant", +hr_desc:"Ins\u00E9rer trait horizontal", +removeformat_desc:"Enlever formattage", +custom1_desc:"Votre description personnalis\u00E9e ici", +forecolor_desc:"Choisir la couleur du texte", +backcolor_desc:"Choisir la couleur de surlignage", +charmap_desc:"Ins\u00E9rer caract\u00E8res sp\u00E9ciaux", +visualaid_desc:"Activer/d\u00E9sactiver les guides et les \u00E9l\u00E9ments invisibles", +anchor_desc:"Ins\u00E9rer/\u00C9diter ancre", +cut_desc:"Couper", +copy_desc:"Copier", +paste_desc:"Coller", +image_props_desc:"Propri\u00E9t\u00E9s de l'image", +newdocument_desc:"Nouveau document", +help_desc:"Aide", +blockquote_desc:"Citation", +clipboard_msg:"Copier/Couper/Coller n'est pas disponible sous Mozilla et sous Firefox.\n\r\n Voulez-vous plus d'information sur ce probl\u00E8me\u00A0?", +path:"Chemin", +newdocument:"\u00CAtes-vous s\u00FBr de vouloir effacer l'enti\u00E8ret\u00E9 du document\u00A0?", +toolbar_focus:"Aller aux boutons de l'\u00E9diteur - Alt+Q, Aller \u00E0 l'\u00E9diteur - Alt-Z, Aller au chemin de l'\u00E9l\u00E9ment - Alt-X", +more_colors:"Plus de couleurs" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr_ca.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr_ca.js new file mode 100644 index 0000000000..52a155c14c --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr_ca.js @@ -0,0 +1,64 @@ +// Canadian French lang variables by Virtuelcom last modification: 2005-06-15 + +tinyMCE.addToLang('',{ +theme_style_select : '-- Styles --', +theme_code_desc : 'Modifier le code source HTML', +theme_code_title : 'Éditeur de code source HTML', +theme_code_wordwrap : 'Word wrap', +theme_sub_desc : 'Souscrit', +theme_sup_desc : 'Indice supérieur', +theme_hr_desc : 'Insérer un séparateur horizontal', +theme_removeformat_desc : 'Supprimer le formattage', +theme_custom1_desc : 'Votre description personnalisée ici', +insert_image_border : 'Bordure', +insert_image_dimensions : 'Dimensions', +insert_image_vspace : 'VSpace', +insert_image_hspace : 'HSpace', +insert_image_align : 'Alignement', +insert_image_align_default : 'Défaut', +insert_image_align_baseline : 'Baseline', +insert_image_align_top : 'Haut', +insert_image_align_middle : 'Milieu', +insert_image_align_bottom : 'Bas', +insert_image_align_texttop : 'TextTop', +insert_image_align_absmiddle : 'Milieu absolu', +insert_image_align_absbottom : 'Bas absolu', +insert_image_align_left : 'Gauche', +insert_image_align_right : 'Droit', +theme_font_size : 'Taille', +theme_fontdefault : '-- Police --', +theme_block : '-- Format --', +theme_paragraph : 'Paragraphe', +theme_div : 'Div', +theme_address : 'Addresse', +theme_pre : 'Préformatté', +theme_h1 : 'Entête 1', +theme_h2 : 'Entête 2', +theme_h3 : 'Entête 3', +theme_h4 : 'Entête 4', +theme_h5 : 'Entête 5', +theme_h6 : 'Entête 6', +theme_colorpicker_title : 'Choisir une couleur', +theme_colorpicker_apply : 'Appliquer', +theme_forecolor_desc : 'Choisir la couleur d\'avant plan', +theme_backcolor_desc : 'Choisir une couleur d\'arrière plan', +theme_charmap_title : 'Sélectionner un charactère spécial', +theme_charmap_desc : 'Insérer un charactère spécial', +theme_visualaid_desc : 'Active/Désactive les lignes guides et les éléments invisibles', +insert_anchor_title : 'Insérer/Modifier une ancre', +insert_anchor_name : 'Nom de l\'ancre', +theme_anchor_desc : 'Insérer / Modifier une ancre', +theme_insert_link_titlefield : 'Titre', +theme_clipboard_msg : 'Copier/Couper/Coller ne sont pas disponibles dans Mozilla et FireFox.\nDésirez-vous consulter de plus amples informations à ce sujet?', +theme_path : 'Chemin', +cut_desc : 'Couper', +copy_desc : 'Copier', +paste_desc : 'Coller', +link_list : 'Liste de liens', +image_list : 'Liste d\'images', +browse : 'Sélectionner', +image_props_desc : 'Propriétés de l\'image', +newdocument_desc : 'Nouveau Document', +class_name : 'Classe', +newdocument : 'Are you sure you want clear all contents?' +}); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr_dlg.js new file mode 100644 index 0000000000..9dfe7d88c9 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/fr_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('fr.standard_dlg',{ +about_title:"\u00C0 propos de TinyMCE", +about_general:"\u00C0 propos", +about_help:"Aide", +about_license:"Licence", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Auteur", +about_version:"Version", +about_loaded:"Plugins charg\u00E9s", +anchor_title:"Ins\u00E9rer/\u00C9diter ancre", +anchor_name:"Nom de l'ancre", +code_title:"\u00C9diteur de la source HTML", +code_wordwrap:"Rupture de ligne", +colorpicker_title:"Choisir une couleur", +colorpicker_picker_tab:"Nuancier", +colorpicker_picker_title:"Nuancier", +colorpicker_palette_tab:"Palette", +colorpicker_palette_title:"Couleurs de la palette", +colorpicker_named_tab:"Noms", +colorpicker_named_title:"Couleurs nomm\u00E9es", +colorpicker_color:"Couleur :", +colorpicker_name:"Nom :", +charmap_title:"Choisir le caract\u00E8re \u00E0 ins\u00E9rer", +image_title:"Ins\u00E9rer/\u00C9diter image", +image_src:"URL de l'image", +image_alt:"Description de l'image", +image_list:"Liste d'images", +image_border:"Bordure", +image_dimensions:"Dimensions", +image_vspace:"Espacement vertical", +image_hspace:"Espacement horizontal", +image_align:"Alignement", +image_align_baseline:"Base", +image_align_top:"Sommet", +image_align_middle:"Milieu", +image_align_bottom:"Bas", +image_align_texttop:"Haut du texte", +image_align_textbottom:"Bas du texte", +image_align_left:"Gauche", +image_align_right:"Droite", +link_title:"Ins\u00E9rer/\u00C9diter lien", +link_url:"URL du lien", +link_target:"Cible", +link_target_same:"Ouvrir dans la m\u00EAme fen\u00EAtre", +link_target_blank:"Ouvrir dans une nouvelle fen\u00EAtre", +link_titlefield:"Titre", +link_is_email:"L'url que vous avez entr\u00E9 semble \u00EAtre une adresse e-mail, voulez-vous ajouter le pr\u00E9fixe mailto:\u00A0?", +link_is_external:"L'url que vous avez entr\u00E9 semble \u00EAtre une adresse web externe, voulez-vous ajouter le pr\u00E9fixe http://\u00A0?", +link_list:"Liste de liens" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/he.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/he.js new file mode 100644 index 0000000000..ccb55faeac --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/he.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('he.standard',{ +style_select:"Lang", +font_size:"\u05D2\u05D5\u05D3\u05DC \u05D2\u05D5\u05E4\u05DF", +fontdefault:"\u05D2\u05D5\u05E4\u05DF", +block:"\u05E2\u05D9\u05E6\u05D5\u05D1", +paragraph:"\u05E4\u05E1\u05E7\u05D4", +div:"Div", +address:"\u05DB\u05EA\u05D5\u05D1\u05EA", +pre:"Preformatted", +h1:"\u05DB\u05D5\u05EA\u05E8\u05EA 1", +h2:"\u05DB\u05D5\u05EA\u05E8\u05EA 2", +h3:"\u05DB\u05D5\u05EA\u05E8\u05EA 3", +h4:"\u05DB\u05D5\u05EA\u05E8\u05EA 4", +h5:"\u05DB\u05D5\u05EA\u05E8\u05EA 5", +h6:"\u05DB\u05D5\u05EA\u05E8\u05EA 6", +blockquote:"\u05E6\u05D9\u05D8\u05D5\u05D8 \u05D1\u05DC\u05D5\u05E7", +code:"\u05E7\u05D5\u05D3", +samp:"\u05D3\u05D5\u05D2\u05DE\u05EA \u05E7\u05D5\u05D3", +dt:"\u05DE\u05D5\u05E9\u05D2", +dd:"\u05D4\u05D2\u05D3\u05E8\u05EA \u05D4\u05DE\u05D5\u05E9\u05D2", +bold_desc:"\u05DE\u05D5\u05D3\u05D2\u05E9 (Ctrl+B)", +italic_desc:"\u05E0\u05D8\u05D5\u05D9 (Ctrl+I)", +underline_desc:"\u05E7\u05D5 \u05EA\u05D7\u05EA\u05D5\u05DF(Ctrl+U)", +striketrough_desc:"\u05E7\u05D5 \u05D7\u05D5\u05E6\u05D4", +justifyleft_desc:"\u05D9\u05E9\u05E8 \u05D8\u05E7\u05E1\u05D8 \u05DC\u05E9\u05DE\u05D0\u05DC", +justifycenter_desc:"\u05DE\u05E8\u05DB\u05D6", +justifyright_desc:"\u05D9\u05E9\u05E8 \u05D8\u05E7\u05E1\u05D8 \u05DC\u05D9\u05DE\u05D9\u05DF", +justifyfull_desc:"\u05D9\u05E9\u05E8 \u05DC\u05E9\u05E0\u05D9 \u05D4\u05E6\u05D3\u05D3\u05D9\u05DD", +bullist_desc:"\u05EA\u05D1\u05DC\u05D9\u05D8\u05D9\u05DD", +numlist_desc:"\u05DE\u05E1\u05E4\u05D5\u05E8", +outdent_desc:"\u05D4\u05D2\u05D3\u05DC \u05DB\u05E0\u05D9\u05E1\u05D4", +indent_desc:"\u05D4\u05E7\u05D8\u05DF \u05DB\u05E0\u05D9\u05E1\u05D4", +undo_desc:"\u05D1\u05D8\u05DC \u05E4\u05E2\u05D5\u05DC\u05D4 (Ctrl+Z)", +redo_desc:"\u05D7\u05D6\u05D5\u05E8 \u05E4\u05E2\u05D5\u05DC\u05D4 (Ctrl+Y)", +link_desc:"\u05D4\u05D5\u05E1\u05E3\\u05E2\u05E8\u05DA \u05D4\u05D9\u05E4\u05E8-\u05E7\u05D9\u05E9\u05D5\u05E8", +unlink_desc:"\u05D4\u05E1\u05E8 \u05D4\u05D9\u05E4\u05E8-\u05E7\u05D9\u05E9\u05D5\u05E8", +image_desc:"\u05D4\u05D5\u05E1\u05E3\\u05E2\u05E8\u05DA \u05EA\u05DE\u05D5\u05E0\u05D4", +cleanup_desc:"\u05E0\u05E7\u05D4 \u05E7\u05D5\u05D3", +code_desc:"\u05E2\u05E8\u05DA \u05E7\u05D5\u05D3 HTML", +sub_desc:"\u05DB\u05EA\u05D1 \u05E2\u05D9\u05DC\u05D9", +sup_desc:"\u05DB\u05EA\u05D1 \u05EA\u05D7\u05EA\u05D9", +hr_desc:"\u05D4\u05D5\u05E1\u05E3 \u05E7\u05D5 \u05DE\u05EA\u05D7", +removeformat_desc:"\u05D4\u05E1\u05E8 \u05E2\u05D9\u05E6\u05D5\u05D1", +custom1_desc:"\u05D4\u05EA\u05D0\u05D5\u05E8 \u05E9\u05DC\u05DA \u05DB\u05D0\u05D5", +forecolor_desc:"\u05D1\u05D7\u05E8 \u05E6\u05D1\u05E2 \u05D2\u05D5\u05E4\u05DF", +backcolor_desc:"\u05D1\u05D7\u05E8 \u05E6\u05D1\u05E2 \u05E8\u05E7\u05E2", +charmap_desc:"\u05D4\u05D5\u05E1\u05E3 \u05E1\u05D9\u05DE\u05DF", +visualaid_desc:"\u05D4\u05E6\u05D2\u05D4 \u05D0\u05D5 \u05D4\u05E1\u05EA\u05E8\u05D4 \u05E9\u05DC \u05E1\u05D9\u05DE\u05D5\u05E0\u05D9 \u05E2\u05D9\u05E6\u05D5\u05D1", +anchor_desc:"\u05D4\u05D5\u05E1\u05E3\\u05E2\u05E8\u05DA \u05E1\u05D9\u05DE\u05E0\u05D9\u05D4", +cut_desc:"\u05D2\u05D6\u05D5\u05E8", +copy_desc:"\u05D4\u05E2\u05EA\u05E7", +paste_desc:"\u05D4\u05D3\u05D1\u05E7", +image_props_desc:"\u05DE\u05E2\u05E4\u05D9\u05D9\u05E0\u05D9 \u05D4\u05EA\u05DE\u05D5\u05E0\u05D4", +newdocument_desc:"\u05DE\u05E1\u05DE\u05DA \u05D7\u05D3\u05E9", +help_desc:"\u05E2\u05D6\u05E8\u05D4", +blockquote_desc:"\u05E6\u05D9\u05D8\u05D5\u05D8", +clipboard_msg:"\u05D4\u05E2\u05EA\u05E7\\u05D2\u05D6\u05D5\u05E8\\u05D4\u05D3\u05D1\u05E7 \u05DC\u05D0 \u05D6\u05DE\u05D9\u05E0\u05D9\u05DD \u05D1 Mozilla \u05D5\u05D1-Firefox.\r\n \u05D4\u05D0\u05DD \u05D1\u05E8\u05E6\u05D5\u05E0\u05DA \u05DC\u05E7\u05D1\u05DC \u05DE\u05D9\u05D3\u05E2 \u05E0\u05D5\u05E1\u05E3 \u05E2\u05DC \u05D4\u05E0\u05D5\u05E9\u05D0?", +path:"\u05E0\u05EA\u05D9\u05D1", +newdocument:"\u05D4\u05D0\u05DD \u05D1\u05E8\u05E6\u05D5\u05E0\u05DA \u05DC\u05DE\u05D7\u05D5\u05E7 \u05D0\u05EA \u05DB\u05DC \u05D4\u05EA\u05D5\u05DB\u05DF?", +toolbar_focus:"\u05D4\u05E2\u05D1\u05E8\u05D4 \u05DC\u05D1\u05E8\u05D2\u05DC \u05DB\u05DC\u05D9\u05DD - Alt+Q, \u05D4\u05E2\u05D1\u05E8\u05D4 \u05DC\u05DE\u05E2\u05D1\u05D3 \u05EA\u05DE\u05DC\u05D9\u05DC\u05D9\u05DD - Alt-Z, \u05D4\u05E2\u05D1\u05E8\u05D4 \u05DC\u05E0\u05EA\u05D9\u05D1 \u05D4\u05D0\u05DC\u05DE\u05D8\u05D9\u05DD - Alt-X", +more_colors:"\u05E2\u05D5\u05D3 \u05E6\u05D1\u05E2\u05D9\u05DD" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/he_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/he_dlg.js new file mode 100644 index 0000000000..ae56528b2a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/he_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('he.standard_dlg',{ +about_title:"\u05D0\u05D5\u05D3\u05D5\u05EA TinyMCE", +about_general:"\u05D0\u05D5\u05D3\u05D5\u05EA", +about_help:"\u05D0\u05D6\u05E8\u05E2", +about_license:"\u05E8\u05E9\u05D9\u05D5\u05DF", +about_plugins:"\u05EA\u05D5\u05E1\u05E4\u05D5\u05EA", +about_plugin:"\u05EA\u05D5\u05E1\u05E4\u05EA", +about_author:"\u05D9\u05D5\u05E6\u05E8", +about_version:"\u05D2\u05D9\u05E8\u05E1\u05D4", +about_loaded:"\u05EA\u05D5\u05E1\u05E4\u05D5\u05EA \u05E4\u05E2\u05D9\u05DC\u05D5\u05EA", +anchor_title:"\u05D4\u05D5\u05E1\u05E3\\u05E2\u05E8\u05DA \u05E1\u05D9\u05DE\u05E0\u05D9\u05D4", +anchor_name:"\u05E9\u05DD \u05D4\u05E1\u05D9\u05DE\u05E0\u05D9\u05D4", +code_title:"\u05E2\u05D5\u05E8\u05DA \u05D4-HTML", +code_wordwrap:"\u05D4\u05E2\u05D1\u05E8\u05EA \u05DE\u05D9\u05DC\u05D9\u05DD", +colorpicker_title:"\u05D1\u05D7\u05E8 \u05E6\u05D1\u05E2", +colorpicker_picker_tab:"\u05D1\u05D5\u05E8\u05E8", +colorpicker_picker_title:"\u05D1\u05D5\u05E8\u05E8 \u05D4\u05E6\u05D1\u05E2\u05D9\u05DD", +colorpicker_palette_tab:"\u05DC\u05D5\u05D7 \u05E6\u05D1\u05E2\u05D9\u05DD", +colorpicker_palette_title:"\u05DC\u05D5\u05D7 \u05E6\u05D1\u05E2\u05D9\u05DD", +colorpicker_named_tab:"\u05DB\u05E0\u05D5\u05D9", +colorpicker_named_title:"\u05E6\u05D1\u05E2\u05D9\u05DD \u05DB\u05E0\u05D5\u05D9\u05DD", +colorpicker_color:"\u05E6\u05D1\u05E2:", +colorpicker_name:"\u05E9\u05DD:", +charmap_title:"\u05D1\u05D7\u05E8 \u05E1\u05D9\u05DE\u05DF", +image_title:"\u05D4\u05D5\u05E1\u05E3\\u05E2\u05E8\u05DA \u05EA\u05DE\u05D5\u05E0\u05D4", +image_src:"\u05DB\u05EA\u05D5\u05D1\u05EA:", +image_alt:"\u05EA\u05D9\u05D0\u05D5\u05E8", +image_list:"\u05E8\u05E9\u05D9\u05DE\u05D4", +image_border:"\u05D2\u05D1\u05D5\u05DC", +image_dimensions:"\u05D2\u05D5\u05D3\u05DC", +image_vspace:"\u05E8\u05D5\u05D5\u05D7 \u05D0\u05E0\u05DB\u05D9", +image_hspace:"\u05E8\u05D5\u05D5\u05D7 \u05D0\u05D5\u05E4\u05E7\u05D9", +image_align:"\u05D9\u05E9\u05E8", +image_align_baseline:"\u05E7\u05D5 \u05D4\u05D4\u05EA\u05D7\u05DC\u05D4", +image_align_top:"\u05E7\u05E6\u05D4 \u05D4\u05E2\u05DC\u05D9\u05D5\u05DF", +image_align_middle:"\u05D0\u05DE\u05E6\u05E2", +image_align_bottom:"\u05E7\u05E6\u05D4 \u05D4\u05EA\u05D7\u05EA\u05D5\u05DF", +image_align_texttop:"\u05E7\u05E6\u05D4 \u05D4\u05E2\u05DC\u05D9\u05D5\u05DF \u05E9\u05DC \u05D4\u05D8\u05E7\u05E1\u05D8", +image_align_textbottom:"\u05E7\u05E6\u05D4 \u05D4\u05EA\u05D7\u05EA\u05D5\u05DF \u05E9\u05DC \u05D4\u05D8\u05E7\u05E1\u05D8", +image_align_left:"\u05E9\u05DE\u05D0\u05DC", +image_align_right:"\u05D9\u05DE\u05D9\u05DF", +link_title:"\u05D4\u05D5\u05E1\u05E3\\u05E2\u05E8\u05DA link", +link_url:"\u05DB\u05EA\u05D5\u05D1\u05EA \u05D4\u05D4\u05D9\u05E4\u05E8-\u05E7\u05D9\u05E9\u05D5\u05E8", +link_target:"\u05D9\u05E2\u05D3", +link_target_same:"Open link in the same window", +link_target_blank:"Open link in a new window", +link_titlefield:"\u05DB\u05D5\u05EA\u05E8\u05EA", +link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", +link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", +link_list:"Link list" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hr.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hr.js new file mode 100644 index 0000000000..c1681b38ea --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hr.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('hr.standard',{ +style_select:"Lang", +font_size:"Veli\u010Dina pisma", +fontdefault:"Vrsta pisma", +block:"Format", +paragraph:"Paragraf", +div:"Div", +address:"Adresa", +pre:"Oblikovano", +h1:"Naslov 1", +h2:"Naslov 2", +h3:"Naslov 3", +h4:"Naslov 4", +h5:"Naslov 5", +h6:"Naslov 6", +blockquote:"Citat", +code:"Kod", +samp:"Primjer koda", +dt:"Definicija pojma", +dd:"Opis definicije", +bold_desc:"Podebljaj (Ctrl+B)", +italic_desc:"Kurziv (Ctrl+I)", +underline_desc:"Podcrtaj (Ctrl+U)", +striketrough_desc:"Precrtaj", +justifyleft_desc:"Poravnaj lijevo", +justifycenter_desc:"Centriraj", +justifyright_desc:"Poravnaj desno", +justifyfull_desc:"Poravnaj potpuno", +bullist_desc:"Neure\u0111ena lista", +numlist_desc:"Ure\u0111ena lista", +outdent_desc:"Uvuci", +indent_desc:"Izvuci", +undo_desc:"Poni\u0161ti (Ctrl+Z)", +redo_desc:"Ponovi (Ctrl+Y)", +link_desc:"Umetni/uredi poveznicu", +unlink_desc:"Poni\u0161ti poveznicu", +image_desc:"Umetni/uredi sliku", +cleanup_desc:"Po\u010Disti kod", +code_desc:"Uredi HTML izvor", +sub_desc:"Indeks", +sup_desc:"Eksponent", +hr_desc:"Umetni vodoravnu crtu", +removeformat_desc:"Poni\u0161ti oblikovanje", +custom1_desc:"Vlastiti opis ovdje", +forecolor_desc:"Odaberite boju teksta", +backcolor_desc:"Odaberite boju pozadine", +charmap_desc:"Umetni vlastiti znak", +visualaid_desc:"Vodilice/nevidljivi elementi", +anchor_desc:"Umetni/uredi sidro", +cut_desc:"Izre\u017Ei", +copy_desc:"Kopiraj", +paste_desc:"Zalijepi", +image_props_desc:"Svojstva slike", +newdocument_desc:"Novi dokument", +help_desc:"Pomo\u0107", +blockquote_desc:"Citiraj", +clipboard_msg:"Kopiraj/Izre\u017Ei/Zalijepi nije dostupno u Mozilla i Firefox preglednicima. Vi\u0161e informacija?", +path:"Staza", +newdocument:"Jeste li sigurni da \u017Eelite izbrisati cijeli sadr\u017Eaj?", +toolbar_focus:"Prije\u0111i na alatnu traku - Alt+Q, prije\u0111i na ure\u0111iva\u010D - Alt-Z, prije\u0111i na element path - Alt-X", +more_colors:"Vi\u0161e boja" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hr_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hr_dlg.js new file mode 100644 index 0000000000..61e1c6b53d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hr_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('hr.standard_dlg',{ +about_title:"TinyMCE", +about_general:"O programu", +about_help:"Pomo\u0107", +about_license:"Licenca", +about_plugins:"Dodaci", +about_plugin:"Dodatak", +about_author:"Autor", +about_version:"Verzija", +about_loaded:"Postoje\u0107i dodaci", +anchor_title:"Umetni/uredi sidro", +anchor_name:"Ime sidra", +code_title:"HTML ure\u0111iva\u010D", +code_wordwrap:"Omatanje teksta", +colorpicker_title:"Izbor boje", +colorpicker_picker_tab:"Odabir", +colorpicker_picker_title:"Odabir boje", +colorpicker_palette_tab:"Paleta", +colorpicker_palette_title:"Paleta boja", +colorpicker_named_tab:"Imenovano", +colorpicker_named_title:"Imenovane boje", +colorpicker_color:"Boja:", +colorpicker_name:"Naziv:", +charmap_title:"Odaberite znak", +image_title:"Umetni/uredi sliku", +image_src:"URL slike", +image_alt:"Opis slike", +image_list:"Lista slika", +image_border:"Obrub", +image_dimensions:"Dimenzije", +image_vspace:"Okomiti razmak", +image_hspace:"Vodoravni razmak", +image_align:"Poravnavanje", +image_align_baseline:"Osnovna linija", +image_align_top:"Vrh", +image_align_middle:"Sredina", +image_align_bottom:"Dno", +image_align_texttop:"Vrh teksta", +image_align_textbottom:"Dno teksta", +image_align_left:"Lijevo", +image_align_right:"Desno", +link_title:"Umetni/uredi poveznicu", +link_url:"URL poveznice", +link_target:"Meta", +link_target_same:"Otvori poveznicu u istom prozoru", +link_target_blank:"Otvori poveznicu u novom prozoru", +link_titlefield:"Naslov", +link_is_email:"URL koji ste unijeli izgleda kao e-mail adresa, \u017Eelite li dodati potrebni mailto: prefiks?", +link_is_external:"URL koji ste unijeli izgleda kao vanjska poveznica, \u017Eelite li dodati potrebni http:// prefiks?", +link_list:"Lista poveznica" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hu.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hu.js new file mode 100644 index 0000000000..6426bccb13 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hu.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('hu.standard',{ +style_select:"Lang", +font_size:"Bet\u0171m\u00E9ret", +fontdefault:"Bet\u0171t\u00EDpus", +block:"Form\u00E1tum", +paragraph:"Bekezd\u00E9s", +div:"Div", +address:"C\u00EDm", +pre:"El\u0151form\u00E1zott", +h1:"C\u00EDmsor 1", +h2:"C\u00EDmsor 2", +h3:"C\u00EDmsor 3", +h4:"C\u00EDmsor 4", +h5:"C\u00EDmsor 5", +h6:"C\u00EDmsor 6", +blockquote:"Id\u00E9zet", +code:"K\u00F3d", +samp:"K\u00F3d minta", +dt:"Defini\u00E1lt kifejez\u00E9s a defin\u00EDci\u00F3s list\u00E1ban", +dd:"Defin\u00EDci\u00F3 a defin\u00EDci\u00F3s list\u00E1ban", +bold_desc:"F\u00E9lk\u00F6v\u00E9r (Ctrl+B)", +italic_desc:"D\u0151lt (Ctrl+I)", +underline_desc:"Al\u00E1h\u00FAzott (Ctrl+U)", +striketrough_desc:"\u00C1th\u00FAzott", +justifyleft_desc:"Balra z\u00E1rt", +justifycenter_desc:"K\u00F6z\u00E9pre z\u00E1rt", +justifyright_desc:"Jobbra z\u00E1rt", +justifyfull_desc:"Sorkiz\u00E1rt", +bullist_desc:"Rendezetlen lista", +numlist_desc:"Rendezett lista", +outdent_desc:"Beh\u00FAz\u00E1s cs\u00F6kkent\u00E9se", +indent_desc:"Beh\u00FAz\u00E1s n\u00F6vel\u00E9se", +undo_desc:"Visszavon (Ctrl+Z)", +redo_desc:"M\u00E9gis v\u00E9grehajt (Ctrl+Y)", +link_desc:"Link besz\u00FAr\u00E1sa/szerkeszt\u00E9se", +unlink_desc:"Link megsz\u00FCntet\u00E9se", +image_desc:"K\u00E9p besz\u00FAr\u00E1sa/szerkeszt\u00E9se", +cleanup_desc:"Rendetlen k\u00F3d takar\u00EDt\u00E1sa", +code_desc:"HTML forr\u00E1s szerkeszt\u00E9se", +sub_desc:"Als\u00F3 index", +sup_desc:"Fels\u0151 index", +hr_desc:"Vizszintes elv\u00E1laszt\u00F3 besz\u00FAr\u00E1sa", +removeformat_desc:"Form\u00E1z\u00E1s elt\u00E1vol\u00EDt\u00E1sa", +custom1_desc:"Az \u00F6n egyedi le\u00EDr\u00E1sa", +forecolor_desc:"Sz\u00F6vegsz\u00EDn v\u00E1laszt\u00E1sa", +backcolor_desc:"H\u00E1tt\u00E9rsz\u00EDn v\u00E1laszt\u00E1sa", +charmap_desc:"Speci\u00E1lis karakter besz\u00FAr\u00E1sa", +visualaid_desc:"Vezet\u0151vonalak/nem l\u00E1that\u00F3 elemek ki-/bekapcsol\u00E1sa", +anchor_desc:"Horgony besz\u00FAr\u00E1sa/szerkeszt\u00E9se", +cut_desc:"Kiv\u00E1g\u00E1s", +copy_desc:"M\u00E1sol\u00E1s", +paste_desc:"Besz\u00FAr\u00E1s", +image_props_desc:"K\u00E9p tulajdons\u00E1gai", +newdocument_desc:"\u00DAj dokumentum", +help_desc:"Seg\u00EDts\u00E9g", +blockquote_desc:"Id\u00E9zet", +clipboard_msg:"A M\u00E1sol\u00E1s/Kiv\u00E1g\u00E1s/Besz\u00FAr\u00E1s funkci\u00F3k nem el\u00E9rhet\u0151k Mozilla \u00E9s Firefox alatt. K\u00EDv\u00E1n t\u00F6bbet tudni err\u0151l a t\u00E9m\u00E1r\u00F3l?", +path:"\u00DAtvonal", +newdocument:"Biztosan t\u00F6rli az eddigi tartalmat?", +toolbar_focus:"Eszk\u00F6zgombokra ugr\u00E1s - Alt+Q, Szerkeszt\u0151h\u00F6z ugr\u00E1s - Alt-Z, Elem\u00FAtvonalhoz ugr\u00E1s - Alt-X", +more_colors:"T\u00F6bb sz\u00EDn" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hu_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hu_dlg.js new file mode 100644 index 0000000000..fb11b5c65a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/hu_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('hu.standard_dlg',{ +about_title:"A TinyMCE-r\u0151l", +about_general:"R\u00F3lunk", +about_help:"Seg\u00EDts\u00E9g", +about_license:"Licensz", +about_plugins:"Pluginok", +about_plugin:"Plugin", +about_author:"Szerz\u0151", +about_version:"Verzi\u00F3", +about_loaded:"Bet\u00F6lt\u00F6tt pluginok", +anchor_title:"Horgony besz\u00FAr\u00E1sa/szerkeszt\u00E9se", +anchor_name:"Horgonyn\u00E9v", +code_title:"HTML forr\u00E1s szerkeszt\u00E9se", +code_wordwrap:"Sz\u00F6veg t\u00F6rdel\u00E9s", +colorpicker_title:"Sz\u00EDnv\u00E1laszt\u00E1s", +colorpicker_picker_tab:"V\u00E1laszt\u00F3", +colorpicker_picker_title:"Sz\u00EDnv\u00E1laszt\u00F3", +colorpicker_palette_tab:"Paletta", +colorpicker_palette_title:"Paletta sz\u00EDnek", +colorpicker_named_tab:"Nevezettek", +colorpicker_named_title:"Nevezett sz\u00EDnek", +colorpicker_color:"Sz\u00EDn:", +colorpicker_name:"N\u00E9v:", +charmap_title:"Egyedi karakter v\u00E1laszt\u00E1sa", +image_title:"K\u00E9p besz\u00FAr\u00E1sa/szerkeszt\u00E9se", +image_src:"K\u00E9p URL", +image_alt:"K\u00E9p le\u00EDr\u00E1s", +image_list:"K\u00E9p lista", +image_border:"Keret", +image_dimensions:"Dimenzi\u00F3k", +image_vspace:"F\u00FCgg\u0151leges t\u00E1v", +image_hspace:"V\u00EDzszintes t\u00E1v", +image_align:"Igaz\u00EDt\u00E1s", +image_align_baseline:"Alapvonalhoz", +image_align_top:"Fentre", +image_align_middle:"K\u00F6z\u00E9pre", +image_align_bottom:"Lentre", +image_align_texttop:"Sz\u00F6veg tetej\u00E9hez", +image_align_textbottom:"Sz\u00F6veg alj\u00E1hoz", +image_align_left:"Balra", +image_align_right:"Jobbra", +link_title:"Link besz\u00FAr\u00E1sa/szerkeszt\u00E9se", +link_url:"Link URL", +link_target:"Target", +link_target_same:"Link azonos ablakba nyit\u00E1sa", +link_target_blank:"Link \u00FAj ablakba nyit\u00E1sa", +link_titlefield:"C\u00EDm", +link_is_email:"A be\u00EDrt URL e-mail c\u00EDmnek t\u0171nik, k\u00EDv\u00E1nja a sz\u00FCks\u00E9ges mailto:-t el\u00E9 tenni?", +link_is_external:"A be\u00EDrt URL k\u00FCls\u0151 hivatkoz\u00E1snak t\u0171nik, k\u00EDv\u00E1nja a sz\u00FCks\u00E9ges http://-t el\u00E9 tenni?", +link_list:"Link lista" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ia.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ia.js new file mode 100644 index 0000000000..47642e4e18 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ia.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('ia.standard',{ +style_select:"Lang", +font_size:"\u5B57\u4F53\u5927\u5C0F", +fontdefault:"\u5B57\u4F53", +block:"\u683C\u5F0F", +paragraph:"\u6BB5\u843D", +div:"Div", +address:"\u5730\u5740", +pre:"\u9ED8\u8BA4\u683C\u5F0F", +h1:"\u6807\u9898 1", +h2:"\u6807\u9898 2", +h3:"\u6807\u9898 3", +h4:"\u6807\u9898 4", +h5:"\u6807\u9898 5", +h6:"\u6807\u9898 6", +blockquote:"\u5F15\u7528", +code:"\u4EE3\u7801", +samp:"\u7A0B\u5E8F\u8303\u4F8B", +dt:"\u540D\u8BCD\u5B9A\u4E49", +dd:"\u540D\u8BCD\u89E3\u91CA", +bold_desc:"\u7C97\u4F53 (Ctrl+B)", +italic_desc:"\u659C\u4F53 (Ctrl+I)", +underline_desc:"\u5E95\u7EBF (Ctrl+U)", +striketrough_desc:"\u4E2D\u5212\u7EBF", +justifyleft_desc:"\u5DE6\u5BF9\u9F50", +justifycenter_desc:"\u5C45\u4E2D", +justifyright_desc:"\u53F3\u5BF9\u9F50", +justifyfull_desc:"\u4E24\u7AEF\u5BF9\u9F50", +bullist_desc:"\u6E05\u5355\u7B26\u53F7", +numlist_desc:"\u7F16\u53F7", +outdent_desc:"\u51CF\u5C11\u7F29\u8FDB", +indent_desc:"\u589E\u52A0\u7F29\u8FDB", +undo_desc:"\u64A4\u9500 (Ctrl+Z)", +redo_desc:"\u6062\u590D (Ctrl+Y)", +link_desc:"\u63D2\u5165/\u7F16\u8F91 \u8FDE\u7ED3", +unlink_desc:"\u53D6\u6D88\u8FDE\u7ED3", +image_desc:"\u63D2\u5165/\u7F16\u8F91 \u56FE\u7247", +cleanup_desc:"\u5220\u9664\u5197\u4F59\u7801", +code_desc:"\u7F16\u8F91 HTML \u539F\u59CB\u7A0B\u5E8F\u4EE3\u7801", +sub_desc:"\u4E0B\u6807", +sup_desc:"\u4E0A\u6807", +hr_desc:"\u63D2\u5165\u6C34\u5E73\u7EBF", +removeformat_desc:"\u6E05\u9664\u6837\u5F0F", +custom1_desc:"\u5728\u6B64\u8F93\u5165\u60A8\u7684\u81EA\u8BA2\u63CF\u8FF0", +forecolor_desc:"\u9009\u62E9\u6587\u5B57\u989C\u8272", +backcolor_desc:"\u9009\u62E9\u80CC\u666F\u989C\u8272", +charmap_desc:"\u63D2\u5165\u7279\u6B8A\u7B26\u53F7", +visualaid_desc:"\u7F51\u683C/\u9690\u85CF\u7EC4\u4EF6\uFF1F", +anchor_desc:"\u63D2\u5165/\u7F16\u8F91 \u951A\u70B9", +cut_desc:"\u526A\u5207 (Ctrl+X)", +copy_desc:"\u590D\u5236 (Ctrl+C)", +paste_desc:"\u7C98\u8D34 (Ctrl+V)", +image_props_desc:"\u56FE\u7247\u5C5E\u6027", +newdocument_desc:"\u65B0\u5EFA\u6587\u4EF6", +help_desc:"\u5E2E\u52A9", +blockquote_desc:"\u5F15\u7528", +clipboard_msg:"\u590D\u5236\u3001\u526A\u5207\u548C\u7C98\u8D34\u529F\u80FD\u5728Mozilla \u548C Firefox\u4E2D\u65E0\u6CD5\u4F7F\u7528", +path:"\u8DEF\u5F84", +newdocument:"\u60A8\u786E\u8BA4\u8981\u5220\u9664\u5168\u90E8\u5185\u5BB9\u5417\uFF1F", +toolbar_focus:"\u5DE5\u5177\u5217 - Alt+Q, \u7F16\u8F91\u5668 - Alt-Z, \u7EC4\u4EF6\u8DEF\u5F84 - Alt-X", +more_colors:"\u66F4\u591A\u989C\u8272" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ia_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ia_dlg.js new file mode 100644 index 0000000000..9987b8ddfc --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ia_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('ia.standard_dlg',{ +about_title:"\u5173\u4E8E TinyMCE", +about_general:"\u5173\u4E8E", +about_help:"\u5E2E\u52A9", +about_license:"\u6388\u6743", +about_plugins:"\u5168\u90E8\u5916\u6302\u7A0B\u5E8F", +about_plugin:"\u5916\u6302\u7A0B\u5E8F", +about_author:"\u4F5C\u8005", +about_version:"\u7248\u672C", +about_loaded:"\u5DF2\u52A0\u8F7D\u7684\u5916\u6302\u7A0B\u5E8F", +anchor_title:"\u63D2\u5165/\u7F16\u8F91 \u951A\u70B9", +anchor_name:"\u951A\u70B9\u540D\u79F0", +code_title:"HTML \u539F\u59CB\u7A0B\u5E8F\u4EE3\u7801\u7F16\u8F91\u5668", +code_wordwrap:"\u81EA\u52A8\u6362\u884C", +colorpicker_title:"\u9009\u62E9\u989C\u8272", +colorpicker_picker_tab:"\u9009\u62E9\u5668", +colorpicker_picker_title:"\u53D6\u8272\u5668", +colorpicker_palette_tab:"\u8272\u8C31", +colorpicker_palette_title:"\u8272\u8C31\u989C\u8272", +colorpicker_named_tab:"\u9ED8\u8BA4\u503C", +colorpicker_named_title:"\u9ED8\u8BA4\u7684\u989C\u8272", +colorpicker_color:"\u989C\u8272:", +colorpicker_name:"\u8272\u540D:", +charmap_title:"\u63D2\u5165\u7279\u6B8A\u7B26\u53F7", +image_title:"\u63D2\u5165/\u7F16\u8F91 \u56FE\u7247", +image_src:"\u56FE\u7247\u7F51\u5740", +image_alt:"\u56FE\u7247\u8BF4\u660E", +image_list:"\u56FE\u7247\u6E05\u5355", +image_border:"\u8FB9\u6846", +image_dimensions:"\u5C3A\u5BF8", +image_vspace:"\u5782\u76F4\u95F4\u8DDD", +image_hspace:"\u6C34\u5E73\u95F4\u8DDD", +image_align:"\u5BF9\u9F50\u65B9\u5F0F", +image_align_baseline:"\u57FA\u7EBF", +image_align_top:"\u9876\u90E8\u5BF9\u9F50", +image_align_middle:"\u4E2D\u90E8\u5BF9\u9F50", +image_align_bottom:"\u5E95\u90E8\u5BF9\u9F50", +image_align_texttop:"\u6587\u5B57\u4E0A\u65B9", +image_align_textbottom:"\u6587\u5B57\u4E0B\u65B9", +image_align_left:"\u5DE6\u5BF9\u9F50", +image_align_right:"\u53F3\u5BF9\u9F50", +link_title:"\u63D2\u5165/\u7F16\u8F91 \u8FDE\u7ED3", +link_url:"\u8FDE\u7ED3\u7F51\u5740", +link_target:"\u76EE\u6807", +link_target_same:"\u5F53\u524D\u7A97\u53E3\u6253\u5F00", +link_target_blank:"\u65B0\u7A97\u53E3\u6253\u5F00", +link_titlefield:"\u6807\u9898", +link_is_email:"\u60A8\u8F93\u5165\u7684\u5E94\u8BE5\u662F\u4E00\u4E2A\u7535\u5B50\u90AE\u5BC4\u5730\u5740\uFF0C\u662F\u5426\u9700\u8981\u5728\u7F51\u5740\u524D\u52A0\u4E0A mailto: ? ", +link_is_external:"\u60A8\u8F93\u5165\u7684\u7F51\u5740\u5E94\u8BE5\u662F\u4E00\u4E2A\u5916\u90E8\u8FDE\u7ED3\uFF0C\u662F\u5426\u9700\u8981\u5728\u7F51\u5740\u524D\u52A0\u4E0A http:// ?", +link_list:"\u8FDE\u7ED3\u6E05\u5355" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ii.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ii.js new file mode 100644 index 0000000000..891d5b4e4a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ii.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('ii.standard',{ +style_select:"Lang", +font_size:"\u5B57\u4F53\u5927\u5C0F", +fontdefault:"\u5B57\u4F53", +block:"\u683C\u5F0F", +paragraph:"\u6BB5\u843D", +div:"Div", +address:"\u5730\u5740", +pre:"\u9ED8\u8BA4\u683C\u5F0F", +h1:"\u6807\u9898 1", +h2:"\u6807\u9898 2", +h3:"\u6807\u9898 3", +h4:"\u6807\u9898 4", +h5:"\u6807\u9898 5", +h6:"\u6807\u9898 6", +blockquote:"\u5F15\u7528", +code:"\u4EE3\u7801", +samp:"\u7A0B\u5E8F\u8303\u4F8B", +dt:"\u540D\u8BCD\u5B9A\u4E49", +dd:"\u540D\u8BCD\u89E3\u91CA", +bold_desc:"\u7C97\u4F53 (Ctrl+B)", +italic_desc:"\u659C\u4F53 (Ctrl+I)", +underline_desc:"\u5E95\u7EBF (Ctrl+U)", +striketrough_desc:"\u4E2D\u5212\u7EBF", +justifyleft_desc:"\u5DE6\u5BF9\u9F50", +justifycenter_desc:"\u5C45\u4E2D", +justifyright_desc:"\u53F3\u5BF9\u9F50", +justifyfull_desc:"\u4E24\u7AEF\u5BF9\u9F50", +bullist_desc:"\u6E05\u5355\u7B26\u53F7", +numlist_desc:"\u7F16\u53F7", +outdent_desc:"\u51CF\u5C11\u7F29\u8FDB", +indent_desc:"\u589E\u52A0\u7F29\u8FDB", +undo_desc:"\u64A4\u9500 (Ctrl+Z)", +redo_desc:"\u6062\u590D (Ctrl+Y)", +link_desc:"\u63D2\u5165/\u7F16\u8F91 \u8FDE\u7ED3", +unlink_desc:"\u53D6\u6D88\u8FDE\u7ED3", +image_desc:"\u63D2\u5165/\u7F16\u8F91 \u56FE\u7247", +cleanup_desc:"\u5220\u9664\u5197\u4F59\u7801", +code_desc:"\u7F16\u8F91 HTML \u539F\u59CB\u7A0B\u5E8F\u4EE3\u7801", +sub_desc:"\u4E0B\u6807", +sup_desc:"\u4E0A\u6807", +hr_desc:"\u63D2\u5165\u6C34\u5E73\u7EBF", +removeformat_desc:"\u6E05\u9664\u6837\u5F0F", +custom1_desc:"\u5728\u6B64\u8F93\u5165\u60A8\u7684\u81EA\u8BA2\u63CF\u8FF0", +forecolor_desc:"\u9009\u62E9\u6587\u5B57\u989C\u8272", +backcolor_desc:"\u9009\u62E9\u80CC\u666F\u989C\u8272", +charmap_desc:"\u63D2\u5165\u7279\u6B8A\u7B26\u53F7", +visualaid_desc:"\u7F51\u683C/\u9690\u85CF\u7EC4\u4EF6\uFF1F", +anchor_desc:"\u63D2\u5165/\u7F16\u8F91 \u951A\u70B9", +cut_desc:"\u526A\u5207 (Ctrl+X)", +copy_desc:"\u590D\u5236 (Ctrl+C)", +paste_desc:"\u7C98\u8D34 (Ctrl+V)", +image_props_desc:"\u56FE\u7247\u5C5E\u6027", +newdocument_desc:"\u65B0\u5EFA\u6587\u4EF6", +help_desc:"\u5E2E\u52A9", +blockquote_desc:"\u5F15\u7528", +clipboard_msg:"\u590D\u5236\u3001\u526A\u5207\u548C\u7C98\u8D34\u529F\u80FD\u5728Mozilla \u548C Firefox\u4E2D\u65E0\u6CD5\u4F7F\u7528", +path:"\u8DEF\u5F84", +newdocument:"\u60A8\u786E\u8BA4\u8981\u5220\u9664\u5168\u90E8\u5185\u5BB9\u5417\uFF1F", +toolbar_focus:"\u5DE5\u5177\u5217 - Alt+Q, \u7F16\u8F91\u5668 - Alt-Z, \u7EC4\u4EF6\u8DEF\u5F84 - Alt-X", +more_colors:"\u66F4\u591A\u989C\u8272" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ii_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ii_dlg.js new file mode 100644 index 0000000000..c2516caf49 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ii_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('ii.standard_dlg',{ +about_title:"\u5173\u4E8E TinyMCE", +about_general:"\u5173\u4E8E", +about_help:"\u5E2E\u52A9", +about_license:"\u6388\u6743", +about_plugins:"\u5168\u90E8\u5916\u6302\u7A0B\u5E8F", +about_plugin:"\u5916\u6302\u7A0B\u5E8F", +about_author:"\u4F5C\u8005", +about_version:"\u7248\u672C", +about_loaded:"\u5DF2\u52A0\u8F7D\u7684\u5916\u6302\u7A0B\u5E8F", +anchor_title:"\u63D2\u5165/\u7F16\u8F91 \u951A\u70B9", +anchor_name:"\u951A\u70B9\u540D\u79F0", +code_title:"HTML \u539F\u59CB\u7A0B\u5E8F\u4EE3\u7801\u7F16\u8F91\u5668", +code_wordwrap:"\u81EA\u52A8\u6362\u884C", +colorpicker_title:"\u9009\u62E9\u989C\u8272", +colorpicker_picker_tab:"\u9009\u62E9\u5668", +colorpicker_picker_title:"\u53D6\u8272\u5668", +colorpicker_palette_tab:"\u8272\u8C31", +colorpicker_palette_title:"\u8272\u8C31\u989C\u8272", +colorpicker_named_tab:"\u9ED8\u8BA4\u503C", +colorpicker_named_title:"\u9ED8\u8BA4\u7684\u989C\u8272", +colorpicker_color:"\u989C\u8272:", +colorpicker_name:"\u8272\u540D:", +charmap_title:"\u63D2\u5165\u7279\u6B8A\u7B26\u53F7", +image_title:"\u63D2\u5165/\u7F16\u8F91 \u56FE\u7247", +image_src:"\u56FE\u7247\u7F51\u5740", +image_alt:"\u56FE\u7247\u8BF4\u660E", +image_list:"\u56FE\u7247\u6E05\u5355", +image_border:"\u8FB9\u6846", +image_dimensions:"\u5C3A\u5BF8", +image_vspace:"\u5782\u76F4\u95F4\u8DDD", +image_hspace:"\u6C34\u5E73\u95F4\u8DDD", +image_align:"\u5BF9\u9F50\u65B9\u5F0F", +image_align_baseline:"\u57FA\u7EBF", +image_align_top:"\u9876\u90E8\u5BF9\u9F50", +image_align_middle:"\u4E2D\u90E8\u5BF9\u9F50", +image_align_bottom:"\u5E95\u90E8\u5BF9\u9F50", +image_align_texttop:"\u6587\u5B57\u4E0A\u65B9", +image_align_textbottom:"\u6587\u5B57\u4E0B\u65B9", +image_align_left:"\u5DE6\u5BF9\u9F50", +image_align_right:"\u53F3\u5BF9\u9F50", +link_title:"\u63D2\u5165/\u7F16\u8F91 \u8FDE\u7ED3", +link_url:"\u8FDE\u7ED3\u7F51\u5740", +link_target:"\u76EE\u6807", +link_target_same:"\u5F53\u524D\u7A97\u53E3\u6253\u5F00", +link_target_blank:"\u65B0\u7A97\u53E3\u6253\u5F00", +link_titlefield:"\u6807\u9898", +link_is_email:"\u60A8\u8F93\u5165\u7684\u5E94\u8BE5\u662F\u4E00\u4E2A\u7535\u5B50\u90AE\u5BC4\u5730\u5740\uFF0C\u662F\u5426\u9700\u8981\u5728\u7F51\u5740\u524D\u52A0\u4E0A mailto: ? ", +link_is_external:"\u60A8\u8F93\u5165\u7684\u7F51\u5740\u5E94\u8BE5\u662F\u4E00\u4E2A\u5916\u90E8\u8FDE\u7ED3\uFF0C\u662F\u5426\u9700\u8981\u5728\u7F51\u5740\u524D\u52A0\u4E0A http:// ?", +link_list:"\u8FDE\u7ED3\u6E05\u5355" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/is.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/is.js new file mode 100644 index 0000000000..a46059ec72 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/is.js @@ -0,0 +1,76 @@ +// Iceland lang variables by Johannes Birgir Jensson + +tinyMCE.addToLang('',{ +theme_style_select : '-- Stílar --', +theme_code_desc : 'Breyta HTML kóða', +theme_code_title : 'HTML kóðaritill', +theme_code_wordwrap : 'Word wrap', +theme_sub_desc : 'Lágskrift', +theme_sup_desc : 'Háskrift', +theme_hr_desc : 'Setja inn stiku', +theme_removeformat_desc : 'Fjarlægja textasnið', +theme_custom1_desc : 'Þín lýsing hér', +insert_image_border : 'Rammi', +insert_image_dimensions : 'Víddir', +insert_image_vspace : 'Bil fyrir ofan og neðan', +insert_image_hspace : 'Bil til vinstri og hægri', +insert_image_align : 'Jöfnun', +insert_image_align_default : '-- Ekki valin --', +insert_image_align_baseline : 'Sama lína', +insert_image_align_top : 'Uppi', +insert_image_align_middle : 'Miðja', +insert_image_align_bottom : 'Niðri', +insert_image_align_texttop : 'Texti efst', +insert_image_align_absmiddle : 'Alveg í miðju', +insert_image_align_absbottom : 'Alveg neðst', +insert_image_align_left : 'Vinstri', +insert_image_align_right : 'Hægri', +theme_font_size : '-- Textastærð --', +theme_fontdefault : '-- Leturgerð --', +theme_block : '-- Textasnið --', +theme_paragraph : 'Málsgrein', +theme_div : 'Div', +theme_address : 'Heimilisfang', +theme_pre : 'Ritvél', +theme_h1 : 'Haus 1', +theme_h2 : 'Haus 2', +theme_h3 : 'Haus 3', +theme_h4 : 'Haus 4', +theme_h5 : 'Haus 5', +theme_h6 : 'Haus 6', +theme_colorpicker_title : 'Veldu lit', +theme_colorpicker_apply : 'Staðfesta', +theme_forecolor_desc : 'Veldu textalit', +theme_backcolor_desc : 'Veldu bakgrunnslit', +theme_charmap_title : 'Veldu sérstaf', +theme_charmap_desc : 'Setja sérstaf inn', +theme_visualaid_desc : 'Sýna/fela töflur, akkeri og fleira', +insert_anchor_title : 'Setja inn/breyta akkeri', +insert_anchor_name : 'Heiti akkeris', +theme_anchor_desc : 'Setja inn/breyta akkeri', +theme_insert_link_titlefield : 'Titill', +theme_clipboard_msg : 'Afrita/klippa/líma er ekki virkt í Mozilla og Firefox.\nViltu fá upplýsingar um hvernig þú getur kveikt á þeim?', +theme_path : 'Slóð', +cut_desc : 'Klippa', +copy_desc : 'Afrita', +paste_desc : 'Skeyta', +link_list : 'Tenglalisti', +image_list : 'Myndalisti', +browse : 'Vafra', +image_props_desc : 'Stillingar myndar', +newdocument_desc : 'Nýtt skjal', +class_name : 'Class', +newdocument : 'Ertu viss um að þú viljir hreinsa allt burtu?', +about_title : 'Um TinyMCE', +about : 'Um', +license : 'Leyfi', +plugins : 'Viðbætur', +plugin : 'Viðbót', +author : 'Höfundur', +version : 'Útgáfa', +loaded_plugins : 'Virkar viðbætur', +help : 'Hjálp', +not_set : '-- Ekki valið --', +close : 'Loka', +toolbar_focus : 'Flýtilykill fyrir takka - Alt+Q, Flýtilykill fyrir ritil - Alt-Z, Flýtilykill fyrir slóð - Alt-X' +}); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/it.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/it.js new file mode 100644 index 0000000000..e4417fae10 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/it.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('it.standard',{ +style_select:"Lang", +font_size:"Grandezza carattere", +fontdefault:"Famiglia carattere", +block:"Formato", +paragraph:"Paragrafo", +div:"Div", +address:"Indirizzo", +pre:"Preformattato", +h1:"Intestazione 1", +h2:"Intestazione 2", +h3:"Intestazione 3", +h4:"Intestazione 4", +h5:"Intestazione 5", +h6:"Intestazione 6", +blockquote:"Testo quotato", +code:"Codice", +samp:"Esempio codice", +dt:"Termine definizione", +dd:"Descrizione definizione", +bold_desc:"Grassetto (Ctrl+B)", +italic_desc:"Corsivo (Ctrl+I)", +underline_desc:"Sottolineato (Ctrl+U)", +striketrough_desc:"Barrato", +justifyleft_desc:"Allinea a sinistra", +justifycenter_desc:"Centra", +justifyright_desc:"Allinea a destra", +justifyfull_desc:"Giustifica", +bullist_desc:"Lista non ordinata", +numlist_desc:"Lista ordinata", +outdent_desc:"Sposta verso esterno", +indent_desc:"Sposta verso interno", +undo_desc:"Annulla (Ctrl+Z)", +redo_desc:"Ripristina (Ctrl+Y)", +link_desc:"Inserisci/modifica collegamento", +unlink_desc:"Togli collegamento", +image_desc:"Inserisci/modifica immagine", +cleanup_desc:"Pulisci codice disordinato", +code_desc:"Modifica sorgente HTML", +sub_desc:"Pedice", +sup_desc:"Apice", +hr_desc:"Inserisci riga orizzontale", +removeformat_desc:"Rimuovi formattazione", +custom1_desc:"La tua descrizione personalizzata qui", +forecolor_desc:"Seleziona colore testo", +backcolor_desc:"Seleziona colore sfondo", +charmap_desc:"Inserisci carattere speciale", +visualaid_desc:"Mostra/nascondi linee guida/elementi invisibili", +anchor_desc:"Inserisci/modifica ancora", +cut_desc:"Taglia", +copy_desc:"Copia", +paste_desc:"Incolla", +image_props_desc:"Propriet\u00E0 immagine", +newdocument_desc:"Nuovo documento", +help_desc:"Aiuto", +blockquote_desc:"Testo quotato", +clipboard_msg:"Copia/Taglia/Incolla non \u00E8 disponibile in Mozilla e Firefox..\r\nSi desidera avere maggiori informazioni su questo problema?", +path:"Percorso", +newdocument:"Sei sicuro di voler cancellare tutti i contenuti?", +toolbar_focus:"Vai ai pulsanti strumento - Alt+Q, Vai all'editor - Alt-Z, Vai al percorso dell'elemento - Alt-X", +more_colors:"Colori aggiuntivi" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/it_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/it_dlg.js new file mode 100644 index 0000000000..ce790d8c2b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/it_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('it.standard_dlg',{ +about_title:"Informazioni su TinyMCE", +about_general:"Informazioni", +about_help:"Aiuto", +about_license:"Licenza", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Autore", +about_version:"Versione", +about_loaded:"Plugin caricati", +anchor_title:"Inserisci/modifica ancora", +anchor_name:"Nome ancora", +code_title:"Editor sorgente HTML", +code_wordwrap:"A capo automatico", +colorpicker_title:"Seleziona un colore", +colorpicker_picker_tab:"Selettore", +colorpicker_picker_title:"Selettore colori", +colorpicker_palette_tab:"Tavolozza", +colorpicker_palette_title:"Tavolozza dei colori", +colorpicker_named_tab:"Per nome", +colorpicker_named_title:"Colori per nome", +colorpicker_color:"Colore:", +colorpicker_name:"Nome:", +charmap_title:"Seleziona carattere speciale", +image_title:"Inserisci/modifica immagine", +image_src:"URL immagine", +image_alt:"Descrizione immagine", +image_list:"Lista immagini", +image_border:"Bordo", +image_dimensions:"Dimensioni", +image_vspace:"Spaziatura verticale", +image_hspace:"Spaziatura orizzontale", +image_align:"Allineamentot", +image_align_baseline:"Alla base", +image_align_top:"In alto", +image_align_middle:"In mezzo", +image_align_bottom:"In basso", +image_align_texttop:"In alto al testo", +image_align_textbottom:"In basso al testo", +image_align_left:"A sinistra", +image_align_right:"A destra", +link_title:"Inserisci/modifica collegamento", +link_url:"URL collegamento", +link_target:"Target", +link_target_same:"Apri link nella stessa finestra", +link_target_blank:"Apri link in una nuova finestra", +link_titlefield:"Titolo", +link_is_email:"L'URL inserito sembra essere un indirizzo email. Aggiungere il necessario prefisso mailto: ?", +link_is_external:"L'URL inserito sembra essere un link esterno. Aggiungere il necessario prefisso http:// ?", +link_list:"Lista collegamenti" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ja.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ja.js new file mode 100644 index 0000000000..773bd32ebf --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ja.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('ja.standard',{ +style_select:"Lang", +font_size:"\u30D5\u30A9\u30F3\u30C8\u30B5\u30A4\u30BA", +fontdefault:"\u30D5\u30A9\u30F3\u30C8", +block:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8", +paragraph:"\u6BB5\u843D", +div:"Div", +address:"\u4F4F\u6240", +pre:"\u6574\u5F62\u6E08\u307F", +h1:"\u898B\u51FA\u30571", +h2:"\u898B\u51FA\u30572", +h3:"\u898B\u51FA\u30573", +h4:"\u898B\u51FA\u30574", +h5:"\u898B\u51FA\u30575", +h6:"\u898B\u51FA\u30576", +blockquote:"\u5F15\u7528", +code:"\u30BD\u30FC\u30B9\u30B3\u30FC\u30C9", +samp:"\u30B3\u30FC\u30C9\u30B5\u30F3\u30D7\u30EB", +dt:"\u8A9E\u53E5\u5B9A\u7FA9", +dd:"\u8A9E\u53E5\u8AAC\u660E", +bold_desc:"\u592A\u5B57 (Ctrl+B)", +italic_desc:"\u659C\u4F53 (Ctrl+I)", +underline_desc:"\u4E0B\u7DDA (Ctrl+U)", +striketrough_desc:"\u6253\u6D88\u3057\u7DDA", +justifyleft_desc:"\u5DE6\u63C3\u3048", +justifycenter_desc:"\u4E2D\u592E\u63C3\u3048", +justifyright_desc:"\u53F3\u63C3\u3048", +justifyfull_desc:"\u5747\u7B49\u5272\u4ED8", +bullist_desc:"\u756A\u53F7\u306A\u3057\u30EA\u30B9\u30C8", +numlist_desc:"\u756A\u53F7\u3064\u304D\u30EA\u30B9\u30C8", +outdent_desc:"\u30A4\u30F3\u30C7\u30F3\u30C8\u89E3\u9664", +indent_desc:"\u30A4\u30F3\u30C7\u30F3\u30C8", +undo_desc:"\u5143\u306B\u623B\u3059 (Ctrl+Z)", +redo_desc:"\u3084\u308A\u76F4\u3059 (Ctrl+Y)", +link_desc:"\u30EA\u30F3\u30AF\u306E\u633F\u5165/\u7DE8\u96C6", +unlink_desc:"\u30EA\u30F3\u30AF\u89E3\u9664", +image_desc:"\u753B\u50CF\u306E\u633F\u5165/\u7DE8\u96C6", +cleanup_desc:"\u30B3\u30FC\u30C9\u6574\u5F62", +code_desc:"HTML\u30BD\u30FC\u30B9\u7DE8\u96C6", +sub_desc:"\u4E0B\u4ED8\u304D", +sup_desc:"\u4E0A\u4ED8\u304D", +hr_desc:"\u6C34\u5E73\u7DDA", +removeformat_desc:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u89E3\u9664", +custom1_desc:"\u8AAC\u660E\u6587\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044\u3002", +forecolor_desc:"\u6587\u5B57\u8272", +backcolor_desc:"\u80CC\u666F\u8272", +charmap_desc:"\u7279\u6B8A\u6587\u5B57", +visualaid_desc:"\u30AC\u30A4\u30C9\u30E9\u30A4\u30F3\u3068\u975E\u8868\u793A\u9805\u76EE\u306E\u8868\u793A\u5207\u66FF", +anchor_desc:"\u30A2\u30F3\u30AB\u30FC\u306E\u633F\u5165/\u7DE8\u96C6", +cut_desc:"\u5207\u308A\u53D6\u308A", +copy_desc:"\u30B3\u30D4\u30FC", +paste_desc:"\u8CBC\u308A\u4ED8\u3051", +image_props_desc:"\u753B\u50CF\u306E\u30D7\u30ED\u30D1\u30C6\u30A3", +newdocument_desc:"\u65B0\u898F\u4F5C\u6210", +help_desc:"\u30D8\u30EB\u30D7", +blockquote_desc:"\u5F15\u7528", +clipboard_msg:"\u30B3\u30D4\u30FC/\u5207\u308A\u53D6\u308A/\u8CBC\u308A\u4ED8\u3051\u306FMozilla\u53CA\u3073Firefox\u3067\u306F\u4F7F\u7528\u3067\u304D\u307E\u305B\u3093\u3002\n\u8A73\u7D30\u306F\u3053\u3061\u3089", +path:"\u30D1\u30B9", +newdocument:"\u7DE8\u96C6\u4E2D\u306E\u30C7\u30FC\u30BF\u3092\u7834\u68C4\u3057\u3066\u3082\u3088\u308D\u3057\u3044\u3067\u3059\u304B\uFF1F", +toolbar_focus:"\u30C4\u30FC\u30EB\u30DC\u30BF\u30F3\u3078\u30B8\u30E3\u30F3\u30D7 - Alt+Q, \u30A8\u30C7\u30A3\u30BF\u306B\u30B8\u30E3\u30F3\u30D7 - Alt-Z, \u30A8\u30EC\u30E1\u30F3\u30C8\u30D1\u30B9\u3078\u30B8\u30E3\u30F3\u30D7 - Alt-X", +more_colors:"\u305D\u306E\u4ED6\u306E\u8272" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ja_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ja_dlg.js new file mode 100644 index 0000000000..404021e9f0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ja_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('ja.standard_dlg',{ +about_title:"TinyMCE\u306B\u3064\u3044\u3066", +about_general:"\u8A73\u7D30", +about_help:"\u30D8\u30EB\u30D7", +about_license:"\u30E9\u30A4\u30BB\u30F3\u30B9", +about_plugins:"\u30D7\u30E9\u30B0\u30A4\u30F3", +about_plugin:"\u30D7\u30E9\u30B0\u30A4\u30F3", +about_author:"\u4F5C\u8005", +about_version:"\u30D0\u30FC\u30B8\u30E7\u30F3", +about_loaded:"\u8AAD\u8FBC\u6E08\u307F\u30D7\u30E9\u30B0\u30A4\u30F3", +anchor_title:"\u30A2\u30F3\u30AB\u30FC\u306E\u633F\u5165/\u7DE8\u96C6", +anchor_name:"\u30A2\u30F3\u30AB\u30FC\u540D", +code_title:"HTML\u30BD\u30FC\u30B9\u30A8\u30C7\u30A3\u30BF", +code_wordwrap:"\u6298\u308A\u8FD4\u3057", +colorpicker_title:"\u8272\u306E\u9078\u629E", +colorpicker_picker_tab:"\u30AB\u30E9\u30FC\u30D4\u30C3\u30AB\u30FC", +colorpicker_picker_title:"\u30AB\u30E9\u30FC\u30D4\u30C3\u30AB\u30FC", +colorpicker_palette_tab:"\u30D1\u30EC\u30C3\u30C8", +colorpicker_palette_title:"\u30D1\u30EC\u30C3\u30C8", +colorpicker_named_tab:"\u65E2\u5B9A\u8272", +colorpicker_named_title:"\u65E2\u5B9A\u8272", +colorpicker_color:"\u30AB\u30E9\u30FC:", +colorpicker_name:"\u540D\u524D:", +charmap_title:"\u7279\u6B8A\u6587\u5B57", +image_title:"\u753B\u50CF\u306E\u633F\u5165/\u7DE8\u96C6", +image_src:"\u753B\u50CFURL", +image_alt:"\u753B\u50CF\u306E\u8AAC\u660E", +image_list:"\u4E00\u89A7\u304B\u3089\u9078\u3076", +image_border:"\u67A0\u7DDA", +image_dimensions:"\u30B5\u30A4\u30BA", +image_vspace:"\u4E0A\u4E0B\u4F59\u767D", +image_hspace:"\u5DE6\u53F3\u4F59\u767D", +image_align:"\u914D\u7F6E", +image_align_baseline:"Baseline", +image_align_top:"Top", +image_align_middle:"Middle", +image_align_bottom:"Bottom", +image_align_texttop:"Text top", +image_align_textbottom:"Text bottom", +image_align_left:"Left", +image_align_right:"Right", +link_title:"\u30EA\u30F3\u30AF\u306E\u633F\u5165/\u7DE8\u96C6", +link_url:"\u30EA\u30F3\u30AFURL", +link_target:"\u30BF\u30FC\u30B2\u30C3\u30C8", +link_target_same:"\u540C\u3058\u30A6\u30A4\u30F3\u30C9\u30A6\u3067\u958B\u304F", +link_target_blank:"\u65B0\u3057\u3044\u30A6\u30A4\u30F3\u30C9\u30A6\u3067\u958B\u304F", +link_titlefield:"\u30BF\u30A4\u30C8\u30EB", +link_is_email:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304C\u5165\u529B\u3055\u308C\u307E\u3057\u305F\u3002\u30EA\u30F3\u30AF\u306Bmailto:\u3092\u4ED8\u52A0\u3057\u307E\u3059\u304B\uFF1F", +link_is_external:"\u30EA\u30F3\u30AF\u306Bhttp://\u3092\u4ED8\u52A0\u3057\u307E\u3059\u304B\uFF1F", +link_list:"\u4E00\u89A7\u304B\u3089\u9078\u3076" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ko.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ko.js new file mode 100644 index 0000000000..63ca058ee7 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ko.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('ko.standard',{ +style_select:"Lang", +font_size:"\uAE00\uAF34 \uD06C\uAE30", +fontdefault:"\uAE00\uAF34", +block:"\uD3EC\uB9F7", +paragraph:"\uB2E8\uB77D", +div:"Div", +address:"\uC8FC\uC18C", +pre:"pre", +h1:"\uD45C\uC81C1", +h2:"\uD45C\uC81C2", +h3:"\uD45C\uC81C3", +h4:"\uD45C\uC81C4", +h5:"\uD45C\uC81C5", +h6:"\uD45C\uC81C6", +blockquote:"\uC778\uC6A9\uBB38", +code:"\uCF54\uB4DC", +samp:"\uC0D8\uD50C\uCF54\uB4DC", +dt:"\uC5B4\uAD6C \uC815\uC758", +dd:"\uC815\uC758 \uC124\uBA85", +bold_desc:"\uAD75\uC740 \uAE00\uC528(Ctrl+B)", +italic_desc:"\uC774\uD0E4\uB9AD(Ctrl+I)", +underline_desc:"\uBC11\uC904(Ctrl+U)", +striketrough_desc:"\uCDE8\uC18C\uC120", +justifyleft_desc:"\uC67C\uCABD \uC815\uB82C", +justifycenter_desc:"\uAC00\uC6B4\uB370 \uC815\uB82C", +justifyright_desc:"\uC624\uB978\uCABD \uC815\uB82C", +justifyfull_desc:"\uBC30\uBD84 \uC815\uB82C", +bullist_desc:"\uBE44\uC21C\uCC28\uBAA9\uB85D", +numlist_desc:"\uC21C\uCC28\uBAA9\uB85D", +outdent_desc:"\uB0B4\uC5B4\uC4F0\uAE30", +indent_desc:"\uB4E4\uC5EC\uC4F0\uAE30", +undo_desc:"\uC2E4\uD589\uCDE8\uC18C(Ctrl+Z)", +redo_desc:"\uB2E4\uC2DC\uC2E4\uD589(Ctrl+Y)", +link_desc:"\uB9C1\uD06C\uC758 \uC0BD\uC785/\uD3B8\uC9D1", +unlink_desc:"\uB9C1\uD06C \uC0AD\uC81C", +image_desc:"\uC774\uBBF8\uC9C0 \uC0BD\uC785/\uD3B8\uC9D1", +cleanup_desc:"\uC9C0\uC800\uBD84\uD55C \uCF54\uB4DC \uC0AD\uC81C", +code_desc:"HTML \uD3B8\uC9D1", +sub_desc:"\uC544\uB798\uCCA8\uC790", +sup_desc:"\uC704\uCCA8\uC790", +hr_desc:"\uAD6C\uBD84\uC120", +removeformat_desc:"\uC11C\uC2DD \uD574\uC81C", +custom1_desc:"\uCEE4\uC2A4\uD140 \uC124\uBA85", +forecolor_desc:"\uAE00\uC790\uC0C9", +backcolor_desc:"\uBC30\uACBD\uC0C9", +charmap_desc:"\uD2B9\uC218 \uBB38\uC790", +visualaid_desc:"\uAC00\uC774\uB4DC\uB77C\uC778 \uD45C\uC2DC/\uBE44\uD45C\uC2DC", +anchor_desc:"\uC5E5\uCEE4 \uC0BD\uC785/\uD3B8\uC9D1", +cut_desc:"\uC798\uB77C\uB0B4\uAE30", +copy_desc:"\uBCF5\uC0AC", +paste_desc:"\uBD99\uC774\uAE30", +image_props_desc:"\uC774\uBBF8\uC9C0\uC18D\uC131", +newdocument_desc:"\uC2E0\uADDC\uAE00 \uC791\uC131", +help_desc:"\uB3C4\uC6C0\uB9D0", +blockquote_desc:"\uC778\uC6A9\uBB38", +clipboard_msg:"\uBCF5\uC0AC/\uC798\uB77C\uB0B4\uAE30/\uBD99\uC774\uAE30\uB294 Mozilla \uBC0FFirefox \uC5D0\uC11C \uC0AC\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.\n\uC0C1\uC138\uC815\uBCF4\uB97C \uD45C\uC2DC\uD569\uB2C8\uAE4C?", +path:"Path", +newdocument:"\uD3B8\uC9D1\uC911\uC758 \uB370\uC774\uD130\uB97C \uBAA8\uB450 \uC783\uC5B4\uB3C4 \uAD1C\uCC2E\uC2B5\uB2C8\uAE4C?", +toolbar_focus:"\uBC84\uD2BC\uC73C\uB85C \uC810\uD504 - Alt+Q, \uC5D0\uB514\uD130\uB85C \uC810\uD504 - Alt-Z, Jump to element path - Alt-X", +more_colors:"\uADF8 \uC678\uC758 \uC0C9" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ko_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ko_dlg.js new file mode 100644 index 0000000000..a0ee29d919 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ko_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('ko.standard_dlg',{ +about_title:"TinyMCE\uC5D0 \uB300\uD558\uC5EC", +about_general:"About", +about_help:"\uB3C4\uC6C0\uB9D0", +about_license:"\uB77C\uC774\uC13C\uC2A4", +about_plugins:"\uD50C\uB7EC\uADF8\uC778", +about_plugin:"\uD50C\uB7EC\uADF8\uC778", +about_author:"\uC81C\uC791\uC790", +about_version:"\uBC84\uC83C", +about_loaded:"\uC2E4\uD589\uB41C \uD50C\uB7EC\uADF8\uC778", +anchor_title:"\uC5E5\uCEE4 \uC0BD\uC785/\uD3B8\uC9D1", +anchor_name:"\uC5E5\uCEE4\uBA85", +code_title:"\uC18C\uC2A4 \uD3B8\uC9D1", +code_wordwrap:"\uC6CC\uB4DC\uB7A9", +colorpicker_title:"\uC0C9\uC744 \uC120\uD0DD", +colorpicker_picker_tab:"\uD53D\uCEE4", +colorpicker_picker_title:"\uCEEC\uB7EC \uD53D\uCEE4", +colorpicker_palette_tab:"\uD314\uB808\uD2B8", +colorpicker_palette_title:"\uD314\uB808\uD2B8 \uC0C9", +colorpicker_named_tab:"\uC0C9 \uC774\uB984", +colorpicker_named_title:"\uC0C9", +colorpicker_color:"Color:", +colorpicker_name:"\uC0C9 \uC774\uB984:", +charmap_title:"\uD2B9\uC218 \uBB38\uC790", +image_title:"\uC774\uBBF8\uC9C0\uC758 \uC0BD\uC785/\uD3B8\uC9D1", +image_src:"\uC774\uBBF8\uC9C0 URL", +image_alt:"\uC774\uBBF8\uC9C0 \uC124\uBA85", +image_list:"\uC774\uBBF8\uC9C0 \uBAA9\uB85D", +image_border:"\uD14C\uB450\uB9AC\uC120", +image_dimensions:"\uD06C\uAE30", +image_vspace:"\uC0C1\uD558 \uC5EC\uBC31", +image_hspace:"\uC88C\uC6B0 \uC5EC\uBC31", +image_align:"\uC815\uB82C", +image_align_baseline:"\uAE30\uC900\uC120", +image_align_top:"Top", +image_align_middle:"Middle", +image_align_bottom:"Bottom", +image_align_texttop:"Text top", +image_align_textbottom:"Text bottom", +image_align_left:"Left", +image_align_right:"Right", +link_title:"\uB9C1\uD06C\uC758 \uC0BD\uC785/\uD3B8\uC9D1", +link_url:"\uB9C1\uD06C URL", +link_target:"Target", +link_target_same:"\uAC19\uC740\uCC3D", +link_target_blank:"\uC0C8\uCC3D", +link_titlefield:"\uC81C\uBAA9", +link_is_email:"\uBA54\uC77C\uC8FC\uC18C\uAC00 \uC785\uB825\uB418\uC5C8\uC2B5\uB2C8\uB2E4.\n\uBA54\uC77C\uC8FC\uC18C\uC758 \uC55E\uC5D0 mailto:\uB97C \uBD99\uC785\uB2C8\uAE4C?", +link_is_external:"\uC678\uBD80URL\uC774 \uC785\uB825\uB418\uC5C8\uC2B5\uB2C8\uB2E4.\nURL\uC758 \uC55E\uC5D0 http://\uB97C \uBD99\uC785\uB2C8\uAE4C?", +link_list:"\uB9C1\uD06C \uBAA9\uB85D" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lt.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lt.js new file mode 100644 index 0000000000..14ab3f63de --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lt.js @@ -0,0 +1,67 @@ +tinyMCE.addI18n('lt.standard',{ +style_select:"Lang", +font_size:"\u0160rifto dydis", +fontdefault:"\u0160rifto \u0161eima", +block:"Formatas", +paragraph:"Paragrafas", +div:"Div \u017Eym\u0117", +address:"Adresas", +pre:"Preformatuotas tekstas", +h1:"Antra\u0161t\u0117 1", +h2:"Antra\u0161t\u0117 2", +h3:"Antra\u0161t\u0117 3", +h4:"Antra\u0161t\u0117 4", +h5:"Antra\u0161t\u0117 5", +h6:"Antra\u0161t\u0117 6", +blockquote:"Citatos blokas", +code:"Kodas", +samp:"Kodo pavyzdys", +dt:"Apibr\u0117\u017Eimo terminas", +dd:"Apibr\u0117\u017Eimo apra\u0161ymas", +bold_desc:"Storas (Ctrl+B)", +italic_desc:"Pasvir\u0119s (Ctrl+I)", +underline_desc:"Pabrauktas (Ctrl+U)", +striketrough_desc:"Perbrauktas", +justifyleft_desc:"Lygiuoti pagal kair\u0119", +justifycenter_desc:"Centruoti", +justifyright_desc:"Lygiuoti pagal de\u0161in\u0119", +justifyfull_desc:"Lygiuoti pagal abu kra\u0161tus", +bullist_desc:"Ner\u016B\u0161uotas s\u0105ra\u0161as", +numlist_desc:"R\u016B\u0161uotas skai\u010Diais s\u0105ra\u0161as", +outdent_desc:"Stumti prie kairiojo kra\u0161to", +indent_desc:"Stumti nuo kairiojo kra\u0161to", +undo_desc:"Atstatyti (Ctrl+Z)", +redo_desc:"Perdaryti (Ctrl+Y)", +link_desc:"\u012Eterpti/redaguoti nuorod\u0105", +unlink_desc:"Pa\u0161alinti nuorod\u0105", +image_desc:"\u012Eterpti/redaguoti paveiksl\u0117l\u012F", +cleanup_desc:"I\u0161valyti netvarking\u0105 kod\u0105", +code_desc:"Redaguoti HTML i\u0161eities kod\u0105", +sub_desc:"Apatinis indeksas", +sup_desc:"Vir\u0161utinis indeksas", +hr_desc:"\u012Eterpti horizontali\u0105 linij\u0105", +removeformat_desc:"Pa\u0161alinti formatavim\u0105", +custom1_desc:"J\u016Bs\u0173 apra\u0161ymas \u010Dia", +forecolor_desc:"Parinkti teksto spalv\u0105", +backcolor_desc:"Parinkti fono spalv\u0105", +charmap_desc:"\u012Eterpti nestandartin\u012F simbol\u012F", +visualaid_desc:"Kaitalioti gaires/nematom\u0173 element\u0173 rodym\u0105", +anchor_desc:"\u012Eterpti/redaguoti inkar\u0105", +cut_desc:"I\u0161kirpti", +copy_desc:"Kopijuoti", +paste_desc:"\u012Eklijuoti", +image_props_desc:"Paveiksl\u0117lio nustatymai", +newdocument_desc:"Naujas dokumentas", +help_desc:"Pagalba", +blockquote_desc:"Citatos blokas", +clipboard_msg:"Kopijavimas/I\u0161kirpimas/\u012Eklijavimas negalimas Mozilla ir Firefox nar\u0161ykl\u0117se.\r\nAr norite daugiau informacijos apie \u0161i\u0105 problem\u0105?", +path:"Kelias", +newdocument:"Ar tikrai norite i\u0161trinti vis\u0105 turin\u012F?", +toolbar_focus:"Per\u0161okimas prie \u012Franki\u0173 juostos mygtuk\u0173 - Alt+Q, Per\u0161okimas prie redaktoriaus - Alt-Z, Per\u0161okimas prie element\u0173 kelio - Alt-X", +more_colors:"Daugiau spalv\u0173", +advanced_image_delta_width:"10", +advanced_link_delta_width:"10", +advanced_colorpicker_delta_width:"10", +advanced_charmap_delta_width:"10", +advanced_anchor_delta_width:"10" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lt_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lt_dlg.js new file mode 100644 index 0000000000..dda19e4c7a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lt_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('lt.standard_dlg',{ +about_title:"Apie TinyMCE", +about_general:"Apie", +about_help:"Pagalba", +about_license:"Licenzija", +about_plugins:"\u012Eskiepiai", +about_plugin:"\u012Eskiepis", +about_author:"Autorius", +about_version:"Versija", +about_loaded:"U\u017Ekrauti \u012Fskiepiai", +anchor_title:"\u012Eterpti/redaguoti inkar\u0105", +anchor_name:"Inkaro vardas", +code_title:"HTML i\u0161eities kodo redaktorius", +code_wordwrap:"\u017Dod\u017Eio lau\u017Eymas", +colorpicker_title:"Pasirinkti spalv\u0105", +colorpicker_picker_tab:"Parink\u0117jas", +colorpicker_picker_title:"Spalvos parink\u0117jas", +colorpicker_palette_tab:"Palet\u0117", +colorpicker_palette_title:"Paletin\u0117s spalvos", +colorpicker_named_tab:"\u012Evardintosios", +colorpicker_named_title:"\u012Evardintosios spalvos", +colorpicker_color:"Spalva:", +colorpicker_name:"Pavadinimas:", +charmap_title:"Pasirinkti nestandartin\u012F simbol\u012F", +image_title:"\u012Eterpti/redaguoti paveiksl\u0117l\u012F", +image_src:"Paveiksl\u0117lio URL adresas", +image_alt:"Paveiksl\u0117lio apra\u0161ymas", +image_list:"Paveiksl\u0117li\u0173 s\u0105ra\u0161as", +image_border:"R\u0117melis", +image_dimensions:"I\u0161matavimai", +image_vspace:"Vertikalus tarpas", +image_hspace:"Horizontalus tarpas", +image_align:"Lygiavimas", +image_align_baseline:"Pradiniame ta\u0161ke", +image_align_top:"Vir\u0161uje", +image_align_middle:"Viduryje", +image_align_bottom:"Apa\u010Dioje", +image_align_texttop:"Teksto vir\u0161uje", +image_align_textbottom:"Teksto apa\u010Dioje", +image_align_left:"Kair\u0117je", +image_align_right:"De\u0161in\u0117je", +link_title:"\u012Eterpti/redaguoti nuorod\u0105", +link_url:"Nuorodos URL adresas", +link_target:"Taikinys", +link_target_same:"Atidaryti tame pa\u010Diame lange", +link_target_blank:"Atidaryti naujame lange", +link_titlefield:"Pavadinimas", +link_is_email:"URL adresas, kur\u012F \u012Fved\u0117te yra e-pa\u0161to adresas, ar norite prid\u0117ti reikaling\u0105 mailto: prefiks\u0105?", +link_is_external:"URL adresas, kur\u012F \u012Fved\u0117te yra i\u0161orin\u0117 nuoroda, ar norite prid\u0117ti reikaling\u0105 http:// prefiks\u0105?", +link_list:"Nuorod\u0173 s\u0105ra\u0161as" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lv.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lv.js new file mode 100644 index 0000000000..a40f3bf135 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lv.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('lv.standard',{ +style_select:"Lang", +font_size:"Fonta lielums", +fontdefault:"Fonta veids", +block:"Form\u0101ts", +paragraph:"Rindkopa", +div:"Div\u012Bzija", +address:"Adrese", +pre:"Priek\u0161format\u0113ts", +h1:"Virsraksts 1", +h2:"Virsraksts 2", +h3:"Virsraksts 3", +h4:"Virsraksts 4", +h5:"Virsraksts 5", +h6:"Virsraksts 6", +blockquote:"Cit\u0101ts", +code:"Kods", +samp:"Koda piem\u0113rs", +dt:"Defin\u012Bcijas termins ", +dd:"Defin\u012Bcijas apraksts", +bold_desc:"Treknraksts (Ctrl+B)", +italic_desc:"Sl\u012Bpraksts (Ctrl+I)", +underline_desc:"Pasv\u012Btrojums (Ctrl+U)", +striketrough_desc:"P\u0101rsv\u012Btrojums", +justifyleft_desc:"Novietot pa kreisi", +justifycenter_desc:"Centr\u0113t", +justifyright_desc:"Novietot pa labi", +justifyfull_desc:"Nol\u012Bdzin\u0101t malas", +bullist_desc:"Nenumur\u0113ts saraksts", +numlist_desc:"Numur\u0113ts saraksts", +outdent_desc:"Uzk\u0101pe", +indent_desc:"Atk\u0101pe", +undo_desc:"Atsaukt (Ctrl+Z)", +redo_desc:"Atatsaukt (Ctrl+Y)", +link_desc:"Ievietot/Redi\u0123\u0113t saiti", +unlink_desc:"Atsait\u0113t", +image_desc:"Ievietot/Redi\u0123\u0113t att\u0113lu", +cleanup_desc:"Izt\u012Br\u012Bt nek\u0101rt\u012Bgu kodu", +code_desc:"Redi\u0123\u0113t HTML kodu", +sub_desc:"Apak\u0161raksts", +sup_desc:"Aug\u0161raksts", +hr_desc:"Ievietot horizont\u0101lu sv\u012Btru", +removeformat_desc:"Izdz\u0113st format\u0113to", +custom1_desc:"Tevis izdom\u0101ts apraksts \u0161eit", +forecolor_desc:"Uzst\u0101d\u012Bt teksta kr\u0101su", +backcolor_desc:"Uzst\u0101d\u012Bt fona kr\u0101su", +charmap_desc:"Ievietot simbolu", +visualaid_desc:"Uzlikt/Nov\u0101kt pal\u012Bgsv\u012Btras/neredzamos elementus", +anchor_desc:"Ievietot/Redi\u0123\u0113t enkursaiti", +cut_desc:"Izgriezt", +copy_desc:"Kop\u0113t", +paste_desc:"Iekop\u0113t", +image_props_desc:"Bildes iestat\u012Bjumi", +newdocument_desc:"Jauns dokuments", +help_desc:"Pal\u012Bdz\u012Bba", +blockquote_desc:"Cit\u0101ts", +clipboard_msg:"Iesp\u0113ja Kop\u0113t/Izgriezt/Iekop\u0113t nav pieejama p\u0101rl\u016Bkiem Mozilla and Firefox.\r\nVai J\u016Bs v\u0113laties uzzin\u0101t vair\u0101k par \u0161o probl\u0113mu?", +path:"Atra\u0161an\u0101s vieta", +newdocument:"Vai J\u016Bs esat p\u0101rliecin\u0101ti, ka v\u0113laties izdz\u0113st visu saturu?", +toolbar_focus:"Iet uz r\u012Bkpog\u0101m - Alt+Q, Iet uz redaktoru - Alt-Z, Iet uz elementa atra\u0161an\u0101s vietu - Alt-X", +more_colors:"Vair\u0101k kr\u0101su" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lv_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lv_dlg.js new file mode 100644 index 0000000000..5be04168a4 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/lv_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('lv.standard_dlg',{ +about_title:"Par TinyMCE", +about_general:"Par", +about_help:"Pal\u012Bdz\u012Bba", +about_license:"Licence", +about_plugins:"Papildmodu\u013Ci", +about_plugin:"Papildmodulis", +about_author:"Autors", +about_version:"Versija", +about_loaded:"Iestat\u012Btie papildmodu\u013Ci", +anchor_title:"Ievietot/Redi\u0123\u0113t enkursaiti", +anchor_name:"Enkursaites nosaukums", +code_title:"HTML koda redaktors", +code_wordwrap:"V\u0101rdu p\u0101rne\u0161ana jaun\u0101 rind\u0101", +colorpicker_title:"Izv\u0113l\u0113ties kr\u0101su", +colorpicker_picker_tab:"Izv\u0113lnis", +colorpicker_picker_title:"Kr\u0101su izv\u0113lnis", +colorpicker_palette_tab:"Palete", +colorpicker_palette_title:"Kr\u0101su palete", +colorpicker_named_tab:"Nosaukts", +colorpicker_named_title:"Nosaukt\u0101s kr\u0101sas", +colorpicker_color:"Kr\u0101sa:", +colorpicker_name:"Nosaukums:", +charmap_title:"Izv\u0113lies simbolu", +image_title:"Ievietot/Redi\u0123\u0113t att\u0113lu", +image_src:"Att\u0113la URL", +image_alt:"Att\u0113la apraksts", +image_list:"Att\u0113lu saraksts", +image_border:"Apmale", +image_dimensions:"Izm\u0113ri", +image_vspace:"Vertik\u0101l\u0101 atstarpe", +image_hspace:"Horizont\u0101l\u0101 atstarpe", +image_align:"Novietojums", +image_align_baseline:"Pati apak\u0161a", +image_align_top:"Aug\u0161a", +image_align_middle:"Vidus", +image_align_bottom:"Apak\u0161a", +image_align_texttop:"Teksta aug\u0161a", +image_align_textbottom:"Teksta apak\u0161a", +image_align_left:"Pa kreisi", +image_align_right:"Pa labi", +link_title:"Ievietot/Redi\u0123\u0113t saiti", +link_url:"Saites URL", +link_target:"M\u0113r\u0137is", +link_target_same:"Atv\u0113rt saiti \u0161ai pa\u0161\u0101 log\u0101", +link_target_blank:"Atv\u0113rt saiti jaun\u0101 log\u0101", +link_titlefield:"Nosaukums", +link_is_email:"Ievad\u012Btais URL \u0161\u0137iet ir e-pasta adrese, vai tu v\u0113lies pirms t\u0101s pievienot mailto: pried\u0113kli? ", +link_is_external:"Ievad\u012Btais URL \u0161\u0137iet ir \u0101r\u0113j\u0101 saite, vai tu v\u0113lies pirms t\u0101s pievienot http:// pried\u0113kli?", +link_list:"Sai\u0161u saraksts" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nb.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nb.js new file mode 100644 index 0000000000..96ed5ba8a4 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nb.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('nb.standard',{ +style_select:"Lang", +font_size:"Skriftst\u00F8rrelse", +fontdefault:"Skriftfamilie", +block:"Format", +paragraph:"Avsnitt", +div:"Div", +address:"Adresse", +pre:"Pre-formatert", +h1:"Overskrift 1", +h2:"Overskrift 2", +h3:"Overskrift 3", +h4:"Overskrift 4", +h5:"Overskrift 5", +h6:"Overskrift 6", +blockquote:"Innrykkinnrykk", +code:"Kode", +samp:"Kodeeksempel", +dt:"Definisjonsuttrykk", +dd:"Definisjonsbeskrivelse", +bold_desc:"Fet", +italic_desc:"Kursiv", +underline_desc:"Understreking", +striketrough_desc:"Gjennomstreking", +justifyleft_desc:"Venstrejuster", +justifycenter_desc:"Midtstill", +justifyright_desc:"H\u00F8yrejuster", +justifyfull_desc:"Blokkjuster", +bullist_desc:"Punktliste", +numlist_desc:"Nummerliste", +outdent_desc:"Reduser innrykk", +indent_desc:"\u00D8k innrykk", +undo_desc:"Angre", +redo_desc:"Gj\u00F8r om", +link_desc:"Sett inn / endre lenke", +unlink_desc:"Fjern lenke", +image_desc:"Sett inn / endre bilde", +cleanup_desc:"Rens ukurant kode", +code_desc:"Redigere HTML-koden", +sub_desc:"Senket skrift", +sup_desc:"Hevet skrift", +hr_desc:"Sett inn horisontal linje", +removeformat_desc:"Fjern formatering", +custom1_desc:"Beskrivelse av spesialfunksjon", +forecolor_desc:"Velg skriftfarge", +backcolor_desc:"Velg bakgrunnsfarge", +charmap_desc:"Sett inn spesialtegn", +visualaid_desc:"Sl\u00E5 av/p\u00E5 usynlige elementer", +anchor_desc:"Sett inn / endre anker", +cut_desc:"Klipp ut", +copy_desc:"Kopier", +paste_desc:"Lim inn", +image_props_desc:"Bildeegenskaper", +newdocument_desc:"Nytt dokument", +help_desc:"Hjelp", +blockquote_desc:"Innrykk", +clipboard_msg:"Klipp ut / Kopier /Lim inn fungerer ikke i Mozilla og Firefox. \r\n Vil du vite mer om dette?", +path:"Sti", +newdocument:"Er du sikker p\u00E5 at du vil slette alt innhold?", +toolbar_focus:"Skift til verkt\u00F8yknapper - Alt+Q, Skift til editor - Alt-Z, Skift til elementsti - Alt-", +more_colors:"Flere farger" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nb_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nb_dlg.js new file mode 100644 index 0000000000..2f3e86f6b3 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nb_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('nb.standard_dlg',{ +about_title:"Om TinyMCE", +about_general:"Om", +about_help:"Hjelp", +about_license:"Lisens", +about_plugins:"Programtillegg", +about_plugin:"Programtillegg", +about_author:"Utvikler", +about_version:"Versjon", +about_loaded:"Lastede programtillegg", +anchor_title:"Sett inn / endre anker", +anchor_name:"Ankernavn", +code_title:"HTML-editor", +code_wordwrap:"Tekstbryting", +colorpicker_title:"Velg en farge", +colorpicker_picker_tab:"Velg farge", +colorpicker_picker_title:"Fargevalg", +colorpicker_palette_tab:"Palett", +colorpicker_palette_title:"Palettfarger", +colorpicker_named_tab:"Navnevalg", +colorpicker_named_title:"Fargenavn", +colorpicker_color:"Farge:", +colorpicker_name:"Navn:", +charmap_title:"Velg spesialtegn", +image_title:"Sett inn / endre bilde", +image_src:"Bildets URL", +image_alt:"Bildebeskrivelse", +image_list:"Bildeliste", +image_border:"Ramme", +image_dimensions:"Dimensjoner", +image_vspace:"Vertikal avstand", +image_hspace:"Horisontal avstand", +image_align:"Justering", +image_align_baseline:"Bunnlinje", +image_align_top:"Topp", +image_align_middle:"Midtstilt", +image_align_bottom:"Bunn", +image_align_texttop:"Teksttopp", +image_align_textbottom:"Tekstbunn", +image_align_left:"Venstre", +image_align_right:"H\u00F8yre", +link_title:"Sett inn /endre lenke", +link_url:"Lenkens URL", +link_target:"M\u00E5lside", +link_target_same:"\u00C5pne i dette vinduet", +link_target_blank:"\u00C5pne i nytt vindu", +link_titlefield:"Tittel", +link_is_email:"Nettadressen du skrev inn ser ut til \u00E5 v\u00E6re en e-postadresse. \u00D8nsker du \u00E5 legge til det p\u00E5krevde mailto:-prefikset?", +link_is_external:"Nettadressen du skrev inn ser ut til \u00E5 v\u00E6re en ekstern nettadresse. \u00D8nsker du \u00E5 legge til det p\u00E5krevde http://-prefikset?", +link_list:"Lenkeliste" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nl.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nl.js new file mode 100644 index 0000000000..6a148c849b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nl.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('nl.standard',{ +style_select:"Lang", +font_size:"Tekengrootte", +fontdefault:"Lettertype", +block:"Formaat", +paragraph:"Paragraaf", +div:"Div", +address:"Adres", +pre:"Vaste opmaak", +h1:"Kop 1", +h2:"Kop 2", +h3:"Kop 3", +h4:"Kop 4", +h5:"Kop 5", +h6:"Kop 6", +blockquote:"Citaat", +code:"Code", +samp:"Codevoorbeeld", +dt:"Definitieterm", +dd:"Definitiebeschrijving", +bold_desc:"Vet (Ctrl+B)", +italic_desc:"Cursief (Ctrl+I)", +underline_desc:"Onderstrepen (Ctrl+U)", +striketrough_desc:"Doorhalen", +justifyleft_desc:"Links uitlijnen", +justifycenter_desc:"Centreren", +justifyright_desc:"Rechts uitlijnen", +justifyfull_desc:"Uitvullen", +bullist_desc:"Opsommingstekens", +numlist_desc:"Nummering", +outdent_desc:"Inspringing verkleinen", +indent_desc:"Inspringing vergroten", +undo_desc:"Ongedaan maken (Ctrl+Z)", +redo_desc:"Herhalen (Ctrl+Y)", +link_desc:"Link invoegen/bewerken", +unlink_desc:"Link verwijderen", +image_desc:"Afbeelding invoegen/bewerken", +cleanup_desc:"Code opruimen", +code_desc:"HTML bron bewerken", +sub_desc:"Subscript", +sup_desc:"Superscript", +hr_desc:"Scheidingslijn invoegen", +removeformat_desc:"Opmaak verwijderen", +custom1_desc:"Uw eigen beschrijving hier", +forecolor_desc:"Tekstkleur", +backcolor_desc:"Tekstmarkeringskleur", +charmap_desc:"Symbool invoegen", +visualaid_desc:"Hulplijnen weergeven", +anchor_desc:"Anker invoegen/bewerken", +cut_desc:"Knippen", +copy_desc:"Kopi\u00EBren", +paste_desc:"Plakken", +image_props_desc:"Afbeeldingseigenschappen", +newdocument_desc:"Nieuw document", +help_desc:"Help", +blockquote_desc:"Citaat", +clipboard_msg:"Kopi\u00EBren/knippen/plakken is niet beschikbaar in Mozilla en Firefox.\nWilt u meer informatie over deze beperking?", +path:"Pad", +newdocument:"Weet u zeker dat u alle inhoud wilt wissen?", +toolbar_focus:"Spring naar werkbalk - Alt+Q, Spring naar tekst - Alt-Z, Spring naar elementpad - Alt-X", +more_colors:"Meer kleuren" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nl_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nl_dlg.js new file mode 100644 index 0000000000..bd16b311f0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nl_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('nl.standard_dlg',{ +about_title:"Over TinyMCE", +about_general:"Info", +about_help:"Help", +about_license:"Licentie", +about_plugins:"Invoegtoepassingen", +about_plugin:"Invoegtoepassing", +about_author:"Auteur", +about_version:"Versie", +about_loaded:"Geladen Invoegtoepassingen", +anchor_title:"Anker invoegen/bewerken", +anchor_name:"Ankernaam", +code_title:"HTML Bron", +code_wordwrap:"Automatische terugloop", +colorpicker_title:"Kleuren", +colorpicker_picker_tab:"Alle kleuren", +colorpicker_picker_title:"Alle kleuren", +colorpicker_palette_tab:"Palet", +colorpicker_palette_title:"Paletkleuren", +colorpicker_named_tab:"Benoemd", +colorpicker_named_title:"Benoemde kleuren", +colorpicker_color:"Kleur:", +colorpicker_name:"Naam:", +charmap_title:"Symbolen", +image_title:"Afbeelding invoegen/bewerken", +image_src:"Bestand/URL", +image_alt:"Beschrijving", +image_list:"Lijst", +image_border:"Rand", +image_dimensions:"Afmetingen", +image_vspace:"Verticale ruimte", +image_hspace:"Horizontale ruimte", +image_align:"Uitlijning", +image_align_baseline:"Basislijn", +image_align_top:"Boven", +image_align_middle:"Midden", +image_align_bottom:"Onder", +image_align_texttop:"Bovenkant tekst", +image_align_textbottom:"Onderkant tekst", +image_align_left:"Links", +image_align_right:"Rechts", +link_title:"Link invoegen/bewerken", +link_url:"URL", +link_target:"Doel", +link_target_same:"Link in hetzelfde venster openen", +link_target_blank:"Link in een nieuw venster openen", +link_titlefield:"Titel", +link_is_email:"De ingevoerde URL lijkt op een e-mailadres. Wilt u de vereiste mailto: tekst voorvoegen?", +link_is_external:"De ingevoerde URL lijkt op een externe link. Wilt u de vereiste http:// tekst voorvoegen?", +link_list:"Link lijst" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nn.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nn.js new file mode 100644 index 0000000000..791dc4c8a1 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nn.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('nn.standard',{ +style_select:"Lang", +font_size:"Skriftstorleik", +fontdefault:"Skriftfamilie", +block:"Format", +paragraph:"Avsnitt", +div:"Div", +address:"Adresse", +pre:"Pre-formatert", +h1:"Overskrift 1", +h2:"Overskrift 2", +h3:"Overskrift 3", +h4:"Overskrift 4", +h5:"Overskrift 5", +h6:"Overskrift 6", +blockquote:"Innrykk", +code:"Kode", +samp:"Kodeeksempel", +dt:"Definisjonsuttrykk", +dd:"Definisjonsbeskrivelse", +bold_desc:"Feit", +italic_desc:"Kursiv", +underline_desc:"Understreking", +striketrough_desc:"Gjennomstreking", +justifyleft_desc:"Venstrejustert", +justifycenter_desc:"Midtstilt", +justifyright_desc:"H\u00F8grejustert", +justifyfull_desc:"Blokkjustert", +bullist_desc:"Punktliste", +numlist_desc:"Nummerliste", +outdent_desc:"Reduser innrykk", +indent_desc:"Auk innrykk", +undo_desc:"Angre", +redo_desc:"Gjer om", +link_desc:"Set inn / endre lenkje", +unlink_desc:"Fjern lenkje", +image_desc:"Set inn / endre bilete", +cleanup_desc:"Rens grisete kode", +code_desc:"Redigere HTML-koden", +sub_desc:"Senka skrift", +sup_desc:"Heva skrift", +hr_desc:"Set inn horisontal linje", +removeformat_desc:"Fjern formatering", +custom1_desc:"Din spesialfunksjondefinisjon her", +forecolor_desc:"Vel skriftfarge", +backcolor_desc:"Vel bakgrunnsfarge", +charmap_desc:"Set inn spesialteikn", +visualaid_desc:"Sl\u00E5 av/p\u00E5 usynlige element", +anchor_desc:"Set inn / endre anker", +cut_desc:"Klipp ut", +copy_desc:"Kopier", +paste_desc:"Lim inn", +image_props_desc:"Eigenskaper for bilete", +newdocument_desc:"Nytt dokument", +help_desc:"Hjelp", +blockquote_desc:"Innrykk", +clipboard_msg:"Klipp ut / Kopier /Lim inn fungerer ikkje i Mozilla og Firefox. \r\n Vil du vite meir om dette?", +path:"Sti", +newdocument:"Er du sikker p\u00E5 at du vil slette alt innhald?", +toolbar_focus:"Skift til verktyknappar - Alt+Q, Skift til editor - Alt-Z, Skift til elementsti - Alt-", +more_colors:"Fleire fargar" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nn_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nn_dlg.js new file mode 100644 index 0000000000..b1b365eae5 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/nn_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('nn.standard_dlg',{ +about_title:"Om TinyMCE", +about_general:"Om", +about_help:"Hjelp", +about_license:"Lisens", +about_plugins:"Programtillegg", +about_plugin:"Programtillegg", +about_author:"Utviklar", +about_version:"Versjon", +about_loaded:"Lasta programtillegg", +anchor_title:"Set inn / endre anker", +anchor_name:"Ankernamn", +code_title:"HTML-editor", +code_wordwrap:"Tekstbryting", +colorpicker_title:"Vel ein farge", +colorpicker_picker_tab:"Vel farge", +colorpicker_picker_title:"Fargeval", +colorpicker_palette_tab:"Palett", +colorpicker_palette_title:"Palettfargar", +colorpicker_named_tab:"Namneval", +colorpicker_named_title:"Fargenamn", +colorpicker_color:"Farge:", +colorpicker_name:"Namn:", +charmap_title:"Vel spesialteikn", +image_title:"Set inn / endre bilete", +image_src:"Bilete-URL", +image_alt:"Bileteomtale", +image_list:"Liste med bilete", +image_border:"Ramme", +image_dimensions:"Dimensjonar", +image_vspace:"Vertikal avstand", +image_hspace:"Horisontal avstand", +image_align:"Justering", +image_align_baseline:"Botnlinje", +image_align_top:"Topp", +image_align_middle:"Midtstilt", +image_align_bottom:"Botn", +image_align_texttop:"Teksttopp", +image_align_textbottom:"Tekstbotn", +image_align_left:"Venstre", +image_align_right:"H\u00F8gre", +link_title:"Set inn / endre lenkje", +link_url:"Lenkje-URL", +link_target:"Vindauge", +link_target_same:"Opne i dette vindauget", +link_target_blank:"Opne i nytt vindauget", +link_titlefield:"Tittel", +link_is_email:"Nettadressa du skreiv inn ser ut til \u00E5 vere ein e-postadresse. \u00D8nskjer du \u00E5 leggje til det obligatoriske mailto:-prefikset?", +link_is_external:"Nettadressa du skreiv inn ser ut til \u00E5 vere ein ekstern nettadresse. \u00D8nskjer du \u00E5 leggje til det obligatoriske http://-prefikset?", +link_list:"Lenkjeliste" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pl.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pl.js new file mode 100644 index 0000000000..19bdca80bb --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pl.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('pl.standard',{ +style_select:"Lang", +font_size:"Rozmiar czcionki", +fontdefault:"Rodzaj czcionki", +block:"Format", +paragraph:"Paragraf", +div:"Div", +address:"Adres", +pre:"Czcionka o sta\u0142ej szeroko\u015Bci", +h1:"Nag\u0142\u00F3wek 1", +h2:"Nag\u0142\u00F3wek 2", +h3:"Nag\u0142\u00F3wek 3", +h4:"Nag\u0142\u00F3wek 4", +h5:"Nag\u0142\u00F3wek 5", +h6:"Nag\u0142\u00F3wek 6", +blockquote:"Wydzielony blok", +code:"Kod", +samp:"Pr\u00F3bka kodu", +dt:"Definicja terminu ", +dd:"Opis terminu", +bold_desc:"Pogrubienie (Ctrl+B)", +italic_desc:"Kursywa (Ctrl+I)", +underline_desc:"Podkre\u015Blenie (Ctrl+U)", +striketrough_desc:"Przekre\u015Blenia", +justifyleft_desc:"Wyr\u00F3wnaj do lewej", +justifycenter_desc:"Wycentruj", +justifyright_desc:"Wyr\u00F3wnaj do prawej", +justifyfull_desc:"R\u00F3wnanie do prawej i lewej", +bullist_desc:"Lista nienumerowana", +numlist_desc:"Lista numerowana", +outdent_desc:"Cofnij wci\u0119cie", +indent_desc:"Wci\u0119cie", +undo_desc:"Cofnij (Ctrl+Z)", +redo_desc:"Pon\u00F3w (Ctrl+Y)", +link_desc:"Wstaw/edytuj link", +unlink_desc:"Usu\u0144 link", +image_desc:"Wstaw/edytuj obraz", +cleanup_desc:"Wyczy\u015B\u0107 nieuporz\u0105dkowany kod", +code_desc:"Edytuj \u017Ar\u00F3d\u0142o HTML", +sub_desc:"Indeks dolny", +sup_desc:"Indeks g\u00F3rny", +hr_desc:"Wstaw poziom\u0105 lini\u0119", +removeformat_desc:"Usu\u0144 formatowanie", +custom1_desc:"Tw\u00F3j niestandardowy opis tutaj", +forecolor_desc:"Wybierz kolor tekstu", +backcolor_desc:"Wybierz kolor t\u0142a", +charmap_desc:"Wstaw niestandardowy znak", +visualaid_desc:"Toggle guidelines/niewidzialne elementy", +anchor_desc:"Wstaw/edytuj anchor", +cut_desc:"Wytnij", +copy_desc:"Kopiuj", +paste_desc:"Wklej", +image_props_desc:"W\u0142a\u015Bciwo\u015Bci obrazka", +newdocument_desc:"Nowy dokument", +help_desc:"Pomoc", +blockquote_desc:"Blok cytatu", +clipboard_msg:"Wtnij/Kopiuj/Wklej nie jest dost\u0119pne w Mozilla and Firefox.\r\nCzy chcesz wi\u0119cej informacji o tym problemie?", +path:"\u015Acie\u017Cka", +newdocument:"Czy jeste\u015B pewnien, ze chcesz wyczy\u015Bci\u0107 ca\u0142\u0105 zawarto\u015B\u0107?", +toolbar_focus:"Przeskocz do przycisk\u00F3w narz\u0119dzi - Alt+Q, Przeskocz do edytora - Alt-Z, Przeskocz do elementu \u015Bcie\u017Cki - Alt-X", +more_colors:"Wi\u0119cej kolor\u00F3w" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pl_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pl_dlg.js new file mode 100644 index 0000000000..d7ac8b8d5e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pl_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('pl.standard_dlg',{ +about_title:"O TinyMCE", +about_general:"O TinyMCE", +about_help:"Pomoc", +about_license:"Licencja", +about_plugins:"Wtyczki", +about_plugin:"Wtyczka", +about_author:"Autor", +about_version:"Wersja", +about_loaded:"Za\u0142adowane wtyczki", +anchor_title:"Wstaw/Edytuj zakotwiczenie", +anchor_name:"Nazwa zakotwiczenia", +code_title:"Edytor \u017Ar\u00F3d\u0142a HTML", +code_wordwrap:"Zawijanie s\u0142\u00F3w", +colorpicker_title:"Wybierz kolor", +colorpicker_picker_tab:"Wybieranie", +colorpicker_picker_title:"Wybieranie kolor\u00F3w", +colorpicker_palette_tab:"Paleta", +colorpicker_palette_title:"Paleta kolor\u00F3w", +colorpicker_named_tab:"Nazwane", +colorpicker_named_title:"Nazwane kolory", +colorpicker_color:"Kolor:", +colorpicker_name:"Nazwa:", +charmap_title:"Wybierz niestandardowy znak", +image_title:"Wstaw/Edytuj obraz", +image_src:"URL obrazka", +image_alt:"Opis obrazka", +image_list:"Lista obrazk\u00F3w", +image_border:"Ramka", +image_dimensions:"Rozmiary", +image_vspace:"Pionowy odst\u0119p", +image_hspace:"Poziomy odst\u0119p", +image_align:"Wyr\u00F3wnanie", +image_align_baseline:"Linia bazowa", +image_align_top:"G\u00F3ra", +image_align_middle:"\u015Arodek", +image_align_bottom:"Dolny", +image_align_texttop:"G\u00F3rny tekst", +image_align_textbottom:"Dolny tekst", +image_align_left:"Lewy", +image_align_right:"Prawy", +link_title:"Wstaw/edytuj link", +link_url:"Link URL", +link_target:"Celt", +link_target_same:"Otw\u00F3rz link w tym samym oknie", +link_target_blank:"Otw\u00F3rz link w nowym oknie", +link_titlefield:"Tytu\u0142", +link_is_email:"URL kt\u00F3ry otworzy\u0142e\u015B wydaje si\u0119 by\u0107 adresem mailowym, czy chcesz doda\u0107 odpowiedni prefix mailto: ?", +link_is_external:"URL kt\u00F3ry otworzy\u0142e\u015B wydaje si\u0119 by\u0107 zewn\u0119trznym linkiem, czy chcesz doda\u0107 wymagany prefix http:// ?", +link_list:"Lista link\u00F3w" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt.js new file mode 100644 index 0000000000..f84389b366 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('pt.standard',{ +style_select:"Lang", +font_size:"Tamanho", +fontdefault:"Fam\u00EDlia(Fonte)", +block:"Formata\u00E7\u00E3o", +paragraph:"Par\u00E1grafo", +div:"Div", +address:"Endere\u00E7o", +pre:"Pr\u00E9-formatado", +h1:"Cabe\u00E7alho 1", +h2:"Cabe\u00E7alho 2", +h3:"Cabe\u00E7alho 3", +h4:"Cabe\u00E7alho 4", +h5:"Cabe\u00E7alho 5", +h6:"Cabe\u00E7alho 6", +blockquote:"Cita\u00E7\u00E3o em bloco", +code:"C\u00F3digo", +samp:"Amostra de c\u00F3digo", +dt:"Termo de defini\u00E7\u00E3o", +dd:"Descri\u00E7\u00E3o de defini\u00E7\u00E3o", +bold_desc:"Negrito (Ctrl+B)", +italic_desc:"It\u00E1lico (Ctrl+I)", +underline_desc:"Sublinhado (Ctrl+U)", +striketrough_desc:"Texto Riscado", +justifyleft_desc:"Alinhar \u00E0 esquerda", +justifycenter_desc:"Centralizar", +justifyright_desc:"Alinhar \u00E0 direita", +justifyfull_desc:"Justificar", +bullist_desc:"Marcadores", +numlist_desc:"Numera\u00E7\u00E3o", +outdent_desc:"Diminuir recuo", +indent_desc:"Aumentar recuo", +undo_desc:"Desfazer (Ctrl+Z)", +redo_desc:"Refazer (Ctrl+Y)", +link_desc:"Inserir/editar hyperlink", +unlink_desc:"Remover hyperlink", +image_desc:"Inserir/editar imagem", +cleanup_desc:"Limpar c\u00F3digo incorreto", +code_desc:"Editar c\u00F3digo de fonte", +sub_desc:"Subscrito", +sup_desc:"Superscrito", +hr_desc:"Inserir separador horizontal", +removeformat_desc:"Remover formata\u00E7\u00E3o", +custom1_desc:"Sua descri\u00E7\u00E3o personalizada aqui", +forecolor_desc:"Selecionar cor do texto", +backcolor_desc:"Selecionar cor de fundo", +charmap_desc:"Inserir caracteres especiais", +visualaid_desc:"Alternar guias/elementos invis\u00EDveis", +anchor_desc:"Inserir/editar \u00E2ncora", +cut_desc:"Cortar", +copy_desc:"Copiar", +paste_desc:"Colar", +image_props_desc:"Propriedades de imagem", +newdocument_desc:"Novo documento", +help_desc:"Ajuda", +blockquote_desc:"Cita\u00E7\u00E3o em bloco", +clipboard_msg:"Copiar/cortar/colar n\u00E3o est\u00E1 dispon\u00EDvel em Mozilla e Firefox. Deseja mais informa\u00E7\u00F5es sobre isso?", +path:"Endere\u00E7o", +newdocument:"Tem certeza de que deseja apagar tudo?", +toolbar_focus:"Ir para ferramentas - Alt+Q, Ir para o editor - Alt-Z, Ir para endere\u00E7o do elemento - Alt-X", +more_colors:"Mais cores" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt_br.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt_br.js new file mode 100644 index 0000000000..105e4a49d1 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt_br.js @@ -0,0 +1,115 @@ +/** + * pt_br lang variables + * Brazilian Portuguese + * + * Authors : ???? + * Revision and modifications: + * Marcio Barbosa (mpg) + * Last Updated : November 26, 2005 + * TinyMCE Version : 2.0RC4 + */ +tinyMCE.addToLang('',{ +theme_style_select : 'Estilos', +theme_code_desc : 'Editar Código HTML', +theme_code_title : 'Editor de Código HTML', +theme_code_wordwrap : 'Quebrar Linhas', +theme_sub_desc : 'Subscrito', +theme_sup_desc : 'Subrescrito', +theme_hr_desc : 'Inserir linha horizontal', +theme_removeformat_desc : 'Remover formatação', +theme_custom1_desc : 'Sua descrição personalizada aqui', +insert_image_border : 'Borda', +insert_image_dimensions : 'Dimensões', +insert_image_vspace : 'Espaço Vertical', +insert_image_hspace : 'Espaço Horizontal', +insert_image_align : 'Alinhamento', +insert_image_align_default : 'Padrão', +insert_image_align_baseline : 'Linha base', +insert_image_align_top : 'Topo', +insert_image_align_middle : 'Centro', +insert_image_align_bottom : 'Fundo', +insert_image_align_texttop : 'Texto ao Topo', +insert_image_align_absmiddle : 'Centro Absoluto', +insert_image_align_absbottom : 'Fundo Absoluto', +insert_image_align_left : 'Esquerda', +insert_image_align_right : 'Direita', +theme_font_size : '-- Corpo --', +theme_fontdefault : '-- Tipo de Fonte --', +theme_block : '-- Formato --', +theme_paragraph : 'Parágrafo', +theme_div : 'Div', +theme_address : 'Endereço', +theme_pre : 'Pré-formatado', +theme_h1 : 'Cabeçalho 1', +theme_h2 : 'Cabeçalho 2', +theme_h3 : 'Cabeçalho 3', +theme_h4 : 'Cabeçalho 4', +theme_h5 : 'Cabeçalho 5', +theme_h6 : 'Cabeçalho 6', +theme_colorpicker_title : 'Selecionar côr', +theme_colorpicker_apply : 'Aplicar', +theme_forecolor_desc : 'Selecionar côr do texto', +theme_backcolor_desc : 'Selecionar côr de fundo', +theme_charmap_title : 'Selecionar caracter especial', +theme_charmap_desc : 'Inserir caracter especial', +theme_charmap_alpha_desc : 'Caracteres alfabéticos', +theme_charmap_arrows_title : 'Flechas', +theme_charmap_arrows_desc : 'Caracteres de flechas', +theme_charmap_greek_title : 'Gregos', +theme_charmap_greek_desc : 'Caracteres Gregos', +theme_charmap_math_title : 'Mathematicos', +theme_charmap_math_desc : 'Caracteres mathematicos', +theme_charmap_misc_title : 'Diversos', +theme_charmap_misc_desc : 'Caracteres diversos', +theme_charmap_money_title : 'Moedas', +theme_charmap_money_desc : 'Caracteres de moedas', +theme_charmap_quotaion_title : 'Apóstrofes', +theme_charmap_quotaion_desc : 'Caracteres de Apóstrofe', +theme_visualaid_desc : 'Trocar as linhas de ajuda por elementos invisíveis', +insert_anchor_title : 'Inserir/editar âncora', +insert_anchor_name : 'Nome da âncora', +theme_anchor_desc : 'Inserir/editar âncora', +theme_insert_link_titlefield : 'Título', +theme_clipboard_msg : 'Não se pode utiliza os comando de Copiar / Cortar / Colar no Mozilla e Firefox.\r\nUse o teclado para Copiar (Ctrl+C) / Cortar (Ctrl+X) / Colar (Ctrl+V)\r\nQuer obter mais informação?', +theme_path : 'Rota', +cut_desc : 'Cortar (Ctrl+X)', +copy_desc : 'Copiar (Ctrl+C)', +paste_desc : 'Colar (Ctrl+V)', +link_list : 'Lista de links', +image_list : 'Lista de imagens', +browse : 'Navegar', +image_props_desc : 'Propriedades da imagem', +newdocument_desc : 'Novo documento', +class_name : 'Classe', +newdocument : 'Tem certesa que deseja apagar todo o conteúdo?', +about_title : 'Sobre o TinyMCE', +about : 'Sobre', +license : 'Licença', +plugins : 'Plugins', +plugin : 'Plugin', +author : 'Autor', +version : 'Versão', +loaded_plugins : 'Plugins carregados', +help : 'Ajuda', +not_set : '-- Por padrão --', +close : 'Fechar', +toolbar_focus : 'Ir para a barra de ferramentas - Alt+Q, Ir para o editor - Alt+Z, Ir para o elemento de destino - Alt+X', +theme_visualaid_desc : 'Tornar linhas visíveis/invisíveis', +insert_anchor_title : 'Inserir/editar âncora', +insert_anchor_name : 'Nome da âncora', +theme_anchor_desc : 'Inserir/editar âncora', +theme_insert_link_titlefield : 'Título', +theme_clipboard_msg : 'Copiar/Recortar/Colar não é permitido no Mozilla e Firefox.\nQuer mais informações sobre isso?', +theme_path : 'Caminho', +cut_desc : 'Recortar', +copy_desc : 'Copiar', +paste_desc : 'Colar', +link_list : 'Lista de Links', +image_list : 'Lista de Imagens', +browse : 'Navegar', +image_props_desc : 'Propriedades da Imagem', +newdocument_desc : 'Novo Documento', +class_name : 'Classe', +newdocument : 'Tem certeza que deseja limpar todo o conteúdo?', +theme_advanced_anchor_delta_width : 20 +}); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt_dlg.js new file mode 100644 index 0000000000..e37536cd21 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/pt_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('pt.standard_dlg',{ +about_title:"Sobre o TinyMCE", +about_general:"Sobre", +about_help:"Ajuda", +about_license:"Licen\u00E7a", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Autor", +about_version:"Vers\u00E3o", +about_loaded:"Plugins Instalados", +anchor_title:"Inserir/editar \u00E2ncora", +anchor_name:"Nome da \u00E2ncora", +code_title:"Editor HTML", +code_wordwrap:"Quebra autom\u00E1tica de linha", +colorpicker_title:"Selecione uma cor", +colorpicker_picker_tab:"Editor", +colorpicker_picker_title:"Editor de Cores", +colorpicker_palette_tab:"Palheta", +colorpicker_palette_title:"Palheta de Cores", +colorpicker_named_tab:"Personalizadas", +colorpicker_named_title:"Cores Personalizadas", +colorpicker_color:"Cor:", +colorpicker_name:"Nome:", +charmap_title:"Selecionar caracteres personalizados", +image_title:"Inserir/editar imagem", +image_src:"Endere\u00E7o da imagem", +image_alt:"Descri\u00E7\u00E3o da imagem", +image_list:"Lista de imagens", +image_border:"Borda", +image_dimensions:"Dimens\u00F5es", +image_vspace:"Espa\u00E7o Vertical", +image_hspace:"Espa\u00E7o Horizontal", +image_align:"Alinhamento", +image_align_baseline:"Sobre a linha de texto", +image_align_top:"Topo", +image_align_middle:"Meio", +image_align_bottom:"Embaixo", +image_align_texttop:"Topo do texto", +image_align_textbottom:"Base do texto", +image_align_left:"Esquerda", +image_align_right:"Direita", +link_title:"Inserir/editar hyperlink", +link_url:"URL do hyperink", +link_target:"Alvo", +link_target_same:"Abrir hyperlink na mesma janela", +link_target_blank:"Abrir hyperlink em nova janela", +link_titlefield:"T\u00EDtulo", +link_is_email:"A URL digitada parece ser um endere\u00E7o de e-mail. Deseja acrescentar o (necess\u00E1rio) prefixo mailto:?", +link_is_external:"A URL digitada parece conduzir a um link externo. Deseja acrescentar o (necess\u00E1rio) prefixo http://?", +link_list:"Lista de Links" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/readme.txt b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/readme.txt new file mode 100644 index 0000000000..e32bcf07ff --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/readme.txt @@ -0,0 +1,4 @@ +Theme specific language packs. + +The language pack codes are based on ISO-639-2 +http://www.loc.gov/standards/iso639-2/englangn.html diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru.js new file mode 100644 index 0000000000..88f8ae148d --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('ru.standard',{ +style_select:"Lang", +font_size:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0441\u0438\u043C\u0432\u043E\u043B\u0430", +fontdefault:"\u0428\u0440\u0438\u0444\u0442", +block:"\u0424\u043E\u0440\u043C\u0430\u0442", +paragraph:"\u041F\u0430\u0440\u0430\u0433\u0440\u0430\u0444", +div:"\u0411\u043B\u043E\u043A (div)", +address:"\u0410\u0434\u0440\u0435\u0441", +pre:"\u0412 \u0437\u0430\u0434\u0430\u043D\u043D\u043E\u043C \u0444\u043E\u0440\u043C\u0430\u0442\u0435", +h1:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 1", +h2:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 2", +h3:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 3", +h4:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 4", +h5:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 5", +h6:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 6", +blockquote:"\u0426\u0438\u0442\u0430\u0442\u0430", +code:"\u041A\u043E\u0434", +samp:"\u041F\u0440\u0438\u043C\u0435\u0440 \u043A\u043E\u0434\u0430", +dt:"\u0422\u0435\u0440\u043C\u0438\u043D", +dd:"\u0423\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044C", +bold_desc:"\u041F\u043E\u043B\u0443\u0436\u0438\u0440\u043D\u044B\u0439 (Ctrl+B)", +italic_desc:"\u041A\u0443\u0440\u0441\u0438\u0432 (Ctrl+I)", +underline_desc:"\u041F\u043E\u0434\u0447\u0435\u0440\u043A\u0438\u0432\u0430\u043D\u0438\u0435 (Ctrl+U)", +striketrough_desc:"\u0417\u0430\u0447\u0435\u0440\u043A\u0438\u0432\u0430\u043D\u0438\u0435", +justifyleft_desc:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u043F\u043E \u043B\u0435\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +justifycenter_desc:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u043F\u043E \u0446\u0435\u043D\u0442\u0440\u0443", +justifyright_desc:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u043F\u043E \u043F\u0440\u0430\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +justifyfull_desc:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u043F\u043E \u0448\u0438\u0440\u0438\u043D\u0435", +bullist_desc:"\u041C\u0430\u0440\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0441\u043F\u0438\u0441\u043E\u043A", +numlist_desc:"\u041D\u0443\u043C\u0435\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0439 \u0441\u043F\u0438\u0441\u043E\u043A", +outdent_desc:"\u0412\u044B\u0441\u0442\u0443\u043F", +indent_desc:"\u041E\u0442\u0441\u0442\u0443\u043F", +undo_desc:"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C (Ctrl+Z)", +redo_desc:"\u0412\u0435\u0440\u043D\u0443\u0442\u044C (Ctrl+Y)", +link_desc:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443", +unlink_desc:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443", +image_desc:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C/\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", +cleanup_desc:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0438\u0437\u0431\u044B\u0442\u043E\u0447\u043D\u044B\u0439 \u043A\u043E\u0434", +code_desc:"\u0420\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C HTML \u043A\u043E\u0434", +sub_desc:"\u041D\u0438\u0436\u043D\u0438\u0439 \u0438\u043D\u0434\u0435\u043A\u0441", +sup_desc:"\u0412\u0435\u0440\u0445\u043D\u0438\u0439 \u0438\u043D\u0434\u0435\u043A\u0441", +hr_desc:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u044B\u0439 \u0440\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C", +removeformat_desc:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0444\u043E\u0440\u043C\u0430\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435", +custom1_desc:"\u0412\u0430\u0448 \u043A\u043E\u043C\u043C\u0435\u043D\u0442\u0430\u0440\u0438\u0439", +forecolor_desc:"\u0426\u0432\u0435\u0442 \u0442\u0435\u043A\u0441\u0442\u0430", +backcolor_desc:"\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430", +charmap_desc:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0441\u0438\u043C\u0432\u043E\u043B", +visualaid_desc:"\u0412\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043D\u0430\u043F\u0440\u0430\u0432\u043B\u044F\u044E\u0449\u0438\u0435 \u043B\u0438\u043D\u0435\u0439\u043A\u0438/\u043D\u0435\u0432\u0438\u0434\u0438\u043C\u044B\u0435 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u044B", +anchor_desc:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u044F\u043A\u043E\u0440\u044C", +cut_desc:"\u0412\u044B\u0440\u0435\u0437\u0430\u0442\u044C", +copy_desc:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C", +paste_desc:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C", +image_props_desc:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F", +newdocument_desc:"\u041D\u043E\u0432\u044B\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442", +help_desc:"\u041F\u043E\u043C\u043E\u0449\u044C", +blockquote_desc:"\u0426\u0438\u0442\u0430\u0442\u0430", +clipboard_msg:"\u0424\u0443\u043D\u043A\u0446\u0438\u0438 \u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C/\u0412\u044B\u0440\u0435\u0437\u0430\u0442\u044C/\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u0432 Mozilla \u0438 Firefox.\r\n\u0425\u043E\u0442\u0438\u0442\u0435 \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0431\u043E\u043B\u0435\u0435 \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u0443\u044E \u0438\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0438\u044E \u043E\u0431 \u044D\u0442\u043E\u0439 \u043F\u0440\u043E\u0431\u043B\u0435\u043C\u0435?", +path:"\u041F\u0443\u0442\u044C", +newdocument:"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u0441\u0435?", +toolbar_focus:"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043A\u043D\u043E\u043F\u043A\u0430\u043C \u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 - Alt+Q, \u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0443 - Alt-Z, \u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043A \u043F\u0443\u0442\u0438 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430 - Alt-X", +more_colors:"\u0411\u043E\u043B\u044C\u0448\u0435 \u0446\u0432\u0435\u0442\u043E\u0432" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_KOI8-R.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_KOI8-R.js new file mode 100644 index 0000000000..d0b65bcb7e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_KOI8-R.js @@ -0,0 +1,76 @@ +// Russian lang variables KOI8-R + +tinyMCE.addToLang('',{ +theme_style_select : '-- óÔÉÌÉ --', +theme_code_desc : 'òÅÄÁËÔÉÒÏ×ÁÔØ HTML ËÏÄÙ', +theme_code_title : 'òÅÄÁËÔÏÒ HTML ËÏÄÏ×', +theme_code_wordwrap : 'ðÅÒÅÎÏÓ ÐÏ ÓÌÏ×ÁÍ', +theme_sub_desc : 'îÉÖÎÉÊ ÉÎÄÅËÓ', +theme_sup_desc : '÷ÅÒÈÎÉÊ ÉÎÄÅËÓ', +theme_hr_desc : '÷ÓÔÁ×ÉÔØ ÇÏÒÉÚÏÎÔÁÌØÎÙÊ ÒÁÚÄÅÌÉÔÅÌØ', +theme_removeformat_desc : 'õÂÒÁÔØ ÆÏÒÍÁÔÉÒÏ×ÁÎÉÅ', +theme_custom1_desc : '÷ÁÛÅ ÐÒÏÉÚ×ÏÌØÎÏÅ ÏÐÉÓÁÎÉÅ', +insert_image_border : 'òÁÍËÁ', +insert_image_dimensions : 'òÁÚÍÅÒÙ', +insert_image_vspace : '÷ÅÒÔÉËÁÌØÎÙÊ ÏÔÓÔÕÐ', +insert_image_hspace : 'çÏÒÉÚÏÎÔÁÌØÎÙÊ ÏÔÓÔÕÐ', +insert_image_align : '÷ÙÒÁ×ÎÉ×ÁÎÉÅ', +insert_image_align_default : '-- îÅ ÚÁÄÁÎÏ --', +insert_image_align_baseline : 'ðÏ ÂÁÚÏ×ÏÊ ÌÉÎÉÉ', +insert_image_align_top : 'ðÏ ×ÅÒÈÕ', +insert_image_align_middle : 'ðÏÓÒÅÄÉÎÅ', +insert_image_align_bottom : 'ðÏ ÎÉÚÕ', +insert_image_align_texttop : 'ðÏ ×ÅÒÈÕ ÔÅËÓÔÁ', +insert_image_align_absmiddle : 'áÂÓÏÌÀÔÎÏ ÐÏÓÒÅÄÉÎÅ', +insert_image_align_absbottom : 'áÂÓÏÌÀÔÎÏ Ó×ÅÒÈÕ', +insert_image_align_left : '÷ÌÅ×Ï', +insert_image_align_right : '÷ÐÒÁ×Ï', +theme_font_size : '-- òÁÚÍÅÒ ÛÒÉÆÔÁ --', +theme_fontdefault : '-- óÅÍÅÊÓÔ×Ï ÛÒÉÆÔÏ× --', +theme_block : '-- æÏÒÍÁÔ --', +theme_paragraph : 'áÂÚÁÃ', +theme_div : 'Div', +theme_address : 'óÔÉÌØ ÁÄÒÅÓÁ', +theme_pre : ':`ðÒÅÄ×ÁÒÉÔÅÌØÎÏ ÆÏÒÍÁÔÉÒÏ×ÁÎÎÙÊ', +theme_h1 : 'úÁÇÏÌÏ×ÏË 1', +theme_h2 : 'úÁÇÏÌÏ×ÏË 2', +theme_h3 : 'úÁÇÏÌÏ×ÏË 3', +theme_h4 : 'úÁÇÏÌÏ×ÏË 4', +theme_h5 : 'úÁÇÏÌÏ×ÏË 5', +theme_h6 : 'úÁÇÏÌÏ×ÏË 6', +theme_colorpicker_title : '÷ÙÂÒÁÔØ Ã×ÅÔ', +theme_colorpicker_apply : 'ðÒÉÍÅÎÉÔØ', +theme_forecolor_desc : '÷ÙÂÒÁÔØ Ã×ÅÔ ÔÅËÓÔÁ', +theme_backcolor_desc : '÷ÙÂÒÁÔØ Ã×ÅÔ ÆÏÎÁ', +theme_charmap_title : '÷ÙÂÏÒ ÐÒÏÉÚ×ÏÌØÎÏÇÏ ÓÉÍ×ÏÌÁ', +theme_charmap_desc : '÷ÓÔÁ×ÉÔØ ÐÒÏÉÚ×ÏÌØÎÙÊ ÓÉÍ×ÏÌ', +theme_visualaid_desc : 'ðÏËÁÚÁÔØ ÇÒÁÎÉÃÙ ÓËÒÙÔÙÈ ÜÌÅÍÅÎÔÏ×', +insert_anchor_title : '÷ÓÔÁ×ÉÔØ/ÒÅÄÁËÔÉÒÏ×ÁÔØ ÑËÏÒØ', +insert_anchor_name : 'éÍÑ ÑËÏÒÑ', +theme_anchor_desc : '÷ÓÔÁ×ÉÔØ/ÒÅÄÁËÔÉÒÏ×ÁÔØ ÑËÏÒØ', +theme_insert_link_titlefield : 'úÁÇÏÌÏ×ÏË', +theme_clipboard_msg : 'ëÏÐÉÒÏ×ÁÔØ/÷ÙÒÅÚÁÔØ/÷ÓÔÁ×ÉÔØ ÎÅÄÏÓÔÕÐÎÙ ÄÌÑ Mozilla É Firefox.\nèÏÔÉÔÅ ÕÚÎÁÔØ Ï ÜÔÏÍ ÐÏÄÒÏÂÎÅÅ?', +theme_path : 'ðÕÔØ', +cut_desc : '÷ÙÒÅÚÁÔØ', +copy_desc : 'ëÏÐÉÒÏ×ÁÔØ', +paste_desc : '÷ÓÔÁ×ÉÔØ', +link_list : 'ðÅÒÅÞÁÎØ ÓÓÙÌÏË', +image_list : 'ðÅÒÅÞÅÎØ ËÁÒÔÉÎÏË', +browse : 'ðÏÄÏÂÒÁÔØ', +image_props_desc : 'ó×ÏÊÓÔ×Á ËÁÒÔÉÎËÉ', +newdocument_desc : 'îÏ×ÙÊ ÄÏËÕÍÅÎÔ', +class_name : 'ëÌÁÓÓ', +newdocument : '÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ÈÏÔÉÔÅ ÏÞÉÓÔÉÔØ ×Ó£ ÓÏÄÅÒÖÉÍÏÅ?', +about_title : 'ï TinyMCE', +about : 'ï TinyMCE', +license : 'ìÉÃÅÎÚÉÑ', +plugins : 'ðÌÁÇÉÎÙ', +plugin : 'ðÌÁÇÉÎ', +author : 'á×ÔÏÒ', +version : '÷ÅÒÓÉÑ', +loaded_plugins : 'úÁÇÒÕÖÅÎÎÙÅ ÐÌÁÇÉÎÙ', +help : 'ðÏÍÏÝØ', +not_set : '-- ÎÅ ÕÓÔÁÎÏ×ÌÅÎÏ --', +close : 'úÁËÒÙÔØ', +toolbar_focus : 'ðÅÒÅÍÅÓÔÉÔØ ÆÏËÕÓ ÎÁ ÐÁÎÅÌØ ÉÎÓÔÒÕÍÅÎÔÏ× - Alt+Q, ðÅÒÅÍÅÓÔÉÔØ ÆÏËÕÓ × ÒÅÄÁËÔÏÒ - Alt-Z, ðÅÒÅÍÅÓÔÉÔØ ÆÏËÕÓ ÎÁ ÜÌÅÍÅÎÔ ÐÕÔÉ - Alt-X' +}); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_UTF-8.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_UTF-8.js new file mode 100644 index 0000000000..201f81f8e3 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_UTF-8.js @@ -0,0 +1,76 @@ +// Russian lang variables UTF-8 + +tinyMCE.addToLang('',{ +theme_style_select : '-- Стили --', +theme_code_desc : 'Редактировать HTML коды', +theme_code_title : 'Редактор HTML кодов', +theme_code_wordwrap : 'Перенос по словам', +theme_sub_desc : 'Нижний индекс', +theme_sup_desc : 'Верхний индекс', +theme_hr_desc : 'Вставить горизонтальный разделитель', +theme_removeformat_desc : 'Убрать форматирование', +theme_custom1_desc : 'Ваше произвольное описание', +insert_image_border : 'Рамка', +insert_image_dimensions : 'Размеры', +insert_image_vspace : 'Вертикальный отступ', +insert_image_hspace : 'Горизонтальный отступ', +insert_image_align : 'Выравнивание', +insert_image_align_default : '-- Не задано --', +insert_image_align_baseline : 'По базовой линии', +insert_image_align_top : 'По верху', +insert_image_align_middle : 'Посредине', +insert_image_align_bottom : 'По низу', +insert_image_align_texttop : 'По верху текста', +insert_image_align_absmiddle : 'Абсолютно посредине', +insert_image_align_absbottom : 'Абсолютно сверху', +insert_image_align_left : 'Влево', +insert_image_align_right : 'Вправо', +theme_font_size : '-- Размер шрифта --', +theme_fontdefault : '-- Семейство шрифтов --', +theme_block : '-- Формат --', +theme_paragraph : 'Абзац', +theme_div : 'Div', +theme_address : 'Стиль адреса', +theme_pre : ':`Предварительно форматированный', +theme_h1 : 'Заголовок 1', +theme_h2 : 'Заголовок 2', +theme_h3 : 'Заголовок 3', +theme_h4 : 'Заголовок 4', +theme_h5 : 'Заголовок 5', +theme_h6 : 'Заголовок 6', +theme_colorpicker_title : 'Выбрать цвет', +theme_colorpicker_apply : 'Применить', +theme_forecolor_desc : 'Выбрать цвет текста', +theme_backcolor_desc : 'Выбрать цвет фона', +theme_charmap_title : 'Выбор произвольного символа', +theme_charmap_desc : 'Вставить произвольный символ', +theme_visualaid_desc : 'Показать границы скрытых элементов', +insert_anchor_title : 'Вставить/редактировать якорь', +insert_anchor_name : 'Имя якоря', +theme_anchor_desc : 'Вставить/редактировать якорь', +theme_insert_link_titlefield : 'Заголовок', +theme_clipboard_msg : 'Копировать/Вырезать/Вставить недоступны для Mozilla и Firefox.\nХотите узнать об этом подробнее?', +theme_path : 'Путь', +cut_desc : 'Вырезать', +copy_desc : 'Копировать', +paste_desc : 'Вставить', +link_list : 'Перечань ссылок', +image_list : 'Перечень картинок', +browse : 'Подобрать', +image_props_desc : 'Свойства картинки', +newdocument_desc : 'Новый документ', +class_name : 'Класс', +newdocument : 'Вы уверены, что хотите очистить всё содержимое?', +about_title : 'О TinyMCE', +about : 'О TinyMCE', +license : 'Лицензия', +plugins : 'Плагины', +plugin : 'Плагин', +author : 'Автор', +version : 'Версия', +loaded_plugins : 'Загруженные плагины', +help : 'Помощь', +not_set : '-- не установлено --', +close : 'Закрыть', +toolbar_focus : 'Переместить фокус на панель инструментов - Alt+Q, Переместить фокус в редактор - Alt-Z, Переместить фокус на элемент пути - Alt-X' +}); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_dlg.js new file mode 100644 index 0000000000..1e33bb065a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/ru_dlg.js @@ -0,0 +1,48 @@ +tinyMCE.addI18n('ru.standard_dlg',{ +about_title:"\u041E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435 TinyMCE", +about_general:"\u041E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0435", +about_help:"\u041F\u043E\u043C\u043E\u0449\u044C", +about_license:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F", +about_plugins:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F", +about_plugin:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u0435", +about_author:"\u0410\u0432\u0442\u043E\u0440", +about_version:"\u0412\u0435\u0440\u0441\u0438\u044F", +about_loaded:"\u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043D\u044B\u0435 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u0438\u044F", +anchor_title:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u044F\u043A\u043E\u0440\u044C", +anchor_name:"\u0418\u043C\u044F \u044F\u043A\u043E\u0440\u044F", +code_title:"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 HTML \u043A\u043E\u0434\u0430", +code_wordwrap:"\u041F\u0435\u0440\u0435\u043D\u043E\u0441 \u043F\u043E \u0441\u043B\u043E\u0432\u0430\u043C", +colorpicker_title:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0446\u0432\u0435\u0442", +colorpicker_picker_tab:"\u0421\u043F\u0435\u043A\u0442\u0440", +colorpicker_palette_tab:"\u041F\u0430\u043B\u0438\u0442\u0440\u0430", +colorpicker_named_title:"\u0418\u043C\u0435\u043D\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0446\u0432\u0435\u0442\u0430", +colorpicker_color:"\u0426\u0432\u0435\u0442:", +colorpicker_name:"\u0418\u043C\u044F:", +charmap_title:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u0440\u043E\u0438\u0437\u0432\u043E\u043B\u044C\u043D\u044B\u0439 \u0441\u0438\u043C\u0432\u043E\u043B", +image_title:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435", +image_src:"\u0410\u0434\u0440\u0435\u0441 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F", +image_alt:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F", +image_list:"\u0421\u043F\u0438\u0441\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439", +image_border:"\u0413\u0440\u0430\u043D\u0438\u0446\u0430", +image_dimensions:"\u0420\u0430\u0437\u043C\u0435\u0440\u044B", +image_vspace:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043E\u0442\u0441\u0442\u0443\u043F", +image_hspace:"\u0413\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u044B\u0439 \u043E\u0442\u0441\u0442\u0443\u043F", +image_align:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435", +image_align_baseline:"\u041F\u043E \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u043B\u0438\u043D\u0438\u0438", +image_align_top:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", +image_align_middle:"\u041F\u043E \u0446\u0435\u043D\u0442\u0440\u0443", +image_align_bottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", +image_align_texttop:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E \u0442\u0435\u043A\u0441\u0442\u0430", +image_align_textbottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E \u0442\u0435\u043A\u0441\u0442\u0430", +image_align_left:"\u041F\u043E \u043B\u0435\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +image_align_right:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E", +link_title:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443", +link_url:"\u0410\u0434\u0440\u0435\u0441 \u0441\u0441\u044B\u043B\u043A\u0438", +link_target:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435", +link_target_same:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u0441 \u044D\u0442\u043E\u043C \u0436\u0435 \u043E\u043A\u043D\u0435", +link_target_blank:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443 \u0432 \u043D\u043E\u0432\u043E\u043C \u043E\u043A\u043D\u0435", +link_titlefield:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", +link_is_email:"\u0412\u0432\u0435\u0434\u0435\u043D \u0430\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B. \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0439 \u043F\u0440\u0435\u0444\u0438\u043A\u0441 mailto:?", +link_is_external:"\u0412\u0432\u0435\u0434\u0435\u043D \u0430\u0434\u0440\u0435\u0441 \u0432\u043D\u0435\u0448\u043D\u0435\u0439 \u0441\u0441\u044B\u043B\u043A\u0438. \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0439 \u043F\u0440\u0435\u0444\u0438\u043A\u0441 http://?", +link_list:"\u0421\u043F\u0438\u0441\u043E\u043A \u0441\u0441\u044B\u043B\u043E\u043A" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/si.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/si.js new file mode 100644 index 0000000000..c4ee4117ae --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/si.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('si.standard',{ +style_select:"Lang", +font_size:"Font size", +fontdefault:"Font family", +block:"Format", +paragraph:"Paragraph", +div:"Div", +address:"Address", +pre:"Preformatted", +h1:"Heading 1", +h2:"Heading 2", +h3:"Heading 3", +h4:"Heading 4", +h5:"Heading 5", +h6:"Heading 6", +blockquote:"Blockquote", +code:"Code", +samp:"Code sample", +dt:"Definition term ", +dd:"Definition description", +bold_desc:"Bold (Ctrl+B)", +italic_desc:"Italic (Ctrl+I)", +underline_desc:"Underline (Ctrl+U)", +striketrough_desc:"Strikethrough", +justifyleft_desc:"Align left", +justifycenter_desc:"Align center", +justifyright_desc:"Align right", +justifyfull_desc:"Align full", +bullist_desc:"Unordered list", +numlist_desc:"Ordered list", +outdent_desc:"Outdent", +indent_desc:"Indent", +undo_desc:"Undo (Ctrl+Z)", +redo_desc:"Redo (Ctrl+Y)", +link_desc:"Insert/edit link", +unlink_desc:"Unlink", +image_desc:"Insert/edit image", +cleanup_desc:"Cleanup messy code", +code_desc:"Edit HTML Source", +sub_desc:"Subscript", +sup_desc:"Superscript", +hr_desc:"Insert horizontal ruler", +removeformat_desc:"Remove formatting", +custom1_desc:"Your custom description here", +forecolor_desc:"Select text color", +backcolor_desc:"Select background color", +charmap_desc:"Insert custom character", +visualaid_desc:"Toggle guidelines/invisible elements", +anchor_desc:"Insert/edit anchor", +cut_desc:"Cut", +copy_desc:"Copy", +paste_desc:"Paste", +image_props_desc:"Image properties", +newdocument_desc:"New document", +help_desc:"Help", +blockquote_desc:"Blockquote", +clipboard_msg:"Copy/Cut/Paste is not available in Mozilla and Firefox.\r\nDo you want more information about this issue?", +path:"Path", +newdocument:"Are you sure you want clear all contents?", +toolbar_focus:"Jump to tool buttons - Alt+Q, Jump to editor - Alt-Z, Jump to element path - Alt-X", +more_colors:"More colors" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/si_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/si_dlg.js new file mode 100644 index 0000000000..98b544886e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/si_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('si.standard_dlg',{ +about_title:"About TinyMCE", +about_general:"About", +about_help:"Help", +about_license:"License", +about_plugins:"Plugins", +about_plugin:"Plugin", +about_author:"Author", +about_version:"Version", +about_loaded:"Loaded plugins", +anchor_title:"Insert/edit anchor", +anchor_name:"Anchor name", +code_title:"HTML Source Editor", +code_wordwrap:"Word wrap", +colorpicker_title:"Select a color", +colorpicker_picker_tab:"Picker", +colorpicker_picker_title:"Color picker", +colorpicker_palette_tab:"Palette", +colorpicker_palette_title:"Palette colors", +colorpicker_named_tab:"Named", +colorpicker_named_title:"Named colors", +colorpicker_color:"Color:", +colorpicker_name:"Name:", +charmap_title:"Select custom character", +image_title:"Insert/edit image", +image_src:"Image URL", +image_alt:"Image description", +image_list:"Image list", +image_border:"Border", +image_dimensions:"Dimensions", +image_vspace:"Vertical space", +image_hspace:"Horizontal space", +image_align:"Alignment", +image_align_baseline:"Baseline", +image_align_top:"Top", +image_align_middle:"Middle", +image_align_bottom:"Bottom", +image_align_texttop:"Text top", +image_align_textbottom:"Text bottom", +image_align_left:"Left", +image_align_right:"Right", +link_title:"Insert/edit link", +link_url:"Link URL", +link_target:"Target", +link_target_same:"Open link in the same window", +link_target_blank:"Open link in a new window", +link_titlefield:"Title", +link_is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?", +link_is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?", +link_list:"Link list" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sk.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sk.js new file mode 100644 index 0000000000..e1fa3b18f7 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sk.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('sk.standard',{ +style_select:"Lang", +font_size:"- Ve\u013Ekos\u0165 p\u00EDsma -", +fontdefault:"- Typ p\u00EDsma -", +block:"- Form\u00E1tovanie -", +paragraph:"Odstavec [p]", +div:"Div", +address:"Adresa [address]", +pre:"Predform\u00E1t [pre]", +h1:"Nadpis 1 [h1]", +h2:"Nadpis 2 [h2]", +h3:"Nadpis 3 [h3]", +h4:"Nadpis 4 [h4]", +h5:"Nadpis 5 [h5]", +h6:"Nadpis 6 [h6]", +blockquote:"Odsadenie", +code:"K\u00F3d", +samp:"Uk\u00E1\u017Eka k\u00F3du", +dt:"Defin\u00EDcia podmienky", +dd:"Defin\u00EDcia popisu", +bold_desc:"Tu\u010Dn\u00FD text (Ctrl+B)", +italic_desc:"\u0160ikm\u00FD text (kurziv\u00E1) (Ctrl+I)", +underline_desc:"Pod\u010Diarknut\u00FD text (Ctrl+U)", +striketrough_desc:"Pre\u0161krtnut\u00FD text", +justifyleft_desc:"Zarovna\u0165 v\u013Eavo", +justifycenter_desc:"Zarovna\u0165 na stred", +justifyright_desc:"Zarovna\u0165 vpravo", +justifyfull_desc:"Zarovna\u0165 do bloku", +bullist_desc:"Zoznam s odr\u00E1\u017Ekami", +numlist_desc:"\u010C\u00EDslovan\u00FD zoznam", +outdent_desc:"Zmen\u0161i\u0165 odsadenie", +indent_desc:"Zv\u00E4\u010D\u0161i\u0165 odsadenie", +undo_desc:"Sp\u00E4\u0165 (Ctrl+Z)", +redo_desc:"Znovu (Ctrl+Y)", +link_desc:"Vlo\u017Ei\u0165/upravi\u0165 odkaz", +unlink_desc:"Zru\u0161i\u0165 odkaz", +image_desc:"Vlo\u017Ei\u0165/upravi\u0165 obr\u00E1zok", +cleanup_desc:"Vy\u010Disti\u0165 neusporiadan\u00FD k\u00F3d", +code_desc:"Zobrazi\u0165 HTML zdroj", +sub_desc:"Doln\u00FD index", +sup_desc:"Horn\u00FD index", +hr_desc:"Vlo\u017Ei\u0165 vodorovn\u00FD odde\u013Eova\u010D", +removeformat_desc:"Odstr\u00E1ni\u0165 form\u00E1tovanie", +custom1_desc:"\u013Dubovoln\u00FD popisok", +forecolor_desc:"Vyber farbu textu", +backcolor_desc:"Vyber farbu pozadia", +charmap_desc:"Insert custom character", +visualaid_desc:"Zobrazi\u0165 pomocn\u00E9/nevidite\u013En\u00E9 prvky", +anchor_desc:"Vlo\u017Ei\u0165/upravi\u0165 n\u00E1zov kotvy", +cut_desc:"Vystrihn\u00FA\u0165", +copy_desc:"Kop\u00EDrova\u0165", +paste_desc:"Vlo\u017Ei\u0165", +image_props_desc:"Vlastnosti obr\u00E1zka", +newdocument_desc:"Nov\u00FD dokument", +help_desc:"N\u00E1poveda", +blockquote_desc:"Odsadenie bloku textu", +clipboard_msg:"Funkcie Kop\u00EDrova\u0165/vysrihn\u00FA\u0165/vlo\u017Ei\u0165 nie su podporovan\u00E9 prehliada\u010Dmi Mozilla a Firefox.\nChcete viac inform\u00E1ci\u00ED o tomto probl\u00E9me?", +path:"Cesta", +newdocument:"Naozaj chce\u0161 vy\u010Disti\u0165 v\u0161etok obsah?", +toolbar_focus:"Prejdi na n\u00E1strojov\u00E9 tla\u010Didl\u00E1 - Alt+Q, Prejdi na editor - Alt-Z, Prejdi na cestu elementov - Alt-X", +more_colors:"Viac farieb" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sk_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sk_dlg.js new file mode 100644 index 0000000000..3830dd4c5a --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sk_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('sk.standard_dlg',{ +about_title:"O TinyMCE", +about_general:"O Programe", +about_help:"N\u00E1poveda", +about_license:"Licencia", +about_plugins:"Pluginy", +about_plugin:"Plugin", +about_author:"Autor", +about_version:"Verzia", +about_loaded:"Na\u010D\u00EDtan\u00E9 pluginy", +anchor_title:"Vlo\u017Ei\u0165/upravi\u0165 n\u00E1zov kotvy", +anchor_name:"N\u00E1zov kotvy", +code_title:"Editor HTML k\u00F3du", +code_wordwrap:"Zalamova\u0165 riadky", +colorpicker_title:"Vyber farbu", +colorpicker_picker_tab:"Mie\u0161a\u010D", +colorpicker_picker_title:"Mie\u0161a\u010D farieb", +colorpicker_palette_tab:"Paleta", +colorpicker_palette_title:"Paleta farieb", +colorpicker_named_tab:"N\u00E1zvoslovia", +colorpicker_named_title:"N\u00E1zvy farieb", +colorpicker_color:"Farba:", +colorpicker_name:"N\u00E1zov:", +charmap_title:"Vyber \u0161peci\u00E1lny znak", +image_title:"Vlo\u017Ei\u0165/editova\u0165 obr\u00E1zok", +image_src:"URL obr\u00E1zka", +image_alt:"Popis obr\u00E1zku", +image_list:"Zoznam obr\u00E1zkov", +image_border:"Okraj", +image_dimensions:"Rozmery", +image_vspace:"Vertik\u00E1lna medzera", +image_hspace:"Horizont\u00E1lna medzera", +image_align:"Usporiadanie", +image_align_baseline:"Z\u00E1klad\u0148a", +image_align_top:"Hore", +image_align_middle:"Uprostred", +image_align_bottom:"Dolu", +image_align_texttop:"Text hore", +image_align_textbottom:"Text dolu", +image_align_left:"V\u013Eavo", +image_align_right:"Vpravo", +link_title:"Vlo\u017Ei\u0165/editova\u0165 odkaz", +link_url:"URL odkazu", +link_target:"Cie\u013E", +link_target_same:"Otvori\u0165 odkaz v rovnakom okne", +link_target_blank:"Otvori\u0165 odkaz v novom okne", +link_titlefield:"N\u00E1zov", +link_is_email:"Zd\u00E1 sa, \u017Ee zadan\u00E1 URL je emailov\u00E1 adresa. Chce\u0161 vlo\u017Ei\u0165 povinn\u00FD prefix mailto: ?", +link_is_external:"Zd\u00E1 sa, \u017Ee zadan\u00E1 URL je extern\u00FD odkaz. Chce\u0161 vlo\u017Ei\u0165 povinn\u00FD prefix http:// ?", +link_list:"Zoznam odkazov" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sl.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sl.js new file mode 100644 index 0000000000..cc0ded1298 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sl.js @@ -0,0 +1,63 @@ +tinyMCE.addI18n('sl.standard',{ +style_select:"Lang", +font_size:"Velikost pisave", +fontdefault:"Dru\u017Eina pisave", +block:"oblika", +paragraph:"odstavek", +div:"blok", +address:"naslov", +pre:"predoblikovano", +h1:"naslov 1", +h2:"naslov 2", +h3:"naslov 3", +h4:"naslov 4", +h5:"naslov 5", +h6:"naslov 6", +blockquote:"citat", +code:"koda", +samp:"kodni zgled", +dt:"definicija - izraz", +dd:"definicija - opis", +bold_desc:"Krepko (Ctrl+B)", +italic_desc:"Po\u0161evno (Ctrl+I)", +underline_desc:"Pod\u010Drtano (Ctrl+U)", +striketrough_desc:"Pre\u010Drtano", +justifyleft_desc:"Poravnava levo", +justifycenter_desc:"Poravnava na sredino", +justifyright_desc:"Poravnava desno", +justifyfull_desc:"Polna poravnava", +bullist_desc:"Alineje", +numlist_desc:"Na\u0161tevanje", +outdent_desc:"Zamakni", +indent_desc:"Odmakni ven", +undo_desc:"Razveljavi (Ctrl+Z)", +redo_desc:"Uveljavi (Ctrl+Y)", +link_desc:"Vstavi/uredi povezavo", +unlink_desc:"Odstrani povezavo", +image_desc:"Vstavi/uredi sliko", +cleanup_desc:"Pre\u010Disti kodo", +code_desc:"Uredi kodo HTML", +sub_desc:"Podpisano", +sup_desc:"Nadpisano", +hr_desc:"Vstavi \u010Drto", +removeformat_desc:"Odstrani oblikovanje", +custom1_desc:"Opis tule", +forecolor_desc:"Izberite barvo pisave", +backcolor_desc:"Izberite barvo ozadja", +charmap_desc:"Vstavi posebni znak", +visualaid_desc:"Preklop prikaza vodil", +anchor_desc:"Vstavi/uredi sidro", +cut_desc:"Izre\u017Ei", +copy_desc:"Kopiraj", +paste_desc:"Prilepi", +image_props_desc:"Lastnosti slike", +newdocument_desc:"Nov dokument", +help_desc:"Pomo\u010D", +blockquote_desc:"Citat", +clipboard_msg:"Delo z odlo\u017Ei\u0161\u010Dem ni mogo\u010De v tem brskalniku. Lahko uporabljate kombinacije tipk Ctrl+X, Ctrl+C, Ctrl+V.\n\u017Delite ve\u010D informacij o tem?", +path:"Pot", +newdocument:"Ste prepri\u010Dani, da \u017Eelite odstraniti vsebino?", +toolbar_focus:"Preskok na orodjarno - Alt+Q, Preskok v urejevalnik - Alt-Z, Preskok na pot elementa - Alt-X", +more_colors:"Ve\u010D barv", +advanced_link_delta_width:"100" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sl_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sl_dlg.js new file mode 100644 index 0000000000..fae84e1525 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sl_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('sl.standard_dlg',{ +about_title:"O TinyMCE", +about_general:"Vizitka", +about_help:"Pomo\u010D", +about_license:"Licenca", +about_plugins:"Vsadki", +about_plugin:"Vsadek", +about_author:"Avtor", +about_version:"Verzija", +about_loaded:"Nalo\u017Eeni vsadki", +anchor_title:"Vstavi/uredi sidro", +anchor_name:"Ime sidra", +code_title:"Urejevalnik kode HTML", +code_wordwrap:"Prelomi vrstice", +colorpicker_title:"Izberite barvo", +colorpicker_picker_tab:"Izbor", +colorpicker_picker_title:"Izbor barve", +colorpicker_palette_tab:"Paleta", +colorpicker_palette_title:"Barve palete", +colorpicker_named_tab:"Poimenovane", +colorpicker_named_title:"Poimenovane barve", +colorpicker_color:"Barva:", +colorpicker_name:"Ime:", +charmap_title:"Izberite posebni znak", +image_title:"Vstavi/uredi sliko", +image_src:"Naslov URL slike", +image_alt:"Opis slike", +image_list:"Seznam slik", +image_border:"Obroba", +image_dimensions:"Dimenzije", +image_vspace:"Prostor zg/sp", +image_hspace:"Prostor le/de", +image_align:"Poravnava", +image_align_baseline:"osnovna \u010Drta", +image_align_top:"vrh", +image_align_middle:"sredina", +image_align_bottom:"dno", +image_align_texttop:"vrh besedila", +image_align_textbottom:"dno besedila", +image_align_left:"levo, plavajo\u010De", +image_align_right:"desno, plavajo\u010De", +link_title:"Vstavi/uredi povezavo", +link_url:"Naslov URL", +link_target:"Ime cilja", +link_target_same:"odpri povezavo v istem oknu", +link_target_blank:"odpri povezavo v novem oknu", +link_titlefield:"Naslov", +link_is_email:"Vneseni naslov verjetno prestavlja e-naslov, \u017Eelite da dodam zahtevano predpono \'mailto:\'?", +link_is_external:"Vneseni naslov verjetno predstavlja zunanjo povezavo, \u017Eelite da dodam zahtevano predpono \'http://\'?", +link_list:"Seznam povezav" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sr.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sr.js new file mode 100644 index 0000000000..6d5a71bed9 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sr.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('sr.standard',{ +style_select:"Lang", +font_size:"Veli\u010Dina pisma", +fontdefault:"Vrsta pisma", +block:"Format", +paragraph:"Paragraf", +div:"Div", +address:"Adresa", +pre:"Oblikovano", +h1:"Naslov 1", +h2:"Naslov 2", +h3:"Naslov 3", +h4:"Naslov 4", +h5:"Naslov 5", +h6:"Naslov 6", +blockquote:"Citat", +code:"Kod", +samp:"Primjer koda", +dt:"Definicija pojma", +dd:"Opis definicije", +bold_desc:"Podebljaj (Ctrl+B)", +italic_desc:"Kurziv (Ctrl+I)", +underline_desc:"Podcrtaj (Ctrl+U)", +striketrough_desc:"Precrtaj", +justifyleft_desc:"Poravnaj levo", +justifycenter_desc:"Centriraj", +justifyright_desc:"Poravnaj desno", +justifyfull_desc:"Poravnaj potpuno", +bullist_desc:"Neure\u0111ena lista", +numlist_desc:"Ure\u0111ena lista", +outdent_desc:"Uvuci", +indent_desc:"Izvuci", +undo_desc:"Poni\u0161ti (Ctrl+Z)", +redo_desc:"Ponovi (Ctrl+Y)", +link_desc:"Umetni/uredi poveznicu", +unlink_desc:"Poni\u0161ti poveznicu", +image_desc:"Umetni/uredi sliku", +cleanup_desc:"Po\u010Disti kod", +code_desc:"Uredi HTML izvor", +sub_desc:"Indeks", +sup_desc:"Eksponent", +hr_desc:"Umetni vodoravnu crtu", +removeformat_desc:"Poni\u0161ti oblikovanje", +custom1_desc:"Vlastiti opis ovdje", +forecolor_desc:"Odaberite boju teksta", +backcolor_desc:"Odaberite boju pozadine", +charmap_desc:"Umetni vlastiti znak", +visualaid_desc:"Vodilice/nevidljivi elementi", +anchor_desc:"Umetni/uredi sidro", +cut_desc:"Izre\u017Ei", +copy_desc:"Kopiraj", +paste_desc:"Zalepi", +image_props_desc:"Svojstva slike", +newdocument_desc:"Novi dokument", +help_desc:"Pomo\u0107", +blockquote_desc:"Citiraj", +clipboard_msg:"Kopiraj/Izre\u017Ei/Zalepi nije dostupno u Mozilla i Firefox preglednicima. Vi\u0161e informacija?", +path:"Staza", +newdocument:"Jeste li sigurni da \u017Eelite izbrisati celi sadr\u017Eaj?", +toolbar_focus:"Pre\u0111i na alatnu traku - Alt+Q, pre\u0111i na ure\u0111iva\u010D - Alt-Z, pre\u0111i na element path - Alt-X", +more_colors:"Vi\u0161e boja" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sr_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sr_dlg.js new file mode 100644 index 0000000000..758ad8bb5f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sr_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('sr.standard_dlg',{ +about_title:"TinyMCE", +about_general:"O programu", +about_help:"Pomo\u0107", +about_license:"Licenca", +about_plugins:"Dodaci", +about_plugin:"Dodatak", +about_author:"Autor", +about_version:"Verzija", +about_loaded:"Postoje\u0107i dodaci", +anchor_title:"Umetni/uredi sidro", +anchor_name:"Ime sidra", +code_title:"HTML ure\u0111iva\u010D", +code_wordwrap:"Omatanje teksta", +colorpicker_title:"Izbor boje", +colorpicker_picker_tab:"Odabir", +colorpicker_picker_title:"Odabir boje", +colorpicker_palette_tab:"Paleta", +colorpicker_palette_title:"Paleta boja", +colorpicker_named_tab:"Imenovano", +colorpicker_named_title:"Imenovane boje", +colorpicker_color:"Boja:", +colorpicker_name:"Naziv:", +charmap_title:"Odaberite znak", +image_title:"Umetni/uredi sliku", +image_src:"URL slike", +image_alt:"Opis slike", +image_list:"Lista slika", +image_border:"Obrub", +image_dimensions:"Dimenzije", +image_vspace:"Okomiti razmak", +image_hspace:"Vodoravni razmak", +image_align:"Poravnavanje", +image_align_baseline:"Osnovna linija", +image_align_top:"Vrh", +image_align_middle:"Sredina", +image_align_bottom:"Dno", +image_align_texttop:"Vrh teksta", +image_align_textbottom:"Dno teksta", +image_align_left:"Levo", +image_align_right:"Desno", +link_title:"Umetni/uredi poveznicu", +link_url:"URL poveznice", +link_target:"Meta", +link_target_same:"Otvori poveznicu u istom prozoru", +link_target_blank:"Otvori poveznicu u novom prozoru", +link_titlefield:"Naslov", +link_is_email:"URL koji ste uneli izgleda kao e-mail adresa, \u017Eelite li dodati potrebni mailto: prefiks?", +link_is_external:"URL koji ste uneli izgleda kao vanjska poveznica, \u017Eelite li dodati potrebni http:// prefiks?", +link_list:"Lista poveznica" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sv.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sv.js new file mode 100644 index 0000000000..c19ce8958f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sv.js @@ -0,0 +1,60 @@ +tinyMCE.addI18n('sv.standard',{ +style_select:"Lang", +font_size:"Fontstorlek", +fontdefault:"Fontfamilj", +block:"Format", +paragraph:"Paragraf", +div:"Div", +address:"Adress", +pre:"F\u00F6rformaterad", +h1:"Rubrik 1", +h2:"Rubrik 2", +h3:"Rubrik 3", +h4:"Rubrik 4", +h5:"Rubrik 5", +h6:"Rubrik 6", +blockquote:"Blockcitat", +code:"Kodblock", +samp:"Kodexempel", +dt:"Definitionsterm", +dd:"Definitionsbeskrivning", +bold_desc:"Fet (Ctrl+B)", +italic_desc:"Kursiv (Ctrl+I)", +underline_desc:"Understruken (Ctrl+U)", +striketrough_desc:"Genomstruken", +justifyleft_desc:"V\u00E4nsterst\u00E4lld", +justifycenter_desc:"Centrera", +justifyright_desc:"H\u00F6gerst\u00E4lld", +justifyfull_desc:"Justera", +bullist_desc:"Punktlista", +numlist_desc:"Nummerlista", +outdent_desc:"Drag tillbaka", +indent_desc:"Indrag", +undo_desc:"\u00C5ngra (Ctrl+Z)", +redo_desc:"G\u00F6r om (Ctrl+Y)", +link_desc:"Infoga/redigera l\u00E4nk", +unlink_desc:"Ta bort l\u00E4nk", +image_desc:"Infoga/redigera bild", +cleanup_desc:"St\u00E4da upp i k\u00E4llkoden", +code_desc:"Redigera HTML k\u00E4llkoden", +sub_desc:"Subscript", +sup_desc:"Superscript", +hr_desc:"Infoga horisontell skiljelinje", +removeformat_desc:"Ta bort formatering", +forecolor_desc:"V\u00E4lj textf\u00E4rg", +backcolor_desc:"V\u00E4lj bakgrundsf\u00E4rg", +charmap_desc:"Infoga specialtecken", +visualaid_desc:"Visa/d\u00F6lj visuella hj\u00E4lpmedel", +anchor_desc:"Infoga/redigera bokm\u00E4rke", +cut_desc:"Klipp ut", +copy_desc:"Kopiera", +paste_desc:"Klistra in", +image_props_desc:"Bildinst\u00E4llningar", +newdocument_desc:"Nytt dokument", +help_desc:"Hj\u00E4lp", +blockquote_desc:"Blockcitat", +clipboard_msg:"Kopiera/klipp ut/klistra in \u00E4r inte tillg\u00E4ngligt i din webbl\u00E4sare.\nVill du veta mer om detta?", +path:"Element", +newdocument:"\u00C4r du s\u00E4ker p\u00E5 att du vill radera allt inneh\u00E5ll?", +toolbar_focus:"Hoppa till verktygsf\u00E4ltet - Alt+Q, Hoppa till redigeraren - Alt-Z, Hoppa till element listan - Alt-X" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sv_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sv_dlg.js new file mode 100644 index 0000000000..06c15b79e9 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/sv_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('sv.standard_dlg',{ +about_title:"Om TinyMCE", +about_general:"Om", +about_help:"Hj\u00E4lp", +about_license:"Licens", +about_plugins:"Om plug-in", +about_plugin:"Om plug-in", +about_author:"Utvecklare", +about_version:"Version", +about_loaded:"Laddade plug-ins", +anchor_title:"Infoga/redigera bokm\u00E4rke", +anchor_name:"Namn", +code_title:"HTML k\u00E4llkodsl\u00E4ge", +code_wordwrap:"Bryt ord", +colorpicker_title:"V\u00E4lj en f\u00E4rg", +colorpicker_picker_tab:"V\u00E4ljare", +colorpicker_picker_title:"F\u00E4rgv\u00E4ljare", +colorpicker_palette_tab:"Palett", +colorpicker_palette_title:"Palettf\u00E4rger", +colorpicker_named_tab:"Namngivna", +colorpicker_named_title:"Namngivna f\u00E4rger", +colorpicker_color:"F\u00E4rg:", +colorpicker_name:"Namn:", +charmap_title:"V\u00E4lj ett specialtecken", +image_title:"Infoga/redigera bild", +image_src:"Bildens URL", +image_alt:"Bildens beskrivning", +image_list:"Bildlista", +image_border:"Ram", +image_dimensions:"Dimensioner", +image_vspace:"Vertikalrymd", +image_hspace:"Horisontalrymd", +image_align:"Justering", +image_align_baseline:"Baslinje", +image_align_top:"Toppen", +image_align_middle:"Mitten", +image_align_bottom:"Botten", +image_align_texttop:"Toppen av texten", +image_align_textbottom:"Botten av texten", +image_align_left:"H\u00F6ger", +image_align_right:"V\u00E4nster", +link_title:"Infoga/redigera l\u00E4nk", +link_url:"L\u00E4nkens URL", +link_target:"M\u00E5l", +link_target_same:"\u00D6ppna l\u00E4nken i samma f\u00F6nster", +link_target_blank:"\u00D6ppna l\u00E4nken i ett nytt f\u00F6nster", +link_titlefield:"Titel", +link_is_email:"L\u00E4nken du angav verkar vara en e-post adress. Vill du infoga mailto: prefixet p\u00E5 l\u00E4nken?", +link_is_external:"L\u00E4nken du angav verkar vara en extern adress. Vill du infoga http:// prefixet p\u00E5 l\u00E4nken?", +link_list:"L\u00E4nklista" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tr.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tr.js new file mode 100644 index 0000000000..b5f8d7c795 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tr.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('tr.standard',{ +style_select:"Lang", +font_size:"Yaz\u0131 boyutu", +fontdefault:"Yaz\u0131 tipi", +block:"Bi\u00E7im", +paragraph:"Paragraf", +div:"B\u00F6l\u00FCm", +address:"Adres", +pre:"\u00D6nformatl\u0131", +h1:"Ba\u015Fl\u0131k 1", +h2:"Ba\u015Fl\u0131k 2", +h3:"Ba\u015Fl\u0131k 3", +h4:"Ba\u015Fl\u0131k 4", +h5:"Ba\u015Fl\u0131k 5", +h6:"Ba\u015Fl\u0131k 6", +blockquote:"Al\u0131nt\u0131", +code:"Kod", +samp:"Kod \u00F6rne\u011Fi", +dt:"Tan\u0131m terimi ", +dd:"Tan\u0131m a\u00E7\u0131klamas\u0131", +bold_desc:"Kal\u0131n (Ctrl+B)", +italic_desc:"E\u011Fik (Ctrl+I)", +underline_desc:"Alt\u0131 \u00E7izgili (Ctrl+U)", +striketrough_desc:"Ortas\u0131 \u00E7izgili", +justifyleft_desc:"Sola yasla", +justifycenter_desc:"Ortala", +justifyright_desc:"Sa\u011Fa yasla", +justifyfull_desc:"\u0130ki yana yasla", +bullist_desc:"S\u0131ras\u0131z liste", +numlist_desc:"S\u0131ral\u0131 liste", +outdent_desc:"D\u0131\u015Fa kayd\u0131r", +indent_desc:"\u0130\u00E7e kayd\u0131r", +undo_desc:"Geri al (Ctrl+Z)", +redo_desc:"Tekrarla (Ctrl+Y)", +link_desc:"Ba\u011Flant\u0131 ekle/d\u00FCzenle", +unlink_desc:"Ba\u011Flant\u0131y\u0131 sil", +image_desc:"Resim ekle/d\u00FCzenle", +cleanup_desc:"Da\u011F\u0131n\u0131k kodu temizle", +code_desc:"HTML Kayna\u011F\u0131n\u0131 D\u00FCzenle", +sub_desc:"Altsimge", +sup_desc:"\u00DCstsimge", +hr_desc:"Yatay \u00E7izgi ekle", +removeformat_desc:"Bi\u00E7imi kald\u0131r", +custom1_desc:"\u00D6zel a\u00E7\u0131klaman\u0131z\u0131 buraya girin", +forecolor_desc:"Metin rengi se\u00E7", +backcolor_desc:"Arkaplan rengi se\u00E7", +charmap_desc:"\u00D6zel karakter ekle", +visualaid_desc:"Y\u00F6nergeleri ve g\u00F6r\u00FCnmez elemanlar\u0131 a\u00E7/kapa", +anchor_desc:"\u00C7engel noktas\u0131 ekle", +cut_desc:"Kes", +copy_desc:"Kopyala", +paste_desc:"Yap\u0131\u015Ft\u0131r", +image_props_desc:"Resim \u00F6zellikleri", +newdocument_desc:"Yeni belge", +help_desc:"Yard\u0131m", +blockquote_desc:"Al\u0131nt\u0131", +clipboard_msg:"Kopyala/Kes/Yap\u0131\u015Ft\u0131r Mozilla ve Firefox'ta kullan\u0131lamaz.\r\nBu konuda daha fazla bilgi edinmek ister misiniz?", +path:"Yol", +newdocument:"T\u00FCm i\u00E7eri\u011Fi bo\u015Faltmak istedinizden emin misiniz?", +toolbar_focus:"Ara\u00E7 d\u00FC\u011Fmelerine atla - Alt+Q, Edit\u00F6re atla - Alt-Z, Eleman yoluna atla - Alt-X", +more_colors:"Daha fazla renk" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tr_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tr_dlg.js new file mode 100644 index 0000000000..caa449053f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tr_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('tr.standard_dlg',{ +about_title:"TinyMCE Hakk\u0131nda", +about_general:"Hakk\u0131nda", +about_help:"Yard\u0131m", +about_license:"Lisans", +about_plugins:"Eklentiler", +about_plugin:"Eklenti", +about_author:"Yazar", +about_version:"S\u00FCr\u00FCm", +about_loaded:"Y\u00FCkl\u00FC eklentiler", +anchor_title:"\u00C7engel noktas\u0131 ekle/d\u00FCzenle", +anchor_name:"\u00C7engel noktas\u0131 ad\u0131", +code_title:"HTML Kaynak Edit\u00F6r\u00FC", +code_wordwrap:"S\u00F6zc\u00FCk kayd\u0131r", +colorpicker_title:"Bir renk se\u00E7", +colorpicker_picker_tab:"Se\u00E7ici", +colorpicker_picker_title:"Renk se\u00E7ici", +colorpicker_palette_tab:"Palet", +colorpicker_palette_title:"Palet renkleri", +colorpicker_named_tab:"\u0130simli", +colorpicker_named_title:"\u0130simli renkler", +colorpicker_color:"Renk:", +colorpicker_name:"\u0130sim:", +charmap_title:"\u00D6zel karakter se\u00E7", +image_title:"Resim ekle/d\u00FCzenle", +image_src:"Resim URL", +image_alt:"Resim tan\u0131m\u0131", +image_list:"Resim listesi", +image_border:"Kenarl\u0131k", +image_dimensions:"Boyutlar", +image_vspace:"Dikey bo\u015Fluk", +image_hspace:"Yatay bo\u015Fluk", +image_align:"Hizalama", +image_align_baseline:"Taban \u00E7izgisi", +image_align_top:"\u00DCst", +image_align_middle:"Orta", +image_align_bottom:"Alt", +image_align_texttop:"Metin \u00FCstte", +image_align_textbottom:"Metin altta", +image_align_left:"Sola", +image_align_right:"Sa\u011Fa", +link_title:"Ba\u011Flant\u0131 ekle/d\u00FCzenle", +link_url:"Ba\u011Flant\u0131 URL", +link_target:"Hedef", +link_target_same:"Ba\u011Flant\u0131y\u0131 ayn\u0131 pencerede a\u00E7", +link_target_blank:"Ba\u011Flant\u0131y\u0131 yeni pencerede a\u00E7", +link_titlefield:"Ba\u015Fl\u0131k", +link_is_email:"Girdi\u011Finiz URL bir e-posta adresi gibi g\u00F6z\u00FCk\u00FCyor, gerekli olan mailto: \u00F6nekinin eklenmesini ister misiniz?", +link_is_external:"Girdi\u011Finiz URL d\u0131\u015F bir ba\u011Flant\u0131 gibi g\u00F6z\u00FCk\u00FCyor, gerekli olan http:// \u00F6nekinin eklenmesini ister misiniz?", +link_list:"Ba\u011Flant\u0131 listesi" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tw.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tw.js new file mode 100644 index 0000000000..38892bf105 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tw.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('tw.standard',{ +style_select:"Lang", +font_size:"\u5B57\u865F", +fontdefault:"\u5B57\u578B", +block:"\u683C\u5F0F", +paragraph:"\u6BB5\u843D", +div:"Div", +address:"\u5730\u5740", +pre:"\u9810\u8A2D\u683C\u5F0F", +h1:"\u6A19\u984C 1", +h2:"\u6A19\u984C 2", +h3:"\u6A19\u984C 3", +h4:"\u6A19\u984C 4", +h5:"\u6A19\u984C 5", +h6:"\u6A19\u984C 6", +blockquote:"\u5F15\u7528", +code:"\u539F\u59CB\u78BC", +samp:"\u539F\u59CB\u78BC\u7BC4\u4F8B", +dt:"\u540D\u8A5E\u5B9A\u7FA9", +dd:"\u540D\u8A5E\u63CF\u8FF0", +bold_desc:"\u7C97\u9AD4 (Ctrl+B)", +italic_desc:"\u659C\u9AD4 (Ctrl+I)", +underline_desc:"\u5E95\u7DDA (Ctrl+U)", +striketrough_desc:"\u522A\u9664\u7DDA", +justifyleft_desc:"\u9760\u5DE6\u5C0D\u9F4A", +justifycenter_desc:"\u7F6E\u4E2D", +justifyright_desc:"\u9760\u53F3\u5C0D\u9F4A", +justifyfull_desc:"\u5DE6\u53F3\u5C0D\u9F4A", +bullist_desc:"\u9805\u76EE\u7B26\u865F", +numlist_desc:"\u7DE8\u865F", +outdent_desc:"\u6E1B\u5C11\u7E2E\u6392", +indent_desc:"\u589E\u52A0\u7E2E\u6392", +undo_desc:"\u5FA9\u539F (Ctrl+Z)", +redo_desc:"\u91CD\u505A (Ctrl+Y)", +link_desc:"\u63D2\u5165/\u7DE8\u8F2F \u93C8\u7D50", +unlink_desc:"\u53D6\u6D88\u93C8\u7D50", +image_desc:"\u63D2\u5165/\u7DE8\u8F2F \u5716\u7247", +cleanup_desc:"\u6E05\u9664\u591A\u9918\u7A0B\u5E8F\u4EE3\u78BC", +code_desc:"\u7DE8\u8F2F HTML \u539F\u59CB\u78BC", +sub_desc:"\u4E0B\u6A19", +sup_desc:"\u4E0A\u6A19", +hr_desc:"\u63D2\u5165\u6C34\u5E73\u8EF8", +removeformat_desc:"\u6E05\u9664\u6A23\u5F0F", +custom1_desc:"\u5728\u6B64\u8F38\u5165\u60A8\u7684\u81EA\u5B9A\u63CF\u8FF0", +forecolor_desc:"\u9078\u64C7\u6587\u5B57\u984F\u8272", +backcolor_desc:"\u9078\u64C7\u80CC\u666F\u984F\u8272", +charmap_desc:"\u63D2\u5165\u7279\u6B8A\u7B26\u865F", +visualaid_desc:"\u555F\u9589 \u7DB2\u683C\u7DDA/\u96B1\u85CF\u7D44\u4EF6", +anchor_desc:"\u63D2\u5165/\u7DE8\u8F2F \u9328\u9EDE", +cut_desc:"\u526A\u4E0B", +copy_desc:"\u8907\u88FD", +paste_desc:"\u8CBC\u4E0A", +image_props_desc:"\u5716\u7247\u5C6C\u6027", +newdocument_desc:"\u958B\u65B0\u6A94\u6848", +help_desc:"\u8AAA\u660E", +blockquote_desc:"\u5F15\u7528", +clipboard_msg:"\u8907\u88FD\u3001\u526A\u4E0B\u53CA\u8CBC\u4E0A\u529F\u80FD\u5728 Mozilla \u548C Firefox \u4E2D\u7121\u6CD5\u4F7F\u7528\u3002\n \u662F\u5426\u9700\u8981\u77AD\u89E3\u66F4\u591A\u6709\u95DC\u6B64\u554F\u984C\u7684\u4FE1\u606F ?", +path:"\u8DEF\u5F91", +newdocument:"\u60A8\u78BA\u8A8D\u8981\u6E05\u9664\u5168\u90E8\u5167\u5BB9\u55CE\uFF1F", +toolbar_focus:"\u5DE5\u5177\u6309\u9215 - Alt+Q, \u7DE8\u8F2F\u5668 - Alt-Z, \u7D44\u4EF6\u8DEF\u5F91 - Alt-X", +more_colors:"\u66F4\u591A\u984F\u8272" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tw_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tw_dlg.js new file mode 100644 index 0000000000..c6d43330fb --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/tw_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('tw.standard_dlg',{ +about_title:"\u95DC\u65BC TinyMCE", +about_general:"\u95DC\u65BC", +about_help:"\u8AAA\u660E", +about_license:"\u6388\u6B0A", +about_plugins:"\u5168\u90E8\u5957\u4EF6", +about_plugin:"\u5957\u4EF6", +about_author:"\u4F5C\u8005", +about_version:"\u7248\u672C", +about_loaded:"\u5DF2\u7F6E\u5165\u7684\u5957\u4EF6", +anchor_title:"\u63D2\u5165/\u7DE8\u8F2F \u9328\u9EDE", +anchor_name:"\u9328\u9EDE\u540D\u7A31", +code_title:"HTML \u539F\u59CB\u78BC\u7DE8\u8F2F\u5668", +code_wordwrap:"\u81EA\u52D5\u63DB\u884C", +colorpicker_title:"\u6311\u9078\u984F\u8272", +colorpicker_picker_tab:"\u6311\u9078\u5668", +colorpicker_picker_title:"\u9078\u8272\u5668", +colorpicker_palette_tab:"\u8272\u76E4", +colorpicker_palette_title:"\u8272\u76E4\u984F\u8272", +colorpicker_named_tab:"\u9810\u8A2D\u7684", +colorpicker_named_title:"\u9810\u8A2D\u7684\u984F\u8272", +colorpicker_color:"\u984F\u8272:", +colorpicker_name:"\u540D\u7A31:", +charmap_title:"\u63D2\u5165\u7279\u6B8A\u7B26\u865F", +image_title:"\u63D2\u5165/\u7DE8\u8F2F \u5716\u7247", +image_src:"\u5716\u7247\u7DB2\u5740", +image_alt:"\u5716\u7247\u8AAA\u660E", +image_list:"\u5716\u7247\u5217\u8868", +image_border:"\u908A\u6846", +image_dimensions:"\u5C3A\u5BF8", +image_vspace:"\u5782\u76F4\u9593\u8DDD", +image_hspace:"\u6C34\u5E73\u9593\u8DDD", +image_align:"\u5C0D\u9F4A\u65B9\u5F0F", +image_align_baseline:"\u57FA\u7DDA", +image_align_top:"\u4E0A\u65B9\u5C0D\u9F4A", +image_align_middle:"\u7F6E\u4E2D\u5C0D\u9F4A", +image_align_bottom:"\u5E95\u90E8\u5C0D\u9F4A", +image_align_texttop:"\u6587\u5B57\u4E0A\u65B9", +image_align_textbottom:"\u6587\u5B57\u4E0B\u65B9", +image_align_left:"\u9760\u5DE6\u5C0D\u9F4A", +image_align_right:"\u9760\u53F3\u5C0D\u9F4A", +link_title:"\u63D2\u5165/\u7DE8\u8F2F \u93C8\u7D50", +link_url:"\u93C8\u7D50\u7DB2\u5740", +link_target:"\u76EE\u7684\u5730", +link_target_same:"\u5C07\u93C8\u7D50\u7DB2\u5740\u958B\u5728\u6B64\u8996\u7A97", +link_target_blank:"\u5C07\u93C8\u7D50\u7DB2\u5740\u958B\u5728\u65B0\u8996\u7A97", +link_titlefield:"\u6A19\u984C", +link_is_email:"\u60A8\u8F38\u5165\u7684\u7DB2\u5740\u61C9\u8A72\u662F\u4E00\u500B\u96FB\u90F5\u5730\u5740\uFF0C\u662F\u5426\u9700\u8981\u5728\u90F5\u5740\u524D\u65B9\u52A0\u5165 mailto: ?", +link_is_external:"\u60A8\u8F38\u5165\u7684\u7DB2\u5740\u61C9\u8A72\u662F\u4E00\u500B\u5916\u90E8\u9023\u7D50\uFF0C\u662F\u5426\u9700\u8981\u5728\u7DB2\u5740\u524D\u65B9\u52A0\u5165 http:// ?", +link_list:"\u93C8\u7D50\u6E05\u55AE" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/uk.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/uk.js new file mode 100644 index 0000000000..ab0b872be2 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/uk.js @@ -0,0 +1,64 @@ +tinyMCE.addI18n('uk.standard',{ +style_select:"Lang", +font_size:"\u0420\u043E\u0437\u043C\u0456\u0440 \u0448\u0440\u0438\u0444\u0442\u0443", +fontdefault:"\u0428\u0440\u0438\u0444\u0442", +block:"\u0424\u043E\u0440\u043C\u0430\u0442", +paragraph:"\u0410\u0431\u0437\u0430\u0446", +div:"Div", +address:"\u0421\u0442\u0438\u043B\u044C \u0430\u0434\u0440\u0435\u0441\u0438", +pre:"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u044C\u043E \u0444\u043E\u0440\u043C\u0430\u0442\u043E\u0432\u0430\u043D\u0438\u0439", +h1:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 1", +h2:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 2", +h3:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 3", +h4:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 4", +h5:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 5", +h6:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A 6", +blockquote:"\u0426\u0438\u0442\u0430\u0442\u0430", +code:"\u041A\u043E\u0434", +samp:"\u041F\u0440\u0438\u043A\u043B\u0430\u0434 \u043A\u043E\u0434\u0443", +dt:"\u0414\u043E\u0432\u0456\u0434\u043D\u0438\u043A \u0442\u0435\u0440\u043C\u0456\u043D ", +dd:"\u0414\u043E\u0432\u0456\u0434\u043D\u0438\u043A \u043E\u043F\u0438\u0441 ", +bold_desc:"\u0416\u0438\u0440\u043D\u0438\u0439 (Ctrl+B)", +italic_desc:"\u041A\u0443\u0440\u0441\u0438\u0432 (Ctrl+I)", +underline_desc:"\u041F\u0456\u0434\u043A\u0440\u0435\u0441\u043B\u0435\u043D\u0438\u0439 (Ctrl+U)", +striketrough_desc:"\u0417\u0430\u043A\u0440\u0435\u0441\u043B\u0435\u043D\u0438\u0439", +justifyleft_desc:"\u041F\u043E \u043B\u0456\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +justifycenter_desc:"\u041F\u043E \u0446\u0435\u043D\u0442\u0440\u0443", +justifyright_desc:"\u041F\u043E \u043F\u0440\u0430\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +justifyfull_desc:"\u041F\u043E \u0448\u0438\u0440\u0438\u043D\u0456", +bullist_desc:"\u0421\u043F\u0438\u0441\u043E\u043A", +numlist_desc:"\u041D\u0443\u043C\u0435\u0440\u043E\u0432\u0430\u043D\u0438\u0439 \u0441\u043F\u0438\u0441\u043E\u043A", +outdent_desc:"\u0417\u043C\u0435\u043D\u0448\u0442\u0438\u0442\u0438 \u0432\u0456\u0434\u0441\u0442\u0443\u043F", +indent_desc:"\u0417\u0431\u0456\u043B\u044C\u0448\u0438\u0442\u0438 \u0432\u0456\u0434\u0441\u0442\u0443\u043F", +undo_desc:"\u0412\u0456\u0434\u043C\u0456\u043D\u0438\u0442\u0438 (Ctrl+Z)", +redo_desc:"\u041F\u043E\u0432\u0435\u0440\u043D\u0443\u0442\u0438 (Ctrl+Y)", +link_desc:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438/\u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F", +unlink_desc:"\u0412\u0438\u0434\u0430\u043B\u0438\u0442\u0438 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F", +image_desc:"\u0414\u043E\u0434\u0430\u0442\u0438/\u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F", +cleanup_desc:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0437\u0430\u0439\u0432\u044B\u0439 \u043A\u043E\u0434", +code_desc:"\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 HTML \u043A\u043E\u0434", +sub_desc:"\u041D\u0438\u0436\u043D\u0456\u0439 \u0456\u043D\u0434\u0435\u043A\u0441", +sup_desc:"\u0412\u0435\u0440\u0445\u043D\u0456\u0439 \u0456\u043D\u0434\u0435\u043A\u0441", +hr_desc:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u0438\u0439 \u0440\u043E\u0437\u0434\u0456\u043B\u044C\u043D\u0438\u043A", +removeformat_desc:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0444\u043E\u0440\u043C\u0430\u0442\u0443\u0432\u0430\u043D\u043D\u044F", +custom1_desc:"\u0412\u0430\u0448 \u0434\u043E\u0432\u0456\u043B\u044C\u043D\u0438\u0439 \u043E\u043F\u0438\u0441 \u0442\u0443\u0442", +forecolor_desc:"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u043A\u043E\u043B\u0456\u0440 \u0442\u0435\u043A\u0441\u0442\u0443", +backcolor_desc:"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u043A\u043E\u043B\u0456\u0440 \u0444\u043E\u043D\u0443", +charmap_desc:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0441\u0438\u043C\u0432\u043E\u043B", +visualaid_desc:"Toggle guidelines/invisible elements", +anchor_desc:"\u0414\u043E\u0434\u0430\u0442\u0438/\u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u044F\u043A\u0456\u0440", +cut_desc:"\u0412\u0438\u0440\u0456\u0437\u0430\u0442\u0438", +copy_desc:"\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438", +paste_desc:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438", +image_props_desc:"\u0412\u043B\u0430\u0441\u0442\u0438\u0432\u043E\u0441\u0442\u0456 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F", +newdocument_desc:"\u041D\u043E\u0432\u0438\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442", +help_desc:"\u0414\u043E\u043F\u043E\u043C\u043E\u0433\u0430", +blockquote_desc:"\u0426\u0438\u0442\u0430\u0442\u0430", +clipboard_msg:"\u041A\u043E\u043F\u0456\u044E\u0432\u0430\u0442\u0438/\u0412\u0438\u0440\u0456\u0437\u0430\u0442\u0438/\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u043D\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0456 \u0432 Mozilla \u0438 Firefox.\n\u0412\u0430\u043C \u0446\u0456\u043A\u0430\u0432\u0430 \u0456\u043D\u0444\u043E\u0440\u043C\u0430\u0446\u0456\u044F \u043F\u0440\u043E \u0446\u0435?", +path:"\u0428\u043B\u044F\u0445", +newdocument:"\u0412\u0438 \u043F\u0435\u0432\u043D\u0456, \u0449\u043E \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0432\u0441\u0435 \u0432\u0438\u0434\u0430\u043B\u0438\u0442\u0438?", +toolbar_focus:"\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u044C \u043A\u043D\u043E\u043F\u043E\u043A - Alt+Q, \u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0434\u043E \u0440\u0435\u0434\u0430\u043A\u0442\u043E\u0440\u0443 - Alt-Z, \u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u043D\u0430 \u044D\u043B\u0435\u043C\u0435\u043D\u0442 \u0448\u043B\u044F\u0445\u0443 - Alt-X", +more_colors:"\u0411\u0456\u043B\u044C\u0448\u0435 \u043A\u043E\u043B\u044C\u043E\u0440\u0456\u0432", +advanced_image_delta_width:"25", +advanced_link_delta_width:"15" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/uk_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/uk_dlg.js new file mode 100644 index 0000000000..ab4abb0d67 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/uk_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('uk.standard_dlg',{ +about_title:"\u041F\u0440\u043E \u043F\u0440\u043E\u0434\u0443\u043A\u0442 TinyMCE", +about_general:"\u041F\u0440\u043E \u043F\u0440\u043E\u0434\u0443\u043A\u0442...", +about_help:"\u0414\u043E\u043F\u043E\u043C\u043E\u0433\u0430", +about_license:"\u041B\u0456\u0446\u0435\u043D\u0437\u0456\u044F", +about_plugins:"\u041F\u043B\u0430\u0433\u0456\u043D\u0438", +about_plugin:"\u041F\u043B\u0430\u0433\u0456\u043D", +about_author:"\u0410\u0432\u0442\u043E\u0440", +about_version:"\u0412\u0435\u0440\u0441\u0456\u044F", +about_loaded:"\u0417\u0430\u0432\u0430\u043D\u0442\u0430\u0436\u0435\u043D\u0456 \u043F\u043B\u0430\u0433\u0456\u043D\u0438", +anchor_title:"\u0414\u043E\u0434\u0430\u0442\u0438/\u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u044F\u043A\u0456\u0440", +anchor_name:"\u041D\u0430\u0437\u0432\u0430 \u044F\u043A\u043E\u0440\u044F", +code_title:"\u0420\u0435\u0434\u0430\u043A\u0442\u043E\u0440 HTML \u043A\u043E\u0434\u0443", +code_wordwrap:"\u041F\u0435\u0440\u0435\u043D\u043E\u0441\u0438\u0442\u0438 \u0441\u043B\u043E\u0432\u0430", +colorpicker_title:"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u043A\u043E\u043B\u0456\u0440", +colorpicker_picker_tab:"\u041F\u0456\u043F\u0435\u0442\u043A\u0430", +colorpicker_picker_title:"\u041F\u0456\u043F\u0435\u0442\u043A\u0430 \u043A\u043E\u043B\u044C\u043E\u0440\u0443", +colorpicker_palette_tab:"\u041F\u0430\u043B\u0456\u0442\u0440\u0430", +colorpicker_palette_title:"\u041F\u0430\u043B\u0456\u0442\u0440\u0430 \u043A\u043E\u043B\u044C\u043E\u0440\u0456\u0432", +colorpicker_named_tab:"\u0417\u0430 \u043D\u0430\u0437\u0432\u043E\u044E", +colorpicker_named_title:"\u0417\u0430 \u043D\u0430\u0437\u0432\u043E\u044E", +colorpicker_color:"\u041A\u043E\u043B\u0456\u0440:", +colorpicker_name:"\u041D\u0430\u0439\u043C\u0435\u043D\u0443\u0432\u0430\u043D\u043D\u044F:", +charmap_title:"\u0412\u0438\u0431\u0440\u0430\u0442\u0438 \u0434\u043E\u0432\u0456\u043B\u044C\u043D\u0438\u0439 \u0441\u0438\u043C\u0432\u043E\u043B", +image_title:"\u0414\u043E\u0434\u0430\u0442\u0438/\u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F", +image_src:"\u0410\u0434\u0440\u0435\u0441\u0430", +image_alt:"\u041E\u043F\u0438\u0441", +image_list:"\u0421\u043F\u0438\u0441\u043E\u043A \u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u044C", +image_border:"\u0413\u0440\u0430\u043D\u0438\u0446\u044F", +image_dimensions:"\u0420\u043E\u0437\u043C\u0456\u0440\u0438", +image_vspace:"\u0412\u0435\u0440\u0442. \u0432\u0456\u0434\u0441\u0442\u0443\u043F", +image_hspace:"\u0413\u043E\u0440\u0438\u0437. \u0432\u0456\u0434\u0441\u0442\u0443\u043F", +image_align:"\u0412\u0438\u0440\u0456\u0432\u043D\u044E\u0432\u0430\u043D\u043D\u044F", +image_align_baseline:"\u041F\u043E \u0431\u0430\u0437\u043E\u0432\u0456\u0439 \u043B\u0438\u043D\u0456\u0457", +image_align_top:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u044C\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +image_align_middle:"\u041F\u043E \u0446\u0435\u043D\u0442\u0440\u0443", +image_align_bottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u044C\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +image_align_texttop:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u044C\u043E\u043C\u0443 \u043A\u0440\u0430\u044E \u0442\u0435\u043A\u0441\u0442\u0443", +image_align_textbottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u044C\u043E\u043C\u0443 \u043A\u0440\u0430\u044E \u0442\u0435\u043A\u0441\u0442\u0443", +image_align_left:"\u041F\u043E \u043B\u0456\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +image_align_right:"\u041F\u043E \u043F\u0440\u0430\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E", +link_title:"\u0414\u043E\u0434\u0430\u0442\u0438/\u0437\u043C\u0456\u043D\u0438\u0442\u0438 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F", +link_url:"\u0410\u0434\u0440\u0435\u0441\u0430 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F", +link_target:"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0432...", +link_target_same:"\u0446\u044C\u043E\u043C\u0443 \u0436\u0435 \u0432\u0456\u043A\u043D\u0456", +link_target_blank:"\u043D\u043E\u0432\u043E\u043C\u0443 \u0432\u0456\u043A\u043D\u0456", +link_titlefield:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A", +link_is_email:"\u0412\u0432\u0435\u0434\u0435\u043D\u0438\u0439 URL \u0441\u0445\u043E\u0436\u0438\u0439 \u043D\u0430 email \u0430\u0434\u0440\u0435\u0441\u0443, \u0432\u0438 \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0434\u043E\u0434\u0430\u0442\u0438 \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u0438\u0439 \u043F\u0440\u0435\u0444\u0456\u043A\u0441 mailto:?", +link_is_external:"\u0412\u0432\u0435\u0434\u0435\u043D\u0438\u0439 URL \u0441\u0445\u043E\u0436\u0438\u0439 \u043D\u0430 \u0437\u043E\u0432\u043D\u0456\u0448\u043D\u0454 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F, \u0432\u0438 \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0434\u043E\u0434\u0430\u0442\u0438 \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u0438\u0439 \u043F\u0440\u0435\u0444\u0456\u043A\u0441 http://?", +link_list:"\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u044C" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/vi.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/vi.js new file mode 100644 index 0000000000..a0c5183c5c --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/vi.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('vi.standard',{ +style_select:"Lang", +font_size:"C\u1EE1 ch\u1EEF", +fontdefault:"Ph\u00F4ng ch\u1EEF", +block:"\u0110\u1ECBnh d\u1EA1ng", +paragraph:"\u0110o\u1EA1n v\u0103n b\u1EA3n", +div:"Div", +address:"\u0110\u1ECBa ch\u1EC9", +pre:"Kh\u00F4ng \u0111\u1ECBnh d\u1EA1ng", +h1:"Ti\u00EAu \u0111\u1EC1 1", +h2:"Ti\u00EAu \u0111\u1EC1 2", +h3:"Ti\u00EAu \u0111\u1EC1 3", +h4:"Ti\u00EAu \u0111\u1EC1 4", +h5:"Ti\u00EAu \u0111\u1EC1 5", +h6:"Ti\u00EAu \u0111\u1EC1 6", +blockquote:"\u0110\u1ECBnh d\u1EA1ng kh\u1ED1i", +code:"M\u00E3", +samp:"M\u00E3 v\u00ED d\u1EE5", +dt:"T\u00EAn \u0111\u1ECBnh ngh\u0129a ", +dd:"M\u00F4 t\u1EA3 \u0111\u1ECBnh ngh\u0129a", +bold_desc:"\u0110\u1EADm (Ctrl+B)", +italic_desc:"Nghi\u00EAng (Ctrl+I)", +underline_desc:"G\u1EA1ch ch\u00E2n (Ctrl+U)", +striketrough_desc:"G\u1EA1ch x\u00F3a", +justifyleft_desc:"C\u0103n tr\u00E1i", +justifycenter_desc:"C\u0103n gi\u1EEFa", +justifyright_desc:"C\u0103n ph\u1EA3i", +justifyfull_desc:"C\u0103n \u0111\u1EC1u", +bullist_desc:"Danh s\u00E1ch", +numlist_desc:"Danh s\u00E1ch th\u1EE9 t\u1EF1", +outdent_desc:"Gi\u1EA3m l\u1EC1 tr\u00E1i", +indent_desc:"T\u0103ng l\u1EC1 tr\u00E1i", +undo_desc:"Kh\u00F4i ph\u1EE5c (Ctrl+Z)", +redo_desc:"L\u1EB7p l\u1EA1i (Ctrl+Y)", +link_desc:"Ch\u00E8n/s\u1EEDa li\u00EAn k\u1EBFt", +unlink_desc:"X\u00F3a li\u00EAn k\u1EBFt", +image_desc:"Ch\u00E8n/s\u1EEDa h\u00ECnh \u1EA3nh", +cleanup_desc:"D\u1ECDn d\u1EB9p m\u00E3 l\u1ED9n x\u1ED9n", +code_desc:"S\u1EEDa m\u00E3 ngu\u1ED3n HTML", +sub_desc:"Subscript", +sup_desc:"Superscript", +hr_desc:"Ch\u00E8n thanh ngang", +removeformat_desc:"X\u00F3a \u0111\u1ECBnh d\u1EA1ng", +custom1_desc:"M\u00F4 t\u1EA3 c\u1EE7a b\u1EA1n \u1EDF \u0111\u00E2y", +forecolor_desc:"Ch\u1ECDn m\u00E0u ch\u1EEF", +backcolor_desc:"Ch\u1ECDn m\u00E0u n\u1EC1n", +charmap_desc:"Ch\u00E8n k\u00FD t\u1EF1 \u0111\u1EB7c bi\u1EC7t", +visualaid_desc:"B\u1EADt/t\u1EAFt c\u00E1c ph\u1EA7n t\u1EED \u1EA9n", +anchor_desc:"Ch\u00E8n/s\u1EEDa m\u1ED1c (anchor)", +cut_desc:"C\u1EAFt", +copy_desc:"Sao ch\u00E9p", +paste_desc:"D\u00E1n", +image_props_desc:"Thu\u1ED9c t\u00EDnh h\u00ECnh \u1EA3nh", +newdocument_desc:"V\u0103n b\u1EA3n m\u1EDBi", +help_desc:"Gi\u00FAp \u0111\u1EE1", +blockquote_desc:"\u0110\u1ECBnh d\u1EA1ng kh\u1ED1i", +clipboard_msg:"Sao ch\u00E9p/C\u1EAFt/D\u00E1n kh\u00F4ng ho\u1EA1t \u0111\u1ED9ng tr\u00EAn Mozilla v\u00E0 Firefox.\nB\u1EA1n mu\u1ED1n xem th\u00EAm th\u00F4ng tin v\u1EC1 v\u1EA5n \u0111\u1EC1 n\u00E0y?", +path:"D\u01B0\u1EDDng d\u1EABn", +newdocument:"B\u1EA1n c\u00F3 ch\u1EAFc ch\u1EAFn mu\u1ED1n x\u00F3a t\u1EA5t c\u1EA3 n\u1ED9i dung \u0111\u00E3 so\u1EA1n?", +toolbar_focus:"Nh\u1EA3y \u0111\u1EBFn thanh c\u00F4ng c\u1EE5 - Alt+Q, Nh\u1EA3y \u0111\u1EBFn \u00F4 so\u1EA1n th\u1EA3o - Alt-Z, Nh\u1EA3y \u0111\u1EBFn \u0111\u01B0\u1EDDng d\u1EABn - Alt-X", +more_colors:"Nhi\u1EC1u m\u00E0u h\u01A1n" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/vi_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/vi_dlg.js new file mode 100644 index 0000000000..0212b8a675 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/vi_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('vi.standard_dlg',{ +about_title:"Gi\u1EDBi thi\u1EC7u TinyMCE", +about_general:"Gi\u1EDBi thi\u1EC7u", +about_help:"Gi\u00FAp \u0111\u1EE1", +about_license:"Gi\u1EA5y ph\u00E9p", +about_plugins:"C\u00E1c ph\u1EA7n m\u1EDF r\u1ED9ng", +about_plugin:"Ph\u1EA7n m\u1EDF r\u1ED9ng", +about_author:"T\u00E1c gi\u1EA3", +about_version:"Phi\u00EAn b\u1EA3n", +about_loaded:"C\u00E1c ph\u1EA7n m\u1EDF r\u1ED9ng \u0111\u00E3 n\u1EA1p", +anchor_title:"Ch\u00E8n/s\u1EEDa m\u1ED1c (anchor)", +anchor_name:"T\u00EAn m\u1ED1c (anchor)", +code_title:"So\u1EA1n M\u00E3 HTML", +code_wordwrap:"Xu\u1ED1ng d\u00F2ng", +colorpicker_title:"Ch\u1ECDn m\u1ED9t m\u00E0u", +colorpicker_picker_tab:"B\u1ED9 ch\u1ECDn", +colorpicker_picker_title:"B\u1ED9 ch\u1ECDn m\u00E0u", +colorpicker_palette_tab:"B\u1EA3ng", +colorpicker_palette_title:"B\u1EA3ng m\u00E0u", +colorpicker_named_tab:"\u0110\u00E3 c\u00F3 t\u00EAn", +colorpicker_named_title:"M\u00E0u \u0111\u00E3 c\u00F3 t\u00EAn", +colorpicker_color:"M\u00E0u:", +colorpicker_name:"T\u00EAn:", +charmap_title:"Ch\u1ECDn k\u00FD t\u1EF1 \u0111\u1EB7c bi\u1EC7t", +image_title:"Ch\u00E8n/s\u1EEDa h\u00ECnh \u1EA3nh", +image_src:"D\u01B0\u1EDDng d\u1EABn \u0111\u1EBFn h\u00ECnh \u1EA3nh", +image_alt:"M\u00F4 t\u1EA3 h\u00ECnh \u1EA3nh", +image_list:"Danh s\u00E1ch h\u00ECnh \u1EA3nh", +image_border:"Vi\u1EC1n", +image_dimensions:"K\u00EDch th\u01B0\u1EDBc", +image_vspace:"Kho\u1EA3ng c\u00E1ch d\u1ECDc", +image_hspace:"Kho\u1EA3ng c\u00E1ch ngang", +image_align:"C\u0103n l\u1EC1", +image_align_baseline:"\u0110\u01B0\u1EDDng c\u01A1 b\u1EA3n", +image_align_top:"Tr\u00EAn", +image_align_middle:"Gi\u1EEFa", +image_align_bottom:"\u0110\u00E1y", +image_align_texttop:"Tr\u00EAn c\u1EE7a ch\u1EEF", +image_align_textbottom:"\u0110\u00E1y c\u1EE7a ch\u1EEF", +image_align_left:"Tr\u00E1i", +image_align_right:"Ph\u1EA3i", +link_title:"Ch\u00E8n/s\u1EEDa li\u00EAn k\u1EBFt", +link_url:"Li\u00EAn k\u1EBFt", +link_target:"\u0110\u00EDch", +link_target_same:"M\u1EDF li\u00EAn k\u1EBFt trong c\u00F9ng c\u1EEDa s\u1ED5", +link_target_blank:"M\u1EDF li\u00EAn k\u1EBFt trong c\u1EEDa s\u1ED5 m\u1EDBi", +link_titlefield:"Ti\u00EAu \u0111\u1EC1", +link_is_email:"Li\u00EAn k\u1EBFt b\u1EA1n nh\u1EADp c\u00F3 v\u1EBB nh\u01B0 l\u00E0 m\u1ED9t \u0111\u1ECBa ch\u1EC9 email, b\u1EA1n c\u00F3 mu\u1ED1n th\u00EAm ph\u1EA7n mailto: v\u00E0o tr\u01B0\u1EDBc li\u00EAn k\u1EBFt?", +link_is_external:"Li\u00EAn k\u1EBFt b\u1EA1n nh\u1EADp c\u00F3 v\u1EBB nh\u01B0 l\u00E0 m\u1ED9t trang web ngo\u00E0i, b\u1EA1n c\u00F3 mu\u1ED1n th\u00EAm ph\u1EA7n http:// v\u00E0o tr\u01B0\u1EDBc li\u00EAn k\u1EBFt?", +link_list:"Danh s\u00E1ch li\u00EAn k\u1EBFt" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh.js new file mode 100644 index 0000000000..e498797a53 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh.js @@ -0,0 +1,62 @@ +tinyMCE.addI18n('zh.standard',{ +style_select:"Lang", +font_size:"\u5B57\u9AD4\u5927\u5C0F", +fontdefault:"\u5B57\u9AD4", +block:"\u683C\u5F0F", +paragraph:"\u6BB5\u843D", +div:"Div", +address:"\u5730\u5740", +pre:"\u9ED8\u8A8D\u683C\u5F0F", +h1:"\u6A19\u984C 1", +h2:"\u6A19\u984C 2", +h3:"\u6A19\u984C 3", +h4:"\u6A19\u984C 4", +h5:"\u6A19\u984C 5", +h6:"\u6A19\u984C 6", +blockquote:"\u5F15\u7528", +code:"\u4EE3\u78BC", +samp:"\u7A0B\u5F0F\u7BC4\u4F8B", +dt:"\u540D\u8A5E\u5B9A\u7FA9", +dd:"\u540D\u8A5E\u89E3\u91CB", +bold_desc:"\u7C97\u9AD4 (Ctrl+B)", +italic_desc:"\u659C\u9AD4 (Ctrl+I)", +underline_desc:"\u5E95\u7DDA (Ctrl+U)", +striketrough_desc:"\u4E2D\u5283\u7DDA", +justifyleft_desc:"\u5DE6\u5C0D\u9F4A", +justifycenter_desc:"\u5C45\u4E2D", +justifyright_desc:"\u53F3\u5C0D\u9F4A", +justifyfull_desc:"\u5169\u7AEF\u5C0D\u9F4A", +bullist_desc:"\u6E05\u55AE\u7B26\u865F", +numlist_desc:"\u7DE8\u865F", +outdent_desc:"\u6E1B\u5C11\u7E2E\u9032", +indent_desc:"\u589E\u52A0\u7E2E\u9032", +undo_desc:"\u64A4\u92B7 (Ctrl+Z)", +redo_desc:"\u6062\u5FA9 (Ctrl+Y)", +link_desc:"\u63D2\u5165/\u7DE8\u8F2F \u9023\u7D50", +unlink_desc:"\u53D6\u6D88\u9023\u7D50", +image_desc:"\u63D2\u5165/\u7DE8\u8F2F \u5716\u7247", +cleanup_desc:"\u522A\u9664\u5197\u9918\u78BC", +code_desc:"\u7DE8\u8F2F HTML \u539F\u59CB\u7A0B\u5F0F\u78BC", +sub_desc:"\u4E0B\u6A19", +sup_desc:"\u4E0A\u6A19", +hr_desc:"\u63D2\u5165\u6C34\u5E73\u7DDA", +removeformat_desc:"\u6E05\u9664\u6A23\u5F0F", +custom1_desc:"\u5728\u6B64\u8F38\u5165\u60A8\u7684\u81EA\u8A02\u63CF\u8FF0", +forecolor_desc:"\u9078\u64C7\u6587\u5B57\u984F\u8272", +backcolor_desc:"\u9078\u64C7\u80CC\u666F\u984F\u8272", +charmap_desc:"\u63D2\u5165\u7279\u6B8A\u7B26\u865F", +visualaid_desc:"\u7DB2\u683C/\u96B1\u85CF\u7D44\u4EF6\uFF1F", +anchor_desc:"\u63D2\u5165/\u7DE8\u8F2F \u9328\u9EDE", +cut_desc:"\u526A\u5207 (Ctrl+X)", +copy_desc:"\u8907\u88FD (Ctrl+C)", +paste_desc:"\u7C98\u8CBC (Ctrl+V)", +image_props_desc:"\u5716\u7247\u5C6C\u6027", +newdocument_desc:"\u65B0\u5EFA\u6587\u4EF6", +help_desc:"\u5E6B\u52A9", +blockquote_desc:"\u5F15\u7528", +clipboard_msg:"\u8907\u88FD\u3001\u526A\u5207\u548C\u7C98\u8CBC\u529F\u80FD\u5728Mozilla \u548C Firefox\u4E2D\u7121\u6CD5\u4F7F\u7528", +path:"\u8DEF\u5F91", +newdocument:"\u60A8\u78BA\u8A8D\u8981\u522A\u9664\u5168\u90E8\u5167\u5BB9\u55CE\uFF1F", +toolbar_focus:"\u5DE5\u5177\u5217 - Alt+Q, \u7DE8\u8F2F\u5668 - Alt-Z, \u5143\u4EF6\u8DEF\u5F91 - Alt-X", +more_colors:"\u66F4\u591A\u984F\u8272" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_cn.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_cn.js new file mode 100644 index 0000000000..0f4228005e --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_cn.js @@ -0,0 +1,76 @@ +// Simplified Chinese lang variables contributed by tom_cat (thomaswangyang@gmail.com) + +tinyMCE.addToLang('',{ +theme_style_select : '-- ¸ñʽ --', +theme_code_desc : '±à¼­HTMLÔ´´úÂë', +theme_code_title : 'HTMLÔ´´úÂë±à¼­Æ÷', +theme_code_wordwrap : '×Ô¶¯»»ÐÐ', +theme_sub_desc : 'ϱê', +theme_sup_desc : 'Éϱê', +theme_hr_desc : '²åÈëˮƽÏß', +theme_removeformat_desc : 'ÒÆ³ý¸ñʽ', +theme_custom1_desc : 'ÕâÀïÌîдÓû§×Ô¶¨ÒåÃèÊö', +insert_image_border : '±ß¿ò', +insert_image_dimensions : 'άÊý', +insert_image_vspace : '´¹Ö±¼ä¾à', +insert_image_hspace : 'ˮƽ¼ä¾à', +insert_image_align : '¶ÔÆë·½Ê½', +insert_image_align_default : '-- ĬÈÏ --', +insert_image_align_baseline : '»ùÏß', +insert_image_align_top : '¶¥¶Ë', +insert_image_align_middle : '¾ÓÖÐ', +insert_image_align_bottom : 'µ×²¿', +insert_image_align_texttop : 'ÎÄ×ÖÉÏ·½', +insert_image_align_absmiddle : '¾ø¶Ô¾ÓÖÐ', +insert_image_align_absbottom : '¾ø¶Ôµ×²¿', +insert_image_align_left : '×ó¶ÔÆë', +insert_image_align_right : 'ÓÒ¶ÔÆë', +theme_font_size : '-- ×ֺŠ--', +theme_fontdefault : '-- ×ÖÌå --', +theme_block : '-- ¸ñʽ --', +theme_paragraph : '¶ÎÂä', +theme_div : '²ã', +theme_address : 'µØÖ·', +theme_pre : 'Ô¤¸ñʽ»¯', +theme_h1 : '±êÌâ 1', +theme_h2 : '±êÌâ 2', +theme_h3 : '±êÌâ 3', +theme_h4 : '±êÌâ 4', +theme_h5 : '±êÌâ 5', +theme_h6 : '±êÌâ 6', +theme_colorpicker_title : 'Ñ¡ÔñÑÕÉ«', +theme_colorpicker_apply : 'Ó¦ÓÃ', +theme_forecolor_desc : 'Ñ¡ÔñÎÄ×ÖÑÕÉ«', +theme_backcolor_desc : 'Ñ¡Ôñ±³¾°ÑÕÉ«', +theme_charmap_title : 'Ñ¡ÔñÌØÊâ·ûºÅ', +theme_charmap_desc : '²åÈëÌØÊâ·ûºÅ', +theme_visualaid_desc : '¿ª¹Ø²»¿É¼ûÔªËØ', +insert_anchor_title : '²åÈë/±à¼­ êµã', +insert_anchor_name : 'êµãÃû³Æ', +theme_anchor_desc : '²åÈë/±à¼­ êµã', +theme_insert_link_titlefield : '±êÌâ', +theme_clipboard_msg : '¼ôÇÐ/¸´ÖÆ/Õ³Ìù¹¦ÄÜÔÚ Mozilla ºÍ Firefox ä¯ÀÀÆ÷Öв»Ö§³Ö¡£\nÄúÏ£Íû»ñµÃ¸ü¶àµÄÐÅÏ¢Âð£¿', +theme_path : '·¾¶', +cut_desc : '¼ôÇÐ', +copy_desc : '¸´ÖÆ', +paste_desc : 'Õ³Ìù', +link_list : 'Á´½ÓÁбí', +image_list : 'ͼÏñÁбí', +browse : 'ä¯ÀÀ', +image_props_desc : 'ͼÏñÊôÐÔ', +newdocument_desc : 'н¨¼äµµ', +class_name : 'Àà', +newdocument : 'ÄúÈ·ÈÏÒªÇå³ýËùÓÐÄÚÈÝÂð£¿', +about_title : '¹ØÓÚ TinyMCE', +about : '¹ØÓÚ', +license : 'ÊÚȨÊé', +plugins : 'ËùÓвå¼þ', +plugin : '²å¼þ', +author : '×÷Õß', +version : '°æ±¾', +loaded_plugins : '¶ÁÈ¡²å¼þ', +help : '°ïÖú', +not_set : '-- ¿ÕÉ趨 --', +close : '¹Ø±Õ', +toolbar_focus : 'Ìøµ½¹¤¾ß°´Å¥ - Alt+Q, Ìøµ½±à¼­Æ÷ - Alt-Z, Ìøµ½ÔªËØÂ·¾¶ - Alt-X' +}); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_dlg.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_dlg.js new file mode 100644 index 0000000000..66172c51dc --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_dlg.js @@ -0,0 +1,51 @@ +tinyMCE.addI18n('zh.standard_dlg',{ +about_title:"\u95DC\u65BC TinyMCE", +about_general:"\u95DC\u65BC", +about_help:"\u5E6B\u52A9", +about_license:"\u6388\u6B0A", +about_plugins:"\u5168\u90E8\u5916\u639B\u7A0B\u5F0F", +about_plugin:"\u5916\u639B\u7A0B\u5F0F", +about_author:"\u4F5C\u8005", +about_version:"\u7248\u672C", +about_loaded:"\u5DF2\u8F09\u5165\u7684\u5916\u639B\u7A0B\u5F0F", +anchor_title:"\u63D2\u5165/\u7DE8\u8F2F \u9328\u9EDE", +anchor_name:"\u9328\u9EDE\u540D\u7A31", +code_title:"HTML \u539F\u59CB\u7A0B\u5F0F\u78BC\u7DE8\u8F2F\u5668", +code_wordwrap:"\u81EA\u52D5\u63DB\u884C", +colorpicker_title:"\u9078\u64C7\u984F\u8272", +colorpicker_picker_tab:"\u9078\u64C7\u5668", +colorpicker_picker_title:"\u53D6\u8272\u5668", +colorpicker_palette_tab:"\u8272\u8B5C", +colorpicker_palette_title:"\u8272\u8B5C\u984F\u8272", +colorpicker_named_tab:"\u9810\u8A2D\u503C", +colorpicker_named_title:"\u9ED8\u8A8D\u7684\u984F\u8272", +colorpicker_color:"\u984F\u8272:", +colorpicker_name:"\u8272\u540D:", +charmap_title:"\u63D2\u5165\u7279\u6B8A\u7B26\u865F", +image_title:"\u63D2\u5165/\u7DE8\u8F2F \u5716\u7247", +image_src:"\u5716\u7247\u7DB2\u5740", +image_alt:"\u5716\u7247\u8AAA\u660E", +image_list:"\u5716\u7247\u6E05\u55AE", +image_border:"\u908A\u6846", +image_dimensions:"\u5C3A\u5BF8", +image_vspace:"\u5782\u76F4\u9593\u8DDD", +image_hspace:"\u6C34\u6E96\u9593\u8DDD", +image_align:"\u5C0D\u9F4A\u65B9\u5F0F", +image_align_baseline:"\u57FA\u7DDA", +image_align_top:"\u9802\u90E8\u5C0D\u9F4A", +image_align_middle:"\u4E2D\u90E8\u5C0D\u9F4A", +image_align_bottom:"\u5E95\u90E8\u5C0D\u9F4A", +image_align_texttop:"\u6587\u5B57\u4E0A\u65B9", +image_align_textbottom:"\u6587\u5B57\u4E0B\u65B9", +image_align_left:"\u5DE6\u5C0D\u9F4A", +image_align_right:"\u53F3\u5C0D\u9F4A", +link_title:"\u63D2\u5165/\u7DE8\u8F2F \u9023\u7D50", +link_url:"\u9023\u7D50\u7DB2\u5740", +link_target:"\u76EE\u6A19", +link_target_same:"\u7576\u524D\u8996\u7A97\u6253\u958B", +link_target_blank:"\u65B0\u8996\u7A97\u6253\u958B", +link_titlefield:"\u6A19\u984C", +link_is_email:"\u60A8\u8F38\u5165\u7684\u61C9\u8A72\u662F\u4E00\u500B\u96FB\u5B50\u90F5\u5BC4\u5730\u5740\uFF0C\u662F\u5426\u9700\u8981\u5728\u7DB2\u5740\u524D\u52A0\u4E0A mailto: ? ", +link_is_external:"\u60A8\u8F38\u5165\u7684\u7DB2\u5740\u61C9\u8A72\u662F\u4E00\u500B\u5916\u90E8\u9023\u7D50\uFF0C\u662F\u5426\u9700\u8981\u5728\u7DB2\u5740\u524D\u52A0\u4E0A http:// ?", +link_list:"\u9023\u7D50\u6E05\u55AE" +}); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_tw.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_tw.js new file mode 100644 index 0000000000..231cebde99 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_tw.js @@ -0,0 +1,78 @@ +// Traditional Chinese BIG-5; Twapweb Site translated; twapweb_AT_gmail_DOT_com +// ÁcÅ餤¤å BIG-5 ¡F¼Æ¦ìÀ³¥Î§{»s§@¡F twapweb_AT_gmail_DOT_com + + +tinyMCE.addToLang('',{ +theme_style_select : '-- ¦¡¼Ë --', +theme_code_desc : '½s¿è HTML ½X', +theme_code_title : 'HTML ½X½s¿è¾¹', +theme_code_wordwrap : '¦rµüÀô¶', +theme_sub_desc : '¤U¼Ð', +theme_sup_desc : '¤W¼Ð', +theme_hr_desc : '´¡¤J¤ô¥­½u', +theme_removeformat_desc : '²M°£®æ¦¡³]©w', +theme_custom1_desc : '¦Û­q»¡©ú¦b¦¹¿é¤J', +insert_image_border : '®Ø½u', +insert_image_dimensions : '¤Ø¤o', +insert_image_vspace : '¹Ï¹³¤W¤U°¼¶¡¶Z', +insert_image_hspace : '¹Ï¹³¥ª¥kÃä¶¡¶Z', +insert_image_align : '««ª½¹ï»ô', +insert_image_align_default : '-- ¥¼³]¸m --', +insert_image_align_baseline : '©³½u', +insert_image_align_top : '³»ºÝ', +insert_image_align_middle : '¤¤½u', +insert_image_align_bottom : '©³³¡', +insert_image_align_texttop : '¤å¦r³»ºÝ', +insert_image_align_absmiddle : 'µ´¹ï¤¤½u', +insert_image_align_absbottom : 'µ´¹ï©³³¡', +insert_image_align_left : '¥ª', +insert_image_align_right : '¥k', +theme_font_size : '-- ¦rÅé¤j¤p --', +theme_fontdefault : '-- ¦rÅé¿ï¾Ü --', +theme_block : '-- ®æ¦¡ --', +theme_paragraph : '¬q¸¨', +theme_div : '¤À¬É', +theme_address : '¦ì¸m', +theme_pre : '¤º©w®æ¦¡', +theme_h1 : '¼ÐÃD¤@', +theme_h2 : '¼ÐÃD¤G', +theme_h3 : '¼ÐÃD¤T', +theme_h4 : '¼ÐÃD¥|', +theme_h5 : '¼ÐÃD¤­', +theme_h6 : '¼ÐÃD¤»', +theme_colorpicker_title : '¿ï¨úÃC¦â', +theme_colorpicker_apply : '®M¥Î', +theme_forecolor_desc : '¿ï¨ú¤å¦rÃC¦â', +theme_backcolor_desc : '¿ï¨ú­I´ºÃC¦â', +theme_charmap_title : '¿ï¨ú¦Û­q¦r¤¸', +theme_charmap_desc : '´¡¤J¦Û­q¦r¤¸', +theme_visualaid_desc : '¤Á´««ü¥Ü©Î«D¥i¨£¤¸¥ó', +insert_anchor_title : '´¡¤J©Î½s¿è³sµ²ÂI', +insert_anchor_name : '³sµ²ÂI¦WºÙ', +theme_anchor_desc : '´¡¤J©Î½s¿è³sµ²ÂI', +theme_insert_link_titlefield : '¼ÐÃD', +theme_clipboard_msg : '¦b Mozilla ©M Firefox ¤¤µLªk¨Ï¥Î½Æ»s©Î°Å¤U©Î¶K¤W¥\¯à¡C\n»Ý­n§ó¦hÃö©ó¦¹ªº°T®§¶Ü¡H', +theme_path : '¸ô®|', +cut_desc : '°Å¤U', +copy_desc : '½Æ»s', +paste_desc : '¶K¤W', +link_list : '³sµ²¦Cªí', +image_list : '¹ÏÀɦCªí', +browse : 'ÂsÄý', +image_props_desc : '¹ÏÀÉÄÝ©Ê', +newdocument_desc : '·s¤å¥ó', +class_name : '¤ÀÃþ', +newdocument : '½T©w­n²M°£¥þ³¡¤º®e¡H', +about_title : 'Ãö©ó TinyMCE', +about : 'Ãö©ó', +license : '±ÂÅv', +plugins : 'À³¥Î®M¥ó', +plugin : 'À³¥Î®M¥ó', +author : '§@ªÌ', +version : 'ª©¥»', +loaded_plugins : '¤w¸ü¤JÀ³¥Î®M¥ó', +help : '¨ó§U', +not_set : '-- ¥¼³]¸m --', +close : 'Ãö³¬', +toolbar_focus : '§Ö³t±Ò¥Î¤u¨ã¯Ã - Alt+Q¡F§Ö³t±Ò¥Î½s¿è¾¹ - Alt-Z¡F§Ö³t²¾¦Ü¤¸¥ó¸ô®| - Alt-X' +}); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_tw_utf8.js b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_tw_utf8.js new file mode 100644 index 0000000000..dc45ecc7d0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/langs/zh_tw_utf8.js @@ -0,0 +1,78 @@ +// Traditional Chinese UTF-8; Twapweb Site translated; twapweb_AT_gmail_DOT_com +// 繁體中文 UTF-8 ;數位應用坊製作; twapweb_AT_gmail_DOT_com + + +tinyMCE.addToLang('',{ +theme_style_select : '-- 式樣 --', +theme_code_desc : '編輯 HTML 碼', +theme_code_title : 'HTML 碼編輯器', +theme_code_wordwrap : '字詞環繞', +theme_sub_desc : '下標', +theme_sup_desc : '上標', +theme_hr_desc : '插入水平線', +theme_removeformat_desc : '清除格式設定', +theme_custom1_desc : '自訂說明在此輸入', +insert_image_border : '框線', +insert_image_dimensions : '尺寸', +insert_image_vspace : '圖像上下側間距', +insert_image_hspace : '圖像左右邊間距', +insert_image_align : '垂直對齊', +insert_image_align_default : '-- 未設置 --', +insert_image_align_baseline : '底線', +insert_image_align_top : '頂端', +insert_image_align_middle : '中線', +insert_image_align_bottom : '底部', +insert_image_align_texttop : '文字頂端', +insert_image_align_absmiddle : '絕對中線', +insert_image_align_absbottom : '絕對底部', +insert_image_align_left : 'å·¦', +insert_image_align_right : '右', +theme_font_size : '-- 字體大小 --', +theme_fontdefault : '-- 字體選擇 --', +theme_block : '-- 格式 --', +theme_paragraph : '段落', +theme_div : '分界', +theme_address : '位置', +theme_pre : '內定格式', +theme_h1 : '標題一', +theme_h2 : '標題二', +theme_h3 : '標題三', +theme_h4 : '標題四', +theme_h5 : '標題五', +theme_h6 : '標題六', +theme_colorpicker_title : '選取顏色', +theme_colorpicker_apply : '套用', +theme_forecolor_desc : '選取文字顏色', +theme_backcolor_desc : '選取背景顏色', +theme_charmap_title : '選取自訂字元', +theme_charmap_desc : '插入自訂字元', +theme_visualaid_desc : '切換指示或非可見元件', +insert_anchor_title : '插入或編輯連結點', +insert_anchor_name : '連結點名稱', +theme_anchor_desc : '插入或編輯連結點', +theme_insert_link_titlefield : '標題', +theme_clipboard_msg : '在 Mozilla 和 Firefox 中無法使用複製或剪下或貼上功能。\n需要更多關於此的訊息嗎?', +theme_path : '路徑', +cut_desc : '剪下', +copy_desc : '複製', +paste_desc : '貼上', +link_list : '連結列表', +image_list : '圖檔列表', +browse : '瀏覽', +image_props_desc : '圖檔屬性', +newdocument_desc : '新文件', +class_name : '分類', +newdocument : '確定要清除全部內容?', +about_title : '關於 TinyMCE', +about : '關於', +license : '授權', +plugins : '應用套件', +plugin : '應用套件', +author : '作者', +version : '版本', +loaded_plugins : '已載入應用套件', +help : '協助', +not_set : '-- 未設置 --', +close : '關閉', +toolbar_focus : '快速啟用工具紐 - Alt+Q;快速啟用編輯器 - Alt-Z;快速移至元件路徑 - Alt-X' +}); diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/link.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/link.htm new file mode 100644 index 0000000000..6174873e68 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/link.htm @@ -0,0 +1,64 @@ + + + + {#standard_dlg.link_title} + + + + + + + + +
    + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
     
    +
    +
    + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/content.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/content.css new file mode 100644 index 0000000000..e3adc44d93 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/content.css @@ -0,0 +1,27 @@ +body, td, pre {color:#000; font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px; margin:8px;} +body {background:#FFF;} +body.mceForceColors {background:#FFF; color:#000;} +h1 {font-size: 2em} +h2 {font-size: 1.5em} +h3 {font-size: 1.17em} +h4 {font-size: 1em} +h5 {font-size: .83em} +h6 {font-size: .75em} +.mceItemTable, .mceItemTable td, .mceItemTable th, .mceItemTable caption, .mceItemVisualAid {border: 1px dashed #BBB;} +a.mceItemAnchor {width:12px; line-height:6px; overflow:hidden; padding-left:12px; background:url(img/items.gif) no-repeat bottom left;} +img.mceItemAnchor {width:12px; height:12px; background:url(img/items.gif) no-repeat;} +img {border:0;} +table {cursor:default} +table td, table th {cursor:text} + +/* IE */ +* html body { +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/dialog.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/dialog.css new file mode 100644 index 0000000000..c944a60ba0 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/dialog.css @@ -0,0 +1,114 @@ +/* Generic */ +body { +font-family:Verdana, Arial, Helvetica, sans-serif; font-size:11px; +scrollbar-3dlight-color:#F0F0EE; +scrollbar-arrow-color:#676662; +scrollbar-base-color:#F0F0EE; +scrollbar-darkshadow-color:#DDDDDD; +scrollbar-face-color:#E0E0DD; +scrollbar-highlight-color:#F0F0EE; +scrollbar-shadow-color:#F0F0EE; +scrollbar-track-color:#F5F5F5; +background:#F0F0EE; +padding:0; +margin:8px 8px 0 8px; +} + +html {background:#F0F0EE;} +td {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +textarea {resize:none;outline:none;} +a:link, a:visited {color:black;} +a:hover {color:#2B6FB6;} + +/* Forms */ +fieldset {margin:0; padding:4px; border:1px solid #919B9C; font-family:Verdana, Arial; font-size:10px;} +legend {color:#2B6FB6; font-weight:bold;} +label.msg {display:none;} +label.invalid {color:#EE0000; display:inline;} +input.invalid {border:1px solid #EE0000;} +input {background:#FFF; border:1px solid #CCC;} +input, select, textarea {font-family:Verdana, Arial, Helvetica, sans-serif; font-size:10px;} +input, select, textarea {border:1px solid #808080;} +input.radio {border:1px none #000000; background:transparent; vertical-align:middle;} +input.checkbox {border:1px none #000000; background:transparent; vertical-align:middle;} +.input_noborder {border:0;} + +/* Buttons */ +#insert, #cancel, input.button, .updateButton { +border:0; margin:0; padding:0; +font-weight:bold; +width:94px; height:26px; +background:url(img/buttons.png) 0 -26px; +cursor:pointer; +padding-bottom:2px; +} + +#insert {background:url(img/buttons.png) 0 -52px;} +#cancel {background:url(img/buttons.png) 0 0;} + +/* Browse */ +a.browse span {display:block; width:20px; height:18px; background:url(../../img/icons.gif) -860px 0; border:1px solid #FFF; margin-left:1px;} +.mceOldBoxModel a.browse span {width:22px; height:20px;} +a.browse:hover span {border:1px solid #0A246A; background-color:#B2BBD0;} +a.browse span.disabled {border:1px solid white; -moz-opacity:0.3; opacity:0.3; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);} +a.browse:hover span.disabled {border:1px solid white; background-color:transparent;} +a.pickcolor span {display:block; width:20px; height:16px; background:url(../../img/icons.gif) -840px 0; margin-left:2px;} +.mceOldBoxModel a.pickcolor span {width:21px; height:17px;} +a.pickcolor:hover span {background-color:#B2BBD0;} +a.pickcolor:hover span.disabled {} + +/* Charmap */ +table.charmap {border:1px solid #AAA; text-align:center} +td.charmap, #charmap a {width:18px; height:18px; color:#000; border:1px solid #AAA; text-align:center; font-size:12px; vertical-align:middle; line-height: 18px;} +#charmap a {display:block; color:#000; text-decoration:none; border:0} +#charmap a:hover {background:#CCC;color:#2B6FB6} +#charmap #codeN {font-size:10px; font-family:Arial,Helvetica,sans-serif; text-align:center} +#charmap #codeV {font-size:40px; height:80px; border:1px solid #AAA; text-align:center} + +/* Source */ +.wordWrapCode {vertical-align:middle; border:1px none #000000; background:transparent;} +.mceActionPanel {margin-top:5px;} + +/* Tabs classes */ +.tabs {width:100%; height:18px; line-height:normal; background:url(img/tabs.gif) repeat-x 0 -72px;} +.tabs ul {margin:0; padding:0; list-style:none;} +.tabs li {float:left; background:url(img/tabs.gif) no-repeat 0 0; margin:0 2px 0 0; padding:0 0 0 10px; line-height:17px; height:18px; display:block;} +.tabs li.current {background:url(img/tabs.gif) no-repeat 0 -18px; margin-right:2px;} +.tabs span {float:left; display:block; background:url(img/tabs.gif) no-repeat right -36px; padding:0px 10px 0 0;} +.tabs .current span {background:url(img/tabs.gif) no-repeat right -54px;} +.tabs a {text-decoration:none; font-family:Verdana, Arial; font-size:10px;} +.tabs a:link, .tabs a:visited, .tabs a:hover {color:black;} + +/* Panels */ +.panel_wrapper div.panel {display:none;} +.panel_wrapper div.current {display:block; width:100%; height:300px; overflow:visible;} +.panel_wrapper {border:1px solid #919B9C; border-top:0px; padding:10px; padding-top:5px; clear:both; background:white;} + +/* Columns */ +.column {float:left;} +.properties {width:100%;} +.properties .column1 {} +.properties .column2 {text-align:left;} + +/* Titles */ +h1, h2, h3, h4 {color:#2B6FB6; margin:0; padding:0; padding-top:5px;} +h3 {font-size:14px;} +.title {font-size:12px; font-weight:bold; color:#2B6FB6;} + +/* Dialog specific */ +#link .panel_wrapper, #link div.current {height:125px;} +#image .panel_wrapper, #image div.current {height:200px;} +#plugintable thead {font-weight:bold; background:#DDD;} +#plugintable, #about #plugintable td {border:1px solid #919B9C;} +#plugintable {width:96%; margin-top:10px;} +#pluginscontainer {height:290px; overflow:auto;} +#colorpicker #preview {float:right; width:50px; height:14px;line-height:1px; border:1px solid black; margin-left:5px;} +#colorpicker #colors {float:left; border:1px solid gray; cursor:crosshair;} +#colorpicker #light {border:1px solid gray; margin-left:5px; float:left;width:15px; height:150px; cursor:crosshair;} +#colorpicker #light div {overflow:hidden;} +#colorpicker #previewblock {float:right; padding-left:10px; height:20px;} +#colorpicker .panel_wrapper div.current {height:175px;} +#colorpicker #namedcolors {width:150px;} +#colorpicker #namedcolors a {display:block; float:left; width:10px; height:10px; margin:1px 1px 0 0; overflow:hidden;} +#colorpicker #colornamecontainer {margin-top:5px;} +#colorpicker #picker_panel fieldset {margin:auto;width:325px;} \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/img/buttons.png b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/img/buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..7dd58418ba7cfe58ae7efdf174e0b223fe3aa6a0 GIT binary patch literal 3274 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 SLTQbO*E^TJI;F+RU=09Vu@yA{ literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/img/menu_check.gif b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/default/img/menu_check.gif new file mode 100644 index 0000000000000000000000000000000000000000..adfdddccd7cac62a17d68873fa53c248bff8351a GIT binary patch literal 70 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 R!Sp}^Mt9BhYjvGt{|88cricIl literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/img/button_bg_black.png b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/img/button_bg_black.png new file mode 100644 index 0000000000000000000000000000000000000000..8996c7493e8a58c9c40845cbe8abdc3e6730716d GIT binary patch literal 3736 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 M07*qoM6N<$f@g#ZbN~PV literal 0 HcmV?d00001 diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui.css new file mode 100644 index 0000000000..0da56e9112 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui.css @@ -0,0 +1,215 @@ +/* Reset */ +.o2k7Skin table, .o2k7Skin tbody, .o2k7Skin a, .o2k7Skin img, .o2k7Skin tr, .o2k7Skin div, .o2k7Skin td, .o2k7Skin iframe, .o2k7Skin span, .o2k7Skin *, .o2k7Skin .mceText {border:0; margin:0; padding:0; background:transparent; white-space:nowrap; text-decoration:none; font-weight:normal; cursor:default; color:#000; vertical-align:baseline; width:auto; border-collapse:separate; text-align:left} +.o2k7Skin a:hover, .o2k7Skin a:link, .o2k7Skin a:visited, .o2k7Skin a:active {text-decoration:none; font-weight:normal; cursor:default; color:#000} +.o2k7Skin table td {vertical-align:middle} + +/* Containers */ +.o2k7Skin table {background:#E5EFFD} +.o2k7Skin iframe {display:block; background:#FFF} +.o2k7Skin .mceToolbar {height:26px} + +/* External */ +.o2k7Skin .mceExternalToolbar {position:absolute; border:1px solid #ABC6DD; border-bottom:0; display:none} +.o2k7Skin .mceExternalToolbar td.mceToolbar {padding-right:13px;} +.o2k7Skin .mceExternalClose {position:absolute; top:3px; right:3px; width:7px; height:7px; background:url(../../img/icons.gif) -820px 0} + +/* Layout */ +.o2k7Skin table.mceLayout {border:0; border-left:1px solid #ABC6DD; border-right:1px solid #ABC6DD} +.o2k7Skin table.mceLayout tr.mceFirst td {border-top:1px solid #ABC6DD} +.o2k7Skin table.mceLayout tr.mceLast td {border-bottom:1px solid #ABC6DD} +.o2k7Skin table.mceToolbar, .o2k7Skin tr.mceFirst .mceToolbar tr td, .o2k7Skin tr.mceLast .mceToolbar tr td {border:0; margin:0; padding:0} +.o2k7Skin .mceIframeContainer {border-top:1px solid #ABC6DD; border-bottom:1px solid #ABC6DD} +.o2k7Skin .mceStatusbar {display:block; font-family:'MS Sans Serif',sans-serif,Verdana,Arial; font-size:9pt; line-height:16px; overflow:visible; color:#000; height:20px} +.o2k7Skin .mceStatusbar div {float:left; padding:2px} +.o2k7Skin .mceStatusbar a.mceResize {display:block; float:right; background:url(../../img/icons.gif) -800px 0; width:20px; height:20px; cursor:se-resize} +.o2k7Skin .mceStatusbar a:hover {text-decoration:underline} +.o2k7Skin table.mceToolbar {margin-left:3px} +.o2k7Skin .mceToolbar .mceToolbarStart span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px; margin-left:3px;} +.o2k7Skin .mceToolbar td.mceFirst span {margin:0} +.o2k7Skin .mceToolbar .mceToolbarEnd span {display:block; background:url(img/button_bg.png) -22px 0; width:1px; height:22px} +.o2k7Skin .mceToolbar .mceToolbarEndListBox span, .o2k7Skin .mceToolbar .mceToolbarStartListBox span {display:none} +.o2k7Skin span.mceIcon, .o2k7Skin img.mceIcon {display:block; width:20px; height:20px} +.o2k7Skin .mceIcon {background:url(../../img/icons.gif) no-repeat 20px 20px} +.o2k7Skin td.mceCenter {text-align:center;} +.o2k7Skin td.mceCenter table {margin:0 auto; text-align:left;} +.o2k7Skin td.mceRight table {margin:0 0 0 auto;} + +/* Button */ +.o2k7Skin .mceButton {display:block; background:url(img/button_bg.png); width:22px; height:22px} +.o2k7Skin a.mceButton span, .o2k7Skin a.mceButton img {margin-left:1px} +.o2k7Skin .mceOldBoxModel a.mceButton span, .o2k7Skin .mceOldBoxModel a.mceButton img {margin:0 0 0 1px} +.o2k7Skin a.mceButtonEnabled:hover {background-color:#B2BBD0; background-position:0 -22px} +.o2k7Skin a.mceButtonActive, .o2k7Skin a.mceButtonSelected {background-position:0 -44px} +.o2k7Skin .mceButtonDisabled .mceIcon {opacity:0.3; filter:alpha(opacity=30)} +.o2k7Skin .mceButtonLabeled {width:auto} +.o2k7Skin .mceButtonLabeled span.mceIcon {float:left} +.o2k7Skin span.mceButtonLabel {display:block; font-size:10px; padding:4px 6px 0 22px; font-family:Tahoma,Verdana,Arial,Helvetica} +.o2k7Skin .mceButtonDisabled .mceButtonLabel {color:#888} + +/* Separator */ +.o2k7Skin .mceSeparator {display:block; background:url(img/button_bg.png) -22px 0; width:5px; height:22px} + +/* ListBox */ +.o2k7Skin .mceListBox {margin-left:3px} +.o2k7Skin .mceListBox, .o2k7Skin .mceListBox a {display:block} +.o2k7Skin .mceListBox .mceText {padding-left:4px; text-align:left; width:70px; border:1px solid #b3c7e1; border-right:0; background:#eaf2fb; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; height:20px; line-height:20px; overflow:hidden} +.o2k7Skin .mceListBox .mceOpen {width:14px; height:22px; background:url(img/button_bg.png) -66px 0} +.o2k7Skin table.mceListBoxEnabled:hover .mceText, .o2k7Skin .mceListBoxHover .mceText, .o2k7Skin .mceListBoxSelected .mceText {background:#FFF} +.o2k7Skin table.mceListBoxEnabled:hover .mceOpen, .o2k7Skin .mceListBoxHover .mceOpen, .o2k7Skin .mceListBoxSelected .mceOpen {background-position:-66px -22px} +.o2k7Skin .mceListBoxDisabled .mceText {color:gray} +.o2k7Skin .mceListBoxMenu {overflow:auto; overflow-x:hidden} +.o2k7Skin .mceOldBoxModel .mceListBox .mceText {height:22px} +.o2k7Skin select.mceListBox {font-family:Tahoma,Verdana,Arial,Helvetica; font-size:12px; border:1px solid #b3c7e1; background:#FFF;} + +/* SplitButton */ +.o2k7Skin .mceSplitButton, .o2k7Skin .mceSplitButton a, .o2k7Skin .mceSplitButton span {display:block; height:22px} +.o2k7Skin .mceSplitButton {background:url(img/button_bg.png)} +.o2k7Skin .mceSplitButton a.mceAction {width:22px} +.o2k7Skin .mceSplitButton span.mceAction {width:22px; background:url(../../img/icons.gif) 20px 20px} +.o2k7Skin .mceSplitButton a.mceOpen {width:10px} +.o2k7Skin .mceSplitButton span.mceOpen {width:10px; background:url(img/button_bg.png) -44px 0} +.o2k7Skin table.mceSplitButtonEnabled:hover a.mceAction, .o2k7Skin .mceSplitButtonHover a.mceAction, .o2k7Skin .mceSplitButtonSelected {background:url(img/button_bg.png) 0 -22px} +.o2k7Skin table.mceSplitButtonEnabled:hover span.mceOpen, .o2k7Skin .mceSplitButtonHover span.mceOpen, .o2k7Skin .mceSplitButtonSelected span.mceOpen {background-position:-44px -44px} +.o2k7Skin .mceSplitButtonDisabled .mceAction {opacity:0.3; filter:alpha(opacity=30)} +.o2k7Skin .mceSplitButtonActive {background-position:0 -44px} + +/* ColorSplitButton */ +.o2k7Skin div.mceColorSplitMenu table {background:#FFF; border:1px solid gray} +.o2k7Skin .mceColorSplitMenu td {padding:2px} +.o2k7Skin .mceColorSplitMenu a {display:block; width:9px; height:9px; overflow:hidden; border:1px solid #808080} +.o2k7Skin .mceColorSplitMenu td.mceMoreColors {padding:1px 3px 1px 1px} +.o2k7Skin .mceColorSplitMenu a.mceMoreColors {width:100%; height:auto; text-align:center; font-family:Tahoma,Verdana,Arial,Helvetica; font-size:11px; line-height:20px; border:1px solid #FFF} +.o2k7Skin .mceColorSplitMenu a.mceMoreColors:hover {border:1px solid #0A246A; background-color:#B6BDD2} +.o2k7Skin a.mceMoreColors:hover {border:1px solid #0A246A} +.o2k7Skin .mceColorPreview {margin-left:2px; width:16px; height:4px; overflow:hidden; background:#9a9b9a;overflow:hidden} +.o2k7Skin .mce_forecolor span.mceAction, .o2k7Skin .mce_backcolor span.mceAction {height:15px;overflow:hidden} + +/* Menu */ +.o2k7Skin .mceMenu {position:absolute; left:0; top:0; z-index:1000; border:1px solid #ABC6DD} +.o2k7Skin .mceNoIcons span.mceIcon {width:0;} +.o2k7Skin .mceNoIcons a .mceText {padding-left:10px} +.o2k7Skin .mceMenu table {background:#FFF} +.o2k7Skin .mceMenu a, .o2k7Skin .mceMenu span, .o2k7Skin .mceMenu {display:block} +.o2k7Skin .mceMenu td {height:20px} +.o2k7Skin .mceMenu a {position:relative;padding:3px 0 4px 0} +.o2k7Skin .mceMenu .mceText {position:relative; display:block; font-family:Tahoma,Verdana,Arial,Helvetica; color:#000; cursor:default; margin:0; padding:0 25px 0 25px; display:block} +.o2k7Skin .mceMenu span.mceText, .o2k7Skin .mceMenu .mcePreview {font-size:11px} +.o2k7Skin .mceMenu pre.mceText {font-family:Monospace} +.o2k7Skin .mceMenu .mceIcon {position:absolute; top:0; left:0; width:22px;} +.o2k7Skin .mceMenu .mceMenuItemEnabled a:hover, .o2k7Skin .mceMenu .mceMenuItemActive {background-color:#dbecf3} +.o2k7Skin td.mceMenuItemSeparator {background:#DDD; height:1px} +.o2k7Skin .mceMenuItemTitle a {border:0; background:#E5EFFD; border-bottom:1px solid #ABC6DD} +.o2k7Skin .mceMenuItemTitle span.mceText {color:#000; font-weight:bold; padding-left:4px} +.o2k7Skin .mceMenuItemDisabled .mceText {color:#888} +.o2k7Skin .mceMenuItemSelected .mceIcon {background:url(../default/img/menu_check.gif)} +.o2k7Skin .mceNoIcons .mceMenuItemSelected a {background:url(../default/img/menu_arrow.gif) no-repeat -6px center} +.o2k7Skin .mceMenu span.mceMenuLine {display:none} +.o2k7Skin .mceMenuItemSub a {background:url(../default/img/menu_arrow.gif) no-repeat top right;} + +/* Progress,Resize */ +.o2k7Skin .mceBlocker {position:absolute; left:0; top:0; z-index:1000; opacity:0.5; filter:alpha(opacity=50); background:#FFF} +.o2k7Skin .mceProgress {position:absolute; left:0; top:0; z-index:1001; background:url(../default/img/progress.gif) no-repeat; width:32px; height:32px; margin:-16px 0 0 -16px} +.o2k7Skin .mcePlaceHolder {border:1px dotted gray} + +/* Formats */ +.o2k7Skin .mce_formatPreview a {font-size:10px} +.o2k7Skin .mce_p span.mceText {} +.o2k7Skin .mce_address span.mceText {font-style:italic} +.o2k7Skin .mce_pre span.mceText {font-family:monospace} +.o2k7Skin .mce_h1 span.mceText {font-weight:bolder; font-size: 2em} +.o2k7Skin .mce_h2 span.mceText {font-weight:bolder; font-size: 1.5em} +.o2k7Skin .mce_h3 span.mceText {font-weight:bolder; font-size: 1.17em} +.o2k7Skin .mce_h4 span.mceText {font-weight:bolder; font-size: 1em} +.o2k7Skin .mce_h5 span.mceText {font-weight:bolder; font-size: .83em} +.o2k7Skin .mce_h6 span.mceText {font-weight:bolder; font-size: .75em} + +/* Theme */ +.o2k7Skin span.mce_bold {background-position:0 0} +.o2k7Skin span.mce_italic {background-position:-60px 0} +.o2k7Skin span.mce_underline {background-position:-140px 0} +.o2k7Skin span.mce_strikethrough {background-position:-120px 0} +.o2k7Skin span.mce_undo {background-position:-160px 0} +.o2k7Skin span.mce_redo {background-position:-100px 0} +.o2k7Skin span.mce_cleanup {background-position:-40px 0} +.o2k7Skin span.mce_bullist {background-position:-20px 0} +.o2k7Skin span.mce_numlist {background-position:-80px 0} +.o2k7Skin span.mce_justifyleft {background-position:-460px 0} +.o2k7Skin span.mce_justifyright {background-position:-480px 0} +.o2k7Skin span.mce_justifycenter {background-position:-420px 0} +.o2k7Skin span.mce_justifyfull {background-position:-440px 0} +.o2k7Skin span.mce_anchor {background-position:-200px 0} +.o2k7Skin span.mce_indent {background-position:-400px 0} +.o2k7Skin span.mce_outdent {background-position:-540px 0} +.o2k7Skin span.mce_link {background-position:-500px 0} +.o2k7Skin span.mce_unlink {background-position:-640px 0} +.o2k7Skin span.mce_sub {background-position:-600px 0} +.o2k7Skin span.mce_sup {background-position:-620px 0} +.o2k7Skin span.mce_removeformat {background-position:-580px 0} +.o2k7Skin span.mce_newdocument {background-position:-520px 0} +.o2k7Skin span.mce_image {background-position:-380px 0} +.o2k7Skin span.mce_help {background-position:-340px 0} +.o2k7Skin span.mce_code {background-position:-260px 0} +.o2k7Skin span.mce_hr {background-position:-360px 0} +.o2k7Skin span.mce_visualaid {background-position:-660px 0} +.o2k7Skin span.mce_charmap {background-position:-240px 0} +.o2k7Skin span.mce_paste {background-position:-560px 0} +.o2k7Skin span.mce_copy {background-position:-700px 0} +.o2k7Skin span.mce_cut {background-position:-680px 0} +.o2k7Skin span.mce_blockquote {background-position:-220px 0} +.o2k7Skin .mce_forecolor span.mceAction {background-position:-720px 0} +.o2k7Skin .mce_backcolor span.mceAction {background-position:-760px 0} +.o2k7Skin span.mce_forecolorpicker {background-position:-720px 0} +.o2k7Skin span.mce_backcolorpicker {background-position:-760px 0} + +/* Plugins */ +.o2k7Skin span.mce_advhr {background-position:-0px -20px} +.o2k7Skin span.mce_ltr {background-position:-20px -20px} +.o2k7Skin span.mce_rtl {background-position:-40px -20px} +.o2k7Skin span.mce_emotions {background-position:-60px -20px} +.o2k7Skin span.mce_fullpage {background-position:-80px -20px} +.o2k7Skin span.mce_fullscreen {background-position:-100px -20px} +.o2k7Skin span.mce_iespell {background-position:-120px -20px} +.o2k7Skin span.mce_insertdate {background-position:-140px -20px} +.o2k7Skin span.mce_inserttime {background-position:-160px -20px} +.o2k7Skin span.mce_absolute {background-position:-180px -20px} +.o2k7Skin span.mce_backward {background-position:-200px -20px} +.o2k7Skin span.mce_forward {background-position:-220px -20px} +.o2k7Skin span.mce_insert_layer {background-position:-240px -20px} +.o2k7Skin span.mce_insertlayer {background-position:-260px -20px} +.o2k7Skin span.mce_movebackward {background-position:-280px -20px} +.o2k7Skin span.mce_moveforward {background-position:-300px -20px} +.o2k7Skin span.mce_media {background-position:-320px -20px} +.o2k7Skin span.mce_nonbreaking {background-position:-340px -20px} +.o2k7Skin span.mce_pastetext {background-position:-360px -20px} +.o2k7Skin span.mce_pasteword {background-position:-380px -20px} +.o2k7Skin span.mce_selectall {background-position:-400px -20px} +.o2k7Skin span.mce_preview {background-position:-420px -20px} +.o2k7Skin span.mce_print {background-position:-440px -20px} +.o2k7Skin span.mce_cancel {background-position:-460px -20px} +.o2k7Skin span.mce_save {background-position:-480px -20px} +.o2k7Skin span.mce_replace {background-position:-500px -20px} +.o2k7Skin span.mce_search {background-position:-520px -20px} +.o2k7Skin span.mce_styleprops {background-position:-560px -20px} +.o2k7Skin span.mce_table {background-position:-580px -20px} +.o2k7Skin span.mce_cell_props {background-position:-600px -20px} +.o2k7Skin span.mce_delete_table {background-position:-620px -20px} +.o2k7Skin span.mce_delete_col {background-position:-640px -20px} +.o2k7Skin span.mce_delete_row {background-position:-660px -20px} +.o2k7Skin span.mce_col_after {background-position:-680px -20px} +.o2k7Skin span.mce_col_before {background-position:-700px -20px} +.o2k7Skin span.mce_row_after {background-position:-720px -20px} +.o2k7Skin span.mce_row_before {background-position:-740px -20px} +.o2k7Skin span.mce_merge_cells {background-position:-760px -20px} +.o2k7Skin span.mce_table_props {background-position:-980px -20px} +.o2k7Skin span.mce_row_props {background-position:-780px -20px} +.o2k7Skin span.mce_split_cells {background-position:-800px -20px} +.o2k7Skin span.mce_template {background-position:-820px -20px} +.o2k7Skin span.mce_visualchars {background-position:-840px -20px} +.o2k7Skin span.mce_abbr {background-position:-860px -20px} +.o2k7Skin span.mce_acronym {background-position:-880px -20px} +.o2k7Skin span.mce_attribs {background-position:-900px -20px} +.o2k7Skin span.mce_cite {background-position:-920px -20px} +.o2k7Skin span.mce_del {background-position:-940px -20px} +.o2k7Skin span.mce_ins {background-position:-960px -20px} +.o2k7Skin span.mce_pagebreak {background-position:0 -40px} +.o2k7Skin .mce_spellchecker span.mceAction {background-position:-540px -20px} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui_black.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui_black.css new file mode 100644 index 0000000000..a42a727abc --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui_black.css @@ -0,0 +1,8 @@ +/* Black */ +.o2k7SkinBlack .mceToolbar .mceToolbarStart span, .o2k7SkinBlack .mceToolbar .mceToolbarEnd span, .o2k7SkinBlack .mceButton, .o2k7SkinBlack .mceSplitButton, .o2k7SkinBlack .mceSeparator, .o2k7SkinBlack .mceSplitButton span.mceOpen, .o2k7SkinBlack .mceListBox .mceOpen {background-image:url(img/button_bg_black.png)} +.o2k7SkinBlack table, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack .mceMenuItemTitle span.mceText, .o2k7SkinBlack .mceStatusbar div, .o2k7SkinBlack .mceStatusbar span, .o2k7SkinBlack .mceStatusbar a {background:#535353; color:#FFF} +.o2k7SkinBlack table.mceListBoxEnabled .mceText, o2k7SkinBlack .mceListBox .mceText {background:#FFF; border:1px solid #CBCFD4; border-bottom-color:#989FA9; border-right:0} +.o2k7SkinBlack table.mceListBoxEnabled:hover .mceText, .o2k7Skin .mceListBoxHover .mceText, .o2k7Skin .mceListBoxSelected .mceText {background:#FFF; border:1px solid #FFBD69; border-right:0} +.o2k7SkinBlack .mceExternalToolbar, .o2k7SkinBlack .mceListBox .mceText, .o2k7SkinBlack div.mceMenu, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceFirst td, .o2k7SkinBlack table.mceLayout, .o2k7SkinBlack .mceMenuItemTitle a, .o2k7SkinBlack table.mceLayout tr.mceLast td, .o2k7SkinBlack .mceIframeContainer {border-color: #535353;} +.o2k7SkinBlack table.mceSplitButtonEnabled:hover a.mceAction, .o2k7Skin .mceSplitButtonHover a.mceAction, .o2k7Skin .mceSplitButtonSelected {background-image:url(img/button_bg_black.png)} +.o2k7SkinBlack .mceMenu .mceMenuItemEnabled a:hover, .o2k7Skin .mceMenu .mceMenuItemActive {background-color:#FFE7A1} \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui_silver.css b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui_silver.css new file mode 100644 index 0000000000..548b1b852b --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/skins/o2k7/ui_silver.css @@ -0,0 +1,5 @@ +/* Silver */ +.o2k7SkinSilver .mceToolbar .mceToolbarStart span, .o2k7SkinSilver .mceButton, .o2k7SkinSilver .mceSplitButton, .o2k7SkinSilver .mceSeparator, .o2k7SkinSilver .mceSplitButton span.mceOpen, .o2k7SkinSilver .mceListBox .mceOpen {background-image:url(img/button_bg_silver.png)} +.o2k7SkinSilver table, .o2k7SkinSilver .mceMenuItemTitle a {background:#eee} +.o2k7SkinSilver .mceListBox .mceText {background:#FFF} +.o2k7SkinSilver .mceExternalToolbar, .o2k7SkinSilver .mceListBox .mceText, .o2k7SkinSilver div.mceMenu, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceFirst td, .o2k7SkinSilver table.mceLayout, .o2k7SkinSilver .mceMenuItemTitle a, .o2k7SkinSilver table.mceLayout tr.mceLast td, .o2k7SkinSilver .mceIframeContainer {border-color: #bbb} diff --git a/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/source_editor.htm b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/source_editor.htm new file mode 100644 index 0000000000..cdb64cd1a8 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/themes/standard/source_editor.htm @@ -0,0 +1,32 @@ + + + + {#standard_dlg.code_title} + + + + + +
    +
    {#standard_dlg.code_title}
    + +
    + +
    + +
    + + + +
    +
    + +
    + +
    + +
    +
    +
    + + diff --git a/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js b/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js new file mode 100644 index 0000000000..8b298c521f --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce.js @@ -0,0 +1 @@ +var tinymce={majorVersion:'3',minorVersion:'0.5',releaseDate:'2008-03-12',_init:function(){var t=this,ua=navigator.userAgent,i,nl,n,base;t.isOpera=window.opera&&opera.buildNumber;t.isWebKit=/WebKit/.test(ua);t.isOldWebKit=t.isWebKit&&!window.getSelection().getRangeAt;t.isIE=!t.isWebKit&&!t.isOpera&&(/MSIE/gi).test(ua)&&(/Explorer/gi).test(navigator.appName);t.isIE6=t.isIE&&/MSIE [56]/.test(ua);t.isGecko=!t.isWebKit&&/Gecko/.test(ua);t.isMac=ua.indexOf('Mac')!=-1;if(window.tinyMCEPreInit){t.suffix=tinyMCEPreInit.suffix;t.baseURL=tinyMCEPreInit.base;return;}t.suffix='';nl=document.getElementsByTagName('base');for(i=0;i=items.length){for(i=0;i=items.length||base[i]!=items[i]){bp=i+1;break;}}}if(base.length=base.length||base[i]!=items[i]){bp=i+1;break;}}}if(bp==1)return path;for(i=0;i=0;i--){if(path[i].length==0||path[i]==".")continue;if(path[i]=='..'){nb++;continue;}if(nb>0){nb--;continue;}o.push(path[i]);}i=base.length-nb;if(i<=0)return'/'+o.reverse().join('/');return'/'+base.slice(0,i).join('/')+'/'+o.reverse().join('/');},getURI:function(nh){var s,t=this;if(!t.source||nh){s='';if(!nh){if(t.protocol)s+=t.protocol+'://';if(t.userInfo)s+=t.userInfo+'@';if(t.host)s+=t.host;if(t.port)s+=':'+t.port;}if(t.path)s+=t.path;if(t.query)s+='?'+t.query;if(t.anchor)s+='#'+t.anchor;t.source=s;}return t.source;}});})();(function(){var each=tinymce.each;tinymce.create('static tinymce.util.Cookie',{getHash:function(n){var v=this.get(n),h;if(v){each(v.split('&'),function(v){v=v.split('=');h=h||{};h[unescape(v[0])]=unescape(v[1]);});}return h;},setHash:function(n,v,e,p,d,s){var o='';each(v,function(v,k){o+=(!o?'':'&')+escape(k)+'='+escape(v);});this.set(n,o,e,p,d,s);},get:function(n){var c=document.cookie,e,p=n+"=",b;if(!c)return;b=c.indexOf("; "+p);if(b==-1){b=c.indexOf(p);if(b!=0)return null;}else b+=2;e=c.indexOf(";",b);if(e==-1)e=c.length;return unescape(c.substring(b+p.length,e));},set:function(n,v,e,p,d,s){document.cookie=n+"="+escape(v)+((e)?"; expires="+e.toGMTString():"")+((p)?"; path="+escape(p):"")+((d)?"; domain="+d:"")+((s)?"; secure":"");},remove:function(n,p){var d=new Date();d.setTime(d.getTime()-1000);this.set(n,'',d,p,d);}});})();tinymce.create('static tinymce.util.JSON',{serialize:function(o){var i,v,s=tinymce.util.JSON.serialize,t;if(o==null)return'null';t=typeof o;if(t=='string'){v='\bb\tt\nn\ff\rr\""\'\'\\\\';return'"'+o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'])/g,function(a,b){i=v.indexOf(b);if(i+1)return'\\'+v.charAt(i+1);a=b.charCodeAt().toString(16);return'\\u'+'0000'.substring(a.length)+a;})+'"';}if(t=='object'){if(o instanceof Array){for(i=0,v='[';i0?',':'')+s(o[i]);return v+']';}v='{';for(i in o)v+=typeof o[i]!='function'?(v.length>1?',"':'"')+i+'":'+s(o[i]):'';return v+'}';}return''+o;},parse:function(s){try{return eval('('+s+')');}catch(ex){}}});tinymce.create('static tinymce.util.XHR',{send:function(o){var x,t,w=window,c=0;o.scope=o.scope||this;o.success_scope=o.success_scope||o.scope;o.error_scope=o.error_scope||o.scope;o.async=o.async===false?false:true;o.data=o.data||'';function get(s){x=0;try{x=new ActiveXObject(s);}catch(ex){}return x;};x=w.XMLHttpRequest?new XMLHttpRequest():get('Microsoft.XMLHTTP')||get('Msxml2.XMLHTTP');if(x){if(x.overrideMimeType)x.overrideMimeType(o.content_type);x.open(o.type||(o.data?'POST':'GET'),o.url,o.async);if(o.content_type)x.setRequestHeader('Content-Type',o.content_type);x.send(o.data);t=w.setInterval(function(){if(x.readyState==4||c++>10000){w.clearInterval(t);if(o.success&&c<10000&&x.status==200)o.success.call(o.success_scope,''+x.responseText,x,o);else if(o.error)o.error.call(o.error_scope,c>10000?'TIMED_OUT':'GENERAL',x,o);x=null;}},10);}}});(function(){var extend=tinymce.extend,JSON=tinymce.util.JSON,XHR=tinymce.util.XHR;tinymce.create('tinymce.util.JSONRequest',{JSONRequest:function(s){this.settings=extend({},s);this.count=0;},send:function(o){var ecb=o.error,scb=o.success;o=extend(this.settings,o);o.success=function(c,x){c=JSON.parse(c);if(typeof(c)=='undefined'){c={error:'JSON Parse error.'};}if(c.error)ecb.call(o.error_scope||o.scope,c.error,x);else scb.call(o.success_scope||o.scope,c.result);};o.error=function(ty,x){ecb.call(o.error_scope||o.scope,ty,x);};o.data=JSON.serialize({id:o.id||'c'+(this.count++),method:o.method,params:o.params});o.content_type='application/json';XHR.send(o);},'static':{sendRPC:function(o){return new tinymce.util.JSONRequest().send(o);}}});}());(function(){var each=tinymce.each,is=tinymce.is;var isWebKit=tinymce.isWebKit,isIE=tinymce.isIE;tinymce.create('tinymce.dom.DOMUtils',{doc:null,root:null,files:null,listeners:{},pixelStyles:/^(top|left|bottom|right|width|height|borderWidth)$/,cache:{},idPattern:/^#[\w]+$/,elmPattern:/^[\w_*]+$/,elmClassPattern:/^([\w_]*)\.([\w_]+)$/,DOMUtils:function(d,s){var t=this;t.doc=d;t.files={};t.cssFlicker=false;t.counter=0;t.boxModel=!tinymce.isIE||d.compatMode=="CSS1Compat";t.stdMode=d.documentMode===8;this.settings=s=tinymce.extend({keep_values:false,hex_colors:1,process_html:1},s);if(tinymce.isIE6){try{d.execCommand('BackgroundImageCache',false,true);}catch(e){t.cssFlicker=true;}}tinymce.addUnload(function(){t.doc=t.root=null;});},getRoot:function(){var t=this,s=t.settings;return(s&&t.get(s.root_element))||t.doc.body;},getViewPort:function(w){var d,b;w=!w?window:w;d=w.document;b=this.boxModel?d.documentElement:d.body;return{x:w.pageXOffset||b.scrollLeft,y:w.pageYOffset||b.scrollTop,w:w.innerWidth||b.clientWidth,h:w.innerHeight||b.clientHeight};},getRect:function(e){var p,t=this,w,h;e=t.get(e);p=t.getPos(e);w=t.getStyle(e,'width');h=t.getStyle(e,'height');if(w.indexOf('px')===-1)w=0;if(h.indexOf('px')===-1)h=0;return{x:p.x,y:p.y,w:parseInt(w)||e.offsetWidth||e.clientWidth,h:parseInt(h)||e.offsetHeight||e.clientHeight};},getParent:function(n,f,r){var na,se=this.settings;n=this.get(n);if(se.strict_root)r=r||this.getRoot();if(is(f,'string')){na=f.toUpperCase();f=function(n){var s=false;if(n.nodeType==1&&na==='*'){s=true;return false;}each(na.split(','),function(v){if(n.nodeType==1&&((se.strict&&n.nodeName.toUpperCase()==v)||n.nodeName==v)){s=true;return false;}});return s;};}while(n){if(n==r)return null;if(f(n))return n;n=n.parentNode;}return null;},get:function(e){var n;if(typeof(e)=='string'){n=e;e=this.doc.getElementById(e);if(e&&e.id!==n)return this.doc.getElementsByName(n)[1];}return e;},select:function(pa,s){var t=this,cs,c,pl,o=[],x,i,l,n;s=t.get(s)||t.doc;if(s.querySelectorAll){if(s!=t.doc){i=s.id;s.id='_mc_tmp';pa='#_mc_tmp '+pa;}l=tinymce.grep(s.querySelectorAll(pa));if(i)s.id=i;return l;}if(t.settings.strict){function get(s,n){return s.getElementsByTagName(n.toLowerCase());};}else{function get(s,n){return s.getElementsByTagName(n);};}if(t.elmPattern.test(pa)){x=get(s,pa);for(i=0,l=x.length;i=0;i--)cs+='}, '+(i?'n':'s')+');';cs+='})';t.cache[pa]=cs=eval(cs);}cs(isIE?collectIE:collect,s);});each(o,function(n){if(isIE)n.removeAttribute('mce_save');else delete n.mce_save;});return o;},add:function(p,n,a,h,c){var t=this;return this.run(p,function(p){var e,k;e=is(n,'string')?t.doc.createElement(n):n;if(a){for(k in a){if(a.hasOwnProperty(k)&&!is(a[k],'object'))t.setAttrib(e,k,''+a[k]);}if(a.style&&!is(a.style,'string')){each(a.style,function(v,n){t.setStyle(e,n,v);});}}if(h){if(h.nodeType)e.appendChild(h);else t.setHTML(e,h);}return!c?p.appendChild(e):e;});},create:function(n,a,h){return this.add(this.doc.createElement(n),n,a,h,1);},createHTML:function(n,a,h){var o='',t=this,k;o+='<'+n;for(k in a){if(a.hasOwnProperty(k))o+=' '+k+'="'+t.encode(a[k])+'"';}if(tinymce.is(h))return o+'>'+h+'';return o+' />';},remove:function(n,k){return this.run(n,function(n){var p;p=n.parentNode;if(!p)return null;if(k){each(n.childNodes,function(c){p.insertBefore(c.cloneNode(true),n);});}return p.removeChild(n);});},setStyle:function(n,na,v){var t=this;return t.run(n,function(e){var s,i;s=e.style;na=na.replace(/-(\D)/g,function(a,b){return b.toUpperCase();});if(t.pixelStyles.test(na)&&(tinymce.is(v,'number')||/^[\-0-9\.]+$/.test(v)))v+='px';switch(na){case'opacity':if(isIE){s.filter=v===''?'':"alpha(opacity="+(v*100)+")";if(!n.currentStyle||!n.currentStyle.hasLayout)s.display='inline-block';}s[na]=s['-moz-opacity']=s['-khtml-opacity']=v||'';break;case'float':isIE?s.styleFloat=v:s.cssFloat=v;break;default:s[na]=v||'';}if(t.settings.update_styles)t.setAttrib(e,'mce_style');});},getStyle:function(n,na,c){n=this.get(n);if(!n)return false;if(this.doc.defaultView&&c){na=na.replace(/[A-Z]/g,function(a){return'-'+a;});try{return this.doc.defaultView.getComputedStyle(n,null).getPropertyValue(na);}catch(ex){return null;}}na=na.replace(/-(\D)/g,function(a,b){return b.toUpperCase();});if(na=='float')na=isIE?'styleFloat':'cssFloat';if(n.currentStyle&&c)return n.currentStyle[na];return n.style[na];},setStyles:function(e,o){var t=this,s=t.settings,ol;ol=s.update_styles;s.update_styles=0;each(o,function(v,n){t.setStyle(e,n,v);});s.update_styles=ol;if(s.update_styles)t.setAttrib(e,s.cssText);},setAttrib:function(e,n,v){var t=this;if(t.settings.strict)n=n.toLowerCase();return this.run(e,function(e){var s=t.settings;switch(n){case"style":if(s.keep_values){if(v)e.setAttribute('mce_style',v,2);else e.removeAttribute('mce_style',2);}e.style.cssText=v;break;case"class":e.className=v||'';break;case"src":case"href":if(s.keep_values){if(s.url_converter)v=s.url_converter.call(s.url_converter_scope||t,v,n,e);t.setAttrib(e,'mce_'+n,v,2);}break;}if(is(v)&&v!==null&&v.length!==0)e.setAttribute(n,''+v,2);else e.removeAttribute(n,2);});},setAttribs:function(e,o){var t=this;return this.run(e,function(e){each(o,function(v,n){t.setAttrib(e,n,v);});});},getAttrib:function(e,n,dv){var v,t=this;e=t.get(e);if(!e)return false;if(!is(dv))dv="";if(/^(src|href|style|coords)$/.test(n)){v=e.getAttribute("mce_"+n);if(v)return v;}v=e.getAttribute(n,2);if(!v){switch(n){case'class':v=e.className;break;default:if(isIE&&n==='name'&&e.nodeName==='A'){v=e.name;break;}v=e.attributes[n];v=v&&is(v.nodeValue)?v.nodeValue:v;}}switch(n){case'style':v=v||e.style.cssText;if(v){v=t.serializeStyle(t.parseStyle(v));if(t.settings.keep_values)e.setAttribute('mce_style',v);}break;}if(isWebKit&&n==="class"&&v)v=v.replace(/(apple|webkit)\-[a-z\-]+/gi,'');if(isIE){switch(n){case'rowspan':case'colspan':if(v===1)v='';break;case'size':if(v==='+0')v='';break;case'hspace':if(v===-1)v='';break;case'tabindex':if(v===32768)v='';break;case'shape':v=v.toLowerCase();break;default:if(n.indexOf('on')===0&&v)v=(''+v).replace(/^function\s+anonymous\(\)\s+\{\s+(.*)\s+\}$/,'$1');}}return(v&&v!='')?''+v:dv;},getPos:function(n){var t=this,x=0,y=0,e,d=t.doc,r;n=t.get(n);if(n&&isIE){n=n.getBoundingClientRect();e=t.boxModel?d.documentElement:d.body;x=t.getStyle(t.select('html')[0],'borderWidth');x=(x=='medium'||t.boxModel&&!t.isIE6)&&2||x;n.top+=window.self!=window.top?2:0;return{x:n.left+e.scrollLeft-x,y:n.top+e.scrollTop-x};}r=n;while(r){x+=r.offsetLeft||0;y+=r.offsetTop||0;r=r.offsetParent;}r=n;while(r){if(!/^table-row|inline.*/i.test(t.getStyle(r,"display",1))){x-=r.scrollLeft||0;y-=r.scrollTop||0;}r=r.parentNode;if(r==d.body)break;}return{x:x,y:y};},parseStyle:function(st){var t=this,s=t.settings,o={};if(!st)return o;function compress(p,s,ot){var t,r,b,l;t=o[p+'-top'+s];if(!t)return;r=o[p+'-right'+s];if(t!=r)return;b=o[p+'-bottom'+s];if(r!=b)return;l=o[p+'-left'+s];if(b!=l)return;o[ot]=l;delete o[p+'-top'+s];delete o[p+'-right'+s];delete o[p+'-bottom'+s];delete o[p+'-left'+s];};function compress2(ta,a,b,c){var t;t=o[a];if(!t)return;t=o[b];if(!t)return;t=o[c];if(!t)return;o[ta]=o[a]+' '+o[b]+' '+o[c];delete o[a];delete o[b];delete o[c];};each(st.split(';'),function(v){var sv,ur=[];if(v){v=v.replace(/url\([^\)]+\)/g,function(v){ur.push(v);return'url('+ur.length+')';});v=v.split(':');sv=tinymce.trim(v[1]);sv=sv.replace(/url\(([^\)]+)\)/g,function(a,b){return ur[parseInt(b)-1];});sv=sv.replace(/rgb\([^\)]+\)/g,function(v){return t.toHex(v);});if(s.url_converter){sv=sv.replace(/url\([\'\"]?([^\)\'\"]+)[\'\"]?\)/g,function(x,c){return'url('+t.encode(s.url_converter.call(s.url_converter_scope||t,t.decode(c),'style',null))+')';});}o[tinymce.trim(v[0]).toLowerCase()]=sv;}});compress("border","","border");compress("border","-width","border-width");compress("border","-color","border-color");compress("border","-style","border-style");compress("padding","","padding");compress("margin","","margin");compress2('border','border-width','border-style','border-color');if(isIE){if(o.border=='medium none')o.border='';}return o;},serializeStyle:function(o){var s='';each(o,function(v,k){if(k&&v){switch(k){case'color':case'background-color':v=v.toLowerCase();break;}s+=(s?' ':'')+k+': '+v+';';}});return s;},loadCSS:function(u){var t=this,d=this.doc;if(!u)u='';each(u.split(','),function(u){if(t.files[u])return;t.files[u]=true;t.add(t.select('head')[0],'link',{rel:'stylesheet',href:u});});},addClass:function(e,c){return this.run(e,function(e){var o;if(!c)return 0;if(this.hasClass(e,c))return e.className;o=this.removeClass(e,c);return e.className=(o!=''?(o+' '):'')+c;});},removeClass:function(e,c){var t=this,re;return t.run(e,function(e){var v;if(t.hasClass(e,c)){if(!re)re=new RegExp("(^|\\s+)"+c+"(\\s+|$)","g");v=e.className.replace(re,' ');return e.className=tinymce.trim(v!=' '?v:'');}return e.className;});},hasClass:function(n,c){n=this.get(n);if(!n||!c)return false;return(' '+n.className+' ').indexOf(' '+c+' ')!==-1;},show:function(e){return this.setStyle(e,'display','block');},hide:function(e){return this.setStyle(e,'display','none');},isHidden:function(e){e=this.get(e);return e.style.display=='none'||this.getStyle(e,'display')=='none';},uniqueId:function(p){return(!p?'mce_':p)+(this.counter++);},setHTML:function(e,h){var t=this;return this.run(e,function(e){var x,i,nl,n,p,x;h=t.processHTML(h);if(isIE){function set(){try{e.innerHTML='
    '+h;e.removeChild(e.firstChild);}catch(ex){while(e.firstChild)e.firstChild.removeNode();x=t.create('div');x.innerHTML='
    '+h;each(x.childNodes,function(n,i){if(i)e.appendChild(n);});}};if(t.settings.fix_ie_paragraphs)h=h.replace(/

    <\/p>|]+)><\/p>|/gi,' 

    ');set();if(t.settings.fix_ie_paragraphs){nl=e.getElementsByTagName("p");for(i=nl.length-1,x=0;i>=0;i--){n=nl[i];if(!n.hasChildNodes()){if(!n.mce_keep){x=1;break;}n.removeAttribute('mce_keep');}}}if(x){h=h.replace(/]+)>|

    /g,'');h=h.replace(/<\/p>/g,'');set();if(t.settings.fix_ie_paragraphs){nl=e.getElementsByTagName("DIV");for(i=nl.length-1;i>=0;i--){n=nl[i];if(n.mce_tmp){p=t.doc.createElement('p');n.cloneNode(false).outerHTML.replace(/([a-z0-9\-_]+)=/gi,function(a,b){var v;if(b!=='mce_tmp'){v=n.getAttribute(b);if(!v&&b==='class')v=n.className;p.setAttribute(b,v);}});for(x=0;x|]+)>/gi,'<$1b$2>');h=h.replace(/<(\/?)em>|]+)>/gi,'<$1i$2>');}h=h.replace(/]+)\/>|/gi,'');if(s.keep_values){if(h.indexOf('/g,'';bi=s.body_id||'tinymce';if(bi.indexOf('=')!=-1){bi=t.getParam('body_id','','hash');bi=bi[t.id]||bi;}bc=s.body_class||'';if(bc.indexOf('=')!=-1){bc=t.getParam('body_class','','hash');bc=bc[t.id]||'';}t.iframeHTML+='';if(tinymce.relaxedDomain){if(isIE)u='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinyMCE.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()';else if(tinymce.isOpera)u='javascript:(function(){document.open();document.domain="'+document.domain+'";document.close();ed.setupIframe();})()';}n=DOM.add(o.iframeContainer,'iframe',{id:t.id+"_ifr",src:u||'javascript:""',frameBorder:'0',style:{width:'100%',height:h}});t.contentAreaContainer=o.iframeContainer;DOM.get(o.editorContainer).style.display=t.orgDisplay;DOM.get(t.id).style.display='none';if(tinymce.isOldWebKit){Event.add(n,'load',t.setupIframe,t);n.src=tinymce.baseURL+'/plugins/safari/blank.htm';}else{if(!isIE||!tinymce.relaxedDomain)t.setupIframe();e=n=o=null;}},setupIframe:function(){var t=this,s=t.settings,e=DOM.get(t.id),d=t.getDoc(),h;if(!isIE||!tinymce.relaxedDomain){d.open();d.write(t.iframeHTML);d.close();}if(!isIE){try{d.designMode='On';}catch(ex){}}if(isIE)t.getBody().contentEditable=true;t.dom=new tinymce.DOM.DOMUtils(t.getDoc(),{keep_values:true,url_converter:t.convertURL,url_converter_scope:t,hex_colors:s.force_hex_style_colors,class_filter:s.class_filter,update_styles:1,fix_ie_paragraphs:1});t.serializer=new tinymce.dom.Serializer({entity_encoding:s.entity_encoding,entities:s.entities,valid_elements:s.verify_html===false?'*[*]':s.valid_elements,extended_valid_elements:s.extended_valid_elements,valid_child_elements:s.valid_child_elements,invalid_elements:s.invalid_elements,fix_table_elements:s.fix_table_elements,fix_list_elements:s.fix_list_elements,fix_content_duplication:s.fix_content_duplication,convert_fonts_to_spans:s.convert_fonts_to_spans,font_size_classes:s.font_size_classes,font_size_style_values:s.font_size_style_values,apply_source_formatting:s.apply_source_formatting,remove_linebreaks:s.remove_linebreaks,dom:t.dom});t.selection=new tinymce.dom.Selection(t.dom,t.getWin(),t.serializer);t.forceBlocks=new tinymce.ForceBlocks(t,{forced_root_block:s.forced_root_block});t.editorCommands=new tinymce.EditorCommands(t);t.serializer.onPreProcess.add(function(se,o){return t.onPreProcess.dispatch(t,o,se);});t.serializer.onPostProcess.add(function(se,o){return t.onPostProcess.dispatch(t,o,se);});t.onPreInit.dispatch(t);if(!s.gecko_spellcheck)t.getBody().spellcheck=0;t._addEvents();t.controlManager.onPostRender.dispatch(t,t.controlManager);t.onPostRender.dispatch(t);if(s.directionality)t.getBody().dir=s.directionality;if(s.nowrap)t.getBody().style.whiteSpace="nowrap";if(s.auto_resize)t.onNodeChange.add(t.resizeToContent,t);if(s.custom_elements){function handleCustom(ed,o){each(explode(s.custom_elements),function(v){var n;if(v.indexOf('~')===0){v=v.substring(1);n='span';}else n='div';o.content=o.content.replace(new RegExp('<('+v+')([^>]*)>','g'),'<'+n+' mce_name="$1"$2>');o.content=o.content.replace(new RegExp('','g'),'');});};t.onBeforeSetContent.add(handleCustom);t.onPostProcess.add(function(ed,o){if(o.set)handleCustom(ed,o)});}if(s.handle_node_change_callback){t.onNodeChange.add(function(ed,cm,n){t.execCallback('handle_node_change_callback',t.id,n,-1,-1,true,t.selection.isCollapsed());});}if(s.save_callback){t.onSaveContent.add(function(ed,o){var h=t.execCallback('save_callback',t.id,o.content,t.getBody());if(h)o.content=h;});}if(s.onchange_callback){t.onChange.add(function(ed,l){t.execCallback('onchange_callback',t,l);});}if(s.convert_newlines_to_brs){t.onBeforeSetContent.add(function(ed,o){if(o.initial)o.content=o.content.replace(/\r?\n/g,'
    ');});}if(s.fix_nesting&&isIE){t.onBeforeSetContent.add(function(ed,o){o.content=t._fixNesting(o.content);});}if(s.preformatted){t.onPostProcess.add(function(ed,o){o.content=o.content.replace(/^\s*/,'');o.content=o.content.replace(/<\/pre>\s*$/,'');if(o.set)o.content='

    '+o.content+'
    ';});}if(s.verify_css_classes){t.serializer.attribValueFilter=function(n,v){var s,cl;if(n=='class'){if(!t.classesRE){cl=t.dom.getClasses();if(cl.length>0){s='';each(cl,function(o){s+=(s?'|':'')+o['class'];});t.classesRE=new RegExp('('+s+')','gi');}}return!t.classesRE||/(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(v)||t.classesRE.test(v)?v:'';}return v;};}if(s.convert_fonts_to_spans)t._convertFonts();if(s.inline_styles)t._convertInlineElements();if(s.cleanup_callback){t.onBeforeSetContent.add(function(ed,o){o.content=t.execCallback('cleanup_callback','insert_to_editor',o.content,o);});t.onPreProcess.add(function(ed,o){if(o.set)t.execCallback('cleanup_callback','insert_to_editor_dom',o.node,o);if(o.get)t.execCallback('cleanup_callback','get_from_editor_dom',o.node,o);});t.onPostProcess.add(function(ed,o){if(o.set)o.content=t.execCallback('cleanup_callback','insert_to_editor',o.content,o);if(o.get)o.content=t.execCallback('cleanup_callback','get_from_editor',o.content,o);});}if(s.save_callback){t.onGetContent.add(function(ed,o){if(o.save)o.content=t.execCallback('save_callback',t.id,o.content,t.getBody());});}if(s.handle_event_callback){t.onEvent.add(function(ed,e,o){if(t.execCallback('handle_event_callback',e,ed,o)===false)Event.cancel(e);});}t.onSetContent.add(function(){t.addVisual(t.getBody());});if(s.padd_empty_editor){t.onPostProcess.add(function(ed,o){o.content=o.content.replace(/^

    ( |#160;|\s)<\/p>$/,'');});}if(isGecko){try{d.designMode='Off';d.designMode='On';}catch(ex){}}setTimeout(function(){if(t.removed)return;t.load({initial:true,format:(s.cleanup_on_startup?'html':'raw')});t.startContent=t.getContent({format:'raw'});t.undoManager.add({initial:true});t.initialized=true;t.onInit.dispatch(t);t.execCallback('setupcontent_callback',t.id,t.getBody(),t.getDoc());t.execCallback('init_instance_callback',t);t.focus(true);t.nodeChanged({initial:1});if(s.content_css){tinymce.each(explode(s.content_css),function(u){t.dom.loadCSS(t.documentBaseURI.toAbsolute(u));});}if(s.auto_focus){setTimeout(function(){var ed=EditorManager.get(s.auto_focus);ed.selection.select(ed.getBody(),1);ed.selection.collapse(1);ed.getWin().focus();},100);}},1);e=null;},focus:function(sf){var oed,t=this;if(!sf){t.getWin().focus();}if(EditorManager.activeEditor!=t){if((oed=EditorManager.activeEditor)!=null)oed.onDeactivate.dispatch(oed,t);t.onActivate.dispatch(t,oed);}EditorManager._setActive(t);},execCallback:function(n){var t=this,f=t.settings[n],s;if(!f)return;if(t.callbackLookup&&(s=t.callbackLookup[n])){f=s.func;s=s.scope;}if(is(f,'string')){s=f.replace(/\.\w+$/,'');s=s?tinymce.resolve(s):0;f=tinymce.resolve(f);t.callbackLookup=t.callbackLookup||{};t.callbackLookup[n]={func:f,scope:s};}return f.apply(s||t,Array.prototype.slice.call(arguments,1));},translate:function(s){var c=this.settings.language,i18n=EditorManager.i18n;if(!s)return'';return i18n[c+'.'+s]||s.replace(/{\#([^}]+)\}/g,function(a,b){return i18n[c+'.'+b]||'{#'+b+'}';});},getLang:function(n,dv){return EditorManager.i18n[this.settings.language+'.'+n]||(is(dv)?dv:'{#'+n+'}');},getParam:function(n,dv,ty){var tr=tinymce.trim,v=is(this.settings[n])?this.settings[n]:dv,o;if(ty==='hash'){o={};if(is(v,'string')){each(v.split(/[;,]/),function(v){v=v.split('=');if(v.length>1)o[tr(v[0])]=tr(v[1]);else o[tr(v[0])]=tr(v);});}else o=v;return o;}return v;},nodeChanged:function(o){var t=this,s=t.selection,n=s.getNode()||t.getBody();if(t.initialized){t.onNodeChange.dispatch(t,o?o.controlManager||t.controlManager:t.controlManager,isIE&&n.ownerDocument!=t.getDoc()?t.getBody():n,s.isCollapsed(),o);}},addButton:function(n,s){var t=this;t.buttons=t.buttons||{};t.buttons[n]=s;},addCommand:function(n,f,s){this.execCommands[n]={func:f,scope:s||this};},addQueryStateHandler:function(n,f,s){this.queryStateCommands[n]={func:f,scope:s||this};},addQueryValueHandler:function(n,f,s){this.queryValueCommands[n]={func:f,scope:s||this};},addShortcut:function(pa,desc,cmd_func,sc){var t=this,c;if(!t.settings.custom_shortcuts)return false;t.shortcuts=t.shortcuts||{};if(is(cmd_func,'string')){c=cmd_func;cmd_func=function(){t.execCommand(c,false,null);};}if(is(cmd_func,'object')){c=cmd_func;cmd_func=function(){t.execCommand(c[0],c[1],c[2]);};}each(explode(pa),function(pa){var o={func:cmd_func,scope:sc||this,desc:desc,alt:false,ctrl:false,shift:false};each(explode(pa,'+'),function(v){switch(v){case'alt':case'ctrl':case'shift':o[v]=true;break;default:o.charCode=v.charCodeAt(0);o.keyCode=v.toUpperCase().charCodeAt(0);}});t.shortcuts[(o.ctrl?'ctrl':'')+','+(o.alt?'alt':'')+','+(o.shift?'shift':'')+','+o.keyCode]=o;});return true;},execCommand:function(cmd,ui,val,a){var t=this,s=0,o;if(!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(cmd)&&(!a||!a.skip_focus))t.focus();o={};t.onBeforeExecCommand.dispatch(t,cmd,ui,val,o);if(o.terminate)return false;if(t.execCallback('execcommand_callback',t.id,t.selection.getNode(),cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);return true;}if(o=t.execCommands[cmd]){s=o.func.call(o.scope,ui,val);t.onExecCommand.dispatch(t,cmd,ui,val,a);return s;}each(t.plugins,function(p){if(p.execCommand&&p.execCommand(cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);s=1;return false;}});if(s)return true;if(t.theme.execCommand&&t.theme.execCommand(cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);return true;}if(t.editorCommands.execCommand(cmd,ui,val)){t.onExecCommand.dispatch(t,cmd,ui,val,a);return true;}t.getDoc().execCommand(cmd,ui,val);t.onExecCommand.dispatch(t,cmd,ui,val,a);},queryCommandState:function(c){var t=this,o;if(t._isHidden())return;if(o=t.queryStateCommands[c])return o.func.call(o.scope);o=t.editorCommands.queryCommandState(c);if(o!==-1)return o;try{return this.getDoc().queryCommandState(c);}catch(ex){}},queryCommandValue:function(c){var t=this,o;if(t._isHidden())return;if(o=t.queryValueCommands[c])return o.func.call(o.scope);o=t.editorCommands.queryCommandValue(c);if(is(o))return o;try{return this.getDoc().queryCommandValue(c);}catch(ex){}},show:function(){var t=this;DOM.show(t.getContainer());DOM.hide(t.id);t.load();},hide:function(){var t=this,d=t.getDoc();if(isIE&&d)d.execCommand('SelectAll');t.save();DOM.hide(t.getContainer());DOM.setStyle(t.id,'display',t.orgDisplay);},isHidden:function(){return!DOM.isHidden(this.id);},setProgressState:function(b,ti,o){this.onSetProgressState.dispatch(this,b,ti,o);return b;},remove:function(){var t=this;t.removed=1;t.hide();DOM.remove(t.getContainer());t.execCallback('remove_instance_callback',t);t.onRemove.dispatch(t);t.onExecCommand.listeners=[];EditorManager.remove(t);},resizeToContent:function(){var t=this;DOM.setStyle(t.id+"_ifr",'height',t.getBody().scrollHeight);},load:function(o){var t=this,e=t.getElement(),h;o=o||{};o.load=true;h=t.setContent(is(e.value)?e.value:e.innerHTML,o);o.element=e;if(!o.no_events)t.onLoadContent.dispatch(t,o);o.element=e=null;return h;},save:function(o){var t=this,e=t.getElement(),h,f;if(!t.initialized)return;o=o||{};o.save=true;o.element=e;h=o.content=t.getContent(o);if(!o.no_events)t.onSaveContent.dispatch(t,o);h=o.content;if(!/TEXTAREA|INPUT/i.test(e.nodeName)){e.innerHTML=h;if(f=DOM.getParent(t.id,'form')){each(f.elements,function(e){if(e.name==t.id){e.value=h;return false;}});}}else e.value=h;o.element=e=null;return h;},setContent:function(h,o){var t=this;o=o||{};o.format=o.format||'html';o.set=true;o.content=h;if(!o.no_events)t.onBeforeSetContent.dispatch(t,o);if(!tinymce.isIE&&(h.length===0||/^\s+$/.test(h))){o.content=t.dom.setHTML(t.getBody(),'
    ',1);o.format='raw';}o.content=t.dom.setHTML(t.getBody(),tinymce.trim(o.content));if(o.format!='raw'&&t.settings.cleanup){o.getInner=true;o.content=t.dom.setHTML(t.getBody(),t.serializer.serialize(t.getBody(),o));}if(!o.no_events)t.onSetContent.dispatch(t,o);return o.content;},getContent:function(o){var t=this,h;o=o||{};o.format=o.format||'html';o.get=true;if(!o.no_events)t.onBeforeGetContent.dispatch(t,o);if(o.format!='raw'&&t.settings.cleanup){o.getInner=true;h=t.serializer.serialize(t.getBody(),o);}else h=t.getBody().innerHTML;h=h.replace(/^\s*|\s*$/g,'');o={content:h};t.onGetContent.dispatch(t,o);return o.content;},isDirty:function(){var t=this;return tinymce.trim(t.startContent)!=tinymce.trim(t.getContent({format:'raw',no_events:1}))&&!t.isNotDirty;},getContainer:function(){var t=this;if(!t.container)t.container=DOM.get(t.editorContainer||t.id+'_parent');return t.container;},getContentAreaContainer:function(){return this.contentAreaContainer;},getElement:function(){return DOM.get(this.settings.content_element||this.id);},getWin:function(){var t=this,e;if(!t.contentWindow){e=DOM.get(t.id+"_ifr");if(e)t.contentWindow=e.contentWindow;}return t.contentWindow;},getDoc:function(){var t=this,w;if(!t.contentDocument){w=t.getWin();if(w)t.contentDocument=w.document;}return t.contentDocument;},getBody:function(){return this.bodyElement||this.getDoc().body;},convertURL:function(u,n,e){var t=this,s=t.settings;if(s.urlconverter_callback)return t.execCallback('urlconverter_callback',u,e,true,n);if(!s.convert_urls||(e&&e.nodeName=='LINK')||u.indexOf('file:')===0)return u;if(s.relative_urls)return t.documentBaseURI.toRelative(u);u=t.documentBaseURI.toAbsolute(u,s.remove_script_host);return u;},addVisual:function(e){var t=this,s=t.settings;e=e||t.getBody();if(!is(t.hasVisual))t.hasVisual=s.visual;each(t.dom.select('table,a',e),function(e){var v;switch(e.nodeName){case'TABLE':v=t.dom.getAttrib(e,'border');if(!v||v=='0'){if(t.hasVisual)t.dom.addClass(e,s.visual_table_class);else t.dom.removeClass(e,s.visual_table_class);}return;case'A':v=t.dom.getAttrib(e,'name');if(v){if(t.hasVisual)t.dom.addClass(e,'mceItemAnchor');else t.dom.removeClass(e,'mceItemAnchor');}return;}});t.onVisualAid.dispatch(t,e,t.hasVisual);},_addEvents:function(){var t=this,i,s=t.settings,lo={mouseup:'onMouseUp',mousedown:'onMouseDown',click:'onClick',keyup:'onKeyUp',keydown:'onKeyDown',keypress:'onKeyPress',submit:'onSubmit',reset:'onReset',contextmenu:'onContextMenu',dblclick:'onDblClick',paste:'onPaste'};function eventHandler(e,o){var ty=e.type;if(t.removed)return;if(t.onEvent.dispatch(t,e,o)!==false){t[lo[e.fakeType||e.type]].dispatch(t,e,o);}};each(lo,function(v,k){switch(k){case'contextmenu':if(tinymce.isOpera){Event.add(t.getDoc(),'mousedown',function(e){if(e.ctrlKey){e.fakeType='contextmenu';eventHandler(e);}});}else Event.add(t.getDoc(),k,eventHandler);break;case'paste':Event.add(t.getBody(),k,function(e){var tx,h,el,r;if(e.clipboardData)tx=e.clipboardData.getData('text/plain');else if(tinymce.isIE)tx=t.getWin().clipboardData.getData('Text');eventHandler(e,{text:tx,html:h});});break;case'submit':case'reset':Event.add(t.getElement().form||DOM.getParent(t.id,'form'),k,eventHandler);break;default:Event.add(s.content_editable?t.getBody():t.getDoc(),k,eventHandler);}});Event.add(s.content_editable?t.getBody():(isGecko?t.getDoc():t.getWin()),'focus',function(e){t.focus(true);});if(tinymce.isGecko){Event.add(t.getDoc(),'DOMNodeInserted',function(e){var v;e=e.target;if(e.nodeType===1&&e.nodeName==='IMG'&&(v=e.getAttribute('mce_src')))e.src=t.documentBaseURI.toAbsolute(v);});}if(isGecko){function setOpts(){var t=this,d=t.getDoc(),s=t.settings;if(isGecko){if(t._isHidden()){try{if(!s.content_editable)d.designMode='On';}catch(ex){}}try{d.execCommand("styleWithCSS",0,false);}catch(ex){if(!t._isHidden())d.execCommand("useCSS",0,true);}if(!s.table_inline_editing)try{d.execCommand('enableInlineTableEditing',false,false);}catch(ex){}if(!s.object_resizing)try{d.execCommand('enableObjectResizing',false,false);}catch(ex){}}};t.onBeforeExecCommand.add(setOpts);t.onMouseDown.add(setOpts);}t.onMouseUp.add(t.nodeChanged);t.onClick.add(t.nodeChanged);t.onKeyUp.add(function(ed,e){if((e.keyCode>=33&&e.keyCode<=36)||(e.keyCode>=37&&e.keyCode<=40)||e.keyCode==13||e.keyCode==45||e.keyCode==46||e.keyCode==8||e.ctrlKey)t.nodeChanged();});t.onReset.add(function(){t.setContent(t.startContent,{format:'raw'});});if(t.getParam('tab_focus')){function tabCancel(ed,e){if(e.keyCode===9)return Event.cancel(e);};function tabHandler(ed,e){var x,i,f,el,v;function find(d){f=DOM.getParent(ed.id,'form');el=f.elements;if(f){each(el,function(e,i){if(e.id==ed.id){x=i;return false;}});if(d>0){for(i=x+1;i=0;i--){if(el[i].type!='hidden')return el[i];}}}return null;};if(e.keyCode===9){v=explode(ed.getParam('tab_focus'));if(v.length==1){v[1]=v[0];v[0]=':prev';}if(e.shiftKey){if(v[0]==':prev')el=find(-1);else el=DOM.get(v[0]);}else{if(v[1]==':next')el=find(1);else el=DOM.get(v[1]);}if(el){if(ed=EditorManager.get(el.id||el.name))ed.focus();else window.setTimeout(function(){window.focus();el.focus();},10);return Event.cancel(e);}}};t.onKeyUp.add(tabCancel);if(isGecko){t.onKeyPress.add(tabHandler);t.onKeyDown.add(tabCancel);}else t.onKeyDown.add(tabHandler);}if(s.custom_shortcuts){if(s.custom_undo_redo_keyboard_shortcuts){t.addShortcut('ctrl+z',t.getLang('undo_desc'),'Undo');t.addShortcut('ctrl+y',t.getLang('redo_desc'),'Redo');}if(isGecko){t.addShortcut('ctrl+b',t.getLang('bold_desc'),'Bold');t.addShortcut('ctrl+i',t.getLang('italic_desc'),'Italic');t.addShortcut('ctrl+u',t.getLang('underline_desc'),'Underline');}for(i=1;i<=6;i++)t.addShortcut('ctrl+'+i,'',['FormatBlock',false,'']);t.addShortcut('ctrl+7','',['FormatBlock',false,'

    ']);t.addShortcut('ctrl+8','',['FormatBlock',false,'

    ']);t.addShortcut('ctrl+9','',['FormatBlock',false,'
    ']);function find(e){var v=null;if(!e.altKey&&!e.ctrlKey&&!e.metaKey)return v;each(t.shortcuts,function(o){if(o.ctrl!=e.ctrlKey&&(!tinymce.isMac||o.ctrl==e.metaKey))return;if(o.alt!=e.altKey)return;if(o.shift!=e.shiftKey)return;if(e.keyCode==o.keyCode||(e.charCode&&e.charCode==o.charCode)){v=o;return false;}});return v;};t.onKeyUp.add(function(ed,e){var o=find(e);if(o)return Event.cancel(e);});t.onKeyPress.add(function(ed,e){var o=find(e);if(o)return Event.cancel(e);});t.onKeyDown.add(function(ed,e){var o=find(e);if(o){o.func.call(o.scope);return Event.cancel(e);}});}if(tinymce.isIE){Event.add(t.getDoc(),'controlselect',function(e){var re=t.resizeInfo,cb;e=e.target;if(re)Event.remove(re.node,re.ev,re.cb);if(!t.dom.hasClass(e,'mceItemNoResize')){ev='resizeend';cb=Event.add(e,ev,function(e){var v;e=e.target;if(v=t.dom.getStyle(e,'width')){t.dom.setAttrib(e,'width',v.replace(/[^0-9%]+/g,''));t.dom.setStyle(e,'width','');}if(v=t.dom.getStyle(e,'height')){t.dom.setAttrib(e,'height',v.replace(/[^0-9%]+/g,''));t.dom.setStyle(e,'height','');}});}else{ev='resizestart';cb=Event.add(e,'resizestart',Event.cancel,Event);}re=t.resizeInfo={node:e,ev:ev,cb:cb};});t.onKeyDown.add(function(ed,e){switch(e.keyCode){case 8:if(t.selection.getRng().item){t.selection.getRng().item(0).removeNode();return Event.cancel(e);}}});}if(tinymce.isOpera){t.onClick.add(function(ed,e){Event.prevent(e);});}if(s.custom_undo_redo){function addUndo(){t.undoManager.typing=0;t.undoManager.add();};if(tinymce.isIE){Event.add(t.getWin(),'blur',function(e){var n;if(t.selection){n=t.selection.getNode();if(!t.removed&&n.ownerDocument&&n.ownerDocument!=t.getDoc())addUndo();}});}else{Event.add(t.getDoc(),'blur',function(){if(t.selection&&!t.removed)addUndo();});}t.onMouseDown.add(addUndo);t.onKeyUp.add(function(ed,e){if((e.keyCode>=33&&e.keyCode<=36)||(e.keyCode>=37&&e.keyCode<=40)||e.keyCode==13||e.keyCode==45||e.ctrlKey){t.undoManager.typing=0;t.undoManager.add();}});t.onKeyDown.add(function(ed,e){if((e.keyCode>=33&&e.keyCode<=36)||(e.keyCode>=37&&e.keyCode<=40)||e.keyCode==13||e.keyCode==45){if(t.undoManager.typing){t.undoManager.add();t.undoManager.typing=0;}return;}if(!t.undoManager.typing){t.undoManager.add();t.undoManager.typing=1;}});}},_destroy:function(){var t=this;if(t.formElement){t.formElement.submit=t.formElement._mceOldSubmit;t.formElement._mceOldSubmit=null;}t.contentAreaContainer=t.formElement=t.container=t.settings.content_element=t.bodyElement=t.contentDocument=t.contentWindow=null;if(t.selection)t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null;t.destroyed=1;},_convertInlineElements:function(){var t=this,s=t.settings,dom=t.dom,v,e,na,st,sp;function convert(ed,o){if(!s.inline_styles)return;if(o.get){each(t.dom.select('table,u,strike',o.node),function(n){switch(n.nodeName){case'TABLE':if(v=dom.getAttrib(n,'height')){dom.setStyle(n,'height',v);dom.setAttrib(n,'height','');}break;case'U':case'STRIKE':sp=dom.create('span',{style:dom.getAttrib(n,'style')});sp.style.textDecoration=n.nodeName=='U'?'underline':'line-through';dom.setAttrib(sp,'mce_style','');dom.replace(sp,n,1);break;}});}else if(o.set){each(t.dom.select('table,span',o.node),function(n){if(n.nodeName=='TABLE'){if(v=dom.getStyle(n,'height'))dom.setAttrib(n,'height',v.replace(/[^0-9%]+/g,''));}else{if(n.style.textDecoration=='underline')na='u';else if(n.style.textDecoration=='line-through')na='strike';else na='';if(na){n.style.textDecoration='';dom.setAttrib(n,'mce_style','');e=dom.create(na,{style:dom.getAttrib(n,'style')});dom.replace(e,n,1);}}});}};t.onPreProcess.add(convert);if(!s.cleanup_on_startup){t.onInit.add(function(){convert(t,{node:t.getBody(),set:1});});}},_convertFonts:function(){var t=this,s=t.settings,dom=t.dom,sl,cl,fz,fzn,v,i,st,x,nl,sp,f,n;if(!s.inline_styles)return;fz=[8,10,12,14,18,24,36];fzn=['xx-small','x-small','small','medium','large','x-large','xx-large'];if(sl=s.font_size_style_values)sl=explode(sl);if(cl=s.font_size_classes)cl=explode(cl);function convertToFonts(no){if(tinymce.isWebKit||!s.inline_styles)return;nl=t.dom.select('span',no);for(x=nl.length-1;x>=0;x--){n=nl[x];f=dom.create('font',{color:dom.toHex(dom.getStyle(n,'color')),face:dom.getStyle(n,'fontFamily'),style:dom.getAttrib(n,'style')});st=f.style;if(st.color||st.fontFamily){st.color=st.fontFamily='';dom.setAttrib(f,'mce_style','');}if(sl){i=inArray(sl,dom.getStyle(n,'fontSize'));if(i!=-1){dom.setAttrib(f,'size',''+(i+1||1));f.style.fontSize='';}}else if(cl){i=inArray(cl,dom.getAttrib(n,'class'));v=dom.getStyle(n,'fontSize');if(i==-1&&v.indexOf('pt')>0)i=inArray(fz,parseInt(v));if(i==-1)i=inArray(fzn,v);if(i!=-1){dom.setAttrib(f,'size',''+(i+1||1));f.style.fontSize='';}}if(f.color||f.face||f.size){f.style.fontFamily='';dom.setAttrib(f,'mce_style','');dom.replace(f,n,1);}}};t.onSetContent.add(function(ed,o){convertToFonts(ed.getBody());});t.onPreProcess.add(function(ed,o){if(!s.inline_styles)return;if(o.get){nl=t.dom.select('font',o.node);for(x=nl.length-1;x>=0;x--){n=nl[x];sp=dom.create('span',{style:dom.getAttrib(n,'style')});dom.setStyles(sp,{fontFamily:dom.getAttrib(n,'face'),color:dom.getAttrib(n,'color'),backgroundColor:n.style.backgroundColor});if(n.size){if(sl)dom.setStyle(sp,'fontSize',sl[parseInt(n.size)-1]);else dom.setAttrib(sp,'class',cl[parseInt(n.size)-1]);}dom.setAttrib(sp,'mce_style','');dom.replace(sp,n,1);}}});},_isHidden:function(){var s;if(!isGecko)return 0;s=this.selection.getSel();return(!s||!s.rangeCount||s.rangeCount==0);},_fixNesting:function(s){var d=[],i;s=s.replace(/<(\/)?([^\s>]+)[^>]*?>/g,function(a,b,c){var e;if(b==='/'){if(!d.length)return'';if(c!==d[d.length-1].tag){for(i=d.length-1;i>=0;i--){if(d[i].tag===c){d[i].close=1;break;}}return'';}else{d.pop();if(d.length&&d[d.length-1].close){a=a+'';d.pop();}}}else{if(/^(br|hr|input|meta|img|link|param)$/i.test(c))return a;if(/\/>$/.test(a))return a;d.push({tag:c});}return a;});for(i=d.length-1;i>=0;i--)s+='';return s;}});})();(function(){var each=tinymce.each,isIE=tinymce.isIE,isGecko=tinymce.isGecko,isOpera=tinymce.isOpera,isWebKit=tinymce.isWebKit;tinymce.create('tinymce.EditorCommands',{EditorCommands:function(ed){this.editor=ed;},execCommand:function(cmd,ui,val){var t=this,ed=t.editor,f;switch(cmd){case'Cut':case'Copy':case'Paste':try{ed.getDoc().execCommand(cmd,ui,val);}catch(ex){if(isGecko){ed.windowManager.confirm(ed.getLang('clipboard_msg'),function(s){if(s)window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html','mceExternal');});}else ed.windowManager.alert(ed.getLang('clipboard_no_support'));}return true;case'mceResetDesignMode':case'mceBeginUndoLevel':return true;case'unlink':t.UnLink();return true;case'JustifyLeft':case'JustifyCenter':case'JustifyRight':case'JustifyFull':t.mceJustify(cmd,cmd.substring(7).toLowerCase());return true;case'mceEndUndoLevel':case'mceAddUndoLevel':ed.undoManager.add();return true;default:f=this[cmd];if(f){f.call(this,ui,val);return true;}}return false;},Indent:function(){var ed=this.editor,d=ed.dom,s=ed.selection,e,iv,iu;iv=ed.settings.indentation;iu=/[a-z%]+$/i.exec(iv);iv=parseInt(iv);if(ed.settings.inline_styles&&(!this.queryStateInsertUnorderedList()&&!this.queryStateInsertOrderedList())){each(this._getSelectedBlocks(),function(e){d.setStyle(e,'paddingLeft',(parseInt(e.style.paddingLeft||0)+iv)+iu);});return;}ed.getDoc().execCommand('Indent',false,null);if(isIE){d.getParent(s.getNode(),function(n){if(n.nodeName=='BLOCKQUOTE'){n.dir=n.style.cssText='';}});}},Outdent:function(){var ed=this.editor,d=ed.dom,s=ed.selection,e,v,iv,iu;iv=ed.settings.indentation;iu=/[a-z%]+$/i.exec(iv);iv=parseInt(iv);if(ed.settings.inline_styles&&(!this.queryStateInsertUnorderedList()&&!this.queryStateInsertOrderedList())){each(this._getSelectedBlocks(),function(e){v=Math.max(0,parseInt(e.style.paddingLeft||0)-iv);d.setStyle(e,'paddingLeft',v?v+iu:'');});return;}ed.getDoc().execCommand('Outdent',false,null);},mceSetAttribute:function(u,v){var ed=this.editor,d=ed.dom,e;if(e=d.getParent(ed.selection.getNode(),d.isBlock))d.setAttrib(e,v.name,v.value);},mceSetContent:function(u,v){this.editor.setContent(v);},mceToggleVisualAid:function(){var ed=this.editor;ed.hasVisual=!ed.hasVisual;ed.addVisual();},mceReplaceContent:function(u,v){var s=this.editor.selection;s.setContent(v.replace(/\{\$selection\}/g,s.getContent({format:'text'})));},mceInsertLink:function(u,v){var ed=this.editor,e=ed.dom.getParent(ed.selection.getNode(),'A');if(tinymce.is(v,'string'))v={href:v};function set(e){each(v,function(v,k){ed.dom.setAttrib(e,k,v);});};if(!e){ed.execCommand('CreateLink',false,'javascript:mctmp(0);');each(ed.dom.select('a'),function(e){if(e.href=='javascript:mctmp(0);')set(e);});}else{if(v.href)set(e);else ed.dom.remove(e,1);}},UnLink:function(){var ed=this.editor,s=ed.selection;if(s.isCollapsed())s.select(s.getNode());ed.getDoc().execCommand('unlink',false,null);s.collapse(0);},FontName:function(u,v){var t=this,ed=t.editor,s=ed.selection,e;if(!v){if(s.isCollapsed())s.select(s.getNode());t.RemoveFormat();}else ed.getDoc().execCommand('FontName',false,v);},queryCommandValue:function(c){var f=this['queryValue'+c];if(f)return f.call(this,c);return false;},queryCommandState:function(cmd){var f;switch(cmd){case'JustifyLeft':case'JustifyCenter':case'JustifyRight':case'JustifyFull':return this.queryStateJustify(cmd,cmd.substring(7).toLowerCase());default:if(f=this['queryState'+cmd])return f.call(this,cmd);}return-1;},queryValueFontSize:function(){var ed=this.editor,v=0,p;if(isOpera||isWebKit){if(p=ed.dom.getParent(ed.selection.getNode(),'FONT'))v=p.size;return v;}return ed.getDoc().queryCommandValue('FontSize');},queryValueFontName:function(){var ed=this.editor,v=0,p;if(p=ed.dom.getParent(ed.selection.getNode(),'FONT'))v=p.face;if(!v)v=ed.getDoc().queryCommandValue('FontName');return v;},mceJustify:function(c,v){var ed=this.editor,se=ed.selection,n=se.getNode(),nn=n.nodeName,bl,nb,dom=ed.dom,rm;if(ed.settings.inline_styles&&this.queryStateJustify(c,v))rm=1;bl=dom.getParent(n,ed.dom.isBlock);if(nn=='IMG'){if(v=='full')return;if(rm){if(v=='center')dom.setStyle(n.parentNode,'textAlign','');dom.setStyle(n,'float','');this.mceRepaint();return;}if(v=='center'){if(/^(TD|TH)$/.test(bl.nodeName))bl=0;if(!bl||bl.childNodes.length>1){nb=dom.create('p');nb.appendChild(n.cloneNode(false));if(bl)dom.insertAfter(nb,bl);else dom.insertAfter(nb,n);dom.remove(n);n=nb.firstChild;bl=nb;}dom.setStyle(bl,'textAlign',v);dom.setStyle(n,'float','');}else{dom.setStyle(n,'float',v);dom.setStyle(n.parentNode,'textAlign','');}this.mceRepaint();return;}if(ed.settings.inline_styles&&ed.settings.forced_root_block){if(rm)v='';each(this._getSelectedBlocks(dom.getParent(se.getStart(),dom.isBlock),dom.getParent(se.getEnd(),dom.isBlock)),function(e){dom.setAttrib(e,'align','');dom.setStyle(e,'textAlign',v=='full'?'justify':v);});return;}else if(!rm)ed.getDoc().execCommand(c,false,null);if(ed.settings.inline_styles){if(rm){dom.getParent(ed.selection.getNode(),function(n){if(n.style&&n.style.textAlign)dom.setStyle(n,'textAlign','');});return;}each(dom.select('*'),function(n){var v=n.align;if(v){if(v=='full')v='justify';dom.setStyle(n,'textAlign',v);dom.setAttrib(n,'align','');}});}},mceSetCSSClass:function(u,v){this.mceSetStyleInfo(0,{command:'setattrib',name:'class',value:v});},getSelectedElement:function(){var t=this,ed=t.editor,dom=ed.dom,se=ed.selection,r=se.getRng(),r1,r2,sc,ec,so,eo,e,sp,ep,re;if(se.isCollapsed()||r.item)return se.getNode();re=ed.settings.merge_styles_invalid_parents;if(tinymce.is(re,'string'))re=new RegExp(re,'i');if(isIE){r1=r.duplicate();r1.collapse(true);sc=r1.parentElement();r2=r.duplicate();r2.collapse(false);ec=r2.parentElement();if(sc!=ec){r1.move('character',1);sc=r1.parentElement();}if(sc==ec){r1=r.duplicate();r1.moveToElementText(sc);if(r1.compareEndPoints('StartToStart',r)==0&&r1.compareEndPoints('EndToEnd',r)==0)return re&&re.test(sc.nodeName)?null:sc;}}else{function getParent(n){return dom.getParent(n,function(n){return n.nodeType==1;});};sc=r.startContainer;ec=r.endContainer;so=r.startOffset;eo=r.endOffset;if(!r.collapsed){if(sc==ec){if(so-eo<2){if(sc.hasChildNodes()){sp=sc.childNodes[so];return re&&re.test(sp.nodeName)?null:sp;}}}}if(sc.nodeType!=3||ec.nodeType!=3)return null;if(so==0){sp=getParent(sc);if(sp&&sp.firstChild!=sc)sp=null;}if(so==sc.nodeValue.length){e=sc.nextSibling;if(e&&e.nodeType==1)sp=sc.nextSibling;}if(eo==0){e=ec.previousSibling;if(e&&e.nodeType==1)ep=e;}if(eo==ec.nodeValue.length){ep=getParent(ec);if(ep&&ep.lastChild!=ec)ep=null;}if(sp==ep)return re&&sp&&re.test(sp.nodeName)?null:sp;}return null;},InsertHorizontalRule:function(){if(isGecko||isIE)this.editor.selection.setContent('
    ');else this.editor.getDoc().execCommand('InsertHorizontalRule',false,'');},RemoveFormat:function(){var t=this,ed=t.editor,s=ed.selection,b;if(isWebKit)s.setContent(s.getContent({format:'raw'}).replace(/(<(span|b|i|strong|em|strike) [^>]+>|<(span|b|i|strong|em|strike)>|<\/(span|b|i|strong|em|strike)>|)/g,''),{format:'raw'});else ed.getDoc().execCommand('RemoveFormat',false,null);t.mceSetStyleInfo(0,{command:'removeformat'});ed.addVisual();},mceSetStyleInfo:function(u,v){var t=this,ed=t.editor,d=ed.getDoc(),dom=ed.dom,e,b,s=ed.selection,nn=v.wrapper||'span',b=s.getBookmark(),re;function set(n,e){if(n.nodeType==1){switch(v.command){case'setattrib':return dom.setAttrib(n,v.name,v.value);case'setstyle':return dom.setStyle(n,v.name,v.value);case'removeformat':return dom.setAttrib(n,'class','');}}};re=ed.settings.merge_styles_invalid_parents;if(tinymce.is(re,'string'))re=new RegExp(re,'i');if(e=t.getSelectedElement())set(e,1);else{d.execCommand('FontName',false,'__');each(isWebKit?dom.select('span'):dom.select('font'),function(n){var sp,e;if(dom.getAttrib(n,'face')=='__'||n.style.fontFamily==='__'){sp=dom.create(nn,{mce_new:'1'});set(sp);each(n.childNodes,function(n){sp.appendChild(n.cloneNode(true));});dom.replace(sp,n);}});}each(dom.select(nn).reverse(),function(n){var p=n.parentNode;dom.setAttrib(n,'mce_new','');if(!dom.getAttrib(n,'mce_new')){p=dom.getParent(n,function(n){return n.nodeType==1&&dom.getAttrib(n,'mce_new');});if(p)dom.remove(n,1);}});each(dom.select(nn).reverse(),function(n){var p=n.parentNode;if(!p)return;if(p.nodeName==nn.toUpperCase()&&p.childNodes.length==1)return dom.remove(p,1);if(n.nodeType==1&&(!re||!re.test(p.nodeName))&&p.childNodes.length==1){set(p);dom.setAttrib(n,'class','');}});each(dom.select(nn).reverse(),function(n){if(!dom.getAttrib(n,'class')&&!dom.getAttrib(n,'style'))return dom.remove(n,1);});s.moveToBookmark(b);},queryStateJustify:function(c,v){var ed=this.editor,n=ed.selection.getNode(),dom=ed.dom;if(n&&n.nodeName=='IMG'){if(dom.getStyle(n,'float')==v)return 1;return n.parentNode.style.textAlign==v;}n=dom.getParent(ed.selection.getStart(),function(n){return n.nodeType==1&&n.style.textAlign;});if(v=='full')v='justify';if(ed.settings.inline_styles)return(n&&n.style.textAlign==v);return ed.getDoc().queryCommandState(c);},HiliteColor:function(ui,val){var t=this,ed=t.editor,d=ed.getDoc();function set(s){if(!isGecko)return;try{d.execCommand("styleWithCSS",0,s);}catch(ex){d.execCommand("useCSS",0,!s);}};if(isGecko||isOpera){set(true);d.execCommand('hilitecolor',false,val);set(false);}else d.execCommand('BackColor',false,val);},Undo:function(){var ed=this.editor;if(ed.settings.custom_undo_redo){ed.undoManager.undo();ed.nodeChanged();}else ed.getDoc().execCommand('Undo',false,null);},Redo:function(){var ed=this.editor;if(ed.settings.custom_undo_redo){ed.undoManager.redo();ed.nodeChanged();}else ed.getDoc().execCommand('Redo',false,null);},FormatBlock:function(ui,val){var t=this,ed=t.editor;val=ed.settings.forced_root_block?(val||'

    '):val;if(/^(P|DIV|H[1-6]|ADDRESS|BLOCKQUOTE|PRE)$/.test(ed.selection.getNode().nodeName))t.mceRemoveNode();if(val.indexOf('<')==-1)val='<'+val+'>';if(tinymce.isGecko)val=val.replace(/<(div|blockquote|code|dt|dd|dl|samp)>/gi,'$1');ed.getDoc().execCommand('FormatBlock',false,val);},mceCleanup:function(){var ed=this.editor,s=ed.selection,b=s.getBookmark();ed.setContent(ed.getContent());s.moveToBookmark(b);},mceRemoveNode:function(ui,val){var ed=this.editor,s=ed.selection,b,n=val||s.getNode();if(n==ed.getBody())return;b=s.getBookmark();ed.dom.remove(n,1);s.moveToBookmark(b);ed.nodeChanged();},mceSelectNodeDepth:function(ui,val){var ed=this.editor,s=ed.selection,c=0;ed.dom.getParent(s.getNode(),function(n){if(n.nodeType==1&&c++==val){s.select(n);ed.nodeChanged();return false;}},ed.getBody());},mceSelectNode:function(u,v){this.editor.selection.select(v);},mceInsertContent:function(ui,val){this.editor.selection.setContent(val);},mceInsertRawHTML:function(ui,val){var ed=this.editor;ed.selection.setContent('tiny_mce_marker');ed.setContent(ed.getContent().replace(/tiny_mce_marker/g,val));},mceRepaint:function(){var s,b,e=this.editor;if(tinymce.isGecko){try{s=e.selection;b=s.getBookmark(true);if(s.getSel())s.getSel().selectAllChildren(e.getBody());s.collapse(true);s.moveToBookmark(b);}catch(ex){}}},queryStateUnderline:function(){var ed=this.editor,n;if(n&&n.nodeName=='A')return false;return ed.getDoc().queryCommandState('Underline');},queryStateOutdent:function(){var ed=this.editor,n;if(ed.settings.inline_styles){if((n=ed.dom.getParent(ed.selection.getStart(),ed.dom.isBlock))&&parseInt(n.style.paddingLeft)>0)return true;if((n=ed.dom.getParent(ed.selection.getEnd(),ed.dom.isBlock))&&parseInt(n.style.paddingLeft)>0)return true;}else return!!ed.dom.getParent(ed.selection.getNode(),'BLOCKQUOTE');return this.queryStateInsertUnorderedList()||this.queryStateInsertOrderedList();},queryStateInsertUnorderedList:function(){return this.editor.dom.getParent(this.editor.selection.getNode(),'UL');},queryStateInsertOrderedList:function(){return this.editor.dom.getParent(this.editor.selection.getNode(),'OL');},queryStatemceBlockQuote:function(){return!!this.editor.dom.getParent(this.editor.selection.getStart(),function(n){return n.nodeName==='BLOCKQUOTE';});},mceBlockQuote:function(){var t=this,ed=t.editor,s=ed.selection,dom=ed.dom,sb,eb,n,bm,bq,r,bq2,i,nl;function getBQ(e){return dom.getParent(e,function(n){return n.nodeName==='BLOCKQUOTE';});};sb=dom.getParent(s.getStart(),dom.isBlock);eb=dom.getParent(s.getEnd(),dom.isBlock);if(bq=getBQ(sb)){if(sb!=eb||sb.childNodes.length>1||(sb.childNodes.length==1&&sb.firstChild.nodeName!='BR'))bm=s.getBookmark();if(getBQ(eb)){bq2=bq.cloneNode(false);while(n=eb.nextSibling)bq2.appendChild(n.parentNode.removeChild(n));}if(bq2)dom.insertAfter(bq2,bq);nl=t._getSelectedBlocks(sb,eb);for(i=nl.length-1;i>=0;i--){dom.insertAfter(nl[i],bq);}if(/^\s*$/.test(bq.innerHTML))dom.remove(bq,1);if(bq2&&/^\s*$/.test(bq2.innerHTML))dom.remove(bq2,1);if(!bm){if(!isIE){r=ed.getDoc().createRange();r.setStart(sb,0);r.setEnd(sb,0);s.setRng(r);}else{s.select(sb);s.collapse(0);if(dom.getParent(s.getStart(),dom.isBlock)!=sb){r=s.getRng();r.move('character',-1);r.select();}}}else t.editor.selection.moveToBookmark(bm);return;}if(isIE&&!sb&&!eb){t.editor.getDoc().execCommand('Indent');n=getBQ(s.getNode());n.style.margin=n.dir='';return;}if(!sb||!eb)return;if(sb!=eb||sb.childNodes.length>1||(sb.childNodes.length==1&&sb.firstChild.nodeName!='BR'))bm=s.getBookmark();each(t._getSelectedBlocks(getBQ(s.getStart()),getBQ(s.getEnd())),function(e){if(e.nodeName=='BLOCKQUOTE'&&!bq){bq=e;return;}if(!bq){bq=dom.create('blockquote');e.parentNode.insertBefore(bq,e);}if(e.nodeName=='BLOCKQUOTE'&&bq){n=e.firstChild;while(n){bq.appendChild(n.cloneNode(true));n=n.nextSibling;}dom.remove(e);return;}bq.appendChild(dom.remove(e));});if(!bm){if(!isIE){r=ed.getDoc().createRange();r.setStart(sb,0);r.setEnd(sb,0);s.setRng(r);}else{s.select(sb);s.collapse(1);}}else s.moveToBookmark(bm);},_getSelectedBlocks:function(st,en){var ed=this.editor,dom=ed.dom,s=ed.selection,sb,eb,n,bl=[];sb=dom.getParent(st||s.getStart(),dom.isBlock);eb=dom.getParent(en||s.getEnd(),dom.isBlock);if(sb)bl.push(sb);if(sb&&eb&&sb!=eb){n=sb;while((n=n.nextSibling)&&n!=eb){if(dom.isBlock(n))bl.push(n);}}if(eb&&sb!=eb)bl.push(eb);return bl;}});})();tinymce.create('tinymce.UndoManager',{index:0,data:null,typing:0,UndoManager:function(ed){var t=this,Dispatcher=tinymce.util.Dispatcher;t.editor=ed;t.data=[];t.onAdd=new Dispatcher(this);t.onUndo=new Dispatcher(this);t.onRedo=new Dispatcher(this);},add:function(l){var t=this,i,ed=t.editor,b,s=ed.settings,la;l=l||{};l.content=l.content||ed.getContent({format:'raw',no_events:1});l.content=l.content.replace(/^\s*|\s*$/g,'');la=t.data[t.index>0?t.index-1:0];if(!l.initial&&la&&l.content==la.content)return null;if(s.custom_undo_redo_levels){if(t.data.length>s.custom_undo_redo_levels){for(i=0;i0){if(t.index==t.data.length&&t.index>1){i=t.index;t.typing=0;if(!t.add())t.index=i;--t.index;}l=t.data[--t.index];ed.setContent(l.content,{format:'raw'});ed.selection.moveToBookmark(l.bookmark);t.onUndo.dispatch(t,l);}return l;},redo:function(){var t=this,ed=t.editor,l=null;if(t.index','gi');t.rePadd=new RegExp(']+)><\/p>|]+)\/>|]+)>\s+<\/p>|

    <\/p>||

    \s+<\/p>'.replace(/p/g,elm),'gi');t.reNbsp2BR=new RegExp(']+)>[\s\u00a0]+<\/p>|

    [\s\u00a0]+<\/p>'.replace(/p/g,elm),'gi');t.reBR2Nbsp=new RegExp(']+)>\s*
    \s*<\/p>|

    \s*
    \s*<\/p>'.replace(/p/g,elm),'gi');t.reTrailBr=new RegExp('\s*
    \s*<\/p>'.replace(/p/g,elm),'gi');function padd(ed,o){if(isOpera)o.content=o.content.replace(t.reOpera,'');o.content=o.content.replace(t.rePadd,'<'+elm+'$1$2$3$4$5$6>\u00a0');if(!isIE&&o.set){o.content=o.content.replace(t.reNbsp2BR,'<'+elm+'$1$2>
    ');}else{o.content=o.content.replace(t.reBR2Nbsp,'<'+elm+'$1$2>\u00a0');o.content=o.content.replace(t.reTrailBr,'');}};ed.onBeforeSetContent.add(padd);ed.onPostProcess.add(padd);if(s.forced_root_block){ed.onInit.add(t.forceRoots,t);ed.onSetContent.add(t.forceRoots,t);ed.onBeforeGetContent.add(t.forceRoots,t);}},setup:function(){var t=this,ed=t.editor,s=ed.settings;if(s.forced_root_block){ed.onKeyUp.add(t.forceRoots,t);ed.onPreProcess.add(t.forceRoots,t);}if(s.force_br_newlines){if(isIE){ed.onKeyPress.add(function(ed,e){var n,s=ed.selection;if(e.keyCode==13&&s.getNode().nodeName!='LI'){s.setContent('
    ',{format:'raw'});n=ed.dom.get('__');n.removeAttribute('id');s.select(n);s.collapse();return Event.cancel(e);}});}return;}if(!isIE&&s.force_p_newlines){ed.onKeyPress.add(function(ed,e){if(e.keyCode==13&&!e.shiftKey){if(!t.insertPara(e))Event.cancel(e);}});if(isGecko){ed.onKeyDown.add(function(ed,e){if((e.keyCode==8||e.keyCode==46)&&!e.shiftKey)t.backspaceDelete(e,e.keyCode==8);});}}function ren(rn,na){var ne=ed.dom.create(na);each(rn.attributes,function(a){if(a.specified&&a.nodeValue)ne.setAttribute(a.nodeName.toLowerCase(),a.nodeValue);});each(rn.childNodes,function(n){ne.appendChild(n.cloneNode(true));});rn.parentNode.replaceChild(ne,rn);return ne;};if(isIE&&s.element!='P'){ed.onKeyPress.add(function(ed,e){t.lastElm=ed.selection.getNode().nodeName;});ed.onKeyUp.add(function(ed,e){var bl,sel=ed.selection,n=sel.getNode(),b=ed.getBody();if(b.childNodes.length===1&&n.nodeName=='P'){n=ren(n,s.element);sel.select(n);sel.collapse();ed.nodeChanged();}else if(e.keyCode==13&&!e.shiftKey&&t.lastElm!='P'){bl=ed.dom.getParent(n,'P');if(bl){ren(bl,s.element);ed.nodeChanged();}}});}},find:function(n,t,s){var ed=this.editor,w=ed.getDoc().createTreeWalker(n,4,null,false),c=-1;while(n=w.nextNode()){c++;if(t==0&&n==s)return c;if(t==1&&c==s)return n;}return-1;},forceRoots:function(ed,e){var t=this,ed=t.editor,b=ed.getBody(),d=ed.getDoc(),se=ed.selection,s=se.getSel(),r=se.getRng(),si=-2,ei,so,eo,tr,c=-0xFFFFFF;var nx,bl,bp,sp,le,nl=b.childNodes,i;if(e&&e.keyCode==13)return true;for(i=nl.length-1;i>=0;i--){nx=nl[i];if(nx.nodeType==3||!t.dom.isBlock(nx)){if(!bl){if(nx.nodeType!=3||/[^\s]/g.test(nx.nodeValue)){if(si==-2&&r){if(!isIE){so=r.startOffset;eo=r.endOffset;si=t.find(b,0,r.startContainer);ei=t.find(b,0,r.endContainer);}else{tr=d.body.createTextRange();tr.moveToElementText(b);tr.collapse(1);bp=tr.move('character',c)*-1;tr=r.duplicate();tr.collapse(1);sp=tr.move('character',c)*-1;tr=r.duplicate();tr.collapse(0);le=(tr.move('character',c)*-1)-sp;si=sp-bp;ei=le;}}bl=ed.dom.create(ed.settings.forced_root_block);bl.appendChild(nx.cloneNode(1));nx.parentNode.replaceChild(bl,nx);}}else{if(bl.hasChildNodes())bl.insertBefore(nx,bl.firstChild);else bl.appendChild(nx);}}else bl=null;}if(si!=-2){if(!isIE){bl=d.getElementsByTagName(ed.settings.element)[0];r=d.createRange();if(si!=-1)r.setStart(t.find(b,1,si),so);else r.setStart(bl,0);if(ei!=-1)r.setEnd(t.find(b,1,ei),eo);else r.setEnd(bl,0);if(s){s.removeAllRanges();s.addRange(r);}}else{try{r=s.createRange();r.moveToElementText(b);r.collapse(1);r.moveStart('character',si);r.moveEnd('character',ei);r.select();}catch(ex){}}}},getParentBlock:function(n){var d=this.dom;return d.getParent(n,d.isBlock);},insertPara:function(e){var t=this,ed=t.editor,d=ed.getDoc(),se=ed.settings,s=ed.selection.getSel(),r=s.getRangeAt(0),b=d.body;var rb,ra,dir,sn,so,en,eo,sb,eb,bn,bef,aft,sc,ec,n;function isEmpty(n){n=n.innerHTML;n=n.replace(/<(img|hr|table)/gi,'-');n=n.replace(/<[^>]+>/g,'');return n.replace(/[ \t\r\n]+/g,'')=='';};rb=d.createRange();rb.setStart(s.anchorNode,s.anchorOffset);rb.collapse(true);ra=d.createRange();ra.setStart(s.focusNode,s.focusOffset);ra.collapse(true);dir=rb.compareBoundaryPoints(rb.START_TO_END,ra)<0;sn=dir?s.anchorNode:s.focusNode;so=dir?s.anchorOffset:s.focusOffset;en=dir?s.focusNode:s.anchorNode;eo=dir?s.focusOffset:s.anchorOffset;if(sn==b&&en==b&&b.firstChild&&ed.dom.isBlock(b.firstChild)){sn=en=sn.firstChild;so=eo=0;rb=d.createRange();rb.setStart(sn,0);ra=d.createRange();ra.setStart(en,0);}sn=sn.nodeName=="HTML"?d.body:sn;sn=sn.nodeName=="BODY"?sn.firstChild:sn;en=en.nodeName=="HTML"?d.body:en;en=en.nodeName=="BODY"?en.firstChild:en;sb=t.getParentBlock(sn);eb=t.getParentBlock(en);bn=sb?sb.nodeName:se.element;if(t.dom.getParent(sb,function(n){return/OL|UL|PRE/.test(n.nodeName);}))return true;if(sb&&(sb.nodeName=='CAPTION'||/absolute|relative|static/gi.test(sb.style.position))){bn=se.element;sb=null;}if(eb&&(eb.nodeName=='CAPTION'||/absolute|relative|static/gi.test(eb.style.position))){bn=se.element;eb=null;}if(/(TD|TABLE|TH|CAPTION)/.test(bn)||(sb&&bn=="DIV"&&/left|right/gi.test(sb.style.cssFloat))){bn=se.element;sb=eb=null;}bef=(sb&&sb.nodeName==bn)?sb.cloneNode(0):ed.dom.create(bn);aft=(eb&&eb.nodeName==bn)?eb.cloneNode(0):ed.dom.create(bn);aft.removeAttribute('id');if(/^(H[1-6])$/.test(bn)&&sn.nodeValue&&so==sn.nodeValue.length)aft=ed.dom.create(se.element);n=sc=sn;do{if(n==b||n.nodeType==9||t.dom.isBlock(n)||/(TD|TABLE|TH|CAPTION)/.test(n.nodeName))break;sc=n;}while((n=n.previousSibling?n.previousSibling:n.parentNode));n=ec=en;do{if(n==b||n.nodeType==9||t.dom.isBlock(n)||/(TD|TABLE|TH|CAPTION)/.test(n.nodeName))break;ec=n;}while((n=n.nextSibling?n.nextSibling:n.parentNode));if(sc.nodeName==bn)rb.setStart(sc,0);else rb.setStartBefore(sc);rb.setEnd(sn,so);bef.appendChild(rb.cloneContents()||d.createTextNode(''));try{ra.setEndAfter(ec);}catch(ex){}ra.setStart(en,eo);aft.appendChild(ra.cloneContents()||d.createTextNode(''));r=d.createRange();if(!sc.previousSibling&&sc.parentNode.nodeName==bn){r.setStartBefore(sc.parentNode);}else{if(rb.startContainer.nodeName==bn&&rb.startOffset==0)r.setStartBefore(rb.startContainer);else r.setStart(rb.startContainer,rb.startOffset);}if(!ec.nextSibling&&ec.parentNode.nodeName==bn)r.setEndAfter(ec.parentNode);else r.setEnd(ra.endContainer,ra.endOffset);r.deleteContents();if(bef.firstChild&&bef.firstChild.nodeName==bn)bef.innerHTML=bef.firstChild.innerHTML;if(aft.firstChild&&aft.firstChild.nodeName==bn)aft.innerHTML=aft.firstChild.innerHTML;if(isEmpty(bef))bef.innerHTML='
    ';if(isEmpty(aft))aft.innerHTML=isOpera?' ':'
    ';if(isOpera){r.insertNode(bef);r.insertNode(aft);}else{r.insertNode(aft);r.insertNode(bef);}aft.normalize();bef.normalize();r=d.createRange();r.selectNodeContents(aft);r.collapse(1);s.removeAllRanges();s.addRange(r);if(tinymce.isWebKit)ed.getWin().scrollTo(0,ed.dom.getPos(aft).y);else aft.scrollIntoView(0);return false;},backspaceDelete:function(e,bs){var t=this,ed=t.editor,b=ed.getBody(),n,se=ed.selection,r=se.getRng(),sc=r.startContainer,n;if(sc&&ed.dom.isBlock(sc)&&bs){if(sc.childNodes.length==1&&sc.firstChild.nodeName=='BR'){n=sc.previousSibling;if(n){ed.dom.remove(sc);se.select(n.firstChild);se.collapse(0);return Event.cancel(e);}}}function handler(e){e=e.target;if(e&&e.parentNode&&e.nodeName=='BR'&&t.getParentBlock(e)){ed.dom.remove(e);Event.remove(b,'DOMNodeInserted',handler);}};Event._add(b,'DOMNodeInserted',handler);window.setTimeout(function(){Event._remove(b,'DOMNodeInserted',handler);},1);}});})();(function(){var DOM=tinymce.DOM,Event=tinymce.dom.Event,each=tinymce.each,extend=tinymce.extend;tinymce.create('tinymce.ControlManager',{ControlManager:function(ed,s){var t=this,i;s=s||{};t.editor=ed;t.controls={};t.onAdd=new tinymce.util.Dispatcher(t);t.onPostRender=new tinymce.util.Dispatcher(t);t.prefix=s.prefix||ed.id+'_';t.onPostRender.add(function(){each(t.controls,function(c){c.postRender();});});},get:function(id){return this.controls[this.prefix+id]||this.controls[id];},setActive:function(id,s){var c=null;if(c=this.get(id))c.setActive(s);return c;},setDisabled:function(id,s){var c=null;if(c=this.get(id))c.setDisabled(s);return c;},add:function(c){var t=this;if(c){t.controls[c.id]=c;t.onAdd.dispatch(c,t);}return c;},createControl:function(n){var c,t=this,ed=t.editor;each(ed.plugins,function(p){if(p.createControl){c=p.createControl(n,t);if(c)return false;}});switch(n){case"|":case"separator":return t.createSeparator();}if(!c&&ed.buttons&&(c=ed.buttons[n]))return t.createButton(n,c);return t.add(c);},createDropMenu:function(id,s){var t=this,ed=t.editor,c,bm,v;s=extend({'class':'mceDropDown',constrain:ed.settings.constrain_menus},s);s['class']=s['class']+' '+ed.getParam('skin')+'Skin';if(v=ed.getParam('skin_variant'))s['class']+=' '+ed.getParam('skin')+'Skin'+v.substring(0,1).toUpperCase()+v.substring(1);id=t.prefix+id;c=t.controls[id]=new tinymce.ui.DropMenu(id,s);c.onAddItem.add(function(c,o){var s=o.settings;s.title=ed.getLang(s.title,s.title);if(!s.onclick){s.onclick=function(v){ed.execCommand(s.cmd,s.ui||false,s.value);};}});ed.onRemove.add(function(){c.destroy();});if(tinymce.isIE){c.onShowMenu.add(function(){var s=ed.selection,n=s.getNode();if(n.nodeName=='IMG')bm=s.getBookmark();else bm=0;});c.onHideMenu.add(function(){if(bm)ed.selection.moveToBookmark(bm);});}return t.add(c);},createListBox:function(id,s){var t=this,ed=t.editor,cmd,c;if(t.get(id))return null;s.title=ed.translate(s.title);s.scope=s.scope||ed;if(!s.onselect){s.onselect=function(v){ed.execCommand(s.cmd,s.ui||false,v||s.value);};}s=extend({title:s.title,'class':'mce_'+id,scope:s.scope,control_manager:t},s);id=t.prefix+id;if(ed.settings.use_native_selects)c=new tinymce.ui.NativeListBox(id,s);else c=new tinymce.ui.ListBox(id,s);t.controls[id]=c;if(tinymce.isWebKit){c.onPostRender.add(function(c,n){Event.add(n,'mousedown',function(){ed.bookmark=ed.selection.getBookmark('simple');});Event.add(n,'focus',function(){ed.selection.moveToBookmark(ed.bookmark);ed.bookmark=null;});});}if(c.hideMenu)ed.onMouseDown.add(c.hideMenu,c);return t.add(c);},createButton:function(id,s){var t=this,ed=t.editor,o,c;if(t.get(id))return null;s.title=ed.translate(s.title);s.scope=s.scope||ed;if(!s.onclick&&!s.menu_button){s.onclick=function(){ed.execCommand(s.cmd,s.ui||false,s.value);};}s=extend({title:s.title,'class':'mce_'+id,unavailable_prefix:ed.getLang('unavailable',''),scope:s.scope,control_manager:t},s);id=t.prefix+id;if(s.menu_button){c=new tinymce.ui.MenuButton(id,s);ed.onMouseDown.add(c.hideMenu,c);}else c=new tinymce.ui.Button(id,s);return t.add(c);},createMenuButton:function(id,s){s=s||{};s.menu_button=1;return this.createButton(id,s);},createSplitButton:function(id,s){var t=this,ed=t.editor,cmd,c;if(t.get(id))return null;s.title=ed.translate(s.title);s.scope=s.scope||ed;if(!s.onclick){s.onclick=function(v){ed.execCommand(s.cmd,s.ui||false,v||s.value);};}if(!s.onselect){s.onselect=function(v){ed.execCommand(s.cmd,s.ui||false,v||s.value);};}s=extend({title:s.title,'class':'mce_'+id,scope:s.scope,control_manager:t},s);id=t.prefix+id;c=t.add(new tinymce.ui.SplitButton(id,s));ed.onMouseDown.add(c.hideMenu,c);return c;},createColorSplitButton:function(id,s){var t=this,ed=t.editor,cmd,c;if(t.get(id))return null;s.title=ed.translate(s.title);s.scope=s.scope||ed;if(!s.onclick){s.onclick=function(v){ed.execCommand(s.cmd,s.ui||false,v||s.value);};}if(!s.onselect){s.onselect=function(v){ed.execCommand(s.cmd,s.ui||false,v||s.value);};}s=extend({title:s.title,'class':'mce_'+id,'menu_class':ed.getParam('skin')+'Skin',scope:s.scope,more_colors_title:ed.getLang('more_colors')},s);id=t.prefix+id;c=new tinymce.ui.ColorSplitButton(id,s);ed.onMouseDown.add(c.hideMenu,c);ed.onRemove.add(function(){c.destroy();});return t.add(c);},createToolbar:function(id,s){var c,t=this;id=t.prefix+id;c=new tinymce.ui.Toolbar(id,s);if(t.get(id))return null;return t.add(c);},createSeparator:function(){return new tinymce.ui.Separator();}});})();(function(){var Dispatcher=tinymce.util.Dispatcher,each=tinymce.each,isIE=tinymce.isIE,isOpera=tinymce.isOpera;tinymce.create('tinymce.WindowManager',{WindowManager:function(ed){var t=this;t.editor=ed;t.onOpen=new Dispatcher(t);t.onClose=new Dispatcher(t);t.params={};t.features={};},open:function(s,p){var t=this,f='',x,y,mo=t.editor.settings.dialog_type=='modal',w,sw,sh,vp=tinymce.DOM.getViewPort(),u;s=s||{};p=p||{};sw=isOpera?vp.w:screen.width;sh=isOpera?vp.h:screen.height;s.name=s.name||'mc_'+new Date().getTime();s.width=parseInt(s.width||320);s.height=parseInt(s.height||240);s.resizable=true;s.left=s.left||parseInt(sw/ 2.0) - (s.width /2.0);s.top=s.top||parseInt(sh/ 2.0) - (s.height /2.0);p.inline=false;p.mce_width=s.width;p.mce_height=s.height;p.mce_auto_focus=s.auto_focus;if(mo){if(isIE){s.center=true;s.help=false;s.dialogWidth=s.width+'px';s.dialogHeight=s.height+'px';s.scroll=s.scrollbars||false;}else s.modal=s.alwaysRaised=s.dialog=s.centerscreen=s.dependent=true;}each(s,function(v,k){if(tinymce.is(v,'boolean'))v=v?'yes':'no';if(!/^(name|url)$/.test(k)){if(isIE&&mo)f+=(f?';':'')+k+':'+v;else f+=(f?',':'')+k+'='+v;}});t.features=s;t.params=p;t.onOpen.dispatch(t,s,p);u=s.url||s.file;if(tinymce.relaxedDomain)u+=(u.indexOf('?')==-1?'?':'&')+'mce_rdomain='+tinymce.relaxedDomain;try{if(isIE&&mo){w=1;window.showModalDialog(s.url||s.file,window,f);}else w=window.open(u,s.name,f);}catch(ex){}if(!w)alert(t.editor.getLang('popup_blocked'));},close:function(w){w.close();this.onClose.dispatch(this);},createInstance:function(cl,a,b,c,d,e){var f=tinymce.resolve(cl);return new f(a,b,c,d,e);},confirm:function(t,cb,s){cb.call(s||this,confirm(this._decode(this.editor.getLang(t,t))));},alert:function(t,cb,s){alert(this._decode(t));if(cb)cb.call(s||this);},_decode:function(s){return tinymce.DOM.decode(s).replace(/\\n/g,'\n');}});}()); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js b/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js new file mode 100644 index 0000000000..aef20b0f24 --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js @@ -0,0 +1,274 @@ +// Some global instances +var tinymce = null, tinyMCEPopup, tinyMCE; + +tinyMCEPopup = { + init : function() { + var t = this, w, ti, li, q, i, it; + + li = ('' + document.location.search).replace(/^\?/, '').split('&'); + q = {}; + for (i=0; i'); + tinymce.ScriptLoader.markDone(u); + } + } + }, + + pickColor : function(e, element_id) { + this.execCommand('mceColorPicker', true, { + color : document.getElementById(element_id).value, + func : function(c) { + document.getElementById(element_id).value = c; + + try { + document.getElementById(element_id).onchange(); + } catch (ex) { + // Try fire event, ignore errors + } + } + }); + }, + + openBrowser : function(element_id, type, option) { + tinyMCEPopup.restoreSelection(); + this.editor.execCallback('file_browser_callback', element_id, document.getElementById(element_id).value, type, window); + }, + + close : function() { + var t = this; + + // To avoid domain relaxing issue in Opera + function close() { + t.editor.windowManager.close(window, t.id); + tinymce = tinyMCE = t.editor = t.params = t.dom = t.dom.doc = null; // Cleanup + }; + + if (tinymce.isOpera) + t.getWin().setTimeout(close, 0); + else + close(); + }, + + // Internal functions + + _restoreSelection : function() { + var e = window.event.srcElement; + + if (e.nodeName == 'INPUT' && (e.type == 'submit' || e.type == 'button')) + tinyMCEPopup.restoreSelection(); + }, + +/* _restoreSelection : function() { + var e = window.event.srcElement; + + // If user focus a non text input or textarea + if ((e.nodeName != 'INPUT' && e.nodeName != 'TEXTAREA') || e.type != 'text') + tinyMCEPopup.restoreSelection(); + },*/ + + _onDOMLoaded : function() { + var t = this, ti = document.title, bm, h; + + // Translate page + h = document.body.innerHTML; + + // Replace a=x with a="x" in IE + if (tinymce.isIE) + h = h.replace(/ (value|title|alt)=([^"][^\s>]+)/gi, ' $1="$2"') + + document.body.innerHTML = t.editor.translate(h); + document.title = ti = t.editor.translate(ti); + document.body.style.display = ''; + + // Restore selection in IE when focus is placed on a non textarea or input element of the type text + if (tinymce.isIE) + document.attachEvent('onmouseup', tinyMCEPopup._restoreSelection); + + t.restoreSelection(); + t.resizeToInnerSize(); + + // Set inline title + if (!t.isWindow) + t.editor.windowManager.setTitle(ti, t.id); + else + window.focus(); + + if (!tinymce.isIE && !t.isWindow) { + tinymce.dom.Event._add(document, 'focus', function() { + t.editor.windowManager.focus(t.id) + }); + } + + // Patch for accessibility + tinymce.each(t.dom.select('select'), function(e) { + e.onkeydown = tinyMCEPopup._accessHandler; + }); + + // Call onInit + // Init must be called before focus so the selection won't get lost by the focus call + tinymce.each(t.listeners, function(o) { + o.func.call(o.scope, t.editor); + }); + + // Move focus to window + if (t.getWindowArg('mce_auto_focus', true)) { + window.focus(); + + // Focus element with mceFocus class + tinymce.each(document.forms, function(f) { + tinymce.each(f.elements, function(e) { + if (t.dom.hasClass(e, 'mceFocus')) { + e.focus(); + return false; // Break loop + } + }); + }); + } + + document.onkeydown = tinyMCEPopup._closeWinKeyHandler; + }, + + _accessHandler : function(e) { + e = e || window.event; + + if (e.keyCode == 13 || e.keyCode == 32) { + e = e.target || e.srcElement; + + if (e.onchange) + e.onchange(); + + return tinymce.dom.Event.cancel(e); + } + }, + + _closeWinKeyHandler : function(e) { + e = e || window.event; + + if (e.keyCode == 27) + tinyMCEPopup.close(); + }, + + _wait : function() { + var t = this, ti; + + if (tinymce.isIE && document.location.protocol != 'https:') { + // Fake DOMContentLoaded on IE + document.write(''; + + bi = s.body_id || 'tinymce'; + if (bi.indexOf('=') != -1) { + bi = t.getParam('body_id', '', 'hash'); + bi = bi[t.id] || bi; + } + + bc = s.body_class || ''; + if (bc.indexOf('=') != -1) { + bc = t.getParam('body_class', '', 'hash'); + bc = bc[t.id] || ''; + } + + t.iframeHTML += ''; + + // Domain relaxing enabled, then set document domain + if (tinymce.relaxedDomain) { + // We need to write the contents here in IE since multiple writes messes up refresh button and back button + if (isIE) + u = 'javascript:(function(){document.open();document.domain="' + document.domain + '";var ed = window.parent.tinyMCE.get("' + t.id + '");document.write(ed.iframeHTML);document.close();ed.setupIframe();})()'; + else if (tinymce.isOpera) + u = 'javascript:(function(){document.open();document.domain="' + document.domain + '";document.close();ed.setupIframe();})()'; + } + + // Create iframe + n = DOM.add(o.iframeContainer, 'iframe', { + id : t.id + "_ifr", + src : u || 'javascript:""', // Workaround for HTTPS warning in IE6/7 + frameBorder : '0', + style : { + width : '100%', + height : h + } + }); + + t.contentAreaContainer = o.iframeContainer; + DOM.get(o.editorContainer).style.display = t.orgDisplay; + DOM.get(t.id).style.display = 'none'; + + // Safari 2.x requires us to wait for the load event and load a real HTML doc + if (tinymce.isOldWebKit) { + Event.add(n, 'load', t.setupIframe, t); + n.src = tinymce.baseURL + '/plugins/safari/blank.htm'; + } else { + if (!isIE || !tinymce.relaxedDomain) + t.setupIframe(); + + e = n = o = null; // Cleanup + } + }, + + setupIframe : function() { + var t = this, s = t.settings, e = DOM.get(t.id), d = t.getDoc(), h; + + // Setup iframe body + if (!isIE || !tinymce.relaxedDomain) { + d.open(); + d.write(t.iframeHTML); + d.close(); + } + + // Design mode needs to be added here Ctrl+A will fail otherwise + if (!isIE) { + try { + d.designMode = 'On'; + } catch (ex) { + // Will fail on Gecko if the editor is placed in an hidden container element + // The design mode will be set ones the editor is focused + } + } + + // IE needs to use contentEditable or it will display non secure items for HTTPS + if (isIE) + t.getBody().contentEditable = true; + + // Setup objects + t.dom = new tinymce.DOM.DOMUtils(t.getDoc(), { + keep_values : true, + url_converter : t.convertURL, + url_converter_scope : t, + hex_colors : s.force_hex_style_colors, + class_filter : s.class_filter, + update_styles : 1, + fix_ie_paragraphs : 1 + }); + + t.serializer = new tinymce.dom.Serializer({ + entity_encoding : s.entity_encoding, + entities : s.entities, + valid_elements : s.verify_html === false ? '*[*]' : s.valid_elements, + extended_valid_elements : s.extended_valid_elements, + valid_child_elements : s.valid_child_elements, + invalid_elements : s.invalid_elements, + fix_table_elements : s.fix_table_elements, + fix_list_elements : s.fix_list_elements, + fix_content_duplication : s.fix_content_duplication, + convert_fonts_to_spans : s.convert_fonts_to_spans, + font_size_classes : s.font_size_classes, + font_size_style_values : s.font_size_style_values, + apply_source_formatting : s.apply_source_formatting, + remove_linebreaks : s.remove_linebreaks, + dom : t.dom + }); + + t.selection = new tinymce.dom.Selection(t.dom, t.getWin(), t.serializer); + t.forceBlocks = new tinymce.ForceBlocks(t, { + forced_root_block : s.forced_root_block + }); + t.editorCommands = new tinymce.EditorCommands(t); + + // Pass through + t.serializer.onPreProcess.add(function(se, o) { + return t.onPreProcess.dispatch(t, o, se); + }); + + t.serializer.onPostProcess.add(function(se, o) { + return t.onPostProcess.dispatch(t, o, se); + }); + + t.onPreInit.dispatch(t); + + if (!s.gecko_spellcheck) + t.getBody().spellcheck = 0; + + t._addEvents(); + + t.controlManager.onPostRender.dispatch(t, t.controlManager); + t.onPostRender.dispatch(t); + + if (s.directionality) + t.getBody().dir = s.directionality; + + if (s.nowrap) + t.getBody().style.whiteSpace = "nowrap"; + + if (s.auto_resize) + t.onNodeChange.add(t.resizeToContent, t); + + if (s.custom_elements) { + function handleCustom(ed, o) { + each(explode(s.custom_elements), function(v) { + var n; + + if (v.indexOf('~') === 0) { + v = v.substring(1); + n = 'span'; + } else + n = 'div'; + + o.content = o.content.replace(new RegExp('<(' + v + ')([^>]*)>', 'g'), '<' + n + ' mce_name="$1"$2>'); + o.content = o.content.replace(new RegExp('', 'g'), ''); + }); + }; + + t.onBeforeSetContent.add(handleCustom); + t.onPostProcess.add(function(ed, o) { + if (o.set) + handleCustom(ed, o) + }); + } + + if (s.handle_node_change_callback) { + t.onNodeChange.add(function(ed, cm, n) { + t.execCallback('handle_node_change_callback', t.id, n, -1, -1, true, t.selection.isCollapsed()); + }); + } + + if (s.save_callback) { + t.onSaveContent.add(function(ed, o) { + var h = t.execCallback('save_callback', t.id, o.content, t.getBody()); + + if (h) + o.content = h; + }); + } + + if (s.onchange_callback) { + t.onChange.add(function(ed, l) { + t.execCallback('onchange_callback', t, l); + }); + } + + if (s.convert_newlines_to_brs) { + t.onBeforeSetContent.add(function(ed, o) { + if (o.initial) + o.content = o.content.replace(/\r?\n/g, '
    '); + }); + } + + if (s.fix_nesting && isIE) { + t.onBeforeSetContent.add(function(ed, o) { + o.content = t._fixNesting(o.content); + }); + } + + if (s.preformatted) { + t.onPostProcess.add(function(ed, o) { + o.content = o.content.replace(/^\s*/, ''); + o.content = o.content.replace(/<\/pre>\s*$/, ''); + + if (o.set) + o.content = '

    ' + o.content + '
    '; + }); + } + + if (s.verify_css_classes) { + t.serializer.attribValueFilter = function(n, v) { + var s, cl; + + if (n == 'class') { + // Build regexp for classes + if (!t.classesRE) { + cl = t.dom.getClasses(); + + if (cl.length > 0) { + s = ''; + + each (cl, function(o) { + s += (s ? '|' : '') + o['class']; + }); + + t.classesRE = new RegExp('(' + s + ')', 'gi'); + } + } + + return !t.classesRE || /(\bmceItem\w+\b|\bmceTemp\w+\b)/g.test(v) || t.classesRE.test(v) ? v : ''; + } + + return v; + }; + } + + if (s.convert_fonts_to_spans) + t._convertFonts(); + + if (s.inline_styles) + t._convertInlineElements(); + + if (s.cleanup_callback) { + t.onBeforeSetContent.add(function(ed, o) { + o.content = t.execCallback('cleanup_callback', 'insert_to_editor', o.content, o); + }); + + t.onPreProcess.add(function(ed, o) { + if (o.set) + t.execCallback('cleanup_callback', 'insert_to_editor_dom', o.node, o); + + if (o.get) + t.execCallback('cleanup_callback', 'get_from_editor_dom', o.node, o); + }); + + t.onPostProcess.add(function(ed, o) { + if (o.set) + o.content = t.execCallback('cleanup_callback', 'insert_to_editor', o.content, o); + + if (o.get) + o.content = t.execCallback('cleanup_callback', 'get_from_editor', o.content, o); + }); + } + + if (s.save_callback) { + t.onGetContent.add(function(ed, o) { + if (o.save) + o.content = t.execCallback('save_callback', t.id, o.content, t.getBody()); + }); + } + + if (s.handle_event_callback) { + t.onEvent.add(function(ed, e, o) { + if (t.execCallback('handle_event_callback', e, ed, o) === false) + Event.cancel(e); + }); + } + + t.onSetContent.add(function() { + // Safari needs some time, it will crash the browser when a link is created otherwise + // I think this crash issue is resolved in the latest 3.0.4 + //window.setTimeout(function() { + t.addVisual(t.getBody()); + //}, 1); + }); + + // Remove empty contents + if (s.padd_empty_editor) { + t.onPostProcess.add(function(ed, o) { + o.content = o.content.replace(/^

    ( |#160;|\s)<\/p>$/, ''); + }); + } + + if (isGecko) { + try { + // Design mode must be set here once again to fix a bug where + // Ctrl+A/Delete/Backspace didn't work if the editor was added using mceAddControl then removed then added again + d.designMode = 'Off'; + d.designMode = 'On'; + } catch (ex) { + // Will fail on Gecko if the editor is placed in an hidden container element + // The design mode will be set ones the editor is focused + } + } + + // A small timeout was needed since firefox will remove. Bug: #1838304 + setTimeout(function () { + if (t.removed) + return; + + t.load({initial : true, format : (s.cleanup_on_startup ? 'html' : 'raw')}); + t.startContent = t.getContent({format : 'raw'}); + t.undoManager.add({initial : true}); + t.initialized = true; + + t.onInit.dispatch(t); + t.execCallback('setupcontent_callback', t.id, t.getBody(), t.getDoc()); + t.execCallback('init_instance_callback', t); + t.focus(true); + t.nodeChanged({initial : 1}); + + // Load specified content CSS last + if (s.content_css) { + tinymce.each(explode(s.content_css), function(u) { + t.dom.loadCSS(t.documentBaseURI.toAbsolute(u)); + }); + } + + // Handle auto focus + if (s.auto_focus) { + setTimeout(function () { + var ed = EditorManager.get(s.auto_focus); + + ed.selection.select(ed.getBody(), 1); + ed.selection.collapse(1); + ed.getWin().focus(); + }, 100); + } + }, 1); + + e = null; + }, + + + focus : function(sf) { + var oed, t = this; + + if (!sf) { + t.getWin().focus(); + + } + + if (EditorManager.activeEditor != t) { + if ((oed = EditorManager.activeEditor) != null) + oed.onDeactivate.dispatch(oed, t); + + t.onActivate.dispatch(t, oed); + } + + EditorManager._setActive(t); + }, + + execCallback : function(n) { + var t = this, f = t.settings[n], s; + + if (!f) + return; + + // Look through lookup + if (t.callbackLookup && (s = t.callbackLookup[n])) { + f = s.func; + s = s.scope; + } + + if (is(f, 'string')) { + s = f.replace(/\.\w+$/, ''); + s = s ? tinymce.resolve(s) : 0; + f = tinymce.resolve(f); + t.callbackLookup = t.callbackLookup || {}; + t.callbackLookup[n] = {func : f, scope : s}; + } + + return f.apply(s || t, Array.prototype.slice.call(arguments, 1)); + }, + + translate : function(s) { + var c = this.settings.language, i18n = EditorManager.i18n; + + if (!s) + return ''; + + return i18n[c + '.' + s] || s.replace(/{\#([^}]+)\}/g, function(a, b) { + return i18n[c + '.' + b] || '{#' + b + '}'; + }); + }, + + getLang : function(n, dv) { + return EditorManager.i18n[this.settings.language + '.' + n] || (is(dv) ? dv : '{#' + n + '}'); + }, + + getParam : function(n, dv, ty) { + var tr = tinymce.trim, v = is(this.settings[n]) ? this.settings[n] : dv, o; + + if (ty === 'hash') { + o = {}; + + if (is(v, 'string')) { + each(v.split(/[;,]/), function(v) { + v = v.split('='); + + if (v.length > 1) + o[tr(v[0])] = tr(v[1]); + else + o[tr(v[0])] = tr(v); + }); + } else + o = v; + + return o; + } + + return v; + }, + + nodeChanged : function(o) { + var t = this, s = t.selection, n = s.getNode() || t.getBody(); + + // Fix for bug #1896577 it seems that this can not be fired while the editor is loading + if (t.initialized) { + t.onNodeChange.dispatch( + t, + o ? o.controlManager || t.controlManager : t.controlManager, + isIE && n.ownerDocument != t.getDoc() ? t.getBody() : n, // Fix for IE initial state + s.isCollapsed(), + o + ); + } + }, + + addButton : function(n, s) { + var t = this; + + t.buttons = t.buttons || {}; + t.buttons[n] = s; + }, + + addCommand : function(n, f, s) { + this.execCommands[n] = {func : f, scope : s || this}; + }, + + addQueryStateHandler : function(n, f, s) { + this.queryStateCommands[n] = {func : f, scope : s || this}; + }, + + addQueryValueHandler : function(n, f, s) { + this.queryValueCommands[n] = {func : f, scope : s || this}; + }, + + addShortcut : function(pa, desc, cmd_func, sc) { + var t = this, c; + + if (!t.settings.custom_shortcuts) + return false; + + t.shortcuts = t.shortcuts || {}; + + if (is(cmd_func, 'string')) { + c = cmd_func; + + cmd_func = function() { + t.execCommand(c, false, null); + }; + } + + if (is(cmd_func, 'object')) { + c = cmd_func; + + cmd_func = function() { + t.execCommand(c[0], c[1], c[2]); + }; + } + + each(explode(pa), function(pa) { + var o = { + func : cmd_func, + scope : sc || this, + desc : desc, + alt : false, + ctrl : false, + shift : false + }; + + each(explode(pa, '+'), function(v) { + switch (v) { + case 'alt': + case 'ctrl': + case 'shift': + o[v] = true; + break; + + default: + o.charCode = v.charCodeAt(0); + o.keyCode = v.toUpperCase().charCodeAt(0); + } + }); + + t.shortcuts[(o.ctrl ? 'ctrl' : '') + ',' + (o.alt ? 'alt' : '') + ',' + (o.shift ? 'shift' : '') + ',' + o.keyCode] = o; + }); + + return true; + }, + + execCommand : function(cmd, ui, val, a) { + var t = this, s = 0, o; + + if (!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(cmd) && (!a || !a.skip_focus)) + t.focus(); + + o = {}; + t.onBeforeExecCommand.dispatch(t, cmd, ui, val, o); + if (o.terminate) + return false; + + // Comamnd callback + if (t.execCallback('execcommand_callback', t.id, t.selection.getNode(), cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return true; + } + + // Registred commands + if (o = t.execCommands[cmd]) { + s = o.func.call(o.scope, ui, val); + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return s; + } + + // Plugin commands + each(t.plugins, function(p) { + if (p.execCommand && p.execCommand(cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + s = 1; + return false; + } + }); + + if (s) + return true; + + // Theme commands + if (t.theme.execCommand && t.theme.execCommand(cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return true; + } + + // Editor commands + if (t.editorCommands.execCommand(cmd, ui, val)) { + t.onExecCommand.dispatch(t, cmd, ui, val, a); + return true; + } + + // Browser commands + t.getDoc().execCommand(cmd, ui, val); + t.onExecCommand.dispatch(t, cmd, ui, val, a); + }, + + queryCommandState : function(c) { + var t = this, o; + + // Is hidden then return undefined + if (t._isHidden()) + return; + + // Registred commands + if (o = t.queryStateCommands[c]) + return o.func.call(o.scope); + + // Registred commands + o = t.editorCommands.queryCommandState(c); + if (o !== -1) + return o; + + // Browser commands + try { + return this.getDoc().queryCommandState(c); + } catch (ex) { + // Fails sometimes see bug: 1896577 + } + }, + + queryCommandValue : function(c) { + var t = this, o; + + // Is hidden then return undefined + if (t._isHidden()) + return; + + // Registred commands + if (o = t.queryValueCommands[c]) + return o.func.call(o.scope); + + // Registred commands + o = t.editorCommands.queryCommandValue(c); + if (is(o)) + return o; + + // Browser commands + try { + return this.getDoc().queryCommandValue(c); + } catch (ex) { + // Fails sometimes see bug: 1896577 + } + }, + + show : function() { + var t = this; + + DOM.show(t.getContainer()); + DOM.hide(t.id); + t.load(); + }, + + hide : function() { + var t = this, d = t.getDoc(); + + // Fixed bug where IE has a blinking cursor left from the editor + if (isIE && d) + d.execCommand('SelectAll'); + + // We must save before we hide so Safari doesn't crash + t.save(); + DOM.hide(t.getContainer()); + DOM.setStyle(t.id, 'display', t.orgDisplay); + }, + + isHidden : function() { + return !DOM.isHidden(this.id); + }, + + setProgressState : function(b, ti, o) { + this.onSetProgressState.dispatch(this, b, ti, o); + + return b; + }, + + remove : function() { + var t = this; + + t.removed = 1; // Cancels post remove event execution + t.hide(); + DOM.remove(t.getContainer()); + + t.execCallback('remove_instance_callback', t); + t.onRemove.dispatch(t); + + // Clear all execCommand listeners this is required to avoid errors if the editor was removed inside another command + t.onExecCommand.listeners = []; + + EditorManager.remove(t); + }, + + resizeToContent : function() { + var t = this; + + DOM.setStyle(t.id + "_ifr", 'height', t.getBody().scrollHeight); + }, + + load : function(o) { + var t = this, e = t.getElement(), h; + + o = o || {}; + o.load = true; + + h = t.setContent(is(e.value) ? e.value : e.innerHTML, o); + o.element = e; + + if (!o.no_events) + t.onLoadContent.dispatch(t, o); + + o.element = e = null; + + return h; + }, + + save : function(o) { + var t = this, e = t.getElement(), h, f; + + if (!t.initialized) + return; + + o = o || {}; + o.save = true; + + o.element = e; + h = o.content = t.getContent(o); + + if (!o.no_events) + t.onSaveContent.dispatch(t, o); + + h = o.content; + + if (!/TEXTAREA|INPUT/i.test(e.nodeName)) { + e.innerHTML = h; + + // Update hidden form element + if (f = DOM.getParent(t.id, 'form')) { + each(f.elements, function(e) { + if (e.name == t.id) { + e.value = h; + return false; + } + }); + } + } else + e.value = h; + + o.element = e = null; + + return h; + }, + + setContent : function(h, o) { + var t = this; + + o = o || {}; + o.format = o.format || 'html'; + o.set = true; + o.content = h; + + if (!o.no_events) + t.onBeforeSetContent.dispatch(t, o); + + // Padd empty content in Gecko and Safari. Commands will otherwise fail on the content + // It will also be impossible to place the caret in the editor unless there is a BR element present + if (!tinymce.isIE && (h.length === 0 || /^\s+$/.test(h))) { + o.content = t.dom.setHTML(t.getBody(), '
    ', 1); + o.format = 'raw'; + } + + o.content = t.dom.setHTML(t.getBody(), tinymce.trim(o.content)); + + if (o.format != 'raw' && t.settings.cleanup) { + o.getInner = true; + o.content = t.dom.setHTML(t.getBody(), t.serializer.serialize(t.getBody(), o)); + } + + if (!o.no_events) + t.onSetContent.dispatch(t, o); + + return o.content; + }, + + getContent : function(o) { + var t = this, h; + + o = o || {}; + o.format = o.format || 'html'; + o.get = true; + + if (!o.no_events) + t.onBeforeGetContent.dispatch(t, o); + + if (o.format != 'raw' && t.settings.cleanup) { + o.getInner = true; + h = t.serializer.serialize(t.getBody(), o); + } else + h = t.getBody().innerHTML; + + h = h.replace(/^\s*|\s*$/g, ''); + o = {content : h}; + t.onGetContent.dispatch(t, o); + + return o.content; + }, + + isDirty : function() { + var t = this; + + return tinymce.trim(t.startContent) != tinymce.trim(t.getContent({format : 'raw', no_events : 1})) && !t.isNotDirty; + }, + + getContainer : function() { + var t = this; + + if (!t.container) + t.container = DOM.get(t.editorContainer || t.id + '_parent'); + + return t.container; + }, + + getContentAreaContainer : function() { + return this.contentAreaContainer; + }, + + getElement : function() { + return DOM.get(this.settings.content_element || this.id); + }, + + getWin : function() { + var t = this, e; + + if (!t.contentWindow) { + e = DOM.get(t.id + "_ifr"); + + if (e) + t.contentWindow = e.contentWindow; + } + + return t.contentWindow; + }, + + getDoc : function() { + var t = this, w; + + if (!t.contentDocument) { + w = t.getWin(); + + if (w) + t.contentDocument = w.document; + } + + return t.contentDocument; + }, + + getBody : function() { + return this.bodyElement || this.getDoc().body; + }, + + convertURL : function(u, n, e) { + var t = this, s = t.settings; + + // Use callback instead + if (s.urlconverter_callback) + return t.execCallback('urlconverter_callback', u, e, true, n); + + // Don't convert link href since thats the CSS files that gets loaded into the editor also skip local file URLs + if (!s.convert_urls || (e && e.nodeName == 'LINK') || u.indexOf('file:') === 0) + return u; + + // Convert to relative + if (s.relative_urls) + return t.documentBaseURI.toRelative(u); + + // Convert to absolute + u = t.documentBaseURI.toAbsolute(u, s.remove_script_host); + + return u; + }, + + addVisual : function(e) { + var t = this, s = t.settings; + + e = e || t.getBody(); + + if (!is(t.hasVisual)) + t.hasVisual = s.visual; + + each(t.dom.select('table,a', e), function(e) { + var v; + + switch (e.nodeName) { + case 'TABLE': + v = t.dom.getAttrib(e, 'border'); + + if (!v || v == '0') { + if (t.hasVisual) + t.dom.addClass(e, s.visual_table_class); + else + t.dom.removeClass(e, s.visual_table_class); + } + + return; + + case 'A': + v = t.dom.getAttrib(e, 'name'); + + if (v) { + if (t.hasVisual) + t.dom.addClass(e, 'mceItemAnchor'); + else + t.dom.removeClass(e, 'mceItemAnchor'); + } + + return; + } + }); + + t.onVisualAid.dispatch(t, e, t.hasVisual); + }, + + // Internal functions + + _addEvents : function() { + // 'focus', 'blur', 'dblclick', 'beforedeactivate', submit, reset + var t = this, i, s = t.settings, lo = { + mouseup : 'onMouseUp', + mousedown : 'onMouseDown', + click : 'onClick', + keyup : 'onKeyUp', + keydown : 'onKeyDown', + keypress : 'onKeyPress', + submit : 'onSubmit', + reset : 'onReset', + contextmenu : 'onContextMenu', + dblclick : 'onDblClick', + paste : 'onPaste' // Doesn't work in all browsers yet + }; + + function eventHandler(e, o) { + var ty = e.type; + + // Don't fire events when it's removed + if (t.removed) + return; + + // Generic event handler + if (t.onEvent.dispatch(t, e, o) !== false) { + // Specific event handler + t[lo[e.fakeType || e.type]].dispatch(t, e, o); + } + }; + + // Add DOM events + each(lo, function(v, k) { + switch (k) { + case 'contextmenu': + if (tinymce.isOpera) { + // Fake contextmenu on Opera + Event.add(t.getDoc(), 'mousedown', function(e) { + if (e.ctrlKey) { + e.fakeType = 'contextmenu'; + eventHandler(e); + } + }); + } else + Event.add(t.getDoc(), k, eventHandler); + break; + + case 'paste': + Event.add(t.getBody(), k, function(e) { + var tx, h, el, r; + + // Get plain text data + if (e.clipboardData) + tx = e.clipboardData.getData('text/plain'); + else if (tinymce.isIE) + tx = t.getWin().clipboardData.getData('Text'); + + // Get HTML data + /*if (tinymce.isIE) { + el = DOM.add(document.body, 'div', {style : 'visibility:hidden;overflow:hidden;position:absolute;width:1px;height:1px'}); + r = document.body.createTextRange(); + r.moveToElementText(el); + r.execCommand('Paste'); + h = el.innerHTML; + DOM.remove(el); + }*/ + + eventHandler(e, {text : tx, html : h}); + }); + break; + + case 'submit': + case 'reset': + Event.add(t.getElement().form || DOM.getParent(t.id, 'form'), k, eventHandler); + break; + + default: + Event.add(s.content_editable ? t.getBody() : t.getDoc(), k, eventHandler); + } + }); + + Event.add(s.content_editable ? t.getBody() : (isGecko ? t.getDoc() : t.getWin()), 'focus', function(e) { + t.focus(true); + }); + + + // Fixes bug where a specified document_base_uri could result in broken images + // This will also fix drag drop of images in Gecko + if (tinymce.isGecko) { + // Convert all images to absolute URLs +/* t.onSetContent.add(function(ed, o) { + each(ed.dom.select('img'), function(e) { + var v; + + if (v = e.getAttribute('mce_src')) + e.src = t.documentBaseURI.toAbsolute(v); + }) + });*/ + + Event.add(t.getDoc(), 'DOMNodeInserted', function(e) { + var v; + + e = e.target; + + if (e.nodeType === 1 && e.nodeName === 'IMG' && (v = e.getAttribute('mce_src'))) + e.src = t.documentBaseURI.toAbsolute(v); + }); + } + + // Set various midas options in Gecko + if (isGecko) { + function setOpts() { + var t = this, d = t.getDoc(), s = t.settings; + + if (isGecko) { + if (t._isHidden()) { + try { + if (!s.content_editable) + d.designMode = 'On'; + } catch (ex) { + // Fails if it's hidden + } + } + + try { + // Try new Gecko method + d.execCommand("styleWithCSS", 0, false); + } catch (ex) { + // Use old method + if (!t._isHidden()) + d.execCommand("useCSS", 0, true); + } + + if (!s.table_inline_editing) + try {d.execCommand('enableInlineTableEditing', false, false);} catch (ex) {} + + if (!s.object_resizing) + try {d.execCommand('enableObjectResizing', false, false);} catch (ex) {} + } + }; + + t.onBeforeExecCommand.add(setOpts); + t.onMouseDown.add(setOpts); + } + + // Add node change handlers + t.onMouseUp.add(t.nodeChanged); + t.onClick.add(t.nodeChanged); + t.onKeyUp.add(function(ed, e) { + if ((e.keyCode >= 33 && e.keyCode <= 36) || (e.keyCode >= 37 && e.keyCode <= 40) || e.keyCode == 13 || e.keyCode == 45 || e.keyCode == 46 || e.keyCode == 8 || e.ctrlKey) + t.nodeChanged(); + }); + + // Add reset handler + t.onReset.add(function() { + t.setContent(t.startContent, {format : 'raw'}); + }); + + if (t.getParam('tab_focus')) { + function tabCancel(ed, e) { + if (e.keyCode === 9) + return Event.cancel(e); + }; + + function tabHandler(ed, e) { + var x, i, f, el, v; + + function find(d) { + f = DOM.getParent(ed.id, 'form'); + el = f.elements; + + if (f) { + each(el, function(e, i) { + if (e.id == ed.id) { + x = i; + return false; + } + }); + + if (d > 0) { + for (i = x + 1; i < el.length; i++) { + if (el[i].type != 'hidden') + return el[i]; + } + } else { + for (i = x - 1; i >= 0; i--) { + if (el[i].type != 'hidden') + return el[i]; + } + } + } + + return null; + }; + + if (e.keyCode === 9) { + v = explode(ed.getParam('tab_focus')); + + if (v.length == 1) { + v[1] = v[0]; + v[0] = ':prev'; + } + + // Find element to focus + if (e.shiftKey) { + if (v[0] == ':prev') + el = find(-1); + else + el = DOM.get(v[0]); + } else { + if (v[1] == ':next') + el = find(1); + else + el = DOM.get(v[1]); + } + + if (el) { + if (ed = EditorManager.get(el.id || el.name)) + ed.focus(); + else + window.setTimeout(function() {window.focus();el.focus();}, 10); + + return Event.cancel(e); + } + } + }; + + t.onKeyUp.add(tabCancel); + + if (isGecko) { + t.onKeyPress.add(tabHandler); + t.onKeyDown.add(tabCancel); + } else + t.onKeyDown.add(tabHandler); + } + + // Add shortcuts + if (s.custom_shortcuts) { + if (s.custom_undo_redo_keyboard_shortcuts) { + t.addShortcut('ctrl+z', t.getLang('undo_desc'), 'Undo'); + t.addShortcut('ctrl+y', t.getLang('redo_desc'), 'Redo'); + } + + // Add default shortcuts for gecko + if (isGecko) { + t.addShortcut('ctrl+b', t.getLang('bold_desc'), 'Bold'); + t.addShortcut('ctrl+i', t.getLang('italic_desc'), 'Italic'); + t.addShortcut('ctrl+u', t.getLang('underline_desc'), 'Underline'); + } + + // BlockFormat shortcuts keys + for (i=1; i<=6; i++) + t.addShortcut('ctrl+' + i, '', ['FormatBlock', false, '']); + + t.addShortcut('ctrl+7', '', ['FormatBlock', false, '

    ']); + t.addShortcut('ctrl+8', '', ['FormatBlock', false, '

    ']); + t.addShortcut('ctrl+9', '', ['FormatBlock', false, '
    ']); + + function find(e) { + var v = null; + + if (!e.altKey && !e.ctrlKey && !e.metaKey) + return v; + + each(t.shortcuts, function(o) { + if (o.ctrl != e.ctrlKey && (!tinymce.isMac || o.ctrl == e.metaKey)) + return; + + if (o.alt != e.altKey) + return; + + if (o.shift != e.shiftKey) + return; + + if (e.keyCode == o.keyCode || (e.charCode && e.charCode == o.charCode)) { + v = o; + return false; + } + }); + + return v; + }; + + t.onKeyUp.add(function(ed, e) { + var o = find(e); + + if (o) + return Event.cancel(e); + }); + + t.onKeyPress.add(function(ed, e) { + var o = find(e); + + if (o) + return Event.cancel(e); + }); + + t.onKeyDown.add(function(ed, e) { + var o = find(e); + + if (o) { + o.func.call(o.scope); + return Event.cancel(e); + } + }); + } + + if (tinymce.isIE) { + // Fix so resize will only update the width and height attributes not the styles of an image + // It will also block mceItemNoResize items + Event.add(t.getDoc(), 'controlselect', function(e) { + var re = t.resizeInfo, cb; + + e = e.target; + + if (re) + Event.remove(re.node, re.ev, re.cb); + + if (!t.dom.hasClass(e, 'mceItemNoResize')) { + ev = 'resizeend'; + cb = Event.add(e, ev, function(e) { + var v; + + e = e.target; + + if (v = t.dom.getStyle(e, 'width')) { + t.dom.setAttrib(e, 'width', v.replace(/[^0-9%]+/g, '')); + t.dom.setStyle(e, 'width', ''); + } + + if (v = t.dom.getStyle(e, 'height')) { + t.dom.setAttrib(e, 'height', v.replace(/[^0-9%]+/g, '')); + t.dom.setStyle(e, 'height', ''); + } + }); + } else { + ev = 'resizestart'; + cb = Event.add(e, 'resizestart', Event.cancel, Event); + } + + re = t.resizeInfo = { + node : e, + ev : ev, + cb : cb + }; + }); + + t.onKeyDown.add(function(ed, e) { + switch (e.keyCode) { + case 8: + // Fix IE control + backspace browser bug + if (t.selection.getRng().item) { + t.selection.getRng().item(0).removeNode(); + return Event.cancel(e); + } + } + }); + } + + if (tinymce.isOpera) { + t.onClick.add(function(ed, e) { + Event.prevent(e); + }); + } + + // Add custom undo/redo handlers + if (s.custom_undo_redo) { + function addUndo() { + t.undoManager.typing = 0; + t.undoManager.add(); + }; + + // Add undo level on editor blur + if (tinymce.isIE) { + Event.add(t.getWin(), 'blur', function(e) { + var n; + + // Check added for fullscreen bug + if (t.selection) { + n = t.selection.getNode(); + + // Add undo level is selection was lost to another document + if (!t.removed && n.ownerDocument && n.ownerDocument != t.getDoc()) + addUndo(); + } + }); + } else { + Event.add(t.getDoc(), 'blur', function() { + if (t.selection && !t.removed) + addUndo(); + }); + } + + t.onMouseDown.add(addUndo); + + t.onKeyUp.add(function(ed, e) { + if ((e.keyCode >= 33 && e.keyCode <= 36) || (e.keyCode >= 37 && e.keyCode <= 40) || e.keyCode == 13 || e.keyCode == 45 || e.ctrlKey) { + t.undoManager.typing = 0; + t.undoManager.add(); + } + }); + + t.onKeyDown.add(function(ed, e) { + // Is caracter positon keys + if ((e.keyCode >= 33 && e.keyCode <= 36) || (e.keyCode >= 37 && e.keyCode <= 40) || e.keyCode == 13 || e.keyCode == 45) { + if (t.undoManager.typing) { + t.undoManager.add(); + t.undoManager.typing = 0; + } + + return; + } + + if (!t.undoManager.typing) { + t.undoManager.add(); + t.undoManager.typing = 1; + } + }); + } + }, + + _destroy : function() { + var t = this; + + if (t.formElement) { + t.formElement.submit = t.formElement._mceOldSubmit; + t.formElement._mceOldSubmit = null; + } + + t.contentAreaContainer = t.formElement = t.container = t.settings.content_element = t.bodyElement = t.contentDocument = t.contentWindow = null; + + if (t.selection) + t.selection = t.selection.win = t.selection.dom = t.selection.dom.doc = null; + + t.destroyed = 1; + }, + + _convertInlineElements : function() { + var t = this, s = t.settings, dom = t.dom, v, e, na, st, sp; + + function convert(ed, o) { + if (!s.inline_styles) + return; + + if (o.get) { + each(t.dom.select('table,u,strike', o.node), function(n) { + switch (n.nodeName) { + case 'TABLE': + if (v = dom.getAttrib(n, 'height')) { + dom.setStyle(n, 'height', v); + dom.setAttrib(n, 'height', ''); + } + break; + + case 'U': + case 'STRIKE': + sp = dom.create('span', {style : dom.getAttrib(n, 'style')}); + sp.style.textDecoration = n.nodeName == 'U' ? 'underline' : 'line-through'; + dom.setAttrib(sp, 'mce_style', ''); + dom.replace(sp, n, 1); + break; + } + }); + } else if (o.set) { + each(t.dom.select('table,span', o.node), function(n) { + if (n.nodeName == 'TABLE') { + if (v = dom.getStyle(n, 'height')) + dom.setAttrib(n, 'height', v.replace(/[^0-9%]+/g, '')); + } else { + // Convert spans to elements + if (n.style.textDecoration == 'underline') + na = 'u'; + else if (n.style.textDecoration == 'line-through') + na = 'strike'; + else + na = ''; + + if (na) { + n.style.textDecoration = ''; + dom.setAttrib(n, 'mce_style', ''); + + e = dom.create(na, { + style : dom.getAttrib(n, 'style') + }); + + dom.replace(e, n, 1); + } + } + }); + } + }; + + t.onPreProcess.add(convert); + + if (!s.cleanup_on_startup) { + t.onInit.add(function() { + convert(t, {node : t.getBody(), set : 1}); + }); + } + }, + + _convertFonts : function() { + var t = this, s = t.settings, dom = t.dom, sl, cl, fz, fzn, v, i, st, x, nl, sp, f, n; + + // No need + if (!s.inline_styles) + return; + + // Font pt values and font size names + fz = [8, 10, 12, 14, 18, 24, 36]; + fzn = ['xx-small', 'x-small','small','medium','large','x-large', 'xx-large']; + + if (sl = s.font_size_style_values) + sl = explode(sl); + + if (cl = s.font_size_classes) + cl = explode(cl); + + function convertToFonts(no) { + // Convert spans to fonts on non WebKit browsers + if (tinymce.isWebKit || !s.inline_styles) + return; + + nl = t.dom.select('span', no); + for (x = nl.length - 1; x >= 0; x--) { + n = nl[x]; + + f = dom.create('font', { + color : dom.toHex(dom.getStyle(n, 'color')), + face : dom.getStyle(n, 'fontFamily'), + style : dom.getAttrib(n, 'style') + }); + + // Clear color and font family + st = f.style; + if (st.color || st.fontFamily) { + st.color = st.fontFamily = ''; + dom.setAttrib(f, 'mce_style', ''); // Remove cached style data + } + + if (sl) { + i = inArray(sl, dom.getStyle(n, 'fontSize')); + + if (i != -1) { + dom.setAttrib(f, 'size', '' + (i + 1 || 1)); + f.style.fontSize = ''; + } + } else if (cl) { + i = inArray(cl, dom.getAttrib(n, 'class')); + v = dom.getStyle(n, 'fontSize'); + + if (i == -1 && v.indexOf('pt') > 0) + i = inArray(fz, parseInt(v)); + + if (i == -1) + i = inArray(fzn, v); + + if (i != -1) { + dom.setAttrib(f, 'size', '' + (i + 1 || 1)); + f.style.fontSize = ''; + } + } + + if (f.color || f.face || f.size) { + f.style.fontFamily = ''; + dom.setAttrib(f, 'mce_style', ''); + dom.replace(f, n, 1); + } + } + }; + + // Run on setup + t.onSetContent.add(function(ed, o) { + convertToFonts(ed.getBody()); + }); + + // Run on cleanup + t.onPreProcess.add(function(ed, o) { + // Keep unit tests happy + if (!s.inline_styles) + return; + + if (o.get) { + nl = t.dom.select('font', o.node); + for (x = nl.length - 1; x >= 0; x--) { + n = nl[x]; + + sp = dom.create('span', { + style : dom.getAttrib(n, 'style') + }); + + dom.setStyles(sp, { + fontFamily : dom.getAttrib(n, 'face'), + color : dom.getAttrib(n, 'color'), + backgroundColor : n.style.backgroundColor + }); + + if (n.size) { + if (sl) + dom.setStyle(sp, 'fontSize', sl[parseInt(n.size) - 1]); + else + dom.setAttrib(sp, 'class', cl[parseInt(n.size) - 1]); + } + + dom.setAttrib(sp, 'mce_style', ''); + dom.replace(sp, n, 1); + } + } + }); + }, + + _isHidden : function() { + var s; + + if (!isGecko) + return 0; + + // Weird, wheres that cursor selection? + s = this.selection.getSel(); + return (!s || !s.rangeCount || s.rangeCount == 0); + }, + + // Fix for bug #1867292 + _fixNesting : function(s) { + var d = [], i; + + s = s.replace(/<(\/)?([^\s>]+)[^>]*?>/g, function(a, b, c) { + var e; + + // Handle end element + if (b === '/') { + if (!d.length) + return ''; + + if (c !== d[d.length - 1].tag) { + for (i=d.length - 1; i>=0; i--) { + if (d[i].tag === c) { + d[i].close = 1; + break; + } + } + + return ''; + } else { + d.pop(); + + if (d.length && d[d.length - 1].close) { + a = a + ''; + d.pop(); + } + } + } else { + // Ignore these + if (/^(br|hr|input|meta|img|link|param)$/i.test(c)) + return a; + + // Ignore closed ones + if (/\/>$/.test(a)) + return a; + + d.push({tag : c}); // Push start element + } + + return a; + }); + + // End all open tags + for (i=d.length - 1; i>=0; i--) + s += ''; + + return s; + } + + }); +})(); + +/* file:jscripts/tiny_mce/classes/EditorCommands.js */ + +(function() { + var each = tinymce.each, isIE = tinymce.isIE, isGecko = tinymce.isGecko, isOpera = tinymce.isOpera, isWebKit = tinymce.isWebKit; + + tinymce.create('tinymce.EditorCommands', { + EditorCommands : function(ed) { + this.editor = ed; + }, + + execCommand : function(cmd, ui, val) { + var t = this, ed = t.editor, f; + + switch (cmd) { + case 'Cut': + case 'Copy': + case 'Paste': + try { + ed.getDoc().execCommand(cmd, ui, val); + } catch (ex) { + if (isGecko) { + ed.windowManager.confirm(ed.getLang('clipboard_msg'), function(s) { + if (s) + window.open('http://www.mozilla.org/editor/midasdemo/securityprefs.html', 'mceExternal'); + }); + } else + ed.windowManager.alert(ed.getLang('clipboard_no_support')); + } + + return true; + + // Ignore these + case 'mceResetDesignMode': + case 'mceBeginUndoLevel': + return true; + + // Ignore these + case 'unlink': + t.UnLink(); + return true; + + // Bundle these together + case 'JustifyLeft': + case 'JustifyCenter': + case 'JustifyRight': + case 'JustifyFull': + t.mceJustify(cmd, cmd.substring(7).toLowerCase()); + return true; + + case 'mceEndUndoLevel': + case 'mceAddUndoLevel': + ed.undoManager.add(); + return true; + + default: + f = this[cmd]; + + if (f) { + f.call(this, ui, val); + return true; + } + } + + return false; + }, + + Indent : function() { + var ed = this.editor, d = ed.dom, s = ed.selection, e, iv, iu; + + // Setup indent level + iv = ed.settings.indentation; + iu = /[a-z%]+$/i.exec(iv); + iv = parseInt(iv); + + if (ed.settings.inline_styles && (!this.queryStateInsertUnorderedList() && !this.queryStateInsertOrderedList())) { + each(this._getSelectedBlocks(), function(e) { + d.setStyle(e, 'paddingLeft', (parseInt(e.style.paddingLeft || 0) + iv) + iu); + }); + + return; + } + + ed.getDoc().execCommand('Indent', false, null); + + if (isIE) { + d.getParent(s.getNode(), function(n) { + if (n.nodeName == 'BLOCKQUOTE') { + n.dir = n.style.cssText = ''; + } + }); + } + }, + + Outdent : function() { + var ed = this.editor, d = ed.dom, s = ed.selection, e, v, iv, iu; + + // Setup indent level + iv = ed.settings.indentation; + iu = /[a-z%]+$/i.exec(iv); + iv = parseInt(iv); + + if (ed.settings.inline_styles && (!this.queryStateInsertUnorderedList() && !this.queryStateInsertOrderedList())) { + each(this._getSelectedBlocks(), function(e) { + v = Math.max(0, parseInt(e.style.paddingLeft || 0) - iv); + d.setStyle(e, 'paddingLeft', v ? v + iu : ''); + }); + + return; + } + + ed.getDoc().execCommand('Outdent', false, null); + }, + + mceSetAttribute : function(u, v) { + var ed = this.editor, d = ed.dom, e; + + if (e = d.getParent(ed.selection.getNode(), d.isBlock)) + d.setAttrib(e, v.name, v.value); + }, + + mceSetContent : function(u, v) { + this.editor.setContent(v); + }, + + mceToggleVisualAid : function() { + var ed = this.editor; + + ed.hasVisual = !ed.hasVisual; + ed.addVisual(); + }, + + mceReplaceContent : function(u, v) { + var s = this.editor.selection; + + s.setContent(v.replace(/\{\$selection\}/g, s.getContent({format : 'text'}))); + }, + + mceInsertLink : function(u, v) { + var ed = this.editor, e = ed.dom.getParent(ed.selection.getNode(), 'A'); + + if (tinymce.is(v, 'string')) + v = {href : v}; + + function set(e) { + each(v, function(v, k) { + ed.dom.setAttrib(e, k, v); + }); + }; + + if (!e) { + ed.execCommand('CreateLink', false, 'javascript:mctmp(0);'); + each(ed.dom.select('a'), function(e) { + if (e.href == 'javascript:mctmp(0);') + set(e); + }); + } else { + if (v.href) + set(e); + else + ed.dom.remove(e, 1); + } + }, + + UnLink : function() { + var ed = this.editor, s = ed.selection; + + if (s.isCollapsed()) + s.select(s.getNode()); + + ed.getDoc().execCommand('unlink', false, null); + s.collapse(0); + }, + + FontName : function(u, v) { + var t = this, ed = t.editor, s = ed.selection, e; + + if (!v) { + if (s.isCollapsed()) + s.select(s.getNode()); + + t.RemoveFormat(); + } else + ed.getDoc().execCommand('FontName', false, v); + }, + + queryCommandValue : function(c) { + var f = this['queryValue' + c]; + + if (f) + return f.call(this, c); + + return false; + }, + + queryCommandState : function(cmd) { + var f; + + switch (cmd) { + // Bundle these together + case 'JustifyLeft': + case 'JustifyCenter': + case 'JustifyRight': + case 'JustifyFull': + return this.queryStateJustify(cmd, cmd.substring(7).toLowerCase()); + + default: + if (f = this['queryState' + cmd]) + return f.call(this, cmd); + } + + return -1; + }, + + queryValueFontSize : function() { + var ed = this.editor, v = 0, p; + + if (isOpera || isWebKit) { + if (p = ed.dom.getParent(ed.selection.getNode(), 'FONT')) + v = p.size; + + return v; + } + + return ed.getDoc().queryCommandValue('FontSize'); + }, + + queryValueFontName : function() { + var ed = this.editor, v = 0, p; + + if (p = ed.dom.getParent(ed.selection.getNode(), 'FONT')) + v = p.face; + + if (!v) + v = ed.getDoc().queryCommandValue('FontName'); + + return v; + }, + + mceJustify : function(c, v) { + var ed = this.editor, se = ed.selection, n = se.getNode(), nn = n.nodeName, bl, nb, dom = ed.dom, rm; + + if (ed.settings.inline_styles && this.queryStateJustify(c, v)) + rm = 1; + + bl = dom.getParent(n, ed.dom.isBlock); + + if (nn == 'IMG') { + if (v == 'full') + return; + + if (rm) { + if (v == 'center') + dom.setStyle(n.parentNode, 'textAlign', ''); + + dom.setStyle(n, 'float', ''); + this.mceRepaint(); + return; + } + + if (v == 'center') { + // Do not change table elements + if (/^(TD|TH)$/.test(bl.nodeName)) + bl = 0; + + if (!bl || bl.childNodes.length > 1) { + nb = dom.create('p'); + nb.appendChild(n.cloneNode(false)); + + if (bl) + dom.insertAfter(nb, bl); + else + dom.insertAfter(nb, n); + + dom.remove(n); + n = nb.firstChild; + bl = nb; + } + + dom.setStyle(bl, 'textAlign', v); + dom.setStyle(n, 'float', ''); + } else { + dom.setStyle(n, 'float', v); + dom.setStyle(n.parentNode, 'textAlign', ''); + } + + this.mceRepaint(); + return; + } + + // Handle the alignment outselfs, less quirks in all browsers + if (ed.settings.inline_styles && ed.settings.forced_root_block) { + if (rm) + v = ''; + + each(this._getSelectedBlocks(dom.getParent(se.getStart(), dom.isBlock), dom.getParent(se.getEnd(), dom.isBlock)), function(e) { + dom.setAttrib(e, 'align', ''); + dom.setStyle(e, 'textAlign', v == 'full' ? 'justify' : v); + }); + + return; + } else if (!rm) + ed.getDoc().execCommand(c, false, null); + + if (ed.settings.inline_styles) { + if (rm) { + dom.getParent(ed.selection.getNode(), function(n) { + if (n.style && n.style.textAlign) + dom.setStyle(n, 'textAlign', ''); + }); + + return; + } + + each(dom.select('*'), function(n) { + var v = n.align; + + if (v) { + if (v == 'full') + v = 'justify'; + + dom.setStyle(n, 'textAlign', v); + dom.setAttrib(n, 'align', ''); + } + }); + } + }, + + mceSetCSSClass : function(u, v) { + this.mceSetStyleInfo(0, {command : 'setattrib', name : 'class', value : v}); + }, + + getSelectedElement : function() { + var t = this, ed = t.editor, dom = ed.dom, se = ed.selection, r = se.getRng(), r1, r2, sc, ec, so, eo, e, sp, ep, re; + + if (se.isCollapsed() || r.item) + return se.getNode(); + + // Setup regexp + re = ed.settings.merge_styles_invalid_parents; + if (tinymce.is(re, 'string')) + re = new RegExp(re, 'i'); + + if (isIE) { + r1 = r.duplicate(); + r1.collapse(true); + sc = r1.parentElement(); + + r2 = r.duplicate(); + r2.collapse(false); + ec = r2.parentElement(); + + if (sc != ec) { + r1.move('character', 1); + sc = r1.parentElement(); + } + + if (sc == ec) { + r1 = r.duplicate(); + r1.moveToElementText(sc); + + if (r1.compareEndPoints('StartToStart', r) == 0 && r1.compareEndPoints('EndToEnd', r) == 0) + return re && re.test(sc.nodeName) ? null : sc; + } + } else { + function getParent(n) { + return dom.getParent(n, function(n) {return n.nodeType == 1;}); + }; + + sc = r.startContainer; + ec = r.endContainer; + so = r.startOffset; + eo = r.endOffset; + + if (!r.collapsed) { + if (sc == ec) { + if (so - eo < 2) { + if (sc.hasChildNodes()) { + sp = sc.childNodes[so]; + return re && re.test(sp.nodeName) ? null : sp; + } + } + } + } + + if (sc.nodeType != 3 || ec.nodeType != 3) + return null; + + if (so == 0) { + sp = getParent(sc); + + if (sp && sp.firstChild != sc) + sp = null; + } + + if (so == sc.nodeValue.length) { + e = sc.nextSibling; + + if (e && e.nodeType == 1) + sp = sc.nextSibling; + } + + if (eo == 0) { + e = ec.previousSibling; + + if (e && e.nodeType == 1) + ep = e; + } + + if (eo == ec.nodeValue.length) { + ep = getParent(ec); + + if (ep && ep.lastChild != ec) + ep = null; + } + + // Same element + if (sp == ep) + return re && sp && re.test(sp.nodeName) ? null : sp; + } + + return null; + }, + + InsertHorizontalRule : function() { + // Fix for Gecko
    issue and IE bug rep(/(.*?)<\/a>/gi,"[url=$1]$2[/url]"); + if (isGecko || isIE) + this.editor.selection.setContent('
    '); + else + this.editor.getDoc().execCommand('InsertHorizontalRule', false, ''); + }, + + RemoveFormat : function() { + var t = this, ed = t.editor, s = ed.selection, b; + + // Safari breaks tables + if (isWebKit) + s.setContent(s.getContent({format : 'raw'}).replace(/(<(span|b|i|strong|em|strike) [^>]+>|<(span|b|i|strong|em|strike)>|<\/(span|b|i|strong|em|strike)>|)/g, ''), {format : 'raw'}); + else + ed.getDoc().execCommand('RemoveFormat', false, null); + + t.mceSetStyleInfo(0, {command : 'removeformat'}); + ed.addVisual(); + }, + + mceSetStyleInfo : function(u, v) { + var t = this, ed = t.editor, d = ed.getDoc(), dom = ed.dom, e, b, s = ed.selection, nn = v.wrapper || 'span', b = s.getBookmark(), re; + + function set(n, e) { + if (n.nodeType == 1) { + switch (v.command) { + case 'setattrib': + return dom.setAttrib(n, v.name, v.value); + + case 'setstyle': + return dom.setStyle(n, v.name, v.value); + + case 'removeformat': + return dom.setAttrib(n, 'class', ''); + } + } + }; + + // Setup regexp + re = ed.settings.merge_styles_invalid_parents; + if (tinymce.is(re, 'string')) + re = new RegExp(re, 'i'); + + // Set style info on selected element + if (e = t.getSelectedElement()) + set(e, 1); + else { + // Generate wrappers and set styles on them + d.execCommand('FontName', false, '__'); + each(isWebKit ? dom.select('span') : dom.select('font'), function(n) { + var sp, e; + + if (dom.getAttrib(n, 'face') == '__' || n.style.fontFamily === '__') { + sp = dom.create(nn, {mce_new : '1'}); + + set(sp); + + each (n.childNodes, function(n) { + sp.appendChild(n.cloneNode(true)); + }); + + dom.replace(sp, n); + } + }); + } + + // Remove wrappers inside new ones + each(dom.select(nn).reverse(), function(n) { + var p = n.parentNode; + + dom.setAttrib(n, 'mce_new', ''); + + // Check if it's an old span in a new wrapper + if (!dom.getAttrib(n, 'mce_new')) { + // Find new wrapper + p = dom.getParent(n, function(n) { + return n.nodeType == 1 && dom.getAttrib(n, 'mce_new'); + }); + + if (p) + dom.remove(n, 1); + } + }); + + // Merge wrappers with parent wrappers + each(dom.select(nn).reverse(), function(n) { + var p = n.parentNode; + + if (!p) + return; + + // Has parent of the same type and only child + if (p.nodeName == nn.toUpperCase() && p.childNodes.length == 1) + return dom.remove(p, 1); + + // Has parent that is more suitable to have the class and only child + if (n.nodeType == 1 && (!re || !re.test(p.nodeName)) && p.childNodes.length == 1) { + set(p); // Set style info on parent instead + dom.setAttrib(n, 'class', ''); + } + }); + + // Remove empty wrappers + each(dom.select(nn).reverse(), function(n) { + if (!dom.getAttrib(n, 'class') && !dom.getAttrib(n, 'style')) + return dom.remove(n, 1); + }); + + s.moveToBookmark(b); + }, + + queryStateJustify : function(c, v) { + var ed = this.editor, n = ed.selection.getNode(), dom = ed.dom; + + if (n && n.nodeName == 'IMG') { + if (dom.getStyle(n, 'float') == v) + return 1; + + return n.parentNode.style.textAlign == v; + } + + n = dom.getParent(ed.selection.getStart(), function(n) { + return n.nodeType == 1 && n.style.textAlign; + }); + + if (v == 'full') + v = 'justify'; + + if (ed.settings.inline_styles) + return (n && n.style.textAlign == v); + + return ed.getDoc().queryCommandState(c); + }, + + HiliteColor : function(ui, val) { + var t = this, ed = t.editor, d = ed.getDoc(); + + function set(s) { + if (!isGecko) + return; + + try { + // Try new Gecko method + d.execCommand("styleWithCSS", 0, s); + } catch (ex) { + // Use old + d.execCommand("useCSS", 0, !s); + } + }; + + if (isGecko || isOpera) { + set(true); + d.execCommand('hilitecolor', false, val); + set(false); + } else + d.execCommand('BackColor', false, val); + }, + + Undo : function() { + var ed = this.editor; + + if (ed.settings.custom_undo_redo) { + ed.undoManager.undo(); + ed.nodeChanged(); + } else + ed.getDoc().execCommand('Undo', false, null); + }, + + Redo : function() { + var ed = this.editor; + + if (ed.settings.custom_undo_redo) { + ed.undoManager.redo(); + ed.nodeChanged(); + } else + ed.getDoc().execCommand('Redo', false, null); + }, + + FormatBlock : function(ui, val) { + var t = this, ed = t.editor; + + val = ed.settings.forced_root_block ? (val || '

    ') : val; + + if (/^(P|DIV|H[1-6]|ADDRESS|BLOCKQUOTE|PRE)$/.test(ed.selection.getNode().nodeName)) + t.mceRemoveNode(); + + if (val.indexOf('<') == -1) + val = '<' + val + '>'; + + if (tinymce.isGecko) + val = val.replace(/<(div|blockquote|code|dt|dd|dl|samp)>/gi, '$1'); + + ed.getDoc().execCommand('FormatBlock', false, val); + }, + + mceCleanup : function() { + var ed = this.editor, s = ed.selection, b = s.getBookmark(); + ed.setContent(ed.getContent()); + s.moveToBookmark(b); + }, + + mceRemoveNode : function(ui, val) { + var ed = this.editor, s = ed.selection, b, n = val || s.getNode(); + + // Make sure that the body node isn't removed + if (n == ed.getBody()) + return; + + b = s.getBookmark(); + ed.dom.remove(n, 1); + s.moveToBookmark(b); + ed.nodeChanged(); + }, + + mceSelectNodeDepth : function(ui, val) { + var ed = this.editor, s = ed.selection, c = 0; + + ed.dom.getParent(s.getNode(), function(n) { + if (n.nodeType == 1 && c++ == val) { + s.select(n); + ed.nodeChanged(); + return false; + } + }, ed.getBody()); + }, + + mceSelectNode : function(u, v) { + this.editor.selection.select(v); + }, + + mceInsertContent : function(ui, val) { + this.editor.selection.setContent(val); + }, + + mceInsertRawHTML : function(ui, val) { + var ed = this.editor; + + ed.selection.setContent('tiny_mce_marker'); + ed.setContent(ed.getContent().replace(/tiny_mce_marker/g, val)); + }, + + mceRepaint : function() { + var s, b, e = this.editor; + + if (tinymce.isGecko) { + try { + s = e.selection; + b = s.getBookmark(true); + + if (s.getSel()) + s.getSel().selectAllChildren(e.getBody()); + + s.collapse(true); + s.moveToBookmark(b); + } catch (ex) { + // Ignore + } + } + }, + + queryStateUnderline : function() { + var ed = this.editor, n; + + if (n && n.nodeName == 'A') + return false; + + return ed.getDoc().queryCommandState('Underline'); + }, + + queryStateOutdent : function() { + var ed = this.editor, n; + + if (ed.settings.inline_styles) { + if ((n = ed.dom.getParent(ed.selection.getStart(), ed.dom.isBlock)) && parseInt(n.style.paddingLeft) > 0) + return true; + + if ((n = ed.dom.getParent(ed.selection.getEnd(), ed.dom.isBlock)) && parseInt(n.style.paddingLeft) > 0) + return true; + } else + return !!ed.dom.getParent(ed.selection.getNode(), 'BLOCKQUOTE'); + + return this.queryStateInsertUnorderedList() || this.queryStateInsertOrderedList(); + }, + + queryStateInsertUnorderedList : function() { + return this.editor.dom.getParent(this.editor.selection.getNode(), 'UL'); + }, + + queryStateInsertOrderedList : function() { + return this.editor.dom.getParent(this.editor.selection.getNode(), 'OL'); + }, + + queryStatemceBlockQuote : function() { + return !!this.editor.dom.getParent(this.editor.selection.getStart(), function(n) {return n.nodeName === 'BLOCKQUOTE';}); + }, + + mceBlockQuote : function() { + var t = this, ed = t.editor, s = ed.selection, dom = ed.dom, sb, eb, n, bm, bq, r, bq2, i, nl; + + function getBQ(e) { + return dom.getParent(e, function(n) {return n.nodeName === 'BLOCKQUOTE';}); + }; + + // Get start/end block + sb = dom.getParent(s.getStart(), dom.isBlock); + eb = dom.getParent(s.getEnd(), dom.isBlock); + + // Remove blockquote(s) + if (bq = getBQ(sb)) { + if (sb != eb || sb.childNodes.length > 1 || (sb.childNodes.length == 1 && sb.firstChild.nodeName != 'BR')) + bm = s.getBookmark(); + + // Move all elements after the end block into new bq + if (getBQ(eb)) { + bq2 = bq.cloneNode(false); + + while (n = eb.nextSibling) + bq2.appendChild(n.parentNode.removeChild(n)); + } + + // Add new bq after + if (bq2) + dom.insertAfter(bq2, bq); + + // Move all selected blocks after the current bq + nl = t._getSelectedBlocks(sb, eb); + for (i = nl.length - 1; i >= 0; i--) { + dom.insertAfter(nl[i], bq); + } + + // Empty bq, then remove it + if (/^\s*$/.test(bq.innerHTML)) + dom.remove(bq, 1); // Keep children so boomark restoration works correctly + + // Empty bq, then remote it + if (bq2 && /^\s*$/.test(bq2.innerHTML)) + dom.remove(bq2, 1); // Keep children so boomark restoration works correctly + + if (!bm) { + // Move caret inside empty block element + if (!isIE) { + r = ed.getDoc().createRange(); + r.setStart(sb, 0); + r.setEnd(sb, 0); + s.setRng(r); + } else { + s.select(sb); + s.collapse(0); + + // IE misses the empty block some times element so we must move back the caret + if (dom.getParent(s.getStart(), dom.isBlock) != sb) { + r = s.getRng(); + r.move('character', -1); + r.select(); + } + } + } else + t.editor.selection.moveToBookmark(bm); + + return; + } + + // Since IE can start with a totally empty document we need to add the first bq and paragraph + if (isIE && !sb && !eb) { + t.editor.getDoc().execCommand('Indent'); + n = getBQ(s.getNode()); + n.style.margin = n.dir = ''; // IE adds margin and dir to bq + return; + } + + if (!sb || !eb) + return; + + // If empty paragraph node then do not use bookmark + if (sb != eb || sb.childNodes.length > 1 || (sb.childNodes.length == 1 && sb.firstChild.nodeName != 'BR')) + bm = s.getBookmark(); + + // Move selected block elements into a bq + each(t._getSelectedBlocks(getBQ(s.getStart()), getBQ(s.getEnd())), function(e) { + // Found existing BQ add to this one + if (e.nodeName == 'BLOCKQUOTE' && !bq) { + bq = e; + return; + } + + // No BQ found, create one + if (!bq) { + bq = dom.create('blockquote'); + e.parentNode.insertBefore(bq, e); + } + + // Add children from existing BQ + if (e.nodeName == 'BLOCKQUOTE' && bq) { + n = e.firstChild; + + while (n) { + bq.appendChild(n.cloneNode(true)); + n = n.nextSibling; + } + + dom.remove(e); + return; + } + + // Add non BQ element to BQ + bq.appendChild(dom.remove(e)); + }); + + if (!bm) { + // Move caret inside empty block element + if (!isIE) { + r = ed.getDoc().createRange(); + r.setStart(sb, 0); + r.setEnd(sb, 0); + s.setRng(r); + } else { + s.select(sb); + s.collapse(1); + } + } else + s.moveToBookmark(bm); + }, +/* + _mceBlockQuote : function() { + var t = this, s = t.editor.selection, b = s.getBookmark(), bq, dom = t.editor.dom; + + function findBQ(e) { + return dom.getParent(e, function(n) {return n.nodeName === 'BLOCKQUOTE';}); + }; + + // Remove blockquote(s) + if (findBQ(s.getStart())) { + each(t._getSelectedBlocks(findBQ(s.getStart()), findBQ(s.getEnd())), function(e) { + // Found BQ lets remove it + if (e.nodeName == 'BLOCKQUOTE') + dom.remove(e, 1); + }); + + t.editor.selection.moveToBookmark(b); + return; + } + + each(t._getSelectedBlocks(findBQ(s.getStart()), findBQ(s.getEnd())), function(e) { + var n; + + // Found existing BQ add to this one + if (e.nodeName == 'BLOCKQUOTE' && !bq) { + bq = e; + return; + } + + // No BQ found, create one + if (!bq) { + bq = dom.create('blockquote'); + e.parentNode.insertBefore(bq, e); + } + + // Add children from existing BQ + if (e.nodeName == 'BLOCKQUOTE' && bq) { + n = e.firstChild; + + while (n) { + bq.appendChild(n.cloneNode(true)); + n = n.nextSibling; + } + + dom.remove(e); + + return; + } + + // Add non BQ element to BQ + bq.appendChild(dom.remove(e)); + }); + + t.editor.selection.moveToBookmark(b); + }, +*/ + _getSelectedBlocks : function(st, en) { + var ed = this.editor, dom = ed.dom, s = ed.selection, sb, eb, n, bl = []; + + sb = dom.getParent(st || s.getStart(), dom.isBlock); + eb = dom.getParent(en || s.getEnd(), dom.isBlock); + + if (sb) + bl.push(sb); + + if (sb && eb && sb != eb) { + n = sb; + + while ((n = n.nextSibling) && n != eb) { + if (dom.isBlock(n)) + bl.push(n); + } + } + + if (eb && sb != eb) + bl.push(eb); + + return bl; + } + }); +})(); + + +/* file:jscripts/tiny_mce/classes/UndoManager.js */ + +tinymce.create('tinymce.UndoManager', { + index : 0, + data : null, + typing : 0, + + UndoManager : function(ed) { + var t = this, Dispatcher = tinymce.util.Dispatcher; + + t.editor = ed; + t.data = []; + t.onAdd = new Dispatcher(this); + t.onUndo = new Dispatcher(this); + t.onRedo = new Dispatcher(this); + }, + + add : function(l) { + var t = this, i, ed = t.editor, b, s = ed.settings, la; + + l = l || {}; + l.content = l.content || ed.getContent({format : 'raw', no_events : 1}); + + // Add undo level if needed + l.content = l.content.replace(/^\s*|\s*$/g, ''); + la = t.data[t.index > 0 ? t.index - 1 : 0]; + if (!l.initial && la && l.content == la.content) + return null; + + // Time to compress + if (s.custom_undo_redo_levels) { + if (t.data.length > s.custom_undo_redo_levels) { + for (i = 0; i < t.data.length - 1; i++) + t.data[i] = t.data[i + 1]; + + t.data.length--; + t.index = t.data.length; + } + } + + if (s.custom_undo_redo_restore_selection && !l.initial) + l.bookmark = b = l.bookmark || ed.selection.getBookmark(); + + if (t.index < t.data.length && t.data[t.index].initial) + t.index++; + + // Add level + t.data.length = t.index + 1; + t.data[t.index++] = l; + + if (l.initial) + t.index = 0; + + // Set initial bookmark use first real undo level + if (t.data.length == 2 && t.data[0].initial) + t.data[0].bookmark = b; + + t.onAdd.dispatch(t, l); + ed.isNotDirty = 0; + + //console.dir(t.data); + + return l; + }, + + undo : function() { + var t = this, ed = t.editor, l = l, i; + + if (t.typing) { + t.add(); + t.typing = 0; + } + + if (t.index > 0) { + // If undo on last index then take snapshot + if (t.index == t.data.length && t.index > 1) { + i = t.index; + t.typing = 0; + + if (!t.add()) + t.index = i; + + --t.index; + } + + l = t.data[--t.index]; + ed.setContent(l.content, {format : 'raw'}); + ed.selection.moveToBookmark(l.bookmark); + + t.onUndo.dispatch(t, l); + } + + return l; + }, + + redo : function() { + var t = this, ed = t.editor, l = null; + + if (t.index < t.data.length - 1) { + l = t.data[++t.index]; + ed.setContent(l.content, {format : 'raw'}); + ed.selection.moveToBookmark(l.bookmark); + + t.onRedo.dispatch(t, l); + } + + return l; + }, + + clear : function() { + var t = this; + + t.data = []; + t.index = 0; + t.typing = 0; + t.add({initial : true}); + }, + + hasUndo : function() { + return this.index != 0 || this.typing; + }, + + hasRedo : function() { + return this.index < this.data.length - 1; + } + + }); +/* file:jscripts/tiny_mce/classes/ForceBlocks.js */ + +(function() { + // Shorten names + var Event, isIE, isGecko, isOpera, each, extend; + + Event = tinymce.dom.Event; + isIE = tinymce.isIE; + isGecko = tinymce.isGecko; + isOpera = tinymce.isOpera; + each = tinymce.each; + extend = tinymce.extend; + + tinymce.create('tinymce.ForceBlocks', { + ForceBlocks : function(ed) { + var t = this, s = ed.settings, elm; + + t.editor = ed; + t.dom = ed.dom; + elm = (s.forced_root_block || 'p').toLowerCase(); + s.element = elm.toUpperCase(); + + ed.onPreInit.add(t.setup, t); + + t.reOpera = new RegExp('(\u00a0| | )<\/' + elm + '>', 'gi'); + t.rePadd = new RegExp(']+)><\/p>|]+)\/>|]+)>\s+<\/p>|

    <\/p>||

    \s+<\/p>'.replace(/p/g, elm), 'gi'); + t.reNbsp2BR = new RegExp(']+)>[\s\u00a0]+<\/p>|

    [\s\u00a0]+<\/p>'.replace(/p/g, elm), 'gi'); + t.reBR2Nbsp = new RegExp(']+)>\s*
    \s*<\/p>|

    \s*
    \s*<\/p>'.replace(/p/g, elm), 'gi'); + t.reTrailBr = new RegExp('\s*
    \s*<\/p>'.replace(/p/g, elm), 'gi'); + + function padd(ed, o) { + if (isOpera) + o.content = o.content.replace(t.reOpera, ''); + + o.content = o.content.replace(t.rePadd, '<' + elm + '$1$2$3$4$5$6>\u00a0'); + + if (!isIE && o.set) { + // Use   instead of BR in padded paragraphs + o.content = o.content.replace(t.reNbsp2BR, '<' + elm + '$1$2>
    '); + } else { + o.content = o.content.replace(t.reBR2Nbsp, '<' + elm + '$1$2>\u00a0'); + o.content = o.content.replace(t.reTrailBr, ''); + } + }; + + ed.onBeforeSetContent.add(padd); + ed.onPostProcess.add(padd); + + if (s.forced_root_block) { + ed.onInit.add(t.forceRoots, t); + ed.onSetContent.add(t.forceRoots, t); + ed.onBeforeGetContent.add(t.forceRoots, t); + } + }, + + setup : function() { + var t = this, ed = t.editor, s = ed.settings; + + // Force root blocks when typing and when getting output + if (s.forced_root_block) { + ed.onKeyUp.add(t.forceRoots, t); + ed.onPreProcess.add(t.forceRoots, t); + } + + if (s.force_br_newlines) { + // Force IE to produce BRs on enter + if (isIE) { + ed.onKeyPress.add(function(ed, e) { + var n, s = ed.selection; + + if (e.keyCode == 13 && s.getNode().nodeName != 'LI') { + s.setContent('
    ', {format : 'raw'}); + n = ed.dom.get('__'); + n.removeAttribute('id'); + s.select(n); + s.collapse(); + return Event.cancel(e); + } + }); + } + + return; + } + + if (!isIE && s.force_p_newlines) { +/* ed.onPreProcess.add(function(ed, o) { + each(ed.dom.select('br', o.node), function(n) { + var p = n.parentNode; + + // Replace


    with

     

    + if (p && p.nodeName == 'p' && (p.childNodes.length == 1 || p.lastChild == n)) { + p.replaceChild(ed.getDoc().createTextNode('\u00a0'), n); + } + }); + });*/ + + ed.onKeyPress.add(function(ed, e) { + if (e.keyCode == 13 && !e.shiftKey) { + if (!t.insertPara(e)) + Event.cancel(e); + } + }); + + if (isGecko) { + ed.onKeyDown.add(function(ed, e) { + if ((e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) + t.backspaceDelete(e, e.keyCode == 8); + }); + } + } + + function ren(rn, na) { + var ne = ed.dom.create(na); + + each(rn.attributes, function(a) { + if (a.specified && a.nodeValue) + ne.setAttribute(a.nodeName.toLowerCase(), a.nodeValue); + }); + + each(rn.childNodes, function(n) { + ne.appendChild(n.cloneNode(true)); + }); + + rn.parentNode.replaceChild(ne, rn); + + return ne; + }; + + // Replaces IE:s auto generated paragraphs with the specified element name + if (isIE && s.element != 'P') { + ed.onKeyPress.add(function(ed, e) { + t.lastElm = ed.selection.getNode().nodeName; + }); + + ed.onKeyUp.add(function(ed, e) { + var bl, sel = ed.selection, n = sel.getNode(), b = ed.getBody(); + + if (b.childNodes.length === 1 && n.nodeName == 'P') { + n = ren(n, s.element); + sel.select(n); + sel.collapse(); + ed.nodeChanged(); + } else if (e.keyCode == 13 && !e.shiftKey && t.lastElm != 'P') { + bl = ed.dom.getParent(n, 'P'); + + if (bl) { + ren(bl, s.element); + ed.nodeChanged(); + } + } + }); + } + }, + + find : function(n, t, s) { + var ed = this.editor, w = ed.getDoc().createTreeWalker(n, 4, null, false), c = -1; + + while (n = w.nextNode()) { + c++; + + // Index by node + if (t == 0 && n == s) + return c; + + // Node by index + if (t == 1 && c == s) + return n; + } + + return -1; + }, + + forceRoots : function(ed, e) { + var t = this, ed = t.editor, b = ed.getBody(), d = ed.getDoc(), se = ed.selection, s = se.getSel(), r = se.getRng(), si = -2, ei, so, eo, tr, c = -0xFFFFFF; + var nx, bl, bp, sp, le, nl = b.childNodes, i; + + // Fix for bug #1863847 + if (e && e.keyCode == 13) + return true; + + // Wrap non blocks into blocks + for (i = nl.length - 1; i >= 0; i--) { + nx = nl[i]; + + // Is text or non block element + if (nx.nodeType == 3 || !t.dom.isBlock(nx)) { + if (!bl) { + // Create new block but ignore whitespace + if (nx.nodeType != 3 || /[^\s]/g.test(nx.nodeValue)) { + // Store selection + if (si == -2 && r) { + if (!isIE) { + so = r.startOffset; + eo = r.endOffset; + si = t.find(b, 0, r.startContainer); + ei = t.find(b, 0, r.endContainer); + } else { + tr = d.body.createTextRange(); + tr.moveToElementText(b); + tr.collapse(1); + bp = tr.move('character', c) * -1; + + tr = r.duplicate(); + tr.collapse(1); + sp = tr.move('character', c) * -1; + + tr = r.duplicate(); + tr.collapse(0); + le = (tr.move('character', c) * -1) - sp; + + si = sp - bp; + ei = le; + } + } + + bl = ed.dom.create(ed.settings.forced_root_block); + bl.appendChild(nx.cloneNode(1)); + nx.parentNode.replaceChild(bl, nx); + } + } else { + if (bl.hasChildNodes()) + bl.insertBefore(nx, bl.firstChild); + else + bl.appendChild(nx); + } + } else + bl = null; // Time to create new block + } + + // Restore selection + if (si != -2) { + if (!isIE) { + bl = d.getElementsByTagName(ed.settings.element)[0]; + r = d.createRange(); + + // Select last location or generated block + if (si != -1) + r.setStart(t.find(b, 1, si), so); + else + r.setStart(bl, 0); + + // Select last location or generated block + if (ei != -1) + r.setEnd(t.find(b, 1, ei), eo); + else + r.setEnd(bl, 0); + + if (s) { + s.removeAllRanges(); + s.addRange(r); + } + } else { + try { + r = s.createRange(); + r.moveToElementText(b); + r.collapse(1); + r.moveStart('character', si); + r.moveEnd('character', ei); + r.select(); + } catch (ex) { + // Ignore + } + } + } + }, + + getParentBlock : function(n) { + var d = this.dom; + + return d.getParent(n, d.isBlock); + }, + + insertPara : function(e) { + var t = this, ed = t.editor, d = ed.getDoc(), se = ed.settings, s = ed.selection.getSel(), r = s.getRangeAt(0), b = d.body; + var rb, ra, dir, sn, so, en, eo, sb, eb, bn, bef, aft, sc, ec, n; + + function isEmpty(n) { + n = n.innerHTML; + n = n.replace(/<(img|hr|table)/gi, '-'); // Keep these convert them to - chars + n = n.replace(/<[^>]+>/g, ''); // Remove all tags + + return n.replace(/[ \t\r\n]+/g, '') == ''; + }; + + // If root blocks are forced then use Operas default behavior since it's really good +// Removed due to bug: #1853816 +// if (se.forced_root_block && isOpera) +// return true; + + // Setup before range + rb = d.createRange(); + + // If is before the first block element and in body, then move it into first block element + rb.setStart(s.anchorNode, s.anchorOffset); + rb.collapse(true); + + // Setup after range + ra = d.createRange(); + + // If is before the first block element and in body, then move it into first block element + ra.setStart(s.focusNode, s.focusOffset); + ra.collapse(true); + + // Setup start/end points + dir = rb.compareBoundaryPoints(rb.START_TO_END, ra) < 0; + sn = dir ? s.anchorNode : s.focusNode; + so = dir ? s.anchorOffset : s.focusOffset; + en = dir ? s.focusNode : s.anchorNode; + eo = dir ? s.focusOffset : s.anchorOffset; + + // If the caret is in an invalid location in FF we need to move it into the first block + if (sn == b && en == b && b.firstChild && ed.dom.isBlock(b.firstChild)) { + sn = en = sn.firstChild; + so = eo = 0; + rb = d.createRange(); + rb.setStart(sn, 0); + ra = d.createRange(); + ra.setStart(en, 0); + } + + // Never use body as start or end node + sn = sn.nodeName == "HTML" ? d.body : sn; // Fix for Opera bug: https://bugs.opera.com/show_bug.cgi?id=273224&comments=yes + sn = sn.nodeName == "BODY" ? sn.firstChild : sn; + en = en.nodeName == "HTML" ? d.body : en; // Fix for Opera bug: https://bugs.opera.com/show_bug.cgi?id=273224&comments=yes + en = en.nodeName == "BODY" ? en.firstChild : en; + + // Get start and end blocks + sb = t.getParentBlock(sn); + eb = t.getParentBlock(en); + bn = sb ? sb.nodeName : se.element; // Get block name to create + + // Return inside list use default browser behavior + if (t.dom.getParent(sb, function(n) { return /OL|UL|PRE/.test(n.nodeName); })) + return true; + + // If caption or absolute layers then always generate new blocks within + if (sb && (sb.nodeName == 'CAPTION' || /absolute|relative|static/gi.test(sb.style.position))) { + bn = se.element; + sb = null; + } + + // If caption or absolute layers then always generate new blocks within + if (eb && (eb.nodeName == 'CAPTION' || /absolute|relative|static/gi.test(eb.style.position))) { + bn = se.element; + eb = null; + } + + // Use P instead + if (/(TD|TABLE|TH|CAPTION)/.test(bn) || (sb && bn == "DIV" && /left|right/gi.test(sb.style.cssFloat))) { + bn = se.element; + sb = eb = null; + } + + // Setup new before and after blocks + bef = (sb && sb.nodeName == bn) ? sb.cloneNode(0) : ed.dom.create(bn); + aft = (eb && eb.nodeName == bn) ? eb.cloneNode(0) : ed.dom.create(bn); + + // Remove id from after clone + aft.removeAttribute('id'); + + // Is header and cursor is at the end, then force paragraph under + if (/^(H[1-6])$/.test(bn) && sn.nodeValue && so == sn.nodeValue.length) + aft = ed.dom.create(se.element); + + // Find start chop node + n = sc = sn; + do { + if (n == b || n.nodeType == 9 || t.dom.isBlock(n) || /(TD|TABLE|TH|CAPTION)/.test(n.nodeName)) + break; + + sc = n; + } while ((n = n.previousSibling ? n.previousSibling : n.parentNode)); + + // Find end chop node + n = ec = en; + do { + if (n == b || n.nodeType == 9 || t.dom.isBlock(n) || /(TD|TABLE|TH|CAPTION)/.test(n.nodeName)) + break; + + ec = n; + } while ((n = n.nextSibling ? n.nextSibling : n.parentNode)); + + // Place first chop part into before block element + if (sc.nodeName == bn) + rb.setStart(sc, 0); + else + rb.setStartBefore(sc); + + rb.setEnd(sn, so); + bef.appendChild(rb.cloneContents() || d.createTextNode('')); // Empty text node needed for Safari + + // Place secnd chop part within new block element + try { + ra.setEndAfter(ec); + } catch(ex) { + //console.debug(s.focusNode, s.focusOffset); + } + + ra.setStart(en, eo); + aft.appendChild(ra.cloneContents() || d.createTextNode('')); // Empty text node needed for Safari + + // Create range around everything + r = d.createRange(); + if (!sc.previousSibling && sc.parentNode.nodeName == bn) { + r.setStartBefore(sc.parentNode); + } else { + if (rb.startContainer.nodeName == bn && rb.startOffset == 0) + r.setStartBefore(rb.startContainer); + else + r.setStart(rb.startContainer, rb.startOffset); + } + + if (!ec.nextSibling && ec.parentNode.nodeName == bn) + r.setEndAfter(ec.parentNode); + else + r.setEnd(ra.endContainer, ra.endOffset); + + // Delete and replace it with new block elements + r.deleteContents(); + + // Never wrap blocks in blocks + if (bef.firstChild && bef.firstChild.nodeName == bn) + bef.innerHTML = bef.firstChild.innerHTML; + + if (aft.firstChild && aft.firstChild.nodeName == bn) + aft.innerHTML = aft.firstChild.innerHTML; + + // Padd empty blocks + if (isEmpty(bef)) + bef.innerHTML = '
    '; + + if (isEmpty(aft)) + aft.innerHTML = isOpera ? ' ' : '
    '; // Extra space for Opera so that the caret can move there + + // Opera needs this one backwards + if (isOpera) { + r.insertNode(bef); + r.insertNode(aft); + } else { + r.insertNode(aft); + r.insertNode(bef); + } + + // Normalize + aft.normalize(); + bef.normalize(); + + // Move cursor and scroll into view + r = d.createRange(); + r.selectNodeContents(aft); + r.collapse(1); + s.removeAllRanges(); + s.addRange(r); + + // Safari bug fix, http://bugs.webkit.org/show_bug.cgi?id=16117 + if (tinymce.isWebKit) + ed.getWin().scrollTo(0, ed.dom.getPos(aft).y); + else + aft.scrollIntoView(0); + + return false; + }, + + backspaceDelete : function(e, bs) { + var t = this, ed = t.editor, b = ed.getBody(), n, se = ed.selection, r = se.getRng(), sc = r.startContainer, n; + + // The caret sometimes gets stuck in Gecko if you delete empty paragraphs + // This workaround removes the element by hand and moves the caret to the previous element + if (sc && ed.dom.isBlock(sc) && bs) { + if (sc.childNodes.length == 1 && sc.firstChild.nodeName == 'BR') { + n = sc.previousSibling; + if (n) { + ed.dom.remove(sc); + se.select(n.firstChild); + se.collapse(0); + return Event.cancel(e); + } + } + } + + // Gecko generates BR elements here and there, we don't like those so lets remove them + function handler(e) { + e = e.target; + + // A new BR was created in a block element, remove it + if (e && e.parentNode && e.nodeName == 'BR' && t.getParentBlock(e)) { + ed.dom.remove(e); + Event.remove(b, 'DOMNodeInserted', handler); + } + }; + + // Listen for new nodes + Event._add(b, 'DOMNodeInserted', handler); + + // Remove listener + window.setTimeout(function() { + Event._remove(b, 'DOMNodeInserted', handler); + }, 1); + } + }); +})(); + +/* file:jscripts/tiny_mce/classes/ControlManager.js */ + +(function() { + // Shorten names + var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, extend = tinymce.extend; + + tinymce.create('tinymce.ControlManager', { + ControlManager : function(ed, s) { + var t = this, i; + + s = s || {}; + t.editor = ed; + t.controls = {}; + t.onAdd = new tinymce.util.Dispatcher(t); + t.onPostRender = new tinymce.util.Dispatcher(t); + t.prefix = s.prefix || ed.id + '_'; + + t.onPostRender.add(function() { + each(t.controls, function(c) { + c.postRender(); + }); + }); + }, + + get : function(id) { + return this.controls[this.prefix + id] || this.controls[id]; + }, + + setActive : function(id, s) { + var c = null; + + if (c = this.get(id)) + c.setActive(s); + + return c; + }, + + setDisabled : function(id, s) { + var c = null; + + if (c = this.get(id)) + c.setDisabled(s); + + return c; + }, + + add : function(c) { + var t = this; + + if (c) { + t.controls[c.id] = c; + t.onAdd.dispatch(c, t); + } + + return c; + }, + + createControl : function(n) { + var c, t = this, ed = t.editor; + + each(ed.plugins, function(p) { + if (p.createControl) { + c = p.createControl(n, t); + + if (c) + return false; + } + }); + + switch (n) { + case "|": + case "separator": + return t.createSeparator(); + } + + if (!c && ed.buttons && (c = ed.buttons[n])) + return t.createButton(n, c); + + return t.add(c); + }, + + createDropMenu : function(id, s) { + var t = this, ed = t.editor, c, bm, v; + + s = extend({ + 'class' : 'mceDropDown', + constrain : ed.settings.constrain_menus + }, s); + + s['class'] = s['class'] + ' ' + ed.getParam('skin') + 'Skin'; + if (v = ed.getParam('skin_variant')) + s['class'] += ' ' + ed.getParam('skin') + 'Skin' + v.substring(0, 1).toUpperCase() + v.substring(1); + + id = t.prefix + id; + c = t.controls[id] = new tinymce.ui.DropMenu(id, s); + c.onAddItem.add(function(c, o) { + var s = o.settings; + + s.title = ed.getLang(s.title, s.title); + + if (!s.onclick) { + s.onclick = function(v) { + ed.execCommand(s.cmd, s.ui || false, s.value); + }; + } + }); + + ed.onRemove.add(function() { + c.destroy(); + }); + + // Fix for bug #1897785, #1898007 + if (tinymce.isIE) { + c.onShowMenu.add(function() { + var s = ed.selection, n = s.getNode(); + + if (n.nodeName == 'IMG') + bm = s.getBookmark(); + else + bm = 0; + }); + + c.onHideMenu.add(function() { + if (bm) + ed.selection.moveToBookmark(bm); + }); + } + + return t.add(c); + }, + + createListBox : function(id, s) { + var t = this, ed = t.editor, cmd, c; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.scope = s.scope || ed; + + if (!s.onselect) { + s.onselect = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + scope : s.scope, + control_manager : t + }, s); + + id = t.prefix + id; + + if (ed.settings.use_native_selects) + c = new tinymce.ui.NativeListBox(id, s); + else + c = new tinymce.ui.ListBox(id, s); + + t.controls[id] = c; + + // Fix focus problem in Safari + if (tinymce.isWebKit) { + c.onPostRender.add(function(c, n) { + // Store bookmark on mousedown + Event.add(n, 'mousedown', function() { + ed.bookmark = ed.selection.getBookmark('simple'); + }); + + // Restore on focus, since it might be lost + Event.add(n, 'focus', function() { + ed.selection.moveToBookmark(ed.bookmark); + ed.bookmark = null; + }); + }); + } + + if (c.hideMenu) + ed.onMouseDown.add(c.hideMenu, c); + + return t.add(c); + }, + + createButton : function(id, s) { + var t = this, ed = t.editor, o, c; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.scope = s.scope || ed; + + if (!s.onclick && !s.menu_button) { + s.onclick = function() { + ed.execCommand(s.cmd, s.ui || false, s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + unavailable_prefix : ed.getLang('unavailable', ''), + scope : s.scope, + control_manager : t + }, s); + + id = t.prefix + id; + + if (s.menu_button) { + c = new tinymce.ui.MenuButton(id, s); + ed.onMouseDown.add(c.hideMenu, c); + } else + c = new tinymce.ui.Button(id, s); + + return t.add(c); + }, + + createMenuButton : function(id, s) { + s = s || {}; + s.menu_button = 1; + + return this.createButton(id, s); + }, + + createSplitButton : function(id, s) { + var t = this, ed = t.editor, cmd, c; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.scope = s.scope || ed; + + if (!s.onclick) { + s.onclick = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + if (!s.onselect) { + s.onselect = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + scope : s.scope, + control_manager : t + }, s); + + id = t.prefix + id; + c = t.add(new tinymce.ui.SplitButton(id, s)); + ed.onMouseDown.add(c.hideMenu, c); + + return c; + }, + + createColorSplitButton : function(id, s) { + var t = this, ed = t.editor, cmd, c; + + if (t.get(id)) + return null; + + s.title = ed.translate(s.title); + s.scope = s.scope || ed; + + if (!s.onclick) { + s.onclick = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + if (!s.onselect) { + s.onselect = function(v) { + ed.execCommand(s.cmd, s.ui || false, v || s.value); + }; + } + + s = extend({ + title : s.title, + 'class' : 'mce_' + id, + 'menu_class' : ed.getParam('skin') + 'Skin', + scope : s.scope, + more_colors_title : ed.getLang('more_colors') + }, s); + + id = t.prefix + id; + c = new tinymce.ui.ColorSplitButton(id, s); + ed.onMouseDown.add(c.hideMenu, c); + + // Remove the menu element when the editor is removed + ed.onRemove.add(function() { + c.destroy(); + }); + + return t.add(c); + }, + + createToolbar : function(id, s) { + var c, t = this; + + id = t.prefix + id; + c = new tinymce.ui.Toolbar(id, s); + + if (t.get(id)) + return null; + + return t.add(c); + }, + + createSeparator : function() { + return new tinymce.ui.Separator(); + } + + }); +})(); + +/* file:jscripts/tiny_mce/classes/WindowManager.js */ + +(function() { + var Dispatcher = tinymce.util.Dispatcher, each = tinymce.each, isIE = tinymce.isIE, isOpera = tinymce.isOpera; + + tinymce.create('tinymce.WindowManager', { + WindowManager : function(ed) { + var t = this; + + t.editor = ed; + t.onOpen = new Dispatcher(t); + t.onClose = new Dispatcher(t); + t.params = {}; + t.features = {}; + }, + + open : function(s, p) { + var t = this, f = '', x, y, mo = t.editor.settings.dialog_type == 'modal', w, sw, sh, vp = tinymce.DOM.getViewPort(), u; + + // Default some options + s = s || {}; + p = p || {}; + sw = isOpera ? vp.w : screen.width; // Opera uses windows inside the Opera window + sh = isOpera ? vp.h : screen.height; + s.name = s.name || 'mc_' + new Date().getTime(); + s.width = parseInt(s.width || 320); + s.height = parseInt(s.height || 240); + s.resizable = true; + s.left = s.left || parseInt(sw / 2.0) - (s.width / 2.0); + s.top = s.top || parseInt(sh / 2.0) - (s.height / 2.0); + p.inline = false; + p.mce_width = s.width; + p.mce_height = s.height; + p.mce_auto_focus = s.auto_focus; + + if (mo) { + if (isIE) { + s.center = true; + s.help = false; + s.dialogWidth = s.width + 'px'; + s.dialogHeight = s.height + 'px'; + s.scroll = s.scrollbars || false; + } else + s.modal = s.alwaysRaised = s.dialog = s.centerscreen = s.dependent = true; + } + + // Build features string + each(s, function(v, k) { + if (tinymce.is(v, 'boolean')) + v = v ? 'yes' : 'no'; + + if (!/^(name|url)$/.test(k)) { + if (isIE && mo) + f += (f ? ';' : '') + k + ':' + v; + else + f += (f ? ',' : '') + k + '=' + v; + } + }); + + t.features = s; + t.params = p; + t.onOpen.dispatch(t, s, p); + + u = s.url || s.file; + if (tinymce.relaxedDomain) + u += (u.indexOf('?') == -1 ? '?' : '&') + 'mce_rdomain=' + tinymce.relaxedDomain; + + try { + if (isIE && mo) { + w = 1; + window.showModalDialog(s.url || s.file, window, f); + } else + w = window.open(u, s.name, f); + } catch (ex) { + // Ignore + } + + if (!w) + alert(t.editor.getLang('popup_blocked')); + }, + + close : function(w) { + w.close(); + this.onClose.dispatch(this); + }, + + createInstance : function(cl, a, b, c, d, e) { + var f = tinymce.resolve(cl); + + return new f(a, b, c, d, e); + }, + + confirm : function(t, cb, s) { + cb.call(s || this, confirm(this._decode(this.editor.getLang(t, t)))); + }, + + alert : function(t, cb, s) { + alert(this._decode(t)); + + if (cb) + cb.call(s || this); + }, + + // Internal functions + + _decode : function(s) { + return tinymce.DOM.decode(s).replace(/\\n/g, '\n'); + } + + }); +}()); \ No newline at end of file diff --git a/lib/editor/tinymce/jscripts/tiny_mce/utils/editable_selects.js b/lib/editor/tinymce/jscripts/tiny_mce/utils/editable_selects.js new file mode 100644 index 0000000000..fdad5129ae --- /dev/null +++ b/lib/editor/tinymce/jscripts/tiny_mce/utils/editable_selects.js @@ -0,0 +1,61 @@ +/** + * $Id$ + * + * Makes select boxes editable. + * + * @author Moxiecode + * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. + */ + +var TinyMCE_EditableSelects = { + editSelectElm : null, + + init : function() { + var nl = document.getElementsByTagName("select"), i, d = document, o; + + for (i=0; i'; + h += ''; + + return h; +} + +function updateColor(img_id, form_element_id) { + document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value; +} + +function setBrowserDisabled(id, state) { + var img = document.getElementById(id); + var lnk = document.getElementById(id + "_link"); + + if (lnk) { + if (state) { + lnk.setAttribute("realhref", lnk.getAttribute("href")); + lnk.removeAttribute("href"); + tinyMCEPopup.dom.addClass(img, 'disabled'); + } else { + if (lnk.getAttribute("realhref")) + lnk.setAttribute("href", lnk.getAttribute("realhref")); + + tinyMCEPopup.dom.removeClass(img, 'disabled'); + } + } +} + +function getBrowserHTML(id, target_form_element, type, prefix) { + var option = prefix + "_" + type + "_browser_callback", cb, html; + + cb = tinyMCEPopup.getParam(option, tinyMCEPopup.getParam("file_browser_callback")); + + if (!cb) + return ""; + + html = ""; + html += ''; + html += ''; + + return html; +} + +function openBrowser(img_id, target_form_element, type, option) { + var img = document.getElementById(img_id); + + if (img.className != "mceButtonDisabled") + tinyMCEPopup.openBrowser(target_form_element, type, option); +} + +function selectByValue(form_obj, field_name, value, add_custom, ignore_case) { + if (!form_obj || !form_obj.elements[field_name]) + return; + + var sel = form_obj.elements[field_name]; + + var found = false; + for (var i=0; i x && mx < x + w && my > y && my < y + h)) { + MCLayer.visibleLayer = null; + + if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my)) + return true; + + l.hide(); + } + } + }, + + addCSSClass : function(e, c) { + this.removeCSSClass(e, c); + var a = this.explode(' ', e.className); + a[a.length] = c; + e.className = a.join(' '); + }, + + removeCSSClass : function(e, c) { + var a = this.explode(' ', e.className), i; + + for (i=0; i parseInt(v)) + st = this.mark(f, n); + } + } + + return st; + }, + + hasClass : function(n, c, d) { + return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className); + }, + + getNum : function(n, c) { + c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0]; + c = c.replace(/[^0-9]/g, ''); + + return c; + }, + + addClass : function(n, c, b) { + var o = this.removeClass(n, c); + n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c; + }, + + removeClass : function(n, c) { + c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' '); + return n.className = c != ' ' ? c : ''; + }, + + tags : function(f, s) { + return f.getElementsByTagName(s); + }, + + mark : function(f, n) { + var s = this.settings; + + this.addClass(n, s.invalid_cls); + this.markLabels(f, n, s.invalid_cls); + + return false; + }, + + markLabels : function(f, n, ic) { + var nl, i; + + nl = this.tags(f, "label"); + for (i=0; i