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,66 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
+ <!--
3
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
4
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben
5
+ *
6
+ * == BEGIN LICENSE ==
7
+ *
8
+ * Licensed under the terms of any of the following licenses at your
9
+ * choice:
10
+ *
11
+ * - GNU General Public License Version 2 or later (the "GPL")
12
+ * http://www.gnu.org/licenses/gpl.html
13
+ *
14
+ * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
15
+ * http://www.gnu.org/licenses/lgpl.html
16
+ *
17
+ * - Mozilla Public License Version 1.1 or later (the "MPL")
18
+ * http://www.mozilla.org/MPL/MPL-1.1.html
19
+ *
20
+ * == END LICENSE ==
21
+ *
22
+ * Preview page for the Image dialog window.
23
+ *
24
+ * Curiosity: http://en.wikipedia.org/wiki/Lorem_ipsum
25
+ -->
26
+ <html xmlns="http://www.w3.org/1999/xhtml">
27
+ <head>
28
+ <title></title>
29
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
30
+ <meta name="robots" content="noindex, nofollow" />
31
+ <link href="../common/fck_dialog_common.css" rel="stylesheet" type="text/css" />
32
+ <script type="text/javascript">
33
+
34
+ // Sets the Skin CSS
35
+ document.write( '<link href="' + window.parent.FCKConfig.SkinPath + 'fck_dialog.css" type="text/css" rel="stylesheet">' ) ;
36
+
37
+ if ( window.parent.FCKConfig.BaseHref.length > 0 )
38
+ document.write( '<base href="' + window.parent.FCKConfig.BaseHref + '">' ) ;
39
+
40
+ window.onload = function()
41
+ {
42
+ window.parent.SetPreviewElements(
43
+ document.getElementById( 'imgPreview' ),
44
+ document.getElementById( 'lnkPreview' ) ) ;
45
+ }
46
+
47
+ </script>
48
+ </head>
49
+ <body style="color: #000000; background-color: #ffffff">
50
+ <a id="lnkPreview" onclick="return false;" style="cursor: default">
51
+ <img id="imgPreview" onload="window.parent.UpdateOriginal();" style="display: none" /></a>Lorem
52
+ ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas feugiat consequat diam.
53
+ Maecenas metus. Vivamus diam purus, cursus a, commodo non, facilisis vitae, nulla.
54
+ Aenean dictum lacinia tortor. Nunc iaculis, nibh non iaculis aliquam, orci felis
55
+ euismod neque, sed ornare massa mauris sed velit. Nulla pretium mi et risus. Fusce
56
+ mi pede, tempor id, cursus ac, ullamcorper nec, enim. Sed tortor. Curabitur molestie.
57
+ Duis velit augue, condimentum at, ultrices a, luctus ut, orci. Donec pellentesque
58
+ egestas eros. Integer cursus, augue in cursus faucibus, eros pede bibendum sem,
59
+ in tempus tellus justo quis ligula. Etiam eget tortor. Vestibulum rutrum, est ut
60
+ placerat elementum, lectus nisl aliquam velit, tempor aliquam eros nunc nonummy
61
+ metus. In eros metus, gravida a, gravida sed, lobortis id, turpis. Ut ultrices,
62
+ ipsum at venenatis fringilla, sem nulla lacinia tellus, eget aliquet turpis mauris
63
+ non enim. Nam turpis. Suspendisse lacinia. Curabitur ac tortor ut ipsum egestas
64
+ elementum. Nunc imperdiet gravida mauris.
65
+ </body>
66
+ </html>
@@ -0,0 +1,293 @@
1
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
+ <!--
3
+ * FCKeditor - The text editor for Internet - http://www.fckeditor.net
4
+ * Copyright (C) 2003-2007 Frederico Caldeira Knabben
5
+ *
6
+ * == BEGIN LICENSE ==
7
+ *
8
+ * Licensed under the terms of any of the following licenses at your
9
+ * choice:
10
+ *
11
+ * - GNU General Public License Version 2 or later (the "GPL")
12
+ * http://www.gnu.org/licenses/gpl.html
13
+ *
14
+ * - GNU Lesser General Public License Version 2.1 or later (the "LGPL")
15
+ * http://www.gnu.org/licenses/lgpl.html
16
+ *
17
+ * - Mozilla Public License Version 1.1 or later (the "MPL")
18
+ * http://www.mozilla.org/MPL/MPL-1.1.html
19
+ *
20
+ * == END LICENSE ==
21
+ *
22
+ * Link dialog window.
23
+ -->
24
+ <html>
25
+ <head>
26
+ <title>Link Properties</title>
27
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
28
+ <meta name="robots" content="noindex, nofollow" />
29
+ <script src="common/fck_dialog_common.js" type="text/javascript"></script>
30
+ <script src="fck_link/fck_link.js" type="text/javascript"></script>
31
+ </head>
32
+ <body scroll="no" style="OVERFLOW: hidden">
33
+ <div id="divInfo" style="DISPLAY: none">
34
+ <span fckLang="DlgLnkType">Link Type</span><br />
35
+ <select id="cmbLinkType" onchange="SetLinkType(this.value);">
36
+ <option value="url" fckLang="DlgLnkTypeURL" selected="selected">URL</option>
37
+ <option value="anchor" fckLang="DlgLnkTypeAnchor">Anchor in this page</option>
38
+ <option value="email" fckLang="DlgLnkTypeEMail">E-Mail</option>
39
+ </select>
40
+ <br />
41
+ <br />
42
+ <div id="divLinkTypeUrl">
43
+ <table cellspacing="0" cellpadding="0" width="100%" border="0" dir="ltr">
44
+ <tr>
45
+ <td nowrap="nowrap">
46
+ <span fckLang="DlgLnkProto">Protocol</span><br />
47
+ <select id="cmbLinkProtocol">
48
+ <option value="http://" selected="selected">http://</option>
49
+ <option value="https://">https://</option>
50
+ <option value="ftp://">ftp://</option>
51
+ <option value="news://">news://</option>
52
+ <option value="" fckLang="DlgLnkProtoOther">&lt;other&gt;</option>
53
+ </select>
54
+ </td>
55
+ <td nowrap="nowrap">&nbsp;</td>
56
+ <td nowrap="nowrap" width="100%">
57
+ <span fckLang="DlgLnkURL">URL</span><br />
58
+ <input id="txtUrl" style="WIDTH: 100%" type="text" onkeyup="OnUrlChange();" onchange="OnUrlChange();" />
59
+ </td>
60
+ </tr>
61
+ </table>
62
+ <br />
63
+ <div id="divBrowseServer">
64
+ <input type="button" value="Browse Server" fckLang="DlgBtnBrowseServer" onclick="BrowseServer();" />
65
+ </div>
66
+ </div>
67
+ <div id="divLinkTypeAnchor" style="DISPLAY: none" align="center">
68
+ <div id="divSelAnchor" style="DISPLAY: none">
69
+ <table cellspacing="0" cellpadding="0" border="0" width="70%">
70
+ <tr>
71
+ <td colspan="3">
72
+ <span fckLang="DlgLnkAnchorSel">Select an Anchor</span>
73
+ </td>
74
+ </tr>
75
+ <tr>
76
+ <td width="50%">
77
+ <span fckLang="DlgLnkAnchorByName">By Anchor Name</span><br />
78
+ <select id="cmbAnchorName" onchange="GetE('cmbAnchorId').value='';" style="WIDTH: 100%">
79
+ <option value="" selected="selected"></option>
80
+ </select>
81
+ </td>
82
+ <td>&nbsp;&nbsp;&nbsp;</td>
83
+ <td width="50%">
84
+ <span fckLang="DlgLnkAnchorById">By Element Id</span><br />
85
+ <select id="cmbAnchorId" onchange="GetE('cmbAnchorName').value='';" style="WIDTH: 100%">
86
+ <option value="" selected="selected"></option>
87
+ </select>
88
+ </td>
89
+ </tr>
90
+ </table>
91
+ </div>
92
+ <div id="divNoAnchor" style="DISPLAY: none">
93
+ <span fckLang="DlgLnkNoAnchors">&lt;No anchors available in the document&gt;</span>
94
+ </div>
95
+ </div>
96
+ <div id="divLinkTypeEMail" style="DISPLAY: none">
97
+ <span fckLang="DlgLnkEMail">E-Mail Address</span><br />
98
+ <input id="txtEMailAddress" style="WIDTH: 100%" type="text" /><br />
99
+ <span fckLang="DlgLnkEMailSubject">Message Subject</span><br />
100
+ <input id="txtEMailSubject" style="WIDTH: 100%" type="text" /><br />
101
+ <span fckLang="DlgLnkEMailBody">Message Body</span><br />
102
+ <textarea id="txtEMailBody" style="WIDTH: 100%" rows="3" cols="20"></textarea>
103
+ </div>
104
+ </div>
105
+ <div id="divUpload" style="DISPLAY: none">
106
+ <form id="frmUpload" method="post" target="UploadWindow" enctype="multipart/form-data" action="" onsubmit="return CheckUpload();">
107
+ <span fckLang="DlgLnkUpload">Upload</span><br />
108
+ <input id="txtUploadFile" style="WIDTH: 100%" type="file" size="40" name="NewFile" /><br />
109
+ <br />
110
+ <input id="btnUpload" type="submit" value="Send it to the Server" fckLang="DlgLnkBtnUpload" />
111
+ <iframe name="UploadWindow" style="DISPLAY: none" src="javascript:void(0)"></iframe>
112
+ </form>
113
+ </div>
114
+ <div id="divTarget" style="DISPLAY: none">
115
+ <table cellspacing="0" cellpadding="0" width="100%" border="0">
116
+ <tr>
117
+ <td nowrap="nowrap">
118
+ <span fckLang="DlgLnkTarget">Target</span><br />
119
+ <select id="cmbTarget" onchange="SetTarget(this.value);">
120
+ <option value="" fckLang="DlgGenNotSet" selected="selected">&lt;not set&gt;</option>
121
+ <option value="frame" fckLang="DlgLnkTargetFrame">&lt;frame&gt;</option>
122
+ <option value="popup" fckLang="DlgLnkTargetPopup">&lt;popup window&gt;</option>
123
+ <option value="_blank" fckLang="DlgLnkTargetBlank">New Window (_blank)</option>
124
+ <option value="_top" fckLang="DlgLnkTargetTop">Topmost Window (_top)</option>
125
+ <option value="_self" fckLang="DlgLnkTargetSelf">Same Window (_self)</option>
126
+ <option value="_parent" fckLang="DlgLnkTargetParent">Parent Window (_parent)</option>
127
+ </select>
128
+ </td>
129
+ <td>&nbsp;</td>
130
+ <td id="tdTargetFrame" nowrap="nowrap" width="100%">
131
+ <span fckLang="DlgLnkTargetFrameName">Target Frame Name</span><br />
132
+ <input id="txtTargetFrame" style="WIDTH: 100%" type="text" onkeyup="OnTargetNameChange();"
133
+ onchange="OnTargetNameChange();" />
134
+ </td>
135
+ <td id="tdPopupName" style="DISPLAY: none" nowrap="nowrap" width="100%">
136
+ <span fckLang="DlgLnkPopWinName">Popup Window Name</span><br />
137
+ <input id="txtPopupName" style="WIDTH: 100%" type="text" />
138
+ </td>
139
+ </tr>
140
+ </table>
141
+ <br />
142
+ <table id="tablePopupFeatures" style="DISPLAY: none" cellspacing="0" cellpadding="0" align="center"
143
+ border="0">
144
+ <tr>
145
+ <td>
146
+ <span fckLang="DlgLnkPopWinFeat">Popup Window Features</span><br />
147
+ <table cellspacing="0" cellpadding="0" border="0">
148
+ <tr>
149
+ <td valign="top" nowrap="nowrap" width="50%">
150
+ <input id="chkPopupResizable" name="chkFeature" value="resizable" type="checkbox" /><label for="chkPopupResizable" fckLang="DlgLnkPopResize">Resizable</label><br />
151
+ <input id="chkPopupLocationBar" name="chkFeature" value="location" type="checkbox" /><label for="chkPopupLocationBar" fckLang="DlgLnkPopLocation">Location
152
+ Bar</label><br />
153
+ <input id="chkPopupManuBar" name="chkFeature" value="menubar" type="checkbox" /><label for="chkPopupManuBar" fckLang="DlgLnkPopMenu">Menu
154
+ Bar</label><br />
155
+ <input id="chkPopupScrollBars" name="chkFeature" value="scrollbars" type="checkbox" /><label for="chkPopupScrollBars" fckLang="DlgLnkPopScroll">Scroll
156
+ Bars</label>
157
+ </td>
158
+ <td></td>
159
+ <td valign="top" nowrap="nowrap" width="50%">
160
+ <input id="chkPopupStatusBar" name="chkFeature" value="status" type="checkbox" /><label for="chkPopupStatusBar" fckLang="DlgLnkPopStatus">Status
161
+ Bar</label><br />
162
+ <input id="chkPopupToolbar" name="chkFeature" value="toolbar" type="checkbox" /><label for="chkPopupToolbar" fckLang="DlgLnkPopToolbar">Toolbar</label><br />
163
+ <input id="chkPopupFullScreen" name="chkFeature" value="fullscreen" type="checkbox" /><label for="chkPopupFullScreen" fckLang="DlgLnkPopFullScrn">Full
164
+ Screen (IE)</label><br />
165
+ <input id="chkPopupDependent" name="chkFeature" value="dependent" type="checkbox" /><label for="chkPopupDependent" fckLang="DlgLnkPopDependent">Dependent
166
+ (Netscape)</label>
167
+ </td>
168
+ </tr>
169
+ <tr>
170
+ <td valign="top" nowrap="nowrap" width="50%">&nbsp;</td>
171
+ <td></td>
172
+ <td valign="top" nowrap="nowrap" width="50%"></td>
173
+ </tr>
174
+ <tr>
175
+ <td valign="top">
176
+ <table cellspacing="0" cellpadding="0" border="0">
177
+ <tr>
178
+ <td nowrap="nowrap"><span fckLang="DlgLnkPopWidth">Width</span></td>
179
+ <td>&nbsp;<input id="txtPopupWidth" type="text" maxlength="4" size="4" /></td>
180
+ </tr>
181
+ <tr>
182
+ <td nowrap="nowrap"><span fckLang="DlgLnkPopHeight">Height</span></td>
183
+ <td>&nbsp;<input id="txtPopupHeight" type="text" maxlength="4" size="4" /></td>
184
+ </tr>
185
+ </table>
186
+ </td>
187
+ <td>&nbsp;&nbsp;</td>
188
+ <td valign="top">
189
+ <table cellspacing="0" cellpadding="0" border="0">
190
+ <tr>
191
+ <td nowrap="nowrap"><span fckLang="DlgLnkPopLeft">Left Position</span></td>
192
+ <td>&nbsp;<input id="txtPopupLeft" type="text" maxlength="4" size="4" /></td>
193
+ </tr>
194
+ <tr>
195
+ <td nowrap="nowrap"><span fckLang="DlgLnkPopTop">Top Position</span></td>
196
+ <td>&nbsp;<input id="txtPopupTop" type="text" maxlength="4" size="4" /></td>
197
+ </tr>
198
+ </table>
199
+ </td>
200
+ </tr>
201
+ </table>
202
+ </td>
203
+ </tr>
204
+ </table>
205
+ </div>
206
+ <div id="divAttribs" style="DISPLAY: none">
207
+ <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
208
+ <tr>
209
+ <td valign="top" width="50%">
210
+ <span fckLang="DlgGenId">Id</span><br />
211
+ <input id="txtAttId" style="WIDTH: 100%" type="text" />
212
+ </td>
213
+ <td width="1"></td>
214
+ <td valign="top">
215
+ <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
216
+ <tr>
217
+ <td width="60%">
218
+ <span fckLang="DlgGenLangDir">Language Direction</span><br />
219
+ <select id="cmbAttLangDir" style="WIDTH: 100%">
220
+ <option value="" fckLang="DlgGenNotSet" selected>&lt;not set&gt;</option>
221
+ <option value="ltr" fckLang="DlgGenLangDirLtr">Left to Right (LTR)</option>
222
+ <option value="rtl" fckLang="DlgGenLangDirRtl">Right to Left (RTL)</option>
223
+ </select>
224
+ </td>
225
+ <td width="1%">&nbsp;&nbsp;&nbsp;</td>
226
+ <td nowrap="nowrap"><span fckLang="DlgGenAccessKey">Access Key</span><br />
227
+ <input id="txtAttAccessKey" style="WIDTH: 100%" type="text" maxlength="1" size="1" />
228
+ </td>
229
+ </tr>
230
+ </table>
231
+ </td>
232
+ </tr>
233
+ <tr>
234
+ <td valign="top" width="50%">
235
+ <span fckLang="DlgGenName">Name</span><br />
236
+ <input id="txtAttName" style="WIDTH: 100%" type="text" />
237
+ </td>
238
+ <td width="1"></td>
239
+ <td valign="top">
240
+ <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
241
+ <tr>
242
+ <td width="60%">
243
+ <span fckLang="DlgGenLangCode">Language Code</span><br />
244
+ <input id="txtAttLangCode" style="WIDTH: 100%" type="text" />
245
+ </td>
246
+ <td width="1%">&nbsp;&nbsp;&nbsp;</td>
247
+ <td nowrap="nowrap">
248
+ <span fckLang="DlgGenTabIndex">Tab Index</span><br />
249
+ <input id="txtAttTabIndex" style="WIDTH: 100%" type="text" maxlength="5" size="5" />
250
+ </td>
251
+ </tr>
252
+ </table>
253
+ </td>
254
+ </tr>
255
+ <tr>
256
+ <td valign="top" width="50%">&nbsp;</td>
257
+ <td width="1"></td>
258
+ <td valign="top"></td>
259
+ </tr>
260
+ <tr>
261
+ <td valign="top" width="50%">
262
+ <span fckLang="DlgGenTitle">Advisory Title</span><br />
263
+ <input id="txtAttTitle" style="WIDTH: 100%" type="text" />
264
+ </td>
265
+ <td width="1">&nbsp;&nbsp;&nbsp;</td>
266
+ <td valign="top">
267
+ <span fckLang="DlgGenContType">Advisory Content Type</span><br />
268
+ <input id="txtAttContentType" style="WIDTH: 100%" type="text" />
269
+ </td>
270
+ </tr>
271
+ <tr>
272
+ <td valign="top">
273
+ <span fckLang="DlgGenClass">Stylesheet Classes</span><br />
274
+ <input id="txtAttClasses" style="WIDTH: 100%" type="text" />
275
+ </td>
276
+ <td></td>
277
+ <td valign="top">
278
+ <span fckLang="DlgGenLinkCharset">Linked Resource Charset</span><br />
279
+ <input id="txtAttCharSet" style="WIDTH: 100%" type="text" />
280
+ </td>
281
+ </tr>
282
+ </table>
283
+ <table cellspacing="0" cellpadding="0" width="100%" align="center" border="0">
284
+ <tr>
285
+ <td>
286
+ <span fckLang="DlgGenStyle">Style</span><br />
287
+ <input id="txtAttStyle" style="WIDTH: 100%" type="text" />
288
+ </td>
289
+ </tr>
290
+ </table>
291
+ </div>
292
+ </body>
293
+ </html>
@@ -0,0 +1,664 @@
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
+ * Scripts related to the Link dialog window (see fck_link.html).
22
+ */
23
+
24
+ var oEditor = window.parent.InnerDialogLoaded() ;
25
+ var FCK = oEditor.FCK ;
26
+ var FCKLang = oEditor.FCKLang ;
27
+ var FCKConfig = oEditor.FCKConfig ;
28
+ var FCKRegexLib = oEditor.FCKRegexLib ;
29
+
30
+ //#### Dialog Tabs
31
+
32
+ // Set the dialog tabs.
33
+ window.parent.AddTab( 'Info', FCKLang.DlgLnkInfoTab ) ;
34
+
35
+ if ( !FCKConfig.LinkDlgHideTarget )
36
+ window.parent.AddTab( 'Target', FCKLang.DlgLnkTargetTab, true ) ;
37
+
38
+ if ( FCKConfig.LinkUpload )
39
+ window.parent.AddTab( 'Upload', FCKLang.DlgLnkUpload, true ) ;
40
+
41
+ if ( !FCKConfig.LinkDlgHideAdvanced )
42
+ window.parent.AddTab( 'Advanced', FCKLang.DlgAdvancedTag ) ;
43
+
44
+ // Function called when a dialog tag is selected.
45
+ function OnDialogTabChange( tabCode )
46
+ {
47
+ ShowE('divInfo' , ( tabCode == 'Info' ) ) ;
48
+ ShowE('divTarget' , ( tabCode == 'Target' ) ) ;
49
+ ShowE('divUpload' , ( tabCode == 'Upload' ) ) ;
50
+ ShowE('divAttribs' , ( tabCode == 'Advanced' ) ) ;
51
+
52
+ window.parent.SetAutoSize( true ) ;
53
+ }
54
+
55
+ //#### Regular Expressions library.
56
+ var oRegex = new Object() ;
57
+
58
+ oRegex.UriProtocol = /^(((http|https|ftp|news):\/\/)|mailto:)/gi ;
59
+
60
+ oRegex.UrlOnChangeProtocol = /^(http|https|ftp|news):\/\/(?=.)/gi ;
61
+
62
+ oRegex.UrlOnChangeTestOther = /^((javascript:)|[#\/\.])/gi ;
63
+
64
+ oRegex.ReserveTarget = /^_(blank|self|top|parent)$/i ;
65
+
66
+ oRegex.PopupUri = /^javascript:void\(\s*window.open\(\s*'([^']+)'\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*\)\s*$/ ;
67
+
68
+ // Accessible popups
69
+ oRegex.OnClickPopup = /^\s*on[cC]lick="\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*"$/ ;
70
+
71
+ oRegex.PopupFeatures = /(?:^|,)([^=]+)=(\d+|yes|no)/gi ;
72
+
73
+ //#### Parser Functions
74
+
75
+ var oParser = new Object() ;
76
+
77
+ oParser.ParseEMailUrl = function( emailUrl )
78
+ {
79
+ // Initializes the EMailInfo object.
80
+ var oEMailInfo = new Object() ;
81
+ oEMailInfo.Address = '' ;
82
+ oEMailInfo.Subject = '' ;
83
+ oEMailInfo.Body = '' ;
84
+
85
+ var oParts = emailUrl.match( /^([^\?]+)\??(.+)?/ ) ;
86
+ if ( oParts )
87
+ {
88
+ // Set the e-mail address.
89
+ oEMailInfo.Address = oParts[1] ;
90
+
91
+ // Look for the optional e-mail parameters.
92
+ if ( oParts[2] )
93
+ {
94
+ var oMatch = oParts[2].match( /(^|&)subject=([^&]+)/i ) ;
95
+ if ( oMatch ) oEMailInfo.Subject = decodeURIComponent( oMatch[2] ) ;
96
+
97
+ oMatch = oParts[2].match( /(^|&)body=([^&]+)/i ) ;
98
+ if ( oMatch ) oEMailInfo.Body = decodeURIComponent( oMatch[2] ) ;
99
+ }
100
+ }
101
+
102
+ return oEMailInfo ;
103
+ }
104
+
105
+ oParser.CreateEMailUri = function( address, subject, body )
106
+ {
107
+ var sBaseUri = 'mailto:' + address ;
108
+
109
+ var sParams = '' ;
110
+
111
+ if ( subject.length > 0 )
112
+ sParams = '?subject=' + encodeURIComponent( subject ) ;
113
+
114
+ if ( body.length > 0 )
115
+ {
116
+ sParams += ( sParams.length == 0 ? '?' : '&' ) ;
117
+ sParams += 'body=' + encodeURIComponent( body ) ;
118
+ }
119
+
120
+ return sBaseUri + sParams ;
121
+ }
122
+
123
+ //#### Initialization Code
124
+
125
+ // oLink: The actual selected link in the editor.
126
+ var oLink = FCK.Selection.MoveToAncestorNode( 'A' ) ;
127
+ if ( oLink )
128
+ FCK.Selection.SelectNode( oLink ) ;
129
+
130
+ window.onload = function()
131
+ {
132
+ // Translate the dialog box texts.
133
+ oEditor.FCKLanguageManager.TranslatePage(document) ;
134
+
135
+ // Fill the Anchor Names and Ids combos.
136
+ LoadAnchorNamesAndIds() ;
137
+
138
+ // Load the selected link information (if any).
139
+ LoadSelection() ;
140
+
141
+ // Update the dialog box.
142
+ SetLinkType( GetE('cmbLinkType').value ) ;
143
+
144
+ // Show/Hide the "Browse Server" button.
145
+ GetE('divBrowseServer').style.display = FCKConfig.LinkBrowser ? '' : 'none' ;
146
+
147
+ // Show the initial dialog content.
148
+ GetE('divInfo').style.display = '' ;
149
+
150
+ // Set the actual uploader URL.
151
+ if ( FCKConfig.LinkUpload )
152
+ GetE('frmUpload').action = FCKConfig.LinkUploadURL ;
153
+
154
+ // Activate the "OK" button.
155
+ window.parent.SetOkButton( true ) ;
156
+ }
157
+
158
+ var bHasAnchors ;
159
+
160
+ function LoadAnchorNamesAndIds()
161
+ {
162
+ // Since version 2.0, the anchors are replaced in the DOM by IMGs so the user see the icon
163
+ // to edit them. So, we must look for that images now.
164
+ var aAnchors = new Array() ;
165
+ var i ;
166
+ var oImages = oEditor.FCK.EditorDocument.getElementsByTagName( 'IMG' ) ;
167
+ for( i = 0 ; i < oImages.length ; i++ )
168
+ {
169
+ if ( oImages[i].getAttribute('_fckanchor') )
170
+ aAnchors[ aAnchors.length ] = oEditor.FCK.GetRealElement( oImages[i] ) ;
171
+ }
172
+
173
+ // Add also real anchors
174
+ var oLinks = oEditor.FCK.EditorDocument.getElementsByTagName( 'A' ) ;
175
+ for( i = 0 ; i < oLinks.length ; i++ )
176
+ {
177
+ if ( oLinks[i].name && ( oLinks[i].name.length > 0 ) )
178
+ aAnchors[ aAnchors.length ] = oLinks[i] ;
179
+ }
180
+
181
+ var aIds = oEditor.FCKTools.GetAllChildrenIds( oEditor.FCK.EditorDocument.body ) ;
182
+
183
+ bHasAnchors = ( aAnchors.length > 0 || aIds.length > 0 ) ;
184
+
185
+ for ( i = 0 ; i < aAnchors.length ; i++ )
186
+ {
187
+ var sName = aAnchors[i].name ;
188
+ if ( sName && sName.length > 0 )
189
+ oEditor.FCKTools.AddSelectOption( GetE('cmbAnchorName'), sName, sName ) ;
190
+ }
191
+
192
+ for ( i = 0 ; i < aIds.length ; i++ )
193
+ {
194
+ oEditor.FCKTools.AddSelectOption( GetE('cmbAnchorId'), aIds[i], aIds[i] ) ;
195
+ }
196
+
197
+ ShowE( 'divSelAnchor' , bHasAnchors ) ;
198
+ ShowE( 'divNoAnchor' , !bHasAnchors ) ;
199
+ }
200
+
201
+ function LoadSelection()
202
+ {
203
+ if ( !oLink ) return ;
204
+
205
+ var sType = 'url' ;
206
+
207
+ // Get the actual Link href.
208
+ var sHRef = oLink.getAttribute( '_fcksavedurl' ) ;
209
+ if ( sHRef == null )
210
+ sHRef = oLink.getAttribute( 'href' , 2 ) || '' ;
211
+
212
+ // Look for a popup javascript link.
213
+ var oPopupMatch = oRegex.PopupUri.exec( sHRef ) ;
214
+ if( oPopupMatch )
215
+ {
216
+ GetE('cmbTarget').value = 'popup' ;
217
+ sHRef = oPopupMatch[1] ;
218
+ FillPopupFields( oPopupMatch[2], oPopupMatch[3] ) ;
219
+ SetTarget( 'popup' ) ;
220
+ }
221
+
222
+ // Accesible popups, the popup data is in the onclick attribute
223
+ if ( !oPopupMatch ) {
224
+ var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;
225
+ oPopupMatch = oRegex.OnClickPopup.exec( onclick ) ;
226
+ if( oPopupMatch )
227
+ {
228
+ GetE( 'cmbTarget' ).value = 'popup' ;
229
+ FillPopupFields( oPopupMatch[1], oPopupMatch[2] ) ;
230
+ SetTarget( 'popup' ) ;
231
+ }
232
+ }
233
+
234
+ // Search for the protocol.
235
+ var sProtocol = oRegex.UriProtocol.exec( sHRef ) ;
236
+
237
+ if ( sProtocol )
238
+ {
239
+ sProtocol = sProtocol[0].toLowerCase() ;
240
+ GetE('cmbLinkProtocol').value = sProtocol ;
241
+
242
+ // Remove the protocol and get the remainig URL.
243
+ var sUrl = sHRef.replace( oRegex.UriProtocol, '' ) ;
244
+
245
+ if ( sProtocol == 'mailto:' ) // It is an e-mail link.
246
+ {
247
+ sType = 'email' ;
248
+
249
+ var oEMailInfo = oParser.ParseEMailUrl( sUrl ) ;
250
+ GetE('txtEMailAddress').value = oEMailInfo.Address ;
251
+ GetE('txtEMailSubject').value = oEMailInfo.Subject ;
252
+ GetE('txtEMailBody').value = oEMailInfo.Body ;
253
+ }
254
+ else // It is a normal link.
255
+ {
256
+ sType = 'url' ;
257
+ GetE('txtUrl').value = sUrl ;
258
+ }
259
+ }
260
+ else if ( sHRef.substr(0,1) == '#' && sHRef.length > 1 ) // It is an anchor link.
261
+ {
262
+ sType = 'anchor' ;
263
+ GetE('cmbAnchorName').value = GetE('cmbAnchorId').value = sHRef.substr(1) ;
264
+ }
265
+ else // It is another type of link.
266
+ {
267
+ sType = 'url' ;
268
+
269
+ GetE('cmbLinkProtocol').value = '' ;
270
+ GetE('txtUrl').value = sHRef ;
271
+ }
272
+
273
+ if ( !oPopupMatch )
274
+ {
275
+ // Get the target.
276
+ var sTarget = oLink.target ;
277
+
278
+ if ( sTarget && sTarget.length > 0 )
279
+ {
280
+ if ( oRegex.ReserveTarget.test( sTarget ) )
281
+ {
282
+ sTarget = sTarget.toLowerCase() ;
283
+ GetE('cmbTarget').value = sTarget ;
284
+ }
285
+ else
286
+ GetE('cmbTarget').value = 'frame' ;
287
+ GetE('txtTargetFrame').value = sTarget ;
288
+ }
289
+ }
290
+
291
+ // Get Advances Attributes
292
+ GetE('txtAttId').value = oLink.id ;
293
+ GetE('txtAttName').value = oLink.name ;
294
+ GetE('cmbAttLangDir').value = oLink.dir ;
295
+ GetE('txtAttLangCode').value = oLink.lang ;
296
+ GetE('txtAttAccessKey').value = oLink.accessKey ;
297
+ GetE('txtAttTabIndex').value = oLink.tabIndex <= 0 ? '' : oLink.tabIndex ;
298
+ GetE('txtAttTitle').value = oLink.title ;
299
+ GetE('txtAttContentType').value = oLink.type ;
300
+ GetE('txtAttCharSet').value = oLink.charset ;
301
+
302
+ var sClass ;
303
+ if ( oEditor.FCKBrowserInfo.IsIE )
304
+ {
305
+ sClass = oLink.getAttribute('className',2) || '' ;
306
+ // Clean up temporary classes for internal use:
307
+ sClass = sClass.replace( FCKRegexLib.FCK_Class, '' ) ;
308
+
309
+ GetE('txtAttStyle').value = oLink.style.cssText ;
310
+ }
311
+ else
312
+ {
313
+ sClass = oLink.getAttribute('class',2) || '' ;
314
+ GetE('txtAttStyle').value = oLink.getAttribute('style',2) || '' ;
315
+ }
316
+ GetE('txtAttClasses').value = sClass ;
317
+
318
+ // Update the Link type combo.
319
+ GetE('cmbLinkType').value = sType ;
320
+ }
321
+
322
+ //#### Link type selection.
323
+ function SetLinkType( linkType )
324
+ {
325
+ ShowE('divLinkTypeUrl' , (linkType == 'url') ) ;
326
+ ShowE('divLinkTypeAnchor' , (linkType == 'anchor') ) ;
327
+ ShowE('divLinkTypeEMail' , (linkType == 'email') ) ;
328
+
329
+ if ( !FCKConfig.LinkDlgHideTarget )
330
+ window.parent.SetTabVisibility( 'Target' , (linkType == 'url') ) ;
331
+
332
+ if ( FCKConfig.LinkUpload )
333
+ window.parent.SetTabVisibility( 'Upload' , (linkType == 'url') ) ;
334
+
335
+ if ( !FCKConfig.LinkDlgHideAdvanced )
336
+ window.parent.SetTabVisibility( 'Advanced' , (linkType != 'anchor' || bHasAnchors) ) ;
337
+
338
+ if ( linkType == 'email' )
339
+ window.parent.SetAutoSize( true ) ;
340
+ }
341
+
342
+ //#### Target type selection.
343
+ function SetTarget( targetType )
344
+ {
345
+ GetE('tdTargetFrame').style.display = ( targetType == 'popup' ? 'none' : '' ) ;
346
+ GetE('tdPopupName').style.display =
347
+ GetE('tablePopupFeatures').style.display = ( targetType == 'popup' ? '' : 'none' ) ;
348
+
349
+ switch ( targetType )
350
+ {
351
+ case "_blank" :
352
+ case "_self" :
353
+ case "_parent" :
354
+ case "_top" :
355
+ GetE('txtTargetFrame').value = targetType ;
356
+ break ;
357
+ case "" :
358
+ GetE('txtTargetFrame').value = '' ;
359
+ break ;
360
+ }
361
+
362
+ if ( targetType == 'popup' )
363
+ window.parent.SetAutoSize( true ) ;
364
+ }
365
+
366
+ //#### Called while the user types the URL.
367
+ function OnUrlChange()
368
+ {
369
+ var sUrl = GetE('txtUrl').value ;
370
+ var sProtocol = oRegex.UrlOnChangeProtocol.exec( sUrl ) ;
371
+
372
+ if ( sProtocol )
373
+ {
374
+ sUrl = sUrl.substr( sProtocol[0].length ) ;
375
+ GetE('txtUrl').value = sUrl ;
376
+ GetE('cmbLinkProtocol').value = sProtocol[0].toLowerCase() ;
377
+ }
378
+ else if ( oRegex.UrlOnChangeTestOther.test( sUrl ) )
379
+ {
380
+ GetE('cmbLinkProtocol').value = '' ;
381
+ }
382
+ }
383
+
384
+ //#### Called while the user types the target name.
385
+ function OnTargetNameChange()
386
+ {
387
+ var sFrame = GetE('txtTargetFrame').value ;
388
+
389
+ if ( sFrame.length == 0 )
390
+ GetE('cmbTarget').value = '' ;
391
+ else if ( oRegex.ReserveTarget.test( sFrame ) )
392
+ GetE('cmbTarget').value = sFrame.toLowerCase() ;
393
+ else
394
+ GetE('cmbTarget').value = 'frame' ;
395
+ }
396
+
397
+ // Accesible popups
398
+ function BuildOnClickPopup()
399
+ {
400
+ var sWindowName = "'" + GetE('txtPopupName').value.replace(/\W/gi, "") + "'" ;
401
+
402
+ var sFeatures = '' ;
403
+ var aChkFeatures = document.getElementsByName( 'chkFeature' ) ;
404
+ for ( var i = 0 ; i < aChkFeatures.length ; i++ )
405
+ {
406
+ if ( i > 0 ) sFeatures += ',' ;
407
+ sFeatures += aChkFeatures[i].value + '=' + ( aChkFeatures[i].checked ? 'yes' : 'no' ) ;
408
+ }
409
+
410
+ if ( GetE('txtPopupWidth').value.length > 0 ) sFeatures += ',width=' + GetE('txtPopupWidth').value ;
411
+ if ( GetE('txtPopupHeight').value.length > 0 ) sFeatures += ',height=' + GetE('txtPopupHeight').value ;
412
+ if ( GetE('txtPopupLeft').value.length > 0 ) sFeatures += ',left=' + GetE('txtPopupLeft').value ;
413
+ if ( GetE('txtPopupTop').value.length > 0 ) sFeatures += ',top=' + GetE('txtPopupTop').value ;
414
+
415
+ if ( sFeatures != '' )
416
+ sFeatures = sFeatures + ",status" ;
417
+
418
+ return ( "window.open(this.href," + sWindowName + ",'" + sFeatures + "'); return false" ) ;
419
+ }
420
+
421
+ //#### Fills all Popup related fields.
422
+ function FillPopupFields( windowName, features )
423
+ {
424
+ if ( windowName )
425
+ GetE('txtPopupName').value = windowName ;
426
+
427
+ var oFeatures = new Object() ;
428
+ var oFeaturesMatch ;
429
+ while( ( oFeaturesMatch = oRegex.PopupFeatures.exec( features ) ) != null )
430
+ {
431
+ var sValue = oFeaturesMatch[2] ;
432
+ if ( sValue == ( 'yes' || '1' ) )
433
+ oFeatures[ oFeaturesMatch[1] ] = true ;
434
+ else if ( ! isNaN( sValue ) && sValue != 0 )
435
+ oFeatures[ oFeaturesMatch[1] ] = sValue ;
436
+ }
437
+
438
+ // Update all features check boxes.
439
+ var aChkFeatures = document.getElementsByName('chkFeature') ;
440
+ for ( var i = 0 ; i < aChkFeatures.length ; i++ )
441
+ {
442
+ if ( oFeatures[ aChkFeatures[i].value ] )
443
+ aChkFeatures[i].checked = true ;
444
+ }
445
+
446
+ // Update position and size text boxes.
447
+ if ( oFeatures['width'] ) GetE('txtPopupWidth').value = oFeatures['width'] ;
448
+ if ( oFeatures['height'] ) GetE('txtPopupHeight').value = oFeatures['height'] ;
449
+ if ( oFeatures['left'] ) GetE('txtPopupLeft').value = oFeatures['left'] ;
450
+ if ( oFeatures['top'] ) GetE('txtPopupTop').value = oFeatures['top'] ;
451
+ }
452
+
453
+ //#### The OK button was hit.
454
+ function Ok()
455
+ {
456
+ var sUri, sInnerHtml ;
457
+
458
+ switch ( GetE('cmbLinkType').value )
459
+ {
460
+ case 'url' :
461
+ sUri = GetE('txtUrl').value ;
462
+
463
+ if ( sUri.length == 0 )
464
+ {
465
+ alert( FCKLang.DlnLnkMsgNoUrl ) ;
466
+ return false ;
467
+ }
468
+
469
+ sUri = GetE('cmbLinkProtocol').value + sUri ;
470
+
471
+ break ;
472
+
473
+ case 'email' :
474
+ sUri = GetE('txtEMailAddress').value ;
475
+
476
+ if ( sUri.length == 0 )
477
+ {
478
+ alert( FCKLang.DlnLnkMsgNoEMail ) ;
479
+ return false ;
480
+ }
481
+
482
+ sUri = oParser.CreateEMailUri(
483
+ sUri,
484
+ GetE('txtEMailSubject').value,
485
+ GetE('txtEMailBody').value ) ;
486
+ break ;
487
+
488
+ case 'anchor' :
489
+ var sAnchor = GetE('cmbAnchorName').value ;
490
+ if ( sAnchor.length == 0 ) sAnchor = GetE('cmbAnchorId').value ;
491
+
492
+ if ( sAnchor.length == 0 )
493
+ {
494
+ alert( FCKLang.DlnLnkMsgNoAnchor ) ;
495
+ return false ;
496
+ }
497
+
498
+ sUri = '#' + sAnchor ;
499
+ break ;
500
+ }
501
+
502
+ // No link selected, so try to create one.
503
+ if ( !oLink )
504
+ oLink = oEditor.FCK.CreateLink( sUri ) ;
505
+
506
+ if ( oLink )
507
+ sInnerHtml = oLink.innerHTML ; // Save the innerHTML (IE changes it if it is like an URL).
508
+ else
509
+ {
510
+ // If no selection, use the uri as the link text (by dom, 2006-05-26)
511
+
512
+ sInnerHtml = sUri;
513
+
514
+ // Built a better text for empty links.
515
+ switch ( GetE('cmbLinkType').value )
516
+ {
517
+ // anchor: use old behavior --> return true
518
+ case 'anchor':
519
+ sInnerHtml = sInnerHtml.replace( /^#/, '' ) ;
520
+ break ;
521
+
522
+ // url: try to get path
523
+ case 'url':
524
+ var oLinkPathRegEx = new RegExp("//?([^?\"']+)([?].*)?$") ;
525
+ var asLinkPath = oLinkPathRegEx.exec( sUri ) ;
526
+ if (asLinkPath != null)
527
+ sInnerHtml = asLinkPath[1]; // use matched path
528
+ break ;
529
+
530
+ // mailto: try to get email address
531
+ case 'email':
532
+ sInnerHtml = GetE('txtEMailAddress').value ;
533
+ break ;
534
+ }
535
+
536
+ // Create a new (empty) anchor.
537
+ oLink = oEditor.FCK.CreateElement( 'a' ) ;
538
+ }
539
+
540
+ oEditor.FCKUndo.SaveUndoStep() ;
541
+
542
+ oLink.href = sUri ;
543
+ SetAttribute( oLink, '_fcksavedurl', sUri ) ;
544
+
545
+ // Accesible popups
546
+ if( GetE('cmbTarget').value == 'popup' )
547
+ {
548
+ SetAttribute( oLink, 'onclick_fckprotectedatt', " onclick=\"" + BuildOnClickPopup() + "\"") ;
549
+ }
550
+ else
551
+ {
552
+ // Check if the previous onclick was for a popup:
553
+ // In that case remove the onclick handler.
554
+ var onclick = oLink.getAttribute( 'onclick_fckprotectedatt' ) ;
555
+ if( oRegex.OnClickPopup.test( onclick ) )
556
+ SetAttribute( oLink, 'onclick_fckprotectedatt', '' ) ;
557
+ }
558
+
559
+ oLink.innerHTML = sInnerHtml ; // Set (or restore) the innerHTML
560
+
561
+ // Target
562
+ if( GetE('cmbTarget').value != 'popup' )
563
+ SetAttribute( oLink, 'target', GetE('txtTargetFrame').value ) ;
564
+ else
565
+ SetAttribute( oLink, 'target', null ) ;
566
+
567
+ // Advances Attributes
568
+ SetAttribute( oLink, 'id' , GetE('txtAttId').value ) ;
569
+ SetAttribute( oLink, 'name' , GetE('txtAttName').value ) ;
570
+ SetAttribute( oLink, 'dir' , GetE('cmbAttLangDir').value ) ;
571
+ SetAttribute( oLink, 'lang' , GetE('txtAttLangCode').value ) ;
572
+ SetAttribute( oLink, 'accesskey', GetE('txtAttAccessKey').value ) ;
573
+ SetAttribute( oLink, 'tabindex' , ( GetE('txtAttTabIndex').value > 0 ? GetE('txtAttTabIndex').value : null ) ) ;
574
+ SetAttribute( oLink, 'title' , GetE('txtAttTitle').value ) ;
575
+ SetAttribute( oLink, 'type' , GetE('txtAttContentType').value ) ;
576
+ SetAttribute( oLink, 'charset' , GetE('txtAttCharSet').value ) ;
577
+
578
+ if ( oEditor.FCKBrowserInfo.IsIE )
579
+ {
580
+ var sClass = GetE('txtAttClasses').value ;
581
+ // If it's also an anchor add an internal class
582
+ if ( GetE('txtAttName').value.length != 0 )
583
+ sClass += ' FCK__AnchorC' ;
584
+ SetAttribute( oLink, 'className', sClass ) ;
585
+
586
+ oLink.style.cssText = GetE('txtAttStyle').value ;
587
+ }
588
+ else
589
+ {
590
+ SetAttribute( oLink, 'class', GetE('txtAttClasses').value ) ;
591
+ SetAttribute( oLink, 'style', GetE('txtAttStyle').value ) ;
592
+ }
593
+
594
+ // Select the link.
595
+ oEditor.FCKSelection.SelectNode(oLink);
596
+
597
+ return true ;
598
+ }
599
+
600
+ function BrowseServer()
601
+ {
602
+ OpenFileBrowser( FCKConfig.LinkBrowserURL, FCKConfig.LinkBrowserWindowWidth, FCKConfig.LinkBrowserWindowHeight ) ;
603
+ }
604
+
605
+ function SetUrl( url )
606
+ {
607
+ document.getElementById('txtUrl').value = url ;
608
+ OnUrlChange() ;
609
+ window.parent.SetSelectedTab( 'Info' ) ;
610
+ }
611
+
612
+ function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )
613
+ {
614
+ switch ( errorNumber )
615
+ {
616
+ case 0 : // No errors
617
+ alert( 'Your file has been successfully uploaded' ) ;
618
+ break ;
619
+ case 1 : // Custom error
620
+ alert( customMsg ) ;
621
+ return ;
622
+ case 101 : // Custom warning
623
+ alert( customMsg ) ;
624
+ break ;
625
+ case 201 :
626
+ alert( 'A file with the same name is already available. The uploaded file has been renamed to "' + fileName + '"' ) ;
627
+ break ;
628
+ case 202 :
629
+ alert( 'Invalid file type' ) ;
630
+ return ;
631
+ case 203 :
632
+ alert( "Security error. You probably don't have enough permissions to upload. Please check your server." ) ;
633
+ return ;
634
+ default :
635
+ alert( 'Error on file upload. Error number: ' + errorNumber ) ;
636
+ return ;
637
+ }
638
+
639
+ SetUrl( fileUrl ) ;
640
+ GetE('frmUpload').reset() ;
641
+ }
642
+
643
+ var oUploadAllowedExtRegex = new RegExp( FCKConfig.LinkUploadAllowedExtensions, 'i' ) ;
644
+ var oUploadDeniedExtRegex = new RegExp( FCKConfig.LinkUploadDeniedExtensions, 'i' ) ;
645
+
646
+ function CheckUpload()
647
+ {
648
+ var sFile = GetE('txtUploadFile').value ;
649
+
650
+ if ( sFile.length == 0 )
651
+ {
652
+ alert( 'Please select a file to upload' ) ;
653
+ return false ;
654
+ }
655
+
656
+ if ( ( FCKConfig.LinkUploadAllowedExtensions.length > 0 && !oUploadAllowedExtRegex.test( sFile ) ) ||
657
+ ( FCKConfig.LinkUploadDeniedExtensions.length > 0 && oUploadDeniedExtRegex.test( sFile ) ) )
658
+ {
659
+ OnUploadCompleted( 202 ) ;
660
+ return false ;
661
+ }
662
+
663
+ return true ;
664
+ }