ckeditor 3.2.1

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 (634) hide show
  1. data/CHANGELOG +15 -0
  2. data/README.textile +225 -0
  3. data/Rakefile +44 -0
  4. data/TODO +3 -0
  5. data/app/controllers/ckeditor_controller.rb +87 -0
  6. data/app/helpers/ckeditor_helper.rb +37 -0
  7. data/app/views/ckeditor/_file.html.erb +15 -0
  8. data/app/views/ckeditor/_image.html.erb +15 -0
  9. data/app/views/ckeditor/_swfupload.html.erb +51 -0
  10. data/app/views/ckeditor/files.html.erb +91 -0
  11. data/app/views/ckeditor/images.html.erb +91 -0
  12. data/app/views/layouts/ckeditor.html.erb +30 -0
  13. data/config/routes.rb +5 -0
  14. data/examples/migrations/attachment_fu/create_assets.rb +30 -0
  15. data/examples/migrations/paperclip/create_assets.rb +25 -0
  16. data/examples/models/attachment_fu/asset.rb +45 -0
  17. data/examples/models/attachment_fu/attachment_file.rb +46 -0
  18. data/examples/models/attachment_fu/picture.rb +46 -0
  19. data/examples/models/paperclip/asset.rb +65 -0
  20. data/examples/models/paperclip/attachment_file.rb +22 -0
  21. data/examples/models/paperclip/picture.rb +39 -0
  22. data/examples/s3/attachment_file.rb +23 -0
  23. data/examples/s3/picture.rb +41 -0
  24. data/lib/ckeditor.rb +57 -0
  25. data/lib/ckeditor/engine.rb +10 -0
  26. data/lib/ckeditor/file_storage.rb +178 -0
  27. data/lib/ckeditor/form_builder.rb +22 -0
  28. data/lib/ckeditor/utils.rb +15 -0
  29. data/lib/ckeditor/version.rb +11 -0
  30. data/lib/ckeditor/view_helper.rb +119 -0
  31. data/lib/generators/ckeditor_generator.rb +23 -0
  32. data/lib/generators/templates/ckeditor.rb +51 -0
  33. data/lib/generators/templates/ckeditor.yml +28 -0
  34. data/lib/generators/templates/ckeditor/CHANGES.html +642 -0
  35. data/lib/generators/templates/ckeditor/INSTALL.html +92 -0
  36. data/lib/generators/templates/ckeditor/LICENSE.html +1334 -0
  37. data/lib/generators/templates/ckeditor/_samples/ajax.html +87 -0
  38. data/lib/generators/templates/ckeditor/_samples/api.html +152 -0
  39. data/lib/generators/templates/ckeditor/_samples/api_dialog.html +181 -0
  40. data/lib/generators/templates/ckeditor/_samples/api_dialog/my_dialog.js +28 -0
  41. data/lib/generators/templates/ckeditor/_samples/assets/output_xhtml.css +204 -0
  42. data/lib/generators/templates/ckeditor/_samples/divreplace.html +137 -0
  43. data/lib/generators/templates/ckeditor/_samples/enterkey.html +88 -0
  44. data/lib/generators/templates/ckeditor/_samples/fullpage.html +62 -0
  45. data/lib/generators/templates/ckeditor/_samples/index.html +54 -0
  46. data/lib/generators/templates/ckeditor/_samples/jqueryadapter.html +73 -0
  47. data/lib/generators/templates/ckeditor/_samples/output_xhtml.html +159 -0
  48. data/lib/generators/templates/ckeditor/_samples/php/advanced.php +93 -0
  49. data/lib/generators/templates/ckeditor/_samples/php/events.php +130 -0
  50. data/lib/generators/templates/ckeditor/_samples/php/replace.php +63 -0
  51. data/lib/generators/templates/ckeditor/_samples/php/replaceall.php +68 -0
  52. data/lib/generators/templates/ckeditor/_samples/php/standalone.php +64 -0
  53. data/lib/generators/templates/ckeditor/_samples/replacebyclass.html +49 -0
  54. data/lib/generators/templates/ckeditor/_samples/replacebycode.html +80 -0
  55. data/lib/generators/templates/ckeditor/_samples/sample.css +81 -0
  56. data/lib/generators/templates/ckeditor/_samples/sample.js +65 -0
  57. data/lib/generators/templates/ckeditor/_samples/sample_posteddata.php +59 -0
  58. data/lib/generators/templates/ckeditor/_samples/sharedspaces.html +131 -0
  59. data/lib/generators/templates/ckeditor/_samples/skins.html +83 -0
  60. data/lib/generators/templates/ckeditor/_samples/ui_color.html +87 -0
  61. data/lib/generators/templates/ckeditor/_samples/ui_languages.html +103 -0
  62. data/lib/generators/templates/ckeditor/_source/adapters/jquery.js +297 -0
  63. data/lib/generators/templates/ckeditor/_source/core/_bootstrap.js +91 -0
  64. data/lib/generators/templates/ckeditor/_source/core/ajax.js +143 -0
  65. data/lib/generators/templates/ckeditor/_source/core/ckeditor.js +103 -0
  66. data/lib/generators/templates/ckeditor/_source/core/ckeditor_base.js +193 -0
  67. data/lib/generators/templates/ckeditor/_source/core/ckeditor_basic.js +242 -0
  68. data/lib/generators/templates/ckeditor/_source/core/command.js +73 -0
  69. data/lib/generators/templates/ckeditor/_source/core/commanddefinition.js +102 -0
  70. data/lib/generators/templates/ckeditor/_source/core/config.js +319 -0
  71. data/lib/generators/templates/ckeditor/_source/core/dataprocessor.js +66 -0
  72. data/lib/generators/templates/ckeditor/_source/core/dom.js +21 -0
  73. data/lib/generators/templates/ckeditor/_source/core/dom/comment.js +32 -0
  74. data/lib/generators/templates/ckeditor/_source/core/dom/document.js +224 -0
  75. data/lib/generators/templates/ckeditor/_source/core/dom/documentfragment.js +49 -0
  76. data/lib/generators/templates/ckeditor/_source/core/dom/domobject.js +246 -0
  77. data/lib/generators/templates/ckeditor/_source/core/dom/element.js +1441 -0
  78. data/lib/generators/templates/ckeditor/_source/core/dom/elementpath.js +104 -0
  79. data/lib/generators/templates/ckeditor/_source/core/dom/event.js +142 -0
  80. data/lib/generators/templates/ckeditor/_source/core/dom/node.js +662 -0
  81. data/lib/generators/templates/ckeditor/_source/core/dom/nodelist.js +23 -0
  82. data/lib/generators/templates/ckeditor/_source/core/dom/range.js +1836 -0
  83. data/lib/generators/templates/ckeditor/_source/core/dom/text.js +123 -0
  84. data/lib/generators/templates/ckeditor/_source/core/dom/walker.js +451 -0
  85. data/lib/generators/templates/ckeditor/_source/core/dom/window.js +96 -0
  86. data/lib/generators/templates/ckeditor/_source/core/dtd.js +233 -0
  87. data/lib/generators/templates/ckeditor/_source/core/editor.js +756 -0
  88. data/lib/generators/templates/ckeditor/_source/core/editor_basic.js +182 -0
  89. data/lib/generators/templates/ckeditor/_source/core/env.js +222 -0
  90. data/lib/generators/templates/ckeditor/_source/core/event.js +336 -0
  91. data/lib/generators/templates/ckeditor/_source/core/eventInfo.js +120 -0
  92. data/lib/generators/templates/ckeditor/_source/core/focusmanager.js +137 -0
  93. data/lib/generators/templates/ckeditor/_source/core/htmlparser.js +212 -0
  94. data/lib/generators/templates/ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
  95. data/lib/generators/templates/ckeditor/_source/core/htmlparser/cdata.js +43 -0
  96. data/lib/generators/templates/ckeditor/_source/core/htmlparser/comment.js +60 -0
  97. data/lib/generators/templates/ckeditor/_source/core/htmlparser/element.js +240 -0
  98. data/lib/generators/templates/ckeditor/_source/core/htmlparser/filter.js +262 -0
  99. data/lib/generators/templates/ckeditor/_source/core/htmlparser/fragment.js +496 -0
  100. data/lib/generators/templates/ckeditor/_source/core/htmlparser/text.js +55 -0
  101. data/lib/generators/templates/ckeditor/_source/core/imagecacher.js +59 -0
  102. data/lib/generators/templates/ckeditor/_source/core/lang.js +152 -0
  103. data/lib/generators/templates/ckeditor/_source/core/loader.js +242 -0
  104. data/lib/generators/templates/ckeditor/_source/core/plugindefinition.js +66 -0
  105. data/lib/generators/templates/ckeditor/_source/core/plugins.js +85 -0
  106. data/lib/generators/templates/ckeditor/_source/core/resourcemanager.js +238 -0
  107. data/lib/generators/templates/ckeditor/_source/core/scriptloader.js +198 -0
  108. data/lib/generators/templates/ckeditor/_source/core/skins.js +204 -0
  109. data/lib/generators/templates/ckeditor/_source/core/themes.js +19 -0
  110. data/lib/generators/templates/ckeditor/_source/core/tools.js +698 -0
  111. data/lib/generators/templates/ckeditor/_source/core/ui.js +116 -0
  112. data/lib/generators/templates/ckeditor/_source/core/xml.js +165 -0
  113. data/lib/generators/templates/ckeditor/_source/lang/_languages.js +83 -0
  114. data/lib/generators/templates/ckeditor/_source/lang/_translationstatus.txt +60 -0
  115. data/lib/generators/templates/ckeditor/_source/lang/af.js +708 -0
  116. data/lib/generators/templates/ckeditor/_source/lang/ar.js +708 -0
  117. data/lib/generators/templates/ckeditor/_source/lang/bg.js +708 -0
  118. data/lib/generators/templates/ckeditor/_source/lang/bn.js +708 -0
  119. data/lib/generators/templates/ckeditor/_source/lang/bs.js +708 -0
  120. data/lib/generators/templates/ckeditor/_source/lang/ca.js +708 -0
  121. data/lib/generators/templates/ckeditor/_source/lang/cs.js +708 -0
  122. data/lib/generators/templates/ckeditor/_source/lang/cy.js +708 -0
  123. data/lib/generators/templates/ckeditor/_source/lang/da.js +708 -0
  124. data/lib/generators/templates/ckeditor/_source/lang/de.js +708 -0
  125. data/lib/generators/templates/ckeditor/_source/lang/el.js +708 -0
  126. data/lib/generators/templates/ckeditor/_source/lang/en-au.js +708 -0
  127. data/lib/generators/templates/ckeditor/_source/lang/en-ca.js +708 -0
  128. data/lib/generators/templates/ckeditor/_source/lang/en-gb.js +708 -0
  129. data/lib/generators/templates/ckeditor/_source/lang/en.js +708 -0
  130. data/lib/generators/templates/ckeditor/_source/lang/eo.js +708 -0
  131. data/lib/generators/templates/ckeditor/_source/lang/es.js +708 -0
  132. data/lib/generators/templates/ckeditor/_source/lang/et.js +708 -0
  133. data/lib/generators/templates/ckeditor/_source/lang/eu.js +708 -0
  134. data/lib/generators/templates/ckeditor/_source/lang/fa.js +708 -0
  135. data/lib/generators/templates/ckeditor/_source/lang/fi.js +708 -0
  136. data/lib/generators/templates/ckeditor/_source/lang/fo.js +708 -0
  137. data/lib/generators/templates/ckeditor/_source/lang/fr-ca.js +708 -0
  138. data/lib/generators/templates/ckeditor/_source/lang/fr.js +708 -0
  139. data/lib/generators/templates/ckeditor/_source/lang/gl.js +708 -0
  140. data/lib/generators/templates/ckeditor/_source/lang/gu.js +708 -0
  141. data/lib/generators/templates/ckeditor/_source/lang/he.js +708 -0
  142. data/lib/generators/templates/ckeditor/_source/lang/hi.js +708 -0
  143. data/lib/generators/templates/ckeditor/_source/lang/hr.js +708 -0
  144. data/lib/generators/templates/ckeditor/_source/lang/hu.js +708 -0
  145. data/lib/generators/templates/ckeditor/_source/lang/is.js +708 -0
  146. data/lib/generators/templates/ckeditor/_source/lang/it.js +708 -0
  147. data/lib/generators/templates/ckeditor/_source/lang/ja.js +708 -0
  148. data/lib/generators/templates/ckeditor/_source/lang/km.js +708 -0
  149. data/lib/generators/templates/ckeditor/_source/lang/ko.js +708 -0
  150. data/lib/generators/templates/ckeditor/_source/lang/lt.js +708 -0
  151. data/lib/generators/templates/ckeditor/_source/lang/lv.js +708 -0
  152. data/lib/generators/templates/ckeditor/_source/lang/mn.js +708 -0
  153. data/lib/generators/templates/ckeditor/_source/lang/ms.js +708 -0
  154. data/lib/generators/templates/ckeditor/_source/lang/nb.js +708 -0
  155. data/lib/generators/templates/ckeditor/_source/lang/nl.js +708 -0
  156. data/lib/generators/templates/ckeditor/_source/lang/no.js +708 -0
  157. data/lib/generators/templates/ckeditor/_source/lang/pl.js +708 -0
  158. data/lib/generators/templates/ckeditor/_source/lang/pt-br.js +708 -0
  159. data/lib/generators/templates/ckeditor/_source/lang/pt.js +708 -0
  160. data/lib/generators/templates/ckeditor/_source/lang/ro.js +708 -0
  161. data/lib/generators/templates/ckeditor/_source/lang/ru.js +708 -0
  162. data/lib/generators/templates/ckeditor/_source/lang/sk.js +708 -0
  163. data/lib/generators/templates/ckeditor/_source/lang/sl.js +708 -0
  164. data/lib/generators/templates/ckeditor/_source/lang/sr-latn.js +708 -0
  165. data/lib/generators/templates/ckeditor/_source/lang/sr.js +708 -0
  166. data/lib/generators/templates/ckeditor/_source/lang/sv.js +708 -0
  167. data/lib/generators/templates/ckeditor/_source/lang/th.js +708 -0
  168. data/lib/generators/templates/ckeditor/_source/lang/tr.js +708 -0
  169. data/lib/generators/templates/ckeditor/_source/lang/uk.js +708 -0
  170. data/lib/generators/templates/ckeditor/_source/lang/vi.js +708 -0
  171. data/lib/generators/templates/ckeditor/_source/lang/zh-cn.js +708 -0
  172. data/lib/generators/templates/ckeditor/_source/lang/zh.js +708 -0
  173. data/lib/generators/templates/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +211 -0
  174. data/lib/generators/templates/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
  175. data/lib/generators/templates/ckeditor/_source/plugins/a11yhelp/plugin.js +46 -0
  176. data/lib/generators/templates/ckeditor/_source/plugins/about/dialogs/about.js +73 -0
  177. data/lib/generators/templates/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  178. data/lib/generators/templates/ckeditor/_source/plugins/about/plugin.js +23 -0
  179. data/lib/generators/templates/ckeditor/_source/plugins/attachment/dialogs/attachment.js +384 -0
  180. data/lib/generators/templates/ckeditor/_source/plugins/attachment/images/attachment.png +0 -0
  181. data/lib/generators/templates/ckeditor/_source/plugins/attachment/lang/en.js +10 -0
  182. data/lib/generators/templates/ckeditor/_source/plugins/attachment/lang/ru.js +10 -0
  183. data/lib/generators/templates/ckeditor/_source/plugins/attachment/lang/uk.js +10 -0
  184. data/lib/generators/templates/ckeditor/_source/plugins/attachment/plugin.js +44 -0
  185. data/lib/generators/templates/ckeditor/_source/plugins/basicstyles/plugin.js +101 -0
  186. data/lib/generators/templates/ckeditor/_source/plugins/blockquote/plugin.js +301 -0
  187. data/lib/generators/templates/ckeditor/_source/plugins/button/plugin.js +272 -0
  188. data/lib/generators/templates/ckeditor/_source/plugins/clipboard/dialogs/paste.js +186 -0
  189. data/lib/generators/templates/ckeditor/_source/plugins/clipboard/plugin.js +379 -0
  190. data/lib/generators/templates/ckeditor/_source/plugins/colorbutton/plugin.js +247 -0
  191. data/lib/generators/templates/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +191 -0
  192. data/lib/generators/templates/ckeditor/_source/plugins/colordialog/plugin.js +13 -0
  193. data/lib/generators/templates/ckeditor/_source/plugins/contextmenu/plugin.js +274 -0
  194. data/lib/generators/templates/ckeditor/_source/plugins/dialog/dialogDefinition.js +315 -0
  195. data/lib/generators/templates/ckeditor/_source/plugins/dialog/plugin.js +2913 -0
  196. data/lib/generators/templates/ckeditor/_source/plugins/dialogui/plugin.js +1408 -0
  197. data/lib/generators/templates/ckeditor/_source/plugins/div/dialogs/div.js +529 -0
  198. data/lib/generators/templates/ckeditor/_source/plugins/div/plugin.js +121 -0
  199. data/lib/generators/templates/ckeditor/_source/plugins/domiterator/plugin.js +355 -0
  200. data/lib/generators/templates/ckeditor/_source/plugins/editingblock/plugin.js +224 -0
  201. data/lib/generators/templates/ckeditor/_source/plugins/elementspath/plugin.js +203 -0
  202. data/lib/generators/templates/ckeditor/_source/plugins/embed/dialogs/embed.js +65 -0
  203. data/lib/generators/templates/ckeditor/_source/plugins/embed/images/embed.png +0 -0
  204. data/lib/generators/templates/ckeditor/_source/plugins/embed/lang/en.js +9 -0
  205. data/lib/generators/templates/ckeditor/_source/plugins/embed/lang/ru.js +9 -0
  206. data/lib/generators/templates/ckeditor/_source/plugins/embed/lang/uk.js +9 -0
  207. data/lib/generators/templates/ckeditor/_source/plugins/embed/plugin.js +43 -0
  208. data/lib/generators/templates/ckeditor/_source/plugins/enterkey/plugin.js +339 -0
  209. data/lib/generators/templates/ckeditor/_source/plugins/entities/plugin.js +200 -0
  210. data/lib/generators/templates/ckeditor/_source/plugins/fakeobjects/plugin.js +120 -0
  211. data/lib/generators/templates/ckeditor/_source/plugins/filebrowser/plugin.js +479 -0
  212. data/lib/generators/templates/ckeditor/_source/plugins/find/dialogs/find.js +867 -0
  213. data/lib/generators/templates/ckeditor/_source/plugins/find/plugin.js +46 -0
  214. data/lib/generators/templates/ckeditor/_source/plugins/flash/dialogs/flash.js +698 -0
  215. data/lib/generators/templates/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  216. data/lib/generators/templates/ckeditor/_source/plugins/flash/plugin.js +165 -0
  217. data/lib/generators/templates/ckeditor/_source/plugins/floatpanel/plugin.js +376 -0
  218. data/lib/generators/templates/ckeditor/_source/plugins/font/plugin.js +234 -0
  219. data/lib/generators/templates/ckeditor/_source/plugins/format/plugin.js +193 -0
  220. data/lib/generators/templates/ckeditor/_source/plugins/forms/dialogs/button.js +135 -0
  221. data/lib/generators/templates/ckeditor/_source/plugins/forms/dialogs/checkbox.js +155 -0
  222. data/lib/generators/templates/ckeditor/_source/plugins/forms/dialogs/form.js +177 -0
  223. data/lib/generators/templates/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +91 -0
  224. data/lib/generators/templates/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -0
  225. data/lib/generators/templates/ckeditor/_source/plugins/forms/dialogs/select.js +556 -0
  226. data/lib/generators/templates/ckeditor/_source/plugins/forms/dialogs/textarea.js +114 -0
  227. data/lib/generators/templates/ckeditor/_source/plugins/forms/dialogs/textfield.js +193 -0
  228. data/lib/generators/templates/ckeditor/_source/plugins/forms/plugin.js +217 -0
  229. data/lib/generators/templates/ckeditor/_source/plugins/horizontalrule/plugin.js +36 -0
  230. data/lib/generators/templates/ckeditor/_source/plugins/htmldataprocessor/plugin.js +463 -0
  231. data/lib/generators/templates/ckeditor/_source/plugins/htmlwriter/plugin.js +314 -0
  232. data/lib/generators/templates/ckeditor/_source/plugins/iframedialog/plugin.js +136 -0
  233. data/lib/generators/templates/ckeditor/_source/plugins/image/dialogs/image.js +1380 -0
  234. data/lib/generators/templates/ckeditor/_source/plugins/image/plugin.js +73 -0
  235. data/lib/generators/templates/ckeditor/_source/plugins/indent/plugin.js +381 -0
  236. data/lib/generators/templates/ckeditor/_source/plugins/justify/plugin.js +168 -0
  237. data/lib/generators/templates/ckeditor/_source/plugins/keystrokes/plugin.js +229 -0
  238. data/lib/generators/templates/ckeditor/_source/plugins/link/dialogs/anchor.js +99 -0
  239. data/lib/generators/templates/ckeditor/_source/plugins/link/dialogs/link.js +1413 -0
  240. data/lib/generators/templates/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  241. data/lib/generators/templates/ckeditor/_source/plugins/link/plugin.js +219 -0
  242. data/lib/generators/templates/ckeditor/_source/plugins/list/plugin.js +645 -0
  243. data/lib/generators/templates/ckeditor/_source/plugins/listblock/plugin.js +257 -0
  244. data/lib/generators/templates/ckeditor/_source/plugins/maximize/plugin.js +305 -0
  245. data/lib/generators/templates/ckeditor/_source/plugins/menu/plugin.js +406 -0
  246. data/lib/generators/templates/ckeditor/_source/plugins/menubutton/plugin.js +94 -0
  247. data/lib/generators/templates/ckeditor/_source/plugins/newpage/plugin.js +54 -0
  248. data/lib/generators/templates/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  249. data/lib/generators/templates/ckeditor/_source/plugins/pagebreak/plugin.js +103 -0
  250. data/lib/generators/templates/ckeditor/_source/plugins/panel/plugin.js +397 -0
  251. data/lib/generators/templates/ckeditor/_source/plugins/panelbutton/plugin.js +147 -0
  252. data/lib/generators/templates/ckeditor/_source/plugins/pastefromword/filter/default.js +1179 -0
  253. data/lib/generators/templates/ckeditor/_source/plugins/pastefromword/plugin.js +120 -0
  254. data/lib/generators/templates/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +77 -0
  255. data/lib/generators/templates/ckeditor/_source/plugins/pastetext/plugin.js +162 -0
  256. data/lib/generators/templates/ckeditor/_source/plugins/popup/plugin.js +62 -0
  257. data/lib/generators/templates/ckeditor/_source/plugins/preview/plugin.js +108 -0
  258. data/lib/generators/templates/ckeditor/_source/plugins/print/plugin.js +41 -0
  259. data/lib/generators/templates/ckeditor/_source/plugins/removeformat/plugin.js +132 -0
  260. data/lib/generators/templates/ckeditor/_source/plugins/resize/plugin.js +117 -0
  261. data/lib/generators/templates/ckeditor/_source/plugins/richcombo/plugin.js +370 -0
  262. data/lib/generators/templates/ckeditor/_source/plugins/save/plugin.js +55 -0
  263. data/lib/generators/templates/ckeditor/_source/plugins/scayt/dialogs/options.js +533 -0
  264. data/lib/generators/templates/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -0
  265. data/lib/generators/templates/ckeditor/_source/plugins/scayt/plugin.js +767 -0
  266. data/lib/generators/templates/ckeditor/_source/plugins/selection/plugin.js +1145 -0
  267. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  268. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  269. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  270. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  271. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  272. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  273. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  274. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  275. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  276. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  277. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  278. data/lib/generators/templates/ckeditor/_source/plugins/showblocks/plugin.js +154 -0
  279. data/lib/generators/templates/ckeditor/_source/plugins/showborders/plugin.js +167 -0
  280. data/lib/generators/templates/ckeditor/_source/plugins/smiley/dialogs/smiley.js +216 -0
  281. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  282. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  283. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  284. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  285. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  286. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  287. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  288. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  289. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  290. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  291. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  292. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  293. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  294. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  295. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  296. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  297. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  298. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  299. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  300. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  301. data/lib/generators/templates/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  302. data/lib/generators/templates/ckeditor/_source/plugins/smiley/plugin.js +84 -0
  303. data/lib/generators/templates/ckeditor/_source/plugins/sourcearea/plugin.js +206 -0
  304. data/lib/generators/templates/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +403 -0
  305. data/lib/generators/templates/ckeditor/_source/plugins/specialchar/plugin.js +29 -0
  306. data/lib/generators/templates/ckeditor/_source/plugins/styles/plugin.js +1442 -0
  307. data/lib/generators/templates/ckeditor/_source/plugins/styles/styles/default.js +88 -0
  308. data/lib/generators/templates/ckeditor/_source/plugins/stylescombo/plugin.js +204 -0
  309. data/lib/generators/templates/ckeditor/_source/plugins/tab/plugin.js +261 -0
  310. data/lib/generators/templates/ckeditor/_source/plugins/table/dialogs/table.js +591 -0
  311. data/lib/generators/templates/ckeditor/_source/plugins/table/plugin.js +70 -0
  312. data/lib/generators/templates/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +528 -0
  313. data/lib/generators/templates/ckeditor/_source/plugins/tabletools/plugin.js +1068 -0
  314. data/lib/generators/templates/ckeditor/_source/plugins/templates/dialogs/templates.js +230 -0
  315. data/lib/generators/templates/ckeditor/_source/plugins/templates/plugin.js +100 -0
  316. data/lib/generators/templates/ckeditor/_source/plugins/templates/templates/default.js +94 -0
  317. data/lib/generators/templates/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  318. data/lib/generators/templates/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  319. data/lib/generators/templates/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  320. data/lib/generators/templates/ckeditor/_source/plugins/toolbar/plugin.js +479 -0
  321. data/lib/generators/templates/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +204 -0
  322. data/lib/generators/templates/ckeditor/_source/plugins/uicolor/lang/en.js +15 -0
  323. data/lib/generators/templates/ckeditor/_source/plugins/uicolor/plugin.js +37 -0
  324. data/lib/generators/templates/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  325. data/lib/generators/templates/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  326. data/lib/generators/templates/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  327. data/lib/generators/templates/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  328. data/lib/generators/templates/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  329. data/lib/generators/templates/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -0
  330. data/lib/generators/templates/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -0
  331. data/lib/generators/templates/ckeditor/_source/plugins/undo/plugin.js +519 -0
  332. data/lib/generators/templates/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -0
  333. data/lib/generators/templates/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  334. data/lib/generators/templates/ckeditor/_source/plugins/wsc/dialogs/wsc.css +83 -0
  335. data/lib/generators/templates/ckeditor/_source/plugins/wsc/dialogs/wsc.js +176 -0
  336. data/lib/generators/templates/ckeditor/_source/plugins/wsc/plugin.js +33 -0
  337. data/lib/generators/templates/ckeditor/_source/plugins/wysiwygarea/plugin.js +882 -0
  338. data/lib/generators/templates/ckeditor/_source/skins/kama/dialog.css +835 -0
  339. data/lib/generators/templates/ckeditor/_source/skins/kama/editor.css +25 -0
  340. data/lib/generators/templates/ckeditor/_source/skins/kama/elementspath.css +72 -0
  341. data/lib/generators/templates/ckeditor/_source/skins/kama/icons.css +326 -0
  342. data/lib/generators/templates/ckeditor/_source/skins/kama/icons.png +0 -0
  343. data/lib/generators/templates/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  344. data/lib/generators/templates/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  345. data/lib/generators/templates/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  346. data/lib/generators/templates/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  347. data/lib/generators/templates/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  348. data/lib/generators/templates/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  349. data/lib/generators/templates/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  350. data/lib/generators/templates/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  351. data/lib/generators/templates/ckeditor/_source/skins/kama/mainui.css +183 -0
  352. data/lib/generators/templates/ckeditor/_source/skins/kama/menu.css +197 -0
  353. data/lib/generators/templates/ckeditor/_source/skins/kama/panel.css +216 -0
  354. data/lib/generators/templates/ckeditor/_source/skins/kama/presets.css +49 -0
  355. data/lib/generators/templates/ckeditor/_source/skins/kama/reset.css +78 -0
  356. data/lib/generators/templates/ckeditor/_source/skins/kama/richcombo.css +270 -0
  357. data/lib/generators/templates/ckeditor/_source/skins/kama/skin.js +268 -0
  358. data/lib/generators/templates/ckeditor/_source/skins/kama/templates.css +84 -0
  359. data/lib/generators/templates/ckeditor/_source/skins/kama/toolbar.css +409 -0
  360. data/lib/generators/templates/ckeditor/_source/skins/office2003/dialog.css +738 -0
  361. data/lib/generators/templates/ckeditor/_source/skins/office2003/editor.css +25 -0
  362. data/lib/generators/templates/ckeditor/_source/skins/office2003/elementspath.css +73 -0
  363. data/lib/generators/templates/ckeditor/_source/skins/office2003/icons.css +324 -0
  364. data/lib/generators/templates/ckeditor/_source/skins/office2003/icons.png +0 -0
  365. data/lib/generators/templates/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  366. data/lib/generators/templates/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  367. data/lib/generators/templates/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  368. data/lib/generators/templates/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  369. data/lib/generators/templates/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  370. data/lib/generators/templates/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  371. data/lib/generators/templates/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  372. data/lib/generators/templates/ckeditor/_source/skins/office2003/mainui.css +133 -0
  373. data/lib/generators/templates/ckeditor/_source/skins/office2003/menu.css +194 -0
  374. data/lib/generators/templates/ckeditor/_source/skins/office2003/panel.css +211 -0
  375. data/lib/generators/templates/ckeditor/_source/skins/office2003/presets.css +49 -0
  376. data/lib/generators/templates/ckeditor/_source/skins/office2003/reset.css +78 -0
  377. data/lib/generators/templates/ckeditor/_source/skins/office2003/richcombo.css +289 -0
  378. data/lib/generators/templates/ckeditor/_source/skins/office2003/skin.js +81 -0
  379. data/lib/generators/templates/ckeditor/_source/skins/office2003/templates.css +81 -0
  380. data/lib/generators/templates/ckeditor/_source/skins/office2003/toolbar.css +463 -0
  381. data/lib/generators/templates/ckeditor/_source/skins/v2/dialog.css +753 -0
  382. data/lib/generators/templates/ckeditor/_source/skins/v2/editor.css +25 -0
  383. data/lib/generators/templates/ckeditor/_source/skins/v2/elementspath.css +73 -0
  384. data/lib/generators/templates/ckeditor/_source/skins/v2/icons.css +324 -0
  385. data/lib/generators/templates/ckeditor/_source/skins/v2/icons.png +0 -0
  386. data/lib/generators/templates/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  387. data/lib/generators/templates/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  388. data/lib/generators/templates/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  389. data/lib/generators/templates/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  390. data/lib/generators/templates/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  391. data/lib/generators/templates/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  392. data/lib/generators/templates/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  393. data/lib/generators/templates/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  394. data/lib/generators/templates/ckeditor/_source/skins/v2/mainui.css +142 -0
  395. data/lib/generators/templates/ckeditor/_source/skins/v2/menu.css +196 -0
  396. data/lib/generators/templates/ckeditor/_source/skins/v2/panel.css +211 -0
  397. data/lib/generators/templates/ckeditor/_source/skins/v2/presets.css +50 -0
  398. data/lib/generators/templates/ckeditor/_source/skins/v2/reset.css +78 -0
  399. data/lib/generators/templates/ckeditor/_source/skins/v2/richcombo.css +289 -0
  400. data/lib/generators/templates/ckeditor/_source/skins/v2/skin.js +77 -0
  401. data/lib/generators/templates/ckeditor/_source/skins/v2/templates.css +81 -0
  402. data/lib/generators/templates/ckeditor/_source/skins/v2/toolbar.css +415 -0
  403. data/lib/generators/templates/ckeditor/_source/themes/default/theme.js +335 -0
  404. data/lib/generators/templates/ckeditor/adapters/jquery.js +6 -0
  405. data/lib/generators/templates/ckeditor/ckeditor.js +124 -0
  406. data/lib/generators/templates/ckeditor/ckeditor.pack +205 -0
  407. data/lib/generators/templates/ckeditor/ckeditor_basic.js +8 -0
  408. data/lib/generators/templates/ckeditor/ckeditor_basic_source.js +20 -0
  409. data/lib/generators/templates/ckeditor/ckeditor_source.js +25 -0
  410. data/lib/generators/templates/ckeditor/config.js +42 -0
  411. data/lib/generators/templates/ckeditor/contents.css +35 -0
  412. data/lib/generators/templates/ckeditor/css/ckfinder.css +299 -0
  413. data/lib/generators/templates/ckeditor/css/fck_dialog.css +119 -0
  414. data/lib/generators/templates/ckeditor/css/fck_editor.css +448 -0
  415. data/lib/generators/templates/ckeditor/css/swfupload.css +94 -0
  416. data/lib/generators/templates/ckeditor/images/add.gif +0 -0
  417. data/lib/generators/templates/ckeditor/images/cancelbutton.gif +0 -0
  418. data/lib/generators/templates/ckeditor/images/ckfnothumb.gif +0 -0
  419. data/lib/generators/templates/ckeditor/images/doc.gif +0 -0
  420. data/lib/generators/templates/ckeditor/images/mp3.gif +0 -0
  421. data/lib/generators/templates/ckeditor/images/pdf.gif +0 -0
  422. data/lib/generators/templates/ckeditor/images/rar.gif +0 -0
  423. data/lib/generators/templates/ckeditor/images/refresh.gif +0 -0
  424. data/lib/generators/templates/ckeditor/images/select_files.png +0 -0
  425. data/lib/generators/templates/ckeditor/images/spacer.gif +0 -0
  426. data/lib/generators/templates/ckeditor/images/swf.gif +0 -0
  427. data/lib/generators/templates/ckeditor/images/toolbar.start.gif +0 -0
  428. data/lib/generators/templates/ckeditor/images/xls.gif +0 -0
  429. data/lib/generators/templates/ckeditor/lang/_languages.js +6 -0
  430. data/lib/generators/templates/ckeditor/lang/_translationstatus.txt +60 -0
  431. data/lib/generators/templates/ckeditor/lang/af.js +6 -0
  432. data/lib/generators/templates/ckeditor/lang/ar.js +6 -0
  433. data/lib/generators/templates/ckeditor/lang/bg.js +6 -0
  434. data/lib/generators/templates/ckeditor/lang/bn.js +6 -0
  435. data/lib/generators/templates/ckeditor/lang/bs.js +6 -0
  436. data/lib/generators/templates/ckeditor/lang/ca.js +6 -0
  437. data/lib/generators/templates/ckeditor/lang/cs.js +6 -0
  438. data/lib/generators/templates/ckeditor/lang/cy.js +6 -0
  439. data/lib/generators/templates/ckeditor/lang/da.js +6 -0
  440. data/lib/generators/templates/ckeditor/lang/de.js +6 -0
  441. data/lib/generators/templates/ckeditor/lang/el.js +6 -0
  442. data/lib/generators/templates/ckeditor/lang/en-au.js +6 -0
  443. data/lib/generators/templates/ckeditor/lang/en-ca.js +6 -0
  444. data/lib/generators/templates/ckeditor/lang/en-gb.js +6 -0
  445. data/lib/generators/templates/ckeditor/lang/en.js +6 -0
  446. data/lib/generators/templates/ckeditor/lang/eo.js +6 -0
  447. data/lib/generators/templates/ckeditor/lang/es.js +6 -0
  448. data/lib/generators/templates/ckeditor/lang/et.js +6 -0
  449. data/lib/generators/templates/ckeditor/lang/eu.js +6 -0
  450. data/lib/generators/templates/ckeditor/lang/fa.js +6 -0
  451. data/lib/generators/templates/ckeditor/lang/fi.js +6 -0
  452. data/lib/generators/templates/ckeditor/lang/fo.js +6 -0
  453. data/lib/generators/templates/ckeditor/lang/fr-ca.js +6 -0
  454. data/lib/generators/templates/ckeditor/lang/fr.js +6 -0
  455. data/lib/generators/templates/ckeditor/lang/gl.js +6 -0
  456. data/lib/generators/templates/ckeditor/lang/gu.js +6 -0
  457. data/lib/generators/templates/ckeditor/lang/he.js +6 -0
  458. data/lib/generators/templates/ckeditor/lang/hi.js +6 -0
  459. data/lib/generators/templates/ckeditor/lang/hr.js +6 -0
  460. data/lib/generators/templates/ckeditor/lang/hu.js +6 -0
  461. data/lib/generators/templates/ckeditor/lang/is.js +6 -0
  462. data/lib/generators/templates/ckeditor/lang/it.js +6 -0
  463. data/lib/generators/templates/ckeditor/lang/ja.js +6 -0
  464. data/lib/generators/templates/ckeditor/lang/km.js +6 -0
  465. data/lib/generators/templates/ckeditor/lang/ko.js +6 -0
  466. data/lib/generators/templates/ckeditor/lang/lt.js +6 -0
  467. data/lib/generators/templates/ckeditor/lang/lv.js +6 -0
  468. data/lib/generators/templates/ckeditor/lang/mn.js +6 -0
  469. data/lib/generators/templates/ckeditor/lang/ms.js +6 -0
  470. data/lib/generators/templates/ckeditor/lang/nb.js +6 -0
  471. data/lib/generators/templates/ckeditor/lang/nl.js +6 -0
  472. data/lib/generators/templates/ckeditor/lang/no.js +6 -0
  473. data/lib/generators/templates/ckeditor/lang/pl.js +6 -0
  474. data/lib/generators/templates/ckeditor/lang/pt-br.js +6 -0
  475. data/lib/generators/templates/ckeditor/lang/pt.js +6 -0
  476. data/lib/generators/templates/ckeditor/lang/ro.js +6 -0
  477. data/lib/generators/templates/ckeditor/lang/ru.js +6 -0
  478. data/lib/generators/templates/ckeditor/lang/sk.js +6 -0
  479. data/lib/generators/templates/ckeditor/lang/sl.js +6 -0
  480. data/lib/generators/templates/ckeditor/lang/sr-latn.js +6 -0
  481. data/lib/generators/templates/ckeditor/lang/sr.js +6 -0
  482. data/lib/generators/templates/ckeditor/lang/sv.js +6 -0
  483. data/lib/generators/templates/ckeditor/lang/th.js +6 -0
  484. data/lib/generators/templates/ckeditor/lang/tr.js +6 -0
  485. data/lib/generators/templates/ckeditor/lang/uk.js +6 -0
  486. data/lib/generators/templates/ckeditor/lang/vi.js +6 -0
  487. data/lib/generators/templates/ckeditor/lang/zh-cn.js +6 -0
  488. data/lib/generators/templates/ckeditor/lang/zh.js +6 -0
  489. data/lib/generators/templates/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
  490. data/lib/generators/templates/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
  491. data/lib/generators/templates/ckeditor/plugins/about/dialogs/about.js +6 -0
  492. data/lib/generators/templates/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  493. data/lib/generators/templates/ckeditor/plugins/attachment/dialogs/attachment.js +1 -0
  494. data/lib/generators/templates/ckeditor/plugins/attachment/images/attachment.png +0 -0
  495. data/lib/generators/templates/ckeditor/plugins/attachment/lang/en.js +1 -0
  496. data/lib/generators/templates/ckeditor/plugins/attachment/lang/ru.js +1 -0
  497. data/lib/generators/templates/ckeditor/plugins/attachment/lang/uk.js +1 -0
  498. data/lib/generators/templates/ckeditor/plugins/attachment/plugin.js +1 -0
  499. data/lib/generators/templates/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  500. data/lib/generators/templates/ckeditor/plugins/colordialog/dialogs/colordialog.js +6 -0
  501. data/lib/generators/templates/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  502. data/lib/generators/templates/ckeditor/plugins/div/dialogs/div.js +7 -0
  503. data/lib/generators/templates/ckeditor/plugins/embed/dialogs/embed.js +1 -0
  504. data/lib/generators/templates/ckeditor/plugins/embed/images/embed.png +0 -0
  505. data/lib/generators/templates/ckeditor/plugins/embed/lang/en.js +1 -0
  506. data/lib/generators/templates/ckeditor/plugins/embed/lang/ru.js +1 -0
  507. data/lib/generators/templates/ckeditor/plugins/embed/lang/uk.js +1 -0
  508. data/lib/generators/templates/ckeditor/plugins/embed/plugin.js +1 -0
  509. data/lib/generators/templates/ckeditor/plugins/find/dialogs/find.js +9 -0
  510. data/lib/generators/templates/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  511. data/lib/generators/templates/ckeditor/plugins/flash/images/placeholder.png +0 -0
  512. data/lib/generators/templates/ckeditor/plugins/forms/dialogs/button.js +6 -0
  513. data/lib/generators/templates/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  514. data/lib/generators/templates/ckeditor/plugins/forms/dialogs/form.js +6 -0
  515. data/lib/generators/templates/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  516. data/lib/generators/templates/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  517. data/lib/generators/templates/ckeditor/plugins/forms/dialogs/select.js +9 -0
  518. data/lib/generators/templates/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  519. data/lib/generators/templates/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
  520. data/lib/generators/templates/ckeditor/plugins/iframedialog/plugin.js +6 -0
  521. data/lib/generators/templates/ckeditor/plugins/image/dialogs/image.js +13 -0
  522. data/lib/generators/templates/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  523. data/lib/generators/templates/ckeditor/plugins/link/dialogs/link.js +11 -0
  524. data/lib/generators/templates/ckeditor/plugins/link/images/anchor.gif +0 -0
  525. data/lib/generators/templates/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  526. data/lib/generators/templates/ckeditor/plugins/pastefromword/filter/default.js +10 -0
  527. data/lib/generators/templates/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
  528. data/lib/generators/templates/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  529. data/lib/generators/templates/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
  530. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  531. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  532. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  533. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  534. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  535. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  536. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  537. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  538. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  539. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  540. data/lib/generators/templates/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  541. data/lib/generators/templates/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  542. data/lib/generators/templates/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  543. data/lib/generators/templates/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  544. data/lib/generators/templates/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  545. data/lib/generators/templates/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  546. data/lib/generators/templates/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  547. data/lib/generators/templates/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  548. data/lib/generators/templates/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  549. data/lib/generators/templates/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  550. data/lib/generators/templates/ckeditor/plugins/smiley/images/heart.gif +0 -0
  551. data/lib/generators/templates/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  552. data/lib/generators/templates/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  553. data/lib/generators/templates/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  554. data/lib/generators/templates/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  555. data/lib/generators/templates/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  556. data/lib/generators/templates/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  557. data/lib/generators/templates/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  558. data/lib/generators/templates/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  559. data/lib/generators/templates/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  560. data/lib/generators/templates/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  561. data/lib/generators/templates/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  562. data/lib/generators/templates/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  563. data/lib/generators/templates/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  564. data/lib/generators/templates/ckeditor/plugins/styles/styles/default.js +6 -0
  565. data/lib/generators/templates/ckeditor/plugins/table/dialogs/table.js +9 -0
  566. data/lib/generators/templates/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  567. data/lib/generators/templates/ckeditor/plugins/templates/dialogs/templates.js +7 -0
  568. data/lib/generators/templates/ckeditor/plugins/templates/templates/default.js +6 -0
  569. data/lib/generators/templates/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  570. data/lib/generators/templates/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  571. data/lib/generators/templates/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  572. data/lib/generators/templates/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
  573. data/lib/generators/templates/ckeditor/plugins/uicolor/lang/en.js +6 -0
  574. data/lib/generators/templates/ckeditor/plugins/uicolor/plugin.js +6 -0
  575. data/lib/generators/templates/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  576. data/lib/generators/templates/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  577. data/lib/generators/templates/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  578. data/lib/generators/templates/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  579. data/lib/generators/templates/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  580. data/lib/generators/templates/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
  581. data/lib/generators/templates/ckeditor/plugins/uicolor/yui/yui.js +76 -0
  582. data/lib/generators/templates/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  583. data/lib/generators/templates/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  584. data/lib/generators/templates/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
  585. data/lib/generators/templates/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  586. data/lib/generators/templates/ckeditor/skins/kama/dialog.css +9 -0
  587. data/lib/generators/templates/ckeditor/skins/kama/editor.css +12 -0
  588. data/lib/generators/templates/ckeditor/skins/kama/icons.png +0 -0
  589. data/lib/generators/templates/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  590. data/lib/generators/templates/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  591. data/lib/generators/templates/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  592. data/lib/generators/templates/ckeditor/skins/kama/images/mini.gif +0 -0
  593. data/lib/generators/templates/ckeditor/skins/kama/images/noimage.png +0 -0
  594. data/lib/generators/templates/ckeditor/skins/kama/images/sprites.png +0 -0
  595. data/lib/generators/templates/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  596. data/lib/generators/templates/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  597. data/lib/generators/templates/ckeditor/skins/kama/skin.js +7 -0
  598. data/lib/generators/templates/ckeditor/skins/kama/templates.css +6 -0
  599. data/lib/generators/templates/ckeditor/skins/office2003/dialog.css +9 -0
  600. data/lib/generators/templates/ckeditor/skins/office2003/editor.css +13 -0
  601. data/lib/generators/templates/ckeditor/skins/office2003/icons.png +0 -0
  602. data/lib/generators/templates/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  603. data/lib/generators/templates/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  604. data/lib/generators/templates/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  605. data/lib/generators/templates/ckeditor/skins/office2003/images/mini.gif +0 -0
  606. data/lib/generators/templates/ckeditor/skins/office2003/images/noimage.png +0 -0
  607. data/lib/generators/templates/ckeditor/skins/office2003/images/sprites.png +0 -0
  608. data/lib/generators/templates/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  609. data/lib/generators/templates/ckeditor/skins/office2003/skin.js +6 -0
  610. data/lib/generators/templates/ckeditor/skins/office2003/templates.css +6 -0
  611. data/lib/generators/templates/ckeditor/skins/v2/dialog.css +8 -0
  612. data/lib/generators/templates/ckeditor/skins/v2/editor.css +12 -0
  613. data/lib/generators/templates/ckeditor/skins/v2/icons.png +0 -0
  614. data/lib/generators/templates/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  615. data/lib/generators/templates/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  616. data/lib/generators/templates/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  617. data/lib/generators/templates/ckeditor/skins/v2/images/mini.gif +0 -0
  618. data/lib/generators/templates/ckeditor/skins/v2/images/noimage.png +0 -0
  619. data/lib/generators/templates/ckeditor/skins/v2/images/sprites.png +0 -0
  620. data/lib/generators/templates/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  621. data/lib/generators/templates/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  622. data/lib/generators/templates/ckeditor/skins/v2/skin.js +6 -0
  623. data/lib/generators/templates/ckeditor/skins/v2/templates.css +6 -0
  624. data/lib/generators/templates/ckeditor/swfupload/fileprogress.js +290 -0
  625. data/lib/generators/templates/ckeditor/swfupload/handlers.js +170 -0
  626. data/lib/generators/templates/ckeditor/swfupload/mootools-1.2.3-core-yc.js +356 -0
  627. data/lib/generators/templates/ckeditor/swfupload/querystring.js +40 -0
  628. data/lib/generators/templates/ckeditor/swfupload/swfupload.js +980 -0
  629. data/lib/generators/templates/ckeditor/swfupload/swfupload.queue.js +98 -0
  630. data/lib/generators/templates/ckeditor/swfupload/swfupload.swf +0 -0
  631. data/lib/generators/templates/ckeditor/swfupload/swfupload.swfobject.js +111 -0
  632. data/lib/generators/templates/ckeditor/themes/default/theme.js +8 -0
  633. data/lib/tasks/ckeditor_tasks.rake +3 -0
  634. metadata +694 -0
@@ -0,0 +1,204 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.skins} object, which is used to
8
+ * manage skins loading.
9
+ */
10
+
11
+ /**
12
+ * Manages skins loading.
13
+ * @namespace
14
+ * @example
15
+ */
16
+ CKEDITOR.skins = (function()
17
+ {
18
+ // Holds the list of loaded skins.
19
+ var loaded = {};
20
+ var preloaded = {};
21
+ var paths = {};
22
+
23
+ var loadPart = function( editor, skinName, part, callback )
24
+ {
25
+ // Get the skin definition.
26
+ var skinDefinition = loaded[ skinName ];
27
+
28
+ if ( !editor.skin )
29
+ {
30
+ editor.skin = skinDefinition;
31
+
32
+ // Trigger init function if any.
33
+ if ( skinDefinition.init )
34
+ skinDefinition.init( editor );
35
+ }
36
+
37
+ var appendSkinPath = function( fileNames )
38
+ {
39
+ for ( var n = 0 ; n < fileNames.length ; n++ )
40
+ {
41
+ fileNames[ n ] = CKEDITOR.getUrl( paths[ skinName ] + fileNames[ n ] );
42
+ }
43
+ };
44
+
45
+ function fixCSSTextRelativePath( cssStyleText, baseUrl )
46
+ {
47
+ return cssStyleText.replace( /url\s*\(([\s'"]*)(.*?)([\s"']*)\)/g,
48
+ function( match, opener, path, closer )
49
+ {
50
+ if ( /^\/|^\w?:/.test( path ) )
51
+ return match;
52
+ else
53
+ return 'url(' + baseUrl + opener + path + closer + ')';
54
+ } );
55
+ }
56
+
57
+ // Check if we need to preload images from it.
58
+ if ( !preloaded[ skinName ] )
59
+ {
60
+ var preload = skinDefinition.preload;
61
+ if ( preload && preload.length > 0 )
62
+ {
63
+ appendSkinPath( preload );
64
+ CKEDITOR.imageCacher.load( preload, function()
65
+ {
66
+ preloaded[ skinName ] = 1;
67
+ loadPart( editor, skinName, part, callback );
68
+ } );
69
+ return;
70
+ }
71
+
72
+ // Mark it as preloaded.
73
+ preloaded[ skinName ] = 1;
74
+ }
75
+
76
+ // Get the part definition.
77
+ part = skinDefinition[ part ];
78
+ var partIsLoaded = !part || !!part._isLoaded;
79
+
80
+ // Call the callback immediately if already loaded.
81
+ if ( partIsLoaded )
82
+ callback && callback();
83
+ else
84
+ {
85
+ // Put the callback in a queue.
86
+ var pending = part._pending || ( part._pending = [] );
87
+ pending.push( callback );
88
+
89
+ // We may have more than one skin part load request. Just the first
90
+ // one must do the loading job.
91
+ if ( pending.length > 1 )
92
+ return;
93
+
94
+ // Check whether the "css" and "js" properties have been defined
95
+ // for that part.
96
+ var cssIsLoaded = !part.css || !part.css.length;
97
+ var jsIsLoaded = !part.js || !part.js.length;
98
+
99
+ // This is the function that will trigger the callback calls on
100
+ // load.
101
+ var checkIsLoaded = function()
102
+ {
103
+ if ( cssIsLoaded && jsIsLoaded )
104
+ {
105
+ // Mark the part as loaded.
106
+ part._isLoaded = 1;
107
+
108
+ // Call all pending callbacks.
109
+ for ( var i = 0 ; i < pending.length ; i++ )
110
+ {
111
+ if ( pending[ i ] )
112
+ pending[ i ]();
113
+ }
114
+ }
115
+ };
116
+
117
+ // Load the "css" pieces.
118
+ if ( !cssIsLoaded )
119
+ {
120
+ var cssPart = part.css;
121
+
122
+ if ( CKEDITOR.tools.isArray( cssPart ) )
123
+ {
124
+ appendSkinPath( cssPart );
125
+ for ( var c = 0 ; c < cssPart.length ; c++ )
126
+ CKEDITOR.document.appendStyleSheet( cssPart[ c ] );
127
+ }
128
+ else
129
+ {
130
+ cssPart = fixCSSTextRelativePath(
131
+ cssPart, CKEDITOR.getUrl( paths[ skinName ] ) );
132
+ // Processing Inline CSS part.
133
+ CKEDITOR.document.appendStyleText( cssPart );
134
+ }
135
+
136
+ part.css = cssPart;
137
+
138
+ cssIsLoaded = 1;
139
+ }
140
+
141
+ // Load the "js" pieces.
142
+ if ( !jsIsLoaded )
143
+ {
144
+ appendSkinPath( part.js );
145
+ CKEDITOR.scriptLoader.load( part.js, function()
146
+ {
147
+ jsIsLoaded = 1;
148
+ checkIsLoaded();
149
+ });
150
+ }
151
+
152
+ // We may have nothing to load, so check it immediately.
153
+ checkIsLoaded();
154
+ }
155
+ };
156
+
157
+ return /** @lends CKEDITOR.skins */ {
158
+
159
+ /**
160
+ * Registers a skin definition.
161
+ * @param {String} skinName The skin name.
162
+ * @param {Object} skinDefinition The skin definition.
163
+ * @example
164
+ */
165
+ add : function( skinName, skinDefinition )
166
+ {
167
+ loaded[ skinName ] = skinDefinition;
168
+
169
+ skinDefinition.skinPath = paths[ skinName ]
170
+ || ( paths[ skinName ] =
171
+ CKEDITOR.getUrl(
172
+ '_source/' + // @Packager.RemoveLine
173
+ 'skins/' + skinName + '/' ) );
174
+ },
175
+
176
+ /**
177
+ * Loads a skin part. Skins are defined in parts, which are basically
178
+ * separated CSS files. This function is mainly used by the core code and
179
+ * should not have much use out of it.
180
+ * @param {String} skinName The name of the skin to be loaded.
181
+ * @param {String} skinPart The skin part to be loaded. Common skin parts
182
+ * are "editor" and "dialog".
183
+ * @param {Function} [callback] A function to be called once the skin
184
+ * part files are loaded.
185
+ * @example
186
+ */
187
+ load : function( editor, skinPart, callback )
188
+ {
189
+ var skinName = editor.skinName,
190
+ skinPath = editor.skinPath;
191
+
192
+ if ( loaded[ skinName ] )
193
+ loadPart( editor, skinName, skinPart, callback );
194
+ else
195
+ {
196
+ paths[ skinName ] = skinPath;
197
+ CKEDITOR.scriptLoader.load( CKEDITOR.getUrl( skinPath + 'skin.js' ), function()
198
+ {
199
+ loadPart( editor, skinName, skinPart, callback );
200
+ });
201
+ }
202
+ }
203
+ };
204
+ })();
@@ -0,0 +1,19 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.themes} object, which is used to
8
+ * manage themes registration and loading.
9
+ */
10
+
11
+ /**
12
+ * Manages themes registration and loading.
13
+ * @namespace
14
+ * @augments CKEDITOR.resourceManager
15
+ * @example
16
+ */
17
+ CKEDITOR.themes = new CKEDITOR.resourceManager(
18
+ '_source/'+ // @Packager.RemoveLine
19
+ 'themes/', 'theme' );
@@ -0,0 +1,698 @@
1
+ /*
2
+ Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+
6
+ /**
7
+ * @fileOverview Defines the {@link CKEDITOR.tools} object, which contains
8
+ * utility functions.
9
+ */
10
+
11
+ (function()
12
+ {
13
+ var functions = [];
14
+
15
+ /**
16
+ * Utility functions.
17
+ * @namespace
18
+ * @example
19
+ */
20
+ CKEDITOR.tools =
21
+ {
22
+ /**
23
+ * Compare the elements of two arrays.
24
+ * @param {Array} arrayA An array to be compared.
25
+ * @param {Array} arrayB The other array to be compared.
26
+ * @returns {Boolean} "true" is the arrays have the same lenght and
27
+ * their elements match.
28
+ * @example
29
+ * var a = [ 1, 'a', 3 ];
30
+ * var b = [ 1, 3, 'a' ];
31
+ * var c = [ 1, 'a', 3 ];
32
+ * var d = [ 1, 'a', 3, 4 ];
33
+ *
34
+ * alert( CKEDITOR.tools.arrayCompare( a, b ) ); // false
35
+ * alert( CKEDITOR.tools.arrayCompare( a, c ) ); // true
36
+ * alert( CKEDITOR.tools.arrayCompare( a, d ) ); // false
37
+ */
38
+ arrayCompare : function( arrayA, arrayB )
39
+ {
40
+ if ( !arrayA && !arrayB )
41
+ return true;
42
+
43
+ if ( !arrayA || !arrayB || arrayA.length != arrayB.length )
44
+ return false;
45
+
46
+ for ( var i = 0 ; i < arrayA.length ; i++ )
47
+ {
48
+ if ( arrayA[ i ] != arrayB[ i ] )
49
+ return false;
50
+ }
51
+
52
+ return true;
53
+ },
54
+
55
+ /**
56
+ * Creates a deep copy of an object.
57
+ * Attention: there is no support for recursive references.
58
+ * @param {Object} object The object to be cloned.
59
+ * @returns {Object} The object clone.
60
+ * @example
61
+ * var obj =
62
+ * {
63
+ * name : 'John',
64
+ * cars :
65
+ * {
66
+ * Mercedes : { color : 'blue' },
67
+ * Porsche : { color : 'red' }
68
+ * }
69
+ * };
70
+ * var clone = CKEDITOR.tools.clone( obj );
71
+ * clone.name = 'Paul';
72
+ * clone.cars.Porsche.color = 'silver';
73
+ * alert( obj.name ); // John
74
+ * alert( clone.name ); // Paul
75
+ * alert( obj.cars.Porsche.color ); // red
76
+ * alert( clone.cars.Porsche.color ); // silver
77
+ */
78
+ clone : function( obj )
79
+ {
80
+ var clone;
81
+
82
+ // Array.
83
+ if ( obj && ( obj instanceof Array ) )
84
+ {
85
+ clone = [];
86
+
87
+ for ( var i = 0 ; i < obj.length ; i++ )
88
+ clone[ i ] = this.clone( obj[ i ] );
89
+
90
+ return clone;
91
+ }
92
+
93
+ // "Static" types.
94
+ if ( obj === null
95
+ || ( typeof( obj ) != 'object' )
96
+ || ( obj instanceof String )
97
+ || ( obj instanceof Number )
98
+ || ( obj instanceof Boolean )
99
+ || ( obj instanceof Date )
100
+ || ( obj instanceof RegExp) )
101
+ {
102
+ return obj;
103
+ }
104
+
105
+ // Objects.
106
+ clone = new obj.constructor();
107
+
108
+ for ( var propertyName in obj )
109
+ {
110
+ var property = obj[ propertyName ];
111
+ clone[ propertyName ] = this.clone( property );
112
+ }
113
+
114
+ return clone;
115
+ },
116
+
117
+ /**
118
+ * Turn the first letter of string to upper-case.
119
+ * @param {String} str
120
+ */
121
+ capitalize: function( str )
122
+ {
123
+ return str.charAt( 0 ).toUpperCase() + str.substring( 1 ).toLowerCase();
124
+ },
125
+
126
+ /**
127
+ * Copy the properties from one object to another. By default, properties
128
+ * already present in the target object <strong>are not</strong> overwritten.
129
+ * @param {Object} target The object to be extended.
130
+ * @param {Object} source[,souce(n)] The objects from which copy
131
+ * properties. Any number of objects can be passed to this function.
132
+ * @param {Boolean} [overwrite] If 'true' is specified it indicates that
133
+ * properties already present in the target object could be
134
+ * overwritten by subsequent objects.
135
+ * @param {Object} [properties] Only properties within the specified names
136
+ * list will be received from the source object.
137
+ * @returns {Object} the extended object (target).
138
+ * @example
139
+ * // Create the sample object.
140
+ * var myObject =
141
+ * {
142
+ * prop1 : true
143
+ * };
144
+ *
145
+ * // Extend the above object with two properties.
146
+ * CKEDITOR.tools.extend( myObject,
147
+ * {
148
+ * prop2 : true,
149
+ * prop3 : true
150
+ * } );
151
+ *
152
+ * // Alert "prop1", "prop2" and "prop3".
153
+ * for ( var p in myObject )
154
+ * alert( p );
155
+ */
156
+ extend : function( target )
157
+ {
158
+ var argsLength = arguments.length,
159
+ overwrite, propertiesList;
160
+
161
+ if ( typeof ( overwrite = arguments[ argsLength - 1 ] ) == 'boolean')
162
+ argsLength--;
163
+ else if ( typeof ( overwrite = arguments[ argsLength - 2 ] ) == 'boolean' )
164
+ {
165
+ propertiesList = arguments [ argsLength -1 ];
166
+ argsLength-=2;
167
+ }
168
+ for ( var i = 1 ; i < argsLength ; i++ )
169
+ {
170
+ var source = arguments[ i ];
171
+ for ( var propertyName in source )
172
+ {
173
+ // Only copy existed fields if in overwrite mode.
174
+ if ( overwrite === true || target[ propertyName ] == undefined )
175
+ {
176
+ // Only copy specified fields if list is provided.
177
+ if ( !propertiesList || ( propertyName in propertiesList ) )
178
+ target[ propertyName ] = source[ propertyName ];
179
+
180
+ }
181
+ }
182
+ }
183
+
184
+ return target;
185
+ },
186
+
187
+ /**
188
+ * Creates an object which is an instance of a class which prototype is a
189
+ * predefined object. All properties defined in the source object are
190
+ * automatically inherited by the resulting object, including future
191
+ * changes to it.
192
+ * @param {Object} source The source object to be used as the prototype for
193
+ * the final object.
194
+ * @returns {Object} The resulting copy.
195
+ */
196
+ prototypedCopy : function( source )
197
+ {
198
+ var copy = function()
199
+ {};
200
+ copy.prototype = source;
201
+ return new copy();
202
+ },
203
+
204
+ /**
205
+ * Checks if an object is an Array.
206
+ * @param {Object} object The object to be checked.
207
+ * @type Boolean
208
+ * @returns <i>true</i> if the object is an Array, otherwise <i>false</i>.
209
+ * @example
210
+ * alert( CKEDITOR.tools.isArray( [] ) ); // "true"
211
+ * alert( CKEDITOR.tools.isArray( 'Test' ) ); // "false"
212
+ */
213
+ isArray : function( object )
214
+ {
215
+ return ( !!object && object instanceof Array );
216
+ },
217
+
218
+ isEmpty : function ( object )
219
+ {
220
+ for ( var i in object )
221
+ {
222
+ if ( object.hasOwnProperty( i ) )
223
+ return false;
224
+ }
225
+ return true;
226
+ },
227
+ /**
228
+ * Transforms a CSS property name to its relative DOM style name.
229
+ * @param {String} cssName The CSS property name.
230
+ * @returns {String} The transformed name.
231
+ * @example
232
+ * alert( CKEDITOR.tools.cssStyleToDomStyle( 'background-color' ) ); // "backgroundColor"
233
+ * alert( CKEDITOR.tools.cssStyleToDomStyle( 'float' ) ); // "cssFloat"
234
+ */
235
+ cssStyleToDomStyle : ( function()
236
+ {
237
+ var test = document.createElement( 'div' ).style;
238
+
239
+ var cssFloat = ( typeof test.cssFloat != 'undefined' ) ? 'cssFloat'
240
+ : ( typeof test.styleFloat != 'undefined' ) ? 'styleFloat'
241
+ : 'float';
242
+
243
+ return function( cssName )
244
+ {
245
+ if ( cssName == 'float' )
246
+ return cssFloat;
247
+ else
248
+ {
249
+ return cssName.replace( /-./g, function( match )
250
+ {
251
+ return match.substr( 1 ).toUpperCase();
252
+ });
253
+ }
254
+ };
255
+ } )(),
256
+
257
+ /**
258
+ * Build the HTML snippet of a set of <style>/<link>.
259
+ * @param css {String|Array} Each of which are url (absolute) of a CSS file or
260
+ * a trunk of style text.
261
+ */
262
+ buildStyleHtml : function ( css )
263
+ {
264
+ css = [].concat( css );
265
+ var item, retval = [];
266
+ for ( var i = 0; i < css.length; i++ )
267
+ {
268
+ item = css[ i ];
269
+ // Is CSS style text ?
270
+ if ( /@import|[{}]/.test(item) )
271
+ retval.push('<style>' + item + '</style>');
272
+ else
273
+ retval.push('<link type="text/css" rel=stylesheet href="' + item + '">');
274
+ }
275
+ return retval.join( '' );
276
+ },
277
+
278
+ /**
279
+ * Replace special HTML characters in a string with their relative HTML
280
+ * entity values.
281
+ * @param {String} text The string to be encoded.
282
+ * @returns {String} The encode string.
283
+ * @example
284
+ * alert( CKEDITOR.tools.htmlEncode( 'A > B & C < D' ) ); // "A &amp;gt; B &amp;amp; C &amp;lt; D"
285
+ */
286
+ htmlEncode : function( text )
287
+ {
288
+ var standard = function( text )
289
+ {
290
+ var span = new CKEDITOR.dom.element( 'span' );
291
+ span.setText( text );
292
+ return span.getHtml();
293
+ };
294
+
295
+ var fix1 = ( standard( '\n' ).toLowerCase() == '<br>' ) ?
296
+ function( text )
297
+ {
298
+ // #3874 IE and Safari encode line-break into <br>
299
+ return standard( text ).replace( /<br>/gi, '\n' );
300
+ } :
301
+ standard;
302
+
303
+ var fix2 = ( standard( '>' ) == '>' ) ?
304
+ function( text )
305
+ {
306
+ // WebKit does't encode the ">" character, which makes sense, but
307
+ // it's different than other browsers.
308
+ return fix1( text ).replace( />/g, '&gt;' );
309
+ } :
310
+ fix1;
311
+
312
+ var fix3 = ( standard( ' ' ) == '&nbsp; ' ) ?
313
+ function( text )
314
+ {
315
+ // #3785 IE8 changes spaces (>= 2) to &nbsp;
316
+ return fix2( text ).replace( /&nbsp;/g, ' ' );
317
+ } :
318
+ fix2;
319
+
320
+ this.htmlEncode = fix3;
321
+
322
+ return this.htmlEncode( text );
323
+ },
324
+
325
+ /**
326
+ * Replace special HTML characters in HTMLElement's attribute with their relative HTML entity values.
327
+ * @param {String} The attribute's value to be encoded.
328
+ * @returns {String} The encode value.
329
+ * @example
330
+ * element.setAttribute( 'title', '<a " b >' );
331
+ * alert( CKEDITOR.tools.htmlEncodeAttr( element.getAttribute( 'title' ) ); // "&gt;a &quot; b &lt;"
332
+ */
333
+ htmlEncodeAttr : function( text )
334
+ {
335
+ return text.replace( /"/g, '&quot;' ).replace( /</g, '&lt;' ).replace( />/, '&gt;' );
336
+ },
337
+
338
+ /**
339
+ * Replace characters can't be represented through CSS Selectors string
340
+ * by CSS Escape Notation where the character escape sequence consists
341
+ * of a backslash character (\) followed by the orginal characters.
342
+ * Ref: http://www.w3.org/TR/css3-selectors/#grammar
343
+ * @param cssSelectText
344
+ * @return the escaped selector text.
345
+ */
346
+ escapeCssSelector : function( cssSelectText )
347
+ {
348
+ return cssSelectText.replace( /[\s#:.,$*^\[\]()~=+>]/g, '\\$&' );
349
+ },
350
+
351
+ /**
352
+ * Gets a unique number for this CKEDITOR execution session. It returns
353
+ * progressive numbers starting at 1.
354
+ * @function
355
+ * @returns {Number} A unique number.
356
+ * @example
357
+ * alert( CKEDITOR.tools.<b>getNextNumber()</b> ); // "1" (e.g.)
358
+ * alert( CKEDITOR.tools.<b>getNextNumber()</b> ); // "2"
359
+ */
360
+ getNextNumber : (function()
361
+ {
362
+ var last = 0;
363
+ return function()
364
+ {
365
+ return ++last;
366
+ };
367
+ })(),
368
+
369
+ /**
370
+ * Creates a function override.
371
+ * @param {Function} originalFunction The function to be overridden.
372
+ * @param {Function} functionBuilder A function that returns the new
373
+ * function. The original function reference will be passed to this
374
+ * function.
375
+ * @returns {Function} The new function.
376
+ * @example
377
+ * var example =
378
+ * {
379
+ * myFunction : function( name )
380
+ * {
381
+ * alert( 'Name: ' + name );
382
+ * }
383
+ * };
384
+ *
385
+ * example.myFunction = CKEDITOR.tools.override( example.myFunction, function( myFunctionOriginal )
386
+ * {
387
+ * return function( name )
388
+ * {
389
+ * alert( 'Override Name: ' + name );
390
+ * myFunctionOriginal.call( this, name );
391
+ * };
392
+ * });
393
+ */
394
+ override : function( originalFunction, functionBuilder )
395
+ {
396
+ return functionBuilder( originalFunction );
397
+ },
398
+
399
+ /**
400
+ * Executes a function after specified delay.
401
+ * @param {Function} func The function to be executed.
402
+ * @param {Number} [milliseconds] The amount of time (millisecods) to wait
403
+ * to fire the function execution. Defaults to zero.
404
+ * @param {Object} [scope] The object to hold the function execution scope
405
+ * (the "this" object). By default the "window" object.
406
+ * @param {Object|Array} [args] A single object, or an array of objects, to
407
+ * pass as arguments to the function.
408
+ * @param {Object} [ownerWindow] The window that will be used to set the
409
+ * timeout. By default the current "window".
410
+ * @returns {Object} A value that can be used to cancel the function execution.
411
+ * @example
412
+ * CKEDITOR.tools.<b>setTimeout(
413
+ * function()
414
+ * {
415
+ * alert( 'Executed after 2 seconds' );
416
+ * },
417
+ * 2000 )</b>;
418
+ */
419
+ setTimeout : function( func, milliseconds, scope, args, ownerWindow )
420
+ {
421
+ if ( !ownerWindow )
422
+ ownerWindow = window;
423
+
424
+ if ( !scope )
425
+ scope = ownerWindow;
426
+
427
+ return ownerWindow.setTimeout(
428
+ function()
429
+ {
430
+ if ( args )
431
+ func.apply( scope, [].concat( args ) ) ;
432
+ else
433
+ func.apply( scope ) ;
434
+ },
435
+ milliseconds || 0 );
436
+ },
437
+
438
+ /**
439
+ * Remove spaces from the start and the end of a string. The following
440
+ * characters are removed: space, tab, line break, line feed.
441
+ * @function
442
+ * @param {String} str The text from which remove the spaces.
443
+ * @returns {String} The modified string without the boundary spaces.
444
+ * @example
445
+ * alert( CKEDITOR.tools.trim( ' example ' ); // "example"
446
+ */
447
+ trim : (function()
448
+ {
449
+ // We are not using \s because we don't want "non-breaking spaces" to be caught.
450
+ var trimRegex = /(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g;
451
+ return function( str )
452
+ {
453
+ return str.replace( trimRegex, '' ) ;
454
+ };
455
+ })(),
456
+
457
+ /**
458
+ * Remove spaces from the start (left) of a string. The following
459
+ * characters are removed: space, tab, line break, line feed.
460
+ * @function
461
+ * @param {String} str The text from which remove the spaces.
462
+ * @returns {String} The modified string excluding the removed spaces.
463
+ * @example
464
+ * alert( CKEDITOR.tools.ltrim( ' example ' ); // "example "
465
+ */
466
+ ltrim : (function()
467
+ {
468
+ // We are not using \s because we don't want "non-breaking spaces" to be caught.
469
+ var trimRegex = /^[ \t\n\r]+/g;
470
+ return function( str )
471
+ {
472
+ return str.replace( trimRegex, '' ) ;
473
+ };
474
+ })(),
475
+
476
+ /**
477
+ * Remove spaces from the end (right) of a string. The following
478
+ * characters are removed: space, tab, line break, line feed.
479
+ * @function
480
+ * @param {String} str The text from which remove the spaces.
481
+ * @returns {String} The modified string excluding the removed spaces.
482
+ * @example
483
+ * alert( CKEDITOR.tools.ltrim( ' example ' ); // " example"
484
+ */
485
+ rtrim : (function()
486
+ {
487
+ // We are not using \s because we don't want "non-breaking spaces" to be caught.
488
+ var trimRegex = /[ \t\n\r]+$/g;
489
+ return function( str )
490
+ {
491
+ return str.replace( trimRegex, '' ) ;
492
+ };
493
+ })(),
494
+
495
+ /**
496
+ * Returns the index of an element in an array.
497
+ * @param {Array} array The array to be searched.
498
+ * @param {Object} entry The element to be found.
499
+ * @returns {Number} The (zero based) index of the first entry that matches
500
+ * the entry, or -1 if not found.
501
+ * @example
502
+ * var letters = [ 'a', 'b', 0, 'c', false ];
503
+ * alert( CKEDITOR.tools.indexOf( letters, '0' ) ); "-1" because 0 !== '0'
504
+ * alert( CKEDITOR.tools.indexOf( letters, false ) ); "4" because 0 !== false
505
+ */
506
+ indexOf :
507
+ // #2514: We should try to use Array.indexOf if it does exist.
508
+ ( Array.prototype.indexOf ) ?
509
+ function( array, entry )
510
+ {
511
+ return array.indexOf( entry );
512
+ }
513
+ :
514
+ function( array, entry )
515
+ {
516
+ for ( var i = 0, len = array.length ; i < len ; i++ )
517
+ {
518
+ if ( array[ i ] === entry )
519
+ return i;
520
+ }
521
+ return -1;
522
+ },
523
+
524
+ /**
525
+ * Creates a function that will always execute in the context of a
526
+ * specified object.
527
+ * @param {Function} func The function to be executed.
528
+ * @param {Object} obj The object to which bind the execution context.
529
+ * @returns {Function} The function that can be used to execute the
530
+ * "func" function in the context of "obj".
531
+ * @example
532
+ * var obj = { text : 'My Object' };
533
+ *
534
+ * function alertText()
535
+ * {
536
+ * alert( this.text );
537
+ * }
538
+ *
539
+ * var newFunc = <b>CKEDITOR.tools.bind( alertText, obj )</b>;
540
+ * newFunc(); // Alerts "My Object".
541
+ */
542
+ bind : function( func, obj )
543
+ {
544
+ return function() { return func.apply( obj, arguments ); };
545
+ },
546
+
547
+ /**
548
+ * Class creation based on prototype inheritance, with supports of the
549
+ * following features:
550
+ * <ul>
551
+ * <li> Static fields </li>
552
+ * <li> Private fields </li>
553
+ * <li> Public (prototype) fields </li>
554
+ * <li> Chainable base class constructor </li>
555
+ * </ul>
556
+ * @param {Object} definition The class definition object.
557
+ * @returns {Function} A class-like JavaScript function.
558
+ */
559
+ createClass : function( definition )
560
+ {
561
+ var $ = definition.$,
562
+ baseClass = definition.base,
563
+ privates = definition.privates || definition._,
564
+ proto = definition.proto,
565
+ statics = definition.statics;
566
+
567
+ if ( privates )
568
+ {
569
+ var originalConstructor = $;
570
+ $ = function()
571
+ {
572
+ // Create (and get) the private namespace.
573
+ var _ = this._ || ( this._ = {} );
574
+
575
+ // Make some magic so "this" will refer to the main
576
+ // instance when coding private functions.
577
+ for ( var privateName in privates )
578
+ {
579
+ var priv = privates[ privateName ];
580
+
581
+ _[ privateName ] =
582
+ ( typeof priv == 'function' ) ? CKEDITOR.tools.bind( priv, this ) : priv;
583
+ }
584
+
585
+ originalConstructor.apply( this, arguments );
586
+ };
587
+ }
588
+
589
+ if ( baseClass )
590
+ {
591
+ $.prototype = this.prototypedCopy( baseClass.prototype );
592
+ $.prototype.constructor = $;
593
+ $.prototype.base = function()
594
+ {
595
+ this.base = baseClass.prototype.base;
596
+ baseClass.apply( this, arguments );
597
+ this.base = arguments.callee;
598
+ };
599
+ }
600
+
601
+ if ( proto )
602
+ this.extend( $.prototype, proto, true );
603
+
604
+ if ( statics )
605
+ this.extend( $, statics, true );
606
+
607
+ return $;
608
+ },
609
+
610
+ /**
611
+ * Creates a function reference that can be called later using
612
+ * CKEDITOR.tools.callFunction. This approach is specially useful to
613
+ * make DOM attribute function calls to JavaScript defined functions.
614
+ * @param {Function} fn The function to be executed on call.
615
+ * @param {Object} [scope] The object to have the context on "fn" execution.
616
+ * @returns {Number} A unique reference to be used in conjuction with
617
+ * CKEDITOR.tools.callFunction.
618
+ * @example
619
+ * var ref = <b>CKEDITOR.tools.addFunction</b>(
620
+ * function()
621
+ * {
622
+ * alert( 'Hello!');
623
+ * });
624
+ * CKEDITOR.tools.callFunction( ref ); // Hello!
625
+ */
626
+ addFunction : function( fn, scope )
627
+ {
628
+ return functions.push( function()
629
+ {
630
+ fn.apply( scope || this, arguments );
631
+ }) - 1;
632
+ },
633
+
634
+ /**
635
+ * Removes the function reference created with {@see CKEDITOR.tools.addFunction}.
636
+ * @param {Number} ref The function reference created with
637
+ * CKEDITOR.tools.addFunction.
638
+ */
639
+ removeFunction : function( ref )
640
+ {
641
+ functions[ ref ] = null;
642
+ },
643
+
644
+ /**
645
+ * Executes a function based on the reference created with
646
+ * CKEDITOR.tools.addFunction.
647
+ * @param {Number} ref The function reference created with
648
+ * CKEDITOR.tools.addFunction.
649
+ * @param {[Any,[Any,...]} params Any number of parameters to be passed
650
+ * to the executed function.
651
+ * @returns {Any} The return value of the function.
652
+ * @example
653
+ * var ref = CKEDITOR.tools.addFunction(
654
+ * function()
655
+ * {
656
+ * alert( 'Hello!');
657
+ * });
658
+ * <b>CKEDITOR.tools.callFunction( ref )</b>; // Hello!
659
+ */
660
+ callFunction : function( ref )
661
+ {
662
+ var fn = functions[ ref ];
663
+ return fn && fn.apply( window, Array.prototype.slice.call( arguments, 1 ) );
664
+ },
665
+
666
+ cssLength : (function()
667
+ {
668
+ var decimalRegex = /^\d+(?:\.\d+)?$/;
669
+ return function( length )
670
+ {
671
+ return length + ( decimalRegex.test( length ) ? 'px' : '' );
672
+ };
673
+ })(),
674
+
675
+ repeat : function( str, times )
676
+ {
677
+ return new Array( times + 1 ).join( str );
678
+ },
679
+
680
+ tryThese : function()
681
+ {
682
+ var returnValue;
683
+ for ( var i = 0, length = arguments.length; i < length; i++ )
684
+ {
685
+ var lambda = arguments[i];
686
+ try
687
+ {
688
+ returnValue = lambda();
689
+ break;
690
+ }
691
+ catch (e) {}
692
+ }
693
+ return returnValue;
694
+ }
695
+ };
696
+ })();
697
+
698
+ // PACKAGER_RENAME( CKEDITOR.tools )