tiny_mce 0.1.1 → 0.1.2

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 (393) hide show
  1. data/CHANGELOG_PLUGIN.rdoc +4 -0
  2. data/CHANGELOG_TINYMCE +78 -7
  3. data/LICENSE +2 -2
  4. data/README.rdoc +36 -14
  5. data/Rakefile +1 -3
  6. data/SPELLCHECKING_PLUGIN.rdoc +3 -1
  7. data/VERSION +1 -1
  8. data/lib/tiny_mce.rb +2 -7
  9. data/lib/tiny_mce/assets/tiny_mce/langs/ar.js +95 -95
  10. data/lib/tiny_mce/assets/tiny_mce/langs/cs.js +13 -13
  11. data/lib/tiny_mce/assets/tiny_mce/langs/es.js +1 -1
  12. data/lib/tiny_mce/assets/tiny_mce/langs/fa.js +1 -1
  13. data/lib/tiny_mce/assets/tiny_mce/langs/fr.js +41 -41
  14. data/lib/tiny_mce/assets/tiny_mce/langs/he.js +93 -93
  15. data/lib/tiny_mce/assets/tiny_mce/langs/hu.js +10 -10
  16. data/lib/tiny_mce/assets/tiny_mce/langs/hy.js +157 -0
  17. data/lib/tiny_mce/assets/tiny_mce/langs/id.js +71 -71
  18. data/lib/tiny_mce/assets/tiny_mce/langs/ii.js +78 -70
  19. data/lib/tiny_mce/assets/tiny_mce/langs/ja.js +91 -99
  20. data/lib/tiny_mce/assets/tiny_mce/langs/lb.js +155 -0
  21. data/lib/tiny_mce/assets/tiny_mce/langs/pl.js +3 -3
  22. data/lib/tiny_mce/assets/tiny_mce/langs/ps.js +154 -0
  23. data/lib/tiny_mce/assets/tiny_mce/langs/pt.js +2 -2
  24. data/lib/tiny_mce/assets/tiny_mce/langs/ru.js +61 -59
  25. data/lib/tiny_mce/assets/tiny_mce/langs/sk.js +25 -25
  26. data/lib/tiny_mce/assets/tiny_mce/langs/th.js +1 -1
  27. data/lib/tiny_mce/assets/tiny_mce/langs/tr.js +51 -51
  28. data/lib/tiny_mce/assets/tiny_mce/langs/tw.js +2 -0
  29. data/lib/tiny_mce/assets/tiny_mce/langs/uk.js +7 -7
  30. data/lib/tiny_mce/assets/tiny_mce/langs/vi.js +17 -17
  31. data/lib/tiny_mce/assets/tiny_mce/langs/zu.js +162 -0
  32. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/editor_plugin_src.js +6 -3
  33. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/langs/ar_dlg.js +3 -3
  34. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/langs/he_dlg.js +3 -3
  35. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/langs/hy_dlg.js +5 -0
  36. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/langs/id_dlg.js +3 -3
  37. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/langs/ii_dlg.js +1 -1
  38. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/langs/ja_dlg.js +3 -3
  39. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/langs/lb_dlg.js +5 -0
  40. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/langs/ps_dlg.js +5 -0
  41. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/langs/zu_dlg.js +5 -0
  42. data/lib/tiny_mce/assets/tiny_mce/plugins/advhr/rule.htm +2 -7
  43. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/editor_plugin_src.js +6 -3
  44. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/image.htm +2 -7
  45. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/js/image.js +1 -1
  46. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/ar_dlg.js +41 -41
  47. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/de_dlg.js +1 -1
  48. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/fa_dlg.js +2 -2
  49. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/fr_dlg.js +14 -14
  50. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/he_dlg.js +37 -37
  51. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/hy_dlg.js +43 -0
  52. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/id_dlg.js +22 -22
  53. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/ii_dlg.js +24 -24
  54. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/ja_dlg.js +38 -38
  55. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/lb_dlg.js +43 -0
  56. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/ps_dlg.js +43 -0
  57. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/pt_dlg.js +1 -1
  58. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/ru_dlg.js +31 -31
  59. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/sk_dlg.js +2 -2
  60. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/th_dlg.js +1 -1
  61. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/tr_dlg.js +13 -13
  62. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/uk_dlg.js +1 -1
  63. data/lib/tiny_mce/assets/tiny_mce/plugins/advimage/langs/zu_dlg.js +43 -0
  64. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/editor_plugin_src.js +6 -3
  65. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/js/advlink.js +1 -1
  66. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/ar_dlg.js +49 -49
  67. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/fr_dlg.js +12 -12
  68. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/he_dlg.js +40 -40
  69. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/hy_dlg.js +52 -0
  70. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/id_dlg.js +32 -32
  71. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/ii_dlg.js +31 -31
  72. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/ja_dlg.js +49 -49
  73. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/lb_dlg.js +52 -0
  74. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/ps_dlg.js +52 -0
  75. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/pt_dlg.js +1 -1
  76. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/ru_dlg.js +38 -38
  77. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/sk_dlg.js +5 -5
  78. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/th_dlg.js +5 -5
  79. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/tr_dlg.js +23 -23
  80. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/uk_dlg.js +11 -11
  81. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/vi_dlg.js +1 -1
  82. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/langs/zu_dlg.js +52 -0
  83. data/lib/tiny_mce/assets/tiny_mce/plugins/advlink/link.htm +2 -7
  84. data/lib/tiny_mce/assets/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
  85. data/lib/tiny_mce/assets/tiny_mce/plugins/advlist/editor_plugin_src.js +154 -0
  86. data/lib/tiny_mce/assets/tiny_mce/plugins/autoresize/editor_plugin_src.js +6 -3
  87. data/lib/tiny_mce/assets/tiny_mce/plugins/autosave/editor_plugin.js +1 -1
  88. data/lib/tiny_mce/assets/tiny_mce/plugins/autosave/editor_plugin_src.js +388 -17
  89. data/lib/tiny_mce/assets/tiny_mce/plugins/autosave/langs/en.js +4 -0
  90. data/lib/tiny_mce/assets/tiny_mce/plugins/bbcode/editor_plugin_src.js +6 -3
  91. data/lib/tiny_mce/assets/tiny_mce/plugins/contextmenu/editor_plugin_src.js +35 -3
  92. data/lib/tiny_mce/assets/tiny_mce/plugins/directionality/editor_plugin_src.js +6 -3
  93. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/editor_plugin.js +1 -1
  94. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/editor_plugin_src.js +8 -5
  95. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/ar_dlg.js +18 -18
  96. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/fr_dlg.js +3 -3
  97. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/he_dlg.js +18 -18
  98. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/hy_dlg.js +20 -0
  99. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/id_dlg.js +1 -1
  100. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/ii_dlg.js +3 -3
  101. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/ja_dlg.js +18 -18
  102. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/lb_dlg.js +20 -0
  103. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/ps_dlg.js +20 -0
  104. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/ru_dlg.js +18 -18
  105. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/sk_dlg.js +18 -18
  106. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/th_dlg.js +1 -1
  107. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/tr_dlg.js +12 -12
  108. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/vi_dlg.js +18 -18
  109. data/lib/tiny_mce/assets/tiny_mce/plugins/emotions/langs/zu_dlg.js +20 -0
  110. data/lib/tiny_mce/assets/tiny_mce/plugins/example/dialog.htm +2 -7
  111. data/lib/tiny_mce/assets/tiny_mce/plugins/example/editor_plugin_src.js +6 -3
  112. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/editor_plugin_src.js +6 -3
  113. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/fullpage.htm +2 -7
  114. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/js/fullpage.js +17 -7
  115. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/ar_dlg.js +78 -78
  116. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/fr_dlg.js +4 -4
  117. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/he_dlg.js +40 -40
  118. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/hy_dlg.js +85 -0
  119. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/ii_dlg.js +51 -51
  120. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/ja_dlg.js +75 -75
  121. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/lb_dlg.js +85 -0
  122. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/ps_dlg.js +85 -0
  123. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/pt_dlg.js +1 -1
  124. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/ru_dlg.js +54 -54
  125. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/tr_dlg.js +42 -42
  126. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/tw_dlg.js +3 -3
  127. data/lib/tiny_mce/assets/tiny_mce/plugins/fullpage/langs/zu_dlg.js +85 -0
  128. data/lib/tiny_mce/assets/tiny_mce/plugins/fullscreen/editor_plugin_src.js +6 -3
  129. data/lib/tiny_mce/assets/tiny_mce/plugins/fullscreen/fullscreen.htm +0 -1
  130. data/lib/tiny_mce/assets/tiny_mce/plugins/iespell/editor_plugin_src.js +6 -3
  131. data/lib/tiny_mce/assets/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +6 -3
  132. data/lib/tiny_mce/assets/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +6 -3
  133. data/lib/tiny_mce/assets/tiny_mce/plugins/layer/editor_plugin_src.js +6 -3
  134. data/lib/tiny_mce/assets/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
  135. data/lib/tiny_mce/assets/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +136 -0
  136. data/lib/tiny_mce/assets/tiny_mce/plugins/media/editor_plugin.js +1 -1
  137. data/lib/tiny_mce/assets/tiny_mce/plugins/media/editor_plugin_src.js +10 -7
  138. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/ar_dlg.js +86 -86
  139. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/cs_dlg.js +12 -12
  140. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/fr_dlg.js +15 -15
  141. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/he_dlg.js +24 -24
  142. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/hy_dlg.js +103 -0
  143. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/id_dlg.js +16 -16
  144. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/ii_dlg.js +70 -70
  145. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/ja_dlg.js +91 -91
  146. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/lb_dlg.js +103 -0
  147. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/ps_dlg.js +103 -0
  148. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/ru_dlg.js +88 -88
  149. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/sk_dlg.js +1 -1
  150. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/tr_dlg.js +44 -44
  151. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/uk_dlg.js +24 -24
  152. data/lib/tiny_mce/assets/tiny_mce/plugins/media/langs/zu_dlg.js +103 -0
  153. data/lib/tiny_mce/assets/tiny_mce/plugins/media/media.htm +2 -7
  154. data/lib/tiny_mce/assets/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +6 -3
  155. data/lib/tiny_mce/assets/tiny_mce/plugins/noneditable/editor_plugin_src.js +6 -3
  156. data/lib/tiny_mce/assets/tiny_mce/plugins/pagebreak/editor_plugin_src.js +6 -3
  157. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/editor_plugin.js +1 -1
  158. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/editor_plugin_src.js +509 -111
  159. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/ar_dlg.js +3 -3
  160. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/fr_dlg.js +1 -1
  161. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/he_dlg.js +3 -3
  162. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/hy_dlg.js +5 -0
  163. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/id_dlg.js +2 -2
  164. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/ii_dlg.js +3 -3
  165. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/ja_dlg.js +3 -3
  166. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/lb_dlg.js +5 -0
  167. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/ps_dlg.js +5 -0
  168. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/ru_dlg.js +3 -3
  169. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/tr_dlg.js +3 -3
  170. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/langs/zu_dlg.js +5 -0
  171. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/pastetext.htm +2 -8
  172. data/lib/tiny_mce/assets/tiny_mce/plugins/paste/pasteword.htm +2 -8
  173. data/lib/tiny_mce/assets/tiny_mce/plugins/preview/editor_plugin_src.js +6 -3
  174. data/lib/tiny_mce/assets/tiny_mce/plugins/print/editor_plugin_src.js +6 -3
  175. data/lib/tiny_mce/assets/tiny_mce/plugins/save/editor_plugin_src.js +6 -3
  176. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -1
  177. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/editor_plugin_src.js +7 -4
  178. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/js/searchreplace.js +4 -0
  179. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/ar_dlg.js +14 -14
  180. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/fa_dlg.js +2 -2
  181. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/fr_dlg.js +10 -10
  182. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/he_dlg.js +14 -14
  183. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/hy_dlg.js +16 -0
  184. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/id_dlg.js +13 -13
  185. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/ii_dlg.js +11 -11
  186. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/ja_dlg.js +13 -13
  187. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/lb_dlg.js +16 -0
  188. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/pl_dlg.js +2 -2
  189. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/ps_dlg.js +16 -0
  190. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/ru_dlg.js +8 -8
  191. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/sk_dlg.js +11 -11
  192. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/tr_dlg.js +5 -5
  193. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/langs/zu_dlg.js +16 -0
  194. data/lib/tiny_mce/assets/tiny_mce/plugins/searchreplace/searchreplace.htm +4 -9
  195. data/lib/tiny_mce/assets/tiny_mce/plugins/spellchecker/editor_plugin_src.js +6 -3
  196. data/lib/tiny_mce/assets/tiny_mce/plugins/style/editor_plugin_src.js +6 -3
  197. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/ar_dlg.js +61 -61
  198. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/cs_dlg.js +1 -1
  199. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/fr_dlg.js +4 -4
  200. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/he_dlg.js +56 -56
  201. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/hy_dlg.js +63 -0
  202. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/ii_dlg.js +33 -33
  203. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/ja_dlg.js +59 -59
  204. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/lb_dlg.js +63 -0
  205. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/pl_dlg.js +1 -1
  206. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/ps_dlg.js +63 -0
  207. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/ru_dlg.js +21 -21
  208. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/sk_dlg.js +7 -7
  209. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/th_dlg.js +3 -3
  210. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/tr_dlg.js +18 -18
  211. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/tw_dlg.js +2 -2
  212. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/uk_dlg.js +19 -19
  213. data/lib/tiny_mce/assets/tiny_mce/plugins/style/langs/zu_dlg.js +63 -0
  214. data/lib/tiny_mce/assets/tiny_mce/plugins/style/props.htm +4 -8
  215. data/lib/tiny_mce/assets/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -1
  216. data/lib/tiny_mce/assets/tiny_mce/plugins/tabfocus/editor_plugin_src.js +7 -4
  217. data/lib/tiny_mce/assets/tiny_mce/plugins/table/cell.htm +2 -7
  218. data/lib/tiny_mce/assets/tiny_mce/plugins/table/editor_plugin.js +1 -1
  219. data/lib/tiny_mce/assets/tiny_mce/plugins/table/editor_plugin_src.js +889 -973
  220. data/lib/tiny_mce/assets/tiny_mce/plugins/table/js/cell.js +40 -23
  221. data/lib/tiny_mce/assets/tiny_mce/plugins/table/js/merge_cells.js +18 -20
  222. data/lib/tiny_mce/assets/tiny_mce/plugins/table/js/row.js +47 -22
  223. data/lib/tiny_mce/assets/tiny_mce/plugins/table/js/table.js +17 -8
  224. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/ar_dlg.js +70 -70
  225. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/fr_dlg.js +14 -14
  226. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/he_dlg.js +56 -56
  227. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/hy_dlg.js +74 -0
  228. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/id_dlg.js +25 -25
  229. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/ii_dlg.js +54 -54
  230. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/ja_dlg.js +67 -67
  231. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/lb_dlg.js +74 -0
  232. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/ps_dlg.js +74 -0
  233. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/pt_dlg.js +1 -1
  234. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/ru_dlg.js +47 -47
  235. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/sk_dlg.js +2 -2
  236. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/tr_dlg.js +25 -25
  237. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/uk_dlg.js +22 -22
  238. data/lib/tiny_mce/assets/tiny_mce/plugins/table/langs/zu_dlg.js +74 -0
  239. data/lib/tiny_mce/assets/tiny_mce/plugins/table/merge_cells.htm +3 -8
  240. data/lib/tiny_mce/assets/tiny_mce/plugins/table/row.htm +2 -7
  241. data/lib/tiny_mce/assets/tiny_mce/plugins/table/table.htm +2 -7
  242. data/lib/tiny_mce/assets/tiny_mce/plugins/template/editor_plugin_src.js +6 -3
  243. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/ar_dlg.js +11 -11
  244. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/cs_dlg.js +4 -4
  245. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/es_dlg.js +1 -1
  246. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/fr_dlg.js +2 -2
  247. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/he_dlg.js +7 -7
  248. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/hy_dlg.js +15 -0
  249. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/id_dlg.js +6 -6
  250. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/ii_dlg.js +10 -10
  251. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/ja_dlg.js +11 -11
  252. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/lb_dlg.js +15 -0
  253. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/ps_dlg.js +15 -0
  254. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/ru_dlg.js +9 -9
  255. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/tr_dlg.js +5 -5
  256. data/lib/tiny_mce/assets/tiny_mce/plugins/template/langs/zu_dlg.js +15 -0
  257. data/lib/tiny_mce/assets/tiny_mce/plugins/template/template.htm +2 -8
  258. data/lib/tiny_mce/assets/tiny_mce/plugins/visualchars/editor_plugin_src.js +6 -3
  259. data/lib/tiny_mce/assets/tiny_mce/plugins/wordcount/editor_plugin_src.js +6 -3
  260. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/abbr.htm +3 -10
  261. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/acronym.htm +3 -10
  262. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/attributes.htm +2 -7
  263. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/cite.htm +3 -10
  264. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/del.htm +3 -11
  265. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -1
  266. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +11 -3
  267. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/ins.htm +3 -11
  268. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/js/abbr.js +8 -5
  269. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/js/acronym.js +7 -4
  270. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/js/attributes.js +7 -4
  271. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/js/cite.js +7 -4
  272. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/js/del.js +7 -4
  273. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/js/element_common.js +8 -8
  274. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/js/ins.js +7 -4
  275. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/ar_dlg.js +30 -30
  276. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/cs_dlg.js +2 -2
  277. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/fr_dlg.js +6 -6
  278. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/he_dlg.js +27 -27
  279. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/hy_dlg.js +32 -0
  280. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/id_dlg.js +22 -22
  281. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/ii_dlg.js +14 -14
  282. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/ja_dlg.js +25 -25
  283. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/lb_dlg.js +32 -0
  284. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/pl_dlg.js +3 -3
  285. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/ps_dlg.js +32 -0
  286. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/ru_dlg.js +15 -15
  287. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/sk_dlg.js +2 -2
  288. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/th_dlg.js +5 -5
  289. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/tr_dlg.js +18 -18
  290. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/uk_dlg.js +9 -9
  291. data/lib/tiny_mce/assets/tiny_mce/plugins/xhtmlxtras/langs/zu_dlg.js +32 -0
  292. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/about.htm +1 -3
  293. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/anchor.htm +2 -7
  294. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/color_picker.htm +1 -3
  295. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/editor_template.js +1 -1
  296. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/editor_template_src.js +166 -169
  297. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/image.htm +2 -7
  298. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/img/icons.gif +0 -0
  299. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/js/anchor.js +7 -7
  300. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/js/charmap.js +10 -0
  301. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/js/image.js +2 -2
  302. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/ar.js +59 -61
  303. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/ar_dlg.js +49 -49
  304. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/cs.js +1 -1
  305. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/el.js +3 -1
  306. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/es.js +4 -4
  307. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/es_dlg.js +2 -2
  308. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/fa_dlg.js +1 -1
  309. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/fr.js +14 -17
  310. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/fr_dlg.js +17 -17
  311. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/he.js +57 -57
  312. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/he_dlg.js +49 -49
  313. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/hu.js +2 -2
  314. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/hu_dlg.js +4 -4
  315. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/hy.js +62 -0
  316. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/hy_dlg.js +51 -0
  317. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/id.js +5 -5
  318. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/id_dlg.js +13 -13
  319. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/ii.js +42 -40
  320. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/ii_dlg.js +28 -28
  321. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/it_dlg.js +5 -5
  322. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/ja.js +57 -59
  323. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/ja_dlg.js +48 -48
  324. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/lb.js +63 -0
  325. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/lb_dlg.js +51 -0
  326. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/pl.js +2 -2
  327. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/ps.js +62 -0
  328. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/ps_dlg.js +51 -0
  329. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/pt.js +5 -5
  330. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/ru.js +28 -28
  331. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/ru_dlg.js +37 -37
  332. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/sk.js +15 -15
  333. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/sk_dlg.js +19 -19
  334. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/th.js +4 -4
  335. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/th_dlg.js +4 -4
  336. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/tr.js +27 -27
  337. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/tr_dlg.js +17 -17
  338. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/tw.js +3 -3
  339. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/uk_dlg.js +6 -6
  340. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/vi.js +17 -17
  341. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/vi_dlg.js +1 -1
  342. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/zu.js +64 -0
  343. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/langs/zu_dlg.js +51 -0
  344. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/link.htm +2 -7
  345. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/skins/default/content.css +6 -3
  346. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/skins/default/dialog.css +4 -3
  347. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/skins/default/ui.css +4 -5
  348. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/skins/o2k7/content.css +6 -3
  349. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/skins/o2k7/dialog.css +3 -2
  350. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/skins/o2k7/ui.css +3 -3
  351. data/lib/tiny_mce/assets/tiny_mce/themes/advanced/source_editor.htm +2 -7
  352. data/lib/tiny_mce/assets/tiny_mce/themes/simple/editor_template_src.js +5 -5
  353. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/ar.js +9 -9
  354. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/he.js +8 -8
  355. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/hu.js +1 -1
  356. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/hy.js +11 -0
  357. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/ii.js +8 -8
  358. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/ja.js +9 -9
  359. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/lb.js +11 -0
  360. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/ps.js +11 -0
  361. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/ru.js +4 -4
  362. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/sk.js +4 -4
  363. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/tr.js +4 -4
  364. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/tw.js +1 -1
  365. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/vi.js +9 -9
  366. data/lib/tiny_mce/assets/tiny_mce/themes/simple/langs/zu.js +11 -0
  367. data/lib/tiny_mce/assets/tiny_mce/tiny_mce.js +1 -1
  368. data/lib/tiny_mce/assets/tiny_mce/tiny_mce_popup.js +1 -1
  369. data/lib/tiny_mce/assets/tiny_mce/tiny_mce_src.js +4684 -4107
  370. data/lib/tiny_mce/assets/tiny_mce/utils/editable_selects.js +5 -4
  371. data/lib/tiny_mce/assets/tiny_mce/utils/form_utils.js +5 -4
  372. data/lib/tiny_mce/assets/tiny_mce/utils/mctabs.js +5 -4
  373. data/lib/tiny_mce/assets/tiny_mce/utils/validate.js +5 -4
  374. data/lib/tiny_mce/base.rb +7 -19
  375. data/lib/tiny_mce/configuration.rb +98 -0
  376. data/lib/tiny_mce/exceptions.rb +14 -0
  377. data/lib/tiny_mce/helpers.rb +13 -49
  378. data/lib/tiny_mce/spell_checker.rb +0 -2
  379. data/lib/tiny_mce/valid_tinymce_options.yml +1 -6
  380. data/test/functional/full_tiny_mce_controller_test.rb +9 -12
  381. data/test/functional/multi_configuration_tiny_mce_controller_test.rb +58 -0
  382. data/test/functional/slim_tiny_mce_controller_test.rb +8 -5
  383. data/test/test_helper.rb +12 -0
  384. data/test/unit/configuration_test.rb +56 -0
  385. data/test/unit/helpers/tiny_mce_helper_test.rb +99 -97
  386. data/test/unit/tiny_mce_test.rb +1 -2
  387. data/tiny_mce.gemspec +79 -10
  388. metadata +88 -11
  389. data/lib/tiny_mce/assets/tiny_mce/plugins/safari/blank.htm +0 -1
  390. data/lib/tiny_mce/assets/tiny_mce/plugins/safari/editor_plugin.js +0 -1
  391. data/lib/tiny_mce/assets/tiny_mce/plugins/safari/editor_plugin_src.js +0 -438
  392. data/lib/tiny_mce/option_validator.rb +0 -35
  393. data/test/unit/options_validator_test.rb +0 -51
@@ -1,5 +1,5 @@
1
1
  tinyMCE.addI18n('sk.advlink_dlg',{
2
- title:"Vlo\u017Ei\u0165/editova\u0165 odkaz",
2
+ title:"Vlo\u017Ei\u0165/upravi\u0165 odkaz",
3
3
  url:"URL odkazu",
4
4
  target:"Cie\u013E",
5
5
  titlefield:"N\u00E1zov",
@@ -16,15 +16,15 @@ event_props:"Akcie",
16
16
  advanced_props:"Roz\u0161\u00EDren\u00E9 vlastnosti",
17
17
  popup_opts:"Vlastnosti",
18
18
  anchor_names:"Kotvy",
19
- target_same:"Otvor\u00ED\u0165 v rovnakom okne/r\u00E1me",
20
- target_parent:"Otvor\u00ED\u0165 v rodi\u010Dovsk\u00E9m okne/r\u00E1me",
19
+ target_same:"Otvori\u0165 v rovnakom okne/r\u00E1me",
20
+ target_parent:"Otvori\u0165 v rodi\u010Dovskom okne/r\u00E1me",
21
21
  target_top:"Otvori\u0165 v najvy\u0161\u0161om r\u00E1me (prep\u00ED\u0161e v\u0161etky r\u00E1my)",
22
- target_blank:"Otvor\u00ED\u0165 v novom okne",
22
+ target_blank:"Otvori\u0165 v novom okne",
23
23
  popup:"JavaScript popup",
24
24
  popup_url:"Popup URL",
25
25
  popup_name:"N\u00E1zov okna",
26
26
  popup_return:"Vlo\u017Ei\u0165 'return false'",
27
- popup_scrollbars:"Zobrazova\u0165 pos\u00FAvn\u00EDky",
27
+ popup_scrollbars:"Zobrazova\u0165 posuvn\u00EDky",
28
28
  popup_statusbar:"Zobrazova\u0165 stavov\u00FD riadok",
29
29
  popup_toolbar:"Zobrazova\u0165 ovl\u00E1daciu li\u0161tu",
30
30
  popup_menubar:"Zobrazova\u0165 menu",
@@ -24,10 +24,10 @@ popup:"\u0E08\u0E32\u0E27\u0E32 \u0E1B\u0E4A\u0E2D\u0E1B-\u0E2D\u0E31\u0E1E",
24
24
  popup_url:"\u0E1B\u0E4A\u0E2D\u0E1B-\u0E2D\u0E31\u0E1E URL",
25
25
  popup_name:"\u0E0A\u0E37\u0E48\u0E2D\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07",
26
26
  popup_return:"\u0E40\u0E1E\u0E34\u0E48\u0E21 'return false'",
27
- popup_scrollbars:"\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E01\u0E2D\u0E25\u0E1A\u0E32\u0E23\u0E4C",
28
- popup_statusbar:"\u0E41\u0E2A\u0E14\u0E07 \u0E2A\u0E40\u0E15\u0E15\u0E31\u0E2A\u0E1A\u0E32\u0E23\u0E4C",
29
- popup_toolbar:"\u0E41\u0E2A\u0E40\u0E07\u0E17\u0E39\u0E25\u0E1A\u0E32\u0E23\u0E4C",
30
- popup_menubar:"\u0E41\u0E2A\u0E14\u0E07\u0E40\u0E21\u0E19\u0E39\u0E1A\u0E32\u0E23\u0E4C",
27
+ popup_scrollbars:"\u0E41\u0E2A\u0E14\u0E07\u0E2A\u0E01\u0E23\u0E2D\u0E25\u0E1A\u0E32\u0E23\u0E4C",
28
+ popup_statusbar:"\u0E41\u0E2A\u0E14\u0E07\u0E41\u0E16\u0E1A\u0E2A\u0E16\u0E32\u0E19\u0E30",
29
+ popup_toolbar:"\u0E41\u0E2A\u0E14\u0E07\u0E17\u0E39\u0E25\u0E1A\u0E32\u0E23\u0E4C",
30
+ popup_menubar:"\u0E41\u0E2A\u0E14\u0E07\u0E41\u0E16\u0E1A\u0E40\u0E21\u0E19\u0E39",
31
31
  popup_location:"\u0E41\u0E2A\u0E14\u0E07\u0E0A\u0E48\u0E2D\u0E07\u0E17\u0E35\u0E48\u0E2D\u0E22\u0E39\u0E48",
32
32
  popup_resizable:"\u0E40\u0E1B\u0E25\u0E35\u0E48\u0E22\u0E19\u0E02\u0E19\u0E32\u0E14\u0E02\u0E2D\u0E07\u0E2B\u0E19\u0E49\u0E32\u0E15\u0E48\u0E32\u0E07\u0E44\u0E14\u0E49",
33
33
  popup_dependent:"Dependent (Mozilla/Firefox only)",
@@ -39,7 +39,7 @@ classes:"\u0E04\u0E25\u0E32\u0E2A",
39
39
  target_name:"\u0E0A\u0E37\u0E48\u0E2D\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22",
40
40
  langdir:"\u0E17\u0E34\u0E28\u0E17\u0E32\u0E07\u0E01\u0E32\u0E23\u0E2D\u0E48\u0E32\u0E19",
41
41
  target_langcode:"\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22 \u0E20\u0E32\u0E29\u0E32",
42
- langcode:"\u0E42\u0E04\u0E4A\u0E14\u0E20\u0E32\u0E29\u0E32",
42
+ langcode:"\u0E42\u0E04\u0E49\u0E14\u0E20\u0E32\u0E29\u0E32",
43
43
  encoding:"\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23",
44
44
  mime:"\u0E40\u0E1B\u0E49\u0E32\u0E2B\u0E21\u0E32\u0E22 MIME type",
45
45
  rel:"Relationship page to target",
@@ -1,13 +1,13 @@
1
1
  tinyMCE.addI18n('tr.advlink_dlg',{
2
2
  title:"Ba\u011Flant\u0131 ekle/d\u00FCzenle",
3
- url:"Ba\u011Flant\u0131 URL",
3
+ url:"Ba\u011Flant\u0131 URL'si",
4
4
  target:"Hedef",
5
5
  titlefield:"Ba\u015Fl\u0131k",
6
- is_email:"Girdi\u011Finiz URL bir e-posta adresi gibi g\u00F6z\u00FCk\u00FCyor, gerekli olan mailto: \u00F6nekinin eklenmesini ister misiniz?",
7
- is_external:"Girdi\u011Finiz URL d\u0131\u015F bir ba\u011Flant\u0131 gibi g\u00F6z\u00FCk\u00FCyor, gerekli olan http:// \u00F6nekinin eklenmesini ister misiniz?",
8
- list:"Link list",
9
- general_tab:"General",
10
- popup_tab:"A\u00E7\u0131lma",
6
+ is_email:"Girdi\u011Finiz URL e-posta adresi gibi g\u00F6r\u00FCn\u00FCyor; gerekli olan mailto: \u00F6nekinin eklenmesini ister misiniz? prefix?",
7
+ is_external:"Girdi\u011Fiz URL d\u0131\u015F ba\u011Flant\u0131 gibi g\u00F6r\u00FCn\u00FCyor; gerekli olan http:// \u00F6nekinin eklenmesini ister misiniz?",
8
+ list:"Ba\u011Flant\u0131 listesi",
9
+ general_tab:"Genel",
10
+ popup_tab:"A\u00E7\u0131l\u0131r pencere",
11
11
  events_tab:"Olaylar",
12
12
  advanced_tab:"Geli\u015Fmi\u015F",
13
13
  general_props:"Genel \u00F6zellikler",
@@ -15,35 +15,35 @@ popup_props:"A\u00E7\u0131l\u0131r pencere \u00F6zellikleri",
15
15
  event_props:"Olaylar",
16
16
  advanced_props:"Geli\u015Fmi\u015F \u00F6zellikler",
17
17
  popup_opts:"Se\u00E7enekler",
18
- anchor_names:"\u00C7engel noktalar\u0131",
19
- target_same:"Bu pencere/\u00E7er\u00E7evede a\u00E7",
20
- target_parent:"Ata pencere/\u00E7evrede a\u00E7",
21
- target_top:"\u00DCst \u00E7er\u00E7evede a\u00E7 (t\u00FCm \u00E7er\u00E7eveleri de\u011Fi\u015Ftirir)",
18
+ anchor_names:"Nesne tutucular",
19
+ target_same:"Pencerede / \u00E7er\u00E7evede a\u00E7",
20
+ target_parent:"Ana pencerede / \u00E7er\u00E7evede a\u00E7",
21
+ target_top:"\u00DCst \u00E7er\u00E7evede a\u00E7 (t\u00FCm \u00E7er\u00E7eveleri de\u011Fi\u015Ftir) ",
22
22
  target_blank:"Yeni pencerede a\u00E7",
23
23
  popup:"Javascript a\u00E7\u0131l\u0131r pencere",
24
- popup_url:"A\u00E7\u0131lacak URL",
25
- popup_name:"Pencere ismi",
26
- popup_return:"'return false' ekle",
24
+ popup_url:"A\u00E7\u0131l\u0131r pencere URL'si",
25
+ popup_name:"Pencere ad\u0131",
26
+ popup_return:"Ekle 'return false'",
27
27
  popup_scrollbars:"Kayd\u0131rma \u00E7ubuklar\u0131n\u0131 g\u00F6ster",
28
28
  popup_statusbar:"Durum \u00E7ubu\u011Funu g\u00F6ster",
29
- popup_toolbar:"Ara\u00E7 \u00E7ubuklar\u0131n\u0131 g\u00F6ster",
29
+ popup_toolbar:"Ara\u00E7 kutusunu g\u00F6ster",
30
30
  popup_menubar:"Men\u00FC \u00E7ubu\u011Funu g\u00F6ster",
31
- popup_location:"Konum \u00E7ubu\u011Funu g\u00F6ster",
32
- popup_resizable:"Pencereyi boyutlanabilir yap",
33
- popup_dependent:"Ba\u011F\u0131ml\u0131 (sadece Mozilla/Firefox)",
31
+ popup_location:"Aderes \u00E7ubu\u011Funu g\u00F6ster",
32
+ popup_resizable:"Pencereyi boyutland\u0131r\u0131labilir yap",
33
+ popup_dependent:"Ba\u011F\u0131ml\u0131 (Sadece Mozilla Firefox)",
34
34
  popup_size:"Boyut",
35
35
  popup_position:"Konum (X/Y)",
36
36
  id:"Id",
37
37
  style:"Stil",
38
- classes:"S\u0131n\u0131flar",
39
- target_name:"Hedef ismi",
40
- langdir:"Dil y\u00F6nelimi",
38
+ classes:"S\u0131n\u0131fla",
39
+ target_name:"Hedef ad\u0131",
40
+ langdir:"Dil y\u00F6n\u00FC",
41
41
  target_langcode:"Hedef dil",
42
42
  langcode:"Dil kodu",
43
- encoding:"Hedef karakter kodlamas\u0131",
43
+ encoding:"Hedef karakter kodlama",
44
44
  mime:"Hedef MIME tipi",
45
- rel:"Sayfadan hedefe ili\u015Fki",
46
- rev:"Hedeften sayfaya ili\u015Fki",
45
+ rel:"Hedeften sayfaya ili\u015Fki",
46
+ rev:"Sayfadan hedefe ili\u015Fki",
47
47
  tabindex:"Sekme indeksi",
48
48
  accesskey:"Eri\u015Fim tu\u015Fu",
49
49
  ltr:"Soldan sa\u011Fa",
@@ -3,8 +3,8 @@ title:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438/\u0437\u043C\u0456\u043D
3
3
  url:"\u0410\u0434\u0440\u0435\u0441\u0430",
4
4
  target:"\u0412\u0456\u0434\u043A\u0440\u0438\u0442\u0438 \u0432...",
5
5
  titlefield:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",
6
- is_email:"\u0412\u0432\u0435\u0434\u0435\u043D\u0438\u0439 URL \u0441\u0445\u043E\u0436\u0438\u0439 \u043D\u0430 email \u0430\u0434\u0440\u0435\u0441\u0443, \u0432\u0438 \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0434\u043E\u0434\u0430\u0442\u0438 \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u0438\u0439 \u043F\u0440\u0435\u0444\u0456\u043A\u0441 mailto?",
7
- is_external:"\u0412\u0432\u0435\u0434\u0435\u043D\u0438\u0439 URL \u0441\u0445\u043E\u0436\u0438\u0439 \u043D\u0430 \u0437\u043E\u0432\u043D\u0456\u0448\u043D\u0454 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F, \u0432\u0438 \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0434\u043E\u0434\u0430\u0442\u0438 \u043D\u0435\u043E\u0431\u0445\u0456\u0434\u043D\u0438\u0439 \u043F\u0440\u0435\u0444\u0456\u043A\u0441 http://?",
6
+ is_email:"\u0412\u0432\u0435\u0434\u0435\u043D\u0438\u0439 URL \u0441\u0445\u043E\u0436\u0438\u0439 \u043D\u0430 email \u0430\u0434\u0440\u0435\u0441\u0443, \u0432\u0438 \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0434\u043E\u0434\u0430\u0442\u0438 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0438\u0439 \u043F\u0440\u0435\u0444\u0456\u043A\u0441 mailto?",
7
+ is_external:"\u0412\u0432\u0435\u0434\u0435\u043D\u0438\u0439 URL \u0441\u0445\u043E\u0436\u0438\u0439 \u043D\u0430 \u0437\u043E\u0432\u043D\u0456\u0448\u043D\u0454 \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u043D\u044F, \u0432\u0438 \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0434\u043E\u0434\u0430\u0442\u0438 \u043F\u043E\u0442\u0440\u0456\u0431\u043D\u0438\u0439 \u043F\u0440\u0435\u0444\u0456\u043A\u0441 http://?",
8
8
  list:"\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u044C",
9
9
  general_tab:"\u0417\u0430\u0433\u0430\u043B\u044C\u043D\u0435",
10
10
  popup_tab:"Popup",
@@ -30,22 +30,22 @@ popup_toolbar:"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u04
30
30
  popup_menubar:"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043C\u0435\u043D\u044E",
31
31
  popup_location:"\u041F\u043E\u043A\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043F\u0430\u043D\u0435\u043B\u044C location",
32
32
  popup_resizable:"\u0414\u043E\u0437\u0432\u043E\u043B\u044F\u0442\u0438 \u0437\u043C\u0456\u043D\u044E\u0432\u0430\u0442\u0438 \u0440\u043E\u0437\u043C\u0456\u0440",
33
- popup_dependent:"Dependent (\u043B\u0438\u0448\u0435 \u0434\u043B\u044F Mozilla/Firefox)",
33
+ popup_dependent:"\u0417\u0430\u043B\u0435\u0436\u043D\u0438\u0439 (\u043B\u0438\u0448\u0435 \u0434\u043B\u044F Mozilla/Firefox)",
34
34
  popup_size:"\u0420\u043E\u0437\u043C\u0456\u0440",
35
35
  popup_position:"\u041F\u043E\u0437\u0438\u0446\u0456\u044F (X/Y)",
36
36
  id:"Id",
37
37
  style:"\u0421\u0442\u0438\u043B\u044C",
38
38
  classes:"\u041A\u043B\u0430\u0441\u0438",
39
- target_name:"Target name",
39
+ target_name:"\u041D\u0430\u0437\u0432\u0430 \u0446\u0456\u043B\u0456",
40
40
  langdir:"\u041D\u0430\u043F\u0440\u044F\u043C \u043C\u043E\u0432\u0438",
41
- target_langcode:"Target language",
41
+ target_langcode:"\u041C\u043E\u0432\u0430 \u0446\u0456\u043B\u0456",
42
42
  langcode:"\u041A\u043E\u0434 \u043C\u043E\u0432\u0438",
43
- encoding:"Target character encoding",
44
- mime:"Target MIME type",
45
- rel:"Relationship page to target",
46
- rev:"Relationship target to page",
47
- tabindex:"Tabindex",
48
- accesskey:"Accesskey",
43
+ encoding:"\u041A\u043E\u0434\u0443\u0432\u0430\u043D\u043D\u044F \u0446\u0456\u043B\u0456",
44
+ mime:"MIME \u0442\u0438\u043F \u0446\u0456\u043B\u0456",
45
+ rel:"\u0421\u0442\u043E\u0441\u0443\u043D\u043E\u043A \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0438 \u0434\u043E \u0446\u0456\u043B\u0456",
46
+ rev:"\u0421\u0442\u043E\u0441\u0443\u043D\u043E\u043A \u0446\u0456\u043B\u0456 \u0434\u043E \u0441\u0442\u043E\u0440\u0456\u043D\u043A\u0438",
47
+ tabindex:"\u0422\u0430\u0431\u0456\u043D\u0434\u0435\u043A\u0441",
48
+ accesskey:"\u041A\u043B\u0430\u0432\u0456\u0448\u0430 \u0434\u043E\u0441\u0442\u0443\u043F\u0443",
49
49
  ltr:"\u0417\u043B\u0456\u0432\u0430 \u043F\u0440\u0430\u0432\u043E\u0440\u0443\u0447",
50
50
  rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043B\u0456\u0432\u043E\u0440\u0443\u0447",
51
51
  link_list:"\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u043E\u0441\u0438\u043B\u0430\u043D\u044C"
@@ -1,5 +1,5 @@
1
1
  tinyMCE.addI18n('vi.advlink_dlg',{
2
- title:"Insert/edit link",
2
+ title:"Th\u00EAm/S\u1EEDa Link",
3
3
  url:"Link URL",
4
4
  target:"Target",
5
5
  titlefield:"Title",
@@ -0,0 +1,52 @@
1
+ tinyMCE.addI18n('zu.advlink_dlg',{
2
+ title:"\u63D2\u5165/\u7F16\u8F91\u8FDE\u7ED3",
3
+ url:"\u8FDE\u7ED3\u4F4D\u5740",
4
+ target:"\u76EE\u6807",
5
+ titlefield:"\u67E5\u627E",
6
+ is_email:"\u60A8\u8F93\u5165\u7684\u7F51\u5740\u5E94\u8BE5\u662F\u4E00\u4E2A\u7535\u5B50\u90AE\u5BC4\u5730\u5740\uFF0C\u662F\u5426\u9700\u8981\u5728\u90AE\u5740\u524D\u65B9\u52A0\u5165mailto:\uFF1F",
7
+ is_external:"\u60A8\u8F93\u5165\u7684\u7F51\u5740\u5E94\u8BE5\u662F\u4E00\u4E2A\u5916\u90E8\u8FDE\u7ED3\uFF0C\u662F\u5426\u9700\u8981\u5728\u7F51\u5740\u524D\u65B9\u52A0\u5165http://\uFF1F",
8
+ list:"\u8FDE\u7ED3\u6E05\u5355",
9
+ general_tab:"\u4E00\u822C",
10
+ popup_tab:"\u5FEB\u663E\u89C6\u7A97",
11
+ events_tab:"\u4E8B\u4EF6",
12
+ advanced_tab:"\u9AD8\u7EA7",
13
+ general_props:"\u4E00\u822C\u5C5E\u6027",
14
+ popup_props:"\u5FEB\u663E\u89C6\u7A97\u5C5E\u6027",
15
+ event_props:"\u4E8B\u4EF6",
16
+ advanced_props:"\u9AD8\u7EA7\u5C5E\u6027",
17
+ popup_opts:"\u9009\u9879",
18
+ anchor_names:"\u951A\u70B9",
19
+ target_same:"\u6253\u5F00\u5728\u65B0\u89C6\u7A97/\u6846\u67B6",
20
+ target_parent:"\u6253\u5F00\u5728\u7236\u89C6\u7A97/\u6846\u67B6",
21
+ target_top:"\u6253\u5F00\u5728\u6700\u4E0A\u5C42\u7684\u6846\u67B6(\u66FF\u6362\u6240\u6709\u6846\u67B6)",
22
+ target_blank:"\u6253\u5F00\u5728\u65B0\u89C6\u7A97",
23
+ popup:"Javascript\u5FEB\u663E\u89C6\u7A97",
24
+ popup_url:"\u5FEB\u663E\u89C6\u7A97\u7F51\u5740",
25
+ popup_name:"\u7A97\u53E3\u540D\u79F0",
26
+ popup_return:"\u63D2\u5165'return false'",
27
+ popup_scrollbars:"\u663E\u793A\u8FB9\u6761",
28
+ popup_statusbar:"\u663E\u793A\u72B6\u6001\u680F",
29
+ popup_toolbar:"\u663E\u793A\u5DE5\u5177\u5217",
30
+ popup_menubar:"\u663E\u793A\u529F\u80FD\u8868",
31
+ popup_location:"\u663E\u793A\u7F51\u5740\u5217",
32
+ popup_resizable:"\u53EF\u8C03\u6574\u89C6\u7A97\u5C3A\u5BF8",
33
+ popup_dependent:"\u4ECE\u5C5E(\u53EA\u6709Mozilla/Firefox\u6709\u6548)",
34
+ popup_size:"\u5C3A\u5BF8",
35
+ popup_position:"\u5EA7\u6807(X/Y)",
36
+ id:"Id",
37
+ style:"\u6837\u5F0F",
38
+ classes:"\u7C7B\u578B",
39
+ target_name:"\u76EE\u6807\u540D\u79F0",
40
+ langdir:"\u8BED\u8A00\u4E66\u5199\u65B9\u5411",
41
+ target_langcode:"\u76EE\u7684\u8BED\u8A00",
42
+ langcode:"\u8BED\u8A00\u7F16\u7801",
43
+ encoding:"\u7F16\u7801",
44
+ mime:"\u76EE\u6807MIME\u7C7B\u578B",
45
+ rel:"\u9875\u5230\u76EE\u6807\u7684\u5173\u7CFB",
46
+ rev:"\u76EE\u6807\u5230\u9875\u7684\u5173\u7CFB",
47
+ tabindex:"Tab\u7D22\u5F15",
48
+ accesskey:"\u5FEB\u901F\u952E",
49
+ ltr:"\u7531\u5DE6\u5230\u53F3",
50
+ rtl:"\u7531\u53F3\u5230\u5DE6",
51
+ link_list:"\u8FDE\u7ED3\u6E05\u5355"
52
+ });
@@ -325,13 +325,8 @@
325
325
  </div>
326
326
 
327
327
  <div class="mceActionPanel">
328
- <div style="float: left">
329
- <input type="submit" id="insert" name="insert" value="{#insert}" />
330
- </div>
331
-
332
- <div style="float: right">
333
- <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
334
- </div>
328
+ <input type="submit" id="insert" name="insert" value="{#insert}" />
329
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
335
330
  </div>
336
331
  </form>
337
332
  </body>
@@ -0,0 +1 @@
1
+ (function(){var a=tinymce.each;tinymce.create("tinymce.plugins.AdvListPlugin",{init:function(b,c){var d=this;d.editor=b;function e(g){var f=[];a(g.split(/,/),function(h){f.push({title:"advlist."+(h=="default"?"def":h.replace(/-/g,"_")),styles:{listStyleType:h=="default"?"":h}})});return f}d.numlist=b.getParam("advlist_number_styles")||e("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");d.bullist=b.getParam("advlist_bullet_styles")||e("default,circle,disc,square")},createControl:function(d,b){var f=this,e,h;if(d=="numlist"||d=="bullist"){if(f[d][0].title=="advlist.def"){h=f[d][0]}function c(i,k){var j=true;a(k.styles,function(m,l){if(f.editor.dom.getStyle(i,l)!=m){j=false;return false}});return j}function g(){var k,i=f.editor,l=i.dom,j=i.selection;k=l.getParent(j.getNode(),"ol,ul");if(!k||k.nodeName==(d=="bullist"?"OL":"UL")||c(k,h)){i.execCommand(d=="bullist"?"InsertUnorderedList":"InsertOrderedList")}if(h){k=l.getParent(j.getNode(),"ol,ul");if(k){l.setStyles(k,h.styles);k.removeAttribute("_mce_style")}}}e=b.createSplitButton(d,{title:"advanced."+d+"_desc","class":"mce_"+d,onclick:function(){g()}});e.onRenderMenu.add(function(i,j){j.onShowMenu.add(function(){var m=f.editor.dom,l=m.getParent(f.editor.selection.getNode(),"ol,ul"),k;if(l||h){k=f[d];a(j.items,function(n){var o=true;n.setSelected(0);if(l&&!n.isDisabled()){a(k,function(p){if(p.id==n.id){if(!c(l,p)){o=false;return false}}});if(o){n.setSelected(1)}}});if(!l){j.items[h.id].setSelected(1)}}});j.add({id:f.editor.dom.uniqueId(),title:"advlist.types","class":"mceMenuItemTitle"}).setDisabled(1);a(f[d],function(k){k.id=f.editor.dom.uniqueId();j.add({id:k.id,title:k.title,onclick:function(){h=k;g()}})})});return e}},getInfo:function(){return{longname:"Advanced lists",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("advlist",tinymce.plugins.AdvListPlugin)})();
@@ -0,0 +1,154 @@
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
+
14
+ tinymce.create('tinymce.plugins.AdvListPlugin', {
15
+ init : function(ed, url) {
16
+ var t = this;
17
+
18
+ t.editor = ed;
19
+
20
+ function buildFormats(str) {
21
+ var formats = [];
22
+
23
+ each(str.split(/,/), function(type) {
24
+ formats.push({
25
+ title : 'advlist.' + (type == 'default' ? 'def' : type.replace(/-/g, '_')),
26
+ styles : {
27
+ listStyleType : type == 'default' ? '' : type
28
+ }
29
+ });
30
+ });
31
+
32
+ return formats;
33
+ };
34
+
35
+ // Setup number formats from config or default
36
+ t.numlist = ed.getParam("advlist_number_styles") || buildFormats("default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");
37
+ t.bullist = ed.getParam("advlist_bullet_styles") || buildFormats("default,circle,disc,square");
38
+ },
39
+
40
+ createControl: function(name, cm) {
41
+ var t = this, btn, format;
42
+
43
+ if (name == 'numlist' || name == 'bullist') {
44
+ // Default to first item if it's a default item
45
+ if (t[name][0].title == 'advlist.def')
46
+ format = t[name][0];
47
+
48
+ function hasFormat(node, format) {
49
+ var state = true;
50
+
51
+ each(format.styles, function(value, name) {
52
+ // Format doesn't match
53
+ if (t.editor.dom.getStyle(node, name) != value) {
54
+ state = false;
55
+ return false;
56
+ }
57
+ });
58
+
59
+ return state;
60
+ };
61
+
62
+ function applyListFormat() {
63
+ var list, ed = t.editor, dom = ed.dom, sel = ed.selection;
64
+
65
+ // Check for existing list element
66
+ list = dom.getParent(sel.getNode(), 'ol,ul');
67
+
68
+ // Switch/add list type if needed
69
+ if (!list || list.nodeName == (name == 'bullist' ? 'OL' : 'UL') || hasFormat(list, format))
70
+ ed.execCommand(name == 'bullist' ? 'InsertUnorderedList' : 'InsertOrderedList');
71
+
72
+ // Append styles to new list element
73
+ if (format) {
74
+ list = dom.getParent(sel.getNode(), 'ol,ul');
75
+
76
+ if (list) {
77
+ dom.setStyles(list, format.styles);
78
+ list.removeAttribute('_mce_style');
79
+ }
80
+ }
81
+ };
82
+
83
+ btn = cm.createSplitButton(name, {
84
+ title : 'advanced.' + name + '_desc',
85
+ 'class' : 'mce_' + name,
86
+ onclick : function() {
87
+ applyListFormat();
88
+ }
89
+ });
90
+
91
+ btn.onRenderMenu.add(function(btn, menu) {
92
+ menu.onShowMenu.add(function() {
93
+ var dom = t.editor.dom, list = dom.getParent(t.editor.selection.getNode(), 'ol,ul'), fmtList;
94
+
95
+ if (list || format) {
96
+ fmtList = t[name];
97
+
98
+ // Unselect existing items
99
+ each(menu.items, function(item) {
100
+ var state = true;
101
+
102
+ item.setSelected(0);
103
+
104
+ if (list && !item.isDisabled()) {
105
+ each(fmtList, function(fmt) {
106
+ if (fmt.id == item.id) {
107
+ if (!hasFormat(list, fmt)) {
108
+ state = false;
109
+ return false;
110
+ }
111
+ }
112
+ });
113
+
114
+ if (state)
115
+ item.setSelected(1);
116
+ }
117
+ });
118
+
119
+ // Select the current format
120
+ if (!list)
121
+ menu.items[format.id].setSelected(1);
122
+ }
123
+ });
124
+
125
+ menu.add({id : t.editor.dom.uniqueId(), title : 'advlist.types', 'class' : 'mceMenuItemTitle'}).setDisabled(1);
126
+
127
+ each(t[name], function(item) {
128
+ item.id = t.editor.dom.uniqueId();
129
+
130
+ menu.add({id : item.id, title : item.title, onclick : function() {
131
+ format = item;
132
+ applyListFormat();
133
+ }});
134
+ });
135
+ });
136
+
137
+ return btn;
138
+ }
139
+ },
140
+
141
+ getInfo : function() {
142
+ return {
143
+ longname : 'Advanced lists',
144
+ author : 'Moxiecode Systems AB',
145
+ authorurl : 'http://tinymce.moxiecode.com',
146
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlist',
147
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
148
+ };
149
+ }
150
+ });
151
+
152
+ // Register plugin
153
+ tinymce.PluginManager.add('advlist', tinymce.plugins.AdvListPlugin);
154
+ })();
@@ -1,8 +1,11 @@
1
1
  /**
2
- * $Id: editor_plugin_src.js 539 2008-01-14 19:08:58Z spocke $
2
+ * editor_plugin_src.js
3
3
  *
4
- * @author Moxiecode
5
- * @copyright Copyright 2004-2008, Moxiecode Systems AB, All rights reserved.
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
6
9
  */
7
10
 
8
11
  (function() {
@@ -1 +1 @@
1
- (function(){tinymce.create("tinymce.plugins.AutoSavePlugin",{init:function(a,b){var c=this;c.editor=a;window.onbeforeunload=tinymce.plugins.AutoSavePlugin._beforeUnloadHandler},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:tinymce.majorVersion+"."+tinymce.minorVersion}},"static":{_beforeUnloadHandler:function(){var a;tinymce.each(tinyMCE.editors,function(b){if(b.getParam("fullscreen_is_enabled")){return}if(b.isDirty()){a=b.getLang("autosave.unload_msg");return false}});return a}}});tinymce.PluginManager.add("autosave",tinymce.plugins.AutoSavePlugin)})();
1
+ (function(e){var c="autosave",g="restoredraft",b=true,f,d,a=e.util.Dispatcher;e.create("tinymce.plugins.AutoSave",{init:function(i,j){var h=this,l=i.settings;h.editor=i;function k(n){var m={s:1000,m:60000};n=/^(\d+)([ms]?)$/.exec(""+n);return(n[2]?m[n[2]]:1)*parseInt(n)}e.each({ask_before_unload:b,interval:"30s",retention:"20m",minlength:50},function(n,m){m=c+"_"+m;if(l[m]===f){l[m]=n}});l.autosave_interval=k(l.autosave_interval);l.autosave_retention=k(l.autosave_retention);i.addButton(g,{title:c+".restore_content",onclick:function(){if(i.getContent().replace(/\s|&nbsp;|<\/?p[^>]*>|<br[^>]*>/gi,"").length>0){i.windowManager.confirm(c+".warning_message",function(m){if(m){h.restoreDraft()}})}else{h.restoreDraft()}}});i.onNodeChange.add(function(){var m=i.controlManager;if(m.get(g)){m.setDisabled(g,!h.hasDraft())}});i.onInit.add(function(){if(i.controlManager.get(g)){h.setupStorage(i);setInterval(function(){h.storeDraft();i.nodeChanged()},l.autosave_interval)}});h.onStoreDraft=new a(h);h.onRestoreDraft=new a(h);h.onRemoveDraft=new a(h);if(!d){window.onbeforeunload=e.plugins.AutoSave._beforeUnloadHandler;d=b}},getInfo:function(){return{longname:"Auto save",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/autosave",version:e.majorVersion+"."+e.minorVersion}},getExpDate:function(){return new Date(new Date().getTime()+this.editor.settings.autosave_retention).toUTCString()},setupStorage:function(i){var h=this,k=c+"_test",j="OK";h.key=c+i.id;e.each([function(){if(localStorage){localStorage.setItem(k,j);if(localStorage.getItem(k)===j){localStorage.removeItem(k);return localStorage}}},function(){if(sessionStorage){sessionStorage.setItem(k,j);if(sessionStorage.getItem(k)===j){sessionStorage.removeItem(k);return sessionStorage}}},function(){if(e.isIE){i.getElement().style.behavior="url('#default#userData')";return{autoExpires:b,setItem:function(l,n){var m=i.getElement();m.setAttribute(l,n);m.expires=h.getExpDate();m.save("TinyMCE")},getItem:function(l){var m=i.getElement();m.load("TinyMCE");return m.getAttribute(l)},removeItem:function(l){i.getElement().removeAttribute(l)}}}},],function(l){try{h.storage=l();if(h.storage){return false}}catch(m){}})},storeDraft:function(){var i=this,l=i.storage,j=i.editor,h,k;if(l){if(!l.getItem(i.key)&&!j.isDirty()){return}k=j.getContent();if(k.length>j.settings.autosave_minlength){h=i.getExpDate();if(!i.storage.autoExpires){i.storage.setItem(i.key+"_expires",h)}i.storage.setItem(i.key,k);i.onStoreDraft.dispatch(i,{expires:h,content:k})}}},restoreDraft:function(){var h=this,i=h.storage;if(i){content=i.getItem(h.key);if(content){h.editor.setContent(content);h.onRestoreDraft.dispatch(h,{content:content})}}},hasDraft:function(){var h=this,k=h.storage,i,j;if(k){j=!!k.getItem(h.key);if(j){if(!h.storage.autoExpires){i=new Date(k.getItem(h.key+"_expires"));if(new Date().getTime()<i.getTime()){return b}h.removeDraft()}else{return b}}}return false},removeDraft:function(){var h=this,k=h.storage,i=h.key,j;if(k){j=k.getItem(i);k.removeItem(i);k.removeItem(i+"_expires");if(j){h.onRemoveDraft.dispatch(h,{content:j})}}},"static":{_beforeUnloadHandler:function(h){var i;e.each(tinyMCE.editors,function(j){if(j.plugins.autosave){j.plugins.autosave.storeDraft()}if(j.getParam("fullscreen_is_enabled")){return}if(!i&&j.isDirty()&&j.getParam("autosave_ask_before_unload")){i=j.getLang("autosave.unload_msg")}});return i}}});e.PluginManager.add("autosave",e.plugins.AutoSave)})(tinymce);
@@ -1,20 +1,188 @@
1
1
  /**
2
- * $Id: editor_plugin_src.js 520 2008-01-07 16:30:32Z spocke $
2
+ * editor_plugin_src.js
3
3
  *
4
- * @author Moxiecode
5
- * @copyright Copyright 2004-2008, Moxiecode Systems AB, All rights reserved.
4
+ * Copyright 2009, Moxiecode Systems AB
5
+ * Released under LGPL License.
6
+ *
7
+ * License: http://tinymce.moxiecode.com/license
8
+ * Contributing: http://tinymce.moxiecode.com/contributing
9
+ *
10
+ * Adds auto-save capability to the TinyMCE text editor to rescue content
11
+ * inadvertently lost. This plugin was originally developed by Speednet
12
+ * and that project can be found here: http://code.google.com/p/tinyautosave/
13
+ *
14
+ * TECHNOLOGY DISCUSSION:
15
+ *
16
+ * The plugin attempts to use the most advanced features available in the current browser to save
17
+ * as much content as possible. There are a total of four different methods used to autosave the
18
+ * content. In order of preference, they are:
19
+ *
20
+ * 1. localStorage - A new feature of HTML 5, localStorage can store megabytes of data per domain
21
+ * on the client computer. Data stored in the localStorage area has no expiration date, so we must
22
+ * manage expiring the data ourselves. localStorage is fully supported by IE8, and it is supposed
23
+ * to be working in Firefox 3 and Safari 3.2, but in reality is is flaky in those browsers. As
24
+ * HTML 5 gets wider support, the AutoSave plugin will use it automatically. In Windows Vista/7,
25
+ * localStorage is stored in the following folder:
26
+ * C:\Users\[username]\AppData\Local\Microsoft\Internet Explorer\DOMStore\[tempFolder]
27
+ *
28
+ * 2. sessionStorage - A new feature of HTML 5, sessionStorage works similarly to localStorage,
29
+ * except it is designed to expire after a certain amount of time. Because the specification
30
+ * around expiration date/time is very loosely-described, it is preferrable to use locaStorage and
31
+ * manage the expiration ourselves. sessionStorage has similar storage characteristics to
32
+ * localStorage, although it seems to have better support by Firefox 3 at the moment. (That will
33
+ * certainly change as Firefox continues getting better at HTML 5 adoption.)
34
+ *
35
+ * 3. UserData - A very under-exploited feature of Microsoft Internet Explorer, UserData is a
36
+ * way to store up to 128K of data per "document", or up to 1MB of data per domain, on the client
37
+ * computer. The feature is available for IE 5+, which makes it available for every version of IE
38
+ * supported by TinyMCE. The content is persistent across browser restarts and expires on the
39
+ * date/time specified, just like a cookie. However, the data is not cleared when the user clears
40
+ * cookies on the browser, which makes it well-suited for rescuing autosaved content. UserData,
41
+ * like other Microsoft IE browser technologies, is implemented as a behavior attached to a
42
+ * specific DOM object, so in this case we attach the behavior to the same DOM element that the
43
+ * TinyMCE editor instance is attached to.
6
44
  */
7
45
 
8
- (function() {
9
- tinymce.create('tinymce.plugins.AutoSavePlugin', {
46
+ (function(tinymce) {
47
+ // Setup constants to help the compressor to reduce script size
48
+ var PLUGIN_NAME = 'autosave',
49
+ RESTORE_DRAFT = 'restoredraft',
50
+ TRUE = true,
51
+ undefined,
52
+ unloadHandlerAdded,
53
+ Dispatcher = tinymce.util.Dispatcher;
54
+
55
+ /**
56
+ * This plugin adds auto-save capability to the TinyMCE text editor to rescue content
57
+ * inadvertently lost. By using localStorage.
58
+ *
59
+ * @class tinymce.plugins.AutoSave
60
+ */
61
+ tinymce.create('tinymce.plugins.AutoSave', {
62
+ /**
63
+ * Initializes the plugin, this will be executed after the plugin has been created.
64
+ * This call is done before the editor instance has finished it's initialization so use the onInit event
65
+ * of the editor instance to intercept that event.
66
+ *
67
+ * @method init
68
+ * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
69
+ * @param {string} url Absolute URL to where the plugin is located.
70
+ */
10
71
  init : function(ed, url) {
11
- var t = this;
72
+ var self = this, settings = ed.settings;
73
+
74
+ self.editor = ed;
75
+
76
+ // Parses the specified time string into a milisecond number 10m, 10s etc.
77
+ function parseTime(time) {
78
+ var multipels = {
79
+ s : 1000,
80
+ m : 60000
81
+ };
82
+
83
+ time = /^(\d+)([ms]?)$/.exec('' + time);
84
+
85
+ return (time[2] ? multipels[time[2]] : 1) * parseInt(time);
86
+ };
87
+
88
+ // Default config
89
+ tinymce.each({
90
+ ask_before_unload : TRUE,
91
+ interval : '30s',
92
+ retention : '20m',
93
+ minlength : 50
94
+ }, function(value, key) {
95
+ key = PLUGIN_NAME + '_' + key;
96
+
97
+ if (settings[key] === undefined)
98
+ settings[key] = value;
99
+ });
100
+
101
+ // Parse times
102
+ settings.autosave_interval = parseTime(settings.autosave_interval);
103
+ settings.autosave_retention = parseTime(settings.autosave_retention);
104
+
105
+ // Register restore button
106
+ ed.addButton(RESTORE_DRAFT, {
107
+ title : PLUGIN_NAME + ".restore_content",
108
+ onclick : function() {
109
+ if (ed.getContent().replace(/\s|&nbsp;|<\/?p[^>]*>|<br[^>]*>/gi, "").length > 0) {
110
+ // Show confirm dialog if the editor isn't empty
111
+ ed.windowManager.confirm(
112
+ PLUGIN_NAME + ".warning_message",
113
+ function(ok) {
114
+ if (ok)
115
+ self.restoreDraft();
116
+ }
117
+ );
118
+ } else
119
+ self.restoreDraft();
120
+ }
121
+ });
122
+
123
+ // Enable/disable restoredraft button depending on if there is a draft stored or not
124
+ ed.onNodeChange.add(function() {
125
+ var controlManager = ed.controlManager;
126
+
127
+ if (controlManager.get(RESTORE_DRAFT))
128
+ controlManager.setDisabled(RESTORE_DRAFT, !self.hasDraft());
129
+ });
130
+
131
+ ed.onInit.add(function() {
132
+ // Check if the user added the restore button, then setup auto storage logic
133
+ if (ed.controlManager.get(RESTORE_DRAFT)) {
134
+ // Setup storage engine
135
+ self.setupStorage(ed);
136
+
137
+ // Auto save contents each interval time
138
+ setInterval(function() {
139
+ self.storeDraft();
140
+ ed.nodeChanged();
141
+ }, settings.autosave_interval);
142
+ }
143
+ });
144
+
145
+ /**
146
+ * This event gets fired when a draft is stored to local storage.
147
+ *
148
+ * @event onStoreDraft
149
+ * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event.
150
+ * @param {Object} draft Draft object containing the HTML contents of the editor.
151
+ */
152
+ self.onStoreDraft = new Dispatcher(self);
12
153
 
13
- t.editor = ed;
154
+ /**
155
+ * This event gets fired when a draft is restored from local storage.
156
+ *
157
+ * @event onStoreDraft
158
+ * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event.
159
+ * @param {Object} draft Draft object containing the HTML contents of the editor.
160
+ */
161
+ self.onRestoreDraft = new Dispatcher(self);
14
162
 
15
- window.onbeforeunload = tinymce.plugins.AutoSavePlugin._beforeUnloadHandler;
163
+ /**
164
+ * This event gets fired when a draft removed/expired.
165
+ *
166
+ * @event onRemoveDraft
167
+ * @param {tinymce.plugins.AutoSave} sender Plugin instance sending the event.
168
+ * @param {Object} draft Draft object containing the HTML contents of the editor.
169
+ */
170
+ self.onRemoveDraft = new Dispatcher(self);
171
+
172
+ // Add ask before unload dialog only add one unload handler
173
+ if (!unloadHandlerAdded) {
174
+ window.onbeforeunload = tinymce.plugins.AutoSave._beforeUnloadHandler;
175
+ unloadHandlerAdded = TRUE;
176
+ }
16
177
  },
17
178
 
179
+ /**
180
+ * Returns information about the plugin as a name/value array.
181
+ * The current keys are longname, author, authorurl, infourl and version.
182
+ *
183
+ * @method getInfo
184
+ * @return {Object} Name/value array containing information about the plugin.
185
+ */
18
186
  getInfo : function() {
19
187
  return {
20
188
  longname : 'Auto save',
@@ -25,20 +193,224 @@
25
193
  };
26
194
  },
27
195
 
28
- // Private plugin internal methods
196
+ /**
197
+ * Returns an expiration date UTC string.
198
+ *
199
+ * @method getExpDate
200
+ * @return {String} Expiration date UTC string.
201
+ */
202
+ getExpDate : function() {
203
+ return new Date(
204
+ new Date().getTime() + this.editor.settings.autosave_retention
205
+ ).toUTCString();
206
+ },
207
+
208
+ /**
209
+ * This method will setup the storage engine. If the browser has support for it.
210
+ *
211
+ * @method setupStorage
212
+ */
213
+ setupStorage : function(ed) {
214
+ var self = this, testKey = PLUGIN_NAME + '_test', testVal = "OK";
215
+
216
+ self.key = PLUGIN_NAME + ed.id;
217
+
218
+ // Loop though each storage engine type until we find one that works
219
+ tinymce.each([
220
+ function() {
221
+ // Try HTML5 Local Storage
222
+ if (localStorage) {
223
+ localStorage.setItem(testKey, testVal);
224
+
225
+ if (localStorage.getItem(testKey) === testVal) {
226
+ localStorage.removeItem(testKey);
227
+
228
+ return localStorage;
229
+ }
230
+ }
231
+ },
232
+
233
+ function() {
234
+ // Try HTML5 Session Storage
235
+ if (sessionStorage) {
236
+ sessionStorage.setItem(testKey, testVal);
237
+
238
+ if (sessionStorage.getItem(testKey) === testVal) {
239
+ sessionStorage.removeItem(testKey);
240
+
241
+ return sessionStorage;
242
+ }
243
+ }
244
+ },
245
+
246
+ function() {
247
+ // Try IE userData
248
+ if (tinymce.isIE) {
249
+ ed.getElement().style.behavior = "url('#default#userData')";
250
+
251
+ // Fake localStorage on old IE
252
+ return {
253
+ autoExpires : TRUE,
254
+
255
+ setItem : function(key, value) {
256
+ var userDataElement = ed.getElement();
257
+
258
+ userDataElement.setAttribute(key, value);
259
+ userDataElement.expires = self.getExpDate();
260
+ userDataElement.save("TinyMCE");
261
+ },
262
+
263
+ getItem : function(key) {
264
+ var userDataElement = ed.getElement();
265
+
266
+ userDataElement.load("TinyMCE");
267
+
268
+ return userDataElement.getAttribute(key);
269
+ },
270
+
271
+ removeItem : function(key) {
272
+ ed.getElement().removeAttribute(key);
273
+ }
274
+ };
275
+ }
276
+ },
277
+ ], function(setup) {
278
+ // Try executing each function to find a suitable storage engine
279
+ try {
280
+ self.storage = setup();
281
+
282
+ if (self.storage)
283
+ return false;
284
+ } catch (e) {
285
+ // Ignore
286
+ }
287
+ });
288
+ },
289
+
290
+ /**
291
+ * This method will store the current contents in the the storage engine.
292
+ *
293
+ * @method storeDraft
294
+ */
295
+ storeDraft : function() {
296
+ var self = this, storage = self.storage, editor = self.editor, expires, content;
29
297
 
30
- 'static' : {
31
- _beforeUnloadHandler : function() {
298
+ // Is the contents dirty
299
+ if (storage) {
300
+ // If there is no existing key and the contents hasn't been changed since
301
+ // it's original value then there is no point in saving a draft
302
+ if (!storage.getItem(self.key) && !editor.isDirty())
303
+ return;
304
+
305
+ // Store contents if the contents if longer than the minlength of characters
306
+ content = editor.getContent();
307
+ if (content.length > editor.settings.autosave_minlength) {
308
+ expires = self.getExpDate();
309
+
310
+ // Store expiration date if needed IE userData has auto expire built in
311
+ if (!self.storage.autoExpires)
312
+ self.storage.setItem(self.key + "_expires", expires);
313
+
314
+ self.storage.setItem(self.key, content);
315
+ self.onStoreDraft.dispatch(self, {
316
+ expires : expires,
317
+ content : content
318
+ });
319
+ }
320
+ }
321
+ },
322
+
323
+ /**
324
+ * This method will restore the contents from the storage engine back to the editor.
325
+ *
326
+ * @method restoreDraft
327
+ */
328
+ restoreDraft : function() {
329
+ var self = this, storage = self.storage;
330
+
331
+ if (storage) {
332
+ content = storage.getItem(self.key);
333
+
334
+ if (content) {
335
+ self.editor.setContent(content);
336
+ self.onRestoreDraft.dispatch(self, {
337
+ content : content
338
+ });
339
+ }
340
+ }
341
+ },
342
+
343
+ /**
344
+ * This method will return true/false if there is a local storage draft available.
345
+ *
346
+ * @method hasDraft
347
+ * @return {boolean} true/false state if there is a local draft.
348
+ */
349
+ hasDraft : function() {
350
+ var self = this, storage = self.storage, expDate, exists;
351
+
352
+ if (storage) {
353
+ // Does the item exist at all
354
+ exists = !!storage.getItem(self.key);
355
+ if (exists) {
356
+ // Storage needs autoexpire
357
+ if (!self.storage.autoExpires) {
358
+ expDate = new Date(storage.getItem(self.key + "_expires"));
359
+
360
+ // Contents hasn't expired
361
+ if (new Date().getTime() < expDate.getTime())
362
+ return TRUE;
363
+
364
+ // Remove it if it has
365
+ self.removeDraft();
366
+ } else
367
+ return TRUE;
368
+ }
369
+ }
370
+
371
+ return false;
372
+ },
373
+
374
+ /**
375
+ * Removes the currently stored draft.
376
+ *
377
+ * @method removeDraft
378
+ */
379
+ removeDraft : function() {
380
+ var self = this, storage = self.storage, key = self.key, content;
381
+
382
+ if (storage) {
383
+ // Get current contents and remove the existing draft
384
+ content = storage.getItem(key);
385
+ storage.removeItem(key);
386
+ storage.removeItem(key + "_expires");
387
+
388
+ // Dispatch remove event if we had any contents
389
+ if (content) {
390
+ self.onRemoveDraft.dispatch(self, {
391
+ content : content
392
+ });
393
+ }
394
+ }
395
+ },
396
+
397
+ "static" : {
398
+ // Internal unload handler will be called before the page is unloaded
399
+ _beforeUnloadHandler : function(e) {
32
400
  var msg;
33
401
 
34
402
  tinymce.each(tinyMCE.editors, function(ed) {
403
+ // Store a draft for each editor instance
404
+ if (ed.plugins.autosave)
405
+ ed.plugins.autosave.storeDraft();
406
+
407
+ // Never ask in fullscreen mode
35
408
  if (ed.getParam("fullscreen_is_enabled"))
36
409
  return;
37
410
 
38
- if (ed.isDirty()) {
411
+ // Setup a return message if the editor is dirty
412
+ if (!msg && ed.isDirty() && ed.getParam("autosave_ask_before_unload"))
39
413
  msg = ed.getLang("autosave.unload_msg");
40
- return false;
41
- }
42
414
  });
43
415
 
44
416
  return msg;
@@ -46,6 +418,5 @@
46
418
  }
47
419
  });
48
420
 
49
- // Register plugin
50
- tinymce.PluginManager.add('autosave', tinymce.plugins.AutoSavePlugin);
51
- })();
421
+ tinymce.PluginManager.add('autosave', tinymce.plugins.AutoSave);
422
+ })(tinymce);