rails_tinymce 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (659) hide show
  1. data/.gitignore +3 -0
  2. data/Gemfile +4 -0
  3. data/MIT-LICENSE +20 -0
  4. data/README.md +130 -0
  5. data/Rakefile +22 -0
  6. data/assets/app/controllers/attachments_controller.rb +31 -0
  7. data/assets/app/helpers/remote_link_renderer.rb +10 -0
  8. data/assets/app/models/tiny_print.rb +12 -0
  9. data/assets/app/models/tiny_video.rb +6 -0
  10. data/assets/app/views/attachments/_show_attachment_list.html.erb +34 -0
  11. data/assets/config/initializers/tiny_mce_plus_config.rb +76 -0
  12. data/assets/public/images/tiny_mce/spinner.gif +0 -0
  13. data/assets/public/javascripts/tiny_mce/.DS_Store +0 -0
  14. data/assets/public/javascripts/tiny_mce/blank.htm +9 -0
  15. data/assets/public/javascripts/tiny_mce/langs/en.js +154 -0
  16. data/assets/public/javascripts/tiny_mce/langs/readme.txt +9 -0
  17. data/assets/public/javascripts/tiny_mce/license.txt +504 -0
  18. data/assets/public/javascripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  19. data/assets/public/javascripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  20. data/assets/public/javascripts/tiny_mce/plugins/advhr/editor_plugin_src.js +54 -0
  21. data/assets/public/javascripts/tiny_mce/plugins/advhr/images/advhr.gif +0 -0
  22. data/assets/public/javascripts/tiny_mce/plugins/advhr/js/rule.js +34 -0
  23. data/assets/public/javascripts/tiny_mce/plugins/advhr/jscripts/rule.js +43 -0
  24. data/assets/public/javascripts/tiny_mce/plugins/advhr/langs/en.js +8 -0
  25. data/assets/public/javascripts/tiny_mce/plugins/advhr/langs/en_dlg.js +5 -0
  26. data/assets/public/javascripts/tiny_mce/plugins/advhr/readme.txt +1 -0
  27. data/assets/public/javascripts/tiny_mce/plugins/advhr/rule.htm +63 -0
  28. data/assets/public/javascripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  29. data/assets/public/javascripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  30. data/assets/public/javascripts/tiny_mce/plugins/advimage/editor_plugin_src.js +49 -0
  31. data/assets/public/javascripts/tiny_mce/plugins/advimage/image.htm +237 -0
  32. data/assets/public/javascripts/tiny_mce/plugins/advimage/images/sample.gif +0 -0
  33. data/assets/public/javascripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  34. data/assets/public/javascripts/tiny_mce/plugins/advimage/js/image.js +438 -0
  35. data/assets/public/javascripts/tiny_mce/plugins/advimage/jscripts/functions.js +538 -0
  36. data/assets/public/javascripts/tiny_mce/plugins/advimage/langs/en.js +27 -0
  37. data/assets/public/javascripts/tiny_mce/plugins/advimage/langs/en_dlg.js +43 -0
  38. data/assets/public/javascripts/tiny_mce/plugins/advimage/readme.txt +1 -0
  39. data/assets/public/javascripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  40. data/assets/public/javascripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  41. data/assets/public/javascripts/tiny_mce/plugins/advlink/editor_plugin_src.js +58 -0
  42. data/assets/public/javascripts/tiny_mce/plugins/advlink/js/advlink.js +563 -0
  43. data/assets/public/javascripts/tiny_mce/plugins/advlink/jscripts/functions.js +587 -0
  44. data/assets/public/javascripts/tiny_mce/plugins/advlink/langs/en.js +46 -0
  45. data/assets/public/javascripts/tiny_mce/plugins/advlink/langs/en_dlg.js +52 -0
  46. data/assets/public/javascripts/tiny_mce/plugins/advlink/link.htm +339 -0
  47. data/assets/public/javascripts/tiny_mce/plugins/advlink/readme.txt +1 -0
  48. data/assets/public/javascripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  49. data/assets/public/javascripts/tiny_mce/plugins/autosave/editor_plugin_src.js +51 -0
  50. data/assets/public/javascripts/tiny_mce/plugins/autosave/langs/en.js +5 -0
  51. data/assets/public/javascripts/tiny_mce/plugins/autosave/readme.txt +1 -0
  52. data/assets/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  53. data/assets/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +115 -0
  54. data/assets/public/javascripts/tiny_mce/plugins/compat2x/editor_plugin.js +1 -0
  55. data/assets/public/javascripts/tiny_mce/plugins/compat2x/editor_plugin_src.js +613 -0
  56. data/assets/public/javascripts/tiny_mce/plugins/contextmenu/css/contextmenu.css +74 -0
  57. data/assets/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  58. data/assets/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +84 -0
  59. data/assets/public/javascripts/tiny_mce/plugins/contextmenu/images/spacer.gif +0 -0
  60. data/assets/public/javascripts/tiny_mce/plugins/contextmenu/readme.txt +1 -0
  61. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/css/advimage.css +84 -0
  62. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/editor_plugin.js +49 -0
  63. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/editor_plugin_src.js +48 -0
  64. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/image.htm +270 -0
  65. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/img/sample.gif +0 -0
  66. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/js/functions.js +511 -0
  67. data/assets/public/javascripts/tiny_mce/plugins/curblyadvimage/langs/en_dlg.js +43 -0
  68. data/assets/public/javascripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  69. data/assets/public/javascripts/tiny_mce/plugins/directionality/editor_plugin_src.js +79 -0
  70. data/assets/public/javascripts/tiny_mce/plugins/directionality/images/ltr.gif +0 -0
  71. data/assets/public/javascripts/tiny_mce/plugins/directionality/images/rtl.gif +0 -0
  72. data/assets/public/javascripts/tiny_mce/plugins/directionality/langs/en.js +6 -0
  73. data/assets/public/javascripts/tiny_mce/plugins/directionality/readme.txt +1 -0
  74. data/assets/public/javascripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  75. data/assets/public/javascripts/tiny_mce/plugins/emotions/editor_plugin_src.js +40 -0
  76. data/assets/public/javascripts/tiny_mce/plugins/emotions/emotions.htm +41 -0
  77. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/emotions.gif +0 -0
  78. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/readme.txt +2 -0
  79. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-cool.gif +0 -0
  80. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-cry.gif +0 -0
  81. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-embarassed.gif +0 -0
  82. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-foot-in-mouth.gif +0 -0
  83. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-frown.gif +0 -0
  84. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-innocent.gif +0 -0
  85. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-kiss.gif +0 -0
  86. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-laughing.gif +0 -0
  87. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-money-mouth.gif +0 -0
  88. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-sealed.gif +0 -0
  89. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-smile.gif +0 -0
  90. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-surprised.gif +0 -0
  91. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-tongue-out.gif +0 -0
  92. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-undecided.gif +0 -0
  93. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-wink.gif +0 -0
  94. data/assets/public/javascripts/tiny_mce/plugins/emotions/images/smiley-yell.gif +0 -0
  95. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  96. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  97. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  98. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  99. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  100. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  101. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  102. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  103. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  104. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  105. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  106. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  107. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  108. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  109. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  110. data/assets/public/javascripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  111. data/assets/public/javascripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  112. data/assets/public/javascripts/tiny_mce/plugins/emotions/jscripts/functions.js +21 -0
  113. data/assets/public/javascripts/tiny_mce/plugins/emotions/langs/en.js +22 -0
  114. data/assets/public/javascripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
  115. data/assets/public/javascripts/tiny_mce/plugins/emotions/readme.txt +1 -0
  116. data/assets/public/javascripts/tiny_mce/plugins/example/dialog.htm +27 -0
  117. data/assets/public/javascripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
  118. data/assets/public/javascripts/tiny_mce/plugins/example/editor_plugin_src.js +81 -0
  119. data/assets/public/javascripts/tiny_mce/plugins/example/img/example.gif +0 -0
  120. data/assets/public/javascripts/tiny_mce/plugins/example/js/dialog.js +19 -0
  121. data/assets/public/javascripts/tiny_mce/plugins/example/langs/en.js +3 -0
  122. data/assets/public/javascripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  123. data/assets/public/javascripts/tiny_mce/plugins/fullpage/blank.htm +9 -0
  124. data/assets/public/javascripts/tiny_mce/plugins/fullpage/css/fullpage.css +178 -0
  125. data/assets/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  126. data/assets/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +122 -0
  127. data/assets/public/javascripts/tiny_mce/plugins/fullpage/fullpage.htm +577 -0
  128. data/assets/public/javascripts/tiny_mce/plugins/fullpage/images/add.gif +0 -0
  129. data/assets/public/javascripts/tiny_mce/plugins/fullpage/images/fullpage.gif +0 -0
  130. data/assets/public/javascripts/tiny_mce/plugins/fullpage/images/move_down.gif +0 -0
  131. data/assets/public/javascripts/tiny_mce/plugins/fullpage/images/move_up.gif +0 -0
  132. data/assets/public/javascripts/tiny_mce/plugins/fullpage/images/remove.gif +0 -0
  133. data/assets/public/javascripts/tiny_mce/plugins/fullpage/js/fullpage.js +462 -0
  134. data/assets/public/javascripts/tiny_mce/plugins/fullpage/jscripts/fullpage.js +580 -0
  135. data/assets/public/javascripts/tiny_mce/plugins/fullpage/langs/en.js +92 -0
  136. data/assets/public/javascripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
  137. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/css/page.css +21 -0
  138. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  139. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +131 -0
  140. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +97 -0
  141. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/images/fullscreen.gif +0 -0
  142. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/langs/en.js +5 -0
  143. data/assets/public/javascripts/tiny_mce/plugins/fullscreen/readme.txt +1 -0
  144. data/assets/public/javascripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  145. data/assets/public/javascripts/tiny_mce/plugins/iespell/editor_plugin_src.js +51 -0
  146. data/assets/public/javascripts/tiny_mce/plugins/iespell/images/iespell.gif +0 -0
  147. data/assets/public/javascripts/tiny_mce/plugins/iespell/langs/en.js +7 -0
  148. data/assets/public/javascripts/tiny_mce/plugins/iespell/readme.txt +1 -0
  149. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/css/inlinepopup.css +70 -0
  150. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  151. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +563 -0
  152. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/spacer.gif +0 -0
  153. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/window_back.png +0 -0
  154. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/window_close.gif +0 -0
  155. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/window_maximize.gif +0 -0
  156. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/window_minimize.gif +0 -0
  157. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/images/window_resize.gif +0 -0
  158. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/jscripts/mcwindows.js +453 -0
  159. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/readme.txt +0 -0
  160. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  161. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  162. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  163. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  164. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  165. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  166. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  167. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +89 -0
  168. data/assets/public/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  169. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  170. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +80 -0
  171. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/images/insertdate.gif +0 -0
  172. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/images/inserttime.gif +0 -0
  173. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/langs/en.js +12 -0
  174. data/assets/public/javascripts/tiny_mce/plugins/insertdatetime/readme.txt +1 -0
  175. data/assets/public/javascripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  176. data/assets/public/javascripts/tiny_mce/plugins/layer/editor_plugin_src.js +209 -0
  177. data/assets/public/javascripts/tiny_mce/plugins/layer/images/absolute.gif +0 -0
  178. data/assets/public/javascripts/tiny_mce/plugins/layer/images/backward.gif +0 -0
  179. data/assets/public/javascripts/tiny_mce/plugins/layer/images/forward.gif +0 -0
  180. data/assets/public/javascripts/tiny_mce/plugins/layer/images/insert_layer.gif +0 -0
  181. data/assets/public/javascripts/tiny_mce/plugins/layer/images/insertlayer.gif +0 -0
  182. data/assets/public/javascripts/tiny_mce/plugins/layer/images/movebackward.gif +0 -0
  183. data/assets/public/javascripts/tiny_mce/plugins/layer/images/moveforward.gif +0 -0
  184. data/assets/public/javascripts/tiny_mce/plugins/layer/langs/en.js +9 -0
  185. data/assets/public/javascripts/tiny_mce/plugins/layer/readme.txt +1 -0
  186. data/assets/public/javascripts/tiny_mce/plugins/media/css/content.css +6 -0
  187. data/assets/public/javascripts/tiny_mce/plugins/media/css/media.css +152 -0
  188. data/assets/public/javascripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
  189. data/assets/public/javascripts/tiny_mce/plugins/media/editor_plugin_src.js +353 -0
  190. data/assets/public/javascripts/tiny_mce/plugins/media/images/flash.gif +0 -0
  191. data/assets/public/javascripts/tiny_mce/plugins/media/images/media.gif +0 -0
  192. data/assets/public/javascripts/tiny_mce/plugins/media/images/quicktime.gif +0 -0
  193. data/assets/public/javascripts/tiny_mce/plugins/media/images/realmedia.gif +0 -0
  194. data/assets/public/javascripts/tiny_mce/plugins/media/images/shockwave.gif +0 -0
  195. data/assets/public/javascripts/tiny_mce/plugins/media/images/windowsmedia.gif +0 -0
  196. data/assets/public/javascripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  197. data/assets/public/javascripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  198. data/assets/public/javascripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  199. data/assets/public/javascripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
  200. data/assets/public/javascripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  201. data/assets/public/javascripts/tiny_mce/plugins/media/img/trans.gif +0 -0
  202. data/assets/public/javascripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
  203. data/assets/public/javascripts/tiny_mce/plugins/media/js/embed.js +73 -0
  204. data/assets/public/javascripts/tiny_mce/plugins/media/js/media.js +692 -0
  205. data/assets/public/javascripts/tiny_mce/plugins/media/jscripts/embed.js +73 -0
  206. data/assets/public/javascripts/tiny_mce/plugins/media/jscripts/media.js +590 -0
  207. data/assets/public/javascripts/tiny_mce/plugins/media/langs/en.js +94 -0
  208. data/assets/public/javascripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
  209. data/assets/public/javascripts/tiny_mce/plugins/media/media.htm +851 -0
  210. data/assets/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  211. data/assets/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +50 -0
  212. data/assets/public/javascripts/tiny_mce/plugins/nonbreaking/images/nonbreaking.gif +0 -0
  213. data/assets/public/javascripts/tiny_mce/plugins/nonbreaking/langs/en.js +5 -0
  214. data/assets/public/javascripts/tiny_mce/plugins/noneditable/css/noneditable.css +9 -0
  215. data/assets/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  216. data/assets/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +81 -0
  217. data/assets/public/javascripts/tiny_mce/plugins/noneditable/readme.txt +1 -0
  218. data/assets/public/javascripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
  219. data/assets/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  220. data/assets/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +73 -0
  221. data/assets/public/javascripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
  222. data/assets/public/javascripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  223. data/assets/public/javascripts/tiny_mce/plugins/paste/blank.htm +22 -0
  224. data/assets/public/javascripts/tiny_mce/plugins/paste/css/blank.css +14 -0
  225. data/assets/public/javascripts/tiny_mce/plugins/paste/css/pasteword.css +3 -0
  226. data/assets/public/javascripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  227. data/assets/public/javascripts/tiny_mce/plugins/paste/editor_plugin_src.js +382 -0
  228. data/assets/public/javascripts/tiny_mce/plugins/paste/images/pastetext.gif +0 -0
  229. data/assets/public/javascripts/tiny_mce/plugins/paste/images/pasteword.gif +0 -0
  230. data/assets/public/javascripts/tiny_mce/plugins/paste/images/selectall.gif +0 -0
  231. data/assets/public/javascripts/tiny_mce/plugins/paste/js/pastetext.js +42 -0
  232. data/assets/public/javascripts/tiny_mce/plugins/paste/js/pasteword.js +56 -0
  233. data/assets/public/javascripts/tiny_mce/plugins/paste/jscripts/pastetext.js +38 -0
  234. data/assets/public/javascripts/tiny_mce/plugins/paste/jscripts/pasteword.js +52 -0
  235. data/assets/public/javascripts/tiny_mce/plugins/paste/langs/en.js +10 -0
  236. data/assets/public/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  237. data/assets/public/javascripts/tiny_mce/plugins/paste/pastetext.htm +34 -0
  238. data/assets/public/javascripts/tiny_mce/plugins/paste/pasteword.htm +29 -0
  239. data/assets/public/javascripts/tiny_mce/plugins/paste/readme.txt +1 -0
  240. data/assets/public/javascripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  241. data/assets/public/javascripts/tiny_mce/plugins/preview/editor_plugin_src.js +187 -0
  242. data/assets/public/javascripts/tiny_mce/plugins/preview/example.html +28 -0
  243. data/assets/public/javascripts/tiny_mce/plugins/preview/images/preview.gif +0 -0
  244. data/assets/public/javascripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  245. data/assets/public/javascripts/tiny_mce/plugins/preview/langs/en.js +5 -0
  246. data/assets/public/javascripts/tiny_mce/plugins/preview/readme.txt +1 -0
  247. data/assets/public/javascripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
  248. data/assets/public/javascripts/tiny_mce/plugins/print/editor_plugin_src.js +31 -0
  249. data/assets/public/javascripts/tiny_mce/plugins/print/images/print.gif +0 -0
  250. data/assets/public/javascripts/tiny_mce/plugins/print/langs/en.js +5 -0
  251. data/assets/public/javascripts/tiny_mce/plugins/print/readme.txt +1 -0
  252. data/assets/public/javascripts/tiny_mce/plugins/readme.txt +1 -0
  253. data/assets/public/javascripts/tiny_mce/plugins/safari/blank.htm +1 -0
  254. data/assets/public/javascripts/tiny_mce/plugins/safari/editor_plugin.js +1 -0
  255. data/assets/public/javascripts/tiny_mce/plugins/safari/editor_plugin_src.js +414 -0
  256. data/assets/public/javascripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
  257. data/assets/public/javascripts/tiny_mce/plugins/save/editor_plugin_src.js +100 -0
  258. data/assets/public/javascripts/tiny_mce/plugins/save/images/cancel.gif +0 -0
  259. data/assets/public/javascripts/tiny_mce/plugins/save/images/save.gif +0 -0
  260. data/assets/public/javascripts/tiny_mce/plugins/save/langs/en.js +6 -0
  261. data/assets/public/javascripts/tiny_mce/plugins/save/readme.txt +1 -0
  262. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  263. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  264. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +53 -0
  265. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/images/replace.gif +0 -0
  266. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/images/replace_all_button_bg.gif +0 -0
  267. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/images/replace_button_bg.gif +0 -0
  268. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/images/search.gif +0 -0
  269. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +110 -0
  270. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/jscripts/searchreplace.js +86 -0
  271. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/langs/en.js +21 -0
  272. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
  273. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/readme.txt +1 -0
  274. data/assets/public/javascripts/tiny_mce/plugins/searchreplace/searchreplace.htm +105 -0
  275. data/assets/public/javascripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  276. data/assets/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  277. data/assets/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +336 -0
  278. data/assets/public/javascripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  279. data/assets/public/javascripts/tiny_mce/plugins/style/css/props.css +13 -0
  280. data/assets/public/javascripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
  281. data/assets/public/javascripts/tiny_mce/plugins/style/editor_plugin_src.js +48 -0
  282. data/assets/public/javascripts/tiny_mce/plugins/style/images/apply_button_bg.gif +0 -0
  283. data/assets/public/javascripts/tiny_mce/plugins/style/images/style_info.gif +0 -0
  284. data/assets/public/javascripts/tiny_mce/plugins/style/images/styleprops.gif +0 -0
  285. data/assets/public/javascripts/tiny_mce/plugins/style/js/props.js +641 -0
  286. data/assets/public/javascripts/tiny_mce/plugins/style/jscripts/props.js +633 -0
  287. data/assets/public/javascripts/tiny_mce/plugins/style/langs/en.js +66 -0
  288. data/assets/public/javascripts/tiny_mce/plugins/style/langs/en_dlg.js +63 -0
  289. data/assets/public/javascripts/tiny_mce/plugins/style/props.htm +731 -0
  290. data/assets/public/javascripts/tiny_mce/plugins/style/readme.txt +1 -0
  291. data/assets/public/javascripts/tiny_mce/plugins/table/cell.htm +183 -0
  292. data/assets/public/javascripts/tiny_mce/plugins/table/css/cell.css +17 -0
  293. data/assets/public/javascripts/tiny_mce/plugins/table/css/row.css +25 -0
  294. data/assets/public/javascripts/tiny_mce/plugins/table/css/table.css +13 -0
  295. data/assets/public/javascripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  296. data/assets/public/javascripts/tiny_mce/plugins/table/editor_plugin_src.js +1038 -0
  297. data/assets/public/javascripts/tiny_mce/plugins/table/images/buttons.gif +0 -0
  298. data/assets/public/javascripts/tiny_mce/plugins/table/images/table.gif +0 -0
  299. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_cell_props.gif +0 -0
  300. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_delete.gif +0 -0
  301. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_delete_col.gif +0 -0
  302. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_delete_row.gif +0 -0
  303. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_insert_col_after.gif +0 -0
  304. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_insert_col_before.gif +0 -0
  305. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_insert_row_after.gif +0 -0
  306. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_insert_row_before.gif +0 -0
  307. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_merge_cells.gif +0 -0
  308. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_row_props.gif +0 -0
  309. data/assets/public/javascripts/tiny_mce/plugins/table/images/table_split_cells.gif +0 -0
  310. data/assets/public/javascripts/tiny_mce/plugins/table/js/cell.js +256 -0
  311. data/assets/public/javascripts/tiny_mce/plugins/table/js/merge_cells.js +28 -0
  312. data/assets/public/javascripts/tiny_mce/plugins/table/js/row.js +207 -0
  313. data/assets/public/javascripts/tiny_mce/plugins/table/js/table.js +382 -0
  314. data/assets/public/javascripts/tiny_mce/plugins/table/jscripts/cell.js +249 -0
  315. data/assets/public/javascripts/tiny_mce/plugins/table/jscripts/merge_cells.js +24 -0
  316. data/assets/public/javascripts/tiny_mce/plugins/table/jscripts/row.js +200 -0
  317. data/assets/public/javascripts/tiny_mce/plugins/table/jscripts/table.js +364 -0
  318. data/assets/public/javascripts/tiny_mce/plugins/table/langs/en.js +79 -0
  319. data/assets/public/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
  320. data/assets/public/javascripts/tiny_mce/plugins/table/merge_cells.htm +38 -0
  321. data/assets/public/javascripts/tiny_mce/plugins/table/readme.txt +1 -0
  322. data/assets/public/javascripts/tiny_mce/plugins/table/row.htm +160 -0
  323. data/assets/public/javascripts/tiny_mce/plugins/table/table.htm +192 -0
  324. data/assets/public/javascripts/tiny_mce/plugins/template/blank.htm +12 -0
  325. data/assets/public/javascripts/tiny_mce/plugins/template/css/template.css +23 -0
  326. data/assets/public/javascripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
  327. data/assets/public/javascripts/tiny_mce/plugins/template/editor_plugin_src.js +149 -0
  328. data/assets/public/javascripts/tiny_mce/plugins/template/images/template.gif +0 -0
  329. data/assets/public/javascripts/tiny_mce/plugins/template/js/template.js +100 -0
  330. data/assets/public/javascripts/tiny_mce/plugins/template/jscripts/template.js +143 -0
  331. data/assets/public/javascripts/tiny_mce/plugins/template/langs/en.js +16 -0
  332. data/assets/public/javascripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
  333. data/assets/public/javascripts/tiny_mce/plugins/template/template.htm +39 -0
  334. data/assets/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  335. data/assets/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +73 -0
  336. data/assets/public/javascripts/tiny_mce/plugins/visualchars/images/visualchars.gif +0 -0
  337. data/assets/public/javascripts/tiny_mce/plugins/visualchars/langs/en.js +5 -0
  338. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +149 -0
  339. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +149 -0
  340. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +154 -0
  341. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/cite.htm +149 -0
  342. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  343. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  344. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/xhtmlxtras.css +24 -0
  345. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/del.htm +170 -0
  346. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  347. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +134 -0
  348. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/abbr.gif +0 -0
  349. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/acronym.gif +0 -0
  350. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/attribs.gif +0 -0
  351. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/cite.gif +0 -0
  352. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/date_time.gif +0 -0
  353. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/del.gif +0 -0
  354. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/ins.gif +0 -0
  355. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/images/remove_button_bg.gif +0 -0
  356. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/ins.htm +170 -0
  357. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +25 -0
  358. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +25 -0
  359. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +123 -0
  360. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +25 -0
  361. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/del.js +50 -0
  362. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +221 -0
  363. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +49 -0
  364. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/abbr.js +29 -0
  365. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/acronym.js +29 -0
  366. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/attributes.js +130 -0
  367. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/cite.js +29 -0
  368. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/del.js +54 -0
  369. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/element_common.js +241 -0
  370. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/jscripts/ins.js +53 -0
  371. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en.js +42 -0
  372. data/assets/public/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  373. data/assets/public/javascripts/tiny_mce/themes/advanced/about.htm +56 -0
  374. data/assets/public/javascripts/tiny_mce/themes/advanced/anchor.htm +32 -0
  375. data/assets/public/javascripts/tiny_mce/themes/advanced/charmap.htm +54 -0
  376. data/assets/public/javascripts/tiny_mce/themes/advanced/color_picker.htm +74 -0
  377. data/assets/public/javascripts/tiny_mce/themes/advanced/css/colorpicker.css +53 -0
  378. data/assets/public/javascripts/tiny_mce/themes/advanced/css/editor_content.css +45 -0
  379. data/assets/public/javascripts/tiny_mce/themes/advanced/css/editor_popup.css +331 -0
  380. data/assets/public/javascripts/tiny_mce/themes/advanced/css/editor_ui.css +97 -0
  381. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/about.htm +31 -0
  382. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/common_buttons.htm +162 -0
  383. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/create_accessible_content.htm +45 -0
  384. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/images/insert_anchor_window.gif +0 -0
  385. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/images/insert_image_window.gif +0 -0
  386. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/images/insert_link_window.gif +0 -0
  387. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/images/insert_table_window.gif +0 -0
  388. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/index.htm +27 -0
  389. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/insert_anchor_button.htm +32 -0
  390. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/insert_image_button.htm +65 -0
  391. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/insert_link_button.htm +33 -0
  392. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/insert_table_button.htm +71 -0
  393. data/assets/public/javascripts/tiny_mce/themes/advanced/docs/en/style.css +28 -0
  394. data/assets/public/javascripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  395. data/assets/public/javascripts/tiny_mce/themes/advanced/editor_template_src.js +998 -0
  396. data/assets/public/javascripts/tiny_mce/themes/advanced/image.htm +86 -0
  397. data/assets/public/javascripts/tiny_mce/themes/advanced/images/anchor.gif +0 -0
  398. data/assets/public/javascripts/tiny_mce/themes/advanced/images/anchor_symbol.gif +0 -0
  399. data/assets/public/javascripts/tiny_mce/themes/advanced/images/backcolor.gif +0 -0
  400. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold.gif +0 -0
  401. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold_de_se.gif +0 -0
  402. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold_es.gif +0 -0
  403. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold_fr.gif +0 -0
  404. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold_ru.gif +0 -0
  405. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bold_tw.gif +0 -0
  406. data/assets/public/javascripts/tiny_mce/themes/advanced/images/browse.gif +0 -0
  407. data/assets/public/javascripts/tiny_mce/themes/advanced/images/bullist.gif +0 -0
  408. data/assets/public/javascripts/tiny_mce/themes/advanced/images/button_menu.gif +0 -0
  409. data/assets/public/javascripts/tiny_mce/themes/advanced/images/buttons.gif +0 -0
  410. data/assets/public/javascripts/tiny_mce/themes/advanced/images/cancel_button_bg.gif +0 -0
  411. data/assets/public/javascripts/tiny_mce/themes/advanced/images/charmap.gif +0 -0
  412. data/assets/public/javascripts/tiny_mce/themes/advanced/images/cleanup.gif +0 -0
  413. data/assets/public/javascripts/tiny_mce/themes/advanced/images/close.gif +0 -0
  414. data/assets/public/javascripts/tiny_mce/themes/advanced/images/code.gif +0 -0
  415. data/assets/public/javascripts/tiny_mce/themes/advanced/images/color.gif +0 -0
  416. data/assets/public/javascripts/tiny_mce/themes/advanced/images/colors.jpg +0 -0
  417. data/assets/public/javascripts/tiny_mce/themes/advanced/images/copy.gif +0 -0
  418. data/assets/public/javascripts/tiny_mce/themes/advanced/images/custom_1.gif +0 -0
  419. data/assets/public/javascripts/tiny_mce/themes/advanced/images/cut.gif +0 -0
  420. data/assets/public/javascripts/tiny_mce/themes/advanced/images/forecolor.gif +0 -0
  421. data/assets/public/javascripts/tiny_mce/themes/advanced/images/help.gif +0 -0
  422. data/assets/public/javascripts/tiny_mce/themes/advanced/images/hr.gif +0 -0
  423. data/assets/public/javascripts/tiny_mce/themes/advanced/images/image.gif +0 -0
  424. data/assets/public/javascripts/tiny_mce/themes/advanced/images/indent.gif +0 -0
  425. data/assets/public/javascripts/tiny_mce/themes/advanced/images/insert_button_bg.gif +0 -0
  426. data/assets/public/javascripts/tiny_mce/themes/advanced/images/italic.gif +0 -0
  427. data/assets/public/javascripts/tiny_mce/themes/advanced/images/italic_de_se.gif +0 -0
  428. data/assets/public/javascripts/tiny_mce/themes/advanced/images/italic_es.gif +0 -0
  429. data/assets/public/javascripts/tiny_mce/themes/advanced/images/italic_ru.gif +0 -0
  430. data/assets/public/javascripts/tiny_mce/themes/advanced/images/italic_tw.gif +0 -0
  431. data/assets/public/javascripts/tiny_mce/themes/advanced/images/justifycenter.gif +0 -0
  432. data/assets/public/javascripts/tiny_mce/themes/advanced/images/justifyfull.gif +0 -0
  433. data/assets/public/javascripts/tiny_mce/themes/advanced/images/justifyleft.gif +0 -0
  434. data/assets/public/javascripts/tiny_mce/themes/advanced/images/justifyright.gif +0 -0
  435. data/assets/public/javascripts/tiny_mce/themes/advanced/images/link.gif +0 -0
  436. data/assets/public/javascripts/tiny_mce/themes/advanced/images/menu_check.gif +0 -0
  437. data/assets/public/javascripts/tiny_mce/themes/advanced/images/newdocument.gif +0 -0
  438. data/assets/public/javascripts/tiny_mce/themes/advanced/images/numlist.gif +0 -0
  439. data/assets/public/javascripts/tiny_mce/themes/advanced/images/opacity.png +0 -0
  440. data/assets/public/javascripts/tiny_mce/themes/advanced/images/outdent.gif +0 -0
  441. data/assets/public/javascripts/tiny_mce/themes/advanced/images/paste.gif +0 -0
  442. data/assets/public/javascripts/tiny_mce/themes/advanced/images/redo.gif +0 -0
  443. data/assets/public/javascripts/tiny_mce/themes/advanced/images/removeformat.gif +0 -0
  444. data/assets/public/javascripts/tiny_mce/themes/advanced/images/separator.gif +0 -0
  445. data/assets/public/javascripts/tiny_mce/themes/advanced/images/spacer.gif +0 -0
  446. data/assets/public/javascripts/tiny_mce/themes/advanced/images/statusbar_resize.gif +0 -0
  447. data/assets/public/javascripts/tiny_mce/themes/advanced/images/strikethrough.gif +0 -0
  448. data/assets/public/javascripts/tiny_mce/themes/advanced/images/sub.gif +0 -0
  449. data/assets/public/javascripts/tiny_mce/themes/advanced/images/sup.gif +0 -0
  450. data/assets/public/javascripts/tiny_mce/themes/advanced/images/toolbar_bg.gif +0 -0
  451. data/assets/public/javascripts/tiny_mce/themes/advanced/images/underline.gif +0 -0
  452. data/assets/public/javascripts/tiny_mce/themes/advanced/images/underline_es.gif +0 -0
  453. data/assets/public/javascripts/tiny_mce/themes/advanced/images/underline_fr.gif +0 -0
  454. data/assets/public/javascripts/tiny_mce/themes/advanced/images/underline_ru.gif +0 -0
  455. data/assets/public/javascripts/tiny_mce/themes/advanced/images/underline_tw.gif +0 -0
  456. data/assets/public/javascripts/tiny_mce/themes/advanced/images/undo.gif +0 -0
  457. data/assets/public/javascripts/tiny_mce/themes/advanced/images/unlink.gif +0 -0
  458. data/assets/public/javascripts/tiny_mce/themes/advanced/images/visualaid.gif +0 -0
  459. data/assets/public/javascripts/tiny_mce/themes/advanced/images/xp/tab_bg.gif +0 -0
  460. data/assets/public/javascripts/tiny_mce/themes/advanced/images/xp/tab_end.gif +0 -0
  461. data/assets/public/javascripts/tiny_mce/themes/advanced/images/xp/tab_sel_bg.gif +0 -0
  462. data/assets/public/javascripts/tiny_mce/themes/advanced/images/xp/tab_sel_end.gif +0 -0
  463. data/assets/public/javascripts/tiny_mce/themes/advanced/images/xp/tabs_bg.gif +0 -0
  464. data/assets/public/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  465. data/assets/public/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  466. data/assets/public/javascripts/tiny_mce/themes/advanced/js/about.js +76 -0
  467. data/assets/public/javascripts/tiny_mce/themes/advanced/js/anchor.js +33 -0
  468. data/assets/public/javascripts/tiny_mce/themes/advanced/js/charmap.js +325 -0
  469. data/assets/public/javascripts/tiny_mce/themes/advanced/js/color_picker.js +245 -0
  470. data/assets/public/javascripts/tiny_mce/themes/advanced/js/image.js +243 -0
  471. data/assets/public/javascripts/tiny_mce/themes/advanced/js/link.js +124 -0
  472. data/assets/public/javascripts/tiny_mce/themes/advanced/js/source_editor.js +62 -0
  473. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/about.js +75 -0
  474. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/anchor.js +74 -0
  475. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/charmap.js +326 -0
  476. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/color_picker.js +240 -0
  477. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/image.js +81 -0
  478. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/link.js +74 -0
  479. data/assets/public/javascripts/tiny_mce/themes/advanced/jscripts/source_editor.js +59 -0
  480. data/assets/public/javascripts/tiny_mce/themes/advanced/langs/en.js +62 -0
  481. data/assets/public/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
  482. data/assets/public/javascripts/tiny_mce/themes/advanced/link.htm +64 -0
  483. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/content.css +18 -0
  484. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +114 -0
  485. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  486. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  487. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  488. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  489. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  490. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  491. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +195 -0
  492. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +18 -0
  493. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +113 -0
  494. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  495. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  496. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  497. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +195 -0
  498. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  499. data/assets/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  500. data/assets/public/javascripts/tiny_mce/themes/advanced/source_editor.htm +32 -0
  501. data/assets/public/javascripts/tiny_mce/themes/simple/css/editor_content.css +25 -0
  502. data/assets/public/javascripts/tiny_mce/themes/simple/css/editor_popup.css +41 -0
  503. data/assets/public/javascripts/tiny_mce/themes/simple/css/editor_ui.css +125 -0
  504. data/assets/public/javascripts/tiny_mce/themes/simple/editor_template.js +1 -0
  505. data/assets/public/javascripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
  506. data/assets/public/javascripts/tiny_mce/themes/simple/images/bold.gif +0 -0
  507. data/assets/public/javascripts/tiny_mce/themes/simple/images/bold_de_se.gif +0 -0
  508. data/assets/public/javascripts/tiny_mce/themes/simple/images/bold_fr.gif +0 -0
  509. data/assets/public/javascripts/tiny_mce/themes/simple/images/bold_ru.gif +0 -0
  510. data/assets/public/javascripts/tiny_mce/themes/simple/images/bold_tw.gif +0 -0
  511. data/assets/public/javascripts/tiny_mce/themes/simple/images/bullist.gif +0 -0
  512. data/assets/public/javascripts/tiny_mce/themes/simple/images/buttons.gif +0 -0
  513. data/assets/public/javascripts/tiny_mce/themes/simple/images/cleanup.gif +0 -0
  514. data/assets/public/javascripts/tiny_mce/themes/simple/images/italic.gif +0 -0
  515. data/assets/public/javascripts/tiny_mce/themes/simple/images/italic_de_se.gif +0 -0
  516. data/assets/public/javascripts/tiny_mce/themes/simple/images/italic_ru.gif +0 -0
  517. data/assets/public/javascripts/tiny_mce/themes/simple/images/italic_tw.gif +0 -0
  518. data/assets/public/javascripts/tiny_mce/themes/simple/images/numlist.gif +0 -0
  519. data/assets/public/javascripts/tiny_mce/themes/simple/images/redo.gif +0 -0
  520. data/assets/public/javascripts/tiny_mce/themes/simple/images/separator.gif +0 -0
  521. data/assets/public/javascripts/tiny_mce/themes/simple/images/spacer.gif +0 -0
  522. data/assets/public/javascripts/tiny_mce/themes/simple/images/strikethrough.gif +0 -0
  523. data/assets/public/javascripts/tiny_mce/themes/simple/images/underline.gif +0 -0
  524. data/assets/public/javascripts/tiny_mce/themes/simple/images/underline_fr.gif +0 -0
  525. data/assets/public/javascripts/tiny_mce/themes/simple/images/underline_ru.gif +0 -0
  526. data/assets/public/javascripts/tiny_mce/themes/simple/images/underline_tw.gif +0 -0
  527. data/assets/public/javascripts/tiny_mce/themes/simple/images/undo.gif +0 -0
  528. data/assets/public/javascripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  529. data/assets/public/javascripts/tiny_mce/themes/simple/langs/en.js +11 -0
  530. data/assets/public/javascripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
  531. data/assets/public/javascripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  532. data/assets/public/javascripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  533. data/assets/public/javascripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  534. data/assets/public/javascripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  535. data/assets/public/javascripts/tiny_mce/tiny_mce.js +1 -0
  536. data/assets/public/javascripts/tiny_mce/tiny_mce_popup.js +246 -0
  537. data/assets/public/javascripts/tiny_mce/tiny_mce_src.js +9608 -0
  538. data/assets/public/javascripts/tiny_mce/utils/editable_selects.js +61 -0
  539. data/assets/public/javascripts/tiny_mce/utils/form_utils.js +195 -0
  540. data/assets/public/javascripts/tiny_mce/utils/mclayer.js +210 -0
  541. data/assets/public/javascripts/tiny_mce/utils/mctabs.js +74 -0
  542. data/assets/public/javascripts/tiny_mce/utils/validate.js +219 -0
  543. data/generators/rails_tiny_mce_migration/rails_tiny_mce_migration_generator.rb +11 -0
  544. data/generators/rails_tiny_mce_migration/templates/migration.rb +24 -0
  545. data/init.rb +3 -0
  546. data/install.rb +1 -0
  547. data/lib/rails_tinymce.rb +3 -0
  548. data/lib/rails_tinymce/version.rb +3 -0
  549. data/lib/tiny_mce.rb +36 -0
  550. data/lib/tiny_mce_helper.rb +48 -0
  551. data/plugins/paperclip/LICENSE +26 -0
  552. data/plugins/paperclip/README.rdoc +174 -0
  553. data/plugins/paperclip/Rakefile +99 -0
  554. data/plugins/paperclip/cucumber/paperclip_steps.rb +6 -0
  555. data/plugins/paperclip/generators/paperclip/USAGE +5 -0
  556. data/plugins/paperclip/generators/paperclip/paperclip_generator.rb +27 -0
  557. data/plugins/paperclip/generators/paperclip/templates/paperclip_migration.rb.erb +19 -0
  558. data/plugins/paperclip/init.rb +1 -0
  559. data/plugins/paperclip/lib/paperclip.rb +353 -0
  560. data/plugins/paperclip/lib/paperclip/attachment.rb +414 -0
  561. data/plugins/paperclip/lib/paperclip/callback_compatability.rb +33 -0
  562. data/plugins/paperclip/lib/paperclip/geometry.rb +115 -0
  563. data/plugins/paperclip/lib/paperclip/interpolations.rb +108 -0
  564. data/plugins/paperclip/lib/paperclip/iostream.rb +58 -0
  565. data/plugins/paperclip/lib/paperclip/matchers.rb +4 -0
  566. data/plugins/paperclip/lib/paperclip/matchers/have_attached_file_matcher.rb +49 -0
  567. data/plugins/paperclip/lib/paperclip/matchers/validate_attachment_content_type_matcher.rb +66 -0
  568. data/plugins/paperclip/lib/paperclip/matchers/validate_attachment_presence_matcher.rb +48 -0
  569. data/plugins/paperclip/lib/paperclip/matchers/validate_attachment_size_matcher.rb +83 -0
  570. data/plugins/paperclip/lib/paperclip/processor.rb +49 -0
  571. data/plugins/paperclip/lib/paperclip/storage.rb +243 -0
  572. data/plugins/paperclip/lib/paperclip/thumbnail.rb +73 -0
  573. data/plugins/paperclip/lib/paperclip/upfile.rb +48 -0
  574. data/plugins/paperclip/paperclip.gemspec +37 -0
  575. data/plugins/paperclip/shoulda_macros/paperclip.rb +117 -0
  576. data/plugins/paperclip/tasks/paperclip_tasks.rake +79 -0
  577. data/plugins/paperclip/test/.gitignore +1 -0
  578. data/plugins/paperclip/test/attachment_test.rb +780 -0
  579. data/plugins/paperclip/test/database.yml +4 -0
  580. data/plugins/paperclip/test/fixtures/12k.png +0 -0
  581. data/plugins/paperclip/test/fixtures/50x50.png +0 -0
  582. data/plugins/paperclip/test/fixtures/5k.png +0 -0
  583. data/plugins/paperclip/test/fixtures/bad.png +1 -0
  584. data/plugins/paperclip/test/fixtures/s3.yml +8 -0
  585. data/plugins/paperclip/test/fixtures/text.txt +0 -0
  586. data/plugins/paperclip/test/fixtures/twopage.pdf +0 -0
  587. data/plugins/paperclip/test/geometry_test.rb +177 -0
  588. data/plugins/paperclip/test/helper.rb +108 -0
  589. data/plugins/paperclip/test/integration_test.rb +483 -0
  590. data/plugins/paperclip/test/interpolations_test.rb +124 -0
  591. data/plugins/paperclip/test/iostream_test.rb +71 -0
  592. data/plugins/paperclip/test/matchers/have_attached_file_matcher_test.rb +21 -0
  593. data/plugins/paperclip/test/matchers/validate_attachment_content_type_matcher_test.rb +30 -0
  594. data/plugins/paperclip/test/matchers/validate_attachment_presence_matcher_test.rb +21 -0
  595. data/plugins/paperclip/test/matchers/validate_attachment_size_matcher_test.rb +50 -0
  596. data/plugins/paperclip/test/paperclip_test.rb +327 -0
  597. data/plugins/paperclip/test/processor_test.rb +10 -0
  598. data/plugins/paperclip/test/storage_test.rb +303 -0
  599. data/plugins/paperclip/test/thumbnail_test.rb +227 -0
  600. data/plugins/responds_to_parent/MIT-LICENSE +20 -0
  601. data/plugins/responds_to_parent/README +42 -0
  602. data/plugins/responds_to_parent/Rakefile +22 -0
  603. data/plugins/responds_to_parent/init.rb +2 -0
  604. data/plugins/responds_to_parent/lib/parent_selector_assertion.rb +144 -0
  605. data/plugins/responds_to_parent/lib/responds_to_parent.rb +46 -0
  606. data/plugins/responds_to_parent/test/assert_select_parent_test.rb +318 -0
  607. data/plugins/responds_to_parent/test/responds_to_parent_test.rb +115 -0
  608. data/plugins/will_paginate/.gitignore +4 -0
  609. data/plugins/will_paginate/.manifest +49 -0
  610. data/plugins/will_paginate/CHANGELOG +92 -0
  611. data/plugins/will_paginate/LICENSE +18 -0
  612. data/plugins/will_paginate/README.rdoc +131 -0
  613. data/plugins/will_paginate/Rakefile +62 -0
  614. data/plugins/will_paginate/examples/apple-circle.gif +0 -0
  615. data/plugins/will_paginate/examples/index.haml +69 -0
  616. data/plugins/will_paginate/examples/index.html +92 -0
  617. data/plugins/will_paginate/examples/pagination.css +90 -0
  618. data/plugins/will_paginate/examples/pagination.sass +91 -0
  619. data/plugins/will_paginate/init.rb +1 -0
  620. data/plugins/will_paginate/lib/will_paginate.rb +86 -0
  621. data/plugins/will_paginate/lib/will_paginate/array.rb +16 -0
  622. data/plugins/will_paginate/lib/will_paginate/collection.rb +145 -0
  623. data/plugins/will_paginate/lib/will_paginate/core_ext.rb +32 -0
  624. data/plugins/will_paginate/lib/will_paginate/finder.rb +247 -0
  625. data/plugins/will_paginate/lib/will_paginate/named_scope.rb +132 -0
  626. data/plugins/will_paginate/lib/will_paginate/named_scope_patch.rb +39 -0
  627. data/plugins/will_paginate/lib/will_paginate/version.rb +9 -0
  628. data/plugins/will_paginate/lib/will_paginate/view_helpers.rb +373 -0
  629. data/plugins/will_paginate/test/boot.rb +21 -0
  630. data/plugins/will_paginate/test/collection_test.rb +140 -0
  631. data/plugins/will_paginate/test/console +8 -0
  632. data/plugins/will_paginate/test/database.yml +22 -0
  633. data/plugins/will_paginate/test/finder_test.rb +434 -0
  634. data/plugins/will_paginate/test/fixtures/admin.rb +3 -0
  635. data/plugins/will_paginate/test/fixtures/developer.rb +13 -0
  636. data/plugins/will_paginate/test/fixtures/developers_projects.yml +13 -0
  637. data/plugins/will_paginate/test/fixtures/project.rb +15 -0
  638. data/plugins/will_paginate/test/fixtures/projects.yml +6 -0
  639. data/plugins/will_paginate/test/fixtures/replies.yml +29 -0
  640. data/plugins/will_paginate/test/fixtures/reply.rb +7 -0
  641. data/plugins/will_paginate/test/fixtures/schema.rb +38 -0
  642. data/plugins/will_paginate/test/fixtures/topic.rb +6 -0
  643. data/plugins/will_paginate/test/fixtures/topics.yml +30 -0
  644. data/plugins/will_paginate/test/fixtures/user.rb +2 -0
  645. data/plugins/will_paginate/test/fixtures/users.yml +35 -0
  646. data/plugins/will_paginate/test/helper.rb +37 -0
  647. data/plugins/will_paginate/test/lib/activerecord_test_case.rb +36 -0
  648. data/plugins/will_paginate/test/lib/activerecord_test_connector.rb +69 -0
  649. data/plugins/will_paginate/test/lib/load_fixtures.rb +11 -0
  650. data/plugins/will_paginate/test/lib/view_test_process.rb +165 -0
  651. data/plugins/will_paginate/test/tasks.rake +56 -0
  652. data/plugins/will_paginate/test/view_test.rb +355 -0
  653. data/plugins/will_paginate/will_paginate.gemspec +21 -0
  654. data/rails_tinymce.gemspec +21 -0
  655. data/tasks/tiny_mce_plus_tasks.rake +23 -0
  656. data/test/tiny_mce_plus_test.rb +8 -0
  657. data/tiny_mce_options.yml +124 -0
  658. data/uninstall.rb +1 -0
  659. metadata +725 -0
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2006 Sean Treadway
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,42 @@
1
+ RespondsToParent
2
+ ================
3
+
4
+ Adds responds_to_parent to your controller to respond to the parent document of your page.
5
+ Make Ajaxy file uploads by posting the form to a hidden iframe, and respond with
6
+ RJS to the parent window.
7
+
8
+ Example
9
+ =======
10
+
11
+ Controller:
12
+
13
+ class Test < ActionController::Base
14
+ def main
15
+ end
16
+
17
+ def form_action
18
+ # Do stuff with params[:uploaded_file]
19
+
20
+ responds_to_parent do
21
+ render :update do |page|
22
+ page << "alert($('stuff').innerHTML)"
23
+ end
24
+ end
25
+ end
26
+ end
27
+
28
+ main.rhtml:
29
+
30
+ <html>
31
+ <body>
32
+ <div id="stuff">Here is some stuff</div>
33
+
34
+ <form target="frame" action="form_action">
35
+ <input type="file" name="uploaded_file"/>
36
+ <input type="submit"/>
37
+ </form>
38
+
39
+ <iframe id='frame' name="frame"></iframe>
40
+ </body>
41
+ </html>
42
+
@@ -0,0 +1,22 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+ require 'rake/rdoctask'
4
+
5
+ desc 'Default: run unit tests.'
6
+ task :default => :test
7
+
8
+ desc 'Test the responds_to_parent plugin.'
9
+ Rake::TestTask.new(:test) do |t|
10
+ t.libs << 'lib'
11
+ t.pattern = 'test/**/*_test.rb'
12
+ t.verbose = true
13
+ end
14
+
15
+ desc 'Generate documentation for the responds_to_parent plugin.'
16
+ Rake::RDocTask.new(:rdoc) do |rdoc|
17
+ rdoc.rdoc_dir = 'rdoc'
18
+ rdoc.title = 'RespondsToParent'
19
+ rdoc.options << '--line-numbers' << '--inline-source'
20
+ rdoc.rdoc_files.include('README')
21
+ rdoc.rdoc_files.include('lib/**/*.rb')
22
+ end
@@ -0,0 +1,2 @@
1
+ ActionController::Base.send :include, RespondsToParent
2
+ require 'parent_selector_assertion'
@@ -0,0 +1,144 @@
1
+ module ActionController
2
+ module Assertions
3
+ module SelectorAssertions
4
+ # :call-seq:
5
+ # assert_select_parent()
6
+ # assert_select_parent() { |script| ... }
7
+ #
8
+ # Selects JavaScript that is generated for the `parent' window.
9
+ #
10
+ # Without a block, #assert_select_parent asserts that the response
11
+ # is generated by responds_to_parent.
12
+ #
13
+ # With a block, #assert_select_parent selects script that is supposed
14
+ # to be evaluated in the parent window and passes it to the block.
15
+ # Typically #assert_select_rjs is used in the block.
16
+ def assert_select_parent(*args, &block)
17
+ wrapper_re_str = Regexp.escape("with(window.parent) { setTimeout(function() { window.eval('") +
18
+ "(.*)" +
19
+ Regexp.escape("'); loc.replace('about:blank'); }, 1) }")
20
+ match = @response.body.match(Regexp.new(wrapper_re_str))
21
+
22
+ if match
23
+ escaped_js = match[1]
24
+ unescaped_js = escaped_js.
25
+ gsub(%r!</scr"\+"ipt>!, '</script>').
26
+ gsub(/\\(\'|\")/, '\1').
27
+ gsub(/((?:^|[^\\])(?:\\\\)*)\\n/, "\\1\n"). # replace `n' with odd number of backslash.
28
+ gsub(/\\\\/, '\\')
29
+ @response.body = unescaped_js # assert_select_rjs refers @response.body.
30
+
31
+ if block_given?
32
+ begin
33
+ in_scope, @selected = @selected, unescaped_js
34
+ yield unescaped_js
35
+ ensure
36
+ @selected = in_scope
37
+ end
38
+ end
39
+ unescaped_js
40
+ else
41
+ # doesn't seem a responds_to_parent content.
42
+ flunk args.shift || "No content for the parent window."
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
48
+
49
+ module ActionController
50
+ module Assertions
51
+ module SelectorAssertions
52
+ # :call-seq:
53
+ # assert_select_parent()
54
+ # assert_select_parent() { |script| ... }
55
+ #
56
+ # Selects JavaScript that is generated for the `parent' window.
57
+ #
58
+ # Without a block, #assert_select_parent asserts that the response
59
+ # is generated by responds_to_parent.
60
+ #
61
+ # With a block, #assert_select_parent selects script that is supposed
62
+ # to be evaluated in the parent window and passes it to the block.
63
+ # Typically #assert_select_rjs is used in the block.
64
+ def assert_select_parent(*args, &block)
65
+ wrapper_re_str = Regexp.escape("with(window.parent) { setTimeout(function() { window.eval('") +
66
+ "(.*)" +
67
+ Regexp.escape("'); loc.replace('about:blank'); }, 1) }")
68
+ match = @response.body.match(Regexp.new(wrapper_re_str))
69
+
70
+ if match
71
+ escaped_js = match[1]
72
+ unescaped_js = escaped_js.
73
+ gsub(%r!</scr"\+"ipt>!, '</script>').
74
+ gsub(/\\(\'|\")/, '\1').
75
+ gsub(/((?:^|[^\\])(?:\\\\)*)\\n/, "\\1\n"). # replace `n' with odd number of backslash.
76
+ gsub(/\\\\/, '\\')
77
+ @response.body = unescaped_js # assert_select_rjs refers @response.body.
78
+
79
+ if block_given?
80
+ begin
81
+ in_scope, @selected = @selected, unescaped_js
82
+ yield unescaped_js
83
+ ensure
84
+ @selected = in_scope
85
+ end
86
+ end
87
+ unescaped_js
88
+ else
89
+ # doesn't seem a responds_to_parent content.
90
+ flunk args.shift || "No content for the parent window."
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
96
+
97
+ module ActionController
98
+ module Assertions
99
+ module SelectorAssertions
100
+ # :call-seq:
101
+ # assert_select_parent()
102
+ # assert_select_parent() { |script| ... }
103
+ #
104
+ # Selects JavaScript that is generated for the `parent' window.
105
+ #
106
+ # Without a block, #assert_select_parent asserts that the response
107
+ # is generated by responds_to_parent.
108
+ #
109
+ # With a block, #assert_select_parent selects script that is supposed
110
+ # to be evaluated in the parent window and passes it to the block.
111
+ # Typically #assert_select_rjs is used in the block.
112
+ def assert_select_parent(*args, &block)
113
+ wrapper_re_str = Regexp.escape("with(window.parent) { setTimeout(function() { window.eval('") +
114
+ "(.*)" +
115
+ Regexp.escape("'); loc.replace('about:blank'); }, 1) }")
116
+ match = @response.body.match(Regexp.new(wrapper_re_str))
117
+
118
+ if match
119
+ escaped_js = match[1]
120
+ unescaped_js = escaped_js.
121
+ gsub(%r!</scr"\+"ipt>!, '</script>').
122
+ gsub(/\\(\'|\")/, '\1').
123
+ gsub(/((?:^|[^\\])(?:\\\\)*)\\n/, "\\1\n"). # replace `n' with odd number of backslash.
124
+ gsub(/\\\\/, '\\')
125
+ @response.body = unescaped_js # assert_select_rjs refers @response.body.
126
+
127
+ if block_given?
128
+ begin
129
+ in_scope, @selected = @selected, unescaped_js
130
+ yield unescaped_js
131
+ ensure
132
+ @selected = in_scope
133
+ end
134
+ end
135
+ unescaped_js
136
+ else
137
+ # doesn't seem a responds_to_parent content.
138
+ flunk args.shift || "No content for the parent window."
139
+ end
140
+ end
141
+ end
142
+ end
143
+ end
144
+
@@ -0,0 +1,46 @@
1
+ # Module containing the methods useful for child IFRAME to parent window communication
2
+ module RespondsToParent
3
+
4
+ # Executes the response body as JavaScript in the context of the parent window.
5
+ # Use this method of you are posting a form to a hidden IFRAME or if you would like
6
+ # to use IFRAME base RPC.
7
+ def responds_to_parent(&block)
8
+ yield
9
+
10
+ if performed?
11
+ # We're returning HTML instead of JS or XML now
12
+ response.headers['Content-Type'] = 'text/html; charset=UTF-8'
13
+
14
+ # Either pull out a redirect or the request body
15
+ script = if location = erase_redirect_results
16
+ "document.location.href = #{location.to_s.inspect}"
17
+ else
18
+ response.body
19
+ end
20
+
21
+ # Escape quotes, linebreaks and slashes, maintaining previously escaped slashes
22
+ # Suggestions for improvement?
23
+ script = (script || '').
24
+ gsub('\\', '\\\\\\').
25
+ gsub(/\r\n|\r|\n/, '\\n').
26
+ gsub(/['"]/, '\\\\\&').
27
+ gsub('</script>','</scr"+"ipt>')
28
+
29
+ # Clear out the previous render to prevent double render
30
+ erase_results
31
+
32
+ # Eval in parent scope and replace document location of this frame
33
+ # so back button doesn't replay action on targeted forms
34
+ # loc = document.location to be set after parent is updated for IE
35
+ # with(window.parent) - pull in variables from parent window
36
+ # setTimeout - scope the execution in the windows parent for safari
37
+ # window.eval - legal eval for Opera
38
+ render :text => "<html><body><script type='text/javascript' charset='utf-8'>
39
+ var loc = document.location;
40
+ with(window.parent) { setTimeout(function() { window.eval('#{script}'); loc.replace('about:blank'); }, 1) }
41
+ </script></body></html>"
42
+ end
43
+ end
44
+ alias respond_to_parent responds_to_parent
45
+ end
46
+
@@ -0,0 +1,318 @@
1
+ require File.dirname(__FILE__) + '/../../../../config/environment'
2
+ require 'test/unit'
3
+ require 'test_help'
4
+
5
+ class AssertSelectParentTest < Test::Unit::TestCase
6
+ class AssertSelectParentController < ActionController::Base
7
+ def response_with=(content)
8
+ @content = content
9
+ end
10
+
11
+ def response_with(&block)
12
+ @update = block
13
+ end
14
+
15
+ def rjs
16
+ responds_to_parent do
17
+ render :update do |page|
18
+ @update.call page
19
+ end
20
+ end
21
+ @update = nil
22
+ end
23
+
24
+ def text
25
+ responds_to_parent do
26
+ render :text => @content, :layout => false
27
+ end
28
+ @content = nil
29
+ end
30
+
31
+ def not_respond_to_parent
32
+ render :nothing => true
33
+ end
34
+
35
+ def rescue_action(e)
36
+ raise e
37
+ end
38
+ end
39
+
40
+ def setup
41
+ @controller = AssertSelectParentController.new
42
+ @request = ActionController::TestRequest.new
43
+ @response = ActionController::TestResponse.new
44
+ end
45
+
46
+ def test_basic
47
+ render_rjs do |page|
48
+ page.replace "test", "<div id=\"1\">foo</div>"
49
+ end
50
+
51
+ found = false
52
+ assert_select_parent do
53
+ assert_select_rjs do
54
+ assert_select "#1"
55
+ found = true
56
+ end
57
+ end
58
+ assert found
59
+ end
60
+
61
+ def test_bubble_up_failure
62
+ render_rjs do |page|
63
+ page.replace "test", "<div id=\"1\">foo</div>"
64
+ end
65
+
66
+ assert_raise(Test::Unit::AssertionFailedError) do
67
+ assert_select_parent do
68
+ assert_select_rjs do
69
+ assert_select "#nonexistent"
70
+ end
71
+ end
72
+ end
73
+ end
74
+
75
+ def test_fail_if_no_content_for_parent
76
+ get :not_respond_to_parent
77
+ assert_raise(Test::Unit::AssertionFailedError) { assert_select_parent }
78
+ end
79
+
80
+ def test_quotes
81
+ do_test_with_text %(single' double" escaped\\' escaped\\" doubleescaped\\\\\\' doubleescaped\\\\\\")
82
+ end
83
+
84
+ def test_new_line
85
+ do_test_with_text "line1\nline2\\nline2\\\nline3\\\\nline3\\\\\nline4\\\\\\nline4"
86
+ end
87
+
88
+ protected
89
+ def render_rjs(&block)
90
+ @controller.response_with &block
91
+ get :rjs
92
+ end
93
+
94
+ def render_text(text)
95
+ @controller.response_with = text
96
+ get :text
97
+ end
98
+
99
+ def do_test_with_text(text)
100
+ render_text text
101
+
102
+ assert_select_parent do |text_for_parent|
103
+ assert_equal text, text_for_parent
104
+ end
105
+ end
106
+ end
107
+ require File.dirname(__FILE__) + '/../../../../config/environment'
108
+ require 'test/unit'
109
+ require 'test_help'
110
+
111
+ class AssertSelectParentTest < Test::Unit::TestCase
112
+ class AssertSelectParentController < ActionController::Base
113
+ def response_with=(content)
114
+ @content = content
115
+ end
116
+
117
+ def response_with(&block)
118
+ @update = block
119
+ end
120
+
121
+ def rjs
122
+ responds_to_parent do
123
+ render :update do |page|
124
+ @update.call page
125
+ end
126
+ end
127
+ @update = nil
128
+ end
129
+
130
+ def text
131
+ responds_to_parent do
132
+ render :text => @content, :layout => false
133
+ end
134
+ @content = nil
135
+ end
136
+
137
+ def not_respond_to_parent
138
+ render :nothing => true
139
+ end
140
+
141
+ def rescue_action(e)
142
+ raise e
143
+ end
144
+ end
145
+
146
+ def setup
147
+ @controller = AssertSelectParentController.new
148
+ @request = ActionController::TestRequest.new
149
+ @response = ActionController::TestResponse.new
150
+ end
151
+
152
+ def test_basic
153
+ render_rjs do |page|
154
+ page.replace "test", "<div id=\"1\">foo</div>"
155
+ end
156
+
157
+ found = false
158
+ assert_select_parent do
159
+ assert_select_rjs do
160
+ assert_select "#1"
161
+ found = true
162
+ end
163
+ end
164
+ assert found
165
+ end
166
+
167
+ def test_bubble_up_failure
168
+ render_rjs do |page|
169
+ page.replace "test", "<div id=\"1\">foo</div>"
170
+ end
171
+
172
+ assert_raise(Test::Unit::AssertionFailedError) do
173
+ assert_select_parent do
174
+ assert_select_rjs do
175
+ assert_select "#nonexistent"
176
+ end
177
+ end
178
+ end
179
+ end
180
+
181
+ def test_fail_if_no_content_for_parent
182
+ get :not_respond_to_parent
183
+ assert_raise(Test::Unit::AssertionFailedError) { assert_select_parent }
184
+ end
185
+
186
+ def test_quotes
187
+ do_test_with_text %(single' double" escaped\\' escaped\\" doubleescaped\\\\\\' doubleescaped\\\\\\")
188
+ end
189
+
190
+ def test_new_line
191
+ do_test_with_text "line1\nline2\\nline2\\\nline3\\\\nline3\\\\\nline4\\\\\\nline4"
192
+ end
193
+
194
+ protected
195
+ def render_rjs(&block)
196
+ @controller.response_with &block
197
+ get :rjs
198
+ end
199
+
200
+ def render_text(text)
201
+ @controller.response_with = text
202
+ get :text
203
+ end
204
+
205
+ def do_test_with_text(text)
206
+ render_text text
207
+
208
+ assert_select_parent do |text_for_parent|
209
+ assert_equal text, text_for_parent
210
+ end
211
+ end
212
+ end
213
+ require File.dirname(__FILE__) + '/../../../../config/environment'
214
+ require 'test/unit'
215
+ require 'test_help'
216
+
217
+ class AssertSelectParentTest < Test::Unit::TestCase
218
+ class AssertSelectParentController < ActionController::Base
219
+ def response_with=(content)
220
+ @content = content
221
+ end
222
+
223
+ def response_with(&block)
224
+ @update = block
225
+ end
226
+
227
+ def rjs
228
+ responds_to_parent do
229
+ render :update do |page|
230
+ @update.call page
231
+ end
232
+ end
233
+ @update = nil
234
+ end
235
+
236
+ def text
237
+ responds_to_parent do
238
+ render :text => @content, :layout => false
239
+ end
240
+ @content = nil
241
+ end
242
+
243
+ def not_respond_to_parent
244
+ render :nothing => true
245
+ end
246
+
247
+ def rescue_action(e)
248
+ raise e
249
+ end
250
+ end
251
+
252
+ def setup
253
+ @controller = AssertSelectParentController.new
254
+ @request = ActionController::TestRequest.new
255
+ @response = ActionController::TestResponse.new
256
+ end
257
+
258
+ def test_basic
259
+ render_rjs do |page|
260
+ page.replace "test", "<div id=\"1\">foo</div>"
261
+ end
262
+
263
+ found = false
264
+ assert_select_parent do
265
+ assert_select_rjs do
266
+ assert_select "#1"
267
+ found = true
268
+ end
269
+ end
270
+ assert found
271
+ end
272
+
273
+ def test_bubble_up_failure
274
+ render_rjs do |page|
275
+ page.replace "test", "<div id=\"1\">foo</div>"
276
+ end
277
+
278
+ assert_raise(Test::Unit::AssertionFailedError) do
279
+ assert_select_parent do
280
+ assert_select_rjs do
281
+ assert_select "#nonexistent"
282
+ end
283
+ end
284
+ end
285
+ end
286
+
287
+ def test_fail_if_no_content_for_parent
288
+ get :not_respond_to_parent
289
+ assert_raise(Test::Unit::AssertionFailedError) { assert_select_parent }
290
+ end
291
+
292
+ def test_quotes
293
+ do_test_with_text %(single' double" escaped\\' escaped\\" doubleescaped\\\\\\' doubleescaped\\\\\\")
294
+ end
295
+
296
+ def test_new_line
297
+ do_test_with_text "line1\nline2\\nline2\\\nline3\\\\nline3\\\\\nline4\\\\\\nline4"
298
+ end
299
+
300
+ protected
301
+ def render_rjs(&block)
302
+ @controller.response_with &block
303
+ get :rjs
304
+ end
305
+
306
+ def render_text(text)
307
+ @controller.response_with = text
308
+ get :text
309
+ end
310
+
311
+ def do_test_with_text(text)
312
+ render_text text
313
+
314
+ assert_select_parent do |text_for_parent|
315
+ assert_equal text, text_for_parent
316
+ end
317
+ end
318
+ end