typus 3.1.0.rc6 → 3.1.0.rc7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (812) hide show
  1. data/.gitignore +10 -0
  2. data/.gitmodules +6 -0
  3. data/.yardopts +6 -0
  4. data/Gemfile +1 -1
  5. data/README.md +7 -7
  6. data/Rakefile +14 -1
  7. data/app/assets/javascripts/typus/jquery.application.js +13 -2
  8. data/app/assets/stylesheets/typus/screen.css +4 -0
  9. data/app/controllers/admin/account_controller.rb +2 -3
  10. data/app/controllers/admin/resources_controller.rb +42 -32
  11. data/app/controllers/admin/session_controller.rb +1 -1
  12. data/app/helpers/admin/base_helper.rb +28 -33
  13. data/app/helpers/admin/dashboard_helper.rb +5 -7
  14. data/app/helpers/admin/resources/data_types/belongs_to_helper.rb +82 -0
  15. data/app/helpers/admin/resources/data_types/boolean_helper.rb +28 -0
  16. data/app/helpers/admin/resources/data_types/date_helper.rb +12 -0
  17. data/app/helpers/admin/resources/data_types/datetime_helper.rb +17 -0
  18. data/app/helpers/admin/resources/data_types/dragonfly_helper.rb +37 -0
  19. data/app/helpers/admin/resources/data_types/float_helper.rb +3 -0
  20. data/app/helpers/admin/resources/data_types/has_and_belongs_to_many_helper.rb +24 -0
  21. data/app/helpers/admin/resources/data_types/has_many_helper.rb +43 -0
  22. data/app/helpers/admin/resources/data_types/has_one_helper.rb +23 -0
  23. data/app/helpers/admin/resources/data_types/paperclip_helper.rb +38 -0
  24. data/app/helpers/admin/resources/data_types/position_helper.rb +22 -0
  25. data/app/helpers/admin/resources/data_types/selector_helper.rb +11 -0
  26. data/app/helpers/admin/resources/data_types/string_helper.rb +29 -0
  27. data/app/helpers/admin/resources/data_types/text_helper.rb +7 -0
  28. data/app/helpers/admin/resources/data_types/transversal_helper.rb +8 -0
  29. data/app/helpers/admin/resources/data_types/tree_helper.rb +25 -0
  30. data/app/helpers/admin/resources/display_helper.rb +26 -0
  31. data/app/helpers/admin/resources/filters_helper.rb +36 -0
  32. data/app/helpers/admin/resources/form_helper.rb +69 -0
  33. data/app/helpers/admin/resources/list_helper.rb +27 -0
  34. data/app/helpers/admin/resources/relationships_helper.rb +55 -0
  35. data/app/helpers/admin/resources/table_helper.rb +61 -0
  36. data/app/helpers/admin/resources_helper.rb +33 -34
  37. data/app/views/admin/resources/_form.html.erb +4 -5
  38. data/app/views/admin/resources/edit.html.erb +7 -2
  39. data/app/views/admin/resources/index.html.erb +11 -2
  40. data/app/views/admin/resources/new.html.erb +2 -7
  41. data/app/views/admin/templates/_belongs_to_with_autocomplete.html.erb +2 -6
  42. data/app/views/admin/templates/_dragonfly.html.erb +5 -0
  43. data/app/views/admin/{helpers/_file_preview.html.erb → templates/_dragonfly_preview.html.erb} +0 -0
  44. data/app/views/admin/templates/_has_n.html.erb +0 -2
  45. data/app/views/admin/templates/_paperclip.html.erb +5 -0
  46. data/app/views/admin/templates/_paperclip_preview.html.erb +3 -0
  47. data/app/views/admin/templates/_selector.html.erb +2 -2
  48. data/app/views/admin/templates/{_rich_text.html.erb → _text_with_ckeditor.html.erb} +2 -2
  49. data/app/views/admin/templates/_text_with_ckeditor_and_assets.html.erb +24 -0
  50. data/app/views/admin/templates/_tree.html.erb +6 -4
  51. data/app/views/{admin/helpers → helpers/admin}/base/_apps.html.erb +0 -0
  52. data/app/views/{admin/helpers → helpers/admin}/base/_flash_message.html.erb +0 -0
  53. data/app/views/{admin/helpers → helpers/admin}/base/_header.html.erb +0 -0
  54. data/app/views/{admin/helpers → helpers/admin}/base/_login_info.html.erb +0 -0
  55. data/app/views/{admin/helpers → helpers/admin}/dashboard/_resources.html.erb +0 -0
  56. data/app/views/helpers/admin/resources/_actions.html.erb +24 -0
  57. data/app/views/{admin/helpers → helpers/admin}/resources/_errors.html.erb +0 -0
  58. data/app/views/{admin/helpers/filters → helpers/admin/resources}/_filters.html.erb +0 -0
  59. data/app/views/{admin/helpers/search → helpers/admin/resources}/_search.html.erb +0 -0
  60. data/app/views/{admin/helpers/sidebar → helpers/admin/resources}/_sidebar.html.erb +0 -0
  61. data/app/views/helpers/admin/resources/_table.html.erb +45 -0
  62. data/config/routes.rb +1 -1
  63. data/doc/yard/handlers/configurable_attr_handler.rb +38 -0
  64. data/doc/yard/setup.rb +9 -0
  65. data/doc/yard/templates/default/fulldoc/html/css/common.css +109 -0
  66. data/doc/yard/templates/default/layout/html/layout.erb +126 -0
  67. data/doc/yard/templates/default/module/html/configuration_summary.erb +31 -0
  68. data/doc/yard/templates/default/module/setup.rb +17 -0
  69. data/lib/generators/templates/config/initializers/typus_resources.rb +0 -3
  70. data/lib/generators/templates/config/typus/README +0 -1
  71. data/lib/generators/templates/{controller.rb → controller.erb} +0 -0
  72. data/lib/generators/templates/{migration.rb → migration.erb} +0 -0
  73. data/lib/generators/typus/controller_generator.rb +1 -1
  74. data/lib/generators/typus/migration_generator.rb +1 -1
  75. data/lib/typus/authentication/session.rb +16 -19
  76. data/lib/typus/controller/actions.rb +14 -5
  77. data/lib/typus/controller/{acts_as.rb → acts_as_list.rb} +7 -6
  78. data/lib/typus/controller/associations.rb +11 -13
  79. data/lib/typus/controller/autocomplete.rb +1 -1
  80. data/lib/typus/controller/bulk.rb +70 -0
  81. data/lib/typus/controller/filters.rb +11 -3
  82. data/lib/typus/controller/headless.rb +22 -1
  83. data/lib/typus/controller/trash.rb +10 -6
  84. data/lib/typus/orm/active_record/admin_user_v1.rb +9 -20
  85. data/lib/typus/orm/active_record/admin_user_v2.rb +9 -13
  86. data/lib/typus/orm/active_record/class_methods.rb +7 -2
  87. data/lib/typus/orm/active_record/user/class_methods.rb +29 -0
  88. data/lib/typus/resources.rb +0 -3
  89. data/lib/typus/version.rb +1 -1
  90. data/lib/typus.rb +2 -1
  91. data/test/app/controllers/admin/account_controller_test.rb +12 -1
  92. data/test/app/controllers/admin/base_controller_test.rb +2 -2
  93. data/test/app/controllers/admin/dashboard_controller_test.rb +0 -8
  94. data/test/app/controllers/admin/{status_controller_test.rb → resource/status_controller_test.rb} +2 -2
  95. data/test/app/controllers/admin/resources/acts_as_list_test.rb +48 -0
  96. data/test/app/controllers/admin/{assets_controller_test.rb → resources/assets_controller_test.rb.old} +1 -20
  97. data/test/app/controllers/admin/resources/associations_test.rb +59 -0
  98. data/test/app/controllers/admin/{birds_controller_test.rb → resources/birds_controller_test.rb.old} +0 -0
  99. data/test/app/controllers/admin/resources/bulk_test.rb +36 -0
  100. data/test/app/controllers/admin/{cases_controller_test.rb → resources/cases_controller_test.rb.old} +0 -0
  101. data/test/app/controllers/admin/{comments_controller_test.rb → resources/comments_controller_test.rb.old} +9 -6
  102. data/test/app/controllers/admin/resources/image_holders_controller_test.rb.old +55 -0
  103. data/test/app/controllers/admin/{invoices_controller_test.rb → resources/invoices_controller_test.rb.old} +8 -14
  104. data/test/app/controllers/admin/{orders_controller_test.rb → resources/orders_controller_test.rb.old} +0 -0
  105. data/test/app/controllers/admin/{pages_controller_test.rb → resources/pages_controller_test.rb.old} +0 -5
  106. data/test/app/controllers/admin/{posts_controller_test.rb → resources/posts_controller_test.rb.old} +7 -122
  107. data/test/app/controllers/admin/{projects_controller_test.rb → resources/projects_controller_test.rb.old} +0 -0
  108. data/test/app/controllers/admin/resources/trash_test.rb +41 -0
  109. data/test/app/controllers/admin/{typus_users_controller_test.rb → resources/typus_users_controller_test.rb} +9 -7
  110. data/test/app/controllers/admin/{users_controller_test.rb → resources/users_controller_test.rb.old} +0 -0
  111. data/test/app/controllers/admin/{views_controller_test.rb → resources/views_controller_test.rb.old} +0 -4
  112. data/test/app/controllers/admin/resources_controller_test.rb +102 -0
  113. data/test/app/controllers/admin/session_controller_test.rb +9 -7
  114. data/test/app/helpers/admin/base_helper_test.rb +4 -4
  115. data/test/app/helpers/admin/dashboard_helper_test.rb +1 -1
  116. data/test/app/helpers/admin/filters_helper_test.rb +10 -14
  117. data/test/app/helpers/admin/form_helper_test.rb +1 -1
  118. data/test/app/helpers/admin/relationships_helper_test.rb +0 -1
  119. data/test/app/helpers/admin/search_helper_test.rb +7 -7
  120. data/test/app/models/admin_user_test.rb +8 -5
  121. data/test/app/models/typus_user_test.rb +8 -5
  122. data/test/app/models/user_test.rb +8 -5
  123. data/test/factories.rb +10 -0
  124. data/test/fixtures/rails_app/app/controllers/admin/assets_controller.rb +0 -49
  125. data/test/fixtures/rails_app/app/controllers/admin/categories_controller.rb +3 -0
  126. data/test/fixtures/rails_app/app/controllers/admin/entries_controller.rb +0 -3
  127. data/test/fixtures/rails_app/app/controllers/admin/entry_bulks_controller.rb +5 -0
  128. data/test/fixtures/rails_app/app/controllers/admin/entry_trashes_controller.rb +5 -0
  129. data/test/fixtures/rails_app/app/models/entry.rb +1 -0
  130. data/test/fixtures/rails_app/app/models/entry_bulk.rb +2 -0
  131. data/test/fixtures/rails_app/app/models/entry_trash.rb +2 -0
  132. data/test/fixtures/rails_app/app/views/admin/article/entries/_index.html.erb +3 -0
  133. data/test/fixtures/rails_app/app/views/admin/assets/_edit.html.erb +26 -0
  134. data/test/fixtures/rails_app/app/views/admin/cases/_index.html.erb +1 -1
  135. data/test/fixtures/rails_app/app/views/admin/categories/_index.html.erb +1 -1
  136. data/test/fixtures/rails_app/app/views/admin/dashboard/_sidebar.html.erb +1 -1
  137. data/test/fixtures/rails_app/app/views/admin/entry_bulks/_index.html.erb +3 -0
  138. data/test/fixtures/rails_app/app/views/admin/entry_trashes/_index.html.erb +3 -0
  139. data/test/fixtures/rails_app/app/views/admin/templates/_datepicker.html.erb +6 -1
  140. data/test/fixtures/rails_app/config/deploy.rb +1 -1
  141. data/test/fixtures/rails_app/config/typus/README +0 -1
  142. data/test/fixtures/rails_app/config/typus/admin.yml +1 -1
  143. data/test/fixtures/rails_app/config/typus/crud_extended.yml +16 -4
  144. data/test/fixtures/rails_app/config/typus/crud_extended_roles.yml +2 -3
  145. data/test/fixtures/rails_app/config/typus/extensions.yml +29 -0
  146. data/test/fixtures/rails_app/config/typus/extensions_roles.yml +4 -0
  147. data/test/fixtures/rails_app/public/vendor/ckeditor/.htaccess +24 -0
  148. data/test/fixtures/rails_app/public/vendor/ckeditor/CHANGES.html +1295 -0
  149. data/test/fixtures/rails_app/public/vendor/ckeditor/INSTALL.html +92 -0
  150. data/test/fixtures/rails_app/public/vendor/ckeditor/LICENSE.html +1334 -0
  151. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/application.xml +32 -0
  152. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/run.bat +9 -0
  153. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/run.sh +8 -0
  154. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/adobeair/sample.html +45 -0
  155. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/ajax.html +98 -0
  156. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/api.html +192 -0
  157. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/api_dialog/my_dialog.js +28 -0
  158. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/api_dialog.html +198 -0
  159. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/advanced.asp +105 -0
  160. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/events.asp +136 -0
  161. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/index.html +103 -0
  162. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/replace.asp +72 -0
  163. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/replaceall.asp +77 -0
  164. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/sample_posteddata.asp +46 -0
  165. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/asp/standalone.asp +72 -0
  166. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/_posteddata.php +59 -0
  167. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/output_for_flash.fla +0 -0
  168. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/output_for_flash.swf +0 -0
  169. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/output_xhtml.css +204 -0
  170. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/parsesample.css +70 -0
  171. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/assets/swfobject.js +18 -0
  172. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/autogrow.html +103 -0
  173. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/bbcode.html +136 -0
  174. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/devtools.html +94 -0
  175. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/divreplace.html +154 -0
  176. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/enterkey.html +115 -0
  177. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/fullpage.html +82 -0
  178. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/index.html +116 -0
  179. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/jqueryadapter.html +99 -0
  180. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/output_for_flash.html +275 -0
  181. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/output_html.html +285 -0
  182. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/output_xhtml.html +181 -0
  183. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/advanced.php +120 -0
  184. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/events.php +153 -0
  185. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/index.html +47 -0
  186. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/replace.php +87 -0
  187. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/replaceall.php +88 -0
  188. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/php/standalone.php +83 -0
  189. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/placeholder.html +81 -0
  190. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/readonly.html +91 -0
  191. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/replacebyclass.html +64 -0
  192. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/replacebycode.html +97 -0
  193. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sample.css +163 -0
  194. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sample.js +65 -0
  195. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sample_posteddata.php +21 -0
  196. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/sharedspaces.html +153 -0
  197. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/skins.html +110 -0
  198. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/stylesheetparser.html +93 -0
  199. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/tableresize.html +115 -0
  200. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/ui_color.html +129 -0
  201. data/test/fixtures/rails_app/public/vendor/ckeditor/_samples/ui_languages.html +134 -0
  202. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/adapters/jquery.js +306 -0
  203. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/_bootstrap.js +87 -0
  204. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ckeditor.js +141 -0
  205. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ckeditor_base.js +227 -0
  206. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ckeditor_basic.js +238 -0
  207. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/command.js +209 -0
  208. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/commanddefinition.js +129 -0
  209. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/config.js +431 -0
  210. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dataprocessor.js +65 -0
  211. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/comment.js +32 -0
  212. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/document.js +251 -0
  213. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/documentfragment.js +49 -0
  214. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/domobject.js +258 -0
  215. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/element.js +1663 -0
  216. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/elementpath.js +119 -0
  217. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/event.js +142 -0
  218. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/node.js +690 -0
  219. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/nodelist.js +26 -0
  220. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/range.js +2032 -0
  221. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/rangelist.js +213 -0
  222. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/text.js +128 -0
  223. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/walker.js +462 -0
  224. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom/window.js +96 -0
  225. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dom.js +20 -0
  226. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/dtd.js +237 -0
  227. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/editor.js +1041 -0
  228. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/editor_basic.js +186 -0
  229. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/env.js +282 -0
  230. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/event.js +342 -0
  231. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/eventInfo.js +120 -0
  232. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/focusmanager.js +152 -0
  233. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/basicwriter.js +145 -0
  234. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/cdata.js +43 -0
  235. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/comment.js +60 -0
  236. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/element.js +249 -0
  237. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/filter.js +288 -0
  238. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/fragment.js +492 -0
  239. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser/text.js +55 -0
  240. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/htmlparser.js +224 -0
  241. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/lang.js +157 -0
  242. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/loader.js +240 -0
  243. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/plugindefinition.js +83 -0
  244. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/plugins.js +103 -0
  245. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/resourcemanager.js +238 -0
  246. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/scriptloader.js +180 -0
  247. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/skins.js +184 -0
  248. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/themes.js +19 -0
  249. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/tools.js +734 -0
  250. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/core/ui.js +128 -0
  251. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/_languages.js +84 -0
  252. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/_translationstatus.txt +61 -0
  253. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/af.js +810 -0
  254. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ar.js +810 -0
  255. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/bg.js +810 -0
  256. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/bn.js +810 -0
  257. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/bs.js +810 -0
  258. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ca.js +810 -0
  259. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/cs.js +810 -0
  260. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/cy.js +810 -0
  261. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/da.js +810 -0
  262. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/de.js +810 -0
  263. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/el.js +810 -0
  264. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en-au.js +810 -0
  265. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en-ca.js +810 -0
  266. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en-gb.js +810 -0
  267. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/en.js +810 -0
  268. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/eo.js +810 -0
  269. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/es.js +810 -0
  270. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/et.js +810 -0
  271. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/eu.js +810 -0
  272. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fa.js +810 -0
  273. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fi.js +810 -0
  274. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fo.js +810 -0
  275. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fr-ca.js +810 -0
  276. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/fr.js +810 -0
  277. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/gl.js +810 -0
  278. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/gu.js +810 -0
  279. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/he.js +810 -0
  280. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/hi.js +810 -0
  281. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/hr.js +810 -0
  282. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/hu.js +810 -0
  283. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/is.js +810 -0
  284. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/it.js +810 -0
  285. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ja.js +810 -0
  286. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ka.js +810 -0
  287. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/km.js +810 -0
  288. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ko.js +810 -0
  289. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/lt.js +810 -0
  290. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/lv.js +810 -0
  291. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/mn.js +810 -0
  292. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ms.js +810 -0
  293. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/nb.js +810 -0
  294. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/nl.js +810 -0
  295. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/no.js +810 -0
  296. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/pl.js +810 -0
  297. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/pt-br.js +809 -0
  298. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/pt.js +810 -0
  299. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ro.js +810 -0
  300. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/ru.js +810 -0
  301. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sk.js +810 -0
  302. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sl.js +810 -0
  303. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sr-latn.js +810 -0
  304. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sr.js +810 -0
  305. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/sv.js +809 -0
  306. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/th.js +810 -0
  307. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/tr.js +809 -0
  308. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/uk.js +810 -0
  309. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/vi.js +810 -0
  310. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/zh-cn.js +810 -0
  311. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/lang/zh.js +810 -0
  312. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/dialogs/a11yhelp.js +222 -0
  313. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/lang/en.js +108 -0
  314. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/lang/he.js +216 -0
  315. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/a11yhelp/plugin.js +47 -0
  316. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/about/dialogs/about.js +76 -0
  317. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/about/dialogs/logo_ckeditor.png +0 -0
  318. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/about/plugin.js +24 -0
  319. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/adobeair/plugin.js +228 -0
  320. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/ajax/plugin.js +152 -0
  321. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/autogrow/plugin.js +88 -0
  322. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/basicstyles/plugin.js +101 -0
  323. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/bbcode/plugin.js +924 -0
  324. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/bidi/plugin.js +331 -0
  325. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/blockquote/plugin.js +305 -0
  326. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/button/plugin.js +285 -0
  327. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/clipboard/dialogs/paste.js +223 -0
  328. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/clipboard/plugin.js +446 -0
  329. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/colorbutton/plugin.js +295 -0
  330. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js +340 -0
  331. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/colordialog/plugin.js +15 -0
  332. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/contextmenu/plugin.js +177 -0
  333. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/devtools/lang/en.js +16 -0
  334. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/devtools/plugin.js +173 -0
  335. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialog/dialogDefinition.js +1099 -0
  336. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialog/plugin.js +3235 -0
  337. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialogadvtab/plugin.js +205 -0
  338. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/dialogui/plugin.js +1537 -0
  339. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/div/dialogs/div.js +535 -0
  340. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/div/plugin.js +121 -0
  341. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/docprops/dialogs/docprops.js +686 -0
  342. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/docprops/plugin.js +22 -0
  343. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/domiterator/plugin.js +361 -0
  344. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/editingblock/plugin.js +269 -0
  345. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/elementspath/plugin.js +218 -0
  346. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/enterkey/plugin.js +399 -0
  347. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/entities/plugin.js +250 -0
  348. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/fakeobjects/plugin.js +126 -0
  349. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/filebrowser/plugin.js +524 -0
  350. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/find/dialogs/find.js +895 -0
  351. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/find/plugin.js +47 -0
  352. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/flash/dialogs/flash.js +698 -0
  353. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/flash/images/placeholder.png +0 -0
  354. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/flash/plugin.js +168 -0
  355. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/floatpanel/plugin.js +405 -0
  356. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/font/plugin.js +234 -0
  357. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/format/plugin.js +197 -0
  358. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/button.js +118 -0
  359. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/checkbox.js +153 -0
  360. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/form.js +177 -0
  361. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/hiddenfield.js +100 -0
  362. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/radio.js +135 -0
  363. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/select.js +562 -0
  364. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/textarea.js +114 -0
  365. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/dialogs/textfield.js +199 -0
  366. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/images/hiddenfield.gif +0 -0
  367. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/forms/plugin.js +288 -0
  368. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/horizontalrule/plugin.js +36 -0
  369. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/htmldataprocessor/plugin.js +595 -0
  370. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/htmlwriter/plugin.js +319 -0
  371. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframe/dialogs/iframe.js +257 -0
  372. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframe/images/placeholder.png +0 -0
  373. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframe/plugin.js +106 -0
  374. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/iframedialog/plugin.js +188 -0
  375. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/image/dialogs/image.js +1403 -0
  376. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/image/plugin.js +81 -0
  377. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/indent/plugin.js +461 -0
  378. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/justify/plugin.js +253 -0
  379. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/keystrokes/plugin.js +225 -0
  380. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/dialogs/anchor.js +144 -0
  381. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/dialogs/link.js +1400 -0
  382. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/images/anchor.gif +0 -0
  383. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/link/plugin.js +336 -0
  384. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/list/plugin.js +727 -0
  385. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/listblock/plugin.js +257 -0
  386. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/liststyle/dialogs/liststyle.js +204 -0
  387. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/liststyle/plugin.js +66 -0
  388. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/maximize/plugin.js +352 -0
  389. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/menu/plugin.js +505 -0
  390. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/menubutton/plugin.js +98 -0
  391. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/newpage/plugin.js +54 -0
  392. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pagebreak/images/pagebreak.gif +0 -0
  393. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pagebreak/plugin.js +164 -0
  394. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/panel/plugin.js +402 -0
  395. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/panelbutton/plugin.js +146 -0
  396. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastefromword/filter/default.js +1376 -0
  397. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastefromword/plugin.js +141 -0
  398. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastetext/dialogs/pastetext.js +67 -0
  399. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/pastetext/plugin.js +98 -0
  400. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/dialogs/placeholder.js +71 -0
  401. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/lang/en.js +16 -0
  402. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/lang/he.js +16 -0
  403. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/placeholder.gif +0 -0
  404. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/placeholder/plugin.js +171 -0
  405. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/popup/plugin.js +64 -0
  406. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/preview/plugin.js +109 -0
  407. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/print/plugin.js +42 -0
  408. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/removeformat/plugin.js +185 -0
  409. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/resize/plugin.js +168 -0
  410. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/richcombo/plugin.js +378 -0
  411. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/save/plugin.js +56 -0
  412. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/scayt/dialogs/options.js +537 -0
  413. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/scayt/dialogs/toolbar.css +71 -0
  414. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/scayt/plugin.js +964 -0
  415. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/selection/plugin.js +1563 -0
  416. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_address.png +0 -0
  417. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_blockquote.png +0 -0
  418. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_div.png +0 -0
  419. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h1.png +0 -0
  420. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h2.png +0 -0
  421. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h3.png +0 -0
  422. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h4.png +0 -0
  423. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h5.png +0 -0
  424. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_h6.png +0 -0
  425. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_p.png +0 -0
  426. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/images/block_pre.png +0 -0
  427. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showblocks/plugin.js +160 -0
  428. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/showborders/plugin.js +207 -0
  429. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/dialogs/smiley.js +224 -0
  430. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/angel_smile.gif +0 -0
  431. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/angry_smile.gif +0 -0
  432. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/broken_heart.gif +0 -0
  433. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/confused_smile.gif +0 -0
  434. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/cry_smile.gif +0 -0
  435. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/devil_smile.gif +0 -0
  436. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif +0 -0
  437. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/envelope.gif +0 -0
  438. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/heart.gif +0 -0
  439. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/kiss.gif +0 -0
  440. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/lightbulb.gif +0 -0
  441. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/omg_smile.gif +0 -0
  442. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/regular_smile.gif +0 -0
  443. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/sad_smile.gif +0 -0
  444. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/shades_smile.gif +0 -0
  445. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/teeth_smile.gif +0 -0
  446. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/thumbs_down.gif +0 -0
  447. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/thumbs_up.gif +0 -0
  448. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/tounge_smile.gif +0 -0
  449. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  450. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/images/wink_smile.gif +0 -0
  451. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/smiley/plugin.js +94 -0
  452. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/sourcearea/plugin.js +209 -0
  453. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/specialchar/dialogs/specialchar.js +350 -0
  454. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/specialchar/lang/en.js +89 -0
  455. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/specialchar/plugin.js +70 -0
  456. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/styles/plugin.js +1678 -0
  457. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/styles/styles/default.js +88 -0
  458. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/stylescombo/plugin.js +219 -0
  459. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/stylesheetparser/plugin.js +143 -0
  460. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tab/plugin.js +367 -0
  461. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/table/dialogs/table.js +672 -0
  462. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/table/plugin.js +78 -0
  463. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tableresize/plugin.js +450 -0
  464. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tabletools/dialogs/tableCell.js +525 -0
  465. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/tabletools/plugin.js +1191 -0
  466. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/dialogs/templates.js +234 -0
  467. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/plugin.js +99 -0
  468. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/default.js +94 -0
  469. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/images/template1.gif +0 -0
  470. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/images/template2.gif +0 -0
  471. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/templates/templates/images/template3.gif +0 -0
  472. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/toolbar/plugin.js +545 -0
  473. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/dialogs/uicolor.js +205 -0
  474. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/lang/en.js +15 -0
  475. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/lang/he.js +15 -0
  476. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/plugin.js +37 -0
  477. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/uicolor.gif +0 -0
  478. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  479. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  480. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  481. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  482. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/assets/yui.css +15 -0
  483. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/uicolor/yui/yui.js +71 -0
  484. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/undo/plugin.js +580 -0
  485. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/ciframe.html +49 -0
  486. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  487. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/wsc.css +82 -0
  488. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/dialogs/wsc.js +192 -0
  489. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wsc/plugin.js +33 -0
  490. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/wysiwygarea/plugin.js +1351 -0
  491. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/plugins/xml/plugin.js +170 -0
  492. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/dialog.css +920 -0
  493. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/editor.css +25 -0
  494. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/elementspath.css +73 -0
  495. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/icons.css +366 -0
  496. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/icons.png +0 -0
  497. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/icons_rtl.png +0 -0
  498. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/dialog_sides.gif +0 -0
  499. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/dialog_sides.png +0 -0
  500. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/dialog_sides_rtl.png +0 -0
  501. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/mini.gif +0 -0
  502. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/noimage.png +0 -0
  503. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/sprites.png +0 -0
  504. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/sprites_ie6.png +0 -0
  505. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/images/toolbar_start.gif +0 -0
  506. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/mainui.css +203 -0
  507. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/menu.css +232 -0
  508. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/panel.css +217 -0
  509. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/presets.css +49 -0
  510. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/reset.css +84 -0
  511. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/richcombo.css +287 -0
  512. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/skin.js +236 -0
  513. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/templates.css +88 -0
  514. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/kama/toolbar.css +407 -0
  515. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/dialog.css +826 -0
  516. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/editor.css +25 -0
  517. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/elementspath.css +74 -0
  518. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/icons.css +363 -0
  519. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/icons.png +0 -0
  520. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/icons_rtl.png +0 -0
  521. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/dialog_sides.gif +0 -0
  522. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/dialog_sides.png +0 -0
  523. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/dialog_sides_rtl.png +0 -0
  524. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/mini.gif +0 -0
  525. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/noimage.png +0 -0
  526. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/sprites.png +0 -0
  527. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/images/sprites_ie6.png +0 -0
  528. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/mainui.css +153 -0
  529. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/menu.css +229 -0
  530. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/panel.css +212 -0
  531. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/presets.css +49 -0
  532. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/reset.css +84 -0
  533. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/richcombo.css +309 -0
  534. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/skin.js +74 -0
  535. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/templates.css +87 -0
  536. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/office2003/toolbar.css +522 -0
  537. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/dialog.css +842 -0
  538. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/editor.css +25 -0
  539. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/elementspath.css +74 -0
  540. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/icons.css +363 -0
  541. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/icons.png +0 -0
  542. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/icons_rtl.png +0 -0
  543. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/dialog_sides.gif +0 -0
  544. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/dialog_sides.png +0 -0
  545. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/dialog_sides_rtl.png +0 -0
  546. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/mini.gif +0 -0
  547. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/noimage.png +0 -0
  548. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/sprites.png +0 -0
  549. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/sprites_ie6.png +0 -0
  550. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/images/toolbar_start.gif +0 -0
  551. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/mainui.css +162 -0
  552. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/menu.css +232 -0
  553. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/panel.css +212 -0
  554. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/presets.css +50 -0
  555. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/reset.css +84 -0
  556. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/richcombo.css +302 -0
  557. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/skin.js +70 -0
  558. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/templates.css +87 -0
  559. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/skins/v2/toolbar.css +465 -0
  560. data/test/fixtures/rails_app/public/vendor/ckeditor/_source/themes/default/theme.js +394 -0
  561. data/test/fixtures/rails_app/public/vendor/ckeditor/adapters/jquery.js +6 -0
  562. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.asp +955 -0
  563. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.js +145 -0
  564. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.pack +211 -0
  565. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor.php +29 -0
  566. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_basic.js +8 -0
  567. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_basic_source.js +20 -0
  568. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_php4.php +566 -0
  569. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_php5.php +556 -0
  570. data/test/fixtures/rails_app/public/vendor/ckeditor/ckeditor_source.js +25 -0
  571. data/test/fixtures/rails_app/public/vendor/ckeditor/config.js +11 -0
  572. data/test/fixtures/rails_app/public/vendor/ckeditor/contents.css +23 -0
  573. data/test/fixtures/rails_app/public/vendor/ckeditor/images/spacer.gif +0 -0
  574. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/_languages.js +6 -0
  575. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/_translationstatus.txt +61 -0
  576. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/af.js +6 -0
  577. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ar.js +6 -0
  578. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/bg.js +6 -0
  579. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/bn.js +6 -0
  580. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/bs.js +6 -0
  581. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ca.js +6 -0
  582. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/cs.js +6 -0
  583. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/cy.js +6 -0
  584. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/da.js +6 -0
  585. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/de.js +6 -0
  586. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/el.js +6 -0
  587. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en-au.js +6 -0
  588. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en-ca.js +6 -0
  589. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en-gb.js +6 -0
  590. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/en.js +6 -0
  591. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/eo.js +6 -0
  592. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/es.js +6 -0
  593. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/et.js +6 -0
  594. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/eu.js +6 -0
  595. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fa.js +6 -0
  596. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fi.js +6 -0
  597. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fo.js +6 -0
  598. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fr-ca.js +6 -0
  599. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/fr.js +6 -0
  600. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/gl.js +6 -0
  601. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/gu.js +6 -0
  602. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/he.js +6 -0
  603. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/hi.js +6 -0
  604. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/hr.js +6 -0
  605. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/hu.js +6 -0
  606. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/is.js +6 -0
  607. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/it.js +6 -0
  608. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ja.js +6 -0
  609. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ka.js +6 -0
  610. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/km.js +6 -0
  611. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ko.js +6 -0
  612. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/lt.js +6 -0
  613. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/lv.js +6 -0
  614. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/mn.js +6 -0
  615. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ms.js +6 -0
  616. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/nb.js +6 -0
  617. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/nl.js +6 -0
  618. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/no.js +6 -0
  619. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/pl.js +6 -0
  620. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/pt-br.js +6 -0
  621. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/pt.js +6 -0
  622. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ro.js +6 -0
  623. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/ru.js +6 -0
  624. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sk.js +6 -0
  625. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sl.js +6 -0
  626. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sr-latn.js +6 -0
  627. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sr.js +6 -0
  628. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/sv.js +6 -0
  629. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/th.js +6 -0
  630. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/tr.js +6 -0
  631. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/uk.js +6 -0
  632. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/vi.js +6 -0
  633. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/zh-cn.js +6 -0
  634. data/test/fixtures/rails_app/public/vendor/ckeditor/lang/zh.js +6 -0
  635. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
  636. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
  637. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
  638. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/about/dialogs/about.js +6 -0
  639. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  640. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/adobeair/plugin.js +6 -0
  641. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/ajax/plugin.js +6 -0
  642. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/autogrow/plugin.js +6 -0
  643. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/bbcode/plugin.js +9 -0
  644. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  645. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  646. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/devtools/lang/en.js +6 -0
  647. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/devtools/plugin.js +6 -0
  648. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  649. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/div/dialogs/div.js +8 -0
  650. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/docprops/dialogs/docprops.js +10 -0
  651. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/docprops/plugin.js +6 -0
  652. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/find/dialogs/find.js +9 -0
  653. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  654. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/flash/images/placeholder.png +0 -0
  655. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/button.js +6 -0
  656. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  657. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/form.js +6 -0
  658. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  659. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  660. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/select.js +9 -0
  661. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  662. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/dialogs/textfield.js +6 -0
  663. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  664. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/iframe/dialogs/iframe.js +7 -0
  665. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/iframe/images/placeholder.png +0 -0
  666. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/iframedialog/plugin.js +6 -0
  667. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/image/dialogs/image.js +13 -0
  668. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  669. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/link/dialogs/link.js +11 -0
  670. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/link/images/anchor.gif +0 -0
  671. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/liststyle/dialogs/liststyle.js +6 -0
  672. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  673. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/pastefromword/filter/default.js +11 -0
  674. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
  675. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/dialogs/placeholder.js +6 -0
  676. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/lang/en.js +6 -0
  677. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/lang/he.js +6 -0
  678. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/placeholder.gif +0 -0
  679. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/placeholder/plugin.js +6 -0
  680. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  681. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
  682. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  683. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  684. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  685. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  686. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  687. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  688. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  689. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  690. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  691. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  692. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  693. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  694. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  695. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  696. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  697. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  698. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  699. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  700. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  701. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  702. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/heart.gif +0 -0
  703. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  704. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  705. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  706. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  707. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  708. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  709. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  710. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  711. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  712. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  713. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  714. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  715. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  716. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/specialchar/lang/en.js +6 -0
  717. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/styles/styles/default.js +6 -0
  718. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/stylesheetparser/plugin.js +6 -0
  719. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/table/dialogs/table.js +9 -0
  720. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/tableresize/plugin.js +7 -0
  721. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  722. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/dialogs/templates.js +7 -0
  723. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/default.js +6 -0
  724. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  725. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  726. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  727. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
  728. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/lang/en.js +6 -0
  729. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/lang/he.js +6 -0
  730. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/plugin.js +6 -0
  731. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  732. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  733. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  734. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  735. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  736. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
  737. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/uicolor/yui/yui.js +76 -0
  738. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  739. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  740. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
  741. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  742. data/test/fixtures/rails_app/public/vendor/ckeditor/plugins/xml/plugin.js +6 -0
  743. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/dialog.css +9 -0
  744. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/editor.css +13 -0
  745. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/icons.png +0 -0
  746. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/icons_rtl.png +0 -0
  747. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  748. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  749. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  750. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/mini.gif +0 -0
  751. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/noimage.png +0 -0
  752. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/sprites.png +0 -0
  753. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  754. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  755. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/skin.js +7 -0
  756. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/kama/templates.css +6 -0
  757. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/dialog.css +9 -0
  758. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/editor.css +14 -0
  759. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/icons.png +0 -0
  760. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/icons_rtl.png +0 -0
  761. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/dialog_sides.gif +0 -0
  762. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/dialog_sides.png +0 -0
  763. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/dialog_sides_rtl.png +0 -0
  764. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/mini.gif +0 -0
  765. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/noimage.png +0 -0
  766. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/sprites.png +0 -0
  767. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/images/sprites_ie6.png +0 -0
  768. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/skin.js +6 -0
  769. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/office2003/templates.css +6 -0
  770. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/dialog.css +9 -0
  771. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/editor.css +13 -0
  772. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/icons.png +0 -0
  773. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/icons_rtl.png +0 -0
  774. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/dialog_sides.gif +0 -0
  775. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/dialog_sides.png +0 -0
  776. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/dialog_sides_rtl.png +0 -0
  777. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/mini.gif +0 -0
  778. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/noimage.png +0 -0
  779. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/sprites.png +0 -0
  780. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/sprites_ie6.png +0 -0
  781. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/images/toolbar_start.gif +0 -0
  782. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/skin.js +6 -0
  783. data/test/fixtures/rails_app/public/vendor/ckeditor/skins/v2/templates.css +6 -0
  784. data/test/fixtures/rails_app/public/vendor/ckeditor/themes/default/theme.js +8 -0
  785. data/test/lib/typus/orm/active_record/class_methods_test.rb +92 -175
  786. data/test/lib/typus/resources_test.rb +0 -4
  787. data/test/test_helper.rb +5 -0
  788. data/typus.gemspec +1 -1
  789. metadata +1390 -75
  790. data/app/helpers/admin/display_helper.rb +0 -51
  791. data/app/helpers/admin/file_preview_helper.rb +0 -80
  792. data/app/helpers/admin/filters_helper.rb +0 -94
  793. data/app/helpers/admin/form_helper.rb +0 -78
  794. data/app/helpers/admin/list_helper.rb +0 -29
  795. data/app/helpers/admin/relationships_helper.rb +0 -192
  796. data/app/helpers/admin/search_helper.rb +0 -16
  797. data/app/helpers/admin/sidebar_helper.rb +0 -36
  798. data/app/helpers/admin/table_helper.rb +0 -159
  799. data/app/views/admin/helpers/resources/_display_link_to_previous.html.erb +0 -3
  800. data/app/views/admin/helpers/table/_table.html.erb +0 -26
  801. data/app/views/admin/templates/_file.html.erb +0 -5
  802. data/app/views/admin/templates/_relate_form.html.erb +0 -5
  803. data/app/views/admin/templates/_relate_form_with_autocomplete.html.erb +0 -26
  804. data/doc/mongo_db.md +0 -10
  805. data/test/app/controllers/admin/categories_controller_test.rb +0 -134
  806. data/test/app/controllers/admin/image_holders_controller_test.rb +0 -74
  807. data/test/app/helpers/admin/file_preview_helper_test.rb +0 -90
  808. data/test/app/helpers/admin/resources_helper_test.rb +0 -46
  809. data/test/fixtures/rails_app/config/typus/crud_namespaced.yml +0 -10
  810. data/test/fixtures/rails_app/config/typus/crud_namespaced_roles.yml +0 -2
  811. data/test/fixtures/rails_app/config/typus/sti.yml +0 -5
  812. data/test/fixtures/rails_app/config/typus/sti_roles.yml +0 -2
@@ -0,0 +1,955 @@
1
+ <%
2
+ '
3
+ ' Copyright (c) 2003-2011, CKSource - Frederico Knabben. All rights reserved.
4
+ ' For licensing, see LICENSE.html or http://ckeditor.com/license
5
+
6
+ ' Shared variable for all instances ("static")
7
+ dim CKEDITOR_initComplete
8
+ dim CKEDITOR_returnedEvents
9
+
10
+ ''
11
+ ' \brief CKEditor class that can be used to create editor
12
+ ' instances in ASP pages on server side.
13
+ ' @see http://ckeditor.com
14
+ '
15
+ ' Sample usage:
16
+ ' @code
17
+ ' editor = new CKEditor
18
+ ' editor.editor "editor1", "<p>Initial value.</p>", empty, empty
19
+ ' @endcode
20
+
21
+ Class CKEditor
22
+
23
+ ''
24
+ ' The version of %CKEditor.
25
+ private version
26
+
27
+ ''
28
+ ' A constant string unique for each release of %CKEditor.
29
+ private mTimeStamp
30
+
31
+ ''
32
+ ' URL to the %CKEditor installation directory (absolute or relative to document root).
33
+ ' If not set, CKEditor will try to guess it's path.
34
+ '
35
+ ' Example usage:
36
+ ' @code
37
+ ' editor.basePath = "/ckeditor/"
38
+ ' @endcode
39
+ Public basePath
40
+
41
+ ''
42
+ ' A boolean variable indicating whether CKEditor has been initialized.
43
+ ' Set it to true only if you have already included
44
+ ' &lt;script&gt; tag loading ckeditor.js in your website.
45
+ Public initialized
46
+
47
+ ''
48
+ ' Boolean variable indicating whether created code should be printed out or returned by a function.
49
+ '
50
+ ' Example 1: get the code creating %CKEditor instance and print it on a page with the "echo" function.
51
+ ' @code
52
+ ' editor = new CKEditor
53
+ ' editor.returnOutput = true
54
+ ' code = editor.editor("editor1", "<p>Initial value.</p>", empty, empty)
55
+ ' response.write "<p>Editor 1:</p>"
56
+ ' response.write code
57
+ ' @endcode
58
+ Public returnOutput
59
+
60
+ ''
61
+ ' A Dictionary with textarea attributes.
62
+ '
63
+ ' When %CKEditor is created with the editor() method, a HTML &lt;textarea&gt; element is created,
64
+ ' it will be displayed to anyone with JavaScript disabled or with incompatible browser.
65
+ public textareaAttributes
66
+
67
+ ''
68
+ ' A string indicating the creation date of %CKEditor.
69
+ ' Do not change it unless you want to force browsers to not use previously cached version of %CKEditor.
70
+ public timestamp
71
+
72
+ ''
73
+ ' A dictionary that holds the instance configuration.
74
+ private oInstanceConfig
75
+
76
+ ''
77
+ ' A dictionary that holds the configuration for all the instances.
78
+ private oAllInstancesConfig
79
+
80
+ ''
81
+ ' A dictionary that holds event listeners for the instance.
82
+ private oInstanceEvents
83
+
84
+ ''
85
+ ' A dictionary that holds event listeners for all the instances.
86
+ private oAllInstancesEvents
87
+
88
+ ''
89
+ ' A Dictionary that holds global event listeners (CKEDITOR object)
90
+ private oGlobalEvents
91
+
92
+
93
+ Private Sub Class_Initialize()
94
+ version = "3.6"
95
+ timeStamp = "B49E5BQ"
96
+ mTimeStamp = "B49E5BQ"
97
+
98
+ Set oInstanceConfig = CreateObject("Scripting.Dictionary")
99
+ Set oAllInstancesConfig = CreateObject("Scripting.Dictionary")
100
+
101
+ Set oInstanceEvents = CreateObject("Scripting.Dictionary")
102
+ Set oAllInstancesEvents = CreateObject("Scripting.Dictionary")
103
+ Set oGlobalEvents = CreateObject("Scripting.Dictionary")
104
+
105
+ Set textareaAttributes = CreateObject("Scripting.Dictionary")
106
+ textareaAttributes.Add "rows", 8
107
+ textareaAttributes.Add "cols", 60
108
+ End Sub
109
+
110
+ ''
111
+ ' Creates a %CKEditor instance.
112
+ ' In incompatible browsers %CKEditor will downgrade to plain HTML &lt;textarea&gt; element.
113
+ '
114
+ ' @param name (string) Name of the %CKEditor instance (this will be also the "name" attribute of textarea element).
115
+ ' @param value (string) Initial value.
116
+ '
117
+ ' Example usage:
118
+ ' @code
119
+ ' set editor = New CKEditor
120
+ ' editor.editor "field1", "<p>Initial value.</p>"
121
+ ' @endcode
122
+ '
123
+ ' Advanced example:
124
+ ' @code
125
+ ' set editor = new CKEditor
126
+ ' set config = CreateObject("Scripting.Dictionary")
127
+ ' config.Add "toolbar", Array( _
128
+ ' Array( "Source", "-", "Bold", "Italic", "Underline", "Strike" ), _
129
+ ' Array( "Image", "Link", "Unlink", "Anchor" ) _
130
+ ' )
131
+ ' set events = CreateObject("Scripting.Dictionary")
132
+ ' events.Add "instanceReady", "function (evt) { alert('Loaded second editor: ' + evt.editor.name );}"
133
+
134
+ ' editor.editor "field1", "<p>Initial value.</p>", config, events
135
+ ' @endcode
136
+ '
137
+ public function editor(name, value)
138
+ dim attr, out, js, customConfig, extraConfig
139
+ dim attribute
140
+
141
+ attr = ""
142
+
143
+ for each attribute in textareaAttributes
144
+ attr = attr & " " & attribute & "=""" & replace( textareaAttributes( attribute ), """", "&quot" ) & """"
145
+ next
146
+
147
+ out = "<textarea name=""" & name & """" & attr & ">" & Server.HtmlEncode(value) & "</textarea>" & vbcrlf
148
+
149
+ if not(initialized) then
150
+ out = out & init()
151
+ end if
152
+
153
+ set customConfig = configSettings()
154
+ js = returnGlobalEvents()
155
+
156
+ extraConfig = (new JSON)( empty, customConfig, false )
157
+ if extraConfig<>"" then extraConfig = ", " & extraConfig
158
+ js = js & "CKEDITOR.replace('" & name & "'" & extraConfig & ");"
159
+
160
+ out = out & script(js)
161
+
162
+ if not(returnOutput) then
163
+ response.write out
164
+ out = ""
165
+ end if
166
+
167
+ editor = out
168
+
169
+ oInstanceConfig.RemoveAll
170
+ oInstanceEvents.RemoveAll
171
+ end function
172
+
173
+ ''
174
+ ' Replaces a &lt;textarea&gt; with a %CKEditor instance.
175
+ '
176
+ ' @param id (string) The id or name of textarea element.
177
+ '
178
+ ' Example 1: adding %CKEditor to &lt;textarea name="article"&gt;&lt;/textarea&gt; element:
179
+ ' @code
180
+ ' set editor = New CKEditor
181
+ ' editor.replace "article"
182
+ ' @endcode
183
+ '
184
+ public function replaceInstance(id)
185
+ dim out, js, customConfig, extraConfig
186
+
187
+ out = ""
188
+ if not(initialized) then
189
+ out = out & init()
190
+ end if
191
+
192
+ set customConfig = configSettings()
193
+ js = returnGlobalEvents()
194
+
195
+ extraConfig = (new JSON)( empty, customConfig, false )
196
+ if extraConfig<>"" then extraConfig = ", " & extraConfig
197
+ js = js & "CKEDITOR.replace('" & id & "'" & extraConfig & ");"
198
+
199
+ out = out & script(js)
200
+
201
+ if not(returnOutput) then
202
+ response.write out
203
+ out = ""
204
+ end if
205
+
206
+ replaceInstance = out
207
+
208
+ oInstanceConfig.RemoveAll
209
+ oInstanceEvents.RemoveAll
210
+ end function
211
+
212
+ ''
213
+ ' Replace all &lt;textarea&gt; elements available in the document with editor instances.
214
+ '
215
+ ' @param className (string) If set, replace all textareas with class className in the page.
216
+ '
217
+ ' Example 1: replace all &lt;textarea&gt; elements in the page.
218
+ ' @code
219
+ ' editor = new CKEditor
220
+ ' editor.replaceAll empty
221
+ ' @endcode
222
+ '
223
+ ' Example 2: replace all &lt;textarea class="myClassName"&gt; elements in the page.
224
+ ' @code
225
+ ' editor = new CKEditor
226
+ ' editor.replaceAll 'myClassName'
227
+ ' @endcode
228
+ '
229
+ function replaceAll(className)
230
+ dim out, js, customConfig
231
+
232
+ out = ""
233
+ if not(initialized) then
234
+ out = out & init()
235
+ end if
236
+
237
+ set customConfig = configSettings()
238
+ js = returnGlobalEvents()
239
+
240
+ if (customConfig.Count=0) then
241
+ if (isEmpty(className)) then
242
+ js = js & "CKEDITOR.replaceAll();"
243
+ else
244
+ js = js & "CKEDITOR.replaceAll('" & className & "');"
245
+ end if
246
+ else
247
+ js = js & "CKEDITOR.replaceAll( function(textarea, config) {\n"
248
+ if not(isEmpty(className)) then
249
+ js = js & " var classRegex = new RegExp('(?:^| )' + '" & className & "' + '(?:$| )');\n"
250
+ js = js & " if (!classRegex.test(textarea.className))\n"
251
+ js = js & " return false;\n"
252
+ end if
253
+ js = js & " CKEDITOR.tools.extend(config, " & (new JSON)( empty, customConfig, false ) & ", true);"
254
+ js = js & "} );"
255
+ end if
256
+
257
+ out = out & script(js)
258
+
259
+ if not(returnOutput) then
260
+ response.write out
261
+ out = ""
262
+ end if
263
+
264
+ replaceAll = out
265
+
266
+ oInstanceConfig.RemoveAll
267
+ oInstanceEvents.RemoveAll
268
+ end function
269
+
270
+
271
+ ''
272
+ ' A Dictionary that holds the %CKEditor configuration for all instances
273
+ ' For the list of available options, see http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html
274
+ '
275
+ ' Example usage:
276
+ ' @code
277
+ ' editor.config("height") = 400
278
+ ' // Use @@ at the beggining of a string to ouput it without surrounding quotes.
279
+ ' editor.config("width") = "@@screen.width * 0.8"
280
+ ' @endcode
281
+ Public Property Let Config( configKey, configValue )
282
+ oAllInstancesConfig.Add configKey, configValue
283
+ End Property
284
+
285
+ ''
286
+ ' Configuration options for the next instance
287
+ '
288
+ Public Property Let instanceConfig( configKey, configValue )
289
+ oInstanceConfig.Add configKey, configValue
290
+ End Property
291
+
292
+ ''
293
+ ' Adds event listener.
294
+ ' Events are fired by %CKEditor in various situations.
295
+ '
296
+ ' @param eventName (string) Event name.
297
+ ' @param javascriptCode (string) Javascript anonymous function or function name.
298
+ '
299
+ ' Example usage:
300
+ ' @code
301
+ ' editor.addEventHandler "instanceReady", "function (ev) { " & _
302
+ ' " alert('Loaded: ' + ev.editor.name); " & _
303
+ ' "}"
304
+ ' @endcode
305
+ '
306
+ public sub addEventHandler(eventName, javascriptCode)
307
+ if not(oAllInstancesEvents.Exists( eventName ) ) then
308
+ oAllInstancesEvents.Add eventName, Array()
309
+ end if
310
+
311
+ dim listeners, size
312
+ listeners = oAllInstancesEvents( eventName )
313
+ size = ubound(listeners) + 1
314
+ redim preserve listeners(size)
315
+ listeners(size) = javascriptCode
316
+
317
+ oAllInstancesEvents( eventName ) = listeners
318
+ ' '' Avoid duplicates. fixme...
319
+ ' if (!in_array($javascriptCode, $this->_events[$event])) {
320
+ ' $this->_events[$event][] = $javascriptCode;
321
+ ' }
322
+ end sub
323
+
324
+ ''
325
+ ' Clear registered event handlers.
326
+ ' Note: this function will have no effect on already created editor instances.
327
+ '
328
+ ' @param eventName (string) Event name, if set to 'empty' all event handlers will be removed.
329
+ '
330
+ public sub clearEventHandlers( eventName )
331
+ if not(isEmpty( eventName )) then
332
+ oAllInstancesEvents.Remove eventName
333
+ else
334
+ oAllInstancesEvents.RemoveAll
335
+ end if
336
+ end sub
337
+
338
+
339
+ ''
340
+ ' Adds event listener only for the next instance.
341
+ ' Events are fired by %CKEditor in various situations.
342
+ '
343
+ ' @param eventName (string) Event name.
344
+ ' @param javascriptCode (string) Javascript anonymous function or function name.
345
+ '
346
+ ' Example usage:
347
+ ' @code
348
+ ' editor.addInstanceEventHandler "instanceReady", "function (ev) { " & _
349
+ ' " alert('Loaded: ' + ev.editor.name); " & _
350
+ ' "}"
351
+ ' @endcode
352
+ '
353
+ public sub addInstanceEventHandler(eventName, javascriptCode)
354
+ if not(oInstanceEvents.Exists( eventName ) ) then
355
+ oInstanceEvents.Add eventName, Array()
356
+ end if
357
+
358
+ dim listeners, size
359
+ listeners = oInstanceEvents( eventName )
360
+ size = ubound(listeners) + 1
361
+ redim preserve listeners(size)
362
+ listeners(size) = javascriptCode
363
+
364
+ oInstanceEvents( eventName ) = listeners
365
+ ' '' Avoid duplicates. fixme...
366
+ ' if (!in_array($javascriptCode, $this->_events[$event])) {
367
+ ' $this->_events[$event][] = $javascriptCode;
368
+ ' }
369
+ end sub
370
+
371
+ ''
372
+ ' Clear registered event handlers.
373
+ ' Note: this function will have no effect on already created editor instances.
374
+ '
375
+ ' @param eventName (string) Event name, if set to 'empty' all event handlers will be removed.
376
+ '
377
+ public sub clearInstanceEventHandlers( eventName )
378
+ if not(isEmpty( eventName )) then
379
+ oInstanceEvents.Remove eventName
380
+ else
381
+ oInstanceEvents.RemoveAll
382
+ end if
383
+ end sub
384
+
385
+ ''
386
+ ' Adds global event listener.
387
+ '
388
+ ' @param event (string) Event name.
389
+ ' @param javascriptCode (string) Javascript anonymous function or function name.
390
+ '
391
+ ' Example usage:
392
+ ' @code
393
+ ' editor.addGlobalEventHandler "dialogDefinition", "function (ev) { " & _
394
+ ' " alert('Loading dialog: ' + ev.data.name); " & _
395
+ ' "}"
396
+ ' @endcode
397
+ '
398
+ public sub addGlobalEventHandler( eventName, javascriptCode)
399
+ if not(oGlobalEvents.Exists( eventName ) ) then
400
+ oGlobalEvents.Add eventName, Array()
401
+ end if
402
+
403
+ dim listeners, size
404
+ listeners = oGlobalEvents( eventName )
405
+ size = ubound(listeners) + 1
406
+ redim preserve listeners(size)
407
+ listeners(size) = javascriptCode
408
+
409
+ oGlobalEvents( eventName ) = listeners
410
+
411
+ ' // Avoid duplicates.
412
+ ' if (!in_array($javascriptCode, $this->_globalEvents[$event])) {
413
+ ' $this->_globalEvents[$event][] = $javascriptCode;
414
+ ' }
415
+ end sub
416
+
417
+ ''
418
+ ' Clear registered global event handlers.
419
+ ' Note: this function will have no effect if the event handler has been already printed/returned.
420
+ '
421
+ ' @param eventName (string) Event name, if set to 'empty' all event handlers will be removed .
422
+ '
423
+ public sub clearGlobalEventHandlers( eventName )
424
+ if not(isEmpty( eventName )) then
425
+ oGlobalEvents.Remove eventName
426
+ else
427
+ oGlobalEvents.RemoveAll
428
+ end if
429
+ end sub
430
+
431
+ ''
432
+ ' Prints javascript code.
433
+ '
434
+ ' @param string js
435
+ '
436
+ private function script(js)
437
+ script = "<script type=""text/javascript"">" & _
438
+ "//<![CDATA[" & vbcrlf & _
439
+ js & vbcrlf & _
440
+ "//]]>" & _
441
+ "</script>" & vbcrlf
442
+ end function
443
+
444
+ ''
445
+ ' Returns the configuration array (global and instance specific settings are merged into one array).
446
+ '
447
+ ' @param instanceConfig (Dictionary) The specific configurations to apply to editor instance.
448
+ ' @param instanceEvents (Dictionary) Event listeners for editor instance.
449
+ '
450
+ private function configSettings()
451
+ dim mergedConfig, mergedEvents
452
+ set mergedConfig = cloneDictionary(oAllInstancesConfig)
453
+ set mergedEvents = cloneDictionary(oAllInstancesEvents)
454
+
455
+ if not(isEmpty(oInstanceConfig)) then
456
+ set mergedConfig = mergeDictionary(mergedConfig, oInstanceConfig)
457
+ end if
458
+
459
+ if not(isEmpty(oInstanceEvents)) then
460
+ for each eventName in oInstanceEvents
461
+ code = oInstanceEvents( eventName )
462
+
463
+ if not(mergedEvents.Exists( eventName)) then
464
+ mergedEvents.Add eventName, code
465
+ else
466
+
467
+ dim listeners, size
468
+ listeners = mergedEvents( eventName )
469
+ size = ubound(listeners)
470
+ if isArray( code ) then
471
+ addedCount = ubound(code)
472
+ redim preserve listeners( size + addedCount + 1 )
473
+ for i = 0 to addedCount
474
+ listeners(size + i + 1) = code (i)
475
+ next
476
+ else
477
+ size = size + 1
478
+ redim preserve listeners(size)
479
+ listeners(size) = code
480
+ end if
481
+
482
+ mergedEvents( eventName ) = listeners
483
+ end if
484
+ next
485
+
486
+ end if
487
+
488
+ dim i, eventName, handlers, configON, ub, code
489
+
490
+ if mergedEvents.Count>0 then
491
+ if mergedConfig.Exists( "on" ) then
492
+ set configON = mergedConfig.items( "on" )
493
+ else
494
+ set configON = CreateObject("Scripting.Dictionary")
495
+ mergedConfig.Add "on", configOn
496
+ end if
497
+
498
+ for each eventName in mergedEvents
499
+ handlers = mergedEvents( eventName )
500
+ code = ""
501
+
502
+ if isArray(handlers) then
503
+ uB = ubound(handlers)
504
+ if (uB = 0) then
505
+ code = handlers(0)
506
+ else
507
+ code = "function (ev) {"
508
+ for i=0 to uB
509
+ code = code & "(" & handlers(i) & ")(ev);"
510
+ next
511
+ code = code & "}"
512
+ end if
513
+ else
514
+ code = handlers
515
+ end if
516
+ ' Using @@ at the beggining to signal JSON that we don't want this quoted.
517
+ configON.Add eventName, "@@" & code
518
+ next
519
+
520
+ ' set mergedConfig.Item("on") = configOn
521
+ end if
522
+
523
+ set configSettings = mergedConfig
524
+ end function
525
+
526
+ ''
527
+ ' Returns a copy of a scripting.dictionary object
528
+ '
529
+ private function cloneDictionary( base )
530
+ dim newOne, tmpKey
531
+
532
+ Set newOne = CreateObject("Scripting.Dictionary")
533
+ for each tmpKey in base
534
+ newOne.Add tmpKey , base( tmpKey )
535
+ next
536
+
537
+ set cloneDictionary = newOne
538
+ end function
539
+
540
+ ''
541
+ ' Combines two scripting.dictionary objects
542
+ ' The base object isn't modified, and extra gets all the properties in base
543
+ '
544
+ private function mergeDictionary(base, extra)
545
+ dim newOne, tmpKey
546
+
547
+ for each tmpKey in base
548
+ if not(extra.Exists( tmpKey )) then
549
+ extra.Add tmpKey, base( tmpKey )
550
+ end if
551
+ next
552
+
553
+ set mergeDictionary = extra
554
+ end function
555
+
556
+ ''
557
+ ' Return global event handlers.
558
+ '
559
+ private function returnGlobalEvents()
560
+ dim out, eventName, handlers
561
+ dim handlersForEvent, handler, code, i
562
+ out = ""
563
+
564
+ if (isempty(CKEDITOR_returnedEvents)) then
565
+ set CKEDITOR_returnedEvents = CreateObject("Scripting.Dictionary")
566
+ end if
567
+
568
+ for each eventName in oGlobalEvents
569
+ handlers = oGlobalEvents( eventName )
570
+
571
+ if not(CKEDITOR_returnedEvents.Exists(eventName)) then
572
+ CKEDITOR_returnedEvents.Add eventName, CreateObject("Scripting.Dictionary")
573
+ end if
574
+
575
+ set handlersForEvent = CKEDITOR_returnedEvents.Item( eventName )
576
+
577
+ ' handlersForEvent is another dictionary
578
+ ' and handlers is an array
579
+
580
+ for i = 0 to ubound(handlers)
581
+ code = handlers( i )
582
+
583
+ ' Return only new events
584
+ if not(handlersForEvent.Exists( code )) then
585
+ if (out <> "") then out = out & vbcrlf
586
+ out = out & "CKEDITOR.on('" & eventName & "', " & code & ");"
587
+ handlersForEvent.Add code, code
588
+ end if
589
+ next
590
+ next
591
+
592
+ returnGlobalEvents = out
593
+ end function
594
+
595
+ ''
596
+ ' Initializes CKEditor (executed only once).
597
+ '
598
+ private function init()
599
+ dim out, args, path, extraCode, file
600
+ out = ""
601
+
602
+ if (CKEDITOR_initComplete) then
603
+ init = ""
604
+ exit function
605
+ end if
606
+
607
+ if (initialized) then
608
+ CKEDITOR_initComplete = true
609
+ init = ""
610
+ exit function
611
+ end if
612
+
613
+ args = ""
614
+ path = ckeditorPath()
615
+
616
+ if (timestamp <> "") and (timestamp <> "%" & "TIMESTAMP%") then
617
+ args = "?t=" & timestamp
618
+ end if
619
+
620
+ ' Skip relative paths...
621
+ if (instr(path, "..") <> 0) then
622
+ out = out & script("window.CKEDITOR_BASEPATH='" & path & "';")
623
+ end if
624
+
625
+ out = out & "<scr" & "ipt type=""text/javascript"" src=""" & path & ckeditorFileName() & args & """></scr" & "ipt>" & vbcrlf
626
+
627
+ extraCode = ""
628
+ if (timestamp <> mTimeStamp) then
629
+ extraCode = extraCode & "CKEDITOR.timestamp = '" & timestamp & "';"
630
+ end if
631
+ if (extraCode <> "") then
632
+ out = out & script(extraCode)
633
+ end if
634
+
635
+ CKEDITOR_initComplete = true
636
+ initialized = true
637
+
638
+ init = out
639
+ end function
640
+
641
+ private function ckeditorFileName()
642
+ ckeditorFileName = "ckeditor.js"
643
+ end function
644
+
645
+ ''
646
+ ' Return path to ckeditor.js.
647
+ '
648
+ private function ckeditorPath()
649
+ if (basePath <> "") then
650
+ ckeditorPath = basePath
651
+ else
652
+ ' In classic ASP we can't get the location of this included script
653
+ ckeditorPath = "/ckeditor/"
654
+ end if
655
+
656
+ ' Try to check if that folder contains the CKEditor files:
657
+ ' If it's a full URL avoid checking it as it might point to an external server.
658
+ if (instr(ckeditorPath, "://") <> 0) then exit function
659
+
660
+ dim filename, oFSO, exists
661
+ filename = server.mapPath(basePath & ckeditorFileName())
662
+ set oFSO = Server.CreateObject("Scripting.FileSystemObject")
663
+ exists = oFSO.FileExists(filename)
664
+ set oFSO = nothing
665
+
666
+ if not(exists) then
667
+ response.clear
668
+ response.write "<h1>CKEditor path validation failed</h1>"
669
+ response.write "<p>The path &quot;" & ckeditorPath & "&quot; doesn't include the CKEditor main file (" & ckeditorFileName() & ")</p>"
670
+ response.write "<p>Please, verify that you have set it correctly and/or adjust the 'basePath' property</p>"
671
+ response.write "<p>Checked for physical file: &quot;" & filename & "&quot;</p>"
672
+ response.end
673
+ end if
674
+ end function
675
+
676
+ End Class
677
+
678
+
679
+
680
+ ' URL: http://www.webdevbros.net/2007/04/26/generate-json-from-asp-datatypes/
681
+ '**************************************************************************************************************
682
+ '' @CLASSTITLE: JSON
683
+ '' @CREATOR: Michal Gabrukiewicz (gabru at grafix.at), Michael Rebec
684
+ '' @CONTRIBUTORS: - Cliff Pruitt (opensource at crayoncowboy.com)
685
+ '' - Sylvain Lafontaine
686
+ '' - Jef Housein
687
+ '' - Jeremy Brown
688
+ '' @CREATEDON: 2007-04-26 12:46
689
+ '' @CDESCRIPTION: Comes up with functionality for JSON (http://json.org) to use within ASP.
690
+ '' Correct escaping of characters, generating JSON Grammer out of ASP datatypes and structures
691
+ '' Some examples (all use the <em>toJSON()</em> method but as it is the class' default method it can be left out):
692
+ '' <code>
693
+ '' <%
694
+ '' 'simple number
695
+ '' output = (new JSON)("myNum", 2, false)
696
+ '' 'generates {"myNum": 2}
697
+ ''
698
+ '' 'array with different datatypes
699
+ '' output = (new JSON)("anArray", array(2, "x", null), true)
700
+ '' 'generates "anArray": [2, "x", null]
701
+ '' '(note: the last parameter was true, thus no surrounding brackets in the result)
702
+ '' % >
703
+ '' </code>
704
+ '' @REQUIRES: -
705
+ '' @OPTIONEXPLICIT: yes
706
+ '' @VERSION: 1.5.1
707
+
708
+ '**************************************************************************************************************
709
+ class JSON
710
+
711
+ 'private members
712
+ private output, innerCall
713
+
714
+ '**********************************************************************************************************
715
+ '* constructor
716
+ '**********************************************************************************************************
717
+ public sub class_initialize()
718
+ newGeneration()
719
+ end sub
720
+
721
+ '******************************************************************************************
722
+ '' @SDESCRIPTION: STATIC! takes a given string and makes it JSON valid
723
+ '' @DESCRIPTION: all characters which needs to be escaped are beeing replaced by their
724
+ '' unicode representation according to the
725
+ '' RFC4627#2.5 - http://www.ietf.org/rfc/rfc4627.txt?number=4627
726
+ '' @PARAM: val [string]: value which should be escaped
727
+ '' @RETURN: [string] JSON valid string
728
+ '******************************************************************************************
729
+ public function escape(val)
730
+ dim cDoubleQuote, cRevSolidus, cSolidus
731
+ cDoubleQuote = &h22
732
+ cRevSolidus = &h5C
733
+ cSolidus = &h2F
734
+ dim i, currentDigit
735
+ for i = 1 to (len(val))
736
+ currentDigit = mid(val, i, 1)
737
+ if ascw(currentDigit) > &h00 and ascw(currentDigit) < &h1F then
738
+ currentDigit = escapequence(currentDigit)
739
+ elseif ascw(currentDigit) >= &hC280 and ascw(currentDigit) <= &hC2BF then
740
+ currentDigit = "\u00" + right(padLeft(hex(ascw(currentDigit) - &hC200), 2, 0), 2)
741
+ elseif ascw(currentDigit) >= &hC380 and ascw(currentDigit) <= &hC3BF then
742
+ currentDigit = "\u00" + right(padLeft(hex(ascw(currentDigit) - &hC2C0), 2, 0), 2)
743
+ else
744
+ select case ascw(currentDigit)
745
+ case cDoubleQuote: currentDigit = escapequence(currentDigit)
746
+ case cRevSolidus: currentDigit = escapequence(currentDigit)
747
+ case cSolidus: currentDigit = escapequence(currentDigit)
748
+ end select
749
+ end if
750
+ escape = escape & currentDigit
751
+ next
752
+ end function
753
+
754
+ '******************************************************************************************************************
755
+ '' @SDESCRIPTION: generates a representation of a name value pair in JSON grammer
756
+ '' @DESCRIPTION: It generates a name value pair which is represented as <em>{"name": value}</em> in JSON.
757
+ '' the generation is fully recursive. Thus the value can also be a complex datatype (array in dictionary, etc.) e.g.
758
+ '' <code>
759
+ '' <%
760
+ '' set j = new JSON
761
+ '' j.toJSON "n", array(RS, dict, false), false
762
+ '' j.toJSON "n", array(array(), 2, true), false
763
+ '' % >
764
+ '' </code>
765
+ '' @PARAM: name [string]: name of the value (accessible with javascript afterwards). leave empty to get just the value
766
+ '' @PARAM: val [variant], [int], [float], [array], [object], [dictionary]: value which needs
767
+ '' to be generated. Conversation of the data types is as follows:<br>
768
+ '' - <strong>ASP datatype -> JavaScript datatype</strong>
769
+ '' - NOTHING, NULL -> null
770
+ '' - INT, DOUBLE -> number
771
+ '' - STRING -> string
772
+ '' - BOOLEAN -> bool
773
+ '' - ARRAY -> array
774
+ '' - DICTIONARY -> Represents it as name value pairs. Each key is accessible as property afterwards. json will look like <code>"name": {"key1": "some value", "key2": "other value"}</code>
775
+ '' - <em>multidimensional array</em> -> Generates a 1-dimensional array (flat) with all values of the multidimensional array
776
+ '' - <em>request</em> object -> every property and collection (cookies, form, querystring, etc) of the asp request object is exposed as an item of a dictionary. Property names are <strong>lowercase</strong>. e.g. <em>servervariables</em>.
777
+ '' - OBJECT -> name of the type (if unknown type) or all its properties (if class implements <em>reflect()</em> method)
778
+ '' Implement a <strong>reflect()</strong> function if you want your custom classes to be recognized. The function must return
779
+ '' a dictionary where the key holds the property name and the value its value. Example of a reflect function within a User class which has firstname and lastname properties
780
+ '' <code>
781
+ '' <%
782
+ '' function reflect()
783
+ '' . set reflect = server.createObject("scripting.dictionary")
784
+ '' . reflect.add "firstname", firstname
785
+ '' . reflect.add "lastname", lastname
786
+ '' end function
787
+ '' % >
788
+ '' </code>
789
+ '' Example of how to generate a JSON representation of the asp request object and access the <em>HTTP_HOST</em> server variable in JavaScript:
790
+ '' <code>
791
+ '' <script>alert(<%= (new JSON)(empty, request, false) % >.servervariables.HTTP_HOST);</script>
792
+ '' </code>
793
+ '' @PARAM: nested [bool]: indicates if the name value pair is already nested within another? if yes then the <em>{}</em> are left out.
794
+ '' @RETURN: [string] returns a JSON representation of the given name value pair
795
+ '******************************************************************************************************************
796
+ public default function toJSON(name, val, nested)
797
+ if not nested and not isEmpty(name) then write("{")
798
+ if not isEmpty(name) then write("""" & escape(name) & """: ")
799
+ generateValue(val)
800
+ if not nested and not isEmpty(name) then write("}")
801
+ toJSON = output
802
+
803
+ if innerCall = 0 then newGeneration()
804
+ end function
805
+
806
+ '******************************************************************************************************************
807
+ '* generate
808
+ '******************************************************************************************************************
809
+ private function generateValue(val)
810
+ if isNull(val) then
811
+ write("null")
812
+ elseif isArray(val) then
813
+ generateArray(val)
814
+ elseif isObject(val) then
815
+ dim tName : tName = typename(val)
816
+ if val is nothing then
817
+ write("null")
818
+ elseif tName = "Dictionary" or tName = "IRequestDictionary" then
819
+ generateDictionary(val)
820
+ elseif tName = "IRequest" then
821
+ set req = server.createObject("scripting.dictionary")
822
+ req.add "clientcertificate", val.ClientCertificate
823
+ req.add "cookies", val.cookies
824
+ req.add "form", val.form
825
+ req.add "querystring", val.queryString
826
+ req.add "servervariables", val.serverVariables
827
+ req.add "totalbytes", val.totalBytes
828
+ generateDictionary(req)
829
+ elseif tName = "IStringList" then
830
+ if val.count = 1 then
831
+ toJSON empty, val(1), true
832
+ else
833
+ generateArray(val)
834
+ end if
835
+ else
836
+ generateObject(val)
837
+ end if
838
+ else
839
+ 'bool
840
+ dim varTyp
841
+ varTyp = varType(val)
842
+ if varTyp = 11 then
843
+ if val then write("true") else write("false")
844
+ 'int, long, byte
845
+ elseif varTyp = 2 or varTyp = 3 or varTyp = 17 or varTyp = 19 then
846
+ write(cLng(val))
847
+ 'single, double, currency
848
+ elseif varTyp = 4 or varTyp = 5 or varTyp = 6 or varTyp = 14 then
849
+ write(replace(cDbl(val), ",", "."))
850
+ else
851
+ ' Using @@ at the beggining to signal JSON that we don't want this quoted.
852
+ if left(val, 2) = "@@" then
853
+ write( mid( val, 3 ) )
854
+ else
855
+ write("""" & escape(val & "") & """")
856
+ end if
857
+ end if
858
+ end if
859
+ generateValue = output
860
+ end function
861
+
862
+ '******************************************************************************************************************
863
+ '* generateArray
864
+ '******************************************************************************************************************
865
+ private sub generateArray(val)
866
+ dim item, i
867
+ write("[")
868
+ i = 0
869
+ 'the for each allows us to support also multi dimensional arrays
870
+ for each item in val
871
+ if i > 0 then write(",")
872
+ generateValue(item)
873
+ i = i + 1
874
+ next
875
+ write("]")
876
+ end sub
877
+
878
+ '******************************************************************************************************************
879
+ '* generateDictionary
880
+ '******************************************************************************************************************
881
+ private sub generateDictionary(val)
882
+ innerCall = innerCall + 1
883
+ if val.count = 0 then
884
+ toJSON empty, null, true
885
+ exit sub
886
+ end if
887
+ dim key, i
888
+ write("{")
889
+ i = 0
890
+ for each key in val
891
+ if i > 0 then write(",")
892
+ toJSON key, val(key), true
893
+ i = i + 1
894
+ next
895
+ write("}")
896
+ innerCall = innerCall - 1
897
+ end sub
898
+
899
+ '******************************************************************************************************************
900
+ '* generateObject
901
+ '******************************************************************************************************************
902
+ private sub generateObject(val)
903
+ dim props
904
+ on error resume next
905
+ set props = val.reflect()
906
+ if err = 0 then
907
+ on error goto 0
908
+ innerCall = innerCall + 1
909
+ toJSON empty, props, true
910
+ innerCall = innerCall - 1
911
+ else
912
+ on error goto 0
913
+ write("""" & escape(typename(val)) & """")
914
+ end if
915
+ end sub
916
+
917
+ '******************************************************************************************************************
918
+ '* newGeneration
919
+ '******************************************************************************************************************
920
+ private sub newGeneration()
921
+ output = empty
922
+ innerCall = 0
923
+ end sub
924
+
925
+ '******************************************************************************************
926
+ '* JsonEscapeSquence
927
+ '******************************************************************************************
928
+ private function escapequence(digit)
929
+ escapequence = "\u00" + right(padLeft(hex(ascw(digit)), 2, 0), 2)
930
+ end function
931
+
932
+ '******************************************************************************************
933
+ '* padLeft
934
+ '******************************************************************************************
935
+ private function padLeft(value, totalLength, paddingChar)
936
+ padLeft = right(clone(paddingChar, totalLength) & value, totalLength)
937
+ end function
938
+
939
+ '******************************************************************************************
940
+ '* clone
941
+ '******************************************************************************************
942
+ private function clone(byVal str, n)
943
+ dim i
944
+ for i = 1 to n : clone = clone & str : next
945
+ end function
946
+
947
+ '******************************************************************************************
948
+ '* write
949
+ '******************************************************************************************
950
+ private sub write(val)
951
+ output = output & val
952
+ end sub
953
+
954
+ end class
955
+ %>