sbdevcore 0.0.6 → 0.0.7

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 (658) hide show
  1. data/app/views/layouts/application.html.haml +1 -1
  2. data/lib/sbdevcore/version.rb +1 -1
  3. metadata +1 -656
  4. data/app/assets/javascripts/tiny_mce/langs/ar.js +0 -170
  5. data/app/assets/javascripts/tiny_mce/langs/ca.js +0 -170
  6. data/app/assets/javascripts/tiny_mce/langs/ch.js +0 -178
  7. data/app/assets/javascripts/tiny_mce/langs/cs.js +0 -176
  8. data/app/assets/javascripts/tiny_mce/langs/cy.js +0 -170
  9. data/app/assets/javascripts/tiny_mce/langs/de.js +0 -171
  10. data/app/assets/javascripts/tiny_mce/langs/en.js +0 -170
  11. data/app/assets/javascripts/tiny_mce/langs/es.js +0 -172
  12. data/app/assets/javascripts/tiny_mce/langs/fr.js +0 -170
  13. data/app/assets/javascripts/tiny_mce/langs/he.js +0 -170
  14. data/app/assets/javascripts/tiny_mce/langs/hi.js +0 -170
  15. data/app/assets/javascripts/tiny_mce/langs/hr.js +0 -171
  16. data/app/assets/javascripts/tiny_mce/langs/hu.js +0 -170
  17. data/app/assets/javascripts/tiny_mce/langs/it.js +0 -206
  18. data/app/assets/javascripts/tiny_mce/langs/ja.js +0 -170
  19. data/app/assets/javascripts/tiny_mce/langs/ka.js +0 -173
  20. data/app/assets/javascripts/tiny_mce/langs/kl.js +0 -170
  21. data/app/assets/javascripts/tiny_mce/langs/ko.js +0 -170
  22. data/app/assets/javascripts/tiny_mce/langs/lb.js +0 -171
  23. data/app/assets/javascripts/tiny_mce/langs/nl.js +0 -170
  24. data/app/assets/javascripts/tiny_mce/langs/pl.js +0 -170
  25. data/app/assets/javascripts/tiny_mce/langs/pt.js +0 -170
  26. data/app/assets/javascripts/tiny_mce/langs/ru.js +0 -173
  27. data/app/assets/javascripts/tiny_mce/langs/sk.js +0 -176
  28. data/app/assets/javascripts/tiny_mce/langs/sv.js +0 -170
  29. data/app/assets/javascripts/tiny_mce/langs/ta.js +0 -170
  30. data/app/assets/javascripts/tiny_mce/langs/uk.js +0 -173
  31. data/app/assets/javascripts/tiny_mce/langs/vi.js +0 -170
  32. data/app/assets/javascripts/tiny_mce/langs/zh.js +0 -178
  33. data/app/assets/javascripts/tiny_mce/license.txt +0 -504
  34. data/app/assets/javascripts/tiny_mce/plugins/advhr/css/advhr.css +0 -5
  35. data/app/assets/javascripts/tiny_mce/plugins/advhr/editor_plugin.js +0 -1
  36. data/app/assets/javascripts/tiny_mce/plugins/advhr/editor_plugin_src.js +0 -57
  37. data/app/assets/javascripts/tiny_mce/plugins/advhr/js/rule.js +0 -43
  38. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/ar_dlg.js +0 -5
  39. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/ca_dlg.js +0 -5
  40. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/ch_dlg.js +0 -5
  41. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/cs_dlg.js +0 -5
  42. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/cy_dlg.js +0 -5
  43. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/de_dlg.js +0 -5
  44. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/en_dlg.js +0 -5
  45. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/es_dlg.js +0 -5
  46. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/fr_dlg.js +0 -5
  47. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/he_dlg.js +0 -5
  48. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/hi_dlg.js +0 -5
  49. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/hr_dlg.js +0 -5
  50. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/hu_dlg.js +0 -5
  51. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/it_dlg.js +0 -5
  52. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/ja_dlg.js +0 -5
  53. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/ka_dlg.js +0 -5
  54. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/kl_dlg.js +0 -5
  55. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/ko_dlg.js +0 -5
  56. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/lb_dlg.js +0 -5
  57. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/nl_dlg.js +0 -5
  58. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/pl_dlg.js +0 -5
  59. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/pt_dlg.js +0 -5
  60. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/ru_dlg.js +0 -5
  61. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/sk_dlg.js +0 -5
  62. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/sv_dlg.js +0 -5
  63. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/ta_dlg.js +0 -5
  64. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/uk_dlg.js +0 -5
  65. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/vi_dlg.js +0 -5
  66. data/app/assets/javascripts/tiny_mce/plugins/advhr/langs/zh_dlg.js +0 -5
  67. data/app/assets/javascripts/tiny_mce/plugins/advhr/rule.htm +0 -57
  68. data/app/assets/javascripts/tiny_mce/plugins/advimage/css/advimage.css +0 -13
  69. data/app/assets/javascripts/tiny_mce/plugins/advimage/editor_plugin.js +0 -1
  70. data/app/assets/javascripts/tiny_mce/plugins/advimage/editor_plugin_src.js +0 -50
  71. data/app/assets/javascripts/tiny_mce/plugins/advimage/image.htm +0 -232
  72. data/app/assets/javascripts/tiny_mce/plugins/advimage/js/image.js +0 -443
  73. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/ar_dlg.js +0 -43
  74. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/ca_dlg.js +0 -43
  75. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/ch_dlg.js +0 -43
  76. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/cs_dlg.js +0 -43
  77. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/cy_dlg.js +0 -43
  78. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/de_dlg.js +0 -43
  79. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/en_dlg.js +0 -43
  80. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/es_dlg.js +0 -43
  81. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/fr_dlg.js +0 -43
  82. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/he_dlg.js +0 -43
  83. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/hi_dlg.js +0 -43
  84. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/hr_dlg.js +0 -43
  85. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/hu_dlg.js +0 -43
  86. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/it_dlg.js +0 -43
  87. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/ja_dlg.js +0 -43
  88. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/ka_dlg.js +0 -43
  89. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/kl_dlg.js +0 -43
  90. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/ko_dlg.js +0 -43
  91. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/lb_dlg.js +0 -43
  92. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/nl_dlg.js +0 -43
  93. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/pl_dlg.js +0 -43
  94. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/pt_dlg.js +0 -43
  95. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/ru_dlg.js +0 -43
  96. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/sk_dlg.js +0 -43
  97. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/sv_dlg.js +0 -43
  98. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/ta_dlg.js +0 -43
  99. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/uk_dlg.js +0 -43
  100. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/vi_dlg.js +0 -43
  101. data/app/assets/javascripts/tiny_mce/plugins/advimage/langs/zh_dlg.js +0 -43
  102. data/app/assets/javascripts/tiny_mce/plugins/advlink/css/advlink.css +0 -8
  103. data/app/assets/javascripts/tiny_mce/plugins/advlink/editor_plugin.js +0 -1
  104. data/app/assets/javascripts/tiny_mce/plugins/advlink/editor_plugin_src.js +0 -61
  105. data/app/assets/javascripts/tiny_mce/plugins/advlink/js/advlink.js +0 -528
  106. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/ar_dlg.js +0 -52
  107. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/ca_dlg.js +0 -52
  108. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/ch_dlg.js +0 -52
  109. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/cs_dlg.js +0 -52
  110. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/cy_dlg.js +0 -52
  111. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/de_dlg.js +0 -52
  112. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/en_dlg.js +0 -52
  113. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/es_dlg.js +0 -52
  114. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/fr_dlg.js +0 -52
  115. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/he_dlg.js +0 -52
  116. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/hi_dlg.js +0 -52
  117. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/hr_dlg.js +0 -52
  118. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/hu_dlg.js +0 -52
  119. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/it_dlg.js +0 -52
  120. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/ja_dlg.js +0 -52
  121. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/ka_dlg.js +0 -52
  122. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/kl_dlg.js +0 -52
  123. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/ko_dlg.js +0 -52
  124. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/lb_dlg.js +0 -52
  125. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/nl_dlg.js +0 -52
  126. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/pl_dlg.js +0 -52
  127. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/pt_dlg.js +0 -52
  128. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/ru_dlg.js +0 -52
  129. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/sk_dlg.js +0 -52
  130. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/sv_dlg.js +0 -52
  131. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/ta_dlg.js +0 -52
  132. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/uk_dlg.js +0 -52
  133. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/vi_dlg.js +0 -52
  134. data/app/assets/javascripts/tiny_mce/plugins/advlink/langs/zh_dlg.js +0 -52
  135. data/app/assets/javascripts/tiny_mce/plugins/advlink/link.htm +0 -333
  136. data/app/assets/javascripts/tiny_mce/plugins/advlist/editor_plugin.js +0 -1
  137. data/app/assets/javascripts/tiny_mce/plugins/advlist/editor_plugin_src.js +0 -154
  138. data/app/assets/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +0 -3
  139. data/app/assets/javascripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +0 -165
  140. data/app/assets/javascripts/tiny_mce/plugins/autosave/editor_plugin.js +0 -1
  141. data/app/assets/javascripts/tiny_mce/plugins/autosave/editor_plugin_src.js +0 -422
  142. data/app/assets/javascripts/tiny_mce/plugins/autosave/langs/en.js +0 -4
  143. data/app/assets/javascripts/tiny_mce/plugins/bbcode/editor_plugin.js +0 -1
  144. data/app/assets/javascripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +0 -120
  145. data/app/assets/javascripts/tiny_mce/plugins/contextmenu/editor_plugin.js +0 -1
  146. data/app/assets/javascripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +0 -140
  147. data/app/assets/javascripts/tiny_mce/plugins/directionality/editor_plugin.js +0 -1
  148. data/app/assets/javascripts/tiny_mce/plugins/directionality/editor_plugin_src.js +0 -82
  149. data/app/assets/javascripts/tiny_mce/plugins/emotions/editor_plugin.js +0 -1
  150. data/app/assets/javascripts/tiny_mce/plugins/emotions/editor_plugin_src.js +0 -43
  151. data/app/assets/javascripts/tiny_mce/plugins/emotions/emotions.htm +0 -40
  152. data/app/assets/javascripts/tiny_mce/plugins/emotions/js/emotions.js +0 -22
  153. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/ar_dlg.js +0 -20
  154. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/ca_dlg.js +0 -20
  155. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/ch_dlg.js +0 -20
  156. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/cs_dlg.js +0 -20
  157. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/cy_dlg.js +0 -20
  158. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/de_dlg.js +0 -20
  159. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/en_dlg.js +0 -20
  160. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/es_dlg.js +0 -20
  161. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/fr_dlg.js +0 -20
  162. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/he_dlg.js +0 -20
  163. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/hi_dlg.js +0 -20
  164. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/hr_dlg.js +0 -20
  165. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/hu_dlg.js +0 -20
  166. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/it_dlg.js +0 -20
  167. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/ja_dlg.js +0 -20
  168. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/ka_dlg.js +0 -20
  169. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/kl_dlg.js +0 -20
  170. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/ko_dlg.js +0 -20
  171. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/lb_dlg.js +0 -20
  172. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/nl_dlg.js +0 -20
  173. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/pl_dlg.js +0 -20
  174. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/pt_dlg.js +0 -20
  175. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/ru_dlg.js +0 -20
  176. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/sk_dlg.js +0 -20
  177. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/sv_dlg.js +0 -20
  178. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/ta_dlg.js +0 -20
  179. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/uk_dlg.js +0 -20
  180. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/vi_dlg.js +0 -20
  181. data/app/assets/javascripts/tiny_mce/plugins/emotions/langs/zh_dlg.js +0 -20
  182. data/app/assets/javascripts/tiny_mce/plugins/example/dialog.htm +0 -22
  183. data/app/assets/javascripts/tiny_mce/plugins/example/editor_plugin.js +0 -1
  184. data/app/assets/javascripts/tiny_mce/plugins/example/editor_plugin_src.js +0 -84
  185. data/app/assets/javascripts/tiny_mce/plugins/example/js/dialog.js +0 -19
  186. data/app/assets/javascripts/tiny_mce/plugins/example/langs/en.js +0 -3
  187. data/app/assets/javascripts/tiny_mce/plugins/example/langs/en_dlg.js +0 -3
  188. data/app/assets/javascripts/tiny_mce/plugins/fullpage/css/fullpage.css +0 -182
  189. data/app/assets/javascripts/tiny_mce/plugins/fullpage/editor_plugin.js +0 -1
  190. data/app/assets/javascripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +0 -149
  191. data/app/assets/javascripts/tiny_mce/plugins/fullpage/fullpage.htm +0 -571
  192. data/app/assets/javascripts/tiny_mce/plugins/fullpage/js/fullpage.js +0 -471
  193. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/ar_dlg.js +0 -85
  194. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/ca_dlg.js +0 -85
  195. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/ch_dlg.js +0 -85
  196. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/cs_dlg.js +0 -85
  197. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/cy_dlg.js +0 -85
  198. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/de_dlg.js +0 -85
  199. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +0 -85
  200. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/es_dlg.js +0 -85
  201. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/fr_dlg.js +0 -85
  202. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/he_dlg.js +0 -85
  203. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/hi_dlg.js +0 -85
  204. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/hr_dlg.js +0 -85
  205. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/hu_dlg.js +0 -85
  206. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/it_dlg.js +0 -85
  207. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/ja_dlg.js +0 -85
  208. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/ka_dlg.js +0 -85
  209. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/kl_dlg.js +0 -85
  210. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/ko_dlg.js +0 -85
  211. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/lb_dlg.js +0 -85
  212. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/nl_dlg.js +0 -85
  213. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/pl_dlg.js +0 -85
  214. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/pt_dlg.js +0 -85
  215. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/ru_dlg.js +0 -85
  216. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/sk_dlg.js +0 -85
  217. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/sv_dlg.js +0 -85
  218. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/ta_dlg.js +0 -85
  219. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/uk_dlg.js +0 -85
  220. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/vi_dlg.js +0 -85
  221. data/app/assets/javascripts/tiny_mce/plugins/fullpage/langs/zh_dlg.js +0 -85
  222. data/app/assets/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +0 -1
  223. data/app/assets/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +0 -151
  224. data/app/assets/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -109
  225. data/app/assets/javascripts/tiny_mce/plugins/iespell/editor_plugin.js +0 -1
  226. data/app/assets/javascripts/tiny_mce/plugins/iespell/editor_plugin_src.js +0 -54
  227. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +0 -1
  228. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +0 -635
  229. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +0 -90
  230. data/app/assets/javascripts/tiny_mce/plugins/inlinepopups/template.htm +0 -387
  231. data/app/assets/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +0 -1
  232. data/app/assets/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +0 -83
  233. data/app/assets/javascripts/tiny_mce/plugins/layer/editor_plugin.js +0 -1
  234. data/app/assets/javascripts/tiny_mce/plugins/layer/editor_plugin_src.js +0 -212
  235. data/app/assets/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +0 -1
  236. data/app/assets/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +0 -136
  237. data/app/assets/javascripts/tiny_mce/plugins/media/css/content.css +0 -6
  238. data/app/assets/javascripts/tiny_mce/plugins/media/css/media.css +0 -16
  239. data/app/assets/javascripts/tiny_mce/plugins/media/editor_plugin.js +0 -1
  240. data/app/assets/javascripts/tiny_mce/plugins/media/editor_plugin_src.js +0 -414
  241. data/app/assets/javascripts/tiny_mce/plugins/media/js/embed.js +0 -73
  242. data/app/assets/javascripts/tiny_mce/plugins/media/js/media.js +0 -630
  243. data/app/assets/javascripts/tiny_mce/plugins/media/langs/ar_dlg.js +0 -103
  244. data/app/assets/javascripts/tiny_mce/plugins/media/langs/ca_dlg.js +0 -103
  245. data/app/assets/javascripts/tiny_mce/plugins/media/langs/ch_dlg.js +0 -103
  246. data/app/assets/javascripts/tiny_mce/plugins/media/langs/cs_dlg.js +0 -103
  247. data/app/assets/javascripts/tiny_mce/plugins/media/langs/cy_dlg.js +0 -103
  248. data/app/assets/javascripts/tiny_mce/plugins/media/langs/de_dlg.js +0 -103
  249. data/app/assets/javascripts/tiny_mce/plugins/media/langs/en_dlg.js +0 -103
  250. data/app/assets/javascripts/tiny_mce/plugins/media/langs/es_dlg.js +0 -103
  251. data/app/assets/javascripts/tiny_mce/plugins/media/langs/fr_dlg.js +0 -103
  252. data/app/assets/javascripts/tiny_mce/plugins/media/langs/he_dlg.js +0 -103
  253. data/app/assets/javascripts/tiny_mce/plugins/media/langs/hi_dlg.js +0 -103
  254. data/app/assets/javascripts/tiny_mce/plugins/media/langs/hr_dlg.js +0 -103
  255. data/app/assets/javascripts/tiny_mce/plugins/media/langs/hu_dlg.js +0 -103
  256. data/app/assets/javascripts/tiny_mce/plugins/media/langs/it_dlg.js +0 -103
  257. data/app/assets/javascripts/tiny_mce/plugins/media/langs/ja_dlg.js +0 -103
  258. data/app/assets/javascripts/tiny_mce/plugins/media/langs/ka_dlg.js +0 -103
  259. data/app/assets/javascripts/tiny_mce/plugins/media/langs/kl_dlg.js +0 -103
  260. data/app/assets/javascripts/tiny_mce/plugins/media/langs/ko_dlg.js +0 -103
  261. data/app/assets/javascripts/tiny_mce/plugins/media/langs/lb_dlg.js +0 -103
  262. data/app/assets/javascripts/tiny_mce/plugins/media/langs/nl_dlg.js +0 -103
  263. data/app/assets/javascripts/tiny_mce/plugins/media/langs/pl_dlg.js +0 -103
  264. data/app/assets/javascripts/tiny_mce/plugins/media/langs/pt_dlg.js +0 -103
  265. data/app/assets/javascripts/tiny_mce/plugins/media/langs/ru_dlg.js +0 -103
  266. data/app/assets/javascripts/tiny_mce/plugins/media/langs/sk_dlg.js +0 -103
  267. data/app/assets/javascripts/tiny_mce/plugins/media/langs/sv_dlg.js +0 -103
  268. data/app/assets/javascripts/tiny_mce/plugins/media/langs/ta_dlg.js +0 -103
  269. data/app/assets/javascripts/tiny_mce/plugins/media/langs/uk_dlg.js +0 -103
  270. data/app/assets/javascripts/tiny_mce/plugins/media/langs/vi_dlg.js +0 -103
  271. data/app/assets/javascripts/tiny_mce/plugins/media/langs/zh_dlg.js +0 -103
  272. data/app/assets/javascripts/tiny_mce/plugins/media/media.htm +0 -817
  273. data/app/assets/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +0 -1
  274. data/app/assets/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +0 -53
  275. data/app/assets/javascripts/tiny_mce/plugins/noneditable/editor_plugin.js +0 -1
  276. data/app/assets/javascripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +0 -90
  277. data/app/assets/javascripts/tiny_mce/plugins/pagebreak/css/content.css +0 -1
  278. data/app/assets/javascripts/tiny_mce/plugins/pagebreak/editor_plugin.js +0 -1
  279. data/app/assets/javascripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +0 -77
  280. data/app/assets/javascripts/tiny_mce/plugins/paste/editor_plugin.js +0 -1
  281. data/app/assets/javascripts/tiny_mce/plugins/paste/editor_plugin_src.js +0 -940
  282. data/app/assets/javascripts/tiny_mce/plugins/paste/js/pastetext.js +0 -36
  283. data/app/assets/javascripts/tiny_mce/plugins/paste/js/pasteword.js +0 -51
  284. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/ar_dlg.js +0 -5
  285. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/ca_dlg.js +0 -5
  286. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/ch_dlg.js +0 -5
  287. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/cs_dlg.js +0 -5
  288. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/cy_dlg.js +0 -5
  289. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/de_dlg.js +0 -5
  290. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +0 -5
  291. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/es_dlg.js +0 -5
  292. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/fr_dlg.js +0 -5
  293. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/he_dlg.js +0 -5
  294. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/hi_dlg.js +0 -5
  295. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/hr_dlg.js +0 -5
  296. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/hu_dlg.js +0 -5
  297. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/it_dlg.js +0 -5
  298. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/ja_dlg.js +0 -5
  299. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/ka_dlg.js +0 -5
  300. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/kl_dlg.js +0 -5
  301. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/ko_dlg.js +0 -5
  302. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/lb_dlg.js +0 -5
  303. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/nl_dlg.js +0 -5
  304. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/pl_dlg.js +0 -5
  305. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/pt_dlg.js +0 -5
  306. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/ru_dlg.js +0 -5
  307. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/sk_dlg.js +0 -5
  308. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/sv_dlg.js +0 -5
  309. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/ta_dlg.js +0 -5
  310. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/uk_dlg.js +0 -5
  311. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/vi_dlg.js +0 -5
  312. data/app/assets/javascripts/tiny_mce/plugins/paste/langs/zh_dlg.js +0 -5
  313. data/app/assets/javascripts/tiny_mce/plugins/paste/pastetext.htm +0 -27
  314. data/app/assets/javascripts/tiny_mce/plugins/paste/pasteword.htm +0 -21
  315. data/app/assets/javascripts/tiny_mce/plugins/preview/editor_plugin.js +0 -1
  316. data/app/assets/javascripts/tiny_mce/plugins/preview/editor_plugin_src.js +0 -53
  317. data/app/assets/javascripts/tiny_mce/plugins/preview/example.html +0 -28
  318. data/app/assets/javascripts/tiny_mce/plugins/preview/jscripts/embed.js +0 -73
  319. data/app/assets/javascripts/tiny_mce/plugins/preview/preview.html +0 -17
  320. data/app/assets/javascripts/tiny_mce/plugins/print/editor_plugin.js +0 -1
  321. data/app/assets/javascripts/tiny_mce/plugins/print/editor_plugin_src.js +0 -34
  322. data/app/assets/javascripts/tiny_mce/plugins/save/editor_plugin.js +0 -1
  323. data/app/assets/javascripts/tiny_mce/plugins/save/editor_plugin_src.js +0 -101
  324. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +0 -6
  325. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/editor_plugin.js +0 -1
  326. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +0 -57
  327. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +0 -130
  328. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/ar_dlg.js +0 -16
  329. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/ca_dlg.js +0 -16
  330. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/ch_dlg.js +0 -16
  331. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/cs_dlg.js +0 -16
  332. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/cy_dlg.js +0 -16
  333. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/de_dlg.js +0 -16
  334. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +0 -16
  335. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/es_dlg.js +0 -16
  336. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/fr_dlg.js +0 -16
  337. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/he_dlg.js +0 -16
  338. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/hi_dlg.js +0 -16
  339. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/hr_dlg.js +0 -16
  340. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/hu_dlg.js +0 -16
  341. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/it_dlg.js +0 -16
  342. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/ja_dlg.js +0 -16
  343. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/ka_dlg.js +0 -16
  344. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/kl_dlg.js +0 -16
  345. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/ko_dlg.js +0 -16
  346. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/lb_dlg.js +0 -16
  347. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/nl_dlg.js +0 -16
  348. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/pl_dlg.js +0 -16
  349. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/pt_dlg.js +0 -16
  350. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/ru_dlg.js +0 -16
  351. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/sk_dlg.js +0 -16
  352. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/sv_dlg.js +0 -16
  353. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/ta_dlg.js +0 -16
  354. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/uk_dlg.js +0 -16
  355. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/vi_dlg.js +0 -16
  356. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/langs/zh_dlg.js +0 -16
  357. data/app/assets/javascripts/tiny_mce/plugins/searchreplace/searchreplace.htm +0 -99
  358. data/app/assets/javascripts/tiny_mce/plugins/spellchecker/css/content.css +0 -1
  359. data/app/assets/javascripts/tiny_mce/plugins/spellchecker/editor_plugin.js +0 -1
  360. data/app/assets/javascripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +0 -415
  361. data/app/assets/javascripts/tiny_mce/plugins/style/css/props.css +0 -13
  362. data/app/assets/javascripts/tiny_mce/plugins/style/editor_plugin.js +0 -1
  363. data/app/assets/javascripts/tiny_mce/plugins/style/editor_plugin_src.js +0 -55
  364. data/app/assets/javascripts/tiny_mce/plugins/style/js/props.js +0 -641
  365. data/app/assets/javascripts/tiny_mce/plugins/style/langs/ar_dlg.js +0 -63
  366. data/app/assets/javascripts/tiny_mce/plugins/style/langs/ca_dlg.js +0 -63
  367. data/app/assets/javascripts/tiny_mce/plugins/style/langs/ch_dlg.js +0 -63
  368. data/app/assets/javascripts/tiny_mce/plugins/style/langs/cs_dlg.js +0 -63
  369. data/app/assets/javascripts/tiny_mce/plugins/style/langs/cy_dlg.js +0 -63
  370. data/app/assets/javascripts/tiny_mce/plugins/style/langs/de_dlg.js +0 -63
  371. data/app/assets/javascripts/tiny_mce/plugins/style/langs/en_dlg.js +0 -63
  372. data/app/assets/javascripts/tiny_mce/plugins/style/langs/es_dlg.js +0 -63
  373. data/app/assets/javascripts/tiny_mce/plugins/style/langs/fr_dlg.js +0 -63
  374. data/app/assets/javascripts/tiny_mce/plugins/style/langs/he_dlg.js +0 -63
  375. data/app/assets/javascripts/tiny_mce/plugins/style/langs/hi_dlg.js +0 -63
  376. data/app/assets/javascripts/tiny_mce/plugins/style/langs/hr_dlg.js +0 -63
  377. data/app/assets/javascripts/tiny_mce/plugins/style/langs/hu_dlg.js +0 -63
  378. data/app/assets/javascripts/tiny_mce/plugins/style/langs/it_dlg.js +0 -63
  379. data/app/assets/javascripts/tiny_mce/plugins/style/langs/ja_dlg.js +0 -63
  380. data/app/assets/javascripts/tiny_mce/plugins/style/langs/ka_dlg.js +0 -63
  381. data/app/assets/javascripts/tiny_mce/plugins/style/langs/kl_dlg.js +0 -63
  382. data/app/assets/javascripts/tiny_mce/plugins/style/langs/ko_dlg.js +0 -63
  383. data/app/assets/javascripts/tiny_mce/plugins/style/langs/lb_dlg.js +0 -63
  384. data/app/assets/javascripts/tiny_mce/plugins/style/langs/nl_dlg.js +0 -63
  385. data/app/assets/javascripts/tiny_mce/plugins/style/langs/pl_dlg.js +0 -63
  386. data/app/assets/javascripts/tiny_mce/plugins/style/langs/pt_dlg.js +0 -63
  387. data/app/assets/javascripts/tiny_mce/plugins/style/langs/ru_dlg.js +0 -63
  388. data/app/assets/javascripts/tiny_mce/plugins/style/langs/sk_dlg.js +0 -63
  389. data/app/assets/javascripts/tiny_mce/plugins/style/langs/sv_dlg.js +0 -63
  390. data/app/assets/javascripts/tiny_mce/plugins/style/langs/ta_dlg.js +0 -63
  391. data/app/assets/javascripts/tiny_mce/plugins/style/langs/uk_dlg.js +0 -63
  392. data/app/assets/javascripts/tiny_mce/plugins/style/langs/vi_dlg.js +0 -63
  393. data/app/assets/javascripts/tiny_mce/plugins/style/langs/zh_dlg.js +0 -63
  394. data/app/assets/javascripts/tiny_mce/plugins/style/props.htm +0 -723
  395. data/app/assets/javascripts/tiny_mce/plugins/tabfocus/editor_plugin.js +0 -1
  396. data/app/assets/javascripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +0 -112
  397. data/app/assets/javascripts/tiny_mce/plugins/table/cell.htm +0 -178
  398. data/app/assets/javascripts/tiny_mce/plugins/table/css/cell.css +0 -17
  399. data/app/assets/javascripts/tiny_mce/plugins/table/css/row.css +0 -25
  400. data/app/assets/javascripts/tiny_mce/plugins/table/css/table.css +0 -13
  401. data/app/assets/javascripts/tiny_mce/plugins/table/editor_plugin.js +0 -1
  402. data/app/assets/javascripts/tiny_mce/plugins/table/editor_plugin_src.js +0 -1125
  403. data/app/assets/javascripts/tiny_mce/plugins/table/js/cell.js +0 -286
  404. data/app/assets/javascripts/tiny_mce/plugins/table/js/merge_cells.js +0 -27
  405. data/app/assets/javascripts/tiny_mce/plugins/table/js/row.js +0 -237
  406. data/app/assets/javascripts/tiny_mce/plugins/table/js/table.js +0 -449
  407. data/app/assets/javascripts/tiny_mce/plugins/table/langs/ar_dlg.js +0 -74
  408. data/app/assets/javascripts/tiny_mce/plugins/table/langs/ca_dlg.js +0 -74
  409. data/app/assets/javascripts/tiny_mce/plugins/table/langs/ch_dlg.js +0 -74
  410. data/app/assets/javascripts/tiny_mce/plugins/table/langs/cs_dlg.js +0 -74
  411. data/app/assets/javascripts/tiny_mce/plugins/table/langs/cy_dlg.js +0 -74
  412. data/app/assets/javascripts/tiny_mce/plugins/table/langs/de_dlg.js +0 -74
  413. data/app/assets/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +0 -74
  414. data/app/assets/javascripts/tiny_mce/plugins/table/langs/es_dlg.js +0 -74
  415. data/app/assets/javascripts/tiny_mce/plugins/table/langs/fr_dlg.js +0 -74
  416. data/app/assets/javascripts/tiny_mce/plugins/table/langs/he_dlg.js +0 -74
  417. data/app/assets/javascripts/tiny_mce/plugins/table/langs/hi_dlg.js +0 -74
  418. data/app/assets/javascripts/tiny_mce/plugins/table/langs/hr_dlg.js +0 -74
  419. data/app/assets/javascripts/tiny_mce/plugins/table/langs/hu_dlg.js +0 -74
  420. data/app/assets/javascripts/tiny_mce/plugins/table/langs/it_dlg.js +0 -74
  421. data/app/assets/javascripts/tiny_mce/plugins/table/langs/ja_dlg.js +0 -74
  422. data/app/assets/javascripts/tiny_mce/plugins/table/langs/ka_dlg.js +0 -74
  423. data/app/assets/javascripts/tiny_mce/plugins/table/langs/kl_dlg.js +0 -74
  424. data/app/assets/javascripts/tiny_mce/plugins/table/langs/ko_dlg.js +0 -74
  425. data/app/assets/javascripts/tiny_mce/plugins/table/langs/lb_dlg.js +0 -74
  426. data/app/assets/javascripts/tiny_mce/plugins/table/langs/nl_dlg.js +0 -74
  427. data/app/assets/javascripts/tiny_mce/plugins/table/langs/pl_dlg.js +0 -74
  428. data/app/assets/javascripts/tiny_mce/plugins/table/langs/pt_dlg.js +0 -74
  429. data/app/assets/javascripts/tiny_mce/plugins/table/langs/ru_dlg.js +0 -74
  430. data/app/assets/javascripts/tiny_mce/plugins/table/langs/sk_dlg.js +0 -74
  431. data/app/assets/javascripts/tiny_mce/plugins/table/langs/sv_dlg.js +0 -73
  432. data/app/assets/javascripts/tiny_mce/plugins/table/langs/ta_dlg.js +0 -74
  433. data/app/assets/javascripts/tiny_mce/plugins/table/langs/uk_dlg.js +0 -74
  434. data/app/assets/javascripts/tiny_mce/plugins/table/langs/vi_dlg.js +0 -74
  435. data/app/assets/javascripts/tiny_mce/plugins/table/langs/zh_dlg.js +0 -74
  436. data/app/assets/javascripts/tiny_mce/plugins/table/merge_cells.htm +0 -32
  437. data/app/assets/javascripts/tiny_mce/plugins/table/row.htm +0 -155
  438. data/app/assets/javascripts/tiny_mce/plugins/table/table.htm +0 -187
  439. data/app/assets/javascripts/tiny_mce/plugins/template/blank.htm +0 -12
  440. data/app/assets/javascripts/tiny_mce/plugins/template/css/template.css +0 -23
  441. data/app/assets/javascripts/tiny_mce/plugins/template/editor_plugin.js +0 -1
  442. data/app/assets/javascripts/tiny_mce/plugins/template/editor_plugin_src.js +0 -159
  443. data/app/assets/javascripts/tiny_mce/plugins/template/js/template.js +0 -106
  444. data/app/assets/javascripts/tiny_mce/plugins/template/langs/ar_dlg.js +0 -15
  445. data/app/assets/javascripts/tiny_mce/plugins/template/langs/ca_dlg.js +0 -15
  446. data/app/assets/javascripts/tiny_mce/plugins/template/langs/ch_dlg.js +0 -15
  447. data/app/assets/javascripts/tiny_mce/plugins/template/langs/cs_dlg.js +0 -15
  448. data/app/assets/javascripts/tiny_mce/plugins/template/langs/cy_dlg.js +0 -15
  449. data/app/assets/javascripts/tiny_mce/plugins/template/langs/de_dlg.js +0 -15
  450. data/app/assets/javascripts/tiny_mce/plugins/template/langs/en_dlg.js +0 -15
  451. data/app/assets/javascripts/tiny_mce/plugins/template/langs/es_dlg.js +0 -15
  452. data/app/assets/javascripts/tiny_mce/plugins/template/langs/fr_dlg.js +0 -15
  453. data/app/assets/javascripts/tiny_mce/plugins/template/langs/he_dlg.js +0 -15
  454. data/app/assets/javascripts/tiny_mce/plugins/template/langs/hi_dlg.js +0 -15
  455. data/app/assets/javascripts/tiny_mce/plugins/template/langs/hr_dlg.js +0 -15
  456. data/app/assets/javascripts/tiny_mce/plugins/template/langs/hu_dlg.js +0 -15
  457. data/app/assets/javascripts/tiny_mce/plugins/template/langs/it_dlg.js +0 -15
  458. data/app/assets/javascripts/tiny_mce/plugins/template/langs/ja_dlg.js +0 -15
  459. data/app/assets/javascripts/tiny_mce/plugins/template/langs/ka_dlg.js +0 -15
  460. data/app/assets/javascripts/tiny_mce/plugins/template/langs/kl_dlg.js +0 -15
  461. data/app/assets/javascripts/tiny_mce/plugins/template/langs/ko_dlg.js +0 -15
  462. data/app/assets/javascripts/tiny_mce/plugins/template/langs/lb_dlg.js +0 -15
  463. data/app/assets/javascripts/tiny_mce/plugins/template/langs/nl_dlg.js +0 -15
  464. data/app/assets/javascripts/tiny_mce/plugins/template/langs/pl_dlg.js +0 -15
  465. data/app/assets/javascripts/tiny_mce/plugins/template/langs/pt_dlg.js +0 -15
  466. data/app/assets/javascripts/tiny_mce/plugins/template/langs/ru_dlg.js +0 -15
  467. data/app/assets/javascripts/tiny_mce/plugins/template/langs/sk_dlg.js +0 -15
  468. data/app/assets/javascripts/tiny_mce/plugins/template/langs/sv_dlg.js +0 -15
  469. data/app/assets/javascripts/tiny_mce/plugins/template/langs/ta_dlg.js +0 -15
  470. data/app/assets/javascripts/tiny_mce/plugins/template/langs/uk_dlg.js +0 -15
  471. data/app/assets/javascripts/tiny_mce/plugins/template/langs/vi_dlg.js +0 -15
  472. data/app/assets/javascripts/tiny_mce/plugins/template/langs/zh_dlg.js +0 -15
  473. data/app/assets/javascripts/tiny_mce/plugins/template/template.htm +0 -31
  474. data/app/assets/javascripts/tiny_mce/plugins/visualchars/editor_plugin.js +0 -1
  475. data/app/assets/javascripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +0 -76
  476. data/app/assets/javascripts/tiny_mce/plugins/wordcount/editor_plugin.js +0 -1
  477. data/app/assets/javascripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +0 -98
  478. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +0 -141
  479. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +0 -141
  480. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +0 -148
  481. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/cite.htm +0 -141
  482. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +0 -11
  483. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +0 -9
  484. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/del.htm +0 -161
  485. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +0 -1
  486. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +0 -144
  487. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/ins.htm +0 -161
  488. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +0 -28
  489. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +0 -28
  490. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +0 -126
  491. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +0 -28
  492. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/del.js +0 -63
  493. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +0 -231
  494. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +0 -62
  495. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/ar_dlg.js +0 -32
  496. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/ca_dlg.js +0 -32
  497. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/ch_dlg.js +0 -32
  498. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/cs_dlg.js +0 -32
  499. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/cy_dlg.js +0 -32
  500. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/de_dlg.js +0 -32
  501. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +0 -32
  502. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/es_dlg.js +0 -32
  503. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/fr_dlg.js +0 -32
  504. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/he_dlg.js +0 -32
  505. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/hi_dlg.js +0 -32
  506. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/hr_dlg.js +0 -32
  507. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/hu_dlg.js +0 -32
  508. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/it_dlg.js +0 -32
  509. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/ja_dlg.js +0 -32
  510. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/ka_dlg.js +0 -32
  511. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/kl_dlg.js +0 -32
  512. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/ko_dlg.js +0 -32
  513. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/lb_dlg.js +0 -32
  514. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/nl_dlg.js +0 -32
  515. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/pl_dlg.js +0 -32
  516. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/pt_dlg.js +0 -32
  517. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/ru_dlg.js +0 -32
  518. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/sk_dlg.js +0 -32
  519. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/sv_dlg.js +0 -32
  520. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/ta_dlg.js +0 -32
  521. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/uk_dlg.js +0 -32
  522. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/vi_dlg.js +0 -32
  523. data/app/assets/javascripts/tiny_mce/plugins/xhtmlxtras/langs/zh_dlg.js +0 -32
  524. data/app/assets/javascripts/tiny_mce/themes/advanced/about.htm +0 -54
  525. data/app/assets/javascripts/tiny_mce/themes/advanced/anchor.htm +0 -26
  526. data/app/assets/javascripts/tiny_mce/themes/advanced/charmap.htm +0 -52
  527. data/app/assets/javascripts/tiny_mce/themes/advanced/color_picker.htm +0 -73
  528. data/app/assets/javascripts/tiny_mce/themes/advanced/editor_template.js +0 -1
  529. data/app/assets/javascripts/tiny_mce/themes/advanced/editor_template_src.js +0 -1176
  530. data/app/assets/javascripts/tiny_mce/themes/advanced/image.htm +0 -80
  531. data/app/assets/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  532. data/app/assets/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  533. data/app/assets/javascripts/tiny_mce/themes/advanced/js/about.js +0 -72
  534. data/app/assets/javascripts/tiny_mce/themes/advanced/js/anchor.js +0 -37
  535. data/app/assets/javascripts/tiny_mce/themes/advanced/js/charmap.js +0 -335
  536. data/app/assets/javascripts/tiny_mce/themes/advanced/js/color_picker.js +0 -253
  537. data/app/assets/javascripts/tiny_mce/themes/advanced/js/image.js +0 -245
  538. data/app/assets/javascripts/tiny_mce/themes/advanced/js/link.js +0 -156
  539. data/app/assets/javascripts/tiny_mce/themes/advanced/js/source_editor.js +0 -62
  540. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ar.js +0 -62
  541. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ar_dlg.js +0 -51
  542. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ca.js +0 -62
  543. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ca_dlg.js +0 -51
  544. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ch.js +0 -64
  545. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ch_dlg.js +0 -51
  546. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/cs.js +0 -62
  547. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/cs_dlg.js +0 -51
  548. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/cy.js +0 -62
  549. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/cy_dlg.js +0 -51
  550. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/de.js +0 -63
  551. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/de_dlg.js +0 -51
  552. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/en.js +0 -62
  553. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +0 -51
  554. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/es.js +0 -62
  555. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/es_dlg.js +0 -51
  556. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/fr.js +0 -62
  557. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/fr_dlg.js +0 -51
  558. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/he.js +0 -62
  559. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/he_dlg.js +0 -51
  560. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/hi.js +0 -62
  561. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/hi_dlg.js +0 -51
  562. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/hr.js +0 -62
  563. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/hr_dlg.js +0 -51
  564. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/hu.js +0 -62
  565. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/hu_dlg.js +0 -51
  566. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/it.js +0 -72
  567. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/it_dlg.js +0 -51
  568. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ja.js +0 -62
  569. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ja_dlg.js +0 -51
  570. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ka.js +0 -62
  571. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ka_dlg.js +0 -51
  572. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/kl.js +0 -62
  573. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/kl_dlg.js +0 -51
  574. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ko.js +0 -62
  575. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ko_dlg.js +0 -51
  576. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/lb.js +0 -63
  577. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/lb_dlg.js +0 -51
  578. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/nl.js +0 -62
  579. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/nl_dlg.js +0 -51
  580. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/pl.js +0 -62
  581. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/pl_dlg.js +0 -51
  582. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/pt.js +0 -62
  583. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/pt_dlg.js +0 -51
  584. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ru.js +0 -62
  585. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ru_dlg.js +0 -51
  586. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/sk.js +0 -62
  587. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/sk_dlg.js +0 -51
  588. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/sv.js +0 -60
  589. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/sv_dlg.js +0 -51
  590. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ta.js +0 -62
  591. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/ta_dlg.js +0 -51
  592. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/uk.js +0 -62
  593. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/uk_dlg.js +0 -51
  594. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/vi.js +0 -62
  595. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/vi_dlg.js +0 -51
  596. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/zh.js +0 -64
  597. data/app/assets/javascripts/tiny_mce/themes/advanced/langs/zh_dlg.js +0 -51
  598. data/app/assets/javascripts/tiny_mce/themes/advanced/link.htm +0 -58
  599. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/content.css +0 -35
  600. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +0 -117
  601. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  602. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  603. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  604. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  605. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  606. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  607. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +0 -213
  608. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +0 -35
  609. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +0 -116
  610. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  611. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  612. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  613. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +0 -215
  614. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +0 -8
  615. data/app/assets/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +0 -5
  616. data/app/assets/javascripts/tiny_mce/themes/advanced/source_editor.htm +0 -25
  617. data/app/assets/javascripts/tiny_mce/themes/simple/editor_template.js +0 -1
  618. data/app/assets/javascripts/tiny_mce/themes/simple/editor_template_src.js +0 -85
  619. data/app/assets/javascripts/tiny_mce/themes/simple/langs/ar.js +0 -11
  620. data/app/assets/javascripts/tiny_mce/themes/simple/langs/ca.js +0 -11
  621. data/app/assets/javascripts/tiny_mce/themes/simple/langs/ch.js +0 -11
  622. data/app/assets/javascripts/tiny_mce/themes/simple/langs/cs.js +0 -11
  623. data/app/assets/javascripts/tiny_mce/themes/simple/langs/cy.js +0 -11
  624. data/app/assets/javascripts/tiny_mce/themes/simple/langs/de.js +0 -11
  625. data/app/assets/javascripts/tiny_mce/themes/simple/langs/en.js +0 -11
  626. data/app/assets/javascripts/tiny_mce/themes/simple/langs/es.js +0 -11
  627. data/app/assets/javascripts/tiny_mce/themes/simple/langs/fr.js +0 -11
  628. data/app/assets/javascripts/tiny_mce/themes/simple/langs/he.js +0 -11
  629. data/app/assets/javascripts/tiny_mce/themes/simple/langs/hi.js +0 -11
  630. data/app/assets/javascripts/tiny_mce/themes/simple/langs/hr.js +0 -11
  631. data/app/assets/javascripts/tiny_mce/themes/simple/langs/hu.js +0 -11
  632. data/app/assets/javascripts/tiny_mce/themes/simple/langs/it.js +0 -11
  633. data/app/assets/javascripts/tiny_mce/themes/simple/langs/ja.js +0 -11
  634. data/app/assets/javascripts/tiny_mce/themes/simple/langs/ka.js +0 -11
  635. data/app/assets/javascripts/tiny_mce/themes/simple/langs/kl.js +0 -11
  636. data/app/assets/javascripts/tiny_mce/themes/simple/langs/ko.js +0 -11
  637. data/app/assets/javascripts/tiny_mce/themes/simple/langs/lb.js +0 -11
  638. data/app/assets/javascripts/tiny_mce/themes/simple/langs/nl.js +0 -11
  639. data/app/assets/javascripts/tiny_mce/themes/simple/langs/pl.js +0 -11
  640. data/app/assets/javascripts/tiny_mce/themes/simple/langs/pt.js +0 -11
  641. data/app/assets/javascripts/tiny_mce/themes/simple/langs/ru.js +0 -11
  642. data/app/assets/javascripts/tiny_mce/themes/simple/langs/sk.js +0 -11
  643. data/app/assets/javascripts/tiny_mce/themes/simple/langs/sv.js +0 -11
  644. data/app/assets/javascripts/tiny_mce/themes/simple/langs/ta.js +0 -11
  645. data/app/assets/javascripts/tiny_mce/themes/simple/langs/uk.js +0 -11
  646. data/app/assets/javascripts/tiny_mce/themes/simple/langs/vi.js +0 -11
  647. data/app/assets/javascripts/tiny_mce/themes/simple/langs/zh.js +0 -11
  648. data/app/assets/javascripts/tiny_mce/themes/simple/skins/default/content.css +0 -25
  649. data/app/assets/javascripts/tiny_mce/themes/simple/skins/default/ui.css +0 -32
  650. data/app/assets/javascripts/tiny_mce/themes/simple/skins/o2k7/content.css +0 -17
  651. data/app/assets/javascripts/tiny_mce/themes/simple/skins/o2k7/ui.css +0 -35
  652. data/app/assets/javascripts/tiny_mce/tiny_mce.js +0 -1
  653. data/app/assets/javascripts/tiny_mce/tiny_mce_popup.js +0 -5
  654. data/app/assets/javascripts/tiny_mce/tiny_mce_src.js +0 -13959
  655. data/app/assets/javascripts/tiny_mce/utils/editable_selects.js +0 -70
  656. data/app/assets/javascripts/tiny_mce/utils/form_utils.js +0 -200
  657. data/app/assets/javascripts/tiny_mce/utils/mctabs.js +0 -77
  658. data/app/assets/javascripts/tiny_mce/utils/validate.js +0 -220
@@ -1 +0,0 @@
1
- (function(){tinymce.create("tinymce.plugins.Nonbreaking",{init:function(a,b){var c=this;c.editor=a;a.addCommand("mceNonBreaking",function(){a.execCommand("mceInsertContent",false,(a.plugins.visualchars&&a.plugins.visualchars.state)?'<span class="mceItemHidden mceVisualNbsp">&middot;</span>':"&nbsp;")});a.addButton("nonbreaking",{title:"nonbreaking.nonbreaking_desc",cmd:"mceNonBreaking"});if(a.getParam("nonbreaking_force_tab")){a.onKeyDown.add(function(d,f){if(tinymce.isIE&&f.keyCode==9){d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");d.execCommand("mceNonBreaking");tinymce.dom.Event.cancel(f)}})}},getInfo:function(){return{longname:"Nonbreaking space",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("nonbreaking",tinymce.plugins.Nonbreaking)})();
@@ -1,53 +0,0 @@
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.Nonbreaking', {
13
- init : function(ed, url) {
14
- var t = this;
15
-
16
- t.editor = ed;
17
-
18
- // Register commands
19
- ed.addCommand('mceNonBreaking', function() {
20
- ed.execCommand('mceInsertContent', false, (ed.plugins.visualchars && ed.plugins.visualchars.state) ? '<span class="mceItemHidden mceVisualNbsp">&middot;</span>' : '&nbsp;');
21
- });
22
-
23
- // Register buttons
24
- ed.addButton('nonbreaking', {title : 'nonbreaking.nonbreaking_desc', cmd : 'mceNonBreaking'});
25
-
26
- if (ed.getParam('nonbreaking_force_tab')) {
27
- ed.onKeyDown.add(function(ed, e) {
28
- if (tinymce.isIE && e.keyCode == 9) {
29
- ed.execCommand('mceNonBreaking');
30
- ed.execCommand('mceNonBreaking');
31
- ed.execCommand('mceNonBreaking');
32
- tinymce.dom.Event.cancel(e);
33
- }
34
- });
35
- }
36
- },
37
-
38
- getInfo : function() {
39
- return {
40
- longname : 'Nonbreaking space',
41
- author : 'Moxiecode Systems AB',
42
- authorurl : 'http://tinymce.moxiecode.com',
43
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',
44
- version : tinymce.majorVersion + "." + tinymce.minorVersion
45
- };
46
- }
47
-
48
- // Private methods
49
- });
50
-
51
- // Register plugin
52
- tinymce.PluginManager.add('nonbreaking', tinymce.plugins.Nonbreaking);
53
- })();
@@ -1 +0,0 @@
1
- (function(){var a=tinymce.dom.Event;tinymce.create("tinymce.plugins.NonEditablePlugin",{init:function(d,e){var f=this,c,b;f.editor=d;c=d.getParam("noneditable_editable_class","mceEditable");b=d.getParam("noneditable_noneditable_class","mceNonEditable");d.onNodeChange.addToTop(function(h,g,k){var j,i;j=h.dom.getParent(h.selection.getStart(),function(l){return h.dom.hasClass(l,b)});i=h.dom.getParent(h.selection.getEnd(),function(l){return h.dom.hasClass(l,b)});if(j||i){f._setDisabled(1);return false}else{f._setDisabled(0)}})},getInfo:function(){return{longname:"Non editable elements",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_block:function(c,d){var b=d.keyCode;if((b>32&&b<41)||(b>111&&b<124)){return}return a.cancel(d)},_setDisabled:function(d){var c=this,b=c.editor;tinymce.each(b.controlManager.controls,function(e){e.setDisabled(d)});if(d!==c.disabled){if(d){b.onKeyDown.addToTop(c._block);b.onKeyPress.addToTop(c._block);b.onKeyUp.addToTop(c._block);b.onPaste.addToTop(c._block)}else{b.onKeyDown.remove(c._block);b.onKeyPress.remove(c._block);b.onKeyUp.remove(c._block);b.onPaste.remove(c._block)}c.disabled=d}}});tinymce.PluginManager.add("noneditable",tinymce.plugins.NonEditablePlugin)})();
@@ -1,90 +0,0 @@
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
- var Event = tinymce.dom.Event;
13
-
14
- tinymce.create('tinymce.plugins.NonEditablePlugin', {
15
- init : function(ed, url) {
16
- var t = this, editClass, nonEditClass;
17
-
18
- t.editor = ed;
19
- editClass = ed.getParam("noneditable_editable_class", "mceEditable");
20
- nonEditClass = ed.getParam("noneditable_noneditable_class", "mceNonEditable");
21
-
22
- ed.onNodeChange.addToTop(function(ed, cm, n) {
23
- var sc, ec;
24
-
25
- // Block if start or end is inside a non editable element
26
- sc = ed.dom.getParent(ed.selection.getStart(), function(n) {
27
- return ed.dom.hasClass(n, nonEditClass);
28
- });
29
-
30
- ec = ed.dom.getParent(ed.selection.getEnd(), function(n) {
31
- return ed.dom.hasClass(n, nonEditClass);
32
- });
33
-
34
- // Block or unblock
35
- if (sc || ec) {
36
- t._setDisabled(1);
37
- return false;
38
- } else
39
- t._setDisabled(0);
40
- });
41
- },
42
-
43
- getInfo : function() {
44
- return {
45
- longname : 'Non editable elements',
46
- author : 'Moxiecode Systems AB',
47
- authorurl : 'http://tinymce.moxiecode.com',
48
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/noneditable',
49
- version : tinymce.majorVersion + "." + tinymce.minorVersion
50
- };
51
- },
52
-
53
- _block : function(ed, e) {
54
- var k = e.keyCode;
55
-
56
- // Don't block arrow keys, pg up/down, and F1-F12
57
- if ((k > 32 && k < 41) || (k > 111 && k < 124))
58
- return;
59
-
60
- return Event.cancel(e);
61
- },
62
-
63
- _setDisabled : function(s) {
64
- var t = this, ed = t.editor;
65
-
66
- tinymce.each(ed.controlManager.controls, function(c) {
67
- c.setDisabled(s);
68
- });
69
-
70
- if (s !== t.disabled) {
71
- if (s) {
72
- ed.onKeyDown.addToTop(t._block);
73
- ed.onKeyPress.addToTop(t._block);
74
- ed.onKeyUp.addToTop(t._block);
75
- ed.onPaste.addToTop(t._block);
76
- } else {
77
- ed.onKeyDown.remove(t._block);
78
- ed.onKeyPress.remove(t._block);
79
- ed.onKeyUp.remove(t._block);
80
- ed.onPaste.remove(t._block);
81
- }
82
-
83
- t.disabled = s;
84
- }
85
- }
86
- });
87
-
88
- // Register plugin
89
- tinymce.PluginManager.add('noneditable', tinymce.plugins.NonEditablePlugin);
90
- })();
@@ -1 +0,0 @@
1
- .mcePageBreak {display:block;border:0;width:100%;height:12px;border-top:1px dotted #ccc;margin-top:15px;background:#fff url(../img/pagebreak.gif) no-repeat center top;}
@@ -1 +0,0 @@
1
- (function(){tinymce.create("tinymce.plugins.PageBreakPlugin",{init:function(b,d){var f='<img src="'+d+'/img/trans.gif" class="mcePageBreak mceItemNoResize" />',a="mcePageBreak",c=b.getParam("pagebreak_separator","<!-- pagebreak -->"),e;e=new RegExp(c.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(g){return"\\"+g}),"g");b.addCommand("mcePageBreak",function(){b.execCommand("mceInsertContent",0,f)});b.addButton("pagebreak",{title:"pagebreak.desc",cmd:a});b.onInit.add(function(){if(b.settings.content_css!==false){b.dom.loadCSS(d+"/css/content.css")}if(b.theme.onResolveName){b.theme.onResolveName.add(function(g,h){if(h.node.nodeName=="IMG"&&b.dom.hasClass(h.node,a)){h.name="pagebreak"}})}});b.onClick.add(function(g,h){h=h.target;if(h.nodeName==="IMG"&&g.dom.hasClass(h,a)){g.selection.select(h)}});b.onNodeChange.add(function(h,g,i){g.setActive("pagebreak",i.nodeName==="IMG"&&h.dom.hasClass(i,a))});b.onBeforeSetContent.add(function(g,h){h.content=h.content.replace(e,f)});b.onPostProcess.add(function(g,h){if(h.get){h.content=h.content.replace(/<img[^>]+>/g,function(i){if(i.indexOf('class="mcePageBreak')!==-1){i=c}return i})}})},getInfo:function(){return{longname:"PageBreak",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("pagebreak",tinymce.plugins.PageBreakPlugin)})();
@@ -1,77 +0,0 @@
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.PageBreakPlugin', {
13
- init : function(ed, url) {
14
- var pb = '<img src="' + url + '/img/trans.gif" class="mcePageBreak mceItemNoResize" />', cls = 'mcePageBreak', sep = ed.getParam('pagebreak_separator', '<!-- pagebreak -->'), pbRE;
15
-
16
- pbRE = new RegExp(sep.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g, function(a) {return '\\' + a;}), 'g');
17
-
18
- // Register commands
19
- ed.addCommand('mcePageBreak', function() {
20
- ed.execCommand('mceInsertContent', 0, pb);
21
- });
22
-
23
- // Register buttons
24
- ed.addButton('pagebreak', {title : 'pagebreak.desc', cmd : cls});
25
-
26
- ed.onInit.add(function() {
27
- if (ed.settings.content_css !== false)
28
- ed.dom.loadCSS(url + "/css/content.css");
29
-
30
- if (ed.theme.onResolveName) {
31
- ed.theme.onResolveName.add(function(th, o) {
32
- if (o.node.nodeName == 'IMG' && ed.dom.hasClass(o.node, cls))
33
- o.name = 'pagebreak';
34
- });
35
- }
36
- });
37
-
38
- ed.onClick.add(function(ed, e) {
39
- e = e.target;
40
-
41
- if (e.nodeName === 'IMG' && ed.dom.hasClass(e, cls))
42
- ed.selection.select(e);
43
- });
44
-
45
- ed.onNodeChange.add(function(ed, cm, n) {
46
- cm.setActive('pagebreak', n.nodeName === 'IMG' && ed.dom.hasClass(n, cls));
47
- });
48
-
49
- ed.onBeforeSetContent.add(function(ed, o) {
50
- o.content = o.content.replace(pbRE, pb);
51
- });
52
-
53
- ed.onPostProcess.add(function(ed, o) {
54
- if (o.get)
55
- o.content = o.content.replace(/<img[^>]+>/g, function(im) {
56
- if (im.indexOf('class="mcePageBreak') !== -1)
57
- im = sep;
58
-
59
- return im;
60
- });
61
- });
62
- },
63
-
64
- getInfo : function() {
65
- return {
66
- longname : 'PageBreak',
67
- author : 'Moxiecode Systems AB',
68
- authorurl : 'http://tinymce.moxiecode.com',
69
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/pagebreak',
70
- version : tinymce.majorVersion + "." + tinymce.minorVersion
71
- };
72
- }
73
- });
74
-
75
- // Register plugin
76
- tinymce.PluginManager.add('pagebreak', tinymce.plugins.PageBreakPlugin);
77
- })();
@@ -1 +0,0 @@
1
- (function(){var c=tinymce.each,d=null,a={paste_auto_cleanup_on_paste:true,paste_block_drop:false,paste_retain_style_properties:"none",paste_strip_class_attributes:"mso",paste_remove_spans:false,paste_remove_styles:false,paste_remove_styles_if_webkit:true,paste_convert_middot_lists:true,paste_convert_headers_to_strong:false,paste_dialog_width:"450",paste_dialog_height:"400",paste_text_use_dialog:false,paste_text_sticky:false,paste_text_notifyalways:false,paste_text_linebreaktype:"p",paste_text_replacements:[[/\u2026/g,"..."],[/[\x93\x94\u201c\u201d]/g,'"'],[/[\x60\x91\x92\u2018\u2019]/g,"'"]]};function b(e,f){return e.getParam(f,a[f])}tinymce.create("tinymce.plugins.PastePlugin",{init:function(e,f){var g=this;g.editor=e;g.url=f;g.onPreProcess=new tinymce.util.Dispatcher(g);g.onPostProcess=new tinymce.util.Dispatcher(g);g.onPreProcess.add(g._preProcess);g.onPostProcess.add(g._postProcess);g.onPreProcess.add(function(j,k){e.execCallback("paste_preprocess",j,k)});g.onPostProcess.add(function(j,k){e.execCallback("paste_postprocess",j,k)});e.pasteAsPlainText=false;function i(l,j){var k=e.dom;g.onPreProcess.dispatch(g,l);l.node=k.create("div",0,l.content);g.onPostProcess.dispatch(g,l);l.content=e.serializer.serialize(l.node,{getInner:1});if((!j)&&(e.pasteAsPlainText)){g._insertPlainText(e,k,l.content);if(!b(e,"paste_text_sticky")){e.pasteAsPlainText=false;e.controlManager.setActive("pastetext",false)}}else{if(/<(p|h[1-6]|ul|ol)/.test(l.content)){g._insertBlockContent(e,k,l.content)}else{g._insert(l.content)}}}e.addCommand("mceInsertClipboardContent",function(j,k){i(k,true)});if(!b(e,"paste_text_use_dialog")){e.addCommand("mcePasteText",function(k,j){var l=tinymce.util.Cookie;e.pasteAsPlainText=!e.pasteAsPlainText;e.controlManager.setActive("pastetext",e.pasteAsPlainText);if((e.pasteAsPlainText)&&(!l.get("tinymcePasteText"))){if(b(e,"paste_text_sticky")){e.windowManager.alert(e.translate("paste.plaintext_mode_sticky"))}else{e.windowManager.alert(e.translate("paste.plaintext_mode_sticky"))}if(!b(e,"paste_text_notifyalways")){l.set("tinymcePasteText","1",new Date(new Date().getFullYear()+1,12,31))}}})}e.addButton("pastetext",{title:"paste.paste_text_desc",cmd:"mcePasteText"});e.addButton("selectall",{title:"paste.selectall_desc",cmd:"selectall"});function h(s){var m,q,k,l=e.selection,p=e.dom,r=e.getBody(),j;if(e.pasteAsPlainText&&(s.clipboardData||p.doc.dataTransfer)){s.preventDefault();i({content:(s.clipboardData||p.doc.dataTransfer).getData("Text")},true);return}if(p.get("_mcePaste")){return}m=p.add(r,"div",{id:"_mcePaste","class":"mcePaste"},"\uFEFF");if(r!=e.getDoc().body){j=p.getPos(e.selection.getStart(),r).y}else{j=r.scrollTop}p.setStyles(m,{position:"absolute",left:-10000,top:j,width:1,height:1,overflow:"hidden"});if(tinymce.isIE){k=p.doc.body.createTextRange();k.moveToElementText(m);k.execCommand("Paste");p.remove(m);if(m.innerHTML==="\uFEFF"){e.execCommand("mcePasteWord");s.preventDefault();return}i({content:m.innerHTML});return tinymce.dom.Event.cancel(s)}else{function o(n){n.preventDefault()}p.bind(e.getDoc(),"mousedown",o);p.bind(e.getDoc(),"keydown",o);q=e.selection.getRng();m=m.firstChild;k=e.getDoc().createRange();k.setStart(m,0);k.setEnd(m,1);l.setRng(k);window.setTimeout(function(){var t="",n=p.select("div.mcePaste");c(n,function(u){c(p.select("div.mcePaste",u),function(v){p.remove(v,1)});c(p.select("span.Apple-style-span",u),function(v){p.remove(v,1)});t+=u.innerHTML});c(n,function(u){p.remove(u)});if(q){l.setRng(q)}i({content:t});p.unbind(e.getDoc(),"mousedown",o);p.unbind(e.getDoc(),"keydown",o)},0)}}if(b(e,"paste_auto_cleanup_on_paste")){if(tinymce.isOpera||/Firefox\/2/.test(navigator.userAgent)){e.onKeyDown.add(function(j,k){if(((tinymce.isMac?k.metaKey:k.ctrlKey)&&k.keyCode==86)||(k.shiftKey&&k.keyCode==45)){h(k)}})}else{e.onPaste.addToTop(function(j,k){return h(k)})}}if(b(e,"paste_block_drop")){e.onInit.add(function(){e.dom.bind(e.getBody(),["dragend","dragover","draggesture","dragdrop","drop","drag"],function(j){j.preventDefault();j.stopPropagation();return false})})}g._legacySupport()},getInfo:function(){return{longname:"Paste text/word",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste",version:tinymce.majorVersion+"."+tinymce.minorVersion}},_preProcess:function(i,f){var l=this.editor,k=f.content,q=tinymce.grep,p=tinymce.explode,g=tinymce.trim,m,j;function e(h){c(h,function(o){if(o.constructor==RegExp){k=k.replace(o,"")}else{k=k.replace(o[0],o[1])}})}if(/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(k)||f.wordContent){f.wordContent=true;e([/^\s*(&nbsp;)+/gi,/(&nbsp;|<br[^>]*>)+\s*$/gi]);if(b(l,"paste_convert_headers_to_strong")){k=k.replace(/<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi,"<p><strong>$1</strong></p>")}if(b(l,"paste_convert_middot_lists")){e([[/<!--\[if !supportLists\]-->/gi,"$&__MCE_ITEM__"],[/(<span[^>]+(?:mso-list:|:\s*symbol)[^>]+>)/gi,"$1__MCE_ITEM__"]])}e([/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/&nbsp;/gi,"\u00a0"]]);do{m=k.length;k=k.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi,"$1")}while(m!=k.length);if(b(l,"paste_retain_style_properties").replace(/^none$/i,"").length==0){k=k.replace(/<\/?span[^>]*>/gi,"")}else{e([[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(o,h){return(h.length>0)?h.replace(/./," ").slice(Math.floor(h.length/2)).split("").join("\u00a0"):""}],[/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,function(u,h,t){var v=[],o=0,r=p(g(t).replace(/&quot;/gi,"'"),";");c(r,function(s){var w,y,z=p(s,":");function x(A){return A+((A!=="0")&&(/\d$/.test(A)))?"px":""}if(z.length==2){w=z[0].toLowerCase();y=z[1].toLowerCase();switch(w){case"mso-padding-alt":case"mso-padding-top-alt":case"mso-padding-right-alt":case"mso-padding-bottom-alt":case"mso-padding-left-alt":case"mso-margin-alt":case"mso-margin-top-alt":case"mso-margin-right-alt":case"mso-margin-bottom-alt":case"mso-margin-left-alt":case"mso-table-layout-alt":case"mso-height":case"mso-width":case"mso-vertical-align-alt":v[o++]=w.replace(/^mso-|-alt$/g,"")+":"+x(y);return;case"horiz-align":v[o++]="text-align:"+y;return;case"vert-align":v[o++]="vertical-align:"+y;return;case"font-color":case"mso-foreground":v[o++]="color:"+y;return;case"mso-background":case"mso-highlight":v[o++]="background:"+y;return;case"mso-default-height":v[o++]="min-height:"+x(y);return;case"mso-default-width":v[o++]="min-width:"+x(y);return;case"mso-padding-between-alt":v[o++]="border-collapse:separate;border-spacing:"+x(y);return;case"text-line-through":if((y=="single")||(y=="double")){v[o++]="text-decoration:line-through"}return;case"mso-zero-height":if(y=="yes"){v[o++]="display:none"}return}if(/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(w)){return}v[o++]=w+":"+z[1]}});if(o>0){return h+' style="'+v.join(";")+'"'}else{return h}}]])}}if(b(l,"paste_convert_headers_to_strong")){e([[/<h[1-6][^>]*>/gi,"<p><strong>"],[/<\/h[1-6][^>]*>/gi,"</strong></p>"]])}j=b(l,"paste_strip_class_attributes");if(j!=="none"){function n(r,o){if(j==="all"){return""}var h=q(p(o.replace(/^(["'])(.*)\1$/,"$2")," "),function(s){return(/^(?!mso)/i.test(s))});return h.length?' class="'+h.join(" ")+'"':""}k=k.replace(/ class="([^"]+)"/gi,n);k=k.replace(/ class=(\w+)/gi,n)}if(b(l,"paste_remove_spans")){k=k.replace(/<\/?span[^>]*>/gi,"")}f.content=k},_postProcess:function(h,j){var g=this,f=g.editor,i=f.dom,e;if(j.wordContent){c(i.select("a",j.node),function(k){if(!k.href||k.href.indexOf("#_Toc")!=-1){i.remove(k,1)}});if(b(f,"paste_convert_middot_lists")){g._convertLists(h,j)}e=b(f,"paste_retain_style_properties");if((tinymce.is(e,"string"))&&(e!=="all")&&(e!=="*")){e=tinymce.explode(e.replace(/^none$/i,""));c(i.select("*",j.node),function(n){var o={},l=0,m,p,k;if(e){for(m=0;m<e.length;m++){p=e[m];k=i.getStyle(n,p);if(k){o[p]=k;l++}}}i.setAttrib(n,"style","");if(e&&l>0){i.setStyles(n,o)}else{if(n.nodeName=="SPAN"&&!n.className){i.remove(n,true)}}})}}if(b(f,"paste_remove_styles")||(b(f,"paste_remove_styles_if_webkit")&&tinymce.isWebKit)){c(i.select("*[style]",j.node),function(k){k.removeAttribute("style");k.removeAttribute("_mce_style")})}else{if(tinymce.isWebKit){c(i.select("*",j.node),function(k){k.removeAttribute("_mce_style")})}}},_convertLists:function(h,f){var j=h.editor.dom,i,m,e=-1,g,n=[],l,k;c(j.select("p",f.node),function(u){var r,v="",t,s,o,q;for(r=u.firstChild;r&&r.nodeType==3;r=r.nextSibling){v+=r.nodeValue}v=u.innerHTML.replace(/<\/?\w+[^>]*>/gi,"").replace(/&nbsp;/g,"\u00a0");if(/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o]\s*\u00a0*/.test(v)){t="ul"}if(/^__MCE_ITEM__\s*\w+\.\s*\u00a0{2,}/.test(v)){t="ol"}if(t){g=parseFloat(u.style.marginLeft||0);if(g>e){n.push(g)}if(!i||t!=l){i=j.create(t);j.insertAfter(i,u)}else{if(g>e){i=m.appendChild(j.create(t))}else{if(g<e){o=tinymce.inArray(n,g);q=j.getParents(i.parentNode,t);i=q[q.length-1-o]||i}}}c(j.select("span",u),function(w){var p=w.innerHTML.replace(/<\/?\w+[^>]*>/gi,"");if(t=="ul"&&/^[\u2022\u00b7\u00a7\u00d8o]/.test(p)){j.remove(w)}else{if(/^[\s\S]*\w+\.(&nbsp;|\u00a0)*\s*/.test(p)){j.remove(w)}}});s=u.innerHTML;if(t=="ul"){s=u.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^[\u2022\u00b7\u00a7\u00d8o]\s*(&nbsp;|\u00a0)+\s*/,"")}else{s=u.innerHTML.replace(/__MCE_ITEM__/g,"").replace(/^\s*\w+\.(&nbsp;|\u00a0)+\s*/,"")}m=i.appendChild(j.create("li",0,s));j.remove(u);e=g;l=t}else{i=e=0}});k=f.node.innerHTML;if(k.indexOf("__MCE_ITEM__")!=-1){f.node.innerHTML=k.replace(/__MCE_ITEM__/g,"")}},_insertBlockContent:function(l,h,m){var f,j,g=l.selection,q,n,e,o,i,k="mce_marker";function p(t){var s;if(tinymce.isIE){s=l.getDoc().body.createTextRange();s.moveToElementText(t);s.collapse(false);s.select()}else{g.select(t,1);g.collapse(false)}}this._insert('<span id="'+k+'">&nbsp;</span>',1);j=h.get(k);f=h.getParent(j,"p,h1,h2,h3,h4,h5,h6,ul,ol,th,td");if(f&&!/TD|TH/.test(f.nodeName)){j=h.split(f,j);c(h.create("div",0,m).childNodes,function(r){q=j.parentNode.insertBefore(r.cloneNode(true),j)});p(q)}else{h.setOuterHTML(j,m);g.select(l.getBody(),1);g.collapse(0)}while(n=h.get(k)){h.remove(n)}n=g.getStart();e=h.getViewPort(l.getWin());o=l.dom.getPos(n).y;i=n.clientHeight;if(o<e.y||o+i>e.y+e.h){l.getDoc().body.scrollTop=o<e.y?o:o-e.h+25}},_insert:function(g,e){var f=this.editor,i=f.selection.getRng();if(!f.selection.isCollapsed()&&i.startContainer!=i.endContainer){f.getDoc().execCommand("Delete",false,null)}f.execCommand(tinymce.isGecko?"insertHTML":"mceInsertContent",false,g,{skip_undo:e})},_insertPlainText:function(j,x,v){var t,u,l,k,r,e,p,f,n=j.getWin(),z=j.getDoc(),s=j.selection,m=tinymce.is,y=tinymce.inArray,g=b(j,"paste_text_linebreaktype"),o=b(j,"paste_text_replacements");function q(h){c(h,function(i){if(i.constructor==RegExp){v=v.replace(i,"")}else{v=v.replace(i[0],i[1])}})}if((typeof(v)==="string")&&(v.length>0)){if(!d){d=("34,quot,38,amp,39,apos,60,lt,62,gt,"+j.serializer.settings.entities).split(",")}if(/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(v)){q([/[\n\r]+/g])}else{q([/\r+/g])}q([[/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi,"\n\n"],[/<br[^>]*>|<\/tr>/gi,"\n"],[/<\/t[dh]>\s*<t[dh][^>]*>/gi,"\t"],/<[a-z!\/?][^>]*>/gi,[/&nbsp;/gi," "],[/&(#\d+|[a-z0-9]{1,10});/gi,function(i,h){if(h.charAt(0)==="#"){return String.fromCharCode(h.slice(1))}else{return((i=y(d,h))>0)?String.fromCharCode(d[i-1]):" "}}],[/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi,"$1"],[/\n{3,}/g,"\n\n"],/^\s+|\s+$/g]);v=x.encode(v);if(!s.isCollapsed()){z.execCommand("Delete",false,null)}if(m(o,"array")||(m(o,"array"))){q(o)}else{if(m(o,"string")){q(new RegExp(o,"gi"))}}if(g=="none"){q([[/\n+/g," "]])}else{if(g=="br"){q([[/\n/g,"<br />"]])}else{q([/^\s+|\s+$/g,[/\n\n/g,"</p><p>"],[/\n/g,"<br />"]])}}if((l=v.indexOf("</p><p>"))!=-1){k=v.lastIndexOf("</p><p>");r=s.getNode();e=[];do{if(r.nodeType==1){if(r.nodeName=="TD"||r.nodeName=="BODY"){break}e[e.length]=r}}while(r=r.parentNode);if(e.length>0){p=v.substring(0,l);f="";for(t=0,u=e.length;t<u;t++){p+="</"+e[t].nodeName.toLowerCase()+">";f+="<"+e[e.length-t-1].nodeName.toLowerCase()+">"}if(l==k){v=p+f+v.substring(l+7)}else{v=p+v.substring(l+4,k+4)+f+v.substring(k+7)}}}j.execCommand("mceInsertRawHTML",false,v+'<span id="_plain_text_marker">&nbsp;</span>');window.setTimeout(function(){var h=x.get("_plain_text_marker"),B,i,A,w;s.select(h,false);z.execCommand("Delete",false,null);h=null;B=s.getStart();i=x.getViewPort(n);A=x.getPos(B).y;w=B.clientHeight;if((A<i.y)||(A+w>i.y+i.h)){z.body.scrollTop=A<i.y?A:A-i.h+25}},0)}},_legacySupport:function(){var f=this,e=f.editor;e.addCommand("mcePasteWord",function(){e.windowManager.open({file:f.url+"/pasteword.htm",width:parseInt(b(e,"paste_dialog_width")),height:parseInt(b(e,"paste_dialog_height")),inline:1})});if(b(e,"paste_text_use_dialog")){e.addCommand("mcePasteText",function(){e.windowManager.open({file:f.url+"/pastetext.htm",width:parseInt(b(e,"paste_dialog_width")),height:parseInt(b(e,"paste_dialog_height")),inline:1})})}e.addButton("pasteword",{title:"paste.paste_word_desc",cmd:"mcePasteWord"})}});tinymce.PluginManager.add("paste",tinymce.plugins.PastePlugin)})();
@@ -1,940 +0,0 @@
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
- var each = tinymce.each,
13
- entities = null,
14
- defs = {
15
- paste_auto_cleanup_on_paste : true,
16
- paste_block_drop : false,
17
- paste_retain_style_properties : "none",
18
- paste_strip_class_attributes : "mso",
19
- paste_remove_spans : false,
20
- paste_remove_styles : false,
21
- paste_remove_styles_if_webkit : true,
22
- paste_convert_middot_lists : true,
23
- paste_convert_headers_to_strong : false,
24
- paste_dialog_width : "450",
25
- paste_dialog_height : "400",
26
- paste_text_use_dialog : false,
27
- paste_text_sticky : false,
28
- paste_text_notifyalways : false,
29
- paste_text_linebreaktype : "p",
30
- paste_text_replacements : [
31
- [/\u2026/g, "..."],
32
- [/[\x93\x94\u201c\u201d]/g, '"'],
33
- [/[\x60\x91\x92\u2018\u2019]/g, "'"]
34
- ]
35
- };
36
-
37
- function getParam(ed, name) {
38
- return ed.getParam(name, defs[name]);
39
- }
40
-
41
- tinymce.create('tinymce.plugins.PastePlugin', {
42
- init : function(ed, url) {
43
- var t = this;
44
-
45
- t.editor = ed;
46
- t.url = url;
47
-
48
- // Setup plugin events
49
- t.onPreProcess = new tinymce.util.Dispatcher(t);
50
- t.onPostProcess = new tinymce.util.Dispatcher(t);
51
-
52
- // Register default handlers
53
- t.onPreProcess.add(t._preProcess);
54
- t.onPostProcess.add(t._postProcess);
55
-
56
- // Register optional preprocess handler
57
- t.onPreProcess.add(function(pl, o) {
58
- ed.execCallback('paste_preprocess', pl, o);
59
- });
60
-
61
- // Register optional postprocess
62
- t.onPostProcess.add(function(pl, o) {
63
- ed.execCallback('paste_postprocess', pl, o);
64
- });
65
-
66
- // Initialize plain text flag
67
- ed.pasteAsPlainText = false;
68
-
69
- // This function executes the process handlers and inserts the contents
70
- // force_rich overrides plain text mode set by user, important for pasting with execCommand
71
- function process(o, force_rich) {
72
- var dom = ed.dom;
73
-
74
- // Execute pre process handlers
75
- t.onPreProcess.dispatch(t, o);
76
-
77
- // Create DOM structure
78
- o.node = dom.create('div', 0, o.content);
79
-
80
- // Execute post process handlers
81
- t.onPostProcess.dispatch(t, o);
82
-
83
- // Serialize content
84
- o.content = ed.serializer.serialize(o.node, {getInner : 1});
85
-
86
- // Plain text option active?
87
- if ((!force_rich) && (ed.pasteAsPlainText)) {
88
- t._insertPlainText(ed, dom, o.content);
89
-
90
- if (!getParam(ed, "paste_text_sticky")) {
91
- ed.pasteAsPlainText = false;
92
- ed.controlManager.setActive("pastetext", false);
93
- }
94
- } else if (/<(p|h[1-6]|ul|ol)/.test(o.content)) {
95
- // Handle insertion of contents containing block elements separately
96
- t._insertBlockContent(ed, dom, o.content);
97
- } else {
98
- t._insert(o.content);
99
- }
100
- }
101
-
102
- // Add command for external usage
103
- ed.addCommand('mceInsertClipboardContent', function(u, o) {
104
- process(o, true);
105
- });
106
-
107
- if (!getParam(ed, "paste_text_use_dialog")) {
108
- ed.addCommand('mcePasteText', function(u, v) {
109
- var cookie = tinymce.util.Cookie;
110
-
111
- ed.pasteAsPlainText = !ed.pasteAsPlainText;
112
- ed.controlManager.setActive('pastetext', ed.pasteAsPlainText);
113
-
114
- if ((ed.pasteAsPlainText) && (!cookie.get("tinymcePasteText"))) {
115
- if (getParam(ed, "paste_text_sticky")) {
116
- ed.windowManager.alert(ed.translate('paste.plaintext_mode_sticky'));
117
- } else {
118
- ed.windowManager.alert(ed.translate('paste.plaintext_mode_sticky'));
119
- }
120
-
121
- if (!getParam(ed, "paste_text_notifyalways")) {
122
- cookie.set("tinymcePasteText", "1", new Date(new Date().getFullYear() + 1, 12, 31))
123
- }
124
- }
125
- });
126
- }
127
-
128
- ed.addButton('pastetext', {title: 'paste.paste_text_desc', cmd: 'mcePasteText'});
129
- ed.addButton('selectall', {title: 'paste.selectall_desc', cmd: 'selectall'});
130
-
131
- // This function grabs the contents from the clipboard by adding a
132
- // hidden div and placing the caret inside it and after the browser paste
133
- // is done it grabs that contents and processes that
134
- function grabContent(e) {
135
- var n, or, rng, sel = ed.selection, dom = ed.dom, body = ed.getBody(), posY;
136
-
137
- // Check if browser supports direct plaintext access
138
- if (ed.pasteAsPlainText && (e.clipboardData || dom.doc.dataTransfer)) {
139
- e.preventDefault();
140
- process({content : (e.clipboardData || dom.doc.dataTransfer).getData('Text')}, true);
141
- return;
142
- }
143
-
144
- if (dom.get('_mcePaste'))
145
- return;
146
-
147
- // Create container to paste into
148
- n = dom.add(body, 'div', {id : '_mcePaste', 'class' : 'mcePaste'}, '\uFEFF');
149
-
150
- // If contentEditable mode we need to find out the position of the closest element
151
- if (body != ed.getDoc().body)
152
- posY = dom.getPos(ed.selection.getStart(), body).y;
153
- else
154
- posY = body.scrollTop;
155
-
156
- // Styles needs to be applied after the element is added to the document since WebKit will otherwise remove all styles
157
- dom.setStyles(n, {
158
- position : 'absolute',
159
- left : -10000,
160
- top : posY,
161
- width : 1,
162
- height : 1,
163
- overflow : 'hidden'
164
- });
165
-
166
- if (tinymce.isIE) {
167
- // Select the container
168
- rng = dom.doc.body.createTextRange();
169
- rng.moveToElementText(n);
170
- rng.execCommand('Paste');
171
-
172
- // Remove container
173
- dom.remove(n);
174
-
175
- // Check if the contents was changed, if it wasn't then clipboard extraction failed probably due
176
- // to IE security settings so we pass the junk though better than nothing right
177
- if (n.innerHTML === '\uFEFF') {
178
- ed.execCommand('mcePasteWord');
179
- e.preventDefault();
180
- return;
181
- }
182
-
183
- // Process contents
184
- process({content : n.innerHTML});
185
-
186
- // Block the real paste event
187
- return tinymce.dom.Event.cancel(e);
188
- } else {
189
- function block(e) {
190
- e.preventDefault();
191
- };
192
-
193
- // Block mousedown and click to prevent selection change
194
- dom.bind(ed.getDoc(), 'mousedown', block);
195
- dom.bind(ed.getDoc(), 'keydown', block);
196
-
197
- or = ed.selection.getRng();
198
-
199
- // Move caret into hidden div
200
- n = n.firstChild;
201
- rng = ed.getDoc().createRange();
202
- rng.setStart(n, 0);
203
- rng.setEnd(n, 1);
204
- sel.setRng(rng);
205
-
206
- // Wait a while and grab the pasted contents
207
- window.setTimeout(function() {
208
- var h = '', nl = dom.select('div.mcePaste');
209
-
210
- // WebKit will split the div into multiple ones so this will loop through then all and join them to get the whole HTML string
211
- each(nl, function(n) {
212
- // WebKit duplicates the divs so we need to remove them
213
- each(dom.select('div.mcePaste', n), function(n) {
214
- dom.remove(n, 1);
215
- });
216
-
217
- // Remove apply style spans
218
- each(dom.select('span.Apple-style-span', n), function(n) {
219
- dom.remove(n, 1);
220
- });
221
-
222
- h += n.innerHTML;
223
- });
224
-
225
- // Remove the nodes
226
- each(nl, function(n) {
227
- dom.remove(n);
228
- });
229
-
230
- // Restore the old selection
231
- if (or)
232
- sel.setRng(or);
233
-
234
- process({content : h});
235
-
236
- // Unblock events ones we got the contents
237
- dom.unbind(ed.getDoc(), 'mousedown', block);
238
- dom.unbind(ed.getDoc(), 'keydown', block);
239
- }, 0);
240
- }
241
- }
242
-
243
- // Check if we should use the new auto process method
244
- if (getParam(ed, "paste_auto_cleanup_on_paste")) {
245
- // Is it's Opera or older FF use key handler
246
- if (tinymce.isOpera || /Firefox\/2/.test(navigator.userAgent)) {
247
- ed.onKeyDown.add(function(ed, e) {
248
- if (((tinymce.isMac ? e.metaKey : e.ctrlKey) && e.keyCode == 86) || (e.shiftKey && e.keyCode == 45))
249
- grabContent(e);
250
- });
251
- } else {
252
- // Grab contents on paste event on Gecko and WebKit
253
- ed.onPaste.addToTop(function(ed, e) {
254
- return grabContent(e);
255
- });
256
- }
257
- }
258
-
259
- // Block all drag/drop events
260
- if (getParam(ed, "paste_block_drop")) {
261
- ed.onInit.add(function() {
262
- ed.dom.bind(ed.getBody(), ['dragend', 'dragover', 'draggesture', 'dragdrop', 'drop', 'drag'], function(e) {
263
- e.preventDefault();
264
- e.stopPropagation();
265
-
266
- return false;
267
- });
268
- });
269
- }
270
-
271
- // Add legacy support
272
- t._legacySupport();
273
- },
274
-
275
- getInfo : function() {
276
- return {
277
- longname : 'Paste text/word',
278
- author : 'Moxiecode Systems AB',
279
- authorurl : 'http://tinymce.moxiecode.com',
280
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/paste',
281
- version : tinymce.majorVersion + "." + tinymce.minorVersion
282
- };
283
- },
284
-
285
- _preProcess : function(pl, o) {
286
- //console.log('Before preprocess:' + o.content);
287
-
288
- var ed = this.editor,
289
- h = o.content,
290
- grep = tinymce.grep,
291
- explode = tinymce.explode,
292
- trim = tinymce.trim,
293
- len, stripClass;
294
-
295
- function process(items) {
296
- each(items, function(v) {
297
- // Remove or replace
298
- if (v.constructor == RegExp)
299
- h = h.replace(v, '');
300
- else
301
- h = h.replace(v[0], v[1]);
302
- });
303
- }
304
-
305
- // Detect Word content and process it more aggressive
306
- if (/class="?Mso|style="[^"]*\bmso-|w:WordDocument/i.test(h) || o.wordContent) {
307
- o.wordContent = true; // Mark the pasted contents as word specific content
308
- //console.log('Word contents detected.');
309
-
310
- // Process away some basic content
311
- process([
312
- /^\s*(&nbsp;)+/gi, // &nbsp; entities at the start of contents
313
- /(&nbsp;|<br[^>]*>)+\s*$/gi // &nbsp; entities at the end of contents
314
- ]);
315
-
316
- if (getParam(ed, "paste_convert_headers_to_strong")) {
317
- h = h.replace(/<p [^>]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi, "<p><strong>$1</strong></p>");
318
- }
319
-
320
- if (getParam(ed, "paste_convert_middot_lists")) {
321
- process([
322
- [/<!--\[if !supportLists\]-->/gi, '$&__MCE_ITEM__'], // Convert supportLists to a list item marker
323
- [/(<span[^>]+(?:mso-list:|:\s*symbol)[^>]+>)/gi, '$1__MCE_ITEM__'] // Convert mso-list and symbol spans to item markers
324
- ]);
325
- }
326
-
327
- process([
328
- // Word comments like conditional comments etc
329
- /<!--[\s\S]+?-->/gi,
330
-
331
- // Remove comments, scripts (e.g., msoShowComment), XML tag, VML content, MS Office namespaced tags, and a few other tags
332
- /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,
333
-
334
- // Convert <s> into <strike> for line-though
335
- [/<(\/?)s>/gi, "<$1strike>"],
336
-
337
- // Replace nsbp entites to char since it's easier to handle
338
- [/&nbsp;/gi, "\u00a0"]
339
- ]);
340
-
341
- // Remove bad attributes, with or without quotes, ensuring that attribute text is really inside a tag.
342
- // If JavaScript had a RegExp look-behind, we could have integrated this with the last process() array and got rid of the loop. But alas, it does not, so we cannot.
343
- do {
344
- len = h.length;
345
- h = h.replace(/(<[a-z][^>]*\s)(?:id|name|language|type|on\w+|\w+:\w+)=(?:"[^"]*"|\w+)\s?/gi, "$1");
346
- } while (len != h.length);
347
-
348
- // Remove all spans if no styles is to be retained
349
- if (getParam(ed, "paste_retain_style_properties").replace(/^none$/i, "").length == 0) {
350
- h = h.replace(/<\/?span[^>]*>/gi, "");
351
- } else {
352
- // We're keeping styles, so at least clean them up.
353
- // CSS Reference: http://msdn.microsoft.com/en-us/library/aa155477.aspx
354
-
355
- process([
356
- // Convert <span style="mso-spacerun:yes">___</span> to string of alternating breaking/non-breaking spaces of same length
357
- [/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,
358
- function(str, spaces) {
359
- return (spaces.length > 0)? spaces.replace(/./, " ").slice(Math.floor(spaces.length/2)).split("").join("\u00a0") : "";
360
- }
361
- ],
362
-
363
- // Examine all styles: delete junk, transform some, and keep the rest
364
- [/(<[a-z][^>]*)\sstyle="([^"]*)"/gi,
365
- function(str, tag, style) {
366
- var n = [],
367
- i = 0,
368
- s = explode(trim(style).replace(/&quot;/gi, "'"), ";");
369
-
370
- // Examine each style definition within the tag's style attribute
371
- each(s, function(v) {
372
- var name, value,
373
- parts = explode(v, ":");
374
-
375
- function ensureUnits(v) {
376
- return v + ((v !== "0") && (/\d$/.test(v)))? "px" : "";
377
- }
378
-
379
- if (parts.length == 2) {
380
- name = parts[0].toLowerCase();
381
- value = parts[1].toLowerCase();
382
-
383
- // Translate certain MS Office styles into their CSS equivalents
384
- switch (name) {
385
- case "mso-padding-alt":
386
- case "mso-padding-top-alt":
387
- case "mso-padding-right-alt":
388
- case "mso-padding-bottom-alt":
389
- case "mso-padding-left-alt":
390
- case "mso-margin-alt":
391
- case "mso-margin-top-alt":
392
- case "mso-margin-right-alt":
393
- case "mso-margin-bottom-alt":
394
- case "mso-margin-left-alt":
395
- case "mso-table-layout-alt":
396
- case "mso-height":
397
- case "mso-width":
398
- case "mso-vertical-align-alt":
399
- n[i++] = name.replace(/^mso-|-alt$/g, "") + ":" + ensureUnits(value);
400
- return;
401
-
402
- case "horiz-align":
403
- n[i++] = "text-align:" + value;
404
- return;
405
-
406
- case "vert-align":
407
- n[i++] = "vertical-align:" + value;
408
- return;
409
-
410
- case "font-color":
411
- case "mso-foreground":
412
- n[i++] = "color:" + value;
413
- return;
414
-
415
- case "mso-background":
416
- case "mso-highlight":
417
- n[i++] = "background:" + value;
418
- return;
419
-
420
- case "mso-default-height":
421
- n[i++] = "min-height:" + ensureUnits(value);
422
- return;
423
-
424
- case "mso-default-width":
425
- n[i++] = "min-width:" + ensureUnits(value);
426
- return;
427
-
428
- case "mso-padding-between-alt":
429
- n[i++] = "border-collapse:separate;border-spacing:" + ensureUnits(value);
430
- return;
431
-
432
- case "text-line-through":
433
- if ((value == "single") || (value == "double")) {
434
- n[i++] = "text-decoration:line-through";
435
- }
436
- return;
437
-
438
- case "mso-zero-height":
439
- if (value == "yes") {
440
- n[i++] = "display:none";
441
- }
442
- return;
443
- }
444
-
445
- // Eliminate all MS Office style definitions that have no CSS equivalent by examining the first characters in the name
446
- if (/^(mso|column|font-emph|lang|layout|line-break|list-image|nav|panose|punct|row|ruby|sep|size|src|tab-|table-border|text-(?!align|decor|indent|trans)|top-bar|version|vnd|word-break)/.test(name)) {
447
- return;
448
- }
449
-
450
- // If it reached this point, it must be a valid CSS style
451
- n[i++] = name + ":" + parts[1]; // Lower-case name, but keep value case
452
- }
453
- });
454
-
455
- // If style attribute contained any valid styles the re-write it; otherwise delete style attribute.
456
- if (i > 0) {
457
- return tag + ' style="' + n.join(';') + '"';
458
- } else {
459
- return tag;
460
- }
461
- }
462
- ]
463
- ]);
464
- }
465
- }
466
-
467
- // Replace headers with <strong>
468
- if (getParam(ed, "paste_convert_headers_to_strong")) {
469
- process([
470
- [/<h[1-6][^>]*>/gi, "<p><strong>"],
471
- [/<\/h[1-6][^>]*>/gi, "</strong></p>"]
472
- ]);
473
- }
474
-
475
- // Class attribute options are: leave all as-is ("none"), remove all ("all"), or remove only those starting with mso ("mso").
476
- // Note:- paste_strip_class_attributes: "none", verify_css_classes: true is also a good variation.
477
- stripClass = getParam(ed, "paste_strip_class_attributes");
478
-
479
- if (stripClass !== "none") {
480
- function removeClasses(match, g1) {
481
- if (stripClass === "all")
482
- return '';
483
-
484
- var cls = grep(explode(g1.replace(/^(["'])(.*)\1$/, "$2"), " "),
485
- function(v) {
486
- return (/^(?!mso)/i.test(v));
487
- }
488
- );
489
-
490
- return cls.length ? ' class="' + cls.join(" ") + '"' : '';
491
- };
492
-
493
- h = h.replace(/ class="([^"]+)"/gi, removeClasses);
494
- h = h.replace(/ class=(\w+)/gi, removeClasses);
495
- }
496
-
497
- // Remove spans option
498
- if (getParam(ed, "paste_remove_spans")) {
499
- h = h.replace(/<\/?span[^>]*>/gi, "");
500
- }
501
-
502
- //console.log('After preprocess:' + h);
503
-
504
- o.content = h;
505
- },
506
-
507
- /**
508
- * Various post process items.
509
- */
510
- _postProcess : function(pl, o) {
511
- var t = this, ed = t.editor, dom = ed.dom, styleProps;
512
-
513
- if (o.wordContent) {
514
- // Remove named anchors or TOC links
515
- each(dom.select('a', o.node), function(a) {
516
- if (!a.href || a.href.indexOf('#_Toc') != -1)
517
- dom.remove(a, 1);
518
- });
519
-
520
- if (getParam(ed, "paste_convert_middot_lists")) {
521
- t._convertLists(pl, o);
522
- }
523
-
524
- // Process styles
525
- styleProps = getParam(ed, "paste_retain_style_properties"); // retained properties
526
-
527
- // Process only if a string was specified and not equal to "all" or "*"
528
- if ((tinymce.is(styleProps, "string")) && (styleProps !== "all") && (styleProps !== "*")) {
529
- styleProps = tinymce.explode(styleProps.replace(/^none$/i, ""));
530
-
531
- // Retains some style properties
532
- each(dom.select('*', o.node), function(el) {
533
- var newStyle = {}, npc = 0, i, sp, sv;
534
-
535
- // Store a subset of the existing styles
536
- if (styleProps) {
537
- for (i = 0; i < styleProps.length; i++) {
538
- sp = styleProps[i];
539
- sv = dom.getStyle(el, sp);
540
-
541
- if (sv) {
542
- newStyle[sp] = sv;
543
- npc++;
544
- }
545
- }
546
- }
547
-
548
- // Remove all of the existing styles
549
- dom.setAttrib(el, 'style', '');
550
-
551
- if (styleProps && npc > 0)
552
- dom.setStyles(el, newStyle); // Add back the stored subset of styles
553
- else // Remove empty span tags that do not have class attributes
554
- if (el.nodeName == 'SPAN' && !el.className)
555
- dom.remove(el, true);
556
- });
557
- }
558
- }
559
-
560
- // Remove all style information or only specifically on WebKit to avoid the style bug on that browser
561
- if (getParam(ed, "paste_remove_styles") || (getParam(ed, "paste_remove_styles_if_webkit") && tinymce.isWebKit)) {
562
- each(dom.select('*[style]', o.node), function(el) {
563
- el.removeAttribute('style');
564
- el.removeAttribute('_mce_style');
565
- });
566
- } else {
567
- if (tinymce.isWebKit) {
568
- // We need to compress the styles on WebKit since if you paste <img border="0" /> it will become <img border="0" style="... lots of junk ..." />
569
- // Removing the mce_style that contains the real value will force the Serializer engine to compress the styles
570
- each(dom.select('*', o.node), function(el) {
571
- el.removeAttribute('_mce_style');
572
- });
573
- }
574
- }
575
- },
576
-
577
- /**
578
- * Converts the most common bullet and number formats in Office into a real semantic UL/LI list.
579
- */
580
- _convertLists : function(pl, o) {
581
- var dom = pl.editor.dom, listElm, li, lastMargin = -1, margin, levels = [], lastType, html;
582
-
583
- // Convert middot lists into real semantic lists
584
- each(dom.select('p', o.node), function(p) {
585
- var sib, val = '', type, html, idx, parents;
586
-
587
- // Get text node value at beginning of paragraph
588
- for (sib = p.firstChild; sib && sib.nodeType == 3; sib = sib.nextSibling)
589
- val += sib.nodeValue;
590
-
591
- val = p.innerHTML.replace(/<\/?\w+[^>]*>/gi, '').replace(/&nbsp;/g, '\u00a0');
592
-
593
- // Detect unordered lists look for bullets
594
- if (/^(__MCE_ITEM__)+[\u2022\u00b7\u00a7\u00d8o]\s*\u00a0*/.test(val))
595
- type = 'ul';
596
-
597
- // Detect ordered lists 1., a. or ixv.
598
- if (/^__MCE_ITEM__\s*\w+\.\s*\u00a0{2,}/.test(val))
599
- type = 'ol';
600
-
601
- // Check if node value matches the list pattern: o&nbsp;&nbsp;
602
- if (type) {
603
- margin = parseFloat(p.style.marginLeft || 0);
604
-
605
- if (margin > lastMargin)
606
- levels.push(margin);
607
-
608
- if (!listElm || type != lastType) {
609
- listElm = dom.create(type);
610
- dom.insertAfter(listElm, p);
611
- } else {
612
- // Nested list element
613
- if (margin > lastMargin) {
614
- listElm = li.appendChild(dom.create(type));
615
- } else if (margin < lastMargin) {
616
- // Find parent level based on margin value
617
- idx = tinymce.inArray(levels, margin);
618
- parents = dom.getParents(listElm.parentNode, type);
619
- listElm = parents[parents.length - 1 - idx] || listElm;
620
- }
621
- }
622
-
623
- // Remove middot or number spans if they exists
624
- each(dom.select('span', p), function(span) {
625
- var html = span.innerHTML.replace(/<\/?\w+[^>]*>/gi, '');
626
-
627
- // Remove span with the middot or the number
628
- if (type == 'ul' && /^[\u2022\u00b7\u00a7\u00d8o]/.test(html))
629
- dom.remove(span);
630
- else if (/^[\s\S]*\w+\.(&nbsp;|\u00a0)*\s*/.test(html))
631
- dom.remove(span);
632
- });
633
-
634
- html = p.innerHTML;
635
-
636
- // Remove middot/list items
637
- if (type == 'ul')
638
- html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^[\u2022\u00b7\u00a7\u00d8o]\s*(&nbsp;|\u00a0)+\s*/, '');
639
- else
640
- html = p.innerHTML.replace(/__MCE_ITEM__/g, '').replace(/^\s*\w+\.(&nbsp;|\u00a0)+\s*/, '');
641
-
642
- // Create li and add paragraph data into the new li
643
- li = listElm.appendChild(dom.create('li', 0, html));
644
- dom.remove(p);
645
-
646
- lastMargin = margin;
647
- lastType = type;
648
- } else
649
- listElm = lastMargin = 0; // End list element
650
- });
651
-
652
- // Remove any left over makers
653
- html = o.node.innerHTML;
654
- if (html.indexOf('__MCE_ITEM__') != -1)
655
- o.node.innerHTML = html.replace(/__MCE_ITEM__/g, '');
656
- },
657
-
658
- /**
659
- * This method will split the current block parent and insert the contents inside the split position.
660
- * This logic can be improved so text nodes at the start/end remain in the start/end block elements
661
- */
662
- _insertBlockContent : function(ed, dom, content) {
663
- var parentBlock, marker, sel = ed.selection, last, elm, vp, y, elmHeight, markerId = 'mce_marker';
664
-
665
- function select(n) {
666
- var r;
667
-
668
- if (tinymce.isIE) {
669
- r = ed.getDoc().body.createTextRange();
670
- r.moveToElementText(n);
671
- r.collapse(false);
672
- r.select();
673
- } else {
674
- sel.select(n, 1);
675
- sel.collapse(false);
676
- }
677
- }
678
-
679
- // Insert a marker for the caret position
680
- this._insert('<span id="' + markerId + '">&nbsp;</span>', 1);
681
- marker = dom.get(markerId);
682
- parentBlock = dom.getParent(marker, 'p,h1,h2,h3,h4,h5,h6,ul,ol,th,td');
683
-
684
- // If it's a parent block but not a table cell
685
- if (parentBlock && !/TD|TH/.test(parentBlock.nodeName)) {
686
- // Split parent block
687
- marker = dom.split(parentBlock, marker);
688
-
689
- // Insert nodes before the marker
690
- each(dom.create('div', 0, content).childNodes, function(n) {
691
- last = marker.parentNode.insertBefore(n.cloneNode(true), marker);
692
- });
693
-
694
- // Move caret after marker
695
- select(last);
696
- } else {
697
- dom.setOuterHTML(marker, content);
698
- sel.select(ed.getBody(), 1);
699
- sel.collapse(0);
700
- }
701
-
702
- // Remove marker if it's left
703
- while (elm = dom.get(markerId))
704
- dom.remove(elm);
705
-
706
- // Get element, position and height
707
- elm = sel.getStart();
708
- vp = dom.getViewPort(ed.getWin());
709
- y = ed.dom.getPos(elm).y;
710
- elmHeight = elm.clientHeight;
711
-
712
- // Is element within viewport if not then scroll it into view
713
- if (y < vp.y || y + elmHeight > vp.y + vp.h)
714
- ed.getDoc().body.scrollTop = y < vp.y ? y : y - vp.h + 25;
715
- },
716
-
717
- /**
718
- * Inserts the specified contents at the caret position.
719
- */
720
- _insert : function(h, skip_undo) {
721
- var ed = this.editor, r = ed.selection.getRng();
722
-
723
- // First delete the contents seems to work better on WebKit when the selection spans multiple list items or multiple table cells.
724
- if (!ed.selection.isCollapsed() && r.startContainer != r.endContainer)
725
- ed.getDoc().execCommand('Delete', false, null);
726
-
727
- // It's better to use the insertHTML method on Gecko since it will combine paragraphs correctly before inserting the contents
728
- ed.execCommand(tinymce.isGecko ? 'insertHTML' : 'mceInsertContent', false, h, {skip_undo : skip_undo});
729
- },
730
-
731
- /**
732
- * Instead of the old plain text method which tried to re-create a paste operation, the
733
- * new approach adds a plain text mode toggle switch that changes the behavior of paste.
734
- * This function is passed the same input that the regular paste plugin produces.
735
- * It performs additional scrubbing and produces (and inserts) the plain text.
736
- * This approach leverages all of the great existing functionality in the paste
737
- * plugin, and requires minimal changes to add the new functionality.
738
- * Speednet - June 2009
739
- */
740
- _insertPlainText : function(ed, dom, h) {
741
- var i, len, pos, rpos, node, breakElms, before, after,
742
- w = ed.getWin(),
743
- d = ed.getDoc(),
744
- sel = ed.selection,
745
- is = tinymce.is,
746
- inArray = tinymce.inArray,
747
- linebr = getParam(ed, "paste_text_linebreaktype"),
748
- rl = getParam(ed, "paste_text_replacements");
749
-
750
- function process(items) {
751
- each(items, function(v) {
752
- if (v.constructor == RegExp)
753
- h = h.replace(v, "");
754
- else
755
- h = h.replace(v[0], v[1]);
756
- });
757
- };
758
-
759
- if ((typeof(h) === "string") && (h.length > 0)) {
760
- if (!entities)
761
- entities = ("34,quot,38,amp,39,apos,60,lt,62,gt," + ed.serializer.settings.entities).split(",");
762
-
763
- // If HTML content with line-breaking tags, then remove all cr/lf chars because only tags will break a line
764
- if (/<(?:p|br|h[1-6]|ul|ol|dl|table|t[rdh]|div|blockquote|fieldset|pre|address|center)[^>]*>/i.test(h)) {
765
- process([
766
- /[\n\r]+/g
767
- ]);
768
- } else {
769
- // Otherwise just get rid of carriage returns (only need linefeeds)
770
- process([
771
- /\r+/g
772
- ]);
773
- }
774
-
775
- process([
776
- [/<\/(?:p|h[1-6]|ul|ol|dl|table|div|blockquote|fieldset|pre|address|center)>/gi, "\n\n"], // Block tags get a blank line after them
777
- [/<br[^>]*>|<\/tr>/gi, "\n"], // Single linebreak for <br /> tags and table rows
778
- [/<\/t[dh]>\s*<t[dh][^>]*>/gi, "\t"], // Table cells get tabs betweem them
779
- /<[a-z!\/?][^>]*>/gi, // Delete all remaining tags
780
- [/&nbsp;/gi, " "], // Convert non-break spaces to regular spaces (remember, *plain text*)
781
- [
782
- // HTML entity
783
- /&(#\d+|[a-z0-9]{1,10});/gi,
784
-
785
- // Replace with actual character
786
- function(e, s) {
787
- if (s.charAt(0) === "#") {
788
- return String.fromCharCode(s.slice(1));
789
- }
790
- else {
791
- return ((e = inArray(entities, s)) > 0)? String.fromCharCode(entities[e-1]) : " ";
792
- }
793
- }
794
- ],
795
- [/(?:(?!\n)\s)*(\n+)(?:(?!\n)\s)*/gi, "$1"], // Cool little RegExp deletes whitespace around linebreak chars.
796
- [/\n{3,}/g, "\n\n"], // Max. 2 consecutive linebreaks
797
- /^\s+|\s+$/g // Trim the front & back
798
- ]);
799
-
800
- h = dom.encode(h);
801
-
802
- // Delete any highlighted text before pasting
803
- if (!sel.isCollapsed()) {
804
- d.execCommand("Delete", false, null);
805
- }
806
-
807
- // Perform default or custom replacements
808
- if (is(rl, "array") || (is(rl, "array"))) {
809
- process(rl);
810
- }
811
- else if (is(rl, "string")) {
812
- process(new RegExp(rl, "gi"));
813
- }
814
-
815
- // Treat paragraphs as specified in the config
816
- if (linebr == "none") {
817
- process([
818
- [/\n+/g, " "]
819
- ]);
820
- }
821
- else if (linebr == "br") {
822
- process([
823
- [/\n/g, "<br />"]
824
- ]);
825
- }
826
- else {
827
- process([
828
- /^\s+|\s+$/g,
829
- [/\n\n/g, "</p><p>"],
830
- [/\n/g, "<br />"]
831
- ]);
832
- }
833
-
834
- // This next piece of code handles the situation where we're pasting more than one paragraph of plain
835
- // text, and we are pasting the content into the middle of a block node in the editor. The block
836
- // node gets split at the selection point into "Para A" and "Para B" (for the purposes of explaining).
837
- // The first paragraph of the pasted text is appended to "Para A", and the last paragraph of the
838
- // pasted text is prepended to "Para B". Any other paragraphs of pasted text are placed between
839
- // "Para A" and "Para B". This code solves a host of problems with the original plain text plugin and
840
- // now handles styles correctly. (Pasting plain text into a styled paragraph is supposed to make the
841
- // plain text take the same style as the existing paragraph.)
842
- if ((pos = h.indexOf("</p><p>")) != -1) {
843
- rpos = h.lastIndexOf("</p><p>");
844
- node = sel.getNode();
845
- breakElms = []; // Get list of elements to break
846
-
847
- do {
848
- if (node.nodeType == 1) {
849
- // Don't break tables and break at body
850
- if (node.nodeName == "TD" || node.nodeName == "BODY") {
851
- break;
852
- }
853
-
854
- breakElms[breakElms.length] = node;
855
- }
856
- } while (node = node.parentNode);
857
-
858
- // Are we in the middle of a block node?
859
- if (breakElms.length > 0) {
860
- before = h.substring(0, pos);
861
- after = "";
862
-
863
- for (i=0, len=breakElms.length; i<len; i++) {
864
- before += "</" + breakElms[i].nodeName.toLowerCase() + ">";
865
- after += "<" + breakElms[breakElms.length-i-1].nodeName.toLowerCase() + ">";
866
- }
867
-
868
- if (pos == rpos) {
869
- h = before + after + h.substring(pos+7);
870
- }
871
- else {
872
- h = before + h.substring(pos+4, rpos+4) + after + h.substring(rpos+7);
873
- }
874
- }
875
- }
876
-
877
- // Insert content at the caret, plus add a marker for repositioning the caret
878
- ed.execCommand("mceInsertRawHTML", false, h + '<span id="_plain_text_marker">&nbsp;</span>');
879
-
880
- // Reposition the caret to the marker, which was placed immediately after the inserted content.
881
- // Needs to be done asynchronously (in window.setTimeout) or else it doesn't work in all browsers.
882
- // The second part of the code scrolls the content up if the caret is positioned off-screen.
883
- // This is only necessary for WebKit browsers, but it doesn't hurt to use for all.
884
- window.setTimeout(function() {
885
- var marker = dom.get('_plain_text_marker'),
886
- elm, vp, y, elmHeight;
887
-
888
- sel.select(marker, false);
889
- d.execCommand("Delete", false, null);
890
- marker = null;
891
-
892
- // Get element, position and height
893
- elm = sel.getStart();
894
- vp = dom.getViewPort(w);
895
- y = dom.getPos(elm).y;
896
- elmHeight = elm.clientHeight;
897
-
898
- // Is element within viewport if not then scroll it into view
899
- if ((y < vp.y) || (y + elmHeight > vp.y + vp.h)) {
900
- d.body.scrollTop = y < vp.y ? y : y - vp.h + 25;
901
- }
902
- }, 0);
903
- }
904
- },
905
-
906
- /**
907
- * This method will open the old style paste dialogs. Some users might want the old behavior but still use the new cleanup engine.
908
- */
909
- _legacySupport : function() {
910
- var t = this, ed = t.editor;
911
-
912
- // Register command(s) for backwards compatibility
913
- ed.addCommand("mcePasteWord", function() {
914
- ed.windowManager.open({
915
- file: t.url + "/pasteword.htm",
916
- width: parseInt(getParam(ed, "paste_dialog_width")),
917
- height: parseInt(getParam(ed, "paste_dialog_height")),
918
- inline: 1
919
- });
920
- });
921
-
922
- if (getParam(ed, "paste_text_use_dialog")) {
923
- ed.addCommand("mcePasteText", function() {
924
- ed.windowManager.open({
925
- file : t.url + "/pastetext.htm",
926
- width: parseInt(getParam(ed, "paste_dialog_width")),
927
- height: parseInt(getParam(ed, "paste_dialog_height")),
928
- inline : 1
929
- });
930
- });
931
- }
932
-
933
- // Register button for backwards compatibility
934
- ed.addButton("pasteword", {title : "paste.paste_word_desc", cmd : "mcePasteWord"});
935
- }
936
- });
937
-
938
- // Register plugin
939
- tinymce.PluginManager.add("paste", tinymce.plugins.PastePlugin);
940
- })();