Wiki2GoEditor 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/bin/Wiki2Go_install_editor.rb +13 -0
- data/fckeditor/editor/_source/classes/fckcontextmenu.js +134 -0
- data/fckeditor/editor/_source/classes/fckdocumentfragment_gecko.js +46 -0
- data/fckeditor/editor/_source/classes/fckdocumentfragment_ie.js +58 -0
- data/fckeditor/editor/_source/classes/fckdomrange.js +452 -0
- data/fckeditor/editor/_source/classes/fckdomrange_gecko.js +71 -0
- data/fckeditor/editor/_source/classes/fckdomrange_ie.js +149 -0
- data/fckeditor/editor/_source/classes/fckeditingarea.js +253 -0
- data/fckeditor/editor/_source/classes/fckelementpath.js +66 -0
- data/fckeditor/editor/_source/classes/fckenterkey.js +556 -0
- data/fckeditor/editor/_source/classes/fckevents.js +53 -0
- data/fckeditor/editor/_source/classes/fckicon.js +98 -0
- data/fckeditor/editor/_source/classes/fckiecleanup.js +68 -0
- data/fckeditor/editor/_source/classes/fckimagepreloader.js +68 -0
- data/fckeditor/editor/_source/classes/fckkeystrokehandler.js +136 -0
- data/fckeditor/editor/_source/classes/fckmenublock.js +143 -0
- data/fckeditor/editor/_source/classes/fckmenublockpanel.js +54 -0
- data/fckeditor/editor/_source/classes/fckmenuitem.js +160 -0
- data/fckeditor/editor/_source/classes/fckpanel.js +303 -0
- data/fckeditor/editor/_source/classes/fckplugin.js +56 -0
- data/fckeditor/editor/_source/classes/fckspecialcombo.js +363 -0
- data/fckeditor/editor/_source/classes/fckstyledef.js +59 -0
- data/fckeditor/editor/_source/classes/fckstyledef_gecko.js +119 -0
- data/fckeditor/editor/_source/classes/fckstyledef_ie.js +142 -0
- data/fckeditor/editor/_source/classes/fckstylesloader.js +88 -0
- data/fckeditor/editor/_source/classes/fcktoolbar.js +120 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js +36 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js +38 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbutton.js +74 -0
- data/fckeditor/editor/_source/classes/fcktoolbarbuttonui.js +222 -0
- data/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js +114 -0
- data/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js +47 -0
- data/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js +52 -0
- data/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js +91 -0
- data/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js +134 -0
- data/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js +111 -0
- data/fckeditor/editor/_source/classes/fckw3crange.js +448 -0
- data/fckeditor/editor/_source/classes/fckxml_gecko.js +87 -0
- data/fckeditor/editor/_source/classes/fckxml_ie.js +90 -0
- data/fckeditor/editor/_source/commandclasses/fck_othercommands.js +380 -0
- data/fckeditor/editor/_source/commandclasses/fckfitwindow.js +169 -0
- data/fckeditor/editor/_source/commandclasses/fcknamedcommand.js +37 -0
- data/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js +38 -0
- data/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js +40 -0
- data/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js +39 -0
- data/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js +67 -0
- data/fckeditor/editor/_source/commandclasses/fckstylecommand.js +99 -0
- data/fckeditor/editor/_source/commandclasses/fcktablecommand.js +71 -0
- data/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js +175 -0
- data/fckeditor/editor/_source/fckconstants.js +52 -0
- data/fckeditor/editor/_source/fckeditorapi.js +161 -0
- data/fckeditor/editor/_source/fckjscoreextensions.js +152 -0
- data/fckeditor/editor/_source/fckscriptloader.js +108 -0
- data/fckeditor/editor/_source/internals/fck.js +859 -0
- data/fckeditor/editor/_source/internals/fck_contextmenu.js +307 -0
- data/fckeditor/editor/_source/internals/fck_gecko.js +254 -0
- data/fckeditor/editor/_source/internals/fck_ie.js +383 -0
- data/fckeditor/editor/_source/internals/fckbrowserinfo.js +48 -0
- data/fckeditor/editor/_source/internals/fckcodeformatter.js +100 -0
- data/fckeditor/editor/_source/internals/fckcommands.js +132 -0
- data/fckeditor/editor/_source/internals/fckconfig.js +199 -0
- data/fckeditor/editor/_source/internals/fckdebug.js +56 -0
- data/fckeditor/editor/_source/internals/fckdialog.js +38 -0
- data/fckeditor/editor/_source/internals/fckdialog_gecko.js +103 -0
- data/fckeditor/editor/_source/internals/fckdialog_ie.js +48 -0
- data/fckeditor/editor/_source/internals/fckdocumentprocessor.js +243 -0
- data/fckeditor/editor/_source/internals/fckdomtools.js +294 -0
- data/fckeditor/editor/_source/internals/fcklanguagemanager.js +161 -0
- data/fckeditor/editor/_source/internals/fcklisthandler.js +152 -0
- data/fckeditor/editor/_source/internals/fcklistslib.js +60 -0
- data/fckeditor/editor/_source/internals/fckplugins.js +46 -0
- data/fckeditor/editor/_source/internals/fckregexlib.js +95 -0
- data/fckeditor/editor/_source/internals/fckselection.js +24 -0
- data/fckeditor/editor/_source/internals/fckselection_gecko.js +151 -0
- data/fckeditor/editor/_source/internals/fckselection_ie.js +158 -0
- data/fckeditor/editor/_source/internals/fcktablehandler.js +385 -0
- data/fckeditor/editor/_source/internals/fcktablehandler_gecko.js +57 -0
- data/fckeditor/editor/_source/internals/fcktablehandler_ie.js +58 -0
- data/fckeditor/editor/_source/internals/fcktoolbaritems.js +121 -0
- data/fckeditor/editor/_source/internals/fcktoolbarset.js +357 -0
- data/fckeditor/editor/_source/internals/fcktools.js +225 -0
- data/fckeditor/editor/_source/internals/fcktools_gecko.js +235 -0
- data/fckeditor/editor/_source/internals/fcktools_ie.js +214 -0
- data/fckeditor/editor/_source/internals/fckundo_gecko.js +27 -0
- data/fckeditor/editor/_source/internals/fckundo_ie.js +123 -0
- data/fckeditor/editor/_source/internals/fckurlparams.js +39 -0
- data/fckeditor/editor/_source/internals/fckxhtml.js +466 -0
- data/fckeditor/editor/_source/internals/fckxhtml_gecko.js +66 -0
- data/fckeditor/editor/_source/internals/fckxhtml_ie.js +194 -0
- data/fckeditor/editor/_source/internals/fckxhtmlentities.js +345 -0
- data/fckeditor/editor/css/behaviors/disablehandles.htc +15 -0
- data/fckeditor/editor/css/behaviors/showtableborders.htc +36 -0
- data/fckeditor/editor/css/fck_editorarea.css +91 -0
- data/fckeditor/editor/css/fck_internal.css +111 -0
- data/fckeditor/editor/css/fck_showtableborders_gecko.css +42 -0
- data/fckeditor/editor/css/images/fck_anchor.gif +0 -0
- data/fckeditor/editor/css/images/fck_flashlogo.gif +0 -0
- data/fckeditor/editor/css/images/fck_hiddenfield.gif +0 -0
- data/fckeditor/editor/css/images/fck_pagebreak.gif +0 -0
- data/fckeditor/editor/dialog/common/fck_dialog_common.css +83 -0
- data/fckeditor/editor/dialog/common/fck_dialog_common.js +154 -0
- data/fckeditor/editor/dialog/common/fcknumericfield.htc +24 -0
- data/fckeditor/editor/dialog/common/images/locked.gif +0 -0
- data/fckeditor/editor/dialog/common/images/reset.gif +0 -0
- data/fckeditor/editor/dialog/common/images/unlocked.gif +0 -0
- data/fckeditor/editor/dialog/common/moz-bindings.xml +30 -0
- data/fckeditor/editor/dialog/fck_about.html +155 -0
- data/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif +0 -0
- data/fckeditor/editor/dialog/fck_about/logo_fredck.gif +0 -0
- data/fckeditor/editor/dialog/fck_anchor.html +227 -0
- data/fckeditor/editor/dialog/fck_button.html +107 -0
- data/fckeditor/editor/dialog/fck_checkbox.html +107 -0
- data/fckeditor/editor/dialog/fck_colorselector.html +171 -0
- data/fckeditor/editor/dialog/fck_docprops.html +600 -0
- data/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html +113 -0
- data/fckeditor/editor/dialog/fck_find.html +173 -0
- data/fckeditor/editor/dialog/fck_flash.html +146 -0
- data/fckeditor/editor/dialog/fck_flash/fck_flash.js +288 -0
- data/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html +46 -0
- data/fckeditor/editor/dialog/fck_form.html +105 -0
- data/fckeditor/editor/dialog/fck_hiddenfield.html +116 -0
- data/fckeditor/editor/dialog/fck_image.html +252 -0
- data/fckeditor/editor/dialog/fck_image/fck_image.js +486 -0
- data/fckeditor/editor/dialog/fck_image/fck_image_preview.html +66 -0
- data/fckeditor/editor/dialog/fck_link.html +293 -0
- data/fckeditor/editor/dialog/fck_link/fck_link.js +664 -0
- data/fckeditor/editor/dialog/fck_listprop.html +116 -0
- data/fckeditor/editor/dialog/fck_paste.html +285 -0
- data/fckeditor/editor/dialog/fck_radiobutton.html +107 -0
- data/fckeditor/editor/dialog/fck_replace.html +156 -0
- data/fckeditor/editor/dialog/fck_select.html +176 -0
- data/fckeditor/editor/dialog/fck_select/fck_select.js +169 -0
- data/fckeditor/editor/dialog/fck_smiley.html +105 -0
- data/fckeditor/editor/dialog/fck_source.html +65 -0
- data/fckeditor/editor/dialog/fck_specialchar.html +113 -0
- data/fckeditor/editor/dialog/fck_spellerpages.html +64 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html +0 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js +87 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html +153 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm +174 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php +196 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl +180 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js +462 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html +71 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css +49 -0
- data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js +272 -0
- data/fckeditor/editor/dialog/fck_table.html +286 -0
- data/fckeditor/editor/dialog/fck_tablecell.html +255 -0
- data/fckeditor/editor/dialog/fck_template.html +242 -0
- data/fckeditor/editor/dialog/fck_template/images/template1.gif +0 -0
- data/fckeditor/editor/dialog/fck_template/images/template2.gif +0 -0
- data/fckeditor/editor/dialog/fck_template/images/template3.gif +0 -0
- data/fckeditor/editor/dialog/fck_textarea.html +94 -0
- data/fckeditor/editor/dialog/fck_textfield.html +139 -0
- data/fckeditor/editor/fckdebug.html +153 -0
- data/fckeditor/editor/fckdialog.html +324 -0
- data/fckeditor/editor/fckeditor.html +227 -0
- data/fckeditor/editor/fckeditor.original.html +319 -0
- data/fckeditor/editor/filemanager/browser/default/browser.css +88 -0
- data/fckeditor/editor/filemanager/browser/default/browser.html +154 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/basexml.asp +62 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/class_upload.asp +234 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/commands.asp +183 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/config.asp +49 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp +124 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/io.asp +89 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/asp/util.asp +55 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx +30 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/cfm/config.cfm +99 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm +363 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso +65 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso +249 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/basexml.pl +63 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/commands.pl +158 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/connector.cgi +137 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/io.pl +131 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/upload_fck.pl +667 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/perl/util.pl +60 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/basexml.php +75 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/commands.php +222 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/config.php +56 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php +113 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/io.php +101 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/php/util.php +41 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/py/connector.py +785 -0
- data/fckeditor/editor/filemanager/browser/default/connectors/test.html +180 -0
- data/fckeditor/editor/filemanager/browser/default/frmactualfolder.html +67 -0
- data/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html +113 -0
- data/fckeditor/editor/filemanager/browser/default/frmfolders.html +196 -0
- data/fckeditor/editor/filemanager/browser/default/frmresourceslist.html +160 -0
- data/fckeditor/editor/filemanager/browser/default/frmresourcetype.html +65 -0
- data/fckeditor/editor/filemanager/browser/default/frmupload.html +113 -0
- data/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/Folder.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/Folder32.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/html.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/js.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/png.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/images/spacer.gif +0 -0
- data/fckeditor/editor/filemanager/browser/default/js/common.js +55 -0
- data/fckeditor/editor/filemanager/browser/default/js/fckxml.js +130 -0
- data/fckeditor/editor/filemanager/upload/asp/class_upload.asp +234 -0
- data/fckeditor/editor/filemanager/upload/asp/config.asp +52 -0
- data/fckeditor/editor/filemanager/upload/asp/io.asp +29 -0
- data/fckeditor/editor/filemanager/upload/asp/upload.asp +121 -0
- data/fckeditor/editor/filemanager/upload/aspx/upload.aspx +30 -0
- data/fckeditor/editor/filemanager/upload/cfm/config.cfm +98 -0
- data/fckeditor/editor/filemanager/upload/cfm/upload.cfm +168 -0
- data/fckeditor/editor/filemanager/upload/lasso/config.lasso +65 -0
- data/fckeditor/editor/filemanager/upload/lasso/upload.lasso +157 -0
- data/fckeditor/editor/filemanager/upload/php/config.php +56 -0
- data/fckeditor/editor/filemanager/upload/php/upload.php +124 -0
- data/fckeditor/editor/filemanager/upload/php/util.php +40 -0
- data/fckeditor/editor/filemanager/upload/test.html +133 -0
- data/fckeditor/editor/images/anchor.gif +0 -0
- data/fckeditor/editor/images/arrow_ltr.gif +0 -0
- data/fckeditor/editor/images/arrow_rtl.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/angel_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/angry_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/broken_heart.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/cake.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/confused_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/cry_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/devil_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/embaressed_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/envelope.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/heart.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/kiss.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/lightbulb.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/omg_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/regular_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/sad_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/shades_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/teeth_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/thumbs_down.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/thumbs_up.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/tounge_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif +0 -0
- data/fckeditor/editor/images/smiley/msn/wink_smile.gif +0 -0
- data/fckeditor/editor/images/spacer.gif +0 -0
- data/fckeditor/editor/js/fckeditorcode_gecko.js +98 -0
- data/fckeditor/editor/js/fckeditorcode_ie.js +99 -0
- data/fckeditor/editor/lang/_getfontformat.html +85 -0
- data/fckeditor/editor/lang/_translationstatus.txt +76 -0
- data/fckeditor/editor/lang/af.js +504 -0
- data/fckeditor/editor/lang/ar.js +504 -0
- data/fckeditor/editor/lang/bg.js +504 -0
- data/fckeditor/editor/lang/bn.js +504 -0
- data/fckeditor/editor/lang/bs.js +504 -0
- data/fckeditor/editor/lang/ca.js +504 -0
- data/fckeditor/editor/lang/cs.js +504 -0
- data/fckeditor/editor/lang/da.js +504 -0
- data/fckeditor/editor/lang/de.js +504 -0
- data/fckeditor/editor/lang/el.js +504 -0
- data/fckeditor/editor/lang/en-au.js +504 -0
- data/fckeditor/editor/lang/en-ca.js +504 -0
- data/fckeditor/editor/lang/en-uk.js +504 -0
- data/fckeditor/editor/lang/en.js +504 -0
- data/fckeditor/editor/lang/eo.js +504 -0
- data/fckeditor/editor/lang/es.js +504 -0
- data/fckeditor/editor/lang/et.js +504 -0
- data/fckeditor/editor/lang/eu.js +505 -0
- data/fckeditor/editor/lang/fa.js +504 -0
- data/fckeditor/editor/lang/fi.js +504 -0
- data/fckeditor/editor/lang/fo.js +504 -0
- data/fckeditor/editor/lang/fr.js +504 -0
- data/fckeditor/editor/lang/gl.js +504 -0
- data/fckeditor/editor/lang/he.js +504 -0
- data/fckeditor/editor/lang/hi.js +504 -0
- data/fckeditor/editor/lang/hr.js +504 -0
- data/fckeditor/editor/lang/hu.js +504 -0
- data/fckeditor/editor/lang/it.js +504 -0
- data/fckeditor/editor/lang/ja.js +504 -0
- data/fckeditor/editor/lang/km.js +504 -0
- data/fckeditor/editor/lang/ko.js +504 -0
- data/fckeditor/editor/lang/lt.js +504 -0
- data/fckeditor/editor/lang/lv.js +504 -0
- data/fckeditor/editor/lang/mn.js +504 -0
- data/fckeditor/editor/lang/ms.js +504 -0
- data/fckeditor/editor/lang/nb.js +504 -0
- data/fckeditor/editor/lang/nl.js +504 -0
- data/fckeditor/editor/lang/no.js +504 -0
- data/fckeditor/editor/lang/pl.js +504 -0
- data/fckeditor/editor/lang/pt-br.js +504 -0
- data/fckeditor/editor/lang/pt.js +504 -0
- data/fckeditor/editor/lang/ro.js +504 -0
- data/fckeditor/editor/lang/ru.js +504 -0
- data/fckeditor/editor/lang/sk.js +504 -0
- data/fckeditor/editor/lang/sl.js +504 -0
- data/fckeditor/editor/lang/sr-latn.js +504 -0
- data/fckeditor/editor/lang/sr.js +504 -0
- data/fckeditor/editor/lang/sv.js +504 -0
- data/fckeditor/editor/lang/th.js +504 -0
- data/fckeditor/editor/lang/tr.js +504 -0
- data/fckeditor/editor/lang/uk.js +504 -0
- data/fckeditor/editor/lang/vi.js +504 -0
- data/fckeditor/editor/lang/zh-cn.js +504 -0
- data/fckeditor/editor/lang/zh.js +504 -0
- data/fckeditor/editor/plugins/autogrow/fckplugin.js +92 -0
- data/fckeditor/editor/plugins/placeholder/fck_placeholder.html +100 -0
- data/fckeditor/editor/plugins/placeholder/fckplugin.js +187 -0
- data/fckeditor/editor/plugins/placeholder/lang/de.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/en.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/fr.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/it.js +27 -0
- data/fckeditor/editor/plugins/placeholder/lang/pl.js +27 -0
- data/fckeditor/editor/plugins/placeholder/placeholder.gif +0 -0
- data/fckeditor/editor/plugins/simplecommands/fckplugin.js +29 -0
- data/fckeditor/editor/plugins/tablecommands/fckplugin.js +32 -0
- data/fckeditor/editor/skins/_fckviewstrips.html +121 -0
- data/fckeditor/editor/skins/default/fck_dialog.css +137 -0
- data/fckeditor/editor/skins/default/fck_editor.css +464 -0
- data/fckeditor/editor/skins/default/fck_strip.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.arrowright.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.collapse.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.end.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.expand.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.separator.gif +0 -0
- data/fckeditor/editor/skins/default/images/toolbar.start.gif +0 -0
- data/fckeditor/editor/skins/office2003/fck_dialog.css +138 -0
- data/fckeditor/editor/skins/office2003/fck_editor.css +476 -0
- data/fckeditor/editor/skins/office2003/fck_strip.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.bg.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.end.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.expand.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.separator.gif +0 -0
- data/fckeditor/editor/skins/office2003/images/toolbar.start.gif +0 -0
- data/fckeditor/editor/skins/silver/fck_dialog.css +141 -0
- data/fckeditor/editor/skins/silver/fck_editor.css +473 -0
- data/fckeditor/editor/skins/silver/fck_strip.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.collapse.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.end.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.expand.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.separator.gif +0 -0
- data/fckeditor/editor/skins/silver/images/toolbar.start.gif +0 -0
- data/fckeditor/fckconfig.js +224 -0
- data/fckeditor/fckeditor.js +214 -0
- data/fckeditor/fckstyles.xml +53 -0
- data/fckeditor/fcktemplates.xml +103 -0
- data/lib/Wiki2GoEditor/Install/editor.rb +39 -0
- data/test/test_install.rb +40 -0
- metadata +517 -0
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
|
3
|
+
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
|
4
|
+
*
|
|
5
|
+
* == BEGIN LICENSE ==
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the terms of any of the following licenses at your
|
|
8
|
+
* choice:
|
|
9
|
+
*
|
|
10
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
|
11
|
+
* http://www.gnu.org/licenses/gpl.html
|
|
12
|
+
*
|
|
13
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
|
14
|
+
* http://www.gnu.org/licenses/lgpl.html
|
|
15
|
+
*
|
|
16
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
|
17
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
|
18
|
+
*
|
|
19
|
+
* == END LICENSE ==
|
|
20
|
+
*
|
|
21
|
+
* Utility functions. (IE version).
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
FCKTools.CancelEvent = function( e )
|
|
25
|
+
{
|
|
26
|
+
return false ;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// Appends one or more CSS files to a document.
|
|
30
|
+
FCKTools._AppendStyleSheet = function( documentElement, cssFileUrl )
|
|
31
|
+
{
|
|
32
|
+
return documentElement.createStyleSheet( cssFileUrl ).owningElement ;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Removes all attributes and values from the element.
|
|
36
|
+
FCKTools.ClearElementAttributes = function( element )
|
|
37
|
+
{
|
|
38
|
+
element.clearAttributes() ;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
FCKTools.GetAllChildrenIds = function( parentElement )
|
|
42
|
+
{
|
|
43
|
+
var aIds = new Array() ;
|
|
44
|
+
for ( var i = 0 ; i < parentElement.all.length ; i++ )
|
|
45
|
+
{
|
|
46
|
+
var sId = parentElement.all[i].id ;
|
|
47
|
+
if ( sId && sId.length > 0 )
|
|
48
|
+
aIds[ aIds.length ] = sId ;
|
|
49
|
+
}
|
|
50
|
+
return aIds ;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
FCKTools.RemoveOuterTags = function( e )
|
|
54
|
+
{
|
|
55
|
+
e.insertAdjacentHTML( 'beforeBegin', e.innerHTML ) ;
|
|
56
|
+
e.parentNode.removeChild( e ) ;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
FCKTools.CreateXmlObject = function( object )
|
|
60
|
+
{
|
|
61
|
+
var aObjs ;
|
|
62
|
+
|
|
63
|
+
switch ( object )
|
|
64
|
+
{
|
|
65
|
+
case 'XmlHttp' :
|
|
66
|
+
aObjs = [ 'MSXML2.XmlHttp', 'Microsoft.XmlHttp' ] ;
|
|
67
|
+
break ;
|
|
68
|
+
|
|
69
|
+
case 'DOMDocument' :
|
|
70
|
+
aObjs = [ 'MSXML2.DOMDocument', 'Microsoft.XmlDom' ] ;
|
|
71
|
+
break ;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
for ( var i = 0 ; i < 2 ; i++ )
|
|
75
|
+
{
|
|
76
|
+
try { return new ActiveXObject( aObjs[i] ) ; }
|
|
77
|
+
catch (e)
|
|
78
|
+
{}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if ( FCKLang.NoActiveX )
|
|
82
|
+
{
|
|
83
|
+
alert( FCKLang.NoActiveX ) ;
|
|
84
|
+
FCKLang.NoActiveX = null ;
|
|
85
|
+
}
|
|
86
|
+
return null ;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
FCKTools.DisableSelection = function( element )
|
|
90
|
+
{
|
|
91
|
+
element.unselectable = 'on' ;
|
|
92
|
+
|
|
93
|
+
var e, i = 0 ;
|
|
94
|
+
// The extra () is to avoid a warning with strict error checking. This is ok.
|
|
95
|
+
while ( (e = element.all[ i++ ]) )
|
|
96
|
+
{
|
|
97
|
+
switch ( e.tagName )
|
|
98
|
+
{
|
|
99
|
+
case 'IFRAME' :
|
|
100
|
+
case 'TEXTAREA' :
|
|
101
|
+
case 'INPUT' :
|
|
102
|
+
case 'SELECT' :
|
|
103
|
+
/* Ignore the above tags */
|
|
104
|
+
break ;
|
|
105
|
+
default :
|
|
106
|
+
e.unselectable = 'on' ;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
FCKTools.GetScrollPosition = function( relativeWindow )
|
|
112
|
+
{
|
|
113
|
+
var oDoc = relativeWindow.document ;
|
|
114
|
+
|
|
115
|
+
// Try with the doc element.
|
|
116
|
+
var oPos = { X : oDoc.documentElement.scrollLeft, Y : oDoc.documentElement.scrollTop } ;
|
|
117
|
+
|
|
118
|
+
if ( oPos.X > 0 || oPos.Y > 0 )
|
|
119
|
+
return oPos ;
|
|
120
|
+
|
|
121
|
+
// If no scroll, try with the body.
|
|
122
|
+
return { X : oDoc.body.scrollLeft, Y : oDoc.body.scrollTop } ;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
FCKTools.AddEventListener = function( sourceObject, eventName, listener )
|
|
126
|
+
{
|
|
127
|
+
sourceObject.attachEvent( 'on' + eventName, listener ) ;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
FCKTools.RemoveEventListener = function( sourceObject, eventName, listener )
|
|
131
|
+
{
|
|
132
|
+
sourceObject.detachEvent( 'on' + eventName, listener ) ;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// Listeners attached with this function cannot be detached.
|
|
136
|
+
FCKTools.AddEventListenerEx = function( sourceObject, eventName, listener, paramsArray )
|
|
137
|
+
{
|
|
138
|
+
// Ok... this is a closures party, but is the only way to make it clean of memory leaks.
|
|
139
|
+
var o = new Object() ;
|
|
140
|
+
o.Source = sourceObject ;
|
|
141
|
+
o.Params = paramsArray || [] ; // Memory leak if we have DOM objects here.
|
|
142
|
+
o.Listener = function( ev )
|
|
143
|
+
{
|
|
144
|
+
return listener.apply( o.Source, [ ev ].concat( o.Params ) ) ;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
if ( FCK.IECleanup )
|
|
148
|
+
FCK.IECleanup.AddItem( null, function() { o.Source = null ; o.Params = null ; } ) ;
|
|
149
|
+
|
|
150
|
+
sourceObject.attachEvent( 'on' + eventName, o.Listener ) ;
|
|
151
|
+
|
|
152
|
+
sourceObject = null ; // Memory leak cleaner (because of the above closure).
|
|
153
|
+
paramsArray = null ; // Memory leak cleaner (because of the above closure).
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// Returns and object with the "Width" and "Height" properties.
|
|
157
|
+
FCKTools.GetViewPaneSize = function( win )
|
|
158
|
+
{
|
|
159
|
+
var oSizeSource ;
|
|
160
|
+
|
|
161
|
+
var oDoc = win.document.documentElement ;
|
|
162
|
+
if ( oDoc && oDoc.clientWidth ) // IE6 Strict Mode
|
|
163
|
+
oSizeSource = oDoc ;
|
|
164
|
+
else
|
|
165
|
+
oSizeSource = top.document.body ; // Other IEs
|
|
166
|
+
|
|
167
|
+
if ( oSizeSource )
|
|
168
|
+
return { Width : oSizeSource.clientWidth, Height : oSizeSource.clientHeight } ;
|
|
169
|
+
else
|
|
170
|
+
return { Width : 0, Height : 0 } ;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
FCKTools.SaveStyles = function( element )
|
|
174
|
+
{
|
|
175
|
+
var oSavedStyles = new Object() ;
|
|
176
|
+
|
|
177
|
+
if ( element.className.length > 0 )
|
|
178
|
+
{
|
|
179
|
+
oSavedStyles.Class = element.className ;
|
|
180
|
+
element.className = '' ;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
var sInlineStyle = element.style.cssText ;
|
|
184
|
+
|
|
185
|
+
if ( sInlineStyle.length > 0 )
|
|
186
|
+
{
|
|
187
|
+
oSavedStyles.Inline = sInlineStyle ;
|
|
188
|
+
element.style.cssText = '' ;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
return oSavedStyles ;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
FCKTools.RestoreStyles = function( element, savedStyles )
|
|
195
|
+
{
|
|
196
|
+
element.className = savedStyles.Class || '' ;
|
|
197
|
+
element.style.cssText = savedStyles.Inline || '' ;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
FCKTools.RegisterDollarFunction = function( targetWindow )
|
|
201
|
+
{
|
|
202
|
+
targetWindow.$ = targetWindow.document.getElementById ;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
FCKTools.AppendElement = function( target, elementName )
|
|
206
|
+
{
|
|
207
|
+
return target.appendChild( this.GetElementDocument( target ).createElement( elementName ) ) ;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
// This function may be used by Regex replacements.
|
|
211
|
+
FCKTools.ToLowerCase = function( strValue )
|
|
212
|
+
{
|
|
213
|
+
return strValue.toLowerCase() ;
|
|
214
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
|
3
|
+
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
|
4
|
+
*
|
|
5
|
+
* == BEGIN LICENSE ==
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the terms of any of the following licenses at your
|
|
8
|
+
* choice:
|
|
9
|
+
*
|
|
10
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
|
11
|
+
* http://www.gnu.org/licenses/gpl.html
|
|
12
|
+
*
|
|
13
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
|
14
|
+
* http://www.gnu.org/licenses/lgpl.html
|
|
15
|
+
*
|
|
16
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
|
17
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
|
18
|
+
*
|
|
19
|
+
* == END LICENSE ==
|
|
20
|
+
*
|
|
21
|
+
* Fake implementation to ignore calls on Gecko.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
var FCKUndo = new Object() ;
|
|
25
|
+
|
|
26
|
+
FCKUndo.SaveUndoStep = function()
|
|
27
|
+
{}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
|
3
|
+
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
|
4
|
+
*
|
|
5
|
+
* == BEGIN LICENSE ==
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the terms of any of the following licenses at your
|
|
8
|
+
* choice:
|
|
9
|
+
*
|
|
10
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
|
11
|
+
* http://www.gnu.org/licenses/gpl.html
|
|
12
|
+
*
|
|
13
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
|
14
|
+
* http://www.gnu.org/licenses/lgpl.html
|
|
15
|
+
*
|
|
16
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
|
17
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
|
18
|
+
*
|
|
19
|
+
* == END LICENSE ==
|
|
20
|
+
*
|
|
21
|
+
* IE specific implementation for the Undo/Redo system.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
var FCKUndo = new Object() ;
|
|
25
|
+
|
|
26
|
+
FCKUndo.SavedData = new Array() ;
|
|
27
|
+
FCKUndo.CurrentIndex = -1 ;
|
|
28
|
+
FCKUndo.TypesCount = FCKUndo.MaxTypes = 25 ;
|
|
29
|
+
FCKUndo.Typing = false ;
|
|
30
|
+
|
|
31
|
+
FCKUndo.SaveUndoStep = function()
|
|
32
|
+
{
|
|
33
|
+
if ( FCK.EditMode != FCK_EDITMODE_WYSIWYG )
|
|
34
|
+
return ;
|
|
35
|
+
|
|
36
|
+
// Shrink the array to the current level.
|
|
37
|
+
FCKUndo.SavedData = FCKUndo.SavedData.slice( 0, FCKUndo.CurrentIndex + 1 ) ;
|
|
38
|
+
|
|
39
|
+
// Get the Actual HTML.
|
|
40
|
+
var sHtml = FCK.EditorDocument.body.innerHTML ;
|
|
41
|
+
|
|
42
|
+
// Cancel operation if the new step is identical to the previous one.
|
|
43
|
+
if ( FCKUndo.CurrentIndex >= 0 && sHtml == FCKUndo.SavedData[ FCKUndo.CurrentIndex ][0] )
|
|
44
|
+
return ;
|
|
45
|
+
|
|
46
|
+
// If we reach the Maximun number of undo levels, we must remove the first
|
|
47
|
+
// entry of the list shifting all elements.
|
|
48
|
+
if ( FCKUndo.CurrentIndex + 1 >= FCKConfig.MaxUndoLevels )
|
|
49
|
+
FCKUndo.SavedData.shift() ;
|
|
50
|
+
else
|
|
51
|
+
FCKUndo.CurrentIndex++ ;
|
|
52
|
+
|
|
53
|
+
// Get the actual selection.
|
|
54
|
+
var sBookmark ;
|
|
55
|
+
if ( FCK.EditorDocument.selection.type == 'Text' )
|
|
56
|
+
sBookmark = FCK.EditorDocument.selection.createRange().getBookmark() ;
|
|
57
|
+
|
|
58
|
+
// Save the new level in front of the actual position.
|
|
59
|
+
FCKUndo.SavedData[ FCKUndo.CurrentIndex ] = [ sHtml, sBookmark ] ;
|
|
60
|
+
|
|
61
|
+
FCK.Events.FireEvent( "OnSelectionChange" ) ;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
FCKUndo.CheckUndoState = function()
|
|
65
|
+
{
|
|
66
|
+
return ( FCKUndo.Typing || FCKUndo.CurrentIndex > 0 ) ;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
FCKUndo.CheckRedoState = function()
|
|
70
|
+
{
|
|
71
|
+
return ( !FCKUndo.Typing && FCKUndo.CurrentIndex < ( FCKUndo.SavedData.length - 1 ) ) ;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
FCKUndo.Undo = function()
|
|
75
|
+
{
|
|
76
|
+
if ( FCKUndo.CheckUndoState() )
|
|
77
|
+
{
|
|
78
|
+
// If it is the first step.
|
|
79
|
+
if ( FCKUndo.CurrentIndex == ( FCKUndo.SavedData.length - 1 ) )
|
|
80
|
+
{
|
|
81
|
+
// Save the actual state for a possible "Redo" call.
|
|
82
|
+
FCKUndo.SaveUndoStep() ;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Go a step back.
|
|
86
|
+
FCKUndo._ApplyUndoLevel( --FCKUndo.CurrentIndex ) ;
|
|
87
|
+
|
|
88
|
+
FCK.Events.FireEvent( "OnSelectionChange" ) ;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
FCKUndo.Redo = function()
|
|
93
|
+
{
|
|
94
|
+
if ( FCKUndo.CheckRedoState() )
|
|
95
|
+
{
|
|
96
|
+
// Go a step forward.
|
|
97
|
+
FCKUndo._ApplyUndoLevel( ++FCKUndo.CurrentIndex ) ;
|
|
98
|
+
|
|
99
|
+
FCK.Events.FireEvent( "OnSelectionChange" ) ;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
FCKUndo._ApplyUndoLevel = function(level)
|
|
104
|
+
{
|
|
105
|
+
var oData = FCKUndo.SavedData[ level ] ;
|
|
106
|
+
|
|
107
|
+
if ( !oData )
|
|
108
|
+
return ;
|
|
109
|
+
|
|
110
|
+
// Update the editor contents with that step data.
|
|
111
|
+
FCK.SetInnerHtml( oData[0] ) ;
|
|
112
|
+
// FCK.EditorDocument.body.innerHTML = oData[0] ;
|
|
113
|
+
|
|
114
|
+
if ( oData[1] )
|
|
115
|
+
{
|
|
116
|
+
var oRange = FCK.EditorDocument.selection.createRange() ;
|
|
117
|
+
oRange.moveToBookmark( oData[1] ) ;
|
|
118
|
+
oRange.select() ;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
FCKUndo.TypesCount = 0 ;
|
|
122
|
+
FCKUndo.Typing = false ;
|
|
123
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
|
3
|
+
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
|
4
|
+
*
|
|
5
|
+
* == BEGIN LICENSE ==
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the terms of any of the following licenses at your
|
|
8
|
+
* choice:
|
|
9
|
+
*
|
|
10
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
|
11
|
+
* http://www.gnu.org/licenses/gpl.html
|
|
12
|
+
*
|
|
13
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
|
14
|
+
* http://www.gnu.org/licenses/lgpl.html
|
|
15
|
+
*
|
|
16
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
|
17
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
|
18
|
+
*
|
|
19
|
+
* == END LICENSE ==
|
|
20
|
+
*
|
|
21
|
+
* Defines the FCKURLParams object that is used to get all parameters
|
|
22
|
+
* passed by the URL QueryString (after the "?").
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
// #### URLParams: holds all URL passed parameters (like ?Param1=Value1&Param2=Value2)
|
|
26
|
+
var FCKURLParams = new Object() ;
|
|
27
|
+
|
|
28
|
+
(function()
|
|
29
|
+
{
|
|
30
|
+
var aParams = document.location.search.substr(1).split('&') ;
|
|
31
|
+
for ( var i = 0 ; i < aParams.length ; i++ )
|
|
32
|
+
{
|
|
33
|
+
var aParam = aParams[i].split('=') ;
|
|
34
|
+
var sParamName = decodeURIComponent( aParam[0] ) ;
|
|
35
|
+
var sParamValue = decodeURIComponent( aParam[1] ) ;
|
|
36
|
+
|
|
37
|
+
FCKURLParams[ sParamName ] = sParamValue ;
|
|
38
|
+
}
|
|
39
|
+
})();
|
|
@@ -0,0 +1,466 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* FCKeditor - The text editor for Internet - http://www.fckeditor.net
|
|
3
|
+
* Copyright (C) 2003-2007 Frederico Caldeira Knabben
|
|
4
|
+
*
|
|
5
|
+
* == BEGIN LICENSE ==
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the terms of any of the following licenses at your
|
|
8
|
+
* choice:
|
|
9
|
+
*
|
|
10
|
+
* - GNU General Public License Version 2 or later (the "GPL")
|
|
11
|
+
* http://www.gnu.org/licenses/gpl.html
|
|
12
|
+
*
|
|
13
|
+
* - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
|
14
|
+
* http://www.gnu.org/licenses/lgpl.html
|
|
15
|
+
*
|
|
16
|
+
* - Mozilla Public License Version 1.1 or later (the "MPL")
|
|
17
|
+
* http://www.mozilla.org/MPL/MPL-1.1.html
|
|
18
|
+
*
|
|
19
|
+
* == END LICENSE ==
|
|
20
|
+
*
|
|
21
|
+
* Defines the FCKXHtml object, responsible for the XHTML operations.
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
var FCKXHtml = new Object() ;
|
|
25
|
+
|
|
26
|
+
FCKXHtml.CurrentJobNum = 0 ;
|
|
27
|
+
|
|
28
|
+
FCKXHtml.GetXHTML = function( node, includeNode, format )
|
|
29
|
+
{
|
|
30
|
+
FCKXHtmlEntities.Initialize() ;
|
|
31
|
+
|
|
32
|
+
// Set the correct entity to use for empty blocks.
|
|
33
|
+
this._NbspEntity = ( FCKConfig.ProcessHTMLEntities? 'nbsp' : '#160' ) ;
|
|
34
|
+
|
|
35
|
+
// Save the current IsDirty state. The XHTML processor may change the
|
|
36
|
+
// original HTML, dirtying it.
|
|
37
|
+
var bIsDirty = FCK.IsDirty() ;
|
|
38
|
+
|
|
39
|
+
this._CreateNode = FCKConfig.ForceStrongEm ? FCKXHtml_CreateNode_StrongEm : FCKXHtml_CreateNode_Normal ;
|
|
40
|
+
|
|
41
|
+
// Special blocks are blocks of content that remain untouched during the
|
|
42
|
+
// process. It is used for SCRIPTs and STYLEs.
|
|
43
|
+
FCKXHtml.SpecialBlocks = new Array() ;
|
|
44
|
+
|
|
45
|
+
// Create the XML DOMDocument object.
|
|
46
|
+
this.XML = FCKTools.CreateXmlObject( 'DOMDocument' ) ;
|
|
47
|
+
|
|
48
|
+
// Add a root element that holds all child nodes.
|
|
49
|
+
this.MainNode = this.XML.appendChild( this.XML.createElement( 'xhtml' ) ) ;
|
|
50
|
+
|
|
51
|
+
FCKXHtml.CurrentJobNum++ ;
|
|
52
|
+
|
|
53
|
+
if ( includeNode )
|
|
54
|
+
this._AppendNode( this.MainNode, node ) ;
|
|
55
|
+
else
|
|
56
|
+
this._AppendChildNodes( this.MainNode, node, false ) ;
|
|
57
|
+
|
|
58
|
+
// Get the resulting XHTML as a string.
|
|
59
|
+
var sXHTML = this._GetMainXmlString() ;
|
|
60
|
+
|
|
61
|
+
this.XML = null ;
|
|
62
|
+
|
|
63
|
+
// Strip the "XHTML" root node.
|
|
64
|
+
sXHTML = sXHTML.substr( 7, sXHTML.length - 15 ).Trim() ;
|
|
65
|
+
|
|
66
|
+
// Remove the trailing <br> added by Gecko.
|
|
67
|
+
// REMOVE: Maybe the following is not anymore necessary because a similar
|
|
68
|
+
// check is made on _AppendNode
|
|
69
|
+
if ( FCKBrowserInfo.IsGecko )
|
|
70
|
+
sXHTML = sXHTML.replace( /<br\/>$/, '' ) ;
|
|
71
|
+
|
|
72
|
+
// Add a space in the tags with no closing tags, like <br/> -> <br />
|
|
73
|
+
sXHTML = sXHTML.replace( FCKRegexLib.SpaceNoClose, ' />');
|
|
74
|
+
|
|
75
|
+
if ( FCKConfig.ForceSimpleAmpersand )
|
|
76
|
+
sXHTML = sXHTML.replace( FCKRegexLib.ForceSimpleAmpersand, '&' ) ;
|
|
77
|
+
|
|
78
|
+
if ( format )
|
|
79
|
+
sXHTML = FCKCodeFormatter.Format( sXHTML ) ;
|
|
80
|
+
|
|
81
|
+
// Now we put back the SpecialBlocks contents.
|
|
82
|
+
for ( var i = 0 ; i < FCKXHtml.SpecialBlocks.length ; i++ )
|
|
83
|
+
{
|
|
84
|
+
var oRegex = new RegExp( '___FCKsi___' + i ) ;
|
|
85
|
+
sXHTML = sXHTML.replace( oRegex, FCKXHtml.SpecialBlocks[i] ) ;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// Replace entities marker with the ampersand.
|
|
89
|
+
sXHTML = sXHTML.replace( FCKRegexLib.GeckoEntitiesMarker, '&' ) ;
|
|
90
|
+
|
|
91
|
+
// Restore the IsDirty state if it was not dirty.
|
|
92
|
+
if ( !bIsDirty )
|
|
93
|
+
FCK.ResetIsDirty() ;
|
|
94
|
+
|
|
95
|
+
return sXHTML ;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
FCKXHtml._AppendAttribute = function( xmlNode, attributeName, attributeValue )
|
|
99
|
+
{
|
|
100
|
+
try
|
|
101
|
+
{
|
|
102
|
+
if ( attributeValue == undefined || attributeValue == null )
|
|
103
|
+
attributeValue = '' ;
|
|
104
|
+
else if ( attributeValue.replace )
|
|
105
|
+
{
|
|
106
|
+
if ( FCKConfig.ForceSimpleAmpersand )
|
|
107
|
+
attributeValue = attributeValue.replace( /&/g, '___FCKAmp___' ) ;
|
|
108
|
+
|
|
109
|
+
// Entities must be replaced in the attribute values.
|
|
110
|
+
attributeValue = attributeValue.replace( FCKXHtmlEntities.EntitiesRegex, FCKXHtml_GetEntity ) ;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// Create the attribute.
|
|
114
|
+
var oXmlAtt = this.XML.createAttribute( attributeName ) ;
|
|
115
|
+
oXmlAtt.value = attributeValue ;
|
|
116
|
+
|
|
117
|
+
// Set the attribute in the node.
|
|
118
|
+
xmlNode.attributes.setNamedItem( oXmlAtt ) ;
|
|
119
|
+
}
|
|
120
|
+
catch (e)
|
|
121
|
+
{}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
FCKXHtml._AppendChildNodes = function( xmlNode, htmlNode, isBlockElement )
|
|
125
|
+
{
|
|
126
|
+
// Trim block elements. This is also needed to avoid Firefox leaving extra
|
|
127
|
+
// BRs at the end of them.
|
|
128
|
+
if ( isBlockElement )
|
|
129
|
+
FCKDomTools.TrimNode( htmlNode, true ) ;
|
|
130
|
+
|
|
131
|
+
var iCount = 0 ;
|
|
132
|
+
|
|
133
|
+
var oNode = htmlNode.firstChild ;
|
|
134
|
+
|
|
135
|
+
while ( oNode )
|
|
136
|
+
{
|
|
137
|
+
if ( this._AppendNode( xmlNode, oNode ) )
|
|
138
|
+
iCount++ ;
|
|
139
|
+
|
|
140
|
+
oNode = oNode.nextSibling ;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
if ( iCount == 0 )
|
|
144
|
+
{
|
|
145
|
+
if ( isBlockElement && FCKConfig.FillEmptyBlocks )
|
|
146
|
+
{
|
|
147
|
+
this._AppendEntity( xmlNode, this._NbspEntity ) ;
|
|
148
|
+
return xmlNode ;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
var sNodeName = xmlNode.nodeName ;
|
|
152
|
+
|
|
153
|
+
// Some inline elements are required to have something inside (span, strong, etc...).
|
|
154
|
+
if ( FCKListsLib.InlineChildReqElements[ sNodeName ] )
|
|
155
|
+
return null ;
|
|
156
|
+
|
|
157
|
+
// We can't use short representation of empty elements that are not marked
|
|
158
|
+
// as empty in th XHTML DTD.
|
|
159
|
+
if ( !FCKListsLib.EmptyElements[ sNodeName ] )
|
|
160
|
+
xmlNode.appendChild( this.XML.createTextNode('') ) ;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return xmlNode ;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
FCKXHtml._AppendNode = function( xmlNode, htmlNode )
|
|
167
|
+
{
|
|
168
|
+
if ( !htmlNode )
|
|
169
|
+
return false ;
|
|
170
|
+
|
|
171
|
+
switch ( htmlNode.nodeType )
|
|
172
|
+
{
|
|
173
|
+
// Element Node.
|
|
174
|
+
case 1 :
|
|
175
|
+
|
|
176
|
+
// Here we found an element that is not the real element, but a
|
|
177
|
+
// fake one (like the Flash placeholder image), so we must get the real one.
|
|
178
|
+
if ( htmlNode.getAttribute('_fckfakelement') )
|
|
179
|
+
return FCKXHtml._AppendNode( xmlNode, FCK.GetRealElement( htmlNode ) ) ;
|
|
180
|
+
|
|
181
|
+
// Mozilla insert custom nodes in the DOM.
|
|
182
|
+
if ( FCKBrowserInfo.IsGecko && htmlNode.hasAttribute('_moz_editor_bogus_node') )
|
|
183
|
+
return false ;
|
|
184
|
+
|
|
185
|
+
// This is for elements that are instrumental to FCKeditor and
|
|
186
|
+
// must be removed from the final HTML.
|
|
187
|
+
if ( htmlNode.getAttribute('_fcktemp') )
|
|
188
|
+
return false ;
|
|
189
|
+
|
|
190
|
+
// Get the element name.
|
|
191
|
+
var sNodeName = htmlNode.tagName.toLowerCase() ;
|
|
192
|
+
|
|
193
|
+
if ( FCKBrowserInfo.IsIE )
|
|
194
|
+
{
|
|
195
|
+
// IE doens't include the scope name in the nodeName. So, add the namespace.
|
|
196
|
+
if ( htmlNode.scopeName && htmlNode.scopeName != 'HTML' && htmlNode.scopeName != 'FCK' )
|
|
197
|
+
sNodeName = htmlNode.scopeName.toLowerCase() + ':' + sNodeName ;
|
|
198
|
+
}
|
|
199
|
+
else
|
|
200
|
+
{
|
|
201
|
+
if ( sNodeName.StartsWith( 'fck:' ) )
|
|
202
|
+
sNodeName = sNodeName.Remove( 0,4 ) ;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// Check if the node name is valid, otherwise ignore this tag.
|
|
206
|
+
// If the nodeName starts with a slash, it is a orphan closing tag.
|
|
207
|
+
// On some strange cases, the nodeName is empty, even if the node exists.
|
|
208
|
+
if ( !FCKRegexLib.ElementName.test( sNodeName ) )
|
|
209
|
+
return false ;
|
|
210
|
+
|
|
211
|
+
// Remove the <br> if it is a bogus node.
|
|
212
|
+
if ( sNodeName == 'br' && htmlNode.getAttribute( 'type', 2 ) == '_moz' )
|
|
213
|
+
return false ;
|
|
214
|
+
|
|
215
|
+
// The already processed nodes must be marked to avoid then to be duplicated (bad formatted HTML).
|
|
216
|
+
// So here, the "mark" is checked... if the element is Ok, then mark it.
|
|
217
|
+
if ( htmlNode._fckxhtmljob && htmlNode._fckxhtmljob == FCKXHtml.CurrentJobNum )
|
|
218
|
+
return false ;
|
|
219
|
+
|
|
220
|
+
var oNode = this._CreateNode( sNodeName ) ;
|
|
221
|
+
|
|
222
|
+
// Add all attributes.
|
|
223
|
+
FCKXHtml._AppendAttributes( xmlNode, htmlNode, oNode, sNodeName ) ;
|
|
224
|
+
|
|
225
|
+
htmlNode._fckxhtmljob = FCKXHtml.CurrentJobNum ;
|
|
226
|
+
|
|
227
|
+
// Tag specific processing.
|
|
228
|
+
var oTagProcessor = FCKXHtml.TagProcessors[ sNodeName ] ;
|
|
229
|
+
|
|
230
|
+
if ( oTagProcessor )
|
|
231
|
+
oNode = oTagProcessor( oNode, htmlNode, xmlNode ) ;
|
|
232
|
+
else
|
|
233
|
+
oNode = this._AppendChildNodes( oNode, htmlNode, Boolean( FCKListsLib.NonEmptyBlockElements[ sNodeName ] ) ) ;
|
|
234
|
+
|
|
235
|
+
if ( !oNode )
|
|
236
|
+
return false ;
|
|
237
|
+
|
|
238
|
+
xmlNode.appendChild( oNode ) ;
|
|
239
|
+
|
|
240
|
+
break ;
|
|
241
|
+
|
|
242
|
+
// Text Node.
|
|
243
|
+
case 3 :
|
|
244
|
+
return this._AppendTextNode( xmlNode, htmlNode.nodeValue.ReplaceNewLineChars(' ') ) ;
|
|
245
|
+
|
|
246
|
+
// Comment
|
|
247
|
+
case 8 :
|
|
248
|
+
// IE catches the <!DOTYPE ... > as a comment, but it has no
|
|
249
|
+
// innerHTML, so we can catch it, and ignore it.
|
|
250
|
+
if ( FCKBrowserInfo.IsIE && !htmlNode.innerHTML )
|
|
251
|
+
break ;
|
|
252
|
+
|
|
253
|
+
try { xmlNode.appendChild( this.XML.createComment( htmlNode.nodeValue ) ) ; }
|
|
254
|
+
catch (e) { /* Do nothing... probably this is a wrong format comment. */ }
|
|
255
|
+
break ;
|
|
256
|
+
|
|
257
|
+
// Unknown Node type.
|
|
258
|
+
default :
|
|
259
|
+
xmlNode.appendChild( this.XML.createComment( "Element not supported - Type: " + htmlNode.nodeType + " Name: " + htmlNode.nodeName ) ) ;
|
|
260
|
+
break ;
|
|
261
|
+
}
|
|
262
|
+
return true ;
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
function FCKXHtml_CreateNode_StrongEm( nodeName )
|
|
266
|
+
{
|
|
267
|
+
switch ( nodeName )
|
|
268
|
+
{
|
|
269
|
+
case 'b' :
|
|
270
|
+
nodeName = 'strong' ;
|
|
271
|
+
break ;
|
|
272
|
+
case 'i' :
|
|
273
|
+
nodeName = 'em' ;
|
|
274
|
+
break ;
|
|
275
|
+
}
|
|
276
|
+
return this.XML.createElement( nodeName ) ;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
function FCKXHtml_CreateNode_Normal( nodeName )
|
|
280
|
+
{
|
|
281
|
+
return this.XML.createElement( nodeName ) ;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
// Append an item to the SpecialBlocks array and returns the tag to be used.
|
|
285
|
+
FCKXHtml._AppendSpecialItem = function( item )
|
|
286
|
+
{
|
|
287
|
+
return '___FCKsi___' + FCKXHtml.SpecialBlocks.AddItem( item ) ;
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
FCKXHtml._AppendEntity = function( xmlNode, entity )
|
|
291
|
+
{
|
|
292
|
+
xmlNode.appendChild( this.XML.createTextNode( '#?-:' + entity + ';' ) ) ;
|
|
293
|
+
}
|
|
294
|
+
|
|
295
|
+
FCKXHtml._AppendTextNode = function( targetNode, textValue )
|
|
296
|
+
{
|
|
297
|
+
var bHadText = textValue.length > 0 ;
|
|
298
|
+
if ( bHadText )
|
|
299
|
+
targetNode.appendChild( this.XML.createTextNode( textValue.replace( FCKXHtmlEntities.EntitiesRegex, FCKXHtml_GetEntity ) ) ) ;
|
|
300
|
+
return bHadText ;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
// Retrieves a entity (internal format) for a given character.
|
|
304
|
+
function FCKXHtml_GetEntity( character )
|
|
305
|
+
{
|
|
306
|
+
// We cannot simply place the entities in the text, because the XML parser
|
|
307
|
+
// will translate & to &. So we use a temporary marker which is replaced
|
|
308
|
+
// in the end of the processing.
|
|
309
|
+
var sEntity = FCKXHtmlEntities.Entities[ character ] || ( '#' + character.charCodeAt(0) ) ;
|
|
310
|
+
return '#?-:' + sEntity + ';' ;
|
|
311
|
+
}
|
|
312
|
+
|
|
313
|
+
// Remove part of an attribute from a node according to a regExp
|
|
314
|
+
FCKXHtml._RemoveAttribute = function( xmlNode, regX, sAttribute )
|
|
315
|
+
{
|
|
316
|
+
var oAtt = xmlNode.attributes.getNamedItem( sAttribute ) ;
|
|
317
|
+
|
|
318
|
+
if ( oAtt && regX.test( oAtt.nodeValue ) )
|
|
319
|
+
{
|
|
320
|
+
var sValue = oAtt.nodeValue.replace( regX, '' ) ;
|
|
321
|
+
|
|
322
|
+
if ( sValue.length == 0 )
|
|
323
|
+
xmlNode.attributes.removeNamedItem( sAttribute ) ;
|
|
324
|
+
else
|
|
325
|
+
oAtt.nodeValue = sValue ;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
// An object that hold tag specific operations.
|
|
330
|
+
FCKXHtml.TagProcessors =
|
|
331
|
+
{
|
|
332
|
+
img : function( node, htmlNode )
|
|
333
|
+
{
|
|
334
|
+
// The "ALT" attribute is required in XHTML.
|
|
335
|
+
if ( ! node.attributes.getNamedItem( 'alt' ) )
|
|
336
|
+
FCKXHtml._AppendAttribute( node, 'alt', '' ) ;
|
|
337
|
+
|
|
338
|
+
var sSavedUrl = htmlNode.getAttribute( '_fcksavedurl' ) ;
|
|
339
|
+
if ( sSavedUrl != null )
|
|
340
|
+
FCKXHtml._AppendAttribute( node, 'src', sSavedUrl ) ;
|
|
341
|
+
|
|
342
|
+
return node ;
|
|
343
|
+
},
|
|
344
|
+
|
|
345
|
+
a : function( node, htmlNode )
|
|
346
|
+
{
|
|
347
|
+
// Firefox may create empty tags when deleting the selection in some special cases (SF-BUG 1556878).
|
|
348
|
+
if ( htmlNode.innerHTML.Trim().length == 0 && !htmlNode.name )
|
|
349
|
+
return false ;
|
|
350
|
+
|
|
351
|
+
var sSavedUrl = htmlNode.getAttribute( '_fcksavedurl' ) ;
|
|
352
|
+
if ( sSavedUrl != null )
|
|
353
|
+
FCKXHtml._AppendAttribute( node, 'href', sSavedUrl ) ;
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
// Anchors with content has been marked with an additional class, now we must remove it.
|
|
357
|
+
if ( FCKBrowserInfo.IsIE )
|
|
358
|
+
{
|
|
359
|
+
FCKXHtml._RemoveAttribute( node, FCKRegexLib.FCK_Class, 'class' ) ;
|
|
360
|
+
|
|
361
|
+
// Buggy IE, doesn't copy the name of changed anchors.
|
|
362
|
+
if ( htmlNode.name )
|
|
363
|
+
FCKXHtml._AppendAttribute( node, 'name', htmlNode.name ) ;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
node = FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
|
|
367
|
+
|
|
368
|
+
return node ;
|
|
369
|
+
},
|
|
370
|
+
|
|
371
|
+
script : function( node, htmlNode )
|
|
372
|
+
{
|
|
373
|
+
// The "TYPE" attribute is required in XHTML.
|
|
374
|
+
if ( ! node.attributes.getNamedItem( 'type' ) )
|
|
375
|
+
FCKXHtml._AppendAttribute( node, 'type', 'text/javascript' ) ;
|
|
376
|
+
|
|
377
|
+
node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( htmlNode.text ) ) ) ;
|
|
378
|
+
|
|
379
|
+
return node ;
|
|
380
|
+
},
|
|
381
|
+
|
|
382
|
+
style : function( node, htmlNode )
|
|
383
|
+
{
|
|
384
|
+
// The "TYPE" attribute is required in XHTML.
|
|
385
|
+
if ( ! node.attributes.getNamedItem( 'type' ) )
|
|
386
|
+
FCKXHtml._AppendAttribute( node, 'type', 'text/css' ) ;
|
|
387
|
+
|
|
388
|
+
node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( htmlNode.innerHTML ) ) ) ;
|
|
389
|
+
|
|
390
|
+
return node ;
|
|
391
|
+
},
|
|
392
|
+
|
|
393
|
+
title : function( node, htmlNode )
|
|
394
|
+
{
|
|
395
|
+
node.appendChild( FCKXHtml.XML.createTextNode( FCK.EditorDocument.title ) ) ;
|
|
396
|
+
|
|
397
|
+
return node ;
|
|
398
|
+
},
|
|
399
|
+
|
|
400
|
+
table : function( node, htmlNode )
|
|
401
|
+
{
|
|
402
|
+
// There is a trick to show table borders when border=0. We add to the
|
|
403
|
+
// table class the FCK__ShowTableBorders rule. So now we must remove it.
|
|
404
|
+
|
|
405
|
+
if ( FCKBrowserInfo.IsIE )
|
|
406
|
+
FCKXHtml._RemoveAttribute( node, FCKRegexLib.FCK_Class, 'class' ) ;
|
|
407
|
+
|
|
408
|
+
node = FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
|
|
409
|
+
|
|
410
|
+
return node ;
|
|
411
|
+
},
|
|
412
|
+
|
|
413
|
+
// Fix nested <ul> and <ol>.
|
|
414
|
+
ol : function( node, htmlNode, targetNode )
|
|
415
|
+
{
|
|
416
|
+
if ( htmlNode.innerHTML.Trim().length == 0 )
|
|
417
|
+
return false ;
|
|
418
|
+
|
|
419
|
+
var ePSibling = targetNode.lastChild ;
|
|
420
|
+
|
|
421
|
+
if ( ePSibling && ePSibling.nodeType == 3 )
|
|
422
|
+
ePSibling = ePSibling.previousSibling ;
|
|
423
|
+
|
|
424
|
+
if ( ePSibling && ePSibling.nodeName.toUpperCase() == 'LI' )
|
|
425
|
+
{
|
|
426
|
+
htmlNode._fckxhtmljob = null ;
|
|
427
|
+
FCKXHtml._AppendNode( ePSibling, htmlNode ) ;
|
|
428
|
+
return false ;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
node = FCKXHtml._AppendChildNodes( node, htmlNode ) ;
|
|
432
|
+
|
|
433
|
+
return node ;
|
|
434
|
+
},
|
|
435
|
+
|
|
436
|
+
span : function( node, htmlNode )
|
|
437
|
+
{
|
|
438
|
+
// Firefox may create empty tags when deleting the selection in some special cases (SF-BUG 1084404).
|
|
439
|
+
if ( htmlNode.innerHTML.length == 0 )
|
|
440
|
+
return false ;
|
|
441
|
+
|
|
442
|
+
node = FCKXHtml._AppendChildNodes( node, htmlNode, false ) ;
|
|
443
|
+
|
|
444
|
+
return node ;
|
|
445
|
+
},
|
|
446
|
+
|
|
447
|
+
// IE loses contents of iframes, and Gecko does give it back HtmlEncoded
|
|
448
|
+
// Note: Opera does lose the content and doesn't provide it in the innerHTML string
|
|
449
|
+
iframe : function( node, htmlNode )
|
|
450
|
+
{
|
|
451
|
+
var sHtml = htmlNode.innerHTML ;
|
|
452
|
+
|
|
453
|
+
// Gecko does give back the encoded html
|
|
454
|
+
if ( FCKBrowserInfo.IsGecko )
|
|
455
|
+
sHtml = FCKTools.HTMLDecode( sHtml );
|
|
456
|
+
|
|
457
|
+
// Remove the saved urls here as the data won't be processed as nodes
|
|
458
|
+
sHtml = sHtml.replace( /\s_fcksavedurl="[^"]*"/g, '' ) ;
|
|
459
|
+
|
|
460
|
+
node.appendChild( FCKXHtml.XML.createTextNode( FCKXHtml._AppendSpecialItem( sHtml ) ) ) ;
|
|
461
|
+
|
|
462
|
+
return node ;
|
|
463
|
+
}
|
|
464
|
+
} ;
|
|
465
|
+
|
|
466
|
+
FCKXHtml.TagProcessors.ul = FCKXHtml.TagProcessors.ol ;
|