Wiki2GoEditor 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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 ;