tinymce_rails 3.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (261) hide show
  1. data/.gitignore +4 -0
  2. data/Gemfile +4 -0
  3. data/README.md +14 -0
  4. data/Rakefile +1 -0
  5. data/lib/tinymce_rails.rb +11 -0
  6. data/lib/tinymce_rails/version.rb +3 -0
  7. data/tinymce_rails.gemspec +24 -0
  8. data/vendor/assets/javascripts/tiny_mce/jquery.tinymce.js +1 -0
  9. data/vendor/assets/javascripts/tiny_mce/langs/en.js +218 -0
  10. data/vendor/assets/javascripts/tiny_mce/license.txt +504 -0
  11. data/vendor/assets/javascripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  12. data/vendor/assets/javascripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  13. data/vendor/assets/javascripts/tiny_mce/plugins/advhr/editor_plugin_src.js +57 -0
  14. data/vendor/assets/javascripts/tiny_mce/plugins/advhr/js/rule.js +43 -0
  15. data/vendor/assets/javascripts/tiny_mce/plugins/advhr/langs/en_dlg.js +7 -0
  16. data/vendor/assets/javascripts/tiny_mce/plugins/advhr/rule.htm +58 -0
  17. data/vendor/assets/javascripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  18. data/vendor/assets/javascripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  19. data/vendor/assets/javascripts/tiny_mce/plugins/advimage/editor_plugin_src.js +50 -0
  20. data/vendor/assets/javascripts/tiny_mce/plugins/advimage/image.htm +235 -0
  21. data/vendor/assets/javascripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  22. data/vendor/assets/javascripts/tiny_mce/plugins/advimage/js/image.js +445 -0
  23. data/vendor/assets/javascripts/tiny_mce/plugins/advimage/langs/en_dlg.js +45 -0
  24. data/vendor/assets/javascripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  25. data/vendor/assets/javascripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  26. data/vendor/assets/javascripts/tiny_mce/plugins/advlink/editor_plugin_src.js +61 -0
  27. data/vendor/assets/javascripts/tiny_mce/plugins/advlink/js/advlink.js +528 -0
  28. data/vendor/assets/javascripts/tiny_mce/plugins/advlink/langs/en_dlg.js +54 -0
  29. data/vendor/assets/javascripts/tiny_mce/plugins/advlink/link.htm +338 -0
  30. data/vendor/assets/javascripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
  31. data/vendor/assets/javascripts/tiny_mce/plugins/advlist/editor_plugin_src.js +154 -0
  32. data/vendor/assets/javascripts/tiny_mce/plugins/autolink/editor_plugin.js +1 -0
  33. data/vendor/assets/javascripts/tiny_mce/plugins/autolink/editor_plugin_src.js +156 -0
  34. data/vendor/assets/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
  35. data/vendor/assets/javascripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +119 -0
  36. data/vendor/assets/javascripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  37. data/vendor/assets/javascripts/tiny_mce/plugins/autosave/editor_plugin_src.js +422 -0
  38. data/vendor/assets/javascripts/tiny_mce/plugins/autosave/langs/en.js +4 -0
  39. data/vendor/assets/javascripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  40. data/vendor/assets/javascripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +120 -0
  41. data/vendor/assets/javascripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  42. data/vendor/assets/javascripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +156 -0
  43. data/vendor/assets/javascripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  44. data/vendor/assets/javascripts/tiny_mce/plugins/directionality/editor_plugin_src.js +82 -0
  45. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  46. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/editor_plugin_src.js +43 -0
  47. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/emotions.htm +41 -0
  48. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  49. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  50. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  51. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  52. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  53. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  54. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  55. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  56. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  57. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  58. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  59. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  60. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  61. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  62. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  63. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  64. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  65. data/vendor/assets/javascripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
  66. data/vendor/assets/javascripts/tiny_mce/plugins/example/dialog.htm +22 -0
  67. data/vendor/assets/javascripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
  68. data/vendor/assets/javascripts/tiny_mce/plugins/example/editor_plugin_src.js +84 -0
  69. data/vendor/assets/javascripts/tiny_mce/plugins/example/img/example.gif +0 -0
  70. data/vendor/assets/javascripts/tiny_mce/plugins/example/js/dialog.js +19 -0
  71. data/vendor/assets/javascripts/tiny_mce/plugins/example/langs/en.js +3 -0
  72. data/vendor/assets/javascripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  73. data/vendor/assets/javascripts/tiny_mce/plugins/fullpage/css/fullpage.css +182 -0
  74. data/vendor/assets/javascripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  75. data/vendor/assets/javascripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +182 -0
  76. data/vendor/assets/javascripts/tiny_mce/plugins/fullpage/fullpage.htm +571 -0
  77. data/vendor/assets/javascripts/tiny_mce/plugins/fullpage/js/fullpage.js +471 -0
  78. data/vendor/assets/javascripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
  79. data/vendor/assets/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  80. data/vendor/assets/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +151 -0
  81. data/vendor/assets/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +109 -0
  82. data/vendor/assets/javascripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  83. data/vendor/assets/javascripts/tiny_mce/plugins/iespell/editor_plugin_src.js +54 -0
  84. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  85. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +696 -0
  86. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  87. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  88. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  89. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  90. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  91. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  92. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  93. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +100 -0
  94. data/vendor/assets/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  95. data/vendor/assets/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  96. data/vendor/assets/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +83 -0
  97. data/vendor/assets/javascripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  98. data/vendor/assets/javascripts/tiny_mce/plugins/layer/editor_plugin_src.js +212 -0
  99. data/vendor/assets/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
  100. data/vendor/assets/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +136 -0
  101. data/vendor/assets/javascripts/tiny_mce/plugins/lists/editor_plugin.js +1 -0
  102. data/vendor/assets/javascripts/tiny_mce/plugins/lists/editor_plugin_src.js +617 -0
  103. data/vendor/assets/javascripts/tiny_mce/plugins/media/css/content.css +6 -0
  104. data/vendor/assets/javascripts/tiny_mce/plugins/media/css/media.css +16 -0
  105. data/vendor/assets/javascripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
  106. data/vendor/assets/javascripts/tiny_mce/plugins/media/editor_plugin_src.js +414 -0
  107. data/vendor/assets/javascripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  108. data/vendor/assets/javascripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  109. data/vendor/assets/javascripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  110. data/vendor/assets/javascripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
  111. data/vendor/assets/javascripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  112. data/vendor/assets/javascripts/tiny_mce/plugins/media/img/trans.gif +0 -0
  113. data/vendor/assets/javascripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
  114. data/vendor/assets/javascripts/tiny_mce/plugins/media/js/embed.js +73 -0
  115. data/vendor/assets/javascripts/tiny_mce/plugins/media/js/media.js +630 -0
  116. data/vendor/assets/javascripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
  117. data/vendor/assets/javascripts/tiny_mce/plugins/media/media.htm +818 -0
  118. data/vendor/assets/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  119. data/vendor/assets/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +53 -0
  120. data/vendor/assets/javascripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  121. data/vendor/assets/javascripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +90 -0
  122. data/vendor/assets/javascripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
  123. data/vendor/assets/javascripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  124. data/vendor/assets/javascripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +77 -0
  125. data/vendor/assets/javascripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
  126. data/vendor/assets/javascripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  127. data/vendor/assets/javascripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  128. data/vendor/assets/javascripts/tiny_mce/plugins/paste/editor_plugin_src.js +1035 -0
  129. data/vendor/assets/javascripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  130. data/vendor/assets/javascripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  131. data/vendor/assets/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  132. data/vendor/assets/javascripts/tiny_mce/plugins/paste/pastetext.htm +27 -0
  133. data/vendor/assets/javascripts/tiny_mce/plugins/paste/pasteword.htm +21 -0
  134. data/vendor/assets/javascripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  135. data/vendor/assets/javascripts/tiny_mce/plugins/preview/editor_plugin_src.js +53 -0
  136. data/vendor/assets/javascripts/tiny_mce/plugins/preview/example.html +28 -0
  137. data/vendor/assets/javascripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  138. data/vendor/assets/javascripts/tiny_mce/plugins/preview/preview.html +17 -0
  139. data/vendor/assets/javascripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
  140. data/vendor/assets/javascripts/tiny_mce/plugins/print/editor_plugin_src.js +34 -0
  141. data/vendor/assets/javascripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
  142. data/vendor/assets/javascripts/tiny_mce/plugins/save/editor_plugin_src.js +101 -0
  143. data/vendor/assets/javascripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  144. data/vendor/assets/javascripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  145. data/vendor/assets/javascripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +57 -0
  146. data/vendor/assets/javascripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +140 -0
  147. data/vendor/assets/javascripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
  148. data/vendor/assets/javascripts/tiny_mce/plugins/searchreplace/searchreplace.htm +100 -0
  149. data/vendor/assets/javascripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  150. data/vendor/assets/javascripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  151. data/vendor/assets/javascripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +417 -0
  152. data/vendor/assets/javascripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  153. data/vendor/assets/javascripts/tiny_mce/plugins/style/css/props.css +13 -0
  154. data/vendor/assets/javascripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
  155. data/vendor/assets/javascripts/tiny_mce/plugins/style/editor_plugin_src.js +55 -0
  156. data/vendor/assets/javascripts/tiny_mce/plugins/style/js/props.js +641 -0
  157. data/vendor/assets/javascripts/tiny_mce/plugins/style/langs/en_dlg.js +70 -0
  158. data/vendor/assets/javascripts/tiny_mce/plugins/style/props.htm +838 -0
  159. data/vendor/assets/javascripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -0
  160. data/vendor/assets/javascripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +114 -0
  161. data/vendor/assets/javascripts/tiny_mce/plugins/table/cell.htm +178 -0
  162. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/cell.css +17 -0
  163. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/row.css +25 -0
  164. data/vendor/assets/javascripts/tiny_mce/plugins/table/css/table.css +13 -0
  165. data/vendor/assets/javascripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  166. data/vendor/assets/javascripts/tiny_mce/plugins/table/editor_plugin_src.js +1139 -0
  167. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/cell.js +286 -0
  168. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/merge_cells.js +27 -0
  169. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/row.js +237 -0
  170. data/vendor/assets/javascripts/tiny_mce/plugins/table/js/table.js +454 -0
  171. data/vendor/assets/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
  172. data/vendor/assets/javascripts/tiny_mce/plugins/table/merge_cells.htm +32 -0
  173. data/vendor/assets/javascripts/tiny_mce/plugins/table/row.htm +157 -0
  174. data/vendor/assets/javascripts/tiny_mce/plugins/table/table.htm +188 -0
  175. data/vendor/assets/javascripts/tiny_mce/plugins/template/blank.htm +12 -0
  176. data/vendor/assets/javascripts/tiny_mce/plugins/template/css/template.css +23 -0
  177. data/vendor/assets/javascripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
  178. data/vendor/assets/javascripts/tiny_mce/plugins/template/editor_plugin_src.js +159 -0
  179. data/vendor/assets/javascripts/tiny_mce/plugins/template/js/template.js +106 -0
  180. data/vendor/assets/javascripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
  181. data/vendor/assets/javascripts/tiny_mce/plugins/template/template.htm +31 -0
  182. data/vendor/assets/javascripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  183. data/vendor/assets/javascripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +83 -0
  184. data/vendor/assets/javascripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -0
  185. data/vendor/assets/javascripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +98 -0
  186. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +142 -0
  187. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +142 -0
  188. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +149 -0
  189. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/cite.htm +142 -0
  190. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  191. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  192. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/del.htm +162 -0
  193. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  194. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +132 -0
  195. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/ins.htm +162 -0
  196. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +28 -0
  197. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +28 -0
  198. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +126 -0
  199. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +28 -0
  200. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/del.js +53 -0
  201. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +231 -0
  202. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +52 -0
  203. data/vendor/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  204. data/vendor/assets/javascripts/tiny_mce/themes/advanced/about.htm +48 -0
  205. data/vendor/assets/javascripts/tiny_mce/themes/advanced/anchor.htm +26 -0
  206. data/vendor/assets/javascripts/tiny_mce/themes/advanced/charmap.htm +53 -0
  207. data/vendor/assets/javascripts/tiny_mce/themes/advanced/color_picker.htm +74 -0
  208. data/vendor/assets/javascripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  209. data/vendor/assets/javascripts/tiny_mce/themes/advanced/editor_template_src.js +1326 -0
  210. data/vendor/assets/javascripts/tiny_mce/themes/advanced/image.htm +80 -0
  211. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  212. data/vendor/assets/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  213. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/about.js +73 -0
  214. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/anchor.js +37 -0
  215. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/charmap.js +353 -0
  216. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/color_picker.js +329 -0
  217. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/image.js +247 -0
  218. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/link.js +156 -0
  219. data/vendor/assets/javascripts/tiny_mce/themes/advanced/js/source_editor.js +56 -0
  220. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/en.js +68 -0
  221. data/vendor/assets/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +53 -0
  222. data/vendor/assets/javascripts/tiny_mce/themes/advanced/link.htm +58 -0
  223. data/vendor/assets/javascripts/tiny_mce/themes/advanced/shortcuts.htm +47 -0
  224. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/content.css +37 -0
  225. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +117 -0
  226. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  227. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  228. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  229. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  230. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  231. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  232. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +213 -0
  233. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/content.css +23 -0
  234. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +105 -0
  235. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css +101 -0
  236. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +36 -0
  237. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +116 -0
  238. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  239. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  240. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  241. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +215 -0
  242. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  243. data/vendor/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  244. data/vendor/assets/javascripts/tiny_mce/themes/advanced/source_editor.htm +25 -0
  245. data/vendor/assets/javascripts/tiny_mce/themes/simple/editor_template.js +1 -0
  246. data/vendor/assets/javascripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
  247. data/vendor/assets/javascripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  248. data/vendor/assets/javascripts/tiny_mce/themes/simple/langs/en.js +11 -0
  249. data/vendor/assets/javascripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
  250. data/vendor/assets/javascripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  251. data/vendor/assets/javascripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  252. data/vendor/assets/javascripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  253. data/vendor/assets/javascripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  254. data/vendor/assets/javascripts/tiny_mce/tiny_mce.js +1 -0
  255. data/vendor/assets/javascripts/tiny_mce/tiny_mce_popup.js +5 -0
  256. data/vendor/assets/javascripts/tiny_mce/tiny_mce_src.js +13913 -0
  257. data/vendor/assets/javascripts/tiny_mce/utils/editable_selects.js +70 -0
  258. data/vendor/assets/javascripts/tiny_mce/utils/form_utils.js +206 -0
  259. data/vendor/assets/javascripts/tiny_mce/utils/mctabs.js +151 -0
  260. data/vendor/assets/javascripts/tiny_mce/utils/validate.js +252 -0
  261. metadata +305 -0
@@ -0,0 +1,22 @@
1
+ tinyMCEPopup.requireLangPack();
2
+
3
+ var EmotionsDialog = {
4
+ init : function(ed) {
5
+ tinyMCEPopup.resizeToInnerSize();
6
+ },
7
+
8
+ insert : function(file, title) {
9
+ var ed = tinyMCEPopup.editor, dom = ed.dom;
10
+
11
+ tinyMCEPopup.execCommand('mceInsertContent', false, dom.createHTML('img', {
12
+ src : tinyMCEPopup.getWindowArg('plugin_url') + '/img/' + file,
13
+ alt : ed.getLang(title),
14
+ title : ed.getLang(title),
15
+ border : 0
16
+ }));
17
+
18
+ tinyMCEPopup.close();
19
+ }
20
+ };
21
+
22
+ tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog);
@@ -0,0 +1,20 @@
1
+ tinyMCE.addI18n('en.emotions_dlg',{
2
+ title:"Insert emotion",
3
+ desc:"Emotions",
4
+ cool:"Cool",
5
+ cry:"Cry",
6
+ embarassed:"Embarassed",
7
+ foot_in_mouth:"Foot in mouth",
8
+ frown:"Frown",
9
+ innocent:"Innocent",
10
+ kiss:"Kiss",
11
+ laughing:"Laughing",
12
+ money_mouth:"Money mouth",
13
+ sealed:"Sealed",
14
+ smile:"Smile",
15
+ surprised:"Surprised",
16
+ tongue_out:"Tongue out",
17
+ undecided:"Undecided",
18
+ wink:"Wink",
19
+ yell:"Yell"
20
+ });
@@ -0,0 +1,22 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <title>{#example_dlg.title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="js/dialog.js"></script>
7
+ </head>
8
+ <body>
9
+
10
+ <form onsubmit="ExampleDialog.insert();return false;" action="#">
11
+ <p>Here is a example dialog.</p>
12
+ <p>Selected text: <input id="someval" name="someval" type="text" class="text" /></p>
13
+ <p>Custom arg: <input id="somearg" name="somearg" type="text" class="text" /></p>
14
+
15
+ <div class="mceActionPanel">
16
+ <input type="button" id="insert" name="insert" value="{#insert}" onclick="ExampleDialog.insert();" />
17
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
18
+ </div>
19
+ </form>
20
+
21
+ </body>
22
+ </html>
@@ -0,0 +1 @@
1
+ (function(){tinymce.PluginManager.requireLangPack("example");tinymce.create("tinymce.plugins.ExamplePlugin",{init:function(a,b){a.addCommand("mceExample",function(){a.windowManager.open({file:b+"/dialog.htm",width:320+parseInt(a.getLang("example.delta_width",0)),height:120+parseInt(a.getLang("example.delta_height",0)),inline:1},{plugin_url:b,some_custom_arg:"custom arg"})});a.addButton("example",{title:"example.desc",cmd:"mceExample",image:b+"/img/example.gif"});a.onNodeChange.add(function(d,c,e){c.setActive("example",e.nodeName=="IMG")})},createControl:function(b,a){return null},getInfo:function(){return{longname:"Example plugin",author:"Some author",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example",version:"1.0"}}});tinymce.PluginManager.add("example",tinymce.plugins.ExamplePlugin)})();
@@ -0,0 +1,84 @@
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
+ // Load plugin specific language pack
13
+ tinymce.PluginManager.requireLangPack('example');
14
+
15
+ tinymce.create('tinymce.plugins.ExamplePlugin', {
16
+ /**
17
+ * Initializes the plugin, this will be executed after the plugin has been created.
18
+ * This call is done before the editor instance has finished it's initialization so use the onInit event
19
+ * of the editor instance to intercept that event.
20
+ *
21
+ * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
22
+ * @param {string} url Absolute URL to where the plugin is located.
23
+ */
24
+ init : function(ed, url) {
25
+ // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceExample');
26
+ ed.addCommand('mceExample', function() {
27
+ ed.windowManager.open({
28
+ file : url + '/dialog.htm',
29
+ width : 320 + parseInt(ed.getLang('example.delta_width', 0)),
30
+ height : 120 + parseInt(ed.getLang('example.delta_height', 0)),
31
+ inline : 1
32
+ }, {
33
+ plugin_url : url, // Plugin absolute URL
34
+ some_custom_arg : 'custom arg' // Custom argument
35
+ });
36
+ });
37
+
38
+ // Register example button
39
+ ed.addButton('example', {
40
+ title : 'example.desc',
41
+ cmd : 'mceExample',
42
+ image : url + '/img/example.gif'
43
+ });
44
+
45
+ // Add a node change handler, selects the button in the UI when a image is selected
46
+ ed.onNodeChange.add(function(ed, cm, n) {
47
+ cm.setActive('example', n.nodeName == 'IMG');
48
+ });
49
+ },
50
+
51
+ /**
52
+ * Creates control instances based in the incomming name. This method is normally not
53
+ * needed since the addButton method of the tinymce.Editor class is a more easy way of adding buttons
54
+ * but you sometimes need to create more complex controls like listboxes, split buttons etc then this
55
+ * method can be used to create those.
56
+ *
57
+ * @param {String} n Name of the control to create.
58
+ * @param {tinymce.ControlManager} cm Control manager to use inorder to create new control.
59
+ * @return {tinymce.ui.Control} New control instance or null if no control was created.
60
+ */
61
+ createControl : function(n, cm) {
62
+ return null;
63
+ },
64
+
65
+ /**
66
+ * Returns information about the plugin as a name/value array.
67
+ * The current keys are longname, author, authorurl, infourl and version.
68
+ *
69
+ * @return {Object} Name/value array containing information about the plugin.
70
+ */
71
+ getInfo : function() {
72
+ return {
73
+ longname : 'Example plugin',
74
+ author : 'Some author',
75
+ authorurl : 'http://tinymce.moxiecode.com',
76
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/example',
77
+ version : "1.0"
78
+ };
79
+ }
80
+ });
81
+
82
+ // Register plugin
83
+ tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin);
84
+ })();
@@ -0,0 +1,19 @@
1
+ tinyMCEPopup.requireLangPack();
2
+
3
+ var ExampleDialog = {
4
+ init : function() {
5
+ var f = document.forms[0];
6
+
7
+ // Get the selected contents as text and place it in the input
8
+ f.someval.value = tinyMCEPopup.editor.selection.getContent({format : 'text'});
9
+ f.somearg.value = tinyMCEPopup.getWindowArg('some_custom_arg');
10
+ },
11
+
12
+ insert : function() {
13
+ // Insert the contents from the input into the document
14
+ tinyMCEPopup.editor.execCommand('mceInsertContent', false, document.forms[0].someval.value);
15
+ tinyMCEPopup.close();
16
+ }
17
+ };
18
+
19
+ tinyMCEPopup.onInit.add(ExampleDialog.init, ExampleDialog);
@@ -0,0 +1,3 @@
1
+ tinyMCE.addI18n('en.example',{
2
+ desc : 'This is just a template button'
3
+ });
@@ -0,0 +1,3 @@
1
+ tinyMCE.addI18n('en.example_dlg',{
2
+ title : 'This is just a example title'
3
+ });
@@ -0,0 +1,182 @@
1
+ /* Hide the advanced tab */
2
+ #advanced_tab {
3
+ display: none;
4
+ }
5
+
6
+ #metatitle, #metakeywords, #metadescription, #metaauthor, #metacopyright {
7
+ width: 280px;
8
+ }
9
+
10
+ #doctype, #docencoding {
11
+ width: 200px;
12
+ }
13
+
14
+ #langcode {
15
+ width: 30px;
16
+ }
17
+
18
+ #bgimage {
19
+ width: 220px;
20
+ }
21
+
22
+ #fontface {
23
+ width: 240px;
24
+ }
25
+
26
+ #leftmargin, #rightmargin, #topmargin, #bottommargin {
27
+ width: 50px;
28
+ }
29
+
30
+ .panel_wrapper div.current {
31
+ height: 400px;
32
+ }
33
+
34
+ #stylesheet, #style {
35
+ width: 240px;
36
+ }
37
+
38
+ /* Head list classes */
39
+
40
+ .headlistwrapper {
41
+ width: 100%;
42
+ }
43
+
44
+ .addbutton, .removebutton, .moveupbutton, .movedownbutton {
45
+ border-top: 1px solid;
46
+ border-left: 1px solid;
47
+ border-bottom: 1px solid;
48
+ border-right: 1px solid;
49
+ border-color: #F0F0EE;
50
+ cursor: default;
51
+ display: block;
52
+ width: 20px;
53
+ height: 20px;
54
+ }
55
+
56
+ #doctypes {
57
+ width: 200px;
58
+ }
59
+
60
+ .addbutton:hover, .removebutton:hover, .moveupbutton:hover, .movedownbutton:hover {
61
+ border: 1px solid #0A246A;
62
+ background-color: #B6BDD2;
63
+ }
64
+
65
+ .addbutton {
66
+ background-image: url('../images/add.gif');
67
+ float: left;
68
+ margin-right: 3px;
69
+ }
70
+
71
+ .removebutton {
72
+ background-image: url('../images/remove.gif');
73
+ float: left;
74
+ }
75
+
76
+ .moveupbutton {
77
+ background-image: url('../images/move_up.gif');
78
+ float: left;
79
+ margin-right: 3px;
80
+ }
81
+
82
+ .movedownbutton {
83
+ background-image: url('../images/move_down.gif');
84
+ float: left;
85
+ }
86
+
87
+ .selected {
88
+ border: 1px solid #0A246A;
89
+ background-color: #B6BDD2;
90
+ }
91
+
92
+ .toolbar {
93
+ width: 100%;
94
+ }
95
+
96
+ #headlist {
97
+ width: 100%;
98
+ margin-top: 3px;
99
+ font-size: 11px;
100
+ }
101
+
102
+ #info, #title_element, #meta_element, #script_element, #style_element, #base_element, #link_element, #comment_element, #unknown_element {
103
+ display: none;
104
+ }
105
+
106
+ #addmenu {
107
+ position: absolute;
108
+ border: 1px solid gray;
109
+ display: none;
110
+ z-index: 100;
111
+ background-color: white;
112
+ }
113
+
114
+ #addmenu a {
115
+ display: block;
116
+ width: 100%;
117
+ line-height: 20px;
118
+ text-decoration: none;
119
+ background-color: white;
120
+ }
121
+
122
+ #addmenu a:hover {
123
+ background-color: #B6BDD2;
124
+ color: black;
125
+ }
126
+
127
+ #addmenu span {
128
+ padding-left: 10px;
129
+ padding-right: 10px;
130
+ }
131
+
132
+ #updateElementPanel {
133
+ display: none;
134
+ }
135
+
136
+ #script_element .panel_wrapper div.current {
137
+ height: 108px;
138
+ }
139
+
140
+ #style_element .panel_wrapper div.current {
141
+ height: 108px;
142
+ }
143
+
144
+ #link_element .panel_wrapper div.current {
145
+ height: 140px;
146
+ }
147
+
148
+ #element_script_value {
149
+ width: 100%;
150
+ height: 100px;
151
+ }
152
+
153
+ #element_comment_value {
154
+ width: 100%;
155
+ height: 120px;
156
+ }
157
+
158
+ #element_style_value {
159
+ width: 100%;
160
+ height: 100px;
161
+ }
162
+
163
+ #element_title, #element_script_src, #element_meta_name, #element_meta_content, #element_base_href, #element_link_href, #element_link_title {
164
+ width: 250px;
165
+ }
166
+
167
+ .updateElementButton {
168
+ margin-top: 3px;
169
+ }
170
+
171
+ /* MSIE specific styles */
172
+
173
+ * html .addbutton, * html .removebutton, * html .moveupbutton, * html .movedownbutton {
174
+ width: 22px;
175
+ height: 22px;
176
+ }
177
+
178
+ textarea {
179
+ height: 55px;
180
+ }
181
+
182
+ .panel_wrapper div.current {height:420px;}
@@ -0,0 +1 @@
1
+ (function(){tinymce.create("tinymce.plugins.FullPagePlugin",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceFullPageProperties",function(){a.windowManager.open({file:b+"/fullpage.htm",width:430+parseInt(a.getLang("fullpage.delta_width",0)),height:495+parseInt(a.getLang("fullpage.delta_height",0)),inline:1},{plugin_url:b,head_html:c.head})});a.addButton("fullpage",{title:"fullpage.desc",cmd:"mceFullPageProperties"});a.onBeforeSetContent.add(c._setContent,c);a.onSetContent.add(c._setBodyAttribs,c);a.onGetContent.add(c._getContent,c)},getInfo:function(){return{longname:"Fullpage",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_setBodyAttribs:function(d,a){var l,c,e,g,b,h,j,f=this.head.match(/body(.*?)>/i);if(f&&f[1]){l=f[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);if(l){for(c=0,e=l.length;c<e;c++){g=l[c].split("=");b=g[0].replace(/\s/,"");h=g[1];if(h){h=h.replace(/^\s+/,"").replace(/\s+$/,"");j=h.match(/^["'](.*)["']$/);if(j){h=j[1]}}else{h=b}d.dom.setAttrib(d.getBody(),"style",h)}}}},_createSerializer:function(){return new tinymce.dom.Serializer({dom:this.editor.dom,apply_source_formatting:true})},_setContent:function(d,b){var i=this,a,l,f=b.content,h,j="";if(b.format=="raw"&&i.head){return}if(b.source_view&&d.getParam("fullpage_hide_in_source_view")){return}f=f.replace(/<(\/?)BODY/gi,"<$1body");a=f.indexOf("<body");if(a!=-1){a=f.indexOf(">",a);i.head=f.substring(0,a+1);var k=0,g;i.css="";while((k=i.head.indexOf("<style",k))!=-1){k=f.indexOf(">",k)+1;if((g=i.head.indexOf("</style",k))==-1){break}i.css+=i.head.substring(k,g);k=g}l=f.indexOf("</body",a);if(l==-1){l=f.length}b.content=f.substring(a+1,l);i.foot=f.substring(l);function e(c){return c.replace(/<\/?[A-Z]+/g,function(m){return m.toLowerCase()})}i.head=e(i.head);i.foot=e(i.foot)}else{i.head="";if(d.getParam("fullpage_default_xml_pi")){i.head+='<?xml version="1.0" encoding="'+d.getParam("fullpage_default_encoding","ISO-8859-1")+'" ?>\n'}i.head+=d.getParam("fullpage_default_doctype",'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');i.head+="\n<html>\n<head>\n<title>"+d.getParam("fullpage_default_title","Untitled document")+"</title>\n";if(h=d.getParam("fullpage_default_encoding")){i.head+='<meta http-equiv="Content-Type" content="'+h+'" />\n'}if(h=d.getParam("fullpage_default_font_family")){j+="font-family: "+h+";"}if(h=d.getParam("fullpage_default_font_size")){j+="font-size: "+h+";"}if(h=d.getParam("fullpage_default_text_color")){j+="color: "+h+";"}i.head+="</head>\n<body"+(j?' style="'+j+'"':"")+">\n";i.foot="\n</body>\n</html>"}},_getContent:function(a,c){var b=this;if(!c.source_view||!a.getParam("fullpage_hide_in_source_view")){c.content=tinymce.trim(b.head)+"\n"+tinymce.trim(c.content)+"\n"+tinymce.trim(b.foot);if(b.css){b._setStyle(a,b.css)}}},_setStyle:function(a,b){a.dom.remove("injectedCSS");var d=a.dom.doc,c=d.createElement("style");c.type="text/css";c.id="injectedCSS";if(c.styleSheet){c.styleSheet.cssText=b}else{c.appendChild(d.createTextNode(b))}d.getElementsByTagName("head")[0].appendChild(c)}});tinymce.PluginManager.add("fullpage",tinymce.plugins.FullPagePlugin)})();
@@ -0,0 +1,182 @@
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
+ tinymce.create('tinymce.plugins.FullPagePlugin', {
13
+ init : function(ed, url) {
14
+ var t = this;
15
+
16
+ t.editor = ed;
17
+
18
+ // Register commands
19
+ ed.addCommand('mceFullPageProperties', function() {
20
+ ed.windowManager.open({
21
+ file : url + '/fullpage.htm',
22
+ width : 430 + parseInt(ed.getLang('fullpage.delta_width', 0)),
23
+ height : 495 + parseInt(ed.getLang('fullpage.delta_height', 0)),
24
+ inline : 1
25
+ }, {
26
+ plugin_url : url,
27
+ head_html : t.head
28
+ });
29
+ });
30
+
31
+ // Register buttons
32
+ ed.addButton('fullpage', {title : 'fullpage.desc', cmd : 'mceFullPageProperties'});
33
+
34
+ ed.onBeforeSetContent.add(t._setContent, t);
35
+ ed.onSetContent.add(t._setBodyAttribs, t);
36
+ ed.onGetContent.add(t._getContent, t);
37
+ },
38
+
39
+ getInfo : function() {
40
+ return {
41
+ longname : 'Fullpage',
42
+ author : 'Moxiecode Systems AB',
43
+ authorurl : 'http://tinymce.moxiecode.com',
44
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullpage',
45
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
46
+ };
47
+ },
48
+
49
+ // Private plugin internal methods
50
+
51
+ _setBodyAttribs : function(ed, o) {
52
+ var bdattr, i, len, kv, k, v, t, attr = this.head.match(/body(.*?)>/i);
53
+
54
+ if (attr && attr[1]) {
55
+ bdattr = attr[1].match(/\s*(\w+\s*=\s*".*?"|\w+\s*=\s*'.*?'|\w+\s*=\s*\w+|\w+)\s*/g);
56
+
57
+ if (bdattr) {
58
+ for(i = 0, len = bdattr.length; i < len; i++) {
59
+ kv = bdattr[i].split('=');
60
+ k = kv[0].replace(/\s/,'');
61
+ v = kv[1];
62
+
63
+ if (v) {
64
+ v = v.replace(/^\s+/,'').replace(/\s+$/,'');
65
+ t = v.match(/^["'](.*)["']$/);
66
+
67
+ if (t)
68
+ v = t[1];
69
+ } else
70
+ v = k;
71
+
72
+ ed.dom.setAttrib(ed.getBody(), 'style', v);
73
+ }
74
+ }
75
+ }
76
+ },
77
+
78
+ _createSerializer : function() {
79
+ return new tinymce.dom.Serializer({
80
+ dom : this.editor.dom,
81
+ apply_source_formatting : true
82
+ });
83
+ },
84
+
85
+ _setContent : function(ed, o) {
86
+ var t = this, sp, ep, c = o.content, v, st = '';
87
+
88
+ // Ignore raw updated if we already have a head, this will fix issues with undo/redo keeping the head/foot separate
89
+ if (o.format == 'raw' && t.head)
90
+ return;
91
+
92
+ if (o.source_view && ed.getParam('fullpage_hide_in_source_view'))
93
+ return;
94
+
95
+ // Parse out head, body and footer
96
+ c = c.replace(/<(\/?)BODY/gi, '<$1body');
97
+ sp = c.indexOf('<body');
98
+
99
+ if (sp != -1) {
100
+ sp = c.indexOf('>', sp);
101
+ t.head = c.substring(0, sp + 1);
102
+
103
+ // Concatenate all <style>'s text into t.css
104
+ var ss = 0, es;
105
+ t.css = '';
106
+ while ((ss = t.head.indexOf('<style', ss)) != -1) {
107
+ ss = c.indexOf('>', ss) + 1;
108
+ if ( (es = t.head.indexOf('</style', ss)) == -1)
109
+ break;
110
+ t.css += t.head.substring(ss, es);
111
+ ss = es;
112
+ }
113
+
114
+ ep = c.indexOf('</body', sp);
115
+ if (ep == -1)
116
+ ep = c.length;
117
+
118
+ o.content = c.substring(sp + 1, ep);
119
+ t.foot = c.substring(ep);
120
+
121
+ function low(s) {
122
+ return s.replace(/<\/?[A-Z]+/g, function(a) {
123
+ return a.toLowerCase();
124
+ })
125
+ };
126
+
127
+ t.head = low(t.head);
128
+ t.foot = low(t.foot);
129
+ } else {
130
+ t.head = '';
131
+ if (ed.getParam('fullpage_default_xml_pi'))
132
+ t.head += '<?xml version="1.0" encoding="' + ed.getParam('fullpage_default_encoding', 'ISO-8859-1') + '" ?>\n';
133
+
134
+ t.head += ed.getParam('fullpage_default_doctype', '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">');
135
+ t.head += '\n<html>\n<head>\n<title>' + ed.getParam('fullpage_default_title', 'Untitled document') + '</title>\n';
136
+
137
+ if (v = ed.getParam('fullpage_default_encoding'))
138
+ t.head += '<meta http-equiv="Content-Type" content="' + v + '" />\n';
139
+
140
+ if (v = ed.getParam('fullpage_default_font_family'))
141
+ st += 'font-family: ' + v + ';';
142
+
143
+ if (v = ed.getParam('fullpage_default_font_size'))
144
+ st += 'font-size: ' + v + ';';
145
+
146
+ if (v = ed.getParam('fullpage_default_text_color'))
147
+ st += 'color: ' + v + ';';
148
+
149
+ t.head += '</head>\n<body' + (st ? ' style="' + st + '"' : '') + '>\n';
150
+ t.foot = '\n</body>\n</html>';
151
+ }
152
+ },
153
+
154
+ _getContent : function(ed, o) {
155
+ var t = this;
156
+
157
+ if (!o.source_view || !ed.getParam('fullpage_hide_in_source_view')) {
158
+ o.content = tinymce.trim(t.head) + '\n' + tinymce.trim(o.content) + '\n' + tinymce.trim(t.foot);
159
+
160
+ if (t.css)
161
+ t._setStyle(ed, t.css);
162
+ }
163
+ },
164
+
165
+ _setStyle : function(ed, css) {
166
+ ed.dom.remove('injectedCSS');
167
+ var doc = ed.dom.doc, style = doc.createElement('style');
168
+ style.type = 'text/css';
169
+ style.id = 'injectedCSS';
170
+
171
+ if (style.styleSheet) // IE
172
+ style.styleSheet.cssText = css;
173
+ else // other browsers
174
+ style.appendChild(doc.createTextNode(css));
175
+
176
+ doc.getElementsByTagName('head')[0].appendChild(style);
177
+ }
178
+ });
179
+
180
+ // Register plugin
181
+ tinymce.PluginManager.add('fullpage', tinymce.plugins.FullPagePlugin);
182
+ })();