ckeditor 3.4.3 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (975) hide show
  1. data/CHANGELOG +15 -0
  2. data/README.rdoc +26 -47
  3. data/Rakefile +6 -5
  4. data/app/controllers/ckeditor/attachments_controller.rb +23 -0
  5. data/app/controllers/ckeditor/base_controller.rb +60 -0
  6. data/app/controllers/ckeditor/pictures_controller.rb +23 -0
  7. data/app/helpers/ckeditor/base_helper.rb +21 -0
  8. data/app/views/ckeditor/attachments/index.html.erb +91 -0
  9. data/app/views/ckeditor/pictures/index.html.erb +91 -0
  10. data/config/routes.rb +5 -4
  11. data/lib/ckeditor.rb +29 -26
  12. data/lib/ckeditor/engine.rb +21 -0
  13. data/lib/ckeditor/utils.rb +13 -6
  14. data/lib/ckeditor/version.rb +2 -2
  15. data/lib/generators/ckeditor/base/USAGE +7 -0
  16. data/lib/generators/ckeditor/base/base_generator.rb +20 -0
  17. data/lib/generators/ckeditor/base/templates/ckeditor.rb +54 -0
  18. data/lib/generators/ckeditor/base/templates/ckeditor/CHANGES.html +1063 -0
  19. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/INSTALL.html +0 -0
  20. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/LICENSE.html +0 -0
  21. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/adobeair/application.xml +32 -0
  22. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/adobeair/run.bat +9 -0
  23. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/adobeair/run.sh +8 -0
  24. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/adobeair/sample.html +45 -0
  25. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/ajax.html +0 -0
  26. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/api.html +174 -0
  27. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/api_dialog.html +0 -0
  28. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/api_dialog/my_dialog.js +0 -0
  29. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/advanced.asp +0 -0
  30. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/events.asp +0 -0
  31. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/index.html +0 -0
  32. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/replace.asp +0 -0
  33. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/replaceall.asp +0 -0
  34. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/sample_posteddata.asp +0 -0
  35. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/asp/standalone.asp +0 -0
  36. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  37. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  38. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/assets/output_xhtml.css +0 -0
  39. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/assets/swfobject.js +0 -0
  40. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/autogrow.html +0 -0
  41. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/divreplace.html +0 -0
  42. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/enterkey.html +0 -0
  43. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/fullpage.html +0 -0
  44. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/index.html +58 -0
  45. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/jqueryadapter.html +0 -0
  46. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/output_for_flash.html +0 -0
  47. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/output_html.html +0 -0
  48. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/output_xhtml.html +0 -0
  49. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/php/advanced.php +0 -0
  50. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/php/events.php +0 -0
  51. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/php/replace.php +0 -0
  52. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/php/replaceall.php +0 -0
  53. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/php/standalone.php +0 -0
  54. data/lib/generators/ckeditor/base/templates/ckeditor/_samples/placeholder.html +62 -0
  55. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/replacebyclass.html +0 -0
  56. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/replacebycode.html +0 -0
  57. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/sample.css +0 -0
  58. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/sample.js +0 -0
  59. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/sample_posteddata.php +0 -0
  60. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/sharedspaces.html +0 -0
  61. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/skins.html +0 -0
  62. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/ui_color.html +0 -0
  63. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_samples/ui_languages.html +0 -0
  64. data/lib/generators/ckeditor/base/templates/ckeditor/_source/adapters/jquery.js +300 -0
  65. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/_bootstrap.js +0 -0
  66. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/ajax.js +0 -0
  67. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/ckeditor.js +0 -0
  68. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/ckeditor_base.js +196 -0
  69. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/ckeditor_basic.js +0 -0
  70. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/command.js +0 -0
  71. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/commanddefinition.js +0 -0
  72. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/config.js +431 -0
  73. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dataprocessor.js +0 -0
  74. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom.js +0 -0
  75. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/comment.js +0 -0
  76. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/document.js +251 -0
  77. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/documentfragment.js +0 -0
  78. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/domobject.js +258 -0
  79. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/element.js +1615 -0
  80. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/elementpath.js +0 -0
  81. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/event.js +0 -0
  82. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/node.js +696 -0
  83. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/nodelist.js +0 -0
  84. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/range.js +1893 -0
  85. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/rangelist.js +213 -0
  86. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/text.js +0 -0
  87. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/dom/walker.js +444 -0
  88. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dom/window.js +0 -0
  89. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/dtd.js +0 -0
  90. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/editor.js +943 -0
  91. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/editor_basic.js +0 -0
  92. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/env.js +272 -0
  93. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/event.js +0 -0
  94. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/eventInfo.js +0 -0
  95. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/focusmanager.js +0 -0
  96. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser.js +0 -0
  97. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser/basicwriter.js +0 -0
  98. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser/cdata.js +0 -0
  99. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser/comment.js +0 -0
  100. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/htmlparser/element.js +240 -0
  101. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser/filter.js +0 -0
  102. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/htmlparser/fragment.js +504 -0
  103. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/htmlparser/text.js +0 -0
  104. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/lang.js +0 -0
  105. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/loader.js +242 -0
  106. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/plugindefinition.js +0 -0
  107. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/plugins.js +0 -0
  108. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/resourcemanager.js +0 -0
  109. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/scriptloader.js +0 -0
  110. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/skins.js +184 -0
  111. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/themes.js +0 -0
  112. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/tools.js +734 -0
  113. data/lib/generators/ckeditor/base/templates/ckeditor/_source/core/ui.js +118 -0
  114. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/core/xml.js +0 -0
  115. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/lang/_languages.js +0 -0
  116. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/_translationstatus.txt +60 -0
  117. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/af.js +752 -0
  118. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ar.js +752 -0
  119. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/bg.js +752 -0
  120. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/bn.js +752 -0
  121. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/bs.js +752 -0
  122. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ca.js +752 -0
  123. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/cs.js +752 -0
  124. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/cy.js +752 -0
  125. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/da.js +752 -0
  126. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/de.js +752 -0
  127. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/el.js +752 -0
  128. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/en-au.js +752 -0
  129. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/en-ca.js +752 -0
  130. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/en-gb.js +752 -0
  131. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/en.js +752 -0
  132. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/eo.js +752 -0
  133. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/es.js +752 -0
  134. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/et.js +752 -0
  135. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/eu.js +752 -0
  136. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/fa.js +752 -0
  137. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/fi.js +752 -0
  138. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/fo.js +752 -0
  139. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/fr-ca.js +752 -0
  140. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/fr.js +752 -0
  141. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/gl.js +752 -0
  142. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/gu.js +752 -0
  143. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/he.js +752 -0
  144. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/hi.js +752 -0
  145. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/hr.js +752 -0
  146. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/hu.js +752 -0
  147. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/is.js +752 -0
  148. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/it.js +752 -0
  149. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ja.js +752 -0
  150. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/km.js +752 -0
  151. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ko.js +752 -0
  152. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/lt.js +752 -0
  153. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/lv.js +752 -0
  154. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/mn.js +752 -0
  155. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ms.js +752 -0
  156. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/nb.js +752 -0
  157. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/nl.js +752 -0
  158. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/no.js +752 -0
  159. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/pl.js +752 -0
  160. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/pt-br.js +751 -0
  161. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/pt.js +752 -0
  162. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ro.js +752 -0
  163. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/ru.js +752 -0
  164. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/sk.js +752 -0
  165. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/sl.js +752 -0
  166. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/sr-latn.js +752 -0
  167. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/sr.js +752 -0
  168. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/sv.js +752 -0
  169. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/th.js +752 -0
  170. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/tr.js +751 -0
  171. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/uk.js +752 -0
  172. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/vi.js +752 -0
  173. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/zh-cn.js +752 -0
  174. data/lib/generators/ckeditor/base/templates/ckeditor/_source/lang/zh.js +752 -0
  175. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +0 -0
  176. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/a11yhelp/lang/en.js +0 -0
  177. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/a11yhelp/lang/he.js +0 -0
  178. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/a11yhelp/plugin.js +0 -0
  179. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/about/dialogs/about.js +0 -0
  180. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  181. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/about/plugin.js +0 -0
  182. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/adobeair/plugin.js +228 -0
  183. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/ajax_save/plugin.js +0 -0
  184. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/dialogs/attachment.js +0 -0
  185. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/images/attachment.png +0 -0
  186. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/lang/en.js +0 -0
  187. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/lang/ru.js +0 -0
  188. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/lang/uk.js +0 -0
  189. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/attachment/plugin.js +0 -0
  190. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/autogrow/plugin.js +0 -0
  191. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/basicstyles/plugin.js +0 -0
  192. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/bidi/plugin.js +265 -0
  193. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/blockquote/plugin.js +0 -0
  194. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/button/plugin.js +295 -0
  195. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/clipboard/dialogs/paste.js +212 -0
  196. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/clipboard/plugin.js +412 -0
  197. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/colorbutton/plugin.js +291 -0
  198. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +340 -0
  199. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/colordialog/plugin.js +0 -0
  200. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/contextmenu/plugin.js +177 -0
  201. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/dialog/dialogDefinition.js +0 -0
  202. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/dialog/plugin.js +3067 -0
  203. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/dialogadvtab/plugin.js +213 -0
  204. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/dialogui/plugin.js +1523 -0
  205. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/div/dialogs/div.js +0 -0
  206. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/div/plugin.js +121 -0
  207. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/domiterator/plugin.js +0 -0
  208. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/editingblock/plugin.js +0 -0
  209. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/elementspath/plugin.js +201 -0
  210. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/dialogs/embed.js +0 -0
  211. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/images/embed.png +0 -0
  212. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/lang/en.js +0 -0
  213. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/lang/ru.js +0 -0
  214. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/lang/uk.js +0 -0
  215. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/embed/plugin.js +0 -0
  216. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/enterkey/plugin.js +381 -0
  217. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/entities/plugin.js +0 -0
  218. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/fakeobjects/plugin.js +126 -0
  219. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/filebrowser/plugin.js +501 -0
  220. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/find/dialogs/find.js +0 -0
  221. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/find/plugin.js +0 -0
  222. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/flash/dialogs/flash.js +698 -0
  223. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  224. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/flash/plugin.js +168 -0
  225. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/floatpanel/plugin.js +405 -0
  226. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/font/plugin.js +0 -0
  227. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/format/plugin.js +0 -0
  228. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/button.js +135 -0
  229. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -0
  230. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/form.js +177 -0
  231. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +98 -0
  232. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -0
  233. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/select.js +556 -0
  234. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/textarea.js +114 -0
  235. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -0
  236. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  237. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/forms/plugin.js +284 -0
  238. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/horizontalrule/plugin.js +0 -0
  239. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/htmldataprocessor/plugin.js +543 -0
  240. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/htmlwriter/plugin.js +0 -0
  241. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/iframe/dialogs/iframe.js +257 -0
  242. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/iframe/images/placeholder.png +0 -0
  243. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/iframe/plugin.js +106 -0
  244. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/iframedialog/plugin.js +0 -0
  245. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/image/dialogs/image.js +1388 -0
  246. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/image/plugin.js +81 -0
  247. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/indent/plugin.js +468 -0
  248. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/justify/plugin.js +239 -0
  249. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/keystrokes/plugin.js +0 -0
  250. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/link/dialogs/anchor.js +99 -0
  251. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/link/dialogs/link.js +1426 -0
  252. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  253. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/link/plugin.js +241 -0
  254. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/list/plugin.js +723 -0
  255. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/listblock/plugin.js +257 -0
  256. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +0 -0
  257. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/liststyle/plugin.js +0 -0
  258. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/maximize/plugin.js +340 -0
  259. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/menu/plugin.js +505 -0
  260. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/menubutton/plugin.js +98 -0
  261. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/newpage/plugin.js +0 -0
  262. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  263. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/pagebreak/plugin.js +120 -0
  264. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/panel/plugin.js +395 -0
  265. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/panelbutton/plugin.js +146 -0
  266. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/pastefromword/filter/default.js +1175 -0
  267. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/pastefromword/plugin.js +0 -0
  268. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +0 -0
  269. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/pastetext/plugin.js +85 -0
  270. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +78 -0
  271. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/placeholder/lang/en.js +16 -0
  272. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/placeholder/placeholder.gif +0 -0
  273. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/placeholder/plugin.js +160 -0
  274. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/popup/plugin.js +0 -0
  275. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/preview/plugin.js +0 -0
  276. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/print/plugin.js +0 -0
  277. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/removeformat/plugin.js +184 -0
  278. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/resize/plugin.js +0 -0
  279. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/richcombo/plugin.js +371 -0
  280. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/save/plugin.js +0 -0
  281. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/scayt/dialogs/options.js +534 -0
  282. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +0 -0
  283. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/scayt/plugin.js +947 -0
  284. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/selection/plugin.js +0 -0
  285. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  286. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  287. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  288. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  289. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  290. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  291. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  292. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  293. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  294. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  295. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  296. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/showblocks/plugin.js +156 -0
  297. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/showborders/plugin.js +203 -0
  298. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/smiley/dialogs/smiley.js +223 -0
  299. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  300. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  301. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  302. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  303. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  304. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  305. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  306. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  307. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  308. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  309. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  310. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  311. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  312. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  313. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  314. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  315. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  316. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  317. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  318. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  319. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  320. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/smiley/plugin.js +0 -0
  321. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/sourcearea/plugin.js +196 -0
  322. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +347 -0
  323. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/specialchar/lang/en.js +89 -0
  324. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/specialchar/plugin.js +70 -0
  325. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/styles/plugin.js +1564 -0
  326. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/styles/styles/default.js +0 -0
  327. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/stylescombo/plugin.js +0 -0
  328. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/tab/plugin.js +0 -0
  329. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/table/dialogs/table.js +672 -0
  330. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/table/plugin.js +0 -0
  331. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/tableresize/plugin.js +450 -0
  332. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
  333. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/tabletools/plugin.js +0 -0
  334. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/dialogs/templates.js +0 -0
  335. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/plugin.js +0 -0
  336. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/templates/default.js +0 -0
  337. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  338. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  339. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  340. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/toolbar/plugin.js +482 -0
  341. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +0 -0
  342. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/lang/en.js +0 -0
  343. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/lang/he.js +0 -0
  344. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/plugin.js +0 -0
  345. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  346. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  347. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  348. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  349. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  350. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +0 -0
  351. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/uicolor/yui/yui.js +0 -0
  352. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/undo/plugin.js +554 -0
  353. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +0 -0
  354. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +0 -0
  355. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/plugins/wsc/dialogs/wsc.css +0 -0
  356. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/wsc/dialogs/wsc.js +191 -0
  357. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/wsc/plugin.js +33 -0
  358. data/lib/generators/ckeditor/base/templates/ckeditor/_source/plugins/wysiwygarea/plugin.js +1224 -0
  359. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/dialog.css +915 -0
  360. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/editor.css +0 -0
  361. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/elementspath.css +0 -0
  362. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/icons.css +361 -0
  363. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/icons.png +0 -0
  364. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  365. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  366. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  367. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  368. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  369. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  370. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  371. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  372. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  373. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/mainui.css +202 -0
  374. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/menu.css +244 -0
  375. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/panel.css +0 -0
  376. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/presets.css +0 -0
  377. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/reset.css +0 -0
  378. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/richcombo.css +287 -0
  379. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/skin.js +259 -0
  380. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/kama/templates.css +0 -0
  381. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/kama/toolbar.css +448 -0
  382. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/dialog.css +826 -0
  383. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/editor.css +0 -0
  384. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/elementspath.css +0 -0
  385. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/icons.css +358 -0
  386. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/icons.png +0 -0
  387. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  388. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  389. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  390. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  391. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  392. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  393. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  394. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  395. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/mainui.css +152 -0
  396. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/menu.css +241 -0
  397. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/panel.css +0 -0
  398. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/presets.css +0 -0
  399. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/reset.css +0 -0
  400. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/richcombo.css +318 -0
  401. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/skin.js +71 -0
  402. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/office2003/templates.css +0 -0
  403. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/office2003/toolbar.css +510 -0
  404. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/dialog.css +842 -0
  405. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/editor.css +0 -0
  406. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/elementspath.css +0 -0
  407. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/icons.css +358 -0
  408. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/icons.png +0 -0
  409. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  410. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  411. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  412. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  413. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  414. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  415. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  416. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  417. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  418. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/mainui.css +161 -0
  419. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/menu.css +244 -0
  420. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/panel.css +0 -0
  421. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/presets.css +0 -0
  422. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/reset.css +0 -0
  423. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/richcombo.css +317 -0
  424. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/skin.js +67 -0
  425. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/_source/skins/v2/templates.css +0 -0
  426. data/lib/generators/ckeditor/base/templates/ckeditor/_source/skins/v2/toolbar.css +453 -0
  427. data/lib/generators/ckeditor/base/templates/ckeditor/_source/themes/default/theme.js +368 -0
  428. data/lib/generators/ckeditor/base/templates/ckeditor/adapters/jquery.js +6 -0
  429. data/lib/generators/ckeditor/base/templates/ckeditor/ckeditor.js +139 -0
  430. data/lib/generators/ckeditor/base/templates/ckeditor/ckeditor.pack +211 -0
  431. data/lib/generators/ckeditor/base/templates/ckeditor/ckeditor_basic.js +8 -0
  432. data/lib/generators/ckeditor/base/templates/ckeditor/ckeditor_basic_source.js +20 -0
  433. data/lib/generators/ckeditor/base/templates/ckeditor/ckeditor_source.js +25 -0
  434. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/config.js +0 -0
  435. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/contents.css +0 -0
  436. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/css/ckfinder.css +0 -0
  437. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/css/fck_dialog.css +0 -0
  438. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/css/fck_editor.css +0 -0
  439. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/css/swfupload.css +0 -0
  440. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/add.gif +0 -0
  441. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/cancelbutton.gif +0 -0
  442. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/ckfnothumb.gif +0 -0
  443. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/doc.gif +0 -0
  444. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/mp3.gif +0 -0
  445. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/pdf.gif +0 -0
  446. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/rar.gif +0 -0
  447. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/refresh.gif +0 -0
  448. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/select_files.png +0 -0
  449. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/spacer.gif +0 -0
  450. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/swf.gif +0 -0
  451. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/toolbar.start.gif +0 -0
  452. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/images/xls.gif +0 -0
  453. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/lang/_languages.js +0 -0
  454. data/lib/generators/ckeditor/base/templates/ckeditor/lang/_translationstatus.txt +60 -0
  455. data/lib/generators/ckeditor/base/templates/ckeditor/lang/af.js +6 -0
  456. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ar.js +6 -0
  457. data/lib/generators/ckeditor/base/templates/ckeditor/lang/bg.js +6 -0
  458. data/lib/generators/ckeditor/base/templates/ckeditor/lang/bn.js +6 -0
  459. data/lib/generators/ckeditor/base/templates/ckeditor/lang/bs.js +6 -0
  460. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ca.js +6 -0
  461. data/lib/generators/ckeditor/base/templates/ckeditor/lang/cs.js +6 -0
  462. data/lib/generators/ckeditor/base/templates/ckeditor/lang/cy.js +6 -0
  463. data/lib/generators/ckeditor/base/templates/ckeditor/lang/da.js +6 -0
  464. data/lib/generators/ckeditor/base/templates/ckeditor/lang/de.js +6 -0
  465. data/lib/generators/ckeditor/base/templates/ckeditor/lang/el.js +6 -0
  466. data/lib/generators/ckeditor/base/templates/ckeditor/lang/en-au.js +6 -0
  467. data/lib/generators/ckeditor/base/templates/ckeditor/lang/en-ca.js +6 -0
  468. data/lib/generators/ckeditor/base/templates/ckeditor/lang/en-gb.js +6 -0
  469. data/lib/generators/ckeditor/base/templates/ckeditor/lang/en.js +6 -0
  470. data/lib/generators/ckeditor/base/templates/ckeditor/lang/eo.js +6 -0
  471. data/lib/generators/ckeditor/base/templates/ckeditor/lang/es.js +6 -0
  472. data/lib/generators/ckeditor/base/templates/ckeditor/lang/et.js +6 -0
  473. data/lib/generators/ckeditor/base/templates/ckeditor/lang/eu.js +6 -0
  474. data/lib/generators/ckeditor/base/templates/ckeditor/lang/fa.js +6 -0
  475. data/lib/generators/ckeditor/base/templates/ckeditor/lang/fi.js +6 -0
  476. data/lib/generators/ckeditor/base/templates/ckeditor/lang/fo.js +6 -0
  477. data/lib/generators/ckeditor/base/templates/ckeditor/lang/fr-ca.js +6 -0
  478. data/lib/generators/ckeditor/base/templates/ckeditor/lang/fr.js +6 -0
  479. data/lib/generators/ckeditor/base/templates/ckeditor/lang/gl.js +6 -0
  480. data/lib/generators/ckeditor/base/templates/ckeditor/lang/gu.js +6 -0
  481. data/lib/generators/ckeditor/base/templates/ckeditor/lang/he.js +6 -0
  482. data/lib/generators/ckeditor/base/templates/ckeditor/lang/hi.js +6 -0
  483. data/lib/generators/ckeditor/base/templates/ckeditor/lang/hr.js +6 -0
  484. data/lib/generators/ckeditor/base/templates/ckeditor/lang/hu.js +6 -0
  485. data/lib/generators/ckeditor/base/templates/ckeditor/lang/is.js +6 -0
  486. data/lib/generators/ckeditor/base/templates/ckeditor/lang/it.js +6 -0
  487. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ja.js +6 -0
  488. data/lib/generators/ckeditor/base/templates/ckeditor/lang/km.js +6 -0
  489. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ko.js +6 -0
  490. data/lib/generators/ckeditor/base/templates/ckeditor/lang/lt.js +6 -0
  491. data/lib/generators/ckeditor/base/templates/ckeditor/lang/lv.js +6 -0
  492. data/lib/generators/ckeditor/base/templates/ckeditor/lang/mn.js +6 -0
  493. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ms.js +6 -0
  494. data/lib/generators/ckeditor/base/templates/ckeditor/lang/nb.js +6 -0
  495. data/lib/generators/ckeditor/base/templates/ckeditor/lang/nl.js +6 -0
  496. data/lib/generators/ckeditor/base/templates/ckeditor/lang/no.js +6 -0
  497. data/lib/generators/ckeditor/base/templates/ckeditor/lang/pl.js +6 -0
  498. data/lib/generators/ckeditor/base/templates/ckeditor/lang/pt-br.js +6 -0
  499. data/lib/generators/ckeditor/base/templates/ckeditor/lang/pt.js +6 -0
  500. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ro.js +6 -0
  501. data/lib/generators/ckeditor/base/templates/ckeditor/lang/ru.js +6 -0
  502. data/lib/generators/ckeditor/base/templates/ckeditor/lang/sk.js +6 -0
  503. data/lib/generators/ckeditor/base/templates/ckeditor/lang/sl.js +6 -0
  504. data/lib/generators/ckeditor/base/templates/ckeditor/lang/sr-latn.js +6 -0
  505. data/lib/generators/ckeditor/base/templates/ckeditor/lang/sr.js +6 -0
  506. data/lib/generators/ckeditor/base/templates/ckeditor/lang/sv.js +6 -0
  507. data/lib/generators/ckeditor/base/templates/ckeditor/lang/th.js +6 -0
  508. data/lib/generators/ckeditor/base/templates/ckeditor/lang/tr.js +6 -0
  509. data/lib/generators/ckeditor/base/templates/ckeditor/lang/uk.js +6 -0
  510. data/lib/generators/ckeditor/base/templates/ckeditor/lang/vi.js +6 -0
  511. data/lib/generators/ckeditor/base/templates/ckeditor/lang/zh-cn.js +6 -0
  512. data/lib/generators/ckeditor/base/templates/ckeditor/lang/zh.js +6 -0
  513. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -0
  514. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/a11yhelp/lang/en.js +0 -0
  515. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/a11yhelp/lang/he.js +0 -0
  516. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/about/dialogs/about.js +0 -0
  517. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  518. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/adobeair/plugin.js +6 -0
  519. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/ajax_save/plugin.js +0 -0
  520. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/dialogs/attachment.js +0 -0
  521. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/images/attachment.png +0 -0
  522. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/lang/en.js +0 -0
  523. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/lang/ru.js +0 -0
  524. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/lang/uk.js +0 -0
  525. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/attachment/plugin.js +0 -0
  526. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/autogrow/plugin.js +0 -0
  527. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  528. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  529. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/dialog/dialogDefinition.js +0 -0
  530. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/div/dialogs/div.js +0 -0
  531. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/dialogs/embed.js +0 -0
  532. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/images/embed.png +0 -0
  533. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/lang/en.js +0 -0
  534. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/lang/ru.js +0 -0
  535. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/lang/uk.js +0 -0
  536. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/embed/plugin.js +0 -0
  537. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/find/dialogs/find.js +0 -0
  538. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  539. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/flash/images/placeholder.png +0 -0
  540. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/button.js +6 -0
  541. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  542. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/form.js +6 -0
  543. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  544. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  545. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/select.js +9 -0
  546. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  547. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
  548. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  549. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/iframe/dialogs/iframe.js +7 -0
  550. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  551. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/iframedialog/plugin.js +0 -0
  552. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/image/dialogs/image.js +13 -0
  553. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  554. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/link/dialogs/link.js +11 -0
  555. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/link/images/anchor.gif +0 -0
  556. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -0
  557. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  558. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/pastefromword/filter/default.js +10 -0
  559. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -0
  560. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/placeholder/dialogs/placeholder.js +6 -0
  561. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/placeholder/lang/en.js +6 -0
  562. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  563. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/placeholder/plugin.js +6 -0
  564. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  565. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -0
  566. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  567. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  568. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  569. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  570. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  571. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  572. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  573. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  574. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  575. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  576. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  577. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  578. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  579. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  580. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  581. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  582. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  583. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  584. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  585. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  586. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/heart.gif +0 -0
  587. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  588. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  589. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  590. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  591. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  592. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  593. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  594. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  595. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  596. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  597. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  598. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  599. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  600. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/specialchar/lang/en.js +6 -0
  601. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/styles/styles/default.js +0 -0
  602. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/table/dialogs/table.js +9 -0
  603. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/tableresize/plugin.js +7 -0
  604. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  605. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/templates/dialogs/templates.js +0 -0
  606. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/templates/templates/default.js +0 -0
  607. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  608. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  609. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  610. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -0
  611. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/lang/en.js +0 -0
  612. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/lang/he.js +0 -0
  613. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/plugin.js +0 -0
  614. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  615. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  616. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  617. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  618. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  619. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -0
  620. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/uicolor/yui/yui.js +0 -0
  621. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -0
  622. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -0
  623. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/plugins/wsc/dialogs/wsc.css +0 -0
  624. data/lib/generators/ckeditor/base/templates/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  625. data/lib/generators/ckeditor/base/templates/ckeditor/skins/kama/dialog.css +9 -0
  626. data/lib/generators/ckeditor/base/templates/ckeditor/skins/kama/editor.css +13 -0
  627. data/lib/generators/ckeditor/base/templates/ckeditor/skins/kama/icons.png +0 -0
  628. data/lib/generators/ckeditor/base/templates/ckeditor/skins/kama/icons_rtl.png +0 -0
  629. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  630. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  631. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  632. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/mini.gif +0 -0
  633. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/noimage.png +0 -0
  634. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/sprites.png +0 -0
  635. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  636. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  637. data/lib/generators/ckeditor/base/templates/ckeditor/skins/kama/skin.js +7 -0
  638. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/kama/templates.css +0 -0
  639. data/lib/generators/ckeditor/base/templates/ckeditor/skins/office2003/dialog.css +9 -0
  640. data/lib/generators/ckeditor/base/templates/ckeditor/skins/office2003/editor.css +14 -0
  641. data/lib/generators/ckeditor/base/templates/ckeditor/skins/office2003/icons.png +0 -0
  642. data/lib/generators/ckeditor/base/templates/ckeditor/skins/office2003/icons_rtl.png +0 -0
  643. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  644. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  645. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  646. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/mini.gif +0 -0
  647. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/noimage.png +0 -0
  648. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/sprites.png +0 -0
  649. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  650. data/lib/generators/ckeditor/base/templates/ckeditor/skins/office2003/skin.js +6 -0
  651. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/office2003/templates.css +0 -0
  652. data/lib/generators/ckeditor/base/templates/ckeditor/skins/v2/dialog.css +9 -0
  653. data/lib/generators/ckeditor/base/templates/ckeditor/skins/v2/editor.css +13 -0
  654. data/lib/generators/ckeditor/base/templates/ckeditor/skins/v2/icons.png +0 -0
  655. data/lib/generators/ckeditor/base/templates/ckeditor/skins/v2/icons_rtl.png +0 -0
  656. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  657. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  658. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  659. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/mini.gif +0 -0
  660. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/noimage.png +0 -0
  661. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/sprites.png +0 -0
  662. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  663. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  664. data/lib/generators/ckeditor/base/templates/ckeditor/skins/v2/skin.js +6 -0
  665. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/skins/v2/templates.css +0 -0
  666. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/fileprogress.js +0 -0
  667. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/handlers.js +0 -0
  668. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/mootools-1.2.3-core-yc.js +0 -0
  669. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/querystring.js +0 -0
  670. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/swfupload.js +0 -0
  671. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/swfupload.queue.js +0 -0
  672. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/swfupload.swf +0 -0
  673. data/{generators/ckeditor_install → lib/generators/ckeditor/base}/templates/ckeditor/swfupload/swfupload.swfobject.js +0 -0
  674. data/lib/generators/ckeditor/base/templates/ckeditor/themes/default/theme.js +8 -0
  675. data/lib/generators/ckeditor/migration/USAGE +12 -0
  676. data/lib/generators/ckeditor/migration/migration_generator.rb +46 -0
  677. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/attachment_fu/asset.rb +0 -0
  678. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/attachment_fu/attachment_file.rb +0 -0
  679. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/attachment_fu/migration.rb +0 -0
  680. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/attachment_fu/picture.rb +0 -0
  681. data/lib/generators/ckeditor/migration/templates/models/paperclip/asset.rb +95 -0
  682. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/paperclip/attachment_file.rb +0 -0
  683. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/paperclip/migration.rb +0 -0
  684. data/{generators/ckeditor_migration → lib/generators/ckeditor/migration}/templates/models/paperclip/picture.rb +0 -0
  685. data/lib/tasks/ckeditor_tasks.rake +3 -0
  686. metadata +693 -670
  687. data/app/controllers/ckeditor_controller.rb +0 -85
  688. data/app/helpers/ckeditor_helper.rb +0 -38
  689. data/app/views/ckeditor/files.html.erb +0 -91
  690. data/app/views/ckeditor/images.html.erb +0 -91
  691. data/examples/s3/s3.yml +0 -2
  692. data/generators/ckeditor_install/USAGE +0 -7
  693. data/generators/ckeditor_install/ckeditor_install_generator.rb +0 -28
  694. data/generators/ckeditor_install/templates/README +0 -0
  695. data/generators/ckeditor_install/templates/ckeditor.rb +0 -56
  696. data/generators/ckeditor_install/templates/ckeditor/CHANGES.html +0 -993
  697. data/generators/ckeditor_install/templates/ckeditor/_samples/api.html +0 -152
  698. data/generators/ckeditor_install/templates/ckeditor/_samples/index.html +0 -57
  699. data/generators/ckeditor_install/templates/ckeditor/_source/adapters/jquery.js +0 -297
  700. data/generators/ckeditor_install/templates/ckeditor/_source/core/ckeditor_base.js +0 -196
  701. data/generators/ckeditor_install/templates/ckeditor/_source/core/config.js +0 -430
  702. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/document.js +0 -224
  703. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/domobject.js +0 -255
  704. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/element.js +0 -1564
  705. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/node.js +0 -683
  706. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/range.js +0 -1883
  707. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/rangelist.js +0 -214
  708. data/generators/ckeditor_install/templates/ckeditor/_source/core/dom/walker.js +0 -445
  709. data/generators/ckeditor_install/templates/ckeditor/_source/core/editor.js +0 -924
  710. data/generators/ckeditor_install/templates/ckeditor/_source/core/env.js +0 -270
  711. data/generators/ckeditor_install/templates/ckeditor/_source/core/htmlparser/element.js +0 -240
  712. data/generators/ckeditor_install/templates/ckeditor/_source/core/htmlparser/fragment.js +0 -504
  713. data/generators/ckeditor_install/templates/ckeditor/_source/core/imagecacher.js +0 -80
  714. data/generators/ckeditor_install/templates/ckeditor/_source/core/loader.js +0 -243
  715. data/generators/ckeditor_install/templates/ckeditor/_source/core/skins.js +0 -212
  716. data/generators/ckeditor_install/templates/ckeditor/_source/core/tools.js +0 -734
  717. data/generators/ckeditor_install/templates/ckeditor/_source/core/ui.js +0 -116
  718. data/generators/ckeditor_install/templates/ckeditor/_source/lang/_translationstatus.txt +0 -60
  719. data/generators/ckeditor_install/templates/ckeditor/_source/lang/af.js +0 -758
  720. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ar.js +0 -758
  721. data/generators/ckeditor_install/templates/ckeditor/_source/lang/bg.js +0 -758
  722. data/generators/ckeditor_install/templates/ckeditor/_source/lang/bn.js +0 -758
  723. data/generators/ckeditor_install/templates/ckeditor/_source/lang/bs.js +0 -758
  724. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ca.js +0 -758
  725. data/generators/ckeditor_install/templates/ckeditor/_source/lang/cs.js +0 -758
  726. data/generators/ckeditor_install/templates/ckeditor/_source/lang/cy.js +0 -758
  727. data/generators/ckeditor_install/templates/ckeditor/_source/lang/da.js +0 -758
  728. data/generators/ckeditor_install/templates/ckeditor/_source/lang/de.js +0 -758
  729. data/generators/ckeditor_install/templates/ckeditor/_source/lang/el.js +0 -758
  730. data/generators/ckeditor_install/templates/ckeditor/_source/lang/en-au.js +0 -758
  731. data/generators/ckeditor_install/templates/ckeditor/_source/lang/en-ca.js +0 -758
  732. data/generators/ckeditor_install/templates/ckeditor/_source/lang/en-gb.js +0 -758
  733. data/generators/ckeditor_install/templates/ckeditor/_source/lang/en.js +0 -758
  734. data/generators/ckeditor_install/templates/ckeditor/_source/lang/eo.js +0 -758
  735. data/generators/ckeditor_install/templates/ckeditor/_source/lang/es.js +0 -758
  736. data/generators/ckeditor_install/templates/ckeditor/_source/lang/et.js +0 -758
  737. data/generators/ckeditor_install/templates/ckeditor/_source/lang/eu.js +0 -758
  738. data/generators/ckeditor_install/templates/ckeditor/_source/lang/fa.js +0 -758
  739. data/generators/ckeditor_install/templates/ckeditor/_source/lang/fi.js +0 -758
  740. data/generators/ckeditor_install/templates/ckeditor/_source/lang/fo.js +0 -758
  741. data/generators/ckeditor_install/templates/ckeditor/_source/lang/fr-ca.js +0 -758
  742. data/generators/ckeditor_install/templates/ckeditor/_source/lang/fr.js +0 -758
  743. data/generators/ckeditor_install/templates/ckeditor/_source/lang/gl.js +0 -758
  744. data/generators/ckeditor_install/templates/ckeditor/_source/lang/gu.js +0 -758
  745. data/generators/ckeditor_install/templates/ckeditor/_source/lang/he.js +0 -758
  746. data/generators/ckeditor_install/templates/ckeditor/_source/lang/hi.js +0 -758
  747. data/generators/ckeditor_install/templates/ckeditor/_source/lang/hr.js +0 -758
  748. data/generators/ckeditor_install/templates/ckeditor/_source/lang/hu.js +0 -758
  749. data/generators/ckeditor_install/templates/ckeditor/_source/lang/is.js +0 -758
  750. data/generators/ckeditor_install/templates/ckeditor/_source/lang/it.js +0 -758
  751. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ja.js +0 -758
  752. data/generators/ckeditor_install/templates/ckeditor/_source/lang/km.js +0 -758
  753. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ko.js +0 -758
  754. data/generators/ckeditor_install/templates/ckeditor/_source/lang/lt.js +0 -758
  755. data/generators/ckeditor_install/templates/ckeditor/_source/lang/lv.js +0 -758
  756. data/generators/ckeditor_install/templates/ckeditor/_source/lang/mn.js +0 -758
  757. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ms.js +0 -758
  758. data/generators/ckeditor_install/templates/ckeditor/_source/lang/nb.js +0 -758
  759. data/generators/ckeditor_install/templates/ckeditor/_source/lang/nl.js +0 -758
  760. data/generators/ckeditor_install/templates/ckeditor/_source/lang/no.js +0 -758
  761. data/generators/ckeditor_install/templates/ckeditor/_source/lang/pl.js +0 -758
  762. data/generators/ckeditor_install/templates/ckeditor/_source/lang/pt-br.js +0 -757
  763. data/generators/ckeditor_install/templates/ckeditor/_source/lang/pt.js +0 -758
  764. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ro.js +0 -758
  765. data/generators/ckeditor_install/templates/ckeditor/_source/lang/ru.js +0 -758
  766. data/generators/ckeditor_install/templates/ckeditor/_source/lang/sk.js +0 -758
  767. data/generators/ckeditor_install/templates/ckeditor/_source/lang/sl.js +0 -758
  768. data/generators/ckeditor_install/templates/ckeditor/_source/lang/sr-latn.js +0 -758
  769. data/generators/ckeditor_install/templates/ckeditor/_source/lang/sr.js +0 -758
  770. data/generators/ckeditor_install/templates/ckeditor/_source/lang/sv.js +0 -758
  771. data/generators/ckeditor_install/templates/ckeditor/_source/lang/th.js +0 -758
  772. data/generators/ckeditor_install/templates/ckeditor/_source/lang/tr.js +0 -757
  773. data/generators/ckeditor_install/templates/ckeditor/_source/lang/uk.js +0 -758
  774. data/generators/ckeditor_install/templates/ckeditor/_source/lang/vi.js +0 -758
  775. data/generators/ckeditor_install/templates/ckeditor/_source/lang/zh-cn.js +0 -758
  776. data/generators/ckeditor_install/templates/ckeditor/_source/lang/zh.js +0 -758
  777. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/bidi/plugin.js +0 -259
  778. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/button/plugin.js +0 -277
  779. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/clipboard/dialogs/paste.js +0 -205
  780. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/clipboard/plugin.js +0 -412
  781. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/colorbutton/plugin.js +0 -250
  782. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +0 -336
  783. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/contextmenu/plugin.js +0 -290
  784. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/dialog/plugin.js +0 -3015
  785. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/dialogadvtab/plugin.js +0 -213
  786. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/dialogui/plugin.js +0 -1523
  787. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/div/plugin.js +0 -121
  788. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/elementspath/plugin.js +0 -206
  789. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/enterkey/plugin.js +0 -363
  790. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/fakeobjects/plugin.js +0 -122
  791. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/filebrowser/plugin.js +0 -501
  792. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/flash/dialogs/flash.js +0 -698
  793. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/flash/plugin.js +0 -168
  794. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/floatpanel/plugin.js +0 -402
  795. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/button.js +0 -135
  796. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/checkbox.js +0 -153
  797. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/form.js +0 -177
  798. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +0 -98
  799. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/radio.js +0 -135
  800. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/select.js +0 -556
  801. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/textarea.js +0 -114
  802. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/dialogs/textfield.js +0 -199
  803. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/forms/plugin.js +0 -284
  804. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/htmldataprocessor/plugin.js +0 -502
  805. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/image/dialogs/image.js +0 -1396
  806. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/image/plugin.js +0 -81
  807. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/indent/plugin.js +0 -455
  808. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/justify/plugin.js +0 -221
  809. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/link/dialogs/anchor.js +0 -99
  810. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/link/dialogs/link.js +0 -1424
  811. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/link/plugin.js +0 -238
  812. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/list/plugin.js +0 -710
  813. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/listblock/plugin.js +0 -257
  814. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/maximize/plugin.js +0 -350
  815. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/menu/plugin.js +0 -408
  816. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/menubutton/plugin.js +0 -94
  817. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/pagebreak/plugin.js +0 -121
  818. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/panel/plugin.js +0 -399
  819. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/panelbutton/plugin.js +0 -147
  820. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/pastefromword/filter/default.js +0 -1170
  821. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/pastetext/plugin.js +0 -145
  822. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/removeformat/plugin.js +0 -184
  823. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/richcombo/plugin.js +0 -370
  824. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/scayt/dialogs/options.js +0 -534
  825. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/scayt/plugin.js +0 -945
  826. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/showblocks/plugin.js +0 -155
  827. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/showborders/plugin.js +0 -201
  828. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/smiley/dialogs/smiley.js +0 -218
  829. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/sourcearea/plugin.js +0 -207
  830. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +0 -409
  831. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/specialchar/plugin.js +0 -29
  832. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/styles/plugin.js +0 -1479
  833. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/table/dialogs/table.js +0 -672
  834. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/tableresize/plugin.js +0 -450
  835. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +0 -533
  836. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/toolbar/plugin.js +0 -481
  837. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/undo/plugin.js +0 -554
  838. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/wsc/dialogs/wsc.js +0 -176
  839. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/wsc/plugin.js +0 -33
  840. data/generators/ckeditor_install/templates/ckeditor/_source/plugins/wysiwygarea/plugin.js +0 -1146
  841. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/dialog.css +0 -882
  842. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/icons.css +0 -357
  843. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/icons.png +0 -0
  844. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  845. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/mainui.css +0 -195
  846. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/menu.css +0 -216
  847. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/richcombo.css +0 -277
  848. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/skin.js +0 -268
  849. data/generators/ckeditor_install/templates/ckeditor/_source/skins/kama/toolbar.css +0 -409
  850. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/dialog.css +0 -785
  851. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/icons.css +0 -354
  852. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/icons.png +0 -0
  853. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  854. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/mainui.css +0 -145
  855. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/menu.css +0 -213
  856. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/richcombo.css +0 -297
  857. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/skin.js +0 -81
  858. data/generators/ckeditor_install/templates/ckeditor/_source/skins/office2003/toolbar.css +0 -470
  859. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/dialog.css +0 -800
  860. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/icons.css +0 -354
  861. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/icons.png +0 -0
  862. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  863. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/mainui.css +0 -154
  864. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/menu.css +0 -215
  865. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/richcombo.css +0 -297
  866. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/skin.js +0 -77
  867. data/generators/ckeditor_install/templates/ckeditor/_source/skins/v2/toolbar.css +0 -423
  868. data/generators/ckeditor_install/templates/ckeditor/_source/themes/default/theme.js +0 -361
  869. data/generators/ckeditor_install/templates/ckeditor/adapters/jquery.js +0 -6
  870. data/generators/ckeditor_install/templates/ckeditor/ckeditor.js +0 -137
  871. data/generators/ckeditor_install/templates/ckeditor/ckeditor.pack +0 -211
  872. data/generators/ckeditor_install/templates/ckeditor/ckeditor_basic.js +0 -8
  873. data/generators/ckeditor_install/templates/ckeditor/ckeditor_basic_source.js +0 -20
  874. data/generators/ckeditor_install/templates/ckeditor/ckeditor_source.js +0 -25
  875. data/generators/ckeditor_install/templates/ckeditor/lang/_translationstatus.txt +0 -60
  876. data/generators/ckeditor_install/templates/ckeditor/lang/af.js +0 -6
  877. data/generators/ckeditor_install/templates/ckeditor/lang/ar.js +0 -6
  878. data/generators/ckeditor_install/templates/ckeditor/lang/bg.js +0 -6
  879. data/generators/ckeditor_install/templates/ckeditor/lang/bn.js +0 -6
  880. data/generators/ckeditor_install/templates/ckeditor/lang/bs.js +0 -6
  881. data/generators/ckeditor_install/templates/ckeditor/lang/ca.js +0 -6
  882. data/generators/ckeditor_install/templates/ckeditor/lang/cs.js +0 -6
  883. data/generators/ckeditor_install/templates/ckeditor/lang/cy.js +0 -6
  884. data/generators/ckeditor_install/templates/ckeditor/lang/da.js +0 -6
  885. data/generators/ckeditor_install/templates/ckeditor/lang/de.js +0 -6
  886. data/generators/ckeditor_install/templates/ckeditor/lang/el.js +0 -6
  887. data/generators/ckeditor_install/templates/ckeditor/lang/en-au.js +0 -6
  888. data/generators/ckeditor_install/templates/ckeditor/lang/en-ca.js +0 -6
  889. data/generators/ckeditor_install/templates/ckeditor/lang/en-gb.js +0 -6
  890. data/generators/ckeditor_install/templates/ckeditor/lang/en.js +0 -6
  891. data/generators/ckeditor_install/templates/ckeditor/lang/eo.js +0 -6
  892. data/generators/ckeditor_install/templates/ckeditor/lang/es.js +0 -6
  893. data/generators/ckeditor_install/templates/ckeditor/lang/et.js +0 -6
  894. data/generators/ckeditor_install/templates/ckeditor/lang/eu.js +0 -6
  895. data/generators/ckeditor_install/templates/ckeditor/lang/fa.js +0 -6
  896. data/generators/ckeditor_install/templates/ckeditor/lang/fi.js +0 -6
  897. data/generators/ckeditor_install/templates/ckeditor/lang/fo.js +0 -6
  898. data/generators/ckeditor_install/templates/ckeditor/lang/fr-ca.js +0 -6
  899. data/generators/ckeditor_install/templates/ckeditor/lang/fr.js +0 -6
  900. data/generators/ckeditor_install/templates/ckeditor/lang/gl.js +0 -6
  901. data/generators/ckeditor_install/templates/ckeditor/lang/gu.js +0 -6
  902. data/generators/ckeditor_install/templates/ckeditor/lang/he.js +0 -6
  903. data/generators/ckeditor_install/templates/ckeditor/lang/hi.js +0 -6
  904. data/generators/ckeditor_install/templates/ckeditor/lang/hr.js +0 -6
  905. data/generators/ckeditor_install/templates/ckeditor/lang/hu.js +0 -6
  906. data/generators/ckeditor_install/templates/ckeditor/lang/is.js +0 -6
  907. data/generators/ckeditor_install/templates/ckeditor/lang/it.js +0 -6
  908. data/generators/ckeditor_install/templates/ckeditor/lang/ja.js +0 -6
  909. data/generators/ckeditor_install/templates/ckeditor/lang/km.js +0 -6
  910. data/generators/ckeditor_install/templates/ckeditor/lang/ko.js +0 -6
  911. data/generators/ckeditor_install/templates/ckeditor/lang/lt.js +0 -6
  912. data/generators/ckeditor_install/templates/ckeditor/lang/lv.js +0 -6
  913. data/generators/ckeditor_install/templates/ckeditor/lang/mn.js +0 -6
  914. data/generators/ckeditor_install/templates/ckeditor/lang/ms.js +0 -6
  915. data/generators/ckeditor_install/templates/ckeditor/lang/nb.js +0 -6
  916. data/generators/ckeditor_install/templates/ckeditor/lang/nl.js +0 -6
  917. data/generators/ckeditor_install/templates/ckeditor/lang/no.js +0 -6
  918. data/generators/ckeditor_install/templates/ckeditor/lang/pl.js +0 -6
  919. data/generators/ckeditor_install/templates/ckeditor/lang/pt-br.js +0 -6
  920. data/generators/ckeditor_install/templates/ckeditor/lang/pt.js +0 -6
  921. data/generators/ckeditor_install/templates/ckeditor/lang/ro.js +0 -6
  922. data/generators/ckeditor_install/templates/ckeditor/lang/ru.js +0 -6
  923. data/generators/ckeditor_install/templates/ckeditor/lang/sk.js +0 -6
  924. data/generators/ckeditor_install/templates/ckeditor/lang/sl.js +0 -6
  925. data/generators/ckeditor_install/templates/ckeditor/lang/sr-latn.js +0 -6
  926. data/generators/ckeditor_install/templates/ckeditor/lang/sr.js +0 -6
  927. data/generators/ckeditor_install/templates/ckeditor/lang/sv.js +0 -6
  928. data/generators/ckeditor_install/templates/ckeditor/lang/th.js +0 -6
  929. data/generators/ckeditor_install/templates/ckeditor/lang/tr.js +0 -6
  930. data/generators/ckeditor_install/templates/ckeditor/lang/uk.js +0 -6
  931. data/generators/ckeditor_install/templates/ckeditor/lang/vi.js +0 -6
  932. data/generators/ckeditor_install/templates/ckeditor/lang/zh-cn.js +0 -6
  933. data/generators/ckeditor_install/templates/ckeditor/lang/zh.js +0 -6
  934. data/generators/ckeditor_install/templates/ckeditor/plugins/clipboard/dialogs/paste.js +0 -7
  935. data/generators/ckeditor_install/templates/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -7
  936. data/generators/ckeditor_install/templates/ckeditor/plugins/flash/dialogs/flash.js +0 -9
  937. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/button.js +0 -6
  938. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/checkbox.js +0 -6
  939. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/form.js +0 -6
  940. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -6
  941. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/radio.js +0 -6
  942. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/select.js +0 -9
  943. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/textarea.js +0 -6
  944. data/generators/ckeditor_install/templates/ckeditor/plugins/forms/dialogs/textfield.js +0 -7
  945. data/generators/ckeditor_install/templates/ckeditor/plugins/image/dialogs/image.js +0 -13
  946. data/generators/ckeditor_install/templates/ckeditor/plugins/link/dialogs/anchor.js +0 -6
  947. data/generators/ckeditor_install/templates/ckeditor/plugins/link/dialogs/link.js +0 -11
  948. data/generators/ckeditor_install/templates/ckeditor/plugins/pastefromword/filter/default.js +0 -10
  949. data/generators/ckeditor_install/templates/ckeditor/plugins/scayt/dialogs/options.js +0 -8
  950. data/generators/ckeditor_install/templates/ckeditor/plugins/smiley/dialogs/smiley.js +0 -7
  951. data/generators/ckeditor_install/templates/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -7
  952. data/generators/ckeditor_install/templates/ckeditor/plugins/table/dialogs/table.js +0 -9
  953. data/generators/ckeditor_install/templates/ckeditor/plugins/tableresize/plugin.js +0 -7
  954. data/generators/ckeditor_install/templates/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -8
  955. data/generators/ckeditor_install/templates/ckeditor/plugins/wsc/dialogs/wsc.js +0 -7
  956. data/generators/ckeditor_install/templates/ckeditor/skins/kama/dialog.css +0 -9
  957. data/generators/ckeditor_install/templates/ckeditor/skins/kama/editor.css +0 -12
  958. data/generators/ckeditor_install/templates/ckeditor/skins/kama/icons.png +0 -0
  959. data/generators/ckeditor_install/templates/ckeditor/skins/kama/icons_rtl.png +0 -0
  960. data/generators/ckeditor_install/templates/ckeditor/skins/kama/skin.js +0 -7
  961. data/generators/ckeditor_install/templates/ckeditor/skins/office2003/dialog.css +0 -9
  962. data/generators/ckeditor_install/templates/ckeditor/skins/office2003/editor.css +0 -13
  963. data/generators/ckeditor_install/templates/ckeditor/skins/office2003/icons.png +0 -0
  964. data/generators/ckeditor_install/templates/ckeditor/skins/office2003/icons_rtl.png +0 -0
  965. data/generators/ckeditor_install/templates/ckeditor/skins/office2003/skin.js +0 -6
  966. data/generators/ckeditor_install/templates/ckeditor/skins/v2/dialog.css +0 -9
  967. data/generators/ckeditor_install/templates/ckeditor/skins/v2/editor.css +0 -12
  968. data/generators/ckeditor_install/templates/ckeditor/skins/v2/icons.png +0 -0
  969. data/generators/ckeditor_install/templates/ckeditor/skins/v2/icons_rtl.png +0 -0
  970. data/generators/ckeditor_install/templates/ckeditor/skins/v2/skin.js +0 -6
  971. data/generators/ckeditor_install/templates/ckeditor/themes/default/theme.js +0 -8
  972. data/generators/ckeditor_migration/USAGE +0 -12
  973. data/generators/ckeditor_migration/ckeditor_migration_generator.rb +0 -36
  974. data/generators/ckeditor_migration/templates/models/paperclip/asset.rb +0 -88
  975. data/lib/ckeditor/safe_buffer.rb +0 -34
@@ -0,0 +1,239 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @file Justify commands.
8
+ */
9
+
10
+ (function()
11
+ {
12
+ function getState( editor, path )
13
+ {
14
+ var firstBlock = path.block || path.blockLimit;
15
+
16
+ if ( !firstBlock || firstBlock.getName() == 'body' )
17
+ return CKEDITOR.TRISTATE_OFF;
18
+
19
+ return ( getAlignment( firstBlock, editor.config.useComputedState ) == this.value ) ?
20
+ CKEDITOR.TRISTATE_ON :
21
+ CKEDITOR.TRISTATE_OFF;
22
+ }
23
+
24
+ function getAlignment( element, useComputedState )
25
+ {
26
+ useComputedState = useComputedState === undefined || useComputedState;
27
+
28
+ var align;
29
+ if ( useComputedState )
30
+ align = element.getComputedStyle( 'text-align' );
31
+ else
32
+ {
33
+ while ( !element.hasAttribute || !( element.hasAttribute( 'align' ) || element.getStyle( 'text-align' ) ) )
34
+ {
35
+ var parent = element.getParent();
36
+ if ( !parent )
37
+ break;
38
+ element = parent;
39
+ }
40
+ align = element.getStyle( 'text-align' ) || element.getAttribute( 'align' ) || '';
41
+ }
42
+
43
+ align && ( align = align.replace( /-moz-|-webkit-|start|auto/i, '' ) );
44
+
45
+ !align && useComputedState && ( align = element.getComputedStyle( 'direction' ) == 'rtl' ? 'right' : 'left' );
46
+
47
+ return align;
48
+ }
49
+
50
+ function onSelectionChange( evt )
51
+ {
52
+ var command = evt.editor.getCommand( this.name );
53
+ command.state = getState.call( this, evt.editor, evt.data.path );
54
+ command.fire( 'state' );
55
+ }
56
+
57
+ function justifyCommand( editor, name, value )
58
+ {
59
+ this.name = name;
60
+ this.value = value;
61
+
62
+ var classes = editor.config.justifyClasses;
63
+ if ( classes )
64
+ {
65
+ switch ( value )
66
+ {
67
+ case 'left' :
68
+ this.cssClassName = classes[0];
69
+ break;
70
+ case 'center' :
71
+ this.cssClassName = classes[1];
72
+ break;
73
+ case 'right' :
74
+ this.cssClassName = classes[2];
75
+ break;
76
+ case 'justify' :
77
+ this.cssClassName = classes[3];
78
+ break;
79
+ }
80
+
81
+ this.cssClassRegex = new RegExp( '(?:^|\\s+)(?:' + classes.join( '|' ) + ')(?=$|\\s)' );
82
+ }
83
+ }
84
+
85
+ function onDirChanged( e )
86
+ {
87
+ var editor = e.editor;
88
+
89
+ var range = new CKEDITOR.dom.range( editor.document );
90
+ range.setStartBefore( e.data.node );
91
+ range.setEndAfter( e.data.node );
92
+
93
+ var walker = new CKEDITOR.dom.walker( range ),
94
+ node;
95
+
96
+ while ( ( node = walker.next() ) )
97
+ {
98
+ if ( node.type == CKEDITOR.NODE_ELEMENT )
99
+ {
100
+ // A child with the defined dir is to be ignored.
101
+ if ( !node.equals( e.data.node ) && node.getDirection() )
102
+ {
103
+ range.setStartAfter( node );
104
+ walker = new CKEDITOR.dom.walker( range );
105
+ continue;
106
+ }
107
+
108
+ // Switch the alignment.
109
+ var classes = editor.config.justifyClasses;
110
+ if ( classes )
111
+ {
112
+ // The left align class.
113
+ if ( node.hasClass( classes[ 0 ] ) )
114
+ {
115
+ node.removeClass( classes[ 0 ] );
116
+ node.addClass( classes[ 2 ] );
117
+ }
118
+ // The right align class.
119
+ else if ( node.hasClass( classes[ 2 ] ) )
120
+ {
121
+ node.removeClass( classes[ 2 ] );
122
+ node.addClass( classes[ 0 ] );
123
+ }
124
+ }
125
+
126
+ // Always switch CSS margins.
127
+ var style = 'text-align';
128
+ var align = node.getStyle( style );
129
+
130
+ if ( align == 'left' )
131
+ node.setStyle( style, 'right' );
132
+ else if ( align == 'right' )
133
+ node.setStyle( style, 'left' );
134
+ }
135
+ }
136
+ }
137
+
138
+ justifyCommand.prototype = {
139
+ exec : function( editor )
140
+ {
141
+ var selection = editor.getSelection(),
142
+ enterMode = editor.config.enterMode;
143
+
144
+ if ( !selection )
145
+ return;
146
+
147
+ var bookmarks = selection.createBookmarks(),
148
+ ranges = selection.getRanges( true );
149
+
150
+ var cssClassName = this.cssClassName,
151
+ iterator,
152
+ block;
153
+
154
+ var useComputedState = editor.config.useComputedState;
155
+ useComputedState = useComputedState === undefined || useComputedState;
156
+
157
+ for ( var i = ranges.length - 1 ; i >= 0 ; i-- )
158
+ {
159
+ iterator = ranges[ i ].createIterator();
160
+ iterator.enlargeBr = enterMode != CKEDITOR.ENTER_BR;
161
+
162
+ while ( ( block = iterator.getNextParagraph() ) )
163
+ {
164
+ block.removeAttribute( 'align' );
165
+ block.removeStyle( 'text-align' );
166
+
167
+ // Remove any of the alignment classes from the className.
168
+ var className = cssClassName && ( block.$.className =
169
+ CKEDITOR.tools.ltrim( block.$.className.replace( this.cssClassRegex, '' ) ) );
170
+
171
+ var apply =
172
+ ( this.state == CKEDITOR.TRISTATE_OFF ) &&
173
+ ( !useComputedState || ( getAlignment( block, true ) != this.value ) );
174
+
175
+ if ( cssClassName )
176
+ {
177
+ // Append the desired class name.
178
+ if ( apply )
179
+ block.addClass( cssClassName );
180
+ else if ( !className )
181
+ block.removeAttribute( 'class' );
182
+ }
183
+ else if ( apply )
184
+ block.setStyle( 'text-align', this.value );
185
+ }
186
+
187
+ }
188
+
189
+ editor.focus();
190
+ editor.forceNextSelectionCheck();
191
+ selection.selectBookmarks( bookmarks );
192
+ }
193
+ };
194
+
195
+ CKEDITOR.plugins.add( 'justify',
196
+ {
197
+ init : function( editor )
198
+ {
199
+ var left = new justifyCommand( editor, 'justifyleft', 'left' ),
200
+ center = new justifyCommand( editor, 'justifycenter', 'center' ),
201
+ right = new justifyCommand( editor, 'justifyright', 'right' ),
202
+ justify = new justifyCommand( editor, 'justifyblock', 'justify' );
203
+
204
+ editor.addCommand( 'justifyleft', left );
205
+ editor.addCommand( 'justifycenter', center );
206
+ editor.addCommand( 'justifyright', right );
207
+ editor.addCommand( 'justifyblock', justify );
208
+
209
+ editor.ui.addButton( 'JustifyLeft',
210
+ {
211
+ label : editor.lang.justify.left,
212
+ command : 'justifyleft'
213
+ } );
214
+ editor.ui.addButton( 'JustifyCenter',
215
+ {
216
+ label : editor.lang.justify.center,
217
+ command : 'justifycenter'
218
+ } );
219
+ editor.ui.addButton( 'JustifyRight',
220
+ {
221
+ label : editor.lang.justify.right,
222
+ command : 'justifyright'
223
+ } );
224
+ editor.ui.addButton( 'JustifyBlock',
225
+ {
226
+ label : editor.lang.justify.block,
227
+ command : 'justifyblock'
228
+ } );
229
+
230
+ editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, left ) );
231
+ editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, right ) );
232
+ editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, center ) );
233
+ editor.on( 'selectionChange', CKEDITOR.tools.bind( onSelectionChange, justify ) );
234
+ editor.on( 'dirChanged', onDirChanged );
235
+ },
236
+
237
+ requires : [ 'domiterator' ]
238
+ });
239
+ })();
@@ -0,0 +1,99 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ CKEDITOR.dialog.add( 'anchor', function( editor )
7
+ {
8
+ // Function called in onShow to load selected element.
9
+ var loadElements = function( editor, selection, element )
10
+ {
11
+ this.editMode = true;
12
+ this.editObj = element;
13
+
14
+ var attributeValue = this.editObj.getAttribute( 'name' );
15
+ if ( attributeValue )
16
+ this.setValueOf( 'info','txtName', attributeValue );
17
+ else
18
+ this.setValueOf( 'info','txtName', "" );
19
+ };
20
+
21
+ return {
22
+ title : editor.lang.anchor.title,
23
+ minWidth : 300,
24
+ minHeight : 60,
25
+ onOk : function()
26
+ {
27
+ // Always create a new anchor, because of IE BUG.
28
+ var name = this.getValueOf( 'info', 'txtName' ),
29
+ element = CKEDITOR.env.ie ?
30
+ editor.document.createElement( '<a name="' + CKEDITOR.tools.htmlEncode( name ) + '">' ) :
31
+ editor.document.createElement( 'a' );
32
+
33
+ // Move contents and attributes of old anchor to new anchor.
34
+ if ( this.editMode )
35
+ {
36
+ this.editObj.copyAttributes( element, { name : 1 } );
37
+ this.editObj.moveChildren( element );
38
+ }
39
+
40
+ // Set name.
41
+ element.data( 'cke-saved-name', false );
42
+ element.setAttribute( 'name', name );
43
+
44
+ // Insert a new anchor.
45
+ var fakeElement = editor.createFakeElement( element, 'cke_anchor', 'anchor' );
46
+ if ( !this.editMode )
47
+ editor.insertElement( fakeElement );
48
+ else
49
+ {
50
+ fakeElement.replace( this.fakeObj );
51
+ editor.getSelection().selectElement( fakeElement );
52
+ }
53
+
54
+ return true;
55
+ },
56
+ onShow : function()
57
+ {
58
+ this.editObj = false;
59
+ this.fakeObj = false;
60
+ this.editMode = false;
61
+
62
+ var selection = editor.getSelection();
63
+ var element = selection.getSelectedElement();
64
+ if ( element && element.data( 'cke-real-element-type' ) && element.data( 'cke-real-element-type' ) == 'anchor' )
65
+ {
66
+ this.fakeObj = element;
67
+ element = editor.restoreRealElement( this.fakeObj );
68
+ loadElements.apply( this, [ editor, selection, element ] );
69
+ selection.selectElement( this.fakeObj );
70
+ }
71
+ this.getContentElement( 'info', 'txtName' ).focus();
72
+ },
73
+ contents : [
74
+ {
75
+ id : 'info',
76
+ label : editor.lang.anchor.title,
77
+ accessKey : 'I',
78
+ elements :
79
+ [
80
+ {
81
+ type : 'text',
82
+ id : 'txtName',
83
+ label : editor.lang.anchor.name,
84
+ required: true,
85
+ validate : function()
86
+ {
87
+ if ( !this.getValue() )
88
+ {
89
+ alert( editor.lang.anchor.errorName );
90
+ return false;
91
+ }
92
+ return true;
93
+ }
94
+ }
95
+ ]
96
+ }
97
+ ]
98
+ };
99
+ } );
@@ -0,0 +1,1426 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ CKEDITOR.dialog.add( 'link', function( editor )
7
+ {
8
+ var plugin = CKEDITOR.plugins.link;
9
+ // Handles the event when the "Target" selection box is changed.
10
+ var targetChanged = function()
11
+ {
12
+ var dialog = this.getDialog(),
13
+ popupFeatures = dialog.getContentElement( 'target', 'popupFeatures' ),
14
+ targetName = dialog.getContentElement( 'target', 'linkTargetName' ),
15
+ value = this.getValue();
16
+
17
+ if ( !popupFeatures || !targetName )
18
+ return;
19
+
20
+ popupFeatures = popupFeatures.getElement();
21
+ popupFeatures.hide();
22
+ targetName.setValue( '' );
23
+
24
+ switch ( value )
25
+ {
26
+ case 'frame' :
27
+ targetName.setLabel( editor.lang.link.targetFrameName );
28
+ targetName.getElement().show();
29
+ break;
30
+ case 'popup' :
31
+ popupFeatures.show();
32
+ targetName.setLabel( editor.lang.link.targetPopupName );
33
+ targetName.getElement().show();
34
+ break;
35
+ default :
36
+ targetName.setValue( value );
37
+ targetName.getElement().hide();
38
+ break;
39
+ }
40
+
41
+ };
42
+
43
+ // Handles the event when the "Type" selection box is changed.
44
+ var linkTypeChanged = function()
45
+ {
46
+ var dialog = this.getDialog(),
47
+ partIds = [ 'urlOptions', 'anchorOptions', 'emailOptions' ],
48
+ typeValue = this.getValue(),
49
+ uploadTab = dialog.definition.getContents( 'upload' ),
50
+ uploadInitiallyHidden = uploadTab && uploadTab.hidden;
51
+
52
+ if ( typeValue == 'url' )
53
+ {
54
+ if ( editor.config.linkShowTargetTab )
55
+ dialog.showPage( 'target' );
56
+ if ( !uploadInitiallyHidden )
57
+ dialog.showPage( 'upload' );
58
+ }
59
+ else
60
+ {
61
+ dialog.hidePage( 'target' );
62
+ if ( !uploadInitiallyHidden )
63
+ dialog.hidePage( 'upload' );
64
+ }
65
+
66
+ for ( var i = 0 ; i < partIds.length ; i++ )
67
+ {
68
+ var element = dialog.getContentElement( 'info', partIds[i] );
69
+ if ( !element )
70
+ continue;
71
+
72
+ element = element.getElement().getParent().getParent();
73
+ if ( partIds[i] == typeValue + 'Options' )
74
+ element.show();
75
+ else
76
+ element.hide();
77
+ }
78
+
79
+ dialog.layout();
80
+ };
81
+
82
+ // Loads the parameters in a selected link to the link dialog fields.
83
+ var javascriptProtocolRegex = /^javascript:/,
84
+ emailRegex = /^mailto:([^?]+)(?:\?(.+))?$/,
85
+ emailSubjectRegex = /subject=([^;?:@&=$,\/]*)/,
86
+ emailBodyRegex = /body=([^;?:@&=$,\/]*)/,
87
+ anchorRegex = /^#(.*)$/,
88
+ urlRegex = /^((?:http|https|ftp|news):\/\/)?(.*)$/,
89
+ selectableTargets = /^(_(?:self|top|parent|blank))$/,
90
+ encodedEmailLinkRegex = /^javascript:void\(location\.href='mailto:'\+String\.fromCharCode\(([^)]+)\)(?:\+'(.*)')?\)$/,
91
+ functionCallProtectedEmailLinkRegex = /^javascript:([^(]+)\(([^)]+)\)$/;
92
+
93
+ var popupRegex =
94
+ /\s*window.open\(\s*this\.href\s*,\s*(?:'([^']*)'|null)\s*,\s*'([^']*)'\s*\)\s*;\s*return\s*false;*\s*/;
95
+ var popupFeaturesRegex = /(?:^|,)([^=]+)=(\d+|yes|no)/gi;
96
+
97
+ var parseLink = function( editor, element )
98
+ {
99
+ var href = ( element && ( element.data( 'cke-saved-href' ) || element.getAttribute( 'href' ) ) ) || '',
100
+ javascriptMatch,
101
+ emailMatch,
102
+ anchorMatch,
103
+ urlMatch,
104
+ retval = {};
105
+
106
+ if ( ( javascriptMatch = href.match( javascriptProtocolRegex ) ) )
107
+ {
108
+ if ( emailProtection == 'encode' )
109
+ {
110
+ href = href.replace( encodedEmailLinkRegex,
111
+ function ( match, protectedAddress, rest )
112
+ {
113
+ return 'mailto:' +
114
+ String.fromCharCode.apply( String, protectedAddress.split( ',' ) ) +
115
+ ( rest && unescapeSingleQuote( rest ) );
116
+ });
117
+ }
118
+ // Protected email link as function call.
119
+ else if ( emailProtection )
120
+ {
121
+ href.replace( functionCallProtectedEmailLinkRegex, function( match, funcName, funcArgs )
122
+ {
123
+ if ( funcName == compiledProtectionFunction.name )
124
+ {
125
+ retval.type = 'email';
126
+ var email = retval.email = {};
127
+
128
+ var paramRegex = /[^,\s]+/g,
129
+ paramQuoteRegex = /(^')|('$)/g,
130
+ paramsMatch = funcArgs.match( paramRegex ),
131
+ paramsMatchLength = paramsMatch.length,
132
+ paramName,
133
+ paramVal;
134
+
135
+ for ( var i = 0; i < paramsMatchLength; i++ )
136
+ {
137
+ paramVal = decodeURIComponent( unescapeSingleQuote( paramsMatch[ i ].replace( paramQuoteRegex, '' ) ) );
138
+ paramName = compiledProtectionFunction.params[ i ].toLowerCase();
139
+ email[ paramName ] = paramVal;
140
+ }
141
+ email.address = [ email.name, email.domain ].join( '@' );
142
+ }
143
+ } );
144
+ }
145
+ }
146
+
147
+ if ( !retval.type )
148
+ {
149
+ if ( ( anchorMatch = href.match( anchorRegex ) ) )
150
+ {
151
+ retval.type = 'anchor';
152
+ retval.anchor = {};
153
+ retval.anchor.name = retval.anchor.id = anchorMatch[1];
154
+ }
155
+ // Protected email link as encoded string.
156
+ else if ( ( emailMatch = href.match( emailRegex ) ) )
157
+ {
158
+ var subjectMatch = href.match( emailSubjectRegex ),
159
+ bodyMatch = href.match( emailBodyRegex );
160
+
161
+ retval.type = 'email';
162
+ var email = ( retval.email = {} );
163
+ email.address = emailMatch[ 1 ];
164
+ subjectMatch && ( email.subject = decodeURIComponent( subjectMatch[ 1 ] ) );
165
+ bodyMatch && ( email.body = decodeURIComponent( bodyMatch[ 1 ] ) );
166
+ }
167
+ // urlRegex matches empty strings, so need to check for href as well.
168
+ else if ( href && ( urlMatch = href.match( urlRegex ) ) )
169
+ {
170
+ retval.type = 'url';
171
+ retval.url = {};
172
+ retval.url.protocol = urlMatch[1];
173
+ retval.url.url = urlMatch[2];
174
+ }
175
+ else
176
+ retval.type = 'url';
177
+ }
178
+
179
+ // Load target and popup settings.
180
+ if ( element )
181
+ {
182
+ var target = element.getAttribute( 'target' );
183
+ retval.target = {};
184
+ retval.adv = {};
185
+
186
+ // IE BUG: target attribute is an empty string instead of null in IE if it's not set.
187
+ if ( !target )
188
+ {
189
+ var onclick = element.data( 'cke-pa-onclick' ) || element.getAttribute( 'onclick' ),
190
+ onclickMatch = onclick && onclick.match( popupRegex );
191
+ if ( onclickMatch )
192
+ {
193
+ retval.target.type = 'popup';
194
+ retval.target.name = onclickMatch[1];
195
+
196
+ var featureMatch;
197
+ while ( ( featureMatch = popupFeaturesRegex.exec( onclickMatch[2] ) ) )
198
+ {
199
+ if ( featureMatch[2] == 'yes' || featureMatch[2] == '1' )
200
+ retval.target[ featureMatch[1] ] = true;
201
+ else if ( isFinite( featureMatch[2] ) )
202
+ retval.target[ featureMatch[1] ] = featureMatch[2];
203
+ }
204
+ }
205
+ }
206
+ else
207
+ {
208
+ var targetMatch = target.match( selectableTargets );
209
+ if ( targetMatch )
210
+ retval.target.type = retval.target.name = target;
211
+ else
212
+ {
213
+ retval.target.type = 'frame';
214
+ retval.target.name = target;
215
+ }
216
+ }
217
+
218
+ var me = this;
219
+ var advAttr = function( inputName, attrName )
220
+ {
221
+ var value = element.getAttribute( attrName );
222
+ if ( value !== null )
223
+ retval.adv[ inputName ] = value || '';
224
+ };
225
+ advAttr( 'advId', 'id' );
226
+ advAttr( 'advLangDir', 'dir' );
227
+ advAttr( 'advAccessKey', 'accessKey' );
228
+ advAttr( 'advName', 'name' );
229
+ advAttr( 'advLangCode', 'lang' );
230
+ advAttr( 'advTabIndex', 'tabindex' );
231
+ advAttr( 'advTitle', 'title' );
232
+ advAttr( 'advContentType', 'type' );
233
+ advAttr( 'advCSSClasses', 'class' );
234
+ advAttr( 'advCharset', 'charset' );
235
+ advAttr( 'advStyles', 'style' );
236
+ }
237
+
238
+ // Find out whether we have any anchors in the editor.
239
+ // Get all IMG elements in CK document.
240
+ var elements = editor.document.getElementsByTag( 'img' ),
241
+ realAnchors = new CKEDITOR.dom.nodeList( editor.document.$.anchors ),
242
+ anchors = retval.anchors = [];
243
+
244
+ for ( var i = 0; i < elements.count() ; i++ )
245
+ {
246
+ var item = elements.getItem( i );
247
+ if ( item.data( 'cke-realelement' ) && item.data( 'cke-real-element-type' ) == 'anchor' )
248
+ anchors.push( editor.restoreRealElement( item ) );
249
+ }
250
+
251
+ for ( i = 0 ; i < realAnchors.count() ; i++ )
252
+ anchors.push( realAnchors.getItem( i ) );
253
+
254
+ for ( i = 0 ; i < anchors.length ; i++ )
255
+ {
256
+ item = anchors[ i ];
257
+ anchors[ i ] = { name : item.getAttribute( 'name' ), id : item.getAttribute( 'id' ) };
258
+ }
259
+
260
+ // Record down the selected element in the dialog.
261
+ this._.selectedElement = element;
262
+
263
+ return retval;
264
+ };
265
+
266
+ var setupParams = function( page, data )
267
+ {
268
+ if ( data[page] )
269
+ this.setValue( data[page][this.id] || '' );
270
+ };
271
+
272
+ var setupPopupParams = function( data )
273
+ {
274
+ return setupParams.call( this, 'target', data );
275
+ };
276
+
277
+ var setupAdvParams = function( data )
278
+ {
279
+ return setupParams.call( this, 'adv', data );
280
+ };
281
+
282
+ var commitParams = function( page, data )
283
+ {
284
+ if ( !data[page] )
285
+ data[page] = {};
286
+
287
+ data[page][this.id] = this.getValue() || '';
288
+ };
289
+
290
+ var commitPopupParams = function( data )
291
+ {
292
+ return commitParams.call( this, 'target', data );
293
+ };
294
+
295
+ var commitAdvParams = function( data )
296
+ {
297
+ return commitParams.call( this, 'adv', data );
298
+ };
299
+
300
+ function unescapeSingleQuote( str )
301
+ {
302
+ return str.replace( /\\'/g, '\'' );
303
+ }
304
+
305
+ function escapeSingleQuote( str )
306
+ {
307
+ return str.replace( /'/g, '\\$&' );
308
+ }
309
+
310
+ var emailProtection = editor.config.emailProtection || '';
311
+
312
+ // Compile the protection function pattern.
313
+ if ( emailProtection && emailProtection != 'encode' )
314
+ {
315
+ var compiledProtectionFunction = {};
316
+
317
+ emailProtection.replace( /^([^(]+)\(([^)]+)\)$/, function( match, funcName, params )
318
+ {
319
+ compiledProtectionFunction.name = funcName;
320
+ compiledProtectionFunction.params = [];
321
+ params.replace( /[^,\s]+/g, function( param )
322
+ {
323
+ compiledProtectionFunction.params.push( param );
324
+ } );
325
+ } );
326
+ }
327
+
328
+ function protectEmailLinkAsFunction( email )
329
+ {
330
+ var retval,
331
+ name = compiledProtectionFunction.name,
332
+ params = compiledProtectionFunction.params,
333
+ paramName,
334
+ paramValue;
335
+
336
+ retval = [ name, '(' ];
337
+ for ( var i = 0; i < params.length; i++ )
338
+ {
339
+ paramName = params[ i ].toLowerCase();
340
+ paramValue = email[ paramName ];
341
+
342
+ i > 0 && retval.push( ',' );
343
+ retval.push( '\'',
344
+ paramValue ?
345
+ escapeSingleQuote( encodeURIComponent( email[ paramName ] ) )
346
+ : '',
347
+ '\'');
348
+ }
349
+ retval.push( ')' );
350
+ return retval.join( '' );
351
+ }
352
+
353
+ function protectEmailAddressAsEncodedString( address )
354
+ {
355
+ var charCode,
356
+ length = address.length,
357
+ encodedChars = [];
358
+ for ( var i = 0; i < length; i++ )
359
+ {
360
+ charCode = address.charCodeAt( i );
361
+ encodedChars.push( charCode );
362
+ }
363
+ return 'String.fromCharCode(' + encodedChars.join( ',' ) + ')';
364
+ }
365
+
366
+ var commonLang = editor.lang.common,
367
+ linkLang = editor.lang.link;
368
+
369
+ return {
370
+ title : linkLang.title,
371
+ minWidth : 350,
372
+ minHeight : 230,
373
+ contents : [
374
+ {
375
+ id : 'info',
376
+ label : linkLang.info,
377
+ title : linkLang.info,
378
+ elements :
379
+ [
380
+ {
381
+ id : 'linkType',
382
+ type : 'select',
383
+ label : linkLang.type,
384
+ 'default' : 'url',
385
+ items :
386
+ [
387
+ [ linkLang.toUrl, 'url' ],
388
+ [ linkLang.toAnchor, 'anchor' ],
389
+ [ linkLang.toEmail, 'email' ]
390
+ ],
391
+ onChange : linkTypeChanged,
392
+ setup : function( data )
393
+ {
394
+ if ( data.type )
395
+ this.setValue( data.type );
396
+ },
397
+ commit : function( data )
398
+ {
399
+ data.type = this.getValue();
400
+ }
401
+ },
402
+ {
403
+ type : 'vbox',
404
+ id : 'urlOptions',
405
+ children :
406
+ [
407
+ {
408
+ type : 'hbox',
409
+ widths : [ '25%', '75%' ],
410
+ children :
411
+ [
412
+ {
413
+ id : 'protocol',
414
+ type : 'select',
415
+ label : commonLang.protocol,
416
+ 'default' : 'http://',
417
+ items :
418
+ [
419
+ // Force 'ltr' for protocol names in BIDI. (#5433)
420
+ [ 'http://\u200E', 'http://' ],
421
+ [ 'https://\u200E', 'https://' ],
422
+ [ 'ftp://\u200E', 'ftp://' ],
423
+ [ 'news://\u200E', 'news://' ],
424
+ [ linkLang.other , '' ]
425
+ ],
426
+ setup : function( data )
427
+ {
428
+ if ( data.url )
429
+ this.setValue( data.url.protocol || '' );
430
+ },
431
+ commit : function( data )
432
+ {
433
+ if ( !data.url )
434
+ data.url = {};
435
+
436
+ data.url.protocol = this.getValue();
437
+ }
438
+ },
439
+ {
440
+ type : 'text',
441
+ id : 'url',
442
+ label : commonLang.url,
443
+ required: true,
444
+ onLoad : function ()
445
+ {
446
+ this.allowOnChange = true;
447
+ },
448
+ onKeyUp : function()
449
+ {
450
+ this.allowOnChange = false;
451
+ var protocolCmb = this.getDialog().getContentElement( 'info', 'protocol' ),
452
+ url = this.getValue(),
453
+ urlOnChangeProtocol = /^(http|https|ftp|news):\/\/(?=.)/gi,
454
+ urlOnChangeTestOther = /^((javascript:)|[#\/\.\?])/gi;
455
+
456
+ var protocol = urlOnChangeProtocol.exec( url );
457
+ if ( protocol )
458
+ {
459
+ this.setValue( url.substr( protocol[ 0 ].length ) );
460
+ protocolCmb.setValue( protocol[ 0 ].toLowerCase() );
461
+ }
462
+ else if ( urlOnChangeTestOther.test( url ) )
463
+ protocolCmb.setValue( '' );
464
+
465
+ this.allowOnChange = true;
466
+ },
467
+ onChange : function()
468
+ {
469
+ if ( this.allowOnChange ) // Dont't call on dialog load.
470
+ this.onKeyUp();
471
+ },
472
+ validate : function()
473
+ {
474
+ var dialog = this.getDialog();
475
+
476
+ if ( dialog.getContentElement( 'info', 'linkType' ) &&
477
+ dialog.getValueOf( 'info', 'linkType' ) != 'url' )
478
+ return true;
479
+
480
+ if ( this.getDialog().fakeObj ) // Edit Anchor.
481
+ return true;
482
+
483
+ var func = CKEDITOR.dialog.validate.notEmpty( linkLang.noUrl );
484
+ return func.apply( this );
485
+ },
486
+ setup : function( data )
487
+ {
488
+ this.allowOnChange = false;
489
+ if ( data.url )
490
+ this.setValue( data.url.url );
491
+ this.allowOnChange = true;
492
+
493
+ },
494
+ commit : function( data )
495
+ {
496
+ // IE will not trigger the onChange event if the mouse has been used
497
+ // to carry all the operations #4724
498
+ this.onChange();
499
+
500
+ if ( !data.url )
501
+ data.url = {};
502
+
503
+ data.url.url = this.getValue();
504
+ this.allowOnChange = false;
505
+ }
506
+ }
507
+ ],
508
+ setup : function( data )
509
+ {
510
+ if ( !this.getDialog().getContentElement( 'info', 'linkType' ) )
511
+ this.getElement().show();
512
+ }
513
+ },
514
+ {
515
+ type : 'button',
516
+ id : 'browse',
517
+ hidden : 'true',
518
+ filebrowser : 'info:url',
519
+ label : commonLang.browseServer
520
+ }
521
+ ]
522
+ },
523
+ {
524
+ type : 'vbox',
525
+ id : 'anchorOptions',
526
+ width : 260,
527
+ align : 'center',
528
+ padding : 0,
529
+ children :
530
+ [
531
+ {
532
+ type : 'fieldset',
533
+ id : 'selectAnchorText',
534
+ label : linkLang.selectAnchor,
535
+ setup : function( data )
536
+ {
537
+ if ( data.anchors.length > 0 )
538
+ this.getElement().show();
539
+ else
540
+ this.getElement().hide();
541
+ },
542
+ children :
543
+ [
544
+ {
545
+ type : 'hbox',
546
+ id : 'selectAnchor',
547
+ children :
548
+ [
549
+ {
550
+ type : 'select',
551
+ id : 'anchorName',
552
+ 'default' : '',
553
+ label : linkLang.anchorName,
554
+ style : 'width: 100%;',
555
+ items :
556
+ [
557
+ [ '' ]
558
+ ],
559
+ setup : function( data )
560
+ {
561
+ this.clear();
562
+ this.add( '' );
563
+ for ( var i = 0 ; i < data.anchors.length ; i++ )
564
+ {
565
+ if ( data.anchors[i].name )
566
+ this.add( data.anchors[i].name );
567
+ }
568
+
569
+ if ( data.anchor )
570
+ this.setValue( data.anchor.name );
571
+
572
+ var linkType = this.getDialog().getContentElement( 'info', 'linkType' );
573
+ if ( linkType && linkType.getValue() == 'email' )
574
+ this.focus();
575
+ },
576
+ commit : function( data )
577
+ {
578
+ if ( !data.anchor )
579
+ data.anchor = {};
580
+
581
+ data.anchor.name = this.getValue();
582
+ }
583
+ },
584
+ {
585
+ type : 'select',
586
+ id : 'anchorId',
587
+ 'default' : '',
588
+ label : linkLang.anchorId,
589
+ style : 'width: 100%;',
590
+ items :
591
+ [
592
+ [ '' ]
593
+ ],
594
+ setup : function( data )
595
+ {
596
+ this.clear();
597
+ this.add( '' );
598
+ for ( var i = 0 ; i < data.anchors.length ; i++ )
599
+ {
600
+ if ( data.anchors[i].id )
601
+ this.add( data.anchors[i].id );
602
+ }
603
+
604
+ if ( data.anchor )
605
+ this.setValue( data.anchor.id );
606
+ },
607
+ commit : function( data )
608
+ {
609
+ if ( !data.anchor )
610
+ data.anchor = {};
611
+
612
+ data.anchor.id = this.getValue();
613
+ }
614
+ }
615
+ ],
616
+ setup : function( data )
617
+ {
618
+ if ( data.anchors.length > 0 )
619
+ this.getElement().show();
620
+ else
621
+ this.getElement().hide();
622
+ }
623
+ }
624
+ ]
625
+ },
626
+ {
627
+ type : 'html',
628
+ id : 'noAnchors',
629
+ style : 'text-align: center;',
630
+ html : '<div role="label" tabIndex="-1">' + CKEDITOR.tools.htmlEncode( linkLang.noAnchors ) + '</div>',
631
+ // Focus the first element defined in above html.
632
+ focus : true,
633
+ setup : function( data )
634
+ {
635
+ if ( data.anchors.length < 1 )
636
+ this.getElement().show();
637
+ else
638
+ this.getElement().hide();
639
+ }
640
+ }
641
+ ],
642
+ setup : function( data )
643
+ {
644
+ if ( !this.getDialog().getContentElement( 'info', 'linkType' ) )
645
+ this.getElement().hide();
646
+ }
647
+ },
648
+ {
649
+ type : 'vbox',
650
+ id : 'emailOptions',
651
+ padding : 1,
652
+ children :
653
+ [
654
+ {
655
+ type : 'text',
656
+ id : 'emailAddress',
657
+ label : linkLang.emailAddress,
658
+ required : true,
659
+ validate : function()
660
+ {
661
+ var dialog = this.getDialog();
662
+
663
+ if ( !dialog.getContentElement( 'info', 'linkType' ) ||
664
+ dialog.getValueOf( 'info', 'linkType' ) != 'email' )
665
+ return true;
666
+
667
+ var func = CKEDITOR.dialog.validate.notEmpty( linkLang.noEmail );
668
+ return func.apply( this );
669
+ },
670
+ setup : function( data )
671
+ {
672
+ if ( data.email )
673
+ this.setValue( data.email.address );
674
+
675
+ var linkType = this.getDialog().getContentElement( 'info', 'linkType' );
676
+ if ( linkType && linkType.getValue() == 'email' )
677
+ this.select();
678
+ },
679
+ commit : function( data )
680
+ {
681
+ if ( !data.email )
682
+ data.email = {};
683
+
684
+ data.email.address = this.getValue();
685
+ }
686
+ },
687
+ {
688
+ type : 'text',
689
+ id : 'emailSubject',
690
+ label : linkLang.emailSubject,
691
+ setup : function( data )
692
+ {
693
+ if ( data.email )
694
+ this.setValue( data.email.subject );
695
+ },
696
+ commit : function( data )
697
+ {
698
+ if ( !data.email )
699
+ data.email = {};
700
+
701
+ data.email.subject = this.getValue();
702
+ }
703
+ },
704
+ {
705
+ type : 'textarea',
706
+ id : 'emailBody',
707
+ label : linkLang.emailBody,
708
+ rows : 3,
709
+ 'default' : '',
710
+ setup : function( data )
711
+ {
712
+ if ( data.email )
713
+ this.setValue( data.email.body );
714
+ },
715
+ commit : function( data )
716
+ {
717
+ if ( !data.email )
718
+ data.email = {};
719
+
720
+ data.email.body = this.getValue();
721
+ }
722
+ }
723
+ ],
724
+ setup : function( data )
725
+ {
726
+ if ( !this.getDialog().getContentElement( 'info', 'linkType' ) )
727
+ this.getElement().hide();
728
+ }
729
+ }
730
+ ]
731
+ },
732
+ {
733
+ id : 'target',
734
+ label : linkLang.target,
735
+ title : linkLang.target,
736
+ elements :
737
+ [
738
+ {
739
+ type : 'hbox',
740
+ widths : [ '50%', '50%' ],
741
+ children :
742
+ [
743
+ {
744
+ type : 'select',
745
+ id : 'linkTargetType',
746
+ label : commonLang.target,
747
+ 'default' : 'notSet',
748
+ style : 'width : 100%;',
749
+ 'items' :
750
+ [
751
+ [ commonLang.notSet, 'notSet' ],
752
+ [ linkLang.targetFrame, 'frame' ],
753
+ [ linkLang.targetPopup, 'popup' ],
754
+ [ commonLang.targetNew, '_blank' ],
755
+ [ commonLang.targetTop, '_top' ],
756
+ [ commonLang.targetSelf, '_self' ],
757
+ [ commonLang.targetParent, '_parent' ]
758
+ ],
759
+ onChange : targetChanged,
760
+ setup : function( data )
761
+ {
762
+ if ( data.target )
763
+ this.setValue( data.target.type );
764
+ targetChanged.call( this );
765
+ },
766
+ commit : function( data )
767
+ {
768
+ if ( !data.target )
769
+ data.target = {};
770
+
771
+ data.target.type = this.getValue();
772
+ }
773
+ },
774
+ {
775
+ type : 'text',
776
+ id : 'linkTargetName',
777
+ label : linkLang.targetFrameName,
778
+ 'default' : '',
779
+ setup : function( data )
780
+ {
781
+ if ( data.target )
782
+ this.setValue( data.target.name );
783
+ },
784
+ commit : function( data )
785
+ {
786
+ if ( !data.target )
787
+ data.target = {};
788
+
789
+ data.target.name = this.getValue().replace(/\W/gi, '');
790
+ }
791
+ }
792
+ ]
793
+ },
794
+ {
795
+ type : 'vbox',
796
+ width : '100%',
797
+ align : 'center',
798
+ padding : 2,
799
+ id : 'popupFeatures',
800
+ children :
801
+ [
802
+ {
803
+ type : 'fieldset',
804
+ label : linkLang.popupFeatures,
805
+ children :
806
+ [
807
+ {
808
+ type : 'hbox',
809
+ children :
810
+ [
811
+ {
812
+ type : 'checkbox',
813
+ id : 'resizable',
814
+ label : linkLang.popupResizable,
815
+ setup : setupPopupParams,
816
+ commit : commitPopupParams
817
+ },
818
+ {
819
+ type : 'checkbox',
820
+ id : 'status',
821
+ label : linkLang.popupStatusBar,
822
+ setup : setupPopupParams,
823
+ commit : commitPopupParams
824
+
825
+ }
826
+ ]
827
+ },
828
+ {
829
+ type : 'hbox',
830
+ children :
831
+ [
832
+ {
833
+ type : 'checkbox',
834
+ id : 'location',
835
+ label : linkLang.popupLocationBar,
836
+ setup : setupPopupParams,
837
+ commit : commitPopupParams
838
+
839
+ },
840
+ {
841
+ type : 'checkbox',
842
+ id : 'toolbar',
843
+ label : linkLang.popupToolbar,
844
+ setup : setupPopupParams,
845
+ commit : commitPopupParams
846
+
847
+ }
848
+ ]
849
+ },
850
+ {
851
+ type : 'hbox',
852
+ children :
853
+ [
854
+ {
855
+ type : 'checkbox',
856
+ id : 'menubar',
857
+ label : linkLang.popupMenuBar,
858
+ setup : setupPopupParams,
859
+ commit : commitPopupParams
860
+
861
+ },
862
+ {
863
+ type : 'checkbox',
864
+ id : 'fullscreen',
865
+ label : linkLang.popupFullScreen,
866
+ setup : setupPopupParams,
867
+ commit : commitPopupParams
868
+
869
+ }
870
+ ]
871
+ },
872
+ {
873
+ type : 'hbox',
874
+ children :
875
+ [
876
+ {
877
+ type : 'checkbox',
878
+ id : 'scrollbars',
879
+ label : linkLang.popupScrollBars,
880
+ setup : setupPopupParams,
881
+ commit : commitPopupParams
882
+
883
+ },
884
+ {
885
+ type : 'checkbox',
886
+ id : 'dependent',
887
+ label : linkLang.popupDependent,
888
+ setup : setupPopupParams,
889
+ commit : commitPopupParams
890
+
891
+ }
892
+ ]
893
+ },
894
+ {
895
+ type : 'hbox',
896
+ children :
897
+ [
898
+ {
899
+ type : 'text',
900
+ widths : [ '50%', '50%' ],
901
+ labelLayout : 'horizontal',
902
+ label : commonLang.width,
903
+ id : 'width',
904
+ setup : setupPopupParams,
905
+ commit : commitPopupParams
906
+
907
+ },
908
+ {
909
+ type : 'text',
910
+ labelLayout : 'horizontal',
911
+ widths : [ '50%', '50%' ],
912
+ label : linkLang.popupLeft,
913
+ id : 'left',
914
+ setup : setupPopupParams,
915
+ commit : commitPopupParams
916
+
917
+ }
918
+ ]
919
+ },
920
+ {
921
+ type : 'hbox',
922
+ children :
923
+ [
924
+ {
925
+ type : 'text',
926
+ labelLayout : 'horizontal',
927
+ widths : [ '50%', '50%' ],
928
+ label : commonLang.height,
929
+ id : 'height',
930
+ setup : setupPopupParams,
931
+ commit : commitPopupParams
932
+
933
+ },
934
+ {
935
+ type : 'text',
936
+ labelLayout : 'horizontal',
937
+ label : linkLang.popupTop,
938
+ widths : [ '50%', '50%' ],
939
+ id : 'top',
940
+ setup : setupPopupParams,
941
+ commit : commitPopupParams
942
+
943
+ }
944
+ ]
945
+ }
946
+ ]
947
+ }
948
+ ]
949
+ }
950
+ ]
951
+ },
952
+ {
953
+ id : 'upload',
954
+ label : linkLang.upload,
955
+ title : linkLang.upload,
956
+ hidden : true,
957
+ filebrowser : 'uploadButton',
958
+ elements :
959
+ [
960
+ {
961
+ type : 'file',
962
+ id : 'upload',
963
+ label : commonLang.upload,
964
+ style: 'height:40px',
965
+ size : 29
966
+ },
967
+ {
968
+ type : 'fileButton',
969
+ id : 'uploadButton',
970
+ label : commonLang.uploadSubmit,
971
+ filebrowser : 'info:url',
972
+ 'for' : [ 'upload', 'upload' ]
973
+ }
974
+ ]
975
+ },
976
+ {
977
+ id : 'advanced',
978
+ label : linkLang.advanced,
979
+ title : linkLang.advanced,
980
+ elements :
981
+ [
982
+ {
983
+ type : 'vbox',
984
+ padding : 1,
985
+ children :
986
+ [
987
+ {
988
+ type : 'hbox',
989
+ widths : [ '45%', '35%', '20%' ],
990
+ children :
991
+ [
992
+ {
993
+ type : 'text',
994
+ id : 'advId',
995
+ label : linkLang.id,
996
+ setup : setupAdvParams,
997
+ commit : commitAdvParams
998
+ },
999
+ {
1000
+ type : 'select',
1001
+ id : 'advLangDir',
1002
+ label : linkLang.langDir,
1003
+ 'default' : '',
1004
+ style : 'width:110px',
1005
+ items :
1006
+ [
1007
+ [ commonLang.notSet, '' ],
1008
+ [ linkLang.langDirLTR, 'ltr' ],
1009
+ [ linkLang.langDirRTL, 'rtl' ]
1010
+ ],
1011
+ setup : setupAdvParams,
1012
+ commit : commitAdvParams
1013
+ },
1014
+ {
1015
+ type : 'text',
1016
+ id : 'advAccessKey',
1017
+ width : '80px',
1018
+ label : linkLang.acccessKey,
1019
+ maxLength : 1,
1020
+ setup : setupAdvParams,
1021
+ commit : commitAdvParams
1022
+
1023
+ }
1024
+ ]
1025
+ },
1026
+ {
1027
+ type : 'hbox',
1028
+ widths : [ '45%', '35%', '20%' ],
1029
+ children :
1030
+ [
1031
+ {
1032
+ type : 'text',
1033
+ label : linkLang.name,
1034
+ id : 'advName',
1035
+ setup : setupAdvParams,
1036
+ commit : commitAdvParams
1037
+
1038
+ },
1039
+ {
1040
+ type : 'text',
1041
+ label : linkLang.langCode,
1042
+ id : 'advLangCode',
1043
+ width : '110px',
1044
+ 'default' : '',
1045
+ setup : setupAdvParams,
1046
+ commit : commitAdvParams
1047
+
1048
+ },
1049
+ {
1050
+ type : 'text',
1051
+ label : linkLang.tabIndex,
1052
+ id : 'advTabIndex',
1053
+ width : '80px',
1054
+ maxLength : 5,
1055
+ setup : setupAdvParams,
1056
+ commit : commitAdvParams
1057
+
1058
+ }
1059
+ ]
1060
+ }
1061
+ ]
1062
+ },
1063
+ {
1064
+ type : 'vbox',
1065
+ padding : 1,
1066
+ children :
1067
+ [
1068
+ {
1069
+ type : 'hbox',
1070
+ widths : [ '45%', '55%' ],
1071
+ children :
1072
+ [
1073
+ {
1074
+ type : 'text',
1075
+ label : linkLang.advisoryTitle,
1076
+ 'default' : '',
1077
+ id : 'advTitle',
1078
+ setup : setupAdvParams,
1079
+ commit : commitAdvParams
1080
+
1081
+ },
1082
+ {
1083
+ type : 'text',
1084
+ label : linkLang.advisoryContentType,
1085
+ 'default' : '',
1086
+ id : 'advContentType',
1087
+ setup : setupAdvParams,
1088
+ commit : commitAdvParams
1089
+
1090
+ }
1091
+ ]
1092
+ },
1093
+ {
1094
+ type : 'hbox',
1095
+ widths : [ '45%', '55%' ],
1096
+ children :
1097
+ [
1098
+ {
1099
+ type : 'text',
1100
+ label : linkLang.cssClasses,
1101
+ 'default' : '',
1102
+ id : 'advCSSClasses',
1103
+ setup : setupAdvParams,
1104
+ commit : commitAdvParams
1105
+
1106
+ },
1107
+ {
1108
+ type : 'text',
1109
+ label : linkLang.charset,
1110
+ 'default' : '',
1111
+ id : 'advCharset',
1112
+ setup : setupAdvParams,
1113
+ commit : commitAdvParams
1114
+
1115
+ }
1116
+ ]
1117
+ },
1118
+ {
1119
+ type : 'hbox',
1120
+ children :
1121
+ [
1122
+ {
1123
+ type : 'text',
1124
+ label : linkLang.styles,
1125
+ 'default' : '',
1126
+ id : 'advStyles',
1127
+ setup : setupAdvParams,
1128
+ commit : commitAdvParams
1129
+
1130
+ }
1131
+ ]
1132
+ }
1133
+ ]
1134
+ }
1135
+ ]
1136
+ }
1137
+ ],
1138
+ onShow : function()
1139
+ {
1140
+ this.fakeObj = false;
1141
+
1142
+ var editor = this.getParentEditor(),
1143
+ selection = editor.getSelection(),
1144
+ element = null;
1145
+
1146
+ // Fill in all the relevant fields if there's already one link selected.
1147
+ if ( ( element = plugin.getSelectedLink( editor ) ) && element.hasAttribute( 'href' ) )
1148
+ selection.selectElement( element );
1149
+ else if ( ( element = selection.getSelectedElement() ) && element.is( 'img' )
1150
+ && element.data( 'cke-real-element-type' )
1151
+ && element.data( 'cke-real-element-type' ) == 'anchor' )
1152
+ {
1153
+ this.fakeObj = element;
1154
+ element = editor.restoreRealElement( this.fakeObj );
1155
+ selection.selectElement( this.fakeObj );
1156
+ }
1157
+ else
1158
+ element = null;
1159
+
1160
+ this.setupContent( parseLink.apply( this, [ editor, element ] ) );
1161
+ },
1162
+ onOk : function()
1163
+ {
1164
+ var attributes = { href : 'javascript:void(0)/*' + CKEDITOR.tools.getNextNumber() + '*/' },
1165
+ removeAttributes = [],
1166
+ data = { href : attributes.href },
1167
+ me = this,
1168
+ editor = this.getParentEditor();
1169
+
1170
+ this.commitContent( data );
1171
+
1172
+ // Compose the URL.
1173
+ switch ( data.type || 'url' )
1174
+ {
1175
+ case 'url':
1176
+ var protocol = ( data.url && data.url.protocol != undefined ) ? data.url.protocol : 'http://',
1177
+ url = ( data.url && data.url.url ) || '';
1178
+ attributes[ 'data-cke-saved-href' ] = ( url.indexOf( '/' ) === 0 ) ? url : protocol + url;
1179
+ break;
1180
+ case 'anchor':
1181
+ var name = ( data.anchor && data.anchor.name ),
1182
+ id = ( data.anchor && data.anchor.id );
1183
+ attributes[ 'data-cke-saved-href' ] = '#' + ( name || id || '' );
1184
+ break;
1185
+ case 'email':
1186
+
1187
+ var linkHref,
1188
+ email = data.email,
1189
+ address = email.address;
1190
+
1191
+ switch( emailProtection )
1192
+ {
1193
+ case '' :
1194
+ case 'encode' :
1195
+ {
1196
+ var subject = encodeURIComponent( email.subject || '' ),
1197
+ body = encodeURIComponent( email.body || '' );
1198
+
1199
+ // Build the e-mail parameters first.
1200
+ var argList = [];
1201
+ subject && argList.push( 'subject=' + subject );
1202
+ body && argList.push( 'body=' + body );
1203
+ argList = argList.length ? '?' + argList.join( '&' ) : '';
1204
+
1205
+ if ( emailProtection == 'encode' )
1206
+ {
1207
+ linkHref = [ 'javascript:void(location.href=\'mailto:\'+',
1208
+ protectEmailAddressAsEncodedString( address ) ];
1209
+ // parameters are optional.
1210
+ argList && linkHref.push( '+\'', escapeSingleQuote( argList ), '\'' );
1211
+
1212
+ linkHref.push( ')' );
1213
+ }
1214
+ else
1215
+ linkHref = [ 'mailto:', address, argList ];
1216
+
1217
+ break;
1218
+ }
1219
+ default :
1220
+ {
1221
+ // Separating name and domain.
1222
+ var nameAndDomain = address.split( '@', 2 );
1223
+ email.name = nameAndDomain[ 0 ];
1224
+ email.domain = nameAndDomain[ 1 ];
1225
+
1226
+ linkHref = [ 'javascript:', protectEmailLinkAsFunction( email ) ];
1227
+ }
1228
+ }
1229
+
1230
+ attributes[ 'data-cke-saved-href' ] = linkHref.join( '' );
1231
+ break;
1232
+ }
1233
+
1234
+ // Popups and target.
1235
+ if ( data.target )
1236
+ {
1237
+ if ( data.target.type == 'popup' )
1238
+ {
1239
+ var onclickList = [ 'window.open(this.href, \'',
1240
+ data.target.name || '', '\', \'' ];
1241
+ var featureList = [ 'resizable', 'status', 'location', 'toolbar', 'menubar', 'fullscreen',
1242
+ 'scrollbars', 'dependent' ];
1243
+ var featureLength = featureList.length;
1244
+ var addFeature = function( featureName )
1245
+ {
1246
+ if ( data.target[ featureName ] )
1247
+ featureList.push( featureName + '=' + data.target[ featureName ] );
1248
+ };
1249
+
1250
+ for ( var i = 0 ; i < featureLength ; i++ )
1251
+ featureList[i] = featureList[i] + ( data.target[ featureList[i] ] ? '=yes' : '=no' ) ;
1252
+ addFeature( 'width' );
1253
+ addFeature( 'left' );
1254
+ addFeature( 'height' );
1255
+ addFeature( 'top' );
1256
+
1257
+ onclickList.push( featureList.join( ',' ), '\'); return false;' );
1258
+ attributes[ 'data-cke-pa-onclick' ] = onclickList.join( '' );
1259
+
1260
+ // Add the "target" attribute. (#5074)
1261
+ removeAttributes.push( 'target' );
1262
+ }
1263
+ else
1264
+ {
1265
+ if ( data.target.type != 'notSet' && data.target.name )
1266
+ attributes.target = data.target.name;
1267
+ else
1268
+ removeAttributes.push( 'target' );
1269
+
1270
+ removeAttributes.push( 'data-cke-pa-onclick', 'onclick' );
1271
+ }
1272
+ }
1273
+
1274
+ // Advanced attributes.
1275
+ if ( data.adv )
1276
+ {
1277
+ var advAttr = function( inputName, attrName )
1278
+ {
1279
+ var value = data.adv[ inputName ];
1280
+ if ( value )
1281
+ attributes[attrName] = value;
1282
+ else
1283
+ removeAttributes.push( attrName );
1284
+ };
1285
+
1286
+ if ( this._.selectedElement )
1287
+ advAttr( 'advId', 'id' );
1288
+ advAttr( 'advLangDir', 'dir' );
1289
+ advAttr( 'advAccessKey', 'accessKey' );
1290
+ advAttr( 'advName', 'name' );
1291
+ advAttr( 'advLangCode', 'lang' );
1292
+ advAttr( 'advTabIndex', 'tabindex' );
1293
+ advAttr( 'advTitle', 'title' );
1294
+ advAttr( 'advContentType', 'type' );
1295
+ advAttr( 'advCSSClasses', 'class' );
1296
+ advAttr( 'advCharset', 'charset' );
1297
+ advAttr( 'advStyles', 'style' );
1298
+ }
1299
+
1300
+ if ( !this._.selectedElement )
1301
+ {
1302
+ // Create element if current selection is collapsed.
1303
+ var selection = editor.getSelection(),
1304
+ ranges = selection.getRanges( true );
1305
+ if ( ranges.length == 1 && ranges[0].collapsed )
1306
+ {
1307
+ // Short mailto link text view (#5736).
1308
+ var text = new CKEDITOR.dom.text( data.type == 'email' ?
1309
+ data.email.address : attributes[ 'data-cke-saved-href' ], editor.document );
1310
+ ranges[0].insertNode( text );
1311
+ ranges[0].selectNodeContents( text );
1312
+ selection.selectRanges( ranges );
1313
+ }
1314
+
1315
+ // Apply style.
1316
+ var style = new CKEDITOR.style( { element : 'a', attributes : attributes } );
1317
+ style.type = CKEDITOR.STYLE_INLINE; // need to override... dunno why.
1318
+ style.apply( editor.document );
1319
+
1320
+ // Id. Apply only to the first link.
1321
+ if ( data.adv && data.adv.advId )
1322
+ {
1323
+ var links = this.getParentEditor().document.$.getElementsByTagName( 'a' );
1324
+ for ( i = 0 ; i < links.length ; i++ )
1325
+ {
1326
+ if ( links[i].href == attributes.href )
1327
+ {
1328
+ links[i].id = data.adv.advId;
1329
+ break;
1330
+ }
1331
+ }
1332
+ }
1333
+ }
1334
+ else
1335
+ {
1336
+ // We're only editing an existing link, so just overwrite the attributes.
1337
+ var element = this._.selectedElement,
1338
+ href = element.data( 'cke-saved-href' ),
1339
+ textView = element.getHtml();
1340
+
1341
+ // IE BUG: Setting the name attribute to an existing link doesn't work.
1342
+ // Must re-create the link from weired syntax to workaround.
1343
+ if ( CKEDITOR.env.ie && attributes.name != element.getAttribute( 'name' ) )
1344
+ {
1345
+ var newElement = new CKEDITOR.dom.element( '<a name="' + CKEDITOR.tools.htmlEncode( attributes.name ) + '">',
1346
+ editor.document );
1347
+
1348
+ selection = editor.getSelection();
1349
+
1350
+ element.moveChildren( newElement );
1351
+ element.copyAttributes( newElement, { name : 1 } );
1352
+ newElement.replace( element );
1353
+ element = newElement;
1354
+
1355
+ selection.selectElement( element );
1356
+ }
1357
+
1358
+ element.setAttributes( attributes );
1359
+ element.removeAttributes( removeAttributes );
1360
+ // Update text view when user changes protocol (#4612).
1361
+ if ( href == textView || data.type == 'email' && textView.indexOf( '@' ) != -1 )
1362
+ {
1363
+ // Short mailto link text view (#5736).
1364
+ element.setHtml( data.type == 'email' ?
1365
+ data.email.address : attributes[ 'data-cke-saved-href' ] );
1366
+ }
1367
+ // Make the element display as an anchor if a name has been set.
1368
+ if ( element.getAttribute( 'name' ) )
1369
+ element.addClass( 'cke_anchor' );
1370
+ else
1371
+ element.removeClass( 'cke_anchor' );
1372
+
1373
+ if ( this.fakeObj )
1374
+ editor.createFakeElement( element, 'cke_anchor', 'anchor' ).replace( this.fakeObj );
1375
+
1376
+ delete this._.selectedElement;
1377
+ }
1378
+ },
1379
+ onLoad : function()
1380
+ {
1381
+ if ( !editor.config.linkShowAdvancedTab )
1382
+ this.hidePage( 'advanced' ); //Hide Advanded tab.
1383
+
1384
+ if ( !editor.config.linkShowTargetTab )
1385
+ this.hidePage( 'target' ); //Hide Target tab.
1386
+
1387
+ },
1388
+ // Inital focus on 'url' field if link is of type URL.
1389
+ onFocus : function()
1390
+ {
1391
+ var linkType = this.getContentElement( 'info', 'linkType' ),
1392
+ urlField;
1393
+ if ( linkType && linkType.getValue() == 'url' )
1394
+ {
1395
+ urlField = this.getContentElement( 'info', 'url' );
1396
+ urlField.select();
1397
+ }
1398
+ }
1399
+ };
1400
+ });
1401
+
1402
+ /**
1403
+ * The e-mail address anti-spam protection option. The protection will be
1404
+ * applied when creating or modifying e-mail links through the editor interface.<br>
1405
+ * Two methods of protection can be choosed:
1406
+ * <ol> <li>The e-mail parts (name, domain and any other query string) are
1407
+ * assembled into a function call pattern. Such function must be
1408
+ * provided by the developer in the pages that will use the contents.
1409
+ * <li>Only the e-mail address is obfuscated into a special string that
1410
+ * has no meaning for humans or spam bots, but which is properly
1411
+ * rendered and accepted by the browser.</li></ol>
1412
+ * Both approaches require JavaScript to be enabled.
1413
+ * @name CKEDITOR.config.emailProtection
1414
+ * @since 3.1
1415
+ * @type String
1416
+ * @default '' (empty string = disabled)
1417
+ * @example
1418
+ * // href="mailto:tester@ckeditor.com?subject=subject&body=body"
1419
+ * config.emailProtection = '';
1420
+ * @example
1421
+ * // href="<a href=\"javascript:void(location.href=\'mailto:\'+String.fromCharCode(116,101,115,116,101,114,64,99,107,101,100,105,116,111,114,46,99,111,109)+\'?subject=subject&body=body\')\">e-mail</a>"
1422
+ * config.emailProtection = 'encode';
1423
+ * @example
1424
+ * // href="javascript:mt('tester','ckeditor.com','subject','body')"
1425
+ * config.emailProtection = 'mt(NAME,DOMAIN,SUBJECT,BODY)';
1426
+ */