Wiki2GoEditor 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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,174 @@
|
|
1
|
+
<cfsilent>
|
2
|
+
<!---
|
3
|
+
This code uses a CF User Defined Function and should work in CF version 5.0
|
4
|
+
and up without alteration.
|
5
|
+
|
6
|
+
Also if you are hosting your site at an ISP, you will have to check with them
|
7
|
+
to see if the use of <CFEXECUTE> is allowed. In most cases ISP will not allow
|
8
|
+
the use of that tag for security reasons. Clients would be able to access each
|
9
|
+
others files in certain cases.
|
10
|
+
--->
|
11
|
+
|
12
|
+
<!---
|
13
|
+
The following variables values must reflect your installation needs.
|
14
|
+
--->
|
15
|
+
<cfset apsell_dir = "c:\aspell\bin">
|
16
|
+
|
17
|
+
<cfset lang = "en_US">
|
18
|
+
<cfset aspell_opts = "-a --lang=#lang# --encoding=utf-8 -H">
|
19
|
+
|
20
|
+
<!--- Be sure the temporary folder exists --->
|
21
|
+
<cfset tempFolder = "c:\aspell\temp">
|
22
|
+
<cfset tempfile = "spell_#randrange(1,10000)#">
|
23
|
+
|
24
|
+
<cfset spellercss = "../spellerStyle.css">
|
25
|
+
<cfset word_win_src = "../wordWindow.js">
|
26
|
+
|
27
|
+
<cfset form.checktext = form["textinputs[]"]>
|
28
|
+
|
29
|
+
<cfscript>
|
30
|
+
function LastIndexOf(subs, str)
|
31
|
+
{
|
32
|
+
return Len(str) - Find(subs, Reverse(str)) + 1;
|
33
|
+
}
|
34
|
+
</cfscript>
|
35
|
+
|
36
|
+
<!--- Takes care of those pesky smart quotes from MS apps, replaces them with regular quotes --->
|
37
|
+
<cfparam name="url.checktext" default="">
|
38
|
+
<cfparam name="form.checktext" default="#url.checktext#">
|
39
|
+
<cfset submitted_text = replacelist(form.checktext,"%u201C,%u201D","%22,%22")>
|
40
|
+
|
41
|
+
<!--- submitted_text now is ready for processing --->
|
42
|
+
|
43
|
+
<!--- use carat on each line to escape possible aspell commands --->
|
44
|
+
<cfset text = "">
|
45
|
+
<cfset crlf = Chr(13) & Chr(10)>
|
46
|
+
|
47
|
+
<cfloop list="#submitted_text#" index="field" delimiters=",">
|
48
|
+
<cfset text = text & "%" & crlf
|
49
|
+
& "^A" & crlf
|
50
|
+
& "!" & crlf>
|
51
|
+
<cfset field = URLDecode(field)>
|
52
|
+
<cfloop list="#field#" index="line" delimiters="#crlf#">
|
53
|
+
<!--- <cfset submitted_text = replace(submitted_text,"'","\'","All")>
|
54
|
+
<cfset submitted_text = replace(submitted_text,"""","\""","All")> --->
|
55
|
+
<cfset text = text & "^" & Trim(JSStringFormat(line)) & "#crlf#">
|
56
|
+
</cfloop>
|
57
|
+
</cfloop>
|
58
|
+
|
59
|
+
|
60
|
+
<!--- need to escape special javascript characters such as ' --->
|
61
|
+
<cfset unaltered_text = submitted_text>
|
62
|
+
|
63
|
+
<!--- create temp file from the submitted text, this will be passed to aspell to be check for misspelled words --->
|
64
|
+
<cffile action="write" file="#tempFolder#\#tempfile#.txt" output="#text#" charset="utf-8">
|
65
|
+
|
66
|
+
<!--- cfsavecontent is used to set the variable that will be returned with the results from aspell.
|
67
|
+
If your using the new version of mx 6.1 you can use the following cfexecute tag instead:
|
68
|
+
<cfexecute name="C:\WINDOWS\SYSTEM32\cmd.exe" arguments="/c type c:\test\#tempfile#.txt | c:\aspell\bin\aspell #aspell_opts#" timeout="100" variable="results"></cfexecute> --->
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
<cfsavecontent variable="food">
|
73
|
+
<cfexecute name="C:\WINDOWS\SYSTEM32\cmd.exe" arguments="/c type #tempFolder#\#tempfile#.txt | #apsell_dir#\aspell #aspell_opts#" timeout="100"></cfexecute>
|
74
|
+
</cfsavecontent>
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
<!--- remove temp file --->
|
79
|
+
<cffile action="delete" file="#tempFolder#\#tempfile#.txt">
|
80
|
+
|
81
|
+
<cfset texts = StructNew()>
|
82
|
+
<cfset texts.textinputs = "">
|
83
|
+
<cfset texts.words = "">
|
84
|
+
<cfset texts.abort = "">
|
85
|
+
|
86
|
+
<!--- Generate Text Inputs --->
|
87
|
+
|
88
|
+
<cfset i = "0">
|
89
|
+
<cfloop index="text" list="#form.checktext#">
|
90
|
+
<cfset texts.textinputs = ListAppend(texts.textinputs, 'textinputs[#i#] = decodeURIComponent("#text#");', '#Chr(13)##Chr(10)#')>
|
91
|
+
<cfset i = i + "1">
|
92
|
+
</cfloop>
|
93
|
+
|
94
|
+
<!--- Generate Words Lists --->
|
95
|
+
|
96
|
+
<cfset cnt = "1">
|
97
|
+
<cfset word_cnt = "0">
|
98
|
+
<cfset input_cnt = "-1">
|
99
|
+
<cfloop list="#food#" index="list" delimiters="#chr(10)##chr(13)#">
|
100
|
+
<!--- removes the first line of the aspell output "@(#) International Ispell Version 3.1.20 (but really Aspell 0.50.3)" --->
|
101
|
+
<cfif NOT cnt IS "1">
|
102
|
+
<cfif Find("&", list) OR Find("##", list)>
|
103
|
+
<!--- word that misspelled --->
|
104
|
+
<cfset bad_word = listGetAt(list, "2", " ")>
|
105
|
+
<!--- sugestions --->
|
106
|
+
<cfset wrdList = mid(list,(LastIndexOf(':', list) + 2),(len(list) - (LastIndexOf(':', list) + 2)))>
|
107
|
+
<cfset wrdsList = "">
|
108
|
+
<cfloop list="#wrdList#" index="idx">
|
109
|
+
<cfset wrdsList = ListAppend(wrdsList, " '" & trim(replace(idx,"'","\'","All")) & "'", ", ")>
|
110
|
+
</cfloop>
|
111
|
+
<cfset wrdsList = Right(wrdsList, Len(wrdsList) - 1)>
|
112
|
+
<!--- javascript --->
|
113
|
+
<cfset texts.words = ListAppend(texts.words, "words[#input_cnt#][#word_cnt#] = '#trim(replace(bad_word,"'","\'","All"))#';", "#Chr(13)##Chr(10)#")>
|
114
|
+
<cfset texts.words = ListAppend(texts.words, "suggs[#input_cnt#][#word_cnt#] = [#trim(wrdsList)#];", "#Chr(13)##Chr(10)#")>
|
115
|
+
<cfset word_cnt = word_cnt + 1>
|
116
|
+
<cfelseif find("*", list)>
|
117
|
+
<cfset input_cnt = input_cnt + "1">
|
118
|
+
<cfset word_cnt = "0">
|
119
|
+
<cfset texts.words = ListAppend(texts.words, "words[#input_cnt#] = [];", "#crlf#")>
|
120
|
+
<cfset texts.words = ListAppend(texts.words, "suggs[#input_cnt#] = [];", "#crlf#")>
|
121
|
+
</cfif>
|
122
|
+
</cfif>
|
123
|
+
<cfset cnt = cnt + 1>
|
124
|
+
</cfloop>
|
125
|
+
|
126
|
+
<cfif texts.words IS "">
|
127
|
+
<cfset texts.abort = "alert('Spell check complete.\n\nNo misspellings found.');#chrlf#top.window.close();">
|
128
|
+
</cfif>
|
129
|
+
|
130
|
+
</cfsilent><cfoutput><cfcontent type="text/html"><html>
|
131
|
+
<head>
|
132
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
133
|
+
<link rel="stylesheet" type="text/css" href="#spellercss#" />
|
134
|
+
<script language="javascript" src="#word_win_src#"></script>
|
135
|
+
<script language="javascript">
|
136
|
+
var suggs = new Array();
|
137
|
+
var words = new Array();
|
138
|
+
var textinputs = new Array();
|
139
|
+
var error;
|
140
|
+
|
141
|
+
#texts.textinputs##Chr(13)##Chr(10)#
|
142
|
+
#texts.words#
|
143
|
+
#texts.abort#
|
144
|
+
|
145
|
+
var wordWindowObj = new wordWindow();
|
146
|
+
wordWindowObj.originalSpellings = words;
|
147
|
+
wordWindowObj.suggestions = suggs;
|
148
|
+
wordWindowObj.textInputs = textinputs;
|
149
|
+
|
150
|
+
function init_spell() {
|
151
|
+
// check if any error occured during server-side processing
|
152
|
+
if( error ) {
|
153
|
+
alert( error );
|
154
|
+
} else {
|
155
|
+
// call the init_spell() function in the parent frameset
|
156
|
+
if (parent.frames.length) {
|
157
|
+
parent.init_spell( wordWindowObj );
|
158
|
+
} else {
|
159
|
+
alert('This page was loaded outside of a frameset. It might not display properly');
|
160
|
+
}
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
</script>
|
165
|
+
|
166
|
+
</head>
|
167
|
+
<body onLoad="init_spell();">
|
168
|
+
|
169
|
+
<script type="text/javascript">
|
170
|
+
wordWindowObj.writeBody();
|
171
|
+
</script>
|
172
|
+
|
173
|
+
</body>
|
174
|
+
</html></cfoutput>
|
@@ -0,0 +1,196 @@
|
|
1
|
+
<?php
|
2
|
+
header('Content-type: text/html; charset=utf-8');
|
3
|
+
|
4
|
+
// The following variables values must reflect your installation needs.
|
5
|
+
|
6
|
+
$aspell_prog = '"C:\Program Files\Aspell\bin\aspell.exe"'; // by FredCK (for Windows)
|
7
|
+
//$aspell_prog = 'aspell'; // by FredCK (for Linux)
|
8
|
+
|
9
|
+
$lang = 'en_US';
|
10
|
+
$aspell_opts = "-a --lang=$lang --encoding=utf-8 -H"; // by FredCK
|
11
|
+
|
12
|
+
$tempfiledir = "./";
|
13
|
+
|
14
|
+
$spellercss = '../spellerStyle.css'; // by FredCK
|
15
|
+
$word_win_src = '../wordWindow.js'; // by FredCK
|
16
|
+
|
17
|
+
$textinputs = $_POST['textinputs']; # array
|
18
|
+
$input_separator = "A";
|
19
|
+
|
20
|
+
# set the JavaScript variable to the submitted text.
|
21
|
+
# textinputs is an array, each element corresponding to the (url-encoded)
|
22
|
+
# value of the text control submitted for spell-checking
|
23
|
+
function print_textinputs_var() {
|
24
|
+
global $textinputs;
|
25
|
+
foreach( $textinputs as $key=>$val ) {
|
26
|
+
# $val = str_replace( "'", "%27", $val );
|
27
|
+
echo "textinputs[$key] = decodeURIComponent(\"" . $val . "\");\n";
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
# make declarations for the text input index
|
32
|
+
function print_textindex_decl( $text_input_idx ) {
|
33
|
+
echo "words[$text_input_idx] = [];\n";
|
34
|
+
echo "suggs[$text_input_idx] = [];\n";
|
35
|
+
}
|
36
|
+
|
37
|
+
# set an element of the JavaScript 'words' array to a misspelled word
|
38
|
+
function print_words_elem( $word, $index, $text_input_idx ) {
|
39
|
+
echo "words[$text_input_idx][$index] = '" . escape_quote( $word ) . "';\n";
|
40
|
+
}
|
41
|
+
|
42
|
+
|
43
|
+
# set an element of the JavaScript 'suggs' array to a list of suggestions
|
44
|
+
function print_suggs_elem( $suggs, $index, $text_input_idx ) {
|
45
|
+
echo "suggs[$text_input_idx][$index] = [";
|
46
|
+
foreach( $suggs as $key=>$val ) {
|
47
|
+
if( $val ) {
|
48
|
+
echo "'" . escape_quote( $val ) . "'";
|
49
|
+
if ( $key+1 < count( $suggs )) {
|
50
|
+
echo ", ";
|
51
|
+
}
|
52
|
+
}
|
53
|
+
}
|
54
|
+
echo "];\n";
|
55
|
+
}
|
56
|
+
|
57
|
+
# escape single quote
|
58
|
+
function escape_quote( $str ) {
|
59
|
+
return preg_replace ( "/'/", "\\'", $str );
|
60
|
+
}
|
61
|
+
|
62
|
+
|
63
|
+
# handle a server-side error.
|
64
|
+
function error_handler( $err ) {
|
65
|
+
echo "error = '" . escape_quote( $err ) . "';\n";
|
66
|
+
}
|
67
|
+
|
68
|
+
## get the list of misspelled words. Put the results in the javascript words array
|
69
|
+
## for each misspelled word, get suggestions and put in the javascript suggs array
|
70
|
+
function print_checker_results() {
|
71
|
+
|
72
|
+
global $aspell_prog;
|
73
|
+
global $aspell_opts;
|
74
|
+
global $tempfiledir;
|
75
|
+
global $textinputs;
|
76
|
+
global $input_separator;
|
77
|
+
$aspell_err = "";
|
78
|
+
# create temp file
|
79
|
+
$tempfile = tempnam( $tempfiledir, 'aspell_data_' );
|
80
|
+
|
81
|
+
# open temp file, add the submitted text.
|
82
|
+
if( $fh = fopen( $tempfile, 'w' )) {
|
83
|
+
for( $i = 0; $i < count( $textinputs ); $i++ ) {
|
84
|
+
$text = urldecode( $textinputs[$i] );
|
85
|
+
$lines = explode( "\n", $text );
|
86
|
+
fwrite ( $fh, "%\n" ); # exit terse mode
|
87
|
+
fwrite ( $fh, "^$input_separator\n" );
|
88
|
+
fwrite ( $fh, "!\n" ); # enter terse mode
|
89
|
+
foreach( $lines as $key=>$value ) {
|
90
|
+
# use carat on each line to escape possible aspell commands
|
91
|
+
fwrite( $fh, "^$value\n" );
|
92
|
+
}
|
93
|
+
}
|
94
|
+
fclose( $fh );
|
95
|
+
|
96
|
+
# exec aspell command - redirect STDERR to STDOUT
|
97
|
+
$cmd = "$aspell_prog $aspell_opts < $tempfile 2>&1";
|
98
|
+
if( $aspellret = shell_exec( $cmd )) {
|
99
|
+
$linesout = explode( "\n", $aspellret );
|
100
|
+
$index = 0;
|
101
|
+
$text_input_index = -1;
|
102
|
+
# parse each line of aspell return
|
103
|
+
foreach( $linesout as $key=>$val ) {
|
104
|
+
$chardesc = substr( $val, 0, 1 );
|
105
|
+
# if '&', then not in dictionary but has suggestions
|
106
|
+
# if '#', then not in dictionary and no suggestions
|
107
|
+
# if '*', then it is a delimiter between text inputs
|
108
|
+
# if '@' then version info
|
109
|
+
if( $chardesc == '&' || $chardesc == '#' ) {
|
110
|
+
$line = explode( " ", $val, 5 );
|
111
|
+
print_words_elem( $line[1], $index, $text_input_index );
|
112
|
+
if( isset( $line[4] )) {
|
113
|
+
$suggs = explode( ", ", $line[4] );
|
114
|
+
} else {
|
115
|
+
$suggs = array();
|
116
|
+
}
|
117
|
+
print_suggs_elem( $suggs, $index, $text_input_index );
|
118
|
+
$index++;
|
119
|
+
} elseif( $chardesc == '*' ) {
|
120
|
+
$text_input_index++;
|
121
|
+
print_textindex_decl( $text_input_index );
|
122
|
+
$index = 0;
|
123
|
+
} elseif( $chardesc != '@' && $chardesc != "" ) {
|
124
|
+
# assume this is error output
|
125
|
+
$aspell_err .= $val;
|
126
|
+
}
|
127
|
+
}
|
128
|
+
if( $aspell_err ) {
|
129
|
+
$aspell_err = "Error executing `$cmd`\\n$aspell_err";
|
130
|
+
error_handler( $aspell_err );
|
131
|
+
}
|
132
|
+
} else {
|
133
|
+
error_handler( "System error: Aspell program execution failed (`$cmd`)" );
|
134
|
+
}
|
135
|
+
} else {
|
136
|
+
error_handler( "System error: Could not open file '$tempfile' for writing" );
|
137
|
+
}
|
138
|
+
|
139
|
+
# close temp file, delete file
|
140
|
+
unlink( $tempfile );
|
141
|
+
}
|
142
|
+
|
143
|
+
|
144
|
+
?>
|
145
|
+
<html>
|
146
|
+
<head>
|
147
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
148
|
+
<link rel="stylesheet" type="text/css" href="<?php echo $spellercss ?>" />
|
149
|
+
<script language="javascript" src="<?php echo $word_win_src ?>"></script>
|
150
|
+
<script language="javascript">
|
151
|
+
var suggs = new Array();
|
152
|
+
var words = new Array();
|
153
|
+
var textinputs = new Array();
|
154
|
+
var error;
|
155
|
+
<?php
|
156
|
+
|
157
|
+
print_textinputs_var();
|
158
|
+
|
159
|
+
print_checker_results();
|
160
|
+
|
161
|
+
?>
|
162
|
+
|
163
|
+
var wordWindowObj = new wordWindow();
|
164
|
+
wordWindowObj.originalSpellings = words;
|
165
|
+
wordWindowObj.suggestions = suggs;
|
166
|
+
wordWindowObj.textInputs = textinputs;
|
167
|
+
|
168
|
+
function init_spell() {
|
169
|
+
// check if any error occured during server-side processing
|
170
|
+
if( error ) {
|
171
|
+
alert( error );
|
172
|
+
} else {
|
173
|
+
// call the init_spell() function in the parent frameset
|
174
|
+
if (parent.frames.length) {
|
175
|
+
parent.init_spell( wordWindowObj );
|
176
|
+
} else {
|
177
|
+
alert('This page was loaded outside of a frameset. It might not display properly');
|
178
|
+
}
|
179
|
+
}
|
180
|
+
}
|
181
|
+
|
182
|
+
|
183
|
+
|
184
|
+
</script>
|
185
|
+
|
186
|
+
</head>
|
187
|
+
<!-- <body onLoad="init_spell();"> by FredCK -->
|
188
|
+
<body onLoad="init_spell();" bgcolor="#ffffff">
|
189
|
+
|
190
|
+
<script type="text/javascript">
|
191
|
+
wordWindowObj.writeBody();
|
192
|
+
</script>
|
193
|
+
|
194
|
+
</body>
|
195
|
+
</html>
|
196
|
+
|
@@ -0,0 +1,180 @@
|
|
1
|
+
#!/usr/bin/perl
|
2
|
+
|
3
|
+
use CGI qw/ :standard /;
|
4
|
+
use File::Temp qw/ tempfile tempdir /;
|
5
|
+
|
6
|
+
# my $spellercss = '/speller/spellerStyle.css'; # by FredCK
|
7
|
+
my $spellercss = '../spellerStyle.css'; # by FredCK
|
8
|
+
# my $wordWindowSrc = '/speller/wordWindow.js'; # by FredCK
|
9
|
+
my $wordWindowSrc = '../wordWindow.js'; # by FredCK
|
10
|
+
my @textinputs = param( 'textinputs[]' ); # array
|
11
|
+
# my $aspell_cmd = 'aspell'; # by FredCK (for Linux)
|
12
|
+
my $aspell_cmd = '"C:\Program Files\Aspell\bin\aspell.exe"'; # by FredCK (for Windows)
|
13
|
+
my $lang = 'en_US';
|
14
|
+
# my $aspell_opts = "-a --lang=$lang --encoding=utf-8"; # by FredCK
|
15
|
+
my $aspell_opts = "-a --lang=$lang --encoding=utf-8 -H"; # by FredCK
|
16
|
+
my $input_separator = "A";
|
17
|
+
|
18
|
+
# set the 'wordtext' JavaScript variable to the submitted text.
|
19
|
+
sub printTextVar {
|
20
|
+
for( my $i = 0; $i <= $#textinputs; $i++ ) {
|
21
|
+
print "textinputs[$i] = decodeURIComponent('" . escapeQuote( $textinputs[$i] ) . "')\n";
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
sub printTextIdxDecl {
|
26
|
+
my $idx = shift;
|
27
|
+
print "words[$idx] = [];\n";
|
28
|
+
print "suggs[$idx] = [];\n";
|
29
|
+
}
|
30
|
+
|
31
|
+
sub printWordsElem {
|
32
|
+
my( $textIdx, $wordIdx, $word ) = @_;
|
33
|
+
print "words[$textIdx][$wordIdx] = '" . escapeQuote( $word ) . "';\n";
|
34
|
+
}
|
35
|
+
|
36
|
+
sub printSuggsElem {
|
37
|
+
my( $textIdx, $wordIdx, @suggs ) = @_;
|
38
|
+
print "suggs[$textIdx][$wordIdx] = [";
|
39
|
+
for my $i ( 0..$#suggs ) {
|
40
|
+
print "'" . escapeQuote( $suggs[$i] ) . "'";
|
41
|
+
if( $i < $#suggs ) {
|
42
|
+
print ", ";
|
43
|
+
}
|
44
|
+
}
|
45
|
+
print "];\n";
|
46
|
+
}
|
47
|
+
|
48
|
+
sub printCheckerResults {
|
49
|
+
my $textInputIdx = -1;
|
50
|
+
my $wordIdx = 0;
|
51
|
+
my $unhandledText;
|
52
|
+
# create temp file
|
53
|
+
my $dir = tempdir( CLEANUP => 1 );
|
54
|
+
my( $fh, $tmpfilename ) = tempfile( DIR => $dir );
|
55
|
+
|
56
|
+
# temp file was created properly?
|
57
|
+
|
58
|
+
# open temp file, add the submitted text.
|
59
|
+
for( my $i = 0; $i <= $#textinputs; $i++ ) {
|
60
|
+
$text = url_decode( $textinputs[$i] );
|
61
|
+
@lines = split( /\n/, $text );
|
62
|
+
print $fh "\%\n"; # exit terse mode
|
63
|
+
print $fh "^$input_separator\n";
|
64
|
+
print $fh "!\n"; # enter terse mode
|
65
|
+
for my $line ( @lines ) {
|
66
|
+
# use carat on each line to escape possible aspell commands
|
67
|
+
print $fh "^$line\n";
|
68
|
+
}
|
69
|
+
|
70
|
+
}
|
71
|
+
# exec aspell command
|
72
|
+
my $cmd = "$aspell_cmd $aspell_opts < $tmpfilename 2>&1";
|
73
|
+
open ASPELL, "$cmd |" or handleError( "Could not execute `$cmd`\\n$!" ) and return;
|
74
|
+
# parse each line of aspell return
|
75
|
+
for my $ret ( <ASPELL> ) {
|
76
|
+
chomp( $ret );
|
77
|
+
# if '&', then not in dictionary but has suggestions
|
78
|
+
# if '#', then not in dictionary and no suggestions
|
79
|
+
# if '*', then it is a delimiter between text inputs
|
80
|
+
if( $ret =~ /^\*/ ) {
|
81
|
+
$textInputIdx++;
|
82
|
+
printTextIdxDecl( $textInputIdx );
|
83
|
+
$wordIdx = 0;
|
84
|
+
|
85
|
+
} elsif( $ret =~ /^(&|#)/ ) {
|
86
|
+
my @tokens = split( " ", $ret, 5 );
|
87
|
+
printWordsElem( $textInputIdx, $wordIdx, $tokens[1] );
|
88
|
+
my @suggs = ();
|
89
|
+
if( $tokens[4] ) {
|
90
|
+
@suggs = split( ", ", $tokens[4] );
|
91
|
+
}
|
92
|
+
printSuggsElem( $textInputIdx, $wordIdx, @suggs );
|
93
|
+
$wordIdx++;
|
94
|
+
} else {
|
95
|
+
$unhandledText .= $ret;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
close ASPELL or handleError( "Error executing `$cmd`\\n$unhandledText" ) and return;
|
99
|
+
}
|
100
|
+
|
101
|
+
sub escapeQuote {
|
102
|
+
my $str = shift;
|
103
|
+
$str =~ s/'/\\'/g;
|
104
|
+
return $str;
|
105
|
+
}
|
106
|
+
|
107
|
+
sub handleError {
|
108
|
+
my $err = shift;
|
109
|
+
print "error = '" . escapeQuote( $err ) . "';\n";
|
110
|
+
}
|
111
|
+
|
112
|
+
sub url_decode {
|
113
|
+
local $_ = @_ ? shift : $_;
|
114
|
+
defined or return;
|
115
|
+
# change + signs to spaces
|
116
|
+
tr/+/ /;
|
117
|
+
# change hex escapes to the proper characters
|
118
|
+
s/%([a-fA-F0-9]{2})/pack "H2", $1/eg;
|
119
|
+
return $_;
|
120
|
+
}
|
121
|
+
|
122
|
+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
123
|
+
# Display HTML
|
124
|
+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
125
|
+
|
126
|
+
print <<EOF;
|
127
|
+
Content-type: text/html; charset=utf-8
|
128
|
+
|
129
|
+
<html>
|
130
|
+
<head>
|
131
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
132
|
+
<link rel="stylesheet" type="text/css" href="$spellercss"/>
|
133
|
+
<script src="$wordWindowSrc"></script>
|
134
|
+
<script type="text/javascript">
|
135
|
+
var suggs = new Array();
|
136
|
+
var words = new Array();
|
137
|
+
var textinputs = new Array();
|
138
|
+
var error;
|
139
|
+
EOF
|
140
|
+
|
141
|
+
printTextVar();
|
142
|
+
|
143
|
+
printCheckerResults();
|
144
|
+
|
145
|
+
print <<EOF;
|
146
|
+
var wordWindowObj = new wordWindow();
|
147
|
+
wordWindowObj.originalSpellings = words;
|
148
|
+
wordWindowObj.suggestions = suggs;
|
149
|
+
wordWindowObj.textInputs = textinputs;
|
150
|
+
|
151
|
+
|
152
|
+
function init_spell() {
|
153
|
+
// check if any error occured during server-side processing
|
154
|
+
if( error ) {
|
155
|
+
alert( error );
|
156
|
+
} else {
|
157
|
+
// call the init_spell() function in the parent frameset
|
158
|
+
if (parent.frames.length) {
|
159
|
+
parent.init_spell( wordWindowObj );
|
160
|
+
} else {
|
161
|
+
error = "This page was loaded outside of a frameset. ";
|
162
|
+
error += "It might not display properly";
|
163
|
+
alert( error );
|
164
|
+
}
|
165
|
+
}
|
166
|
+
}
|
167
|
+
|
168
|
+
</script>
|
169
|
+
|
170
|
+
</head>
|
171
|
+
<body onLoad="init_spell();">
|
172
|
+
|
173
|
+
<script type="text/javascript">
|
174
|
+
wordWindowObj.writeBody();
|
175
|
+
</script>
|
176
|
+
|
177
|
+
</body>
|
178
|
+
</html>
|
179
|
+
EOF
|
180
|
+
|