rmce_uploadr 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 (590) hide show
  1. data/.document +5 -0
  2. data/.gitignore +26 -0
  3. data/LICENSE +20 -0
  4. data/README.rdoc +56 -0
  5. data/Rakefile +64 -0
  6. data/VERSION +1 -0
  7. data/examples/rails/README +243 -0
  8. data/examples/rails/Rakefile +10 -0
  9. data/examples/rails/app/controllers/application_controller.rb +10 -0
  10. data/examples/rails/app/controllers/posts_controller.rb +87 -0
  11. data/examples/rails/app/helpers/application_helper.rb +3 -0
  12. data/examples/rails/app/helpers/posts_helper.rb +2 -0
  13. data/examples/rails/app/models/post.rb +2 -0
  14. data/examples/rails/app/views/layouts/posts.html.erb +33 -0
  15. data/examples/rails/app/views/posts/edit.html.erb +20 -0
  16. data/examples/rails/app/views/posts/index.html.erb +11 -0
  17. data/examples/rails/app/views/posts/new.html.erb +19 -0
  18. data/examples/rails/app/views/posts/show.html.erb +8 -0
  19. data/examples/rails/config/boot.rb +110 -0
  20. data/examples/rails/config/database.yml +22 -0
  21. data/examples/rails/config/environment.rb +47 -0
  22. data/examples/rails/config/environments/development.rb +17 -0
  23. data/examples/rails/config/environments/production.rb +28 -0
  24. data/examples/rails/config/environments/test.rb +28 -0
  25. data/examples/rails/config/initializers/backtrace_silencers.rb +7 -0
  26. data/examples/rails/config/initializers/inflections.rb +10 -0
  27. data/examples/rails/config/initializers/mime_types.rb +5 -0
  28. data/examples/rails/config/initializers/new_rails_defaults.rb +21 -0
  29. data/examples/rails/config/initializers/paperclip.rb +14 -0
  30. data/examples/rails/config/initializers/session_store.rb +15 -0
  31. data/examples/rails/config/locales/en.yml +5 -0
  32. data/examples/rails/config/routes.rb +45 -0
  33. data/examples/rails/db/migrate/20100417132216_create_posts.rb +14 -0
  34. data/examples/rails/db/schema.rb +21 -0
  35. data/examples/rails/db/seeds.rb +7 -0
  36. data/examples/rails/doc/README_FOR_APP +2 -0
  37. data/examples/rails/public/404.html +30 -0
  38. data/examples/rails/public/422.html +30 -0
  39. data/examples/rails/public/500.html +30 -0
  40. data/examples/rails/public/favicon.ico +0 -0
  41. data/examples/rails/public/images/rails.png +0 -0
  42. data/examples/rails/public/javascripts/application.js +2 -0
  43. data/examples/rails/public/javascripts/controls.js +963 -0
  44. data/examples/rails/public/javascripts/dragdrop.js +973 -0
  45. data/examples/rails/public/javascripts/effects.js +1128 -0
  46. data/examples/rails/public/javascripts/prototype.js +4320 -0
  47. data/examples/rails/public/javascripts/tiny_mce/langs/en.js +169 -0
  48. data/examples/rails/public/javascripts/tiny_mce/license.txt +504 -0
  49. data/examples/rails/public/javascripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  50. data/examples/rails/public/javascripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  51. data/examples/rails/public/javascripts/tiny_mce/plugins/advhr/editor_plugin_src.js +57 -0
  52. data/examples/rails/public/javascripts/tiny_mce/plugins/advhr/js/rule.js +43 -0
  53. data/examples/rails/public/javascripts/tiny_mce/plugins/advhr/langs/en_dlg.js +5 -0
  54. data/examples/rails/public/javascripts/tiny_mce/plugins/advhr/rule.htm +57 -0
  55. data/examples/rails/public/javascripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  56. data/examples/rails/public/javascripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  57. data/examples/rails/public/javascripts/tiny_mce/plugins/advimage/editor_plugin_src.js +50 -0
  58. data/examples/rails/public/javascripts/tiny_mce/plugins/advimage/image.htm +232 -0
  59. data/examples/rails/public/javascripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  60. data/examples/rails/public/javascripts/tiny_mce/plugins/advimage/js/image.js +443 -0
  61. data/examples/rails/public/javascripts/tiny_mce/plugins/advimage/langs/en_dlg.js +43 -0
  62. data/examples/rails/public/javascripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  63. data/examples/rails/public/javascripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  64. data/examples/rails/public/javascripts/tiny_mce/plugins/advlink/editor_plugin_src.js +61 -0
  65. data/examples/rails/public/javascripts/tiny_mce/plugins/advlink/js/advlink.js +528 -0
  66. data/examples/rails/public/javascripts/tiny_mce/plugins/advlink/langs/en_dlg.js +52 -0
  67. data/examples/rails/public/javascripts/tiny_mce/plugins/advlink/link.htm +333 -0
  68. data/examples/rails/public/javascripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
  69. data/examples/rails/public/javascripts/tiny_mce/plugins/advlist/editor_plugin_src.js +154 -0
  70. data/examples/rails/public/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
  71. data/examples/rails/public/javascripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +117 -0
  72. data/examples/rails/public/javascripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  73. data/examples/rails/public/javascripts/tiny_mce/plugins/autosave/editor_plugin_src.js +422 -0
  74. data/examples/rails/public/javascripts/tiny_mce/plugins/autosave/langs/en.js +4 -0
  75. data/examples/rails/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  76. data/examples/rails/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +120 -0
  77. data/examples/rails/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  78. data/examples/rails/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +127 -0
  79. data/examples/rails/public/javascripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  80. data/examples/rails/public/javascripts/tiny_mce/plugins/directionality/editor_plugin_src.js +82 -0
  81. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  82. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/editor_plugin_src.js +43 -0
  83. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/emotions.htm +40 -0
  84. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  85. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  86. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  87. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  88. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  89. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  90. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  91. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  92. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  93. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  94. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  95. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  96. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  97. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  98. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  99. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  100. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  101. data/examples/rails/public/javascripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
  102. data/examples/rails/public/javascripts/tiny_mce/plugins/example/dialog.htm +22 -0
  103. data/examples/rails/public/javascripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
  104. data/examples/rails/public/javascripts/tiny_mce/plugins/example/editor_plugin_src.js +84 -0
  105. data/examples/rails/public/javascripts/tiny_mce/plugins/example/img/example.gif +0 -0
  106. data/examples/rails/public/javascripts/tiny_mce/plugins/example/js/dialog.js +19 -0
  107. data/examples/rails/public/javascripts/tiny_mce/plugins/example/langs/en.js +3 -0
  108. data/examples/rails/public/javascripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  109. data/examples/rails/public/javascripts/tiny_mce/plugins/fullpage/css/fullpage.css +182 -0
  110. data/examples/rails/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  111. data/examples/rails/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +149 -0
  112. data/examples/rails/public/javascripts/tiny_mce/plugins/fullpage/fullpage.htm +571 -0
  113. data/examples/rails/public/javascripts/tiny_mce/plugins/fullpage/js/fullpage.js +471 -0
  114. data/examples/rails/public/javascripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
  115. data/examples/rails/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  116. data/examples/rails/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +148 -0
  117. data/examples/rails/public/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +109 -0
  118. data/examples/rails/public/javascripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  119. data/examples/rails/public/javascripts/tiny_mce/plugins/iespell/editor_plugin_src.js +54 -0
  120. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  121. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +635 -0
  122. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  123. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  124. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  125. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  126. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  127. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  128. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  129. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  130. data/examples/rails/public/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  131. data/examples/rails/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  132. data/examples/rails/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +83 -0
  133. data/examples/rails/public/javascripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  134. data/examples/rails/public/javascripts/tiny_mce/plugins/layer/editor_plugin_src.js +212 -0
  135. data/examples/rails/public/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
  136. data/examples/rails/public/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +136 -0
  137. data/examples/rails/public/javascripts/tiny_mce/plugins/media/css/content.css +6 -0
  138. data/examples/rails/public/javascripts/tiny_mce/plugins/media/css/media.css +16 -0
  139. data/examples/rails/public/javascripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
  140. data/examples/rails/public/javascripts/tiny_mce/plugins/media/editor_plugin_src.js +414 -0
  141. data/examples/rails/public/javascripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  142. data/examples/rails/public/javascripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  143. data/examples/rails/public/javascripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  144. data/examples/rails/public/javascripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
  145. data/examples/rails/public/javascripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  146. data/examples/rails/public/javascripts/tiny_mce/plugins/media/img/trans.gif +0 -0
  147. data/examples/rails/public/javascripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
  148. data/examples/rails/public/javascripts/tiny_mce/plugins/media/js/embed.js +73 -0
  149. data/examples/rails/public/javascripts/tiny_mce/plugins/media/js/media.js +630 -0
  150. data/examples/rails/public/javascripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
  151. data/examples/rails/public/javascripts/tiny_mce/plugins/media/media.htm +817 -0
  152. data/examples/rails/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  153. data/examples/rails/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +53 -0
  154. data/examples/rails/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  155. data/examples/rails/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +90 -0
  156. data/examples/rails/public/javascripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
  157. data/examples/rails/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  158. data/examples/rails/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +77 -0
  159. data/examples/rails/public/javascripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
  160. data/examples/rails/public/javascripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  161. data/examples/rails/public/javascripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  162. data/examples/rails/public/javascripts/tiny_mce/plugins/paste/editor_plugin_src.js +929 -0
  163. data/examples/rails/public/javascripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  164. data/examples/rails/public/javascripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  165. data/examples/rails/public/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  166. data/examples/rails/public/javascripts/tiny_mce/plugins/paste/pastetext.htm +27 -0
  167. data/examples/rails/public/javascripts/tiny_mce/plugins/paste/pasteword.htm +21 -0
  168. data/examples/rails/public/javascripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  169. data/examples/rails/public/javascripts/tiny_mce/plugins/preview/editor_plugin_src.js +53 -0
  170. data/examples/rails/public/javascripts/tiny_mce/plugins/preview/example.html +28 -0
  171. data/examples/rails/public/javascripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  172. data/examples/rails/public/javascripts/tiny_mce/plugins/preview/preview.html +17 -0
  173. data/examples/rails/public/javascripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
  174. data/examples/rails/public/javascripts/tiny_mce/plugins/print/editor_plugin_src.js +34 -0
  175. data/examples/rails/public/javascripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
  176. data/examples/rails/public/javascripts/tiny_mce/plugins/save/editor_plugin_src.js +101 -0
  177. data/examples/rails/public/javascripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  178. data/examples/rails/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  179. data/examples/rails/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +57 -0
  180. data/examples/rails/public/javascripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +130 -0
  181. data/examples/rails/public/javascripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
  182. data/examples/rails/public/javascripts/tiny_mce/plugins/searchreplace/searchreplace.htm +99 -0
  183. data/examples/rails/public/javascripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  184. data/examples/rails/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  185. data/examples/rails/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +341 -0
  186. data/examples/rails/public/javascripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  187. data/examples/rails/public/javascripts/tiny_mce/plugins/style/css/props.css +13 -0
  188. data/examples/rails/public/javascripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
  189. data/examples/rails/public/javascripts/tiny_mce/plugins/style/editor_plugin_src.js +55 -0
  190. data/examples/rails/public/javascripts/tiny_mce/plugins/style/js/props.js +641 -0
  191. data/examples/rails/public/javascripts/tiny_mce/plugins/style/langs/en_dlg.js +63 -0
  192. data/examples/rails/public/javascripts/tiny_mce/plugins/style/props.htm +726 -0
  193. data/examples/rails/public/javascripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -0
  194. data/examples/rails/public/javascripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +112 -0
  195. data/examples/rails/public/javascripts/tiny_mce/plugins/table/cell.htm +178 -0
  196. data/examples/rails/public/javascripts/tiny_mce/plugins/table/css/cell.css +17 -0
  197. data/examples/rails/public/javascripts/tiny_mce/plugins/table/css/row.css +25 -0
  198. data/examples/rails/public/javascripts/tiny_mce/plugins/table/css/table.css +13 -0
  199. data/examples/rails/public/javascripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  200. data/examples/rails/public/javascripts/tiny_mce/plugins/table/editor_plugin_src.js +1118 -0
  201. data/examples/rails/public/javascripts/tiny_mce/plugins/table/js/cell.js +286 -0
  202. data/examples/rails/public/javascripts/tiny_mce/plugins/table/js/merge_cells.js +27 -0
  203. data/examples/rails/public/javascripts/tiny_mce/plugins/table/js/row.js +237 -0
  204. data/examples/rails/public/javascripts/tiny_mce/plugins/table/js/table.js +449 -0
  205. data/examples/rails/public/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
  206. data/examples/rails/public/javascripts/tiny_mce/plugins/table/merge_cells.htm +32 -0
  207. data/examples/rails/public/javascripts/tiny_mce/plugins/table/row.htm +155 -0
  208. data/examples/rails/public/javascripts/tiny_mce/plugins/table/table.htm +187 -0
  209. data/examples/rails/public/javascripts/tiny_mce/plugins/template/blank.htm +12 -0
  210. data/examples/rails/public/javascripts/tiny_mce/plugins/template/css/template.css +23 -0
  211. data/examples/rails/public/javascripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
  212. data/examples/rails/public/javascripts/tiny_mce/plugins/template/editor_plugin_src.js +159 -0
  213. data/examples/rails/public/javascripts/tiny_mce/plugins/template/js/template.js +106 -0
  214. data/examples/rails/public/javascripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
  215. data/examples/rails/public/javascripts/tiny_mce/plugins/template/template.htm +32 -0
  216. data/examples/rails/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  217. data/examples/rails/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +76 -0
  218. data/examples/rails/public/javascripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -0
  219. data/examples/rails/public/javascripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +98 -0
  220. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +141 -0
  221. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +141 -0
  222. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +148 -0
  223. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/cite.htm +141 -0
  224. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  225. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  226. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/del.htm +161 -0
  227. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  228. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +144 -0
  229. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/ins.htm +161 -0
  230. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +28 -0
  231. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +28 -0
  232. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +126 -0
  233. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +28 -0
  234. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/del.js +63 -0
  235. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +231 -0
  236. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +62 -0
  237. data/examples/rails/public/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  238. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/about.htm +54 -0
  239. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/anchor.htm +26 -0
  240. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/charmap.htm +53 -0
  241. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/color_picker.htm +73 -0
  242. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  243. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/editor_template_src.js +1167 -0
  244. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/image.htm +80 -0
  245. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  246. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  247. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/js/about.js +72 -0
  248. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/js/anchor.js +37 -0
  249. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/js/charmap.js +335 -0
  250. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/js/color_picker.js +253 -0
  251. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/js/image.js +245 -0
  252. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/js/link.js +156 -0
  253. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/js/source_editor.js +62 -0
  254. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/langs/en.js +62 -0
  255. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
  256. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/link.htm +58 -0
  257. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/default/content.css +35 -0
  258. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +117 -0
  259. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  260. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  261. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  262. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  263. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  264. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  265. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +213 -0
  266. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +35 -0
  267. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +116 -0
  268. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  269. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  270. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  271. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +215 -0
  272. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  273. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  274. data/examples/rails/public/javascripts/tiny_mce/themes/advanced/source_editor.htm +26 -0
  275. data/examples/rails/public/javascripts/tiny_mce/themes/simple/editor_template.js +1 -0
  276. data/examples/rails/public/javascripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
  277. data/examples/rails/public/javascripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  278. data/examples/rails/public/javascripts/tiny_mce/themes/simple/langs/en.js +11 -0
  279. data/examples/rails/public/javascripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
  280. data/examples/rails/public/javascripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  281. data/examples/rails/public/javascripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  282. data/examples/rails/public/javascripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  283. data/examples/rails/public/javascripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  284. data/examples/rails/public/javascripts/tiny_mce/tiny_mce.js +1 -0
  285. data/examples/rails/public/javascripts/tiny_mce/tiny_mce_popup.js +5 -0
  286. data/examples/rails/public/javascripts/tiny_mce/tiny_mce_src.js +13861 -0
  287. data/examples/rails/public/javascripts/tiny_mce/utils/editable_selects.js +70 -0
  288. data/examples/rails/public/javascripts/tiny_mce/utils/form_utils.js +200 -0
  289. data/examples/rails/public/javascripts/tiny_mce/utils/mctabs.js +77 -0
  290. data/examples/rails/public/javascripts/tiny_mce/utils/validate.js +220 -0
  291. data/examples/rails/public/robots.txt +5 -0
  292. data/examples/rails/public/stylesheets/scaffold.css +54 -0
  293. data/examples/rails/script/about +4 -0
  294. data/examples/rails/script/console +3 -0
  295. data/examples/rails/script/dbconsole +3 -0
  296. data/examples/rails/script/destroy +3 -0
  297. data/examples/rails/script/generate +3 -0
  298. data/examples/rails/script/performance/benchmarker +3 -0
  299. data/examples/rails/script/performance/profiler +3 -0
  300. data/examples/rails/script/plugin +3 -0
  301. data/examples/rails/script/runner +3 -0
  302. data/examples/rails/script/server +3 -0
  303. data/examples/rails/test/fixtures/posts.yml +9 -0
  304. data/examples/rails/test/functional/posts_controller_test.rb +45 -0
  305. data/examples/rails/test/performance/browsing_test.rb +9 -0
  306. data/examples/rails/test/test_helper.rb +38 -0
  307. data/examples/shared/db.sqlite3 +0 -0
  308. data/examples/shared/uploads/.gitignore +0 -0
  309. data/examples/sinatra/.bundle/config +2 -0
  310. data/examples/sinatra/Gemfile +9 -0
  311. data/examples/sinatra/app/post.rb +4 -0
  312. data/examples/sinatra/app/posts_controller.rb +44 -0
  313. data/examples/sinatra/boot.rb +79 -0
  314. data/examples/sinatra/config.ru +2 -0
  315. data/examples/sinatra/db/development.sqlite3 +0 -0
  316. data/examples/sinatra/public/javascripts/tiny_mce/langs/en.js +169 -0
  317. data/examples/sinatra/public/javascripts/tiny_mce/license.txt +504 -0
  318. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  319. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  320. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advhr/editor_plugin_src.js +57 -0
  321. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advhr/js/rule.js +43 -0
  322. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advhr/langs/en_dlg.js +5 -0
  323. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advhr/rule.htm +57 -0
  324. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  325. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  326. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advimage/editor_plugin_src.js +50 -0
  327. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advimage/image.htm +232 -0
  328. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  329. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advimage/js/image.js +443 -0
  330. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advimage/langs/en_dlg.js +43 -0
  331. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  332. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  333. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advlink/editor_plugin_src.js +61 -0
  334. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advlink/js/advlink.js +528 -0
  335. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advlink/langs/en_dlg.js +52 -0
  336. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advlink/link.htm +333 -0
  337. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
  338. data/examples/sinatra/public/javascripts/tiny_mce/plugins/advlist/editor_plugin_src.js +154 -0
  339. data/examples/sinatra/public/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
  340. data/examples/sinatra/public/javascripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +117 -0
  341. data/examples/sinatra/public/javascripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  342. data/examples/sinatra/public/javascripts/tiny_mce/plugins/autosave/editor_plugin_src.js +422 -0
  343. data/examples/sinatra/public/javascripts/tiny_mce/plugins/autosave/langs/en.js +4 -0
  344. data/examples/sinatra/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  345. data/examples/sinatra/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +120 -0
  346. data/examples/sinatra/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  347. data/examples/sinatra/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +127 -0
  348. data/examples/sinatra/public/javascripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  349. data/examples/sinatra/public/javascripts/tiny_mce/plugins/directionality/editor_plugin_src.js +82 -0
  350. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  351. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/editor_plugin_src.js +43 -0
  352. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/emotions.htm +40 -0
  353. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  354. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  355. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  356. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  357. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  358. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  359. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  360. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  361. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  362. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  363. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  364. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  365. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  366. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  367. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  368. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  369. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  370. data/examples/sinatra/public/javascripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
  371. data/examples/sinatra/public/javascripts/tiny_mce/plugins/example/dialog.htm +22 -0
  372. data/examples/sinatra/public/javascripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
  373. data/examples/sinatra/public/javascripts/tiny_mce/plugins/example/editor_plugin_src.js +84 -0
  374. data/examples/sinatra/public/javascripts/tiny_mce/plugins/example/img/example.gif +0 -0
  375. data/examples/sinatra/public/javascripts/tiny_mce/plugins/example/js/dialog.js +19 -0
  376. data/examples/sinatra/public/javascripts/tiny_mce/plugins/example/langs/en.js +3 -0
  377. data/examples/sinatra/public/javascripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  378. data/examples/sinatra/public/javascripts/tiny_mce/plugins/fullpage/css/fullpage.css +182 -0
  379. data/examples/sinatra/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  380. data/examples/sinatra/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +149 -0
  381. data/examples/sinatra/public/javascripts/tiny_mce/plugins/fullpage/fullpage.htm +571 -0
  382. data/examples/sinatra/public/javascripts/tiny_mce/plugins/fullpage/js/fullpage.js +471 -0
  383. data/examples/sinatra/public/javascripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
  384. data/examples/sinatra/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  385. data/examples/sinatra/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +148 -0
  386. data/examples/sinatra/public/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +109 -0
  387. data/examples/sinatra/public/javascripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  388. data/examples/sinatra/public/javascripts/tiny_mce/plugins/iespell/editor_plugin_src.js +54 -0
  389. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  390. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +635 -0
  391. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  392. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  393. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  394. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  395. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  396. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  397. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  398. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  399. data/examples/sinatra/public/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  400. data/examples/sinatra/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  401. data/examples/sinatra/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +83 -0
  402. data/examples/sinatra/public/javascripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  403. data/examples/sinatra/public/javascripts/tiny_mce/plugins/layer/editor_plugin_src.js +212 -0
  404. data/examples/sinatra/public/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
  405. data/examples/sinatra/public/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +136 -0
  406. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/css/content.css +6 -0
  407. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/css/media.css +16 -0
  408. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
  409. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/editor_plugin_src.js +414 -0
  410. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  411. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  412. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  413. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
  414. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  415. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/img/trans.gif +0 -0
  416. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
  417. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/js/embed.js +73 -0
  418. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/js/media.js +630 -0
  419. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
  420. data/examples/sinatra/public/javascripts/tiny_mce/plugins/media/media.htm +817 -0
  421. data/examples/sinatra/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  422. data/examples/sinatra/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +53 -0
  423. data/examples/sinatra/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  424. data/examples/sinatra/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +90 -0
  425. data/examples/sinatra/public/javascripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
  426. data/examples/sinatra/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  427. data/examples/sinatra/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +77 -0
  428. data/examples/sinatra/public/javascripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
  429. data/examples/sinatra/public/javascripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  430. data/examples/sinatra/public/javascripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  431. data/examples/sinatra/public/javascripts/tiny_mce/plugins/paste/editor_plugin_src.js +929 -0
  432. data/examples/sinatra/public/javascripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  433. data/examples/sinatra/public/javascripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  434. data/examples/sinatra/public/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  435. data/examples/sinatra/public/javascripts/tiny_mce/plugins/paste/pastetext.htm +27 -0
  436. data/examples/sinatra/public/javascripts/tiny_mce/plugins/paste/pasteword.htm +21 -0
  437. data/examples/sinatra/public/javascripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  438. data/examples/sinatra/public/javascripts/tiny_mce/plugins/preview/editor_plugin_src.js +53 -0
  439. data/examples/sinatra/public/javascripts/tiny_mce/plugins/preview/example.html +28 -0
  440. data/examples/sinatra/public/javascripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  441. data/examples/sinatra/public/javascripts/tiny_mce/plugins/preview/preview.html +17 -0
  442. data/examples/sinatra/public/javascripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
  443. data/examples/sinatra/public/javascripts/tiny_mce/plugins/print/editor_plugin_src.js +34 -0
  444. data/examples/sinatra/public/javascripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
  445. data/examples/sinatra/public/javascripts/tiny_mce/plugins/save/editor_plugin_src.js +101 -0
  446. data/examples/sinatra/public/javascripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  447. data/examples/sinatra/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  448. data/examples/sinatra/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +57 -0
  449. data/examples/sinatra/public/javascripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +130 -0
  450. data/examples/sinatra/public/javascripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
  451. data/examples/sinatra/public/javascripts/tiny_mce/plugins/searchreplace/searchreplace.htm +99 -0
  452. data/examples/sinatra/public/javascripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  453. data/examples/sinatra/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  454. data/examples/sinatra/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +341 -0
  455. data/examples/sinatra/public/javascripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  456. data/examples/sinatra/public/javascripts/tiny_mce/plugins/style/css/props.css +13 -0
  457. data/examples/sinatra/public/javascripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
  458. data/examples/sinatra/public/javascripts/tiny_mce/plugins/style/editor_plugin_src.js +55 -0
  459. data/examples/sinatra/public/javascripts/tiny_mce/plugins/style/js/props.js +641 -0
  460. data/examples/sinatra/public/javascripts/tiny_mce/plugins/style/langs/en_dlg.js +63 -0
  461. data/examples/sinatra/public/javascripts/tiny_mce/plugins/style/props.htm +726 -0
  462. data/examples/sinatra/public/javascripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -0
  463. data/examples/sinatra/public/javascripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +112 -0
  464. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/cell.htm +178 -0
  465. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/css/cell.css +17 -0
  466. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/css/row.css +25 -0
  467. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/css/table.css +13 -0
  468. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  469. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/editor_plugin_src.js +1118 -0
  470. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/js/cell.js +286 -0
  471. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/js/merge_cells.js +27 -0
  472. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/js/row.js +237 -0
  473. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/js/table.js +449 -0
  474. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
  475. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/merge_cells.htm +32 -0
  476. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/row.htm +155 -0
  477. data/examples/sinatra/public/javascripts/tiny_mce/plugins/table/table.htm +187 -0
  478. data/examples/sinatra/public/javascripts/tiny_mce/plugins/template/blank.htm +12 -0
  479. data/examples/sinatra/public/javascripts/tiny_mce/plugins/template/css/template.css +23 -0
  480. data/examples/sinatra/public/javascripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
  481. data/examples/sinatra/public/javascripts/tiny_mce/plugins/template/editor_plugin_src.js +159 -0
  482. data/examples/sinatra/public/javascripts/tiny_mce/plugins/template/js/template.js +106 -0
  483. data/examples/sinatra/public/javascripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
  484. data/examples/sinatra/public/javascripts/tiny_mce/plugins/template/template.htm +32 -0
  485. data/examples/sinatra/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  486. data/examples/sinatra/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +76 -0
  487. data/examples/sinatra/public/javascripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -0
  488. data/examples/sinatra/public/javascripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +98 -0
  489. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +141 -0
  490. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +141 -0
  491. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +148 -0
  492. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/cite.htm +141 -0
  493. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  494. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  495. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/del.htm +161 -0
  496. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  497. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +144 -0
  498. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/ins.htm +161 -0
  499. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +28 -0
  500. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +28 -0
  501. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +126 -0
  502. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +28 -0
  503. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/del.js +63 -0
  504. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +231 -0
  505. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +62 -0
  506. data/examples/sinatra/public/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  507. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/about.htm +54 -0
  508. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/anchor.htm +26 -0
  509. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/charmap.htm +53 -0
  510. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/color_picker.htm +73 -0
  511. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  512. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/editor_template_src.js +1167 -0
  513. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/image.htm +80 -0
  514. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  515. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  516. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/js/about.js +72 -0
  517. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/js/anchor.js +37 -0
  518. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/js/charmap.js +335 -0
  519. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/js/color_picker.js +253 -0
  520. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/js/image.js +245 -0
  521. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/js/link.js +156 -0
  522. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/js/source_editor.js +62 -0
  523. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/langs/en.js +62 -0
  524. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
  525. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/link.htm +58 -0
  526. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/default/content.css +35 -0
  527. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +117 -0
  528. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  529. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  530. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  531. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  532. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  533. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  534. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +213 -0
  535. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +35 -0
  536. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +116 -0
  537. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  538. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  539. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  540. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +215 -0
  541. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  542. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  543. data/examples/sinatra/public/javascripts/tiny_mce/themes/advanced/source_editor.htm +26 -0
  544. data/examples/sinatra/public/javascripts/tiny_mce/themes/simple/editor_template.js +1 -0
  545. data/examples/sinatra/public/javascripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
  546. data/examples/sinatra/public/javascripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  547. data/examples/sinatra/public/javascripts/tiny_mce/themes/simple/langs/en.js +11 -0
  548. data/examples/sinatra/public/javascripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
  549. data/examples/sinatra/public/javascripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  550. data/examples/sinatra/public/javascripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  551. data/examples/sinatra/public/javascripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  552. data/examples/sinatra/public/javascripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  553. data/examples/sinatra/public/javascripts/tiny_mce/tiny_mce.js +1 -0
  554. data/examples/sinatra/public/javascripts/tiny_mce/tiny_mce_popup.js +5 -0
  555. data/examples/sinatra/public/javascripts/tiny_mce/tiny_mce_src.js +13861 -0
  556. data/examples/sinatra/public/javascripts/tiny_mce/utils/editable_selects.js +70 -0
  557. data/examples/sinatra/public/javascripts/tiny_mce/utils/form_utils.js +200 -0
  558. data/examples/sinatra/public/javascripts/tiny_mce/utils/mctabs.js +77 -0
  559. data/examples/sinatra/public/javascripts/tiny_mce/utils/validate.js +220 -0
  560. data/examples/sinatra/scripts/console +2 -0
  561. data/examples/sinatra/scripts/console.rb +2 -0
  562. data/examples/sinatra/scripts/server +2 -0
  563. data/examples/sinatra/views/layout.erb +27 -0
  564. data/examples/sinatra/views/posts/_form_fields.erb +9 -0
  565. data/examples/sinatra/views/posts/index.erb +8 -0
  566. data/examples/sinatra/views/posts/new.erb +5 -0
  567. data/examples/sinatra/views/posts/show.erb +3 -0
  568. data/lib/rmce_uploadr.rb +64 -0
  569. data/lib/rmce_uploadr/app/app.rb +29 -0
  570. data/lib/rmce_uploadr/app/image.rb +7 -0
  571. data/lib/rmce_uploadr/app/images_controller.rb +36 -0
  572. data/lib/rmce_uploadr/core/ext.rb +3 -0
  573. data/lib/rmce_uploadr/core/fash.rb +32 -0
  574. data/lib/rmce_uploadr/core/mash.rb +5 -0
  575. data/lib/rmce_uploadr/public/images/rmce_uploadr_icon.png +0 -0
  576. data/lib/rmce_uploadr/public/javascripts/rmce_uploadr.js +1 -0
  577. data/lib/rmce_uploadr/public/javascripts/rmce_uploadr/jquery-1.4.2.min.js +154 -0
  578. data/lib/rmce_uploadr/public/javascripts/tiny_mce/plugins/rmce_uploadr/editor_plugin.js +1 -0
  579. data/lib/rmce_uploadr/public/javascripts/tiny_mce/plugins/rmce_uploadr/editor_plugin_src.js +49 -0
  580. data/lib/rmce_uploadr/views/index.erb +11 -0
  581. data/lib/rmce_uploadr/views/layout.erb +44 -0
  582. data/rmce_uploadr.gemspec +672 -0
  583. data/spec/app_spec.rb +5 -0
  584. data/spec/core_ext_spec.rb +14 -0
  585. data/spec/image_spec.rb +13 -0
  586. data/spec/images_controller_spec.rb +5 -0
  587. data/spec/rcov.opts +1 -0
  588. data/spec/spec.opts +4 -0
  589. data/spec/spec_helper.rb +34 -0
  590. metadata +737 -0
@@ -0,0 +1 @@
1
+ (function(){tinymce.create("tinymce.plugins.AutoResizePlugin",{init:function(a,c){var d=this;if(a.getParam("fullscreen_is_enabled")){return}function b(){var h=a.getDoc(),e=h.body,j=h.documentElement,g=tinymce.DOM,i=d.autoresize_min_height,f;f=tinymce.isIE?e.scrollHeight:j.offsetHeight;if(f>d.autoresize_min_height){i=f}g.setStyle(g.get(a.id+"_ifr"),"height",i+"px");if(d.throbbing){a.setProgressState(false);a.setProgressState(true)}}d.editor=a;d.autoresize_min_height=a.getElement().offsetHeight;a.onInit.add(function(f,e){f.setProgressState(true);d.throbbing=true;f.getBody().style.overflowY="hidden"});a.onChange.add(b);a.onSetContent.add(b);a.onPaste.add(b);a.onKeyUp.add(b);a.onPostRender.add(b);a.onLoadContent.add(function(f,e){b();setTimeout(function(){b();f.setProgressState(false);d.throbbing=false},1250)});a.addCommand("mceAutoResize",b)},getInfo:function(){return{longname:"Auto Resize",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("autoresize",tinymce.plugins.AutoResizePlugin)})();
@@ -0,0 +1,117 @@
1
+ /**
2
+ * editor_plugin_src.js
3
+ *
4
+ * Copyright 2009, Moxiecode Systems AB
5
+ * Released under LGPL License.
6
+ *
7
+ * License: http://tinymce.moxiecode.com/license
8
+ * Contributing: http://tinymce.moxiecode.com/contributing
9
+ */
10
+
11
+ (function() {
12
+ /**
13
+ * Auto Resize
14
+ *
15
+ * This plugin automatically resizes the content area to fit its content height.
16
+ * It will retain a minimum height, which is the height of the content area when
17
+ * it's initialized.
18
+ */
19
+ tinymce.create('tinymce.plugins.AutoResizePlugin', {
20
+ /**
21
+ * Initializes the plugin, this will be executed after the plugin has been created.
22
+ * This call is done before the editor instance has finished it's initialization so use the onInit event
23
+ * of the editor instance to intercept that event.
24
+ *
25
+ * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
26
+ * @param {string} url Absolute URL to where the plugin is located.
27
+ */
28
+ init : function(ed, url) {
29
+ var t = this;
30
+
31
+ if (ed.getParam('fullscreen_is_enabled'))
32
+ return;
33
+
34
+ /**
35
+ * This method gets executed each time the editor needs to resize.
36
+ */
37
+ function resize() {
38
+ var d = ed.getDoc(), b = d.body, de = d.documentElement, DOM = tinymce.DOM, resizeHeight = t.autoresize_min_height, myHeight;
39
+
40
+ // Get height differently depending on the browser used
41
+ myHeight = tinymce.isIE ? b.scrollHeight : de.offsetHeight;
42
+
43
+ // Don't make it smaller than the minimum height
44
+ if (myHeight > t.autoresize_min_height)
45
+ resizeHeight = myHeight;
46
+
47
+ // Resize content element
48
+ DOM.setStyle(DOM.get(ed.id + '_ifr'), 'height', resizeHeight + 'px');
49
+
50
+ // if we're throbbing, we'll re-throb to match the new size
51
+ if (t.throbbing) {
52
+ ed.setProgressState(false);
53
+ ed.setProgressState(true);
54
+ }
55
+ };
56
+
57
+ t.editor = ed;
58
+
59
+ // Define minimum height
60
+ t.autoresize_min_height = ed.getElement().offsetHeight;
61
+
62
+ // Things to do when the editor is ready
63
+ ed.onInit.add(function(ed, l) {
64
+ // Show throbber until content area is resized properly
65
+ ed.setProgressState(true);
66
+ t.throbbing = true;
67
+
68
+ // Hide scrollbars
69
+ ed.getBody().style.overflowY = "hidden";
70
+ });
71
+
72
+ // Add appropriate listeners for resizing content area
73
+ ed.onChange.add(resize);
74
+ ed.onSetContent.add(resize);
75
+ ed.onPaste.add(resize);
76
+ ed.onKeyUp.add(resize);
77
+ ed.onPostRender.add(resize);
78
+
79
+ ed.onLoadContent.add(function(ed, l) {
80
+ resize();
81
+
82
+ // Because the content area resizes when its content CSS loads,
83
+ // and we can't easily add a listener to its onload event,
84
+ // we'll just trigger a resize after a short loading period
85
+ setTimeout(function() {
86
+ resize();
87
+
88
+ // Disable throbber
89
+ ed.setProgressState(false);
90
+ t.throbbing = false;
91
+ }, 1250);
92
+ });
93
+
94
+ // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample');
95
+ ed.addCommand('mceAutoResize', resize);
96
+ },
97
+
98
+ /**
99
+ * Returns information about the plugin as a name/value array.
100
+ * The current keys are longname, author, authorurl, infourl and version.
101
+ *
102
+ * @return {Object} Name/value array containing information about the plugin.
103
+ */
104
+ getInfo : function() {
105
+ return {
106
+ longname : 'Auto Resize',
107
+ author : 'Moxiecode Systems AB',
108
+ authorurl : 'http://tinymce.moxiecode.com',
109
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autoresize',
110
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
111
+ };
112
+ }
113
+ });
114
+
115
+ // Register plugin
116
+ tinymce.PluginManager.add('autoresize', tinymce.plugins.AutoResizePlugin);
117
+ })();
@@ -0,0 +1 @@
1
+ (function(e){var c="autosave",g="restoredraft",b=true,f,d,a=e.util.Dispatcher;e.create("tinymce.plugins.AutoSave",{init:function(i,j){var h=this,l=i.settings;h.editor=i;function k(n){var m={s:1000,m:60000};n=/^(\d+)([ms]?)$/.exec(""+n);return(n[2]?m[n[2]]:1)*parseInt(n)}e.each({ask_before_unload:b,interval:"30s",retention:"20m",minlength:50},function(n,m){m=c+"_"+m;if(l[m]===f){l[m]=n}});l.autosave_interval=k(l.autosave_interval);l.autosave_retention=k(l.autosave_retention);i.addButton(g,{title:c+".restore_content",onclick:function(){if(i.getContent().replace(/\s|&nbsp;|<\/?p[^>]*>|<br[^>]*>/gi,"").length>0){i.windowManager.confirm(c+".warning_message",function(m){if(m){h.restoreDraft()}})}else{h.restoreDraft()}}});i.onNodeChange.add(function(){var m=i.controlManager;if(m.get(g)){m.setDisabled(g,!h.hasDraft())}});i.onInit.add(function(){if(i.controlManager.get(g)){h.setupStorage(i);setInterval(function(){h.storeDraft();i.nodeChanged()},l.autosave_interval)}});h.onStoreDraft=new a(h);h.onRestoreDraft=new a(h);h.onRemoveDraft=new a(h);if(!d){window.onbeforeunload=e.plugins.AutoSave._beforeUnloadHandler;d=b}},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:e.majorVersion+"."+e.minorVersion}},getExpDate:function(){return new Date(new Date().getTime()+this.editor.settings.autosave_retention).toUTCString()},setupStorage:function(i){var h=this,k=c+"_test",j="OK";h.key=c+i.id;e.each([function(){if(localStorage){localStorage.setItem(k,j);if(localStorage.getItem(k)===j){localStorage.removeItem(k);return localStorage}}},function(){if(sessionStorage){sessionStorage.setItem(k,j);if(sessionStorage.getItem(k)===j){sessionStorage.removeItem(k);return sessionStorage}}},function(){if(e.isIE){i.getElement().style.behavior="url('#default#userData')";return{autoExpires:b,setItem:function(l,n){var m=i.getElement();m.setAttribute(l,n);m.expires=h.getExpDate();m.save("TinyMCE")},getItem:function(l){var m=i.getElement();m.load("TinyMCE");return m.getAttribute(l)},removeItem:function(l){i.getElement().removeAttribute(l)}}}},],function(l){try{h.storage=l();if(h.storage){return false}}catch(m){}})},storeDraft:function(){var i=this,l=i.storage,j=i.editor,h,k;if(l){if(!l.getItem(i.key)&&!j.isDirty()){return}k=j.getContent();if(k.length>j.settings.autosave_minlength){h=i.getExpDate();if(!i.storage.autoExpires){i.storage.setItem(i.key+"_expires",h)}i.storage.setItem(i.key,k);i.onStoreDraft.dispatch(i,{expires:h,content:k})}}},restoreDraft:function(){var h=this,i=h.storage;if(i){content=i.getItem(h.key);if(content){h.editor.setContent(content);h.onRestoreDraft.dispatch(h,{content:content})}}},hasDraft:function(){var h=this,k=h.storage,i,j;if(k){j=!!k.getItem(h.key);if(j){if(!h.storage.autoExpires){i=new Date(k.getItem(h.key+"_expires"));if(new Date().getTime()<i.getTime()){return b}h.removeDraft()}else{return b}}}return false},removeDraft:function(){var h=this,k=h.storage,i=h.key,j;if(k){j=k.getItem(i);k.removeItem(i);k.removeItem(i+"_expires");if(j){h.onRemoveDraft.dispatch(h,{content:j})}}},"static":{_beforeUnloadHandler:function(h){var i;e.each(tinyMCE.editors,function(j){if(j.plugins.autosave){j.plugins.autosave.storeDraft()}if(j.getParam("fullscreen_is_enabled")){return}if(!i&&j.isDirty()&&j.getParam("autosave_ask_before_unload")){i=j.getLang("autosave.unload_msg")}});return i}}});e.PluginManager.add("autosave",e.plugins.AutoSave)})(tinymce);
@@ -0,0 +1,422 @@
1
+ /**
2
+ * editor_plugin_src.js
3
+ *
4
+ * Copyright 2009, Moxiecode Systems AB
5
+ * Released under LGPL License.
6
+ *
7
+ * License: http://tinymce.moxiecode.com/license
8
+ * Contributing: http://tinymce.moxiecode.com/contributing
9
+ *
10
+ * Adds auto-save capability to the TinyMCE text editor to rescue content
11
+ * inadvertently lost. This plugin was originally developed by Speednet
12
+ * and that project can be found here: http://code.google.com/p/tinyautosave/
13
+ *
14
+ * TECHNOLOGY DISCUSSION:
15
+ *
16
+ * The plugin attempts to use the most advanced features available in the current browser to save
17
+ * as much content as possible. There are a total of four different methods used to autosave the
18
+ * content. In order of preference, they are:
19
+ *
20
+ * 1. localStorage - A new feature of HTML 5, localStorage can store megabytes of data per domain
21
+ * on the client computer. Data stored in the localStorage area has no expiration date, so we must
22
+ * manage expiring the data ourselves. localStorage is fully supported by IE8, and it is supposed
23
+ * to be working in Firefox 3 and Safari 3.2, but in reality is is flaky in those browsers. As
24
+ * HTML 5 gets wider support, the AutoSave plugin will use it automatically. In Windows Vista/7,
25
+ * localStorage is stored in the following folder:
26
+ * C:\Users\[username]\AppData\Local\Microsoft\Internet Explorer\DOMStore\[tempFolder]
27
+ *
28
+ * 2. sessionStorage - A new feature of HTML 5, sessionStorage works similarly to localStorage,
29
+ * except it is designed to expire after a certain amount of time. Because the specification
30
+ * around expiration date/time is very loosely-described, it is preferrable to use locaStorage and
31
+ * manage the expiration ourselves. sessionStorage has similar storage characteristics to
32
+ * localStorage, although it seems to have better support by Firefox 3 at the moment. (That will
33
+ * certainly change as Firefox continues getting better at HTML 5 adoption.)
34
+ *
35
+ * 3. UserData - A very under-exploited feature of Microsoft Internet Explorer, UserData is a
36
+ * way to store up to 128K of data per "document", or up to 1MB of data per domain, on the client
37
+ * computer. The feature is available for IE 5+, which makes it available for every version of IE
38
+ * supported by TinyMCE. The content is persistent across browser restarts and expires on the
39
+ * date/time specified, just like a cookie. However, the data is not cleared when the user clears
40
+ * cookies on the browser, which makes it well-suited for rescuing autosaved content. UserData,
41
+ * like other Microsoft IE browser technologies, is implemented as a behavior attached to a
42
+ * specific DOM object, so in this case we attach the behavior to the same DOM element that the
43
+ * TinyMCE editor instance is attached to.
44
+ */
45
+
46
+ (function(tinymce) {
47
+ // Setup constants to help the compressor to reduce script size
48
+ var PLUGIN_NAME = 'autosave',
49
+ RESTORE_DRAFT = 'restoredraft',
50
+ TRUE = true,
51
+ undefined,
52
+ unloadHandlerAdded,
53
+ Dispatcher = tinymce.util.Dispatcher;
54
+
55
+ /**
56
+ * This plugin adds auto-save capability to the TinyMCE text editor to rescue content
57
+ * inadvertently lost. By using localStorage.
58
+ *
59
+ * @class tinymce.plugins.AutoSave
60
+ */
61
+ tinymce.create('tinymce.plugins.AutoSave', {
62
+ /**
63
+ * Initializes the plugin, this will be executed after the plugin has been created.
64
+ * This call is done before the editor instance has finished it's initialization so use the onInit event
65
+ * of the editor instance to intercept that event.
66
+ *
67
+ * @method init
68
+ * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
69
+ * @param {string} url Absolute URL to where the plugin is located.
70
+ */
71
+ init : function(ed, url) {
72
+ var self = this, settings = ed.settings;
73
+
74
+ self.editor = ed;
75
+
76
+ // Parses the specified time string into a milisecond number 10m, 10s etc.
77
+ function parseTime(time) {
78
+ var multipels = {
79
+ s : 1000,
80
+ m : 60000
81
+ };
82
+
83
+ time = /^(\d+)([ms]?)$/.exec('' + time);
84
+
85
+ return (time[2] ? multipels[time[2]] : 1) * parseInt(time);
86
+ };
87
+
88
+ // Default config
89
+ tinymce.each({
90
+ ask_before_unload : TRUE,
91
+ interval : '30s',
92
+ retention : '20m',
93
+ minlength : 50
94
+ }, function(value, key) {
95
+ key = PLUGIN_NAME + '_' + key;
96
+
97
+ if (settings[key] === undefined)
98
+ settings[key] = value;
99
+ });
100
+
101
+ // Parse times
102
+ settings.autosave_interval = parseTime(settings.autosave_interval);
103
+ settings.autosave_retention = parseTime(settings.autosave_retention);
104
+
105
+ // Register restore button
106
+ ed.addButton(RESTORE_DRAFT, {
107
+ title : PLUGIN_NAME + ".restore_content",
108
+ onclick : function() {
109
+ if (ed.getContent().replace(/\s|&nbsp;|<\/?p[^>]*>|<br[^>]*>/gi, "").length > 0) {
110
+ // Show confirm dialog if the editor isn't empty
111
+ ed.windowManager.confirm(
112
+ PLUGIN_NAME + ".warning_message",
113
+ function(ok) {
114
+ if (ok)
115
+ self.restoreDraft();
116
+ }
117
+ );
118
+ } else
119
+ self.restoreDraft();
120
+ }
121
+ });
122
+
123
+ // Enable/disable restoredraft button depending on if there is a draft stored or not
124
+ ed.onNodeChange.add(function() {
125
+ var controlManager = ed.controlManager;
126
+
127
+ if (controlManager.get(RESTORE_DRAFT))
128
+ controlManager.setDisabled(RESTORE_DRAFT, !self.hasDraft());
129
+ });
130
+
131
+ ed.onInit.add(function() {
132
+ // Check if the user added the restore button, then setup auto storage logic
133
+ if (ed.controlManager.get(RESTORE_DRAFT)) {
134
+ // Setup storage engine
135
+ self.setupStorage(ed);
136
+
137
+ // Auto save contents each interval time
138
+ setInterval(function() {
139
+ self.storeDraft();
140
+ ed.nodeChanged();
141
+ }, settings.autosave_interval);
142
+ }
143
+ });
144
+
145
+ /**
146
+ * This event gets fired when a draft is stored to local storage.
147
+ *
148
+ * @event onStoreDraft
149
+ * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event.
150
+ * @param {Object} draft Draft object containing the HTML contents of the editor.
151
+ */
152
+ self.onStoreDraft = new Dispatcher(self);
153
+
154
+ /**
155
+ * This event gets fired when a draft is restored from local storage.
156
+ *
157
+ * @event onStoreDraft
158
+ * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event.
159
+ * @param {Object} draft Draft object containing the HTML contents of the editor.
160
+ */
161
+ self.onRestoreDraft = new Dispatcher(self);
162
+
163
+ /**
164
+ * This event gets fired when a draft removed/expired.
165
+ *
166
+ * @event onRemoveDraft
167
+ * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event.
168
+ * @param {Object} draft Draft object containing the HTML contents of the editor.
169
+ */
170
+ self.onRemoveDraft = new Dispatcher(self);
171
+
172
+ // Add ask before unload dialog only add one unload handler
173
+ if (!unloadHandlerAdded) {
174
+ window.onbeforeunload = tinymce.plugins.AutoSave._beforeUnloadHandler;
175
+ unloadHandlerAdded = TRUE;
176
+ }
177
+ },
178
+
179
+ /**
180
+ * Returns information about the plugin as a name/value array.
181
+ * The current keys are longname, author, authorurl, infourl and version.
182
+ *
183
+ * @method getInfo
184
+ * @return {Object} Name/value array containing information about the plugin.
185
+ */
186
+ getInfo : function() {
187
+ return {
188
+ longname : 'Auto save',
189
+ author : 'Moxiecode Systems AB',
190
+ authorurl : 'http://tinymce.moxiecode.com',
191
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave',
192
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
193
+ };
194
+ },
195
+
196
+ /**
197
+ * Returns an expiration date UTC string.
198
+ *
199
+ * @method getExpDate
200
+ * @return {String} Expiration date UTC string.
201
+ */
202
+ getExpDate : function() {
203
+ return new Date(
204
+ new Date().getTime() + this.editor.settings.autosave_retention
205
+ ).toUTCString();
206
+ },
207
+
208
+ /**
209
+ * This method will setup the storage engine. If the browser has support for it.
210
+ *
211
+ * @method setupStorage
212
+ */
213
+ setupStorage : function(ed) {
214
+ var self = this, testKey = PLUGIN_NAME + '_test', testVal = "OK";
215
+
216
+ self.key = PLUGIN_NAME + ed.id;
217
+
218
+ // Loop though each storage engine type until we find one that works
219
+ tinymce.each([
220
+ function() {
221
+ // Try HTML5 Local Storage
222
+ if (localStorage) {
223
+ localStorage.setItem(testKey, testVal);
224
+
225
+ if (localStorage.getItem(testKey) === testVal) {
226
+ localStorage.removeItem(testKey);
227
+
228
+ return localStorage;
229
+ }
230
+ }
231
+ },
232
+
233
+ function() {
234
+ // Try HTML5 Session Storage
235
+ if (sessionStorage) {
236
+ sessionStorage.setItem(testKey, testVal);
237
+
238
+ if (sessionStorage.getItem(testKey) === testVal) {
239
+ sessionStorage.removeItem(testKey);
240
+
241
+ return sessionStorage;
242
+ }
243
+ }
244
+ },
245
+
246
+ function() {
247
+ // Try IE userData
248
+ if (tinymce.isIE) {
249
+ ed.getElement().style.behavior = "url('#default#userData')";
250
+
251
+ // Fake localStorage on old IE
252
+ return {
253
+ autoExpires : TRUE,
254
+
255
+ setItem : function(key, value) {
256
+ var userDataElement = ed.getElement();
257
+
258
+ userDataElement.setAttribute(key, value);
259
+ userDataElement.expires = self.getExpDate();
260
+ userDataElement.save("TinyMCE");
261
+ },
262
+
263
+ getItem : function(key) {
264
+ var userDataElement = ed.getElement();
265
+
266
+ userDataElement.load("TinyMCE");
267
+
268
+ return userDataElement.getAttribute(key);
269
+ },
270
+
271
+ removeItem : function(key) {
272
+ ed.getElement().removeAttribute(key);
273
+ }
274
+ };
275
+ }
276
+ },
277
+ ], function(setup) {
278
+ // Try executing each function to find a suitable storage engine
279
+ try {
280
+ self.storage = setup();
281
+
282
+ if (self.storage)
283
+ return false;
284
+ } catch (e) {
285
+ // Ignore
286
+ }
287
+ });
288
+ },
289
+
290
+ /**
291
+ * This method will store the current contents in the the storage engine.
292
+ *
293
+ * @method storeDraft
294
+ */
295
+ storeDraft : function() {
296
+ var self = this, storage = self.storage, editor = self.editor, expires, content;
297
+
298
+ // Is the contents dirty
299
+ if (storage) {
300
+ // If there is no existing key and the contents hasn't been changed since
301
+ // it's original value then there is no point in saving a draft
302
+ if (!storage.getItem(self.key) && !editor.isDirty())
303
+ return;
304
+
305
+ // Store contents if the contents if longer than the minlength of characters
306
+ content = editor.getContent();
307
+ if (content.length > editor.settings.autosave_minlength) {
308
+ expires = self.getExpDate();
309
+
310
+ // Store expiration date if needed IE userData has auto expire built in
311
+ if (!self.storage.autoExpires)
312
+ self.storage.setItem(self.key + "_expires", expires);
313
+
314
+ self.storage.setItem(self.key, content);
315
+ self.onStoreDraft.dispatch(self, {
316
+ expires : expires,
317
+ content : content
318
+ });
319
+ }
320
+ }
321
+ },
322
+
323
+ /**
324
+ * This method will restore the contents from the storage engine back to the editor.
325
+ *
326
+ * @method restoreDraft
327
+ */
328
+ restoreDraft : function() {
329
+ var self = this, storage = self.storage;
330
+
331
+ if (storage) {
332
+ content = storage.getItem(self.key);
333
+
334
+ if (content) {
335
+ self.editor.setContent(content);
336
+ self.onRestoreDraft.dispatch(self, {
337
+ content : content
338
+ });
339
+ }
340
+ }
341
+ },
342
+
343
+ /**
344
+ * This method will return true/false if there is a local storage draft available.
345
+ *
346
+ * @method hasDraft
347
+ * @return {boolean} true/false state if there is a local draft.
348
+ */
349
+ hasDraft : function() {
350
+ var self = this, storage = self.storage, expDate, exists;
351
+
352
+ if (storage) {
353
+ // Does the item exist at all
354
+ exists = !!storage.getItem(self.key);
355
+ if (exists) {
356
+ // Storage needs autoexpire
357
+ if (!self.storage.autoExpires) {
358
+ expDate = new Date(storage.getItem(self.key + "_expires"));
359
+
360
+ // Contents hasn't expired
361
+ if (new Date().getTime() < expDate.getTime())
362
+ return TRUE;
363
+
364
+ // Remove it if it has
365
+ self.removeDraft();
366
+ } else
367
+ return TRUE;
368
+ }
369
+ }
370
+
371
+ return false;
372
+ },
373
+
374
+ /**
375
+ * Removes the currently stored draft.
376
+ *
377
+ * @method removeDraft
378
+ */
379
+ removeDraft : function() {
380
+ var self = this, storage = self.storage, key = self.key, content;
381
+
382
+ if (storage) {
383
+ // Get current contents and remove the existing draft
384
+ content = storage.getItem(key);
385
+ storage.removeItem(key);
386
+ storage.removeItem(key + "_expires");
387
+
388
+ // Dispatch remove event if we had any contents
389
+ if (content) {
390
+ self.onRemoveDraft.dispatch(self, {
391
+ content : content
392
+ });
393
+ }
394
+ }
395
+ },
396
+
397
+ "static" : {
398
+ // Internal unload handler will be called before the page is unloaded
399
+ _beforeUnloadHandler : function(e) {
400
+ var msg;
401
+
402
+ tinymce.each(tinyMCE.editors, function(ed) {
403
+ // Store a draft for each editor instance
404
+ if (ed.plugins.autosave)
405
+ ed.plugins.autosave.storeDraft();
406
+
407
+ // Never ask in fullscreen mode
408
+ if (ed.getParam("fullscreen_is_enabled"))
409
+ return;
410
+
411
+ // Setup a return message if the editor is dirty
412
+ if (!msg && ed.isDirty() && ed.getParam("autosave_ask_before_unload"))
413
+ msg = ed.getLang("autosave.unload_msg");
414
+ });
415
+
416
+ return msg;
417
+ }
418
+ }
419
+ });
420
+
421
+ tinymce.PluginManager.add('autosave', tinymce.plugins.AutoSave);
422
+ })(tinymce);