From b65fab6463557a34bd5d6afad5187ef4c5dd86cc Mon Sep 17 00:00:00 2001 From: pb Date: Wed, 28 Dec 2011 01:01:18 +0000 Subject: [PATCH] Update Xinha auf die aktuelle Version 0.96. git-svn-id: https://svn.libreccm.org/ccm/trunk@1403 8810af33-2d31-482b-a856-94f89814c4df --- ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js | 24 +- .../web/assets/xinha/CCMcoreXinhaConfig.js | 24 +- ccm-core/web/assets/xinha/Xinha.css | 275 +- .../web/assets/xinha/Xinha.css_uncompr.js | 477 +++ ccm-core/web/assets/xinha/XinhaConfig.js | 19 - ccm-core/web/assets/xinha/XinhaCore.js | 3804 +---------------- ccm-core/web/assets/xinha/XinhaLoader.js | 173 +- .../web/assets/xinha/contrib/compress.bat | 7 + .../web/assets/xinha/contrib/compress.php | 99 + .../web/assets/xinha/contrib/compress_yui.php | 107 + .../xinha/contrib/dojo_js_compressor.jar | Bin 0 -> 817536 bytes .../assets/xinha/contrib/lc_merge_strings.php | 178 + .../assets/xinha/contrib/lc_parse_strings.php | 325 ++ .../web/assets/xinha/contrib/php-xinha.php | 13 +- .../xinha/contrib/yuicompressor-2.4.2.jar | Bin 0 -> 851219 bytes .../assets/xinha/examples/ExtendedDemo.html | 8 +- .../web/assets/xinha/examples/Newbie.html | 8 +- .../web/assets/xinha/examples/XinhaConfig.js | 20 +- .../examples/files/ext_example-body.html | 10 +- .../xinha/examples/files/ext_example-menu.php | 8 +- .../xinha/examples/files/full_example.css | 32 +- .../web/assets/xinha/examples/testbed.html | 15 +- ccm-core/web/assets/xinha/htmlarea.js | 30 +- .../assets/xinha/iconsets/Classic/de/bold.gif | Bin 0 -> 57 bytes .../xinha/iconsets/Classic/de/italic.gif | Bin 0 -> 63 bytes .../xinha/iconsets/Classic/de/underline.gif | Bin 0 -> 69 bytes .../iconsets/Classic/ed_buttons_main.gif | Bin 0 -> 6629 bytes .../xinha/iconsets/Classic/ed_charmap.gif | Bin 0 -> 134 bytes .../xinha/iconsets/Classic/ed_selectall.gif | Bin 0 -> 150 bytes .../assets/xinha/iconsets/Classic/fr/bold.gif | Bin 0 -> 128 bytes .../iconsets/Classic/fr/strikethrough.gif | Bin 0 -> 131 bytes .../xinha/iconsets/Classic/fr/underline.gif | Bin 0 -> 134 bytes .../assets/xinha/iconsets/Classic/iconset.xml | 263 ++ .../web/assets/xinha/iconsets/Crystal/LICENSE | 121 + .../web/assets/xinha/iconsets/Crystal/README | 3 + .../iconsets/Crystal/ed_buttons_main.png | Bin 0 -> 17835 bytes .../assets/xinha/iconsets/Crystal/iconset.xml | 234 + .../web/assets/xinha/iconsets/Tango/README | 3 + .../xinha/iconsets/Tango/ed_buttons_main.png | Bin 0 -> 20448 bytes .../assets/xinha/iconsets/Tango/iconset.xml | 233 + .../assets/xinha/images/ed_buttons_main.png | Bin 0 -> 20448 bytes .../tango/16x16/actions/document-new.png | Bin 0 -> 477 bytes .../tango/16x16/actions/document-open.png | Bin 0 -> 537 bytes .../tango/16x16/actions/document-print.png | Bin 0 -> 544 bytes .../tango/16x16/actions/document-save.png | Bin 0 -> 911 bytes .../images/tango/16x16/actions/edit-copy.png | Bin 0 -> 498 bytes .../images/tango/16x16/actions/edit-redo.png | Bin 0 -> 591 bytes .../tango/16x16/actions/edit-select-all.png | Bin 0 -> 441 bytes .../images/tango/16x16/actions/edit-undo.png | Bin 0 -> 650 bytes .../images/tango/16x16/actions/folder-new.png | Bin 0 -> 635 bytes .../format-direction-left-to-right.png | Bin 0 -> 724 bytes .../format-direction-right-to-left.png | Bin 0 -> 729 bytes .../16x16/actions/format-indent-less.png | Bin 0 -> 436 bytes .../16x16/actions/format-indent-more.png | Bin 0 -> 435 bytes .../16x16/actions/format-justify-center.png | Bin 0 -> 330 bytes .../16x16/actions/format-justify-fill.png | Bin 0 -> 317 bytes .../16x16/actions/format-justify-left.png | Bin 0 -> 324 bytes .../16x16/actions/format-justify-right.png | Bin 0 -> 342 bytes .../actions/format-text-background-color.png | Bin 0 -> 536 bytes .../tango/16x16/actions/format-text-bold.png | Bin 0 -> 705 bytes .../tango/16x16/actions/format-text-color.png | Bin 0 -> 645 bytes .../16x16/actions/format-text-italic.png | Bin 0 -> 619 bytes .../actions/format-text-strikethrough.png | Bin 0 -> 611 bytes .../16x16/actions/format-text-subscript.png | Bin 0 -> 713 bytes .../16x16/actions/format-text-superscript.png | Bin 0 -> 738 bytes .../16x16/actions/format-text-underline.png | Bin 0 -> 673 bytes .../images/tango/16x16/actions/go-up.png | Bin 0 -> 652 bytes .../tango/16x16/actions/insert-link.png | Bin 0 -> 365 bytes .../tango/16x16/actions/insert-table.png | Bin 0 -> 364 bytes .../tango/16x16/actions/toggle-borders.png | Bin 0 -> 364 bytes .../tango/16x16/actions/view-fullscreen.png | Bin 0 -> 650 bytes .../tango/16x16/actions/view-restore.png | Bin 0 -> 587 bytes .../16x16/apps/accessories-character-map.png | Bin 0 -> 558 bytes .../images/tango/16x16/apps/help-browser.png | Bin 0 -> 932 bytes .../tango/16x16/mimetypes/image-x-generic.png | Bin 0 -> 558 bytes .../images/tango/16x16/places/user-trash.png | Bin 0 -> 655 bytes .../tango/32x32/apps/internet-web-browser.png | Bin 0 -> 2251 bytes .../tango/32x32/mimetypes/text-html.png | Bin 0 -> 1759 bytes .../tango/32x32/mimetypes/text-x-generic.png | Bin 0 -> 744 bytes .../32x32/mimetypes/x-office-document.png | Bin 0 -> 902 bytes .../images/tango/32x32/places/folder.png | Bin 0 -> 1015 bytes .../tango/32x32/places/network-server.png | Bin 0 -> 847 bytes .../web/assets/xinha/images/tango/COPYING | 67 + .../assets/xinha/images/xinha-small-icon.gif | Bin 0 -> 556 bytes ccm-core/web/assets/xinha/lang/da.js | 158 +- ccm-core/web/assets/xinha/lang/de.js | 4 +- ccm-core/web/assets/xinha/lang/es.js | 6 +- ccm-core/web/assets/xinha/lang/eu.js | 2 +- ccm-core/web/assets/xinha/lang/fa.js | 2 +- ccm-core/web/assets/xinha/lang/fr.js | 4 +- ccm-core/web/assets/xinha/lang/ja.js | 6 +- ccm-core/web/assets/xinha/lang/pl.js | 2 +- ccm-core/web/assets/xinha/lang/pt_br.js | 6 +- ccm-core/web/assets/xinha/lang/ru.js | 6 +- ccm-core/web/assets/xinha/lang/sh.js | 2 +- ccm-core/web/assets/xinha/lang/sr.js | 2 +- .../assets/xinha/modules/AboutBox/AboutBox.js | 2 + .../assets/xinha/modules/AboutBox/about.css | 51 + .../assets/xinha/modules/AboutBox/dialog.html | 95 + .../xinha/modules/ColorPicker/ColorPicker.js | 624 +-- .../CreateLink/CCMmod}/lang/pt_br.js | 4 +- .../xinha/modules/CreateLink/CCMmod/link.html | 150 + .../xinha/modules/CreateLink/CCMmod/link.js | 87 + .../xinha/modules/CreateLink/Orig/dialog.html | 28 + .../CreateLink/Orig}/lang/pt_br.js | 5 +- .../xinha/modules/CreateLink/Orig/link.html | 136 + .../xinha/modules/CreateLink/Orig/link.js | 2 + .../modules/CreateLink/Orig/pluginMethods.js | 2 + .../xinha/modules/Dialogs/DetachedDialog.js | 74 + .../xinha/modules/Dialogs/XinhaDialog.js | 2 + .../assets/xinha/modules/Dialogs/dialog.js | 75 +- .../xinha/modules/Dialogs/div-dialog.js | 70 + .../xinha/modules/Dialogs/inline-dialog.js | 207 - .../xinha/modules/Dialogs/panel-dialog.js | 126 +- .../assets/xinha/modules/Dialogs/popupwin.js | 123 +- .../xinha/modules/FullScreen/full-screen.js | 139 +- .../xinha/modules/FullScreen/lang/es.js | 6 + .../xinha/modules/FullScreen/lang/nl.js | 6 + .../web/assets/xinha/modules/Gecko/Gecko.js | 461 +- .../xinha/modules/Gecko/paraHandlerBest.js | 296 +- .../assets/xinha/modules/GetHtml/DOMwalk.js | 187 +- .../modules/GetHtml/TransformInnerHTML.js | 151 +- .../modules/InlineStyler/InlineStyler.js | 2 + .../xinha/modules/InsertImage/dialog.html | 83 + .../xinha/modules/InsertImage/insert_image.js | 119 +- .../modules/InsertImage/pluginMethods.js | 2 + .../xinha/modules/InsertTable/dialog.html | 100 + .../modules/InsertTable/insert_table.html | 4 +- .../xinha/modules/InsertTable/insert_table.js | 66 +- .../modules/InsertTable/pluginMethods.js | 2 + .../InternetExplorer/InternetExplorer.js | 337 +- .../web/assets/xinha/modules/Opera/Opera.js | 464 +- .../web/assets/xinha/modules/WebKit/WebKit.js | 478 +-- .../plugins/Abbreviation/Abbreviation.js | 2 + .../plugins/Abbreviation/abbreviation.js | 65 - .../xinha/plugins/Abbreviation/dialog.html | 16 + .../xinha/plugins/Abbreviation/lang/es.js | 8 + .../Abbreviation/popups/abbreviation.html | 92 - .../BackgroundImage/background-image.js | 31 - .../BackgroundImage/backgrounds/blufur.jpg | Bin 3329 -> 0 bytes .../BackgroundImage/backgrounds/palecnvs.jpg | Bin 3480 -> 0 bytes .../BackgroundImage/backgrounds/ppplcnvs.jpg | Bin 3811 -> 0 bytes .../backgrounds/thumbnails/blufur.jpg | Bin 1193 -> 0 bytes .../backgrounds/thumbnails/palecnvs.jpg | Bin 1145 -> 0 bytes .../backgrounds/thumbnails/ppplcnvs.jpg | Bin 3811 -> 0 bytes .../backgrounds/thumbnails/ylwsand.jpg | Bin 3758 -> 0 bytes .../BackgroundImage/backgrounds/ylwsand.jpg | Bin 3758 -> 0 bytes .../BackgroundImage/img/ed_bgimage.gif | Bin 224 -> 0 bytes .../xinha/plugins/BackgroundImage/lang/de.js | 9 - .../xinha/plugins/BackgroundImage/lang/fr.js | 8 - .../xinha/plugins/BackgroundImage/lang/ja.js | 8 - .../xinha/plugins/BackgroundImage/lang/nb.js | 9 - .../xinha/plugins/BackgroundImage/lang/nl.js | 9 - .../plugins/BackgroundImage/lang/pt_br.js | 21 - .../BackgroundImage/popups/bgimage.html | 49 - ccm-core/web/assets/xinha/plugins/CSS/CSS.js | 2 + ccm-core/web/assets/xinha/plugins/CSS/css.js | 77 - .../xinha/plugins/CSSPicker/CSSPicker.js | 2 + .../xinha/plugins/CharCounter/CharCounter.js | 2 + .../xinha/plugins/CharCounter/char-counter.js | 109 - .../plugins/CharacterMap/CharacterMap.css | 6 +- .../plugins/CharacterMap/CharacterMap.js | 2 + .../plugins/CharacterMap/character-map.js | 71 - .../xinha/plugins/CharacterMap/lang/es.js | 7 + .../clientside-spellcheck.js | 36 - .../img/clientside-spellcheck.gif | Bin 97 -> 0 bytes .../img/he-spell-check.gif | Bin 100 -> 0 bytes .../plugins/ClientsideSpellcheck/lang/de.js | 8 - .../plugins/ClientsideSpellcheck/lang/ja.js | 7 - .../plugins/ClientsideSpellcheck/lang/nb.js | 3 - .../plugins/ClientsideSpellcheck/lang/nl.js | 8 - .../ClientsideSpellcheck/lang/pt_br.js | 18 - .../xinha/plugins/ContextMenu/ContextMenu.js | 2 + .../xinha/plugins/ContextMenu/context-menu.js | 390 -- .../xinha/plugins/ContextMenu/lang/es.js | 51 + .../plugins/DefinitionList/DefinitionList.js | 91 + .../DefinitionList/definition-list.css | 6 - .../plugins/DefinitionList/definition-list.js | 74 - .../xinha/plugins/DefinitionList/lang/nl.js | 2 +- .../xinha/plugins/DoubleClick/double-click.js | 30 - .../xinha/plugins/DynamicCSS/DynamicCSS.js | 2 + .../xinha/plugins/DynamicCSS/dynamiccss.js | 202 - .../assets/xinha/plugins/EditTag/EditTag.js | 56 + .../assets/xinha/plugins/EditTag/edit-tag.js | 26 - .../xinha/plugins/Equation/ASCIIMathML.js | 703 +-- .../assets/xinha/plugins/Equation/Equation.js | 2 + .../assets/xinha/plugins/Equation/equation.js | 146 - .../xinha/plugins/Equation/popups/dialog.html | 23 +- .../Classes/ExtendedFileManager.php | 825 ---- .../plugins/ExtendedFileManager/Readme.txt | 111 - .../assets/EditorContent.js | 662 --- .../assets/ImageEditor.css | 76 - .../ExtendedFileManager/assets/dialog.js | 83 - .../assets/dragTableCols.js | 126 - .../ExtendedFileManager/assets/editor.js | 192 - .../assets/editorFrame.css | 17 - .../ExtendedFileManager/assets/editorFrame.js | 91 - .../ExtendedFileManager/assets/hover.htc | 34 - .../ExtendedFileManager/assets/imagelist.css | 55 - .../ExtendedFileManager/assets/images.js | 245 -- .../ExtendedFileManager/assets/manager.css | 49 - .../ExtendedFileManager/assets/manager.js | 401 -- .../ExtendedFileManager/assets/popup.js | 71 - .../ExtendedFileManager/assets/slider.js | 87 - .../assets/wz_jsgraphics.js | 778 ---- .../plugins/ExtendedFileManager/backend.php | 110 - .../ExtendedFileManager/config.inc.php | 387 -- .../ExtendedFileManager/demo_images/.htaccess | 2 - .../demo_images/bikerpeep.jpg | Bin 27684 -> 0 bytes .../demo_images/linux/linux.gif | Bin 11803 -> 0 bytes .../demo_images/wesnoth078.jpg | Bin 8460 -> 0 bytes .../plugins/ExtendedFileManager/editor.php | 172 - .../ExtendedFileManager/editorFrame.php | 84 - .../extended-file-manager.js | 242 -- .../plugins/ExtendedFileManager/icons/def.gif | Bin 1100 -> 0 bytes .../ExtendedFileManager/icons/def_small.gif | Bin 291 -> 0 bytes .../plugins/ExtendedFileManager/icons/doc.gif | Bin 479 -> 0 bytes .../ExtendedFileManager/icons/doc_small.gif | Bin 140 -> 0 bytes .../plugins/ExtendedFileManager/icons/fla.gif | Bin 321 -> 0 bytes .../ExtendedFileManager/icons/fla_small.gif | Bin 250 -> 0 bytes .../ExtendedFileManager/icons/folder.gif | Bin 1191 -> 0 bytes .../icons/folder_small.gif | Bin 226 -> 0 bytes .../ExtendedFileManager/icons/gif_small.gif | Bin 119 -> 0 bytes .../plugins/ExtendedFileManager/icons/gz.gif | Bin 2163 -> 0 bytes .../ExtendedFileManager/icons/gz_small.gif | Bin 612 -> 0 bytes .../ExtendedFileManager/icons/html.gif | Bin 2223 -> 0 bytes .../ExtendedFileManager/icons/html_small.gif | Bin 622 -> 0 bytes .../ExtendedFileManager/icons/jpg_small.gif | Bin 119 -> 0 bytes .../plugins/ExtendedFileManager/icons/js.gif | Bin 211 -> 0 bytes .../ExtendedFileManager/icons/js_small.gif | Bin 110 -> 0 bytes .../plugins/ExtendedFileManager/icons/mov.gif | Bin 2326 -> 0 bytes .../ExtendedFileManager/icons/mov_small.gif | Bin 353 -> 0 bytes .../plugins/ExtendedFileManager/icons/pdf.gif | Bin 621 -> 0 bytes .../ExtendedFileManager/icons/pdf_small.gif | Bin 230 -> 0 bytes .../plugins/ExtendedFileManager/icons/php.gif | Bin 419 -> 0 bytes .../ExtendedFileManager/icons/php_small.gif | Bin 120 -> 0 bytes .../ExtendedFileManager/icons/png_small.gif | Bin 119 -> 0 bytes .../plugins/ExtendedFileManager/icons/ppt.gif | Bin 413 -> 0 bytes .../ExtendedFileManager/icons/ppt_small.gif | Bin 139 -> 0 bytes .../plugins/ExtendedFileManager/icons/rar.gif | Bin 1718 -> 0 bytes .../ExtendedFileManager/icons/rar_small.gif | Bin 564 -> 0 bytes .../plugins/ExtendedFileManager/icons/txt.gif | Bin 304 -> 0 bytes .../ExtendedFileManager/icons/txt_small.gif | Bin 119 -> 0 bytes .../plugins/ExtendedFileManager/icons/xls.gif | Bin 467 -> 0 bytes .../ExtendedFileManager/icons/xls_small.gif | Bin 139 -> 0 bytes .../plugins/ExtendedFileManager/icons/zip.gif | Bin 2163 -> 0 bytes .../ExtendedFileManager/icons/zip_small.gif | Bin 612 -> 0 bytes .../plugins/ExtendedFileManager/images.php | 391 -- .../img/1x1_transparent.gif | Bin 43 -> 0 bytes .../plugins/ExtendedFileManager/img/2x2.gif | Bin 286 -> 0 bytes .../plugins/ExtendedFileManager/img/2x2_w.gif | Bin 286 -> 0 bytes .../ExtendedFileManager/img/btnFolderNew.gif | Bin 179 -> 0 bytes .../ExtendedFileManager/img/btnFolderNew1.gif | Bin 590 -> 0 bytes .../ExtendedFileManager/img/btnFolderUp.gif | Bin 182 -> 0 bytes .../ExtendedFileManager/img/btnFolderUp1.gif | Bin 596 -> 0 bytes .../ExtendedFileManager/img/btn_cancel.gif | Bin 672 -> 0 bytes .../ExtendedFileManager/img/btn_ok.gif | Bin 326 -> 0 bytes .../plugins/ExtendedFileManager/img/crop.gif | Bin 180 -> 0 bytes .../ExtendedFileManager/img/default.gif | Bin 226 -> 0 bytes .../plugins/ExtendedFileManager/img/div.gif | Bin 42 -> 0 bytes .../plugins/ExtendedFileManager/img/dots.gif | Bin 167 -> 0 bytes .../ExtendedFileManager/img/ed_linkfile.gif | Bin 288 -> 0 bytes .../ExtendedFileManager/img/ed_linkfile1.gif | Bin 253 -> 0 bytes .../ExtendedFileManager/img/edit_active.gif | Bin 151 -> 0 bytes .../ExtendedFileManager/img/edit_copy.gif | Bin 245 -> 0 bytes .../ExtendedFileManager/img/edit_cut.gif | Bin 217 -> 0 bytes .../ExtendedFileManager/img/edit_paste.gif | Bin 265 -> 0 bytes .../ExtendedFileManager/img/edit_pencil.gif | Bin 132 -> 0 bytes .../ExtendedFileManager/img/edit_rename.gif | Bin 321 -> 0 bytes .../ExtendedFileManager/img/edit_trash.gif | Bin 132 -> 0 bytes .../ExtendedFileManager/img/folder.gif | Bin 1191 -> 0 bytes .../plugins/ExtendedFileManager/img/hand.gif | Bin 103 -> 0 bytes .../ExtendedFileManager/img/islocked2.gif | Bin 321 -> 0 bytes .../ExtendedFileManager/img/locked.gif | Bin 398 -> 0 bytes .../ExtendedFileManager/img/measure.gif | Bin 93 -> 0 bytes .../ExtendedFileManager/img/noimages.gif | Bin 772 -> 0 bytes .../ExtendedFileManager/img/rotate.gif | Bin 85 -> 0 bytes .../plugins/ExtendedFileManager/img/save.gif | Bin 95 -> 0 bytes .../plugins/ExtendedFileManager/img/scale.gif | Bin 106 -> 0 bytes .../ExtendedFileManager/img/spacer.gif | Bin 43 -> 0 bytes .../ExtendedFileManager/img/t_black.gif | Bin 85 -> 0 bytes .../ExtendedFileManager/img/t_white.gif | Bin 85 -> 0 bytes .../ExtendedFileManager/img/unlocked.gif | Bin 218 -> 0 bytes .../ExtendedFileManager/img/unlocked2.gif | Bin 191 -> 0 bytes .../img/unlocked_empty.gif | Bin 73 -> 0 bytes .../plugins/ExtendedFileManager/lang/de.js | 119 - .../plugins/ExtendedFileManager/lang/es.js | 70 - .../plugins/ExtendedFileManager/lang/fr.js | 117 - .../plugins/ExtendedFileManager/lang/ja.js | 118 - .../plugins/ExtendedFileManager/lang/nb.js | 110 - .../plugins/ExtendedFileManager/lang/nl.js | 116 - .../plugins/ExtendedFileManager/lang/pl.js | 110 - .../plugins/ExtendedFileManager/lang/pt_br.js | 102 - .../plugins/ExtendedFileManager/manager.php | 285 -- .../plugins/ExtendedFileManager/prompt.html | 92 - .../plugins/ExtendedFileManager/resizer.php | 83 - .../plugins/ExtendedFileManager/thumbs.php | 85 - .../web/assets/xinha/plugins/Filter/filter.js | 46 - .../xinha/plugins/Filter/filters/paragraph.js | 10 - .../xinha/plugins/Filter/filters/word.js | 30 - .../xinha/plugins/Filter/img/ed_filter.gif | Bin 334 -> 0 bytes .../assets/xinha/plugins/Filter/lang/ja.js | 5 - .../assets/xinha/plugins/Filter/lang/nl.js | 6 - .../assets/xinha/plugins/Filter/lang/pt_br.js | 18 - .../xinha/plugins/FindReplace/FindReplace.js | 42 + .../xinha/plugins/FindReplace/find-replace.js | 27 - .../xinha/plugins/FindReplace/fr_engine.js | 147 +- .../FindReplace/popups/find_replace.html | 8 +- .../xinha/plugins/FormOperations/README | 32 - .../plugins/FormOperations/default_form.html | 36 - .../plugins/FormOperations/form-operations.js | 435 -- .../xinha/plugins/FormOperations/formmail.php | 95 - .../xinha/plugins/FormOperations/iframe.css | 1 - .../plugins/FormOperations/img/buttons.gif | Bin 1947 -> 0 bytes .../xinha/plugins/FormOperations/lang/de.js | 12 - .../xinha/plugins/FormOperations/lang/fr.js | 11 - .../xinha/plugins/FormOperations/lang/ja.js | 51 - .../xinha/plugins/FormOperations/lang/nb.js | 12 - .../xinha/plugins/FormOperations/lang/nl.js | 12 - .../plugins/FormOperations/lang/pt_br.js | 26 - .../xinha/plugins/FormOperations/panel.html | 213 - .../web/assets/xinha/plugins/Forms/forms.css | 3 - .../web/assets/xinha/plugins/Forms/forms.js | 349 -- .../xinha/plugins/Forms/img/ed_button.gif | Bin 89 -> 0 bytes .../xinha/plugins/Forms/img/ed_checkbox.gif | Bin 102 -> 0 bytes .../xinha/plugins/Forms/img/ed_fieldset.gif | Bin 76 -> 0 bytes .../xinha/plugins/Forms/img/ed_file.gif | Bin 130 -> 0 bytes .../xinha/plugins/Forms/img/ed_form.gif | Bin 114 -> 0 bytes .../xinha/plugins/Forms/img/ed_hidden.gif | Bin 83 -> 0 bytes .../xinha/plugins/Forms/img/ed_image.gif | Bin 562 -> 0 bytes .../xinha/plugins/Forms/img/ed_label.gif | Bin 58 -> 0 bytes .../xinha/plugins/Forms/img/ed_password.gif | Bin 111 -> 0 bytes .../xinha/plugins/Forms/img/ed_radio.gif | Bin 104 -> 0 bytes .../xinha/plugins/Forms/img/ed_reset.gif | Bin 97 -> 0 bytes .../xinha/plugins/Forms/img/ed_select.gif | Bin 111 -> 0 bytes .../xinha/plugins/Forms/img/ed_submit.gif | Bin 94 -> 0 bytes .../xinha/plugins/Forms/img/ed_text.gif | Bin 112 -> 0 bytes .../xinha/plugins/Forms/img/ed_textarea.gif | Bin 115 -> 0 bytes .../web/assets/xinha/plugins/Forms/lang/ja.js | 86 - .../web/assets/xinha/plugins/Forms/lang/nl.js | 87 - .../assets/xinha/plugins/Forms/lang/pt_br.js | 83 - .../xinha/plugins/Forms/popups/fieldset.html | 45 - .../xinha/plugins/Forms/popups/form.html | 89 - .../xinha/plugins/Forms/popups/input.html | 179 - .../xinha/plugins/Forms/popups/label.html | 58 - .../xinha/plugins/Forms/popups/select.html | 208 - .../xinha/plugins/Forms/popups/textarea.html | 112 - .../assets/xinha/plugins/FullPage/FullPage.js | 2 + .../xinha/plugins/FullPage/full-page.js | 203 - .../plugins/GenericPlugin/GenericPlugin.js | 100 + .../plugins/GenericPlugin/generic-plugin.js | 51 - .../assets/xinha/plugins/GetHtml/GetHtml.js | 17 + .../assets/xinha/plugins/GetHtml/get-html.js | 8 - .../plugins/HorizontalRule/HorizontalRule.js | 2 + .../plugins/HorizontalRule/horizontal-rule.js | 130 - .../plugins/HtmlEntities/HtmlEntities.js | 51 + .../plugins/HtmlEntities/html-entities.js | 21 - .../web/assets/xinha/plugins/HtmlTidy/README | 104 - .../plugins/HtmlTidy/html-tidy-config.cfg | 29 - .../plugins/HtmlTidy/html-tidy-logic.php | 79 - .../xinha/plugins/HtmlTidy/html-tidy.js | 72 - .../xinha/plugins/HtmlTidy/img/html-tidy.gif | Bin 599 -> 0 bytes .../assets/xinha/plugins/HtmlTidy/lang/de.js | 7 - .../assets/xinha/plugins/HtmlTidy/lang/fr.js | 8 - .../assets/xinha/plugins/HtmlTidy/lang/ja.js | 8 - .../assets/xinha/plugins/HtmlTidy/lang/nb.js | 7 - .../assets/xinha/plugins/HtmlTidy/lang/nl.js | 5 - .../xinha/plugins/HtmlTidy/lang/pt_br.js | 21 - .../plugins/ImageManager/Classes/Files.php | 666 +-- .../plugins/ImageManager/Classes/Flickr.php | 188 + .../ImageManager/Classes/ImageEditor.php | 7 + .../ImageManager/Classes/ImageManager.php | 12 +- .../plugins/ImageManager/Classes/JSON.php | 806 ++++ .../ImageManager/Classes/JSON_Compat.php | 52 + .../plugins/ImageManager/ImageManager.js | 2 + .../ImageManager/assets/EditorContent.js | 660 +-- .../plugins/ImageManager/assets/dialog.js | 83 +- .../plugins/ImageManager/assets/editor.css | 196 +- .../assets/editor.css_uncompr.js} | 28 +- .../plugins/ImageManager/assets/editor.js | 130 +- .../ImageManager/assets/editorFrame.js | 76 +- .../plugins/ImageManager/assets/imagelist.css | 2 + .../plugins/ImageManager/assets/images.js | 119 +- .../plugins/ImageManager/assets/manager.css | 1 + .../plugins/ImageManager/assets/manager.js | 233 +- .../plugins/ImageManager/assets/popup.js | 72 +- .../plugins/ImageManager/assets/slider.js | 188 +- .../ImageManager/assets/wz_jsgraphics.js | 505 +-- .../xinha/plugins/ImageManager/backend.php | 16 + .../xinha/plugins/ImageManager/config.inc.php | 117 +- .../xinha/plugins/ImageManager/flickr.php | 263 ++ .../plugins/ImageManager/image-manager.js | 149 - .../plugins/ImageManager/image-picker.js | 66 +- .../xinha/plugins/ImageManager/images.php | 48 +- .../xinha/plugins/ImageManager/manager.php | 174 +- .../xinha/plugins/ImageManager/resizer.php | 5 + .../xinha/plugins/ImageManager/smart-image.js | 11 + .../swfobject/expressinstall.html | 73 + .../ImageManager/swfobject/expressinstall.swf | Bin 0 -> 4823 bytes .../ImageManager/swfobject/swfobject.js | 2 + .../swfobject/swfobject_source.js | 2 + .../xinha/plugins/ImageManager/thumbs.php | 10 + .../xinha/plugins/ImageManager/youtube.php | 292 ++ .../plugins/InsertAnchor/InsertAnchor.js | 2 + .../xinha/plugins/InsertAnchor/dialog.html | 14 + .../plugins/InsertAnchor/insert-anchor.js | 84 - .../plugins/InsertMarquee/img/ed_marquee.gif | Bin 122 -> 0 bytes .../plugins/InsertMarquee/insert-marquee.js | 67 - .../xinha/plugins/InsertMarquee/lang/de.js | 15 - .../xinha/plugins/InsertMarquee/lang/fr.js | 17 - .../xinha/plugins/InsertMarquee/lang/it.js | 7 - .../xinha/plugins/InsertMarquee/lang/ja.js | 22 - .../xinha/plugins/InsertMarquee/lang/nb.js | 18 - .../xinha/plugins/InsertMarquee/lang/nl.js | 18 - .../xinha/plugins/InsertMarquee/lang/pt_br.js | 37 - .../InsertMarquee/popups/insert_marquee.html | 99 - .../xinha/plugins/InsertNote/InsertNote.js | 2 + .../xinha/plugins/InsertNote/dialog.html | 12 + .../plugins/InsertNote/img/insert-note.gif | Bin 0 -> 627 bytes .../plugins/InsertPagebreak/img/pagebreak.gif | Bin 105 -> 0 bytes .../InsertPagebreak/insert-pagebreak.js | 20 - .../xinha/plugins/InsertPagebreak/lang/de.js | 6 - .../xinha/plugins/InsertPagebreak/lang/fr.js | 5 - .../xinha/plugins/InsertPagebreak/lang/ja.js | 5 - .../xinha/plugins/InsertPagebreak/lang/nb.js | 6 - .../xinha/plugins/InsertPagebreak/lang/nl.js | 6 - .../plugins/InsertPicture/InsertPicture.php | 301 -- .../InsertPicture/demo_pictures/bikerpeep.jpg | Bin 27684 -> 0 bytes .../demo_pictures/wesnoth078.jpg | Bin 8460 -> 0 bytes .../plugins/InsertPicture/img/btn_open.gif | Bin 173 -> 0 bytes .../xinha/plugins/InsertPicture/img/nopic.gif | Bin 1537 -> 0 bytes .../plugins/InsertPicture/insert-picture.js | 12 - .../xinha/plugins/InsertPicture/lang/de.js | 15 - .../xinha/plugins/InsertPicture/lang/fr.js | 22 - .../xinha/plugins/InsertPicture/lang/ja.js | 25 - .../xinha/plugins/InsertPicture/lang/nb.js | 22 - .../xinha/plugins/InsertPicture/lang/nl.js | 35 - .../xinha/plugins/InsertPicture/lang/pt_br.js | 61 - .../xinha/plugins/InsertPicture/lang/sv.js | 35 - .../plugins/InsertPicture/viewpicture.html | 46 - .../plugins/InsertSmiley/InsertSmiley.js | 2 + .../xinha/plugins/InsertSmiley/README.txt | 20 +- .../xinha/plugins/InsertSmiley/dialog.css | 3 + .../xinha/plugins/InsertSmiley/dialog.html | 4 + .../plugins/InsertSmiley/insert-smiley.js | 27 - .../InsertSmiley/popups/insertsmiley.html | 64 - .../plugins/InsertSmiley/smileys/Angry.gif | Bin 0 -> 170 bytes .../plugins/InsertSmiley/smileys/Cool.gif | Bin 0 -> 166 bytes .../plugins/InsertSmiley/smileys/Excited.gif | Bin 0 -> 230 bytes .../plugins/InsertSmiley/smileys/Grin.gif | Bin 0 -> 166 bytes .../plugins/InsertSmiley/smileys/Pleased.gif | Bin 0 -> 172 bytes .../plugins/InsertSmiley/smileys/Sad.gif | Bin 0 -> 171 bytes .../InsertSmiley/smileys/Surprised.gif | Bin 0 -> 171 bytes .../plugins/InsertSmiley/smileys/Wink.gif | Bin 0 -> 172 bytes .../plugins/InsertSmiley/smileys/smileys.js | 10 + .../plugins/InsertSmiley/smileys/smileys.php | 34 + .../plugins/InsertSnippet/InsertSnippet.js | 92 + .../plugins/InsertSnippet/demosnippets.js | 30 +- .../plugins/InsertSnippet/insert-snippet.js | 55 - .../xinha/plugins/InsertSnippet/readme.html | 6 +- .../plugins/InsertSnippet2/InsertSnippet.css | 92 + .../plugins/InsertSnippet2/InsertSnippet2.js | 2 + .../xinha/plugins/InsertSnippet2/dialog.html | 20 + .../xinha/plugins/InsertSnippet2/img/1.PNG | Bin 0 -> 267 bytes .../xinha/plugins/InsertSnippet2/img/10.PNG | Bin 0 -> 258 bytes .../xinha/plugins/InsertSnippet2/img/11.PNG | Bin 0 -> 294 bytes .../xinha/plugins/InsertSnippet2/img/12.PNG | Bin 0 -> 260 bytes .../xinha/plugins/InsertSnippet2/img/13.PNG | Bin 0 -> 263 bytes .../xinha/plugins/InsertSnippet2/img/14.PNG | Bin 0 -> 272 bytes .../xinha/plugins/InsertSnippet2/img/15.PNG | Bin 0 -> 261 bytes .../xinha/plugins/InsertSnippet2/img/16.PNG | Bin 0 -> 257 bytes .../xinha/plugins/InsertSnippet2/img/2.PNG | Bin 0 -> 255 bytes .../xinha/plugins/InsertSnippet2/img/3.PNG | Bin 0 -> 272 bytes .../xinha/plugins/InsertSnippet2/img/4.PNG | Bin 0 -> 265 bytes .../xinha/plugins/InsertSnippet2/img/5.PNG | Bin 0 -> 261 bytes .../xinha/plugins/InsertSnippet2/img/6.PNG | Bin 0 -> 275 bytes .../xinha/plugins/InsertSnippet2/img/7.PNG | Bin 0 -> 262 bytes .../xinha/plugins/InsertSnippet2/img/8.PNG | Bin 0 -> 282 bytes .../xinha/plugins/InsertSnippet2/img/9.PNG | Bin 0 -> 268 bytes .../plugins/InsertSnippet2/img/ed_snippet.gif | Bin 0 -> 606 bytes .../xinha/plugins/InsertSnippet2/lang/de.js | 12 + .../xinha/plugins/InsertSnippet2/readme.html | 51 + .../xinha/plugins/InsertSnippet2/snippets.php | 37 + .../xinha/plugins/InsertSnippet2/snippets.xml | 42 + .../xinha/plugins/InsertWords/insert-words.js | 41 - .../xinha/plugins/LangMarks/LangMarks.js | 2 + .../xinha/plugins/LangMarks/lang-marks.css | 27 +- .../xinha/plugins/LangMarks/lang-marks.js | 127 - .../assets/xinha/plugins/LangMarks/lang/es.js | 11 + .../web/assets/xinha/plugins/Linker/Linker.js | 2 + .../xinha/plugins/Linker/dTree/dtree.css | 8 +- .../xinha/plugins/Linker/dTree/dtree.js | 357 +- .../assets/xinha/plugins/Linker/dialog.html | 48 +- .../xinha/plugins/Linker/link-picker.js | 2 + .../web/assets/xinha/plugins/Linker/linker.js | 388 -- .../xinha/plugins/Linker/pluginMethods.js | 2 + .../web/assets/xinha/plugins/Linker/scan.php | 2 +- .../assets/xinha/plugins/ListType/ListType.js | 2 + .../assets/xinha/plugins/ListType/lang/es.js | 12 + .../xinha/plugins/ListType/list-type.js | 140 - .../xinha/plugins/NoteServer/img/note.gif | Bin 87 -> 0 bytes .../xinha/plugins/NoteServer/lang/de.js | 21 - .../xinha/plugins/NoteServer/lang/fr.js | 16 - .../xinha/plugins/NoteServer/lang/ja.js | 18 - .../xinha/plugins/NoteServer/lang/nb.js | 17 - .../xinha/plugins/NoteServer/lang/nl.js | 17 - .../xinha/plugins/NoteServer/lang/pt_br.js | 37 - .../xinha/plugins/NoteServer/note-server.js | 93 - .../plugins/NoteServer/popups/codenote.html | 162 - .../xinha/plugins/PasteText/PasteText.js | 2 + .../assets/xinha/plugins/PasteText/lang/de.js | 3 +- .../xinha/plugins/PasteText/paste-text.js | 42 - .../plugins/PasteText/popups/paste_text.html | 59 +- .../PreserveScripts/PreserveScripts.js | 68 + .../PreserveScripts/preserve-scripts.js | 41 - .../assets/xinha/plugins/QuickTag/QuickTag.js | 53 + .../xinha/plugins/QuickTag/quick-tag.js | 32 - .../assets/xinha/plugins/QuickTag/tag-lib.js | 30 +- .../xinha/plugins/SaveOnBlur/SaveOnBlur.js | 47 + .../xinha/plugins/SaveSubmit/SaveSubmit.js | 2 + .../xinha/plugins/SaveSubmit/save-submit.js | 137 - .../web/assets/xinha/plugins/SetId/SetId.js | 88 + .../web/assets/xinha/plugins/SetId/set-id.js | 71 - .../plugins/SmartReplace/SmartReplace.js | 2 + .../xinha/plugins/SmartReplace/dialog.html | 15 +- .../plugins/SmartReplace/img/SmartReplace.svg | 231 + .../plugins/SmartReplace/img/smartquotes.gif | Bin 191 -> 0 bytes .../plugins/SmartReplace/img/smartquotes.png | Bin 0 -> 999 bytes .../xinha/plugins/SmartReplace/lang/fr.js | 13 + .../plugins/SmartReplace/smart-replace.js | 249 -- .../assets/xinha/plugins/SpellChecker/README | 8 - .../plugins/SpellChecker/aspell_setup.php | 123 - .../SpellChecker/img/he-spell-check.gif | Bin 100 -> 0 bytes .../plugins/SpellChecker/img/spell-check.gif | Bin 337 -> 0 bytes .../xinha/plugins/SpellChecker/lang/cz.js | 26 - .../xinha/plugins/SpellChecker/lang/da.js | 26 - .../xinha/plugins/SpellChecker/lang/de.js | 26 - .../xinha/plugins/SpellChecker/lang/fr.js | 26 - .../xinha/plugins/SpellChecker/lang/he.js | 27 - .../xinha/plugins/SpellChecker/lang/hu.js | 26 - .../xinha/plugins/SpellChecker/lang/ja.js | 28 - .../xinha/plugins/SpellChecker/lang/nb.js | 26 - .../xinha/plugins/SpellChecker/lang/nl.js | 27 - .../xinha/plugins/SpellChecker/lang/pt_br.js | 44 - .../xinha/plugins/SpellChecker/lang/ro.js | 26 - .../plugins/SpellChecker/readme-tech.html | 114 - .../SpellChecker/spell-check-logic.cgi | 210 - .../SpellChecker/spell-check-logic.php | 171 - .../SpellChecker/spell-check-savedicts.php | 38 - .../SpellChecker/spell-check-style.css | 10 - .../plugins/SpellChecker/spell-check-ui.html | 125 - .../plugins/SpellChecker/spell-check-ui.js | 394 -- .../plugins/SpellChecker/spell-checker.js | 38 - .../assets/xinha/plugins/Stylist/Stylist.js | 2 + .../assets/xinha/plugins/Stylist/stylist.js | 382 -- .../xinha/plugins/SuperClean/dialog.html | 9 - .../plugins/SuperClean/filters/paragraph.js | 10 - .../xinha/plugins/SuperClean/filters/word.js | 30 - .../plugins/SuperClean/img/ed_superclean.gif | Bin 334 -> 0 bytes .../xinha/plugins/SuperClean/lang/de.js | 17 - .../xinha/plugins/SuperClean/lang/fr.js | 16 - .../xinha/plugins/SuperClean/lang/ja.js | 18 - .../xinha/plugins/SuperClean/lang/nb.js | 17 - .../xinha/plugins/SuperClean/lang/nl.js | 17 - .../xinha/plugins/SuperClean/lang/pt_br.js | 33 - .../xinha/plugins/SuperClean/super-clean.js | 214 - .../assets/xinha/plugins/SuperClean/tidy.php | 179 - .../TableOperations/TableOperations.js | 2 + .../xinha/plugins/TableOperations/lang/da.js | 5 +- .../xinha/plugins/TableOperations/lang/es.js | 79 + .../popups/dialogMergeCells.html | 26 + .../TableOperations/popups/dialogRowCell.html | 15 + .../TableOperations/popups/dialogTable.html | 119 + .../TableOperations/table-operations.js | 910 ---- .../plugins/Template/img/ed_template.gif | Bin 600 -> 0 bytes .../xinha/plugins/Template/img/layout_01.gif | Bin 310 -> 0 bytes .../xinha/plugins/Template/img/layout_02.gif | Bin 320 -> 0 bytes .../xinha/plugins/Template/img/layout_03.gif | Bin 345 -> 0 bytes .../assets/xinha/plugins/Template/lang/de.js | 7 - .../assets/xinha/plugins/Template/lang/fr.js | 6 - .../assets/xinha/plugins/Template/lang/it.js | 6 - .../assets/xinha/plugins/Template/lang/ja.js | 6 - .../assets/xinha/plugins/Template/lang/nb.js | 7 - .../assets/xinha/plugins/Template/lang/nl.js | 7 - .../plugins/Template/popups/template.html | 52 - .../xinha/plugins/Template/template.css | 3 - .../assets/xinha/plugins/Template/template.js | 86 - .../assets/xinha/plugins/UnFormat/UnFormat.js | 107 + .../assets/xinha/plugins/UnFormat/dialog.html | 28 + .../plugins/UnFormat/popups/unformat.html | 85 - .../xinha/plugins/UnFormat/un-format.js | 50 - .../xinha/plugins/WysiwygWrap/WysiwygWrap.js | 101 + ccm-core/web/assets/xinha/popups/about.html | 301 -- .../web/assets/xinha/popups/editor_help.html | 2 +- ccm-core/web/assets/xinha/popups/popup.js | 108 +- ccm-core/web/assets/xinha/release-notes.txt | 590 ++- .../web/assets/xinha/skins/blue-look/skin.css | 9 +- .../assets/xinha/skins/blue-metallic/skin.css | 7 + .../assets/xinha/skins/green-look/skin.css | 10 +- .../assets/xinha/skins/inditreuse/skin.css | 10 +- .../web/assets/xinha/skins/silva/skin.css | 174 +- .../xinha/skins/silva/skin.css_uncompr.js | 177 + .../web/assets/xinha/skins/silva/skin.xml | 11 + .../web/assets/xinha/skins/titan/skin.css | 10 +- .../web/assets/xinha/skins/xp-blue/skin.css | 10 +- .../web/assets/xinha/skins/xp-green/skin.css | 10 +- .../web/packages/bebop/xsl/XinhaEditor.xsl | 2 +- .../packages/bebop/xsl/XinhaEditor.xsl | 2 +- 608 files changed, 8670 insertions(+), 30817 deletions(-) create mode 100644 ccm-core/web/assets/xinha/Xinha.css_uncompr.js delete mode 100644 ccm-core/web/assets/xinha/XinhaConfig.js create mode 100644 ccm-core/web/assets/xinha/contrib/compress.bat create mode 100644 ccm-core/web/assets/xinha/contrib/compress.php create mode 100644 ccm-core/web/assets/xinha/contrib/compress_yui.php create mode 100644 ccm-core/web/assets/xinha/contrib/dojo_js_compressor.jar create mode 100644 ccm-core/web/assets/xinha/contrib/lc_merge_strings.php create mode 100755 ccm-core/web/assets/xinha/contrib/lc_parse_strings.php create mode 100644 ccm-core/web/assets/xinha/contrib/yuicompressor-2.4.2.jar create mode 100644 ccm-core/web/assets/xinha/iconsets/Classic/de/bold.gif create mode 100644 ccm-core/web/assets/xinha/iconsets/Classic/de/italic.gif create mode 100644 ccm-core/web/assets/xinha/iconsets/Classic/de/underline.gif create mode 100644 ccm-core/web/assets/xinha/iconsets/Classic/ed_buttons_main.gif create mode 100644 ccm-core/web/assets/xinha/iconsets/Classic/ed_charmap.gif create mode 100644 ccm-core/web/assets/xinha/iconsets/Classic/ed_selectall.gif create mode 100644 ccm-core/web/assets/xinha/iconsets/Classic/fr/bold.gif create mode 100644 ccm-core/web/assets/xinha/iconsets/Classic/fr/strikethrough.gif create mode 100644 ccm-core/web/assets/xinha/iconsets/Classic/fr/underline.gif create mode 100644 ccm-core/web/assets/xinha/iconsets/Classic/iconset.xml create mode 100644 ccm-core/web/assets/xinha/iconsets/Crystal/LICENSE create mode 100644 ccm-core/web/assets/xinha/iconsets/Crystal/README create mode 100644 ccm-core/web/assets/xinha/iconsets/Crystal/ed_buttons_main.png create mode 100644 ccm-core/web/assets/xinha/iconsets/Crystal/iconset.xml create mode 100644 ccm-core/web/assets/xinha/iconsets/Tango/README create mode 100644 ccm-core/web/assets/xinha/iconsets/Tango/ed_buttons_main.png create mode 100644 ccm-core/web/assets/xinha/iconsets/Tango/iconset.xml create mode 100644 ccm-core/web/assets/xinha/images/ed_buttons_main.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/document-new.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/document-open.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/document-print.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/document-save.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-copy.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-redo.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-select-all.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/edit-undo.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/folder-new.png create mode 100755 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-direction-left-to-right.png create mode 100755 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-direction-right-to-left.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-indent-less.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-indent-more.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-center.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-fill.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-left.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-justify-right.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-background-color.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-bold.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-color.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-italic.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-strikethrough.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-subscript.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-superscript.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/format-text-underline.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/go-up.png create mode 100755 ccm-core/web/assets/xinha/images/tango/16x16/actions/insert-link.png create mode 100755 ccm-core/web/assets/xinha/images/tango/16x16/actions/insert-table.png create mode 100755 ccm-core/web/assets/xinha/images/tango/16x16/actions/toggle-borders.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/view-fullscreen.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/actions/view-restore.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/apps/accessories-character-map.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/apps/help-browser.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/mimetypes/image-x-generic.png create mode 100644 ccm-core/web/assets/xinha/images/tango/16x16/places/user-trash.png create mode 100644 ccm-core/web/assets/xinha/images/tango/32x32/apps/internet-web-browser.png create mode 100644 ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/text-html.png create mode 100644 ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/text-x-generic.png create mode 100644 ccm-core/web/assets/xinha/images/tango/32x32/mimetypes/x-office-document.png create mode 100644 ccm-core/web/assets/xinha/images/tango/32x32/places/folder.png create mode 100644 ccm-core/web/assets/xinha/images/tango/32x32/places/network-server.png create mode 100644 ccm-core/web/assets/xinha/images/tango/COPYING create mode 100644 ccm-core/web/assets/xinha/images/xinha-small-icon.gif create mode 100644 ccm-core/web/assets/xinha/modules/AboutBox/AboutBox.js create mode 100644 ccm-core/web/assets/xinha/modules/AboutBox/about.css create mode 100644 ccm-core/web/assets/xinha/modules/AboutBox/dialog.html rename ccm-core/web/assets/xinha/{plugins/InsertPagebreak => modules/CreateLink/CCMmod}/lang/pt_br.js (80%) create mode 100755 ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/link.html create mode 100644 ccm-core/web/assets/xinha/modules/CreateLink/CCMmod/link.js create mode 100644 ccm-core/web/assets/xinha/modules/CreateLink/Orig/dialog.html rename ccm-core/web/assets/xinha/{plugins/Template => modules/CreateLink/Orig}/lang/pt_br.js (80%) create mode 100644 ccm-core/web/assets/xinha/modules/CreateLink/Orig/link.html create mode 100644 ccm-core/web/assets/xinha/modules/CreateLink/Orig/link.js create mode 100644 ccm-core/web/assets/xinha/modules/CreateLink/Orig/pluginMethods.js create mode 100644 ccm-core/web/assets/xinha/modules/Dialogs/DetachedDialog.js create mode 100644 ccm-core/web/assets/xinha/modules/Dialogs/XinhaDialog.js create mode 100644 ccm-core/web/assets/xinha/modules/Dialogs/div-dialog.js delete mode 100644 ccm-core/web/assets/xinha/modules/Dialogs/inline-dialog.js create mode 100644 ccm-core/web/assets/xinha/modules/FullScreen/lang/es.js create mode 100644 ccm-core/web/assets/xinha/modules/FullScreen/lang/nl.js create mode 100644 ccm-core/web/assets/xinha/modules/InlineStyler/InlineStyler.js create mode 100644 ccm-core/web/assets/xinha/modules/InsertImage/dialog.html create mode 100644 ccm-core/web/assets/xinha/modules/InsertImage/pluginMethods.js create mode 100644 ccm-core/web/assets/xinha/modules/InsertTable/dialog.html create mode 100644 ccm-core/web/assets/xinha/modules/InsertTable/pluginMethods.js create mode 100644 ccm-core/web/assets/xinha/plugins/Abbreviation/Abbreviation.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Abbreviation/abbreviation.js create mode 100644 ccm-core/web/assets/xinha/plugins/Abbreviation/dialog.html create mode 100644 ccm-core/web/assets/xinha/plugins/Abbreviation/lang/es.js delete mode 100755 ccm-core/web/assets/xinha/plugins/Abbreviation/popups/abbreviation.html delete mode 100644 ccm-core/web/assets/xinha/plugins/BackgroundImage/background-image.js delete mode 100755 ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/blufur.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/palecnvs.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/ppplcnvs.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/blufur.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/palecnvs.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/ppplcnvs.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/ylwsand.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/ylwsand.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/BackgroundImage/img/ed_bgimage.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/BackgroundImage/lang/pt_br.js delete mode 100755 ccm-core/web/assets/xinha/plugins/BackgroundImage/popups/bgimage.html create mode 100644 ccm-core/web/assets/xinha/plugins/CSS/CSS.js delete mode 100644 ccm-core/web/assets/xinha/plugins/CSS/css.js create mode 100644 ccm-core/web/assets/xinha/plugins/CSSPicker/CSSPicker.js create mode 100644 ccm-core/web/assets/xinha/plugins/CharCounter/CharCounter.js delete mode 100644 ccm-core/web/assets/xinha/plugins/CharCounter/char-counter.js create mode 100644 ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.js delete mode 100644 ccm-core/web/assets/xinha/plugins/CharacterMap/character-map.js create mode 100644 ccm-core/web/assets/xinha/plugins/CharacterMap/lang/es.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/clientside-spellcheck.js delete mode 100755 ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/clientside-spellcheck.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/he-spell-check.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/pt_br.js create mode 100644 ccm-core/web/assets/xinha/plugins/ContextMenu/ContextMenu.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ContextMenu/context-menu.js create mode 100644 ccm-core/web/assets/xinha/plugins/ContextMenu/lang/es.js create mode 100644 ccm-core/web/assets/xinha/plugins/DefinitionList/DefinitionList.js delete mode 100644 ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.js delete mode 100644 ccm-core/web/assets/xinha/plugins/DoubleClick/double-click.js create mode 100644 ccm-core/web/assets/xinha/plugins/DynamicCSS/DynamicCSS.js delete mode 100644 ccm-core/web/assets/xinha/plugins/DynamicCSS/dynamiccss.js create mode 100644 ccm-core/web/assets/xinha/plugins/EditTag/EditTag.js delete mode 100644 ccm-core/web/assets/xinha/plugins/EditTag/edit-tag.js create mode 100644 ccm-core/web/assets/xinha/plugins/Equation/Equation.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Equation/equation.js delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/Classes/ExtendedFileManager.php delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/Readme.txt delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/EditorContent.js delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/ImageEditor.css delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/dialog.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/dragTableCols.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/editor.js delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/editorFrame.css delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/editorFrame.js delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/hover.htc delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/imagelist.css delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/images.js delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/manager.css delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/manager.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/popup.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/slider.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/wz_jsgraphics.js delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/backend.php delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/config.inc.php delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/.htaccess delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/bikerpeep.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/linux/linux.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/wesnoth078.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editor.php delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editorFrame.php delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/extended-file-manager.js delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/fla.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/fla_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/folder.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/folder_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gif_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/html.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/html_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/jpg_small.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/js.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/js_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/php.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/php_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/png_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/ppt.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/ppt_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/txt.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/txt_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip_small.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/images.php delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/1x1_transparent.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2_w.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew1.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderUp.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderUp1.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_cancel.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_ok.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/crop.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/default.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/div.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/dots.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/ed_linkfile.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/ed_linkfile1.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_active.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_copy.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_cut.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_paste.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_pencil.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_rename.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_trash.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/folder.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/hand.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/islocked2.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/locked.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/measure.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/noimages.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/rotate.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/save.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/scale.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/spacer.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/t_black.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/t_white.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked2.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked_empty.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/es.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/pl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/lang/pt_br.js delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/manager.php delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/prompt.html delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/resizer.php delete mode 100755 ccm-core/web/assets/xinha/plugins/ExtendedFileManager/thumbs.php delete mode 100644 ccm-core/web/assets/xinha/plugins/Filter/filter.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Filter/filters/paragraph.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Filter/filters/word.js delete mode 100755 ccm-core/web/assets/xinha/plugins/Filter/img/ed_filter.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/Filter/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Filter/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Filter/lang/pt_br.js create mode 100644 ccm-core/web/assets/xinha/plugins/FindReplace/FindReplace.js delete mode 100644 ccm-core/web/assets/xinha/plugins/FindReplace/find-replace.js delete mode 100755 ccm-core/web/assets/xinha/plugins/FormOperations/README delete mode 100755 ccm-core/web/assets/xinha/plugins/FormOperations/default_form.html delete mode 100644 ccm-core/web/assets/xinha/plugins/FormOperations/form-operations.js delete mode 100755 ccm-core/web/assets/xinha/plugins/FormOperations/formmail.php delete mode 100755 ccm-core/web/assets/xinha/plugins/FormOperations/iframe.css delete mode 100755 ccm-core/web/assets/xinha/plugins/FormOperations/img/buttons.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/FormOperations/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/FormOperations/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/FormOperations/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/FormOperations/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/FormOperations/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/FormOperations/lang/pt_br.js delete mode 100755 ccm-core/web/assets/xinha/plugins/FormOperations/panel.html delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/forms.css delete mode 100644 ccm-core/web/assets/xinha/plugins/Forms/forms.js delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_button.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_checkbox.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_fieldset.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_file.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_form.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_hidden.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_image.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_label.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_password.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_radio.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_reset.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_select.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_submit.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_text.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/img/ed_textarea.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/Forms/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Forms/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Forms/lang/pt_br.js delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/popups/fieldset.html delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/popups/form.html delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/popups/input.html delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/popups/label.html delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/popups/select.html delete mode 100755 ccm-core/web/assets/xinha/plugins/Forms/popups/textarea.html create mode 100644 ccm-core/web/assets/xinha/plugins/FullPage/FullPage.js delete mode 100644 ccm-core/web/assets/xinha/plugins/FullPage/full-page.js create mode 100644 ccm-core/web/assets/xinha/plugins/GenericPlugin/GenericPlugin.js delete mode 100644 ccm-core/web/assets/xinha/plugins/GenericPlugin/generic-plugin.js create mode 100644 ccm-core/web/assets/xinha/plugins/GetHtml/GetHtml.js delete mode 100644 ccm-core/web/assets/xinha/plugins/GetHtml/get-html.js create mode 100644 ccm-core/web/assets/xinha/plugins/HorizontalRule/HorizontalRule.js delete mode 100644 ccm-core/web/assets/xinha/plugins/HorizontalRule/horizontal-rule.js create mode 100644 ccm-core/web/assets/xinha/plugins/HtmlEntities/HtmlEntities.js delete mode 100644 ccm-core/web/assets/xinha/plugins/HtmlEntities/html-entities.js delete mode 100755 ccm-core/web/assets/xinha/plugins/HtmlTidy/README delete mode 100755 ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-config.cfg delete mode 100755 ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-logic.php delete mode 100644 ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy.js delete mode 100755 ccm-core/web/assets/xinha/plugins/HtmlTidy/img/html-tidy.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/pt_br.js create mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Flickr.php create mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON.php create mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON_Compat.php create mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/ImageManager.js rename ccm-core/web/assets/xinha/plugins/{ExtendedFileManager/assets/editor.css => ImageManager/assets/editor.css_uncompr.js} (81%) mode change 100755 => 100644 create mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/flickr.php delete mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/image-manager.js create mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/smart-image.js create mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/swfobject/expressinstall.html create mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/swfobject/expressinstall.swf create mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/swfobject/swfobject.js create mode 100755 ccm-core/web/assets/xinha/plugins/ImageManager/swfobject/swfobject_source.js create mode 100644 ccm-core/web/assets/xinha/plugins/ImageManager/youtube.php create mode 100755 ccm-core/web/assets/xinha/plugins/InsertAnchor/InsertAnchor.js create mode 100644 ccm-core/web/assets/xinha/plugins/InsertAnchor/dialog.html delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertAnchor/insert-anchor.js delete mode 100755 ccm-core/web/assets/xinha/plugins/InsertMarquee/img/ed_marquee.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertMarquee/insert-marquee.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertMarquee/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertMarquee/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertMarquee/lang/it.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertMarquee/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertMarquee/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertMarquee/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertMarquee/lang/pt_br.js delete mode 100755 ccm-core/web/assets/xinha/plugins/InsertMarquee/popups/insert_marquee.html create mode 100644 ccm-core/web/assets/xinha/plugins/InsertNote/InsertNote.js create mode 100644 ccm-core/web/assets/xinha/plugins/InsertNote/dialog.html create mode 100644 ccm-core/web/assets/xinha/plugins/InsertNote/img/insert-note.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/InsertPagebreak/img/pagebreak.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPagebreak/insert-pagebreak.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nl.js delete mode 100755 ccm-core/web/assets/xinha/plugins/InsertPicture/InsertPicture.php delete mode 100755 ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/bikerpeep.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/wesnoth078.jpg delete mode 100755 ccm-core/web/assets/xinha/plugins/InsertPicture/img/btn_open.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/InsertPicture/img/nopic.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPicture/insert-picture.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPicture/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPicture/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPicture/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPicture/lang/pt_br.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertPicture/lang/sv.js delete mode 100755 ccm-core/web/assets/xinha/plugins/InsertPicture/viewpicture.html create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/InsertSmiley.js create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.css create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.html delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/insert-smiley.js delete mode 100755 ccm-core/web/assets/xinha/plugins/InsertSmiley/popups/insertsmiley.html create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Angry.gif create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Cool.gif create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Excited.gif create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Grin.gif create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Pleased.gif create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Sad.gif create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Surprised.gif create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Wink.gif create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/smileys.js create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/smileys.php create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet/InsertSnippet.js delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet/insert-snippet.js create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet.css create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet2.js create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/dialog.html create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/1.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/10.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/11.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/12.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/13.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/14.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/15.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/16.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/2.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/3.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/4.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/5.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/6.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/7.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/8.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/9.PNG create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/ed_snippet.gif create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/lang/de.js create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/readme.html create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.php create mode 100644 ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.xml delete mode 100644 ccm-core/web/assets/xinha/plugins/InsertWords/insert-words.js create mode 100644 ccm-core/web/assets/xinha/plugins/LangMarks/LangMarks.js delete mode 100644 ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.js create mode 100644 ccm-core/web/assets/xinha/plugins/LangMarks/lang/es.js create mode 100644 ccm-core/web/assets/xinha/plugins/Linker/Linker.js create mode 100644 ccm-core/web/assets/xinha/plugins/Linker/link-picker.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Linker/linker.js create mode 100644 ccm-core/web/assets/xinha/plugins/Linker/pluginMethods.js create mode 100644 ccm-core/web/assets/xinha/plugins/ListType/ListType.js create mode 100644 ccm-core/web/assets/xinha/plugins/ListType/lang/es.js delete mode 100644 ccm-core/web/assets/xinha/plugins/ListType/list-type.js delete mode 100755 ccm-core/web/assets/xinha/plugins/NoteServer/img/note.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/NoteServer/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/NoteServer/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/NoteServer/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/NoteServer/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/NoteServer/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/NoteServer/lang/pt_br.js delete mode 100644 ccm-core/web/assets/xinha/plugins/NoteServer/note-server.js delete mode 100755 ccm-core/web/assets/xinha/plugins/NoteServer/popups/codenote.html create mode 100644 ccm-core/web/assets/xinha/plugins/PasteText/PasteText.js delete mode 100644 ccm-core/web/assets/xinha/plugins/PasteText/paste-text.js create mode 100644 ccm-core/web/assets/xinha/plugins/PreserveScripts/PreserveScripts.js delete mode 100644 ccm-core/web/assets/xinha/plugins/PreserveScripts/preserve-scripts.js create mode 100644 ccm-core/web/assets/xinha/plugins/QuickTag/QuickTag.js delete mode 100644 ccm-core/web/assets/xinha/plugins/QuickTag/quick-tag.js create mode 100644 ccm-core/web/assets/xinha/plugins/SaveOnBlur/SaveOnBlur.js create mode 100644 ccm-core/web/assets/xinha/plugins/SaveSubmit/SaveSubmit.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SaveSubmit/save-submit.js create mode 100644 ccm-core/web/assets/xinha/plugins/SetId/SetId.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SetId/set-id.js create mode 100644 ccm-core/web/assets/xinha/plugins/SmartReplace/SmartReplace.js create mode 100644 ccm-core/web/assets/xinha/plugins/SmartReplace/img/SmartReplace.svg delete mode 100755 ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.gif create mode 100644 ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.png create mode 100644 ccm-core/web/assets/xinha/plugins/SmartReplace/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SmartReplace/smart-replace.js delete mode 100755 ccm-core/web/assets/xinha/plugins/SpellChecker/README delete mode 100755 ccm-core/web/assets/xinha/plugins/SpellChecker/aspell_setup.php delete mode 100755 ccm-core/web/assets/xinha/plugins/SpellChecker/img/he-spell-check.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/SpellChecker/img/spell-check.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/cz.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/da.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/he.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/hu.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/pt_br.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ro.js delete mode 100755 ccm-core/web/assets/xinha/plugins/SpellChecker/readme-tech.html delete mode 100755 ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.cgi delete mode 100755 ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.php delete mode 100755 ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-savedicts.php delete mode 100755 ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-style.css delete mode 100755 ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.html delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SpellChecker/spell-checker.js create mode 100644 ccm-core/web/assets/xinha/plugins/Stylist/Stylist.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Stylist/stylist.js delete mode 100755 ccm-core/web/assets/xinha/plugins/SuperClean/dialog.html delete mode 100644 ccm-core/web/assets/xinha/plugins/SuperClean/filters/paragraph.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SuperClean/filters/word.js delete mode 100755 ccm-core/web/assets/xinha/plugins/SuperClean/img/ed_superclean.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/SuperClean/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SuperClean/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SuperClean/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SuperClean/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SuperClean/lang/nl.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SuperClean/lang/pt_br.js delete mode 100644 ccm-core/web/assets/xinha/plugins/SuperClean/super-clean.js delete mode 100755 ccm-core/web/assets/xinha/plugins/SuperClean/tidy.php create mode 100644 ccm-core/web/assets/xinha/plugins/TableOperations/TableOperations.js create mode 100644 ccm-core/web/assets/xinha/plugins/TableOperations/lang/es.js create mode 100644 ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogMergeCells.html create mode 100644 ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogRowCell.html create mode 100644 ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogTable.html delete mode 100644 ccm-core/web/assets/xinha/plugins/TableOperations/table-operations.js delete mode 100755 ccm-core/web/assets/xinha/plugins/Template/img/ed_template.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Template/img/layout_01.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Template/img/layout_02.gif delete mode 100755 ccm-core/web/assets/xinha/plugins/Template/img/layout_03.gif delete mode 100644 ccm-core/web/assets/xinha/plugins/Template/lang/de.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Template/lang/fr.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Template/lang/it.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Template/lang/ja.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Template/lang/nb.js delete mode 100644 ccm-core/web/assets/xinha/plugins/Template/lang/nl.js delete mode 100755 ccm-core/web/assets/xinha/plugins/Template/popups/template.html delete mode 100755 ccm-core/web/assets/xinha/plugins/Template/template.css delete mode 100644 ccm-core/web/assets/xinha/plugins/Template/template.js create mode 100644 ccm-core/web/assets/xinha/plugins/UnFormat/UnFormat.js create mode 100644 ccm-core/web/assets/xinha/plugins/UnFormat/dialog.html delete mode 100755 ccm-core/web/assets/xinha/plugins/UnFormat/popups/unformat.html delete mode 100644 ccm-core/web/assets/xinha/plugins/UnFormat/un-format.js create mode 100644 ccm-core/web/assets/xinha/plugins/WysiwygWrap/WysiwygWrap.js delete mode 100755 ccm-core/web/assets/xinha/popups/about.html create mode 100644 ccm-core/web/assets/xinha/skins/silva/skin.css_uncompr.js create mode 100644 ccm-core/web/assets/xinha/skins/silva/skin.xml diff --git a/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js b/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js index af6d40f7f..5ddb0a78d 100644 --- a/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js +++ b/ccm-cms/web/assets/xinha/CCMcmsXinhaConfig.js @@ -5,11 +5,15 @@ * options. */ /* It is based on the original configuration file XinhaConfig.js (compressed version) */ /* http://svn.xinha.webfactional.com/trunk/examples/XinhaConfig.js */ +_editor_skin = "silva"; +_editor_icons = "Crystal"; xinha_init=null; xinha_config=null; xinha_init=xinha_init?xinha_init:function(){ xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"]; -xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","TableOperations"]; +xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","CharCounter", + "ContextMenu","DefinitionList","FindReplace","ListType","QuickTag", + "SmartReplace","Stylist","TableOperations","UnFormat"]; if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){ return; } @@ -22,11 +26,21 @@ xinha_config=xinha_config?xinha_config():new Xinha.Config(); ["separator","subscript","superscript"], ["separator","justifyleft","justifycenter","justifyright","justifyfull"], ["separator","insertorderedlist","insertunorderedlist","outdent","indent"], - ["separator","inserthorizontalrule","createlink"], - ["separator","undo","redo","selectall"], (Xinha.is_gecko ? [] : ["cut","copy","paste","overwrite"]), - ["separator","clearfonts","removeformat"], - ["separator","htmlmode","showhelp","about"] + ["separator","createlink"], + ["separator","undo","redo","selectall"], + (Xinha.is_gecko ? [] : ["cut","copy","paste","overwrite"]), + ["separator","killword","clearfonts","removeformat"], + ["linebreak","separator","htmlmode","showhelp","about"] ]; +xinha_config.formatblock = + { + "— format —" : "", + "Heading 3": "h3", + "Heading 4": "h4", + "Heading 5": "h5", + "Heading 6": "h6", + "Normal" : "p" + }; xinha_config.pageStyleSheets=[_editor_url+"examples/full_example.css"]; xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins); diff --git a/ccm-core/web/assets/xinha/CCMcoreXinhaConfig.js b/ccm-core/web/assets/xinha/CCMcoreXinhaConfig.js index af6d40f7f..5ddb0a78d 100644 --- a/ccm-core/web/assets/xinha/CCMcoreXinhaConfig.js +++ b/ccm-core/web/assets/xinha/CCMcoreXinhaConfig.js @@ -5,11 +5,15 @@ * options. */ /* It is based on the original configuration file XinhaConfig.js (compressed version) */ /* http://svn.xinha.webfactional.com/trunk/examples/XinhaConfig.js */ +_editor_skin = "silva"; +_editor_icons = "Crystal"; xinha_init=null; xinha_config=null; xinha_init=xinha_init?xinha_init:function(){ xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"]; -xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","TableOperations"]; +xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","CharCounter", + "ContextMenu","DefinitionList","FindReplace","ListType","QuickTag", + "SmartReplace","Stylist","TableOperations","UnFormat"]; if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){ return; } @@ -22,11 +26,21 @@ xinha_config=xinha_config?xinha_config():new Xinha.Config(); ["separator","subscript","superscript"], ["separator","justifyleft","justifycenter","justifyright","justifyfull"], ["separator","insertorderedlist","insertunorderedlist","outdent","indent"], - ["separator","inserthorizontalrule","createlink"], - ["separator","undo","redo","selectall"], (Xinha.is_gecko ? [] : ["cut","copy","paste","overwrite"]), - ["separator","clearfonts","removeformat"], - ["separator","htmlmode","showhelp","about"] + ["separator","createlink"], + ["separator","undo","redo","selectall"], + (Xinha.is_gecko ? [] : ["cut","copy","paste","overwrite"]), + ["separator","killword","clearfonts","removeformat"], + ["linebreak","separator","htmlmode","showhelp","about"] ]; +xinha_config.formatblock = + { + "— format —" : "", + "Heading 3": "h3", + "Heading 4": "h4", + "Heading 5": "h5", + "Heading 6": "h6", + "Normal" : "p" + }; xinha_config.pageStyleSheets=[_editor_url+"examples/full_example.css"]; xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins); diff --git a/ccm-core/web/assets/xinha/Xinha.css b/ccm-core/web/assets/xinha/Xinha.css index 0ea74e15a..7e0e81724 100755 --- a/ccm-core/web/assets/xinha/Xinha.css +++ b/ccm-core/web/assets/xinha/Xinha.css @@ -1,273 +1,2 @@ -.htmlarea { background: #fff; } -.htmlarea td { margin:0;padding:0; } - -.htmlarea .toolbarRow { - width:1px; -} - -.htmlarea .toolbar { - cursor: default; - background: ButtonFace; - padding: 3px; - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; -} -.htmlarea .toolbar table { margin: 0; font-family: tahoma,verdana,sans-serif; font-size: 11px; } -.htmlarea .toolbar img { border: none; vertical-align: top; } -.htmlarea .toolbar .label { padding: 0px 3px; } - -.htmlarea .toolbar .button { - background: ButtonFace; - color: ButtonText; - border: 1px solid ButtonFace; - padding: 1px; - margin: 0px; - width: 18px; - height: 18px; -} -.htmlarea .toolbar a.button:hover { - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; -} -.htmlarea .toolbar a.buttonDisabled:hover { - border-color: ButtonFace; -} -.htmlarea .toolbar .buttonActive, -.htmlarea .toolbar .buttonPressed -{ - padding: 2px 0px 0px 2px; - border: 1px solid; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} -.htmlarea .toolbar .buttonPressed { - background: ButtonHighlight; -} -.htmlarea .toolbar .indicator { - padding: 0px 3px; - overflow: hidden; - width: 20px; - text-align: center; - cursor: default; - border: 1px solid ButtonShadow; -} - -.htmlarea .toolbar .buttonDisabled img { - filter: gray() alpha(opacity = 25); - -moz-opacity: 0.25; - opacity: 0.25; -} - -.htmlarea .toolbar .separator { - /*position: relative;*/ - margin:0 3px; - border-left: 1px solid ButtonShadow; - border-right: 1px solid ButtonHighlight; - width: 0px; - height: 18px; - padding: 0px; -} - -.htmlarea .toolbar .space { width: 5px; } - -.htmlarea .toolbar select, .htmlarea .toolbar option { font: 11px Tahoma,Verdana,sans-serif;} - -.htmlarea .toolbar select, -.htmlarea .toolbar select:hover, -.htmlarea .toolbar select:active { - position:relative; - top:-2px; - margin-bottom:-2px; - color: ButtonText; -} - -.htmlarea iframe.xinha_iframe, .htmlarea textarea.xinha_textarea -{ - border: none; /*1px solid;*/ -} - -.htmlarea .statusBar { - border: 1px solid; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; - padding: 2px 4px; - background-color: ButtonFace; - color: ButtonText; - font: 11px Tahoma,Verdana,sans-serif; - height:16px; -} - -.htmlarea .statusBar .statusBarTree a { - padding: 2px 5px; - color: #00f; -} - -.htmlarea .statusBar .statusBarTree a:visited { color: #00f; } -.htmlarea .statusBar .statusBarTree a:hover { - background-color: Highlight; - color: HighlightText; - padding: 1px 4px; - border: 1px solid HighlightText; -} - - -/* popup dialogs */ - -.dialog { - color: ButtonText; - background: ButtonFace; -} - -.dialog .content { padding: 2px; } - -.dialog, .dialog button, .dialog input, .dialog select, .dialog textarea, .dialog table { - font: 11px Tahoma,Verdana,sans-serif; -} - -.dialog table { border-collapse: collapse; } - -.dialog .title, .dialog h1 -{ - background: #008; - color: #ff8; - border-bottom: 1px solid #000; - padding: 1px 0px 2px 5px; - font-size: 12px; - font-weight: bold; - cursor: default; -} -.dialog h1 { margin:0px;} -.dialog .title .button { - float: right; - border: 1px solid #66a; - padding: 0px 1px 0px 2px; - margin-right: 1px; - color: #fff; - text-align: center; -} - -.dialog .title .button-hilite { border-color: #88f; background: #44c; } - -.dialog button { - width: 5em; - padding: 0px; -} - -.dialog .buttonColor { - width :1em; - padding: 1px; - cursor: default; - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; -} - -.dialog .buttonColor .chooser, .dialog .buttonColor .nocolor { - height: 0.6em; - border: 1px solid; - padding: 0px 1em; - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} - -.dialog .buttonClick { - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} -.dialog .buttonColor-hilite { - border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; -} - -.dialog .buttonColor .nocolor { padding: 0px; } -.dialog .buttonColor .nocolor-hilite { background-color: #fff; color: #f00; } - -.dialog .label { text-align: right; width: 6em; } -.dialog .value input { width: 100%; } -.dialog .buttons { text-align: right; padding: 2px 4px 0px 4px; } - -.dialog legend { font-weight: bold; } -.dialog fieldset table { margin: 2px 0px; } - -.popupwin { - padding: 0px; - margin: 0px; -} - -.popupwin .title { - background: #fff; - color: #000; - font-weight: bold; - font-size: 120%; - padding: 3px 10px; - margin-bottom: 10px; - border-bottom: 1px solid black; - letter-spacing: 2px; -} - -form { margin: 0px; border: none; } - - -/** Panels **/ -.htmlarea .panels.top -{ - border-bottom : 1px solid; - border-color: ButtonShadow; -} - -.htmlarea .panels.right -{ - border-left : 1px solid; - border-color: ButtonShadow; -} - -.htmlarea .panels.left -{ - border-right : 1px solid; - border-color: ButtonShadow; -} - -.htmlarea .panels.bottom -{ - border-top : 1px solid; - border-color: ButtonShadow; -} - -.htmlarea .panel h1 { - background: ButtonFace; - border: 1px solid; - border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; - margin: 0px; - padding: 0px; - font-size:100%; - font-weight:bold; - padding: 2px; - clear:left; - -} - -.htmlarea .panel { overflow:hidden; } -.htmlarea .panels.left .panel { border-right:none; border-left:none; } -.htmlarea .panels.left h1 { border-right:none; } -.htmlarea .panels.right .panel { border-right:none; border-left:none; } -.htmlarea .panels.left h1 { border-left:none; } -.htmlarea { border: 1px solid black; } - -.loading -{ - font-family:sans-serif; - position:absolute; - z-index:998; - text-align:center; - width:212px; - padding: 55px 0 5px 0; - border:2px solid #ccc; - /* border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;*/ - background: url(images/xinha_logo.gif) no-repeat #fff center 5px; -} -.loading_main -{ - font-size:11px; - color:#000; - -} -.loading_sub -{ - font-size:9px; - color:#666; - text-align:center; -} +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +.htmlarea{background:#fff;}.htmlarea td{margin:0;padding:0;}.htmlarea .toolbarRow{width:1px;}.htmlarea .toolbar{cursor:default;background:ButtonFace;padding:3px;border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;}.htmlarea .toolbar table{margin:0;font-family:Tahoma,Verdana,sans-serif;font-size:11px;}.htmlarea .toolbar img{border:none;vertical-align:top;}.htmlarea .toolbar .label{padding:0 3px;}.htmlarea .toolbar .button{background:ButtonFace;color:ButtonText;border:1px solid ButtonFace;padding:1px;margin:0;width:18px;height:18px;}.htmlarea .toolbar a.button:hover{border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;}.htmlarea .toolbar a.buttonDisabled:hover{border-color:ButtonFace;}.htmlarea .toolbar .buttonActive,.htmlarea .toolbar .buttonPressed{padding:2px 0 0 2px;border:1px solid;border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.htmlarea .toolbar .buttonPressed{background:ButtonHighlight;}.htmlarea .toolbar .indicator{padding:0 3px;overflow:hidden;width:20px;text-align:center;cursor:default;border:1px solid ButtonShadow;}.htmlarea .toolbar .buttonDisabled img{filter:gray() alpha(opacity = 25);-moz-opacity:.25;opacity:.25;}.htmlarea .toolbar .separator{margin:0 3px;border-left:1px solid ButtonShadow;border-right:1px solid ButtonHighlight;width:0;height:18px;padding:0;}.htmlarea .toolbar .space{width:5px;}.htmlarea .toolbar select,.htmlarea .toolbar option{font:11px Tahoma,Verdana,sans-serif;}.htmlarea .toolbar select,.htmlarea .toolbar select:hover,.htmlarea .toolbar select:active{position:relative;top:-2px;margin-bottom:-2px;color:ButtonText;}.htmlarea iframe.xinha_iframe,.htmlarea textarea.xinha_textarea{border:none;}.htmlarea .statusBar{border:1px solid;border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;padding:2px 4px;background-color:ButtonFace;color:ButtonText;font:11px Tahoma,Verdana,sans-serif;height:16px;overflow:hidden;}.htmlarea .statusBar .statusBarTree a{padding:2px 5px;color:#00f;}.htmlarea .statusBar .statusBarTree a:visited{color:#00f;}.htmlarea .statusBar .statusBarTree a:hover{background-color:Highlight;color:HighlightText;padding:1px 4px;border:1px solid HighlightText;}.statusBarWidgetContainer{background-color:ButtonFace;}.dialog{color:ButtonText;background:ButtonFace;border:1px outset;border-color:WindowFrame;}div.dialog{padding-bottom:10px;border-radius:8px 8px 0 0;-moz-border-radius:8px 8px 0 0;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;box-shadow:9px 9px 10px #444;-moz-box-shadow:9px 9px 10px #444;-webkit-box-shadow:9px 9px 10px #444;}div.dialog.modeless{box-shadow:4px 4px 5px #888;-moz-box-shadow:4px 4px 5px #888;-webkit-box-shadow:4px 4px 5px #888;}div.dialog.chrome{-webkit-box-shadow:none!IMPORTANT;}.panels div.dialog.panel{border-radius:0;-moz-border-radius:0;-webkit-border-radius:0;box-shadow:none;-moz-box-shadow:none;-webkit-box-shadow:none;}.xinha_dialog_background{filter:alpha(opacity=0);-moz-opacity:0;opacity:0;border:none;}.xinha_dialog_background_modal_greyout{background-color:#666;filter:alpha(opacity=70)!IMPORTANT;-moz-opacity:.7;opacity:.7;}.xinha_dialog_background_modal{filter:alpha(opacity=0)!IMPORTANT;-moz-opacity:0;opacity:0;border:none;}body.xinha_dialog_background_modal_greyout{filter:alpha(opacity=100)!IMPORTANT;}body.xinha_dialog_background_modal{filter:alpha(opacity=0);}.dialog .content{padding:2px;}.dialog,.dialog button,.dialog input,.dialog select,.dialog textarea,.dialog table{font:11px Tahoma,Verdana,sans-serif;}.dialog table{border-collapse:collapse;}.dialog .title,.dialog h1{background:ActiveCaption;color:CaptionText;border-bottom:1px solid #000;padding:1px 0 2px 5px;font-size:12px;font-weight:bold;cursor:default;letter-spacing:.01em;}.dialog h1{padding-left:22px;margin:0;border-radius:8px 8px 0 0;-moz-border-radius:8px 8px 0 0;-webkit-border-top-left-radius:8px;-webkit-border-top-right-radius:8px;}.panels .dialog.panel h1{-moz-border-radius:0;-webkit-border-radius:0;}.dialog .title .button{float:right;border:1px solid #66a;padding:0 1px 0 2px;margin-right:1px;color:#fff;text-align:center;}.dialog .title .button-hilite{border-color:#88f;background:#44c;}.dialog button{width:5.5em;padding:0;}.dialog .closeButton{padding:0;cursor:default;border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;height:11px;width:11px;vertical-align:top;position:absolute;top:3px;right:2px;background-color:ButtonFace;color:ButtonText;font-size:13px;font-family:Tahoma,Verdana,sans-serif;text-align:center;letter-spacing:0;overflow:hidden;}.dialog .buttonColor{width:1em;padding:1px;cursor:default;border:1px solid;border-color:ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;}.dialog .buttonColor .chooser,.dialog .buttonColor .nocolor{height:.6em;border:1px solid;padding:0 1em;border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.dialog .buttonClick{border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.dialog .buttonColor-hilite{border-color:ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow;}.dialog .buttonColor .nocolor{padding:0;}.dialog .buttonColor .nocolor-hilite{background-color:#fff;color:#f00;}.dialog .label{text-align:right;width:6em;}.dialog .value input{width:100%;}.dialog legend{font-weight:bold;}.dialog fieldset table{margin:2px 0;}.dialog .buttons{padding:1em;text-align:center;}.dialog .resizeHandle{-moz-appearance:resizer;width:12px;height:12px;border-bottom:2px solid #000;border-right:2px solid #000;cursor:se-resize;}.popupwin{padding:0;margin:0;}.popupwin .title{background:#fff;color:#000;font-weight:bold;font-size:120%;padding:3px 10px;margin-bottom:10px;border-bottom:1px solid black;letter-spacing:2px;}form{margin:0;border:none;}.htmlarea .panels_top{border-bottom:1px solid;border-color:ButtonShadow;}.htmlarea .panels_right{border-left:1px solid;border-color:ButtonShadow;}.htmlarea .panels_left{border-right:1px solid;border-color:ButtonShadow;}.htmlarea .panels_bottom{border-top:1px solid;border-color:ButtonShadow;}.htmlarea .panel h1{clear:left;font-size:.9em;}.htmlarea .panel{overflow:hidden;background-color:white;padding-bottom:0!IMPORTANT;border:none!IMPORTANT;}.htmlarea .panels_left .panel{border-right:none;border-left:none;}.htmlarea .panels_left h1{border-right:none;}.htmlarea .panels_right .panel{border-right:none;border-left:none;}.htmlarea .panels_left h1{border-left:none;}.htmlarea{border:1px solid black;}.loading{font-family:sans-serif;position:absolute;z-index:998;text-align:center;width:212px;padding:55px 0 5px 0;border:2px solid #ccc;background:url(images/xinha_logo.gif) no-repeat #fff center 5px;}.loading_main{font-size:11px;color:#000;}.loading_sub{font-size:9px;color:#666;text-align:center;}.dialog a img{border:0 none transparent;}.dialog fieldset.collapsed{border:0 none transparent;}.dialog fieldset.collapsed form{display:none;}.hidden{display:none;}.placesmanager{width:95%;overflow:auto;}.filemanager{width:95%;height:200px;overflow:auto;background-color:#fff;}.filemanager div.file{min-width:80px;height:100px;position:relative;float:left;border:1px outset #666;margin:4px;}.placesmanager div.file{min-width:60px;height:70px;position:relative;float:left;border:1px outset #666;margin:4px;}.filemanager div.file:hover,.placesmanager div.file:hover{border:1px solid #333;background:#fffff3;}.filemanager div.selected,.filemanager div.selected:hover,.placesmanager div.selected,.placesmanager div.selected:hover{background:#ffffda;border:1px solid #000;}.filemanager .filename{margin:.5em;color:#222;}.filemanager div.selected .filename{color:#000;}.filemanager img.thumb{width:50px;height:50px;position:absolute;top:50%;left:50%;margin:-25px 0 0 -25px;border:1px solid black;}.filemanager img.icon{width:32px;height:32px;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px;}.filemanager img.action{width:15px;height:15px;position:absolute;}.filemanager img.delete{bottom:3px;left:20px;}.filemanager img.copy{bottom:3px;left:3px;} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/Xinha.css_uncompr.js b/ccm-core/web/assets/xinha/Xinha.css_uncompr.js new file mode 100644 index 000000000..d845cf386 --- /dev/null +++ b/ccm-core/web/assets/xinha/Xinha.css_uncompr.js @@ -0,0 +1,477 @@ +.htmlarea { background: #fff; } +.htmlarea td { margin:0;padding:0; } + +.htmlarea .toolbarRow { + width:1px; +} + +.htmlarea .toolbar { + cursor: default; + background: ButtonFace; + padding: 3px; + border: 1px solid; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; +} +.htmlarea .toolbar table { margin: 0; font-family: Tahoma, Verdana,sans-serif; font-size: 11px; } +.htmlarea .toolbar img { border: none; vertical-align: top; } +.htmlarea .toolbar .label { padding: 0 3px; } + +.htmlarea .toolbar .button { + background: ButtonFace; + color: ButtonText; + border: 1px solid ButtonFace; + padding: 1px; + margin: 0; + width: 18px; + height: 18px; +} +.htmlarea .toolbar a.button:hover { + border: 1px solid; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; +} +.htmlarea .toolbar a.buttonDisabled:hover { + border-color: ButtonFace; +} +.htmlarea .toolbar .buttonActive, +.htmlarea .toolbar .buttonPressed +{ + padding: 2px 0 0 2px; + border: 1px solid; + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; +} +.htmlarea .toolbar .buttonPressed { + background: ButtonHighlight; +} +.htmlarea .toolbar .indicator { + padding: 0 3px; + overflow: hidden; + width: 20px; + text-align: center; + cursor: default; + border: 1px solid ButtonShadow; +} + +.htmlarea .toolbar .buttonDisabled img { + filter: gray() alpha(opacity = 25); + -moz-opacity: 0.25; + opacity: 0.25; +} + +.htmlarea .toolbar .separator { + /*position: relative;*/ + margin:0 3px; + border-left: 1px solid ButtonShadow; + border-right: 1px solid ButtonHighlight; + width: 0; + height: 18px; + padding: 0; +} + +.htmlarea .toolbar .space { width: 5px; } + +.htmlarea .toolbar select, .htmlarea .toolbar option { font: 11px Tahoma,Verdana,sans-serif;} + +.htmlarea .toolbar select, +.htmlarea .toolbar select:hover, +.htmlarea .toolbar select:active { + position:relative; + top:-2px; + margin-bottom:-2px; + color: ButtonText; +} + +.htmlarea iframe.xinha_iframe, .htmlarea textarea.xinha_textarea +{ + border: none; /*1px solid;*/ +} + +.htmlarea .statusBar { + border: 1px solid; + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; + padding: 2px 4px; + background-color: ButtonFace; + color: ButtonText; + font: 11px Tahoma,Verdana,sans-serif; + height:16px; + overflow: hidden; +} + +.htmlarea .statusBar .statusBarTree a { + padding: 2px 5px; + color: #00f; +} + +.htmlarea .statusBar .statusBarTree a:visited { color: #00f; } +.htmlarea .statusBar .statusBarTree a:hover { + background-color: Highlight; + color: HighlightText; + padding: 1px 4px; + border: 1px solid HighlightText; +} + +.statusBarWidgetContainer { + background-color: ButtonFace; +} + +/* popup dialogs */ + +.dialog { + color: ButtonText; + background: ButtonFace; + border: 1px outset; + border-color: WindowFrame; +} +div.dialog { + padding-bottom:10px; + border-radius: 8px 8px 0 0; + -moz-border-radius: 8px 8px 0 0; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; + + box-shadow: 9px 9px 10px #444; + -moz-box-shadow: 9px 9px 10px #444; + -webkit-box-shadow: 9px 9px 10px #444; +} +div.dialog.modeless { + box-shadow: 4px 4px 5px #888; + -moz-box-shadow: 4px 4px 5px #888; + -webkit-box-shadow: 4px 4px 5px #888; +} +div.dialog.chrome { + -webkit-box-shadow: none !IMPORTANT; +} +.panels div.dialog.panel { + border-radius:0; + -moz-border-radius: 0; + -webkit-border-radius:0; + + box-shadow: none; + -moz-box-shadow: none; + -webkit-box-shadow: none; +} +.xinha_dialog_background { + filter: alpha(opacity=0); + -moz-opacity: 0; + opacity: 0; + border:none; +} +.xinha_dialog_background_modal_greyout { + background-color:#666; + filter: alpha(opacity=70) !IMPORTANT; + -moz-opacity: 0.7; + opacity: 0.7; +} +.xinha_dialog_background_modal { + filter: alpha(opacity=0) !IMPORTANT; + -moz-opacity: 0; + opacity: 0; + border:none; +} +body.xinha_dialog_background_modal_greyout { + filter: alpha(opacity=100) !IMPORTANT; +} +body.xinha_dialog_background_modal { + filter: alpha(opacity=0); +} +.dialog .content { padding: 2px; } + +.dialog, .dialog button, .dialog input, .dialog select, .dialog textarea, .dialog table { + font: 11px Tahoma,Verdana,sans-serif; +} + +.dialog table { border-collapse: collapse; } + +.dialog .title, .dialog h1 +{ + background: ActiveCaption; + color: CaptionText; + border-bottom: 1px solid #000; + padding: 1px 0 2px 5px; + font-size: 12px; + font-weight: bold; + cursor: default; + letter-spacing: 0.01em; +} +.dialog h1 { + padding-left:22px; + margin:0; + border-radius: 8px 8px 0 0; + -moz-border-radius: 8px 8px 0 0; + -webkit-border-top-left-radius: 8px; + -webkit-border-top-right-radius: 8px; +} +.panels .dialog.panel h1 { + -moz-border-radius: 0; + -webkit-border-radius:0; +} + +.dialog .title .button { + float: right; + border: 1px solid #66a; + padding: 0 1px 0 2px; + margin-right: 1px; + color: #fff; + text-align: center; +} + +.dialog .title .button-hilite { border-color: #88f; background: #44c; } + +.dialog button { + width: 5.5em; + padding: 0; +} +.dialog .closeButton { + padding: 0; + cursor: default; + border: 1px solid; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; + height : 11px; + width : 11px; + vertical-align : top; + position : absolute; + top : 3px; + right : 2px; + background-color: ButtonFace; + color: ButtonText; + font-size: 13px; + font-family: Tahoma,Verdana,sans-serif; + text-align:center; + letter-spacing:0; + overflow:hidden; +} +.dialog .buttonColor { + width :1em; + padding: 1px; + cursor: default; + border: 1px solid; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; +} + +.dialog .buttonColor .chooser, .dialog .buttonColor .nocolor { + height: 0.6em; + border: 1px solid; + padding: 0 1em; + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; +} + +.dialog .buttonClick { + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; +} +.dialog .buttonColor-hilite { + border-color: ButtonShadow ButtonHighlight ButtonHighlight ButtonShadow; +} + +.dialog .buttonColor .nocolor { padding: 0; } +.dialog .buttonColor .nocolor-hilite { background-color: #fff; color: #f00; } + +.dialog .label { text-align: right; width: 6em; } +.dialog .value input { width: 100%; } + +.dialog legend { font-weight: bold; } +.dialog fieldset table { margin: 2px 0; } + +.dialog .buttons { + + padding: 1em; + text-align: center; +} +.dialog .resizeHandle { + -moz-appearance : resizer; + width: 12px; + height: 12px; + border-bottom: 2px solid #000; + border-right: 2px solid #000; + cursor : se-resize; +} +.popupwin { + padding: 0; + margin: 0; +} + +.popupwin .title { + background: #fff; + color: #000; + font-weight: bold; + font-size: 120%; + padding: 3px 10px; + margin-bottom: 10px; + border-bottom: 1px solid black; + letter-spacing: 2px; +} + +form { margin: 0; border: none; } + + +/** Panels **/ +.htmlarea .panels_top +{ + border-bottom : 1px solid; + border-color: ButtonShadow; +} + +.htmlarea .panels_right +{ + border-left : 1px solid; + border-color: ButtonShadow; +} + +.htmlarea .panels_left +{ + border-right : 1px solid; + border-color: ButtonShadow; +} + +.htmlarea .panels_bottom +{ + border-top : 1px solid; + border-color: ButtonShadow; +} + +.htmlarea .panel h1 { + clear:left; + font-size:0.9em; +} + +.htmlarea .panel { + overflow:hidden; + background-color:white; + padding-bottom:0 !IMPORTANT; + border: none !IMPORTANT; +} +.htmlarea .panels_left .panel { border-right:none; border-left:none; } +.htmlarea .panels_left h1 { border-right:none; } +.htmlarea .panels_right .panel { border-right:none; border-left:none; } +.htmlarea .panels_left h1 { border-left:none; } +.htmlarea { border: 1px solid black; } + +.loading +{ + font-family:sans-serif; + position:absolute; + z-index:998; + text-align:center; + width:212px; + padding: 55px 0 5px 0; + border:2px solid #ccc; + /* border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;*/ + background: url(images/xinha_logo.gif) no-repeat #fff center 5px; +} +.loading_main +{ + font-size:11px; + color:#000; + +} +.loading_sub +{ + font-size:9px; + color:#666; + text-align:center; +} +/* Classes for filemanager styles in a dialog. */ +.dialog a img +{ +border: 0 none transparent; +} + +.dialog fieldset.collapsed { +border: 0 none transparent; +} + +.dialog fieldset.collapsed form { +display: none; +} + +.hidden +{ +display: none; +} + +.placesmanager +{ + width: 95%; + overflow: auto; +} + +.filemanager +{ + width: 95%; + height: 200px; + overflow: auto; + background-color: #fff; +} +.filemanager div.file +{ + min-width: 80px; + height: 100px; + position: relative; + float: left; + border: 1px outset #666; + margin: 4px; +} +.placesmanager div.file +{ + min-width: 60px; + height: 70px; + position: relative; + float: left; + border: 1px outset #666; + margin: 4px; +} +.filemanager div.file:hover, +.placesmanager div.file:hover +{ + border: 1px solid #333; + background: #fffff3; +} + +.filemanager div.selected, +.filemanager div.selected:hover, +.placesmanager div.selected, +.placesmanager div.selected:hover +{ + background: #ffffda; + border: 1px solid #000; +} +.filemanager .filename { + margin: 0.5em; + color: #222; +} +.filemanager div.selected .filename { + color: #000; +} +.filemanager img.thumb +{ + width: 50px; + height: 50px; + position: absolute; + top: 50%; + left: 50%; + margin: -25px 0 0 -25px; + border: 1px solid black; +} +.filemanager img.icon +{ + width: 32px; + height: 32px; + position: absolute; + top: 50%; + left: 50%; + margin: -16px 0 0 -16px; +} +.filemanager img.action +{ + width: 15px; + height: 15px; + position: absolute; +} +.filemanager img.delete +{ + bottom: 3px; + left: 20px; +} +.filemanager img.copy +{ + bottom: 3px; + left: 3px; +} diff --git a/ccm-core/web/assets/xinha/XinhaConfig.js b/ccm-core/web/assets/xinha/XinhaConfig.js deleted file mode 100644 index ff126d004..000000000 --- a/ccm-core/web/assets/xinha/XinhaConfig.js +++ /dev/null @@ -1,19 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/examples/XinhaConfig.js */ -xinha_init=null; -xinha_config=null; -xinha_init=xinha_init?xinha_init:function(){ -xinha_editors=xinha_editors?xinha_editors:["myTextArea","anotherOne"]; -//xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","Linker","SuperClean","TableOperations"]; -xinha_plugins=xinha_plugins?xinha_plugins:["CharacterMap","ContextMenu","SmartReplace","Stylist","SuperClean","TableOperations"]; -if(!Xinha.loadPlugins(xinha_plugins,xinha_init)){ -return; -} -xinha_config=xinha_config?xinha_config():new Xinha.Config(); -xinha_config.pageStyleSheets=[_editor_url+"examples/full_example.css"]; -xinha_editors=Xinha.makeEditors(xinha_editors,xinha_config,xinha_plugins); -Xinha.startEditors(xinha_editors); -}; -Xinha.addOnloadHandler(xinha_init); - diff --git a/ccm-core/web/assets/xinha/XinhaCore.js b/ccm-core/web/assets/xinha/XinhaCore.js index 20f8bb7b8..0d5e6154c 100644 --- a/ccm-core/web/assets/xinha/XinhaCore.js +++ b/ccm-core/web/assets/xinha/XinhaCore.js @@ -1,13 +1,12 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/XinhaCore.js */ +/* The URL of the most recent uncompressed version of this file is http://svn.xinha.org/trunk/XinhaCore.js */ /*-------------------------------------------------------------------------- -- Xinha (is not htmlArea) - http://xinha.org -- -- Use of Xinha is granted by the terms of the htmlArea License (based on -- BSD license) please read license.txt in this package for details. -- - -- Copyright (c) 2005-2008 Xinha Developer Team and contributors + -- Copyright (c) 2005-2010 Xinha Developer Team and contributors -- -- Xinha was originally based on work by Mihai Bazon which is: -- Copyright (c) 2003-2004 dynarch.com. @@ -15,3801 +14,4 @@ -- This copyright notice MUST stay intact for use. -------------------------------------------------------------------------*/ -Xinha.version={"Release":"0.95","Head":"$HeadURL:http://svn.xinha.webfactional.com/trunk/XinhaCore.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),"Date":"$LastChangedDate:2008-05-01 14:33:36 +0200 (Do, 01 Mai 2008) $".replace(/^[^:]*:\s*([0-9-]*) ([0-9:]*) ([+0-9]*) \((.*)\)\s*\$/,"$4 $2 $3"),"Revision":"$LastChangedRevision:999 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),"RevisionBy":"$LastChangedBy:ray $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1")}; -Xinha._resolveRelativeUrl=function(_1,_2){ -if(_2.match(/^([^:]+\:)?\/\//)){ -return _2; -}else{ -var b=_1.split("/"); -if(b[b.length-1]==""){ -b.pop(); -} -var p=_2.split("/"); -if(p[0]=="."){ -p.shift(); -} -while(p[0]==".."){ -b.pop(); -p.shift(); -} -return b.join("/")+"/"+p.join("/"); -} -}; -if(typeof _editor_url=="string"){ -_editor_url=_editor_url.replace(/\x2f*$/,"/"); -if(!_editor_url.match(/^([^:]+\:)?\//)){ -var path=window.location.toString().split("/"); -path.pop(); -_editor_url=Xinha._resolveRelativeUrl(path.join("/"),_editor_url); -} -}else{ -alert("WARNING: _editor_url is not set! You should set this variable to the editor files path; it should preferably be an absolute path, like in '/htmlarea/', but it can be relative if you prefer. Further we will try to load the editor files correctly but we'll probably fail."); -_editor_url=""; -} -if(typeof _editor_lang=="string"){ -_editor_lang=_editor_lang.toLowerCase(); -}else{ -_editor_lang="en"; -} -if(typeof _editor_skin!=="string"){ -_editor_skin=""; -} -var __xinhas=[]; -Xinha.agt=navigator.userAgent.toLowerCase(); -Xinha.is_ie=((Xinha.agt.indexOf("msie")!=-1)&&(Xinha.agt.indexOf("opera")==-1)); -Xinha.ie_version=parseFloat(Xinha.agt.substring(Xinha.agt.indexOf("msie")+5)); -Xinha.is_opera=(Xinha.agt.indexOf("opera")!=-1); -if(Xinha.is_opera&&Xinha.agt.match(/opera[\/ ]([0-9.]+)/)){ -Xinha.opera_version=parseFloat(RegExp.$1); -}else{ -Xinha.opera_version=0; -} -Xinha.is_khtml=(Xinha.agt.indexOf("khtml")!=-1); -Xinha.is_webkit=(Xinha.agt.indexOf("applewebkit")!=-1); -Xinha.webkit_version=parseInt(navigator.appVersion.replace(/.*?AppleWebKit\/([\d]).*?/,"$1")); -Xinha.is_safari=(Xinha.agt.indexOf("safari")!=-1); -Xinha.is_mac=(Xinha.agt.indexOf("mac")!=-1); -Xinha.is_mac_ie=(Xinha.is_ie&&Xinha.is_mac); -Xinha.is_win_ie=(Xinha.is_ie&&!Xinha.is_mac); -Xinha.is_gecko=(navigator.product=="Gecko")||Xinha.is_opera; -Xinha.is_real_gecko=(navigator.product=="Gecko"&&!Xinha.is_webkit); -Xinha.is_ff3=Xinha.is_real_gecko&&parseInt(navigator.productSub)>=2007121016; -Xinha.is_ff2=Xinha.is_real_gecko&&parseInt(navigator.productSub)<2007121016; -Xinha.isRunLocally=document.URL.toLowerCase().search(/^file:/)!=-1; -Xinha.is_designMode=(typeof document.designMode!="undefined"&&!Xinha.is_ie); -Xinha.checkSupportedBrowser=function(){ -return Xinha.is_real_gecko||(Xinha.is_opera&&Xinha.opera_version>=9.2)||Xinha.ie_version>=5.5||Xinha.webkit_version>=522; -}; -Xinha.isSupportedBrowser=Xinha.checkSupportedBrowser(); -if(Xinha.isRunLocally&&Xinha.isSupportedBrowser){ -alert("Xinha *must* be installed on a web server. Locally opened files (those that use the \"file://\" protocol) cannot properly function. Xinha will try to initialize but may not be correctly loaded."); -} -function Xinha(_5,_6){ -if(!Xinha.isSupportedBrowser){ -return; -} -if(!_5){ -throw new Error("Tried to create Xinha without textarea specified."); -} -if(typeof _6=="undefined"){ -this.config=new Xinha.Config(); -}else{ -this.config=_6; -} -if(typeof _5!="object"){ -_5=Xinha.getElementById("textarea",_5); -} -this._textArea=_5; -this._textArea.spellcheck=false; -Xinha.freeLater(this,"_textArea"); -this._initial_ta_size={w:_5.style.width?_5.style.width:(_5.offsetWidth?(_5.offsetWidth+"px"):(_5.cols+"em")),h:_5.style.height?_5.style.height:(_5.offsetHeight?(_5.offsetHeight+"px"):(_5.rows+"em"))}; -if(document.getElementById("loading_"+_5.id)||this.config.showLoading){ -if(!document.getElementById("loading_"+_5.id)){ -Xinha.createLoadingMessage(_5); -} -this.setLoadingMessage(Xinha._lc("Constructing object")); -} -this._editMode="wysiwyg"; -this.plugins={}; -this._timerToolbar=null; -this._timerUndo=null; -this._undoQueue=[this.config.undoSteps]; -this._undoPos=-1; -this._customUndo=true; -this._mdoc=document; -this.doctype=""; -this.__htmlarea_id_num=__xinhas.length; -__xinhas[this.__htmlarea_id_num]=this; -this._notifyListeners={}; -var _7={right:{on:true,container:document.createElement("td"),panels:[]},left:{on:true,container:document.createElement("td"),panels:[]},top:{on:true,container:document.createElement("td"),panels:[]},bottom:{on:true,container:document.createElement("td"),panels:[]}}; -for(var i in _7){ -if(!_7[i].container){ -continue; -} -_7[i].div=_7[i].container; -_7[i].container.className="panels "+i; -Xinha.freeLater(_7[i],"container"); -Xinha.freeLater(_7[i],"div"); -} -this._panels=_7; -this._statusBar=null; -this._statusBarTree=null; -this._statusBarTextMode=null; -this._statusBarItems=[]; -this._framework={}; -this._htmlArea=null; -this._iframe=null; -this._doc=null; -this._toolBar=this._toolbar=null; -this._toolbarObjects={}; -} -Xinha.onload=function(){ -}; -Xinha.init=function(){ -Xinha.onload(); -}; -Xinha.RE_tagName=/(<\/|<)\s*([^ \t\n>]+)/ig; -Xinha.RE_doctype=/()\n?/i; -Xinha.RE_head=/((.|\n)*?)<\/head>/i; -Xinha.RE_body=/]*>((.|\n|\r|\t)*?)<\/body>/i; -Xinha.RE_Specials=/([\/\^$*+?.()|{}[\]])/g; -Xinha.escapeStringForRegExp=function(_9){ -return _9.replace(Xinha.RE_Specials,"\\$1"); -}; -Xinha.RE_email=/^[_a-z\d\-\.]{3,}@[_a-z\d\-]{2,}(\.[_a-z\d\-]{2,})+$/i; -Xinha.RE_url=/(https?:\/\/)?(([a-z0-9_]+:[a-z0-9_]+@)?[a-z0-9_-]{2,}(\.[a-z0-9_-]{2,}){2,}(:[0-9]+)?(\/\S+)*)/i; -Xinha.Config=function(){ -this.version=Xinha.version.Revision; -this.width="auto"; -this.height="auto"; -this.sizeIncludesBars=true; -this.sizeIncludesPanels=true; -this.panel_dimensions={left:"200px",right:"200px",top:"100px",bottom:"100px"}; -this.iframeWidth=null; -this.statusBar=true; -this.htmlareaPaste=false; -this.mozParaHandler="best"; -this.getHtmlMethod="DOMwalk"; -this.undoSteps=20; -this.undoTimeout=500; -this.changeJustifyWithDirection=false; -this.fullPage=false; -this.pageStyle=""; -this.pageStyleSheets=[]; -this.baseHref=null; -this.expandRelativeUrl=true; -this.stripBaseHref=true; -this.stripSelfNamedAnchors=true; -this.only7BitPrintablesInURLs=true; -this.sevenBitClean=false; -this.specialReplacements={}; -this.inwardHtml=function(_a){ -return _a; -}; -this.outwardHtml=function(_b){ -return _b; -}; -this.killWordOnPaste=true; -this.makeLinkShowsTarget=true; -this.charSet=(typeof document.characterSet!="undefined")?document.characterSet:document.charset; -this.browserQuirksMode=null; -this.imgURL="images/"; -this.popupURL="popups/"; -this.htmlRemoveTags=null; -this.flowToolbars=true; -this.toolbarAlign="left"; -this.showLoading=false; -this.stripScripts=true; -this.convertUrlsToLinks=true; -this.colorPickerCellSize="6px"; -this.colorPickerGranularity=18; -this.colorPickerPosition="bottom,right"; -this.colorPickerWebSafe=false; -this.colorPickerSaveColors=20; -this.fullScreen=false; -this.fullScreenMargins=[0,0,0,0]; -this.toolbar=[["popupeditor"],["separator","formatblock","fontname","fontsize","bold","italic","underline","strikethrough"],["separator","forecolor","hilitecolor","textindicator"],["separator","subscript","superscript"],["linebreak","separator","justifyleft","justifycenter","justifyright","justifyfull"],["separator","insertorderedlist","insertunorderedlist","outdent","indent"],["separator","inserthorizontalrule","createlink","insertimage","inserttable"],["linebreak","separator","undo","redo","selectall","print"],(Xinha.is_gecko?[]:["cut","copy","paste","overwrite","saveas"]),["separator","killword","clearfonts","removeformat","toggleborders","splitblock","lefttoright","righttoleft"],["separator","htmlmode","showhelp","about"]]; -this.fontname={"— font —":"","Arial":"arial,helvetica,sans-serif","Courier New":"courier new,courier,monospace","Georgia":"georgia,times new roman,times,serif","Tahoma":"tahoma,arial,helvetica,sans-serif","Times New Roman":"times new roman,times,serif","Verdana":"verdana,arial,helvetica,sans-serif","impact":"impact","WingDings":"wingdings"}; -this.fontsize={"— size —":"","1 (8 pt)":"1","2 (10 pt)":"2","3 (12 pt)":"3","4 (14 pt)":"4","5 (18 pt)":"5","6 (24 pt)":"6","7 (36 pt)":"7"}; -this.formatblock={"— format —":"","Heading 1":"h1","Heading 2":"h2","Heading 3":"h3","Heading 4":"h4","Heading 5":"h5","Heading 6":"h6","Normal":"p","Address":"address","Formatted":"pre"}; -this.customSelects={}; -this.debug=true; -this.URIs={"blank":_editor_url+"popups/blank.html","link":_editor_url+"modules/CreateLink/link.html","insert_image":_editor_url+"modules/InsertImage/insert_image.html","insert_table":_editor_url+"modules/InsertTable/insert_table.html","select_color":_editor_url+"popups/select_color.html","about":_editor_url+"popups/about.html","help":_editor_url+"popups/editor_help.html"}; -this.btnList={bold:["Bold",Xinha._lc({key:"button_bold",string:["ed_buttons_main.gif",3,2]},"Xinha"),false,function(e){ -e.execCommand("bold"); -}],italic:["Italic",Xinha._lc({key:"button_italic",string:["ed_buttons_main.gif",2,2]},"Xinha"),false,function(e){ -e.execCommand("italic"); -}],underline:["Underline",Xinha._lc({key:"button_underline",string:["ed_buttons_main.gif",2,0]},"Xinha"),false,function(e){ -e.execCommand("underline"); -}],strikethrough:["Strikethrough",Xinha._lc({key:"button_strikethrough",string:["ed_buttons_main.gif",3,0]},"Xinha"),false,function(e){ -e.execCommand("strikethrough"); -}],subscript:["Subscript",Xinha._lc({key:"button_subscript",string:["ed_buttons_main.gif",3,1]},"Xinha"),false,function(e){ -e.execCommand("subscript"); -}],superscript:["Superscript",Xinha._lc({key:"button_superscript",string:["ed_buttons_main.gif",2,1]},"Xinha"),false,function(e){ -e.execCommand("superscript"); -}],justifyleft:["Justify Left",["ed_buttons_main.gif",0,0],false,function(e){ -e.execCommand("justifyleft"); -}],justifycenter:["Justify Center",["ed_buttons_main.gif",1,1],false,function(e){ -e.execCommand("justifycenter"); -}],justifyright:["Justify Right",["ed_buttons_main.gif",1,0],false,function(e){ -e.execCommand("justifyright"); -}],justifyfull:["Justify Full",["ed_buttons_main.gif",0,1],false,function(e){ -e.execCommand("justifyfull"); -}],orderedlist:["Ordered List",["ed_buttons_main.gif",0,3],false,function(e){ -e.execCommand("insertorderedlist"); -}],unorderedlist:["Bulleted List",["ed_buttons_main.gif",1,3],false,function(e){ -e.execCommand("insertunorderedlist"); -}],insertorderedlist:["Ordered List",["ed_buttons_main.gif",0,3],false,function(e){ -e.execCommand("insertorderedlist"); -}],insertunorderedlist:["Bulleted List",["ed_buttons_main.gif",1,3],false,function(e){ -e.execCommand("insertunorderedlist"); -}],outdent:["Decrease Indent",["ed_buttons_main.gif",1,2],false,function(e){ -e.execCommand("outdent"); -}],indent:["Increase Indent",["ed_buttons_main.gif",0,2],false,function(e){ -e.execCommand("indent"); -}],forecolor:["Font Color",["ed_buttons_main.gif",3,3],false,function(e){ -e.execCommand("forecolor"); -}],hilitecolor:["Background Color",["ed_buttons_main.gif",2,3],false,function(e){ -e.execCommand("hilitecolor"); -}],undo:["Undoes your last action",["ed_buttons_main.gif",4,2],false,function(e){ -e.execCommand("undo"); -}],redo:["Redoes your last action",["ed_buttons_main.gif",5,2],false,function(e){ -e.execCommand("redo"); -}],cut:["Cut selection",["ed_buttons_main.gif",5,0],false,function(e,cmd){ -e.execCommand(cmd); -}],copy:["Copy selection",["ed_buttons_main.gif",4,0],false,function(e,cmd){ -e.execCommand(cmd); -}],paste:["Paste from clipboard",["ed_buttons_main.gif",4,1],false,function(e,cmd){ -e.execCommand(cmd); -}],selectall:["Select all","ed_selectall.gif",false,function(e){ -e.execCommand("selectall"); -}],inserthorizontalrule:["Horizontal Rule",["ed_buttons_main.gif",6,0],false,function(e){ -e.execCommand("inserthorizontalrule"); -}],createlink:["Insert Web Link",["ed_buttons_main.gif",6,1],false,function(e){ -e._createLink(); -}],insertimage:["Insert/Modify Image",["ed_buttons_main.gif",6,3],false,function(e){ -e.execCommand("insertimage"); -}],inserttable:["Insert Table",["ed_buttons_main.gif",6,2],false,function(e){ -e.execCommand("inserttable"); -}],htmlmode:["Toggle HTML Source",["ed_buttons_main.gif",7,0],true,function(e){ -e.execCommand("htmlmode"); -}],toggleborders:["Toggle Borders",["ed_buttons_main.gif",7,2],false,function(e){ -e._toggleBorders(); -}],print:["Print document",["ed_buttons_main.gif",8,1],false,function(e){ -if(Xinha.is_gecko){ -e._iframe.contentWindow.print(); -}else{ -e.focusEditor(); -print(); -} -}],saveas:["Save as","ed_saveas.gif",false,function(e){ -e.execCommand("saveas",false,"noname.htm"); -}],about:["About this editor",["ed_buttons_main.gif",8,2],true,function(e){ -e.execCommand("about"); -}],showhelp:["Help using editor",["ed_buttons_main.gif",9,2],true,function(e){ -e.execCommand("showhelp"); -}],splitblock:["Split Block","ed_splitblock.gif",false,function(e){ -e._splitBlock(); -}],lefttoright:["Direction left to right",["ed_buttons_main.gif",0,4],false,function(e){ -e.execCommand("lefttoright"); -}],righttoleft:["Direction right to left",["ed_buttons_main.gif",1,4],false,function(e){ -e.execCommand("righttoleft"); -}],overwrite:["Insert/Overwrite","ed_overwrite.gif",false,function(e){ -e.execCommand("overwrite"); -}],wordclean:["MS Word Cleaner",["ed_buttons_main.gif",5,3],false,function(e){ -e._wordClean(); -}],clearfonts:["Clear Inline Font Specifications",["ed_buttons_main.gif",5,4],true,function(e){ -e._clearFonts(); -}],removeformat:["Remove formatting",["ed_buttons_main.gif",4,4],false,function(e){ -e.execCommand("removeformat"); -}],killword:["Clear MSOffice tags",["ed_buttons_main.gif",4,3],false,function(e){ -e.execCommand("killword"); -}]}; -for(var i in this.btnList){ -var btn=this.btnList[i]; -if(typeof btn!="object"){ -continue; -} -if(typeof btn[1]!="string"){ -btn[1][0]=_editor_url+this.imgURL+btn[1][0]; -}else{ -btn[1]=_editor_url+this.imgURL+btn[1]; -} -btn[0]=Xinha._lc(btn[0]); -} -}; -Xinha.Config.prototype.registerButton=function(id,_3c,_3d,_3e,_3f,_40){ -var _41; -if(typeof id=="string"){ -_41=id; -}else{ -if(typeof id=="object"){ -_41=id.id; -}else{ -alert("ERROR [Xinha.Config::registerButton]:\ninvalid arguments"); -return false; -} -} -switch(typeof id){ -case "string": -this.btnList[id]=[_3c,_3d,_3e,_3f,_40]; -break; -case "object": -this.btnList[id.id]=[id.tooltip,id.image,id.textMode,id.action,id.context]; -break; -} -}; -Xinha.prototype.registerPanel=function(_42,_43){ -if(!_42){ -_42="right"; -} -this.setLoadingMessage("Register "+_42+" panel "); -var _44=this.addPanel(_42); -if(_43){ -_43.drawPanelIn(_44); -} -}; -Xinha.Config.prototype.registerDropdown=function(_45){ -this.customSelects[_45.id]=_45; -}; -Xinha.Config.prototype.hideSomeButtons=function(_46){ -var _47=this.toolbar; -for(var i=_47.length;--i>=0;){ -var _49=_47[i]; -for(var j=_49.length;--j>=0;){ -if(_46.indexOf(" "+_49[j]+" ")>=0){ -var len=1; -if(/separator|space/.test(_49[j+1])){ -len=2; -} -_49.splice(j,len); -} -} -} -}; -Xinha.Config.prototype.addToolbarElement=function(id,_4d,_4e){ -var _4f=this.toolbar; -var a,i,j,o,sid; -var _51=false; -var _52=false; -var _53=0; -var _54=0; -var _55=0; -var _56=false; -var _57=false; -if((id&&typeof id=="object")&&(id.constructor==Array)){ -_51=true; -} -if((_4d&&typeof _4d=="object")&&(_4d.constructor==Array)){ -_52=true; -_53=_4d.length; -} -if(_51){ -for(i=0;i=0;){ -a.splice(j,0,id[i]); -} -}else{ -a[j]=id; -} -}else{ -if(_4e<0){ -j=j+_4e+1; -}else{ -if(_4e>0){ -j=j+_4e; -} -} -if(_51){ -for(i=id.length;--i>=0;){ -a.splice(j,0,id[i]); -} -}else{ -a.splice(j,0,id); -} -} -}else{ -_4f[0].splice(0,0,"separator"); -if(_51){ -for(i=id.length;--i>=0;){ -_4f[0].splice(0,0,id[i]); -} -}else{ -_4f[0].splice(0,0,id); -} -} -}; -Xinha.Config.prototype.removeToolbarElement=Xinha.Config.prototype.hideSomeButtons; -Xinha.replaceAll=function(_58){ -var tas=document.getElementsByTagName("textarea"); -for(var i=tas.length;i>0;(new Xinha(tas[--i],_58)).generate()){ -} -}; -Xinha.replace=function(id,_5c){ -var ta=Xinha.getElementById("textarea",id); -return ta?(new Xinha(ta,_5c)).generate():null; -}; -Xinha.prototype._createToolbar=function(){ -this.setLoadingMessage(Xinha._lc("Create Toolbar")); -var _5e=this; -var _5f=document.createElement("div"); -this._toolBar=this._toolbar=_5f; -_5f.className="toolbar"; -_5f.unselectable="1"; -_5f.align=this.config.toolbarAlign; -Xinha.freeLater(this,"_toolBar"); -Xinha.freeLater(this,"_toolbar"); -var _60=null; -var _61={}; -this._toolbarObjects=_61; -this._createToolbar1(_5e,_5f,_61); -this._htmlArea.appendChild(_5f); -return _5f; -}; -Xinha.prototype._setConfig=function(_62){ -this.config=_62; -}; -Xinha.prototype._addToolbar=function(){ -this._createToolbar1(this,this._toolbar,this._toolbarObjects); -}; -Xinha._createToolbarBreakingElement=function(){ -var brk=document.createElement("div"); -brk.style.height="1px"; -brk.style.width="1px"; -brk.style.lineHeight="1px"; -brk.style.fontSize="1px"; -brk.style.clear="both"; -return brk; -}; -Xinha.prototype._createToolbar1=function(_64,_65,_66){ -var _67; -if(_64.config.flowToolbars){ -_65.appendChild(Xinha._createToolbarBreakingElement()); -} -function newLine(){ -if(typeof _67!="undefined"&&_67.childNodes.length===0){ -return; -} -var _68=document.createElement("table"); -_68.border="0px"; -_68.cellSpacing="0px"; -_68.cellPadding="0px"; -if(_64.config.flowToolbars){ -if(Xinha.is_ie){ -_68.style.styleFloat="left"; -}else{ -_68.style.cssFloat="left"; -} -} -_65.appendChild(_68); -var _69=document.createElement("tbody"); -_68.appendChild(_69); -_67=document.createElement("tr"); -_69.appendChild(_67); -_68.className="toolbarRow"; -} -newLine(); -function setButtonStatus(id,_6b){ -var _6c=this[id]; -var el=this.element; -if(_6c!=_6b){ -switch(id){ -case "enabled": -if(_6b){ -Xinha._removeClass(el,"buttonDisabled"); -el.disabled=false; -}else{ -Xinha._addClass(el,"buttonDisabled"); -el.disabled=true; -} -break; -case "active": -if(_6b){ -Xinha._addClass(el,"buttonPressed"); -}else{ -Xinha._removeClass(el,"buttonPressed"); -} -break; -} -this[id]=_6b; -} -} -function createSelect(txt){ -var _6f=null; -var el=null; -var cmd=null; -var _72=_64.config.customSelects; -var _73=null; -var _74=""; -switch(txt){ -case "fontsize": -case "fontname": -case "formatblock": -_6f=_64.config[txt]; -cmd=txt; -break; -default: -cmd=txt; -var _75=_72[cmd]; -if(typeof _75!="undefined"){ -_6f=_75.options; -_73=_75.context; -if(typeof _75.tooltip!="undefined"){ -_74=_75.tooltip; -} -}else{ -alert("ERROR [createSelect]:\nCan't find the requested dropdown definition"); -} -break; -} -if(_6f){ -el=document.createElement("select"); -el.title=_74; -var obj={name:txt,element:el,enabled:true,text:false,cmd:cmd,state:setButtonStatus,context:_73}; -Xinha.freeLater(obj); -_66[txt]=obj; -for(var i in _6f){ -if(typeof (_6f[i])!="string"){ -continue; -} -var op=document.createElement("option"); -op.innerHTML=Xinha._lc(i); -op.value=_6f[i]; -el.appendChild(op); -} -Xinha._addEvent(el,"change",function(){ -_64._comboSelected(el,txt); -}); -} -return el; -} -function createButton(txt){ -var el,btn,obj=null; -switch(txt){ -case "separator": -if(_64.config.flowToolbars){ -newLine(); -} -el=document.createElement("div"); -el.className="separator"; -break; -case "space": -el=document.createElement("div"); -el.className="space"; -break; -case "linebreak": -newLine(); -return false; -case "textindicator": -el=document.createElement("div"); -el.appendChild(document.createTextNode("A")); -el.className="indicator"; -el.title=Xinha._lc("Current style"); -obj={name:txt,element:el,enabled:true,active:false,text:false,cmd:"textindicator",state:setButtonStatus}; -Xinha.freeLater(obj); -_66[txt]=obj; -break; -default: -btn=_64.config.btnList[txt]; -} -if(!el&&btn){ -el=document.createElement("a"); -el.style.display="block"; -el.href="javascript:void(0)"; -el.style.textDecoration="none"; -el.title=btn[0]; -el.className="button"; -el.style.direction="ltr"; -obj={name:txt,element:el,enabled:true,active:false,text:btn[2],cmd:btn[3],state:setButtonStatus,context:btn[4]||null}; -Xinha.freeLater(el); -Xinha.freeLater(obj); -_66[txt]=obj; -el.ondrag=function(){ -return false; -}; -Xinha._addEvent(el,"mouseout",function(ev){ -if(obj.enabled){ -Xinha._removeClass(el,"buttonActive"); -if(obj.active){ -Xinha._addClass(el,"buttonPressed"); -} -} -}); -Xinha._addEvent(el,"mousedown",function(ev){ -if(obj.enabled){ -Xinha._addClass(el,"buttonActive"); -Xinha._removeClass(el,"buttonPressed"); -Xinha._stopEvent(Xinha.is_ie?window.event:ev); -} -}); -Xinha._addEvent(el,"click",function(ev){ -ev=Xinha.is_ie?window.event:ev; -_64.btnClickEvent=ev; -if(obj.enabled){ -Xinha._removeClass(el,"buttonActive"); -if(Xinha.is_gecko){ -_64.activateEditor(); -} -obj.cmd(_64,obj.name,obj); -Xinha._stopEvent(ev); -} -}); -var _7e=Xinha.makeBtnImg(btn[1]); -var img=_7e.firstChild; -Xinha.freeLater(_7e); -Xinha.freeLater(img); -el.appendChild(_7e); -obj.imgel=img; -obj.swapImage=function(_80){ -if(typeof _80!="string"){ -img.src=_80[0]; -img.style.position="relative"; -img.style.top=_80[2]?("-"+(18*(_80[2]+1))+"px"):"-18px"; -img.style.left=_80[1]?("-"+(18*(_80[1]+1))+"px"):"-18px"; -}else{ -obj.imgel.src=_80; -img.style.top="0px"; -img.style.left="0px"; -} -}; -}else{ -if(!el){ -el=createSelect(txt); -} -} -return el; -} -var _81=true; -for(var i=0;i] button to switch back to WYSIWYG."); -div.style.display="none"; -this._statusBarTextMode=div; -Xinha.freeLater(this,"_statusBarTextMode"); -this._statusBar.appendChild(div); -if(!this.config.statusBar){ -_8e.style.display="none"; -} -return _8e; -}; -Xinha.prototype.generate=function(){ -if(!Xinha.isSupportedBrowser){ -return; -} -var i; -var _91=this; -var url; -var _93=false; -var _94=document.getElementsByTagName("link"); -if(!document.getElementById("XinhaCoreDesign")){ -_editor_css=(typeof _editor_css=="string")?_editor_css:"Xinha.css"; -for(i=0;i<_94.length;i++){ -if((_94[i].rel=="stylesheet")&&(_94[i].href==_editor_url+_editor_css)){ -_93=true; -} -} -if(!_93){ -Xinha.loadStyle(_editor_css,null,"XinhaCoreDesign",true); -} -} -if(_editor_skin!==""&&!document.getElementById("XinhaSkin")){ -_93=false; -for(i=0;i<_94.length;i++){ -if((_94[i].rel=="stylesheet")&&(_94[i].href==_editor_url+"skins/"+_editor_skin+"/skin.css")){ -_93=true; -} -} -if(!_93){ -Xinha.loadStyle("skins/"+_editor_skin+"/skin.css",null,"XinhaSkin"); -} -} -if(Xinha.is_ie){ -url=_editor_url+"modules/InternetExplorer/InternetExplorer.js"; -if(!Xinha.loadPlugins([{plugin:"InternetExplorer",url:url}],function(){ -_91.generate(); -})){ -return false; -} -_91._browserSpecificPlugin=_91.registerPlugin("InternetExplorer"); -}else{ -if(Xinha.is_webkit){ -url=_editor_url+"modules/WebKit/WebKit.js"; -if(!Xinha.loadPlugins([{plugin:"WebKit",url:url}],function(){ -_91.generate(); -})){ -return false; -} -_91._browserSpecificPlugin=_91.registerPlugin("WebKit"); -}else{ -if(Xinha.is_opera){ -url=_editor_url+"modules/Opera/Opera.js"; -if(!Xinha.loadPlugins([{plugin:"Opera",url:url}],function(){ -_91.generate(); -})){ -return false; -} -_91._browserSpecificPlugin=_91.registerPlugin("Opera"); -}else{ -if(Xinha.is_gecko){ -url=_editor_url+"modules/Gecko/Gecko.js"; -if(!Xinha.loadPlugins([{plugin:"Gecko",url:url}],function(){ -_91.generate(); -})){ -return false; -} -_91._browserSpecificPlugin=_91.registerPlugin("Gecko"); -} -} -} -} -if(typeof Dialog=="undefined"&&!Xinha._loadback(_editor_url+"modules/Dialogs/dialog.js",this.generate,this)){ -return false; -} -if(typeof Xinha.Dialog=="undefined"&&!Xinha._loadback(_editor_url+"modules/Dialogs/inline-dialog.js",this.generate,this)){ -return false; -} -url=_editor_url+"modules/FullScreen/full-screen.js"; -if(!Xinha.loadPlugins([{plugin:"FullScreen",url:url}],function(){ -_91.generate(); -})){ -return false; -} -url=_editor_url+"modules/ColorPicker/ColorPicker.js"; -if(!Xinha.loadPlugins([{plugin:"ColorPicker",url:url}],function(){ -_91.generate(); -})){ -return false; -}else{ -if(typeof ColorPicker!="undefined"){ -_91.registerPlugin("ColorPicker"); -} -} -var _95=_91.config.toolbar; -for(i=_95.length;--i>=0;){ -for(var j=_95[i].length;--j>=0;){ -switch(_95[i][j]){ -case "popupeditor": -_91.registerPlugin("FullScreen"); -break; -case "insertimage": -url=_editor_url+"modules/InsertImage/insert_image.js"; -if(typeof Xinha.prototype._insertImage=="undefined"&&!Xinha.loadPlugins([{plugin:"InsertImage",url:url}],function(){ -_91.generate(); -})){ -return false; -}else{ -if(typeof InsertImage!="undefined"){ -_91.registerPlugin("InsertImage"); -} -} -break; -case "createlink": -url=_editor_url+"modules/CreateLink/link.js"; -if(typeof Linker=="undefined"&&!Xinha.loadPlugins([{plugin:"CreateLink",url:url}],function(){ -_91.generate(); -})){ -return false; -}else{ -if(typeof CreateLink!="undefined"){ -_91.registerPlugin("CreateLink"); -} -} -break; -case "inserttable": -url=_editor_url+"modules/InsertTable/insert_table.js"; -if(!Xinha.loadPlugins([{plugin:"InsertTable",url:url}],function(){ -_91.generate(); -})){ -return false; -}else{ -if(typeof InsertTable!="undefined"){ -_91.registerPlugin("InsertTable"); -} -} -break; -} -} -} -if(Xinha.is_gecko&&_91.config.mozParaHandler!="built-in"){ -if(!Xinha.loadPlugins([{plugin:"EnterParagraphs",url:_editor_url+"modules/Gecko/paraHandlerBest.js"}],function(){ -_91.generate(); -})){ -return false; -} -_91.registerPlugin("EnterParagraphs"); -} -if(Xinha.ie_version==8){ -this.config.getHtmlMethod="TransformInnerHTML"; -} -switch(this.config.getHtmlMethod){ -case "TransformInnerHTML": -var _97=_editor_url+"modules/GetHtml/TransformInnerHTML.js"; -break; -default: -var _97=_editor_url+"modules/GetHtml/DOMwalk.js"; -break; -} -if(!Xinha.loadPlugins([{plugin:"GetHtmlImplementation",url:_97}],function(){ -_91.generate(); -})){ -return false; -}else{ -_91.registerPlugin("GetHtmlImplementation"); -} -this.setLoadingMessage(Xinha._lc("Generate Xinha framework")); -this._framework={"table":document.createElement("table"),"tbody":document.createElement("tbody"),"tb_row":document.createElement("tr"),"tb_cell":document.createElement("td"),"tp_row":document.createElement("tr"),"tp_cell":this._panels.top.container,"ler_row":document.createElement("tr"),"lp_cell":this._panels.left.container,"ed_cell":document.createElement("td"),"rp_cell":this._panels.right.container,"bp_row":document.createElement("tr"),"bp_cell":this._panels.bottom.container,"sb_row":document.createElement("tr"),"sb_cell":document.createElement("td")}; -Xinha.freeLater(this._framework); -var fw=this._framework; -fw.table.border="0"; -fw.table.cellPadding="0"; -fw.table.cellSpacing="0"; -fw.tb_row.style.verticalAlign="top"; -fw.tp_row.style.verticalAlign="top"; -fw.ler_row.style.verticalAlign="top"; -fw.bp_row.style.verticalAlign="top"; -fw.sb_row.style.verticalAlign="top"; -fw.ed_cell.style.position="relative"; -fw.tb_row.appendChild(fw.tb_cell); -fw.tb_cell.colSpan=3; -fw.tp_row.appendChild(fw.tp_cell); -fw.tp_cell.colSpan=3; -fw.ler_row.appendChild(fw.lp_cell); -fw.ler_row.appendChild(fw.ed_cell); -fw.ler_row.appendChild(fw.rp_cell); -fw.bp_row.appendChild(fw.bp_cell); -fw.bp_cell.colSpan=3; -fw.sb_row.appendChild(fw.sb_cell); -fw.sb_cell.colSpan=3; -fw.tbody.appendChild(fw.tb_row); -fw.tbody.appendChild(fw.tp_row); -fw.tbody.appendChild(fw.ler_row); -fw.tbody.appendChild(fw.bp_row); -fw.tbody.appendChild(fw.sb_row); -fw.table.appendChild(fw.tbody); -var _99=this._framework.table; -this._htmlArea=_99; -Xinha.freeLater(this,"_htmlArea"); -_99.className="htmlarea"; -this._framework.tb_cell.appendChild(this._createToolbar()); -var _9a=document.createElement("iframe"); -_9a.src=this.popupURL(_91.config.URIs.blank); -_9a.id="XinhaIFrame_"+this._textArea.id; -this._framework.ed_cell.appendChild(_9a); -this._iframe=_9a; -this._iframe.className="xinha_iframe"; -Xinha.freeLater(this,"_iframe"); -var _9b=this._createStatusBar(); -this._framework.sb_cell.appendChild(_9b); -var _9c=this._textArea; -_9c.parentNode.insertBefore(_99,_9c); -_9c.className="xinha_textarea"; -Xinha.removeFromParent(_9c); -this._framework.ed_cell.appendChild(_9c); -Xinha.addDom0Event(this._textArea,"click",function(){ -if(Xinha._currentlyActiveEditor!=this){ -_91.updateToolbar(); -} -return true; -}); -if(_9c.form){ -Xinha.prependDom0Event(this._textArea.form,"submit",function(){ -_91.firePluginEvent("onBeforeSubmit"); -_91._textArea.value=_91.outwardHtml(_91.getHTML()); -return true; -}); -var _9d=_9c.value; -Xinha.prependDom0Event(this._textArea.form,"reset",function(){ -_91.setHTML(_91.inwardHtml(_9d)); -_91.updateToolbar(); -return true; -}); -if(!_9c.form.xinha_submit){ -try{ -_9c.form.xinha_submit=_9c.form.submit; -_9c.form.submit=function(){ -this.onsubmit(); -this.xinha_submit(); -}; -} -catch(ex){ -} -} -} -Xinha.prependDom0Event(window,"unload",function(){ -_91.firePluginEvent("onBeforeUnload"); -_9c.value=_91.outwardHtml(_91.getHTML()); -if(!Xinha.is_ie){ -_99.parentNode.replaceChild(_9c,_99); -} -return true; -}); -_9c.style.display="none"; -_91.initSize(); -this.setLoadingMessage(Xinha._lc("Finishing")); -_91._iframeLoadDone=false; -if(Xinha.is_opera){ -_91.initIframe(); -}else{ -Xinha._addEvent(this._iframe,"load",function(e){ -if(!_91._iframeLoadDone){ -_91._iframeLoadDone=true; -_91.initIframe(); -} -return true; -}); -} -}; -Xinha.prototype.initSize=function(){ -this.setLoadingMessage(Xinha._lc("Init editor size")); -var _9f=this; -var _a0=null; -var _a1=null; -switch(this.config.width){ -case "auto": -_a0=this._initial_ta_size.w; -break; -case "toolbar": -_a0=this._toolBar.offsetWidth+"px"; -break; -default: -_a0=/[^0-9]/.test(this.config.width)?this.config.width:this.config.width+"px"; -break; -} -switch(this.config.height){ -case "auto": -_a1=this._initial_ta_size.h; -break; -default: -_a1=/[^0-9]/.test(this.config.height)?this.config.height:this.config.height+"px"; -break; -} -this.sizeEditor(_a0,_a1,this.config.sizeIncludesBars,this.config.sizeIncludesPanels); -this.notifyOn("panel_change",function(){ -_9f.sizeEditor(); -}); -}; -Xinha.prototype.sizeEditor=function(_a2,_a3,_a4,_a5){ -if(this._risizing){ -return; -} -this._risizing=true; -this.notifyOf("before_resize",{width:_a2,height:_a3}); -this.firePluginEvent("onBeforeResize",_a2,_a3); -this._iframe.style.height="100%"; -this._textArea.style.height="100%"; -this._iframe.style.width=""; -this._textArea.style.width=""; -if(_a4!==null){ -this._htmlArea.sizeIncludesToolbars=_a4; -} -if(_a5!==null){ -this._htmlArea.sizeIncludesPanels=_a5; -} -if(_a2){ -this._htmlArea.style.width=_a2; -if(!this._htmlArea.sizeIncludesPanels){ -var _a6=this._panels.right; -if(_a6.on&&_a6.panels.length&&Xinha.hasDisplayedChildren(_a6.div)){ -this._htmlArea.style.width=(this._htmlArea.offsetWidth+parseInt(this.config.panel_dimensions.right,10))+"px"; -} -var _a7=this._panels.left; -if(_a7.on&&_a7.panels.length&&Xinha.hasDisplayedChildren(_a7.div)){ -this._htmlArea.style.width=(this._htmlArea.offsetWidth+parseInt(this.config.panel_dimensions.left,10))+"px"; -} -} -} -if(_a3){ -this._htmlArea.style.height=_a3; -if(!this._htmlArea.sizeIncludesToolbars){ -this._htmlArea.style.height=(this._htmlArea.offsetHeight+this._toolbar.offsetHeight+this._statusBar.offsetHeight)+"px"; -} -if(!this._htmlArea.sizeIncludesPanels){ -var _a8=this._panels.top; -if(_a8.on&&_a8.panels.length&&Xinha.hasDisplayedChildren(_a8.div)){ -this._htmlArea.style.height=(this._htmlArea.offsetHeight+parseInt(this.config.panel_dimensions.top,10))+"px"; -} -var _a9=this._panels.bottom; -if(_a9.on&&_a9.panels.length&&Xinha.hasDisplayedChildren(_a9.div)){ -this._htmlArea.style.height=(this._htmlArea.offsetHeight+parseInt(this.config.panel_dimensions.bottom,10))+"px"; -} -} -} -_a2=this._htmlArea.offsetWidth; -_a3=this._htmlArea.offsetHeight; -var _aa=this._panels; -var _ab=this; -var _ac=1; -function panel_is_alive(pan){ -if(_aa[pan].on&&_aa[pan].panels.length&&Xinha.hasDisplayedChildren(_aa[pan].container)){ -_aa[pan].container.style.display=""; -return true; -}else{ -_aa[pan].container.style.display="none"; -return false; -} -} -if(panel_is_alive("left")){ -_ac+=1; -} -if(panel_is_alive("right")){ -_ac+=1; -} -this._framework.tb_cell.colSpan=_ac; -this._framework.tp_cell.colSpan=_ac; -this._framework.bp_cell.colSpan=_ac; -this._framework.sb_cell.colSpan=_ac; -if(!this._framework.tp_row.childNodes.length){ -Xinha.removeFromParent(this._framework.tp_row); -}else{ -if(!Xinha.hasParentNode(this._framework.tp_row)){ -this._framework.tbody.insertBefore(this._framework.tp_row,this._framework.ler_row); -} -} -if(!this._framework.bp_row.childNodes.length){ -Xinha.removeFromParent(this._framework.bp_row); -}else{ -if(!Xinha.hasParentNode(this._framework.bp_row)){ -this._framework.tbody.insertBefore(this._framework.bp_row,this._framework.ler_row.nextSibling); -} -} -if(!this.config.statusBar){ -Xinha.removeFromParent(this._framework.sb_row); -}else{ -if(!Xinha.hasParentNode(this._framework.sb_row)){ -this._framework.table.appendChild(this._framework.sb_row); -} -} -this._framework.lp_cell.style.width=this.config.panel_dimensions.left; -this._framework.rp_cell.style.width=this.config.panel_dimensions.right; -this._framework.tp_cell.style.height=this.config.panel_dimensions.top; -this._framework.bp_cell.style.height=this.config.panel_dimensions.bottom; -this._framework.tb_cell.style.height=this._toolBar.offsetHeight+"px"; -this._framework.sb_cell.style.height=this._statusBar.offsetHeight+"px"; -var _ae=_a3-this._toolBar.offsetHeight-this._statusBar.offsetHeight; -if(panel_is_alive("top")){ -_ae-=parseInt(this.config.panel_dimensions.top,10); -} -if(panel_is_alive("bottom")){ -_ae-=parseInt(this.config.panel_dimensions.bottom,10); -} -this._iframe.style.height=_ae+"px"; -var _af=_a2; -if(panel_is_alive("left")){ -_af-=parseInt(this.config.panel_dimensions.left,10); -} -if(panel_is_alive("right")){ -_af-=parseInt(this.config.panel_dimensions.right,10); -} -var _b0=(this.config.iframeWidth)?parseInt(this.config.iframeWidth,10):null; -this._iframe.style.width=(_b0&&_b0<_af)?_b0+"px":_af+"px"; -this._textArea.style.height=this._iframe.style.height; -this._textArea.style.width=this._iframe.style.width; -this.notifyOf("resize",{width:this._htmlArea.offsetWidth,height:this._htmlArea.offsetHeight}); -this.firePluginEvent("onResize",this._htmlArea.offsetWidth,this._htmlArea.offsetWidth); -this._risizing=false; -}; -Xinha.prototype.registerPanel=function(_b1,_b2){ -if(!_b1){ -_b1="right"; -} -this.setLoadingMessage("Register "+_b1+" panel "); -var _b3=this.addPanel(_b1); -if(_b2){ -_b2.drawPanelIn(_b3); -} -}; -Xinha.prototype.addPanel=function(_b4){ -var div=document.createElement("div"); -div.side=_b4; -if(_b4=="left"||_b4=="right"){ -div.style.width=this.config.panel_dimensions[_b4]; -if(this._iframe){ -div.style.height=this._iframe.style.height; -} -} -Xinha.addClasses(div,"panel"); -this._panels[_b4].panels.push(div); -this._panels[_b4].div.appendChild(div); -this.notifyOf("panel_change",{"action":"add","panel":div}); -this.firePluginEvent("onPanelChange","add",div); -return div; -}; -Xinha.prototype.removePanel=function(_b6){ -this._panels[_b6.side].div.removeChild(_b6); -var _b7=[]; -for(var i=0;i"; -}else{ -if(_c8.config.browserQuirksMode===true){ -var _ca=""; -}else{ -var _ca=Xinha.getDoctype(document); -} -} -if(!_c8.config.fullPage){ -_c9+=_ca+"\n"; -_c9+="\n"; -_c9+="\n"; -_c9+="\n"; -if(typeof _c8.config.baseHref!="undefined"&&_c8.config.baseHref!==null){ -_c9+="\n"; -} -_c9+=Xinha.addCoreCSS(); -if(typeof _c8.config.pageStyleSheets!=="undefined"){ -for(var i=0;i<_c8.config.pageStyleSheets.length;i++){ -if(_c8.config.pageStyleSheets[i].length>0){ -_c9+=""; -} -} -} -if(_c8.config.pageStyle){ -_c9+=""; -} -_c9+="\n"; -_c9+="\n"; -_c9+=_c8.inwardHtml(_c8._textArea.value); -_c9+="\n"; -_c9+=""; -}else{ -_c9=_c8.inwardHtml(_c8._textArea.value); -if(_c9.match(Xinha.RE_doctype)){ -_c8.setDoctype(RegExp.$1); -} -var _cc=_c9.match(//gi); -_c9=_c9.replace(/\s*/gi,""); -_cc?_c9=_c9.replace(/<\/head>/i,_cc.join("\n")+"\n"):null; -} -doc.write(_c9); -doc.close(); -if(this.config.fullScreen){ -this._fullScreen(); -} -this.setEditorEvents(); -}; -Xinha.prototype.whenDocReady=function(f){ -var e=this; -if(this._doc&&this._doc.body){ -f(); -}else{ -setTimeout(function(){ -e.whenDocReady(f); -},50); -} -}; -Xinha.prototype.setMode=function(_cf){ -var _d0; -if(typeof _cf=="undefined"){ -_cf=this._editMode=="textmode"?"wysiwyg":"textmode"; -} -switch(_cf){ -case "textmode": -this.firePluginEvent("onBeforeMode","textmode"); -this.setCC("iframe"); -_d0=this.outwardHtml(this.getHTML()); -this.setHTML(_d0); -this.deactivateEditor(); -this._iframe.style.display="none"; -this._textArea.style.display=""; -if(this.config.statusBar){ -this._statusBarTree.style.display="none"; -this._statusBarTextMode.style.display=""; -} -this.findCC("textarea"); -this.notifyOf("modechange",{"mode":"text"}); -this.firePluginEvent("onMode","textmode"); -break; -case "wysiwyg": -this.firePluginEvent("onBeforeMode","wysiwyg"); -this.setCC("textarea"); -_d0=this.inwardHtml(this.getHTML()); -this.deactivateEditor(); -this.setHTML(_d0); -this._iframe.style.display=""; -this._textArea.style.display="none"; -this.activateEditor(); -if(this.config.statusBar){ -this._statusBarTree.style.display=""; -this._statusBarTextMode.style.display="none"; -} -this.findCC("iframe"); -this.notifyOf("modechange",{"mode":"wysiwyg"}); -this.firePluginEvent("onMode","wysiwyg"); -break; -default: -alert("Mode <"+_cf+"> not defined!"); -return false; -} -this._editMode=_cf; -}; -Xinha.prototype.setFullHTML=function(_d1){ -var _d2=RegExp.multiline; -RegExp.multiline=true; -if(_d1.match(Xinha.RE_doctype)){ -this.setDoctype(RegExp.$1); -} -RegExp.multiline=_d2; -if(0){ -if(_d1.match(Xinha.RE_head)){ -this._doc.getElementsByTagName("head")[0].innerHTML=RegExp.$1; -} -if(_d1.match(Xinha.RE_body)){ -this._doc.getElementsByTagName("body")[0].innerHTML=RegExp.$1; -} -}else{ -var _d3=this.editorIsActivated(); -if(_d3){ -this.deactivateEditor(); -} -var _d4=/((.|\n)*?)<\/html>/i; -_d1=_d1.replace(_d4,"$1"); -this._doc.open("text/html","replace"); -this._doc.write(_d1); -this._doc.close(); -if(_d3){ -this.activateEditor(); -} -this.setEditorEvents(); -return true; -} -}; -Xinha.prototype.setEditorEvents=function(){ -var _d5=this; -var doc=this._doc; -_d5.whenDocReady(function(){ -Xinha._addEvents(doc,["mousedown"],function(){ -_d5.activateEditor(); -return true; -}); -if(Xinha.is_ie){ -Xinha._addEvent(_d5._doc.getElementsByTagName("html")[0],"click",function(){ -if(_d5._iframe.contentWindow.event.srcElement.tagName.toLowerCase()=="html"){ -var r=_d5._doc.body.createTextRange(); -r.collapse(); -r.select(); -} -return true; -}); -} -Xinha._addEvents(doc,["keydown","keypress","mousedown","mouseup","drag"],function(_d8){ -return _d5._editorEvent(Xinha.is_ie?_d5._iframe.contentWindow.event:_d8); -}); -for(var i in _d5.plugins){ -var _da=_d5.plugins[i].instance; -Xinha.refreshPlugin(_da); -} -if(typeof _d5._onGenerate=="function"){ -_d5._onGenerate(); -} -Xinha.addDom0Event(window,"resize",function(e){ -_d5.sizeEditor(); -}); -_d5.removeLoadingMessage(); -}); -}; -Xinha.prototype.registerPlugin=function(){ -if(!Xinha.isSupportedBrowser){ -return; -} -var _dc=arguments[0]; -if(_dc===null||typeof _dc=="undefined"||(typeof _dc=="string"&&typeof window[_dc]=="undefined")){ -return false; -} -var _dd=[]; -for(var i=1;i=0;){ -ta.value+=" "; -} -ta.value+=str+"\n"; -} -function _dt(root,_108){ -var tag=root.tagName.toLowerCase(),i; -var ns=Xinha.is_ie?root.scopeName:root.prefix; -debug(_108,"- "+tag+" ["+ns+"]"); -for(i=root.firstChild;i;i=i.nextSibling){ -if(i.nodeType==1){ -_dt(i,_108+2); -} -} -} -_dt(this._doc.body,0); -document.body.appendChild(ta); -}; -Xinha.getInnerText=function(el){ -var txt="",i; -for(i=el.firstChild;i;i=i.nextSibling){ -if(i.nodeType==3){ -txt+=i.data; -}else{ -if(i.nodeType==1){ -txt+=Xinha.getInnerText(i); -} -} -} -return txt; -}; -Xinha.prototype._wordClean=function(){ -var _10d=this; -var _10e={empty_tags:0,mso_class:0,mso_style:0,mso_xmlel:0,orig_len:this._doc.body.innerHTML.length,T:(new Date()).getTime()}; -var _10f={empty_tags:"Empty tags removed: ",mso_class:"MSO class names removed: ",mso_style:"MSO inline style removed: ",mso_xmlel:"MSO XML elements stripped: "}; -function showStats(){ -var txt="Xinha word cleaner stats: \n\n"; -for(var i in _10e){ -if(_10f[i]){ -txt+=_10f[i]+_10e[i]+"\n"; -} -} -txt+="\nInitial document length: "+_10e.orig_len+"\n"; -txt+="Final document length: "+_10d._doc.body.innerHTML.length+"\n"; -txt+="Clean-up took "+(((new Date()).getTime()-_10e.T)/1000)+" seconds"; -alert(txt); -} -function clearClass(node){ -var newc=node.className.replace(/(^|\s)mso.*?(\s|$)/ig," "); -if(newc!=node.className){ -node.className=newc; -if(!(/\S/.test(node.className))){ -node.removeAttribute("className"); -++_10e.mso_class; -} -} -} -function clearStyle(node){ -var _115=node.style.cssText.split(/\s*;\s*/); -for(var i=_115.length;--i>=0;){ -if((/^mso|^tab-stops/i.test(_115[i]))||(/^margin\s*:\s*0..\s+0..\s+0../i.test(_115[i]))){ -++_10e.mso_style; -_115.splice(i,1); -} -} -node.style.cssText=_115.join("; "); -} -var _117=null; -if(Xinha.is_ie){ -_117=function(el){ -el.outerHTML=Xinha.htmlEncode(el.innerText); -++_10e.mso_xmlel; -}; -}else{ -_117=function(el){ -var txt=document.createTextNode(Xinha.getInnerText(el)); -el.parentNode.insertBefore(txt,el); -Xinha.removeFromParent(el); -++_10e.mso_xmlel; -}; -} -function checkEmpty(el){ -if(/^(span|b|strong|i|em|font|div|p)$/i.test(el.tagName)&&!el.firstChild){ -Xinha.removeFromParent(el); -++_10e.empty_tags; -} -} -function parseTree(root){ -var tag=root.tagName.toLowerCase(),i,next; -if((Xinha.is_ie&&root.scopeName!="HTML")||(!Xinha.is_ie&&(/:/.test(tag)))){ -_117(root); -return false; -}else{ -clearClass(root); -clearStyle(root); -for(i=root.firstChild;i;i=next){ -next=i.nextSibling; -if(i.nodeType==1&&parseTree(i)){ -checkEmpty(i); -} -} -} -return true; -} -parseTree(this._doc.body); -this.updateToolbar(); -}; -Xinha.prototype._clearFonts=function(){ -var D=this.getInnerHTML(); -if(confirm(Xinha._lc("Would you like to clear font typefaces?"))){ -D=D.replace(/face="[^"]*"/gi,""); -D=D.replace(/font-family:[^;}"']+;?/gi,""); -} -if(confirm(Xinha._lc("Would you like to clear font sizes?"))){ -D=D.replace(/size="[^"]*"/gi,""); -D=D.replace(/font-size:[^;}"']+;?/gi,""); -} -if(confirm(Xinha._lc("Would you like to clear font colours?"))){ -D=D.replace(/color="[^"]*"/gi,""); -D=D.replace(/([^-])color:[^;}"']+;?/gi,"$1"); -} -D=D.replace(/(style|class)="\s*"/gi,""); -D=D.replace(/<(font|span)\s*>/gi,""); -this.setHTML(D); -this.updateToolbar(); -}; -Xinha.prototype._splitBlock=function(){ -this._doc.execCommand("formatblock",false,"div"); -}; -Xinha.prototype.forceRedraw=function(){ -this._doc.body.style.visibility="hidden"; -this._doc.body.style.visibility=""; -}; -Xinha.prototype.focusEditor=function(){ -switch(this._editMode){ -case "wysiwyg": -try{ -if(Xinha._someEditorHasBeenActivated){ -this.activateEditor(); -this._iframe.contentWindow.focus(); -} -} -catch(ex){ -} -break; -case "textmode": -try{ -this._textArea.focus(); -} -catch(e){ -} -break; -default: -alert("ERROR: mode "+this._editMode+" is not defined"); -} -return this._doc; -}; -Xinha.prototype._undoTakeSnapshot=function(){ -++this._undoPos; -if(this._undoPos>=this.config.undoSteps){ -this._undoQueue.shift(); ---this._undoPos; -} -var take=true; -var txt=this.getInnerHTML(); -if(this._undoPos>0){ -take=(this._undoQueue[this._undoPos-1]!=txt); -} -if(take){ -this._undoQueue[this._undoPos]=txt; -}else{ -this._undoPos--; -} -}; -Xinha.prototype.undo=function(){ -if(this._undoPos>0){ -var txt=this._undoQueue[--this._undoPos]; -if(txt){ -this.setHTML(txt); -}else{ -++this._undoPos; -} -} -}; -Xinha.prototype.redo=function(){ -if(this._undoPos=0;){ -var el=_129[i]; -if(!el){ -continue; -} -var a=document.createElement("a"); -a.href="javascript:void(0)"; -a.el=el; -a.editor=this; -this._statusBarItems.push(a); -Xinha.addDom0Event(a,"click",function(){ -this.blur(); -this.editor.selectNodeContents(this.el); -this.editor.updateToolbar(true); -return false; -}); -Xinha.addDom0Event(a,"contextmenu",function(){ -this.blur(); -var info="Inline style:\n\n"; -info+=this.el.style.cssText.split(/;\s*/).join(";\n"); -alert(info); -return false; -}); -var txt=el.tagName.toLowerCase(); -if(typeof el.style!="undefined"){ -a.title=el.style.cssText; -} -if(el.id){ -txt+="#"+el.id; -} -if(el.className){ -txt+="."+el.className; -} -a.appendChild(document.createTextNode(txt)); -this._statusBarTree.appendChild(a); -if(i!==0){ -this._statusBarTree.appendChild(document.createTextNode(String.fromCharCode(187))); -} -Xinha.freeLater(a); -} -} -} -for(var cmd in this._toolbarObjects){ -var btn=this._toolbarObjects[cmd]; -var _132=true; -if(typeof (btn.state)!="function"){ -continue; -} -if(btn.context&&!text){ -_132=false; -var _133=btn.context; -var _134=[]; -if(/(.*)\[(.*?)\]/.test(_133)){ -_133=RegExp.$1; -_134=RegExp.$2.split(","); -} -_133=_133.toLowerCase(); -var _135=(_133=="*"); -for(var k=0;k<_129.length;++k){ -if(!_129[k]){ -continue; -} -if(_135||(_129[k].tagName.toLowerCase()==_133)){ -_132=true; -var _137=null; -var att=null; -var comp=null; -var _13a=null; -for(var ka=0;ka<_134.length;++ka){ -_137=_134[ka].match(/(.*)(==|!=|===|!==|>|>=|<|<=)(.*)/); -att=_137[1]; -comp=_137[2]; -_13a=_137[3]; -if(!eval(_129[k][att]+comp+_13a)){ -_132=false; -break; -} -} -if(_132){ -break; -} -} -} -} -btn.state("enabled",(!text||btn.text)&&_132); -if(typeof cmd=="function"){ -continue; -} -var _13c=this.config.customSelects[cmd]; -if((!text||btn.text)&&(typeof _13c!="undefined")){ -_13c.refresh(this); -continue; -} -switch(cmd){ -case "fontname": -case "fontsize": -if(!text){ -try{ -var _13d=(""+doc.queryCommandValue(cmd)).toLowerCase(); -if(!_13d){ -btn.element.selectedIndex=0; -break; -} -var _13e=this.config[cmd]; -var _13f=0; -for(var j in _13e){ -if((j.toLowerCase()==_13d)||(_13e[j].substr(0,_13d.length).toLowerCase()==_13d)){ -btn.element.selectedIndex=_13f; -throw "ok"; -} -++_13f; -} -btn.element.selectedIndex=0; -} -catch(ex){ -} -} -break; -case "formatblock": -var _141=[]; -for(var _142 in this.config.formatblock){ -if(typeof this.config.formatblock[_142]=="string"){ -_141[_141.length]=this.config.formatblock[_142]; -} -} -var _143=this._getFirstAncestor(this.getSelection(),_141); -if(_143){ -for(var x=0;x<_141.length;x++){ -if(_141[x].toLowerCase()==_143.tagName.toLowerCase()){ -btn.element.selectedIndex=x; -} -} -}else{ -btn.element.selectedIndex=0; -} -break; -case "textindicator": -if(!text){ -try{ -var _145=btn.element.style; -_145.backgroundColor=Xinha._makeColor(doc.queryCommandValue(Xinha.is_ie?"backcolor":"hilitecolor")); -if(/transparent/i.test(_145.backgroundColor)){ -_145.backgroundColor=Xinha._makeColor(doc.queryCommandValue("backcolor")); -} -_145.color=Xinha._makeColor(doc.queryCommandValue("forecolor")); -_145.fontFamily=doc.queryCommandValue("fontname"); -_145.fontWeight=doc.queryCommandState("bold")?"bold":"normal"; -_145.fontStyle=doc.queryCommandState("italic")?"italic":"normal"; -} -catch(ex){ -} -} -break; -case "htmlmode": -btn.state("active",text); -break; -case "lefttoright": -case "righttoleft": -var _146=this.getParentElement(); -while(_146&&!Xinha.isBlockElement(_146)){ -_146=_146.parentNode; -} -if(_146){ -btn.state("active",(_146.style.direction==((cmd=="righttoleft")?"rtl":"ltr"))); -} -break; -default: -cmd=cmd.replace(/(un)?orderedlist/i,"insert$1orderedlist"); -try{ -btn.state("active",(!text&&doc.queryCommandState(cmd))); -} -catch(ex){ -} -break; -} -} -if(this._customUndo&&!this._timerUndo){ -this._undoTakeSnapshot(); -var _147=this; -this._timerUndo=setTimeout(function(){ -_147._timerUndo=null; -},this.config.undoTimeout); -} -this.firePluginEvent("onUpdateToolbar"); -}; -Xinha.getEditor=function(ref){ -for(var i=__xinhas.length;i--;){ -var _14a=__xinhas[i]; -if(_14a&&(_14a._textArea.id==ref||_14a._textArea.name==ref||_14a._textArea==ref)){ -return _14a; -} -} -return null; -}; -Xinha.prototype.getPluginInstance=function(_14b){ -if(this.plugins[_14b]){ -return this.plugins[_14b].instance; -}else{ -return null; -} -}; -Xinha.prototype.getAllAncestors=function(){ -var p=this.getParentElement(); -var a=[]; -while(p&&(p.nodeType==1)&&(p.tagName.toLowerCase()!="body")){ -a.push(p); -p=p.parentNode; -} -a.push(this._doc.body); -return a; -}; -Xinha.prototype._getFirstAncestor=function(sel,_14f){ -var prnt=this.activeElement(sel); -if(prnt===null){ -try{ -prnt=(Xinha.is_ie?this.createRange(sel).parentElement():this.createRange(sel).commonAncestorContainer); -} -catch(ex){ -return null; -} -} -if(typeof _14f=="string"){ -_14f=[_14f]; -} -while(prnt){ -if(prnt.nodeType==1){ -if(_14f===null){ -return prnt; -} -if(_14f.contains(prnt.tagName.toLowerCase())){ -return prnt; -} -if(prnt.tagName.toLowerCase()=="body"){ -break; -} -if(prnt.tagName.toLowerCase()=="table"){ -break; -} -} -prnt=prnt.parentNode; -} -return null; -}; -Xinha.prototype._getAncestorBlock=function(sel){ -var prnt=(Xinha.is_ie?this.createRange(sel).parentElement:this.createRange(sel).commonAncestorContainer); -while(prnt&&(prnt.nodeType==1)){ -switch(prnt.tagName.toLowerCase()){ -case "div": -case "p": -case "address": -case "blockquote": -case "center": -case "del": -case "ins": -case "pre": -case "h1": -case "h2": -case "h3": -case "h4": -case "h5": -case "h6": -case "h7": -return prnt; -case "body": -case "noframes": -case "dd": -case "li": -case "th": -case "td": -case "noscript": -return null; -default: -break; -} -} -return null; -}; -Xinha.prototype._createImplicitBlock=function(type){ -var sel=this.getSelection(); -if(Xinha.is_ie){ -sel.empty(); -}else{ -sel.collapseToStart(); -} -var rng=this.createRange(sel); -}; -Xinha.prototype.surroundHTML=function(_156,_157){ -var html=this.getSelectedHTML(); -this.insertHTML(_156+html+_157); -}; -Xinha.prototype.hasSelectedText=function(){ -return this.getSelectedHTML()!==""; -}; -Xinha.prototype._comboSelected=function(el,txt){ -this.focusEditor(); -var _15b=el.options[el.selectedIndex].value; -switch(txt){ -case "fontname": -case "fontsize": -this.execCommand(txt,false,_15b); -break; -case "formatblock": -if(!_15b){ -this.updateToolbar(); -break; -} -if(!Xinha.is_gecko||_15b!=="blockquote"){ -_15b="<"+_15b+">"; -} -this.execCommand(txt,false,_15b); -break; -default: -var _15c=this.config.customSelects[txt]; -if(typeof _15c!="undefined"){ -_15c.action(this); -}else{ -alert("FIXME: combo box "+txt+" not implemented"); -} -break; -} -}; -Xinha.prototype._colorSelector=function(_15d){ -var _15e=this; -if(Xinha.is_gecko){ -try{ -_15e._doc.execCommand("useCSS",false,false); -_15e._doc.execCommand("styleWithCSS",false,true); -} -catch(ex){ -} -} -var btn=_15e._toolbarObjects[_15d].element; -var _160; -if(_15d=="hilitecolor"){ -if(Xinha.is_ie){ -_15d="backcolor"; -_160=Xinha._colorToRgb(_15e._doc.queryCommandValue("backcolor")); -}else{ -_160=Xinha._colorToRgb(_15e._doc.queryCommandValue("hilitecolor")); -} -}else{ -_160=Xinha._colorToRgb(_15e._doc.queryCommandValue("forecolor")); -} -var _161=function(_162){ -_15e._doc.execCommand(_15d,false,_162); -}; -if(Xinha.is_ie){ -var _163=_15e.createRange(_15e.getSelection()); -_161=function(_164){ -_163.select(); -_15e._doc.execCommand(_15d,false,_164); -}; -} -var _165=new Xinha.colorPicker({cellsize:_15e.config.colorPickerCellSize,callback:_161,granularity:_15e.config.colorPickerGranularity,websafe:_15e.config.colorPickerWebSafe,savecolors:_15e.config.colorPickerSaveColors}); -_165.open(_15e.config.colorPickerPosition,btn,_160); -}; -Xinha.prototype.execCommand=function(_166,UI,_168){ -var _169=this; -this.focusEditor(); -_166=_166.toLowerCase(); -if(this.firePluginEvent("onExecCommand",_166,UI,_168)){ -this.updateToolbar(); -return false; -} -switch(_166){ -case "htmlmode": -this.setMode(); -break; -case "hilitecolor": -case "forecolor": -this._colorSelector(_166); -break; -case "createlink": -this._createLink(); -break; -case "undo": -case "redo": -if(this._customUndo){ -this[_166](); -}else{ -this._doc.execCommand(_166,UI,_168); -} -break; -case "inserttable": -this._insertTable(); -break; -case "insertimage": -this._insertImage(); -break; -case "about": -this._popupDialog(_169.config.URIs.about,null,this); -break; -case "showhelp": -this._popupDialog(_169.config.URIs.help,null,this); -break; -case "killword": -this._wordClean(); -break; -case "cut": -case "copy": -case "paste": -this._doc.execCommand(_166,UI,_168); -if(this.config.killWordOnPaste){ -this._wordClean(); -} -break; -case "lefttoright": -case "righttoleft": -if(this.config.changeJustifyWithDirection){ -this._doc.execCommand((_166=="righttoleft")?"justifyright":"justifyleft",UI,_168); -} -var dir=(_166=="righttoleft")?"rtl":"ltr"; -var el=this.getParentElement(); -while(el&&!Xinha.isBlockElement(el)){ -el=el.parentNode; -} -if(el){ -if(el.style.direction==dir){ -el.style.direction=""; -}else{ -el.style.direction=dir; -} -} -break; -case "justifyleft": -case "justifyright": -_166.match(/^justify(.*)$/); -var ae=this.activeElement(this.getSelection()); -if(ae&&ae.tagName.toLowerCase()=="img"){ -ae.align=ae.align==RegExp.$1?"":RegExp.$1; -}else{ -this._doc.execCommand(_166,UI,_168); -} -break; -default: -try{ -this._doc.execCommand(_166,UI,_168); -} -catch(ex){ -if(this.config.debug){ -alert(ex+"\n\nby execCommand("+_166+");"); -} -} -break; -} -this.updateToolbar(); -return false; -}; -Xinha.prototype._editorEvent=function(ev){ -var _16e=this; -if(typeof _16e._textArea["on"+ev.type]=="function"){ -_16e._textArea["on"+ev.type](); -} -if(this.isKeyEvent(ev)){ -if(_16e.firePluginEvent("onKeyPress",ev)){ -return false; -} -if(this.isShortCut(ev)){ -this._shortCuts(ev); -} -} -if(ev.type=="mousedown"){ -if(_16e.firePluginEvent("onMouseDown",ev)){ -return false; -} -} -if(_16e._timerToolbar){ -clearTimeout(_16e._timerToolbar); -} -_16e._timerToolbar=setTimeout(function(){ -_16e.updateToolbar(); -_16e._timerToolbar=null; -},250); -}; -Xinha.prototype._shortCuts=function(ev){ -var key=this.getKey(ev).toLowerCase(); -var cmd=null; -var _172=null; -switch(key){ -case "b": -cmd="bold"; -break; -case "i": -cmd="italic"; -break; -case "u": -cmd="underline"; -break; -case "s": -cmd="strikethrough"; -break; -case "l": -cmd="justifyleft"; -break; -case "e": -cmd="justifycenter"; -break; -case "r": -cmd="justifyright"; -break; -case "j": -cmd="justifyfull"; -break; -case "z": -cmd="undo"; -break; -case "y": -cmd="redo"; -break; -case "v": -cmd="paste"; -break; -case "n": -cmd="formatblock"; -_172="p"; -break; -case "0": -cmd="killword"; -break; -case "1": -case "2": -case "3": -case "4": -case "5": -case "6": -cmd="formatblock"; -_172="h"+key; -break; -} -if(cmd){ -this.execCommand(cmd,false,_172); -Xinha._stopEvent(ev); -} -}; -Xinha.prototype.convertNode=function(el,_174){ -var _175=this._doc.createElement(_174); -while(el.firstChild){ -_175.appendChild(el.firstChild); -} -return _175; -}; -Xinha.prototype.scrollToElement=function(e){ -if(!e){ -e=this.getParentElement(); -if(!e){ -return; -} -} -var _177=Xinha.getElementTopLeft(e); -this._iframe.contentWindow.scrollTo(_177.left,_177.top); -}; -Xinha.prototype.getEditorContent=function(){ -return this.outwardHtml(this.getHTML()); -}; -Xinha.prototype.setEditorContent=function(html){ -this.setHTML(this.inwardHtml(html)); -}; -Xinha.prototype.getHTML=function(){ -var html=""; -switch(this._editMode){ -case "wysiwyg": -if(!this.config.fullPage){ -html=Xinha.getHTML(this._doc.body,false,this).trim(); -}else{ -html=this.doctype+"\n"+Xinha.getHTML(this._doc.documentElement,true,this); -} -break; -case "textmode": -html=this._textArea.value; -break; -default: -alert("Mode <"+this._editMode+"> not defined!"); -return false; -} -return html; -}; -Xinha.prototype.outwardHtml=function(html){ -for(var i in this.plugins){ -var _17c=this.plugins[i].instance; -if(_17c&&typeof _17c.outwardHtml=="function"){ -html=_17c.outwardHtml(html); -} -} -html=html.replace(/<(\/?)b(\s|>|\/)/ig,"<$1strong$2"); -html=html.replace(/<(\/?)i(\s|>|\/)/ig,"<$1em$2"); -html=html.replace(/<(\/?)strike(\s|>|\/)/ig,"<$1del$2"); -html=html.replace(/(<[^>]*on(click|mouse(over|out|up|down))=['"])if\(window\.parent && window\.parent\.Xinha\)\{return false\}/gi,"$1"); -var _17d=location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/"; -html=html.replace(/https?:\/\/null\//g,_17d); -html=html.replace(/((href|src|background)=[\'\"])\/+/ig,"$1"+_17d); -html=this.outwardSpecialReplacements(html); -html=this.fixRelativeLinks(html); -if(this.config.sevenBitClean){ -html=html.replace(/[^ -~\r\n\t]/g,function(c){ -return "&#"+c.charCodeAt(0)+";"; -}); -} -html=html.replace(/(]*((type=[\"\']text\/)|(language=[\"\'])))(freezescript)/gi,"$1javascript"); -if(this.config.fullPage){ -html=Xinha.stripCoreCSS(html); -} -if(typeof this.config.outwardHtml=="function"){ -html=this.config.outwardHtml(html); -} -return html; -}; -Xinha.prototype.inwardHtml=function(html){ -for(var i in this.plugins){ -var _181=this.plugins[i].instance; -if(_181&&typeof _181.inwardHtml=="function"){ -html=_181.inwardHtml(html); -} -} -html=html.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2"); -html=html.replace(/(<[^>]*on(click|mouse(over|out|up|down))=["'])/gi,"$1if(window.parent && window.parent.Xinha){return false}"); -html=this.inwardSpecialReplacements(html); -html=html.replace(/(]*((type=[\"\']text\/)|(language=[\"\'])))(javascript)/gi,"$1freezescript"); -var _182=new RegExp("((href|src|background)=['\"])/+","gi"); -html=html.replace(_182,"$1"+location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/"); -html=this.fixRelativeLinks(html); -if(this.config.fullPage){ -html=Xinha.addCoreCSS(html); -} -if(typeof this.config.inwardHtml=="function"){ -html=this.config.inwardHtml(html); -} -return html; -}; -Xinha.prototype.outwardSpecialReplacements=function(html){ -for(var i in this.config.specialReplacements){ -var from=this.config.specialReplacements[i]; -var to=i; -if(typeof from.replace!="function"||typeof to.replace!="function"){ -continue; -} -var reg=new RegExp(Xinha.escapeStringForRegExp(from),"g"); -html=html.replace(reg,to.replace(/\$/g,"$$$$")); -} -return html; -}; -Xinha.prototype.inwardSpecialReplacements=function(html){ -for(var i in this.config.specialReplacements){ -var from=i; -var to=this.config.specialReplacements[i]; -if(typeof from.replace!="function"||typeof to.replace!="function"){ -continue; -} -var reg=new RegExp(Xinha.escapeStringForRegExp(from),"g"); -html=html.replace(reg,to.replace(/\$/g,"$$$$")); -} -return html; -}; -Xinha.prototype.fixRelativeLinks=function(html){ -if(typeof this.config.expandRelativeUrl!="undefined"&&this.config.expandRelativeUrl){ -var src=html.match(/(src|href)="([^"]*)"/gi); -} -var b=document.location.href; -if(src){ -var url,url_m,relPath,base_m,absPath; -for(var i=0;i not defined!"); -return false; -} -return html; -}; -Xinha.prototype.setHTML=function(html){ -if(!this.config.fullPage){ -this._doc.body.innerHTML=html; -}else{ -this.setFullHTML(html); -} -this._textArea.value=html; -}; -Xinha.prototype.setDoctype=function(_196){ -this.doctype=_196; -}; -Xinha._object=null; -Array.prototype.isArray=true; -RegExp.prototype.isRegExp=true; -Xinha.cloneObject=function(obj){ -if(!obj){ -return null; -} -var _198=(obj.isArray)?[]:{}; -if(obj.constructor.toString().match(/\s*function Function\(/)||typeof obj=="function"){ -_198=obj; -}else{ -if(obj.isRegExp){ -_198=eval(obj.toString()); -}else{ -for(var n in obj){ -var node=obj[n]; -if(typeof node=="object"){ -_198[n]=Xinha.cloneObject(node); -}else{ -_198[n]=node; -} -} -} -} -return _198; -}; -Xinha.flushEvents=function(){ -var x=0; -var e=Xinha._eventFlushers.pop(); -while(e){ -try{ -if(e.length==3){ -Xinha._removeEvent(e[0],e[1],e[2]); -x++; -}else{ -if(e.length==2){ -e[0]["on"+e[1]]=null; -e[0]._xinha_dom0Events[e[1]]=null; -x++; -} -} -} -catch(ex){ -} -e=Xinha._eventFlushers.pop(); -} -}; -Xinha._eventFlushers=[]; -if(document.addEventListener){ -Xinha._addEvent=function(el,_19e,func){ -el.addEventListener(_19e,func,true); -Xinha._eventFlushers.push([el,_19e,func]); -}; -Xinha._removeEvent=function(el,_1a1,func){ -el.removeEventListener(_1a1,func,true); -}; -Xinha._stopEvent=function(ev){ -ev.preventDefault(); -ev.stopPropagation(); -}; -}else{ -if(document.attachEvent){ -Xinha._addEvent=function(el,_1a5,func){ -el.attachEvent("on"+_1a5,func); -Xinha._eventFlushers.push([el,_1a5,func]); -}; -Xinha._removeEvent=function(el,_1a8,func){ -el.detachEvent("on"+_1a8,func); -}; -Xinha._stopEvent=function(ev){ -try{ -ev.cancelBubble=true; -ev.returnValue=false; -} -catch(ex){ -} -}; -}else{ -Xinha._addEvent=function(el,_1ac,func){ -alert("_addEvent is not supported"); -}; -Xinha._removeEvent=function(el,_1af,func){ -alert("_removeEvent is not supported"); -}; -Xinha._stopEvent=function(ev){ -alert("_stopEvent is not supported"); -}; -} -} -Xinha._addEvents=function(el,evs,func){ -for(var i=evs.length;--i>=0;){ -Xinha._addEvent(el,evs[i],func); -} -}; -Xinha._removeEvents=function(el,evs,func){ -for(var i=evs.length;--i>=0;){ -Xinha._removeEvent(el,evs[i],func); -} -}; -Xinha.addOnloadHandler=function(func,_1bb){ -_1bb=_1bb?_1bb:window; -var init=function(){ -if(arguments.callee.done){ -return; -} -arguments.callee.done=true; -if(Xinha.onloadTimer){ -clearInterval(Xinha.onloadTimer); -} -func(); -}; -if(Xinha.is_ie){ -_1bb.document.write(""); -var _1bd=_1bb.document.getElementById("__ie_onload"); -_1bd.onreadystatechange=function(){ -if(this.readyState=="loaded"){ -this.parentNode.removeChild(_1bd); -init(); -} -}; -}else{ -if(/applewebkit|KHTML/i.test(navigator.userAgent)){ -Xinha.onloadTimer=_1bb.setInterval(function(){ -if(/loaded|complete/.test(_1bb.document.readyState)){ -init(); -} -},10); -}else{ -_1bb.document.addEventListener("DOMContentLoaded",init,false); -} -} -Xinha._addEvent(_1bb,"load",init); -}; -Xinha.addDom0Event=function(el,ev,fn){ -Xinha._prepareForDom0Events(el,ev); -el._xinha_dom0Events[ev].unshift(fn); -}; -Xinha.prependDom0Event=function(el,ev,fn){ -Xinha._prepareForDom0Events(el,ev); -el._xinha_dom0Events[ev].push(fn); -}; -Xinha._prepareForDom0Events=function(el,ev){ -if(typeof el._xinha_dom0Events=="undefined"){ -el._xinha_dom0Events={}; -Xinha.freeLater(el,"_xinha_dom0Events"); -} -if(typeof el._xinha_dom0Events[ev]=="undefined"){ -el._xinha_dom0Events[ev]=[]; -if(typeof el["on"+ev]=="function"){ -el._xinha_dom0Events[ev].push(el["on"+ev]); -} -el["on"+ev]=function(_1c6){ -var a=el._xinha_dom0Events[ev]; -var _1c8=true; -for(var i=a.length;--i>=0;){ -el._xinha_tempEventHandler=a[i]; -if(el._xinha_tempEventHandler(_1c6)===false){ -el._xinha_tempEventHandler=null; -_1c8=false; -break; -} -el._xinha_tempEventHandler=null; -} -return _1c8; -}; -Xinha._eventFlushers.push([el,ev]); -} -}; -Xinha.prototype.notifyOn=function(ev,fn){ -if(typeof this._notifyListeners[ev]=="undefined"){ -this._notifyListeners[ev]=[]; -Xinha.freeLater(this,"_notifyListeners"); -} -this._notifyListeners[ev].push(fn); -}; -Xinha.prototype.notifyOf=function(ev,args){ -if(this._notifyListeners[ev]){ -for(var i=0;i/ig,">"); -str=str.replace(/\xA0/g," "); -str=str.replace(/\x22/g,"""); -return str; -}; -Xinha.prototype.stripBaseURL=function(_1d3){ -if(this.config.baseHref===null||!this.config.stripBaseHref){ -return _1d3; -} -var _1d4=this.config.baseHref.replace(/^(https?:\/\/[^\/]+)(.*)$/,"$1"); -var _1d5=new RegExp(_1d4); -return _1d3.replace(_1d5,""); -}; -String.prototype.trim=function(){ -return this.replace(/^\s+/,"").replace(/\s+$/,""); -}; -Xinha._makeColor=function(v){ -if(typeof v!="number"){ -return v; -} -var r=v&255; -var g=(v>>8)&255; -var b=(v>>16)&255; -return "rgb("+r+","+g+","+b+")"; -}; -Xinha._colorToRgb=function(v){ -if(!v){ -return ""; -} -var r,g,b; -function hex(d){ -return (d<16)?("0"+d.toString(16)):d.toString(16); -} -if(typeof v=="number"){ -r=v&255; -g=(v>>8)&255; -b=(v>>16)&255; -return "#"+hex(r)+hex(g)+hex(b); -} -if(v.substr(0,3)=="rgb"){ -var re=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/; -if(v.match(re)){ -r=parseInt(RegExp.$1,10); -g=parseInt(RegExp.$2,10); -b=parseInt(RegExp.$3,10); -return "#"+hex(r)+hex(g)+hex(b); -} -return null; -} -if(v.substr(0,1)=="#"){ -return v; -} -return null; -}; -Xinha.prototype._popupDialog=function(url,_1df,init){ -Dialog(this.popupURL(url),_1df,init); -}; -Xinha.prototype.imgURL=function(file,_1e2){ -if(typeof _1e2=="undefined"){ -return _editor_url+file; -}else{ -return _editor_url+"plugins/"+_1e2+"/img/"+file; -} -}; -Xinha.prototype.popupURL=function(file){ -var url=""; -if(file.match(/^plugin:\/\/(.*?)\/(.*)/)){ -var _1e5=RegExp.$1; -var _1e6=RegExp.$2; -if(!(/\.(html?|php)$/.test(_1e6))){ -_1e6+=".html"; -} -url=Xinha.getPluginDir(_1e5)+"/popups/"+_1e6; -}else{ -if(file.match(/^\/.*?/)||file.match(/^https?:\/\//)){ -url=file; -}else{ -url=_editor_url+this.config.popupURL+file; -} -} -return url; -}; -Xinha.getElementById=function(tag,id){ -var el,i,objs=document.getElementsByTagName(tag); -for(i=objs.length;--i>=0&&(el=objs[i]);){ -if(el.id==id){ -return el; -} -} -return null; -}; -Xinha.prototype._toggleBorders=function(){ -var _1ea=this._doc.getElementsByTagName("TABLE"); -if(_1ea.length!==0){ -if(!this.borders){ -this.borders=true; -}else{ -this.borders=false; -} -for(var i=0;i<_1ea.length;i++){ -if(this.borders){ -Xinha._addClass(_1ea[i],"htmtableborders"); -}else{ -Xinha._removeClass(_1ea[i],"htmtableborders"); -} -} -} -return true; -}; -Xinha.addCoreCSS=function(html){ -var _1ed="\n"; -if(html&&//i.test(html)){ -return html.replace(//i,""+_1ed); -}else{ -if(html){ -return _1ed+html; -}else{ -return _1ed; -} -} -}; -Xinha.prototype.addEditorStylesheet=function(_1ee){ -var _1ef=this._doc.createElement("link"); -_1ef.rel="stylesheet"; -_1ef.type="text/css"; -_1ef.title="XinhaInternalCSS"; -_1ef.href=_1ee; -this._doc.getElementsByTagName("HEAD")[0].appendChild(_1ef); -}; -Xinha.stripCoreCSS=function(html){ -return html.replace(/]+title="XinhaInternalCSS"(.|\n)*?<\/style>/ig,"").replace(/]+title="XinhaInternalCSS"(.|\n)*?>/ig,""); -}; -Xinha._removeClass=function(el,_1f2){ -if(!(el&&el.className)){ -return; -} -var cls=el.className.split(" "); -var ar=[]; -for(var i=cls.length;i>0;){ -if(cls[--i]!=_1f2){ -ar[ar.length]=cls[i]; -} -} -el.className=ar.join(" "); -}; -Xinha._addClass=function(el,_1f7){ -Xinha._removeClass(el,_1f7); -el.className+=" "+_1f7; -}; -Xinha.addClasses=function(el,_1f9){ -if(el!==null){ -var _1fa=el.className.trim().split(" "); -var ours=_1f9.split(" "); -for(var x=0;x0;){ -if(cls[--i]==_208){ -return true; -} -} -return false; -}; -Xinha._postback_send_charset=true; -Xinha._postback=function(url,data,_20d){ -var req=null; -req=Xinha.getXMLHTTPRequestObject(); -var _20f=""; -if(typeof data=="string"){ -_20f=data; -}else{ -if(typeof data=="object"){ -for(var i in data){ -_20f+=(_20f.length?"&":"")+i+"="+encodeURIComponent(data[i]); -} -} -} -function callBack(){ -if(req.readyState==4){ -if(req.status==200||Xinha.isRunLocally&&req.status==0){ -if(typeof _20d=="function"){ -_20d(req.responseText,req); -} -}else{ -if(Xinha._postback_send_charset){ -Xinha._postback_send_charset=false; -Xinha._postback(url,data,_20d); -}else{ -alert("An error has occurred: "+req.statusText+"\nURL: "+url); -} -} -} -} -req.onreadystatechange=callBack; -req.open("POST",url,true); -req.setRequestHeader("Content-Type","application/x-www-form-urlencoded"+(Xinha._postback_send_charset?"; charset=UTF-8":"")); -req.send(_20f); -}; -Xinha._getback=function(url,_212){ -var req=null; -req=Xinha.getXMLHTTPRequestObject(); -function callBack(){ -if(req.readyState==4){ -if(req.status==200||Xinha.isRunLocally&&req.status==0){ -_212(req.responseText,req); -}else{ -alert("An error has occurred: "+req.statusText+"\nURL: "+url); -} -} -} -req.onreadystatechange=callBack; -req.open("GET",url,true); -req.send(null); -}; -Xinha._geturlcontent=function(url){ -var req=null; -req=Xinha.getXMLHTTPRequestObject(); -req.open("GET",url,false); -req.send(null); -if(req.status==200||Xinha.isRunLocally&&req.status==0){ -return req.responseText; -}else{ -return ""; -} -}; -if(typeof dumpValues=="undefined"){ -function dumpValues(o){ -var s=""; -for(var prop in o){ -if(window.console&&typeof window.console.log=="function"){ -if(typeof console.firebug!="undefined"){ -console.log(o); -}else{ -console.log(prop+" = "+o[prop]+"\n"); -} -}else{ -s+=prop+" = "+o[prop]+"\n"; -} -} -if(s){ -if(document.getElementById("errors")){ -document.getElementById("errors").value+=s; -}else{ -var x=window.open("","debugger"); -x.document.write("
"+s+"
"); -} -} -} -} -if(!Array.prototype.contains){ -Array.prototype.contains=function(_21a){ -var _21b=this; -for(var i=0;i<_21b.length;i++){ -if(_21a==_21b[i]){ -return true; -} -} -return false; -}; -} -if(!Array.prototype.indexOf){ -Array.prototype.indexOf=function(_21d){ -var _21e=this; -for(var i=0;i<_21e.length;i++){ -if(_21d==_21e[i]){ -return i; -} -} -return null; -}; -} -if(!Array.prototype.append){ -Array.prototype.append=function(a){ -for(var i=0;i>2; -enc2=((chr1&3)<<4)|(chr2>>4); -enc3=((chr2&15)<<2)|(chr3>>6); -enc4=chr3&63; -if(isNaN(chr2)){ -enc3=enc4=64; -}else{ -if(isNaN(chr3)){ -enc4=64; -} -} -_252=_252+_251.charAt(enc1)+_251.charAt(enc2)+_251.charAt(enc3)+_251.charAt(enc4); -}while(i<_250.length); -return _252; -}; -Xinha.base64_decode=function(_256){ -var _257="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; -var _258=""; -var chr1,chr2,chr3; -var enc1,enc2,enc3,enc4; -var i=0; -_256=_256.replace(/[^A-Za-z0-9\+\/\=]/g,""); -do{ -enc1=_257.indexOf(_256.charAt(i++)); -enc2=_257.indexOf(_256.charAt(i++)); -enc3=_257.indexOf(_256.charAt(i++)); -enc4=_257.indexOf(_256.charAt(i++)); -chr1=(enc1<<2)|(enc2>>4); -chr2=((enc2&15)<<4)|(enc3>>2); -chr3=((enc3&3)<<6)|enc4; -_258=_258+String.fromCharCode(chr1); -if(enc3!=64){ -_258=_258+String.fromCharCode(chr2); -} -if(enc4!=64){ -_258=_258+String.fromCharCode(chr3); -} -}while(i<_256.length); -return _258; -}; -Xinha.removeFromParent=function(el){ -if(!el.parentNode){ -return; -} -var pN=el.parentNode; -pN.removeChild(el); -return el; -}; -Xinha.hasParentNode=function(el){ -if(el.parentNode){ -if(el.parentNode.nodeType==11){ -return false; -} -return true; -} -return false; -}; -Xinha.viewportSize=function(_25f){ -_25f=(_25f)?_25f:window; -var x,y; -if(_25f.innerHeight){ -x=_25f.innerWidth; -y=_25f.innerHeight; -}else{ -if(_25f.document.documentElement&&_25f.document.documentElement.clientHeight){ -x=_25f.document.documentElement.clientWidth; -y=_25f.document.documentElement.clientHeight; -}else{ -if(_25f.document.body){ -x=_25f.document.body.clientWidth; -y=_25f.document.body.clientHeight; -} -} -} -return {"x":x,"y":y}; -}; -Xinha.pageSize=function(_261){ -_261=(_261)?_261:window; -var x,y; -var _263=_261.document.body.scrollHeight; -var _264=_261.document.documentElement.scrollHeight; -if(_263>_264){ -x=_261.document.body.scrollWidth; -y=_261.document.body.scrollHeight; -}else{ -x=_261.document.documentElement.scrollWidth; -y=_261.document.documentElement.scrollHeight; -} -return {"x":x,"y":y}; -}; -Xinha.prototype.scrollPos=function(_265){ -_265=(_265)?_265:window; -var x,y; -if(_265.pageYOffset){ -x=_265.pageXOffset; -y=_265.pageYOffset; -}else{ -if(_265.document.documentElement&&document.documentElement.scrollTop){ -x=_265.document.documentElement.scrollLeft; -y=_265.document.documentElement.scrollTop; -}else{ -if(_265.document.body){ -x=_265.document.body.scrollLeft; -y=_265.document.body.scrollTop; -} -} -} -return {"x":x,"y":y}; -}; -Xinha.getElementTopLeft=function(_267){ -var _268=curtop=0; -if(_267.offsetParent){ -_268=_267.offsetLeft; -curtop=_267.offsetTop; -while(_267=_267.offsetParent){ -_268+=_267.offsetLeft; -curtop+=_267.offsetTop; -} -} -return {top:curtop,left:_268}; -}; -Xinha.findPosX=function(obj){ -var _26a=0; -if(obj.offsetParent){ -return Xinha.getElementTopLeft(obj).left; -}else{ -if(obj.x){ -_26a+=obj.x; -} -} -return _26a; -}; -Xinha.findPosY=function(obj){ -var _26c=0; -if(obj.offsetParent){ -return Xinha.getElementTopLeft(obj).top; -}else{ -if(obj.y){ -_26c+=obj.y; -} -} -return _26c; -}; -Xinha.createLoadingMessages=function(_26d){ -if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){ -return; -} -Xinha.loadingMessages=[]; -for(var i=0;i<_26d.length;i++){ -if(!document.getElementById(_26d[i])){ -continue; -} -Xinha.loadingMessages.push(Xinha.createLoadingMessage(Xinha.getElementById("textarea",_26d[i]))); -} -}; -Xinha.createLoadingMessage=function(_26f,text){ -if(document.getElementById("loading_"+_26f.id)||!Xinha.isSupportedBrowser){ -return; -} -var _271=document.createElement("div"); -_271.id="loading_"+_26f.id; -_271.className="loading"; -_271.style.left=(Xinha.findPosX(_26f)+_26f.offsetWidth/2)-106+"px"; -_271.style.top=(Xinha.findPosY(_26f)+_26f.offsetHeight/2)-50+"px"; -var _272=document.createElement("div"); -_272.className="loading_main"; -_272.id="loading_main_"+_26f.id; -_272.appendChild(document.createTextNode(Xinha._lc("Loading in progress. Please wait!"))); -var _273=document.createElement("div"); -_273.className="loading_sub"; -_273.id="loading_sub_"+_26f.id; -text=text?text:Xinha._lc("Loading Core"); -_273.appendChild(document.createTextNode(text)); -_271.appendChild(_272); -_271.appendChild(_273); -document.body.appendChild(_271); -Xinha.freeLater(_271); -Xinha.freeLater(_272); -Xinha.freeLater(_273); -return _273; -}; -Xinha.prototype.setLoadingMessage=function(_274,_275){ -if(!document.getElementById("loading_sub_"+this._textArea.id)){ -return; -} -document.getElementById("loading_main_"+this._textArea.id).innerHTML=_275?_275:Xinha._lc("Loading in progress. Please wait!"); -document.getElementById("loading_sub_"+this._textArea.id).innerHTML=_274; -}; -Xinha.setLoadingMessage=function(_276){ -if(!Xinha.loadingMessages){ -return; -} -for(var i=0;i=9.2)||Xinha.ie_version>=5.5||Xinha.webkit_version>=522};Xinha.isSupportedBrowser=Xinha.checkSupportedBrowser();if(Xinha.isRunLocally&&Xinha.isSupportedBrowser){alert('Xinha *must* be installed on a web server. Locally opened files (those that use the "file://" protocol) cannot properly function. Xinha will try to initialize but may not be correctly loaded.')}function Xinha(d,c){if(!Xinha.isSupportedBrowser){return}if(!d){throw new Error("Tried to create Xinha without textarea specified.")}if(typeof c=="undefined"){this.config=new Xinha.Config()}else{this.config=c}if(typeof d!="object"){d=Xinha.getElementById("textarea",d)}this._textArea=d;this._textArea.spellcheck=false;Xinha.freeLater(this,"_textArea");this._initial_ta_size={w:d.style.width?d.style.width:(d.offsetWidth?(d.offsetWidth+"px"):(d.cols+"em")),h:d.style.height?d.style.height:(d.offsetHeight?(d.offsetHeight+"px"):(d.rows+"em"))};if(document.getElementById("loading_"+d.id)||this.config.showLoading){if(!document.getElementById("loading_"+d.id)){Xinha.createLoadingMessage(d)}this.setLoadingMessage(Xinha._lc("Constructing object"))}this._editMode="wysiwyg";this.plugins={};this._timerToolbar=null;this._timerUndo=null;this._undoQueue=[this.config.undoSteps];this._undoPos=-1;this._customUndo=true;this._mdoc=document;this.doctype="";this.__htmlarea_id_num=__xinhas.length;__xinhas[this.__htmlarea_id_num]=this;this._notifyListeners={};var b={right:{on:true,container:document.createElement("td"),panels:[]},left:{on:true,container:document.createElement("td"),panels:[]},top:{on:true,container:document.createElement("td"),panels:[]},bottom:{on:true,container:document.createElement("td"),panels:[]}};for(var a in b){if(!b[a].container){continue}b[a].div=b[a].container;b[a].container.className="panels panels_"+a;Xinha.freeLater(b[a],"container");Xinha.freeLater(b[a],"div")}this._panels=b;this._statusBar=null;this._statusBarTree=null;this._statusBarTextMode=null;this._statusBarItems=[];this._framework={};this._htmlArea=null;this._iframe=null;this._doc=null;this._toolBar=this._toolbar=null;this._toolbarObjects={};this.plugins.Events={name:"Events",developer:"The Xinha Core Developer Team",instance:c.Events}}Xinha.onload=function(){};Xinha.init=function(){Xinha.onload()};Xinha.RE_tagName=/(<\/|<)\s*([^ \t\n>]+)/ig;Xinha.RE_doctype=/()\n?/i;Xinha.RE_head=/((.|\n)*?)<\/head>/i;Xinha.RE_body=/]*>((.|\n|\r|\t)*?)<\/body>/i;Xinha.RE_Specials=/([\/\^$*+?.()|{}\[\]])/g;Xinha.escapeStringForRegExp=function(a){return a.replace(Xinha.RE_Specials,"\\$1")};Xinha.RE_email=/^[_a-z\d\-\.]{3,}@[_a-z\d\-]{2,}(\.[_a-z\d\-]{2,})+$/i;Xinha.RE_url=/(https?:\/\/)?(([a-z0-9_]+:[a-z0-9_]+@)?[a-z0-9_\-]{2,}(\.[a-z0-9_\-]{2,}){2,}(:[0-9]+)?(\/\S+)*)/i;Xinha.Config=function(){this.version=Xinha.version.Revision;this.width="auto";this.height="auto";this.sizeIncludesBars=true;this.sizeIncludesPanels=true;this.panel_dimensions={left:"200px",right:"200px",top:"100px",bottom:"100px"};this.iframeWidth=null;this.statusBar=true;this.htmlareaPaste=false;this.mozParaHandler="best";this.getHtmlMethod="DOMwalk";this.undoSteps=20;this.undoTimeout=500;this.changeJustifyWithDirection=false;this.fullPage=false;this.pageStyle="";this.pageStyleSheets=[];this.baseHref=null;this.expandRelativeUrl=true;this.stripBaseHref=true;this.stripSelfNamedAnchors=true;this.only7BitPrintablesInURLs=true;this.sevenBitClean=false;this.specialReplacements={};this.inwardHtml=function(c){return c};this.outwardHtml=function(c){return c};this.autofocus=false;this.killWordOnPaste=true;this.makeLinkShowsTarget=true;this.charSet=(typeof document.characterSet!="undefined")?document.characterSet:document.charset;this.browserQuirksMode=null;this.imgURL="images/";this.popupURL="popups/";this.htmlRemoveTags=null;this.flowToolbars=true;this.toolbarAlign="left";this.showFontStylesInToolbar=false;this.showLoading=false;this.stripScripts=true;this.convertUrlsToLinks=true;this.colorPickerCellSize="6px";this.colorPickerGranularity=18;this.colorPickerPosition="bottom,right";this.colorPickerWebSafe=false;this.colorPickerSaveColors=20;this.fullScreen=false;this.fullScreenMargins=[0,0,0,0];this.fullScreenSizeDownMethod="initSize";this.toolbar=[["popupeditor"],["separator","formatblock","fontname","fontsize","bold","italic","underline","strikethrough"],["separator","forecolor","hilitecolor","textindicator"],["separator","subscript","superscript"],["linebreak","separator","justifyleft","justifycenter","justifyright","justifyfull"],["separator","insertorderedlist","insertunorderedlist","outdent","indent"],["separator","inserthorizontalrule","createlink","insertimage","inserttable"],["linebreak","separator","undo","redo","selectall","print"],(Xinha.is_gecko?[]:["cut","copy","paste","overwrite","saveas"]),["separator","killword","clearfonts","removeformat","toggleborders","splitblock","lefttoright","righttoleft"],["separator","htmlmode","showhelp","about"]];this.fontname={"— font —":"",Arial:"arial,helvetica,sans-serif","Courier New":"courier new,courier,monospace",Georgia:"georgia,times new roman,times,serif",Tahoma:"tahoma,arial,helvetica,sans-serif","Times New Roman":"times new roman,times,serif",Verdana:"verdana,arial,helvetica,sans-serif",impact:"impact",WingDings:"wingdings"};this.fontsize={"— size —":"","1 (8 pt)":"1","2 (10 pt)":"2","3 (12 pt)":"3","4 (14 pt)":"4","5 (18 pt)":"5","6 (24 pt)":"6","7 (36 pt)":"7"};this.formatblock={"— format —":"","Heading 1":"h1","Heading 2":"h2","Heading 3":"h3","Heading 4":"h4","Heading 5":"h5","Heading 6":"h6",Normal:"p",Address:"address",Formatted:"pre"};this.dialogOptions={centered:true,greyout:true,closeOnEscape:true};this.Events={};this.customSelects={};this.debug=false;this.URIs={blank:_editor_url+"popups/blank.html",link:_editor_url+"modules/CreateLink/link.html",insert_image:_editor_url+"modules/InsertImage/insert_image.html",insert_table:_editor_url+"modules/InsertTable/insert_table.html",select_color:_editor_url+"popups/select_color.html",help:_editor_url+"popups/editor_help.html"};this.btnList={bold:["Bold",Xinha._lc({key:"button_bold",string:["ed_buttons_main.png",3,2]},"Xinha"),false,function(c){c.execCommand("bold")}],italic:["Italic",Xinha._lc({key:"button_italic",string:["ed_buttons_main.png",2,2]},"Xinha"),false,function(c){c.execCommand("italic")}],underline:["Underline",Xinha._lc({key:"button_underline",string:["ed_buttons_main.png",2,0]},"Xinha"),false,function(c){c.execCommand("underline")}],strikethrough:["Strikethrough",Xinha._lc({key:"button_strikethrough",string:["ed_buttons_main.png",3,0]},"Xinha"),false,function(c){c.execCommand("strikethrough")}],subscript:["Subscript",Xinha._lc({key:"button_subscript",string:["ed_buttons_main.png",3,1]},"Xinha"),false,function(c){c.execCommand("subscript")}],superscript:["Superscript",Xinha._lc({key:"button_superscript",string:["ed_buttons_main.png",2,1]},"Xinha"),false,function(c){c.execCommand("superscript")}],justifyleft:["Justify Left",["ed_buttons_main.png",0,0],false,function(c){c.execCommand("justifyleft")}],justifycenter:["Justify Center",["ed_buttons_main.png",1,1],false,function(c){c.execCommand("justifycenter")}],justifyright:["Justify Right",["ed_buttons_main.png",1,0],false,function(c){c.execCommand("justifyright")}],justifyfull:["Justify Full",["ed_buttons_main.png",0,1],false,function(c){c.execCommand("justifyfull")}],orderedlist:["Ordered List",["ed_buttons_main.png",0,3],false,function(c){c.execCommand("insertorderedlist")}],unorderedlist:["Bulleted List",["ed_buttons_main.png",1,3],false,function(c){c.execCommand("insertunorderedlist")}],insertorderedlist:["Ordered List",["ed_buttons_main.png",0,3],false,function(c){c.execCommand("insertorderedlist")}],insertunorderedlist:["Bulleted List",["ed_buttons_main.png",1,3],false,function(c){c.execCommand("insertunorderedlist")}],outdent:["Decrease Indent",["ed_buttons_main.png",1,2],false,function(c){c.execCommand("outdent")}],indent:["Increase Indent",["ed_buttons_main.png",0,2],false,function(c){c.execCommand("indent")}],forecolor:["Font Color",["ed_buttons_main.png",3,3],false,function(c){c.execCommand("forecolor")}],hilitecolor:["Background Color",["ed_buttons_main.png",2,3],false,function(c){c.execCommand("hilitecolor")}],undo:["Undoes your last action",["ed_buttons_main.png",4,2],false,function(c){c.execCommand("undo")}],redo:["Redoes your last action",["ed_buttons_main.png",5,2],false,function(c){c.execCommand("redo")}],cut:["Cut selection",["ed_buttons_main.png",5,0],false,function(d,c){d.execCommand(c)}],copy:["Copy selection",["ed_buttons_main.png",4,0],false,function(d,c){d.execCommand(c)}],paste:["Paste from clipboard",["ed_buttons_main.png",4,1],false,function(d,c){d.execCommand(c)}],selectall:["Select all",["ed_buttons_main.png",3,5],false,function(c){c.execCommand("selectall")}],inserthorizontalrule:["Horizontal Rule",["ed_buttons_main.png",6,0],false,function(c){c.execCommand("inserthorizontalrule")}],createlink:["Insert Web Link",["ed_buttons_main.png",6,1],false,function(c){c._createLink()}],insertimage:["Insert/Modify Image",["ed_buttons_main.png",6,3],false,function(c){c.execCommand("insertimage")}],inserttable:["Insert Table",["ed_buttons_main.png",6,2],false,function(c){c.execCommand("inserttable")}],htmlmode:["Toggle HTML Source",["ed_buttons_main.png",7,0],true,function(c){c.execCommand("htmlmode")}],toggleborders:["Toggle Borders",["ed_buttons_main.png",7,2],false,function(c){c._toggleBorders()}],print:["Print document",["ed_buttons_main.png",8,1],false,function(c){if(Xinha.is_gecko){c._iframe.contentWindow.print()}else{c.focusEditor();print()}}],saveas:["Save as",["ed_buttons_main.png",9,1],false,function(c){c.execCommand("saveas",false,"noname.htm")}],about:["About this editor",["ed_buttons_main.png",8,2],true,function(c){c.getPluginInstance("AboutBox").show()}],showhelp:["Help using editor",["ed_buttons_main.png",9,2],true,function(c){c.execCommand("showhelp")}],splitblock:["Split Block","ed_splitblock.gif",false,function(c){c._splitBlock()}],lefttoright:["Direction left to right",["ed_buttons_main.png",0,2],false,function(c){c.execCommand("lefttoright")}],righttoleft:["Direction right to left",["ed_buttons_main.png",1,2],false,function(c){c.execCommand("righttoleft")}],overwrite:["Insert/Overwrite","ed_overwrite.gif",false,function(c){c.execCommand("overwrite")}],wordclean:["MS Word Cleaner",["ed_buttons_main.png",5,3],false,function(c){c._wordClean()}],clearfonts:["Clear Inline Font Specifications",["ed_buttons_main.png",5,4],true,function(c){c._clearFonts()}],removeformat:["Remove formatting",["ed_buttons_main.png",4,4],false,function(c){c.execCommand("removeformat")}],killword:["Clear MSOffice tags",["ed_buttons_main.png",4,3],false,function(c){c.execCommand("killword")}]};this.dblclickList={a:[function(c,d){c._createLink(d)}],img:[function(c,d){c._insertImage(d)}]};this.iconList={dialogCaption:_editor_url+"images/xinha-small-icon.gif",wysiwygmode:[_editor_url+"images/ed_buttons_main.png",7,1]};for(var b in this.btnList){var a=this.btnList[b];if(typeof a!="object"){continue}if(typeof a[1]!="string"){a[1][0]=_editor_url+this.imgURL+a[1][0]}else{a[1]=_editor_url+this.imgURL+a[1]}a[0]=Xinha._lc(a[0])}};Xinha.Config.prototype.registerIcon=function(b,a){this.iconList[b]=a};Xinha.Config.prototype.registerButton=function(f,b,e,d,a,c){if(typeof f=="string"){this.btnList[f]=[b,e,d,a,c]}else{if(typeof f=="object"){this.btnList[f.id]=[f.tooltip,f.image,f.textMode,f.action,f.context]}else{alert("ERROR [Xinha.Config::registerButton]:\ninvalid arguments");return false}}};Xinha.prototype.registerPanel=function(c,b){if(!c){c="right"}this.setLoadingMessage("Register "+c+" panel ");var a=this.addPanel(c);if(b){b.drawPanelIn(a)}};Xinha.Config.prototype.registerDropdown=function(a){this.customSelects[a.id]=a};Xinha.Config.prototype.hideSomeButtons=function(f){var c=this.toolbar;for(var e=c.length;--e>=0;){var b=c[e];for(var d=b.length;--d>=0;){if(f.indexOf(" "+b[d]+" ")>=0){var a=1;if(/separator|space/.test(b[d+1])){a=2}b.splice(d,a)}}}};Xinha.Config.prototype.addToolbarElement=function(d,k,m){var s=this.toolbar;var q,l,h,f,c;var p=false;var b=false;var n=0;var g=0;var e=0;var r=false;var t=false;if((d&&typeof d=="object")&&(d.constructor==Array)){p=true}if((k&&typeof k=="object")&&(k.constructor==Array)){b=true;n=k.length}if(p){for(l=0;l=0;){q.splice(h,0,d[l])}}else{q[h]=d}}else{if(m<0){h=h+m+1}else{if(m>0){h=h+m}}if(p){for(l=d.length;--l>=0;){q.splice(h,0,d[l])}}else{q.splice(h,0,d)}}}else{s[0].splice(0,0,"separator");if(p){for(l=d.length;--l>=0;){s[0].splice(0,0,d[l])}}else{s[0].splice(0,0,d)}}};Xinha.Config.prototype.removeToolbarElement=Xinha.Config.prototype.hideSomeButtons;Xinha.replaceAll=function(b){var c=document.getElementsByTagName("textarea");for(var a=c.length;a>0;new Xinha(c[--a],b).generate()){}};Xinha.replace=function(c,b){var a=Xinha.getElementById("textarea",c);return a?new Xinha(a,b).generate():null};Xinha.prototype._createToolbar=function(){this.setLoadingMessage(Xinha._lc("Create Toolbar"));var b=this;var a=document.createElement("div");this._toolBar=this._toolbar=a;a.className="toolbar";a.align=this.config.toolbarAlign;Xinha.freeLater(this,"_toolBar");Xinha.freeLater(this,"_toolbar");var c=null;var e={};this._toolbarObjects=e;this._createToolbar1(b,a,e);function d(g){if(g.tagName){g.unselectable="on"}if(g.childNodes){for(var f=0;f] button to switch back to WYSIWYG."));c.style.display="none";this._statusBarTextMode=c;Xinha.freeLater(this,"_statusBarTextMode");b.appendChild(c);b.style.whiteSpace="nowrap";var a=this;this.notifyOn("before_resize",function(f,g){a._statusBar.style.width=null});this.notifyOn("resize",function(f,g){if(Xinha.is_ie&&Xinha.ie_version==6){a._statusBar.style.width="100%"}else{var h=g.width;a._statusBar.style.width=h+"px"}});this.notifyOn("modechange",function(g,l){for(var j in a._statusWidgets){var f=a._statusWidgets[j];for(var h=0;h=0;){for(var v=a[w].length;--v>=0;){switch(a[w][v]){case"popupeditor":if(!this.plugins.FullScreen){k.registerPlugin("FullScreen")}break;case"insertimage":g=_editor_url+"modules/InsertImage/insert_image.js";if(typeof Xinha.prototype._insertImage=="undefined"&&!Xinha.loadPlugins([{plugin:"InsertImage",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("InsertImage")!="undefined"&&!this.plugins.InsertImage){k.registerPlugin("InsertImage")}}break;case"createlink":g=_editor_url+"modules/CreateLink/link.js";if(typeof Xinha.getPluginConstructor("Linker")=="undefined"&&!Xinha.loadPlugins([{plugin:"CreateLink",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("CreateLink")!="undefined"&&!this.plugins.CreateLink){k.registerPlugin("CreateLink")}}break;case"inserttable":g=_editor_url+"modules/InsertTable/insert_table.js";if(!Xinha.loadPlugins([{plugin:"InsertTable",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("InsertTable")!="undefined"&&!this.plugins.InsertTable){k.registerPlugin("InsertTable")}}break;case"about":g=_editor_url+"modules/AboutBox/AboutBox.js";if(!Xinha.loadPlugins([{plugin:"AboutBox",url:g}],h)){return false}else{if(typeof Xinha.getPluginConstructor("AboutBox")!="undefined"&&!this.plugins.AboutBox){k.registerPlugin("AboutBox")}}break}}}if(Xinha.is_gecko&&k.config.mozParaHandler!="built-in"){if(!Xinha.loadPlugins([{plugin:"EnterParagraphs",url:_editor_url+"modules/Gecko/paraHandlerBest.js"}],h)){return false}if(!this.plugins.EnterParagraphs){k.registerPlugin("EnterParagraphs")}}var C=this.config.getHtmlMethod=="TransformInnerHTML"?_editor_url+"modules/GetHtml/TransformInnerHTML.js":_editor_url+"modules/GetHtml/DOMwalk.js";if(!Xinha.loadPlugins([{plugin:"GetHtmlImplementation",url:C}],h)){return false}else{if(!this.plugins.GetHtmlImplementation){k.registerPlugin("GetHtmlImplementation")}}function D(i){return i.textContent||i.text}if(_editor_skin){this.skinInfo={};var s=Xinha._geturlcontent(_editor_url+"skins/"+_editor_skin+"/skin.xml",true);if(s){var p=s.getElementsByTagName("meta");for(w=0;w'}else{if(b.config.browserQuirksMode===true){a=""}else{a=Xinha.getDoctype(document)}}if(!b.config.fullPage){e+=a+"\n";e+="\n";e+="\n";e+='\n';if(typeof b.config.baseHref!="undefined"&&b.config.baseHref!==null){e+='\n'}e+=Xinha.addCoreCSS();if(typeof b.config.pageStyleSheets!=="undefined"){for(var d=0;d0){e+=''}}}if(b.config.pageStyle){e+='"}e+="\n";e+="\n";e+=b.inwardHtml(b._textArea.value);e+="\n";e+=""}else{e=b.inwardHtml(b._textArea.value);if(e.match(Xinha.RE_doctype)){b.setDoctype(RegExp.$1)}var c=e.match(//gi);e=e.replace(/\s*/gi,"");if(c){e=e.replace(/<\/head>/i,c.join("\n")+"\n")}}g.write(e);g.close();if(this.config.fullScreen){this._fullScreen()}this.setEditorEvents();if((typeof b.config.autofocus!="undefined")&&b.config.autofocus!==false&&((b.config.autofocus==b._textArea.id)||b.config.autofocus==true)){b.activateEditor();b.focusEditor()}};Xinha.prototype.whenDocReady=function(a){var b=this;if(this._doc&&this._doc.body){a()}else{setTimeout(function(){b.whenDocReady(a)},50)}};Xinha.prototype.setMode=function(b){var a;if(typeof b=="undefined"){b=this._editMode=="textmode"?"wysiwyg":"textmode"}switch(b){case"textmode":this.firePluginEvent("onBeforeMode","textmode");this._toolbarObjects.htmlmode.swapImage(this.config.iconList.wysiwygmode);this.setCC("iframe");a=this.outwardHtml(this.getHTML());this.setHTML(a);this.deactivateEditor();this._iframe.style.display="none";this._textArea.style.display="";if(this.config.statusBar){this._statusBarTree.style.display="none";this._statusBarTextMode.style.display=""}this.findCC("textarea");this.notifyOf("modechange",{mode:"text"});this.firePluginEvent("onMode","textmode");break;case"wysiwyg":this.firePluginEvent("onBeforeMode","wysiwyg");this._toolbarObjects.htmlmode.swapImage([this.imgURL("images/ed_buttons_main.png"),7,0]);this.setCC("textarea");a=this.inwardHtml(this.getHTML());this.deactivateEditor();this.setHTML(a);this._iframe.style.display="";this._textArea.style.display="none";this.activateEditor();if(this.config.statusBar){this._statusBarTree.style.display="";this._statusBarTextMode.style.display="none"}this.findCC("iframe");this.notifyOf("modechange",{mode:"wysiwyg"});this.firePluginEvent("onMode","wysiwyg");break;default:alert("Mode <"+b+"> not defined!");return false}this._editMode=b};Xinha.prototype.setFullHTML=function(c){var a=RegExp.multiline;RegExp.multiline=true;if(c.match(Xinha.RE_doctype)){this.setDoctype(RegExp.$1)}RegExp.multiline=a;if(0){if(c.match(Xinha.RE_head)){this._doc.getElementsByTagName("head")[0].innerHTML=RegExp.$1}if(c.match(Xinha.RE_body)){this._doc.getElementsByTagName("body")[0].innerHTML=RegExp.$1}}else{var d=this.editorIsActivated();if(d){this.deactivateEditor()}var b=/((.|\n)*?)<\/html>/i;c=c.replace(b,"$1");this._doc.open("text/html","replace");this._doc.write(c);this._doc.close();if(d){this.activateEditor()}this.setEditorEvents();return true}};Xinha.prototype.setEditorEvents=function(c){var a=this;var b=this._doc;a.whenDocReady(function(){if(!c){Xinha._addEvents(b,["mousedown"],function(){a.activateEditor();return true});if(Xinha.is_ie){Xinha._addEvent(a._doc.getElementsByTagName("html")[0],"click",function(){if(a._iframe.contentWindow.event.srcElement.tagName.toLowerCase()=="html"){var f=a._doc.body.createTextRange();f.collapse();f.select()}return true})}}Xinha._addEvents(b,["keydown","keypress","mousedown","mouseup","drag"],function(f){return a._editorEvent(Xinha.is_ie?a._iframe.contentWindow.event:f)});Xinha._addEvents(b,["dblclick"],function(f){return a._onDoubleClick(Xinha.is_ie?a._iframe.contentWindow.event:f)});if(c){return}for(var e in a.plugins){var d=a.plugins[e].instance;Xinha.refreshPlugin(d)}if(typeof a._onGenerate=="function"){a._onGenerate()}Xinha.addDom0Event(window,"resize",function(f){if(Xinha.ie_version>7&&!window.parent){if(a.execResize){a.sizeEditor();a.execResize=false}else{a.execResize=true}}else{a.sizeEditor()}});a.removeLoadingMessage()})};Xinha.getPluginConstructor=function(a){return Xinha.plugins[a]||window[a]};Xinha.prototype.registerPlugin=function(){if(!Xinha.isSupportedBrowser){return}var a=arguments[0];if(a===null||typeof a=="undefined"||(typeof a=="string"&&Xinha.getPluginConstructor(a)=="undefined")){return false}var b=[];for(var c=1;c=1){if(arguments[a][0].match(/\.css$/i)){b.loadStyle(arguments[a][0],arguments[a][1])}else{b.loadScript(arguments[a][0],arguments[a][1])}}}}}return b};Xinha.prototype.debugTree=function(){var c=document.createElement("textarea");c.style.width="100%";c.style.height="20em";c.value="";function b(d,e){for(;--d>=0;){c.value+=" "}c.value+=e+"\n"}function a(e,h){var d=e.tagName.toLowerCase(),f;var g=Xinha.is_ie?e.scopeName:e.prefix;b(h,"- "+d+" ["+g+"]");for(f=e.firstChild;f;f=f.nextSibling){if(f.nodeType==1){a(f,h+2)}}}a(this._doc.body,0);document.body.appendChild(c)};Xinha.getInnerText=function(c){var a="",b;for(b=c.firstChild;b;b=b.nextSibling){if(b.nodeType==3){a+=b.data}else{if(b.nodeType==1){a+=Xinha.getInnerText(b)}}}return a};Xinha.prototype._wordClean=function(){var b=this;var e={empty_tags:0,cond_comm:0,mso_elmts:0,mso_class:0,mso_style:0,mso_xmlel:0,orig_len:this._doc.body.innerHTML.length,T:new Date().getTime()};var g={empty_tags:"Empty tags removed: ",cond_comm:"Conditional comments removed",mso_elmts:"MSO invalid elements removed",mso_class:"MSO class names removed: ",mso_style:"MSO inline style removed: ",mso_xmlel:"MSO XML elements stripped: "};function f(){var j="Xinha word cleaner stats: \n\n";for(var k in e){if(g[k]){j+=g[k]+e[k]+"\n"}}j+="\nInitial document length: "+e.orig_len+"\n";j+="Final document length: "+b._doc.body.innerHTML.length+"\n";j+="Clean-up took "+((new Date().getTime()-e.T)/1000)+" seconds";alert(j)}function h(j){var k=j.className.replace(/(^|\s)mso.*?(\s|$)/ig," ");if(k!=j.className){j.className=k;if(!/\S/.test(j.className)){j.removeAttribute("className");++e.mso_class}}}function a(k){var l=k.style.cssText.split(/\s*;\s*/);for(var j=l.length;--j>=0;){if(/^mso|^tab-stops/i.test(l[j])||/^margin\s*:\s*0..\s+0..\s+0../i.test(l[j])){++e.mso_style;l.splice(j,1)}}k.style.cssText=l.join("; ")}function c(j){if(("link"==j.tagName.toLowerCase()&&(j.attributes&&/File-List|Edit-Time-Data|themeData|colorSchemeMapping/.test(j.attributes.rel.nodeValue)))||/^(style|meta)$/i.test(j.tagName)){Xinha.removeFromParent(j);++e.mso_elmts;return true}return false}function d(j){if(/^(a|span|b|strong|i|em|font|div|p)$/i.test(j.tagName)&&!j.firstChild){Xinha.removeFromParent(j);++e.empty_tags;return true}return false}function i(j){h(j);a(j);var m;for(var l=j.firstChild;l;l=m){m=l.nextSibling;if(l.nodeType==1&&i(l)){if((Xinha.is_ie&&j.scopeName!="HTML")||(!Xinha.is_ie&&/:/.test(l.tagName))){for(var k=l.childNodes&&l.childNodes.length-1;l.childNodes&&l.childNodes.length&&l.childNodes[k];--k){if(l.nextSibling){l.parentNode.insertBefore(l.childNodes[k],l.nextSibling)}else{l.parentNode.appendChild(l.childNodes[k])}}Xinha.removeFromParent(l);continue}if(d(l)){continue}if(c(l)){continue}}else{if(l.nodeType==8){if(/(\s*\[\s*if\s*(([gl]te?|!)\s*)?(IE|mso)\s*(\d+(\.\d+)?\s*)?\]>)/.test(l.nodeValue)){Xinha.removeFromParent(l);++e.cond_comm}}}}return true}i(this._doc.body);this.updateToolbar()};Xinha.prototype._clearFonts=function(){var a=this.getInnerHTML();if(confirm(Xinha._lc("Would you like to clear font typefaces?"))){a=a.replace(/face="[^"]*"/gi,"");a=a.replace(/font-family:[^;}"']+;?/gi,"")}if(confirm(Xinha._lc("Would you like to clear font sizes?"))){a=a.replace(/size="[^"]*"/gi,"");a=a.replace(/font-size:[^;}"']+;?/gi,"")}if(confirm(Xinha._lc("Would you like to clear font colours?"))){a=a.replace(/color="[^"]*"/gi,"");a=a.replace(/([^\-])color:[^;}"']+;?/gi,"$1")}a=a.replace(/(style|class)="\s*"/gi,"");a=a.replace(/<(font|span)\s*>/gi,"");this.setHTML(a);this.updateToolbar()};Xinha.prototype._splitBlock=function(){this._doc.execCommand("formatblock",false,"div")};Xinha.prototype.forceRedraw=function(){this._doc.body.style.visibility="hidden";this._doc.body.style.visibility=""};Xinha.prototype.focusEditor=function(){switch(this._editMode){case"wysiwyg":try{if(Xinha._someEditorHasBeenActivated){this.activateEditor();this._iframe.contentWindow.focus()}}catch(a){}break;case"textmode":try{this._textArea.focus()}catch(b){}break;default:alert("ERROR: mode "+this._editMode+" is not defined")}return this._doc};Xinha.prototype._undoTakeSnapshot=function(){++this._undoPos;if(this._undoPos>=this.config.undoSteps){this._undoQueue.shift();--this._undoPos}var b=true;var a=this.getInnerHTML();if(this._undoPos>0){b=(this._undoQueue[this._undoPos-1]!=a)}if(b){this._undoQueue[this._undoPos]=a}else{this._undoPos--}};Xinha.prototype.undo=function(){if(this._undoPos>0){var a=this._undoQueue[--this._undoPos];if(a){this.setHTML(a)}else{++this._undoPos}}};Xinha.prototype.redo=function(){if(this._undoPos=0;){var el=ancestors[i];if(!el){continue}var a=document.createElement("a");a.href="javascript:void(0);";a.el=el;a.editor=this;this._statusBarItems.push(a);Xinha.addDom0Event(a,"click",function(){this.blur();this.editor.selectNodeContents(this.el);this.editor.updateToolbar(true);return false});Xinha.addDom0Event(a,"contextmenu",function(){this.blur();var info="Inline style:\n\n";info+=this.el.style.cssText.split(/;\s*/).join(";\n");alert(info);return false});var txt=el.tagName.toLowerCase();switch(txt){case"b":txt="strong";break;case"i":txt="em";break;case"strike":txt="del";break}if(typeof el.style!="undefined"){a.title=el.style.cssText}if(el.id){txt+="#"+el.id}if(el.className){txt+="."+el.className}a.appendChild(document.createTextNode(txt));this._statusBarTree.appendChild(a);if(i!==0){this._statusBarTree.appendChild(document.createTextNode(String.fromCharCode(187)))}Xinha.freeLater(a)}}}for(var cmd in this._toolbarObjects){var btn=this._toolbarObjects[cmd];var inContext=true;if(typeof btn.state!="function"){continue}if(btn.context&&!text){inContext=false;var context=btn.context;var attrs=[];if(/(.*)\[(.*?)\]/.test(context)){context=RegExp.$1;attrs=RegExp.$2.split(",")}context=context.toLowerCase();var match=(context=="*");for(var k=0;k|>=|<|<=)(.*)/);att=contextSplit[1];comp=contextSplit[2];attVal=contextSplit[3];if(!eval(ancestors[k][att]+comp+attVal)){inContext=false;break}}if(inContext){break}}}}btn.state("enabled",(!text||btn.text)&&inContext);if(typeof cmd=="function"){continue}var dropdown=this.config.customSelects[cmd];if((!text||btn.text)&&(typeof dropdown!="undefined")){dropdown.refresh(this);continue}switch(cmd){case"fontname":case"fontsize":if(!text){try{var value=(""+doc.queryCommandValue(cmd)).toLowerCase();if(!value){btn.element.selectedIndex=0;break}var options=this.config[cmd];var sIndex=0;for(var j in options){if((j.toLowerCase()==value)||(options[j].substr(0,value.length).toLowerCase()==value)){btn.element.selectedIndex=sIndex;throw"ok"}++sIndex}btn.element.selectedIndex=0}catch(ex){}}break;case"formatblock":var blocks=[];for(var indexBlock in this.config.formatblock){if(typeof this.config.formatblock[indexBlock]=="string"){blocks[blocks.length]=this.config.formatblock[indexBlock]}}var deepestAncestor=this._getFirstAncestor(this.getSelection(),blocks);if(deepestAncestor){for(var x=0;x"}this.execCommand(a,false,c);break;default:var d=this.config.customSelects[a];if(typeof d!="undefined"){d.action(this,c,b,a)}else{alert("FIXME: combo box "+a+" not implemented")}break}};Xinha.prototype._colorSelector=function(h){var d=this;if(Xinha.is_gecko){try{d._doc.execCommand("useCSS",false,false);d._doc.execCommand("styleWithCSS",false,true)}catch(g){}}var f=d._toolbarObjects[h].element;var c;if(h=="hilitecolor"){if(Xinha.is_ie){h="backcolor";c=Xinha._colorToRgb(d._doc.queryCommandValue("backcolor"))}else{c=Xinha._colorToRgb(d._doc.queryCommandValue("hilitecolor"))}}else{c=Xinha._colorToRgb(d._doc.queryCommandValue("forecolor"))}var b=function(i){d._doc.execCommand(h,false,i)};if(Xinha.is_ie){var a=d.createRange(d.getSelection());b=function(i){a.select();d._doc.execCommand(h,false,i)}}var e=new Xinha.colorPicker({cellsize:d.config.colorPickerCellSize,callback:b,granularity:d.config.colorPickerGranularity,websafe:d.config.colorPickerWebSafe,savecolors:d.config.colorPickerSaveColors});e.open(d.config.colorPickerPosition,f,c)};Xinha.prototype.execCommand=function(h,f,g){var a=this;this.focusEditor();h=h.toLowerCase();if(this.firePluginEvent("onExecCommand",h,f,g)){this.updateToolbar();return false}switch(h){case"htmlmode":this.setMode();break;case"hilitecolor":case"forecolor":this._colorSelector(h);break;case"createlink":this._createLink();break;case"undo":case"redo":if(this._customUndo){this[h]()}else{this._doc.execCommand(h,f,g)}break;case"inserttable":this._insertTable();break;case"insertimage":this._insertImage();break;case"showhelp":this._popupDialog(a.config.URIs.help,null,this);break;case"killword":this._wordClean();break;case"cut":case"copy":case"paste":this._doc.execCommand(h,f,g);if(this.config.killWordOnPaste){this._wordClean()}break;case"lefttoright":case"righttoleft":if(this.config.changeJustifyWithDirection){this._doc.execCommand((h=="righttoleft")?"justifyright":"justifyleft",f,g)}var b=(h=="righttoleft")?"rtl":"ltr";var e=this.getParentElement();while(e&&!Xinha.isBlockElement(e)){e=e.parentNode}if(e){if(e.style.direction==b){e.style.direction=""}else{e.style.direction=b}}break;case"justifyleft":case"justifyright":h.match(/^justify(.*)$/);var d=this.activeElement(this.getSelection());if(d&&d.tagName.toLowerCase()=="img"){d.align=d.align==RegExp.$1?"":RegExp.$1}else{this._doc.execCommand(h,f,g)}break;default:try{this._doc.execCommand(h,f,g)}catch(c){if(this.config.debug){alert(c+"\n\nby execCommand("+h+");")}}break}this.updateToolbar();return false};Xinha.prototype._editorEvent=function(b){var a=this;if(typeof a._textArea["on"+b.type]=="function"){a._textArea["on"+b.type](b)}if(this.isKeyEvent(b)){if(a.firePluginEvent("onKeyPress",b)){return false}if(this.isShortCut(b)){this._shortCuts(b)}}if(b.type=="mousedown"){if(a.firePluginEvent("onMouseDown",b)){return false}}if(a._timerToolbar){clearTimeout(a._timerToolbar)}if(!this.suspendUpdateToolbar){a._timerToolbar=setTimeout(function(){a.updateToolbar();a._timerToolbar=null},250)}};Xinha.prototype._onDoubleClick=function(d){var c=this;var e=Xinha.is_ie?d.srcElement:d.target;var a=e.tagName;var b=e.className;if(a){a=a.toLowerCase();if(b&&(this.config.dblclickList[a+"."+b]!=undefined)){this.config.dblclickList[a+"."+b][0](c,e)}else{if(this.config.dblclickList[a]!=undefined){this.config.dblclickList[a][0](c,e)}}}};Xinha.prototype._shortCuts=function(b){var a=this.getKey(b).toLowerCase();var d=null;var c=null;switch(a){case"b":d="bold";break;case"i":d="italic";break;case"u":d="underline";break;case"s":d="strikethrough";break;case"l":d="justifyleft";break;case"e":d="justifycenter";break;case"r":d="justifyright";break;case"j":d="justifyfull";break;case"z":d="undo";break;case"y":d="redo";break;case"v":d="paste";break;case"n":d="formatblock";c="p";break;case"0":d="killword";break;case"1":case"2":case"3":case"4":case"5":case"6":d="formatblock";c="h"+a;break}if(d){this.execCommand(d,false,c);Xinha._stopEvent(b)}};Xinha.prototype.convertNode=function(a,c){var b=this._doc.createElement(c);while(a.firstChild){b.appendChild(a.firstChild)}return b};Xinha.prototype.scrollToElement=function(b){if(!b){b=this.getParentElement();if(!b){return}}var a=Xinha.getElementTopLeft(b);this._iframe.contentWindow.scrollTo(a.left,a.top)};Xinha.prototype.getEditorContent=function(){return this.outwardHtml(this.getHTML())};Xinha.prototype.setEditorContent=function(a){this.setHTML(this.inwardHtml(a))};Xinha.updateTextareas=function(){var b;for(var a=0;a<__xinhas.length;a++){b=__xinhas[a];b._textArea.value=b.getEditorContent()}};Xinha.prototype.getHTML=function(){var a="";switch(this._editMode){case"wysiwyg":if(!this.config.fullPage){a=Xinha.getHTML(this._doc.body,false,this).trim()}else{a=this.doctype+"\n"+Xinha.getHTML(this._doc.documentElement,true,this)}break;case"textmode":a=this._textArea.value;break;default:alert("Mode <"+this._editMode+"> not defined!");return false}return a};Xinha.prototype.outwardHtml=function(d){for(var c in this.plugins){var a=this.plugins[c].instance;if(a&&typeof a.outwardHtml=="function"){d=a.outwardHtml(d)}}d=d.replace(/<(\/?)b(\s|>|\/)/ig,"<$1strong$2");d=d.replace(/<(\/?)i(\s|>|\/)/ig,"<$1em$2");d=d.replace(/<(\/?)strike(\s|>|\/)/ig,"<$1del$2");d=d.replace(/(<[^>]*on(click|mouse(over|out|up|down))=['"])if\(window\.parent && window\.parent\.Xinha\)\{return false\}/gi,"$1");var b=location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/";d=d.replace(/https?:\/\/null\//g,b);d=d.replace(/((href|src|background)=[\'\"])\/+/ig,"$1"+b);d=this.outwardSpecialReplacements(d);d=this.fixRelativeLinks(d);if(this.config.sevenBitClean){d=d.replace(/[^ -~\r\n\t]/g,function(e){return(e!=Xinha.cc)?"&#"+e.charCodeAt(0)+";":e})}d=d.replace(/(]*((type=[\"\']text\/)|(language=[\"\'])))(freezescript)/gi,"$1javascript");if(this.config.fullPage){d=Xinha.stripCoreCSS(d)}if(typeof this.config.outwardHtml=="function"){d=this.config.outwardHtml(d)}return d};Xinha.prototype.inwardHtml=function(c){for(var b in this.plugins){var a=this.plugins[b].instance;if(a&&typeof a.inwardHtml=="function"){c=a.inwardHtml(c)}}c=c.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");c=c.replace(/(<[^>]*on(click|mouse(over|out|up|down))=["'])/gi,"$1if(window.parent && window.parent.Xinha){return false}");c=this.inwardSpecialReplacements(c);c=c.replace(/(]*((type=[\"\']text\/)|(language=[\"\'])))(javascript)/gi,"$1freezescript");var d=new RegExp("((href|src|background)=['\"])/+","gi");c=c.replace(d,"$1"+location.href.replace(/(https?:\/\/[^\/]*)\/.*/,"$1")+"/");c=this.fixRelativeLinks(c);if(this.config.fullPage){c=Xinha.addCoreCSS(c)}if(typeof this.config.inwardHtml=="function"){c=this.config.inwardHtml(c)}return c};Xinha.prototype.outwardSpecialReplacements=function(b){for(var a in this.config.specialReplacements){var e=this.config.specialReplacements[a];var d=a;if(typeof e.replace!="function"||typeof d.replace!="function"){continue}var c=new RegExp(Xinha.escapeStringForRegExp(e),"g");b=b.replace(c,d.replace(/\$/g,"$$$$"))}return b};Xinha.prototype.inwardSpecialReplacements=function(b){for(var a in this.config.specialReplacements){var e=a;var d=this.config.specialReplacements[a];if(typeof e.replace!="function"||typeof d.replace!="function"){continue}var c=new RegExp(Xinha.escapeStringForRegExp(e),"g");b=b.replace(c,d.replace(/\$/g,"$$$$"))}return b};Xinha.prototype.fixRelativeLinks=function(f){if(typeof this.config.expandRelativeUrl!="undefined"&&this.config.expandRelativeUrl){if(f==null){return""}var c=f.match(/(src|href)="([^"]*)"/gi);var j=document.location.href;if(c){var d,l,k,m,h;for(var e=0;e not defined!");return false}return a};Xinha.prototype.setHTML=function(a){if(!this.config.fullPage){this._doc.body.innerHTML=a}else{this.setFullHTML(a)}this._textArea.value=a};Xinha.prototype.setDoctype=function(a){this.doctype=a};Xinha._object=null;Array.prototype.isArray=true;RegExp.prototype.isRegExp=true;Xinha.cloneObject=function(obj){if(!obj){return null}var newObj=obj.isArray?[]:{};if(obj.constructor.toString().match(/\s*function Function\(/)||typeof obj=="function"){newObj=obj}else{if(obj.isRegExp){newObj=eval(obj.toString())}else{for(var n in obj){var node=obj[n];if(typeof node=="object"){newObj[n]=Xinha.cloneObject(node)}else{newObj[n]=node}}}}return newObj};Xinha.extend=function(a,c){function b(){}b.prototype=c.prototype;a.prototype=new b();a.prototype.constructor=a;a.parentConstructor=c;a.superClass=c.prototype};Xinha.flushEvents=function(){var a=0;var c=Xinha._eventFlushers.pop();while(c){try{if(c.length==3){Xinha._removeEvent(c[0],c[1],c[2]);a++}else{if(c.length==2){c[0]["on"+c[1]]=null;c[0]._xinha_dom0Events[c[1]]=null;a++}}}catch(b){}c=Xinha._eventFlushers.pop()}};Xinha._eventFlushers=[];if(document.addEventListener){Xinha._addEvent=function(b,a,c){b.addEventListener(a,c,false);Xinha._eventFlushers.push([b,a,c])};Xinha._removeEvent=function(b,a,c){b.removeEventListener(a,c,false)};Xinha._stopEvent=function(a){a.preventDefault();a.stopPropagation()}}else{if(document.attachEvent){Xinha._addEvent=function(b,a,c){b.attachEvent("on"+a,c);Xinha._eventFlushers.push([b,a,c])};Xinha._removeEvent=function(b,a,c){b.detachEvent("on"+a,c)};Xinha._stopEvent=function(b){try{b.cancelBubble=true;b.returnValue=false}catch(a){}}}else{Xinha._addEvent=function(b,a,c){alert("_addEvent is not supported")};Xinha._removeEvent=function(b,a,c){alert("_removeEvent is not supported")};Xinha._stopEvent=function(a){alert("_stopEvent is not supported")}}}Xinha._addEvents=function(c,a,d){for(var b=a.length;--b>=0;){Xinha._addEvent(c,a[b],d)}};Xinha._removeEvents=function(c,a,d){for(var b=a.length;--b>=0;){Xinha._removeEvent(c,a[b],d)}};Xinha.addOnloadHandler=function(b,a){a=a?a:window;var c=function(){if(arguments.callee.done){return}arguments.callee.done=true;if(Xinha.onloadTimer){clearInterval(Xinha.onloadTimer)}b()};if(Xinha.is_ie){document.attachEvent("onreadystatechange",function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",arguments.callee);c()}});if(document.documentElement.doScroll&&typeof window.frameElement==="undefined"){(function(){if(arguments.callee.done){return}try{document.documentElement.doScroll("left")}catch(d){setTimeout(arguments.callee,0);return}c()})()}}else{if(/applewebkit|KHTML/i.test(navigator.userAgent)){Xinha.onloadTimer=a.setInterval(function(){if(/loaded|complete/.test(a.document.readyState)){c()}},10)}else{a.document.addEventListener("DOMContentLoaded",c,false)}}Xinha._addEvent(a,"load",c)};Xinha.addDom0Event=function(b,c,a){Xinha._prepareForDom0Events(b,c);b._xinha_dom0Events[c].unshift(a)};Xinha.prependDom0Event=function(b,c,a){Xinha._prepareForDom0Events(b,c);b._xinha_dom0Events[c].push(a)};Xinha.getEvent=function(a){return a||window.event};Xinha._prepareForDom0Events=function(a,b){if(typeof a._xinha_dom0Events=="undefined"){a._xinha_dom0Events={};Xinha.freeLater(a,"_xinha_dom0Events")}if(typeof a._xinha_dom0Events[b]=="undefined"){a._xinha_dom0Events[b]=[];if(typeof a["on"+b]=="function"){a._xinha_dom0Events[b].push(a["on"+b])}a["on"+b]=function(e){var c=a._xinha_dom0Events[b];var f=true;for(var d=c.length;--d>=0;){a._xinha_tempEventHandler=c[d];if(a._xinha_tempEventHandler(e)===false){a._xinha_tempEventHandler=null;f=false;break}a._xinha_tempEventHandler=null}return f};Xinha._eventFlushers.push([a,b])}};Xinha.prototype.notifyOn=function(b,a){if(typeof this._notifyListeners[b]=="undefined"){this._notifyListeners[b]=[];Xinha.freeLater(this,"_notifyListeners")}this._notifyListeners[b].push(a)};Xinha.prototype.notifyOf=function(c,a){if(this._notifyListeners[c]){for(var b=0;b/ig,">");a=a.replace(/\xA0/g," ");a=a.replace(/\x22/g,""");return a};Xinha.prototype.stripBaseURL=function(b){if(this.config.baseHref===null||!this.config.stripBaseHref){return b}var c=this.config.baseHref.replace(/^(https?:\/\/[^\/]+)(.*)$/,"$1");var a=new RegExp(c);return b.replace(a,"")};if(typeof String.prototype.trim!="function"){String.prototype.trim=function(){return this.replace(/^\s+/,"").replace(/\s+$/,"")}}Xinha._makeColor=function(c){if(typeof c!="number"){return c}var e=c&255;var d=(c>>8)&255;var a=(c>>16)&255;return"rgb("+e+","+d+","+a+")"};Xinha._colorToRgb=function(c){if(!c){return""}var h,f,a;function e(b){return(b<16)?("0"+b.toString(16)):b.toString(16)}if(typeof c=="number"){h=c&255;f=(c>>8)&255;a=(c>>16)&255;return"#"+e(h)+e(f)+e(a)}if(c.substr(0,3)=="rgb"){var d=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/;if(c.match(d)){h=parseInt(RegExp.$1,10);f=parseInt(RegExp.$2,10);a=parseInt(RegExp.$3,10);return"#"+e(h)+e(f)+e(a)}return null}if(c.substr(0,1)=="#"){return c}return null};Xinha.prototype._popupDialog=function(b,a,c){Dialog(this.popupURL(b),a,c)};Xinha.prototype.imgURL=function(b,a){if(typeof a=="undefined"){return _editor_url+b}else{return Xinha.getPluginDir(a)+"/img/"+b}};Xinha.prototype.popupURL=function(d){var c="";if(d.match(/^plugin:\/\/(.*?)\/(.*)/)){var b=RegExp.$1;var a=RegExp.$2;if(!/\.(html?|php)$/.test(a)){a+=".html"}c=Xinha.getPluginDir(b)+"/popups/"+a}else{if(d.match(/^\/.*?/)||d.match(/^https?:\/\//)){c=d}else{c=_editor_url+this.config.popupURL+d}}return c};Xinha.getElementById=function(a,e){var c,b,d=document.getElementsByTagName(a);for(b=d.length;--b>=0&&(c=d[b]);){if(c.id==e){return c}}return null};Xinha.prototype._toggleBorders=function(){var a=this._doc.getElementsByTagName("TABLE");if(a.length!==0){if(!this.borders){this.borders=true}else{this.borders=false}for(var b=0;b/i.test(b)){return b.replace(//i,""+a)}else{if(b){return a+b}else{return a}}};Xinha.prototype.addEditorStylesheet=function(a){var b=this._doc.createElement("link");b.rel="stylesheet";b.type="text/css";b.title="XinhaInternalCSS";b.href=a;this._doc.getElementsByTagName("HEAD")[0].appendChild(b)};Xinha.stripCoreCSS=function(a){return a.replace(/]+title="XinhaInternalCSS"(.|\n)*?<\/style>/ig,"").replace(/]+title="XinhaInternalCSS"(.|\n)*?>/ig,"")};Xinha._removeClass=function(e,c){if(!(e&&e.className)){return}var a=e.className.split(" ");var b=[];for(var d=a.length;d>0;){if(a[--d]!=c){b[b.length]=a[d]}}e.className=b.join(" ")};Xinha._addClass=function(b,a){Xinha._removeClass(b,a);b.className+=" "+a};Xinha.addClasses=function(g,e){if(g!==null){var f=g.className.trim().split(" ");var d=e.split(" ");for(var a=0;a0;){if(a[--c]==b){return true}}return false};Xinha._postback_send_charset=true;Xinha._postback=function(b,g,h,d){var f=null;f=Xinha.getXMLHTTPRequestObject();var e="";if(typeof g=="string"){e=g}else{if(typeof g=="object"){for(var c in g){e+=(e.length?"&":"")+c+"="+encodeURIComponent(g[c])}}}function a(){if(f.readyState==4){if(((f.status/100)==2)||Xinha.isRunLocally&&f.status===0){if(typeof h=="function"){h(f.responseText,f)}}else{if(Xinha._postback_send_charset){Xinha._postback_send_charset=false;Xinha._postback(b,g,h,d)}else{if(typeof d=="function"){d(f)}else{alert("An error has occurred: "+f.statusText+"\nURL: "+b)}}}}}f.onreadystatechange=a;f.open("POST",b,true);f.setRequestHeader("Content-Type","application/x-www-form-urlencoded"+(Xinha._postback_send_charset?"; charset=UTF-8":""));f.send(e)};Xinha._getback=function(b,e,c){var d=null;d=Xinha.getXMLHTTPRequestObject();function a(){if(d.readyState==4){if(((d.status/100)==2)||Xinha.isRunLocally&&d.status===0){e(d.responseText,d)}else{if(typeof c=="function"){c(d)}else{alert("An error has occurred: "+d.statusText+"\nURL: "+b)}}}}d.onreadystatechange=a;d.open("GET",b,true);d.send(null)};Xinha.ping=function(d,c,b){var e=null;e=Xinha.getXMLHTTPRequestObject();function a(){if(e.readyState==4){if(((e.status/100)==2)||Xinha.isRunLocally&&e.status===0){if(c){c(e)}}else{if(b){b(e)}}}}var f="GET";e.onreadystatechange=a;e.open(f,d,true);e.send(null)};Xinha._geturlcontent=function(a,c){var b=null;b=Xinha.getXMLHTTPRequestObject();b.open("GET",a,false);b.send(null);if(((b.status/100)==2)||Xinha.isRunLocally&&b.status===0){return(c)?b.responseXML:b.responseText}else{return""}};if(typeof dumpValues=="undefined"){dumpValues=function(c){var b="";for(var d in c){if(window.console&&typeof window.console.log=="function"){if(typeof console.firebug!="undefined"){console.log(c)}else{console.log(d+" = "+c[d]+"\n")}}else{b+=d+" = "+c[d]+"\n"}}if(b){if(document.getElementById("errors")){document.getElementById("errors").value+=b}else{var a=window.open("","debugger");a.document.write("
"+b+"
")}}}}if(!Array.prototype.contains){Array.prototype.contains=function(c){var b=this;for(var a=0;a>2;j=((k&3)<<4)|(h>>4);f=((h&15)<<2)|(g>>6);e=g&63;if(isNaN(h)){f=e=64}else{if(isNaN(g)){e=64}}b=b+c.charAt(l)+c.charAt(j)+c.charAt(f)+c.charAt(e)}while(a>4);h=((j&15)<<4)|(f>>2);g=((f&3)<<6)|e;b=b+String.fromCharCode(k);if(f!=64){b=b+String.fromCharCode(h)}if(e!=64){b=b+String.fromCharCode(g)}}while(ab){a=d.document.body.scrollWidth;e=d.document.body.scrollHeight}else{a=d.document.documentElement.scrollWidth;e=d.document.documentElement.scrollHeight}return{x:a,y:e}};Xinha.prototype.scrollPos=function(b){b=(b)?b:window;var a,c;if(typeof b.pageYOffset!="undefined"){a=b.pageXOffset;c=b.pageYOffset}else{if(b.document.documentElement&&typeof document.documentElement.scrollTop!="undefined"){a=b.document.documentElement.scrollLeft;c=b.document.documentElement.scrollTop}else{if(b.document.body){a=b.document.body.scrollLeft;c=b.document.body.scrollTop}}}return{x:a,y:c}};Xinha.getElementTopLeft=function(b){var c=0;var a=0;if(b.offsetParent){c=b.offsetLeft;a=b.offsetTop;while(b=b.offsetParent){c+=b.offsetLeft;a+=b.offsetTop}}return{top:a,left:c}};Xinha.findPosX=function(a){var b=0;if(a.offsetParent){return Xinha.getElementTopLeft(a).left}else{if(a.x){b+=a.x}}return b};Xinha.findPosY=function(b){var a=0;if(b.offsetParent){return Xinha.getElementTopLeft(b).top}else{if(b.y){a+=b.y}}return a};Xinha.createLoadingMessages=function(b){if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){return}Xinha.loadingMessages=[];for(var a=0;a=9.1)||Xinha.ie_version>=5.5||Xinha.is_safari; -Xinha.loadPlugins=function(_1,_2){ -if(!Xinha.isSupportedBrowser){ -return; -} -Xinha.loadStyle(typeof _editor_css=="string"?_editor_css:"Xinha.css","XinhaCoreDesign"); -Xinha.createLoadingMessages(xinha_editors); -var _3=Xinha.loadingMessages; -Xinha._loadback(_editor_url+"XinhaCore.js",function(){ -Xinha.removeLoadingMessages(xinha_editors); -Xinha.createLoadingMessages(xinha_editors); -_2(); -}); -return false; -}; -Xinha._loadback=function(_4,_5,_6,_7){ -var T=!Xinha.is_ie?"onload":"onreadystatechange"; -var S=document.createElement("script"); -S.type="text/javascript"; -S.src=_4; -if(_5){ -S[T]=function(){ -if(Xinha.is_ie&&(!(/loaded|complete/.test(window.event.srcElement.readyState)))){ -return; -} -_5.call(_6?_6:this,_7); -S[T]=null; -}; -} -document.getElementsByTagName("head")[0].appendChild(S); -}; -Xinha.getElementTopLeft=function(_a){ -var _b=curtop=0; -if(_a.offsetParent){ -_b=_a.offsetLeft; -curtop=_a.offsetTop; -while(_a=_a.offsetParent){ -_b+=_a.offsetLeft; -curtop+=_a.offsetTop; -} -} -return {top:curtop,left:_b}; -}; -Xinha.findPosX=function(_c){ -var _d=0; -if(_c.offsetParent){ -return Xinha.getElementTopLeft(_c).left; -}else{ -if(_c.x){ -_d+=_c.x; -} -} -return _d; -}; -Xinha.findPosY=function(_e){ -var _f=0; -if(_e.offsetParent){ -return Xinha.getElementTopLeft(_e).top; -}else{ -if(_e.y){ -_f+=_e.y; -} -} -return _f; -}; -Xinha.createLoadingMessages=function(_10){ -if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){ -return; -} -Xinha.loadingMessages=[]; -for(var i=0;i<_10.length;i++){ -if(!document.getElementById(_10[i])){ -continue; -} -Xinha.loadingMessages.push(Xinha.createLoadingMessage(document.getElementById(_10[i]))); -} -}; -Xinha.createLoadingMessage=function(_12,_13){ -if(document.getElementById("loading_"+_12.id)||!Xinha.isSupportedBrowser){ -return; -} -var _14=document.createElement("div"); -_14.id="loading_"+_12.id; -_14.className="loading"; -_14.style.left=(Xinha.findPosX(_12)+_12.offsetWidth/2)-106+"px"; -_14.style.top=(Xinha.findPosY(_12)+_12.offsetHeight/2)-50+"px"; -var _15=document.createElement("div"); -_15.className="loading_main"; -_15.id="loading_main_"+_12.id; -_15.appendChild(document.createTextNode(Xinha._lc("Loading in progress. Please wait!"))); -var _16=document.createElement("div"); -_16.className="loading_sub"; -_16.id="loading_sub_"+_12.id; -_13=_13?_13:Xinha._lc("Loading Core"); -_16.appendChild(document.createTextNode(_13)); -_14.appendChild(_15); -_14.appendChild(_16); -document.body.appendChild(_14); -return _16; -}; -Xinha.loadStyle=function(_17,id){ -var url=_editor_url||""; -url+=_17; -var _1a=document.getElementsByTagName("head")[0]; -var _1b=document.createElement("link"); -_1b.rel="stylesheet"; -_1b.href=url; -if(id){ -_1b.id=id; -} -_1a.appendChild(_1b); -}; -Xinha._lc=function(_1c){ -return _1c; -}; -Xinha._addEvent=function(el,_1e,_1f){ -if(document.addEventListener){ -el.addEventListener(_1e,_1f,true); -}else{ -el.attachEvent("on"+_1e,_1f); -} -}; -Xinha.addOnloadHandler=function(_20){ -var _21=function(){ -if(arguments.callee.done){ -return; -} -arguments.callee.done=true; -if(Xinha.onloadTimer){ -clearInterval(Xinha.onloadTimer); -} -_20.call(); -}; -if(Xinha.is_ie){ -document.write(""); -var _22=document.getElementById("__ie_onload"); -_22.onreadystatechange=function(){ -if(this.readyState=="loaded"){ -_21(); -} -}; -}else{ -if(/WebKit/i.test(navigator.userAgent)){ -Xinha.onloadTimer=setInterval(function(){ -if(/loaded|complete/.test(document.readyState)){ -_21(); -} -},10); -}else{ -document.addEventListener("DOMContentLoaded",_21,false); -} -} -}; - +var Xinha={};if(!window._editor_url){(function(){var scripts=document.getElementsByTagName("script");var this_script=scripts[scripts.length-1];var args=this_script.src.split("?");args=args.length==2?args[1].split("&"):"";for(var index=0;index=9.1)||Xinha.ie_version>=5.5||Xinha.is_safari;Xinha.loadPlugins=function(b,a){if(!Xinha.isSupportedBrowser){return}Xinha.loadStyle(typeof _editor_css=="string"?_editor_css:"Xinha.css","XinhaCoreDesign");Xinha.createLoadingMessages(xinha_editors);var c=Xinha.loadingMessages;Xinha._loadback(_editor_url+"XinhaCore.js",function(){Xinha.removeLoadingMessages(xinha_editors);Xinha.createLoadingMessages(xinha_editors);a()});return false};Xinha._loadback=function(f,e,a,d){var b=!Xinha.is_ie?"onload":"onreadystatechange";var c=document.createElement("script");c.type="text/javascript";c.src=f;if(e){c[b]=function(){if(Xinha.is_ie&&(!(/loaded|complete/.test(window.event.srcElement.readyState)))){return}e.call(a?a:this,d);c[b]=null}}document.getElementsByTagName("head")[0].appendChild(c)};Xinha.getElementTopLeft=function(b){var c=0;var a=0;if(b.offsetParent){c=b.offsetLeft;a=b.offsetTop;while(b=b.offsetParent){c+=b.offsetLeft;a+=b.offsetTop}}return{top:a,left:c}};Xinha.findPosX=function(a){var b=0;if(a.offsetParent){return Xinha.getElementTopLeft(a).left}else{if(a.x){b+=a.x}}return b};Xinha.findPosY=function(b){var a=0;if(b.offsetParent){return Xinha.getElementTopLeft(b).top}else{if(b.y){a+=b.y}}return a};Xinha.createLoadingMessages=function(b){if(Xinha.loadingMessages||!Xinha.isSupportedBrowser){return}Xinha.loadingMessages=[];for(var a=0;a %%V 2>&1 + +FOR %%V IN (%*) DO del %%V_uncompressed.js + +# pause \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/contrib/compress.php b/ccm-core/web/assets/xinha/contrib/compress.php new file mode 100644 index 000000000..e348353b2 --- /dev/null +++ b/ccm-core/web/assets/xinha/contrib/compress.php @@ -0,0 +1,99 @@ +"; + +$prefix = "/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */"; +if ($version) $prefix .= "\n/* This file is part of version $version released $date */"; + +$core_prefix = ' + /*-------------------------------------------------------------------------- + -- Xinha (is not htmlArea) - http://xinha.org + -- + -- Use of Xinha is granted by the terms of the htmlArea License (based on + -- BSD license) please read license.txt in this package for details. + -- + -- Copyright (c) 2005-2008 Xinha Developer Team and contributors + -- + -- Xinha was originally based on work by Mihai Bazon which is: + -- Copyright (c) 2003-2004 dynarch.com. + -- Copyright (c) 2002-2003 interactivetools.com, inc. + -- This copyright notice MUST stay intact for use. + -------------------------------------------------------------------------*/ +'; +foreach ($return as $file) +{ + set_time_limit ( 60 ); + print "Processed $file
"; + flush(); + $file_url = $repository_url.str_replace($root_dir,'',$file); + + copy($file,$file."_uncompr.js"); + + $file_prefix = $prefix."\n/* The URL of the most recent version of this file is $file_url */"; + + exec("echo \"".(preg_match('/XinhaCore.js$/',$file) ? $file_prefix.$core_prefix : $file_prefix)."\" > $file && java -jar ${cwd}/dojo_js_compressor.jar -c ${file}_uncompr.js >> $file 2>&1"); + if (preg_match('/js: ".*?", line \d+:/',file_get_contents($file)) || preg_match('/sh: java: command not found/', file_get_contents($file))) + { + unlink($file); + rename($file."_uncompr.js",$file); + } + else + { + unlink($file."_uncompr.js"); + } + +} +print "Operation complete." +?> diff --git a/ccm-core/web/assets/xinha/contrib/compress_yui.php b/ccm-core/web/assets/xinha/contrib/compress_yui.php new file mode 100644 index 000000000..3e88cf3b3 --- /dev/null +++ b/ccm-core/web/assets/xinha/contrib/compress_yui.php @@ -0,0 +1,107 @@ +"; + +$prefix = "/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */"; +if ($version) $prefix .= "\n/* This file is part of version $version released $date */"; +$core_prefix = ' + /*-------------------------------------------------------------------------- + -- Xinha (is not htmlArea) - http://xinha.org + -- + -- Use of Xinha is granted by the terms of the htmlArea License (based on + -- BSD license) please read license.txt in this package for details. + -- + -- Copyright (c) 2005-'.date('Y').' Xinha Developer Team and contributors + -- + -- Xinha was originally based on work by Mihai Bazon which is: + -- Copyright (c) 2003-2004 dynarch.com. + -- Copyright (c) 2002-2003 interactivetools.com, inc. + -- This copyright notice MUST stay intact for use. + -------------------------------------------------------------------------*/ +'; + +foreach ($return as $file) +{ + set_time_limit ( 60 ); + print "Processing $file\n"; + flush(); + + $file_url = $repository_url.str_replace($xinha_root,'',$file); + + copy($file,$file."_uncompr.js"); + + $file_prefix = $prefix."\n/* The URL of the most recent uncompressed version of this file is $file_url */"; + $ext = preg_replace('/.*?(\.js|\.css)$/','$1',$file); + + file_put_contents($file."_uncompr${ext}", preg_replace('/(\/\/[^\n]*)?(?![*])\\\[\n]/','',file_get_contents($file))); + + passthru("echo \"".(preg_match('/XinhaCore.js$/',$file) ? $file_prefix.$core_prefix : $prefix)."\" > $file && java -jar {$xinha_root}/contrib/yuicompressor-2.4.2.jar --charset UTF-8 ${file}_uncompr${ext} >> $file 2>&1"); + if (preg_match('/\d+:\d+:syntax error/',file_get_contents($file)) || preg_match('/sh: java: command not found/', file_get_contents($file))) + { + unlink($file); + rename($file."_uncompr${ext}",$file); + } + else + { + unlink($file."_uncompr${ext}"); + } + +} +print "Operation complete." +?> diff --git a/ccm-core/web/assets/xinha/contrib/dojo_js_compressor.jar b/ccm-core/web/assets/xinha/contrib/dojo_js_compressor.jar new file mode 100644 index 0000000000000000000000000000000000000000..8852aed2b9ba03e8a65d487fe932005b9a64ac81 GIT binary patch literal 817536 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

NHyS5fBCkIJ*U}rfVdQ890*~>cKg%h$wc^~d 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�?ye`~4tI`~U>wjk0qFdmIR75v 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 z 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ΞNXDN{CR)eXJ@@Y$@`|!BW`|ZXcVD0F|&n>xH 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 z

    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�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, 2009-08-16 + +// Distributed under the same terms as Xinha itself. +// This notice MUST stay intact for use (see license.txt). + +// merge-strings.php - merge translation strings from master into +// individual language files. + + +function usage() +{ + print "merge-strings.php - merge translation strings\n"; + print "Options:\n"; + print " -l xx Process language xx. Required option\n"; + print " -m master Master file. Defaults to 'de.js'\n"; + print " -m base Base directory. Defaults to '..'\n"; + print " -v Verbose\n"; + print " -c Tell about files that must be created\n"; + print " -d Debug. Very noisy\n"; + exit(1); +} + +// This function taken from the php.net manual page for glob + +function rglob($pattern='*', $flags = 0, $path='') +{ + $paths=glob($path.'*', GLOB_MARK|GLOB_ONLYDIR|GLOB_NOSORT); + $files=glob($path.$pattern, $flags); + foreach ($paths as $path) + { + $files=array_merge($files,rglob($pattern, $flags, $path)); + } + return $files; +} + +error_reporting(E_ALL); + +$opts = getopt('l:b:m:cvd'); + +if ($opts === false) usage; +// here we should check extra options, but php lacks that functionality + +$lang = 'xx'; // The language we process +$create = 0; // Tell about missing files? +$verbose = 0; // Log the details to stdout? +$debug = 0; // ? +$basedir = '..'; // Base directory to process +$mastername = 'de.js'; // The best bet on a complete translation file + +if (isset($opts['l'])) $lang = $opts['l']; +else die("Missing -l option\n"); +if (isset($opts['c'])) $create = 1; +if (isset($opts['v'])) $verbose = 1; +if (isset($opts['d'])) $debug = 1; +if (isset($opts['b'])) $basedir = $opts['b']; +if (isset($opts['m'])) $mastername = $opts['m']; + +if (!preg_match('#/$#', $basedir)) $basedir .= '/'; + +// So, find all the master files + +$files = rglob($mastername, 0, $basedir); +if (count($files) == 0) +{ + print "No master files found. Check your -b and -m options!\n"; + exit(1); +} + +// and process them + +$filenum = 0; +foreach ($files as $masterjs) +{ + $langjs = preg_replace("/$mastername/", "$lang.js", $masterjs); + $langnew = $langjs.'.new'; + + if (!file_exists($langjs)) + { + if ($create) print "Missing file: $langjs\n"; + continue; + } + + // Populate $trans with the strings that must be translated + + $filenum++; + $min = fopen($masterjs, "r"); + $trans = array(); + $strings = 0; + while ($str = fgets($min)) + { + $str = trim($str); + if (preg_match('#^ *"([^"]*)" *: *"([^"]*)"(,)? *(//.*)?$#', $str, $m)) + { + if (isset($trans[$m[1]])) + { + print "Duplicate string in $masterjs: $m[1]\n"; + continue; + } + if ($debug) print "Translate: $m[1]\n"; + $trans[$m[1]] = 1; + $strings++; + } + } + fclose($min); + + // Now copy from $lin to $lout while verifying that the strings + // are still current. + // Break out when we hit the last string in the master (no ',' + // after the translation. + + $lin = fopen($langjs, "r"); + $lout = fopen($langnew, "w"); + $obsolete = 0; + $new = 0; + $kept = 0; + while ($fstr = fgets($lin)) + { + $str = trim($fstr); + if (preg_match('#^ *"([^"]*)" *: *"([^"]*)"(,)? *(//.*)?$#', $str, $m)) + { + if (!isset($trans[$m[1]])) + { + if ($verbose) print "Obsolete: $m[1]\n"; + $obsolete++; + fprintf($lout, " // \"%s\": \"%s\" // OBSOLETE\n", $m[1], $m[2]); + } + else + { + if ($debug) print "Keep: $m[1]\n"; + unset($trans[$m[1]]); + $strings--; + $kept++; + fprintf($lout, " \"%s\": \"%s\"%s\n", $m[1], $m[2], $strings ? ',' : ''); + } + if (!isset($m[3]) || $m[3] != ',') + break; + } + else + fprintf($lout, "%s", $fstr); + } + + // Add the strings that are missing + + foreach ($trans as $tr => $v) + { + if ($verbose) print("New: $tr\n"); + $new++; + $strings--; + fprintf($lout, " \"%s\": \"%s\"%s // NEW\n", $tr, $tr, $strings ? ',' : ''); + } + + // And then the final part of $lin + + while ($str = fgets($lin)) + fprintf($lout, "%s", $str); + + // Clean up, and tell user what happened + + fclose($lin); + fclose($lout); + + if ($obsolete == 0 && $new == 0) + { + if ($verbose) print "$langjs: Unchanged\n"; + unlink($langnew); + } + else + { + print "$langnew: $new new, $obsolete obsoleted, $kept unchanged entries.\n"; + // rename($langnew, $langjs); + } +} + +print "$filenum files processed.\n"; + +?> diff --git a/ccm-core/web/assets/xinha/contrib/lc_parse_strings.php b/ccm-core/web/assets/xinha/contrib/lc_parse_strings.php new file mode 100755 index 000000000..26d3fa647 --- /dev/null +++ b/ccm-core/web/assets/xinha/contrib/lc_parse_strings.php @@ -0,0 +1,325 @@ +"; + while(!feof($fp)) { + $data .= fread($fp, 1024); + } + preg_match_all('#_lc\("([^"]+)"|_lc\(\'([^\']+)\'#', $data, $m); + foreach($m[1] as $i) { + if(trim(strip_tags($i))=="") continue; + $ret[] = $i; + } + foreach($m[2] as $i) { + if(trim(strip_tags($i))=="") continue; + $ret[] = $i; + } + } + } + + if($plugin=="TableOperations") + { + preg_match_all('#options = \\[([^\\]]+)\\];#', $data, $m); + foreach($m[1] as $i) { + preg_match_all('#"([^"]+)"#', $i, $m1); + foreach($m1[1] as $i) { + $ret[] = $i; + } + } + + //["cell-delete", "td", "Delete cell"], + preg_match_all('#\\["[^"]+",[ \t]*"[^"]+",[ \t]*"([^"]+)"\\]#', $data, $m); + foreach($m[1] as $i) { + $ret[] = $i; + } + } + + + $files = getFiles("$pluginDir/", "html$"); + $files = array_merge($files, getFiles("$pluginDir/", "php$")); + foreach($files as $file) + { + $ret = array_merge($ret, parseHtmlFile($file, $plugin)); + } + + $files = getFiles("$pluginDir/popups/", "html$"); + foreach($files as $file) + { + $ret = array_merge($ret, parseHtmlFile($file, $plugin)); + } + $ret = array_unique($ret); + + $langData[$plugin] = $ret; +} + +$plugins = getFiles("../modules/"); +foreach($plugins as $pluginDir) { + $plugin = substr($pluginDir, 12); + $ret = array(); + $files = getFiles("$pluginDir/", "js$"); + foreach($files as $file) + { + $fp = fopen($file, "r"); + $data = ""; + if($fp) { + echo "$file open...
    "; + while(!feof($fp)) { + $data .= fread($fp, 1024); + } + preg_match_all('#_lc\("([^"]+)"|_lc\(\'([^\']+)\'#', $data, $m); + foreach($m[1] as $i) { + if(trim(strip_tags($i))=="") continue; + $ret[] = $i; + } + foreach($m[2] as $i) { + if(trim(strip_tags($i))=="") continue; + $ret[] = $i; + } + } + } + $ret = array_unique($ret); + $langData[$plugin] = $ret; +} + + +foreach($langData as $plugin=>$strings) { + if(sizeof($strings)==0) continue; + + + $data = "// I18N constants\n"; + $data .= "//\n"; + $data .= "// LANG: \"base\", ENCODING: UTF-8\n"; + $data .= "// Author: Translator-Name, \n"; + $data .= "//\n"; + $data .= "// Last revision: 06 september 2007\n"; + $data .= "// Please don´t remove this information\n"; + $data .= "// If you modify any source, please insert a comment with your name and e-mail\n"; + $data .= "//\n"; + $data .= "// Distributed under the same terms as HTMLArea itself.\n"; + $data .= "// This notice MUST stay intact for use (see license.txt).\n"; + $data .= "//\n"; + $data .= "// (Please, remove information below)\n"; + $data .= "// FOR TRANSLATORS:\n"; + $data .= "//\n"; + $data .= "// 1. PLEASE PUT YOUR CONTACT INFO IN THE ABOVE LINE\n"; + $data .= "// (at least a valid email address)\n"; + $data .= "//\n"; + $data .= "// 2. PLEASE TRY TO USE UTF-8 FOR ENCODING;\n"; + $data .= "// (if this is not possible, please include a comment\n"; + $data .= "// that states what encoding is necessary.)\n"; + $data .= "\n"; + $data .= "{\n"; + sort($strings); + foreach($strings as $string) { + $string = str_replace(array('\\', '"'), array('\\\\', '\\"'), $string); + $data .= " \"".$string."\": \"\",\n"; + } + $data = substr($data, 0, -2); + $data .= "\n"; + $data .= "}\n"; + + if($plugin=="HTMLArea") { + $file = "../lang/base.js"; + $fp = fopen($file, "w"); + if(!$fp) continue; + fwrite($fp, $data); + fclose($fp); + echo "$file written...
    "; + } elseif (($plugin=="InternetExplorer")||($plugin=="InsertTable")||($plugin=="InsertImage")||($plugin=="GetHtml")||($plugin=="Gecko")||($plugin=="Dialogs")||($plugin=="CreateLink")||($plugin=="ColorPicker")) { + $file = "../modules/$plugin/lang/base.js"; + $fp = fopen($file, "w"); + if(!$fp) continue; + fwrite($fp, $data); + fclose($fp); + echo "$file written...
    "; + } elseif ($plugin=="FullScreen") { + $file = "../modules/$plugin/lang/base.js"; + $fp = fopen($file, "w"); + if(!$fp) continue; + fwrite($fp, $data); + fclose($fp); + echo "$file written...
    "; + $file = "../plugins/$plugin/lang/base.js"; + $fp = fopen($file, "w"); + if(!$fp) continue; + fwrite($fp, $data); + fclose($fp); + echo "$file written...
    "; + } else { + $file = "../plugins/$plugin/lang/base.js"; + $fp = fopen($file, "w"); + if(!$fp) continue; + fwrite($fp, $data); + fclose($fp); + echo "$file written...
    "; + } +} + + + + +function parseHtmlFile($file, $plugin="") +{ + $ret = array(); + + $fp = fopen($file, "r"); + if(!$fp) { + die("invalid fp"); + } + $data = ""; + while(!feof($fp)) { + $data .= fread($fp, 1024); + } + + if($plugin=="FormOperations" || $plugin=="SuperClean" || $plugin=="Linker") { + //-tags for inline-dialog or panel-dialog based dialogs + $elems = array("l10n"); + } else { + $elems = array("title", "input", "select", "legend", "span", "option", "td", "button", "div", "label"); + } + foreach($elems as $elem) { + preg_match_all("#<{$elem}[^>]*>([^<^\"]+)#i", $data, $m); + foreach($m[1] as $i) { + if(trim(strip_tags($i))=="") continue; + if($i=="/") continue; + if($plugin=="ImageManager" && preg_match('#^--+$#', $i)) continue; //skip those ------ + if($plugin=="CharacterMap" && preg_match('#&[a-z0-9]+;#i', trim($i)) || $i=="@") continue; + if($plugin=="SpellChecker" && preg_match('#^\'\\.\\$[a-z]+\\.\'$#', $i)) continue; + $ret[] = trim($i); + } + } + + if($plugin=="FormOperations" || $plugin=="SuperClean" || $plugin=="Linker") + { + //_( for inline-dialog or panel-dialog based dialogs + preg_match_all('#"_\(([^"]+)\)"#i', $data, $m); + foreach($m[1] as $i) { + if(trim($i)=="") continue; + $ret[] = $i; + } + } + else + { + preg_match_all('#title="([^"]+)"#i', $data, $m); + foreach($m[1] as $i) { + if(trim(strip_tags($i))=="") continue; + if(strip_tags($i)==" - ") continue; //skip those - (ImageManager) + $ret[] = $i; + } + } + return($ret); +} + + +function getFiles($rootdirpath, $eregi_match='') { + $array = array(); + if ($dir = @opendir($rootdirpath)) { + $array = array(); + while (($file = readdir($dir)) !== false) { + if($file=="." || $file==".." || $file==".svn") continue; + if($eregi_match=="") + $array[] = $rootdirpath."/".$file; + else if(eregi($eregi_match,$file)) + $array[] = $rootdirpath."/".$file; + + } + closedir($dir); + } + return $array; +} + + + + + +?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/contrib/php-xinha.php b/ccm-core/web/assets/xinha/contrib/php-xinha.php index 392131bd9..6bbdd0e4a 100755 --- a/ccm-core/web/assets/xinha/contrib/php-xinha.php +++ b/ccm-core/web/assets/xinha/contrib/php-xinha.php @@ -81,6 +81,11 @@ return "'" . xinha_js_encode($var) . "'"; } + if(is_bool($var)) + { + return $var ? 'true': 'false'; + } + if(is_array($var)) { $useObject = false; @@ -138,7 +143,7 @@ * if none was passed or a security error was encountered. */ - function xinha_read_passed_data() + function xinha_read_passed_data($KeyLocation = 'Xinha:BackendKey') { if(isset($_REQUEST['backend_data']) && is_array($_REQUEST['backend_data'])) { @@ -147,6 +152,12 @@ @session_start(); if(!isset($_SESSION[$bk['key_location']])) return NULL; + if($KeyLocation !== $bk['key_location']) + { + trigger_error('Programming Error - please contact the website administrator/programmer to alert them to this problem. A non-default backend key location is being used to pass backend data to Xinha, but the same key location is not being used to receive data. The special backend configuration has been ignored. To resolve this, find where you are using xinha_pass_to_php_backend and remove the non default key, or find the locations where xinha_read_passed_data is used (in Xinha) and add a parameter with the non default key location, or edit contrib/php-xinha.php and change the default key location in both these functions. See: http://trac.xinha.org/ticket/1518', E_USER_ERROR); + return NULL; + } + if($bk['hash'] === function_exists('sha1') ? sha1($_SESSION[$bk['key_location']] . $bk['data']) diff --git a/ccm-core/web/assets/xinha/contrib/yuicompressor-2.4.2.jar b/ccm-core/web/assets/xinha/contrib/yuicompressor-2.4.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..c29470bd0d0175ddd98e7f82079a9566c2aebf4c GIT binary patch literal 851219 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

    ")}if(Xinha.is_gecko){f=f.replace(/
    \n$/,"")}f=f.replace(/\s*(<\/(li|dd|dt)>)/g,"$1");if(g){f+=""}f=Xinha.indent(f)}return f};Xinha._escapeDollars=function(a){return a.replace(/\$/g,"$$$$")}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/InlineStyler/InlineStyler.js b/ccm-core/web/assets/xinha/modules/InlineStyler/InlineStyler.js new file mode 100644 index 000000000..942451cab --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/InlineStyler/InlineStyler.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.InlineStyler=function(c,a,b,d){this.element=c;this.editor=a;this.dialog=b;this.doc=d?d:document;this.inputs={styles:{},aux:{}};this.styles={};this.auxData={}};Xinha.InlineStyler.getLength=function(b){var a=parseInt(b);if(isNaN(a)){a=""}return a};Xinha.InlineStyler.prototype.applyStyle=function(f){var a=this.element;var d=a.style;for(var b in f){if(typeof f[b]=="function"){continue}if(f[b]!=null){var e=f[b].value||f[b]}switch(b){case"backgroundImage":if(/\S/.test(e)){d.backgroundImage="url("+e+")"}else{d.backgroundImage="none"}break;case"borderCollapse":d.borderCollapse=f[b]=="on"?"collapse":"separate";break;case"width":if(/\S/.test(e)){d.width=e+this.inputs.aux.widthUnit.value}else{d.width=""}break;case"height":if(/\S/.test(e)){d.height=e+this.inputs.aux.heightUnit.value}else{d.height=""}break;case"textAlign":if(e=="char"){var c=this.inputs.aux.textAlignChar.value;if(c=='"'){c='\\"'}d.textAlign='"'+c+'"'}else{if(e=="-"){d.textAlign=""}else{d.textAlign=e}}break;case"verticalAlign":a.vAlign="";if(e=="-"){d.verticalAlign=""}else{d.verticalAlign=e}break;case"float":if(Xinha.is_ie){d.styleFloat=e}else{d.cssFloat=e}break;case"borderWidth":d[b]=e?e+"px":"0px";break;default:d[b]=e;break}}};Xinha.InlineStyler.prototype.createStyleLayoutFieldset=function(){var l=this;var f=this.editor;var u=this.doc;var d=this.element;var s=u.createElement("fieldset");var j=u.createElement("legend");s.appendChild(j);j.innerHTML=Xinha._lc("Layout","TableOperations");var p=u.createElement("table");s.appendChild(p);p.style.width="100%";var b=u.createElement("tbody");p.appendChild(b);var m=d.tagName.toLowerCase();var c,g,k,r,a,h,n;if(m!="td"&&m!="tr"&&m!="th"){c=u.createElement("tr");b.appendChild(c);g=u.createElement("td");g.className="label";c.appendChild(g);g.innerHTML=Xinha._lc("Float","TableOperations")+":";g=u.createElement("td");c.appendChild(g);r=u.createElement("select");r.name=this.dialog.createId("float");g.appendChild(r);this.inputs.styles["float"]=r;h=["None","Left","Right"];for(var n=0;nInsert Image + +
    + + + + + + + + + + + + + +
    Image URL: + +
    Alternate text:
    + +
    + +
    +Layout + +
    + +
    Alignment:
    + + +
    + +
    Border thickness:
    + + +
    + +
    + +
    +Spacing + +
    + +
    Horizontal:
    + + +
    + +
    Vertical:
    + + +
    + +
    +
    +
    +Image Preview:
    + +
    + +
    + + +
    \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/InsertImage/insert_image.js b/ccm-core/web/assets/xinha/modules/InsertImage/insert_image.js index 4bc7d843b..198519a26 100644 --- a/ccm-core/web/assets/xinha/modules/InsertImage/insert_image.js +++ b/ccm-core/web/assets/xinha/modules/InsertImage/insert_image.js @@ -1,119 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/InsertImage/insert_image.js */ -InsertImage._pluginInfo={name:"InsertImage",origin:"Xinha Core",version:"$LastChangedRevision:992 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL:http://svn.xinha.webfactional.com/trunk/modules/InsertImage/insert_image.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"}; -function InsertImage(_1){ -} -Xinha.prototype._insertImage=function(_2){ -var _3=this; -var _4; -if(typeof _2=="undefined"){ -_2=this.getParentElement(); -if(_2&&_2.tagName.toLowerCase()!="img"){ -_2=null; -} -} -var _5; -if(typeof _3.config.baseHref!="undefined"&&_3.config.baseHref!==null){ -_5=_3.config.baseHref; -}else{ -var _6=window.location.toString().split("/"); -_6.pop(); -_5=_6.join("/"); -} -if(_2){ -function getSpecifiedAttribute(_7,_8){ -var a=_7.attributes; -for(var i=0;i0)?d:0)+"px";this.getElementById("ipreview").style.width=this.width-2+"px"};this.dialogReady=true}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/InsertImage/pluginMethods.js b/ccm-core/web/assets/xinha/modules/InsertImage/pluginMethods.js new file mode 100644 index 000000000..6e471df7e --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/InsertImage/pluginMethods.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +InsertImage.prototype.show=function(c){if(!this.dialog){this.prepareDialog()}var b=this.editor;if(typeof c=="undefined"){c=b.getParentElement();if(c&&c.tagName.toLowerCase()!="img"){c=null}}if(c){function a(e,g){var d=e.attributes;for(var f=0;fInsert Table +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + Caption: + + +
    Rows:Width:
    Cols:
    + +
    + +
    +Layout + +
    + +
    Alignment:
    + + +
    + +
    Border
    + Pixels + + +
    Collapse borders: + + +
    + +
    + +
    +Spacing + +
    + +
    Cell spacing:
    + + +
    + +
    Cell padding:
    + + + +
    +
    + + +
    +
    diff --git a/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.html b/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.html index e86d4ed4a..c3aab8dd5 100755 --- a/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.html +++ b/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.html @@ -83,7 +83,7 @@ function onCancel() { Cols: - + @@ -154,4 +154,4 @@ title="Space between content and border in cell" /> - \ No newline at end of file + diff --git a/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.js b/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.js index ddb337853..31bd09ded 100644 --- a/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.js +++ b/ccm-core/web/assets/xinha/modules/InsertTable/insert_table.js @@ -1,66 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/InsertTable/insert_table.js */ -InsertTable._pluginInfo={name:"InsertTable",origin:"Xinha Core",version:"$LastChangedRevision: 688 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.python-hosting.com/trunk/modules/InsertTable/insert_table.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"}; -function InsertTable(_1){ -} -Xinha.prototype._insertTable=function(){ -var _2=this.getSelection(); -var _3=this.createRange(_2); -var _4=this; -Dialog(_4.config.URIs.insert_table,function(_5){ -if(!_5){ -return false; -} -var _6=_4._doc; -var _7=_6.createElement("table"); -for(var _8 in _5){ -var _9=_5[_8]; -if(!_9){ -continue; -} -switch(_8){ -case "f_width": -_7.style.width=_9+_5.f_unit; -break; -case "f_align": -_7.align=_9; -break; -case "f_border": -_7.border=parseInt(_9,10); -break; -case "f_spacing": -_7.cellSpacing=parseInt(_9,10); -break; -case "f_padding": -_7.cellPadding=parseInt(_9,10); -break; -} -} -var _a=0; -if(_5.f_fixed){ -_a=Math.floor(100/parseInt(_5.f_cols,10)); -} -var _b=_6.createElement("tbody"); -_7.appendChild(_b); -for(var i=0;i<_5.f_rows;++i){ -var tr=_6.createElement("tr"); -_b.appendChild(tr); -for(var j=0;j<_5.f_cols;++j){ -var td=_6.createElement("td"); -if(_a){ -td.style.width=_a+"%"; -} -tr.appendChild(td); -td.appendChild(_6.createTextNode("\xa0")); -} -} -if(Xinha.is_ie){ -_3.pasteHTML(_7.outerHTML); -}else{ -_4.insertNodeAtSelection(_7); -} -return true; -},null); -}; - +InsertTable._pluginInfo={name:"InsertTable",origin:"Xinha Core",version:"$LastChangedRevision: 1085 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/InsertTable/insert_table.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function InsertTable(c){this.editor=c;var a=c.config;var b=this;c.config.btnList.inserttable[3]=function(){b.show()}}InsertTable.prototype._lc=function(a){return Xinha._lc(a,"Xinha")};InsertTable.prototype.onGenerateOnce=function(){InsertTable.loadAssets()};InsertTable.loadAssets=function(){var self=InsertTable;if(self.loading){return}self.loading=true;Xinha._getback(_editor_url+"modules/InsertTable/dialog.html",function(getback){self.html=getback;self.dialogReady=true});Xinha._getback(_editor_url+"modules/InsertTable/pluginMethods.js",function(getback){eval(getback);self.methodsReady=true})};InsertTable.prototype.onUpdateToolbar=function(){if(!(InsertTable.dialogReady&&InsertTable.methodsReady)){this.editor._toolbarObjects.inserttable.state("enabled",false)}else{this.onUpdateToolbar=null}};InsertTable.prototype.prepareDialog=function(){var b=this;var a=this.editor;var c=this.dialog=new Xinha.Dialog(a,InsertTable.html,"Xinha",{width:400});c.getElementById("ok").onclick=function(){b.apply()};c.getElementById("cancel").onclick=function(){b.dialog.hide()};this.borderColorPicker=new Xinha.colorPicker.InputBinding(c.getElementById("border_color"));this.dialog.onresize=function(){this.getElementById("layout_fieldset").style.width=(this.width/2)+50+"px";this.getElementById("spacing_fieldset").style.width=(this.width/2)-120+"px"};this.dialogReady=true}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/InsertTable/pluginMethods.js b/ccm-core/web/assets/xinha/modules/InsertTable/pluginMethods.js new file mode 100644 index 000000000..1ea775f89 --- /dev/null +++ b/ccm-core/web/assets/xinha/modules/InsertTable/pluginMethods.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +InsertTable.prototype.show=function(c){if(!this.dialog){this.prepareDialog()}var a=this.editor;var b={caption:"",rows:"2",cols:"4",width:"100",unit:"%",fixed:"",align:"",border:"1",border_style:"dotted",border_color:"#000000",border_collapse:"on",spacing:"",padding:"5"};this.borderColorPicker.setColor("#000000");this.dialog.show(b);this.dialog.onresize()};InsertTable.prototype.apply=function(){var a=this.editor;var m=a._doc;var b=this.dialog.getValues();if(!b.rows||!b.cols){if(!b.rows){this.dialog.getElementById("rows_alert").style.display=""}if(!b.cols){this.dialog.getElementById("columns_alert").style.display=""}return}this.dialog.hide();var o=m.createElement("table");for(var k in b){var l=b[k];if(!l){continue}switch(k){case"width":o.style.width=l+b.unit.value;break;case"align":o.align=l.value;break;case"border":o.style.border=l+"px "+b.border_style.value+" "+b.border_color;break;case"border_collapse":o.style.borderCollapse=(l=="on")?"collapse":"";break;case"spacing":o.cellSpacing=parseInt(l,10);break;case"padding":o.cellPadding=parseInt(l,10);break}}if(b.caption){var n=o.createCaption();n.appendChild(m.createTextNode(b.caption))}var g=0;if(b.fixed){g=Math.floor(100/parseInt(b.cols,10))}var f=m.createElement("tbody");o.appendChild(f);for(var e=0;e"); -Xinha._stopEvent(ev); -return true; -break; -case "1": -case "2": -case "3": -case "4": -case "5": -case "6": -this.editor.execCommand("formatblock",false,""); -Xinha._stopEvent(ev); -return true; -break; -} -} -switch(ev.keyCode){ -case 8: -case 46: -if(this.handleBackspace()){ -Xinha._stopEvent(ev); -return true; -} -break; -} -return false; -}; -InternetExplorer.prototype.handleBackspace=function(){ -var _3=this.editor; -var _4=_3.getSelection(); -if(_4.type=="Control"){ -var _5=_3.activeElement(_4); -Xinha.removeFromParent(_5); -return true; -} -var _6=_3.createRange(_4); -var r2=_6.duplicate(); -r2.moveStart("character",-1); -var a=r2.parentElement(); -if(a!=_6.parentElement()&&(/^a$/i.test(a.tagName))){ -r2.collapse(true); -r2.moveEnd("character",1); -r2.pasteHTML(""); -r2.select(); -return true; -} -}; -InternetExplorer.prototype.inwardHtml=function(_9){ -_9=_9.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2"); -_9=_9.replace(/("; -}else{ -if(_f.config.browserQuirksMode===true){ -var _12=""; -}else{ -var _12=Xinha.getDoctype(document); -} -} -if(!_f.config.fullPage){ -_11+=_12+"\n"; -_11+="\n"; -_11+="\n"; -_11+="\n"; -if(typeof _f.config.baseHref!="undefined"&&_f.config.baseHref!==null){ -_11+="\n"; -} -if(typeof _f.config.pageStyleSheets!=="undefined"){ -for(var i=0;i<_f.config.pageStyleSheets.length;i++){ -if(_f.config.pageStyleSheets[i].length>0){ -_11+=""; -} -} -} -if(_f.config.pageStyle){ -_11+=""; -} -_11+="\n"; -_11+="\n"; -_11+=_f.getEditorContent(); -_11+="\n"; -_11+=""; -}else{ -_11=_f.getEditorContent(); -if(_11.match(Xinha.RE_doctype)){ -_f.setDoctype(RegExp.$1); -} -} -_e.write(_11); -_e.close(); -_e.execCommand(_b,UI,_d); -document.body.removeChild(_10); -return true; -break; -case "removeformat": -var _f=this.editor; -var sel=_f.getSelection(); -var _15=_f.saveSelection(sel); -var i,el,els; -function clean(el){ -if(el.nodeType!=1){ -return; -} -el.removeAttribute("style"); -for(var j=0;j=1){ -return _2a.item(0).outerHTML; -} -} -return ""; -}; -Xinha.prototype.getSelection=function(){ -return this._doc.selection; -}; -Xinha.prototype.createRange=function(sel){ -if(!sel){ -sel=this.getSelection(); -} -return sel.createRange(); -}; -Xinha.prototype.isKeyEvent=function(_2c){ -return _2c.type=="keydown"; -}; -Xinha.prototype.getKey=function(_2d){ -return String.fromCharCode(_2d.keyCode); -}; -Xinha.getOuterHTML=function(_2e){ -return _2e.outerHTML; -}; -Xinha.prototype.cc=String.fromCharCode(8201); -Xinha.prototype.setCC=function(_2f){ -var cc=this.cc; -if(_2f=="textarea"){ -var ta=this._textArea; -var pos=document.selection.createRange(); -pos.collapse(); -pos.text=cc; -var _33=ta.value.indexOf(cc); -var _34=ta.value.substring(0,_33); -var _35=ta.value.substring(_33+cc.length,ta.value.length); -if(_35.match(/^[^<]*>/)){ -var _36=_35.indexOf(">")+1; -ta.value=_34+_35.substring(0,_36)+cc+_35.substring(_36,_35.length); -}else{ -ta.value=_34+cc+_35; -} -ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("(]*>[^"+cc+"]*?)("+cc+")([^"+cc+"]*?)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4"); -}else{ -var sel=this.getSelection(); -var r=sel.createRange(); -if(sel.type=="Control"){ -var _39=r.item(0); -_39.outerHTML+=cc; -}else{ -r.collapse(); -r.text=cc; -} -} -}; -Xinha.prototype.findCC=function(_3a){ -var _3b=(_3a=="textarea")?this._textArea:this._doc.body; -range=_3b.createTextRange(); -if(range.findText(escape(this.cc))){ -range.select(); -range.text=""; -} -if(range.findText(this.cc)){ -range.select(); -range.text=""; -} -if(_3a=="textarea"){ -this._textArea.focus(); -} -}; -Xinha.getDoctype=function(doc){ -return (doc.compatMode=="CSS1Compat"&&Xinha.ie_version<8)?"":""; -}; - +InternetExplorer._pluginInfo={name:"Internet Explorer",origin:"Xinha Core",version:"$LastChangedRevision: 1260 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/InternetExplorer/InternetExplorer.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function InternetExplorer(a){this.editor=a;a.InternetExplorer=this}InternetExplorer.prototype.onKeyPress=function(a){if(this.editor.isShortCut(a)){switch(this.editor.getKey(a).toLowerCase()){case"n":this.editor.execCommand("formatblock",false,"

    ");Xinha._stopEvent(a);return true;break;case"1":case"2":case"3":case"4":case"5":case"6":this.editor.execCommand("formatblock",false,"");Xinha._stopEvent(a);return true;break}}switch(a.keyCode){case 8:case 46:if(this.handleBackspace()){Xinha._stopEvent(a);return true}break;case 9:Xinha._stopEvent(a);return true}return false};InternetExplorer.prototype.handleBackspace=function(){var e=this.editor;var f=e.getSelection();if(f.type=="Control"){var g=e.activeElement(f);Xinha.removeFromParent(g);return true}var d=e.createRange(f);var c=d.duplicate();c.moveStart("character",-1);var b=c.parentElement();if(b!=d.parentElement()&&(/^a$/i.test(b.tagName))){c.collapse(true);c.moveEnd("character",1);c.pasteHTML("");c.select();return true}};InternetExplorer.prototype.inwardHtml=function(a){a=a.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");a=a.replace(/(]+id="__InsertSpan_Workaround_[a-z]+".*?>([\s\S]*?)<\/span>/i,"$1");return a};InternetExplorer.prototype.outwardHtml=function(a){a=a.replace(/ (\s*)(]+id="__InsertSpan_Workaround_[a-z]+".*?>([\s\S]*?)<\/span>/i,"$1");return a};InternetExplorer.prototype.onExecCommand=function(h,d,e){switch(h){case"saveas":var o=null;var c=this.editor;var g=document.createElement("iframe");g.src="about:blank";g.style.display="none";document.body.appendChild(g);try{if(g.contentDocument){o=g.contentDocument}else{o=g.contentWindow.document}}catch(n){}o.open("text/html","replace");var l="";if(c.config.browserQuirksMode===false){var f=''}else{if(c.config.browserQuirksMode===true){var f=""}else{var f=Xinha.getDoctype(document)}}if(!c.config.fullPage){l+=f+"\n";l+="\n";l+="\n";l+='\n';if(typeof c.config.baseHref!="undefined"&&c.config.baseHref!==null){l+='\n'}if(typeof c.config.pageStyleSheets!=="undefined"){for(var k=0;k0){l+=''}}}if(c.config.pageStyle){l+='"}l+="\n";l+="\n";l+=c.getEditorContent();l+="\n";l+=""}else{l=c.getEditorContent();if(l.match(Xinha.RE_doctype)){c.setDoctype(RegExp.$1)}}o.write(l);o.close();o.execCommand(h,d,e);document.body.removeChild(g);return true;break;case"removeformat":var c=this.editor;var b=c.getSelection();var p=c.saveSelection(b);var k,a,j;function m(q){if(q.nodeType!=1){return}q.removeAttribute("style");for(var i=0;i');var k=h.getElementById(g);i.moveToElementText(k);i.select();break;case"JustificationHack":var a=String.fromCharCode(1);i.pasteHTML(a);i.findText(a,-1);i.select();i.execCommand("JustifyNone");i.pasteHTML("");break;case"VisibleCue":default:var a=String.fromCharCode(1);i.pasteHTML(a);i.findText(a,-1);i.select()}}};Xinha.prototype.selectNodeContents=function(e,a){this.focusEditor();this.forceRedraw();var b;var g=typeof a=="undefined"?true:false;if(g&&e.tagName&&e.tagName.toLowerCase().match(/table|img|input|select|textarea/)){b=this._doc.body.createControlRange();b.add(e)}else{b=this._doc.body.createTextRange();if(3==e.nodeType){if(e.parentNode){b.moveToElementText(e.parentNode)}else{b.moveToElementText(this._doc.body)}var f=this._doc.body.createTextRange();var d=0;var c=e.previousSibling;for(;c&&(1!=c.nodeType);c=c.previousSibling){if(3==c.nodeType){d+=c.nodeValue.length-c.nodeValue.split("\r").length-1}}if(c&&(1==c.nodeType)){f.moveToElementText(c);b.setEndPoint("StartToEnd",f)}if(d){b.moveStart("character",d)}d=0;c=e.nextSibling;for(;c&&(1!=c.nodeType);c=c.nextSibling){if(3==c.nodeType){d+=c.nodeValue.length-c.nodeValue.split("\r").length-1;if(!c.nextSibling){d+=1}}}if(c&&(1==c.nodeType)){f.moveToElementText(c);b.setEndPoint("EndToStart",f)}if(d){b.moveEnd("character",-d)}if(!e.nextSibling){b.moveEnd("character",-1)}}else{b.moveToElementText(e)}}if(typeof a!="undefined"){b.collapse(a);if(!a){b.moveStart("character",-1);b.moveEnd("character",-1)}}b.select()};Xinha.prototype.insertHTML=function(b){this.focusEditor();var c=this.getSelection();var a=this.createRange(c);a.pasteHTML(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(this.selectionEmpty(b)){return""}var a=this.createRange(b);if(a.htmlText){return a.htmlText}else{if(a.length>=1){return a.item(0).outerHTML}}return""};Xinha.prototype.getSelection=function(){return this._doc.selection};Xinha.prototype.createRange=function(a){if(!a){a=this.getSelection()}return a.createRange()};Xinha.prototype.isKeyEvent=function(a){return a.type=="keydown"};Xinha.prototype.getKey=function(a){return String.fromCharCode(a.keyCode)};Xinha.getOuterHTML=function(a){return a.outerHTML};Xinha.cc=String.fromCharCode(8201);Xinha.prototype.setCC=function(d){var f=Xinha.cc;if(d=="textarea"){var h=this._textArea;var j=document.selection.createRange();j.collapse();j.text=f;var i=h.value.indexOf(f);var k=h.value.substring(0,i);var c=h.value.substring(i+f.length,h.value.length);if(c.match(/^[^<]*>/)){var b=c.indexOf(">")+1;h.value=k+c.substring(0,b)+f+c.substring(b,c.length)}else{h.value=k+f+c}h.value=h.value.replace(new RegExp("(&[^"+f+"]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");h.value=h.value.replace(new RegExp("(]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");h.value=h.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*]*>)(.*?)"),"$1$3$2$4")}else{var e=this.getSelection();var a=e.createRange();if(e.type=="Control"){var g=a.item(0);g.outerHTML+=f}else{a.collapse();a.text=f}}};Xinha.prototype.findCC=function(b){var a=(b=="textarea")?this._textArea:this._doc.body;range=a.createTextRange();if(range.findText(escape(Xinha.cc))){range.select();range.text="";range.select()}if(range.findText(Xinha.cc)){range.select();range.text="";range.select()}if(b=="textarea"){this._textArea.focus()}};Xinha.getDoctype=function(a){return(a.compatMode=="CSS1Compat"&&Xinha.ie_version<8)?'':""}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/Opera/Opera.js b/ccm-core/web/assets/xinha/modules/Opera/Opera.js index 8eb5549c1..6bb5a144d 100644 --- a/ccm-core/web/assets/xinha/modules/Opera/Opera.js +++ b/ccm-core/web/assets/xinha/modules/Opera/Opera.js @@ -1,464 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/Opera/Opera.js */ -Opera._pluginInfo={name:"Opera",origin:"Xinha Core",version:"$LastChangedRevision:970 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL:http://svn.xinha.webfactional.com/trunk/modules/Opera/Opera.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"Gogo Internet Services Limited",sponsor_url:"http://www.gogo.co.nz/",license:"htmlArea"}; -function Opera(_1){ -this.editor=_1; -_1.Opera=this; -} -Opera.prototype.onKeyPress=function(ev){ -var _3=this.editor; -var s=_3.getSelection(); -if(_3.isShortCut(ev)){ -switch(_3.getKey(ev).toLowerCase()){ -case "z": -if(_3._unLink&&_3._unlinkOnUndo){ -Xinha._stopEvent(ev); -_3._unLink(); -_3.updateToolbar(); -return true; -} -break; -case "a": -sel=_3.getSelection(); -sel.removeAllRanges(); -range=_3.createRange(); -range.selectNodeContents(_3._doc.body); -sel.addRange(range); -Xinha._stopEvent(ev); -return true; -break; -case "v": -if(!_3.config.htmlareaPaste){ -return true; -} -break; -} -} -switch(_3.getKey(ev)){ -case " ": -var _5=function(_6,_7){ -var _8=_6.nextSibling; -if(typeof _7=="string"){ -_7=_3._doc.createElement(_7); -} -var a=_6.parentNode.insertBefore(_7,_8); -Xinha.removeFromParent(_6); -a.appendChild(_6); -_8.data=" "+_8.data; -s.collapse(_8,1); -_3._unLink=function(){ -var t=a.firstChild; -a.removeChild(t); -a.parentNode.insertBefore(t,a); -Xinha.removeFromParent(a); -_3._unLink=null; -_3._unlinkOnUndo=false; -}; -_3._unlinkOnUndo=true; -return a; -}; -if(_3.config.convertUrlsToLinks&&s&&s.isCollapsed&&s.anchorNode.nodeType==3&&s.anchorNode.data.length>3&&s.anchorNode.data.indexOf(".")>=0){ -var _b=s.anchorNode.data.substring(0,s.anchorOffset).search(/\S{4,}$/); -if(_b==-1){ -break; -} -if(_3._getFirstAncestor(s,"a")){ -break; -} -var _c=s.anchorNode.data.substring(0,s.anchorOffset).replace(/^.*?(\S*)$/,"$1"); -var _d=_c.match(Xinha.RE_email); -if(_d){ -var _e=s.anchorNode; -var _f=_e.splitText(s.anchorOffset); -var _10=_e.splitText(_b); -_5(_10,"a").href="mailto:"+_d[0]; -break; -} -RE_date=/([0-9]+\.)+/; -RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/; -var _11=_c.match(Xinha.RE_url); -if(_11){ -if(RE_date.test(_c)){ -break; -} -var _12=s.anchorNode; -var _13=_12.splitText(s.anchorOffset); -var _14=_12.splitText(_b); -_5(_14,"a").href=(_11[1]?_11[1]:"http://")+_11[2]; -break; -} -} -break; -} -switch(ev.keyCode){ -case 27: -if(_3._unLink){ -_3._unLink(); -Xinha._stopEvent(ev); -} -break; -break; -case 8: -case 46: -if(!ev.shiftKey&&this.handleBackspace()){ -Xinha._stopEvent(ev); -} -default: -_3._unlinkOnUndo=false; -if(s.anchorNode&&s.anchorNode.nodeType==3){ -var a=_3._getFirstAncestor(s,"a"); -if(!a){ -break; -} -if(!a._updateAnchTimeout){ -if(s.anchorNode.data.match(Xinha.RE_email)&&a.href.match("mailto:"+s.anchorNode.data.trim())){ -var _16=s.anchorNode; -var _17=function(){ -a.href="mailto:"+_16.data.trim(); -a._updateAnchTimeout=setTimeout(_17,250); -}; -a._updateAnchTimeout=setTimeout(_17,1000); -break; -} -var m=s.anchorNode.data.match(Xinha.RE_url); -if(m&&a.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(s.anchorNode.data.trim())))){ -var _19=s.anchorNode; -var _1a=function(){ -m=_19.data.match(Xinha.RE_url); -if(m){ -a.href=(m[1]?m[1]:"http://")+m[2]; -} -a._updateAnchTimeout=setTimeout(_1a,250); -}; -a._updateAnchTimeout=setTimeout(_1a,1000); -} -} -} -break; -} -return false; -}; -Opera.prototype.handleBackspace=function(){ -var _1b=this.editor; -setTimeout(function(){ -var sel=_1b.getSelection(); -var _1d=_1b.createRange(sel); -var SC=_1d.startContainer; -var SO=_1d.startOffset; -var EC=_1d.endContainer; -var EO=_1d.endOffset; -var _22=SC.nextSibling; -if(SC.nodeType==3){ -SC=SC.parentNode; -} -if(!(/\S/.test(SC.tagName))){ -var p=document.createElement("p"); -while(SC.firstChild){ -p.appendChild(SC.firstChild); -} -SC.parentNode.insertBefore(p,SC); -Xinha.removeFromParent(SC); -var r=_1d.cloneRange(); -r.setStartBefore(_22); -r.setEndAfter(_22); -r.extractContents(); -sel.removeAllRanges(); -sel.addRange(r); -} -},10); -}; -Opera.prototype.inwardHtml=function(_25){ -_25=_25.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2"); -return _25; -}; -Opera.prototype.outwardHtml=function(_26){ -return _26; -}; -Opera.prototype.onExecCommand=function(_27,UI,_29){ -switch(_27){ -case "removeformat": -var _2a=this.editor; -var sel=_2a.getSelection(); -var _2c=_2a.saveSelection(sel); -var _2d=_2a.createRange(sel); -var els=_2a._doc.body.getElementsByTagName("*"); -var _2f=(_2d.startContainer.nodeType==1)?_2d.startContainer:_2d.startContainer.parentNode; -var i,el; -if(sel.isCollapsed){ -_2d.selectNodeContents(_2a._doc.body); -} -for(i=0;isel.anchorOffset&&sel.anchorNode.childNodes[sel.anchorOffset].nodeType==1){ -return sel.anchorNode.childNodes[sel.anchorOffset]; -}else{ -if(sel.anchorNode.nodeType==1){ -return sel.anchorNode; -}else{ -return null; -} -} -} -return null; -}; -Xinha.prototype.selectionEmpty=function(sel){ -if(!sel){ -return true; -} -if(typeof sel.isCollapsed!="undefined"){ -return sel.isCollapsed; -} -return true; -}; -Xinha.prototype.saveSelection=function(){ -return this.createRange(this.getSelection()).cloneRange(); -}; -Xinha.prototype.restoreSelection=function(_3d){ -var sel=this.getSelection(); -sel.removeAllRanges(); -sel.addRange(_3d); -}; -Xinha.prototype.selectNodeContents=function(_3f,pos){ -this.focusEditor(); -this.forceRedraw(); -var _41; -var _42=typeof pos=="undefined"?true:false; -var sel=this.getSelection(); -_41=this._doc.createRange(); -if(_42&&_3f.tagName&&_3f.tagName.toLowerCase().match(/table|img|input|textarea|select/)){ -_41.selectNode(_3f); -}else{ -_41.selectNodeContents(_3f); -} -sel.removeAllRanges(); -sel.addRange(_41); -}; -Xinha.prototype.insertHTML=function(_44){ -var sel=this.getSelection(); -var _46=this.createRange(sel); -this.focusEditor(); -var _47=this._doc.createDocumentFragment(); -var div=this._doc.createElement("div"); -div.innerHTML=_44; -while(div.firstChild){ -_47.appendChild(div.firstChild); -} -var _49=this.insertNodeAtSelection(_47); -}; -Xinha.prototype.getSelectedHTML=function(){ -var sel=this.getSelection(); -if(sel.isCollapsed){ -return ""; -} -var _4b=this.createRange(sel); -return Xinha.getHTML(_4b.cloneContents(),false,this); -}; -Xinha.prototype.getSelection=function(){ -var sel=this._iframe.contentWindow.getSelection(); -if(sel&&sel.focusNode&&sel.focusNode.tagName&&sel.focusNode.tagName=="HTML"){ -var bod=this._doc.getElementsByTagName("body")[0]; -var rng=this.createRange(); -rng.selectNodeContents(bod); -sel.removeAllRanges(); -sel.addRange(rng); -sel.collapseToEnd(); -} -return sel; -}; -Xinha.prototype.createRange=function(sel){ -this.activateEditor(); -if(typeof sel!="undefined"){ -try{ -return sel.getRangeAt(0); -} -catch(ex){ -return this._doc.createRange(); -} -}else{ -return this._doc.createRange(); -} -}; -Xinha.prototype.isKeyEvent=function(_50){ -return _50.type=="keypress"; -}; -Xinha.prototype.getKey=function(_51){ -return String.fromCharCode(_51.charCode); -}; -Xinha.getOuterHTML=function(_52){ -return (new XMLSerializer()).serializeToString(_52); -}; -Xinha.prototype.setCC=function(_53){ -var cc=String.fromCharCode(8286); -try{ -if(_53=="textarea"){ -var ta=this._textArea; -var _56=ta.selectionStart; -var _57=ta.value.substring(0,_56); -var _58=ta.value.substring(_56,ta.value.length); -if(_58.match(/^[^<]*>/)){ -var _59=_58.indexOf(">")+1; -ta.value=_57+_58.substring(0,_59)+cc+_58.substring(_59,_58.length); -}else{ -ta.value=_57+cc+_58; -} -ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("(]*>[^"+cc+"]*?)("+cc+")([^"+cc+"]*?)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4"); -ta.value=ta.value.replace(cc,"MARK"); -}else{ -var sel=this.getSelection(); -var _5b=this._doc.createElement("span"); -_5b.id="XinhaOperaCaretMarker"; -sel.getRangeAt(0).insertNode(_5b); -} -} -catch(e){ -} -}; -Xinha.prototype.findCC=function(_5c){ -if(_5c=="textarea"){ -var ta=this._textArea; -var pos=ta.value.search(/(((\s|(MARK))*<\/span>)?)/); -if(pos==-1){ -return; -} -var cc=RegExp.$1; -var end=pos+cc.length; -var _61=ta.value.substring(0,pos); -var _62=ta.value.substring(end,ta.value.length); -ta.value=_61; -ta.scrollTop=ta.scrollHeight; -var _63=ta.scrollTop; -ta.value+=_62; -ta.setSelectionRange(pos,pos); -ta.focus(); -ta.scrollTop=_63; -}else{ -var _64=this._doc.getElementById("XinhaOperaCaretMarker"); -if(_64){ -this.focusEditor(); -var rng=this.createRange(); -rng.selectNode(_64); -var sel=this.getSelection(); -sel.addRange(rng); -sel.collapseToStart(); -this.scrollToElement(_64); -_64.parentNode.removeChild(_64); -return; -} -} -}; -Xinha.getDoctype=function(doc){ -var d=""; -if(doc.doctype){ -d+=""; -} -return d; -}; -Xinha.prototype._standardInitIframe=Xinha.prototype.initIframe; -Xinha.prototype.initIframe=function(){ -if(!this._iframeLoadDone){ -if(this._iframe.contentWindow&&this._iframe.contentWindow.xinhaReadyToRoll){ -this._iframeLoadDone=true; -this._standardInitIframe(); -}else{ -var _69=this; -setTimeout(function(){ -_69.initIframe(); -},5); -} -} -}; -Xinha._addEventOperaOrig=Xinha._addEvent; -Xinha._addEvent=function(el,_6b,_6c){ -if(el.tagName&&el.tagName.toLowerCase()=="select"&&_6b=="change"){ -return Xinha.addDom0Event(el,_6b,_6c); -} -return Xinha._addEventOperaOrig(el,_6b,_6c); -}; - +Opera._pluginInfo={name:"Opera",origin:"Xinha Core",version:"$LastChangedRevision: 1084 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/Opera/Opera.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"Gogo Internet Services Limited",sponsor_url:"http://www.gogo.co.nz/",license:"htmlArea"};function Opera(a){this.editor=a;a.Opera=this}Opera.prototype.onKeyPress=function(t){var f=this.editor;var j=f.getSelection();if(f.isShortCut(t)){switch(f.getKey(t).toLowerCase()){case"z":if(f._unLink&&f._unlinkOnUndo){Xinha._stopEvent(t);f._unLink();f.updateToolbar();return true}break;case"a":sel=f.getSelection();sel.removeAllRanges();range=f.createRange();range.selectNodeContents(f._doc.body);sel.addRange(range);Xinha._stopEvent(t);return true;break;case"v":if(!f.config.htmlareaPaste){return true}break}}switch(f.getKey(t)){case" ":var e=function(y,m){var x=y.nextSibling;if(typeof m=="string"){m=f._doc.createElement(m)}var s=y.parentNode.insertBefore(m,x);Xinha.removeFromParent(y);s.appendChild(y);x.data=" "+x.data;j.collapse(x,1);f._unLink=function(){var a=s.firstChild;s.removeChild(a);s.parentNode.insertBefore(a,s);Xinha.removeFromParent(s);f._unLink=null;f._unlinkOnUndo=false};f._unlinkOnUndo=true;return s};if(f.config.convertUrlsToLinks&&j&&j.isCollapsed&&j.anchorNode.nodeType==3&&j.anchorNode.data.length>3&&j.anchorNode.data.indexOf(".")>=0){var n=j.anchorNode.data.substring(0,j.anchorOffset).search(/\S{4,}$/);if(n==-1){break}if(f._getFirstAncestor(j,"a")){break}var h=j.anchorNode.data.substring(0,j.anchorOffset).replace(/^.*?(\S*)$/,"$1");var d=h.match(Xinha.RE_email);if(d){var k=j.anchorNode;var c=k.splitText(j.anchorOffset);var w=k.splitText(n);e(w,"a").href="mailto:"+d[0];break}RE_date=/([0-9]+\.)+/;RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;var o=h.match(Xinha.RE_url);if(o){if(RE_date.test(h)){break}var g=j.anchorNode;var b=g.splitText(j.anchorOffset);var q=g.splitText(n);e(q,"a").href=(o[1]?o[1]:"http://")+o[2];break}}break}switch(t.keyCode){case 27:if(f._unLink){f._unLink();Xinha._stopEvent(t)}break;break;case 8:case 46:if(!t.shiftKey&&this.handleBackspace()){Xinha._stopEvent(t)}default:f._unlinkOnUndo=false;if(j.anchorNode&&j.anchorNode.nodeType==3){var v=f._getFirstAncestor(j,"a");if(!v){break}if(!v._updateAnchTimeout){if(j.anchorNode.data.match(Xinha.RE_email)&&v.href.match("mailto:"+j.anchorNode.data.trim())){var u=j.anchorNode;var i=function(){v.href="mailto:"+u.data.trim();v._updateAnchTimeout=setTimeout(i,250)};v._updateAnchTimeout=setTimeout(i,1000);break}var l=j.anchorNode.data.match(Xinha.RE_url);if(l&&v.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(j.anchorNode.data.trim())))){var p=j.anchorNode;var r=function(){l=p.data.match(Xinha.RE_url);if(l){v.href=(l[1]?l[1]:"http://")+l[2]}v._updateAnchTimeout=setTimeout(r,250)};v._updateAnchTimeout=setTimeout(r,1000)}}}break}return false};Opera.prototype.handleBackspace=function(){var a=this.editor;setTimeout(function(){var e=a.getSelection();var g=a.createRange(e);var f=g.startContainer;var i=g.startOffset;var c=g.endContainer;var h=g.endOffset;var j=f.nextSibling;if(f.nodeType==3){f=f.parentNode}if(!(/\S/.test(f.tagName))){var d=document.createElement("p");while(f.firstChild){d.appendChild(f.firstChild)}f.parentNode.insertBefore(d,f);Xinha.removeFromParent(f);var b=g.cloneRange();b.setStartBefore(j);b.setEndAfter(j);b.extractContents();e.removeAllRanges();e.addRange(b)}},10)};Opera.prototype.inwardHtml=function(a){a=a.replace(/<(\/?)del(\s|>|\/)/ig,"<$1strike$2");return a};Opera.prototype.outwardHtml=function(a){return a};Opera.prototype.onExecCommand=function(g,e,f){switch(g){case"removeformat":var c=this.editor;var d=c.getSelection();var l=c.saveSelection(d);var k=c.createRange(d);var h=c._doc.body.getElementsByTagName("*");var a=(k.startContainer.nodeType==1)?k.startContainer:k.startContainer.parentNode;var j,b;if(d.isCollapsed){k.selectNodeContents(c._doc.body)}for(j=0;ja.anchorOffset&&a.anchorNode.childNodes[a.anchorOffset].nodeType==1){return a.anchorNode.childNodes[a.anchorOffset]}else{if(a.anchorNode.nodeType==1){return a.anchorNode}else{return null}}}return null};Xinha.prototype.selectionEmpty=function(a){if(!a){return true}if(typeof a.isCollapsed!="undefined"){return a.isCollapsed}return true};Xinha.prototype.saveSelection=function(){return this.createRange(this.getSelection()).cloneRange()};Xinha.prototype.restoreSelection=function(b){var a=this.getSelection();a.removeAllRanges();a.addRange(b)};Xinha.prototype.selectNodeContents=function(c,a){this.focusEditor();this.forceRedraw();var b;var e=typeof a=="undefined"?true:false;var d=this.getSelection();b=this._doc.createRange();if(e&&c.tagName&&c.tagName.toLowerCase().match(/table|img|input|textarea|select/)){b.selectNode(c)}else{b.selectNodeContents(c)}d.removeAllRanges();d.addRange(b);if(typeof a!="undefined"){if(a){d.collapse(b.startContainer,b.startOffset)}else{d.collapse(b.endContainer,b.endOffset)}}};Xinha.prototype.insertHTML=function(c){var e=this.getSelection();var a=this.createRange(e);this.focusEditor();var b=this._doc.createDocumentFragment();var f=this._doc.createElement("div");f.innerHTML=c;while(f.firstChild){b.appendChild(f.firstChild)}var d=this.insertNodeAtSelection(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(b.isCollapsed){return""}var a=this.createRange(b);return Xinha.getHTML(a.cloneContents(),false,this)};Xinha.prototype.getSelection=function(){var c=this._iframe.contentWindow.getSelection();if(c&&c.focusNode&&c.focusNode.tagName&&c.focusNode.tagName=="HTML"){var b=this._doc.getElementsByTagName("body")[0];var a=this.createRange();a.selectNodeContents(b);c.removeAllRanges();c.addRange(a);c.collapseToEnd()}return c};Xinha.prototype.createRange=function(b){this.activateEditor();if(typeof b!="undefined"){try{return b.getRangeAt(0)}catch(a){return this._doc.createRange()}}else{return this._doc.createRange()}};Xinha.prototype.isKeyEvent=function(a){return a.type=="keypress"};Xinha.prototype.getKey=function(a){return String.fromCharCode(a.charCode)};Xinha.getOuterHTML=function(a){return(new XMLSerializer()).serializeToString(a)};Xinha.cc=String.fromCharCode(8286);Xinha.prototype.setCC=function(c){var f=Xinha.cc;try{if(c=="textarea"){var h=this._textArea;var i=h.selectionStart;var k=h.value.substring(0,i);var b=h.value.substring(i,h.value.length);if(b.match(/^[^<]*>/)){var a=b.indexOf(">")+1;h.value=k+b.substring(0,a)+f+b.substring(a,b.length)}else{h.value=k+f+b}h.value=h.value.replace(new RegExp("(&[^"+f+"]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");h.value=h.value.replace(new RegExp("(]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");h.value=h.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*]*>)(.*?)"),"$1$3$2$4");h.value=h.value.replace(f,'MARK')}else{var d=this.getSelection();var g=this._doc.createElement("span");g.id="XinhaOperaCaretMarker";d.getRangeAt(0).insertNode(g)}}catch(j){}};Xinha.prototype.findCC=function(c){if(c=="textarea"){var i=this._textArea;var j=i.value.search(/(((\s|(MARK))*<\/span>)?)/);if(j==-1){return}var f=RegExp.$1;var h=j+f.length;var k=i.value.substring(0,j);var b=i.value.substring(h,i.value.length);i.value=k;i.scrollTop=i.scrollHeight;var e=i.scrollTop;i.value+=b;i.setSelectionRange(j,j);i.focus();i.scrollTop=e}else{var g=this._doc.getElementById("XinhaOperaCaretMarker");if(g){this.focusEditor();var a=this.createRange();a.selectNode(g);var d=this.getSelection();d.addRange(a);d.collapseToStart();this.scrollToElement(g);g.parentNode.removeChild(g);return}}};Xinha.getDoctype=function(a){var b="";if(a.doctype){b+=""}return b};Xinha.prototype._standardInitIframe=Xinha.prototype.initIframe;Xinha.prototype.initIframe=function(){if(!this._iframeLoadDone){if(this._iframe.contentWindow&&this._iframe.contentWindow.xinhaReadyToRoll){this._iframeLoadDone=true;this._standardInitIframe()}else{var a=this;setTimeout(function(){a.initIframe()},5)}}};Xinha._addEventOperaOrig=Xinha._addEvent;Xinha._addEvent=function(b,a,c){if(b.tagName&&b.tagName.toLowerCase()=="select"&&a=="change"){return Xinha.addDom0Event(b,a,c)}return Xinha._addEventOperaOrig(b,a,c)}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/modules/WebKit/WebKit.js b/ccm-core/web/assets/xinha/modules/WebKit/WebKit.js index 8077d6db8..5ff40f504 100644 --- a/ccm-core/web/assets/xinha/modules/WebKit/WebKit.js +++ b/ccm-core/web/assets/xinha/modules/WebKit/WebKit.js @@ -1,478 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/modules/WebKit/WebKit.js */ -WebKit._pluginInfo={name:"WebKit",origin:"Xinha Core",version:"$LastChangedRevision:998 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL:http://svn.xinha.webfactional.com/trunk/modules/WebKit/WebKit.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"}; -function WebKit(_1){ -this.editor=_1; -_1.WebKit=this; -} -WebKit.prototype.onKeyPress=function(ev){ -var _3=this.editor; -var s=_3.getSelection(); -if(_3.isShortCut(ev)){ -switch(_3.getKey(ev).toLowerCase()){ -case "z": -if(_3._unLink&&_3._unlinkOnUndo){ -Xinha._stopEvent(ev); -_3._unLink(); -_3.updateToolbar(); -return true; -} -break; -case "a": -break; -case "v": -if(!_3.config.htmlareaPaste){ -return true; -} -break; -} -} -switch(_3.getKey(ev)){ -case " ": -var _5=function(_6,_7){ -var _8=_6.nextSibling; -if(typeof _7=="string"){ -_7=_3._doc.createElement(_7); -} -var a=_6.parentNode.insertBefore(_7,_8); -Xinha.removeFromParent(_6); -a.appendChild(_6); -_8.data=" "+_8.data; -s.collapse(_8,1); -_3._unLink=function(){ -var t=a.firstChild; -a.removeChild(t); -a.parentNode.insertBefore(t,a); -Xinha.removeFromParent(a); -_3._unLink=null; -_3._unlinkOnUndo=false; -}; -_3._unlinkOnUndo=true; -return a; -}; -if(_3.config.convertUrlsToLinks&&s&&s.isCollapsed&&s.anchorNode.nodeType==3&&s.anchorNode.data.length>3&&s.anchorNode.data.indexOf(".")>=0){ -var _b=s.anchorNode.data.substring(0,s.anchorOffset).search(/\S{4,}$/); -if(_b==-1){ -break; -} -if(_3._getFirstAncestor(s,"a")){ -break; -} -var _c=s.anchorNode.data.substring(0,s.anchorOffset).replace(/^.*?(\S*)$/,"$1"); -var _d=_c.match(Xinha.RE_email); -if(_d){ -var _e=s.anchorNode; -var _f=_e.splitText(s.anchorOffset); -var _10=_e.splitText(_b); -_5(_10,"a").href="mailto:"+_d[0]; -break; -} -RE_date=/([0-9]+\.)+/; -RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/; -var _11=_c.match(Xinha.RE_url); -if(_11){ -if(RE_date.test(_c)){ -break; -} -var _12=s.anchorNode; -var _13=_12.splitText(s.anchorOffset); -var _14=_12.splitText(_b); -_5(_14,"a").href=(_11[1]?_11[1]:"http://")+_11[2]; -break; -} -} -break; -} -switch(ev.keyCode){ -case 13: -if(ev.shiftKey){ -} -break; -case 27: -if(_3._unLink){ -_3._unLink(); -Xinha._stopEvent(ev); -} -break; -case 8: -case 46: -if(!ev.shiftKey&&this.handleBackspace()){ -Xinha._stopEvent(ev); -} -break; -default: -_3._unlinkOnUndo=false; -if(s.anchorNode&&s.anchorNode.nodeType==3){ -var a=_3._getFirstAncestor(s,"a"); -if(!a){ -break; -} -if(!a._updateAnchTimeout){ -if(s.anchorNode.data.match(Xinha.RE_email)&&a.href.match("mailto:"+s.anchorNode.data.trim())){ -var _16=s.anchorNode; -var _17=function(){ -a.href="mailto:"+_16.data.trim(); -a._updateAnchTimeout=setTimeout(_17,250); -}; -a._updateAnchTimeout=setTimeout(_17,1000); -break; -} -var m=s.anchorNode.data.match(Xinha.RE_url); -if(m&&a.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(s.anchorNode.data.trim())))){ -var _19=s.anchorNode; -var _1a=function(){ -m=_19.data.match(Xinha.RE_url); -if(m){ -a.href=(m[1]?m[1]:"http://")+m[2]; -} -a._updateAnchTimeout=setTimeout(_1a,250); -}; -a._updateAnchTimeout=setTimeout(_1a,1000); -} -} -} -break; -} -return false; -}; -WebKit.prototype.handleBackspace=function(){ -var _1b=this.editor; -setTimeout(function(){ -var sel=_1b.getSelection(); -var _1d=_1b.createRange(sel); -var SC=_1d.startContainer; -var SO=_1d.startOffset; -var EC=_1d.endContainer; -var EO=_1d.endOffset; -var _22=SC.nextSibling; -if(SC.nodeType==3){ -SC=SC.parentNode; -} -if(!(/\S/.test(SC.tagName))){ -var p=document.createElement("p"); -while(SC.firstChild){ -p.appendChild(SC.firstChild); -} -SC.parentNode.insertBefore(p,SC); -Xinha.removeFromParent(SC); -var r=_1d.cloneRange(); -r.setStartBefore(_22); -r.setEndAfter(_22); -r.extractContents(); -sel.removeAllRanges(); -sel.addRange(r); -} -},10); -}; -WebKit.prototype.inwardHtml=function(_25){ -return _25; -}; -WebKit.prototype.outwardHtml=function(_26){ -return _26; -}; -WebKit.prototype.onExecCommand=function(_27,UI,_29){ -this.editor._doc.execCommand("styleWithCSS",false,false); -switch(_27){ -case "paste": -alert(Xinha._lc("The Paste button does not work in the Safari browser for security reasons. Press CTRL-V on your keyboard to paste directly.")); -return true; -break; -case "removeformat": -var _2a=this.editor; -var sel=_2a.getSelection(); -var _2c=_2a.saveSelection(sel); -var _2d=_2a.createRange(sel); -var els=_2a._doc.getElementsByTagName("*"); -els=Xinha.collectionToArray(els); -var _2f=(_2d.startContainer.nodeType==1)?_2d.startContainer:_2d.startContainer.parentNode; -var i,el,newNode,fragment,child,r2=_2a._doc.createRange(); -function clean(el){ -if(el.nodeType!=1){ -return; -} -el.removeAttribute("style"); -for(var j=0;jsel.anchorOffset&&sel.anchorNode.childNodes[sel.anchorOffset].nodeType==1){ -return sel.anchorNode.childNodes[sel.anchorOffset]; -}else{ -if(sel.anchorNode.nodeType==1){ -return sel.anchorNode; -}else{ -return null; -} -} -} -return null; -}; -Xinha.prototype.selectionEmpty=function(sel){ -if(!sel){ -return true; -} -if(typeof sel.isCollapsed!="undefined"){ -return sel.isCollapsed; -} -return true; -}; -Xinha.prototype.saveSelection=function(){ -return this.createRange(this.getSelection()).cloneRange(); -}; -Xinha.prototype.restoreSelection=function(_3f){ -var sel=this.getSelection(); -sel.removeAllRanges(); -sel.addRange(_3f); -}; -Xinha.prototype.selectNodeContents=function(_41,pos){ -this.focusEditor(); -this.forceRedraw(); -var _43; -var _44=typeof pos=="undefined"?true:false; -var sel=this.getSelection(); -_43=this._doc.createRange(); -if(_44&&_41.tagName&&_41.tagName.toLowerCase().match(/table|img|input|textarea|select/)){ -_43.selectNode(_41); -}else{ -_43.selectNodeContents(_41); -} -sel.removeAllRanges(); -sel.addRange(_43); -}; -Xinha.prototype.insertHTML=function(_46){ -var sel=this.getSelection(); -var _48=this.createRange(sel); -this.focusEditor(); -var _49=this._doc.createDocumentFragment(); -var div=this._doc.createElement("div"); -div.innerHTML=_46; -while(div.firstChild){ -_49.appendChild(div.firstChild); -} -var _4b=this.insertNodeAtSelection(_49); -}; -Xinha.prototype.getSelectedHTML=function(){ -var sel=this.getSelection(); -if(sel.isCollapsed){ -return ""; -} -var _4d=this.createRange(sel); -if(_4d){ -return Xinha.getHTML(_4d.cloneContents(),false,this); -}else{ -return ""; -} -}; -Xinha.prototype.getSelection=function(){ -return this._iframe.contentWindow.getSelection(); -}; -Xinha.prototype.createRange=function(sel){ -this.activateEditor(); -if(typeof sel!="undefined"){ -try{ -return sel.getRangeAt(0); -} -catch(ex){ -return this._doc.createRange(); -} -}else{ -return this._doc.createRange(); -} -}; -Xinha.prototype.isKeyEvent=function(_4f){ -return _4f.type=="keypress"; -}; -Xinha.prototype.getKey=function(_50){ -var key=String.fromCharCode(parseInt(_50.keyIdentifier.replace(/^U\+/,""),16)); -if(_50.shiftKey){ -return key; -}else{ -return key.toLowerCase(); -} -}; -Xinha.getOuterHTML=function(_52){ -return (new XMLSerializer()).serializeToString(_52); -}; -Xinha.prototype.cc=String.fromCharCode(8286); -Xinha.prototype.setCC=function(_53){ -var cc=this.cc; -try{ -if(_53=="textarea"){ -var ta=this._textArea; -var _56=ta.selectionStart; -var _57=ta.value.substring(0,_56); -var _58=ta.value.substring(_56,ta.value.length); -if(_58.match(/^[^<]*>/)){ -var _59=_58.indexOf(">")+1; -ta.value=_57+_58.substring(0,_59)+cc+_58.substring(_59,_58.length); -}else{ -ta.value=_57+cc+_58; -} -ta.value=ta.value.replace(new RegExp("(&[^"+cc+"]*?)("+cc+")([^"+cc+"]*?;)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("(]*>[^"+cc+"]*?)("+cc+")([^"+cc+"]*?)"),"$1$3$2"); -ta.value=ta.value.replace(new RegExp("^([^"+cc+"]*)("+cc+")([^"+cc+"]*]*>)(.*?)"),"$1$3$2$4"); -}else{ -var sel=this.getSelection(); -sel.getRangeAt(0).insertNode(this._doc.createTextNode(cc)); -} -} -catch(e){ -} -}; -Xinha.prototype.findCC=function(_5b){ -if(_5b=="textarea"){ -var ta=this._textArea; -var pos=ta.value.indexOf(this.cc); -if(pos==-1){ -return; -} -var end=pos+this.cc.length; -var _5f=ta.value.substring(0,pos); -var _60=ta.value.substring(end,ta.value.length); -ta.value=_5f; -ta.scrollTop=ta.scrollHeight; -var _61=ta.scrollTop; -ta.value+=_60; -ta.setSelectionRange(pos,pos); -ta.focus(); -ta.scrollTop=_61; -}else{ -var _62=this; -try{ -var doc=this._doc; -doc.body.innerHTML=doc.body.innerHTML.replace(new RegExp(this.cc),""); -var _64=doc.getElementById("XinhaEditingPostion"); -this.selectNodeContents(_64); -this.scrollToElement(_64); -_64.parentNode.removeChild(_64); -this._iframe.contentWindow.focus(); -} -catch(e){ -} -} -}; -Xinha.prototype._standardToggleBorders=Xinha.prototype._toggleBorders; -Xinha.prototype._toggleBorders=function(){ -var _65=this._standardToggleBorders(); -var _66=this._doc.getElementsByTagName("TABLE"); -for(var i=0;i<_66.length;i++){ -_66[i].style.display="none"; -_66[i].style.display="table"; -} -return _65; -}; -Xinha.getDoctype=function(doc){ -var d=""; -if(doc.doctype){ -d+=""; -} -return d; -}; - +WebKit._pluginInfo={name:"WebKit",origin:"Xinha Core",version:"$LastChangedRevision: 1146 $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),developer:"The Xinha Core Developer Team",developer_url:"$HeadURL: http://svn.xinha.org/trunk/modules/WebKit/WebKit.js $".replace(/^[^:]*:\s*(.*)\s*\$$/,"$1"),sponsor:"",sponsor_url:"",license:"htmlArea"};function WebKit(a){this.editor=a;a.WebKit=this}WebKit.prototype.onKeyPress=function(t){var f=this.editor;var j=f.getSelection();if(f.isShortCut(t)){switch(f.getKey(t).toLowerCase()){case"z":if(f._unLink&&f._unlinkOnUndo){Xinha._stopEvent(t);f._unLink();f.updateToolbar();return true}break;case"a":break;case"v":if(!f.config.htmlareaPaste){return true}break}}switch(f.getKey(t)){case" ":var e=function(y,m){var x=y.nextSibling;if(typeof m=="string"){m=f._doc.createElement(m)}var s=y.parentNode.insertBefore(m,x);Xinha.removeFromParent(y);s.appendChild(y);x.data=" "+x.data;j.collapse(x,1);f._unLink=function(){var a=s.firstChild;s.removeChild(a);s.parentNode.insertBefore(a,s);Xinha.removeFromParent(s);f._unLink=null;f._unlinkOnUndo=false};f._unlinkOnUndo=true;return s};if(f.config.convertUrlsToLinks&&j&&j.isCollapsed&&j.anchorNode.nodeType==3&&j.anchorNode.data.length>3&&j.anchorNode.data.indexOf(".")>=0){var n=j.anchorNode.data.substring(0,j.anchorOffset).search(/\S{4,}$/);if(n==-1){break}if(f._getFirstAncestor(j,"a")){break}var h=j.anchorNode.data.substring(0,j.anchorOffset).replace(/^.*?(\S*)$/,"$1");var d=h.match(Xinha.RE_email);if(d){var k=j.anchorNode;var c=k.splitText(j.anchorOffset);var w=k.splitText(n);e(w,"a").href="mailto:"+d[0];break}RE_date=/([0-9]+\.)+/;RE_ip=/(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;var o=h.match(Xinha.RE_url);if(o){if(RE_date.test(h)){break}var g=j.anchorNode;var b=g.splitText(j.anchorOffset);var q=g.splitText(n);e(q,"a").href=(o[1]?o[1]:"http://")+o[2];break}}break}switch(t.keyCode){case 13:if(t.shiftKey){}break;case 27:if(f._unLink){f._unLink();Xinha._stopEvent(t)}break;case 8:case 46:if(!t.shiftKey&&this.handleBackspace()){Xinha._stopEvent(t)}break;default:f._unlinkOnUndo=false;if(j.anchorNode&&j.anchorNode.nodeType==3){var v=f._getFirstAncestor(j,"a");if(!v){break}if(!v._updateAnchTimeout){if(j.anchorNode.data.match(Xinha.RE_email)&&v.href.match("mailto:"+j.anchorNode.data.trim())){var u=j.anchorNode;var i=function(){v.href="mailto:"+u.data.trim();v._updateAnchTimeout=setTimeout(i,250)};v._updateAnchTimeout=setTimeout(i,1000);break}var l=j.anchorNode.data.match(Xinha.RE_url);if(l&&v.href.match(new RegExp("http(s)?://"+Xinha.escapeStringForRegExp(j.anchorNode.data.trim())))){var p=j.anchorNode;var r=function(){l=p.data.match(Xinha.RE_url);if(l){v.href=(l[1]?l[1]:"http://")+l[2]}v._updateAnchTimeout=setTimeout(r,250)};v._updateAnchTimeout=setTimeout(r,1000)}}}break}return false};WebKit.prototype.handleBackspace=function(){var a=this.editor;setTimeout(function(){var e=a.getSelection();var g=a.createRange(e);var f=g.startContainer;var i=g.startOffset;var c=g.endContainer;var h=g.endOffset;var j=f.nextSibling;if(f.nodeType==3){f=f.parentNode}if(!(/\S/.test(f.tagName))){var d=document.createElement("p");while(f.firstChild){d.appendChild(f.firstChild)}f.parentNode.insertBefore(d,f);Xinha.removeFromParent(f);var b=g.cloneRange();b.setStartBefore(j);b.setEndAfter(j);b.extractContents();e.removeAllRanges();e.addRange(b)}},10)};WebKit.prototype.inwardHtml=function(a){return a};WebKit.prototype.outwardHtml=function(a){return a};WebKit.prototype.onExecCommand=function(k,h,j){this.editor._doc.execCommand("styleWithCSS",false,false);switch(k){case"paste":alert(Xinha._lc("The Paste button does not work in the Safari browser for security reasons. Press CTRL-V on your keyboard to paste directly."));return true;break;case"removeformat":var f=this.editor;var g=f.getSelection();var q=f.saveSelection(g);var n=f.createRange(g);var l=f._doc.getElementsByTagName("*");l=Xinha.collectionToArray(l);var b=(n.startContainer.nodeType==1)?n.startContainer:n.startContainer.parentNode;var m,e,p,a,d,c=f._doc.createRange();function o(r){if(r.nodeType!=1){return}r.removeAttribute("style");for(var i=0;ia.anchorOffset&&a.anchorNode.childNodes[a.anchorOffset].nodeType==1){return a.anchorNode.childNodes[a.anchorOffset]}else{if(a.anchorNode.nodeType==1){return a.anchorNode}else{return null}}}return null};Xinha.prototype.selectionEmpty=function(a){if(!a){return true}if(typeof a.isCollapsed!="undefined"){return a.isCollapsed}return true};Xinha.prototype.saveSelection=function(){return this.createRange(this.getSelection()).cloneRange()};Xinha.prototype.restoreSelection=function(b){var a=this.getSelection();a.removeAllRanges();a.addRange(b)};Xinha.prototype.selectNodeContents=function(c,a){this.focusEditor();this.forceRedraw();var b;var e=typeof a=="undefined"?true:false;var d=this.getSelection();b=this._doc.createRange();if(e&&c.tagName&&c.tagName.toLowerCase().match(/table|img|input|textarea|select/)){b.selectNode(c)}else{b.selectNodeContents(c)}d.removeAllRanges();d.addRange(b);if(typeof a!="undefined"){if(a){d.collapse(b.startContainer,b.startOffset)}else{d.collapse(b.endContainer,b.endOffset)}}};Xinha.prototype.insertHTML=function(c){var e=this.getSelection();var a=this.createRange(e);this.focusEditor();var b=this._doc.createDocumentFragment();var f=this._doc.createElement("div");f.innerHTML=c;while(f.firstChild){b.appendChild(f.firstChild)}var d=this.insertNodeAtSelection(b)};Xinha.prototype.getSelectedHTML=function(){var b=this.getSelection();if(b.isCollapsed){return""}var a=this.createRange(b);if(a){return Xinha.getHTML(a.cloneContents(),false,this)}else{return""}};Xinha.prototype.getSelection=function(){return this._iframe.contentWindow.getSelection()};Xinha.prototype.createRange=function(b){this.activateEditor();if(typeof b!="undefined"){try{return b.getRangeAt(0)}catch(a){return this._doc.createRange()}}else{return this._doc.createRange()}};Xinha.prototype.isKeyEvent=function(a){return a.type=="keydown"};Xinha.prototype.getKey=function(b){var a=String.fromCharCode(parseInt(b.keyIdentifier.replace(/^U\+/,""),16));if(b.shiftKey){return a}else{return a.toLowerCase()}};Xinha.getOuterHTML=function(a){return(new XMLSerializer()).serializeToString(a)};Xinha.cc=String.fromCharCode(8286);Xinha.prototype.setCC=function(c){var f=Xinha.cc;try{if(c=="textarea"){var g=this._textArea;var h=g.selectionStart;var j=g.value.substring(0,h);var b=g.value.substring(h,g.value.length);if(b.match(/^[^<]*>/)){var a=b.indexOf(">")+1;g.value=j+b.substring(0,a)+f+b.substring(a,b.length)}else{g.value=j+f+b}g.value=g.value.replace(new RegExp("(&[^"+f+";]*?)("+f+")([^"+f+"]*?;)"),"$1$3$2");g.value=g.value.replace(new RegExp("(]*>[^"+f+"]*?)("+f+")([^"+f+"]*?<\/script>)"),"$1$3$2");g.value=g.value.replace(new RegExp("^([^"+f+"]*)("+f+")([^"+f+"]*]*>)(.*?)"),"$1$3$2$4")}else{var d=this.getSelection();d.getRangeAt(0).insertNode(this._doc.createTextNode(f))}}catch(i){}};Xinha.prototype.findCC=function(b){var d=Xinha.cc;if(b=="textarea"){var g=this._textArea;var j=g.value.indexOf(d);if(j==-1){return}var f=j+d.length;var m=g.value.substring(0,j);var a=g.value.substring(f,g.value.length);g.value=m;g.scrollTop=g.scrollHeight;var c=g.scrollTop;g.value+=a;g.setSelectionRange(j,j);g.focus();g.scrollTop=c}else{var l=this;try{var k=this._doc;k.body.innerHTML=k.body.innerHTML.replace(new RegExp(d),'');var i=k.getElementById("XinhaEditingPostion");this.selectNodeContents(i);this.scrollToElement(i);i.parentNode.removeChild(i);this._iframe.contentWindow.focus()}catch(h){}}};Xinha.prototype._standardToggleBorders=Xinha.prototype._toggleBorders;Xinha.prototype._toggleBorders=function(){var c=this._standardToggleBorders();var a=this._doc.getElementsByTagName("TABLE");for(var b=0;bAbbreviation + +

    +
    + Expansion: + +
    +

    + +

    + + + +
    +
    + diff --git a/ccm-core/web/assets/xinha/plugins/Abbreviation/lang/es.js b/ccm-core/web/assets/xinha/plugins/Abbreviation/lang/es.js new file mode 100644 index 000000000..46cee4fec --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/Abbreviation/lang/es.js @@ -0,0 +1,8 @@ +// I18N constants +// LANG: "en", ENCODING: UTF-8 +// translated: Derick Leony +{ + "Abbreviation": "Abreviatura", + "Expansion:": "Explicación", + "Delete": "Suprimir" +}; diff --git a/ccm-core/web/assets/xinha/plugins/Abbreviation/popups/abbreviation.html b/ccm-core/web/assets/xinha/plugins/Abbreviation/popups/abbreviation.html deleted file mode 100755 index c4c260540..000000000 --- a/ccm-core/web/assets/xinha/plugins/Abbreviation/popups/abbreviation.html +++ /dev/null @@ -1,92 +0,0 @@ - - - Abbreviation - - - - - - - -
    Abbreviation
    -
    - - - - - -
    Expansion: - - - -
    - -
    - - - -
    -
    - - diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/background-image.js b/ccm-core/web/assets/xinha/plugins/BackgroundImage/background-image.js deleted file mode 100644 index 08736c5dc..000000000 --- a/ccm-core/web/assets/xinha/plugins/BackgroundImage/background-image.js +++ /dev/null @@ -1,31 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/BackgroundImage/background-image.js */ -function BackgroundImage(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"bgImage",tooltip:this._lc("Set page background image"),image:_1.imgURL("ed_bgimage.gif","BackgroundImage"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("bgImage","inserthorizontalrule",1); -} -BackgroundImage._pluginInfo={name:"BackgroundImage",version:"1.0",developer:"Udo Schmal",developer_url:"http://www.schaffrath-neuemedien.de/",c_owner:"Udo Schmal & Schaffrath NeueMedien",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de.de/",license:"htmlArea"}; -BackgroundImage.prototype._lc=function(_5){ -return Xinha._lc(_5,"BackgroundImage"); -}; -BackgroundImage.prototype.buttonPress=function(_6){ -_6._popupDialog("plugin://BackgroundImage/bgimage",function(_7){ -if(_7){ -if(Xinha.is_ie){ -_6.focusEditor(); -} -if(_7=="*"){ -_6._doc.body.background=""; -}else{ -_6._doc.body.background=_7; -} -} -},null); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/blufur.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/blufur.jpg deleted file mode 100755 index 27df6c6a86109532b80768081e35f62abf8a36bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3329 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 diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/blufur.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/blufur.jpg deleted file mode 100755 index f4ac4841fef2429bfaa0cb649cf98a13660bb948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1193 zcmbW!eNfYN9KiAK?`e+=80-N!bAdcmb{fxFfC0+DS_=e04lPgaM@4_kI5S-se8A`{G0RV_>;2 zC?p6#5CnojFaWp`1OfzxO@kl^iXbRP!Y~xYC`2NGWJWPFqf)3;nz@xF&75vdrCPEq z>DCM;lWAtbwqY@BtQbs&X$gd&D28HW3?nmWR2t(yhu;Bo64(y5Baj1t=@3GP@D9KM z0K%Znz@I@df?@503?E71fX=x%HGwVU>zDubVz2nW#yHS zwgpt*WroS0JG#fEoF!9OY#UoUCuf(JUVg>H)64tyU2g>L*&D>L+Oe;i>e~=gwze$oVYyV*XcO7lxsjF{j zY-(%o=Lw{(r^>MgnmszRk#epDqrKq$nFb#g2!gW09cJpbFIv!SeOAP^m23fs+oIe|p z(cArF)%sNFyh6t}OjSqB%qW5%?euhP$hW9&ufNW!G9)y$XvIyvw2ey4JdRUG}E}qj98T(BqUuYR>aYaJ)q1 zeQtPA@qfj(+xB-xhIC O9AnBUNmWrCeE4_cA^x-g diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/palecnvs.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/palecnvs.jpg deleted file mode 100755 index 4867a36ee51f3ec441292d85c7c7aa7c8ef7c22e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1145 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 diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/ylwsand.jpg b/ccm-core/web/assets/xinha/plugins/BackgroundImage/backgrounds/thumbnails/ylwsand.jpg deleted file mode 100755 index 1e11aa90611141016a7b2ece7ebe3ab115507e90..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3758 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 s`{~ -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Cancel": "Cancelar", - "Remove Current Background": "Remover fundo atual", - "Set Page Background Image": "Definir Imagem de Fundo", - "Set page background image": "Definir imagem de fundo" -} diff --git a/ccm-core/web/assets/xinha/plugins/BackgroundImage/popups/bgimage.html b/ccm-core/web/assets/xinha/plugins/BackgroundImage/popups/bgimage.html deleted file mode 100755 index 79e18f412..000000000 --- a/ccm-core/web/assets/xinha/plugins/BackgroundImage/popups/bgimage.html +++ /dev/null @@ -1,49 +0,0 @@ - - - -Set Page Background Image - - - - - -
    -
    Set Page Background Image
    - - - - - - - -
    -
    -
    - - -
    -
    - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/CSS/CSS.js b/ccm-core/web/assets/xinha/plugins/CSS/CSS.js new file mode 100644 index 000000000..6c589c314 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/CSS/CSS.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.Config.prototype.cssPluginConfig={combos:[{label:"Syntax",options:{None:"",Code:"code",String:"string",Comment:"comment","Variable name":"variable-name",Type:"type",Reference:"reference",Preprocessor:"preprocessor",Keyword:"keyword","Function name":"function-name","Html tag":"html-tag","Html italic":"html-helper-italic",Warning:"warning","Html bold":"html-helper-bold"},context:"pre"},{label:"Info",options:{None:"",Quote:"quote",Highlight:"highlight",Deprecated:"deprecated"}}]};function CSS(b,d){this.editor=b;var g=b.config;var k=this;var e;if(d&&d.length){e=d[0]}else{e=b.config.cssPluginConfig}var h=e.combos;for(var f=0;f","")}};CSS.prototype.updateValue=function(c,h){var g=c._toolbarObjects[h.id].element;var b=c.getParentElement();if(typeof b.className!="undefined"&&/\S/.test(b.className)){var e=g.options;var f=b.className;for(var d=e.length;--d>=0;){var a=e[d];if(f==a.value){g.selectedIndex=d;return}}}g.selectedIndex=0}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/CSS/css.js b/ccm-core/web/assets/xinha/plugins/CSS/css.js deleted file mode 100644 index bf4a755e8..000000000 --- a/ccm-core/web/assets/xinha/plugins/CSS/css.js +++ /dev/null @@ -1,77 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/CSS/css.js */ -Xinha.Config.prototype.cssPluginConfig={combos:[{label:"Syntax",options:{"None":"","Code":"code","String":"string","Comment":"comment","Variable name":"variable-name","Type":"type","Reference":"reference","Preprocessor":"preprocessor","Keyword":"keyword","Function name":"function-name","Html tag":"html-tag","Html italic":"html-helper-italic","Warning":"warning","Html bold":"html-helper-bold"},context:"pre"},{label:"Info",options:{"None":"","Quote":"quote","Highlight":"highlight","Deprecated":"deprecated"}}]}; -function CSS(_1,_2){ -this.editor=_1; -var _3=_1.config; -var _4=this; -var _5; -if(_2&&_2.length){ -_5=_2[0]; -}else{ -_5=_1.config.cssPluginConfig; -} -var _6=_5.combos; -for(var i=0;i<_6.length;i++){ -var _8=_6[i]; -var id="CSS-class"+i; -var _a={id:id,options:_8.options,action:function(_b){ -_4.onSelect(_b,this,_8.context,_8.updatecontextclass); -},refresh:function(_c){ -_4.updateValue(_c,this); -},context:_8.context}; -_3.registerDropdown(_a); -_3.addToolbarElement(["T["+_8.label+"]",id,"separator"],"formatblock",-1); -} -} -CSS._pluginInfo={name:"CSS",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"Mihai Bazon",sponsor:"Miro International",sponsor_url:"http://www.miro.com.au",license:"htmlArea"}; -CSS.prototype.onSelect=function(_d,_e,_f,_10){ -var _11=_d._toolbarObjects[_e.id]; -var _12=_11.element.selectedIndex; -var _13=_11.element.value; -var _14=_d.getParentElement(); -var _15=true; -var _16=(_14&&_14.tagName.toLowerCase()=="span"); -var _17=(_f&&_10&&_14&&_14.tagName.toLowerCase()==_f); -if(_17){ -_14.className=_13; -_d.updateToolbar(); -return; -} -if(_16&&_12==0&&!/\S/.test(_14.style.cssText)){ -while(_14.firstChild){ -_14.parentNode.insertBefore(_14.firstChild,_14); -} -_14.parentNode.removeChild(_14); -_d.updateToolbar(); -return; -} -if(_16){ -if(_14.childNodes.length==1){ -_14.className=_13; -_15=false; -_d.updateToolbar(); -} -} -if(_15){ -_d.surroundHTML("",""); -} -}; -CSS.prototype.updateValue=function(_18,obj){ -var _1a=_18._toolbarObjects[obj.id].element; -var _1b=_18.getParentElement(); -if(typeof _1b.className!="undefined"&&/\S/.test(_1b.className)){ -var _1c=_1a.options; -var _1d=_1b.className; -for(var i=_1c.length;--i>=0;){ -var _1f=_1c[i]; -if(_1d==_1f.value){ -_1a.selectedIndex=i; -return; -} -} -} -_1a.selectedIndex=0; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/CSSPicker/CSSPicker.js b/ccm-core/web/assets/xinha/plugins/CSSPicker/CSSPicker.js new file mode 100644 index 000000000..06bbcf11c --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/CSSPicker/CSSPicker.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function CSSPicker(a,b){this.editor=a;var c=this}CSSPicker._pluginInfo={name:"CSSPicker",version:"2008-12-01",author:"Justin Rovang"};CSSPicker.prototype.onGenerateOnce=function(){var a=this.editor;var b=this;a._cssPicker=a.addPanel("right");this.main=document.createElement("div");a._cssPicker.style.backgroundColor="#dee5f8";a._cssPicker.appendChild(this.main);Xinha.freeLater(this,"main");a.showPanel(a._cssPicker)};CSSPicker.prototype.onUpdateToolbar=function(){if(this.editor._cssPicker){if(this._timeoutID){window.clearTimeout(this._timeoutID)}var a=this.editor;this._timeoutID=window.setTimeout(function(){a._gen()},250)}};Xinha.prototype.listStyles=function(c){var a=this;var e=this.getSelection();var g;if(Xinha.is_ie){g=this.saveSelection();e=this.createRange(e).text}var f=document.createElement("div");f.className="CSSPickerOption";var b=a.getStyleInfo(c);if(b){Xinha._addClass(f,"CSSPickerOptionActive")}f.align="center";f.innerHTML='
    '+CSSPicker.cssList[c].name+"
    ";f.onclick=function(){a.wrapStyle(c,e,g,CSSPicker.cssList[c].wrapper);return false};Xinha._addEvent(f,"mouseover",function(d){Xinha._addClass(f,"CSSPickerOptionOver")});Xinha._addEvent(f,"mouseout",function(d){Xinha._removeClass(f,"CSSPickerOptionOver")});return f};Xinha.prototype._gen=function(){this.plugins.CSSPicker.instance.main.innerHTML="";for(var a in CSSPicker.cssList){this.plugins.CSSPicker.instance.main.appendChild(this.listStyles(a))}return true};Xinha.prototype.wrapStyle=function(d,e,g,f){if(!f){f="div"}f=f.toLowerCase();var a="";if(f=="div"){a="
    "}var b=this;this.focusEditor();if(Xinha.is_ie){this.restoreSelection(g)}var c=b.getStyleInfo(d);if(!c){if(e==""){e=" "}this.insertHTML("<"+f+" class='"+d+"'>"+e+""+a)}else{Xinha._removeClass(c,d)}return true};Xinha.prototype.getStyleInfo=function(c){var d=this;var e=this.getAllAncestors();var b,f;if(e){e.pop()}if(e.length>0){for(var g in e){b=e[g];if(b.className){f=b.className.trim()+" ";if(f.toLowerCase().match(c.toLowerCase()+" ")){return b}}}}return false}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/CharCounter/CharCounter.js b/ccm-core/web/assets/xinha/plugins/CharCounter/CharCounter.js new file mode 100644 index 000000000..ff22d8c05 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/CharCounter/CharCounter.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function CharCounter(a){this.editor=a;this._Chars=0;this._Words=0;this._HTML=0;this.onKeyPress=this.__onKeyPress}Xinha.Config.prototype.CharCounter={showChar:true,showWord:true,showHtml:true,separator:" | ",maxHTML:-1};CharCounter._pluginInfo={name:"CharCounter",version:"1.31",developer:"Udo Schmal",developer_url:"http://www.schaffrath-neuemedien.de",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de",c_owner:"Udo Schmal & L.N.Schaffrath NeueMedien",license:"htmlArea"};CharCounter.prototype._lc=function(a){return Xinha._lc(a,"CharCounter")};CharCounter.prototype.onGenerateOnce=function(){var b=this;if(this.charCount==null){var a=b.editor.registerStatusWidget("CharCounter",["wysiwyg"]);this.charCount=a}};CharCounter.prototype.__onKeyPress=function(b){if((b.keyCode!=8)&&(b.keyCode!=46)){if(this.editor.config.CharCounter.maxHTML!=-1){var a=this.editor.getHTML();if(a.length>=this.editor.config.CharCounter.maxHTML){Xinha._stopEvent(b);return true}}}};CharCounter.prototype._updateCharCount=function(){var d=this.editor;var c=d.config;var b=d.getHTML();var e=new Array();if(c.CharCounter.showHtml){e[e.length]=this._lc("HTML")+": "+b.length}this._HTML=b.length;if(c.CharCounter.showWord||c.CharCounter.showChar){b=b.replace(/<\/?\s*!--[^-->]*-->/gi,"");b=b.replace(/<(.+?)>/g,"");b=b.replace(/ /gi," ");b=b.replace(/([\n\r\t])/g," ");b=b.replace(/( +)/g," ");b=b.replace(/&(.*);/g," ");b=b.replace(/^\s*|\s*$/g,"")}if(c.CharCounter.showWord){this._Words=0;for(var a=0;a=1){this._Words++}e[e.length]=this._lc("Words")+": "+this._Words}if(c.CharCounter.showChar){e[e.length]=this._lc("Chars")+": "+b.length;this._Chars=b.length}this.charCount.innerHTML=e.join(c.CharCounter.separator)};CharCounter.prototype.onUpdateToolbar=function(){this.charCount.innerHTML=this._lc("... in progress");if(this._timeoutID){window.clearTimeout(this._timeoutID)}var a=this;this._timeoutID=window.setTimeout(function(){a._updateCharCount()},1000)}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/CharCounter/char-counter.js b/ccm-core/web/assets/xinha/plugins/CharCounter/char-counter.js deleted file mode 100644 index 39e3fbe50..000000000 --- a/ccm-core/web/assets/xinha/plugins/CharCounter/char-counter.js +++ /dev/null @@ -1,109 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/CharCounter/char-counter.js */ -function CharCounter(_1){ -this.editor=_1; -this._Chars=0; -this._Words=0; -this._HTML=0; -this.onKeyPress=this.__onKeyPress; -} -Xinha.Config.prototype.CharCounter={"showChar":true,"showWord":true,"showHtml":true,"separator":" | ","maxHTML":-1}; -CharCounter._pluginInfo={name:"CharCounter",version:"1.31",developer:"Udo Schmal",developer_url:"http://www.schaffrath-neuemedien.de",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de",c_owner:"Udo Schmal & L.N.Schaffrath NeueMedien",license:"htmlArea"}; -CharCounter.prototype._lc=function(_2){ -return Xinha._lc(_2,"CharCounter"); -}; -CharCounter.prototype.onGenerateOnce=function(){ -var _3=this; -if(this.charCount==null){ -var _4=document.createElement("span"); -_4.style.padding="2px 5px"; -if(Xinha.is_ie){ -_4.style.styleFloat="right"; -}else{ -_4.style.cssFloat="right"; -} -var _5=document.createElement("div"); -_5.style.height=_5.style.width=_5.style.lineHeight=_5.style.fontSize="1px"; -_5.style.clear="both"; -if(Xinha.is_ie){ -this.editor._statusBarTree.style.styleFloat="left"; -}else{ -this.editor._statusBarTree.style.cssFloat="left"; -} -this.editor._statusBar.appendChild(_4); -this.editor._statusBar.appendChild(_5); -this.charCount=_4; -} -}; -CharCounter.prototype.__onKeyPress=function(ev){ -if((ev.keyCode!=8)&&(ev.keyCode!=46)){ -if(this.editor.config.CharCounter.maxHTML!=-1){ -var _7=this.editor.getHTML(); -if(_7.length>=this.editor.config.CharCounter.maxHTML){ -Xinha._stopEvent(ev); -return true; -} -} -} -}; -CharCounter.prototype._updateCharCount=function(){ -var _8=this.editor; -var _9=_8.config; -var _a=_8.getHTML(); -var _b=new Array(); -if(_9.CharCounter.showHtml){ -_b[_b.length]=this._lc("HTML")+": "+_a.length; -} -this._HTML=_a.length; -if(_9.CharCounter.showWord||_9.CharCounter.showChar){ -_a=_a.replace(/<\/?\s*!--[^-->]*-->/gi,""); -_a=_a.replace(/<(.+?)>/g,""); -_a=_a.replace(/ /gi," "); -_a=_a.replace(/([\n\r\t])/g," "); -_a=_a.replace(/( +)/g," "); -_a=_a.replace(/&(.*);/g," "); -_a=_a.replace(/^\s*|\s*$/g,""); -} -if(_9.CharCounter.showWord){ -this._Words=0; -for(var x=0;x<_a.length;x++){ -if(_a.charAt(x)==" "){ -this._Words++; -} -} -if(this._Words>=1){ -this._Words++; -} -_b[_b.length]=this._lc("Words")+": "+this._Words; -} -if(_9.CharCounter.showChar){ -_b[_b.length]=this._lc("Chars")+": "+_a.length; -this._Chars=_a.length; -} -this.charCount.innerHTML=_b.join(_9.CharCounter.separator); -}; -CharCounter.prototype.onUpdateToolbar=function(){ -this.charCount.innerHTML=this._lc("... in progress"); -if(this._timeoutID){ -window.clearTimeout(this._timeoutID); -} -var e=this; -this._timeoutID=window.setTimeout(function(){ -e._updateCharCount(); -},1000); -}; -CharCounter.prototype.onMode=function(_e){ -switch(_e){ -case "textmode": -this.charCount.style.display="none"; -break; -case "wysiwyg": -this.charCount.style.display=""; -break; -default: -alert("Mode <"+_e+"> not defined!"); -return false; -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.css b/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.css index faea58b6b..c7108de28 100755 --- a/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.css +++ b/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.css @@ -1,4 +1,6 @@ -.CharacterMap { } +.CharacterMap { +background-color:white; +} .CharacterMap a.entity { font-size:12px; width:18px; @@ -38,4 +40,4 @@ cursor:pointer; background-color:#ADAD9C; border:1px inset; -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.js b/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.js new file mode 100644 index 000000000..e457a03de --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/CharacterMap/CharacterMap.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.loadStyle("CharacterMap.css","CharacterMap");function CharacterMap(c){this.editor=c;var a=c.config;var b=this;a.registerButton({id:"insertcharacter",tooltip:Xinha._lc("Insert special character","CharacterMap"),image:c.imgURL("images/tango/16x16/apps/accessories-character-map.png"),textMode:false,action:function(){b.show()}});a.addToolbarElement("insertcharacter","createlink",-1)}Xinha.Config.prototype.CharacterMap={mode:"popup"};CharacterMap._pluginInfo={name:"CharacterMap",version:"2.0",developer:"Laurent Vilday",developer_url:"http://www.mokhet.com/",c_owner:"Xinha community",sponsor:"",sponsor_url:"",license:"HTMLArea"};CharacterMap._isActive=false;CharacterMap.prototype.addEntity=function(e,f){var d=this.editor;var c=this;var b=document.createElement("a");Xinha._addClass(b,"entity");b.innerHTML=e;b.href="javascript:void(0)";Xinha._addClass(b,(f%2)?"light":"dark");b.onclick=function(){if(Xinha.is_ie){d.focusEditor()}d.insertHTML(e);return false};this.dialog.main.appendChild(b);b=null};CharacterMap.prototype.onGenerateOnce=function(){this._prepareDialog()};CharacterMap.prototype._prepareDialog=function(){var c=this;var b=this.editor;var e="

    Insert special character

    ";this.dialog=new Xinha.Dialog(b,e,"CharacterMap",{width:300},{modal:false});Xinha._addClass(this.dialog.rootElem,"CharacterMap");if(b.config.CharacterMap&&b.config.CharacterMap.mode=="panel"){this.dialog.attachToPanel("right")}var a=["Ÿ","š","@",""","¡","¢","£","¤","¥","¦","§","¨","©","ª","«","¬","¯","°","±","²","³","´","µ","¶","·","¸","¹","º","»","¼","½","¾","¿","×","Ø","÷","ø","ƒ","ˆ","˜","–","—","‘","’","‚","“","”","„","†","‡","•","…","‰","‹","›","€","™","À","Á","Â","Ã","Ä","Å","Æ","Ç","È","É","Ê","Ë","Ì","Í","Î","Ï","Ð","Ñ","Ò","Ó","Ô","Õ","Ö","®","×","Ù","Ú","Û","Ü","Ý","Þ","ß","à","á","â","ã","ä","å","æ","ç","è","é","ê","ë","ì","í","î","ï","ð","ñ","ò","ó","ô","õ","ö","÷","ø","ù","ú","û","ü","ý","þ","ÿ","Œ","œ","Š"];for(var d=0;d +{ + "Edit HTML for selected text": "Editar código HTML del texto seleccionado", + "Tag Editor": "Editor de Etiquetas" +}; diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/clientside-spellcheck.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/clientside-spellcheck.js deleted file mode 100644 index 888fd5dfa..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/clientside-spellcheck.js +++ /dev/null @@ -1,36 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ClientsideSpellcheck/clientside-spellcheck.js */ -function ClientsideSpellcheck(_1){ -this.editor=_1; -var _2=_1.config; -var bl=ClientsideSpellcheck.btnList; -var _4=this; -var id="clientsidespellcheck"; -_2.registerButton(id,this._lc("Spell Check using ieSpell"),_1.imgURL("clientside-spellcheck.gif","ClientsideSpellcheck"),false,function(_6,id){ -_4.buttonPress(_6,id); -}); -if(Xinha.is_ie){ -_2.addToolbarElement("clientsidespellcheck","print",1); -} -} -ClientsideSpellcheck._pluginInfo={name:"ClientsideSpellcheck",version:"1.0",developer:"Michael Harris",developer_url:"http://www.jonesinternational.edu",c_owner:"Red Egg Software",sponsor:"Jones International University",sponsor_url:"http://www.jonesinternational.edu",license:"htmlArea"}; -ClientsideSpellcheck.prototype._lc=function(_8){ -return Xinha._lc(_8,"ClientsideSpellcheck"); -}; -ClientsideSpellcheck.prototype.buttonPress=function(_9){ -try{ -var _a=new ActiveXObject("ieSpell.ieSpellExtension"); -_a.CheckAllLinkedDocuments(document); -} -catch(exception){ -if(exception.number==-2146827859){ -if(confirm(this.lc("ieSpell not detected. Click Ok to go to download page."))){ -window.open("http://www.iespell.com/download.php","DownLoad"); -} -}else{ -alert(this.lc("ieSpell can only be used in Internet Explorer")); -} -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/clientside-spellcheck.gif b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/clientside-spellcheck.gif deleted file mode 100755 index dc8435c367c4f8abb5139a8beefdce9192b9694d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97 zcmV-n0G|IxNk%w1VG;lm0GR*)|Ns9000000%>V!YA^8La6aWAKECK)m01p5T0006q zgpUxBwyeN_%ejddej}>MQQb0@oH2CYnj*rhs;-dGbMxB3i{~`oF!*#qA+UHLCJF#M DQiLU- diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/he-spell-check.gif b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/img/he-spell-check.gif deleted file mode 100755 index 8015d2ff22cfcf746d7f50b299b833720d7999bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmZ?wbhEHb6k-r!n90EK9}E~6ni&`v6o0ZXGB7YO=rA!bG4M0+F)%Qhw)6`xJYjqw zh*xj1#AL^3Yg^AV7heCSd-o~h#4e5^b;Y(E?w$KSGu%7Om}`D>LWO}+r(F^wgEas@ CQX*ae diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/de.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/de.js deleted file mode 100644 index 5fed4c82b..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/de.js +++ /dev/null @@ -1,8 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 -// translated: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de -{ - "Spell Check using ieSpell": "Englische Rechtschreibkontrolle mit ieSpell", - "ieSpell can only be used in Internet Explorer": "ieSpell kann nur mit dem Internet Explorer benutzt werden", - "ieSpell not detected. Click Ok to go to download page.": "ieSpell wurde nicht gefunden. Drücken sie Ok um ieSpeck herunter zu laden." -}; diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/ja.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/ja.js deleted file mode 100644 index 22ae660e8..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/ja.js +++ /dev/null @@ -1,7 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Spell Check using ieSpell": "スペルチェックに ieSpell を使う", - "ieSpell can only be used in Internet Explorer": "ieSpell は Internet Explorer でのみ使用できます", - "ieSpell not detected. Click Ok to go to download page.": "ieSpell が検知されませんでした。OK をクリックしてダウンロードページを開いてください。" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nb.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nb.js deleted file mode 100644 index 4b985c2ee..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nb.js +++ /dev/null @@ -1,3 +0,0 @@ -// Dummy file - -{}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nl.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nl.js deleted file mode 100644 index d5c836770..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/nl.js +++ /dev/null @@ -1,8 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Spell Check using ieSpell": "Engelse spellingscontrole met ieSpell", - "ieSpell can only be used in Internet Explorer": "ieSpell kan alleen worden gebruikt in Internet Explorer", - "ieSpell not detected. Click Ok to go to download page.": "ieSpell werd niet gevonden. Klik op Ok om ieSpell te downloaden" -}; diff --git a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/pt_br.js deleted file mode 100644 index 62b351d25..000000000 --- a/ccm-core/web/assets/xinha/plugins/ClientsideSpellcheck/lang/pt_br.js +++ /dev/null @@ -1,18 +0,0 @@ -// I18N constants - -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation - -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Spell Check using ieSpell": "Verificação Ortográfica utilizando ieSpell" -} diff --git a/ccm-core/web/assets/xinha/plugins/ContextMenu/ContextMenu.js b/ccm-core/web/assets/xinha/plugins/ContextMenu/ContextMenu.js new file mode 100644 index 000000000..dc5cab366 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ContextMenu/ContextMenu.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.loadStyle("menu.css","ContextMenu");function ContextMenu(a){this.editor=a}ContextMenu._pluginInfo={name:"ContextMenu",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"dynarch.com",sponsor:"American Bible Society",sponsor_url:"http://www.americanbible.org",license:"htmlArea"};Xinha.Config.prototype.ContextMenu={disableMozillaSpellCheck:false,customHooks:{}};ContextMenu.prototype.onGenerate=function(){var a=this;var b=this.editordoc=this.editor._iframe.contentWindow.document;Xinha._addEvents(b,["contextmenu"],function(c){return a.popupMenu(Xinha.is_ie?a.editor._iframe.contentWindow.event:c)});this.currentMenu=null;if(this.editor.config.ContextMenu.disableMozillaSpellCheck){this.editordoc.body.spellcheck=false}};ContextMenu.prototype.getContextMenu=function(l){var n=this;var f=this.editor;var o=f.config;var a=[];var d=this.editor.plugins.TableOperations;if(d){d=d.instance}var k=f.hasSelectedText();if(!Xinha.is_gecko){if(k){a.push([Xinha._lc("Cut","ContextMenu"),function(){f.execCommand("cut")},null,o.btnList.cut[1]],[Xinha._lc("Copy","ContextMenu"),function(){f.execCommand("copy")},null,o.btnList.copy[1]]);a.push([Xinha._lc("Paste","ContextMenu"),function(){f.execCommand("paste")},null,o.btnList.paste[1]])}}var j=l;var e=[];var g=null;var r=null;var b=null;var h=null;var s=null;function c(i){d.buttonPress(f,i)}function p(y){var v=j;var u=v.parentNode;var x=f._doc.createElement("p");x.appendChild(f._doc.createElement("br"));u.insertBefore(x,y?v.nextSibling:v);var w=f._getSelection();var i=f._createRange(w);if(!Xinha.is_ie){w.removeAllRanges();i.selectNodeContents(x);i.collapse(true);w.addRange(i)}else{i.moveToElementText(x);i.collapse(true);i.select()}}for(;l;l=l.parentNode){var t=l.tagName;if(!t){continue}t=t.toLowerCase();switch(t){case"img":s=l;e.push(null,[Xinha._lc("_Image Properties...","ContextMenu"),function(){f._insertImage(s)},Xinha._lc("Show the image properties dialog","ContextMenu"),o.btnList.insertimage[1]]);break;case"a":g=l;e.push(null,[Xinha._lc("_Modify Link...","ContextMenu"),function(){f.config.btnList.createlink[3](f)},Xinha._lc("Current URL is","ContextMenu")+": "+g.href,o.btnList.createlink[1]],[Xinha._lc("Chec_k Link...","ContextMenu"),function(){window.open(g.href)},Xinha._lc("Opens this link in a new window","ContextMenu")],[Xinha._lc("_Remove Link...","ContextMenu"),function(){if(confirm(Xinha._lc("Please confirm that you want to unlink this element.","ContextMenu")+"\n"+Xinha._lc("Link points to:","ContextMenu")+" "+g.href)){while(g.firstChild){g.parentNode.insertBefore(g.firstChild,g)}g.parentNode.removeChild(g)}},Xinha._lc("Unlink the current element","ContextMenu")]);break;case"td":h=l;if(!d){break}e.push(null,[Xinha._lc("C_ell Properties...","ContextMenu"),function(){c("TO-cell-prop")},Xinha._lc("Show the Table Cell Properties dialog","ContextMenu"),o.btnList["TO-cell-prop"][1]],[Xinha._lc("Insert Cell After","ContextMenu"),function(){c("TO-cell-insert-after")},Xinha._lc("Insert Cell After","ContextMenu"),o.btnList["TO-cell-insert-after"][1]],[Xinha._lc("Insert Cell Before","ContextMenu"),function(){c("TO-cell-insert-before")},Xinha._lc("Insert Cell After","ContextMenu"),o.btnList["TO-cell-insert-before"][1]],[Xinha._lc("Delete Cell","ContextMenu"),function(){c("TO-cell-delete")},Xinha._lc("Delete Cell","ContextMenu"),o.btnList["TO-cell-delete"][1]],[Xinha._lc("Merge Cells","ContextMenu"),function(){c("TO-cell-merge")},Xinha._lc("Merge Cells","ContextMenu"),o.btnList["TO-cell-merge"][1]]);break;case"tr":b=l;if(!d){break}e.push(null,[Xinha._lc("Ro_w Properties...","ContextMenu"),function(){c("TO-row-prop")},Xinha._lc("Show the Table Row Properties dialog","ContextMenu"),o.btnList["TO-row-prop"][1]],[Xinha._lc("I_nsert Row Before","ContextMenu"),function(){c("TO-row-insert-above")},Xinha._lc("Insert a new row before the current one","ContextMenu"),o.btnList["TO-row-insert-above"][1]],[Xinha._lc("In_sert Row After","ContextMenu"),function(){c("TO-row-insert-under")},Xinha._lc("Insert a new row after the current one","ContextMenu"),o.btnList["TO-row-insert-under"][1]],[Xinha._lc("_Delete Row","ContextMenu"),function(){c("TO-row-delete")},Xinha._lc("Delete the current row","ContextMenu"),o.btnList["TO-row-delete"][1]]);break;case"table":r=l;if(!d){break}e.push(null,[Xinha._lc("_Table Properties...","ContextMenu"),function(){c("TO-table-prop")},Xinha._lc("Show the Table Properties dialog","ContextMenu"),o.btnList["TO-table-prop"][1]],[Xinha._lc("Insert _Column Before","ContextMenu"),function(){c("TO-col-insert-before")},Xinha._lc("Insert a new column before the current one","ContextMenu"),o.btnList["TO-col-insert-before"][1]],[Xinha._lc("Insert C_olumn After","ContextMenu"),function(){c("TO-col-insert-after")},Xinha._lc("Insert a new column after the current one","ContextMenu"),o.btnList["TO-col-insert-after"][1]],[Xinha._lc("De_lete Column","ContextMenu"),function(){c("TO-col-delete")},Xinha._lc("Delete the current column","ContextMenu"),o.btnList["TO-col-delete"][1]]);break;case"body":e.push(null,[Xinha._lc("Justify Left","ContextMenu"),function(){f.execCommand("justifyleft")},null,o.btnList.justifyleft[1]],[Xinha._lc("Justify Center","ContextMenu"),function(){f.execCommand("justifycenter")},null,o.btnList.justifycenter[1]],[Xinha._lc("Justify Right","ContextMenu"),function(){f.execCommand("justifyright")},null,o.btnList.justifyright[1]],[Xinha._lc("Justify Full","ContextMenu"),function(){f.execCommand("justifyfull")},null,o.btnList.justifyfull[1]]);break}}if(k&&!g){a.push(null,[Xinha._lc("Make lin_k...","ContextMenu"),function(){f.config.btnList.createlink[3](f)},Xinha._lc("Create a link","ContextMenu"),o.btnList.createlink[1]])}if(f.config.ContextMenu.customHooks[j.tagName.toLowerCase()]){var m=f.config.ContextMenu.customHooks[j.tagName.toLowerCase()];for(var q=0;q=0;){var h=s[t];if(h[0].toLowerCase()==w){h[1].__msh.activate()}}}v.closeMenu=function(){v.currentMenu.parentNode.removeChild(v.currentMenu);v.currentMenu=null;Xinha._removeEvent(document,"mousedown",g);Xinha._removeEvent(v.editordoc,"mousedown",g);if(s.length>0){Xinha._removeEvent(v.editordoc,"keypress",z)}if(Xinha.is_ie){v.iePopup.hide()}};var u=Xinha.is_ie?F.srcElement:F.target;var j=A(v.editor._htmlArea);var o=F.clientX+j.x;var n=F.clientY+j.y;var r;var H;if(!Xinha.is_ie){H=document}else{var b=this.iePopup=window.createPopup();H=b.document;H.open();H.write("");H.close()}r=H.createElement("div");if(Xinha.is_ie){r.unselectable="on"}r.oncontextmenu=function(){return false};r.className="htmlarea-context-menu";if(!Xinha.is_ie){r.style.visibility="hidden";r.style.left=r.style.top="-200px"}H.body.appendChild(r);var D=H.createElement("table");r.appendChild(D);D.cellSpacing=0;D.cellPadding=0;var d=H.createElement("tbody");D.appendChild(d);var l=this.getContextMenu(u);for(var B=0;B";var f=k.cloneNode(true);f.className="label";E.appendChild(k);E.appendChild(f)}else{var m=a[0];E.className="item";E.__msh={item:E,label:m,action:a[1],tooltip:a[2]||null,icon:a[3]||null,activate:function(){v.closeMenu();v.editor.focusEditor();this.action()}};m=m.replace(/_([a-zA-Z0-9])/,"$1");if(m!=a[0]){s.push([RegExp.$1,E])}m=m.replace(/__/,"_");var f=H.createElement("td");if(Xinha.is_ie){f.unselectable="on"}E.appendChild(f);f.className="icon";if(E.__msh.icon){var q=Xinha.makeBtnImg(E.__msh.icon,H);f.appendChild(q)}var e=H.createElement("td");if(Xinha.is_ie){e.unselectable="on"}E.appendChild(e);e.className="label";e.innerHTML=m;E.onmouseover=function(){this.className+=" hover";v.editor._statusBarTree.innerHTML=this.__msh.tooltip||" "};E.onmouseout=function(){this.className="item"};E.oncontextmenu=function(h){this.__msh.activate();if(!Xinha.is_ie){Xinha._stopEvent(h)}return false};E.onmouseup=function(i){var h=(new Date()).getTime();if(h-v.timeStamp>500){this.__msh.activate()}if(!Xinha.is_ie){Xinha._stopEvent(i)}return false}}}if(!Xinha.is_ie){var G=10;if(n+r.offsetHeight+G>window.innerHeight){n=window.innerHeight-r.offsetHeight-G}if(o+r.offsetWidth+G>window.innerWidth){o=window.innerWidth-r.offsetWidth-G}r.style.left=o+"px";r.style.top=n+"px";r.style.visibility="visible"}else{this.iePopup.show(F.screenX,F.screenY,300,50);var p=r.offsetWidth;var C=r.offsetHeight;this.iePopup.show(F.screenX,F.screenY,p,C)}this.currentMenu=r;this.timeStamp=(new Date()).getTime();Xinha._addEvent(document,"mousedown",g);Xinha._addEvent(this.editordoc,"mousedown",g);if(s.length>0){Xinha._addEvent(this.editordoc,"keypress",z)}Xinha._stopEvent(F);return false}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ContextMenu/context-menu.js b/ccm-core/web/assets/xinha/plugins/ContextMenu/context-menu.js deleted file mode 100644 index 2ca37adb0..000000000 --- a/ccm-core/web/assets/xinha/plugins/ContextMenu/context-menu.js +++ /dev/null @@ -1,390 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ContextMenu/context-menu.js */ -Xinha.loadStyle("menu.css","ContextMenu"); -function ContextMenu(_1){ -this.editor=_1; -} -ContextMenu._pluginInfo={name:"ContextMenu",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"dynarch.com",sponsor:"American Bible Society",sponsor_url:"http://www.americanbible.org",license:"htmlArea"}; -Xinha.Config.prototype.ContextMenu={disableMozillaSpellCheck:false}; -ContextMenu.prototype.onGenerate=function(){ -var _2=this; -var _3=this.editordoc=this.editor._iframe.contentWindow.document; -Xinha._addEvents(_3,["contextmenu"],function(_4){ -return _2.popupMenu(Xinha.is_ie?_2.editor._iframe.contentWindow.event:_4); -}); -this.currentMenu=null; -if(this.editor.config.ContextMenu.disableMozillaSpellCheck){ -this.editordoc.body.spellcheck=false; -} -}; -ContextMenu.prototype.getContextMenu=function(_5){ -var _6=this; -var _7=this.editor; -var _8=_7.config; -var _9=[]; -var _a=this.editor.plugins.TableOperations; -if(_a){ -_a=_a.instance; -} -var _b=_7.hasSelectedText(); -if(!Xinha.is_gecko){ -if(_b){ -_9.push([Xinha._lc("Cut","ContextMenu"),function(){ -_7.execCommand("cut"); -},null,_8.btnList["cut"][1]],[Xinha._lc("Copy","ContextMenu"),function(){ -_7.execCommand("copy"); -},null,_8.btnList["copy"][1]]); -_9.push([Xinha._lc("Paste","ContextMenu"),function(){ -_7.execCommand("paste"); -},null,_8.btnList["paste"][1]]); -} -} -var _c=_5; -var _d=[]; -var _e=null; -var _f=null; -var tr=null; -var td=null; -var img=null; -function tableOperation(_13){ -_a.buttonPress(_7,_13); -} -function insertPara(_14){ -var el=_c; -var par=el.parentNode; -var p=_7._doc.createElement("p"); -p.appendChild(_7._doc.createElement("br")); -par.insertBefore(p,_14?el.nextSibling:el); -var sel=_7._getSelection(); -var _19=_7._createRange(sel); -if(!Xinha.is_ie){ -sel.removeAllRanges(); -_19.selectNodeContents(p); -_19.collapse(true); -sel.addRange(_19); -}else{ -_19.moveToElementText(p); -_19.collapse(true); -_19.select(); -} -} -for(;_5;_5=_5.parentNode){ -var tag=_5.tagName; -if(!tag){ -continue; -} -tag=tag.toLowerCase(); -switch(tag){ -case "img": -img=_5; -_d.push(null,[Xinha._lc("_Image Properties...","ContextMenu"),function(){ -_7._insertImage(img); -},Xinha._lc("Show the image properties dialog","ContextMenu"),_8.btnList["insertimage"][1]]); -break; -case "a": -_e=_5; -_d.push(null,[Xinha._lc("_Modify Link...","ContextMenu"),function(){ -_7.config.btnList["createlink"][3](_7); -},Xinha._lc("Current URL is","ContextMenu")+": "+_e.href,_8.btnList["createlink"][1]],[Xinha._lc("Chec_k Link...","ContextMenu"),function(){ -window.open(_e.href); -},Xinha._lc("Opens this link in a new window","ContextMenu")],[Xinha._lc("_Remove Link...","ContextMenu"),function(){ -if(confirm(Xinha._lc("Please confirm that you want to unlink this element.","ContextMenu")+"\n"+Xinha._lc("Link points to:","ContextMenu")+" "+_e.href)){ -while(_e.firstChild){ -_e.parentNode.insertBefore(_e.firstChild,_e); -} -_e.parentNode.removeChild(_e); -} -},Xinha._lc("Unlink the current element","ContextMenu")]); -break; -case "td": -td=_5; -if(!_a){ -break; -} -_d.push(null,[Xinha._lc("C_ell Properties...","ContextMenu"),function(){ -tableOperation("TO-cell-prop"); -},Xinha._lc("Show the Table Cell Properties dialog","ContextMenu"),_8.btnList["TO-cell-prop"][1]],[Xinha._lc("Insert Cell After","ContextMenu"),function(){ -tableOperation("TO-cell-insert-after"); -},Xinha._lc("Insert Cell After","ContextMenu"),_8.btnList["TO-cell-insert-after"][1]],[Xinha._lc("Insert Cell Before","ContextMenu"),function(){ -tableOperation("TO-cell-insert-before"); -},Xinha._lc("Insert Cell After","ContextMenu"),_8.btnList["TO-cell-insert-before"][1]],[Xinha._lc("Delete Cell","ContextMenu"),function(){ -tableOperation("TO-cell-delete"); -},Xinha._lc("Delete Cell","ContextMenu"),_8.btnList["TO-cell-delete"][1]],[Xinha._lc("Merge Cells","ContextMenu"),function(){ -tableOperation("TO-cell-merge"); -},Xinha._lc("Merge Cells","ContextMenu"),_8.btnList["TO-cell-merge"][1]]); -break; -case "tr": -tr=_5; -if(!_a){ -break; -} -_d.push(null,[Xinha._lc("Ro_w Properties...","ContextMenu"),function(){ -tableOperation("TO-row-prop"); -},Xinha._lc("Show the Table Row Properties dialog","ContextMenu"),_8.btnList["TO-row-prop"][1]],[Xinha._lc("I_nsert Row Before","ContextMenu"),function(){ -tableOperation("TO-row-insert-above"); -},Xinha._lc("Insert a new row before the current one","ContextMenu"),_8.btnList["TO-row-insert-above"][1]],[Xinha._lc("In_sert Row After","ContextMenu"),function(){ -tableOperation("TO-row-insert-under"); -},Xinha._lc("Insert a new row after the current one","ContextMenu"),_8.btnList["TO-row-insert-under"][1]],[Xinha._lc("_Delete Row","ContextMenu"),function(){ -tableOperation("TO-row-delete"); -},Xinha._lc("Delete the current row","ContextMenu"),_8.btnList["TO-row-delete"][1]]); -break; -case "table": -_f=_5; -if(!_a){ -break; -} -_d.push(null,[Xinha._lc("_Table Properties...","ContextMenu"),function(){ -tableOperation("TO-table-prop"); -},Xinha._lc("Show the Table Properties dialog","ContextMenu"),_8.btnList["TO-table-prop"][1]],[Xinha._lc("Insert _Column Before","ContextMenu"),function(){ -tableOperation("TO-col-insert-before"); -},Xinha._lc("Insert a new column before the current one","ContextMenu"),_8.btnList["TO-col-insert-before"][1]],[Xinha._lc("Insert C_olumn After","ContextMenu"),function(){ -tableOperation("TO-col-insert-after"); -},Xinha._lc("Insert a new column after the current one","ContextMenu"),_8.btnList["TO-col-insert-after"][1]],[Xinha._lc("De_lete Column","ContextMenu"),function(){ -tableOperation("TO-col-delete"); -},Xinha._lc("Delete the current column","ContextMenu"),_8.btnList["TO-col-delete"][1]]); -break; -case "body": -_d.push(null,[Xinha._lc("Justify Left","ContextMenu"),function(){ -_7.execCommand("justifyleft"); -},null,_8.btnList["justifyleft"][1]],[Xinha._lc("Justify Center","ContextMenu"),function(){ -_7.execCommand("justifycenter"); -},null,_8.btnList["justifycenter"][1]],[Xinha._lc("Justify Right","ContextMenu"),function(){ -_7.execCommand("justifyright"); -},null,_8.btnList["justifyright"][1]],[Xinha._lc("Justify Full","ContextMenu"),function(){ -_7.execCommand("justifyfull"); -},null,_8.btnList["justifyfull"][1]]); -break; -} -} -if(_b&&!_e){ -_9.push(null,[Xinha._lc("Make lin_k...","ContextMenu"),function(){ -_7.config.btnList["createlink"][3](_7); -},Xinha._lc("Create a link","ContextMenu"),_8.btnList["createlink"][1]]); -} -for(var i=0;i<_d.length;++i){ -_9.push(_d[i]); -} -if(!/html|body/i.test(_c.tagName)){ -_9.push(null,[Xinha._lc({string:"Remove the $elem Element...",replace:{elem:"<"+_c.tagName+">"}},"ContextMenu"),function(){ -if(confirm(Xinha._lc("Please confirm that you want to remove this element:","ContextMenu")+" "+_c.tagName)){ -var el=_c; -var p=el.parentNode; -p.removeChild(el); -if(Xinha.is_gecko){ -if(p.tagName.toLowerCase()=="td"&&!p.hasChildNodes()){ -p.appendChild(_7._doc.createElement("br")); -} -_7.forceRedraw(); -_7.focusEditor(); -_7.updateToolbar(); -if(_f){ -var _1e=_f.style.borderCollapse; -_f.style.borderCollapse="collapse"; -_f.style.borderCollapse="separate"; -_f.style.borderCollapse=_1e; -} -} -} -},Xinha._lc("Remove this node from the document","ContextMenu")],[Xinha._lc("Insert paragraph before","ContextMenu"),function(){ -insertPara(false); -},Xinha._lc("Insert a paragraph before the current node","ContextMenu")],[Xinha._lc("Insert paragraph after","ContextMenu"),function(){ -insertPara(true); -},Xinha._lc("Insert a paragraph after the current node","ContextMenu")]); -} -if(!_9[0]){ -_9.shift(); -} -return _9; -}; -ContextMenu.prototype.popupMenu=function(ev){ -var _20=this; -if(this.currentMenu){ -this.closeMenu(); -} -function getPos(el){ -var r={x:el.offsetLeft,y:el.offsetTop}; -if(el.offsetParent){ -var tmp=getPos(el.offsetParent); -r.x+=tmp.x; -r.y+=tmp.y; -} -return r; -} -function documentClick(ev){ -ev||(ev=window.event); -if(!_20.currentMenu){ -alert(Xinha._lc("How did you get here? (Please report!)","ContextMenu")); -return false; -} -var el=Xinha.is_ie?ev.srcElement:ev.target; -for(;el!=null&&el!=_20.currentMenu;el=el.parentNode){ -} -if(el==null){ -_20.closeMenu(); -} -} -var _26=[]; -function keyPress(ev){ -ev||(ev=window.event); -Xinha._stopEvent(ev); -if(ev.keyCode==27){ -_20.closeMenu(); -return false; -} -var key=String.fromCharCode(Xinha.is_ie?ev.keyCode:ev.charCode).toLowerCase(); -for(var i=_26.length;--i>=0;){ -var k=_26[i]; -if(k[0].toLowerCase()==key){ -k[1].__msh.activate(); -} -} -} -_20.closeMenu=function(){ -_20.currentMenu.parentNode.removeChild(_20.currentMenu); -_20.currentMenu=null; -Xinha._removeEvent(document,"mousedown",documentClick); -Xinha._removeEvent(_20.editordoc,"mousedown",documentClick); -if(_26.length>0){ -Xinha._removeEvent(_20.editordoc,"keypress",keyPress); -} -if(Xinha.is_ie){ -_20.iePopup.hide(); -} -}; -var _2b=Xinha.is_ie?ev.srcElement:ev.target; -var _2c=getPos(_20.editor._htmlArea); -var x=ev.clientX+_2c.x; -var y=ev.clientY+_2c.y; -var div; -var doc; -if(!Xinha.is_ie){ -doc=document; -}else{ -var _31=this.iePopup=window.createPopup(); -doc=_31.document; -doc.open(); -doc.write(""); -doc.close(); -} -div=doc.createElement("div"); -if(Xinha.is_ie){ -div.unselectable="on"; -} -div.oncontextmenu=function(){ -return false; -}; -div.className="htmlarea-context-menu"; -if(!Xinha.is_ie){ -div.style.left=div.style.top="0px"; -} -doc.body.appendChild(div); -var _32=doc.createElement("table"); -div.appendChild(_32); -_32.cellSpacing=0; -_32.cellPadding=0; -var _33=doc.createElement("tbody"); -_32.appendChild(_33); -var _34=this.getContextMenu(_2b); -for(var i=0;i<_34.length;++i){ -var _36=_34[i]; -var _37=doc.createElement("tr"); -_33.appendChild(_37); -if(Xinha.is_ie){ -_37.unselectable="on"; -}else{ -_37.onmousedown=function(ev){ -Xinha._stopEvent(ev); -return false; -}; -} -if(!_36){ -_37.className="separator"; -var td=doc.createElement("td"); -td.className="icon"; -var _3a=">"; -if(Xinha.is_ie){ -td.unselectable="on"; -_3a=" unselectable='on' style='height=1px'> "; -} -td.innerHTML=""; -var td1=td.cloneNode(true); -td1.className="label"; -_37.appendChild(td); -_37.appendChild(td1); -}else{ -var _3c=_36[0]; -_37.className="item"; -_37.__msh={item:_37,label:_3c,action:_36[1],tooltip:_36[2]||null,icon:_36[3]||null,activate:function(){ -_20.closeMenu(); -_20.editor.focusEditor(); -this.action(); -}}; -_3c=_3c.replace(/_([a-zA-Z0-9])/,"$1"); -if(_3c!=_36[0]){ -_26.push([RegExp.$1,_37]); -} -_3c=_3c.replace(/__/,"_"); -var td1=doc.createElement("td"); -if(Xinha.is_ie){ -td1.unselectable="on"; -} -_37.appendChild(td1); -td1.className="icon"; -if(_37.__msh.icon){ -var t=Xinha.makeBtnImg(_37.__msh.icon,doc); -td1.appendChild(t); -} -var td2=doc.createElement("td"); -if(Xinha.is_ie){ -td2.unselectable="on"; -} -_37.appendChild(td2); -td2.className="label"; -td2.innerHTML=_3c; -_37.onmouseover=function(){ -this.className+=" hover"; -_20.editor._statusBarTree.innerHTML=this.__msh.tooltip||" "; -}; -_37.onmouseout=function(){ -this.className="item"; -}; -_37.oncontextmenu=function(ev){ -this.__msh.activate(); -if(!Xinha.is_ie){ -Xinha._stopEvent(ev); -} -return false; -}; -_37.onmouseup=function(ev){ -var _41=(new Date()).getTime(); -if(_41-_20.timeStamp>500){ -this.__msh.activate(); -} -if(!Xinha.is_ie){ -Xinha._stopEvent(ev); -} -return false; -}; -} -} -if(!Xinha.is_ie){ -div.style.left=x+"px"; -div.style.top=y+"px"; -}else{ -this.iePopup.show(ev.screenX,ev.screenY,300,50); -var w=div.offsetWidth; -var h=div.offsetHeight; -this.iePopup.show(ev.screenX,ev.screenY,w,h); -} -this.currentMenu=div; -this.timeStamp=(new Date()).getTime(); -Xinha._addEvent(document,"mousedown",documentClick); -Xinha._addEvent(this.editordoc,"mousedown",documentClick); -if(_26.length>0){ -Xinha._addEvent(this.editordoc,"keypress",keyPress); -} -Xinha._stopEvent(ev); -return false; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/ContextMenu/lang/es.js b/ccm-core/web/assets/xinha/plugins/ContextMenu/lang/es.js new file mode 100644 index 000000000..90b7521bf --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ContextMenu/lang/es.js @@ -0,0 +1,51 @@ +// I18N constants +// LANG: "es", ENCODING: UTF-8 +// translated: Derick Leony +{ + "Cut": "Cortar", + "Copy": "Copiar", + "Paste": "Pegar", + "_Image Properties...": "_Propiedades de imagen...", + "_Modify Link...": "_Modificar hipervínculo...", + "Chec_k Link...": "_Verificar hipervínculo...", + "_Remove Link...": "_Suprimir hipervínculo...", + "C_ell Properties...": "P_ropiedades de celda...", + "Ro_w Properties...": "Pr_opiedades de la fila...", + "I_nsert Row Before": "_Insertar fila delante", + "In_sert Row After": "I_nsertar fila detrás", + "_Delete Row": "S_uprimir fila", + "_Table Properties...": "Propi_edades de la tabla...", + "Insert _Column Before": "Insert_ar columna delante", + "Insert C_olumn After": "Insertar _columna detrás", + "De_lete Column": "_Suprimir columna", + "Justify Left": "Alinear a la izquierda", + "Justify Center": "Centrar", + "Justify Right": "Alinear a la derecha", + "Justify Full": "Justificar", + "Make lin_k...": "Convertir en _hipervínculo...", + "Remove the $elem Element...": "Suprimir el elemento $elem...", + "Insert paragraph before": "Insertar párrafo delante", + "Insert paragraph after": "Insertar párrafo detrás", + "Please confirm that you want to remove this element:": "Por favor, confirme que desea suprimir este elemento:", + "Remove this node from the document": "Suprimir este nodo del documento", + "How did you get here? (Please report!)": "¿Cómo ha llegado aquí? (¡Por favor reporte el error!)", + "Show the image properties dialog": "Mostrar el diálogo de propiedades de imagen", + "Modify URL": "Modificar URL", + "Current URL is": "La URL actual es", + "Opens this link in a new window": "Abre este hipervínculo en una ventana nueva", + "Please confirm that you want to unlink this element.": "Por favor, confirme que desea suprimir el hipervínculo de este elemento.", + "Link points to:": "El hipervínculo apunta a:", + "Unlink the current element": "Suprimir el hipervínculo del elemento actual", + "Show the Table Cell Properties dialog": "Mostrar el diálogo Propiedades de la Celda", + "Show the Table Row Properties dialog": "Mostrar el diálogo Propiedades de la Fila", + "Insert a new row before the current one": "Insertar una fila nueva antes de la actual", + "Insert a new row after the current one": "Insertar una fila nueva después de la actual", + "Delete the current row": "Suprimir la fila actual", + "Show the Table Properties dialog": "Mostrar el diálogo Propiedades de la Tabla", + "Insert a new column before the current one": "Insertar una columna nueva antes de la actual", + "Insert a new column after the current one": "Insertar una columna nueva después de la actual", + "Delete the current column": "Suprimir la columna actual", + "Create a link": "Crear un hipervínculo", + "Insert a paragraph before the current node": "Insertar un párrafo antes del nodo actual", + "Insert a paragraph after the current node": "Insertar un párrafo después del nodo actual" +}; diff --git a/ccm-core/web/assets/xinha/plugins/DefinitionList/DefinitionList.js b/ccm-core/web/assets/xinha/plugins/DefinitionList/DefinitionList.js new file mode 100644 index 000000000..70315f218 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/DefinitionList/DefinitionList.js @@ -0,0 +1,91 @@ +// DefinitionList plugin for Xinha +// Distributed under the same terms as Xinha itself. +// This notice MUST stay intact for use (see license.txt). + + +function DefinitionList(editor) { + this.editor = editor; + var cfg = editor.config; + var bl = DefinitionList.btnList; + var self = this; + // register the toolbar buttons provided by this plugin + var toolbar = ["linebreak"]; + for (var i = 0; i < bl.length; ++i) { + var btn = bl[i]; + if (!btn) { + toolbar.push("separator"); + } else { + var id = btn[0]; + cfg.registerButton(id, this._lc(btn[1]), editor.imgURL("ed_" + btn[0] + ".gif", "DefinitionList"), false, + function(editor, id) { + // dispatch button press event + self.buttonPress(editor, id); + }); + toolbar.push(id); + } + } + // add a new line in the toolbar + cfg.toolbar.push(toolbar); +} + +DefinitionList._pluginInfo = { + name : "DefinitionList", + version : "1.0", + developer : "Udo Schmal", + developer_url : "", + c_owner : "Udo Schmal", + license : "htmlArea" +}; + +// the list of buttons added by this plugin +DefinitionList.btnList = [ + ["dl", "definition list"], + ["dt", "definition term"], + ["dd", "definition description"] + ]; + +DefinitionList.prototype._lc = function(string) { + return Xinha._lc(string, 'DefinitionList'); +}; + +DefinitionList.prototype.onGenerate = function() { + this.editor.addEditorStylesheet(Xinha.getPluginDir('DefinitionList') + '/definition-list.css'); +}; + +DefinitionList.prototype.buttonPress = function(editor,button_id) { + if (button_id=='dl') { //definition list + var pe = editor.getParentElement(); + while (pe.parentNode.tagName.toLowerCase() != 'body') { + pe = pe.parentNode; + } + var dx = editor._doc.createElement(button_id); + dx.innerHTML = ' '; + if(pe.parentNode.lastChild==pe) { + pe.parentNode.appendChild(dx); + }else{ + pe.parentNode.insertBefore(dx,pe.nextSibling); + } + } else if ((button_id=='dt')||(button_id=='dd')) { //definition term or description + var pe = editor.getParentElement(); + while (pe && (pe.nodeType == 1) && (pe.tagName.toLowerCase() != 'body')) { + if(pe.tagName.toLowerCase() == 'dl') { + var dx = editor._doc.createElement(button_id); + dx.innerHTML = ' '; + pe.appendChild(dx); + break; + }else if((pe.tagName.toLowerCase() == 'dt')||(pe.tagName.toLowerCase() == 'dd')){ + var dx = editor._doc.createElement(button_id) + dx.innerHTML = ' '; + if(pe.parentNode.lastChild==pe) { + pe.parentNode.appendChild(dx); + }else{ + pe.parentNode.insertBefore(dx,pe.nextSibling); + } + break; + } + pe = pe.parentNode; + } + if(pe.tagName.toLowerCase() == 'body') + alert('You can insert a definition term or description only in a definition list!'); + } +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.css b/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.css index d014001ff..7ae59d52d 100755 --- a/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.css +++ b/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.css @@ -1,21 +1,15 @@ dl { border: 1px dotted #800000; } dt { - width: 18px; - height: 18px; background-image: url(img/ed_dt.gif); background-repeat: no-repeat; background-position: left top; padding-left: 19px; - display: block; color: #800000; } dd { - width: 18px; - height: 18px; background-image: url(img/ed_dd.gif); background-repeat: no-repeat; background-position: left top; padding-left: 19px; - display: block; color: #800000; } \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.js b/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.js deleted file mode 100644 index 95a2e0e69..000000000 --- a/ccm-core/web/assets/xinha/plugins/DefinitionList/definition-list.js +++ /dev/null @@ -1,74 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/DefinitionList/definition-list.js */ -function DefinitionList(_1){ -this.editor=_1; -var _2=_1.config; -var bl=DefinitionList.btnList; -var _4=this; -var _5=["linebreak"]; -for(var i=0;i"}}else{className="none";if(tagName=="all"){cssName=Xinha._lc("Default","DynamicCSS")}else{cssName="<"+Xinha._lc("Default","DynamicCSS")+">"}}a[tagName][className]=cssName;DynamicCSS.cssLength++}}}else{if(b[rule].styleSheet){a=DynamicCSS.applyCSSRule(b[rule].styleSheet.cssRules,a)}}}return a};DynamicCSS._pluginInfo={name:"DynamicCSS",version:"1.5.2",developer:"Holger Hees",developer_url:"http://www.systemconcept.de/",c_owner:"Holger Hees",sponsor:"System Concept GmbH",sponsor_url:"http://www.systemconcept.de/",license:"htmlArea"};DynamicCSS.prototype._lc=function(a){return Xinha._lc(a,"DynamicCSS")};DynamicCSS.prototype.onSelect=function(c,f){var e=c._toolbarObjects[f.id];var d=e.element.selectedIndex;var b=e.element.value;var a=c.getParentElement();if(b!="none"){a.className=b;DynamicCSS.lastClass=b}else{if(Xinha.is_gecko){a.removeAttribute("class")}else{a.removeAttribute("className")}}c.updateToolbar()};DynamicCSS.prototype.reparseTimer=function(b,c,a){if(DynamicCSS.parseCount<9){setTimeout(function(){DynamicCSS.cssLength=0;DynamicCSS.parseStyleSheet(b);if(DynamicCSS.cssOldLength!=DynamicCSS.cssLength){DynamicCSS.cssOldLength=DynamicCSS.cssLength;DynamicCSS.lastClass=null;a.updateValue(b,c)}a.reparseTimer(b,c,a)},DynamicCSS.parseCount*1000);DynamicCSS.parseCount=DynamicCSS.parseCount*2}};DynamicCSS.prototype.updateValue=function(b,e){cssArray=DynamicCSS.cssArray;if(!cssArray){DynamicCSS.cssLength=0;DynamicCSS.parseStyleSheet(b);cssArray=DynamicCSS.cssArray;DynamicCSS.cssOldLength=DynamicCSS.cssLength;DynamicCSS.parseCount=1;this.reparseTimer(b,e,this)}var h=b.getParentElement();var f=h.tagName.toLowerCase();var a=h.className;if(this.lastTag!=f||this.lastClass!=a){this.lastTag=f;this.lastClass=a;var l=b._toolbarObjects[e.id].element;while(l.length>0){l.options[l.length-1]=null}l.options[0]=new Option(this._lc("Default"),"none");if(cssArray){if(f!="body"||b.config.fullPage){if(cssArray[f]){for(cssClass in cssArray[f]){if(typeof cssArray[f][cssClass]!="string"){continue}if(cssClass=="none"){l.options[0]=new Option(cssArray[f][cssClass],cssClass)}else{l.options[l.length]=new Option(cssArray[f][cssClass],cssClass)}}}if(cssArray.all){for(cssClass in cssArray.all){if(typeof cssArray.all[cssClass]!="string"){continue}l.options[l.length]=new Option(cssArray.all[cssClass],cssClass)}}}else{if(cssArray[f]&&cssArray[f]["none"]){l.options[0]=new Option(cssArray[f]["none"],"none")}}}l.selectedIndex=0;if(typeof a!="undefined"&&/\S/.test(a)){var g=l.options;for(var d=g.length;--d>=0;){var c=g[d];if(a==c.value){l.selectedIndex=d;break}}if(l.selectedIndex==0){l.options[l.length]=new Option(this._lc("Undefined"),a);l.selectedIndex=l.length-1}}if(l.length>1){l.disabled=false}else{l.disabled=true}}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/DynamicCSS/dynamiccss.js b/ccm-core/web/assets/xinha/plugins/DynamicCSS/dynamiccss.js deleted file mode 100644 index 6ce3bdb52..000000000 --- a/ccm-core/web/assets/xinha/plugins/DynamicCSS/dynamiccss.js +++ /dev/null @@ -1,202 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/DynamicCSS/dynamiccss.js */ -function DynamicCSS(_1,_2){ -this.editor=_1; -var _3=_1.config; -var _4=this; -var _5=null; -var _6=null; -var _7={id:"DynamicCSS-class",tooltip:this._lc("Choose stylesheet"),options:{"":""},action:function(_8){ -_4.onSelect(_8,this); -},refresh:function(_9){ -_4.updateValue(_9,this); -}}; -_3.registerDropdown(_7); -_3.addToolbarElement(["T[CSS]","DynamicCSS-class","separator"],"formatblock",-1); -} -DynamicCSS.parseStyleSheet=function(_a){ -iframe=_a._iframe.contentWindow.document; -cssArray=DynamicCSS.cssArray; -if(!cssArray){ -cssArray=new Array(); -} -for(i=0;i"; -} -}else{ -className="none"; -if(tagName=="all"){ -cssName=Xinha._lc("Default","DynamicCSS"); -}else{ -cssName="<"+Xinha._lc("Default","DynamicCSS")+">"; -} -} -_c[tagName][className]=cssName; -DynamicCSS.cssLength++; -} -} -}else{ -if(_b[rule].styleSheet){ -_c=DynamicCSS.applyCSSRule(_b[rule].styleSheet.cssRules,_c); -} -} -} -return _c; -}; -DynamicCSS._pluginInfo={name:"DynamicCSS",version:"1.5.2",developer:"Holger Hees",developer_url:"http://www.systemconcept.de/",c_owner:"Holger Hees",sponsor:"System Concept GmbH",sponsor_url:"http://www.systemconcept.de/",license:"htmlArea"}; -DynamicCSS.prototype._lc=function(_d){ -return Xinha._lc(_d,"DynamicCSS"); -}; -DynamicCSS.prototype.onSelect=function(_e,_f){ -var _10=_e._toolbarObjects[_f.id]; -var _11=_10.element.selectedIndex; -var _12=_10.element.value; -var _13=_e.getParentElement(); -if(_12!="none"){ -_13.className=_12; -DynamicCSS.lastClass=_12; -}else{ -if(Xinha.is_gecko){ -_13.removeAttribute("class"); -}else{ -_13.removeAttribute("className"); -} -} -_e.updateToolbar(); -}; -DynamicCSS.prototype.reparseTimer=function(_14,obj,_16){ -if(DynamicCSS.parseCount<9){ -setTimeout(function(){ -DynamicCSS.cssLength=0; -DynamicCSS.parseStyleSheet(_14); -if(DynamicCSS.cssOldLength!=DynamicCSS.cssLength){ -DynamicCSS.cssOldLength=DynamicCSS.cssLength; -DynamicCSS.lastClass=null; -_16.updateValue(_14,obj); -} -_16.reparseTimer(_14,obj,_16); -},DynamicCSS.parseCount*1000); -DynamicCSS.parseCount=DynamicCSS.parseCount*2; -} -}; -DynamicCSS.prototype.updateValue=function(_17,obj){ -cssArray=DynamicCSS.cssArray; -if(!cssArray){ -DynamicCSS.cssLength=0; -DynamicCSS.parseStyleSheet(_17); -cssArray=DynamicCSS.cssArray; -DynamicCSS.cssOldLength=DynamicCSS.cssLength; -DynamicCSS.parseCount=1; -this.reparseTimer(_17,obj,this); -} -var _19=_17.getParentElement(); -var _1a=_19.tagName.toLowerCase(); -var _1b=_19.className; -if(this.lastTag!=_1a||this.lastClass!=_1b){ -this.lastTag=_1a; -this.lastClass=_1b; -var _1c=_17._toolbarObjects[obj.id].element; -while(_1c.length>0){ -_1c.options[_1c.length-1]=null; -} -_1c.options[0]=new Option(this._lc("Default"),"none"); -if(cssArray){ -if(_1a!="body"||_17.config.fullPage){ -if(cssArray[_1a]){ -for(cssClass in cssArray[_1a]){ -if(typeof cssArray[_1a][cssClass]!="string"){ -continue; -} -if(cssClass=="none"){ -_1c.options[0]=new Option(cssArray[_1a][cssClass],cssClass); -}else{ -_1c.options[_1c.length]=new Option(cssArray[_1a][cssClass],cssClass); -} -} -} -if(cssArray["all"]){ -for(cssClass in cssArray["all"]){ -if(typeof cssArray["all"][cssClass]!="string"){ -continue; -} -_1c.options[_1c.length]=new Option(cssArray["all"][cssClass],cssClass); -} -} -}else{ -if(cssArray[_1a]&&cssArray[_1a]["none"]){ -_1c.options[0]=new Option(cssArray[_1a]["none"],"none"); -} -} -} -_1c.selectedIndex=0; -if(typeof _1b!="undefined"&&/\S/.test(_1b)){ -var _1d=_1c.options; -for(var i=_1d.length;--i>=0;){ -var _1f=_1d[i]; -if(_1b==_1f.value){ -_1c.selectedIndex=i; -break; -} -} -if(_1c.selectedIndex==0){ -_1c.options[_1c.length]=new Option(this._lc("Undefined"),_1b); -_1c.selectedIndex=_1c.length-1; -} -} -if(_1c.length>1){ -_1c.disabled=false; -}else{ -_1c.disabled=true; -} -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/EditTag/EditTag.js b/ccm-core/web/assets/xinha/plugins/EditTag/EditTag.js new file mode 100644 index 000000000..fb70de71c --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/EditTag/EditTag.js @@ -0,0 +1,56 @@ +// Character Map plugin for Xinha +// Sponsored by http://www.systemconcept.de +// Implementation by Holger Hees based on HTMLArea XTD 1.5 (http://mosforge.net/projects/htmlarea3xtd/) +// Original Author - Bernhard Pfeifer novocaine@gmx.net +// +// (c) systemconcept.de 2004 +// Distributed under the same terms as Xinha itself. +// This notice MUST stay intact for use (see license.txt). + +function EditTag(editor) { + this.editor = editor; + var cfg = editor.config; + var self = this; + + cfg.registerButton({ + id : "edittag", + tooltip : this._lc("Edit HTML for selected text"), + image : editor.imgURL("ed_edit_tag.gif", "EditTag"), + textMode : false, + action : function(editor) { + self.buttonPress(editor); + } + }); + + cfg.addToolbarElement("edittag", "htmlmode",1); + +} + +EditTag._pluginInfo = { + name : "EditTag", + version : "1.0", + developer : "Pegoraro Marco", + developer_url : "http://www.sin-italia.com/", + c_owner : "Marco Pegoraro", + sponsor : "Sin Italia", + sponsor_url : "http://www.sin-italia.com/", + license : "htmlArea" +}; + +EditTag.prototype._lc = function(string) { + return Xinha._lc(string, 'EditTag'); +}; + +EditTag.prototype.buttonPress = function(editor) { + // Costruzione dell'oggetto parametri da passare alla dialog. + outparam = { + content : editor.getSelectedHTML() + }; // Fine costruzione parametri per il passaggio alla dialog. + editor._popupDialog( "plugin://EditTag/edit_tag", function( html ) { + if ( !html ) { + //user must have pressed Cancel + return false; + } + editor.insertHTML( html ); + }, outparam); +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/EditTag/edit-tag.js b/ccm-core/web/assets/xinha/plugins/EditTag/edit-tag.js deleted file mode 100644 index 374a31e26..000000000 --- a/ccm-core/web/assets/xinha/plugins/EditTag/edit-tag.js +++ /dev/null @@ -1,26 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/EditTag/edit-tag.js */ -function EditTag(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"edittag",tooltip:this._lc("Edit HTML for selected text"),image:_1.imgURL("ed_edit_tag.gif","EditTag"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("edittag","htmlmode",1); -} -EditTag._pluginInfo={name:"EditTag",version:"1.0",developer:"Pegoraro Marco",developer_url:"http://www.sin-italia.com/",c_owner:"Marco Pegoraro",sponsor:"Sin Italia",sponsor_url:"http://www.sin-italia.com/",license:"htmlArea"}; -EditTag.prototype._lc=function(_5){ -return Xinha._lc(_5,"EditTag"); -}; -EditTag.prototype.buttonPress=function(_6){ -outparam={content:_6.getSelectedHTML()}; -_6._popupDialog("plugin://EditTag/edit_tag",function(_7){ -if(!_7){ -return false; -} -_6.insertHTML(_7); -},outparam); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js b/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js index 206b5936a..0f47998a3 100644 --- a/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js +++ b/ccm-core/web/assets/xinha/plugins/Equation/ASCIIMathML.js @@ -1,703 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Equation/ASCIIMathML.js */ -var checkForMathML=true; -var notifyIfNoMathML=true; -var alertIfNoMathML=false; -if(typeof mathcolor=="undefined"){ -var mathcolor="red"; -} -if(typeof mathfontfamily=="undefined"){ -var mathfontfamily="serif"; -} -var displaystyle=true; -if(typeof showasciiformulaonhover=="undefined"){ -var showasciiformulaonhover=true; -} -var decimalsign="."; -var AMdelimiter1="`",AMescape1="\\\\`"; -var AMdelimiter2="$",AMescape2="\\\\\\$",AMdelimiter2regexp="\\$"; -var doubleblankmathdelimiter=false; -var isIE=document.createElementNS==null; -if(document.getElementById==null){ -alert("This webpage requires a recent browser such as\nMozilla/Netscape 7+ or Internet Explorer 6+MathPlayer"); -} -function AMcreateElementXHTML(t){ -if(isIE){ -return document.createElement(t); -}else{ -return document.createElementNS("http://www.w3.org/1999/xhtml",t); -} -} -function AMnoMathMLNote(){ -var nd=AMcreateElementXHTML("h3"); -nd.setAttribute("align","center"); -nd.appendChild(AMcreateElementXHTML("p")); -nd.appendChild(document.createTextNode("To view the ")); -var an=AMcreateElementXHTML("a"); -an.appendChild(document.createTextNode("ASCIIMathML")); -an.setAttribute("href","http://www.chapman.edu/~jipsen/asciimath.html"); -nd.appendChild(an); -nd.appendChild(document.createTextNode(" notation use Internet Explorer 6+")); -an=AMcreateElementXHTML("a"); -an.appendChild(document.createTextNode("MathPlayer")); -an.setAttribute("href","http://www.dessci.com/en/products/mathplayer/download.htm"); -nd.appendChild(an); -nd.appendChild(document.createTextNode(" or Netscape/Mozilla/Firefox")); -nd.appendChild(AMcreateElementXHTML("p")); -return nd; -} -function AMisMathMLavailable(){ -if(navigator.appName.slice(0,8)=="Netscape"){ -if(navigator.appVersion.slice(0,1)>="5"){ -return null; -}else{ -return AMnoMathMLNote(); -} -}else{ -if(navigator.appName.slice(0,9)=="Microsoft"){ -try{ -var _4=new ActiveXObject("MathPlayer.Factory.1"); -return null; -} -catch(e){ -return AMnoMathMLNote(); -} -}else{ -return AMnoMathMLNote(); -} -} -} -var AMcal=[61237,8492,61238,61239,8496,8497,61240,8459,8464,61241,61242,8466,8499,61243,61244,61245,61246,8475,61247,61248,61249,61250,61251,61252,61253,61254]; -var AMfrk=[61277,61278,8493,61279,61280,61281,61282,8460,8465,61283,61284,61285,61286,61287,61288,61289,61290,8476,61291,61292,61293,61294,61295,61296,61297,8488]; -var AMbbb=[61324,61325,8450,61326,61327,61328,61329,8461,61330,61331,61332,61333,61334,8469,61335,8473,8474,8477,61336,61337,61338,61339,61340,61341,61342,8484]; -var CONST=0,UNARY=1,BINARY=2,INFIX=3,LEFTBRACKET=4,RIGHTBRACKET=5,SPACE=6,UNDEROVER=7,DEFINITION=8,LEFTRIGHT=9,TEXT=10; -var AMsqrt={input:"sqrt",tag:"msqrt",output:"sqrt",tex:null,ttype:UNARY},AMroot={input:"root",tag:"mroot",output:"root",tex:null,ttype:BINARY},AMfrac={input:"frac",tag:"mfrac",output:"/",tex:null,ttype:BINARY},AMdiv={input:"/",tag:"mfrac",output:"/",tex:null,ttype:INFIX},AMover={input:"stackrel",tag:"mover",output:"stackrel",tex:null,ttype:BINARY},AMsub={input:"_",tag:"msub",output:"_",tex:null,ttype:INFIX},AMsup={input:"^",tag:"msup",output:"^",tex:null,ttype:INFIX},AMtext={input:"text",tag:"mtext",output:"text",tex:null,ttype:TEXT},AMmbox={input:"mbox",tag:"mtext",output:"mbox",tex:null,ttype:TEXT},AMquote={input:"\"",tag:"mtext",output:"mbox",tex:null,ttype:TEXT}; -var AMsymbols=[{input:"alpha",tag:"mi",output:"\u03b1",tex:null,ttype:CONST},{input:"beta",tag:"mi",output:"\u03b2",tex:null,ttype:CONST},{input:"chi",tag:"mi",output:"\u03c7",tex:null,ttype:CONST},{input:"delta",tag:"mi",output:"\u03b4",tex:null,ttype:CONST},{input:"Delta",tag:"mo",output:"\u0394",tex:null,ttype:CONST},{input:"epsi",tag:"mi",output:"\u03b5",tex:"epsilon",ttype:CONST},{input:"varepsilon",tag:"mi",output:"\u025b",tex:null,ttype:CONST},{input:"eta",tag:"mi",output:"\u03b7",tex:null,ttype:CONST},{input:"gamma",tag:"mi",output:"\u03b3",tex:null,ttype:CONST},{input:"Gamma",tag:"mo",output:"\u0393",tex:null,ttype:CONST},{input:"iota",tag:"mi",output:"\u03b9",tex:null,ttype:CONST},{input:"kappa",tag:"mi",output:"\u03ba",tex:null,ttype:CONST},{input:"lambda",tag:"mi",output:"\u03bb",tex:null,ttype:CONST},{input:"Lambda",tag:"mo",output:"\u039b",tex:null,ttype:CONST},{input:"mu",tag:"mi",output:"\u03bc",tex:null,ttype:CONST},{input:"nu",tag:"mi",output:"\u03bd",tex:null,ttype:CONST},{input:"omega",tag:"mi",output:"\u03c9",tex:null,ttype:CONST},{input:"Omega",tag:"mo",output:"\u03a9",tex:null,ttype:CONST},{input:"phi",tag:"mi",output:"\u03c6",tex:null,ttype:CONST},{input:"varphi",tag:"mi",output:"\u03d5",tex:null,ttype:CONST},{input:"Phi",tag:"mo",output:"\u03a6",tex:null,ttype:CONST},{input:"pi",tag:"mi",output:"\u03c0",tex:null,ttype:CONST},{input:"Pi",tag:"mo",output:"\u03a0",tex:null,ttype:CONST},{input:"psi",tag:"mi",output:"\u03c8",tex:null,ttype:CONST},{input:"Psi",tag:"mi",output:"\u03a8",tex:null,ttype:CONST},{input:"rho",tag:"mi",output:"\u03c1",tex:null,ttype:CONST},{input:"sigma",tag:"mi",output:"\u03c3",tex:null,ttype:CONST},{input:"Sigma",tag:"mo",output:"\u03a3",tex:null,ttype:CONST},{input:"tau",tag:"mi",output:"\u03c4",tex:null,ttype:CONST},{input:"theta",tag:"mi",output:"\u03b8",tex:null,ttype:CONST},{input:"vartheta",tag:"mi",output:"\u03d1",tex:null,ttype:CONST},{input:"Theta",tag:"mo",output:"\u0398",tex:null,ttype:CONST},{input:"upsilon",tag:"mi",output:"\u03c5",tex:null,ttype:CONST},{input:"xi",tag:"mi",output:"\u03be",tex:null,ttype:CONST},{input:"Xi",tag:"mo",output:"\u039e",tex:null,ttype:CONST},{input:"zeta",tag:"mi",output:"\u03b6",tex:null,ttype:CONST},{input:"*",tag:"mo",output:"\u22c5",tex:"cdot",ttype:CONST},{input:"**",tag:"mo",output:"\u22c6",tex:"star",ttype:CONST},{input:"//",tag:"mo",output:"/",tex:null,ttype:CONST},{input:"\\\\",tag:"mo",output:"\\",tex:"backslash",ttype:CONST},{input:"setminus",tag:"mo",output:"\\",tex:null,ttype:CONST},{input:"xx",tag:"mo",output:"\xd7",tex:"times",ttype:CONST},{input:"-:",tag:"mo",output:"\xf7",tex:"divide",ttype:CONST},{input:"@",tag:"mo",output:"\u2218",tex:"circ",ttype:CONST},{input:"o+",tag:"mo",output:"\u2295",tex:"oplus",ttype:CONST},{input:"ox",tag:"mo",output:"\u2297",tex:"otimes",ttype:CONST},{input:"o.",tag:"mo",output:"\u2299",tex:"odot",ttype:CONST},{input:"sum",tag:"mo",output:"\u2211",tex:null,ttype:UNDEROVER},{input:"prod",tag:"mo",output:"\u220f",tex:null,ttype:UNDEROVER},{input:"^^",tag:"mo",output:"\u2227",tex:"wedge",ttype:CONST},{input:"^^^",tag:"mo",output:"\u22c0",tex:"bigwedge",ttype:UNDEROVER},{input:"vv",tag:"mo",output:"\u2228",tex:"vee",ttype:CONST},{input:"vvv",tag:"mo",output:"\u22c1",tex:"bigvee",ttype:UNDEROVER},{input:"nn",tag:"mo",output:"\u2229",tex:"cap",ttype:CONST},{input:"nnn",tag:"mo",output:"\u22c2",tex:"bigcap",ttype:UNDEROVER},{input:"uu",tag:"mo",output:"\u222a",tex:"cup",ttype:CONST},{input:"uuu",tag:"mo",output:"\u22c3",tex:"bigcup",ttype:UNDEROVER},{input:"!=",tag:"mo",output:"\u2260",tex:"ne",ttype:CONST},{input:":=",tag:"mo",output:":=",tex:null,ttype:CONST},{input:"lt",tag:"mo",output:"<",tex:null,ttype:CONST},{input:"<=",tag:"mo",output:"\u2264",tex:"le",ttype:CONST},{input:"lt=",tag:"mo",output:"\u2264",tex:"leq",ttype:CONST},{input:">=",tag:"mo",output:"\u2265",tex:"ge",ttype:CONST},{input:"geq",tag:"mo",output:"\u2265",tex:null,ttype:CONST},{input:"-<",tag:"mo",output:"\u227a",tex:"prec",ttype:CONST},{input:"-lt",tag:"mo",output:"\u227a",tex:null,ttype:CONST},{input:">-",tag:"mo",output:"\u227b",tex:"succ",ttype:CONST},{input:"-<=",tag:"mo",output:"\u2aaf",tex:"preceq",ttype:CONST},{input:">-=",tag:"mo",output:"\u2ab0",tex:"succeq",ttype:CONST},{input:"in",tag:"mo",output:"\u2208",tex:null,ttype:CONST},{input:"!in",tag:"mo",output:"\u2209",tex:"notin",ttype:CONST},{input:"sub",tag:"mo",output:"\u2282",tex:"subset",ttype:CONST},{input:"sup",tag:"mo",output:"\u2283",tex:"supset",ttype:CONST},{input:"sube",tag:"mo",output:"\u2286",tex:"subseteq",ttype:CONST},{input:"supe",tag:"mo",output:"\u2287",tex:"supseteq",ttype:CONST},{input:"-=",tag:"mo",output:"\u2261",tex:"equiv",ttype:CONST},{input:"~=",tag:"mo",output:"\u2245",tex:"cong",ttype:CONST},{input:"~~",tag:"mo",output:"\u2248",tex:"approx",ttype:CONST},{input:"prop",tag:"mo",output:"\u221d",tex:"propto",ttype:CONST},{input:"and",tag:"mtext",output:"and",tex:null,ttype:SPACE},{input:"or",tag:"mtext",output:"or",tex:null,ttype:SPACE},{input:"not",tag:"mo",output:"\xac",tex:"neg",ttype:CONST},{input:"=>",tag:"mo",output:"\u21d2",tex:"implies",ttype:CONST},{input:"if",tag:"mo",output:"if",tex:null,ttype:SPACE},{input:"<=>",tag:"mo",output:"\u21d4",tex:"iff",ttype:CONST},{input:"AA",tag:"mo",output:"\u2200",tex:"forall",ttype:CONST},{input:"EE",tag:"mo",output:"\u2203",tex:"exists",ttype:CONST},{input:"_|_",tag:"mo",output:"\u22a5",tex:"bot",ttype:CONST},{input:"TT",tag:"mo",output:"\u22a4",tex:"top",ttype:CONST},{input:"|--",tag:"mo",output:"\u22a2",tex:"vdash",ttype:CONST},{input:"|==",tag:"mo",output:"\u22a8",tex:"models",ttype:CONST},{input:"(",tag:"mo",output:"(",tex:null,ttype:LEFTBRACKET},{input:")",tag:"mo",output:")",tex:null,ttype:RIGHTBRACKET},{input:"[",tag:"mo",output:"[",tex:null,ttype:LEFTBRACKET},{input:"]",tag:"mo",output:"]",tex:null,ttype:RIGHTBRACKET},{input:"{",tag:"mo",output:"{",tex:null,ttype:LEFTBRACKET},{input:"}",tag:"mo",output:"}",tex:null,ttype:RIGHTBRACKET},{input:"|",tag:"mo",output:"|",tex:null,ttype:LEFTRIGHT},{input:"(:",tag:"mo",output:"\u2329",tex:"langle",ttype:LEFTBRACKET},{input:":)",tag:"mo",output:"\u232a",tex:"rangle",ttype:RIGHTBRACKET},{input:"<<",tag:"mo",output:"\u2329",tex:null,ttype:LEFTBRACKET},{input:">>",tag:"mo",output:"\u232a",tex:null,ttype:RIGHTBRACKET},{input:"{:",tag:"mo",output:"{:",tex:null,ttype:LEFTBRACKET,invisible:true},{input:":}",tag:"mo",output:":}",tex:null,ttype:RIGHTBRACKET,invisible:true},{input:"int",tag:"mo",output:"\u222b",tex:null,ttype:CONST},{input:"dx",tag:"mi",output:"{:d x:}",tex:null,ttype:DEFINITION},{input:"dy",tag:"mi",output:"{:d y:}",tex:null,ttype:DEFINITION},{input:"dz",tag:"mi",output:"{:d z:}",tex:null,ttype:DEFINITION},{input:"dt",tag:"mi",output:"{:d t:}",tex:null,ttype:DEFINITION},{input:"oint",tag:"mo",output:"\u222e",tex:null,ttype:CONST},{input:"del",tag:"mo",output:"\u2202",tex:"partial",ttype:CONST},{input:"grad",tag:"mo",output:"\u2207",tex:"nabla",ttype:CONST},{input:"+-",tag:"mo",output:"\xb1",tex:"pm",ttype:CONST},{input:"O/",tag:"mo",output:"\u2205",tex:"emptyset",ttype:CONST},{input:"oo",tag:"mo",output:"\u221e",tex:"infty",ttype:CONST},{input:"aleph",tag:"mo",output:"\u2135",tex:null,ttype:CONST},{input:"...",tag:"mo",output:"...",tex:"ldots",ttype:CONST},{input:":.",tag:"mo",output:"\u2234",tex:"therefore",ttype:CONST},{input:"/_",tag:"mo",output:"\u2220",tex:"angle",ttype:CONST},{input:"\\ ",tag:"mo",output:"\xa0",tex:null,ttype:CONST},{input:"quad",tag:"mo",output:"\xa0\xa0",tex:null,ttype:CONST},{input:"qquad",tag:"mo",output:"\xa0\xa0\xa0\xa0",tex:null,ttype:CONST},{input:"cdots",tag:"mo",output:"\u22ef",tex:null,ttype:CONST},{input:"vdots",tag:"mo",output:"\u22ee",tex:null,ttype:CONST},{input:"ddots",tag:"mo",output:"\u22f1",tex:null,ttype:CONST},{input:"diamond",tag:"mo",output:"\u22c4",tex:null,ttype:CONST},{input:"square",tag:"mo",output:"\u25a1",tex:null,ttype:CONST},{input:"|__",tag:"mo",output:"\u230a",tex:"lfloor",ttype:CONST},{input:"__|",tag:"mo",output:"\u230b",tex:"rfloor",ttype:CONST},{input:"|~",tag:"mo",output:"\u2308",tex:"lceiling",ttype:CONST},{input:"~|",tag:"mo",output:"\u2309",tex:"rceiling",ttype:CONST},{input:"CC",tag:"mo",output:"\u2102",tex:null,ttype:CONST},{input:"NN",tag:"mo",output:"\u2115",tex:null,ttype:CONST},{input:"QQ",tag:"mo",output:"\u211a",tex:null,ttype:CONST},{input:"RR",tag:"mo",output:"\u211d",tex:null,ttype:CONST},{input:"ZZ",tag:"mo",output:"\u2124",tex:null,ttype:CONST},{input:"f",tag:"mi",output:"f",tex:null,ttype:UNARY,func:true},{input:"g",tag:"mi",output:"g",tex:null,ttype:UNARY,func:true},{input:"lim",tag:"mo",output:"lim",tex:null,ttype:UNDEROVER},{input:"Lim",tag:"mo",output:"Lim",tex:null,ttype:UNDEROVER},{input:"sin",tag:"mo",output:"sin",tex:null,ttype:UNARY,func:true},{input:"cos",tag:"mo",output:"cos",tex:null,ttype:UNARY,func:true},{input:"tan",tag:"mo",output:"tan",tex:null,ttype:UNARY,func:true},{input:"sinh",tag:"mo",output:"sinh",tex:null,ttype:UNARY,func:true},{input:"cosh",tag:"mo",output:"cosh",tex:null,ttype:UNARY,func:true},{input:"tanh",tag:"mo",output:"tanh",tex:null,ttype:UNARY,func:true},{input:"cot",tag:"mo",output:"cot",tex:null,ttype:UNARY,func:true},{input:"sec",tag:"mo",output:"sec",tex:null,ttype:UNARY,func:true},{input:"csc",tag:"mo",output:"csc",tex:null,ttype:UNARY,func:true},{input:"log",tag:"mo",output:"log",tex:null,ttype:UNARY,func:true},{input:"ln",tag:"mo",output:"ln",tex:null,ttype:UNARY,func:true},{input:"det",tag:"mo",output:"det",tex:null,ttype:UNARY,func:true},{input:"dim",tag:"mo",output:"dim",tex:null,ttype:CONST},{input:"mod",tag:"mo",output:"mod",tex:null,ttype:CONST},{input:"gcd",tag:"mo",output:"gcd",tex:null,ttype:UNARY,func:true},{input:"lcm",tag:"mo",output:"lcm",tex:null,ttype:UNARY,func:true},{input:"lub",tag:"mo",output:"lub",tex:null,ttype:CONST},{input:"glb",tag:"mo",output:"glb",tex:null,ttype:CONST},{input:"min",tag:"mo",output:"min",tex:null,ttype:UNDEROVER},{input:"max",tag:"mo",output:"max",tex:null,ttype:UNDEROVER},{input:"uarr",tag:"mo",output:"\u2191",tex:"uparrow",ttype:CONST},{input:"darr",tag:"mo",output:"\u2193",tex:"downarrow",ttype:CONST},{input:"rarr",tag:"mo",output:"\u2192",tex:"rightarrow",ttype:CONST},{input:"->",tag:"mo",output:"\u2192",tex:"to",ttype:CONST},{input:"|->",tag:"mo",output:"\u21a6",tex:"mapsto",ttype:CONST},{input:"larr",tag:"mo",output:"\u2190",tex:"leftarrow",ttype:CONST},{input:"harr",tag:"mo",output:"\u2194",tex:"leftrightarrow",ttype:CONST},{input:"rArr",tag:"mo",output:"\u21d2",tex:"Rightarrow",ttype:CONST},{input:"lArr",tag:"mo",output:"\u21d0",tex:"Leftarrow",ttype:CONST},{input:"hArr",tag:"mo",output:"\u21d4",tex:"Leftrightarrow",ttype:CONST},AMsqrt,AMroot,AMfrac,AMdiv,AMover,AMsub,AMsup,{input:"hat",tag:"mover",output:"^",tex:null,ttype:UNARY,acc:true},{input:"bar",tag:"mover",output:"\xaf",tex:"overline",ttype:UNARY,acc:true},{input:"vec",tag:"mover",output:"\u2192",tex:null,ttype:UNARY,acc:true},{input:"dot",tag:"mover",output:".",tex:null,ttype:UNARY,acc:true},{input:"ddot",tag:"mover",output:"..",tex:null,ttype:UNARY,acc:true},{input:"ul",tag:"munder",output:"\u0332",tex:"underline",ttype:UNARY,acc:true},AMtext,AMmbox,AMquote,{input:"bb",tag:"mstyle",atname:"fontweight",atval:"bold",output:"bb",tex:null,ttype:UNARY},{input:"mathbf",tag:"mstyle",atname:"fontweight",atval:"bold",output:"mathbf",tex:null,ttype:UNARY},{input:"sf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"sf",tex:null,ttype:UNARY},{input:"mathsf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"mathsf",tex:null,ttype:UNARY},{input:"bbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"bbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"mathbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"cc",tag:"mstyle",atname:"mathvariant",atval:"script",output:"cc",tex:null,ttype:UNARY,codes:AMcal},{input:"mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",output:"mathcal",tex:null,ttype:UNARY,codes:AMcal},{input:"tt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"tt",tex:null,ttype:UNARY},{input:"mathtt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"mathtt",tex:null,ttype:UNARY},{input:"fr",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"fr",tex:null,ttype:UNARY,codes:AMfrk},{input:"mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"mathfrak",tex:null,ttype:UNARY,codes:AMfrk}]; -function compareNames(s1,s2){ -if(s1.input>s2.input){ -return 1; -}else{ -return -1; -} -} -var AMnames=[]; -function AMinitSymbols(){ -var _7=[],i; -for(i=0;i>1; -if(arr[m]=AMnames[k]; -} -AMpreviousSymbol=AMcurrentSymbol; -if(_1d!=""){ -AMcurrentSymbol=AMsymbols[mk].ttype; -return AMsymbols[mk]; -} -AMcurrentSymbol=CONST; -k=1; -st=str.slice(0,1); -var _20=true; -while("0"<=st&&st<="9"&&k<=str.length){ -st=str.slice(k,k+1); -k++; -} -if(st==decimalsign){ -st=str.slice(k,k+1); -if("0"<=st&&st<="9"){ -_20=false; -k++; -while("0"<=st&&st<="9"&&k<=str.length){ -st=str.slice(k,k+1); -k++; -} -} -} -if((_20&&k>1)||k>2){ -st=str.slice(0,k-1); -_1c="mn"; -}else{ -k=2; -st=str.slice(0,1); -_1c=(("A">st||st>"Z")&&("a">st||st>"z")?"mo":"mi"); -} -if(st=="-"&&AMpreviousSymbol==INFIX){ -AMcurrentSymbol=INFIX; -return {input:st,tag:_1c,output:st,ttype:UNARY,func:true}; -} -return {input:st,tag:_1c,output:st,ttype:CONST}; -} -function AMremoveBrackets(_21){ -var st; -if(_21.nodeName=="mrow"){ -st=_21.firstChild.firstChild.nodeValue; -if(st=="("||st=="["||st=="{"){ -_21.removeChild(_21.firstChild); -} -} -if(_21.nodeName=="mrow"){ -st=_21.lastChild.firstChild.nodeValue; -if(st==")"||st=="]"||st=="}"){ -_21.removeChild(_21.lastChild); -} -} -} -var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol; -function AMparseSexpr(str){ -var _24,node,result,i,st,newFrag=document.createDocumentFragment(); -str=AMremoveCharsAndBlanks(str,0); -_24=AMgetSymbol(str); -if(_24==null||_24.ttype==RIGHTBRACKET&&AMnestingDepth>0){ -return [null,str]; -} -if(_24.ttype==DEFINITION){ -str=_24.output+AMremoveCharsAndBlanks(str,_24.input.length); -_24=AMgetSymbol(str); -} -switch(_24.ttype){ -case UNDEROVER: -case CONST: -str=AMremoveCharsAndBlanks(str,_24.input.length); -return [AMcreateMmlNode(_24.tag,document.createTextNode(_24.output)),str]; -case LEFTBRACKET: -AMnestingDepth++; -str=AMremoveCharsAndBlanks(str,_24.input.length); -result=AMparseExpr(str,true); -AMnestingDepth--; -if(typeof _24.invisible=="boolean"&&_24.invisible){ -node=AMcreateMmlNode("mrow",result[0]); -}else{ -node=AMcreateMmlNode("mo",document.createTextNode(_24.output)); -node=AMcreateMmlNode("mrow",node); -node.appendChild(result[0]); -} -return [node,result[1]]; -case TEXT: -if(_24!=AMquote){ -str=AMremoveCharsAndBlanks(str,_24.input.length); -} -if(str.charAt(0)=="{"){ -i=str.indexOf("}"); -}else{ -if(str.charAt(0)=="("){ -i=str.indexOf(")"); -}else{ -if(str.charAt(0)=="["){ -i=str.indexOf("]"); -}else{ -if(_24==AMquote){ -i=str.slice(1).indexOf("\"")+1; -}else{ -i=0; -} -} -} -} -if(i==-1){ -i=str.length; -} -st=str.slice(1,i); -if(st.charAt(0)==" "){ -node=AMcreateElementMathML("mspace"); -node.setAttribute("width","1ex"); -newFrag.appendChild(node); -} -newFrag.appendChild(AMcreateMmlNode(_24.tag,document.createTextNode(st))); -if(st.charAt(st.length-1)==" "){ -node=AMcreateElementMathML("mspace"); -node.setAttribute("width","1ex"); -newFrag.appendChild(node); -} -str=AMremoveCharsAndBlanks(str,i+1); -return [AMcreateMmlNode("mrow",newFrag),str]; -case UNARY: -str=AMremoveCharsAndBlanks(str,_24.input.length); -result=AMparseSexpr(str); -if(result[0]==null){ -return [AMcreateMmlNode(_24.tag,document.createTextNode(_24.output)),str]; -} -if(typeof _24.func=="boolean"&&_24.func){ -st=str.charAt(0); -if(st=="^"||st=="_"||st=="/"||st=="|"||st==","){ -return [AMcreateMmlNode(_24.tag,document.createTextNode(_24.output)),str]; -}else{ -node=AMcreateMmlNode("mrow",AMcreateMmlNode(_24.tag,document.createTextNode(_24.output))); -node.appendChild(result[0]); -return [node,result[1]]; -} -} -AMremoveBrackets(result[0]); -if(_24.input=="sqrt"){ -return [AMcreateMmlNode(_24.tag,result[0]),result[1]]; -}else{ -if(typeof _24.acc=="boolean"&&_24.acc){ -node=AMcreateMmlNode(_24.tag,result[0]); -node.appendChild(AMcreateMmlNode("mo",document.createTextNode(_24.output))); -return [node,result[1]]; -}else{ -if(!isIE&&typeof _24.codes!="undefined"){ -for(i=0;i64&&st.charCodeAt(j)<91){ -_25=_25+String.fromCharCode(_24.codes[st.charCodeAt(j)-65]); -}else{ -_25=_25+st.charAt(j); -} -} -if(result[0].nodeName=="mi"){ -result[0]=AMcreateElementMathML("mo").appendChild(document.createTextNode(_25)); -}else{ -result[0].replaceChild(AMcreateElementMathML("mo").appendChild(document.createTextNode(_25)),result[0].childNodes[i]); -} -} -} -} -node=AMcreateMmlNode(_24.tag,result[0]); -node.setAttribute(_24.atname,_24.atval); -return [node,result[1]]; -} -} -case BINARY: -str=AMremoveCharsAndBlanks(str,_24.input.length); -result=AMparseSexpr(str); -if(result[0]==null){ -return [AMcreateMmlNode("mo",document.createTextNode(_24.input)),str]; -} -AMremoveBrackets(result[0]); -var _27=AMparseSexpr(result[1]); -if(_27[0]==null){ -return [AMcreateMmlNode("mo",document.createTextNode(_24.input)),str]; -} -AMremoveBrackets(_27[0]); -if(_24.input=="root"||_24.input=="stackrel"){ -newFrag.appendChild(_27[0]); -} -newFrag.appendChild(result[0]); -if(_24.input=="frac"){ -newFrag.appendChild(_27[0]); -} -return [AMcreateMmlNode(_24.tag,newFrag),_27[1]]; -case INFIX: -str=AMremoveCharsAndBlanks(str,_24.input.length); -return [AMcreateMmlNode("mo",document.createTextNode(_24.output)),str]; -case SPACE: -str=AMremoveCharsAndBlanks(str,_24.input.length); -node=AMcreateElementMathML("mspace"); -node.setAttribute("width","1ex"); -newFrag.appendChild(node); -newFrag.appendChild(AMcreateMmlNode(_24.tag,document.createTextNode(_24.output))); -node=AMcreateElementMathML("mspace"); -node.setAttribute("width","1ex"); -newFrag.appendChild(node); -return [AMcreateMmlNode("mrow",newFrag),str]; -case LEFTRIGHT: -AMnestingDepth++; -str=AMremoveCharsAndBlanks(str,_24.input.length); -result=AMparseExpr(str,false); -AMnestingDepth--; -var st=""; -if(result[0].lastChild!=null){ -st=result[0].lastChild.firstChild.nodeValue; -} -if(st=="|"){ -node=AMcreateMmlNode("mo",document.createTextNode(_24.output)); -node=AMcreateMmlNode("mrow",node); -node.appendChild(result[0]); -return [node,result[1]]; -}else{ -node=AMcreateMmlNode("mo",document.createTextNode(_24.output)); -node=AMcreateMmlNode("mrow",node); -return [node,str]; -} -default: -str=AMremoveCharsAndBlanks(str,_24.input.length); -return [AMcreateMmlNode(_24.tag,document.createTextNode(_24.output)),str]; -} -} -function AMparseIexpr(str){ -var _2a,sym1,sym2,node,result,underover; -str=AMremoveCharsAndBlanks(str,0); -sym1=AMgetSymbol(str); -result=AMparseSexpr(str); -node=result[0]; -str=result[1]; -_2a=AMgetSymbol(str); -if(_2a.ttype==INFIX&&_2a.input!="/"){ -str=AMremoveCharsAndBlanks(str,_2a.input.length); -result=AMparseSexpr(str); -if(result[0]==null){ -result[0]=AMcreateMmlNode("mo",document.createTextNode("\u25a1")); -}else{ -AMremoveBrackets(result[0]); -} -str=result[1]; -if(_2a.input=="_"){ -sym2=AMgetSymbol(str); -underover=(sym1.ttype==UNDEROVER); -if(sym2.input=="^"){ -str=AMremoveCharsAndBlanks(str,sym2.input.length); -var _2b=AMparseSexpr(str); -AMremoveBrackets(_2b[0]); -str=_2b[1]; -node=AMcreateMmlNode((underover?"munderover":"msubsup"),node); -node.appendChild(result[0]); -node.appendChild(_2b[0]); -node=AMcreateMmlNode("mrow",node); -}else{ -node=AMcreateMmlNode((underover?"munder":"msub"),node); -node.appendChild(result[0]); -} -}else{ -node=AMcreateMmlNode(_2a.tag,node); -node.appendChild(result[0]); -} -} -return [node,str]; -} -function AMparseExpr(str,_2d){ -var _2e,node,result,i,nodeList=[],newFrag=document.createDocumentFragment(); -do{ -str=AMremoveCharsAndBlanks(str,0); -result=AMparseIexpr(str); -node=result[0]; -str=result[1]; -_2e=AMgetSymbol(str); -if(_2e.ttype==INFIX&&_2e.input=="/"){ -str=AMremoveCharsAndBlanks(str,_2e.input.length); -result=AMparseIexpr(str); -if(result[0]==null){ -result[0]=AMcreateMmlNode("mo",document.createTextNode("\u25a1")); -}else{ -AMremoveBrackets(result[0]); -} -str=result[1]; -AMremoveBrackets(node); -node=AMcreateMmlNode(_2e.tag,node); -node.appendChild(result[0]); -newFrag.appendChild(node); -_2e=AMgetSymbol(str); -}else{ -if(node!=undefined){ -newFrag.appendChild(node); -} -} -}while((_2e.ttype!=RIGHTBRACKET&&(_2e.ttype!=LEFTRIGHT||_2d)||AMnestingDepth==0)&&_2e!=null&&_2e.output!=""); -if(_2e.ttype==RIGHTBRACKET||_2e.ttype==LEFTRIGHT){ -var len=newFrag.childNodes.length; -if(len>0&&newFrag.childNodes[len-1].nodeName=="mrow"&&len>1&&newFrag.childNodes[len-2].nodeName=="mo"&&newFrag.childNodes[len-2].firstChild.nodeValue==","){ -var _30=newFrag.childNodes[len-1].lastChild.firstChild.nodeValue; -if(_30==")"||_30=="]"){ -var _31=newFrag.childNodes[len-1].firstChild.firstChild.nodeValue; -if(_31=="("&&_30==")"&&_2e.output!="}"||_31=="["&&_30=="]"){ -var pos=[]; -var _33=true; -var m=newFrag.childNodes.length; -for(i=0;_33&&i1){ -_33=pos[i].length==pos[i-2].length; -} -} -if(_33){ -var row,frag,n,k,table=document.createDocumentFragment(); -for(i=0;i2){ -newFrag.removeChild(newFrag.firstChild); -newFrag.removeChild(newFrag.firstChild); -} -table.appendChild(AMcreateMmlNode("mtr",row)); -} -node=AMcreateMmlNode("mtable",table); -if(typeof _2e.invisible=="boolean"&&_2e.invisible){ -node.setAttribute("columnalign","left"); -} -newFrag.replaceChild(node,newFrag.firstChild); -} -} -} -} -str=AMremoveCharsAndBlanks(str,_2e.input.length); -if(typeof _2e.invisible!="boolean"||!_2e.invisible){ -node=AMcreateMmlNode("mo",document.createTextNode(_2e.output)); -newFrag.appendChild(node); -} -} -return [newFrag,str]; -} -function AMparseMath(str){ -var _38,node=AMcreateElementMathML("mstyle"); -if(mathcolor!=""){ -node.setAttribute("mathcolor",mathcolor); -} -if(displaystyle){ -node.setAttribute("displaystyle","true"); -} -if(mathfontfamily!=""){ -node.setAttribute("fontfamily",mathfontfamily); -} -AMnestingDepth=0; -node.appendChild(AMparseExpr(str.replace(/^\s+/g,""),false)[0]); -node=AMcreateMmlNode("math",node); -if(showasciiformulaonhover){ -node.setAttribute("title",str.replace(/\s+/g," ")); -} -if(mathfontfamily!=""&&(isIE||mathfontfamily!="serif")){ -var _39=AMcreateElementXHTML("font"); -_39.setAttribute("face",mathfontfamily); -_39.appendChild(node); -return _39; -} -return node; -} -function AMstrarr2docFrag(arr,_3b){ -var _3c=document.createDocumentFragment(); -var _3d=false; -for(var i=0;i1||_43){ -if(checkForMathML){ -checkForMathML=false; -var nd=AMisMathMLavailable(); -AMnoMathML=nd!=null; -if(AMnoMathML&¬ifyIfNoMathML){ -if(alertIfNoMathML){ -alert("To view the ASCIIMathML notation use Internet Explorer 6 +\nMathPlayer (free from www.dessci.com)\n or Firefox/Mozilla/Netscape"); -}else{ -AMbody.insertBefore(nd,AMbody.childNodes[0]); -} -} -} -if(!AMnoMathML){ -frg=AMstrarr2docFrag(arr,n.nodeType==8); -var len=frg.childNodes.length; -n.parentNode.replaceChild(frg,n); -return len-1; -}else{ -return 0; -} -} -} -}else{ -return 0; -} -}else{ -if(n.nodeName!="math"){ -for(i=0;i"); -document.write("<"+"?import namespace=\"m\" implementation=\"#mathplayer\"?>"); -} -function generic(){ -translate(); -} -if(typeof window.addEventListener!="undefined"){ -window.addEventListener("load",generic,false); -}else{ -if(typeof document.addEventListener!="undefined"){ -document.addEventListener("load",generic,false); -}else{ -if(typeof window.attachEvent!="undefined"){ -window.attachEvent("onload",generic); -}else{ -if(typeof window.onload=="function"){ -var existing=onload; -window.onload=function(){ -existing(); -generic(); -}; -}else{ -window.onload=generic; -} -} -} -} - +var mathcolor="blue";var mathfontsize="1em";var mathfontfamily="serif";var automathrecognize=false;var checkForMathML=true;var notifyIfNoMathML=true;var alertIfNoMathML=false;var translateOnLoad=true;var translateLaTeX=true;var translateLaTeXformatting=true;var translateASCIIMath=true;var translateASCIIsvg=true;var avoidinnerHTML=false;var displaystyle=true;var showasciiformulaonhover=true;var decimalsign=".";var AMdelimiter1="`",AMescape1="\\\\`";var AMdocumentId="wikitext";var checkforprocessasciimathinmoodle=false;var dsvglocation="";var isIE=document.createElementNS==null;var noMathML=false,translated=false;if(isIE){document.write('');document.write('')}function setStylesheet(a){var c="AMMLcustomStyleSheet";var b=document.getElementById(c);if(document.createStyleSheet){if(b){b.parentNode.removeChild(b)}document.getElementsByTagName("head")[0].insertAdjacentHTML("beforeEnd"," ")}else{if(b){b.replaceChild(document.createTextNode(a),b.firstChild)}else{b=document.createElement("style");b.type="text/css";b.id=c;b.appendChild(document.createTextNode(a));document.getElementsByTagName("head")[0].appendChild(b)}}}setStylesheet("#AMMLcloseDiv {font-size:0.8em; padding-top:1em; color:#014}\n#AMMLwarningBox {position:absolute; width:100%; top:0; left:0; z-index:200; text-align:center; font-size:1em; font-weight:bold; padding:0.5em 0 0.5em 0; color:#ffc; background:#c30}");function init(){var b,a=new Array();if(document.getElementById==null){alert("This webpage requires a recent browser such as Mozilla Firefox/Netscape 7+ or Internet Explorer 6+ with MathPlayer and Adobe SVGviewer");return null}if(checkForMathML&&(b=checkMathML())){a.push(b)}if(checkIfSVGavailable&&(b=checkSVG())){a.push(b)}if(a.length>0){displayWarnings(a)}if(!noMathML){initSymbols()}return true}function checkMathML(){if(navigator.appName.slice(0,8)=="Netscape"){if(navigator.appVersion.slice(0,1)>="5"){noMathML=null}else{noMathML=true}}else{if(navigator.appName.slice(0,9)=="Microsoft"){try{var c=new ActiveXObject("MathPlayer.Factory.1");noMathML=null}catch(a){noMathML=true}}else{if(navigator.appName.slice(0,5)=="Opera"){if(navigator.appVersion.slice(0,3)>="9.5"){noMathML=null}else{noMathML=true}}}}if(noMathML&¬ifyIfNoMathML){var b="To view the ASCIIMathML notation use Internet Explorer + MathPlayer or Mozilla Firefox 2.0 or later.";if(alertIfNoMathML){alert(b)}else{return b}}}function hideWarning(){var a=document.getElementsByTagName("body")[0];a.removeChild(document.getElementById("AMMLwarningBox"));a.onclick=null}function displayWarnings(b){var c,g,f=createElementXHTML("div");var a=document.getElementsByTagName("body")[0];a.onclick=hideWarning;f.id="AMMLwarningBox";for(c=0;c=",tag:"mo",output:"\u2265",tex:"ge",ttype:CONST},{input:"geq",tag:"mo",output:"\u2265",tex:null,ttype:CONST},{input:"-<",tag:"mo",output:"\u227A",tex:"prec",ttype:CONST},{input:"-lt",tag:"mo",output:"\u227A",tex:null,ttype:CONST},{input:">-",tag:"mo",output:"\u227B",tex:"succ",ttype:CONST},{input:"-<=",tag:"mo",output:"\u2AAF",tex:"preceq",ttype:CONST},{input:">-=",tag:"mo",output:"\u2AB0",tex:"succeq",ttype:CONST},{input:"in",tag:"mo",output:"\u2208",tex:null,ttype:CONST},{input:"!in",tag:"mo",output:"\u2209",tex:"notin",ttype:CONST},{input:"sub",tag:"mo",output:"\u2282",tex:"subset",ttype:CONST},{input:"sup",tag:"mo",output:"\u2283",tex:"supset",ttype:CONST},{input:"sube",tag:"mo",output:"\u2286",tex:"subseteq",ttype:CONST},{input:"supe",tag:"mo",output:"\u2287",tex:"supseteq",ttype:CONST},{input:"-=",tag:"mo",output:"\u2261",tex:"equiv",ttype:CONST},{input:"~=",tag:"mo",output:"\u2245",tex:"cong",ttype:CONST},{input:"~~",tag:"mo",output:"\u2248",tex:"approx",ttype:CONST},{input:"prop",tag:"mo",output:"\u221D",tex:"propto",ttype:CONST},{input:"and",tag:"mtext",output:"and",tex:null,ttype:SPACE},{input:"or",tag:"mtext",output:"or",tex:null,ttype:SPACE},{input:"not",tag:"mo",output:"\u00AC",tex:"neg",ttype:CONST},{input:"=>",tag:"mo",output:"\u21D2",tex:"implies",ttype:CONST},{input:"if",tag:"mo",output:"if",tex:null,ttype:SPACE},{input:"<=>",tag:"mo",output:"\u21D4",tex:"iff",ttype:CONST},{input:"AA",tag:"mo",output:"\u2200",tex:"forall",ttype:CONST},{input:"EE",tag:"mo",output:"\u2203",tex:"exists",ttype:CONST},{input:"_|_",tag:"mo",output:"\u22A5",tex:"bot",ttype:CONST},{input:"TT",tag:"mo",output:"\u22A4",tex:"top",ttype:CONST},{input:"|--",tag:"mo",output:"\u22A2",tex:"vdash",ttype:CONST},{input:"|==",tag:"mo",output:"\u22A8",tex:"models",ttype:CONST},{input:"(",tag:"mo",output:"(",tex:null,ttype:LEFTBRACKET},{input:")",tag:"mo",output:")",tex:null,ttype:RIGHTBRACKET},{input:"[",tag:"mo",output:"[",tex:null,ttype:LEFTBRACKET},{input:"]",tag:"mo",output:"]",tex:null,ttype:RIGHTBRACKET},{input:"{",tag:"mo",output:"{",tex:null,ttype:LEFTBRACKET},{input:"}",tag:"mo",output:"}",tex:null,ttype:RIGHTBRACKET},{input:"|",tag:"mo",output:"|",tex:null,ttype:LEFTRIGHT},{input:"(:",tag:"mo",output:"\u2329",tex:"langle",ttype:LEFTBRACKET},{input:":)",tag:"mo",output:"\u232A",tex:"rangle",ttype:RIGHTBRACKET},{input:"<<",tag:"mo",output:"\u2329",tex:null,ttype:LEFTBRACKET},{input:">>",tag:"mo",output:"\u232A",tex:null,ttype:RIGHTBRACKET},{input:"{:",tag:"mo",output:"{:",tex:null,ttype:LEFTBRACKET,invisible:true},{input:":}",tag:"mo",output:":}",tex:null,ttype:RIGHTBRACKET,invisible:true},{input:"int",tag:"mo",output:"\u222B",tex:null,ttype:CONST},{input:"dx",tag:"mi",output:"{:d x:}",tex:null,ttype:DEFINITION},{input:"dy",tag:"mi",output:"{:d y:}",tex:null,ttype:DEFINITION},{input:"dz",tag:"mi",output:"{:d z:}",tex:null,ttype:DEFINITION},{input:"dt",tag:"mi",output:"{:d t:}",tex:null,ttype:DEFINITION},{input:"oint",tag:"mo",output:"\u222E",tex:null,ttype:CONST},{input:"del",tag:"mo",output:"\u2202",tex:"partial",ttype:CONST},{input:"grad",tag:"mo",output:"\u2207",tex:"nabla",ttype:CONST},{input:"+-",tag:"mo",output:"\u00B1",tex:"pm",ttype:CONST},{input:"O/",tag:"mo",output:"\u2205",tex:"emptyset",ttype:CONST},{input:"oo",tag:"mo",output:"\u221E",tex:"infty",ttype:CONST},{input:"aleph",tag:"mo",output:"\u2135",tex:null,ttype:CONST},{input:"...",tag:"mo",output:"...",tex:"ldots",ttype:CONST},{input:":.",tag:"mo",output:"\u2234",tex:"therefore",ttype:CONST},{input:"/_",tag:"mo",output:"\u2220",tex:"angle",ttype:CONST},{input:"\\ ",tag:"mo",output:"\u00A0",tex:null,ttype:CONST},{input:"quad",tag:"mo",output:"\u00A0\u00A0",tex:null,ttype:CONST},{input:"qquad",tag:"mo",output:"\u00A0\u00A0\u00A0\u00A0",tex:null,ttype:CONST},{input:"cdots",tag:"mo",output:"\u22EF",tex:null,ttype:CONST},{input:"vdots",tag:"mo",output:"\u22EE",tex:null,ttype:CONST},{input:"ddots",tag:"mo",output:"\u22F1",tex:null,ttype:CONST},{input:"diamond",tag:"mo",output:"\u22C4",tex:null,ttype:CONST},{input:"square",tag:"mo",output:"\u25A1",tex:null,ttype:CONST},{input:"|__",tag:"mo",output:"\u230A",tex:"lfloor",ttype:CONST},{input:"__|",tag:"mo",output:"\u230B",tex:"rfloor",ttype:CONST},{input:"|~",tag:"mo",output:"\u2308",tex:"lceiling",ttype:CONST},{input:"~|",tag:"mo",output:"\u2309",tex:"rceiling",ttype:CONST},{input:"CC",tag:"mo",output:"\u2102",tex:null,ttype:CONST},{input:"NN",tag:"mo",output:"\u2115",tex:null,ttype:CONST},{input:"QQ",tag:"mo",output:"\u211A",tex:null,ttype:CONST},{input:"RR",tag:"mo",output:"\u211D",tex:null,ttype:CONST},{input:"ZZ",tag:"mo",output:"\u2124",tex:null,ttype:CONST},{input:"f",tag:"mi",output:"f",tex:null,ttype:UNARY,func:true},{input:"g",tag:"mi",output:"g",tex:null,ttype:UNARY,func:true},{input:"lim",tag:"mo",output:"lim",tex:null,ttype:UNDEROVER},{input:"Lim",tag:"mo",output:"Lim",tex:null,ttype:UNDEROVER},{input:"sin",tag:"mo",output:"sin",tex:null,ttype:UNARY,func:true},{input:"cos",tag:"mo",output:"cos",tex:null,ttype:UNARY,func:true},{input:"tan",tag:"mo",output:"tan",tex:null,ttype:UNARY,func:true},{input:"sinh",tag:"mo",output:"sinh",tex:null,ttype:UNARY,func:true},{input:"cosh",tag:"mo",output:"cosh",tex:null,ttype:UNARY,func:true},{input:"tanh",tag:"mo",output:"tanh",tex:null,ttype:UNARY,func:true},{input:"cot",tag:"mo",output:"cot",tex:null,ttype:UNARY,func:true},{input:"sec",tag:"mo",output:"sec",tex:null,ttype:UNARY,func:true},{input:"csc",tag:"mo",output:"csc",tex:null,ttype:UNARY,func:true},{input:"log",tag:"mo",output:"log",tex:null,ttype:UNARY,func:true},{input:"ln",tag:"mo",output:"ln",tex:null,ttype:UNARY,func:true},{input:"det",tag:"mo",output:"det",tex:null,ttype:UNARY,func:true},{input:"dim",tag:"mo",output:"dim",tex:null,ttype:CONST},{input:"mod",tag:"mo",output:"mod",tex:null,ttype:CONST},{input:"gcd",tag:"mo",output:"gcd",tex:null,ttype:UNARY,func:true},{input:"lcm",tag:"mo",output:"lcm",tex:null,ttype:UNARY,func:true},{input:"lub",tag:"mo",output:"lub",tex:null,ttype:CONST},{input:"glb",tag:"mo",output:"glb",tex:null,ttype:CONST},{input:"min",tag:"mo",output:"min",tex:null,ttype:UNDEROVER},{input:"max",tag:"mo",output:"max",tex:null,ttype:UNDEROVER},{input:"uarr",tag:"mo",output:"\u2191",tex:"uparrow",ttype:CONST},{input:"darr",tag:"mo",output:"\u2193",tex:"downarrow",ttype:CONST},{input:"rarr",tag:"mo",output:"\u2192",tex:"rightarrow",ttype:CONST},{input:"->",tag:"mo",output:"\u2192",tex:"to",ttype:CONST},{input:">->",tag:"mo",output:"\u21A3",tex:"rightarrowtail",ttype:CONST},{input:"->>",tag:"mo",output:"\u21A0",tex:"twoheadrightarrow",ttype:CONST},{input:">->>",tag:"mo",output:"\u2916",tex:"twoheadrightarrowtail",ttype:CONST},{input:"|->",tag:"mo",output:"\u21A6",tex:"mapsto",ttype:CONST},{input:"larr",tag:"mo",output:"\u2190",tex:"leftarrow",ttype:CONST},{input:"harr",tag:"mo",output:"\u2194",tex:"leftrightarrow",ttype:CONST},{input:"rArr",tag:"mo",output:"\u21D2",tex:"Rightarrow",ttype:CONST},{input:"lArr",tag:"mo",output:"\u21D0",tex:"Leftarrow",ttype:CONST},{input:"hArr",tag:"mo",output:"\u21D4",tex:"Leftrightarrow",ttype:CONST},{input:"sqrt",tag:"msqrt",output:"sqrt",tex:null,ttype:UNARY},{input:"root",tag:"mroot",output:"root",tex:null,ttype:BINARY},{input:"frac",tag:"mfrac",output:"/",tex:null,ttype:BINARY},{input:"/",tag:"mfrac",output:"/",tex:null,ttype:INFIX},{input:"stackrel",tag:"mover",output:"stackrel",tex:null,ttype:BINARY},{input:"_",tag:"msub",output:"_",tex:null,ttype:INFIX},{input:"^",tag:"msup",output:"^",tex:null,ttype:INFIX},{input:"hat",tag:"mover",output:"\u005E",tex:null,ttype:UNARY,acc:true},{input:"bar",tag:"mover",output:"\u00AF",tex:"overline",ttype:UNARY,acc:true},{input:"vec",tag:"mover",output:"\u2192",tex:null,ttype:UNARY,acc:true},{input:"dot",tag:"mover",output:".",tex:null,ttype:UNARY,acc:true},{input:"ddot",tag:"mover",output:"..",tex:null,ttype:UNARY,acc:true},{input:"ul",tag:"munder",output:"\u0332",tex:"underline",ttype:UNARY,acc:true},{input:"text",tag:"mtext",output:"text",tex:null,ttype:TEXT},{input:"mbox",tag:"mtext",output:"mbox",tex:null,ttype:TEXT},AMquote,{input:"bb",tag:"mstyle",atname:"fontweight",atval:"bold",output:"bb",tex:null,ttype:UNARY},{input:"mathbf",tag:"mstyle",atname:"fontweight",atval:"bold",output:"mathbf",tex:null,ttype:UNARY},{input:"sf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"sf",tex:null,ttype:UNARY},{input:"mathsf",tag:"mstyle",atname:"fontfamily",atval:"sans-serif",output:"mathsf",tex:null,ttype:UNARY},{input:"bbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"bbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",output:"mathbb",tex:null,ttype:UNARY,codes:AMbbb},{input:"cc",tag:"mstyle",atname:"mathvariant",atval:"script",output:"cc",tex:null,ttype:UNARY,codes:AMcal},{input:"mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",output:"mathcal",tex:null,ttype:UNARY,codes:AMcal},{input:"tt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"tt",tex:null,ttype:UNARY},{input:"mathtt",tag:"mstyle",atname:"fontfamily",atval:"monospace",output:"mathtt",tex:null,ttype:UNARY},{input:"fr",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"fr",tex:null,ttype:UNARY,codes:AMfrk},{input:"mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",output:"mathfrak",tex:null,ttype:UNARY,codes:AMfrk}];function compareNames(b,a){if(b.input>a.input){return 1}else{return -1}}var AMnames=[];function initSymbols(){var b=[],a;for(a=0;a>1;if(b[a]=AMnames[a]}AMpreviousSymbol=AMcurrentSymbol;if(f!=""){AMcurrentSymbol=AMsymbols[d].ttype;return AMsymbols[d]}AMcurrentSymbol=CONST;a=1;m=h.slice(0,1);var l=true;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}if(m==decimalsign){m=h.slice(a,a+1);if("0"<=m&&m<="9"){l=false;a++;while("0"<=m&&m<="9"&&a<=h.length){m=h.slice(a,a+1);a++}}}if((l&&a>1)||a>2){m=h.slice(0,a-1);n="mn"}else{a=2;m=h.slice(0,1);n=(("A">m||m>"Z")&&("a">m||m>"z")?"mo":"mi")}if(m=="-"&&AMpreviousSymbol==INFIX){AMcurrentSymbol=INFIX;return{input:m,tag:n,output:m,ttype:UNARY,func:true}}return{input:m,tag:n,output:m,ttype:CONST}}function AMremoveBrackets(b){var a;if(b.nodeName=="mrow"){a=b.firstChild.firstChild.nodeValue;if(a=="("||a=="["||a=="{"){b.removeChild(b.firstChild)}}if(b.nodeName=="mrow"){a=b.lastChild.firstChild.nodeValue;if(a==")"||a=="]"||a=="}"){b.removeChild(b.lastChild)}}}var AMnestingDepth,AMpreviousSymbol,AMcurrentSymbol;function AMparseSexpr(h){var d,b,k,f,m,g=document.createDocumentFragment();h=AMremoveCharsAndBlanks(h,0);d=AMgetSymbol(h);if(d==null||d.ttype==RIGHTBRACKET&&AMnestingDepth>0){return[null,h]}if(d.ttype==DEFINITION){h=d.output+AMremoveCharsAndBlanks(h,d.input.length);d=AMgetSymbol(h)}switch(d.ttype){case UNDEROVER:case CONST:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h];case LEFTBRACKET:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,true);AMnestingDepth--;if(typeof d.invisible=="boolean"&&d.invisible){b=createMmlNode("mrow",k[0])}else{b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0])}return[b,k[1]];case TEXT:if(d!=AMquote){h=AMremoveCharsAndBlanks(h,d.input.length)}if(h.charAt(0)=="{"){f=h.indexOf("}")}else{if(h.charAt(0)=="("){f=h.indexOf(")")}else{if(h.charAt(0)=="["){f=h.indexOf("]")}else{if(d==AMquote){f=h.slice(1).indexOf('"')+1}else{f=0}}}}if(f==-1){f=h.length}m=h.slice(1,f);if(m.charAt(0)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}g.appendChild(createMmlNode(d.tag,document.createTextNode(m)));if(m.charAt(m.length-1)==" "){b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b)}h=AMremoveCharsAndBlanks(h,f+1);return[createMmlNode("mrow",g),h];case UNARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}if(typeof d.func=="boolean"&&d.func){m=h.charAt(0);if(m=="^"||m=="_"||m=="/"||m=="|"||m==","){return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}else{b=createMmlNode("mrow",createMmlNode(d.tag,document.createTextNode(d.output)));b.appendChild(k[0]);return[b,k[1]]}}AMremoveBrackets(k[0]);if(d.input=="sqrt"){return[createMmlNode(d.tag,k[0]),k[1]]}else{if(typeof d.acc=="boolean"&&d.acc){b=createMmlNode(d.tag,k[0]);b.appendChild(createMmlNode("mo",document.createTextNode(d.output)));return[b,k[1]]}else{if(!isIE&&typeof d.codes!="undefined"){for(f=0;f64&&m.charCodeAt(c)<91){l=l+String.fromCharCode(d.codes[m.charCodeAt(c)-65])}else{l=l+m.charAt(c)}}if(k[0].nodeName=="mi"){k[0]=createMmlNode("mo").appendChild(document.createTextNode(l))}else{k[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(l)),k[0].childNodes[f])}}}}b=createMmlNode(d.tag,k[0]);b.setAttribute(d.atname,d.atval);return[b,k[1]]}}case BINARY:h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseSexpr(h);if(k[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(k[0]);var a=AMparseSexpr(k[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(d.input)),h]}AMremoveBrackets(a[0]);if(d.input=="root"||d.input=="stackrel"){g.appendChild(a[0])}g.appendChild(k[0]);if(d.input=="frac"){g.appendChild(a[0])}return[createMmlNode(d.tag,g),a[1]];case INFIX:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode("mo",document.createTextNode(d.output)),h];case SPACE:h=AMremoveCharsAndBlanks(h,d.input.length);b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);g.appendChild(createMmlNode(d.tag,document.createTextNode(d.output)));b=createMmlNode("mspace");b.setAttribute("width","1ex");g.appendChild(b);return[createMmlNode("mrow",g),h];case LEFTRIGHT:AMnestingDepth++;h=AMremoveCharsAndBlanks(h,d.input.length);k=AMparseExpr(h,false);AMnestingDepth--;var m="";if(k[0].lastChild!=null){m=k[0].lastChild.firstChild.nodeValue}if(m=="|"){b=createMmlNode("mo",document.createTextNode(d.output));b=createMmlNode("mrow",b);b.appendChild(k[0]);return[b,k[1]]}else{b=createMmlNode("mo",document.createTextNode("\u2223"));b=createMmlNode("mrow",b);return[b,h]}default:h=AMremoveCharsAndBlanks(h,d.input.length);return[createMmlNode(d.tag,document.createTextNode(d.output)),h]}}function AMparseIexpr(h){var a,j,g,d,f,b;h=AMremoveCharsAndBlanks(h,0);j=AMgetSymbol(h);f=AMparseSexpr(h);d=f[0];h=f[1];a=AMgetSymbol(h);if(a.ttype==INFIX&&a.input!="/"){h=AMremoveCharsAndBlanks(h,a.input.length);f=AMparseSexpr(h);if(f[0]==null){f[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(f[0])}h=f[1];if(a.input=="_"){g=AMgetSymbol(h);b=(j.ttype==UNDEROVER);if(g.input=="^"){h=AMremoveCharsAndBlanks(h,g.input.length);var c=AMparseSexpr(h);AMremoveBrackets(c[0]);h=c[1];d=createMmlNode((b?"munderover":"msubsup"),d);d.appendChild(f[0]);d.appendChild(c[0]);d=createMmlNode("mrow",d)}else{d=createMmlNode((b?"munder":"msub"),d);d.appendChild(f[0])}}else{d=createMmlNode(a.tag,d);d.appendChild(f[0])}}return[d,h]}function AMparseExpr(p,q){var x,o,a,t,z=[],g=document.createDocumentFragment();do{p=AMremoveCharsAndBlanks(p,0);a=AMparseIexpr(p);o=a[0];p=a[1];x=AMgetSymbol(p);if(x.ttype==INFIX&&x.input=="/"){p=AMremoveCharsAndBlanks(p,x.input.length);a=AMparseIexpr(p);if(a[0]==null){a[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}else{AMremoveBrackets(a[0])}p=a[1];AMremoveBrackets(o);o=createMmlNode(x.tag,o);o.appendChild(a[0]);g.appendChild(o);x=AMgetSymbol(p)}else{if(o!=undefined){g.appendChild(o)}}}while((x.ttype!=RIGHTBRACKET&&(x.ttype!=LEFTRIGHT||q)||AMnestingDepth==0)&&x!=null&&x.output!="");if(x.ttype==RIGHTBRACKET||x.ttype==LEFTRIGHT){var v=g.childNodes.length;if(v>0&&g.childNodes[v-1].nodeName=="mrow"&&v>1&&g.childNodes[v-2].nodeName=="mo"&&g.childNodes[v-2].firstChild.nodeValue==","){var A=g.childNodes[v-1].lastChild.firstChild.nodeValue;if(A==")"||A=="]"){var c=g.childNodes[v-1].firstChild.firstChild.nodeValue;if(c=="("&&A==")"&&x.output!="}"||c=="["&&A=="]"){var d=[];var w=true;var l=g.childNodes.length;for(t=0;w&&t1){w=d[t].length==d[t-2].length}}if(w){var f,b,h,r,y=document.createDocumentFragment();for(t=0;t2){g.removeChild(g.firstChild);g.removeChild(g.firstChild)}y.appendChild(createMmlNode("mtr",f))}o=createMmlNode("mtable",y);if(typeof x.invisible=="boolean"&&x.invisible){o.setAttribute("columnalign","left")}g.replaceChild(o,g.firstChild)}}}}p=AMremoveCharsAndBlanks(p,x.input.length);if(typeof x.invisible!="boolean"||!x.invisible){o=createMmlNode("mo",document.createTextNode(x.output));g.appendChild(o)}}return[g,p]}function parseMath(c,b){var d,a;AMnestingDepth=0;d=b?LMparseExpr(c.replace(/^\s+/g,""),false,false)[0]:AMparseExpr(c.replace(/^\s+/g,""),false)[0];a=createMmlNode("mstyle",d);a.setAttribute("mathcolor",mathcolor);a.setAttribute("fontfamily",mathfontfamily);a.setAttribute("mathsize",mathfontsize);if(displaystyle){a.setAttribute("displaystyle","true")}a=createMmlNode("math",a);if(showasciiformulaonhover){a.setAttribute("title",c.replace(/\s+/g," "))}return a}function strarr2docFrag(a,d,g){var k=document.createDocumentFragment();var h=false;for(var f=0;f,\\|!:;'~]|\\.(?!(?:\x20|$))|"+k+l+a;var n=new RegExp("(^|\\s)((("+c+")\\s?)(("+c+g+")\\s?)+)([,.?]?(?=\\s|$))","g");m=m.replace(n," `$2`$7");var f=m.split(AMdelimiter1);var h=new RegExp("(^|\\s)([b-zB-HJ-Z+*<>]|"+b+k+a+")(\\s|\\n|$)","g");var d=new RegExp("(^|\\s)([a-z]|"+b+k+a+")([,.])","g");for(i=0;i1||k){if(!noMathML){a=strarr2docFrag(f,c.nodeType==8,b);var g=a.childNodes.length;c.parentNode.replaceChild(a,c);return g-1}else{return 0}}}}else{return 0}}else{if(c.nodeName!="math"){for(d=0;d",ttype:CONST},{input:"\\ne",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\neq",tag:"mo",output:"\u2260",ttype:CONST},{input:"\\le",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leq",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\leqslant",tag:"mo",output:"\u2264",ttype:CONST},{input:"\\ge",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geq",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\geqslant",tag:"mo",output:"\u2265",ttype:CONST},{input:"\\equiv",tag:"mo",output:"\u2261",ttype:CONST},{input:"\\ll",tag:"mo",output:"\u226A",ttype:CONST},{input:"\\gg",tag:"mo",output:"\u226B",ttype:CONST},{input:"\\doteq",tag:"mo",output:"\u2250",ttype:CONST},{input:"\\prec",tag:"mo",output:"\u227A",ttype:CONST},{input:"\\succ",tag:"mo",output:"\u227B",ttype:CONST},{input:"\\preceq",tag:"mo",output:"\u227C",ttype:CONST},{input:"\\succeq",tag:"mo",output:"\u227D",ttype:CONST},{input:"\\subset",tag:"mo",output:"\u2282",ttype:CONST},{input:"\\supset",tag:"mo",output:"\u2283",ttype:CONST},{input:"\\subseteq",tag:"mo",output:"\u2286",ttype:CONST},{input:"\\supseteq",tag:"mo",output:"\u2287",ttype:CONST},{input:"\\sqsubset",tag:"mo",output:"\u228F",ttype:CONST},{input:"\\sqsupset",tag:"mo",output:"\u2290",ttype:CONST},{input:"\\sqsubseteq",tag:"mo",output:"\u2291",ttype:CONST},{input:"\\sqsupseteq",tag:"mo",output:"\u2292",ttype:CONST},{input:"\\sim",tag:"mo",output:"\u223C",ttype:CONST},{input:"\\simeq",tag:"mo",output:"\u2243",ttype:CONST},{input:"\\approx",tag:"mo",output:"\u2248",ttype:CONST},{input:"\\cong",tag:"mo",output:"\u2245",ttype:CONST},{input:"\\Join",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\bowtie",tag:"mo",output:"\u22C8",ttype:CONST},{input:"\\in",tag:"mo",output:"\u2208",ttype:CONST},{input:"\\ni",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\owns",tag:"mo",output:"\u220B",ttype:CONST},{input:"\\propto",tag:"mo",output:"\u221D",ttype:CONST},{input:"\\vdash",tag:"mo",output:"\u22A2",ttype:CONST},{input:"\\dashv",tag:"mo",output:"\u22A3",ttype:CONST},{input:"\\models",tag:"mo",output:"\u22A8",ttype:CONST},{input:"\\perp",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\smile",tag:"mo",output:"\u2323",ttype:CONST},{input:"\\frown",tag:"mo",output:"\u2322",ttype:CONST},{input:"\\asymp",tag:"mo",output:"\u224D",ttype:CONST},{input:"\\notin",tag:"mo",output:"\u2209",ttype:CONST},{input:"\\begin{eqnarray}",output:"X",ttype:MATRIX,invisible:true},{input:"\\begin{array}",output:"X",ttype:MATRIX,invisible:true},{input:"\\\\",output:"}&{",ttype:DEFINITION},{input:"\\end{eqnarray}",output:"}}",ttype:DEFINITION},{input:"\\end{array}",output:"}}",ttype:DEFINITION},{input:"\\big",tag:"mo",output:"X",atval:"1.2",ieval:"2.2",ttype:BIG},{input:"\\Big",tag:"mo",output:"X",atval:"1.6",ieval:"2.6",ttype:BIG},{input:"\\bigg",tag:"mo",output:"X",atval:"2.2",ieval:"3.2",ttype:BIG},{input:"\\Bigg",tag:"mo",output:"X",atval:"2.9",ieval:"3.9",ttype:BIG},{input:"\\left",tag:"mo",output:"X",ttype:LEFTBRACKET},{input:"\\right",tag:"mo",output:"X",ttype:RIGHTBRACKET},{input:"{",output:"{",ttype:LEFTBRACKET,invisible:true},{input:"}",output:"}",ttype:RIGHTBRACKET,invisible:true},{input:"(",tag:"mo",output:"(",atval:"1",ttype:STRETCHY},{input:"[",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\lbrack",tag:"mo",output:"[",atval:"1",ttype:STRETCHY},{input:"\\{",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\lbrace",tag:"mo",output:"{",atval:"1",ttype:STRETCHY},{input:"\\langle",tag:"mo",output:"\u2329",atval:"1",ttype:STRETCHY},{input:"\\lfloor",tag:"mo",output:"\u230A",atval:"1",ttype:STRETCHY},{input:"\\lceil",tag:"mo",output:"\u2308",atval:"1",ttype:STRETCHY},{input:")",tag:"mo",output:")",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"]",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrack",tag:"mo",output:"]",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\}",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rbrace",tag:"mo",output:"}",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rangle",tag:"mo",output:"\u232A",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rfloor",tag:"mo",output:"\u230B",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"\\rceil",tag:"mo",output:"\u2309",rtag:"mi",atval:"1",ttype:STRETCHY},{input:"|",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\|",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\vert",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\Vert",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"\\mid",tag:"mo",output:"\u2223",atval:"1",ttype:STRETCHY},{input:"\\parallel",tag:"mo",output:"\u2225",atval:"1",ttype:STRETCHY},{input:"/",tag:"mo",output:"/",atval:"1.01",ttype:STRETCHY},{input:"\\backslash",tag:"mo",output:"\u2216",atval:"1",ttype:STRETCHY},{input:"\\setminus",tag:"mo",output:"\\",ttype:CONST},{input:"\\!",tag:"mspace",atname:"width",atval:"-0.167em",ttype:SPACE},{input:"\\,",tag:"mspace",atname:"width",atval:"0.167em",ttype:SPACE},{input:"\\>",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\:",tag:"mspace",atname:"width",atval:"0.222em",ttype:SPACE},{input:"\\;",tag:"mspace",atname:"width",atval:"0.278em",ttype:SPACE},{input:"~",tag:"mspace",atname:"width",atval:"0.333em",ttype:SPACE},{input:"\\quad",tag:"mspace",atname:"width",atval:"1em",ttype:SPACE},{input:"\\qquad",tag:"mspace",atname:"width",atval:"2em",ttype:SPACE},{input:"\\prime",tag:"mo",output:"\u2032",ttype:CONST},{input:"'",tag:"mo",output:"\u02B9",ttype:CONST},{input:"''",tag:"mo",output:"\u02BA",ttype:CONST},{input:"'''",tag:"mo",output:"\u2034",ttype:CONST},{input:"''''",tag:"mo",output:"\u2057",ttype:CONST},{input:"\\ldots",tag:"mo",output:"\u2026",ttype:CONST},{input:"\\cdots",tag:"mo",output:"\u22EF",ttype:CONST},{input:"\\vdots",tag:"mo",output:"\u22EE",ttype:CONST},{input:"\\ddots",tag:"mo",output:"\u22F1",ttype:CONST},{input:"\\forall",tag:"mo",output:"\u2200",ttype:CONST},{input:"\\exists",tag:"mo",output:"\u2203",ttype:CONST},{input:"\\Re",tag:"mo",output:"\u211C",ttype:CONST},{input:"\\Im",tag:"mo",output:"\u2111",ttype:CONST},{input:"\\aleph",tag:"mo",output:"\u2135",ttype:CONST},{input:"\\hbar",tag:"mo",output:"\u210F",ttype:CONST},{input:"\\ell",tag:"mo",output:"\u2113",ttype:CONST},{input:"\\wp",tag:"mo",output:"\u2118",ttype:CONST},{input:"\\emptyset",tag:"mo",output:"\u2205",ttype:CONST},{input:"\\infty",tag:"mo",output:"\u221E",ttype:CONST},{input:"\\surd",tag:"mo",output:"\\sqrt{}",ttype:DEFINITION},{input:"\\partial",tag:"mo",output:"\u2202",ttype:CONST},{input:"\\nabla",tag:"mo",output:"\u2207",ttype:CONST},{input:"\\triangle",tag:"mo",output:"\u25B3",ttype:CONST},{input:"\\therefore",tag:"mo",output:"\u2234",ttype:CONST},{input:"\\angle",tag:"mo",output:"\u2220",ttype:CONST},{input:"\\diamond",tag:"mo",output:"\u22C4",ttype:CONST},{input:"\\Diamond",tag:"mo",output:"\u25C7",ttype:CONST},{input:"\\neg",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\lnot",tag:"mo",output:"\u00AC",ttype:CONST},{input:"\\bot",tag:"mo",output:"\u22A5",ttype:CONST},{input:"\\top",tag:"mo",output:"\u22A4",ttype:CONST},{input:"\\square",tag:"mo",output:"\u25AB",ttype:CONST},{input:"\\Box",tag:"mo",output:"\u25A1",ttype:CONST},{input:"\\wr",tag:"mo",output:"\u2240",ttype:CONST},{input:"\\arccos",tag:"mi",output:"arccos",ttype:UNARY,func:true},{input:"\\arcsin",tag:"mi",output:"arcsin",ttype:UNARY,func:true},{input:"\\arctan",tag:"mi",output:"arctan",ttype:UNARY,func:true},{input:"\\arg",tag:"mi",output:"arg",ttype:UNARY,func:true},{input:"\\cos",tag:"mi",output:"cos",ttype:UNARY,func:true},{input:"\\cosh",tag:"mi",output:"cosh",ttype:UNARY,func:true},{input:"\\cot",tag:"mi",output:"cot",ttype:UNARY,func:true},{input:"\\coth",tag:"mi",output:"coth",ttype:UNARY,func:true},{input:"\\csc",tag:"mi",output:"csc",ttype:UNARY,func:true},{input:"\\deg",tag:"mi",output:"deg",ttype:UNARY,func:true},{input:"\\det",tag:"mi",output:"det",ttype:UNARY,func:true},{input:"\\dim",tag:"mi",output:"dim",ttype:UNARY,func:true},{input:"\\exp",tag:"mi",output:"exp",ttype:UNARY,func:true},{input:"\\gcd",tag:"mi",output:"gcd",ttype:UNARY,func:true},{input:"\\hom",tag:"mi",output:"hom",ttype:UNARY,func:true},{input:"\\inf",tag:"mo",output:"inf",ttype:UNDEROVER},{input:"\\ker",tag:"mi",output:"ker",ttype:UNARY,func:true},{input:"\\lg",tag:"mi",output:"lg",ttype:UNARY,func:true},{input:"\\lim",tag:"mo",output:"lim",ttype:UNDEROVER},{input:"\\liminf",tag:"mo",output:"liminf",ttype:UNDEROVER},{input:"\\limsup",tag:"mo",output:"limsup",ttype:UNDEROVER},{input:"\\ln",tag:"mi",output:"ln",ttype:UNARY,func:true},{input:"\\log",tag:"mi",output:"log",ttype:UNARY,func:true},{input:"\\max",tag:"mo",output:"max",ttype:UNDEROVER},{input:"\\min",tag:"mo",output:"min",ttype:UNDEROVER},{input:"\\Pr",tag:"mi",output:"Pr",ttype:UNARY,func:true},{input:"\\sec",tag:"mi",output:"sec",ttype:UNARY,func:true},{input:"\\sin",tag:"mi",output:"sin",ttype:UNARY,func:true},{input:"\\sinh",tag:"mi",output:"sinh",ttype:UNARY,func:true},{input:"\\sup",tag:"mo",output:"sup",ttype:UNDEROVER},{input:"\\tan",tag:"mi",output:"tan",ttype:UNARY,func:true},{input:"\\tanh",tag:"mi",output:"tanh",ttype:UNARY,func:true},{input:"\\gets",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\leftarrow",tag:"mo",output:"\u2190",ttype:CONST},{input:"\\to",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\rightarrow",tag:"mo",output:"\u2192",ttype:CONST},{input:"\\leftrightarrow",tag:"mo",output:"\u2194",ttype:CONST},{input:"\\uparrow",tag:"mo",output:"\u2191",ttype:CONST},{input:"\\downarrow",tag:"mo",output:"\u2193",ttype:CONST},{input:"\\updownarrow",tag:"mo",output:"\u2195",ttype:CONST},{input:"\\Leftarrow",tag:"mo",output:"\u21D0",ttype:CONST},{input:"\\Rightarrow",tag:"mo",output:"\u21D2",ttype:CONST},{input:"\\Leftrightarrow",tag:"mo",output:"\u21D4",ttype:CONST},{input:"\\iff",tag:"mo",output:"~\\Longleftrightarrow~",ttype:DEFINITION},{input:"\\Uparrow",tag:"mo",output:"\u21D1",ttype:CONST},{input:"\\Downarrow",tag:"mo",output:"\u21D3",ttype:CONST},{input:"\\Updownarrow",tag:"mo",output:"\u21D5",ttype:CONST},{input:"\\mapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\longleftarrow",tag:"mo",output:"\u2190",ttype:LONG},{input:"\\longrightarrow",tag:"mo",output:"\u2192",ttype:LONG},{input:"\\longleftrightarrow",tag:"mo",output:"\u2194",ttype:LONG},{input:"\\Longleftarrow",tag:"mo",output:"\u21D0",ttype:LONG},{input:"\\Longrightarrow",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\implies",tag:"mo",output:"\u21D2",ttype:LONG},{input:"\\Longleftrightarrow",tag:"mo",output:"\u21D4",ttype:LONG},{input:"\\longmapsto",tag:"mo",output:"\u21A6",ttype:CONST},{input:"\\sqrt",tag:"msqrt",output:"sqrt",ttype:UNARY},{input:"\\root",tag:"mroot",output:"root",ttype:BINARY},{input:"\\frac",tag:"mfrac",output:"/",ttype:BINARY},{input:"\\stackrel",tag:"mover",output:"stackrel",ttype:BINARY},{input:"\\atop",tag:"mfrac",output:"",ttype:INFIX},{input:"\\choose",tag:"mfrac",output:"",ttype:INFIX},{input:"_",tag:"msub",output:"_",ttype:INFIX},{input:"^",tag:"msup",output:"^",ttype:INFIX},{input:"\\mathrm",tag:"mtext",output:"text",ttype:TEXT},{input:"\\mbox",tag:"mtext",output:"mbox",ttype:TEXT},{input:"\\acute",tag:"mover",output:"\u00B4",ttype:UNARY,acc:true},{input:"\\grave",tag:"mover",output:"\u0060",ttype:UNARY,acc:true},{input:"\\breve",tag:"mover",output:"\u02D8",ttype:UNARY,acc:true},{input:"\\check",tag:"mover",output:"\u02C7",ttype:UNARY,acc:true},{input:"\\dot",tag:"mover",output:".",ttype:UNARY,acc:true},{input:"\\ddot",tag:"mover",output:"..",ttype:UNARY,acc:true},{input:"\\mathring",tag:"mover",output:"\u00B0",ttype:UNARY,acc:true},{input:"\\vec",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overrightarrow",tag:"mover",output:"\u20D7",ttype:UNARY,acc:true},{input:"\\overleftarrow",tag:"mover",output:"\u20D6",ttype:UNARY,acc:true},{input:"\\hat",tag:"mover",output:"\u005E",ttype:UNARY,acc:true},{input:"\\widehat",tag:"mover",output:"\u0302",ttype:UNARY,acc:true},{input:"\\tilde",tag:"mover",output:"~",ttype:UNARY,acc:true},{input:"\\widetilde",tag:"mover",output:"\u02DC",ttype:UNARY,acc:true},{input:"\\bar",tag:"mover",output:"\u203E",ttype:UNARY,acc:true},{input:"\\overbrace",tag:"mover",output:"\u23B4",ttype:UNARY,acc:true},{input:"\\overline",tag:"mover",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\underbrace",tag:"munder",output:"\u23B5",ttype:UNARY,acc:true},{input:"\\underline",tag:"munder",output:"\u00AF",ttype:UNARY,acc:true},{input:"\\displaystyle",tag:"mstyle",atname:"displaystyle",atval:"true",ttype:UNARY},{input:"\\textstyle",tag:"mstyle",atname:"displaystyle",atval:"false",ttype:UNARY},{input:"\\scriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"1",ttype:UNARY},{input:"\\scriptscriptstyle",tag:"mstyle",atname:"scriptlevel",atval:"2",ttype:UNARY},{input:"\\textrm",tag:"mstyle",output:"\\mathrm",ttype:DEFINITION},{input:"\\mathbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\textbf",tag:"mstyle",atname:"mathvariant",atval:"bold",ttype:UNARY},{input:"\\mathit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\textit",tag:"mstyle",atname:"mathvariant",atval:"italic",ttype:UNARY},{input:"\\mathtt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\texttt",tag:"mstyle",atname:"mathvariant",atval:"monospace",ttype:UNARY},{input:"\\mathsf",tag:"mstyle",atname:"mathvariant",atval:"sans-serif",ttype:UNARY},{input:"\\mathbb",tag:"mstyle",atname:"mathvariant",atval:"double-struck",ttype:UNARY,codes:AMbbb},{input:"\\mathcal",tag:"mstyle",atname:"mathvariant",atval:"script",ttype:UNARY,codes:AMcal},{input:"\\mathfrak",tag:"mstyle",atname:"mathvariant",atval:"fraktur",ttype:UNARY,codes:AMfrk}];var LMnames=[];function LMremoveCharsAndBlanks(c,d){var a;a=c.slice(d);for(var b=0;b=LMnames[a]}LMpreviousSymbol=LMcurrentSymbol;if(f!=""){LMcurrentSymbol=LMsymbols[d].ttype;return LMsymbols[d]}LMcurrentSymbol=CONST;a=1;l=h.slice(0,1);if("0"<=l&&l<="9"){m="mn"}else{m=(("A">l||l>"Z")&&("a">l||l>"z")?"mo":"mi")}return{input:l,tag:m,output:l,ttype:CONST}}var LMpreviousSymbol,LMcurrentSymbol;function LMparseSexpr(n){var t,m,d,a,r,o,l=document.createDocumentFragment();n=LMremoveCharsAndBlanks(n,0);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}if(t.ttype==DEFINITION){n=t.output+LMremoveCharsAndBlanks(n,t.input.length);t=LMgetSymbol(n);if(t==null||t.ttype==RIGHTBRACKET){return[null,n,null]}}n=LMremoveCharsAndBlanks(n,t.input.length);switch(t.ttype){case SPACE:m=createMmlNode(t.tag);m.setAttribute(t.atname,t.atval);return[m,n,t.tag];case UNDEROVER:if(isIE){if(t.input.substr(0,4)=="\\big"){n="\\"+t.input.substr(4)+n;t=LMgetSymbol(n);t.ttype=UNDEROVER;n=LMremoveCharsAndBlanks(n,t.input.length)}}return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag];case CONST:var g=t.output;if(isIE){if(t.input=="'"){g="\u2032"}else{if(t.input=="''"){g="\u2033"}else{if(t.input=="'''"){g="\u2033\u2032"}else{if(t.input=="''''"){g="\u2033\u2033"}else{if(t.input=="\\square"){g="\u25A1"}else{if(t.input.substr(0,5)=="\\frac"){var b=t.input.substr(6,1);if(b=="5"||b=="6"){n=t.input.replace(/\\frac/,"\\frac ")+n;return[m,n,t.tag]}}}}}}}}m=createMmlNode(t.tag,document.createTextNode(g));return[m,n,t.tag];case LONG:m=createMmlNode(t.tag,document.createTextNode(t.output));m.setAttribute("minsize","1.5");m.setAttribute("maxsize","1.5");m=createMmlNode("mover",m);m.appendChild(createMmlNode("mspace"));return[m,n,t.tag];case STRETCHY:if(isIE&&t.input=="\\backslash"){t.output="\\"}m=createMmlNode(t.tag,document.createTextNode(t.output));if(t.input=="|"||t.input=="\\vert"||t.input=="\\|"||t.input=="\\Vert"){m.setAttribute("lspace","0em");m.setAttribute("rspace","0em")}m.setAttribute("maxsize",t.atval);if(t.rtag!=null){return[m,n,t.rtag]}else{return[m,n,t.tag]}case BIG:var f=t.atval;if(isIE){f=t.ieval}t=LMgetSymbol(n);if(t==null){return[null,n,null]}n=LMremoveCharsAndBlanks(n,t.input.length);m=createMmlNode(t.tag,document.createTextNode(t.output));if(isIE){var v=createMmlNode("mspace");v.setAttribute("height",f+"ex");m=createMmlNode("mrow",m);m.appendChild(v)}else{m.setAttribute("minsize",f);m.setAttribute("maxsize",f)}return[m,n,t.tag];case LEFTBRACKET:if(t.input=="\\left"){t=LMgetSymbol(n);if(t!=null){if(t.input=="."){t.invisible=true}n=LMremoveCharsAndBlanks(n,t.input.length)}}d=LMparseExpr(n,true,false);if(t==null||(typeof t.invisible=="boolean"&&t.invisible)){m=createMmlNode("mrow",d[0])}else{m=createMmlNode("mo",document.createTextNode(t.output));m=createMmlNode("mrow",m);m.appendChild(d[0])}return[m,d[1],d[2]];case MATRIX:if(t.input=="\\begin{array}"){var s="";t=LMgetSymbol(n);n=LMremoveCharsAndBlanks(n,0);if(t==null){s="l"}else{n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="{"){s="l"}else{do{t=LMgetSymbol(n);if(t!=null){n=LMremoveCharsAndBlanks(n,t.input.length);if(t.input!="}"){s=s+t.input}}}while(t!=null&&t.input!=""&&t.input!="}")}}d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);s=s.replace(/l/g,"left ");s=s.replace(/r/g,"right ");s=s.replace(/c/g,"center ");m.setAttribute("columnalign",s);m.setAttribute("displaystyle","false");if(isIE){return[m,d[1],null]}var k=createMmlNode("mspace");k.setAttribute("width","0.167em");var p=createMmlNode("mspace");p.setAttribute("width","0.167em");var c=createMmlNode("mrow",k);c.appendChild(m);c.appendChild(p);return[c,d[1],null]}else{d=LMparseExpr("{"+n,true,true);m=createMmlNode("mtable",d[0]);if(isIE){m.setAttribute("columnspacing","0.25em")}else{m.setAttribute("columnspacing","0.167em")}m.setAttribute("columnalign","right center left");m.setAttribute("displaystyle","true");m=createMmlNode("mrow",m);return[m,d[1],null]}case TEXT:if(n.charAt(0)=="{"){r=n.indexOf("}")}else{r=0}if(r==-1){r=n.length}o=n.slice(1,r);if(o.charAt(0)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}l.appendChild(createMmlNode(t.tag,document.createTextNode(o)));if(o.charAt(o.length-1)==" "){m=createMmlNode("mspace");m.setAttribute("width","0.33em");l.appendChild(m)}n=LMremoveCharsAndBlanks(n,r+1);return[createMmlNode("mrow",l),n,null];case UNARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode(t.tag,document.createTextNode(t.output)),n]}if(typeof t.func=="boolean"&&t.func){o=n.charAt(0);if(o=="^"||o=="_"||o==","){return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}else{m=createMmlNode("mrow",createMmlNode(t.tag,document.createTextNode(t.output)));if(isIE){var v=createMmlNode("mspace");v.setAttribute("width","0.167em");m.appendChild(v)}m.appendChild(d[0]);return[m,d[1],t.tag]}}if(t.input=="\\sqrt"){if(isIE){var v=createMmlNode("mspace");v.setAttribute("height","1.2ex");v.setAttribute("width","0em");m=createMmlNode(t.tag,d[0]);m.appendChild(v);return[m,d[1],t.tag]}else{return[createMmlNode(t.tag,d[0]),d[1],t.tag]}}else{if(typeof t.acc=="boolean"&&t.acc){m=createMmlNode(t.tag,d[0]);var g=t.output;if(isIE){if(t.input=="\\hat"){g="\u0302"}else{if(t.input=="\\widehat"){g="\u005E"}else{if(t.input=="\\bar"){g="\u00AF"}else{if(t.input=="\\grave"){g="\u0300"}else{if(t.input=="\\tilde"){g="\u0303"}}}}}}var c=createMmlNode("mo",document.createTextNode(g));if(t.input=="\\vec"||t.input=="\\check"){c.setAttribute("maxsize","1.2")}if(isIE&&t.input=="\\bar"){c.setAttribute("maxsize","0.5")}if(t.input=="\\underbrace"||t.input=="\\underline"){c.setAttribute("accentunder","true")}else{c.setAttribute("accent","true")}m.appendChild(c);if(t.input=="\\overbrace"||t.input=="\\underbrace"){m.ttype=UNDEROVER}return[m,d[1],t.tag]}else{if(!isIE&&typeof t.codes!="undefined"){for(r=0;r64&&o.charCodeAt(q)<91){h=h+String.fromCharCode(t.codes[o.charCodeAt(q)-65])}else{h=h+o.charAt(q)}}if(d[0].nodeName=="mi"){d[0]=createMmlNode("mo").appendChild(document.createTextNode(h))}else{d[0].replaceChild(createMmlNode("mo").appendChild(document.createTextNode(h)),d[0].childNodes[r])}}}}m=createMmlNode(t.tag,d[0]);m.setAttribute(t.atname,t.atval);if(t.input=="\\scriptstyle"||t.input=="\\scriptscriptstyle"){m.setAttribute("displaystyle","false")}return[m,d[1],t.tag]}}case BINARY:d=LMparseSexpr(n);if(d[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}a=LMparseSexpr(d[1]);if(a[0]==null){return[createMmlNode("mo",document.createTextNode(t.input)),n,null]}if(t.input=="\\root"||t.input=="\\stackrel"){l.appendChild(a[0])}l.appendChild(d[0]);if(t.input=="\\frac"){l.appendChild(a[0])}return[createMmlNode(t.tag,l),a[1],t.tag];case INFIX:n=LMremoveCharsAndBlanks(n,t.input.length);return[createMmlNode("mo",document.createTextNode(t.output)),n,t.tag];default:return[createMmlNode(t.tag,document.createTextNode(t.output)),n,t.tag]}}function LMparseIexpr(g){var f,d,b,c,h,k,j;g=LMremoveCharsAndBlanks(g,0);d=LMgetSymbol(g);h=LMparseSexpr(g);c=h[0];g=h[1];k=h[2];f=LMgetSymbol(g);if(f.ttype==INFIX){g=LMremoveCharsAndBlanks(g,f.input.length);h=LMparseSexpr(g);if(h[0]==null){h[0]=createMmlNode("mo",document.createTextNode("\u25A1"))}g=h[1];k=h[2];if(f.input=="_"||f.input=="^"){b=LMgetSymbol(g);k=null;j=((d.ttype==UNDEROVER)||(c.ttype==UNDEROVER));if(f.input=="_"&&b.input=="^"){g=LMremoveCharsAndBlanks(g,b.input.length);var a=LMparseSexpr(g);g=a[1];k=a[2];c=createMmlNode((j?"munderover":"msubsup"),c);c.appendChild(h[0]);c.appendChild(a[0])}else{if(f.input=="_"){c=createMmlNode((j?"munder":"msub"),c);c.appendChild(h[0])}else{c=createMmlNode((j?"mover":"msup"),c);c.appendChild(h[0])}}c=createMmlNode("mrow",c)}else{c=createMmlNode(f.tag,c);if(f.input=="\\atop"||f.input=="\\choose"){c.setAttribute("linethickness","0ex")}c.appendChild(h[0]);if(f.input=="\\choose"){c=createMmlNode("mfenced",c)}}}return[c,g,k]}function LMparseExpr(o,p,v){var w,l,a,s,z,f=document.createDocumentFragment();do{o=LMremoveCharsAndBlanks(o,0);a=LMparseIexpr(o);l=a[0];o=a[1];z=a[2];w=LMgetSymbol(o);if(l!=undefined){if((z=="mn"||z=="mi")&&w!=null&&typeof w.func=="boolean"&&w.func){var y=createMmlNode("mspace");y.setAttribute("width","0.167em");l=createMmlNode("mrow",l);l.appendChild(y)}f.appendChild(l)}}while((w.ttype!=RIGHTBRACKET)&&w!=null&&w.output!="");z=null;if(w.ttype==RIGHTBRACKET){if(w.input=="\\right"){o=LMremoveCharsAndBlanks(o,w.input.length);w=LMgetSymbol(o);if(w!=null&&w.input=="."){w.invisible=true}if(w!=null){z=w.rtag}}if(w!=null){o=LMremoveCharsAndBlanks(o,w.input.length)}var t=f.childNodes.length;if(v&&t>0&&f.childNodes[t-1].nodeName=="mrow"&&t>1&&f.childNodes[t-2].nodeName=="mo"&&f.childNodes[t-2].firstChild.nodeValue=="&"){var c=[];var h=f.childNodes.length;for(s=0;v&&s2){f.removeChild(f.firstChild);f.removeChild(f.firstChild)}x.appendChild(createMmlNode("mtr",d))}return[x,o]}if(typeof w.invisible!="boolean"||!w.invisible){l=createMmlNode("mo",document.createTextNode(w.output));f.appendChild(l)}}return[f,o,z]}var tcnt=0,dcnt=0;function simpleLaTeXformatting(a){a=a.replace(/\$\$((.|\n)*?)\$\$/g,'

    $\\displaystyle{$1}$

    ');a=a.replace(/\\begin{(theorem|lemma|proposition|corollary)}((.|\n)*?)\\end{\1}/g,function(d,c,b){tcnt++;return""+c.charAt(0).toUpperCase()+c.slice(1)+" "+tcnt+". "+b.replace(/^\s*<\/?\w+\/?>|\s*<\/?\w+\/?>$/g,"")+""});a=a.replace(/\\begin{(definition|example|remark|problem|exercise|conjecture|solution)}((.|\n)*?)\\end{\1}/g,function(d,c,b){dcnt++;return""+c.charAt(0).toUpperCase()+c.slice(1)+" "+dcnt+". "+b.replace(/^\s*<\/?\w+\/?>|\s*<\/?\w+\/?>$/g,"")});a=a.replace(/\\begin{proof}((.|\n)*?)\\end{proof}/g,function(c,b){return"Proof: "+b.replace(/^\s*<\/?\w+\/?>|\s*<\/?\w+\/?>$/g,"")+" □"});a=a.replace(/\\emph{(.*?)}/g,"$1");a=a.replace(/\\textbf{(.*?)}/g,"$1");a=a.replace(/\\cite{(.*?)}/g,"[$1]");a=a.replace(/\\chapter{(.*?)}/g,"

    $1

    ");a=a.replace(/\\section{(.*?)}(\s*<\/?(br|p)\s?\/?>)?/g,"

    $1

    ");a=a.replace(/\\subsection{((.|\n)*?)}/g,"

    $1

    ");a=a.replace(/\\begin{itemize}(\s*<\/?(br|p)\s?\/?>)?/g,"
      ");a=a.replace(/\\item\s((.|\n)*?)(?=(\\item|\\end))/g,"
    • $1
    • ");a=a.replace(/\\end{itemize}(\s*<\/?(br|p)\s?\/?>)?/g,"
    ");a=a.replace(/\\begin{enumerate}(\s*<\/?(br|p)\s?\/?>)?/g,"
      ");a=a.replace(/\\end{enumerate}(\s*<\/?(br|p)\s?\/?>)?/g,"
    ");a=a.replace(/\\item\[(.*?)]{(.*?)}/g,"
    $1
    $2
    ");a=a.replace(/\\begin{description}/g,"
    ");a=a.replace(/\\end{description}/g,"
    ");a=a.replace(/\\newline\b/g,"
    ");a=a.replace(/\\newpage\b/g,'
    ');a=a.replace(/\\par\b/g,"

     

    ");a=a.replace(/\\bigskip/g,'

     

    ');a=a.replace(/\\medskip/g,'

     

    ');a=a.replace(/\\smallskip/g,'

     

    ');a=a.replace(/\\begin{center}((.|\n)*?)\\end{center}/g,"
    $1
    ");return a}function ASCIIandgraphformatting(a){a=a.replace(/(.*?)<\/sup>(\s|(\S))/gi,"^{$1} $3");a=a.replace(/(Proof:)/g,"$1");a=a.replace(/QED/g,"    □");a=a.replace(/(\\?end{?a?math}?)/ig,"$1");a=a.replace(/(\bamath\b|\\begin{a?math})/ig,"$1");a=a.replace(/([>\n])(Theorem|Lemma|Proposition|Corollary|Definition|Example|Remark|Problem|Exercise|Conjecture|Solution)(:|\W\W?(\w|\s|-|\.)*?\W?:)/g,"$1$2$3");a=a.replace(/
    /gi,"\n")+"'/>
    "});a=a.replace(/insertASCIIMathCalculator/g,'
    ');return a}function LMprocessNode(f){var d,a;try{a=f.innerHTML}catch(b){}var c=/amath\b|graph/i.test(a);if((a==null||a.indexOf("$ ")!=-1||a.indexOf("$<")!=-1||a.indexOf("\\begin")!=-1||c||a.slice(-1)=="$"||a.indexOf("$\n")!=-1)&&!/edit-content|HTMLArea|wikiedit|wpTextbox1/.test(a)){if(!avoidinnerHTML&&translateLaTeXformatting){a=simpleLaTeXformatting(a)}if(a!=null&&c&&!avoidinnerHTML){a=ASCIIandgraphformatting(a)}a=a.replace(/%7E/g,"~");if(!avoidinnerHTML){f.innerHTML=a}processNodeR(f,false,true)}}var checkIfSVGavailable=true;var notifyIfNoSVG=true;var alertIfNoSVG=false;var noSVG=false;var defaultwidth=300;defaultheight=200;var defaultxmin=-5.5;defaultxmax=5.5;var defaultborder=0;border=defaultborder;var defaultstrokewidth="1";var defaultstroke="blue";var defaultstrokeopacity=1;var defaultstrokedasharray=null;var defaultfill="none";var defaultfillopacity=1;var defaultfontstyle="normal";var defaultfontfamily="times";var defaultfontsize="16";var defaultfontweight="normal";var defaultfontstroke="none";var defaultfontfill="none";var defaultmarker="none";var defaultendpoints="";var showcoordinates=true;var markerstrokewidth="1";var markerstroke="black";var markerfill="yellow";var markersize=4;var arrowfill=stroke;var dotradius=4;var ticklength=4;var axesstroke="black";var gridstroke="grey";var backgroundstyle="fill-opacity:1; fill:white";var singlelettersitalic=true;var picturepos=null;var xunitlength;var yunitlength;var origin=[0,0];var above="above";var below="below";var left="left";var right="right";var aboveleft="aboveleft";var aboveright="aboveright";var belowleft="belowleft";var belowright="belowright";var xmin,xmax,ymin,ymax,xscl,yscl,xgrid,ygrid,xtick,ytick,initialized;var strokewidth,strokedasharray,stroke,fill,strokeopacity,fillopacity;var fontstyle,fontfamily,fontsize,fontweight,fontstroke,fontfill;var marker,endpoints,dynamic={};var picture,svgpicture,doc,width,height;var isIE=document.createElementNS==null;var cpi="\u03C0",ctheta="\u03B8";var log=function(a){return ln(a)/ln(10)};var pi=Math.PI,e=Math.E,ln=Math.log,sqrt=Math.sqrt;var floor=Math.floor,ceil=Math.ceil,abs=Math.abs;var sin=Math.sin,cos=Math.cos,tan=Math.tan;var arcsin=Math.asin,arccos=Math.acos,arctan=Math.atan;var sec=function(a){return 1/Math.cos(a)};var csc=function(a){return 1/Math.sin(a)};var cot=function(a){return 1/Math.tan(a)};var arcsec=function(a){return arccos(1/a)};var arccsc=function(a){return arcsin(1/a)};var arccot=function(a){return arctan(1/a)};var sinh=function(a){return(Math.exp(a)-Math.exp(-a))/2};var cosh=function(a){return(Math.exp(a)+Math.exp(-a))/2};var tanh=function(a){return(Math.exp(a)-Math.exp(-a))/(Math.exp(a)+Math.exp(-a))};var sech=function(a){return 1/cosh(a)};var csch=function(a){return 1/sinh(a)};var coth=function(a){return 1/tanh(a)};var arcsinh=function(a){return ln(a+Math.sqrt(a*a+1))};var arccosh=function(a){return ln(a+Math.sqrt(a*a-1))};var arctanh=function(a){return ln((1+a)/(1-a))/2};var sech=function(a){return 1/cosh(a)};var csch=function(a){return 1/sinh(a)};var coth=function(a){return 1/tanh(a)};var arcsech=function(a){return arccosh(1/a)};var arccsch=function(a){return arcsinh(1/a)};var arccoth=function(a){return arctanh(1/a)};var sign=function(a){return(a==0?0:(a<0?-1:1))};function factorial(a,c){if(c==null){c=1}if(Math.abs(a-Math.round(a*1000000)/1000000)<1e-15){a=Math.round(a*1000000)/1000000}if(a-Math.floor(a)!=0){return NaN}for(var b=a-c;b>0;b-=c){a*=b}return(a<0?NaN:(a==0?1:a))}function C(a,b){var d=1;for(var c=0;c=xmax){alert("Picture requires at least two numbers: xmin < xmax")}else{if(a!=null&&(typeof c!="number"||typeof a!="number"||c>=a)){alert("initPicture(xmin,xmax,ymin,ymax) requires numbers ymin < ymax")}else{if(width==null){width=picture.getAttribute("width");if(width==null||width==""){width=defaultwidth}}picture.setAttribute("width",width);if(height==null){height=picture.getAttribute("height");if(height==null||height==""){height=defaultheight}}picture.setAttribute("height",height);xunitlength=(width-2*border)/(xmax-xmin);yunitlength=xunitlength;if(ymin==null){origin=[-xmin*xunitlength+border,height/2];ymin=-(height-2*border)/(2*yunitlength);ymax=-ymin}else{if(ymax!=null){yunitlength=(height-2*border)/(ymax-ymin)}else{ymax=(height-2*border)/yunitlength+ymin}origin=[-xmin*xunitlength+border,-ymin*yunitlength+border]}if(isIE){if(picture.FULLSCREEN==undefined){setTimeout("drawPictures()",50);throw"wait"}svgpicture=picture.getSVGDocument().getElementById("root");if(svgpicture==null){setTimeout("drawPictures()",50);throw"wait"}svgpicture=picture.getSVGDocument().getElementById("root");while(svgpicture.childNodes.length>0){svgpicture.removeChild(svgpicture.lastChild)}svgpicture.setAttribute("width",width);svgpicture.setAttribute("height",height);svgpicture.setAttribute("name",picture.getAttribute("id"));doc=picture.getSVGDocument()}else{var b=document.createElementNS("http://www.w3.org/2000/svg","svg");b.setAttribute("id",picture.getAttribute("id"));b.setAttribute("name",picture.getAttribute("id"));b.setAttribute("width",picture.getAttribute("width"));b.setAttribute("height",picture.getAttribute("height"));picturepos=findPos(picture);if(picture.parentNode!=null){picture.parentNode.replaceChild(b,picture)}else{svgpicture.parentNode.replaceChild(b,svgpicture)}svgpicture=b;doc=document}var g=document.getElementById(picture.getAttribute("id")+"mml");if(g!=null){while(g.childNodes.length>0){g.removeChild(g.lastChild)}}svgpicture.setAttribute("xunitlength",xunitlength);svgpicture.setAttribute("yunitlength",yunitlength);svgpicture.setAttribute("xmin",xmin);svgpicture.setAttribute("xmax",xmax);svgpicture.setAttribute("ymin",ymin);svgpicture.setAttribute("ymax",ymax);svgpicture.setAttribute("ox",origin[0]);svgpicture.setAttribute("oy",origin[1]);var d=myCreateElementSVG("rect");d.setAttribute("x","0");d.setAttribute("y","0");d.setAttribute("width",width);d.setAttribute("height",height);d.setAttribute("style",backgroundstyle);svgpicture.appendChild(d);svgpicture.setAttribute("onmousemove","displayCoord(evt)");svgpicture.setAttribute("onmouseout","removeCoord(evt)");svgpicture.setAttribute("onclick","mClick(evt)");d=myCreateElementSVG("text");d.appendChild(doc.createTextNode(" "));d.setAttribute("id","coords");svgpicture.appendChild(d);d=myCreateElementSVG("text");d.appendChild(doc.createTextNode(" "));d.setAttribute("id","coords");svgpicture.appendChild(d);border=defaultborder}}}}function line(d,c,f,a){var b;if(f!=null){b=doc.getElementById(f)}if(b==null){b=myCreateElementSVG("path");b.setAttribute("id",f);svgpicture.appendChild(b)}b.setAttribute("d","M"+(d[0]*xunitlength+origin[0])+","+(height-d[1]*yunitlength-origin[1])+" "+(c[0]*xunitlength+origin[0])+","+(height-c[1]*yunitlength-origin[1]));b.setAttribute("stroke-width",strokewidth);if(strokedasharray!=null){b.setAttribute("stroke-dasharray",strokedasharray)}b.setAttribute("stroke",stroke);b.setAttribute("fill",fill);b.setAttribute("stroke-opacity",strokeopacity);b.setAttribute("fill-opacity",fillopacity);if(marker=="dot"||marker=="arrowdot"){ASdot(d,markersize,markerstroke,markerfill);if(marker=="arrowdot"){arrowhead(d,c)}ASdot(c,markersize,markerstroke,markerfill)}else{if(marker=="arrow"){arrowhead(d,c)}}if(a==null&&endpoints!=""){a=endpoints}if(a!=null){if(a.indexOf("<-")!=-1){arrowhead(c,d)}if(a.indexOf("o-")!=-1){dot(d,"open")}if(a.indexOf("*-")!=-1){dot(d,"closed")}if(a.indexOf("->")!=-1){arrowhead(d,c)}if(a.indexOf("-o")!=-1){dot(c,"open")}if(a.indexOf("-*")!=-1){dot(c,"closed")}}}function path(g,j,h,a){if(h==null){h=""}var f,b,d;if(j!=null){f=doc.getElementById(j)}if(f==null){f=myCreateElementSVG("path");f.setAttribute("id",j);svgpicture.appendChild(f)}if(typeof g=="string"){b=g}else{b="M";b+=(g[0][0]*xunitlength+origin[0])+","+(height-g[0][1]*yunitlength-origin[1])+" "+h;for(d=1;d")!=-1){arrowhead(g[g.length-2],g[g.length-1])}if(a.indexOf("-o")!=-1){dot(g[g.length-1],"open")}if(a.indexOf("-*")!=-1){dot(g[g.length-1],"closed")}}}function curve(b,c,a){path(b,c,"T",a)}function vector(b,a,c){line(b,a,c,"","->")}function circle(c,b,d){var a;if(d!=null){a=doc.getElementById(d)}if(a==null){a=myCreateElementSVG("circle");a.setAttribute("id",d);svgpicture.appendChild(a)}a.setAttribute("cx",c[0]*xunitlength+origin[0]);a.setAttribute("cy",height-c[1]*yunitlength-origin[1]);a.setAttribute("r",b*xunitlength);a.setAttribute("stroke-width",strokewidth);a.setAttribute("stroke",stroke);a.setAttribute("fill",fill);a.setAttribute("stroke-opacity",strokeopacity);a.setAttribute("fill-opacity",fillopacity)}function loop(a,b,c){if(b==null){b=[1,0]}path([a,[a[0]+b[0],a[1]+b[1]],[a[0]-b[1],a[1]+b[0]],a],c,"C");if(marker=="arrow"||marker=="arrowdot"){arrowhead([a[0]+Math.cos(1.4)*b[0]-Math.sin(1.4)*b[1],a[1]+Math.sin(1.4)*b[0]+Math.cos(1.4)*b[1]],a)}}function arc(h,a,f,g,d){var c,b;if(g!=null){c=doc.getElementById(g)}if(d==null){d=0}if(f==null){b=[a[0]-h[0],a[1]-h[1]];f=Math.sqrt(b[0]*b[0]+b[1]*b[1])}if(c==null){c=myCreateElementSVG("path");c.setAttribute("id",g);svgpicture.appendChild(c)}c.setAttribute("d","M"+(h[0]*xunitlength+origin[0])+","+(height-h[1]*yunitlength-origin[1])+" A"+f*xunitlength+","+f*yunitlength+" 0 "+d+",0 "+(a[0]*xunitlength+origin[0])+","+(height-a[1]*yunitlength-origin[1]));c.setAttribute("stroke-width",strokewidth);c.setAttribute("stroke",stroke);c.setAttribute("fill",fill);c.setAttribute("stroke-opacity",strokeopacity);c.setAttribute("fill-opacity",fillopacity);if(marker=="arrow"||marker=="arrowdot"){u=[(a[1]-h[1])/4,(h[0]-a[0])/4];b=[(a[0]-h[0])/2,(a[1]-h[1])/2];b=[h[0]+b[0]+u[0],h[1]+b[1]+u[1]]}else{b=[h[0],h[1]]}if(marker=="dot"||marker=="arrowdot"){ASdot(h,markersize,markerstroke,markerfill);if(marker=="arrowdot"){arrowhead(b,a)}ASdot(a,markersize,markerstroke,markerfill)}else{if(marker=="arrow"){arrowhead(b,a)}}}function sector(c,g,a,f){var d=g[0]-c[0],b=g[1]-c[1];arc(g,a,Math.sqrt(d*d+b*b),f+"arc");path([a,c,g],f+"path")}function ellipse(c,d,b,f){var a;if(f!=null){a=doc.getElementById(f)}if(a==null){a=myCreateElementSVG("ellipse");a.setAttribute("id",f);svgpicture.appendChild(a)}a.setAttribute("cx",c[0]*xunitlength+origin[0]);a.setAttribute("cy",height-c[1]*yunitlength-origin[1]);a.setAttribute("rx",d*xunitlength);a.setAttribute("ry",b*yunitlength);a.setAttribute("stroke-width",strokewidth);a.setAttribute("stroke",stroke);a.setAttribute("fill",fill);a.setAttribute("stroke-opacity",strokeopacity);a.setAttribute("fill-opacity",fillopacity)}function triangle(c,b,a,d){path([c,b,a,c],d)}function rect(f,c,g,d,b){var a;if(g!=null){a=doc.getElementById(g)}if(a==null){a=myCreateElementSVG("rect");a.setAttribute("id",g);svgpicture.appendChild(a)}a.setAttribute("x",f[0]*xunitlength+origin[0]);a.setAttribute("y",height-c[1]*yunitlength-origin[1]);a.setAttribute("width",(c[0]-f[0])*xunitlength);a.setAttribute("height",(c[1]-f[1])*yunitlength);if(d!=null){a.setAttribute("rx",d*xunitlength)}if(b!=null){a.setAttribute("ry",b*yunitlength)}a.setAttribute("stroke-width",strokewidth);a.setAttribute("stroke",stroke);a.setAttribute("fill",fill);a.setAttribute("stroke-opacity",strokeopacity);a.setAttribute("fill-opacity",fillopacity)}function text(a,l,h,b,j){var f,c,m=0,k=fontsize/3,g=l.toString();if(/(`|\$)/.test(g)){f=document.getElementById(svgpicture.getAttribute("name")+"mml");if(f!=null){if(b!=null){c=document.getElementById(b)}if(c==null){c=createElementXHTML("div");c.setAttribute("id",b);c.style.position="absolute";f.appendChild(c)}while(c.childNodes.length>0){c.removeChild(c.lastChild)}c.appendChild(document.createTextNode(g));if(/`/.test(g)){AMprocessNode(c)}else{LMprocessNode(c)}m=-c.offsetWidth/2;k=-c.offsetHeight/2;if(h!=null){if(/above/.test(h)){k=-c.offsetHeight}if(/below/.test(h)){k=0}if(/right/.test(h)){m=0}if(/left/.test(h)){m=-c.offsetWidth}}c.style.left=""+(a[0]*xunitlength+origin[0]+m)+"px";c.style.top=""+(height-a[1]*yunitlength-origin[1]+k)+"px"}return a}var d="middle";if(h!=null){if(/above/.test(h)){k=-fontsize/2}if(/below/.test(h)){k=fontsize-0}if(/right/.test(h)){d="start";m=fontsize/4}if(/left/.test(h)){d="end";m=-fontsize/4}}if(b!=null){c=doc.getElementById(b)}if(c==null){c=myCreateElementSVG("text");c.setAttribute("id",b);svgpicture.appendChild(c);c.appendChild(doc.createTextNode(g))}while(c.childNodes.length>1){c.removeChild(c.lastChild)}c.lastChild.nodeValue="\xA0"+g+"\xA0";c.setAttribute("x",a[0]*xunitlength+origin[0]+m);c.setAttribute("y",height-a[1]*yunitlength-origin[1]+k);c.setAttribute("font-style",(j!=null?j:(g.search(/^[a-zA-Z]$/)!=-1?"italic":fontstyle)));c.setAttribute("font-family",fontfamily);c.setAttribute("font-size",fontsize);c.setAttribute("font-weight",fontweight);c.setAttribute("text-anchor",d);if(fontstroke!="none"){c.setAttribute("stroke",fontstroke)}if(fontfill!="none"){c.setAttribute("fill",fontfill)}return a}function mtext(a,j,d,f,g){var c="middle";var k=0;var h=fontsize/3;if(d!=null){if(d.slice(0,5)=="above"){h=-fontsize/2}if(d.slice(0,5)=="below"){h=fontsize-0}if(d.slice(0,5)=="right"||d.slice(5,10)=="right"){c="start";k=fontsize/2}if(d.slice(0,4)=="left"||d.slice(5,9)=="left"){c="end";k=-fontsize/2}}var b=this;if(this.nodeName=="svg"){b=myCreateElementSVG("text");this.appendChild(b);b.appendChild(doc.createTextNode(j))}b.lastChild.nodeValue=j;b.setAttribute("x",a[0]+k);b.setAttribute("y",a[1]+h);b.setAttribute("font-style",(f!=null?f:fontstyle));b.setAttribute("font-family",fontfamily);b.setAttribute("font-size",(g!=null?g:fontsize));b.setAttribute("font-weight",fontweight);b.setAttribute("text-anchor",c);if(fontstroke!="none"){b.setAttribute("stroke",fontstroke)}if(fontfill!="none"){b.setAttribute("fill",fontfill)}}function image(b,f,a,c,g){var d;if(g!=null){d=doc.getElementById(g)}if(d==null){d=myCreateElementSVG("image");d.setAttribute("id",g);svgpicture.appendChild(d)}d.setAttribute("x",f[0]*xunitlength+origin[0]);d.setAttribute("y",height-f[1]*yunitlength-origin[1]);d.setAttribute("width",a);d.setAttribute("height",c);d.setAttribute("xlink:href",b)}function ASdot(g,d,a,c){if(a==null){a=stroke}if(c==null){c=fill}var b=myCreateElementSVG("circle");b.setAttribute("cx",g[0]*xunitlength+origin[0]);b.setAttribute("cy",height-g[1]*yunitlength-origin[1]);b.setAttribute("r",d);b.setAttribute("stroke-width",strokewidth);b.setAttribute("stroke",a);b.setAttribute("fill",c);svgpicture.appendChild(b)}function dot(f,d,b,j,h){var c;var a=f[0]*xunitlength+origin[0];var g=height-f[1]*yunitlength-origin[1];if(h!=null){c=doc.getElementById(h)}if(d=="+"||d=="-"||d=="|"){if(c==null){c=myCreateElementSVG("path");c.setAttribute("id",h);svgpicture.appendChild(c)}if(d=="+"){c.setAttribute("d"," M "+(a-ticklength)+" "+g+" L "+(a+ticklength)+" "+g+" M "+a+" "+(g-ticklength)+" L "+a+" "+(g+ticklength));c.setAttribute("stroke-width",0.5);c.setAttribute("stroke",axesstroke)}else{if(d=="-"){c.setAttribute("d"," M "+(a-ticklength)+" "+g+" L "+(a+ticklength)+" "+g)}else{c.setAttribute("d"," M "+a+" "+(g-ticklength)+" L "+a+" "+(g+ticklength))}c.setAttribute("stroke-width",strokewidth);c.setAttribute("stroke",stroke)}}else{if(c==null){c=myCreateElementSVG("circle");c.setAttribute("id",h);svgpicture.appendChild(c)}c.setAttribute("cx",a);c.setAttribute("cy",g);c.setAttribute("r",dotradius);c.setAttribute("stroke-width",strokewidth);c.setAttribute("stroke",stroke);c.setAttribute("fill",(d=="open"?"white":(d=="closed"?stroke:markerfill)))}if(b!=null){text(f,b,(j==null?"below":j),(h==null?h:h+"label"))}}point=dot;function arrowhead(j,h){var a;var c=[j[0]*xunitlength+origin[0],height-j[1]*yunitlength-origin[1]];var b=[h[0]*xunitlength+origin[0],height-h[1]*yunitlength-origin[1]];var f=[b[0]-c[0],b[1]-c[1]];var k=Math.sqrt(f[0]*f[0]+f[1]*f[1]);if(k>1e-8){f=[f[0]/k,f[1]/k];a=[-f[1],f[0]];var g=myCreateElementSVG("path");g.setAttribute("d","M "+(b[0]-15*f[0]-4*a[0])+" "+(b[1]-15*f[1]-4*a[1])+" L "+(b[0]-3*f[0])+" "+(b[1]-3*f[1])+" L "+(b[0]-15*f[0]+4*a[0])+" "+(b[1]-15*f[1]+4*a[1])+" z");g.setAttribute("stroke-width",markerstrokewidth);g.setAttribute("stroke",stroke);g.setAttribute("fill",stroke);g.setAttribute("stroke-opacity",strokeopacity);g.setAttribute("fill-opacity",fillopacity);svgpicture.appendChild(g)}}function chopZ(b){var a=b.indexOf(".");if(a==-1){return b}for(var c=b.length-1;c>a&&b.charAt(c)=="0";c--){}if(c==a){c--}return b.slice(0,c+1)}function grid(b,a){axes(b,a,null,b,a)}function noaxes(){if(!initialized){initPicture()}}function axes(dx,dy,labels,gdx,gdy){var x,y,ldx,ldy,lx,ly,lxp,lyp,pnode,st;if(!initialized){initPicture()}if(typeof dx=="string"){labels=dx;dx=null}if(typeof dy=="string"){gdx=dy;dy=null}if(xscl!=null){dx=xscl;gdx=xscl;labels=dx}if(yscl!=null){dy=yscl;gdy=yscl}if(xtick!=null){dx=xtick}if(ytick!=null){dy=ytick}dx=(dx==null?xunitlength:dx*xunitlength);dy=(dy==null?dx:dy*yunitlength);fontsize=Math.min(dx/2,dy/2,16);ticklength=fontsize/4;if(xgrid!=null){gdx=xgrid}if(ygrid!=null){gdy=ygrid}if(gdx!=null){gdx=(typeof gdx=="string"?dx:gdx*xunitlength);gdy=(gdy==null?dy:gdy*yunitlength);pnode=myCreateElementSVG("path");st="";for(x=origin[0];x0;x=x-gdx){st+=" M"+x+",0 "+x+","+height}for(y=height-origin[1];y0;y=y-gdy){st+=" M0,"+y+" "+width+","+y}pnode.setAttribute("d",st);pnode.setAttribute("stroke-width",0.5);pnode.setAttribute("stroke",gridstroke);pnode.setAttribute("fill",fill);svgpicture.appendChild(pnode)}pnode=myCreateElementSVG("path");st="M0,"+(height-origin[1])+" "+width+","+(height-origin[1])+" M"+origin[0]+",0 "+origin[0]+","+height;for(x=origin[0]+dx;x0;x=x-dx){st+=" M"+x+","+(height-origin[1]+ticklength)+" "+x+","+(height-origin[1]-ticklength)}for(y=height-origin[1]+dy;y0;y=y-dy){st+=" M"+(origin[0]+ticklength)+","+y+" "+(origin[0]-ticklength)+","+y}if(labels!=null){with(Math){ldx=dx/xunitlength;ldy=dy/yunitlength;lx=(xmin>0||xmax<0?xmin:0);ly=(ymin>0||ymax<0?ymin:0);lxp=(ly==0?"below":"above");lyp=(lx==0?"left":"right");var ddx=floor(1.1-log(ldx)/log(10))+1;var ddy=floor(1.1-log(ldy)/log(10))+1;for(x=ldx;x<=xmax;x=x+ldx){text([x,ly],chopZ(x.toFixed(ddx)),lxp)}for(x=-ldx;xmin<=x;x=x-ldx){text([x,ly],chopZ(x.toFixed(ddx)),lxp)}for(y=ldy;y<=ymax;y=y+ldy){text([lx,y],chopZ(y.toFixed(ddy)),lyp)}for(y=-ldy;ymin<=y;y=y-ldy){text([lx,y],chopZ(y.toFixed(ddy)),lyp)}}}fontsize=defaultfontsize;pnode.setAttribute("d",st);pnode.setAttribute("stroke-width",0.5);pnode.setAttribute("stroke",axesstroke);pnode.setAttribute("fill",fill);pnode.setAttribute("stroke-opacity",strokeopacity);pnode.setAttribute("fill-opacity",fillopacity);svgpicture.appendChild(pnode)}function mathjs(c){c=c.replace(/\s/g,"");if(c.indexOf("^-1")!=-1){c=c.replace(/sin\^-1/g,"arcsin");c=c.replace(/cos\^-1/g,"arccos");c=c.replace(/tan\^-1/g,"arctan");c=c.replace(/sec\^-1/g,"arcsec");c=c.replace(/csc\^-1/g,"arccsc");c=c.replace(/cot\^-1/g,"arccot");c=c.replace(/sinh\^-1/g,"arcsinh");c=c.replace(/cosh\^-1/g,"arccosh");c=c.replace(/tanh\^-1/g,"arctanh");c=c.replace(/sech\^-1/g,"arcsech");c=c.replace(/csch\^-1/g,"arccsch");c=c.replace(/coth\^-1/g,"arccoth")}c=c.replace(/^e$/g,"(Math.E)");c=c.replace(/^e([^a-zA-Z])/g,"(Math.E)$1");c=c.replace(/([^a-zA-Z])e/g,"$1(Math.E)");c=c.replace(/([0-9])([\(a-zA-Z])/g,"$1*$2");c=c.replace(/\)([\(0-9a-zA-Z])/g,")*$1");var d,b,a,f,g;while((d=c.indexOf("^"))!=-1){if(d==0){return"Error: missing argument"}b=d-1;f=c.charAt(b);if(f>="0"&&f<="9"){b--;while(b>=0&&(f=c.charAt(b))>="0"&&f<="9"){b--}if(f=="."){b--;while(b>=0&&(f=c.charAt(b))>="0"&&f<="9"){b--}}}else{if(f==")"){g=1;b--;while(b>=0&&g>0){f=c.charAt(b);if(f=="("){g--}else{if(f==")"){g++}}b--}while(b>=0&&(f=c.charAt(b))>="a"&&f<="z"||f>="A"&&f<="Z"){b--}}else{if(f>="a"&&f<="z"||f>="A"&&f<="Z"){b--;while(b>=0&&(f=c.charAt(b))>="a"&&f<="z"||f>="A"&&f<="Z"){b--}}else{return"Error: incorrect syntax in "+c+" at position "+b}}}if(d==c.length-1){return"Error: missing argument"}a=d+1;f=c.charAt(a);if(f>="0"&&f<="9"||f=="-"){a++;while(a="0"&&f<="9"){a++}if(f=="."){a++;while(a="0"&&f<="9"){a++}}}else{if(f=="("){g=1;a++;while(a0){f=c.charAt(a);if(f=="("){g++}else{if(f==")"){g--}}a++}}else{if(f>="a"&&f<="z"||f>="A"&&f<="Z"){a++;while(a="a"&&f<="z"||f>="A"&&f<="Z"){a++}}else{return"Error: incorrect syntax in "+c+" at position "+a}}}c=c.slice(0,b+1)+"Math.pow("+c.slice(b+1,d)+","+c.slice(d+1,a)+")"+c.slice(a)}while((d=c.indexOf("!"))!=-1){if(d==0){return"Error: missing argument"}b=d-1;f=c.charAt(b);if(f>="0"&&f<="9"){b--;while(b>=0&&(f=c.charAt(b))>="0"&&f<="9"){b--}if(f=="."){b--;while(b>=0&&(f=c.charAt(b))>="0"&&f<="9"){b--}}}else{if(f==")"){g=1;b--;while(b>=0&&g>0){f=c.charAt(b);if(f=="("){g--}else{if(f==")"){g++}}b--}while(b>=0&&(f=c.charAt(b))>="a"&&f<="z"||f>="A"&&f<="Z"){b--}}else{if(f>="a"&&f<="z"||f>="A"&&f<="Z"){b--;while(b>=0&&(f=c.charAt(b))>="a"&&f<="z"||f>="A"&&f<="Z"){b--}}else{return"Error: incorrect syntax in "+c+" at position "+b}}}c=c.slice(0,b+1)+"factorial("+c.slice(b+1,d)+")"+c.slice(d+1)}return c}function plot(fun,x_min,x_max,points,id,endpts){var pth=[];var f=function(x){return x},g=fun;var name=null;if(typeof fun=="string"){eval("g = function(x){ with(Math) return "+mathjs(fun)+" }")}else{if(typeof fun=="object"){eval("f = function(t){ with(Math) return "+mathjs(fun[0])+" }");eval("g = function(t){ with(Math) return "+mathjs(fun[1])+" }")}}if(typeof x_min=="string"){name=x_min;x_min=xmin}else{name=id}var min=(x_min==null?xmin:x_min);var max=(x_max==null?xmax:x_max);var inc=max-min-0.000001*(max-min);inc=(points==null?inc/200:inc/points);var gt;for(var t=min;t<=max;t+=inc){gt=g(t);if(!(isNaN(gt)||Math.abs(gt)=="Infinity")){pth[pth.length]=[f(t),gt]}}path(pth,name,null,endpts);return pth}function slopefield(fun,dx,dy){var g=fun;if(typeof fun=="string"){eval("g = function(x,y){ with(Math) return "+mathjs(fun)+" }")}var gxy,x,y,u,v,dz;if(dx==null){dx=1}if(dy==null){dy=1}dz=Math.sqrt(dx*dx+dy*dy)/6;var x_min=Math.ceil(xmin/dx);var y_min=Math.ceil(ymin/dy);for(x=x_min;x<=xmax;x+=dx){for(y=y_min;y<=ymax;y+=dy){gxy=g(x,y);if(!isNaN(gxy)){if(Math.abs(gxy)=="Infinity"){u=0;v=dz}else{u=dz/Math.sqrt(1+gxy*gxy);v=gxy*u}line([x-u,y-v],[x+u,y+v])}}}}function show_props(c){var b="";for(var a=0;a\nResult:     \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
    \n
    ';function generic(){if(!init()){return}if(translateOnLoad){var b=document.getElementById("processasciimathinmoodle");if(b!=null){dsvglocation=b.className}if(b!=null||!checkforprocessasciimathinmoodle){translate();if(!noSVG&&translateASCIIsvg){drawPictures()}}var a=getElementsByClass(document,"div","ASCIIMathCalculator");if(!noMathML&&a.length>0){initASCIIMathCalculators(a)}}}if(typeof window.addEventListener!="undefined"){window.addEventListener("load",generic,false)}else{if(typeof document.addEventListener!="undefined"){document.addEventListener("load",generic,false)}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onload",generic)}else{if(typeof window.onload=="function"){var existing=onload;window.onload=function(){existing();generic()}}else{window.onload=generic}}}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Equation/Equation.js b/ccm-core/web/assets/xinha/plugins/Equation/Equation.js new file mode 100644 index 000000000..c2a25546b --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/Equation/Equation.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function Equation(c){this.editor=c;var a=c.config;var b=this;a.registerButton({id:"equation",tooltip:this._lc("Formula Editor"),image:c.imgURL("equation.gif","Equation"),textMode:false,action:function(d,f){b.buttonPress(d,f)}});a.addToolbarElement("equation","inserthorizontalrule",-1);mathcolor=a.Equation.mathcolor;mathfontfamily=a.Equation.mathfontfamily;this.enabled=!Xinha.is_ie;if(this.enabled){this.onBeforeSubmit=this.onBeforeUnload=function(){b.unParse()}}if(typeof AMprocessNode!="function"){Xinha._loadback(Xinha.getPluginDir("Equation")+"/ASCIIMathML.js",function(){translate()})}}Xinha.Config.prototype.Equation={mathcolor:"black",mathfontfamily:"serif"};Equation._pluginInfo={name:"ASCIIMathML Formula Editor",version:"2.3 (2008-01-26)",developer:"Raimund Meyer",developer_url:"http://x-webservice.net",c_owner:"",sponsor:"",sponsor_url:"",license:"GNU/LGPL"};Equation.prototype._lc=function(a){return Xinha._lc(a,"Equation")};Equation.prototype.onGenerate=function(){this.parse()};Equation.prototype.onKeyPress=function(b){if(this.enabled){e=this.editor;var a=e._getFirstAncestor(e.getSelection(),["span"]);if(a&&a.className=="AM"){if(b.keyCode==8||b.keyCode==46||b.charCode){Xinha._stopEvent(b);return true}}}return false};Equation.prototype.onBeforeMode=function(a){if(this.enabled&&a=="textmode"){this.unParse()}};Equation.prototype.onMode=function(a){if(this.enabled&&a=="wysiwyg"){this.parse()}};Equation.prototype.parse=function(){if(this.enabled){var f=this.editor._doc;var b=f.getElementsByTagName("span");for(var a=0;a'+b+"")}}}if(this.enabled){this.parse()}}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Equation/equation.js b/ccm-core/web/assets/xinha/plugins/Equation/equation.js deleted file mode 100644 index 465e67412..000000000 --- a/ccm-core/web/assets/xinha/plugins/Equation/equation.js +++ /dev/null @@ -1,146 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Equation/equation.js */ -function Equation(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"equation",tooltip:this._lc("Formula Editor"),image:_1.imgURL("equation.gif","Equation"),textMode:false,action:function(_4,id){ -_3.buttonPress(_4,id); -}}); -_2.addToolbarElement("equation","inserthorizontalrule",-1); -mathcolor=_2.Equation.mathcolor; -mathfontfamily=_2.Equation.mathfontfamily; -this.enabled=!Xinha.is_ie; -if(this.enabled){ -this.onBeforeSubmit=this.onBeforeUnload=function(){ -_3.unParse(); -}; -} -if(typeof AMprocessNode!="function"){ -Xinha._loadback(Xinha.getPluginDir("Equation")+"/ASCIIMathML.js",function(){ -translate(); -}); -} -} -Xinha.Config.prototype.Equation={"mathcolor":"black","mathfontfamily":"serif"}; -Equation._pluginInfo={name:"ASCIIMathML Formula Editor",version:"2.3 (2008-01-26)",developer:"Raimund Meyer",developer_url:"http://xinha.raimundmeyer.de",c_owner:"",sponsor:"",sponsor_url:"",license:"GNU/LGPL"}; -Equation.prototype._lc=function(_6){ -return Xinha._lc(_6,"Equation"); -}; -Equation.prototype.onGenerate=function(){ -this.parse(); -}; -Equation.prototype.onKeyPress=function(ev){ -if(this.enabled){ -e=this.editor; -var _8=e._getFirstAncestor(e.getSelection(),["span"]); -if(_8&&_8.className=="AM"){ -if(ev.keyCode==8||ev.keyCode==46||ev.charCode){ -Xinha._stopEvent(ev); -return true; -} -} -} -return false; -}; -Equation.prototype.onBeforeMode=function(_9){ -if(this.enabled&&_9=="textmode"){ -this.unParse(); -} -}; -Equation.prototype.onMode=function(_a){ -if(this.enabled&&_a=="wysiwyg"){ -this.parse(); -} -}; -Equation.prototype.parse=function(){ -if(this.enabled){ -var _b=this.editor._doc; -var _c=_b.getElementsByTagName("span"); -for(var i=0;i<_c.length;i++){ -var _e=_c[i]; -if(_e.className!="AM"){ -continue; -} -if(_e.innerHTML.indexOf(this.editor.cc)!=-1){ -_e.innerHTML=_e.innerHTML.replace(this.editor.cc,""); -_e.parentNode.insertBefore(_b.createTextNode(this.editor.cc),_e); -} -_e.title=_e.innerHTML; -var _f=_e.cloneNode(true); -try{ -document.adoptNode(_f); -} -catch(e){ -} -AMprocessNode(_f,false); -try{ -_b.adoptNode(_f); -} -catch(e){ -} -_e.parentNode.replaceChild(_f,_e); -_f.parentNode.insertBefore(_b.createTextNode(String.fromCharCode(32)),_f); -_f.parentNode.insertBefore(_b.createTextNode(String.fromCharCode(32)),_f.nextSibling); -} -} -}; -Equation.prototype.unParse=function(){ -var doc=this.editor._doc; -var _11=doc.getElementsByTagName("span"); -for(var i=0;i<_11.length;i++){ -var _13=_11[i]; -if(_13.className.indexOf("AM")==-1||_13.getElementsByTagName("math").length==0){ -continue; -} -var _14=_13.getAttribute("title"); -_13.innerHTML=_14; -_13.setAttribute("title",null); -} -}; -Equation.prototype.buttonPress=function(){ -var _15=this; -var _16=this.editor; -var _17={}; -_17["editor"]=_16; -var _18=_16._getFirstAncestor(_16.getSelection(),["span"]); -if(_18){ -_17["editedNode"]=_18; -} -Dialog(Xinha.getPluginDir("Equation")+"/popups/dialog.html",function(_19){ -_15.insert(_19); -},_17); -}; -Equation.prototype.insert=function(_1a){ -if(typeof _1a["formula"]!="undefined"){ -var _1b=(_1a["formula"]!="")?_1a["formula"].replace(/^`?(.*)`?$/m,"`$1`"):""; -if(_1a["editedNode"]&&(_1a["editedNode"].tagName.toLowerCase()=="span")){ -var _1c=_1a["editedNode"]; -if(_1b!=""){ -_1c.innerHTML=_1b; -if(this.enabled){ -_1c.title=_1b; -} -}else{ -_1c.parentNode.removeChild(_1c); -} -}else{ -if(!_1a["editedNode"]&&_1b!=""){ -if(this.enabled){ -var _1c=document.createElement("span"); -_1c.className="AM"; -this.editor.insertNodeAtSelection(_1c); -_1c.innerHTML=_1b; -_1c.title=_1b; -}else{ -this.editor.insertHTML(""+_1b+""); -} -} -} -if(this.enabled){ -this.parse(); -} -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Equation/popups/dialog.html b/ccm-core/web/assets/xinha/plugins/Equation/popups/dialog.html index 4ee910774..0b9b2ca43 100755 --- a/ccm-core/web/assets/xinha/plugins/Equation/popups/dialog.html +++ b/ccm-core/web/assets/xinha/plugins/Equation/popups/dialog.html @@ -39,6 +39,25 @@ - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/imagelist.css b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/imagelist.css deleted file mode 100755 index abd247d90..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/imagelist.css +++ /dev/null @@ -1,55 +0,0 @@ -body { margin: 0; padding: 0;} -.edit,.dir_holder .fileName, .thumb_holder .fileName { font-size: 8pt; font-family: small-caption, sans-serif; padding-top: 3px;} -.edit a { border: none; padding: 0; text-decoration:none; } -.edit a:hover { background-color: ButtonHighlight; } -.edit a img { border: none; vertical-align: bottom; } -.noResult { font-size:large; font-weight:bold; color:#ccc; font-family: Helvetica, sans-serif; text-align: center; padding-top: 60px; } -.error { color:#c00; font-weight:bold; font-size: medium; font-family: Helvetica, sans-serif; text-align: center; padding-top: 65px;} - -.dir_holder, .thumb_holder -{ - width:106px; height:132px; - float:left; - margin:6px 4px; - background-color:ButtonFace; - border: 1px outset; -} - -.thumb_holder.active -{ - background:Highlight; - color:HighlightText; - border:1px dashed Highlight; -} - -.dir_holder a.dir, .thumb_holder a.thumb -{ - height:85px; - display:block; - text-align:center; - padding:5px; - text-decoration:none; - overflow:hidden; -} - -.thumb_holder a.thumb img -{ - border:1px solid black; -} - -.dir_holder a.dir img -{ - border:none; -} - -.listview { width:100%; } -.listview td, .listview th { text-align:left; font-size:small; } -.listview td.actions { text-align: right;width:111px } -.listview td.actions img { border:0; } - -.listview thead th {background-color: ButtonFace; border: 1px solid threedface; border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; padding-top:2px; padding-bottom:2px; padding-left: 5px; padding-right: 5px; font-size: 9pt; font-family: "MS Sans Serif", "Bitstream Vera Sans", Geneva, Sans, sans-serif;font-weight:normal} -.listview tbody td, .listview tbody th {overflow:hidden; padding-top:2px; padding-left: 3px; font-size: 9pt; font-family: "MS Sans Serif", "Bitstream Vera Sans", Geneva, Sans, sans-serif;} -.listview tbody a, listview tbody a:visited { font-weight: normal; text-decoration: none; color: #000; border:0px; padding:2px;} -.listview tbody a:hover { background-color:#0B256B; color:#fff;} - -.listview tbody tr:hover {background-color: rgb(221,221,255)}; diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/images.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/images.js deleted file mode 100644 index 09b95390b..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/images.js +++ /dev/null @@ -1,245 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ExtendedFileManager/assets/images.js */ -function i18n(_1){ -return Xinha._lc(_1,"ExtendedFileManager"); -} -function changeDir(_2){ -showMessage("Loading"); -var _3=window.top.document.getElementById("manager_mode").value; -var _4=window.top.document.getElementById("viewtype"); -var _5=_4.options[_4.selectedIndex].value; -location.href=_backend_url+"__function=images&mode="+_3+"&dir="+_2+"&viewtype="+_5; -document.cookie="EFMStartDir"+_3+"="+_2; -} -function newFolder(_6,_7){ -var _8=window.top.document.getElementById("manager_mode").value; -var _9=window.top.document.getElementById("viewtype"); -var _a=_9.options[_9.selectedIndex].value; -location.href=_backend_url+"__function=images&mode="+_8+"&dir="+_6+"&newDir="+_7+"&viewtype="+_a; -} -function renameFile(_b){ -var _c=_b.replace(/.*%2F/,"").replace(/\..*$/,""); -var _d=function(_e){ -if(_e==""||_e==null||_e==_c){ -alert(i18n("Cancelled rename.")); -return false; -} -var _f=window.top.document.getElementById("manager_mode").value; -var _10=window.top.document.getElementById("dirPath"); -var dir=_10.options[_10.selectedIndex].value; -_10=window.top.document.getElementById("viewtype"); -var _12=_10.options[_10.selectedIndex].value; -location.href=_backend_url+"__function=images&mode="+_f+"&dir="+dir+"&rename="+_b+"&renameTo="+_e+"&viewtype="+_12; -}; -if(Xinha.ie_version>6){ -popupPrompt(i18n("Please enter new name for this file..."),_c,_d,i18n("Rename")); -}else{ -var _13=prompt(i18n("Please enter new name for this file..."),_c); -_d(_13); -} -} -function renameDir(_14){ -function rename(_15){ -if(_15==""||_15==null||_15==_14){ -alert(i18n("Cancelled rename.")); -return false; -} -var _16=window.top.document.getElementById("manager_mode").value; -var _17=window.top.document.getElementById("dirPath"); -var dir=_17.options[_17.selectedIndex].value; -_17=window.top.document.getElementById("viewtype"); -var _19=_17.options[_17.selectedIndex].value; -location.href=_backend_url+"__function=images&mode="+_16+"&dir="+dir+"&rename="+_14+"&renameTo="+_15+"&viewtype="+_19; -} -if(Xinha.ie_version>6){ -popupPrompt(i18n("Please enter new name for this folder..."),_14,rename,i18n("Rename")); -}else{ -var _1a=prompt(i18n("Please enter new name for this folder..."),_14); -rename(_1a); -} -} -function copyFile(_1b,_1c){ -var _1d=window.top.document.getElementById("dirPath"); -var dir=_1d.options[_1d.selectedIndex].value; -window.top.pasteButton({"dir":dir,"file":_1b,"action":_1c+"File"}); -} -function copyDir(_1f,_20){ -var _21=window.top.document.getElementById("dirPath"); -var dir=_21.options[_21.selectedIndex].value; -window.top.pasteButton({"dir":dir,"file":_1f,"action":_20+"Dir"}); -} -function paste(_23){ -var _24=window.top.document.getElementById("manager_mode").value; -var _25=window.top.document.getElementById("dirPath"); -var dir=_25.options[_25.selectedIndex].value; -_25=window.top.document.getElementById("viewtype"); -var _27=_25.options[_25.selectedIndex].value; -location.href=_backend_url+"__function=images&mode="+_24+"&dir="+dir+"&paste="+_23.action+"&srcdir="+_23.dir+"&file="+_23.file+"&viewtype="+_27; -} -function updateDir(_28){ -var _29=window.top.document.getElementById("manager_mode").value; -document.cookie="EFMStartDir"+_29+"="+_28; -var _2a=window.top.document.getElementById("dirPath"); -if(_2a){ -for(var i=0;i<_2a.length;i++){ -var _2c=_2a.options[i].text; -if(_2c==_28){ -_2a.selectedIndex=i; -showMessage("Loading"); -break; -} -} -} -} -function emptyProperties(){ -toggleImageProperties(false); -var _2d=window.top.document; -_2d.getElementById("f_url").value=""; -_2d.getElementById("f_alt").value=""; -_2d.getElementById("f_title").value=""; -_2d.getElementById("f_width").value=""; -_2d.getElementById("f_margin").value=""; -_2d.getElementById("f_height").value=""; -_2d.getElementById("f_padding").value=""; -_2d.getElementById("f_border").value=""; -_2d.getElementById("f_borderColor").value=""; -_2d.getElementById("f_backgroundColor").value=""; -} -function toggleImageProperties(val){ -var _2f=window.top.document; -if(val==true){ -_2f.getElementById("f_width").value=""; -_2f.getElementById("f_margin").value=""; -_2f.getElementById("f_height").value=""; -_2f.getElementById("f_padding").value=""; -_2f.getElementById("f_border").value=""; -_2f.getElementById("f_borderColor").value=""; -_2f.getElementById("f_backgroundColor").value=""; -} -_2f.getElementById("f_width").disabled=val; -_2f.getElementById("f_margin").disabled=val; -_2f.getElementById("f_height").disabled=val; -_2f.getElementById("f_padding").disabled=val; -_2f.getElementById("f_align").disabled=val; -_2f.getElementById("f_border").disabled=val; -_2f.getElementById("f_borderColor").value=""; -_2f.getElementById("f_backgroundColor").value=""; -_2f.getElementById("constrain_prop").disabled=val; -} -function selectImage(_30,alt,_32,_33){ -var _34=window.top.document; -if(_34.getElementById("manager_mode").value=="image"){ -var obj=_34.getElementById("f_url"); -obj.value=_30; -obj=_34.getElementById("f_alt"); -obj.value=alt; -obj=_34.getElementById("f_title"); -obj.value=alt; -if(_32==0&&_33==0){ -toggleImageProperties(true); -}else{ -toggleImageProperties(false); -var obj=_34.getElementById("f_width"); -obj.value=_32; -var obj=_34.getElementById("f_height"); -obj.value=_33; -var obj=_34.getElementById("orginal_width"); -obj.value=_32; -var obj=_34.getElementById("orginal_height"); -obj.value=_33; -update_selected(); -} -}else{ -if(_34.getElementById("manager_mode").value=="link"){ -var obj=_34.getElementById("f_href"); -obj.value=_30; -var obj=_34.getElementById("f_title"); -obj.value=alt; -} -} -return false; -} -var _current_selected=null; -function update_selected(){ -var _36=window.top.document; -if(_current_selected){ -_current_selected.className=_current_selected.className.replace(/(^| )active( |$)/,"$1$2"); -_current_selected=null; -} -var _37=_36.getElementById("f_url").value; -var _38=_36.getElementById("dirPath"); -var _39=_38.options[_38.selectedIndex].text; -var dRe=new RegExp("^("+_39.replace(/([\/\^$*+?.()|{}[\]])/g,"\\$1")+")([^/]*)$"); -if(dRe.test(_37)){ -var _3b=document.getElementById("holder_"+asc2hex(RegExp.$2)); -if(_3b){ -_current_selected=_3b; -_3b.className+=" active"; -} -} -showPreview(_37); -} -function asc2hex(str){ -var _3d=""; -for(var i=0;i=0;){ -var op=_3[i]; -op.selected=(op.value==_2); -} -c.value=_2; -} -function i18n(_6){ -return Xinha._lc(_6,"ExtendedFileManager"); -} -function setAlign(_7){ -var _8=document.getElementById("f_align"); -for(var i=0;i<_8.length;i++){ -if(_8.options[i].value==_7){ -_8.selectedIndex=i; -break; -} -} -} -function onTargetChanged(){ -var f=document.getElementById("f_other_target"); -if(this.value=="_other"){ -f.style.visibility="visible"; -f.select(); -f.focus(); -}else{ -f.style.visibility="hidden"; -} -} -function init(){ -if(typeof imgManager=="undefined"){ -setTimeout(init,10); -return; -} -var w=650; -var h=600; -window.resizeTo(w,h); -var _d=Xinha.pageSize(window); -window.resizeTo(w,h); -var _e=Xinha.viewportSize(window); -window.resizeBy(0,_d.y-_e.y+5); -_e=Xinha.viewportSize(window); -if(!Xinha.is_ie){ -var x=opener.screenX+(opener.outerWidth-_e.x)/2; -var y=opener.screenY+(opener.outerHeight-_e.x)/2; -}else{ -var x=(self.screen.availWidth-_e.x)/2; -var y=(self.screen.availHeight-_e.y)/2; -} -window.moveTo(x,y); -__xinha_dlg_init(); -__dlg_translate("ExtendedFileManager"); -var _11=document.getElementById("uploadForm"); -if(_11){ -_11.target="imgManager"; -} -var _12=window.dialogArguments.editor; -var _13=window.dialogArguments.param; -var _14=null; -if(manager_mode=="image"&&_13){ -var _15=new RegExp("^https?://"); -if(_13.f_url.length>0&&!_15.test(_13.f_url)&&typeof _13.baseHref=="string"){ -_13.f_url=_13.baseHref+_13.f_url; -} -var _16=new RegExp("(https?://[^/]*)?"+base_url.replace(/\/$/,"")); -_13.f_url=_13.f_url.replace(_16,""); -var rd=(_resized_dir)?_resized_dir.replace(Xinha.RE_Specials,"\\$1")+"/":""; -var rp=_resized_prefix.replace(Xinha.RE_Specials,"\\$1"); -var _19=new RegExp("^(.*/)"+rd+rp+"_([0-9]+)x([0-9]+)_([^/]+)$"); -var _1a=_13.f_url.match(_19); -if(_19.test(_13.f_url)){ -_13.f_url=RegExp.$1+RegExp.$4; -_13.f_width=RegExp.$2; -_13.f_height=RegExp.$3; -} -document.getElementById("f_url").value=_13["f_url"]; -document.getElementById("f_alt").value=_13["f_alt"]; -document.getElementById("f_title").value=_13["f_title"]; -document.getElementById("f_border").value=_13["f_border"]; -document.getElementById("f_width").value=_13["f_width"]; -document.getElementById("f_height").value=_13["f_height"]; -document.getElementById("f_margin").value=_13["f_margin"]; -document.getElementById("f_padding").value=_13["f_padding"]; -document.getElementById("f_borderColor").value=_13["f_borderColor"]; -document.getElementById("f_backgroundColor").value=_13["f_backgroundColor"]; -setAlign(_13["f_align"]); -document.getElementById("f_url").focus(); -document.getElementById("orginal_width").value=_13["f_width"]; -document.getElementById("orginal_height").value=_13["f_height"]; -var _19=new RegExp("^(.*/)([^/]+)$"); -if(_19.test(_13["f_url"])){ -_14=RegExp.$1; -} -document.getElementById("f_preview").src=_backend_url+"__function=thumbs&img="+_13.f_url; -}else{ -if(manager_mode=="link"&&_13){ -var _1b=document.getElementById("f_target"); -var _1c=true; -var _15=new RegExp("^https?://"); -if(_13.f_href.length>0&&!_15.test(_13.f_href)&&typeof _13.baseHref=="string"){ -_13.f_href=_13.baseHref+_13.f_href; -} -var _1d=new RegExp("(https?://[^/]*)?"+base_url.replace(/\/$/,"")); -_13.f_href=_13.f_href.replace(_1d,""); -var _19=new RegExp("^(.*/)([^/]+)$"); -if(_19.test(_13["f_href"])){ -_14=RegExp.$1; -}else{ -_14=document.cookie.match(/EFMStartDirlink=(.*?)(;|$)/); -if(_14){ -_14=_14[1]; -} -} -if(_13){ -if(typeof _13["f_usetarget"]!="undefined"){ -_1c=_13["f_usetarget"]; -} -if(typeof _13["f_href"]!="undefined"){ -document.getElementById("f_href").value=_13["f_href"]; -document.getElementById("f_title").value=_13["f_title"]; -comboSelectValue(_1b,_13["f_target"]); -if(_1b.value!=_13.f_target){ -var opt=document.createElement("option"); -opt.value=_13.f_target; -opt.innerHTML=opt.value; -_1b.appendChild(opt); -opt.selected=true; -} -} -} -if(!_1c){ -document.getElementById("f_target_label").style.visibility="hidden"; -document.getElementById("f_target").style.visibility="hidden"; -document.getElementById("f_other_target").style.visibility="hidden"; -} -var opt=document.createElement("option"); -opt.value="_other"; -opt.innerHTML=i18n("Other"); -_1b.appendChild(opt); -_1b.onchange=onTargetChanged; -document.getElementById("f_href").focus(); -}else{ -if(!_13){ -_14=document.cookie.match(new RegExp("EFMStartDir"+manager_mode+"=(.*?)(;|$)")); -if(_14){ -_14=_14[1]; -} -} -} -} -if(_14){ -iframeUrl+="&dir="+_14; -var _1f=document.getElementById("dirPath"); -for(var i=0;i<_1f.options.length;i++){ -if(_1f.options[i].value==encodeURIComponent(_14)){ -_1f.options[i].selected=true; -break; -} -} -} -imgManager.location.replace(iframeUrl); -if(manager_mode=="image"&&typeof Xinha.colorPicker!="undefined"&&document.getElementById("f_backgroundColor")&&document.getElementById("f_backgroundColor").type=="text"){ -var _21={cellsize:_12.config.colorPickerCellSize,granularity:_12.config.colorPickerGranularity,websafe:_12.config.colorPickerWebSafe,savecolors:_12.config.colorPickerSaveColors}; -new Xinha.colorPicker.InputBinding(document.getElementById("f_backgroundColor"),_21); -new Xinha.colorPicker.InputBinding(document.getElementById("f_borderColor"),_21); -} -setTimeout(function(){ -resize(); -addEvent(window,"resize",resize); -},500); -} -function pasteButton(_22){ -var _23=document.getElementById("pasteBtn"); -if(!_23.firstChild){ -var a=document.createElement("a"); -a.href="javascript:void(0);"; -var img=document.createElement("img"); -img.src=window.opener.Xinha.getPluginDir("ExtendedFileManager")+"/img/edit_paste.gif"; -img.alt=i18n("Paste"); -a.appendChild(img); -_23.appendChild(a); -} -_23.onclick=function(){ -if(typeof imgManager!="undefined"){ -imgManager.paste(_22); -} -if(_22.action=="moveFile"||_22.action=="moveDir"){ -this.onclick=null; -this.removeChild(this.firstChild); -} -}; -switch(_22.action){ -case "copyFile": -_23.firstChild.title=i18n("Copy \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here"); -break; -case "copyDir": -_23.firstChild.title=i18n("Copy folder \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here"); -break; -case "moveFile": -_23.firstChild.title=i18n("Move \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here"); -break; -break; -case "moveDir": -_23.firstChild.title=i18n("Move folder \"$file="+_22.file+"$\" from \"$dir="+decodeURIComponent(_22.dir)+"$\" here"); -break; -} -} -function onCancel(){ -__dlg_close(null); -return false; -} -function onOK(){ -if(manager_mode=="image"){ -var _26=["f_url","f_alt","f_title","f_align","f_border","f_margin","f_padding","f_height","f_width","f_borderColor","f_backgroundColor"]; -var _27=new Object(); -for(var i in _26){ -var id=_26[i]; -var el=document.getElementById(id); -if(id=="f_url"&&el.value.indexOf("://")<0&&el.value){ -_27[id]=makeURL(base_url,el.value); -}else{ -_27[id]=el.value; -} -} -var _2b={w:document.getElementById("orginal_width").value,h:document.getElementById("orginal_height").value}; -if((_2b.w!=_27.f_width)||(_2b.h!=_27.f_height)){ -var _2c=Xinha._geturlcontent(window.opener.Xinha.getPluginDir("ExtendedFileManager")+"/"+_backend_url+"&__function=resizer&img="+encodeURIComponent(document.getElementById("f_url").value)+"&width="+_27.f_width+"&height="+_27.f_height); -_2c=eval(_2c); -if(_2c){ -_27.f_url=makeURL(base_url,_2c); -} -} -__dlg_close(_27); -return false; -}else{ -if(manager_mode=="link"){ -var _2d={}; -for(var i in _2d){ -var el=document.getElementById(i); -if(!el.value){ -alert(_2d[i]); -el.focus(); -return false; -} -} -var _26=["f_href","f_title","f_target"]; -var _27=new Object(); -for(var i in _26){ -var id=_26[i]; -var el=document.getElementById(id); -if(id=="f_href"&&el.value.indexOf("://")<0){ -_27[id]=makeURL(base_url,el.value); -}else{ -_27[id]=el.value; -} -} -if(_27.f_target=="_other"){ -_27.f_target=document.getElementById("f_other_target").value; -} -__dlg_close(_27); -return false; -} -} -} -function makeURL(_2e,_2f){ -if(_2e.substring(_2e.length-1)!="/"){ -_2e+="/"; -} -if(_2f.charAt(0)=="/"){ -} -_2f=_2f.substring(1); -return _2e+_2f; -} -function updateDir(_30){ -var _31=_30.options[_30.selectedIndex].value; -changeDir(_31); -} -function goUpDir(){ -var _32=document.getElementById("dirPath"); -var _33=_32.options[_32.selectedIndex].text; -if(_33.length<2){ -return false; -} -var _34=_33.split("/"); -var _35=""; -for(var i=0;i<_34.length-2;i++){ -_35+=_34[i]+"/"; -} -for(var i=0;i<_32.length;i++){ -var _37=_32.options[i].text; -if(_37==_35){ -_32.selectedIndex=i; -var _38=_32.options[i].value; -changeDir(_38); -break; -} -} -} -function changeDir(_39){ -if(typeof imgManager!="undefined"){ -imgManager.changeDir(_39); -} -} -function updateView(){ -refresh(); -} -function toggleConstrains(_3a){ -var _3b=document.getElementById("imgLock"); -var _3a=document.getElementById("constrain_prop"); -if(_3a.checked){ -_3b.src="img/locked.gif"; -checkConstrains("width"); -}else{ -_3b.src="img/unlocked.gif"; -} -} -function checkConstrains(_3c){ -var _3d=document.getElementById("constrain_prop"); -if(_3d.checked){ -var obj=document.getElementById("orginal_width"); -var _3f=parseInt(obj.value); -var obj=document.getElementById("orginal_height"); -var _40=parseInt(obj.value); -var _41=document.getElementById("f_width"); -var _42=document.getElementById("f_height"); -var _43=parseInt(_41.value); -var _44=parseInt(_42.value); -if(_3f>0&&_40>0){ -if(_3c=="width"&&_43>0){ -_42.value=parseInt((_43/_3f)*_40); -} -if(_3c=="height"&&_44>0){ -_41.value=parseInt((_44/_40)*_3f); -} -} -} -} -function showMessage(_45){ -var _46=document.getElementById("message"); -var _47=document.getElementById("messages"); -if(_46.firstChild){ -_46.removeChild(_46.firstChild); -} -_46.appendChild(document.createTextNode(i18n(_45))); -_47.style.display="block"; -} -function addEvent(obj,_49,fn){ -if(obj.addEventListener){ -obj.addEventListener(_49,fn,true); -return true; -}else{ -if(obj.attachEvent){ -var r=obj.attachEvent("on"+_49,fn); -return r; -}else{ -return false; -} -} -} -function doUpload(){ -var _4c=document.getElementById("uploadForm"); -if(_4c){ -showMessage("Uploading"); -} -} -function refresh(){ -var _4d=document.getElementById("dirPath"); -updateDir(_4d); -} -function newFolder(){ -function createFolder(_4e){ -var _4f=document.getElementById("dirPath"); -var dir=_4f.options[_4f.selectedIndex].value; -if(_4e==thumbdir){ -alert(i18n("Invalid folder name, please choose another folder name.")); -return false; -} -if(_4e&&_4e!=""&&typeof imgManager!="undefined"){ -imgManager.newFolder(dir,encodeURI(_4e)); -} -} -if(Xinha.ie_version>6){ -popupPrompt(i18n("Please enter name for new folder..."),i18n("Untitled"),createFolder,i18n("New Folder")); -}else{ -var _51=prompt(i18n("Please enter name for new folder..."),i18n("Untitled")); -createFolder(_51); -} -} -function resize(){ -var win=Xinha.viewportSize(window); -var m=document.getElementById("messages"); -var _54=(m&&m.style.display!="none")?parseInt(document.getElementById("messages").offsetHeight,10):0; -document.getElementById("imgManager").style.height=parseInt(win.y-130-document.getElementById("controls").offsetHeight,10)-_54+"px"; -return true; -} -Xinha.addOnloadHandler(init,window); - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/popup.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/popup.js deleted file mode 100644 index 76f545e45..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/popup.js +++ /dev/null @@ -1,71 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ExtendedFileManager/assets/popup.js */ -function __dlg_onclose(){ -if(opener.Dialog._return){ -opener.Dialog._return(null); -} -} -function __dlg_init(_1,_2){ -__xinha_dlg_init(_2); -} -function __xinha_dlg_init(_3){ -if(window.__dlg_init_done){ -return true; -} -if(window.opener._editor_skin){ -var _4=document.getElementsByTagName("head")[0]; -var _5=document.createElement("link"); -_5.type="text/css"; -_5.href=window.opener._editor_url+"skins/"+window.opener._editor_skin+"/skin.css"; -_5.rel="stylesheet"; -_4.appendChild(_5); -} -if(!window.dialogArguments&&opener.Dialog._arguments){ -window.dialogArguments=opener.Dialog._arguments; -} -Xinha.addDom0Event(document.body,"keypress",__dlg_close_on_esc); -window.__dlg_init_done=true; -} -function __dlg_translate(_6){ -var _7=["span","option","td","th","button","div","label","a","img","legend"]; -for(var _8=0;_8<_7.length;_8++){ -var _9=document.getElementsByTagName(_7[_8]); -for(var i=_9.length;--i>=0;){ -var _b=_9[i]; -if(_b.firstChild&&_b.firstChild.data){ -var _c=Xinha._lc(_b.firstChild.data,_6); -if(_c){ -_b.firstChild.data=_c; -} -} -if(_b.title){ -var _c=Xinha._lc(_b.title,_6); -if(_c){ -_b.title=_c; -} -} -if(_b.alt){ -var _c=Xinha._lc(_b.alt,_6); -if(_c){ -_b.alt=_c; -} -} -} -} -document.title=Xinha._lc(document.title,_6); -} -function __dlg_close(_d){ -opener.Dialog._return(_d); -window.close(); -} -function popupPrompt(_e,_f,_10,_11){ -Dialog("prompt.html",function(_12){ -if(!_12){ -return false; -}else{ -_10(_12.value); -} -},{prompt:_e,value:_f,title:_11}); -} - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/slider.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/slider.js deleted file mode 100644 index ccb27b0c5..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/assets/slider.js +++ /dev/null @@ -1,87 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ExtendedFileManager/assets/slider.js */ -var ie=document.all; -var ns6=document.getElementById&&!document.all; -document.onmouseup=captureStop; -var currentSlider=null,sliderField=null; -var rangeMin=null,rangeMax=null,sx=-1,sy=-1,initX=0; -function getMouseXY(e){ -x=ns6?e.clientX:event.clientX; -y=ns6?e.clientY:event.clientY; -if(sx<0){ -sx=x; -} -if(sy<0){ -sy=y; -} -var dx=initX+(x-sx); -if(dx<=rangeMin){ -dx=rangeMin; -}else{ -if(dx>=rangeMax){ -dx=rangeMax; -} -} -var _3=(dx-rangeMin)/(rangeMax-rangeMin)*100; -if(currentSlider!=null){ -currentSlider.style.left=dx+"px"; -} -if(sliderField!=null){ -sliderField.value=parseInt(_3); -} -return false; -} -function initSlider(){ -if(currentSlider==null){ -currentSlider=document.getElementById("sliderbar"); -} -if(sliderField==null){ -sliderField=document.getElementById("quality"); -} -if(rangeMin==null){ -rangeMin=3; -} -if(rangeMax==null){ -var _4=document.getElementById("slidertrack"); -rangeMax=parseInt(_4.style.width); -} -} -function updateSlider(_5){ -initSlider(); -var _6=parseInt(_5)/100*(rangeMax-rangeMin); -if(_6<=rangeMin){ -_6=rangeMin; -}else{ -if(_6>=rangeMax){ -_6=rangeMax; -} -} -if(currentSlider!=null){ -currentSlider.style.left=_6+"px"; -} -var _7=_6/(rangeMax-rangeMin)*100; -if(sliderField!=null){ -sliderField.value=parseInt(_7); -} -} -function captureStart(){ -initSlider(); -initX=parseInt(currentSlider.style.left); -if(initX>rangeMax){ -initX=rangeMax; -}else{ -if(initX"; -} -function _mkDivIe(x,y,w,h){ -this.htm+="%%"+this.color+";"+x+";"+y+";"+w+";"+h+";"; -} -function _mkDivPrt(x,y,w,h){ -this.htm+="
    "; -} -var _regex=/%%([^;]+);([^;]+);([^;]+);([^;]+);([^;]+);/g; -function _htmRpc(){ -return this.htm.replace(_regex,"
    \n"); -} -function _htmPrtRpc(){ -return this.htm.replace(_regex,"
    \n"); -} -function _mkLin(x1,y1,x2,y2){ -if(x1>x2){ -var _x2=x2; -var _y2=y2; -x2=x1; -y2=y1; -x1=_x2; -y1=_y2; -} -var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1; -if(dx>=dy){ -var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x; -while(dx>0){ ---dx; -++x; -if(p>0){ -this._mkDiv(ox,y,x-ox,1); -y+=yIncr; -p+=pru; -ox=x; -}else{ -p+=pr; -} -} -this._mkDiv(ox,y,x2-ox+1,1); -}else{ -var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y; -if(y2<=y1){ -while(dy>0){ ---dy; -if(p>0){ -this._mkDiv(x++,y,1,oy-y+1); -y+=yIncr; -p+=pru; -oy=y; -}else{ -y+=yIncr; -p+=pr; -} -} -this._mkDiv(x2,y2,1,oy-y2+1); -}else{ -while(dy>0){ ---dy; -y+=yIncr; -if(p>0){ -this._mkDiv(x++,oy,1,y-oy); -p+=pru; -oy=y; -}else{ -p+=pr; -} -} -this._mkDiv(x2,oy,1,y2-oy+1); -} -} -} -function _mkLin2D(x1,y1,x2,y2){ -if(x1>x2){ -var _x2=x2; -var _y2=y2; -x2=x1; -y2=y1; -x1=_x2; -y1=_y2; -} -var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1; -var s=this.stroke; -if(dx>=dy){ -if(dx>0&&s-3>0){ -var _s=(s*dx*Math.sqrt(1+dy*dy/(dx*dx))-dx-(s>>1)*dy)/dx; -_s=(!(s-4)?Math.ceil(_s):Math.round(_s))+1; -}else{ -var _s=s; -} -var ad=Math.ceil(s/2); -var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx,ox=x; -while(dx>0){ ---dx; -++x; -if(p>0){ -this._mkDiv(ox,y,x-ox+ad,_s); -y+=yIncr; -p+=pru; -ox=x; -}else{ -p+=pr; -} -} -this._mkDiv(ox,y,x2-ox+ad+1,_s); -}else{ -if(s-3>0){ -var _s=(s*dy*Math.sqrt(1+dx*dx/(dy*dy))-(s>>1)*dx-dy)/dy; -_s=(!(s-4)?Math.ceil(_s):Math.round(_s))+1; -}else{ -var _s=s; -} -var ad=Math.round(s/2); -var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy,oy=y; -if(y2<=y1){ -++ad; -while(dy>0){ ---dy; -if(p>0){ -this._mkDiv(x++,y,_s,oy-y+ad); -y+=yIncr; -p+=pru; -oy=y; -}else{ -y+=yIncr; -p+=pr; -} -} -this._mkDiv(x2,y2,_s,oy-y2+ad); -}else{ -while(dy>0){ ---dy; -y+=yIncr; -if(p>0){ -this._mkDiv(x++,oy,_s,y-oy+ad); -p+=pru; -oy=y; -}else{ -p+=pr; -} -} -this._mkDiv(x2,oy,_s,y2-oy+ad+1); -} -} -} -function _mkLinDott(x1,y1,x2,y2){ -if(x1>x2){ -var _x2=x2; -var _y2=y2; -x2=x1; -y2=y1; -x1=_x2; -y1=_y2; -} -var dx=x2-x1,dy=Math.abs(y2-y1),x=x1,y=y1,yIncr=(y1>y2)?-1:1,drw=true; -if(dx>=dy){ -var pr=dy<<1,pru=pr-(dx<<1),p=pr-dx; -while(dx>0){ ---dx; -if(drw){ -this._mkDiv(x,y,1,1); -} -drw=!drw; -if(p>0){ -y+=yIncr; -p+=pru; -}else{ -p+=pr; -} -++x; -} -}else{ -var pr=dx<<1,pru=pr-(dy<<1),p=pr-dy; -while(dy>0){ ---dy; -if(drw){ -this._mkDiv(x,y,1,1); -} -drw=!drw; -y+=yIncr; -if(p>0){ -++x; -p+=pru; -}else{ -p+=pr; -} -} -} -if(drw){ -this._mkDiv(x,y,1,1); -} -} -function _mkOv(_2b,top,_2d,_2e){ -var a=(++_2d)>>1,b=(++_2e)>>1,wod=_2d&1,hod=_2e&1,cx=_2b+a,cy=top+b,x=0,y=b,ox=0,oy=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),w,h; -while(y>0){ -if(st<0){ -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -st+=bb2*((x<<1)+3)-aa4*(y-1); -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -w=x-ox; -h=oy-y; -if((w&2)&&(h&2)){ -this._mkOvQds(cx,cy,x-2,y+2,1,1,wod,hod); -this._mkOvQds(cx,cy,x-1,y+1,1,1,wod,hod); -}else{ -this._mkOvQds(cx,cy,x-1,oy,w,h,wod,hod); -} -ox=x; -oy=y; -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -} -} -} -w=a-ox+1; -h=(oy<<1)+hod; -y=cy-oy; -this._mkDiv(cx-a,y,w,h); -this._mkDiv(cx+ox+wod-1,y,w,h); -} -function _mkOv2D(_30,top,_32,_33){ -var s=this.stroke; -_32+=s+1; -_33+=s+1; -var a=_32>>1,b=_33>>1,wod=_32&1,hod=_33&1,cx=_30+a,cy=top+b,x=0,y=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1); -if(s-4<0&&(!(s-2)||_32-51>0&&_33-51>0)){ -var ox=0,oy=b,w,h,pxw; -while(y>0){ -if(st<0){ -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -st+=bb2*((x<<1)+3)-aa4*(y-1); -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -w=x-ox; -h=oy-y; -if(w-1){ -pxw=w+1+(s&1); -h=s; -}else{ -if(h-1){ -pxw=s; -h+=1+(s&1); -}else{ -pxw=h=s; -} -} -this._mkOvQds(cx,cy,x-1,oy,pxw,h,wod,hod); -ox=x; -oy=y; -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -} -} -} -this._mkDiv(cx-a,cy-oy,s,(oy<<1)+hod); -this._mkDiv(cx+a+wod-s,cy-oy,s,(oy<<1)+hod); -}else{ -var _a=(_32-(s<<1))>>1,_b=(_33-(s<<1))>>1,_x=0,_y=_b,_aa2=(_a*_a)<<1,_aa4=_aa2<<1,_bb2=(_b*_b)<<1,_bb4=_bb2<<1,_st=(_aa2>>1)*(1-(_b<<1))+_bb2,_tt=(_bb2>>1)-_aa2*((_b<<1)-1),pxl=new Array(),pxt=new Array(),_pxb=new Array(); -pxl[0]=0; -pxt[0]=b; -_pxb[0]=_b-1; -while(y>0){ -if(st<0){ -pxl[pxl.length]=x; -pxt[pxt.length]=y; -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -pxl[pxl.length]=x; -st+=bb2*((x<<1)+3)-aa4*(y-1); -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -pxt[pxt.length]=y; -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -} -} -if(_y>0){ -if(_st<0){ -_st+=_bb2*((_x<<1)+3); -_tt+=_bb4*(++_x); -_pxb[_pxb.length]=_y-1; -}else{ -if(_tt<0){ -_st+=_bb2*((_x<<1)+3)-_aa4*(_y-1); -_tt+=_bb4*(++_x)-_aa2*(((_y--)<<1)-3); -_pxb[_pxb.length]=_y-1; -}else{ -_tt-=_aa2*((_y<<1)-3); -_st-=_aa4*(--_y); -_pxb[_pxb.length-1]--; -} -} -} -} -var ox=-wod,oy=b,_oy=_pxb[0],l=pxl.length,w,h; -for(var i=0;i>1,b=(++_3c)>>1,wod=_3b&1,hod=_3c&1,hodu=hod^1,cx=_39+a,cy=top+b,x=0,y=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),drw=true; -while(y>0){ -if(st<0){ -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -st+=bb2*((x<<1)+3)-aa4*(y-1); -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -} -} -if(drw&&y>=hodu){ -this._mkOvQds(cx,cy,x,y,1,1,wod,hod); -} -drw=!drw; -} -} -function _mkRect(x,y,w,h){ -var s=this.stroke; -this._mkDiv(x,y,w,s); -this._mkDiv(x+w,y,s,h); -this._mkDiv(x,y+h,w+s,s); -this._mkDiv(x,y+s,s,h-s); -} -function _mkRectDott(x,y,w,h){ -this.drawLine(x,y,x+w,y); -this.drawLine(x+w,y,x+w,y+h); -this.drawLine(x,y+h,x+w,y+h); -this.drawLine(x,y,x,y+h); -} -function jsgFont(){ -this.PLAIN="font-weight:normal;"; -this.BOLD="font-weight:bold;"; -this.ITALIC="font-style:italic;"; -this.ITALIC_BOLD=this.ITALIC+this.BOLD; -this.BOLD_ITALIC=this.ITALIC_BOLD; -} -var Font=new jsgFont(); -function jsgStroke(){ -this.DOTTED=-1; -} -var Stroke=new jsgStroke(); -function jsGraphics(cnv,wnd){ -this.setColor=function(x){ -this.color=x.toLowerCase(); -}; -this.setStroke=function(x){ -this.stroke=x; -if(!(x+1)){ -this.drawLine=_mkLinDott; -this._mkOv=_mkOvDott; -this.drawRect=_mkRectDott; -}else{ -if(x-1>0){ -this.drawLine=_mkLin2D; -this._mkOv=_mkOv2D; -this.drawRect=_mkRect; -}else{ -this.drawLine=_mkLin; -this._mkOv=_mkOv; -this.drawRect=_mkRect; -} -} -}; -this.setPrintable=function(arg){ -this.printable=arg; -if(jg_fast){ -this._mkDiv=_mkDivIe; -this._htmRpc=arg?_htmPrtRpc:_htmRpc; -}else{ -this._mkDiv=arg?_mkDivPrt:_mkDiv; -} -}; -this.setFont=function(fam,sz,sty){ -this.ftFam=fam; -this.ftSz=sz; -this.ftSty=sty||Font.PLAIN; -}; -this.drawPolyline=this.drawPolyLine=function(x,y){ -for(var i=x.length-1;i;){ ---i; -this.drawLine(x[i],y[i],x[i+1],y[i+1]); -} -}; -this.setColor=new Function("arg","this.color = arg;"); -this.getColor=new Function("return this.color"); -this.fillRect=function(x,y,w,h){ -this._mkDiv(x,y,w,h); -}; -this.fillRectPattern=function(x,y,w,h,url){ -this.htm+="
    "; -}; -this.drawHandle=function(x,y,w,h,_5f){ -this.htm+="
    "; -}; -this.drawHandleBox=function(x,y,w,h,_64){ -this.htm+="
    "; -}; -this.drawPolygon=function(x,y){ -this.drawPolyline(x,y); -this.drawLine(x[x.length-1],y[x.length-1],x[0],y[0]); -}; -this.drawEllipse=this.drawOval=function(x,y,w,h){ -this._mkOv(x,y,w,h); -}; -this.fillEllipse=this.fillOval=function(_6b,top,w,h){ -var a=w>>1,b=h>>1,wod=w&1,hod=h&1,cx=_6b+a,cy=top+b,x=0,y=b,oy=b,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),xl,dw,dh; -if(w){ -while(y>0){ -if(st<0){ -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -st+=bb2*((x<<1)+3)-aa4*(y-1); -xl=cx-x; -dw=(x<<1)+wod; -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -dh=oy-y; -this._mkDiv(xl,cy-oy,dw,dh); -this._mkDiv(xl,cy+y+hod,dw,dh); -oy=y; -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -} -} -} -} -this._mkDiv(cx-a,cy-oy,w,(oy<<1)+hod); -}; -this.fillArc=function(iL,iT,iW,iH,_74,_75){ -var a=iW>>1,b=iH>>1,iOdds=(iW&1)|((iH&1)<<16),cx=iL+a,cy=iT+b,x=0,y=b,ox=x,oy=y,aa2=(a*a)<<1,aa4=aa2<<1,bb2=(b*b)<<1,bb4=bb2<<1,st=(aa2>>1)*(1-(b<<1))+bb2,tt=(bb2>>1)-aa2*((b<<1)-1),xEndA,yEndA,xEndZ,yEndZ,iSects=(1<<(Math.floor((_74%=360)/180)<<3))|(2<<(Math.floor((_75%=360)/180)<<3))|((_74>=_75)<<16),aBndA=new Array(b+1),aBndZ=new Array(b+1); -_74*=Math.PI/180; -_75*=Math.PI/180; -xEndA=cx+Math.round(a*Math.cos(_74)); -yEndA=cy+Math.round(-b*Math.sin(_74)); -_mkLinVirt(aBndA,cx,cy,xEndA,yEndA); -xEndZ=cx+Math.round(a*Math.cos(_75)); -yEndZ=cy+Math.round(-b*Math.sin(_75)); -_mkLinVirt(aBndZ,cx,cy,xEndZ,yEndZ); -while(y>0){ -if(st<0){ -st+=bb2*((x<<1)+3); -tt+=bb4*(++x); -}else{ -if(tt<0){ -st+=bb2*((x<<1)+3)-aa4*(y-1); -ox=x; -tt+=bb4*(++x)-aa2*(((y--)<<1)-3); -this._mkArcDiv(ox,y,oy,cx,cy,iOdds,aBndA,aBndZ,iSects); -oy=y; -}else{ -tt-=aa2*((y<<1)-3); -st-=aa4*(--y); -if(y&&(aBndA[y]!=aBndA[y-1]||aBndZ[y]!=aBndZ[y-1])){ -this._mkArcDiv(x,y,oy,cx,cy,iOdds,aBndA,aBndZ,iSects); -ox=x; -oy=y; -} -} -} -} -this._mkArcDiv(x,0,oy,cx,cy,iOdds,aBndA,aBndZ,iSects); -if(iOdds>>16){ -if(iSects>>16){ -var xl=(yEndA<=cy||yEndZ>cy)?(cx-x):cx; -this._mkDiv(xl,cy,x+cx-xl+(iOdds&65535),1); -}else{ -if((iSects&1)&&yEndZ>cy){ -this._mkDiv(cx-x,cy,x,1); -} -} -} -}; -this.fillPolygon=function(_78,_79){ -var i; -var y; -var _7c,maxy; -var x1,y1; -var x2,y2; -var _7f,ind2; -var _80; -var n=_78.length; -if(!n){ -return; -} -_7c=_79[0]; -maxy=_79[0]; -for(i=1;imaxy){ -maxy=_79[i]; -} -} -for(y=_7c;y<=maxy;y++){ -var _82=new Array(); -_80=0; -for(i=0;iy2){ -y2=_79[_7f]; -y1=_79[ind2]; -x2=_78[_7f]; -x1=_78[ind2]; -}else{ -continue; -} -} -if((y>=y1)&&(yy1)&&(y<=y2)){ -_82[_80++]=Math.round((y-y1)*(x2-x1)/(y2-y1)+x1); -} -} -} -_82.sort(_CompInt); -for(i=0;i<_80;i+=2){ -this._mkDiv(_82[i],y,_82[i+1]-_82[i]+1,1); -} -} -}; -this.drawString=function(txt,x,y){ -this.htm+="
    "+txt+"
    "; -}; -this.drawStringRect=function(txt,x,y,_89,_8a){ -this.htm+="
    "+txt+"
    "; -}; -this.drawImage=function(_8b,x,y,w,h,a){ -this.htm+="
    "+""+"
    "; -}; -this.clear=function(){ -this.htm=""; -if(this.cnv){ -this.cnv.innerHTML=""; -} -}; -this._mkOvQds=function(cx,cy,x,y,w,h,wod,hod){ -var xl=cx-x,xr=cx+x+wod-w,yt=cy-y,yb=cy+y+hod-h; -if(xr>xl+w){ -this._mkDiv(xr,yt,w,h); -this._mkDiv(xr,yb,w,h); -}else{ -w=xr-xl+w; -} -this._mkDiv(xl,yt,w,h); -this._mkDiv(xl,yb,w,h); -}; -this._mkArcDiv=function(x,y,oy,cx,cy,_9f,_a0,_a1,_a2){ -var _a3=cx+x+(_9f&65535),y2,h=oy-y,xl,xr,w; -if(!h){ -h=1; -} -x=cx-x; -if(_a2&16711680){ -y2=cy-y-h; -if(_a2&255){ -if(_a2&2){ -xl=Math.max(x,_a1[y]); -w=_a3-xl; -if(w>0){ -this._mkDiv(xl,y2,w,h); -} -} -if(_a2&1){ -xr=Math.min(_a3,_a0[y]); -w=xr-x; -if(w>0){ -this._mkDiv(x,y2,w,h); -} -} -}else{ -this._mkDiv(x,y2,_a3-x,h); -} -y2=cy+y+(_9f>>16); -if(_a2&65280){ -if(_a2&256){ -xl=Math.max(x,_a0[y]); -w=_a3-xl; -if(w>0){ -this._mkDiv(xl,y2,w,h); -} -} -if(_a2&512){ -xr=Math.min(_a3,_a1[y]); -w=xr-x; -if(w>0){ -this._mkDiv(x,y2,w,h); -} -} -}else{ -this._mkDiv(x,y2,_a3-x,h); -} -}else{ -if(_a2&255){ -if(_a2&2){ -xl=Math.max(x,_a1[y]); -}else{ -xl=x; -} -if(_a2&1){ -xr=Math.min(_a3,_a0[y]); -}else{ -xr=_a3; -} -y2=cy-y-h; -w=xr-xl; -if(w>0){ -this._mkDiv(xl,y2,w,h); -} -} -if(_a2&65280){ -if(_a2&256){ -xl=Math.max(x,_a0[y]); -}else{ -xl=x; -} -if(_a2&512){ -xr=Math.min(_a3,_a1[y]); -}else{ -xr=_a3; -} -y2=cy+y+(_9f>>16); -w=xr-xl; -if(w>0){ -this._mkDiv(xl,y2,w,h); -} -} -} -}; -this.setStroke(1); -this.setFont("verdana,geneva,helvetica,sans-serif","12px",Font.PLAIN); -this.color="#000000"; -this.htm=""; -this.wnd=wnd||window; -if(!jg_ok){ -_chkDHTM(); -} -if(jg_ok){ -if(cnv){ -if(typeof (cnv)=="string"){ -this.cont=document.all?(this.wnd.document.all[cnv]||null):document.getElementById?(this.wnd.document.getElementById(cnv)||null):null; -}else{ -if(cnv==window.document){ -this.cont=document.getElementsByTagName("body")[0]; -}else{ -this.cont=cnv; -} -} -this.cnv=this.wnd.document.createElement("div"); -this.cnv.style.fontSize=0; -this.cont.appendChild(this.cnv); -this.paint=jg_dom?_pntCnvDom:_pntCnvIe; -}else{ -this.paint=_pntDoc; -} -}else{ -this.paint=_pntN; -} -this.setPrintable(false); -} -function _mkLinVirt(_a4,x1,y1,x2,y2){ -var dx=Math.abs(x2-x1),dy=Math.abs(y2-y1),x=x1,y=y1,xIncr=(x1>x2)?-1:1,yIncr=(y1>y2)?-1:1,p,i=0; -if(dx>=dy){ -var pr=dy<<1,pru=pr-(dx<<1); -p=pr-dx; -while(dx>0){ ---dx; -if(p>0){ -_a4[i++]=x; -y+=yIncr; -p+=pru; -}else{ -p+=pr; -} -x+=xIncr; -} -}else{ -var pr=dx<<1,pru=pr-(dy<<1); -p=pr-dy; -while(dy>0){ ---dy; -y+=yIncr; -_a4[i++]=x; -if(p>0){ -x+=xIncr; -p+=pru; -}else{ -p+=pr; -} -} -} -for(var len=_a4.length,i=len-i;i;){ -_a4[len-(i--)]=x; -} -} -function _CompInt(x,y){ -return (x-y); -} - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/backend.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/backend.php deleted file mode 100755 index f6c5f3871..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/backend.php +++ /dev/null @@ -1,110 +0,0 @@ - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/config.inc.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/config.inc.php deleted file mode 100755 index ee31d49ca..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/config.inc.php +++ /dev/null @@ -1,387 +0,0 @@ - - * Package: ExtendedFileManager - * http://www.afrusoft.com/htmlarea - */ - -/* Configuration file usage: - * There are two insertModes for this filemanager. - * One is "image" and another is "link". - * So you can assign config values as below - * - * if($insertMode=="image") $IMConfig['property']=somevalueforimagemode; - * else if($insertMode=="link") $IMConfig['property']=somevalueforlinkmode; - * - * (or) you can directly as $IMConfig['property']=somevalueforbothmodes; - * - * Best of Luck :) Afru. - */ - -/* - * Getting the mode for further differentiation - */ - -if(isset($_REQUEST['mode'])) $insertMode=$_REQUEST['mode']; - if(!isset($insertMode)) $insertMode="image"; - -/** -* Default backend URL -* -* URL to use for unified backend. -* -* The ?__plugin=ExtendedFileManager& is required. -*/ - -$IMConfig['backend_url'] = "backend.php?__plugin=ExtendedFileManager&"; - -/** -* Backend Installation Directory -* -* location of backend install; these are used to link to css and js -* assets because we may have the front end installed in a different -* directory than the backend. (i.e. nothing assumes that the frontend -* and the backend are in the same directory) -*/ -$IMConfig['base_dir'] = getcwd(); -$IMConfig['base_url'] = ''; - - -/* - File system path to the directory you want to manage the images - for multiple user systems, set it dynamically. - - NOTE: This directory requires write access by PHP. That is, - PHP must be able to create files in this directory. - Able to create directories is nice, but not necessary. -*/ -$IMConfig['images_dir'] = 'demo_images'; -//You may set a different directory for the link mode; if you don't, the above setting will be used for both modes -//$IMConfig['files_dir'] = 'demo_files'; - -/* - The URL to the above path, the web browser needs to be able to see it. - Please remove scripting capabilities in this directory - for this directory (i.e. disable PHP, Perl, CGI; see .htaccess file in demo_images folder). -*/ -$IMConfig['images_url'] = str_replace( array("backend.php","manager.php"), "", $_SERVER["PHP_SELF"] ) . $IMConfig['images_dir']; -//$IMConfig['files_url'] = 'url/to/files_dir'; - -/* - Format of the Date Modified in list view. - It has to be a string understood by the PHP date() function (for possible values see http://http://php.net/manual/en/function.date.php) -*/ -$IMConfig['date_format'] = "d.m.y H:i"; -/* - Possible values: true, false - - TRUE - If PHP on the web server is in safe mode, set this to true. - SAFE MODE restrictions: directory creation will not be possible, - only the GD library can be used, other libraries require - Safe Mode to be off. - - FALSE - Set to false if PHP on the web server is not in safe mode. -*/ -$IMConfig['safe_mode'] = false; - -/* -This specifies whether any image library is available to resize and edit images.TRUE - Thumbnails will be resized by image libraries and if there is no library, default thumbnail will be shown. -FALSE - Thumbnails will be resized by browser ignoring image libraries. -*/ -$IMConfig['img_library'] = true; - - -/* -View type when the File manager is in insert image mode. -Valid values are "thumbview" and "listview". -*/ - - -if ($insertMode == 'image') - $IMConfig['view_type'] = "thumbview"; - -else if($insertMode == "link") - $IMConfig['view_type'] = "listview"; - -$IMConfig['insert_mode'] = $insertMode; - -/* - Possible values: 'GD', 'IM', or 'NetPBM' - - The image manipulation library to use, either GD or ImageMagick or NetPBM. - If you have safe mode ON, or don't have the binaries to other packages, - your choice is 'GD' only. Other packages require Safe Mode to be off. -*/ -define('IMAGE_CLASS', 'GD'); - - -/* - After defining which library to use, if it is NetPBM or IM, you need to - specify where the binary for the selected library are. And of course - your server and PHP must be able to execute them (i.e. safe mode is OFF). - GD does not require the following definition. -*/ -define('IMAGE_TRANSFORM_LIB_PATH', '/usr/bin/'); -//define('IMAGE_TRANSFORM_LIB_PATH', 'C:/"Program Files"/ImageMagick-5.5.7-Q16/'); - - -/* - The prefix for thumbnail files, something like .thumb will do. The - thumbnails files will be named as "prefix_imagefile.ext", that is, - prefix + orginal filename. -*/ -$IMConfig['thumbnail_prefix'] = 't_'; - - -/* - Thumbnail can also be stored in a directory, this directory - will be created by PHP. If PHP is in safe mode, this parameter - is ignored, you can not create directories. - - If you do not want to store thumbnails in a directory, set this - to false or empty string ''; -*/ -$IMConfig['thumbnail_dir'] = 't'; - -/** -* Resized prefix -* -* The prefix for resized files, something like .resized will do. The -* resized files will be named _x_ -* resized files are created when one changes the dimensions of an image -* in the image manager selection dialog - the image is scaled when the -* user clicks the ok button. -*/ - -$IMConfig['resized_prefix'] = '.resized'; - -// ------------------------------------------------------------------------- - -/** -* Resized Directory -* -* Resized images may also be stored in a directory, except in safe mode. -*/ - -$IMConfig['resized_dir'] = ''; - -/* - Possible values: true, false - - TRUE - Allow the user to create new sub-directories in the - $IMConfig['images_dir']/$IMConfig['files_dir']. - - FALSE - No directory creation. - - NOTE: If $IMConfig['safe_mode'] = true, this parameter - is ignored, you can not create directories -*/ -$IMConfig['allow_new_dir'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to edit image by image editor. - - FALSE - No edit icon will be displayed. - - NOTE: If $IMConfig['img_library'] = false, this parameter - is ignored, you can not edit images. -*/ -$IMConfig['allow_edit_image'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to rename files and folders. - - FALSE - No rename icon will be displayed. - -*/ -$IMConfig['allow_rename'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to perform cut/copy/paste actions. - - FALSE - No cut/copy/paste icons will be displayed. - -*/ -$IMConfig['allow_cut_copy_paste'] = true; - -/* - Possible values: true, false - - TRUE - Display color pickers for image background / border colors - - FALSE - Don't display color pickers -*/ -$IMConfig['use_color_pickers'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to set alt (alternative text) attribute. - - FALSE - No input field for alt attribute will be displayed. - - NOTE: The alt attribute is _obligatory_ for images, so will be inserted - if 'images_enable_alt' is set to false -*/ -$IMConfig['images_enable_alt'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to set title attribute (usually displayed when mouse is over element). - - FALSE - No input field for title attribute will be displayed. - -*/ -$IMConfig['images_enable_title'] = false; - -/* - Possible values: true, false - - TRUE - Allow the user to set align attribute. - - FALSE - No selection box for align attribute will be displayed. - -*/ -$IMConfig['images_enable_align'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to set margin, padding, and border styles for the image - - FALSE - No styling input fields will be displayed. - -*/ -$IMConfig['images_enable_styling'] = true; - -/* - Possible values: true, false - - TRUE - Allow the user to set target attribute for link (the window in which the link will be opened). - - FALSE - No selection box for target attribute will be displayed. - -*/ -$IMConfig['link_enable_target'] = true; -/* - Possible values: true, false - - TRUE - Allow the user to upload files. - - FALSE - No uploading allowed. -*/ -$IMConfig['allow_upload'] = true; - -/* Maximum upload file size - - Possible values: number, "max" - - number - maximum size in Kilobytes. - - "max" - the maximum allowed by the server (the value is retrieved from the server configuration). -*/ -$IMConfig['max_filesize_kb_image'] = 200; - -$IMConfig['max_filesize_kb_link'] = 5000; - -/* Maximum upload folder size in Megabytes. Use 0 to disable limit */ -$IMConfig['max_foldersize_mb'] = 0; - -/* -Allowed extensions that can be shown and allowed to upload. -Available icons are for "doc,fla,gif,gz,html,jpg,js,mov,pdf,php,png,ppt,rar,txt,xls,zip" --Changed by AFRU. -*/ - -$IMConfig['allowed_image_extensions'] = array("jpg","gif","png","bmp"); -$IMConfig['allowed_link_extensions'] = array("jpg","gif","js","php","pdf","zip","txt","psd","png","html","swf","xml","xls","doc"); - - -/* - The default thumbnail and list view icon in case thumbnails are not created and the files are of unknown. -*/ -$IMConfig['default_thumbnail'] = 'icons/def.gif'; -$IMConfig['default_listicon'] = 'icons/def_small.gif'; - - -/* -Only files with these extensions will be shown as thumbnails. All other files will be shown as icons. -*/ -$IMConfig['thumbnail_extensions'] = array("jpg", "gif", "png", "bmp"); - -/* - Thumbnail dimensions. -*/ -$IMConfig['thumbnail_width'] = 84; -$IMConfig['thumbnail_height'] = 84; - -/* - Image Editor temporary filename prefix. -*/ -$IMConfig['tmp_prefix'] = '.editor_'; - - -// Standard PHP Backend Data Passing -// if data was passed using xinha_pass_to_php_backend() we merge the items -// provided into the Config -require_once(realpath(dirname(__FILE__) . '/../../contrib/php-xinha.php')); -if($passed_data = xinha_read_passed_data()) -{ - $IMConfig = array_merge($IMConfig, $passed_data); - $IMConfig['backend_url'] .= xinha_passed_data_querystring() . '&'; -} -// Deprecated config passing, don't use this way any more! -elseif(isset($_REQUEST['backend_config'])) -{ - if(get_magic_quotes_gpc()) { - $_REQUEST['backend_config'] = stripslashes($_REQUEST['backend_config']); - } - - // Config specified from front end, check that it's valid - session_start(); - if (!array_key_exists($_REQUEST['backend_config_secret_key_location'], $_SESSION)) - die("Backend security error."); - - $secret = $_SESSION[$_REQUEST['backend_config_secret_key_location']]; - - if($_REQUEST['backend_config_hash'] !== sha1($_REQUEST['backend_config'] . $secret)) - { - die("Backend security error."); - } - - $to_merge = unserialize($_REQUEST['backend_config']); - if(!is_array($to_merge)) - { - die("Backend config syntax error."); - } - - $IMConfig = array_merge($IMConfig, $to_merge); - - // changed config settings keys in relation to ImageManager - $IMConfig['backend_url'] .= "backend_config=" . rawurlencode($_REQUEST['backend_config']) . '&'; - $IMConfig['backend_url'] .= "backend_config_hash=" . rawurlencode($_REQUEST['backend_config_hash']) . '&'; - $IMConfig['backend_url'] .= "backend_config_secret_key_location=" . rawurlencode($_REQUEST['backend_config_secret_key_location']) . '&'; - -} -if ($IMConfig['max_filesize_kb_link'] == "max") -{ - $IMConfig['max_filesize_kb_link'] = upload_max_filesize_kb(); -} - -if ($IMConfig['max_filesize_kb_image'] == "max") -{ - $IMConfig['max_filesize_kb_image'] = upload_max_filesize_kb(); -} -// END - -?> diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/.htaccess b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/.htaccess deleted file mode 100755 index 047113220..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/.htaccess +++ /dev/null @@ -1,2 +0,0 @@ -php_flag engine off -AddType text/html .html .htm .shtml .php .php3 .phtml .phtm .pl .py .cgi \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/bikerpeep.jpg b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/bikerpeep.jpg deleted file mode 100755 index a2e7028eb7f434110d0a71588b724b1273f63c55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27684 zcmbrj1yCGa*Dl&KgS!WJcXxL}aJS&@ZXqOSAUMH;ySuv+0>RxaIKc@zx03fi-}jwU z=iK|(xlh$}uf3%Av)A5J)vFhD5xNOryp~mv1wddBU;>x`0Q3~CMb*aH!`a=&*@c{o zl^x)hR8WGP0)K$<#{&QXe|-Pm|JYzq|Jq;x0Py+id-ZpW@b?M;f8$}0{*FNZjOZ}_ zj*$M0{{s9s?&hy753pHT0U*G^$_jw{s{#F&CO0kpUmDK8^Xmh^zcf65H7x(u{C(!{ zzfW)h0Oi|fwSoWuEdI~$zw&|em)D=1{gXqKKVww-e|-P& z1vCKwqzV8|;sAh(0^kE6=>NQ1@_;-5K+ga)2@7X4OTgm8pIGP$5CWheARr(jpdccm zU?L+SW8$KtprGU8V`JlDW8-6@{KbFW{`UZ(A|s=sp<}pH00Y272S8!~0D=Ym#orVF00aPmVPN6l5fG7(LI0}} z1b`v`!-xTZU_cNs3>X$34gnT|!UY1rm=G8WEDl%+HB)R#*N>cVIPtl)l2p{V>b+)M z+-^ZrQt&hh8s}RV=I%Urd3C|G(utZDGJW|TysxIUwk0{J^9CLjhJ=RZg6JbxQ_dKYh7?z-?n6(k=_Y`_5-NF|F*DcW8e zr|7wZ@3k?Aji?d41f2Kzdlr7;`YTD~Pe;d}t_=7}QmccSa>)bOY%WgkikE|=4B}S2 zAEiF}n^|^$-8dx|6a8xc$sQlJdB1Ph=(0B1udPd*T5E$3;O z*Z`USPpZG2ziFd3HN9#-;D3B`cODXiY|Sr3UBfXBTMv8HY|I<(-(459zYrZW8r=Wc zqVoxC=ySm<%7JT(caivHBF9DR!nt z+P;hRYM6_iiewE1hCcIMd2_m_-G0_ztV_^qNK315bZl(Dcew3-X0a2{vR`xQiYZoX zUD%x8xlT3Gd---7ILSCcsly{T|2}bQ!-~|u^5%r4v2o_@<$Md7XW>L?zV8M zl80}TBvEc*<`B@zp`%Mj8{Lc(wO_1z_jDi!6hJBnv2cx0t6s0fOGBe%Hnw_MB1cu& z7GQjHt&4o>Tta7KZ!!=-CuF>STjgAG!{pxP*y^(c1x%`vQ!LC|BA0(oGz1h@-c;0X z$W3qjs=vaGi4I&ABvWZgnDO)ya}V2aE;ZNnf&yCIH-iRQX<=jv`IJ;ePfWF+6N^*g z4G?hVV2f90C={{%VAN8lKZ;8HJFVh(n96wj$T5~rJwmD(4 zTYpik|GKaAu>g^x76YzpA%I4%xMg*v4khmH!I3Vt!X64J4_YVxtlRzG&$u;vAgXWv z1&Hp3PMu_o7A6=j5L%DDL*K{saox`ML~YG5q!@odJ41hwp%J*Aek5rOb_FZvyxZ;T zf0&8)q(g^`g917%w;2o-O0kYCPRqKzY^%o=8z)dey4jFzu;CTBAKo!~uHe19ci@JW z;-yp;tGPsL?ur{JsJ1I-#ktUWx_s6?P~osh$0MAp*kj0}Ex1nc^a#z>x3mdwPE(~| zg|Xzpd-t)~!uf{a=zWBh=S!;-LgV6i*=lmov9bNK2%V5~aXsmH)o3jgC~#+j0>K-< zN{zpbjFOINYa1$0I(SX*D@wE5Ylvpu`fU`{UuR_o<{M6EH2ui+uc?Fe+TCfXpA64f zK3qO3jV!aCCXINYeoz_guw$;Y$OOR2ts|E}>d<5=to zH^u*z)KpD&w$X0u*!AMi8H0eTS7E<~our@PI-x+u3xS#Cl$?sKX=m~p`-yhDuMJoG z+(@|>-?O=A_jy)&hTpAy?TV3hJ84@v|E%iL(qZR%lk7r+Usip^i}%LS;`dH6OR;=8 z>dQ~xNd+d86UZOLe!lxIO=&?xae2CN;pflcXT=khPemJbGDTXL2J`Y`z=h~!eWP%W zv)r6{Nu@6PH<4)2%7H-2?)8x9=aZx8(qHJ`+)*vM##6fDh68A~1=dpzpn%*SRJ5hT?L&A*k!7APbE-;;jJxrasTSQWVNx^ ze%H-`v9h7ES+;9&#c?4v00rm{nY%!PgH^K=1NPxV%WHDvP4P-^Hr^|sn#0rG$=z;1 zfsf^>i{pbs)dW==hX`yZ`&h>2P@vJgvm6_~tZBX7py^lD;c(^iQj25hO~8udi%hi< zT<4400E7mJRoVh)j_oW(HOIppG5SIC=#v;qx!+{Xm%;v1#U~VJBope~} zIyIGl>=BpG;aTLRva$PqJb2Uz!W@tnDWb#Qdi&t8YWO~J^|@OC5GO3WYP*ohiG);m z8hpKTOh#IUJWKxc@9g@u>tN7{o%7RNcWfu!FJMJ^Et-xd+J~9WC}~IJrhW0}(y?~6 zXSjivfH@G@S`{ECe#`wUKq!3jhN7Ia;&WZ$xO-FrNt*;r0B!d}32{8(Sv;19qn?h+ zVQgV18}Y_h=hBwD_0u0~M;sTr&c!lBt7~1w#YbGvjHj2zDducWxI2VUK(|Hr=P%5b zhsMs@Yn`v2m5tp*WU5jm_FdM~7J(WwZZka($MG5vuHKGl5wC3b{HrSKecfNzjqML7 zn)e-CqZEnw+gsf##`j}!!Z5*4Z-;(V+X^`36RuSEudq;=JJ9kyXFfcpPfT-mPspJ; zDU)P%zR$>(D$0{^M|7TC-EeL+-wrT2TvD=i(sJ^);+d3tcKW3R1+LY&{EC-cI}59B z#Q56))H{-6{s=IonK|q9eK(#F+Smggk9ir^KKO`{k0Sx{iS<#)Vd=V)b`c5`zr=f3 zocsH*i9Mt_DSOXXoE09uGM|ZgSP$gs8*fk(x4Au87o8k}0&AXY$Z+vxi+iq*x*;lK z0qQT;sho+M@;Dq|%uy!0x2_B{nq<5l#}$_t;D6^VUY0%g$>L zK>^;O{D9;~v9I&KMqD-alf&sB2TeE#v$L~rHTZ=RG@OMVS>--u6UbHXlCe-ex^OXXTptdKo%XZY$-_!E`UuTod#IC((~ zlNbc5xXsRp1}MP>~|`n!m`BIJ16m@ZAsZ| zdHQas3RY5owJ#sBcI>I$2>V%<6rg&9>akm|eCqV!>21Kq&pa#mz#J_hG4)IO!Naib zd@rrA{ltRC?z~~^TZ1F9m$tUHs#R`bHyxIUX-<609S0W}Y4rR?ryckjK$GK31TTXx zxFHZadz`^Q(&j2Sa3ul->bl-3fQt{*hHAw!iRs&fi@RSey51?!h(4TlKKWmX%D-P* z+c|%Wk^rmHez*}K{JTiVyyKn?QGti8{ZQ~}=J)TrSlG=&N{q+;TZ!ym?dGXpWI-1& z@r(hv>oKQdLC#aRP{8gYBoS#73P6|s)>r>jhwy(ZO%MoxZlmZbNJ$y1s;kHYKp_ACICy)w{L!BS0Dxm= z|3?P@sRnV}boKNB0F3`fw*E(E{_FFPEdEEfaCEW&0Pr8qE*6d!f8+rG06uwnT3P@A zvP~0@tr2qg% z7yuAZtp7tc`w!W}(#PY^x}}_5eBErVZ9K^7%^Ao!1O)iW4jg(#_Jz+>%_|*3#S7$(mfs*~!Az!`9h}+}7#;w8Q_GVgC#MIoALH zU>CdqIL531#sm%kIUNIFu#o|XVb-6oAphF8H;CGRDgXdFWc&Y|`@i@fA0GY#;8*|v z!0xuzf6tGUx+b}~r<>P54uAfZ04#t6paVDn0YC~+0rUV1zzOgHLV!3R1H1-Q08Ky- zcng>VHh?4G26zMSfR8{J@EM2$l7Ms|8z=xufhwR5Xa+ifUSJ6L4om`bzzVPl>;cEX zIdBU+fFz;caVA5eqV47eCU}j*pV9sG)U{PU-VVPhB zVHIF?VXa}kVZ&gPVT)iJVFzL7VE15e;o#u#;OOA^;N;=-;OyZ1;iBL&;i}n7;7#E@;KSh4;49#};iuvE;C~|^Bak6*BFG}>BRC-hAtWP|A#@>3 zBkUtQB4QxYAPOR?AX*^$BE}*XAhsb+AnqYPB4HxYA&DSqBH1B*L`p@fLK;L`MY=*p zMy5m-KvqMxMgD-Cid=&{g1m)%kAj85h$4kzh~kM7gHnvrgR+Ejg^G$wiz<$)kLrOM zgIbE(kGhWf8x0$c6-@!n0xb|N1FZ>d8tn`n5uFBI0{tzzA9^x+J^BRt2?intErt|^ zDaLz@42)Kc1&kX^Y)lSJ6--CWD9kd zVC(|yLF_#oI2<}01spq^&p4GhKXA@*v2eL@wQ+rLGjKa`H}N2Nw0H`54tTM6b$Ii5 z53fjGNxZUr74fR-)%2@7d?I{td`tXD{A&C;{09PZ0vQ5(f_Q>vf;B=ILPkP0LT|z> z!a>3lA{-(iB6FfhqB^2wVlXiyu{yCoaX#@F@eK(ni5!UwNg7E%$q6YQsW_<}=@-&2 z(nB(AGEp*HvM*%aWJlz<|;4D77eqD61*gsF0}m zsjR5JQ1wxrQv&FLwv%RqMusg69u&;1nalGaT;%MWzmYP${)o) zA^?UR$fs)UVcG=M8RC4RN?$J-|K+a1Bxh$8j9(P+iw`(xV>pp z0xP{%N>o}^rcriMZdL(Q6jTyb)>P?KT~*uF;M7#rGSq&mbEv;lAJ)LuFxDv3xYd-@ zjMZGxqSx}&>eEKoHqv+uhl#*caPF9dsP39T6N& z99x~Roa~(joJpO1oTprvT*6#7T?Ji}T+iJU-HO~n?ndq{9ylH@9%G*Lo}r#wUZP$Z zUcbGyz3Y82eVly8d>MTseE0oi{R;hI{LTIQ-ch{!_--peA|UrY=)KwdzCfzLkifkU zavw@QB7L;~I3C0vln`_stP|W8LK5;JWG7TEv^)$g%q?soTqr#I6U-;uPd_5KBGMvW zA}u0EKeK;M{`?eW9yJ=x5uF+hjj@XP5z8B!6$cmR6gM9)7GIKpnc$bOlcc3|7U@A!EhmeVQCRz(dVM)VyEKG67`aSQohpCGUBq> za&Wn4`C)}&#bl*)WlI%HRcAcydd9y{YWvcacYhRmCTVp$GdvOOvM@A=ZXKWWzS4bDM+pqhk$ED|_*SdG7&$w@; zU$=jDKyBd1pyJ@jknB+Zu*7iph{#CCH^FbMqx_@I-+8|`jq!{%j`NH+{^0%5G{HB~ zGAS_GHYGgOH7z#XJ0m?aG^;TCeNK69YF=x8alvq5bJ1e)V98}up1 z##-_^@p|3{!$$Qc?`G$g^w!w6#`emN`OfjK`|i_T$WPRt$@^scr3ah`9fz`qlSc+e zd&e%vk0)WLn5SRQ=+7E{iT@fq*FE36aJztBMqLqH6<>2-_uZ)8tlv7`KHf$CCiq=) z&woGsp!2Z*==}u$l={r@-1egQvI=#CLjR-7^5^~gpDxQkJ&gYr!2bs1U-*y6KRt#2 zu>3diPnX3NNQQtg|Fg@24IKdG{b_@NA^-8F1CIa)3xfzj0)qf#5CFjang3reKya`y z5O^>G2oXR+#sI(|2n+}U`NIedhv*3cLtrprvEV4+u_*xr4jc(iDqKW0Njy_(u2<@= zAMwrNX{2&%&uO{ckO+FGc<8n?c!Mqy@}xE0Wn}r}%;~kXbqMSFrnfIGf;|#LEc5I8 zXLcC)t*$&71q9_4UhC@VTie*$d3pQz`h|vte~O6wl9Zg1nwDNrSX5k6TGr6m)ZEhA zHZV9eJo0UHc5Z%QacOyX@8|x(;nDTY?cMMD2h2Z||8!+wVPIh3;9wm=UUojAVDQNi9AWHhDLqsp9W5xfkCegn;MDn^eKA%!cT1FNR zehVn*+4@GLm9~CcI=p8Te64Ti7nxqxHoAQD@INvllZ>utYC(S5J zb^?T}#g1`5DmTui=9%<*z?nIg?sAOa8zN!~_~u(uec@lNI%Ke(+OPA;0xtb=IiqlDS0(g?3pz>;hc68}wi zGl|m6t0b+**4nvUJX7Qj^b+bw+=d}aNwr0|rVN(uMSo8-Pr*;8H%GZCdP+w9MfcQ^ zl)`(Z1qNl6l1eH84tOWrA#oX5o=f8U!Dn?yTIB;bW+H-#H0)OMmKL91BaE4LxWm)# z=^s}NDfPR*5c`+2#uat=-4(0p!|8C0RYg&8!VA8(MUkVC41oe>sDn@-r}K$1^616L zFVh4At4!xkqwlgj2PKN2s(_CXQO!w=7z!ABNY81!?SNM+{G5FP>0vP4bztbb)iM)v(-F*^t91FKSzBw>I2X-QaYLD`KcXa;C0u?u z&6E+>8P85yp@j4_JmyE5;`^g!qm+i5$d1?x9e*^to#~sB5mQ}_l^KJzn3MP>Wr~>? z>7jSy8FqI#Y~L^}tZeeE3UN&?IIrch_mFeVV7Rn6z94QUnx5-TVEK73R1LIdL zcxFuwRj>6+%NXq~FTaF@YT`5~a@a<3Fb9^7FGcW@6*w_@*EPnhEAV_%SC}B15Nj4o z67(e$3X_dev$25}C$rdf)BRLjIy@7hj)*kN9`pLsj+T--M{yAYcbV=(>iZ0$&#otB zFM1Ns7)9d3SF!cC9$nM`%Do4fgMLNP<$%*_*HTGg(Wt|+kDK0@25vS%{LptQx>XU3 z1PbhOED05yv9<=01qBIPn(?{D!9mI2?`->{ITi{mKlfL@t}RBFc$-9I;AwW}W`UQ$ zVC(ifAIJ9{_a$OsE>?0(HiZgHe7P$RN(glhZ8)3&xG7Wdq?)Qj2QdNzEY34ra&u8#u5+;^knn&v~TUj zwzqGa#j^e2LI^#pG71Z$^@^w$aXBeib<}F3cWNeI$D099?*o2kN+%9i2Xyi($r_}aR0MPkdJKtu(J>?5QSYAF`kMB<~6d)#}3ICn_JM0ET zZ)oA!osw+~omv89gG5+AQ?uAYQX+zgut?OjcG+&gqbwu0dZn@nJ*wx`D=$(Dog6dk zype*-={EXSX;yLVM;9{8+z~mmdxiC)QN(P%~4)kE}3fWGGz(gX#Db?mN*i#lW4bb?rD2STrCdH zrtpNsW2G!RgQ^PlOLcuw*Tg+d__1#yDjF9>#)N{xn{f$P84+AwF1$ApuWx(_OOA}s z>|m&w>7#ZH>p?fHYkUKZ&S(h8ov`lWjrR}Pdo#C0{>tUlVey*JEl|KZC!b{HIx{J# zd|W0bD=aU$={0jGa}tO0mm4pK~R2M3gzp0 zp{N#VCuyDxHV*Pb2+BR?B^3C4fVXB4$>Zx$XDCo_r`0&YFX0pTMy>rf znZ9fF>EVWW;M_~~jmyES@3$TqPU&5Q`l$yyBbayPiZ~e0JK_dIOoUn733dD-QLnyL z%jP>**9m1Dl1J=Zqz)?MLr(c|s~gFLPf(mfT8RwG7&@zfqjELdOlM^7 z#L_H8bsw^KO;Q_~)ZVT`X!Eq-5WwFJvL;j;g;#~3yQ6jvc-P3d7nIfXY-Mw#pNqgO zdDIX6KxQbELyx~YoYrl~PtA{!#bVN1{$BK;n~)pb+6^9l@NcI}-wT|3QEpVuu$I;V zNm9%su+Z$K={6N2TUu{o_S8T!+|M%Yi#j<3%a$KJF~%zZ#m4C~rxSiC02If*KVIX} zq@wL6ZH~B+)k~Tk%B_0Kf}&_EVZS_l;3Ikq;@SG3PznH?3bY?UKm9Jq!3x7_Mnr9<;Fu#w5I`ma6Z1RWM&KI=ZB4gMg`6dqbfb6L*X6fmMZL)8yMnlZ+3 z@l&7IDJ6@X*YJ7Uh9A2tsC>YgMlA=&J&(l$6n=p-E8t)$dop|uT=B>9an7aDs(1rJ zp&ymNg<&rtkBTHEq1}`hdsUpRG#3vlVM3=TmBPfUOP+S>4;2iB0@d3a*&fGh+$!L< z#%p`bFcVcgOB#<{KDeP(qG!45JCgx$L+|k#-4VkxYpA@lI5SeTpJ=*Tl}Cv%QAYMH zWWBFcN@H#Q;&>ig4nd1HbJs0&UcOj&T*%E)OOes%$jl5ugXkVh4yGz&5#1YID8_yH zjQ4qH&6m9A*xP9eouFvCkH9>=Z4fO}-0QHU(0#grS4@HP8zjIhN3C}#d!YE~OR+I@ zdg(R3xhJT@MCe=*t4vHIB(D32!rAiYxRc{4iir)AggD3jLN&T*vH3AY;m9tvy{*lG zt+}!`06ltGc7pvnsp zH*je+VvgsS3`&}~y4v>B!KHHFrjcP#$$lt*^kZt5s^^unxy{t>U3m^|D=`Z4^WDfL36tI&#n;2h>#HAJ{WGVVeo9WvXp;Pl7P)plrSwepwI07)%wKzi zg@rlSOW+FIZeA=J3|rPM#_->wwk@7jCBNLTN>aNE!W7z-*yxfmr~B>PX2`Tq%i{N@DbUE(aO_Y?MU@Jf4O{mkm`~mG&JZ?6u;R2xnZ5mA6Ppzl&D&I zP5`8eH^SIt^k4{RYbCEE+r8RfxNqznvCH|EU;`Vt4F$eW(cj+$+23<>)aib}mAJ&C zwtp*u_k=l2da`W4(wFHo^Sy+J!5mA#7Qd-v*^$kX*shIl>a*>%ICYj-b=yr<7VnCh zxxJe}db;1ckPJIKyLZepN2!8nE>ir=BK-5SR#D%l#% zWZom}zl@(JCR7!7BjXgKDu$d4G$Yp2?aU)`%F^ouHDM6(g+3hg1e*k0@hT2jBf+S>AZ5b-glin1r4*FCy)-vbW)qff19<4@TTO2Q~~>kUXEY@WkwQ zDjF#xQfVuCZ6zgGbz#`JXsElMv9GjHitx+I%#zFUPmjKbwfG17e7fTZSnYgR6+m7U zV%7i2(p$L8^3%sLGGQzuUFC|QJHJOPNI`XDIlVy&lh>7@NQgoY zKvl+J|AxKn);U%?beH&Ba26NjNr)L_{~Ge>hu%EjSGuI>iF>nDhLo-^uk9NiRu)-@ z?k?vSr+syyN|P>h4pO)VaEO9g)OG;N^d>55BS)58{2Xev2Zx14!i`d-}o|55lJ9W>$GKw&n(Sr*7=t z!OlET6&}QJ??u+kY}eCbdWh$oOLihsUT#yJ$uvKw*$7-g0iBg;c(E>h{0%Kr!k%cc zQ3B&xd>B=v5yOocb1z|ZTRQqk%lOd1S$>aP%}KUw@vyC`@0RMOYE|jkuaWfmGKnKYz%@2UAynO0+klr;|vls8ow6iu4RK7H-7U7=4>O zZ3|~u%MWY@bXhE1iY67}4M_hm3uB!1CX8SCpscdgFP0*`vV-0q5HY{OBsfvSiz@4F zY2tVGdDm;d=tzE1=M**i@-$XwJxe=EIQIjj`@=#WJ~Z6wv77c0_4Rpi8T}l%Z*<%<`;pf92CvK=kB$hR zn=^;+8EyEgDv;)$}fAZx!FD_ETsgg`%DU$`bR9lMp_gDFi3#`>qR-ygiw1XJ-r6 zFQL!#L0d{Vt~@+QuOeppIuvpaE6-sg@mLk}A`|FwVg$H}g@1cmthkFc@+FaYX_z|& zly=jX3RG1uX0$sw+c~^rCjsZx1=J^wPEVCJ7c`{9RiXYS-8;-_X^5klYp5AhB^2bu zDh}lVP?f|B706?P&%fjL2`A4CQ@^%(Em#8s$O|e^eh5;)!G-IjZGYu|`o4Nu{g=q$ z+m=-v&ndG5Sn0T4;}))@Cw0d$Vz&mfb`IV|>LB**^fc;{FU+oqzow+GTI2^+vPb-~ zl^ZUpJu4N!9fIX5X#q1=e9outt!*hZ4HqOLM$(LB-mlb7PYRu&Kv>-9#gEqLm6Qyw z_#tWpk6BUD3=&mrjU##*dUD4snDD{SbX(!%hKU^D$b1*h&c`E+sozW5ii?2yeBAbG zoZsWuxmc}R=I4u8Z>QBJ<*avu=$_WR14;JAB%Vr2%6v{I0@N97s(EG2XC+V|YQnSB z>+7-Xv?tAd|J~qfps)MJ!$Q7Pv^HzMk|iSmGoD+98waJEd|7x$OGNIa*oj zc0Q9DBm}%X+X|LdrRBjy2DjhTXjqhZ`2&$dD$)x+%zk26E}18fD75J-FpXr*eJ6fS z*=9Qyugx0;DGAMss-FMcD$-vYw(T~~&E)7oE*If1}pmuC~Lu`oqTz|f>pJdHz*;n#rT1h)5nqUM=S(w0K zCBgVxb{ZS4FG4z$spLTg0bl4yjh*F?3l4MEbkjwivtFY&_M4V4T4Bjw&Qxtm2=gQv zH`!c-c6{#`!-7io7Ed#I?mw0)<&)c$Ab z@RVbjg4Z*r40oaho>WpxrR z_1hlGK7}c|C@IDcPQ0lbt8fBAk7A+io^UJs-Z&$&i?)k9Y z#~sQq`CCxnLo&T1l|%&?18XZ#u=Q>c3ap(+=ii})@)kQkkZ_-3K8sCFXQjj14;3}e zW#t5tG=5%#=-f8sK!Nn6ng0Fa@FYR#?2@F2!%@k|DRqLvktn>Tl^*Sde35LjC3SG= zEQ!HpN}2G(WWgzX%KBtp@loncgAJ;d40ds-e+FH zZ~#N3JWK;Su^7hnitGpqpvzl@>vQISRwA}us_XN%y1k|5t!R_KRfzwF!=+k(h0N+IM={EhR#!7UF8y@Zn)#+B-%tG|SSy*ZS zJ|eX)SF5u+@GjeAC8Ie@hm!`@Mzpv8_PSArOf-(9x1;Ho#);9^Qv1)kqHybzD3q1Y zVrsF4ekZXj;@7iZt`|qSLFJsSZ=wT4NVvT;ZI7_EQq)igJm`4@?NwIh22?oC<33WE zVDGAA@6A!~yx8Ar^X-nqJ+7=^daqxtMks_Y`6HDRWKQf};?(UD!d;GSJX~Xxr zRS?!3g7qnLgR5)n;>*gHwo1lZ@YWb=I^0%zJ6FYYbq#1P>O}H z&m-!ON6ETH-xl(I$8U#xV{1m1Xeiodt%~2bdqS67RU*T;bmoXX_s~r&+@G#&6@=xK z!OOWIwqy7yhenl`+s@|%slGkiJYjimb@k^mb<{_y__4cY5R@}BX?AhYZ$N&drK7EU zHH=Dw%c!EKr^fBlPc(8=M3G|O)or0mf%WERWFyZ6cHc)?9*)Z*K`f#Y3T@_VwL_I3 zX;47zSg$)ZP>4~~;8yOO84a%+e&*TY-qx#V*=X26O)E7$fq;=oDA<>lk-tW(S|`dF zF)wvO?$dC-9PzeJR+(YU?Lx}!TZMC}4GG={Y8I9?v``o|vrvRSx(rvV{M&T2ymjkD z_jR*m?T?`ugN0@YJld^Rf;B4J_gDvmMBpjG|2XbN{H^Yay=5;XdHvo$J`Waw0M&>aj#Gv}mt6p-ST6tF zQ|Yg_8*93v2WOdsOG0NEUegK+wR}y->4_xKmzy=e2{ZQ_n`qbiDoHn17Ee1hGV{}= zVhai*+k``$DbuENH8Q%6uVNdYQpVeVY>c)KT%ORsi7(ah)zY10NDvp+w1SuTQV!d@ znP1VmEB906D#f9y`4Lv>5S*Wc6R9S(Uj7nhJK$~A)k&aKx^B$b?w!|;jXWptWGwa0 zy>M_=?e5j++4v8w)6C#T_SqV~3t~JnZwbV*M3~Yd>Ge!t<4PxEA z*G)dHoU}7fE{?5ZO(wUrSi|5%t1)s<*4w~+PG)RNlS6M@UQS8Si#Lz<6ygBEzN?eb zU1(s@{R$`)%OT&ZdZSD3zUTKAQ@g&={yAdi7rsloE)?u{7IA1g<`w2%=Y>YtRbNN% zrJZ`@cV$1Xd7@x*(c-tqbA9bmqi9@I^*Y^#1M-V&^l^Q#<#P7xlvl!<6P{_Bsfjuw zc}Bm1J7Yp!-LQgQTzolsye#F9H{Fph0_)S`+YPcNh2^EgASwoka+#KmJX67fh(52J zs~i(I#{#0g-Lx%1nVVX`9uFexXH;AvM034ND#k1PU7N@?aTD;4(ZGfDkES}dSv(Wn zChmn91(+F_rys&Sr)mZ6nr1#Pf!`Od4o71-zcl(TA5g`(qoIWr#W3o<8`lv2vSCZi z*ux#GZm(rt1KV3?u+HN@MYa5ktM8-qn-a{A-|YvLI1xm%!$PtOC!8EZuMA{;5ak7H z*pabR&P(75&WB~u*|wJaXsHLW2yNTa3iTbw2MTF17GF^6-UTP=q$LMCGA z1G%mG_=zTkUT(tTH)@B2SLzGMzoYGUIR$C7P3#cpf?~BVFR!40>acX6qmI(@22+!! z+MtN`+7kBeBW0DYZ4rm6dD9w2u&t7j7IAWJqCo4BExrOhSi1#C08-xn`r0ATy!N8k zc5ZwZ5Ud~^Dn){fV%=w^BtzUv$N51qh%YbY*j|T z6rT()EkNg%-Xbtc=&sw$VMJ&$9j58i(Fpe|aEu_uX@4)#hXTe9CDeqZB}OW^)o+Am zKpHJgrzS&cJn!`*UsVpN&!n0pm#LNR7oqhq2CPaRy9CG=e0Jd@x5G**fhRkU0Z5N5uo7y4S;iIb+U4X`$=9> zl=JY^wXrvI4cX$q4=j(BY}RxX7QGnz>DtO%XvCt$DoPv*OMB#Iw8*0AN$r7`Qqav47oI=^?$ z$Y|!AZ5AV+<9EiIPVg~D2Es`1HV{?w4VSdj&ll@P5@euyQ%Z)3i%-^{KKazNp1F zjE>H@Be26cbL~sZ10w1w8bznGt4bUQ-B33g+n=v1zoFAFsFKc_s$y)ueR@7c;0UG>K!Vdt zkfHXA*T+_W7wWgj#I~A^?lqxyZFPA%!n^N&Q#7{fzf$8TW^Lx~7Eo-Xqrv^?e=@Y5 zSKhb7hu7P$)nms;BWszzJY~7fKEha}dr;f$QHlxSQpY{v{l-q7f>tfn1r@ zYndsHSI-L#E&+w}2CoECgH7MbFE^$xizL-Sf%Zo;;i0+8wRRzf;1wZfiqKU(<~c+0!K^TNpRjxFU~jC7Pq9{4xYnW*L2EO zD}`Q#VulT4kHxijaC^$%Q)NCE4{qHSVTooe3neEaO~l9ycZspc$!+7ZYmT~#{W5KF zxEoFq(6_Ky#S(BP&P6g+*qy@0LL=1DK??dJbJhzetY*@TXBZllqMhx5TrbdQ7~Db5ooV_u3yzN8hgtOgkBkI% z{K1m$GfnmcTH$3CUge{^7Pd#UrQddQ$o#pJ5?__3y#7JQHS+VPfRT|ni~unK<>-h6 zc58RKmNuh>3FgX!COrIvXaJ-`#u<&~6MYeXd~E#ny@$R(6sR+(ZhL7V;4~iK`{MhC zg*LJpXFMh^A$1;sx;SF}^+`x#C1-~z_mBk=BK=3{dP5nz2d75Fq&Tr1EhBErLjT1U zBk`Cs+Dv@}tRpwe(-_w6*|ISHt)IXd(z{D|NwJ}>tZ$y$BbC)__P|M2Z$-hXf1kRw zUk58MBggZ~;+$uF`!_Y-m9RWpdu}}$Pt8xb9Tc%jUB6xyzn?D9bLoIc* zX&zt8(D;M)!WNr((JkGT{bQyd$_;dWDLDenR5vm`5~HPN9+^k+Xlgw@Xr!n0u|~DG zA)}^6bXi5Tly2*=m&%vrAVEIU107#*+tIR5LxOieVrdl%iwV?iR&?B-p2m(G~! zUO~|hIV|c3)i4A%Q-d4Lh2Gsqy97KLd%jo@1UknhB7)bH0(3#c2oh3rm%)gqynVhh@3rA zD~!x5^q9k~Rlu)Efbj~-!?CjjXAzu9mGZ@r z`p~VhRy~oII{?(G*~U~V9EUFzq7*o2_ZoZqmpg}3f*bzf3`$x!_$?RrO5+(Lz0r9k zKP(Pw+wGm_7iOt(^iX?g45xTxh_uJz1qU8xJIDKyXl}K&6O2}PH|sK+RhcPgwsEhG zq#^qs6N7{g53|%@KHD&e&^J;hUCvz|bqEDhT&gfN@yXugtrDsuH&PA-K5g&k3~JA*YtHp5302&UJ~r3# zx>38G8mx>JZ!0SDxxDLF5SiPozLx3W7Pb>pDcSK@c^+!P>d?su{HT2HM6Hjs(}Ymj z7?7YyPpakgQs&q0J%4)&`yS$Wn>Bf2V^fbREf{FwC~_F`u4(gXTCIWqefQ_mrunrs zqVyP)*c8n~tv!o^$UONhQxFMafitJs zPmolP=r)-R8!NSwxKM@@($0siuBQo7w?6V=nF`R|22r?pY*9<`^Zy%Edj3ns_jtZ2T2 z5-YgA#1@xUWiA5D!ORIewnt`pr6r8hJ(m~(14Lnc?MdUAdp{4oSq9*0)5r!Um-11y zN{MC5{+|H*CIs2g=b^Mv!2m050!F0Of&hV-&=w(RDnJ8(r~@5M+#BZ)NSMra&B2YoVx;qN8?Yu~m4}mL3utf6!IsgeqcxW!~q#wr~lHn#oY zZ)nzL<6Xp#9jDTv)F7Z$00B@ir^ssa=``DYt;NFJ%^s!-Mw4A8wDjS^rkrR!I)#bG z1Ap(*GkNtFkpT^z`j2Pb*5J z#>j461V|trB#l$7uvJCzcBxxvQ&(~mg9%iDEs*F)dQ#Byeu__=O zhv&X$i+twI_i>JQpX%-3XueF|O289XX)2{7c06xO1_dqAY(1ik|6{`wl zg{4~uk4BFKRn%1R_34`>xMqTota8%`%pkQZ8Jbto<6~0OPp&#?yp9!0*uJ6)9$VXu z3QGz*TTuX`W~An|1n~a=ReEMLG0DcIy#CKq#Qy*;i}vf^Rq!;C{nTG2qqP_QLW zkTf+M1%H?LdZ&MoeuV{`dzQY`HSHe*#qCgG*V$s-3! zDD(6+3r{1fm!&GLf7S1;T#?Mp&)l8Myw9jD&EzGepdo&uIb??9sHr+yXx+HuQC}{x z&vo1X0CjFxyJ#S!4pdU32fPgAk*b9L%yhIawpS2I;_`T!6@n&W#iU!h7qoEP1`H22 z=aX+@+V=4If0LsAzyH_So}CEMGP{Om5uiXsMTh{%KxI;FO`4@EmaiA&!??FKl1SEjbG$v#_rMUi93U={y=Ohos%5Z<2hNocSZ-U zvRfv;o_QmxrR=S>z4BOm*Ii_gAeI_x_~Q~&OB|3HBak^L+%~I7hl;M?@D#wQ;3?(y zetdd4x1Mv`D5|zY4}{a_$K^_Xd9PL7zW!$Q*6+z-w(m@CO^x035^kDYKKNYD*ZB=Y zfZfzBoW^4^TPvz}_So1|`zIr~vXpi55t)3QWfnaxS@!eNMNv@*ZYWgTBscRb(Ek8t zC0`JlV39&p4>Cp#0U5&3YB5~@0IU8hq0e#b{;$~`A-uaUe)sJyE%66;^qp-K+Zt`k1xv{ICPRHxrC>L2B}=z)Gg8t203FIz z(Y;jg%RMs{3G6ev*d5B#d)RH*M{#vyJYmT!+TIsH#fC)*)qp8LxZ}}{yRyp!%%7&L z82y0f6zg%(+0yQ9;l8&{GPXRtyPf9E?W&6AoguA?vW+r$I*h#4O$_3nAngOq9H|qq z)Q-0nJY5N+b>5nP2ngT7uAN#;Crq3Os048USIepL69QT7=`>`|sw%Bmbkx*^AnODUAOlW>8`m#wiMm@^a<%Nc zipYhT0y8{k28>jZWpEXwpf>QmwYNXY}pk^W&bacxX)_u3tSPf~w{R5r=oRPj{P zns}zCt!x%k?6mmQtWL8C{Gu>_2v{CHrGnWfTiKdL7TyyPT89Nxu)wGQ(u7pkK3qfV zCxa&5K-4^B$CVYsWO@1w(0ux%HS0|5d#??(Y2Xs%viS@?GZ_?7Nh;LWWh!auXciQS zC6ZVso}~!^Z=>*jgtuwCn|*6rTR55S?wwyrN zn$ntTYf68s*R7bgZr7vOdoOA1Y;{Z(l-oCM;`XFfalzq^vGBBMO;eFtc%+eOwDhTmYrcb z-k5%KVWrWnz(o;;ftH@SNnA$2jN>FNNt;yHU%S}O#p`?t< zJl=$gmNLxRK|bDxNMi2cRY7W>kR<;AA^xg#it<*CYJ<4r?Ee5)pUbTXKbUXxEbhPN zJMyZRq&_4;y=%JGlX=V5pBMJF0z95SaPFt5!DR5e@4hnU9&2&5c}~Hj6}bqq^-;|} z(AYHV9X#~Lqa{4*V!nH8b9Sg!?5Uy6QZteQ(++C7h$-#sth-ytw)n_DA3=j$q+#Y?j{g?2`SV$-Im zbMzU!t$t#Ps()XL2@Yj(OH);omX#%1NTLew$6@w6 z;o!n->@<7RwSSG&L6gZ>W412G%2h=Sv$a(`xjdabLS$&CjuKg4>MUcQZ-NgHz|o^o za0m!VW%!%|MNgg^r`bw8rR%J*u1zcQ2OU*U!Vih-+TY6#U9FtXXK-_N{{YBdbhDZ5D?NX%*unw&)K7Cpr{}BB?Ee5S`TB53#-F5rXf^$x<>(vSpUeLM zsWv@x?rp`{`_pr-I)+S^af)JY$)#$7L?lEKU2ayEGPEOt z(}^ahjRE@z$CpZ$)#i^?s)kfHl-%s7q18Ji7WxZT%|j}=Lqp@yeLDv?p8NdxmFP*c+x z9c>-)`{rLw{Dj9;c80>s*5i|OR@LP92Gz*b(LQgkvz75vWUF?5>Plw4G&CZmQaSuf zOIH&k$1&8%oR;?s+wNiZ)0k!1H@gWSm9=;`D~o%mK>{gba&=LZYh;jXQq+(J>RZ{j zHQjAeSm)M28ixX`e3)?iG~@HHLf3KZ&b#>ovZC4h)K`B4k1LAL<7B|)8k;3gS3(#o z($>?Vc=0(}86~HZ034WPxYEEd4eeXC&dqYSwvwcOq`?3{;*ElQGeBrEIE7#icyub* z_p9BC?XLFLD|AaK1b!3e>xKZ2Q|F$tR&0K(tE1Tqk=QtVl67pb!>}dFV}FWN?OHl` zJP^@Ckjs6;O+u8(7MgjaD;$U=3*=Q`mA5U#Tiy6ql161Zr9j6_i&Do~9jscl1BfL0 zn$T|hq;u{pyNsXXRPl-(3n}1D234tsVexwU4(+}m#caI&Q`OZxwY1HHrGPXgUR;7q za#HDyW08^yI2}t#bs@QXdvZI-JOgl5ql!+&8h|X#zz{sKL+8;+f^#Lhs*0)Ak42{s z<@sl=Yrb6n05e7S!}2$xqw9Q1Zkk=0*jpF0ds`_-Q$QPYY(2ZVXQj+_Ceg^&Q&+)` ztk2>gkkn^lj7>*X9Xxc6ra8=+ZTDFAKF0C^&->z!sj`0x!UL&7PM@qU7_BRkaf6K4t;#C0RIp}h)|tg+1Jy{>GZ?0) zmRc!+o}A<{{ykQDll zF0qQ&yG&$dl*$URk#$KB<4BaRi^!tu^!i-=Z|!AqUa8mr(b;Y}Dcl8el4!8-s8%qm z6+o8NV2bCPB=8eqkZ z{{S}5gKI)56iF5?41!4{G)AO_ceip|+{Fr5w67z|sua?Na~K0Us<@^*RDNbDW%X7P zqd1II54j*J?_k8KQ za=UMEzS7In=Q0?46=ph*6(m)a)YbKv>@us?M@e3?u@3zu#e&YaDHK!77%W6;0b0|- z)j(>^RdT0Lr2!N@F=8N@QV5bpfIU<-dyQy(hn;DjsxNkL-og3BmC1A#JGW@vvAcH_ zvOaQrwc1NV{*Sg+$~c%YIZuh77n2=}#o;%W_1-W^TOLlPmX?vK zZIqF)zq)!mC<>&gs2>eN(R8glN~*JQa@ai>+&-pdP&5X`Do69LRyi*B*xOG7fZ5wd zf`=8hwocN+Y~7=`aY>^YhT8i}5l4c+Vd$Dk3rqYz7mkWEG{M?yG?HDNiFQlqZP~-z zGs*J6ub8Q=Pv^s=njS$#!LLP2u)9fK8S2uWqJ1$)Wsa3ns;)+M=9VEGpSd(2TNWgx z*xUhd&f&~K7_?-XaRB7~gZw_8eJ-}!@hDiU28>-<(EmJ&jJsge7yQI zk7)s4QmH<);r^~YRW(OIc5cVtG}xVyM?QP0vXxTH4mP^Jc`7>QNsClfCL``xy>1Ss zXuw)z4C^au0ex~vX?@JQZT{5v7gru0^BADgF(;OiGfZ)6jUze0>Dx`B@g|K^Nri?< z$sd(PeqOm99G z)NjvDUzo0x03#7Z5CM!RCY1S>ug}W0=oH(V<92Lpu-tnaJ(}8Efi%MgYj0*N@b%(~ zIUGxlnmSp97D9_6#s-=yh^3EIT0v2DBCYRc*?E(0ZL66!n_a_eZZKTLlST=s)}A7k zjm1uujg*R#IP?{_xt`8LJ-n>4kOm1D^rsB`>U}BIfb_@nOzcj*sq*$F%%|*V*^$#b zjNCaLyPHS~Jur>2@=a5j^~=Pkws(RUY)zM$w}JcU@bPpRN|)2kubf6hmt^N~~2Zc4r3 zv(h->jj6XT%Sz>px48A2v#l&m;Ev^dEeb{$$@CcUC(WLA3iL zAz6o9ZC!pt2aKcL(oJ7qRZ?lGX)CCo9Z72Df(aFonPFJwUnQFMuPgoBz1@53m)&_y zt+Yz38JbISssasCBP*~YQxFXS?V{$SoX5@_w+u|vU!zQTX;~P7nva77`FVMst6Snn zTE+apf0*A(;rABbmZPg_Hw`ZE-}oH7Xz`wz>O_6rx^Y>AfYirIyRtecaB4|aYP_st z(xsU*rbgpHZnu;2J1Xp^u0tIWp#rw|V`}=sB>NuHVAS#bN zDlt)-aLB3k9dE@R@-@|Ub#t^q>m`<^M~tXhC7NR^h@pQ7Wr z7*=E+Hs-;BJlGqLZ+&FCwN-x4FZFr!(S@j>d|$|Q|I*n;ibqoxr4Gb3*&>X_q88S~ zu$Z$m%>MvV4ag^tX^?1Y0oZugKW9~NO(;5arZBK&j3HzUZ7UMRvx()&8&W^wxUnu9lLzhap3gpvUF$SsZnCBQcB5Qc~owS-dTMEmkuvgv#P; zB9kAK#O7!!CZ(#TDI_&8%F4q}2EePM2~-%(K?i{cAMB5q2d3nVNUWq9k=CYvGJleG z_UazZ>`w0ZEAnGx^w(c+XkuN%&^@=c_crCh(PPAiB%4DUmZZaPd?xzYIEu9UygKHw zvF0#R0pP1?SMDTA_N6TZS4y+lu4?SdAg2oH$sp591_bdS3iR9;tqkc30`)ZeDV)}o z^&M0GZ>PRrXV#Oi`#-(&*$sz)r_15u*) zc?ub~KF~f8G>UnOf$8c$mqtUcy1RaC>=qAd?RpxF4%))R(c$noMr?i?67`b#YNdvW zLPsTDPH$C3M1`uVr5fdx+UM9|+j+j2%XKZplTxOvK+ggPYVe>G0)xw=1%0+1O0bN1 zc~|yyVK&ag>_?_WsI00ex}58&tE!qd@-(t@D!Z2!DvNul^nd^Z+RJUHd6epDv_gD~ zn*PyWE|`1!0@_m9Y7IYU?C46T>dd`lgZP5Ej#$gB<0{iJ2tMVJRdvdU${&Vyzt`E4 zY%<9xH*%{ltvG+H*X-!G_lkfPIA{SrpW*3G2gka4hNyI)iKUf+4;*o#OXWqo&lrr$ zQB(R#xi=AuFcu!{`wfz6iD5tqBr)#e#=d9e^6P7VJi$Xq#!o|^+5T_v4wZNwlAy-O zQl}dfx=#g>T2I{tZY0ql)J^p8be>1DX}NaZ>=ue85pV!}v0CGa&)L!aw(BLUtTKbB zk1P!NdDr&vr$RjkP~yZ51rz{CqBH@ynnqN z`+UZIIynBYYEpC>{JO1=<|q8V_b+elY97_<>^JdF)$6(m=xR3oG*0#1hp|SBj0wtxC;NNqfl;xj&TUJAa95D}Rc=bt%F4Vw?d3g*epLC!n7H03ux~ zT?Ha=X`GV0f03`wo?cyRV^bW#suEP5o_bn|=4v$sx@jUoX*LKNpyk6EQ9qRMf~l|7WSLo)weU@E&Nhz+gYlsQNS<@gX9UX9)!CF z+}BBQa=bf`6u&)ZY6C^BgURW(rYz1AZOC8aB-=YU+@zKRJXpQi)bOKbS$ zF+43({J&?P_&QfTqgF+kD?!JGD~^Ul%%8TFq3c7%rCunQ6%d^$j3RJ>-B@ZZbR=rE z`1X1vZ4AVUX~*0CuP%vnFN>ozuV4Su*yf5x49@WisXTF^A?8GnSg@Kj6GZDQjKunz zNU*s2`(Ofibyp-(ho>_>s+DOPGa5nxntvJ@7fDnNCB1%?<(;erh3)UhPBif9s-T1G z*A=R*l6M88e0jO0J{MY#ASI?|sxd7&q6iR0q1lb>&Bz6mGwN{Vd=tW-6@GqH{(s01 zPyt5xx(vGuWYX^ZbH!f@)P2l)T?(j;nN^tHoa=V=XhO$Jl{Vm#rP(EO8!5`uhx)xZ z{{V*_GM4cP1A&_V0INUh9TA-0#$Bu{>M8~Tk_p6;28p8bq%o+wI=+u7cWBPBBYg?5 zupYv*+bhWPx&;LJ56jEfiRi&3Z8}2{Ur+UatL^EUyW{o=kcY)V6+0MWh{sPHhFyBy zQ^N5p7S$ETt_{h)lfxbnLsEpHpahOI;m74(w^sfmU$>YRp_Pl%cej~QHbJK zeG!^ui3XTFN<${2C58V0AbYq9wNV&c{k1>p{{UmEurvo2IVi{cq%g9PY!{3oM^mVP0R$Q!*`A2q0cHaRzv}sQtzXC=ARt718$GE!Ys!64mEpH;vQH0E;6=f-OA@roPo)in(;r{^Mu;?;eT1gUC zl>oYaWoxJ9UoJguVF!a$)6XBz9ao-PVRi;Gt*A16cfY7B)qr|xjh~+t2+ppmN-jOi zA%Z?R2hx8ZUw--7sB6311{^_=Ll4N1dUas9YUsC-spz%oYqEYi_I~rJfK_4YwuT|3 zMxQUZso5(`a%p!Mt-6ZYI{L2>viXHIIA8<1+fT5@@$L^TZShGRjnKc`D0IgGsyD8w zFaRGTT2`5-OYL@R>zXr1;X+3j2EUT={{UAJ)wT4$Ro7ssv0Gbf;%g}}J9-$Qi5gGx zxmuy6si?^0>J?&nGFe)=WvQA=CCMs)BC7j=w~LL(e7d{4ykPg&4Xv?A)DQxy(uRtl z0KX5J6)jl@Y>wY-j@~phiBx2QD&Bl}l6=1*j;;ryDR&MQj*f>hE7U;Ks1Qpur%Jp_ zrI$|-yiPqYbhp%B>+N?h$GF+ers2axa0hliL&4uh0Ei=ptc%6;u&g zKg{rAv)g(7fA%p!;P=73!{~sZO%HG_!b7 zbSfhPLRdrl;yq0ET`?<*sB>kxw?65qsi>#~eq)E9`Fiq#6xWaXy!yq8T$E6xc~_&T zt0m%=qM0Q~W{Nt7XnZuX$W|(eP%6x0Z6xXnZEtDd`jV>Cka0|KtxxA#AND%D#uj%m ziVR@nkDWl_UY%qwBr6*tD_D_jQX!8@qauIo;rD9v=QkhLR;(f_LAlkEKL%(hNOH;@dM;X&;6fX zltkfLIT-^0YC+)NBl775SA?aflpqsM^;$%xHE$AtfC&RGm7_9+0jvRLxg?YAH`5?j z8r(B22?mGCr!^JDa6J0fqf%@Bul71kRpK2QM36?MF1v9xWc%D^hd5!FhcsJ*xZ zdroYWg;X>mnLJOHerJjK^=({9uSn6iXy>k{nf%L9M%9$55}6{4T~aGZY7!+#r!?`P zFp>#IH(Q@&M#?!Sg|)b3)j_}-(~ps*F;Hn=pGwx@p+`c&k?B##g=zjDF1fxcmPsD# zsM1t|izkeUXGK{6nRO_cW0TVM(#P^o9_(#l8iuan{Q9cgOoK>#9zW{)I>9Ct8fj(w zTT3m|#~X=bjJZZdiAt--5#ft^w2^PXyCy9Jc4y_Duj3C>)Io@jS)P@cLgi{1stiP@ z?abjSfQQQ@id=wKMx`drZCCfOk`gEgKeMfPqmGh(-loBXiNRK3vg%<{ z%BC{nB;+Rs$LsAxFf%eLfvZ2~>8TvCB;h>=PqESXBvp}V=SCd7V;C|jcYQ9|-z4P&htoLN%Os>tr)ZJQk)rz1-c18@r zs#2CiETsmLeMoK1$W!c+^KRR(9=DrpG9clqBy9Qd73suzRGkvAsLdFTi`Gx!k6UAA zVT;dQ(yL#U&)juv5nvMrjm6&ahbU zsPKZSE|v;F7Ci7l9?+WzH4q~pdhj1@Jo+?Cw{cNGKGR>>{tlGG12WPzBN;SH09gM3 zag1Y05-{@UAO=O@Y!r}qweJ4_(~TY$qfh1julTOECI#5)?gNkI{;YNX)!04{_y=lH?uB_4-?Zs{{TAw0P8{i_C3;1gYz9YJ{9RV zS@o*_0G28L09zsUow#*wlhXeHz!CodQ3w8pm)$z|Ob7hrzwlYV>q+*8Pwj2K*8cz} zTj?p4{{S*S<+MNhuZP)f-}dM2AK~fm^?xp=uledv`C{MoxO-h62K##3aXnzG{{S%` z{Iiq(w;y#s5AEw-XRk;902fMs`hEWZLchJ+e{P?j_&U@4C#=-p@G~X<0BUK!-rw5D z{{XkS{{Twg^nC`o3K?pVB|&ivIw;&F;VGU!VDUbw9G3 J?H}ap|JfyuM0)@L diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/linux/linux.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/demo_images/linux/linux.gif deleted file mode 100755 index 3f42d2ce6bc9fb29183d140a9c1a21081609d9a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11803 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

    WHL~)s^!zXXwgD_O8t0mJ^gR26?(oS2@q%eD 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 - - - - - Xinha Image Editor - - - - - - - - - - - - - - - - - - -
    - - - - - - - -
    - CropCrop - ResizeResize - RotateRotate - MeasureMeasure - MarkerMarker - SaveSave -
    Zoom
    - -
    - - -
    - - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editorFrame.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editorFrame.php deleted file mode 100755 index 30fb3109d..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/editorFrame.php +++ /dev/null @@ -1,84 +0,0 @@ -processImage(); - -?> - - - - - - - - - - - - -

    - -isGDEditable() == -1) { ?> -
    GIF format is not supported, image editing not supported.
    - - - - - -
    - 0 && is_file($imageInfo['fullpath'])) { ?> - alt="" id="theImage" name="theImage"> - - No Image Available - -
    - - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/extended-file-manager.js b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/extended-file-manager.js deleted file mode 100644 index 35af2bb6c..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/extended-file-manager.js +++ /dev/null @@ -1,242 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ExtendedFileManager/extended-file-manager.js */ -function ExtendedFileManager(_1){ -this.editor=_1; -var _2=_1.config; -var _3=_2.toolbar; -var _4=this; -if(_2.ExtendedFileManager.use_linker){ -_2.registerButton({id:"linkfile",tooltip:Xinha._lc("Insert File Link","ExtendedFileManager"),image:Xinha.getPluginDir("ExtendedFileManager")+"/img/ed_linkfile.gif",textMode:false,action:function(_5){ -_5._linkFile(); -}}); -_2.addToolbarElement("linkfile","createlink",1); -} -var _6=_1.config.ExtendedFileManager.backend+"__function=manager"; -if(_2.ExtendedFileManager.backend_config!=null){ -_6+="&backend_config="+encodeURIComponent(_2.ExtendedFileManager.backend_config); -_6+="&backend_config_hash="+encodeURIComponent(_2.ExtendedFileManager.backend_config_hash); -_6+="&backend_config_secret_key_location="+encodeURIComponent(_2.ExtendedFileManager.backend_config_secret_key_location); -} -if(_2.ExtendedFileManager.backend_data!=null){ -for(var i in _2.ExtendedFileManager.backend_data){ -_6+="&"+i+"="+encodeURIComponent(_2.ExtendedFileManager.backend_data[i]); -} -} -_2.ExtendedFileManager.manager=_6; -} -ExtendedFileManager._pluginInfo={name:"ExtendedFileManager",version:"1.4",developer:"Afru, Krzysztof Kotowicz, Raimund Meyer",developer_url:"http://xinha.org",license:"htmlArea"}; -Xinha.Config.prototype.ExtendedFileManager={"use_linker":true,"backend":Xinha.getPluginDir("ExtendedFileManager")+"/backend.php?__plugin=ExtendedFileManager&","backend_data":null,"backend_config":null,"backend_config_hash":null,"backend_config_secret_key_location":"Xinha:ImageManager"}; -if(typeof ImageManager=="undefined"){ -Xinha.prototype._insertImage=function(_8){ -var _9=this; -var _a={"editor":this,param:null}; -if(typeof _8=="undefined"){ -_8=this.getParentElement(); -if(_8&&!/^img$/i.test(_8.tagName)){ -_8=null; -} -} -if(_8){ -_a.param={f_url:Xinha.is_ie?_8.src:_8.getAttribute("src"),f_alt:_8.alt,f_title:_8.title,f_border:_8.style.borderWidth?_8.style.borderWidth:_8.border,f_align:_8.align,f_width:_8.width,f_height:_8.height,f_padding:_8.style.padding,f_margin:_8.style.margin,f_backgroundColor:_8.style.backgroundColor,f_borderColor:_8.style.borderColor,baseHref:_9.config.baseHref}; -_a.param.f_border=shortSize(_a.param.f_border); -_a.param.f_padding=shortSize(_a.param.f_padding); -_a.param.f_margin=shortSize(_a.param.f_margin); -_a.param.f_backgroundColor=convertToHex(_a.param.f_backgroundColor); -_a.param.f_borderColor=convertToHex(_a.param.f_borderColor); -} -Dialog(this.config.ExtendedFileManager.manager,function(_b){ -if(!_b){ -return false; -} -var _c=_8; -if(!_c){ -if(!_b.f_url){ -return false; -} -if(Xinha.is_ie){ -var _d=_9.getSelection(); -var _e=_9.createRange(_d); -_9._doc.execCommand("insertimage",false,_b.f_url); -_c=_e.parentElement(); -if(_c.tagName.toLowerCase()!="img"){ -_c=_c.previousSibling; -} -}else{ -_c=document.createElement("img"); -_c.src=_b.f_url; -_9.insertNodeAtSelection(_c); -} -}else{ -if(!_b.f_url){ -_c.parentNode.removeChild(_c); -_9.updateToolbar(); -return false; -}else{ -_c.src=_b.f_url; -} -} -_c.alt=_c.alt?_c.alt:""; -for(field in _b){ -var _f=_b[field]; -switch(field){ -case "f_alt": -_c.alt=_f; -break; -case "f_title": -_c.title=_f; -break; -case "f_border": -if(_f){ -_c.style.borderWidth=/[^0-9]/.test(_f)?_f:(_f!="")?(parseInt(_f)+"px"):""; -if(_c.style.borderWidth&&!_c.style.borderStyle){ -_c.style.borderStyle="solid"; -}else{ -if(!_c.style.borderWidth){ -_c.style.border=""; -} -} -} -break; -case "f_borderColor": -_c.style.borderColor=_f; -break; -case "f_backgroundColor": -_c.style.backgroundColor=_f; -break; -case "f_align": -_c.align=_f; -break; -case "f_width": -if(parseInt(_f)>0){ -_c.width=parseInt(_f); -} -break; -case "f_height": -if(parseInt(_f)>0){ -_c.height=parseInt(_f); -} -break; -case "f_padding": -_c.style.padding=/[^0-9]/.test(_f)?_f:(_f!="")?(parseInt(_f)+"px"):""; -break; -case "f_margin": -_c.style.margin=/[^0-9]/.test(_f)?_f:(_f!="")?(parseInt(_f)+"px"):""; -break; -} -} -},_a); -}; -} -Xinha.prototype._linkFile=function(_10){ -var _11=this; -var _12={"editor":this,param:null}; -if(typeof _10=="undefined"){ -_10=this.getParentElement(); -if(_10){ -if(/^img$/i.test(_10.tagName)){ -_10=_10.parentNode; -} -if(!/^a$/i.test(_10.tagName)){ -_10=null; -} -} -} -if(!_10){ -var sel=_11.getSelection(); -var _14=_11.createRange(sel); -var _15=0; -if(Xinha.is_ie){ -if(sel.type=="Control"){ -_15=_14.length; -}else{ -_15=_14.compareEndPoints("StartToEnd",_14); -} -}else{ -_15=_14.compareBoundaryPoints(_14.START_TO_END,_14); -} -if(_15==0){ -alert(Xinha._lc("You must select some text before making a new link.","ExtendedFileManager")); -return; -} -_12.param={f_href:"",f_title:"",f_target:"",f_usetarget:_11.config.makeLinkShowsTarget,baseHref:_11.config.baseHref}; -}else{ -_12.param={f_href:Xinha.is_ie?_10.href:_10.getAttribute("href"),f_title:_10.title,f_target:_10.target,f_usetarget:_11.config.makeLinkShowsTarget,baseHref:_11.config.baseHref}; -} -Dialog(this.config.ExtendedFileManager.manager+"&mode=link",function(_16){ -if(!_16){ -return false; -} -var a=_10; -if(!a){ -try{ -_11._doc.execCommand("createlink",false,_16.f_href); -a=_11.getParentElement(); -var sel=_11.getSelection(); -var _19=_11.createRange(sel); -if(!Xinha.is_ie){ -a=_19.startContainer; -if(!/^a$/i.test(a.tagName)){ -a=a.nextSibling; -if(a==null){ -a=_19.startContainer.parentNode; -} -} -} -} -catch(e){ -} -}else{ -var _1a=_16.f_href.trim(); -_11.selectNodeContents(a); -if(_1a==""){ -_11._doc.execCommand("unlink",false,null); -_11.updateToolbar(); -return false; -}else{ -a.href=_1a; -} -} -if(!(a&&/^a$/i.test(a.tagName))){ -return false; -} -a.target=_16.f_target.trim(); -a.title=_16.f_title.trim(); -_11.selectNodeContents(a); -_11.updateToolbar(); -},_12); -}; -function shortSize(_1b){ -if(/ /.test(_1b)){ -var _1c=_1b.split(" "); -var _1d=true; -for(var i=1;i<_1c.length;i++){ -if(_1c[0]!=_1c[i]){ -_1d=false; -break; -} -} -if(_1d){ -_1b=_1c[0]; -} -} -return _1b; -} -function convertToHex(_1f){ -if(typeof _1f=="string"&&/, /.test.color){ -_1f=_1f.replace(/, /,","); -} -if(typeof _1f=="string"&&/ /.test.color){ -var _20=_1f.split(" "); -var _21=""; -for(var i=0;i<_20.length;i++){ -_21+=Xinha._colorToRgb(_20[i]); -if(i+1<_20.length){ -_21+=" "; -} -} -return _21; -} -return Xinha._colorToRgb(_1f); -} - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def.gif deleted file mode 100755 index 2845b96ac1329039bce1b1a2fee1222c16d9991c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1100 zcmV-S1he}`Nk%w1VK4wN0K^{v|Ns9pX3sHW!%KJ3aGB?fuIc&t`b~uIr_1yI{_^wk z@f}yq?dEl00$vZs6Y%UfB{mO5qQ7o2Y?t9AjxbNQWzir(w4(INodb0L#FEpmjE&adY-lD z!0ySQLhmON2n`cq76TV^6B3Gw2#a$U0~S$w7H5l#jR=~W1z%@{gDwCKhglMtrv<76 zI;se(o>>9f=spEbK!UfP+Ff3nDCNkb#&22od%F(I}8*#|QvVQcRe~Z@>T#3Wybma3es3 z2KEv#ps`Qif(c2e;Q=r}p#zEi8fegv;=zIdH3BTafI?1#1w^qD$TCobkR%dq;$U@! zz}22w`J|v>vu=PaPeiCn67hgqtX3b0#EMnGf(2CPVpTgJ0+tjN3Wy-^m7Kmr5^AYN9$agZ4Q02ic}oecpbK#TzvQKlRm5A<|kRts>DK?+)p zx0rSUJV1biD4h1eUIrvkoPoAUcOMF%?N^u$5mbO80FjwhT8kOpFyC}nokyc_g^hFFw!txVGEF#RSjrTP(cP@ z0-)3gF)Wn8S7`o5*kK~M3Fi&{C7=KUO1SirZfY=aCYqeJ*$Dw#-UyqVLWOBS36Y@y zW&soo3Y-8OD3L)0JXsp&Scjs}$u>wBz(4{61c~Mi=9yu@25yPUp8y*iii95S;5pWp z3M5b>Y-o09ovXH@nPCP(AqtbpHY@D)CAAGa3R`tKA;BlJXKqlftC9iH02Z<;@DK%5 z+MwWoTHg8q1t-dC?JUKbpa&9%CJRBgwwg#lx6)G3fR2Y+OJOKJ6jBP48YtiZ!4G7t z@x2Pq$s_~&MiRyZ4IqF7lZR%20S65YxtWZfL=F2mm`*Ps?Kf diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/def_small.gif deleted file mode 100755 index 54fd484ec5d43449573dcf745dda6541a6ae5ea1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 291 zcmV+;0o?vaNk%v~VGsZi0L%aY|NsBi-tRDF%_CXJ+UfS|>+8eI%41Dn7=k5$ z(Nq9D!hxWfSO6XbLL%W142fDqG9f@V6u@K<0T>i6i9j%5EDQk1K!8M7=4(a<5Mi(n z0S+d30~Y`t3u^;_XbEg=7X*(C5C~@~4T)3kwto0SYSx1PBy~ p4FdxWtPV3Gun7ej4F(o~x-1Bv0R$xh2E{M{z6uTs3cDjA06QLxaYz6F diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc.gif deleted file mode 100755 index f197227e3f8ee80295bc84224eb0016d4368fc5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 zcmV<50U-WINk%w1VK4wN0J{JH|Ns9n|0w_fgwD>+wY9aBl#~Df0CRJ5#>U3p-rj_S zgx1#9000000000000000A^8LW00031ECB!l051S8000F4FvvNNy*TS_sQ(opj$~<; zN6~?7aGY=~9)#M0udI{DQm?nrZus)qD1xMN$!rd1A|o)+tXiLd96&lrVnyDkcKefr zv1b!u&E8l#>0z8iK(OnB0U^(a3jj=DN`OoS1BQqqb!&D72m=Tt0|o?Mfdxy1nJ|k4 z3J3^>kt36pf0}}WgqWu%1PQMS2?Ys|l9XYCth$y0h=+%YumuXmu%jZSxxJZ51%xqd z39||{$NyrJ;c<)QLdgnrx zcnPzL$(tz2wHPB)N2#4XpZsK@1*cJz4s{X@I%FsgraPQ|D2nu`QKe6z%8=@Tr`DO2 zfQqnMwJO%BUt@5k;5DsE0%B!e6&cs<*{*gqhFzNXF5A9-g#gC37l*;ah!ZO={K0_Z V$B-jSo=lnXhlrRnYsMS_06XVO)tLYQ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/doc_small.gif deleted file mode 100755 index a343a3ca7e0b52a4cccc5342462f1c2ef3a5d886..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 140 zcmZ?wbhEHb6krfwSj5WE($;e9_%Q~C{|pQa|G|I(3>1H|FfuT(GU$MKAhit4fe~DH z)@@*L(q?t;+-NN?KCv-OHNg2-W!wWH$6cN2?yLsxR~`sFJ|L32mHAnPA>+C4U0*Av k1gl1_GH71C=F7CmDKTf)Ey?P1WOz^#)f2e$E+>OE0Jz#TD*ylh diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/fla.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/fla.gif deleted file mode 100755 index 7135f2590d4f4e261af27003b53551e0b84b2414..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmZ?wbhEHbG+;1b*v-Mfz`*eT|9=q4z;NKefd&SK28M?J{}~z@KvI}M@h1x-NK}WD zfrCMoL4kpR$v$mp;C|b)IlceF%2idm(<)wT@$O&qXubJYp@j-B&5G?5*Tno>z~?0L zFD5W2MAEiKwyvI)gN2R7q2Jr5wyQgajkS->IB0U<)E>E+tVXjvb4uhp7cQDn$;{T| zSh~i3#zxuM8yUO|e784xE|YZFr_QoiVFPoX`r?C4Y-g3WU)hl6d+5TpGxKg5UcRpw zCw%a!+;im{%0kcHzIe~5a_{A*kKdSLKCgW9^TWTtOmCY5*FV_X*nVW8aq+^1hlK>h_|S z|Nr8)Ic{fN{L z(v5t4e3p46|NrKhnVHWw3-u2(8-nCNy^4I_FzVh8{aA!*Y z^|RyCqyO=)(Xvzj@}BwVee%y;|M14<$4KniVdBh*@5of*vM}Doc+;&r*uQf1?4RD) z#j>oJiFrxv-?^cYVxEOL*12T1pIzU-Q>lj?yOksI=8xjVL;wH)A^8La6aWAKEEND2 z044w>000O7fB=F3DRpZoG969_H*yq%kdcy;GB+zSB`qmIf-QVIkCUR4H5VKe6)-Ro z5(y6#Ty`0xDPnF`9R~+w7@>ohAqWA(!~qT*PID|Qhi^`nMI~D)6&e;7GZ>IHH#HB% z;1*RQR+*b2Ar?Rn2?hZQR|j`aypJ+V9N^#v9Q_XL2?7YXqUMJP5xQ1zDG|j-9uO1` zaEPD}oG>#559;!XjcCs%UV)wX0XJ5HtiyLIMN;sAUGIHS;Bn z2qFjnE^yK6fR)|5cp<=uqQZsQ4qJwNL3m+Akrq+3pbPP!vE#>(ALwnNg2${5ONJPc z5d@u4t`Z`M9!`aqLnVebIIl-=FhIPx@#Dyk z>mGrl#{>WsHNeC9Cp|t1V13* z8-*WyP{J4q{1Y2=YcLU6$U z6yXi>fe}YQLBNz$R%zvxRw`-24v^@wg_Kx^DJB6=U{O|=2cQAP0&KSF=9_T7`NV;c zT##l1c;>0+o_ywchFeCwkOP8(o68fW-?fulqik%S79n(*rkO6-t9vBye+hqBCi+D5LUmU?OqGYp%-1Tl^R2?|6M zfvc{h`iiQm#2V}FC@5U82d~xwtAn=O?rZP_I^=+^5+H0lL8}HwEXV{ItlO;w#0Ccf F06W1OOS%96 diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/folder_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/folder_small.gif deleted file mode 100755 index b50e98a2e1a3e3867e152c58a7ec8ade7ea775ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmZ?wbh9u|6krfwIK#m3{rmT=eG+pjCI0`Pvv;21|NsC0U(f#kyygG@DgXa}|Np%D z|M#B%=ac`xZ&_L?@c(}G|L=4De_wiUo8`T2PWQHXeZSuFd|wa)ZlD8_0@=mDny#SG zmtrZTkvPreq1r31EzY(gj`OV5xBRi6K0#f{gm2f9qHi1`LIEo_Oyc0+Xluw7xM{=| z#^l_sF4XNr|bie?q^}~5 diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gif_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gif_small.gif deleted file mode 100755 index 837747334e52d8f16acaff84787b9c7d81211c0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119 zcmZ?wbhEHb6krfwSj56`;J^Wf28RFt|1&T^NeEE<$->CMz`~#d;)2vNFxz-o-Lcc+ zbIg`in3S12Irc|SO2RyiQ!_+vS2-&z*<7=(IQO*fxqrJ4bUi~K MFh!b3b23;10C6NKNdN!< diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz.gif deleted file mode 100755 index f59ecef0821b322f0c72680fad7e65d21b4fc132..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2163 zcmcJ|jaw7<0l@J~NFW3P0jdOKm{3GgL_lzl0q2th#0cmxwbduJ76>YPqAQxtw}=fS zBD#nOCq;M8h@3*_btqm1^lAutBCaP=ytaz>1Xw*@tcO;6bjAJl^pDv05BPjntLVlv1J5gb8tETuVEjoWN(C<-WsgE5lhI0VHRhOzvm*-8P9(U1&hCHVKZ z*6^H$W_cV3BnjTP!2sy3B-mqfaal>v3cPk98;bOMs$0jHPa0LEyG<1)=~ zYbjv1z!sF5)A-_G%_)MUXqu)O7Vr>?qE3v2QOb$n2u2_rz*wL`IU~lZOfDJ#mrCw3 zs$(kdW>;WpGorD;FaxY4kI_6#{_3QFl?J1iH8z4nSb$Nyli)axCkTQ8fS`Gb;z^pp z8J?mUk_W$?Sq>q2isf;JLup{frz{w2#W)Mfno!z`(k7HM6Tm_M8_rt@-iEPi4CqM! zV}#LY)0mujc}|Pj3`-!`q_&!k2!=aR!i5rQi(74h(=4#Y>~i58Zp=e5oFz02qURYs zf|DGj!JHNXb~302W_cS6P@^8FSeW2l43FE=NS6ls|D^gwB=}8UB!C1^3X}pt5&#J# zF^0Oeht@RbRLrzrI0qlz8CShCJFGTt<;P3T8ZO>HtFPQVQW8I~u0{0YC!X(z z+U~dN{;+B1)%-v>V##Ic(Eg68Z~TiY_sf&=SD(!KVBmA{bjeiTg^x$7&P-K$=Vb1A zG5biEm~1TjKydSz&7LZjW_~V-?%h|gKvo-gP^Im@I$?-2=zh1HUm{M~T-w)I@k7p$ z+UAHGdr#at9Qt>jj^PL7J5Rg5WUA&Ve6a^a zbA(=}@={^HR8caM{pql~4vOqr-Yg1mb~gK}CYO%;Y!8dmd;XeACXPwx(IcwJ!sW)5 zlDL_jQAZ`)-J?f`wpa^-lE-zzz=xZ@xs`GDK=YbqaDm%jwWBHb(Sn>;20>kRbP*(5 zv^zrPUv{A_;dDb`x-KwDF({2XkLaBlTWad^Kn@CXWfj#E6BjF` z%1PmkpC3($TYukQC0RTq*C&LR+Z~dtS9tbf=cKYMENuF;7ymZ)3e?^fGUbg}*LPVQ zf5ztvu$^I~$?n0)M|%9L|LhlpKMB7skp>&WERjnU%F^zsgOi@{A4{g6izN#$r4rt7 z%k~6od0lYFe|JZ>d;B6@iSqn!IYW_p+0qj(>H>?nwSp zU3UGGYim=iFXwh|denPcaq|)`)R!L<1R54r=px!;*X2@K7l9x^@LtE6*N?@wk`tdu z7aqJO9xZV1k+-`m^M(EXUp*iAb5fz_sUF(Zd1tvZrguCoqqsW_ek;93l2f+YG=HBq zYuN~5TWlA1vR_<(-k`LKLPXG5jXH39(W;d9%2QXyHr>R2d5T!HABNPxMQ>iy^V2+G z!=JhR6{gwZvBQOuC8H6kozG@}8i@2bUp@Rm2}#P_=e%!b*gtCLf4VVkMeWlu`_iKJ z6+i1z{5VIQ_KWlLn3>#&;RnLlOLF12hkQZf*3G|$)M#h+iGpQAA)-TX>ymuF;8KGy z*i+=6yS!Lh;(p?vUMKL6Z_kYVQ+CDkhO@J&=cBeY>7`(U!lm{otNs67B-=6GbKD>i zd9^u_-2>ezsm(#}wz~JO@QHPgzZ?zCu` zN>(%+BfD+LO&={!SSYtQA#UlyjOMV%H9~28ogh(E1^LRo2}qG6bo|8e;8tza{h1Tm z{YU+7l%J1_n&=xGs`5M8GNRaUYW12G_J-I8c4)=x-~xG1@U~@+x%rOjm2yEuuVKOb zByGV4Z@u!$?E28wX_0!bL-y|8D%l0i*Qo|oaJi&6VB`1wB_SgxKg}6i2hn}7yR zmHEzvzUc{#)jl|Cdey8T64Rok^)ao*kW$uWSd}+eU%Ot`dG5%p$TQg3{R&Mz)|PJ_ KsI)^+*8c#UHx_FE diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/gz_small.gif deleted file mode 100755 index 639556e6383f040e49a2bf4b6b521dcfa437dc4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmd6k&ui0A9Kc`Jrb#>Ny4o`5>`dL9MyFW(!Q#(S=XAwW4<2%w6ulHg$YDZ3YFY+D z9Wt`vAuv#)hy(`uP9tDFJb#VH5XnV()Hw(U`i?<7e5L<|pTp<;fzOrMnJMi?3Z>BR zA_4%zFgyk=U8Vtel?njx5EzF-)$#)XkO>140QSN4LDjA1!hzES&gM!aNty-2#U5~nch%wY0raRnn2(wGJ>${jd?{pnZZOqCZ zWIB+-U=YwL7$me^;yB<^PTHDHLdMt&!ktR#dfn1$R-tO&yt|^?Thq%wRK1NJpvCbaX%j!%vszSdlfJsL`}!#8PwO9MkVYSsPjbN65D`xkuk@^iCTwgw)Q&K>fVC*xfnpfe@5WRpFxZi@Eh@Uw$uwg15(8`k{Uc7g z7EvI;>;}?~ey$5>?0|lFm^Ff#?GsXEKTGXoDQy}r${NH}ripqts4UmeI}oM`9d;pQ zTQrp&PF4qI#z5tur+5%4mgra`pi*g&b_`b{09H@bn>-q$jk`t4HGzH;fYmlQzm_?O z!D>&X)?BYN>jrHs6X2Ury4nd#3<{%-X~HHDz^~C5ylAbuUpMG6Ab?e)8Fpi;4l`ft zWDTP5Af~|ptVR$N)gVBJ0{-FtdJLG|D2igR(!(`j8l#hM@)VcXmzfaeAh5YTOtpul z^-LhxgcpU>n9el8k{BR~$L7VPc7ULm6Tz6AS`UJ1MkZjbhuPsNlc<=SvNAg|;YDgk zP`cVv>BZ{ZC`*ed>>e`$iiIk8i;8bYonEY7ty8&Cn;T`CKvd1J2Lmi&Eq?@IY7xFr z;dEicUd)D|9u%YJ*TYJu4Z+NAjMafux)8ch8kJQE{XWs(5^?{Vr{N$xv=UkYL1X~o z$T1rz778tPck+FU;O40l2bSb&crV&-t=w@p?4d*GYlmp-+k)8_dVV^iC=Px3*#C}E z%~+?_<)2OZn({@(!S|cL@7-9Ut$Uj0xYsLeuO?PG^wr7M@VvaF_H&|X^}>P&(~=a* zZW$@l>PM43%{xm?s8F@k)mR&2*QXE3NSCOkefwTL-Ogq&{BzW%M)JZ&M^4D6`!jfD zg{{SDy{XmD?xfCs79`l(=*zFj%vR*&u{GL0&@GQ_-$nZ{ayU{U;asanHxWyvqnC<@5+9%=c<_$?pr6-9`(rdX=T#f0}C(gwe`@B zV}F?I#m9f?c;O$350qQumMD_Bi%-r>IU?IB?XsoovO~KLKBUgGoB#7c&s)K7@7@*= z-!?ZI6wb!oiY`c#k41i!NFgN#+^F86!mkr?jz?tD+f#eeN=M_Q@5zb53>u~CbbgPu z3SVvf_K8CH{7_dY{#>_?B2aON)a@;clknu*0{Oy%^Ri}Y{>7RZzqLMpnI>ftS_ah> z3r3@??Km4ra?KjhsdMUO0lR6`vDDzG>pQ!J*MI4Y!OPQ;sLlp(CO7QLyeyBVtGg(} z?^eijLJZorB*Iv_EcsYSlsyHq+-|k5=!g=g5ia+fCUjDHGK(o`$cKx&T$uX&s_^5K z_VBe8GIkQ@AEL)@W8DU;yW^7*`8^O?I%`GcHmgL1Husl1y{p@)`^x_?__yz zT&)e_+Y4lM;qAEj?e> z5?A+eV>d(WHy?_Q&40fm!lNgUs?l;PgFwv|D`7D$Vi`jpR53>gDwzrviJM- z2x@EKL_C}KTT~)0r8aGj50tOTuoU|Hr>Q~Hj~HkY0%Ax zOpz_UaUWFcvqtTt>u@w2sho`q@0&Ak$Bk18Yq|JK;!!%<*&lo50@84%oH9`h>9s!qJ4#;Fw{B!GA+s!*?_Sc`Tq%e#Ovd2srcp zCLv3dznpGZY^k z&=ZJD`#3l;F5?Z1zcHzg9cXXelzp!|GQ5wU@%8wrz-c_=6kND>oN)5Hc_V4#t?V_w zDz;|&df5vu3Qq7#^oQ&(jTP~LL@*iB>wCY=8&4o>W{rQ3E$m>f4 IG8tO?Um9r9xc~qF diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/html_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/html_small.gif deleted file mode 100755 index 2d30ebd71de55a5c5a13f92c352a8b6d0d980054..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 622 zcmd7P&ui0A0KoCrHnUDvXt!=w*{^I<8=crFj>b8)RjkdD!g||ImYzl~mRuZOYK>)^ zF^5sgkP#8qd1~;I-BPBM^dKf8(t666hrQ#&gFHMvnSX_!zu*hsO!i@tD}+H99OrJG-(a*4FM({u?_YRHC{Us4(!$W$H6g>u!5C5zS}aUh{}$kjcwhj;^}UGl8j zOcxYRbC^10b+ohZd59oP7|n(VOD)8Ll-24?n9twWf7%xWIJX0au+Sg5ge#2TpS zBDsh1OR5dY%CgEVt9i{*jjmjh$v@!#L;sP z&xm)Y2d|CJQGJ397Oq62cg|1G42*sgI>V9dF-#0xm`VxYX7F70cII~`{2)B_==}lasB+$S8Ayz&rpQ3MVme-Gdeher=7(Cu?KkpBoo%?$FN#flQ6%WLJ984aB bwtR_;=}LS3%bTRs<=eaO-M0$?ADI6Op>5s3 diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/jpg_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/jpg_small.gif deleted file mode 100755 index a6a4e78b2230f2df46ebdb68fd77d8f85248ff1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119 zcmZ?wbhEHb6krfwSj57>z`*eT|Nn*th64u<{Qv(S#0LY#pDc_F3@i*fARb691G9|> z*Bw5sCWmZRjlVgAMEJ>KBaf(A!dd`%co1SH_c8J|?V*lAjDpyqaUCPcWLY`So QPV>~KFh!ckaxz#005|?6ZvX%Q diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/js.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/js.gif deleted file mode 100644 index 9ab9878f07b1acea59fd9ea09783c22ed00fff3c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 211 zcmV;^04)DUNk%w1VK4wN0ICK600030|Nnr1fB*ph000000D!>2zyJUMA^8LW00000 zEDHb#02u%v000A+D7xGVFhUWky;u+#DgKtSaUS>yhDMqom5vj8R&OU~M6SoTX^bU@ z@bcsJK1D!K*dPLrn1WPFSTYxt!eCpdLN8jbw{m4531d5Q8-U D%=9G^ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov.gif deleted file mode 100755 index 26b659564fa951f6350fab8fdaaa6d9921659c69..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2326 zcmb`uV z`pZ;v&lm0OU)x?|drok{P`J4zQqz9-!n9!f;ETO`?{U2FUdtp+Gl!|Kw>RDO z4l#B1`v-@@q+c|m!ja*73@y~12@jm%sH1G{$@{z@{%JESiUQ#f^cKFZmnQ9^KS&2@ z+B-@g>HEU*?j#WuNJ@M$_}IR4(q>_JUgUU@VR(y$Wf)=d*0)(%k2#LjZst*x=XrtW zIiBN4Kc}_vQBjOWMI7g~2rGzUn0?H#9Lw?~BeJZ3;~a`}Ysh@ zt~YLbMuK`hr(gB0$MXS<@D@MwdP4{&MZ&?6c5axSBpf12asJUsqFFqB={_9{k~WUC z2&7FUZ9Ky=1o18D5eTnnwDClrNO%N-5=mO584kB_bdaHGHYx~WG)glp%`&1GrLWw( zJ@a7t-aVG*YQK8O^HEU{nOiK+@hry@q=1tGZl||yoxw>?kMc$%XT*h7#z!Q@5`8T0 z7jo*WTLnkW1sPKks^Bp4C*^OkBJ zweTp#8y&o{nfHzaaSM+-c-+eqBix&ZF982P+TUd0f44jt004Tx007Ve0769(llyYq zl7ii3VY8Gv1ZOQltiF~|8}f9<%*DiUsX|k{x(*u~EbmfhZ<-3vJ6-WhOJ)s-18yY8GV zSLIy9oTj@c^Hyw!v3JK`IsZb6ZpiEe56BygL?QOFv-(ToPBvujm$s->@OG~OI6ZYK z1!{$jgG5TMZv#98V?R%KCgv47=d^WDM?yRQsZ(EZG_kO$V3)hLBpx2T^Hxs?9xsu} z3pTIHy_5|ax*G<6)eipN_Nc&Y{%JbuZi#_mY(ee3*&>bA-&ma?9Vm&_jecI;GMm%2 z=J^Z1%JiM5p@XuH7_1XagStTpgp~dbvF5lYR=-%6d?1TLYDzRz$(Hifn>~RIpbTyR zH_Bp4E30Lmo35nisb3}%Iz3OW#b@7dxZ+utKIV>DvG1iVlC4s9iKCVwWv)2O-t^ZGu93A6rIKi!f_3lIlV)@6nrgi-u;XnYiw2L+zwn_ z{Ayk&t{u2&R%EOU0O@i?)f^^~%7RtfUilYRps(H$ z#`@7&J62n=Y=!z}Wqid%2N748*I&G1e~+moCbJa{0g`>z+L~`ZF;uKQ9F9oS!1pE4 zif1Pb5@}l`veEdU-JD;ICk=nPZwEVDpVOszAX)Ov4loSse8BkP(*{trn1Qu{9tGkI z^$zFGg`^4R_v7jr-F!pEnhu~OW*{}tnsC0g@tRtayx$~?(XC9`wz2=_m4q%`r!*#W zYp6VB_Y{x`z1^p2Lq;~4@`q0kdXdfycmxr27FMQ)k_&C{^wK!_bDj)nmRg zq(GWo(?HpR6AMFAC8Mxe<|Y#ItaDeD%bT1g>83x-358Wv{qCV3)}H-r?5W&+ilxte zIlXE5ncMy2npNjDhm!X8!3WoE1afoIYh%p;tL;e97I|^gt>UCV&rQp-vInh2NzIgr zO`O!6lf?R_**wYd50*UXPA4ugrU~0g6Ab~n;RT^gQ{y;ANr#jMRjXQ;0`}L{{0!%+j zFx-=z7(e*;4k)55bFY1*|yuCv`(-T@{xTrb%+2FmNO?B&xgWz!fK z7XXy`b0_cWFmS91leW4+RjVg|kulVpd))~*vF=4cLV;=CsnR)t&+{-@;hYP~@kxX4 zV^I6y4VlJs*~@(ZRDa6}ZH<^`zTCO?!ryP~DRs6l(Y)ba?R)Z>L!mkGC=Oe{(hAj0 zBp*+m&R$1fUp9cOF-f7za$M8vNCjkZp^!4yU@kUCd{3$#u3L|FHD-o^V@>~%e~fm; z_8d8tsKM5czUPw6tUi(XGbXcky|^vgcOrMkE@{>8K>NS*P7QZH+?b;Y?|)mVTl8F( zEPZTBRp9GR1TIU*K3<|K@`3&7x|Jvpu76e|Sz+8&^VZAPp%UO&ugv_^lMdxeXgA?e&g_=hJ`tv>t?EVEumpZ{OGF diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/mov_small.gif deleted file mode 100755 index 5a35d21e917ea045c61544a469cd08ec1d5aa2a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 353 zcma*U!ArtW901^-(?YH61wkV!dQqm}!C41K5IL!#go2RdPR8(LMX^%|(P7ddiw=V* z1PkgCEGrR$cpx2i9CX>Ocikn}Q93R95BfeavytR?5Fq#ha9tMwI5&zhmLv%w#PdAI zalBwXbi1{tF6cC?IMlKn$JUyrrWuVUL4LcY8Y;0=&DL~cS=6GI(KU!+I<~FprcNlO zR8dS^wQ+$)Ia??=JT}-rh{Y^s9qczHy)RXXESrjKR27nK*x3fj>W(DSg3^b7z&}0@ z00S`(0E7Sm3?BD-WfYk_XHrmxWb34|#;dDWpOud1j1*_?4&O>~sTE}6k@4%Pt-;%a z%<}2?WrEobk6^U0FHH|mKey6lE9dn-EGw{IU7b3&C5=?}?9M34Bk_ Z?cJN)YuWMoqwYz;$}im&e%Am1 diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf.gif deleted file mode 100755 index d3e3d55ac7c7b8e9d614244d78fc954a090c38e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 621 zcmV-z0+RhlNk%w1VK4wN0L&i%000020s{a4|N8<0-2nl}%G0y8zw7Ms<>Knt+2SiL zE|!?0TcEG>PEPe8AolJy03QG#000I5ARvxFV4i3ikZc<;5hKqGMlWkS z3`9>r4&H7^90XxG(xA}@7Ky$ngkiz4mW_d6o81b!-Y7#Mh$I1nN>H$4v$fi2Z>s1B ztRmx@3y+6?5OfJ!201%xL~H~Ci#~x69AgUw2?m8|PH$~|jB}727z(1JW>2O(1U#Rh z5f-klW-2Bcw6z)x8Va|!3%$M(cq{=Jy#^Qs7zq*%83_di2GG9+XCncXlnDq2&kzzH z2MEuW2EEiRB?!^k2nZJg1{dwl;|tN%A^`&I+Zzu987O!NCk~n=1o%qqL!j+I2MP}e zICwB&LO6Ps4kXlV`#{YWhz~Z{Jn-Rz1PFR{3UGUM0NpJcKDHx?%+gwPWG*yV zCgFkr1q-(5>rhC5rO*lMNC@fRLQfN-_pKGM!Cr#Y0wkny{n`RT1!f8bKzI!|1&B;H z+&1%BUw{bIEDXmDnW+Hju(Mkzq@WUYFHZFtP!Irk0O7Y4oNHmhi~INRdltCtLY95| HApih7&4T{G diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/pdf_small.gif deleted file mode 100755 index 71e00596a431ca9f9b0c76b57af74b10fbf63adf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230 zcmZ?wbhEHb6krfwI3mmNysziEqto+sYoB|1J>RzV-t*`8&Yydpnf-j;oO{==Jr9g} z9~t$$t>t-T_49pupGQW$cl3H681y_b`FUaSdkf3w28PcqoStvn`&>g)KtSL>0|?x^ zfA9Z)2$MnaCkrD3gDis%NCIRh18Z`EdR|Io+RPPsF|W7HoHonkw=1sy z>8UFj>#w{p71)!vdOGXJkg^WlGe<%j^rAVKA57>e65?iD=)|d^7pA1lkRiarz^QVs cl4V{xUm-g)TZ0U1pc!vOYiFt~OeFq8%2n2$JhKq=ejGJf) z2MG!Z1PPTRg^DA4dU>gio&*Z9o`a^BWtp2}Xj=)Q3N*ALr@4EYc)ENvp`m`3n#jhB z$ZwDeqXcQrX4~9(Zv@xa*|k_%d~oP)mgSV~0`Bm;YisK_=1zs>_c{6Y0Pybu0vsr? zo`)&>V)Q$hFvvm*KnO|{NRfa+hz2 zGx?I`N0&!z-egy?XH1$obpq|EQ)N(d5{C*cVU(!Nrc0GZ6^7F(%ckkFYTe2eXMwL^ N!-^eCwrqh206V5Tu@e9Q diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/php_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/php_small.gif deleted file mode 100755 index 608691f964c64ad459167f15ee2a8846cecfd43c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 120 zcmZ?wbh9u|6krfwSjE8b|NsAa+z`*eT|NjOCh64u<{Qv(S#0LY#pDc_F3@i*fARb691G9|> z*Bw5sCWmZRjlVgAMEJ>KBaf)M#?bSpRX-)=f0AMR9oB#j- diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/ppt.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/ppt.gif deleted file mode 100755 index 4339292fe3fd06765513886d3aabac67ad7f6fc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 413 zcmV;O0b>3~Nk%w1VK4wN0J{wU|NsC0|NqV~0M5_Ol$MkL006bNwR3TE*4NhF-`<>_ zV}ynP&d;3h*Tw(<00000A^8LW00031ECB!l051S8000F4FvvNNy*TS#sQ(opj$~<; z2ho9SaGY=~9){Y2udI^?Qm?nrZus)qf|A@&mooxyN*G}kf|Z#% znF4QAqM=oTg`ba>mx-K_XPu6#o2QWs36GJaqr0Uet&Rq+cd(j!zmmAIlfJZ$3M36@ zvAWb(%#4u>2>^_c%FBw)sbi7g;n;wnyz6k+#WL?*zg_W5oa1in`UIxk_|nT3wcujT zgg_PqMeqYqjat8f1!Ww>5i!QZ4+$A6+{f-A!iq3TE_%pVQ6z<_#&GQTF$M;P{|pTO!GM8*LGdRGBLf2)gAM}&0|Q7c z19LzI*PV428l1FKyI9Va?_f=+33Cl_wwg0HjKwL2b@tNY4+Tr& peGFFrv^n~0r3<4`tL}?DhM8y5PHUGt-Yq-);zq=xtlh#4)&Oh4H$MOX diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar.gif deleted file mode 100755 index e39549e62d83475307e5c172f5e34629fd381a78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1718 zcmd_njZ>0$0KoAdg8E>js7%2;<5{JU?s{lh554VyNPU=Yz*SRfC1Nj%y%1%&XX_9j z$%;9<&{i?j=G&d&^a|%{8cqe*mSSsoyDOzvtgY-iH)^h)UHdoo`47JL&BQZMu?7JM zpxOaNQ7S|V-cSost{4?tC4>kO!3Y<^g%Cu*d2BAXnX6~R0^h{sG`AXZN}3@L(4lH} z3p9fFj^w#jh**otVKm6)_d2^LY<8d9Gcht60FwaZQ3h12Mx|6W6$k|62$17)QlcXy zI+za|^acomh%$mGQ|pR!S`AR6z$UTy#;2`yRs*WG5?Uyovy45_M>skh zB9D;7b?iC_P(UkDIdH2(X(LeG$mj@Z)=o@LI4QS5Bedb9P)|`Fip+x@xXr2o7TjPh z5`sR$rU7Cz)tl#_x+zDQ$bbv~yZ=80zhuzfq^HqA7+4J61^}W!)D{TqY>=4ZAF|T) zof^rKaFAt#u%U9(d+NgCe&*5sImiq{AoAYnpA#*VUlN>u5QTmg={!898gy+$@~xe` z{Dx6G7T(e{T)y4Pey8(RuHpWA4vQ;ebkek$OjdkJ@%3xJCd+H*9Z!P#>B6|x+1p3~ z<6v=IyW-xpuU7387$Y?sIevY}qiFQ_4l_4VO3qE)ltMOi^@#3yViDG##?uuiLc$6L zz5Qn{mXFq#C3asMU`_qfx&W`6D&L>$Jh*t+o^!>tC}oc<=a{Ljdpe>qS@!8OSNhQq zamZ(KXW@@k0q^G)-u)^?0+M0DCX-%`mWM=TaVXE`{9~0+TtRN`=#e#x6U{Bz(Kq^z z%*w-O%=5Q3d_XRZRz&w38Ie8Vk?H7I1v_+kZhlJiqZE61s3n@t5#2H-?9%%i{3d-# z)mh%xvJD$(ORGM@SSg&byG(&gupnZsf1fcX9J;g4vU&ts5OG>&jX%DS(*>d`! zK8=*NclBeewXO85=g{nTo3MF2Hg%Fl=iMy+y)}8)d3Qu=o93~@wPT-$mS$X`2@f^; zF7|CruL37)|PWWT$zq^xh~JN z=nA@oYZZVl8q)uUSST=cQY{nHS6JC&xmmT&i5et7OgCPts@Rjzu{6X?TYwoF~hdg=;95`QpCx?EA7 zB@O>P|7q_S!TcCm(mOLiH@ad=VxLw1_1mHP-uP^C`qhiu?S*SXrdq#w{rC6XS6|Og K%}HW|RsRAS?_d@H diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/rar_small.gif deleted file mode 100755 index eff38f4fd1a1685937ceb56e3d19e7e367bed92a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 564 zcmdUsNiPF&96*0)Yb(Y+Z7r?6RJ7LGmjkJTWaegW;zD{My>LTEg$M^jBAQ;9Cd3kv zvA2n+)`{CV(UXjmar+;CQs2V+1n=dIxQ3k_6BJPJ4GCx$fOC?gfd!D`3PI$76@Y^c z4iO0A2<<%67Lg2F&RU=b_4{IFNqKoo!8;Y#pPgSked_PO?!s&B<|Os!C+j)SY-nihGa8#3dup3#Fv_y34Fc%RyYB))T~_v;C?FUjS($0P2?sm6upDP~i|aa5 z?^XiJU_(;Q_{k-UOq8TS#6+WmDvU7Tdb{ASINarAp;zGfl{T&yTk?1=FK^zAwpy## z;jJ2Uf^}YIe0?#0ONbtd8-tK?hG>i*j+G~u0Fj(_8k(3LprLn%n}n!>lWe4-rmdf* zot&$1u!d8)xqA&By(%WZ91W?s4jK^1z{ksrnFSBX$<4pfe$dPj($){frQFfM;KGU6 z)!E|b;@jy0-m$v%(=wy2`K0@y{g{dd2pmYTpuvL&s}xwsu%W|;5F-{y002Ag CWRO4r diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/txt_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/txt_small.gif deleted file mode 100755 index 0279f99952017ae7a18b23d273166177ca07fb62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 119 zcmZ?wbh9u|6krfwSjE8b|NnnyXXoR`k25eZL`Ft3z<>^j0aC-j?84!7XPv+ViIWQ^ z>lGwkbGBef$((hFgO%a5R*Kg)Jzw@s*3--LUhfqwkPx2Nx1-NR*t3$MX@v<_Xx)r+ PM@yu)cI|t>!e9*m^wB1G diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls.gif deleted file mode 100755 index e99e0998508aa9ff4348c1b83c5b7abab6d6910d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 467 zcmV;^0WAJUNk%w1VK4wN0J{PJ|NsC0|NphMwE$xPb8~Y5007R;&eqn}l$4YJ00000 z00000000000000000000A^8LW00031ECB!l04@M7000F4Fvuy1y*TS#sQ(opj$~<; z1k!;lalWuf2r3J@aZVBkz1kC;PUq^?fT1B#Wc=BLN|>;Tgys+itTrnnQ3HdpcuX!U zH~5T z`xeY)%Z)DuoWyu>x6QxL;H%aE)2@;b{ps{w&RK)2i&Y&=draV{^DO8~z zh&By26|2seMTMc!5EboIYC6DDumUKD+#q$`WDOgquiw9b`|hPsps?Y?h!ZPbJeb1U J$GIW^06Rhw*24e* diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/xls_small.gif deleted file mode 100755 index 347c0c36cd2bdfe146bfae6d35de6b0dd6261c3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmZ?wbhEHb6krfwSj5Kg{rh)@Hil!zk1;SXw6wMS2LlEM2F0H&j0_BH3_1)93=AN( z49o!;UU$}AnBb(X>dd-Hd;ZZWwX&YPF9bxQe{&Wn@*H@T$29f4!`XcsB-VdbK9!<1 qS-V4}uxr}Qx1M)W#YC?cvdv^EKeYOYlUv#Tj2RM>v$hK}SOWmiY&FgR diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip.gif deleted file mode 100755 index f59ecef0821b322f0c72680fad7e65d21b4fc132..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2163 zcmcJ|jaw7<0l@J~NFW3P0jdOKm{3GgL_lzl0q2th#0cmxwbduJ76>YPqAQxtw}=fS zBD#nOCq;M8h@3*_btqm1^lAutBCaP=ytaz>1Xw*@tcO;6bjAJl^pDv05BPjntLVlv1J5gb8tETuVEjoWN(C<-WsgE5lhI0VHRhOzvm*-8P9(U1&hCHVKZ z*6^H$W_cV3BnjTP!2sy3B-mqfaal>v3cPk98;bOMs$0jHPa0LEyG<1)=~ zYbjv1z!sF5)A-_G%_)MUXqu)O7Vr>?qE3v2QOb$n2u2_rz*wL`IU~lZOfDJ#mrCw3 zs$(kdW>;WpGorD;FaxY4kI_6#{_3QFl?J1iH8z4nSb$Nyli)axCkTQ8fS`Gb;z^pp z8J?mUk_W$?Sq>q2isf;JLup{frz{w2#W)Mfno!z`(k7HM6Tm_M8_rt@-iEPi4CqM! zV}#LY)0mujc}|Pj3`-!`q_&!k2!=aR!i5rQi(74h(=4#Y>~i58Zp=e5oFz02qURYs zf|DGj!JHNXb~302W_cS6P@^8FSeW2l43FE=NS6ls|D^gwB=}8UB!C1^3X}pt5&#J# zF^0Oeht@RbRLrzrI0qlz8CShCJFGTt<;P3T8ZO>HtFPQVQW8I~u0{0YC!X(z z+U~dN{;+B1)%-v>V##Ic(Eg68Z~TiY_sf&=SD(!KVBmA{bjeiTg^x$7&P-K$=Vb1A zG5biEm~1TjKydSz&7LZjW_~V-?%h|gKvo-gP^Im@I$?-2=zh1HUm{M~T-w)I@k7p$ z+UAHGdr#at9Qt>jj^PL7J5Rg5WUA&Ve6a^a zbA(=}@={^HR8caM{pql~4vOqr-Yg1mb~gK}CYO%;Y!8dmd;XeACXPwx(IcwJ!sW)5 zlDL_jQAZ`)-J?f`wpa^-lE-zzz=xZ@xs`GDK=YbqaDm%jwWBHb(Sn>;20>kRbP*(5 zv^zrPUv{A_;dDb`x-KwDF({2XkLaBlTWad^Kn@CXWfj#E6BjF` z%1PmkpC3($TYukQC0RTq*C&LR+Z~dtS9tbf=cKYMENuF;7ymZ)3e?^fGUbg}*LPVQ zf5ztvu$^I~$?n0)M|%9L|LhlpKMB7skp>&WERjnU%F^zsgOi@{A4{g6izN#$r4rt7 z%k~6od0lYFe|JZ>d;B6@iSqn!IYW_p+0qj(>H>?nwSp zU3UGGYim=iFXwh|denPcaq|)`)R!L<1R54r=px!;*X2@K7l9x^@LtE6*N?@wk`tdu z7aqJO9xZV1k+-`m^M(EXUp*iAb5fz_sUF(Zd1tvZrguCoqqsW_ek;93l2f+YG=HBq zYuN~5TWlA1vR_<(-k`LKLPXG5jXH39(W;d9%2QXyHr>R2d5T!HABNPxMQ>iy^V2+G z!=JhR6{gwZvBQOuC8H6kozG@}8i@2bUp@Rm2}#P_=e%!b*gtCLf4VVkMeWlu`_iKJ z6+i1z{5VIQ_KWlLn3>#&;RnLlOLF12hkQZf*3G|$)M#h+iGpQAA)-TX>ymuF;8KGy z*i+=6yS!Lh;(p?vUMKL6Z_kYVQ+CDkhO@J&=cBeY>7`(U!lm{otNs67B-=6GbKD>i zd9^u_-2>ezsm(#}wz~JO@QHPgzZ?zCu` zN>(%+BfD+LO&={!SSYtQA#UlyjOMV%H9~28ogh(E1^LRo2}qG6bo|8e;8tza{h1Tm z{YU+7l%J1_n&=xGs`5M8GNRaUYW12G_J-I8c4)=x-~xG1@U~@+x%rOjm2yEuuVKOb zByGV4Z@u!$?E28wX_0!bL-y|8D%l0i*Qo|oaJi&6VB`1wB_SgxKg}6i2hn}7yR zmHEzvzUc{#)jl|Cdey8T64Rok^)ao*kW$uWSd}+eU%Ot`dG5%p$TQg3{R&Mz)|PJ_ KsI)^+*8c#UHx_FE diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip_small.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/icons/zip_small.gif deleted file mode 100755 index 639556e6383f040e49a2bf4b6b521dcfa437dc4c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 612 zcmd6k&ui0A9Kc`Jrb#>Ny4o`5>`dL9MyFW(!Q#(S=XAwW4<2%w6ulHg$YDZ3YFY+D z9Wt`vAuv#)hy(`uP9tDFJb#VH5XnV()Hw(U`i?<7e5L<|pTp<;fzOrMnJMi?3Z>BR zA_4%zFgyk=U8Vtel?njx5EzF-)$#)XkO>140QSN4LDjA1!hzES&gM!aNty-2#U5~nch%wY0raRnn2(wGJ>${jd?{pnZZOqCZ zWIB+-U=YwL7$me^;yB<^PTHDHLdMt&!ktR#dfn1$R-tO&yt|^?Thq%wRK1NJpvCbaX%j!%vszSdlfJsL`}!#8PwOprocessUploads(); - -//process any file renames -$renameStatus=$manager->processRenames(); - -//process paste -$pasteStatus = (isset($_GET['paste'])) ? $manager->processPaste() : false; - -$refreshFile = ($manager->deleteFiles()) ? true : false; - -$refreshDir = false; -//process any directory functions -if($manager->deleteDirs() || $manager->processNewDir() || $pasteStatus || $renameStatus ) - $refreshDir = true; - - -$diskInfo=$manager->getDiskInfo(); - -//check for any sub-directory request -//check that the requested sub-directory exists -//and valid -if(isset($_REQUEST['dir'])) -{ - $path = rawurldecode($_REQUEST['dir']); - if($manager->validRelativePath($path)) - $relative = $path; -} - -$afruViewType = (isset($_REQUEST['viewtype'])) ? $afruViewType=$_REQUEST['viewtype'] : ''; - -if($afruViewType!="thumbview" && $afruViewType!="listview") -{ - $afruViewType=$IMConfig['view_type']; -} -//get the list of files and directories -$list = $manager->getFiles($relative); - - -/* ================= OUTPUT/DRAW FUNCTIONS ======================= */ - - -/** - * Draw folders and files. Changed by Afru - */ -function drawDirs_Files($list, &$manager) -{ - global $relative, $afruViewType, $IMConfig, $insertMode,$backend_url_enc; - - switch ($afruViewType) { - case 'listview': - $maxNameLength = 30; - ?> - - - - - $dir) - { ?> - - - - - - - - - $file) - { - ?> - - - - - - - - - -
    NameSizeImage SizeDate Modified 
    - - $maxNameLength) echo substr($dir['entry'],0,$maxNameLength)."..."; else echo $dir['entry']; - ?> - Folder - Trash - - Rename - - - Cut - Copy - -
    " alt="" /> - onmouseover="showPreview('')" onmouseout="showPreview(window.parent.document.getElementById('f_url').value)" > - $maxNameLength) echo substr($entry,0,$maxNameLength)."..."; else echo $entry; - ?> - 0){ echo $file['image'][0].'x'.$file['image'][1]; } ?> - 0) { ?> - Edit - - Trash - - Rename - - - Cut - Copy - -
    - $dir) - { ?> -
    - <?php echo $dir['entry']; ?> - -
    - $maxFolderNameLength) - echo substr($dir['entry'], 0, $maxFolderNameLength) . "..."; - else - echo $dir['entry']; ?> -
    -
    - Trash - - Rename - - - Cut - Copy - -
    -
    - $file) - { - $afruimgdimensions=$manager->checkImageSize($file['relative']); - $thisFileNameLength = $maxFileNameLength; - ?> -
    - - <?php echo $entry; ?> - <?php echo Files::formatSize($file['stat']['size']); ?> - -
    - $thisFileNameLength + 3) echo strtolower(substr($entry,0,$thisFileNameLength))."..."; else echo $entry; - ?> -
    -
    - 0 ) - { ?> - Edit - - Trash - - Rename - - - Cut - Copy - - -
    -
    - -
    No Files Found
    - -
    Invalid base directory: getImagesDir(); ?>
    - - - - - File List - - - - - - - - - - - -isValidBase() == false) { drawErrorBase($manager); } - elseif(count($list[0]) > 0 || count($list[1]) > 0) { ?> - - - - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/1x1_transparent.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/1x1_transparent.gif deleted file mode 100755 index 35d42e808f0a8017b8d52a06be2f8fec0b466a66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 ucmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7DfgJ1_m7v0g_>0Vsc?*um%9gss{N0 diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2.gif deleted file mode 100755 index 2f2ec4aaf44065c63d01ebd1bebf052a109cd2c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb2fNk%w1VPpVg0Du4hnVFgY|NkNR1O*fT0RSuj0001F0Av6F0`&}xr^)LL zpNw?cdUM^n^FM*2M~lA!dTy@MejJ({HOx3&;J@o86t#v(Ct+Xwajotn8trM<24tAba?z5hgj^1AL4im3F kZ+8DyPqY7$kKa$lzZnBd6dVyy-@y(E1vW&u@IwIrJHZi+l>h($ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2_w.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/2x2_w.gif deleted file mode 100755 index 9b560a8c57d30827c546d409d3b0610d356b54b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb2fNk%w1VPpVg0Du4hnVFgY|NkNR1O*fT001li0001F0Av6F0`&}xr^)LL zpNw?cdUM^n^FM*2M~lA!dTy@MejJ({HOx3&;J@o86t#v(Ct+Xwajotn8trM<24tAba?z5hgj^1AL4im3F kZ+8DyPqY7$kKa$lzZnBd6dVyy-@y(E1vW&u@IwIrJHQN$lmGw# diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew.gif deleted file mode 100755 index 541d09bb083aeb2981b742eefef7c2dc382fd2ea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 179 zcmV;k08IZ!Nk%w1VGjTg0J{$W|NsAZW>fzF0Q|E6+M@vf`@8@D(o7&T|IYyb>W}{Y zrT^X>|K)A}@Th4|O8?_X+R>3xQ#yhN4Ul;-Q6tqLC0V1PB4)7bF%L3*>-S(>bBh!GPchoUV@rLc8q_ hiHtB}tR)=0ibPt>-nvU-GGWiZyBvTAf`bPU06X%~Ow|AY diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew1.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderNew1.gif deleted file mode 100755 index db01742d67a18c17ac14aca2d200e3e4f7736228..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 590 zcmZ?wbhEHb45pw-^84&intO_y4!;=QjBl7nc<#`F?nM;l}2i1HGCDCMx~<@%sP6 z=G!}pKOTzj?{0Z`WzYZb^FBRZdUI#Qw>P&>Ew=i!C-VFE?@w-@`u~6CkDq_PyuA7U z*Z$i(W1rnS`gLE_^&2-oJw5sV|KhTo@Q=qz|NrQ{xY+&wm-QER_I-G?^gz4V%Ns|x zu9|Y{`2HK)<9|JFdvc=U`@5?*4oo`PC--4j*wuCRGiT0xaIoXh($N2(Pc`J(z5Vd@ z*6H2mMS$1DH8TXJe+*1HGi ztBNxj=m->lvapIUFfiyaGB7akG4L@ku&-`lXkuV$ZDnL;W@m41>tOC@>{0X;7uVHf zWS!M-;l{ckK%I?$=>ld`b`5TB#&v9LV(S=LOzd>*gA9~6haYUPCcM*Y#oUFL>;HQ>41)lLh5!)&JB$fU#Q*>R diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderUp1.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btnFolderUp1.gif deleted file mode 100755 index 7b7349db0be1806e929dcc7ff652f8dd2f0f33a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 596 zcmV-a0;~N;Nk%w1VGjTg0PX+)|NqS0uQhJdJOBTg`S!Tqw@mixqyPWd7kd<^$E5%6 zi~jb|W};>P@|*wv!~fiWMtukE*_8kHi~s9{?&s0)+J$=FM>~o--^6hK^|ofrGboK1 z>(5E?-l7S61b^dA-Lz37s1o+lWdHxcB!?RR*oxKS(*NwQIkz4~gew34>FC#}|JHJr zj|J`Cx#hxQJB%qXog?@2#N4hdJA*6#;f*1s72LjJ=FyYlx;W9F40zyB8G;Y^(p=`c zOe~iZ<;HM0i$hGkChNmT0A>K~#!}t8RWXPxGiCtf(v1U#c2@6=CAoIE9v8+@>O>)4(5|HJv^agq03%*G8b!|Eg@! zM7Wax^W%^8?Ys5pp8x;=000000000000000000000000000000A^8La6aWAKECK)k z01W^S000NEfB=Gn3>Q~}h=K_oZ3t&@i2x=DAt+iuM+sd32Ax4pHbPheSwwDj1us%a z5D;S;0#saO0d)XrEKd(S0u~p70V4wg00(qp79TWF6#)$mYGfQBDOPd}5d{G?MHL+p z3t?+9Qz}UTB?SZk4sjbhUl~j?0aZ!^5)w;hBy0*800Q_}FkylMFfhFI$Uz|>kP{C? i3~4cEhLI)*0;1WXBgzdNE(ojx_GSeI2ayB?0suSsrUV86 diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_cancel.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_cancel.gif deleted file mode 100755 index ae9401ce6c02f01c10e584001b144f91570bacea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 672 zcmZ?wbhEHblw*)%c*nr-|NsA+H*bFX_U+@xkI$b!|FwDZl}($Tm6Y6(kobQ0?*A`e z-n@8m$im{@y?am9)t_5gofi<;zjf=C;NXWwMtfXb&YU^(Tt#J@q~s@U?bAw1XQQIt zl$QQ^`SP-)eX9~jjzYW zZA(l0ck9;ORjXbY8h#20Smf>f|IC@6moI;tI`!qbb7wg?b}e6iOG#;tgTwR0#IHw= zoY}njeNWF;Ev*X+7oIOIU2kUgpuK&^;>B~KqZbtw?Xd_ea~xaSJ%|M zbaj1@m38;#&1;7b?~;-E7!z|hHumrP_d6pa-(I=0S6+UrlhZ>#zmJO-Gf)f^f3mQO zFfcIauraVP2r~#XFtGn^U}$QR(U2Dwc8IiX?rq}Ikkj@PmlRgeH|FeP;PSOjj}~NP zjJGh9;B)QeiV`spW#ndRV&aZb6Hsjq7YSixnd9P-BF?i#CP_>5U>~cxzi67SB|~Od zDB~Pfb~Z-lAT=o_FHI%xb9e7EaB?WJ@Fy^CX})uhxmiqr*Iwt=*H<5SnI4{ZV^?E% zZz|Qy=FK3)vEV|{L&wC$sytaH5=jpaHc6|yttq~udUQ%cqCt+r!{iiYagj-9lAkji zPBu3Ig@O+cnptEWXA}t;I5~507)gAv UU|RDsjEUF7R3SmkL4m;<0EvzXApigX diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_ok.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/btn_ok.gif deleted file mode 100755 index e8b027ca347e321ca590ef656a631bc58d0df138..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 326 zcmZ?wbhEHblw*)%xXZxs|NsBz&!6ACd9!Uwh1uRNb!H_dGBQRO#Z&+j}}dHiAZ zj&r3Sf84$NU`@>w<4q@X-+#Y;@!8}ByMkI5YkvIrap^hTW4BwkoXhN)8+qmB)CDKi zcHId%^e}zR8L!6K#ycV!j&%{ahYWsj2`t7Uhy4e;7R$5db^r&O$2y diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/default.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/default.gif deleted file mode 100755 index 7419c1d62f43d49f1cdb097f7a726e2f56754f6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 226 zcmV<803H8FNk%w1VPODa0Ehqp|NsAHW@aJz1O*fT001ln04D%e02TlM0=WzhhRYcL zT$_}siqC~Ix2t(#GK!G`au`TP9T`Hb;cBW=!wDVs`ZPnmHoTu}GfdiIO3JK>gr%Sh z*-#k$eJs?Tu&c`waZMoChl+leVP$Rn+Of9P_^GpQO?|sIzXTX4I7nD%c!-#&xX9S( z_y`#(IaxQDRWUagSyZTbR!P|cO0=hSqZcRl$mu6$cjYzOc*$yoW^todWxFUd<$4R2 c=ZX0A+868vH=KHC{CAhUg!G0>+)w}jI}LASz5oCK diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/div.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/div.gif deleted file mode 100755 index 6d25c022a8f6f0978cdf184ef4444d827b89ef17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42 wcmZ?wbh9u|WMYtG=wM*@|NsB~{ZDlm7#J8pA`DENJUz=#zUH0p!^&U{012H8F#rGn diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/dots.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/dots.gif deleted file mode 100755 index a213e5b3c518958b405a5b96befe7797bed1ddce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 167 zcmZ?wbhEHb6l36FSjE8b9}LoFp4octSNaKs$#bI1d$8~*@%AhP%Uc5gC4(va diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/ed_linkfile.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/ed_linkfile.gif deleted file mode 100755 index 38ac2323976df3b6f944ccc7aaceb13415484df0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288 zcmV+*0pI>dNk%w1VG;lm0L&i%|Ns9oED|#@C4zBCcxF?Aaa!8CQ~v(v^~q8A)=^d| zG@X-m{r%Ma{mALbQTgj-b4n%s{Js76rT+i*p`n@kquCQbX7Y??+mo)f$F(n=jK{{5%^xBw?edD@@=|HuIU>xTdP zyZ`U2|I`5ftN`h&0RQ!u|L1Q1=a&EF7F1t(fMZTxHbno~9sk&D|Kmf7fmf25qtT=Q zeu|p^=p_H$HOR=rA^8LW00000ECK)l01p5U000GgARvx_Hk}-)0!9i^^T)rF$nA^8LW00000EC2uj01p5S000GYU=%T=@c?LwMnM}4*{Pz8`*!gR z)K!8&iQuNuK%fS$!X#n4cpLzvq+uaQY=nfufh=$)h)qDFK@b!Q0i;kRP#Vce#h@-A v9uCJRa3K&52Xqh%goG3=b`=r>0y>9(fCr2^7zGBG1_P5b7-#~YpdkP|0FH2~ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_cut.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_cut.gif deleted file mode 100755 index 3d11146d5c3072e74f2454aa9e936f30d078d938..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 217 zcmV;~04D!ONk%w1VGjTg0L&i%|NsBj*Vk8g%V=|hP>A3!P>{L4%&oMyuDs7jTyHf> zWR{}2MQg6t-{*;@+u`QrN@bCmnVG=G%;VzTC_Zg)kkFi~z-X24-{#GYuFd*p7Z=s)-@ZgYeVoX_W zi~sPj@aUlMz%ZPv!2kdMU{FAXZc47a&q7mV!_3%^j)&0O@YmPZ-{>2!vNw52yM85FF{R20+3-Y8R&Ykq6#cY5C}FMjzSSm0?Uth2D1iK z5RC?buz5KC777#-6>obT4|5iS6B9gp1OXfwe+~i?W&;gh3K)wN5}^VY0|^ii1qv2s PtY#@93I(#WvLOIF^LA=s diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_pencil.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_pencil.gif deleted file mode 100755 index 04fe5a275cb09ed77252f57e6d0eea753c5ba2c9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmV-~0DJ#ONk%w1VGjTg0J{JH|NsAHW@Z2Y0A^;H%*-?Y%w|hp!g<%QDQ+@)WC{(1Q7$FAe|AHMqj@b!-sD`(7KG;imoo}HV!H?5nvV#SP&>n8Tj zT>bvbuihD}-+li5;Pv-!KmW{MJn!9?-(P?JWuOgE{K>)yGFgX_fsuiifro*CEzY6A zfiaMS;lz?pD?<3@H7zfR;$&gDmUC?qrwfbV$;S^94OGN^6cjCFggC!fGjX-B%x$V$ xtREo7$j8K?#KFPcCeJIy$i~FR#?3u}jZcPU2Gfk$b3A=~=ef8oU~pux1^^WHbKn2~ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_trash.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/edit_trash.gif deleted file mode 100755 index 8754ac7e6b2e814d1fb99acf9f107511ae5758e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmZ?wbhEHbfN{L z(v5t4e3p46|NrKhnVHWw3-u2(8-nCNy^4I_FzVh8{aA!*Y z^|RyCqyO=)(Xvzj@}BwVee%y;|M14<$4KniVdBh*@5of*vM}Doc+;&r*uQf1?4RD) z#j>oJiFrxv-?^cYVxEOL*12T1pIzU-Q>lj?yOksI=8xjVL;wH)A^8La6aWAKEEND2 z044w>000O7fB=F3DRpZoG969_H*yq%kdcy;GB+zSB`qmIf-QVIkCUR4H5VKe6)-Ro z5(y6#Ty`0xDPnF`9R~+w7@>ohAqWA(!~qT*PID|Qhi^`nMI~D)6&e;7GZ>IHH#HB% z;1*RQR+*b2Ar?Rn2?hZQR|j`aypJ+V9N^#v9Q_XL2?7YXqUMJP5xQ1zDG|j-9uO1` zaEPD}oG>#559;!XjcCs%UV)wX0XJ5HtiyLIMN;sAUGIHS;Bn z2qFjnE^yK6fR)|5cp<=uqQZsQ4qJwNL3m+Akrq+3pbPP!vE#>(ALwnNg2${5ONJPc z5d@u4t`Z`M9!`aqLnVebIIl-=FhIPx@#Dyk z>mGrl#{>WsHNeC9Cp|t1V13* z8-*WyP{J4q{1Y2=YcLU6$U z6yXi>fe}YQLBNz$R%zvxRw`-24v^@wg_Kx^DJB6=U{O|=2cQAP0&KSF=9_T7`NV;c zT##l1c;>0+o_ywchFeCwkOP8(o68fW-?fulqik%S79n(*rkO6-t9vBye+hqBCi+D5LUmU?OqGYp%-1Tl^R2?|6M zfvc{h`iiQm#2V}FC@5U82d~xwtAn=O?rZP_I^=+^5+H0lL8}HwEXV{ItlO;w#0Ccf F06W1OOS%96 diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/hand.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/hand.gif deleted file mode 100755 index 23c900fe7be1238102b648a5174ff8a0e7a454e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103 zcmV-t0GR(rNk%w1VH5xq0GR*)|NsAHW|`U9*#H0lA^8La6aWAKECK)m01*HY0006w zgbxwOrs-Z=iP{;R6ZBkIfg1P)Lf9b|mo*+cy5^a>$r;w;a diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/islocked2.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/islocked2.gif deleted file mode 100755 index 1dfd2ec73f9454422198e59bc23e8934ebfa1cc1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 321 zcmZ?wbhEHb%$aj%_MSeu z`{>c5#}02jxPQ~WeS0=-+O%cUvbAg1tXw{4*|KFbXU^>D>27Upsj8|fEiFw;ON)+< z4h|0X^z?Lca2&W5*^9hPbigU4wbQJS)Ix<)T0I;fFvH$=8 diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/locked.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/locked.gif deleted file mode 100755 index 92472389de88a8b85aa389cdf5e84edb47e8ec62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 398 zcmZ?wbhEHblw?p~xXZxs|Nnmm28Q?V-)m@S7#kb+^mHFPyfrN?ZQs5`bD9EK1C5-3D|vUw7Gdlt)g%}Ys5PK=9x V67wwbMcAu{-f!MH2RkxY0|2>WdrANR diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/measure.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/measure.gif deleted file mode 100755 index 9e496db4c5bb661ae1d1a538b661d0ffab409466..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 93 zcmV-j0HXg#Nk%w1VH5xq0GR*)|NsAHW|`U9*#H0lA^8La6aWAKECK)m01*HY0006m zgpUx(xZ4s`@jP3nZr2GRVMg$U(^xuOik%8OiZ7_TBprG}*y*TU5yZ>M)j$~<`XsWJk>%MR-&vb3yc&_h!@BhG{a7Zi~kI1BQ z$!t2G(5Q4uty+TwfndVylY5^Gu%mmFmzWFb z>zc#j4Ev%|)sIE4TPg3GgwQ6y~~_3*-=$!026g_=P) z_swIY1xjOO9CXlHRd}5I*+ZC7Ck007;#?{=QY22V65Bn^SrQe_QsI22@_KWt1E!SR zUbWg_fG{l~+3K6b#giGGHRG*xiK<>g zfUk~wXV{E@IICef;MYJULN1cgR@Nz5GTc7RV1f3n_94#Fdh2Ei=?|kL0>zL=@U^yf z<(J{q;y$}py5-()Go+#j>v8f2qtAn@YTKzt&6kT6P`ocY1KOrl0SZWX{q2>}dcjx0 zcve;PQB!vrh#6n!(Ke1pTf|feg38cBl0Me$g%F0eL3CMnyRGGuNFy#}9{`N>kz$Gw zr03sx;{X7^q*7#xKzD@& z#8vs{pkK8j51fQ1DhHRyDC+2=kVY!$q?A@_>7|%vs_CYjcIxS;poS{ysH9Sm00290 Cnshw? diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/rotate.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/rotate.gif deleted file mode 100755 index cf8764f21ddf143b333f68e29c07e0275db21727..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85 zcmV-b0IL5-Nk%w1VH5xq0GR*)|NsAHW|`U9*#H0lA^8La6aWAKECc`q01f~S0006e rgae^yoeG46Z3W>3Gg7*QePT3<$X1eJiKb-hpsP5yFqbqlEfxSfQ|udY diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/save.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/save.gif deleted file mode 100755 index dadb9b07564106e9ba7820e00fab18c4e0cf2fa1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95 zcmV-l0HFUzNk%w1VH5xq0GR*)|NsAHW|`U9+4lDKA^8La6aWAKECT=o01p5U0006o zjE@Mh;O|%v5<*FvjVrU=OcjWYTNx!rlz~^P9^I#MVyc92Vhc;0@C^jSqOn*206S&Z BBK!aV diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/scale.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/scale.gif deleted file mode 100755 index e36bec39c76d847bb51df496049e25bec56242a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106 zcmV-w0G0noNk%w1VH5xq0GR*)|NsAHW|`U9*#H0lA^8La6aWAKECB!m01^NX0006z zgb}H$XCb1T0y^t5enPj6bXO9AX4sh`0(2r2urRxFZELw%7(dLPJ5YwD9m{B_36Zg; M44J&?l!pQUI|L&oB>(^b diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/spacer.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/spacer.gif deleted file mode 100755 index fc2560981ee1caca400e225e48d282106f907f2d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 wcmZ?wbhEHbWMp7uXkcLY|NlP&1B2pE7Df>U1_m7l1_lO@3T9)1_a+C{ebgV%CDDiF&7d-t9VDlHD#H&cI*|04xw2`v3p{ diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/t_white.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/t_white.gif deleted file mode 100755 index bcddeec9e8ef80c84d9c439f6e436f9ed228225a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 85 zcmZ?wbhEHb6k!lyn90EK?AdT<)4|^qqbzIlD^o5TUC+Axp6J@Xl04tswUH||9 diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked.gif deleted file mode 100755 index e28e7d1bf9e549679e1bcf14bc11a1614e301d04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218 zcmV<0044uNNk%w1VHp4*0J{$W|NsBh)zqS*qW}N@_z56-dU`fCHp|1i?d|RITWPzy zwwNU^{>97Yf{5ed*QQlmA^8LW00000ECv7v01^Na000DsP{>KEa6^R6J5R)s1wiQ> zMS1~XIF^7SAhgsn!CMxHkRl5LfdR;AV7!9D&=3-fIsngL2of4FBWZ_V3KxfL6lHxB z!X+*2@c0_e;$x|OH7MX|9m8!mprJ>51PKNLeScbl3kU^ohKLylLJ2-HK6rp22?GI! UR7#K=2_B>z1E;8|s;LnGJ5}UX6951J diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked2.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked2.gif deleted file mode 100755 index ce703c94cb7c48a3acdfeb1ab4dc745054c31a2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmZ?wbhEHbJ!{vlS+;DMr>Cc} zv2jmNcWG&9aB%R|t5?sQIrHq*W zkp_l#!8M(RES(N6PQn}wUv!)v_;7nHEOC%v;bL$O)G%RCn#8#@X=j4bEZ*ghe>ONR N5?q;L#i+<&4FD>CJG%e? diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked_empty.gif b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/img/unlocked_empty.gif deleted file mode 100755 index fe4e0d4bbda523432c60edad8f777b42adbcd7bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73 zcmZ?wbhEHblw?p~n8*ME|G|KPfkE*n3#$kN6N3&&6eQ2UBsHaf<>|Nli|1^))xG)N Up5Od!k36P5>s -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - ">List View": ">Lista", - ">Thumbnail View": ">Miniaturas", - "A:": "A:", - "Absbottom": "Inferior absoluto", - "Absmiddle": "Meio absoluto", - "Align": "Alinhamento", - "Alt": "Alt", - "Angle:": "Angulo:", - "Baseline": "Linha de base", - "Border": "Borda", - "Border Color": "Côr da Borda", - "Bottom": "Inferior", - "Cancel": "Cancelar", - "Clear": "Limpar", - "Color": "Côr", - "Constrain Proportions": "Manter Proporcionalidade", - "Copy": "Copiar", - "Crop": "Recortar", - "Cut": "Cortar", - "Directory": "Diretório", - "Directory Up": "Diretório Acima", - "Edit": "Editar", - "File List": "Lista de Arquivos", - "File Manager": "Gerenciador de Arquivos", - "Filename:": "Nome do Arquivo:", - "Flip Horizontal": "Espelhar Horizontalmente", - "Flip Image": "Espelhar Imagem", - "Flip Vertical": "Espelhar Verticalmente", - "Folder": "Pasta", - "GIF format is not supported, image editing not supported.": "Formato GIF não é suportado, não é possível editar imagem.", - "H:": "A:", - "Height": "Altura", - "Height:": "Altura:", - "Image Editor": "Editor de Imagem", - "Image Format": "Formato da Imagem", - "Image Selection": "Seleção de Imagem", - "Insert File Link": "Inserir Link de Arquivo", - "Invalid base directory:": "Diretório base inválido", - "JPEG High": "JPEG Alto", - "JPEG Low": "JPEG Baixo", - "JPEG Medium": "JPEG Médio", - "Left": "Esquerda", - "Loading": "Carregando", - "Lock": "Travar", - "Margin": "Margem", - "Marker": "Marcar", - "Maximum folder size limit reached. Upload disabled.": "Atingido o limite máximo da pasta. Envio desativado.", - "Measure": "Medida:", - "Middle": "Meio", - "New Folder": "Nova Pasta", - "New window (_blank)": "Nova janela (_blank)", - "No Files Found": "Nenhum Arquivo Encontrado", - "No Image Available": "Nenhuma Imagem Disponível", - "None (use implicit)": "Nenhum (uso implícito)", - "Not set": "Não definido", - "Padding": "Espaçamento Interno", - "Please enter value": "Por favor, entre o valor", - "Positioning of this image": "Posicionamento desta imagem", - "Quality:": "Qualidade:", - "Refresh": "Atualizar", - "Rename": "Renomear", - "Resize": "Redimencionar", - "Right": "Direita(o)", - "Rotate": "Rotacionar", - "Rotate 180 °": "Rotacionar 180 °", - "Rotate 90 ° CCW": "Rotacionar 90 ° anti-horário", - "Rotate 90 ° CW": "Rotacionar 90 ° horário", - "Rotate Image": "Rotacionar Imagem", - "Same frame (_self)": "Mesma frame (_self)", - "Save": "Gravar", - "Start X:": "Início X:", - "Start Y:": "Início Y", - "Target Window": "Janela Destino", - "Texttop": "Texto no topo", - "Title (tooltip)": "Título (tooltip)", - "Top": "Topo", - "Top frame (_top)": "Frame do topo (_top)", - "Trash": "Lixo", - "Upload": "Enviar", - "W:": "L:", - "Width": "Largura", - "Width:": "Largura:", - "X:": "X:", - "Y:": "Y:", - "You must select some text before making a new link.": "Você precisa selecionar um texto antes de criar um novo link." -} diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/manager.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/manager.php deleted file mode 100755 index 998e6c6ca..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/manager.php +++ /dev/null @@ -1,285 +0,0 @@ -getDirs(); - - // calculate number of table rows to span for the preview cell - $num_rows = 4; // filename & upload & disk info message & width+margin - - if ($insertMode=='image') - { - if ($IMConfig['images_enable_styling'] === false) - { - $hidden_fields[] = 'f_margin'; - $hidden_fields[] = 'f_padding'; - $hidden_fields[] = 'f_border'; - $hidden_fields[] = 'f_backgroundColor'; - $hidden_fields[] = 'f_borderColor'; - $num_rows +=2; - } - else if ($IMConfig['use_color_pickers'] === false) - { - $hidden_fields[] = 'f_backgroundColor'; - $hidden_fields[] = 'f_borderColor'; - $num_rows +=2; - } - - if ($IMConfig['images_enable_align'] === false) - { - $hidden_fields[] = 'f_align'; - } - if ($IMConfig['images_enable_alt']) - { - $num_rows++; - } - else - { - $hidden_fields[] = 'f_alt'; - } - if ($IMConfig['images_enable_title']) - { - $num_rows++; - } - else - { - $hidden_fields[] = 'f_title'; - } - } - - if ($insertMode == 'link') - { - if ($IMConfig['link_enable_target'] === false) - { - $hidden_fields[] = 'f_target'; - } - $num_rows +=2; - } -?> - - - - Insert <?php echo ($insertMode == 'image' ? 'Image' : 'File Link') ?> - - - - - - - - - - - -
    Insert
    -
    - - - - -
    File Manager - - - - - -
    - - - - - Directory Up - - - - New Folder - - - - -
    -
    Loading...
    - -
    -
    - -
    - - - - - - - - - - - - - - - - - - -getImagesDir()) > ($IMConfig['max_foldersize_mb']*1048576)) -{ ?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - -
    - -

    - -
    Maximum folder size limit reached. Upload disabled. - - - - - -
    -( max.)
    -
    "; ?>
    Constrained Proportions - - -
    - -
    - Color - -
    - - Border Color
    - - -
    -
    - - - -
    -
    -
    - - diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/prompt.html b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/prompt.html deleted file mode 100755 index ffe6784d3..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/prompt.html +++ /dev/null @@ -1,92 +0,0 @@ - - - - - - - - - - -
    Please enter value
    -
    -
    - - -
    -
    -
    - - -
    -
    - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/resizer.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/resizer.php deleted file mode 100755 index 13ee6c382..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/resizer.php +++ /dev/null @@ -1,83 +0,0 @@ -&height=[&to=/relative/path/to/newimage.jpg] - * relative to the base_dir given in config.inc.php - * This is pretty much just thumbs.php with some mods, I'm too lazy to do it properly - * @author $Author:ray $ - * @version $Id:resizer.php 922 2007-12-30 14:35:46Z ray $ - * @package ImageManager - */ - -require_once('config.inc.php'); -require_once('Classes/ExtendedFileManager.php'); -require_once('../ImageManager/Classes/Thumbnail.php'); - -function js_fail($message) { echo 'alert(\'ha ' . $message . '\'); false'; exit; } -function js_success($resultFile) { echo '\'' . $resultFile . '\''; exit; } - -//check for img parameter in the url -if(!isset($_GET['img']) || !isset($_GET['width']) || !isset($_GET['height'])) -{ - js_fail('Missing parameter.'); -} - -$manager = new ExtendedFileManager($IMConfig); - -//get the image and the full path to the image -$image = $_GET['img']; -$fullpath = Files::makeFile($manager->getImagesDir(),$image); - -//not a file, so exit -if(!is_file($fullpath)) -{ - js_fail("File {$fullpath} does not exist."); -} - -$imgInfo = @getImageSize($fullpath); - -//Not an image, bail out. -if(!is_array($imgInfo)) -{ - js_fail("File {$fullpath} is not an image."); -} - -if(!isset($_GET['to'])) -{ - $resized = $manager->getResizedName($fullpath,$_GET['width'],$_GET['height']); - $_GET['to'] = $manager->getResizedName($image,$_GET['width'],$_GET['height'], FALSE); -} -else -{ - $resized = Files::makeFile($manager->getImagesDir(),$_GET['to']); -} - -// Check to see if it already exists -if(is_file($resized)) -{ - // And is newer - if(filemtime($resized) >= filemtime($fullpath)) - { - js_success($_GET['to']); - } -} - - - -// resize (thumbnailer will do this for us just fine) -$thumbnailer = new Thumbnail($_GET['width'],$_GET['height']); -$thumbnailer->proportional = FALSE; -$thumbnailer->createThumbnail($fullpath, $resized); - -// did it work? -if(is_file($resized)) -{ - js_success($_GET['to']); -} -else -{ - js_fail("Resize Failed."); -} -?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/thumbs.php b/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/thumbs.php deleted file mode 100755 index 849bb192e..000000000 --- a/ccm-core/web/assets/xinha/plugins/ExtendedFileManager/thumbs.php +++ /dev/null @@ -1,85 +0,0 @@ -getImagesDir(),$image); - -//not a file, so exit -if(!is_file($fullpath)) - exit(); - -$imgInfo = @getImageSize($fullpath); - -//Not an image, send default thumbnail -if(!is_array($imgInfo)) -{ - //show the default image, otherwise we quit! - $default = $manager->getDefaultThumb(); - if($default) - { - header('Location: '.$default); - exit(); - } -} -//if the image is less than the thumbnail dimensions -//send the original image as thumbnail -if ($imgInfo[0] <= $IMConfig['thumbnail_width'] - && $imgInfo[1] <= $IMConfig['thumbnail_height']) - { - header('Location: '.$manager->getFileURL($image)); - exit(); - } - -//Check for thumbnails -$thumbnail = $manager->getThumbName($fullpath); -if(is_file($thumbnail)) -{ - //if the thumbnail is newer, send it - if(filemtime($thumbnail) >= filemtime($fullpath)) - { - header('Location: '.$manager->getThumbURL($image)); - exit(); - } -} - -//creating thumbnails -$thumbnailer = new Thumbnail($IMConfig['thumbnail_width'],$IMConfig['thumbnail_height']); -$thumbnailer->createThumbnail($fullpath, $thumbnail); - -//Check for NEW thumbnails -if(is_file($thumbnail)) -{ - //send the new thumbnail - header('Location: '.$manager->getThumbURL($image)); - exit(); -} -else -{ - //show the default image, otherwise we quit! - $default = $manager->getDefaultThumb(); - if($default) - header('Location: '.$default); -} -?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Filter/filter.js b/ccm-core/web/assets/xinha/plugins/Filter/filter.js deleted file mode 100644 index 08685b07e..000000000 --- a/ccm-core/web/assets/xinha/plugins/Filter/filter.js +++ /dev/null @@ -1,46 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Filter/filter.js */ -function Filter(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"filter",tooltip:this._lc("Filter"),image:_1.imgURL("ed_filter.gif","Filter"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -if(!_2.Filters){ -_2.Filters=["Paragraph","Word"]; -} -for(var i=0;i<_1.config.Filters.length;i++){ -_3.add(_1.config.Filters[i]); -} -_2.addToolbarElement("filter","removeformat",1); -} -Filter._pluginInfo={name:"Filter",version:"1.0",developer:"Udo Schmal (gocher)",developer_url:"",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de/",c_owner:"Udo Schmal & Schaffrath-NeueMedien",license:"htmlArea"}; -Filter.prototype.add=function(_6){ -if(eval("typeof "+_6)=="undefined"){ -var _7=Xinha.getPluginDir("Filter")+"/filters/"+_6+".js"; -var _8=document.getElementsByTagName("head")[0]; -var _9=Xinha.is_ie?"onreadystatechange":"onload"; -var _a=document.createElement("script"); -_a.type="text/javascript"; -_a.src=_7; -_a[_9]=function(){ -if(Xinha.is_ie&&!/loaded|complete/.test(window.event.srcElement.readyState)){ -return; -} -}; -_8.appendChild(_a); -} -}; -Filter.prototype._lc=function(_b){ -return Xinha._lc(_b,"Filter"); -}; -Filter.prototype.buttonPress=function(_c){ -var _d=_c.getInnerHTML(); -for(var i=0;i<_c.config.Filters.length;i++){ -_d=eval(_c.config.Filters[i])(_d); -} -_c.setHTML(_d); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Filter/filters/paragraph.js b/ccm-core/web/assets/xinha/plugins/Filter/filters/paragraph.js deleted file mode 100644 index 0edb322fd..000000000 --- a/ccm-core/web/assets/xinha/plugins/Filter/filters/paragraph.js +++ /dev/null @@ -1,10 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Filter/filters/paragraph.js */ -Paragraph=function(_1){ -_1=_1.replace(/<\s*p[^>]*>/gi,""); -_1=_1.replace(/<\/\s*p\s*>/gi,""); -_1=_1.trim(); -return _1; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Filter/filters/word.js b/ccm-core/web/assets/xinha/plugins/Filter/filters/word.js deleted file mode 100644 index e114b568a..000000000 --- a/ccm-core/web/assets/xinha/plugins/Filter/filters/word.js +++ /dev/null @@ -1,30 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Filter/filters/word.js */ -Word=function(_1){ -_1=_1.replace(//gi,""); -_1=_1.replace(//gi,""); -_1=_1.replace(/<\/?\s*HTML[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*BODY[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*META[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*SPAN[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*FONT[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*IFRAME[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*STYLE[^>]*>(.|[\n\r\t])*<\/\s*STYLE\s*>/gi,""); -_1=_1.replace(/<\s*TITLE[^>]*>(.|[\n\r\t])*<\/\s*TITLE\s*>/gi,""); -_1=_1.replace(/<\s*SCRIPT[^>]*>[^\0]*<\/\s*SCRIPT\s*>/gi,""); -_1=_1.replace(/<\s*HEAD[^>]*>(.|[\n\r\t])*<\/\s*HEAD\s*>/gi,""); -_1=_1.replace(/<\s*(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\s*(\w[^>]*) style="([^"]*)"([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\s*(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\\?\?xml[^>]*>/gi,""); -_1=_1.replace(/<\/?\w+:[^>]*>/gi,""); -_1=_1.replace(/ /," "); -_1=_1.replace(/<\s*p[^>]*><\s*br\s*\/?>\s*<\/\s*p[^>]*>/gi,"
    "); -_1=_1.replace(/<\s*p[^>]*>/gi,""); -_1=_1.replace(/<\/\s*p[^>]*>/gi,"
    "); -_1=_1.replace(/(\s*
    \s*)*$/,""); -_1=_1.trim(); -return _1; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Filter/img/ed_filter.gif b/ccm-core/web/assets/xinha/plugins/Filter/img/ed_filter.gif deleted file mode 100755 index 53180a80ba24643381b413ca4dcfebfc52f50c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQr^Nk%w1VG;lm0Nnrp|NsBSgjm+rGVky2>FGJ`?&tUS_2Azx=+3^}xRt}j zR?d`L%*>hb@j0D`LDbZt@b){{+-us~ndRm+&CM$J@iF1y(%|6Ex~Gu4yF|{;Q}pyO z&$uSc%rpG|-RR@mdP)Vv#3$Fw*y`&m*uY!I$6J|Z0O#k}=jGAh)W^7?C-n93$D4B3 z*b~psp^#(?&BAYpZ3qyE3L_mn6apDo98U2NI(z{OWr6_)15zRm9Xlk6QW6an94{aa gQ9~#iBU=O$3M)h>4 -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Filter": "Filtro" -}; diff --git a/ccm-core/web/assets/xinha/plugins/FindReplace/FindReplace.js b/ccm-core/web/assets/xinha/plugins/FindReplace/FindReplace.js new file mode 100644 index 000000000..065e68390 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/FindReplace/FindReplace.js @@ -0,0 +1,42 @@ +/*---------------------------------------*\ + Find and Replace Plugin for HTMLArea-3.0 + ----------------------------------------- + author: Cau guanabara + e-mail: caugb@ibest.com.br +\*---------------------------------------*/ + +function FindReplace(editor) { +this.editor = editor; +var cfg = editor.config; +var self = this; +cfg.registerButton("FR-findreplace", this._lc("Find and Replace"), + editor.imgURL("ed_find.gif", "FindReplace"), false, + function(editor) { self.buttonPress(editor); }); +cfg.addToolbarElement(["FR-findreplace","separator"], ["formatblock","fontsize","fontname"], -1); +} + +FindReplace.prototype.buttonPress = function(editor) { +FindReplace.editor = editor; +var sel = editor.getSelectedHTML(); + if(/\w/.test(sel)) { + sel = sel.replace(/<[^>]*>/g,""); + sel = sel.replace(/ /g,""); + } +var param = /\w/.test(sel) ? {fr_pattern: sel} : null; +editor._popupDialog("plugin://FindReplace/find_replace", null, param); +}; + +FindReplace._pluginInfo = { + name : "FindReplace", + version : "1.0 - beta", + developer : "Cau Guanabara", + developer_url : "mailto:caugb@ibest.com.br", + c_owner : "Cau Guanabara", + sponsor : "Independent production", + sponsor_url : "http://www.netflash.com.br/gb/HA3-rc1/examples/find-replace.html", + license : "htmlArea" +}; + +FindReplace.prototype._lc = function(string) { + return Xinha._lc(string, 'FindReplace'); +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FindReplace/find-replace.js b/ccm-core/web/assets/xinha/plugins/FindReplace/find-replace.js deleted file mode 100644 index 925c5a77a..000000000 --- a/ccm-core/web/assets/xinha/plugins/FindReplace/find-replace.js +++ /dev/null @@ -1,27 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/FindReplace/find-replace.js */ -function FindReplace(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton("FR-findreplace",this._lc("Find and Replace"),_1.imgURL("ed_find.gif","FindReplace"),false,function(_4){ -_3.buttonPress(_4); -}); -_2.addToolbarElement(["FR-findreplace","separator"],["formatblock","fontsize","fontname"],-1); -} -FindReplace.prototype.buttonPress=function(_5){ -FindReplace.editor=_5; -var _6=_5.getSelectedHTML(); -if(/\w/.test(_6)){ -_6=_6.replace(/<[^>]*>/g,""); -_6=_6.replace(/ /g,""); -} -var _7=/\w/.test(_6)?{fr_pattern:_6}:null; -_5._popupDialog("plugin://FindReplace/find_replace",null,_7); -}; -FindReplace._pluginInfo={name:"FindReplace",version:"1.0 - beta",developer:"Cau Guanabara",developer_url:"mailto:caugb@ibest.com.br",c_owner:"Cau Guanabara",sponsor:"Independent production",sponsor_url:"http://www.netflash.com.br/gb/HA3-rc1/examples/find-replace.html",license:"htmlArea"}; -FindReplace.prototype._lc=function(_8){ -return Xinha._lc(_8,"FindReplace"); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/FindReplace/fr_engine.js b/ccm-core/web/assets/xinha/plugins/FindReplace/fr_engine.js index a3ac2b9e9..fc6708d36 100644 --- a/ccm-core/web/assets/xinha/plugins/FindReplace/fr_engine.js +++ b/ccm-core/web/assets/xinha/plugins/FindReplace/fr_engine.js @@ -1,147 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/FindReplace/fr_engine.js */ -var FindReplace=window.opener.FindReplace; -var editor=FindReplace.editor; -var is_mo=window.opener.Xinha.is_gecko; -var tosearch=""; -var pater=null; -var buffer=null; -var matches=0; -var replaces=0; -var fr_spans=new Array(); -function _lc(_1){ -return (window.opener.Xinha._lc(_1,"FindReplace")); -} -function execSearch(_2){ -var _3=editor._doc.body.innerHTML; -if(buffer==null){ -buffer=_3; -} -if(_2["fr_pattern"]!=tosearch){ -if(tosearch!=""){ -clearDoc(); -} -tosearch=_2["fr_pattern"]; -} -if(matches==0){ -er=_2["fr_words"]?"/(?!<[^>]*)(\\b"+_2["fr_pattern"]+"\\b)(?![^<]*>)/g":"/(?!<[^>]*)("+_2["fr_pattern"]+")(?![^<]*>)/g"; -if(!_2["fr_matchcase"]){ -er+="i"; -} -pater=eval(er); -var _4=""; -var _5=""; -var _6=_3.replace(pater,_4+"$1"+_5); -editor.setHTML(_6); -var _7=editor._doc.body.getElementsByTagName("span"); -for(var i=0;i<_7.length;i++){ -if(/^frmark/.test(_7[i].id)){ -fr_spans.push(_7[i]); -} -} -} -spanWalker(_2["fr_pattern"],_2["fr_replacement"],_2["fr_replaceall"]); -} -function spanWalker(_9,_a,_b){ -var _c=false; -clearMarks(); -for(var i=matches;i=fr_spans.length-1); -if(_f||!_c){ -var _10=_lc("Done")+":\n\n"; -if(matches>0){ -if(matches==1){ -_10+=matches+" "+_lc("found item"); -}else{ -_10+=matches+" "+_lc("found items"); -} -if(replaces>0){ -if(replaces==1){ -_10+=",\n"+replaces+" "+_lc("replaced item"); -}else{ -_10+=",\n"+replaces+" "+_lc("replaced items"); -} -} -hiliteAll(); -disab("fr_hiliteall",false); -}else{ -_10+="\""+_9+"\" "+_lc("not found"); -} -alert(_10+"."); -} -} -function clearDoc(){ -var doc=editor._doc.body.innerHTML; -var er=/(]*id=.?frmark[^>]*>)([^<>]*)(<\/span>)/gi; -editor._doc.body.innerHTML=doc.replace(er,"$2"); -pater=null; -tosearch=""; -fr_spans=new Array(); -matches=0; -replaces=0; -disab("fr_hiliteall,fr_clear",true); -} -function clearMarks(){ -var _13=editor._doc.body.getElementsByTagName("span"); -for(var i=0;i<_13.length;i++){ -var elm=_13[i]; -if(/^frmark/.test(elm.id)){ -var _16=editor._doc.getElementById(elm.id).style; -_16.backgroundColor=""; -_16.color=""; -_16.fontWeight=""; -} -} -} -function hiliteAll(){ -var _17=editor._doc.body.getElementsByTagName("span"); -for(var i=0;i<_17.length;i++){ -var elm=_17[i]; -if(/^frmark/.test(elm.id)){ -var _1a=editor._doc.getElementById(elm.id).style; -_1a.backgroundColor="highlight"; -_1a.color="white"; -_1a.fontWeight="bold"; -} -} -} -function resetContents(){ -if(buffer==null){ -return; -} -var _1b=editor._doc.body.innerHTML; -editor._doc.body.innerHTML=buffer; -buffer=_1b; -} -function disab(_1c,_1d){ -var _1e=_1c.split(/[,; ]+/); -for(var i=0;i<_1e.length;i++){ -document.getElementById(_1e[i]).disabled=_1d; -} -} - +var FindReplace=window.opener.FindReplace;var editor=FindReplace.editor;var is_mo=window.opener.Xinha.is_gecko;var tosearch="";var pater=null;var buffer=null;var matches=0;var replaces=0;var fr_spans=new Array();function _lc(a){return(window.opener.Xinha._lc(a,"FindReplace"))}function execSearch(params){var ihtml=editor._doc.body.innerHTML;if(buffer==null){buffer=ihtml}if(params.fr_pattern!=tosearch){if(tosearch!=""){clearDoc()}tosearch=params.fr_pattern}if(matches==0){er=params.fr_words?"/(?!<[^>]*)(\\b"+params.fr_pattern+"\\b)(?![^<]*>)/g":"/(?!<[^>]*)("+params.fr_pattern+")(?![^<]*>)/g";if(!params.fr_matchcase){er+="i"}pater=eval(er);var tago="";var tagc="";var newHtml=ihtml.replace(pater,tago+"$1"+tagc);editor.setHTML(newHtml);var getallspans=editor._doc.body.getElementsByTagName("span");for(var i=0;i=fr_spans.length-1);if(f||!g){var e=_lc("Done")+":\n\n";if(matches>0){if(matches==1){e+=matches+" "+_lc("found item")}else{e+=matches+" "+_lc("found items")}if(replaces>0){if(replaces==1){e+=",\n"+replaces+" "+_lc("replaced item")}else{e+=",\n"+replaces+" "+_lc("replaced items")}}hiliteAll();disab("fr_hiliteall",false)}else{e+='"'+a+'" '+_lc("not found")}alert(e+".")}}function clearDoc(){var a=editor._doc.body.innerHTML;var b=/(]*id=.?frmark[^>]*>)([^<>]*)(<\/span>)/gi;editor._doc.body.innerHTML=a.replace(b,"$2");pater=null;tosearch="";fr_spans=new Array();matches=0;replaces=0;disab("fr_hiliteall,fr_clear",true)}function clearMarks(){var d=editor._doc.body.getElementsByTagName("span");for(var b=0;b
    Options - + Whole words only
    - + Case sensitive search
    @@ -137,7 +137,7 @@ letter-spacing: 2px; alert(_lc('Inform a replacement word')); return false; } - clearDoc();"> + clearDoc();" value="on"> Substitute all occurrences @@ -159,4 +159,4 @@ letter-spacing: 2px; - \ No newline at end of file + diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/README b/ccm-core/web/assets/xinha/plugins/FormOperations/README deleted file mode 100755 index d816c67e2..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/README +++ /dev/null @@ -1,32 +0,0 @@ -Form Operations Plugin ----------------------- - -Usage: - 1. Follow the standard procedure for loading a plugin. - 2. You may configure the plugin by setting the following configuration variables, or leave them as the defaults. - - xinha_config.FormOperations.multiple_field_format - = 'php' - this will cause checkbox and "multiple" select fields to have [] - appended to thier field names silently - = 'unmodified' - field names will not be silently modified - - xinha_config.FormOperations.allow_edit_form - = true - the user will be able to edit the action, and method of forms - = false - neither action, nor method is editable - - xinha_config.FormOperations.default_form_action - = 'whatever you want' - the default form action to set when inserting a form. The standard one is a php file in the Form Operations directory which will email the form post to enquiries@ - - xinha_config.FormOperations.default_form_html - = '
    whatever you want here
    ' - the default html to insert when inserting a form. The standard one is a basic contact form. If you would like to specify an external file which contains the HTML for the form, you may do so via - = HTMLArea._geturlcontent('http://absolute/url/to/file.html') - see default_form.html for a suitable example, pay attention to the form tag. - - - diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/default_form.html b/ccm-core/web/assets/xinha/plugins/FormOperations/default_form.html deleted file mode 100755 index 9e7d4e12a..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/default_form.html +++ /dev/null @@ -1,36 +0,0 @@ -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Contact Us
    Your name:
    Your email:
    Message Subject:
    What are your hobbies? - Marbles
    - Conkers
    - Jacks -
    Message Body:
    - -
    -    -
    \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/form-operations.js b/ccm-core/web/assets/xinha/plugins/FormOperations/form-operations.js deleted file mode 100644 index 199d93b6c..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/form-operations.js +++ /dev/null @@ -1,435 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/FormOperations/form-operations.js */ -Xinha.Config.prototype.FormOperations={"multiple_field_format":"php","allow_edit_form":false,"default_form_action":Xinha.getPluginDir("FormOperations")+"/formmail.php","default_form_html":Xinha._geturlcontent(Xinha.getPluginDir("FormOperations")+"/default_form.html")}; -FormOperations._pluginInfo={name:"FormOperations",version:"1.0",developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"}; -function FormOperations(_1){ -this.editor=_1; -this.panel=false; -this.html=false; -this.ready=false; -this.activeElement=null; -this._preparePanel(); -_1.config.pageStyleSheets.push(Xinha.getPluginDir("FormOperations")+"/iframe.css"); -var _2=["separator","insert_form","insert_text_field","insert_textarea_field","insert_select_field","insert_cb_field","insert_rb_field","insert_button"]; -this.editor.config.toolbar.push(_2); -function pasteAndSelect(_3){ -var id=Xinha.uniq("fo"); -_3=_3.replace(/^<([^ \/>]+)/i,"<$1 id=\""+id+"\""); -_1.insertHTML(_3); -var el=_1._doc.getElementById(id); -el.setAttribute("id",""); -_1.selectNodeContents(el); -_1.updateToolbar(); -return el; -} -var _6=_1.imgURL("buttons.gif","FormOperations"); -FormOperations.prototype._lc=function(_7){ -return Xinha._lc(_7,"FormOperations"); -}; -this.editor.config.btnList.insert_form=[this._lc("Insert a Form."),[_6,0,0],false,function(){ -var _8=null; -if(_1.config.FormOperations.default_form_html){ -_8=pasteAndSelect(_1.config.FormOperations.default_form_html); -}else{ -_8=pasteAndSelect("
     
    "); -} -if(_1.config.FormOperations.default_form_action&&!_8.action){ -_8.action=_1.config.FormOperations.default_form_action; -} -}]; -this.editor.config.btnList.insert_text_field=[this._lc("Insert a text, password or hidden field."),[_6,1,0],false,function(){ -pasteAndSelect(""); -},"form"]; -this.editor.config.btnList.insert_textarea_field=[this._lc("Insert a multi-line text field."),[_6,2,0],false,function(){ -pasteAndSelect(""); -},"form"]; -this.editor.config.btnList.insert_select_field=[this._lc("Insert a select field."),[_6,3,0],false,function(){ -pasteAndSelect(""); -},"form"]; -this.editor.config.btnList.insert_cb_field=[this._lc("Insert a check box."),[_6,4,0],false,function(){ -pasteAndSelect(""); -},"form"]; -this.editor.config.btnList.insert_rb_field=[this._lc("Insert a radio button."),[_6,5,0],false,function(){ -pasteAndSelect(""); -},"form"]; -this.editor.config.btnList.insert_button=[this._lc("Insert a submit/reset button."),[_6,6,0],false,function(){ -pasteAndSelect(""); -},"form"]; -} -FormOperations.prototype.onGenerate=function(){ -if(Xinha.is_gecko){ -var _9=this.editor; -var _a=this.editor._doc; -Xinha._addEvents(_a,["mousemove"],function(_b){ -return _9._editorEvent(_b); -}); -} -}; -FormOperations.prototype._preparePanel=function(){ -var fo=this; -if(this.html==false){ -Xinha._getback(Xinha.getPluginDir("FormOperations")+"/panel.html",function(_d){ -fo.html=_d; -fo._preparePanel(); -}); -return false; -} -if(typeof Xinha.Dialog=="undefined"){ -Xinha._loadback(_editor_url+"modules/Dialogs/inline-dialog.js",function(){ -fo._preparePanel(); -}); -return false; -} -if(typeof Xinha.PanelDialog=="undefined"){ -Xinha._loadback(_editor_url+"modules/Dialogs/panel-dialog.js",function(){ -fo._preparePanel(); -}); -return false; -} -this.panel=new Xinha.PanelDialog(this.editor,"bottom",this.html,"FormOperations"); -this.panel.hide(); -this.ready=true; -}; -FormOperations.prototype.onUpdateToolbar=function(){ -if(!this.ready){ -return true; -} -var _e=this.editor._activeElement(this.editor._getSelection()); -if(_e!=null){ -if(_e==this.activeElement){ -return true; -} -var _f=_e.tagName.toLowerCase(); -this.hideAll(); -if(_f==="form"){ -if(this.editor.config.FormOperations.allow_edit_form){ -this.showForm(_e); -}else{ -this.panel.hide(); -this.activeElement=null; -this.panel.hide(); -return true; -} -}else{ -if(this.editor.config.FormOperations.allow_edit_form&&typeof _e.form!="undefined"&&_e.form){ -this.showForm(_e.form); -} -switch(_f){ -case "form": -this.showForm(_e); -break; -case "input": -switch(_e.getAttribute("type").toLowerCase()){ -case "text": -case "password": -case "hidden": -this.showText(_e); -break; -case "radio": -case "checkbox": -this.showCbRd(_e); -break; -case "submit": -case "reset": -case "button": -this.showButton(_e); -break; -} -break; -case "textarea": -this.showTextarea(_e); -break; -case "select": -this.showSelect(_e); -break; -default: -this.activeElement=null; -this.panel.hide(); -return true; -} -} -this.panel.show(); -this.activeElement=_e; -return true; -}else{ -this.activeElement=null; -this.panel.hide(); -return true; -} -}; -FormOperations.prototype.hideAll=function(){ -this.panel.getElementById("fs_form").style.display="none"; -this.panel.getElementById("fs_text").style.display="none"; -this.panel.getElementById("fs_textarea").style.display="none"; -this.panel.getElementById("fs_select").style.display="none"; -this.panel.getElementById("fs_cbrd").style.display="none"; -this.panel.getElementById("fs_button").style.display="none"; -}; -FormOperations.prototype.showForm=function(_10){ -this.panel.getElementById("fs_form").style.display=""; -var _11={"action":_10.action,"method":_10.method.toUpperCase()}; -this.panel.setValues(_11); -var f=_10; -this.panel.getElementById("action").onkeyup=function(){ -f.action=this.value; -}; -this.panel.getElementById("method").onchange=function(){ -f.method=this.options[this.selectedIndex].value; -}; -}; -FormOperations.prototype.showText=function(_13){ -this.panel.getElementById("fs_text").style.display=""; -var _14={"text_name":this.deformatName(_13,_13.name),"text_value":_13.value,"text_type":_13.type.toLowerCase(),"text_width":_13.style.width?parseFloat(_13.style.width.replace(/[^0-9.]/,"")):"","text_width_units":_13.style.width?_13.style.width.replace(/[0-9.]/,"").toLowerCase():"ex","text_maxlength":_13.maxlength?_13.maxlength:""}; -this.panel.setValues(_14); -var i=_13; -var fo=this; -this.panel.getElementById("text_name").onkeyup=function(){ -i.name=fo.formatName(i,this.value); -}; -this.panel.getElementById("text_value").onkeyup=function(){ -i.value=this.value; -}; -this.panel.getElementById("text_type").onchange=function(){ -if(!Xinha.is_ie){ -i.type=this.options[this.selectedIndex].value; -}else{ -var _17=fo.editor._doc.createElement("div"); -if(!/type=/.test(i.outerHTML)){ -_17.innerHTML=i.outerHTML.replace(/0?_2f.size:1),"select_height_units":_2f.style.height?_2f.style.height.replace(/[0-9.]/,"").toLowerCase():"items"}; -this.panel.setValues(_30); -var i=_2f; -var fo=this; -this.panel.getElementById("select_name").onkeyup=function(){ -i.name=fo.formatName(i,this.value); -}; -this.panel.getElementById("select_multiple").onclick=function(){ -i.multiple=this.checked; -}; -var w=this.panel.getElementById("select_width"); -var wu=this.panel.getElementById("select_width_units"); -this.panel.getElementById("select_width").onkeyup=this.panel.getElementById("select_width_units").onchange=function(){ -if(!w.value||isNaN(parseFloat(w.value))){ -i.style.width=""; -} -i.style.width=parseFloat(w.value)+wu.options[wu.selectedIndex].value; -}; -var h=this.panel.getElementById("select_height"); -var hu=this.panel.getElementById("select_height_units"); -this.panel.getElementById("select_height").onkeyup=this.panel.getElementById("select_height_units").onchange=function(){ -if(!h.value||isNaN(parseFloat(h.value))){ -i.style.height=""; -return; -} -if(hu.selectedIndex==0){ -i.style.height=""; -i.size=parseInt(h.value); -}else{ -i.style.height=parseFloat(h.value)+hu.options[hu.selectedIndex].value; -} -}; -var _37=this.panel.getElementById("select_options"); -this.arrayToOpts(this.optsToArray(_2f.options),_37.options); -this.panel.getElementById("add_option").onclick=function(){ -var txt=prompt(Xinha._lc("Enter the name for new option.","FormOperations")); -if(txt==null){ -return; -} -var _39=new Option(txt); -var _3a=fo.optsToArray(_37.options); -if(_37.selectedIndex>=0){ -_3a.splice(_37.selectedIndex,0,_39); -}else{ -_3a.push(_39); -} -fo.arrayToOpts(_3a,_2f.options); -fo.arrayToOpts(_3a,_37.options); -}; -this.panel.getElementById("del_option").onclick=function(){ -var _3b=fo.optsToArray(_37.options); -var _3c=[]; -for(var i=0;i<_3b.length;i++){ -if(_3b[i].selected){ -continue; -} -_3c.push(_3b[i]); -} -fo.arrayToOpts(_3c,_2f.options); -fo.arrayToOpts(_3c,_37.options); -}; -this.panel.getElementById("up_option").onclick=function(){ -if(!(_37.selectedIndex>0)){ -return; -} -var _3e=fo.optsToArray(_37.options); -var _3f=_3e.splice(_37.selectedIndex,1).pop(); -_3e.splice(_37.selectedIndex-1,0,_3f); -fo.arrayToOpts(_3e,_2f.options); -fo.arrayToOpts(_3e,_37.options); -}; -this.panel.getElementById("down_option").onclick=function(){ -if(_37.selectedIndex==_37.options.length-1){ -return; -} -var _40=fo.optsToArray(_37.options); -var _41=_40.splice(_37.selectedIndex,1).pop(); -_40.splice(_37.selectedIndex+1,0,_41); -fo.arrayToOpts(_40,_2f.options); -fo.arrayToOpts(_40,_37.options); -}; -this.panel.getElementById("select_options").onchange=function(){ -fo.arrayToOpts(fo.optsToArray(_37.options),_2f.options); -}; -}; -FormOperations.prototype.optsToArray=function(o){ -var a=[]; -for(var i=0;i=0;i--){ -o[i]=null; -} -for(var i=0;i'; - - $emailfield = NULL; - $subjectfield = NULL; - $namefield = NULL; - - $when_done_goto = isset($_REQUEST['when_done_goto']) ? $_REQUEST['when_done_goto'] : NULL; - - if($_POST) - { - unset($_POST['when_done_goto']); - $message = ''; - $longestKey = 0; - foreach(array_keys($_POST) as $key) - { - $longestKey = max(strlen($key), $longestKey); - } - $longestKey = max($longestKey, 15); - - foreach($_POST as $Var => $Val) - { - if(!$emailfield) - { - if(preg_match('/(^|\s)e-?mail(\s|$)/i', $Var)) - { - $emailfield = $Var; - } - } - - if(!$subjectfield) - { - if(preg_match('/(^|\s)subject(\s|$)/i', $Var)) - { - $subjectfield = $Var; - } - } - - if(!$namefield) - { - if(preg_match('/(^|\s)from(\s|$)/i', $Var) || preg_match('/(^|\s)name(\s|$)/i', $Var)) - { - $namefield = $Var; - } - } - - if(is_array($Val)) - { - $Val = implode(', ', $Val); - } - - $message .= $Var; - if(strlen($Var) < $longestKey) - { - $message .= str_repeat('.', $longestKey - strlen($Var)); - } - $message .= ':'; - if((64 - max(strlen($Var), $longestKey) < strlen($Val)) || preg_match('/\r?\n/', $Val)) - { - $message .= "\r\n "; - $message .= preg_replace('/\r?\n/', "\r\n ", wordwrap($Val, 62)); - } - else - { - $message .= ' ' . $Val . "\r\n"; - } - } - - $subject = $subjectfield ? $_POST[$subjectfield] : 'Enquiry'; - $email = $emailfield ? $_POST[$emailfield] : $send_to; - if($namefield) - { - $from = $_POST[$namefield] . ' <' . $email . '>'; - } - else - { - $from = 'Website Visitor' . ' <' . $email . '>'; - } - - mail($send_to, $subject, $message, "From: $from"); - - if(!$when_done_goto) - { - ?> - Message Sent

    Message Sent

    - diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/iframe.css b/ccm-core/web/assets/xinha/plugins/FormOperations/iframe.css deleted file mode 100755 index 2ee1dceff..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/iframe.css +++ /dev/null @@ -1 +0,0 @@ -form { border: 1px red dotted; } \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/img/buttons.gif b/ccm-core/web/assets/xinha/plugins/FormOperations/img/buttons.gif deleted file mode 100755 index f414171a339fd52061b0c12a579b28583624bc0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1947 zcmV;M2W0q1Nk%w1Va5Q)0L(T3|NsC0|Nj600GXMY^7Q%m`TX46+`z!V_4oVb>GSFB z^{T3>dwY8`Gc(-c?fd)vO-)VA%*^5D@n&XbfPjF6goOV7{{R30000000000000000 z000000000000000A^8LW3IG5AECK)m0Kx#m000I5U?7fUX`X1Ru59bRa4gR>D%>xg z>+H?9zm(6n3z~+*p7BJi*+v3oAnKw{dnD^Bsuj+K1n1Yl!RiSgL zGKqhlt&XFpq<*xWeMFzHww-OUiju&=!oS3`nQ6t#$-Ki%NV~mEoW94q($=5YjK;T5 zn&8^r%B9ZD$ehx-T9?z-!Q0Bvm(is5Tc`P~Q2O__N3fv5g9sD40Kl-J!-o(f zN}NcsqQ#3CGiuz(apJ;`AVZ2ANwQ?gk0w+9s$9vkWki%N9Yz>Hv!+d(5f~o0$+PBx zm_UO*gc+@<$N>=yC|$~Q=>UcU97vt&Ai#kVPaXEON%6pf0SkT#9n0`Y5Qhf{5J14T zZGpE1#C9BDV8V?F3VaO6dn0R91q=c+AYfIk0JT}6HeH+;ZCIvZ$qH?xrQzYFQY9qV zoIrtR0Ssquy_plh011Z)96lUjHDag^6sVnD*aw2fbZ6@(U?4zaoeK;kK=9y!1*>uy zejQD7f#i&OtXSs#^?+v1o%`z0|E^AO(1}6dA$hA--b;fFzvK!+2S^^TP+0$ zz99yeumC~>2n&edTtmUZW#EAZ4ES9CMbV9583G0{5Mcs0d8V3Tb_sx&UU_*o-Vg-{ z5SNG|7T}iy^#x$S0W7jOUwsTfaMf=tI?x{j6)@01fGajMz<~!Mpq7aXTGXHj4?1uF z0|#K2oncU+W|(ROv_>TXe&to101xQZWnb(Grj}K15$Pj+x-lTY0)+h*903q8a9;xg z;75RhKfblVjs-N(r;r4gS)@nPNXJllN)FIuXHPHYD$%2w=x>!{$Lnm< zfTpSsv3LTDMAyeD$WBv6f@KBVYj0Qw7(hV*U4k?Kc|J7DY>8#td^RX9KdeI2UeR}M zg2@3;Adm4v>bDue_mD# zmf4H1T5P>lT;>{?Dn!fP4uHZ{BsA^&^iKotP*F&TB%0Sq>BK!v$WuQ(OyZYs{zl}V zum1WkSefKq$fzYJ`L)Od*5%fdmPv@P)o|9}H*syZO=Z zhUvRu3UjE#67sNzA^af_J7|_J4Dp3}bKwz12(=|Lu~15MA`ycjMIVZTgH`n46|tDb z45F}$7>r;P!RWyMYK)PL32Y)7%Q%RloNY32*G@NW#HIfu@9@2F2$)0-Df{oIxKA)nGq*5z&K+vZ5m4 zBt{2%(TzI)w4)wHUmNid(v0%2kR_F;JyVJietOiU8-*!GWm-|1MwA}vWNAG$p;MJE zw4gmTQaFOT({xais6v$lM3K7Bi7tbwO=U(-p(+tIQZ6+Ep>eaP?{cKoiJK5KgRkmj}ZE(HXS$7t9ow{W$Q*jI2+Lo5Muzl`TXDeJ= h@IbN{|11P{8?oIvboZ&Mjcj-!2ZrzZZ?GW%06PHdii!XL diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/de.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/de.js deleted file mode 100644 index 1ae24c45c..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/de.js +++ /dev/null @@ -1,12 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 -// translated: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de -{ - "Insert a Form.": "Email Form einfügen.", - "Insert a text, password or hidden field.": "Passwort oder unsichtbares Feld einfügen.", - "Insert a multi-line text field.": "Mehrzeiliges Textfeld einfügen.", - "Insert a select field.": "Auswahlfeld einfügen.", - "Insert a check box.": "Häkchenfeld einfügen", - "Insert a radio button.": "Optionsfeld einfügen", - "Insert a submit/reset button.": "Senden/zurücksetzen Schaltfläche" -}; diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/fr.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/fr.js deleted file mode 100644 index a02208e92..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/fr.js +++ /dev/null @@ -1,11 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Insert a Form.": "Insérer un formulaire", - "Insert a text, password or hidden field.": "Insérer un texte, un mot de passe ou un champ invisible", - "Insert a multi-line text field.": "Insérer un champ texte à lignes multiples", - "Insert a select field.": "Insérer une boite de sélection", - "Insert a check box.": "Insérer une case à cocher", - "Insert a radio button.": "Insérer un bouton radio", - "Insert a submit/reset button.": "Insérer un bouton de soumission/annulation" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/ja.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/ja.js deleted file mode 100644 index d716a4a51..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/ja.js +++ /dev/null @@ -1,51 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Insert a Form.": "フォームを挿入", - "Insert a text, password or hidden field.": "テキスト/パスワード/非表示フィールドを挿入", - "Insert a multi-line text field.": "複数行テキストフィールドを挿入", - "Insert a select field.": "選択リストを挿入", - "Insert a check box.": "チェックボックスを挿入", - "Insert a radio button.": "ラジオボタンを挿入", - "Insert a submit/reset button.": "送信/リセットボタンを挿入", - "Form Editor": "フォームエディタ", - "Form": "フォーム", - "Text Field": "テキストフィールド", - "Check Box/Radio Button": "チェックボックス/ラジオボタン", - "Button": "ボタン", - "Multi-line Field": "複数行フィールド", - "Drop-Down/List Field": "ドロップダウン/リスト", - "Action:": "アクション:", - "Method:": "メソッド:", - "Name:": "名前:", - "Type:": "タイプ:", - "Label:": "ラベル:", - "Value:": "値:", - "Width:": "幅:", - "Height:": "高さ:", - "Initial Value:": "初期値:", - "Initial Value": "初期値", - "Max Length:": "最大長:", - "Selected by default:": "デフォルト選択:", - "May Choose Multiple:": "複数選択可能:", - "Options": "選択肢", - "POST": "POST", - "GET": "GET", - 'Check Box ("Select Many")': "チェックボックス(複数選択)", - 'Radio Button ("Select One")': "ラジオボタン(単一選択)", - "normal text field": "標準テキストフィールド", - "password": "パスワード", - "hidden field": "非表示フィールド", - "Submit": "送信", - "Reset": "リセット", - "chars": "文字", - "px": "ピクセル", - "%": "%", - "items": "項目", - "Add": "追加", - "Delete": "削除", - "Move Up": "上へ", - "Move Down": "下へ", - "Tip: Check boxes (select many) and radio buttons (select one only) that are choices for a single question should have the same Name to work correctly.": "ヒント:ひとつの質問について、複数のチェックボックス(複数選択)、または複数のラジオボタン(単一選択)がある場合、すべてに同じ名前を付けなければ正しく機能しません。", - "Enter the name for new option.": "新しい選択肢に名前をつけてください。" -}; diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nb.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nb.js deleted file mode 100644 index 9a47a66c7..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nb.js +++ /dev/null @@ -1,12 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Insert a Form.": "Sett inn skjema", - "Insert a text, password or hidden field.": "Sett inn formfelt", - "Insert a multi-line text field.": "Sett inn tekstfelt med flere linjer", - "Insert a select field.": "Sett inn valgboks/ netrekksboks", - "Insert a check box.": "Hakeboks", - "Insert a radio button.": "Sett inn en radioknapp", - "Insert a submit/reset button.": "Sett inn send-/nullstill knapp for skjemaet" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nl.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nl.js deleted file mode 100644 index 375afe423..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/nl.js +++ /dev/null @@ -1,12 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Insert a Form.": "Formulier invoegen", - "Insert a text, password or hidden field.": "Tekst, wachtwoord of verborgen veld invoegen", - "Insert a multi-line text field.": "Een tekstveld met meerdere lijnen invoegen", - "Insert a select field.": "Een selectielijst invoegen", - "Insert a check box.": "Een checkbox invoegen", - "Insert a radio button.": "Een radio knop invoegen", - "Insert a submit/reset button.": "Een verzend/wis knop invoegen" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/FormOperations/lang/pt_br.js deleted file mode 100644 index bc3ac5ab9..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/lang/pt_br.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants - -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation - -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Enter the name for new option.": "Entre com o nome para nova opção", - "Form Editor": "Editor de Formulários", - "Insert a Form.": "Inserir um Formulário.", - "Insert a check box.": "Inserir uma caixa de opção", - "Insert a multi-line text field.": "Inserir um texto multi-linha.", - "Insert a radio button.": "Inserir um campo de escolha", - "Insert a select field.": "Inserir seleção.", - "Insert a submit/reset button.": "Inserir um botão de envio/reset", - "Insert a text, password or hidden field.": "Inserir um texto, senha ou campo escondido." -} diff --git a/ccm-core/web/assets/xinha/plugins/FormOperations/panel.html b/ccm-core/web/assets/xinha/plugins/FormOperations/panel.html deleted file mode 100755 index 661b77547..000000000 --- a/ccm-core/web/assets/xinha/plugins/FormOperations/panel.html +++ /dev/null @@ -1,213 +0,0 @@ -
    -

    Form Editor

    -
    - Form - - - - - - - - -
    -
    - -
    - Text Field - - - - - - - - - - - - - - - - - - - - -
    Name: - -   
    Type: - - Initial Value: - -
    Width: - - - Max Length: - -
    -
    - -
    - Check Box/Radio Button - - - - - - - - - - - - - - - - -
    Name: - - Value: - -
    Type: - - Selected by default:
    -

    - Tip: Check boxes (select many) and radio buttons (select one only) that are choices for a single question should have the same Name to work correctly. -

    -
    -
    - -
    - Button - - - - - - - - - - - - - -
    Name: - - Label: - -
    Type: - -   
    -
    - - -
    - Multi-line Field - - - - - - - - - - - - - - - - - - - -
    Name:Initial Value
    Width: - - -
    Height: - - -
    -
    - -
    - Drop-Down/List Field - - - - - - - - - - - - - - - - - - - - - -
    Name: - - Options
    May Choose Multiple: - - - - - -
    - -
    - -
    - -
    Width: - - -
    Height: - - -
    -
    -
    \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Forms/forms.css b/ccm-core/web/assets/xinha/plugins/Forms/forms.css deleted file mode 100755 index ba0fca64d..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/forms.css +++ /dev/null @@ -1,3 +0,0 @@ -form { - border: 1px dotted red; -} diff --git a/ccm-core/web/assets/xinha/plugins/Forms/forms.js b/ccm-core/web/assets/xinha/plugins/Forms/forms.js deleted file mode 100644 index fdcdfb72e..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/forms.js +++ /dev/null @@ -1,349 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Forms/forms.js */ -function Forms(_1){ -this.editor=_1; -var _2=_1.config; -var bl=Forms.btnList; -var _4=this; -var _5=["linebreak"]; -for(var i=0;i"); -} -} -},_13); -}else{ -var _1a=""; -if(typeof _10=="undefined"){ -_10=_e.getParentElement(); -var tag=_10.tagName.toLowerCase(); -if(_10&&(tag=="legend")){ -_10=_10.parentElement; -tag=_10.tagName.toLowerCase(); -} -if(_10&&!(tag=="textarea"||tag=="select"||tag=="input"||tag=="label"||tag=="fieldset")){ -_10=null; -} -} -if(_10){ -_14=_10.tagName.toLowerCase(); -_13.f_name=_10.name; -_1a=_10.tagName; -if(_14=="input"){ -_13.f_type=_10.type; -_14=_10.type; -} -switch(_14){ -case "textarea": -_13.f_cols=_10.cols; -_13.f_rows=_10.rows; -_13.f_text=_10.innerHTML; -_13.f_wrap=_10.getAttribute("wrap"); -_13.f_readOnly=_10.getAttribute("readOnly"); -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "select": -_13.f_size=parseInt(_10.size); -_13.f_multiple=_10.getAttribute("multiple"); -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -var _1c=new Array(); -for(var i=0;i<=_10.options.length-1;i++){ -_1c[i]=new optionValues(_10.options[i].text,_10.options[i].value); -} -_13.f_options=_1c; -break; -case "text": -case "password": -_13.f_value=_10.value; -_13.f_size=_10.size; -_13.f_maxLength=_10.maxLength; -_13.f_readOnly=_10.getAttribute("readOnly"); -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "hidden": -_13.f_value=_10.value; -break; -case "submit": -case "reset": -_13.f_value=_10.value; -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "checkbox": -case "radio": -_13.f_value=_10.value; -_13.f_checked=_10.checked; -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "button": -_13.f_value=_10.value; -_13.f_onclick=_10.getAttribute("onclick"); -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "image": -_13.f_value=_10.value; -_13.f_src=_10.src; -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "file": -_13.f_disabled=_10.getAttribute("disabled"); -_13.f_tabindex=_10.getAttribute("tabindex"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "label": -_13.f_text=_10.innerHTML; -_13.f_for=_10.getAttribute("for"); -_13.f_accesskey=_10.getAttribute("accesskey"); -break; -case "fieldset": -if(_10.firstChild.tagName.toLowerCase()=="legend"){ -_13.f_text=_10.firstChild.innerHTML; -}else{ -_13.f_text=""; -} -break; -} -}else{ -_13.f_name=""; -switch(_f){ -case "textarea": -case "select": -case "label": -case "fieldset": -_1a=_f; -break; -default: -_1a="input"; -_13.f_type=_f; -break; -} -_13.f_options=""; -_13.f_cols="20"; -_13.f_rows="4"; -_13.f_multiple="false"; -_13.f_value=""; -_13.f_size=""; -_13.f_maxLength=""; -_13.f_checked=""; -_13.f_src=""; -_13.f_onclick=""; -_13.f_wrap=""; -_13.f_readOnly="false"; -_13.f_disabled="false"; -_13.f_tabindex=""; -_13.f_accesskey=""; -_13.f_for=""; -_13.f_text=""; -_13.f_legend=""; -} -_e._popupDialog("plugin://Forms/"+_1a+".html",function(_1e){ -if(_1e){ -if(_1e["f_cols"]){ -if(isNaN(parseInt(_1e["f_cols"],10))||parseInt(_1e["f_cols"],10)<=0){ -_1e["f_cols"]=""; -} -} -if(_1e["f_rows"]){ -if(isNaN(parseInt(_1e["f_rows"],10))||parseInt(_1e["f_rows"],10)<=0){ -_1e["f_rows"]=""; -} -} -if(_1e["f_size"]){ -if(isNaN(parseInt(_1e["f_size"],10))||parseInt(_1e["f_size"],10)<=0){ -_1e["f_size"]=""; -} -} -if(_1e["f_maxlength"]){ -if(isNaN(parseInt(_1e["f_maxLength"],10))||parseInt(_1e["f_maxLength"],10)<=0){ -_1e["f_maxLength"]=""; -} -} -if(_10){ -for(field in _1e){ -if((field=="f_text")||(field=="f_options")||(field=="f_onclick")||(field=="f_checked")){ -continue; -} -if(_1e[field]!=""){ -_10.setAttribute(field.substring(2,20),_1e[field]); -}else{ -_10.removeAttribute(field.substring(2,20)); -} -} -if(_14=="textarea"){ -_10.innerHTML=_1e["f_text"]; -}else{ -if(_14=="select"){ -_10.options.length=0; -var _1f=_1e["f_options"]; -for(i=0;i<=_1f.length-1;i++){ -_10.options[i]=new Option(_1f[i].text,_1f[i].value); -} -}else{ -if(_14=="label"){ -_10.innerHTML=_1e["f_text"]; -}else{ -if(_14=="fieldset"){ -if(_13.f_text!=""){ -if(_10.firstChild.tagName.toLowerCase()=="legend"){ -_10.firstChild.innerHTML=_1e["f_text"]; -} -}else{ -} -}else{ -if((_14=="checkbox")||(_14=="radio")){ -if(_1e["f_checked"]!=""){ -_10.checked=true; -}else{ -_10.checked=false; -} -}else{ -if(_1e["f_onclick"]){ -_10.onclick=""; -if(_1e["f_onclick"]!=""){ -_10.onclick=_1e["f_onclick"]; -} -} -} -} -} -} -} -}else{ -var _20=""; -for(field in _1e){ -if(!_1e[field]){ -continue; -} -if((_1e[field]=="")||(field=="f_text")||(field=="f_options")){ -continue; -} -_20+=" "+field.substring(2,20)+"=\""+_1e[field]+"\""; -} -if(_14=="textarea"){ -_20=""+_1e["f_text"]+""; -}else{ -if(_14=="select"){ -_20=""; -var _1f=_1e["f_options"]; -for(i=0;i<=_1f.length-1;i++){ -_20+=""; -} -_20+=""; -}else{ -if(_14=="label"){ -_20=""+_1e["f_text"]+""; -}else{ -if(_14=="fieldset"){ -_20=""; -if(_1e["f_legend"]!=""){ -_20+=""+_1e["f_text"]+""; -} -_20+="
    "; -}else{ -_20=""; -} -} -} -} -_e.insertHTML(_20); -} -} -},_13); -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_button.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_button.gif deleted file mode 100755 index cfa4e7d715f630909005e41d3cc8d8c59b1e7172..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 89 zcmZ?wbhEHb6k-r!SjE8b|Ns932M#cR84V2$3^1VhlZ6q))?s8|We{NCWN=`Xv)Fa# jlffzTroBIe0ypzVe@}ckW9qVFOJ6zcDUjjjWUvMR>Z~2y diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_checkbox.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_checkbox.gif deleted file mode 100755 index ea7affae5f035d73e38f33b9683780158b19d39f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102 zcmZ?wbhEHb6k-r!SjE8b9}E~67#bQH4jeeZ00W9YSr|cV9cBh*23`hU1_x$si(P9B vl~^2?s^~{We*7oR5;Y?tFluG5)~ldb5=XVAF6hmSeEn76zyg8E3=Gx)Dt92X diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_fieldset.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_fieldset.gif deleted file mode 100755 index af358e53a6ed377e3df3f428795335ceea8e8021..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76 zcmV-S0JHx`Nk%w1VG;lm0Ehqp|Ns90001HR1OWg5001lj00RIJ01f~^0waWPfv4-( if&`Jy_OeYAvfDA*=xJ3YQi;m0Wcs$TCDry+0028mb{gpb diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_file.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_file.gif deleted file mode 100755 index 7f61ce1373ce62f6fe8853e48f63da88f694ee47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 130 zcmZ?wbhEHb6k-r!SjE8b9}Es0IKTh`4Gj$qUO{?jis7Qe{Z ZJ~fzA^nsn^3Kvt>4Pl|a0uvY*tN|LhE(QPq diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_form.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_form.gif deleted file mode 100755 index a2c293e530d5ec2440f67e39806c0b4e704d5b56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 114 zcmZ?wbhEHb6k-r!SjE8b9}E~682&RbBquvDz<}aU7Df!eQ}S2P#B(U=@}cFxjWO$${I3f}8Ec8J$#LuX*-p`Uer I@k|WX0Ncn+a diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_hidden.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_hidden.gif deleted file mode 100755 index 26b325de6bedb855bcb0f4bdf9e02de94041dc18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 83 zcmZ?wbhEHb6k-r!n90EK9}Es0IKaTbp!k!8k%57ML5GQfnSqaihrxkKlr1PIaB&HUiHTXgy66A@Y8MyJj*j-ZbFJpijcjdgIe9YX z|NmAiEBF8Z54NsVcE$hyg%J@E3_}Vi{$ybUIar60fsuiqL4d)5y}yB}skxqJcD(|RMq!C(ylmyx8- diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_label.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_label.gif deleted file mode 100755 index f93fce7dfeb4d965c35026cdc77edc5e473e08c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58 zcmZ?wbhEHb6k-r!=wM*@|NlP&1B2pE7DfgJ1_m7#1~vw626hGqCczfj@`Drh$xUA8 OyY!yZhRg8`4AuacFb}~1 diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_password.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_password.gif deleted file mode 100755 index a799218fde57e4ce088e8bd35a4ce58365ae5d48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111 zcmZ?wbhEHb6k-r!SjE8b9}E~67#bQH4jeeZ00W9YSr{1@7#VaJ8JHLZ82A_*m`yBp z-7!$|Qc$gAdU5uptcymU^0m1K!dvH?6v7HBAb3Oqx|QeVOYfQU5H#78M2tYXFRjA#?x$ diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_reset.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_reset.gif deleted file mode 100755 index 68fee8e222ac89f0cfd6869801704afbe51e0481..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 97 zcmZ?wbhEHb6k-r!SjE8b|Ns932M#cR84V2$3^1VhlZ6q))?s8|We{NCWN=_sv)Fa# rlffzTCf*NmO0PsERus-t?TTKW8s)Gq?RQoS*h?{`mNV6X-N%C{jO diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_select.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_select.gif deleted file mode 100755 index 3ea59f5c95c79c35f5cc6aa910f02f9faf271ffe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111 zcmZ?wbhEHb6k-r!Sj7MW|G}W4q2bDf6JP-lQ2fcl$iTqJpu@<($iUCQ&)~pp!m;a) zf&rI7R_TnBKR6VcH#v51@0t8S@Uro)m}v{S66fo?~A F)&PsAB(VSh diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_submit.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_submit.gif deleted file mode 100755 index 0b12a19a0b589cd91dfe77d89dc20d261efdf572..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94 zcmZ?wbhEHb6k-r!SjE8b|Ns932M#cR84V2$3^1VhlZ6q))?s8|We{NCWN=_sw%B#& nlffzTroE5il(eo%J&)wi=uF^T6p^-RmUNj*?)~i(7#OSpXG$KW diff --git a/ccm-core/web/assets/xinha/plugins/Forms/img/ed_text.gif b/ccm-core/web/assets/xinha/plugins/Forms/img/ed_text.gif deleted file mode 100755 index fb8159c01b5a7f8975576d484d94292f730c67a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 112 zcmZ?wbhEHb6k-r!SjE8b9}E~67#bQH4jeeZ00W9YSr{1@7#VaJ8JHLZ82A_*m`yEq z-7#Qda9rNgv`52w|1F1}l*qi;Rc$e*J0*W58F=6QaduS=&sRryU(f -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Access Key:": "Tecla de Acesso:", - "Action URL:": "Ação - URL:", - "Button Script": "Script de Botão", - "Cancel": "Cancelar", - "Checked": "Definido", - "Columns:": "Colunas:", - "Default text (optional)": "Texto padrão (opcional)", - "Dimensions": "Dimensões", - "Disabled": "Desativado", - "Encoding:": "Codificação:", - "For Control:": "Para Controle:", - "Form": "Formulário", - "Form Element: FIELDSET": "Elemento do formulário: FIELDSET", - "Form Element: INPUT": "Elemento do formulário: INPUT", - "Form Element: LABEL": "Elemento do formulário: LABEL", - "Form Element: SELECT": "Elemento do formulário: SELECT", - "Form Element: TEXTAREA": "Elemento do formulário: TEXTAREA", - "Form Name:": "Nome do Formulário:", - "Form handler script": "Script do Formulário", - "HTML-Form to CGI (default)": "Formulário para CGI (padrão)", - "Hard": "Difícil", - "Height in number of rows": "Altura em número de linhas", - "Image URL:": "URL da imagem:", - "Image source": "Imagem de Origem", - "Initial Text:": "Texto Inicial:", - "Insert/Edit Form": "Inserir/Editar Formulário", - "Insert/Edit Form Element FIELDSET": "Inserir/Editar Elemento FIELDSET", - "Insert/Edit Form Element INPUT": "Inserir/Editar Elemento INPUT", - "Insert/Edit Form Element LABEL": "Inserir/Editar Elemento LABEL", - "Insert/Edit Form Element SELECT": "Inserir/Editar Elemento SELECT", - "Insert/Edit Form Element TEXTAREA": "Inserir/Editar Elemento TEXTAREA", - "Javascript for button click": "Javascript para botão de clicar", - "Label:": "Etiqueta:", - "Legend:": "Legenda:", - "Max length:": "Comprimento Máx.:", - "Maximum number of characters accepted": "Máximo número de caracteres aceitos", - "Method:": "Método:", - "Name": "Nome", - "Name of the form input": "Nome do formulário de entrada", - "Name of the form select": "Nome do formulário de seleção", - "Name/ID:": "Nome/ID:", - "OK": "OK", - "Off": "Desligado", - "Options": "Opções", - "Physical": "Físico", - "Please enter a Label": "Por favor, entre uma Etiqueta", - "Post": "Post", - "Read Only": "Somente Leitura", - "Rows:": "Linhas:", - "Size of text box in characters": "Tamanho da caixa de texto em caracteres", - "Size:": "Tamanho:", - "Soft": "Fácil", - "Tab Index:": "Ordem de Tabulação:", - "Target Frame:": "Frame de destino:", - "Text:": "Texto:", - "URL of image": "URL da imagem", - "Value of the form input": "Valor do formulário de entrada", - "Value:": "Valor:", - "Virtual": "Virtual", - "Width in number of characters": "Largura em número de caracteres", - "Wrap Mode:": "Modo de quebras:", - "You must enter a Name": "Você precisa entrar com um Nome", - "multipart Form Data (File-Upload)": "Formulário de dados multipart (Enviar arquivo)", - "name of the textarea": "nome da área de texto", - "normal": "normal", - "nowrap": "sem quebras" -} diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/fieldset.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/fieldset.html deleted file mode 100755 index 2f38d4d88..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/fieldset.html +++ /dev/null @@ -1,45 +0,0 @@ - - - - Insert/Edit Form Element FIELDSET - - - - - - - -
    Form Element: FIELDSET
    -
    -
    Legend:
    - -

    -

    - - -
    -
    - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/form.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/form.html deleted file mode 100755 index daf377f1a..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/form.html +++ /dev/null @@ -1,89 +0,0 @@ - - - - Insert/Edit Form - - - - - - - -
    Form
    -
    -
    Form Name:
    - -

    - -

    - Form handler script -
    -
    Action URL:
    - -

    -

    Method:
    - -
    -
    Encoding:
    - -

    -

    Target Frame:
    - -

    -

    - -
    - - -
    -
    - - - diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/input.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/input.html deleted file mode 100755 index 59b9cd928..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/input.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - Insert/Edit Form Element INPUT - - - - - - - - -
    -
    -
    Name/ID:
    - -

    -

    Value:
    - -

    -

    Disabled
    - -

    - -

    -
    Checked
    - -

    -

    - -
    Tab Index:
    - -

    -

    Access Key:
    - -

    - -

    -
    Read Only
    - -

    - -

    - Dimensions -
    -
    Size:
    - -
    -
    Max length:
    - -
    -
    -
    -
    -
    - Button Script -
    -
    'onClick'=
    - -
    -
    -
    -
    -
    - Image source -
    -
    Image URL:
    - -
    -
    -
    -
    - - -
    -
    - - - diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/label.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/label.html deleted file mode 100755 index ada1e8e12..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/label.html +++ /dev/null @@ -1,58 +0,0 @@ - - - - Insert/Edit Form Element LABEL - - - - - - - -
    Form Element: LABEL
    -
    -
    Text:
    - -

    -

    For Control:
    - -

    -

    Access Key:
    - -

    -

    - - -
    -
    - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/select.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/select.html deleted file mode 100755 index 89fc53ae2..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/select.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - Insert/Edit Form Element SELECT - - - - - - - -
    Form Element: SELECT
    -
    -
    Name/ID:
    - -

    -

    Size:
    - -

    -

    Multiple Select
    - -

    -

    Disabled
    - -

    -

    Tab Index:
    - -

    -

    -
    - Options - - - - - -
    - - -
    -
    - -
    -
    - - - - - - - - -
    Label:Value:
    -
    -
    - - -
    -
    - - diff --git a/ccm-core/web/assets/xinha/plugins/Forms/popups/textarea.html b/ccm-core/web/assets/xinha/plugins/Forms/popups/textarea.html deleted file mode 100755 index f59125122..000000000 --- a/ccm-core/web/assets/xinha/plugins/Forms/popups/textarea.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - Insert/Edit Form Element TEXTAREA - - - - - - - -
    Form Element: TEXTAREA
    -
    -
    Name/ID:
    - -

    -

    - Dimensions -
    Columns:
    - -

    -

    Rows:
    - -

    -

    -
    -
    Wrap Mode:
    - -

    -

    Read Only
    - -

    -

    Disabled
    - -

    -

    Tab Index:
    - -

    -

    Access Key:
    - -

    - -

    Initial Text:
    - -
    - - -
    -
    - - - diff --git a/ccm-core/web/assets/xinha/plugins/FullPage/FullPage.js b/ccm-core/web/assets/xinha/plugins/FullPage/FullPage.js new file mode 100644 index 000000000..83f3e48bd --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/FullPage/FullPage.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function FullPage(c){this.editor=c;var a=c.config;a.fullPage=true;var b=this;a.registerButton("FP-docprop",this._lc("Document properties"),c.imgURL("docprop.gif","FullPage"),false,function(d,e){b.buttonPress(d,e)});a.addToolbarElement(["separator","FP-docprop"],"separator",-1)}FullPage._pluginInfo={name:"FullPage",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"Mihai Bazon",sponsor:"Thycotic Software Ltd.",sponsor_url:"http://thycotic.com",license:"htmlArea"};FullPage.prototype._lc=function(a){return Xinha._lc(a,"FullPage")};FullPage.prototype.buttonPress=function(b,a){var q=this;switch(a){case"FP-docprop":var j=b._doc;var m=j.getElementsByTagName("link");var l="";var p="";var e="";var k="";var c="";for(var d=m.length;--d>=0;){var g=m[d];if(/stylesheet/i.test(g.rel)){if(/alternate/i.test(g.rel)){p=g.href}else{l=g.href}}}var f=j.getElementsByTagName("meta");for(var d=f.length;--d>=0;){var o=f[d];if(/content-type/i.test(o.httpEquiv)){r=/^text\/html; *charset=(.*)$/i.exec(o.content);c=r[1]}else{if((/keywords/i.test(o.name))||(/keywords/i.test(o.id))){e=o.content}else{if((/description/i.test(o.name))||(/description/i.test(o.id))){k=o.content}}}}var h=j.getElementsByTagName("title")[0];h=h?h.innerHTML:"";var n={f_doctype:b.doctype,f_title:h,f_body_bgcolor:Xinha._colorToRgb(j.body.style.backgroundColor),f_body_fgcolor:Xinha._colorToRgb(j.body.style.color),f_base_style:l,f_alt_style:p,f_charset:c,f_keywords:e,f_description:k,editor:b};b._popupDialog("plugin://FullPage/docprop",function(i){q.setDocProp(i)},n);break}};FullPage.prototype.setDocProp=function(l){var j="";var u=this.editor._doc;var d=u.getElementsByTagName("head")[0];var b=u.getElementsByTagName("link");var a=u.getElementsByTagName("meta");var m=null;var o=null;var c=null;var f=null;var g=null;var p=null;for(var n=b.length;--n>=0;){var e=b[n];if(/stylesheet/i.test(e.rel)){if(/alternate/i.test(e.rel)){o=e}else{m=e}}}for(var n=a.length;--n>=0;){var h=a[n];if(/content-type/i.test(h.httpEquiv)){r=/^text\/html; *charset=(.*)$/i.exec(h.content);c=r[1];f=h}else{if((/keywords/i.test(h.name))||(/keywords/i.test(h.id))){g=h}else{if((/description/i.test(h.name))||(/description/i.test(h.id))){p=h}}}}function k(v){var i=u.createElement("link");i.rel=v?"alternate stylesheet":"stylesheet";d.appendChild(i);return i}function q(i,v,w){var x=u.createElement("meta");if(i!=""){x.httpEquiv=i}if(v!=""){x.name=v}if(v!=""){x.id=v}x.content=w;d.appendChild(x);return x}if(!m&&l.f_base_style){m=k(false)}if(l.f_base_style){m.href=l.f_base_style}else{if(m){d.removeChild(m)}}if(!o&&l.f_alt_style){o=k(true)}if(l.f_alt_style){o.href=l.f_alt_style}else{if(o){d.removeChild(o)}}if(f){d.removeChild(f);f=null}if(!f&&l.f_charset){f=q("Content-Type","","text/html; charset="+l.f_charset)}if(!g&&l.f_keywords){g=q("","keywords",l.f_keywords)}else{if(l.f_keywords){g.content=l.f_keywords}else{if(g){d.removeChild(g)}}}if(!p&&l.f_description){p=q("","description",l.f_description)}else{if(l.f_description){p.content=l.f_description}else{if(p){d.removeChild(p)}}}for(var n in l){var t=l[n];switch(n){case"f_title":var s=u.getElementsByTagName("title")[0];if(!s){s=u.createElement("title");d.appendChild(s)}else{while(node=s.lastChild){s.removeChild(node)}}if(!Xinha.is_ie){s.appendChild(u.createTextNode(t))}else{u.title=t}break;case"f_doctype":this.editor.setDoctype(t);break;case"f_body_bgcolor":u.body.style.backgroundColor=t;break;case"f_body_fgcolor":u.body.style.color=t;break}}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/FullPage/full-page.js b/ccm-core/web/assets/xinha/plugins/FullPage/full-page.js deleted file mode 100644 index 826f12d92..000000000 --- a/ccm-core/web/assets/xinha/plugins/FullPage/full-page.js +++ /dev/null @@ -1,203 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/FullPage/full-page.js */ -function FullPage(_1){ -this.editor=_1; -var _2=_1.config; -_2.fullPage=true; -var _3=this; -_2.registerButton("FP-docprop",this._lc("Document properties"),_1.imgURL("docprop.gif","FullPage"),false,function(_4,id){ -_3.buttonPress(_4,id); -}); -_2.addToolbarElement(["separator","FP-docprop"],"separator",-1); -} -FullPage._pluginInfo={name:"FullPage",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"Mihai Bazon",sponsor:"Thycotic Software Ltd.",sponsor_url:"http://thycotic.com",license:"htmlArea"}; -FullPage.prototype._lc=function(_6){ -return Xinha._lc(_6,"FullPage"); -}; -FullPage.prototype.buttonPress=function(_7,id){ -var _9=this; -switch(id){ -case "FP-docprop": -var _a=_7._doc; -var _b=_a.getElementsByTagName("link"); -var _c=""; -var _d=""; -var _e=""; -var _f=""; -var _10=""; -for(var i=_b.length;--i>=0;){ -var _12=_b[i]; -if(/stylesheet/i.test(_12.rel)){ -if(/alternate/i.test(_12.rel)){ -_d=_12.href; -}else{ -_c=_12.href; -} -} -} -var _13=_a.getElementsByTagName("meta"); -for(var i=_13.length;--i>=0;){ -var _14=_13[i]; -if(/content-type/i.test(_14.httpEquiv)){ -r=/^text\/html; *charset=(.*)$/i.exec(_14.content); -_10=r[1]; -}else{ -if((/keywords/i.test(_14.name))||(/keywords/i.test(_14.id))){ -_e=_14.content; -}else{ -if((/description/i.test(_14.name))||(/description/i.test(_14.id))){ -_f=_14.content; -} -} -} -} -var _15=_a.getElementsByTagName("title")[0]; -_15=_15?_15.innerHTML:""; -var _16={f_doctype:_7.doctype,f_title:_15,f_body_bgcolor:Xinha._colorToRgb(_a.body.style.backgroundColor),f_body_fgcolor:Xinha._colorToRgb(_a.body.style.color),f_base_style:_c,f_alt_style:_d,f_charset:_10,f_keywords:_e,f_description:_f,editor:_7}; -_7._popupDialog("plugin://FullPage/docprop",function(_17){ -_9.setDocProp(_17); -},_16); -break; -} -}; -FullPage.prototype.setDocProp=function(_18){ -var txt=""; -var doc=this.editor._doc; -var _1b=doc.getElementsByTagName("head")[0]; -var _1c=doc.getElementsByTagName("link"); -var _1d=doc.getElementsByTagName("meta"); -var _1e=null; -var _1f=null; -var _20=null; -var _21=null; -var _22=null; -var _23=null; -for(var i=_1c.length;--i>=0;){ -var _25=_1c[i]; -if(/stylesheet/i.test(_25.rel)){ -if(/alternate/i.test(_25.rel)){ -_1f=_25; -}else{ -_1e=_25; -} -} -} -for(var i=_1d.length;--i>=0;){ -var _26=_1d[i]; -if(/content-type/i.test(_26.httpEquiv)){ -r=/^text\/html; *charset=(.*)$/i.exec(_26.content); -_20=r[1]; -_21=_26; -}else{ -if((/keywords/i.test(_26.name))||(/keywords/i.test(_26.id))){ -_22=_26; -}else{ -if((/description/i.test(_26.name))||(/description/i.test(_26.id))){ -_23=_26; -} -} -} -} -function createLink(alt){ -var _28=doc.createElement("link"); -_28.rel=alt?"alternate stylesheet":"stylesheet"; -_1b.appendChild(_28); -return _28; -} -function createMeta(_29,_2a,_2b){ -var _2c=doc.createElement("meta"); -if(_29!=""){ -_2c.httpEquiv=_29; -} -if(_2a!=""){ -_2c.name=_2a; -} -if(_2a!=""){ -_2c.id=_2a; -} -_2c.content=_2b; -_1b.appendChild(_2c); -return _2c; -} -if(!_1e&&_18.f_base_style){ -_1e=createLink(false); -} -if(_18.f_base_style){ -_1e.href=_18.f_base_style; -}else{ -if(_1e){ -_1b.removeChild(_1e); -} -} -if(!_1f&&_18.f_alt_style){ -_1f=createLink(true); -} -if(_18.f_alt_style){ -_1f.href=_18.f_alt_style; -}else{ -if(_1f){ -_1b.removeChild(_1f); -} -} -if(_21){ -_1b.removeChild(_21); -_21=null; -} -if(!_21&&_18.f_charset){ -_21=createMeta("Content-Type","","text/html; charset="+_18.f_charset); -} -if(!_22&&_18.f_keywords){ -_22=createMeta("","keywords",_18.f_keywords); -}else{ -if(_18.f_keywords){ -_22.content=_18.f_keywords; -}else{ -if(_22){ -_1b.removeChild(_22); -} -} -} -if(!_23&&_18.f_description){ -_23=createMeta("","description",_18.f_description); -}else{ -if(_18.f_description){ -_23.content=_18.f_description; -}else{ -if(_23){ -_1b.removeChild(_23); -} -} -} -for(var i in _18){ -var val=_18[i]; -switch(i){ -case "f_title": -var _2e=doc.getElementsByTagName("title")[0]; -if(!_2e){ -_2e=doc.createElement("title"); -_1b.appendChild(_2e); -}else{ -while(node=_2e.lastChild){ -_2e.removeChild(node); -} -} -if(!Xinha.is_ie){ -_2e.appendChild(doc.createTextNode(val)); -}else{ -doc.title=val; -} -break; -case "f_doctype": -this.editor.setDoctype(val); -break; -case "f_body_bgcolor": -doc.body.style.backgroundColor=val; -break; -case "f_body_fgcolor": -doc.body.style.color=val; -break; -} -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/GenericPlugin/GenericPlugin.js b/ccm-core/web/assets/xinha/plugins/GenericPlugin/GenericPlugin.js new file mode 100644 index 000000000..ab25512de --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/GenericPlugin/GenericPlugin.js @@ -0,0 +1,100 @@ +/*------------------------------------------*\ + GenericPlugin for Xinha + _______________________ + + Democase for plugin event handlers +\*------------------------------------------*/ + +GenericPlugin._pluginInfo = { + name : "GenericPlugin", + version : "1.0", + developer : "Xinha Developer Team", + developer_url : "http://xinha.org", + sponsor : "", + sponsor_url : "", + license : "htmlArea" +} +function GenericPlugin(editor) +{ + this.editor = editor; +} + +GenericPlugin.prototype.onGenerate = function () +{ + +} +GenericPlugin.prototype.onGenerateOnce = function () +{ + +} +GenericPlugin.prototype.inwardHtml = function(html) +{ + return html; +} +GenericPlugin.prototype.outwardHtml = function(html) +{ + return html; +} +GenericPlugin.prototype.onUpdateToolbar = function () +{ + return false; +} + +GenericPlugin.prototype.onExecCommand = function ( cmdID, UI, param ) +{ + return false; +} + +GenericPlugin.prototype.onKeyPress = function ( event ) +{ + return false; +} + +GenericPlugin.prototype.onMouseDown = function ( event ) +{ + return false; +} + +GenericPlugin.prototype.onBeforeSubmit = function () +{ + return false; +} + +GenericPlugin.prototype.onBeforeUnload = function () +{ + return false; +} + +GenericPlugin.prototype.onBeforeResize = function (width, height) +{ + return false; +} +GenericPlugin.prototype.onResize = function (width, height) +{ + return false; +} +/** + * + * @param {String} action one of 'add', 'remove', 'hide', 'show', 'multi_hide', 'multi_show' + * @param {DOMNode|Array} panel either the panel itself or an array like ['left','right','top','bottom'] + */ +GenericPlugin.prototype.onPanelChange = function (action, panel) +{ + return false; +} +/** + * + * @param {String} mode either 'textmode' or 'wysiwyg' + */ +GenericPlugin.prototype.onMode = function (mode) +{ + return false; +} +/** + * + * @param {String} mode either 'textmode' or 'wysiwyg' + */ +GenericPlugin.prototype.onBeforeMode = function (mode) +{ + return false; +} diff --git a/ccm-core/web/assets/xinha/plugins/GenericPlugin/generic-plugin.js b/ccm-core/web/assets/xinha/plugins/GenericPlugin/generic-plugin.js deleted file mode 100644 index c07f64099..000000000 --- a/ccm-core/web/assets/xinha/plugins/GenericPlugin/generic-plugin.js +++ /dev/null @@ -1,51 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/GenericPlugin/generic-plugin.js */ -GenericPlugin._pluginInfo={name:"GenericPlugin",version:"1.0",developer:"Xinha Developer Team",developer_url:"http://xinha.org",sponsor:"",sponsor_url:"",license:"htmlArea"}; -function GenericPlugin(_1){ -this.editor=_1; -} -GenericPlugin.prototype.onGenerate=function(){ -}; -GenericPlugin.prototype.onGenerateOnce=function(){ -}; -GenericPlugin.prototype.inwardHtml=function(_2){ -return _2; -}; -GenericPlugin.prototype.outwardHtml=function(_3){ -return _3; -}; -GenericPlugin.prototype.onUpdateToolbar=function(){ -return false; -}; -GenericPlugin.prototype.onExecCommand=function(_4,UI,_6){ -return false; -}; -GenericPlugin.prototype.onKeyPress=function(_7){ -return false; -}; -GenericPlugin.prototype.onMouseDown=function(_8){ -return false; -}; -GenericPlugin.prototype.onBeforeSubmit=function(){ -return false; -}; -GenericPlugin.prototype.onBeforeUnload=function(){ -return false; -}; -GenericPlugin.prototype.onBeforeResize=function(_9,_a){ -return false; -}; -GenericPlugin.prototype.onResize=function(_b,_c){ -return false; -}; -GenericPlugin.prototype.onPanelChange=function(_d,_e){ -return false; -}; -GenericPlugin.prototype.onMode=function(_f){ -return false; -}; -GenericPlugin.prototype.onBeforeMode=function(_10){ -return false; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/GetHtml/GetHtml.js b/ccm-core/web/assets/xinha/plugins/GetHtml/GetHtml.js new file mode 100644 index 000000000..7418f8557 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/GetHtml/GetHtml.js @@ -0,0 +1,17 @@ +/** + Implemented now as GetHtmlImplementation plugin in modules/GetHtml/TransformInnerHTML.js + */ + +function GetHtml(editor) { + editor.config.getHtmlMethod = "TransformInnerHTML"; +} + +GetHtml._pluginInfo = { + name : "GetHtml", + version : "1.0", + developer : "Nelson Bright", + developer_url : "http://www.brightworkweb.com/", + sponsor : "", + sponsor_url : "", + license : "htmlArea" +}; diff --git a/ccm-core/web/assets/xinha/plugins/GetHtml/get-html.js b/ccm-core/web/assets/xinha/plugins/GetHtml/get-html.js deleted file mode 100644 index e218a67fd..000000000 --- a/ccm-core/web/assets/xinha/plugins/GetHtml/get-html.js +++ /dev/null @@ -1,8 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/GetHtml/get-html.js */ -function GetHtml(_1){ -_1.config.getHtmlMethod="TransformInnerHTML"; -} -GetHtml._pluginInfo={name:"GetHtml",version:"1.0",developer:"Nelson Bright",developer_url:"http://www.brightworkweb.com/",sponsor:"",sponsor_url:"",license:"htmlArea"}; - diff --git a/ccm-core/web/assets/xinha/plugins/HorizontalRule/HorizontalRule.js b/ccm-core/web/assets/xinha/plugins/HorizontalRule/HorizontalRule.js new file mode 100644 index 000000000..b181d479a --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/HorizontalRule/HorizontalRule.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +HorizontalRule._pluginInfo={name:"HorizontalRule",version:"1.0",developer:"Nelson Bright",developer_url:"http://www.brightworkweb.com/",c_owner:"Nelson Bright",sponsor:"BrightWork, Inc.",sponsor_url:"http://www.brightworkweb.com/",license:"htmlArea"};function HorizontalRule(d){this.editor=d;var b=d.config;var a=b.toolbar;var c=this;b.registerButton({id:"edithorizontalrule",tooltip:this._lc("Insert/edit horizontal rule"),image:[_editor_url+"images/ed_buttons_main.gif",6,0],textMode:false,action:function(e){c.buttonPress(e)}});b.addToolbarElement("edithorizontalrule","inserthorizontalrule",0)}HorizontalRule.prototype._lc=function(a){return Xinha._lc(a,"HorizontalRule")};HorizontalRule.prototype.buttonPress=function(a){this.editor=a;this._editHorizontalRule()};HorizontalRule.prototype._editHorizontalRule=function(d){editor=this.editor;var c=editor._getSelection();var b=editor._createRange(c);var e=null;if(typeof d=="undefined"){d=editor.getParentElement();if(d&&!/^hr$/i.test(d.tagName)){d=null}}if(d){var a=d.style.width||d.width;e={f_size:parseInt(d.style.height,10)||d.size,f_widthUnit:(/(%|px)$/.test(a))?RegExp.$1:"px",f_width:parseInt(a,10),f_color:Xinha._colorToRgb(d.style.backgroundColor)||d.color,f_align:d.style.textAlign||d.align,f_noshade:(parseInt(d.style.borderWidth,10)==0)||d.noShade}}editor._popupDialog("plugin://HorizontalRule/edit_horizontal_rule.html",function(j){if(!j){return false}var g=d;if(!g){var f=editor._doc.createElement("hr");for(var i in j){var h=j[i];if(h==""){continue}switch(i){case"f_width":if(j.f_widthUnit=="%"){f.style.width=h+"%"}else{f.style.width=h+"px"}break;case"f_size":f.style.height=h+"px";break;case"f_align":f.style.textAlign=h;switch(h){case"left":f.style.marginLeft="0";break;case"right":f.style.marginRight="0";break;case"center":f.style.marginLeft="auto";f.style.marginRight="auto";break}break;case"f_color":f.style.backgroundColor=h;break;case"f_noshade":f.style.border="0";break}}if(Xinha.is_gecko){editor.execCommand("inserthtml",false,Xinha.getOuterHTML(f))}else{editor.insertNodeAtSelection(f)}}else{for(var i in j){var h=j[i];switch(i){case"f_width":if(j.f_widthUnit=="%"){g.style.width=h+"%"}else{g.style.width=h+"px"}break;case"f_size":g.style.height=h+"px";break;case"f_align":g.style.textAlign=h;switch(h){case"left":g.style.marginLeft="0";g.style.marginRight=null;break;case"right":g.style.marginRight="0";g.style.marginLeft=null;break;case"center":g.style.marginLeft="auto";g.style.marginRight="auto";break}break;case"f_color":g.style.backgroundColor=h;break;case"f_noshade":break}g.style.border=(j.f_noshade)?"0":null}}},e)}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/HorizontalRule/horizontal-rule.js b/ccm-core/web/assets/xinha/plugins/HorizontalRule/horizontal-rule.js deleted file mode 100644 index 9e08c8b46..000000000 --- a/ccm-core/web/assets/xinha/plugins/HorizontalRule/horizontal-rule.js +++ /dev/null @@ -1,130 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/HorizontalRule/horizontal-rule.js */ -HorizontalRule._pluginInfo={name:"HorizontalRule",version:"1.0",developer:"Nelson Bright",developer_url:"http://www.brightworkweb.com/",c_owner:"Nelson Bright",sponsor:"BrightWork, Inc.",sponsor_url:"http://www.brightworkweb.com/",license:"htmlArea"}; -function HorizontalRule(_1){ -this.editor=_1; -var _2=_1.config; -var _3=_2.toolbar; -var _4=this; -_2.registerButton({id:"edithorizontalrule",tooltip:this._lc("Insert/edit horizontal rule"),image:[_editor_url+"images/ed_buttons_main.gif",6,0],textMode:false,action:function(_5){ -_4.buttonPress(_5); -}}); -_2.addToolbarElement("edithorizontalrule","inserthorizontalrule",0); -} -HorizontalRule.prototype._lc=function(_6){ -return Xinha._lc(_6,"HorizontalRule"); -}; -HorizontalRule.prototype.buttonPress=function(_7){ -this.editor=_7; -this._editHorizontalRule(); -}; -HorizontalRule.prototype._editHorizontalRule=function(_8){ -editor=this.editor; -var _9=editor._getSelection(); -var _a=editor._createRange(_9); -var _b=null; -if(typeof _8=="undefined"){ -_8=editor.getParentElement(); -if(_8&&!/^hr$/i.test(_8.tagName)){ -_8=null; -} -} -if(_8){ -var _c=_8.style.width||_8.width; -_b={f_size:parseInt(_8.style.height,10)||_8.size,f_widthUnit:(/(%|px)$/.test(_c))?RegExp.$1:"px",f_width:parseInt(_c,10),f_color:Xinha._colorToRgb(_8.style.backgroundColor)||_8.color,f_align:_8.style.textAlign||_8.align,f_noshade:(parseInt(_8.style.borderWidth,10)==0)||_8.noShade}; -} -editor._popupDialog("plugin://HorizontalRule/edit_horizontal_rule.html",function(_d){ -if(!_d){ -return false; -} -var hr=_8; -if(!hr){ -var _f=editor._doc.createElement("hr"); -for(var _10 in _d){ -var _11=_d[_10]; -if(_11==""){ -continue; -} -switch(_10){ -case "f_width": -if(_d["f_widthUnit"]=="%"){ -_f.style.width=_11+"%"; -}else{ -_f.style.width=_11+"px"; -} -break; -case "f_size": -_f.style.height=_11+"px"; -break; -case "f_align": -_f.style.textAlign=_11; -switch(_11){ -case "left": -_f.style.marginLeft="0"; -break; -case "right": -_f.style.marginRight="0"; -break; -case "center": -_f.style.marginLeft="auto"; -_f.style.marginRight="auto"; -break; -} -break; -case "f_color": -_f.style.backgroundColor=_11; -break; -case "f_noshade": -_f.style.border="0"; -break; -} -} -if(Xinha.is_gecko){ -editor.execCommand("inserthtml",false,Xinha.getOuterHTML(_f)); -}else{ -editor.insertNodeAtSelection(_f); -} -}else{ -for(var _10 in _d){ -var _11=_d[_10]; -switch(_10){ -case "f_width": -if(_d["f_widthUnit"]=="%"){ -hr.style.width=_11+"%"; -}else{ -hr.style.width=_11+"px"; -} -break; -case "f_size": -hr.style.height=_11+"px"; -break; -case "f_align": -hr.style.textAlign=_11; -switch(_11){ -case "left": -hr.style.marginLeft="0"; -hr.style.marginRight=null; -break; -case "right": -hr.style.marginRight="0"; -hr.style.marginLeft=null; -break; -case "center": -hr.style.marginLeft="auto"; -hr.style.marginRight="auto"; -break; -} -break; -case "f_color": -hr.style.backgroundColor=_11; -break; -case "f_noshade": -break; -} -hr.style.border=(_d["f_noshade"])?"0":null; -} -} -},_b); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/HtmlEntities/HtmlEntities.js b/ccm-core/web/assets/xinha/plugins/HtmlEntities/HtmlEntities.js new file mode 100644 index 000000000..144536f14 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/HtmlEntities/HtmlEntities.js @@ -0,0 +1,51 @@ +/*------------------------------------------*\ +HtmlEntities for Xinha +____________________ + +Intended to faciliate the use of special characters with ISO 8 bit encodings. + +Using the conversion map provided by mharrisonline in ticket #127 + +If you want to adjust the list, e.g. to except the characters that are available in the used charset, +edit Entities.js. +You may save it under a different name using the xinha_config.HtmlEntities.EntitiesFile variable + +ISO-8859-1 preset is default, set + + xinha_config.HtmlEntities.Encoding = null; + +if you want all special characters to be converted or want to load a custom file +\*------------------------------------------*/ + +function HtmlEntities(editor) { + this.editor = editor; +} + +HtmlEntities._pluginInfo = { + name : "HtmlEntities", + version : "1.0", + developer : "Raimund Meyer", + developer_url : "http://x-webservice.net", + c_owner : "Xinha community", + sponsor : "", + sponsor_url : "", + license : "HTMLArea" +} +Xinha.Config.prototype.HtmlEntities = +{ + Encoding : 'iso-8859-1', + EntitiesFile : Xinha.getPluginDir("HtmlEntities") + "/Entities.js" +} +HtmlEntities.prototype.onGenerate = function() { + var e = this.editor; + var url = (e.config.HtmlEntities.Encoding) ? Xinha.getPluginDir("HtmlEntities") + "/"+e.config.HtmlEntities.Encoding+".js" : e.config.HtmlEntities.EntitiesFile; + var callback = function (getback) { + var specialReplacements = e.config.specialReplacements; + eval("var replacements =" + getback); + for (var i in replacements) + { + specialReplacements[i] = replacements[i]; + } + } + Xinha._getback(url,callback); +} diff --git a/ccm-core/web/assets/xinha/plugins/HtmlEntities/html-entities.js b/ccm-core/web/assets/xinha/plugins/HtmlEntities/html-entities.js deleted file mode 100644 index 470058620..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlEntities/html-entities.js +++ /dev/null @@ -1,21 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/HtmlEntities/html-entities.js */ -function HtmlEntities(_1){ -this.editor=_1; -} -HtmlEntities._pluginInfo={name:"HtmlEntities",version:"1.0",developer:"Raimund Meyer",developer_url:"http://rheinauf.de",c_owner:"Xinha community",sponsor:"",sponsor_url:"",license:"Creative Commons Attribution-ShareAlike License"}; -Xinha.Config.prototype.HtmlEntities={Encoding:"iso-8859-1",EntitiesFile:Xinha.getPluginDir("HtmlEntities")+"/Entities.js"}; -HtmlEntities.prototype.onGenerate=function(){ -var e=this.editor; -var _3=(e.config.HtmlEntities.Encoding)?Xinha.getPluginDir("HtmlEntities")+"/"+e.config.HtmlEntities.Encoding+".js":e.config.HtmlEntities.EntitiesFile; -var _4=function(_5){ -var _6=e.config.specialReplacements; -eval("var replacements ="+_5); -for(var i in replacements){ -_6[i]=replacements[i]; -} -}; -Xinha._getback(_3,_4); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/README b/ccm-core/web/assets/xinha/plugins/HtmlTidy/README deleted file mode 100755 index a3e19f2c8..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/README +++ /dev/null @@ -1,104 +0,0 @@ -// Plugin for htmlArea to run code through the server's HTML Tidy -// By Adam Wright, for The University of Western Australia -// -// Email: zeno@ucc.gu.uwa.edu.au -// Homepage: http://blog.hipikat.org/ -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -// -// Version: 0.5 -// Released to the outside world: 04/03/04 - - -HtmlTidy is a plugin for the popular cross-browser TTY WYSIWYG editor, -htmlArea (http://www.interactivetools.com/products/htmlarea/). HtmlTidy -basically queries HTML Tidy (http://tidy.sourceforge.net/) on the -server side, getting it to make-html-nice, instead of relying on masses -of javascript, which the client would have to download. - -Hi, this is a quick explanation of how to install HtmlTidy. Much better -documentation is probably required, and you're welcome to write it :) - - -* The HtmlTidy directory you should have found this file in should - include the following: - - - README - This file, providing help installing the plugin. - - - html-tidy-config.cfg - This file contains the configuration options HTML Tidy uses to - clean html, and can be modified to suit your organizations - requirements. - - - html-tidy-logic.php - This is the php script, which is queried with dirty html and is - responsible for invoking HTML Tidy, getting nice new html and - returning it to the client. - - - html-tidy.js - The main htmlArea plugin, providing functionality to tidy html - through the htmlArea interface. - - - htmlarea.js.onmode_event.diff - At the time of publishing, an extra event handler was required - inside the main htmlarea.js file. htmlarea.js may be patched - against this file to make the changes reuquired, but be aware - that the event handler may either now be in the core or - htmlarea.js may have changed enough to invalidate the patch. - - UPDATE: now it exists in the official htmlarea.js; applying - this patch is thus no longer necessary. - - - img/html-tidy.gif - The HtmlTidy icon, for the htmlArea toolbar. Created by Dan - Petty for The University of Western Australia. - - - lang/en.js - English language file. Add your own language files here and - please contribute back into the htmlArea community! - - The HtmlArea directory should be extracted to your htmlarea/plugins/ - directory. - - -* Make sure the onMode event handler mentioned above, regarding - htmlarea.js.onmode_event.diff, exists in your htmlarea.js - - -* html-tidy-logic.php should be executable, and your web server should - be configured to execute php scripts in the directory - html-tidy-logic.php exists in. - - -* HTML Tidy needs to be installed on your server, and 'tidy' should be - an alias to it, lying in the PATH known to the user executing such - web scripts. - - -* In your htmlArea configuration, do something like this: - - HTMLArea.loadPlugin("HtmlTidy"); - - editor = new HTMLArea("doc"); - editor.registerPlugin("HtmlTidy"); - - -* Then, in your htmlArea toolbar configuration, use: - - - "HT-html-tidy" - This will create the 'tidy broom' icon on the toolbar, which - will attempt to tidy html source when clicked, and; - - - "HT-auto-tidy" - This will create an "Auto Tidy" / "Don't Tidy" dropdown, to - select whether the source should be tidied automatically when - entering source view. On by default, if you'd like it otherwise - you can do so programatically after generating the toolbar :) - (Or just hack it to be otherwise...) - - -Thank you. - -Any bugs you find can be emailed to zeno@ucc.gu.uwa.edu.au diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-config.cfg b/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-config.cfg deleted file mode 100755 index 761699276..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-config.cfg +++ /dev/null @@ -1,29 +0,0 @@ -// Default configuration file for the htmlArea, HtmlTidy plugin -// By Adam Wright, for The University of Western Australia -// -// Evertything you always wanted to know about HTML Tidy * -// can be found at http://tidy.sourceforge.net/, and a -// quick reference to the configuration options exists at -// http://tidy.sourceforge.net/docs/quickref.html -// -// * But were afraid to ask -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). - -word-2000: yes -clean: yes -drop-font-tags: no -doctype: auto -drop-empty-paras: yes -drop-proprietary-attributes: yes -enclose-block-text: yes -enclose-text: yes -escape-cdata: yes -logical-emphasis: yes -indent: auto -indent-spaces: 2 -break-before-br: yes -output-xhtml: yes - -force-output: yes diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-logic.php b/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-logic.php deleted file mode 100755 index c457e0fee..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy-logic.php +++ /dev/null @@ -1,79 +0,0 @@ - array("pipe", "r"), - 1 => array("pipe", "w") - ); - $process = @proc_open("tidy -utf8 -config {$cwd}html-tidy-config.cfg", $descriptorspec, $pipes); - - - // Make sure the program started and we got the hooks... - // Either way, get some source code into $source - if (is_resource($process)) { - - // Feed untidy source into the stdin - fwrite($pipes[0], $source); - fclose($pipes[0]); - - // Read clean source out to the browser - while (!feof($pipes[1])) { - //echo fgets($pipes[1], 1024); - $newsrc .= fgets($pipes[1], 1024); - } - fclose($pipes[1]); - - // Clean up after ourselves - proc_close($process); - - } else { - /* Use tidy if it's available from PECL */ - if( function_exists('tidy_parse_string') ) - { - $tempsrc = tidy_parse_string($source); - tidy_clean_repair(); - $newsrc = tidy_get_output(); - } - else - { - // Better give them back what they came with, so they don't lose it all... - $newsrc = "\n" .$source. "\n"; - } - } - - // Split our source into an array by lines - $srcLines = preg_split("/\n/",$newsrc,-1,PREG_SPLIT_NO_EMPTY); - - // Get only the lines between the body tags - $startLn = 0; - while ( strpos( $srcLines[$startLn++], ' -var ns=""; - -editor.setHTML(ns); - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy.js b/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy.js deleted file mode 100644 index e34e3251e..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/html-tidy.js +++ /dev/null @@ -1,72 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/HtmlTidy/html-tidy.js */ -function HtmlTidy(_1){ -this.editor=_1; -var _2=_1.config; -var bl=HtmlTidy.btnList; -var _4=this; -this.onMode=this.__onMode; -var _5=[]; -for(var i=0;iVT{ufKN9=>Px!Z{IzC za9{uBOUwKB?|=XP^~{->=cYt|{Al^&+`hT(j`H&IhmVGR_-1|O%ECK4rk*<&eB(g0 zg@LAty5!ljT2dl>H|}KLx;^vhGt)0$46ICzzJD}){`|)Crx%YLQGfCH*32}9DlgVE zXN->@kN)%j?)B3*UcJ`#a&!9f^+SDq{e%?mV=WO6t{m_0?>ANz+p$o6UNgtpL-`C0 z414#g6x%c0xuZUF=FGcycbq@JaQAMPhYv5^zHQIX&wqZ0+Jgt@b}gUq=6TSvO7H*w z&s@JDe0+A%`SY?ncKEGY70oc1fZ|UURuKjU1|3EQMg{=}0R{&4Ee#ATEDTI73{6a& z5&|8pY-UZY46MxTjHX^fymLgD7#Nuu*q9g@edRcr*cU8X$jr#VtSn%_BGR#NEejh1 zyNrZA)BM)GyO`Ld&G}fZ*K}N9(Dl|Z5!&Z^@q(VPwx`r&qxOq@R+_e!-11zvE+`19 zxEX5+zq!Tf;G)DMCT8LBmSM(;4@rznY>HY(GRj>zgqt~(=2Qr5IKnC>JICO|$0KnE Yn8dXd9yl5*Y+>PRa*z}<5MZzd0L~D`EdT%j diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/de.js b/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/de.js deleted file mode 100644 index ce69fc264..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/de.js +++ /dev/null @@ -1,7 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 -// Author: Raimund Meyer ray@ray-of-light.org -{ - "HTML Tidy": "HTML Tidy", - "Tidy failed. Check your HTML for syntax errors.": "Tidy fehlgeschlagen. Prüfen Sie den HTML Code nach Syntax-Fehlern." -}; diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/fr.js b/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/fr.js deleted file mode 100644 index 5312a0865..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/fr.js +++ /dev/null @@ -1,8 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "HTML Tidy": "HTML Tidy", - "Auto-Tidy": "Tidy automatique", - "Don't Tidy": "Tidy non utilisé", - "Tidy failed. Check your HTML for syntax errors.": "Tidy a échoué. Vérifiez votre HTML for des erreurs de syntaxe" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/ja.js b/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/ja.js deleted file mode 100644 index 539e0dd89..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/ja.js +++ /dev/null @@ -1,8 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "HTML Tidy": "HTML Tidy", - "Auto-Tidy": "自動適正化", - "Don't Tidy": "適正化しない", - "Tidy failed. Check your HTML for syntax errors.":"適正化に失敗しました。HTMLの文法エラーを確認してください。" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/nb.js b/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/nb.js deleted file mode 100644 index d94d44f4a..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/nb.js +++ /dev/null @@ -1,7 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "HTML Tidy": "HTML Tidy", - "Tidy failed. Check your HTML for syntax errors.": "Tidy feilet. Sjekk HTML koden for syntaksfeil." -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/nl.js b/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/nl.js deleted file mode 100644 index bc2f7188b..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/nl.js +++ /dev/null @@ -1,5 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -{ - "HT-html-tidy": "HTML opschonen" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/pt_br.js deleted file mode 100644 index 859bbbf6f..000000000 --- a/ccm-core/web/assets/xinha/plugins/HtmlTidy/lang/pt_br.js +++ /dev/null @@ -1,21 +0,0 @@ -// I18N constants - -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation - -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br - -// Last revision: 05 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail - -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Auto-Tidy": "Auto-Tidy", - "Don't Tidy": "Sem Tidy", - "HTML Tidy": "HTML Tidy", - "Tidy failed. Check your HTML for syntax errors.": "Tidy falhou. Verifique erros de sintaxe em seu HTML." -} diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Files.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Files.php index e7e60544b..1bc9730b7 100755 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Files.php +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Files.php @@ -1,333 +1,333 @@ -read())) - { - if ($entry != '.' && $entry != '..') - { - $obj = Files::fixPath($folder).$entry; - //var_dump($obj); - if (is_file($obj)) - { - $deleted &= Files::delFile($obj); - } - else if(is_dir($obj)) - { - $deleted &= Files::delFolder($obj, $recursive); - } - - } - } - $d->close(); - - } - - //$folder= $folder.'/thumbs'; - //var_dump($folder); - if(is_dir($folder)) - $deleted &= rmdir($folder); - else - $deleted &= false; - - Return $deleted; - } - - /** - * Append a / to the path if required. - * @param string $path the path - * @return string path with trailing / - */ - function fixPath($path) - { - //append a slash to the path if it doesn't exists. - if(!(substr($path,-1) == '/')) - $path .= '/'; - Return $path; - } - - /** - * Concat two paths together. Basically $pathA+$pathB - * @param string $pathA path one - * @param string $pathB path two - * @return string a trailing slash combinded path. - */ - function makePath($pathA, $pathB) - { - $pathA = Files::fixPath($pathA); - if(substr($pathB,0,1)=='/') - $pathB = substr($pathB,1); - Return Files::fixPath($pathA.$pathB); - } - - /** - * Similar to makePath, but the second parameter - * is not only a path, it may contain say a file ending. - * @param string $pathA the leading path - * @param string $pathB the ending path with file - * @return string combined file path. - */ - function makeFile($pathA, $pathB) - { - $pathA = Files::fixPath($pathA); - if(substr($pathB,0,1)=='/') - $pathB = substr($pathB,1); - - Return $pathA.$pathB; - } - - - /** - * Format the file size, limits to Mb. - * @param int $size the raw filesize - * @return string formated file size. - */ - function formatSize($size) - { - if($size < 1024) - return $size.' bytes'; - else if($size >= 1024 && $size < 1024*1024) - return sprintf('%01.2f',$size/1024.0).' KB'; - else - return sprintf('%01.2f',$size/(1024.0*1024)).' MB'; - } - - /** - * Returns size of a directory, with all file & subdirectory - * sizes added up - * @param string dir path - * @return int - */ - function dirSize($dirName = '.') - { - $dir = dir($dirName); - $size = 0; - - while ($file = $dir->read()) { - if ($file != '.' && $file != '..') - { - if (is_dir("$dirName$file")) - { - $size += Files::dirSize($dirName . '/' . $file); - } - else - { - $size += filesize($dirName . '/' . $file); - } - } - } - $dir->close(); - return $size; - } - - /** - * Renames file, preserving its directory and extension - * @param string $oldPath path to the old existing file - * @param string new filename (just the name, without path or extension) - * @author Krzysztof Kotowicz - */ - function renameFile($oldPath, $newName) { - - if(!(file_exists($oldPath) && is_file($oldPath))) - return FILE_ERROR_NO_SOURCE; - - $oldFileParts = pathinfo($oldPath); - - $newPath = $oldFileParts['dirname'] . '/' - . $newName - . (!empty($oldFileParts['extension']) ? '.' . $oldFileParts['extension'] : ''); - - if (file_exists($newPath)) - return false; - - if (!rename($oldPath, $newPath)) - return FILE_ERROR_COPY_FAILED; - - } - - function rename ($oldPath,$newPath) - { - if(!(is_dir($oldPath) || is_file($oldPath))) - return FILE_ERROR_NO_SOURCE; - - if (file_exists($newPath)) - return FILE_ERROR_DST_DIR_EXIST; - - $ret = rename($oldPath, $newPath); - if (!$ret) - return FILE_ERROR_COPY_FAILED; - else return FILE_COPY_OK; - } - - /** - * copy a directory and all subdirectories and files (recursive) - * @author SBoisvert at Don'tSpamMe dot Bryxal dot ca (adapted from php.net) - * @author Raimund Meyer - * @param string base path - * @param string source directory - * @param string destination directory - * @param bool overwrite existing files - * - * @return mixed bool true on pass, number on fail - */ - function copyDir($basePath, $source, $dest, $overwrite = false) - { - if(!is_dir($basePath . $dest)) - { - if (!@mkdir($basePath . $dest)) return FILE_ERROR_DST_DIR_FAILED; - } - if($handle = opendir($basePath . $source)) - { // if the folder exploration is sucsessful, continue - while( ($file = readdir($handle)) !== false) - { // as long as storing the next file to $file is successful, continue - if($file != '.' && $file != '..') - { - $path = $source . '/' . $file; - if(is_file($basePath . $path)) - { - /*if(!is_file($basePath . $dest . '/' . $file) || $overwrite) - { - if(!@copy($basePath . $path, $basePath . $dest . '/' . $file)) - { - return FILE_ERROR_COPY_FAILED; - } - }*/ - Files::copyFile($basePath . $path, $basePath . $dest . '/', $file, true); - } - elseif(is_dir($basePath . $path)) - { - if(!is_dir($basePath . $dest . '/' . $file)) - { - mkdir($basePath . $dest . '/' . $file); // make subdirectory before subdirectory is copied - Files::copyDir($basePath, $path, $dest . '/' . $file, $overwrite); //recurse! - } - } - } - } - closedir($handle); - } - return true; - } -} - -?> +read())) + { + if ($entry != '.' && $entry != '..') + { + $obj = Files::fixPath($folder).$entry; + //var_dump($obj); + if (is_file($obj)) + { + $deleted &= Files::delFile($obj); + } + else if(is_dir($obj)) + { + $deleted &= Files::delFolder($obj, $recursive); + } + + } + } + $d->close(); + + } + + //$folder= $folder.'/thumbs'; + //var_dump($folder); + if(is_dir($folder)) + $deleted &= rmdir($folder); + else + $deleted &= false; + + Return $deleted; + } + + /** + * Append a / to the path if required. + * @param string $path the path + * @return string path with trailing / + */ + function fixPath($path) + { + //append a slash to the path if it doesn't exists. + if(!(substr($path,-1) == '/')) + $path .= '/'; + Return $path; + } + + /** + * Concat two paths together. Basically $pathA+$pathB + * @param string $pathA path one + * @param string $pathB path two + * @return string a trailing slash combinded path. + */ + function makePath($pathA, $pathB) + { + $pathA = Files::fixPath($pathA); + if(substr($pathB,0,1)=='/') + $pathB = substr($pathB,1); + Return Files::fixPath($pathA.$pathB); + } + + /** + * Similar to makePath, but the second parameter + * is not only a path, it may contain say a file ending. + * @param string $pathA the leading path + * @param string $pathB the ending path with file + * @return string combined file path. + */ + function makeFile($pathA, $pathB) + { + $pathA = Files::fixPath($pathA); + if(substr($pathB,0,1)=='/') + $pathB = substr($pathB,1); + + Return $pathA.$pathB; + } + + + /** + * Format the file size, limits to Mb. + * @param int $size the raw filesize + * @return string formated file size. + */ + function formatSize($size) + { + if($size < 1024) + return $size.' bytes'; + else if($size >= 1024 && $size < 1024*1024) + return sprintf('%01.2f',$size/1024.0).' KB'; + else + return sprintf('%01.2f',$size/(1024.0*1024)).' MB'; + } + + /** + * Returns size of a directory, with all file & subdirectory + * sizes added up + * @param string dir path + * @return int + */ + function dirSize($dirName = '.') + { + $dir = dir($dirName); + $size = 0; + + while ($file = $dir->read()) { + if ($file != '.' && $file != '..') + { + if (is_dir("$dirName$file")) + { + $size += Files::dirSize($dirName . '/' . $file); + } + else + { + $size += filesize($dirName . '/' . $file); + } + } + } + $dir->close(); + return $size; + } + + /** + * Renames file, preserving its directory and extension + * @param string $oldPath path to the old existing file + * @param string new filename (just the name, without path or extension) + * @author Krzysztof Kotowicz + */ + function renameFile($oldPath, $newName) { + + if(!(file_exists($oldPath) && is_file($oldPath))) + return FILE_ERROR_NO_SOURCE; + + $oldFileParts = pathinfo($oldPath); + + $newPath = $oldFileParts['dirname'] . '/' + . $newName + . (!empty($oldFileParts['extension']) ? '.' . $oldFileParts['extension'] : ''); + + if (file_exists($newPath)) + return false; + + if (!rename($oldPath, $newPath)) + return FILE_ERROR_COPY_FAILED; + + } + + function rename ($oldPath,$newPath) + { + if(!(is_dir($oldPath) || is_file($oldPath))) + return FILE_ERROR_NO_SOURCE; + + if (file_exists($newPath)) + return FILE_ERROR_DST_DIR_EXIST; + + $ret = rename($oldPath, $newPath); + if (!$ret) + return FILE_ERROR_COPY_FAILED; + else return FILE_COPY_OK; + } + + /** + * copy a directory and all subdirectories and files (recursive) + * @author SBoisvert at Don'tSpamMe dot Bryxal dot ca (adapted from php.net) + * @author Raimund Meyer + * @param string base path + * @param string source directory + * @param string destination directory + * @param bool overwrite existing files + * + * @return mixed bool true on pass, number on fail + */ + function copyDir($basePath, $source, $dest, $overwrite = false) + { + if(!is_dir($basePath . $dest)) + { + if (!@mkdir($basePath . $dest)) return FILE_ERROR_DST_DIR_FAILED; + } + if($handle = opendir($basePath . $source)) + { // if the folder exploration is sucsessful, continue + while( ($file = readdir($handle)) !== false) + { // as long as storing the next file to $file is successful, continue + if($file != '.' && $file != '..') + { + $path = $source . '/' . $file; + if(is_file($basePath . $path)) + { + /*if(!is_file($basePath . $dest . '/' . $file) || $overwrite) + { + if(!@copy($basePath . $path, $basePath . $dest . '/' . $file)) + { + return FILE_ERROR_COPY_FAILED; + } + }*/ + Files::copyFile($basePath . $path, $basePath . $dest . '/', $file, true); + } + elseif(is_dir($basePath . $path)) + { + if(!is_dir($basePath . $dest . '/' . $file)) + { + mkdir($basePath . $dest . '/' . $file); // make subdirectory before subdirectory is copied + Files::copyDir($basePath, $path, $dest . '/' . $file, $overwrite); //recurse! + } + } + } + } + closedir($handle); + } + return true; + } +} + +?> diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Flickr.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Flickr.php new file mode 100644 index 000000000..169553499 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/Flickr.php @@ -0,0 +1,188 @@ + $v) + { + $flickr .= "&{$k}=".rawurlencode($v); + } + + $feed = file_get_contents($flickr); + if($feed) + { + $feed = json_decode($feed, true); + if(!$feed || !isset($feed['stat']) || ($feed['stat'] != 'ok')) + { + print_r($params); + trigger_error($feed['message'], E_USER_ERROR); + return FALSE; + } + } + else + { + trigger_error('Null response from Flickr', E_USER_ERROR); + } + + return $feed; +} + +function flickr_get_licenses() +{ + static $lics; + + if(!$lics) + { + if(0 && isset($_SESSION['flickr_licenses'])) + { + $lics = $_SESSION['flickr_licenses']; + return $lics; + } + + $lics = array(); + $x = flickr_request('flickr.photos.licenses.getInfo'); + $x = $x['licenses']['license']; + foreach($x as $l) + { + // Add out own descriptive "usage" text + switch($l['url']) + { + case 'http://creativecommons.org/licenses/by/2.0/': + case 'http://creativecommons.org/licenses/by-sa/2.0/': + $l['usage'] = 'Attribution Required'; + break; + + case 'http://creativecommons.org/licenses/by-nd/2.0/': + $l['usage'] = 'Attribution Required, No Modifications'; + break; + + case 'http://creativecommons.org/licenses/by-nc-nd/2.0/': + $l['usage'] = 'Non Commercial ONLY, Attribution Required, No Modifications'; + break; + + case 'http://creativecommons.org/licenses/by-nc/2.0/': + case 'http://creativecommons.org/licenses/by-nc-sa/2.0/': + $l['usage'] = 'Non Commercial ONLY, Attribution Required'; + break; + + default: + $l['usage'] = 'Use ONLY Permitted With Written Permission'; + break; + } + + // And our own identifier + switch($l['url']) + { + case 'http://creativecommons.org/licenses/by/2.0/': + $l['x-id'] = 'cc2'; + break; + + case 'http://creativecommons.org/licenses/by-sa/2.0/': + $l['x-id'] = 'ccsa2'; + break; + + case 'http://creativecommons.org/licenses/by-nd/2.0/': + $l['x-id'] = 'ccnd2'; + break; + + case 'http://creativecommons.org/licenses/by-nc-nd/2.0/': + $l['x-id'] = 'ccncnd2'; + break; + + case 'http://creativecommons.org/licenses/by-nc/2.0/': + $l['x-id'] = 'ccnc2'; + break; + + case 'http://creativecommons.org/licenses/by-nc-sa/2.0/': + $l['x-id'] = 'ccncsa2'; + break; + + default: + $l['x-id'] = ''; + break; + } + + $lics[$l['id']] = $l; + } + + $_SESSION['flickr_licenses'] = $lics; + } + + return $lics; +} + +function flickr_get_license_id_by_usage() +{ + $lics = flickr_get_licenses(); + $use = array(); + foreach($lics as $lic) + { + if(!isset($use[$lic['usage']])) + { + $use[$lic['usage']] = $lic['id']; + } + else + { + $use[$lic['usage']] .= "," . $lic['id']; + } + } + + return $use; +} + +function flickr_is_default_license($licIDs) +{ + global $IMConfig; + $lics = flickr_get_licenses(); + foreach($lics as $lic) + { + if($lic['url'] == $IMConfig['Flickr']['Default License']) + { + if(in_array($lic['id'], explode(',', $licIDs))) return TRUE; + } + } + + return FALSE; +} + +function flickr_get_default_usage_id() +{ + $usages = flickr_get_license_id_by_usage(); + foreach($usages as $usage => $id) + { + if(flickr_is_default_license($id)) return $id; + } + + return 0; +} + +function flickr_get_user_id($NameOrEmail) +{ + if(preg_match('/@/', $NameOrEmail)) + { + $d = flickr_request('flickr.people.findByEmail', array('find_email' => $NameOrEmail)); + if($d) + { + return $d['user']['id']; + } + } + else + { + $d = flickr_request('flickr.people.findByUsername', array('username' => $NameOrEmail)); + if($d) + { + return $d['user']['id']; + } + } +} + +?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageEditor.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageEditor.php index 1cb5272a5..0df8c99eb 100755 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageEditor.php +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageEditor.php @@ -259,6 +259,13 @@ class ImageEditor if($type=='gif' && $ext != 'gif') Return $base.'.gif'; + // Ensure type is in acceptable image types + $valid_extensions = $this->manager->config['allowed_image_extensions']; + if(!in_array($ext, $valid_extensions)) + { + return $base . ".".strtolower($type ? $type : 'jpg'); + } + Return $filename; } diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageManager.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageManager.php index 249f6d875..6c4a5d514 100755 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageManager.php +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/ImageManager.php @@ -313,7 +313,7 @@ class ImageManager if($this->config['safe_mode'] == true || strlen(trim($this->config['thumbnail_dir'])) == 0) { - Return Files::makeFile($this->getImagesURL(),$thumbnail); + Return Files::makeFile($this->getImagesURL(),rawurlencode($thumbnail)); } else { @@ -324,7 +324,7 @@ class ImageManager _ddt( __FILE__, __LINE__, "getThumbURL(): url_path is '$url_path'" ); - Return Files::makeFile($url_path,$thumbnail); + Return Files::makeFile($url_path,rawurlencode($thumbnail)); } else //should this ever happen? { @@ -456,6 +456,14 @@ class ImageManager Return false; } } + + $valid_extensions = $this->config['allowed_image_extensions']; + $afruext = strtolower(substr(strrchr($file['name'], "."), 1)); + if(!in_array($afruext, $valid_extensions)) + { + Files::delFile($file['tmp_name']); + Return 'Cannot upload $extension='.$afruext.'$ Files. Permission denied.'; + } //now copy the file $path = Files::makePath($this->getImagesDir(),$relative); diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON.php new file mode 100644 index 000000000..436f78279 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON.php @@ -0,0 +1,806 @@ + + * @author Matt Knapp + * @author Brett Stimmerman + * @copyright 2005 Michal Migurski + * @version CVS: $Id: JSON.php,v 1.31 2006/06/28 05:54:17 migurski Exp $ + * @license http://www.opensource.org/licenses/bsd-license.php + * @link http://pear.php.net/pepr/pepr-proposal-show.php?id=198 + */ + +/** + * Marker constant for Services_JSON::decode(), used to flag stack state + */ +define('SERVICES_JSON_SLICE', 1); + +/** + * Marker constant for Services_JSON::decode(), used to flag stack state + */ +define('SERVICES_JSON_IN_STR', 2); + +/** + * Marker constant for Services_JSON::decode(), used to flag stack state + */ +define('SERVICES_JSON_IN_ARR', 3); + +/** + * Marker constant for Services_JSON::decode(), used to flag stack state + */ +define('SERVICES_JSON_IN_OBJ', 4); + +/** + * Marker constant for Services_JSON::decode(), used to flag stack state + */ +define('SERVICES_JSON_IN_CMT', 5); + +/** + * Behavior switch for Services_JSON::decode() + */ +define('SERVICES_JSON_LOOSE_TYPE', 16); + +/** + * Behavior switch for Services_JSON::decode() + */ +define('SERVICES_JSON_SUPPRESS_ERRORS', 32); + +/** + * Converts to and from JSON format. + * + * Brief example of use: + * + * + * // create a new instance of Services_JSON + * $json = new Services_JSON(); + * + * // convert a complexe value to JSON notation, and send it to the browser + * $value = array('foo', 'bar', array(1, 2, 'baz'), array(3, array(4))); + * $output = $json->encode($value); + * + * print($output); + * // prints: ["foo","bar",[1,2,"baz"],[3,[4]]] + * + * // accept incoming POST data, assumed to be in JSON notation + * $input = file_get_contents('php://input', 1000000); + * $value = $json->decode($input); + * + */ +class Services_JSON +{ + /** + * constructs a new JSON instance + * + * @param int $use object behavior flags; combine with boolean-OR + * + * possible values: + * - SERVICES_JSON_LOOSE_TYPE: loose typing. + * "{...}" syntax creates associative arrays + * instead of objects in decode(). + * - SERVICES_JSON_SUPPRESS_ERRORS: error suppression. + * Values which can't be encoded (e.g. resources) + * appear as NULL instead of throwing errors. + * By default, a deeply-nested resource will + * bubble up with an error, so all return values + * from encode() should be checked with isError() + */ + function Services_JSON($use = 0) + { + $this->use = $use; + } + + /** + * convert a string from one UTF-16 char to one UTF-8 char + * + * Normally should be handled by mb_convert_encoding, but + * provides a slower PHP-only method for installations + * that lack the multibye string extension. + * + * @param string $utf16 UTF-16 character + * @return string UTF-8 character + * @access private + */ + function utf162utf8($utf16) + { + // oh please oh please oh please oh please oh please + if(function_exists('mb_convert_encoding')) { + return mb_convert_encoding($utf16, 'UTF-8', 'UTF-16'); + } + + $bytes = (ord($utf16{0}) << 8) | ord($utf16{1}); + + switch(true) { + case ((0x7F & $bytes) == $bytes): + // this case should never be reached, because we are in ASCII range + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return chr(0x7F & $bytes); + + case (0x07FF & $bytes) == $bytes: + // return a 2-byte UTF-8 character + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return chr(0xC0 | (($bytes >> 6) & 0x1F)) + . chr(0x80 | ($bytes & 0x3F)); + + case (0xFFFF & $bytes) == $bytes: + // return a 3-byte UTF-8 character + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return chr(0xE0 | (($bytes >> 12) & 0x0F)) + . chr(0x80 | (($bytes >> 6) & 0x3F)) + . chr(0x80 | ($bytes & 0x3F)); + } + + // ignoring UTF-32 for now, sorry + return ''; + } + + /** + * convert a string from one UTF-8 char to one UTF-16 char + * + * Normally should be handled by mb_convert_encoding, but + * provides a slower PHP-only method for installations + * that lack the multibye string extension. + * + * @param string $utf8 UTF-8 character + * @return string UTF-16 character + * @access private + */ + function utf82utf16($utf8) + { + // oh please oh please oh please oh please oh please + if(function_exists('mb_convert_encoding')) { + return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8'); + } + + switch(strlen($utf8)) { + case 1: + // this case should never be reached, because we are in ASCII range + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return $utf8; + + case 2: + // return a UTF-16 character from a 2-byte UTF-8 char + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return chr(0x07 & (ord($utf8{0}) >> 2)) + . chr((0xC0 & (ord($utf8{0}) << 6)) + | (0x3F & ord($utf8{1}))); + + case 3: + // return a UTF-16 character from a 3-byte UTF-8 char + // see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + return chr((0xF0 & (ord($utf8{0}) << 4)) + | (0x0F & (ord($utf8{1}) >> 2))) + . chr((0xC0 & (ord($utf8{1}) << 6)) + | (0x7F & ord($utf8{2}))); + } + + // ignoring UTF-32 for now, sorry + return ''; + } + + /** + * encodes an arbitrary variable into JSON format + * + * @param mixed $var any number, boolean, string, array, or object to be encoded. + * see argument 1 to Services_JSON() above for array-parsing behavior. + * if var is a strng, note that encode() always expects it + * to be in ASCII or UTF-8 format! + * + * @return mixed JSON string representation of input var or an error if a problem occurs + * @access public + */ + function encode($var) + { + switch (gettype($var)) { + case 'boolean': + return $var ? 'true' : 'false'; + + case 'NULL': + return 'null'; + + case 'integer': + return (int) $var; + + case 'double': + case 'float': + return (float) $var; + + case 'string': + // STRINGS ARE EXPECTED TO BE IN ASCII OR UTF-8 FORMAT + $ascii = ''; + $strlen_var = strlen($var); + + /* + * Iterate over every character in the string, + * escaping with a slash or encoding to UTF-8 where necessary + */ + for ($c = 0; $c < $strlen_var; ++$c) { + + $ord_var_c = ord($var{$c}); + + switch (true) { + case $ord_var_c == 0x08: + $ascii .= '\b'; + break; + case $ord_var_c == 0x09: + $ascii .= '\t'; + break; + case $ord_var_c == 0x0A: + $ascii .= '\n'; + break; + case $ord_var_c == 0x0C: + $ascii .= '\f'; + break; + case $ord_var_c == 0x0D: + $ascii .= '\r'; + break; + + case $ord_var_c == 0x22: + case $ord_var_c == 0x2F: + case $ord_var_c == 0x5C: + // double quote, slash, slosh + $ascii .= '\\'.$var{$c}; + break; + + case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)): + // characters U-00000000 - U-0000007F (same as ASCII) + $ascii .= $var{$c}; + break; + + case (($ord_var_c & 0xE0) == 0xC0): + // characters U-00000080 - U-000007FF, mask 110XXXXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $char = pack('C*', $ord_var_c, ord($var{$c + 1})); + $c += 1; + $utf16 = $this->utf82utf16($char); + $ascii .= sprintf('\u%04s', bin2hex($utf16)); + break; + + case (($ord_var_c & 0xF0) == 0xE0): + // characters U-00000800 - U-0000FFFF, mask 1110XXXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $char = pack('C*', $ord_var_c, + ord($var{$c + 1}), + ord($var{$c + 2})); + $c += 2; + $utf16 = $this->utf82utf16($char); + $ascii .= sprintf('\u%04s', bin2hex($utf16)); + break; + + case (($ord_var_c & 0xF8) == 0xF0): + // characters U-00010000 - U-001FFFFF, mask 11110XXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $char = pack('C*', $ord_var_c, + ord($var{$c + 1}), + ord($var{$c + 2}), + ord($var{$c + 3})); + $c += 3; + $utf16 = $this->utf82utf16($char); + $ascii .= sprintf('\u%04s', bin2hex($utf16)); + break; + + case (($ord_var_c & 0xFC) == 0xF8): + // characters U-00200000 - U-03FFFFFF, mask 111110XX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $char = pack('C*', $ord_var_c, + ord($var{$c + 1}), + ord($var{$c + 2}), + ord($var{$c + 3}), + ord($var{$c + 4})); + $c += 4; + $utf16 = $this->utf82utf16($char); + $ascii .= sprintf('\u%04s', bin2hex($utf16)); + break; + + case (($ord_var_c & 0xFE) == 0xFC): + // characters U-04000000 - U-7FFFFFFF, mask 1111110X + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $char = pack('C*', $ord_var_c, + ord($var{$c + 1}), + ord($var{$c + 2}), + ord($var{$c + 3}), + ord($var{$c + 4}), + ord($var{$c + 5})); + $c += 5; + $utf16 = $this->utf82utf16($char); + $ascii .= sprintf('\u%04s', bin2hex($utf16)); + break; + } + } + + return '"'.$ascii.'"'; + + case 'array': + /* + * As per JSON spec if any array key is not an integer + * we must treat the the whole array as an object. We + * also try to catch a sparsely populated associative + * array with numeric keys here because some JS engines + * will create an array with empty indexes up to + * max_index which can cause memory issues and because + * the keys, which may be relevant, will be remapped + * otherwise. + * + * As per the ECMA and JSON specification an object may + * have any string as a property. Unfortunately due to + * a hole in the ECMA specification if the key is a + * ECMA reserved word or starts with a digit the + * parameter is only accessible using ECMAScript's + * bracket notation. + */ + + // treat as a JSON object + if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) { + $properties = array_map(array($this, 'name_value'), + array_keys($var), + array_values($var)); + + foreach($properties as $property) { + if(Services_JSON::isError($property)) { + return $property; + } + } + + return '{' . join(',', $properties) . '}'; + } + + // treat it like a regular array + $elements = array_map(array($this, 'encode'), $var); + + foreach($elements as $element) { + if(Services_JSON::isError($element)) { + return $element; + } + } + + return '[' . join(',', $elements) . ']'; + + case 'object': + $vars = get_object_vars($var); + + $properties = array_map(array($this, 'name_value'), + array_keys($vars), + array_values($vars)); + + foreach($properties as $property) { + if(Services_JSON::isError($property)) { + return $property; + } + } + + return '{' . join(',', $properties) . '}'; + + default: + return ($this->use & SERVICES_JSON_SUPPRESS_ERRORS) + ? 'null' + : new Services_JSON_Error(gettype($var)." can not be encoded as JSON string"); + } + } + + /** + * array-walking function for use in generating JSON-formatted name-value pairs + * + * @param string $name name of key to use + * @param mixed $value reference to an array element to be encoded + * + * @return string JSON-formatted name-value pair, like '"name":value' + * @access private + */ + function name_value($name, $value) + { + $encoded_value = $this->encode($value); + + if(Services_JSON::isError($encoded_value)) { + return $encoded_value; + } + + return $this->encode(strval($name)) . ':' . $encoded_value; + } + + /** + * reduce a string by removing leading and trailing comments and whitespace + * + * @param $str string string value to strip of comments and whitespace + * + * @return string string value stripped of comments and whitespace + * @access private + */ + function reduce_string($str) + { + $str = preg_replace(array( + + // eliminate single line comments in '// ...' form + '#^\s*//(.+)$#m', + + // eliminate multi-line comments in '/* ... */' form, at start of string + '#^\s*/\*(.+)\*/#Us', + + // eliminate multi-line comments in '/* ... */' form, at end of string + '#/\*(.+)\*/\s*$#Us' + + ), '', $str); + + // eliminate extraneous space + return trim($str); + } + + /** + * decodes a JSON string into appropriate variable + * + * @param string $str JSON-formatted string + * + * @return mixed number, boolean, string, array, or object + * corresponding to given JSON input string. + * See argument 1 to Services_JSON() above for object-output behavior. + * Note that decode() always returns strings + * in ASCII or UTF-8 format! + * @access public + */ + function decode($str) + { + $str = $this->reduce_string($str); + + switch (strtolower($str)) { + case 'true': + return true; + + case 'false': + return false; + + case 'null': + return null; + + default: + $m = array(); + + if (is_numeric($str)) { + // Lookie-loo, it's a number + + // This would work on its own, but I'm trying to be + // good about returning integers where appropriate: + // return (float)$str; + + // Return float or int, as appropriate + return ((float)$str == (integer)$str) + ? (integer)$str + : (float)$str; + + } elseif (preg_match('/^("|\').*(\1)$/s', $str, $m) && $m[1] == $m[2]) { + // STRINGS RETURNED IN UTF-8 FORMAT + $delim = substr($str, 0, 1); + $chrs = substr($str, 1, -1); + $utf8 = ''; + $strlen_chrs = strlen($chrs); + + for ($c = 0; $c < $strlen_chrs; ++$c) { + + $substr_chrs_c_2 = substr($chrs, $c, 2); + $ord_chrs_c = ord($chrs{$c}); + + switch (true) { + case $substr_chrs_c_2 == '\b': + $utf8 .= chr(0x08); + ++$c; + break; + case $substr_chrs_c_2 == '\t': + $utf8 .= chr(0x09); + ++$c; + break; + case $substr_chrs_c_2 == '\n': + $utf8 .= chr(0x0A); + ++$c; + break; + case $substr_chrs_c_2 == '\f': + $utf8 .= chr(0x0C); + ++$c; + break; + case $substr_chrs_c_2 == '\r': + $utf8 .= chr(0x0D); + ++$c; + break; + + case $substr_chrs_c_2 == '\\"': + case $substr_chrs_c_2 == '\\\'': + case $substr_chrs_c_2 == '\\\\': + case $substr_chrs_c_2 == '\\/': + if (($delim == '"' && $substr_chrs_c_2 != '\\\'') || + ($delim == "'" && $substr_chrs_c_2 != '\\"')) { + $utf8 .= $chrs{++$c}; + } + break; + + case preg_match('/\\\u[0-9A-F]{4}/i', substr($chrs, $c, 6)): + // single, escaped unicode character + $utf16 = chr(hexdec(substr($chrs, ($c + 2), 2))) + . chr(hexdec(substr($chrs, ($c + 4), 2))); + $utf8 .= $this->utf162utf8($utf16); + $c += 5; + break; + + case ($ord_chrs_c >= 0x20) && ($ord_chrs_c <= 0x7F): + $utf8 .= $chrs{$c}; + break; + + case ($ord_chrs_c & 0xE0) == 0xC0: + // characters U-00000080 - U-000007FF, mask 110XXXXX + //see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $utf8 .= substr($chrs, $c, 2); + ++$c; + break; + + case ($ord_chrs_c & 0xF0) == 0xE0: + // characters U-00000800 - U-0000FFFF, mask 1110XXXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $utf8 .= substr($chrs, $c, 3); + $c += 2; + break; + + case ($ord_chrs_c & 0xF8) == 0xF0: + // characters U-00010000 - U-001FFFFF, mask 11110XXX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $utf8 .= substr($chrs, $c, 4); + $c += 3; + break; + + case ($ord_chrs_c & 0xFC) == 0xF8: + // characters U-00200000 - U-03FFFFFF, mask 111110XX + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $utf8 .= substr($chrs, $c, 5); + $c += 4; + break; + + case ($ord_chrs_c & 0xFE) == 0xFC: + // characters U-04000000 - U-7FFFFFFF, mask 1111110X + // see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8 + $utf8 .= substr($chrs, $c, 6); + $c += 5; + break; + + } + + } + + return $utf8; + + } elseif (preg_match('/^\[.*\]$/s', $str) || preg_match('/^\{.*\}$/s', $str)) { + // array, or object notation + + if ($str{0} == '[') { + $stk = array(SERVICES_JSON_IN_ARR); + $arr = array(); + } else { + if ($this->use & SERVICES_JSON_LOOSE_TYPE) { + $stk = array(SERVICES_JSON_IN_OBJ); + $obj = array(); + } else { + $stk = array(SERVICES_JSON_IN_OBJ); + $obj = new stdClass(); + } + } + + array_push($stk, array('what' => SERVICES_JSON_SLICE, + 'where' => 0, + 'delim' => false)); + + $chrs = substr($str, 1, -1); + $chrs = $this->reduce_string($chrs); + + if ($chrs == '') { + if (reset($stk) == SERVICES_JSON_IN_ARR) { + return $arr; + + } else { + return $obj; + + } + } + + //print("\nparsing {$chrs}\n"); + + $strlen_chrs = strlen($chrs); + + for ($c = 0; $c <= $strlen_chrs; ++$c) { + + $top = end($stk); + $substr_chrs_c_2 = substr($chrs, $c, 2); + + if (($c == $strlen_chrs) || (($chrs{$c} == ',') && ($top['what'] == SERVICES_JSON_SLICE))) { + // found a comma that is not inside a string, array, etc., + // OR we've reached the end of the character list + $slice = substr($chrs, $top['where'], ($c - $top['where'])); + array_push($stk, array('what' => SERVICES_JSON_SLICE, 'where' => ($c + 1), 'delim' => false)); + //print("Found split at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n"); + + if (reset($stk) == SERVICES_JSON_IN_ARR) { + // we are in an array, so just push an element onto the stack + array_push($arr, $this->decode($slice)); + + } elseif (reset($stk) == SERVICES_JSON_IN_OBJ) { + // we are in an object, so figure + // out the property name and set an + // element in an associative array, + // for now + $parts = array(); + + if (preg_match('/^\s*(["\'].*[^\\\]["\'])\s*:\s*(\S.*),?$/Uis', $slice, $parts)) { + // "name":value pair + $key = $this->decode($parts[1]); + $val = $this->decode($parts[2]); + + if ($this->use & SERVICES_JSON_LOOSE_TYPE) { + $obj[$key] = $val; + } else { + $obj->$key = $val; + } + } elseif (preg_match('/^\s*(\w+)\s*:\s*(\S.*),?$/Uis', $slice, $parts)) { + // name:value pair, where name is unquoted + $key = $parts[1]; + $val = $this->decode($parts[2]); + + if ($this->use & SERVICES_JSON_LOOSE_TYPE) { + $obj[$key] = $val; + } else { + $obj->$key = $val; + } + } + + } + + } elseif ((($chrs{$c} == '"') || ($chrs{$c} == "'")) && ($top['what'] != SERVICES_JSON_IN_STR)) { + // found a quote, and we are not inside a string + array_push($stk, array('what' => SERVICES_JSON_IN_STR, 'where' => $c, 'delim' => $chrs{$c})); + //print("Found start of string at {$c}\n"); + + } elseif (($chrs{$c} == $top['delim']) && + ($top['what'] == SERVICES_JSON_IN_STR) && + ((strlen(substr($chrs, 0, $c)) - strlen(rtrim(substr($chrs, 0, $c), '\\'))) % 2 != 1)) { + // found a quote, we're in a string, and it's not escaped + // we know that it's not escaped becase there is _not_ an + // odd number of backslashes at the end of the string so far + array_pop($stk); + //print("Found end of string at {$c}: ".substr($chrs, $top['where'], (1 + 1 + $c - $top['where']))."\n"); + + } elseif (($chrs{$c} == '[') && + in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) { + // found a left-bracket, and we are in an array, object, or slice + array_push($stk, array('what' => SERVICES_JSON_IN_ARR, 'where' => $c, 'delim' => false)); + //print("Found start of array at {$c}\n"); + + } elseif (($chrs{$c} == ']') && ($top['what'] == SERVICES_JSON_IN_ARR)) { + // found a right-bracket, and we're in an array + array_pop($stk); + //print("Found end of array at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n"); + + } elseif (($chrs{$c} == '{') && + in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) { + // found a left-brace, and we are in an array, object, or slice + array_push($stk, array('what' => SERVICES_JSON_IN_OBJ, 'where' => $c, 'delim' => false)); + //print("Found start of object at {$c}\n"); + + } elseif (($chrs{$c} == '}') && ($top['what'] == SERVICES_JSON_IN_OBJ)) { + // found a right-brace, and we're in an object + array_pop($stk); + //print("Found end of object at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n"); + + } elseif (($substr_chrs_c_2 == '/*') && + in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) { + // found a comment start, and we are in an array, object, or slice + array_push($stk, array('what' => SERVICES_JSON_IN_CMT, 'where' => $c, 'delim' => false)); + $c++; + //print("Found start of comment at {$c}\n"); + + } elseif (($substr_chrs_c_2 == '*/') && ($top['what'] == SERVICES_JSON_IN_CMT)) { + // found a comment end, and we're in one now + array_pop($stk); + $c++; + + for ($i = $top['where']; $i <= $c; ++$i) + $chrs = substr_replace($chrs, ' ', $i, 1); + + //print("Found end of comment at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n"); + + } + + } + + if (reset($stk) == SERVICES_JSON_IN_ARR) { + return $arr; + + } elseif (reset($stk) == SERVICES_JSON_IN_OBJ) { + return $obj; + + } + + } + } + } + + /** + * @todo Ultimately, this should just call PEAR::isError() + */ + function isError($data, $code = null) + { + if (class_exists('pear')) { + return PEAR::isError($data, $code); + } elseif (is_object($data) && (get_class($data) == 'services_json_error' || + is_subclass_of($data, 'services_json_error'))) { + return true; + } + + return false; + } +} + +if (class_exists('PEAR_Error')) { + + class Services_JSON_Error extends PEAR_Error + { + function Services_JSON_Error($message = 'unknown error', $code = null, + $mode = null, $options = null, $userinfo = null) + { + parent::PEAR_Error($message, $code, $mode, $options, $userinfo); + } + } + +} else { + + /** + * @todo Ultimately, this class shall be descended from PEAR_Error + */ + class Services_JSON_Error + { + function Services_JSON_Error($message = 'unknown error', $code = null, + $mode = null, $options = null, $userinfo = null) + { + + } + } + +} + +?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON_Compat.php b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON_Compat.php new file mode 100644 index 000000000..f731a5dd4 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/Classes/JSON_Compat.php @@ -0,0 +1,52 @@ +use = SERVICES_JSON_LOOSE_TYPE; + } + else + { + $json->use = 0; + } + + return $json->decode($str); + } + + function json_encode($var, $loose = FALSE) + { + $json =& get_json(); + if($loose) + { + $json->use = SERVICES_JSON_LOOSE_TYPE; + } + else + { + $json->use = 0; + } + return $json->encode($var); + } + } +?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/ImageManager.js b/ccm-core/web/assets/xinha/plugins/ImageManager/ImageManager.js new file mode 100644 index 000000000..7f6490126 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/ImageManager.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function ImageManager(a){}ImageManager._pluginInfo={name:"ImageManager",version:"1.0",developer:"Xiang Wei Zhuo",developer_url:"http://www.zhuo.org/htmlarea/",license:"htmlArea"};Xinha.Config.prototype.ImageManager={backend:Xinha.getPluginDir("ImageManager")+"/backend.php?__plugin=ImageManager&",backend_data:null,backend_config:null,backend_config_hash:null,backend_config_secret_key_location:"Xinha:ImageManager"};Xinha.prototype._insertImage=function(f){var a=this;var g=null;if(typeof f=="undefined"){f=this.getParentElement();if(f&&!/^img$/i.test(f.tagName)){f=null}}if(f){g={f_url:Xinha.is_ie?f.src:f.src,f_alt:f.alt,f_border:f.style.borderWidth?f.style.borderWidth:f.border,f_align:f.align,f_padding:f.style.padding,f_margin:f.style.margin,f_width:f.width,f_height:f.height,f_backgroundColor:f.style.backgroundColor,f_borderColor:f.style.borderColor,f_hspace:f.hspace&&f.hspace!="-1"?parseInt(f.hspace):"",f_vspace:f.vspace&&f.vspace!="-1"?parseInt(f.vspace):""};function d(h){if(/ /.test(h)){var l=h.split(" ");var k=true;for(var j=1;j0&&parent.frames.length){ -d=parent.frames[n.substring(p+1)].document; -n=n.substring(0,p); -} -if(!(x=d[n])&&d.all){ -x=d.all[n]; -} -for(i=0;!x&&i-1&&navigator.appVersion.indexOf("Mac")>-1)){ -ox=0; -oy=0; -if(g.style.left){ -x=parseInt(g.style.left); -y=parseInt(g.style.top); -}else{ -var w1=parseInt(el.style.width); -bx=(a<0)?-5-w1:-10; -a=(Math.abs(a)<1000)?0:a; -b=(Math.abs(b)<1000)?0:b; -if(event==null){ -x=document.body.scrollLeft+bx; -}else{ -x=document.body.scrollLeft+event.clientX+bx; -} -if(event==null){ -y=document.body.scrollTop; -}else{ -y=document.body.scrollTop+event.clientY; -} -} -} -}else{ -if(document.layers){ -x=g.x; -y=g.y; -var q0=document.layers,dd=""; -for(var s=0;s4){ -xx+="px"; -yy+="px"; -} -if(navigator.appVersion.indexOf("MSIE 5")>-1&&navigator.appVersion.indexOf("Mac")>-1){ -xx+=parseInt(document.body.leftMargin); -yy+=parseInt(document.body.topMargin); -xx+="px"; -yy+="px"; -} -e.left=xx; -e.top=yy; -} -pic_x=parseInt(xx); -pic_y=parseInt(yy); -} -} -} -var ie=document.all; -var ns6=document.getElementById&&!document.all; -var dragapproved=false; -var z,x,y,status,ant,canvas,content,pic_width,pic_height,image,resizeHandle,oa_w,oa_h,oa_x,oa_y,mx2,my2; -function init_resize(){ -if(mode=="scale"){ -P7_Snap("theImage","ant",0,0); -if(canvas==null){ -canvas=MM_findObj("imgCanvas"); -} -if(pic_width==null||pic_height==null){ -image=MM_findObj("theImage"); -pic_width=image.width; -pic_height=image.height; -} -if(ant==null){ -ant=MM_findObj("ant"); -} -ant.style.left=pic_x; -ant.style.top=pic_y; -ant.style.width=pic_width; -ant.style.height=pic_height; -ant.style.visibility="visible"; -drawBoundHandle(); -jg_doc.paint(); -} -} -initEditor=function(){ -init_crop(); -init_resize(); -var _a=MM_findObj("markerImg",window.top.document); -if(_a.src.indexOf("img/t_white.gif")>0){ -toggleMarker(); -} -}; -function init_crop(){ -P7_Snap("theImage","ant",0,0); -} -function setMode(_b){ -mode=_b; -reset(); -} -function reset(){ -if(ant==null){ -ant=MM_findObj("ant"); -} -ant.style.visibility="hidden"; -ant.style.left=0; -ant.style.top=0; -ant.style.width=0; -ant.style.height=0; -mx2=null; -my2=null; -jg_doc.clear(); -if(mode!="measure"){ -showStatus(); -} -if(mode=="scale"){ -init_resize(); -} -P7_Snap("theImage","ant",0,0); -} -function toggleMarker(){ -if(ant==null){ -ant=MM_findObj("ant"); -} -if(ant.className=="selection"){ -ant.className="selectionWhite"; -}else{ -ant.className="selection"; -} -if(jg_doc.getColor()=="#000000"){ -jg_doc.setColor("#FFFFFF"); -}else{ -jg_doc.setColor("#000000"); -} -drawBoundHandle; -jg_doc.paint(); -} -function move(e){ -if(dragapproved){ -var w=ns6?temp1+e.clientX-x:temp1+event.clientX-x; -var h=ns6?temp2+e.clientY-y:temp2+event.clientY-y; -if(ant!=null){ -if(w>=0){ -ant.style.left=x; -ant.style.width=w; -}else{ -ant.style.left=x+w; -ant.style.width=-1*w; -} -if(h>=0){ -ant.style.top=y; -ant.style.height=h; -}else{ -ant.style.top=y+h; -ant.style.height=-1*h; -} -} -showStatus(); -return false; -} -} -function moveContent(e){ -if(dragapproved){ -var dx=ns6?oa_x+e.clientX-x:oa_x+event.clientX-x; -var dy=ns6?oa_y+e.clientY-y:oa_y+event.clientY-y; -ant.style.left=dx; -ant.style.top=dy; -showStatus(); -return false; -} -} -function moveHandle(e){ -if(dragapproved){ -var w=ns6?e.clientX-x:event.clientX-x; -var h=ns6?e.clientY-y:event.clientY-y; -var _15=MM_findObj("constProp",window.top.document); -var _16=document.theImage.height; -var _17=document.theImage.width; -rapp=_17/_16; -rapp_inv=_16/_17; -switch(resizeHandle){ -case "s-resize": -if(oa_h+h>=0){ -ant.style.height=oa_h+h; -if(_15.checked){ -ant.style.width=rapp*(oa_h+h); -ant.style.left=oa_x-rapp*h/2; -} -} -break; -case "e-resize": -if(oa_w+w>=0){ -ant.style.width=oa_w+w; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w+w); -ant.style.top=oa_y-rapp_inv*w/2; -} -} -break; -case "n-resize": -if(oa_h-h>=0){ -ant.style.top=oa_y+h; -ant.style.height=oa_h-h; -if(_15.checked){ -ant.style.width=rapp*(oa_h-h); -ant.style.left=oa_x+rapp*h/2; -} -} -break; -case "w-resize": -if(oa_w-w>=0){ -ant.style.left=oa_x+w; -ant.style.width=oa_w-w; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w-w); -ant.style.top=oa_y+rapp_inv*w/2; -} -} -break; -case "nw-resize": -if(oa_h-h>=0&&oa_w-w>=0){ -ant.style.left=oa_x+w; -ant.style.width=oa_w-w; -ant.style.top=oa_y+h; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w-w); -}else{ -ant.style.height=oa_h-h; -} -} -break; -case "ne-resize": -if(oa_h-h>=0&&oa_w+w>=0){ -ant.style.top=oa_y+h; -ant.style.width=oa_w+w; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w+w); -}else{ -ant.style.height=oa_h-h; -} -} -break; -case "se-resize": -if(oa_h+h>=0&&oa_w+w>=0){ -ant.style.width=oa_w+w; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w+w); -}else{ -ant.style.height=oa_h+h; -} -} -break; -case "sw-resize": -if(oa_h+h>=0&&oa_w-w>=0){ -ant.style.left=oa_x+w; -ant.style.width=oa_w-w; -if(_15.checked){ -ant.style.height=rapp_inv*(oa_w-w); -}else{ -ant.style.height=oa_h+h; -} -} -} -showStatus(); -return false; -} -} -function drags(e){ -if(!ie&&!ns6){ -return; -} -var _19=ns6?e.target:event.srcElement; -var _1a=ns6?"HTML":"BODY"; -while(_19.tagName!=_1a&&!(_19.className=="crop"||_19.className=="handleBox"||_19.className=="selection"||_19.className=="selectionWhite")){ -_19=ns6?_19.parentNode:_19.parentElement; -} -if(_19.className=="handleBox"){ -if(content!=null){ -if(content.width!=null&&content.height!=null){ -content.width=0; -content.height=0; -} -} -resizeHandle=_19.id; -x=ns6?e.clientX:event.clientX; -y=ns6?e.clientY:event.clientY; -oa_w=parseInt(ant.style.width); -oa_h=parseInt(ant.style.height); -oa_x=parseInt(ant.style.left); -oa_y=parseInt(ant.style.top); -dragapproved=true; -document.onmousemove=moveHandle; -return false; -}else{ -if((_19.className=="selection"||_19.className=="selectionWhite")&&mode=="crop"){ -x=ns6?e.clientX:event.clientX; -y=ns6?e.clientY:event.clientY; -oa_x=parseInt(ant.style.left); -oa_y=parseInt(ant.style.top); -dragapproved=true; -document.onmousemove=moveContent; -return false; -}else{ -if(_19.className=="crop"&&mode=="crop"){ -if(content!=null){ -if(content.width!=null&&content.height!=null){ -content.width=0; -content.height=0; -} -} -if(status==null){ -status=MM_findObj("status"); -} -if(ant==null){ -ant=MM_findObj("ant"); -} -if(canvas==null){ -canvas=MM_findObj("imgCanvas"); -} -if(content==null){ -content=MM_findObj("cropContent"); -} -if(pic_width==null||pic_height==null){ -image=MM_findObj("theImage"); -pic_width=image.width; -pic_height=image.height; -} -ant.style.visibility="visible"; -obj=_19; -dragapproved=true; -z=_19; -temp1=parseInt(z.style.left+0); -temp2=parseInt(z.style.top+0); -x=ns6?e.clientX:event.clientX; -y=ns6?e.clientY:event.clientY; -document.onmousemove=move; -return false; -}else{ -if(_19.className=="crop"&&mode=="measure"){ -if(ant==null){ -ant=MM_findObj("ant"); -} -if(canvas==null){ -canvas=MM_findObj("imgCanvas"); -} -x=ns6?e.clientX:event.clientX; -y=ns6?e.clientY:event.clientY; -dragapproved=true; -document.onmousemove=measure; -return false; -} -} -} -} -} -function measure(e){ -if(dragapproved){ -mx2=ns6?e.clientX:event.clientX; -my2=ns6?e.clientY:event.clientY; -jg_doc.clear(); -jg_doc.setStroke(Stroke.DOTTED); -jg_doc.drawLine(x,y,mx2,my2); -jg_doc.paint(); -showStatus(); -return false; -} -} -function setMarker(nx,ny,nw,nh){ -if(isNaN(nx)){ -nx=0; -} -if(isNaN(ny)){ -ny=0; -} -if(isNaN(nw)){ -nw=0; -} -if(isNaN(nh)){ -nh=0; -} -if(ant==null){ -ant=MM_findObj("ant"); -} -if(canvas==null){ -canvas=MM_findObj("imgCanvas"); -} -if(content==null){ -content=MM_findObj("cropContent"); -} -if(pic_width==null||pic_height==null){ -image=MM_findObj("theImage"); -pic_width=image.width; -pic_height=image.height; -} -ant.style.visibility="visible"; -nx=pic_x+nx; -ny=pic_y+ny; -if(nw>=0){ -ant.style.left=nx; -ant.style.width=nw; -}else{ -ant.style.left=nx+nw; -ant.style.width=-1*nw; -} -if(nh>=0){ -ant.style.top=ny; -ant.style.height=nh; -}else{ -ant.style.top=ny+nh; -ant.style.height=-1*nh; -} -} -function max(x,y){ -if(y>x){ -return x; -}else{ -return y; -} -} -function drawBoundHandle(){ -if(ant==null||ant.style==null){ -return false; -} -var ah=parseInt(ant.style.height); -var aw=parseInt(ant.style.width); -var ax=parseInt(ant.style.left); -var ay=parseInt(ant.style.top); -jg_doc.drawHandle(ax-15,ay-15,30,30,"nw-resize"); -jg_doc.drawHandle(ax-15,ay+ah-15,30,30,"sw-resize"); -jg_doc.drawHandle(ax+aw-15,ay-15,30,30,"ne-resize"); -jg_doc.drawHandle(ax+aw-15,ay+ah-15,30,30,"se-resize"); -jg_doc.drawHandle(ax+max(15,aw/10),ay-8,aw-2*max(15,aw/10),8,"n-resize"); -jg_doc.drawHandle(ax+max(15,aw/10),ay+ah,aw-2*max(15,aw/10),8,"s-resize"); -jg_doc.drawHandle(ax-8,ay+max(15,ah/10),8,ah-2*max(15,ah/10),"w-resize"); -jg_doc.drawHandle(ax+aw,ay+max(15,ah/10),8,ah-2*max(15,ah/10),"e-resize"); -jg_doc.drawHandleBox(ax-4,ay-4,8,8,"nw-resize"); -jg_doc.drawHandleBox(ax-4,ay+ah-4,8,8,"sw-resize"); -jg_doc.drawHandleBox(ax+aw-4,ay-4,8,8,"ne-resize"); -jg_doc.drawHandleBox(ax+aw-4,ay+ah-4,8,8,"se-resize"); -jg_doc.drawHandleBox(ax+aw/2-4,ay-4,8,8,"n-resize"); -jg_doc.drawHandleBox(ax+aw/2-4,ay+ah-4,8,8,"s-resize"); -jg_doc.drawHandleBox(ax-4,ay+ah/2-4,8,8,"w-resize"); -jg_doc.drawHandleBox(ax+aw-4,ay+ah/2-4,8,8,"e-resize"); -} -function showStatus(){ -if(ant==null||ant.style==null){ -return false; -} -if(mode=="measure"){ -mx1=x-pic_x; -my1=y-pic_y; -mw=mx2-x; -mh=my2-y; -md=parseInt(Math.sqrt(mw*mw+mh*mh)*100)/100; -ma=(Math.atan(-1*mh/mw)/Math.PI)*180; -if(mw<0&&mh<0){ -ma=ma+180; -} -if(mw<0&&mh>0){ -ma=ma-180; -} -ma=parseInt(ma*100)/100; -if(m_sx!=null&&!isNaN(mx1)){ -m_sx.value=mx1+"px"; -} -if(m_sy!=null&&!isNaN(my1)){ -m_sy.value=my1+"px"; -} -if(m_w!=null&&!isNaN(mw)){ -m_w.value=mw+"px"; -} -if(m_h!=null&&!isNaN(mh)){ -m_h.value=mh+"px"; -} -if(m_d!=null&&!isNaN(md)){ -m_d.value=md+"px"; -} -if(m_a!=null&&!isNaN(ma)){ -m_a.value=ma+""; -} -if(r_ra!=null&&!isNaN(ma)){ -r_ra.value=ma; -} -return false; -} -var ah=parseInt(ant.style.height); -var aw=parseInt(ant.style.width); -var ax=parseInt(ant.style.left); -var ay=parseInt(ant.style.top); -var cx=ax-pic_x<0?0:ax-pic_x; -var cy=ay-pic_y<0?0:ay-pic_y; -cx=cx>pic_width?pic_width:cx; -cy=cy>pic_height?pic_height:cy; -var cw=ax-pic_x>0?aw:aw-(pic_x-ax); -var ch=ay-pic_y>0?ah:ah-(pic_y-ay); -ch=ay+ah0&&s_sh.value.indexOf("%")>0){ -sw=cw/pic_width; -sh=ch/pic_height; -} -if(s_sw!=null){ -s_sw.value=sw; -} -if(s_sh!=null){ -s_sh.value=sh; -} -} -} -} -function dragStopped(){ -dragapproved=false; -if(ant==null||ant.style==null){ -return false; -} -if(mode=="measure"){ -jg_doc.drawLine(x-4,y,x+4,y); -jg_doc.drawLine(x,y-4,x,y+4); -jg_doc.drawLine(mx2-4,my2,mx2+4,my2); -jg_doc.drawLine(mx2,my2-4,mx2,my2+4); -jg_doc.paint(); -showStatus(); -return false; -} -var ah=parseInt(ant.style.height); -var aw=parseInt(ant.style.width); -var ax=parseInt(ant.style.left); -var ay=parseInt(ant.style.top); -jg_doc.clear(); -if(content!=null){ -if(content.width!=null&&content.height!=null){ -content.width=aw-1; -content.height=ah-1; -} -} -if(mode=="crop"){ -jg_doc.fillRectPattern(pic_x,pic_y,pic_width,ay-pic_y,pattern); -var h1=ah; -var y1=ay; -if(ah+ay>=pic_height+pic_y){ -h1=pic_height+pic_y-ay; -}else{ -if(ay<=pic_y){ -h1=ay+ah-pic_y; -y1=pic_y; -} -} -jg_doc.fillRectPattern(pic_x,y1,ax-pic_x,h1,pattern); -jg_doc.fillRectPattern(ax+aw,y1,pic_x+pic_width-ax-aw,h1,pattern); -jg_doc.fillRectPattern(pic_x,ay+ah,pic_width,pic_height+pic_y-ay-ah,pattern); -}else{ -if(mode=="scale"){ -document.theImage.height=ah; -document.theImage.width=aw; -document.theImage.style.height=ah+" px"; -document.theImage.style.width=aw+" px"; -P7_Snap("theImage","ant",0,0); -} -} -drawBoundHandle(); -jg_doc.paint(); -showStatus(); -return false; -} -document.onmousedown=drags; -document.onmouseup=dragStopped; - +function MM_findObj(f,e){var c,b,a;if(!e){e=document}if((c=f.indexOf("?"))>0&&parent.frames.length){e=parent.frames[f.substring(c+1)].document;f=f.substring(0,c)}if(!(a=e[f])&&e.all){a=e.all[f]}for(b=0;!a&&b-1&&navigator.appVersion.indexOf("Mac")>-1)){ox=0;oy=0;if(g.style.left){x=parseInt(g.style.left);y=parseInt(g.style.top)}else{var w1=parseInt(el.style.width);bx=(a<0)?-5-w1:-10;a=(Math.abs(a)<1000)?0:a;b=(Math.abs(b)<1000)?0:b;if(event==null){x=document.body.scrollLeft+bx}else{x=document.body.scrollLeft+event.clientX+bx}if(event==null){y=document.body.scrollTop}else{y=document.body.scrollTop+event.clientY}}}}else{if(document.layers){x=g.x;y=g.y;var q0=document.layers,dd="";for(var s=0;s4){xx+="px";yy+="px"}if(navigator.appVersion.indexOf("MSIE 5")>-1&&navigator.appVersion.indexOf("Mac")>-1){xx+=parseInt(document.body.leftMargin);yy+=parseInt(document.body.topMargin);xx+="px";yy+="px"}e.left=xx;e.top=yy}pic_x=parseInt(xx);pic_y=parseInt(yy)}}}var ie=document.all;var ns6=document.getElementById&&!document.all;var dragapproved=false;var z,x,y,status,ant,canvas,content,pic_width,pic_height,image,resizeHandle,oa_w,oa_h,oa_x,oa_y,mx2,my2;function init_resize(){if(mode=="scale"){P7_Snap("theImage","ant",0,0);if(canvas==null){canvas=MM_findObj("imgCanvas")}if(pic_width==null||pic_height==null){image=MM_findObj("theImage");pic_width=image.width;pic_height=image.height}if(ant==null){ant=MM_findObj("ant")}ant.style.left=pic_x;ant.style.top=pic_y;ant.style.width=pic_width;ant.style.height=pic_height;ant.style.visibility="visible";drawBoundHandle();jg_doc.paint()}}initEditor=function(){init_crop();init_resize();var a=MM_findObj("markerImg",window.top.document);if(a.src.indexOf("img/t_white.gif")>0){toggleMarker()}};function init_crop(){P7_Snap("theImage","ant",0,0)}function setMode(a){mode=a;reset()}function reset(){if(ant==null){ant=MM_findObj("ant")}ant.style.visibility="hidden";ant.style.left=0;ant.style.top=0;ant.style.width=0;ant.style.height=0;mx2=null;my2=null;jg_doc.clear();if(mode!="measure"){showStatus()}if(mode=="scale"){init_resize()}P7_Snap("theImage","ant",0,0)}function toggleMarker(){if(ant==null){ant=MM_findObj("ant")}if(ant.className=="selection"){ant.className="selectionWhite"}else{ant.className="selection"}if(jg_doc.getColor()=="#000000"){jg_doc.setColor("#FFFFFF")}else{jg_doc.setColor("#000000")}drawBoundHandle;jg_doc.paint()}function move(c){if(dragapproved){var a=ns6?temp1+c.clientX-x:temp1+event.clientX-x;var b=ns6?temp2+c.clientY-y:temp2+event.clientY-y;if(ant!=null){if(a>=0){ant.style.left=x;ant.style.width=a}else{ant.style.left=x+a;ant.style.width=-1*a}if(b>=0){ant.style.top=y;ant.style.height=b}else{ant.style.top=y+b;ant.style.height=-1*b}}showStatus();return false}}function moveContent(c){if(dragapproved){var b=ns6?oa_x+c.clientX-x:oa_x+event.clientX-x;var a=ns6?oa_y+c.clientY-y:oa_y+event.clientY-y;ant.style.left=b;ant.style.top=a;showStatus();return false}}function moveHandle(i){if(dragapproved){var b=ns6?i.clientX-x:event.clientX-x;var d=ns6?i.clientY-y:event.clientY-y;var a=MM_findObj("constProp",window.top.document);var c=document.theImage.height;var f=document.theImage.width;rapp=f/c;rapp_inv=c/f;switch(resizeHandle){case"s-resize":if(oa_h+d>=0){ant.style.height=oa_h+d;if(a.checked){ant.style.width=rapp*(oa_h+d);ant.style.left=oa_x-rapp*d/2}}break;case"e-resize":if(oa_w+b>=0){ant.style.width=oa_w+b;if(a.checked){ant.style.height=rapp_inv*(oa_w+b);ant.style.top=oa_y-rapp_inv*b/2}}break;case"n-resize":if(oa_h-d>=0){ant.style.top=oa_y+d;ant.style.height=oa_h-d;if(a.checked){ant.style.width=rapp*(oa_h-d);ant.style.left=oa_x+rapp*d/2}}break;case"w-resize":if(oa_w-b>=0){ant.style.left=oa_x+b;ant.style.width=oa_w-b;if(a.checked){ant.style.height=rapp_inv*(oa_w-b);ant.style.top=oa_y+rapp_inv*b/2}}break;case"nw-resize":if(oa_h-d>=0&&oa_w-b>=0){ant.style.left=oa_x+b;ant.style.width=oa_w-b;ant.style.top=oa_y+d;if(a.checked){ant.style.height=rapp_inv*(oa_w-b)}else{ant.style.height=oa_h-d}}break;case"ne-resize":if(oa_h-d>=0&&oa_w+b>=0){ant.style.top=oa_y+d;ant.style.width=oa_w+b;if(a.checked){ant.style.height=rapp_inv*(oa_w+b)}else{ant.style.height=oa_h-d}}break;case"se-resize":if(oa_h+d>=0&&oa_w+b>=0){ant.style.width=oa_w+b;if(a.checked){ant.style.height=rapp_inv*(oa_w+b)}else{ant.style.height=oa_h+d}}break;case"sw-resize":if(oa_h+d>=0&&oa_w-b>=0){ant.style.left=oa_x+b;ant.style.width=oa_w-b;if(a.checked){ant.style.height=rapp_inv*(oa_w-b)}else{ant.style.height=oa_h+d}}}showStatus();return false}}function drags(b){if(!ie&&!ns6){return}var c=ns6?b.target:event.srcElement;var a=ns6?"HTML":"BODY";while(c.tagName!=a&&!(c.className=="crop"||c.className=="handleBox"||c.className=="selection"||c.className=="selectionWhite")){c=ns6?c.parentNode:c.parentElement}if(c.className=="handleBox"){if(content!=null){if(content.width!=null&&content.height!=null){content.width=0;content.height=0}}resizeHandle=c.id;x=ns6?b.clientX:event.clientX;y=ns6?b.clientY:event.clientY;oa_w=parseInt(ant.style.width);oa_h=parseInt(ant.style.height);oa_x=parseInt(ant.style.left);oa_y=parseInt(ant.style.top);dragapproved=true;document.onmousemove=moveHandle;return false}else{if((c.className=="selection"||c.className=="selectionWhite")&&mode=="crop"){x=ns6?b.clientX:event.clientX;y=ns6?b.clientY:event.clientY;oa_x=parseInt(ant.style.left);oa_y=parseInt(ant.style.top);dragapproved=true;document.onmousemove=moveContent;return false}else{if(c.className=="crop"&&mode=="crop"){if(content!=null){if(content.width!=null&&content.height!=null){content.width=0;content.height=0}}if(status==null){status=MM_findObj("status")}if(ant==null){ant=MM_findObj("ant")}if(canvas==null){canvas=MM_findObj("imgCanvas")}if(content==null){content=MM_findObj("cropContent")}if(pic_width==null||pic_height==null){image=MM_findObj("theImage");pic_width=image.width;pic_height=image.height}ant.style.visibility="visible";obj=c;dragapproved=true;z=c;temp1=parseInt(z.style.left+0);temp2=parseInt(z.style.top+0);x=ns6?b.clientX:event.clientX;y=ns6?b.clientY:event.clientY;document.onmousemove=move;return false}else{if(c.className=="crop"&&mode=="measure"){if(ant==null){ant=MM_findObj("ant")}if(canvas==null){canvas=MM_findObj("imgCanvas")}x=ns6?b.clientX:event.clientX;y=ns6?b.clientY:event.clientY;dragapproved=true;document.onmousemove=measure;return false}}}}}function measure(a){if(dragapproved){mx2=ns6?a.clientX:event.clientX;my2=ns6?a.clientY:event.clientY;jg_doc.clear();jg_doc.setStroke(Stroke.DOTTED);jg_doc.drawLine(x,y,mx2,my2);jg_doc.paint();showStatus();return false}}function setMarker(a,d,b,c){if(isNaN(a)){a=0}if(isNaN(d)){d=0}if(isNaN(b)){b=0}if(isNaN(c)){c=0}if(ant==null){ant=MM_findObj("ant")}if(canvas==null){canvas=MM_findObj("imgCanvas")}if(content==null){content=MM_findObj("cropContent")}if(pic_width==null||pic_height==null){image=MM_findObj("theImage");pic_width=image.width;pic_height=image.height}ant.style.visibility="visible";a=pic_x+a;d=pic_y+d;if(b>=0){ant.style.left=a;ant.style.width=b}else{ant.style.left=a+b;ant.style.width=-1*b}if(c>=0){ant.style.top=d;ant.style.height=c}else{ant.style.top=d+c;ant.style.height=-1*c}}function max(a,b){if(b>a){return a}else{return b}}function drawBoundHandle(){if(ant==null||ant.style==null){return false}var a=parseInt(ant.style.height);var d=parseInt(ant.style.width);var c=parseInt(ant.style.left);var b=parseInt(ant.style.top);jg_doc.drawHandle(c-15,b-15,30,30,"nw-resize");jg_doc.drawHandle(c-15,b+a-15,30,30,"sw-resize");jg_doc.drawHandle(c+d-15,b-15,30,30,"ne-resize");jg_doc.drawHandle(c+d-15,b+a-15,30,30,"se-resize");jg_doc.drawHandle(c+max(15,d/10),b-8,d-2*max(15,d/10),8,"n-resize");jg_doc.drawHandle(c+max(15,d/10),b+a,d-2*max(15,d/10),8,"s-resize");jg_doc.drawHandle(c-8,b+max(15,a/10),8,a-2*max(15,a/10),"w-resize");jg_doc.drawHandle(c+d,b+max(15,a/10),8,a-2*max(15,a/10),"e-resize");jg_doc.drawHandleBox(c-4,b-4,8,8,"nw-resize");jg_doc.drawHandleBox(c-4,b+a-4,8,8,"sw-resize");jg_doc.drawHandleBox(c+d-4,b-4,8,8,"ne-resize");jg_doc.drawHandleBox(c+d-4,b+a-4,8,8,"se-resize");jg_doc.drawHandleBox(c+d/2-4,b-4,8,8,"n-resize");jg_doc.drawHandleBox(c+d/2-4,b+a-4,8,8,"s-resize");jg_doc.drawHandleBox(c-4,b+a/2-4,8,8,"w-resize");jg_doc.drawHandleBox(c+d-4,b+a/2-4,8,8,"e-resize")}function showStatus(){if(ant==null||ant.style==null){return false}if(mode=="measure"){mx1=x-pic_x;my1=y-pic_y;mw=mx2-x;mh=my2-y;md=parseInt(Math.sqrt(mw*mw+mh*mh)*100)/100;ma=(Math.atan(-1*mh/mw)/Math.PI)*180;if(mw<0&&mh<0){ma=ma+180}if(mw<0&&mh>0){ma=ma-180}ma=parseInt(ma*100)/100;if(m_sx!=null&&!isNaN(mx1)){m_sx.value=mx1+"px"}if(m_sy!=null&&!isNaN(my1)){m_sy.value=my1+"px"}if(m_w!=null&&!isNaN(mw)){m_w.value=mw+"px"}if(m_h!=null&&!isNaN(mh)){m_h.value=mh+"px"}if(m_d!=null&&!isNaN(md)){m_d.value=md+"px"}if(m_a!=null&&!isNaN(ma)){m_a.value=ma+""}if(r_ra!=null&&!isNaN(ma)){r_ra.value=ma}return false}var i=parseInt(ant.style.height);var c=parseInt(ant.style.width);var b=parseInt(ant.style.left);var k=parseInt(ant.style.top);var e=b-pic_x<0?0:b-pic_x;var d=k-pic_y<0?0:k-pic_y;e=e>pic_width?pic_width:e;d=d>pic_height?pic_height:d;var f=b-pic_x>0?c:c-(pic_x-b);var a=k-pic_y>0?i:i-(pic_y-k);a=k+i0&&s_sh.value.indexOf("%")>0){j=f/pic_width;h=a/pic_height}if(s_sw!=null){s_sw.value=j}if(s_sh!=null){s_sh.value=h}}}}function dragStopped(){dragapproved=false;if(ant==null||ant.style==null){return false}if(mode=="measure"){jg_doc.drawLine(x-4,y,x+4,y);jg_doc.drawLine(x,y-4,x,y+4);jg_doc.drawLine(mx2-4,my2,mx2+4,my2);jg_doc.drawLine(mx2,my2-4,mx2,my2+4);jg_doc.paint();showStatus();return false}var a=parseInt(ant.style.height);var f=parseInt(ant.style.width);var e=parseInt(ant.style.left);var d=parseInt(ant.style.top);jg_doc.clear();if(content!=null){if(content.width!=null&&content.height!=null){content.width=f-1;content.height=a-1}}if(mode=="crop"){jg_doc.fillRectPattern(pic_x,pic_y,pic_width,d-pic_y,pattern);var b=a;var c=d;if(a+d>=pic_height+pic_y){b=pic_height+pic_y-d}else{if(d<=pic_y){b=d+a-pic_y;c=pic_y}}jg_doc.fillRectPattern(pic_x,c,e-pic_x,b,pattern);jg_doc.fillRectPattern(e+f,c,pic_x+pic_width-e-f,b,pattern);jg_doc.fillRectPattern(pic_x,d+a,pic_width,pic_height+pic_y-d-a,pattern)}else{if(mode=="scale"){document.theImage.height=a;document.theImage.width=f;document.theImage.style.height=a+" px";document.theImage.style.width=f+" px";P7_Snap("theImage","ant",0,0)}}drawBoundHandle();jg_doc.paint();showStatus();return false}document.onmousedown=drags;document.onmouseup=dragStopped; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/dialog.js b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/dialog.js index 8086d2a24..80431f161 100644 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/dialog.js +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/dialog.js @@ -1,83 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ImageManager/assets/dialog.js */ -function Dialog(_1,_2,_3){ -if(typeof _3=="undefined"){ -_3=window; -} -if(typeof window.showModalDialog=="function"){ -Dialog._return=_2; -var r=window.showModalDialog(_1,_3,"dialogheight=10;dialogwidth=10;resizable=yes"); -}else{ -Dialog._geckoOpenModal(_1,_2,_3); -} -} -Dialog._parentEvent=function(ev){ -setTimeout(function(){ -if(Dialog._modal&&!Dialog._modal.closed){ -Dialog._modal.focus(); -} -},50); -if(Dialog._modal&&!Dialog._modal.closed){ -Dialog._stopEvent(ev); -} -}; -Dialog._return=null; -Dialog._modal=null; -Dialog._arguments=null; -Dialog._geckoOpenModal=function(_6,_7,_8){ -var _9="hadialog"+_6; -var _a=/\W/g; -_9=_9.replace(_a,"_"); -var _b=window.open(_6,_9,"toolbar=no,menubar=no,personalbar=no,width=10,height=10,"+"scrollbars=no,resizable=yes,modal=yes,dependable=yes"); -Dialog._modal=_b; -Dialog._arguments=_8; -function capwin(w){ -Dialog._addEvent(w,"click",Dialog._parentEvent); -Dialog._addEvent(w,"mousedown",Dialog._parentEvent); -Dialog._addEvent(w,"focus",Dialog._parentEvent); -} -function relwin(w){ -Dialog._removeEvent(w,"click",Dialog._parentEvent); -Dialog._removeEvent(w,"mousedown",Dialog._parentEvent); -Dialog._removeEvent(w,"focus",Dialog._parentEvent); -} -capwin(window); -for(var i=0;i=0){ -_9.src="img/t_white.gif"; -}else{ -_9.src="img/t_black.gif"; -} -editor.toggleMarker(); -} -} -function toggleConstraints(){ -var _a=document.getElementById("scaleConstImg"); -var _b=document.getElementById("constProp"); -if(_a!=null&&_a.src!=null){ -if(_a.src.indexOf("unlocked2.gif")>=0){ -_a.src="img/islocked2.gif"; -_b.checked=true; -checkConstrains("width"); -}else{ -_a.src="img/unlocked2.gif"; -_b.checked=false; -} -} -} -function checkConstrains(_c){ -var _d=document.getElementById("constProp"); -if(_d.checked){ -var w=document.getElementById("sw"); -var _f=w.value; -var h=document.getElementById("sh"); -var _11=h.value; -if(orginal_width>0&&orginal_height>0){ -if(_c=="width"&&_f>0){ -h.value=parseInt((_f/orginal_width)*orginal_height); -}else{ -if(_c=="height"&&_11>0){ -w.value=parseInt((_11/orginal_height)*orginal_width); -} -} -} -} -updateMarker("scale"); -} -function updateMarker(_12){ -if(_12=="crop"){ -var _13=document.getElementById("cx"); -var _14=document.getElementById("cy"); -var _15=document.getElementById("cw"); -var _16=document.getElementById("ch"); -editor.setMarker(parseInt(_13.value),parseInt(_14.value),parseInt(_15.value),parseInt(_16.value)); -}else{ -if(_12=="scale"){ -var _17=document.getElementById("sw"); -var _18=document.getElementById("sh"); -editor.setMarker(0,0,parseInt(_17.value),parseInt(_18.value)); -} -} -} -function rotatePreset(_19){ -var _1a=_19.options[_19.selectedIndex].value; -if(_1a.length>0&&parseInt(_1a)!=0){ -var ra=document.getElementById("ra"); -ra.value=parseInt(_1a); -} -} -function updateFormat(_1c){ -var _1d=_1c.options[_1c.selectedIndex].value; -var _1e=_1d.split(","); -if(_1e.length>1){ -updateSlider(parseInt(_1e[1])); -} -} -function addEvent(obj,_20,fn){ -if(obj.addEventListener){ -obj.addEventListener(_20,fn,true); -return true; -}else{ -if(obj.attachEvent){ -var r=obj.attachEvent("on"+_20,fn); -return r; -}else{ -return false; -} -} -} -init=function(){ -var _23=document.getElementById("bottom"); -if(window.opener){ -__dlg_init(_23); -__dlg_translate("ImageManager"); -} -}; -addEvent(window,"load",init); - +var current_action=null;var actions=["crop","scale","rotate","measure","save"];var orginal_width=null,orginal_height=null;function toggle(b){if(current_action!=b){for(var d in actions){if(actions[d]!=b){var j=document.getElementById("tools_"+actions[d]);j.style.display="none";var f=document.getElementById("icon_"+actions[d]);f.className=""}}current_action=b;var j=document.getElementById("tools_"+b);j.style.display="block";var f=document.getElementById("icon_"+b);f.className="iconActive";var g=document.getElementById("indicator_image");g.src="img/"+b+".gif";editor.setMode(current_action);if(b=="scale"){var a=editor.window.document.getElementById("theImage");orginal_width=a.width;orginal_height=a.height;var c=document.getElementById("sw");c.value=orginal_width;var e=document.getElementById("sh");e.value=orginal_height}}}function toggleMarker(){var a=document.getElementById("markerImg");if(a!=null&&a.src!=null){if(a.src.indexOf("t_black.gif")>=0){a.src="img/t_white.gif"}else{a.src="img/t_black.gif"}editor.toggleMarker()}}function toggleConstraints(){var a=document.getElementById("scaleConstImg");var b=document.getElementById("constProp");if(a!=null&&a.src!=null){if(a.src.indexOf("unlocked2.gif")>=0){a.src="img/islocked2.gif";b.checked=true;checkConstrains("width")}else{a.src="img/unlocked2.gif";b.checked=false}}}function checkConstrains(f){var b=document.getElementById("constProp");if(b.checked){var a=document.getElementById("sw");var d=a.value;var c=document.getElementById("sh");var e=c.value;if(orginal_width>0&&orginal_height>0){if(f=="width"&&d>0){c.value=parseInt((d/orginal_width)*orginal_height)}else{if(f=="height"&&e>0){a.value=parseInt((e/orginal_height)*orginal_width)}}}}updateMarker("scale")}function updateMarker(f){if(f=="crop"){var e=document.getElementById("cx");var d=document.getElementById("cy");var g=document.getElementById("cw");var b=document.getElementById("ch");editor.setMarker(parseInt(e.value),parseInt(d.value),parseInt(g.value),parseInt(b.value))}else{if(f=="scale"){var a=document.getElementById("sw");var c=document.getElementById("sh");editor.setMarker(0,0,parseInt(a.value),parseInt(c.value))}}}function rotatePreset(a){var b=a.options[a.selectedIndex].value;if(b.length>0&&parseInt(b)!=0){var c=document.getElementById("ra");c.value=parseInt(b)}}function updateFormat(a){var c=a.options[a.selectedIndex].value;var b=c.split(",");if(b.length>1){updateSlider(parseInt(b[1]))}}function addEvent(d,a,b){if(d.addEventListener){d.addEventListener(a,b,true);return true}else{if(d.attachEvent){var c=d.attachEvent("on"+a,b);return c}else{return false}}}init=function(){var a=document.getElementById("bottom");if(window.opener){__dlg_init(a);__dlg_translate("ImageManager")}};addEvent(window,"load",init); \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/editorFrame.js b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/editorFrame.js index 7a6f8878f..c5bc7e739 100644 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/editorFrame.js +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/editorFrame.js @@ -1,76 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ImageManager/assets/editorFrame.js */ -var topDoc=window.top.document; -var t_cx=topDoc.getElementById("cx"); -var t_cy=topDoc.getElementById("cy"); -var t_cw=topDoc.getElementById("cw"); -var t_ch=topDoc.getElementById("ch"); -var m_sx=topDoc.getElementById("sx"); -var m_sy=topDoc.getElementById("sy"); -var m_w=topDoc.getElementById("mw"); -var m_h=topDoc.getElementById("mh"); -var m_a=topDoc.getElementById("ma"); -var m_d=topDoc.getElementById("md"); -var s_sw=topDoc.getElementById("sw"); -var s_sh=topDoc.getElementById("sh"); -var r_ra=topDoc.getElementById("ra"); -var pattern="img/2x2.gif"; -function doSubmit(_1){ -if(_1=="crop"){ -var _2=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=crop¶ms="+parseInt(t_cx.value)+","+parseInt(t_cy.value)+","+parseInt(t_cw.value)+","+parseInt(t_ch.value); -location.href=_2; -}else{ -if(_1=="scale"){ -var _2=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=scale¶ms="+parseInt(s_sw.value)+","+parseInt(s_sh.value); -location.href=_2; -}else{ -if(_1=="rotate"){ -var _3=topDoc.getElementById("flip"); -if(_3.value=="hoz"||_3.value=="ver"){ -location.href=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=flip¶ms="+_3.value; -}else{ -if(isNaN(parseFloat(r_ra.value))==false){ -location.href=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=rotate¶ms="+parseFloat(r_ra.value); -} -} -}else{ -if(_1=="save"){ -var _4=topDoc.getElementById("save_filename"); -var _5=topDoc.getElementById("save_format"); -var _6=topDoc.getElementById("quality"); -var _7=_5.value.split(","); -if(_4.value.length<=0){ -alert(i18n("Please enter a filename to save.")); -}else{ -var _8=encodeURI(_4.value); -var _9=parseInt(_6.value); -var _2=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=save¶ms="+_7[0]+","+_9+"&file="+_8; -location.href=_2; -} -} -} -} -} -} -function addEvent(_a,_b,fn){ -if(_a.addEventListener){ -_a.addEventListener(_b,fn,true); -return true; -}else{ -if(_a.attachEvent){ -var r=_a.attachEvent("on"+_b,fn); -return r; -}else{ -return false; -} -} -} -var jg_doc; -init=function(){ -jg_doc=new jsGraphics("imgCanvas"); -jg_doc.setColor("#000000"); -initEditor(); -}; -addEvent(window,"load",init); - +var topDoc=window.top.document;var t_cx=topDoc.getElementById("cx");var t_cy=topDoc.getElementById("cy");var t_cw=topDoc.getElementById("cw");var t_ch=topDoc.getElementById("ch");var m_sx=topDoc.getElementById("sx");var m_sy=topDoc.getElementById("sy");var m_w=topDoc.getElementById("mw");var m_h=topDoc.getElementById("mh");var m_a=topDoc.getElementById("ma");var m_d=topDoc.getElementById("md");var s_sw=topDoc.getElementById("sw");var s_sh=topDoc.getElementById("sh");var r_ra=topDoc.getElementById("ra");var pattern="img/2x2.gif";function doSubmit(c){if(c=="crop"){var a=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=crop¶ms="+parseInt(t_cx.value)+","+parseInt(t_cy.value)+","+parseInt(t_cw.value)+","+parseInt(t_ch.value);location.href=a}else{if(c=="scale"){var a=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=scale¶ms="+parseInt(s_sw.value)+","+parseInt(s_sh.value);location.href=a}else{if(c=="rotate"){var f=topDoc.getElementById("flip");if(f.value=="hoz"||f.value=="ver"){location.href=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=flip¶ms="+f.value}else{if(isNaN(parseFloat(r_ra.value))==false){location.href=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=rotate¶ms="+parseFloat(r_ra.value)}}}else{if(c=="save"){var e=topDoc.getElementById("save_filename");var b=topDoc.getElementById("save_format");var d=topDoc.getElementById("quality");var i=b.value.split(",");if(e.value.length<=0){alert(i18n("Please enter a filename to save."))}else{var g=encodeURI(e.value);var h=parseInt(d.value);var a=_backend_url+"__function=editorFrame&img="+currentImageFile+"&action=save¶ms="+i[0]+","+h+"&file="+g;location.href=a}}}}}}function addEvent(d,a,b){if(d.addEventListener){d.addEventListener(a,b,true);return true}else{if(d.attachEvent){var c=d.attachEvent("on"+a,b);return c}else{return false}}}var jg_doc;init=function(){jg_doc=new jsGraphics("imgCanvas");jg_doc.setColor("#000000");initEditor()};addEvent(window,"load",init); \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/imagelist.css b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/imagelist.css index cb07791a1..933ce15c8 100755 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/imagelist.css +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/imagelist.css @@ -44,3 +44,5 @@ body { margin: 0; padding: 0; } .listview td, .listview th { text-align:left; font-size:small; } .listview td.actions { text-align:right; } .listview td.actions img { border:0px; } + +.flk-license { font-size: xx-small; text-align:center; } diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/images.js b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/images.js index 4a31af602..d69d486c1 100644 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/images.js +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/images.js @@ -1,119 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ImageManager/assets/images.js */ -function i18n(_1){ -return Xinha._lc(_1,"ImageManager"); -} -function changeDir(_2){ -showMessage("Loading"); -location.href=_backend_url+"__function=images&dir="+encodeURIComponent(_2); -} -function newFolder(_3,_4){ -location.href=_backend_url+"__function=images&dir="+encodeURIComponent(_3)+"&newDir="+encodeURIComponent(_4); -} -function updateDir(_5){ -var _6=window.top.document.getElementById("dirPath"); -if(_6){ -for(var i=0;i<_6.length;i++){ -var _8=_6.options[i].text; -if(_8==_5){ -_6.selectedIndex=i; -showMessage("Loading"); -break; -} -} -} -} -function selectImage(_9,_a,_b,_c){ -var _d=window.top.document; -var _e=_d.getElementById("f_url"); -_e.value=_9; -var _e=_d.getElementById("f_width"); -_e.value=_b; -var _e=_d.getElementById("f_width"); -_e.value=_b; -var _e=_d.getElementById("f_height"); -_e.value=_c; -var _e=_d.getElementById("f_alt"); -_e.value=_a; -var _e=_d.getElementById("orginal_width"); -_e.value=_b; -var _e=_d.getElementById("orginal_height"); -_e.value=_c; -_d.getElementById("f_preview").src=window.parent._backend_url+"__function=thumbs&img="+_9; -update_selected(); -} -var _current_selected=null; -function update_selected(){ -var _f=window.top.document; -if(_current_selected){ -_current_selected.className=_current_selected.className.replace(/(^| )active( |$)/,"$1$2"); -_current_selected=null; -} -var _10=_f.getElementById("f_url").value; -var _11=_f.getElementById("dirPath"); -var _12=_11.options[_11.selectedIndex].text; -var dRe=new RegExp("^("+_12.replace(/([\/\^$*+?.()|{}[\]])/g,"\\$1")+")([^/]*)$"); -if(dRe.test(_10)){ -var _14=document.getElementById("holder_"+asc2hex(RegExp.$2)); -if(_14){ -_current_selected=_14; -_14.className+=" active"; -} -} -} -function asc2hex(str){ -var _16=""; -for(var i=0;i0){ -alert(i18n("Please delete all files/folders inside the folder you wish to delete first.")); -return; -} -if(confirm(i18n("Delete folder?"))){ -return true; -} -return false; -} -addEvent(window,"load",init); -Xinha=window.parent.Xinha; - +function i18n(a){return Xinha._lc(a,"ImageManager")}function changeDir(a){showMessage("Loading");location.href=_backend_url+"__function=images&dir="+encodeURIComponent(a)}function newFolder(a,b){location.href=_backend_url+"__function=images&dir="+encodeURIComponent(a)+"&newDir="+encodeURIComponent(b)}function updateDir(d){var a=window.top.document.getElementById("dirPath");if(a){for(var c=0;c0){alert(i18n("Please delete all files/folders inside the folder you wish to delete first."));return}if(confirm(i18n("Delete folder?"))){return true}return false}addEvent(window,"load",init);Xinha=window.parent.Xinha; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.css b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.css index 5de75de7f..be0584a39 100755 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.css +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.css @@ -9,6 +9,7 @@ a img { border: 0; } a:hover { border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; } .dirs { padding: 1em; } .imageFrame { width: 100%; height: 145px; margin: 0 auto; margin-top: 1em; background-color: White;} +#youtubeChooser .imageFrame { height: 155px; } .smallWidth{ width: 4em; } .largelWidth{ width: 22em; } .inputTable { margin: 1em auto; } diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.js b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.js index e6f5eef9f..47c1b5a15 100644 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.js +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/manager.js @@ -1,233 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ImageManager/assets/manager.js */ -function i18n(_1){ -return Xinha._lc(_1,"ImageManager"); -} -function setAlign(_2){ -var _3=document.getElementById("f_align"); -for(var i=0;i<_3.length;i++){ -if(_3.options[i].value==_2){ -_3.selectedIndex=i; -break; -} -} -} -doneinit=0; -init=function(){ -if(doneinit++){ -return; -} -__dlg_init(null,{width:600,height:460}); -__dlg_translate("ImageManager"); -document.getElementById("f_align").selectedIndex=1; -document.getElementById("f_align").selectedIndex=0; -var _5=document.getElementById("uploadForm"); -if(_5){ -_5.target="imgManager"; -} -var _6=window.dialogArguments; -if(_6){ -var _7=new RegExp("(https?://[^/]*)?"+base_url.replace(/\/$/,"")); -_6.f_url=_6.f_url.replace(_7,""); -var rd=(_resized_dir)?_resized_dir.replace(Xinha.RE_Specials,"\\$1")+"/":""; -var rp=_resized_prefix.replace(Xinha.RE_Specials,"\\$1"); -var _a=new RegExp("^(.*/)"+rd+rp+"_([0-9]+)x([0-9]+)_([^/]+)$"); -if(_a.test(_6.f_url)){ -_6.f_url=RegExp.$1+RegExp.$4; -_6.f_width=RegExp.$2; -_6.f_height=RegExp.$3; -} -for(var id in _6){ -if(id=="f_align"){ -continue; -} -if(document.getElementById(id)){ -document.getElementById(id).value=_6[id]; -} -} -document.getElementById("orginal_width").value=_6["f_width"]; -document.getElementById("orginal_height").value=_6["f_height"]; -setAlign(_6["f_align"]); -var _a=new RegExp("^(.*/)([^/]+)$"); -if(_a.test(_6["f_url"])&&!(new RegExp("^https?://","i")).test(_6["f_url"])){ -changeDir(RegExp.$1); -var _c=document.getElementById("dirPath"); -for(var i=0;i<_c.options.length;i++){ -if(_c.options[i].value==encodeURIComponent(RegExp.$1)){ -_c.options[i].selected=true; -break; -} -} -} -document.getElementById("f_preview").src=_backend_url+"__function=thumbs&img="+_6.f_url; -} -new Xinha.colorPicker.InputBinding(document.getElementById("f_backgroundColor")); -new Xinha.colorPicker.InputBinding(document.getElementById("f_borderColor")); -document.getElementById("f_alt").focus(); -}; -function onCancel(){ -__dlg_close(null); -return false; -} -function onOK(){ -var _e=["f_url","f_alt","f_align","f_width","f_height","f_padding","f_margin","f_border","f_borderColor","f_backgroundColor"]; -var _f=new Object(); -for(var i in _e){ -var id=_e[i]; -var el=document.getElementById(id); -if(id=="f_url"&&el.value.indexOf("://")<0){ -if(el.value==""){ -alert(i18n("No Image selected.")); -return (false); -} -_f[id]=makeURL(base_url,el.value); -}else{ -if(el){ -_f[id]=el.value; -}else{ -alert("Missing "+_e[i]); -} -} -} -var _13={w:document.getElementById("orginal_width").value,h:document.getElementById("orginal_height").value}; -if((_13.w!=_f.f_width)||(_13.h!=_f.f_height)){ -var _14=Xinha._geturlcontent(_backend_url+"&__function=resizer&img="+encodeURIComponent(document.getElementById("f_url").value)+"&width="+_f.f_width+"&height="+_f.f_height); -_14=eval(_14); -if(_14){ -_f.f_url=makeURL(base_url,_14); -} -} -__dlg_close(_f); -return false; -} -function makeURL(_15,_16){ -if(_15.substring(_15.length-1)!="/"){ -_15+="/"; -} -if(_16.charAt(0)=="/"){ -} -_16=_16.substring(1); -return _15+_16; -} -function updateDir(_17){ -var _18=_17.options[_17.selectedIndex].value; -changeDir(_18); -} -function goUpDir(){ -var _19=document.getElementById("dirPath"); -var _1a=_19.options[_19.selectedIndex].text; -if(_1a.length<2){ -return false; -} -var _1b=_1a.split("/"); -var _1c=""; -for(var i=0;i<_1b.length-2;i++){ -_1c+=_1b[i]+"/"; -} -for(var i=0;i<_19.length;i++){ -var _1e=_19.options[i].text; -if(_1e==_1c){ -_19.selectedIndex=i; -var _1f=_19.options[i].value; -changeDir(_1f); -break; -} -} -} -function changeDir(_20){ -if(typeof imgManager!="undefined"){ -imgManager.changeDir(_20); -} -} -function toggleConstrains(_21){ -var _22=document.getElementById("imgLock"); -var _21=document.getElementById("constrain_prop"); -if(_21.checked){ -_22.src="img/locked.gif"; -checkConstrains("width"); -}else{ -_22.src="img/unlocked.gif"; -} -} -function checkConstrains(_23){ -var _24=document.getElementById("constrain_prop"); -if(_24.checked){ -var obj=document.getElementById("orginal_width"); -var _26=parseInt(obj.value); -var obj=document.getElementById("orginal_height"); -var _27=parseInt(obj.value); -var _28=document.getElementById("f_width"); -var _29=document.getElementById("f_height"); -var _2a=parseInt(_28.value); -var _2b=parseInt(_29.value); -if(_26>0&&_27>0){ -if(_23=="width"&&_2a>0){ -_29.value=parseInt((_2a/_26)*_27); -} -if(_23=="height"&&_2b>0){ -_28.value=parseInt((_2b/_27)*_26); -} -} -} -} -function showMessage(_2c){ -var _2d=document.getElementById("message"); -var _2e=document.getElementById("messages"); -if(_2d.firstChild){ -_2d.removeChild(_2d.firstChild); -} -_2d.appendChild(document.createTextNode(i18n(_2c))); -_2e.style.display=""; -} -function addEvent(obj,_30,fn){ -if(obj.addEventListener){ -obj.addEventListener(_30,fn,true); -return true; -}else{ -if(obj.attachEvent){ -var r=obj.attachEvent("on"+_30,fn); -return r; -}else{ -return false; -} -} -} -function doUpload(){ -var _33=document.getElementById("uploadForm"); -if(_33){ -showMessage("Uploading"); -} -} -function refresh(){ -var _34=document.getElementById("dirPath"); -updateDir(_34); -} -function newFolder(){ -function createFolder(_35){ -var _36=document.getElementById("dirPath"); -var dir=_36.options[_36.selectedIndex].value; -if(_35==thumbdir){ -alert(i18n("Invalid folder name, please choose another folder name.")); -return false; -} -if(_35&&_35!=""&&typeof imgManager!="undefined"){ -imgManager.newFolder(dir,encodeURI(_35)); -} -} -if(Xinha.ie_version>6){ -Dialog("newFolder.html",function(_38){ -if(!_38){ -return false; -}else{ -var _39=_38["f_foldername"]; -createFolder(_39); -} -},null); -}else{ -var _3a=prompt(i18n("Please enter name for new folder..."),i18n("Untitled")); -createFolder(_3a); -} -} -addEvent(window,"load",init); - +function i18n(a){return Xinha._lc(a,"ImageManager")}function setAlign(c){var a=document.getElementById("f_align");for(var b=0;b0&&d>0){if(f=="width"&&b>0){a.value=parseInt((b/h)*d)}if(f=="height"&&i>0){c.value=parseInt((i/d)*h)}}}}function showMessage(b){var c=document.getElementById("message");var a=document.getElementById("messages");if(c.firstChild){c.removeChild(c.firstChild)}c.appendChild(document.createTextNode(i18n(b)));a.style.display=""}function addEvent(d,a,b){if(d.addEventListener){d.addEventListener(a,b,true);return true}else{if(d.attachEvent){var c=d.attachEvent("on"+a,b);return c}else{return false}}}function doUpload(){var a=document.getElementById("uploadForm");if(a){showMessage("Uploading")}}function refresh(){var a=document.getElementById("dirPath");updateDir(a)}function newFolder(){function b(c){var d=document.getElementById("dirPath");var e=d.options[d.selectedIndex].value;if(c==thumbdir){alert(i18n("Invalid folder name, please choose another folder name."));return false}if(c&&c!=""&&typeof imgManager!="undefined"){imgManager.newFolder(e,encodeURI(c))}}if(Xinha.ie_version>6){Dialog("newFolder.html",function(d){if(!d){return false}else{var c=d.f_foldername;b(c)}},null)}else{var a=prompt(i18n("Please enter name for new folder..."),i18n("Untitled"));b(a)}}addEvent(window,"load",init); \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/popup.js b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/popup.js index 4cc9cf368..d599cc861 100644 --- a/ccm-core/web/assets/xinha/plugins/ImageManager/assets/popup.js +++ b/ccm-core/web/assets/xinha/plugins/ImageManager/assets/popup.js @@ -1,32 +1,40 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ImageManager/assets/popup.js */ -function __dlg_translate(_1){ -var _2=["span","option","td","th","button","div","label","a","img","legend"]; -for(var _3=0;_3<_2.length;++_3){ -var _4=document.getElementsByTagName(_2[_3]); -for(var i=_4.length;--i>=0;){ -var _6=_4[i]; -if(_6.firstChild&&_6.firstChild.data){ -var _7=Xinha._lc(_6.firstChild.data,_1); -if(_7){ -_6.firstChild.data=_7; -} -} -if(_6.title){ -var _7=Xinha._lc(_6.title,_1); -if(_7){ -_6.title=_7; -} -} -if(_6.alt){ -var _7=Xinha._lc(_6.alt,_1); -if(_7){ -_6.alt=_7; -} -} -} -} -document.title=Xinha._lc(document.title,_1); -} - +// htmlArea v3.0 - Copyright (c) 2002, 2003 interactivetools.com, inc. +// This copyright notice MUST stay intact for use (see license.txt). +// +// Portions (c) dynarch.com, 2003 +// +// A free WYSIWYG editor replacement for + +
    + + +
    diff --git a/ccm-core/web/assets/xinha/plugins/InsertNote/img/insert-note.gif b/ccm-core/web/assets/xinha/plugins/InsertNote/img/insert-note.gif new file mode 100644 index 0000000000000000000000000000000000000000..7e9dd1a4507f0a589c0d48cf3912525dbc284910 GIT binary patch literal 627 zcmZ?wbhEHb6k-r!IHu0PWBY-}_M^D#8)>&klJ4)MJU&Q!eo*#*t?d6sE#S3A&|CH3 z_Zq?PwL(9HM}!(hy|hStU*FQx(baln0mHJD+cs_5^m?Q1jvYHT?YOXc$N9}WFK*d+ zVau)yd-m+vbKuNFUfIdkUB*$a2hUVeS< z%A507-(I--=GLv-w{PFRdFSP=yDx9ueRb#l>$?x$+<*A?<;zz;UmSb+>NOa=dGqGY zyLa#2fBN_D-~a#r|3i!$qCoK{3nLdpJ%bJd0|NsnP8irPG}Jc<*SEB_b~JSfTlDnx zPH5>85*C{}ecDW6p~+Ulvh#(-7cI1!(%T{19KU;w6wphc2WCBujd!#aPFYUf u?KE+Nb^W!g4k41QN;CRyxmQGQGm6Z;e`vvboBscsA{8u@*RgOiSOWly&?2S) diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/insert-pagebreak.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/insert-pagebreak.js deleted file mode 100644 index 6a3b1de05..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/insert-pagebreak.js +++ /dev/null @@ -1,20 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertPagebreak/insert-pagebreak.js */ -function InsertPagebreak(_1,_2){ -this.editor=_1; -var _3=_1.config; -var _4=this; -_3.registerButton({id:"pagebreak",tooltip:this._lc("Page break"),image:_1.imgURL("pagebreak.gif","InsertPagebreak"),textMode:false,action:function(_5){ -_4.buttonPress(_5); -}}); -_3.addToolbarElement("pagebreak","inserthorizontalrule",1); -} -InsertPagebreak._pluginInfo={name:"InsertPagebreak",version:"1.0",developer:"Udo Schmal",developer_url:"",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de/",c_owner:"Udo Schmal & Schaffrath NeueMedien",license:"htmlArea"}; -InsertPagebreak.prototype._lc=function(_6){ -return Xinha._lc(_6,"InsertPagebreak"); -}; -InsertPagebreak.prototype.buttonPress=function(_7,_8,_9){ -_7.insertHTML("
    "; -if(_1a._hc){ -str+="
    "; -str+=this.addNode(_1a); -str+="
    "; -} -this.aIndent.pop(); -return str; -}; -dTree.prototype.indent=function(_1d,_1e){ -var str=""; -if(this.root.id!=_1d.pid){ -for(var n=0;n"; -} -(_1d._ls)?this.aIndent.push(0):this.aIndent.push(1); -if(_1d._hc){ -str+="\"\""; -}else{ -str+="\"\""; -} -} -return str; -}; -dTree.prototype.setCS=function(_21){ -var _22; -for(var n=0;n'}if(a.url){b+=''}}b+=a.name;if(a.url||((!this.config.folderLinks||!a.url)&&a._hc)){b+=""}b+="";if(a._hc){b+='
    ';b+=this.addNode(a);b+="
    "}this.aIndent.pop();return b};dTree.prototype.indent=function(a,c){var b="";if(this.root.id!=a.pid){for(var d=0;d'}(a._ls)?this.aIndent.push(0):this.aIndent.push(1);if(a._hc){b+=''}else{b+=''}}return b};dTree.prototype.setCS=function(a){var b;for(var c=0;c(the dTree goes in here)
    - + - + - + "}}; -var opTag_a={"href":"href=\"","name":"name=\"","target":"target=\""}; -var opAtt_a={"href":{"http://":"http://","https://":"https://","ftp://":"ftp://","mailto:":"mailto:","#":"#\""},"target":{"_top":"_top\"","_self":"_self\"","_parent":"_parent\"","_blank":"_blank\""}}; -var opTag_font={"face":"face=\"","size":"size=\"","color":"color=\""}; -var opAtt_font={"face":{"Verdana":"Verdana\"","Arial":"Arial\"","Tahoma":"Tahoma\"","Courier New":"Courier New\"","Times New Roman":"Times New Roman\""},"size":{"1":"1\"","2":"2\"","3":"3\"","4":"4\"","5":"5\"","6":"6\"","+1":"+1\"","+2":"+2\"","+3":"+3\"","+4":"+4\"","+5":"+5\"","+6":"+6\"","-1":"-1\"","-2":"-2\"","-3":"-3\"","-4":"-4\"","-5":"-5\"","-6":"-6\""}}; -var opTag_div={"align":"align=\""}; -var opAtt_div={"align":{"center":"center\"","left":"left\"","right":"right\"","justify":"justify\""}}; -var opTag_h={"align":"align=\""}; -var opAtt_h={"align":{"center":"center\"","left":"left\"","right":"right\"","justify":"justify\""}}; -var opTag_p={"align":"align=\""}; -var opAtt_p={"align":{"center":"center\"","left":"left\"","right":"right\"","justify":"justify\""}}; -var opTag_table={"align":"align=\"","width":"width=\"","height":"height=\"","cellpadding":"cellpadding=\"","cellspacing":"cellspacing=\"","background":"background=\"","bgcolor":"bgcolor=\"","border":"border=\"","bordercolor":"bordercolor=\"","bordercolorlight":"bordercolorlight=\"","bordercolordark":"bordercolordark=\""}; -var opAtt_table={"align":{"center":"center\"","left":"left\"","right":"right\""}}; -var opTag_all={"class":"class=\"","dir":"dir=\"","id":"id=\"","lang":"lang=\"","onFocus":"onFocus=\"","onBlur":"onBlur=\"","onClick":"onClick=\"","onDblClick":"onDblClick=\"","onMouseDown":"onMouseDown=\"","onMouseUp":"onMouseUp=\"","onMouseOver":"onMouseOver=\"","onMouseMove":"onMouseMove=\"","onMouseOut":"onMouseOut=\"","onKeyPress":"onKeyPress=\"","onKeyDown":"onKeyDown=\"","onKeyUp":"onKeyUp=\"","style":"style=\"","title":"title=\""}; -var opAtt_all={"class":{},"dir":{"rtl":"rtl\"","ltr":"ltr\""},"lang":{"Afrikaans ":"af\"","Albanian ":"sq\"","Arabic ":"ar\"","Basque ":"eu\"","Breton ":"br\"","Bulgarian ":"bg\"","Belarusian ":"be\"","Catalan ":"ca\"","Chinese ":"zh\"","Croatian ":"hr\"","Czech ":"cs\"","Danish ":"da\"","Dutch ":"nl\"","English ":"en\"","Estonian ":"et\"","Faeroese ":"fo\"","Farsi ":"fa\"","Finnish ":"fi\"","French ":"fr\"","Gaelic ":"gd\"","German ":"de\"","Greek ":"el\"","Hebrew ":"he\"","Hindi ":"hi\"","Hungarian ":"hu\"","Icelandic ":"is\"","Indonesian ":"id\"","Italian ":"it\"","Japanese ":"ja\"","Korean ":"ko\"","Latvian ":"lv\"","Lithuanian ":"lt\"","Macedonian ":"mk\"","Malaysian ":"ms\"","Maltese ":"mt\"","Norwegian ":"no\"","Polish ":"pl\"","Portuguese ":"pt\"","Rhaeto-Romanic ":"rm\"","Romanian ":"ro\"","Russian ":"ru\"","Sami ":"sz\"","Serbian ":"sr\"","Setswana ":"tn\"","Slovak ":"sk\"","Slovenian ":"sl\"","Spanish ":"es\"","Sutu ":"sx\"","Swedish ":"sv\"","Thai ":"th\"","Tsonga ":"ts\"","Turkish ":"tr\"","Ukrainian ":"uk\"","Urdu ":"ur\"","Vietnamese ":"vi\"","Xhosa ":"xh\"","Yiddish ":"yi\"","Zulu":"zu\""},"style":{"azimuth":"azimuth: ","background":"background: ","background-attachment":"background-attachment: ","background-color":"background-color: ","background-image":"background-image: ","background-position":"background-position: ","background-repeat":"background-repeat: ","border":"border: ","border-bottom":"border-bottom: ","border-left":"border-left: ","border-right":"border-right: ","border-top":"border-top: ","border-bottom-color":"border-bottom-color: ","border-left-color":"border-left-color: ","border-right-color":"border-right-color: ","border-top-color":"border-top-color: ","border-bottom-style":"border-bottom-style: ","border-left-style":"border-left-style: ","border-right-style":"border-right-style: ","border-top-style":"border-top-style: ","border-bottom-width":"border-bottom-width: ","border-left-width":"border-left-width: ","border-right-width":"border-right-width: ","border-top-width":"border-top-width: ","border-collapse":"border-collapse: ","border-color":"border-color: ","border-style":"border-style: ","border-width":"border-width: ","bottom":"bottom: ","caption-side":"caption-side: ","cell-spacing":"cell-spacing: ","clear":"clear: ","clip":"clip: ","color":"color: ","column-span":"column-span: ","content":"content: ","cue":"cue: ","cue-after":"cue-after: ","cue-before":"cue-before: ","cursor":"cursor: ","direction":"direction: ","display":"display: ","elevation":"elevation: ","filter":"filter: ","float":"float: ","font-family":"font-family: ","font-size":"font-size: ","font-size-adjust":"font-size-adjust: ","font-style":"font-style: ","font-variant":"font-variant: ","font-weight":"font-weight: ","height":"height: ","!important":"!important: ","left":"left: ","letter-spacing":"letter-spacing: ","line-height":"line-height: ","list-style":"list-style: ","list-style-image":"list-style-image: ","list-style-position":"list-style-position: ","list-style-type":"list-style-type: ","margin":"margin: ","margin-bottom":"margin-bottom: ","margin-left":"margin-left: ","margin-right":"margin-right: ","margin-top":"margin-top: ","marks":"marks: ","max-height":"max-height: ","min-height":"min-height: ","max-width":"max-width: ","min-width":"min-width: ","orphans":"orphans: ","overflow":"overflow: ","padding":"padding: ","padding-bottom":"padding-bottom: ","padding-left":"padding-left: ","padding-right":"padding-right: ","padding-top":"padding-top: ","page-break-after":"page-break-after: ","page-break-before":"page-break-before: ","pause":"pause: ","pause-after":"pause-after: ","pause-before":"pause-before: ","pitch":"pitch: ","pitch-range":"pitch-range: ","play-during":"play-during: ","position":"position: ","richness":"richness: ","right":"right: ","row-span":"row-span: ","size":"size: ","speak":"speak: ","speak-date":"speak-date: ","speak-header":"speak-header: ","speak-numeral":"speak-numeral: ","speak-punctuation":"speak-punctuation: ","speak-time":"speak-time: ","speech-rate":"speech-rate: ","stress":"stress: ","table-layout":"table-layout: ","text-align":"text-align: ","text-decoration":"text-decoration: ","text-indent":"text-indent: ","text-shadow":"text-shadow: ","text-transform":"text-transform: ","top":"top: ","vertical-align":"vertical-align: ","visibility":"visibility: ","voice-family":"voice-family: ","volume":"volume: ","white-space":"white-space: ","widows":"widows: ","width":"width: ","word-spacing":"word-spacing: ","z-index":"z-index: "}}; -for(var i in tagLib){ -i=i.replace(/^h[1-6]$/,"h"); -for(var j in opTag_all){ -eval("opTag_"+i+"[\""+j+"\"] = opTag_all[\""+j+"\"];"); -} -for(var j in opAtt_all){ -eval("opAtt_"+i+"[\""+j+"\"] = opAtt_all[\""+j+"\"];"); -} -} - +var allTags={a:"a","a (full)":'a href="" target=""',address:"address",b:"b",big:"big",blockquote:"blockquote",code:"code",div:"div",em:"em",fieldset:"fieldset",font:"font","font (full)":'font face="" size="" color=""',h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",i:"i",legend:"legend",li:"li",ol:"ol",ul:"ul",p:"p",pre:"pre",small:"small",span:"span",strong:"strong",sub:"sub",sup:"sup",table:"table"};var tagLib={a:true,div:true,font:true,h1:true,h2:true,h3:true,h4:true,h5:true,h6:true,p:true,table:true};var subTagLib={table:{op:""}};var opTag_a={href:'href="',name:'name="',target:'target="'};var opAtt_a={href:{"http://":"http://","https://":"https://","ftp://":"ftp://","mailto:":"mailto:","#":'#"'},target:{_top:'_top"',_self:'_self"',_parent:'_parent"',_blank:'_blank"'}};var opTag_font={face:'face="',size:'size="',color:'color="'};var opAtt_font={face:{Verdana:'Verdana"',Arial:'Arial"',Tahoma:'Tahoma"',"Courier New":'Courier New"',"Times New Roman":'Times New Roman"'},size:{"1":'1"',"2":'2"',"3":'3"',"4":'4"',"5":'5"',"6":'6"',"+1":'+1"',"+2":'+2"',"+3":'+3"',"+4":'+4"',"+5":'+5"',"+6":'+6"',"-1":'-1"',"-2":'-2"',"-3":'-3"',"-4":'-4"',"-5":'-5"',"-6":'-6"'}};var opTag_div={align:'align="'};var opAtt_div={align:{center:'center"',left:'left"',right:'right"',justify:'justify"'}};var opTag_h={align:'align="'};var opAtt_h={align:{center:'center"',left:'left"',right:'right"',justify:'justify"'}};var opTag_p={align:'align="'};var opAtt_p={align:{center:'center"',left:'left"',right:'right"',justify:'justify"'}};var opTag_table={align:'align="',width:'width="',height:'height="',cellpadding:'cellpadding="',cellspacing:'cellspacing="',background:'background="',bgcolor:'bgcolor="',border:'border="',bordercolor:'bordercolor="',bordercolorlight:'bordercolorlight="',bordercolordark:'bordercolordark="'};var opAtt_table={align:{center:'center"',left:'left"',right:'right"'}};var opTag_all={"class":'class="',dir:'dir="',id:'id="',lang:'lang="',onFocus:'onFocus="',onBlur:'onBlur="',onClick:'onClick="',onDblClick:'onDblClick="',onMouseDown:'onMouseDown="',onMouseUp:'onMouseUp="',onMouseOver:'onMouseOver="',onMouseMove:'onMouseMove="',onMouseOut:'onMouseOut="',onKeyPress:'onKeyPress="',onKeyDown:'onKeyDown="',onKeyUp:'onKeyUp="',style:'style="',title:'title="'};var opAtt_all={"class":{},dir:{rtl:'rtl"',ltr:'ltr"'},lang:{"Afrikaans ":'af"',"Albanian ":'sq"',"Arabic ":'ar"',"Basque ":'eu"',"Breton ":'br"',"Bulgarian ":'bg"',"Belarusian ":'be"',"Catalan ":'ca"',"Chinese ":'zh"',"Croatian ":'hr"',"Czech ":'cs"',"Danish ":'da"',"Dutch ":'nl"',"English ":'en"',"Estonian ":'et"',"Faeroese ":'fo"',"Farsi ":'fa"',"Finnish ":'fi"',"French ":'fr"',"Gaelic ":'gd"',"German ":'de"',"Greek ":'el"',"Hebrew ":'he"',"Hindi ":'hi"',"Hungarian ":'hu"',"Icelandic ":'is"',"Indonesian ":'id"',"Italian ":'it"',"Japanese ":'ja"',"Korean ":'ko"',"Latvian ":'lv"',"Lithuanian ":'lt"',"Macedonian ":'mk"',"Malaysian ":'ms"',"Maltese ":'mt"',"Norwegian ":'no"',"Polish ":'pl"',"Portuguese ":'pt"',"Rhaeto-Romanic ":'rm"',"Romanian ":'ro"',"Russian ":'ru"',"Sami ":'sz"',"Serbian ":'sr"',"Setswana ":'tn"',"Slovak ":'sk"',"Slovenian ":'sl"',"Spanish ":'es"',"Sutu ":'sx"',"Swedish ":'sv"',"Thai ":'th"',"Tsonga ":'ts"',"Turkish ":'tr"',"Ukrainian ":'uk"',"Urdu ":'ur"',"Vietnamese ":'vi"',"Xhosa ":'xh"',"Yiddish ":'yi"',Zulu:'zu"'},style:{azimuth:"azimuth: ",background:"background: ","background-attachment":"background-attachment: ","background-color":"background-color: ","background-image":"background-image: ","background-position":"background-position: ","background-repeat":"background-repeat: ",border:"border: ","border-bottom":"border-bottom: ","border-left":"border-left: ","border-right":"border-right: ","border-top":"border-top: ","border-bottom-color":"border-bottom-color: ","border-left-color":"border-left-color: ","border-right-color":"border-right-color: ","border-top-color":"border-top-color: ","border-bottom-style":"border-bottom-style: ","border-left-style":"border-left-style: ","border-right-style":"border-right-style: ","border-top-style":"border-top-style: ","border-bottom-width":"border-bottom-width: ","border-left-width":"border-left-width: ","border-right-width":"border-right-width: ","border-top-width":"border-top-width: ","border-collapse":"border-collapse: ","border-color":"border-color: ","border-style":"border-style: ","border-width":"border-width: ",bottom:"bottom: ","caption-side":"caption-side: ","cell-spacing":"cell-spacing: ",clear:"clear: ",clip:"clip: ",color:"color: ","column-span":"column-span: ",content:"content: ",cue:"cue: ","cue-after":"cue-after: ","cue-before":"cue-before: ",cursor:"cursor: ",direction:"direction: ",display:"display: ",elevation:"elevation: ",filter:"filter: ","float":"float: ","font-family":"font-family: ","font-size":"font-size: ","font-size-adjust":"font-size-adjust: ","font-style":"font-style: ","font-variant":"font-variant: ","font-weight":"font-weight: ",height:"height: ","!important":"!important: ",left:"left: ","letter-spacing":"letter-spacing: ","line-height":"line-height: ","list-style":"list-style: ","list-style-image":"list-style-image: ","list-style-position":"list-style-position: ","list-style-type":"list-style-type: ",margin:"margin: ","margin-bottom":"margin-bottom: ","margin-left":"margin-left: ","margin-right":"margin-right: ","margin-top":"margin-top: ",marks:"marks: ","max-height":"max-height: ","min-height":"min-height: ","max-width":"max-width: ","min-width":"min-width: ",orphans:"orphans: ",overflow:"overflow: ",padding:"padding: ","padding-bottom":"padding-bottom: ","padding-left":"padding-left: ","padding-right":"padding-right: ","padding-top":"padding-top: ","page-break-after":"page-break-after: ","page-break-before":"page-break-before: ",pause:"pause: ","pause-after":"pause-after: ","pause-before":"pause-before: ",pitch:"pitch: ","pitch-range":"pitch-range: ","play-during":"play-during: ",position:"position: ",richness:"richness: ",right:"right: ","row-span":"row-span: ",size:"size: ",speak:"speak: ","speak-date":"speak-date: ","speak-header":"speak-header: ","speak-numeral":"speak-numeral: ","speak-punctuation":"speak-punctuation: ","speak-time":"speak-time: ","speech-rate":"speech-rate: ",stress:"stress: ","table-layout":"table-layout: ","text-align":"text-align: ","text-decoration":"text-decoration: ","text-indent":"text-indent: ","text-shadow":"text-shadow: ","text-transform":"text-transform: ",top:"top: ","vertical-align":"vertical-align: ",visibility:"visibility: ","voice-family":"voice-family: ",volume:"volume: ","white-space":"white-space: ",widows:"widows: ",width:"width: ","word-spacing":"word-spacing: ","z-index":"z-index: "}};for(var i in tagLib){i=i.replace(/^h[1-6]$/,"h");for(var j in opTag_all){eval("opTag_"+i+'["'+j+'"] = opTag_all["'+j+'"];')}for(var j in opAtt_all){eval("opAtt_"+i+'["'+j+'"] = opAtt_all["'+j+'"];')}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SaveOnBlur/SaveOnBlur.js b/ccm-core/web/assets/xinha/plugins/SaveOnBlur/SaveOnBlur.js new file mode 100644 index 000000000..8ca5679d1 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SaveOnBlur/SaveOnBlur.js @@ -0,0 +1,47 @@ +/** Save the content of the editor to the text area when blurring (losing focus). + * + * @author Peter Siewert + * @see Ticket #1433 + */ + +SaveOnBlur._pluginInfo = { + name:"SaveOnBlur", + version:"1.0", + developer:"Peter Siewert", + developer_url:"http://xinha.org", + sponsor:"", + sponsor_url:"", + license:"htmlArea" +}; + +function SaveOnBlur(editor){ + this.editor=editor; +} + +SaveOnBlur.prototype.onKeyPress=function(){ + this.queue_xinha_update_textarea(); + return false; +}; + +SaveOnBlur.prototype.onMouseDown=function(){ + this.queue_xinha_update_textarea(); + return false; +}; + +SaveOnBlur.prototype.queue_xinha_update_textarea = function() +{ + var blurry = this; + + if(!this._attach_blur) + { + + Xinha._addEvent(this.editor._iframe, 'blur', function(){ blurry.xinha_update_textarea(); }); // IE + Xinha._addEvent(this.editor._doc, 'blur', function(){ blurry.xinha_update_textarea(); }); // GECKO + this._attach_blur = 1; + } +} + +SaveOnBlur.prototype.xinha_update_textarea = function() +{ + this.editor._textArea.value=this.editor.outwardHtml(this.editor.getHTML()); +} diff --git a/ccm-core/web/assets/xinha/plugins/SaveSubmit/SaveSubmit.js b/ccm-core/web/assets/xinha/plugins/SaveSubmit/SaveSubmit.js new file mode 100644 index 000000000..a69086283 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SaveSubmit/SaveSubmit.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function SaveSubmit(c){this.editor=c;this.changed=false;var b=this;var a=c.config;this.textarea=this.editor._textArea;a.registerIcon("savesubmitchanged",Xinha.getPluginDir("SaveSubmit")+"/img/ed_save_red.gif");a.registerIcon("savesubmitunchanged",Xinha.getPluginDir("SaveSubmit")+"/img/ed_save_green.gif");a.registerButton({id:"savesubmit",tooltip:b._lc("Save"),image:a.iconList.savesubmitunchanged,textMode:false,action:function(){b.save()}});a.addToolbarElement("savesubmit","popupeditor",-1)}SaveSubmit.prototype._lc=function(a){return Xinha._lc(a,"SaveSubmit")};SaveSubmit._pluginInfo={name:"SaveSubmit",version:"1.0",developer:"Raimund Meyer",developer_url:"http://x-webservice.net",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"htmlArea"};SaveSubmit.prototype.onKeyPress=function(a){if(a.ctrlKey&&this.editor.getKey(a)=="s"){this.save(this.editor);Xinha._stopEvent(a);return true}else{if(!this.changed){if(this.getChanged()){this.setChanged()}return false}}};SaveSubmit.prototype.onExecCommand=function(a){if(this.changed&&a=="undo"){if(this.initial_html==this.editor.getInnerHTML()){this.setUnChanged()}return false}};SaveSubmit.prototype.onUpdateToolbar=function(){if(!this.initial_html){this.initial_html=this.editor.getInnerHTML()}if(!this.changed){if(this.getChanged()){this.setChanged()}return false}};SaveSubmit.prototype.getChanged=function(){if(this.initial_html===null){this.initial_html=this.editor.getInnerHTML()}if(this.initial_html!=this.editor.getInnerHTML()&&this.changed==false){this.changed=true;return true}else{return false}};SaveSubmit.prototype.setChanged=function(){this.editor._toolbarObjects.savesubmit.swapImage(this.editor.config.iconList.savesubmitchanged);this.editor.updateToolbar()};SaveSubmit.prototype.setUnChanged=function(){this.changed=false;this.editor._toolbarObjects.savesubmit.swapImage(this.editor.config.iconList.savesubmitunchanged)};SaveSubmit.prototype.changedReset=function(){this.initial_html=null;this.setUnChanged()};SaveSubmit.prototype.save=function(){this.buildMessage();var b=this.editor;var a=this;var g=b._textArea.form;g.onsubmit();var d,h,f="";for(var e=0;e0)?"&":"")+g.elements[e].name+"="+encodeURIComponent(g.elements[e].value)}var c=b._textArea.form.action||window.location.href;Xinha._postback(c,f,function(i){if(i){a.setMessage(i);a.changedReset()}removeMessage=function(){a.removeMessage()};window.setTimeout("removeMessage()",1000)})};SaveSubmit.prototype.setMessage=function(b){var c=this.textarea;if(!document.getElementById("message_sub_"+c.id)){return}var a=document.getElementById("message_sub_"+c.id);a.innerHTML=Xinha._lc(b,"SaveSubmit")};SaveSubmit.prototype.removeMessage=function(){var a=this.textarea;if(!document.getElementById("message_"+a.id)){return}document.body.removeChild(document.getElementById("message_"+a.id))};SaveSubmit.prototype.buildMessage=function(){var d=this.textarea;var e=this.editor._htmlArea;var a=document.createElement("div");a.id="message_"+d.id;a.className="loading";a.style.width=e.offsetWidth+"px";a.style.left=Xinha.findPosX(e)+"px";a.style.top=(Xinha.findPosY(e)+parseInt(e.offsetHeight)/2)-50+"px";var b=document.createElement("div");b.className="loading_main";b.id="loading_main_"+d.id;b.appendChild(document.createTextNode(this._lc("Saving...")));var c=document.createElement("div");c.className="loading_sub";c.id="message_sub_"+d.id;c.appendChild(document.createTextNode(this._lc("in progress")));a.appendChild(b);a.appendChild(c);document.body.appendChild(a)}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SaveSubmit/save-submit.js b/ccm-core/web/assets/xinha/plugins/SaveSubmit/save-submit.js deleted file mode 100644 index 1cf418463..000000000 --- a/ccm-core/web/assets/xinha/plugins/SaveSubmit/save-submit.js +++ /dev/null @@ -1,137 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SaveSubmit/save-submit.js */ -function SaveSubmit(_1){ -this.editor=_1; -this.changed=false; -var _2=this; -var _3=_1.config; -this.textarea=this.editor._textArea; -this.image_changed=Xinha.getPluginDir("SaveSubmit")+"/img/ed_save_red.gif"; -this.image_unchanged=Xinha.getPluginDir("SaveSubmit")+"/img/ed_save_green.gif"; -_3.registerButton({id:"savesubmit",tooltip:_2._lc("Save"),image:this.image_unchanged,textMode:false,action:function(){ -_2.save(); -}}); -_3.addToolbarElement("savesubmit","popupeditor",-1); -} -SaveSubmit.prototype._lc=function(_4){ -return Xinha._lc(_4,"SaveSubmit"); -}; -SaveSubmit._pluginInfo={name:"SaveSubmit",version:"1.0",developer:"Raimund Meyer",developer_url:"http://rheinauf.de",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"htmlArea"}; -SaveSubmit.prototype.onGenerateOnce=function(){ -this.initial_html=this.editor.getInnerHTML(); -}; -SaveSubmit.prototype.onKeyPress=function(ev){ -if(ev.ctrlKey&&this.editor.getKey(ev)=="s"){ -this.save(this.editor); -Xinha._stopEvent(ev); -return true; -}else{ -if(!this.changed){ -if(this.getChanged()){ -this.setChanged(); -} -return false; -} -} -}; -SaveSubmit.prototype.onExecCommand=function(_6){ -if(this.changed&&_6=="undo"){ -if(this.initial_html==this.editor.getInnerHTML()){ -this.setUnChanged(); -} -return false; -} -}; -SaveSubmit.prototype.onUpdateToolbar=function(){ -if(!this.changed){ -if(this.getChanged()){ -this.setChanged(); -} -return false; -} -}; -SaveSubmit.prototype.getChanged=function(){ -if(this.initial_html===null){ -this.initial_html=this.editor.getInnerHTML(); -} -if(this.initial_html!=this.editor.getInnerHTML()&&this.changed==false){ -this.changed=true; -return true; -}else{ -return false; -} -}; -SaveSubmit.prototype.setChanged=function(){ -this.editor._toolbarObjects.savesubmit.swapImage(this.image_changed); -this.editor.updateToolbar(); -}; -SaveSubmit.prototype.setUnChanged=function(){ -this.changed=false; -this.editor._toolbarObjects.savesubmit.swapImage(this.image_unchanged); -}; -SaveSubmit.prototype.changedReset=function(){ -this.initial_html=null; -this.setUnChanged(); -}; -SaveSubmit.prototype.save=function(){ -this.buildMessage(); -var _7=this.editor; -var _8=this; -var _9=_7._textArea.form; -_9.onsubmit(); -var _a,value,content=""; -for(var i=0;i<_9.elements.length;i++){ -if((_9.elements[i].type=="checkbox"||_9.elements[i].type=="radio")&&!_9.elements[i].checked){ -continue; -} -content+=((i>0)?"&":"")+_9.elements[i].name+"="+encodeURIComponent(_9.elements[i].value); -} -Xinha._postback(_7._textArea.form.action,content,function(_c){ -if(_c){ -_8.setMessage(_c); -_8.changedReset(); -} -removeMessage=function(){ -_8.removeMessage(); -}; -window.setTimeout("removeMessage()",1000); -}); -}; -SaveSubmit.prototype.setMessage=function(_d){ -var _e=this.textarea; -if(!document.getElementById("message_sub_"+_e.id)){ -return; -} -var _f=document.getElementById("message_sub_"+_e.id); -_f.innerHTML=Xinha._lc(_d,"SaveSubmit"); -}; -SaveSubmit.prototype.removeMessage=function(){ -var _10=this.textarea; -if(!document.getElementById("message_"+_10.id)){ -return; -} -document.body.removeChild(document.getElementById("message_"+_10.id)); -}; -SaveSubmit.prototype.buildMessage=function(){ -var _11=this.textarea; -var _12=this.editor._htmlArea; -var _13=document.createElement("div"); -_13.id="message_"+_11.id; -_13.className="loading"; -_13.style.width=_12.offsetWidth+"px"; -_13.style.left=Xinha.findPosX(_12)+"px"; -_13.style.top=(Xinha.findPosY(_12)+parseInt(_12.offsetHeight)/2)-50+"px"; -var _14=document.createElement("div"); -_14.className="loading_main"; -_14.id="loading_main_"+_11.id; -_14.appendChild(document.createTextNode(this._lc("Saving..."))); -var _15=document.createElement("div"); -_15.className="loading_sub"; -_15.id="message_sub_"+_11.id; -_15.appendChild(document.createTextNode(this._lc("in progress"))); -_13.appendChild(_14); -_13.appendChild(_15); -document.body.appendChild(_13); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/SetId/SetId.js b/ccm-core/web/assets/xinha/plugins/SetId/SetId.js new file mode 100644 index 000000000..947a33fbc --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SetId/SetId.js @@ -0,0 +1,88 @@ +function SetId(editor) { + this.editor = editor; + var cfg = editor.config; + var self = this; + + // register the toolbar buttons provided by this plugin + cfg.registerButton({ + id : "setid", + tooltip : this._lc("Set Id and Name"), + image : editor.imgURL("set-id.gif", "SetId"), + textMode : false, + action : function(editor) { + self.buttonPress(editor); + } + }); + cfg.addToolbarElement("setid", "createlink", 1); +} + +SetId._pluginInfo = { + name : "SetId", + version : "2.0", + developer : "Udo Schmal", + developer_url : "http://www.schaffrath-neuemedien.de", + c_owner : "Udo Schmal", + sponsor : "L.N.Schaffrath NeueMedien", + sponsor_url : "http://www.schaffrath-neuemedien.de", + license : "htmlArea" +}; + +SetId.prototype._lc = function(string) { + return Xinha._lc(string, 'SetId'); +}; + + +SetId.prototype.onGenerate = function() { + this.editor.addEditorStylesheet(Xinha.getPluginDir("SetId") + '/set-id.css'); +}; + +SetId.prototype.buttonPress = function(editor) { + var outparam = null; + var html = editor.getSelectedHTML(); + var sel = editor._getSelection(); + var range = editor._createRange(sel); + var node = editor._activeElement(sel); + if (node) + outparam = { name : node.id }; + else + outparam = { name : '' }; + + editor._popupDialog( "plugin://SetId/set_id", function( param ) { + if ( param ) { + var name = param["name"]; + if (name == "" || name == null) { + if (node) { + node.removeAttribute("name"); + node.removeAttribute("id"); + node.removeAttribute("title"); + if (node.className == "hasid") { + node.removeAttribute("class"); + } + } + return; + } + try { + var doc = editor._doc; + if (!node) { + node = doc.createElement("span"); + node.id = name; + node.name = name; + node.title = name; + node.className = "hasid"; + node.innerHTML = html; + if (Xinha.is_ie) { + range.pasteHTML(node.outerHTML); + } else { + editor.insertNodeAtSelection(node); + } + } else { + node.id = name; + node.name = name; + node.title = name; + node.className = "hasid"; + } + } + catch (e) { } + } + }, outparam); +}; diff --git a/ccm-core/web/assets/xinha/plugins/SetId/set-id.js b/ccm-core/web/assets/xinha/plugins/SetId/set-id.js deleted file mode 100644 index c94974f92..000000000 --- a/ccm-core/web/assets/xinha/plugins/SetId/set-id.js +++ /dev/null @@ -1,71 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SetId/set-id.js */ -function SetId(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"setid",tooltip:this._lc("Set Id and Name"),image:_1.imgURL("set-id.gif","SetId"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("setid","createlink",1); -} -SetId._pluginInfo={name:"SetId",version:"2.0",developer:"Udo Schmal",developer_url:"http://www.schaffrath-neuemedien.de",c_owner:"Udo Schmal",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de",license:"htmlArea"}; -SetId.prototype._lc=function(_5){ -return Xinha._lc(_5,"SetId"); -}; -SetId.prototype.onGenerate=function(){ -this.editor.addEditorStylesheet(Xinha.getPluginDir("SetId")+"/set-id.css"); -}; -SetId.prototype.buttonPress=function(_6){ -var _7=null; -var _8=_6.getSelectedHTML(); -var _9=_6._getSelection(); -var _a=_6._createRange(_9); -var _b=_6._activeElement(_9); -if(_b){ -_7={name:_b.id}; -}else{ -_7={name:""}; -} -_6._popupDialog("plugin://SetId/set_id",function(_c){ -if(_c){ -var _d=_c["name"]; -if(_d==""||_d==null){ -if(_b){ -_b.removeAttribute("name"); -_b.removeAttribute("id"); -_b.removeAttribute("title"); -if(_b.className=="hasid"){ -_b.removeAttribute("class"); -} -} -return; -} -try{ -var _e=_6._doc; -if(!_b){ -_b=_e.createElement("span"); -_b.id=_d; -_b.name=_d; -_b.title=_d; -_b.className="hasid"; -_b.innerHTML=_8; -if(Xinha.is_ie){ -_a.pasteHTML(_b.outerHTML); -}else{ -_6.insertNodeAtSelection(_b); -} -}else{ -_b.id=_d; -_b.name=_d; -_b.title=_d; -_b.className="hasid"; -} -} -catch(e){ -} -} -},_7); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/SmartReplace.js b/ccm-core/web/assets/xinha/plugins/SmartReplace/SmartReplace.js new file mode 100644 index 000000000..8d2037cc9 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SmartReplace/SmartReplace.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function SmartReplace(c){this.editor=c;var a=c.config;var b=this;a.registerButton({id:"smartreplace",tooltip:this._lc("SmartReplace"),image:[_editor_url+"iconsets/Tango/ed_buttons_main.png",3,8],textMode:false,action:function(g,f,d){b.buttonPress(null,d)}});a.addToolbarElement("smartreplace","htmlmode",1)}SmartReplace._pluginInfo={name:"SmartReplace",version:"1.0",developer:"Raimund Meyer",developer_url:"http://x-webservice.net",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"htmlArea"};SmartReplace.prototype._lc=function(a){return Xinha._lc(a,"SmartReplace")};Xinha.Config.prototype.SmartReplace={defaultActive:true,quotes:null};SmartReplace.prototype.toggleActivity=function(a){if(typeof a!="undefined"){this.active=a}else{this.active=this.active?false:true}this.editor._toolbarObjects.smartreplace.state("active",this.active)};SmartReplace.prototype.onUpdateToolbar=function(){this.editor._toolbarObjects.smartreplace.state("active",this.active)};SmartReplace.prototype.onGenerate=function(){this.active=this.editor.config.SmartReplace.defaultActive;this.editor._toolbarObjects.smartreplace.state("active",this.active);var a=this;Xinha._addEvent(a.editor._doc,"keypress",function(c){return a.keyEvent(Xinha.is_ie?a.editor._iframe.contentWindow.event:c)});var b=this.editor.config.SmartReplace.quotes;if(b&&typeof b=="object"){this.openingQuotes=b[0];this.closingQuotes=b[1];this.openingQuote=b[2];this.closingQuote=b[3]}else{this.openingQuotes=this._lc("OpeningDoubleQuotes");this.closingQuote=this._lc("ClosingSingleQuote");this.closingQuotes=this._lc("ClosingDoubleQuotes");this.openingQuote=this._lc("OpeningSingleQuote")}if(this.openingQuotes=="OpeningDoubleQuotes"){this.openingQuotes=String.fromCharCode(8220);this.closingQuotes=String.fromCharCode(8221);this.openingQuote=String.fromCharCode(8216);this.closingQuote=String.fromCharCode(8217)}};SmartReplace.prototype.keyEvent=function(d){if(!this.active){return true}var b=this.editor;var a=Xinha.is_ie?d.keyCode:d.which;var c=String.fromCharCode(a);if(c=='"'||c=="'"){Xinha._stopEvent(d);return this.smartQuotes(c)}if(a==32){return this.smartReplace(d,2,/^\s-/," "+String.fromCharCode(8211),false)}if(c=="."){return this.smartReplace(d,2,/\.\./,String.fromCharCode(8230),true)}return true};SmartReplace.prototype.smartQuotes=function(c){if(c=="'"){var f=this.openingQuote;var b=this.closingQuote}else{var f=this.openingQuotes;var b=this.closingQuotes}var a=this.editor;var e=a.getSelection();if(Xinha.is_ie){var d=a.createRange(e);if(d.text!==""){d.text=""}d.moveStart("character",-1);if(d.text.match(/\S/)){d.moveStart("character",+1);d.text=b}else{d.moveStart("character",+1);d.text=f}}else{var d=a.createRange(e);if(!d.collapsed){a.insertNodeAtSelection(document.createTextNode(""))}if(d.startOffset>0){d.setStart(d.startContainer,d.startOffset-1)}if(d.toString().match(/[^\s\xA0]/)){d.collapse(false);a.insertNodeAtSelection(document.createTextNode(b))}else{a.insertNodeAtSelection(document.createTextNode(d.toString()[0]+f))}a.getSelection().collapseToEnd()}return false};SmartReplace.prototype.smartReplace=function(g,a,e,c,d){var b=this.editor;var h=this.editor.getSelection();var f=this.editor.createRange(h);if(Xinha.is_ie){f.moveStart("character",-a);if(f.text.match(e)){f.text=c;if(d){Xinha._stopEvent(g);return false}}}else{if(f.startOffset>1){f.setStart(f.startContainer,f.startOffset-a)}if(f.toString().match(e)){this.editor.insertNodeAtSelection(document.createTextNode(c));f.deleteContents();f.collapse(true);if(d){Xinha._stopEvent(g);return false}}b.getSelection().collapseToEnd()}return true};SmartReplace.prototype.replaceAll=function(){var g=[""",String.fromCharCode(8220),String.fromCharCode(8221),String.fromCharCode(8222),String.fromCharCode(187),String.fromCharCode(171)];var e=["'",String.fromCharCode(8216),String.fromCharCode(8217),String.fromCharCode(8218),String.fromCharCode(8250),String.fromCharCode(8249)];var d=this.editor.getHTML();var h=new RegExp("(\\s|^|>)("+g.join("|")+")(\\S)","g");d=d.replace(h,"$1"+this.openingQuotes+"$3");var c=new RegExp("(\\s|^|>)("+e.join("|")+")(\\S)","g");d=d.replace(c,"$1"+this.openingQuote+"$3");var b=new RegExp("(\\S)("+g.join("|")+")","g");d=d.replace(b,"$1"+this.closingQuotes);var f=new RegExp("(\\S)("+e.join("|")+")","g");d=d.replace(f,"$1"+this.closingQuote);var a=new RegExp("( | )(-)( | )","g");d=d.replace(a," "+String.fromCharCode(8211)+" ");this.editor.setHTML(d)};SmartReplace.prototype.buttonPress=function(c,d){var a=this;if(this.dialog.rootElem.style.display!="none"){return this.dialog.hide()}var e=function(){var f=a.dialog.hide();a.toggleActivity((f.enable)?true:false);if(f.convert){a.replaceAll();a.dialog.getElementById("convert").checked=false}};var b={enable:a.active?"on":"",convert:""};this.show(b,e)};SmartReplace.prototype.onGenerateOnce=function(){this._prepareDialog()};SmartReplace.prototype._prepareDialog=function(){var b=this;var a=this.editor;if(!this.html){Xinha._getback(Xinha.getPluginDir("SmartReplace")+"/dialog.html",function(c){b.html=c;b._prepareDialog()});return}this.dialog=new Xinha.Dialog(a,this.html,"SmartReplace",{},{modal:false});this.dialog.attachToPanel("top");this.dialog.getElementById("enable").onchange=function(){b.toggleActivity(this.checked)};this.dialog.getElementById("convert").onchange=function(){b.dialog.getElementById("ok").style.display=(this.checked)?"":"none"};this.dialog.getElementById("ok").onclick=function(){b.replaceAll();b.dialog.getElementById("convert").checked=false;this.style.display="none"};this.ready=true};SmartReplace.prototype.show=function(b){if(!this.ready){var a=this;window.setTimeout(function(){a.show(b,ok,cancel)},100);return}var a=this;this.dialog.show(b);this.dialog.onresize()}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/dialog.html b/ccm-core/web/assets/xinha/plugins/SmartReplace/dialog.html index afb562590..146e0f373 100755 --- a/ccm-core/web/assets/xinha/plugins/SmartReplace/dialog.html +++ b/ccm-core/web/assets/xinha/plugins/SmartReplace/dialog.html @@ -2,16 +2,15 @@
    Target: -
    -
    -
    -
    - +
    +
    +
    +
    +
    @@ -61,16 +57,14 @@
    -
    - +
    + - + @@ -84,11 +78,9 @@
    - +
    @@ -102,8 +94,10 @@
    - +
    + + diff --git a/ccm-core/web/assets/xinha/plugins/Linker/link-picker.js b/ccm-core/web/assets/xinha/plugins/Linker/link-picker.js new file mode 100644 index 000000000..4f079e34b --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/Linker/link-picker.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function LinkPicker(d,c){this.field=d;var b=this;this.tmpAnchor=document.createElement("a");c.dialog=LinkPicker.Dialog;c.canSetTarget=false;c.canRemoveLink=false;this.selectionEmpty=function(){return true};this.getSelection=function(){return null};this.selectNodeContents=function(){return true};this.getHTML=function(){return""};this.disableToolbar=function(){return true};this.enableToolbar=function(){return true};this._doc={execCommand:function(){return false},getElementsByTagName:function(){return[]}};this.config={Linker:c,btnList:{},registerButton:function(){return true},addToolbarElement:function(){}};var a=document.createElement("input");a.type="button";a.value="Browse";a.onclick=function(){b.editLink();return false};d.parentNode.insertBefore(a,d.nextSibling);this.updateToolbar=function(){b.field.value=this.fixRelativeLinks(b.tmpAnchor.href)};this.linker=new Linker(this);this.linker.onGenerateOnce()}LinkPicker.prototype.editLink=function(){this.tmpAnchor.href=this.field.value;this.linker._createLink(this.tmpAnchor)};LinkPicker.prototype.fixRelativeLinks=function(a){return a.replace(document.location.href.replace(/^(https?:\/\/[^\/]*)(.*)$/i,"$1"),"")};LinkPicker.Dialog=function(d,c,e,b,a){LinkPicker.Dialog.parentConstructor.call(this,c,e,b,a)};Xinha.extend(LinkPicker.Dialog,Xinha.DetachedDialog);LinkPicker.Config=function(){};LinkPicker.Config.prototype=Xinha.Config.prototype.Linker; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Linker/linker.js b/ccm-core/web/assets/xinha/plugins/Linker/linker.js deleted file mode 100644 index fc85a68fb..000000000 --- a/ccm-core/web/assets/xinha/plugins/Linker/linker.js +++ /dev/null @@ -1,388 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Linker/linker.js */ -Linker._pluginInfo={name:"Linker",version:"1.0",developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"}; -Xinha.loadStyle("dTree/dtree.css","Linker"); -Xinha.Config.prototype.Linker={"treeCaption":document.location.host,"backend":Xinha.getPluginDir("Linker")+"/scan.php","backend_data":null,"files":null}; -function Linker(_1,_2){ -this.editor=_1; -this.lConfig=_1.config.Linker; -var _3=this; -if(_1.config.btnList.createlink){ -_1.config.btnList.createlink[3]=function(e,_5,_6){ -_3._createLink(_3._getSelectedAnchor()); -}; -}else{ -_1.config.registerButton("createlink","Insert/Modify Hyperlink",[_editor_url+"images/ed_buttons_main.gif",6,1],false,function(e,_8,_9){ -_3._createLink(_3._getSelectedAnchor()); -}); -} -_1.config.addToolbarElement("createlink","createlink",0); -} -Linker.prototype._lc=function(_a){ -return Xinha._lc(_a,"Linker"); -}; -Linker.prototype._createLink=function(a){ -if(!a&&this.editor.selectionEmpty(this.editor.getSelection())){ -alert(this._lc("You must select some text before making a new link.")); -return false; -} -var _c={type:"url",href:"http://www.example.com/",target:"",p_width:"",p_height:"",p_options:["menubar=no","toolbar=yes","location=no","status=no","scrollbars=yes","resizeable=yes"],to:"alice@example.com",subject:"",body:"",anchor:""}; -if(a&&a.tagName.toLowerCase()=="a"){ -var _d=this.editor.fixRelativeLinks(a.getAttribute("href")); -var m=_d.match(/^mailto:(.*@[^?&]*)(\?(.*))?$/); -var _f=_d.match(/^#(.*)$/); -if(m){ -_c.type="mailto"; -_c.to=m[1]; -if(m[3]){ -var _10=m[3].split("&"); -for(var x=0;x<_10.length;x++){ -var j=_10[x].match(/(subject|body)=(.*)/); -if(j){ -_c[j[1]]=decodeURIComponent(j[2]); -} -} -} -}else{ -if(_f){ -_c.type="anchor"; -_c.anchor=_f[1]; -}else{ -if(a.getAttribute("onclick")){ -var m=a.getAttribute("onclick").match(/window\.open\(\s*this\.href\s*,\s*'([a-z0-9_]*)'\s*,\s*'([a-z0-9_=,]*)'\s*\)/i); -_c.href=_d?_d:""; -_c.target="popup"; -_c.p_name=m[1]; -_c.p_options=[]; -var _10=m[2].split(","); -for(var x=0;x<_10.length;x++){ -var i=_10[x].match(/(width|height)=([0-9]+)/); -if(i){ -_c["p_"+i[1]]=parseInt(i[2]); -}else{ -_c.p_options.push(_10[x]); -} -} -}else{ -_c.href=_d; -_c.target=a.target; -} -} -} -} -var _14=this; -this.a=a; -var _15=function(){ -var a=_14.a; -var _17=_14._dialog.hide(); -var atr={href:"",target:"",title:"",onclick:""}; -if(_17.type=="url"){ -if(_17.href){ -atr.href=_17.href; -atr.target=_17.target; -if(_17.target=="popup"){ -if(_17.p_width){ -_17.p_options.push("width="+_17.p_width); -} -if(_17.p_height){ -_17.p_options.push("height="+_17.p_height); -} -atr.onclick="if(window.top && window.top.Xinha){return false}window.open(this.href, '"+(_17.p_name.replace(/[^a-z0-9_]/i,"_"))+"', '"+_17.p_options.join(",")+"');return false;"; -} -} -}else{ -if(_17.type=="anchor"){ -if(_17.anchor){ -atr.href=_17.anchor.value; -} -}else{ -if(_17.to){ -atr.href="mailto:"+_17.to; -if(_17.subject){ -atr.href+="?subject="+encodeURIComponent(_17.subject); -} -if(_17.body){ -atr.href+=(_17.subject?"&":"?")+"body="+encodeURIComponent(_17.body); -} -} -} -} -if(a&&a.tagName.toLowerCase()=="a"){ -if(!atr.href){ -if(confirm(_14._dialog._lc("Are you sure you wish to remove this link?"))){ -var p=a.parentNode; -while(a.hasChildNodes()){ -p.insertBefore(a.removeChild(a.childNodes[0]),a); -} -p.removeChild(a); -_14.editor.updateToolbar(); -return; -} -}else{ -for(var i in atr){ -a.setAttribute(i,atr[i]); -} -if(Xinha.is_ie){ -if(/mailto:([^?<>]*)(\?[^<]*)?$/i.test(a.innerHTML)){ -a.innerHTML=RegExp.$1; -} -} -} -}else{ -if(!atr.href){ -return true; -} -var tmp=Xinha.uniq("http://www.example.com/Link"); -_14.editor._doc.execCommand("createlink",false,tmp); -var _1c=_14.editor._doc.getElementsByTagName("a"); -for(var i=0;i<_1c.length;i++){ -var _1d=_1c[i]; -if(_1d.href==tmp){ -if(!a){ -a=_1d; -} -for(var j in atr){ -_1d.setAttribute(j,atr[j]); -} -} -} -} -_14.editor.selectNodeContents(a); -_14.editor.updateToolbar(); -}; -this._dialog.show(_c,_15); -}; -Linker.prototype._getSelectedAnchor=function(){ -var sel=this.editor.getSelection(); -var rng=this.editor.createRange(sel); -var a=this.editor.activeElement(sel); -if(a!=null&&a.tagName.toLowerCase()=="a"){ -return a; -}else{ -a=this.editor._getFirstAncestor(sel,"a"); -if(a!=null){ -return a; -} -} -return null; -}; -Linker.prototype.onGenerateOnce=function(){ -this._dialog=new Linker.Dialog(this); -}; -Linker.Dialog_dTrees=[]; -Linker.Dialog=function(_22){ -var _23=this; -this.Dialog_nxtid=0; -this.linker=_22; -this.id={}; -this.ready=false; -this.files=false; -this.html=false; -this.dialog=false; -this._prepareDialog(); -}; -Linker.Dialog.prototype._prepareDialog=function(){ -var _24=this; -var _25=this.linker; -if(typeof dTree=="undefined"){ -Xinha._loadback(Xinha.getPluginDir("Linker")+"/dTree/dtree.js",function(){ -_24._prepareDialog(); -}); -return; -} -if(this.files===false){ -if(_25.lConfig.backend){ -Xinha._postback(_25.lConfig.backend,_25.lConfig.backend_data,function(txt){ -try{ -_24.files=eval(txt); -} -catch(Error){ -_24.files=[{url:"",title:Error.toString()}]; -} -_24._prepareDialog(); -}); -}else{ -if(_25.lConfig.files!=null){ -_24.files=_25.lConfig.files; -_24._prepareDialog(); -} -} -return; -} -var _27=this.files; -if(this.html==false){ -Xinha._getback(Xinha.getPluginDir("Linker")+"/dialog.html",function(txt){ -_24.html=txt; -_24._prepareDialog(); -}); -return; -} -var _29=this.html; -var _2a=this.dialog=new Xinha.Dialog(_25.editor,this.html,"Linker"); -var _2b=Xinha.uniq("dTree_"); -this.dTree=new dTree(_2b,Xinha.getPluginDir("Linker")+"/dTree/"); -eval(_2b+" = this.dTree"); -this.dTree.add(this.Dialog_nxtid++,-1,_25.lConfig.treeCaption,null,_25.lConfig.treeCaption); -this.makeNodes(_27,0); -var _2c=this.dialog.getElementById("dTree"); -_2c.innerHTML=""; -_2c.style.position="absolute"; -_2c.style.left=1+"px"; -_2c.style.top=0+"px"; -_2c.style.overflow="auto"; -_2c.style.backgroundColor="white"; -this.ddTree=_2c; -this.dTree._linker_premade=this.dTree.toString(); -var _2d=this.dialog.getElementById("options"); -_2d.style.position="absolute"; -_2d.style.top=0+"px"; -_2d.style.right=0+"px"; -_2d.style.width=320+"px"; -_2d.style.overflow="auto"; -this.dialog.onresize=function(){ -var h=parseInt(_2a.height)-_2a.getElementById("h1").offsetHeight; -var w=parseInt(_2a.width)-322; -if(w<0){ -w=0; -} -if(h<0){ -h=0; -} -_2d.style.height=_2c.style.height=h+"px"; -_2c.style.width=w+"px"; -}; -this.ready=true; -}; -Linker.Dialog.prototype.makeNodes=function(_30,_31){ -for(var i=0;i<_30.length;i++){ -if(typeof _30[i]=="string"){ -this.dTree.add(Linker.nxtid++,_31,_30[i].replace(/^.*\//,""),"javascript:document.getElementsByName('"+this.dialog.id.href+"')[0].value=decodeURIComponent('"+encodeURIComponent(_30[i])+"');document.getElementsByName('"+this.dialog.id.type+"')[0].click();document.getElementsByName('"+this.dialog.id.href+"')[0].focus();void(0);",_30[i]); -}else{ -if(typeof _30[i]=="object"&&_30[i]&&typeof _30[i].length==="number"){ -var id=this.Dialog_nxtid++; -this.dTree.add(id,_31,_30[i][0].replace(/^.*\//,""),null,_30[i][0]); -this.makeNodes(_30[i][1],id); -}else{ -if(typeof _30[i]=="object"){ -if(_30[i].children){ -var id=this.Dialog_nxtid++; -}else{ -var id=Linker.nxtid++; -} -if(_30[i].title){ -var _34=_30[i].title; -}else{ -if(_30[i].url){ -var _34=_30[i].url.replace(/^.*\//,""); -}else{ -var _34="no title defined"; -} -} -if(_30[i].url){ -var _35="javascript:document.getElementsByName('"+this.dialog.id.href+"')[0].value=decodeURIComponent('"+encodeURIComponent(_30[i].url)+"');document.getElementsByName('"+this.dialog.id.type+"')[0].click();document.getElementsByName('"+this.dialog.id.href+"')[0].focus();void(0);"; -}else{ -var _35=""; -} -this.dTree.add(id,_31,_34,_35,_34); -if(_30[i].children){ -this.makeNodes(_30[i].children,id); -} -} -} -} -} -}; -Linker.Dialog.prototype._lc=Linker.prototype._lc; -Linker.Dialog.prototype.show=function(_36,ok,_38){ -if(!this.ready){ -var _39=this; -window.setTimeout(function(){ -_39.show(_36,ok,_38); -},100); -return; -} -if(this.ddTree.innerHTML==""){ -this.ddTree.innerHTML=this.dTree._linker_premade; -} -if(_36.type=="url"){ -this.dialog.getElementById("urltable").style.display=""; -this.dialog.getElementById("mailtable").style.display="none"; -this.dialog.getElementById("anchortable").style.display="none"; -}else{ -if(_36.type=="anchor"){ -this.dialog.getElementById("urltable").style.display="none"; -this.dialog.getElementById("mailtable").style.display="none"; -this.dialog.getElementById("anchortable").style.display=""; -}else{ -this.dialog.getElementById("urltable").style.display="none"; -this.dialog.getElementById("mailtable").style.display=""; -this.dialog.getElementById("anchortable").style.display="none"; -} -} -if(_36.target=="popup"){ -this.dialog.getElementById("popuptable").style.display=""; -}else{ -this.dialog.getElementById("popuptable").style.display="none"; -} -var _3a=this.dialog.getElementById("anchor"); -for(var i=_3a.length;i>=0;i--){ -_3a[i]=null; -} -var _3c=this.linker.editor.getHTML(); -var _3d=new Array(); -var m=_3c.match(/]+name="([^"]+)"/gi); -if(m){ -for(i=0;i]*)(\?[^<]*)?$/i.test(v.innerHTML)){v.innerHTML=RegExp.$1}}}}else{if(!w.href){return true}var s=Xinha.uniq("http://www.example.com/Link");d.editor._doc.execCommand("createlink",false,s);var u=d.editor._doc.getElementsByTagName("a");for(var t=0;t=0;k--){g[k]=null}var l=this.linker.editor.getHTML();var o=new Array();var f=l.match(/]+name="([^"]+)"/gi);if(f){for(k=0;k0){this.dialog.getElementById(p[0]).checked=true}this.dialog.onresize()};Linker.Dialog.prototype.hide=function(){this.linker.editor.enableToolbar();return this.dialog.hide()};Linker.Dialog.prototype.removeLink=function(a){this.dialog.getElementById("href").value="";this.dialog.getElementById("to").value="";return a()};Linker.Dialog.prototype.showOptionsForType=function(b){var c=this.dialog.getElementById("urltable");var d=this.dialog.getElementById("mailtable");var a=this.dialog.getElementById("anchortable");if(b=="anchor"){a.style.display="";c.style.display="none";d.style.display="none"}else{if(b=="mailto"){d.style.display="";c.style.display="none";a.style.display="none"}else{c.style.display="";d.style.display="none";a.style.display="none"}}};Linker.Dialog.prototype.showOptionsForTarget=function(b){var a=this.dialog.getElementById("popuptable");a.style.display=b=="popup"?"":"none"}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Linker/scan.php b/ccm-core/web/assets/xinha/plugins/Linker/scan.php index 0a7a7d8e0..891b00829 100755 --- a/ccm-core/web/assets/xinha/plugins/Linker/scan.php +++ b/ccm-core/web/assets/xinha/plugins/Linker/scan.php @@ -71,7 +71,7 @@ while($dh && ($file = readdir($dh))) { - if($file !== '.' && $file !== '..') + if($file[0] !== '.') { $path = realpath($dir . '/' . $file); $url = $durl . '/' . $file; diff --git a/ccm-core/web/assets/xinha/plugins/ListType/ListType.js b/ccm-core/web/assets/xinha/plugins/ListType/ListType.js new file mode 100644 index 000000000..f9b9930cc --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/ListType/ListType.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.loadStyle("ListType.css","ListType");function ListType(c){this.editor=c;var g=c.config;var k=this;if(g.ListType.mode=="toolbar"){var j={};j[Xinha._lc("Decimal numbers","ListType")]="decimal";j[Xinha._lc("Lower roman numbers","ListType")]="lower-roman";j[Xinha._lc("Upper roman numbers","ListType")]="upper-roman";j[Xinha._lc("Lower latin letters","ListType")]="lower-alpha";j[Xinha._lc("Upper latin letters","ListType")]="upper-alpha";if(!Xinha.is_ie){j[Xinha._lc("Lower greek letters","ListType")]="lower-greek"}var e={id:"listtype",tooltip:Xinha._lc("Choose list style type (for ordered lists)","ListType"),options:j,action:function(i){k.onSelect(i,this)},refresh:function(i){k.updateValue(i,this)},context:"ol"};g.registerDropdown(e);g.addToolbarElement("listtype",["insertorderedlist","orderedlist"],1)}else{c._ListType=c.addPanel("right");Xinha.freeLater(c,"_ListType");Xinha.addClass(c._ListType,"ListType");Xinha.addClass(c._ListType.parentNode,"dialog");c.notifyOn("modechange",function(l,i){if(i.mode=="text"){c.hidePanel(c._ListType)}});var h=["disc","circle","square","none"];var f=["decimal","lower-alpha","upper-alpha","lower-roman","upper-roman","none"];var b=document.createElement("div");b.style.height="90px";var a=document.createElement("div");this.divUL=a;a.style.display="none";for(var d=0;d +{ + "Decimal numbers": "Números", + "Lower roman numbers": "Números romanos en minúsculas", + "Upper roman numbers": "Números romanos en mayúsculas", + "Lower latin letters": "Letras minúsculas", + "Upper latin letters": "Letras mayúsculas", + "Lower greek letters": "Letras griegas minúsculas", + "Choose list style type (for ordered lists)": "Seleccionar estilo de lista (para listas ordenadas)" +}; diff --git a/ccm-core/web/assets/xinha/plugins/ListType/list-type.js b/ccm-core/web/assets/xinha/plugins/ListType/list-type.js deleted file mode 100644 index 5f96f1190..000000000 --- a/ccm-core/web/assets/xinha/plugins/ListType/list-type.js +++ /dev/null @@ -1,140 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/ListType/list-type.js */ -Xinha.loadStyle("ListType.css","ListType"); -function ListType(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -if(_2.ListType.mode=="toolbar"){ -var _4={}; -_4[Xinha._lc("Decimal numbers","ListType")]="decimal"; -_4[Xinha._lc("Lower roman numbers","ListType")]="lower-roman"; -_4[Xinha._lc("Upper roman numbers","ListType")]="upper-roman"; -_4[Xinha._lc("Lower latin letters","ListType")]="lower-alpha"; -_4[Xinha._lc("Upper latin letters","ListType")]="upper-alpha"; -if(!Xinha.is_ie){ -_4[Xinha._lc("Lower greek letters","ListType")]="lower-greek"; -} -var _5={id:"listtype",tooltip:Xinha._lc("Choose list style type (for ordered lists)","ListType"),options:_4,action:function(_6){ -_3.onSelect(_6,this); -},refresh:function(_7){ -_3.updateValue(_7,this); -},context:"ol"}; -_2.registerDropdown(_5); -_2.addToolbarElement("listtype",["insertorderedlist","orderedlist"],1); -}else{ -_1._ListType=_1.addPanel("right"); -Xinha.freeLater(_1,"_ListType"); -Xinha.addClass(_1._ListType,"ListType"); -Xinha.addClass(_1._ListType.parentNode,"dialog"); -_1.notifyOn("modechange",function(e,_9){ -if(_9.mode=="text"){ -_1.hidePanel(_1._ListType); -} -}); -var _a=["disc","circle","square","none"]; -var _b=["decimal","lower-alpha","upper-alpha","lower-roman","upper-roman","none"]; -var _c=document.createElement("div"); -_c.style.height="90px"; -var _d=document.createElement("div"); -this.divUL=_d; -_d.style.display="none"; -for(var i=0;i<_a.length;i++){ -_d.appendChild(this.createImage(_a[i])); -} -_c.appendChild(_d); -var _d=document.createElement("div"); -this.divOL=_d; -_d.style.display="none"; -for(var i=0;i<_b.length;i++){ -_d.appendChild(this.createImage(_b[i])); -} -_c.appendChild(_d); -_1._ListType.appendChild(_c); -_1.hidePanel(_1._ListType); -} -} -Xinha.Config.prototype.ListType={"mode":"toolbar"}; -ListType._pluginInfo={name:"ListType",version:"2.1",developer:"Laurent Vilday",developer_url:"http://www.mokhet.com/",c_owner:"Xinha community",sponsor:"",sponsor_url:"",license:"Creative Commons Attribution-ShareAlike License"}; -ListType.prototype.onSelect=function(_f,_10){ -var _11=_f._toolbarObjects[_10.id].element; -var _12=_f.getParentElement(); -while(!/^ol$/i.test(_12.tagName)){ -_12=_12.parentNode; -} -_12.style.listStyleType=_11.value; -}; -ListType.prototype.updateValue=function(_13,_14){ -var _15=_13._toolbarObjects[_14.id].element; -var _16=_13.getParentElement(); -while(_16&&!/^ol$/i.test(_16.tagName)){ -_16=_16.parentNode; -} -if(!_16){ -_15.selectedIndex=0; -return; -} -var _17=_16.style.listStyleType; -if(!_17){ -_15.selectedIndex=0; -}else{ -for(var i=_15.firstChild;i;i=i.nextSibling){ -i.selected=(_17.indexOf(i.value)!=-1); -} -} -}; -ListType.prototype.onUpdateToolbar=function(){ -if(this.editor.config.ListType.mode=="toolbar"){ -return; -} -var _19=this.editor.getParentElement(); -while(_19&&!/^[o|u]l$/i.test(_19.tagName)){ -_19=_19.parentNode; -} -if(_19&&/^[o|u]l$/i.test(_19.tagName)){ -this.showPanel(_19); -}else{ -if(this.editor._ListType.style.display!="none"){ -this.editor.hidePanel(this.editor._ListType); -} -} -}; -ListType.prototype.createImage=function(_1a){ -var _1b=this; -var _1c=this.editor; -var a=document.createElement("a"); -a.href="javascript:void(0)"; -Xinha._addClass(a,_1a); -Xinha._addEvent(a,"click",function(){ -var _1e=_1c._ListType.currentListTypeParent; -_1e.style.listStyleType=_1a; -_1b.showActive(_1e); -return false; -}); -return a; -}; -ListType.prototype.showActive=function(_1f){ -var _20=(_1f.tagName.toLowerCase()=="ul")?this.divUL:this.divOL; -this.divUL.style.display="none"; -this.divOL.style.display="none"; -_20.style.display="block"; -var _21=_1f.style.listStyleType; -if(""==_21){ -_21=(_1f.tagName.toLowerCase()=="ul")?"disc":"decimal"; -} -for(var i=0;i<_20.childNodes.length;i++){ -var elt=_20.childNodes[i]; -if(Xinha._hasClass(elt,_21)){ -Xinha._addClass(elt,"active"); -}else{ -Xinha._removeClass(elt,"active"); -} -} -}; -ListType.prototype.showPanel=function(_24){ -this.editor._ListType.currentListTypeParent=_24; -this.showActive(_24); -this.editor.showPanel(this.editor._ListType); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/img/note.gif b/ccm-core/web/assets/xinha/plugins/NoteServer/img/note.gif deleted file mode 100755 index e3c117a7c54274bcd132a23576f6d7a663f74edb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 87 zcmZ?wbhEHb6k-r!n7M-C|Ns9C3=9hvEI4rBfZ|UUMlJ>h1|0?l1_qEk1CvHezX0dq r9YHg;MEy#*SGf6I<|WrKMG2{lUGw5O?ZvFs4`p1M%oFd$$Y2cs -// (c) systemconcept.de 2004 -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - "Insert GUIDO Music Notation": "Einfügung einer GUIDO Musik-Tonfolge", - "Guido code": "Guido code", - "Options": "Einstellungen", - "Format": "Format", - "Image in applet": "Bild im Applet", - "Zoom": "Zoom", - "MIDI File": "MIDI Datei", - "Image Preview": "Bild Voransicht", - "Source Code": "Quell-Code", - "Preview": "Voransicht", - "Add MIDI link to allow students to hear the music": "MIDI-Link hinzufügen um Studenten das hören der Musik zu ermöglichen", - "Add GUIDO Code in a textbox on the page": "GUIDO Code in einer Textbox auf der Seite anzeigen" -}; diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/fr.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/fr.js deleted file mode 100644 index f0510d3a5..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/fr.js +++ /dev/null @@ -1,16 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Insert GUIDO Music Notation": "Insérer une partition musicale GUIDO", - "Guido code": "Code Guido", - "Options": "Options", - "Format": "Format", - "Image in applet": "Image dans une applet", - "Zoom": "Zoom", - "MIDI File": "Fichier MIDI", - "Image Preview": "Aperçu de l'image", - "Source Code": "Code source", - "Preview": "Aperçu ", - "Add MIDI link to allow students to hear the music": "Ajouter un lien MIDI pour permettre aux étudiants d'écouter la partition", - "Add GUIDO Code in a textbox on the page": "Ajouter le code source GUIDO dans un cadre" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/ja.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/ja.js deleted file mode 100644 index a1d5041bd..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/ja.js +++ /dev/null @@ -1,18 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -// This string is for auto detection of multi-encoding editor : 国際化文字検出用文字列 -{ - "Insert GUIDO Music Notation": "GUIDO Music Notationの挿入", - "Guido code": "GUIDOコード", - "Options": "オプション", - "Format": "フォーマット", - "Image in applet": "アプレット画像", - "Zoom": "拡大率:", - "MIDI File": "MIDIファイル", - "Image Preview": "画像プレビュー", - "Source Code": "ソースコード", - "Preview": "表示", - "Add MIDI link to allow students to hear the music": "MIDIへのリンクを追加し、楽曲を聴かせてもよい", - "Add GUIDO Code in a textbox on the page": "ページ内のテキストボックスにGUIDOコードを追加", - "With Mozilla, the applet will not be visible in editor, but only in Web page after submitting.": "Mozillaではエディタ内にアプレットは表示されませんが、送信後のWebページ内では有効です。" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nb.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nb.js deleted file mode 100644 index 90b58b03e..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nb.js +++ /dev/null @@ -1,17 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Insert GUIDO Music Notation": "Sett inn GUIDO-noter", - "Guido code": "GUIDO-kode", - "Options": "Muligheter", - "Format": "Format", - "Image in applet": "Bilde i applet", - "Zoom": "Forstørr", - "MIDI File": "MIDIfil", - "Image Preview": "Bilde forhåndsvisning", - "Source Code": "Kildekode", - "Preview": "Preview", - "Add MIDI link to allow students to hear the music": "Legg til MIDI-link for at studenter kan høre musikken", - "Add GUIDO Code in a textbox on the page": "Sett inn GUIDO-kode i et tekstfelt på siden" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nl.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nl.js deleted file mode 100644 index ad456ae79..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/nl.js +++ /dev/null @@ -1,17 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Insert GUIDO Music Notation": "GUIDO muziek notatie invoegen", - "Guido code": "GUIDO-code", - "Options": "Opties", - "Format": "Indeling", - "Image in applet": "Afbeelding in applet", - "Zoom": "Vergroot/verklein", - "MIDI File": "MIDI bestand", - "Image Preview": "Afbeeldingsvoorbeeld", - "Source Code": "Broncode", - "Preview": "Voorbeeld", - "Add MIDI link to allow students to hear the music": "MIDI link invoegen om de muziek te beluisteren", - "Add GUIDO Code in a textbox on the page": "GUIDO code in een tekstgebied op de pagina invoegen" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/NoteServer/lang/pt_br.js deleted file mode 100644 index 2fed8511a..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/lang/pt_br.js +++ /dev/null @@ -1,37 +0,0 @@ -// I18N constants -// -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation -// -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br -// -// Last revision: 06 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt) -{ - "Add GUIDO Code in a textbox on the page": "Adicionar código GUIDO em uma caixa de texto na página", - "Add MIDI link to allow students to hear the music": "Adicionar um link MIDI para permitir que os estudantes escutem a música", - "Cancel": "Cancelar", - "Format": "Formato", - "GUIDO Code": "Código GUIDO", - "Guido code": "Código Guido", - "Image Preview": "Visualização da Imagem", - "Image in applet": "Imagem em Applet", - "Insert GUIDO Music Notation": "Inserir Notação GUIDO de Música", - "MIDI File": "Arquivo MIDI", - "OK": "OK", - "Options": "Opções", - "Preview": "Visualização", - "Preview the image in a new window": "Visualizar imagem em uma nova janela", - "Source Code": "Codigo Fonte", - "With Mozilla, the applet will not be visible in editor, but only in Web page after submitting.": "Com Mozilla, o applet não estará visível no editor, somente na Página Web depois do envio.", - "Zoom": "Ampliação", - "Zoom :": "Ampliação :" -} - - diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/note-server.js b/ccm-core/web/assets/xinha/plugins/NoteServer/note-server.js deleted file mode 100644 index 0b0f43190..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/note-server.js +++ /dev/null @@ -1,93 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/NoteServer/note-server.js */ -function NoteServer(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"insertscore",tooltip:this._lc("Insert GUIDO Music Notation"),image:_1.imgURL("note.gif","NoteServer"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("insertscore","insertimage",1); -} -NoteServer._pluginInfo={name:"NoteServer",version:"1.1",developer:"Richard Christophe",developer_url:"http://piano-go.chez.tiscali.fr/guido.html",c_owner:"Richard Christophe",sponsor:"",sponsor_url:"",license:"htmlArea"}; -NoteServer.prototype._lc=function(_5){ -return Xinha._lc(_5,"NoteServer"); -}; -NoteServer.prototype.buttonPress=function(_6){ -_6._popupDialog("plugin://NoteServer/codenote",function(_7){ -if(!_7){ -return false; -}else{ -IncludeGuido(_6,_7); -} -},null); -}; -var noteserveraddress="clef.cs.ubc.ca"; -var htmlbase="/salieri/nview"; -var versionstring=""; -function GetGIFURL(_8,_9,_a){ -_8=escape(_8); -_8=_8.replace(/\//g,"%2F"); -if(!_9){ -_9="1.0"; -} -if(!_a){ -_a="1"; -} -var _b="http://"+noteserveraddress+"/scripts/salieri"+versionstring+"/gifserv.pl?"+"pagewidth=21"+"&pageheight=29.7"+"&zoomfactor="+_9+"&pagesizeadjust=yes"+"&outputformat=gif87"+"&pagenum="+_a+"&gmndata="+_8; -return _b; -} -function GetMIDIURL(_c){ -_c=escape(_c); -_c=_c.replace(/\//g,"%2F"); -var _d="http://"+noteserveraddress+"/scripts/salieri"+versionstring+"/midserv.pl?"+"gmndata="+_c; -return _d; -} -function GetAPPLETURL(_e,_f){ -_e=escape(_e); -_e=_e.replace(/\//g,"%2F"); -var _10=""+""+""+""+""+""+""+""; -return _10; -} -function IncludeGuido(_11,_12){ -if(!_12["f_zoom"]){ -zoom=""; -} -var _13=GetGIFURL(_12["f_code"],_12["f_zoom"],""); -var _14=GetMIDIURL(_12["f_code"]); -var _15="
    "; -if(_12["f_applet"]==false){ -if(((navigator.userAgent.toLowerCase().indexOf("msie")!=-1)&&(navigator.userAgent.toLowerCase().indexOf("opera")==-1))){ -_11.focusEditor(); -_11.insertHTML(""); -}else{ -img=new Image(); -img.src=_13; -var doc=_11._doc; -var sel=_11._getSelection(); -var _18=_11._createRange(sel); -_11._doc.execCommand("insertimage",false,img.src); -} -}else{ -var _19=GetAPPLETURL(_12["f_code"],_12["f_zoom"]); -_15=_15+_19+"
    "; -} -if(_12["f_affcode"]){ -_15=_15+Xinha._lc("GUIDO Code","NoteServer")+" : "+_12["f_code"]+"
    "; -} -if(_12["f_midi"]){ -_15=_15+""+Xinha._lc("MIDI File","NoteServer")+"
    "; -} -_11.focusEditor(); -_11.insertHTML(_15); -} -function IncludeGuidoStringAsApplet(_1a,_1b,_1c){ -_1b=escape(_1b); -_1b=_1b.replace(/\//g,"%2F"); -var _1d=""+""+""+""+""+""+""+""; -alert(_1d); -_1a.focusEditor(); -_1a.insertHTML(_1d); -} - diff --git a/ccm-core/web/assets/xinha/plugins/NoteServer/popups/codenote.html b/ccm-core/web/assets/xinha/plugins/NoteServer/popups/codenote.html deleted file mode 100755 index 3f1ba5f3f..000000000 --- a/ccm-core/web/assets/xinha/plugins/NoteServer/popups/codenote.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - -Insert GUIDO Music Notation - - - - - - - - -
    Insert GUIDO Music Notation
    - -Guido code : -

    - -
    -
    -Options - Add MIDI link to allow students to hear the music -
    - Add GUIDO Code in a textbox on the page -
    -
    - -
    -Format - Image in applet -
    - Zoom : - -
    -
    - -
    - -
    - - - - - - - - -
    - Image Preview:
    - -
    -
    -
    - -
    -

    Sample Guido Codes:

    -

    Code Sample 1 or type [ do re mi fa sol la si ] | Code Sample 2

    -

    Resources:

    -

    The Guido Specification (PDF) | (HTML)

    -

    GUIDO Music Notation Format Site | Guido Note Server | SourceForge Homepage

    -
    - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/PasteText/PasteText.js b/ccm-core/web/assets/xinha/plugins/PasteText/PasteText.js new file mode 100644 index 000000000..47bbb57db --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/PasteText/PasteText.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function PasteText(c){this.editor=c;var a=c.config;var b=this;a.registerButton({id:"pastetext",tooltip:this._lc("Paste as Plain Text"),image:c.imgURL("ed_paste_text.gif","PasteText"),textMode:false,action:function(){b.show()}});a.addToolbarElement("pastetext",["paste","killword"],1)}PasteText._pluginInfo={name:"PasteText",version:"1.2",developer:"Michael Harris",developer_url:"http://www.jonesadvisorygroup.com",c_owner:"Jones Advisory Group",sponsor:"Jones International University",sponsor_url:"http://www.jonesinternational.edu",license:"htmlArea"};PasteText.prototype._lc=function(a){return Xinha._lc(a,"PasteText")};Xinha.Config.prototype.PasteText={showParagraphOption:true,newParagraphDefault:true};PasteText.prototype.onGenerateOnce=function(){var a=PasteText;if(a.loading){return}a.loading=true;Xinha._getback(Xinha.getPluginDir("PasteText")+"/popups/paste_text.html",function(b){a.html=b})};PasteText.prototype._prepareDialog=function(){var b=this;var a=this.editor;var b=this;this.dialog=new Xinha.Dialog(a,PasteText.html,"PasteText",{width:350});this.dialog.getElementById("ok").onclick=function(){b.apply()};this.dialog.getElementById("cancel").onclick=function(){b.dialog.hide()};if(a.config.PasteText.showParagraphOption){this.dialog.getElementById("paragraphOption").style.display=""}if(a.config.PasteText.newParagraphDefault){this.dialog.getElementById("insertParagraphs").checked=true}this.dialog.onresize=function(){this.getElementById("inputArea").style.height=parseInt(this.height,10)-this.getElementById("h1").offsetHeight-this.getElementById("buttons").offsetHeight-parseInt(this.rootElem.style.paddingBottom,10)+"px";this.getElementById("inputArea").style.width=(this.width-2)+"px"}};PasteText.prototype.show=function(){if(!this.dialog){this._prepareDialog()}var a={inputArea:""};this.dialog.show(a);this.dialog.onresize();this.dialog.getElementById("inputArea").focus()};PasteText.prototype.apply=function(){var a=this.dialog.hide();var b=a.inputArea;var c=a.insertParagraphs;b=b.replace(//g,">");if(a.insertParagraphs){b=b.replace(/\t/g,"    ");b=b.replace(/\n/g,"

    ");b="

    "+b+"

    ";if(Xinha.is_ie){this.editor.insertHTML(b)}else{this.editor.execCommand("inserthtml",false,b)}}else{b=b.replace(/\n/g,"
    ");this.editor.insertHTML(b)}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/PasteText/lang/de.js b/ccm-core/web/assets/xinha/plugins/PasteText/lang/de.js index 1c88da3b0..e6c7fd2fe 100644 --- a/ccm-core/web/assets/xinha/plugins/PasteText/lang/de.js +++ b/ccm-core/web/assets/xinha/plugins/PasteText/lang/de.js @@ -1,5 +1,6 @@ // I18N constants // LANG: "de", ENCODING: UTF-8 { - "Paste as Plain Text": "unformatierten Text einfügen" + "Paste as Plain Text": "unformatierten Text einfügen", + "Insert text in new paragraph" : "Neue Absätze eifügen" }; diff --git a/ccm-core/web/assets/xinha/plugins/PasteText/paste-text.js b/ccm-core/web/assets/xinha/plugins/PasteText/paste-text.js deleted file mode 100644 index 30798bbdc..000000000 --- a/ccm-core/web/assets/xinha/plugins/PasteText/paste-text.js +++ /dev/null @@ -1,42 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/PasteText/paste-text.js */ -function PasteText(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"pastetext",tooltip:this._lc("Paste as Plain Text"),image:_1.imgURL("ed_paste_text.gif","PasteText"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("pastetext",["paste","killword"],1); -} -PasteText._pluginInfo={name:"PasteText",version:"1.2",developer:"Michael Harris",developer_url:"http://www.jonesadvisorygroup.com",c_owner:"Jones Advisory Group",sponsor:"Jones International University",sponsor_url:"http://www.jonesinternational.edu",license:"htmlArea"}; -PasteText.prototype._lc=function(_5){ -return Xinha._lc(_5,"PasteText"); -}; -Xinha.Config.prototype.PasteText={showParagraphOption:true,newParagraphDefault:true}; -PasteText.prototype.buttonPress=function(_6){ -var _6=this.editor; -var _7=_6.config.PasteText; -var _8=function(_9){ -var _a=_9.text; -var _b=_9.insertParagraphs; -_a=_a.replace(//g,">"); -if(_9.insertParagraphs){ -_a=_a.replace(/\t/g,"    "); -_a=_a.replace(/\n/g,"

    "); -_a="

    "+_a+"

    "; -if(Xinha.is_ie){ -_6.insertHTML(_a); -}else{ -_6.execCommand("inserthtml",false,_a); -} -}else{ -_a=_a.replace(/\n/g,"
    "); -_6.insertHTML(_a); -} -}; -Dialog(Xinha.getPluginDir("PasteText")+"/popups/paste_text.html",_8,_7); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/PasteText/popups/paste_text.html b/ccm-core/web/assets/xinha/plugins/PasteText/popups/paste_text.html index 6be649180..6ce2e7aff 100755 --- a/ccm-core/web/assets/xinha/plugins/PasteText/popups/paste_text.html +++ b/ccm-core/web/assets/xinha/plugins/PasteText/popups/paste_text.html @@ -1,52 +1,9 @@ - - - - Paste Text - - - - - - -
    Paste as Plain Text
    -
    -
    - -
    -
    - - - \ No newline at end of file + + +
    diff --git a/ccm-core/web/assets/xinha/plugins/PreserveScripts/PreserveScripts.js b/ccm-core/web/assets/xinha/plugins/PreserveScripts/PreserveScripts.js new file mode 100644 index 000000000..6faeb4ebf --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/PreserveScripts/PreserveScripts.js @@ -0,0 +1,68 @@ +/*------------------------------------------*\ +PreserveScripts for Xinha +____________________ +Replace blocks of of PHP or JavaScript with icons in the editor, this way making it possible to edit sourcecode containing PHP, +and preventing Javascript from being accidentally deleted because it's normally invisible + +\*------------------------------------------*/ + +function PreserveScripts(editor) { + this.editor = editor; +} + +PreserveScripts._pluginInfo = { + name : "PreserveScripts", + version : "1.0", + developer : "Raimund Meyer", + developer_url : "http://x-webservice.net", + c_owner : "Raimund Meyer", + sponsor : "", + sponsor_url : "", + license : "LGPL" +} +Xinha.Config.prototype.PreserveScripts = +{ + 'preservePHP' : true, + 'preserveJS' : true +} +PreserveScripts.prototype.inwardHtml = function(html) +{ + var s = this; + var c = s.editor.config.PreserveScripts; + this.storage = {}; //empty the cache + var i = 1; + html = html.replace(/\n?<\?(php)?(\s|[^\s])*?\?>\n?/ig, + function(m) + { + if ( c.preservePHP ) // if config set to false wipe out php completely, otherwise ugly fragments may remain + { + s.storage['PreserveScripts_'+i] = m; + var r = ''; + i++; + return r; + } + else + { + return ''; + } + }); + if ( c.preserveJS ) + { + html = html.replace(/\n?\n?/g, + function(m) + { + s.storage['PreserveScripts_'+i] = m; + var r = ''; + i++; + return r; + }); + } + return html; +} + +PreserveScripts.prototype.outwardHtml = function(html) +{ + var s = this; + html = html.replace(/]*id="(PreserveScripts_\d+)"[^>]*>/g,function(m0,m1){return s.storage[m1];}); + return html; +} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/PreserveScripts/preserve-scripts.js b/ccm-core/web/assets/xinha/plugins/PreserveScripts/preserve-scripts.js deleted file mode 100644 index b8ece2455..000000000 --- a/ccm-core/web/assets/xinha/plugins/PreserveScripts/preserve-scripts.js +++ /dev/null @@ -1,41 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/PreserveScripts/preserve-scripts.js */ -function PreserveScripts(_1){ -this.editor=_1; -} -PreserveScripts._pluginInfo={name:"PreserveScripts",version:"1.0",developer:"Raimund Meyer",developer_url:"http://x-webservice.net",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"LGPL"}; -Xinha.Config.prototype.PreserveScripts={"preservePHP":true,"preserveJS":true}; -PreserveScripts.prototype.inwardHtml=function(_2){ -var s=this; -var c=s.editor.config.PreserveScripts; -this.storage={}; -var i=1; -_2=_2.replace(/\n?<\?php(\s|[^\s])*?\?>\n?/ig,function(m){ -if(c.preservePHP){ -s.storage["PreserveScripts_"+i]=m; -var r=""; -i++; -return r; -}else{ -return ""; -} -}); -if(c.preserveJS){ -_2=_2.replace(/\n?\n?/g,function(m){ -s.storage["PreserveScripts_"+i]=m; -var r=""; -i++; -return r; -}); -} -return _2; -}; -PreserveScripts.prototype.outwardHtml=function(_a){ -var s=this; -_a=_a.replace(/]*id="(PreserveScripts_\d+)"[^>]*>/g,function(m0,m1){ -return s.storage[m1]; -}); -return _a; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/QuickTag/QuickTag.js b/ccm-core/web/assets/xinha/plugins/QuickTag/QuickTag.js new file mode 100644 index 000000000..73b28d917 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/QuickTag/QuickTag.js @@ -0,0 +1,53 @@ +/*---------------------------------------*\ + Quick Tag Editor Plugin for HTMLArea-3.0 + ----------------------------------------- + author: Cau guanabara + e-mail: caugb@ibest.com.br +\*---------------------------------------*/ + +function QuickTag(editor) { + var cfg = editor.config; + var self = this; + + cfg.registerButton({ + id : "quickeditor", + tooltip : this._lc("Quick Tag Editor"), + image : editor.imgURL("ed_quicktag.gif", "QuickTag"), + textMode : false, + action : function(editor) { + self.buttonPress(editor); + } + }); + cfg.addToolbarElement("quickeditor", "htmlmode", 1); +} + +QuickTag.prototype.buttonPress = function(editor) { +var self = this; +var sel = editor.getSelectedHTML().replace(/(<[^>]*>| |\n|\r)/g,""); +var param = new Object(); +param.editor = editor; + + if(/\w/.test(sel)) + editor._popupDialog("plugin://QuickTag/quicktag", function(p) { self.setTag(editor, p); }, param); + else + alert(this._lc('You have to select some text')); +}; + +QuickTag.prototype.setTag = function(editor, param) { +editor.surroundHTML(param.tagopen,param.tagclose); +}; + +QuickTag._pluginInfo = { +name : "QuickTag", +version : "1.0 - beta", +developer : "Cau Guanabara", +developer_url : "mailto:caugb@ibest.com.br", +c_owner : "Cau Guanabara", +sponsor : "Independent production", +sponsor_url : "http://www.netflash.com.br/gb/HA3-rc1/examples/quick-tag.html", +license : "htmlArea" +}; + +QuickTag.prototype._lc = function(string) { + return Xinha._lc(string, 'QuickTag'); +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/QuickTag/quick-tag.js b/ccm-core/web/assets/xinha/plugins/QuickTag/quick-tag.js deleted file mode 100644 index 01191e57c..000000000 --- a/ccm-core/web/assets/xinha/plugins/QuickTag/quick-tag.js +++ /dev/null @@ -1,32 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/QuickTag/quick-tag.js */ -function QuickTag(_1){ -var _2=_1.config; -var _3=this; -_2.registerButton({id:"quickeditor",tooltip:this._lc("Quick Tag Editor"),image:_1.imgURL("ed_quicktag.gif","QuickTag"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("quickeditor","htmlmode",1); -} -QuickTag.prototype.buttonPress=function(_5){ -var _6=this; -var _7=_5.getSelectedHTML().replace(/(<[^>]*>| |\n|\r)/g,""); -var _8=new Object(); -_8.editor=_5; -if(/\w/.test(_7)){ -_5._popupDialog("plugin://QuickTag/quicktag",function(p){ -_6.setTag(_5,p); -},_8); -}else{ -alert(this._lc("You have to select some text")); -} -}; -QuickTag.prototype.setTag=function(_a,_b){ -_a.surroundHTML(_b.tagopen,_b.tagclose); -}; -QuickTag._pluginInfo={name:"QuickTag",version:"1.0 - beta",developer:"Cau Guanabara",developer_url:"mailto:caugb@ibest.com.br",c_owner:"Cau Guanabara",sponsor:"Independent production",sponsor_url:"http://www.netflash.com.br/gb/HA3-rc1/examples/quick-tag.html",license:"htmlArea"}; -QuickTag.prototype._lc=function(_c){ -return Xinha._lc(_c,"QuickTag"); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/QuickTag/tag-lib.js b/ccm-core/web/assets/xinha/plugins/QuickTag/tag-lib.js index 8b42dd8f1..229bcada9 100644 --- a/ccm-core/web/assets/xinha/plugins/QuickTag/tag-lib.js +++ b/ccm-core/web/assets/xinha/plugins/QuickTag/tag-lib.js @@ -1,30 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/QuickTag/tag-lib.js */ -var allTags={"a":"a","a (full)":"a href=\"\" target=\"\"","address":"address","b":"b","big":"big","blockquote":"blockquote","code":"code","div":"div","em":"em","fieldset":"fieldset","font":"font","font (full)":"font face=\"\" size=\"\" color=\"\"","h1":"h1","h2":"h2","h3":"h3","h4":"h4","h5":"h5","h6":"h6","i":"i","legend":"legend","li":"li","ol":"ol","ul":"ul","p":"p","pre":"pre","small":"small","span":"span","strong":"strong","sub":"sub","sup":"sup","table":"table"}; -var tagLib={"a":true,"div":true,"font":true,"h1":true,"h2":true,"h3":true,"h4":true,"h5":true,"h6":true,"p":true,"table":true}; -var subTagLib={"table":{"op":"
    ","cl":"
    ",cl:"
    - + - - + +
    Enable automatic replacements
    Convert all quotes and dashes in the current documentConvert all quotes and dashes in the current document
    -
    - - -
    -
    \ No newline at end of file + +
    + +
    diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/img/SmartReplace.svg b/ccm-core/web/assets/xinha/plugins/SmartReplace/img/SmartReplace.svg new file mode 100644 index 000000000..09818163a --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SmartReplace/img/SmartReplace.svg @@ -0,0 +1,231 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.gif b/ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.gif deleted file mode 100755 index 5cbb0b6bbcc5e2a70115079a05d1bc2a50d1c810..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 191 zcmZ?wbhEHb6l4%$*v!vx=Kq+|z`)O-!@$7605XGtCFjFQ&(&)eHa>SLzOJmm=&s-@A#uA{AmIdu zki!(k4FXPrI!p&2FbQag98wMnm0*$SOzX0c$YHqJyZ8XB1zW6EIEUT^9fqX}wKman nm<}=P@mq4RpS+tZDAA@=@1m}0#uhBb%C5`Ut=Qi$$Y2cs`3*wz diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.png b/ccm-core/web/assets/xinha/plugins/SmartReplace/img/smartquotes.png new file mode 100644 index 0000000000000000000000000000000000000000..961ae453694dd022868b8ee6e11264633551be3b GIT binary patch literal 999 zcmV$IS2MO&*QHs~=AV1h zTzt>5hkGKwlj+sl`h59Z+^NXB&oorM z%QzmLV;{;{9`p2zBl})vZ@9d?uF6ISt&-HQXj*PZh!A3a_BAr)JHm(Vd4*$bKKF$8 zuz6~CyIQBI24X8@ri=gptz-ZY4;-^icN`IhKmb~>E{#6tJvsJ5Z-0Z$hs5G8nGz~K z(Jel|T~r|>^XqTFH0c@+elFBx%@6!Br8vL;%;Dn$C%oNF-gMz1{PHD4bIaJ2RdwOK z@aCOs`t+k$BLG}|16?OPy(8wWQWO^9s#R-K-gP)H6977ZMDS1f>!f+E&txx1 znc_N%S_Y~k#V^l_r^}A)r1>o^7&V6w3w};=3ZWU$fHV=j^ zL2t6k&3B7=jl@>c$g63>g#6m&DPywIa}fdbUcGT)%6Fi?&GJ--7|s-7&6zRUGYo6B z1OAW*)xL&wX%iMFo7mGLc5eiA|DzBM1Riug=619<*ZV}Lr5Pr{io%u-UC2RYdC)2i zpawWNYTVpzu0?;vjxJuAY1}&|2`1fwxU!0@8V9pyF#C%Jce@qId;p4?0_O~d3TCK? zSA=@no;my7_wOHd4;DMON-}b#7`VWZET-}E$F^B+$<}ndm>U3q_1k16ai9EH38G`; zO6~X7eq@M~Byu&Bi1T%p7ujsjjOUA2}kn+?30IehZ%##OM7XU1ML$BPw zM&EIH_}+!{G^dx)wEP1-^~-$!}@lpR!O3Yrm>x%zW`wF Vk85Ti4fy~7002ovPDHLkV1i6%)?NSr literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/lang/fr.js b/ccm-core/web/assets/xinha/plugins/SmartReplace/lang/fr.js new file mode 100644 index 000000000..bdc06ecf8 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/SmartReplace/lang/fr.js @@ -0,0 +1,13 @@ +// I18N constants +// LANG: "fr", ENCODING: UTF-8 +{ + "SmartReplace Settings" : "Paramètres SmartReplace", + "Enable automatic replacements" : "Activer le remplacement automatique", + "Convert all quotes and dashes in the current document": "Convertir tous les guillemets et tirets dans le document actuel", + + "OpeningDoubleQuotes": "»", + "ClosingDoubleQuotes": "«", + "OpeningSingleQuote": "", + "ClosingSingleQuote": "" + +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SmartReplace/smart-replace.js b/ccm-core/web/assets/xinha/plugins/SmartReplace/smart-replace.js deleted file mode 100644 index 10247e30b..000000000 --- a/ccm-core/web/assets/xinha/plugins/SmartReplace/smart-replace.js +++ /dev/null @@ -1,249 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SmartReplace/smart-replace.js */ -function SmartReplace(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"smartreplace",tooltip:this._lc("SmartReplace"),image:Xinha.getPluginDir("SmartReplace")+"/img/smartquotes.gif",textMode:false,action:function(e,_5,_6){ -_3.buttonPress(null,_6); -}}); -_2.addToolbarElement("smartreplace","htmlmode",1); -} -SmartReplace._pluginInfo={name:"SmartReplace",version:"1.0",developer:"Raimund Meyer",developer_url:"http://x-webservice.net",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"LGPL"}; -SmartReplace.prototype._lc=function(_7){ -return Xinha._lc(_7,"SmartReplace"); -}; -Xinha.Config.prototype.SmartReplace={"defaultActive":true,"quotes":null}; -SmartReplace.prototype.toggleActivity=function(_8){ -if(typeof _8!="undefined"){ -this.active=_8; -}else{ -this.active=this.active?false:true; -} -this.editor._toolbarObjects.smartreplace.state("active",this.active); -}; -SmartReplace.prototype.onUpdateToolbar=function(){ -this.editor._toolbarObjects.smartreplace.state("active",this.active); -}; -SmartReplace.prototype.onGenerate=function(){ -this.active=this.editor.config.SmartReplace.defaultActive; -this.editor._toolbarObjects.smartreplace.state("active",this.active); -var _9=this; -Xinha._addEvent(_9.editor._doc,"keypress",function(_a){ -return _9.keyEvent(Xinha.is_ie?_9.editor._iframe.contentWindow.event:_a); -}); -var _b=this.editor.config.SmartReplace.quotes; -if(_b&&typeof _b=="object"){ -this.openingQuotes=_b[0]; -this.closingQuotes=_b[1]; -this.openingQuote=_b[2]; -this.closingQuote=_b[3]; -}else{ -this.openingQuotes=this._lc("OpeningDoubleQuotes"); -this.closingQuote=this._lc("ClosingSingleQuote"); -this.closingQuotes=this._lc("ClosingDoubleQuotes"); -this.openingQuote=this._lc("OpeningSingleQuote"); -} -if(this.openingQuotes=="OpeningDoubleQuotes"){ -this.openingQuotes=String.fromCharCode(8220); -this.closingQuotes=String.fromCharCode(8221); -this.openingQuote=String.fromCharCode(8216); -this.closingQuote=String.fromCharCode(8217); -} -}; -SmartReplace.prototype.keyEvent=function(ev){ -if(!this.active){ -return true; -} -var _d=this.editor; -var _e=Xinha.is_ie?ev.keyCode:ev.which; -var _f=String.fromCharCode(_e); -if(_f=="\""||_f=="'"){ -Xinha._stopEvent(ev); -return this.smartQuotes(_f); -} -if(_e==32){ -return this.smartReplace(ev,2,/^\s-/," \ufffd\ufffd\ufffd",false); -} -if(_f=="."){ -return this.smartReplace(ev,2,/\.\./,"\ufffd\ufffd\ufffd",true); -} -return true; -}; -SmartReplace.prototype.smartQuotes=function(_10){ -if(_10=="'"){ -var _11=this.openingQuote; -var _12=this.closingQuote; -}else{ -var _11=this.openingQuotes; -var _12=this.closingQuotes; -} -var _13=this.editor; -var sel=_13.getSelection(); -if(Xinha.is_ie){ -var r=_13.createRange(sel); -if(r.text!==""){ -r.text=""; -} -r.moveStart("character",-1); -if(r.text.match(/\S/)){ -r.moveStart("character",+1); -r.text=_12; -}else{ -r.moveStart("character",+1); -r.text=_11; -} -}else{ -var r=_13.createRange(sel); -if(!r.collapsed){ -_13.insertNodeAtSelection(document.createTextNode("")); -} -if(r.startOffset>0){ -r.setStart(r.startContainer,r.startOffset-1); -} -if(r.toString().match(/[^\s\xA0]/)){ -r.collapse(false); -_13.insertNodeAtSelection(document.createTextNode(_12)); -}else{ -_13.insertNodeAtSelection(document.createTextNode(_11)); -} -_13.getSelection().collapseToEnd(); -} -return false; -}; -SmartReplace.prototype.smartReplace=function(ev,_17,re,_19,_1a){ -var _1b=this.editor; -var sel=this.editor.getSelection(); -var r=this.editor.createRange(sel); -if(Xinha.is_ie){ -r.moveStart("character",-_17); -if(r.text.match(re)){ -r.text=_19; -if(_1a){ -Xinha._stopEvent(ev); -return false; -} -} -}else{ -if(r.startOffset>1){ -r.setStart(r.startContainer,r.startOffset-_17); -} -if(r.toString().match(re)){ -this.editor.insertNodeAtSelection(document.createTextNode(_19)); -r.deleteContents(); -r.collapse(true); -if(_1a){ -Xinha._stopEvent(ev); -return false; -} -} -_1b.getSelection().collapseToEnd(); -} -return true; -}; -SmartReplace.prototype.replaceAll=function(){ -var _1e=[""",String.fromCharCode(8220),String.fromCharCode(8221),String.fromCharCode(8222),String.fromCharCode(187),String.fromCharCode(171)]; -var _1f=["'",String.fromCharCode(8216),String.fromCharCode(8217),String.fromCharCode(8218),String.fromCharCode(8250),String.fromCharCode(8249)]; -var _20=this.editor.getHTML(); -var _21=new RegExp("(\\s|^|>)("+_1e.join("|")+")(\\S)","g"); -_20=_20.replace(_21,"$1"+this.openingQuotes+"$3"); -var _22=new RegExp("(\\s|^|>)("+_1f.join("|")+")(\\S)","g"); -_20=_20.replace(_22,"$1"+this.openingQuote+"$3"); -var _23=new RegExp("(\\S)("+_1e.join("|")+")","g"); -_20=_20.replace(_23,"$1"+this.closingQuotes); -var _24=new RegExp("(\\S)("+_1f.join("|")+")","g"); -_20=_20.replace(_24,"$1"+this.closingQuote); -var _25=new RegExp("( | )(-)( | )","g"); -_20=_20.replace(_25," "+String.fromCharCode(8211)+" "); -this.editor.setHTML(_20); -}; -SmartReplace.prototype.dialog=function(){ -var _26=this; -var _27=function(_28){ -_26.toggleActivity(_28.enable); -if(_28.convert){ -_26.replaceAll(); -} -}; -var _29=this; -Dialog(Xinha.getPluginDir("SmartReplace")+"/popups/dialog.html",_27,_29); -}; -SmartReplace.prototype.buttonPress=function(_2a,obj){ -var _2c=this; -if(this._dialog.dialog.rootElem.style.display!="none"){ -return this._dialog.hide(); -} -var _2d=function(){ -var _2e=_2c._dialog.hide(); -_2c.toggleActivity((_2e.enable)?true:false); -if(_2e.convert){ -_2c.replaceAll(); -_2c._dialog.dialog.getElementById("convert").checked=false; -} -}; -var _2f={enable:_2c.active?"on":"",convert:""}; -this._dialog.show(_2f,_2d); -}; -SmartReplace.prototype.onGenerateOnce=function(){ -if(!this._dialog){ -this._dialog=new SmartReplace.Dialog(this); -} -}; -SmartReplace.Dialog=function(_30){ -this.Dialog_nxtid=0; -this.mainPluginObject=_30; -this.id={}; -this.ready=false; -this.files=false; -this.html=false; -this.dialog=false; -this._prepareDialog(); -}; -SmartReplace.Dialog.prototype._prepareDialog=function(){ -var _31=this; -var _32=this.mainPluginObject.editor; -if(this.html==false){ -Xinha._getback(Xinha.getPluginDir("SmartReplace")+"/dialog.html",function(_33){ -_31.html=_33; -_31._prepareDialog(); -}); -return; -} -this.dialog=new Xinha.Dialog(_32,this.html,"SmartReplace"); -this.ready=true; -}; -SmartReplace.Dialog.prototype._lc=SmartReplace.prototype._lc; -SmartReplace.Dialog.prototype.show=function(_34,ok,_36){ -if(!this.ready){ -var _37=this; -window.setTimeout(function(){ -_37.show(_34,ok,_36); -},100); -return; -} -var _38=this.dialog; -var _37=this; -if(ok){ -this.dialog.getElementById("ok").onclick=ok; -}else{ -this.dialog.getElementById("ok").onclick=function(){ -_37.hide(); -}; -} -if(_36){ -this.dialog.getElementById("cancel").onclick=_36; -}else{ -this.dialog.getElementById("cancel").onclick=function(){ -_37.hide(); -}; -} -this.mainPluginObject.editor.disableToolbar(["fullscreen","smartreplace"]); -this.dialog.show(_34); -this.dialog.onresize(); -}; -SmartReplace.Dialog.prototype.hide=function(){ -this.mainPluginObject.editor.enableToolbar(); -return this.dialog.hide(); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/README b/ccm-core/web/assets/xinha/plugins/SpellChecker/README deleted file mode 100755 index 9b5a2c86f..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/README +++ /dev/null @@ -1,8 +0,0 @@ -ExecCGI Note: -If you intend to use the perl (.cgi) backend then you will need to have the ExecCGI option enabled for this directory (if you are using Apache), you may be able to do this by adding a file called .htaccess in this directory, with the below contents. - -## EXAMPLE .htaccess -Options +ExecCGI -#################### - -It is however recommended that you use the PHP backend where possible. \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/aspell_setup.php b/ccm-core/web/assets/xinha/plugins/SpellChecker/aspell_setup.php deleted file mode 100755 index c13a5af82..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/aspell_setup.php +++ /dev/null @@ -1,123 +0,0 @@ - (int)$aVer[1], 'minor' => (int)$aVer[2], 'release' => (int)@$aVer[3]); - if($aVer['major'] >= 0 && $aVer['minor'] >= 60) - { - $aspell_args .= ' -H --encoding=utf-8'; - } - elseif(preg_match('/--encoding/', shell_exec('aspell 2>&1'))) - { - $aspell_args .= ' --mode=none --add-filter=sgml --encoding=utf-8'; - } - else - { - $aspell_args .= ' --mode=none --add-filter=sgml'; - } - - // Personal dictionaries - $p_dicts_path = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'personal_dicts'; - - if(isset($_REQUEST['p_dicts_path']) && file_exists($_REQUEST['p_dicts_path']) && is_writable($_REQUEST['p_dicts_path'])) - { - if(!isset($_REQUEST['p_dicts_name'])) - { - if(isset($_COOKIE['SpellChecker_p_dicts_name'])) - { - $_REQUEST['p_dicts_name'] = $_COOKIE['SpellChecker_p_dicts_name']; - } - else - { - $_REQUEST['p_dicts_name'] = uniqid('dict'); - setcookie('SpellChecker_p_dicts_name', $_REQUEST['p_dicts_name'], time() + 60*60*24*365*10); - } - } - $p_dict_path = $_REQUEST['p_dicts_path'] . DIRECTORY_SEPARATOR . preg_replace('/[^a-z0-9_]/i', '', $_REQUEST['p_dicts_name']); - - if(!file_exists($p_dict_path)) - { - // since there is a single directory for all users this could end up containing - // quite a few subdirectories. To prevent a DOS situation we'll limit the - // total directories created to 2000 (arbitrary). Adjust to suit your installation. - - $count = 0; - - if( $dir = @opendir( $p_dicts_path ) ) - { - - while( FALSE !== ($file = readdir($dir)) ) - { - $count++; - } - } - - // TODO: make this a config value. - - if ( $count > 2000 ) - { - - // either very heavy use or a DOS attempt - - die(); - - } - - mkdir($p_dict_path); - chmod($p_dict_path, 02770); - } - - if(file_exists($p_dict_path) && is_writable($p_dict_path)) - { - // Good To Go! - $aspell_args .= ' --home-dir=' . $p_dict_path ; - } - } - -// as an additional precaution check the aspell_args for illegal -// characters - $aspell_args = preg_replace( "/[|><;\$]+/", '', $aspell_args ); - $aspelldictionaries = "$aspell dump dicts"; - $aspellcommand = "$aspell $aspell_args < $temptext"; - - -?> diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/img/he-spell-check.gif b/ccm-core/web/assets/xinha/plugins/SpellChecker/img/he-spell-check.gif deleted file mode 100755 index 8015d2ff22cfcf746d7f50b299b833720d7999bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 100 zcmZ?wbhEHb6k-r!n90EK9}E~6ni&`v6o0ZXGB7YO=rA!bG4M0+F)%Qhw)6`xJYjqw zh*xj1#AL^3Yg^AV7heCSd-o~h#4e5^b;Y(E?w$KSGu%7Om}`D>LWO}+r(F^wgEas@ CQX*ae diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/img/spell-check.gif b/ccm-core/web/assets/xinha/plugins/SpellChecker/img/spell-check.gif deleted file mode 100755 index fce009a55253f8c48a3369062b7526410dd08876..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 337 zcmZ?wbhEHb6k-r!xXZxs|Nnmm28M0C -{ - "Please confirm that you want to open this link": "Prosím potvrďte otevření tohoto odkazu", - "Cancel": "Zrušit", - "Dictionary": "Slovník", - "Finished list of mispelled words": "Dokončen seznam chybných slov", - "I will open it in a new page.": "Bude otevřen jej v nové stránce.", - "Ignore all": "Ignorovat vše", - "Ignore": "Ignorovat", - "No mispelled words found with the selected dictionary.": "Podle zvoleného slovníku nebyla nalezena žádná chybná slova.", - "Spell check complete, didn't find any mispelled words. Closing now...": "Kontrola správnosti slov dokončena, nebyla nalezena žádná chybná slova. Ukončování ...", - "OK": "OK", - "Original word": "Původní slovo", - "Please wait. Calling spell checker.": "Prosím čekejte. Komunikuace s kontrolou správnosti slov.", - "Please wait: changing dictionary to": "Prosím čekejte: změna adresáře na", - "This will drop changes and quit spell checker. Please confirm.": "Změny budou zrušeny a kontrola správnosti slov ukončena. Prosím potvrďte.", - "Re-check": "Překontrolovat", - "Replace all": "Zaměnit všechno", - "Replace with": "Zaměnit za", - "Replace": "Zaměnit", - "Spell-check": "Kontrola správnosti slov", - "Suggestions": "Doporučení", - "One moment...": "strpení prosím ;-)" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/da.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/da.js deleted file mode 100644 index d6f1aadfb..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/da.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "da", ENCODING: UTF-8 -// Author: Steen SÞnderup, -{ - "Please confirm that you want to open this link": "Vil du fÞlge dette link?", - "Cancel": "Anuler", - "Dictionary": "Ordbog", - "Finished list of mispelled words": "Listen med stavefejl er gennemgÃ¥et", - "I will open it in a new page.": "Jeg vil Ã¥bne det i en ny side.", - "Ignore all": "Ignorer alle", - "Ignore": "Ignorer", - "No mispelled words found with the selected dictionary.": "Der blev ikke fundet nogle stavefejl med den valgte ordbog.", - "Spell check complete, didn't find any mispelled words. Closing now...": "Stavekontrollen er gennemfÞrt, der blev ikke fundet nogle stavefejl. Lukker...", - "OK": "OK", - "Original word": "Oprindeligt ord", - "Please wait. Calling spell checker.": "Vent venligst. Henter stavekontrol.", - "Please wait: changing dictionary to": "Vent venligst: skifter ordbog til", - "This will drop changes and quit spell checker. Please confirm.": "Alle dine Êndringer vil gÃ¥ tabt, vil du fortsÊtte?", - "Re-check": "Tjek igen", - "Replace all": "Erstat alle", - "Replace with": "Erstat med", - "Replace": "Erstat", - "Spell-check": "Stavekontrol", - "Suggestions": "Forslag", - "One moment...": "Vent venligst" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/de.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/de.js deleted file mode 100644 index 138dc64e6..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/de.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "en", ENCODING: UTF-8 -// Author: Broxx, -{ - "Please confirm that you want to open this link": "Wollen Sie diesen Link oeffnen", - "Cancel": "Abbrechen", - "Dictionary": "Woerterbuch", - "Finished list of mispelled words": "Liste der nicht bekannten Woerter", - "I will open it in a new page.": "Wird auf neuer Seite geoeffnet", - "Ignore all": "Alle ignorieren", - "Ignore": "Ignorieren", - "No mispelled words found with the selected dictionary.": "Keine falschen Woerter mit gewaehlten Woerterbuch gefunden", - "Spell check complete, didn't find any mispelled words. Closing now...": "Rechtsschreibpruefung wurde ohne Fehler fertiggestellt. Wird nun geschlossen...", - "OK": "OK", - "Original word": "Original Wort", - "Please wait. Calling spell checker.": "Bitte warten. Woerterbuch wird durchsucht.", - "Please wait: changing dictionary to": "Bitte warten: Woerterbuch wechseln zu", - "This will drop changes and quit spell checker. Please confirm.": "Aenderungen werden nicht uebernommen. Bitte bestaettigen.", - "Re-check": "Neuueberpruefung", - "Replace all": "Alle ersetzen", - "Replace with": "Ersetzen mit", - "Replace": "Ersetzen", - "Spell-check": "Ueberpruefung", - "Suggestions": "Vorschlag", - "One moment...": "Bitte warten..." -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/fr.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/fr.js deleted file mode 100644 index 7cece8e5b..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/fr.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Please confirm that you want to open this link": "Veuillez confirmer l'ouverture de ce lien", - "Cancel": "Annuler", - "Dictionary": "Dictionnaire", - "Finished list of mispelled words": "Liste des mots mal orthographiés", - "I will open it in a new page.": "Ouverture dans une nouvelle fenêtre", - "Ignore all": "Tout ignorer", - "Ignore": "Ignorer", - "No mispelled words found with the selected dictionary.": "Aucune erreur orthographique avec le dictionnaire sélectionné.", - "Spell check complete, didn't find any mispelled words. Closing now...": "Vérification terminée, aucune erreur orthographique détectée. Fermeture en cours...", - "OK": "OK", - "Original word": "Mot original", - "Please wait. Calling spell checker.": "Veuillez patienter. Appel du correcteur.", - "Please wait: changing dictionary to": "Veuillez patienter. Changement du dictionnaire vers", - "This will drop changes and quit spell checker. Please confirm.": "Ceci fermera la fenêtre et annulera les modifications. Veuillez confirmer.", - "Re-check": "Vérifier encore", - "Replace all": "Tout remplacer", - "Replace with": "Remplacer par", - "Replace": "Remplacer", - "Revert": "Annuler", - "Spell-check": "Correction", - "Suggestions": "Suggestions", - "One moment...": "Veuillez patienter" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/he.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/he.js deleted file mode 100644 index df0ddd938..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/he.js +++ /dev/null @@ -1,27 +0,0 @@ -// I18N constants -// LANG: "en", ENCODING: UTF-8 -// Author: Mihai Bazon, http://dynarch.com/mishoo -{ - "Please confirm that you want to open this link": "אנא אשר שברצונך לפתוח קישור זה", - "Cancel": "ביטול", - "Dictionary": "מילון", - "Finished list of mispelled words": "הסתיימה רשימת המילים המאויתות באופן שגוי", - "I will open it in a new page.": "אני אפתח את זה בחלון חדש.", - "Ignore all": "התעלם מהכל", - "Ignore": "התעלם", - "No mispelled words found with the selected dictionary.": "לא נמצאו מילים מאויתות באופן שגוי עם המילון הנבחר.", - "Spell check complete, didn't find any mispelled words. Closing now...": "בדיקת האיות נסתיימה, לא נמצאו מילים מאויתות באופן שגוי. נסגר כעת...", - "OK": "אישור", - "Original word": "המילה המקורית", - "Please wait. Calling spell checker.": "אנא המתן. קורא לבודק איות.", - "Please wait: changing dictionary to": "אנא המתן: מחליף מילון ל-", - "This will drop changes and quit spell checker. Please confirm.": "זה יבטל את השינויים ויצא מבודק האיות. אנא אשר.", - "Re-check": "בדוק מחדש", - "Replace all": "החלף הכל", - "Replace with": "החלף ב-", - "Replace": "החלף", - "Revert": "החזר שינויים", - "Spell-check": "בדיקת איות", - "Suggestions": "הצעות", - "One moment...": "ענא המטן ;-)" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/hu.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/hu.js deleted file mode 100644 index e7e26d5b4..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/hu.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "hu", ENCODING: UTF-8 -// Author: Miklós Somogyi, -{ - "Please confirm that you want to open this link": "Megerősítés", - "Cancel": "Mégsem", - "Dictionary": "Szótár", - "Finished list of mispelled words": "A tévesztett szavak listájának vége", - "I will open it in a new page.": "Megnyitás új lapon", - "Ignore all": "Minden elvetése", - "Ignore": "Elvetés", - "No mispelled words found with the selected dictionary.": "A választott szótár szerint nincs tévesztett szó.", - "Spell check complete, didn't find any mispelled words. Closing now...": "A helyesírásellenőrzés kész, tévesztett szó nem fordult elő. Bezárás...", - "OK": "Rendben", - "Original word": "Eredeti szó", - "Please wait. Calling spell checker.": "Kis türelmet, a helyesírásellenőrző hívása folyamatban.", - "Please wait: changing dictionary to": "Kis türelmet, szótár cseréje", - "This will drop changes and quit spell checker. Please confirm.": "Kilépés a változások eldobásával. Jóváhagyja?", - "Re-check": "Újraellenőrzés", - "Replace all": "Mind cseréje", - "Replace with": "Csere a következőre:", - "Replace": "Csere", - "Spell-check": "Helyesírásellenőrzés", - "Suggestions": "Tippek", - "One moment...": "Kis türelmet ;-)" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ja.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ja.js deleted file mode 100644 index 557169326..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ja.js +++ /dev/null @@ -1,28 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Please confirm that you want to open this link": "本当にこのリンクを開きますか", - "Cancel": "中止", - "Dictionary": "辞書", - "Finished list of mispelled words": "つづり間違単語の一覧", - "I will open it in a new page.": "新しいページで開きます。", - "Ignore all": "すべて無視", - "Ignore": "無視", - "No mispelled words found with the selected dictionary.": "選択された辞書にはつづり間違い単語がありません。", - "Spell check complete, didn't find any mispelled words. Closing now...": "スペルチェックが完了しましたが、つづり間違い単語はありませんでした。すぐに閉じます...", - "OK": "OK", - "Original word": "元の単語", - "Please wait. Calling spell checker.": "しばらくお待ちください。スペルチェッカーを呼び出しています。", - "Please wait: changing dictionary to": "しばらくお待ちください: 辞書を切り替えています", - "This will drop changes and quit spell checker. Please confirm.": "変更を破棄してスペルチェッカーを終了します。よろしいいですか。", - "Re-check": "再チェック", - "Replace all": "すべて置換", - "Replace with": "これに置換", - "Replace": "置換", - "Revert": "戻す", - "Spell-check": "スペルチェック", - "Suggestions": "候補", - "One moment...": "あともう少し...", - "Info": "情報", - "Learn": "学習" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nb.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nb.js deleted file mode 100644 index 2a07646f1..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nb.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Please confirm that you want to open this link": "Ønsker du å åpne denne lenken", - "Cancel": "Avbryt", - "Dictionary": "Ordliste", - "Finished list of mispelled words": "Ferdig med liste over feilstavede ord", - "I will open it in a new page.": "Åpnes i ny side", - "Ignore all": "Ignorer alle", - "Ignore": "Ignorer", - "No mispelled words found with the selected dictionary.": "Ingen feilstavede ord funnet med den valgte ordlisten", - "Spell check complete, didn't find any mispelled words. Closing now...": "Stavekontroll fullført, ingen feilstavede ord ble funnet, stavekontroll avsluttes.", - "OK": "OK", - "Original word": "Opprinnelig ord", - "Please wait. Calling spell checker.": "Vennligst vent, kaller opp stavekontrollprogrammet", - "Please wait: changing dictionary to": "Vennligst vent, endrer ordliste til", - "This will drop changes and quit spell checker. Please confirm.": "Dette vil droppe endringene og avbryte stavekontrollen, vennligst bekreft.", - "Re-check": "Kjør stavekontroll på nytt", - "Replace all": "Erstatt alle", - "Replace with": "Erstatt med", - "Replace": "Erstatt", - "Spell-check": "Stavekontroll", - "Suggestions": "Forslag", - "One moment...": "Et øyeblikk..." -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nl.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nl.js deleted file mode 100644 index 8b1ee921e..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/nl.js +++ /dev/null @@ -1,27 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: A.H van den Broek http://www.kontaktfm.nl, tonbroek@kontaktfm.nl -{ - "Please confirm that you want to open this link": "Weet u zeker dat u deze link wilt openen?", - "Cancel": "Annuleer", - "Dictionary": "Woordenboek", - "Finished list of mispelled words": "klaar met de lijst van fouten woorden", - "I will open it in a new page.": "Ik zal het in een nieuwe pagina openen.", - "Ignore all": "alles overslaan", - "Ignore": "Overslaan", - "No mispelled words found with the selected dictionary.": "Geen fouten gevonden met dit woordenboek.", - "Spell check complete, didn't find any mispelled words. Closing now...": "Spell checking is klaar, geen fouten gevonden. spell checking word gesloten...", - "OK": "OK", - "Original word": "Originele woord", - "Please wait. Calling spell checker.": "Even wachten. spell checker wordt geladen.", - "Please wait: changing dictionary to": "even wachten: woordenboek wordt veranderd naar", - "This will drop changes and quit spell checker. Please confirm.": "Dit zal alle veranderingen annuleren en de spell checker sluiten. Weet u het zeker?", - "Re-check": "Opnieuw", - "Replace all": "Alles vervangen", - "Replace with": "Vervangen met", - "Replace": "Vervangen", - "Revert": "Omkeren", - "Spell-check": "Spell-check", - "Suggestions": "Suggestie", - "One moment...": "Even wachten ;-)" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/pt_br.js deleted file mode 100644 index efc6ffa07..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/pt_br.js +++ /dev/null @@ -1,44 +0,0 @@ -// I18N constants -// -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation -// -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br -// -// Last revision: 06 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). - -{ - "Cancel": "Cancelar", - "Dictionary": "Dicionário", - "Finished list of mispelled words": "Finalizada lista de palavras desconhecidas", - "HTMLArea Spell Checker": "Dicionário HTMLArea", - "I will open it in a new page.": "Será aberto em uma nova página", - "Ignore": "Ignorar", - "Ignore all": "Ignorar todas", - "Info": "Informação", - "Learn": "Aprender", - "No mispelled words found with the selected dictionary.": "Nenhuma palavra desconhecida foi encontrada no dicionário selecionado", - "OK": "OK", - "Original word": "Palavra Original", - "Please confirm that you want to open this link": "Por favor, confirme se deseja abrir este link", - "Please wait. Calling spell checker.": "Por favor, aguarde. Chamando dicionário.", - "Please wait: changing dictionary to": "Por favor, aguarde: mudando dicionário para", - "Re-check": "Re-verificar", - "Replace": "Substituir", - "Replace all": "Substituir tudo", - "Replace with": "Substituir com", - "Revert": "Reverter", - "Spell Checker": "Dicionário", - "Spell-check": "Dicionário", - "Suggestions": "Sugestões", - "This will drop changes and quit spell checker. Please confirm.": "Isso desfará as mudanças e finalizará o dicionário. Por favor, confirme.", - "pliz weit ;-)": "Por favor, aguarde...", - "One moment...": "Um momento..." -} diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ro.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ro.js deleted file mode 100644 index 9a823a78a..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/lang/ro.js +++ /dev/null @@ -1,26 +0,0 @@ -// I18N constants -// LANG: "ro", ENCODING: UTF-8 -// Author: Mihai Bazon, http://dynarch.com/mishoo -{ - "Please confirm that you want to open this link": "Vă rog confirmaţi că vreţi să deschideţi acest link", - "Cancel": "Anulează", - "Dictionary": "Dicţionar", - "Finished list of mispelled words": "Am terminat lista de cuvinte greşite", - "I will open it in a new page.": "O voi deschide într-o altă fereastră.", - "Ignore all": "Ignoră toate", - "Ignore": "Ignoră", - "No mispelled words found with the selected dictionary.": "Nu am găsit nici un cuvânt greşit cu acest dicţionar.", - "Spell check complete, didn't find any mispelled words. Closing now...": "Am terminat, nu am detectat nici o greşeală. Acum închid fereastra...", - "OK": "OK", - "Original word": "Cuvântul original", - "Please wait. Calling spell checker.": "Vă rog aşteptaţi. Apelez spell-checker-ul.", - "Please wait: changing dictionary to": "Vă rog aşteptaţi. Schimb dicţionarul cu", - "This will drop changes and quit spell checker. Please confirm.": "Doriţi să renunţaţi la modificări şi să închid spell-checker-ul?", - "Re-check": "Scanează", - "Replace all": "Înlocuieşte toate", - "Replace with": "Înlocuieşte cu", - "Replace": "Înlocuieşte", - "Spell-check": "Detectează greşeli", - "Suggestions": "Sugestii", - "One moment...": "va rog ashteptatzi ;-)" -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/readme-tech.html b/ccm-core/web/assets/xinha/plugins/SpellChecker/readme-tech.html deleted file mode 100755 index 127d6baf9..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/readme-tech.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - HTMLArea Spell Checker - - - -

    HTMLArea Spell Checker

    - -

    The HTMLArea Spell Checker subsystem consists of the following - files:

    - -
      - -
    • spell-checker.js — the spell checker plugin interface for - HTMLArea
    • - -
    • spell-checker-ui.html — the HTML code for the user - interface
    • - -
    • spell-checker-ui.js — functionality of the user - interface
    • - -
    • spell-checker-logic.cgi — Perl CGI script that checks a text - given through POST for spelling errors
    • - -
    • spell-checker-style.css — style for mispelled words
    • - -
    • lang/en.js — main language file (English).
    • - -
    - -

    Process overview

    - -

    - When an end-user clicks the "spell-check" button in the HTMLArea - editor, a new window is opened with the URL of "spell-check-ui.html". - This window initializes itself with the text found in the editor (uses - window.opener.SpellChecker.editor global variable) and it - submits the text to the server-side script "spell-check-logic.cgi". - The target of the FORM is an inline frame which is used both to - display the text and correcting. -

    - -

    - Further, spell-check-logic.cgi calls Aspell for each portion of plain - text found in the given HTML. It rebuilds an HTML file that contains - clear marks of which words are incorrect, along with suggestions for - each of them. This file is then loaded in the inline frame. Upon - loading, a JavaScript function from "spell-check-ui.js" is called. - This function will retrieve all mispelled words from the HTML of the - iframe and will setup the user interface so that it allows correction. -

    - -

    The server-side script (spell-check-logic.cgi)

    - -

    - Unicode safety — the program is - Unicode safe. HTML entities are expanded into their corresponding - Unicode characters. These characters will be matched as part of the - word passed to Aspell. All texts passed to Aspell are in Unicode - (when appropriate). However, Aspell seems to not support Unicode - yet (thread concerning Aspell and Unicode). - This mean that words containing Unicode - characters that are not in 0..255 are likely to be reported as "mispelled" by Aspell. -

    - -

    - Update: though I've never seen it mentioned - anywhere, it looks that Aspell does, in fact, speak - Unicode. Or else, maybe Text::Aspell does - transparent conversion; anyway, this new version of our - SpellChecker plugin is, as tests show so far, fully - Unicode-safe... well, probably the only freeware - Web-based spell-checker which happens to have Unicode support. -

    - -

    - The Perl Unicode manual (man perluniintro) states: -

    - -
    - - Starting from Perl 5.6.0, Perl has had the capacity to handle Unicode - natively. Perl 5.8.0, however, is the first recommended release for - serious Unicode work. The maintenance release 5.6.1 fixed many of the - problems of the initial Unicode implementation, but for example regular - expressions still do not work with Unicode in 5.6.1. - -
    - -

    In other words, do not assume that this script is - Unicode-safe on Perl interpreters older than 5.8.0.

    - -

    The following Perl modules are required:

    - - - -

    Of these, only Text::Aspell might need to be installed manually. The - others are likely to be available by default in most Perl distributions.

    - -
    -
    Mihai Bazon
    - - Last modified: Fri Jan 30 19:14:11 EET 2004 - - - diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.cgi b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.cgi deleted file mode 100755 index dbf40f8f7..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.cgi +++ /dev/null @@ -1,210 +0,0 @@ -#! /usr/bin/perl -w - -# Spell Checker Plugin for HTMLArea-3.0 -# Sponsored by www.americanbible.org -# Implementation by Mihai Bazon, http://dynarch.com/mishoo/ -# -# (c) dynarch.com 2003. -# Distributed under the same terms as HTMLArea itself. -# This notice MUST stay intact for use (see license.txt). -# -# $Id:spell-check-logic.cgi 21 2005-02-19 05:23:56Z gogo $ - -use strict; -use utf8; -use Encode; -use Text::Aspell; -use XML::DOM; -use CGI; - -my $TIMER_start = undef; -eval { - use Time::HiRes qw( gettimeofday tv_interval ); - $TIMER_start = [gettimeofday()]; -}; -# use POSIX qw( locale_h ); - -binmode STDIN, ':utf8'; -binmode STDOUT, ':utf8'; - -my $debug = 0; - -my $speller = new Text::Aspell; -my $cgi = new CGI; - -my $total_words = 0; -my $total_mispelled = 0; -my $total_suggestions = 0; -my $total_words_suggested = 0; - -# FIXME: report a nice error... -die "Can't create speller!" unless $speller; - -my $dict = $cgi->param('dictionary') || $cgi->cookie('dictionary') || 'en'; - -# add configurable option for this -$speller->set_option('lang', $dict); -$speller->set_option('encoding', 'UTF-8'); -#setlocale(LC_CTYPE, $dict); - -# ultra, fast, normal, bad-spellers -# bad-spellers seems to cause segmentation fault -$speller->set_option('sug-mode', 'normal'); - -my %suggested_words = (); -keys %suggested_words = 128; - -my $file_content = decode('UTF-8', $cgi->param('content')); -$file_content = parse_with_dom($file_content); - -my $ck_dictionary = $cgi->cookie(-name => 'dictionary', - -value => $dict, - -expires => '+30d'); - -print $cgi->header(-type => 'text/html; charset: utf-8', - -cookie => $ck_dictionary); - -my $js_suggested_words = make_js_hash(\%suggested_words); -my $js_spellcheck_info = make_js_hash_from_array - ([ - [ 'Total words' , $total_words ], - [ 'Mispelled words' , $total_mispelled . ' in dictionary \"'.$dict.'\"' ], - [ 'Total suggestions' , $total_suggestions ], - [ 'Total words suggested' , $total_words_suggested ], - [ 'Spell-checked in' , defined $TIMER_start ? (tv_interval($TIMER_start) . ' seconds') : 'n/a' ] - ]); - -print qq^ - - - - - - -^; - -print $file_content; -if ($cgi->param('init') eq '1') { - my @dicts = $speller->dictionary_info(); - my $dictionaries = ''; - foreach my $i (@dicts) { - next if $i->{jargon}; - my $name = $i->{name}; - if ($name eq $dict) { - $name = '@'.$name; - } - $dictionaries .= ',' . $name; - } - $dictionaries =~ s/^,//; - print qq^
    $dictionaries
    ^; -} - -print ''; - -# Perl is beautiful. -sub spellcheck { - my $node = shift; - my $doc = $node->getOwnerDocument; - my $check = sub { # called for each word in the text - # input is in UTF-8 - my $word = shift; - my $already_suggested = defined $suggested_words{$word}; - ++$total_words; - if (!$already_suggested && $speller->check($word)) { - return undef; - } else { - # we should have suggestions; give them back to browser in UTF-8 - ++$total_mispelled; - if (!$already_suggested) { - # compute suggestions for this word - my @suggestions = $speller->suggest($word); - my $suggestions = decode($speller->get_option('encoding'), join(',', @suggestions)); - $suggested_words{$word} = $suggestions; - ++$total_suggestions; - $total_words_suggested += scalar @suggestions; - } - # HA-spellcheck-error - my $err = $doc->createElement('span'); - $err->setAttribute('class', 'HA-spellcheck-error'); - my $tmp = $doc->createTextNode; - $tmp->setNodeValue($word); - $err->appendChild($tmp); - return $err; - } - }; - while ($node->getNodeValue =~ /([\p{IsWord}']+)/) { - my $word = $1; - my $before = $`; - my $after = $'; - my $df = &$check($word); - if (!$df) { - $before .= $word; - } - { - my $parent = $node->getParentNode; - my $n1 = $doc->createTextNode; - $n1->setNodeValue($before); - $parent->insertBefore($n1, $node); - $parent->insertBefore($df, $node) if $df; - $node->setNodeValue($after); - } - } -}; - -sub check_inner_text { - my $node = shift; - my $text = ''; - for (my $i = $node->getFirstChild; defined $i; $i = $i->getNextSibling) { - if ($i->getNodeType == TEXT_NODE) { - spellcheck($i); - } - } -}; - -sub parse_with_dom { - my ($text) = @_; - $text = ''.$text.''; - - my $parser = new XML::DOM::Parser; - if ($debug) { - open(FOO, '>:utf8', '/tmp/foo'); - print FOO $text; - close FOO; - } - my $doc = $parser->parse($text); - my $nodes = $doc->getElementsByTagName('*'); - my $n = $nodes->getLength; - - for (my $i = 0; $i < $n; ++$i) { - my $node = $nodes->item($i); - if ($node->getNodeType == ELEMENT_NODE) { - check_inner_text($node); - } - } - - my $ret = $doc->toString; - $ret =~ s{(.*)}{$1}sg; - return $ret; -}; - -sub make_js_hash { - my ($hash) = @_; - my $js_hash = ''; - while (my ($key, $val) = each %$hash) { - $js_hash .= ',' if $js_hash; - $js_hash .= '"'.$key.'":"'.$val.'"'; - } - return $js_hash; -}; - -sub make_js_hash_from_array { - my ($array) = @_; - my $js_hash = ''; - foreach my $i (@$array) { - $js_hash .= ',' if $js_hash; - $js_hash .= '"'.$i->[0].'":"'.$i->[1].'"'; - } - return $js_hash; -}; diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.php b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.php deleted file mode 100755 index e1e5e608d..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-logic.php +++ /dev/null @@ -1,171 +0,0 @@ - - - - -'; - -// Lets define some values outside the condition below, in case we have an empty -// document. -$textarray = array(); -$varlines = ''; - -echo ' -'; - -foreach ($textarray as $key=>$value) -{ - echo $value; -} - -$dictionaries = str_replace(chr(10),",", shell_exec($aspelldictionaries)); -if(ereg(",$",$dictionaries)) - $dictionaries = ereg_replace(",$","",$dictionaries); -echo '
    '.$dictionaries.'
    '; - -echo ''; -?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-savedicts.php b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-savedicts.php deleted file mode 100755 index cb2d28156..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-savedicts.php +++ /dev/null @@ -1,38 +0,0 @@ -&1'); - unlink($temptext); - } -?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-style.css b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-style.css deleted file mode 100755 index 1408ba062..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-style.css +++ /dev/null @@ -1,10 +0,0 @@ -.HA-spellcheck-error { border-bottom: 1px dashed #f00; cursor: default; } -.HA-spellcheck-same { background-color: #cef; color: #000; } -.HA-spellcheck-hover { background-color: #433; color: white; } -.HA-spellcheck-fixed { border-bottom: 1px dashed #0b8; } -.HA-spellcheck-current { background-color: #9be; color: #000; } -.HA-spellcheck-suggestions { display: none; } - -#HA-spellcheck-dictionaries { display: none; } - -a:link, a:visited { color: #55e; } diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.html b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.html deleted file mode 100755 index 499da9764..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - Spell Checker - - - - - - - - - -
    - - - - - - - - - - - - - -
    -
    Dictionary - - -
    - Please wait. Calling spell checker. -
    -
    - -
    -
    Original word
    -
    pliz weit ;-)
    -
    - -
    -
    Replace with
    -
    -
    -
    -
    - -
    -
    -
    Suggestions
    -
    - -
    -
    - -
    -
    - - -
    -
    -
    - - - - diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.js deleted file mode 100644 index d19ccf048..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-check-ui.js +++ /dev/null @@ -1,394 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SpellChecker/spell-check-ui.js */ -var SpellChecker=window.opener.SpellChecker; -var Xinha=window.opener.Xinha; -var _editor_url=window.opener._editor_url; -var is_ie=Xinha.is_ie; -var editor=SpellChecker.editor; -var frame=null; -var currentElement=null; -var wrongWords=null; -var modified=false; -var allWords={}; -var fixedWords=[]; -var suggested_words={}; -var to_p_dict=[]; -var to_r_list=[]; -function _lc(_1){ -return Xinha._lc(_1,"SpellChecker"); -} -function makeCleanDoc(_2){ -var _3=wrongWords.concat(fixedWords); -for(var i=_3.length;--i>=0;){ -var el=_3[i]; -if(!(_2&&/HA-spellcheck-fixed/.test(el.className))){ -if(el.firstChild){ -el.parentNode.insertBefore(el.firstChild,el); -} -el.parentNode.removeChild(el); -}else{ -el.className="HA-spellcheck-fixed"; -} -} -return Xinha.getHTML(frame.contentWindow.document.body,true,editor); -} -function recheckClicked(){ -document.getElementById("status").innerHTML=_lc("Please wait: changing dictionary to")+": \""+document.getElementById("f_dictionary").value+"\"."; -var _6=document.getElementById("f_content"); -_6.value=makeCleanDoc(true); -_6.form.submit(); -} -function saveClicked(){ -if(modified){ -editor.setHTML(makeCleanDoc(false)); -} -if(to_p_dict.length||to_r_list.length&&editor.config.SpellChecker.backend=="php"){ -var _7={}; -for(var i=0;i=0;){ -var el=els[j]; -if(el.childNodes.length==1&&/\S/.test(el.innerHTML)){ -var txt=el.innerHTML; -el.innerHTML=_lc(txt); -} -} -} -} -function initDocument(){ -internationalizeWindow(); -modified=false; -frame=document.getElementById("i_framecontent"); -var _1a=document.getElementById("f_content"); -_1a.value=Xinha.getHTML(editor._doc.body,false,editor); -var _1b=document.getElementById("f_dictionary"); -if(typeof editor.config.SpellChecker.defaultDictionary!="undefined"&&editor.config.SpellChecker.defaultDictionary!=""){ -_1b.value=editor.config.SpellChecker.defaultDictionary; -}else{ -_1b.value="en_GB"; -} -if(editor.config.SpellChecker.backend=="php"){ -_1a.form.action=Xinha.getPluginDir("SpellChecker")+"/spell-check-logic.php"; -} -if(editor.config.SpellChecker.utf8_to_entities){ -document.getElementById("utf8_to_entities").value=1; -}else{ -document.getElementById("utf8_to_entities").value=0; -} -_1a.form.submit(); -document.getElementById("f_init").value="0"; -var _1c=document.getElementById("v_suggestions"); -_1c.onchange=function(){ -document.getElementById("v_replacement").value=this.value; -}; -if(is_ie){ -_1c.attachEvent("ondblclick",replaceClicked); -}else{ -_1c.addEventListener("dblclick",replaceClicked,true); -} -document.getElementById("b_replace").onclick=replaceClicked; -if(editor.config.SpellChecker.backend=="php"){ -document.getElementById("b_learn").onclick=learnClicked; -}else{ -document.getElementById("b_learn").parentNode.removeChild(document.getElementById("b_learn")); -} -document.getElementById("b_replall").onclick=replaceAllClicked; -document.getElementById("b_ignore").onclick=ignoreClicked; -document.getElementById("b_ignall").onclick=ignoreAllClicked; -document.getElementById("b_recheck").onclick=recheckClicked; -document.getElementById("b_revert").onclick=revertClicked; -document.getElementById("b_info").onclick=displayInfo; -document.getElementById("b_ok").onclick=saveClicked; -document.getElementById("b_cancel").onclick=cancelClicked; -_1c=document.getElementById("v_dictionaries"); -_1c.onchange=function(){ -document.getElementById("f_dictionary").value=this.value; -}; -} -function getAbsolutePos(el){ -var r={x:el.offsetLeft,y:el.offsetTop}; -if(el.offsetParent){ -var tmp=getAbsolutePos(el.offsetParent); -r.x+=tmp.x; -r.y+=tmp.y; -} -return r; -} -function wordClicked(_20){ -var _21=this; -if(_20){ -(function(){ -var pos=getAbsolutePos(_21); -var ws={x:frame.offsetWidth-4,y:frame.offsetHeight-4}; -var wp={x:frame.contentWindow.document.body.scrollLeft,y:frame.contentWindow.document.body.scrollTop}; -pos.x-=Math.round(ws.x/2); -if(pos.x<0){ -pos.x=0; -} -pos.y-=Math.round(ws.y/2); -if(pos.y<0){ -pos.y=0; -} -frame.contentWindow.scrollTo(pos.x,pos.y); -})(); -} -if(currentElement){ -var a=allWords[currentElement.__msh_origWord]; -currentElement.className=currentElement.className.replace(/\s*HA-spellcheck-current\s*/g," "); -for(var i=0;i"+currentElement.__msh_origWord+"
    "); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/de.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/de.js deleted file mode 100644 index a7af51378..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/de.js +++ /dev/null @@ -1,6 +0,0 @@ -// I18N constants -// LANG: "de", ENCODING: UTF-8 | ISO-8859-1 -// Author: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de -{ - "Page break": "Neue Seite" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/fr.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/fr.js deleted file mode 100644 index 26d751cb5..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/fr.js +++ /dev/null @@ -1,5 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Page break": "Séparateur de page" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/ja.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/ja.js deleted file mode 100644 index aead7257c..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/ja.js +++ /dev/null @@ -1,5 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Page break": "改ページ" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nb.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nb.js deleted file mode 100644 index a0c25740d..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nb.js +++ /dev/null @@ -1,6 +0,0 @@ -// I18N constants -// LANG: "nb", ENCODING: UTF-8 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Page break": "Sett inn sideskift" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nl.js b/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nl.js deleted file mode 100644 index 750fc51d0..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPagebreak/lang/nl.js +++ /dev/null @@ -1,6 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl -{ - "Page break": "Pagina einde" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/InsertPicture.php b/ccm-core/web/assets/xinha/plugins/InsertPicture/InsertPicture.php deleted file mode 100755 index 921d59ad1..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/InsertPicture.php +++ /dev/null @@ -1,301 +0,0 @@ -= 1024 && $size < 1024*1024) - return sprintf('%01.2f',$size/1024.0).' Kb'; - else - return sprintf('%01.2f',$size/(1024.0*1024)).' Mb'; - } - $DestFileName = ""; - if (isset($_FILES['file'])) { - $file = $_FILES['file']; - $ext = strrchr($file['name'],'.'); - if (!in_array($ext,$limitedext)) - $message = "The file you are uploading doesn't have the correct extension."; - else if (file_exists($LocalPicturePath.$file['name'])) - $message = "The file you are uploading already exists."; - else if ($file['size'] > $limitedsize) - $message = "The file you are uploading is to big. The max Filesize is ".formatSize($limitedsize)."."; - else - copy($file['tmp_name'], $LocalPicturePath.$file['name']); - $DestFileName = $file['name']; - } -?> - - - Insert Image - - - - - - -
    Insert Image
    - - - - - - - -
    Images on the Server:
    - - -
    - - -
    -
    - -
    - -
    - Image Preview: -
    - -
    - -
    - - - - - - - - - - - - - - - -
    Image URL: - -
    Alternate text:
    - -

    - -

    -Layout - -
    - -
    Alignment:
    - - -

    - -

    Border thickness:
    - -
    - -
    - -
    -Size - -
    - -
    Width:
    - -

    - -

    Height:
    - -
    - -
    - -
    -Spacing - -
    - -
    Horizontal:
    - -

    - -

    Vertical:
    - - -
    - -
    -
    - -
    - - -
    -
    - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/bikerpeep.jpg b/ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/bikerpeep.jpg deleted file mode 100755 index a2e7028eb7f434110d0a71588b724b1273f63c55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27684 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 J?H}ap|JfyuM0)@L diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/wesnoth078.jpg b/ccm-core/web/assets/xinha/plugins/InsertPicture/demo_pictures/wesnoth078.jpg deleted file mode 100755 index ea37d1aea74593becfb064c1efcd66c2ff2abcb7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8460 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

    WHL~)s^!zXXwgD_O8t0mJ^gR26?(oS2@q%eD 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 P51d@N{9K(Y1A{dH(PK3q diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/img/nopic.gif b/ccm-core/web/assets/xinha/plugins/InsertPicture/img/nopic.gif deleted file mode 100755 index d4e8a786b4d56d0b838e77abba501a8bd43f86b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1537 zcmV+c2LAa+Nk%v~VR!&!0Nnrp|NsAZcz6H+0RI30#nRii#L>~;(gyv(=H z*bEELOT+HCe13(~@A$Pn&+nuCRRaTngnNF1f`opCQZh0)I0cfEl$Dm3h=_`Oi~x?1 zm!YDQnVFk-og*UztgWuEu(744r*x^SvAMdevzoQGX;m&R1_nJn2?;(v#m&yo&b^7h zz*ob?$H~jk+|kn1cb(S;ARrm%8RaW0<>%|Hs;bh1;MG>+?da<4<{9q<@#f75My*q^ zWC#-~TnGckyb$%m5u9>xp+$xdA#NEmg`<@;96bUMInoYEF`Z19XsDp2%a<@+&Ral} z3&=M(tK1yfQD@HoofE<nQtl(U&u6F0hF+SWuunOTxKX#7w6hJ1S_c;J|?m8#HKW z&`>N#j&n&D95}#~r_+x=d%m5^=4#fhUB8AMTlQ>PwQRLO<>`~~Tf=b)D<0E{1c?|i zv~Jjd0!7!!N*DYEyfLR#xQKs>9No!F08j$5|_-oJrQD1O~|cI|OGJ@*cN zI{EU*m8+>;hCa&LDjz(E&O7+L7;9Z1;D7>RfI%DfMb#N?SLCE)N6$yJzV6P?-N6;TGq+dLGkh5~Oo=LtsG^IKu+bi2)(B>fIi8AOZ8Oa9r!*19I-+kXsNlh^xOUJ1dg-z1 z>O8T^N&&65;(DvDyt>gz0}ae0!L!gp3u3JhR11Nwx>lR)s#i2CO|;-jFs%yKUW=`^ z+oDPT#XK*xo5H&(9QrA!43t}KqUowD1-tFO0B^kV(p#^+_~v_tA@hu-FtZFd%&-Lz zM+|WdH5hy_K?y57mctx3AhE<0Tio2by@)Iu!ljsea!|CWTu&#{xcu^tGK0fh%`@Yi z?#(*?!gJ53{0y`rLJti{(MI=ybkcb&&9p>M=N$ENQ&U}aElyv}t=5}l&2^<;A5C-E z%8pHTU1pyRw%Vvn6u{eWa}hV&Sr`KM+*;rbwBBUceYe~JB+WNtZvRci-GKuzx8aJz zJ%!lBf7?EM^TgLz`0>&=AAI$#D=s_n z!?)i3_TLwuIrh3U-+S=Sqi;O$scX*o{DYfzz48XvzsUX5>o1%CoZuhb^tHRQ0dQ2N zbKl;k=Q`8?@nV38 noE*_OLFaAIdJu$KAh$C}LKd=DhwK#;7Rks)I`WZ72m$~*{1qLn diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/insert-picture.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/insert-picture.js deleted file mode 100644 index e6ded2dd9..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/insert-picture.js +++ /dev/null @@ -1,12 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertPicture/insert-picture.js */ -function InsertPicture(_1){ -if(typeof _editor_picturePath!=="string"){ -_editor_picturePath=Xinha.getPluginDir("InsertPicture")+"/demo_pictures/"; -} -InsertPicture.Scripting="php"; -_1.config.URIs.insert_image="../plugins/InsertPicture/InsertPicture."+InsertPicture.Scripting+"?picturepath="+_editor_picturePath; -} -InsertPicture._pluginInfo={name:"InsertPicture",version:"1.0.2",developer:"Udo Schmal",developer_url:"http://www.Schaffrath-NeueMedien.de/",sponsor:"L.N.Schaffrath NeueMedien",sponsor_url:"http://www.schaffrath-neuemedien.de/",c_owner:"Udo Schmal",license:"htmlArea"}; - diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/de.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/de.js deleted file mode 100644 index 83bc5e58a..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/de.js +++ /dev/null @@ -1,15 +0,0 @@ -// LANG: "de", ENCODING: UTF-8 | ISO-8859-1 -// Sponsored by http://www.schaffrath-neuemedien.de -// Author: Udo Schmal (gocher), http://www.schaffrath-neuemedien.de/, udo.schmal@t-online.de -{ - "The file you are uploading doesn't have the correct extension.": "Die hochgeladene Datei ist im falschen Format.", - "The file you are uploading already exists.": "Eine Datei mit diesem Namen existiert schon.", - "The file you are uploading is to big. The max Filesize is": "Die hochgeladene Datei ist zu groß. Die maximakle Dateigröße beträgt", - "Images on the Server:": "Bilder auf dem Server:", - "Please select a file to upload.": "Wählen Sie eine Datei zum hochladen aus.", - "Upload file": "Datei hochladen", - "Open file in new window": "Datei in neuen Fenster anzeigen", - "Size": "Größe", - "Width:": "Breite", - "Height:": "Höhe" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/fr.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/fr.js deleted file mode 100644 index a1bfb2cfc..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/fr.js +++ /dev/null @@ -1,22 +0,0 @@ -// I18N constants -// LANG: "fr", ENCODING: UTF-8 -{ - "Insert Image": "Insérer une image", - "Image Preview:": "Prévisualisation", - "Image URL:": "URL", - "Preview": "Prévisualisation", - "Alternate text:": "Texte alternatif", - "Layout": "Layout", - "Alignment:": "Alignement", - "Border thickness:": "Epaisseur bordure", - "Spacing": "Espacement", - "Horizontal:": "Horizontal", - "Vertical:": "Vertical", - "The file you are uploading doesn't have the correct extension.": "Le fichier que vous téléchargez ne possède pas la bonne extension.", - "The file you are uploading already exists.": "Le fichier que vous téléchargez existe déjà.", - "The file you are uploading is to big. The max Filesize is": "Le fichier que vous uploadez est trop gros. La taille maximum est", - "Images on the Server:": "Images sur le serveur", - "Please select a file to upload.": "Veuillez sélectionner un fichier a télécharger", - "Upload file": "Télécharger", - "Open file in new window": "Ouvrir le fichier dans une nouvelle fenêtre" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/ja.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/ja.js deleted file mode 100644 index 4093743b3..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/ja.js +++ /dev/null @@ -1,25 +0,0 @@ -// I18N constants -// LANG: "ja", ENCODING: UTF-8 -{ - "Insert Image": "画像の挿入", - "Image Preview:": "画像プレビュー:", - "Image URL:": "画像URL:", - "Preview": "表示", - "Alternate text:": "代替テキスト:", - "Layout": "レイアウト", - "Alignment:": "行揃え:", - "Border thickness:": "境界線の幅:", - "Spacing": "間隔", - "Horizontal:": "水平:", - "Vertical:": "垂直:", - "The file you are uploading doesn't have the correct extension.": "アップロード対象ファイルに正しい拡張子がありません。", - "The file you are uploading already exists.": "アップロード対象ファイルはすでに存在します。", - "The file you are uploading is to big. The max Filesize is": "アップロード対象ファイルは大きすぎます。ファイルサイズの上限:", - "Images on the Server:": "サーバ上の画像:", - "Please select a file to upload.": "アップロードするファイルを選択してください。", - "Upload file": "UPLOAD FILE", - "Open file in new window": "新しいウィンドウでファイルを開く", - "Size": "サイズ", - "Width:": "幅:", - "Height:": "高さ:" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nb.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nb.js deleted file mode 100644 index e4598aa9c..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nb.js +++ /dev/null @@ -1,22 +0,0 @@ -// LANG: "nb", ENCODING: UTF-8 | ISO-8859-1 -// translated: Kim Steinhaug, http://www.steinhaug.com/, kim@steinhaug.com -{ - "Insert Image": "Sett inn bilde", - "Image Preview:": "Forhåndsvisning:", - "Image URL:": "Bildets URL:", - "Preview": "Forhåndsvisning", - "Alternate text:": "Alternativ tekst", - "Layout": "Oppsett", - "Alignment:": "Plassering", - "Border thickness:": "Rammetykkelse:", - "Spacing": "Luft rundt bildet", - "Horizontal:": "Horisontal:", - "Vertical:": "Vertikal:", - "The file you are uploading doesn't have the correct extension.": "Bildet du laster opp har et ugyldig format, opplastning avbrutt", - "The file you are uploading already exists.": "Bildet du prøver å laste opp eksisterer allerede på serveren", - "The file you are uploading is to big. The max Filesize is": "Bildet du laster opp er for stort, maks tillatt størrelse er", - "Images on the Server:": "Bilder på serveren:", - "Please select a file to upload.": "Velg bilde du skal laste opp", - "Upload file": "Last opp bilde", - "Open file in new window": "Åpne bilde i nytt vindu" -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nl.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nl.js deleted file mode 100644 index 97daba8f8..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/nl.js +++ /dev/null @@ -1,35 +0,0 @@ -// I18N constants -// LANG: "nl", ENCODING: UTF-8 -// Author: Maarten Molenschot, maarten@nrgmm.nl - -{ - "Insert Image": "Afbeelding invoegen", - "Image Preview:": "Afbeeldingsvoorbeeld:", - "Image URL:": "Afbeelding URL:", - "Preview": "Voorbeeld", - "Alternate text:": "Alternatieve tekst:", - "Layout": "Weergave", - "Alignment:": "Positie:", - "Border thickness:": "Rand dikte:", - "Spacing": "Marge", - "Horizontal:": "Horizontaal:", - "Vertical:": "Verticaal:", - "The file you are uploading doesn't have the correct extension.": "Het bestand dat is geupload heeft niet de juiste extentie.", - "The file you are uploading already exists.": "Het bestand dat is geupload bestaat al.", - "The file you are uploading is to big. The max Filesize is": "Het bestand dat is geupload is te groot. De maximaal toegestane grootte is:", - "Images on the Server:": "Afbeeldingen op de server:", - "Please select a file to upload.": "Selecteer een bestand om te uploaden", - "Upload file": "Upload bestand", - "Size": "Grootte", - "Width:": "Breedte:", - "Height:": "Hoogte:", - // tooltips - "Enter the image URL here":"Afbeeldingslocatie (URL)", - "Preview the image in a new window": "Afbeelding bekijken in nieuw venster", - "For browsers that don't support images":"Voor browsers welke geen afbeeldingen ondersteunen", - "Positioning of this image": "Positie van de afbeelding", - "Leave empty for no border": "Leeg voor geen rand", - "Leave empty for not defined": "Leeg voor niet gedefinieerd", - "Horizontal padding": "Horizontale ruimte", - "Vertical padding": "Verticale ruimte" -}; diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/pt_br.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/pt_br.js deleted file mode 100644 index aeca2fca1..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/pt_br.js +++ /dev/null @@ -1,61 +0,0 @@ -// I18N constants -// -// LANG: "pt_br", ENCODING: UTF-8 -// Portuguese Brazilian Translation -// -// Author: Marcio Barbosa, -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br -// -// Last revision: 06 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). -{ - " Open file in new window": " Abrir arquivo em um nova janela", - "Absbottom": "Inferior Absoluto", - "Absmiddle": "Meio Absoluto", - "Alignment:": "Alinhamento:", - "Alternate text:": "Texto Alternativo:", - "Baseline": "Linha de Base", - "Border thickness:": "Espessura da Borda", - "Bottom": "Inferior", - "Cancel": "Cancelar", - "Enter the image URL here": "Entre aqui com a URL da imagem", - "For browsers that don't support images": "Para navegadores que não suportam imagens", - "Height:": "Altura:", - "Horizontal padding": "Espaço horizontal", - "Horizontal:": "Horizontal:", - "Image Preview:": "Visualização da Imagem:", - "Image URL:": "URL da Imagem:", - "Insert Image": "Inserir Imagem", - "Layout": "Esquema", - "Leave empty for no border": "Deixe em branco para sem bordas", - "Leave empty for not defined": "Deixe em branco para não definido", - "Left": "Esquerda", - "Middle": "Meio", - "Not set": "Não definido", - "OK": "OK", - "Open file in new window": "Abrir arquivo em uma nova janela", - "Positioning of this image": "Posicionamento desta imagem", - "Preview": "Visualização", - "Preview the image in a new window": "Visualizar imagem em uma nova janela", - "Right": "Direita", - "Size": "Tamanho", - "Spacing": "Espaço", - "Texttop": "Texto no topo", - "Top": "Topo", - "Upload file": "Enviar arquivo", - "Vertical padding": "Espaço vertical", - "Vertical:": "Vertical:", - "Width:": "Largura:", - - // not find with lc_parse_strings.php - "The file you are uploading doesn't have the correct extension.": "O arquivo que você está enviando não possuia a extensão correta.", - "The file you are uploading already exists.": "Já existe o arquivo que você está enviando.", - "The file you are uploading is to big. The max Filesize is": "O arquivo que você está enviando é muito grande. O tamanho máximo é", - "Images on the Server:": "Imagens no Servidor:", - "Please select a file to upload.": "Por favor, selecione um arquivo para enviar." -} diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/sv.js b/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/sv.js deleted file mode 100644 index 6218489f3..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/lang/sv.js +++ /dev/null @@ -1,35 +0,0 @@ -// I18N constants -// LANG: "sv", ENCODING: UTF-8 -// Swedish version for rev. 477 (Mar 2006) by Thomas Loo - -{ - "Insert Image": "Infoga bild", - "Image Preview:": "Förhandsgranskning:", - "Image URL:": "Bildens URL:", - "Preview": "Förhandsgranska", - "Alternate text:": "Alternativ text:", - "Layout": "Layout", - "Alignment:": "Placering:", - "Border thickness:": "Ramtjocklek:", - "Spacing": "Marginal", - "Horizontal:": "Horisontell:", - "Vertical:": "Vertikal:", - "The file you are uploading doesn't have the correct extension.": "Uppladdat bild har en ogiltig filändelse, uppladdning avbruten", - "The file you are uploading already exists.": "En fil med detta namn finns redan", - "The file you are uploading is to big. The max Filesize is": "Filen är för stor, maximal filstorlek är", - "Images on the Server:": "Bilder på servern:", - "Please select a file to upload.": "Välj bild att ladda upp", - "Upload file": "Ladda upp bild", - "Size": "Storlek", - "Width:": "Bredd:", - "Height:": "Höjd:", - // tooltips - "Enter the image URL here":"Bildens sökväg (URL)", - "Preview the image in a new window": "Öppna bild i nytt fönster", - "For browsers that don't support images":"Beskrivande text för webläsare som inte stödjer inbäddade bilder", - "Positioning of this image": "Bildens positionering", - "Leave empty for no border": "Lämna tomt för att undvika ram", - "Leave empty for not defined": "Lämna tomt för att låta webläsaren bestämma", - "Horizontal padding": "Horizontellt indrag på bild", - "Vertical padding": "Vertikalt indrag på bild" -}; diff --git a/ccm-core/web/assets/xinha/plugins/InsertPicture/viewpicture.html b/ccm-core/web/assets/xinha/plugins/InsertPicture/viewpicture.html deleted file mode 100755 index 00823bf52..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertPicture/viewpicture.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - Preview - - - - - - - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/InsertSmiley.js b/ccm-core/web/assets/xinha/plugins/InsertSmiley/InsertSmiley.js new file mode 100644 index 000000000..f78c16a82 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSmiley/InsertSmiley.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +InsertSmiley._pluginInfo={name:"InsertSmiley",version:"2.0",developer:"V 1.0 Ki Master George, V2.0 James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Ki Master George, James Sleeman",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/",license:"htmlArea"};Xinha.Config.prototype.InsertSmiley={smileys:""};Xinha.loadStyle("dialog.css","InsertSmiley");function InsertSmiley(c){this.editor=c;this.smileys=false;this.dialog=false;var a=c.config;var b=this;a.registerButton({id:"insertsmiley",tooltip:this._lc("Insert Smiley"),image:c.imgURL("ed_smiley.gif","InsertSmiley"),textMode:false,action:function(d){b.buttonPress(d)}});a.addToolbarElement("insertsmiley","inserthorizontalrule",1)}InsertSmiley.prototype.onGenerateOnce=function(){if(this.editor.config.InsertSmiley.smileyURL){var a=[];var c=Xinha._geturlcontent(Xinha.getPluginDir("InsertSmiley")+"/smileys.txt");var d=this.editor.config.InsertSmiley.smileyURL;c=c.match(/^.+$/mg);for(var b=0;b');Xinha._stopEvent(window.event?event:a);return false});b.appendChild(g);d.getElementById("smileys").appendChild(b);b=null;g=null;h=null}this.dialog=d;return true};InsertSmiley.prototype.buttonPress=function(a){if(this.dialog){this.dialog.show()}else{}return}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/README.txt b/ccm-core/web/assets/xinha/plugins/InsertSmiley/README.txt index 35b4842ee..4e63158af 100755 --- a/ccm-core/web/assets/xinha/plugins/InsertSmiley/README.txt +++ b/ccm-core/web/assets/xinha/plugins/InsertSmiley/README.txt @@ -1,9 +1,13 @@ -By default the smileys are hosted on an external server. If you would like to put them on your own server, you can download a zip file from here: -http://www.x-webservice.net/storage/xinha/plugins/InsertSmiley/smileys.zip +A small number of smileys are included in this release. -1. Extract the file to your server -2. Change xinha_config.InsertSmiley.smileyURL to the appropriate path (with trailing slash), e.g. - - xinha_config.InsertSmiley.smileyURL = "/smileys/"; - - You can also reduce/expand/replace the list of smileys with your own files by editing the file smileys.txt in the plugins's folder. \ No newline at end of file +To add more smileys, + + 1. Dump as many as you would like as image files into the smileys folder (gif, jpg, png). + 2. EITHER: + a. Edit smileys/smileys.js as appropriate, or; + b. Set this Xinha configuration (if your server handles PHP ok) + + xinha_config.InsertSmiley.smileys = _editor_url+'/plugins/InsertSmiley/smileys/smileys.php'; + + it will automatically pickup the new smileys without you needing to edit the js file. + diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.css b/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.css new file mode 100644 index 000000000..7df462d39 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.css @@ -0,0 +1,3 @@ +.insert-smiley a { + display:block; float:left; margin:2px; border:none !important; text-decoration:none !important; +} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.html b/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.html new file mode 100644 index 000000000..5a4649810 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSmiley/dialog.html @@ -0,0 +1,4 @@ +

    Insert Smiley

    +
    + +
    \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/insert-smiley.js b/ccm-core/web/assets/xinha/plugins/InsertSmiley/insert-smiley.js deleted file mode 100644 index f7e77874d..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertSmiley/insert-smiley.js +++ /dev/null @@ -1,27 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertSmiley/insert-smiley.js */ -function InsertSmiley(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"insertsmiley",tooltip:this._lc("Insert Smiley"),image:_1.imgURL("ed_smiley.gif","InsertSmiley"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("insertsmiley","inserthorizontalrule",1); -} -InsertSmiley._pluginInfo={name:"InsertSmiley",version:"1.0",developer:"Ki Master George",developer_url:"http://kimastergeorge.i4host.com/",c_owner:"Ki Master George",sponsor:"Ki Master George",sponsor_url:"http://kimastergeorge.i4host.com/",license:"htmlArea"}; -InsertSmiley.prototype._lc=function(_5){ -return Xinha._lc(_5,"InsertSmiley"); -}; -Xinha.Config.prototype.InsertSmiley={smileyURL:"http://www.x-webservice.net/storage/xinha/plugins/InsertSmiley/"}; -InsertSmiley.prototype.buttonPress=function(_6){ -var _7=this; -var _8=_6.getSelectedHTML().replace(/(<[^>]*>| |\n|\r)/g,""); -var _9={}; -_9.editor=_6; -_6._popupDialog("plugin://InsertSmiley/insertsmiley",function(_a){ -_6.insertHTML("\"Smiley\""); -},_9); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/popups/insertsmiley.html b/ccm-core/web/assets/xinha/plugins/InsertSmiley/popups/insertsmiley.html deleted file mode 100755 index cba106cd6..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertSmiley/popups/insertsmiley.html +++ /dev/null @@ -1,64 +0,0 @@ - - -Insert Smiley - - - - - - - -
    -
    Insert Smiley
    -
    - -
    -
    -
    -
    - -
    -
    -
    -
    - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Angry.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Angry.gif new file mode 100644 index 0000000000000000000000000000000000000000..4a1efb46053ceb944a85a4687b3fa24731bd5218 GIT binary patch literal 170 zcmZ?wbhEHbUSShW|Gh{-0uSa0pURP~hihU}IxvU|=|K z-~a;*DE?$&WMJT7&;bd6%y3`{p5VDMYwnbu1Bc~U0wuT>=bTu`a;mXMHTA&M#N$^s zl$y=lES7L~`3}ZDch-aLhLHtlyZBt1=2^*JJR4aU8FXG$U6C!Ty`|u3&a9;qT_w_P K?DkM%um%9Yh&)OF literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Excited.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Excited.gif new file mode 100644 index 0000000000000000000000000000000000000000..4636e3346accefb5b68073587b378f5791532fcf GIT binary patch literal 230 zcmZ?wbhEHb+|z#zb&1JVSt(}6WvL8Z$-vhPWtNNTXo z(?%8kFB=#>@c93`uvnfcaTa6qYNo~jgKIfECiz|eeYJ(X`C7pXp+J?(!a2Lw@@+Ak t@-CMz|Eio5(Amxz!F^GxiV|+7Yzop?_P^^ycTjCip+W>q7*iDOI{+sbK@E1 z%wq>Gc-(j>B5J^+x~ybs4trpK(&`6wyC3=raBvj0Id5YzYFe_W|L5hZ&@&#lirn^l IC^1+A0Cr15kpKVy literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Pleased.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Pleased.gif new file mode 100644 index 0000000000000000000000000000000000000000..3bc068f10f401e37485faaf8c78db163ae5b46c5 GIT binary patch literal 172 zcmZ?wbhEHbhHVTC3=9Vj z8~{-;p!k!8k%57mK?fuNGQ)u-vcPj?*4!^soPOyYYg9S4sNh;cuj*8Vf;kgz?5tGI z72`7GXkuh63AoVH(VQr0)e&XNEt0%RlyAw(wU>iCBCOBpTkvf3V_Es@&!w6fi;{19 Qw!hRkcJqx=Cj)~u0I-%jRsaA1 literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Sad.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Sad.gif new file mode 100644 index 0000000000000000000000000000000000000000..172e7f0d80ad44bb192c92cf0d7da7082649fc60 GIT binary patch literal 171 zcmZ?wbhEHb z{Fa&(N0X?>L!+ZwZ7Hr_c16yT5MEcH;8-ZzzoKI^OQf!L`+^`r2c>ME&mk>4jyK2n PJqZ-q`o~p>k--`Og-1SQ literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Surprised.gif b/ccm-core/web/assets/xinha/plugins/InsertSmiley/smileys/Surprised.gif new file mode 100644 index 0000000000000000000000000000000000000000..484111b63eccd10b97e6b5744b89969e3c7e0e34 GIT binary patch literal 171 zcmZ?wbhEHb4JuAW1aUS+D0j|{ z4!`pLCNI-LE|pE1N$lQF6{_w|nelvCfr6#)PQFGh<7ZkgW8_$o8p-`NMh*1_p)$ z2M#bG0mYvzj0_Ci3_2h&kQojvkp-SBv*unAnDk4nwMgOAq5@|tm8%g!Clt?fbk3b^ zeoJjS57R-el!BQ_Y_5qjb@t^=Q$N $M[1], 'src'=> $f); + } + } + closedir($dh); + + + echo xinha_to_js($smileys); + +?> \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet/InsertSnippet.js b/ccm-core/web/assets/xinha/plugins/InsertSnippet/InsertSnippet.js new file mode 100644 index 000000000..4a948eee8 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet/InsertSnippet.js @@ -0,0 +1,92 @@ +/*------------------------------------------*\ + InsertSnippet for Xinha + _______________________ + + Insert HTML fragments or template variables + +\*------------------------------------------*/ + +function InsertSnippet(editor) { + this.editor = editor; + + var cfg = editor.config; + var self = this; + + + cfg.registerButton({ + id : "insertsnippet", + tooltip : this._lc("Insert Snippet"), + image : editor.imgURL("ed_snippet.gif", "InsertSnippet"), + textMode : false, + action : function(editor) { + self.buttonPress(editor); + } + }); + cfg.addToolbarElement("insertsnippet", "insertimage", -1); + this.snippets = null; + var backend = cfg.InsertSnippet.snippets + '?'; + + if(cfg.InsertSnippet.backend_data != null) + { + for ( var i in cfg.InsertSnippet.backend_data ) + { + backend += '&' + i + '=' + encodeURIComponent(cfg.InsertSnippet.backend_data[i]); + } + } + Xinha._getback(backend,function (getback) {eval(getback); self.snippets = snippets;}); +} + +InsertSnippet.prototype.onUpdateToolbar = function() { + if (!this.snippets){ + this.editor._toolbarObjects.insertsnippet.state("enabled", false); + } + else InsertSnippet.prototype.onUpdateToolbar = null; +} + +InsertSnippet._pluginInfo = { + name : "InsertSnippet", + version : "1.2", + developer : "Raimund Meyer", + developer_url : "http://x-webservice.net", + c_owner : "Raimund Meyer", + sponsor : "", + sponsor_url : "", + license : "htmlArea" +}; + +InsertSnippet.prototype._lc = function(string) { + return Xinha._lc(string, 'InsertSnippet'); +}; + +InsertSnippet.prototype.onGenerate = function() { + this.editor.addEditorStylesheet(Xinha.getPluginDir("InsertSnippet") + '/InsertSnippet.css'); +}; + +Xinha.Config.prototype.InsertSnippet = +{ + 'snippets' : Xinha.getPluginDir("InsertSnippet")+"/demosnippets.js", // purely demo purposes, you should change this + 'css' : ['../InsertSnippet.css'], //deprecated, CSS is now pulled from xinha_config + 'showInsertVariable': false, + 'backend_data' : null +}; + +InsertSnippet.prototype.buttonPress = function(editor) { + var args = editor.config; + args.snippets = this.snippets; + var self = this; + editor._popupDialog( "plugin://InsertSnippet/insertsnippet", function( param ) { + + if ( !param ) { + return false; + } + + + editor.focusEditor(); + if (param['how'] == 'variable') { + editor.insertHTML('{'+self.snippets[param["snippetnum"]].id+'}'); + } else { + editor.insertHTML(self.snippets[param["snippetnum"]].HTML); + } + + }, args); + }; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet/demosnippets.js b/ccm-core/web/assets/xinha/plugins/InsertSnippet/demosnippets.js index c111bda85..d243632c8 100644 --- a/ccm-core/web/assets/xinha/plugins/InsertSnippet/demosnippets.js +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet/demosnippets.js @@ -1,17 +1,15 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertSnippet/demosnippets.js */ -var snippets=[]; -var i=0; -snippets[i]={}; -snippets[i]["id"]="Box 1"; -snippets[i]["HTML"]="
    \n Visit the Xinha website
    "; -i++; -snippets[i]={}; -snippets[i]["id"]="INFORMATION ABOUT SOMETHING"; -snippets[i]["HTML"]="
    \n This is an information about something\n
    "; -i++; -snippets[i]={}; -snippets[i]["id"]="Menu"; -snippets[i]["HTML"]=""; +var snippets = []; +var i = 0; +snippets[i] = {}; +snippets[i]['id'] = 'Box 1'; +snippets[i]['HTML'] = '
    \n Visit the Xinha website
    '; +i++; +snippets[i] = {}; +snippets[i]['id'] = 'INFORMATION ABOUT SOMETHING'; +snippets[i]['HTML'] = '
    \n This is an information about something\n
    '; + +i++; +snippets[i] = {}; +snippets[i]['id'] = 'Menu'; +snippets[i]['HTML'] = ''; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet/insert-snippet.js b/ccm-core/web/assets/xinha/plugins/InsertSnippet/insert-snippet.js deleted file mode 100644 index 937ac2fa3..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertSnippet/insert-snippet.js +++ /dev/null @@ -1,55 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertSnippet/insert-snippet.js */ -function InsertSnippet(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"insertsnippet",tooltip:this._lc("Insert Snippet"),image:_1.imgURL("ed_snippet.gif","InsertSnippet"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("insertsnippet","insertimage",-1); -this.snippets=null; -var _5=_2.InsertSnippet.snippets+"?"; -if(_2.InsertSnippet.backend_data!=null){ -for(var i in _2.InsertSnippet.backend_data){ -_5+="&"+i+"="+encodeURIComponent(_2.InsertSnippet.backend_data[i]); -} -} -Xinha._getback(_5,function(_7){ -eval(_7); -_3.snippets=snippets; -}); -} -InsertSnippet.prototype.onUpdateToolbar=function(){ -if(!this.snippets){ -this.editor._toolbarObjects.insertsnippet.state("enabled",false); -}else{ -InsertSnippet.prototype.onUpdateToolbar=null; -} -}; -InsertSnippet._pluginInfo={name:"InsertSnippet",version:"1.2",developer:"Raimund Meyer",developer_url:"http://rheinauf.de",c_owner:"Raimund Meyer",sponsor:"",sponsor_url:"",license:"htmlArea"}; -InsertSnippet.prototype._lc=function(_8){ -return Xinha._lc(_8,"InsertSnippet"); -}; -InsertSnippet.prototype.onGenerate=function(){ -this.editor.addEditorStylesheet(Xinha.getPluginDir("InsertSnippet")+"/InsertSnippet.css"); -}; -Xinha.Config.prototype.InsertSnippet={"snippets":Xinha.getPluginDir("InsertSnippet")+"/demosnippets.js","css":["../InsertSnippet.css"],"showInsertVariable":false,"backend_data":null}; -InsertSnippet.prototype.buttonPress=function(_9){ -var _a=_9.config; -_a.snippets=this.snippets; -var _b=this; -_9._popupDialog("plugin://InsertSnippet/insertsnippet",function(_c){ -if(!_c){ -return false; -} -_9.focusEditor(); -if(_c["how"]=="variable"){ -_9.insertHTML("{"+_b.snippets[_c["snippetnum"]].id+"}"); -}else{ -_9.insertHTML(_b.snippets[_c["snippetnum"]].HTML); -} -},_a); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet/readme.html b/ccm-core/web/assets/xinha/plugins/InsertSnippet/readme.html index 0ffdd38b1..b8a905aa1 100755 --- a/ccm-core/web/assets/xinha/plugins/InsertSnippet/readme.html +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet/readme.html @@ -20,10 +20,10 @@

    Usage

    -In order to use your own snippets you have to al least one parameter to your xinha_config: +In order to use your own snippets you have to add at least one parameter to your xinha_config:

    -xinha_config.InsertSnippet.snippets = _editor_url+"plugins/InsertSnippet/snippets.php";
    +xinha_config.InsertSnippet.snippets = Xinha.getPluginDir('InsertSnippet') + "/snippets.php";
     

    The path above indicates the use of the provided backend. This parses a file that contains the snippets and @@ -54,4 +54,4 @@ with (xinha_config.InsertSnippet)

    Raimund Meyer (xinha@raimundmeyer.de)

    - \ No newline at end of file + diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet.css b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet.css new file mode 100644 index 000000000..f791e7fe3 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet.css @@ -0,0 +1,92 @@ +html > body .ISsnippettable button { min-width:70px;white-space:nowrap;} + +.ISsnippettable td { + + background:white; + vertical-align:top; +} + +.ISsnippettable td { + padding:5px; + border:1px solid; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; +} +.ISsnippettable button {text-align:center;} +.ISsnippettable a.button {/*background:ButtonFace;*/padding:1px 5px 1px 5px;color:black;text-decoration:none} +.ISpreview { + background-color: white; + padding: 5px; + display : none; + position : absolute; + top : 12px; + left :100px; + border : 1px dotted black; + z-index:100; +} +.IScattabs {line-height:18px; } +.IScattabs a { + white-space:nowrap; + border-width:1px 1px 0px 1px; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; + border-style:solid; + padding:4px; + margin-left:1px; + text-decoration:none; + color:black; + -moz-border-radius:10px 10px 0px 0px; + height:12px; + background-repeat:repeat-x; +} + +.IScattabs .tab1 { + background-image:url(img/1.PNG); +} +.IScattabs .tab2 { + background-image:url(img/2.PNG); +} +.IScattabs .tab3 { + background-image:url(img/3.PNG); +} +.IScattabs .tab4 { + background-image:url(img/4.PNG); +} +.IScattabs .tab5 { + background-image:url(img/5.PNG); +} +.IScattabs .tab6 { + background-image:url(img/6.PNG); +} +.IScattabs .tab7 { + background-image:url(img/7.PNG); +} +.IScattabs .tab8 { + background-image:url(img/8.PNG); +} +.IScattabs .tab9 { + background-image:url(img/9.PNG); +} +.IScattabs .tab10 { + background-image:url(img/10.PNG); +} +.IScattabs .tab11 { + background-image:url(img/11.PNG); +} +.IScattabs .tab12 { + background-image:url(img/12.PNG); +} +.IScattabs .tab13 { + background-image:url(img/13.PNG); +} +.IScattabs .tab14 { + background-image:url(img/14.PNG); +} +.IScattabs .tab15 { + background-image:url(img/15.PNG); +} +.IScattabs .tab16 { + background-image:url(img/16.PNG); +} +.IScattabs a.active { + font-weight:bold; + border-width:1px 2px 0px 2px +} diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet2.js b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet2.js new file mode 100644 index 000000000..d3cb2eea0 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/InsertSnippet2.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function InsertSnippet2(c){this.editor=c;var a=c.config;var b=this;a.registerButton({id:"InsertSnippet2",tooltip:this._lc("Insert Snippet"),image:c.imgURL("ed_snippet.gif","InsertSnippet2"),textMode:false,action:function(d){b.buttonPress(d)}});a.addToolbarElement("InsertSnippet2","insertimage",-1);this.snippets=null;this.categories=null;this.html=null;Xinha._getback(a.InsertSnippet2.snippets,function(e,l){var g=l.responseXML;var k=g.getElementsByTagName("c");b.categories=[];for(var f=0;f\n';d+='';if(typeof b.config.baseHref!="undefined"&&b.config.baseHref!==null){d+='\n'}if(b.config.pageStyle){d+='"}if(typeof b.config.pageStyleSheets!=="undefined"){for(var c=0;c0){d+=''}}}d+="\n";d+="\n";d+="\n";d+="";f.write(d);f.close();setTimeout(function(){a.previewBody=f.getElementsByTagName("body")[0]},100)};InsertSnippet2.prototype.buttonPress=function(a){this.dialog.toggle()};InsertSnippet2.prototype.doInsert=function(b){var d=b.target||b.srcElement;var c=this.snippets[d.snID];this.dialog.hide();var a=this.editor.config.InsertSnippet2;if(d._insAs=="variable"){this.editor.insertHTML(c.v)}else{this.editor.insertHTML(c.html)}};InsertSnippet2.prototype.resize=function(){var a=this.dialog.getElementById("insert_div");var d=this.dialog.getElementById("preview_iframe");var c={h:this.dialog.height,w:this.dialog.width};var b=c.h-90;if(this.categories.length){b-=this.catTabsH}a.style.height=d.style.height=b+"px";return true}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/dialog.html b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/dialog.html new file mode 100644 index 000000000..32818721b --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/dialog.html @@ -0,0 +1,20 @@ +

    Insert Snippet

    +
    + +
    +
    + + +
    + +
    +
  1. Nulla placerat nunc ut pede.
  2. Vivamus ultrices mi sit amet urna.
  3. Quisque sed augue quis nunc laoreet volutpat.
  4. Nunc sit amet metus in tortor semper mattis.
  5. + ]]> +
    + + <p>This is some information about something</p> + + + + + + + + + + ]]> + + + diff --git a/ccm-core/web/assets/xinha/plugins/InsertWords/insert-words.js b/ccm-core/web/assets/xinha/plugins/InsertWords/insert-words.js deleted file mode 100644 index d7d2a3525..000000000 --- a/ccm-core/web/assets/xinha/plugins/InsertWords/insert-words.js +++ /dev/null @@ -1,41 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/InsertWords/insert-words.js */ -function InsertWords(_1,_2){ -this.editor=_1; -var _3=_1.config; -var _4=this; -if(_2[0]&&_2[0].combos){ -var _5=_2[0].combos; -}else{ -if(_3.InsertWords&&_3.InsertWords.combos){ -var _5=_3.InsertWords.combos; -}else{ -var _5=[]; -} -} -var _6=true; -var _7=[]; -for(var i=_5.length;--i>=0;){ -var _9=_5[i]; -var id="IW-id"+i; -var _b={id:id,options:_9.options,action:function(_c){ -_4.onSelect(_c,this,_9.context); -},refresh:function(_d){ -},context:_9.context}; -_3.registerDropdown(_b); -if(_9.label){ -_7.push("T["+_9.label+"]"); -} -_7.push(id); -_7.push(_6?"separator":"space"); -} -_3.addToolbarElement(_7,"linebreak",1); -} -InsertWords._pluginInfo={name:"InsertWords",version:"1.0",developer:"Adam Wright",developer_url:"http://blog.hipikat.org/",sponsor:"The University of Western Australia",sponsor_url:"http://www.uwa.edu.au/",license:"htmlArea"}; -InsertWords.prototype.onSelect=function(_e,_f,_10){ -var _11=_e._toolbarObjects[_f.id].element; -_e.insertHTML(_11.value); -_11.selectedIndex=0; -}; - diff --git a/ccm-core/web/assets/xinha/plugins/LangMarks/LangMarks.js b/ccm-core/web/assets/xinha/plugins/LangMarks/LangMarks.js new file mode 100644 index 000000000..76461dc94 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/LangMarks/LangMarks.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +function LangMarks(c,e){this.editor=c;var a=c.config;var b=this;var g={};g[this._lc("— language —")]="";if(!a.LangMarks.languages){Xinha.debugMsg("Warning: Old style LangMarks configuration detected, please update your LangMarks configuration.");var d={languages:[],attributes:Xinha.Config.prototype.attributes};for(var f in a.LangMarks){if(typeof f!="string"){continue}d.languages.push({name:f,code:a.LangMarks[f]})}a.LangMarks=d}for(var f=0;f',"")}};LangMarks.prototype.updateValue=function(a,f){var m=a._toolbarObjects[f.id].element;var l=a.getAllAncestors();var k;var b;for(var e=0;e=0;){var c=g[e];if(h==c.value){m.selectedIndex=e;return}}}else{m.selectedIndex=0}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.css b/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.css index b616f1f20..eee601eac 100755 --- a/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.css +++ b/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.css @@ -2,6 +2,9 @@ span.haslang { border-bottom: 1px dashed #aaa; white-space : nowrap; } + + + span[lang]::after { content: attr(lang); text-transform: uppercase; @@ -12,4 +15,26 @@ span[lang]::after { font-size: x-small; font-weight: normal; vertical-align: top; -} \ No newline at end of file +} + +/* + * NOTE: The "proper" way to do this is with a CSS namespace + * @namespace xml "http://www.w3.org/XML/1998/namespace"; + * and putting xmlns:xml="http://www.w3.org/XML/1998/namespace" + * on the root element or the itself, then using + * span[xml|lang] as the selector, but this simply doesn't work + * in most browsers. Which sucks. + */ + +span[xml\:lang]::after { + content: attr(xml\:lang); + text-transform: uppercase; + font-family: sans-serif; + color: white; + background: red; + border: 1px solid red; + font-size: x-small; + font-weight: normal; + vertical-align: top; +} + diff --git a/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.js b/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.js deleted file mode 100644 index dc2d0db28..000000000 --- a/ccm-core/web/assets/xinha/plugins/LangMarks/lang-marks.js +++ /dev/null @@ -1,127 +0,0 @@ -// Mask Language plugin for Xinha -// Implementation by Udo Schmal -// -// (c) Udo Schmal & Schaffrath NeueMedien 2004 -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). - -function LangMarks(editor, args) { - this.editor = editor; - var cfg = editor.config; - var self = this; - var options = {}; - options[this._lc("— language —")] = ''; - for (var i in cfg.LangMarks) - { - if (typeof i != 'string') continue; - options[this._lc(i)] = cfg.LangMarks[i]; - } - - cfg.registerDropdown({ - id : "langmarks", - tooltip : this._lc("language select"), - options : options, - action : function(editor) { self.onSelect(editor, this); }, - refresh : function(editor) { self.updateValue(editor, this); } - }); - cfg.addToolbarElement("langmarks", "inserthorizontalrule", 1); -} - -LangMarks._pluginInfo = { - name : "LangMarks", - version : "1.0", - developer : "Udo Schmal", - developer_url : "", - sponsor : "L.N.Schaffrath NeueMedien", - sponsor_url : "http://www.schaffrath-neuemedien.de/", - c_owner : "Udo Schmal & Schaffrath NeueMedien", - license : "htmlArea" -}; - -Xinha.Config.prototype.LangMarks = { - "Greek" : "el", - "English" : "en", - "French" : "fr", - "Latin" : "la" -}; - -LangMarks.prototype._lc = function(string) { - return Xinha._lc(string, 'LangMarks'); -}; - -LangMarks.prototype.onGenerate = function() { - this.editor.addEditorStylesheet(Xinha.getPluginDir("LangMarks") + '/lang-marks.css'); -}; - -LangMarks.prototype.onSelect = function(editor, obj, context, updatecontextclass) { - var tbobj = editor._toolbarObjects[obj.id]; - var index = tbobj.element.selectedIndex; - var language = tbobj.element.value; - - // retrieve parent element of the selection - var parent = editor.getParentElement(); - var surround = true; - - var is_span = (parent && parent.tagName.toLowerCase() == "span"); - var update_parent = (context && updatecontextclass && parent && parent.tagName.toLowerCase() == context); - - if (update_parent) { - parent.className = "haslang"; - parent.lang = language; - editor.updateToolbar(); - return; - } - - if (is_span && index == 0 && !/\S/.test(parent.style.cssText)) { - while (parent.firstChild) { - parent.parentNode.insertBefore(parent.firstChild, parent); - } - parent.parentNode.removeChild(parent); - editor.updateToolbar(); - return; - } - - if (is_span) { - // maybe we could simply change the class of the parent node? - if (parent.childNodes.length == 1) { - parent.className = "haslang"; - parent.lang = language; - surround = false; - // in this case we should handle the toolbar updation - // ourselves. - editor.updateToolbar(); - } - } - - // Other possibilities could be checked but require a lot of code. We - // can't afford to do that now. - if (surround) { - // shit happens ;-) most of the time. this method works, but - // it's dangerous when selection spans multiple block-level - // elements. - editor.surroundHTML('', ''); - } -}; - -LangMarks.prototype.updateValue = function(editor, obj) { - var select = editor._toolbarObjects[obj.id].element; - var parents = editor.getAllAncestors(); - var parent; - for (var i=0;i= 0;) { - var option = options[i]; - if (value == option.value) { - select.selectedIndex = i; - return; - } - } - } - else select.selectedIndex = 0; - -}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/LangMarks/lang/es.js b/ccm-core/web/assets/xinha/plugins/LangMarks/lang/es.js new file mode 100644 index 000000000..c962c9043 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/LangMarks/lang/es.js @@ -0,0 +1,11 @@ +// I18N constants +// LANG: "es", ENCODING: UTF-8 +// translated: Derick Leony +{ + "language select": "seleccionar idioma", + "— language —": "— idioma —", + "Greek": "Griego", + "English": "Inglés", + "French": "Francés", + "Latin": "Latín" +}; diff --git a/ccm-core/web/assets/xinha/plugins/Linker/Linker.js b/ccm-core/web/assets/xinha/plugins/Linker/Linker.js new file mode 100644 index 000000000..59fcbf543 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/Linker/Linker.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Linker._pluginInfo={name:"Linker",version:"1.0",developer:"James Sleeman",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"};Xinha.loadStyle("dTree/dtree.css","Linker");Xinha.Config.prototype.Linker={treeCaption:document.location.host,backend:Xinha.getPluginDir("Linker")+"/scan.php",backend_data:null,files:null,dialog:null,canSetTarget:true,canRemoveLink:true};function Linker(b,c){this.editor=b;this.lConfig=b.config.Linker;var a=this;if(b.config.btnList.createlink){b.config.btnList.createlink[3]=function(g,f,d){a._createLink(a._getSelectedAnchor())}}else{b.config.registerButton("createlink","Insert/Modify Hyperlink",[_editor_url+"images/ed_buttons_main.gif",6,1],false,function(g,f,d){a._createLink(a._getSelectedAnchor())})}b.config.addToolbarElement("createlink","createlink",0)}Linker.prototype._lc=function(a){return Xinha._lc(a,"Linker")};Linker.prototype.onGenerateOnce=function(){Linker.loadAssets();this.loadFiles()};Linker.prototype.onUpdateToolbar=function(){if(typeof dTree=="undefined"||!Linker.methodsReady||!Linker.html||!this.files){this.editor._toolbarObjects.createlink.state("enabled",false)}else{this.onUpdateToolbar=null}};Linker.Dialog_dTrees=[];Linker.loadAssets=function(){var self=Linker;if(self.loading){return}self.loading=true;Xinha._getback(Xinha.getPluginDir("Linker")+"/pluginMethods.js",function(getback){eval(getback);self.methodsReady=true});Xinha._loadback(Xinha.getPluginDir("Linker")+"/dTree/dtree.js",function(){Linker.dTreeReady=true});Xinha._getback(Xinha.getPluginDir("Linker")+"/dialog.html",function(getback){self.html=getback})};Linker.prototype.loadFiles=function(){var linker=this;if(linker.lConfig.backend){Xinha._postback(linker.lConfig.backend,linker.lConfig.backend_data,function(txt){try{linker.files=eval(txt)}catch(Error){linker.files=[{url:"",title:Error.toString()}]}})}else{if(linker.lConfig.files!=null){linker.files=linker.lConfig.files}}}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.css b/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.css index 44c14fd80..ebf755662 100755 --- a/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.css +++ b/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.css @@ -11,8 +11,10 @@ white-space: nowrap; } .dtree img { - border: 0px; - vertical-align: middle; + border: 0px !important; + margin:0px !important; + display:inline !important; + vertical-align: middle !important; } .dtree a,.dtree a:visited { color: #333; @@ -36,4 +38,4 @@ } .dtree .clip { overflow: hidden; -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.js b/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.js index 35496d743..b41c94abc 100644 --- a/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.js +++ b/ccm-core/web/assets/xinha/plugins/Linker/dTree/dtree.js @@ -1,357 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Linker/dTree/dtree.js */ -function Node(id,_2,_3,_4,_5,_6,_7,_8,_9){ -this.id=id; -this.pid=_2; -this.name=_3; -this.url=_4; -this.title=_5; -this.target=_6; -this.icon=_7; -this.iconOpen=_8; -this._io=_9||false; -this._is=false; -this._ls=false; -this._hc=false; -this._ai=0; -this._p; -} -function dTree(_a,_b){ -this.config={target:null,folderLinks:true,useSelection:true,useCookies:true,useLines:true,useIcons:true,useStatusText:false,closeSameLevel:false,inOrder:false}; -this.icon={root:_b+"img/base.gif",folder:_b+"img/folder.gif",folderOpen:_b+"img/folderopen.gif",node:_b+"img/page.gif",empty:_b+"img/empty.gif",line:_b+"img/line.gif",join:_b+"img/join.gif",joinBottom:_b+"img/joinbottom.gif",plus:_b+"img/plus.gif",plusBottom:_b+"img/plusbottom.gif",minus:_b+"img/minus.gif",minusBottom:_b+"img/minusbottom.gif",nlPlus:_b+"img/nolines_plus.gif",nlMinus:_b+"img/nolines_minus.gif"}; -this.obj=_a; -this.aNodes=[]; -this.aIndent=[]; -this.root=new Node(-1); -this.selectedNode=null; -this.selectedFound=false; -this.completed=false; -} -dTree.prototype.add=function(id,_d,_e,_f,_10,_11,_12,_13,_14){ -this.aNodes[this.aNodes.length]=new Node(id,_d,_e,_f,_10,_11,_12,_13,_14); -}; -dTree.prototype.openAll=function(){ -this.oAll(true); -}; -dTree.prototype.closeAll=function(){ -this.oAll(false); -}; -dTree.prototype.toString=function(){ -this.setCS_All(); -var str="
    \n"; -if(document.getElementById){ -if(this.config.useCookies){ -this.selectedNode=this.getSelected(); -} -str+=this.addNode(this.root); -}else{ -str+="Browser not supported."; -} -str+="
    "; -if(!this.selectedFound){ -this.selectedNode=null; -} -this.completed=true; -return str; -}; -dTree.prototype.addNode=function(_16){ -var str=""; -var n=0; -if(this.config.inOrder){ -n=_16._ai; -} -for(n;n"+this.indent(_1a,_1b); -if(this.config.useIcons){ -if(!_1a.icon){ -_1a.icon=(this.root.id==_1a.pid)?this.icon.root:((_1a._hc)?this.icon.folder:this.icon.node); -} -if(!_1a.iconOpen){ -_1a.iconOpen=(_1a._hc)?this.icon.folderOpen:this.icon.node; -} -if(this.root.id==_1a.pid){ -_1a.icon=this.icon.root; -_1a.iconOpen=this.icon.root; -} -str+="\"\""; -} -if(_1a.url){ -str+=""; -} -} -str+=_1a.name; -if(_1a.url||((!this.config.folderLinks||!_1a.url)&&_1a._hc)){ -str+=""; -} -str+="
    +
    +
    +
    + + +
    + +
    + diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/1.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/1.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e9cc95ca714a7cf0e6b797655b8af2ee5dc1b03e GIT binary patch literal 267 zcmWm2!7D>?0KoC@@3&ujKjXDu944oia<`jCc~2W}wJnx|oh-zWl9JTkxNwoUNDfX8 z4vIg(iOk7?3zwCoCVv3E>}iM3<+DFsnz9oE3Bb<#*)kx2l$Jp5=VlJ*TJtOG(B0P| zI6dnJ)QVU1;QC-YoH+)ZMZa8xtsw|@;WvVy1slWgRfWt6q*jmS?#2b>|<7 Ce@Hw4 literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/10.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/10.PNG new file mode 100644 index 0000000000000000000000000000000000000000..84e4f570fef323e71c57d25fb11a1ebfe012efff GIT binary patch literal 258 zcmXBJu}Z^G06@|ElAy6M@Ia-aL*L@&&@O^bFOq5krqtq~lcf%hiXxQa5bL6ggDyq- z4MP2f3jTtQZo27WOKl>d!&&aVtyZ?(+)@s3!@#cr0?6A2P#!$*12d<=!8tf{8Np+B z5wMQE$b;V9W{)CGneAQv21NoEt!`1NFG*?B9cuO(t{`6$(GlcbFTJpw~T9smqo-pkG kl&xf@pkn=luo|W%Usor0mi55*qWNwWAS_q>r_Fl%AD_lUO#lD@ literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/11.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/11.PNG new file mode 100644 index 0000000000000000000000000000000000000000..be6982feeeb7c233aaa6bd6dca76255c52ab8e12 GIT binary patch literal 294 zcmXZOF-rnr0D$55&Wp?xjRqx%yQR4V7mMNyEgh7SpqdgJYBPu;LhLKSjG&{RSZ@F=((wtHCpsi=g3w=WHpq=&+6107oPoi~|zjw#q=rxLX5;cEansFg*H4 z;=1Sol&wHC0Jj(E?(!9&ZHD7fIGg~Hg^mfL0ee&Mk$~v}xKo!KPYXaX5)7;yJSUCM z#)yu$XBcS0lX-ZwxO981_M%v|Tq;$vD6Vp~x{92yf8U%VRa%{QzaVM!-h4XVbY@@H zglBHnZ*%E(RaIrHmUBAWlHw|NPwyo;U+-tfkt&r|b5h6KH%+%Dbf3=gwjlY_ZmR!H d8s?xTgrVv}V!%4{`qe%v07OEuU}-*a@(b)wU{L@7 literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/12.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/12.PNG new file mode 100644 index 0000000000000000000000000000000000000000..a085a1bd292e10c3ad5fb3276645bba3104cbb16 GIT binary patch literal 260 zcmXYou}Z^G008ebPl(k>z@Z|7&%xOioI2=>q?$lmYH`rXQUyl~B1jSXsvx*H)IpJc zgJ3r&C&As#MJO(cxHuS5j07ESx#Ny2pDuo0~7z|d%d z;G#PQ$Stqr!PUwB*YYW#HiBvin$uto;WGyF47*u)sX_i6GTWW?+eM%m`rgXkLp^%` z$ZK-B?Dv4J)Q{up;&9xuq*9c*Zt)UNcXlU zIKRjNcFiriaDBY{Ya zZ3*fP1Yz$Xnj`2Bv>2t=d2uy-m*>OxXudR?h-G3x!gHN6pa3aD1@hlFOTgf!ySxSQ zp=b(c=V?G&w~IDhAMg4Lr+`>>%SG530eJx35abJNXW_L1lPySXG*|8mz@g{Zi?zq< zwEsL{F&1<~Q^?j{KhTrb+-(@>h7i6PN#8exl<##E?GB~gc?;{3YVY&Qv}im;#gB@5 zsTktoXXej7B6~tL+PWc5hAkQ$w4^)w|Io(cLRxF8mL@ypWO@^|9DtWEIaj&L{x6bw BREq!r literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/15.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/15.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e322b9789fabdbb6934c3a72db3115b4306c33e0 GIT binary patch literal 261 zcmX}ju`k3>0D$qY?Mw3i7cK@S7X~BAMIv0%)-7idVY!Ie zDB&M4*-V&jWg#)x$kED$7{27Ue20sbd8aU30Guccs(=Bw(gaE$*DFBZcDP!H{=r@b zXXitJ*!0UjTpcyKOQ(Rh5mw8vHwsA;K66N3V5bPLHJECHyLGa5I|uAXfxo=lS#Q*z zY|Z$0-gUjCon@J$^g^C}8PdCm%9MBB>@rixvl+jCIgKP!Lgy!%Ll9r07zl z&Tc~e1i?RW5XWwH(y6JbRfHZmSL@|9D?6D5tT6B^fB+m*1B%Jh7BF@kY@a}G{J-F? zH31m=Ude;@^+mdI3%Gkhr3AHEP?ymE1=WSq0(?ZU)CA|~X6I!UI17Dm^ZdP9OFlD_ zg`c#ScU5yZ=_4tV^*>s}MKk~a literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/2.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/2.PNG new file mode 100644 index 0000000000000000000000000000000000000000..4cec795dfae821732a46dcf6c10a5759de4434f9 GIT binary patch literal 255 zcmYkzze>YE0D$rD&S1~Bfq+9p9lS*cL9mnHbdgjOXp5E(6$Fb4E`p*IM2Z~hP!|VX zia0tK>I=B&1GqX04*CTCX^n`B!?*puv!%+So6e^JH;%$8Ab^~bK=J*y4vg$ZEBlZc z{Y`Ln?E}tMP!6DX-uha;1oTE!EyLji*c13jz`jCr2HqMl*MZ#5#oEIH(2T>NcJQ?R znY>IH3Wa`>@r>z@X={9KJO1}TD6I!6ZOyhtJ|djwA;)XGo+)LscS5TBl+xa?(%$&r nWA^?To!8d1EV3u0Iu%lFP8utiZBHN7Yd5O^aj_D1=NrdA{&_zL literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/3.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/3.PNG new file mode 100644 index 0000000000000000000000000000000000000000..f126794f630bdc1d578c2a269ec2317313572310 GIT binary patch literal 272 zcmW;B!7Ia20KoC@duBbG%})+nPVd4=;p(6_ZTwcYSPnSYLOD`WTC2S%}n&dJ3Zd=N*Hfjv EUx+DC5C8xG literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/4.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/4.PNG new file mode 100644 index 0000000000000000000000000000000000000000..1c5ea967194ea3860e520416dad282e2d2cf2237 GIT binary patch literal 265 zcmXBG!7D>?0KoC@@3&w4jOmGba(WkM+etaSt+#nATeBP}wKa+xl9JSW!+{IMMRJgw z)%*cgdTvT`b8(*2lCqgR$>CFZ-lRPL=ZGT$84(0KJp0>e1wms|EfEL8tOz0+gkIH yH6it$kUHqn*2Qfdp)Q5gSEl9r6%VNw`)#TZO2=uX#^;X;nRkF}I`3Sk$~(VsZc6+B literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/5.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/5.PNG new file mode 100644 index 0000000000000000000000000000000000000000..dcaa67648b4d1e281fd4d156c647d586793aaa6e GIT binary patch literal 261 zcmXBKze@s90KoC@dmi>Oj}97)hImUYEwwt-GtRn$l#+&;l8R~w5<&XL1>6o>hOBE&;s}6mn1*1A7cV5!eqXPr_#r(pQk$yI6ai0}ew!vwZNrUiofM z7^XVW6P{V9McqE7Z);IE=6G+dRwSf)h%4>6p3%vFW;$j#+Of#jD5kXT3~Fn3EwUjT t@1&RGO6x6@J|DHn7vXr%NsDX>sW!)r71U2>O6g?z3n0wq{kz#>{SSjdLq`Ar literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/6.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/6.PNG new file mode 100644 index 0000000000000000000000000000000000000000..caaef0c3acb05a0babe6a655aa13c6735cc7de57 GIT binary patch literal 275 zcmXYnze@sP06^beCtd!44;oHdx+Q2!mxdtxtg}u?tD~W&%!V4Gga{;q&RTS7sG*3U z%`vclz?S}oAcB?7%dp@?%U=enGFao*Rc~h8Gf2{`~KHUDGRp(S9N4R9E$xF`DPoiTP6D4j`S% JIyY0fqhAq=QrrLl literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/7.PNG b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/7.PNG new file mode 100644 index 0000000000000000000000000000000000000000..d4f9744949e2a5590b5c6412a4716db0643d4e8f GIT binary patch literal 262 zcmWl|JxfAS0D$5591X7@mku--EuEp7y$C@~=Z2PoN=ZWnk=4*x5J80C(H31oYN>FK zmcaf%EkXT++JcrEYcVWu^uW_vEG@XPu^8aybD1(AfTSaVZ0~jji08L=l!FOq{R-wELErpblhME!^8Ve#ai8^XA=)-D>2-+G0 zgJ^WIw*G)>3<4XnLa-0<4TlGQ&+b%e!siKk0AC^=O#=e(8yXP%zMciTmg93P;O%WE zI6Dsj`l6k*p>(kEH+=%gg?Ks%`2lct;75T|h1DT=%Ru-P{7c94cjG`Y5w&M>PuXU( z?z0%)%r}G52}DM7!nF26?;|cl-ml$WXuA3G+<%Bx_; z!R1vyAU6Gy5BH~s@!|y_H^NE@YD1uo;a7wDg8dQruEJy!3Onbk&$B=y3jC#m_w`!) zbKGMziM1&?;+AyskBkb45x~8iyHyT5XIr51?XJ+f;ZfY1HDwc!W>1yK-{SQp1 literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/ed_snippet.gif b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/img/ed_snippet.gif new file mode 100644 index 0000000000000000000000000000000000000000..12684f81934bd7fe397bc935dc15dd2f3a4c18aa GIT binary patch literal 606 zcmV-k0-^m!Nk%w1VG;lm0PX+)00030|NsC0>*?Oe&#N;3|J48g_W%Fk|Nq0|)w#Z% zK=JC_%dSMru0x21gv+i+%dSStu0^q^ljho&|Nr;n)uhwClHSg(VP!k%66`fQW{Ih=zlYh=b$RtpESI|NgxH|GxkKw*UXQ|NpuF z|H$#`+W-H?|Nq4C>d5ix(edip@#?qu^rip*(Bsv!|Nr3e>ZJevrT_o1|NpZ8|Fr-A zsQ>?~|NpMx%UOtqe~^h`l8a=BhJA*EeTRm5h=zQWkZYBaZkCjBoR4plj%SsNV4IC& zu!0w{gd4w+54(v3sdojadKtNf0J@eoyqY|ahh4anFtdmtwTmUUk1Lm!bjze=&a!CI zyJp(HMbEQB)VxpGyFuT{Rocg4-OOg#!&}_JN!-It-o{bGoF&nx9LAt3!2O5prMVO2M-`Xh!BARg9Z)i s%=xmx%^f;r#Hd-r#!Qe79-fo{Ai+tNAw-%aQL@BK962ID00;yCI})uuX#fBK literal 0 HcmV?d00001 diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/lang/de.js b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/lang/de.js new file mode 100644 index 000000000..63caae9cb --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/lang/de.js @@ -0,0 +1,12 @@ +// I18N constants +// LANG: "de", ENCODING: UTF-8 +{ + "Insert Snippet": "Snippet einfügen", + "Insert as HTML": "Als HTML einfügen", + "HTML": "HTML", + "Insert as template variable": "Als Template-Variable einfügen", + "Variable": "Variable", + "All Categories" : "Alle Kategorien", + "Only search word beginning" : "Nur nach Wortanfang suchen", + "Filter" : "Filter" +}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/readme.html b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/readme.html new file mode 100644 index 000000000..c161a4bf3 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/readme.html @@ -0,0 +1,51 @@ + + InsertSnippet for Xinha + + +

    InsertSnippet2 for Xinha

    +

    Insert HTML fragments or template variables in your document.

    +

    Features

    +
      +
    • Categorization to organize your snippets if you have a lot (optional)
    • +
    • Search for name
    • +
    • Insert as literal text/html or variable (optional) 
    • +
    • XML data format
    • +
    +

    Usage

    +

    +In order to use your own snippets you have to add a parameter to your xinha_config: +

    +
    xinha_config.InsertSnippet2.snippets = "/path/to/your/snippets.xml";
    +
    +

    This path should point to a XML file that has the following format:

    +
    <snXML>
    + <categories>
    +    <c n="the name" />
    +  </categories>
    +  <snippets>
    +        <s n="the name" v="optional variable name to be inserted" c="the category">
    +            &lt;p&gt;some text or HTML, please entize HTML tags&lt;/p&gt;
    +        </s>
    +        <s n="another">
    +            <![CDATA[
    +               <p>or put HTML in a CDATA section</p>
    +            ]]>
    +        </s>
    +  </snipptes>
    +</snXML>
    +
    +

    +

     Tags

    +
    <snXML></snXML>
     The root tag
    <categories></categories>
     This tag contains the categories (optional)
     <c />
     Each category
     <snippets></snippets>
    This tag contains the actual snippet. As this is XML, you cannot put HTML here literally. You have to either entize the <,>, and & characters or wrap the contents in a CDATA section
    +

    Attributes

    +
     n
     The name of one snippet or category. It is obligatory for both.
     v
    If this attribute is present in a snippet tag, there is a button in the UI that allows to insert this variable instead of the textual content of the snippet.
    c
     The category
    +

    Inside the plugin's directory, there is a sample XML file and PHP script that shows how to create the XML dynamically.

    +

    3 October 2008 Raimund Meyer (xinha@raimundmeyer.de)

    + + \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.php b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.php new file mode 100644 index 000000000..9b226addd --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.php @@ -0,0 +1,37 @@ +'some text'), + * array('name'= 'snippet2','text'=>'

    some HTML

    ', 'varname'=>'{$var}','category'=>'cat1') //varname and category are optional + * ) + * + * ?> + */ +header("Content-type: text/xml"); +print ' +'; +?> + + +'."\n"; +} + +?> + + + + +
    '."\n"; +} +?> + + \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.xml b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.xml new file mode 100644 index 000000000..c06107d8c --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/InsertSnippet2/snippets.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + Visit the Xinha website +
    \""; -for(var i=_2a.length;--i>=0;){ -_2a.remove(i); -} -for(var i=0;i<_29.length;++i){ -var txt=_29[i]; -var _2b=document.createElement("option"); -_2b.value=txt; -_2b.appendChild(document.createTextNode(txt)); -_2a.appendChild(_2b); -} -document.getElementById("v_currentWord").innerHTML=this.__msh_origWord; -if(_29.length>0){ -_2a.selectedIndex=0; -_2a.onchange(); -}else{ -document.getElementById("v_replacement").value=this.innerHTML; -} -_2a.style.display="none"; -_2a.style.display="block"; -return false; -} -function wordMouseOver(){ -this.className+=" HA-spellcheck-hover"; -} -function wordMouseOut(){ -this.className=this.className.replace(/\s*HA-spellcheck-hover\s*/g," "); -} -function displayInfo(){ -var _2c=frame.contentWindow.spellcheck_info; -if(!_2c){ -alert("No information available"); -}else{ -var txt="** Document information **"; -for(var i in _2c){ -txt+="\n"+i+" : "+_2c[i]; -} -alert(txt); -} -return false; -} -function finishedSpellChecking(){ -currentElement=null; -wrongWords=null; -allWords={}; -fixedWords=[]; -suggested_words=frame.contentWindow.suggested_words; -document.getElementById("status").innerHTML="Xinha Spell Checker (info)"; -var doc=frame.contentWindow.document; -var _30=doc.getElementsByTagName("span"); -var sps=[]; -var id=0; -for(var i=0;i<_30.length;++i){ -var el=_30[i]; -if(/HA-spellcheck-error/.test(el.className)){ -sps.push(el); -el.__msh_wordClicked=wordClicked; -el.onclick=function(ev){ -ev||(ev=window.event); -ev&&Xinha._stopEvent(ev); -return this.__msh_wordClicked(false); -}; -el.onmouseover=wordMouseOver; -el.onmouseout=wordMouseOut; -el.__msh_id=id++; -var txt=(el.__msh_origWord=el.firstChild.data); -el.__msh_fixed=false; -if(typeof allWords[txt]=="undefined"){ -allWords[txt]=[el]; -}else{ -allWords[txt].push(el); -} -}else{ -if(/HA-spellcheck-fixed/.test(el.className)){ -fixedWords.push(el); -} -} -} -var _37=doc.getElementById("HA-spellcheck-dictionaries"); -if(_37){ -_37.parentNode.removeChild(_37); -_37=_37.innerHTML.split(/,/); -var _38=document.getElementById("v_dictionaries"); -for(var i=_38.length;--i>=0;){ -_38.remove(i); -} -var _39=document.getElementById("f_dictionary").value; -for(var i=0;i<_37.length;++i){ -var txt=_37[i]; -var _3a=document.createElement("option"); -if(txt==_39){ -_3a.selected=true; -} -_3a.value=txt; -_3a.appendChild(document.createTextNode(txt)); -_38.appendChild(_3a); -} -} -wrongWords=sps; -if(sps.length==0){ -if(!modified){ -alert(_lc("No mispelled words found with the selected dictionary.")); -}else{ -alert(_lc("No mispelled words found with the selected dictionary.")); -} -return false; -} -(currentElement=sps[0]).__msh_wordClicked(true); -var as=doc.getElementsByTagName("a"); -for(var i=as.length;--i>=0;){ -var a=as[i]; -a.onclick=function(){ -if(confirm(_lc("Please confirm that you want to open this link")+":\n"+this.href+"\n"+_lc("I will open it in a new page."))){ -window.open(this.href); -} -return false; -}; -} -} - diff --git a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-checker.js b/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-checker.js deleted file mode 100644 index 1bbc00c5f..000000000 --- a/ccm-core/web/assets/xinha/plugins/SpellChecker/spell-checker.js +++ /dev/null @@ -1,38 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SpellChecker/spell-checker.js */ -Xinha.Config.prototype.SpellChecker={"backend":"php","personalFilesDir":"","defaultDictionary":"en_GB","utf8_to_entities":true}; -function SpellChecker(_1){ -this.editor=_1; -var _2=_1.config; -var bl=SpellChecker.btnList; -var _4=this; -var id="SC-spell-check"; -_2.registerButton(id,this._lc("Spell-check"),_1.imgURL("spell-check.gif","SpellChecker"),false,function(_6,id){ -_4.buttonPress(_6,id); -}); -_2.addToolbarElement("SC-spell-check","htmlmode",1); -} -SpellChecker._pluginInfo={name:"SpellChecker",version:"1.0",developer:"Mihai Bazon",developer_url:"http://dynarch.com/mishoo/",c_owner:"Mihai Bazon",sponsor:"American Bible Society",sponsor_url:"http://www.americanbible.org",license:"htmlArea"}; -SpellChecker.prototype._lc=function(_8){ -return Xinha._lc(_8,"SpellChecker"); -}; -SpellChecker.btnList=[null,["spell-check"]]; -SpellChecker.prototype.buttonPress=function(_9,id){ -switch(id){ -case "SC-spell-check": -SpellChecker.editor=_9; -SpellChecker.init=true; -var _b=Xinha.getPluginDir("SpellChecker")+"/spell-check-ui.html"; -var _c; -if(Xinha.is_ie){ -_c=window.open(_b,"SC_spell_checker","toolbar=no,location=no,directories=no,status=no,menubar=no,"+"scrollbars=no,resizable=yes,width=600,height=450"); -}else{ -_c=window.open(_b,"SC_spell_checker","toolbar=no,menubar=no,personalbar=no,width=600,height=450,"+"scrollbars=no,resizable=yes"); -} -_c.focus(); -break; -} -}; -SpellChecker.editor=null; - diff --git a/ccm-core/web/assets/xinha/plugins/Stylist/Stylist.js b/ccm-core/web/assets/xinha/plugins/Stylist/Stylist.js new file mode 100644 index 000000000..00fef1c00 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/Stylist/Stylist.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.Config.prototype.css_style={};Xinha.Config.prototype.stylistLoadStylesheet=function(c,f,e){if(!f){f={}}var b=Xinha.ripStylesFromCSSFile(c,e);for(var d in b){if(f[d]){this.css_style[d]=f[d]}else{this.css_style[d]=b[d]}}for(var a=0;a0)){m=a.substring(0,a.indexOf(".")).toLowerCase();a=a.substring(a.indexOf("."),a.length);if(b!=null&&b.tagName.toLowerCase()==m){i=true;f=b}else{if(this._getFirstAncestor(this._getSelection(),[m])!=null){i=true;f=this._getFirstAncestor(this._getSelection(),[m])}else{if((m=="div"||m=="span"||m=="p"||(m.substr(0,1)=="h"&&m.length==2&&m!="hr"))){if(!this._selectionEmpty(this._getSelection())){i=true;f="new"}else{f=this._getFirstAncestor(d,["p","h1","h2","h3","h4","h5","h6","h7"]);if(f!=null){i=true}else{i=false}}}else{i=false}}}}if(i){a=a.substring(a.indexOf("."),a.length);a=a.replace("."," ");if(f==null){if(this._selectionEmpty(this._getSelection())){f=this._getFirstAncestor(this._getSelection(),null)}else{f="new";m="span"}}}var g=(this._ancestorsWithClasses(d,m,a).length>0?true:false);var e=this._ancestorsWithClasses(d,m,a);if(i){var k=document.createElement("a");k.onfocus=function(){this.blur()};k._stylist_className=a.trim();k._stylist_applied=g;k._stylist_appliedTo=e;k._stylist_applyTo=f;k._stylist_applyTag=m;k.innerHTML=this.config.css_style[l];k.href="javascript:void(0)";var c=this;k.onclick=function(){if(this._stylist_applied==true){c._stylistRemoveClasses(this._stylist_className,this._stylist_appliedTo)}else{c._stylistAddClasses(this._stylist_applyTo,this._stylist_applyTag,this._stylist_className)}return false};k.style.display="block";k.style.paddingLeft="3px";k.style.paddingTop="1px";k.style.paddingBottom="1px";k.style.textDecoration="none";if(g){k.style.background="Highlight";k.style.color="HighlightText"}k.style.position="relative";h.appendChild(k)}}};Xinha.prototype._stylistAddClasses=function(c,a,b){if(c=="new"){this.insertHTML("<"+a+' class="'+b+'">'+this.getSelectedHTML()+"")}else{if(a!=null&&c.tagName.toLowerCase()!=a){var d=this.switchElementTag(c,a);if(typeof c._stylist_usedToBe!="undefined"){d._stylist_usedToBe=c._stylist_usedToBe;d._stylist_usedToBe[d._stylist_usedToBe.length]={tagName:c.tagName,className:c.getAttribute("class")}}else{d._stylist_usedToBe=[{tagName:c.tagName,className:c.getAttribute("class")}]}Xinha.addClasses(d,b)}else{Xinha._addClasses(c,b)}}this.focusEditor();this.updateToolbar()};Xinha.prototype._stylistRemoveClasses=function(b,c){for(var a=0;a0&&a._stylist_usedToBe[a._stylist_usedToBe.length-1].className!=null){var m=a._stylist_usedToBe[a._stylist_usedToBe.length-1];var j=Xinha.arrayFilter(m.className.trim().split(" "),function(i){if(i==null||i.trim()==""){return false}return true});if((g.length==0)||(Xinha.arrayContainsArray(g,j)&&Xinha.arrayContainsArray(j,g))){a=this.switchElementTag(a,m.tagName);g=j}else{a._stylist_usedToBe=[]}}if(g.length>0||a.tagName.toLowerCase()!="span"||(a.id&&a.id!="")){a.className=g.join(" ").trim()}else{var b=a.parentNode;var e;while(a.hasChildNodes()){if(a.firstChild.nodeType==1){this._stylistRemoveClassesFull(a.firstChild,c)}e=a.removeChild(a.firstChild);b.insertBefore(e,a)}b.removeChild(a)}}};Xinha.prototype.switchElementTag=function(e,c){var d=e.parentNode;var f=this._doc.createElement(c);if(Xinha.is_ie||e.hasAttribute("id")){f.setAttribute("id",e.getAttribute("id"))}if(Xinha.is_ie||e.hasAttribute("style")){f.setAttribute("style",e.getAttribute("style"))}var b=e.childNodes;for(var a=0;a0)?a.offsetHeight-g.panel.offsetHeight:0)+"px";d.rootElem.style.height=b.offsetHeight+"px";c.sizeEditor();break;case"hide":f.resize();break}});c.notifyOn("before_resize",function(){if(!d.attached){return}d.rootElem.style.height=b.offsetHeight+"px"});c.notifyOn("resize",function(){if(!d.attached){return}f.resize()})};Stylist.prototype.resize=function(){var c=this.editor;var e=this.dialog.rootElem;if(e.style.display=="none"){return}var b=e.parentNode;var a=b.offsetHeight;for(var d=0;d0)){ -_d=_e.substring(0,_e.indexOf(".")).toLowerCase(); -_e=_e.substring(_e.indexOf("."),_e.length); -if(_b!=null&&_b.tagName.toLowerCase()==_d){ -_f=true; -_10=_b; -}else{ -if(this._getFirstAncestor(this._getSelection(),[_d])!=null){ -_f=true; -_10=this._getFirstAncestor(this._getSelection(),[_d]); -}else{ -if((_d=="div"||_d=="span"||_d=="p"||(_d.substr(0,1)=="h"&&_d.length==2&&_d!="hr"))){ -if(!this._selectionEmpty(this._getSelection())){ -_f=true; -_10="new"; -}else{ -_10=this._getFirstAncestor(_a,["p","h1","h2","h3","h4","h5","h6","h7"]); -if(_10!=null){ -_f=true; -}else{ -_f=false; -} -} -}else{ -_f=false; -} -} -} -} -if(_f){ -_e=_e.substring(_e.indexOf("."),_e.length); -_e=_e.replace("."," "); -if(_10==null){ -if(this._selectionEmpty(this._getSelection())){ -_10=this._getFirstAncestor(this._getSelection(),null); -}else{ -_10="new"; -_d="span"; -} -} -} -var _11=(this._ancestorsWithClasses(_a,_d,_e).length>0?true:false); -var _12=this._ancestorsWithClasses(_a,_d,_e); -if(_f){ -var _13=document.createElement("a"); -if(Xinha.is_real_gecko){ -_13.onfocus=function(){ -this.blur(); -}; -} -_13._stylist_className=_e.trim(); -_13._stylist_applied=_11; -_13._stylist_appliedTo=_12; -_13._stylist_applyTo=_10; -_13._stylist_applyTag=_d; -_13.innerHTML=this.config.css_style[x]; -_13.href="javascript:void(0)"; -var _14=this; -_13.onclick=function(){ -if(this._stylist_applied==true){ -_14._stylistRemoveClasses(this._stylist_className,this._stylist_appliedTo); -}else{ -_14._stylistAddClasses(this._stylist_applyTo,this._stylist_applyTag,this._stylist_className); -} -return false; -}; -_13.style.display="block"; -_13.style.paddingLeft="3px"; -_13.style.paddingTop="1px"; -_13.style.paddingBottom="1px"; -_13.style.textDecoration="none"; -if(_11){ -_13.style.background="Highlight"; -_13.style.color="HighlightText"; -} -this.plugins.Stylist.instance.main.appendChild(_13); -} -} -}; -Xinha.prototype._stylistAddClasses=function(el,tag,_17){ -if(el=="new"){ -this.insertHTML("<"+tag+" class=\""+_17+"\">"+this.getSelectedHTML()+""); -}else{ -if(tag!=null&&el.tagName.toLowerCase()!=tag){ -var _18=this.switchElementTag(el,tag); -if(typeof el._stylist_usedToBe!="undefined"){ -_18._stylist_usedToBe=el._stylist_usedToBe; -_18._stylist_usedToBe[_18._stylist_usedToBe.length]={"tagName":el.tagName,"className":el.getAttribute("class")}; -}else{ -_18._stylist_usedToBe=[{"tagName":el.tagName,"className":el.getAttribute("class")}]; -} -Xinha.addClasses(_18,_17); -}else{ -Xinha._addClasses(el,_17); -} -} -this.focusEditor(); -this.updateToolbar(); -}; -Xinha.prototype._stylistRemoveClasses=function(_19,_1a){ -for(var x=0;x<_1a.length;x++){ -this._stylistRemoveClassesFull(_1a[x],_19); -} -this.focusEditor(); -this.updateToolbar(); -}; -Xinha.prototype._stylistRemoveClassesFull=function(el,_1d){ -if(el!=null){ -var _1e=el.className.trim().split(" "); -var _1f=[]; -var _20=_1d.split(" "); -for(var x=0;x<_1e.length;x++){ -var _22=false; -for(var i=0;_22==false&&i<_20.length;i++){ -if(_20[i]==_1e[x]){ -_22=true; -} -} -if(_22==false){ -_1f[_1f.length]=_1e[x]; -} -} -if(_1f.length==0&&el._stylist_usedToBe&&el._stylist_usedToBe.length>0&&el._stylist_usedToBe[el._stylist_usedToBe.length-1].className!=null){ -var _24=el._stylist_usedToBe[el._stylist_usedToBe.length-1]; -var _25=Xinha.arrayFilter(_24.className.trim().split(" "),function(c){ -if(c==null||c.trim()==""){ -return false; -} -return true; -}); -if((_1f.length==0)||(Xinha.arrayContainsArray(_1f,_25)&&Xinha.arrayContainsArray(_25,_1f))){ -el=this.switchElementTag(el,_24.tagName); -_1f=_25; -}else{ -el._stylist_usedToBe=[]; -} -} -if(_1f.length>0||el.tagName.toLowerCase()!="span"||(el.id&&el.id!="")){ -el.className=_1f.join(" ").trim(); -}else{ -var _27=el.parentNode; -var _28=el.childNodes; -for(var x=0;x<_28.length;x++){ -_27.insertBefore(_28[x],el); -} -_27.removeChild(el); -} -} -}; -Xinha.prototype.switchElementTag=function(el,tag){ -var _2b=el.parentNode; -var _2c=this._doc.createElement(tag); -if(Xinha.is_ie||el.hasAttribute("id")){ -_2c.setAttribute("id",el.getAttribute("id")); -} -if(Xinha.is_ie||el.hasAttribute("style")){ -_2c.setAttribute("style",el.getAttribute("style")); -} -var _2d=el.childNodes; -for(var x=0;x<_2d.length;x++){ -_2c.appendChild(_2d[x].cloneNode(true)); -} -_2b.insertBefore(_2c,el); -_2c._stylist_usedToBe=[el.tagName]; -_2b.removeChild(el); -this.selectNodeContents(_2c); -return _2c; -}; -Xinha.prototype._getAncestorsClassNames=function(sel){ -var _30=this._activeElement(sel); -if(_30==null){ -_30=(Xinha.is_ie?this._createRange(sel).parentElement():this._createRange(sel).commonAncestorContainer); -} -var _31=[]; -while(_30){ -if(_30.nodeType==1){ -var _32=_30.className.trim().split(" "); -for(var x=0;x<_32.length;x++){ -_31[_31.length]=_32[x]; -} -if(_30.tagName.toLowerCase()=="body"){ -break; -} -if(_30.tagName.toLowerCase()=="table"){ -break; -} -} -_30=_30.parentNode; -} -return _31; -}; -Xinha.prototype._ancestorsWithClasses=function(sel,tag,_36){ -var _37=[]; -var _38=this._activeElement(sel); -if(_38==null){ -try{ -_38=(Xinha.is_ie?this._createRange(sel).parentElement():this._createRange(sel).commonAncestorContainer); -} -catch(e){ -return _37; -} -} -var _39=_36.trim().split(" "); -while(_38){ -if(_38.nodeType==1&&_38.className){ -if(tag==null||_38.tagName.toLowerCase()==tag){ -var _36=_38.className.trim().split(" "); -var _3a=true; -for(var i=0;i<_39.length;i++){ -var _3c=false; -for(var x=0;x<_36.length;x++){ -if(_39[i]==_36[x]){ -_3c=true; -break; -} -} -if(!_3c){ -_3a=false; -break; -} -} -if(_3a){ -_37[_37.length]=_38; -} -} -if(_38.tagName.toLowerCase()=="body"){ -break; -} -if(_38.tagName.toLowerCase()=="table"){ -break; -} -} -_38=_38.parentNode; -} -return _37; -}; -Xinha.ripStylesFromCSSFile=function(URL){ -var css=Xinha._geturlcontent(URL); -return Xinha.ripStylesFromCSSString(css); -}; -Xinha.ripStylesFromCSSString=function(css){ -RE_comment=/\/\*(.|\r|\n)*?\*\//g; -RE_rule=/\{(.|\r|\n)*?\}/g; -css=css.replace(RE_comment,""); -css=css.replace(RE_rule,","); -css=css.split(","); -var _41={}; -for(var x=0;x0)?_47.main.offsetHeight-_4b.panel.offsetHeight:0)+"px"; -_46._stylist.style.height=_47.caption.offsetHeight+"px"; -_46.sizeEditor(); -break; -case "hide": -_47.resize(); -break; -} -}); -_46.notifyOn("before_resize",function(){ -_46._stylist.style.height=_47.caption.offsetHeight+"px"; -}); -_46.notifyOn("resize",function(){ -_47.resize(); -}); -} -}; -Stylist.prototype.resize=function(){ -var _4d=this.editor; -var _4e=_4d._stylist.parentNode; -var _4f=_4e.offsetHeight; -for(var i=0;i<_4e.childNodes.length;++i){ -if(_4e.childNodes[i]==_4d._stylist||!_4e.childNodes[i].offsetHeight){ -continue; -} -_4f-=_4e.childNodes[i].offsetHeight; -} -_4d._stylist.style.height=_4f+"px"; -this.main.style.height=_4f-this.caption.offsetHeight+"px"; -}; -Stylist.prototype.onUpdateToolbar=function(){ -if(this.editor._stylist){ -if(this._timeoutID){ -window.clearTimeout(this._timeoutID); -} -var e=this.editor; -this._timeoutID=window.setTimeout(function(){ -e._fillStylist(); -},250); -} -}; - diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/dialog.html b/ccm-core/web/assets/xinha/plugins/SuperClean/dialog.html deleted file mode 100755 index abced7625..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/dialog.html +++ /dev/null @@ -1,9 +0,0 @@ -

    Clean up HTML

    -
    - Please select from the following cleaning options... - -
    - - -
    -
    \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/filters/paragraph.js b/ccm-core/web/assets/xinha/plugins/SuperClean/filters/paragraph.js deleted file mode 100644 index d6263aca3..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/filters/paragraph.js +++ /dev/null @@ -1,10 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SuperClean/filters/paragraph.js */ -function(_1){ -_1=_1.replace(/<\s*p[^>]*>/gi,""); -_1=_1.replace(/<\/\s*p\s*>/gi,""); -_1=_1.trim(); -return _1; -} - diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/filters/word.js b/ccm-core/web/assets/xinha/plugins/SuperClean/filters/word.js deleted file mode 100644 index a2174b081..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/filters/word.js +++ /dev/null @@ -1,30 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SuperClean/filters/word.js */ -function(_1){ -_1=_1.replace(//gi,""); -_1=_1.replace(//gi,""); -_1=_1.replace(/<\/?\s*HTML[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*BODY[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*META[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*SPAN[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*FONT[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*IFRAME[^>]*>/gi,""); -_1=_1.replace(/<\/?\s*STYLE[^>]*>(.|[\n\r\t])*<\/\s*STYLE\s*>/gi,""); -_1=_1.replace(/<\s*TITLE[^>]*>(.|[\n\r\t])*<\/\s*TITLE\s*>/gi,""); -_1=_1.replace(/<\s*SCRIPT[^>]*>[^\0]*<\/\s*SCRIPT\s*>/gi,""); -_1=_1.replace(/<\s*HEAD[^>]*>(.|[\n\r\t])*<\/\s*HEAD\s*>/gi,""); -_1=_1.replace(/<\s*(\w[^>]*) class=([^ |>]*)([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\s*(\w[^>]*) style="([^"]*)"([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\s*(\w[^>]*) lang=([^ |>]*)([^>]*)/gi,"<$1$3"); -_1=_1.replace(/<\\?\?xml[^>]*>/gi,""); -_1=_1.replace(/<\/?\w+:[^>]*>/gi,""); -_1=_1.replace(/ /," "); -_1=_1.replace(/<\s*p[^>]*><\s*br\s*\/?>\s*<\/\s*p[^>]*>/gi,"
    "); -_1=_1.replace(/<\s*p[^>]*>/gi,""); -_1=_1.replace(/<\/\s*p[^>]*>/gi,"
    "); -_1=_1.replace(/(\s*
    \s*)*$/,""); -_1=_1.trim(); -return _1; -} - diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/img/ed_superclean.gif b/ccm-core/web/assets/xinha/plugins/SuperClean/img/ed_superclean.gif deleted file mode 100755 index 53180a80ba24643381b413ca4dcfebfc52f50c6f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 334 zcmV-U0kQr^Nk%w1VG;lm0Nnrp|NsBSgjm+rGVky2>FGJ`?&tUS_2Azx=+3^}xRt}j zR?d`L%*>hb@j0D`LDbZt@b){{+-us~ndRm+&CM$J@iF1y(%|6Ex~Gu4yF|{;Q}pyO z&$uSc%rpG|-RR@mdP)Vv#3$Fw*y`&m*uY!I$6J|Z0O#k}=jGAh)W^7?C-n93$D4B3 z*b~psp^#(?&BAYpZ3qyE3L_mn6apDo98U2NI(z{OWr6_)15zRm9Xlk6QW6an94{aa gQ9~#iBU=O$3M)h>4 -// MSN: tomarshall@msn.com - ICQ: 69419933 -// Site: http://www.mpg.com.br -// -// Last revision: 06 september 2007 -// Please don´t remove this information -// If you modify any source, please insert a comment with your name and e-mail -// -// Distributed under the same terms as HTMLArea itself. -// This notice MUST stay intact for use (see license.txt). - -{ - "Cancel": "", - "Clean bad HTML from Microsoft Word": "Limpar códigos mal formatados do Microsoft Word", - "Clean up HTML": "Limpar HTML", - "General tidy up and correction of some problems.": "Limpesa geral e correção de alguns problemas.", - "OK": "", - "Please select from the following cleaning options...": "Por favor, selecione uma das opções de limpesa...", - "Remove custom font sizes.": "Remover tamanho de fontes personalizados (font size).", - "Remove custom text colors.": "Remover cores de texto personalizados (font color).", - "Remove custom typefaces (font \"styles\").": "Remover tipos de letras personalizadas (font \"styles\").", - "Remove lang attributes.": "Remover atributos de idioma.", - "Replace directional quote marks with non-directional quote marks.": "", - // not find with lc_parse_strings.php - "Tidy failed. Check your HTML for syntax errors.": "Limpesa falhou. Verifique seu HTML por erros de sintaxe.", - "You don't have anything to tidy!": "Você não possui nada para limpar!" -} - diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/super-clean.js b/ccm-core/web/assets/xinha/plugins/SuperClean/super-clean.js deleted file mode 100644 index 0461d6adf..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/super-clean.js +++ /dev/null @@ -1,214 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/SuperClean/super-clean.js */ -function SuperClean(_1,_2){ -this.editor=_1; -var _3=this; -_1._superclean_on=false; -_1.config.registerButton("superclean",this._lc("Clean up HTML"),_1.imgURL("ed_superclean.gif","SuperClean"),true,function(e,_5,_6){ -_3._superClean(null,_6); -}); -_1.config.addToolbarElement("superclean","killword",0); -} -SuperClean._pluginInfo={name:"SuperClean",version:"1.0",developer:"James Sleeman, Niko Sams",developer_url:"http://www.gogo.co.nz/",c_owner:"Gogo Internet Services",license:"htmlArea",sponsor:"Gogo Internet Services",sponsor_url:"http://www.gogo.co.nz/"}; -SuperClean.prototype._lc=function(_7){ -return Xinha._lc(_7,"SuperClean"); -}; -SuperClean.prototype._superClean=function(_8,_9){ -var _a=this; -var _b=function(){ -var _c=_a._dialog.hide(); -var _d=_a.editor; -if(_c.word_clean){ -_d._wordClean(); -} -var D=_d.getInnerHTML(); -for(var _f in _d.config.SuperClean.filters){ -if(_f=="tidy"||_f=="word_clean"){ -continue; -} -if(_c[_f]){ -D=SuperClean.filterFunctions[_f](D,_d); -} -} -D=D.replace(/(style|class)="\s*"/gi,""); -D=D.replace(/<(font|span)\s*>/gi,""); -_d.setHTML(D); -if(_c.tidy){ -var _10=function(_11){ -eval("var response = "+_11); -switch(response.action){ -case "setHTML": -_d.setHTML(response.value); -break; -case "alert": -alert(_a._lc(response.value)); -break; -} -}; -Xinha._postback(_d.config.SuperClean.tidy_handler,{"content":_d.getInnerHTML()},_10); -} -return true; -}; -if(this.editor.config.SuperClean.show_dialog){ -var _12={}; -this._dialog.show(_12,_b); -}else{ -var _13=this.editor; -var _14=_13.getInnerHTML(); -for(var _15 in _13.config.SuperClean.filters){ -if(_15=="tidy"){ -continue; -} -_14=SuperClean.filterFunctions[_15](_14,_13); -} -_14=_14.replace(/(style|class)="\s*"/gi,""); -_14=_14.replace(/<(font|span)\s*>/gi,""); -_13.setHTML(_14); -if(_13.config.SuperClean.filters.tidy){ -SuperClean.filterFunctions.tidy(_14,_13); -} -} -}; -Xinha.Config.prototype.SuperClean={"tidy_handler":Xinha.getPluginDir("SuperClean")+"/tidy.php","filters":{"tidy":Xinha._lc("General tidy up and correction of some problems.","SuperClean"),"word_clean":Xinha._lc("Clean bad HTML from Microsoft Word","SuperClean"),"remove_faces":Xinha._lc("Remove custom typefaces (font \"styles\").","SuperClean"),"remove_sizes":Xinha._lc("Remove custom font sizes.","SuperClean"),"remove_colors":Xinha._lc("Remove custom text colors.","SuperClean"),"remove_lang":Xinha._lc("Remove lang attributes.","SuperClean"),"remove_fancy_quotes":{label:Xinha._lc("Replace directional quote marks with non-directional quote marks.","SuperClean"),checked:false}},"show_dialog":true}; -SuperClean.filterFunctions={}; -SuperClean.filterFunctions.remove_colors=function(D){ -D=D.replace(/color="?[^" >]*"?/gi,""); -D=D.replace(/([^-])color:[^;}"']+;?/gi,"$1"); -return (D); -}; -SuperClean.filterFunctions.remove_sizes=function(D){ -D=D.replace(/size="?[^" >]*"?/gi,""); -D=D.replace(/font-size:[^;}"']+;?/gi,""); -return (D); -}; -SuperClean.filterFunctions.remove_faces=function(D){ -D=D.replace(/face="?[^" >]*"?/gi,""); -D=D.replace(/font-family:[^;}"']+;?/gi,""); -return (D); -}; -SuperClean.filterFunctions.remove_lang=function(D){ -D=D.replace(/lang="?[^" >]*"?/gi,""); -return (D); -}; -SuperClean.filterFunctions.word_clean=function(_1a,_1b){ -_1b.setHTML(_1a); -_1b._wordClean(); -return _1b.getInnerHTML(); -}; -SuperClean.filterFunctions.remove_fancy_quotes=function(D){ -D=D.replace(new RegExp(String.fromCharCode(8216),"g"),"'"); -D=D.replace(new RegExp(String.fromCharCode(8217),"g"),"'"); -D=D.replace(new RegExp(String.fromCharCode(8218),"g"),"'"); -D=D.replace(new RegExp(String.fromCharCode(8219),"g"),"'"); -D=D.replace(new RegExp(String.fromCharCode(8220),"g"),"\""); -D=D.replace(new RegExp(String.fromCharCode(8221),"g"),"\""); -D=D.replace(new RegExp(String.fromCharCode(8222),"g"),"\""); -D=D.replace(new RegExp(String.fromCharCode(8223),"g"),"\""); -return D; -}; -SuperClean.filterFunctions.tidy=function(_1d,_1e){ -Xinha._postback(_1e.config.SuperClean.tidy_handler,{"content":_1d},function(_1f){ -eval(_1f); -}); -}; -SuperClean.prototype.onGenerate=function(){ -if(this.editor.config.SuperClean.show_dialog&&!this._dialog){ -this._dialog=new SuperClean.Dialog(this); -} -if(this.editor.config.tidy_handler){ -this.editor.config.SuperClean.tidy_handler=this.editor.config.tidy_handler; -this.editor.config.tidy_handler=null; -} -if(!this.editor.config.SuperClean.tidy_handler&&this.editor.config.filters.tidy){ -this.editor.config.filters.tidy=null; -} -var sc=this; -for(var _21 in this.editor.config.SuperClean.filters){ -if(!SuperClean.filterFunctions[_21]){ -var _22=this.editor.config.SuperClean.filters[_21]; -if(typeof _22.filterFunction!="undefined"){ -SuperClean.filterFunctions[_21]=filterFunction; -}else{ -Xinha._getback(Xinha.getPluginDir("SuperClean")+"/filters/"+_21+".js",function(_23){ -eval("SuperClean.filterFunctions."+_21+"="+_23+";"); -sc.onGenerate(); -}); -} -return; -} -} -}; -SuperClean.Dialog=function(_24){ -var _25=this; -this.Dialog_nxtid=0; -this.SuperClean=_24; -this.id={}; -this.ready=false; -this.files=false; -this.html=false; -this.dialog=false; -this._prepareDialog(); -}; -SuperClean.Dialog.prototype._prepareDialog=function(){ -var _26=this; -var _27=this.SuperClean; -if(this.html==false){ -Xinha._getback(Xinha.getPluginDir("SuperClean")+"/dialog.html",function(txt){ -_26.html=txt; -_26._prepareDialog(); -}); -return; -} -var _29=""; -for(var _2a in this.SuperClean.editor.config.SuperClean.filters){ -_29+="
    \n"; -var _2b=this.SuperClean.editor.config.SuperClean.filters[_2a]; -if(typeof _2b.label=="undefined"){ -_29+=" \n"; -_29+=" \n"; -}else{ -_29+=" \n"; -_29+=" \n"; -} -_29+="
    \n"; -} -this.html=this.html.replace("",_29); -var _2c=this.html; -var _2d=this.dialog=new Xinha.Dialog(_27.editor,this.html,"SuperClean"); -this.ready=true; -}; -SuperClean.Dialog.prototype._lc=SuperClean.prototype._lc; -SuperClean.Dialog.prototype.show=function(_2e,ok,_30){ -if(!this.ready){ -var _31=this; -window.setTimeout(function(){ -_31.show(_2e,ok,_30); -},100); -return; -} -var _32=this.dialog; -var _31=this; -if(ok){ -this.dialog.getElementById("ok").onclick=ok; -}else{ -this.dialog.getElementById("ok").onclick=function(){ -_31.hide(); -}; -} -if(_30){ -this.dialog.getElementById("cancel").onclick=_30; -}else{ -this.dialog.getElementById("cancel").onclick=function(){ -_31.hide(); -}; -} -this.SuperClean.editor.disableToolbar(["fullscreen","SuperClean"]); -this.dialog.show(_2e); -this.dialog.onresize(); -}; -SuperClean.Dialog.prototype.hide=function(){ -this.SuperClean.editor.enableToolbar(); -return this.dialog.hide(); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/SuperClean/tidy.php b/ccm-core/web/assets/xinha/plugins/SuperClean/tidy.php deleted file mode 100755 index d08d7faa2..000000000 --- a/ccm-core/web/assets/xinha/plugins/SuperClean/tidy.php +++ /dev/null @@ -1,179 +0,0 @@ -,{,},@,\n,\r"; - - if(!is_array($strings)) - { - $tr = array(); - foreach(explode(',', $strings) as $chr) - { - $tr[$chr] = sprintf('\x%02X', ord($chr)); - } - $strings = $tr; - } - - return strtr($string, $strings); - } - - // Any errors would screq up our javascript - error_reporting(0); - ini_set('display_errors', false); - - if(trim(@$_REQUEST['content'])) - { - // PHP's urldecode doesn't understand %uHHHH for unicode - $_REQUEST['content'] = preg_replace('/%u([a-f0-9]{4,4})/ei', 'utf8_chr(0x$1)', $_REQUEST['content']); - function utf8_chr($num) - { - if($num<128)return chr($num); - if($num<1024)return chr(($num>>6)+192).chr(($num&63)+128); - if($num<32768)return chr(($num>>12)+224).chr((($num>>6)&63)+128).chr(($num&63)+128); - if($num<2097152)return chr(($num>>18)+240).chr((($num>>12)&63)+128).chr((($num>>6)&63)+128) .chr(($num&63)+128); - return ''; - } - ob_start(); - passthru("echo " . escapeshellarg($_REQUEST['content']) . " | tidy -q -i -u -wrap 9999 -utf8 -bare -asxhtml 2>/dev/null", $result); - $content = ob_get_contents(); - ob_end_clean(); - - if(strlen($content) < 4) - { - // Tidy on the local machine failed, try a post - $res_1 - = PostIt( - array - ( - '_function' => 'tidy', - '_html' => $_REQUEST['content'], - 'char-encoding' => 'utf8', - '_output' => 'warn', - 'indent' => 'auto', - 'wrap' => 9999, - 'break-before-br' => 'y', - 'bare' => 'n', - 'word-2000' => 'n', - 'drop-empty-paras' => 'y', - 'drop-font-tags' => 'n', - - ), - 'http://infohound.net/tidy/tidy.pl'); - - if(preg_match('/ diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/TableOperations.js b/ccm-core/web/assets/xinha/plugins/TableOperations/TableOperations.js new file mode 100644 index 000000000..77d7afd08 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/TableOperations.js @@ -0,0 +1,2 @@ +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +Xinha.Config.prototype.TableOperations={showButtons:true};function TableOperations(d){this.editor=d;var b=d.config;var h=TableOperations.btnList;var c=this;b.removeToolbarElement(" inserttable toggleborders ");var a=["linebreak","inserttable","toggleborders"];for(var f=0;f":"";function h(I){var H=I.getElementsByTagName("td");for(var G=H.length;--G>=0;){var J=H[G];J.rowSpan=1;J.innerHTML=g}}function B(L){var K=parseInt(""+L.rowSpan);var J=parseInt(""+L.colSpan);L.rowSpan=1;b=L.parentNode;var H=b.rowIndex;var i=b.parentNode.rows;var G=L.cellIndex;while(--K>0){b=i[++H];var I=l._doc.createElement("td");I.colSpan=L.colSpan;I.innerHTML=g;b.insertBefore(I,b.cells[G])}l.forceRedraw();l.updateToolbar()}function a(I){var H=parseInt(""+I.colSpan);I.colSpan=1;b=I.parentNode;var G=I.nextSibling;while(--H>0){var i=l._doc.createElement("td");i.rowSpan=I.rowSpan;i.innerHTML=g;b.insertBefore(i,G)}l.forceRedraw();l.updateToolbar()}function F(I){var H=parseInt(""+I.colSpan);a(I);var i=I.parentNode.cells;var G=I.cellIndex;while(H-->0){B(i[G++])}}function C(i){var G=i.nextSibling;while(G&&G.nodeType!=1){G=G.nextSibling}if(!G){G=i.previousSibling;while(G&&G.nodeType!=1){G=G.previousSibling}}if(!G){G=i.parentNode}l.selectNodeContents(G)}function o(T,N,P,H,J){var U=[];var S=[];try{for(x=P;x1||V.cells[K].rowSpan>1){F(V.cells[K])}S.push(V.cells[K])}if(S.length>0){U.push(S);S=[]}}}catch(O){alert("Invalid selection");return false}var i=U[0][0].parentNode.rowIndex;var G=U[U.length-1][0].parentNode.rowIndex;var M=U[U.length-1][0].rowSpan;var L="";for(x=0;x=0;){var b=q[x];var w=l._doc.createElement("td");w.innerHTML=g;if(p&&Xinha.is_ie){b.insertBefore(w)}else{var j=b.cells[k+(/after/.test(m)?1:0)];b.insertBefore(w,j)}}l.focusEditor();break;case"TO-col-split":var n=this.getClosest("td");if(!n){break}a(n);break;case"TO-col-delete":var n=this.getClosest("td");if(!n){break}var k=n.cellIndex;if(n.parentNode.cells.length==1){alert(Xinha._lc("Xinha cowardly refuses to delete the last column in table.","TableOperations"));break}C(n);var q=n.parentNode.parentNode.rows;for(var x=q.length;--x>=0;){var b=q[x];b.removeChild(b.cells[k])}l.forceRedraw();l.focusEditor();l.updateToolbar();break;case"TO-cell-split":var n=this.getClosest("td");if(!n){break}F(n);break;case"TO-cell-insert-before":case"TO-cell-insert-after":var n=this.getClosest("td");if(!n){break}var b=n.parentNode;var w=l._doc.createElement("td");w.innerHTML=g;b.insertBefore(w,/after/.test(m)?n.nextSibling:n);l.forceRedraw();l.focusEditor();break;case"TO-cell-delete":var n=this.getClosest("td");if(!n){break}if(n.parentNode.cells.length==1){alert(Xinha._lc("Xinha cowardly refuses to delete the last cell in row.","TableOperations"));break}C(n);n.parentNode.removeChild(n);l.forceRedraw();l.updateToolbar();break;case"TO-cell-merge":var v=l._getSelection();if(!Xinha.is_ie&&v.rangeCount>1){var t=v.getRangeAt(0);var n=t.startContainer.childNodes[t.startOffset];var b=n.parentNode;var d=n.cellIndex;var s=b.rowIndex;var A=0;var E=s;var e=0;var D=0;var f,z;for(x=0;xe){e=D}if(z.rowIndex+f.rowSpan-1>A){A=z.rowIndex+f.rowSpan-1}}var c=A-s+1;var y=b.parentNode;o(y,d,s,e,c)}else{var n=this.getClosest("td");if(!n){alert(Xinha._lc("Please click into some cell","TableOperations"));break}var b=n.parentNode;var d=n.cellIndex;var s=b.rowIndex;this.dialogMerge(o,d,s)}break;case"TO-table-prop":this.dialogTableProperties();break;case"TO-row-prop":this.dialogRowCellProperties(false);break;case"TO-cell-prop":this.dialogRowCellProperties(true);break;default:alert("Button ["+m+"] not yet implemented")}};TableOperations.btnList=[["table-prop","table","Table properties"],null,["row-prop","tr","Row properties"],["row-insert-above","tr","Insert row before"],["row-insert-under","tr","Insert row after"],["row-delete","tr","Delete row"],["row-split","td[rowSpan!=1]","Split row"],null,["col-insert-before","td","Insert column before"],["col-insert-after","td","Insert column after"],["col-delete","td","Delete column"],["col-split","td[colSpan!=1]","Split column"],null,["cell-prop","td","Cell properties"],["cell-insert-before","td","Insert cell before"],["cell-insert-after","td","Insert cell after"],["cell-delete","td","Delete cell"],["cell-merge","tr","Merge cells"],["cell-split","td[colSpan!=1,rowSpan!=1]","Split cell"]];TableOperations.prototype.dialogMerge=function(h,g,e){var f=this.getClosest("table");var c=this;var b=this.editor;if(!this.dialogMergeCellsHtml){Xinha._getback(Xinha.getPluginDir("TableOperations")+"/popups/dialogMergeCells.html",function(i){c.dialogMergeCellsHtml=i;c.dialogMerge(h,g,e)});return}if(!this.dialogMergeCells){this.dialogMergeCells=new Xinha.Dialog(b,this.dialogMergeCellsHtml,"TableOperations",{width:400});this.dialogMergeCells.getElementById("cancel").onclick=function(){c.dialogMergeCells.hide()}}var d=this.dialogMergeCells;function a(){d.hide();no_cols=parseInt(d.getElementById("f_cols").value,10)+1;no_rows=parseInt(d.getElementById("f_rows").value,10)+1;h(f,g,e,no_cols,no_rows);return}this.dialogMergeCells.getElementById("ok").onclick=a;this.dialogMergeCells.show();this.dialogMergeCells.getElementById("f_cols").focus()};TableOperations.prototype.dialogTableProperties=function(){var l=this.getClosest("table");var k=this;var e=this.editor;if(!this.dialogTablePropertiesHtml){Xinha._getback(Xinha.getPluginDir("TableOperations")+"/popups/dialogTable.html",function(m){k.dialogTablePropertiesHtml=m;k.dialogTableProperties()});return}if(!this.dialogTable){this.dialogTable=new Xinha.Dialog(e,this.dialogTablePropertiesHtml,"TableOperations",{width:440});this.dialogTable.getElementById("cancel").onclick=function(){k.dialogTable.hide()}}var b=this.dialogTable;var f=new Xinha.InlineStyler(l,this.editor,b);function j(){var p=b.hide();f.applyStyle(p);for(var n in p){if(typeof p[n]=="function"){continue}var o=p[n];if(typeof o=="object"&&o!=null&&o.tagName){o=o.value}switch(n){case"caption":if(/\S/.test(o)){var m=l.getElementsByTagName("caption")[0];if(!m){m=b.editor._doc.createElement("caption");l.insertBefore(m,l.firstChild)}m.innerHTML=o}else{var m=l.getElementsByTagName("caption")[0];if(m){m.parentNode.removeChild(m)}}break;case"summary":l.summary=o;break;case"align":l.align=o;break;case"spacing":l.cellSpacing=o;break;case"padding":l.cellPadding=o;break;case"borders":l.border=o;break;case"frames":l.frame=o;break;case"rules":l.rules=o;break}}k.editor.forceRedraw();k.editor.focusEditor();k.editor.updateToolbar();var q=l.style.borderCollapse;l.style.borderCollapse="collapse";l.style.borderCollapse="separate";l.style.borderCollapse=q}var c=f.createStyleLayoutFieldset();var d=b.getElementById("TO_layout");d.replaceChild(c,d.firstChild);var h=f.createStyleFieldset();d=b.getElementById("TO_style");d.replaceChild(h,d.firstChild);this.dialogTable.getElementById("ok").onclick=j;var i={};var g=l.getElementsByTagName("caption")[0];if(g){i.caption=g.innerHTML}else{i.caption=""}i.summary=l.summary;i.spacing=l.cellSpacing;i.padding=l.cellPadding;var a=l.border;i.frames=l.frame;i.rules=l.rules;this.dialogTable.show(i)};TableOperations.prototype.dialogRowCellProperties=function(h){var e=this.getClosest(h?"td":"tr");var k=this.getClosest("table");var j=this;var d=this.editor;if(!j.dialogRowCellPropertiesHtml){Xinha._getback(Xinha.getPluginDir("TableOperations")+"/popups/dialogRowCell.html",function(l){j.dialogRowCellPropertiesHtml=l;j.dialogRowCellProperties(h)});return}if(!this.dialogRowCell){this.dialogRowCell=new Xinha.Dialog(d,j.dialogRowCellPropertiesHtml,"TableOperations",{width:440});this.dialogRowCell.getElementById("cancel").onclick=function(){j.dialogRowCell.hide()}}var b=this.dialogRowCell;b.getElementById("title").innerHTML=h?Xinha._lc("Cell Properties","TableOperations"):Xinha._lc("Row Properties","TableOperations");var f=new Xinha.InlineStyler(e,j.editor,b);function i(){var l=b.hide();f.applyStyle(l);j.editor.forceRedraw();j.editor.focusEditor();j.editor.updateToolbar();var m=k.style.borderCollapse;k.style.borderCollapse="collapse";k.style.borderCollapse="separate";k.style.borderCollapse=m}var a=f.createStyleLayoutFieldset();var c=b.getElementById("TO_layout");c.replaceChild(a,c.firstChild);var g=f.createStyleFieldset();c=b.getElementById("TO_style");c.replaceChild(g,c.firstChild);this.dialogRowCell.getElementById("ok").onclick=i;this.dialogRowCell.show()}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/lang/da.js b/ccm-core/web/assets/xinha/plugins/TableOperations/lang/da.js index 94d068acf..dec919127 100644 --- a/ccm-core/web/assets/xinha/plugins/TableOperations/lang/da.js +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/lang/da.js @@ -1,6 +1,7 @@ // I18N constants // LANG: "da", ENCODING: UTF-8 // Author: Steen Sønderup, +// Niels Baggesen, , 0.95, 2009-08-15 { "Align": "Placer", "All four sides": "Alle fire sider", @@ -75,5 +76,7 @@ "Xinha cowardly refuses to delete the last column in table.": "Du kan ikke slette den sidste kolonne i en tabel.", "Xinha cowardly refuses to delete the last row in table.": "Du kan ikke slette den sidste række i en tabel.", "percent": "procent", - "pixels": "pixel" + "pixels": "pixel", + "OK": "OK", + "Cancel": "Fortryd" }; diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/lang/es.js b/ccm-core/web/assets/xinha/plugins/TableOperations/lang/es.js new file mode 100644 index 000000000..ac10255d3 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/lang/es.js @@ -0,0 +1,79 @@ +// I18N constants +// LANG: "es", ENCODING: UTF-8 +// translated: Derick Leony +{ + "Align": "Alinear", + "All four sides": "Todos los cuatro lados", + "Background": "Fondo", + "Baseline": "Línea base", + "Border": "Borde", + "Borders": "Bordes", + "Bottom": "Abajo", + "Style [CSS]": "Estilo [CSS]", + "Caption": "Título", + "Cell Properties": "Propiedades de la Celda", + "Center": "Centrar", + "Char": "Carácter", + "Collapsed borders": "Bordes colapsados", + "Color": "Color", + "Description": "Descripción", + "FG Color": "Color Principal", + "Float": "Flotante", + "Frames": "Marcos", + "Height": "Altura", + "How many columns would you like to merge?": "¿Cuántas columnas desea unir?", + "How many rows would you like to merge?": "¿Cuántas filas desea unir?", + "Image URL": "URL de la imágen", + "Justify": "Justificar", + "Layout": "Diseño", + "Left": "Izquierda", + "Margin": "Margen", + "Middle": "Medio", + "No rules": "Ninguna regla", + "No sides": "Ningún lado", + "None": "Ninguno", + "Padding": "Relleno (Padding)", + "Please click into some cell": "Por favor, haz clic en alguna celda", + "Right": "Derecha", + "Row Properties": "Propiedades de la Fila", + "Rules will appear between all rows and columns": "Las líneas aparecerán entre todas las filas y columnas", + "Rules will appear between columns only": "Las líneas aparecerán solo entre las columnas", + "Rules will appear between rows only": "Las líneas aparecerán solo entre las filas", + "Rules": "Líneas", + "Spacing and padding": "Espaciado y Relleno", + "Spacing": "Espaciado", + "Summary": "Resumen", + "Delete cell": "Suprimir celda", + "Insert cell after": "Insertar celda detrás", + "Insert cell before": "Insertar celda delante", + "Merge cells": "Unir celdas", + "Cell properties": "Propiedades de la celda", + "Split cell": "Dividir celda", + "Delete column": "Suprimir columna", + "Insert column after": "Insertar columna detrás", + "Insert column before": "Insertar columna delante", + "Split column": "Dividir columna", + "Delete row": "Suprimir fila", + "Insert row before": "Insertar fila delante", + "Insert row after": "Insertar fila detrás", + "Row properties": "Propiedades de la fila", + "Split row": "Dividir fila", + "Table properties": "Propiedades de la tabla", + "Table Properties": "Propiedades de la Tabla", + "Text align": "Alineación del texto", + "The bottom side only": "Solo el lado inferior", + "The left-hand side only": "Solo el lado izquierdo", + "The right and left sides only": "Solo los lados derecho e izquierdo", + "The right-hand side only": "Solo el lado derecho", + "The top and bottom sides only": "Solo los lados superior e inferior", + "The top side only": "Solo el lado superior", + "Top": "Alto", + "Unset color": "Remover color", + "Vertical align": "Alineación vertical", + "Width": "Ancho", + "Xinha cowardly refuses to delete the last cell in row.": "Xinha se reusa cobardemente a eliminar la última celda en la fila.", + "Xinha cowardly refuses to delete the last column in table.": "Xinha se reusa cobardemente a eliminar la última columna en la tabla.", + "Xinha cowardly refuses to delete the last row in table.": "Xinha se reusa cobardemente a eliminar la última fila en la tabla.", + "percent": "por ciento", + "pixels": "píxeles" +}; diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogMergeCells.html b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogMergeCells.html new file mode 100644 index 000000000..a891ec1d4 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogMergeCells.html @@ -0,0 +1,26 @@ +

    Merge Cells

    + + + + + + + + + + + + + + + +
    + Merge current cell with: +
    Cells to the right, and
    Cells down
    +
    +
    + + +
    +
    + diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogRowCell.html b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogRowCell.html new file mode 100644 index 000000000..17e8edd7f --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogRowCell.html @@ -0,0 +1,15 @@ +

    Title

    + + + + + + + +

    +

    +
    +
    + + +
    \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogTable.html b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogTable.html new file mode 100644 index 000000000..25b121e81 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/TableOperations/popups/dialogTable.html @@ -0,0 +1,119 @@ +

    Table Properties

    + + + + + + + + + + + + + + + + + + +
    +
    + + Description + + + + + + + + + + + + +
    + Caption: + + +
    + Summary: + + +
    +
    +

    +
    +
    + + Spacing and padding + + + + + + + + +
    + Spacing: + +  Padding:   pixels +
    +
    +
    +
    + + Frame and borders + + + + + + + + + + + + + + + + +
    + Borders: + +   pixels +
    + Frames: + + +
    + Rules: + + +
    +
    +

    +
    +
    + + +
    + diff --git a/ccm-core/web/assets/xinha/plugins/TableOperations/table-operations.js b/ccm-core/web/assets/xinha/plugins/TableOperations/table-operations.js deleted file mode 100644 index ec7116ee4..000000000 --- a/ccm-core/web/assets/xinha/plugins/TableOperations/table-operations.js +++ /dev/null @@ -1,910 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/TableOperations/table-operations.js */ -Xinha.Config.prototype.TableOperations={"showButtons":true}; -function TableOperations(_1){ -this.editor=_1; -var _2=_1.config; -var bl=TableOperations.btnList; -var _4=this; -_2.removeToolbarElement(" inserttable toggleborders "); -var _5=["linebreak","inserttable","toggleborders"]; -for(var i=0;i
    "+Xinha._lc("Description","TableOperations")+"
    "+Xinha._lc("Caption","TableOperations")+":
    "+Xinha._lc("Summary","TableOperations")+":
    "+Xinha._lc("Spacing and padding","TableOperations")+" "+"
    "+Xinha._lc("Spacing","TableOperations")+":  "+Xinha._lc("Padding","TableOperations")+":   "+Xinha._lc("pixels","TableOperations")+"
    "+Xinha._lc("Frame and borders","TableOperations")+"
    "+Xinha._lc("Borders","TableOperations")+":   "+Xinha._lc("pixels","TableOperations")+"
    "+Xinha._lc("Frames","TableOperations")+":
    "+Xinha._lc("Rules","TableOperations")+":
    "; -var _27=TableOperations.createStyleFieldset(_1a.doc,_1a.editor,_12); -var p=_1a.doc.getElementById("--HA-style"); -p.appendChild(_27); -var _29=TableOperations.createStyleLayoutFieldset(_1a.doc,_1a.editor,_12); -p=_1a.doc.getElementById("--HA-layout"); -p.appendChild(_29); -_1a.modal=true; -_1a.addButtons("OK","Cancel"); -_1a.showAtElement(_1a.editor._iframe,"c"); -}); -}; -TableOperations.prototype.dialogRowCellProperties=function(_2a){ -var _2b=this.getClosest(_2a?"td":"tr"); -var _2c=this.getClosest("table"); -var _2d=new PopupWin(this.editor,_2a?Xinha._lc("Cell Properties","TableOperations"):Xinha._lc("Row Properties","TableOperations"),function(_2e,_2f){ -TableOperations.processStyle(_2f,_2b); -for(var i in _2f){ -if(typeof _2f[i]=="function"){ -continue; -} -var val=_2f[i]; -switch(i){ -case "f_align": -_2b.align=val; -break; -case "f_char": -_2b.ch=val; -break; -case "f_valign": -_2b.vAlign=val; -break; -} -} -_2e.editor.forceRedraw(); -_2e.editor.focusEditor(); -_2e.editor.updateToolbar(); -var _32=_2c.style.borderCollapse; -_2c.style.borderCollapse="collapse"; -_2c.style.borderCollapse="separate"; -_2c.style.borderCollapse=_32; -},function(_33){ -var _34=_2b.align; -var _35=_2b.vAlign; -var _36=_2b.ch; -function selected(val){ -return val?" selected":""; -} -_33.content.style.width="400px"; -_33.content.innerHTML="
    "+Xinha._lc(_2a?"Cell Properties":"Row Properties","TableOperations")+"
    "+"
    "; -var _38=TableOperations.createStyleFieldset(_33.doc,_33.editor,_2b); -var p=_33.doc.getElementById("--HA-style"); -p.appendChild(_38); -var _3a=TableOperations.createStyleLayoutFieldset(_33.doc,_33.editor,_2b); -p=_33.doc.getElementById("--HA-layout"); -p.appendChild(_3a); -_33.modal=true; -_33.addButtons("OK","Cancel"); -_33.showAtElement(_33.editor._iframe,"c"); -}); -}; -TableOperations.prototype.buttonPress=function(_3b,_3c){ -this.editor=_3b; -var _3d=Xinha.is_gecko?"
    ":""; -function clearRow(tr){ -var tds=tr.getElementsByTagName("td"); -for(var i=tds.length;--i>=0;){ -var td=tds[i]; -td.rowSpan=1; -td.innerHTML=_3d; -} -} -function splitRow(td){ -var n=parseInt(""+td.rowSpan); -var nc=parseInt(""+td.colSpan); -td.rowSpan=1; -tr=td.parentNode; -var itr=tr.rowIndex; -var trs=tr.parentNode.rows; -var _47=td.cellIndex; -while(--n>0){ -tr=trs[++itr]; -var otd=_3b._doc.createElement("td"); -otd.colSpan=td.colSpan; -otd.innerHTML=_3d; -tr.insertBefore(otd,tr.cells[_47]); -} -_3b.forceRedraw(); -_3b.updateToolbar(); -} -function splitCol(td){ -var nc=parseInt(""+td.colSpan); -td.colSpan=1; -tr=td.parentNode; -var ref=td.nextSibling; -while(--nc>0){ -var otd=_3b._doc.createElement("td"); -otd.rowSpan=td.rowSpan; -otd.innerHTML=_3d; -tr.insertBefore(otd,ref); -} -_3b.forceRedraw(); -_3b.updateToolbar(); -} -function splitCell(td){ -var nc=parseInt(""+td.colSpan); -splitCol(td); -var _4f=td.parentNode.cells; -var _50=td.cellIndex; -while(nc-->0){ -splitRow(_4f[_50++]); -} -} -function selectNextNode(el){ -var _52=el.nextSibling; -while(_52&&_52.nodeType!=1){ -_52=_52.nextSibling; -} -if(!_52){ -_52=el.previousSibling; -while(_52&&_52.nodeType!=1){ -_52=_52.previousSibling; -} -} -if(!_52){ -_52=el.parentNode; -} -_3b.selectNodeContents(_52); -} -function cellMerge(_53,_54,_55,_56,_57){ -var _58=[]; -var _59=[]; -try{ -for(i=_55;i<_55+_57;i++){ -var row=_53.rows[i]; -for(j=_54;j<_54+_56;j++){ -if(row.cells[j].colSpan>1||row.cells[j].rowSpan>1){ -splitCell(row.cells[j]); -} -_59.push(row.cells[j]); -} -if(_59.length>0){ -_58.push(_59); -_59=[]; -} -} -} -catch(e){ -alert("Invalid selection"); -return false; -} -var _5b=_58[0][0].parentNode.rowIndex; -var _5c=_58[_58.length-1][0].parentNode.rowIndex; -var _5d=_58[_58.length-1][0].rowSpan; -var _5e=""; -for(i=0;i<_58.length;++i){ -var _59=_58[i]; -for(var j=0;j<_59.length;++j){ -var _60=_59[j]; -_5e+=_60.innerHTML; -(i||j)&&(_60.parentNode.removeChild(_60)); -} -} -var td=_58[0][0]; -td.innerHTML=_5e; -td.rowSpan=_5c-_5b+_5d; -var _62=0; -for(j=0;j<_58[0].length;j++){ -_62+=_58[0][j].colSpan; -} -td.colSpan=_62; -_3b.selectNodeContents(td); -_3b.forceRedraw(); -_3b.focusEditor(); -} -switch(_3c){ -case "TO-row-insert-above": -case "TO-row-insert-under": -var tr=this.getClosest("tr"); -if(!tr){ -break; -} -var otr=tr.cloneNode(true); -clearRow(otr); -tr.parentNode.insertBefore(otr,/under/.test(_3c)?tr.nextSibling:tr); -_3b.forceRedraw(); -_3b.focusEditor(); -break; -case "TO-row-delete": -var tr=this.getClosest("tr"); -if(!tr){ -break; -} -var par=tr.parentNode; -if(par.rows.length==1){ -alert(Xinha._lc("Xinha cowardly refuses to delete the last row in table.","TableOperations")); -break; -} -selectNextNode(tr); -par.removeChild(tr); -_3b.forceRedraw(); -_3b.focusEditor(); -_3b.updateToolbar(); -break; -case "TO-row-split": -var td=this.getClosest("td"); -if(!td){ -break; -} -splitRow(td); -break; -case "TO-col-insert-before": -case "TO-col-insert-after": -var td=this.getClosest("td"); -if(!td){ -break; -} -var _67=td.parentNode.parentNode.rows; -var _68=td.cellIndex; -var _69=(td.parentNode.cells.length==_68+1); -for(var i=_67.length;--i>=0;){ -var tr=_67[i]; -var otd=_3b._doc.createElement("td"); -otd.innerHTML=_3d; -if(_69&&Xinha.is_ie){ -tr.insertBefore(otd); -}else{ -var ref=tr.cells[_68+(/after/.test(_3c)?1:0)]; -tr.insertBefore(otd,ref); -} -} -_3b.focusEditor(); -break; -case "TO-col-split": -var td=this.getClosest("td"); -if(!td){ -break; -} -splitCol(td); -break; -case "TO-col-delete": -var td=this.getClosest("td"); -if(!td){ -break; -} -var _68=td.cellIndex; -if(td.parentNode.cells.length==1){ -alert(Xinha._lc("Xinha cowardly refuses to delete the last column in table.","TableOperations")); -break; -} -selectNextNode(td); -var _67=td.parentNode.parentNode.rows; -for(var i=_67.length;--i>=0;){ -var tr=_67[i]; -tr.removeChild(tr.cells[_68]); -} -_3b.forceRedraw(); -_3b.focusEditor(); -_3b.updateToolbar(); -break; -case "TO-cell-split": -var td=this.getClosest("td"); -if(!td){ -break; -} -splitCell(td); -break; -case "TO-cell-insert-before": -case "TO-cell-insert-after": -var td=this.getClosest("td"); -if(!td){ -break; -} -var tr=td.parentNode; -var otd=_3b._doc.createElement("td"); -otd.innerHTML=_3d; -tr.insertBefore(otd,/after/.test(_3c)?td.nextSibling:td); -_3b.forceRedraw(); -_3b.focusEditor(); -break; -case "TO-cell-delete": -var td=this.getClosest("td"); -if(!td){ -break; -} -if(td.parentNode.cells.length==1){ -alert(Xinha._lc("Xinha cowardly refuses to delete the last cell in row.","TableOperations")); -break; -} -selectNextNode(td); -td.parentNode.removeChild(td); -_3b.forceRedraw(); -_3b.updateToolbar(); -break; -case "TO-cell-merge": -var sel=_3b._getSelection(); -if(!Xinha.is_ie&&sel.rangeCount>1){ -var _6e=sel.getRangeAt(0); -var td=_6e.startContainer.childNodes[_6e.startOffset]; -var tr=td.parentNode; -var _6f=td.cellIndex; -var _70=tr.rowIndex; -var _71=0; -var _72=_70; -var _73=0; -var _74=0; -var td2,tr2; -for(i=0;i_73){ -_73=_74; -} -if(tr2.rowIndex+td2.rowSpan-1>_71){ -_71=tr2.rowIndex+td2.rowSpan-1; -} -} -var _76=_71-_70+1; -var _77=tr.parentNode; -cellMerge(_77,_6f,_70,_73,_76); -}else{ -var td=this.getClosest("td"); -if(!td){ -alert(Xinha._lc("Please click into some cell","TableOperations")); -break; -} -_3b._popupDialog("plugin://TableOperations/merge_cells.html",function(_78){ -if(!_78){ -return false; -} -_73=parseInt(_78["f_cols"],10)+1; -_76=parseInt(_78["f_rows"],10)+1; -var tr=td.parentNode; -var _7a=td.cellIndex; -var _7b=tr.rowIndex; -var _7c=tr.parentNode; -cellMerge(_7c,_7a,_7b,_73,_76); -},null); -} -break; -case "TO-table-prop": -this.dialogTableProperties(); -break; -case "TO-row-prop": -this.dialogRowCellProperties(false); -break; -case "TO-cell-prop": -this.dialogRowCellProperties(true); -break; -default: -alert("Button ["+_3c+"] not yet implemented"); -} -}; -TableOperations.btnList=[["table-prop","table","Table properties"],null,["row-prop","tr","Row properties"],["row-insert-above","tr","Insert row before"],["row-insert-under","tr","Insert row after"],["row-delete","tr","Delete row"],["row-split","td[rowSpan!=1]","Split row"],null,["col-insert-before","td","Insert column before"],["col-insert-after","td","Insert column after"],["col-delete","td","Delete column"],["col-split","td[colSpan!=1]","Split column"],null,["cell-prop","td","Cell properties"],["cell-insert-before","td","Insert cell before"],["cell-insert-after","td","Insert cell after"],["cell-delete","td","Delete cell"],["cell-merge","tr","Merge cells"],["cell-split","td[colSpan!=1,rowSpan!=1]","Split cell"]]; -TableOperations.getLength=function(_7d){ -var len=parseInt(_7d); -if(isNaN(len)){ -len=""; -} -return len; -}; -TableOperations.processStyle=function(_7f,_80){ -var _81=_80.style; -for(var i in _7f){ -if(typeof _7f[i]=="function"){ -continue; -} -var val=_7f[i]; -switch(i){ -case "f_st_backgroundColor": -_81.backgroundColor=val; -break; -case "f_st_color": -_81.color=val; -break; -case "f_st_backgroundImage": -if(/\S/.test(val)){ -_81.backgroundImage="url("+val+")"; -}else{ -_81.backgroundImage="none"; -} -break; -case "f_st_borderWidth": -_81.borderWidth=val; -break; -case "f_st_borderStyle": -_81.borderStyle=val; -break; -case "f_st_borderColor": -_81.borderColor=val; -break; -case "f_st_borderCollapse": -_81.borderCollapse=val?"collapse":""; -break; -case "f_st_width": -if(/\S/.test(val)){ -_81.width=val+_7f["f_st_widthUnit"]; -}else{ -_81.width=""; -} -break; -case "f_st_height": -if(/\S/.test(val)){ -_81.height=val+_7f["f_st_heightUnit"]; -}else{ -_81.height=""; -} -break; -case "f_st_textAlign": -if(val=="char"){ -var ch=_7f["f_st_textAlignChar"]; -if(ch=="\""){ -ch="\\\""; -} -_81.textAlign="\""+ch+"\""; -}else{ -if(val=="-"){ -_81.textAlign=""; -}else{ -_81.textAlign=val; -} -} -break; -case "f_st_verticalAlign": -_80.vAlign=""; -if(val=="-"){ -_81.verticalAlign=""; -}else{ -_81.verticalAlign=val; -} -break; -case "f_st_float": -if(Xinha.is_ie){ -_81.styleFloat=val; -}else{ -_81.cssFloat=val; -} -break; -} -} -}; -TableOperations.createColorButton=function(doc,_86,_87,_88){ -if(!_87){ -_87=""; -}else{ -if(!/#/.test(_87)){ -_87=Xinha._colorToRgb(_87); -} -} -var df=doc.createElement("span"); -var _8a=doc.createElement("input"); -_8a.type="hidden"; -df.appendChild(_8a); -_8a.name="f_st_"+_88; -_8a.value=_87; -var _8b=doc.createElement("span"); -_8b.className="buttonColor"; -df.appendChild(_8b); -var _8c=doc.createElement("span"); -_8c.className="chooser"; -_8c.style.backgroundColor=_87; -_8b.appendChild(_8c); -_8b.onmouseover=function(){ -if(!this.disabled){ -this.className+=" buttonColor-hilite"; -} -}; -_8b.onmouseout=function(){ -if(!this.disabled){ -this.className="buttonColor"; -} -}; -_8c.onclick=function(){ -if(this.parentNode.disabled){ -return false; -} -_86._popupDialog("select_color.html",function(_8d){ -if(_8d){ -_8c.style.backgroundColor="#"+_8d; -_8a.value="#"+_8d; -} -},_87); -}; -var _8e=doc.createElement("span"); -_8e.innerHTML="×"; -_8e.className="nocolor"; -_8e.title=Xinha._lc("Unset color","TableOperations"); -_8b.appendChild(_8e); -_8e.onmouseover=function(){ -if(!this.parentNode.disabled){ -this.className+=" nocolor-hilite"; -} -}; -_8e.onmouseout=function(){ -if(!this.parentNode.disabled){ -this.className="nocolor"; -} -}; -_8e.onclick=function(){ -_8c.style.backgroundColor=""; -_8a.value=""; -}; -return df; -}; -TableOperations.createStyleLayoutFieldset=function(doc,_90,el){ -var _92=doc.createElement("fieldset"); -var _93=doc.createElement("legend"); -_92.appendChild(_93); -_93.innerHTML=Xinha._lc("Layout","TableOperations"); -var _94=doc.createElement("table"); -_92.appendChild(_94); -_94.style.width="100%"; -var _95=doc.createElement("tbody"); -_94.appendChild(_95); -var _96=el.tagName.toLowerCase(); -var tr,td,input,select,option,options,i; -if(_96!="td"&&_96!="tr"&&_96!="th"){ -tr=doc.createElement("tr"); -_95.appendChild(tr); -td=doc.createElement("td"); -td.className="label"; -tr.appendChild(td); -td.innerHTML=Xinha._lc("Float","TableOperations")+":"; -td=doc.createElement("td"); -tr.appendChild(td); -select=doc.createElement("select"); -td.appendChild(select); -select.name="f_st_float"; -options=["None","Left","Right"]; -for(var i=0;iZ$86V)n(=*IO=c3&xEzUDZA;)qp6mMYZEdw!wl*ymktD(h2uvV` zqHQc!Gb&LjT(4A@wS3!bwHi(Hcf;D)R2F59qGM9zPLI)yLg)z77};BaPB zX}2Kq46Dd-RY`4m{EzxgatnV5fB+F308Hq)D2SuN)p2wg^`I*V16&w9b@Ir5eot@j zp@V$~@M}!Z1ZD$#4{W2}1>Xnv`HvEzkc*V0etx(A*nDX38^zV#?LQtTJYnggZF?7H zw40MRoX$(vcxCuBm^ikG z=(q&gD2YX>U`d9Vp!sMR=^4a{AlgNGV0sB!sXBye;3@?hAUnmHX{$u5yNlb|`}$iN z{KXeqjKZ6|v&@|1{CpEF%|czxG@Odva?Ks59s6AtUOS#0h>RVweU8E|?tTJqE^k6_ zKM$XOzt2yC@85`k0tx;z$PZyYh4vWAbLbA@If>&aezV98<2rf|96Nga2r{I|kt9o+ I3{U_7JBPuR-v9sr diff --git a/ccm-core/web/assets/xinha/plugins/Template/img/layout_02.gif b/ccm-core/web/assets/xinha/plugins/Template/img/layout_02.gif deleted file mode 100755 index e5e3d1e63fa5e569af81cc3563858d3cb597f8a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmV-G0l)r7Nk%v~VQK(G0GR*)|NsAxiF#H`M*si-EC2ui0BQh400092l#i*)?GK}z zwAzca-n{z{YQadB=1BtT%C_zc$MOs_=#A6*&iAa13zmGuq7f(*8kfu&GMQ^ir+_CE zMa?d)SCjVZ<91WvGEF=VnAb7%m`gI zD?GeYJaQbyo3~8doc7F<+&O&~{dSEF9BjSamQ4pPQ%znj?ss03ez^W({_YYl|I-dx zZ{Ho9ub<%kEg!vp0|nlr)bGwdP6<^MtoKk}#CH?dRXlf*Tt;vi8@F}5_HkOsXCX?O SJc%-;%9Sizx_l|20028=QkpaX diff --git a/ccm-core/web/assets/xinha/plugins/Template/img/layout_03.gif b/ccm-core/web/assets/xinha/plugins/Template/img/layout_03.gif deleted file mode 100755 index 7757e26a6c417951075666e46b52ae06fa6cad86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 345 zcmV-f0jB;(Nk%v~VQK(G0GR*)|NsAxiF#H`M*si-EC2ui0BQh400092l#i*)?GK}z zwAzca-n{z{YQadB=1BtT%C_zc$1O_NOpTlJ&i8B%4BUb^pYb>&+7`+h@@Z_+hEg5$ zDyyET+7b5q>Xx`&uz4jWk+tV@dbF;#&2J&|JqOq0()@RSm*$5Bs8Ba}RhV#y_@s!y z*m(4K5Gm|T4sE#o6NTSGrU*~4e+a4t#YlLz5U!R4M`2{EthQ_UOB#8-gn+!`kt=2ZVZ1b zk4y{ - -Insert template - - - - - - - -
    Insert template
    -
    - - - - - - -
    - - - - -
    -
    - -
    - -
    -
    - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Template/template.css b/ccm-core/web/assets/xinha/plugins/Template/template.css deleted file mode 100755 index 86c359afe..000000000 --- a/ccm-core/web/assets/xinha/plugins/Template/template.css +++ /dev/null @@ -1,3 +0,0 @@ -div { - border: 1px dotted ActiveBorder; -} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/Template/template.js b/ccm-core/web/assets/xinha/plugins/Template/template.js deleted file mode 100644 index f0d778997..000000000 --- a/ccm-core/web/assets/xinha/plugins/Template/template.js +++ /dev/null @@ -1,86 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/Template/template.js */ -function Template(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"template",tooltip:Xinha._lc("Insert template","Template"),image:_1.imgURL("ed_template.gif","Template"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("template","inserthorizontalrule",1); -} -Template._pluginInfo={name:"Template",version:"1.0",developer:"Udo Schmal",developer_url:"http://www.schaffrath-neuemedien.de/",c_owner:"Udo Schmal & Schaffrath NeueMedien",license:"htmlArea"}; -Template.prototype.onGenerate=function(){ -this.editor.addEditorStylesheet(Xinha.getPluginDir("Template")+"/template.css"); -}; -Template.prototype.buttonPress=function(_5){ -_5._popupDialog("plugin://Template/template",function(_6){ -if(!_6){ -return false; -} -var _7=_5._doc.getElementsByTagName("body"); -var _8=_7[0]; -function getElement(x){ -var _a=_5._doc.getElementById(x); -if(!_a){ -_a=_5._doc.createElement("div"); -_a.id=x; -_a.innerHTML=x; -_8.appendChild(_a); -} -if(_a.style){ -_a.removeAttribute("style"); -} -return _a; -} -var _b=getElement("content"); -var _c=getElement("menu1"); -var _d=getElement("menu2"); -var _e=getElement("menu3"); -switch(_6["templ"]){ -case "1": -_c.style.position="absolute"; -_c.style.right="0px"; -_c.style.width="28%"; -_c.style.backgroundColor="#e1ddd9"; -_c.style.padding="2px 20px"; -_b.style.position="absolute"; -_b.style.left="0px"; -_b.style.width="70%"; -_b.style.backgroundColor="#fff"; -_d.style.visibility="hidden"; -_e.style.visibility="hidden"; -break; -case "2": -_c.style.position="absolute"; -_c.style.left="0px"; -_c.style.width="28%"; -_c.style.height="100%"; -_c.style.backgroundColor="#e1ddd9"; -_b.style.position="absolute"; -_b.style.right="0px"; -_b.style.width="70%"; -_b.style.backgroundColor="#fff"; -_d.style.visibility="hidden"; -_e.style.visibility="hidden"; -break; -case "3": -_c.style.position="absolute"; -_c.style.left="0px"; -_c.style.width="28%"; -_c.style.backgroundColor="#e1ddd9"; -_d.style.position="absolute"; -_d.style.right="0px"; -_d.style.width="28%"; -_d.style.backgroundColor="#e1ddd9"; -_b.style.position="absolute"; -_b.style.right="30%"; -_b.style.width="60%"; -_b.style.backgroundColor="#fff"; -_e.style.visibility="hidden"; -break; -} -},null); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/UnFormat/UnFormat.js b/ccm-core/web/assets/xinha/plugins/UnFormat/UnFormat.js new file mode 100644 index 000000000..6f86b2fe0 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/UnFormat/UnFormat.js @@ -0,0 +1,107 @@ +// Unormat plugin for Xinha + + +UnFormat._pluginInfo = { + name : "UnFormat", + version : "1.0", + license : "htmlArea" +}; + + +function UnFormat(editor) { + this.editor = editor; + var cfg = editor.config; + var self = this; + + cfg.registerButton({ + id : "unformat", + tooltip : Xinha._lc("Page Cleaner",'UnFormat'), + image : editor.imgURL("unformat.gif", "UnFormat"), + textMode : false, + action : function(editor) { + self.show(); + } + }); + + cfg.addToolbarElement("unformat", "killword", 1); +} + +UnFormat.prototype.onGenerateOnce = function(editor){ + // Load assets + var self = UnFormat; + if (self.loading) return; + self.loading = true; + self.methodsReady = true; + Xinha._getback(Xinha.getPluginDir('UnFormat') + '/dialog.html', function(getback) { self.html = getback; self.dialogReady = true; }); +} +UnFormat.prototype.onUpdateToolbar = function(editor){ + if (!(UnFormat.dialogReady && UnFormat.methodsReady)) + { + this.editor._toolbarObjects.UnFormat.state("enabled", false); + } + else this.onUpdateToolbar = null; + +} +UnFormat.prototype.prepareDialog = function(editor){ + var self = this; + var editor = this.editor; + + var dialog = this.dialog = new Xinha.Dialog(editor, UnFormat.html, 'Xinha',{width:400}) + // Connect the OK and Cancel buttons + dialog.getElementById('ok').onclick = function() {self.apply();} + dialog.getElementById('cancel').onclick = function() { self.dialog.hide()}; + + this.dialogReady = true; +} +UnFormat.prototype.show = function(editor){ + if (!this.dialog) this.prepareDialog(); + + var editor = this.editor; + + var values = + { + "cleaning_area" : 'selection', + "formatting" : '', + "html_all" : '' + } + // now calling the show method of the Xinha.Dialog object to set the values and show the actual dialog + this.dialog.show(values); + this.dialog.onresize(); +} +UnFormat.prototype.apply = function(editor){ + var editor = this.editor; + var doc = editor._doc; + var param = this.dialog.getValues(); + + // selection is only restored on dialog.hide() + this.dialog.hide(); + // assign the given arguments + + if (param["cleaning_area"] == "all") { + var html = editor._doc.body.innerHTML; + } else { + var html = editor.getSelectedHTML(); + } + + if (param.html_all) { + html = html.replace(/<[\!]*?[^<>]*?>/g, ""); + } + + if (param.formatting) { + html = html.replace(/style="[^"]*"/gi, ""); + html = html.replace(/<\/?font[^>]*>/gi,""); + html = html.replace(/<\/?b>/gi,""); + html = html.replace(/<\/?strong[^>]*>/gi,""); + html = html.replace(/<\/?i>/gi,""); + html = html.replace(/<\/?em[^>]*>/gi,""); + html = html.replace(/<\/?u[^>]*>/gi,""); + html = html.replace(/<\/?strike[^>]*>/gi,""); + html = html.replace(/ align=[^\s|>]*/gi,""); + html = html.replace(/ class=[^\s|>]*/gi,""); + } + if (param["cleaning_area"] == "all") { + editor._doc.body.innerHTML = html; + } else { + editor.insertHTML(html); + } +}; diff --git a/ccm-core/web/assets/xinha/plugins/UnFormat/dialog.html b/ccm-core/web/assets/xinha/plugins/UnFormat/dialog.html new file mode 100644 index 000000000..5cbd89a4a --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/UnFormat/dialog.html @@ -0,0 +1,28 @@ +

    Page Cleaner

    + +
    +
    + Cleaning Area + Selection + All +
    +
    +
    + Cleaning options +
    +
    Formatting:
    + +

    +

    All HTML:
    + +

    +

    +

    +

    Select which types of formatting you would like to remove.

    + +
    + + +
    + +
    diff --git a/ccm-core/web/assets/xinha/plugins/UnFormat/popups/unformat.html b/ccm-core/web/assets/xinha/plugins/UnFormat/popups/unformat.html deleted file mode 100755 index eb4371aae..000000000 --- a/ccm-core/web/assets/xinha/plugins/UnFormat/popups/unformat.html +++ /dev/null @@ -1,85 +0,0 @@ - - - -Page Cleaner - - - - - - - -
    Page Cleaner
    - -
    -
    - Cleaning Area - Selection - All -
    -
    -
    - Cleaning options -
    -
    Formatting:
    - -

    -

    All HTML:
    - -

    -

    -

    -

    Select which types of formatting you would like to remove.

    - -
    - - -
    - -
    - - - \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/plugins/UnFormat/un-format.js b/ccm-core/web/assets/xinha/plugins/UnFormat/un-format.js deleted file mode 100644 index 0923c52e0..000000000 --- a/ccm-core/web/assets/xinha/plugins/UnFormat/un-format.js +++ /dev/null @@ -1,50 +0,0 @@ -/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/plugins/UnFormat/un-format.js */ -function UnFormat(_1){ -this.editor=_1; -var _2=_1.config; -var _3=this; -_2.registerButton({id:"unformat",tooltip:this._lc("Page Cleaner"),image:_1.imgURL("unformat.gif","UnFormat"),textMode:false,action:function(_4){ -_3.buttonPress(_4); -}}); -_2.addToolbarElement("unformat","killword",1); -} -UnFormat._pluginInfo={name:"UnFormat",version:"1.0",license:"htmlArea"}; -UnFormat.prototype._lc=function(_5){ -return Xinha._lc(_5,"UnFormat"); -}; -UnFormat.prototype.buttonPress=function(_6){ -_6._popupDialog("plugin://UnFormat/unformat",function(_7){ -if(_7){ -if(_7["cleaning_area"]=="all"){ -var _8=_6._doc.body.innerHTML; -}else{ -var _8=_6.getSelectedHTML(); -} -if(_7["html_all"]==true){ -_8=_8.replace(/<[\!]*?[^<>]*?>/g,""); -} -if(_7["formatting"]==true){ -_8=_8.replace(/style="[^"]*"/gi,""); -_8=_8.replace(/<\/?font[^>]*>/gi,""); -_8=_8.replace(/<\/?b>/gi,""); -_8=_8.replace(/<\/?strong[^>]*>/gi,""); -_8=_8.replace(/<\/?i>/gi,""); -_8=_8.replace(/<\/?em[^>]*>/gi,""); -_8=_8.replace(/<\/?u[^>]*>/gi,""); -_8=_8.replace(/<\/?strike[^>]*>/gi,""); -_8=_8.replace(/ align=[^\s|>]*/gi,""); -_8=_8.replace(/ class=[^\s|>]*/gi,""); -} -if(_7["cleaning_area"]=="all"){ -_6._doc.body.innerHTML=_8; -}else{ -_6.insertHTML(_8); -} -}else{ -return false; -} -},null); -}; - diff --git a/ccm-core/web/assets/xinha/plugins/WysiwygWrap/WysiwygWrap.js b/ccm-core/web/assets/xinha/plugins/WysiwygWrap/WysiwygWrap.js new file mode 100644 index 000000000..839bbab28 --- /dev/null +++ b/ccm-core/web/assets/xinha/plugins/WysiwygWrap/WysiwygWrap.js @@ -0,0 +1,101 @@ +/** + * WYSIWYG Wrap Plugin + * + * The purpose of this plugin is to wrap the content being edited in Xinha + * with certain elements of given ID and/or class when in the WYSIWYG view. + * + * The reason for this is to assist when styling content. + * + */ + +WysiwygWrap._pluginInfo = { + name : "WYSIWYG Wrap", + version : "1.0", + developer : "James Sleeman", + developer_url : "http://www.gogo.co.nz/", + c_owner : "James Sleeman", + license : "htmlArea" +}; + +Xinha.Config.prototype.WysiwygWrap = +{ + 'elements' : [ ] + // 'elements' : [ 'div.class#id', 'ul', 'li' ] +}; + + +function WysiwygWrap(editor) { + this.editor = editor; +} + +/** Take HTML and wrap it with the elements. + * + * @param string + * @return string + */ + +WysiwygWrap.prototype.inwardHtml = function(html) +{ + for(var x = this.editor.config.WysiwygWrap.elements.length - 1; x >= 0; x--) + { + var e = { tagName: this.editor.config.WysiwygWrap.elements[x], className: '', id: '' }; + if(e.tagName.match(/#(.+)$/)) + { + e.id = RegExp.$1; + e.tagName = e.tagName.replace(/#(.+)$/,''); + } + + if(e.tagName.match(/[^.]*\.(.+)$/)) + { + e.className = RegExp.$1.replace('.', ' '); + e.tagName = e.tagName.replace(/\..+$/, ''); + } + + if(!e.tagName.length) + { + e.tagName = 'div'; + } + + html = '<'+e.tagName+' id="'+e.id+'" class="'+e.className+'">'+html+''; + } + + return html; +} + +/** Take HTML and strip it from the elements. + * + * @param string + * @return string + */ + +WysiwygWrap.prototype.outwardHtml = function(html) +{ + for(var x = 0; x < this.editor.config.WysiwygWrap.elements.length; x++) + { + var e = { tagName: this.editor.config.WysiwygWrap.elements[x], className: '', id: '' }; + if(e.tagName.match(/#(.+)$/)) + { + e.id = RegExp.$1; + e.tagName = e.tagName.replace(/#(.+)$/,''); + } + + if(e.tagName.match(/[^.]*\.(.+)$/)) + { + e.className = RegExp.$1.replace('.', ' '); + e.tagName = e.tagName.replace(/\..+$/, ''); + } + + if(!e.tagName.length) + { + e.tagName = 'div'; + } + + var r1 = new RegExp('^(\\s|\\n|\\r)*<'+e.tagName+'[^>]*>(\\s|\\n|\\r)*', 'i'); + var r2 = new RegExp('(\\s|\\n|\\r)*]*>(\\s|\\n|\\r)*$', 'i'); + + html = html.replace(r1, ''); + html = html.replace(r2, ''); + } + + return html; +} diff --git a/ccm-core/web/assets/xinha/popups/about.html b/ccm-core/web/assets/xinha/popups/about.html deleted file mode 100755 index 7f129d621..000000000 --- a/ccm-core/web/assets/xinha/popups/about.html +++ /dev/null @@ -1,301 +0,0 @@ - - - - - -About Xinha - - - - - - - -
    - -

    Xinha

    - -
    - -
    -
    - -
    - -

    A free WYSIWYG editor replacement for <textarea> fields.

    -

    Visit the Xinha Website for more information.

    - -

    - Use of Xinha is granted by the terms of the htmlArea License (based on BSD license) -

    -
    -   Copyright (c) 2005-2008 Xinha Developer Team and contributors
    -  
    -

    - Xinha was originally based on work by Mihai Bazon which is: -

    -
    -Copyright (c) 2003-2004 dynarch.com.
    -Copyright (c) 2002-2003 interactivetools.com, inc.
    -This copyright notice MUST stay intact for use.
    -  
    -
    - -
    - -

    - The development of Xinha would not have been possible without the original work of Mihai Bazon, InteractiveTools.com, and the many sponsors and contributors from around the world. -

    - -
    - -
    -
    htmlArea License (based on BSD license)
    -Copyright (c) 2002-2004, interactivetools.com, inc.
    -Copyright (c) 2003-2004 dynarch.com
    -All rights reserved.
    -
    -Redistribution and use in source and binary forms, with or without
    -modification, are permitted provided that the following conditions are met:
    -
    -1) Redistributions of source code must retain the above copyright notice,
    -   this list of conditions and the following disclaimer.
    -
    -2) Redistributions in binary form must reproduce the above copyright notice,
    -   this list of conditions and the following disclaimer in the documentation
    -   and/or other materials provided with the distribution.
    -
    -3) Neither the name of interactivetools.com, inc. nor the names of its
    -   contributors may be used to endorse or promote products derived from this
    -   software without specific prior written permission.
    -
    -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
    -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
    -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
    -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
    -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
    -CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
    -SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
    -INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
    -CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
    -ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
    -POSSIBILITY OF SUCH DAMAGE.
    -
    - -
    -
    -
    -
    - - -
    - -
    - -
    - - -
    - - -
    -
    About
    Thanks
    License
    Plugins
    Version
    - -
    - -
    - - diff --git a/ccm-core/web/assets/xinha/popups/editor_help.html b/ccm-core/web/assets/xinha/popups/editor_help.html index f19781364..9aa7a89d6 100755 --- a/ccm-core/web/assets/xinha/popups/editor_help.html +++ b/ccm-core/web/assets/xinha/popups/editor_help.html @@ -23,7 +23,7 @@ function onCancel() { -
    Xinha Help
    +
    Editor Help
    diff --git a/ccm-core/web/assets/xinha/popups/popup.js b/ccm-core/web/assets/xinha/popups/popup.js index d08f6676c..372a39b79 100644 --- a/ccm-core/web/assets/xinha/popups/popup.js +++ b/ccm-core/web/assets/xinha/popups/popup.js @@ -1,108 +1,2 @@ /* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ -/* This file is part of version 0.95 released Mon, 12 May 2008 17:33:15 +0200 */ -/* The URL of the most recent version of this file is http://svn.xinha.webfactional.com/trunk/popups/popup.js */ -if(typeof Xinha=="undefined"){ -Xinha=window.opener.Xinha; -} -HTMLArea=Xinha; -function getAbsolutePos(el){ -var r={x:el.offsetLeft,y:el.offsetTop}; -if(el.offsetParent){ -var _3=getAbsolutePos(el.offsetParent); -r.x+=_3.x; -r.y+=_3.y; -} -return r; -} -function comboSelectValue(c,_5){ -var _6=c.getElementsByTagName("option"); -for(var i=_6.length;--i>=0;){ -var op=_6[i]; -op.selected=(op.value==_5); -} -c.value=_5; -} -function __dlg_onclose(){ -opener.Dialog._return(null); -} -function __dlg_init(_9,_a){ -__xinha_dlg_init(_a); -} -function __xinha_dlg_init(_b){ -if(window.__dlg_init_done){ -return true; -} -if(window.opener._editor_skin){ -var _c=document.getElementsByTagName("head")[0]; -var _d=document.createElement("link"); -_d.type="text/css"; -_d.href=window.opener._editor_url+"skins/"+window.opener._editor_skin+"/skin.css"; -_d.rel="stylesheet"; -_c.appendChild(_d); -} -if(!window.dialogArguments&&opener.Dialog._arguments){ -window.dialogArguments=opener.Dialog._arguments; -} -var _e=Xinha.pageSize(window); -if(!_b){ -_b={width:_e.x,height:_e.y}; -} -window.resizeTo(_b.width,_b.height); -var _f=Xinha.viewportSize(window); -window.resizeBy(0,_e.y-_f.y); -if(_b.top&&_b.left){ -window.moveTo(_b.left,_b.top); -}else{ -if(!Xinha.is_ie){ -var x=opener.screenX+(opener.outerWidth-_b.width)/2; -var y=opener.screenY+(opener.outerHeight-_b.height)/2; -}else{ -var x=(self.screen.availWidth-_b.width)/2; -var y=(self.screen.availHeight-_b.height)/2; -} -window.moveTo(x,y); -} -Xinha.addDom0Event(document.body,"keypress",__dlg_close_on_esc); -window.__dlg_init_done=true; -} -function __dlg_translate(_12){ -var _13=["input","select","legend","span","option","td","th","button","div","label","a","img"]; -for(var _14=0;_14<_13.length;++_14){ -var _15=document.getElementsByTagName(_13[_14]); -for(var i=_15.length;--i>=0;){ -var _17=_15[i]; -if(_17.firstChild&&_17.firstChild.data){ -var txt=Xinha._lc(_17.firstChild.data,_12); -if(txt){ -_17.firstChild.data=txt; -} -} -if(_17.title){ -var txt=Xinha._lc(_17.title,_12); -if(txt){ -_17.title=txt; -} -} -if(_17.tagName.toLowerCase()=="input"&&(/^(button|submit|reset)$/i.test(_17.type))){ -var txt=Xinha._lc(_17.value,_12); -if(txt){ -_17.value=txt; -} -} -} -} -document.title=Xinha._lc(document.title,_12); -} -function __dlg_close(val){ -opener.Dialog._return(val); -window.close(); -} -function __dlg_close_on_esc(ev){ -ev||(ev=window.event); -if(ev.keyCode==27){ -__dlg_close(null); -return false; -} -return true; -} - +if(typeof Xinha=="undefined"){Xinha=window.opener.Xinha}HTMLArea=Xinha;function getAbsolutePos(b){var c={x:b.offsetLeft,y:b.offsetTop};if(b.offsetParent){var a=getAbsolutePos(b.offsetParent);c.x+=a.x;c.y+=a.y}return c}function comboSelectValue(f,d){var b=f.getElementsByTagName("option");for(var a=b.length;--a>=0;){var e=b[a];e.selected=(e.value==d)}f.value=d}function __dlg_onclose(){opener.Dialog._return(null)}function __dlg_init(b,a){__xinha_dlg_init(a)}function __xinha_dlg_init(b){if(window.__dlg_init_done){return true}if(window.opener._editor_skin){var c=document.getElementsByTagName("head")[0];var d=document.createElement("link");d.type="text/css";d.href=window.opener._editor_url+"skins/"+window.opener._editor_skin+"/skin.css";d.rel="stylesheet";c.appendChild(d)}if(!window.dialogArguments&&opener.Dialog._arguments){window.dialogArguments=opener.Dialog._arguments}var e=Xinha.pageSize(window);if(!b){b={width:e.x,height:e.y}}window.resizeTo(b.width,b.height);var f=Xinha.viewportSize(window);window.resizeBy(0,e.y-f.y);if(b.top&&b.left){window.moveTo(b.left,b.top)}else{if(!Xinha.is_ie){var a=opener.screenX+(opener.outerWidth-b.width)/2;var g=opener.screenY+(opener.outerHeight-b.height)/2}else{var a=(self.screen.availWidth-b.width)/2;var g=(self.screen.availHeight-b.height)/2}window.moveTo(a,g)}Xinha.addDom0Event(document.body,"keypress",__dlg_close_on_esc);window.__dlg_init_done=true}function __dlg_translate(e){var d=["input","select","legend","span","option","td","th","button","div","label","a","img"];for(var g=0;g=0;){var f=c[b];if(f.firstChild&&f.firstChild.data){var a=Xinha._lc(f.firstChild.data,e);if(a){f.firstChild.data=a}}if(f.title){var a=Xinha._lc(f.title,e);if(a){f.title=a}}if(f.tagName.toLowerCase()=="input"&&(/^(button|submit|reset)$/i.test(f.type))){var a=Xinha._lc(f.value,e);if(a){f.value=a}}}}document.title=Xinha._lc(document.title,e)}function __dlg_close(a){opener.Dialog._return(a);window.close()}function __dlg_close_on_esc(a){a||(a=window.event);if(a.keyCode==27){__dlg_close(null);return false}return true}; \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/release-notes.txt b/ccm-core/web/assets/xinha/release-notes.txt index d2f765755..825701a08 100755 --- a/ccm-core/web/assets/xinha/release-notes.txt +++ b/ccm-core/web/assets/xinha/release-notes.txt @@ -1,212 +1,380 @@ -Xinha - The Community-Built Online HTML Editor - -For bug reports, forum, and updates go to -http://xinha.org - -Release History -Xinha 0.95 -Bugs Fixed - * fixed #1040 htmlRemoveTags doesn't work in IE - * fixed #645 IE Save as function only saves the original html - * fixed #1136 FF3 Linux select boxes in toolbar are too small - * fixed #1100 Extended File Manager - Error after opening window - * fixed #1103 [TransformInnerHTML] IE breaks singlet attributes starting with "no" - * fixed #1086 Repeated javascript insertion in onclick attributes - * fixed #1094 IE throws error in Xinha.loadStyle function - * fixed #1117 IE returns javascript error -1072896658 - * fixed #993 PageStyle to override styles in PageStylesheets - * #1112 switching between modes leaves strange characters in source - * fixed #1128 loading fails when Fullscreen tried to load as plugin - * fixed #1126 Percent (%) in URL prevent stripSelfNamedAnchors from working - * fixed #1120 HTML select overlaps color picker in IE6 - * #1115 + #1127 fixed compatibility issues with Firefox 3 - * #961 + #1130 changed behaviour of xinha_config.baseHref - * fixed #645 Save as function only saves the original html - * fixed #1040 htmlRemoveTags doesn't work in IE - * fixed #1015 Mozilla shows scrollbars on click in Stylist - * #918 removed mozParaHandler dirty as it had been broken for a long time - * fixed #1015 Mozilla shows scrollbars on click in Stylist - * fixed #1148 HTML entities break when cursor is inside when switching from HTML to WYSIWYG - * fixed #1151 form action always made absolute - * fixed #1155 InsertAnchor broken in IE 7 - * fixed #1158 [ImageManager] in Japanese environment, an error occurs by reading of lang/ja.js in IE6/7 - * fixed #1152 Plugins using surroundHTML (EditTag, LangMarks) no longer work in IE7 - * fixed #1161 permission error from ColorPicker.js - * fixed #1181 [TableOperations] Table Options dialog first entry for border style faulty - * fixed #1185 [TableOperations] IE: style float broken - * fixed #1197 [Linker] IE shows bug in line 262 - * fixed #1200 [Linker] Dialog does not show if scanned folder empty - -Enhancements - * #1143 add Safari support - * #938 add Opera support - * #1138 added API functions Xinha.getEditor(), Xinha.prototype.getPluginInstance(), Xinha.addOnloadHandler() - * #1137 [Equation] FF3 fixes & improved way of avoiding formula changes in editor - * #1150 synchronize "Remove Format" between browsers - * added plugin PreserveScripts for enhanced editing of pages containing PHP and/or JavaScript () - * Loading message facelift - * added XinhaLoader.js for enhanced user experience through early loading message - * made Xinha.makeEditors accept a DOM reference to the textarea instead of the id as part of xinha_editors array (#1105) - * #1123 Allow return of PHP array from xinha_pass_to_php_backend - * [Linker] scan.php: Allow specification of base url to use (so that a subdirectory can be used as $dir and return appropriate urls to the files (prefixing the url - * [ExtendedFileManager] new Version - * #961 + #1130 changed behaviour of xinha_config.baseHref - * #1137 [Equation] improved way of avoiding formula changes in editor - * #442 removed alert "Your Document is not well formed..." - * #1119 disabled Firefox 2 spell check when ContextMenu is enabled - * added a plugin "GenericPlugin" as a democase for plugin event handlers - * #1171 [SmartReplace] now also replaces three dots with an ellipsis - * #1119 [ContextMenu] optionally switch of Firefox Spell check - * #1172 [LangMarks] make available languages configurable - * enhanced behaviour when xinha_config.baseHref is set to another server - * #1195 Allow to specify an external url to load a plugin from - * #1201 Add inwardHtml/outwardHtml functions to Config object - -I18n - * #1109 Spanish language extended - * #1116 [ExtendedFileManager] added French translation - * #853 updated Translation for farsi - * fixed wrong encoding in Spanish language file - * fixed no bold/italic/underline button images in Spanish - * #1194 [ExtendedFileManager] updated French translation - - -Xinha 0.94 - * Ticket #1093 [InsertSmiley] remove smiley gifs from trunk - * fixed Ticket #1019 Cusor not jumping to editable part of window when clicked in IE - * [TableOperations] Add config option to not dispaly toolbar buttons - * fixed Ticket #1021 Prevent ExtendedFileManager from masking ImageManager - * fixed Ticket #1023 [ImageManager] Add config item to allow the advanced image options to be hidden from the user - * fixed Ticket #1026 fix problems with loading skins - * fixed Tickets #1030 & #1031: slow loading large pages in IE - * fixed Ticket #1034 [ExtendedFileManager] Color pickers shown when use_color_pickers is false - * fixed Ticket #1035 [TransformInnerHTML] tags corruptedunder certain circumstances - * fixed Ticket #1036 [ExtendedFileManager] window is only resized after all thumbnails have benn loaded, which can take quite some time - * fixed Ticket #1039 Firefox full page adds multiple paragraphs after view source - * fixed Ticket #1019 Cusor not jumping to editable part of window when clicked in IE7 - * fixed Ticket #1046 Error in IE 6 when switching from text to wysiwyg - * [DOMwalk] linebreaks inserted before
    s - * catch error in IE when trying to restore selection on non-displayed area - * fixed Ticket #973 Error switching wysiwyg/html including javascript file on the code - * fixed Ticket #1028 - [Linker] automatically (attempt to) work around an issue with mod_security being triggered because of the charset on our POST requests - * fixed Ticket #1055 [Stylist] Inappropriate styles (for other tags) are shown - * added Dutch language files - * added new hook 'onBeforeSubmit' for firePluginEvent() - * added new hook 'onBeforeUnload' for firePluginEvent() - * fixed Ticket #1048 Full Screen plugin doesn't load if many editors on page - * fixed Ticket #1053 ListType plugin doesn't work in panel config with multiple editors - * fixed Ticket #1026 Skins referenced with -tags don't work anymore - * fixed Ticket #1059 [Equation] loosing formula onsubmit - * fixed Ticket #1060 [Equation] various updates - * [Equation] preserve formula on reload in Mozilla - * [Equation] updated ASCIIMathML.js - * [Skin:silva] padding and border on textarea make the textmode too wide - * fixed Ticket#1001 Editor loads a bunch of null urls in ie - * fixed Ticket #1068 [TranformInnerHTML] newlines added after - * fixed Ticket#1069 Editor document URL prefixed to any href that only consists of URL parameters - * added Thai translation for core - * added complete Portuguese Brazilian translation - * updated lc_parse script - * fixed Ticket #1071 [ExtendedFileManager] external image URL image inserted with width/height 0, amking it invisible - * fixed Ticket #1074 [SuperClean] throws warnings in PHP 5 - * fixed Ticket #1079 [DynamicCSS] lists Xinha internal CSS - * fixed Ticket #1080 Some plugins leave behind stylesheet links in fullpage mode - * fixed Ticket #1083 Convert URLs to links - Error - * fixed Ticket #1084 URL auto-linking (Gecko): URLs with user:password@domain.tld falsely recognized as email address - * fixed Ticket #1085 URL auto-linking (Gecko): IP numbers don't work - * fixed Ticket #1081 Control character is not being removed inside SCRIPT tags or HEAD when switching from textmode to htmlmode - * fixed Ticket #1078 [InsertImage] spacing attributes: inconsistent behaviour when editing image - * fixed Ticket #1089 [Color Picker] Localize OK Label - * fixed Ticket #1091 [SaveSubmit] does not correctly submit value of checkboxes and radio buttons - -Xinha 0.93 - - fixed Ticket #967 Font Color Picker stops working after using one of ImageManager, ExtendedFileManager, FullPage, or HorizontalRule - - fixed Ticket #965 When switching between Xinhas in the same page, in textmode toolbar stays disabled - - fixwd Ticket #963 DOMwalk IE: head tag attributes without quotes and closing slash - - Ticket #962 DOMwalk Mozilla: improved source indentation - - fixed Ticket #957 If item in in xinha_editors is not a textarea: skip gracefully - - fixed Ticket #900: catch an fatal error that occured sometimes when switching between modes in fullpage mode in Mozilla - - fixed Ticket #969 DOMwalk Gecko: line breaks rendered as
    s inside
     blocks
    - - fixed Ticket #976 Loading message misplaced in IE7
    - - fixed Ticket #977 TableOperations toolbar off-place in ext_example.html
    - - fixed Ticket #978 defining a padding for 
    s in global css affects Xinha framework - - Ticket #979 improve checking for non-supported browsers - - fixed Ticket #934 SuperClean plugin returns just quotation when executed on localhost - - Ticket #929 Save changes on page unload fixed for Mozilla - - fixed Ticket #980 ImageManager color format bug - - fixed Ticket #981 No doctype in iframe content document/ editor always in quirks mode - - fixed Ticket #543 Stylist Panel overflow broken - - Ticket #983 added id for iframe - - fixed Ticket #984 !ExtendedFileManager produces php warning - - optimized icon file size - - fixed !JavaScript error in !ImageManager/!ExtendedFileManager image editor - - Ticket #908* Prompts broken in IE7: fixed for EFM, !ImageManager & !TableOperations - - Fixes for TableOperations, tickets #82, #908*, #912 and #947 - - fixed Ticket #998* whitespace added before and/or after content (in non-fullpage mode) - - fixed slow unloading in Mozilla - - Fix focus problem when switching from html to wysiwyg in Gecko. See ticket #900. - - fixed toolbar floating issue - - fixed #1003 HTML length limited to 1024 characters with plugin CharCounter - - Ticket #1000 new public methods for getting/setting editor content - - fixed #735 - IE eating scripts and comments at the beginning of pages. - - Added new config variables to set iframe width if less than editor width (ticket:322) and set alignment of toolbar buttons. - - added Basque translation for XinhaCore - - prevent an error if server is set to parse .js files as PHP - - Ticket #127 plugin HtmlEntities: Entities.js file corrupt - -Xinha 0.92beta - - fixed Ticket #831 stop empty anchors from being removed - - Make htmlarea.js just load XinhaCore.js instead of being a copy of it. - - fixed Ticket #445 Toggle TableBorder doesn't work if this.fullpage=true or using FullPage plugin - - fixed Ticket #551 shape and coord attributes of area element are ignored by IE - - fixed Ticket #650 SpellChecker is not compatible with FullPage plugin - - fixed Ticket #816 CharacterMap and ListType panel modes make editor jump to top in IE - - fixed Ticket #570 change behaviour of justify when an image is selected to make the image float left/right, - click the justify button again to undo it - - fixed Ticket #891 noscript content got escaped - - fixed Ticket #857 Firefox fails to load in fullpage mode when tag in wrong place. - - fixed Ticket #841 Spell Checker - Won't return to xinha. - - fixed Ticket #914 All buttons stay grey & this.getParentElement is not a function message when not calling - Xinha.loadPlugins() in xinha_init function - - fixed Ticket #911 Background color does not work in Firefox - - fixed Ticket #912 an error is thrown in Mozilla when clicking merge cells button and fewer than 2 cells are selected - - fixed Ticket #816 CharacterMap and ListType panel modes make editor jump to top in IE - - fixed Ticket #917 getHTMLWrapper in IE renders attributes like _stylist_usedtobe="[object Object]" - - fixed Ticket #556 stripBaseHref didn't work without baseHref defined explicitly. - - Update InsertPicture plugin Update - - fixed Ticket #921 EFM extended file manager - iframe height problem (IE) - - Ticket #923 colorPicker face lift & localisation - - fixed Ticket #924 EFM + ImageManager re-transforming of url to original image after automatic resize broken - - Ticket #900- retain editing position position between modes - - fixed Ticket #928 ImageManager fails if (another) Files.php exists in include path - - fixed Ticket #935 EFM demo_images php upload allowed: possible security risk - - Ticket #939 Japanese langage support - - fixed Ticket #3 Horizontal Rule Selection - - Plugin ExtendedFileManager: added doc to allowed upload extensions - - Plugin PasteText update - - Plugin HtmlEntities: default preset iso-8859-1 - - fixed Ticket #948 IE: inline styles are not rendered by DOMwalk getHTML() - - Plugin HorizontalRule update - - Plugin SaveSubmit update - - Plugin Linker update - - fixed Ticket #823 editor contents was not submitted when using JavaScript form.submit() without prior form.onsubmit() - - fixed Ticket #459 all body attributes removed in full page mode in FireFox - - _editor_url is now converted to absolute if it is relative. - - fixed Ticket #594 IE: insertHTML() inserts HTML outside editor when editor is not focussed - - Ticket #954 FullScreen mode can now be called programmatically or on startup with or without button - - fixed Ticket #321 FullScreen : select elements show through in IE6 - - fixed Ticket #953 Statusbar has ugly white gap at the bottom when switching back from full screen in IE - - fixed Ticket #952 FullScreen: scrollbars don't disappear in IE in QuirksMode - - fixed Ticket #603 Popop Dialog Height problems - - fixed Ticket #955 DOMwalk getHTML outputs empty attribute with value "true" instead of attribute name and some are skipped at all - -Xinha 0.91beta - - changed namespace from HTMLArea to Xinha - - the core file is now named XinhaCore.js instead of htmlarea.js, - please change your pages accordingly (the htmlarea.js will be removed!) - - the color picker script is now loaded on demand to reduce initial loading time - -Xinha 0.9beta -This equals Xinha revision 635 of Jan 11 2007 - - All JavaScript files over 2kb have been compressed using the dojo JavaScript compressor +Xinha - The Community-Built Online HTML Editor + +For bug reports, forum, and updates go to +http://xinha.org + +Release History + +Xinha 0.96 +== Bugs Fixed == + + * #1425 [SmartReplace][Gecko] When inserting opening quote, the space before the cursor is deleted + * #1429 Problems with Apache and HEAD requests... + * #1478 Further important security precautions for ExtendedFileManager and ImageManager + * #1478 Hide all dotfiles from the Linker scanner, the linker shouldn't be showing "hidden" files. + * #1478 CSS fix to dTree in linker, just to make sure it's styles were not getting clobbered. + * #1478 Stop the Stylist from possibly adding a duplicate stylesheet into pageStyleSheets, this was creating a subtle problem in certain circumstances. + * #1227 Improved handling of CSS imports in Stylist plugin. + * #1448 a[b.id] is undefined + * #1387 prevent crash in IE + * #1198 Fix for bad sizing of editor. + * #1121 Disable tab in Internet Explorer because it exits the Xinha area. + * #472 Disable InsertPicture + * #579 Pass value to dropdown handlers. + * #1472 _top not respected in editing link. + * #1467 autofocus=false not working as expected. + * #1461 Special characters in image make thumbnail not appear. + * #1435 IE failed in TransformInnerHTML + * #1232 Clickable icons on ExtendedFileManager + * #1409 Image Properties broken in ContextMenu + * #1419 Stylist display problem in IE6/7, HasLayout bug. + * #1262 Alternative method for restoring from fullscreen mode. + * #1388 Change — to &8212; for xml compatability. + * #1093, #1377 Rewrite the InsertSmiley plugin. Remains compatible with ray's changes in r904 if people have made a specific configuration. + * #1282 Opera losing it's events when designMode turned on causing status bar to not update amongst other things. + * r1228 Remove PersistantStorage from Newbie example, because it not actually usable atm + * r1229 Fix firefox version detection. + * r1230 avoid unecessary pollution of global namespace + * r1232 Removed CC license from Tango iconset, as it seems not appropriate + * r1232 Changed HtmlEntities plugin license to HTMLArea + * #1488 Fix Control Selection in IE8 + * r1235 Change license to HTMLArea - see http://xinha.org/punbb/viewtopic.php?id=2499 + * #1497 TransformInnerHtml handling of object tag + * #1498 Color picker display in new dialogs in IE6 + * #1499 Fix focus errors in new dialogs in IE + * #1503 xinha_to_js did not handle booleans correctly + * #1509 Prevent attempting to compress REs in Safari 4 + * #1515 Security patch to prevent rogue access to the compressors in contrib. + * #1518 Security patch which prevents non-default keys in xinha_pass_to_php_backend. + * #1518 Issue an error and ignore the special backend configuration when the key location is non default, for both the ImageManager and ExtendedFileManager deprecated config passing methods. + * #1209 and #1182 Upgrade Equation to use new AsciiMath, fix multiple equation editing. Thanks to Niraj Bhawnani of University of New South Wales. + * #1483 Fix cancel button in Equation editor. + * #1485 Add a double-click handler which will bring up the link/image insertion dialogs (or ImageManager/Linker) when a link or image is double clicked. + * #1492 Fix linker in some situations. + * #1471, #1508, #1510 Fix IE8 problems with TableOperations and other buttons, and absolute positioned editing. + +== New Features == + + * r1189 added toolbar config to Newbie example + * #1478 Add new method Xinha.extend to provide more classical object oriented subclasses within Javascript. + * #1478 Add new method Xinha.Dialog::setLocalizer() to more easily set a specific localizer for a dialog. + * #1478 File-Picker on arbitrary fields outside Xinha (ExtendedFileManager) + * #1478 Add config option to use HSpace and VSpace in ImageManager (default off) + * #1478 Add YouTube and Flickr support to ImageManager so that videos and Flickr images can be searched and selected in the ImageManager. + * #1478 Add a new dialog type "DetachedDialog" to help leverage Xinha plugins to perform tasks outside of Xinha, and an example of a simple dialog for those who wish to make their own. + * #1478 Link-Picker on arbitrary fields outside Xinha (Linker) + * #1478 New Plugin: WysiwygWrap - combined with an appropriate pageStyleSheet(s) you can more easily simulate in Xinha what it will "look like" when that HTML is "published". + * #1446 Provide a means for adding custom hooks into the ContextMenu plugin. + * #1220 Add ability to pass extra arguments in the post to the backend handler for SuperClean. + * #1465 Add an option `resize_files` to both ExtendedFileManager and ImageManager, defaults true, false turns off the automatic image resizing. + * #1189 Add the xml:lang attribute to LangMarks plugin. The configuration for this plugin has changed, old configurations are accepted with a warning to the console. + * #1433 Add a SaveOnBlur plugin, authored by Peter Siewert (with a clean up by James Sleeman). + * #1479 Add CSSPicker plugin. + * #1205 Add allow_delete and allow_edit to ImageManager + * #1205 Add allow_delete to ExtendedFileManager + * #1496 Make dialog title bar logo skinable + * r1243 Added a method to allow plugins to easily load assets synchronously (for dependancies). + * #1502 Add new plugin MootoolsFileManager - an advanced image and file uploader/picker/inserter with multi-file-upload, progress bars, and previews. + * #1507 Config option to show fonts in toolbar using actual fonts. + +== Translation == + + * #1477 Danish translation for ExtendedFileManager and SuperClean + * r1205 Updated Danish translation. + * #1470 Contribution from Niels Baggesen to assist translators. + * #1454, #1455, #1456, #1457, #1458, #1459, #1460 Spanish translations. + * #1469 Updated danish translation. + + +Xinha 0.96beta2 +Bugs Fixed + * #1376 [IE6 & IE7 Quirksmode] Dialogs are invisible + * #1381 [IE] QuirksMode dialog background rendered in wrong position when panel is detached + * #1383 [IE7] Secure and Nonsecure Warning + * #1382 [IE] QuirksMode dialog background falsely non-grey with modal dialogs, grey when dragging modeless dialogs + * #1389 [IE6] selection lost when clicking toolbar button + * #1386 [Safari] Setting default checkbox settings in dialogs does not work + * #1394 fullpage puts metas/ title all on the same line + * #1390 PreserveScripts shorthand php tags + * #1392 too much recursion when setting HTML in fullPage mode using onGenerate/onGenerateOnce + * #1407 [IE8] window resize causes infinite loop + * #1408 PHP5 IIS file upload problem + * #1374 [IE8] Table insert not work + * #1379 [Firefox] no longer corrupts image data from broken images + +Translation + * [SmartReplace] Added French translation + * #1406 [FullScreen] Added Spanish translation + +Xinha 0.96beta +Bugs Fixed + * #314 Status bar should wrap + * #741 ContextMenu should not overflow window boundaries + * #961 baseHref not correctly treated when stripping + * #1160 Safari puts selected HTML near bottom if edited + * #1166 TableOperations dialogs do not resize properly in Safari 3 + * #1173 IE8 beta toolbars broken + * #1174 IE8 beta no text cursor in wysiwyg + * #1187 ExtendedFileManager "imgManager.changeDir is not a function" error + * #1193 Stylist bug when formatting selected text + * #1213 Would be nice to protect unsaved changes from accidental loss when navigating away + * #1221 Selecting heading normal on nothing throws exception alert + * #1224 sevenbitclean? / ghost cursor error with html mode toggle (Firefox) + * #1227 No CSS rules load when using @import in external stylesheet + * #1230 CSS width attribute breaks select display in IE + * #1240 Linker: trim spaces from URL + * #1247 CharCounter problems with Silva skin + * #1257 Error if url query string included '/' + * #1258 Event object is not handed over to event handlers installed on textarea + * #1261 Dutch translation for Fullscreen module + * #1280 restoreSelection doesn't always work in internet explorer + * #1281 selectNodeContents is borken in IE when the node is a text node + * #1284 _editor_url is still used in a couple of plugins. + * #1286 use callbacks as criteria for getFirstAncestor + * #1288 [DefinitionList] list items restricted to small width and one line by CSS + * #1290 Improved support for pasting from Microsoft Word + * #1291 Xinha.removeFromParent() does not return correct reference + * #1292 change naming scheme of plugin files + * #1293 [Gecko] Window scrolls to top of editing area when switching from text to WYSIWYG + * #1294 Editor higher in HTML mode + * #1295 Textarea not aligned under toolbar + * #1298 CSS styling gets inserted into table cell after viewing source (Safari only) + * #1300 create namespace for plugins within Xinha namespace + * #1301 loading should not fail if plugin omits _pluginInfo + * #1302 add Array.prototype.forEach for Browser that doesn't support it + * #1303 add getElementsByClassName() + * #1306 Toolbar actions need access to the click event + * #1309 Xinha chokes on anchors + * #1315 Xinha's _addEvent uses event capturing + * #1316 In InternetExplorer, the cursor is lost when switching into source mode + * #1317 Xinha's postback and getback should allow for failure handlers + * #1319 make event hooks like onKeyPress accesible from the config object + * #1320 make it possible to use png images as icons in IE6 + * #1321 [SaveSubmit] icon is in "changed" state initially + * #1322 [SaveSubmit] error when form action is empty + * #1332 Panel classes are very generic, and risk conflict with users embedding it in their site + * #1337 GetHTML truncates hyperlinks + * #1346 statusbar shows b, i, strike instead of strong, em, and del + * #1357 safari form submit has empty form field names in POST data, causes failure with perl CGI + + +Enhancements + * #1176 Completely revamped dialog system, which uses inline lightbox-style dialogs instead of separate popup windows + * #326 Added support for customizable icon sets + * #1318 Added icon set from the Tango Project + * #1287 New InsertNote plugin for handling footnotes, with automatic note numbering and ordering, linking, and support for repeated references + * #1289 New InsertSnippet2 plugin, with categorization of snippets, search by name, and an XML data format + * #58 Additional settings for Linker plugin (link types and targets can be configured) + * #1219 Configuration option to autofocus editor + * #1285 Configuration option to set document body class + * #1323 Allow skins to have meta information (author, etc.) + * #1338 _editor_url is now automatically detected + * #1345 Add a static function that saves the contents of all Xinhas to their respective textareas + + +Xinha 0.95 +Bugs Fixed + * fixed #1040 htmlRemoveTags doesn't work in IE + * fixed #645 IE Save as function only saves the original html + * fixed #1136 FF3 Linux select boxes in toolbar are too small + * fixed #1100 Extended File Manager - Error after opening window + * fixed #1103 [TransformInnerHTML] IE breaks singlet attributes starting with "no" + * fixed #1086 Repeated javascript insertion in onclick attributes + * fixed #1094 IE throws error in Xinha.loadStyle function + * fixed #1117 IE returns javascript error -1072896658 + * fixed #993 PageStyle to override styles in PageStylesheets + * #1112 switching between modes leaves strange characters in source + * fixed #1128 loading fails when Fullscreen tried to load as plugin + * fixed #1126 Percent (%) in URL prevent stripSelfNamedAnchors from working + * fixed #1120 HTML select overlaps color picker in IE6 + * #1115 + #1127 fixed compatibility issues with Firefox 3 + * #961 + #1130 changed behaviour of xinha_config.baseHref + * fixed #645 Save as function only saves the original html + * fixed #1040 htmlRemoveTags doesn't work in IE + * fixed #1015 Mozilla shows scrollbars on click in Stylist + * #918 removed mozParaHandler dirty as it had been broken for a long time + * fixed #1015 Mozilla shows scrollbars on click in Stylist + * fixed #1148 HTML entities break when cursor is inside when switching from HTML to WYSIWYG + * fixed #1151 form action always made absolute + * fixed #1155 InsertAnchor broken in IE 7 + * fixed #1158 [ImageManager] in Japanese environment, an error occurs by reading of lang/ja.js in IE6/7 + * fixed #1152 Plugins using surroundHTML (EditTag, LangMarks) no longer work in IE7 + * fixed #1161 permission error from ColorPicker.js + * fixed #1181 [TableOperations] Table Options dialog first entry for border style faulty + * fixed #1185 [TableOperations] IE: style float broken + * fixed #1197 [Linker] IE shows bug in line 262 + * fixed #1200 [Linker] Dialog does not show if scanned folder empty + +Enhancements + * #1143 add Safari support + * #938 add Opera support + * #1138 added API functions Xinha.getEditor(), Xinha.prototype.getPluginInstance(), Xinha.addOnloadHandler() + * #1137 [Equation] FF3 fixes & improved way of avoiding formula changes in editor + * #1150 synchronize "Remove Format" between browsers + * added plugin PreserveScripts for enhanced editing of pages containing PHP and/or JavaScript () + * Loading message facelift + * added XinhaLoader.js for enhanced user experience through early loading message + * made Xinha.makeEditors accept a DOM reference to the textarea instead of the id as part of xinha_editors array (#1105) + * #1123 Allow return of PHP array from xinha_pass_to_php_backend + * [Linker] scan.php: Allow specification of base url to use (so that a subdirectory can be used as $dir and return appropriate urls to the files (prefixing the url + * [ExtendedFileManager] new Version + * #961 + #1130 changed behaviour of xinha_config.baseHref + * #1137 [Equation] improved way of avoiding formula changes in editor + * #442 removed alert "Your Document is not well formed..." + * #1119 disabled Firefox 2 spell check when ContextMenu is enabled + * added a plugin "GenericPlugin" as a democase for plugin event handlers + * #1171 [SmartReplace] now also replaces three dots with an ellipsis + * #1119 [ContextMenu] optionally switch of Firefox Spell check + * #1172 [LangMarks] make available languages configurable + * enhanced behaviour when xinha_config.baseHref is set to another server + * #1195 Allow to specify an external url to load a plugin from + * #1201 Add inwardHtml/outwardHtml functions to Config object + +I18n + * #1109 Spanish language extended + * #1116 [ExtendedFileManager] added French translation + * #853 updated Translation for farsi + * fixed wrong encoding in Spanish language file + * fixed no bold/italic/underline button images in Spanish + * #1194 [ExtendedFileManager] updated French translation + + +Xinha 0.94 + * Ticket #1093 [InsertSmiley] remove smiley gifs from trunk + * fixed Ticket #1019 Cusor not jumping to editable part of window when clicked in IE + * [TableOperations] Add config option to not dispaly toolbar buttons + * fixed Ticket #1021 Prevent ExtendedFileManager from masking ImageManager + * fixed Ticket #1023 [ImageManager] Add config item to allow the advanced image options to be hidden from the user + * fixed Ticket #1026 fix problems with loading skins + * fixed Tickets #1030 & #1031: slow loading large pages in IE + * fixed Ticket #1034 [ExtendedFileManager] Color pickers shown when use_color_pickers is false + * fixed Ticket #1035 [TransformInnerHTML] tags corruptedunder certain circumstances + * fixed Ticket #1036 [ExtendedFileManager] window is only resized after all thumbnails have benn loaded, which can take quite some time + * fixed Ticket #1039 Firefox full page adds multiple paragraphs after view source + * fixed Ticket #1019 Cusor not jumping to editable part of window when clicked in IE7 + * fixed Ticket #1046 Error in IE 6 when switching from text to wysiwyg + * [DOMwalk] linebreaks inserted before
    s + * catch error in IE when trying to restore selection on non-displayed area + * fixed Ticket #973 Error switching wysiwyg/html including javascript file on the code + * fixed Ticket #1028 - [Linker] automatically (attempt to) work around an issue with mod_security being triggered because of the charset on our POST requests + * fixed Ticket #1055 [Stylist] Inappropriate styles (for other tags) are shown + * added Dutch language files + * added new hook 'onBeforeSubmit' for firePluginEvent() + * added new hook 'onBeforeUnload' for firePluginEvent() + * fixed Ticket #1048 Full Screen plugin doesn't load if many editors on page + * fixed Ticket #1053 ListType plugin doesn't work in panel config with multiple editors + * fixed Ticket #1026 Skins referenced with -tags don't work anymore + * fixed Ticket #1059 [Equation] loosing formula onsubmit + * fixed Ticket #1060 [Equation] various updates + * [Equation] preserve formula on reload in Mozilla + * [Equation] updated ASCIIMathML.js + * [Skin:silva] padding and border on textarea make the textmode too wide + * fixed Ticket#1001 Editor loads a bunch of null urls in ie + * fixed Ticket #1068 [TranformInnerHTML] newlines added after + * fixed Ticket#1069 Editor document URL prefixed to any href that only consists of URL parameters + * added Thai translation for core + * added complete Portuguese Brazilian translation + * updated lc_parse script + * fixed Ticket #1071 [ExtendedFileManager] external image URL image inserted with width/height 0, amking it invisible + * fixed Ticket #1074 [SuperClean] throws warnings in PHP 5 + * fixed Ticket #1079 [DynamicCSS] lists Xinha internal CSS + * fixed Ticket #1080 Some plugins leave behind stylesheet links in fullpage mode + * fixed Ticket #1083 Convert URLs to links - Error + * fixed Ticket #1084 URL auto-linking (Gecko): URLs with user:password@domain.tld falsely recognized as email address + * fixed Ticket #1085 URL auto-linking (Gecko): IP numbers don't work + * fixed Ticket #1081 Control character is not being removed inside SCRIPT tags or HEAD when switching from textmode to htmlmode + * fixed Ticket #1078 [InsertImage] spacing attributes: inconsistent behaviour when editing image + * fixed Ticket #1089 [Color Picker] Localize OK Label + * fixed Ticket #1091 [SaveSubmit] does not correctly submit value of checkboxes and radio buttons + +Xinha 0.93 + - fixed Ticket #967 Font Color Picker stops working after using one of ImageManager, ExtendedFileManager, FullPage, or HorizontalRule + - fixed Ticket #965 When switching between Xinhas in the same page, in textmode toolbar stays disabled + - fixwd Ticket #963 DOMwalk IE: head tag attributes without quotes and closing slash + - Ticket #962 DOMwalk Mozilla: improved source indentation + - fixed Ticket #957 If item in in xinha_editors is not a textarea: skip gracefully + - fixed Ticket #900: catch an fatal error that occured sometimes when switching between modes in fullpage mode in Mozilla + - fixed Ticket #969 DOMwalk Gecko: line breaks rendered as
    s inside
     blocks
    + - fixed Ticket #976 Loading message misplaced in IE7
    + - fixed Ticket #977 TableOperations toolbar off-place in ext_example.html
    + - fixed Ticket #978 defining a padding for 
    s in global css affects Xinha framework + - Ticket #979 improve checking for non-supported browsers + - fixed Ticket #934 SuperClean plugin returns just quotation when executed on localhost + - Ticket #929 Save changes on page unload fixed for Mozilla + - fixed Ticket #980 ImageManager color format bug + - fixed Ticket #981 No doctype in iframe content document/ editor always in quirks mode + - fixed Ticket #543 Stylist Panel overflow broken + - Ticket #983 added id for iframe + - fixed Ticket #984 !ExtendedFileManager produces php warning + - optimized icon file size + - fixed !JavaScript error in !ImageManager/!ExtendedFileManager image editor + - Ticket #908* Prompts broken in IE7: fixed for EFM, !ImageManager & !TableOperations + - Fixes for TableOperations, tickets #82, #908*, #912 and #947 + - fixed Ticket #998* whitespace added before and/or after content (in non-fullpage mode) + - fixed slow unloading in Mozilla + - Fix focus problem when switching from html to wysiwyg in Gecko. See ticket #900. + - fixed toolbar floating issue + - fixed #1003 HTML length limited to 1024 characters with plugin CharCounter + - Ticket #1000 new public methods for getting/setting editor content + - fixed #735 - IE eating scripts and comments at the beginning of pages. + - Added new config variables to set iframe width if less than editor width (ticket:322) and set alignment of toolbar buttons. + - added Basque translation for XinhaCore + - prevent an error if server is set to parse .js files as PHP + - Ticket #127 plugin HtmlEntities: Entities.js file corrupt + +Xinha 0.92beta + - fixed Ticket #831 stop empty anchors from being removed + - Make htmlarea.js just load XinhaCore.js instead of being a copy of it. + - fixed Ticket #445 Toggle TableBorder doesn't work if this.fullpage=true or using FullPage plugin + - fixed Ticket #551 shape and coord attributes of area element are ignored by IE + - fixed Ticket #650 SpellChecker is not compatible with FullPage plugin + - fixed Ticket #816 CharacterMap and ListType panel modes make editor jump to top in IE + - fixed Ticket #570 change behaviour of justify when an image is selected to make the image float left/right, + click the justify button again to undo it + - fixed Ticket #891 noscript content got escaped + - fixed Ticket #857 Firefox fails to load in fullpage mode when tag in wrong place. + - fixed Ticket #841 Spell Checker - Won't return to xinha. + - fixed Ticket #914 All buttons stay grey & this.getParentElement is not a function message when not calling + Xinha.loadPlugins() in xinha_init function + - fixed Ticket #911 Background color does not work in Firefox + - fixed Ticket #912 an error is thrown in Mozilla when clicking merge cells button and fewer than 2 cells are selected + - fixed Ticket #816 CharacterMap and ListType panel modes make editor jump to top in IE + - fixed Ticket #917 getHTMLWrapper in IE renders attributes like _stylist_usedtobe="[object Object]" + - fixed Ticket #556 stripBaseHref didn't work without baseHref defined explicitly. + - Update InsertPicture plugin Update + - fixed Ticket #921 EFM extended file manager - iframe height problem (IE) + - Ticket #923 colorPicker face lift & localisation + - fixed Ticket #924 EFM + ImageManager re-transforming of url to original image after automatic resize broken + - Ticket #900- retain editing position position between modes + - fixed Ticket #928 ImageManager fails if (another) Files.php exists in include path + - fixed Ticket #935 EFM demo_images php upload allowed: possible security risk + - Ticket #939 Japanese langage support + - fixed Ticket #3 Horizontal Rule Selection + - Plugin ExtendedFileManager: added doc to allowed upload extensions + - Plugin PasteText update + - Plugin HtmlEntities: default preset iso-8859-1 + - fixed Ticket #948 IE: inline styles are not rendered by DOMwalk getHTML() + - Plugin HorizontalRule update + - Plugin SaveSubmit update + - Plugin Linker update + - fixed Ticket #823 editor contents was not submitted when using JavaScript form.submit() without prior form.onsubmit() + - fixed Ticket #459 all body attributes removed in full page mode in FireFox + - _editor_url is now converted to absolute if it is relative. + - fixed Ticket #594 IE: insertHTML() inserts HTML outside editor when editor is not focussed + - Ticket #954 FullScreen mode can now be called programmatically or on startup with or without button + - fixed Ticket #321 FullScreen : select elements show through in IE6 + - fixed Ticket #953 Statusbar has ugly white gap at the bottom when switching back from full screen in IE + - fixed Ticket #952 FullScreen: scrollbars don't disappear in IE in QuirksMode + - fixed Ticket #603 Popop Dialog Height problems + - fixed Ticket #955 DOMwalk getHTML outputs empty attribute with value "true" instead of attribute name and some are skipped at all + +Xinha 0.91beta + - changed namespace from HTMLArea to Xinha + - the core file is now named XinhaCore.js instead of htmlarea.js, + please change your pages accordingly (the htmlarea.js will be removed!) + - the color picker script is now loaded on demand to reduce initial loading time + +Xinha 0.9beta +This equals Xinha revision 635 of Jan 11 2007 + - All JavaScript files over 2kb have been compressed using the dojo JavaScript compressor - All gifs have been optimized using Trout's GIF Optimizer version 2.3 \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/skins/blue-look/skin.css b/ccm-core/web/assets/xinha/skins/blue-look/skin.css index 9f22add8d..b0d478c3a 100755 --- a/ccm-core/web/assets/xinha/skins/blue-look/skin.css +++ b/ccm-core/web/assets/xinha/skins/blue-look/skin.css @@ -68,6 +68,13 @@ font: 11px helvetica,arial,sans-serif; } +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #f7f8fd; +} + .htmlarea .statusBar .statusBarTree { display:block; @@ -95,4 +102,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/skins/blue-metallic/skin.css b/ccm-core/web/assets/xinha/skins/blue-metallic/skin.css index e798e4789..1c6b80645 100755 --- a/ccm-core/web/assets/xinha/skins/blue-metallic/skin.css +++ b/ccm-core/web/assets/xinha/skins/blue-metallic/skin.css @@ -65,6 +65,13 @@ font: 11px helvetica,arial,sans-serif; } +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #f7f8fd; +} + .htmlarea .statusBar .statusBarTree { display:block; diff --git a/ccm-core/web/assets/xinha/skins/green-look/skin.css b/ccm-core/web/assets/xinha/skins/green-look/skin.css index bbbec2855..b27858020 100755 --- a/ccm-core/web/assets/xinha/skins/green-look/skin.css +++ b/ccm-core/web/assets/xinha/skins/green-look/skin.css @@ -60,6 +60,14 @@ color:ButtonText; font:11px helvetica,arial,sans-serif; } + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.gif); + background-repeat: repeat-x; + background-color: #f8fdf8; +} + .htmlarea .statusBar .statusBarTree { display:block; @@ -85,4 +93,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/skins/inditreuse/skin.css b/ccm-core/web/assets/xinha/skins/inditreuse/skin.css index f7c77e6df..a85197ead 100755 --- a/ccm-core/web/assets/xinha/skins/inditreuse/skin.css +++ b/ccm-core/web/assets/xinha/skins/inditreuse/skin.css @@ -48,6 +48,14 @@ color:ButtonText; font:11px helvetica,arial,sans-serif; } + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #889fc9; +} + .htmlarea .statusBar .statusBarTree { display:block; margin:3px; @@ -70,4 +78,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/skins/silva/skin.css b/ccm-core/web/assets/xinha/skins/silva/skin.css index 52f7dc891..936f014df 100755 --- a/ccm-core/web/assets/xinha/skins/silva/skin.css +++ b/ccm-core/web/assets/xinha/skins/silva/skin.css @@ -1,172 +1,2 @@ -/*--------------------------------*/ -/* silva skin for Xinha */ -/* */ -/* by Raimund Meyer (ray) */ -/* xinha@raimundmeyer.de */ -/* 2007-1-9 */ -/*--------------------------------*/ - -.htmlarea .toolbar, .htmlarea .toolbar .button -{ - background-color:transparent; -} -.htmlarea .toolbar -{ - padding:0; - background-image: url(toolbar.png); -} -.htmlarea .toolbarRow -{ - margin-top:0px; - margin-bottom:0px; - border:1px solid #F1F1F1; - padding:0px; - -moz-border-radius:15px; - margin:4px; - height:20px; -} -/* hack: IE6 does not know border-color: transparent;*/ -html > body .htmlarea .toolbarRow { - border-color: transparent; -} - -.htmlarea .toolbar .button -{ - width:18px; - height:18px; - padding:1px 2px 2px 1px ; - border: solid #F1F1F1; - border-width:1px; -} - -html > body .htmlarea .toolbar .button { - border-color: transparent; -} - -.buttonImageContainer -{ - position:relative; - left:1px; - top :1px; -} - -.htmlarea .toolbar a.button:hover -{ - border: solid 1px; - border-color: black; -} -.htmlarea .toolbar a.buttonDisabled:hover -{ - border: solid transparent 1px; -} - -.htmlarea .toolbar .button.buttonActive, -.htmlarea .toolbar .button.buttonPressed -{ - border: black dotted 1px; - padding:2px 1px 1px 2px; -} - -.htmlarea .toolbar .button.buttonPressed { - padding:1px 2px 2px 1px ; -} -.htmlarea .toolbar .separator { - margin: 3px; - border-left: 1px dotted black; - border-right: none; - width: 1px; - height: 11px; - padding: 0px; -} - -.htmlarea .statusBar { - border-color: #CCC white white #CCC; - padding: 0px; - height:20px; - background-image: url(statusbar.png); - background-repeat: repeat-x; - background-color: white; - color: grey; - font: 11px Arial,Helvetica,sans-serif; - vertical-align: middle; -} - -.htmlarea .statusBar .statusBarTree -{ - display:block; - margin: 3px; -} -.htmlarea .statusBar span { - display:none; -} -.htmlarea .statusBar .statusBarTree a -{ - padding: 0 5px; - color: green; - text-decoration:none; - letter-spacing:0.15em; - font-size:120%; - border: none; - padding: 2px 5px; -} -.htmlarea .statusBar .statusBarTree a:visited { color:green; } -.htmlarea .statusBar .statusBarTree a:hover { - background-color: transparent; - color: green; - border: none; - padding: 1px 5px; -} - -.dialog { - /* background: url(dialog.jpg) #f0f0f0 no-repeat; */ - background-color: #f0f0f0; - } -body.dialog { - padding-top:0; -} -.dialog, .dialog button, .dialog input, .dialog select, .dialog textarea, .dialog table,.dialog td,.dialog th, .panel { - font: 11px Arial,Helvetica,sans-serif !IMPORTANT; -} -.panel a { - color:#444; - border-bottom: 1px dotted #bbb; -} -.panel a:hover { - background-color: #eee; -} -.dialog .title,.dialog h1,.htmlarea .panel h1 { - background-image: url(toolbar.png); - background-repeat: repeat-x; - color:black; - font:Arial,Helvetica,sans-serif !IMPORTANT; - letter-spacing:0.2em; - font-size:13px; - font-weight:400; -} -.dialog .title { - -} - -.dialog button{ - background: url(statusbar.png) bottom repeat-x; - border:1px solid grey; - height:18px; - vertical-align: middle -} -/* separate definition for the sake of IE6*/ -.dialog input[type=button],.dialog input[type=submit]{ - background: url(statusbar.png) bottom repeat-x; - border:1px solid grey; - height:18px; - vertical-align: middle -} -.htmlarea textarea.xinha_textarea { - background:url(html.gif) bottom right no-repeat; - /*padding:5px; - border:2px dotted #bbb;*/ - font-family: "Lucida Console",Courier,monospace; - font-size: 10pt; -} -.htmlarea .dTreeNode { - color:black; -} \ No newline at end of file +/* This compressed file is part of Xinha. For uncompressed sources, forum, and bug reports, go to xinha.org */ +.htmlarea .toolbar,.htmlarea .toolbar .button{background-color:transparent;}.htmlarea .toolbar{padding:0;background-image:url(toolbar.png);}.htmlarea .toolbarRow{margin-top:0;margin-bottom:0;border:1px solid #F1F1F1;padding:0;-moz-border-radius:15px;margin:4px;height:20px;}html>body .htmlarea .toolbarRow{border-color:transparent;}.htmlarea .toolbar .button{width:18px;height:18px;padding:1px 2px 2px 1px;border:solid #F1F1F1;border-width:1px;}html>body .htmlarea .toolbar .button{border-color:transparent;}.buttonImageContainer{position:relative;left:1px;top:1px;}.htmlarea .toolbar a.button:hover{border:solid 1px;border-color:black;}.htmlarea .toolbar a.buttonDisabled:hover{border:solid transparent 1px;}.htmlarea .toolbar .button.buttonActive,.htmlarea .toolbar .button.buttonPressed{border:black dotted 1px;padding:2px 1px 1px 2px;}.htmlarea .toolbar .button.buttonPressed{padding:1px 2px 2px 1px;}.htmlarea .toolbar .separator{margin:3px;border-left:1px dotted black;border-right:none;width:1px;height:11px;padding:0;}.htmlarea .statusBar{border-color:#CCC white white #CCC;padding:0;height:20px;background-image:url(statusbar.png);background-repeat:repeat-x;background-color:white;color:grey;font:11px Arial,Helvetica,sans-serif;vertical-align:middle;}.htmlarea .statusBar .statusBarWidgetContainer{background-image:url(statusbar.png);background-repeat:repeat-x;background-color:white;}.htmlarea .statusBar .statusBarTree{display:block;margin:3px;}.htmlarea .statusBar .statusBarTree a{padding:0 5px;color:green;text-decoration:none;letter-spacing:.15em;font-size:120%;border:none;padding:2px 5px;}.htmlarea .statusBar .statusBarTree a:visited{color:green;}.htmlarea .statusBar .statusBarTree a:hover{background-color:transparent;color:green;border:none;padding:1px 5px;}.dialog{background-color:#f0f0f0;}body.dialog{padding-top:0;}.dialog,.dialog button,.dialog input,.dialog select,.dialog textarea,.dialog table,.dialog td,.dialog th,.panel{font:11px Arial,Helvetica,sans-serif!IMPORTANT;}.panel a{color:#444;border-bottom:1px dotted #bbb;}.panel a:hover{background-color:#eee;}.dialog .title,.dialog h1,.htmlarea .panel h1{background-image:url(toolbar.png);background-repeat:repeat-x;color:black;font:Arial,Helvetica,sans-serif!IMPORTANT;letter-spacing:.2em;font-size:13px;font-weight:400;}.dialog button{background:url(statusbar.png) bottom repeat-x;border:1px solid grey;height:18px;vertical-align:middle;}.dialog input[type=button],.dialog input[type=submit]{background:url(statusbar.png) bottom repeat-x;border:1px solid grey;height:18px;vertical-align:middle;}.htmlarea textarea.xinha_textarea{background:url(html.gif) bottom right no-repeat;font-family:"Lucida Console",Courier,monospace;font-size:10pt;}.htmlarea .dTreeNode{color:black;} \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/skins/silva/skin.css_uncompr.js b/ccm-core/web/assets/xinha/skins/silva/skin.css_uncompr.js new file mode 100644 index 000000000..5044b56ed --- /dev/null +++ b/ccm-core/web/assets/xinha/skins/silva/skin.css_uncompr.js @@ -0,0 +1,177 @@ +/*--------------------------------*/ +/* silva skin for Xinha */ +/* */ +/* by Raimund Meyer (ray) */ +/* xinha@raimundmeyer.de */ +/* 2007-1-9 */ +/*--------------------------------*/ + +.htmlarea .toolbar, .htmlarea .toolbar .button +{ + background-color:transparent; +} +.htmlarea .toolbar +{ + padding:0; + background-image: url(toolbar.png); +} +.htmlarea .toolbarRow +{ + margin-top:0px; + margin-bottom:0px; + border:1px solid #F1F1F1; + padding:0px; + -moz-border-radius:15px; + margin:4px; + height:20px; +} +/* hack: IE6 does not know border-color: transparent;*/ +html > body .htmlarea .toolbarRow { + border-color: transparent; +} + +.htmlarea .toolbar .button +{ + width:18px; + height:18px; + padding:1px 2px 2px 1px ; + border: solid #F1F1F1; + border-width:1px; +} + +html > body .htmlarea .toolbar .button { + border-color: transparent; +} + +.buttonImageContainer +{ + position:relative; + left:1px; + top :1px; +} + +.htmlarea .toolbar a.button:hover +{ + border: solid 1px; + border-color: black; +} +.htmlarea .toolbar a.buttonDisabled:hover +{ + border: solid transparent 1px; +} + +.htmlarea .toolbar .button.buttonActive, +.htmlarea .toolbar .button.buttonPressed +{ + border: black dotted 1px; + padding:2px 1px 1px 2px; +} + +.htmlarea .toolbar .button.buttonPressed { + padding:1px 2px 2px 1px ; +} +.htmlarea .toolbar .separator { + margin: 3px; + border-left: 1px dotted black; + border-right: none; + width: 1px; + height: 11px; + padding: 0px; +} + +.htmlarea .statusBar { + border-color: #CCC white white #CCC; + padding: 0px; + height:20px; + background-image: url(statusbar.png); + background-repeat: repeat-x; + background-color: white; + color: grey; + font: 11px Arial,Helvetica,sans-serif; + vertical-align: middle; +} + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(statusbar.png); + background-repeat: repeat-x; + background-color: white; +} + +.htmlarea .statusBar .statusBarTree +{ + display:block; + margin: 3px; +} + +.htmlarea .statusBar .statusBarTree a +{ + padding: 0 5px; + color: green; + text-decoration:none; + letter-spacing:0.15em; + font-size:120%; + border: none; + padding: 2px 5px; +} +.htmlarea .statusBar .statusBarTree a:visited { color:green; } +.htmlarea .statusBar .statusBarTree a:hover { + background-color: transparent; + color: green; + border: none; + padding: 1px 5px; +} + +.dialog { + /* background: url(dialog.jpg) #f0f0f0 no-repeat; */ + background-color: #f0f0f0; + } +body.dialog { + padding-top:0; +} +.dialog, .dialog button, .dialog input, .dialog select, .dialog textarea, .dialog table,.dialog td,.dialog th, .panel { + font: 11px Arial,Helvetica,sans-serif !IMPORTANT; +} +.panel a { + color:#444; + border-bottom: 1px dotted #bbb; +} +.panel a:hover { + background-color: #eee; +} +.dialog .title,.dialog h1,.htmlarea .panel h1 { + background-image: url(toolbar.png); + background-repeat: repeat-x; + color:black; + font:Arial,Helvetica,sans-serif !IMPORTANT; + letter-spacing:0.2em; + font-size:13px; + font-weight:400; +} +.dialog .title { + +} + +.dialog button{ + background: url(statusbar.png) bottom repeat-x; + border:1px solid grey; + height:18px; + vertical-align: middle +} +/* separate definition for the sake of IE6*/ +.dialog input[type=button],.dialog input[type=submit]{ + background: url(statusbar.png) bottom repeat-x; + border:1px solid grey; + height:18px; + vertical-align: middle +} +.htmlarea textarea.xinha_textarea { + background:url(html.gif) bottom right no-repeat; + /*padding:5px; + border:2px dotted #bbb;*/ + font-family: "Lucida Console",Courier,monospace; + font-size: 10pt; +} +.htmlarea .dTreeNode { + color:black; +} diff --git a/ccm-core/web/assets/xinha/skins/silva/skin.xml b/ccm-core/web/assets/xinha/skins/silva/skin.xml new file mode 100644 index 000000000..cfe00d3a9 --- /dev/null +++ b/ccm-core/web/assets/xinha/skins/silva/skin.xml @@ -0,0 +1,11 @@ + + + + + + + + + + Crystal + \ No newline at end of file diff --git a/ccm-core/web/assets/xinha/skins/titan/skin.css b/ccm-core/web/assets/xinha/skins/titan/skin.css index cac340191..dc65fbd62 100755 --- a/ccm-core/web/assets/xinha/skins/titan/skin.css +++ b/ccm-core/web/assets/xinha/skins/titan/skin.css @@ -48,6 +48,14 @@ color:ButtonText; font:11px helvetica,arial,sans-serif; } + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #889fc9; +} + .htmlarea .statusBar .statusBarTree { display:block; margin:3px; @@ -70,4 +78,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/skins/xp-blue/skin.css b/ccm-core/web/assets/xinha/skins/xp-blue/skin.css index bd7b95509..c8f8564ed 100755 --- a/ccm-core/web/assets/xinha/skins/xp-blue/skin.css +++ b/ccm-core/web/assets/xinha/skins/xp-blue/skin.css @@ -51,6 +51,14 @@ color:ButtonText; font:11px helvetica,arial,sans-serif; } + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #c3daf9; +} + .htmlarea .statusBar .statusBarTree { display:block; margin:3px; @@ -73,4 +81,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/assets/xinha/skins/xp-green/skin.css b/ccm-core/web/assets/xinha/skins/xp-green/skin.css index 9e4733c62..4a284dc54 100755 --- a/ccm-core/web/assets/xinha/skins/xp-green/skin.css +++ b/ccm-core/web/assets/xinha/skins/xp-green/skin.css @@ -51,6 +51,14 @@ color:ButtonText; font:11px helvetica,arial,sans-serif; } + +.htmlarea .statusBar .statusBarWidgetContainer +{ + background-image: url(button-background.png); + background-repeat: repeat-x; + background-color: #f2f0e4; +} + .htmlarea .statusBar .statusBarTree { display:block; margin:3px; @@ -73,4 +81,4 @@ } .dialog button{ background-image: url(button-background.png); -} \ No newline at end of file +} diff --git a/ccm-core/web/packages/bebop/xsl/XinhaEditor.xsl b/ccm-core/web/packages/bebop/xsl/XinhaEditor.xsl index 2609c5bf9..e6a444bde 100755 --- a/ccm-core/web/packages/bebop/xsl/XinhaEditor.xsl +++ b/ccm-core/web/packages/bebop/xsl/XinhaEditor.xsl @@ -54,7 +54,7 @@ diff --git a/ccm-core/web/themes/heirloom/packages/bebop/xsl/XinhaEditor.xsl b/ccm-core/web/themes/heirloom/packages/bebop/xsl/XinhaEditor.xsl index 2609c5bf9..e6a444bde 100644 --- a/ccm-core/web/themes/heirloom/packages/bebop/xsl/XinhaEditor.xsl +++ b/ccm-core/web/themes/heirloom/packages/bebop/xsl/XinhaEditor.xsl @@ -54,7 +54,7 @@