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.
Files changed (403) hide show
  1. data/bin/Wiki2Go_install_editor.rb +13 -0
  2. data/fckeditor/editor/_source/classes/fckcontextmenu.js +134 -0
  3. data/fckeditor/editor/_source/classes/fckdocumentfragment_gecko.js +46 -0
  4. data/fckeditor/editor/_source/classes/fckdocumentfragment_ie.js +58 -0
  5. data/fckeditor/editor/_source/classes/fckdomrange.js +452 -0
  6. data/fckeditor/editor/_source/classes/fckdomrange_gecko.js +71 -0
  7. data/fckeditor/editor/_source/classes/fckdomrange_ie.js +149 -0
  8. data/fckeditor/editor/_source/classes/fckeditingarea.js +253 -0
  9. data/fckeditor/editor/_source/classes/fckelementpath.js +66 -0
  10. data/fckeditor/editor/_source/classes/fckenterkey.js +556 -0
  11. data/fckeditor/editor/_source/classes/fckevents.js +53 -0
  12. data/fckeditor/editor/_source/classes/fckicon.js +98 -0
  13. data/fckeditor/editor/_source/classes/fckiecleanup.js +68 -0
  14. data/fckeditor/editor/_source/classes/fckimagepreloader.js +68 -0
  15. data/fckeditor/editor/_source/classes/fckkeystrokehandler.js +136 -0
  16. data/fckeditor/editor/_source/classes/fckmenublock.js +143 -0
  17. data/fckeditor/editor/_source/classes/fckmenublockpanel.js +54 -0
  18. data/fckeditor/editor/_source/classes/fckmenuitem.js +160 -0
  19. data/fckeditor/editor/_source/classes/fckpanel.js +303 -0
  20. data/fckeditor/editor/_source/classes/fckplugin.js +56 -0
  21. data/fckeditor/editor/_source/classes/fckspecialcombo.js +363 -0
  22. data/fckeditor/editor/_source/classes/fckstyledef.js +59 -0
  23. data/fckeditor/editor/_source/classes/fckstyledef_gecko.js +119 -0
  24. data/fckeditor/editor/_source/classes/fckstyledef_ie.js +142 -0
  25. data/fckeditor/editor/_source/classes/fckstylesloader.js +88 -0
  26. data/fckeditor/editor/_source/classes/fcktoolbar.js +120 -0
  27. data/fckeditor/editor/_source/classes/fcktoolbarbreak_gecko.js +36 -0
  28. data/fckeditor/editor/_source/classes/fcktoolbarbreak_ie.js +38 -0
  29. data/fckeditor/editor/_source/classes/fcktoolbarbutton.js +74 -0
  30. data/fckeditor/editor/_source/classes/fcktoolbarbuttonui.js +222 -0
  31. data/fckeditor/editor/_source/classes/fcktoolbarfontformatcombo.js +114 -0
  32. data/fckeditor/editor/_source/classes/fcktoolbarfontscombo.js +47 -0
  33. data/fckeditor/editor/_source/classes/fcktoolbarfontsizecombo.js +52 -0
  34. data/fckeditor/editor/_source/classes/fcktoolbarpanelbutton.js +91 -0
  35. data/fckeditor/editor/_source/classes/fcktoolbarspecialcombo.js +134 -0
  36. data/fckeditor/editor/_source/classes/fcktoolbarstylecombo.js +111 -0
  37. data/fckeditor/editor/_source/classes/fckw3crange.js +448 -0
  38. data/fckeditor/editor/_source/classes/fckxml_gecko.js +87 -0
  39. data/fckeditor/editor/_source/classes/fckxml_ie.js +90 -0
  40. data/fckeditor/editor/_source/commandclasses/fck_othercommands.js +380 -0
  41. data/fckeditor/editor/_source/commandclasses/fckfitwindow.js +169 -0
  42. data/fckeditor/editor/_source/commandclasses/fcknamedcommand.js +37 -0
  43. data/fckeditor/editor/_source/commandclasses/fckpasteplaintextcommand.js +38 -0
  44. data/fckeditor/editor/_source/commandclasses/fckpastewordcommand.js +40 -0
  45. data/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_gecko.js +39 -0
  46. data/fckeditor/editor/_source/commandclasses/fckspellcheckcommand_ie.js +67 -0
  47. data/fckeditor/editor/_source/commandclasses/fckstylecommand.js +99 -0
  48. data/fckeditor/editor/_source/commandclasses/fcktablecommand.js +71 -0
  49. data/fckeditor/editor/_source/commandclasses/fcktextcolorcommand.js +175 -0
  50. data/fckeditor/editor/_source/fckconstants.js +52 -0
  51. data/fckeditor/editor/_source/fckeditorapi.js +161 -0
  52. data/fckeditor/editor/_source/fckjscoreextensions.js +152 -0
  53. data/fckeditor/editor/_source/fckscriptloader.js +108 -0
  54. data/fckeditor/editor/_source/internals/fck.js +859 -0
  55. data/fckeditor/editor/_source/internals/fck_contextmenu.js +307 -0
  56. data/fckeditor/editor/_source/internals/fck_gecko.js +254 -0
  57. data/fckeditor/editor/_source/internals/fck_ie.js +383 -0
  58. data/fckeditor/editor/_source/internals/fckbrowserinfo.js +48 -0
  59. data/fckeditor/editor/_source/internals/fckcodeformatter.js +100 -0
  60. data/fckeditor/editor/_source/internals/fckcommands.js +132 -0
  61. data/fckeditor/editor/_source/internals/fckconfig.js +199 -0
  62. data/fckeditor/editor/_source/internals/fckdebug.js +56 -0
  63. data/fckeditor/editor/_source/internals/fckdialog.js +38 -0
  64. data/fckeditor/editor/_source/internals/fckdialog_gecko.js +103 -0
  65. data/fckeditor/editor/_source/internals/fckdialog_ie.js +48 -0
  66. data/fckeditor/editor/_source/internals/fckdocumentprocessor.js +243 -0
  67. data/fckeditor/editor/_source/internals/fckdomtools.js +294 -0
  68. data/fckeditor/editor/_source/internals/fcklanguagemanager.js +161 -0
  69. data/fckeditor/editor/_source/internals/fcklisthandler.js +152 -0
  70. data/fckeditor/editor/_source/internals/fcklistslib.js +60 -0
  71. data/fckeditor/editor/_source/internals/fckplugins.js +46 -0
  72. data/fckeditor/editor/_source/internals/fckregexlib.js +95 -0
  73. data/fckeditor/editor/_source/internals/fckselection.js +24 -0
  74. data/fckeditor/editor/_source/internals/fckselection_gecko.js +151 -0
  75. data/fckeditor/editor/_source/internals/fckselection_ie.js +158 -0
  76. data/fckeditor/editor/_source/internals/fcktablehandler.js +385 -0
  77. data/fckeditor/editor/_source/internals/fcktablehandler_gecko.js +57 -0
  78. data/fckeditor/editor/_source/internals/fcktablehandler_ie.js +58 -0
  79. data/fckeditor/editor/_source/internals/fcktoolbaritems.js +121 -0
  80. data/fckeditor/editor/_source/internals/fcktoolbarset.js +357 -0
  81. data/fckeditor/editor/_source/internals/fcktools.js +225 -0
  82. data/fckeditor/editor/_source/internals/fcktools_gecko.js +235 -0
  83. data/fckeditor/editor/_source/internals/fcktools_ie.js +214 -0
  84. data/fckeditor/editor/_source/internals/fckundo_gecko.js +27 -0
  85. data/fckeditor/editor/_source/internals/fckundo_ie.js +123 -0
  86. data/fckeditor/editor/_source/internals/fckurlparams.js +39 -0
  87. data/fckeditor/editor/_source/internals/fckxhtml.js +466 -0
  88. data/fckeditor/editor/_source/internals/fckxhtml_gecko.js +66 -0
  89. data/fckeditor/editor/_source/internals/fckxhtml_ie.js +194 -0
  90. data/fckeditor/editor/_source/internals/fckxhtmlentities.js +345 -0
  91. data/fckeditor/editor/css/behaviors/disablehandles.htc +15 -0
  92. data/fckeditor/editor/css/behaviors/showtableborders.htc +36 -0
  93. data/fckeditor/editor/css/fck_editorarea.css +91 -0
  94. data/fckeditor/editor/css/fck_internal.css +111 -0
  95. data/fckeditor/editor/css/fck_showtableborders_gecko.css +42 -0
  96. data/fckeditor/editor/css/images/fck_anchor.gif +0 -0
  97. data/fckeditor/editor/css/images/fck_flashlogo.gif +0 -0
  98. data/fckeditor/editor/css/images/fck_hiddenfield.gif +0 -0
  99. data/fckeditor/editor/css/images/fck_pagebreak.gif +0 -0
  100. data/fckeditor/editor/dialog/common/fck_dialog_common.css +83 -0
  101. data/fckeditor/editor/dialog/common/fck_dialog_common.js +154 -0
  102. data/fckeditor/editor/dialog/common/fcknumericfield.htc +24 -0
  103. data/fckeditor/editor/dialog/common/images/locked.gif +0 -0
  104. data/fckeditor/editor/dialog/common/images/reset.gif +0 -0
  105. data/fckeditor/editor/dialog/common/images/unlocked.gif +0 -0
  106. data/fckeditor/editor/dialog/common/moz-bindings.xml +30 -0
  107. data/fckeditor/editor/dialog/fck_about.html +155 -0
  108. data/fckeditor/editor/dialog/fck_about/logo_fckeditor.gif +0 -0
  109. data/fckeditor/editor/dialog/fck_about/logo_fredck.gif +0 -0
  110. data/fckeditor/editor/dialog/fck_anchor.html +227 -0
  111. data/fckeditor/editor/dialog/fck_button.html +107 -0
  112. data/fckeditor/editor/dialog/fck_checkbox.html +107 -0
  113. data/fckeditor/editor/dialog/fck_colorselector.html +171 -0
  114. data/fckeditor/editor/dialog/fck_docprops.html +600 -0
  115. data/fckeditor/editor/dialog/fck_docprops/fck_document_preview.html +113 -0
  116. data/fckeditor/editor/dialog/fck_find.html +173 -0
  117. data/fckeditor/editor/dialog/fck_flash.html +146 -0
  118. data/fckeditor/editor/dialog/fck_flash/fck_flash.js +288 -0
  119. data/fckeditor/editor/dialog/fck_flash/fck_flash_preview.html +46 -0
  120. data/fckeditor/editor/dialog/fck_form.html +105 -0
  121. data/fckeditor/editor/dialog/fck_hiddenfield.html +116 -0
  122. data/fckeditor/editor/dialog/fck_image.html +252 -0
  123. data/fckeditor/editor/dialog/fck_image/fck_image.js +486 -0
  124. data/fckeditor/editor/dialog/fck_image/fck_image_preview.html +66 -0
  125. data/fckeditor/editor/dialog/fck_link.html +293 -0
  126. data/fckeditor/editor/dialog/fck_link/fck_link.js +664 -0
  127. data/fckeditor/editor/dialog/fck_listprop.html +116 -0
  128. data/fckeditor/editor/dialog/fck_paste.html +285 -0
  129. data/fckeditor/editor/dialog/fck_radiobutton.html +107 -0
  130. data/fckeditor/editor/dialog/fck_replace.html +156 -0
  131. data/fckeditor/editor/dialog/fck_select.html +176 -0
  132. data/fckeditor/editor/dialog/fck_select/fck_select.js +169 -0
  133. data/fckeditor/editor/dialog/fck_smiley.html +105 -0
  134. data/fckeditor/editor/dialog/fck_source.html +65 -0
  135. data/fckeditor/editor/dialog/fck_specialchar.html +113 -0
  136. data/fckeditor/editor/dialog/fck_spellerpages.html +64 -0
  137. data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/blank.html +0 -0
  138. data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controlWindow.js +87 -0
  139. data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/controls.html +153 -0
  140. data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.cfm +174 -0
  141. data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php +196 -0
  142. data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.pl +180 -0
  143. data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellChecker.js +462 -0
  144. data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellchecker.html +71 -0
  145. data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/spellerStyle.css +49 -0
  146. data/fckeditor/editor/dialog/fck_spellerpages/spellerpages/wordWindow.js +272 -0
  147. data/fckeditor/editor/dialog/fck_table.html +286 -0
  148. data/fckeditor/editor/dialog/fck_tablecell.html +255 -0
  149. data/fckeditor/editor/dialog/fck_template.html +242 -0
  150. data/fckeditor/editor/dialog/fck_template/images/template1.gif +0 -0
  151. data/fckeditor/editor/dialog/fck_template/images/template2.gif +0 -0
  152. data/fckeditor/editor/dialog/fck_template/images/template3.gif +0 -0
  153. data/fckeditor/editor/dialog/fck_textarea.html +94 -0
  154. data/fckeditor/editor/dialog/fck_textfield.html +139 -0
  155. data/fckeditor/editor/fckdebug.html +153 -0
  156. data/fckeditor/editor/fckdialog.html +324 -0
  157. data/fckeditor/editor/fckeditor.html +227 -0
  158. data/fckeditor/editor/fckeditor.original.html +319 -0
  159. data/fckeditor/editor/filemanager/browser/default/browser.css +88 -0
  160. data/fckeditor/editor/filemanager/browser/default/browser.html +154 -0
  161. data/fckeditor/editor/filemanager/browser/default/connectors/asp/basexml.asp +62 -0
  162. data/fckeditor/editor/filemanager/browser/default/connectors/asp/class_upload.asp +234 -0
  163. data/fckeditor/editor/filemanager/browser/default/connectors/asp/commands.asp +183 -0
  164. data/fckeditor/editor/filemanager/browser/default/connectors/asp/config.asp +49 -0
  165. data/fckeditor/editor/filemanager/browser/default/connectors/asp/connector.asp +124 -0
  166. data/fckeditor/editor/filemanager/browser/default/connectors/asp/io.asp +89 -0
  167. data/fckeditor/editor/filemanager/browser/default/connectors/asp/util.asp +55 -0
  168. data/fckeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx +30 -0
  169. data/fckeditor/editor/filemanager/browser/default/connectors/cfm/config.cfm +99 -0
  170. data/fckeditor/editor/filemanager/browser/default/connectors/cfm/connector.cfm +363 -0
  171. data/fckeditor/editor/filemanager/browser/default/connectors/lasso/config.lasso +65 -0
  172. data/fckeditor/editor/filemanager/browser/default/connectors/lasso/connector.lasso +249 -0
  173. data/fckeditor/editor/filemanager/browser/default/connectors/perl/basexml.pl +63 -0
  174. data/fckeditor/editor/filemanager/browser/default/connectors/perl/commands.pl +158 -0
  175. data/fckeditor/editor/filemanager/browser/default/connectors/perl/connector.cgi +137 -0
  176. data/fckeditor/editor/filemanager/browser/default/connectors/perl/io.pl +131 -0
  177. data/fckeditor/editor/filemanager/browser/default/connectors/perl/upload_fck.pl +667 -0
  178. data/fckeditor/editor/filemanager/browser/default/connectors/perl/util.pl +60 -0
  179. data/fckeditor/editor/filemanager/browser/default/connectors/php/basexml.php +75 -0
  180. data/fckeditor/editor/filemanager/browser/default/connectors/php/commands.php +222 -0
  181. data/fckeditor/editor/filemanager/browser/default/connectors/php/config.php +56 -0
  182. data/fckeditor/editor/filemanager/browser/default/connectors/php/connector.php +113 -0
  183. data/fckeditor/editor/filemanager/browser/default/connectors/php/io.php +101 -0
  184. data/fckeditor/editor/filemanager/browser/default/connectors/php/util.php +41 -0
  185. data/fckeditor/editor/filemanager/browser/default/connectors/py/connector.py +785 -0
  186. data/fckeditor/editor/filemanager/browser/default/connectors/test.html +180 -0
  187. data/fckeditor/editor/filemanager/browser/default/frmactualfolder.html +67 -0
  188. data/fckeditor/editor/filemanager/browser/default/frmcreatefolder.html +113 -0
  189. data/fckeditor/editor/filemanager/browser/default/frmfolders.html +196 -0
  190. data/fckeditor/editor/filemanager/browser/default/frmresourceslist.html +160 -0
  191. data/fckeditor/editor/filemanager/browser/default/frmresourcetype.html +65 -0
  192. data/fckeditor/editor/filemanager/browser/default/frmupload.html +113 -0
  193. data/fckeditor/editor/filemanager/browser/default/images/ButtonArrow.gif +0 -0
  194. data/fckeditor/editor/filemanager/browser/default/images/Folder.gif +0 -0
  195. data/fckeditor/editor/filemanager/browser/default/images/Folder32.gif +0 -0
  196. data/fckeditor/editor/filemanager/browser/default/images/FolderOpened.gif +0 -0
  197. data/fckeditor/editor/filemanager/browser/default/images/FolderOpened32.gif +0 -0
  198. data/fckeditor/editor/filemanager/browser/default/images/FolderUp.gif +0 -0
  199. data/fckeditor/editor/filemanager/browser/default/images/icons/32/ai.gif +0 -0
  200. data/fckeditor/editor/filemanager/browser/default/images/icons/32/avi.gif +0 -0
  201. data/fckeditor/editor/filemanager/browser/default/images/icons/32/bmp.gif +0 -0
  202. data/fckeditor/editor/filemanager/browser/default/images/icons/32/cs.gif +0 -0
  203. data/fckeditor/editor/filemanager/browser/default/images/icons/32/default.icon.gif +0 -0
  204. data/fckeditor/editor/filemanager/browser/default/images/icons/32/dll.gif +0 -0
  205. data/fckeditor/editor/filemanager/browser/default/images/icons/32/doc.gif +0 -0
  206. data/fckeditor/editor/filemanager/browser/default/images/icons/32/exe.gif +0 -0
  207. data/fckeditor/editor/filemanager/browser/default/images/icons/32/fla.gif +0 -0
  208. data/fckeditor/editor/filemanager/browser/default/images/icons/32/gif.gif +0 -0
  209. data/fckeditor/editor/filemanager/browser/default/images/icons/32/htm.gif +0 -0
  210. data/fckeditor/editor/filemanager/browser/default/images/icons/32/html.gif +0 -0
  211. data/fckeditor/editor/filemanager/browser/default/images/icons/32/jpg.gif +0 -0
  212. data/fckeditor/editor/filemanager/browser/default/images/icons/32/js.gif +0 -0
  213. data/fckeditor/editor/filemanager/browser/default/images/icons/32/mdb.gif +0 -0
  214. data/fckeditor/editor/filemanager/browser/default/images/icons/32/mp3.gif +0 -0
  215. data/fckeditor/editor/filemanager/browser/default/images/icons/32/pdf.gif +0 -0
  216. data/fckeditor/editor/filemanager/browser/default/images/icons/32/png.gif +0 -0
  217. data/fckeditor/editor/filemanager/browser/default/images/icons/32/ppt.gif +0 -0
  218. data/fckeditor/editor/filemanager/browser/default/images/icons/32/rdp.gif +0 -0
  219. data/fckeditor/editor/filemanager/browser/default/images/icons/32/swf.gif +0 -0
  220. data/fckeditor/editor/filemanager/browser/default/images/icons/32/swt.gif +0 -0
  221. data/fckeditor/editor/filemanager/browser/default/images/icons/32/txt.gif +0 -0
  222. data/fckeditor/editor/filemanager/browser/default/images/icons/32/vsd.gif +0 -0
  223. data/fckeditor/editor/filemanager/browser/default/images/icons/32/xls.gif +0 -0
  224. data/fckeditor/editor/filemanager/browser/default/images/icons/32/xml.gif +0 -0
  225. data/fckeditor/editor/filemanager/browser/default/images/icons/32/zip.gif +0 -0
  226. data/fckeditor/editor/filemanager/browser/default/images/icons/ai.gif +0 -0
  227. data/fckeditor/editor/filemanager/browser/default/images/icons/avi.gif +0 -0
  228. data/fckeditor/editor/filemanager/browser/default/images/icons/bmp.gif +0 -0
  229. data/fckeditor/editor/filemanager/browser/default/images/icons/cs.gif +0 -0
  230. data/fckeditor/editor/filemanager/browser/default/images/icons/default.icon.gif +0 -0
  231. data/fckeditor/editor/filemanager/browser/default/images/icons/dll.gif +0 -0
  232. data/fckeditor/editor/filemanager/browser/default/images/icons/doc.gif +0 -0
  233. data/fckeditor/editor/filemanager/browser/default/images/icons/exe.gif +0 -0
  234. data/fckeditor/editor/filemanager/browser/default/images/icons/fla.gif +0 -0
  235. data/fckeditor/editor/filemanager/browser/default/images/icons/gif.gif +0 -0
  236. data/fckeditor/editor/filemanager/browser/default/images/icons/htm.gif +0 -0
  237. data/fckeditor/editor/filemanager/browser/default/images/icons/html.gif +0 -0
  238. data/fckeditor/editor/filemanager/browser/default/images/icons/jpg.gif +0 -0
  239. data/fckeditor/editor/filemanager/browser/default/images/icons/js.gif +0 -0
  240. data/fckeditor/editor/filemanager/browser/default/images/icons/mdb.gif +0 -0
  241. data/fckeditor/editor/filemanager/browser/default/images/icons/mp3.gif +0 -0
  242. data/fckeditor/editor/filemanager/browser/default/images/icons/pdf.gif +0 -0
  243. data/fckeditor/editor/filemanager/browser/default/images/icons/png.gif +0 -0
  244. data/fckeditor/editor/filemanager/browser/default/images/icons/ppt.gif +0 -0
  245. data/fckeditor/editor/filemanager/browser/default/images/icons/rdp.gif +0 -0
  246. data/fckeditor/editor/filemanager/browser/default/images/icons/swf.gif +0 -0
  247. data/fckeditor/editor/filemanager/browser/default/images/icons/swt.gif +0 -0
  248. data/fckeditor/editor/filemanager/browser/default/images/icons/txt.gif +0 -0
  249. data/fckeditor/editor/filemanager/browser/default/images/icons/vsd.gif +0 -0
  250. data/fckeditor/editor/filemanager/browser/default/images/icons/xls.gif +0 -0
  251. data/fckeditor/editor/filemanager/browser/default/images/icons/xml.gif +0 -0
  252. data/fckeditor/editor/filemanager/browser/default/images/icons/zip.gif +0 -0
  253. data/fckeditor/editor/filemanager/browser/default/images/spacer.gif +0 -0
  254. data/fckeditor/editor/filemanager/browser/default/js/common.js +55 -0
  255. data/fckeditor/editor/filemanager/browser/default/js/fckxml.js +130 -0
  256. data/fckeditor/editor/filemanager/upload/asp/class_upload.asp +234 -0
  257. data/fckeditor/editor/filemanager/upload/asp/config.asp +52 -0
  258. data/fckeditor/editor/filemanager/upload/asp/io.asp +29 -0
  259. data/fckeditor/editor/filemanager/upload/asp/upload.asp +121 -0
  260. data/fckeditor/editor/filemanager/upload/aspx/upload.aspx +30 -0
  261. data/fckeditor/editor/filemanager/upload/cfm/config.cfm +98 -0
  262. data/fckeditor/editor/filemanager/upload/cfm/upload.cfm +168 -0
  263. data/fckeditor/editor/filemanager/upload/lasso/config.lasso +65 -0
  264. data/fckeditor/editor/filemanager/upload/lasso/upload.lasso +157 -0
  265. data/fckeditor/editor/filemanager/upload/php/config.php +56 -0
  266. data/fckeditor/editor/filemanager/upload/php/upload.php +124 -0
  267. data/fckeditor/editor/filemanager/upload/php/util.php +40 -0
  268. data/fckeditor/editor/filemanager/upload/test.html +133 -0
  269. data/fckeditor/editor/images/anchor.gif +0 -0
  270. data/fckeditor/editor/images/arrow_ltr.gif +0 -0
  271. data/fckeditor/editor/images/arrow_rtl.gif +0 -0
  272. data/fckeditor/editor/images/smiley/msn/angel_smile.gif +0 -0
  273. data/fckeditor/editor/images/smiley/msn/angry_smile.gif +0 -0
  274. data/fckeditor/editor/images/smiley/msn/broken_heart.gif +0 -0
  275. data/fckeditor/editor/images/smiley/msn/cake.gif +0 -0
  276. data/fckeditor/editor/images/smiley/msn/confused_smile.gif +0 -0
  277. data/fckeditor/editor/images/smiley/msn/cry_smile.gif +0 -0
  278. data/fckeditor/editor/images/smiley/msn/devil_smile.gif +0 -0
  279. data/fckeditor/editor/images/smiley/msn/embaressed_smile.gif +0 -0
  280. data/fckeditor/editor/images/smiley/msn/envelope.gif +0 -0
  281. data/fckeditor/editor/images/smiley/msn/heart.gif +0 -0
  282. data/fckeditor/editor/images/smiley/msn/kiss.gif +0 -0
  283. data/fckeditor/editor/images/smiley/msn/lightbulb.gif +0 -0
  284. data/fckeditor/editor/images/smiley/msn/omg_smile.gif +0 -0
  285. data/fckeditor/editor/images/smiley/msn/regular_smile.gif +0 -0
  286. data/fckeditor/editor/images/smiley/msn/sad_smile.gif +0 -0
  287. data/fckeditor/editor/images/smiley/msn/shades_smile.gif +0 -0
  288. data/fckeditor/editor/images/smiley/msn/teeth_smile.gif +0 -0
  289. data/fckeditor/editor/images/smiley/msn/thumbs_down.gif +0 -0
  290. data/fckeditor/editor/images/smiley/msn/thumbs_up.gif +0 -0
  291. data/fckeditor/editor/images/smiley/msn/tounge_smile.gif +0 -0
  292. data/fckeditor/editor/images/smiley/msn/whatchutalkingabout_smile.gif +0 -0
  293. data/fckeditor/editor/images/smiley/msn/wink_smile.gif +0 -0
  294. data/fckeditor/editor/images/spacer.gif +0 -0
  295. data/fckeditor/editor/js/fckeditorcode_gecko.js +98 -0
  296. data/fckeditor/editor/js/fckeditorcode_ie.js +99 -0
  297. data/fckeditor/editor/lang/_getfontformat.html +85 -0
  298. data/fckeditor/editor/lang/_translationstatus.txt +76 -0
  299. data/fckeditor/editor/lang/af.js +504 -0
  300. data/fckeditor/editor/lang/ar.js +504 -0
  301. data/fckeditor/editor/lang/bg.js +504 -0
  302. data/fckeditor/editor/lang/bn.js +504 -0
  303. data/fckeditor/editor/lang/bs.js +504 -0
  304. data/fckeditor/editor/lang/ca.js +504 -0
  305. data/fckeditor/editor/lang/cs.js +504 -0
  306. data/fckeditor/editor/lang/da.js +504 -0
  307. data/fckeditor/editor/lang/de.js +504 -0
  308. data/fckeditor/editor/lang/el.js +504 -0
  309. data/fckeditor/editor/lang/en-au.js +504 -0
  310. data/fckeditor/editor/lang/en-ca.js +504 -0
  311. data/fckeditor/editor/lang/en-uk.js +504 -0
  312. data/fckeditor/editor/lang/en.js +504 -0
  313. data/fckeditor/editor/lang/eo.js +504 -0
  314. data/fckeditor/editor/lang/es.js +504 -0
  315. data/fckeditor/editor/lang/et.js +504 -0
  316. data/fckeditor/editor/lang/eu.js +505 -0
  317. data/fckeditor/editor/lang/fa.js +504 -0
  318. data/fckeditor/editor/lang/fi.js +504 -0
  319. data/fckeditor/editor/lang/fo.js +504 -0
  320. data/fckeditor/editor/lang/fr.js +504 -0
  321. data/fckeditor/editor/lang/gl.js +504 -0
  322. data/fckeditor/editor/lang/he.js +504 -0
  323. data/fckeditor/editor/lang/hi.js +504 -0
  324. data/fckeditor/editor/lang/hr.js +504 -0
  325. data/fckeditor/editor/lang/hu.js +504 -0
  326. data/fckeditor/editor/lang/it.js +504 -0
  327. data/fckeditor/editor/lang/ja.js +504 -0
  328. data/fckeditor/editor/lang/km.js +504 -0
  329. data/fckeditor/editor/lang/ko.js +504 -0
  330. data/fckeditor/editor/lang/lt.js +504 -0
  331. data/fckeditor/editor/lang/lv.js +504 -0
  332. data/fckeditor/editor/lang/mn.js +504 -0
  333. data/fckeditor/editor/lang/ms.js +504 -0
  334. data/fckeditor/editor/lang/nb.js +504 -0
  335. data/fckeditor/editor/lang/nl.js +504 -0
  336. data/fckeditor/editor/lang/no.js +504 -0
  337. data/fckeditor/editor/lang/pl.js +504 -0
  338. data/fckeditor/editor/lang/pt-br.js +504 -0
  339. data/fckeditor/editor/lang/pt.js +504 -0
  340. data/fckeditor/editor/lang/ro.js +504 -0
  341. data/fckeditor/editor/lang/ru.js +504 -0
  342. data/fckeditor/editor/lang/sk.js +504 -0
  343. data/fckeditor/editor/lang/sl.js +504 -0
  344. data/fckeditor/editor/lang/sr-latn.js +504 -0
  345. data/fckeditor/editor/lang/sr.js +504 -0
  346. data/fckeditor/editor/lang/sv.js +504 -0
  347. data/fckeditor/editor/lang/th.js +504 -0
  348. data/fckeditor/editor/lang/tr.js +504 -0
  349. data/fckeditor/editor/lang/uk.js +504 -0
  350. data/fckeditor/editor/lang/vi.js +504 -0
  351. data/fckeditor/editor/lang/zh-cn.js +504 -0
  352. data/fckeditor/editor/lang/zh.js +504 -0
  353. data/fckeditor/editor/plugins/autogrow/fckplugin.js +92 -0
  354. data/fckeditor/editor/plugins/placeholder/fck_placeholder.html +100 -0
  355. data/fckeditor/editor/plugins/placeholder/fckplugin.js +187 -0
  356. data/fckeditor/editor/plugins/placeholder/lang/de.js +27 -0
  357. data/fckeditor/editor/plugins/placeholder/lang/en.js +27 -0
  358. data/fckeditor/editor/plugins/placeholder/lang/fr.js +27 -0
  359. data/fckeditor/editor/plugins/placeholder/lang/it.js +27 -0
  360. data/fckeditor/editor/plugins/placeholder/lang/pl.js +27 -0
  361. data/fckeditor/editor/plugins/placeholder/placeholder.gif +0 -0
  362. data/fckeditor/editor/plugins/simplecommands/fckplugin.js +29 -0
  363. data/fckeditor/editor/plugins/tablecommands/fckplugin.js +32 -0
  364. data/fckeditor/editor/skins/_fckviewstrips.html +121 -0
  365. data/fckeditor/editor/skins/default/fck_dialog.css +137 -0
  366. data/fckeditor/editor/skins/default/fck_editor.css +464 -0
  367. data/fckeditor/editor/skins/default/fck_strip.gif +0 -0
  368. data/fckeditor/editor/skins/default/images/toolbar.arrowright.gif +0 -0
  369. data/fckeditor/editor/skins/default/images/toolbar.buttonarrow.gif +0 -0
  370. data/fckeditor/editor/skins/default/images/toolbar.collapse.gif +0 -0
  371. data/fckeditor/editor/skins/default/images/toolbar.end.gif +0 -0
  372. data/fckeditor/editor/skins/default/images/toolbar.expand.gif +0 -0
  373. data/fckeditor/editor/skins/default/images/toolbar.separator.gif +0 -0
  374. data/fckeditor/editor/skins/default/images/toolbar.start.gif +0 -0
  375. data/fckeditor/editor/skins/office2003/fck_dialog.css +138 -0
  376. data/fckeditor/editor/skins/office2003/fck_editor.css +476 -0
  377. data/fckeditor/editor/skins/office2003/fck_strip.gif +0 -0
  378. data/fckeditor/editor/skins/office2003/images/toolbar.arrowright.gif +0 -0
  379. data/fckeditor/editor/skins/office2003/images/toolbar.bg.gif +0 -0
  380. data/fckeditor/editor/skins/office2003/images/toolbar.buttonarrow.gif +0 -0
  381. data/fckeditor/editor/skins/office2003/images/toolbar.collapse.gif +0 -0
  382. data/fckeditor/editor/skins/office2003/images/toolbar.end.gif +0 -0
  383. data/fckeditor/editor/skins/office2003/images/toolbar.expand.gif +0 -0
  384. data/fckeditor/editor/skins/office2003/images/toolbar.separator.gif +0 -0
  385. data/fckeditor/editor/skins/office2003/images/toolbar.start.gif +0 -0
  386. data/fckeditor/editor/skins/silver/fck_dialog.css +141 -0
  387. data/fckeditor/editor/skins/silver/fck_editor.css +473 -0
  388. data/fckeditor/editor/skins/silver/fck_strip.gif +0 -0
  389. data/fckeditor/editor/skins/silver/images/toolbar.arrowright.gif +0 -0
  390. data/fckeditor/editor/skins/silver/images/toolbar.buttonarrow.gif +0 -0
  391. data/fckeditor/editor/skins/silver/images/toolbar.buttonbg.gif +0 -0
  392. data/fckeditor/editor/skins/silver/images/toolbar.collapse.gif +0 -0
  393. data/fckeditor/editor/skins/silver/images/toolbar.end.gif +0 -0
  394. data/fckeditor/editor/skins/silver/images/toolbar.expand.gif +0 -0
  395. data/fckeditor/editor/skins/silver/images/toolbar.separator.gif +0 -0
  396. data/fckeditor/editor/skins/silver/images/toolbar.start.gif +0 -0
  397. data/fckeditor/fckconfig.js +224 -0
  398. data/fckeditor/fckeditor.js +214 -0
  399. data/fckeditor/fckstyles.xml +53 -0
  400. data/fckeditor/fcktemplates.xml +103 -0
  401. data/lib/Wiki2GoEditor/Install/editor.rb +39 -0
  402. data/test/test_install.rb +40 -0
  403. 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 &amp;. 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 ;