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,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
+ }