refinerycms-ckeditor 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. data/.gitignore +17 -0
  2. data/Gemfile +4 -0
  3. data/LICENSE +22 -0
  4. data/README.md +25 -0
  5. data/Rakefile +2 -0
  6. data/app/assets/images/refinery/ckeditor/pdf.png +0 -0
  7. data/app/assets/javascripts/ckeditor.js +25 -0
  8. data/app/assets/javascripts/ckeditor/.htaccess +24 -0
  9. data/app/assets/javascripts/ckeditor/CHANGES.html +1433 -0
  10. data/app/assets/javascripts/ckeditor/INSTALL.html +92 -0
  11. data/app/assets/javascripts/ckeditor/LICENSE.html +1327 -0
  12. data/app/assets/javascripts/ckeditor/_samples/adobeair/application.xml +32 -0
  13. data/app/assets/javascripts/ckeditor/_samples/adobeair/run.bat +9 -0
  14. data/app/assets/javascripts/ckeditor/_samples/adobeair/run.sh +8 -0
  15. data/app/assets/javascripts/ckeditor/_samples/adobeair/sample.html +45 -0
  16. data/app/assets/javascripts/ckeditor/_samples/ajax.html +98 -0
  17. data/app/assets/javascripts/ckeditor/_samples/api.html +192 -0
  18. data/app/assets/javascripts/ckeditor/_samples/api_dialog.html +198 -0
  19. data/app/assets/javascripts/ckeditor/_samples/api_dialog/my_dialog.js +28 -0
  20. data/app/assets/javascripts/ckeditor/_samples/asp/advanced.asp +105 -0
  21. data/app/assets/javascripts/ckeditor/_samples/asp/events.asp +136 -0
  22. data/app/assets/javascripts/ckeditor/_samples/asp/index.html +103 -0
  23. data/app/assets/javascripts/ckeditor/_samples/asp/replace.asp +72 -0
  24. data/app/assets/javascripts/ckeditor/_samples/asp/replaceall.asp +77 -0
  25. data/app/assets/javascripts/ckeditor/_samples/asp/sample_posteddata.asp +46 -0
  26. data/app/assets/javascripts/ckeditor/_samples/asp/standalone.asp +72 -0
  27. data/app/assets/javascripts/ckeditor/_samples/assets/_posteddata.php +59 -0
  28. data/app/assets/javascripts/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  29. data/app/assets/javascripts/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  30. data/app/assets/javascripts/ckeditor/_samples/assets/output_xhtml.css +204 -0
  31. data/app/assets/javascripts/ckeditor/_samples/assets/parsesample.css +70 -0
  32. data/app/assets/javascripts/ckeditor/_samples/assets/swfobject.js +18 -0
  33. data/app/assets/javascripts/ckeditor/_samples/autogrow.html +108 -0
  34. data/app/assets/javascripts/ckeditor/_samples/bbcode.html +125 -0
  35. data/app/assets/javascripts/ckeditor/_samples/devtools.html +94 -0
  36. data/app/assets/javascripts/ckeditor/_samples/divreplace.html +154 -0
  37. data/app/assets/javascripts/ckeditor/_samples/enterkey.html +115 -0
  38. data/app/assets/javascripts/ckeditor/_samples/fullpage.html +82 -0
  39. data/app/assets/javascripts/ckeditor/_samples/index.html +116 -0
  40. data/app/assets/javascripts/ckeditor/_samples/jqueryadapter.html +99 -0
  41. data/app/assets/javascripts/ckeditor/_samples/output_for_flash.html +275 -0
  42. data/app/assets/javascripts/ckeditor/_samples/output_html.html +285 -0
  43. data/app/assets/javascripts/ckeditor/_samples/output_xhtml.html +177 -0
  44. data/app/assets/javascripts/ckeditor/_samples/php/advanced.php +120 -0
  45. data/app/assets/javascripts/ckeditor/_samples/php/events.php +153 -0
  46. data/app/assets/javascripts/ckeditor/_samples/php/index.html +47 -0
  47. data/app/assets/javascripts/ckeditor/_samples/php/replace.php +87 -0
  48. data/app/assets/javascripts/ckeditor/_samples/php/replaceall.php +88 -0
  49. data/app/assets/javascripts/ckeditor/_samples/php/standalone.php +83 -0
  50. data/app/assets/javascripts/ckeditor/_samples/placeholder.html +81 -0
  51. data/app/assets/javascripts/ckeditor/_samples/readonly.html +91 -0
  52. data/app/assets/javascripts/ckeditor/_samples/replacebyclass.html +64 -0
  53. data/app/assets/javascripts/ckeditor/_samples/replacebycode.html +97 -0
  54. data/app/assets/javascripts/ckeditor/_samples/sample.css +163 -0
  55. data/app/assets/javascripts/ckeditor/_samples/sample.js +65 -0
  56. data/app/assets/javascripts/ckeditor/_samples/sample_posteddata.php +21 -0
  57. data/app/assets/javascripts/ckeditor/_samples/sharedspaces.html +153 -0
  58. data/app/assets/javascripts/ckeditor/_samples/skins.html +110 -0
  59. data/app/assets/javascripts/ckeditor/_samples/stylesheetparser.html +93 -0
  60. data/app/assets/javascripts/ckeditor/_samples/tableresize.html +115 -0
  61. data/app/assets/javascripts/ckeditor/_samples/ui_color.html +129 -0
  62. data/app/assets/javascripts/ckeditor/_samples/ui_languages.html +134 -0
  63. data/app/assets/javascripts/ckeditor/_source/adapters/jquery.js +306 -0
  64. data/app/assets/javascripts/ckeditor/_source/core/_bootstrap.js +87 -0
  65. data/app/assets/javascripts/ckeditor/_source/core/ckeditor.js +141 -0
  66. data/app/assets/javascripts/ckeditor/_source/core/ckeditor_base.js +227 -0
  67. data/app/assets/javascripts/ckeditor/_source/core/ckeditor_basic.js +238 -0
  68. data/app/assets/javascripts/ckeditor/_source/core/command.js +209 -0
  69. data/app/assets/javascripts/ckeditor/_source/core/commanddefinition.js +129 -0
  70. data/app/assets/javascripts/ckeditor/_source/core/config.js +439 -0
  71. data/app/assets/javascripts/ckeditor/_source/core/dataprocessor.js +65 -0
  72. data/app/assets/javascripts/ckeditor/_source/core/dom.js +20 -0
  73. data/app/assets/javascripts/ckeditor/_source/core/dom/comment.js +32 -0
  74. data/app/assets/javascripts/ckeditor/_source/core/dom/document.js +251 -0
  75. data/app/assets/javascripts/ckeditor/_source/core/dom/documentfragment.js +49 -0
  76. data/app/assets/javascripts/ckeditor/_source/core/dom/domobject.js +258 -0
  77. data/app/assets/javascripts/ckeditor/_source/core/dom/element.js +1691 -0
  78. data/app/assets/javascripts/ckeditor/_source/core/dom/elementpath.js +119 -0
  79. data/app/assets/javascripts/ckeditor/_source/core/dom/event.js +145 -0
  80. data/app/assets/javascripts/ckeditor/_source/core/dom/node.js +696 -0
  81. data/app/assets/javascripts/ckeditor/_source/core/dom/nodelist.js +26 -0
  82. data/app/assets/javascripts/ckeditor/_source/core/dom/range.js +2054 -0
  83. data/app/assets/javascripts/ckeditor/_source/core/dom/rangelist.js +213 -0
  84. data/app/assets/javascripts/ckeditor/_source/core/dom/text.js +128 -0
  85. data/app/assets/javascripts/ckeditor/_source/core/dom/walker.js +462 -0
  86. data/app/assets/javascripts/ckeditor/_source/core/dom/window.js +96 -0
  87. data/app/assets/javascripts/ckeditor/_source/core/dtd.js +266 -0
  88. data/app/assets/javascripts/ckeditor/_source/core/editor.js +1059 -0
  89. data/app/assets/javascripts/ckeditor/_source/core/editor_basic.js +186 -0
  90. data/app/assets/javascripts/ckeditor/_source/core/env.js +305 -0
  91. data/app/assets/javascripts/ckeditor/_source/core/event.js +342 -0
  92. data/app/assets/javascripts/ckeditor/_source/core/eventInfo.js +120 -0
  93. data/app/assets/javascripts/ckeditor/_source/core/focusmanager.js +152 -0
  94. data/app/assets/javascripts/ckeditor/_source/core/htmlparser.js +224 -0
  95. data/app/assets/javascripts/ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
  96. data/app/assets/javascripts/ckeditor/_source/core/htmlparser/cdata.js +43 -0
  97. data/app/assets/javascripts/ckeditor/_source/core/htmlparser/comment.js +60 -0
  98. data/app/assets/javascripts/ckeditor/_source/core/htmlparser/element.js +308 -0
  99. data/app/assets/javascripts/ckeditor/_source/core/htmlparser/filter.js +288 -0
  100. data/app/assets/javascripts/ckeditor/_source/core/htmlparser/fragment.js +518 -0
  101. data/app/assets/javascripts/ckeditor/_source/core/htmlparser/text.js +53 -0
  102. data/app/assets/javascripts/ckeditor/_source/core/lang.js +157 -0
  103. data/app/assets/javascripts/ckeditor/_source/core/loader.js +240 -0
  104. data/app/assets/javascripts/ckeditor/_source/core/plugindefinition.js +83 -0
  105. data/app/assets/javascripts/ckeditor/_source/core/plugins.js +103 -0
  106. data/app/assets/javascripts/ckeditor/_source/core/resourcemanager.js +238 -0
  107. data/app/assets/javascripts/ckeditor/_source/core/scriptloader.js +180 -0
  108. data/app/assets/javascripts/ckeditor/_source/core/skins.js +184 -0
  109. data/app/assets/javascripts/ckeditor/_source/core/themes.js +19 -0
  110. data/app/assets/javascripts/ckeditor/_source/core/tools.js +763 -0
  111. data/app/assets/javascripts/ckeditor/_source/core/ui.js +128 -0
  112. data/app/assets/javascripts/ckeditor/_source/lang/_languages.js +84 -0
  113. data/app/assets/javascripts/ckeditor/_source/lang/_translationstatus.txt +61 -0
  114. data/app/assets/javascripts/ckeditor/_source/lang/af.js +815 -0
  115. data/app/assets/javascripts/ckeditor/_source/lang/ar.js +815 -0
  116. data/app/assets/javascripts/ckeditor/_source/lang/bg.js +815 -0
  117. data/app/assets/javascripts/ckeditor/_source/lang/bn.js +815 -0
  118. data/app/assets/javascripts/ckeditor/_source/lang/bs.js +815 -0
  119. data/app/assets/javascripts/ckeditor/_source/lang/ca.js +815 -0
  120. data/app/assets/javascripts/ckeditor/_source/lang/cs.js +815 -0
  121. data/app/assets/javascripts/ckeditor/_source/lang/cy.js +815 -0
  122. data/app/assets/javascripts/ckeditor/_source/lang/da.js +815 -0
  123. data/app/assets/javascripts/ckeditor/_source/lang/de.js +815 -0
  124. data/app/assets/javascripts/ckeditor/_source/lang/el.js +815 -0
  125. data/app/assets/javascripts/ckeditor/_source/lang/en-au.js +815 -0
  126. data/app/assets/javascripts/ckeditor/_source/lang/en-ca.js +815 -0
  127. data/app/assets/javascripts/ckeditor/_source/lang/en-gb.js +815 -0
  128. data/app/assets/javascripts/ckeditor/_source/lang/en.js +815 -0
  129. data/app/assets/javascripts/ckeditor/_source/lang/eo.js +815 -0
  130. data/app/assets/javascripts/ckeditor/_source/lang/es.js +815 -0
  131. data/app/assets/javascripts/ckeditor/_source/lang/et.js +815 -0
  132. data/app/assets/javascripts/ckeditor/_source/lang/eu.js +815 -0
  133. data/app/assets/javascripts/ckeditor/_source/lang/fa.js +815 -0
  134. data/app/assets/javascripts/ckeditor/_source/lang/fi.js +815 -0
  135. data/app/assets/javascripts/ckeditor/_source/lang/fo.js +815 -0
  136. data/app/assets/javascripts/ckeditor/_source/lang/fr-ca.js +815 -0
  137. data/app/assets/javascripts/ckeditor/_source/lang/fr.js +815 -0
  138. data/app/assets/javascripts/ckeditor/_source/lang/gl.js +815 -0
  139. data/app/assets/javascripts/ckeditor/_source/lang/gu.js +815 -0
  140. data/app/assets/javascripts/ckeditor/_source/lang/he.js +815 -0
  141. data/app/assets/javascripts/ckeditor/_source/lang/hi.js +815 -0
  142. data/app/assets/javascripts/ckeditor/_source/lang/hr.js +815 -0
  143. data/app/assets/javascripts/ckeditor/_source/lang/hu.js +815 -0
  144. data/app/assets/javascripts/ckeditor/_source/lang/is.js +815 -0
  145. data/app/assets/javascripts/ckeditor/_source/lang/it.js +815 -0
  146. data/app/assets/javascripts/ckeditor/_source/lang/ja.js +815 -0
  147. data/app/assets/javascripts/ckeditor/_source/lang/ka.js +815 -0
  148. data/app/assets/javascripts/ckeditor/_source/lang/km.js +815 -0
  149. data/app/assets/javascripts/ckeditor/_source/lang/ko.js +815 -0
  150. data/app/assets/javascripts/ckeditor/_source/lang/lt.js +815 -0
  151. data/app/assets/javascripts/ckeditor/_source/lang/lv.js +815 -0
  152. data/app/assets/javascripts/ckeditor/_source/lang/mn.js +815 -0
  153. data/app/assets/javascripts/ckeditor/_source/lang/ms.js +815 -0
  154. data/app/assets/javascripts/ckeditor/_source/lang/nb.js +815 -0
  155. data/app/assets/javascripts/ckeditor/_source/lang/nl.js +815 -0
  156. data/app/assets/javascripts/ckeditor/_source/lang/no.js +815 -0
  157. data/app/assets/javascripts/ckeditor/_source/lang/pl.js +815 -0
  158. data/app/assets/javascripts/ckeditor/_source/lang/pt-br.js +814 -0
  159. data/app/assets/javascripts/ckeditor/_source/lang/pt.js +815 -0
  160. data/app/assets/javascripts/ckeditor/_source/lang/ro.js +815 -0
  161. data/app/assets/javascripts/ckeditor/_source/lang/ru.js +815 -0
  162. data/app/assets/javascripts/ckeditor/_source/lang/sk.js +815 -0
  163. data/app/assets/javascripts/ckeditor/_source/lang/sl.js +815 -0
  164. data/app/assets/javascripts/ckeditor/_source/lang/sr-latn.js +815 -0
  165. data/app/assets/javascripts/ckeditor/_source/lang/sr.js +815 -0
  166. data/app/assets/javascripts/ckeditor/_source/lang/sv.js +814 -0
  167. data/app/assets/javascripts/ckeditor/_source/lang/th.js +815 -0
  168. data/app/assets/javascripts/ckeditor/_source/lang/tr.js +814 -0
  169. data/app/assets/javascripts/ckeditor/_source/lang/uk.js +815 -0
  170. data/app/assets/javascripts/ckeditor/_source/lang/vi.js +815 -0
  171. data/app/assets/javascripts/ckeditor/_source/lang/zh-cn.js +815 -0
  172. data/app/assets/javascripts/ckeditor/_source/lang/zh.js +815 -0
  173. data/app/assets/javascripts/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -0
  174. data/app/assets/javascripts/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
  175. data/app/assets/javascripts/ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
  176. data/app/assets/javascripts/ckeditor/_source/plugins/a11yhelp/plugin.js +47 -0
  177. data/app/assets/javascripts/ckeditor/_source/plugins/about/dialogs/about.js +76 -0
  178. data/app/assets/javascripts/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  179. data/app/assets/javascripts/ckeditor/_source/plugins/about/plugin.js +24 -0
  180. data/app/assets/javascripts/ckeditor/_source/plugins/adobeair/plugin.js +228 -0
  181. data/app/assets/javascripts/ckeditor/_source/plugins/ajax/plugin.js +152 -0
  182. data/app/assets/javascripts/ckeditor/_source/plugins/autogrow/plugin.js +141 -0
  183. data/app/assets/javascripts/ckeditor/_source/plugins/basicstyles/plugin.js +129 -0
  184. data/app/assets/javascripts/ckeditor/_source/plugins/bbcode/plugin.js +931 -0
  185. data/app/assets/javascripts/ckeditor/_source/plugins/bidi/plugin.js +334 -0
  186. data/app/assets/javascripts/ckeditor/_source/plugins/blockquote/plugin.js +305 -0
  187. data/app/assets/javascripts/ckeditor/_source/plugins/button/plugin.js +290 -0
  188. data/app/assets/javascripts/ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -0
  189. data/app/assets/javascripts/ckeditor/_source/plugins/clipboard/plugin.js +453 -0
  190. data/app/assets/javascripts/ckeditor/_source/plugins/colorbutton/plugin.js +301 -0
  191. data/app/assets/javascripts/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +340 -0
  192. data/app/assets/javascripts/ckeditor/_source/plugins/colordialog/plugin.js +15 -0
  193. data/app/assets/javascripts/ckeditor/_source/plugins/contextmenu/plugin.js +179 -0
  194. data/app/assets/javascripts/ckeditor/_source/plugins/devtools/lang/en.js +16 -0
  195. data/app/assets/javascripts/ckeditor/_source/plugins/devtools/plugin.js +173 -0
  196. data/app/assets/javascripts/ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -0
  197. data/app/assets/javascripts/ckeditor/_source/plugins/dialog/plugin.js +3308 -0
  198. data/app/assets/javascripts/ckeditor/_source/plugins/dialogadvtab/plugin.js +208 -0
  199. data/app/assets/javascripts/ckeditor/_source/plugins/dialogui/plugin.js +1541 -0
  200. data/app/assets/javascripts/ckeditor/_source/plugins/div/dialogs/div.js +535 -0
  201. data/app/assets/javascripts/ckeditor/_source/plugins/div/plugin.js +121 -0
  202. data/app/assets/javascripts/ckeditor/_source/plugins/docprops/dialogs/docprops.js +674 -0
  203. data/app/assets/javascripts/ckeditor/_source/plugins/docprops/plugin.js +22 -0
  204. data/app/assets/javascripts/ckeditor/_source/plugins/domiterator/plugin.js +361 -0
  205. data/app/assets/javascripts/ckeditor/_source/plugins/editingblock/plugin.js +278 -0
  206. data/app/assets/javascripts/ckeditor/_source/plugins/elementspath/plugin.js +218 -0
  207. data/app/assets/javascripts/ckeditor/_source/plugins/enterkey/plugin.js +433 -0
  208. data/app/assets/javascripts/ckeditor/_source/plugins/entities/plugin.js +250 -0
  209. data/app/assets/javascripts/ckeditor/_source/plugins/fakeobjects/plugin.js +175 -0
  210. data/app/assets/javascripts/ckeditor/_source/plugins/filebrowser/plugin.js +534 -0
  211. data/app/assets/javascripts/ckeditor/_source/plugins/find/dialogs/find.js +915 -0
  212. data/app/assets/javascripts/ckeditor/_source/plugins/find/plugin.js +47 -0
  213. data/app/assets/javascripts/ckeditor/_source/plugins/flash/dialogs/flash.js +674 -0
  214. data/app/assets/javascripts/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  215. data/app/assets/javascripts/ckeditor/_source/plugins/flash/plugin.js +154 -0
  216. data/app/assets/javascripts/ckeditor/_source/plugins/floatpanel/plugin.js +428 -0
  217. data/app/assets/javascripts/ckeditor/_source/plugins/font/plugin.js +234 -0
  218. data/app/assets/javascripts/ckeditor/_source/plugins/format/plugin.js +197 -0
  219. data/app/assets/javascripts/ckeditor/_source/plugins/forms/dialogs/button.js +118 -0
  220. data/app/assets/javascripts/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -0
  221. data/app/assets/javascripts/ckeditor/_source/plugins/forms/dialogs/form.js +177 -0
  222. data/app/assets/javascripts/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +100 -0
  223. data/app/assets/javascripts/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -0
  224. data/app/assets/javascripts/ckeditor/_source/plugins/forms/dialogs/select.js +558 -0
  225. data/app/assets/javascripts/ckeditor/_source/plugins/forms/dialogs/textarea.js +135 -0
  226. data/app/assets/javascripts/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -0
  227. data/app/assets/javascripts/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  228. data/app/assets/javascripts/ckeditor/_source/plugins/forms/plugin.js +288 -0
  229. data/app/assets/javascripts/ckeditor/_source/plugins/horizontalrule/plugin.js +48 -0
  230. data/app/assets/javascripts/ckeditor/_source/plugins/htmldataprocessor/plugin.js +596 -0
  231. data/app/assets/javascripts/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
  232. data/app/assets/javascripts/ckeditor/_source/plugins/iframe/dialogs/iframe.js +229 -0
  233. data/app/assets/javascripts/ckeditor/_source/plugins/iframe/images/placeholder.png +0 -0
  234. data/app/assets/javascripts/ckeditor/_source/plugins/iframe/plugin.js +87 -0
  235. data/app/assets/javascripts/ckeditor/_source/plugins/iframedialog/plugin.js +188 -0
  236. data/app/assets/javascripts/ckeditor/_source/plugins/image/dialogs/image.js +1407 -0
  237. data/app/assets/javascripts/ckeditor/_source/plugins/image/plugin.js +81 -0
  238. data/app/assets/javascripts/ckeditor/_source/plugins/indent/plugin.js +461 -0
  239. data/app/assets/javascripts/ckeditor/_source/plugins/justify/plugin.js +253 -0
  240. data/app/assets/javascripts/ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
  241. data/app/assets/javascripts/ckeditor/_source/plugins/link/dialogs/anchor.js +144 -0
  242. data/app/assets/javascripts/ckeditor/_source/plugins/link/dialogs/link.js +1425 -0
  243. data/app/assets/javascripts/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  244. data/app/assets/javascripts/ckeditor/_source/plugins/link/plugin.js +374 -0
  245. data/app/assets/javascripts/ckeditor/_source/plugins/list/plugin.js +774 -0
  246. data/app/assets/javascripts/ckeditor/_source/plugins/listblock/plugin.js +266 -0
  247. data/app/assets/javascripts/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -0
  248. data/app/assets/javascripts/ckeditor/_source/plugins/liststyle/plugin.js +66 -0
  249. data/app/assets/javascripts/ckeditor/_source/plugins/maximize/plugin.js +353 -0
  250. data/app/assets/javascripts/ckeditor/_source/plugins/menu/plugin.js +541 -0
  251. data/app/assets/javascripts/ckeditor/_source/plugins/menubutton/plugin.js +98 -0
  252. data/app/assets/javascripts/ckeditor/_source/plugins/newpage/plugin.js +55 -0
  253. data/app/assets/javascripts/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  254. data/app/assets/javascripts/ckeditor/_source/plugins/pagebreak/plugin.js +164 -0
  255. data/app/assets/javascripts/ckeditor/_source/plugins/panel/plugin.js +400 -0
  256. data/app/assets/javascripts/ckeditor/_source/plugins/panelbutton/plugin.js +144 -0
  257. data/app/assets/javascripts/ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -0
  258. data/app/assets/javascripts/ckeditor/_source/plugins/pastefromword/plugin.js +141 -0
  259. data/app/assets/javascripts/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -0
  260. data/app/assets/javascripts/ckeditor/_source/plugins/pastetext/plugin.js +98 -0
  261. data/app/assets/javascripts/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +71 -0
  262. data/app/assets/javascripts/ckeditor/_source/plugins/placeholder/lang/en.js +16 -0
  263. data/app/assets/javascripts/ckeditor/_source/plugins/placeholder/lang/he.js +16 -0
  264. data/app/assets/javascripts/ckeditor/_source/plugins/placeholder/placeholder.gif +0 -0
  265. data/app/assets/javascripts/ckeditor/_source/plugins/placeholder/plugin.js +171 -0
  266. data/app/assets/javascripts/ckeditor/_source/plugins/popup/plugin.js +64 -0
  267. data/app/assets/javascripts/ckeditor/_source/plugins/preview/plugin.js +113 -0
  268. data/app/assets/javascripts/ckeditor/_source/plugins/print/plugin.js +42 -0
  269. data/app/assets/javascripts/ckeditor/_source/plugins/removeformat/plugin.js +185 -0
  270. data/app/assets/javascripts/ckeditor/_source/plugins/resize/plugin.js +168 -0
  271. data/app/assets/javascripts/ckeditor/_source/plugins/richcombo/plugin.js +381 -0
  272. data/app/assets/javascripts/ckeditor/_source/plugins/save/plugin.js +56 -0
  273. data/app/assets/javascripts/ckeditor/_source/plugins/scayt/dialogs/options.js +537 -0
  274. data/app/assets/javascripts/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -0
  275. data/app/assets/javascripts/ckeditor/_source/plugins/scayt/plugin.js +973 -0
  276. data/app/assets/javascripts/ckeditor/_source/plugins/selection/plugin.js +1729 -0
  277. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  278. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  279. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  280. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  281. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  282. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  283. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  284. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  285. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  286. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  287. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  288. data/app/assets/javascripts/ckeditor/_source/plugins/showblocks/plugin.js +160 -0
  289. data/app/assets/javascripts/ckeditor/_source/plugins/showborders/plugin.js +207 -0
  290. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/dialogs/smiley.js +224 -0
  291. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  292. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  293. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  294. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  295. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  296. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  297. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  298. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  299. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  300. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  301. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  302. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  303. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  304. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  305. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  306. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  307. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  308. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  309. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  310. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  311. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  312. data/app/assets/javascripts/ckeditor/_source/plugins/smiley/plugin.js +94 -0
  313. data/app/assets/javascripts/ckeditor/_source/plugins/sourcearea/plugin.js +209 -0
  314. data/app/assets/javascripts/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +350 -0
  315. data/app/assets/javascripts/ckeditor/_source/plugins/specialchar/lang/en.js +122 -0
  316. data/app/assets/javascripts/ckeditor/_source/plugins/specialchar/plugin.js +70 -0
  317. data/app/assets/javascripts/ckeditor/_source/plugins/styles/plugin.js +1700 -0
  318. data/app/assets/javascripts/ckeditor/_source/plugins/styles/styles/default.js +88 -0
  319. data/app/assets/javascripts/ckeditor/_source/plugins/stylescombo/plugin.js +218 -0
  320. data/app/assets/javascripts/ckeditor/_source/plugins/stylesheetparser/plugin.js +148 -0
  321. data/app/assets/javascripts/ckeditor/_source/plugins/tab/plugin.js +367 -0
  322. data/app/assets/javascripts/ckeditor/_source/plugins/table/dialogs/table.js +623 -0
  323. data/app/assets/javascripts/ckeditor/_source/plugins/table/plugin.js +78 -0
  324. data/app/assets/javascripts/ckeditor/_source/plugins/tableresize/plugin.js +443 -0
  325. data/app/assets/javascripts/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
  326. data/app/assets/javascripts/ckeditor/_source/plugins/tabletools/plugin.js +1194 -0
  327. data/app/assets/javascripts/ckeditor/_source/plugins/templates/dialogs/templates.js +234 -0
  328. data/app/assets/javascripts/ckeditor/_source/plugins/templates/plugin.js +99 -0
  329. data/app/assets/javascripts/ckeditor/_source/plugins/templates/templates/default.js +94 -0
  330. data/app/assets/javascripts/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  331. data/app/assets/javascripts/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  332. data/app/assets/javascripts/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  333. data/app/assets/javascripts/ckeditor/_source/plugins/toolbar/plugin.js +545 -0
  334. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -0
  335. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/lang/en.js +15 -0
  336. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/lang/he.js +15 -0
  337. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/plugin.js +37 -0
  338. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  339. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  340. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  341. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  342. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  343. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -0
  344. data/app/assets/javascripts/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -0
  345. data/app/assets/javascripts/ckeditor/_source/plugins/undo/plugin.js +578 -0
  346. data/app/assets/javascripts/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -0
  347. data/app/assets/javascripts/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  348. data/app/assets/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -0
  349. data/app/assets/javascripts/ckeditor/_source/plugins/wsc/dialogs/wsc.js +192 -0
  350. data/app/assets/javascripts/ckeditor/_source/plugins/wsc/plugin.js +33 -0
  351. data/app/assets/javascripts/ckeditor/_source/plugins/wysiwygarea/plugin.js +1347 -0
  352. data/app/assets/javascripts/ckeditor/_source/plugins/xml/plugin.js +170 -0
  353. data/app/assets/javascripts/ckeditor/_source/skins/kama/dialog.css +989 -0
  354. data/app/assets/javascripts/ckeditor/_source/skins/kama/editor.css +25 -0
  355. data/app/assets/javascripts/ckeditor/_source/skins/kama/elementspath.css +73 -0
  356. data/app/assets/javascripts/ckeditor/_source/skins/kama/icons.css +366 -0
  357. data/app/assets/javascripts/ckeditor/_source/skins/kama/icons.png +0 -0
  358. data/app/assets/javascripts/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  359. data/app/assets/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  360. data/app/assets/javascripts/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  361. data/app/assets/javascripts/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  362. data/app/assets/javascripts/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  363. data/app/assets/javascripts/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  364. data/app/assets/javascripts/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  365. data/app/assets/javascripts/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  366. data/app/assets/javascripts/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  367. data/app/assets/javascripts/ckeditor/_source/skins/kama/mainui.css +206 -0
  368. data/app/assets/javascripts/ckeditor/_source/skins/kama/menu.css +232 -0
  369. data/app/assets/javascripts/ckeditor/_source/skins/kama/panel.css +217 -0
  370. data/app/assets/javascripts/ckeditor/_source/skins/kama/presets.css +49 -0
  371. data/app/assets/javascripts/ckeditor/_source/skins/kama/reset.css +85 -0
  372. data/app/assets/javascripts/ckeditor/_source/skins/kama/richcombo.css +287 -0
  373. data/app/assets/javascripts/ckeditor/_source/skins/kama/skin.js +236 -0
  374. data/app/assets/javascripts/ckeditor/_source/skins/kama/templates.css +88 -0
  375. data/app/assets/javascripts/ckeditor/_source/skins/kama/toolbar.css +408 -0
  376. data/app/assets/javascripts/ckeditor/_source/skins/office2003/dialog.css +891 -0
  377. data/app/assets/javascripts/ckeditor/_source/skins/office2003/editor.css +25 -0
  378. data/app/assets/javascripts/ckeditor/_source/skins/office2003/elementspath.css +74 -0
  379. data/app/assets/javascripts/ckeditor/_source/skins/office2003/icons.css +363 -0
  380. data/app/assets/javascripts/ckeditor/_source/skins/office2003/icons.png +0 -0
  381. data/app/assets/javascripts/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  382. data/app/assets/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  383. data/app/assets/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  384. data/app/assets/javascripts/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  385. data/app/assets/javascripts/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  386. data/app/assets/javascripts/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  387. data/app/assets/javascripts/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  388. data/app/assets/javascripts/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  389. data/app/assets/javascripts/ckeditor/_source/skins/office2003/mainui.css +153 -0
  390. data/app/assets/javascripts/ckeditor/_source/skins/office2003/menu.css +229 -0
  391. data/app/assets/javascripts/ckeditor/_source/skins/office2003/panel.css +212 -0
  392. data/app/assets/javascripts/ckeditor/_source/skins/office2003/presets.css +49 -0
  393. data/app/assets/javascripts/ckeditor/_source/skins/office2003/reset.css +85 -0
  394. data/app/assets/javascripts/ckeditor/_source/skins/office2003/richcombo.css +309 -0
  395. data/app/assets/javascripts/ckeditor/_source/skins/office2003/skin.js +74 -0
  396. data/app/assets/javascripts/ckeditor/_source/skins/office2003/templates.css +87 -0
  397. data/app/assets/javascripts/ckeditor/_source/skins/office2003/toolbar.css +522 -0
  398. data/app/assets/javascripts/ckeditor/_source/skins/v2/dialog.css +907 -0
  399. data/app/assets/javascripts/ckeditor/_source/skins/v2/editor.css +25 -0
  400. data/app/assets/javascripts/ckeditor/_source/skins/v2/elementspath.css +74 -0
  401. data/app/assets/javascripts/ckeditor/_source/skins/v2/icons.css +363 -0
  402. data/app/assets/javascripts/ckeditor/_source/skins/v2/icons.png +0 -0
  403. data/app/assets/javascripts/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  404. data/app/assets/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  405. data/app/assets/javascripts/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  406. data/app/assets/javascripts/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  407. data/app/assets/javascripts/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  408. data/app/assets/javascripts/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  409. data/app/assets/javascripts/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  410. data/app/assets/javascripts/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  411. data/app/assets/javascripts/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  412. data/app/assets/javascripts/ckeditor/_source/skins/v2/mainui.css +162 -0
  413. data/app/assets/javascripts/ckeditor/_source/skins/v2/menu.css +232 -0
  414. data/app/assets/javascripts/ckeditor/_source/skins/v2/panel.css +212 -0
  415. data/app/assets/javascripts/ckeditor/_source/skins/v2/presets.css +50 -0
  416. data/app/assets/javascripts/ckeditor/_source/skins/v2/reset.css +85 -0
  417. data/app/assets/javascripts/ckeditor/_source/skins/v2/richcombo.css +302 -0
  418. data/app/assets/javascripts/ckeditor/_source/skins/v2/skin.js +70 -0
  419. data/app/assets/javascripts/ckeditor/_source/skins/v2/templates.css +87 -0
  420. data/app/assets/javascripts/ckeditor/_source/skins/v2/toolbar.css +465 -0
  421. data/app/assets/javascripts/ckeditor/_source/themes/default/theme.js +407 -0
  422. data/app/assets/javascripts/ckeditor/adapters/jquery.js +6 -0
  423. data/app/assets/javascripts/ckeditor/ckeditor.asp +955 -0
  424. data/app/assets/javascripts/ckeditor/ckeditor.js +149 -0
  425. data/app/assets/javascripts/ckeditor/ckeditor.pack +211 -0
  426. data/app/assets/javascripts/ckeditor/ckeditor.php +29 -0
  427. data/app/assets/javascripts/ckeditor/ckeditor_basic.js +8 -0
  428. data/app/assets/javascripts/ckeditor/ckeditor_basic_source.js +20 -0
  429. data/app/assets/javascripts/ckeditor/ckeditor_php4.php +566 -0
  430. data/app/assets/javascripts/ckeditor/ckeditor_php5.php +556 -0
  431. data/app/assets/javascripts/ckeditor/ckeditor_source.js +35 -0
  432. data/app/assets/javascripts/ckeditor/config.js +11 -0
  433. data/app/assets/javascripts/ckeditor/contents.css +25 -0
  434. data/app/assets/javascripts/ckeditor/images/spacer.gif +0 -0
  435. data/app/assets/javascripts/ckeditor/lang/_languages.js +6 -0
  436. data/app/assets/javascripts/ckeditor/lang/_translationstatus.txt +61 -0
  437. data/app/assets/javascripts/ckeditor/lang/af.js +6 -0
  438. data/app/assets/javascripts/ckeditor/lang/ar.js +6 -0
  439. data/app/assets/javascripts/ckeditor/lang/bg.js +6 -0
  440. data/app/assets/javascripts/ckeditor/lang/bn.js +6 -0
  441. data/app/assets/javascripts/ckeditor/lang/bs.js +6 -0
  442. data/app/assets/javascripts/ckeditor/lang/ca.js +6 -0
  443. data/app/assets/javascripts/ckeditor/lang/cs.js +6 -0
  444. data/app/assets/javascripts/ckeditor/lang/cy.js +6 -0
  445. data/app/assets/javascripts/ckeditor/lang/da.js +6 -0
  446. data/app/assets/javascripts/ckeditor/lang/de.js +6 -0
  447. data/app/assets/javascripts/ckeditor/lang/el.js +6 -0
  448. data/app/assets/javascripts/ckeditor/lang/en-au.js +6 -0
  449. data/app/assets/javascripts/ckeditor/lang/en-ca.js +6 -0
  450. data/app/assets/javascripts/ckeditor/lang/en-gb.js +6 -0
  451. data/app/assets/javascripts/ckeditor/lang/en.js +6 -0
  452. data/app/assets/javascripts/ckeditor/lang/eo.js +6 -0
  453. data/app/assets/javascripts/ckeditor/lang/es.js +6 -0
  454. data/app/assets/javascripts/ckeditor/lang/et.js +6 -0
  455. data/app/assets/javascripts/ckeditor/lang/eu.js +6 -0
  456. data/app/assets/javascripts/ckeditor/lang/fa.js +6 -0
  457. data/app/assets/javascripts/ckeditor/lang/fi.js +6 -0
  458. data/app/assets/javascripts/ckeditor/lang/fo.js +6 -0
  459. data/app/assets/javascripts/ckeditor/lang/fr-ca.js +6 -0
  460. data/app/assets/javascripts/ckeditor/lang/fr.js +6 -0
  461. data/app/assets/javascripts/ckeditor/lang/gl.js +6 -0
  462. data/app/assets/javascripts/ckeditor/lang/gu.js +6 -0
  463. data/app/assets/javascripts/ckeditor/lang/he.js +6 -0
  464. data/app/assets/javascripts/ckeditor/lang/hi.js +6 -0
  465. data/app/assets/javascripts/ckeditor/lang/hr.js +6 -0
  466. data/app/assets/javascripts/ckeditor/lang/hu.js +6 -0
  467. data/app/assets/javascripts/ckeditor/lang/is.js +6 -0
  468. data/app/assets/javascripts/ckeditor/lang/it.js +6 -0
  469. data/app/assets/javascripts/ckeditor/lang/ja.js +6 -0
  470. data/app/assets/javascripts/ckeditor/lang/ka.js +6 -0
  471. data/app/assets/javascripts/ckeditor/lang/km.js +6 -0
  472. data/app/assets/javascripts/ckeditor/lang/ko.js +6 -0
  473. data/app/assets/javascripts/ckeditor/lang/lt.js +6 -0
  474. data/app/assets/javascripts/ckeditor/lang/lv.js +6 -0
  475. data/app/assets/javascripts/ckeditor/lang/mn.js +6 -0
  476. data/app/assets/javascripts/ckeditor/lang/ms.js +6 -0
  477. data/app/assets/javascripts/ckeditor/lang/nb.js +6 -0
  478. data/app/assets/javascripts/ckeditor/lang/nl.js +6 -0
  479. data/app/assets/javascripts/ckeditor/lang/no.js +6 -0
  480. data/app/assets/javascripts/ckeditor/lang/pl.js +6 -0
  481. data/app/assets/javascripts/ckeditor/lang/pt-br.js +6 -0
  482. data/app/assets/javascripts/ckeditor/lang/pt.js +6 -0
  483. data/app/assets/javascripts/ckeditor/lang/ro.js +6 -0
  484. data/app/assets/javascripts/ckeditor/lang/ru.js +6 -0
  485. data/app/assets/javascripts/ckeditor/lang/sk.js +6 -0
  486. data/app/assets/javascripts/ckeditor/lang/sl.js +6 -0
  487. data/app/assets/javascripts/ckeditor/lang/sr-latn.js +6 -0
  488. data/app/assets/javascripts/ckeditor/lang/sr.js +6 -0
  489. data/app/assets/javascripts/ckeditor/lang/sv.js +6 -0
  490. data/app/assets/javascripts/ckeditor/lang/th.js +6 -0
  491. data/app/assets/javascripts/ckeditor/lang/tr.js +6 -0
  492. data/app/assets/javascripts/ckeditor/lang/uk.js +6 -0
  493. data/app/assets/javascripts/ckeditor/lang/vi.js +6 -0
  494. data/app/assets/javascripts/ckeditor/lang/zh-cn.js +6 -0
  495. data/app/assets/javascripts/ckeditor/lang/zh.js +6 -0
  496. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
  497. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
  498. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
  499. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +6 -0
  500. data/app/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  501. data/app/assets/javascripts/ckeditor/plugins/adobeair/plugin.js +6 -0
  502. data/app/assets/javascripts/ckeditor/plugins/ajax/plugin.js +6 -0
  503. data/app/assets/javascripts/ckeditor/plugins/autogrow/plugin.js +6 -0
  504. data/app/assets/javascripts/ckeditor/plugins/bbcode/plugin.js +9 -0
  505. data/app/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  506. data/app/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  507. data/app/assets/javascripts/ckeditor/plugins/devtools/lang/en.js +6 -0
  508. data/app/assets/javascripts/ckeditor/plugins/devtools/plugin.js +6 -0
  509. data/app/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  510. data/app/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +8 -0
  511. data/app/assets/javascripts/ckeditor/plugins/docprops/dialogs/docprops.js +10 -0
  512. data/app/assets/javascripts/ckeditor/plugins/docprops/plugin.js +6 -0
  513. data/app/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +10 -0
  514. data/app/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  515. data/app/assets/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  516. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +6 -0
  517. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  518. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +6 -0
  519. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  520. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  521. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +9 -0
  522. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  523. data/app/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
  524. data/app/assets/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  525. data/app/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +7 -0
  526. data/app/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  527. data/app/assets/javascripts/ckeditor/plugins/iframedialog/plugin.js +6 -0
  528. data/app/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +13 -0
  529. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  530. data/app/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +12 -0
  531. data/app/assets/javascripts/ckeditor/plugins/link/images/anchor.gif +0 -0
  532. data/app/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +7 -0
  533. data/app/assets/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  534. data/app/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +11 -0
  535. data/app/assets/javascripts/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
  536. data/app/assets/javascripts/ckeditor/plugins/placeholder/dialogs/placeholder.js +6 -0
  537. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/en.js +6 -0
  538. data/app/assets/javascripts/ckeditor/plugins/placeholder/lang/he.js +6 -0
  539. data/app/assets/javascripts/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  540. data/app/assets/javascripts/ckeditor/plugins/placeholder/plugin.js +6 -0
  541. data/app/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  542. data/app/assets/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
  543. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  544. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  545. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  546. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  547. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  548. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  549. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  550. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  551. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  552. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  553. data/app/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  554. data/app/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  555. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  556. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  557. data/app/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  558. data/app/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  559. data/app/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  560. data/app/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  561. data/app/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  562. data/app/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  563. data/app/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  564. data/app/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  565. data/app/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  566. data/app/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  567. data/app/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  568. data/app/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  569. data/app/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  570. data/app/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  571. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  572. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  573. data/app/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  574. data/app/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  575. data/app/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  576. data/app/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  577. data/app/assets/javascripts/ckeditor/plugins/specialchar/lang/en.js +6 -0
  578. data/app/assets/javascripts/ckeditor/plugins/styles/styles/default.js +6 -0
  579. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/plugin.js +6 -0
  580. data/app/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +9 -0
  581. data/app/assets/javascripts/ckeditor/plugins/tableresize/plugin.js +7 -0
  582. data/app/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  583. data/app/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +7 -0
  584. data/app/assets/javascripts/ckeditor/plugins/templates/templates/default.js +6 -0
  585. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  586. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  587. data/app/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  588. data/app/assets/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
  589. data/app/assets/javascripts/ckeditor/plugins/uicolor/lang/en.js +6 -0
  590. data/app/assets/javascripts/ckeditor/plugins/uicolor/lang/he.js +6 -0
  591. data/app/assets/javascripts/ckeditor/plugins/uicolor/plugin.js +6 -0
  592. data/app/assets/javascripts/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  593. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  594. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  595. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  596. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  597. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
  598. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/yui.js +76 -0
  599. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  600. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  601. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
  602. data/app/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  603. data/app/assets/javascripts/ckeditor/plugins/xml/plugin.js +6 -0
  604. data/app/assets/javascripts/ckeditor/skins/kama/dialog.css +10 -0
  605. data/app/assets/javascripts/ckeditor/skins/kama/editor.css +13 -0
  606. data/app/assets/javascripts/ckeditor/skins/kama/icons.png +0 -0
  607. data/app/assets/javascripts/ckeditor/skins/kama/icons_rtl.png +0 -0
  608. data/app/assets/javascripts/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  609. data/app/assets/javascripts/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  610. data/app/assets/javascripts/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  611. data/app/assets/javascripts/ckeditor/skins/kama/images/mini.gif +0 -0
  612. data/app/assets/javascripts/ckeditor/skins/kama/images/noimage.png +0 -0
  613. data/app/assets/javascripts/ckeditor/skins/kama/images/sprites.png +0 -0
  614. data/app/assets/javascripts/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  615. data/app/assets/javascripts/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  616. data/app/assets/javascripts/ckeditor/skins/kama/skin.js +7 -0
  617. data/app/assets/javascripts/ckeditor/skins/kama/templates.css +6 -0
  618. data/app/assets/javascripts/ckeditor/skins/office2003/dialog.css +9 -0
  619. data/app/assets/javascripts/ckeditor/skins/office2003/editor.css +14 -0
  620. data/app/assets/javascripts/ckeditor/skins/office2003/icons.png +0 -0
  621. data/app/assets/javascripts/ckeditor/skins/office2003/icons_rtl.png +0 -0
  622. data/app/assets/javascripts/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  623. data/app/assets/javascripts/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  624. data/app/assets/javascripts/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  625. data/app/assets/javascripts/ckeditor/skins/office2003/images/mini.gif +0 -0
  626. data/app/assets/javascripts/ckeditor/skins/office2003/images/noimage.png +0 -0
  627. data/app/assets/javascripts/ckeditor/skins/office2003/images/sprites.png +0 -0
  628. data/app/assets/javascripts/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  629. data/app/assets/javascripts/ckeditor/skins/office2003/skin.js +6 -0
  630. data/app/assets/javascripts/ckeditor/skins/office2003/templates.css +6 -0
  631. data/app/assets/javascripts/ckeditor/skins/v2/dialog.css +9 -0
  632. data/app/assets/javascripts/ckeditor/skins/v2/editor.css +13 -0
  633. data/app/assets/javascripts/ckeditor/skins/v2/icons.png +0 -0
  634. data/app/assets/javascripts/ckeditor/skins/v2/icons_rtl.png +0 -0
  635. data/app/assets/javascripts/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  636. data/app/assets/javascripts/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  637. data/app/assets/javascripts/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  638. data/app/assets/javascripts/ckeditor/skins/v2/images/mini.gif +0 -0
  639. data/app/assets/javascripts/ckeditor/skins/v2/images/noimage.png +0 -0
  640. data/app/assets/javascripts/ckeditor/skins/v2/images/sprites.png +0 -0
  641. data/app/assets/javascripts/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  642. data/app/assets/javascripts/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  643. data/app/assets/javascripts/ckeditor/skins/v2/skin.js +6 -0
  644. data/app/assets/javascripts/ckeditor/skins/v2/templates.css +6 -0
  645. data/app/assets/javascripts/ckeditor/themes/default/theme.js +8 -0
  646. data/app/assets/javascripts/refinery/ckeditor.js.coffee +61 -0
  647. data/app/assets/javascripts/refinery/wymeditor.js.coffee +3 -0
  648. data/app/assets/javascripts/wymeditor/lang/en.js +0 -0
  649. data/app/assets/javascripts/wymeditor/skins/refinery/skin.js +0 -0
  650. data/app/assets/stylesheets/ckeditor.css.sass +14 -0
  651. data/app/assets/stylesheets/refinery/ckeditor.css.sass +73 -0
  652. data/app/views/refinery/admin/pages/_page_part_field.html.haml +25 -0
  653. data/config/initializers/refinery/ckeditor.rb +6 -0
  654. data/lib/refinery/ckeditor/version.rb +5 -0
  655. data/lib/refinerycms-ckeditor.rb +7 -0
  656. data/refinerycms-ckeditor.gemspec +17 -0
  657. metadata +721 -0
@@ -0,0 +1,48 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @file Horizontal Rule plugin.
8
+ */
9
+
10
+ (function()
11
+ {
12
+ var horizontalruleCmd =
13
+ {
14
+ canUndo : false, // The undo snapshot will be handled by 'insertElement'.
15
+ exec : function( editor )
16
+ {
17
+ var hr = editor.document.createElement( 'hr' ),
18
+ range = new CKEDITOR.dom.range( editor.document );
19
+
20
+ editor.insertElement( hr );
21
+
22
+ // If there's nothing or a non-editable block followed by, establish a new paragraph
23
+ // to make sure cursor is not trapped.
24
+ range.moveToPosition( hr, CKEDITOR.POSITION_AFTER_END );
25
+ var next = hr.getNext();
26
+ if ( !next || next.type == CKEDITOR.NODE_ELEMENT && !next.isEditable() )
27
+ range.fixBlock( true, editor.config.enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' );
28
+
29
+ range.select();
30
+ }
31
+ };
32
+
33
+ var pluginName = 'horizontalrule';
34
+
35
+ // Register a plugin named "horizontalrule".
36
+ CKEDITOR.plugins.add( pluginName,
37
+ {
38
+ init : function( editor )
39
+ {
40
+ editor.addCommand( pluginName, horizontalruleCmd );
41
+ editor.ui.addButton( 'HorizontalRule',
42
+ {
43
+ label : editor.lang.horizontalrule,
44
+ command : pluginName
45
+ });
46
+ }
47
+ });
48
+ })();
@@ -0,0 +1,596 @@
1
+ /*
2
+ Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ (function()
7
+ {
8
+ // Regex to scan for   at the end of blocks, which are actually placeholders.
9
+ // Safari transforms the   to \xa0. (#4172)
10
+ var tailNbspRegex = /^[\t\r\n ]*(?: |\xa0)$/;
11
+
12
+ var protectedSourceMarker = '{cke_protected}';
13
+
14
+ // Return the last non-space child node of the block (#4344).
15
+ function lastNoneSpaceChild( block )
16
+ {
17
+ var lastIndex = block.children.length,
18
+ last = block.children[ lastIndex - 1 ];
19
+ while ( last && last.type == CKEDITOR.NODE_TEXT && !CKEDITOR.tools.trim( last.value ) )
20
+ last = block.children[ --lastIndex ];
21
+ return last;
22
+ }
23
+
24
+ function trimFillers( block, fromSource )
25
+ {
26
+ // If the current node is a block, and if we're converting from source or
27
+ // we're not in IE then search for and remove any tailing BR node.
28
+ //
29
+ // Also, any   at the end of blocks are fillers, remove them as well.
30
+ // (#2886)
31
+ var children = block.children, lastChild = lastNoneSpaceChild( block );
32
+ if ( lastChild )
33
+ {
34
+ if ( ( fromSource || !CKEDITOR.env.ie ) && lastChild.type == CKEDITOR.NODE_ELEMENT && lastChild.name == 'br' )
35
+ children.pop();
36
+ if ( lastChild.type == CKEDITOR.NODE_TEXT && tailNbspRegex.test( lastChild.value ) )
37
+ children.pop();
38
+ }
39
+ }
40
+
41
+ function blockNeedsExtension( block, fromSource, extendEmptyBlock )
42
+ {
43
+ if( !fromSource && ( !extendEmptyBlock ||
44
+ typeof extendEmptyBlock == 'function' && ( extendEmptyBlock( block ) === false ) ) )
45
+ return false;
46
+
47
+ // 1. For IE version >=8, empty blocks are displayed correctly themself in wysiwiyg;
48
+ // 2. For the rest, at least table cell and list item need no filler space.
49
+ // (#6248)
50
+ if ( fromSource && CKEDITOR.env.ie &&
51
+ ( document.documentMode > 7
52
+ || block.name in CKEDITOR.dtd.tr
53
+ || block.name in CKEDITOR.dtd.$listItem ) )
54
+ return false;
55
+
56
+ var lastChild = lastNoneSpaceChild( block );
57
+
58
+ return !lastChild || lastChild &&
59
+ ( lastChild.type == CKEDITOR.NODE_ELEMENT && lastChild.name == 'br'
60
+ // Some of the controls in form needs extension too,
61
+ // to move cursor at the end of the form. (#4791)
62
+ || block.name == 'form' && lastChild.name == 'input' );
63
+ }
64
+
65
+ function getBlockExtension( isOutput, emptyBlockFiller )
66
+ {
67
+ return function( node )
68
+ {
69
+ trimFillers( node, !isOutput );
70
+
71
+ if ( blockNeedsExtension( node, !isOutput, emptyBlockFiller ) )
72
+ {
73
+ if ( isOutput || CKEDITOR.env.ie )
74
+ node.add( new CKEDITOR.htmlParser.text( '\xa0' ) );
75
+ else
76
+ node.add( new CKEDITOR.htmlParser.element( 'br', {} ) );
77
+ }
78
+ };
79
+ }
80
+
81
+ var dtd = CKEDITOR.dtd;
82
+
83
+ // Define orders of table elements.
84
+ var tableOrder = [ 'caption', 'colgroup', 'col', 'thead', 'tfoot', 'tbody' ];
85
+
86
+ // Find out the list of block-like tags that can contain <br>.
87
+ var blockLikeTags = CKEDITOR.tools.extend( {}, dtd.$block, dtd.$listItem, dtd.$tableContent );
88
+ for ( var i in blockLikeTags )
89
+ {
90
+ if ( ! ( 'br' in dtd[i] ) )
91
+ delete blockLikeTags[i];
92
+ }
93
+ // We just avoid filler in <pre> right now.
94
+ // TODO: Support filler for <pre>, line break is also occupy line height.
95
+ delete blockLikeTags.pre;
96
+ var defaultDataFilterRules =
97
+ {
98
+ elements : {},
99
+ attributeNames :
100
+ [
101
+ // Event attributes (onXYZ) must not be directly set. They can become
102
+ // active in the editing area (IE|WebKit).
103
+ [ ( /^on/ ), 'data-cke-pa-on' ]
104
+ ]
105
+ };
106
+
107
+ var defaultDataBlockFilterRules = { elements : {} };
108
+
109
+ for ( i in blockLikeTags )
110
+ defaultDataBlockFilterRules.elements[ i ] = getBlockExtension();
111
+
112
+ var defaultHtmlFilterRules =
113
+ {
114
+ elementNames :
115
+ [
116
+ // Remove the "cke:" namespace prefix.
117
+ [ ( /^cke:/ ), '' ],
118
+
119
+ // Ignore <?xml:namespace> tags.
120
+ [ ( /^\?xml:namespace$/ ), '' ]
121
+ ],
122
+
123
+ attributeNames :
124
+ [
125
+ // Attributes saved for changes and protected attributes.
126
+ [ ( /^data-cke-(saved|pa)-/ ), '' ],
127
+
128
+ // All "data-cke-" attributes are to be ignored.
129
+ [ ( /^data-cke-.*/ ), '' ],
130
+
131
+ [ 'hidefocus', '' ]
132
+ ],
133
+
134
+ elements :
135
+ {
136
+ $ : function( element )
137
+ {
138
+ var attribs = element.attributes;
139
+
140
+ if ( attribs )
141
+ {
142
+ // Elements marked as temporary are to be ignored.
143
+ if ( attribs[ 'data-cke-temp' ] )
144
+ return false;
145
+
146
+ // Remove duplicated attributes - #3789.
147
+ var attributeNames = [ 'name', 'href', 'src' ],
148
+ savedAttributeName;
149
+ for ( var i = 0 ; i < attributeNames.length ; i++ )
150
+ {
151
+ savedAttributeName = 'data-cke-saved-' + attributeNames[ i ];
152
+ savedAttributeName in attribs && ( delete attribs[ attributeNames[ i ] ] );
153
+ }
154
+ }
155
+
156
+ return element;
157
+ },
158
+
159
+ // The contents of table should be in correct order (#4809).
160
+ table : function( element )
161
+ {
162
+ var children = element.children;
163
+ children.sort( function ( node1, node2 )
164
+ {
165
+ return node1.type == CKEDITOR.NODE_ELEMENT && node2.type == node1.type ?
166
+ CKEDITOR.tools.indexOf( tableOrder, node1.name ) > CKEDITOR.tools.indexOf( tableOrder, node2.name ) ? 1 : -1 : 0;
167
+ } );
168
+ },
169
+
170
+ embed : function( element )
171
+ {
172
+ var parent = element.parent;
173
+
174
+ // If the <embed> is child of a <object>, copy the width
175
+ // and height attributes from it.
176
+ if ( parent && parent.name == 'object' )
177
+ {
178
+ var parentWidth = parent.attributes.width,
179
+ parentHeight = parent.attributes.height;
180
+ parentWidth && ( element.attributes.width = parentWidth );
181
+ parentHeight && ( element.attributes.height = parentHeight );
182
+ }
183
+ },
184
+ // Restore param elements into self-closing.
185
+ param : function( param )
186
+ {
187
+ param.children = [];
188
+ param.isEmpty = true;
189
+ return param;
190
+ },
191
+
192
+ // Remove empty link but not empty anchor.(#3829)
193
+ a : function( element )
194
+ {
195
+ if ( !( element.children.length ||
196
+ element.attributes.name ||
197
+ element.attributes[ 'data-cke-saved-name' ] ) )
198
+ {
199
+ return false;
200
+ }
201
+ },
202
+
203
+ // Remove dummy span in webkit.
204
+ span: function( element )
205
+ {
206
+ if ( element.attributes[ 'class' ] == 'Apple-style-span' )
207
+ delete element.name;
208
+ },
209
+
210
+ // Empty <pre> in IE is reported with filler node (&nbsp;).
211
+ pre : function( element ) { CKEDITOR.env.ie && trimFillers( element ); },
212
+
213
+ html : function( element )
214
+ {
215
+ delete element.attributes.contenteditable;
216
+ delete element.attributes[ 'class' ];
217
+ },
218
+
219
+ body : function( element )
220
+ {
221
+ delete element.attributes.spellcheck;
222
+ delete element.attributes.contenteditable;
223
+ },
224
+
225
+ style : function( element )
226
+ {
227
+ var child = element.children[ 0 ];
228
+ child && child.value && ( child.value = CKEDITOR.tools.trim( child.value ));
229
+
230
+ if ( !element.attributes.type )
231
+ element.attributes.type = 'text/css';
232
+ },
233
+
234
+ title : function( element )
235
+ {
236
+ var titleText = element.children[ 0 ];
237
+ titleText && ( titleText.value = element.attributes[ 'data-cke-title' ] || '' );
238
+ }
239
+ },
240
+
241
+ attributes :
242
+ {
243
+ 'class' : function( value, element )
244
+ {
245
+ // Remove all class names starting with "cke_".
246
+ return CKEDITOR.tools.ltrim( value.replace( /(?:^|\s+)cke_[^\s]*/g, '' ) ) || false;
247
+ }
248
+ }
249
+ };
250
+
251
+ if ( CKEDITOR.env.ie )
252
+ {
253
+ // IE outputs style attribute in capital letters. We should convert
254
+ // them back to lower case, while not hurting the values (#5930)
255
+ defaultHtmlFilterRules.attributes.style = function( value, element )
256
+ {
257
+ return value.replace( /(^|;)([^\:]+)/g, function( match )
258
+ {
259
+ return match.toLowerCase();
260
+ });
261
+ };
262
+ }
263
+
264
+ function protectReadOnly( element )
265
+ {
266
+ var attrs = element.attributes;
267
+
268
+ // We should flag that the element was locked by our code so
269
+ // it'll be editable by the editor functions (#6046).
270
+ if ( attrs.contenteditable != "false" )
271
+ attrs[ 'data-cke-editable' ] = attrs.contenteditable ? 'true' : 1;
272
+
273
+ attrs.contenteditable = "false";
274
+ }
275
+ function unprotectReadyOnly( element )
276
+ {
277
+ var attrs = element.attributes;
278
+ switch( attrs[ 'data-cke-editable' ] )
279
+ {
280
+ case 'true': attrs.contenteditable = 'true'; break;
281
+ case '1': delete attrs.contenteditable; break;
282
+ }
283
+ }
284
+ // Disable form elements editing mode provided by some browers. (#5746)
285
+ for ( i in { input : 1, textarea : 1 } )
286
+ {
287
+ defaultDataFilterRules.elements[ i ] = protectReadOnly;
288
+ defaultHtmlFilterRules.elements[ i ] = unprotectReadyOnly;
289
+ }
290
+
291
+ var protectElementRegex = /<(a|area|img|input)\b([^>]*)>/gi,
292
+ protectAttributeRegex = /\b(on\w+|href|src|name)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi;
293
+
294
+ var protectElementsRegex = /(?:<style(?=[ >])[^>]*>[\s\S]*<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi,
295
+ encodedElementsRegex = /<cke:encoded>([^<]*)<\/cke:encoded>/gi;
296
+
297
+ var protectElementNamesRegex = /(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi,
298
+ unprotectElementNamesRegex = /(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi;
299
+
300
+ var protectSelfClosingRegex = /<cke:(param|embed)([^>]*?)\/?>(?!\s*<\/cke:\1)/gi;
301
+
302
+ function protectAttributes( html )
303
+ {
304
+ return html.replace( protectElementRegex, function( element, tag, attributes )
305
+ {
306
+ return '<' + tag + attributes.replace( protectAttributeRegex, function( fullAttr, attrName )
307
+ {
308
+ // Avoid corrupting the inline event attributes (#7243).
309
+ // We should not rewrite the existed protected attributes, e.g. clipboard content from editor. (#5218)
310
+ if ( !( /^on/ ).test( attrName ) && attributes.indexOf( 'data-cke-saved-' + attrName ) == -1 )
311
+ return ' data-cke-saved-' + fullAttr + ' ' + fullAttr;
312
+
313
+ return fullAttr;
314
+ }) + '>';
315
+ });
316
+ }
317
+
318
+ function protectElements( html )
319
+ {
320
+ return html.replace( protectElementsRegex, function( match )
321
+ {
322
+ return '<cke:encoded>' + encodeURIComponent( match ) + '</cke:encoded>';
323
+ });
324
+ }
325
+
326
+ function unprotectElements( html )
327
+ {
328
+ return html.replace( encodedElementsRegex, function( match, encoded )
329
+ {
330
+ return decodeURIComponent( encoded );
331
+ });
332
+ }
333
+
334
+ function protectElementsNames( html )
335
+ {
336
+ return html.replace( protectElementNamesRegex, '$1cke:$2');
337
+ }
338
+
339
+ function unprotectElementNames( html )
340
+ {
341
+ return html.replace( unprotectElementNamesRegex, '$1$2' );
342
+ }
343
+
344
+ function protectSelfClosingElements( html )
345
+ {
346
+ return html.replace( protectSelfClosingRegex, '<cke:$1$2></cke:$1>' );
347
+ }
348
+
349
+ function protectPreFormatted( html )
350
+ {
351
+ return html.replace( /(<pre\b[^>]*>)(\r\n|\n)/g, '$1$2$2' );
352
+ }
353
+
354
+ function protectRealComments( html )
355
+ {
356
+ return html.replace( /<!--(?!{cke_protected})[\s\S]+?-->/g, function( match )
357
+ {
358
+ return '<!--' + protectedSourceMarker +
359
+ '{C}' +
360
+ encodeURIComponent( match ).replace( /--/g, '%2D%2D' ) +
361
+ '-->';
362
+ });
363
+ }
364
+
365
+ function unprotectRealComments( html )
366
+ {
367
+ return html.replace( /<!--\{cke_protected\}\{C\}([\s\S]+?)-->/g, function( match, data )
368
+ {
369
+ return decodeURIComponent( data );
370
+ });
371
+ }
372
+
373
+ function unprotectSource( html, editor )
374
+ {
375
+ var store = editor._.dataStore;
376
+
377
+ return html.replace( /<!--\{cke_protected\}([\s\S]+?)-->/g, function( match, data )
378
+ {
379
+ return decodeURIComponent( data );
380
+ }).replace( /\{cke_protected_(\d+)\}/g, function( match, id )
381
+ {
382
+ return store && store[ id ] || '';
383
+ });
384
+ }
385
+
386
+ function protectSource( data, editor )
387
+ {
388
+ var protectedHtml = [],
389
+ protectRegexes = editor.config.protectedSource,
390
+ store = editor._.dataStore || ( editor._.dataStore = { id : 1 } ),
391
+ tempRegex = /<\!--\{cke_temp(comment)?\}(\d*?)-->/g;
392
+
393
+ var regexes =
394
+ [
395
+ // Script tags will also be forced to be protected, otherwise
396
+ // IE will execute them.
397
+ ( /<script[\s\S]*?<\/script>/gi ),
398
+
399
+ // <noscript> tags (get lost in IE and messed up in FF).
400
+ /<noscript[\s\S]*?<\/noscript>/gi
401
+ ]
402
+ .concat( protectRegexes );
403
+
404
+ // First of any other protection, we must protect all comments
405
+ // to avoid loosing them (of course, IE related).
406
+ // Note that we use a different tag for comments, as we need to
407
+ // transform them when applying filters.
408
+ data = data.replace( (/<!--[\s\S]*?-->/g), function( match )
409
+ {
410
+ return '<!--{cke_tempcomment}' + ( protectedHtml.push( match ) - 1 ) + '-->';
411
+ });
412
+
413
+ for ( var i = 0 ; i < regexes.length ; i++ )
414
+ {
415
+ data = data.replace( regexes[i], function( match )
416
+ {
417
+ match = match.replace( tempRegex, // There could be protected source inside another one. (#3869).
418
+ function( $, isComment, id )
419
+ {
420
+ return protectedHtml[ id ];
421
+ }
422
+ );
423
+
424
+ // Avoid protecting over protected, e.g. /\{.*?\}/
425
+ return ( /cke_temp(comment)?/ ).test( match ) ? match
426
+ : '<!--{cke_temp}' + ( protectedHtml.push( match ) - 1 ) + '-->';
427
+ });
428
+ }
429
+ data = data.replace( tempRegex, function( $, isComment, id )
430
+ {
431
+ return '<!--' + protectedSourceMarker +
432
+ ( isComment ? '{C}' : '' ) +
433
+ encodeURIComponent( protectedHtml[ id ] ).replace( /--/g, '%2D%2D' ) +
434
+ '-->';
435
+ }
436
+ );
437
+
438
+ // Different protection pattern is used for those that
439
+ // live in attributes to avoid from being HTML encoded.
440
+ return data.replace( /(['"]).*?\1/g, function ( match )
441
+ {
442
+ return match.replace( /<!--\{cke_protected\}([\s\S]+?)-->/g, function( match, data )
443
+ {
444
+ store[ store.id ] = decodeURIComponent( data );
445
+ return '{cke_protected_'+ ( store.id++ ) + '}';
446
+ });
447
+ });
448
+ }
449
+
450
+ CKEDITOR.plugins.add( 'htmldataprocessor',
451
+ {
452
+ requires : [ 'htmlwriter' ],
453
+
454
+ init : function( editor )
455
+ {
456
+ var dataProcessor = editor.dataProcessor = new CKEDITOR.htmlDataProcessor( editor );
457
+
458
+ dataProcessor.writer.forceSimpleAmpersand = editor.config.forceSimpleAmpersand;
459
+
460
+ dataProcessor.dataFilter.addRules( defaultDataFilterRules );
461
+ dataProcessor.dataFilter.addRules( defaultDataBlockFilterRules );
462
+ dataProcessor.htmlFilter.addRules( defaultHtmlFilterRules );
463
+
464
+ var defaultHtmlBlockFilterRules = { elements : {} };
465
+ for ( i in blockLikeTags )
466
+ defaultHtmlBlockFilterRules.elements[ i ] = getBlockExtension( true, editor.config.fillEmptyBlocks );
467
+
468
+ dataProcessor.htmlFilter.addRules( defaultHtmlBlockFilterRules );
469
+ },
470
+
471
+ onLoad : function()
472
+ {
473
+ ! ( 'fillEmptyBlocks' in CKEDITOR.config ) && ( CKEDITOR.config.fillEmptyBlocks = 1 );
474
+ }
475
+ });
476
+
477
+ CKEDITOR.htmlDataProcessor = function( editor )
478
+ {
479
+ this.editor = editor;
480
+
481
+ this.writer = new CKEDITOR.htmlWriter();
482
+ this.dataFilter = new CKEDITOR.htmlParser.filter();
483
+ this.htmlFilter = new CKEDITOR.htmlParser.filter();
484
+ };
485
+
486
+ CKEDITOR.htmlDataProcessor.prototype =
487
+ {
488
+ toHtml : function( data, fixForBody )
489
+ {
490
+ // The source data is already HTML, but we need to clean
491
+ // it up and apply the filter.
492
+
493
+ data = protectSource( data, this.editor );
494
+
495
+ // Before anything, we must protect the URL attributes as the
496
+ // browser may changing them when setting the innerHTML later in
497
+ // the code.
498
+ data = protectAttributes( data );
499
+
500
+ // Protect elements than can't be set inside a DIV. E.g. IE removes
501
+ // style tags from innerHTML. (#3710)
502
+ data = protectElements( data );
503
+
504
+ // Certain elements has problem to go through DOM operation, protect
505
+ // them by prefixing 'cke' namespace. (#3591)
506
+ data = protectElementsNames( data );
507
+
508
+ // All none-IE browsers ignore self-closed custom elements,
509
+ // protecting them into open-close. (#3591)
510
+ data = protectSelfClosingElements( data );
511
+
512
+ // Compensate one leading line break after <pre> open as browsers
513
+ // eat it up. (#5789)
514
+ data = protectPreFormatted( data );
515
+
516
+ // Call the browser to help us fixing a possibly invalid HTML
517
+ // structure.
518
+ var div = new CKEDITOR.dom.element( 'div' );
519
+ // Add fake character to workaround IE comments bug. (#3801)
520
+ div.setHtml( 'a' + data );
521
+ data = div.getHtml().substr( 1 );
522
+
523
+ // Unprotect "some" of the protected elements at this point.
524
+ data = unprotectElementNames( data );
525
+
526
+ data = unprotectElements( data );
527
+
528
+ // Restore the comments that have been protected, in this way they
529
+ // can be properly filtered.
530
+ data = unprotectRealComments( data );
531
+
532
+ // Now use our parser to make further fixes to the structure, as
533
+ // well as apply the filter.
534
+ var fragment = CKEDITOR.htmlParser.fragment.fromHtml( data, fixForBody ),
535
+ writer = new CKEDITOR.htmlParser.basicWriter();
536
+
537
+ fragment.writeHtml( writer, this.dataFilter );
538
+ data = writer.getHtml( true );
539
+
540
+ // Protect the real comments again.
541
+ data = protectRealComments( data );
542
+
543
+ return data;
544
+ },
545
+
546
+ toDataFormat : function( html, fixForBody )
547
+ {
548
+ var writer = this.writer,
549
+ fragment = CKEDITOR.htmlParser.fragment.fromHtml( html, fixForBody );
550
+
551
+ writer.reset();
552
+
553
+ fragment.writeHtml( writer, this.htmlFilter );
554
+
555
+ var data = writer.getHtml( true );
556
+
557
+ // Restore those non-HTML protected source. (#4475,#4880)
558
+ data = unprotectRealComments( data );
559
+ data = unprotectSource( data, this.editor );
560
+
561
+ return data;
562
+ }
563
+ };
564
+ })();
565
+
566
+ /**
567
+ * Whether to force using "&" instead of "&amp;amp;" in elements attributes
568
+ * values, it's not recommended to change this setting for compliance with the
569
+ * W3C XHTML 1.0 standards (<a href="http://www.w3.org/TR/xhtml1/#C_12">C.12, XHTML 1.0</a>).
570
+ * @name CKEDITOR.config.forceSimpleAmpersand
571
+ * @name CKEDITOR.config.forceSimpleAmpersand
572
+ * @type Boolean
573
+ * @default false
574
+ * @example
575
+ * config.forceSimpleAmpersand = false;
576
+ */
577
+
578
+ /**
579
+ * Whether a filler text (non-breaking space entity - &nbsp;) will be inserted into empty block elements in HTML output,
580
+ * this is used to render block elements properly with line-height; When a function is instead specified,
581
+ * it'll be passed a {@link CKEDITOR.htmlParser.element} to decide whether adding the filler text
582
+ * by expecting a boolean return value.
583
+ * @name CKEDITOR.config.fillEmptyBlocks
584
+ * @since 3.5
585
+ * @type Boolean
586
+ * @default true
587
+ * @example
588
+ * config.fillEmptyBlocks = false; // Prevent filler nodes in all empty blocks.
589
+ *
590
+ * // Prevent filler node only in float cleaners.
591
+ * config.fillEmptyBlocks = function( element )
592
+ * {
593
+ * if ( element.attributes[ 'class' ].indexOf ( 'clear-both' ) != -1 )
594
+ * return false;
595
+ * }
596
+ */