From c944cde4d05164b6271b4f3acbbe2855e31b1a97 Mon Sep 17 00:00:00 2001 From: thomascube Date: Fri, 18 May 2007 13:11:22 +0000 Subject: Removed HTML editor and disabled preview pane --- INSTALL | 3 +- README | 9 - config/db.inc.php.dist | 4 +- config/main.inc.php.dist | 10 +- index.php | 4 +- program/js/editor.js | 148 - program/js/tiny_mce/blank.htm | 9 - program/js/tiny_mce/langs/en.js | 41 - program/js/tiny_mce/langs/readme.txt | 9 - program/js/tiny_mce/license.txt | 504 -- .../js/tiny_mce/plugins/cleanup/editor_plugin.js | 0 .../tiny_mce/plugins/cleanup/editor_plugin_src.js | 10 - program/js/tiny_mce/plugins/cleanup/readme.txt | 1 - .../js/tiny_mce/plugins/emotions/editor_plugin.js | 1 - .../tiny_mce/plugins/emotions/editor_plugin_src.js | 63 - program/js/tiny_mce/plugins/emotions/emotions.htm | 40 - .../tiny_mce/plugins/emotions/images/emotions.gif | Bin 319 -> 0 bytes .../js/tiny_mce/plugins/emotions/images/readme.txt | 2 - .../plugins/emotions/images/smiley-cool.gif | Bin 354 -> 0 bytes .../plugins/emotions/images/smiley-cry.gif | Bin 329 -> 0 bytes .../plugins/emotions/images/smiley-embarassed.gif | Bin 331 -> 0 bytes .../emotions/images/smiley-foot-in-mouth.gif | Bin 344 -> 0 bytes .../plugins/emotions/images/smiley-frown.gif | Bin 340 -> 0 bytes .../plugins/emotions/images/smiley-innocent.gif | Bin 336 -> 0 bytes .../plugins/emotions/images/smiley-kiss.gif | Bin 338 -> 0 bytes .../plugins/emotions/images/smiley-laughing.gif | Bin 344 -> 0 bytes .../plugins/emotions/images/smiley-money-mouth.gif | Bin 321 -> 0 bytes .../plugins/emotions/images/smiley-sealed.gif | Bin 325 -> 0 bytes .../plugins/emotions/images/smiley-smile.gif | Bin 345 -> 0 bytes .../plugins/emotions/images/smiley-surprised.gif | Bin 342 -> 0 bytes .../plugins/emotions/images/smiley-tongue-out.gif | Bin 328 -> 0 bytes .../plugins/emotions/images/smiley-undecided.gif | Bin 337 -> 0 bytes .../plugins/emotions/images/smiley-wink.gif | Bin 351 -> 0 bytes .../plugins/emotions/images/smiley-yell.gif | Bin 336 -> 0 bytes .../plugins/emotions/jscripts/functions.js | 21 - program/js/tiny_mce/plugins/emotions/langs/en.js | 22 - program/js/tiny_mce/plugins/emotions/readme.txt | 1 - program/js/tiny_mce/plugins/media/css/content.css | 26 - program/js/tiny_mce/plugins/media/css/media.css | 68 - program/js/tiny_mce/plugins/media/editor_plugin.js | 1 - .../js/tiny_mce/plugins/media/editor_plugin_src.js | 435 -- program/js/tiny_mce/plugins/media/images/flash.gif | Bin 241 -> 0 bytes program/js/tiny_mce/plugins/media/images/media.gif | Bin 280 -> 0 bytes .../js/tiny_mce/plugins/media/images/quicktime.gif | Bin 303 -> 0 bytes .../js/tiny_mce/plugins/media/images/realmedia.gif | Bin 439 -> 0 bytes .../js/tiny_mce/plugins/media/images/shockwave.gif | Bin 387 -> 0 bytes .../tiny_mce/plugins/media/images/windowsmedia.gif | Bin 415 -> 0 bytes .../js/tiny_mce/plugins/media/jscripts/embed.js | 73 - .../js/tiny_mce/plugins/media/jscripts/media.js | 572 -- program/js/tiny_mce/plugins/media/langs/en.js | 94 - program/js/tiny_mce/plugins/media/media.htm | 723 -- .../tiny_mce/plugins/nonbreaking/editor_plugin.js | 1 - .../plugins/nonbreaking/editor_plugin_src.js | 62 - .../plugins/nonbreaking/images/nonbreaking.gif | Bin 619 -> 0 bytes .../js/tiny_mce/plugins/nonbreaking/langs/en.js | 5 - program/js/tiny_mce/plugins/readme.txt | 1 - .../plugins/searchreplace/css/searchreplace.css | 20 - .../plugins/searchreplace/editor_plugin.js | 1 - .../plugins/searchreplace/editor_plugin_src.js | 173 - .../plugins/searchreplace/images/replace.gif | Bin 125 -> 0 bytes .../searchreplace/images/replace_all_button_bg.gif | Bin 669 -> 0 bytes .../searchreplace/images/replace_button_bg.gif | Bin 669 -> 0 bytes .../plugins/searchreplace/images/search.gif | Bin 191 -> 0 bytes .../searchreplace/jscripts/searchreplace.js | 86 - .../js/tiny_mce/plugins/searchreplace/langs/en.js | 21 - .../js/tiny_mce/plugins/searchreplace/readme.txt | 1 - .../plugins/searchreplace/searchreplace.htm | 107 - program/js/tiny_mce/plugins/spellchecker/changelog | 11 - .../spellchecker/classes/TinyGoogleSpell.class.php | 107 - .../spellchecker/classes/TinyPspell.class.php | 64 - .../spellchecker/classes/TinyPspellShell.class.php | 121 - .../js/tiny_mce/plugins/spellchecker/config.php | 24 - .../tiny_mce/plugins/spellchecker/css/content.css | 5 - .../plugins/spellchecker/css/spellchecker.css | 34 - .../tiny_mce/plugins/spellchecker/editor_plugin.js | 1 - .../plugins/spellchecker/editor_plugin_src.js | 588 -- .../plugins/spellchecker/images/spellchecker.gif | Bin 591 -> 0 bytes .../tiny_mce/plugins/spellchecker/images/wline.gif | Bin 46 -> 0 bytes .../js/tiny_mce/plugins/spellchecker/langs/en.js | 15 - .../js/tiny_mce/plugins/spellchecker/tinyspell.php | 142 - program/js/tiny_mce/plugins/table/cell.htm | 182 - program/js/tiny_mce/plugins/table/css/cell.css | 17 - program/js/tiny_mce/plugins/table/css/row.css | 25 - program/js/tiny_mce/plugins/table/css/table.css | 13 - program/js/tiny_mce/plugins/table/editor_plugin.js | 1 - .../js/tiny_mce/plugins/table/editor_plugin_src.js | 1073 --- .../js/tiny_mce/plugins/table/images/buttons.gif | Bin 1765 -> 0 bytes program/js/tiny_mce/plugins/table/images/table.gif | Bin 287 -> 0 bytes .../plugins/table/images/table_cell_props.gif | Bin 189 -> 0 bytes .../tiny_mce/plugins/table/images/table_delete.gif | Bin 372 -> 0 bytes .../plugins/table/images/table_delete_col.gif | Bin 163 -> 0 bytes .../plugins/table/images/table_delete_row.gif | Bin 171 -> 0 bytes .../table/images/table_insert_col_after.gif | Bin 165 -> 0 bytes .../table/images/table_insert_col_before.gif | Bin 165 -> 0 bytes .../table/images/table_insert_row_after.gif | Bin 163 -> 0 bytes .../table/images/table_insert_row_before.gif | Bin 159 -> 0 bytes .../plugins/table/images/table_merge_cells.gif | Bin 198 -> 0 bytes .../plugins/table/images/table_row_props.gif | Bin 187 -> 0 bytes .../plugins/table/images/table_split_cells.gif | Bin 210 -> 0 bytes program/js/tiny_mce/plugins/table/jscripts/cell.js | 249 - .../tiny_mce/plugins/table/jscripts/merge_cells.js | 24 - program/js/tiny_mce/plugins/table/jscripts/row.js | 200 - .../js/tiny_mce/plugins/table/jscripts/table.js | 364 - program/js/tiny_mce/plugins/table/langs/en.js | 79 - program/js/tiny_mce/plugins/table/merge_cells.htm | 38 - program/js/tiny_mce/plugins/table/readme.txt | 1 - program/js/tiny_mce/plugins/table/row.htm | 159 - program/js/tiny_mce/plugins/table/table.htm | 160 - .../tiny_mce/plugins/visualchars/editor_plugin.js | 1 - .../plugins/visualchars/editor_plugin_src.js | 89 - .../plugins/visualchars/images/visualchars.gif | Bin 134 -> 0 bytes .../js/tiny_mce/plugins/visualchars/langs/en.js | 5 - program/js/tiny_mce/themes/advanced/about.htm | 52 - program/js/tiny_mce/themes/advanced/anchor.htm | 33 - program/js/tiny_mce/themes/advanced/charmap.htm | 53 - .../js/tiny_mce/themes/advanced/color_picker.htm | 74 - .../js/tiny_mce/themes/advanced/docs/en/about.htm | 31 - .../themes/advanced/docs/en/common_buttons.htm | 162 - .../advanced/docs/en/create_accessible_content.htm | 45 - .../docs/en/images/insert_anchor_window.gif | Bin 5189 -> 0 bytes .../docs/en/images/insert_image_window.gif | Bin 7195 -> 0 bytes .../advanced/docs/en/images/insert_link_window.gif | Bin 5658 -> 0 bytes .../docs/en/images/insert_table_window.gif | Bin 7094 -> 0 bytes .../js/tiny_mce/themes/advanced/docs/en/index.htm | 27 - .../advanced/docs/en/insert_anchor_button.htm | 32 - .../advanced/docs/en/insert_image_button.htm | 65 - .../themes/advanced/docs/en/insert_link_button.htm | 33 - .../advanced/docs/en/insert_table_button.htm | 71 - .../js/tiny_mce/themes/advanced/docs/en/style.css | 28 - .../js/tiny_mce/themes/advanced/editor_template.js | 1 - .../themes/advanced/editor_template_src.js | 1574 ---- program/js/tiny_mce/themes/advanced/image.htm | 100 - .../js/tiny_mce/themes/advanced/images/anchor.gif | Bin 171 -> 0 bytes .../themes/advanced/images/anchor_symbol.gif | Bin 70 -> 0 bytes .../tiny_mce/themes/advanced/images/backcolor.gif | Bin 359 -> 0 bytes .../js/tiny_mce/themes/advanced/images/bold.gif | Bin 76 -> 0 bytes .../tiny_mce/themes/advanced/images/bold_de_se.gif | Bin 73 -> 0 bytes .../js/tiny_mce/themes/advanced/images/bold_es.gif | Bin 80 -> 0 bytes .../js/tiny_mce/themes/advanced/images/bold_fr.gif | Bin 78 -> 0 bytes .../js/tiny_mce/themes/advanced/images/bold_ru.gif | Bin 77 -> 0 bytes .../js/tiny_mce/themes/advanced/images/bold_tw.gif | Bin 207 -> 0 bytes .../js/tiny_mce/themes/advanced/images/browse.gif | Bin 113 -> 0 bytes .../js/tiny_mce/themes/advanced/images/bullist.gif | Bin 108 -> 0 bytes .../themes/advanced/images/button_menu.gif | Bin 57 -> 0 bytes .../js/tiny_mce/themes/advanced/images/buttons.gif | Bin 5662 -> 0 bytes .../themes/advanced/images/cancel_button_bg.gif | Bin 677 -> 0 bytes .../js/tiny_mce/themes/advanced/images/charmap.gif | Bin 245 -> 0 bytes .../js/tiny_mce/themes/advanced/images/cleanup.gif | Bin 256 -> 0 bytes .../js/tiny_mce/themes/advanced/images/close.gif | Bin 102 -> 0 bytes .../js/tiny_mce/themes/advanced/images/code.gif | Bin 110 -> 0 bytes .../js/tiny_mce/themes/advanced/images/color.gif | Bin 125 -> 0 bytes .../js/tiny_mce/themes/advanced/images/colors.jpg | Bin 3189 -> 0 bytes .../js/tiny_mce/themes/advanced/images/copy.gif | Bin 263 -> 0 bytes .../tiny_mce/themes/advanced/images/custom_1.gif | Bin 76 -> 0 bytes program/js/tiny_mce/themes/advanced/images/cut.gif | Bin 187 -> 0 bytes .../tiny_mce/themes/advanced/images/forecolor.gif | Bin 342 -> 0 bytes .../js/tiny_mce/themes/advanced/images/help.gif | Bin 295 -> 0 bytes program/js/tiny_mce/themes/advanced/images/hr.gif | Bin 63 -> 0 bytes .../js/tiny_mce/themes/advanced/images/image.gif | Bin 194 -> 0 bytes .../js/tiny_mce/themes/advanced/images/indent.gif | Bin 112 -> 0 bytes .../themes/advanced/images/insert_button_bg.gif | Bin 703 -> 0 bytes .../js/tiny_mce/themes/advanced/images/italic.gif | Bin 79 -> 0 bytes .../themes/advanced/images/italic_de_se.gif | Bin 75 -> 0 bytes .../tiny_mce/themes/advanced/images/italic_es.gif | Bin 74 -> 0 bytes .../tiny_mce/themes/advanced/images/italic_ru.gif | Bin 78 -> 0 bytes .../tiny_mce/themes/advanced/images/italic_tw.gif | Bin 274 -> 0 bytes .../themes/advanced/images/justifycenter.gif | Bin 70 -> 0 bytes .../themes/advanced/images/justifyfull.gif | Bin 71 -> 0 bytes .../themes/advanced/images/justifyleft.gif | Bin 71 -> 0 bytes .../themes/advanced/images/justifyright.gif | Bin 70 -> 0 bytes .../js/tiny_mce/themes/advanced/images/link.gif | Bin 175 -> 0 bytes .../tiny_mce/themes/advanced/images/menu_check.gif | Bin 51 -> 0 bytes .../themes/advanced/images/newdocument.gif | Bin 170 -> 0 bytes .../js/tiny_mce/themes/advanced/images/numlist.gif | Bin 111 -> 0 bytes .../js/tiny_mce/themes/advanced/images/opacity.png | Bin 147 -> 0 bytes .../js/tiny_mce/themes/advanced/images/outdent.gif | Bin 110 -> 0 bytes .../js/tiny_mce/themes/advanced/images/paste.gif | Bin 286 -> 0 bytes .../js/tiny_mce/themes/advanced/images/redo.gif | Bin 169 -> 0 bytes .../themes/advanced/images/removeformat.gif | Bin 168 -> 0 bytes .../tiny_mce/themes/advanced/images/separator.gif | Bin 57 -> 0 bytes .../js/tiny_mce/themes/advanced/images/spacer.gif | Bin 43 -> 0 bytes .../themes/advanced/images/statusbar_resize.gif | Bin 79 -> 0 bytes .../themes/advanced/images/strikethrough.gif | Bin 83 -> 0 bytes program/js/tiny_mce/themes/advanced/images/sub.gif | Bin 148 -> 0 bytes program/js/tiny_mce/themes/advanced/images/sup.gif | Bin 147 -> 0 bytes .../tiny_mce/themes/advanced/images/underline.gif | Bin 88 -> 0 bytes .../themes/advanced/images/underline_es.gif | Bin 79 -> 0 bytes .../themes/advanced/images/underline_fr.gif | Bin 79 -> 0 bytes .../themes/advanced/images/underline_ru.gif | Bin 77 -> 0 bytes .../themes/advanced/images/underline_tw.gif | Bin 245 -> 0 bytes .../js/tiny_mce/themes/advanced/images/undo.gif | Bin 175 -> 0 bytes .../js/tiny_mce/themes/advanced/images/unlink.gif | Bin 190 -> 0 bytes .../tiny_mce/themes/advanced/images/visualaid.gif | Bin 206 -> 0 bytes .../tiny_mce/themes/advanced/images/xp/tab_bg.gif | Bin 694 -> 0 bytes .../tiny_mce/themes/advanced/images/xp/tab_end.gif | Bin 169 -> 0 bytes .../themes/advanced/images/xp/tab_sel_bg.gif | Bin 428 -> 0 bytes .../themes/advanced/images/xp/tab_sel_end.gif | Bin 101 -> 0 bytes .../tiny_mce/themes/advanced/images/xp/tabs_bg.gif | Bin 48 -> 0 bytes .../js/tiny_mce/themes/advanced/jscripts/about.js | 75 - .../js/tiny_mce/themes/advanced/jscripts/anchor.js | 74 - .../tiny_mce/themes/advanced/jscripts/charmap.js | 326 - .../themes/advanced/jscripts/color_picker.js | 249 - .../js/tiny_mce/themes/advanced/jscripts/image.js | 81 - .../js/tiny_mce/themes/advanced/jscripts/link.js | 66 - .../themes/advanced/jscripts/source_editor.js | 59 - program/js/tiny_mce/themes/advanced/langs/en.js | 91 - program/js/tiny_mce/themes/advanced/link.htm | 100 - .../js/tiny_mce/themes/advanced/source_editor.htm | 32 - program/js/tiny_mce/tiny_mce.js | 1 - program/js/tiny_mce/tiny_mce_popup.js | 288 - program/js/tiny_mce/tiny_mce_src.js | 7492 -------------------- program/js/tiny_mce/utils/editable_selects.js | 61 - program/js/tiny_mce/utils/form_utils.js | 210 - program/js/tiny_mce/utils/mclayer.js | 210 - program/js/tiny_mce/utils/mctabs.js | 74 - program/js/tiny_mce/utils/validate.js | 219 - program/steps/mail/compose.inc | 7 +- program/steps/settings/edit_identity.inc | 7 +- program/steps/settings/func.inc | 4 +- skins/default/colorpicker.css | 53 - skins/default/editor_content.css | 58 - skins/default/editor_popup.css | 331 - skins/default/editor_ui.css | 97 - skins/default/splitter.js | 209 - skins/default/templates/addressbook.html | 8 - skins/default/templates/compose.html | 13 +- skins/default/templates/mail.html | 17 - 227 files changed, 18 insertions(+), 20039 deletions(-) delete mode 100644 program/js/editor.js delete mode 100644 program/js/tiny_mce/blank.htm delete mode 100644 program/js/tiny_mce/langs/en.js delete mode 100644 program/js/tiny_mce/langs/readme.txt delete mode 100644 program/js/tiny_mce/license.txt delete mode 100644 program/js/tiny_mce/plugins/cleanup/editor_plugin.js delete mode 100644 program/js/tiny_mce/plugins/cleanup/editor_plugin_src.js delete mode 100644 program/js/tiny_mce/plugins/cleanup/readme.txt delete mode 100644 program/js/tiny_mce/plugins/emotions/editor_plugin.js delete mode 100644 program/js/tiny_mce/plugins/emotions/editor_plugin_src.js delete mode 100644 program/js/tiny_mce/plugins/emotions/emotions.htm delete mode 100644 program/js/tiny_mce/plugins/emotions/images/emotions.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/readme.txt delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-cool.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-cry.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-embarassed.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-frown.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-innocent.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-kiss.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-laughing.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-sealed.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-smile.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-surprised.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-undecided.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-wink.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/images/smiley-yell.gif delete mode 100644 program/js/tiny_mce/plugins/emotions/jscripts/functions.js delete mode 100644 program/js/tiny_mce/plugins/emotions/langs/en.js delete mode 100644 program/js/tiny_mce/plugins/emotions/readme.txt delete mode 100755 program/js/tiny_mce/plugins/media/css/content.css delete mode 100755 program/js/tiny_mce/plugins/media/css/media.css delete mode 100755 program/js/tiny_mce/plugins/media/editor_plugin.js delete mode 100755 program/js/tiny_mce/plugins/media/editor_plugin_src.js delete mode 100755 program/js/tiny_mce/plugins/media/images/flash.gif delete mode 100755 program/js/tiny_mce/plugins/media/images/media.gif delete mode 100755 program/js/tiny_mce/plugins/media/images/quicktime.gif delete mode 100755 program/js/tiny_mce/plugins/media/images/realmedia.gif delete mode 100755 program/js/tiny_mce/plugins/media/images/shockwave.gif delete mode 100755 program/js/tiny_mce/plugins/media/images/windowsmedia.gif delete mode 100755 program/js/tiny_mce/plugins/media/jscripts/embed.js delete mode 100755 program/js/tiny_mce/plugins/media/jscripts/media.js delete mode 100755 program/js/tiny_mce/plugins/media/langs/en.js delete mode 100755 program/js/tiny_mce/plugins/media/media.htm delete mode 100755 program/js/tiny_mce/plugins/nonbreaking/editor_plugin.js delete mode 100755 program/js/tiny_mce/plugins/nonbreaking/editor_plugin_src.js delete mode 100755 program/js/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif delete mode 100755 program/js/tiny_mce/plugins/nonbreaking/langs/en.js delete mode 100644 program/js/tiny_mce/plugins/readme.txt delete mode 100755 program/js/tiny_mce/plugins/searchreplace/css/searchreplace.css delete mode 100644 program/js/tiny_mce/plugins/searchreplace/editor_plugin.js delete mode 100644 program/js/tiny_mce/plugins/searchreplace/editor_plugin_src.js delete mode 100644 program/js/tiny_mce/plugins/searchreplace/images/replace.gif delete mode 100755 program/js/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif delete mode 100755 program/js/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif delete mode 100644 program/js/tiny_mce/plugins/searchreplace/images/search.gif delete mode 100755 program/js/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js delete mode 100644 program/js/tiny_mce/plugins/searchreplace/langs/en.js delete mode 100644 program/js/tiny_mce/plugins/searchreplace/readme.txt delete mode 100755 program/js/tiny_mce/plugins/searchreplace/searchreplace.htm delete mode 100644 program/js/tiny_mce/plugins/spellchecker/changelog delete mode 100644 program/js/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php delete mode 100644 program/js/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php delete mode 100644 program/js/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php delete mode 100644 program/js/tiny_mce/plugins/spellchecker/config.php delete mode 100644 program/js/tiny_mce/plugins/spellchecker/css/content.css delete mode 100644 program/js/tiny_mce/plugins/spellchecker/css/spellchecker.css delete mode 100644 program/js/tiny_mce/plugins/spellchecker/editor_plugin.js delete mode 100644 program/js/tiny_mce/plugins/spellchecker/editor_plugin_src.js delete mode 100644 program/js/tiny_mce/plugins/spellchecker/images/spellchecker.gif delete mode 100644 program/js/tiny_mce/plugins/spellchecker/images/wline.gif delete mode 100644 program/js/tiny_mce/plugins/spellchecker/langs/en.js delete mode 100644 program/js/tiny_mce/plugins/spellchecker/tinyspell.php delete mode 100644 program/js/tiny_mce/plugins/table/cell.htm delete mode 100644 program/js/tiny_mce/plugins/table/css/cell.css delete mode 100644 program/js/tiny_mce/plugins/table/css/row.css delete mode 100644 program/js/tiny_mce/plugins/table/css/table.css delete mode 100644 program/js/tiny_mce/plugins/table/editor_plugin.js delete mode 100644 program/js/tiny_mce/plugins/table/editor_plugin_src.js delete mode 100644 program/js/tiny_mce/plugins/table/images/buttons.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_cell_props.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_delete.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_delete_col.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_delete_row.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_insert_col_after.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_insert_col_before.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_insert_row_after.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_insert_row_before.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_merge_cells.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_row_props.gif delete mode 100644 program/js/tiny_mce/plugins/table/images/table_split_cells.gif delete mode 100644 program/js/tiny_mce/plugins/table/jscripts/cell.js delete mode 100644 program/js/tiny_mce/plugins/table/jscripts/merge_cells.js delete mode 100644 program/js/tiny_mce/plugins/table/jscripts/row.js delete mode 100644 program/js/tiny_mce/plugins/table/jscripts/table.js delete mode 100644 program/js/tiny_mce/plugins/table/langs/en.js delete mode 100644 program/js/tiny_mce/plugins/table/merge_cells.htm delete mode 100644 program/js/tiny_mce/plugins/table/readme.txt delete mode 100644 program/js/tiny_mce/plugins/table/row.htm delete mode 100644 program/js/tiny_mce/plugins/table/table.htm delete mode 100755 program/js/tiny_mce/plugins/visualchars/editor_plugin.js delete mode 100755 program/js/tiny_mce/plugins/visualchars/editor_plugin_src.js delete mode 100755 program/js/tiny_mce/plugins/visualchars/images/visualchars.gif delete mode 100755 program/js/tiny_mce/plugins/visualchars/langs/en.js delete mode 100644 program/js/tiny_mce/themes/advanced/about.htm delete mode 100644 program/js/tiny_mce/themes/advanced/anchor.htm delete mode 100644 program/js/tiny_mce/themes/advanced/charmap.htm delete mode 100644 program/js/tiny_mce/themes/advanced/color_picker.htm delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/about.htm delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/common_buttons.htm delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/index.htm delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/insert_image_button.htm delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/insert_link_button.htm delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/insert_table_button.htm delete mode 100644 program/js/tiny_mce/themes/advanced/docs/en/style.css delete mode 100644 program/js/tiny_mce/themes/advanced/editor_template.js delete mode 100644 program/js/tiny_mce/themes/advanced/editor_template_src.js delete mode 100644 program/js/tiny_mce/themes/advanced/image.htm delete mode 100644 program/js/tiny_mce/themes/advanced/images/anchor.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/anchor_symbol.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/backcolor.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/bold.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/bold_de_se.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/bold_es.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/bold_fr.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/bold_ru.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/bold_tw.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/browse.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/bullist.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/button_menu.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/buttons.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/cancel_button_bg.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/charmap.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/cleanup.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/close.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/code.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/color.gif delete mode 100755 program/js/tiny_mce/themes/advanced/images/colors.jpg delete mode 100644 program/js/tiny_mce/themes/advanced/images/copy.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/custom_1.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/cut.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/forecolor.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/help.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/hr.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/image.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/indent.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/insert_button_bg.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/italic.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/italic_de_se.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/italic_es.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/italic_ru.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/italic_tw.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/justifycenter.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/justifyfull.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/justifyleft.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/justifyright.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/link.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/menu_check.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/newdocument.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/numlist.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/opacity.png delete mode 100644 program/js/tiny_mce/themes/advanced/images/outdent.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/paste.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/redo.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/removeformat.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/separator.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/spacer.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/statusbar_resize.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/strikethrough.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/sub.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/sup.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/underline.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/underline_es.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/underline_fr.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/underline_ru.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/underline_tw.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/undo.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/unlink.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/visualaid.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/xp/tab_bg.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/xp/tab_end.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif delete mode 100644 program/js/tiny_mce/themes/advanced/images/xp/tabs_bg.gif delete mode 100644 program/js/tiny_mce/themes/advanced/jscripts/about.js delete mode 100644 program/js/tiny_mce/themes/advanced/jscripts/anchor.js delete mode 100644 program/js/tiny_mce/themes/advanced/jscripts/charmap.js delete mode 100644 program/js/tiny_mce/themes/advanced/jscripts/color_picker.js delete mode 100644 program/js/tiny_mce/themes/advanced/jscripts/image.js delete mode 100644 program/js/tiny_mce/themes/advanced/jscripts/link.js delete mode 100644 program/js/tiny_mce/themes/advanced/jscripts/source_editor.js delete mode 100644 program/js/tiny_mce/themes/advanced/langs/en.js delete mode 100644 program/js/tiny_mce/themes/advanced/link.htm delete mode 100644 program/js/tiny_mce/themes/advanced/source_editor.htm delete mode 100644 program/js/tiny_mce/tiny_mce.js delete mode 100644 program/js/tiny_mce/tiny_mce_popup.js delete mode 100644 program/js/tiny_mce/tiny_mce_src.js delete mode 100644 program/js/tiny_mce/utils/editable_selects.js delete mode 100644 program/js/tiny_mce/utils/form_utils.js delete mode 100644 program/js/tiny_mce/utils/mclayer.js delete mode 100644 program/js/tiny_mce/utils/mctabs.js delete mode 100644 program/js/tiny_mce/utils/validate.js delete mode 100755 skins/default/colorpicker.css delete mode 100644 skins/default/editor_content.css delete mode 100644 skins/default/editor_popup.css delete mode 100644 skins/default/editor_ui.css delete mode 100644 skins/default/splitter.js diff --git a/INSTALL b/INSTALL index d3518ed93..ded4f2c06 100644 --- a/INSTALL +++ b/INSTALL @@ -101,7 +101,8 @@ CONFIGURATION ============= Change the files in config/* according your to environment and your needs. -Details about the config paramaters can be found in the config files. +Details about the config parameters can be found in the config files +or in the wiki: http://trac.roundcube.net/trac.cgi/wiki/Howto_Config UPGRADING diff --git a/README b/README index 2eb7eaad2..f89b21d33 100644 --- a/README +++ b/README @@ -1,15 +1,6 @@ RoundCube Webmail (http://roundcube.net) -ATTENTION ---------- -This is just a snapshot of the current SVN repository and is NOT A STABLE -version of RoundCube. There have been major changes since the latest release -so please read the update instructions carefully. It's not recommended to -replace an existing installation of RoundCube with this version. Also using -a separate database or this installation is highly recommended. - - Introduction: ------------- RoundCube Webmail is a browser-based multilingual IMAP client with an diff --git a/config/db.inc.php.dist b/config/db.inc.php.dist index f9d3b2dab..895aa45f2 100644 --- a/config/db.inc.php.dist +++ b/config/db.inc.php.dist @@ -5,7 +5,7 @@ | Configuration file for database access | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | +-----------------------------------------------------------------------+ @@ -16,7 +16,7 @@ $rcmail_config = array(); // PEAR database DSN for read/write operations // format is db_provider://user:password@host/databse -// currentyl suported db_providers: mysql, sqlite +// currentyl suported db_providers: mysql, pgsql, sqlite $rcmail_config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail'; // postgres example: 'pgsql://roundcube:pass@localhost/roundcubemail'; diff --git a/config/main.inc.php.dist b/config/main.inc.php.dist index d11888dc3..3b8e407c8 100644 --- a/config/main.inc.php.dist +++ b/config/main.inc.php.dist @@ -5,7 +5,7 @@ | Main configuration file | | | | This file is part of the RoundCube Webmail client | - | Copyright (C) 2005, RoundCube Dev. - Switzerland | + | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | | | +-----------------------------------------------------------------------+ @@ -121,7 +121,7 @@ $rcmail_config['date_long'] = 'd.m.Y H:i'; $rcmail_config['date_today'] = 'H:i'; // add this user-agent to message headers when sending -$rcmail_config['useragent'] = 'RoundCube Webmail/0.1b'; +$rcmail_config['useragent'] = 'RoundCube Webmail/0.1-rc1'; // use this name to compose page titles $rcmail_config['product_name'] = 'RoundCube Webmail'; @@ -231,9 +231,6 @@ $rcmail_config['dst_active'] = TRUE; // prefer displaying HTML messages $rcmail_config['prefer_html'] = TRUE; -// compose html formatted messages by default -$rcmail_config['htmleditor'] = TRUE; - // show pretty dates as standard $rcmail_config['prettydate'] = TRUE; @@ -246,8 +243,5 @@ $rcmail_config['message_sort_order'] = 'DESC'; // save compose message every 300 seconds (5min) $rcmail_config['draft_autosave'] = 300; -// default setting if preview pane is enabled -$rcmail_config['preview_pane'] = FALSE; - // end of config file ?> diff --git a/index.php b/index.php index 60474998f..97086c888 100644 --- a/index.php +++ b/index.php @@ -2,7 +2,7 @@ /* +-----------------------------------------------------------------------+ | RoundCube Webmail IMAP Client | - | Version 0.1-20070518 | + | Version 0.1-rc1 | | | | Copyright (C) 2005-2007, RoundCube Dev. - Switzerland | | Licensed under the GNU GPL | @@ -41,7 +41,7 @@ */ // application constants -define('RCMAIL_VERSION', '0.1-20070517'); +define('RCMAIL_VERSION', '0.1-rc1'); define('RCMAIL_CHARSET', 'UTF-8'); define('JS_OBJECT_NAME', 'rcmail'); diff --git a/program/js/editor.js b/program/js/editor.js deleted file mode 100644 index 536ad2ada..000000000 --- a/program/js/editor.js +++ /dev/null @@ -1,148 +0,0 @@ -/* - +-----------------------------------------------------------------------+ - | RoundCube editor js library | - | | - | This file is part of the RoundCube web development suite | - | Copyright (C) 2006, RoundCube Dev, - Switzerland | - | Licensed under the GNU GPL | - | | - +-----------------------------------------------------------------------+ - | Author: Eric Stadtherr | - +-----------------------------------------------------------------------+ - - $Id: editor.js 000 2006-05-18 19:12:28Z roundcube $ -*/ - -// Initialize the message editor - -function rcmail_editor_init(skin_path) -{ - tinyMCE.init({ mode : 'specific_textareas', - accessibility_focus : false, - apply_source_formatting : true, - theme : 'advanced', - plugins : 'emotions,media,nonbreaking,table,searchreplace,spellchecker,visualchars', - theme_advanced_buttons1 : 'bold,italic,underline,separator,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,separator,bullist,numlist,outdent,indent,separator,forecolor,backcolor,formatselect,fontselect,fontsizeselect', - theme_advanced_buttons2 : 'undo,redo,image,media,hr,link,unlink,emotions,charmap,code,nonbreaking,visualchars,separator,search,replace,spellchecker,separator,tablecontrols', - theme_advanced_buttons3 : '', - theme_advanced_toolbar_location : 'top', - theme_advanced_toolbar_align : 'left', - extended_valid_elements : 'font[face|size|color|style],span[id|class|align|style]', - content_css : skin_path + '/editor_content.css', - popups_css : skin_path + '/editor_popup.css', - editor_css : skin_path + '/editor_ui.css' - }); -} - -// Set the state of the HTML/Plain toggles based on the _is_html field value -function rcmail_set_editor_toggle_states() -{ - // set the editor toggle based on the state of the editor - - var htmlFlag = document.getElementsByName('_is_html')[0]; - var toggles = document.getElementsByName('_editorSelect'); - for(var t=0; t"; - composeElement.value = htmlText; - tinyMCE.execCommand('mceAddControl', true, '_message'); - htmlFlag.value = "1"; - } - else - { - rcmail.set_busy(true, 'converting'); - var thisMCE = tinyMCE.getInstanceById('_message'); - var existingHtml = tinyMCE.getContent(); - rcmail_html2plain(existingHtml); - tinyMCE.execCommand('mceRemoveControl', true, '_message'); - htmlFlag.value = "0"; - } -} - -function rcmail_html2plain(htmlText) -{ - var http_request = new rcube_http_request(); - - http_request.onerror = function(o) { rcmail_handle_toggle_error(o); }; - http_request.oncomplete = function(o) { rcmail_set_text_value(o); }; - var url = rcmail.env.bin_path+'html2text.php'; - console.log('HTTP request: ' + url); - http_request.POST(url, htmlText, 'application/octet-stream'); -} - -/* -function old_html2Plain(htmlText) -{ - var http_request = false; - if (window.XMLHttpRequest) - { - http_request = new XMLHttpRequest(); - //http_request.overrideMimeType('text/plain'); - } - - if (http_request) - { - rcmail.set_busy(true); - - http_request.onreadystatechange = function() - { setTextValue(http_request); }; - //var url = window.location.protocol + '://' + - //window.location.host + window.location.pathname + - //'conv_html.php'; - - var url = 'conv_html.php'; - //alert('calling ' + url); - var reqbody = 'htmlText=' + htmlText; - http_request.open('POST', url, true); - http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); - http_request.send(reqbody); - } -} - -*/ - -function rcmail_set_text_value(httpRequest) -{ - rcmail.set_busy(false); - var composeElement = document.getElementById('compose-body'); - composeElement.value = httpRequest.get_text(); -} - -function rcmail_handle_toggle_error(httpRequest) -{ - alert('html2text request returned with error ' + httpRequest.xmlhttp.status); -} diff --git a/program/js/tiny_mce/blank.htm b/program/js/tiny_mce/blank.htm deleted file mode 100644 index 5a4a5a57c..000000000 --- a/program/js/tiny_mce/blank.htm +++ /dev/null @@ -1,9 +0,0 @@ - - - blank_page - - - - - - diff --git a/program/js/tiny_mce/langs/en.js b/program/js/tiny_mce/langs/en.js deleted file mode 100644 index c093eafa0..000000000 --- a/program/js/tiny_mce/langs/en.js +++ /dev/null @@ -1,41 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('',{ -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', -focus_alert : 'A editor instance must be focused before using this command.', -edit_confirm : 'Do you want to use the WYSIWYG mode for this textarea?', -insert_link_title : 'Insert/edit link', -insert : 'Insert', -update : 'Update', -cancel : 'Cancel', -insert_link_url : 'Link URL', -insert_link_target : 'Target', -insert_link_target_same : 'Open link in the same window', -insert_link_target_blank : 'Open link in a new window', -insert_image_title : 'Insert/edit image', -insert_image_src : 'Image URL', -insert_image_alt : 'Image description', -help_desc : 'Help', -bold_img : "bold.gif", -italic_img : "italic.gif", -underline_img : "underline.gif", -clipboard_msg : 'Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?', -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.' -}); diff --git a/program/js/tiny_mce/langs/readme.txt b/program/js/tiny_mce/langs/readme.txt deleted file mode 100644 index 9c3a9d9d9..000000000 --- a/program/js/tiny_mce/langs/readme.txt +++ /dev/null @@ -1,9 +0,0 @@ -Beginning with version 2.0.5 the language packs are no -longer included with the core distribution. -Language packs can be downloaded from the TinyMCE website: -http://tinymce.moxiecode.com/download.php - -The language pack codes are based on ISO-639-1: -http://www.loc.gov/standards/iso639-2/englangn.html - -Plrease try using entities if possible. Like å etc for non a-z characters. diff --git a/program/js/tiny_mce/license.txt b/program/js/tiny_mce/license.txt deleted file mode 100644 index 60d6d4c8f..000000000 --- a/program/js/tiny_mce/license.txt +++ /dev/null @@ -1,504 +0,0 @@ - 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/program/js/tiny_mce/plugins/cleanup/editor_plugin.js b/program/js/tiny_mce/plugins/cleanup/editor_plugin.js deleted file mode 100644 index e69de29bb..000000000 diff --git a/program/js/tiny_mce/plugins/cleanup/editor_plugin_src.js b/program/js/tiny_mce/plugins/cleanup/editor_plugin_src.js deleted file mode 100644 index 8e1312fa0..000000000 --- a/program/js/tiny_mce/plugins/cleanup/editor_plugin_src.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * $Id: editor_plugin_src.js 162 2007-01-03 16:16:52Z spocke $ - * - * Experimental plugin for new Cleanup routine, this logic will be moved into the core ones it's stable enougth. - * - * @author Moxiecode - * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved. - */ - -/* Dummy file since cleanup is now moved to core */ diff --git a/program/js/tiny_mce/plugins/cleanup/readme.txt b/program/js/tiny_mce/plugins/cleanup/readme.txt deleted file mode 100644 index d1a646663..000000000 --- a/program/js/tiny_mce/plugins/cleanup/readme.txt +++ /dev/null @@ -1 +0,0 @@ -Dummy plugin since cleanup is now moved into core. diff --git a/program/js/tiny_mce/plugins/emotions/editor_plugin.js b/program/js/tiny_mce/plugins/emotions/editor_plugin.js deleted file mode 100644 index 4d81e5a86..000000000 --- a/program/js/tiny_mce/plugins/emotions/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('emotions');var TinyMCE_EmotionsPlugin={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}},getControlHTML:function(cn){switch(cn){case"emotions":return tinyMCE.getButtonHTML(cn,'lang_emotions_desc','{$pluginurl}/images/emotions.gif','mceEmotion')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceEmotion":var template=new Array();template['file']='../../plugins/emotions/emotions.htm';template['width']=250;template['height']=160;template['width']+=tinyMCE.getLang('lang_emotions_delta_width',0);template['height']+=tinyMCE.getLang('lang_emotions_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true}return false}};tinyMCE.addPlugin('emotions',TinyMCE_EmotionsPlugin); \ No newline at end of file diff --git a/program/js/tiny_mce/plugins/emotions/editor_plugin_src.js b/program/js/tiny_mce/plugins/emotions/editor_plugin_src.js deleted file mode 100644 index c7d60cf3f..000000000 --- a/program/js/tiny_mce/plugins/emotions/editor_plugin_src.js +++ /dev/null @@ -1,63 +0,0 @@ -/** - * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $ - * - * @author Moxiecode - * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('emotions'); - -// Plucin static class -var TinyMCE_EmotionsPlugin = { - 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 - }; - }, - - /** - * Returns the HTML contents of the emotions control. - */ - getControlHTML : function(cn) { - switch (cn) { - case "emotions": - return tinyMCE.getButtonHTML(cn, 'lang_emotions_desc', '{$pluginurl}/images/emotions.gif', 'mceEmotion'); - } - - return ""; - }, - - /** - * Executes the mceEmotion command. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - // Handle commands - switch (command) { - case "mceEmotion": - var template = new Array(); - - template['file'] = '../../plugins/emotions/emotions.htm'; // Relative to theme - template['width'] = 250; - template['height'] = 160; - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_emotions_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_emotions_delta_height', 0); - - tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); - - return true; - } - - // Pass to next handler in chain - return false; - } -}; - -// Register plugin -tinyMCE.addPlugin('emotions', TinyMCE_EmotionsPlugin); diff --git a/program/js/tiny_mce/plugins/emotions/emotions.htm b/program/js/tiny_mce/plugins/emotions/emotions.htm deleted file mode 100644 index fca8ffa08..000000000 --- a/program/js/tiny_mce/plugins/emotions/emotions.htm +++ /dev/null @@ -1,40 +0,0 @@ - - - {$lang_emotions_title} - - - - - -
-
{$lang_emotions_title}:

- - - - - - - - - - - - - - - - - - - - - - - - - - -
{$lang_emotions_cool}{$lang_emotions_cry}{$lang_emotions_embarassed}{$lang_emotions_foot_in_mouth}
{$lang_emotions_frown}{$lang_emotions_innocent}{$lang_emotions_kiss}{$lang_emotions_laughing}
{$lang_emotions_money_mouth}{$lang_emotions_sealed}{$lang_emotions_smile}{$lang_emotions_surprised}
{$lang_emotions_tongue-out}{$lang_emotions_undecided}{$lang_emotions_wink}{$lang_emotions_yell}
-
- - diff --git a/program/js/tiny_mce/plugins/emotions/images/emotions.gif b/program/js/tiny_mce/plugins/emotions/images/emotions.gif deleted file mode 100644 index a39ed8ec3..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/emotions.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/readme.txt b/program/js/tiny_mce/plugins/emotions/images/readme.txt deleted file mode 100644 index a3cea1b68..000000000 --- a/program/js/tiny_mce/plugins/emotions/images/readme.txt +++ /dev/null @@ -1,2 +0,0 @@ -These emotions where taken from Mozilla Thunderbird. -I hope they don't get angry if I use them here after all this is a open source project aswell. diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-cool.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-cool.gif deleted file mode 100644 index ba90cc36f..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-cool.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-cry.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-cry.gif deleted file mode 100644 index 74d897a4f..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-cry.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-embarassed.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-embarassed.gif deleted file mode 100644 index 963a96b8a..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-embarassed.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif deleted file mode 100644 index 16f68cc1e..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-frown.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-frown.gif deleted file mode 100644 index 716f55e16..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-frown.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-innocent.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-innocent.gif deleted file mode 100644 index 334d49e0e..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-innocent.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-kiss.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-kiss.gif deleted file mode 100644 index 4efd549ed..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-kiss.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-laughing.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-laughing.gif deleted file mode 100644 index 1606c119e..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-laughing.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif deleted file mode 100644 index ca2451e10..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-sealed.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-sealed.gif deleted file mode 100644 index b33d3cca1..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-sealed.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-smile.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-smile.gif deleted file mode 100644 index e6a9e60d5..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-smile.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-surprised.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-surprised.gif deleted file mode 100644 index cb99cdd91..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-surprised.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif deleted file mode 100644 index 2075dc160..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-undecided.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-undecided.gif deleted file mode 100644 index bef7e2573..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-undecided.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-wink.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-wink.gif deleted file mode 100644 index 9faf1aff8..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-wink.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/images/smiley-yell.gif b/program/js/tiny_mce/plugins/emotions/images/smiley-yell.gif deleted file mode 100644 index 648e6e879..000000000 Binary files a/program/js/tiny_mce/plugins/emotions/images/smiley-yell.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/emotions/jscripts/functions.js b/program/js/tiny_mce/plugins/emotions/jscripts/functions.js deleted file mode 100644 index 95a9eafe8..000000000 --- a/program/js/tiny_mce/plugins/emotions/jscripts/functions.js +++ /dev/null @@ -1,21 +0,0 @@ -function init() { - tinyMCEPopup.resizeToInnerSize(); -} - -function insertEmotion(file_name, title) { - title = tinyMCE.getLang(title); - - if (title == null) - title = ""; - - // XML encode - title = title.replace(/&/g, '&'); - title = title.replace(/\"/g, '"'); - title = title.replace(//g, '>'); - - var html = '' + title + ''; - - tinyMCE.execCommand('mceInsertContent', false, html); - tinyMCEPopup.close(); -} diff --git a/program/js/tiny_mce/plugins/emotions/langs/en.js b/program/js/tiny_mce/plugins/emotions/langs/en.js deleted file mode 100644 index 3cdd67517..000000000 --- a/program/js/tiny_mce/plugins/emotions/langs/en.js +++ /dev/null @@ -1,22 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('emotions',{ -title : 'Insert emotion', -desc : 'Emotions', -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' -}); diff --git a/program/js/tiny_mce/plugins/emotions/readme.txt b/program/js/tiny_mce/plugins/emotions/readme.txt deleted file mode 100644 index 4fdb78aec..000000000 --- a/program/js/tiny_mce/plugins/emotions/readme.txt +++ /dev/null @@ -1 +0,0 @@ -Check the TinyMCE documentation for details on this plugin. diff --git a/program/js/tiny_mce/plugins/media/css/content.css b/program/js/tiny_mce/plugins/media/css/content.css deleted file mode 100755 index 1f667e633..000000000 --- a/program/js/tiny_mce/plugins/media/css/content.css +++ /dev/null @@ -1,26 +0,0 @@ -.mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia { - border: 1px dotted #cc0000; - background-position: center; - background-repeat: no-repeat; - background-color: #ffffcc; -} - -.mceItemShockWave { - background-image: url('../images/shockwave.gif'); -} - -.mceItemFlash { - background-image: url('../images/flash.gif'); -} - -.mceItemQuickTime { - background-image: url('../images/quicktime.gif'); -} - -.mceItemWindowsMedia { - background-image: url('../images/windowsmedia.gif'); -} - -.mceItemRealMedia { - background-image: url('../images/realmedia.gif'); -} diff --git a/program/js/tiny_mce/plugins/media/css/media.css b/program/js/tiny_mce/plugins/media/css/media.css deleted file mode 100755 index 89c6bd5a0..000000000 --- a/program/js/tiny_mce/plugins/media/css/media.css +++ /dev/null @@ -1,68 +0,0 @@ -#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/program/js/tiny_mce/plugins/media/editor_plugin.js b/program/js/tiny_mce/plugins/media/editor_plugin.js deleted file mode 100755 index 18337a69c..000000000 --- a/program/js/tiny_mce/plugins/media/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('media');var TinyMCE_MediaPlugin={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}},initInstance:function(inst){if(inst.hasPlugin('flash')&&!tinyMCE.flashWarn){alert('Flash plugin is deprecated and should not be used together with the media plugin.');tinyMCE.flashWarn=true}if(!tinyMCE.settings['media_skip_plugin_css'])tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/media/css/content.css")},getControlHTML:function(cn){switch(cn){case"media":return tinyMCE.getButtonHTML(cn,'lang_media_desc','{$pluginurl}/images/media.gif','mceMedia')}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case"mceMedia":tinyMCE.openWindow({file:'../../plugins/media/media.htm',width:430+tinyMCE.getLang('lang_media_delta_width',0),height:470+tinyMCE.getLang('lang_media_delta_height',0)},{editor_id:editor_id,inline:"yes"});return true}return false},cleanup:function(type,content,inst){var nl,img,i,ne,d,s,ci;switch(type){case"insert_to_editor":img=tinyMCE.getParam("theme_href")+'/images/spacer.gif';content=content.replace(/]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi,'');content=content.replace(/]*)>/gi,'
');content=content.replace(/]*)>/gi,'
');content=content.replace(/<\/(object|embed)([^>]*)>/gi,'
');content=content.replace(/]*)>/gi,'
');content=content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>','gi'),'class="mceItemParam">
');break;case"insert_to_editor_dom":d=inst.getDoc();nl=content.getElementsByTagName("img");for(i=0;i',startPos);attribs=TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos+4,endPos));if(!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class']))continue;endPos+=2;at=attribs['title'];if(at){at=at.replace(/&(#39|apos);/g,"'");at=at.replace(/&#quot;/g,'"');try{pl=eval('x={'+at+'};')}catch(ex){pl={}}}if(!tinyMCE.getParam('media_use_script',false)){switch(attribs['class']){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=tinyMCE.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(!tinyMCE.getParam("relative_urls"))pl.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],pl.src);embedHTML=TinyMCE_MediaPlugin._getEmbed(ci,cb,mt,pl,attribs)}else{switch(attribs['class']){case'mceItemFlash':s='writeFlash';break;case'mceItemShockWave':s='writeShockWave';break;case'mceItemWindowsMedia':s='writeWindowsMedia';break;case'mceItemQuickTime':s='writeQuickTime';break;case'mceItemRealMedia':s='writeRealMedia';break}if(attribs.width)at=at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g,"width:'"+attribs.width+"'");if(attribs.height)at=at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g,"height:'"+attribs.height+"'");if(!tinyMCE.getParam("relative_urls")){pl.src=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],pl.src);at=at.replace(new RegExp("src:'[^']*'","g"),"src:'"+pl.src+"'")}embedHTML=''}chunkBefore=content.substring(0,startPos);chunkAfter=content.substring(endPos);content=chunkBefore+embedHTML+chunkAfter}break}return content},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){if(node==null)return;do{if(node.nodeName=="IMG"&&/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node,'class'))){tinyMCE.switchClass(editor_id+'_media','mceButtonSelected');return true}}while((node=node.parentNode));tinyMCE.switchClass(editor_id+'_media','mceButtonNormal');return true},_createImgFromEmbed:function(n,d,cl){var ne,at,i,ti='',an;ne=d.createElement('img');ne.src=tinyMCE.getParam("theme_href")+'/images/spacer.gif';ne.width=tinyMCE.getAttrib(n,'width');ne.height=tinyMCE.getAttrib(n,'height');ne.className=cl;at=n.attributes;for(i=0;i0?ti.substring(0,ti.length-1):ti;ne.title=ti;n.parentNode.replaceChild(ne,n)},_createImg:function(cl,d,n){var i,nl,ti="",an,av,al=new Array();ne=d.createElement('img');ne.src=tinyMCE.getParam("theme_href")+'/images/spacer.gif';ne.width=tinyMCE.getAttrib(n,'width');ne.height=tinyMCE.getAttrib(n,'height');ne.className=cl;al.id=tinyMCE.getAttrib(n,'id');al.name=tinyMCE.getAttrib(n,'name');al.width=tinyMCE.getAttrib(n,'width');al.height=tinyMCE.getAttrib(n,'height');al.bgcolor=tinyMCE.getAttrib(n,'bgcolor');al.align=tinyMCE.getAttrib(n,'align');al.class_name=tinyMCE.getAttrib(n,'mce_class');nl=n.getElementsByTagName('div');for(i=0;i0?ti.substring(0,ti.length-1):ti;ne.title=ti;return ne},_getEmbed:function(cls,cb,mt,p,at){var h='',n;p.width=at.width?at.width:p.width;p.height=at.height?at.height:p.height;h+='';if(n=='src'&&p[n].indexOf('://')!=-1&&mt=='application/x-mplayer2')h+=''}}h+=']*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi, ''); - content = content.replace(/]*)>/gi, '
'); - content = content.replace(/]*)>/gi, '
'); - content = content.replace(/<\/(object|embed)([^>]*)>/gi, '
'); - content = content.replace(/]*)>/gi, '
'); - content = content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>', 'gi'), 'class="mceItemParam">
'); - break; - - case "insert_to_editor_dom": - d = inst.getDoc(); - nl = content.getElementsByTagName("img"); - for (i=0; i', startPos); - attribs = TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos + 4, endPos)); - - // Is not flash, skip it - if (!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class'])) - continue; - - endPos += 2; - - // Parse attributes - at = attribs['title']; - if (at) { - at = at.replace(/&(#39|apos);/g, "'"); - at = at.replace(/&#quot;/g, '"'); - - try { - pl = eval('x={' + at + '};'); - } catch (ex) { - pl = {}; - } - } - - // Use object/embed - if (!tinyMCE.getParam('media_use_script', false)) { - switch (attribs['class']) { - 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 = tinyMCE.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; - } - - // Force absolute URL - if (!tinyMCE.getParam("relative_urls")) - pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src); - - embedHTML = TinyMCE_MediaPlugin._getEmbed(ci, cb, mt, pl, attribs); - } else { - // Use script version - switch (attribs['class']) { - case 'mceItemFlash': - s = 'writeFlash'; - break; - - case 'mceItemShockWave': - s = 'writeShockWave'; - break; - - case 'mceItemWindowsMedia': - s = 'writeWindowsMedia'; - break; - - case 'mceItemQuickTime': - s = 'writeQuickTime'; - break; - - case 'mceItemRealMedia': - s = 'writeRealMedia'; - break; - } - - if (attribs.width) - at = at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g, "width:'" + attribs.width + "'"); - - if (attribs.height) - at = at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g, "height:'" + attribs.height + "'"); - - // Force absolute URL - if (!tinyMCE.getParam("relative_urls")) { - pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src); - at = at.replace(new RegExp("src:'[^']*'", "g"), "src:'" + pl.src + "'"); - } - - embedHTML = ''; - } - - // Insert embed/object chunk - chunkBefore = content.substring(0, startPos); - chunkAfter = content.substring(endPos); - content = chunkBefore + embedHTML + chunkAfter; - } - break; - } - - return content; - }, - - handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { - if (node == null) - return; - - do { - if (node.nodeName == "IMG" && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node, 'class'))) { - tinyMCE.switchClass(editor_id + '_media', 'mceButtonSelected'); - return true; - } - } while ((node = node.parentNode)); - - tinyMCE.switchClass(editor_id + '_media', 'mceButtonNormal'); - - return true; - }, - - _createImgFromEmbed : function(n, d, cl) { - var ne, at, i, ti = '', an; - - ne = d.createElement('img'); - ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif'; - ne.width = tinyMCE.getAttrib(n, 'width'); - ne.height = tinyMCE.getAttrib(n, 'height'); - ne.className = cl; - - at = n.attributes; - for (i=0; i 0 ? ti.substring(0, ti.length - 1) : ti; - ne.title = ti; - - n.parentNode.replaceChild(ne, n); - }, - - _createImg : function(cl, d, n) { - var i, nl, ti = "", an, av, al = new Array(); - - ne = d.createElement('img'); - ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif'; - ne.width = tinyMCE.getAttrib(n, 'width'); - ne.height = tinyMCE.getAttrib(n, 'height'); - ne.className = cl; - - al.id = tinyMCE.getAttrib(n, 'id'); - al.name = tinyMCE.getAttrib(n, 'name'); - al.width = tinyMCE.getAttrib(n, 'width'); - al.height = tinyMCE.getAttrib(n, 'height'); - al.bgcolor = tinyMCE.getAttrib(n, 'bgcolor'); - al.align = tinyMCE.getAttrib(n, 'align'); - al.class_name = tinyMCE.getAttrib(n, 'mce_class'); - - nl = n.getElementsByTagName('div'); - for (i=0; i 0 ? ti.substring(0, ti.length - 1) : ti; - ne.title = ti; - - return ne; - }, - - _getEmbed : function(cls, cb, mt, p, at) { - var h = '', n; - - p.width = at.width ? at.width : p.width; - p.height = at.height ? at.height : p.height; - - h += ''; - - // Add extra url parameter if it's an absolute URL on WMP - if (n == 'src' && p[n].indexOf('://') != -1 && mt == 'application/x-mplayer2') - h += ''; - } - } - - h += ''; - - h += ''); -} - -function init() { - var pl = "", f, val; - var type = "flash", fe, i; - - tinyMCEPopup.resizeToInnerSize(); - f = document.forms[0] - - fe = tinyMCE.selectedInstance.getFocusElement(); - if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) { - pl = "x={" + fe.title + "};"; - - switch (tinyMCE.getAttrib(fe, 'class')) { - case 'mceItemFlash': - type = 'flash'; - 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 = tinyMCE.getLang('lang_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('filebrowser','src','media','media'); - if (html == "") - document.getElementById("linklistrow").style.display = 'none'; - else - document.getElementById("linklistcontainer").innerHTML = html; - - // Resize some elements - if (isVisible('filebrowsercontainer')) - document.getElementById('src').style.width = '230px'; - - // Setup form - if (pl != "") { - pl = eval(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 = tinyMCE.getAttrib(fe, "width")) != "") - pl.width = f.width.value = val; - - if ((val = tinyMCE.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; - - if (!AutoValidator.validate(f)) { - alert(tinyMCE.getLang('lang_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 = tinyMCE.selectedInstance.getFocusElement(); - if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) { - switch (f.media_type.options[f.media_type.selectedIndex].value) { - case "flash": - fe.className = "mceItemFlash"; - 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.width.height) - tinyMCE.selectedInstance.repaint(); - - 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 = tinyMCE.getParam("media_types", "flash=swf;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';'), i, c, el, x; - - 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; - - 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 = tinyMCE.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 = eval('x={' + pl + '};'); - - if (!pl.src) { - p.innerHTML = ''; - return; - } - - pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], 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 += ' - - {$lang_media_title} - - - - - - - - - - -
- - -
-
-
- {$lang_media_general} - - - - - - - - - - - - - - - - - -
- -
- - - - - -
 
-
 
- - - - - - -
x   
-
-
- -
- {$lang_media_preview} - -
-
- -
-
- {$lang_media_advanced} - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -
 
-
-
- -
- {$lang_media_flash_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - - - - - - - -
-
- -
- {$lang_media_qt_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
-  
- - - - - -
 
-
-
- -
- {$lang_media_wmp_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
-
- -
- {$lang_media_rmp_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
-   -
-
- -
- {$lang_media_shockwave_options} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- - - -
- - - - - -
-
- - - - - -
-
- - - - - -
-
- - - - - -
-
-
-
-
- -
-
- -
- -
- -
-
-
- - diff --git a/program/js/tiny_mce/plugins/nonbreaking/editor_plugin.js b/program/js/tiny_mce/plugins/nonbreaking/editor_plugin.js deleted file mode 100755 index 5b1279720..000000000 --- a/program/js/tiny_mce/plugins/nonbreaking/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('nonbreaking');var TinyMCE_NonBreakingPlugin={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}},getControlHTML:function(cn){switch(cn){case"nonbreaking":return tinyMCE.getButtonHTML(cn,'lang_nonbreaking_desc','{$pluginurl}/images/nonbreaking.gif','mceNonBreaking',false)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),h;switch(command){case"mceNonBreaking":h=(inst.visualChars&&inst.visualChars.state)?'·':' ';tinyMCE.execInstanceCommand(editor_id,'mceInsertContent',false,h);return true}return false},handleEvent:function(e){var inst,h;if(!tinyMCE.isOpera&&e.type=='keydown'&&e.keyCode==9&&tinyMCE.getParam('nonbreaking_force_tab',false)){inst=tinyMCE.selectedInstance;h=(inst.visualChars&&inst.visualChars.state)?'···':'   ';tinyMCE.execInstanceCommand(inst.editorId,'mceInsertContent',false,h);tinyMCE.cancelEvent(e);return false}return true}};tinyMCE.addPlugin("nonbreaking",TinyMCE_NonBreakingPlugin); \ No newline at end of file diff --git a/program/js/tiny_mce/plugins/nonbreaking/editor_plugin_src.js b/program/js/tiny_mce/plugins/nonbreaking/editor_plugin_src.js deleted file mode 100755 index 73d547855..000000000 --- a/program/js/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +++ /dev/null @@ -1,62 +0,0 @@ -/** - * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $ - * - * @author Moxiecode - * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('nonbreaking'); - -var TinyMCE_NonBreakingPlugin = { - 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 - }; - }, - - getControlHTML : function(cn) { - switch (cn) { - case "nonbreaking": - return tinyMCE.getButtonHTML(cn, 'lang_nonbreaking_desc', '{$pluginurl}/images/nonbreaking.gif', 'mceNonBreaking', false); - } - - return ""; - }, - - - execCommand : function(editor_id, element, command, user_interface, value) { - var inst = tinyMCE.getInstanceById(editor_id), h; - - switch (command) { - case "mceNonBreaking": - h = (inst.visualChars && inst.visualChars.state) ? '·' : ' '; - tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, h); - return true; - } - - return false; - }, - - handleEvent : function(e) { - var inst, h; - - if (!tinyMCE.isOpera && e.type == 'keydown' && e.keyCode == 9 && tinyMCE.getParam('nonbreaking_force_tab', false)) { - inst = tinyMCE.selectedInstance; - - h = (inst.visualChars && inst.visualChars.state) ? '···' : '   '; - tinyMCE.execInstanceCommand(inst.editorId, 'mceInsertContent', false, h); - - tinyMCE.cancelEvent(e); - return false; - } - - return true; - } -}; - -tinyMCE.addPlugin("nonbreaking", TinyMCE_NonBreakingPlugin); diff --git a/program/js/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif b/program/js/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif deleted file mode 100755 index a731fc91a..000000000 Binary files a/program/js/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/nonbreaking/langs/en.js b/program/js/tiny_mce/plugins/nonbreaking/langs/en.js deleted file mode 100755 index fd49a646c..000000000 --- a/program/js/tiny_mce/plugins/nonbreaking/langs/en.js +++ /dev/null @@ -1,5 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('nonbreaking',{ -desc : 'Insert non-breaking space character' -}); diff --git a/program/js/tiny_mce/plugins/readme.txt b/program/js/tiny_mce/plugins/readme.txt deleted file mode 100644 index b694fdb6b..000000000 --- a/program/js/tiny_mce/plugins/readme.txt +++ /dev/null @@ -1 +0,0 @@ -This is the location you place TinyMCE plugins. diff --git a/program/js/tiny_mce/plugins/searchreplace/css/searchreplace.css b/program/js/tiny_mce/plugins/searchreplace/css/searchreplace.css deleted file mode 100755 index 4c7bd13c4..000000000 --- a/program/js/tiny_mce/plugins/searchreplace/css/searchreplace.css +++ /dev/null @@ -1,20 +0,0 @@ -/* stylesheet for advsearchreplace plugin*/ - -.panel_wrapper { height: 85px; } -.panel_wrapper div.current { height: 85px; } - -/* MS IE only styles */ -* html .panel_wrapper { height: 100px; } -* html .panel_wrapper div.current { height: 100px; } - -#replaceBtn, #replaceAllBtn { - padding-bottom: 2px; - font-weight: bold; - width: 90px; - height: 21px; - border: 0; - cursor: pointer; -} - -#replaceBtn { background: url(../images/replace_button_bg.gif); } -#replaceAllBtn { background: url(../images/replace_all_button_bg.gif); } diff --git a/program/js/tiny_mce/plugins/searchreplace/editor_plugin.js b/program/js/tiny_mce/plugins/searchreplace/editor_plugin.js deleted file mode 100644 index 959e9cc5c..000000000 --- a/program/js/tiny_mce/plugins/searchreplace/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('searchreplace');var TinyMCE_SearchReplacePlugin={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}},initInstance:function(inst){inst.addShortcut('ctrl','f','lang_searchreplace_search_desc','mceSearch',true);},getControlHTML:function(cn){switch(cn){case"search":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_search_desc','{$pluginurl}/images/search.gif','mceSearch',true);case"replace":return tinyMCE.getButtonHTML(cn,'lang_searchreplace_replace_desc','{$pluginurl}/images/replace.gif','mceSearchReplace',true)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),selectedText=inst.selection.getSelectedText(),rng;function defValue(key,default_value){value[key]=typeof(value[key])=="undefined"?default_value:value[key]}function replaceSel(search_str,str,back){if(!inst.selection.isCollapsed()){if(tinyMCE.isRealIE)inst.selection.getRng().duplicate().pasteHTML(str);else inst.execCommand('mceInsertContent',false,str)}}if(!value)value=[];defValue("editor_id",editor_id);defValue("searchstring",selectedText);defValue("replacestring",null);defValue("replacemode","none");defValue("casesensitive",false);defValue("backwards",false);defValue("wrap",false);defValue("wholeword",false);defValue("inline","yes");defValue("resizable","no");switch(command){case"mceSearch":if(user_interface){var template=new Array();template['file']='../../plugins/searchreplace/searchreplace.htm';template['width']=380;template['height']=155+(tinyMCE.isNS7?20:0)+(tinyMCE.isMSIE?15:0);template['width']+=tinyMCE.getLang('lang_searchreplace_delta_width',0);template['height']+=tinyMCE.getLang('lang_searchreplace_delta_height',0);inst.selection.collapse(true);tinyMCE.openWindow(template,value)}else{var win=tinyMCE.getInstanceById(editor_id).contentWindow;var doc=tinyMCE.getInstanceById(editor_id).contentWindow.document;var body=tinyMCE.getInstanceById(editor_id).contentWindow.document.body;var awin=value.win,found;if(body.innerHTML==""){awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(value['replacemode']=="current"){replaceSel(value['string'],value['replacestring'],value['backwards']);value['replacemode']="none";}inst.selection.collapse(value['backwards']);if(tinyMCE.isMSIE){var rng=inst.selection.getRng();var flags=0;if(value['wholeword'])flags=flags|2;if(value['casesensitive'])flags=flags|4;if(!rng.findText){awin.alert('This operation is currently not supported by this browser.');return true}if(value['replacemode']=="all"){found=false;while(rng.findText(value['string'],value['backwards']?-1:1,flags)){found=true;rng.scrollIntoView();rng.select();replaceSel(value['string'],value['replacestring'],value['backwards'])}if(found)awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(rng.findText(value['string'],value['backwards']?-1:1,flags)){rng.scrollIntoView();rng.select()}else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'))}else{if(value['replacemode']=="all"){found=false;while(win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false)){found=true;replaceSel(value['string'],value['replacestring'],value['backwards'])}if(found)awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));else awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));return true}if(!win.find(value['string'],value['casesensitive'],value['backwards'],value['wrap'],value['wholeword'],false,false))awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'))}}return true;case"mceSearchReplace":value['replacestring']="";tinyMCE.execInstanceCommand(editor_id,'mceSearch',user_interface,value,false);return true}return false}};tinyMCE.addPlugin("searchreplace",TinyMCE_SearchReplacePlugin); \ No newline at end of file diff --git a/program/js/tiny_mce/plugins/searchreplace/editor_plugin_src.js b/program/js/tiny_mce/plugins/searchreplace/editor_plugin_src.js deleted file mode 100644 index cd2f3a85c..000000000 --- a/program/js/tiny_mce/plugins/searchreplace/editor_plugin_src.js +++ /dev/null @@ -1,173 +0,0 @@ -/** - * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $ - * - * @author Moxiecode - * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved. - */ - -tinyMCE.importPluginLanguagePack('searchreplace'); - -var TinyMCE_SearchReplacePlugin = { - 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 - }; - }, - - initInstance : function (inst) { - inst.addShortcut('ctrl', 'f', 'lang_searchreplace_search_desc', 'mceSearch', true); - // No CTRL+R for "replace" because browsers will reload page instead of executing plugin - }, - - getControlHTML : function (cn) { - switch (cn) { - case "search" : - return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_search_desc', '{$pluginurl}/images/search.gif','mceSearch', true); - - case "replace" : - return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_replace_desc', '{$pluginurl}/images/replace.gif', 'mceSearchReplace', true); - } - - return ""; - }, - - execCommand : function (editor_id, element, command, user_interface, value) { - var inst = tinyMCE.getInstanceById(editor_id), selectedText = inst.selection.getSelectedText(), rng; - - function defValue(key, default_value) { - value[key] = typeof(value[key]) == "undefined" ? default_value : value[key]; - } - - function replaceSel(search_str, str, back) { - if (!inst.selection.isCollapsed()) { - if (tinyMCE.isRealIE) - inst.selection.getRng().duplicate().pasteHTML(str); // Needs to be duplicated due to selection bug in IE - else - inst.execCommand('mceInsertContent', false, str); - } - } - - if (!value) - value = []; - - defValue("editor_id", editor_id); - defValue("searchstring", selectedText); - defValue("replacestring", null); - defValue("replacemode", "none"); - defValue("casesensitive", false); - defValue("backwards", false); - defValue("wrap", false); - defValue("wholeword", false); - defValue("inline", "yes"); - defValue("resizable", "no"); - - switch (command) { - case "mceSearch" : - if (user_interface) { - var template = new Array(); - - template['file'] = '../../plugins/searchreplace/searchreplace.htm'; - template['width'] = 380; - template['height'] = 155 + (tinyMCE.isNS7 ? 20 : 0) + (tinyMCE.isMSIE ? 15 : 0); - template['width'] += tinyMCE.getLang('lang_searchreplace_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_searchreplace_delta_height', 0); - - inst.selection.collapse(true); - - tinyMCE.openWindow(template, value); - } else { - var win = tinyMCE.getInstanceById(editor_id).contentWindow; - var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document; - var body = tinyMCE.getInstanceById(editor_id).contentWindow.document.body; - var awin = value.win, found; - - if (body.innerHTML == "") { - awin.alert(tinyMCE.getLang('lang_searchreplace_notfound')); - return true; - } - - if (value['replacemode'] == "current") { - replaceSel(value['string'], value['replacestring'], value['backwards']); - value['replacemode'] = "none"; - //tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value); - //return true; - } - - inst.selection.collapse(value['backwards']); - - if (tinyMCE.isMSIE) { - var rng = inst.selection.getRng(); - var flags = 0; - if (value['wholeword']) - flags = flags | 2; - - if (value['casesensitive']) - flags = flags | 4; - - if (!rng.findText) { - awin.alert('This operation is currently not supported by this browser.'); - return true; - } - - if (value['replacemode'] == "all") { - found = false; - - while (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) { - found = true; - rng.scrollIntoView(); - rng.select(); - replaceSel(value['string'], value['replacestring'], value['backwards']); - } - - if (found) - awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced')); - else - awin.alert(tinyMCE.getLang('lang_searchreplace_notfound')); - - return true; - } - - if (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) { - rng.scrollIntoView(); - rng.select(); - } else - awin.alert(tinyMCE.getLang('lang_searchreplace_notfound')); - } else { - if (value['replacemode'] == "all") { - found = false; - - while (win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) { - found = true; - replaceSel(value['string'], value['replacestring'], value['backwards']); - } - - if (found) - awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced')); - else - awin.alert(tinyMCE.getLang('lang_searchreplace_notfound')); - - return true; - } - - if (!win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) - awin.alert(tinyMCE.getLang('lang_searchreplace_notfound')); - } - } - - return true; - - case "mceSearchReplace" : - value['replacestring'] = ""; - tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false); - return true; - } - - return false; - } -}; - -tinyMCE.addPlugin("searchreplace", TinyMCE_SearchReplacePlugin); \ No newline at end of file diff --git a/program/js/tiny_mce/plugins/searchreplace/images/replace.gif b/program/js/tiny_mce/plugins/searchreplace/images/replace.gif deleted file mode 100644 index 784c73e2a..000000000 Binary files a/program/js/tiny_mce/plugins/searchreplace/images/replace.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif b/program/js/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif deleted file mode 100755 index 123fa5bf5..000000000 Binary files a/program/js/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif b/program/js/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif deleted file mode 100755 index cc2c56e61..000000000 Binary files a/program/js/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/searchreplace/images/search.gif b/program/js/tiny_mce/plugins/searchreplace/images/search.gif deleted file mode 100644 index cfe76b5d5..000000000 Binary files a/program/js/tiny_mce/plugins/searchreplace/images/search.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js b/program/js/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js deleted file mode 100755 index ac6cdf6fc..000000000 --- a/program/js/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js +++ /dev/null @@ -1,86 +0,0 @@ -function init() { - tinyMCEPopup.resizeToInnerSize(); - - // start with appropiate tab - var task = (tinyMCE.getWindowArg("replacestring") != null) ? "replace" : "search"; - mcTabs.displayTab(task + '_tab', task +'_panel'); - manageReplaceButtons(); - - var formObj = document.forms[0]; - - formObj[task + "_panel_searchstring"].value = tinyMCE.getWindowArg("searchstring"); - formObj["replace_panel_replacestring"].value = (tinyMCE.getWindowArg("replacestring") != null) ? tinyMCE.getWindowArg("replacestring") : ""; - formObj[task + "_panel_casesensitivebox"].checked = tinyMCE.getWindowArg("casesensitive"); - formObj[task + "_panel_backwardsu"].checked = tinyMCE.getWindowArg("backwards"); - formObj[task + "_panel_backwardsd"].checked = !tinyMCE.getWindowArg("backwards"); -} - -function searchNext(replacemode) { - // "search" or "replace" mode of operation? - var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace"; - - var formObj = document.forms[0]; - - if (task == "replace") { - // Whats the point? - if (formObj[task + "_panel_searchstring"].value == "" || formObj[task + "_panel_searchstring"].value == formObj[task + "_panel_replacestring"].value) - return false; - } - - // Do search - tinyMCEPopup.execCommand('mceSearch', false, { - string : formObj[task + "_panel_searchstring"].value, - replacestring : formObj["replace_panel_replacestring"].value, - replacemode : replacemode, - casesensitive : formObj[task + "_panel_casesensitivebox"].checked, - backwards : formObj[task + "_panel_backwardsu"].checked, - win : window - }, false); - - window.focus(); - - return false; -} - -function cancelAction() { - tinyMCEPopup.close(); -} - -function manageReplaceButtons() { - // "search" or "replace" mode of operation? - var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace"; - document.getElementById("replace_buttons").style.visibility = (task == "replace") ? "visible" : "hidden"; -} - -function copyValues(link) { - // check if tab is already active - var tab = link; - while (tab.tagName && tab.tagName.toLowerCase() != "li") tab = tab.parentNode; - if (tab.className) return false; // tab is already active -> no need to copy any values! - - // copy values from one panel to the other (if they exist there) - var from_panel_name = tab.id.match(/^search/i) ? "replace_panel" : "search_panel"; - var to_panel_name = (from_panel_name == "search_panel") ? "replace_panel" : "search_panel"; - - // find all elements with IDs to copy their values - var elms = document.getElementById(from_panel_name).getElementsByTagName("*"); - for (var i = 0; i < elms.length; i++) { - if (elms[i].id && elms[i].id != "") { - var checked = "undefined"; - if (elms[i].type.toLowerCase() == "checkbox" || elms[i].type.toLowerCase() == "radio") - checked = elms[i].checked; - - // copy values if element exists in other panel - var to_elm_name = to_panel_name + elms[i].id.substring(from_panel_name.length, elms[i].id.length); - var to_elm = document.getElementById(to_elm_name); - if (to_elm) { - if (checked != "undefined") - to_elm.checked = checked; - else - to_elm.value = elms[i].value; - } - } - } - - return false; -} \ No newline at end of file diff --git a/program/js/tiny_mce/plugins/searchreplace/langs/en.js b/program/js/tiny_mce/plugins/searchreplace/langs/en.js deleted file mode 100644 index 32af8282e..000000000 --- a/program/js/tiny_mce/plugins/searchreplace/langs/en.js +++ /dev/null @@ -1,21 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('',{ -searchreplace_search_desc : 'Find', -searchreplace_searchnext_desc : 'Find again', -searchreplace_replace_desc : 'Find/Replace', -searchreplace_notfound : 'The search has been completed. The search string could not be found.', -searchreplace_search_title : 'Find', -searchreplace_replace_title : 'Find/Replace', -searchreplace_allreplaced : 'All occurrences of the search string were replaced.', -searchreplace_findwhat : 'Find what', -searchreplace_replacewith : 'Replace with', -searchreplace_direction : 'Direction', -searchreplace_up : 'Up', -searchreplace_down : 'Down', -searchreplace_case : 'Match case', -searchreplace_findnext : 'Find next', -searchreplace_replace : 'Replace', -searchreplace_replaceall : 'Replace all', -searchreplace_cancel : 'Cancel' -}); diff --git a/program/js/tiny_mce/plugins/searchreplace/readme.txt b/program/js/tiny_mce/plugins/searchreplace/readme.txt deleted file mode 100644 index 4fdb78aec..000000000 --- a/program/js/tiny_mce/plugins/searchreplace/readme.txt +++ /dev/null @@ -1 +0,0 @@ -Check the TinyMCE documentation for details on this plugin. diff --git a/program/js/tiny_mce/plugins/searchreplace/searchreplace.htm b/program/js/tiny_mce/plugins/searchreplace/searchreplace.htm deleted file mode 100755 index 192e0cbc6..000000000 --- a/program/js/tiny_mce/plugins/searchreplace/searchreplace.htm +++ /dev/null @@ -1,107 +0,0 @@ - - - {$lang_searchreplace_replace_title} - - - - - - - - -
- - -
- -
- - - - - - - - - - - -
- - - - - - - - -
-
- - - - - -
-
-
- -
- - - - - - - - - - - - - - - -
- - - - - - - - -
-
- - - - - -
-
-
- -
- -
-
- - - - - -
- -
- -
-
-
- - diff --git a/program/js/tiny_mce/plugins/spellchecker/changelog b/program/js/tiny_mce/plugins/spellchecker/changelog deleted file mode 100644 index 608fcd56d..000000000 --- a/program/js/tiny_mce/plugins/spellchecker/changelog +++ /dev/null @@ -1,11 +0,0 @@ -Version 1.0.2 (2006-08-02) - Added new spellchecker_report_mispellings option, contributed by Jeremy B. - Fixed various regexp bugs and issues. Some where contributed by Jeremy B. - Fixed the Google speller class so it uses curl, patch contributed by Yuriy Kramar. - Fixed encoding issues with language specific characters, patch contributed by codepit. - Fixed bug where the spellchecker wasn't working in MSIE if the editor was placed in a P tag. -Version 1.0.1 (2006-05-05) - Since sourceforge has a serious bug when it comes to replacing files with the same name this release was necessary. - Goggle spellchecker class was added. -Version 1.0 (2006-05-03) - Official first release. diff --git a/program/js/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php b/program/js/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php deleted file mode 100644 index 33e7b1cc1..000000000 --- a/program/js/tiny_mce/plugins/spellchecker/classes/TinyGoogleSpell.class.php +++ /dev/null @@ -1,107 +0,0 @@ -lang = $lang; - } - - // Returns array with bad words or false if failed. - function checkWords($word_array) { - $words = array(); - $wordstr = implode(' ', $word_array); - - $matches = $this->_getMatches($wordstr); - - for ($i=0; $iunhtmlentities(mb_substr($wordstr, $matches[$i][1], $matches[$i][2], "UTF-8")); - - return $words; - } - - function unhtmlentities($string) { - $string = preg_replace('~&#x([0-9a-f]+);~ei', 'chr(hexdec("\\1"))', $string); - $string = preg_replace('~&#([0-9]+);~e', 'chr(\\1)', $string); - - $trans_tbl = get_html_translation_table(HTML_ENTITIES); - $trans_tbl = array_flip($trans_tbl); - - return strtr($string, $trans_tbl); - } - - // Returns array with suggestions or false if failed. - function getSuggestion($word) { - $sug = array(); - - $matches = $this->_getMatches($word); - - if (count($matches) > 0) - $sug = explode("\t", utf8_encode($this->unhtmlentities($matches[0][4]))); - - return $sug; - } - - function _xmlChars($string) { - $trans = get_html_translation_table(HTML_ENTITIES, ENT_QUOTES); - - foreach ($trans as $k => $v) - $trans[$k] = "&#".ord($k).";"; - - return strtr($string, $trans); - } - - function _getMatches($word_list) { - $server = "www.google.com"; - $port = 443; - $path = "/tbproxy/spell?lang=" . $this->lang . "&hl=en"; - $host = "www.google.com"; - $url = "https://" . $server; - - // Setup XML request - $xml = '' . $word_list . ''; - - $header = "POST ".$path." HTTP/1.0 \r\n"; - $header .= "MIME-Version: 1.0 \r\n"; - $header .= "Content-type: application/PTI26 \r\n"; - $header .= "Content-length: ".strlen($xml)." \r\n"; - $header .= "Content-transfer-encoding: text \r\n"; - $header .= "Request-number: 1 \r\n"; - $header .= "Document-type: Request \r\n"; - $header .= "Interface-Version: Test 1.4 \r\n"; - $header .= "Connection: close \r\n\r\n"; - $header .= $xml; - //$this->_debugData($xml); - - $ch = curl_init(); - curl_setopt($ch, CURLOPT_URL,$url); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); - curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); - $xml = curl_exec($ch); - curl_close($ch); - - //$this->_debugData($xml); - - // Grab and parse content - preg_match_all('/([^<]*)<\/c>/', $xml, $matches, PREG_SET_ORDER); - - return $matches; - } - - function _debugData($data) { - $fh = @fopen("debug.log", 'a+'); - @fwrite($fh, $data); - @fclose($fh); - } -} - -// Setup classname, should be the same as the name of the spellchecker class -$spellCheckerConfig['class'] = "TinyGoogleSpell"; - -?> diff --git a/program/js/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php b/program/js/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php deleted file mode 100644 index 21fb19448..000000000 --- a/program/js/tiny_mce/plugins/spellchecker/classes/TinyPspell.class.php +++ /dev/null @@ -1,64 +0,0 @@ -lang = $lang; - $this->mode = $mode; - $this->plink = false; - $this->errorMsg = array(); - - if (!function_exists("pspell_new")) { - $this->errorMsg[] = "PSpell not found."; - return; - } - - $this->plink = pspell_new($this->lang, $this->spelling, $this->jargon, $this->encoding, $this->mode); - } - - // Returns array with bad words or false if failed. - function checkWords($wordArray) { - if (!$this->plink) { - $this->errorMsg[] = "No PSpell link found for checkWords."; - return array(); - } - - $wordError = array(); - foreach($wordArray as $word) { - if(!pspell_check($this->plink, trim($word))) - $wordError[] = $word; - } - - return $wordError; - } - - // Returns array with suggestions or false if failed. - function getSuggestion($word) { - if (!$this->plink) { - $this->errorMsg[] = "No PSpell link found for getSuggestion."; - return array(); - } - - return pspell_suggest($this->plink, $word); - } -} - -// Setup classname, should be the same as the name of the spellchecker class -$spellCheckerConfig['class'] = "TinyPspell"; - -?> \ No newline at end of file diff --git a/program/js/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php b/program/js/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php deleted file mode 100644 index 348cac3d8..000000000 --- a/program/js/tiny_mce/plugins/spellchecker/classes/TinyPspellShell.class.php +++ /dev/null @@ -1,121 +0,0 @@ -lang = $lang; - $this->mode = $mode; - $this->error = false; - $this->errorMsg = array(); - - $this->tmpfile = tempnam($config['tinypspellshell.tmp'], "tinyspell"); - - if(preg_match("#win#i",php_uname())) - $this->cmd = $config['tinypspellshell.aspell'] . " -a --lang=". $this->lang." --encoding=utf-8 -H < $this->tmpfile 2>&1"; - else - $this->cmd = "cat ". $this->tmpfile ." | " . $config['tinypspellshell.aspell'] . " -a --encoding=utf-8 -H --lang=". $this->lang; - } - - // Returns array with bad words or false if failed. - function checkWords($wordArray) { - if ($fh = fopen($this->tmpfile, "w")) { - fwrite($fh, "!\n"); - foreach($wordArray as $key => $value) - fwrite($fh, "^" . $value . "\n"); - fclose($fh); - } else { - $this->errorMsg[] = "PSpell not found."; - return array(); - } - - $data = shell_exec($this->cmd); - @unlink($this->tmpfile); - - $returnData = array(); - $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); - - foreach($dataArr as $dstr) { - $matches = array(); - - // Skip this line. - if (strpos($dstr, "@") === 0) - continue; - - preg_match("/\& (.*) .* .*: .*/i", $dstr, $matches); - - if (!empty($matches[1])) - $returnData[] = $matches[1]; - } - - return $returnData; - } - - // Returns array with suggestions or false if failed. - function getSuggestion($word) { - if (function_exists("mb_convert_encoding")) - $word = mb_convert_encoding($word, "ISO-8859-1", mb_detect_encoding($word, "UTF-8")); - else - $word = utf8_encode($word); - - if ($fh = fopen($this->tmpfile, "w")) { - fwrite($fh, "!\n"); - fwrite($fh, "^$word\n"); - fclose($fh); - } else - die("Error opening tmp file."); - - $data = shell_exec($this->cmd); - - @unlink($this->tmpfile); - - $returnData = array(); - $dataArr = preg_split("/\n/", $data, -1, PREG_SPLIT_NO_EMPTY); - - foreach($dataArr as $dstr) { - $matches = array(); - - // Skip this line. - if (strpos($dstr, "@") === 0) - continue; - - preg_match("/\& .* .* .*: (.*)/i", $dstr, $matches); - - if (!empty($matches[1])) { - // For some reason, the exec version seems to add commas? - $returnData[] = str_replace(",", "", $matches[1]); - } - } - return $returnData; - } - - function _debugData($data) { - $fh = @fopen("debug.log", 'a+'); - @fwrite($fh, $data); - @fclose($fh); - } - -} - -// Setup classname, should be the same as the name of the spellchecker class -$spellCheckerConfig['class'] = "TinyPspellShell"; - -?> \ No newline at end of file diff --git a/program/js/tiny_mce/plugins/spellchecker/config.php b/program/js/tiny_mce/plugins/spellchecker/config.php deleted file mode 100644 index f008d11ca..000000000 --- a/program/js/tiny_mce/plugins/spellchecker/config.php +++ /dev/null @@ -1,24 +0,0 @@ - diff --git a/program/js/tiny_mce/plugins/spellchecker/css/content.css b/program/js/tiny_mce/plugins/spellchecker/css/content.css deleted file mode 100644 index fb82733cd..000000000 --- a/program/js/tiny_mce/plugins/spellchecker/css/content.css +++ /dev/null @@ -1,5 +0,0 @@ -.mceItemHiddenSpellWord { - background: url('../images/wline.gif') repeat-x bottom left; - bo2rder-bottom: 1px dashed red; - cursor: default; -} diff --git a/program/js/tiny_mce/plugins/spellchecker/css/spellchecker.css b/program/js/tiny_mce/plugins/spellchecker/css/spellchecker.css deleted file mode 100644 index aa4a8ea3b..000000000 --- a/program/js/tiny_mce/plugins/spellchecker/css/spellchecker.css +++ /dev/null @@ -1,34 +0,0 @@ -.mceMsgBox { - border: 1px solid gray; - padding: 8px; -} - -.mceMsgBox span { - vertical-align: top; - color: #555555; -} - -/* Misc */ - -.mceBlockBox { - display: none; - position: absolute; - left: 0; - top: 0; - z-index: 100; - filter:progid:DXImageTransform.Microsoft.Alpha(style=0, opacity=60); - -moz-opacity:0.6; - opacity: 0.6; - background-color: white; -} - -.mceMsgBox { - display: none; - z-index: 101; - position: absolute; - left: 0; - top: 0; - font-family: Arial, Verdana, Tahoma, Helvetica; - font-weight: bold; - font-size: 11px; -} diff --git a/program/js/tiny_mce/plugins/spellchecker/editor_plugin.js b/program/js/tiny_mce/plugins/spellchecker/editor_plugin.js deleted file mode 100644 index dbcda6a56..000000000 --- a/program/js/tiny_mce/plugins/spellchecker/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('spellchecker','en,fr,sv,nn,nb');var TinyMCE_SpellCheckerPlugin={_contextMenu:new TinyMCE_Menu(),_menu:new TinyMCE_Menu(),_counter:0,_ajaxPage:'/tinyspell.php',getInfo:function(){return{longname:'Spellchecker',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://tinymce.moxiecode.com/tinymce/docs/plugin_spellchecker.html',version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion};},handleEvent:function(e){var elm=tinyMCE.isMSIE?e.srcElement:e.target;var inst=tinyMCE.selectedInstance,args='';var self=TinyMCE_SpellCheckerPlugin;var cm=self._contextMenu;var p,p2,x,y,sx,sy,h,elm;if((e.type=="click"||e.type=="contextmenu")&&elm){do{if(tinyMCE.getAttrib(elm,'class')=="mceItemHiddenSpellWord"){inst.spellCheckerElm=elm;args+='id='+inst.editorId+"|"+(++self._counter);args+='&cmd=suggest&check='+encodeURIComponent(elm.innerHTML);args+='&lang='+escape(inst.spellCheckerLang);elm=inst.spellCheckerElm;p=tinyMCE.getAbsPosition(inst.iframeElement);p2=tinyMCE.getAbsPosition(elm);h=parseInt(elm.offsetHeight);sx=inst.getBody().scrollLeft;sy=inst.getBody().scrollTop;x=p.absLeft+p2.absLeft-sx;y=p.absTop+p2.absTop-sy+h;cm.clear();cm.addTitle(tinyMCE.getLang('lang_spellchecker_wait','',true));cm.show();cm.moveTo(x,y);inst.selection.selectNode(elm,false,false);self._sendAjax(self.baseURL+self._ajaxPage,self._ajaxResponse,'post',args);tinyMCE.cancelEvent(e);return false;}}while((elm=elm.parentNode));}return true;},initInstance:function(inst){var self=TinyMCE_SpellCheckerPlugin,m=self._menu,cm=self._contextMenu,e;tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/plugins/spellchecker/css/content.css");if(!tinyMCE.hasMenu('spellcheckercontextmenu')){tinyMCE.importCSS(document,tinyMCE.baseURL+"/plugins/spellchecker/css/spellchecker.css");cm.init({drop_menu:false});tinyMCE.addMenu('spellcheckercontextmenu',cm);}if(!tinyMCE.hasMenu('spellcheckermenu')){m.init({});tinyMCE.addMenu('spellcheckermenu',m);}inst.spellCheckerLang='en';self._buildSettingsMenu(inst,null);e=self._getBlockBoxLayer(inst).create('div','mceBlockBox',document.getElementById(inst.editorId+'_parent'));self._getMsgBoxLayer(inst).create('div','mceMsgBox',document.getElementById(inst.editorId+'_parent'));},_getMsgBoxLayer:function(inst){if(!inst.spellCheckerMsgBoxL)inst.spellCheckerMsgBoxL=new TinyMCE_Layer(inst.editorId+'_spellcheckerMsgBox',false);return inst.spellCheckerMsgBoxL;},_getBlockBoxLayer:function(inst){if(!inst.spellCheckerBoxL)inst.spellCheckerBoxL=new TinyMCE_Layer(inst.editorId+'_spellcheckerBlockBox',false);return inst.spellCheckerBoxL;},_buildSettingsMenu:function(inst,lang){var i,ar=tinyMCE.getParam('spellchecker_languages','+English=en').split(','),p;var self=TinyMCE_SpellCheckerPlugin,m=self._menu,c;m.clear();m.addTitle(tinyMCE.getLang('lang_spellchecker_langs','',true));for(i=0;i';h+='';h+='';h+='';}else{if(tinyMCE.isMSIE&&!tinyMCE.isOpera)h+='';else h+='';h+='';h+='';h+='';h+='';}return h;},_menuButtonEvent:function(e,o){if(o.className=='mceMenuButtonFocus')return;if(e=='over')o.className=o.className+' mceMenuHover';else o.className=o.className.replace(/\s.*$/,'');},_toggleMenu:function(editor_id,id){var self=TinyMCE_SpellCheckerPlugin;var e=document.getElementById(editor_id+'_spellchecker');var inst=tinyMCE.getInstanceById(editor_id);if(self._menu.isVisible()){tinyMCE.hideMenus();return;}tinyMCE.lastMenuBtnClass=e.className.replace(/\s.*$/,'');tinyMCE.switchClass(editor_id+'_spellchecker','mceMenuButtonFocus');self._menu.moveRelativeTo(e,'bl');self._menu.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?0:1,-1);if(tinyMCE.isOpera)self._menu.moveBy(0,-2);self._onMenuEvent(inst,self._menu,'show');self._menu.show();tinyMCE.lastSelectedMenuBtn=editor_id+'_spellchecker';},_onMenuEvent:function(inst,m,n){TinyMCE_SpellCheckerPlugin._buildSettingsMenu(inst,inst.spellCheckerLang);},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id),self=TinyMCE_SpellCheckerPlugin,args='',co,bb,mb,nl,i,e;switch(command){case"mceSpellCheck":if(!inst.spellcheckerOn){inst.spellCheckerBookmark=inst.selection.getBookmark();args+='id='+inst.editorId+"|"+(++self._counter);args+='&cmd=spell&check='+encodeURIComponent(self._getWordList(inst.getBody())).replace(/\'/g,'%27');args+='&lang='+escape(inst.spellCheckerLang);co=document.getElementById(inst.editorId+'_parent').firstChild;bb=self._getBlockBoxLayer(inst);bb.moveRelativeTo(co,'tl');bb.resizeTo(co.offsetWidth,co.offsetHeight);bb.show();mb=self._getMsgBoxLayer(inst);e=mb.getElement();e.innerHTML=''+tinyMCE.getLang('lang_spellchecker_swait','',true)+'';mb.show();mb.moveRelativeTo(co,'cc');if(tinyMCE.isMSIE&&!tinyMCE.isOpera){nl=co.getElementsByTagName('select');for(i=0;i?@[\]^_{|}\u201d\u201c');for(i=0;i0)wl[wl.length]=nl[i];}return wl.join(' ');},_removeWords:function(doc,word){var i,c,nl=doc.getElementsByTagName("span");var self=TinyMCE_SpellCheckerPlugin;var inst=tinyMCE.selectedInstance,b=inst?inst.selection.getBookmark():null;word=typeof(word)=='undefined'?null:word;for(i=nl.length-1;i>=0;i--){c=tinyMCE.getAttrib(nl[i],'class');if((c=='mceItemHiddenSpellWord'||c=='mceItemHidden')&&(word==null||nl[i].innerHTML==word))self._removeWord(nl[i]);}if(b)inst.selection.moveToBookmark(b);},_checkDone:function(inst){var self=TinyMCE_SpellCheckerPlugin;var w=self._countWords(inst);if(w==0){self._removeWords(inst.getDoc());inst.spellcheckerOn=false;tinyMCE.switchClass(inst.editorId+'_spellchecker','mceMenuButton');}},_countWords:function(inst){var i,w=0,nl=inst.getDoc().getElementsByTagName("span"),c;var self=TinyMCE_SpellCheckerPlugin;for(i=nl.length-1;i>=0;i--){c=tinyMCE.getAttrib(nl[i],'class');if(c=='mceItemHiddenSpellWord')w++;}return w;},_removeWord:function(e){if(e!=null)tinyMCE.setOuterHTML(e,e.innerHTML);},_markWords:function(doc,n,wl){var i,nv,nn,nl=tinyMCE.getNodeTree(n,new Array(),3);var r1,r2,r3,r4,r5,w='';var re=TinyMCE_SpellCheckerPlugin._getWordSeparators();for(i=0;i0)w+=wl[i]+((i==wl.length-1)?'':'|');}for(i=0;i$1$2');nv=nv.replace(r3,'$1$2');nn=doc.createElement('span');nn.className="mceItemHidden";nn.innerHTML=nv;nl[i].parentNode.replaceChild(nn,nl[i]);}}},_buildMenu:function(sg,max){var i,self=TinyMCE_SpellCheckerPlugin,cm=self._contextMenu;cm.clear();if(sg!=null){cm.addTitle(tinyMCE.getLang('lang_spellchecker_sug','',true));for(i=0;i'; - h += ''; - h += ''; - h += ''; - } else { - if (tinyMCE.isMSIE && !tinyMCE.isOpera) - h += ''; - else - h += ''; - - h += ''; - h += ''; - h += ''; - h += ''; - } - - return h; - }, - - _menuButtonEvent : function(e, o) { - if (o.className == 'mceMenuButtonFocus') - return; - - if (e == 'over') - o.className = o.className + ' mceMenuHover'; - else - o.className = o.className.replace(/\s.*$/, ''); - }, - - _toggleMenu : function(editor_id, id) { - var self = TinyMCE_SpellCheckerPlugin; - var e = document.getElementById(editor_id + '_spellchecker'); - var inst = tinyMCE.getInstanceById(editor_id); - - if (self._menu.isVisible()) { - tinyMCE.hideMenus(); - return; - } - - tinyMCE.lastMenuBtnClass = e.className.replace(/\s.*$/, ''); - tinyMCE.switchClass(editor_id + '_spellchecker', 'mceMenuButtonFocus'); - - self._menu.moveRelativeTo(e, 'bl'); - self._menu.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? 0 : 1, -1); - - if (tinyMCE.isOpera) - self._menu.moveBy(0, -2); - - self._onMenuEvent(inst, self._menu, 'show'); - - self._menu.show(); - - tinyMCE.lastSelectedMenuBtn = editor_id + '_spellchecker'; - }, - - _onMenuEvent : function(inst, m, n) { - TinyMCE_SpellCheckerPlugin._buildSettingsMenu(inst, inst.spellCheckerLang); - }, - - execCommand : function(editor_id, element, command, user_interface, value) { - var inst = tinyMCE.getInstanceById(editor_id), self = TinyMCE_SpellCheckerPlugin, args = '', co, bb, mb, nl, i, e; - - // Handle commands - switch (command) { - case "mceSpellCheck": - if (!inst.spellcheckerOn) { - inst.spellCheckerBookmark = inst.selection.getBookmark(); - - // Setup arguments - args += 'id=' + inst.editorId + "|" + (++self._counter); - args += '&cmd=spell&check=' + encodeURIComponent(self._getWordList(inst.getBody())).replace( /\'/g, '%27' ); - args += '&lang=' + escape(inst.spellCheckerLang); - - co = document.getElementById(inst.editorId + '_parent').firstChild; - bb = self._getBlockBoxLayer(inst); - bb.moveRelativeTo(co, 'tl'); - bb.resizeTo(co.offsetWidth, co.offsetHeight); - bb.show(); - - // Setup message box - mb = self._getMsgBoxLayer(inst); - e = mb.getElement(); - e.innerHTML = '' + tinyMCE.getLang('lang_spellchecker_swait', '', true) + ''; - mb.show(); - mb.moveRelativeTo(co, 'cc'); - - if (tinyMCE.isMSIE && !tinyMCE.isOpera) { - nl = co.getElementsByTagName('select'); - for (i=0; i?@[\]^_{|}§©«®±¶·¸»¼½¾¿×÷¤\u201d\u201c'); - - for (i=0; i 0) - wl[wl.length] = nl[i]; - } - - return wl.join(' '); - }, - - _removeWords : function(doc, word) { - var i, c, nl = doc.getElementsByTagName("span"); - var self = TinyMCE_SpellCheckerPlugin; - var inst = tinyMCE.selectedInstance, b = inst ? inst.selection.getBookmark() : null; - - word = typeof(word) == 'undefined' ? null : word; - - for (i=nl.length-1; i>=0; i--) { - c = tinyMCE.getAttrib(nl[i], 'class'); - - if ((c == 'mceItemHiddenSpellWord' || c == 'mceItemHidden') && (word == null || nl[i].innerHTML == word)) - self._removeWord(nl[i]); - } - - if (b) - inst.selection.moveToBookmark(b); - }, - - _checkDone : function(inst) { - var self = TinyMCE_SpellCheckerPlugin; - var w = self._countWords(inst); - - if (w == 0) { - self._removeWords(inst.getDoc()); - inst.spellcheckerOn = false; - tinyMCE.switchClass(inst.editorId + '_spellchecker', 'mceMenuButton'); - } - }, - - _countWords : function(inst) { - var i, w = 0, nl = inst.getDoc().getElementsByTagName("span"), c; - var self = TinyMCE_SpellCheckerPlugin; - - for (i=nl.length-1; i>=0; i--) { - c = tinyMCE.getAttrib(nl[i], 'class'); - - if (c == 'mceItemHiddenSpellWord') - w++; - } - - return w; - }, - - _removeWord : function(e) { - if (e != null) - tinyMCE.setOuterHTML(e, e.innerHTML); - }, - - _markWords : function(doc, n, wl) { - var i, nv, nn, nl = tinyMCE.getNodeTree(n, new Array(), 3); - var r1, r2, r3, r4, r5, w = ''; - var re = TinyMCE_SpellCheckerPlugin._getWordSeparators(); - - for (i=0; i 0) - w += wl[i] + ((i == wl.length-1) ? '' : '|'); - } - - for (i=0; i$1$2'); - nv = nv.replace(r3, '$1$2'); - - nn = doc.createElement('span'); - nn.className = "mceItemHidden"; - nn.innerHTML = nv; - - // Remove old text node - nl[i].parentNode.replaceChild(nn, nl[i]); - } - } - }, - - _buildMenu : function(sg, max) { - var i, self = TinyMCE_SpellCheckerPlugin, cm = self._contextMenu; - - cm.clear(); - - if (sg != null) { - cm.addTitle(tinyMCE.getLang('lang_spellchecker_sug', '', true)); - - for (i=0; i'; - die; - } - - // Basic config - $defaultLanguage = $spellCheckerConfig['default.language']; - $defaultMode = $spellCheckerConfig['default.mode']; - - // Normaly not required to configure - $defaultSpelling = $spellCheckerConfig['default.spelling']; - $defaultJargon = $spellCheckerConfig['default.jargon']; - $defaultEncoding = $spellCheckerConfig['default.encoding']; - $outputType = "xml"; // Do not change - - // Get input parameters. - - $check = urldecode($_REQUEST['check']); - $cmd = sanitize($_REQUEST['cmd']); - $lang = sanitize($_REQUEST['lang'], "strict"); - $mode = sanitize($_REQUEST['mode'], "strict"); - $spelling = sanitize($_REQUEST['spelling'], "strict"); - $jargon = sanitize($_REQUEST['jargon'], "strict"); - $encoding = sanitize($_REQUEST['encoding'], "strict"); - $sg = sanitize($_REQUEST['sg'], "bool"); - $words = array(); - - $validRequest = true; - - if (empty($check)) - $validRequest = false; - - if (empty($lang)) - $lang = $defaultLanguage; - - if (empty($mode)) - $mode = $defaultMode; - - if (empty($spelling)) - $spelling = $defaultSpelling; - - if (empty($jargon)) - $jargon = $defaultJargon; - - if (empty($encoding)) - $encoding = $defaultEncoding; - - function sanitize($str, $type="strict") { - switch ($type) { - case "strict": - $str = preg_replace("/[^a-zA-Z0-9_\-]/i", "", $str); - break; - case "loose": - $str = preg_replace("//i", "<", $str); - break; - case "bool": - if ($str == "true" || $str == true) - $str = true; - else - $str = false; - break; - } - - return $str; - } - - $result = array(); - $tinyspell = new $spellCheckerConfig['class']($spellCheckerConfig, $lang, $mode, $spelling, $jargon, $encoding); - - if (count($tinyspell->errorMsg) == 0) { - switch($cmd) { - case "spell": - // Space for non-exec version and \n for the exec version. - $words = preg_split("/ |\n/", $check, -1, PREG_SPLIT_NO_EMPTY); - $result = $tinyspell->checkWords($words); - break; - - case "suggest": - $result = $tinyspell->getSuggestion($check); - break; - - default: - // Just use this for now. - $tinyspell->errorMsg[] = "No command."; - $outputType = $outputType . "error"; - break; - } - } else - $outputType = $outputType . "error"; - - if (!$result) - $result = array(); - - // Output data - switch($outputType) { - case "xml": - header('Content-type: text/xml; charset=utf-8'); - $body = ''; - $body .= "\n"; - - if (count($result) == 0) - $body .= ''; - else - $body .= ''. urlencode(implode(" ", $result)) .''; - - echo $body; - break; - case "xmlerror"; - header('Content-type: text/xml; charset=utf-8'); - $body = ''; - $body .= "\n"; - $body .= 'errorMsg) .'" />'; - echo $body; - break; - case "html": - var_dump($result); - break; - case "htmlerror": - echo "Error"; - break; - } - -?> diff --git a/program/js/tiny_mce/plugins/table/cell.htm b/program/js/tiny_mce/plugins/table/cell.htm deleted file mode 100644 index 7171d4faa..000000000 --- a/program/js/tiny_mce/plugins/table/cell.htm +++ /dev/null @@ -1,182 +0,0 @@ - - - {$lang_table_cell_title} - - - - - - - - -
- - -
-
-
- {$lang_table_general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - -
- - - -
- -
-
-
- -
-
- {$lang_table_advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- -
- - - - - -
 
-
- - - - - -
 
-
- - - - - -
 
-
-
-
-
- -
-
- -
- -
-
-
- -
- -
-
-
- - diff --git a/program/js/tiny_mce/plugins/table/css/cell.css b/program/js/tiny_mce/plugins/table/css/cell.css deleted file mode 100644 index a067ecdfe..000000000 --- a/program/js/tiny_mce/plugins/table/css/cell.css +++ /dev/null @@ -1,17 +0,0 @@ -/* 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/program/js/tiny_mce/plugins/table/css/row.css b/program/js/tiny_mce/plugins/table/css/row.css deleted file mode 100644 index 1f7755daf..000000000 --- a/program/js/tiny_mce/plugins/table/css/row.css +++ /dev/null @@ -1,25 +0,0 @@ -/* 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/program/js/tiny_mce/plugins/table/css/table.css b/program/js/tiny_mce/plugins/table/css/table.css deleted file mode 100644 index 804f766ee..000000000 --- a/program/js/tiny_mce/plugins/table/css/table.css +++ /dev/null @@ -1,13 +0,0 @@ -/* CSS file for table dialog in the table plugin */ - -.panel_wrapper div.current { - height: 220px; -} - -.advfield { - width: 200px; -} - -#class { - width: 150px; -} diff --git a/program/js/tiny_mce/plugins/table/editor_plugin.js b/program/js/tiny_mce/plugins/table/editor_plugin.js deleted file mode 100644 index 2f308f868..000000000 --- a/program/js/tiny_mce/plugins/table/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('table');var TinyMCE_TablePlugin={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}},initInstance:function(inst){if(tinyMCE.isGecko){var doc=inst.getDoc();tinyMCE.addEvent(doc,"mouseup",TinyMCE_TablePlugin._mouseDownHandler)}inst.tableRowClipboard=null},getControlHTML:function(control_name){var controls=new Array(['table','table.gif','lang_table_desc','mceInsertTable',true],['delete_table','table_delete.gif','lang_table_del','mceTableDelete'],['delete_col','table_delete_col.gif','lang_table_delete_col_desc','mceTableDeleteCol'],['delete_row','table_delete_row.gif','lang_table_delete_row_desc','mceTableDeleteRow'],['col_after','table_insert_col_after.gif','lang_table_col_after_desc','mceTableInsertColAfter'],['col_before','table_insert_col_before.gif','lang_table_col_before_desc','mceTableInsertColBefore'],['row_after','table_insert_row_after.gif','lang_table_row_after_desc','mceTableInsertRowAfter'],['row_before','table_insert_row_before.gif','lang_table_row_before_desc','mceTableInsertRowBefore'],['row_props','table_row_props.gif','lang_table_row_desc','mceTableRowProps',true],['cell_props','table_cell_props.gif','lang_table_cell_desc','mceTableCellProps',true],['split_cells','table_split_cells.gif','lang_table_split_cells_desc','mceTableSplitCells',true],['merge_cells','table_merge_cells.gif','lang_table_merge_cells_desc','mceTableMergeCells',true]);for(var i=0;i4?but[4]:false)+(but.length>5?', \''+but[5]+'\'':'')+');return false;';if(but[0]==control_name)return tinyMCE.getButtonHTML(control_name,but[2],'{$pluginurl}/images/'+but[1],but[3],(but.length>4?but[4]:false))}if(control_name=="tablecontrols"){var html="";html+=tinyMCE.getControlHTML("table");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_props");html+=tinyMCE.getControlHTML("cell_props");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("row_before");html+=tinyMCE.getControlHTML("row_after");html+=tinyMCE.getControlHTML("delete_row");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("col_before");html+=tinyMCE.getControlHTML("col_after");html+=tinyMCE.getControlHTML("delete_col");html+=tinyMCE.getControlHTML("separator");html+=tinyMCE.getControlHTML("split_cells");html+=tinyMCE.getControlHTML("merge_cells");return html}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){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":var inst=tinyMCE.getInstanceById(editor_id);inst.execCommand('mceBeginUndoLevel');TinyMCE_TablePlugin._doExecCommand(editor_id,element,command,user_interface,value);inst.execCommand('mceEndUndoLevel');return true}return false},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection){var colspan="1",rowspan="1",tdElm;var inst=tinyMCE.getInstanceById(editor_id);tinyMCE.switchClass(editor_id+'_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_table','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_cell_props','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_row_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_before','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_col_after','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_split_cells','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonDisabled');if(tdElm=tinyMCE.getParentElement(node,"td,th")){tinyMCE.switchClass(editor_id+'_cell_props','mceButtonSelected');tinyMCE.switchClass(editor_id+'_delete_table','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_row_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_row','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_before','mceButtonNormal');tinyMCE.switchClass(editor_id+'_col_after','mceButtonNormal');tinyMCE.switchClass(editor_id+'_delete_col','mceButtonNormal');colspan=tinyMCE.getAttrib(tdElm,"colspan");rowspan=tinyMCE.getAttrib(tdElm,"rowspan");colspan=colspan==""?"1":colspan;rowspan=rowspan==""?"1":rowspan;if(colspan!="1"||rowspan!="1")tinyMCE.switchClass(editor_id+'_split_cells','mceButtonNormal')}if(tinyMCE.getParentElement(node,"tr"))tinyMCE.switchClass(editor_id+'_row_props','mceButtonSelected');if(tinyMCE.getParentElement(node,"table")){tinyMCE.switchClass(editor_id+'_table','mceButtonSelected');tinyMCE.switchClass(editor_id+'_merge_cells','mceButtonNormal')}},_mouseDownHandler:function(e){var elm=tinyMCE.isMSIE?event.srcElement:e.target;var focusElm=tinyMCE.selectedInstance.getFocusElement();if(elm.nodeName=="BODY"&&(focusElm.nodeName=="TD"||focusElm.nodeName=="TH"||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TD")||(focusElm.parentNode&&focusElm.parentNode.nodeName=="TH"))){window.setTimeout(function(){var tableElm=tinyMCE.getParentElement(focusElm,"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance)},10)}},_doExecCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);var focusElm=inst.getFocusElement();var trElm=tinyMCE.getParentElement(focusElm,"tr");var tdElm=tinyMCE.getParentElement(focusElm,"td,th");var tableElm=tinyMCE.getParentElement(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 makeTD(){var newTD=doc.createElement("td");newTD.innerHTML=" "}function getColRowSpan(td){var colspan=tinyMCE.getAttrib(td,"colspan");var rowspan=tinyMCE.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;i1){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);cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,0),tinyMCE.isGecko,true);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);newTD.innerHTML=" ";newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm)}else tdElm.colSpan++;lastTDElm=tdElm}}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex+1),tinyMCE.isGecko,true);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);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}}grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,cpos.cellindex),tinyMCE.isGecko,true);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){tableElm=tinyMCE.getParentElement(tableElm,"table");tableElm.parentNode.removeChild(tableElm);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}}cpos.cellindex--;if(cpos.cellindex<0)cpos.cellindex=0;grid=getTableGrid(tableElm);inst.selection.selectNode(getCell(grid,cpos.rowindex,0),tinyMCE.isGecko,true);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;i1)addRows(newTD,trElm,rowspan)}addRows(tdElm,trElm,rowspan)}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");break;case"mceTableMergeCells":var rows=new Array();var sel=inst.getSel();var grid=getTableGrid(tableElm);if(tinyMCE.isMSIE||sel.rangeCount==1){if(user_interface){var template=new Array();var sp=getColRowSpan(tdElm);template['file']='../../plugins/table/merge_cells.htm';template['width']=250;template['height']=105+(tinyMCE.isNS7?25:0);template['width']+=tinyMCE.getLang('lang_table_merge_cells_delta_width',0);template['height']+=tinyMCE.getLang('lang_table_merge_cells_delta_height',0);tinyMCE.openWindow(template,{editor_id:inst.editorId,inline:"yes",action:"update",numcols:sp.colspan,numrows:sp.rowspan});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}}}else{var cells=new Array();var sel=inst.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=new Array();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--}}}}break}tableElm=tinyMCE.getParentElement(inst.getFocusElement(),"table");tinyMCE.handleVisualAid(tableElm,true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);tinyMCE.triggerNodeChange();inst.repaint()}return true}return false}};tinyMCE.addPlugin("table",TinyMCE_TablePlugin); \ No newline at end of file diff --git a/program/js/tiny_mce/plugins/table/editor_plugin_src.js b/program/js/tiny_mce/plugins/table/editor_plugin_src.js deleted file mode 100644 index 75aaa4dec..000000000 --- a/program/js/tiny_mce/plugins/table/editor_plugin_src.js +++ /dev/null @@ -1,1073 +0,0 @@ -/** - * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $ - * - * @author Moxiecode - * @copyright Copyright © 2004-2007, Moxiecode Systems AB, All rights reserved. - */ - -/* Import plugin specific language pack */ -tinyMCE.importPluginLanguagePack('table'); - -var TinyMCE_TablePlugin = { - 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 - }; - }, - - initInstance : function(inst) { - if (tinyMCE.isGecko) { - var doc = inst.getDoc(); - tinyMCE.addEvent(doc, "mouseup", TinyMCE_TablePlugin._mouseDownHandler); - } - - inst.tableRowClipboard = null; - }, - - /** - * Returns the HTML contents of the table control. - */ - getControlHTML : function(control_name) { - var controls = new Array( - ['table', 'table.gif', 'lang_table_desc', 'mceInsertTable', true], - ['delete_table', 'table_delete.gif', 'lang_table_del', 'mceTableDelete'], - ['delete_col', 'table_delete_col.gif', 'lang_table_delete_col_desc', 'mceTableDeleteCol'], - ['delete_row', 'table_delete_row.gif', 'lang_table_delete_row_desc', 'mceTableDeleteRow'], - ['col_after', 'table_insert_col_after.gif', 'lang_table_col_after_desc', 'mceTableInsertColAfter'], - ['col_before', 'table_insert_col_before.gif', 'lang_table_col_before_desc', 'mceTableInsertColBefore'], - ['row_after', 'table_insert_row_after.gif', 'lang_table_row_after_desc', 'mceTableInsertRowAfter'], - ['row_before', 'table_insert_row_before.gif', 'lang_table_row_before_desc', 'mceTableInsertRowBefore'], - ['row_props', 'table_row_props.gif', 'lang_table_row_desc', 'mceTableRowProps', true], - ['cell_props', 'table_cell_props.gif', 'lang_table_cell_desc', 'mceTableCellProps', true], - ['split_cells', 'table_split_cells.gif', 'lang_table_split_cells_desc', 'mceTableSplitCells', true], - ['merge_cells', 'table_merge_cells.gif', 'lang_table_merge_cells_desc', 'mceTableMergeCells', true]); - - // Render table control - for (var i=0; i 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');return false;'; - - if (but[0] == control_name) - return tinyMCE.getButtonHTML(control_name, but[2], '{$pluginurl}/images/'+ but[1], but[3], (but.length > 4 ? but[4] : false)); - } - - // Special tablecontrols - if (control_name == "tablecontrols") { - var html = ""; - - html += tinyMCE.getControlHTML("table"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("row_props"); - html += tinyMCE.getControlHTML("cell_props"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("row_before"); - html += tinyMCE.getControlHTML("row_after"); - html += tinyMCE.getControlHTML("delete_row"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("col_before"); - html += tinyMCE.getControlHTML("col_after"); - html += tinyMCE.getControlHTML("delete_col"); - html += tinyMCE.getControlHTML("separator"); - html += tinyMCE.getControlHTML("split_cells"); - html += tinyMCE.getControlHTML("merge_cells"); - - return html; - } - - return ""; - }, - - /** - * Executes the table commands. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - // Is table command - switch (command) { - 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": - var inst = tinyMCE.getInstanceById(editor_id); - - inst.execCommand('mceBeginUndoLevel'); - TinyMCE_TablePlugin._doExecCommand(editor_id, element, command, user_interface, value); - inst.execCommand('mceEndUndoLevel'); - - return true; - } - - // Pass to next handler in chain - return false; - }, - - handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) { - var colspan = "1", rowspan = "1", tdElm; - - var inst = tinyMCE.getInstanceById(editor_id); - - // Reset table controls - tinyMCE.switchClass(editor_id + '_table', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonDisabled'); - - // Within a td element - if (tdElm = tinyMCE.getParentElement(node, "td,th")) { - tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonSelected'); - tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonNormal'); - - colspan = tinyMCE.getAttrib(tdElm, "colspan"); - rowspan = tinyMCE.getAttrib(tdElm, "rowspan"); - - colspan = colspan == "" ? "1" : colspan; - rowspan = rowspan == "" ? "1" : rowspan; - - if (colspan != "1" || rowspan != "1") - tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonNormal'); - } - - // Within a tr element - if (tinyMCE.getParentElement(node, "tr")) - tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonSelected'); - - // Within table - if (tinyMCE.getParentElement(node, "table")) { - tinyMCE.switchClass(editor_id + '_table', 'mceButtonSelected'); - tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonNormal'); - } - }, - - // Private plugin internal methods - - _mouseDownHandler : function(e) { - var elm = tinyMCE.isMSIE ? event.srcElement : e.target; - var focusElm = tinyMCE.selectedInstance.getFocusElement(); - - // If press on special Mozilla create TD/TR thingie - if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || focusElm.nodeName == "TH" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD") ||(focusElm.parentNode && focusElm.parentNode.nodeName == "TH") )) { - window.setTimeout(function() { - var tableElm = tinyMCE.getParentElement(focusElm, "table"); - tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance); - }, 10); - } - }, - - /** - * Executes the table commands. - */ - _doExecCommand : function(editor_id, element, command, user_interface, value) { - var inst = tinyMCE.getInstanceById(editor_id); - var focusElm = inst.getFocusElement(); - var trElm = tinyMCE.getParentElement(focusElm, "tr"); - var tdElm = tinyMCE.getParentElement(focusElm, "td,th"); - var tableElm = tinyMCE.getParentElement(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]; - - // ------- Inner functions --------- - 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 makeTD() { - var newTD = doc.createElement("td"); - newTD.innerHTML = " "; - } - - function getColRowSpan(td) { - var colspan = tinyMCE.getAttrib(td, "colspan"); - var rowspan = tinyMCE.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); - - cpos.rowindex--; - if (cpos.rowindex < 0) - cpos.rowindex = 0; - - // Recalculate grid and select - grid = getTableGrid(tableElm); - inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko - 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); - - newTD.innerHTML = " "; - newTD.rowSpan = tdElm.rowSpan; - - tdElm.parentNode.insertBefore(newTD, tdElm); - } else - tdElm.colSpan++; - - lastTDElm = tdElm; - } - } - - grid = getTableGrid(tableElm); - inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex + 1), tinyMCE.isGecko, true); // Only collape on gecko - 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); - - 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; - } - } - - grid = getTableGrid(tableElm); - inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko - 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) { - tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody - tableElm.parentNode.removeChild(tableElm); - 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; - } - } - - cpos.cellindex--; - if (cpos.cellindex < 0) - cpos.cellindex = 0; - - // Recalculate grid and select - grid = getTableGrid(tableElm); - inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko - 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 = tinyMCE.getParentElement(inst.getFocusElement(), "table"); - break; - - case "mceTableMergeCells": - var rows = new Array(); - var sel = inst.getSel(); - var grid = getTableGrid(tableElm); - - if (tinyMCE.isMSIE || sel.rangeCount == 1) { - if (user_interface) { - // Setup template - var template = new Array(); - var sp = getColRowSpan(tdElm); - - template['file'] = '../../plugins/table/merge_cells.htm'; - template['width'] = 250; - template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0); - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_table_merge_cells_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_table_merge_cells_delta_height', 0); - - // Open window - tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : "update", numcols : sp.colspan, numrows : sp.rowspan}); - - 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; - } - - //return true; - } - } else { - var cells = new Array(); - var sel = inst.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 = new Array(); - 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--; - } - } - } - } - - break; - } - - tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); - tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance); - tinyMCE.triggerNodeChange(); - inst.repaint(); - } - - return true; - } - - // Pass to next handler in chain - return false; - } -}; - -tinyMCE.addPlugin("table", TinyMCE_TablePlugin); diff --git a/program/js/tiny_mce/plugins/table/images/buttons.gif b/program/js/tiny_mce/plugins/table/images/buttons.gif deleted file mode 100644 index 8c09ff952..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/buttons.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table.gif b/program/js/tiny_mce/plugins/table/images/table.gif deleted file mode 100644 index 2911830c3..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_cell_props.gif b/program/js/tiny_mce/plugins/table/images/table_cell_props.gif deleted file mode 100644 index bee7ed652..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_cell_props.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_delete.gif b/program/js/tiny_mce/plugins/table/images/table_delete.gif deleted file mode 100644 index 2a00e6ad6..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_delete.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_delete_col.gif b/program/js/tiny_mce/plugins/table/images/table_delete_col.gif deleted file mode 100644 index 91f53af02..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_delete_col.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_delete_row.gif b/program/js/tiny_mce/plugins/table/images/table_delete_row.gif deleted file mode 100644 index 7025733fe..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_delete_row.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_insert_col_after.gif b/program/js/tiny_mce/plugins/table/images/table_insert_col_after.gif deleted file mode 100644 index 85058080c..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_insert_col_after.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_insert_col_before.gif b/program/js/tiny_mce/plugins/table/images/table_insert_col_before.gif deleted file mode 100644 index b669d4fa6..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_insert_col_before.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_insert_row_after.gif b/program/js/tiny_mce/plugins/table/images/table_insert_row_after.gif deleted file mode 100644 index b9c144661..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_insert_row_after.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_insert_row_before.gif b/program/js/tiny_mce/plugins/table/images/table_insert_row_before.gif deleted file mode 100644 index 157d37365..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_insert_row_before.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_merge_cells.gif b/program/js/tiny_mce/plugins/table/images/table_merge_cells.gif deleted file mode 100644 index 6834e611e..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_merge_cells.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_row_props.gif b/program/js/tiny_mce/plugins/table/images/table_row_props.gif deleted file mode 100644 index e5c7cc37a..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_row_props.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/images/table_split_cells.gif b/program/js/tiny_mce/plugins/table/images/table_split_cells.gif deleted file mode 100644 index 8ccb1b5f8..000000000 Binary files a/program/js/tiny_mce/plugins/table/images/table_split_cells.gif and /dev/null differ diff --git a/program/js/tiny_mce/plugins/table/jscripts/cell.js b/program/js/tiny_mce/plugins/table/jscripts/cell.js deleted file mode 100644 index 436eaad17..000000000 --- a/program/js/tiny_mce/plugins/table/jscripts/cell.js +++ /dev/null @@ -1,249 +0,0 @@ -function init() { - 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 = tinyMCE.selectedInstance; - var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th"); - var formObj = document.forms[0]; - var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style")); - - // Get table cell data - var celltype = tdElm.nodeName.toLowerCase(); - var align = tinyMCE.getAttrib(tdElm, 'align'); - var valign = tinyMCE.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 = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false); - var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");; - var id = tinyMCE.getAttrib(tdElm, 'id'); - var lang = tinyMCE.getAttrib(tdElm, 'lang'); - var dir = tinyMCE.getAttrib(tdElm, 'dir'); - var scope = tinyMCE.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 = tinyMCE.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() { - tinyMCEPopup.restoreSelection(); - - var inst = tinyMCE.selectedInstance; - var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th"); - var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr"); - var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); - var formObj = document.forms[0]; - - inst.execCommand('mceBeginUndoLevel'); - - switch (getSelectValue(formObj, 'action')) { - case "cell": - var celltype = getSelectValue(formObj, 'celltype'); - var scope = getSelectValue(formObj, 'scope'); - - if (tinyMCE.getParam("accessibility_warnings")) { - if (celltype == "th" && scope == "") - var answer = confirm(tinyMCE.getLang('lang_table_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(tinyMCE.getLang('lang_table_col_limit', '', true, {cols : colLimit})); - return false; - } else if (rowLimit && rows > rowLimit) { - alert(tinyMCE.getLang('lang_table_row_limit', '', true, {rows : rowLimit})); - return false; - } else if (cellLimit && cols * rows > cellLimit) { - alert(tinyMCE.getLang('lang_table_cell_limit', '', true, {cells : cellLimit})); - return false; - } - - // Update table - if (action == "update") { - inst.execCommand('mceBeginUndoLevel'); - - tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true); - tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true); - tinyMCE.setAttrib(elm, 'border', border, true); - tinyMCE.setAttrib(elm, 'align', align); - tinyMCE.setAttrib(elm, 'class', className); - tinyMCE.setAttrib(elm, 'style', style); - tinyMCE.setAttrib(elm, 'id', id); - tinyMCE.setAttrib(elm, 'summary', summary); - tinyMCE.setAttrib(elm, 'dir', dir); - tinyMCE.setAttrib(elm, 'lang', lang); - - capEl = elm.getElementsByTagName('caption')[0]; - - if (capEl && !caption) - capEl.parentNode.removeChild(capEl); - - if (!capEl && caption) { - capEl = elm.ownerDocument.createElement('caption'); - capEl.innerHTML = ' '; - elm.insertBefore(capEl, elm.firstChild); - } - - // Not inline styles - if (!tinyMCE.getParam("inline_styles")) - tinyMCE.setAttrib(elm, 'width', width, true); - - // Remove these since they are not valid XHTML - tinyMCE.setAttrib(elm, 'borderColor', ''); - tinyMCE.setAttrib(elm, 'bgColor', ''); - tinyMCE.setAttrib(elm, 'background', ''); - tinyMCE.setAttrib(elm, 'height', ''); - - if (background != '') - elm.style.backgroundImage = "url('" + background + "')"; - else - elm.style.backgroundImage = ''; - - if (tinyMCE.getParam("inline_styles")) - elm.style.borderWidth = border + "px"; - - if (tinyMCE.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); - - tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst); - - // Fix for stange MSIE align bug - tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML; - - tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst); - tinyMCE.triggerNodeChange(); - inst.execCommand('mceEndUndoLevel'); - - // Repaint if dimensions changed - if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight) - inst.repaint(); - - 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 = tinyMCE.getParam('table_default_border', '0'), cellpadding = tinyMCE.getParam('table_default_cellpadding', ''), cellspacing = tinyMCE.getParam('table_default_cellspacing', ''); - var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = ""; - var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = ""; - var inst = tinyMCE.selectedInstance; - var formObj = document.forms[0]; - var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table"); - - tinyMCE.tableElm = elm; - action = tinyMCE.getWindowArg('action'); - if (action == null) - action = tinyMCE.tableElm ? "update" : "insert"; - - if (tinyMCE.tableElm && action != "insert") { - var rowsAr = tinyMCE.tableElm.rows; - var cols = 0; - for (var i=0; i cols) - cols = rowsAr[i].cells.length; - - cols = cols; - rows = rowsAr.length; - - st = tinyMCE.parseStyle(tinyMCE.getAttrib(tinyMCE.tableElm, "style")); - border = trimSize(getStyle(elm, 'border', 'borderWidth')); - cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', ""); - cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, '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 = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align); - className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false); - id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id'); - summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary'); - style = tinyMCE.serializeStyle(st); - dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir'); - lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang'); - background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1"); - formObj.caption.checked = tinyMCE.tableElm.getElementsByTagName('caption').length > 0; - - orgTableWidth = width; - orgTableHeight = height; - - action = "update"; - } - - addClassesToList('class', "table_styles"); - - // Update form - selectByValue(formObj, 'align', align); - 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; - formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); - - 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 = tinyMCE.parseStyle(formObj.style.value); - - var width = formObj.width.value; - if (width != "") - st['width'] = tinyMCE.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 = tinyMCE.serializeStyle(st); -} - -function changedBackgroundImage() { - var formObj = document.forms[0]; - var st = tinyMCE.parseStyle(formObj.style.value); - - st['background-image'] = "url('" + formObj.backgroundimage.value + "')"; - - formObj.style.value = tinyMCE.serializeStyle(st); -} - -function changedBorder() { - var formObj = document.forms[0]; - var st = tinyMCE.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 = tinyMCE.serializeStyle(st); -} - -function changedColor() { - var formObj = document.forms[0]; - var st = tinyMCE.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 = tinyMCE.serializeStyle(st); -} - -function changedStyle() { - var formObj = document.forms[0]; - var st = tinyMCE.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'); - } -} diff --git a/program/js/tiny_mce/plugins/table/langs/en.js b/program/js/tiny_mce/plugins/table/langs/en.js deleted file mode 100644 index 7597b3c21..000000000 --- a/program/js/tiny_mce/plugins/table/langs/en.js +++ /dev/null @@ -1,79 +0,0 @@ -// UK lang variables - -tinyMCE.addToLang('table',{ -general_tab : 'General', -advanced_tab : 'Advanced', -general_props : 'General properties', -advanced_props : 'Advanced properties', -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', -rowtype : 'Row in table part', -title : 'Insert/Modify table', -width : 'Width', -height : 'Height', -cols : 'Columns', -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', -row_desc : 'Table row properties', -cell_desc : 'Table cell properties', -valign : 'Vertical alignment', -align_top : 'Top', -align_bottom : 'Bottom', -props_desc : 'Table properties', -bordercolor : 'Border color', -bgcolor : 'Background color', -merge_cells_title : 'Merge table cells', -split_cells_desc : 'Split table cells', -merge_cells_desc : 'Merge table cells', -cut_row_desc : 'Cut table row', -copy_row_desc : 'Copy table row', -paste_row_before_desc : 'Paste table row before', -paste_row_after_desc : 'Paste table row after', -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', -del : 'Delete table', -scope : 'Scope', -row : 'Row', -col : 'Col', -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' -}); diff --git a/program/js/tiny_mce/plugins/table/merge_cells.htm b/program/js/tiny_mce/plugins/table/merge_cells.htm deleted file mode 100644 index 10896bf9e..000000000 --- a/program/js/tiny_mce/plugins/table/merge_cells.htm +++ /dev/null @@ -1,38 +0,0 @@ - - - {$lang_table_merge_cells_title} - - - - - - - -
-
- {$lang_table_merge_cells_title} - - - - - - - - - -
{$lang_table_cols}: -
{$lang_table_rows}:
-
- -
-
- -
- -
- -
-
-
- - diff --git a/program/js/tiny_mce/plugins/table/readme.txt b/program/js/tiny_mce/plugins/table/readme.txt deleted file mode 100644 index 4fdb78aec..000000000 --- a/program/js/tiny_mce/plugins/table/readme.txt +++ /dev/null @@ -1 +0,0 @@ -Check the TinyMCE documentation for details on this plugin. diff --git a/program/js/tiny_mce/plugins/table/row.htm b/program/js/tiny_mce/plugins/table/row.htm deleted file mode 100644 index 64f2afcb5..000000000 --- a/program/js/tiny_mce/plugins/table/row.htm +++ /dev/null @@ -1,159 +0,0 @@ - - - {$lang_table_row_title} - - - - - - - - -
- - -
-
-
- {$lang_table_general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- -
- -
- -
-
-
- -
-
- {$lang_table_advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- -
- - - - - -
 
-
- - - - - -
 
-
-
-
-
- -
-
- -
- -
-
-
- -
- -
-
-
- - diff --git a/program/js/tiny_mce/plugins/table/table.htm b/program/js/tiny_mce/plugins/table/table.htm deleted file mode 100644 index 6c722db3b..000000000 --- a/program/js/tiny_mce/plugins/table/table.htm +++ /dev/null @@ -1,160 +0,0 @@ - - - {$lang_table_title} - - - - - - - - - -
- - -
-
-
- {$lang_table_general_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- -
-
- {$lang_table_advanced_props} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -
- -
- - - - - -
 
-
- - - - - -
 
-
- - - - - -
 
-
-
-
-
- -
-
- -
- -
- -
-
-
- - diff --git a/program/js/tiny_mce/plugins/visualchars/editor_plugin.js b/program/js/tiny_mce/plugins/visualchars/editor_plugin.js deleted file mode 100755 index a35875409..000000000 --- a/program/js/tiny_mce/plugins/visualchars/editor_plugin.js +++ /dev/null @@ -1 +0,0 @@ -tinyMCE.importPluginLanguagePack('visualchars');var TinyMCE_VisualCharsPlugin={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}},initInstance:function(inst){inst.visualChars={state:false}},getControlHTML:function(cn){switch(cn){case"visualchars":return tinyMCE.getButtonHTML(cn,'lang_visualchars_desc','{$pluginurl}/images/visualchars.gif','mceVisualChars',false)}return""},execCommand:function(editor_id,element,command,user_interface,value){var inst=tinyMCE.getInstanceById(editor_id);switch(command){case"mceVisualChars":this._toggleVisualChars(editor_id,inst);return true}return false},cleanup:function(type,content,inst){if(type=="insert_to_editor_dom"||type=="get_from_editor_dom"){inst.visualChars.state=true;this._toggleVisualChars(inst.editorId,inst)}return content},_toggleVisualChars:function(editor_id,inst){var nl,i,h,d=inst.getDoc(),b=inst.getBody(),nv,s=inst.selection,bo;inst.visualChars.state=!inst.visualChars.state;bo=s.getBookmark(true);tinyMCE.switchClass(editor_id+'_visualchars',inst.visualChars.state?'mceButtonSelected':'mceButtonNormal');if(inst.visualChars.state){nl=tinyMCE.selectNodes(b,function(n){return n.nodeType==3&&n.nodeValue&&n.nodeValue.indexOf('\u00a0')!=-1});for(i=0;i$1');nv=nv.replace(/\u00a0/g,'\u00b7');tinyMCE.setOuterHTML(nl[i],nv,d)}}else{nl=tinyMCE.selectNodes(b,function(n){return n.nodeType==1&&n.nodeName=='SPAN'&&n.className=='mceItemHiddenVisualChar'});for(i=0;i$1'); - nv = nv.replace(/\u00a0/g, '\u00b7'); - tinyMCE.setOuterHTML(nl[i], nv, d); - } - } else { - nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 1 && n.nodeName == 'SPAN' && n.className == 'mceItemHiddenVisualChar';}); - - for (i=0; i - - {$lang_about_title} - - - - - - - - -
-
-

{$lang_about_title}

-

Version: {$tinymce_version} ({$tinymce_releasedate})

-

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.

- -
-
- -
-
-

{$lang_loaded_plugins}

- -
-
- -

 

-
-
- -
-
-
-
- -
-
- -
-
- - diff --git a/program/js/tiny_mce/themes/advanced/anchor.htm b/program/js/tiny_mce/themes/advanced/anchor.htm deleted file mode 100644 index 53d7969f0..000000000 --- a/program/js/tiny_mce/themes/advanced/anchor.htm +++ /dev/null @@ -1,33 +0,0 @@ - - - {$lang_insert_anchor_title} - - - - - -
- - - - - - - - - -
{$lang_insert_anchor_title}
{$lang_insert_anchor_name}:
- -
-
- -
- -
- -
-
- -
- - diff --git a/program/js/tiny_mce/themes/advanced/charmap.htm b/program/js/tiny_mce/themes/advanced/charmap.htm deleted file mode 100644 index 9aed1d4b5..000000000 --- a/program/js/tiny_mce/themes/advanced/charmap.htm +++ /dev/null @@ -1,53 +0,0 @@ - - - {$lang_theme_charmap_title} - - - - - - - - - - - - - - - - - -
{$lang_theme_charmap_title}
- - - - - - - - - -
 
 
-
- - - - - - - - - - - - - - - - -
HTML-Code
 
 
NUM-Code
 
-
- - - diff --git a/program/js/tiny_mce/themes/advanced/color_picker.htm b/program/js/tiny_mce/themes/advanced/color_picker.htm deleted file mode 100644 index 668d744a3..000000000 --- a/program/js/tiny_mce/themes/advanced/color_picker.htm +++ /dev/null @@ -1,74 +0,0 @@ - - - {$lang_theme_colorpicker_title} - - - - - - - - - -
-
-
- {$lang_color_picker} -
- - -
- -
- -
-
-
-
- -
-
- {$lang_web_colors} -
- -
- -
-
-
- -
-
- {$lang_named_colors} -
- -
- -
- -
- {$lang_color_name} -
-
-
-
- -
-
- -
- -
- -
- -
-
- - diff --git a/program/js/tiny_mce/themes/advanced/docs/en/about.htm b/program/js/tiny_mce/themes/advanced/docs/en/about.htm deleted file mode 100644 index a6957a651..000000000 --- a/program/js/tiny_mce/themes/advanced/docs/en/about.htm +++ /dev/null @@ -1,31 +0,0 @@ - - -About TinyMCE - - - - - - - - - - - -
-
-TinyMCE is a small WYSIWYG editor control for web browsers such as MSIE or Mozilla -that enables you to edit HTML contents in a more user friendly way. It has common -features that are found in most word processors and should not be difficult to -use.
-
-
- - - - - - -
- - diff --git a/program/js/tiny_mce/themes/advanced/docs/en/common_buttons.htm b/program/js/tiny_mce/themes/advanced/docs/en/common_buttons.htm deleted file mode 100644 index 518b28551..000000000 --- a/program/js/tiny_mce/themes/advanced/docs/en/common_buttons.htm +++ /dev/null @@ -1,162 +0,0 @@ - - -Common buttons - - - - - - - - - - - -
-
-Below is a short description about each button. -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Bold text iconBold text style (Ctrl+B).
Italic text iconItalic text style (Ctrl+I).
Underline text icon.Underline text style (Ctrl+U).
Strikethrough text icon.Strikethrough text style.
Align left icon.Align left.
Align center icon.Align center.
Align right icon.Align right.
Align full icon.Align full.
Unordered list/bullet list icon.Unordered list/bullet list.
Ordered list/numbered list icon.Ordered list/numbered list
Outdent/decrease indentation icon.Outdent/decrease indentation.
Indent/increase indentation icon.Indent/increase indentation.
Undo the last operation.Undo the last operation (Ctrl+Z).
Redo the last operation icon.Redo the last operation (Ctrl+Y).
Insert a new link icon.Insert a new link, read more about this function in the Insert - link section.
Unlinks the current selection icon.Unlinks the current selection/removes all selected links.
Insert a new anchor icon.Insert a new anchor, read more about this function in the Insert anchor section.
Insert a new image icon.Insert a new image, read more about this function in the Insert - image section.
Cleanup code icon.Cleanup code/Removes unwanted formating. This function is useful when - you copy contents from for example a office product.
Show help icon.Shows this help window.
Source code editor icon.Opens HTML source code editor.
Insert table icon.Inserts a new table at the current location.
Adds a row above icon.Adds a row above the current one.
Adds a row under icon.Adds a row under the current one.
Remove row icon.Removes the row.
Add column before icon.Adds a column before the current one.
Add column after icon.Adds a column after the current one.
Remove column icon.Removes the current column.
Insert horizontal ruler icon.Inserts a new horizontal ruler
Remove formatting icon.Removes formatting from the selection.
Subscript icon.Makes the selection to be subscript.
Superscript icon.Makes the selection to be superscripted.
-
-
- - - - - - - - diff --git a/program/js/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm b/program/js/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm deleted file mode 100644 index f4070a31d..000000000 --- a/program/js/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm +++ /dev/null @@ -1,45 +0,0 @@ - - -Insert table button - - - - - - - - - - - -
-

TinyMCE can create HTML content that will be accessible to all users, including those with disabilities using assistive technologies, as well as those using text-based browsers, or those browsing the Web with images turned off.

- -

Things you can do to make your content accessible:

-
    -
  1. Include an Image Description: Blind users, or others who are unable to view images, will rely on the Image Description (or Alt text) to take the place of the image. If an image contains no meaning, such as a decoration or a spacer image, leave the Image Description empty. TinyMCE will then insert an empty Alt text attribute that will force assistive technologies to ignore the image.

  2. - -
  3. Add Scope to data table header cells: In the table cell editor dialog window, choose a Scope when creating Header cells so the column or row label in that cell becomes explicitely associated with its data cells. Table cell headers will then be announced with each data cell, making it easier for blind users using a screen reader to understand what the content of each cell represents.

  4. - -
  5. Structure content with properly nested headings: In the format selection menu choose Heading 1 to Heading 6 to represent headings in your content, rather than using other font formating options. Blind users using a screen reader can then extract the headings from the page to generate a summary of the content it contains, and use those headings to navigate quickly to subsections within the page.

  6. - -
  7. Include alternate content: Create an alternate page for non-HTML content such as Flash, Java applets, or embedded movies. This might be a static image, with a description of the image, and a description of the content that would have appeared in its place. An alternate HTML page could also be created, and a link to it included next to the non-HTML object. This will ensure that the content will be accessible to users of assistive technologies that can not view or play the content, and ensure the content will be available to those who do not have the appropriate plugin or helper application installed.

  8. - -
  9. Check accessbility: When the AChecker plugin is installed with TinyMCE, click on the Check Accessibility button to generate a report of potential accessibility problems.

  10. - -
- -

See the AChecker Web Site for further details about creating content that will be accessible to all users.
-

- -
- - - - - - - -
- - diff --git a/program/js/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif b/program/js/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif deleted file mode 100644 index 5b5f528dd..000000000 Binary files a/program/js/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif b/program/js/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif deleted file mode 100644 index cdc617eab..000000000 Binary files a/program/js/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif b/program/js/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif deleted file mode 100644 index 7bad7583a..000000000 Binary files a/program/js/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif b/program/js/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif deleted file mode 100644 index 6a032c5ae..000000000 Binary files a/program/js/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/docs/en/index.htm b/program/js/tiny_mce/themes/advanced/docs/en/index.htm deleted file mode 100644 index 9810a93b0..000000000 --- a/program/js/tiny_mce/themes/advanced/docs/en/index.htm +++ /dev/null @@ -1,27 +0,0 @@ - - -Help Index - - - - - - - - - -
-
-Click the links below to go to the different help sections. - -
- - diff --git a/program/js/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm b/program/js/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm deleted file mode 100644 index 332cbc687..000000000 --- a/program/js/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm +++ /dev/null @@ -1,32 +0,0 @@ - - -Insert anchor button - - - - - - - - - - - -
-
-This button opens a new window with the insert/edit anchor function.
-
-Anchor dialog/window
-
-There are one field in this window, this is where you enter the name of you anchor point. Remember the anchor name needs to be unique.
-
-
- - - - - - -
- - diff --git a/program/js/tiny_mce/themes/advanced/docs/en/insert_image_button.htm b/program/js/tiny_mce/themes/advanced/docs/en/insert_image_button.htm deleted file mode 100644 index 1529648d5..000000000 --- a/program/js/tiny_mce/themes/advanced/docs/en/insert_image_button.htm +++ /dev/null @@ -1,65 +0,0 @@ - - -Insert image button - - - - - - - - - - - -
-
-The insert image button opens the window shown below.
-
-Insert image dialog/window
-
-You simply enter a URL to the image you want to link to and enter a image description, -this is then displayed as an alternative text descripton of the image on the page.
-
-Field descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Image URL URL/path to the image.
Image description Alternative description of image contents.
DimentionsImage width/height.
AlignmentImage alignment, useful when wrapping text around images.
BorderBorder thickness.
VSpaceVertical space, useful when wrapping text around images.
HSpaceHorizontal space, useful when wrapping text around images.
-
-
- - - - - - -
- - diff --git a/program/js/tiny_mce/themes/advanced/docs/en/insert_link_button.htm b/program/js/tiny_mce/themes/advanced/docs/en/insert_link_button.htm deleted file mode 100644 index 4f6445076..000000000 --- a/program/js/tiny_mce/themes/advanced/docs/en/insert_link_button.htm +++ /dev/null @@ -1,33 +0,0 @@ - - -Insert link button - - - - - - - - - - - -
-
-This button opens a new window with the insert/edit link function.
-
-Insert link dialog/window
-
-There are two fields in this window the first one "Link URL" is the -URL of the link. The target enables you to select how the link is to be opened.
-
-
- - - - - - -
- - diff --git a/program/js/tiny_mce/themes/advanced/docs/en/insert_table_button.htm b/program/js/tiny_mce/themes/advanced/docs/en/insert_table_button.htm deleted file mode 100644 index f352a0516..000000000 --- a/program/js/tiny_mce/themes/advanced/docs/en/insert_table_button.htm +++ /dev/null @@ -1,71 +0,0 @@ - - -Insert table button - - - - - - - - - - - -
-
-The insert table button opens the window shown below. This action enables you to create tables.
-
-Image of table window
-
-Field descriptions:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ColumnsNumber of columns in the table.
RowsNumber of rows in the new table.
CellpaddingCellpadding of the table .
CellspacingCellspacing of the table .
AlignmentTable alignment .
BorderBorder thinkness of table.
WidthWidth in pixels of table .
HeightHeight in pixels of table.
ClassStyle or CSS class of table.
-
-
-
- - - - - - -
- - diff --git a/program/js/tiny_mce/themes/advanced/docs/en/style.css b/program/js/tiny_mce/themes/advanced/docs/en/style.css deleted file mode 100644 index ebc05380e..000000000 --- a/program/js/tiny_mce/themes/advanced/docs/en/style.css +++ /dev/null @@ -1,28 +0,0 @@ -body { background-color: #FFFFFF; } -body, td, .content { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 12px; } -.title { font-family: Verdana, Arial, helvetica, sans-serif; font-size: 16px; font-weight: bold; } -.subtitle { font-size: 12px; font-weight: bold; } - -.toc_ul, .toc_li { margin-left: 8px; line-height: 16px; } -.step_ol, .step_li { margin-left: 11px; line-height: 16px; } -img { border: #000000 solid 1px; } - -a:visited { color: #666666; text-decoration: underline; } -a:active { color: #666666; text-decoration: underline; } -a:hover { color: #666666; text-decoration: underline; } -a { color: #666666; text-decoration: underline; } - -.pageheader { border: #E0E0E0 solid 1px; } -.pagefooter { border: #E0E0E0 solid 1px; } -.sample { background-color: #FFFFFF; border: #000000 solid 1px; } -.samplecontent { font-size: 10px; } - -.code { background-color: #FFFFFF; border: #000000 solid 1px; } -.codecontent { font-size: 10px; } -.codecontent a:visited { color: #666666; text-decoration: none; font-weight: bold } -.codecontent a:active { color: #666666; text-decoration: none; font-weight: bold } -.codecontent a:hover { color: #666666; text-decoration: none; font-weight: bold } -.codecontent a { color: #666666; text-decoration: none; font-weight: bold } - -hr { height: 1px; } - diff --git a/program/js/tiny_mce/themes/advanced/editor_template.js b/program/js/tiny_mce/themes/advanced/editor_template.js deleted file mode 100644 index 9f965daad..000000000 --- a/program/js/tiny_mce/themes/advanced/editor_template.js +++ /dev/null @@ -1 +0,0 @@ -tinyMCE.importThemeLanguagePack('advanced');var TinyMCE_AdvancedTheme={_defColors:"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",_autoImportCSSClasses:true,_resizer:{},_buttons:[['bold','{$lang_bold_img}','lang_bold_desc','Bold'],['italic','{$lang_italic_img}','lang_italic_desc','Italic'],['underline','{$lang_underline_img}','lang_underline_desc','Underline'],['strikethrough','strikethrough.gif','lang_striketrough_desc','Strikethrough'],['justifyleft','justifyleft.gif','lang_justifyleft_desc','JustifyLeft'],['justifycenter','justifycenter.gif','lang_justifycenter_desc','JustifyCenter'],['justifyright','justifyright.gif','lang_justifyright_desc','JustifyRight'],['justifyfull','justifyfull.gif','lang_justifyfull_desc','JustifyFull'],['bullist','bullist.gif','lang_bullist_desc','InsertUnorderedList'],['numlist','numlist.gif','lang_numlist_desc','InsertOrderedList'],['outdent','outdent.gif','lang_outdent_desc','Outdent'],['indent','indent.gif','lang_indent_desc','Indent'],['cut','cut.gif','lang_cut_desc','Cut'],['copy','copy.gif','lang_copy_desc','Copy'],['paste','paste.gif','lang_paste_desc','Paste'],['undo','undo.gif','lang_undo_desc','Undo'],['redo','redo.gif','lang_redo_desc','Redo'],['link','link.gif','lang_link_desc','mceLink',true],['unlink','unlink.gif','lang_unlink_desc','unlink'],['image','image.gif','lang_image_desc','mceImage',true],['cleanup','cleanup.gif','lang_cleanup_desc','mceCleanup'],['help','help.gif','lang_help_desc','mceHelp'],['code','code.gif','lang_theme_code_desc','mceCodeEditor'],['hr','hr.gif','lang_theme_hr_desc','inserthorizontalrule'],['removeformat','removeformat.gif','lang_theme_removeformat_desc','removeformat'],['sub','sub.gif','lang_theme_sub_desc','subscript'],['sup','sup.gif','lang_theme_sup_desc','superscript'],['forecolor','forecolor.gif','lang_theme_forecolor_desc','forecolor',true],['forecolorpicker','forecolor.gif','lang_theme_forecolor_desc','forecolorpicker',true],['backcolor','backcolor.gif','lang_theme_backcolor_desc','HiliteColor',true],['backcolorpicker','backcolor.gif','lang_theme_backcolor_desc','backcolorpicker',true],['charmap','charmap.gif','lang_theme_charmap_desc','mceCharMap'],['visualaid','visualaid.gif','lang_theme_visualaid_desc','mceToggleVisualAid'],['anchor','anchor.gif','lang_theme_anchor_desc','mceInsertAnchor'],['newdocument','newdocument.gif','lang_newdocument_desc','mceNewDocument']],_buttonMap:'anchor,backcolor,bold,bullist,charmap,cleanup,code,copy,cut,forecolor,help,hr,image,indent,italic,justifycenter,justifyfull,justifyleft,justifyright,link,newdocument,numlist,outdent,paste,redo,removeformat,strikethrough,sub,sup,underline,undo,unlink,visualaid,advhr,ltr,rtl,emotions,flash,fullpage,fullscreen,iespell,insertdate,inserttime,pastetext,pasteword,selectall,preview,print,save,replace,search,table,cell_props,delete_col,delete_row,col_after,col_before,row_after,row_before,merge_cells,row_props,split_cells,delete_table',getControlHTML:function(button_name){var i,x,but;for(i=0;i4?but[4]:false),(but.length>5?but[5]:null));if(but[0]==button_name)return tinyMCE.getButtonHTML(but[0],but[2],'{$themeurl}/images/'+but[1],but[3],(but.length>4?but[4]:false),(but.length>5?but[5]:null))}switch(button_name){case"formatselect":var html='';return html;case"styleselect":return'';case"fontselect":var fontHTML='';return fontHTML;case"fontsizeselect":return'';case"|":case"separator":return'';case"spacer":return'';case"rowseparator":return'
'}return""},execCommand:function(editor_id,element,command,user_interface,value){switch(command){case'mceHelp':tinyMCE.openWindow({file:'about.htm',width:480,height:380},{tinymce_version:tinyMCE.majorVersion+"."+tinyMCE.minorVersion,tinymce_releasedate:tinyMCE.releaseDate,inline:"yes"});return true;case"mceLink":var inst=tinyMCE.getInstanceById(editor_id);var doc=inst.getDoc();var selectedText="";if(tinyMCE.isMSIE){var rng=doc.selection.createRange();selectedText=rng.text}else selectedText=inst.getSel().toString();if(!tinyMCE.linkElement){if((tinyMCE.selectedElement.nodeName.toLowerCase()!="img")&&(selectedText.length<=0))return true}var href="",target="",title="",onclick="",action="insert",style_class="";if(tinyMCE.selectedElement.nodeName.toLowerCase()=="a")tinyMCE.linkElement=tinyMCE.selectedElement;if(tinyMCE.linkElement!=null&&tinyMCE.getAttrib(tinyMCE.linkElement,'href')=="")tinyMCE.linkElement=null;if(tinyMCE.linkElement){href=tinyMCE.getAttrib(tinyMCE.linkElement,'href');target=tinyMCE.getAttrib(tinyMCE.linkElement,'target');title=tinyMCE.getAttrib(tinyMCE.linkElement,'title');onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');style_class=tinyMCE.getAttrib(tinyMCE.linkElement,'class');if(onclick=="")onclick=tinyMCE.getAttrib(tinyMCE.linkElement,'onclick');onclick=tinyMCE.cleanupEventStr(onclick);href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);");mceRealHref=tinyMCE.getAttrib(tinyMCE.linkElement,'mce_href');if(mceRealHref!=""){href=mceRealHref;if(tinyMCE.getParam('convert_urls'))href=eval(tinyMCE.settings['urlconverter_callback']+"(href, tinyMCE.linkElement, true);")}action="update"}var template=new Array();template['file']='link.htm';template['width']=310;template['height']=200;template['width']+=tinyMCE.getLang('lang_insert_link_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_link_delta_height',0);if(inst.settings['insertlink_callback']){var returnVal=eval(inst.settings['insertlink_callback']+"(href, target, title, onclick, action, style_class);");if(returnVal&&returnVal['href'])TinyMCE_AdvancedTheme._insertLink(returnVal['href'],returnVal['target'],returnVal['title'],returnVal['onclick'],returnVal['style_class'])}else{tinyMCE.openWindow(template,{href:href,target:target,title:title,onclick:onclick,action:action,className:style_class,inline:"yes"})}return true;case"mceImage":var src="",alt="",border="",hspace="",vspace="",width="",height="",align="";var title="",onmouseover="",onmouseout="",action="insert";var img=tinyMCE.imgElement;var inst=tinyMCE.getInstanceById(editor_id);if(tinyMCE.selectedElement!=null&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){img=tinyMCE.selectedElement;tinyMCE.imgElement=img}if(img){if(tinyMCE.getAttrib(img,'name').indexOf('mce_')==0)return true;src=tinyMCE.getAttrib(img,'src');alt=tinyMCE.getAttrib(img,'alt');if(alt=="")alt=tinyMCE.getAttrib(img,'title');if(tinyMCE.isGecko){var w=img.style.width;if(w!=null&&w!="")img.setAttribute("width",w);var h=img.style.height;if(h!=null&&h!="")img.setAttribute("height",h)}border=tinyMCE.getAttrib(img,'border');hspace=tinyMCE.getAttrib(img,'hspace');vspace=tinyMCE.getAttrib(img,'vspace');width=tinyMCE.getAttrib(img,'width');height=tinyMCE.getAttrib(img,'height');align=tinyMCE.getAttrib(img,'align');onmouseover=tinyMCE.getAttrib(img,'onmouseover');onmouseout=tinyMCE.getAttrib(img,'onmouseout');title=tinyMCE.getAttrib(img,'title');if(tinyMCE.isMSIE){width=img.attributes['width'].specified?width:"";height=img.attributes['height'].specified?height:""}src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);");mceRealSrc=tinyMCE.getAttrib(img,'mce_src');if(mceRealSrc!=""){src=mceRealSrc;if(tinyMCE.getParam('convert_urls'))src=eval(tinyMCE.settings['urlconverter_callback']+"(src, img, true);")}action="update"}var template=new Array();template['file']='image.htm?src={$src}';template['width']=355;template['height']=265+(tinyMCE.isMSIE?25:0);template['width']+=tinyMCE.getLang('lang_insert_image_delta_width',0);template['height']+=tinyMCE.getLang('lang_insert_image_delta_height',0);if(inst.settings['insertimage_callback']){var returnVal=eval(inst.settings['insertimage_callback']+"(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);");if(returnVal&&returnVal['src'])TinyMCE_AdvancedTheme._insertImage(returnVal['src'],returnVal['alt'],returnVal['border'],returnVal['hspace'],returnVal['vspace'],returnVal['width'],returnVal['height'],returnVal['align'],returnVal['title'],returnVal['onmouseover'],returnVal['onmouseout'])}else tinyMCE.openWindow(template,{src:src,alt:alt,border:border,hspace:hspace,vspace:vspace,width:width,height:height,align:align,title:title,onmouseover:onmouseover,onmouseout:onmouseout,action:action,inline:"yes"});return true;case"forecolor":var fcp=new TinyMCE_Layer(editor_id+'_fcPreview',false),p,img,elm;TinyMCE_AdvancedTheme._hideMenus(editor_id);if(!fcp.exists()){fcp.create('div','mceColorPreview',document.getElementById(editor_id+'_toolbar'));elm=fcp.getElement();elm._editor_id=editor_id;elm._command="forecolor";elm._switchId=editor_id+"_forecolor";tinyMCE.addEvent(elm,'click',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseover',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseout',TinyMCE_AdvancedTheme._handleMenuEvent)}img=tinyMCE.selectNodes(document.getElementById(editor_id+"_forecolor"),function(n){return n.nodeName=="IMG"})[0];p=tinyMCE.getAbsPosition(img,document.getElementById(editor_id+'_toolbar'));fcp.moveTo(p.absLeft,p.absTop);fcp.getElement().style.backgroundColor=value!=null?value:tinyMCE.getInstanceById(editor_id).foreColor;fcp.show();return false;case"forecolorpicker":this._pickColor(editor_id,'forecolor');return true;case"forecolorMenu":TinyMCE_AdvancedTheme._hideMenus(editor_id);var ml=new TinyMCE_Layer(editor_id+'_fcMenu');if(!ml.exists())ml.create('div','mceMenu',document.body,TinyMCE_AdvancedTheme._getColorHTML(editor_id,'theme_advanced_text_colors','forecolor'));tinyMCE.switchClass(editor_id+'_forecolor','mceMenuButtonFocus');ml.moveRelativeTo(document.getElementById(editor_id+"_forecolor"),'bl');ml.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?-1:1,-1);if(tinyMCE.isOpera)ml.moveBy(0,-2);ml.show();return true;case"HiliteColor":var bcp=new TinyMCE_Layer(editor_id+'_bcPreview',false),p,img;TinyMCE_AdvancedTheme._hideMenus(editor_id);if(!bcp.exists()){bcp.create('div','mceColorPreview',document.getElementById(editor_id+'_toolbar'));elm=bcp.getElement();elm._editor_id=editor_id;elm._command="HiliteColor";elm._switchId=editor_id+"_backcolor";tinyMCE.addEvent(elm,'click',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseover',TinyMCE_AdvancedTheme._handleMenuEvent);tinyMCE.addEvent(elm,'mouseout',TinyMCE_AdvancedTheme._handleMenuEvent)}img=tinyMCE.selectNodes(document.getElementById(editor_id+"_backcolor"),function(n){return n.nodeName=="IMG"})[0];p=tinyMCE.getAbsPosition(img,document.getElementById(editor_id+'_toolbar'));bcp.moveTo(p.absLeft,p.absTop);bcp.getElement().style.backgroundColor=value!=null?value:tinyMCE.getInstanceById(editor_id).backColor;bcp.show();return false;case"HiliteColorMenu":TinyMCE_AdvancedTheme._hideMenus(editor_id);var ml=new TinyMCE_Layer(editor_id+'_bcMenu');if(!ml.exists())ml.create('div','mceMenu',document.body,TinyMCE_AdvancedTheme._getColorHTML(editor_id,'theme_advanced_background_colors','HiliteColor'));tinyMCE.switchClass(editor_id+'_backcolor','mceMenuButtonFocus');ml.moveRelativeTo(document.getElementById(editor_id+"_backcolor"),'bl');ml.moveBy(tinyMCE.isMSIE&&!tinyMCE.isOpera?-1:1,-1);if(tinyMCE.isOpera)ml.moveBy(0,-2);ml.show();return true;case"backcolorpicker":this._pickColor(editor_id,'HiliteColor');return true;case"mceColorPicker":if(user_interface){var template=[];if(!value['callback']&&!value['color'])value['color']=value['document'].getElementById(value['element_id']).value;template['file']='color_picker.htm';template['width']=380;template['height']=250;template['close_previous']="no";template['width']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height',0);if(typeof(value['store_selection'])=="undefined")value['store_selection']=true;tinyMCE.lastColorPickerValue=value;tinyMCE.openWindow(template,{editor_id:editor_id,mce_store_selection:value['store_selection'],inline:"yes",command:"mceColorPicker",input_color:value['color']})}else{var savedVal=tinyMCE.lastColorPickerValue,elm;if(savedVal['callback']){savedVal['callback'](value);return true}elm=savedVal['document'].getElementById(savedVal['element_id']);elm.value=value;if(elm.onchange!=null&&elm.onchange!='')eval('elm.onchange();')}return true;case"mceCodeEditor":var template=new Array();template['file']='source_editor.htm';template['width']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_width",720));template['height']=parseInt(tinyMCE.getParam("theme_advanced_source_editor_height",580));tinyMCE.openWindow(template,{editor_id:editor_id,resizable:"yes",scrollbars:"no",inline:"yes"});return true;case"mceCharMap":var template=new Array();template['file']='charmap.htm';template['width']=550+(tinyMCE.isOpera?40:0);template['height']=250;template['width']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_charmap_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceInsertAnchor":var template=new Array();template['file']='anchor.htm';template['width']=320;template['height']=90+(tinyMCE.isNS7?30:0);template['width']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_width',0);template['height']+=tinyMCE.getLang('lang_theme_advanced_anchor_delta_height',0);tinyMCE.openWindow(template,{editor_id:editor_id,inline:"yes"});return true;case"mceNewDocument":if(confirm(tinyMCE.getLang('lang_newdocument')))tinyMCE.execInstanceCommand(editor_id,'mceSetContent',false,' ');return true}return false},getEditorTemplate:function(settings,editorId){function removeFromArray(in_array,remove_array){var outArray=new Array(),skip;for(var i=0;i 

';var layoutManager=tinyMCE.getParam("theme_advanced_layout_manager","SimpleLayout");var styleSelectHTML='';if(settings['theme_advanced_styles']){var stylesAr=settings['theme_advanced_styles'].split(';');for(var i=0;i'+key+''}TinyMCE_AdvancedTheme._autoImportCSSClasses=false}switch(layoutManager){case"SimpleLayout":var toolbarHTML="";var toolbarLocation=tinyMCE.getParam("theme_advanced_toolbar_location","bottom");var toolbarAlign=tinyMCE.getParam("theme_advanced_toolbar_align","center");var pathLocation=tinyMCE.getParam("theme_advanced_path_location","none");var statusbarLocation=tinyMCE.getParam("theme_advanced_statusbar_location",pathLocation);var defVals={theme_advanced_buttons1:"bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect",theme_advanced_buttons2:"bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code",theme_advanced_buttons3:"hr,removeformat,visualaid,separator,sub,sup,separator,charmap"};toolbarHTML+='0){toolbarHTML+="
";deltaHeight-=23}}toolbarHTML+='
';template['html']='';if(toolbarLocation=="top")template['html']+='';if(statusbarLocation=="top"){template['html']+='';deltaHeight-=23}template['html']+='';if(toolbarLocation=="bottom")template['html']+='';if(toolbarLocation=="external"){var bod=document.body;var elm=document.createElement("div");toolbarHTML=tinyMCE.replaceVar(toolbarHTML,'style_select_options',styleSelectHTML);toolbarHTML=tinyMCE.applyTemplate(toolbarHTML,{editor_id:editorId});elm.className="mceToolbarExternal";elm.id=editorId+"_toolbar";elm.innerHTML='
'+toolbarHTML+'
'+statusbarHTML+'
'+toolbarHTML+'
'+toolbarHTML+'
';bod.appendChild(elm);deltaHeight=0;tinyMCE.getInstanceById(editorId).toolbarElement=elm;}else{tinyMCE.getInstanceById(editorId).toolbarElement=null}if(statusbarLocation=="bottom"){template['html']+=''+statusbarHTML+'';deltaHeight-=23}template['html']+='';break;case"RowLayout":template['html']='';var containers=tinyMCE.getParam("theme_advanced_containers","",true,",");var defaultContainerCSS=tinyMCE.getParam("theme_advanced_containers_default_class","container");var defaultContainerAlign=tinyMCE.getParam("theme_advanced_containers_default_align","center");for(var i=0;i';else if(containers[i]=="mceElementpath"||containers[i]=="mceStatusbar"){var pathClass="mceStatusbar";if(i==containers.length-1){pathClass="mceStatusbarBottom"}else if(i==0){pathClass="mceStatusbar"}else{deltaHeight-=2}template['html']+='';deltaHeight-=22}else{var curContainer=tinyMCE.getParam("theme_advanced_container_"+containers[i],"",true,',');var curContainerHTML="";var curAlign=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align",defaultContainerAlign);var curCSS=tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class",defaultContainerCSS);curContainer=removeFromArray(curContainer,tinyMCE.getParam("theme_advanced_disable","",true,','));for(var j=0;j0){curContainerHTML+="
";deltaHeight-=23}template['html']+='
'}}template['html']+='
'+statusbarHTML+'
'+curContainerHTML+'
';break;case"CustomLayout":var customLayout=tinyMCE.getParam("theme_advanced_custom_layout","");if(customLayout!=""&&eval("typeof("+customLayout+")")!="undefined"){template=eval(customLayout+"(template);")}break}if(resizing)template['html']+='';template['html']=tinyMCE.replaceVar(template['html'],'style_select_options',styleSelectHTML);if(!template['delta_width'])template['delta_width']=0;if(!template['delta_height'])template['delta_height']=deltaHeight;return template},initInstance:function(inst){if(tinyMCE.getParam("theme_advanced_resizing",false)){if(tinyMCE.getParam("theme_advanced_resizing_use_cookie",true)){var w=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_width");var h=TinyMCE_AdvancedTheme._getCookie("TinyMCE_"+inst.editorId+"_height");TinyMCE_AdvancedTheme._resizeTo(inst,w,h,tinyMCE.getParam("theme_advanced_resize_horizontal",true))}}inst.addShortcut('ctrl','k','lang_link_desc','mceLink')},removeInstance:function(inst){new TinyMCE_Layer(inst.editorId+'_fcMenu').remove();new TinyMCE_Layer(inst.editorId+'_bcMenu').remove()},hideInstance:function(inst){TinyMCE_AdvancedTheme._hideMenus(inst.editorId)},_handleMenuEvent:function(e){var te=tinyMCE.isMSIE?window.event.srcElement:e.target;tinyMCE._menuButtonEvent(e.type=="mouseover"?"over":"out",document.getElementById(te._switchId));if(e.type=="click")tinyMCE.execInstanceCommand(te._editor_id,te._command)},_hideMenus:function(id){var fcml=new TinyMCE_Layer(id+'_fcMenu'),bcml=new TinyMCE_Layer(id+'_bcMenu');if(fcml.exists()&&fcml.isVisible()){tinyMCE.switchClass(id+'_forecolor','mceMenuButton');fcml.hide()}if(bcml.exists()&&bcml.isVisible()){tinyMCE.switchClass(id+'_backcolor','mceMenuButton');bcml.hide()}},handleNodeChange:function(editor_id,node,undo_index,undo_levels,visual_aid,any_selection,setup_content){var alignNode,breakOut,classNode;function selectByValue(select_elm,value,first_index){first_index=typeof(first_index)=="undefined"?false:true;if(select_elm){for(var i=0;i=0;i--){var nodeName=path[i].nodeName.toLowerCase();var nodeData="";if(nodeName.indexOf("html:")==0)nodeName=nodeName.substring(5);if(nodeName=="b"){nodeName="strong"}if(nodeName=="i"){nodeName="em"}if(nodeName=="span"){var cn=tinyMCE.getAttrib(path[i],"class");if(cn!=""&&cn.indexOf('mceItem')==-1)nodeData+="class: "+cn+" ";var st=tinyMCE.getAttrib(path[i],"style");if(st!=""){st=tinyMCE.serializeStyle(tinyMCE.parseStyle(st));nodeData+="style: "+tinyMCE.xmlEncode(st)+" "}}if(nodeName=="font"){if(tinyMCE.getParam("convert_fonts_to_spans"))nodeName="span";var face=tinyMCE.getAttrib(path[i],"face");if(face!="")nodeData+="font: "+tinyMCE.xmlEncode(face)+" ";var size=tinyMCE.getAttrib(path[i],"size");if(size!="")nodeData+="size: "+tinyMCE.xmlEncode(size)+" ";var color=tinyMCE.getAttrib(path[i],"color");if(color!="")nodeData+="color: "+tinyMCE.xmlEncode(color)+" "}if(tinyMCE.getAttrib(path[i],'id')!=""){nodeData+="id: "+path[i].getAttribute('id')+" "}var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1)nodeData+="class: "+className+" ";if(tinyMCE.getAttrib(path[i],'src')!=""){var src=tinyMCE.getAttrib(path[i],"mce_src");if(src=="")src=tinyMCE.getAttrib(path[i],"src");nodeData+="src: "+tinyMCE.xmlEncode(src)+" "}if(path[i].nodeName=='A'&&tinyMCE.getAttrib(path[i],'href')!=""){var href=tinyMCE.getAttrib(path[i],"mce_href");if(href=="")href=tinyMCE.getAttrib(path[i],"href");nodeData+="href: "+tinyMCE.xmlEncode(href)+" "}className=tinyMCE.getAttrib(path[i],"class");if((nodeName=="img"||nodeName=="span")&&className.indexOf('mceItem')!=-1){nodeName=className.replace(/mceItem([a-z]+)/gi,'$1').toLowerCase();nodeData=path[i].getAttribute('title')}if(nodeName=="a"&&(anchor=tinyMCE.getAttrib(path[i],"name"))!=""){nodeName="a";nodeName+="#"+tinyMCE.xmlEncode(anchor);nodeData=""}if(tinyMCE.getAttrib(path[i],'name').indexOf("mce_")!=0){var className=tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i],"class"),false);if(className!=""&&className.indexOf('mceItem')==-1){nodeName+="."+className}}var cmd='tinyMCE.execInstanceCommand(\''+editor_id+'\',\'mceSelectNodeDepth\',false,\''+i+'\');';html+=''+nodeName+'';if(i>0){html+=" » "}}pathElm.innerHTML=''+tinyMCE.getLang('lang_theme_path')+": "+html+' '}tinyMCE.switchClass(editor_id+'_justifyleft','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyright','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifycenter','mceButtonNormal');tinyMCE.switchClass(editor_id+'_justifyfull','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bold','mceButtonNormal');tinyMCE.switchClass(editor_id+'_italic','mceButtonNormal');tinyMCE.switchClass(editor_id+'_underline','mceButtonNormal');tinyMCE.switchClass(editor_id+'_strikethrough','mceButtonNormal');tinyMCE.switchClass(editor_id+'_bullist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_numlist','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sub','mceButtonNormal');tinyMCE.switchClass(editor_id+'_sup','mceButtonNormal');tinyMCE.switchClass(editor_id+'_anchor','mceButtonNormal');tinyMCE.switchClass(editor_id+'_link','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_unlink','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_outdent','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_image','mceButtonNormal');tinyMCE.switchClass(editor_id+'_hr','mceButtonNormal');if(node.nodeName=="A"&&tinyMCE.getAttrib(node,"class").indexOf('mceItemAnchor')!=-1)tinyMCE.switchClass(editor_id+'_anchor','mceButtonSelected');var anchorLink=tinyMCE.getParentElement(node,"a","href");if(anchorLink||any_selection){tinyMCE.switchClass(editor_id+'_link',anchorLink?'mceButtonSelected':'mceButtonNormal');tinyMCE.switchClass(editor_id+'_unlink',anchorLink?'mceButtonSelected':'mceButtonNormal')}tinyMCE.switchClass(editor_id+'_visualaid',visual_aid?'mceButtonSelected':'mceButtonNormal');if(undo_levels!=-1){tinyMCE.switchClass(editor_id+'_undo','mceButtonDisabled');tinyMCE.switchClass(editor_id+'_redo','mceButtonDisabled')}if(tinyMCE.getParentElement(node,"li,blockquote"))tinyMCE.switchClass(editor_id+'_outdent','mceButtonNormal');if(undo_index!=-1&&(undo_index0))tinyMCE.switchClass(editor_id+'_redo','mceButtonNormal');if(undo_index!=-1&&(undo_index>0&&undo_levels>0))tinyMCE.switchClass(editor_id+'_undo','mceButtonNormal');var selectElm=document.getElementById(editor_id+"_styleSelect");if(selectElm){TinyMCE_AdvancedTheme._setupCSSClasses(editor_id);classNode=node;breakOut=false;var index=0;do{if(classNode&&classNode.className){for(var i=0;i");else selectByValue(selectElm,"")}var selectElm=document.getElementById(editor_id+"_fontNameSelect");if(selectElm){if(!tinyMCE.isSafari&&!(tinyMCE.isMSIE&&!tinyMCE.isOpera)){var face=inst.queryCommandValue('FontName');face=face==null||face==""?"":face;selectByValue(selectElm,face,face!="")}else{var elm=tinyMCE.getParentElement(node,"font","face");if(elm){var family=tinyMCE.getAttrib(elm,"face");if(family=='')family=''+elm.style.fontFamily;if(!selectByValue(selectElm,family,family!=""))selectByValue(selectElm,"")}else selectByValue(selectElm,"")}}var selectElm=document.getElementById(editor_id+"_fontSizeSelect");if(selectElm){if(!tinyMCE.isSafari&&!tinyMCE.isOpera){var size=inst.queryCommandValue('FontSize');selectByValue(selectElm,size==null||size==""?"0":size)}else{var elm=tinyMCE.getParentElement(node,"font","size");if(elm){var size=tinyMCE.getAttrib(elm,"size");if(size==''){var sizes=new Array('','8px','10px','12px','14px','18px','24px','36px');size=''+elm.style.fontSize;for(var i=0;i0)selectElm.setAttribute('cssImported','true')}},_setCookie:function(name,value,expires,path,domain,secure){var curCookie=name+"="+escape(value)+((expires)?"; expires="+expires.toGMTString():"")+((path)?"; path="+escape(path):"")+((domain)?"; domain="+domain:"")+((secure)?"; secure":"");document.cookie=curCookie},_getCookie:function(name){var dc=document.cookie;var prefix=name+"=";var begin=dc.indexOf("; "+prefix);if(begin==-1){begin=dc.indexOf(prefix);if(begin!=0)return null}else begin+=2;var end=document.cookie.indexOf(";",begin);if(end==-1)end=dc.length;return unescape(dc.substring(begin+prefix.length,end))},_resizeTo:function(inst,w,h,set_w){var editorContainer=document.getElementById(inst.editorId+'_parent');var tableElm=editorContainer.firstChild;var iframe=inst.iframeElement;if(w==null||w=="null"){set_w=false;w=0}if(h==null||h=="null")return;w=parseInt(w);h=parseInt(h);if(tinyMCE.isGecko){w+=2;h+=2}var dx=w-tableElm.clientWidth;var dy=h-tableElm.clientHeight;w=w<1?30:w;h=h<1?30:h;if(set_w)tableElm.style.width=w+"px";tableElm.style.height=h+"px";iw=iframe.clientWidth+dx;ih=iframe.clientHeight+dy;iw=iw<1?30:iw;ih=ih<1?30:ih;if(tinyMCE.isGecko){iw-=2;ih-=2}if(set_w)iframe.style.width=iw+"px";iframe.style.height=ih+"px";if(set_w){var tableBodyElm=tableElm.firstChild;var minIframeWidth=tableBodyElm.scrollWidth;if(inst.iframeElement.clientWidth';for(i=0;i';if((i+1)%8==0)h+=''}h+='';if(tinyMCE.getParam("theme_advanced_more_colors",true))h+=''+tinyMCE.getLang('lang_more_colors')+'';return h},_pickColor:function(id,cm){var inputColor,inst=tinyMCE.selectedInstance;if(cm=='forecolor'&&inst)inputColor=inst.foreColor;if((cm=='backcolor'||cm=='HiliteColor')&&inst)inputColor=inst.backColor;tinyMCE.execCommand('mceColorPicker',true,{color:inputColor,callback:function(c){tinyMCE.execInstanceCommand(id,cm,false,c)}})},_insertImage:function(src,alt,border,hspace,vspace,width,height,align,title,onmouseover,onmouseout){tinyMCE.execCommand('mceBeginUndoLevel');if(src=="")return;if(!tinyMCE.imgElement&&tinyMCE.isSafari){var html="";html+=''+alt+'';tinyMCE.execCommand("mceInsertContent",false,html)}else{if(!tinyMCE.imgElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari)tinyMCE.execCommand("mceInsertContent",false,'');else tinyMCE.selectedInstance.contentDocument.execCommand("insertimage",false,tinyMCE.uniqueURL);tinyMCE.imgElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"img","src",tinyMCE.uniqueURL)}}if(tinyMCE.imgElement){var needsRepaint=false;var msrc=src;src=eval(tinyMCE.settings['urlconverter_callback']+"(src, tinyMCE.imgElement);");if(tinyMCE.getParam('convert_urls'))msrc=src;if(onmouseover&&onmouseover!="")onmouseover="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseover, tinyMCE.imgElement);")+"';";if(onmouseout&&onmouseout!="")onmouseout="this.src='"+eval(tinyMCE.settings['urlconverter_callback']+"(onmouseout, tinyMCE.imgElement);")+"';";if(typeof(title)=="undefined")title=alt;if(width!=tinyMCE.imgElement.getAttribute("width")||height!=tinyMCE.imgElement.getAttribute("height")||align!=tinyMCE.imgElement.getAttribute("align"))needsRepaint=true;tinyMCE.setAttrib(tinyMCE.imgElement,'src',src);tinyMCE.setAttrib(tinyMCE.imgElement,'mce_src',msrc);tinyMCE.setAttrib(tinyMCE.imgElement,'alt',alt);tinyMCE.setAttrib(tinyMCE.imgElement,'title',title);tinyMCE.setAttrib(tinyMCE.imgElement,'align',align);tinyMCE.setAttrib(tinyMCE.imgElement,'border',border,true);tinyMCE.setAttrib(tinyMCE.imgElement,'hspace',hspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'vspace',vspace,true);tinyMCE.setAttrib(tinyMCE.imgElement,'width',width,true);tinyMCE.setAttrib(tinyMCE.imgElement,'height',height,true);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseover',onmouseover);tinyMCE.setAttrib(tinyMCE.imgElement,'onmouseout',onmouseout);if(width&&width!="")tinyMCE.imgElement.style.pixelWidth=width;if(height&&height!="")tinyMCE.imgElement.style.pixelHeight=height;if(needsRepaint)tinyMCE.selectedInstance.repaint()}tinyMCE.execCommand('mceEndUndoLevel')},_insertLink:function(href,target,title,onclick,style_class){tinyMCE.execCommand('mceBeginUndoLevel');if(tinyMCE.selectedInstance&&tinyMCE.selectedElement&&tinyMCE.selectedElement.nodeName.toLowerCase()=="img"){var doc=tinyMCE.selectedInstance.getDoc();var linkElement=tinyMCE.getParentElement(tinyMCE.selectedElement,"a");var newLink=false;if(!linkElement){linkElement=doc.createElement("a");newLink=true}var mhref=href;var thref=eval(tinyMCE.settings['urlconverter_callback']+"(href, linkElement);");mhref=tinyMCE.getParam('convert_urls')?href:mhref;tinyMCE.setAttrib(linkElement,'href',thref);tinyMCE.setAttrib(linkElement,'mce_href',mhref);tinyMCE.setAttrib(linkElement,'target',target);tinyMCE.setAttrib(linkElement,'title',title);tinyMCE.setAttrib(linkElement,'onclick',onclick);tinyMCE.setAttrib(linkElement,'class',style_class);if(newLink){linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true));tinyMCE.selectedElement.parentNode.replaceChild(linkElement,tinyMCE.selectedElement)}return}if(!tinyMCE.linkElement&&tinyMCE.selectedInstance){if(tinyMCE.isSafari){tinyMCE.execCommand("mceInsertContent",false,''+tinyMCE.selectedInstance.selection.getSelectedHTML()+'')}else tinyMCE.selectedInstance.contentDocument.execCommand("createlink",false,tinyMCE.uniqueURL);tinyMCE.linkElement=tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);var elementArray=tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body,"a","href",tinyMCE.uniqueURL);for(var i=0;i 4 ? but[4] : false), (but.length > 5 ? but[5] : null)); - - if (but[0] == button_name) - return tinyMCE.getButtonHTML(but[0], but[2], '{$themeurl}/images/' + but[1], but[3], (but.length > 4 ? but[4] : false), (but.length > 5 ? but[5] : null)); - } - - // Custom controlls other than buttons - switch (button_name) { - case "formatselect": - var html = ''; - - return html; - - case "styleselect": - return ''; - - case "fontselect": - var fontHTML = ''; - return fontHTML; - - case "fontsizeselect": - return ''; - - case "|": - case "separator": - return ''; - - case "spacer": - return ''; - - case "rowseparator": - return '
'; - } - - return ""; - }, - - /** - * Theme specific execcommand handling. - */ - execCommand : function(editor_id, element, command, user_interface, value) { - switch (command) { - case 'mceHelp': - tinyMCE.openWindow({ - file : 'about.htm', - width : 480, - height : 380 - }, { - tinymce_version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion, - tinymce_releasedate : tinyMCE.releaseDate, - inline : "yes" - }); - return true; - - case "mceLink": - var inst = tinyMCE.getInstanceById(editor_id); - var doc = inst.getDoc(); - var selectedText = ""; - - if (tinyMCE.isMSIE) { - var rng = doc.selection.createRange(); - selectedText = rng.text; - } else - selectedText = inst.getSel().toString(); - - if (!tinyMCE.linkElement) { - if ((tinyMCE.selectedElement.nodeName.toLowerCase() != "img") && (selectedText.length <= 0)) - return true; - } - - var href = "", target = "", title = "", onclick = "", action = "insert", style_class = ""; - - if (tinyMCE.selectedElement.nodeName.toLowerCase() == "a") - tinyMCE.linkElement = tinyMCE.selectedElement; - - // Is anchor not a link - if (tinyMCE.linkElement != null && tinyMCE.getAttrib(tinyMCE.linkElement, 'href') == "") - tinyMCE.linkElement = null; - - if (tinyMCE.linkElement) { - href = tinyMCE.getAttrib(tinyMCE.linkElement, 'href'); - target = tinyMCE.getAttrib(tinyMCE.linkElement, 'target'); - title = tinyMCE.getAttrib(tinyMCE.linkElement, 'title'); - onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick'); - style_class = tinyMCE.getAttrib(tinyMCE.linkElement, 'class'); - - // Try old onclick to if copy/pasted content - if (onclick == "") - onclick = tinyMCE.getAttrib(tinyMCE.linkElement, 'onclick'); - - onclick = tinyMCE.cleanupEventStr(onclick); - - href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);"); - - // Use mce_href if defined - mceRealHref = tinyMCE.getAttrib(tinyMCE.linkElement, 'mce_href'); - if (mceRealHref != "") { - href = mceRealHref; - - if (tinyMCE.getParam('convert_urls')) - href = eval(tinyMCE.settings['urlconverter_callback'] + "(href, tinyMCE.linkElement, true);"); - } - - action = "update"; - } - - var template = new Array(); - - template['file'] = 'link.htm'; - template['width'] = 310; - template['height'] = 200; - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_insert_link_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_insert_link_delta_height', 0); - - if (inst.settings['insertlink_callback']) { - var returnVal = eval(inst.settings['insertlink_callback'] + "(href, target, title, onclick, action, style_class);"); - if (returnVal && returnVal['href']) - TinyMCE_AdvancedTheme._insertLink(returnVal['href'], returnVal['target'], returnVal['title'], returnVal['onclick'], returnVal['style_class']); - } else { - tinyMCE.openWindow(template, {href : href, target : target, title : title, onclick : onclick, action : action, className : style_class, inline : "yes"}); - } - - return true; - - case "mceImage": - var src = "", alt = "", border = "", hspace = "", vspace = "", width = "", height = "", align = ""; - var title = "", onmouseover = "", onmouseout = "", action = "insert"; - var img = tinyMCE.imgElement; - var inst = tinyMCE.getInstanceById(editor_id); - - if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") { - img = tinyMCE.selectedElement; - tinyMCE.imgElement = img; - } - - if (img) { - // Is it a internal MCE visual aid image, then skip this one. - if (tinyMCE.getAttrib(img, 'name').indexOf('mce_') == 0) - return true; - - src = tinyMCE.getAttrib(img, 'src'); - alt = tinyMCE.getAttrib(img, 'alt'); - - // Try polling out the title - if (alt == "") - alt = tinyMCE.getAttrib(img, 'title'); - - // Fix width/height attributes if the styles is specified - if (tinyMCE.isGecko) { - var w = img.style.width; - if (w != null && w != "") - img.setAttribute("width", w); - - var h = img.style.height; - if (h != null && h != "") - img.setAttribute("height", h); - } - - border = tinyMCE.getAttrib(img, 'border'); - hspace = tinyMCE.getAttrib(img, 'hspace'); - vspace = tinyMCE.getAttrib(img, 'vspace'); - width = tinyMCE.getAttrib(img, 'width'); - height = tinyMCE.getAttrib(img, 'height'); - align = tinyMCE.getAttrib(img, 'align'); - onmouseover = tinyMCE.getAttrib(img, 'onmouseover'); - onmouseout = tinyMCE.getAttrib(img, 'onmouseout'); - title = tinyMCE.getAttrib(img, 'title'); - - // Is realy specified? - if (tinyMCE.isMSIE) { - width = img.attributes['width'].specified ? width : ""; - height = img.attributes['height'].specified ? height : ""; - } - - //onmouseover = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseover)); - //onmouseout = tinyMCE.getImageSrc(tinyMCE.cleanupEventStr(onmouseout)); - - src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);"); - - // Use mce_src if defined - mceRealSrc = tinyMCE.getAttrib(img, 'mce_src'); - if (mceRealSrc != "") { - src = mceRealSrc; - - if (tinyMCE.getParam('convert_urls')) - src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, img, true);"); - } - - //if (onmouseover != "") - // onmouseover = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, img, true);"); - - //if (onmouseout != "") - // onmouseout = eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, img, true);"); - - action = "update"; - } - - var template = new Array(); - - template['file'] = 'image.htm?src={$src}'; - template['width'] = 355; - template['height'] = 265 + (tinyMCE.isMSIE ? 25 : 0); - - // Language specific width and height addons - template['width'] += tinyMCE.getLang('lang_insert_image_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_insert_image_delta_height', 0); - - if (inst.settings['insertimage_callback']) { - var returnVal = eval(inst.settings['insertimage_callback'] + "(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout, action);"); - if (returnVal && returnVal['src']) - TinyMCE_AdvancedTheme._insertImage(returnVal['src'], returnVal['alt'], returnVal['border'], returnVal['hspace'], returnVal['vspace'], returnVal['width'], returnVal['height'], returnVal['align'], returnVal['title'], returnVal['onmouseover'], returnVal['onmouseout']); - } else - tinyMCE.openWindow(template, {src : src, alt : alt, border : border, hspace : hspace, vspace : vspace, width : width, height : height, align : align, title : title, onmouseover : onmouseover, onmouseout : onmouseout, action : action, inline : "yes"}); - - return true; - - case "forecolor": - var fcp = new TinyMCE_Layer(editor_id + '_fcPreview', false), p, img, elm; - - TinyMCE_AdvancedTheme._hideMenus(editor_id); - - if (!fcp.exists()) { - fcp.create('div', 'mceColorPreview', document.getElementById(editor_id + '_toolbar')); - elm = fcp.getElement(); - elm._editor_id = editor_id; - elm._command = "forecolor"; - elm._switchId = editor_id + "_forecolor"; - tinyMCE.addEvent(elm, 'click', TinyMCE_AdvancedTheme._handleMenuEvent); - tinyMCE.addEvent(elm, 'mouseover', TinyMCE_AdvancedTheme._handleMenuEvent); - tinyMCE.addEvent(elm, 'mouseout', TinyMCE_AdvancedTheme._handleMenuEvent); - } - - img = tinyMCE.selectNodes(document.getElementById(editor_id + "_forecolor"), function(n) {return n.nodeName == "IMG";})[0]; - p = tinyMCE.getAbsPosition(img, document.getElementById(editor_id + '_toolbar')); - - fcp.moveTo(p.absLeft, p.absTop); - fcp.getElement().style.backgroundColor = value != null ? value : tinyMCE.getInstanceById(editor_id).foreColor; - fcp.show(); - - return false; - - case "forecolorpicker": - this._pickColor(editor_id, 'forecolor'); - return true; - - case "forecolorMenu": - TinyMCE_AdvancedTheme._hideMenus(editor_id); - - // Create color layer - var ml = new TinyMCE_Layer(editor_id + '_fcMenu'); - - if (!ml.exists()) - ml.create('div', 'mceMenu', document.body, TinyMCE_AdvancedTheme._getColorHTML(editor_id, 'theme_advanced_text_colors', 'forecolor')); - - tinyMCE.switchClass(editor_id + '_forecolor', 'mceMenuButtonFocus'); - ml.moveRelativeTo(document.getElementById(editor_id + "_forecolor"), 'bl'); - - ml.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? -1 : 1, -1); - - if (tinyMCE.isOpera) - ml.moveBy(0, -2); - - ml.show(); - return true; - - case "HiliteColor": - var bcp = new TinyMCE_Layer(editor_id + '_bcPreview', false), p, img; - - TinyMCE_AdvancedTheme._hideMenus(editor_id); - - if (!bcp.exists()) { - bcp.create('div', 'mceColorPreview', document.getElementById(editor_id + '_toolbar')); - elm = bcp.getElement(); - elm._editor_id = editor_id; - elm._command = "HiliteColor"; - elm._switchId = editor_id + "_backcolor"; - tinyMCE.addEvent(elm, 'click', TinyMCE_AdvancedTheme._handleMenuEvent); - tinyMCE.addEvent(elm, 'mouseover', TinyMCE_AdvancedTheme._handleMenuEvent); - tinyMCE.addEvent(elm, 'mouseout', TinyMCE_AdvancedTheme._handleMenuEvent); - } - - img = tinyMCE.selectNodes(document.getElementById(editor_id + "_backcolor"), function(n) {return n.nodeName == "IMG";})[0]; - p = tinyMCE.getAbsPosition(img, document.getElementById(editor_id + '_toolbar')); - - bcp.moveTo(p.absLeft, p.absTop); - bcp.getElement().style.backgroundColor = value != null ? value : tinyMCE.getInstanceById(editor_id).backColor; - bcp.show(); - - return false; - - case "HiliteColorMenu": - TinyMCE_AdvancedTheme._hideMenus(editor_id); - - // Create color layer - var ml = new TinyMCE_Layer(editor_id + '_bcMenu'); - - if (!ml.exists()) - ml.create('div', 'mceMenu', document.body, TinyMCE_AdvancedTheme._getColorHTML(editor_id, 'theme_advanced_background_colors', 'HiliteColor')); - - tinyMCE.switchClass(editor_id + '_backcolor', 'mceMenuButtonFocus'); - ml.moveRelativeTo(document.getElementById(editor_id + "_backcolor"), 'bl'); - - ml.moveBy(tinyMCE.isMSIE && !tinyMCE.isOpera ? -1 : 1, -1); - - if (tinyMCE.isOpera) - ml.moveBy(0, -2); - - ml.show(); - return true; - - case "backcolorpicker": - this._pickColor(editor_id, 'HiliteColor'); - return true; - - case "mceColorPicker": - if (user_interface) { - var template = []; - - if (!value['callback'] && !value['color']) - value['color'] = value['document'].getElementById(value['element_id']).value; - - template['file'] = 'color_picker.htm'; - template['width'] = 380; - template['height'] = 250; - template['close_previous'] = "no"; - - template['width'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_theme_advanced_colorpicker_delta_height', 0); - - if (typeof(value['store_selection']) == "undefined") - value['store_selection'] = true; - - tinyMCE.lastColorPickerValue = value; - tinyMCE.openWindow(template, {editor_id : editor_id, mce_store_selection : value['store_selection'], inline : "yes", command : "mceColorPicker", input_color : value['color']}); - } else { - var savedVal = tinyMCE.lastColorPickerValue, elm; - - if (savedVal['callback']) { - savedVal['callback'](value); - return true; - } - - elm = savedVal['document'].getElementById(savedVal['element_id']); - elm.value = value; - - if (elm.onchange != null && elm.onchange != '') - eval('elm.onchange();'); - } - return true; - - case "mceCodeEditor": - var template = new Array(); - - template['file'] = 'source_editor.htm'; - template['width'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_width", 720)); - template['height'] = parseInt(tinyMCE.getParam("theme_advanced_source_editor_height", 580)); - - tinyMCE.openWindow(template, {editor_id : editor_id, resizable : "yes", scrollbars : "no", inline : "yes"}); - return true; - - case "mceCharMap": - var template = new Array(); - - template['file'] = 'charmap.htm'; - template['width'] = 550 + (tinyMCE.isOpera ? 40 : 0); - template['height'] = 250; - - template['width'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_theme_advanced_charmap_delta_height', 0); - - tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); - return true; - - case "mceInsertAnchor": - var template = new Array(); - - template['file'] = 'anchor.htm'; - template['width'] = 320; - template['height'] = 90 + (tinyMCE.isNS7 ? 30 : 0); - - template['width'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_width', 0); - template['height'] += tinyMCE.getLang('lang_theme_advanced_anchor_delta_height', 0); - - tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"}); - return true; - - case "mceNewDocument": - if (confirm(tinyMCE.getLang('lang_newdocument'))) - tinyMCE.execInstanceCommand(editor_id, 'mceSetContent', false, ' '); - - return true; - } - - return false; - }, - - /** - * Editor instance template function. - */ - getEditorTemplate : function(settings, editorId) { - function removeFromArray(in_array, remove_array) { - var outArray = new Array(), skip; - - for (var i=0; i 

'; - var layoutManager = tinyMCE.getParam("theme_advanced_layout_manager", "SimpleLayout"); - - // Setup style select options -- MOVED UP FOR EXTERNAL TOOLBAR COMPATABILITY! - var styleSelectHTML = ''; - if (settings['theme_advanced_styles']) { - var stylesAr = settings['theme_advanced_styles'].split(';'); - - for (var i=0; i' + key + ''; - } - - TinyMCE_AdvancedTheme._autoImportCSSClasses = false; - } - - switch(layoutManager) { - case "SimpleLayout" : //the default TinyMCE Layout (for backwards compatibility)... - var toolbarHTML = ""; - var toolbarLocation = tinyMCE.getParam("theme_advanced_toolbar_location", "bottom"); - var toolbarAlign = tinyMCE.getParam("theme_advanced_toolbar_align", "center"); - var pathLocation = tinyMCE.getParam("theme_advanced_path_location", "none"); // Compatiblity - var statusbarLocation = tinyMCE.getParam("theme_advanced_statusbar_location", pathLocation); - var defVals = { - theme_advanced_buttons1 : "bold,italic,underline,strikethrough,separator,justifyleft,justifycenter,justifyright,justifyfull,separator,styleselect,formatselect", - theme_advanced_buttons2 : "bullist,numlist,separator,outdent,indent,separator,undo,redo,separator,link,unlink,anchor,image,cleanup,help,code", - theme_advanced_buttons3 : "hr,removeformat,visualaid,separator,sub,sup,separator,charmap" - }; - - // Add accessibility control - toolbarHTML += ' 0) { - toolbarHTML += "
"; - deltaHeight -= 23; - } - } - - // Add accessibility control - toolbarHTML += '
'; - - // Setup template html - template['html'] = ''; - - if (toolbarLocation == "top") - template['html'] += ''; - - if (statusbarLocation == "top") { - template['html'] += ''; - deltaHeight -= 23; - } - - template['html'] += ''; - - if (toolbarLocation == "bottom") - template['html'] += ''; - - // External toolbar changes - if (toolbarLocation == "external") { - var bod = document.body; - var elm = document.createElement ("div"); - - toolbarHTML = tinyMCE.replaceVar(toolbarHTML, 'style_select_options', styleSelectHTML); - toolbarHTML = tinyMCE.applyTemplate(toolbarHTML, {editor_id : editorId}); - - elm.className = "mceToolbarExternal"; - elm.id = editorId+"_toolbar"; - elm.innerHTML = '
' + toolbarHTML + '
' + statusbarHTML + '
' + toolbarHTML + '
'+toolbarHTML+'
'; - bod.appendChild (elm); - // bod.style.marginTop = elm.offsetHeight + "px"; - - deltaHeight = 0; - tinyMCE.getInstanceById(editorId).toolbarElement = elm; - - //template['html'] = '
'+toolbarHTML+'
' + template["html"]; - } else { - tinyMCE.getInstanceById(editorId).toolbarElement = null; - } - - if (statusbarLocation == "bottom") { - template['html'] += '' + statusbarHTML + ''; - deltaHeight -= 23; - } - - template['html'] += ''; - //"SimpleLayout" - break; - - case "RowLayout" : //Container Layout - containers defined in "theme_advanced_containers" are rendered from top to bottom. - template['html'] = ''; - - var containers = tinyMCE.getParam("theme_advanced_containers", "", true, ","); - var defaultContainerCSS = tinyMCE.getParam("theme_advanced_containers_default_class", "container"); - var defaultContainerAlign = tinyMCE.getParam("theme_advanced_containers_default_align", "center"); - - //Render Containers: - for (var i = 0; i < containers.length; i++) - { - if (containers[i] == "mceEditor") //Exceptions for mceEditor and ... - template['html'] += ''; - else if (containers[i] == "mceElementpath" || containers[i] == "mceStatusbar") // ... mceElementpath: - { - var pathClass = "mceStatusbar"; - - if (i == containers.length-1) - { - pathClass = "mceStatusbarBottom"; - } - else if (i == 0) - { - pathClass = "mceStatusbar"; - } - else - { - deltaHeight-=2; - } - - template['html'] += ''; - deltaHeight -= 22; - } else { // Render normal Container - var curContainer = tinyMCE.getParam("theme_advanced_container_"+containers[i], "", true, ','); - var curContainerHTML = ""; - var curAlign = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_align", defaultContainerAlign); - var curCSS = tinyMCE.getParam("theme_advanced_container_"+containers[i]+"_class", defaultContainerCSS); - - curContainer = removeFromArray(curContainer, tinyMCE.getParam("theme_advanced_disable", "", true, ',')); - - for (var j=0; j 0) { - curContainerHTML += "
"; - deltaHeight -= 23; - } - - template['html'] += '
'; - } - } - - template['html'] += '
' + statusbarHTML + '
' + curContainerHTML + '
'; - //RowLayout - break; - - case "CustomLayout" : //User defined layout callback... - var customLayout = tinyMCE.getParam("theme_advanced_custom_layout",""); - - if (customLayout != "" && eval("typeof(" + customLayout + ")") != "undefined") { - template = eval(customLayout + "(template);"); - } - break; - } - - if (resizing) - template['html'] += ''; - - template['html'] = tinyMCE.replaceVar(template['html'], 'style_select_options', styleSelectHTML); - - // Set to default values - if (!template['delta_width']) - template['delta_width'] = 0; - - if (!template['delta_height']) - template['delta_height'] = deltaHeight; - - return template; - }, - - initInstance : function(inst) { - if (tinyMCE.getParam("theme_advanced_resizing", false)) { - if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) { - var w = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_width"); - var h = TinyMCE_AdvancedTheme._getCookie("TinyMCE_" + inst.editorId + "_height"); - - TinyMCE_AdvancedTheme._resizeTo(inst, w, h, tinyMCE.getParam("theme_advanced_resize_horizontal", true)); - } - } - - inst.addShortcut('ctrl', 'k', 'lang_link_desc', 'mceLink'); - }, - - removeInstance : function(inst) { - new TinyMCE_Layer(inst.editorId + '_fcMenu').remove(); - new TinyMCE_Layer(inst.editorId + '_bcMenu').remove(); - }, - - hideInstance : function(inst) { - TinyMCE_AdvancedTheme._hideMenus(inst.editorId); - }, - - _handleMenuEvent : function(e) { - var te = tinyMCE.isMSIE ? window.event.srcElement : e.target; - tinyMCE._menuButtonEvent(e.type == "mouseover" ? "over" : "out", document.getElementById(te._switchId)); - - if (e.type == "click") - tinyMCE.execInstanceCommand(te._editor_id, te._command); - }, - - _hideMenus : function(id) { - var fcml = new TinyMCE_Layer(id + '_fcMenu'), bcml = new TinyMCE_Layer(id + '_bcMenu'); - - if (fcml.exists() && fcml.isVisible()) { - tinyMCE.switchClass(id + '_forecolor', 'mceMenuButton'); - fcml.hide(); - } - - if (bcml.exists() && bcml.isVisible()) { - tinyMCE.switchClass(id + '_backcolor', 'mceMenuButton'); - bcml.hide(); - } - }, - - /** - * Node change handler. - */ - handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection, setup_content) { - var alignNode, breakOut, classNode; - - function selectByValue(select_elm, value, first_index) { - first_index = typeof(first_index) == "undefined" ? false : true; - - if (select_elm) { - for (var i=0; i=0; i--) { - var nodeName = path[i].nodeName.toLowerCase(); - var nodeData = ""; - - if (nodeName.indexOf("html:") == 0) - nodeName = nodeName.substring(5); - - if (nodeName == "b") { - nodeName = "strong"; - } - - if (nodeName == "i") { - nodeName = "em"; - } - - if (nodeName == "span") { - var cn = tinyMCE.getAttrib(path[i], "class"); - if (cn != "" && cn.indexOf('mceItem') == -1) - nodeData += "class: " + cn + " "; - - var st = tinyMCE.getAttrib(path[i], "style"); - if (st != "") { - st = tinyMCE.serializeStyle(tinyMCE.parseStyle(st)); - nodeData += "style: " + tinyMCE.xmlEncode(st) + " "; - } - } - - if (nodeName == "font") { - if (tinyMCE.getParam("convert_fonts_to_spans")) - nodeName = "span"; - - var face = tinyMCE.getAttrib(path[i], "face"); - if (face != "") - nodeData += "font: " + tinyMCE.xmlEncode(face) + " "; - - var size = tinyMCE.getAttrib(path[i], "size"); - if (size != "") - nodeData += "size: " + tinyMCE.xmlEncode(size) + " "; - - var color = tinyMCE.getAttrib(path[i], "color"); - if (color != "") - nodeData += "color: " + tinyMCE.xmlEncode(color) + " "; - } - - if (tinyMCE.getAttrib(path[i], 'id') != "") { - nodeData += "id: " + path[i].getAttribute('id') + " "; - } - - var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false); - if (className != "" && className.indexOf('mceItem') == -1) - nodeData += "class: " + className + " "; - - if (tinyMCE.getAttrib(path[i], 'src') != "") { - var src = tinyMCE.getAttrib(path[i], "mce_src"); - - if (src == "") - src = tinyMCE.getAttrib(path[i], "src"); - - nodeData += "src: " + tinyMCE.xmlEncode(src) + " "; - } - - if (path[i].nodeName == 'A' && tinyMCE.getAttrib(path[i], 'href') != "") { - var href = tinyMCE.getAttrib(path[i], "mce_href"); - - if (href == "") - href = tinyMCE.getAttrib(path[i], "href"); - - nodeData += "href: " + tinyMCE.xmlEncode(href) + " "; - } - - className = tinyMCE.getAttrib(path[i], "class"); - if ((nodeName == "img" || nodeName == "span") && className.indexOf('mceItem') != -1) { - nodeName = className.replace(/mceItem([a-z]+)/gi, '$1').toLowerCase(); - nodeData = path[i].getAttribute('title'); - } - - if (nodeName == "a" && (anchor = tinyMCE.getAttrib(path[i], "name")) != "") { - nodeName = "a"; - nodeName += "#" + tinyMCE.xmlEncode(anchor); - nodeData = ""; - } - - if (tinyMCE.getAttrib(path[i], 'name').indexOf("mce_") != 0) { - var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(path[i], "class"), false); - if (className != "" && className.indexOf('mceItem') == -1) { - nodeName += "." + className; - } - } - - var cmd = 'tinyMCE.execInstanceCommand(\'' + editor_id + '\',\'mceSelectNodeDepth\',false,\'' + i + '\');'; - html += '' + nodeName + ''; - - if (i > 0) { - html += " » "; - } - } - - pathElm.innerHTML = '' + tinyMCE.getLang('lang_theme_path') + ": " + html + ' '; - } - - // Reset old states - tinyMCE.switchClass(editor_id + '_justifyleft', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_justifyright', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_justifycenter', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_justifyfull', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_bold', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_italic', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_underline', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_strikethrough', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_bullist', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_numlist', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_sub', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_sup', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_link', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_unlink', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_image', 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_hr', 'mceButtonNormal'); - - if (node.nodeName == "A" && tinyMCE.getAttrib(node, "class").indexOf('mceItemAnchor') != -1) - tinyMCE.switchClass(editor_id + '_anchor', 'mceButtonSelected'); - - // Get link - var anchorLink = tinyMCE.getParentElement(node, "a", "href"); - - if (anchorLink || any_selection) { - tinyMCE.switchClass(editor_id + '_link', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal'); - tinyMCE.switchClass(editor_id + '_unlink', anchorLink ? 'mceButtonSelected' : 'mceButtonNormal'); - } - - // Handle visual aid - tinyMCE.switchClass(editor_id + '_visualaid', visual_aid ? 'mceButtonSelected' : 'mceButtonNormal'); - - if (undo_levels != -1) { - tinyMCE.switchClass(editor_id + '_undo', 'mceButtonDisabled'); - tinyMCE.switchClass(editor_id + '_redo', 'mceButtonDisabled'); - } - - // Within li, blockquote - if (tinyMCE.getParentElement(node, "li,blockquote")) - tinyMCE.switchClass(editor_id + '_outdent', 'mceButtonNormal'); - - // Has redo levels - if (undo_index != -1 && (undo_index < undo_levels-1 && undo_levels > 0)) - tinyMCE.switchClass(editor_id + '_redo', 'mceButtonNormal'); - - // Has undo levels - if (undo_index != -1 && (undo_index > 0 && undo_levels > 0)) - tinyMCE.switchClass(editor_id + '_undo', 'mceButtonNormal'); - - // Select class in select box - var selectElm = document.getElementById(editor_id + "_styleSelect"); - - if (selectElm) { - TinyMCE_AdvancedTheme._setupCSSClasses(editor_id); - - classNode = node; - breakOut = false; - var index = 0; - - do { - if (classNode && classNode.className) { - for (var i=0; i"); - else - selectByValue(selectElm, ""); - } - - // Select fontselect - var selectElm = document.getElementById(editor_id + "_fontNameSelect"); - if (selectElm) { - if (!tinyMCE.isSafari && !(tinyMCE.isMSIE && !tinyMCE.isOpera)) { - var face = inst.queryCommandValue('FontName'); - - face = face == null || face == "" ? "" : face; - - selectByValue(selectElm, face, face != ""); - } else { - var elm = tinyMCE.getParentElement(node, "font", "face"); - - if (elm) { - var family = tinyMCE.getAttrib(elm, "face"); - - if (family == '') - family = '' + elm.style.fontFamily; - - if (!selectByValue(selectElm, family, family != "")) - selectByValue(selectElm, ""); - } else - selectByValue(selectElm, ""); - } - } - - // Select fontsize - var selectElm = document.getElementById(editor_id + "_fontSizeSelect"); - if (selectElm) { - if (!tinyMCE.isSafari && !tinyMCE.isOpera) { - var size = inst.queryCommandValue('FontSize'); - selectByValue(selectElm, size == null || size == "" ? "0" : size); - } else { - var elm = tinyMCE.getParentElement(node, "font", "size"); - if (elm) { - var size = tinyMCE.getAttrib(elm, "size"); - - if (size == '') { - var sizes = new Array('', '8px', '10px', '12px', '14px', '18px', '24px', '36px'); - - size = '' + elm.style.fontSize; - - for (var i=0; i 0) - selectElm.setAttribute('cssImported', 'true'); - } - }, - - _setCookie : function(name, value, expires, path, domain, secure) { - var curCookie = name + "=" + escape(value) + - ((expires) ? "; expires=" + expires.toGMTString() : "") + - ((path) ? "; path=" + escape(path) : "") + - ((domain) ? "; domain=" + domain : "") + - ((secure) ? "; secure" : ""); - - document.cookie = curCookie; - }, - - _getCookie : function(name) { - var dc = document.cookie; - var prefix = name + "="; - var begin = dc.indexOf("; " + prefix); - - if (begin == -1) { - begin = dc.indexOf(prefix); - - if (begin != 0) - return null; - } else - begin += 2; - - var end = document.cookie.indexOf(";", begin); - - if (end == -1) - end = dc.length; - - return unescape(dc.substring(begin + prefix.length, end)); - }, - - _resizeTo : function(inst, w, h, set_w) { - var editorContainer = document.getElementById(inst.editorId + '_parent'); - var tableElm = editorContainer.firstChild; - var iframe = inst.iframeElement; - - if (w == null || w == "null") { - set_w = false; - w = 0; - } - - if (h == null || h == "null") - return; - - w = parseInt(w); - h = parseInt(h); - - if (tinyMCE.isGecko) { - w += 2; - h += 2; - } - - var dx = w - tableElm.clientWidth; - var dy = h - tableElm.clientHeight; - - w = w < 1 ? 30 : w; - h = h < 1 ? 30 : h; - - if (set_w) - tableElm.style.width = w + "px"; - - tableElm.style.height = h + "px"; - - iw = iframe.clientWidth + dx; - ih = iframe.clientHeight + dy; - - iw = iw < 1 ? 30 : iw; - ih = ih < 1 ? 30 : ih; - - if (tinyMCE.isGecko) { - iw -= 2; - ih -= 2; - } - - if (set_w) - iframe.style.width = iw + "px"; - - iframe.style.height = ih + "px"; - - // Is it to small, make it bigger again - if (set_w) { - var tableBodyElm = tableElm.firstChild; - var minIframeWidth = tableBodyElm.scrollWidth; - if (inst.iframeElement.clientWidth < minIframeWidth) { - dx = minIframeWidth - inst.iframeElement.clientWidth; - - inst.iframeElement.style.width = (iw + dx) + "px"; - } - } - - // Remove pesky table controls - inst.useCSS = false; - }, - - /** - * Handles resizing events. - */ - _resizeEventHandler : function(e) { - var resizer = TinyMCE_AdvancedTheme._resizer; - - // Do nothing - if (!resizer.resizing) - return; - - e = typeof(e) == "undefined" ? window.event : e; - - var dx = e.screenX - resizer.downX; - var dy = e.screenY - resizer.downY; - var resizeBox = resizer.resizeBox; - var editorId = resizer.editorId; - - switch (e.type) { - case "mousemove": - var w, h; - - w = resizer.width + dx; - h = resizer.height + dy; - - w = w < 1 ? 1 : w; - h = h < 1 ? 1 : h; - - if (resizer.horizontal) - resizeBox.style.width = w + "px"; - - resizeBox.style.height = h + "px"; - break; - - case "mouseup": - TinyMCE_AdvancedTheme._setResizing(e, editorId, false); - TinyMCE_AdvancedTheme._resizeTo(tinyMCE.getInstanceById(editorId), resizer.width + dx, resizer.height + dy, resizer.horizontal); - - // Expire in a month - if (tinyMCE.getParam("theme_advanced_resizing_use_cookie", true)) { - var expires = new Date(); - expires.setTime(expires.getTime() + 3600000 * 24 * 30); - - // Set the cookies - TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_width", "" + (resizer.horizontal ? resizer.width + dx : ""), expires); - TinyMCE_AdvancedTheme._setCookie("TinyMCE_" + editorId + "_height", "" + (resizer.height + dy), expires); - } - break; - } - }, - - /** - * Starts/stops the editor resizing. - */ - _setResizing : function(e, editor_id, state) { - e = typeof(e) == "undefined" ? window.event : e; - - var resizer = TinyMCE_AdvancedTheme._resizer; - var editorContainer = document.getElementById(editor_id + '_parent'); - var editorArea = document.getElementById(editor_id + '_parent').firstChild; - var resizeBox = document.getElementById(editor_id + '_resize_box'); - var inst = tinyMCE.getInstanceById(editor_id); - - if (state) { - // Place box over editor area - var width = editorArea.clientWidth; - var height = editorArea.clientHeight; - - resizeBox.style.width = width + "px"; - resizeBox.style.height = height + "px"; - - resizer.iframeWidth = inst.iframeElement.clientWidth; - resizer.iframeHeight = inst.iframeElement.clientHeight; - - // Hide editor and show resize box - editorArea.style.display = "none"; - resizeBox.style.display = "block"; - - // Add event handlers, only once - if (!resizer.eventHandlers) { - if (tinyMCE.isMSIE) - tinyMCE.addEvent(document, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler); - else - tinyMCE.addEvent(window, "mousemove", TinyMCE_AdvancedTheme._resizeEventHandler); - - tinyMCE.addEvent(document, "mouseup", TinyMCE_AdvancedTheme._resizeEventHandler); - - resizer.eventHandlers = true; - } - - resizer.resizing = true; - resizer.downX = e.screenX; - resizer.downY = e.screenY; - resizer.width = parseInt(resizeBox.style.width); - resizer.height = parseInt(resizeBox.style.height); - resizer.editorId = editor_id; - resizer.resizeBox = resizeBox; - resizer.horizontal = tinyMCE.getParam("theme_advanced_resize_horizontal", true); - } else { - resizer.resizing = false; - resizeBox.style.display = "none"; - editorArea.style.display = tinyMCE.isMSIE && !tinyMCE.isOpera ? "block" : "table"; - tinyMCE.execCommand('mceResetDesignMode'); - } - }, - - _getColorHTML : function(id, n, cm) { - var i, h, cl; - - h = ''; - cl = tinyMCE.getParam(n, TinyMCE_AdvancedTheme._defColors).split(','); - - h += ''; - for (i=0; i'; - - if ((i+1) % 8 == 0) - h += ''; - } - - h += '
'; - - if (tinyMCE.getParam("theme_advanced_more_colors", true)) - h += '' + tinyMCE.getLang('lang_more_colors') + ''; - - return h; - }, - - _pickColor : function(id, cm) { - var inputColor, inst = tinyMCE.selectedInstance; - - if (cm == 'forecolor' && inst) - inputColor = inst.foreColor; - - if ((cm == 'backcolor' || cm == 'HiliteColor') && inst) - inputColor = inst.backColor; - - tinyMCE.execCommand('mceColorPicker', true, {color : inputColor, callback : function(c) { - tinyMCE.execInstanceCommand(id, cm, false, c); - }}); - }, - - _insertImage : function(src, alt, border, hspace, vspace, width, height, align, title, onmouseover, onmouseout) { - tinyMCE.execCommand('mceBeginUndoLevel'); - - if (src == "") - return; - - if (!tinyMCE.imgElement && tinyMCE.isSafari) { - var html = ""; - - html += '' + alt + ''; - - tinyMCE.execCommand("mceInsertContent", false, html); - } else { - if (!tinyMCE.imgElement && tinyMCE.selectedInstance) { - if (tinyMCE.isSafari) - tinyMCE.execCommand("mceInsertContent", false, ''); - else - tinyMCE.selectedInstance.contentDocument.execCommand("insertimage", false, tinyMCE.uniqueURL); - - tinyMCE.imgElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "img", "src", tinyMCE.uniqueURL); - } - } - - if (tinyMCE.imgElement) { - var needsRepaint = false; - var msrc = src; - - src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, tinyMCE.imgElement);"); - - if (tinyMCE.getParam('convert_urls')) - msrc = src; - - if (onmouseover && onmouseover != "") - onmouseover = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseover, tinyMCE.imgElement);") + "';"; - - if (onmouseout && onmouseout != "") - onmouseout = "this.src='" + eval(tinyMCE.settings['urlconverter_callback'] + "(onmouseout, tinyMCE.imgElement);") + "';"; - - // Use alt as title if it's undefined - if (typeof(title) == "undefined") - title = alt; - - if (width != tinyMCE.imgElement.getAttribute("width") || height != tinyMCE.imgElement.getAttribute("height") || align != tinyMCE.imgElement.getAttribute("align")) - needsRepaint = true; - - tinyMCE.setAttrib(tinyMCE.imgElement, 'src', src); - tinyMCE.setAttrib(tinyMCE.imgElement, 'mce_src', msrc); - tinyMCE.setAttrib(tinyMCE.imgElement, 'alt', alt); - tinyMCE.setAttrib(tinyMCE.imgElement, 'title', title); - tinyMCE.setAttrib(tinyMCE.imgElement, 'align', align); - tinyMCE.setAttrib(tinyMCE.imgElement, 'border', border, true); - tinyMCE.setAttrib(tinyMCE.imgElement, 'hspace', hspace, true); - tinyMCE.setAttrib(tinyMCE.imgElement, 'vspace', vspace, true); - tinyMCE.setAttrib(tinyMCE.imgElement, 'width', width, true); - tinyMCE.setAttrib(tinyMCE.imgElement, 'height', height, true); - tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseover', onmouseover); - tinyMCE.setAttrib(tinyMCE.imgElement, 'onmouseout', onmouseout); - - // Fix for bug #989846 - Image resize bug - if (width && width != "") - tinyMCE.imgElement.style.pixelWidth = width; - - if (height && height != "") - tinyMCE.imgElement.style.pixelHeight = height; - - if (needsRepaint) - tinyMCE.selectedInstance.repaint(); - } - - tinyMCE.execCommand('mceEndUndoLevel'); - }, - - _insertLink : function(href, target, title, onclick, style_class) { - tinyMCE.execCommand('mceBeginUndoLevel'); - - if (tinyMCE.selectedInstance && tinyMCE.selectedElement && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") { - var doc = tinyMCE.selectedInstance.getDoc(); - var linkElement = tinyMCE.getParentElement(tinyMCE.selectedElement, "a"); - var newLink = false; - - if (!linkElement) { - linkElement = doc.createElement("a"); - newLink = true; - } - - var mhref = href; - var thref = eval(tinyMCE.settings['urlconverter_callback'] + "(href, linkElement);"); - mhref = tinyMCE.getParam('convert_urls') ? href : mhref; - - tinyMCE.setAttrib(linkElement, 'href', thref); - tinyMCE.setAttrib(linkElement, 'mce_href', mhref); - tinyMCE.setAttrib(linkElement, 'target', target); - tinyMCE.setAttrib(linkElement, 'title', title); - tinyMCE.setAttrib(linkElement, 'onclick', onclick); - tinyMCE.setAttrib(linkElement, 'class', style_class); - - if (newLink) { - linkElement.appendChild(tinyMCE.selectedElement.cloneNode(true)); - tinyMCE.selectedElement.parentNode.replaceChild(linkElement, tinyMCE.selectedElement); - } - - return; - } - - if (!tinyMCE.linkElement && tinyMCE.selectedInstance) { - if (tinyMCE.isSafari) { - tinyMCE.execCommand("mceInsertContent", false, '' + tinyMCE.selectedInstance.selection.getSelectedHTML() + ''); - } else - tinyMCE.selectedInstance.contentDocument.execCommand("createlink", false, tinyMCE.uniqueURL); - - tinyMCE.linkElement = tinyMCE.getElementByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL); - - var elementArray = tinyMCE.getElementsByAttributeValue(tinyMCE.selectedInstance.contentDocument.body, "a", "href", tinyMCE.uniqueURL); - - for (var i=0; i - - {$lang_insert_image_title} - - - - - - - -
- - -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - -
 
- x -
-
-
- -
-
- -
- -
- -
-
-
- - diff --git a/program/js/tiny_mce/themes/advanced/images/anchor.gif b/program/js/tiny_mce/themes/advanced/images/anchor.gif deleted file mode 100644 index 34ab71534..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/anchor.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/anchor_symbol.gif b/program/js/tiny_mce/themes/advanced/images/anchor_symbol.gif deleted file mode 100644 index 2eafd7954..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/anchor_symbol.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/backcolor.gif b/program/js/tiny_mce/themes/advanced/images/backcolor.gif deleted file mode 100644 index d03e206a3..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/backcolor.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/bold.gif b/program/js/tiny_mce/themes/advanced/images/bold.gif deleted file mode 100644 index d6a9cc2cd..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/bold.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/bold_de_se.gif b/program/js/tiny_mce/themes/advanced/images/bold_de_se.gif deleted file mode 100644 index 9b129de25..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/bold_de_se.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/bold_es.gif b/program/js/tiny_mce/themes/advanced/images/bold_es.gif deleted file mode 100644 index ea341e608..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/bold_es.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/bold_fr.gif b/program/js/tiny_mce/themes/advanced/images/bold_fr.gif deleted file mode 100644 index 281645451..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/bold_fr.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/bold_ru.gif b/program/js/tiny_mce/themes/advanced/images/bold_ru.gif deleted file mode 100644 index e000d461c..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/bold_ru.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/bold_tw.gif b/program/js/tiny_mce/themes/advanced/images/bold_tw.gif deleted file mode 100644 index 82085432c..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/bold_tw.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/browse.gif b/program/js/tiny_mce/themes/advanced/images/browse.gif deleted file mode 100644 index c786d0b20..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/browse.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/bullist.gif b/program/js/tiny_mce/themes/advanced/images/bullist.gif deleted file mode 100644 index 6e19467c7..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/bullist.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/button_menu.gif b/program/js/tiny_mce/themes/advanced/images/button_menu.gif deleted file mode 100644 index c3d8fa231..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/button_menu.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/buttons.gif b/program/js/tiny_mce/themes/advanced/images/buttons.gif deleted file mode 100644 index 5ad99a7c4..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/buttons.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/cancel_button_bg.gif b/program/js/tiny_mce/themes/advanced/images/cancel_button_bg.gif deleted file mode 100644 index 4b4aeefcb..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/cancel_button_bg.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/charmap.gif b/program/js/tiny_mce/themes/advanced/images/charmap.gif deleted file mode 100644 index 3cdc4ac91..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/charmap.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/cleanup.gif b/program/js/tiny_mce/themes/advanced/images/cleanup.gif deleted file mode 100644 index 16491f6cf..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/cleanup.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/close.gif b/program/js/tiny_mce/themes/advanced/images/close.gif deleted file mode 100644 index 679ca2aa4..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/close.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/code.gif b/program/js/tiny_mce/themes/advanced/images/code.gif deleted file mode 100644 index c5d5a6727..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/code.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/color.gif b/program/js/tiny_mce/themes/advanced/images/color.gif deleted file mode 100644 index 1ecd5743b..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/color.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/colors.jpg b/program/js/tiny_mce/themes/advanced/images/colors.jpg deleted file mode 100755 index b4c542d10..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/colors.jpg and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/copy.gif b/program/js/tiny_mce/themes/advanced/images/copy.gif deleted file mode 100644 index dc146865c..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/copy.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/custom_1.gif b/program/js/tiny_mce/themes/advanced/images/custom_1.gif deleted file mode 100644 index 4cbccdadf..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/custom_1.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/cut.gif b/program/js/tiny_mce/themes/advanced/images/cut.gif deleted file mode 100644 index 4e9a70b6e..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/cut.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/forecolor.gif b/program/js/tiny_mce/themes/advanced/images/forecolor.gif deleted file mode 100644 index 8b7036160..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/forecolor.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/help.gif b/program/js/tiny_mce/themes/advanced/images/help.gif deleted file mode 100644 index 51a1ee420..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/help.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/hr.gif b/program/js/tiny_mce/themes/advanced/images/hr.gif deleted file mode 100644 index 1a1ba2a01..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/hr.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/image.gif b/program/js/tiny_mce/themes/advanced/images/image.gif deleted file mode 100644 index 4b88eddc2..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/image.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/indent.gif b/program/js/tiny_mce/themes/advanced/images/indent.gif deleted file mode 100644 index acd315bb1..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/indent.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/insert_button_bg.gif b/program/js/tiny_mce/themes/advanced/images/insert_button_bg.gif deleted file mode 100644 index 69c131ce2..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/insert_button_bg.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/italic.gif b/program/js/tiny_mce/themes/advanced/images/italic.gif deleted file mode 100644 index 8bb330bd0..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/italic.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/italic_de_se.gif b/program/js/tiny_mce/themes/advanced/images/italic_de_se.gif deleted file mode 100644 index feb0309e7..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/italic_de_se.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/italic_es.gif b/program/js/tiny_mce/themes/advanced/images/italic_es.gif deleted file mode 100644 index 4572cdb1d..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/italic_es.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/italic_ru.gif b/program/js/tiny_mce/themes/advanced/images/italic_ru.gif deleted file mode 100644 index a2bb69a72..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/italic_ru.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/italic_tw.gif b/program/js/tiny_mce/themes/advanced/images/italic_tw.gif deleted file mode 100644 index 4f6eeaa2b..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/italic_tw.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/justifycenter.gif b/program/js/tiny_mce/themes/advanced/images/justifycenter.gif deleted file mode 100644 index 42d609a99..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/justifycenter.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/justifyfull.gif b/program/js/tiny_mce/themes/advanced/images/justifyfull.gif deleted file mode 100644 index c8504f626..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/justifyfull.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/justifyleft.gif b/program/js/tiny_mce/themes/advanced/images/justifyleft.gif deleted file mode 100644 index e8f7e4276..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/justifyleft.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/justifyright.gif b/program/js/tiny_mce/themes/advanced/images/justifyright.gif deleted file mode 100644 index e4cea9714..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/justifyright.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/link.gif b/program/js/tiny_mce/themes/advanced/images/link.gif deleted file mode 100644 index 1accf4262..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/link.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/menu_check.gif b/program/js/tiny_mce/themes/advanced/images/menu_check.gif deleted file mode 100644 index 50d6afd50..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/menu_check.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/newdocument.gif b/program/js/tiny_mce/themes/advanced/images/newdocument.gif deleted file mode 100644 index a9d293842..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/newdocument.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/numlist.gif b/program/js/tiny_mce/themes/advanced/images/numlist.gif deleted file mode 100644 index a2683522f..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/numlist.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/opacity.png b/program/js/tiny_mce/themes/advanced/images/opacity.png deleted file mode 100644 index b4217cb21..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/opacity.png and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/outdent.gif b/program/js/tiny_mce/themes/advanced/images/outdent.gif deleted file mode 100644 index 23f6aa408..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/outdent.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/paste.gif b/program/js/tiny_mce/themes/advanced/images/paste.gif deleted file mode 100644 index 1b45000a0..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/paste.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/redo.gif b/program/js/tiny_mce/themes/advanced/images/redo.gif deleted file mode 100644 index 3af90697f..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/redo.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/removeformat.gif b/program/js/tiny_mce/themes/advanced/images/removeformat.gif deleted file mode 100644 index 0fa3cb797..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/removeformat.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/separator.gif b/program/js/tiny_mce/themes/advanced/images/separator.gif deleted file mode 100644 index 4f39b809e..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/separator.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/spacer.gif b/program/js/tiny_mce/themes/advanced/images/spacer.gif deleted file mode 100644 index 388486517..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/spacer.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/statusbar_resize.gif b/program/js/tiny_mce/themes/advanced/images/statusbar_resize.gif deleted file mode 100644 index af89d803f..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/statusbar_resize.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/strikethrough.gif b/program/js/tiny_mce/themes/advanced/images/strikethrough.gif deleted file mode 100644 index 326463591..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/strikethrough.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/sub.gif b/program/js/tiny_mce/themes/advanced/images/sub.gif deleted file mode 100644 index 4d7ce30ff..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/sub.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/sup.gif b/program/js/tiny_mce/themes/advanced/images/sup.gif deleted file mode 100644 index a7145e019..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/sup.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/underline.gif b/program/js/tiny_mce/themes/advanced/images/underline.gif deleted file mode 100644 index 1dfeb5f6d..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/underline.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/underline_es.gif b/program/js/tiny_mce/themes/advanced/images/underline_es.gif deleted file mode 100644 index 551d9148d..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/underline_es.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/underline_fr.gif b/program/js/tiny_mce/themes/advanced/images/underline_fr.gif deleted file mode 100644 index 551d9148d..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/underline_fr.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/underline_ru.gif b/program/js/tiny_mce/themes/advanced/images/underline_ru.gif deleted file mode 100644 index b78e2a498..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/underline_ru.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/underline_tw.gif b/program/js/tiny_mce/themes/advanced/images/underline_tw.gif deleted file mode 100644 index b71539048..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/underline_tw.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/undo.gif b/program/js/tiny_mce/themes/advanced/images/undo.gif deleted file mode 100644 index 520796d69..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/undo.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/unlink.gif b/program/js/tiny_mce/themes/advanced/images/unlink.gif deleted file mode 100644 index 5c8a33db8..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/unlink.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/visualaid.gif b/program/js/tiny_mce/themes/advanced/images/visualaid.gif deleted file mode 100644 index 63caf1807..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/visualaid.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/xp/tab_bg.gif b/program/js/tiny_mce/themes/advanced/images/xp/tab_bg.gif deleted file mode 100644 index 897a01f2b..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/xp/tab_bg.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/xp/tab_end.gif b/program/js/tiny_mce/themes/advanced/images/xp/tab_end.gif deleted file mode 100644 index aee442beb..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/xp/tab_end.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif b/program/js/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif deleted file mode 100644 index 9dc8abe1a..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif b/program/js/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif deleted file mode 100644 index 616a889d1..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/images/xp/tabs_bg.gif b/program/js/tiny_mce/themes/advanced/images/xp/tabs_bg.gif deleted file mode 100644 index c303f66dd..000000000 Binary files a/program/js/tiny_mce/themes/advanced/images/xp/tabs_bg.gif and /dev/null differ diff --git a/program/js/tiny_mce/themes/advanced/jscripts/about.js b/program/js/tiny_mce/themes/advanced/jscripts/about.js deleted file mode 100644 index 4e53c285b..000000000 --- a/program/js/tiny_mce/themes/advanced/jscripts/about.js +++ /dev/null @@ -1,75 +0,0 @@ -function init() { - var inst; - - tinyMCEPopup.resizeToInnerSize(); - inst = tinyMCE.selectedInstance; - - // Give FF some time - window.setTimeout('insertHelpIFrame();', 10); - - var tcont = document.getElementById('plugintablecontainer'); - var plugins = tinyMCE.getParam('plugins', '', true, ','); - if (plugins.length == 0) - document.getElementById('plugins_tab').style.display = 'none'; - - var html = ""; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - html += ''; - - for (var i=0; i' + info.longname + ''; - else - html += ''; - - if (info.authorurl != null && info.authorurl != '') - html += ''; - else - html += ''; - - html += ''; - html += ''; - } - - html += ''; - html += '
' + tinyMCE.getLang('lang_plugin') + '' + tinyMCE.getLang('lang_author') + '' + tinyMCE.getLang('lang_version') + '
' + info.longname + '' + info.author + '' + info.author + '' + info.version + '
'; - - tcont.innerHTML = html; -} - -function getPluginInfo(name) { - if (tinyMCE.plugins[name].getInfo) - return tinyMCE.plugins[name].getInfo(); - - return { - longname : name, - authorurl : '', - infourl : '', - author : '--', - version : '--' - }; -} - -function insertHelpIFrame() { - var html = ''; - - document.getElementById('iframecontainer').innerHTML = html; - - html = ''; - html += 'Got Moxie? '; - html += 'Hosted By Sourceforge '; - html += 'Also on freshmeat '; - - document.getElementById('buttoncontainer').innerHTML = html; -} diff --git a/program/js/tiny_mce/themes/advanced/jscripts/anchor.js b/program/js/tiny_mce/themes/advanced/jscripts/anchor.js deleted file mode 100644 index e7c1c62c5..000000000 --- a/program/js/tiny_mce/themes/advanced/jscripts/anchor.js +++ /dev/null @@ -1,74 +0,0 @@ -var action, element; - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); - var anchor = tinyMCE.getParentElement(inst.getFocusElement(), "a", "name"); - var img = inst.getFocusElement(); - action = 'insert'; - - if (anchor != null) { - element = anchor; - action = "update"; - } - - if (tinyMCE.getAttrib(img, "class") == "mceItemAnchor") { - element = img; - action = "update"; - } - - if (action == "update") - document.forms[0].anchorName.value = element.nodeName == "IMG" ? element.getAttribute("title") : element.getAttribute("name"); - - document.forms[0].insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true); -} - -function insertAnchor() { - var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')); - var name = document.forms[0].anchorName.value, e; - - tinyMCEPopup.execCommand("mceBeginUndoLevel"); - - if (action == "update") { - if (element.nodeName == "IMG") - element.setAttribute("title", name); - else - element.setAttribute("name", name); - } else { - var rng = inst.getRng(); - - if (rng.collapse) - rng.collapse(false); - - name = name.replace(/&/g, '&'); - name = name.replace(/\"/g, '"'); - name = name.replace(//g, '>'); - - // Fix for bug #1447335 - if (tinyMCE.isGecko) - html = ''; - else - html = ''; - - tinyMCEPopup.execCommand("mceInsertContent", false, html); - - // Fix for bug #1447335 force cursor after the anchor element - if (tinyMCE.isGecko) { - e = inst.getDoc().getElementById('mceNewAnchor'); - - if (e) { - inst.selection.selectNode(e, true, false, false); - e.removeAttribute('id'); - } - } - - tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst); - } - - tinyMCEPopup.execCommand("mceEndUndoLevel"); - - tinyMCE.triggerNodeChange(); - tinyMCEPopup.close(); -} diff --git a/program/js/tiny_mce/themes/advanced/jscripts/charmap.js b/program/js/tiny_mce/themes/advanced/jscripts/charmap.js deleted file mode 100644 index eaa6a94b6..000000000 --- a/program/js/tiny_mce/themes/advanced/jscripts/charmap.js +++ /dev/null @@ -1,326 +0,0 @@ -function init() { - tinyMCEPopup.resizeToInnerSize(); -} - -var charmap = new Array(); - -// for mor details please see w3c.org -// now here is the complete list ;) - -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'] -]; - -function renderCharMapHTML() { - var charsPerRow = 20, tdWidth=20, tdHeight=20; - var html = ''; - var cols=-1; - for (var 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 += '
'; - document.write(html); -} - -function insertChar(chr) { - tinyMCEPopup.execCommand('mceInsertContent', false, '&#' + chr + ';'); - - // Refocus in window - if (tinyMCEPopup.isWindow) - window.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/program/js/tiny_mce/themes/advanced/jscripts/color_picker.js b/program/js/tiny_mce/themes/advanced/jscripts/color_picker.js deleted file mode 100644 index 358d6d706..000000000 --- a/program/js/tiny_mce/themes/advanced/jscripts/color_picker.js +++ /dev/null @@ -1,249 +0,0 @@ -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(tinyMCE.getWindowArg('input_color')); - - if (tinyMCE.isMSIE) - 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; - - tinyMCEPopup.execCommand(tinyMCE.getWindowArg('command'), false, 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; -} - -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' - + '' - + '' + colors[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 selectColor() { - var color = document.getElementById("color").value; - - if(window.opener) - window.opener.tinyMCE.execInstanceCommand(tinyMCE.getWindowArg('editor_id'),tinyMCE.getWindowArg('command'),false,color); - - window.close(); -} - -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('colorpicker').width / 6; - partDetail = detail / 2; - imHeight = document.getElementById('colorpicker').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'); -} - -function insertImage() { - var src = document.forms[0].src.value; - var alt = document.forms[0].alt.value; - var border = document.forms[0].border.value; - var vspace = document.forms[0].vspace.value; - var hspace = document.forms[0].hspace.value; - var width = document.forms[0].width.value; - var height = document.forms[0].height.value; - var align = document.forms[0].align.options[document.forms[0].align.selectedIndex].value; - - tinyMCEPopup.restoreSelection(); - tinyMCE.themes['advanced']._insertImage(src, alt, border, hspace, vspace, width, height, align); - tinyMCEPopup.close(); -} - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image'); - - var formObj = document.forms[0]; - - for (var i=0; i 0) { - for (var i=0; i'); -} - -function init() { - tinyMCEPopup.resizeToInnerSize(); - - document.getElementById('hrefbrowsercontainer').innerHTML = getBrowserHTML('hrefbrowser','href','file','theme_advanced_link'); - - // Handle file browser - if (isVisible('hrefbrowser')) - document.getElementById('href').style.width = '180px'; - - var formObj = document.forms[0]; - - for (var i=0; i 0) { - var formObj = document.forms[0]; - - for (var i=0; i - - {$lang_insert_link_title} - - - - - - - -
- - -
-
- - - - - - - - - - - - - - - - - - - - - -
- - - - -
 
-
-
-
- -
-
- -
- -
- -
-
-
- - diff --git a/program/js/tiny_mce/themes/advanced/source_editor.htm b/program/js/tiny_mce/themes/advanced/source_editor.htm deleted file mode 100644 index a8fb00511..000000000 --- a/program/js/tiny_mce/themes/advanced/source_editor.htm +++ /dev/null @@ -1,32 +0,0 @@ - - - - {$lang_theme_code_title} - - - - - -
-
{$lang_theme_code_title}
- -
- -
- -
- - - -
-
- -
- -
- -
-
-
- - diff --git a/program/js/tiny_mce/tiny_mce.js b/program/js/tiny_mce/tiny_mce.js deleted file mode 100644 index 65a5f1078..000000000 --- a/program/js/tiny_mce/tiny_mce.js +++ /dev/null @@ -1 +0,0 @@ -function TinyMCE_Engine(){var ua;this.majorVersion="2";this.minorVersion="1.0";this.releaseDate="2007-02-13";this.instances=new Array();this.switchClassCache=new Array();this.windowArgs=new Array();this.loadedFiles=new Array();this.pendingFiles=new Array();this.loadingIndex=0;this.configs=new Array();this.currentConfig=0;this.eventHandlers=new Array();this.log=new Array();this.undoLevels=[];this.undoIndex=0;this.typingUndoIndex=-1;ua=navigator.userAgent;this.isMSIE=(navigator.appName=="Microsoft Internet Explorer");this.isMSIE5=this.isMSIE&&(ua.indexOf('MSIE 5')!=-1);this.isMSIE5_0=this.isMSIE&&(ua.indexOf('MSIE 5.0')!=-1);this.isMSIE7=this.isMSIE&&(ua.indexOf('MSIE 7')!=-1);this.isGecko=ua.indexOf('Gecko')!=-1;this.isSafari=ua.indexOf('Safari')!=-1;this.isOpera=ua.indexOf('Opera')!=-1;this.isMac=ua.indexOf('Mac')!=-1;this.isNS7=ua.indexOf('Netscape/7')!=-1;this.isNS71=ua.indexOf('Netscape/7.1')!=-1;this.dialogCounter=0;this.plugins=new Array();this.themes=new Array();this.menus=new Array();this.loadedPlugins=new Array();this.buttonMap=new Array();this.isLoaded=false;if(this.isOpera){this.isMSIE=true;this.isGecko=false;this.isSafari=false}this.isIE=this.isMSIE;this.isRealIE=this.isMSIE&&!this.isOpera;this.idCounter=0};TinyMCE_Engine.prototype={init:function(settings){var theme,nl,baseHREF="",i;if(this.isMSIE5_0)return;this.settings=settings;if(typeof(document.execCommand)=='undefined')return;if(!tinyMCE.baseURL){var elements=document.getElementsByTagName('script');nl=document.getElementsByTagName('base');for(i=0;i');this._def("font_size_classes",'');this._def("font_size_style_values",'xx-small,x-small,small,medium,large,x-large,xx-large',true);this._def("event_elements",'a,img',true);this._def("convert_urls",true);this._def("table_inline_editing",false);this._def("object_resizing",true);this._def("custom_shortcuts",true);this._def("convert_on_click",false);this._def("content_css",'');this._def("fix_list_elements",true);this._def("fix_table_elements",false);this._def("strict_loading_mode",document.contentType=='application/xhtml+xml');this._def("hidden_tab_class",'');this._def("display_tab_class",'');this._def("gecko_spellcheck",false);this._def("hide_selects_on_submit",true);if(this.isMSIE&&!this.isOpera)this.settings.strict_loading_mode=false;if(this.isMSIE&&this.settings['browsers'].indexOf('msie')==-1)return;if(this.isGecko&&this.settings['browsers'].indexOf('gecko')==-1)return;if(this.isSafari&&this.settings['browsers'].indexOf('safari')==-1)return;if(this.isOpera&&this.settings['browsers'].indexOf('opera')==-1)return;baseHREF=tinyMCE.settings['document_base_url'];var h=document.location.href;var p=h.indexOf('://');if(p>0&&document.location.protocol!="file:"){p=h.indexOf('/',p+3);h=h.substring(0,p);if(baseHREF.indexOf('://')==-1)baseHREF=h+baseHREF;tinyMCE.settings['document_base_url']=baseHREF;tinyMCE.settings['document_base_prefix']=h}if(baseHREF.indexOf('?')!=-1)baseHREF=baseHREF.substring(0,baseHREF.indexOf('?'));this.settings['base_href']=baseHREF.substring(0,baseHREF.lastIndexOf('/'))+"/";theme=this.settings['theme'];this.inlineStrict='A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment';this.inlineTransitional='A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment';this.blockElms='H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP';this.blockRegExp=new RegExp("^("+this.blockElms+")$","i");this.posKeyCodes=new Array(13,45,36,35,33,34,37,38,39,40);this.uniqueURL='javascript:void(091039730);';this.uniqueTag='';this.callbacks=new Array('onInit','getInfo','getEditorTemplate','setupContent','onChange','onPageLoad','handleNodeChange','initInstance','execCommand','getControlHTML','handleEvent','cleanup','removeInstance');this.settings['theme_href']=tinyMCE.baseURL+"/themes/"+theme;if(!tinyMCE.isIE||tinyMCE.isOpera)this.settings['force_br_newlines']=false;if(tinyMCE.getParam("popups_css",false)){var cssPath=tinyMCE.getParam("popups_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['popups_css']=this.documentBasePath+"/"+cssPath;else this.settings['popups_css']=cssPath}else this.settings['popups_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_popup.css";if(tinyMCE.getParam("editor_css",false)){var cssPath=tinyMCE.getParam("editor_css","");if(cssPath.indexOf('://')==-1&&cssPath.charAt(0)!='/')this.settings['editor_css']=this.documentBasePath+"/"+cssPath;else this.settings['editor_css']=cssPath}else{if(this.settings.editor_css!='')this.settings['editor_css']=tinyMCE.baseURL+"/themes/"+theme+"/css/editor_ui.css"}if(tinyMCE.settings['debug']){var msg="Debug: \n";msg+="baseURL: "+this.baseURL+"\n";msg+="documentBasePath: "+this.documentBasePath+"\n";msg+="content_css: "+this.settings['content_css']+"\n";msg+="popups_css: "+this.settings['popups_css']+"\n";msg+="editor_css: "+this.settings['editor_css']+"\n";alert(msg)}if(this.configs.length==0){if(typeof(TinyMCECompressed)=="undefined"){tinyMCE.addEvent(window,"DOMContentLoaded",TinyMCE_Engine.prototype.onLoad);if(tinyMCE.isRealIE){if(document.body)tinyMCE.addEvent(document.body,"readystatechange",TinyMCE_Engine.prototype.onLoad);else tinyMCE.addEvent(document,"readystatechange",TinyMCE_Engine.prototype.onLoad)}tinyMCE.addEvent(window,"load",TinyMCE_Engine.prototype.onLoad);tinyMCE._addUnloadEvents()}}this.loadScript(tinyMCE.baseURL+'/themes/'+this.settings['theme']+'/editor_template'+tinyMCE.srcMode+'.js');this.loadScript(tinyMCE.baseURL+'/langs/'+this.settings['language']+'.js');this.loadCSS(this.settings['editor_css']);var p=tinyMCE.getParam('plugins','',true,',');if(p.length>0){for(var i=0;i&"\']','g');this.xmlEncodeRe=new RegExp('[<>&"]','g');},_addUnloadEvents:function(){if(tinyMCE.isIE){if(tinyMCE.settings['add_unload_trigger']){tinyMCE.addEvent(window,"unload",TinyMCE_Engine.prototype.unloadHandler);tinyMCE.addEvent(window.document,"beforeunload",TinyMCE_Engine.prototype.unloadHandler)}}else{if(tinyMCE.settings['add_unload_trigger'])tinyMCE.addEvent(window,"unload",function(){tinyMCE.triggerSave(true,true)})}},_def:function(key,def_val,t){var v=tinyMCE.getParam(key,def_val);v=t?v.replace(/\s+/g,""):v;this.settings[key]=v},hasPlugin:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null},addPlugin:function(n,p){var op=this.plugins[n];p.baseURL=op?op.baseURL:tinyMCE.baseURL+"/plugins/"+n;this.plugins[n]=p;this.loadNextScript()},setPluginBaseURL:function(n,u){var op=this.plugins[n];if(op)op.baseURL=u;else this.plugins[n]={baseURL:u}},loadPlugin:function(n,u){u=u.indexOf('.js')!=-1?u.substring(0,u.lastIndexOf('/')):u;u=u.charAt(u.length-1)=='/'?u.substring(0,u.length-1):u;this.plugins[n]={baseURL:u};this.loadScript(u+"/editor_plugin"+(tinyMCE.srcMode?'_src':'')+".js")},hasTheme:function(n){return typeof(this.themes[n])!="undefined"&&this.themes[n]!=null},addTheme:function(n,t){this.themes[n]=t;this.loadNextScript()},addMenu:function(n,m){this.menus[n]=m},hasMenu:function(n){return typeof(this.plugins[n])!="undefined"&&this.plugins[n]!=null},loadScript:function(url){var i;for(i=0;i');this.loadedFiles[this.loadedFiles.length]=url},loadNextScript:function(){var d=document,se;if(!tinyMCE.settings.strict_loading_mode)return;if(this.loadingIndex0){for(i=0,lflen=this.loadedFiles.length;i');this.loadedFiles[this.loadedFiles.length]=ar[x]}}}},importCSS:function(doc,css){var css_ary=css.replace(/\s+/,'').split(',');var csslen,elm,headArr,x,css_file;for(x=0,csslen=css_ary.length;x0){if(css_file.indexOf('://')==-1&&css_file.charAt(0)!='/')css_file=this.documentBasePath+"/"+css_file;if(typeof(doc.createStyleSheet)=="undefined"){elm=doc.createElement("link");elm.rel="stylesheet";elm.href=css_file;if((headArr=doc.getElementsByTagName("head"))!=null&&headArr.length>0)headArr[0].appendChild(elm)}else doc.createStyleSheet(css_file)}}},confirmAdd:function(e,settings){var elm=tinyMCE.isIE?event.srcElement:e.target;var elementId=elm.name?elm.name:elm.id;tinyMCE.settings=settings;if(tinyMCE.settings['convert_on_click']||(!elm.getAttribute('mce_noask')&&confirm(tinyMCELang['lang_edit_confirm'])))tinyMCE.addMCEControl(elm,elementId);elm.setAttribute('mce_noask','true')},updateContent:function(form_element_name){var formElement=document.getElementById(form_element_name);for(var n in tinyMCE.instances){var inst=tinyMCE.instances[n];if(!tinyMCE.isInstance(inst))continue;inst.switchSettings();if(inst.formElement==formElement){var doc=inst.getDoc();tinyMCE._setHTML(doc,inst.formElement.value);if(!tinyMCE.isIE)doc.body.innerHTML=tinyMCE._cleanupHTML(inst,doc,this.settings,doc.body,inst.visualAid)}}},addMCEControl:function(replace_element,form_element_name,target_document){var id="mce_editor_"+tinyMCE.idCounter++;var inst=new TinyMCE_Control(tinyMCE.settings);inst.editorId=id;this.instances[id]=inst;inst._onAdd(replace_element,form_element_name,target_document)},removeInstance:function(ti){var t=[],n,i;for(n in tinyMCE.instances){i=tinyMCE.instances[n];if(tinyMCE.isInstance(i)&&ti!=i)t[n]=i}tinyMCE.instances=t;n=[];t=tinyMCE.undoLevels;for(i=0;i0){tinyMCE.nextUndoRedoAction='Undo';inst=this.undoLevels[--this.undoIndex];inst.select();if(!tinyMCE.nextUndoRedoInstanceId)inst.execCommand('Undo')}}else inst.execCommand('Undo');return true;case"Redo":if(this.getParam('custom_undo_redo_global')){if(this.undoIndex<=this.undoLevels.length-1){tinyMCE.nextUndoRedoAction='Redo';inst=this.undoLevels[this.undoIndex++];inst.select();if(!tinyMCE.nextUndoRedoInstanceId)inst.execCommand('Redo')}}else inst.execCommand('Redo');return true;case'mceFocus':var inst=tinyMCE.getInstanceById(value);if(inst)inst.getWin().focus();return;case"mceAddControl":case"mceAddEditor":tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceAddFrameControl":tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'],value['document']),value['element'],value['document']);return;case"mceRemoveControl":case"mceRemoveEditor":tinyMCE.removeMCEControl(value);return;case"mceToggleEditor":var inst=tinyMCE.getInstanceById(value),pe,te;if(inst){pe=document.getElementById(inst.editorId+'_parent');te=inst.oldTargetElement;if(typeof(inst.enabled)=='undefined')inst.enabled=true;inst.enabled=!inst.enabled;if(!inst.enabled){pe.style.display='none';te.value=inst.getHTML();te.style.display=inst.oldTargetDisplay;tinyMCE.dispatchCallback(inst,'hide_instance_callback','hideInstance',inst)}else{pe.style.display='block';te.style.display='none';inst.setHTML(te.value);inst.useCSS=false;tinyMCE.dispatchCallback(inst,'show_instance_callback','showInstance',inst)}}else tinyMCE.addMCEControl(tinyMCE._getElementById(value),value);return;case"mceResetDesignMode":if(!tinyMCE.isIE){for(var n in tinyMCE.instances){if(!tinyMCE.isInstance(tinyMCE.instances[n]))continue;try{tinyMCE.instances[n].getDoc().designMode="on"}catch(e){}}}return}if(inst){inst.execCommand(command,user_interface,value)}else if(tinyMCE.settings['focus_alert'])alert(tinyMCELang['lang_focus_alert'])},_createIFrame:function(replace_element,doc,win){var iframe,id=replace_element.getAttribute("id");var aw,ah;if(typeof(doc)=="undefined")doc=document;if(typeof(win)=="undefined")win=window;iframe=doc.createElement("iframe");aw=""+tinyMCE.settings['area_width'];ah=""+tinyMCE.settings['area_height'];if(aw.indexOf('%')==-1){aw=parseInt(aw);aw=(isNaN(aw)||aw<0)?300:aw;aw=aw+"px"}if(ah.indexOf('%')==-1){ah=parseInt(ah);ah=(isNaN(ah)||ah<0)?240:ah;ah=ah+"px"}iframe.setAttribute("id",id);iframe.setAttribute("name",id);iframe.setAttribute("class","mceEditorIframe");iframe.setAttribute("border","0");iframe.setAttribute("frameBorder","0");iframe.setAttribute("marginWidth","0");iframe.setAttribute("marginHeight","0");iframe.setAttribute("leftMargin","0");iframe.setAttribute("topMargin","0");iframe.setAttribute("width",aw);iframe.setAttribute("height",ah);iframe.setAttribute("allowtransparency","true");iframe.className='mceEditorIframe';if(tinyMCE.settings["auto_resize"])iframe.setAttribute("scrolling","no");if(tinyMCE.isRealIE)iframe.setAttribute("src",this.settings['default_document']);iframe.style.width=aw;iframe.style.height=ah;if(tinyMCE.settings.strict_loading_mode)iframe.style.marginBottom='-5px';if(tinyMCE.isRealIE)replace_element.outerHTML=iframe.outerHTML;else replace_element.parentNode.replaceChild(iframe,replace_element);if(tinyMCE.isRealIE)return win.frames[id];else return iframe},setupContent:function(editor_id){var inst=tinyMCE.instances[editor_id],i;var doc=inst.getDoc();var head=doc.getElementsByTagName('head').item(0);var content=inst.startContent;if(tinyMCE.settings.strict_loading_mode){content=content.replace(/</g,'<');content=content.replace(/>/g,'>');content=content.replace(/"/g,'"');content=content.replace(/&/g,'&')}tinyMCE.selectedInstance=inst;inst.switchSettings();if(!tinyMCE.isIE&&tinyMCE.getParam("setupcontent_reload",false)&&doc.title!="blank_page"){try{doc.location.href=tinyMCE.baseURL+"/blank.htm"}catch(ex){}window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",1000);return}if(!head){window.setTimeout("tinyMCE.setupContent('"+editor_id+"');",10);return}tinyMCE.importCSS(inst.getDoc(),tinyMCE.baseURL+"/themes/"+inst.settings['theme']+"/css/editor_content.css");tinyMCE.importCSS(inst.getDoc(),inst.settings['content_css']);tinyMCE.dispatchCallback(inst,'init_instance_callback','initInstance',inst);if(tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')){inst.addShortcut('ctrl','z','lang_undo_desc','Undo');inst.addShortcut('ctrl','y','lang_redo_desc','Redo')}for(i=1;i<=6;i++)inst.addShortcut('ctrl',''+i,'','FormatBlock',false,'');inst.addShortcut('ctrl','7','','FormatBlock',false,'

');inst.addShortcut('ctrl','8','','FormatBlock',false,'

');inst.addShortcut('ctrl','9','','FormatBlock',false,'
');if(tinyMCE.isGecko){inst.addShortcut('ctrl','b','lang_bold_desc','Bold');inst.addShortcut('ctrl','i','lang_italic_desc','Italic');inst.addShortcut('ctrl','u','lang_underline_desc','Underline')}if(tinyMCE.getParam("convert_fonts_to_spans"))inst.getBody().setAttribute('id','mceSpanFonts');if(tinyMCE.settings['nowrap'])doc.body.style.whiteSpace="nowrap";doc.body.dir=this.settings['directionality'];doc.editorId=editor_id;if(!tinyMCE.isIE)doc.documentElement.editorId=editor_id;inst.setBaseHREF(tinyMCE.settings['base_href']);if(tinyMCE.settings['convert_newlines_to_brs']){content=tinyMCE.regexpReplace(content,"\r\n","
","gi");content=tinyMCE.regexpReplace(content,"\r","
","gi");content=tinyMCE.regexpReplace(content,"\n","
","gi")}content=tinyMCE.storeAwayURLs(content);content=tinyMCE._customCleanup(inst,"insert_to_editor",content);if(tinyMCE.isIE){window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["'+editor_id+'"].getDoc(), "'+editor_id+'");}catch(e){}',500);if(tinyMCE.settings["force_br_newlines"])doc.styleSheets[0].addRule("p","margin: 0;");var body=inst.getBody();body.editorId=editor_id}content=tinyMCE.cleanupHTMLCode(content);if(!tinyMCE.isIE){var contentElement=inst.getDoc().createElement("body");var doc=inst.getDoc();contentElement.innerHTML=content;if(tinyMCE.isGecko&&tinyMCE.settings['remove_lt_gt'])content=content.replace(new RegExp('<>','g'),"");if(tinyMCE.settings['cleanup_on_startup'])tinyMCE.setInnerHTML(inst.getBody(),tinyMCE._cleanupHTML(inst,doc,this.settings,contentElement));else tinyMCE.setInnerHTML(inst.getBody(),content);tinyMCE.convertAllRelativeURLs(inst.getBody())}else{if(tinyMCE.settings['cleanup_on_startup']){tinyMCE._setHTML(inst.getDoc(),content);eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}')}else tinyMCE._setHTML(inst.getDoc(),content)}tinyMCE.handleVisualAid(inst.getBody(),true,tinyMCE.settings['visual'],inst);tinyMCE.dispatchCallback(inst,'setupcontent_callback','setupContent',editor_id,inst.getBody(),inst.getDoc());if(!tinyMCE.isIE)tinyMCE.addEventHandlers(inst);if(tinyMCE.isIE){tinyMCE.addEvent(inst.getBody(),"blur",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(inst.getBody(),"beforedeactivate",TinyMCE_Engine.prototype._eventPatch);if(!tinyMCE.isOpera){tinyMCE.addEvent(doc.body,"mousemove",TinyMCE_Engine.prototype.onMouseMove);tinyMCE.addEvent(doc.body,"beforepaste",TinyMCE_Engine.prototype._eventPatch);tinyMCE.addEvent(doc.body,"drop",TinyMCE_Engine.prototype._eventPatch)}}inst.select();tinyMCE.selectedElement=inst.contentWindow.document.body;tinyMCE._customCleanup(inst,"insert_to_editor_dom",inst.getBody());tinyMCE._customCleanup(inst,"setup_content_dom",inst.getBody());tinyMCE._setEventsEnabled(inst.getBody(),false);tinyMCE.cleanupAnchors(inst.getDoc());if(tinyMCE.getParam("convert_fonts_to_spans"))tinyMCE.convertSpansToFonts(inst.getDoc());inst.startContent=tinyMCE.trim(inst.getBody().innerHTML);inst.undoRedo.add({content:inst.startContent});if(tinyMCE.isGecko){tinyMCE.selectNodes(inst.getBody(),function(n){if(n.nodeType==3||n.nodeType==8)n.nodeValue=n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"','gi'),"");return false})}if(tinyMCE.isGecko)inst.getBody().spellcheck=tinyMCE.getParam("gecko_spellcheck");tinyMCE._removeInternal(inst.getBody());inst.select();tinyMCE.triggerNodeChange(false,true)},storeAwayURLs:function(s){if(!s.match(/(mce_src|mce_href)/gi,s)){s=s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"','gi'),'src="$1" mce_src="$1"');s=s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"','gi'),'href="$1" mce_href="$1"')}return s},_removeInternal:function(n){if(tinyMCE.isGecko){tinyMCE.selectNodes(n,function(n){if(n.nodeType==3||n.nodeType==8)n.nodeValue=n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"','gi'),"");return false})}},removeTinyMCEFormElements:function(form_obj){var i,elementId;if(!tinyMCE.getParam('hide_selects_on_submit'))return;if(typeof(form_obj)=="undefined"||form_obj==null)return;if(form_obj.nodeName!="FORM"){if(form_obj.form)form_obj=form_obj.form;else form_obj=tinyMCE.getParentElement(form_obj,"form")}if(form_obj==null)return;for(i=0;i");rng.collapse(false);rng.select();tinyMCE.execCommand("mceAddUndoLevel");tinyMCE.triggerNodeChange(false);return false}}if(e.keyCode==8||e.keyCode==46){tinyMCE.selectedElement=e.target;tinyMCE.linkElement=tinyMCE.getParentElement(e.target,"a");tinyMCE.imgElement=tinyMCE.getParentElement(e.target,"img");tinyMCE.triggerNodeChange(false)}return false;break;case"keyup":case"keydown":tinyMCE.hideMenus();tinyMCE.hasMouseMoved=false;if(inst&&inst.handleShortcut(e))return false;if(e.target.editorId)tinyMCE.instances[e.target.editorId].select();if(tinyMCE.selectedInstance)tinyMCE.selectedInstance.switchSettings();var inst=tinyMCE.selectedInstance;if(tinyMCE.isGecko&&tinyMCE.settings['force_p_newlines']&&(e.keyCode==8||e.keyCode==46)&&!e.shiftKey){if(TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance,e.type)){tinyMCE.execCommand("mceAddUndoLevel");e.preventDefault();return false}}tinyMCE.selectedElement=null;tinyMCE.selectedNode=null;var elm=tinyMCE.selectedInstance.getFocusElement();tinyMCE.linkElement=tinyMCE.getParentElement(elm,"a");tinyMCE.imgElement=tinyMCE.getParentElement(elm,"img");tinyMCE.selectedElement=elm;if(tinyMCE.isGecko&&e.type=="keyup"&&e.keyCode==9)tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(),true,tinyMCE.settings['visual'],tinyMCE.selectedInstance);if(tinyMCE.isIE&&e.type=="keydown"&&e.keyCode==13)tinyMCE.enterKeyElement=tinyMCE.selectedInstance.getFocusElement();if(tinyMCE.isIE&&e.type=="keyup"&&e.keyCode==13){var elm=tinyMCE.enterKeyElement;if(elm){var re=new RegExp('^HR|IMG|BR$','g');var dre=new RegExp('^H[1-6]$','g');if(!elm.hasChildNodes()&&!re.test(elm.nodeName)){if(dre.test(elm.nodeName))elm.innerHTML="  ";else elm.innerHTML=" "}}}var keys=tinyMCE.posKeyCodes;var posKey=false;for(var i=0;i';h+='';h+=''}else{h+='';h+='';h+=''}return h},getMenuButtonHTML:function(id,lang,img,mcmd,cmd,ui,val){var h='',m,x;mcmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+mcmd+'\');';cmd='tinyMCE.execInstanceCommand(\'{$editor_id}\',\''+cmd+'\'';if(typeof(ui)!="undefined"&&ui!=null)cmd+=','+ui;if(typeof(val)!="undefined"&&val!=null)cmd+=",'"+val+"'";cmd+=');';if(tinyMCE.getParam('button_tile_map')&&(!tinyMCE.isIE||tinyMCE.isOpera)&&(m=tinyMCE.buttonMap[id])!=null&&(tinyMCE.getParam("language")=="en"||img.indexOf('$lang')==-1)){x=0-(m*20)==0?'0':0-(m*20);if(tinyMCE.isRealIE)h+='';else h+='';h+='';h+='';h+='';h+=''}else{if(tinyMCE.isRealIE)h+='';else h+='';h+='';h+='';h+='';h+=''}return h},_menuButtonEvent:function(e,o){if(o.className=='mceMenuButtonFocus')return;if(e=='over')o.className=o.className+' mceMenuHover';else o.className=o.className.replace(/\s.*$/,'')},addButtonMap:function(m){var i,a=m.replace(/\s+/,'').split(',');for(i=0;i0);if(tinyMCE.settings['custom_undo_redo']){undoIndex=inst.undoRedo.undoIndex;undoLevels=inst.undoRedo.undoLevels.length}tinyMCE.dispatchCallback(inst,'handle_node_change_callback','handleNodeChange',editorId,elm,undoIndex,undoLevels,inst.visualAid,anySelection,setup_content)}if(this.selectedInstance&&(typeof(focus)=="undefined"||focus))this.selectedInstance.contentWindow.focus()},_customCleanup:function(inst,type,content){var pl,po,i;var customCleanup=tinyMCE.settings['cleanup_callback'];if(customCleanup!=""&&eval("typeof("+customCleanup+")")!="undefined")content=eval(customCleanup+"(type, content, inst);");po=tinyMCE.themes[tinyMCE.settings['theme']];if(po&&po.cleanup)content=po.cleanup(type,content,inst);pl=inst.plugins;for(i=0;i0)className+=" ";className+=classNames[i]}return className},handleVisualAid:function(el,deep,state,inst,skip_dispatch){if(!el)return;if(!skip_dispatch)tinyMCE.dispatchCallback(inst,'handle_visual_aid_callback','handleVisualAid',el,deep,state,inst);var tableElement=null;switch(el.nodeName){case"TABLE":var oldW=el.style.width;var oldH=el.style.height;var bo=tinyMCE.getAttrib(el,"border");bo=bo==""||bo=="0"?true:false;tinyMCE.setAttrib(el,"class",tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el,"class"),state&&bo));el.style.width=oldW;el.style.height=oldH;for(var y=0;y0)return inst.cssClasses;if(typeof(editor_id)=="undefined"&&typeof(doc)=="undefined"){var instance;for(var instanceName in tinyMCE.instances){instance=tinyMCE.instances[instanceName];if(!tinyMCE.isInstance(instance))continue;break}doc=instance.getDoc()}if(typeof(doc)=="undefined"){var instance=tinyMCE.getInstanceById(editor_id);doc=instance.getDoc()}if(doc){var styles=doc.styleSheets;if(styles&&styles.length>0){for(var x=0;x'+tinyMCE.replaceVar(v,"pluginurl",o.baseURL)+'';return tinyMCE.replaceVar(v,"pluginurl",o.baseURL)}}o=tinyMCE.themes[tinyMCE.settings['theme']];if(o.getControlHTML&&(v=o.getControlHTML(c))!=''){if(rtl)return''+v+'';return v}return''},evalFunc:function(f,idx,a,o){o=!o?window:o;f=typeof(f)=='function'?f:o[f];return f.apply(o,Array.prototype.slice.call(a,idx))},dispatchCallback:function(i,p,n){return this.callFunc(i,p,n,0,this.dispatchCallback.arguments)},executeCallback:function(i,p,n){return this.callFunc(i,p,n,1,this.executeCallback.arguments)},execCommandCallback:function(i,p,n){return this.callFunc(i,p,n,2,this.execCommandCallback.arguments)},callFunc:function(ins,p,n,m,a){var l,i,on,o,s,v;s=m==2;l=tinyMCE.getParam(p,'');if(l!=''&&(v=tinyMCE.evalFunc(l,3,a))==s&&m>0)return true;if(ins!=null){for(i=0,l=ins.plugins;i0)return true}}l=tinyMCE.themes;for(on in l){o=l[on];if(o[n]&&(v=tinyMCE.evalFunc(n,3,a,o))==s&&m>0)return true}return false},xmlEncode:function(s,skip_apos){return s?(''+s).replace(!skip_apos?this.xmlEncodeAposRe:this.xmlEncodeRe,function(c,b){switch(c){case'&':return'&';case'"':return'"';case'\'':return''';case'<':return'<';case'>':return'>'}return c}):s},extend:function(p,np){var o={};o.parent=p;for(n in p)o[n]=p[n];for(n in np)o[n]=np[n];return o},hideMenus:function(){var e=tinyMCE.lastSelectedMenuBtn;if(tinyMCE.lastMenu){tinyMCE.lastMenu.hide();tinyMCE.lastMenu=null}if(e){tinyMCE.switchClass(e,tinyMCE.lastMenuBtnClass);tinyMCE.lastSelectedMenuBtn=null}}};var TinyMCE=TinyMCE_Engine;var tinyMCE=new TinyMCE_Engine();var tinyMCELang={};function TinyMCE_Control(settings){var t,i,to,fu,p,x,fn,fu,pn,s=settings;this.undoRedoLevel=true;this.isTinyMCE_Control=true;this.settings=s;this.settings['theme']=tinyMCE.getParam("theme","default");this.settings['width']=tinyMCE.getParam("width",-1);this.settings['height']=tinyMCE.getParam("height",-1);this.selection=new TinyMCE_Selection(this);this.undoRedo=new TinyMCE_UndoRedo(this);this.cleanup=new TinyMCE_Cleanup();this.shortcuts=new Array();this.hasMouseMoved=false;this.foreColor=this.backColor="#999999";this.data={};this.cssClasses=[];this.cleanup.init({valid_elements:s.valid_elements,extended_valid_elements:s.extended_valid_elements,valid_child_elements:s.valid_child_elements,entities:s.entities,entity_encoding:s.entity_encoding,debug:s.cleanup_debug,indent:s.apply_source_formatting,invalid_elements:s.invalid_elements,verify_html:s.verify_html,fix_content_duplication:s.fix_content_duplication,convert_fonts_to_spans:s.convert_fonts_to_spans});t=this.settings['theme'];if(!tinyMCE.hasTheme(t)){fn=tinyMCE.callbacks;to={};for(i=0;i0){for(i=0;i1&&tinyMCE.currentConfig!=this.settings['index']){tinyMCE.settings=this.settings;tinyMCE.currentConfig=this.settings['index']}},select:function(){var oldInst=tinyMCE.selectedInstance;if(oldInst!=this){if(oldInst)oldInst.execCommand('mceEndTyping');tinyMCE.dispatchCallback(this,'select_instance_callback','selectInstance',this,oldInst);tinyMCE.selectedInstance=this}},getBody:function(){return this.contentBody?this.contentBody:this.getDoc().body},getDoc:function(){return this.contentWindow.document},getWin:function(){return this.contentWindow},getContainerWin:function(){return this.containerWindow?this.containerWindow:window},getViewPort:function(){return tinyMCE.getViewPort(this.getWin())},getParentNode:function(n,f){return tinyMCE.getParentNode(n,f,this.getBody())},getParentElement:function(n,na,f){return tinyMCE.getParentElement(n,na,f,this.getBody())},getParentBlockElement:function(n){return tinyMCE.getParentBlockElement(n,this.getBody())},resizeToContent:function(){var d=this.getDoc(),b=d.body,de=d.documentElement;this.iframeElement.style.height=(tinyMCE.isRealIE)?b.scrollHeight:de.offsetHeight+'px'},addShortcut:function(m,k,d,cmd,ui,va){var n=typeof(k)=="number",ie=tinyMCE.isIE,c,sc,i,scl=this.shortcuts;if(!tinyMCE.getParam('custom_shortcuts'))return false;m=m.toLowerCase();k=ie&&!n?k.toUpperCase():k;c=n?null:k.charCodeAt(0);d=d&&d.indexOf('lang_')==0?tinyMCE.getLang(d):d;sc={alt:m.indexOf('alt')!=-1,ctrl:m.indexOf('ctrl')!=-1,shift:m.indexOf('shift')!=-1,charCode:c,keyCode:n?k:(ie?c:null),desc:d,cmd:cmd,ui:ui,val:va};for(i=0;i0)rng.pasteHTML('
'+rng.htmlText+"
");tinyMCE.triggerNodeChange();return}}}switch(command){case"mceRepaint":this.repaint();return true;case"unlink":if(tinyMCE.isGecko&&this.getSel().isCollapsed){focusElm=tinyMCE.getParentElement(focusElm,'A');if(focusElm)this.selection.selectNode(focusElm,false)}this.getDoc().execCommand(command,user_interface,value);tinyMCE.isGecko&&this.getSel().collapseToEnd();tinyMCE.triggerNodeChange();return true;case"InsertUnorderedList":case"InsertOrderedList":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"Strikethrough":this.getDoc().execCommand(command,user_interface,value);tinyMCE.triggerNodeChange();break;case"mceSelectNode":this.selection.selectNode(value);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=value;break;case"FormatBlock":if(value==null||value==""){var elm=tinyMCE.getParentElement(this.getFocusElement(),"p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp");if(elm)this.execCommand("mceRemoveNode",false,elm)}else{if(!this.cleanup.isValid(value))return true;if(tinyMCE.isGecko&&new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>','gi').test(value))value=value.replace(/[^a-z]/gi,'');if(tinyMCE.isIE&&new RegExp('blockquote|code|samp','gi').test(value)){var b=this.selection.getBookmark();this.getDoc().execCommand("FormatBlock",false,'

');tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()),value);this.selection.moveToBookmark(b)}else this.getDoc().execCommand("FormatBlock",false,value)}tinyMCE.triggerNodeChange();break;case"mceRemoveNode":if(!value)value=tinyMCE.getParentElement(this.getFocusElement());if(tinyMCE.isIE){value.outerHTML=value.innerHTML}else{var rng=value.ownerDocument.createRange();rng.setStartBefore(value);rng.setEndAfter(value);rng.deleteContents();rng.insertNode(rng.createContextualFragment(value.innerHTML))}tinyMCE.triggerNodeChange();break;case"mceSelectNodeDepth":var parentNode=this.getFocusElement();for(var i=0;parentNode;i++){if(parentNode.nodeName.toLowerCase()=="body")break;if(parentNode.nodeName.toLowerCase()=="#text"){i--;parentNode=parentNode.parentNode;continue}if(i==value){this.selection.selectNode(parentNode,false);tinyMCE.triggerNodeChange();tinyMCE.selectedNode=parentNode;return}parentNode=parentNode.parentNode}break;case"mceSetStyleInfo":case"SetStyleInfo":var rng=this.getRng();var sel=this.getSel();var scmd=value['command'];var sname=value['name'];var svalue=value['value']==null?'':value['value'];var wrapper=value['wrapper']?value['wrapper']:"span";var parentElm=null;var invalidRe=new RegExp("^BODY|HTML$","g");var invalidParentsRe=tinyMCE.settings['merge_styles_invalid_parents']!=''?new RegExp(tinyMCE.settings['merge_styles_invalid_parents'],"gi"):null;if(tinyMCE.isIE){if(rng.item)parentElm=rng.item(0);else{var pelm=rng.parentElement();var prng=doc.selection.createRange();prng.moveToElementText(pelm);if(rng.htmlText==prng.htmlText||rng.boundingWidth==0){if(invalidParentsRe==null||!invalidParentsRe.test(pelm.nodeName))parentElm=pelm}}}else{var felm=this.getFocusElement();if(sel.isCollapsed||(new RegExp('td|tr|tbody|table','gi').test(felm.nodeName)&&sel.anchorNode==felm.parentNode))parentElm=felm}if(parentElm&&!invalidRe.test(parentElm.nodeName)){if(scmd=="setstyle")tinyMCE.setStyleAttrib(parentElm,sname,svalue);if(scmd=="setattrib")tinyMCE.setAttrib(parentElm,sname,svalue);if(scmd=="removeformat"){parentElm.style.cssText='';tinyMCE.setAttrib(parentElm,'class','')}var ch=tinyMCE.getNodeTree(parentElm,new Array(),1);for(var z=0;z=0;i--){var elm=nodes[i];var isNew=tinyMCE.getAttrib(elm,"mce_new")=="true";elm.removeAttribute("mce_new");if(elm.childNodes&&elm.childNodes.length==1&&elm.childNodes[0].nodeType==1){this._mergeElements(scmd,elm,elm.childNodes[0],isNew);continue}if(elm.parentNode.childNodes.length==1&&!invalidRe.test(elm.nodeName)&&!invalidRe.test(elm.parentNode.nodeName)){if(invalidParentsRe==null||!invalidParentsRe.test(elm.parentNode.nodeName))this._mergeElements(scmd,elm.parentNode,elm,false)}}var nodes=doc.getElementsByTagName(wrapper);for(var i=nodes.length-1;i>=0;i--){var elm=nodes[i];var isEmpty=true;var tmp=doc.createElement("body");tmp.appendChild(elm.cloneNode(false));tmp.innerHTML=tmp.innerHTML.replace(new RegExp('style=""|class=""','gi'),'');if(new RegExp('','gi').test(tmp.innerHTML)){for(var x=0;x0){value=tinyMCE.replaceVar(value,"selection",selectedText);tinyMCE.execCommand('mceInsertContent',false,value)}tinyMCE.triggerNodeChange();break;case"mceSetAttribute":if(typeof(value)=='object'){var targetElms=(typeof(value['targets'])=="undefined")?"p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address":value['targets'];var targetNode=tinyMCE.getParentElement(this.getFocusElement(),targetElms);if(targetNode){targetNode.setAttribute(value['name'],value['value']);tinyMCE.triggerNodeChange()}}break;case"mceSetCSSClass":this.execCommand("mceSetStyleInfo",false,{command:"setattrib",name:"class",value:value});break;case"mceInsertRawHTML":var key='tiny_mce_marker';this.execCommand('mceBeginUndoLevel');this.execCommand('mceInsertContent',false,key);var scrollX=this.getBody().scrollLeft+this.getDoc().documentElement.scrollLeft;var scrollY=this.getBody().scrollTop+this.getDoc().documentElement.scrollTop;var html=this.getBody().innerHTML;if((pos=html.indexOf(key))!=-1)tinyMCE.setInnerHTML(this.getBody(),html.substring(0,pos)+value+html.substring(pos+key.length));this.contentWindow.scrollTo(scrollX,scrollY);this.execCommand('mceEndUndoLevel');break;case"mceInsertContent":if(!value)value='';var insertHTMLFailed=false;if(tinyMCE.isGecko||tinyMCE.isOpera){try{if(value.indexOf('<')==-1&&!value.match(/(&| |<|>)/g)){var r=this.getRng();var n=this.getDoc().createTextNode(tinyMCE.entityDecode(value));var s=this.getSel();var r2=r.cloneRange();s.removeAllRanges();r.deleteContents();r.insertNode(n);r2.selectNode(n);r2.collapse(false);s.removeAllRanges();s.addRange(r2)}else{value=tinyMCE.fixGeckoBaseHREFBug(1,this.getDoc(),value);this.getDoc().execCommand('inserthtml',false,value);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value)}}catch(ex){insertHTMLFailed=true}if(!insertHTMLFailed){tinyMCE.triggerNodeChange();return}}if(!tinyMCE.isIE){var isHTML=value.indexOf('<')!=-1;var sel=this.getSel();var rng=this.getRng();if(isHTML){if(tinyMCE.isSafari){var tmpRng=this.getDoc().createRange();tmpRng.setStart(this.getBody(),0);tmpRng.setEnd(this.getBody(),0);value=tmpRng.createContextualFragment(value)}else value=rng.createContextualFragment(value)}else{var el=document.createElement("div");el.innerHTML=value;value=el.firstChild.nodeValue;value=doc.createTextNode(value)}if(tinyMCE.isSafari&&!isHTML){this.execCommand('InsertText',false,value.nodeValue);tinyMCE.triggerNodeChange();return true}else if(tinyMCE.isSafari&&isHTML){rng.deleteContents();rng.insertNode(value);tinyMCE.triggerNodeChange();return true}rng.deleteContents();if(rng.startContainer.nodeType==3){var node=rng.startContainer.splitText(rng.startOffset);node.parentNode.insertBefore(value,node)}else rng.insertNode(value);if(!isHTML){sel.selectAllChildren(doc.body);sel.removeAllRanges();var rng=doc.createRange();rng.selectNode(value);rng.collapse(false);sel.addRange(rng)}else rng.collapse(false);tinyMCE.fixGeckoBaseHREFBug(2,this.getDoc(),value)}else{var rng=doc.selection.createRange(),tmpRng=null;var c=value.indexOf('"}if(hc){cn=n.childNodes;for(i=0,l=cn.length;i';return h},_serializeAttribute:function(n,r,an){var av='',t,os=this.settings.on_save;if(os&&(an.indexOf('mce_')==0||an.indexOf('_moz')==0))return'';if(os&&this.mceAttribs[an])av=this._getAttrib(n,this.mceAttribs[an]);if(av.length==0)av=this._getAttrib(n,an);if(av.length==0&&r.defaultAttribs&&(t=r.defaultAttribs[an])){av=t;if(av=="mce_empty")return" "+an+'=""'}if(r.forceAttribs&&(t=r.forceAttribs[an]))av=t;if(os&&av.length!=0&&/^(src|href|longdesc)$/.test(an))av=this._urlConverter(this,n,av);if(av.length!=0&&r.validAttribValues&&r.validAttribValues[an]&&!r.validAttribValues[an].test(av))return"";if(av.length!=0&&av=="{$uid}")av="uid_"+(this.idCount++);if(av.length!=0){if(an.indexOf('on')!=0)av=this.xmlEncode(av,1);return" "+an+"="+'"'+av+'"'}return""},formatHTML:function(h){var s=this.settings,p='',i=0,li=0,o='',l;h=h.replace(/]*)>(.*?)<\/pre>/gi,function(a,b,c){c=c.replace(//gi,'\n');return''+c+''});h=h.replace(/\r/g,'');h='\n'+h;h=h.replace(new RegExp('\\n\\s+','gi'),'\n');h=h.replace(this.nlBeforeRe,'\n<$1$2>');h=h.replace(this.nlAfterRe,'<$1$2>\n');h=h.replace(this.nlBeforeAfterRe,'\n<$1$2$3>\n');h+='\n';while((i=h.indexOf('\n',i+1))!=-1){if((l=h.substring(li+1,i)).length!=0){if(this.ouRe.test(l)&&p.length>=s.indent_levels)p=p.substring(s.indent_levels);o+=p+l+'\n';if(this.inRe.test(l))p+=this.inStr}li=i}return o},xmlEncode:function(s,skip_apos){var cl=this,re=!skip_apos?this.xmlEncodeAposRe:this.xmlEncodeRe;this._setupEntities();switch(this.settings.entity_encoding){case"raw":return tinyMCE.xmlEncode(s,skip_apos);case"named":return s.replace(re,function(c,b){b=cl.entities[c.charCodeAt(0)];return b?'&'+b+';':c});case"numeric":return s.replace(re,function(c,b){return b?'&#'+c.charCodeAt(0)+';':c})}return s},split:function(re,s){var c=s.split(re);var i,l,o=new Array();for(i=0,l=c.length;i':'>'+h+'';return o};TinyMCE_Engine.prototype.createTag=function(d,tn,a,h){var o=d.createElement(tn);if(a){for(n in a){if(typeof(a[n])!='function'&&a[n]!=null)tinyMCE.setAttrib(o,n,a[n])}}if(h)o.innerHTML=h;return o};TinyMCE_Engine.prototype.getElementByAttributeValue=function(n,e,a,v){return(n=this.getElementsByAttributeValue(n,e,a,v)).length==0?null:n[0]};TinyMCE_Engine.prototype.getElementsByAttributeValue=function(n,e,a,v){var i,nl=n.getElementsByTagName(e),o=new Array();for(i=0;i]*)>/gi,'');h=h.replace(/]*)>/gi,'');h=h.replace(/]*)>/gi,'');h=h.replace(/]*)>/gi,'');h=h.replace(/<\/strong>/gi,'');h=h.replace(/<\/em>/gi,'')}if(tinyMCE.isRealIE){h=h.replace(/\s\/>/g,'>');h=h.replace(/]*)>\u00A0?<\/p>/gi,' 

');h=h.replace(/]*)>\s* \s*<\/p>/gi,' 

');h=h.replace(/]*)>\s+<\/p>/gi,' 

');e.innerHTML=tinyMCE.uniqueTag+h;e.firstChild.removeNode(true);nl=e.getElementsByTagName("p");for(i=nl.length-1;i>=0;i--){n=nl[i];if(n.nodeName=='P'&&!n.hasChildNodes()&&!n.mce_keep)n.parentNode.removeChild(n)}}else{h=this.fixGeckoBaseHREFBug(1,e,h);e.innerHTML=h;this.fixGeckoBaseHREFBug(2,e,h)}};TinyMCE_Engine.prototype.getOuterHTML=function(e){if(tinyMCE.isIE)return e.outerHTML;var d=e.ownerDocument.createElement("body");d.appendChild(e.cloneNode(true));return d.innerHTML};TinyMCE_Engine.prototype.setOuterHTML=function(e,h,d){var d=typeof(d)=="undefined"?e.ownerDocument:d,i,nl,t;if(tinyMCE.isIE&&e.nodeType==1)e.outerHTML=h;else{t=d.createElement("body");t.innerHTML=h;for(i=0,nl=t.childNodes;i-1;i--){if(ar[i].specified&&ar[i].nodeValue)ne.setAttribute(ar[i].nodeName.toLowerCase(),ar[i].nodeValue)}ar=e.childNodes;for(i=0;i=strTok2.length){for(var i=0;i=strTok2.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break}}}if(strTok1.length=strTok1.length||strTok1[i]!=strTok2[i]){breakPoint=i+1;break}}}if(breakPoint==1)return targetURL.path;for(var i=0;i<(strTok1.length-(breakPoint-1));i++)outPath+="../";for(var i=breakPoint-1;i=0;i--){if(baseURLParts[i].length==0)continue;newBaseURLParts[newBaseURLParts.length]=baseURLParts[i]}baseURLParts=newBaseURLParts.reverse();var newRelURLParts=new Array();var numBack=0;for(var i=relURLParts.length-1;i>=0;i--){if(relURLParts[i].length==0||relURLParts[i]==".")continue;if(relURLParts[i]=='..'){numBack++;continue}if(numBack>0){numBack--;continue}newRelURLParts[newRelURLParts.length]=relURLParts[i]}relURLParts=newRelURLParts.reverse();var len=baseURLParts.length-numBack;var absPath=(len<=0?"":"/")+baseURLParts.slice(0,len).join('/')+"/"+relURLParts.join('/');var start="",end="";relURL.protocol=baseURL.protocol;relURL.host=baseURL.host;relURL.port=baseURL.port;if(relURL.path.charAt(relURL.path.length-1)=="/")absPath+="/";relURL.path=absPath;return this.serializeURL(relURL)};TinyMCE_Engine.prototype.convertURL=function(url,node,on_save){var prot=document.location.protocol;var host=document.location.hostname;var port=document.location.port;if(prot=="file:")return url;url=tinyMCE.regexpReplace(url,'(http|https):///','/');if(url.indexOf('mailto:')!=-1||url.indexOf('javascript:')!=-1||tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0)=="#")return url;if(!tinyMCE.isIE&&!on_save&&url.indexOf("://")==-1&&url.charAt(0)!='/')return tinyMCE.settings['base_href']+url;if(on_save&&tinyMCE.getParam('relative_urls')){var curl=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(curl.charAt(0)=='/')curl=tinyMCE.settings['document_base_prefix']+curl;var urlParts=tinyMCE.parseURL(curl);var tmpUrlParts=tinyMCE.parseURL(tinyMCE.settings['document_base_url']);if(urlParts['host']==tmpUrlParts['host']&&(urlParts['port']==tmpUrlParts['port']))return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'],curl)}if(!tinyMCE.getParam('relative_urls')){var urlParts=tinyMCE.parseURL(url);var baseUrlParts=tinyMCE.parseURL(tinyMCE.settings['base_href']);url=tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'],url);if(urlParts['anchor']&&urlParts['path']==baseUrlParts['path'])return"#"+urlParts['anchor']}if(tinyMCE.getParam('remove_script_host')){var start="",portPart="";if(port!="")portPart=":"+port;start=prot+"//"+host+portPart+"/";if(url.indexOf(start)==0)url=url.substring(start.length-1)}return url};TinyMCE_Engine.prototype.convertAllRelativeURLs=function(body){var i,elms,src,href,mhref,msrc;elms=body.getElementsByTagName("img");for(i=0;ibookmark.index){try{rng.addElement(nl[bookmark.index])}catch(ex){}}}else{try{if(bookmark.start<0)return true;rng=inst.getSel().createRange();rng.moveToElementText(inst.getBody());rng.collapse(true);rng.moveStart('character',bookmark.start);rng.moveEnd('character',bookmark.length)}catch(ex){return true}}rng.select();win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true}if(tinyMCE.isGecko||tinyMCE.isOpera){if(!sel)return false;if(bookmark.rng){sel.removeAllRanges();sel.addRange(bookmark.rng)}if(bookmark.start!=-1&&bookmark.end!=-1){try{sd=this._getTextPos(b,bookmark.start,bookmark.end);rng=doc.createRange();rng.setStart(sd.startNode,sd.startOffset);rng.setEnd(sd.endNode,sd.endOffset);sel.removeAllRanges();sel.addRange(rng);win.focus()}catch(ex){}}win.scrollTo(bookmark.scrollX,bookmark.scrollY);return true}return false},_getPosText:function(r,sn,en){var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};while((n=w.nextNode())!=null){if(n==sn)d.start=p;if(n==en){d.end=p;return d}p+=n.nodeValue?n.nodeValue.length:0}return null},_getTextPos:function(r,sp,ep){var w=document.createTreeWalker(r,NodeFilter.SHOW_TEXT,null,false),n,p=0,d={};while((n=w.nextNode())!=null){p+=n.nodeValue?n.nodeValue.length:0;if(p>=sp&&!d.startNode){d.startNode=n;d.startOffset=sp-(p-n.nodeValue.length)}if(p>=ep){d.endNode=n;d.endOffset=ep-(p-n.nodeValue.length);return d}}return null},selectNode:function(node,collapse,select_text_node,to_start){var inst=this.instance,sel,rng,nodes;if(!node)return;if(typeof(collapse)=="undefined")collapse=true;if(typeof(select_text_node)=="undefined")select_text_node=false;if(typeof(to_start)=="undefined")to_start=true;if(inst.settings.auto_resize)inst.resizeToContent();if(tinyMCE.isRealIE){rng=inst.getDoc().body.createTextRange();try{rng.moveToElementText(node);if(collapse)rng.collapse(to_start);rng.select()}catch(e){}}else{sel=this.getSel();if(!sel)return;if(tinyMCE.isSafari){sel.setBaseAndExtent(node,0,node,node.innerText.length);if(collapse){if(to_start)sel.collapseToStart();else sel.collapseToEnd()}this.scrollToNode(node);return}rng=inst.getDoc().createRange();if(select_text_node){nodes=tinyMCE.getNodeTree(node,new Array(),3);if(nodes.length>0)rng.selectNodeContents(nodes[0]);else rng.selectNodeContents(node)}else rng.selectNode(node);if(collapse){if(!to_start&&node.nodeType==3){rng.setStart(node,node.nodeValue.length);rng.setEnd(node,node.nodeValue.length)}else rng.collapse(to_start)}sel.removeAllRanges();sel.addRange(rng)}this.scrollToNode(node);tinyMCE.selectedElement=null;if(node.nodeType==1)tinyMCE.selectedElement=node},scrollToNode:function(node){var inst=this.instance,w=inst.getWin(),vp=inst.getViewPort(),pos=tinyMCE.getAbsPosition(node),cvp,p,cwin;if(pos.absLeftvp.left+vp.width||pos.absTopvp.top+(vp.height-25))w.scrollTo(pos.absLeft,pos.absTop-vp.height+25);if(inst.settings.auto_resize){cwin=inst.getContainerWin();cvp=tinyMCE.getViewPort(cwin);p=this.getAbsPosition(node);if(p.absLeftcvp.left+cvp.width||p.absTopcvp.top+cvp.height)cwin.scrollTo(p.absLeft,p.absTop-cvp.height+25)}},getAbsPosition:function(n){var pos=tinyMCE.getAbsPosition(n),ipos=tinyMCE.getAbsPosition(this.instance.iframeElement);return{absLeft:ipos.absLeft+pos.absLeft,absTop:ipos.absTop+pos.absTop}},getSel:function(){var inst=this.instance;if(tinyMCE.isRealIE)return inst.getDoc().selection;return inst.contentWindow.getSelection()},getRng:function(){var s=this.getSel();if(s==null)return null;if(tinyMCE.isRealIE)return s.createRange();if(tinyMCE.isSafari&&!s.getRangeAt)return''+window.getSelection();if(s.rangeCount>0)return s.getRangeAt(0);return null},isCollapsed:function(){var r=this.getRng();if(r.item)return false;return r.boundingWidth==0||this.getSel().isCollapsed},collapse:function(b){var r=this.getRng(),s=this.getSel();if(r.select){r.collapse(b);r.select()}else{if(b)s.collapseToStart();else s.collapseToEnd()}},getFocusElement:function(){var inst=this.instance,doc,rng,sel,elm;if(tinyMCE.isRealIE){doc=inst.getDoc();rng=doc.selection.createRange();elm=rng.item?rng.item(0):rng.parentElement()}else{if(!tinyMCE.isSafari&&inst.isHidden())return inst.getBody();sel=this.getSel();rng=this.getRng();if(!sel||!rng)return null;elm=rng.commonAncestorContainer;if(!rng.collapsed){if(rng.startContainer==rng.endContainer){if(rng.startOffset-rng.endOffset<2){if(rng.startContainer.hasChildNodes())elm=rng.startContainer.childNodes[rng.startOffset]}}}elm=tinyMCE.getParentElement(elm);}return elm}};function TinyMCE_UndoRedo(inst){this.instance=inst;this.undoLevels=new Array();this.undoIndex=0;this.typingUndoIndex=-1;this.undoRedo=true};TinyMCE_UndoRedo.prototype={add:function(l){var b,customUndoLevels,newHTML,inst=this.instance,i,ul,ur;if(l){this.undoLevels[this.undoLevels.length]=l;return true}if(this.typingUndoIndex!=-1){this.undoIndex=this.typingUndoIndex;if(tinyMCE.typingUndoIndex!=-1)tinyMCE.undoIndex=tinyMCE.typingUndoIndex}newHTML=tinyMCE.trim(inst.getBody().innerHTML);if(this.undoLevels[this.undoIndex]&&newHTML!=this.undoLevels[this.undoIndex].content){tinyMCE.dispatchCallback(inst,'onchange_callback','onChange',inst);customUndoLevels=tinyMCE.settings['custom_undo_redo_levels'];if(customUndoLevels!=-1&&this.undoLevels.length>customUndoLevels){for(i=0;i0){this.undoIndex--;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark)}},redo:function(){var inst=this.instance;tinyMCE.execCommand("mceEndTyping");if(this.undoIndex<(this.undoLevels.length-1)){this.undoIndex++;tinyMCE.setInnerHTML(inst.getBody(),this.undoLevels[this.undoIndex].content);inst.repaint();if(inst.settings.custom_undo_redo_restore_selection)inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark)}tinyMCE.triggerNodeChange()}};var TinyMCE_ForceParagraphs={_insertPara:function(inst,e){var doc=inst.getDoc(),sel=inst.getSel(),body=inst.getBody(),win=inst.contentWindow,rng=sel.getRangeAt(0);var rootElm=doc.documentElement,blockName="P",startNode,endNode,startBlock,endBlock;var rngBefore,rngAfter,direct,startNode,startOffset,endNode,endOffset,b=tinyMCE.isOpera?inst.selection.getBookmark():null;var paraBefore,paraAfter,startChop,endChop,contents;function isEmpty(para){function isEmptyHTML(html){return html.replace(new RegExp('[ \t\r\n]+','g'),'').toLowerCase()==""}if(para.getElementsByTagName("img").length>0)return false;if(para.getElementsByTagName("table").length>0)return false;if(para.getElementsByTagName("hr").length>0)return false;var nodes=tinyMCE.getNodeTree(para,new Array(),3);for(var i=0;i <"+blockName+"> ";paraAfter=body.childNodes[1]}inst.selection.moveToBookmark(b);inst.selection.selectNode(paraAfter,true,true);return true}if(startChop.nodeName==blockName)rngBefore.setStart(startChop,0);else rngBefore.setStartBefore(startChop);rngBefore.setEnd(startNode,startOffset);paraBefore.appendChild(rngBefore.cloneContents());rngAfter.setEndAfter(endChop);rngAfter.setStart(endNode,endOffset);contents=rngAfter.cloneContents();if(contents.firstChild&&contents.firstChild.nodeName==blockName){paraAfter.innerHTML=contents.firstChild.innerHTML}else paraAfter.appendChild(contents);if(isEmpty(paraBefore))paraBefore.innerHTML=" ";if(isEmpty(paraAfter))paraAfter.innerHTML=" ";rng=doc.createRange();if(!startChop.previousSibling&&startChop.parentNode.nodeName.toUpperCase()==blockName){rng.setStartBefore(startChop.parentNode)}else{if(rngBefore.startContainer.nodeName.toUpperCase()==blockName&&rngBefore.startOffset==0)rng.setStartBefore(rngBefore.startContainer);else rng.setStart(rngBefore.startContainer,rngBefore.startOffset)}if(!endChop.nextSibling&&endChop.parentNode.nodeName.toUpperCase()==blockName)rng.setEndAfter(endChop.parentNode);else rng.setEnd(rngAfter.endContainer,rngAfter.endOffset);rng.deleteContents();if(tinyMCE.isOpera){rng.insertNode(paraBefore);rng.insertNode(paraAfter)}else{rng.insertNode(paraAfter);rng.insertNode(paraBefore)}paraAfter.normalize();paraBefore.normalize();inst.selection.moveToBookmark(b);inst.selection.selectNode(paraAfter,true,true);return true},_handleBackSpace:function(inst){var r=inst.getRng(),sn=r.startContainer,nv,s=false;if(sn&&sn.nextSibling&&sn.nextSibling.nodeName=="BR"&&sn.parentNode.nodeName!="BODY"){nv=sn.nodeValue;if(nv!=null&&r.startOffset==nv.length)sn.nextSibling.parentNode.removeChild(sn.nextSibling)}if(inst.settings.auto_resize)inst.resizeToContent();return s}};function TinyMCE_Layer(id,bm){this.id=id;this.blockerElement=null;this.events=false;this.element=null;this.blockMode=typeof(bm)!='undefined'?bm:true;this.doc=document};TinyMCE_Layer.prototype={moveRelativeTo:function(re,p){var rep=this.getAbsPosition(re);var w=parseInt(re.offsetWidth);var h=parseInt(re.offsetHeight);var e=this.getElement();var ew=parseInt(e.offsetWidth);var eh=parseInt(e.offsetHeight);var x,y;switch(p){case"tl":x=rep.absLeft;y=rep.absTop;break;case"tr":x=rep.absLeft+w;y=rep.absTop;break;case"bl":x=rep.absLeft;y=rep.absTop+h;break;case"br":x=rep.absLeft+w;y=rep.absTop+h;break;case"cc":x=rep.absLeft+(w/ 2) - (ew /2);y=rep.absTop+(h/ 2) - (eh /2);break}this.moveTo(x,y)},moveBy:function(x,y){var e=this.getElement();this.moveTo(parseInt(e.style.left)+x,parseInt(e.style.top)+y)},moveTo:function(x,y){var e=this.getElement();e.style.left=x+"px";e.style.top=y+"px";this.updateBlocker()},resizeBy:function(w,h){var e=this.getElement();this.resizeTo(parseInt(e.style.width)+w,parseInt(e.style.height)+h)},resizeTo:function(w,h){var e=this.getElement();if(w!=null)e.style.width=w+"px";if(h!=null)e.style.height=h+"px";this.updateBlocker()},show:function(){var el=this.getElement();if(el){el.style.display='block';this.updateBlocker()}},hide:function(){var el=this.getElement();if(el){el.style.display='none';this.updateBlocker()}},isVisible:function(){return this.getElement().style.display=='block'},getElement:function(){if(!this.element)this.element=this.doc.getElementById(this.id);return this.element},setBlockMode:function(s){this.blockMode=s},updateBlocker:function(){var e,b,x,y,w,h;b=this.getBlocker();if(b){if(this.blockMode){e=this.getElement();x=this.parseInt(e.style.left);y=this.parseInt(e.style.top);w=this.parseInt(e.offsetWidth);h=this.parseInt(e.offsetHeight);b.style.left=x+'px';b.style.top=y+'px';b.style.width=w+'px';b.style.height=h+'px';b.style.display=e.style.display}else b.style.display='none'}},getBlocker:function(){var d,b;if(!this.blockerElement&&this.blockMode){d=this.doc;b=d.getElementById(this.id+"_blocker");if(!b){b=d.createElement("iframe");b.setAttribute('id',this.id+"_blocker");b.style.cssText='display: none; position: absolute; left: 0; top: 0';b.src='javascript:false;';b.frameBorder='0';b.scrolling='no';d.body.appendChild(b)}this.blockerElement=b}return this.blockerElement},getAbsPosition:function(n){var p={absLeft:0,absTop:0};while(n){p.absLeft+=n.offsetLeft;p.absTop+=n.offsetTop;n=n.offsetParent}return p},create:function(n,c,p,h){var d=this.doc,e=d.createElement(n);e.setAttribute('id',this.id);if(c)e.className=c;if(!p)p=d.body;if(h)e.innerHTML=h;p.appendChild(e);return this.element=e},exists:function(){return this.doc.getElementById(this.id)!=null},parseInt:function(s){if(s==null||s=='')return 0;return parseInt(s)},remove:function(){var e=this.getElement(),b=this.getBlocker();if(e)e.parentNode.removeChild(e);if(b)b.parentNode.removeChild(b)}};function TinyMCE_Menu(){var id;if(typeof(tinyMCE.menuCounter)=="undefined")tinyMCE.menuCounter=0;id="mc_menu_"+tinyMCE.menuCounter++;TinyMCE_Layer.call(this,id,true);this.id=id;this.items=new Array();this.needsUpdate=true};TinyMCE_Menu.prototype=tinyMCE.extend(TinyMCE_Layer.prototype,{init:function(s){var n;this.settings={separator_class:'mceMenuSeparator',title_class:'mceMenuTitle',disabled_class:'mceMenuDisabled',menu_class:'mceMenu',drop_menu:true};for(n in s)this.settings[n]=s[n];this.create('div',this.settings.menu_class)},clear:function(){this.items=new Array()},addTitle:function(t){this.add({type:'title',text:t})},addDisabled:function(t){this.add({type:'disabled',text:t})},addSeparator:function(){this.add({type:'separator'})},addItem:function(t,js){this.add({text:t,js:js})},add:function(mi){this.items[this.items.length]=mi;this.needsUpdate=true},update:function(){var e=this.getElement(),h='',i,t,m=this.items,s=this.settings;if(this.settings.drop_menu)h+='';h+='';for(i=0;i'}h+='
';break;case'title':h+='
'+t+'';break;case'disabled':h+='
'+t+'';break;default:h+='
'+t+''}h+='
';e.innerHTML=h;this.needsUpdate=false;this.updateBlocker()},show:function(){var nl,i;if(tinyMCE.lastMenu==this)return;if(this.needsUpdate)this.update();if(tinyMCE.lastMenu&&tinyMCE.lastMenu!=this)tinyMCE.lastMenu.hide();TinyMCE_Layer.prototype.show.call(this);if(!tinyMCE.isOpera){}tinyMCE.lastMenu=this}});if(!Function.prototype.call){Function.prototype.call=function(){var a=arguments,s=a[0],i,as='',r,o;for(i=1;i1?',':'')+'a['+i+']';o=s._fu;s._fu=this;r=eval('s._fu('+as+')');s._fu=o;return r}};TinyMCE_Engine.prototype.debug=function(){var m="",a,i,l=tinyMCE.log.length;for(i=0,a=this.debug.arguments;i'); - - if (tinyMCE.getParam("popups_css_add")) { - c = tinyMCE.getParam("popups_css_add"); - - // Is relative - if (c.indexOf('://') == -1 && c.charAt(0) != '/') - c = tinyMCE.documentBasePath + "/" + c; - - document.write(''); - } - - tinyMCE.addEvent(window, "load", this.onLoad); - }, - - onLoad : function() { - var dir, i, elms, body = document.body; - - if (tinyMCE.getWindowArg('mce_replacevariables', true)) - body.innerHTML = tinyMCE.applyTemplate(body.innerHTML, tinyMCE.windowArgs); - - dir = tinyMCE.selectedInstance.settings['directionality']; - if (dir == "rtl" && document.forms && document.forms.length > 0) { - elms = document.forms[0].elements; - for (i=0; i=0; i--) { - if (wrapper.hasChildNodes()) - wrapper.insertBefore(nodes[i].cloneNode(true), wrapper.firstChild); - else - wrapper.appendChild(nodes[i].cloneNode(true)); - - nodes[i].parentNode.removeChild(nodes[i]); - } - - // Add wrapper - doc.body.appendChild(wrapper); - - // Create iframe - iframe = document.createElement("iframe"); - iframe.id = "mcWinIframe"; - iframe.src = document.location.href.toLowerCase().indexOf('https') == -1 ? "about:blank" : tinyMCE.settings['default_document']; - iframe.width = "100%"; - iframe.height = "100%"; - iframe.style.margin = '0'; - - // Add iframe - doc.body.appendChild(iframe); - - // Measure iframe - iframe = document.getElementById('mcWinIframe'); - dx = tinyMCE.getWindowArg('mce_width') - iframe.clientWidth; - dy = tinyMCE.getWindowArg('mce_height') - iframe.clientHeight; - - // Resize window - // tinyMCE.debug(tinyMCE.getWindowArg('mce_width') + "," + tinyMCE.getWindowArg('mce_height') + " - " + dx + "," + dy); - window.resizeBy(dx, dy); - - // Hide iframe and show wrapper - body.style.margin = oldMargin; - iframe.style.display = 'none'; - wrapper.style.display = 'block'; - } - }, - - resizeToContent : function() { - var isMSIE = (navigator.appName == "Microsoft Internet Explorer"); - var isOpera = (navigator.userAgent.indexOf("Opera") != -1); - - if (isOpera) - return; - - if (isMSIE) { - try { window.resizeTo(10, 10); } catch (e) {} - - var elm = document.body; - var width = elm.offsetWidth; - var height = elm.offsetHeight; - var dx = (elm.scrollWidth - width) + 4; - var dy = elm.scrollHeight - height; - - try { window.resizeBy(dx, dy); } catch (e) {} - } else { - window.scrollBy(1000, 1000); - if (window.scrollX > 0 || window.scrollY > 0) { - window.resizeBy(window.innerWidth * 2, window.innerHeight * 2); - window.sizeToContent(); - window.scrollTo(0, 0); - var x = parseInt(screen.width / 2.0) - (window.outerWidth / 2.0); - var y = parseInt(screen.height / 2.0) - (window.outerHeight / 2.0); - window.moveTo(x, y); - } - } - }, - - getWindowArg : function(name, default_value) { - return tinyMCE.getWindowArg(name, default_value); - }, - - restoreSelection : function() { - if (this.storeSelection) { - var inst = tinyMCE.selectedInstance; - - inst.getWin().focus(); - - if (inst.selectionBookmark) - inst.selection.moveToBookmark(inst.selectionBookmark); - } - }, - - execCommand : function(command, user_interface, value) { - var inst = tinyMCE.selectedInstance; - - this.restoreSelection(); - inst.execCommand(command, user_interface, value); - - // Store selection - if (this.storeSelection) - inst.selectionBookmark = inst.selection.getBookmark(true); - }, - - close : function() { - tinyMCE.closeWindow(window); - }, - - pickColor : function(e, element_id) { - tinyMCE.selectedInstance.execCommand('mceColorPicker', true, { - element_id : element_id, - document : document, - window : window, - store_selection : false - }); - }, - - openBrowser : function(element_id, type, option) { - var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback")); - var url = document.getElementById(element_id).value; - - tinyMCE.setWindowArg("window", window); - tinyMCE.setWindowArg("document", document); - - // Call to external callback - if (eval('typeof(tinyMCEPopup.windowOpener.' + cb + ')') == "undefined") - alert("Callback function: " + cb + " could not be found."); - else - eval("tinyMCEPopup.windowOpener." + cb + "(element_id, url, type, window);"); - }, - - importClass : function(c) { - window[c] = function() {}; - - for (var n in window.opener[c].prototype) - window[c].prototype[n] = window.opener[c].prototype[n]; - - window[c].constructor = window.opener[c].constructor; - } - - }; - -// Setup global instance -var tinyMCEPopup = new TinyMCE_Popup(); - -tinyMCEPopup.init(); diff --git a/program/js/tiny_mce/tiny_mce_src.js b/program/js/tiny_mce/tiny_mce_src.js deleted file mode 100644 index 9f8de6e12..000000000 --- a/program/js/tiny_mce/tiny_mce_src.js +++ /dev/null @@ -1,7492 +0,0 @@ - -/* file:jscripts/tiny_mce/classes/TinyMCE_Engine.class.js */ - -function TinyMCE_Engine() { - var ua; - - this.majorVersion = "2"; - this.minorVersion = "1.0"; - this.releaseDate = "2007-02-13"; - - this.instances = new Array(); - this.switchClassCache = new Array(); - this.windowArgs = new Array(); - this.loadedFiles = new Array(); - this.pendingFiles = new Array(); - this.loadingIndex = 0; - this.configs = new Array(); - this.currentConfig = 0; - this.eventHandlers = new Array(); - this.log = new Array(); - this.undoLevels = []; - this.undoIndex = 0; - this.typingUndoIndex = -1; - - // Browser check - ua = navigator.userAgent; - this.isMSIE = (navigator.appName == "Microsoft Internet Explorer"); - this.isMSIE5 = this.isMSIE && (ua.indexOf('MSIE 5') != -1); - this.isMSIE5_0 = this.isMSIE && (ua.indexOf('MSIE 5.0') != -1); - this.isMSIE7 = this.isMSIE && (ua.indexOf('MSIE 7') != -1); - this.isGecko = ua.indexOf('Gecko') != -1; - this.isSafari = ua.indexOf('Safari') != -1; - this.isOpera = ua.indexOf('Opera') != -1; - this.isMac = ua.indexOf('Mac') != -1; - this.isNS7 = ua.indexOf('Netscape/7') != -1; - this.isNS71 = ua.indexOf('Netscape/7.1') != -1; - this.dialogCounter = 0; - this.plugins = new Array(); - this.themes = new Array(); - this.menus = new Array(); - this.loadedPlugins = new Array(); - this.buttonMap = new Array(); - this.isLoaded = false; - - // Fake MSIE on Opera and if Opera fakes IE, Gecko or Safari cancel those - if (this.isOpera) { - this.isMSIE = true; - this.isGecko = false; - this.isSafari = false; - } - - this.isIE = this.isMSIE; - this.isRealIE = this.isMSIE && !this.isOpera; - - // TinyMCE editor id instance counter - this.idCounter = 0; -}; - -TinyMCE_Engine.prototype = { - init : function(settings) { - var theme, nl, baseHREF = "", i; - - // IE 5.0x is no longer supported since 5.5, 6.0 and 7.0 now exists. We can't support old browsers forever, sorry. - if (this.isMSIE5_0) - return; - - this.settings = settings; - - // Check if valid browser has execcommand support - if (typeof(document.execCommand) == 'undefined') - return; - - // Get script base path - if (!tinyMCE.baseURL) { - var elements = document.getElementsByTagName('script'); - - // If base element found, add that infront of baseURL - nl = document.getElementsByTagName('base'); - for (i=0; i'); - this._def("font_size_classes", ''); - this._def("font_size_style_values", 'xx-small,x-small,small,medium,large,x-large,xx-large', true); - this._def("event_elements", 'a,img', true); - this._def("convert_urls", true); - this._def("table_inline_editing", false); - this._def("object_resizing", true); - this._def("custom_shortcuts", true); - this._def("convert_on_click", false); - this._def("content_css", ''); - this._def("fix_list_elements", true); - this._def("fix_table_elements", false); - this._def("strict_loading_mode", document.contentType == 'application/xhtml+xml'); - this._def("hidden_tab_class", ''); - this._def("display_tab_class", ''); - this._def("gecko_spellcheck", false); - this._def("hide_selects_on_submit", true); - - // Force strict loading mode to false on non Gecko browsers - if (this.isMSIE && !this.isOpera) - this.settings.strict_loading_mode = false; - - // Browser check IE - if (this.isMSIE && this.settings['browsers'].indexOf('msie') == -1) - return; - - // Browser check Gecko - if (this.isGecko && this.settings['browsers'].indexOf('gecko') == -1) - return; - - // Browser check Safari - if (this.isSafari && this.settings['browsers'].indexOf('safari') == -1) - return; - - // Browser check Opera - if (this.isOpera && this.settings['browsers'].indexOf('opera') == -1) - return; - - // If not super absolute make it so - baseHREF = tinyMCE.settings['document_base_url']; - var h = document.location.href; - var p = h.indexOf('://'); - if (p > 0 && document.location.protocol != "file:") { - p = h.indexOf('/', p + 3); - h = h.substring(0, p); - - if (baseHREF.indexOf('://') == -1) - baseHREF = h + baseHREF; - - tinyMCE.settings['document_base_url'] = baseHREF; - tinyMCE.settings['document_base_prefix'] = h; - } - - // Trim away query part - if (baseHREF.indexOf('?') != -1) - baseHREF = baseHREF.substring(0, baseHREF.indexOf('?')); - - this.settings['base_href'] = baseHREF.substring(0, baseHREF.lastIndexOf('/')) + "/"; - - theme = this.settings['theme']; - this.inlineStrict = 'A|BR|SPAN|BDO|MAP|OBJECT|IMG|TT|I|B|BIG|SMALL|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|#text|#comment'; - this.inlineTransitional = 'A|BR|SPAN|BDO|OBJECT|APPLET|IMG|MAP|IFRAME|TT|I|B|U|S|STRIKE|BIG|SMALL|FONT|BASEFONT|EM|STRONG|DFN|CODE|Q|SAMP|KBD|VAR|CITE|ABBR|ACRONYM|SUB|SUP|INPUT|SELECT|TEXTAREA|LABEL|BUTTON|#text|#comment'; - this.blockElms = 'H[1-6]|P|DIV|ADDRESS|PRE|FORM|TABLE|LI|OL|UL|TD|BLOCKQUOTE|CENTER|DL|DT|DD|DIR|FIELDSET|FORM|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP'; - this.blockRegExp = new RegExp("^(" + this.blockElms + ")$", "i"); - this.posKeyCodes = new Array(13,45,36,35,33,34,37,38,39,40); - this.uniqueURL = 'javascript:void(091039730);'; // Make unique URL non real URL - this.uniqueTag = ''; - this.callbacks = new Array('onInit', 'getInfo', 'getEditorTemplate', 'setupContent', 'onChange', 'onPageLoad', 'handleNodeChange', 'initInstance', 'execCommand', 'getControlHTML', 'handleEvent', 'cleanup', 'removeInstance'); - - // Theme url - this.settings['theme_href'] = tinyMCE.baseURL + "/themes/" + theme; - - if (!tinyMCE.isIE || tinyMCE.isOpera) - this.settings['force_br_newlines'] = false; - - if (tinyMCE.getParam("popups_css", false)) { - var cssPath = tinyMCE.getParam("popups_css", ""); - - // Is relative - if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/') - this.settings['popups_css'] = this.documentBasePath + "/" + cssPath; - else - this.settings['popups_css'] = cssPath; - } else - this.settings['popups_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_popup.css"; - - if (tinyMCE.getParam("editor_css", false)) { - var cssPath = tinyMCE.getParam("editor_css", ""); - - // Is relative - if (cssPath.indexOf('://') == -1 && cssPath.charAt(0) != '/') - this.settings['editor_css'] = this.documentBasePath + "/" + cssPath; - else - this.settings['editor_css'] = cssPath; - } else { - if (this.settings.editor_css != '') - this.settings['editor_css'] = tinyMCE.baseURL + "/themes/" + theme + "/css/editor_ui.css"; - } - - if (tinyMCE.settings['debug']) { - var msg = "Debug: \n"; - - msg += "baseURL: " + this.baseURL + "\n"; - msg += "documentBasePath: " + this.documentBasePath + "\n"; - msg += "content_css: " + this.settings['content_css'] + "\n"; - msg += "popups_css: " + this.settings['popups_css'] + "\n"; - msg += "editor_css: " + this.settings['editor_css'] + "\n"; - - alert(msg); - } - - // Only do this once - if (this.configs.length == 0) { - if (typeof(TinyMCECompressed) == "undefined") { - tinyMCE.addEvent(window, "DOMContentLoaded", TinyMCE_Engine.prototype.onLoad); - - if (tinyMCE.isRealIE) { - if (document.body) - tinyMCE.addEvent(document.body, "readystatechange", TinyMCE_Engine.prototype.onLoad); - else - tinyMCE.addEvent(document, "readystatechange", TinyMCE_Engine.prototype.onLoad); - } - - tinyMCE.addEvent(window, "load", TinyMCE_Engine.prototype.onLoad); - tinyMCE._addUnloadEvents(); - } - } - - this.loadScript(tinyMCE.baseURL + '/themes/' + this.settings['theme'] + '/editor_template' + tinyMCE.srcMode + '.js'); - this.loadScript(tinyMCE.baseURL + '/langs/' + this.settings['language'] + '.js'); - this.loadCSS(this.settings['editor_css']); - - // Add plugins - var p = tinyMCE.getParam('plugins', '', true, ','); - if (p.length > 0) { - for (var i=0; i&"\']', 'g'); - this.xmlEncodeRe = new RegExp('[<>&"]', 'g'); -// this.xmlEncodeEnts = {'&':'&','"':'"',"'":''','<':'<','>':'>'}; - }, - - _addUnloadEvents : function() { - if (tinyMCE.isIE) { - if (tinyMCE.settings['add_unload_trigger']) { - tinyMCE.addEvent(window, "unload", TinyMCE_Engine.prototype.unloadHandler); - tinyMCE.addEvent(window.document, "beforeunload", TinyMCE_Engine.prototype.unloadHandler); - } - } else { - if (tinyMCE.settings['add_unload_trigger']) - tinyMCE.addEvent(window, "unload", function () {tinyMCE.triggerSave(true, true);}); - } - }, - - _def : function(key, def_val, t) { - var v = tinyMCE.getParam(key, def_val); - - v = t ? v.replace(/\s+/g, "") : v; - - this.settings[key] = v; - }, - - hasPlugin : function(n) { - return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null; - }, - - addPlugin : function(n, p) { - var op = this.plugins[n]; - - // Use the previous plugin object base URL used when loading external plugins - p.baseURL = op ? op.baseURL : tinyMCE.baseURL + "/plugins/" + n; - this.plugins[n] = p; - - this.loadNextScript(); - }, - - setPluginBaseURL : function(n, u) { - var op = this.plugins[n]; - - if (op) - op.baseURL = u; - else - this.plugins[n] = {baseURL : u}; - }, - - loadPlugin : function(n, u) { - u = u.indexOf('.js') != -1 ? u.substring(0, u.lastIndexOf('/')) : u; - u = u.charAt(u.length-1) == '/' ? u.substring(0, u.length-1) : u; - this.plugins[n] = {baseURL : u}; - this.loadScript(u + "/editor_plugin" + (tinyMCE.srcMode ? '_src' : '') + ".js"); - }, - - hasTheme : function(n) { - return typeof(this.themes[n]) != "undefined" && this.themes[n] != null; - }, - - addTheme : function(n, t) { - this.themes[n] = t; - - this.loadNextScript(); - }, - - addMenu : function(n, m) { - this.menus[n] = m; - }, - - hasMenu : function(n) { - return typeof(this.plugins[n]) != "undefined" && this.plugins[n] != null; - }, - - loadScript : function(url) { - var i; - - for (i=0; i'); - - this.loadedFiles[this.loadedFiles.length] = url; - }, - - loadNextScript : function() { - var d = document, se; - - if (!tinyMCE.settings.strict_loading_mode) - return; - - if (this.loadingIndex < this.pendingFiles.length) { - se = d.createElementNS('http://www.w3.org/1999/xhtml', 'script'); - se.setAttribute('language', 'javascript'); - se.setAttribute('type', 'text/javascript'); - se.setAttribute('src', this.pendingFiles[this.loadingIndex++]); - - d.getElementsByTagName("head")[0].appendChild(se); - } else - this.loadingIndex = -1; // Done with loading - }, - - loadCSS : function(url) { - var ar = url.replace(/\s+/, '').split(','); - var lflen = 0, csslen = 0; - var skip = false; - var x = 0, i = 0, nl, le; - - for (x = 0,csslen = ar.length; x 0) { - /* Make sure it doesn't exist. */ - for (i=0, lflen=this.loadedFiles.length; i'); - - this.loadedFiles[this.loadedFiles.length] = ar[x]; - } - } - } - }, - - importCSS : function(doc, css) { - var css_ary = css.replace(/\s+/, '').split(','); - var csslen, elm, headArr, x, css_file; - - for (x = 0, csslen = css_ary.length; x 0) { - // Is relative, make absolute - if (css_file.indexOf('://') == -1 && css_file.charAt(0) != '/') - css_file = this.documentBasePath + "/" + css_file; - - if (typeof(doc.createStyleSheet) == "undefined") { - elm = doc.createElement("link"); - - elm.rel = "stylesheet"; - elm.href = css_file; - - if ((headArr = doc.getElementsByTagName("head")) != null && headArr.length > 0) - headArr[0].appendChild(elm); - } else - doc.createStyleSheet(css_file); - } - } - }, - - confirmAdd : function(e, settings) { - var elm = tinyMCE.isIE ? event.srcElement : e.target; - var elementId = elm.name ? elm.name : elm.id; - - tinyMCE.settings = settings; - - if (tinyMCE.settings['convert_on_click'] || (!elm.getAttribute('mce_noask') && confirm(tinyMCELang['lang_edit_confirm']))) - tinyMCE.addMCEControl(elm, elementId); - - elm.setAttribute('mce_noask', 'true'); - }, - - updateContent : function(form_element_name) { - // Find MCE instance linked to given form element and copy it's value - var formElement = document.getElementById(form_element_name); - for (var n in tinyMCE.instances) { - var inst = tinyMCE.instances[n]; - if (!tinyMCE.isInstance(inst)) - continue; - - inst.switchSettings(); - - if (inst.formElement == formElement) { - var doc = inst.getDoc(); - - tinyMCE._setHTML(doc, inst.formElement.value); - - if (!tinyMCE.isIE) - doc.body.innerHTML = tinyMCE._cleanupHTML(inst, doc, this.settings, doc.body, inst.visualAid); - } - } - }, - - addMCEControl : function(replace_element, form_element_name, target_document) { - var id = "mce_editor_" + tinyMCE.idCounter++; - var inst = new TinyMCE_Control(tinyMCE.settings); - - inst.editorId = id; - this.instances[id] = inst; - - inst._onAdd(replace_element, form_element_name, target_document); - }, - - removeInstance : function(ti) { - var t = [], n, i; - - // Remove from instances - for (n in tinyMCE.instances) { - i = tinyMCE.instances[n]; - - if (tinyMCE.isInstance(i) && ti != i) - t[n] = i; - } - - tinyMCE.instances = t; - - // Remove from global undo/redo - n = []; - t = tinyMCE.undoLevels; - - for (i=0; i 0) { - tinyMCE.nextUndoRedoAction = 'Undo'; - inst = this.undoLevels[--this.undoIndex]; - inst.select(); - - if (!tinyMCE.nextUndoRedoInstanceId) - inst.execCommand('Undo'); - } - } else - inst.execCommand('Undo'); - return true; - - case "Redo": - if (this.getParam('custom_undo_redo_global')) { - if (this.undoIndex <= this.undoLevels.length - 1) { - tinyMCE.nextUndoRedoAction = 'Redo'; - inst = this.undoLevels[this.undoIndex++]; - inst.select(); - - if (!tinyMCE.nextUndoRedoInstanceId) - inst.execCommand('Redo'); - } - } else - inst.execCommand('Redo'); - - return true; - - case 'mceFocus': - var inst = tinyMCE.getInstanceById(value); - if (inst) - inst.getWin().focus(); - return; - - case "mceAddControl": - case "mceAddEditor": - tinyMCE.addMCEControl(tinyMCE._getElementById(value), value); - return; - - case "mceAddFrameControl": - tinyMCE.addMCEControl(tinyMCE._getElementById(value['element'], value['document']), value['element'], value['document']); - return; - - case "mceRemoveControl": - case "mceRemoveEditor": - tinyMCE.removeMCEControl(value); - return; - - case "mceToggleEditor": - var inst = tinyMCE.getInstanceById(value), pe, te; - - if (inst) { - pe = document.getElementById(inst.editorId + '_parent'); - te = inst.oldTargetElement; - - if (typeof(inst.enabled) == 'undefined') - inst.enabled = true; - - inst.enabled = !inst.enabled; - - if (!inst.enabled) { - pe.style.display = 'none'; - te.value = inst.getHTML(); - te.style.display = inst.oldTargetDisplay; - tinyMCE.dispatchCallback(inst, 'hide_instance_callback', 'hideInstance', inst); - } else { - pe.style.display = 'block'; - te.style.display = 'none'; - inst.setHTML(te.value); - inst.useCSS = false; - tinyMCE.dispatchCallback(inst, 'show_instance_callback', 'showInstance', inst); - } - } else - tinyMCE.addMCEControl(tinyMCE._getElementById(value), value); - - return; - - case "mceResetDesignMode": - // Resets the designmode state of the editors in Gecko - if (!tinyMCE.isIE) { - for (var n in tinyMCE.instances) { - if (!tinyMCE.isInstance(tinyMCE.instances[n])) - continue; - - try { - tinyMCE.instances[n].getDoc().designMode = "on"; - } catch (e) { - // Ignore any errors - } - } - } - - return; - } - - if (inst) { - inst.execCommand(command, user_interface, value); - } else if (tinyMCE.settings['focus_alert']) - alert(tinyMCELang['lang_focus_alert']); - }, - - _createIFrame : function(replace_element, doc, win) { - var iframe, id = replace_element.getAttribute("id"); - var aw, ah; - - if (typeof(doc) == "undefined") - doc = document; - - if (typeof(win) == "undefined") - win = window; - - iframe = doc.createElement("iframe"); - - aw = "" + tinyMCE.settings['area_width']; - ah = "" + tinyMCE.settings['area_height']; - - if (aw.indexOf('%') == -1) { - aw = parseInt(aw); - aw = (isNaN(aw) || aw < 0) ? 300 : aw; - aw = aw + "px"; - } - - if (ah.indexOf('%') == -1) { - ah = parseInt(ah); - ah = (isNaN(ah) || ah < 0) ? 240 : ah; - ah = ah + "px"; - } - - iframe.setAttribute("id", id); - iframe.setAttribute("name", id); - iframe.setAttribute("class", "mceEditorIframe"); - iframe.setAttribute("border", "0"); - iframe.setAttribute("frameBorder", "0"); - iframe.setAttribute("marginWidth", "0"); - iframe.setAttribute("marginHeight", "0"); - iframe.setAttribute("leftMargin", "0"); - iframe.setAttribute("topMargin", "0"); - iframe.setAttribute("width", aw); - iframe.setAttribute("height", ah); - iframe.setAttribute("allowtransparency", "true"); - iframe.className = 'mceEditorIframe'; - - if (tinyMCE.settings["auto_resize"]) - iframe.setAttribute("scrolling", "no"); - - // Must have a src element in MSIE HTTPs breaks aswell as absoute URLs - if (tinyMCE.isRealIE) - iframe.setAttribute("src", this.settings['default_document']); - - iframe.style.width = aw; - iframe.style.height = ah; - - // Ugly hack for Gecko problem in strict mode - if (tinyMCE.settings.strict_loading_mode) - iframe.style.marginBottom = '-5px'; - - // MSIE 5.0 issue - if (tinyMCE.isRealIE) - replace_element.outerHTML = iframe.outerHTML; - else - replace_element.parentNode.replaceChild(iframe, replace_element); - - if (tinyMCE.isRealIE) - return win.frames[id]; - else - return iframe; - }, - - setupContent : function(editor_id) { - var inst = tinyMCE.instances[editor_id], i; - var doc = inst.getDoc(); - var head = doc.getElementsByTagName('head').item(0); - var content = inst.startContent; - - // HTML values get XML encoded in strict mode - if (tinyMCE.settings.strict_loading_mode) { - content = content.replace(/</g, '<'); - content = content.replace(/>/g, '>'); - content = content.replace(/"/g, '"'); - content = content.replace(/&/g, '&'); - } - - tinyMCE.selectedInstance = inst; - inst.switchSettings(); - - // Not loaded correctly hit it again, Mozilla bug #997860 - if (!tinyMCE.isIE && tinyMCE.getParam("setupcontent_reload", false) && doc.title != "blank_page") { - // This part will remove the designMode status - // Failes first time in Firefox 1.5b2 on Mac - try {doc.location.href = tinyMCE.baseURL + "/blank.htm";} catch (ex) {} - window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 1000); - return; - } - - if (!head) { - window.setTimeout("tinyMCE.setupContent('" + editor_id + "');", 10); - return; - } - - // Import theme specific content CSS the user specific - tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/themes/" + inst.settings['theme'] + "/css/editor_content.css"); - tinyMCE.importCSS(inst.getDoc(), inst.settings['content_css']); - tinyMCE.dispatchCallback(inst, 'init_instance_callback', 'initInstance', inst); - - // Setup keyboard shortcuts - if (tinyMCE.getParam('custom_undo_redo_keyboard_shortcuts')) { - inst.addShortcut('ctrl', 'z', 'lang_undo_desc', 'Undo'); - inst.addShortcut('ctrl', 'y', 'lang_redo_desc', 'Redo'); - } - - // BlockFormat shortcuts keys - for (i=1; i<=6; i++) - inst.addShortcut('ctrl', '' + i, '', 'FormatBlock', false, ''); - - inst.addShortcut('ctrl', '7', '', 'FormatBlock', false, '

'); - inst.addShortcut('ctrl', '8', '', 'FormatBlock', false, '

'); - inst.addShortcut('ctrl', '9', '', 'FormatBlock', false, '
'); - - // Add default shortcuts for gecko - if (tinyMCE.isGecko) { - inst.addShortcut('ctrl', 'b', 'lang_bold_desc', 'Bold'); - inst.addShortcut('ctrl', 'i', 'lang_italic_desc', 'Italic'); - inst.addShortcut('ctrl', 'u', 'lang_underline_desc', 'Underline'); - } - - // Setup span styles - if (tinyMCE.getParam("convert_fonts_to_spans")) - inst.getBody().setAttribute('id', 'mceSpanFonts'); - - if (tinyMCE.settings['nowrap']) - doc.body.style.whiteSpace = "nowrap"; - - doc.body.dir = this.settings['directionality']; - doc.editorId = editor_id; - - // Add on document element in Mozilla - if (!tinyMCE.isIE) - doc.documentElement.editorId = editor_id; - - inst.setBaseHREF(tinyMCE.settings['base_href']); - - // Replace new line characters to BRs - if (tinyMCE.settings['convert_newlines_to_brs']) { - content = tinyMCE.regexpReplace(content, "\r\n", "
", "gi"); - content = tinyMCE.regexpReplace(content, "\r", "
", "gi"); - content = tinyMCE.regexpReplace(content, "\n", "
", "gi"); - } - - // Open closed anchors - // content = content.replace(new RegExp('', 'gi'), ''); - - // Call custom cleanup code - content = tinyMCE.storeAwayURLs(content); - content = tinyMCE._customCleanup(inst, "insert_to_editor", content); - - if (tinyMCE.isIE) { - // Ugly!!! - window.setInterval('try{tinyMCE.getCSSClasses(tinyMCE.instances["' + editor_id + '"].getDoc(), "' + editor_id + '");}catch(e){}', 500); - - if (tinyMCE.settings["force_br_newlines"]) - doc.styleSheets[0].addRule("p", "margin: 0;"); - - var body = inst.getBody(); - body.editorId = editor_id; - } - - content = tinyMCE.cleanupHTMLCode(content); - - // Fix for bug #958637 - if (!tinyMCE.isIE) { - var contentElement = inst.getDoc().createElement("body"); - var doc = inst.getDoc(); - - contentElement.innerHTML = content; - - // Remove weridness! - if (tinyMCE.isGecko && tinyMCE.settings['remove_lt_gt']) - content = content.replace(new RegExp('<>', 'g'), ""); - - if (tinyMCE.settings['cleanup_on_startup']) - tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, doc, this.settings, contentElement)); - else - tinyMCE.setInnerHTML(inst.getBody(), content); - - tinyMCE.convertAllRelativeURLs(inst.getBody()); - } else { - if (tinyMCE.settings['cleanup_on_startup']) { - tinyMCE._setHTML(inst.getDoc(), content); - - // Produces permission denied error in MSIE 5.5 - eval('try {tinyMCE.setInnerHTML(inst.getBody(), tinyMCE._cleanupHTML(inst, inst.contentDocument, this.settings, inst.getBody()));} catch(e) {}'); - } else - tinyMCE._setHTML(inst.getDoc(), content); - } - - // Fix for bug #957681 - //inst.getDoc().designMode = inst.getDoc().designMode; - - tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual'], inst); - tinyMCE.dispatchCallback(inst, 'setupcontent_callback', 'setupContent', editor_id, inst.getBody(), inst.getDoc()); - - // Re-add design mode on mozilla - if (!tinyMCE.isIE) - tinyMCE.addEventHandlers(inst); - - // Add blur handler - if (tinyMCE.isIE) { - tinyMCE.addEvent(inst.getBody(), "blur", TinyMCE_Engine.prototype._eventPatch); - tinyMCE.addEvent(inst.getBody(), "beforedeactivate", TinyMCE_Engine.prototype._eventPatch); // Bug #1439953 - - // Workaround for drag drop/copy paste base href bug - if (!tinyMCE.isOpera) { - tinyMCE.addEvent(doc.body, "mousemove", TinyMCE_Engine.prototype.onMouseMove); - tinyMCE.addEvent(doc.body, "beforepaste", TinyMCE_Engine.prototype._eventPatch); - tinyMCE.addEvent(doc.body, "drop", TinyMCE_Engine.prototype._eventPatch); - } - } - - // Trigger node change, this call locks buttons for tables and so forth - inst.select(); - tinyMCE.selectedElement = inst.contentWindow.document.body; - - // Call custom DOM cleanup - tinyMCE._customCleanup(inst, "insert_to_editor_dom", inst.getBody()); - tinyMCE._customCleanup(inst, "setup_content_dom", inst.getBody()); - tinyMCE._setEventsEnabled(inst.getBody(), false); - tinyMCE.cleanupAnchors(inst.getDoc()); - - if (tinyMCE.getParam("convert_fonts_to_spans")) - tinyMCE.convertSpansToFonts(inst.getDoc()); - - inst.startContent = tinyMCE.trim(inst.getBody().innerHTML); - inst.undoRedo.add({ content : inst.startContent }); - - // Cleanup any mess left from storyAwayURLs - if (tinyMCE.isGecko) { - // Remove mce_src from textnodes and comments - tinyMCE.selectNodes(inst.getBody(), function(n) { - if (n.nodeType == 3 || n.nodeType == 8) - n.nodeValue = n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"', 'gi'), ""); - - return false; - }); - } - - // Remove Gecko spellchecking - if (tinyMCE.isGecko) - inst.getBody().spellcheck = tinyMCE.getParam("gecko_spellcheck"); - - // Cleanup any mess left from storyAwayURLs - tinyMCE._removeInternal(inst.getBody()); - - inst.select(); - tinyMCE.triggerNodeChange(false, true); - }, - - storeAwayURLs : function(s) { - // Remove all mce_src, mce_href and replace them with new ones - // s = s.replace(new RegExp('mce_src\\s*=\\s*\"[^ >\"]*\"', 'gi'), ''); - // s = s.replace(new RegExp('mce_href\\s*=\\s*\"[^ >\"]*\"', 'gi'), ''); - - if (!s.match(/(mce_src|mce_href)/gi, s)) { - s = s.replace(new RegExp('src\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'src="$1" mce_src="$1"'); - s = s.replace(new RegExp('href\\s*=\\s*\"([^ >\"]*)\"', 'gi'), 'href="$1" mce_href="$1"'); - } - - return s; - }, - - _removeInternal : function(n) { - if (tinyMCE.isGecko) { - // Remove mce_src from textnodes and comments - tinyMCE.selectNodes(n, function(n) { - if (n.nodeType == 3 || n.nodeType == 8) - n.nodeValue = n.nodeValue.replace(new RegExp('\\s(mce_src|mce_href)=\"[^\"]*\"', 'gi'), ""); - - return false; - }); - } - }, - - removeTinyMCEFormElements : function(form_obj) { - var i, elementId; - - // Skip form element removal - if (!tinyMCE.getParam('hide_selects_on_submit')) - return; - - // Check if form is valid - if (typeof(form_obj) == "undefined" || form_obj == null) - return; - - // If not a form, find the form - if (form_obj.nodeName != "FORM") { - if (form_obj.form) - form_obj = form_obj.form; - else - form_obj = tinyMCE.getParentElement(form_obj, "form"); - } - - // Still nothing - if (form_obj == null) - return; - - // Disable all UI form elements that TinyMCE created - for (i=0; i"); - rng.collapse(false); - rng.select(); - - tinyMCE.execCommand("mceAddUndoLevel"); - tinyMCE.triggerNodeChange(false); - return false; - } - } - - // Backspace or delete - if (e.keyCode == 8 || e.keyCode == 46) { - tinyMCE.selectedElement = e.target; - tinyMCE.linkElement = tinyMCE.getParentElement(e.target, "a"); - tinyMCE.imgElement = tinyMCE.getParentElement(e.target, "img"); - tinyMCE.triggerNodeChange(false); - } - - return false; - break; - - case "keyup": - case "keydown": - tinyMCE.hideMenus(); - tinyMCE.hasMouseMoved = false; - - if (inst && inst.handleShortcut(e)) - return false; - - if (e.target.editorId) - tinyMCE.instances[e.target.editorId].select(); - - if (tinyMCE.selectedInstance) - tinyMCE.selectedInstance.switchSettings(); - - var inst = tinyMCE.selectedInstance; - - // Handle backspace - if (tinyMCE.isGecko && tinyMCE.settings['force_p_newlines'] && (e.keyCode == 8 || e.keyCode == 46) && !e.shiftKey) { - // Insert P element instead of BR - if (TinyMCE_ForceParagraphs._handleBackSpace(tinyMCE.selectedInstance, e.type)) { - // Cancel event - tinyMCE.execCommand("mceAddUndoLevel"); - e.preventDefault(); - return false; - } - } - - tinyMCE.selectedElement = null; - tinyMCE.selectedNode = null; - var elm = tinyMCE.selectedInstance.getFocusElement(); - tinyMCE.linkElement = tinyMCE.getParentElement(elm, "a"); - tinyMCE.imgElement = tinyMCE.getParentElement(elm, "img"); - tinyMCE.selectedElement = elm; - - // Update visualaids on tabs - if (tinyMCE.isGecko && e.type == "keyup" && e.keyCode == 9) - tinyMCE.handleVisualAid(tinyMCE.selectedInstance.getBody(), true, tinyMCE.settings['visual'], tinyMCE.selectedInstance); - - // Fix empty elements on return/enter, check where enter occured - if (tinyMCE.isIE && e.type == "keydown" && e.keyCode == 13) - tinyMCE.enterKeyElement = tinyMCE.selectedInstance.getFocusElement(); - - // Fix empty elements on return/enter - if (tinyMCE.isIE && e.type == "keyup" && e.keyCode == 13) { - var elm = tinyMCE.enterKeyElement; - if (elm) { - var re = new RegExp('^HR|IMG|BR$','g'); // Skip these - var dre = new RegExp('^H[1-6]$','g'); // Add double on these - - if (!elm.hasChildNodes() && !re.test(elm.nodeName)) { - if (dre.test(elm.nodeName)) - elm.innerHTML = "  "; - else - elm.innerHTML = " "; - } - } - } - - // Check if it's a position key - var keys = tinyMCE.posKeyCodes; - var posKey = false; - for (var i=0; i'; - h += ''; - h += ''; - } else { - // Normal button - h += ''; - h += ''; - h += ''; - } - - return h; - }, - - getMenuButtonHTML : function(id, lang, img, mcmd, cmd, ui, val) { - var h = '', m, x; - - mcmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + mcmd + '\');'; - cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + cmd + '\''; - - if (typeof(ui) != "undefined" && ui != null) - cmd += ',' + ui; - - if (typeof(val) != "undefined" && val != null) - cmd += ",'" + val + "'"; - - cmd += ');'; - - // Use tilemaps when enabled and found and never in MSIE since it loads the tile each time from cache if cahce is disabled - if (tinyMCE.getParam('button_tile_map') && (!tinyMCE.isIE || tinyMCE.isOpera) && (m = tinyMCE.buttonMap[id]) != null && (tinyMCE.getParam("language") == "en" || img.indexOf('$lang') == -1)) { - x = 0 - (m * 20) == 0 ? '0' : 0 - (m * 20); - - if (tinyMCE.isRealIE) - h += ''; - else - h += ''; - - h += ''; - h += ''; - h += ''; - h += ''; - } else { - if (tinyMCE.isRealIE) - h += ''; - else - h += ''; - - h += ''; - h += ''; - h += ''; - h += ''; - } - - return h; - }, - - _menuButtonEvent : function(e, o) { - if (o.className == 'mceMenuButtonFocus') - return; - - if (e == 'over') - o.className = o.className + ' mceMenuHover'; - else - o.className = o.className.replace(/\s.*$/, ''); - }, - - addButtonMap : function(m) { - var i, a = m.replace(/\s+/, '').split(','); - - for (i=0; i 0); - - if (tinyMCE.settings['custom_undo_redo']) { - undoIndex = inst.undoRedo.undoIndex; - undoLevels = inst.undoRedo.undoLevels.length; - } - - tinyMCE.dispatchCallback(inst, 'handle_node_change_callback', 'handleNodeChange', editorId, elm, undoIndex, undoLevels, inst.visualAid, anySelection, setup_content); - } - - if (this.selectedInstance && (typeof(focus) == "undefined" || focus)) - this.selectedInstance.contentWindow.focus(); - }, - - _customCleanup : function(inst, type, content) { - var pl, po, i; - - // Call custom cleanup - var customCleanup = tinyMCE.settings['cleanup_callback']; - if (customCleanup != "" && eval("typeof(" + customCleanup + ")") != "undefined") - content = eval(customCleanup + "(type, content, inst);"); - - // Trigger theme cleanup - po = tinyMCE.themes[tinyMCE.settings['theme']]; - if (po && po.cleanup) - content = po.cleanup(type, content, inst); - - // Trigger plugin cleanups - pl = inst.plugins; - for (i=0; i 0) - className += " "; - - className += classNames[i]; - } - - return className; - }, - - handleVisualAid : function(el, deep, state, inst, skip_dispatch) { - if (!el) - return; - - if (!skip_dispatch) - tinyMCE.dispatchCallback(inst, 'handle_visual_aid_callback', 'handleVisualAid', el, deep, state, inst); - - var tableElement = null; - - switch (el.nodeName) { - case "TABLE": - var oldW = el.style.width; - var oldH = el.style.height; - var bo = tinyMCE.getAttrib(el, "border"); - - bo = bo == "" || bo == "0" ? true : false; - - tinyMCE.setAttrib(el, "class", tinyMCE.getVisualAidClass(tinyMCE.getAttrib(el, "class"), state && bo)); - - el.style.width = oldW; - el.style.height = oldH; - - for (var y=0; y<\/o:p>", "
"); - html = tinyMCE.regexpReplace(html, " <\/o:p>", ""); - html = tinyMCE.regexpReplace(html, "", ""); - html = tinyMCE.regexpReplace(html, "

<\/p>", ""); - html = tinyMCE.regexpReplace(html, "

<\/p>\r\n

<\/p>", ""); - html = tinyMCE.regexpReplace(html, "

 <\/p>", "
"); - html = tinyMCE.regexpReplace(html, "

\s*(

\s*)?", "

"); - html = tinyMCE.regexpReplace(html, "<\/p>\s*(<\/p>\s*)?", "

"); - }*/ - - // Always set the htmlText output - tinyMCE.setInnerHTML(doc.body, html); - } - - tinyMCE.cleanupAnchors(doc); - - if (tinyMCE.getParam("convert_fonts_to_spans")) - tinyMCE.convertSpansToFonts(doc); - }, - - getEditorId : function(form_element) { - var inst = this.getInstanceById(form_element); - if (!inst) - return null; - - return inst.editorId; - }, - - getInstanceById : function(editor_id) { - var inst = this.instances[editor_id]; - if (!inst) { - for (var n in tinyMCE.instances) { - var instance = tinyMCE.instances[n]; - if (!tinyMCE.isInstance(instance)) - continue; - - if (instance.formTargetElementId == editor_id) { - inst = instance; - break; - } - } - } - - return inst; - }, - - queryInstanceCommandValue : function(editor_id, command) { - var inst = tinyMCE.getInstanceById(editor_id); - if (inst) - return inst.queryCommandValue(command); - - return false; - }, - - queryInstanceCommandState : function(editor_id, command) { - var inst = tinyMCE.getInstanceById(editor_id); - if (inst) - return inst.queryCommandState(command); - - return null; - }, - - setWindowArg : function(n, v) { - this.windowArgs[n] = v; - }, - - getWindowArg : function(n, d) { - return (typeof(this.windowArgs[n]) == "undefined") ? d : this.windowArgs[n]; - }, - - getCSSClasses : function(editor_id, doc) { - var inst = tinyMCE.getInstanceById(editor_id); - - // Is cached, use that - if (inst && inst.cssClasses.length > 0) - return inst.cssClasses; - - if (typeof(editor_id) == "undefined" && typeof(doc) == "undefined") { - var instance; - - for (var instanceName in tinyMCE.instances) { - instance = tinyMCE.instances[instanceName]; - if (!tinyMCE.isInstance(instance)) - continue; - - break; - } - - doc = instance.getDoc(); - } - - if (typeof(doc) == "undefined") { - var instance = tinyMCE.getInstanceById(editor_id); - doc = instance.getDoc(); - } - - if (doc) { - var styles = doc.styleSheets; - - if (styles && styles.length > 0) { - for (var x=0; x' + tinyMCE.replaceVar(v, "pluginurl", o.baseURL) + '
'; - - return tinyMCE.replaceVar(v, "pluginurl", o.baseURL); - } - } - - o = tinyMCE.themes[tinyMCE.settings['theme']]; - if (o.getControlHTML && (v = o.getControlHTML(c)) != '') { - if (rtl) - return '' + v + ''; - - return v; - } - - return ''; - }, - - evalFunc : function(f, idx, a, o) { - o = !o ? window : o; - f = typeof(f) == 'function' ? f : o[f]; - - return f.apply(o, Array.prototype.slice.call(a, idx)); - }, - - dispatchCallback : function(i, p, n) { - return this.callFunc(i, p, n, 0, this.dispatchCallback.arguments); - }, - - executeCallback : function(i, p, n) { - return this.callFunc(i, p, n, 1, this.executeCallback.arguments); - }, - - execCommandCallback : function(i, p, n) { - return this.callFunc(i, p, n, 2, this.execCommandCallback.arguments); - }, - - callFunc : function(ins, p, n, m, a) { - var l, i, on, o, s, v; - - s = m == 2; - - l = tinyMCE.getParam(p, ''); - - if (l != '' && (v = tinyMCE.evalFunc(l, 3, a)) == s && m > 0) - return true; - - if (ins != null) { - for (i=0, l = ins.plugins; i 0) - return true; - } - } - - l = tinyMCE.themes; - for (on in l) { - o = l[on]; - - if (o[n] && (v = tinyMCE.evalFunc(n, 3, a, o)) == s && m > 0) - return true; - } - - return false; - }, - - xmlEncode : function(s, skip_apos) { - return s ? ('' + s).replace(!skip_apos ? this.xmlEncodeAposRe : this.xmlEncodeRe, function (c, b) { - switch (c) { - case '&': - return '&'; - - case '"': - return '"'; - - case '\'': - return '''; // ' is not working in MSIE - - case '<': - return '<'; - - case '>': - return '>'; - } - - return c; - }) : s; - }, - - extend : function(p, np) { - var o = {}; - - o.parent = p; - - for (n in p) - o[n] = p[n]; - - for (n in np) - o[n] = np[n]; - - return o; - }, - - hideMenus : function() { - var e = tinyMCE.lastSelectedMenuBtn; - - if (tinyMCE.lastMenu) { - tinyMCE.lastMenu.hide(); - tinyMCE.lastMenu = null; - } - - if (e) { - tinyMCE.switchClass(e, tinyMCE.lastMenuBtnClass); - tinyMCE.lastSelectedMenuBtn = null; - } - } - - }; - -// Global instances -var TinyMCE = TinyMCE_Engine; // Compatiblity with gzip compressors -var tinyMCE = new TinyMCE_Engine(); -var tinyMCELang = {}; - -/* file:jscripts/tiny_mce/classes/TinyMCE_Control.class.js */ - -function TinyMCE_Control(settings) { - var t, i, to, fu, p, x, fn, fu, pn, s = settings; - - this.undoRedoLevel = true; - this.isTinyMCE_Control = true; - - // Default settings - this.settings = s; - this.settings['theme'] = tinyMCE.getParam("theme", "default"); - this.settings['width'] = tinyMCE.getParam("width", -1); - this.settings['height'] = tinyMCE.getParam("height", -1); - this.selection = new TinyMCE_Selection(this); - this.undoRedo = new TinyMCE_UndoRedo(this); - this.cleanup = new TinyMCE_Cleanup(); - this.shortcuts = new Array(); - this.hasMouseMoved = false; - this.foreColor = this.backColor = "#999999"; - this.data = {}; - this.cssClasses = []; - - this.cleanup.init({ - valid_elements : s.valid_elements, - extended_valid_elements : s.extended_valid_elements, - valid_child_elements : s.valid_child_elements, - entities : s.entities, - entity_encoding : s.entity_encoding, - debug : s.cleanup_debug, - indent : s.apply_source_formatting, - invalid_elements : s.invalid_elements, - verify_html : s.verify_html, - fix_content_duplication : s.fix_content_duplication, - convert_fonts_to_spans : s.convert_fonts_to_spans - }); - - // Wrap old theme - t = this.settings['theme']; - if (!tinyMCE.hasTheme(t)) { - fn = tinyMCE.callbacks; - to = {}; - - for (i=0; i 0) { - for (i=0; i 1 && tinyMCE.currentConfig != this.settings['index']) { - tinyMCE.settings = this.settings; - tinyMCE.currentConfig = this.settings['index']; - } - }, - - select : function() { - var oldInst = tinyMCE.selectedInstance; - - if (oldInst != this) { - if (oldInst) - oldInst.execCommand('mceEndTyping'); - - tinyMCE.dispatchCallback(this, 'select_instance_callback', 'selectInstance', this, oldInst); - tinyMCE.selectedInstance = this; - } - }, - - getBody : function() { - return this.contentBody ? this.contentBody : this.getDoc().body; - }, - - getDoc : function() { -// return this.contentDocument ? this.contentDocument : this.contentWindow.document; // Removed due to IE 5.5 ? - return this.contentWindow.document; - }, - - getWin : function() { - return this.contentWindow; - }, - - getContainerWin : function() { - return this.containerWindow ? this.containerWindow : window; - }, - - getViewPort : function() { - return tinyMCE.getViewPort(this.getWin()); - }, - - getParentNode : function(n, f) { - return tinyMCE.getParentNode(n, f, this.getBody()); - }, - - getParentElement : function(n, na, f) { - return tinyMCE.getParentElement(n, na, f, this.getBody()); - }, - - getParentBlockElement : function(n) { - return tinyMCE.getParentBlockElement(n, this.getBody()); - }, - - resizeToContent : function() { - var d = this.getDoc(), b = d.body, de = d.documentElement; - - this.iframeElement.style.height = (tinyMCE.isRealIE) ? b.scrollHeight : de.offsetHeight + 'px'; - }, - - addShortcut : function(m, k, d, cmd, ui, va) { - var n = typeof(k) == "number", ie = tinyMCE.isIE, c, sc, i, scl = this.shortcuts; - - if (!tinyMCE.getParam('custom_shortcuts')) - return false; - - m = m.toLowerCase(); - k = ie && !n ? k.toUpperCase() : k; - c = n ? null : k.charCodeAt(0); - d = d && d.indexOf('lang_') == 0 ? tinyMCE.getLang(d) : d; - - sc = { - alt : m.indexOf('alt') != -1, - ctrl : m.indexOf('ctrl') != -1, - shift : m.indexOf('shift') != -1, - charCode : c, - keyCode : n ? k : (ie ? c : null), - desc : d, - cmd : cmd, - ui : ui, - val : va - }; - - for (i=0; i 0) - rng.pasteHTML('
' + rng.htmlText + "
"); - - tinyMCE.triggerNodeChange(); - return; - } - } - } - - switch (command) { - case "mceRepaint": - this.repaint(); - return true; - - case "unlink": - // Unlink if caret is inside link - if (tinyMCE.isGecko && this.getSel().isCollapsed) { - focusElm = tinyMCE.getParentElement(focusElm, 'A'); - - if (focusElm) - this.selection.selectNode(focusElm, false); - } - - this.getDoc().execCommand(command, user_interface, value); - - tinyMCE.isGecko && this.getSel().collapseToEnd(); - - tinyMCE.triggerNodeChange(); - - return true; - - case "InsertUnorderedList": - case "InsertOrderedList": - this.getDoc().execCommand(command, user_interface, value); - tinyMCE.triggerNodeChange(); - break; - - case "Strikethrough": - this.getDoc().execCommand(command, user_interface, value); - tinyMCE.triggerNodeChange(); - break; - - case "mceSelectNode": - this.selection.selectNode(value); - tinyMCE.triggerNodeChange(); - tinyMCE.selectedNode = value; - break; - - case "FormatBlock": - if (value == null || value == "") { - var elm = tinyMCE.getParentElement(this.getFocusElement(), "p,div,h1,h2,h3,h4,h5,h6,pre,address,blockquote,dt,dl,dd,samp"); - - if (elm) - this.execCommand("mceRemoveNode", false, elm); - } else { - if (!this.cleanup.isValid(value)) - return true; - - if (tinyMCE.isGecko && new RegExp('<(div|blockquote|code|dt|dd|dl|samp)>', 'gi').test(value)) - value = value.replace(/[^a-z]/gi, ''); - - if (tinyMCE.isIE && new RegExp('blockquote|code|samp', 'gi').test(value)) { - var b = this.selection.getBookmark(); - this.getDoc().execCommand("FormatBlock", false, '

'); - tinyMCE.renameElement(tinyMCE.getParentBlockElement(this.getFocusElement()), value); - this.selection.moveToBookmark(b); - } else - this.getDoc().execCommand("FormatBlock", false, value); - } - - tinyMCE.triggerNodeChange(); - - break; - - case "mceRemoveNode": - if (!value) - value = tinyMCE.getParentElement(this.getFocusElement()); - - if (tinyMCE.isIE) { - value.outerHTML = value.innerHTML; - } else { - var rng = value.ownerDocument.createRange(); - rng.setStartBefore(value); - rng.setEndAfter(value); - rng.deleteContents(); - rng.insertNode(rng.createContextualFragment(value.innerHTML)); - } - - tinyMCE.triggerNodeChange(); - - break; - - case "mceSelectNodeDepth": - var parentNode = this.getFocusElement(); - for (var i=0; parentNode; i++) { - if (parentNode.nodeName.toLowerCase() == "body") - break; - - if (parentNode.nodeName.toLowerCase() == "#text") { - i--; - parentNode = parentNode.parentNode; - continue; - } - - if (i == value) { - this.selection.selectNode(parentNode, false); - tinyMCE.triggerNodeChange(); - tinyMCE.selectedNode = parentNode; - return; - } - - parentNode = parentNode.parentNode; - } - - break; - - case "mceSetStyleInfo": - case "SetStyleInfo": - var rng = this.getRng(); - var sel = this.getSel(); - var scmd = value['command']; - var sname = value['name']; - var svalue = value['value'] == null ? '' : value['value']; - //var svalue = value['value'] == null ? '' : value['value']; - var wrapper = value['wrapper'] ? value['wrapper'] : "span"; - var parentElm = null; - var invalidRe = new RegExp("^BODY|HTML$", "g"); - var invalidParentsRe = tinyMCE.settings['merge_styles_invalid_parents'] != '' ? new RegExp(tinyMCE.settings['merge_styles_invalid_parents'], "gi") : null; - - // Whole element selected check - if (tinyMCE.isIE) { - // Control range - if (rng.item) - parentElm = rng.item(0); - else { - var pelm = rng.parentElement(); - var prng = doc.selection.createRange(); - prng.moveToElementText(pelm); - - if (rng.htmlText == prng.htmlText || rng.boundingWidth == 0) { - if (invalidParentsRe == null || !invalidParentsRe.test(pelm.nodeName)) - parentElm = pelm; - } - } - } else { - var felm = this.getFocusElement(); - if (sel.isCollapsed || (new RegExp('td|tr|tbody|table', 'gi').test(felm.nodeName) && sel.anchorNode == felm.parentNode)) - parentElm = felm; - } - - // Whole element selected - if (parentElm && !invalidRe.test(parentElm.nodeName)) { - if (scmd == "setstyle") - tinyMCE.setStyleAttrib(parentElm, sname, svalue); - - if (scmd == "setattrib") - tinyMCE.setAttrib(parentElm, sname, svalue); - - if (scmd == "removeformat") { - parentElm.style.cssText = ''; - tinyMCE.setAttrib(parentElm, 'class', ''); - } - - // Remove style/attribs from all children - var ch = tinyMCE.getNodeTree(parentElm, new Array(), 1); - for (var z=0; z=0; i--) { - var elm = nodes[i]; - var isNew = tinyMCE.getAttrib(elm, "mce_new") == "true"; - - elm.removeAttribute("mce_new"); - - // Is only child a element - if (elm.childNodes && elm.childNodes.length == 1 && elm.childNodes[0].nodeType == 1) { - //tinyMCE.debug("merge1" + isNew); - this._mergeElements(scmd, elm, elm.childNodes[0], isNew); - continue; - } - - // Is I the only child - if (elm.parentNode.childNodes.length == 1 && !invalidRe.test(elm.nodeName) && !invalidRe.test(elm.parentNode.nodeName)) { - //tinyMCE.debug("merge2" + isNew + "," + elm.nodeName + "," + elm.parentNode.nodeName); - if (invalidParentsRe == null || !invalidParentsRe.test(elm.parentNode.nodeName)) - this._mergeElements(scmd, elm.parentNode, elm, false); - } - } - - // Remove empty wrappers - var nodes = doc.getElementsByTagName(wrapper); - for (var i=nodes.length-1; i>=0; i--) { - var elm = nodes[i]; - var isEmpty = true; - - // Check if it has any attribs - var tmp = doc.createElement("body"); - tmp.appendChild(elm.cloneNode(false)); - - // Is empty span, remove it - tmp.innerHTML = tmp.innerHTML.replace(new RegExp('style=""|class=""', 'gi'), ''); - //tinyMCE.debug(tmp.innerHTML); - if (new RegExp('', 'gi').test(tmp.innerHTML)) { - for (var x=0; x 0) { - value = tinyMCE.replaceVar(value, "selection", selectedText); - tinyMCE.execCommand('mceInsertContent', false, value); - } - - tinyMCE.triggerNodeChange(); - break; - - case "mceSetAttribute": - if (typeof(value) == 'object') { - var targetElms = (typeof(value['targets']) == "undefined") ? "p,img,span,div,td,h1,h2,h3,h4,h5,h6,pre,address" : value['targets']; - var targetNode = tinyMCE.getParentElement(this.getFocusElement(), targetElms); - - if (targetNode) { - targetNode.setAttribute(value['name'], value['value']); - tinyMCE.triggerNodeChange(); - } - } - break; - - case "mceSetCSSClass": - this.execCommand("mceSetStyleInfo", false, {command : "setattrib", name : "class", value : value}); - break; - - case "mceInsertRawHTML": - var key = 'tiny_mce_marker'; - - this.execCommand('mceBeginUndoLevel'); - - // Insert marker key - this.execCommand('mceInsertContent', false, key); - - // Store away scroll pos - var scrollX = this.getBody().scrollLeft + this.getDoc().documentElement.scrollLeft; - var scrollY = this.getBody().scrollTop + this.getDoc().documentElement.scrollTop; - - // Find marker and replace with RAW HTML - var html = this.getBody().innerHTML; - if ((pos = html.indexOf(key)) != -1) - tinyMCE.setInnerHTML(this.getBody(), html.substring(0, pos) + value + html.substring(pos + key.length)); - - // Restore scoll pos - this.contentWindow.scrollTo(scrollX, scrollY); - - this.execCommand('mceEndUndoLevel'); - - break; - - case "mceInsertContent": - // Force empty string - if (!value) - value = ''; - - var insertHTMLFailed = false; - - // Removed since it produced problems in IE - // this.getWin().focus(); - - if (tinyMCE.isGecko || tinyMCE.isOpera) { - try { - // Is plain text or HTML, &,   etc will be encoded wrong in FF - if (value.indexOf('<') == -1 && !value.match(/(&| |<|>)/g)) { - var r = this.getRng(); - var n = this.getDoc().createTextNode(tinyMCE.entityDecode(value)); - var s = this.getSel(); - var r2 = r.cloneRange(); - - // Insert text at cursor position - s.removeAllRanges(); - r.deleteContents(); - r.insertNode(n); - - // Move the cursor to the end of text - r2.selectNode(n); - r2.collapse(false); - s.removeAllRanges(); - s.addRange(r2); - } else { - value = tinyMCE.fixGeckoBaseHREFBug(1, this.getDoc(), value); - this.getDoc().execCommand('inserthtml', false, value); - tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value); - } - } catch (ex) { - insertHTMLFailed = true; - } - - if (!insertHTMLFailed) { - tinyMCE.triggerNodeChange(); - return; - } - } - - if (!tinyMCE.isIE) { - var isHTML = value.indexOf('<') != -1; - var sel = this.getSel(); - var rng = this.getRng(); - - if (isHTML) { - if (tinyMCE.isSafari) { - var tmpRng = this.getDoc().createRange(); - - tmpRng.setStart(this.getBody(), 0); - tmpRng.setEnd(this.getBody(), 0); - - value = tmpRng.createContextualFragment(value); - } else - value = rng.createContextualFragment(value); - } else { - // Setup text node - var el = document.createElement("div"); - el.innerHTML = value; - value = el.firstChild.nodeValue; - value = doc.createTextNode(value); - } - - // Insert plain text in Safari - if (tinyMCE.isSafari && !isHTML) { - this.execCommand('InsertText', false, value.nodeValue); - tinyMCE.triggerNodeChange(); - return true; - } else if (tinyMCE.isSafari && isHTML) { - rng.deleteContents(); - rng.insertNode(value); - tinyMCE.triggerNodeChange(); - return true; - } - - rng.deleteContents(); - - // If target node is text do special treatment, (Mozilla 1.3 fix) - if (rng.startContainer.nodeType == 3) { - var node = rng.startContainer.splitText(rng.startOffset); - node.parentNode.insertBefore(value, node); - } else - rng.insertNode(value); - - if (!isHTML) { - // Removes weird selection trails - sel.selectAllChildren(doc.body); - sel.removeAllRanges(); - - // Move cursor to end of content - var rng = doc.createRange(); - - rng.selectNode(value); - rng.collapse(false); - - sel.addRange(rng); - } else - rng.collapse(false); - - tinyMCE.fixGeckoBaseHREFBug(2, this.getDoc(), value); - } else { - var rng = doc.selection.createRange(), tmpRng = null; - var c = value.indexOf('"; - } - - if (hc) { - cn = n.childNodes; - - for (i=0, l=cn.length; i'; - - return h; - }, - - _serializeAttribute : function(n, r, an) { - var av = '', t, os = this.settings.on_save; - - if (os && (an.indexOf('mce_') == 0 || an.indexOf('_moz') == 0)) - return ''; - - if (os && this.mceAttribs[an]) - av = this._getAttrib(n, this.mceAttribs[an]); - - if (av.length == 0) - av = this._getAttrib(n, an); - - if (av.length == 0 && r.defaultAttribs && (t = r.defaultAttribs[an])) { - av = t; - - if (av == "mce_empty") - return " " + an + '=""'; - } - - if (r.forceAttribs && (t = r.forceAttribs[an])) - av = t; - - if (os && av.length != 0 && /^(src|href|longdesc)$/.test(an)) - av = this._urlConverter(this, n, av); - - if (av.length != 0 && r.validAttribValues && r.validAttribValues[an] && !r.validAttribValues[an].test(av)) - return ""; - - if (av.length != 0 && av == "{$uid}") - av = "uid_" + (this.idCount++); - - if (av.length != 0) { - if (an.indexOf('on') != 0) - av = this.xmlEncode(av, 1); - - return " " + an + "=" + '"' + av + '"'; - } - - return ""; - }, - - formatHTML : function(h) { - var s = this.settings, p = '', i = 0, li = 0, o = '', l; - - // Replace BR in pre elements to \n - h = h.replace(/]*)>(.*?)<\/pre>/gi, function (a, b, c) { - c = c.replace(//gi, '\n'); - return '' + c + ''; - }); - - h = h.replace(/\r/g, ''); // Windows sux, isn't carriage return a thing of the past :) - h = '\n' + h; - h = h.replace(new RegExp('\\n\\s+', 'gi'), '\n'); // Remove previous formatting - h = h.replace(this.nlBeforeRe, '\n<$1$2>'); - h = h.replace(this.nlAfterRe, '<$1$2>\n'); - h = h.replace(this.nlBeforeAfterRe, '\n<$1$2$3>\n'); - h += '\n'; - - //tinyMCE.debug(h); - - while ((i = h.indexOf('\n', i + 1)) != -1) { - if ((l = h.substring(li + 1, i)).length != 0) { - if (this.ouRe.test(l) && p.length >= s.indent_levels) - p = p.substring(s.indent_levels); - - o += p + l + '\n'; - - if (this.inRe.test(l)) - p += this.inStr; - } - - li = i; - } - - //tinyMCE.debug(h); - - return o; - }, - - xmlEncode : function(s, skip_apos) { - var cl = this, re = !skip_apos ? this.xmlEncodeAposRe : this.xmlEncodeRe; - - this._setupEntities(); // Will intialize lookup table - - switch (this.settings.entity_encoding) { - case "raw": - return tinyMCE.xmlEncode(s, skip_apos); - - case "named": - return s.replace(re, function (c, b) { - b = cl.entities[c.charCodeAt(0)]; - - return b ? '&' + b + ';' : c; - }); - - case "numeric": - return s.replace(re, function (c, b) { - return b ? '&#' + c.charCodeAt(0) + ';' : c; - }); - } - - return s; - }, - - split : function(re, s) { - var c = s.split(re); - var i, l, o = new Array(); - - for (i=0, l=c.length; i' : '>' + h + ''; - - return o; -}; - -TinyMCE_Engine.prototype.createTag = function(d, tn, a, h) { - var o = d.createElement(tn); - - if (a) { - for (n in a) { - if (typeof(a[n]) != 'function' && a[n] != null) - tinyMCE.setAttrib(o, n, a[n]); - } - } - - if (h) - o.innerHTML = h; - - return o; -}; - -TinyMCE_Engine.prototype.getElementByAttributeValue = function(n, e, a, v) { - return (n = this.getElementsByAttributeValue(n, e, a, v)).length == 0 ? null : n[0]; -}; - -TinyMCE_Engine.prototype.getElementsByAttributeValue = function(n, e, a, v) { - var i, nl = n.getElementsByTagName(e), o = new Array(); - - for (i=0; i]*)>/gi, ''); - h = h.replace(/]*)>/gi, ''); - h = h.replace(/]*)>/gi, ''); - h = h.replace(/]*)>/gi, ''); - h = h.replace(/<\/strong>/gi, ''); - h = h.replace(/<\/em>/gi, ''); - } - - if (tinyMCE.isRealIE) { - // Since MSIE handles invalid HTML better that valid XHTML we - // need to make some things invalid.


gets converted to
. - h = h.replace(/\s\/>/g, '>'); - - // Since MSIE auto generated emtpy P tags some times we must tell it to keep the real ones - h = h.replace(/]*)>\u00A0?<\/p>/gi, ' 

'); // Keep empty paragraphs - h = h.replace(/]*)>\s* \s*<\/p>/gi, ' 

'); // Keep empty paragraphs - h = h.replace(/]*)>\s+<\/p>/gi, ' 

'); // Keep empty paragraphs - - // Remove first comment - e.innerHTML = tinyMCE.uniqueTag + h; - e.firstChild.removeNode(true); - - // Remove weird auto generated empty paragraphs unless it's supposed to be there - nl = e.getElementsByTagName("p"); - for (i=nl.length-1; i>=0; i--) { - n = nl[i]; - - if (n.nodeName == 'P' && !n.hasChildNodes() && !n.mce_keep) - n.parentNode.removeChild(n); - } - } else { - h = this.fixGeckoBaseHREFBug(1, e, h); - e.innerHTML = h; - this.fixGeckoBaseHREFBug(2, e, h); - } -}; - -TinyMCE_Engine.prototype.getOuterHTML = function(e) { - if (tinyMCE.isIE) - return e.outerHTML; - - var d = e.ownerDocument.createElement("body"); - d.appendChild(e.cloneNode(true)); - return d.innerHTML; -}; - -TinyMCE_Engine.prototype.setOuterHTML = function(e, h, d) { - var d = typeof(d) == "undefined" ? e.ownerDocument : d, i, nl, t; - - if (tinyMCE.isIE && e.nodeType == 1) - e.outerHTML = h; - else { - t = d.createElement("body"); - t.innerHTML = h; - - for (i=0, nl=t.childNodes; i-1; i--) { - if (ar[i].specified && ar[i].nodeValue) - ne.setAttribute(ar[i].nodeName.toLowerCase(), ar[i].nodeValue); - } - - ar = e.childNodes; - for (i=0; i= strTok2.length) { - for (var i=0; i= strTok2.length || strTok1[i] != strTok2[i]) { - breakPoint = i + 1; - break; - } - } - } - - if (strTok1.length < strTok2.length) { - for (var i=0; i= strTok1.length || strTok1[i] != strTok2[i]) { - breakPoint = i + 1; - break; - } - } - } - - if (breakPoint == 1) - return targetURL.path; - - for (var i=0; i<(strTok1.length-(breakPoint-1)); i++) - outPath += "../"; - - for (var i=breakPoint-1; i=0; i--) { - if (baseURLParts[i].length == 0) - continue; - - newBaseURLParts[newBaseURLParts.length] = baseURLParts[i]; - } - baseURLParts = newBaseURLParts.reverse(); - - // Merge relURLParts chunks - var newRelURLParts = new Array(); - var numBack = 0; - for (var i=relURLParts.length-1; i>=0; i--) { - if (relURLParts[i].length == 0 || relURLParts[i] == ".") - continue; - - if (relURLParts[i] == '..') { - numBack++; - continue; - } - - if (numBack > 0) { - numBack--; - continue; - } - - newRelURLParts[newRelURLParts.length] = relURLParts[i]; - } - - relURLParts = newRelURLParts.reverse(); - - // Remove end from absolute path - var len = baseURLParts.length-numBack; - var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/'); - var start = "", end = ""; - - // Build output URL - relURL.protocol = baseURL.protocol; - relURL.host = baseURL.host; - relURL.port = baseURL.port; - - // Re-add trailing slash if it's removed - if (relURL.path.charAt(relURL.path.length-1) == "/") - absPath += "/"; - - relURL.path = absPath; - - return this.serializeURL(relURL); -}; - -TinyMCE_Engine.prototype.convertURL = function(url, node, on_save) { - var prot = document.location.protocol; - var host = document.location.hostname; - var port = document.location.port; - - // Pass through file protocol - if (prot == "file:") - return url; - - // Something is wrong, remove weirdness - url = tinyMCE.regexpReplace(url, '(http|https):///', '/'); - - // Mailto link or anchor (Pass through) - if (url.indexOf('mailto:') != -1 || url.indexOf('javascript:') != -1 || tinyMCE.regexpReplace(url,'[ \t\r\n\+]|%20','').charAt(0) == "#") - return url; - - // Fix relative/Mozilla - if (!tinyMCE.isIE && !on_save && url.indexOf("://") == -1 && url.charAt(0) != '/') - return tinyMCE.settings['base_href'] + url; - - // Handle relative URLs - if (on_save && tinyMCE.getParam('relative_urls')) { - var curl = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url); - if (curl.charAt(0) == '/') - curl = tinyMCE.settings['document_base_prefix'] + curl; - - var urlParts = tinyMCE.parseURL(curl); - var tmpUrlParts = tinyMCE.parseURL(tinyMCE.settings['document_base_url']); - - // Force relative - if (urlParts['host'] == tmpUrlParts['host'] && (urlParts['port'] == tmpUrlParts['port'])) - return tinyMCE.convertAbsoluteURLToRelativeURL(tinyMCE.settings['document_base_url'], curl); - } - - // Handle absolute URLs - if (!tinyMCE.getParam('relative_urls')) { - var urlParts = tinyMCE.parseURL(url); - var baseUrlParts = tinyMCE.parseURL(tinyMCE.settings['base_href']); - - // Force absolute URLs from relative URLs - url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url); - - // If anchor and path is the same page - if (urlParts['anchor'] && urlParts['path'] == baseUrlParts['path']) - return "#" + urlParts['anchor']; - } - - // Remove current domain - if (tinyMCE.getParam('remove_script_host')) { - var start = "", portPart = ""; - - if (port != "") - portPart = ":" + port; - - start = prot + "//" + host + portPart + "/"; - - if (url.indexOf(start) == 0) - url = url.substring(start.length-1); - } - - return url; -}; - -TinyMCE_Engine.prototype.convertAllRelativeURLs = function(body) { - var i, elms, src, href, mhref, msrc; - - // Convert all image URL:s to absolute URL - elms = body.getElementsByTagName("img"); - for (i=0; i bookmark.index) { - try { - rng.addElement(nl[bookmark.index]); - } catch (ex) { - // Might be thrown if the node no longer exists - } - } - } else { - // Try/catch needed since this operation breaks when TinyMCE is placed in hidden divs/tabs - try { - // Incorrect bookmark - if (bookmark.start < 0) - return true; - - rng = inst.getSel().createRange(); - rng.moveToElementText(inst.getBody()); - rng.collapse(true); - rng.moveStart('character', bookmark.start); - rng.moveEnd('character', bookmark.length); - } catch (ex) { - return true; - } - } - - rng.select(); - - win.scrollTo(bookmark.scrollX, bookmark.scrollY); - return true; - } - - if (tinyMCE.isGecko || tinyMCE.isOpera) { - if (!sel) - return false; - - if (bookmark.rng) { - sel.removeAllRanges(); - sel.addRange(bookmark.rng); - } - - if (bookmark.start != -1 && bookmark.end != -1) { - try { - sd = this._getTextPos(b, bookmark.start, bookmark.end); - rng = doc.createRange(); - rng.setStart(sd.startNode, sd.startOffset); - rng.setEnd(sd.endNode, sd.endOffset); - sel.removeAllRanges(); - sel.addRange(rng); - win.focus(); - } catch (ex) { - // Ignore - } - } - - /* - if (typeof(bookmark.index) != 'undefined') { - tinyMCE.selectElements(b, 'IMG', function (n) { - if (bookmark.index-- == 0) { - // Select image in Gecko here - } - - return false; - }); - } - */ - - win.scrollTo(bookmark.scrollX, bookmark.scrollY); - return true; - } - - return false; - }, - - _getPosText : function(r, sn, en) { - var w = document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, false), n, p = 0, d = {}; - - while ((n = w.nextNode()) != null) { - if (n == sn) - d.start = p; - - if (n == en) { - d.end = p; - return d; - } - - p += n.nodeValue ? n.nodeValue.length : 0; - } - - return null; - }, - - _getTextPos : function(r, sp, ep) { - var w = document.createTreeWalker(r, NodeFilter.SHOW_TEXT, null, false), n, p = 0, d = {}; - - while ((n = w.nextNode()) != null) { - p += n.nodeValue ? n.nodeValue.length : 0; - - if (p >= sp && !d.startNode) { - d.startNode = n; - d.startOffset = sp - (p - n.nodeValue.length); - } - - if (p >= ep) { - d.endNode = n; - d.endOffset = ep - (p - n.nodeValue.length); - - return d; - } - } - - return null; - }, - - selectNode : function(node, collapse, select_text_node, to_start) { - var inst = this.instance, sel, rng, nodes; - - if (!node) - return; - - if (typeof(collapse) == "undefined") - collapse = true; - - if (typeof(select_text_node) == "undefined") - select_text_node = false; - - if (typeof(to_start) == "undefined") - to_start = true; - - if (inst.settings.auto_resize) - inst.resizeToContent(); - - if (tinyMCE.isRealIE) { - rng = inst.getDoc().body.createTextRange(); - - try { - rng.moveToElementText(node); - - if (collapse) - rng.collapse(to_start); - - rng.select(); - } catch (e) { - // Throws illigal agrument in MSIE some times - } - } else { - sel = this.getSel(); - - if (!sel) - return; - - if (tinyMCE.isSafari) { - sel.setBaseAndExtent(node, 0, node, node.innerText.length); - - if (collapse) { - if (to_start) - sel.collapseToStart(); - else - sel.collapseToEnd(); - } - - this.scrollToNode(node); - - return; - } - - rng = inst.getDoc().createRange(); - - if (select_text_node) { - // Find first textnode in tree - nodes = tinyMCE.getNodeTree(node, new Array(), 3); - if (nodes.length > 0) - rng.selectNodeContents(nodes[0]); - else - rng.selectNodeContents(node); - } else - rng.selectNode(node); - - if (collapse) { - // Special treatment of textnode collapse - if (!to_start && node.nodeType == 3) { - rng.setStart(node, node.nodeValue.length); - rng.setEnd(node, node.nodeValue.length); - } else - rng.collapse(to_start); - } - - sel.removeAllRanges(); - sel.addRange(rng); - } - - this.scrollToNode(node); - - // Set selected element - tinyMCE.selectedElement = null; - if (node.nodeType == 1) - tinyMCE.selectedElement = node; - }, - - scrollToNode : function(node) { - var inst = this.instance, w = inst.getWin(), vp = inst.getViewPort(), pos = tinyMCE.getAbsPosition(node), cvp, p, cwin; - - // Only scroll if out of visible area - if (pos.absLeft < vp.left || pos.absLeft > vp.left + vp.width || pos.absTop < vp.top || pos.absTop > vp.top + (vp.height-25)) - w.scrollTo(pos.absLeft, pos.absTop - vp.height + 25); - - // Scroll container window - if (inst.settings.auto_resize) { - cwin = inst.getContainerWin(); - cvp = tinyMCE.getViewPort(cwin); - p = this.getAbsPosition(node); - - if (p.absLeft < cvp.left || p.absLeft > cvp.left + cvp.width || p.absTop < cvp.top || p.absTop > cvp.top + cvp.height) - cwin.scrollTo(p.absLeft, p.absTop - cvp.height + 25); - } - }, - - getAbsPosition : function(n) { - var pos = tinyMCE.getAbsPosition(n), ipos = tinyMCE.getAbsPosition(this.instance.iframeElement); - - return { - absLeft : ipos.absLeft + pos.absLeft, - absTop : ipos.absTop + pos.absTop - }; - }, - - getSel : function() { - var inst = this.instance; - - if (tinyMCE.isRealIE) - return inst.getDoc().selection; - - return inst.contentWindow.getSelection(); - }, - - getRng : function() { - var s = this.getSel(); - - if (s == null) - return null; - - if (tinyMCE.isRealIE) - return s.createRange(); - - if (tinyMCE.isSafari && !s.getRangeAt) - return '' + window.getSelection(); - - if (s.rangeCount > 0) - return s.getRangeAt(0); - - return null; - }, - - isCollapsed : function() { - var r = this.getRng(); - - if (r.item) - return false; - - return r.boundingWidth == 0 || this.getSel().isCollapsed; - }, - - collapse : function(b) { - var r = this.getRng(), s = this.getSel(); - - if (r.select) { - r.collapse(b); - r.select(); - } else { - if (b) - s.collapseToStart(); - else - s.collapseToEnd(); - } - }, - - getFocusElement : function() { - var inst = this.instance, doc, rng, sel, elm; - - if (tinyMCE.isRealIE) { - doc = inst.getDoc(); - rng = doc.selection.createRange(); - - // if (rng.collapse) - // rng.collapse(true); - - elm = rng.item ? rng.item(0) : rng.parentElement(); - } else { - if (!tinyMCE.isSafari && inst.isHidden()) - return inst.getBody(); - - sel = this.getSel(); - rng = this.getRng(); - - if (!sel || !rng) - return null; - - elm = rng.commonAncestorContainer; - //elm = (sel && sel.anchorNode) ? sel.anchorNode : null; - - // Handle selection a image or other control like element such as anchors - if (!rng.collapsed) { - // Is selection small - if (rng.startContainer == rng.endContainer) { - if (rng.startOffset - rng.endOffset < 2) { - if (rng.startContainer.hasChildNodes()) - elm = rng.startContainer.childNodes[rng.startOffset]; - } - } - } - - // Get the element parent of the node - elm = tinyMCE.getParentElement(elm); - - //if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "img") - // elm = tinyMCE.selectedElement; - } - - return elm; - } - - }; - -/* file:jscripts/tiny_mce/classes/TinyMCE_UndoRedo.class.js */ - -function TinyMCE_UndoRedo(inst) { - this.instance = inst; - this.undoLevels = new Array(); - this.undoIndex = 0; - this.typingUndoIndex = -1; - this.undoRedo = true; -}; - -TinyMCE_UndoRedo.prototype = { - add : function(l) { - var b, customUndoLevels, newHTML, inst = this.instance, i, ul, ur; - - if (l) { - this.undoLevels[this.undoLevels.length] = l; - return true; - } - - if (this.typingUndoIndex != -1) { - this.undoIndex = this.typingUndoIndex; - - if (tinyMCE.typingUndoIndex != -1) - tinyMCE.undoIndex = tinyMCE.typingUndoIndex; - } - - newHTML = tinyMCE.trim(inst.getBody().innerHTML); - if (this.undoLevels[this.undoIndex] && newHTML != this.undoLevels[this.undoIndex].content) { - //tinyMCE.debug(newHTML, this.undoLevels[this.undoIndex].content); - - tinyMCE.dispatchCallback(inst, 'onchange_callback', 'onChange', inst); - - // Time to compress - customUndoLevels = tinyMCE.settings['custom_undo_redo_levels']; - if (customUndoLevels != -1 && this.undoLevels.length > customUndoLevels) { - for (i=0; i 0) { - this.undoIndex--; - - tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content); - inst.repaint(); - - if (inst.settings.custom_undo_redo_restore_selection) - inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark); - } - }, - - redo : function() { - var inst = this.instance; - - tinyMCE.execCommand("mceEndTyping"); - - if (this.undoIndex < (this.undoLevels.length-1)) { - this.undoIndex++; - - tinyMCE.setInnerHTML(inst.getBody(), this.undoLevels[this.undoIndex].content); - inst.repaint(); - - if (inst.settings.custom_undo_redo_restore_selection) - inst.selection.moveToBookmark(this.undoLevels[this.undoIndex].bookmark); - } - - tinyMCE.triggerNodeChange(); - } - - }; - -/* file:jscripts/tiny_mce/classes/TinyMCE_ForceParagraphs.class.js */ - -var TinyMCE_ForceParagraphs = { - _insertPara : function(inst, e) { - var doc = inst.getDoc(), sel = inst.getSel(), body = inst.getBody(), win = inst.contentWindow, rng = sel.getRangeAt(0); - var rootElm = doc.documentElement, blockName = "P", startNode, endNode, startBlock, endBlock; - var rngBefore, rngAfter, direct, startNode, startOffset, endNode, endOffset, b = tinyMCE.isOpera ? inst.selection.getBookmark() : null; - var paraBefore, paraAfter, startChop, endChop, contents; - - function isEmpty(para) { - function isEmptyHTML(html) { - return html.replace(new RegExp('[ \t\r\n]+', 'g'), '').toLowerCase() == ""; - } - - // Check for images - if (para.getElementsByTagName("img").length > 0) - return false; - - // Check for tables - if (para.getElementsByTagName("table").length > 0) - return false; - - // Check for HRs - if (para.getElementsByTagName("hr").length > 0) - return false; - - // Check all textnodes - var nodes = tinyMCE.getNodeTree(para, new Array(), 3); - for (var i=0; i <" + blockName + "> "; - paraAfter = body.childNodes[1]; - } - - inst.selection.moveToBookmark(b); - inst.selection.selectNode(paraAfter, true, true); - - return true; - } - - // Place first part within new paragraph - if (startChop.nodeName == blockName) - rngBefore.setStart(startChop, 0); - else - rngBefore.setStartBefore(startChop); - - rngBefore.setEnd(startNode, startOffset); - paraBefore.appendChild(rngBefore.cloneContents()); - - // Place secound part within new paragraph - rngAfter.setEndAfter(endChop); - rngAfter.setStart(endNode, endOffset); - contents = rngAfter.cloneContents(); - - if (contents.firstChild && contents.firstChild.nodeName == blockName) { - /* var nodes = contents.firstChild.childNodes; - for (var i=0; i= r.startOffset && nv.charAt(r.startOffset - 1) == ' ') - s = true;*/ - - // Only remove BRs if we are at the end of line #bug 1464152 - if (nv != null && r.startOffset == nv.length) - sn.nextSibling.parentNode.removeChild(sn.nextSibling); - } - - if (inst.settings.auto_resize) - inst.resizeToContent(); - - return s; - } - - }; - -/* file:jscripts/tiny_mce/classes/TinyMCE_Layer.class.js */ - -function TinyMCE_Layer(id, bm) { - this.id = id; - this.blockerElement = null; - this.events = false; - this.element = null; - this.blockMode = typeof(bm) != 'undefined' ? bm : true; - this.doc = document; -}; - -TinyMCE_Layer.prototype = { - moveRelativeTo : function(re, p) { - var rep = this.getAbsPosition(re); - var w = parseInt(re.offsetWidth); - var h = parseInt(re.offsetHeight); - var e = this.getElement(); - var ew = parseInt(e.offsetWidth); - var eh = parseInt(e.offsetHeight); - var x, y; - - switch (p) { - case "tl": - x = rep.absLeft; - y = rep.absTop; - break; - - case "tr": - x = rep.absLeft + w; - y = rep.absTop; - break; - - case "bl": - x = rep.absLeft; - y = rep.absTop + h; - break; - - case "br": - x = rep.absLeft + w; - y = rep.absTop + h; - break; - - case "cc": - x = rep.absLeft + (w / 2) - (ew / 2); - y = rep.absTop + (h / 2) - (eh / 2); - break; - } - - this.moveTo(x, y); - }, - - moveBy : function(x, y) { - var e = this.getElement(); - this.moveTo(parseInt(e.style.left) + x, parseInt(e.style.top) + y); - }, - - moveTo : function(x, y) { - var e = this.getElement(); - - e.style.left = x + "px"; - e.style.top = y + "px"; - - this.updateBlocker(); - }, - - resizeBy : function(w, h) { - var e = this.getElement(); - this.resizeTo(parseInt(e.style.width) + w, parseInt(e.style.height) + h); - }, - - resizeTo : function(w, h) { - var e = this.getElement(); - - if (w != null) - e.style.width = w + "px"; - - if (h != null) - e.style.height = h + "px"; - - this.updateBlocker(); - }, - - show : function() { - var el = this.getElement(); - - if (el) { - el.style.display = 'block'; - this.updateBlocker(); - } - }, - - hide : function() { - var el = this.getElement(); - - if (el) { - el.style.display = 'none'; - this.updateBlocker(); - } - }, - - isVisible : function() { - return this.getElement().style.display == 'block'; - }, - - getElement : function() { - if (!this.element) - this.element = this.doc.getElementById(this.id); - - return this.element; - }, - - setBlockMode : function(s) { - this.blockMode = s; - }, - - updateBlocker : function() { - var e, b, x, y, w, h; - - b = this.getBlocker(); - if (b) { - if (this.blockMode) { - e = this.getElement(); - x = this.parseInt(e.style.left); - y = this.parseInt(e.style.top); - w = this.parseInt(e.offsetWidth); - h = this.parseInt(e.offsetHeight); - - b.style.left = x + 'px'; - b.style.top = y + 'px'; - b.style.width = w + 'px'; - b.style.height = h + 'px'; - b.style.display = e.style.display; - } else - b.style.display = 'none'; - } - }, - - getBlocker : function() { - var d, b; - - if (!this.blockerElement && this.blockMode) { - d = this.doc; - b = d.getElementById(this.id + "_blocker"); - - if (!b) { - b = d.createElement("iframe"); - - b.setAttribute('id', this.id + "_blocker"); - b.style.cssText = 'display: none; position: absolute; left: 0; top: 0'; - b.src = 'javascript:false;'; - b.frameBorder = '0'; - b.scrolling = 'no'; - - d.body.appendChild(b); - } - - this.blockerElement = b; - } - - return this.blockerElement; - }, - - getAbsPosition : function(n) { - var p = {absLeft : 0, absTop : 0}; - - while (n) { - p.absLeft += n.offsetLeft; - p.absTop += n.offsetTop; - n = n.offsetParent; - } - - return p; - }, - - create : function(n, c, p, h) { - var d = this.doc, e = d.createElement(n); - - e.setAttribute('id', this.id); - - if (c) - e.className = c; - - if (!p) - p = d.body; - - if (h) - e.innerHTML = h; - - p.appendChild(e); - - return this.element = e; - }, - - exists : function() { - return this.doc.getElementById(this.id) != null; - }, - - parseInt : function(s) { - if (s == null || s == '') - return 0; - - return parseInt(s); - }, - - remove : function() { - var e = this.getElement(), b = this.getBlocker(); - - if (e) - e.parentNode.removeChild(e); - - if (b) - b.parentNode.removeChild(b); - } - - }; - -/* file:jscripts/tiny_mce/classes/TinyMCE_Menu.class.js */ - -function TinyMCE_Menu() { - var id; - - if (typeof(tinyMCE.menuCounter) == "undefined") - tinyMCE.menuCounter = 0; - - id = "mc_menu_" + tinyMCE.menuCounter++; - - TinyMCE_Layer.call(this, id, true); - - this.id = id; - this.items = new Array(); - this.needsUpdate = true; -}; - -TinyMCE_Menu.prototype = tinyMCE.extend(TinyMCE_Layer.prototype, { - init : function(s) { - var n; - - // Default params - this.settings = { - separator_class : 'mceMenuSeparator', - title_class : 'mceMenuTitle', - disabled_class : 'mceMenuDisabled', - menu_class : 'mceMenu', - drop_menu : true - }; - - for (n in s) - this.settings[n] = s[n]; - - this.create('div', this.settings.menu_class); - }, - - clear : function() { - this.items = new Array(); - }, - - addTitle : function(t) { - this.add({type : 'title', text : t}); - }, - - addDisabled : function(t) { - this.add({type : 'disabled', text : t}); - }, - - addSeparator : function() { - this.add({type : 'separator'}); - }, - - addItem : function(t, js) { - this.add({text : t, js : js}); - }, - - add : function(mi) { - this.items[this.items.length] = mi; - this.needsUpdate = true; - }, - - update : function() { - var e = this.getElement(), h = '', i, t, m = this.items, s = this.settings; - - if (this.settings.drop_menu) - h += ''; - - h += ''; - - for (i=0; i'; - } - - h += '
'; - break; - - case 'title': - h += '
' + t + ''; - break; - - case 'disabled': - h += '
' + t + ''; - break; - - default: - h += '
' + t + ''; - } - - h += '
'; - - e.innerHTML = h; - - this.needsUpdate = false; - this.updateBlocker(); - }, - - show : function() { - var nl, i; - - if (tinyMCE.lastMenu == this) - return; - - if (this.needsUpdate) - this.update(); - - if (tinyMCE.lastMenu && tinyMCE.lastMenu != this) - tinyMCE.lastMenu.hide(); - - TinyMCE_Layer.prototype.show.call(this); - - if (!tinyMCE.isOpera) { - // Accessibility stuff -/* nl = this.getElement().getElementsByTagName("a"); - if (nl.length > 0) - nl[0].focus();*/ - } - - tinyMCE.lastMenu = this; - } - - }); - -/* file:jscripts/tiny_mce/classes/TinyMCE_Compatibility.class.js */ - -if (!Function.prototype.call) { - Function.prototype.call = function() { - var a = arguments, s = a[0], i, as = '', r, o; - - for (i=1; i 1 ? ',' : '') + 'a[' + i + ']'; - - o = s._fu; - s._fu = this; - r = eval('s._fu(' + as + ')'); - s._fu = o; - - return r; - }; -}; - -/* file:jscripts/tiny_mce/classes/TinyMCE_Debug.class.js */ - -TinyMCE_Engine.prototype.debug = function() { - var m = "", a, i, l = tinyMCE.log.length; - - for (i=0, a = this.debug.arguments; i'; - h += ''; - - return h; -} - -function pickColor(e, target_form_element) { - if ((e.keyCode == 32 || e.keyCode == 13) || e.type == "mousedown") - tinyMCEPopup.pickColor(e, target_form_element); -} - -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"); - tinyMCE.switchClass(img, 'mceButtonDisabled', true); - } else { - lnk.setAttribute("href", lnk.getAttribute("realhref")); - tinyMCE.switchClass(img, 'mceButtonNormal', false); - } - } -} - -function getBrowserHTML(id, target_form_element, type, prefix) { - var option = prefix + "_" + type + "_browser_callback"; - var cb = tinyMCE.getParam(option, tinyMCE.getParam("file_browser_callback")); - if (cb == null) - return ""; - - var html = ""; - - html += ''; - html += ''; - - return html; -} - -function openBrower(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; iinclude_script('tiny_mce/tiny_mce.js'); - $OUTPUT->include_script("editor.js"); - $OUTPUT->add_script('rcmail_editor_init("$__skin_path");'); - $out = $form_start ? "$form_start\n" : ''; $saveid = new hiddenfield(array('name' => '_draft_saveid', 'value' => $compose_mode==RCUBE_COMPOSE_DRAFT ? str_replace(array('<','>'), "", $MESSAGE['headers']->messageID) : '')); @@ -862,7 +860,6 @@ $OUTPUT->add_handlers(array( 'composeattachmentform' => 'rcmail_compose_attachment_form', 'composeattachment' => 'rcmail_compose_attachment_field', 'priorityselector' => 'rcmail_priority_selector', - 'editorselector' => 'rcmail_editor_selector', 'receiptcheckbox' => 'rcmail_receipt_checkbox', )); diff --git a/program/steps/settings/edit_identity.inc b/program/steps/settings/edit_identity.inc index 51a0cd0a0..07c820599 100644 --- a/program/steps/settings/edit_identity.inc +++ b/program/steps/settings/edit_identity.inc @@ -46,6 +46,7 @@ function rcube_identity_form($attrib) { global $IDENTITY_RECORD, $OUTPUT; +/* $OUTPUT->include_script('tiny_mce/tiny_mce_src.js'); $OUTPUT->add_script("tinyMCE.init({ mode : 'specific_textareas'," . "apply_source_formatting : true," . @@ -58,7 +59,7 @@ function rcube_identity_form($attrib) "theme_advanced_buttons1 : 'bold,italic,underline,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,separator,outdent,indent,charmap,hr'," . "theme_advanced_buttons2 : 'link,unlink,code,forecolor,fontselect,fontsizeselect'," . "theme_advanced_buttons3 : '' });"); - +*/ if (!$IDENTITY_RECORD && $GLOBALS['_action']!='add-identity') return rcube_label('notfound'); @@ -76,8 +77,8 @@ function rcube_identity_form($attrib) 'organization' => array('type' => 'text'), 'reply-to' => array('type' => 'text', 'label' => 'replyto'), 'bcc' => array('type' => 'text'), - 'signature' => array('type' => 'textarea', 'size' => "40", 'rows' => "6"), - 'html_signature'=>array('type' => 'checkbox', 'label' => 'htmlsignature', 'onclick' => 'return rcmail.toggle_editor(this, \'_signature\');'), + 'signature' => array('type' => 'textarea', 'size' => "40", 'rows' => "4"), + // 'html_signature'=>array('type' => 'checkbox', 'label' => 'htmlsignature', 'onclick' => 'return rcmail.toggle_editor(this, \'_signature\');'), 'standard' => array('type' => 'checkbox', 'label' => 'setdefault')); diff --git a/program/steps/settings/func.inc b/program/steps/settings/func.inc index 91212e174..574cd626c 100644 --- a/program/steps/settings/func.inc +++ b/program/steps/settings/func.inc @@ -158,7 +158,7 @@ function rcmail_user_prefs_form($attrib) } // Show checkbox for HTML Editor - if (!isset($no_override['htmleditor'])) + if (false && !isset($no_override['htmleditor'])) { $field_id = 'rcmfd_htmleditor'; $input_htmleditor = new checkbox(array('name' => '_htmleditor', 'id' => $field_id, 'value' => 1)); @@ -169,7 +169,7 @@ function rcmail_user_prefs_form($attrib) } // show config parameter for preview pane - if (!isset($no_override['preview_pane'])) + if (false && !isset($no_override['preview_pane'])) { $field_id = 'rcmfd_preview'; $input_preview = new checkbox(array('name' => '_preview_pane', 'id' => $field_id, 'value' => 1)); diff --git a/skins/default/colorpicker.css b/skins/default/colorpicker.css deleted file mode 100755 index 4b0360bf1..000000000 --- a/skins/default/colorpicker.css +++ /dev/null @@ -1,53 +0,0 @@ -/* Colorpicker dialog specific CSS */ - -#preview { - float: right; - width: 50px; - height: 14px; - line-height: 1px; - border: 1px solid black; - margin-left: 5px; -} - -#colorpicker { - float: left; - cursor: crosshair; -} - -#light { - border: 1px solid gray; - margin-left: 5px; - float: left; - width: 15px; - cursor: crosshair; -} - -#light div { - overflow: hidden; -} - -#previewblock { - float: right; - padding-left: 10px; - height: 20px; -} - -.panel_wrapper div.current { - height: 175px; -} - -#namedcolors { - width: 150px; -} - -#namedcolors a { - display: block; - float: left; - width: 10px; height: 10px; - margin: 1px 1px 0 0; - overflow: hidden; -} - -#colornamecontainer { - margin-top: 5px; -} \ No newline at end of file diff --git a/skins/default/editor_content.css b/skins/default/editor_content.css deleted file mode 100644 index 182e79121..000000000 --- a/skins/default/editor_content.css +++ /dev/null @@ -1,58 +0,0 @@ -/* This file contains the CSS data for the editable area(iframe) of TinyMCE */ -/* You can extend this CSS by adding your own CSS file with the the content_css option */ - -body, td, pre { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; -} - -body { - background-color: #FFFFFF; -} - -.mceVisualAid { - border: 1px dashed #BBBBBB !important; -} - -div.mceVisualAid { - background-image:url('../images/spacer.gif'); - visibility: visible !important; -} - -.mceItemAnchor { - width: 12px; - line-height: 6px; - overflow: hidden; - padding-left: 12px; - background-image: url('../images/anchor_symbol.gif'); - background-position: bottom; - background-repeat: no-repeat; -} - -/* Important is needed in Gecko browsers inorder to style links */ -/* -a { - color: green !important; -} -*/ - -/* Style selection range colors in Gecko browsers */ -/* -::-moz-selection { - background-color: red; - color: green; -} -*/ - -/* MSIE specific */ - -* html body { - 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/skins/default/editor_popup.css b/skins/default/editor_popup.css deleted file mode 100644 index f8d3550ce..000000000 --- a/skins/default/editor_popup.css +++ /dev/null @@ -1,331 +0,0 @@ -/* This file contains the CSS data for all popups in TinyMCE */ - -body { - background-color: #F0F0EE; - 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; - margin: 8px; -} - -td { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 11px; -} - -input { - background: #FFFFFF; - border: 1px solid #cccccc; -} - -td, input, select, textarea { - font-family: Verdana, Arial, Helvetica, sans-serif; - font-size: 10px; -} - -input, select, textarea { - border: 1px solid #808080; -} - -.input_noborder { - border: 0; -} - -#insert, .updateButton { - font-weight: bold; - width: 90px; - height: 21px; - border: 0; - background-image: url('../images/insert_button_bg.gif'); - cursor: pointer; -} - -#cancel { - font-weight: bold; - width: 90px; - height: 21px; - border: 0; - background-image: url('../images/cancel_button_bg.gif'); - cursor: pointer; -} - -/* Mozilla only style */ -html>body #insert, html>body #cancel { - padding-bottom: 2px; -} - -.title { - font-size: 12px; - font-weight: bold; - color: #2B6FB6; -} - -table.charmap { - border-style: solid; - border-width: 1px; - border-color: #AAAAAA; -} - -td.charmap, td.charmapOver { - color: #000000; - border-color: #AAAAAA; - border-style: solid; - border-width: 1px; - text-align: center; - font-size: 12px; -} - -td.charmapOver { - background-color: #CCCCCC; - cursor: default; -} - -a.charmap { - color: #000000; - text-decoration: none -} - -.wordWrapCode { - vertical-align: middle; - border: 1px none #000000; - background-color: transparent; -} - -input.radio { - border: 1px none #000000; - background-color: transparent; - vertical-align: middle; -} - -input.checkbox { - border: 1px none #000000; - background-color: transparent; - vertical-align: middle; -} - -.mceButtonNormal, .mceButtonOver, .mceButtonDown, .mceSeparator, .mceButtonDisabled, .mceButtonSelected { - margin-left: 1px; -} - -.mceButtonNormal { - border-top: 1px solid; - border-left: 1px solid; - border-bottom: 1px solid; - border-right: 1px solid; - border-color: #F0F0EE; - cursor: default; -} - -.mceButtonOver { - border: 1px solid #0A246A; - cursor: default; - background-color: #B6BDD2; -} - -.mceButtonDown { - cursor: default; - border: 1px solid #0A246A; - background-color: #8592B5; -} - -.mceButtonDisabled { - filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); - -moz-opacity:0.3; - opacity: 0.3; - border-top: 1px solid; - border-left: 1px solid; - border-bottom: 1px solid; - border-right: 1px solid; - border-color: #F0F0EE; - cursor: default; -} - -.mceActionPanel { - margin-top: 5px; -} - -/* Tabs classes */ - -.tabs { - float: left; - width: 100%; - line-height: normal; - background-image: url("../images/xp/tabs_bg.gif"); -} - -.tabs ul { - margin: 0; - padding: 0 0 0; - list-style: none; -} - -.tabs li { - float: left; - background: url("../images/xp/tab_bg.gif") no-repeat left top; - margin: 0; - margin-left: 0; - margin-right: 2px; - padding: 0 0 0 10px; - line-height: 18px; -} - -.tabs li.current { - background: url("../images/xp/tab_sel_bg.gif") no-repeat left top; - margin-right: 2px; -} - -.tabs span { - float: left; - display: block; - background: url("../images/xp/tab_end.gif") no-repeat right top; - padding: 0px 10px 0 0; -} - -.tabs .current span { - background: url("../images/xp/tab_sel_end.gif") no-repeat right top; -} - -.tabs a { - text-decoration: none; - font-family: Verdana, Arial; - font-size: 10px; -} - -.tabs a:link, .tabs a:visited, .tabs a:hover { - color: black; -} - -.tabs a:hover { -} - -.tabs .current { -} - -.tabs .current a, .tabs .current a:link, .tabs .current a:visited { -} - -.panel_wrapper div.panel { - display: none; -} - -.panel_wrapper div.current { - display: block; - width: 100%; - height: 300px; - overflow: visible; /* Should be auto but that breaks Safari */ -} - -.panel_wrapper { - border: 1px solid #919B9C; - border-top: 0px; - padding: 10px; - padding-top: 5px; - clear: both; - background-color: white; -} - -fieldset { - border: 1px solid #919B9C; - font-family: Verdana, Arial; - font-size: 10px; - padding: 0; - margin: 0; - padding: 4px; -} - -legend { - color: #2B6FB6; - font-weight: bold; -} - -.properties { - width: 100%; -} - -.properties .column1 { -} - -.properties .column2 { - text-align: left; -} - -a:link, a:visited { - color: black; -} - -a:hover { - color: #2B6FB6; -} - -#plugintable thead { - font-weight: bold; - background-color: #DDDDDD; -} - -#plugintable, #about #plugintable td { - border: 1px solid #919B9C; -} - -#plugintable { - width: 99%; - margin-top: 10px; -} - -#pluginscontainer { - height: 290px; - overflow: auto; -} - -/* MSIE Specific styles */ - -* html .panel_wrapper { - width: 100%; -} - -.column { - float: left; -} - -h1, h2, h3, h4 { - color: #2B6FB6; - margin: 0; - padding: 0; - padding-top: 5px; -} - -h3 { - font-size: 14px; -} - -#link .panel_wrapper, #link div.current { - height: 125px; -} - -#image .panel_wrapper, #image div.current { - height: 190px; -} - -label.msg { display: none; } -label.invalid { color: #EE0000; display: inline; } -input.invalid { border: 1px solid #EE0000; } - -/* Disables the advanced tab in the table plugin. */ -/* -#table #advanced_tab { - display: none; -} -*/ - -/* Disables the border input field and label in the table plugin. */ -/* -#table #border, #table #borderlabel { - display: none; -} -*/ diff --git a/skins/default/editor_ui.css b/skins/default/editor_ui.css deleted file mode 100644 index 851837d91..000000000 --- a/skins/default/editor_ui.css +++ /dev/null @@ -1,97 +0,0 @@ -/* This file contains the CSS data for the editor UI of TinyMCE instances */ - -.mceToolbarTop a, .mceToolbarTop a:visited, .mceToolbarTop a:hover, .mceToolbarBottom a, .mceToolbarBottom a:visited, .mceToolbarBottom a:hover {border: 0; margin: 0; padding: 0; background: transparent;} -.mceSeparatorLine {border: 0; padding: 0; margin-left: 4px; margin-right: 2px;} -.mceSelectList {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 7pt !important; font-weight: normal; margin-top: 3px; padding: 0; display: inline; vertical-align: top; background-color: #F0F0EE;} -.mceLabel, .mceLabelDisabled {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt;} -.mceLabel {color: #000000;} -.mceLabelDisabled {cursor: text; color: #999999;} -.mceEditor {background: #F0F0EE; border: 1px solid #cccccc; padding: 0; margin: 0;} -.mceEditorArea { font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; background: #FFFFFF; padding: 0; margin: 0; } -.mceToolbarTop, .mceToolbarBottom {background: #F0F0EE; line-height: 1px; font-size: 1px;} -.mceToolbarTop {border-bottom: 1px solid #cccccc; padding-bottom: 1px;} -.mceToolbarBottom {border-top: 1px solid #cccccc;} -.mceToolbarContainer {display: block; position: relative; left: 0; top: 0; width: 100%;} -.mceStatusbarTop, .mceStatusbarBottom, .mceStatusbar {height: 20px;} -.mceStatusbarTop .mceStatusbarPathText, .mceStatusbarBottom .mceStatusbarPathText, .mceStatusbar .mceStatusbarPathText {font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt; padding: 2px; line-height: 16px; overflow: visible;} -.mceStatusbarTop {border-bottom: 1px solid #cccccc;} -.mceStatusbarBottom {border-top: 1px solid #cccccc;} -.mceStatusbar {border-bottom: 1px solid #cccccc;} -.mcePathItem, .mcePathItem:link, .mcePathItem:visited, .mcePathItem:hover {text-decoration: none; font-family: 'MS Sans Serif', sans-serif, Verdana, Arial; font-size: 9pt; color: #000000;} -.mcePathItem:hover {text-decoration: underline;} -.mceStatusbarPathText {float: left;} -.mceStatusbarResize {float: right; background-image: url('../images/statusbar_resize.gif'); background-repeat: no-repeat; width: 11px; height: 20px; cursor: se-resize;} -.mceResizeBox {width: 10px; height: 10px; display: none; border: 1px dotted gray; margin: 0; padding: 0;} -.mceEditorIframe {border: 0;} - -/* Button CSS rules */ - -a.mceButtonDisabled img, a.mceButtonNormal img, a.mceButtonSelected img {width: 20px; height: 20px; cursor: default; margin-top: 1px; margin-left: 1px;} -a.mceButtonDisabled img {border: 0 !important;} -a.mceButtonNormal img, a.mceButtonSelected img {border: 1px solid #F0F0EE !important;} -a.mceButtonSelected img {border: 1px solid #6779AA !important; background-color: #D4D5D8;} -a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {border: 1px solid #0A246A !important; cursor: default; background-color: #B6BDD2;} -a.mceButtonDisabled img {-moz-opacity:0.3; opacity: 0.3; border: 1px solid #F0F0EE !important; cursor: default;} -a.mceTiledButton img {background-image: url('../images/buttons.gif'); background-repeat: no-repeat;} - -/* Menu button CSS rules */ - -span.mceMenuButton img, span.mceMenuButtonSelected img {border: 1px solid #F0F0EE; margin-left: 1px;} -span.mceMenuButtonSelected img {border: 1px solid #6779AA; background-color: #B6BDD2;} -span.mceMenuButtonSelected img.mceMenuButton {border: 1px solid #F0F0EE; background-color: transparent;} -span.mceMenuButton img.mceMenuButton, span.mceMenuButtonSelected img.mceMenuButton {border-left: 0; margin-left: 0;} -span.mceMenuButton:hover img, span.mceMenuButtonSelected:hover img {border: 1px solid #0A246A; background-color: #B6BDD2;} -span.mceMenuButton:hover img.mceMenuButton, span.mceMenuButtonSelected:hover img.mceMenuButton {border-left: 0;} -span.mceMenuButtonFocus img {border: 1px solid gray; border-right: 0; margin-left: 1px; background-color: #F5F4F2;} -span.mceMenuButtonFocus img.mceMenuButton {border: 1px solid gray; border-left: 1px solid #F5F4F2; margin-left: 0;} -span.mceMenuHover img {border: 1px solid #0A246A; background-color: #B6BDD2;} -span.mceMenuButtonSelected.mceMenuHover img.mceMenuButton {border: 1px solid #0A246A; background-color: #B6BDD2; border-left: 0;} - -/* Menu */ - -.mceMenu {position: absolute; left: 0; top: 0; display: none; z-index: 1000; background-color: white; border: 1px solid gray; font-weight: normal;} -.mceMenu a, .mceMenuTitle, .mceMenuDisabled {display: block; width: 100%; text-decoration: none; background-color: white; font-family: Tahoma, Verdana, Arial, Helvetica; font-size: 11px; line-height: 20px; color: black;} -.mceMenu a:hover {background-color: #B6BDD2; color: black; text-decoration: none !important;} -.mceMenu span {padding-left: 10px; padding-right: 10px; display: block; line-height: 20px;} -.mceMenuSeparator {border-bottom: 1px solid gray; background-color: gray; height: 1px;} -.mceMenuTitle span {padding-left: 5px;} -.mceMenuTitle {background-color: #DDDDDD; font-weight: bold;} -.mceMenuDisabled {color: gray;} -span.mceMenuSelectedItem {background-image: url('../images/menu_check.gif'); background-repeat: no-repeat; background-position: 5px 8px; padding-left: 20px;} -span.mceMenuCheckItem {padding-left: 20px;} -span.mceMenuLine {display: block; position: absolute; left: 0; top: -1px; background-color: #F5F4F2; width: 30px; height: 1px; overflow: hidden; padding-left: 0; padding-right: 0;} -.mceColors table, .mceColors td {margin: 0; padding: 2px;} -a.mceMoreColors {width: auto; padding: 0; margin: 0 3px 3px 3px; text-align: center; border: 1px solid white; text-decoration: none !important;} -.mceColorPreview {position: absolute; overflow:hidden; left: 0; top: 0; margin-left: 3px; margin-top: 15px; width: 16px; height: 4px; background-color: red;} -a.mceMoreColors:hover {border: 1px solid #0A246A;} -.mceColors td a {width: 9px; height: 9px; overflow: hidden; border: 1px solid #808080;} - -/* MSIE 6 specific rules */ - -* html a.mceButtonNormal img, * html a.mceButtonSelected img, * html a.mceButtonDisabled img {border: 0 !important; margin-top: 2px; margin-bottom: 1px;} -* html a.mceButtonDisabled img {filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); border: 0 !important;} -* html a.mceButtonDisabled {border: 1px solid #F0F0EE !important;} -* html a.mceButtonNormal, * html a.mceButtonSelected {border: 1px solid #F0F0EE !important; cursor: default;} -* html a.mceButtonSelected {border: 1px solid #6779AA !important; background-color: #D4D5D8;} -* html a.mceButtonNormal:hover, * html a.mceButtonSelected:hover {border: 1px solid #0A246A !important; background-color: #B6BDD2; cursor: default;} -* html .mceSelectList {margin-top: 2px;} -* html span.mceMenuButton, * html span.mceMenuButtonFocus {position: relative; left: 0; top: 0;} -* html span.mceMenuButton img, * html span.mceMenuButtonSelected img, * html span.mceMenuButtonFocus img {position: relative; top: 1px;} -* html a.mceMoreColors {width: auto;} -* html .mceColors td a {width: 10px; height: 10px;} -* html .mceColorPreview {margin-left: 2px; margin-top: 14px;} - -/* MSIE 7 specific rules */ - -*:first-child+html a.mceButtonNormal img, *:first-child+html a.mceButtonSelected img, *:first-child+html a.mceButtonDisabled img {border: 0 !important; margin-top: 2px; margin-bottom: 1px;} -*:first-child+html a.mceButtonDisabled img {filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30); border: 0 !important;} -*:first-child+html a.mceButtonDisabled {border: 1px solid #F0F0EE !important;} -*:first-child+html a.mceButtonNormal, *:first-child+html a.mceButtonSelected {border: 1px solid #F0F0EE !important; cursor: default;} -*:first-child+html a.mceButtonSelected {border: 1px solid #6779AA !important; background-color: #D4D5D8;} -*:first-child+html a.mceButtonNormal:hover, *:first-child+html a.mceButtonSelected:hover {border: 1px solid #0A246A !important; background-color: #B6BDD2; cursor: default;} -*:first-child+html .mceSelectList {margin-top: 2px;} -*:first-child+html span.mceMenuButton, *:first-child+html span.mceMenuButtonFocus {position: relative; left: 0; top: 0;} -*:first-child+html span.mceMenuButton img, *:first-child+html span.mceMenuButtonSelected img, *:first-child+html span.mceMenuButtonFocus img {position: relative; top: 1px;} -*:first-child+html a.mceMoreColors {width: 137px;} -*:first-child+html .mceColors td a {width: 10px; height: 10px;} -*:first-child+html .mceColorPreview {margin: 0; padding-left: 4px; margin-top: 14px; width: 14px;} diff --git a/skins/default/splitter.js b/skins/default/splitter.js deleted file mode 100644 index 97965a245..000000000 --- a/skins/default/splitter.js +++ /dev/null @@ -1,209 +0,0 @@ - -/** - * RoundCube splitter GUI class - * - * @constructor - */ -function rcube_splitter(attrib) - { - this.p1id = attrib.p1; - this.p2id = attrib.p2; - this.id = attrib.id ? attrib.id : this.p1id + '_' + this.p2id + '_splitter'; - this.orientation = attrib.orientation; - this.horizontal = (this.orientation == 'horizontal' || this.orientation == 'h'); - this.offset_1 = bw.ie ? 0 : (bw.safari ? 2 : -1); - this.offset_2 = bw.ie ? -2 : (bw.safari ? -2 : 1); - this.pos = 0; - - this.init = function() - { - this.p1 = document.getElementById(this.p1id); - this.p2 = document.getElementById(this.p2id); - - // create and position the handle for this splitter - this.p1pos = rcube_get_object_pos(this.p1); - this.p2pos = rcube_get_object_pos(this.p2); - var top = this.p1pos.y + this.p1.offsetHeight; - var height = this.p2pos.y - this.p1pos.y - this.p1.offsetHeight; - var left = this.p1pos.x + this.p1.offsetWidth; - var width = this.p2pos.x - this.p1pos.x - this.p1.offsetWidth; - - if (this.horizontal) - this.layer = new rcube_layer(this.id, {x: this.p1pos.x, y: top, height: height, width: this.p1.offsetWidth, vis: 1}); - else - this.layer = new rcube_layer(this.id, {x: left, y: this.p1pos.y, width: width, height: this.p1.offsetHeight, vis: 1}); - - this.elm = this.layer.elm; - this.elm.className = 'splitter '+(this.horizontal ? 'splitter-h' : 'splitter-v'); - - // add the mouse event listeners - rcube_event.add_listener({element: this.elm, event:'mousedown', object:this, method:'onDragStart'}); - rcube_event.add_listener({element: window, event:'resize', object:this, method:'onResize'}); - - // read saved position form cookie - var cookie = bw.get_cookie(this.id); - if (cookie) - { - var param = cookie.split(':'); - for (var i=0, p; i this.p1pos.y) && ((pos.y + this.layer.height * 1.5) < (this.p2pos.y + this.p2.offsetHeight))) - { - this.pos = pos.y; - this.resize(); - } - } - else - { - if (((pos.x - this.layer.width * 1.5) > this.p1pos.x) && ((pos.x + this.layer.width * 1.5) < (this.p2pos.x + this.p2.offsetWidth))) - { - this.pos = pos.x; - this.resize(); - } - } - - this.p1pos = rcube_get_object_pos(this.p1); - this.p2pos = rcube_get_object_pos(this.p2); - return false; - }; - - /** - * Handler for mouseup events - */ - this.onDragStop = function(e) - { - // cancel the listening for drag events - rcube_event.remove_listener({element:document, event:'mousemove', object:this, method:'onDrag'}); - rcube_event.remove_listener({element:document, event:'mouseup', object:this, method:'onDragStop'}); - var iframes = document.getElementsByTagName('IFRAME'); - - for (var n in iframes) - { - var iframedoc; - if (iframes[n].contentDocument) - iframedoc = iframes[n].contentDocument; - else if (iframes[n].contentWindow) - iframedoc = iframes[n].contentWindow.document; - else if (iframes[n].document) - iframedoc = iframes[n].document; - if (iframedoc) - { - if (this.iframe_events[n]) { - if (iframedoc.removeEventListener) - iframedoc.removeEventListener('mousemove', this.iframe_events[n], false); - else if (iframedoc.detachEvent) - iframedoc.detachEvent('onmousemove', this.iframe_events[n]); - else - iframedoc['onmousemove'] = null; - } - - rcube_event.remove_listener({element:iframedoc, event:'mouseup', object:this, method:'onDragStop'}); - } - } - - // save state in cookie - var exp = new Date(); - exp.setYear(exp.getFullYear() + 1); - bw.set_cookie(this.id, 'pos='+this.pos, exp); - - return bw.safari ? true : rcube_event.cancel(e); - }; - - /** - * Handler for window resize events - */ - this.onResize = function(e) - { - this.p1pos = rcube_get_object_pos(this.p1); - this.p2pos = rcube_get_object_pos(this.p2); - var height = this.horizontal ? this.p2pos.y - this.p1pos.y - this.p1.offsetHeight : this.p1.offsetHeight; - var width = this.horizontal ? this.p1.offsetWidth : this.p2pos.x - this.p1pos.x - this.p1.offsetWidth; - this.layer.resize(width, height); - }; - - } // end class rcube_splitter diff --git a/skins/default/templates/addressbook.html b/skins/default/templates/addressbook.html index a97f584de..d1d202f85 100644 --- a/skins/default/templates/addressbook.html +++ b/skins/default/templates/addressbook.html @@ -4,7 +4,6 @@ <roundcube:object name="pagetitle" /> - @@ -15,8 +14,6 @@ - -
@@ -42,11 +39,6 @@
- -
diff --git a/skins/default/templates/compose.html b/skins/default/templates/compose.html index 8fbb2985e..1427371a7 100644 --- a/skins/default/templates/compose.html +++ b/skins/default/templates/compose.html @@ -97,19 +97,10 @@ function rcmail_toggle_display(id) - - - - - -
+
-
- :  - -
- +
diff --git a/skins/default/templates/mail.html b/skins/default/templates/mail.html index 183a14ff7..05c6ec7c6 100644 --- a/skins/default/templates/mail.html +++ b/skins/default/templates/mail.html @@ -4,7 +4,6 @@ <roundcube:object name="pagetitle" /> - @@ -55,22 +54,6 @@ attachmentIcon="/images/icons/attachment.png" /> - - -
- -
- - -
:  -- cgit v1.2.3