ckeditor-rails 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (646) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +4 -0
  3. data/Rakefile +1 -0
  4. data/ckeditor-rails.gemspec +20 -0
  5. data/lib/ckeditor-rails.rb +8 -0
  6. data/lib/ckeditor-rails/engine.rb +6 -0
  7. data/lib/ckeditor-rails/version.rb +5 -0
  8. data/vendor/assets/ckeditor/.htaccess +24 -0
  9. data/vendor/assets/ckeditor/CHANGES.html +1367 -0
  10. data/vendor/assets/ckeditor/INSTALL.html +92 -0
  11. data/vendor/assets/ckeditor/LICENSE.html +1327 -0
  12. data/vendor/assets/ckeditor/_samples/adobeair/application.xml +32 -0
  13. data/vendor/assets/ckeditor/_samples/adobeair/run.bat +9 -0
  14. data/vendor/assets/ckeditor/_samples/adobeair/run.sh +8 -0
  15. data/vendor/assets/ckeditor/_samples/adobeair/sample.html +45 -0
  16. data/vendor/assets/ckeditor/_samples/ajax.html +98 -0
  17. data/vendor/assets/ckeditor/_samples/api.html +192 -0
  18. data/vendor/assets/ckeditor/_samples/api_dialog.html +198 -0
  19. data/vendor/assets/ckeditor/_samples/api_dialog/my_dialog.js +28 -0
  20. data/vendor/assets/ckeditor/_samples/asp/advanced.asp +105 -0
  21. data/vendor/assets/ckeditor/_samples/asp/events.asp +136 -0
  22. data/vendor/assets/ckeditor/_samples/asp/index.html +103 -0
  23. data/vendor/assets/ckeditor/_samples/asp/replace.asp +72 -0
  24. data/vendor/assets/ckeditor/_samples/asp/replaceall.asp +77 -0
  25. data/vendor/assets/ckeditor/_samples/asp/sample_posteddata.asp +46 -0
  26. data/vendor/assets/ckeditor/_samples/asp/standalone.asp +72 -0
  27. data/vendor/assets/ckeditor/_samples/assets/_posteddata.php +59 -0
  28. data/vendor/assets/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  29. data/vendor/assets/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  30. data/vendor/assets/ckeditor/_samples/assets/output_xhtml.css +204 -0
  31. data/vendor/assets/ckeditor/_samples/assets/parsesample.css +70 -0
  32. data/vendor/assets/ckeditor/_samples/assets/swfobject.js +18 -0
  33. data/vendor/assets/ckeditor/_samples/autogrow.html +107 -0
  34. data/vendor/assets/ckeditor/_samples/bbcode.html +125 -0
  35. data/vendor/assets/ckeditor/_samples/devtools.html +94 -0
  36. data/vendor/assets/ckeditor/_samples/divreplace.html +154 -0
  37. data/vendor/assets/ckeditor/_samples/enterkey.html +115 -0
  38. data/vendor/assets/ckeditor/_samples/fullpage.html +82 -0
  39. data/vendor/assets/ckeditor/_samples/index.html +116 -0
  40. data/vendor/assets/ckeditor/_samples/jqueryadapter.html +99 -0
  41. data/vendor/assets/ckeditor/_samples/output_for_flash.html +275 -0
  42. data/vendor/assets/ckeditor/_samples/output_html.html +285 -0
  43. data/vendor/assets/ckeditor/_samples/output_xhtml.html +177 -0
  44. data/vendor/assets/ckeditor/_samples/php/advanced.php +120 -0
  45. data/vendor/assets/ckeditor/_samples/php/events.php +153 -0
  46. data/vendor/assets/ckeditor/_samples/php/index.html +47 -0
  47. data/vendor/assets/ckeditor/_samples/php/replace.php +87 -0
  48. data/vendor/assets/ckeditor/_samples/php/replaceall.php +88 -0
  49. data/vendor/assets/ckeditor/_samples/php/standalone.php +83 -0
  50. data/vendor/assets/ckeditor/_samples/placeholder.html +81 -0
  51. data/vendor/assets/ckeditor/_samples/readonly.html +91 -0
  52. data/vendor/assets/ckeditor/_samples/replacebyclass.html +64 -0
  53. data/vendor/assets/ckeditor/_samples/replacebycode.html +97 -0
  54. data/vendor/assets/ckeditor/_samples/sample.css +163 -0
  55. data/vendor/assets/ckeditor/_samples/sample.js +65 -0
  56. data/vendor/assets/ckeditor/_samples/sample_posteddata.php +21 -0
  57. data/vendor/assets/ckeditor/_samples/sharedspaces.html +153 -0
  58. data/vendor/assets/ckeditor/_samples/skins.html +110 -0
  59. data/vendor/assets/ckeditor/_samples/stylesheetparser.html +93 -0
  60. data/vendor/assets/ckeditor/_samples/tableresize.html +115 -0
  61. data/vendor/assets/ckeditor/_samples/ui_color.html +129 -0
  62. data/vendor/assets/ckeditor/_samples/ui_languages.html +134 -0
  63. data/vendor/assets/ckeditor/_source/adapters/jquery.js +306 -0
  64. data/vendor/assets/ckeditor/_source/core/_bootstrap.js +87 -0
  65. data/vendor/assets/ckeditor/_source/core/ckeditor.js +141 -0
  66. data/vendor/assets/ckeditor/_source/core/ckeditor_base.js +227 -0
  67. data/vendor/assets/ckeditor/_source/core/ckeditor_basic.js +238 -0
  68. data/vendor/assets/ckeditor/_source/core/command.js +209 -0
  69. data/vendor/assets/ckeditor/_source/core/commanddefinition.js +129 -0
  70. data/vendor/assets/ckeditor/_source/core/config.js +431 -0
  71. data/vendor/assets/ckeditor/_source/core/dataprocessor.js +65 -0
  72. data/vendor/assets/ckeditor/_source/core/dom.js +20 -0
  73. data/vendor/assets/ckeditor/_source/core/dom/comment.js +32 -0
  74. data/vendor/assets/ckeditor/_source/core/dom/document.js +251 -0
  75. data/vendor/assets/ckeditor/_source/core/dom/documentfragment.js +49 -0
  76. data/vendor/assets/ckeditor/_source/core/dom/domobject.js +258 -0
  77. data/vendor/assets/ckeditor/_source/core/dom/element.js +1681 -0
  78. data/vendor/assets/ckeditor/_source/core/dom/elementpath.js +119 -0
  79. data/vendor/assets/ckeditor/_source/core/dom/event.js +145 -0
  80. data/vendor/assets/ckeditor/_source/core/dom/node.js +695 -0
  81. data/vendor/assets/ckeditor/_source/core/dom/nodelist.js +26 -0
  82. data/vendor/assets/ckeditor/_source/core/dom/range.js +2032 -0
  83. data/vendor/assets/ckeditor/_source/core/dom/rangelist.js +213 -0
  84. data/vendor/assets/ckeditor/_source/core/dom/text.js +128 -0
  85. data/vendor/assets/ckeditor/_source/core/dom/walker.js +462 -0
  86. data/vendor/assets/ckeditor/_source/core/dom/window.js +96 -0
  87. data/vendor/assets/ckeditor/_source/core/dtd.js +266 -0
  88. data/vendor/assets/ckeditor/_source/core/editor.js +1059 -0
  89. data/vendor/assets/ckeditor/_source/core/editor_basic.js +186 -0
  90. data/vendor/assets/ckeditor/_source/core/env.js +291 -0
  91. data/vendor/assets/ckeditor/_source/core/event.js +342 -0
  92. data/vendor/assets/ckeditor/_source/core/eventInfo.js +120 -0
  93. data/vendor/assets/ckeditor/_source/core/focusmanager.js +152 -0
  94. data/vendor/assets/ckeditor/_source/core/htmlparser.js +224 -0
  95. data/vendor/assets/ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
  96. data/vendor/assets/ckeditor/_source/core/htmlparser/cdata.js +43 -0
  97. data/vendor/assets/ckeditor/_source/core/htmlparser/comment.js +60 -0
  98. data/vendor/assets/ckeditor/_source/core/htmlparser/element.js +308 -0
  99. data/vendor/assets/ckeditor/_source/core/htmlparser/filter.js +288 -0
  100. data/vendor/assets/ckeditor/_source/core/htmlparser/fragment.js +497 -0
  101. data/vendor/assets/ckeditor/_source/core/htmlparser/text.js +55 -0
  102. data/vendor/assets/ckeditor/_source/core/lang.js +157 -0
  103. data/vendor/assets/ckeditor/_source/core/loader.js +240 -0
  104. data/vendor/assets/ckeditor/_source/core/plugindefinition.js +83 -0
  105. data/vendor/assets/ckeditor/_source/core/plugins.js +103 -0
  106. data/vendor/assets/ckeditor/_source/core/resourcemanager.js +238 -0
  107. data/vendor/assets/ckeditor/_source/core/scriptloader.js +180 -0
  108. data/vendor/assets/ckeditor/_source/core/skins.js +184 -0
  109. data/vendor/assets/ckeditor/_source/core/themes.js +19 -0
  110. data/vendor/assets/ckeditor/_source/core/tools.js +763 -0
  111. data/vendor/assets/ckeditor/_source/core/ui.js +128 -0
  112. data/vendor/assets/ckeditor/_source/lang/_languages.js +84 -0
  113. data/vendor/assets/ckeditor/_source/lang/_translationstatus.txt +61 -0
  114. data/vendor/assets/ckeditor/_source/lang/af.js +812 -0
  115. data/vendor/assets/ckeditor/_source/lang/ar.js +812 -0
  116. data/vendor/assets/ckeditor/_source/lang/bg.js +812 -0
  117. data/vendor/assets/ckeditor/_source/lang/bn.js +812 -0
  118. data/vendor/assets/ckeditor/_source/lang/bs.js +812 -0
  119. data/vendor/assets/ckeditor/_source/lang/ca.js +812 -0
  120. data/vendor/assets/ckeditor/_source/lang/cs.js +812 -0
  121. data/vendor/assets/ckeditor/_source/lang/cy.js +812 -0
  122. data/vendor/assets/ckeditor/_source/lang/da.js +812 -0
  123. data/vendor/assets/ckeditor/_source/lang/de.js +812 -0
  124. data/vendor/assets/ckeditor/_source/lang/el.js +812 -0
  125. data/vendor/assets/ckeditor/_source/lang/en-au.js +812 -0
  126. data/vendor/assets/ckeditor/_source/lang/en-ca.js +812 -0
  127. data/vendor/assets/ckeditor/_source/lang/en-gb.js +812 -0
  128. data/vendor/assets/ckeditor/_source/lang/en.js +812 -0
  129. data/vendor/assets/ckeditor/_source/lang/eo.js +812 -0
  130. data/vendor/assets/ckeditor/_source/lang/es.js +812 -0
  131. data/vendor/assets/ckeditor/_source/lang/et.js +812 -0
  132. data/vendor/assets/ckeditor/_source/lang/eu.js +812 -0
  133. data/vendor/assets/ckeditor/_source/lang/fa.js +812 -0
  134. data/vendor/assets/ckeditor/_source/lang/fi.js +812 -0
  135. data/vendor/assets/ckeditor/_source/lang/fo.js +812 -0
  136. data/vendor/assets/ckeditor/_source/lang/fr-ca.js +812 -0
  137. data/vendor/assets/ckeditor/_source/lang/fr.js +812 -0
  138. data/vendor/assets/ckeditor/_source/lang/gl.js +812 -0
  139. data/vendor/assets/ckeditor/_source/lang/gu.js +812 -0
  140. data/vendor/assets/ckeditor/_source/lang/he.js +812 -0
  141. data/vendor/assets/ckeditor/_source/lang/hi.js +812 -0
  142. data/vendor/assets/ckeditor/_source/lang/hr.js +812 -0
  143. data/vendor/assets/ckeditor/_source/lang/hu.js +812 -0
  144. data/vendor/assets/ckeditor/_source/lang/is.js +812 -0
  145. data/vendor/assets/ckeditor/_source/lang/it.js +812 -0
  146. data/vendor/assets/ckeditor/_source/lang/ja.js +812 -0
  147. data/vendor/assets/ckeditor/_source/lang/ka.js +812 -0
  148. data/vendor/assets/ckeditor/_source/lang/km.js +812 -0
  149. data/vendor/assets/ckeditor/_source/lang/ko.js +812 -0
  150. data/vendor/assets/ckeditor/_source/lang/lt.js +812 -0
  151. data/vendor/assets/ckeditor/_source/lang/lv.js +812 -0
  152. data/vendor/assets/ckeditor/_source/lang/mn.js +812 -0
  153. data/vendor/assets/ckeditor/_source/lang/ms.js +812 -0
  154. data/vendor/assets/ckeditor/_source/lang/nb.js +812 -0
  155. data/vendor/assets/ckeditor/_source/lang/nl.js +812 -0
  156. data/vendor/assets/ckeditor/_source/lang/no.js +812 -0
  157. data/vendor/assets/ckeditor/_source/lang/pl.js +812 -0
  158. data/vendor/assets/ckeditor/_source/lang/pt-br.js +811 -0
  159. data/vendor/assets/ckeditor/_source/lang/pt.js +812 -0
  160. data/vendor/assets/ckeditor/_source/lang/ro.js +812 -0
  161. data/vendor/assets/ckeditor/_source/lang/ru.js +812 -0
  162. data/vendor/assets/ckeditor/_source/lang/sk.js +812 -0
  163. data/vendor/assets/ckeditor/_source/lang/sl.js +812 -0
  164. data/vendor/assets/ckeditor/_source/lang/sr-latn.js +812 -0
  165. data/vendor/assets/ckeditor/_source/lang/sr.js +812 -0
  166. data/vendor/assets/ckeditor/_source/lang/sv.js +811 -0
  167. data/vendor/assets/ckeditor/_source/lang/th.js +812 -0
  168. data/vendor/assets/ckeditor/_source/lang/tr.js +811 -0
  169. data/vendor/assets/ckeditor/_source/lang/uk.js +812 -0
  170. data/vendor/assets/ckeditor/_source/lang/vi.js +812 -0
  171. data/vendor/assets/ckeditor/_source/lang/zh-cn.js +812 -0
  172. data/vendor/assets/ckeditor/_source/lang/zh.js +812 -0
  173. data/vendor/assets/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -0
  174. data/vendor/assets/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
  175. data/vendor/assets/ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
  176. data/vendor/assets/ckeditor/_source/plugins/a11yhelp/plugin.js +47 -0
  177. data/vendor/assets/ckeditor/_source/plugins/about/dialogs/about.js +76 -0
  178. data/vendor/assets/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  179. data/vendor/assets/ckeditor/_source/plugins/about/plugin.js +24 -0
  180. data/vendor/assets/ckeditor/_source/plugins/adobeair/plugin.js +228 -0
  181. data/vendor/assets/ckeditor/_source/plugins/ajax/plugin.js +152 -0
  182. data/vendor/assets/ckeditor/_source/plugins/autogrow/plugin.js +88 -0
  183. data/vendor/assets/ckeditor/_source/plugins/basicstyles/plugin.js +101 -0
  184. data/vendor/assets/ckeditor/_source/plugins/bbcode/plugin.js +931 -0
  185. data/vendor/assets/ckeditor/_source/plugins/bidi/plugin.js +334 -0
  186. data/vendor/assets/ckeditor/_source/plugins/blockquote/plugin.js +305 -0
  187. data/vendor/assets/ckeditor/_source/plugins/button/plugin.js +290 -0
  188. data/vendor/assets/ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -0
  189. data/vendor/assets/ckeditor/_source/plugins/clipboard/plugin.js +453 -0
  190. data/vendor/assets/ckeditor/_source/plugins/colorbutton/plugin.js +294 -0
  191. data/vendor/assets/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +340 -0
  192. data/vendor/assets/ckeditor/_source/plugins/colordialog/plugin.js +15 -0
  193. data/vendor/assets/ckeditor/_source/plugins/contextmenu/plugin.js +177 -0
  194. data/vendor/assets/ckeditor/_source/plugins/devtools/lang/en.js +16 -0
  195. data/vendor/assets/ckeditor/_source/plugins/devtools/plugin.js +173 -0
  196. data/vendor/assets/ckeditor/_source/plugins/dialog/dialogDefinition.js +1166 -0
  197. data/vendor/assets/ckeditor/_source/plugins/dialog/plugin.js +3289 -0
  198. data/vendor/assets/ckeditor/_source/plugins/dialogadvtab/plugin.js +207 -0
  199. data/vendor/assets/ckeditor/_source/plugins/dialogui/plugin.js +1541 -0
  200. data/vendor/assets/ckeditor/_source/plugins/div/dialogs/div.js +535 -0
  201. data/vendor/assets/ckeditor/_source/plugins/div/plugin.js +121 -0
  202. data/vendor/assets/ckeditor/_source/plugins/docprops/dialogs/docprops.js +686 -0
  203. data/vendor/assets/ckeditor/_source/plugins/docprops/plugin.js +22 -0
  204. data/vendor/assets/ckeditor/_source/plugins/domiterator/plugin.js +361 -0
  205. data/vendor/assets/ckeditor/_source/plugins/editingblock/plugin.js +275 -0
  206. data/vendor/assets/ckeditor/_source/plugins/elementspath/plugin.js +218 -0
  207. data/vendor/assets/ckeditor/_source/plugins/enterkey/plugin.js +413 -0
  208. data/vendor/assets/ckeditor/_source/plugins/entities/plugin.js +250 -0
  209. data/vendor/assets/ckeditor/_source/plugins/fakeobjects/plugin.js +175 -0
  210. data/vendor/assets/ckeditor/_source/plugins/filebrowser/plugin.js +524 -0
  211. data/vendor/assets/ckeditor/_source/plugins/find/dialogs/find.js +903 -0
  212. data/vendor/assets/ckeditor/_source/plugins/find/plugin.js +47 -0
  213. data/vendor/assets/ckeditor/_source/plugins/flash/dialogs/flash.js +673 -0
  214. data/vendor/assets/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  215. data/vendor/assets/ckeditor/_source/plugins/flash/plugin.js +154 -0
  216. data/vendor/assets/ckeditor/_source/plugins/floatpanel/plugin.js +428 -0
  217. data/vendor/assets/ckeditor/_source/plugins/font/plugin.js +234 -0
  218. data/vendor/assets/ckeditor/_source/plugins/format/plugin.js +197 -0
  219. data/vendor/assets/ckeditor/_source/plugins/forms/dialogs/button.js +118 -0
  220. data/vendor/assets/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -0
  221. data/vendor/assets/ckeditor/_source/plugins/forms/dialogs/form.js +177 -0
  222. data/vendor/assets/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +100 -0
  223. data/vendor/assets/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -0
  224. data/vendor/assets/ckeditor/_source/plugins/forms/dialogs/select.js +558 -0
  225. data/vendor/assets/ckeditor/_source/plugins/forms/dialogs/textarea.js +114 -0
  226. data/vendor/assets/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -0
  227. data/vendor/assets/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  228. data/vendor/assets/ckeditor/_source/plugins/forms/plugin.js +288 -0
  229. data/vendor/assets/ckeditor/_source/plugins/horizontalrule/plugin.js +48 -0
  230. data/vendor/assets/ckeditor/_source/plugins/htmldataprocessor/plugin.js +595 -0
  231. data/vendor/assets/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
  232. data/vendor/assets/ckeditor/_source/plugins/iframe/dialogs/iframe.js +229 -0
  233. data/vendor/assets/ckeditor/_source/plugins/iframe/images/placeholder.png +0 -0
  234. data/vendor/assets/ckeditor/_source/plugins/iframe/plugin.js +87 -0
  235. data/vendor/assets/ckeditor/_source/plugins/iframedialog/plugin.js +188 -0
  236. data/vendor/assets/ckeditor/_source/plugins/image/dialogs/image.js +1406 -0
  237. data/vendor/assets/ckeditor/_source/plugins/image/plugin.js +81 -0
  238. data/vendor/assets/ckeditor/_source/plugins/indent/plugin.js +461 -0
  239. data/vendor/assets/ckeditor/_source/plugins/justify/plugin.js +253 -0
  240. data/vendor/assets/ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
  241. data/vendor/assets/ckeditor/_source/plugins/link/dialogs/anchor.js +144 -0
  242. data/vendor/assets/ckeditor/_source/plugins/link/dialogs/link.js +1424 -0
  243. data/vendor/assets/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  244. data/vendor/assets/ckeditor/_source/plugins/link/plugin.js +374 -0
  245. data/vendor/assets/ckeditor/_source/plugins/list/plugin.js +734 -0
  246. data/vendor/assets/ckeditor/_source/plugins/listblock/plugin.js +268 -0
  247. data/vendor/assets/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +225 -0
  248. data/vendor/assets/ckeditor/_source/plugins/liststyle/plugin.js +66 -0
  249. data/vendor/assets/ckeditor/_source/plugins/maximize/plugin.js +352 -0
  250. data/vendor/assets/ckeditor/_source/plugins/menu/plugin.js +541 -0
  251. data/vendor/assets/ckeditor/_source/plugins/menubutton/plugin.js +98 -0
  252. data/vendor/assets/ckeditor/_source/plugins/newpage/plugin.js +54 -0
  253. data/vendor/assets/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  254. data/vendor/assets/ckeditor/_source/plugins/pagebreak/plugin.js +164 -0
  255. data/vendor/assets/ckeditor/_source/plugins/panel/plugin.js +403 -0
  256. data/vendor/assets/ckeditor/_source/plugins/panelbutton/plugin.js +144 -0
  257. data/vendor/assets/ckeditor/_source/plugins/pastefromword/filter/default.js +1367 -0
  258. data/vendor/assets/ckeditor/_source/plugins/pastefromword/plugin.js +141 -0
  259. data/vendor/assets/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -0
  260. data/vendor/assets/ckeditor/_source/plugins/pastetext/plugin.js +98 -0
  261. data/vendor/assets/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +71 -0
  262. data/vendor/assets/ckeditor/_source/plugins/placeholder/lang/en.js +16 -0
  263. data/vendor/assets/ckeditor/_source/plugins/placeholder/lang/he.js +16 -0
  264. data/vendor/assets/ckeditor/_source/plugins/placeholder/placeholder.gif +0 -0
  265. data/vendor/assets/ckeditor/_source/plugins/placeholder/plugin.js +171 -0
  266. data/vendor/assets/ckeditor/_source/plugins/popup/plugin.js +64 -0
  267. data/vendor/assets/ckeditor/_source/plugins/preview/plugin.js +109 -0
  268. data/vendor/assets/ckeditor/_source/plugins/print/plugin.js +42 -0
  269. data/vendor/assets/ckeditor/_source/plugins/removeformat/plugin.js +185 -0
  270. data/vendor/assets/ckeditor/_source/plugins/resize/plugin.js +168 -0
  271. data/vendor/assets/ckeditor/_source/plugins/richcombo/plugin.js +381 -0
  272. data/vendor/assets/ckeditor/_source/plugins/save/plugin.js +56 -0
  273. data/vendor/assets/ckeditor/_source/plugins/scayt/dialogs/options.js +537 -0
  274. data/vendor/assets/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -0
  275. data/vendor/assets/ckeditor/_source/plugins/scayt/plugin.js +964 -0
  276. data/vendor/assets/ckeditor/_source/plugins/selection/plugin.js +1601 -0
  277. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  278. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  279. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  280. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  281. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  282. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  283. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  284. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  285. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  286. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  287. data/vendor/assets/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  288. data/vendor/assets/ckeditor/_source/plugins/showblocks/plugin.js +160 -0
  289. data/vendor/assets/ckeditor/_source/plugins/showborders/plugin.js +207 -0
  290. data/vendor/assets/ckeditor/_source/plugins/smiley/dialogs/smiley.js +224 -0
  291. data/vendor/assets/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  292. data/vendor/assets/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  293. data/vendor/assets/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  294. data/vendor/assets/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  295. data/vendor/assets/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  296. data/vendor/assets/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  297. data/vendor/assets/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  298. data/vendor/assets/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  299. data/vendor/assets/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  300. data/vendor/assets/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  301. data/vendor/assets/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  302. data/vendor/assets/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  303. data/vendor/assets/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  304. data/vendor/assets/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  305. data/vendor/assets/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  306. data/vendor/assets/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  307. data/vendor/assets/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  308. data/vendor/assets/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  309. data/vendor/assets/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  310. data/vendor/assets/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  311. data/vendor/assets/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  312. data/vendor/assets/ckeditor/_source/plugins/smiley/plugin.js +94 -0
  313. data/vendor/assets/ckeditor/_source/plugins/sourcearea/plugin.js +209 -0
  314. data/vendor/assets/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +350 -0
  315. data/vendor/assets/ckeditor/_source/plugins/specialchar/lang/en.js +89 -0
  316. data/vendor/assets/ckeditor/_source/plugins/specialchar/plugin.js +70 -0
  317. data/vendor/assets/ckeditor/_source/plugins/styles/plugin.js +1696 -0
  318. data/vendor/assets/ckeditor/_source/plugins/styles/styles/default.js +88 -0
  319. data/vendor/assets/ckeditor/_source/plugins/stylescombo/plugin.js +218 -0
  320. data/vendor/assets/ckeditor/_source/plugins/stylesheetparser/plugin.js +148 -0
  321. data/vendor/assets/ckeditor/_source/plugins/tab/plugin.js +367 -0
  322. data/vendor/assets/ckeditor/_source/plugins/table/dialogs/table.js +602 -0
  323. data/vendor/assets/ckeditor/_source/plugins/table/plugin.js +78 -0
  324. data/vendor/assets/ckeditor/_source/plugins/tableresize/plugin.js +443 -0
  325. data/vendor/assets/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
  326. data/vendor/assets/ckeditor/_source/plugins/tabletools/plugin.js +1194 -0
  327. data/vendor/assets/ckeditor/_source/plugins/templates/dialogs/templates.js +234 -0
  328. data/vendor/assets/ckeditor/_source/plugins/templates/plugin.js +99 -0
  329. data/vendor/assets/ckeditor/_source/plugins/templates/templates/default.js +94 -0
  330. data/vendor/assets/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  331. data/vendor/assets/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  332. data/vendor/assets/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  333. data/vendor/assets/ckeditor/_source/plugins/toolbar/plugin.js +545 -0
  334. data/vendor/assets/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -0
  335. data/vendor/assets/ckeditor/_source/plugins/uicolor/lang/en.js +15 -0
  336. data/vendor/assets/ckeditor/_source/plugins/uicolor/lang/he.js +15 -0
  337. data/vendor/assets/ckeditor/_source/plugins/uicolor/plugin.js +37 -0
  338. data/vendor/assets/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  339. data/vendor/assets/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  340. data/vendor/assets/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  341. data/vendor/assets/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  342. data/vendor/assets/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  343. data/vendor/assets/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -0
  344. data/vendor/assets/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -0
  345. data/vendor/assets/ckeditor/_source/plugins/undo/plugin.js +580 -0
  346. data/vendor/assets/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -0
  347. data/vendor/assets/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  348. data/vendor/assets/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -0
  349. data/vendor/assets/ckeditor/_source/plugins/wsc/dialogs/wsc.js +192 -0
  350. data/vendor/assets/ckeditor/_source/plugins/wsc/plugin.js +33 -0
  351. data/vendor/assets/ckeditor/_source/plugins/wysiwygarea/plugin.js +1351 -0
  352. data/vendor/assets/ckeditor/_source/plugins/xml/plugin.js +170 -0
  353. data/vendor/assets/ckeditor/_source/skins/kama/dialog.css +943 -0
  354. data/vendor/assets/ckeditor/_source/skins/kama/editor.css +25 -0
  355. data/vendor/assets/ckeditor/_source/skins/kama/elementspath.css +73 -0
  356. data/vendor/assets/ckeditor/_source/skins/kama/icons.css +366 -0
  357. data/vendor/assets/ckeditor/_source/skins/kama/icons.png +0 -0
  358. data/vendor/assets/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  359. data/vendor/assets/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  360. data/vendor/assets/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  361. data/vendor/assets/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  362. data/vendor/assets/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  363. data/vendor/assets/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  364. data/vendor/assets/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  365. data/vendor/assets/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  366. data/vendor/assets/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  367. data/vendor/assets/ckeditor/_source/skins/kama/mainui.css +203 -0
  368. data/vendor/assets/ckeditor/_source/skins/kama/menu.css +232 -0
  369. data/vendor/assets/ckeditor/_source/skins/kama/panel.css +217 -0
  370. data/vendor/assets/ckeditor/_source/skins/kama/presets.css +49 -0
  371. data/vendor/assets/ckeditor/_source/skins/kama/reset.css +84 -0
  372. data/vendor/assets/ckeditor/_source/skins/kama/richcombo.css +287 -0
  373. data/vendor/assets/ckeditor/_source/skins/kama/skin.js +236 -0
  374. data/vendor/assets/ckeditor/_source/skins/kama/templates.css +88 -0
  375. data/vendor/assets/ckeditor/_source/skins/kama/toolbar.css +407 -0
  376. data/vendor/assets/ckeditor/_source/skins/office2003/dialog.css +844 -0
  377. data/vendor/assets/ckeditor/_source/skins/office2003/editor.css +25 -0
  378. data/vendor/assets/ckeditor/_source/skins/office2003/elementspath.css +74 -0
  379. data/vendor/assets/ckeditor/_source/skins/office2003/icons.css +363 -0
  380. data/vendor/assets/ckeditor/_source/skins/office2003/icons.png +0 -0
  381. data/vendor/assets/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  382. data/vendor/assets/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  383. data/vendor/assets/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  384. data/vendor/assets/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  385. data/vendor/assets/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  386. data/vendor/assets/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  387. data/vendor/assets/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  388. data/vendor/assets/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  389. data/vendor/assets/ckeditor/_source/skins/office2003/mainui.css +153 -0
  390. data/vendor/assets/ckeditor/_source/skins/office2003/menu.css +229 -0
  391. data/vendor/assets/ckeditor/_source/skins/office2003/panel.css +212 -0
  392. data/vendor/assets/ckeditor/_source/skins/office2003/presets.css +49 -0
  393. data/vendor/assets/ckeditor/_source/skins/office2003/reset.css +84 -0
  394. data/vendor/assets/ckeditor/_source/skins/office2003/richcombo.css +309 -0
  395. data/vendor/assets/ckeditor/_source/skins/office2003/skin.js +74 -0
  396. data/vendor/assets/ckeditor/_source/skins/office2003/templates.css +87 -0
  397. data/vendor/assets/ckeditor/_source/skins/office2003/toolbar.css +522 -0
  398. data/vendor/assets/ckeditor/_source/skins/v2/dialog.css +861 -0
  399. data/vendor/assets/ckeditor/_source/skins/v2/editor.css +25 -0
  400. data/vendor/assets/ckeditor/_source/skins/v2/elementspath.css +74 -0
  401. data/vendor/assets/ckeditor/_source/skins/v2/icons.css +363 -0
  402. data/vendor/assets/ckeditor/_source/skins/v2/icons.png +0 -0
  403. data/vendor/assets/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  404. data/vendor/assets/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  405. data/vendor/assets/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  406. data/vendor/assets/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  407. data/vendor/assets/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  408. data/vendor/assets/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  409. data/vendor/assets/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  410. data/vendor/assets/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  411. data/vendor/assets/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  412. data/vendor/assets/ckeditor/_source/skins/v2/mainui.css +162 -0
  413. data/vendor/assets/ckeditor/_source/skins/v2/menu.css +232 -0
  414. data/vendor/assets/ckeditor/_source/skins/v2/panel.css +212 -0
  415. data/vendor/assets/ckeditor/_source/skins/v2/presets.css +50 -0
  416. data/vendor/assets/ckeditor/_source/skins/v2/reset.css +84 -0
  417. data/vendor/assets/ckeditor/_source/skins/v2/richcombo.css +302 -0
  418. data/vendor/assets/ckeditor/_source/skins/v2/skin.js +70 -0
  419. data/vendor/assets/ckeditor/_source/skins/v2/templates.css +87 -0
  420. data/vendor/assets/ckeditor/_source/skins/v2/toolbar.css +465 -0
  421. data/vendor/assets/ckeditor/_source/themes/default/theme.js +395 -0
  422. data/vendor/assets/ckeditor/adapters/jquery.js +6 -0
  423. data/vendor/assets/ckeditor/ckeditor.asp +955 -0
  424. data/vendor/assets/ckeditor/ckeditor.js +147 -0
  425. data/vendor/assets/ckeditor/ckeditor.pack +211 -0
  426. data/vendor/assets/ckeditor/ckeditor.php +29 -0
  427. data/vendor/assets/ckeditor/ckeditor_basic.js +8 -0
  428. data/vendor/assets/ckeditor/ckeditor_basic_source.js +20 -0
  429. data/vendor/assets/ckeditor/ckeditor_php4.php +566 -0
  430. data/vendor/assets/ckeditor/ckeditor_php5.php +556 -0
  431. data/vendor/assets/ckeditor/ckeditor_source.js +25 -0
  432. data/vendor/assets/ckeditor/config.js +11 -0
  433. data/vendor/assets/ckeditor/contents.css +25 -0
  434. data/vendor/assets/ckeditor/images/spacer.gif +0 -0
  435. data/vendor/assets/ckeditor/lang/_languages.js +6 -0
  436. data/vendor/assets/ckeditor/lang/_translationstatus.txt +61 -0
  437. data/vendor/assets/ckeditor/lang/af.js +6 -0
  438. data/vendor/assets/ckeditor/lang/ar.js +6 -0
  439. data/vendor/assets/ckeditor/lang/bg.js +6 -0
  440. data/vendor/assets/ckeditor/lang/bn.js +6 -0
  441. data/vendor/assets/ckeditor/lang/bs.js +6 -0
  442. data/vendor/assets/ckeditor/lang/ca.js +6 -0
  443. data/vendor/assets/ckeditor/lang/cs.js +6 -0
  444. data/vendor/assets/ckeditor/lang/cy.js +6 -0
  445. data/vendor/assets/ckeditor/lang/da.js +6 -0
  446. data/vendor/assets/ckeditor/lang/de.js +6 -0
  447. data/vendor/assets/ckeditor/lang/el.js +6 -0
  448. data/vendor/assets/ckeditor/lang/en-au.js +6 -0
  449. data/vendor/assets/ckeditor/lang/en-ca.js +6 -0
  450. data/vendor/assets/ckeditor/lang/en-gb.js +6 -0
  451. data/vendor/assets/ckeditor/lang/en.js +6 -0
  452. data/vendor/assets/ckeditor/lang/eo.js +6 -0
  453. data/vendor/assets/ckeditor/lang/es.js +6 -0
  454. data/vendor/assets/ckeditor/lang/et.js +6 -0
  455. data/vendor/assets/ckeditor/lang/eu.js +6 -0
  456. data/vendor/assets/ckeditor/lang/fa.js +6 -0
  457. data/vendor/assets/ckeditor/lang/fi.js +6 -0
  458. data/vendor/assets/ckeditor/lang/fo.js +6 -0
  459. data/vendor/assets/ckeditor/lang/fr-ca.js +6 -0
  460. data/vendor/assets/ckeditor/lang/fr.js +6 -0
  461. data/vendor/assets/ckeditor/lang/gl.js +6 -0
  462. data/vendor/assets/ckeditor/lang/gu.js +6 -0
  463. data/vendor/assets/ckeditor/lang/he.js +6 -0
  464. data/vendor/assets/ckeditor/lang/hi.js +6 -0
  465. data/vendor/assets/ckeditor/lang/hr.js +6 -0
  466. data/vendor/assets/ckeditor/lang/hu.js +6 -0
  467. data/vendor/assets/ckeditor/lang/is.js +6 -0
  468. data/vendor/assets/ckeditor/lang/it.js +6 -0
  469. data/vendor/assets/ckeditor/lang/ja.js +6 -0
  470. data/vendor/assets/ckeditor/lang/ka.js +6 -0
  471. data/vendor/assets/ckeditor/lang/km.js +6 -0
  472. data/vendor/assets/ckeditor/lang/ko.js +6 -0
  473. data/vendor/assets/ckeditor/lang/lt.js +6 -0
  474. data/vendor/assets/ckeditor/lang/lv.js +6 -0
  475. data/vendor/assets/ckeditor/lang/mn.js +6 -0
  476. data/vendor/assets/ckeditor/lang/ms.js +6 -0
  477. data/vendor/assets/ckeditor/lang/nb.js +6 -0
  478. data/vendor/assets/ckeditor/lang/nl.js +6 -0
  479. data/vendor/assets/ckeditor/lang/no.js +6 -0
  480. data/vendor/assets/ckeditor/lang/pl.js +6 -0
  481. data/vendor/assets/ckeditor/lang/pt-br.js +6 -0
  482. data/vendor/assets/ckeditor/lang/pt.js +6 -0
  483. data/vendor/assets/ckeditor/lang/ro.js +6 -0
  484. data/vendor/assets/ckeditor/lang/ru.js +6 -0
  485. data/vendor/assets/ckeditor/lang/sk.js +6 -0
  486. data/vendor/assets/ckeditor/lang/sl.js +6 -0
  487. data/vendor/assets/ckeditor/lang/sr-latn.js +6 -0
  488. data/vendor/assets/ckeditor/lang/sr.js +6 -0
  489. data/vendor/assets/ckeditor/lang/sv.js +6 -0
  490. data/vendor/assets/ckeditor/lang/th.js +6 -0
  491. data/vendor/assets/ckeditor/lang/tr.js +6 -0
  492. data/vendor/assets/ckeditor/lang/uk.js +6 -0
  493. data/vendor/assets/ckeditor/lang/vi.js +6 -0
  494. data/vendor/assets/ckeditor/lang/zh-cn.js +6 -0
  495. data/vendor/assets/ckeditor/lang/zh.js +6 -0
  496. data/vendor/assets/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
  497. data/vendor/assets/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
  498. data/vendor/assets/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
  499. data/vendor/assets/ckeditor/plugins/about/dialogs/about.js +6 -0
  500. data/vendor/assets/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  501. data/vendor/assets/ckeditor/plugins/adobeair/plugin.js +6 -0
  502. data/vendor/assets/ckeditor/plugins/ajax/plugin.js +6 -0
  503. data/vendor/assets/ckeditor/plugins/autogrow/plugin.js +6 -0
  504. data/vendor/assets/ckeditor/plugins/bbcode/plugin.js +9 -0
  505. data/vendor/assets/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  506. data/vendor/assets/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  507. data/vendor/assets/ckeditor/plugins/devtools/lang/en.js +6 -0
  508. data/vendor/assets/ckeditor/plugins/devtools/plugin.js +6 -0
  509. data/vendor/assets/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  510. data/vendor/assets/ckeditor/plugins/div/dialogs/div.js +8 -0
  511. data/vendor/assets/ckeditor/plugins/docprops/dialogs/docprops.js +10 -0
  512. data/vendor/assets/ckeditor/plugins/docprops/plugin.js +6 -0
  513. data/vendor/assets/ckeditor/plugins/find/dialogs/find.js +10 -0
  514. data/vendor/assets/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  515. data/vendor/assets/ckeditor/plugins/flash/images/placeholder.png +0 -0
  516. data/vendor/assets/ckeditor/plugins/forms/dialogs/button.js +6 -0
  517. data/vendor/assets/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  518. data/vendor/assets/ckeditor/plugins/forms/dialogs/form.js +6 -0
  519. data/vendor/assets/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  520. data/vendor/assets/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  521. data/vendor/assets/ckeditor/plugins/forms/dialogs/select.js +9 -0
  522. data/vendor/assets/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  523. data/vendor/assets/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
  524. data/vendor/assets/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  525. data/vendor/assets/ckeditor/plugins/iframe/dialogs/iframe.js +7 -0
  526. data/vendor/assets/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  527. data/vendor/assets/ckeditor/plugins/iframedialog/plugin.js +6 -0
  528. data/vendor/assets/ckeditor/plugins/image/dialogs/image.js +13 -0
  529. data/vendor/assets/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  530. data/vendor/assets/ckeditor/plugins/link/dialogs/link.js +12 -0
  531. data/vendor/assets/ckeditor/plugins/link/images/anchor.gif +0 -0
  532. data/vendor/assets/ckeditor/plugins/liststyle/dialogs/liststyle.js +7 -0
  533. data/vendor/assets/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  534. data/vendor/assets/ckeditor/plugins/pastefromword/filter/default.js +11 -0
  535. data/vendor/assets/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
  536. data/vendor/assets/ckeditor/plugins/placeholder/dialogs/placeholder.js +6 -0
  537. data/vendor/assets/ckeditor/plugins/placeholder/lang/en.js +6 -0
  538. data/vendor/assets/ckeditor/plugins/placeholder/lang/he.js +6 -0
  539. data/vendor/assets/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  540. data/vendor/assets/ckeditor/plugins/placeholder/plugin.js +6 -0
  541. data/vendor/assets/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  542. data/vendor/assets/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
  543. data/vendor/assets/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  544. data/vendor/assets/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  545. data/vendor/assets/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  546. data/vendor/assets/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  547. data/vendor/assets/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  548. data/vendor/assets/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  549. data/vendor/assets/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  550. data/vendor/assets/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  551. data/vendor/assets/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  552. data/vendor/assets/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  553. data/vendor/assets/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  554. data/vendor/assets/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  555. data/vendor/assets/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  556. data/vendor/assets/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  557. data/vendor/assets/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  558. data/vendor/assets/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  559. data/vendor/assets/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  560. data/vendor/assets/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  561. data/vendor/assets/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  562. data/vendor/assets/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  563. data/vendor/assets/ckeditor/plugins/smiley/images/heart.gif +0 -0
  564. data/vendor/assets/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  565. data/vendor/assets/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  566. data/vendor/assets/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  567. data/vendor/assets/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  568. data/vendor/assets/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  569. data/vendor/assets/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  570. data/vendor/assets/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  571. data/vendor/assets/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  572. data/vendor/assets/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  573. data/vendor/assets/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  574. data/vendor/assets/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  575. data/vendor/assets/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  576. data/vendor/assets/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  577. data/vendor/assets/ckeditor/plugins/specialchar/lang/en.js +6 -0
  578. data/vendor/assets/ckeditor/plugins/styles/styles/default.js +6 -0
  579. data/vendor/assets/ckeditor/plugins/stylesheetparser/plugin.js +6 -0
  580. data/vendor/assets/ckeditor/plugins/table/dialogs/table.js +9 -0
  581. data/vendor/assets/ckeditor/plugins/tableresize/plugin.js +7 -0
  582. data/vendor/assets/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  583. data/vendor/assets/ckeditor/plugins/templates/dialogs/templates.js +7 -0
  584. data/vendor/assets/ckeditor/plugins/templates/templates/default.js +6 -0
  585. data/vendor/assets/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  586. data/vendor/assets/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  587. data/vendor/assets/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  588. data/vendor/assets/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
  589. data/vendor/assets/ckeditor/plugins/uicolor/lang/en.js +6 -0
  590. data/vendor/assets/ckeditor/plugins/uicolor/lang/he.js +6 -0
  591. data/vendor/assets/ckeditor/plugins/uicolor/plugin.js +6 -0
  592. data/vendor/assets/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  593. data/vendor/assets/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  594. data/vendor/assets/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  595. data/vendor/assets/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  596. data/vendor/assets/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  597. data/vendor/assets/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
  598. data/vendor/assets/ckeditor/plugins/uicolor/yui/yui.js +76 -0
  599. data/vendor/assets/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  600. data/vendor/assets/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  601. data/vendor/assets/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
  602. data/vendor/assets/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  603. data/vendor/assets/ckeditor/plugins/xml/plugin.js +6 -0
  604. data/vendor/assets/ckeditor/skins/kama/dialog.css +10 -0
  605. data/vendor/assets/ckeditor/skins/kama/editor.css +13 -0
  606. data/vendor/assets/ckeditor/skins/kama/icons.png +0 -0
  607. data/vendor/assets/ckeditor/skins/kama/icons_rtl.png +0 -0
  608. data/vendor/assets/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  609. data/vendor/assets/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  610. data/vendor/assets/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  611. data/vendor/assets/ckeditor/skins/kama/images/mini.gif +0 -0
  612. data/vendor/assets/ckeditor/skins/kama/images/noimage.png +0 -0
  613. data/vendor/assets/ckeditor/skins/kama/images/sprites.png +0 -0
  614. data/vendor/assets/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  615. data/vendor/assets/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  616. data/vendor/assets/ckeditor/skins/kama/skin.js +7 -0
  617. data/vendor/assets/ckeditor/skins/kama/templates.css +6 -0
  618. data/vendor/assets/ckeditor/skins/office2003/dialog.css +9 -0
  619. data/vendor/assets/ckeditor/skins/office2003/editor.css +14 -0
  620. data/vendor/assets/ckeditor/skins/office2003/icons.png +0 -0
  621. data/vendor/assets/ckeditor/skins/office2003/icons_rtl.png +0 -0
  622. data/vendor/assets/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  623. data/vendor/assets/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  624. data/vendor/assets/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  625. data/vendor/assets/ckeditor/skins/office2003/images/mini.gif +0 -0
  626. data/vendor/assets/ckeditor/skins/office2003/images/noimage.png +0 -0
  627. data/vendor/assets/ckeditor/skins/office2003/images/sprites.png +0 -0
  628. data/vendor/assets/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  629. data/vendor/assets/ckeditor/skins/office2003/skin.js +6 -0
  630. data/vendor/assets/ckeditor/skins/office2003/templates.css +6 -0
  631. data/vendor/assets/ckeditor/skins/v2/dialog.css +9 -0
  632. data/vendor/assets/ckeditor/skins/v2/editor.css +13 -0
  633. data/vendor/assets/ckeditor/skins/v2/icons.png +0 -0
  634. data/vendor/assets/ckeditor/skins/v2/icons_rtl.png +0 -0
  635. data/vendor/assets/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  636. data/vendor/assets/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  637. data/vendor/assets/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  638. data/vendor/assets/ckeditor/skins/v2/images/mini.gif +0 -0
  639. data/vendor/assets/ckeditor/skins/v2/images/noimage.png +0 -0
  640. data/vendor/assets/ckeditor/skins/v2/images/sprites.png +0 -0
  641. data/vendor/assets/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  642. data/vendor/assets/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  643. data/vendor/assets/ckeditor/skins/v2/skin.js +6 -0
  644. data/vendor/assets/ckeditor/skins/v2/templates.css +6 -0
  645. data/vendor/assets/ckeditor/themes/default/theme.js +8 -0
  646. metadata +692 -0
@@ -0,0 +1,213 @@
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
+ /**
9
+ * Represents a list os CKEDITOR.dom.range objects, which can be easily
10
+ * iterated sequentially.
11
+ * @constructor
12
+ * @param {CKEDITOR.dom.range|Array} [ranges] The ranges contained on this list.
13
+ * Note that, if an array of ranges is specified, the range sequence
14
+ * should match its DOM order. This class will not help to sort them.
15
+ */
16
+ CKEDITOR.dom.rangeList = function( ranges )
17
+ {
18
+ if ( ranges instanceof CKEDITOR.dom.rangeList )
19
+ return ranges;
20
+
21
+ if ( !ranges )
22
+ ranges = [];
23
+ else if ( ranges instanceof CKEDITOR.dom.range )
24
+ ranges = [ ranges ];
25
+
26
+ return CKEDITOR.tools.extend( ranges, mixins );
27
+ };
28
+
29
+ var mixins =
30
+ /** @lends CKEDITOR.dom.rangeList.prototype */
31
+ {
32
+ /**
33
+ * Creates an instance of the rangeList iterator, it should be used
34
+ * only when the ranges processing could be DOM intrusive, which
35
+ * means it may pollute and break other ranges in this list.
36
+ * Otherwise, it's enough to just iterate over this array in a for loop.
37
+ * @returns {CKEDITOR.dom.rangeListIterator}
38
+ */
39
+ createIterator : function()
40
+ {
41
+ var rangeList = this,
42
+ bookmark = CKEDITOR.dom.walker.bookmark(),
43
+ guard = function( node ) { return ! ( node.is && node.is( 'tr' ) ); },
44
+ bookmarks = [],
45
+ current;
46
+
47
+ /**
48
+ * @lends CKEDITOR.dom.rangeListIterator.prototype
49
+ */
50
+ return {
51
+
52
+ /**
53
+ * Retrieves the next range in the list.
54
+ * @param {Boolean} mergeConsequent Whether join two adjacent ranges into single, e.g. consequent table cells.
55
+ */
56
+ getNextRange : function( mergeConsequent )
57
+ {
58
+ current = current == undefined ? 0 : current + 1;
59
+
60
+ var range = rangeList[ current ];
61
+
62
+ // Multiple ranges might be mangled by each other.
63
+ if ( range && rangeList.length > 1 )
64
+ {
65
+ // Bookmarking all other ranges on the first iteration,
66
+ // the range correctness after it doesn't matter since we'll
67
+ // restore them before the next iteration.
68
+ if ( !current )
69
+ {
70
+ // Make sure bookmark correctness by reverse processing.
71
+ for ( var i = rangeList.length - 1; i >= 0; i-- )
72
+ bookmarks.unshift( rangeList[ i ].createBookmark( true ) );
73
+ }
74
+
75
+ if ( mergeConsequent )
76
+ {
77
+ // Figure out how many ranges should be merged.
78
+ var mergeCount = 0;
79
+ while ( rangeList[ current + mergeCount + 1 ] )
80
+ {
81
+ var doc = range.document,
82
+ found = 0,
83
+ left = doc.getById( bookmarks[ mergeCount ].endNode ),
84
+ right = doc.getById( bookmarks[ mergeCount + 1 ].startNode ),
85
+ next;
86
+
87
+ // Check subsequent range.
88
+ while ( 1 )
89
+ {
90
+ next = left.getNextSourceNode( false );
91
+ if ( !right.equals( next ) )
92
+ {
93
+ // This could be yet another bookmark or
94
+ // walking across block boundaries.
95
+ if ( bookmark( next ) || ( next.type == CKEDITOR.NODE_ELEMENT && next.isBlockBoundary() ) )
96
+ {
97
+ left = next;
98
+ continue;
99
+ }
100
+ }
101
+ else
102
+ found = 1;
103
+
104
+ break;
105
+ }
106
+
107
+ if ( !found )
108
+ break;
109
+
110
+ mergeCount++;
111
+ }
112
+ }
113
+
114
+ range.moveToBookmark( bookmarks.shift() );
115
+
116
+ // Merge ranges finally after moving to bookmarks.
117
+ while( mergeCount-- )
118
+ {
119
+ next = rangeList[ ++current ];
120
+ next.moveToBookmark( bookmarks.shift() );
121
+ range.setEnd( next.endContainer, next.endOffset );
122
+ }
123
+ }
124
+
125
+ return range;
126
+ }
127
+ };
128
+ },
129
+
130
+ createBookmarks : function( serializable )
131
+ {
132
+ var retval = [], bookmark;
133
+ for ( var i = 0; i < this.length ; i++ )
134
+ {
135
+ retval.push( bookmark = this[ i ].createBookmark( serializable, true) );
136
+
137
+ // Updating the container & offset values for ranges
138
+ // that have been touched.
139
+ for ( var j = i + 1; j < this.length; j++ )
140
+ {
141
+ this[ j ] = updateDirtyRange( bookmark, this[ j ] );
142
+ this[ j ] = updateDirtyRange( bookmark, this[ j ], true );
143
+ }
144
+ }
145
+ return retval;
146
+ },
147
+
148
+ createBookmarks2 : function( normalized )
149
+ {
150
+ var bookmarks = [];
151
+
152
+ for ( var i = 0 ; i < this.length ; i++ )
153
+ bookmarks.push( this[ i ].createBookmark2( normalized ) );
154
+
155
+ return bookmarks;
156
+ },
157
+
158
+ /**
159
+ * Move each range in the list to the position specified by a list of bookmarks.
160
+ * @param {Array} bookmarks The list of bookmarks, each one matching a range in the list.
161
+ */
162
+ moveToBookmarks : function( bookmarks )
163
+ {
164
+ for ( var i = 0 ; i < this.length ; i++ )
165
+ this[ i ].moveToBookmark( bookmarks[ i ] );
166
+ }
167
+ };
168
+
169
+ // Update the specified range which has been mangled by previous insertion of
170
+ // range bookmark nodes.(#3256)
171
+ function updateDirtyRange( bookmark, dirtyRange, checkEnd )
172
+ {
173
+ var serializable = bookmark.serializable,
174
+ container = dirtyRange[ checkEnd ? 'endContainer' : 'startContainer' ],
175
+ offset = checkEnd ? 'endOffset' : 'startOffset';
176
+
177
+ var bookmarkStart = serializable ?
178
+ dirtyRange.document.getById( bookmark.startNode )
179
+ : bookmark.startNode;
180
+
181
+ var bookmarkEnd = serializable ?
182
+ dirtyRange.document.getById( bookmark.endNode )
183
+ : bookmark.endNode;
184
+
185
+ if ( container.equals( bookmarkStart.getPrevious() ) )
186
+ {
187
+ dirtyRange.startOffset = dirtyRange.startOffset
188
+ - container.getLength()
189
+ - bookmarkEnd.getPrevious().getLength();
190
+ container = bookmarkEnd.getNext();
191
+ }
192
+ else if ( container.equals( bookmarkEnd.getPrevious() ) )
193
+ {
194
+ dirtyRange.startOffset = dirtyRange.startOffset - container.getLength();
195
+ container = bookmarkEnd.getNext();
196
+ }
197
+
198
+ container.equals( bookmarkStart.getParent() ) && dirtyRange[ offset ]++;
199
+ container.equals( bookmarkEnd.getParent() ) && dirtyRange[ offset ]++;
200
+
201
+ // Update and return this range.
202
+ dirtyRange[ checkEnd ? 'endContainer' : 'startContainer' ] = container;
203
+ return dirtyRange;
204
+ }
205
+ })();
206
+
207
+ /**
208
+ * (Virtual Class) Do not call this constructor. This class is not really part
209
+ * of the API. It just describes the return type of {@link CKEDITOR.dom.rangeList#createIterator}.
210
+ * @name CKEDITOR.dom.rangeListIterator
211
+ * @constructor
212
+ * @example
213
+ */
@@ -0,0 +1,128 @@
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
+ * @fileOverview Defines the {@link CKEDITOR.dom.text} class, which represents
8
+ * a DOM text node.
9
+ */
10
+
11
+ /**
12
+ * Represents a DOM text node.
13
+ * @constructor
14
+ * @augments CKEDITOR.dom.node
15
+ * @param {Object|String} text A native DOM text node or a string containing
16
+ * the text to use to create a new text node.
17
+ * @param {CKEDITOR.dom.document} [ownerDocument] The document that will contain
18
+ * the node in case of new node creation. Defaults to the current document.
19
+ * @example
20
+ * var nativeNode = document.createTextNode( 'Example' );
21
+ * var text = CKEDITOR.dom.text( nativeNode );
22
+ * @example
23
+ * var text = CKEDITOR.dom.text( 'Example' );
24
+ */
25
+ CKEDITOR.dom.text = function( text, ownerDocument )
26
+ {
27
+ if ( typeof text == 'string' )
28
+ text = ( ownerDocument ? ownerDocument.$ : document ).createTextNode( text );
29
+
30
+ // Theoretically, we should call the base constructor here
31
+ // (not CKEDITOR.dom.node though). But, IE doesn't support expando
32
+ // properties on text node, so the features provided by domObject will not
33
+ // work for text nodes (which is not a big issue for us).
34
+ //
35
+ // CKEDITOR.dom.domObject.call( this, element );
36
+
37
+ /**
38
+ * The native DOM text node represented by this class instance.
39
+ * @type Object
40
+ * @example
41
+ * var element = new CKEDITOR.dom.text( 'Example' );
42
+ * alert( element.$.nodeType ); // "3"
43
+ */
44
+ this.$ = text;
45
+ };
46
+
47
+ CKEDITOR.dom.text.prototype = new CKEDITOR.dom.node();
48
+
49
+ CKEDITOR.tools.extend( CKEDITOR.dom.text.prototype,
50
+ /** @lends CKEDITOR.dom.text.prototype */
51
+ {
52
+ /**
53
+ * The node type. This is a constant value set to
54
+ * {@link CKEDITOR.NODE_TEXT}.
55
+ * @type Number
56
+ * @example
57
+ */
58
+ type : CKEDITOR.NODE_TEXT,
59
+
60
+ getLength : function()
61
+ {
62
+ return this.$.nodeValue.length;
63
+ },
64
+
65
+ getText : function()
66
+ {
67
+ return this.$.nodeValue;
68
+ },
69
+
70
+ setText : function( text )
71
+ {
72
+ this.$.nodeValue = text;
73
+ },
74
+
75
+ /**
76
+ * Breaks this text node into two nodes at the specified offset,
77
+ * keeping both in the tree as siblings. This node then only contains
78
+ * all the content up to the offset point. A new text node, which is
79
+ * inserted as the next sibling of this node, contains all the content
80
+ * at and after the offset point. When the offset is equal to the
81
+ * length of this node, the new node has no data.
82
+ * @param {Number} The position at which to split, starting from zero.
83
+ * @returns {CKEDITOR.dom.text} The new text node.
84
+ */
85
+ split : function( offset )
86
+ {
87
+ // If the offset is after the last char, IE creates the text node
88
+ // on split, but don't include it into the DOM. So, we have to do
89
+ // that manually here.
90
+ if ( CKEDITOR.env.ie && offset == this.getLength() )
91
+ {
92
+ var next = this.getDocument().createText( '' );
93
+ next.insertAfter( this );
94
+ return next;
95
+ }
96
+
97
+ var doc = this.getDocument();
98
+ var retval = new CKEDITOR.dom.text( this.$.splitText( offset ), doc );
99
+
100
+ // IE BUG: IE8 does not update the childNodes array in DOM after splitText(),
101
+ // we need to make some DOM changes to make it update. (#3436)
102
+ if ( CKEDITOR.env.ie8 )
103
+ {
104
+ var workaround = new CKEDITOR.dom.text( '', doc );
105
+ workaround.insertAfter( retval );
106
+ workaround.remove();
107
+ }
108
+
109
+ return retval;
110
+ },
111
+
112
+ /**
113
+ * Extracts characters from indexA up to but not including indexB.
114
+ * @param {Number} indexA An integer between 0 and one less than the
115
+ * length of the text.
116
+ * @param {Number} [indexB] An integer between 0 and the length of the
117
+ * string. If omitted, extracts characters to the end of the text.
118
+ */
119
+ substring : function( indexA, indexB )
120
+ {
121
+ // We need the following check due to a Firefox bug
122
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=458886
123
+ if ( typeof indexB != 'number' )
124
+ return this.$.nodeValue.substr( indexA );
125
+ else
126
+ return this.$.nodeValue.substring( indexA, indexB );
127
+ }
128
+ });
@@ -0,0 +1,462 @@
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
+ // This function is to be called under a "walker" instance scope.
9
+ function iterate( rtl, breakOnFalse )
10
+ {
11
+ // Return null if we have reached the end.
12
+ if ( this._.end )
13
+ return null;
14
+
15
+ var node,
16
+ range = this.range,
17
+ guard,
18
+ userGuard = this.guard,
19
+ type = this.type,
20
+ getSourceNodeFn = ( rtl ? 'getPreviousSourceNode' : 'getNextSourceNode' );
21
+
22
+ // This is the first call. Initialize it.
23
+ if ( !this._.start )
24
+ {
25
+ this._.start = 1;
26
+
27
+ // Trim text nodes and optmize the range boundaries. DOM changes
28
+ // may happen at this point.
29
+ range.trim();
30
+
31
+ // A collapsed range must return null at first call.
32
+ if ( range.collapsed )
33
+ {
34
+ this.end();
35
+ return null;
36
+ }
37
+ }
38
+
39
+ // Create the LTR guard function, if necessary.
40
+ if ( !rtl && !this._.guardLTR )
41
+ {
42
+ // Gets the node that stops the walker when going LTR.
43
+ var limitLTR = range.endContainer,
44
+ blockerLTR = limitLTR.getChild( range.endOffset );
45
+
46
+ this._.guardLTR = function( node, movingOut )
47
+ {
48
+ return ( ( !movingOut || !limitLTR.equals( node ) )
49
+ && ( !blockerLTR || !node.equals( blockerLTR ) )
50
+ && ( node.type != CKEDITOR.NODE_ELEMENT || !movingOut || node.getName() != 'body' ) );
51
+ };
52
+ }
53
+
54
+ // Create the RTL guard function, if necessary.
55
+ if ( rtl && !this._.guardRTL )
56
+ {
57
+ // Gets the node that stops the walker when going LTR.
58
+ var limitRTL = range.startContainer,
59
+ blockerRTL = ( range.startOffset > 0 ) && limitRTL.getChild( range.startOffset - 1 );
60
+
61
+ this._.guardRTL = function( node, movingOut )
62
+ {
63
+ return ( ( !movingOut || !limitRTL.equals( node ) )
64
+ && ( !blockerRTL || !node.equals( blockerRTL ) )
65
+ && ( node.type != CKEDITOR.NODE_ELEMENT || !movingOut || node.getName() != 'body' ) );
66
+ };
67
+ }
68
+
69
+ // Define which guard function to use.
70
+ var stopGuard = rtl ? this._.guardRTL : this._.guardLTR;
71
+
72
+ // Make the user defined guard function participate in the process,
73
+ // otherwise simply use the boundary guard.
74
+ if ( userGuard )
75
+ {
76
+ guard = function( node, movingOut )
77
+ {
78
+ if ( stopGuard( node, movingOut ) === false )
79
+ return false;
80
+
81
+ return userGuard( node, movingOut );
82
+ };
83
+ }
84
+ else
85
+ guard = stopGuard;
86
+
87
+ if ( this.current )
88
+ node = this.current[ getSourceNodeFn ]( false, type, guard );
89
+ else
90
+ {
91
+ // Get the first node to be returned.
92
+
93
+ if ( rtl )
94
+ {
95
+ node = range.endContainer;
96
+
97
+ if ( range.endOffset > 0 )
98
+ {
99
+ node = node.getChild( range.endOffset - 1 );
100
+ if ( guard( node ) === false )
101
+ node = null;
102
+ }
103
+ else
104
+ node = ( guard ( node, true ) === false ) ?
105
+ null : node.getPreviousSourceNode( true, type, guard );
106
+ }
107
+ else
108
+ {
109
+ node = range.startContainer;
110
+ node = node.getChild( range.startOffset );
111
+
112
+ if ( node )
113
+ {
114
+ if ( guard( node ) === false )
115
+ node = null;
116
+ }
117
+ else
118
+ node = ( guard ( range.startContainer, true ) === false ) ?
119
+ null : range.startContainer.getNextSourceNode( true, type, guard ) ;
120
+ }
121
+ }
122
+
123
+ while ( node && !this._.end )
124
+ {
125
+ this.current = node;
126
+
127
+ if ( !this.evaluator || this.evaluator( node ) !== false )
128
+ {
129
+ if ( !breakOnFalse )
130
+ return node;
131
+ }
132
+ else if ( breakOnFalse && this.evaluator )
133
+ return false;
134
+
135
+ node = node[ getSourceNodeFn ]( false, type, guard );
136
+ }
137
+
138
+ this.end();
139
+ return this.current = null;
140
+ }
141
+
142
+ function iterateToLast( rtl )
143
+ {
144
+ var node, last = null;
145
+
146
+ while ( ( node = iterate.call( this, rtl ) ) )
147
+ last = node;
148
+
149
+ return last;
150
+ }
151
+
152
+ CKEDITOR.dom.walker = CKEDITOR.tools.createClass(
153
+ {
154
+ /**
155
+ * Utility class to "walk" the DOM inside a range boundaries. If
156
+ * necessary, partially included nodes (text nodes) are broken to
157
+ * reflect the boundaries limits, so DOM and range changes may happen.
158
+ * Outside changes to the range may break the walker.
159
+ *
160
+ * The walker may return nodes that are not totaly included into the
161
+ * range boundaires. Let's take the following range representation,
162
+ * where the square brackets indicate the boundaries:
163
+ *
164
+ * [&lt;p&gt;Some &lt;b&gt;sample] text&lt;/b&gt;
165
+ *
166
+ * While walking forward into the above range, the following nodes are
167
+ * returned: &lt;p&gt;, "Some ", &lt;b&gt; and "sample". Going
168
+ * backwards instead we have: "sample" and "Some ". So note that the
169
+ * walker always returns nodes when "entering" them, but not when
170
+ * "leaving" them. The guard function is instead called both when
171
+ * entering and leaving nodes.
172
+ *
173
+ * @constructor
174
+ * @param {CKEDITOR.dom.range} range The range within which walk.
175
+ */
176
+ $ : function( range )
177
+ {
178
+ this.range = range;
179
+
180
+ /**
181
+ * A function executed for every matched node, to check whether
182
+ * it's to be considered into the walk or not. If not provided, all
183
+ * matched nodes are considered good.
184
+ * If the function returns "false" the node is ignored.
185
+ * @name CKEDITOR.dom.walker.prototype.evaluator
186
+ * @property
187
+ * @type Function
188
+ */
189
+ // this.evaluator = null;
190
+
191
+ /**
192
+ * A function executed for every node the walk pass by to check
193
+ * whether the walk is to be finished. It's called when both
194
+ * entering and exiting nodes, as well as for the matched nodes.
195
+ * If this function returns "false", the walking ends and no more
196
+ * nodes are evaluated.
197
+ * @name CKEDITOR.dom.walker.prototype.guard
198
+ * @property
199
+ * @type Function
200
+ */
201
+ // this.guard = null;
202
+
203
+ /** @private */
204
+ this._ = {};
205
+ },
206
+
207
+ // statics :
208
+ // {
209
+ // /* Creates a CKEDITOR.dom.walker instance to walk inside DOM boundaries set by nodes.
210
+ // * @param {CKEDITOR.dom.node} startNode The node from wich the walk
211
+ // * will start.
212
+ // * @param {CKEDITOR.dom.node} [endNode] The last node to be considered
213
+ // * in the walk. No more nodes are retrieved after touching or
214
+ // * passing it. If not provided, the walker stops at the
215
+ // * &lt;body&gt; closing boundary.
216
+ // * @returns {CKEDITOR.dom.walker} A DOM walker for the nodes between the
217
+ // * provided nodes.
218
+ // */
219
+ // createOnNodes : function( startNode, endNode, startInclusive, endInclusive )
220
+ // {
221
+ // var range = new CKEDITOR.dom.range();
222
+ // if ( startNode )
223
+ // range.setStartAt( startNode, startInclusive ? CKEDITOR.POSITION_BEFORE_START : CKEDITOR.POSITION_AFTER_END ) ;
224
+ // else
225
+ // range.setStartAt( startNode.getDocument().getBody(), CKEDITOR.POSITION_AFTER_START ) ;
226
+ //
227
+ // if ( endNode )
228
+ // range.setEndAt( endNode, endInclusive ? CKEDITOR.POSITION_AFTER_END : CKEDITOR.POSITION_BEFORE_START ) ;
229
+ // else
230
+ // range.setEndAt( startNode.getDocument().getBody(), CKEDITOR.POSITION_BEFORE_END ) ;
231
+ //
232
+ // return new CKEDITOR.dom.walker( range );
233
+ // }
234
+ // },
235
+ //
236
+ proto :
237
+ {
238
+ /**
239
+ * Stop walking. No more nodes are retrieved if this function gets
240
+ * called.
241
+ */
242
+ end : function()
243
+ {
244
+ this._.end = 1;
245
+ },
246
+
247
+ /**
248
+ * Retrieves the next node (at right).
249
+ * @returns {CKEDITOR.dom.node} The next node or null if no more
250
+ * nodes are available.
251
+ */
252
+ next : function()
253
+ {
254
+ return iterate.call( this );
255
+ },
256
+
257
+ /**
258
+ * Retrieves the previous node (at left).
259
+ * @returns {CKEDITOR.dom.node} The previous node or null if no more
260
+ * nodes are available.
261
+ */
262
+ previous : function()
263
+ {
264
+ return iterate.call( this, 1 );
265
+ },
266
+
267
+ /**
268
+ * Check all nodes at right, executing the evaluation fuction.
269
+ * @returns {Boolean} "false" if the evaluator function returned
270
+ * "false" for any of the matched nodes. Otherwise "true".
271
+ */
272
+ checkForward : function()
273
+ {
274
+ return iterate.call( this, 0, 1 ) !== false;
275
+ },
276
+
277
+ /**
278
+ * Check all nodes at left, executing the evaluation fuction.
279
+ * @returns {Boolean} "false" if the evaluator function returned
280
+ * "false" for any of the matched nodes. Otherwise "true".
281
+ */
282
+ checkBackward : function()
283
+ {
284
+ return iterate.call( this, 1, 1 ) !== false;
285
+ },
286
+
287
+ /**
288
+ * Executes a full walk forward (to the right), until no more nodes
289
+ * are available, returning the last valid node.
290
+ * @returns {CKEDITOR.dom.node} The last node at the right or null
291
+ * if no valid nodes are available.
292
+ */
293
+ lastForward : function()
294
+ {
295
+ return iterateToLast.call( this );
296
+ },
297
+
298
+ /**
299
+ * Executes a full walk backwards (to the left), until no more nodes
300
+ * are available, returning the last valid node.
301
+ * @returns {CKEDITOR.dom.node} The last node at the left or null
302
+ * if no valid nodes are available.
303
+ */
304
+ lastBackward : function()
305
+ {
306
+ return iterateToLast.call( this, 1 );
307
+ },
308
+
309
+ reset : function()
310
+ {
311
+ delete this.current;
312
+ this._ = {};
313
+ }
314
+
315
+ }
316
+ });
317
+
318
+ /*
319
+ * Anything whose display computed style is block, list-item, table,
320
+ * table-row-group, table-header-group, table-footer-group, table-row,
321
+ * table-column-group, table-column, table-cell, table-caption, or whose node
322
+ * name is hr, br (when enterMode is br only) is a block boundary.
323
+ */
324
+ var blockBoundaryDisplayMatch =
325
+ {
326
+ block : 1,
327
+ 'list-item' : 1,
328
+ table : 1,
329
+ 'table-row-group' : 1,
330
+ 'table-header-group' : 1,
331
+ 'table-footer-group' : 1,
332
+ 'table-row' : 1,
333
+ 'table-column-group' : 1,
334
+ 'table-column' : 1,
335
+ 'table-cell' : 1,
336
+ 'table-caption' : 1
337
+ };
338
+
339
+ CKEDITOR.dom.element.prototype.isBlockBoundary = function( customNodeNames )
340
+ {
341
+ var nodeNameMatches = customNodeNames ?
342
+ CKEDITOR.tools.extend( {}, CKEDITOR.dtd.$block, customNodeNames || {} ) :
343
+ CKEDITOR.dtd.$block;
344
+
345
+ // Don't consider floated formatting as block boundary, fall back to dtd check in that case. (#6297)
346
+ return this.getComputedStyle( 'float' ) == 'none' && blockBoundaryDisplayMatch[ this.getComputedStyle( 'display' ) ]
347
+ || nodeNameMatches[ this.getName() ];
348
+ };
349
+
350
+ CKEDITOR.dom.walker.blockBoundary = function( customNodeNames )
351
+ {
352
+ return function( node , type )
353
+ {
354
+ return ! ( node.type == CKEDITOR.NODE_ELEMENT
355
+ && node.isBlockBoundary( customNodeNames ) );
356
+ };
357
+ };
358
+
359
+ CKEDITOR.dom.walker.listItemBoundary = function()
360
+ {
361
+ return this.blockBoundary( { br : 1 } );
362
+ };
363
+
364
+ /**
365
+ * Whether the to-be-evaluated node is a bookmark node OR bookmark node
366
+ * inner contents.
367
+ * @param {Boolean} contentOnly Whether only test againt the text content of
368
+ * bookmark node instead of the element itself(default).
369
+ * @param {Boolean} isReject Whether should return 'false' for the bookmark
370
+ * node instead of 'true'(default).
371
+ */
372
+ CKEDITOR.dom.walker.bookmark = function( contentOnly, isReject )
373
+ {
374
+ function isBookmarkNode( node )
375
+ {
376
+ return ( node && node.getName
377
+ && node.getName() == 'span'
378
+ && node.data( 'cke-bookmark' ) );
379
+ }
380
+
381
+ return function( node )
382
+ {
383
+ var isBookmark, parent;
384
+ // Is bookmark inner text node?
385
+ isBookmark = ( node && !node.getName && ( parent = node.getParent() )
386
+ && isBookmarkNode( parent ) );
387
+ // Is bookmark node?
388
+ isBookmark = contentOnly ? isBookmark : isBookmark || isBookmarkNode( node );
389
+ return !! ( isReject ^ isBookmark );
390
+ };
391
+ };
392
+
393
+ /**
394
+ * Whether the node is a text node containing only whitespaces characters.
395
+ * @param isReject
396
+ */
397
+ CKEDITOR.dom.walker.whitespaces = function( isReject )
398
+ {
399
+ return function( node )
400
+ {
401
+ var isWhitespace = node && ( node.type == CKEDITOR.NODE_TEXT )
402
+ && !CKEDITOR.tools.trim( node.getText() );
403
+ return !! ( isReject ^ isWhitespace );
404
+ };
405
+ };
406
+
407
+ /**
408
+ * Whether the node is invisible in wysiwyg mode.
409
+ * @param isReject
410
+ */
411
+ CKEDITOR.dom.walker.invisible = function( isReject )
412
+ {
413
+ var whitespace = CKEDITOR.dom.walker.whitespaces();
414
+ return function( node )
415
+ {
416
+ // Nodes that take no spaces in wysiwyg:
417
+ // 1. White-spaces but not including NBSP;
418
+ // 2. Empty inline elements, e.g. <b></b> we're checking here
419
+ // 'offsetHeight' instead of 'offsetWidth' for properly excluding
420
+ // all sorts of empty paragraph, e.g. <br />.
421
+ var isInvisible = whitespace( node ) || node.is && !node.$.offsetHeight;
422
+ return !! ( isReject ^ isInvisible );
423
+ };
424
+ };
425
+
426
+ CKEDITOR.dom.walker.nodeType = function( type, isReject )
427
+ {
428
+ return function( node )
429
+ {
430
+ return !! ( isReject ^ ( node.type == type ) );
431
+ };
432
+ };
433
+
434
+ var tailNbspRegex = /^[\t\r\n ]*(?:&nbsp;|\xa0)$/,
435
+ isWhitespaces = CKEDITOR.dom.walker.whitespaces(),
436
+ isBookmark = CKEDITOR.dom.walker.bookmark(),
437
+ toSkip = function( node )
438
+ {
439
+ return isBookmark( node )
440
+ || isWhitespaces( node )
441
+ || node.type == CKEDITOR.NODE_ELEMENT
442
+ && node.getName() in CKEDITOR.dtd.$inline
443
+ && !( node.getName() in CKEDITOR.dtd.$empty );
444
+ };
445
+
446
+ // Check if there's a filler node at the end of an element, and return it.
447
+ CKEDITOR.dom.element.prototype.getBogus = function()
448
+ {
449
+ // Bogus are not always at the end, e.g. <p><a>text<br /></a></p> (#7070).
450
+ var tail = this;
451
+ do { tail = tail.getPreviousSourceNode(); }
452
+ while ( toSkip( tail ) )
453
+
454
+ if ( tail && ( !CKEDITOR.env.ie ? tail.is && tail.is( 'br' )
455
+ : tail.getText && tailNbspRegex.test( tail.getText() ) ) )
456
+ {
457
+ return tail;
458
+ }
459
+ return false;
460
+ };
461
+
462
+ })();