typus 3.1.0.rc7 → 3.1.0.rc8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (853) hide show
  1. data/lib/typus/version.rb +1 -1
  2. data/typus.gemspec +5 -2
  3. metadata +3 -1704
  4. data/test/app/controllers/admin/account_controller_test.rb +0 -105
  5. data/test/app/controllers/admin/base_controller_test.rb +0 -25
  6. data/test/app/controllers/admin/dashboard_controller_test.rb +0 -142
  7. data/test/app/controllers/admin/resource/status_controller_test.rb +0 -33
  8. data/test/app/controllers/admin/resources/acts_as_list_test.rb +0 -48
  9. data/test/app/controllers/admin/resources/assets_controller_test.rb.old +0 -137
  10. data/test/app/controllers/admin/resources/associations_test.rb +0 -59
  11. data/test/app/controllers/admin/resources/birds_controller_test.rb.old +0 -33
  12. data/test/app/controllers/admin/resources/bulk_test.rb +0 -36
  13. data/test/app/controllers/admin/resources/cases_controller_test.rb.old +0 -20
  14. data/test/app/controllers/admin/resources/comments_controller_test.rb.old +0 -74
  15. data/test/app/controllers/admin/resources/image_holders_controller_test.rb.old +0 -55
  16. data/test/app/controllers/admin/resources/invoices_controller_test.rb.old +0 -71
  17. data/test/app/controllers/admin/resources/orders_controller_test.rb.old +0 -17
  18. data/test/app/controllers/admin/resources/pages_controller_test.rb.old +0 -28
  19. data/test/app/controllers/admin/resources/posts_controller_test.rb.old +0 -649
  20. data/test/app/controllers/admin/resources/projects_controller_test.rb.old +0 -48
  21. data/test/app/controllers/admin/resources/trash_test.rb +0 -41
  22. data/test/app/controllers/admin/resources/typus_users_controller_test.rb +0 -156
  23. data/test/app/controllers/admin/resources/users_controller_test.rb.old +0 -101
  24. data/test/app/controllers/admin/resources/views_controller_test.rb.old +0 -32
  25. data/test/app/controllers/admin/resources_controller_test.rb +0 -102
  26. data/test/app/controllers/admin/session_controller_test.rb +0 -93
  27. data/test/app/helpers/admin/base_helper_test.rb +0 -75
  28. data/test/app/helpers/admin/dashboard_helper_test.rb +0 -28
  29. data/test/app/helpers/admin/filters_helper_test.rb +0 -162
  30. data/test/app/helpers/admin/form_helper_test.rb +0 -126
  31. data/test/app/helpers/admin/list_helper_test.rb +0 -76
  32. data/test/app/helpers/admin/relationships_helper_test.rb +0 -18
  33. data/test/app/helpers/admin/search_helper_test.rb +0 -56
  34. data/test/app/helpers/admin/sidebar_helper_test.rb +0 -20
  35. data/test/app/helpers/admin/table_helper_test.rb +0 -245
  36. data/test/app/mailers/admin/mailer_test.rb +0 -20
  37. data/test/app/models/admin_user_test.rb +0 -25
  38. data/test/app/models/typus_user_roles_test.rb +0 -126
  39. data/test/app/models/typus_user_test.rb +0 -148
  40. data/test/app/models/user_test.rb +0 -41
  41. data/test/config/routes_test.rb +0 -30
  42. data/test/factories.rb +0 -144
  43. data/test/fixtures/config/broken/application.yml +0 -68
  44. data/test/fixtures/config/broken/application_roles.yml +0 -20
  45. data/test/fixtures/config/broken/empty.yml +0 -0
  46. data/test/fixtures/config/broken/empty_roles.yml +0 -0
  47. data/test/fixtures/config/broken/undefined.yml +0 -3
  48. data/test/fixtures/config/broken/undefined_roles.yml +0 -6
  49. data/test/fixtures/config/default/typus.yml +0 -13
  50. data/test/fixtures/config/default/typus_roles.yml +0 -2
  51. data/test/fixtures/config/empty/empty_01.yml +0 -0
  52. data/test/fixtures/config/empty/empty_01_roles.yml +0 -0
  53. data/test/fixtures/config/empty/empty_02.yml +0 -0
  54. data/test/fixtures/config/empty/empty_02_roles.yml +0 -0
  55. data/test/fixtures/config/locales/es.yml +0 -10
  56. data/test/fixtures/config/namespaced/application.yml +0 -5
  57. data/test/fixtures/config/namespaced/application_roles.yml +0 -2
  58. data/test/fixtures/config/ordered/001_roles.yml +0 -2
  59. data/test/fixtures/config/ordered/002_roles.yml +0 -2
  60. data/test/fixtures/config/unordered/app_one_roles.yml +0 -2
  61. data/test/fixtures/config/unordered/app_two_roles.yml +0 -2
  62. data/test/fixtures/rails_app/.gitignore +0 -4
  63. data/test/fixtures/rails_app/Capfile +0 -7
  64. data/test/fixtures/rails_app/README +0 -256
  65. data/test/fixtures/rails_app/Rakefile +0 -7
  66. data/test/fixtures/rails_app/app/controllers/admin/admin_users_controller.rb +0 -2
  67. data/test/fixtures/rails_app/app/controllers/admin/animals_controller.rb +0 -2
  68. data/test/fixtures/rails_app/app/controllers/admin/article/entries_controller.rb +0 -2
  69. data/test/fixtures/rails_app/app/controllers/admin/assets_controller.rb +0 -2
  70. data/test/fixtures/rails_app/app/controllers/admin/birds_controller.rb +0 -2
  71. data/test/fixtures/rails_app/app/controllers/admin/cases_controller.rb +0 -2
  72. data/test/fixtures/rails_app/app/controllers/admin/categories_controller.rb +0 -5
  73. data/test/fixtures/rails_app/app/controllers/admin/comments_controller.rb +0 -2
  74. data/test/fixtures/rails_app/app/controllers/admin/dogs_controller.rb +0 -2
  75. data/test/fixtures/rails_app/app/controllers/admin/entries_controller.rb +0 -2
  76. data/test/fixtures/rails_app/app/controllers/admin/entry_bulks_controller.rb +0 -5
  77. data/test/fixtures/rails_app/app/controllers/admin/entry_trashes_controller.rb +0 -5
  78. data/test/fixtures/rails_app/app/controllers/admin/hits_controller.rb +0 -37
  79. data/test/fixtures/rails_app/app/controllers/admin/image_holders_controller.rb +0 -2
  80. data/test/fixtures/rails_app/app/controllers/admin/invoices_controller.rb +0 -2
  81. data/test/fixtures/rails_app/app/controllers/admin/orders_controller.rb +0 -2
  82. data/test/fixtures/rails_app/app/controllers/admin/pages_controller.rb +0 -7
  83. data/test/fixtures/rails_app/app/controllers/admin/posts_controller.rb +0 -2
  84. data/test/fixtures/rails_app/app/controllers/admin/project_collaborators_controller.rb +0 -2
  85. data/test/fixtures/rails_app/app/controllers/admin/projects_controller.rb +0 -2
  86. data/test/fixtures/rails_app/app/controllers/admin/status_controller.rb +0 -2
  87. data/test/fixtures/rails_app/app/controllers/admin/typus_users_controller.rb +0 -2
  88. data/test/fixtures/rails_app/app/controllers/admin/users_controller.rb +0 -2
  89. data/test/fixtures/rails_app/app/controllers/admin/views_controller.rb +0 -8
  90. data/test/fixtures/rails_app/app/controllers/admin/watch_dog_controller.rb +0 -2
  91. data/test/fixtures/rails_app/app/controllers/application_controller.rb +0 -3
  92. data/test/fixtures/rails_app/app/helpers/application_helper.rb +0 -2
  93. data/test/fixtures/rails_app/app/helpers/form_helper.rb +0 -3
  94. data/test/fixtures/rails_app/app/models/admin_user.rb +0 -7
  95. data/test/fixtures/rails_app/app/models/animal.rb +0 -21
  96. data/test/fixtures/rails_app/app/models/article.rb +0 -10
  97. data/test/fixtures/rails_app/app/models/article/entry.rb +0 -2
  98. data/test/fixtures/rails_app/app/models/asset.rb +0 -45
  99. data/test/fixtures/rails_app/app/models/bird.rb +0 -2
  100. data/test/fixtures/rails_app/app/models/case.rb +0 -2
  101. data/test/fixtures/rails_app/app/models/category.rb +0 -31
  102. data/test/fixtures/rails_app/app/models/comment.rb +0 -17
  103. data/test/fixtures/rails_app/app/models/delayed/task.rb +0 -5
  104. data/test/fixtures/rails_app/app/models/dog.rb +0 -2
  105. data/test/fixtures/rails_app/app/models/entry.rb +0 -36
  106. data/test/fixtures/rails_app/app/models/entry_bulk.rb +0 -2
  107. data/test/fixtures/rails_app/app/models/entry_trash.rb +0 -2
  108. data/test/fixtures/rails_app/app/models/hit.rb +0 -27
  109. data/test/fixtures/rails_app/app/models/image_holder.rb +0 -21
  110. data/test/fixtures/rails_app/app/models/invoice.rb +0 -10
  111. data/test/fixtures/rails_app/app/models/order.rb +0 -9
  112. data/test/fixtures/rails_app/app/models/page.rb +0 -24
  113. data/test/fixtures/rails_app/app/models/post.rb +0 -40
  114. data/test/fixtures/rails_app/app/models/project.rb +0 -17
  115. data/test/fixtures/rails_app/app/models/project_collaborator.rb +0 -16
  116. data/test/fixtures/rails_app/app/models/site.rb +0 -16
  117. data/test/fixtures/rails_app/app/models/typus_user.rb +0 -15
  118. data/test/fixtures/rails_app/app/models/user.rb +0 -16
  119. data/test/fixtures/rails_app/app/models/view.rb +0 -19
  120. data/test/fixtures/rails_app/app/views/admin/article/entries/_index.html.erb +0 -3
  121. data/test/fixtures/rails_app/app/views/admin/assets/_edit.html.erb +0 -26
  122. data/test/fixtures/rails_app/app/views/admin/assets/_index.html.erb +0 -3
  123. data/test/fixtures/rails_app/app/views/admin/cases/_index.html.erb +0 -3
  124. data/test/fixtures/rails_app/app/views/admin/categories/_index.html.erb +0 -3
  125. data/test/fixtures/rails_app/app/views/admin/dashboard/_sidebar.html.erb +0 -11
  126. data/test/fixtures/rails_app/app/views/admin/entries/_index.html.erb +0 -3
  127. data/test/fixtures/rails_app/app/views/admin/entry_bulks/_index.html.erb +0 -3
  128. data/test/fixtures/rails_app/app/views/admin/entry_trashes/_index.html.erb +0 -3
  129. data/test/fixtures/rails_app/app/views/admin/hits/_edit.html.erb +0 -7
  130. data/test/fixtures/rails_app/app/views/admin/hits/_index.html.erb +0 -3
  131. data/test/fixtures/rails_app/app/views/admin/hits/index.html.erb +0 -28
  132. data/test/fixtures/rails_app/app/views/admin/pages/_index.html.erb +0 -3
  133. data/test/fixtures/rails_app/app/views/admin/posts/_edit.html.erb +0 -1
  134. data/test/fixtures/rails_app/app/views/admin/posts/_index.html.erb +0 -5
  135. data/test/fixtures/rails_app/app/views/admin/posts/_new.html.erb +0 -1
  136. data/test/fixtures/rails_app/app/views/admin/posts/_show.html.erb +0 -1
  137. data/test/fixtures/rails_app/app/views/admin/resources/_sidebar.html.erb +0 -1
  138. data/test/fixtures/rails_app/app/views/admin/status/index.html.erb +0 -9
  139. data/test/fixtures/rails_app/app/views/admin/templates/_datepicker.html.erb +0 -6
  140. data/test/fixtures/rails_app/app/views/admin/watch_dog/index.html.erb +0 -9
  141. data/test/fixtures/rails_app/config.ru +0 -4
  142. data/test/fixtures/rails_app/config/application.rb +0 -55
  143. data/test/fixtures/rails_app/config/boot.rb +0 -6
  144. data/test/fixtures/rails_app/config/database.yml +0 -42
  145. data/test/fixtures/rails_app/config/deploy.rb +0 -36
  146. data/test/fixtures/rails_app/config/environment.rb +0 -5
  147. data/test/fixtures/rails_app/config/environments/development.rb +0 -38
  148. data/test/fixtures/rails_app/config/environments/production.rb +0 -57
  149. data/test/fixtures/rails_app/config/environments/test.rb +0 -44
  150. data/test/fixtures/rails_app/config/initializers/backtrace_silencers.rb +0 -7
  151. data/test/fixtures/rails_app/config/initializers/dragonfly.rb +0 -1
  152. data/test/fixtures/rails_app/config/initializers/inflections.rb +0 -11
  153. data/test/fixtures/rails_app/config/initializers/mime_types.rb +0 -5
  154. data/test/fixtures/rails_app/config/initializers/secret_token.rb +0 -7
  155. data/test/fixtures/rails_app/config/initializers/session_store.rb +0 -8
  156. data/test/fixtures/rails_app/config/initializers/wrap_parameters.rb +0 -12
  157. data/test/fixtures/rails_app/config/locales/en.yml +0 -5
  158. data/test/fixtures/rails_app/config/mongoid.yml +0 -20
  159. data/test/fixtures/rails_app/config/routes.rb +0 -61
  160. data/test/fixtures/rails_app/config/typus/README +0 -67
  161. data/test/fixtures/rails_app/config/typus/admin.yml +0 -16
  162. data/test/fixtures/rails_app/config/typus/admin_roles.yml +0 -3
  163. data/test/fixtures/rails_app/config/typus/crud_basic.yml +0 -10
  164. data/test/fixtures/rails_app/config/typus/crud_basic_roles.yml +0 -2
  165. data/test/fixtures/rails_app/config/typus/crud_extended.yml +0 -78
  166. data/test/fixtures/rails_app/config/typus/crud_extended_roles.yml +0 -17
  167. data/test/fixtures/rails_app/config/typus/extensions.yml +0 -29
  168. data/test/fixtures/rails_app/config/typus/extensions_roles.yml +0 -4
  169. data/test/fixtures/rails_app/config/typus/has_many.yml +0 -0
  170. data/test/fixtures/rails_app/config/typus/has_many_roles.yml +0 -0
  171. data/test/fixtures/rails_app/config/typus/has_many_through.yml +0 -23
  172. data/test/fixtures/rails_app/config/typus/has_many_through_roles.yml +0 -4
  173. data/test/fixtures/rails_app/config/typus/has_one.yml +0 -12
  174. data/test/fixtures/rails_app/config/typus/has_one_roles.yml +0 -3
  175. data/test/fixtures/rails_app/config/typus/mongo_db.yml +0 -4
  176. data/test/fixtures/rails_app/config/typus/mongo_db_roles.yml +0 -2
  177. data/test/fixtures/rails_app/config/typus/polymorphic.yml +0 -17
  178. data/test/fixtures/rails_app/config/typus/polymorphic_roles.yml +0 -5
  179. data/test/fixtures/rails_app/config/typus/resource_roles.yml +0 -7
  180. data/test/fixtures/rails_app/config/typus/unknown.yml +0 -3
  181. data/test/fixtures/rails_app/config/typus/unknown_roles.yml +0 -5
  182. data/test/fixtures/rails_app/db/.gitkeep +0 -0
  183. data/test/fixtures/rails_app/db/schema.rb +0 -210
  184. data/test/fixtures/rails_app/db/seeds.rb +0 -58
  185. data/test/fixtures/rails_app/db/seeds/assets/000.jpg +0 -0
  186. data/test/fixtures/rails_app/db/seeds/assets/001.jpg +0 -0
  187. data/test/fixtures/rails_app/db/seeds/assets/002.jpg +0 -0
  188. data/test/fixtures/rails_app/db/seeds/assets/003.jpg +0 -0
  189. data/test/fixtures/rails_app/db/seeds/assets/004.jpg +0 -0
  190. data/test/fixtures/rails_app/public/404.html +0 -26
  191. data/test/fixtures/rails_app/public/422.html +0 -26
  192. data/test/fixtures/rails_app/public/500.html +0 -26
  193. data/test/fixtures/rails_app/public/favicon.ico +0 -0
  194. data/test/fixtures/rails_app/public/images/rails.png +0 -0
  195. data/test/fixtures/rails_app/public/robots.txt +0 -5
  196. data/test/fixtures/rails_app/public/stylesheets/.gitkeep +0 -0
  197. data/test/fixtures/rails_app/public/vendor/ckeditor/.htaccess +0 -24
  198. data/test/fixtures/rails_app/public/vendor/ckeditor/CHANGES.html +0 -1295
  199. data/test/fixtures/rails_app/public/vendor/ckeditor/INSTALL.html +0 -92
  200. data/test/fixtures/rails_app/public/vendor/ckeditor/LICENSE.html +0 -1334
  201. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/application.xml +0 -32
  202. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/run.bat +0 -9
  203. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/run.sh +0 -8
  204. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/sample.html +0 -45
  205. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/ajax.html +0 -98
  206. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/api.html +0 -192
  207. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/api_dialog.html +0 -198
  208. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/api_dialog/my_dialog.js +0 -28
  209. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/advanced.asp +0 -105
  210. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/events.asp +0 -136
  211. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/index.html +0 -103
  212. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/replace.asp +0 -72
  213. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/replaceall.asp +0 -77
  214. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/sample_posteddata.asp +0 -46
  215. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/standalone.asp +0 -72
  216. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/_posteddata.php +0 -59
  217. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  218. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  219. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/output_xhtml.css +0 -204
  220. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/parsesample.css +0 -70
  221. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/swfobject.js +0 -18
  222. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/autogrow.html +0 -103
  223. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/bbcode.html +0 -136
  224. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/devtools.html +0 -94
  225. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/divreplace.html +0 -154
  226. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/enterkey.html +0 -115
  227. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/fullpage.html +0 -82
  228. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/index.html +0 -116
  229. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/jqueryadapter.html +0 -99
  230. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/output_for_flash.html +0 -275
  231. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/output_html.html +0 -285
  232. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/output_xhtml.html +0 -181
  233. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/advanced.php +0 -120
  234. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/events.php +0 -153
  235. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/index.html +0 -47
  236. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/replace.php +0 -87
  237. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/replaceall.php +0 -88
  238. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/standalone.php +0 -83
  239. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/placeholder.html +0 -81
  240. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/readonly.html +0 -91
  241. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/replacebyclass.html +0 -64
  242. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/replacebycode.html +0 -97
  243. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sample.css +0 -163
  244. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sample.js +0 -65
  245. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sample_posteddata.php +0 -21
  246. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sharedspaces.html +0 -153
  247. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/skins.html +0 -110
  248. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/stylesheetparser.html +0 -93
  249. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/tableresize.html +0 -115
  250. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/ui_color.html +0 -129
  251. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/ui_languages.html +0 -134
  252. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/adapters/jquery.js +0 -306
  253. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/_bootstrap.js +0 -87
  254. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ckeditor.js +0 -141
  255. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ckeditor_base.js +0 -227
  256. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ckeditor_basic.js +0 -238
  257. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/command.js +0 -209
  258. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/commanddefinition.js +0 -129
  259. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/config.js +0 -431
  260. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dataprocessor.js +0 -65
  261. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom.js +0 -20
  262. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/comment.js +0 -32
  263. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/document.js +0 -251
  264. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/documentfragment.js +0 -49
  265. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/domobject.js +0 -258
  266. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/element.js +0 -1663
  267. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/elementpath.js +0 -119
  268. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/event.js +0 -142
  269. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/node.js +0 -690
  270. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/nodelist.js +0 -26
  271. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/range.js +0 -2032
  272. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/rangelist.js +0 -213
  273. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/text.js +0 -128
  274. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/walker.js +0 -462
  275. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/window.js +0 -96
  276. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dtd.js +0 -237
  277. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/editor.js +0 -1041
  278. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/editor_basic.js +0 -186
  279. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/env.js +0 -282
  280. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/event.js +0 -342
  281. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/eventInfo.js +0 -120
  282. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/focusmanager.js +0 -152
  283. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser.js +0 -224
  284. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/basicwriter.js +0 -145
  285. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/cdata.js +0 -43
  286. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/comment.js +0 -60
  287. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/element.js +0 -249
  288. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/filter.js +0 -288
  289. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/fragment.js +0 -492
  290. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/text.js +0 -55
  291. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/lang.js +0 -157
  292. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/loader.js +0 -240
  293. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/plugindefinition.js +0 -83
  294. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/plugins.js +0 -103
  295. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/resourcemanager.js +0 -238
  296. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/scriptloader.js +0 -180
  297. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/skins.js +0 -184
  298. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/themes.js +0 -19
  299. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/tools.js +0 -734
  300. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ui.js +0 -128
  301. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/_languages.js +0 -84
  302. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/_translationstatus.txt +0 -61
  303. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/af.js +0 -810
  304. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ar.js +0 -810
  305. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/bg.js +0 -810
  306. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/bn.js +0 -810
  307. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/bs.js +0 -810
  308. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ca.js +0 -810
  309. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/cs.js +0 -810
  310. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/cy.js +0 -810
  311. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/da.js +0 -810
  312. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/de.js +0 -810
  313. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/el.js +0 -810
  314. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en-au.js +0 -810
  315. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en-ca.js +0 -810
  316. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en-gb.js +0 -810
  317. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en.js +0 -810
  318. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/eo.js +0 -810
  319. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/es.js +0 -810
  320. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/et.js +0 -810
  321. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/eu.js +0 -810
  322. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fa.js +0 -810
  323. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fi.js +0 -810
  324. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fo.js +0 -810
  325. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fr-ca.js +0 -810
  326. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fr.js +0 -810
  327. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/gl.js +0 -810
  328. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/gu.js +0 -810
  329. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/he.js +0 -810
  330. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/hi.js +0 -810
  331. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/hr.js +0 -810
  332. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/hu.js +0 -810
  333. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/is.js +0 -810
  334. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/it.js +0 -810
  335. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ja.js +0 -810
  336. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ka.js +0 -810
  337. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/km.js +0 -810
  338. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ko.js +0 -810
  339. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/lt.js +0 -810
  340. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/lv.js +0 -810
  341. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/mn.js +0 -810
  342. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ms.js +0 -810
  343. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/nb.js +0 -810
  344. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/nl.js +0 -810
  345. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/no.js +0 -810
  346. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/pl.js +0 -810
  347. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/pt-br.js +0 -809
  348. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/pt.js +0 -810
  349. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ro.js +0 -810
  350. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ru.js +0 -810
  351. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sk.js +0 -810
  352. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sl.js +0 -810
  353. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sr-latn.js +0 -810
  354. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sr.js +0 -810
  355. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sv.js +0 -809
  356. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/th.js +0 -810
  357. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/tr.js +0 -809
  358. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/uk.js +0 -810
  359. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/vi.js +0 -810
  360. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/zh-cn.js +0 -810
  361. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/zh.js +0 -810
  362. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +0 -222
  363. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/lang/en.js +0 -108
  364. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/lang/he.js +0 -216
  365. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/plugin.js +0 -47
  366. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/about/dialogs/about.js +0 -76
  367. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  368. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/about/plugin.js +0 -24
  369. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/adobeair/plugin.js +0 -228
  370. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/ajax/plugin.js +0 -152
  371. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/autogrow/plugin.js +0 -88
  372. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/basicstyles/plugin.js +0 -101
  373. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/bbcode/plugin.js +0 -924
  374. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/bidi/plugin.js +0 -331
  375. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/blockquote/plugin.js +0 -305
  376. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/button/plugin.js +0 -285
  377. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/clipboard/dialogs/paste.js +0 -223
  378. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/clipboard/plugin.js +0 -446
  379. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/colorbutton/plugin.js +0 -295
  380. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +0 -340
  381. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/colordialog/plugin.js +0 -15
  382. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/contextmenu/plugin.js +0 -177
  383. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/devtools/lang/en.js +0 -16
  384. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/devtools/plugin.js +0 -173
  385. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialog/dialogDefinition.js +0 -1099
  386. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialog/plugin.js +0 -3235
  387. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialogadvtab/plugin.js +0 -205
  388. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialogui/plugin.js +0 -1537
  389. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/div/dialogs/div.js +0 -535
  390. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/div/plugin.js +0 -121
  391. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/docprops/dialogs/docprops.js +0 -686
  392. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/docprops/plugin.js +0 -22
  393. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/domiterator/plugin.js +0 -361
  394. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/editingblock/plugin.js +0 -269
  395. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/elementspath/plugin.js +0 -218
  396. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/enterkey/plugin.js +0 -399
  397. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/entities/plugin.js +0 -250
  398. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/fakeobjects/plugin.js +0 -126
  399. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/filebrowser/plugin.js +0 -524
  400. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/find/dialogs/find.js +0 -895
  401. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/find/plugin.js +0 -47
  402. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/flash/dialogs/flash.js +0 -698
  403. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  404. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/flash/plugin.js +0 -168
  405. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/floatpanel/plugin.js +0 -405
  406. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/font/plugin.js +0 -234
  407. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/format/plugin.js +0 -197
  408. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/button.js +0 -118
  409. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/checkbox.js +0 -153
  410. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/form.js +0 -177
  411. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +0 -100
  412. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/radio.js +0 -135
  413. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/select.js +0 -562
  414. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/textarea.js +0 -114
  415. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/textfield.js +0 -199
  416. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  417. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/plugin.js +0 -288
  418. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/horizontalrule/plugin.js +0 -36
  419. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/htmldataprocessor/plugin.js +0 -595
  420. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/htmlwriter/plugin.js +0 -319
  421. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframe/dialogs/iframe.js +0 -257
  422. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframe/images/placeholder.png +0 -0
  423. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframe/plugin.js +0 -106
  424. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframedialog/plugin.js +0 -188
  425. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/image/dialogs/image.js +0 -1403
  426. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/image/plugin.js +0 -81
  427. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/indent/plugin.js +0 -461
  428. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/justify/plugin.js +0 -253
  429. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/keystrokes/plugin.js +0 -225
  430. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/dialogs/anchor.js +0 -144
  431. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/dialogs/link.js +0 -1400
  432. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  433. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/plugin.js +0 -336
  434. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/list/plugin.js +0 -727
  435. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/listblock/plugin.js +0 -257
  436. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +0 -204
  437. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/liststyle/plugin.js +0 -66
  438. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/maximize/plugin.js +0 -352
  439. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/menu/plugin.js +0 -505
  440. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/menubutton/plugin.js +0 -98
  441. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/newpage/plugin.js +0 -54
  442. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  443. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pagebreak/plugin.js +0 -164
  444. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/panel/plugin.js +0 -402
  445. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/panelbutton/plugin.js +0 -146
  446. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastefromword/filter/default.js +0 -1376
  447. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastefromword/plugin.js +0 -141
  448. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +0 -67
  449. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastetext/plugin.js +0 -98
  450. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +0 -71
  451. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/lang/en.js +0 -16
  452. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/lang/he.js +0 -16
  453. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/placeholder.gif +0 -0
  454. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/plugin.js +0 -171
  455. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/popup/plugin.js +0 -64
  456. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/preview/plugin.js +0 -109
  457. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/print/plugin.js +0 -42
  458. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/removeformat/plugin.js +0 -185
  459. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/resize/plugin.js +0 -168
  460. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/richcombo/plugin.js +0 -378
  461. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/save/plugin.js +0 -56
  462. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/scayt/dialogs/options.js +0 -537
  463. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +0 -71
  464. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/scayt/plugin.js +0 -964
  465. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/selection/plugin.js +0 -1563
  466. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  467. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  468. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  469. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  470. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  471. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  472. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  473. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  474. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  475. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  476. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  477. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/plugin.js +0 -160
  478. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showborders/plugin.js +0 -207
  479. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/dialogs/smiley.js +0 -224
  480. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  481. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  482. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  483. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  484. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  485. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  486. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  487. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  488. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  489. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  490. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  491. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  492. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  493. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  494. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  495. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  496. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  497. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  498. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  499. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  500. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  501. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/plugin.js +0 -94
  502. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/sourcearea/plugin.js +0 -209
  503. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +0 -350
  504. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/specialchar/lang/en.js +0 -89
  505. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/specialchar/plugin.js +0 -70
  506. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/styles/plugin.js +0 -1678
  507. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/styles/styles/default.js +0 -88
  508. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/stylescombo/plugin.js +0 -219
  509. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/stylesheetparser/plugin.js +0 -143
  510. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tab/plugin.js +0 -367
  511. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/table/dialogs/table.js +0 -672
  512. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/table/plugin.js +0 -78
  513. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tableresize/plugin.js +0 -450
  514. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +0 -525
  515. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tabletools/plugin.js +0 -1191
  516. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/dialogs/templates.js +0 -234
  517. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/plugin.js +0 -99
  518. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/default.js +0 -94
  519. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  520. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  521. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  522. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/toolbar/plugin.js +0 -545
  523. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +0 -205
  524. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/lang/en.js +0 -15
  525. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/lang/he.js +0 -15
  526. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/plugin.js +0 -37
  527. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  528. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  529. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  530. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  531. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  532. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +0 -15
  533. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/yui.js +0 -71
  534. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/undo/plugin.js +0 -580
  535. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +0 -49
  536. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  537. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/wsc.css +0 -82
  538. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/wsc.js +0 -192
  539. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/plugin.js +0 -33
  540. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wysiwygarea/plugin.js +0 -1351
  541. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/xml/plugin.js +0 -170
  542. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/dialog.css +0 -920
  543. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/editor.css +0 -25
  544. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/elementspath.css +0 -73
  545. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/icons.css +0 -366
  546. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/icons.png +0 -0
  547. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  548. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  549. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  550. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  551. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  552. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  553. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  554. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  555. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  556. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/mainui.css +0 -203
  557. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/menu.css +0 -232
  558. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/panel.css +0 -217
  559. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/presets.css +0 -49
  560. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/reset.css +0 -84
  561. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/richcombo.css +0 -287
  562. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/skin.js +0 -236
  563. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/templates.css +0 -88
  564. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/toolbar.css +0 -407
  565. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/dialog.css +0 -826
  566. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/editor.css +0 -25
  567. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/elementspath.css +0 -74
  568. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/icons.css +0 -363
  569. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/icons.png +0 -0
  570. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  571. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  572. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  573. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  574. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  575. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  576. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  577. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  578. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/mainui.css +0 -153
  579. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/menu.css +0 -229
  580. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/panel.css +0 -212
  581. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/presets.css +0 -49
  582. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/reset.css +0 -84
  583. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/richcombo.css +0 -309
  584. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/skin.js +0 -74
  585. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/templates.css +0 -87
  586. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/toolbar.css +0 -522
  587. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/dialog.css +0 -842
  588. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/editor.css +0 -25
  589. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/elementspath.css +0 -74
  590. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/icons.css +0 -363
  591. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/icons.png +0 -0
  592. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  593. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  594. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  595. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  596. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  597. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  598. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  599. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  600. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  601. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/mainui.css +0 -162
  602. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/menu.css +0 -232
  603. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/panel.css +0 -212
  604. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/presets.css +0 -50
  605. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/reset.css +0 -84
  606. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/richcombo.css +0 -302
  607. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/skin.js +0 -70
  608. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/templates.css +0 -87
  609. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/toolbar.css +0 -465
  610. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/themes/default/theme.js +0 -394
  611. data/test/fixtures/rails_app/public/vendor/ckeditor/adapters/jquery.js +0 -6
  612. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.asp +0 -955
  613. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.js +0 -145
  614. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.pack +0 -211
  615. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.php +0 -29
  616. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_basic.js +0 -8
  617. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_basic_source.js +0 -20
  618. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_php4.php +0 -566
  619. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_php5.php +0 -556
  620. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_source.js +0 -25
  621. data/test/fixtures/rails_app/public/vendor/ckeditor/config.js +0 -11
  622. data/test/fixtures/rails_app/public/vendor/ckeditor/contents.css +0 -23
  623. data/test/fixtures/rails_app/public/vendor/ckeditor/images/spacer.gif +0 -0
  624. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/_languages.js +0 -6
  625. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/_translationstatus.txt +0 -61
  626. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/af.js +0 -6
  627. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ar.js +0 -6
  628. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/bg.js +0 -6
  629. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/bn.js +0 -6
  630. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/bs.js +0 -6
  631. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ca.js +0 -6
  632. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/cs.js +0 -6
  633. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/cy.js +0 -6
  634. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/da.js +0 -6
  635. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/de.js +0 -6
  636. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/el.js +0 -6
  637. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en-au.js +0 -6
  638. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en-ca.js +0 -6
  639. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en-gb.js +0 -6
  640. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en.js +0 -6
  641. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/eo.js +0 -6
  642. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/es.js +0 -6
  643. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/et.js +0 -6
  644. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/eu.js +0 -6
  645. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fa.js +0 -6
  646. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fi.js +0 -6
  647. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fo.js +0 -6
  648. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fr-ca.js +0 -6
  649. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fr.js +0 -6
  650. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/gl.js +0 -6
  651. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/gu.js +0 -6
  652. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/he.js +0 -6
  653. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/hi.js +0 -6
  654. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/hr.js +0 -6
  655. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/hu.js +0 -6
  656. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/is.js +0 -6
  657. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/it.js +0 -6
  658. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ja.js +0 -6
  659. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ka.js +0 -6
  660. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/km.js +0 -6
  661. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ko.js +0 -6
  662. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/lt.js +0 -6
  663. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/lv.js +0 -6
  664. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/mn.js +0 -6
  665. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ms.js +0 -6
  666. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/nb.js +0 -6
  667. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/nl.js +0 -6
  668. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/no.js +0 -6
  669. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/pl.js +0 -6
  670. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/pt-br.js +0 -6
  671. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/pt.js +0 -6
  672. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ro.js +0 -6
  673. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ru.js +0 -6
  674. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sk.js +0 -6
  675. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sl.js +0 -6
  676. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sr-latn.js +0 -6
  677. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sr.js +0 -6
  678. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sv.js +0 -6
  679. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/th.js +0 -6
  680. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/tr.js +0 -6
  681. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/uk.js +0 -6
  682. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/vi.js +0 -6
  683. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/zh-cn.js +0 -6
  684. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/zh.js +0 -6
  685. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +0 -7
  686. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/a11yhelp/lang/en.js +0 -6
  687. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/a11yhelp/lang/he.js +0 -6
  688. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/about/dialogs/about.js +0 -6
  689. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  690. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/adobeair/plugin.js +0 -6
  691. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/ajax/plugin.js +0 -6
  692. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/autogrow/plugin.js +0 -6
  693. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/bbcode/plugin.js +0 -9
  694. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/clipboard/dialogs/paste.js +0 -7
  695. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/colordialog/dialogs/colordialog.js +0 -7
  696. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/devtools/lang/en.js +0 -6
  697. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/devtools/plugin.js +0 -6
  698. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/dialog/dialogDefinition.js +0 -4
  699. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/div/dialogs/div.js +0 -8
  700. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/docprops/dialogs/docprops.js +0 -10
  701. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/docprops/plugin.js +0 -6
  702. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/find/dialogs/find.js +0 -9
  703. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/flash/dialogs/flash.js +0 -9
  704. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/flash/images/placeholder.png +0 -0
  705. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/button.js +0 -6
  706. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/checkbox.js +0 -6
  707. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/form.js +0 -6
  708. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/hiddenfield.js +0 -6
  709. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/radio.js +0 -6
  710. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/select.js +0 -9
  711. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/textarea.js +0 -6
  712. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/textfield.js +0 -6
  713. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  714. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/iframe/dialogs/iframe.js +0 -7
  715. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  716. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/iframedialog/plugin.js +0 -6
  717. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/image/dialogs/image.js +0 -13
  718. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/link/dialogs/anchor.js +0 -6
  719. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/link/dialogs/link.js +0 -11
  720. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/link/images/anchor.gif +0 -0
  721. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/liststyle/dialogs/liststyle.js +0 -6
  722. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  723. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/pastefromword/filter/default.js +0 -11
  724. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/pastetext/dialogs/pastetext.js +0 -6
  725. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/dialogs/placeholder.js +0 -6
  726. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/lang/en.js +0 -6
  727. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/lang/he.js +0 -6
  728. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  729. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/plugin.js +0 -6
  730. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/scayt/dialogs/options.js +0 -8
  731. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/scayt/dialogs/toolbar.css +0 -6
  732. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  733. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  734. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  735. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  736. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  737. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  738. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  739. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  740. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  741. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  742. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  743. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/dialogs/smiley.js +0 -7
  744. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  745. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  746. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  747. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  748. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  749. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  750. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  751. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  752. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/heart.gif +0 -0
  753. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  754. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  755. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  756. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  757. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  758. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  759. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  760. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  761. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  762. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  763. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  764. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  765. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/specialchar/dialogs/specialchar.js +0 -7
  766. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/specialchar/lang/en.js +0 -6
  767. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/styles/styles/default.js +0 -6
  768. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/stylesheetparser/plugin.js +0 -6
  769. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/table/dialogs/table.js +0 -9
  770. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/tableresize/plugin.js +0 -7
  771. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/tabletools/dialogs/tableCell.js +0 -8
  772. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/dialogs/templates.js +0 -7
  773. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/default.js +0 -6
  774. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  775. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  776. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  777. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/dialogs/uicolor.js +0 -7
  778. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/lang/en.js +0 -6
  779. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/lang/he.js +0 -6
  780. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/plugin.js +0 -6
  781. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  782. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  783. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  784. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  785. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  786. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/yui.css +0 -6
  787. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/yui.js +0 -76
  788. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/ciframe.html +0 -49
  789. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +0 -52
  790. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/wsc.css +0 -6
  791. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/wsc.js +0 -7
  792. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/xml/plugin.js +0 -6
  793. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/dialog.css +0 -9
  794. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/editor.css +0 -13
  795. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/icons.png +0 -0
  796. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/icons_rtl.png +0 -0
  797. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  798. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  799. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  800. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/mini.gif +0 -0
  801. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/noimage.png +0 -0
  802. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/sprites.png +0 -0
  803. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  804. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  805. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/skin.js +0 -7
  806. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/templates.css +0 -6
  807. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/dialog.css +0 -9
  808. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/editor.css +0 -14
  809. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/icons.png +0 -0
  810. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/icons_rtl.png +0 -0
  811. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  812. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  813. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  814. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/mini.gif +0 -0
  815. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/noimage.png +0 -0
  816. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/sprites.png +0 -0
  817. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  818. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/skin.js +0 -6
  819. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/templates.css +0 -6
  820. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/dialog.css +0 -9
  821. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/editor.css +0 -13
  822. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/icons.png +0 -0
  823. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/icons_rtl.png +0 -0
  824. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  825. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  826. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  827. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/mini.gif +0 -0
  828. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/noimage.png +0 -0
  829. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/sprites.png +0 -0
  830. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  831. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  832. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/skin.js +0 -6
  833. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/templates.css +0 -6
  834. data/test/fixtures/rails_app/public/vendor/ckeditor/themes/default/theme.js +0 -8
  835. data/test/fixtures/rails_app/script/rails +0 -6
  836. data/test/lib/support/active_record_test.rb +0 -77
  837. data/test/lib/support/fake_user_test.rb +0 -63
  838. data/test/lib/support/hash_test.rb +0 -25
  839. data/test/lib/support/object_test.rb +0 -10
  840. data/test/lib/support/string_test.rb +0 -80
  841. data/test/lib/typus/configuration_test.rb +0 -48
  842. data/test/lib/typus/controller/actions_test.rb +0 -141
  843. data/test/lib/typus/controller/associations_test.rb +0 -7
  844. data/test/lib/typus/controller/autocomplete_test.rb +0 -7
  845. data/test/lib/typus/controller/filters_test.rb +0 -73
  846. data/test/lib/typus/controller/format_test.rb +0 -7
  847. data/test/lib/typus/i18n_test.rb +0 -13
  848. data/test/lib/typus/orm/active_record/class_methods_test.rb +0 -298
  849. data/test/lib/typus/orm/active_record/search_test.rb +0 -328
  850. data/test/lib/typus/regex_test.rb +0 -62
  851. data/test/lib/typus/resources_test.rb +0 -37
  852. data/test/lib/typus_test.rb +0 -133
  853. data/test/test_helper.rb +0 -46
@@ -1,89 +0,0 @@
1
- 
2
- CKEDITOR.plugins.setLang( 'specialchar', 'en',
3
- {
4
- euro: "Euro sign",
5
- lsquo: "Left single quotation mark",
6
- rsquo: "Right single quotation mark",
7
- ldquo: "Left double quotation mark",
8
- rdquo: "Right double quotation mark",
9
- ndash: "En dash",
10
- mdash: "Em dash",
11
- iexcl: "Inverted exclamation mark",
12
- cent: "Cent sign",
13
- pound: "Pound sign",
14
- curren: "Currency sign",
15
- yen: "Yen sign",
16
- brvbar: "Broken bar",
17
- sect: "Section sign",
18
- uml: "Diaeresis",
19
- copy: "Copyright sign",
20
- ordf: "Feminine ordinal indicator",
21
- laquo: "Left-pointing double angle quotation mark",
22
- not: "Not sign",
23
- reg: "Registered sign",
24
- macr: "Macron",
25
- deg: "Degree sign",
26
- sup2: "Superscript two",
27
- sup3: "Superscript three",
28
- acute: "Acute accent",
29
- micro: "Micro sign",
30
- para: "Pilcrow sign",
31
- middot: "Middle dot",
32
- cedil: "Cedilla",
33
- sup1: "Superscript one",
34
- ordm: "Masculine ordinal indicator",
35
- frac14: "Vulgar fraction one quarter",
36
- frac12: "Vulgar fraction one half",
37
- frac34: "Vulgar fraction three quarters",
38
- iquest: "Inverted question mark",
39
- agrave: "Latin small letter a with grave",
40
- aacute: "Latin small letter a with acute",
41
- acirc: "Latin small letter a with circumflex",
42
- atilde: "Latin small letter a with tilde",
43
- auml: "Latin small letter a with diaeresis",
44
- aring: "Latin small letter a with ring above",
45
- aelig: "Latin small letter ae",
46
- ccedil: "Latin small letter c with cedilla",
47
- egrave: "Latin small letter e with grave",
48
- eacute: "Latin small letter e with acute",
49
- ecirc: "Latin small letter e with circumflex",
50
- euml: "Latin small letter e with diaeresis",
51
- igrave: "Latin small letter i with grave",
52
- iacute: "Latin small letter i with acute",
53
- icirc: "Latin small letter i with circumflex",
54
- iuml: "Latin small letter i with diaeresis",
55
- eth: "Latin small letter eth",
56
- ntilde: "Latin small letter n with tilde",
57
- ograve: "Latin small letter o with grave",
58
- oacute: "Latin small letter o with acute",
59
- ocirc: "Latin small letter o with circumflex",
60
- otilde: "Latin small letter o with tilde",
61
- ouml: "Latin small letter o with diaeresis",
62
- times: "Multiplication sign",
63
- oslash: "Latin small letter o with stroke",
64
- ugrave: "Latin small letter u with grave",
65
- uacute: "Latin small letter u with acute",
66
- ucirc: "Latin small letter u with circumflex",
67
- uuml: "Latin small letter u with diaeresis",
68
- yacute: "Latin small letter y with acute",
69
- thorn: "Latin small letter thorn",
70
- szlig: "Latin small letter sharp s",
71
- divide: "Division sign",
72
- yuml: "Latin small letter y with diaeresis",
73
- oelig: "Latin small ligature oe",
74
- '372': "Latin capital letter w with circumflex",
75
- '374': "Latin capital letter y with circumflex",
76
- '373': "Latin small letter w with circumflex",
77
- '375': "Latin small letter y with circumflex",
78
- 8219: "Single high-reversed-9 quotation mark",
79
- bdquo: "Double low-9 quotation mark",
80
- hellip: "Horizontal ellipsis",
81
- trade: "Trade mark sign",
82
- '9658': "Black right-pointing pointer",
83
- bull: "Bullet",
84
- rarr: "Rightwards double arrow",
85
- harr: "Left right double arrow",
86
- diams: "Black diamond suit",
87
- asymp: "Almost equal to",
88
- sbquo: "Single low-9 quotation mark"
89
- });
@@ -1,70 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- /**
7
- * @file Special Character plugin
8
- */
9
-
10
- CKEDITOR.plugins.add( 'specialchar',
11
- {
12
- // List of available localizations.
13
- availableLangs : { en:1 },
14
-
15
- init : function( editor )
16
- {
17
- var pluginName = 'specialchar',
18
- plugin = this;
19
-
20
- // Register the dialog.
21
- CKEDITOR.dialog.add( pluginName, this.path + 'dialogs/specialchar.js' );
22
-
23
- editor.addCommand( pluginName,
24
- {
25
- exec : function()
26
- {
27
- var langCode = editor.langCode;
28
- langCode = plugin.availableLangs[ langCode ] ? langCode : 'en';
29
-
30
- CKEDITOR.scriptLoader.load(
31
- CKEDITOR.getUrl( plugin.path + 'lang/' + langCode + '.js' ),
32
- function()
33
- {
34
- CKEDITOR.tools.extend( editor.lang.specialChar, plugin.langEntries[ langCode ] );
35
- editor.openDialog( pluginName );
36
- });
37
- },
38
- modes : { wysiwyg:1 },
39
- canUndo : false
40
- });
41
-
42
- // Register the toolbar button.
43
- editor.ui.addButton( 'SpecialChar',
44
- {
45
- label : editor.lang.specialChar.toolbar,
46
- command : pluginName
47
- });
48
- }
49
- } );
50
-
51
- /**
52
- * The list of special characters visible in Special Character dialog.
53
- * @type Array
54
- * @example
55
- * config.specialChars = [ '"', '’', [ '&custom;', 'Custom label' ] ];
56
- * config.specialChars = config.specialChars.concat( [ '"', [ '’', 'Custom label' ] ] );
57
- */
58
- CKEDITOR.config.specialChars =
59
- [
60
- '!','"','#','$','%','&',"'",'(',')','*','+','-','.','/',
61
- '0','1','2','3','4','5','6','7','8','9',':',';',
62
- '<','=','>','?','@',
63
- 'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O',
64
- 'P','Q','R','S','T','U','V','W','X','Y','Z',
65
- '[',']','^','_','`',
66
- 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p',
67
- 'q','r','s','t','u','v','w','x','y','z',
68
- '{','|','}','~',
69
- "€", "‘", "’", "“", "”", "–", "—", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª", "«", "¬", "®", "¯", "°", "&", "²", "³", "´", "µ", "¶", "·", "¸", "¹", "º", "&", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä", "Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ", "Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ", "ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë", "ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø", "ù", "ú", "û", "ü", "ü", "ý", "þ", "ÿ", "Œ", "œ", "Ŵ", "&#374", "&#373", "ŷ", "‚", "‛", "„", "…", "™", "►", "•", "→", "⇒", "⇔", "♦", "≈"
70
- ];
@@ -1,1678 +0,0 @@
1
- /*
2
- Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
3
- For licensing, see LICENSE.html or http://ckeditor.com/license
4
- */
5
-
6
- CKEDITOR.plugins.add( 'styles',
7
- {
8
- requires : [ 'selection' ],
9
- init : function( editor )
10
- {
11
- // This doesn't look like correct, but it's the safest way to proper
12
- // pass the disableReadonlyStyling configuration to the style system
13
- // without having to change any method signature in the API. (#6103)
14
- editor.on( 'contentDom', function()
15
- {
16
- editor.document.setCustomData( 'cke_includeReadonly', !editor.config.disableReadonlyStyling );
17
- });
18
- }
19
- });
20
-
21
- /**
22
- * Registers a function to be called whenever the selection position changes in the
23
- * editing area. The current state is passed to the function. The possible
24
- * states are {@link CKEDITOR.TRISTATE_ON} and {@link CKEDITOR.TRISTATE_OFF}.
25
- * @param {CKEDITOR.style} style The style to be watched.
26
- * @param {Function} callback The function to be called.
27
- * @example
28
- * // Create a style object for the <b> element.
29
- * var style = new CKEDITOR.style( { element : 'b' } );
30
- * var editor = CKEDITOR.instances.editor1;
31
- * editor.attachStyleStateChange( style, function( state )
32
- * {
33
- * if ( state == CKEDITOR.TRISTATE_ON )
34
- * alert( 'The current state for the B element is ON' );
35
- * else
36
- * alert( 'The current state for the B element is OFF' );
37
- * });
38
- */
39
- CKEDITOR.editor.prototype.attachStyleStateChange = function( style, callback )
40
- {
41
- // Try to get the list of attached callbacks.
42
- var styleStateChangeCallbacks = this._.styleStateChangeCallbacks;
43
-
44
- // If it doesn't exist, it means this is the first call. So, let's create
45
- // all the structure to manage the style checks and the callback calls.
46
- if ( !styleStateChangeCallbacks )
47
- {
48
- // Create the callbacks array.
49
- styleStateChangeCallbacks = this._.styleStateChangeCallbacks = [];
50
-
51
- // Attach to the selectionChange event, so we can check the styles at
52
- // that point.
53
- this.on( 'selectionChange', function( ev )
54
- {
55
- // Loop throw all registered callbacks.
56
- for ( var i = 0 ; i < styleStateChangeCallbacks.length ; i++ )
57
- {
58
- var callback = styleStateChangeCallbacks[ i ];
59
-
60
- // Check the current state for the style defined for that
61
- // callback.
62
- var currentState = callback.style.checkActive( ev.data.path ) ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF;
63
-
64
- // Call the callback function, passing the current
65
- // state to it.
66
- callback.fn.call( this, currentState );
67
- }
68
- });
69
- }
70
-
71
- // Save the callback info, so it can be checked on the next occurrence of
72
- // selectionChange.
73
- styleStateChangeCallbacks.push( { style : style, fn : callback } );
74
- };
75
-
76
- CKEDITOR.STYLE_BLOCK = 1;
77
- CKEDITOR.STYLE_INLINE = 2;
78
- CKEDITOR.STYLE_OBJECT = 3;
79
-
80
- (function()
81
- {
82
- var blockElements = { address:1,div:1,h1:1,h2:1,h3:1,h4:1,h5:1,h6:1,p:1,pre:1 },
83
- objectElements = { a:1,embed:1,hr:1,img:1,li:1,object:1,ol:1,table:1,td:1,tr:1,th:1,ul:1,dl:1,dt:1,dd:1,form:1};
84
-
85
- var semicolonFixRegex = /\s*(?:;\s*|$)/,
86
- varRegex = /#\((.+?)\)/g;
87
-
88
- var notBookmark = CKEDITOR.dom.walker.bookmark( 0, 1 ),
89
- nonWhitespaces = CKEDITOR.dom.walker.whitespaces( 1 );
90
-
91
- CKEDITOR.style = function( styleDefinition, variablesValues )
92
- {
93
- if ( variablesValues )
94
- {
95
- styleDefinition = CKEDITOR.tools.clone( styleDefinition );
96
-
97
- replaceVariables( styleDefinition.attributes, variablesValues );
98
- replaceVariables( styleDefinition.styles, variablesValues );
99
- }
100
-
101
- var element = this.element = ( styleDefinition.element || '*' ).toLowerCase();
102
-
103
- this.type =
104
- blockElements[ element ] ?
105
- CKEDITOR.STYLE_BLOCK
106
- : objectElements[ element ] ?
107
- CKEDITOR.STYLE_OBJECT
108
- :
109
- CKEDITOR.STYLE_INLINE;
110
-
111
- this._ =
112
- {
113
- definition : styleDefinition
114
- };
115
- };
116
-
117
- CKEDITOR.style.prototype =
118
- {
119
- apply : function( document )
120
- {
121
- applyStyle.call( this, document, false );
122
- },
123
-
124
- remove : function( document )
125
- {
126
- applyStyle.call( this, document, true );
127
- },
128
-
129
- applyToRange : function( range )
130
- {
131
- return ( this.applyToRange =
132
- this.type == CKEDITOR.STYLE_INLINE ?
133
- applyInlineStyle
134
- : this.type == CKEDITOR.STYLE_BLOCK ?
135
- applyBlockStyle
136
- : this.type == CKEDITOR.STYLE_OBJECT ?
137
- applyObjectStyle
138
- : null ).call( this, range );
139
- },
140
-
141
- removeFromRange : function( range )
142
- {
143
- return ( this.removeFromRange =
144
- this.type == CKEDITOR.STYLE_INLINE ?
145
- removeInlineStyle
146
- : this.type == CKEDITOR.STYLE_BLOCK ?
147
- removeBlockStyle
148
- : this.type == CKEDITOR.STYLE_OBJECT ?
149
- removeObjectStyle
150
- : null ).call( this, range );
151
- },
152
-
153
- applyToObject : function( element )
154
- {
155
- setupElement( element, this );
156
- },
157
-
158
- /**
159
- * Get the style state inside an element path. Returns "true" if the
160
- * element is active in the path.
161
- */
162
- checkActive : function( elementPath )
163
- {
164
- switch ( this.type )
165
- {
166
- case CKEDITOR.STYLE_BLOCK :
167
- return this.checkElementRemovable( elementPath.block || elementPath.blockLimit, true );
168
-
169
- case CKEDITOR.STYLE_OBJECT :
170
- case CKEDITOR.STYLE_INLINE :
171
-
172
- var elements = elementPath.elements;
173
-
174
- for ( var i = 0, element ; i < elements.length ; i++ )
175
- {
176
- element = elements[ i ];
177
-
178
- if ( this.type == CKEDITOR.STYLE_INLINE
179
- && ( element == elementPath.block || element == elementPath.blockLimit ) )
180
- continue;
181
-
182
- if( this.type == CKEDITOR.STYLE_OBJECT
183
- && !( element.getName() in objectElements ) )
184
- continue;
185
-
186
- if ( this.checkElementRemovable( element, true ) )
187
- return true;
188
- }
189
- }
190
- return false;
191
- },
192
-
193
- /**
194
- * Whether this style can be applied at the element path.
195
- * @param elementPath
196
- */
197
- checkApplicable : function( elementPath )
198
- {
199
- switch ( this.type )
200
- {
201
- case CKEDITOR.STYLE_INLINE :
202
- case CKEDITOR.STYLE_BLOCK :
203
- break;
204
-
205
- case CKEDITOR.STYLE_OBJECT :
206
- return elementPath.lastElement.getAscendant( this.element, true );
207
- }
208
-
209
- return true;
210
- },
211
-
212
- // Checks if an element, or any of its attributes, is removable by the
213
- // current style definition.
214
- checkElementRemovable : function( element, fullMatch )
215
- {
216
- if ( !element || element.isReadOnly() )
217
- return false;
218
-
219
- var def = this._.definition,
220
- attribs;
221
-
222
- // If the element name is the same as the style name.
223
- if ( element.getName() == this.element )
224
- {
225
- // If no attributes are defined in the element.
226
- if ( !fullMatch && !element.hasAttributes() )
227
- return true;
228
-
229
- attribs = getAttributesForComparison( def );
230
-
231
- if ( attribs._length )
232
- {
233
- for ( var attName in attribs )
234
- {
235
- if ( attName == '_length' )
236
- continue;
237
-
238
- var elementAttr = element.getAttribute( attName ) || '';
239
-
240
- // Special treatment for 'style' attribute is required.
241
- if ( attName == 'style' ?
242
- compareCssText( attribs[ attName ], normalizeCssText( elementAttr, false ) )
243
- : attribs[ attName ] == elementAttr )
244
- {
245
- if ( !fullMatch )
246
- return true;
247
- }
248
- else if ( fullMatch )
249
- return false;
250
- }
251
- if ( fullMatch )
252
- return true;
253
- }
254
- else
255
- return true;
256
- }
257
-
258
- // Check if the element can be somehow overriden.
259
- var override = getOverrides( this )[ element.getName() ] ;
260
- if ( override )
261
- {
262
- // If no attributes have been defined, remove the element.
263
- if ( !( attribs = override.attributes ) )
264
- return true;
265
-
266
- for ( var i = 0 ; i < attribs.length ; i++ )
267
- {
268
- attName = attribs[i][0];
269
- var actualAttrValue = element.getAttribute( attName );
270
- if ( actualAttrValue )
271
- {
272
- var attValue = attribs[i][1];
273
-
274
- // Remove the attribute if:
275
- // - The override definition value is null;
276
- // - The override definition value is a string that
277
- // matches the attribute value exactly.
278
- // - The override definition value is a regex that
279
- // has matches in the attribute value.
280
- if ( attValue === null ||
281
- ( typeof attValue == 'string' && actualAttrValue == attValue ) ||
282
- attValue.test( actualAttrValue ) )
283
- return true;
284
- }
285
- }
286
- }
287
- return false;
288
- },
289
-
290
- // Builds the preview HTML based on the styles definition.
291
- buildPreview : function( label )
292
- {
293
- var styleDefinition = this._.definition,
294
- html = [],
295
- elementName = styleDefinition.element;
296
-
297
- // Avoid <bdo> in the preview.
298
- if ( elementName == 'bdo' )
299
- elementName = 'span';
300
-
301
- html = [ '<', elementName ];
302
-
303
- // Assign all defined attributes.
304
- var attribs = styleDefinition.attributes;
305
- if ( attribs )
306
- {
307
- for ( var att in attribs )
308
- {
309
- html.push( ' ', att, '="', attribs[ att ], '"' );
310
- }
311
- }
312
-
313
- // Assign the style attribute.
314
- var cssStyle = CKEDITOR.style.getStyleText( styleDefinition );
315
- if ( cssStyle )
316
- html.push( ' style="', cssStyle, '"' );
317
-
318
- html.push( '>', ( label || styleDefinition.name ), '</', elementName, '>' );
319
-
320
- return html.join( '' );
321
- }
322
- };
323
-
324
- // Build the cssText based on the styles definition.
325
- CKEDITOR.style.getStyleText = function( styleDefinition )
326
- {
327
- // If we have already computed it, just return it.
328
- var stylesDef = styleDefinition._ST;
329
- if ( stylesDef )
330
- return stylesDef;
331
-
332
- stylesDef = styleDefinition.styles;
333
-
334
- // Builds the StyleText.
335
- var stylesText = ( styleDefinition.attributes && styleDefinition.attributes[ 'style' ] ) || '',
336
- specialStylesText = '';
337
-
338
- if ( stylesText.length )
339
- stylesText = stylesText.replace( semicolonFixRegex, ';' );
340
-
341
- for ( var style in stylesDef )
342
- {
343
- var styleVal = stylesDef[ style ],
344
- text = ( style + ':' + styleVal ).replace( semicolonFixRegex, ';' );
345
-
346
- // Some browsers don't support 'inherit' property value, leave them intact. (#5242)
347
- if ( styleVal == 'inherit' )
348
- specialStylesText += text;
349
- else
350
- stylesText += text;
351
- }
352
-
353
- // Browsers make some changes to the style when applying them. So, here
354
- // we normalize it to the browser format.
355
- if ( stylesText.length )
356
- stylesText = normalizeCssText( stylesText );
357
-
358
- stylesText += specialStylesText;
359
-
360
- // Return it, saving it to the next request.
361
- return ( styleDefinition._ST = stylesText );
362
- };
363
-
364
- // Gets the parent element which blocks the styling for an element. This
365
- // can be done through read-only elements (contenteditable=false) or
366
- // elements with the "data-nostyle" attribute.
367
- function getUnstylableParent( element )
368
- {
369
- var unstylable,
370
- editable;
371
-
372
- while ( ( element = element.getParent() ) )
373
- {
374
- if ( element.getName() == 'body' )
375
- break;
376
-
377
- if ( element.getAttribute( 'data-nostyle' ) )
378
- unstylable = element;
379
- else if ( !editable )
380
- {
381
- var contentEditable = element.getAttribute( 'contentEditable' );
382
-
383
- if ( contentEditable == 'false' )
384
- unstylable = element;
385
- else if ( contentEditable == 'true' )
386
- editable = 1;
387
- }
388
- }
389
-
390
- return unstylable;
391
- }
392
-
393
- function applyInlineStyle( range )
394
- {
395
- var document = range.document;
396
-
397
- if ( range.collapsed )
398
- {
399
- // Create the element to be inserted in the DOM.
400
- var collapsedElement = getElement( this, document );
401
-
402
- // Insert the empty element into the DOM at the range position.
403
- range.insertNode( collapsedElement );
404
-
405
- // Place the selection right inside the empty element.
406
- range.moveToPosition( collapsedElement, CKEDITOR.POSITION_BEFORE_END );
407
-
408
- return;
409
- }
410
-
411
- var elementName = this.element;
412
- var def = this._.definition;
413
- var isUnknownElement;
414
-
415
- // Indicates that fully selected read-only elements are to be included in the styling range.
416
- var includeReadonly = def.includeReadonly;
417
-
418
- // If the read-only inclusion is not available in the definition, try
419
- // to get it from the document data.
420
- if ( includeReadonly == undefined )
421
- includeReadonly = document.getCustomData( 'cke_includeReadonly' );
422
-
423
- // Get the DTD definition for the element. Defaults to "span".
424
- var dtd = CKEDITOR.dtd[ elementName ] || ( isUnknownElement = true, CKEDITOR.dtd.span );
425
-
426
- // Expand the range.
427
- range.enlarge( CKEDITOR.ENLARGE_ELEMENT, 1 );
428
- range.trim();
429
-
430
- // Get the first node to be processed and the last, which concludes the
431
- // processing.
432
- var boundaryNodes = range.createBookmark(),
433
- firstNode = boundaryNodes.startNode,
434
- lastNode = boundaryNodes.endNode;
435
-
436
- var currentNode = firstNode;
437
-
438
- var styleRange;
439
-
440
- // Check if the boundaries are inside non stylable elements.
441
- var firstUnstylable = getUnstylableParent( firstNode ),
442
- lastUnstylable = getUnstylableParent( lastNode );
443
-
444
- // If the first element can't be styled, we'll start processing right
445
- // after its unstylable root.
446
- if ( firstUnstylable )
447
- currentNode = firstUnstylable.getNextSourceNode( true );
448
-
449
- // If the last element can't be styled, we'll stop processing on its
450
- // unstylable root.
451
- if ( lastUnstylable )
452
- lastNode = lastUnstylable;
453
-
454
- // Do nothing if the current node now follows the last node to be processed.
455
- if ( currentNode.getPosition( lastNode ) == CKEDITOR.POSITION_FOLLOWING )
456
- currentNode = 0;
457
-
458
- while ( currentNode )
459
- {
460
- var applyStyle = false;
461
-
462
- if ( currentNode.equals( lastNode ) )
463
- {
464
- currentNode = null;
465
- applyStyle = true;
466
- }
467
- else
468
- {
469
- var nodeType = currentNode.type;
470
- var nodeName = nodeType == CKEDITOR.NODE_ELEMENT ? currentNode.getName() : null;
471
- var nodeIsReadonly = nodeName && ( currentNode.getAttribute( 'contentEditable' ) == 'false' );
472
- var nodeIsNoStyle = nodeName && currentNode.getAttribute( 'data-nostyle' );
473
-
474
- if ( nodeName && currentNode.data( 'cke-bookmark' ) )
475
- {
476
- currentNode = currentNode.getNextSourceNode( true );
477
- continue;
478
- }
479
-
480
- // Check if the current node can be a child of the style element.
481
- if ( !nodeName || ( dtd[ nodeName ]
482
- && !nodeIsNoStyle
483
- && ( !nodeIsReadonly || includeReadonly )
484
- && ( currentNode.getPosition( lastNode ) | CKEDITOR.POSITION_PRECEDING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED )
485
- && ( !def.childRule || def.childRule( currentNode ) ) ) )
486
- {
487
- var currentParent = currentNode.getParent();
488
-
489
- // Check if the style element can be a child of the current
490
- // node parent or if the element is not defined in the DTD.
491
- if ( currentParent
492
- && ( ( currentParent.getDtd() || CKEDITOR.dtd.span )[ elementName ] || isUnknownElement )
493
- && ( !def.parentRule || def.parentRule( currentParent ) ) )
494
- {
495
- // This node will be part of our range, so if it has not
496
- // been started, place its start right before the node.
497
- // In the case of an element node, it will be included
498
- // only if it is entirely inside the range.
499
- if ( !styleRange && ( !nodeName || !CKEDITOR.dtd.$removeEmpty[ nodeName ] || ( currentNode.getPosition( lastNode ) | CKEDITOR.POSITION_PRECEDING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_PRECEDING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED ) ) )
500
- {
501
- styleRange = new CKEDITOR.dom.range( document );
502
- styleRange.setStartBefore( currentNode );
503
- }
504
-
505
- // Non element nodes, readonly elements, or empty
506
- // elements can be added completely to the range.
507
- if ( nodeType == CKEDITOR.NODE_TEXT || nodeIsReadonly || ( nodeType == CKEDITOR.NODE_ELEMENT && !currentNode.getChildCount() ) )
508
- {
509
- var includedNode = currentNode;
510
- var parentNode;
511
-
512
- // This node is about to be included completelly, but,
513
- // if this is the last node in its parent, we must also
514
- // check if the parent itself can be added completelly
515
- // to the range, otherwise apply the style immediately.
516
- while ( ( applyStyle = !includedNode.getNext( notBookmark ) )
517
- && ( parentNode = includedNode.getParent(), dtd[ parentNode.getName() ] )
518
- && ( parentNode.getPosition( firstNode ) | CKEDITOR.POSITION_FOLLOWING | CKEDITOR.POSITION_IDENTICAL | CKEDITOR.POSITION_IS_CONTAINED ) == ( CKEDITOR.POSITION_FOLLOWING + CKEDITOR.POSITION_IDENTICAL + CKEDITOR.POSITION_IS_CONTAINED )
519
- && ( !def.childRule || def.childRule( parentNode ) ) )
520
- {
521
- includedNode = parentNode;
522
- }
523
-
524
- styleRange.setEndAfter( includedNode );
525
-
526
- }
527
- }
528
- else
529
- applyStyle = true;
530
- }
531
- else
532
- applyStyle = true;
533
-
534
- // Get the next node to be processed.
535
- currentNode = currentNode.getNextSourceNode( nodeIsNoStyle || nodeIsReadonly );
536
- }
537
-
538
- // Apply the style if we have something to which apply it.
539
- if ( applyStyle && styleRange && !styleRange.collapsed )
540
- {
541
- // Build the style element, based on the style object definition.
542
- var styleNode = getElement( this, document ),
543
- styleHasAttrs = styleNode.hasAttributes();
544
-
545
- // Get the element that holds the entire range.
546
- var parent = styleRange.getCommonAncestor();
547
-
548
- var removeList = {
549
- styles : {},
550
- attrs : {},
551
- // Styles cannot be removed.
552
- blockedStyles : {},
553
- // Attrs cannot be removed.
554
- blockedAttrs : {}
555
- };
556
-
557
- var attName, styleName, value;
558
-
559
- // Loop through the parents, removing the redundant attributes
560
- // from the element to be applied.
561
- while ( styleNode && parent )
562
- {
563
- if ( parent.getName() == elementName )
564
- {
565
- for ( attName in def.attributes )
566
- {
567
- if ( removeList.blockedAttrs[ attName ] || !( value = parent.getAttribute( styleName ) ) )
568
- continue;
569
-
570
- if ( styleNode.getAttribute( attName ) == value )
571
- removeList.attrs[ attName ] = 1;
572
- else
573
- removeList.blockedAttrs[ attName ] = 1;
574
- }
575
-
576
- for ( styleName in def.styles )
577
- {
578
- if ( removeList.blockedStyles[ styleName ] || !( value = parent.getStyle( styleName ) ) )
579
- continue;
580
-
581
- if ( styleNode.getStyle( styleName ) == value )
582
- removeList.styles[ styleName ] = 1;
583
- else
584
- removeList.blockedStyles[ styleName ] = 1;
585
- }
586
- }
587
-
588
- parent = parent.getParent();
589
- }
590
-
591
- for ( attName in removeList.attrs )
592
- styleNode.removeAttribute( attName );
593
-
594
- for ( styleName in removeList.styles )
595
- styleNode.removeStyle( styleName );
596
-
597
- if ( styleHasAttrs && !styleNode.hasAttributes() )
598
- styleNode = null;
599
-
600
- if ( styleNode )
601
- {
602
- // Move the contents of the range to the style element.
603
- styleRange.extractContents().appendTo( styleNode );
604
-
605
- // Here we do some cleanup, removing all duplicated
606
- // elements from the style element.
607
- removeFromInsideElement( this, styleNode );
608
-
609
- // Insert it into the range position (it is collapsed after
610
- // extractContents.
611
- styleRange.insertNode( styleNode );
612
-
613
- // Let's merge our new style with its neighbors, if possible.
614
- styleNode.mergeSiblings();
615
-
616
- // As the style system breaks text nodes constantly, let's normalize
617
- // things for performance.
618
- // With IE, some paragraphs get broken when calling normalize()
619
- // repeatedly. Also, for IE, we must normalize body, not documentElement.
620
- // IE is also known for having a "crash effect" with normalize().
621
- // We should try to normalize with IE too in some way, somewhere.
622
- if ( !CKEDITOR.env.ie )
623
- styleNode.$.normalize();
624
- }
625
- // Style already inherit from parents, left just to clear up any internal overrides. (#5931)
626
- else
627
- {
628
- styleNode = new CKEDITOR.dom.element( 'span' );
629
- styleRange.extractContents().appendTo( styleNode );
630
- styleRange.insertNode( styleNode );
631
- removeFromInsideElement( this, styleNode );
632
- styleNode.remove( true );
633
- }
634
-
635
- // Style applied, let's release the range, so it gets
636
- // re-initialization in the next loop.
637
- styleRange = null;
638
- }
639
- }
640
-
641
- // Remove the bookmark nodes.
642
- range.moveToBookmark( boundaryNodes );
643
-
644
- // Minimize the result range to exclude empty text nodes. (#5374)
645
- range.shrink( CKEDITOR.SHRINK_TEXT );
646
- }
647
-
648
- function removeInlineStyle( range )
649
- {
650
- /*
651
- * Make sure our range has included all "collpased" parent inline nodes so
652
- * that our operation logic can be simpler.
653
- */
654
- range.enlarge( CKEDITOR.ENLARGE_ELEMENT, 1 );
655
-
656
- var bookmark = range.createBookmark(),
657
- startNode = bookmark.startNode;
658
-
659
- if ( range.collapsed )
660
- {
661
-
662
- var startPath = new CKEDITOR.dom.elementPath( startNode.getParent() ),
663
- // The topmost element in elementspatch which we should jump out of.
664
- boundaryElement;
665
-
666
-
667
- for ( var i = 0, element ; i < startPath.elements.length
668
- && ( element = startPath.elements[i] ) ; i++ )
669
- {
670
- /*
671
- * 1. If it's collaped inside text nodes, try to remove the style from the whole element.
672
- *
673
- * 2. Otherwise if it's collapsed on element boundaries, moving the selection
674
- * outside the styles instead of removing the whole tag,
675
- * also make sure other inner styles were well preserverd.(#3309)
676
- */
677
- if ( element == startPath.block || element == startPath.blockLimit )
678
- break;
679
-
680
- if ( this.checkElementRemovable( element ) )
681
- {
682
- var isStart;
683
-
684
- if ( range.collapsed && (
685
- range.checkBoundaryOfElement( element, CKEDITOR.END ) ||
686
- ( isStart = range.checkBoundaryOfElement( element, CKEDITOR.START ) ) ) )
687
- {
688
- boundaryElement = element;
689
- boundaryElement.match = isStart ? 'start' : 'end';
690
- }
691
- else
692
- {
693
- /*
694
- * Before removing the style node, there may be a sibling to the style node
695
- * that's exactly the same to the one to be removed. To the user, it makes
696
- * no difference that they're separate entities in the DOM tree. So, merge
697
- * them before removal.
698
- */
699
- element.mergeSiblings();
700
- if ( element.getName() == this.element )
701
- removeFromElement( this, element );
702
- else
703
- removeOverrides( element, getOverrides( this )[ element.getName() ] );
704
- }
705
- }
706
- }
707
-
708
- // Re-create the style tree after/before the boundary element,
709
- // the replication start from bookmark start node to define the
710
- // new range.
711
- if ( boundaryElement )
712
- {
713
- var clonedElement = startNode;
714
- for ( i = 0 ;; i++ )
715
- {
716
- var newElement = startPath.elements[ i ];
717
- if ( newElement.equals( boundaryElement ) )
718
- break;
719
- // Avoid copying any matched element.
720
- else if ( newElement.match )
721
- continue;
722
- else
723
- newElement = newElement.clone();
724
- newElement.append( clonedElement );
725
- clonedElement = newElement;
726
- }
727
- clonedElement[ boundaryElement.match == 'start' ?
728
- 'insertBefore' : 'insertAfter' ]( boundaryElement );
729
- }
730
- }
731
- else
732
- {
733
- /*
734
- * Now our range isn't collapsed. Lets walk from the start node to the end
735
- * node via DFS and remove the styles one-by-one.
736
- */
737
- var endNode = bookmark.endNode,
738
- me = this;
739
-
740
- /*
741
- * Find out the style ancestor that needs to be broken down at startNode
742
- * and endNode.
743
- */
744
- function breakNodes()
745
- {
746
- var startPath = new CKEDITOR.dom.elementPath( startNode.getParent() ),
747
- endPath = new CKEDITOR.dom.elementPath( endNode.getParent() ),
748
- breakStart = null,
749
- breakEnd = null;
750
- for ( var i = 0 ; i < startPath.elements.length ; i++ )
751
- {
752
- var element = startPath.elements[ i ];
753
-
754
- if ( element == startPath.block || element == startPath.blockLimit )
755
- break;
756
-
757
- if ( me.checkElementRemovable( element ) )
758
- breakStart = element;
759
- }
760
- for ( i = 0 ; i < endPath.elements.length ; i++ )
761
- {
762
- element = endPath.elements[ i ];
763
-
764
- if ( element == endPath.block || element == endPath.blockLimit )
765
- break;
766
-
767
- if ( me.checkElementRemovable( element ) )
768
- breakEnd = element;
769
- }
770
-
771
- if ( breakEnd )
772
- endNode.breakParent( breakEnd );
773
- if ( breakStart )
774
- startNode.breakParent( breakStart );
775
- }
776
- breakNodes();
777
-
778
- // Now, do the DFS walk.
779
- var currentNode = startNode.getNext();
780
- while ( !currentNode.equals( endNode ) )
781
- {
782
- /*
783
- * Need to get the next node first because removeFromElement() can remove
784
- * the current node from DOM tree.
785
- */
786
- var nextNode = currentNode.getNextSourceNode();
787
- if ( currentNode.type == CKEDITOR.NODE_ELEMENT && this.checkElementRemovable( currentNode ) )
788
- {
789
- // Remove style from element or overriding element.
790
- if ( currentNode.getName() == this.element )
791
- removeFromElement( this, currentNode );
792
- else
793
- removeOverrides( currentNode, getOverrides( this )[ currentNode.getName() ] );
794
-
795
- /*
796
- * removeFromElement() may have merged the next node with something before
797
- * the startNode via mergeSiblings(). In that case, the nextNode would
798
- * contain startNode and we'll have to call breakNodes() again and also
799
- * reassign the nextNode to something after startNode.
800
- */
801
- if ( nextNode.type == CKEDITOR.NODE_ELEMENT && nextNode.contains( startNode ) )
802
- {
803
- breakNodes();
804
- nextNode = startNode.getNext();
805
- }
806
- }
807
- currentNode = nextNode;
808
- }
809
- }
810
-
811
- range.moveToBookmark( bookmark );
812
- }
813
-
814
- function applyObjectStyle( range )
815
- {
816
- var root = range.getCommonAncestor( true, true ),
817
- element = root.getAscendant( this.element, true );
818
- element && !element.isReadOnly() && setupElement( element, this );
819
- }
820
-
821
- function removeObjectStyle( range )
822
- {
823
- var root = range.getCommonAncestor( true, true ),
824
- element = root.getAscendant( this.element, true );
825
-
826
- if ( !element )
827
- return;
828
-
829
- var style = this,
830
- def = style._.definition,
831
- attributes = def.attributes;
832
- var styles = CKEDITOR.style.getStyleText( def );
833
-
834
- // Remove all defined attributes.
835
- if ( attributes )
836
- {
837
- for ( var att in attributes )
838
- {
839
- element.removeAttribute( att, attributes[ att ] );
840
- }
841
- }
842
-
843
- // Assign all defined styles.
844
- if ( def.styles )
845
- {
846
- for ( var i in def.styles )
847
- {
848
- if ( !def.styles.hasOwnProperty( i ) )
849
- continue;
850
-
851
- element.removeStyle( i );
852
- }
853
- }
854
- }
855
-
856
- function applyBlockStyle( range )
857
- {
858
- // Serializible bookmarks is needed here since
859
- // elements may be merged.
860
- var bookmark = range.createBookmark( true );
861
-
862
- var iterator = range.createIterator();
863
- iterator.enforceRealBlocks = true;
864
-
865
- // make recognize <br /> tag as a separator in ENTER_BR mode (#5121)
866
- if ( this._.enterMode )
867
- iterator.enlargeBr = ( this._.enterMode != CKEDITOR.ENTER_BR );
868
-
869
- var block;
870
- var doc = range.document;
871
- var previousPreBlock;
872
-
873
- while ( ( block = iterator.getNextParagraph() ) ) // Only one =
874
- {
875
- if ( !block.isReadOnly() )
876
- {
877
- var newBlock = getElement( this, doc, block );
878
- replaceBlock( block, newBlock );
879
- }
880
- }
881
-
882
- range.moveToBookmark( bookmark );
883
- }
884
-
885
- function removeBlockStyle( range )
886
- {
887
- // Serializible bookmarks is needed here since
888
- // elements may be merged.
889
- var bookmark = range.createBookmark( 1 );
890
-
891
- var iterator = range.createIterator();
892
- iterator.enforceRealBlocks = true;
893
- iterator.enlargeBr = this._.enterMode != CKEDITOR.ENTER_BR;
894
-
895
- var block;
896
- while ( ( block = iterator.getNextParagraph() ) )
897
- {
898
- if ( this.checkElementRemovable( block ) )
899
- {
900
- // <pre> get special treatment.
901
- if ( block.is( 'pre' ) )
902
- {
903
- var newBlock = this._.enterMode == CKEDITOR.ENTER_BR ?
904
- null : range.document.createElement(
905
- this._.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' );
906
-
907
- newBlock && block.copyAttributes( newBlock );
908
- replaceBlock( block, newBlock );
909
- }
910
- else
911
- removeFromElement( this, block, 1 );
912
- }
913
- }
914
-
915
- range.moveToBookmark( bookmark );
916
- }
917
-
918
- // Replace the original block with new one, with special treatment
919
- // for <pre> blocks to make sure content format is well preserved, and merging/splitting adjacent
920
- // when necessary.(#3188)
921
- function replaceBlock( block, newBlock )
922
- {
923
- // Block is to be removed, create a temp element to
924
- // save contents.
925
- var removeBlock = !newBlock;
926
- if ( removeBlock )
927
- {
928
- newBlock = block.getDocument().createElement( 'div' );
929
- block.copyAttributes( newBlock );
930
- }
931
-
932
- var newBlockIsPre = newBlock && newBlock.is( 'pre' );
933
- var blockIsPre = block.is( 'pre' );
934
-
935
- var isToPre = newBlockIsPre && !blockIsPre;
936
- var isFromPre = !newBlockIsPre && blockIsPre;
937
-
938
- if ( isToPre )
939
- newBlock = toPre( block, newBlock );
940
- else if ( isFromPre )
941
- // Split big <pre> into pieces before start to convert.
942
- newBlock = fromPres( removeBlock ?
943
- [ block.getHtml() ] : splitIntoPres( block ), newBlock );
944
- else
945
- block.moveChildren( newBlock );
946
-
947
- newBlock.replace( block );
948
-
949
- if ( newBlockIsPre )
950
- {
951
- // Merge previous <pre> blocks.
952
- mergePre( newBlock );
953
- }
954
- else if ( removeBlock )
955
- removeNoAttribsElement( newBlock );
956
- }
957
-
958
- /**
959
- * Merge a <pre> block with a previous sibling if available.
960
- */
961
- function mergePre( preBlock )
962
- {
963
- var previousBlock;
964
- if ( !( ( previousBlock = preBlock.getPrevious( nonWhitespaces ) )
965
- && previousBlock.is
966
- && previousBlock.is( 'pre') ) )
967
- return;
968
-
969
- // Merge the previous <pre> block contents into the current <pre>
970
- // block.
971
- //
972
- // Another thing to be careful here is that currentBlock might contain
973
- // a '\n' at the beginning, and previousBlock might contain a '\n'
974
- // towards the end. These new lines are not normally displayed but they
975
- // become visible after merging.
976
- var mergedHtml = replace( previousBlock.getHtml(), /\n$/, '' ) + '\n\n' +
977
- replace( preBlock.getHtml(), /^\n/, '' ) ;
978
-
979
- // Krugle: IE normalizes innerHTML from <pre>, breaking whitespaces.
980
- if ( CKEDITOR.env.ie )
981
- preBlock.$.outerHTML = '<pre>' + mergedHtml + '</pre>';
982
- else
983
- preBlock.setHtml( mergedHtml );
984
-
985
- previousBlock.remove();
986
- }
987
-
988
- /**
989
- * Split into multiple <pre> blocks separated by double line-break.
990
- * @param preBlock
991
- */
992
- function splitIntoPres( preBlock )
993
- {
994
- // Exclude the ones at header OR at tail,
995
- // and ignore bookmark content between them.
996
- var duoBrRegex = /(\S\s*)\n(?:\s|(<span[^>]+data-cke-bookmark.*?\/span>))*\n(?!$)/gi,
997
- blockName = preBlock.getName(),
998
- splitedHtml = replace( preBlock.getOuterHtml(),
999
- duoBrRegex,
1000
- function( match, charBefore, bookmark )
1001
- {
1002
- return charBefore + '</pre>' + bookmark + '<pre>';
1003
- } );
1004
-
1005
- var pres = [];
1006
- splitedHtml.replace( /<pre\b.*?>([\s\S]*?)<\/pre>/gi, function( match, preContent ){
1007
- pres.push( preContent );
1008
- } );
1009
- return pres;
1010
- }
1011
-
1012
- // Wrapper function of String::replace without considering of head/tail bookmarks nodes.
1013
- function replace( str, regexp, replacement )
1014
- {
1015
- var headBookmark = '',
1016
- tailBookmark = '';
1017
-
1018
- str = str.replace( /(^<span[^>]+data-cke-bookmark.*?\/span>)|(<span[^>]+data-cke-bookmark.*?\/span>$)/gi,
1019
- function( str, m1, m2 ){
1020
- m1 && ( headBookmark = m1 );
1021
- m2 && ( tailBookmark = m2 );
1022
- return '';
1023
- } );
1024
- return headBookmark + str.replace( regexp, replacement ) + tailBookmark;
1025
- }
1026
-
1027
- /**
1028
- * Converting a list of <pre> into blocks with format well preserved.
1029
- */
1030
- function fromPres( preHtmls, newBlock )
1031
- {
1032
- var docFrag;
1033
- if ( preHtmls.length > 1 )
1034
- docFrag = new CKEDITOR.dom.documentFragment( newBlock.getDocument() );
1035
-
1036
- for ( var i = 0 ; i < preHtmls.length ; i++ )
1037
- {
1038
- var blockHtml = preHtmls[ i ];
1039
-
1040
- // 1. Trim the first and last line-breaks immediately after and before <pre>,
1041
- // they're not visible.
1042
- blockHtml = blockHtml.replace( /(\r\n|\r)/g, '\n' ) ;
1043
- blockHtml = replace( blockHtml, /^[ \t]*\n/, '' ) ;
1044
- blockHtml = replace( blockHtml, /\n$/, '' ) ;
1045
- // 2. Convert spaces or tabs at the beginning or at the end to &nbsp;
1046
- blockHtml = replace( blockHtml, /^[ \t]+|[ \t]+$/g, function( match, offset, s )
1047
- {
1048
- if ( match.length == 1 ) // one space, preserve it
1049
- return '&nbsp;' ;
1050
- else if ( !offset ) // beginning of block
1051
- return CKEDITOR.tools.repeat( '&nbsp;', match.length - 1 ) + ' ';
1052
- else // end of block
1053
- return ' ' + CKEDITOR.tools.repeat( '&nbsp;', match.length - 1 );
1054
- } ) ;
1055
-
1056
- // 3. Convert \n to <BR>.
1057
- // 4. Convert contiguous (i.e. non-singular) spaces or tabs to &nbsp;
1058
- blockHtml = blockHtml.replace( /\n/g, '<br>' ) ;
1059
- blockHtml = blockHtml.replace( /[ \t]{2,}/g,
1060
- function ( match )
1061
- {
1062
- return CKEDITOR.tools.repeat( '&nbsp;', match.length - 1 ) + ' ' ;
1063
- } ) ;
1064
-
1065
- if ( docFrag )
1066
- {
1067
- var newBlockClone = newBlock.clone();
1068
- newBlockClone.setHtml( blockHtml );
1069
- docFrag.append( newBlockClone );
1070
- }
1071
- else
1072
- newBlock.setHtml( blockHtml );
1073
- }
1074
-
1075
- return docFrag || newBlock;
1076
- }
1077
-
1078
- /**
1079
- * Converting from a non-PRE block to a PRE block in formatting operations.
1080
- */
1081
- function toPre( block, newBlock )
1082
- {
1083
- var bogus = block.getBogus();
1084
- bogus && bogus.remove();
1085
-
1086
- // First trim the block content.
1087
- var preHtml = block.getHtml();
1088
-
1089
- // 1. Trim head/tail spaces, they're not visible.
1090
- preHtml = replace( preHtml, /(?:^[ \t\n\r]+)|(?:[ \t\n\r]+$)/g, '' );
1091
- // 2. Delete ANSI whitespaces immediately before and after <BR> because
1092
- // they are not visible.
1093
- preHtml = preHtml.replace( /[ \t\r\n]*(<br[^>]*>)[ \t\r\n]*/gi, '$1' );
1094
- // 3. Compress other ANSI whitespaces since they're only visible as one
1095
- // single space previously.
1096
- // 4. Convert &nbsp; to spaces since &nbsp; is no longer needed in <PRE>.
1097
- preHtml = preHtml.replace( /([ \t\n\r]+|&nbsp;)/g, ' ' );
1098
- // 5. Convert any <BR /> to \n. This must not be done earlier because
1099
- // the \n would then get compressed.
1100
- preHtml = preHtml.replace( /<br\b[^>]*>/gi, '\n' );
1101
-
1102
- // Krugle: IE normalizes innerHTML to <pre>, breaking whitespaces.
1103
- if ( CKEDITOR.env.ie )
1104
- {
1105
- var temp = block.getDocument().createElement( 'div' );
1106
- temp.append( newBlock );
1107
- newBlock.$.outerHTML = '<pre>' + preHtml + '</pre>';
1108
- newBlock.copyAttributes( temp.getFirst() );
1109
- newBlock = temp.getFirst().remove();
1110
- }
1111
- else
1112
- newBlock.setHtml( preHtml );
1113
-
1114
- return newBlock;
1115
- }
1116
-
1117
- // Removes a style from an element itself, don't care about its subtree.
1118
- function removeFromElement( style, element )
1119
- {
1120
- var def = style._.definition,
1121
- attributes = CKEDITOR.tools.extend( {}, def.attributes, getOverrides( style )[ element.getName() ] ),
1122
- styles = def.styles,
1123
- // If the style is only about the element itself, we have to remove the element.
1124
- removeEmpty = CKEDITOR.tools.isEmpty( attributes ) && CKEDITOR.tools.isEmpty( styles );
1125
-
1126
- // Remove definition attributes/style from the elemnt.
1127
- for ( var attName in attributes )
1128
- {
1129
- // The 'class' element value must match (#1318).
1130
- if ( ( attName == 'class' || style._.definition.fullMatch )
1131
- && element.getAttribute( attName ) != normalizeProperty( attName, attributes[ attName ] ) )
1132
- continue;
1133
- removeEmpty = element.hasAttribute( attName );
1134
- element.removeAttribute( attName );
1135
- }
1136
-
1137
- for ( var styleName in styles )
1138
- {
1139
- // Full match style insist on having fully equivalence. (#5018)
1140
- if ( style._.definition.fullMatch
1141
- && element.getStyle( styleName ) != normalizeProperty( styleName, styles[ styleName ], true ) )
1142
- continue;
1143
-
1144
- removeEmpty = removeEmpty || !!element.getStyle( styleName );
1145
- element.removeStyle( styleName );
1146
- }
1147
-
1148
- if ( removeEmpty )
1149
- {
1150
- !CKEDITOR.dtd.$block[ element.getName() ] || style._.enterMode == CKEDITOR.ENTER_BR && !element.hasAttributes() ?
1151
- removeNoAttribsElement( element ) :
1152
- element.renameNode( style._.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' );
1153
- }
1154
- }
1155
-
1156
- // Removes a style from inside an element.
1157
- function removeFromInsideElement( style, element )
1158
- {
1159
- var def = style._.definition,
1160
- attribs = def.attributes,
1161
- styles = def.styles,
1162
- overrides = getOverrides( style ),
1163
- innerElements = element.getElementsByTag( style.element );
1164
-
1165
- for ( var i = innerElements.count(); --i >= 0 ; )
1166
- removeFromElement( style, innerElements.getItem( i ) );
1167
-
1168
- // Now remove any other element with different name that is
1169
- // defined to be overriden.
1170
- for ( var overrideElement in overrides )
1171
- {
1172
- if ( overrideElement != style.element )
1173
- {
1174
- innerElements = element.getElementsByTag( overrideElement ) ;
1175
- for ( i = innerElements.count() - 1 ; i >= 0 ; i-- )
1176
- {
1177
- var innerElement = innerElements.getItem( i );
1178
- removeOverrides( innerElement, overrides[ overrideElement ] ) ;
1179
- }
1180
- }
1181
- }
1182
- }
1183
-
1184
- /**
1185
- * Remove overriding styles/attributes from the specific element.
1186
- * Note: Remove the element if no attributes remain.
1187
- * @param {Object} element
1188
- * @param {Object} overrides
1189
- */
1190
- function removeOverrides( element, overrides )
1191
- {
1192
- var attributes = overrides && overrides.attributes ;
1193
-
1194
- if ( attributes )
1195
- {
1196
- for ( var i = 0 ; i < attributes.length ; i++ )
1197
- {
1198
- var attName = attributes[i][0], actualAttrValue ;
1199
-
1200
- if ( ( actualAttrValue = element.getAttribute( attName ) ) )
1201
- {
1202
- var attValue = attributes[i][1] ;
1203
-
1204
- // Remove the attribute if:
1205
- // - The override definition value is null ;
1206
- // - The override definition valie is a string that
1207
- // matches the attribute value exactly.
1208
- // - The override definition value is a regex that
1209
- // has matches in the attribute value.
1210
- if ( attValue === null ||
1211
- ( attValue.test && attValue.test( actualAttrValue ) ) ||
1212
- ( typeof attValue == 'string' && actualAttrValue == attValue ) )
1213
- element.removeAttribute( attName ) ;
1214
- }
1215
- }
1216
- }
1217
-
1218
- removeNoAttribsElement( element );
1219
- }
1220
-
1221
- // If the element has no more attributes, remove it.
1222
- function removeNoAttribsElement( element )
1223
- {
1224
- // If no more attributes remained in the element, remove it,
1225
- // leaving its children.
1226
- if ( !element.hasAttributes() )
1227
- {
1228
- if ( CKEDITOR.dtd.$block[ element.getName() ] )
1229
- {
1230
- var previous = element.getPrevious( nonWhitespaces ),
1231
- next = element.getNext( nonWhitespaces );
1232
-
1233
- if ( previous && ( previous.type == CKEDITOR.NODE_TEXT || !previous.isBlockBoundary( { br : 1 } ) ) )
1234
- element.append( 'br', 1 );
1235
- if ( next && ( next.type == CKEDITOR.NODE_TEXT || !next.isBlockBoundary( { br : 1 } ) ) )
1236
- element.append( 'br' );
1237
-
1238
- element.remove( true );
1239
- }
1240
- else
1241
- {
1242
- // Removing elements may open points where merging is possible,
1243
- // so let's cache the first and last nodes for later checking.
1244
- var firstChild = element.getFirst();
1245
- var lastChild = element.getLast();
1246
-
1247
- element.remove( true );
1248
-
1249
- if ( firstChild )
1250
- {
1251
- // Check the cached nodes for merging.
1252
- firstChild.type == CKEDITOR.NODE_ELEMENT && firstChild.mergeSiblings();
1253
-
1254
- if ( lastChild && !firstChild.equals( lastChild )
1255
- && lastChild.type == CKEDITOR.NODE_ELEMENT )
1256
- lastChild.mergeSiblings();
1257
- }
1258
-
1259
- }
1260
- }
1261
- }
1262
-
1263
- function getElement( style, targetDocument, element )
1264
- {
1265
- var el,
1266
- def = style._.definition,
1267
- elementName = style.element;
1268
-
1269
- // The "*" element name will always be a span for this function.
1270
- if ( elementName == '*' )
1271
- elementName = 'span';
1272
-
1273
- // Create the element.
1274
- el = new CKEDITOR.dom.element( elementName, targetDocument );
1275
-
1276
- // #6226: attributes should be copied before the new ones are applied
1277
- if ( element )
1278
- element.copyAttributes( el );
1279
-
1280
- el = setupElement( el, style );
1281
-
1282
- // Avoid ID duplication.
1283
- if ( targetDocument.getCustomData( 'doc_processing_style' ) && el.hasAttribute( 'id' ) )
1284
- el.removeAttribute( 'id' );
1285
- else
1286
- targetDocument.setCustomData( 'doc_processing_style', 1 );
1287
-
1288
- return el;
1289
- }
1290
-
1291
- function setupElement( el, style )
1292
- {
1293
- var def = style._.definition,
1294
- attributes = def.attributes,
1295
- styles = CKEDITOR.style.getStyleText( def );
1296
-
1297
- // Assign all defined attributes.
1298
- if ( attributes )
1299
- {
1300
- for ( var att in attributes )
1301
- {
1302
- el.setAttribute( att, attributes[ att ] );
1303
- }
1304
- }
1305
-
1306
- // Assign all defined styles.
1307
- if( styles )
1308
- el.setAttribute( 'style', styles );
1309
-
1310
- return el;
1311
- }
1312
-
1313
- function replaceVariables( list, variablesValues )
1314
- {
1315
- for ( var item in list )
1316
- {
1317
- list[ item ] = list[ item ].replace( varRegex, function( match, varName )
1318
- {
1319
- return variablesValues[ varName ];
1320
- });
1321
- }
1322
- }
1323
-
1324
- // Returns an object that can be used for style matching comparison.
1325
- // Attributes names and values are all lowercased, and the styles get
1326
- // merged with the style attribute.
1327
- function getAttributesForComparison( styleDefinition )
1328
- {
1329
- // If we have already computed it, just return it.
1330
- var attribs = styleDefinition._AC;
1331
- if ( attribs )
1332
- return attribs;
1333
-
1334
- attribs = {};
1335
-
1336
- var length = 0;
1337
-
1338
- // Loop through all defined attributes.
1339
- var styleAttribs = styleDefinition.attributes;
1340
- if ( styleAttribs )
1341
- {
1342
- for ( var styleAtt in styleAttribs )
1343
- {
1344
- length++;
1345
- attribs[ styleAtt ] = styleAttribs[ styleAtt ];
1346
- }
1347
- }
1348
-
1349
- // Includes the style definitions.
1350
- var styleText = CKEDITOR.style.getStyleText( styleDefinition );
1351
- if ( styleText )
1352
- {
1353
- if ( !attribs[ 'style' ] )
1354
- length++;
1355
- attribs[ 'style' ] = styleText;
1356
- }
1357
-
1358
- // Appends the "length" information to the object.
1359
- attribs._length = length;
1360
-
1361
- // Return it, saving it to the next request.
1362
- return ( styleDefinition._AC = attribs );
1363
- }
1364
-
1365
- /**
1366
- * Get the the collection used to compare the elements and attributes,
1367
- * defined in this style overrides, with other element. All information in
1368
- * it is lowercased.
1369
- * @param {CKEDITOR.style} style
1370
- */
1371
- function getOverrides( style )
1372
- {
1373
- if ( style._.overrides )
1374
- return style._.overrides;
1375
-
1376
- var overrides = ( style._.overrides = {} ),
1377
- definition = style._.definition.overrides;
1378
-
1379
- if ( definition )
1380
- {
1381
- // The override description can be a string, object or array.
1382
- // Internally, well handle arrays only, so transform it if needed.
1383
- if ( !CKEDITOR.tools.isArray( definition ) )
1384
- definition = [ definition ];
1385
-
1386
- // Loop through all override definitions.
1387
- for ( var i = 0 ; i < definition.length ; i++ )
1388
- {
1389
- var override = definition[i];
1390
- var elementName;
1391
- var overrideEl;
1392
- var attrs;
1393
-
1394
- // If can be a string with the element name.
1395
- if ( typeof override == 'string' )
1396
- elementName = override.toLowerCase();
1397
- // Or an object.
1398
- else
1399
- {
1400
- elementName = override.element ? override.element.toLowerCase() : style.element;
1401
- attrs = override.attributes;
1402
- }
1403
-
1404
- // We can have more than one override definition for the same
1405
- // element name, so we attempt to simply append information to
1406
- // it if it already exists.
1407
- overrideEl = overrides[ elementName ] || ( overrides[ elementName ] = {} );
1408
-
1409
- if ( attrs )
1410
- {
1411
- // The returning attributes list is an array, because we
1412
- // could have different override definitions for the same
1413
- // attribute name.
1414
- var overrideAttrs = ( overrideEl.attributes = overrideEl.attributes || new Array() );
1415
- for ( var attName in attrs )
1416
- {
1417
- // Each item in the attributes array is also an array,
1418
- // where [0] is the attribute name and [1] is the
1419
- // override value.
1420
- overrideAttrs.push( [ attName.toLowerCase(), attrs[ attName ] ] );
1421
- }
1422
- }
1423
- }
1424
- }
1425
-
1426
- return overrides;
1427
- }
1428
-
1429
- // Make the comparison of attribute value easier by standardizing it.
1430
- function normalizeProperty( name, value, isStyle )
1431
- {
1432
- var temp = new CKEDITOR.dom.element( 'span' );
1433
- temp [ isStyle ? 'setStyle' : 'setAttribute' ]( name, value );
1434
- return temp[ isStyle ? 'getStyle' : 'getAttribute' ]( name );
1435
- }
1436
-
1437
- // Make the comparison of style text easier by standardizing it.
1438
- function normalizeCssText( unparsedCssText, nativeNormalize )
1439
- {
1440
- var styleText;
1441
- if ( nativeNormalize !== false )
1442
- {
1443
- // Injects the style in a temporary span object, so the browser parses it,
1444
- // retrieving its final format.
1445
- var temp = new CKEDITOR.dom.element( 'span' );
1446
- temp.setAttribute( 'style', unparsedCssText );
1447
- styleText = temp.getAttribute( 'style' ) || '';
1448
- }
1449
- else
1450
- styleText = unparsedCssText;
1451
-
1452
- // Normalize font-family property, ignore quotes and being case insensitive. (#7322)
1453
- // http://www.w3.org/TR/css3-fonts/#font-family-the-font-family-property
1454
- styleText = styleText.replace( /(font-family:)(.*?)(?=;|$)/, function ( match, prop, val )
1455
- {
1456
- var names = val.split( ',' );
1457
- for ( var i = 0; i < names.length; i++ )
1458
- names[ i ] = CKEDITOR.tools.trim( names[ i ].replace( /["']/g, '' ) );
1459
- return prop + names.join( ',' );
1460
- });
1461
-
1462
- // Shrinking white-spaces around colon and semi-colon (#4147).
1463
- // Compensate tail semi-colon.
1464
- return styleText.replace( /\s*([;:])\s*/, '$1' )
1465
- .replace( /([^\s;])$/, '$1;')
1466
- // Trimming spaces after comma(#4107),
1467
- // remove quotations(#6403),
1468
- // mostly for differences on "font-family".
1469
- .replace( /,\s+/g, ',' )
1470
- .replace( /\"/g,'' )
1471
- .toLowerCase();
1472
- }
1473
-
1474
- // Turn inline style text properties into one hash.
1475
- function parseStyleText( styleText )
1476
- {
1477
- var retval = {};
1478
- styleText
1479
- .replace( /&quot;/g, '"' )
1480
- .replace( /\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g, function( match, name, value )
1481
- {
1482
- retval[ name ] = value;
1483
- } );
1484
- return retval;
1485
- }
1486
-
1487
- /**
1488
- * Compare two bunch of styles, with the speciality that value 'inherit'
1489
- * is treated as a wildcard which will match any value.
1490
- * @param {Object|String} source
1491
- * @param {Object|String} target
1492
- */
1493
- function compareCssText( source, target )
1494
- {
1495
- typeof source == 'string' && ( source = parseStyleText( source ) );
1496
- typeof target == 'string' && ( target = parseStyleText( target ) );
1497
- for( var name in source )
1498
- {
1499
- if ( !( name in target &&
1500
- ( target[ name ] == source[ name ]
1501
- || source[ name ] == 'inherit'
1502
- || target[ name ] == 'inherit' ) ) )
1503
- {
1504
- return false;
1505
- }
1506
- }
1507
- return true;
1508
- }
1509
-
1510
- function applyStyle( document, remove )
1511
- {
1512
- var selection = document.getSelection(),
1513
- ranges = selection.getRanges(),
1514
- func = remove ? this.removeFromRange : this.applyToRange,
1515
- range;
1516
-
1517
- var iterator = ranges.createIterator();
1518
- while ( ( range = iterator.getNextRange() ) )
1519
- func.call( this, range );
1520
-
1521
- selection.selectRanges( ranges );
1522
-
1523
- document.removeCustomData( 'doc_processing_style' );
1524
- }
1525
- })();
1526
-
1527
- CKEDITOR.styleCommand = function( style )
1528
- {
1529
- this.style = style;
1530
- };
1531
-
1532
- CKEDITOR.styleCommand.prototype.exec = function( editor )
1533
- {
1534
- editor.focus();
1535
-
1536
- var doc = editor.document;
1537
-
1538
- if ( doc )
1539
- {
1540
- if ( this.state == CKEDITOR.TRISTATE_OFF )
1541
- this.style.apply( doc );
1542
- else if ( this.state == CKEDITOR.TRISTATE_ON )
1543
- this.style.remove( doc );
1544
- }
1545
-
1546
- return !!doc;
1547
- };
1548
-
1549
- /**
1550
- * Manages styles registration and loading. See also {@link CKEDITOR.config.stylesSet}.
1551
- * @namespace
1552
- * @augments CKEDITOR.resourceManager
1553
- * @constructor
1554
- * @since 3.2
1555
- * @example
1556
- * // The set of styles for the <b>Styles</b> combo
1557
- * CKEDITOR.stylesSet.add( 'default',
1558
- * [
1559
- * // Block Styles
1560
- * { name : 'Blue Title' , element : 'h3', styles : { 'color' : 'Blue' } },
1561
- * { name : 'Red Title' , element : 'h3', styles : { 'color' : 'Red' } },
1562
- *
1563
- * // Inline Styles
1564
- * { name : 'Marker: Yellow' , element : 'span', styles : { 'background-color' : 'Yellow' } },
1565
- * { name : 'Marker: Green' , element : 'span', styles : { 'background-color' : 'Lime' } },
1566
- *
1567
- * // Object Styles
1568
- * {
1569
- * name : 'Image on Left',
1570
- * element : 'img',
1571
- * attributes :
1572
- * {
1573
- * 'style' : 'padding: 5px; margin-right: 5px',
1574
- * 'border' : '2',
1575
- * 'align' : 'left'
1576
- * }
1577
- * }
1578
- * ]);
1579
- */
1580
- CKEDITOR.stylesSet = new CKEDITOR.resourceManager( '', 'stylesSet' );
1581
-
1582
- // Backward compatibility (#5025).
1583
- CKEDITOR.addStylesSet = CKEDITOR.tools.bind( CKEDITOR.stylesSet.add, CKEDITOR.stylesSet );
1584
- CKEDITOR.loadStylesSet = function( name, url, callback )
1585
- {
1586
- CKEDITOR.stylesSet.addExternal( name, url, '' );
1587
- CKEDITOR.stylesSet.load( name, callback );
1588
- };
1589
-
1590
-
1591
- /**
1592
- * Gets the current styleSet for this instance
1593
- * @param {Function} callback The function to be called with the styles data.
1594
- * @example
1595
- * editor.getStylesSet( function( stylesDefinitions ) {} );
1596
- */
1597
- CKEDITOR.editor.prototype.getStylesSet = function( callback )
1598
- {
1599
- if ( !this._.stylesDefinitions )
1600
- {
1601
- var editor = this,
1602
- // Respect the backwards compatible definition entry
1603
- configStyleSet = editor.config.stylesCombo_stylesSet || editor.config.stylesSet || 'default';
1604
-
1605
- // #5352 Allow to define the styles directly in the config object
1606
- if ( configStyleSet instanceof Array )
1607
- {
1608
- editor._.stylesDefinitions = configStyleSet;
1609
- callback( configStyleSet );
1610
- return;
1611
- }
1612
-
1613
- var partsStylesSet = configStyleSet.split( ':' ),
1614
- styleSetName = partsStylesSet[ 0 ],
1615
- externalPath = partsStylesSet[ 1 ],
1616
- pluginPath = CKEDITOR.plugins.registered.styles.path;
1617
-
1618
- CKEDITOR.stylesSet.addExternal( styleSetName,
1619
- externalPath ?
1620
- partsStylesSet.slice( 1 ).join( ':' ) :
1621
- pluginPath + 'styles/' + styleSetName + '.js', '' );
1622
-
1623
- CKEDITOR.stylesSet.load( styleSetName, function( stylesSet )
1624
- {
1625
- editor._.stylesDefinitions = stylesSet[ styleSetName ];
1626
- callback( editor._.stylesDefinitions );
1627
- } ) ;
1628
- }
1629
- else
1630
- callback( this._.stylesDefinitions );
1631
- };
1632
-
1633
- /**
1634
- * Indicates that fully selected read-only elements will be included when
1635
- * applying the style (for inline styles only).
1636
- * @name CKEDITOR.style.includeReadonly
1637
- * @type Boolean
1638
- * @default false
1639
- * @since 3.5
1640
- */
1641
-
1642
- /**
1643
- * Disables inline styling on read-only elements.
1644
- * @name CKEDITOR.config.disableReadonlyStyling
1645
- * @type Boolean
1646
- * @default false
1647
- * @since 3.5
1648
- */
1649
-
1650
- /**
1651
- * The "styles definition set" to use in the editor. They will be used in the
1652
- * styles combo and the Style selector of the div container. <br>
1653
- * The styles may be defined in the page containing the editor, or can be
1654
- * loaded on demand from an external file. In the second case, if this setting
1655
- * contains only a name, the styles definition file will be loaded from the
1656
- * "styles" folder inside the styles plugin folder.
1657
- * Otherwise, this setting has the "name:url" syntax, making it
1658
- * possible to set the URL from which loading the styles file.<br>
1659
- * Previously this setting was available as config.stylesCombo_stylesSet<br>
1660
- * @name CKEDITOR.config.stylesSet
1661
- * @type String|Array
1662
- * @default 'default'
1663
- * @since 3.3
1664
- * @example
1665
- * // Load from the styles' styles folder (mystyles.js file).
1666
- * config.stylesSet = 'mystyles';
1667
- * @example
1668
- * // Load from a relative URL.
1669
- * config.stylesSet = 'mystyles:/editorstyles/styles.js';
1670
- * @example
1671
- * // Load from a full URL.
1672
- * config.stylesSet = 'mystyles:http://www.example.com/editorstyles/styles.js';
1673
- * @example
1674
- * // Load from a list of definitions.
1675
- * config.stylesSet = [
1676
- * { name : 'Strong Emphasis', element : 'strong' },
1677
- * { name : 'Emphasis', element : 'em' }, ... ];
1678
- */