glebtv-ckeditor 4.2.1.5 → 4.3.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (437) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +37 -1
  3. data/README.md +286 -0
  4. data/Rakefile +76 -63
  5. data/app/assets/javascripts/ckeditor/application.js +1 -0
  6. data/app/assets/javascripts/ckeditor/config.js.erb +59 -20
  7. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/{application.js → application.js.erb} +11 -2
  8. data/app/assets/javascripts/ckeditor/filebrowser/javascripts/jquery.endless-scroll.js +300 -0
  9. data/app/assets/javascripts/ckeditor/filebrowser/stylesheets/{uploader.css → uploader.css.erb} +6 -2
  10. data/app/assets/javascripts/ckeditor/init.js.erb +1 -6
  11. data/app/assets/javascripts/ckeditor/override.js.erb +22 -0
  12. data/app/assets/stylesheets/ckcontent.css +103 -0
  13. data/app/controllers/ckeditor/application_controller.rb +5 -4
  14. data/app/controllers/ckeditor/attachment_files_controller.rb +12 -10
  15. data/app/controllers/ckeditor/pictures_controller.rb +12 -10
  16. data/app/helpers/ckeditor/application_helper.rb +1 -1
  17. data/app/views/ckeditor/attachment_files/index.html.erb +11 -5
  18. data/app/views/ckeditor/pictures/index.html.erb +12 -6
  19. data/app/views/ckeditor/shared/_asset.html.erb +2 -2
  20. data/app/views/ckeditor/shared/_asset_tmpl.html.erb +3 -3
  21. data/app/views/layouts/ckeditor/application.html.erb +0 -1
  22. data/config/locales/cs.ckeditor.yml +1 -0
  23. data/config/locales/de.ckeditor.yml +9 -0
  24. data/config/locales/el-GR.cdkeditor.yml +9 -0
  25. data/config/locales/en.ckeditor.yml +1 -0
  26. data/config/locales/es.ckeditor.yml +1 -0
  27. data/config/locales/fr.ckeditor.yml +1 -0
  28. data/config/locales/hu.ckeditor.yml +9 -0
  29. data/config/locales/it.ckeditor.yml +1 -0
  30. data/config/locales/nl.ckeditor.yml +2 -1
  31. data/config/locales/pl.ckeditor.yml +1 -0
  32. data/config/locales/pt-BR.ckeditor.yml +2 -1
  33. data/config/locales/pt-PT.ckeditor.yml +9 -0
  34. data/config/locales/ru.ckeditor.yml +1 -0
  35. data/config/locales/sv-SE.ckeditor.yml +1 -0
  36. data/config/locales/uk.ckeditor.yml +1 -0
  37. data/config/locales/zh-CN.ckeditor.yml +1 -0
  38. data/lib/ckeditor.rb +63 -13
  39. data/lib/ckeditor/backend/carrierwave.rb +9 -9
  40. data/lib/ckeditor/backend/dragonfly.rb +2 -2
  41. data/lib/ckeditor/backend/paperclip.rb +4 -4
  42. data/lib/ckeditor/engine.rb +6 -6
  43. data/lib/ckeditor/helpers/controllers.rb +7 -7
  44. data/lib/ckeditor/helpers/form_builder.rb +1 -1
  45. data/lib/ckeditor/helpers/form_helper.rb +2 -21
  46. data/lib/ckeditor/helpers/view_helper.rb +2 -13
  47. data/lib/ckeditor/hooks/cancan.rb +2 -2
  48. data/lib/ckeditor/hooks/formtastic.rb +1 -1
  49. data/lib/ckeditor/hooks/pundit.rb +47 -0
  50. data/lib/ckeditor/http.rb +8 -7
  51. data/lib/ckeditor/orm/active_record.rb +3 -3
  52. data/lib/ckeditor/orm/base.rb +4 -6
  53. data/lib/ckeditor/orm/mongoid.rb +4 -4
  54. data/lib/ckeditor/paginatable.rb +56 -0
  55. data/lib/ckeditor/text_area.rb +52 -0
  56. data/lib/ckeditor/utils.rb +54 -36
  57. data/lib/ckeditor/version.rb +1 -4
  58. data/lib/generators/ckeditor/install_generator.rb +10 -10
  59. data/lib/generators/ckeditor/pundit_policy_generator.rb +22 -0
  60. data/lib/generators/ckeditor/templates/active_record/carrierwave/ckeditor/asset.rb +1 -1
  61. data/lib/generators/ckeditor/templates/active_record/carrierwave/migration.rb +4 -4
  62. data/lib/generators/ckeditor/templates/active_record/paperclip/ckeditor/attachment_file.rb +1 -1
  63. data/lib/generators/ckeditor/templates/active_record/paperclip/migration.rb +2 -2
  64. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_attachment_file_uploader.rb +1 -1
  65. data/lib/generators/ckeditor/templates/base/carrierwave/uploaders/ckeditor_picture_uploader.rb +1 -1
  66. data/lib/generators/ckeditor/templates/ckeditor.rb +21 -16
  67. data/lib/generators/ckeditor/templates/mongoid/carrierwave/ckeditor/asset.rb +1 -1
  68. data/lib/generators/ckeditor/templates/pundit_policy/attachment_file_policy.rb +20 -0
  69. data/lib/generators/ckeditor/templates/pundit_policy/picture_policy.rb +20 -0
  70. data/test/ckeditor_test.rb +54 -1
  71. data/test/controllers/attachment_files_controller_test.rb +15 -15
  72. data/test/controllers/pictures_controller_test.rb +15 -15
  73. data/test/dummy/app/views/posts/index.html.erb +1 -1
  74. data/test/dummy/config/routes.rb +1 -1
  75. data/test/dummy/log/test.log +301 -0
  76. data/test/dummy/tmp/cache/assets/test/sprockets/0ff571a66f03f4c98305b82fbc097934 +0 -0
  77. data/test/dummy/tmp/cache/assets/test/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  78. data/test/dummy/tmp/cache/assets/test/sprockets/1c2a2034cd1d6490a47e1f2b22a328f3 +0 -0
  79. data/test/dummy/tmp/cache/assets/test/sprockets/233a499dd1009ab5b2a8040346715629 +0 -0
  80. data/test/dummy/tmp/cache/assets/test/sprockets/2a79c1fcf4595c4bfb3a1e77a732b9e9 +0 -0
  81. data/test/dummy/tmp/cache/assets/test/sprockets/2bb1e656d1d1c20542dd47020608ce4b +0 -0
  82. data/test/dummy/tmp/cache/assets/test/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  83. data/test/dummy/tmp/cache/assets/test/sprockets/371bf96e99717688ed7313a0c53f4212 +0 -0
  84. data/test/dummy/tmp/cache/assets/test/sprockets/3c088129885aa2261da0ab21707aa851 +0 -0
  85. data/test/dummy/tmp/cache/assets/test/sprockets/5296ab0e7196335ed50f33e398de0470 +0 -0
  86. data/test/dummy/tmp/cache/assets/test/sprockets/62133d9323b94de8b0cd2a3e490e0374 +0 -0
  87. data/test/dummy/tmp/cache/assets/test/sprockets/6fc757c2c8329244ca95d6909865bbc2 +0 -0
  88. data/test/dummy/tmp/cache/assets/test/sprockets/70f2d021b0f59639252116032aa12a5d +0 -0
  89. data/test/dummy/tmp/cache/assets/test/sprockets/73eff3be45044b7438486d533547c02c +0 -0
  90. data/test/dummy/tmp/cache/assets/test/sprockets/7869bf4c6f26bcd697a78ffd20655de5 +0 -0
  91. data/test/dummy/tmp/cache/assets/test/sprockets/88d81ff5585179f4acb7ba76bdcb1244 +0 -0
  92. data/test/dummy/tmp/cache/assets/test/sprockets/990c65e42e2a681340e62644dd07782b +0 -0
  93. data/test/dummy/tmp/cache/assets/test/sprockets/aaf14684bcb6dafb17154d27c3d5a5de +0 -0
  94. data/test/dummy/tmp/cache/assets/test/sprockets/b2141ea733727ae31693b5129d431629 +0 -0
  95. data/test/dummy/tmp/cache/assets/test/sprockets/c1469bfe5d5645440961cc1e8fd48120 +0 -0
  96. data/test/dummy/tmp/cache/assets/test/sprockets/c479f0465142b7c9c5a9c58a256335d7 +0 -0
  97. data/test/dummy/tmp/cache/assets/test/sprockets/c73d53992216d52410b542dce76742ad +0 -0
  98. data/test/dummy/tmp/cache/assets/test/sprockets/c7476f60577593bf79ca5b6334b86903 +0 -0
  99. data/test/dummy/tmp/cache/assets/test/sprockets/cb4a5e7fc592c6023ed2acc5953b4685 +0 -0
  100. data/test/dummy/tmp/cache/assets/test/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  101. data/test/dummy/tmp/cache/assets/test/sprockets/d7e7d3b3729ff516f81682711ea8a53a +0 -0
  102. data/test/dummy/tmp/cache/assets/test/sprockets/d9b8613a01ff7c7d9fe1a6b7cd5497ff +0 -0
  103. data/test/dummy/tmp/cache/assets/test/sprockets/e4513c04c145290b038978a8f471d244 +0 -0
  104. data/test/dummy/tmp/cache/assets/test/sprockets/e65823156ac3891c4779224e828d4877 +0 -0
  105. data/test/dummy/tmp/cache/assets/test/sprockets/f20469686afebc55828d93a978e5ff20 +0 -0
  106. data/test/dummy/tmp/cache/assets/test/sprockets/f24d6c64fd96102c27c1f10e82ebf864 +0 -0
  107. data/test/dummy/tmp/cache/assets/test/sprockets/f33022711bcfc1cae3955a1de79fe280 +0 -0
  108. data/test/dummy/tmp/cache/assets/test/sprockets/f69b1a9a1323d97109283e5bd378c23d +0 -0
  109. data/test/functional/posts_controller_test.rb +4 -4
  110. data/test/generators/install_generator_test.rb +7 -7
  111. data/test/models/attachment_file_test.rb +2 -2
  112. data/test/models/picture_test.rb +2 -2
  113. data/test/models/utils_test.rb +4 -5
  114. data/test/support/helpers.rb +8 -8
  115. data/test/tmp/app/models/ckeditor/asset.rb +5 -0
  116. data/test/tmp/app/models/ckeditor/attachment_file.rb +12 -0
  117. data/test/tmp/app/models/ckeditor/picture.rb +13 -0
  118. data/test/tmp/config/initializers/ckeditor.rb +26 -0
  119. data/test/tmp/config/routes.rb +5 -0
  120. data/vendor/assets/javascripts/ckeditor/CHANGES.md +414 -0
  121. data/{app → vendor}/assets/javascripts/ckeditor/LICENSE.md +1 -1
  122. data/{app → vendor}/assets/javascripts/ckeditor/README.md +1 -1
  123. data/vendor/assets/javascripts/ckeditor/adapters/jquery.js +10 -0
  124. data/vendor/assets/javascripts/ckeditor/build-config.js +165 -0
  125. data/vendor/assets/javascripts/ckeditor/ckeditor.js +978 -0
  126. data/vendor/assets/javascripts/ckeditor/config.js +10 -0
  127. data/vendor/assets/javascripts/ckeditor/lang/en.js +5 -0
  128. data/vendor/assets/javascripts/ckeditor/lang/ru.js +5 -0
  129. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/ckcss.png +0 -0
  130. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/css/styles.css +0 -0
  131. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/dialogs/ckcss.js +0 -0
  132. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/lang/en.js +0 -0
  133. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/lang/ru.js +0 -0
  134. data/{app → vendor}/assets/javascripts/ckeditor/plugins/CKCss/plugin.js +3 -3
  135. data/vendor/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  136. data/{app → vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +4 -2
  137. data/{app → vendor}/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +4 -2
  138. data/{app → vendor}/assets/javascripts/ckeditor/plugins/about/dialogs/about.js +1 -1
  139. data/{app → vendor}/assets/javascripts/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  140. data/{app → vendor}/assets/javascripts/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  141. data/{app → vendor}/assets/javascripts/ckeditor/plugins/clipboard/dialogs/paste.js +1 -1
  142. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +1 -0
  143. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/icons/AutoComplete.png +0 -0
  144. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/icons/AutoFormat.png +0 -0
  145. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/icons/CommentSelectedRange.png +0 -0
  146. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/icons/SearchCode.png +0 -0
  147. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/icons/UncommentSelectedRange.png +0 -0
  148. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/js/beautify.min.js +0 -0
  149. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +1 -0
  150. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.search.min.js +1 -0
  151. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +1 -0
  152. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.htmlmixed.min.js +1 -0
  153. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.javascript.min.js +1 -0
  154. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.mode.php.min.js +1 -0
  155. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/lang/en.js +0 -0
  156. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/lang/ru.js +3 -1
  157. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/plugin.js +335 -90
  158. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/3024-day.css +34 -0
  159. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/3024-night.css +34 -0
  160. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/ambiance-mobile.css +5 -5
  161. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/ambiance.css +75 -75
  162. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/base16-dark.css +34 -0
  163. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/base16-light.css +34 -0
  164. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/blackboard.css +28 -25
  165. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/cobalt.css +21 -18
  166. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/eclipse.css +23 -25
  167. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/elegant.css +13 -10
  168. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/erlang-dark.css +30 -21
  169. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/lesser-dark.css +47 -44
  170. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/mbo.css +37 -0
  171. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/midnight.css +43 -52
  172. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/monokai.css +29 -28
  173. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/neat.css +12 -9
  174. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/night.css +24 -21
  175. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/paraiso-dark.css +34 -0
  176. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/paraiso-light.css +34 -0
  177. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/rubyblue.css +23 -21
  178. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/solarized.css +180 -207
  179. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/the-matrix.css +26 -0
  180. data/vendor/assets/javascripts/ckeditor/plugins/codemirror/theme/tomorrow-night-eighties.css +34 -0
  181. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/twilight.css +28 -26
  182. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/vibrant-ink.css +30 -27
  183. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/xq-dark.css +49 -46
  184. data/{app → vendor}/assets/javascripts/ckeditor/plugins/codemirror/theme/xq-light.css +43 -43
  185. data/{app → vendor}/assets/javascripts/ckeditor/plugins/colordialog/dialogs/colordialog.js +1 -1
  186. data/{app → vendor}/assets/javascripts/ckeditor/plugins/dialog/dialogDefinition.js +1 -1
  187. data/{app → vendor}/assets/javascripts/ckeditor/plugins/div/dialogs/div.js +5 -5
  188. data/{app → vendor}/assets/javascripts/ckeditor/plugins/fakeobjects/images/spacer.gif +0 -0
  189. data/{app → vendor}/assets/javascripts/ckeditor/plugins/find/dialogs/find.js +1 -1
  190. data/{app → vendor}/assets/javascripts/ckeditor/plugins/flash/dialogs/flash.js +1 -1
  191. data/{app → vendor}/assets/javascripts/ckeditor/plugins/flash/images/placeholder.png +0 -0
  192. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/button.js +1 -1
  193. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/checkbox.js +1 -1
  194. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/form.js +2 -2
  195. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/hiddenfield.js +1 -1
  196. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/radio.js +1 -1
  197. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/select.js +1 -1
  198. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/textarea.js +1 -1
  199. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/dialogs/textfield.js +1 -1
  200. data/{app → vendor}/assets/javascripts/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  201. data/vendor/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  202. data/{app/assets/javascripts/ckeditor/skins/moono → vendor/assets/javascripts/ckeditor/plugins}/icons_hidpi.png +0 -0
  203. data/{app → vendor}/assets/javascripts/ckeditor/plugins/iframe/dialogs/iframe.js +1 -1
  204. data/{app → vendor}/assets/javascripts/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  205. data/{app → vendor}/assets/javascripts/ckeditor/plugins/iframedialog/plugin.js +13 -13
  206. data/vendor/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +43 -0
  207. data/{app → vendor}/assets/javascripts/ckeditor/plugins/image/images/noimage.png +0 -0
  208. data/{app → vendor}/assets/javascripts/ckeditor/plugins/ipsum/icon.png +0 -0
  209. data/{app → vendor}/assets/javascripts/ckeditor/plugins/ipsum/plugin.js +0 -0
  210. data/{app → vendor}/assets/javascripts/ckeditor/plugins/link/dialogs/anchor.js +1 -1
  211. data/{app → vendor}/assets/javascripts/ckeditor/plugins/link/dialogs/link.js +8 -7
  212. data/{app → vendor}/assets/javascripts/ckeditor/plugins/link/images/anchor.png +0 -0
  213. data/{app → vendor}/assets/javascripts/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  214. data/{app → vendor}/assets/javascripts/ckeditor/plugins/liststyle/dialogs/liststyle.js +1 -1
  215. data/{app → vendor}/assets/javascripts/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  216. data/{app → vendor}/assets/javascripts/ckeditor/plugins/magicline/images/icon.png +0 -0
  217. data/{app → vendor}/assets/javascripts/ckeditor/plugins/map/example_usage.js +0 -0
  218. data/{app → vendor}/assets/javascripts/ckeditor/plugins/map/map.gif +0 -0
  219. data/{app → vendor}/assets/javascripts/ckeditor/plugins/map/plugin.js +0 -0
  220. data/{app → vendor}/assets/javascripts/ckeditor/plugins/mediaembed/icons/hidpi/mediaembed.png +0 -0
  221. data/{app → vendor}/assets/javascripts/ckeditor/plugins/mediaembed/icons/mediaembed.png +0 -0
  222. data/{app → vendor}/assets/javascripts/ckeditor/plugins/mediaembed/plugin.js +0 -0
  223. data/{app → vendor}/assets/javascripts/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  224. data/{app → vendor}/assets/javascripts/ckeditor/plugins/pastefromword/filter/default.js +1 -1
  225. data/{app → vendor}/assets/javascripts/ckeditor/plugins/preview/preview.html +0 -0
  226. data/{app → vendor}/assets/javascripts/ckeditor/plugins/scayt/LICENSE.md +0 -0
  227. data/{app → vendor}/assets/javascripts/ckeditor/plugins/scayt/README.md +0 -0
  228. data/vendor/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +20 -0
  229. data/{app → vendor}/assets/javascripts/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -0
  230. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  231. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  232. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  233. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  234. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  235. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  236. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  237. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  238. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  239. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  240. data/{app → vendor}/assets/javascripts/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  241. data/{app → vendor}/assets/javascripts/ckeditor/plugins/smiley/dialogs/smiley.js +1 -1
  242. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  243. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.png +0 -0
  244. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  245. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.png +0 -0
  246. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  247. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.png +0 -0
  248. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  249. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.png +0 -0
  250. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  251. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.png +0 -0
  252. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  253. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.png +0 -0
  254. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  255. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  256. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.png +0 -0
  257. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  258. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/envelope.png +0 -0
  259. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  260. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/heart.png +0 -0
  261. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  262. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/kiss.png +0 -0
  263. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  264. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.png +0 -0
  265. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  266. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.png +0 -0
  267. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  268. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.png +0 -0
  269. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  270. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.png +0 -0
  271. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  272. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.png +0 -0
  273. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  274. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.png +0 -0
  275. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  276. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.png +0 -0
  277. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  278. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.png +0 -0
  279. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  280. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.png +0 -0
  281. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  282. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  283. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.png +0 -0
  284. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  285. data/vendor/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.png +0 -0
  286. data/{app → vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/en.js +1 -1
  287. data/{app → vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/lang/ru.js +1 -1
  288. data/{app → vendor}/assets/javascripts/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
  289. data/{app → vendor}/assets/javascripts/ckeditor/plugins/stylesheetparser/plugin.js +6 -6
  290. data/{app → vendor}/assets/javascripts/ckeditor/plugins/table/dialogs/table.js +4 -4
  291. data/{app → vendor}/assets/javascripts/ckeditor/plugins/tabletools/dialogs/tableCell.js +1 -1
  292. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.css +1 -1
  293. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/dialogs/templates.js +1 -1
  294. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/templates/default.js +2 -2
  295. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  296. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  297. data/{app → vendor}/assets/javascripts/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  298. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wordcount/css/wordcount.css +0 -0
  299. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wordcount/lang/en.js +0 -0
  300. data/vendor/assets/javascripts/ckeditor/plugins/wordcount/lang/ru.js +11 -0
  301. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wordcount/plugin.js +72 -31
  302. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/LICENSE.md +0 -0
  303. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/README.md +0 -0
  304. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -0
  305. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmp.html +0 -0
  306. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -0
  307. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.css +0 -0
  308. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc.js +31 -31
  309. data/{app → vendor}/assets/javascripts/ckeditor/plugins/wsc/dialogs/wsc_ie.js +0 -0
  310. data/vendor/assets/javascripts/ckeditor/plugins/youtube/images/icon.png +0 -0
  311. data/{app → vendor}/assets/javascripts/ckeditor/plugins/youtube/lang/en.js +1 -0
  312. data/{app → vendor}/assets/javascripts/ckeditor/plugins/youtube/lang/ru.js +1 -0
  313. data/{app → vendor}/assets/javascripts/ckeditor/plugins/youtube/plugin.js +56 -15
  314. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog.css.scss +768 -0
  315. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie.css.scss +809 -0
  316. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css.scss +841 -0
  317. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css.scss +822 -0
  318. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css.scss +813 -0
  319. data/vendor/assets/javascripts/ckeditor/skins/moono/dialog_opera.css.scss +781 -0
  320. data/vendor/assets/javascripts/ckeditor/skins/moono/editor.css.scss +2125 -0
  321. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_gecko.css.scss +2134 -0
  322. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie.css.scss +2183 -0
  323. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie7.css.scss +2351 -0
  324. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_ie8.css.scss +2195 -0
  325. data/vendor/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css.scss +2243 -0
  326. data/vendor/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
  327. data/{app/assets/javascripts/ckeditor/plugins → vendor/assets/javascripts/ckeditor/skins/moono}/icons_hidpi.png +0 -0
  328. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/arrow.png +0 -0
  329. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/close.png +0 -0
  330. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/hidpi/close.png +0 -0
  331. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock-open.png +0 -0
  332. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/hidpi/lock.png +0 -0
  333. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/hidpi/refresh.png +0 -0
  334. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/lock-open.png +0 -0
  335. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/lock.png +0 -0
  336. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/images/refresh.png +0 -0
  337. data/{app → vendor}/assets/javascripts/ckeditor/skins/moono/readme.md +1 -1
  338. data/{app → vendor}/assets/javascripts/ckeditor/styles.js +2 -2
  339. metadata +445 -352
  340. data/README.rdoc +0 -12
  341. data/app/assets/javascripts/ckeditor/CHANGES.md +0 -233
  342. data/app/assets/javascripts/ckeditor/build-config.js +0 -103
  343. data/app/assets/javascripts/ckeditor/ckeditor.js +0 -929
  344. data/app/assets/javascripts/ckeditor/contents.css +0 -103
  345. data/app/assets/javascripts/ckeditor/lang/en.js +0 -5
  346. data/app/assets/javascripts/ckeditor/lang/ru.js +0 -5
  347. data/app/assets/javascripts/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -10
  348. data/app/assets/javascripts/ckeditor/plugins/codemirror/css/codemirror.min.css +0 -1
  349. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.addons.min.js +0 -1
  350. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.min.js +0 -5637
  351. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.modes.min.js +0 -1
  352. data/app/assets/javascripts/ckeditor/plugins/codemirror/js/codemirror.search-addons.min.js +0 -1
  353. data/app/assets/javascripts/ckeditor/plugins/font/lang/en.js +0 -14
  354. data/app/assets/javascripts/ckeditor/plugins/font/lang/ru.js +0 -14
  355. data/app/assets/javascripts/ckeditor/plugins/font/plugin.js +0 -225
  356. data/app/assets/javascripts/ckeditor/plugins/highslide/dialogs/hs.js +0 -73
  357. data/app/assets/javascripts/ckeditor/plugins/highslide/icon.png +0 -0
  358. data/app/assets/javascripts/ckeditor/plugins/highslide/lang/en.js +0 -7
  359. data/app/assets/javascripts/ckeditor/plugins/highslide/lang/ru.js +0 -7
  360. data/app/assets/javascripts/ckeditor/plugins/highslide/plugin.js +0 -26
  361. data/app/assets/javascripts/ckeditor/plugins/highslide/readme.txt +0 -55
  362. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/install.html +0 -93
  363. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/docs/styles.css +0 -59
  364. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon1.png +0 -0
  365. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon2.png +0 -0
  366. data/app/assets/javascripts/ckeditor/plugins/htmlbuttons/icon3.png +0 -0
  367. data/app/assets/javascripts/ckeditor/plugins/icons.png +0 -0
  368. data/app/assets/javascripts/ckeditor/plugins/iframe/icons/hidpi/iframe.png +0 -0
  369. data/app/assets/javascripts/ckeditor/plugins/iframe/icons/iframe.png +0 -0
  370. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/en.js +0 -11
  371. data/app/assets/javascripts/ckeditor/plugins/iframe/lang/ru.js +0 -11
  372. data/app/assets/javascripts/ckeditor/plugins/iframe/plugin.js +0 -83
  373. data/app/assets/javascripts/ckeditor/plugins/image/dialogs/image.js +0 -43
  374. data/app/assets/javascripts/ckeditor/plugins/oembed/images/icon.png +0 -0
  375. data/app/assets/javascripts/ckeditor/plugins/oembed/images/placeholder.png +0 -0
  376. data/app/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.js +0 -70
  377. data/app/assets/javascripts/ckeditor/plugins/oembed/libs/jquery.oembed.min.js +0 -71
  378. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/images/icon.png +0 -0
  379. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/images/placeholder.png +0 -0
  380. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/en.js +0 -23
  381. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/lang/ru.js +0 -23
  382. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/libs/jquery.oembed.js +0 -971
  383. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/libs/jquery.oembed.min.js +0 -11
  384. data/app/assets/javascripts/ckeditor/plugins/oembed/oembed/plugin.js +0 -373
  385. data/app/assets/javascripts/ckeditor/plugins/scayt/dialogs/options.js +0 -20
  386. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  387. data/app/assets/javascripts/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  388. data/app/assets/javascripts/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  389. data/app/assets/javascripts/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  390. data/app/assets/javascripts/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  391. data/app/assets/javascripts/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  392. data/app/assets/javascripts/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  393. data/app/assets/javascripts/ckeditor/plugins/smiley/images/embarrassed_smile.gif +0 -0
  394. data/app/assets/javascripts/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  395. data/app/assets/javascripts/ckeditor/plugins/smiley/images/heart.gif +0 -0
  396. data/app/assets/javascripts/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  397. data/app/assets/javascripts/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  398. data/app/assets/javascripts/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  399. data/app/assets/javascripts/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  400. data/app/assets/javascripts/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  401. data/app/assets/javascripts/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  402. data/app/assets/javascripts/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  403. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  404. data/app/assets/javascripts/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  405. data/app/assets/javascripts/ckeditor/plugins/smiley/images/tongue_smile.gif +0 -0
  406. data/app/assets/javascripts/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  407. data/app/assets/javascripts/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  408. data/app/assets/javascripts/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  409. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/samples/assets/sample.css +0 -70
  410. data/app/assets/javascripts/ckeditor/plugins/stylesheetparser/samples/stylesheetparser.html +0 -82
  411. data/app/assets/javascripts/ckeditor/plugins/symbol/dialogs/lang/en.js +0 -181
  412. data/app/assets/javascripts/ckeditor/plugins/symbol/dialogs/symbol.js +0 -18
  413. data/app/assets/javascripts/ckeditor/plugins/symbol/icons/symbol.png +0 -0
  414. data/app/assets/javascripts/ckeditor/plugins/symbol/lang/en.js +0 -1
  415. data/app/assets/javascripts/ckeditor/plugins/symbol/plugin.js +0 -15
  416. data/app/assets/javascripts/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -9
  417. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  418. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  419. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  420. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  421. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -15
  422. data/app/assets/javascripts/ckeditor/plugins/uicolor/yui/yui.js +0 -225
  423. data/app/assets/javascripts/ckeditor/plugins/youtube/images/icon.png +0 -0
  424. data/app/assets/javascripts/ckeditor/skins/moono/dialog.css +0 -5
  425. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie.css +0 -5
  426. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie7.css +0 -5
  427. data/app/assets/javascripts/ckeditor/skins/moono/dialog_ie8.css +0 -5
  428. data/app/assets/javascripts/ckeditor/skins/moono/dialog_iequirks.css +0 -5
  429. data/app/assets/javascripts/ckeditor/skins/moono/dialog_opera.css +0 -5
  430. data/app/assets/javascripts/ckeditor/skins/moono/editor.css +0 -5
  431. data/app/assets/javascripts/ckeditor/skins/moono/editor_gecko.css +0 -5
  432. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie.css +0 -5
  433. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie7.css +0 -5
  434. data/app/assets/javascripts/ckeditor/skins/moono/editor_ie8.css +0 -5
  435. data/app/assets/javascripts/ckeditor/skins/moono/editor_iequirks.css +0 -5
  436. data/app/assets/javascripts/ckeditor/skins/moono/icons.png +0 -0
  437. data/lib/ckeditor/tasks.rake +0 -11
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
2
+ * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
3
3
  * For licensing, see LICENSE.md or http://ckeditor.com/license
4
4
  */
5
5
 
@@ -7,7 +7,7 @@
7
7
  * @fileOverview stylesheetParser plugin.
8
8
  */
9
9
 
10
- (function() {
10
+ ( function() {
11
11
  // We want to extract only the elements with classes defined in the stylesheets:
12
12
  function parseClasses( aRules, skipSelectors, validSelectors ) {
13
13
  // aRules are just the different rules in the style sheets
@@ -75,11 +75,11 @@
75
75
  element = oElement[ 0 ].toLowerCase(),
76
76
  sClassName = oElement[ 1 ];
77
77
 
78
- styles.push({
78
+ styles.push( {
79
79
  name: element + '.' + sClassName,
80
80
  element: element,
81
81
  attributes: { 'class': sClassName }
82
- });
82
+ } );
83
83
  }
84
84
 
85
85
  return styles;
@@ -118,8 +118,8 @@
118
118
  } );
119
119
  }, null, null, 1 );
120
120
  }
121
- });
122
- })();
121
+ } );
122
+ } )();
123
123
 
124
124
 
125
125
  /**
@@ -1,13 +1,13 @@
1
1
  /*
2
- Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
2
+ Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
3
3
  For licensing, see LICENSE.md or http://ckeditor.com/license
4
4
  */
5
5
  (function(){function r(a){for(var e=0,l=0,k=0,m,g=a.$.rows.length;k<g;k++){m=a.$.rows[k];for(var d=e=0,c,b=m.cells.length;d<b;d++)c=m.cells[d],e+=c.colSpan;e>l&&(l=e)}return l}function o(a){return function(){var e=this.getValue(),e=!!(CKEDITOR.dialog.validate.integer()(e)&&0<e);e||(alert(a),this.select());return e}}function n(a,e){var l=function(g){return new CKEDITOR.dom.element(g,a.document)},n=a.editable(),m=a.plugins.dialogadvtab;return{title:a.lang.table.title,minWidth:310,minHeight:CKEDITOR.env.ie?
6
6
  310:280,onLoad:function(){var g=this,a=g.getContentElement("advanced","advStyles");if(a)a.on("change",function(){var a=this.getStyle("width",""),b=g.getContentElement("info","txtWidth");b&&b.setValue(a,!0);a=this.getStyle("height","");(b=g.getContentElement("info","txtHeight"))&&b.setValue(a,!0)})},onShow:function(){var g=a.getSelection(),d=g.getRanges(),c,b=this.getContentElement("info","txtRows"),h=this.getContentElement("info","txtCols"),p=this.getContentElement("info","txtWidth"),f=this.getContentElement("info",
7
7
  "txtHeight");"tableProperties"==e&&((g=g.getSelectedElement())&&g.is("table")?c=g:0<d.length&&(CKEDITOR.env.webkit&&d[0].shrink(CKEDITOR.NODE_ELEMENT),c=a.elementPath(d[0].getCommonAncestor(!0)).contains("table",1)),this._.selectedElement=c);c?(this.setupContent(c),b&&b.disable(),h&&h.disable()):(b&&b.enable(),h&&h.enable());p&&p.onChange();f&&f.onChange()},onOk:function(){var g=a.getSelection(),d=this._.selectedElement&&g.createBookmarks(),c=this._.selectedElement||l("table"),b={};this.commitContent(b,
8
- c);if(b.info){b=b.info;if(!this._.selectedElement)for(var h=c.append(l("tbody")),e=parseInt(b.txtRows,10)||0,f=parseInt(b.txtCols,10)||0,i=0;i<e;i++)for(var j=h.append(l("tr")),k=0;k<f;k++){var m=j.append(l("td"));CKEDITOR.env.ie||m.append(l("br"))}e=b.selHeaders;if(!c.$.tHead&&("row"==e||"both"==e)){j=new CKEDITOR.dom.element(c.$.createTHead());h=c.getElementsByTag("tbody").getItem(0);h=h.getElementsByTag("tr").getItem(0);for(i=0;i<h.getChildCount();i++)f=h.getChild(i),f.type==CKEDITOR.NODE_ELEMENT&&
9
- !f.data("cke-bookmark")&&(f.renameNode("th"),f.setAttribute("scope","col"));j.append(h.remove())}if(null!==c.$.tHead&&!("row"==e||"both"==e)){j=new CKEDITOR.dom.element(c.$.tHead);h=c.getElementsByTag("tbody").getItem(0);for(k=h.getFirst();0<j.getChildCount();){h=j.getFirst();for(i=0;i<h.getChildCount();i++)f=h.getChild(i),f.type==CKEDITOR.NODE_ELEMENT&&(f.renameNode("td"),f.removeAttribute("scope"));h.insertBefore(k)}j.remove()}if(!this.hasColumnHeaders&&("col"==e||"both"==e))for(j=0;j<c.$.rows.length;j++)f=
10
- new CKEDITOR.dom.element(c.$.rows[j].cells[0]),f.renameNode("th"),f.setAttribute("scope","row");if(this.hasColumnHeaders&&!("col"==e||"both"==e))for(i=0;i<c.$.rows.length;i++)j=new CKEDITOR.dom.element(c.$.rows[i]),"tbody"==j.getParent().getName()&&(f=new CKEDITOR.dom.element(j.$.cells[0]),f.renameNode("td"),f.removeAttribute("scope"));b.txtHeight?c.setStyle("height",b.txtHeight):c.removeStyle("height");b.txtWidth?c.setStyle("width",b.txtWidth):c.removeStyle("width");c.getAttribute("style")||c.removeAttribute("style")}if(this._.selectedElement)try{g.selectBookmarks(d)}catch(n){}else a.insertElement(c),
8
+ c);if(b.info){b=b.info;if(!this._.selectedElement)for(var h=c.append(l("tbody")),e=parseInt(b.txtRows,10)||0,f=parseInt(b.txtCols,10)||0,i=0;i<e;i++)for(var j=h.append(l("tr")),k=0;k<f;k++)j.append(l("td")).appendBogus();e=b.selHeaders;if(!c.$.tHead&&("row"==e||"both"==e)){j=new CKEDITOR.dom.element(c.$.createTHead());h=c.getElementsByTag("tbody").getItem(0);h=h.getElementsByTag("tr").getItem(0);for(i=0;i<h.getChildCount();i++)f=h.getChild(i),f.type==CKEDITOR.NODE_ELEMENT&&!f.data("cke-bookmark")&&
9
+ (f.renameNode("th"),f.setAttribute("scope","col"));j.append(h.remove())}if(null!==c.$.tHead&&!("row"==e||"both"==e)){j=new CKEDITOR.dom.element(c.$.tHead);h=c.getElementsByTag("tbody").getItem(0);for(k=h.getFirst();0<j.getChildCount();){h=j.getFirst();for(i=0;i<h.getChildCount();i++)f=h.getChild(i),f.type==CKEDITOR.NODE_ELEMENT&&(f.renameNode("td"),f.removeAttribute("scope"));h.insertBefore(k)}j.remove()}if(!this.hasColumnHeaders&&("col"==e||"both"==e))for(j=0;j<c.$.rows.length;j++)f=new CKEDITOR.dom.element(c.$.rows[j].cells[0]),
10
+ f.renameNode("th"),f.setAttribute("scope","row");if(this.hasColumnHeaders&&!("col"==e||"both"==e))for(i=0;i<c.$.rows.length;i++)j=new CKEDITOR.dom.element(c.$.rows[i]),"tbody"==j.getParent().getName()&&(f=new CKEDITOR.dom.element(j.$.cells[0]),f.renameNode("td"),f.removeAttribute("scope"));b.txtHeight?c.setStyle("height",b.txtHeight):c.removeStyle("height");b.txtWidth?c.setStyle("width",b.txtWidth):c.removeStyle("width");c.getAttribute("style")||c.removeAttribute("style")}if(this._.selectedElement)try{g.selectBookmarks(d)}catch(m){}else a.insertElement(c),
11
11
  setTimeout(function(){var g=new CKEDITOR.dom.element(c.$.rows[0].cells[0]),b=a.createRange();b.moveToPosition(g,CKEDITOR.POSITION_AFTER_START);b.select()},0)},contents:[{id:"info",label:a.lang.table.title,elements:[{type:"hbox",widths:[null,null],styles:["vertical-align:top"],children:[{type:"vbox",padding:0,children:[{type:"text",id:"txtRows","default":3,label:a.lang.table.rows,required:!0,controlStyle:"width:5em",validate:o(a.lang.table.invalidRows),setup:function(a){this.setValue(a.$.rows.length)},
12
12
  commit:k},{type:"text",id:"txtCols","default":2,label:a.lang.table.columns,required:!0,controlStyle:"width:5em",validate:o(a.lang.table.invalidCols),setup:function(a){this.setValue(r(a))},commit:k},{type:"html",html:"&nbsp;"},{type:"select",id:"selHeaders",requiredContent:"th","default":"",label:a.lang.table.headers,items:[[a.lang.table.headersNone,""],[a.lang.table.headersRow,"row"],[a.lang.table.headersColumn,"col"],[a.lang.table.headersBoth,"both"]],setup:function(a){var d=this.getDialog();d.hasColumnHeaders=
13
13
  !0;for(var c=0;c<a.$.rows.length;c++){var b=a.$.rows[c].cells[0];if(b&&"th"!=b.nodeName.toLowerCase()){d.hasColumnHeaders=!1;break}}null!==a.$.tHead?this.setValue(d.hasColumnHeaders?"both":"row"):this.setValue(d.hasColumnHeaders?"col":"")},commit:k},{type:"text",id:"txtBorder",requiredContent:"table[border]","default":a.filter.check("table[border]")?1:0,label:a.lang.table.border,controlStyle:"width:3em",validate:CKEDITOR.dialog.validate.number(a.lang.table.invalidBorder),setup:function(a){this.setValue(a.getAttribute("border")||
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
2
+ Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
3
3
  For licensing, see LICENSE.md or http://ckeditor.com/license
4
4
  */
5
5
  CKEDITOR.dialog.add("cellProperties",function(f){var g=f.lang.table,c=g.cell,d=f.lang.common,h=CKEDITOR.dialog.validate,j=/^(\d+(?:\.\d+)?)(px|%)$/,e={type:"html",html:"&nbsp;"},k="rtl"==f.lang.dir,i=f.plugins.colordialog;return{title:c.title,minWidth:CKEDITOR.env.ie&&CKEDITOR.env.quirks?450:410,minHeight:CKEDITOR.env.ie&&(CKEDITOR.env.ie7Compat||CKEDITOR.env.quirks)?230:220,contents:[{id:"info",label:c.title,accessKey:"I",elements:[{type:"hbox",widths:["40%","5%","40%"],children:[{type:"vbox",padding:0,
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
2
+ Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
3
3
  For licensing, see LICENSE.md or http://ckeditor.com/license
4
4
  */
5
5
 
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
2
+ Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
3
3
  For licensing, see LICENSE.md or http://ckeditor.com/license
4
4
  */
5
5
  (function(){CKEDITOR.dialog.add("templates",function(c){function o(a,b){var k=CKEDITOR.dom.element.createFromHtml('<a href="javascript:void(0)" tabIndex="-1" role="option" ><div class="cke_tpl_item"></div></a>'),d='<table style="width:350px;" class="cke_tpl_preview" role="presentation"><tr>';a.image&&b&&(d+='<td class="cke_tpl_preview_img"><img src="'+CKEDITOR.getUrl(b+a.image)+'"'+(CKEDITOR.env.ie6Compat?' onload="this.width=this.width"':"")+' alt="" title=""></td>');d+='<td style="white-space:normal;"><span class="cke_tpl_title">'+
@@ -1,6 +1,6 @@
1
1
  /*
2
- Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
2
+ Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved.
3
3
  For licensing, see LICENSE.md or http://ckeditor.com/license
4
4
  */
5
- CKEDITOR.addTemplates("default",{imagesPath:CKEDITOR.getUrl(CKEDITOR.plugins.getPath("templates")+"templates/images/"),templates:[{title:"Image and Title",image:"template1.gif",description:"One main image with a title and text that surround the image.",html:'<h3><img style="margin-right: 10px" height="100" width="100" align="left"/>Type the title here</h3><p>Type the text here</p>'},{title:"Strange Template",image:"template2.gif",description:"A template that defines two colums, each one with a title, and some text.",
5
+ CKEDITOR.addTemplates("default",{imagesPath:CKEDITOR.getUrl(CKEDITOR.plugins.getPath("templates")+"templates/images/"),templates:[{title:"Image and Title",image:"template1.gif",description:"One main image with a title and text that surround the image.",html:'<h3><img src=" " alt="" style="margin-right: 10px" height="100" width="100" align="left" />Type the title here</h3><p>Type the text here</p>'},{title:"Strange Template",image:"template2.gif",description:"A template that defines two colums, each one with a title, and some text.",
6
6
  html:'<table cellspacing="0" cellpadding="0" style="width:100%" border="0"><tr><td style="width:50%"><h3>Title 1</h3></td><td></td><td style="width:50%"><h3>Title 2</h3></td></tr><tr><td>Text 1</td><td></td><td>Text 2</td></tr></table><p>More text goes here.</p>'},{title:"Text and Table",image:"template3.gif",description:"A title with some text and a table.",html:'<div style="width: 80%"><h3>Title goes here</h3><table style="width:150px;float: right" cellspacing="0" cellpadding="0" border="1"><caption style="border:solid 1px black"><strong>Table title</strong></caption><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></table><p>Type the text here</p></div>'}]});
@@ -0,0 +1,11 @@
1
+ /*
2
+ Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
3
+ For licensing, see LICENSE.html or http://ckeditor.com/license
4
+ */
5
+ CKEDITOR.plugins.setLang('wordcount', 'ru', {
6
+ WordCount: 'Слов:',
7
+ CharCount: 'Символов:',
8
+ CharCountWithHTML: 'Символов (включая HTML):',
9
+ limit: 'Лимит:',
10
+ title: 'Статистика'
11
+ });
@@ -4,12 +4,13 @@
4
4
  */
5
5
 
6
6
  CKEDITOR.plugins.add('wordcount', {
7
- lang: ['en'],
7
+ lang: ['en', 'ru'],
8
+ version : 1.09,
8
9
  init: function (editor) {
9
10
  if (editor.elementMode === CKEDITOR.ELEMENT_MODE_INLINE) {
10
11
  return;
11
12
  }
12
-
13
+
13
14
  var defaultFormat = '<span class="cke_path_item">',
14
15
  intervalId,
15
16
  lastWordCount,
@@ -50,13 +51,13 @@ CKEDITOR.plugins.add('wordcount', {
50
51
  defaultFormat += '&nbsp;(' + editor.lang.wordcount.limit + '&nbsp;' + config.wordLimit + ')';
51
52
  }
52
53
  }
53
-
54
+
54
55
  defaultFormat += '</span>';
55
56
 
56
57
  var format = defaultFormat;
57
58
 
58
- CKEDITOR.document.appendStyleSheet(this.path + 'css/wordcount.css');
59
-
59
+ CKEDITOR.document.appendStyleSheet(CKEDITOR.getUrl('plugins/wordcount/css/wordcount.css'));
60
+
60
61
  function counterId(editorInstance) {
61
62
  return 'cke_wordcount_' + editorInstance.name;
62
63
  }
@@ -70,8 +71,9 @@ CKEDITOR.plugins.add('wordcount', {
70
71
  tmp.innerHTML = html;
71
72
 
72
73
  if (tmp.textContent == '' && typeof tmp.innerText == 'undefined') {
73
- return '0';
74
+ return '0';
74
75
  }
76
+
75
77
  return tmp.textContent || tmp.innerText;
76
78
  }
77
79
 
@@ -82,23 +84,52 @@ CKEDITOR.plugins.add('wordcount', {
82
84
  text;
83
85
 
84
86
  if (text = editorInstance.getData()) {
85
- if ((!config.countHTML && config.showCharCount) || config.showWordCount) {
87
+ if (config.showCharCount) {
88
+ if (config.countHTML) {
89
+ charCount = text.length;
90
+ } else {
91
+ // strip body tags
92
+ if (editor.config.fullPage) {
93
+ var i = text.search(new RegExp("<body>", "i"));
94
+ if (i != -1) {
95
+ var j = text.search(new RegExp("</body>", "i"));
96
+ text = text.substring(i + 6, j);
97
+ }
98
+
99
+ }
100
+
101
+ normalizedText = text.
102
+ replace(/(\r\n|\n|\r)/gm, "").
103
+ replace(/^\s+|\s+$/g, "").
104
+ replace("&nbsp;", "").
105
+ replace(/\s/g, "");
106
+
107
+ normalizedText = strip(normalizedText).replace(/^([\s\t\r\n]*)$/, "");
108
+
109
+ charCount = normalizedText.length;
110
+ }
111
+ }
112
+
113
+ if (config.showWordCount) {
86
114
  normalizedText = text.
87
115
  replace(/(\r\n|\n|\r)/gm, " ").
88
- replace(/^\s+|\s+$/g, '').
116
+ replace(/^\s+|\s+$/g, "").
89
117
  replace("&nbsp;", " ");
90
118
 
91
119
  normalizedText = strip(normalizedText);
92
- }
93
120
 
94
- if (config.showCharCount) {
95
- charCount = config.countHTML ? text.length : normalizedText.length;
96
- }
121
+ var words = normalizedText.split(/\s+/);
97
122
 
98
- if (config.showWordCount) {
99
- wordCount = normalizedText.split(/\s+/).length;
123
+ for (var wordIndex = words.length - 1; wordIndex >= 0; wordIndex--) {
124
+ if (words[wordIndex].match(/^([\s\t\r\n]*)$/)) {
125
+ words.splice(wordIndex, 1);
126
+ }
127
+ }
128
+
129
+ wordCount = words.length;
100
130
  }
101
131
  }
132
+
102
133
  var html = format.replace('%wordCount%', wordCount).replace('%charCount%', charCount);
103
134
 
104
135
  counterElement(editorInstance).innerHTML = html;
@@ -113,6 +144,9 @@ CKEDITOR.plugins.add('wordcount', {
113
144
  // Check for word limit
114
145
  if (config.showWordCount && wordCount > config.wordLimit) {
115
146
  limitReached(editor, limitReachedNotified);
147
+ } else if (config.showWordCount && wordCount == config.wordLimit) {
148
+ // create snapshot to make sure only the content after the limit gets deleted
149
+ editorInstance.fire('saveSnapshot');
116
150
  } else if (!limitRestoredNotified && wordCount < config.wordLimit) {
117
151
  limitRestored(editor);
118
152
  }
@@ -120,9 +154,11 @@ CKEDITOR.plugins.add('wordcount', {
120
154
  // Check for char limit
121
155
  if (config.showCharCount && charCount > config.charLimit) {
122
156
  limitReached(editor, limitReachedNotified);
157
+ } else if (config.showCharCount && charCount == config.charLimit) {
158
+ // create snapshot to make sure only the content after the limit gets deleted
159
+ editorInstance.fire('saveSnapshot');
123
160
  } else if (!limitRestoredNotified && charCount < config.charLimit) {
124
161
  limitRestored(editor);
125
-
126
162
  }
127
163
 
128
164
  return true;
@@ -133,45 +169,50 @@ CKEDITOR.plugins.add('wordcount', {
133
169
  limitRestoredNotified = false;
134
170
 
135
171
  editorInstance.execCommand('undo');
136
- if (!notify) {
137
- counterElement(editorInstance).className += " cke_wordcountLimitReached";
138
172
 
139
- editorInstance.fire('limitReached', {}, editor);
173
+ if (!notify) {
174
+ //counterElement(editorInstance).className = "cke_wordcount cke_wordcountLimitReached";
175
+
176
+ editorInstance.fire('limitReached', {}, editor);
140
177
  }
178
+
141
179
  // lock editor
142
180
  editorInstance.config.Locked = 1;
143
- editorInstance.fire("change");
144
181
  }
145
182
 
146
183
  function limitRestored(editorInstance) {
184
+
147
185
  limitRestoredNotified = true;
148
186
  limitReachedNotified = false;
149
187
  editorInstance.config.Locked = 0;
150
-
188
+
151
189
  counterElement(editorInstance).className = "cke_wordcount";
152
190
  }
153
191
 
154
- editor.on('uiSpace', function (event) {
192
+ editor.on('key', function (event) {
193
+ if (editor.mode === 'source') {
194
+ updateCounter(event.editor);
195
+ }
196
+ }, editor, null, 100);
197
+
198
+ editor.on('change', function (event) {
199
+
200
+ updateCounter(event.editor);
201
+ }, editor, null, 100);
202
+
203
+ editor.on('uiSpace', function (event) {
155
204
  if (event.data.space == 'bottom') {
156
205
  event.data.html += '<div id="' + counterId(event.editor) + '" class="cke_wordcount" style=""' + ' title="' + editor.lang.wordcount.title + '"' + '>&nbsp;</div>';
157
206
  }
158
207
  }, editor, null, 100);
208
+
159
209
  editor.on('dataReady', function (event) {
160
- var count = event.editor.getData().length;
161
- if (count > config.wordLimit) {
162
- limitReached(editor);
163
- }
164
- updateCounter(event.editor);
165
- }, editor, null, 100);
166
- editor.on('key', function (event) {
167
210
  updateCounter(event.editor);
168
211
  }, editor, null, 100);
212
+
169
213
  editor.on('afterPaste', function (event) {
170
214
  updateCounter(event.editor);
171
215
  }, editor, null, 100);
172
- /* editor.on('change', function (event) {
173
- updateCounter(event.editor);
174
- }, editor, null, 100);*/
175
216
  /*editor.on('focus', function (event) {
176
217
  editorHasFocus = true;
177
218
  intervalId = window.setInterval(function () {
@@ -2,38 +2,38 @@
2
2
  Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
3
3
  For licensing, see LICENSE.html or http://ckeditor.com/license
4
4
  */
5
- (function(){function t(a){if(!a)throw"Languages-by-groups list are required for construct selectbox";var c=[],d="",f;for(f in a)for(var g in a[f]){var h=a[f][g];"en_US"==h?d=h:c.push(h)}c.sort();d&&c.unshift(d);return{getCurrentLangGroup:function(c){a:{for(var d in a)for(var f in a[d])if(f.toUpperCase()===c.toUpperCase()){c=d;break a}c=""}return c},setLangList:function(){var c={},d;for(d in a)for(var f in a[d])c[a[d][f]]=f;return c}()}}var e=function(){var a=function(a,b,f){var f=f||{},g=f.expires;
6
- if("number"==typeof g&&g){var h=new Date;h.setTime(h.getTime()+1E3*g);g=f.expires=h}g&&g.toUTCString&&(f.expires=g.toUTCString());var b=encodeURIComponent(b),a=a+"="+b,e;for(e in f)b=f[e],a+="; "+e,!0!==b&&(a+="="+b);document.cookie=a};return{postMessage:{init:function(a){document.addEventListener?window.addEventListener("message",a,!1):window.attachEvent("onmessage",a)},send:function(a){var b=a.fn||null,f=a.id||"",g=a.target||window,e=a.message||{id:f};"[object Object]"==Object.prototype.toString.call(a.message)&&
7
- (a.message.id||(a.message.id=f),e=a.message);a=window.JSON.stringify(e,b);g.postMessage(a,"*")}},hash:{create:function(){},parse:function(){}},cookie:{set:a,get:function(a){return(a=document.cookie.match(RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)")))?decodeURIComponent(a[1]):void 0},remove:function(c){a(c,"",{expires:-1})}}}}(),a=a||{};a.TextAreaNumber=null;a.load=!0;a.cmd={SpellTab:"spell",Thesaurus:"thes",GrammTab:"grammar"};a.dialog=null;a.optionNode=null;a.selectNode=
5
+ (function(){function w(a){if(!a)throw"Languages-by-groups list are required for construct selectbox";var c=[],d="",f;for(f in a)for(var g in a[f]){var h=a[f][g];"en_US"==h?d=h:c.push(h)}c.sort();d&&c.unshift(d);return{getCurrentLangGroup:function(c){a:{for(var d in a)for(var f in a[d])if(f.toUpperCase()===c.toUpperCase()){c=d;break a}c=""}return c},setLangList:function(){var c={},d;for(d in a)for(var f in a[d])c[a[d][f]]=f;return c}()}}var e=function(){var a=function(a,b,f){var f=f||{},g=f.expires;
6
+ if("number"==typeof g&&g){var h=new Date;h.setTime(h.getTime()+1E3*g);g=f.expires=h}g&&g.toUTCString&&(f.expires=g.toUTCString());var b=encodeURIComponent(b),a=a+"="+b,e;for(e in f)b=f[e],a+="; "+e,!0!==b&&(a+="="+b);document.cookie=a};return{postMessage:{init:function(a){document.addEventListener?window.addEventListener("message",a,!1):window.attachEvent("onmessage",a)},send:function(a){var b=a.fn||null,f=a.id||"",g=a.target||window,h=a.message||{id:f};"[object Object]"==Object.prototype.toString.call(a.message)&&
7
+ (a.message.id||(a.message.id=f),h=a.message);a=window.JSON.stringify(h,b);g.postMessage(a,"*")}},hash:{create:function(){},parse:function(){}},cookie:{set:a,get:function(a){return(a=document.cookie.match(RegExp("(?:^|; )"+a.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,"\\$1")+"=([^;]*)")))?decodeURIComponent(a[1]):void 0},remove:function(c){a(c,"",{expires:-1})}}}}(),a=a||{};a.TextAreaNumber=null;a.load=!0;a.cmd={SpellTab:"spell",Thesaurus:"thes",GrammTab:"grammar"};a.dialog=null;a.optionNode=null;a.selectNode=
8
8
  null;a.grammerSuggest=null;a.textNode={};a.iframeMain=null;a.dataTemp="";a.div_overlay=null;a.textNodeInfo={};a.selectNode={};a.selectNodeResponce={};a.langList=null;a.langSelectbox=null;a.banner="";a.show_grammar=null;a.div_overlay_no_check=null;a.targetFromFrame={};a.onLoadOverlay=null;a.LocalizationComing={};a.OverlayPlace=null;a.LocalizationButton={ChangeTo:{instance:null,text:"Change to"},ChangeAll:{instance:null,text:"Change All"},IgnoreWord:{instance:null,text:"Ignore word"},IgnoreAllWords:{instance:null,
9
- text:"Ignore all words"},Options:{instance:null,text:"Options",optionsDialog:{instance:null}},AddWord:{instance:null,text:"Add word"},FinishChecking:{instance:null,text:"Finish Checking"}};a.LocalizationLabel={ChangeTo:{instance:null,text:"Change to"},Suggestions:{instance:null,text:"Suggestions"}};var u=function(b){for(var c in b)b[c].instance.getElement().setText(a.LocalizationComing[c])},v=function(b){for(var c in b){if(!b[c].instance.setLabel)break;b[c].instance.setLabel(a.LocalizationComing[c])}},
10
- j,n;a.framesetHtml=function(b){return'<iframe src="'+a.templatePath+'" id='+a.iframeNumber+"_"+b+' frameborder="0" allowtransparency="1" style="width:100%;border: 1px solid #AEB3B9;overflow: auto;background:#fff; border-radius: 3px;"></iframe>'};a.setIframe=function(b,c){var d=a.framesetHtml(c);return b.getElement().setHtml(d)};a.setCurrentIframe=function(b){a.setIframe(a.dialog._.contents[b].Content,b)};a.setHeightBannerFrame=function(){var b=a.dialog.getContentElement("SpellTab","banner").getElement(),
11
- c=a.dialog.getContentElement("GrammTab","banner").getElement(),d=a.dialog.getContentElement("Thesaurus","banner").getElement();b.setStyle("height","90px");c.setStyle("height","90px");d.setStyle("height","90px")};a.setHeightFrame=function(){document.getElementById(a.iframeNumber+"_"+a.dialog._.currentTabId).style.height="240px"};a.sendData=function(b){var c=b._.currentTabId,d=b._.contents[c].Content,f,g;a.setIframe(d,c);b.parts.tabs.removeAllListeners();b.parts.tabs.on("click",function(e){e=e||window.event;
12
- e.data.getTarget().is("a")&&c!=b._.currentTabId&&(c=b._.currentTabId,d=b._.contents[c].Content,f=a.iframeNumber+"_"+c,a.div_overlay.setEnable(),d.getElement().getChildCount()?q(a.targetFromFrame[f],a.cmd[c]):(a.setIframe(d,c),g=document.getElementById(f),a.targetFromFrame[f]=g.contentWindow))})};a.buildSelectLang=function(a){var c=new CKEDITOR.dom.element("div"),d=new CKEDITOR.dom.element("select"),a="wscLang"+a;c.addClass("cke_dialog_ui_input_select");c.setAttribute("role","presentation");c.setStyles({height:"auto",
13
- position:"absolute",right:"0",top:"-1px",width:"160px","white-space":"normal"});d.setAttribute("id",a);d.addClass("cke_dialog_ui_input_select");d.setStyles({width:"160px"});c.append(d);return c};a.buildOptionLang=function(b,c){var d=document.getElementById("wscLang"+c),f=document.createDocumentFragment(),g,e,i=[];if(0===d.options.length){for(g in b)i.push([g,b[g]]);i.sort();for(var k=0;k<i.length;k++)g=document.createElement("option"),g.setAttribute("value",i[k][1]),e=document.createTextNode(i[k][0]),
14
- g.appendChild(e),i[k][1]==a.selectingLang&&g.setAttribute("selected","selected"),f.appendChild(g);d.appendChild(f)}};a.buildOptionSynonyms=function(b){b=a.selectNodeResponce[b];a.selectNode.synonyms.clear();for(var c=0;c<b.length;c++)a.selectNode.synonyms.add(b[c],b[c]);a.selectNode.synonyms.getInputElement().$.firstChild.selected=!0;a.textNode.Thesaurus.setValue(a.selectNode.synonyms.getInputElement().getValue())};var o=function(a){var c=document,d=a.target||c.body,f=a.id||"overlayBlock",g=a.opacity||
15
- "0.9",a=a.background||"#f1f1f1",e=c.getElementById(f),i=e||c.createElement("div");i.style.cssText="position: absolute;top:30px;bottom:41px;left:1px;right:1px;z-index: 10020;padding:0;margin:0;background:"+a+";opacity: "+g+";filter: alpha(opacity="+100*g+");display: none;";i.id=f;e||d.appendChild(i);return{setDisable:function(){i.style.display="none"},setEnable:function(){i.style.display="block"}}},w=function(b,c,d){var f=new CKEDITOR.dom.element("div"),e=new CKEDITOR.dom.element("input"),h=new CKEDITOR.dom.element("label"),
16
- i="wscGrammerSuggest"+b+"_"+c;f.addClass("cke_dialog_ui_input_radio");f.setAttribute("role","presentation");f.setStyles({width:"97%",padding:"5px","white-space":"normal"});e.setAttributes({type:"radio",value:c,name:"wscGrammerSuggest",id:i});e.setStyles({"float":"left"});e.on("click",function(b){a.textNode.GrammTab.setValue(b.sender.getValue())});d&&e.setAttribute("checked",!0);e.addClass("cke_dialog_ui_radio_input");h.appendText(b);h.setAttribute("for",i);h.setStyles({display:"block","line-height":"16px",
17
- "margin-left":"18px","white-space":"normal"});f.append(e);f.append(h);return f},r=function(b){b=b||"true";null!==b&&"false"==b&&a.dialog.hidePage("GrammTab")},m=function(b){var c=new t(b),b="wscLang"+a.dialog.getParentEditor().name,b=document.getElementById(b),d=a.iframeNumber+"_"+a.dialog._.currentTabId;a.buildOptionLang(c.setLangList,a.dialog.getParentEditor().name);s[c.getCurrentLangGroup(a.selectingLang)]();r(a.show_grammar);b.onchange=function(){s[c.getCurrentLangGroup(this.value)]();r(a.show_grammar);
18
- a.div_overlay.setEnable();a.selectingLang=this.value;e.postMessage.send({message:{changeLang:a.selectingLang,text:a.dataTemp},target:a.targetFromFrame[d],id:"selectionLang_outer__page"})}},x=function(b){if("no_any_suggestions"==b){b="No suggestions";a.LocalizationButton.ChangeTo.instance.disable();a.LocalizationButton.ChangeAll.instance.disable();var c=function(b){b=a.LocalizationButton[b].instance;b.getElement().hasClass("cke_disabled")?b.getElement().setStyle("color","#a0a0a0"):b.disable()};c("ChangeTo");
19
- c("ChangeAll")}else a.LocalizationButton.ChangeTo.instance.enable(),a.LocalizationButton.ChangeAll.instance.enable(),a.LocalizationButton.ChangeTo.instance.getElement().setStyle("color","#333"),a.LocalizationButton.ChangeAll.instance.getElement().setStyle("color","#333");return b},y={iframeOnload:function(){a.div_overlay.setEnable();var b=a.dialog._.currentTabId;q(a.targetFromFrame[a.iframeNumber+"_"+b],a.cmd[b])},suggestlist:function(b){delete b.id;a.div_overlay_no_check.setDisable();p();m(a.langList);
20
- var c=x(b.word),d="";c instanceof Array&&(c=b.word[0]);d=c=c.split(",");n.clear();a.textNode.SpellTab.setValue(d[0]);for(b=0;b<d.length;b++)n.add(d[b],d[b]);l();a.div_overlay.setDisable()},grammerSuggest:function(b){delete b.id;delete b.mocklangs;p();m(a.langList);var c=b.grammSuggest[0];a.grammerSuggest.getElement().setHtml("");a.textNode.GrammTab.reset();a.textNode.GrammTab.setValue(c);a.textNodeInfo.GrammTab.getElement().setHtml("");a.textNodeInfo.GrammTab.getElement().setText(b.info);for(var b=
21
- b.grammSuggest,c=b.length,d=!0,f=0;f<c;f++)a.grammerSuggest.getElement().append(w(b[f],b[f],d)),d=!1;l();a.div_overlay.setDisable()},thesaurusSuggest:function(b){delete b.id;delete b.mocklangs;p();m(a.langList);a.selectNodeResponce=b;a.textNode.Thesaurus.reset();a.selectNode.categories.clear();for(var c in b)a.selectNode.categories.add(c,c);b=a.selectNode.categories.getInputElement().getChildren().$[0].value;a.selectNode.categories.getInputElement().getChildren().$[0].selected=!0;a.buildOptionSynonyms(b);
22
- l();a.div_overlay.setDisable()},finish:function(b){delete b.id;a.dialog.getContentElement(a.dialog._.currentTabId,"bottomGroup").getElement().hide();a.dialog.getContentElement(a.dialog._.currentTabId,"BlockFinishChecking").getElement().show();a.div_overlay.setDisable()},settext:function(b){delete b.id;a.dialog.getParentEditor().focus();a.dialog.getParentEditor().setData(b.text,a.dataTemp="");a.dialog.hide()},ReplaceText:function(b){delete b.id;a.div_overlay.setEnable();a.dataTemp=b.text;a.selectingLang=
23
- b.currentLang;window.setTimeout(function(){a.div_overlay.setDisable()},500);u(a.LocalizationButton);v(a.LocalizationLabel)},options_checkbox_send:function(b){delete b.id;b={osp:e.cookie.get("osp"),udn:e.cookie.get("udn"),cust_dic_ids:a.cust_dic_ids};e.postMessage.send({message:b,target:a.targetFromFrame[a.iframeNumber+"_"+a.dialog._.currentTabId],id:"options_outer__page"})},getOptions:function(b){var c=b.DefOptions.udn;a.LocalizationComing=b.DefOptions.localizationButtonsAndText;a.show_grammar=b.show_grammar;
24
- a.langList=b.lang;if(a.bnr=b.bannerId){a.setHeightBannerFrame();var d=b.banner;a.dialog.getContentElement(a.dialog._.currentTabId,"banner").getElement().setHtml(d)}else a.setHeightFrame();"undefined"==c&&(a.userDictionaryName?(c=a.userDictionaryName,d={osp:e.cookie.get("osp"),udn:a.userDictionaryName,cust_dic_ids:a.cust_dic_ids,id:"options_dic_send",udnCmd:"create"},e.postMessage.send({message:d,target:a.targetFromFrame[void 0]})):c="");e.cookie.set("osp",b.DefOptions.osp);e.cookie.set("udn",c);e.cookie.set("cust_dic_ids",
25
- b.DefOptions.cust_dic_ids);e.postMessage.send({id:"giveOptions"})},options_dic_send:function(){var b={osp:e.cookie.get("osp"),udn:e.cookie.get("udn"),cust_dic_ids:a.cust_dic_ids,id:"options_dic_send",udnCmd:e.cookie.get("udnCmd")};e.postMessage.send({message:b,target:a.targetFromFrame[a.iframeNumber+"_"+a.dialog._.currentTabId]})},data:function(a){delete a.id},giveOptions:function(){},setOptionsConfirmF:function(){},setOptionsConfirmT:function(){j.setValue("")},clickBusy:function(){a.div_overlay.setEnable()},
26
- suggestAllCame:function(){a.div_overlay.setDisable();a.div_overlay_no_check.setDisable()},TextCorrect:function(){m(a.langList)}},z=function(a){a=a||window.event;a=window.JSON.parse(a.data);y[a.id](a)},q=function(b,c,d,f){c=c||CKEDITOR.config.wsc_cmd;d=d||a.dataTemp;e.postMessage.send({message:{customerId:a.wsc_customerId,text:d,txt_ctrl:a.TextAreaNumber,cmd:c,cust_dic_ids:a.cust_dic_ids,udn:a.userDictionaryName,slang:a.selectingLang,reset_suggest:f||!1},target:b,id:"data_outer__page"});a.div_overlay.setEnable()},
27
- s={superset:function(){a.dialog.showPage("Thesaurus");a.dialog.showPage("GrammTab");a.dialog.showPage("SpellTab")},usual:function(){a.dialog.hidePage("Thesaurus");a.dialog.hidePage("GrammTab");a.dialog.showPage("SpellTab")}},A=function(b){var c=new function(a){var b={};return{getCmdByTab:function(c){for(var e in a)b[a[e]]=e;return b[c]}}}(a.cmd);b.selectPage(c.getCmdByTab(CKEDITOR.config.wsc_cmd));a.sendData(b)},l=function(){a.dialog.getContentElement(a.dialog._.currentTabId,"bottomGroup").getElement().show()},
28
- p=function(){a.dialog.getContentElement(a.dialog._.currentTabId,"BlockFinishChecking").getElement().hide()};CKEDITOR.dialog.add("checkspell",function(b){var c=function(){a.div_overlay.setEnable();var c=a.dialog._.currentTabId,f=a.iframeNumber+"_"+c,g=a.textNode[c].getValue();e.postMessage.send({message:{cmd:this.getElement().getAttribute("title-cmd"),tabId:c,new_word:g},target:a.targetFromFrame[f],id:"cmd_outer__page"});"FinishChecking"==this.getElement().getAttribute("title-cmd")&&b.config.wsc_onFinish.call(CKEDITOR.document.getWindow().getFrame())};
29
- return{title:b.config.wsc_dialogTitle||b.lang.wsc.title,minWidth:560,minHeight:444,buttons:[CKEDITOR.dialog.cancelButton],onShow:function(){a.dialog=this;a.TextAreaNumber="cke_textarea_"+CKEDITOR.currentInstance.name;e.postMessage.init(z);a.dataTemp=CKEDITOR.currentInstance.getData();a.OverlayPlace=a.dialog.parts.tabs.getParent().$;if(CKEDITOR&&CKEDITOR.config){a.wsc_customerId=b.config.wsc_customerId;a.cust_dic_ids=b.config.wsc_customDictionaryIds;a.userDictionaryName=b.config.wsc_userDictionaryName;
30
- a.defaultLanguage=CKEDITOR.config.defaultLanguage;var c="file:"==document.location.protocol?"http:":document.location.protocol;CKEDITOR.scriptLoader.load(b.config.wsc_customLoaderScript||c+"//loader.webspellchecker.net/sproxy_fck/sproxy.php?plugin=fck2&customerid="+a.wsc_customerId+"&cmd=script&doc=wsc&schema=22",function(c){CKEDITOR.config&&CKEDITOR.config.wsc&&CKEDITOR.config.wsc.DefaultParams?(a.serverLocationHash=CKEDITOR.config.wsc.DefaultParams.serviceHost,a.logotype=CKEDITOR.config.wsc.DefaultParams.logoPath,
31
- a.loadIcon=CKEDITOR.config.wsc.DefaultParams.iconPath,a.loadIconEmptyEditor=CKEDITOR.config.wsc.DefaultParams.iconPathEmptyEditor,a.LangComparer=new CKEDITOR.config.wsc.DefaultParams._SP_FCK_LangCompare):(a.serverLocationHash=DefaultParams.serviceHost,a.logotype=DefaultParams.logoPath,a.loadIcon=DefaultParams.iconPath,a.loadIconEmptyEditor=DefaultParams.iconPathEmptyEditor,a.LangComparer=new _SP_FCK_LangCompare);a.pluginPath=CKEDITOR.getUrl(b.plugins.wsc.path);a.iframeNumber=a.TextAreaNumber;a.templatePath=
32
- a.pluginPath+"dialogs/tmp.html";a.LangComparer.setDefaulLangCode(a.defaultLanguage);a.currentLang=b.config.wsc_lang||a.LangComparer.getSPLangCode(b.langCode);a.selectingLang=a.currentLang;a.div_overlay=new o({opacity:"1",background:"#fff url("+a.loadIcon+") no-repeat 50% 50%",target:a.OverlayPlace});var d=a.dialog.parts.tabs.getId(),d=CKEDITOR.document.getById(d);d.setStyle("width","97%");d.getElementsByTag("DIV").count()||d.append(a.buildSelectLang(a.dialog.getParentEditor().name));a.div_overlay_no_check=
33
- new o({opacity:"1",id:"no_check_over",background:"#fff url("+a.loadIconEmptyEditor+") no-repeat 50% 50%",target:a.OverlayPlace});c&&(A(a.dialog),a.dialog.setupContent(a.dialog))})}else a.dialog.hide()},onHide:function(){a.dataTemp=""},contents:[{id:"SpellTab",label:"SpellChecker",accessKey:"S",elements:[{type:"html",id:"banner",label:"banner",style:"",html:"<div></div>"},{type:"html",id:"Content",label:"spellContent",html:"",setup:function(b){var b=a.iframeNumber+"_"+b._.currentTabId,c=document.getElementById(b);
34
- a.targetFromFrame[b]=c.contentWindow}},{type:"hbox",id:"bottomGroup",style:"width:560px; margin: 0 auto;",widths:["50%","50%"],children:[{type:"hbox",id:"leftCol",align:"left",width:"50%",children:[{type:"vbox",id:"rightCol1",widths:["50%","50%"],children:[{type:"text",id:"text",label:a.LocalizationLabel.ChangeTo.text+":",labelLayout:"horizontal",labelStyle:"font: 12px/25px arial, sans-serif;",width:"140px","default":"",onShow:function(){a.textNode.SpellTab=this;a.LocalizationLabel.ChangeTo.instance=
9
+ text:"Ignore all words"},Options:{instance:null,text:"Options",optionsDialog:{instance:null}},AddWord:{instance:null,text:"Add word"},FinishChecking:{instance:null,text:"Finish Checking"}};a.LocalizationLabel={ChangeTo:{instance:null,text:"Change to"},Suggestions:{instance:null,text:"Suggestions"}};var x=function(b){for(var c in b)b[c].instance.getElement().setText(a.LocalizationComing[c])},y=function(b){for(var c in b){if(!b[c].instance.setLabel)break;b[c].instance.setLabel(a.LocalizationComing[c])}},
10
+ j,p;a.framesetHtml=function(b){return'<iframe src="'+a.templatePath+'" id='+a.iframeNumber+"_"+b+' frameborder="0" allowtransparency="1" style="width:100%;border: 1px solid #AEB3B9;overflow: auto;background:#fff; border-radius: 3px;"></iframe>'};a.setIframe=function(b,c){var d=a.framesetHtml(c);return b.getElement().setHtml(d)};a.setCurrentIframe=function(b){a.setIframe(a.dialog._.contents[b].Content,b)};a.setHeightBannerFrame=function(){var b=a.dialog.getContentElement("SpellTab","banner").getElement(),
11
+ c=a.dialog.getContentElement("GrammTab","banner").getElement(),d=a.dialog.getContentElement("Thesaurus","banner").getElement();b.setStyle("height","90px");c.setStyle("height","90px");d.setStyle("height","90px")};a.setHeightFrame=function(){document.getElementById(a.iframeNumber+"_"+a.dialog._.currentTabId).style.height="240px"};a.sendData=function(b){var c=b._.currentTabId,d=b._.contents[c].Content,f,g;a.setIframe(d,c);b.parts.tabs.removeAllListeners();b.parts.tabs.on("click",function(h){h=h||window.event;
12
+ h.data.getTarget().is("a")&&c!=b._.currentTabId&&(c=b._.currentTabId,d=b._.contents[c].Content,f=a.iframeNumber+"_"+c,a.div_overlay.setEnable(),d.getElement().getChildCount()?t(a.targetFromFrame[f],a.cmd[c]):(a.setIframe(d,c),g=document.getElementById(f),a.targetFromFrame[f]=g.contentWindow))})};a.buildSelectLang=function(a){var c=new CKEDITOR.dom.element("div"),d=new CKEDITOR.dom.element("select"),a="wscLang"+a;c.addClass("cke_dialog_ui_input_select");c.setAttribute("role","presentation");c.setStyles({height:"auto",
13
+ position:"absolute",right:"0",top:"-1px",width:"160px","white-space":"normal"});d.setAttribute("id",a);d.addClass("cke_dialog_ui_input_select");d.setStyles({width:"160px"});c.append(d);return c};a.buildOptionLang=function(b,c){var d=document.getElementById("wscLang"+c),f=document.createDocumentFragment(),g,h,e=[];if(0===d.options.length){for(g in b)e.push([g,b[g]]);e.sort();for(var k=0;k<e.length;k++)g=document.createElement("option"),g.setAttribute("value",e[k][1]),h=document.createTextNode(e[k][0]),
14
+ g.appendChild(h),e[k][1]==a.selectingLang&&g.setAttribute("selected","selected"),f.appendChild(g);d.appendChild(f)}};a.buildOptionSynonyms=function(b){b=a.selectNodeResponce[b];a.selectNode.synonyms.clear();for(var c=0;c<b.length;c++)a.selectNode.synonyms.add(b[c],b[c]);a.selectNode.synonyms.getInputElement().$.firstChild.selected=!0;a.textNode.Thesaurus.setValue(a.selectNode.synonyms.getInputElement().getValue())};var q=function(a){var c=document,d=a.target||c.body,f=a.id||"overlayBlock",g=a.opacity||
15
+ "0.9",a=a.background||"#f1f1f1",e=c.getElementById(f),i=e||c.createElement("div");i.style.cssText="position: absolute;top:30px;bottom:41px;left:1px;right:1px;z-index: 10020;padding:0;margin:0;background:"+a+";opacity: "+g+";filter: alpha(opacity="+100*g+");display: none;";i.id=f;e||d.appendChild(i);return{setDisable:function(){i.style.display="none"},setEnable:function(){i.style.display="block"}}},z=function(b,c,d){var f=new CKEDITOR.dom.element("div"),g=new CKEDITOR.dom.element("input"),e=new CKEDITOR.dom.element("label"),
16
+ i="wscGrammerSuggest"+b+"_"+c;f.addClass("cke_dialog_ui_input_radio");f.setAttribute("role","presentation");f.setStyles({width:"97%",padding:"5px","white-space":"normal"});g.setAttributes({type:"radio",value:c,name:"wscGrammerSuggest",id:i});g.setStyles({"float":"left"});g.on("click",function(b){a.textNode.GrammTab.setValue(b.sender.getValue())});d&&g.setAttribute("checked",!0);g.addClass("cke_dialog_ui_radio_input");e.appendText(b);e.setAttribute("for",i);e.setStyles({display:"block","line-height":"16px",
17
+ "margin-left":"18px","white-space":"normal"});f.append(g);f.append(e);return f},u=function(a){a=a||"true";null!==a&&"false"==a&&m()},n=function(b){var c=new w(b),b="wscLang"+a.dialog.getParentEditor().name,b=document.getElementById(b),d=a.iframeNumber+"_"+a.dialog._.currentTabId;a.buildOptionLang(c.setLangList,a.dialog.getParentEditor().name);v[c.getCurrentLangGroup(a.selectingLang)]();u(a.show_grammar);b.onchange=function(){v[c.getCurrentLangGroup(this.value)]();u(a.show_grammar);a.div_overlay.setEnable();
18
+ a.selectingLang=this.value;e.postMessage.send({message:{changeLang:a.selectingLang,text:a.dataTemp},target:a.targetFromFrame[d],id:"selectionLang_outer__page"})}},A=function(b){if("no_any_suggestions"==b){b="No suggestions";a.LocalizationButton.ChangeTo.instance.disable();a.LocalizationButton.ChangeAll.instance.disable();var c=function(b){b=a.LocalizationButton[b].instance;b.getElement().hasClass("cke_disabled")?b.getElement().setStyle("color","#a0a0a0"):b.disable()};c("ChangeTo");c("ChangeAll")}else a.LocalizationButton.ChangeTo.instance.enable(),
19
+ a.LocalizationButton.ChangeAll.instance.enable(),a.LocalizationButton.ChangeTo.instance.getElement().setStyle("color","#333"),a.LocalizationButton.ChangeAll.instance.getElement().setStyle("color","#333");return b},B={iframeOnload:function(){a.div_overlay.setEnable();var b=a.dialog._.currentTabId;t(a.targetFromFrame[a.iframeNumber+"_"+b],a.cmd[b])},suggestlist:function(b){delete b.id;a.div_overlay_no_check.setDisable();r();n(a.langList);var c=A(b.word),d="";c instanceof Array&&(c=b.word[0]);d=c=c.split(",");
20
+ p.clear();a.textNode.SpellTab.setValue(d[0]);for(b=0;b<d.length;b++)p.add(d[b],d[b]);l();a.div_overlay.setDisable()},grammerSuggest:function(b){delete b.id;delete b.mocklangs;r();n(a.langList);var c=b.grammSuggest[0];a.grammerSuggest.getElement().setHtml("");a.textNode.GrammTab.reset();a.textNode.GrammTab.setValue(c);a.textNodeInfo.GrammTab.getElement().setHtml("");a.textNodeInfo.GrammTab.getElement().setText(b.info);for(var b=b.grammSuggest,c=b.length,d=!0,f=0;f<c;f++)a.grammerSuggest.getElement().append(z(b[f],
21
+ b[f],d)),d=!1;l();a.div_overlay.setDisable()},thesaurusSuggest:function(b){delete b.id;delete b.mocklangs;r();n(a.langList);a.selectNodeResponce=b;a.textNode.Thesaurus.reset();a.selectNode.categories.clear();for(var c in b)a.selectNode.categories.add(c,c);b=a.selectNode.categories.getInputElement().getChildren().$[0].value;a.selectNode.categories.getInputElement().getChildren().$[0].selected=!0;a.buildOptionSynonyms(b);l();a.div_overlay.setDisable()},finish:function(b){delete b.id;a.dialog.getContentElement(a.dialog._.currentTabId,
22
+ "bottomGroup").getElement().hide();a.dialog.getContentElement(a.dialog._.currentTabId,"BlockFinishChecking").getElement().show();a.div_overlay.setDisable()},settext:function(b){delete b.id;a.dialog.getParentEditor().getCommand("checkspell");var c=a.dialog.getParentEditor();c.focus();c.setData(b.text,function(){a.dataTemp="";c.unlockSelection();c.fire("saveSnapshot");a.dialog.hide()})},ReplaceText:function(b){delete b.id;a.div_overlay.setEnable();a.dataTemp=b.text;a.selectingLang=b.currentLang;window.setTimeout(function(){a.div_overlay.setDisable()},
23
+ 500);x(a.LocalizationButton);y(a.LocalizationLabel)},options_checkbox_send:function(b){delete b.id;b={osp:e.cookie.get("osp"),udn:e.cookie.get("udn"),cust_dic_ids:a.cust_dic_ids};e.postMessage.send({message:b,target:a.targetFromFrame[a.iframeNumber+"_"+a.dialog._.currentTabId],id:"options_outer__page"})},getOptions:function(b){var c=b.DefOptions.udn;a.LocalizationComing=b.DefOptions.localizationButtonsAndText;a.show_grammar=b.show_grammar;a.langList=b.lang;if(a.bnr=b.bannerId){a.setHeightBannerFrame();
24
+ var d=b.banner;a.dialog.getContentElement(a.dialog._.currentTabId,"banner").getElement().setHtml(d)}else a.setHeightFrame();"undefined"==c&&(a.userDictionaryName?(c=a.userDictionaryName,d={osp:e.cookie.get("osp"),udn:a.userDictionaryName,cust_dic_ids:a.cust_dic_ids,id:"options_dic_send",udnCmd:"create"},e.postMessage.send({message:d,target:a.targetFromFrame[void 0]})):c="");e.cookie.set("osp",b.DefOptions.osp);e.cookie.set("udn",c);e.cookie.set("cust_dic_ids",b.DefOptions.cust_dic_ids);e.postMessage.send({id:"giveOptions"})},
25
+ options_dic_send:function(){var b={osp:e.cookie.get("osp"),udn:e.cookie.get("udn"),cust_dic_ids:a.cust_dic_ids,id:"options_dic_send",udnCmd:e.cookie.get("udnCmd")};e.postMessage.send({message:b,target:a.targetFromFrame[a.iframeNumber+"_"+a.dialog._.currentTabId]})},data:function(a){delete a.id},giveOptions:function(){},setOptionsConfirmF:function(){},setOptionsConfirmT:function(){j.setValue("")},clickBusy:function(){a.div_overlay.setEnable()},suggestAllCame:function(){a.div_overlay.setDisable();a.div_overlay_no_check.setDisable()},
26
+ TextCorrect:function(){n(a.langList)}},C=function(a){a=a||window.event;if((a=window.JSON.parse(a.data))&&a.id)B[a.id](a)},t=function(b,c,d,f){c=c||CKEDITOR.config.wsc_cmd;d=d||a.dataTemp;e.postMessage.send({message:{customerId:a.wsc_customerId,text:d,txt_ctrl:a.TextAreaNumber,cmd:c,cust_dic_ids:a.cust_dic_ids,udn:a.userDictionaryName,slang:a.selectingLang,reset_suggest:f||!1},target:b,id:"data_outer__page"});a.div_overlay.setEnable()},v={superset:function(){a.dialog.showPage("Thesaurus");a.dialog.showPage("GrammTab");
27
+ o()},usual:function(){s();m();o()},rtl:function(){s();m();o()}},D=function(b){var c=new function(a){var b={};return{getCmdByTab:function(c){for(var e in a)b[a[e]]=e;return b[c]}}}(a.cmd);b.selectPage(c.getCmdByTab(CKEDITOR.config.wsc_cmd));a.sendData(b)},s=function(){a.dialog.hidePage("Thesaurus")},m=function(){a.dialog.hidePage("GrammTab")},o=function(){a.dialog.showPage("SpellTab")},l=function(){a.dialog.getContentElement(a.dialog._.currentTabId,"bottomGroup").getElement().show()},r=function(){a.dialog.getContentElement(a.dialog._.currentTabId,
28
+ "BlockFinishChecking").getElement().hide()};CKEDITOR.dialog.add("checkspell",function(b){var c=function(){a.div_overlay.setEnable();var c=a.dialog._.currentTabId,f=a.iframeNumber+"_"+c,g=a.textNode[c].getValue(),h=this.getElement().getAttribute("title-cmd");e.postMessage.send({message:{cmd:h,tabId:c,new_word:g},target:a.targetFromFrame[f],id:"cmd_outer__page"});("ChangeTo"==h||"ChangeAll"==h)&&b.fire("saveSnapshot");"FinishChecking"==h&&b.config.wsc_onFinish.call(CKEDITOR.document.getWindow().getFrame())};
29
+ return{title:b.config.wsc_dialogTitle||b.lang.wsc.title,minWidth:560,minHeight:444,buttons:[CKEDITOR.dialog.cancelButton],onLoad:function(){a.dialog=this;s();m();o()},onShow:function(){b.lockSelection(b.getSelection());a.TextAreaNumber="cke_textarea_"+CKEDITOR.currentInstance.name;e.postMessage.init(C);a.dataTemp=CKEDITOR.currentInstance.getData();a.OverlayPlace=a.dialog.parts.tabs.getParent().$;if(CKEDITOR&&CKEDITOR.config){a.wsc_customerId=b.config.wsc_customerId;a.cust_dic_ids=b.config.wsc_customDictionaryIds;
30
+ a.userDictionaryName=b.config.wsc_userDictionaryName;a.defaultLanguage=CKEDITOR.config.defaultLanguage;var c="file:"==document.location.protocol?"http:":document.location.protocol;CKEDITOR.scriptLoader.load(b.config.wsc_customLoaderScript||c+"//loader.webspellchecker.net/sproxy_fck/sproxy.php?plugin=fck2&customerid="+a.wsc_customerId+"&cmd=script&doc=wsc&schema=22",function(c){CKEDITOR.config&&CKEDITOR.config.wsc&&CKEDITOR.config.wsc.DefaultParams?(a.serverLocationHash=CKEDITOR.config.wsc.DefaultParams.serviceHost,
31
+ a.logotype=CKEDITOR.config.wsc.DefaultParams.logoPath,a.loadIcon=CKEDITOR.config.wsc.DefaultParams.iconPath,a.loadIconEmptyEditor=CKEDITOR.config.wsc.DefaultParams.iconPathEmptyEditor,a.LangComparer=new CKEDITOR.config.wsc.DefaultParams._SP_FCK_LangCompare):(a.serverLocationHash=DefaultParams.serviceHost,a.logotype=DefaultParams.logoPath,a.loadIcon=DefaultParams.iconPath,a.loadIconEmptyEditor=DefaultParams.iconPathEmptyEditor,a.LangComparer=new _SP_FCK_LangCompare);a.pluginPath=CKEDITOR.getUrl(b.plugins.wsc.path);
32
+ a.iframeNumber=a.TextAreaNumber;a.templatePath=a.pluginPath+"dialogs/tmp.html";a.LangComparer.setDefaulLangCode(a.defaultLanguage);a.currentLang=b.config.wsc_lang||a.LangComparer.getSPLangCode(b.langCode);a.selectingLang=a.currentLang;a.div_overlay=new q({opacity:"1",background:"#fff url("+a.loadIcon+") no-repeat 50% 50%",target:a.OverlayPlace});var d=a.dialog.parts.tabs.getId(),d=CKEDITOR.document.getById(d);d.setStyle("width","97%");d.getElementsByTag("DIV").count()||d.append(a.buildSelectLang(a.dialog.getParentEditor().name));
33
+ a.div_overlay_no_check=new q({opacity:"1",id:"no_check_over",background:"#fff url("+a.loadIconEmptyEditor+") no-repeat 50% 50%",target:a.OverlayPlace});c&&(D(a.dialog),a.dialog.setupContent(a.dialog))})}else a.dialog.hide()},onHide:function(){a.dataTemp=""},contents:[{id:"SpellTab",label:"SpellChecker",accessKey:"S",elements:[{type:"html",id:"banner",label:"banner",style:"",html:"<div></div>"},{type:"html",id:"Content",label:"spellContent",html:"",setup:function(b){var b=a.iframeNumber+"_"+b._.currentTabId,
34
+ c=document.getElementById(b);a.targetFromFrame[b]=c.contentWindow}},{type:"hbox",id:"bottomGroup",style:"width:560px; margin: 0 auto;",widths:["50%","50%"],children:[{type:"hbox",id:"leftCol",align:"left",width:"50%",children:[{type:"vbox",id:"rightCol1",widths:["50%","50%"],children:[{type:"text",id:"text",label:a.LocalizationLabel.ChangeTo.text+":",labelLayout:"horizontal",labelStyle:"font: 12px/25px arial, sans-serif;",width:"140px","default":"",onShow:function(){a.textNode.SpellTab=this;a.LocalizationLabel.ChangeTo.instance=
35
35
  this},onHide:function(){this.reset()}},{type:"hbox",id:"rightCol",align:"right",width:"30%",children:[{type:"vbox",id:"rightCol_col__left",children:[{type:"text",id:"labelSuggestions",label:a.LocalizationLabel.Suggestions.text+":",onShow:function(){a.LocalizationLabel.Suggestions.instance=this;this.getInputElement().hide()}},{type:"html",id:"logo",html:'<img width="99" height="68" border="0" src="" title="WebSpellChecker.net" alt="WebSpellChecker.net" style="display: inline-block;">',setup:function(){this.getElement().$.src=
36
- a.logotype;this.getElement().getParent().setStyles({"text-align":"left"})}}]},{type:"select",id:"list_of_suggestions",labelStyle:"font: 12px/25px arial, sans-serif;",size:"6",inputStyle:"width: 140px; height: auto;",items:[["loading..."]],onShow:function(){n=this},onHide:function(){this.clear()},onChange:function(){a.textNode.SpellTab.setValue(this.getValue())}}]}]}]},{type:"hbox",id:"rightCol",align:"right",width:"50%",children:[{type:"vbox",id:"rightCol_col__left",widths:["50%","50%","50%","50%"],
36
+ a.logotype;this.getElement().getParent().setStyles({"text-align":"left"})}}]},{type:"select",id:"list_of_suggestions",labelStyle:"font: 12px/25px arial, sans-serif;",size:"6",inputStyle:"width: 140px; height: auto;",items:[["loading..."]],onShow:function(){p=this},onHide:function(){this.clear()},onChange:function(){a.textNode.SpellTab.setValue(this.getValue())}}]}]}]},{type:"hbox",id:"rightCol",align:"right",width:"50%",children:[{type:"vbox",id:"rightCol_col__left",widths:["50%","50%","50%","50%"],
37
37
  children:[{type:"button",id:"ChangeTo",label:a.LocalizationButton.ChangeTo.text,title:"Change to",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.ChangeTo.instance=this},onClick:c},{type:"button",id:"ChangeAll",label:a.LocalizationButton.ChangeAll.text,title:"Change All",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.ChangeAll.instance=this},onClick:c},{type:"button",id:"AddWord",
38
38
  label:a.LocalizationButton.AddWord.text,title:"Add word",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.AddWord.instance=this},onClick:c},{type:"button",id:"FinishChecking",label:a.LocalizationButton.FinishChecking.text,title:"Finish Checking",style:"width: 100%;margin-top: 9px;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.FinishChecking.instance=this},onClick:c}]},{type:"vbox",id:"rightCol_col__right",
39
39
  widths:["50%","50%","50%"],children:[{type:"button",id:"IgnoreWord",label:a.LocalizationButton.IgnoreWord.text,title:"Ignore word",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.IgnoreWord.instance=this},onClick:c},{type:"button",id:"IgnoreAllWords",label:a.LocalizationButton.IgnoreAllWords.text,title:"Ignore all words",style:"width: 100%;",onLoad:function(){this.getElement().setAttribute("title-cmd",this.id);a.LocalizationButton.IgnoreAllWords.instance=
@@ -64,4 +64,4 @@ a[0]=d.IgnoreAllCapsWords;a[1]=d.IgnoreWordsNumbers;a[2]=d.IgnoreMixedCaseWords;
64
64
  b.getContentElement("OptionsTab","IgnoreMixedCaseWords");c.IgnoreDomainNames=b.getContentElement("OptionsTab","IgnoreDomainNames")},onShow:function(){var b=e.cookie.get("osp").split("");d.IgnoreAllCapsWords=b[0];d.IgnoreWordsNumbers=b[1];d.IgnoreMixedCaseWords=b[2];d.IgnoreDomainNames=b[3];!parseInt(d.IgnoreAllCapsWords,10)?c.IgnoreAllCapsWords.setValue("",!1):c.IgnoreAllCapsWords.setValue("checked",!1);!parseInt(d.IgnoreWordsNumbers,10)?c.IgnoreWordsNumbers.setValue("",!1):c.IgnoreWordsNumbers.setValue("checked",
65
65
  !1);!parseInt(d.IgnoreMixedCaseWords,10)?c.IgnoreMixedCaseWords.setValue("",!1):c.IgnoreMixedCaseWords.setValue("checked",!1);!parseInt(d.IgnoreDomainNames,10)?c.IgnoreDomainNames.setValue("",!1):c.IgnoreDomainNames.setValue("checked",!1);d.IgnoreAllCapsWords=!c.IgnoreAllCapsWords.getValue()?0:1;d.IgnoreWordsNumbers=!c.IgnoreWordsNumbers.getValue()?0:1;d.IgnoreMixedCaseWords=!c.IgnoreMixedCaseWords.getValue()?0:1;d.IgnoreDomainNames=!c.IgnoreDomainNames.getValue()?0:1;c.IgnoreAllCapsWords.getElement().$.lastChild.innerHTML=
66
66
  a.LocalizationComing.IgnoreAllCapsWords;c.IgnoreWordsNumbers.getElement().$.lastChild.innerHTML=a.LocalizationComing.IgnoreWordsWithNumbers;c.IgnoreMixedCaseWords.getElement().$.lastChild.innerHTML=a.LocalizationComing.IgnoreMixedCaseWords;c.IgnoreDomainNames.getElement().$.lastChild.innerHTML=a.LocalizationComing.IgnoreDomainNames}}});CKEDITOR.dialog.on("resize",function(b){var b=b.data,c=b.dialog,d=CKEDITOR.document.getById(a.iframeNumber+"_"+c._.currentTabId);"checkspell"==c._.name&&(a.bnr?d&&
67
- d.setSize("height",b.height-310):d&&d.setSize("height",b.height-220))});CKEDITOR.on("dialogDefinition",function(b){var c=b.data.definition;a.onLoadOverlay=new o({opacity:"1",background:"#fff",target:c.dialog.parts.tabs.getParent().$});a.onLoadOverlay.setEnable();c.dialog.on("show",function(){});c.dialog.on("cancel",function(){c.dialog.getParentEditor().config.wsc_onClose.call(this.document.getWindow().getFrame());a.div_overlay.setDisable();return!1},this,null,-1)})})();
67
+ d.setSize("height",b.height-310):d&&d.setSize("height",b.height-220))});CKEDITOR.on("dialogDefinition",function(b){var c=b.data.definition;a.onLoadOverlay=new q({opacity:"1",background:"#fff",target:c.dialog.parts.tabs.getParent().$});a.onLoadOverlay.setEnable();c.dialog.on("show",function(){});c.dialog.on("cancel",function(){c.dialog.getParentEditor().config.wsc_onClose.call(this.document.getWindow().getFrame());a.div_overlay.setDisable();return!1},this,null,-1)})})();
@@ -9,6 +9,7 @@ CKEDITOR.plugins.setLang('youtube', 'en', {
9
9
  txtStartAt : 'Start at (ss or mm:ss or hh:mm:ss)',
10
10
  chkPrivacy : 'Enable privacy-enhanced mode',
11
11
  chkOlderCode : 'Use old embed code',
12
+ chkAutoplay: 'Autoplay',
12
13
  noCode : 'You must input an embed code or URL',
13
14
  invalidEmbed : 'The embed code you\'ve entered doesn\'t appear to be valid',
14
15
  invalidUrl : 'The URL you\'ve entered doesn\'t appear to be valid',
@@ -9,6 +9,7 @@ CKEDITOR.plugins.setLang('youtube', 'ru', {
9
9
  txtStartAt : 'Начать с (сс или мм:сс или чч:мм:сс)',
10
10
  chkPrivacy : 'Включить режим повышенной конфиденциальности',
11
11
  chkOlderCode : 'Использовать старый код вставки',
12
+ chkAutoplay: 'Автозапуск',
12
13
  noCode : 'Вы должны ввести HTML-код или адрес',
13
14
  invalidEmbed : 'Ваш HTML-код не похож на правильный',
14
15
  invalidUrl : 'Ваш адрес видео не похож на правильный',
@@ -7,7 +7,7 @@
7
7
  ( function() {
8
8
  CKEDITOR.plugins.add( 'youtube',
9
9
  {
10
- lang: [ 'en', 'pt', 'ja', 'hu', 'it', 'fr', 'tr', 'ru', 'de' ],
10
+ lang: [ 'en', 'pt', 'ja', 'hu', 'it', 'fr', 'tr', 'ru', 'de', 'ar', 'nl', 'pl' ],
11
11
  init: function( editor )
12
12
  {
13
13
  editor.addCommand( 'youtube', new CKEDITOR.dialogCommand( 'youtube', {
@@ -40,15 +40,13 @@
40
40
  type : 'textarea',
41
41
  label : editor.lang.youtube.txtEmbed,
42
42
  autofocus : 'autofocus',
43
+ onChange : function ( api )
44
+ {
45
+ handleEmbedChange( this, api );
46
+ },
43
47
  onKeyUp : function ( api )
44
48
  {
45
- if ( this.getValue().length > 0 )
46
- {
47
- this.getDialog().getContentElement( 'youtubePlugin', 'txtUrl' ).disable();
48
- }
49
- else {
50
- this.getDialog().getContentElement( 'youtubePlugin', 'txtUrl' ).enable();
51
- }
49
+ handleEmbedChange( this, api );
52
50
  },
53
51
  validate : function ()
54
52
  {
@@ -81,15 +79,13 @@
81
79
  id : 'txtUrl',
82
80
  type : 'text',
83
81
  label : editor.lang.youtube.txtUrl,
82
+ onChange : function ( api )
83
+ {
84
+ handleLinkChange( this, api );
85
+ },
84
86
  onKeyUp : function ( api )
85
87
  {
86
- if ( this.getValue().length > 0 )
87
- {
88
- this.getDialog().getContentElement( 'youtubePlugin', 'txtEmbed' ).disable();
89
- }
90
- else {
91
- this.getDialog().getContentElement( 'youtubePlugin', 'txtEmbed' ).enable();
92
- }
88
+ handleLinkChange( this, api );
93
89
  },
94
90
  validate : function ()
95
91
  {
@@ -192,6 +188,19 @@
192
188
  label : editor.lang.youtube.chkPrivacy,
193
189
  'default' : editor.config.youtube_privacy != null ? editor.config.youtube_privacy : false
194
190
  },
191
+ {
192
+ id : 'chkAutoplay',
193
+ type : 'checkbox',
194
+ 'default' : editor.config.youtube_autoplay != null ? editor.config.youtube_autoplay : false,
195
+ label : editor.lang.youtube.chkAutoplay
196
+ }
197
+ ]
198
+ },
199
+ {
200
+ type : 'hbox',
201
+ widths : [ '45%', '55%'],
202
+ children :
203
+ [
195
204
  {
196
205
  id : 'txtStartAt',
197
206
  type : 'text',
@@ -209,6 +218,11 @@
209
218
  }
210
219
  }
211
220
  }
221
+ },
222
+ {
223
+ id: 'empty',
224
+ type: 'html',
225
+ html: ''
212
226
  }
213
227
  ]
214
228
  }
@@ -242,6 +256,11 @@
242
256
  {
243
257
  params.push('rel=0');
244
258
  }
259
+
260
+ if ( this.getContentElement( 'youtubePlugin', 'chkAutoplay' ).getValue() === true )
261
+ {
262
+ params.push('autoplay=1');
263
+ }
245
264
 
246
265
  startSecs = this.getValueOf( 'youtubePlugin', 'txtStartAt' );
247
266
  if ( startSecs ){
@@ -291,6 +310,28 @@
291
310
  });
292
311
  })();
293
312
 
313
+ function handleLinkChange( el, api )
314
+ {
315
+ if ( el.getValue().length > 0 )
316
+ {
317
+ el.getDialog().getContentElement( 'youtubePlugin', 'txtEmbed' ).disable();
318
+ }
319
+ else {
320
+ el.getDialog().getContentElement( 'youtubePlugin', 'txtEmbed' ).enable();
321
+ }
322
+ }
323
+
324
+ function handleEmbedChange( el, api )
325
+ {
326
+ if ( el.getValue().length > 0 )
327
+ {
328
+ el.getDialog().getContentElement( 'youtubePlugin', 'txtUrl' ).disable();
329
+ }
330
+ else {
331
+ el.getDialog().getContentElement( 'youtubePlugin', 'txtUrl' ).enable();
332
+ }
333
+ }
334
+
294
335
 
295
336
  /**
296
337
  * JavaScript function to match (and return) the video Id