TinyMCE Advanced - Version 3.0

Version Description

Download this release

Release Info

Developer azaozz
Plugin Icon 128x128 TinyMCE Advanced
Version 3.0
Comparing to
See all releases

Code changes from version 2.2 to 3.0

Files changed (334) hide show
  1. css/tadv-fixstyle.css +0 -29
  2. css/tadv-mce.css +26 -0
  3. css/tadv-styles.css +80 -49
  4. css/tadv-tinymce.css +0 -73
  5. images/Thumbs.db +0 -0
  6. {mce/searchreplace/images → images}/fade-butt.png +0 -0
  7. images/fontselect.gif +0 -0
  8. images/fontsizeselect.gif +0 -0
  9. images/formatselect.gif +0 -0
  10. images/insertdate.gif +0 -0
  11. images/inserttime.gif +0 -0
  12. images/styleselect.gif +0 -0
  13. images/{toolbars.gif → wp_adv.gif} +0 -0
  14. js/tadv-all.js +0 -1
  15. mce/advhr/css/advhr.css +5 -23
  16. mce/advhr/editor_plugin.js +1 -90
  17. mce/advhr/images/advhr.gif +0 -0
  18. mce/advhr/js/rule.js +34 -0
  19. mce/advhr/jscripts/rule.js +0 -43
  20. mce/advhr/langs/de_de.js +0 -8
  21. mce/advhr/langs/de_dlg.js +5 -0
  22. mce/advhr/langs/en.js +0 -8
  23. mce/advhr/langs/en_dlg.js +5 -0
  24. mce/advhr/langs/es_dlg.js +5 -0
  25. mce/advhr/langs/es_es.js +0 -10
  26. mce/advhr/langs/fr_dlg.js +5 -0
  27. mce/advhr/langs/fr_fr.js +0 -9
  28. mce/advhr/langs/it_dlg.js +5 -0
  29. mce/advhr/langs/it_it.js +0 -14
  30. mce/advhr/langs/ja_dlg.js +5 -0
  31. mce/advhr/langs/langs.php +7 -0
  32. mce/advhr/langs/pt_br.js +0 -16
  33. mce/advhr/langs/pt_dlg.js +5 -0
  34. mce/advhr/langs/ru_dlg.js +5 -0
  35. mce/advhr/langs/ru_ru.js +0 -8
  36. mce/advhr/langs/zh_cn.js +0 -9
  37. mce/advhr/langs/zh_dlg.js +5 -0
  38. mce/advhr/readme.txt +0 -1
  39. mce/advhr/rule.htm +15 -13
  40. mce/advimage/css/advimage.css +13 -66
  41. mce/advimage/editor_plugin.js +1 -148
  42. mce/advimage/image.htm +73 -77
  43. mce/advimage/{images → img}/sample.gif +0 -0
  44. mce/advimage/js/image.js +441 -0
  45. mce/advimage/jscripts/functions.js +0 -534
  46. mce/advimage/langs/de_de.js +0 -27
  47. mce/advimage/langs/de_dlg.js +43 -0
  48. mce/advimage/langs/en.js +0 -27
  49. mce/advimage/langs/en_dlg.js +43 -0
  50. mce/advimage/langs/es_dlg.js +43 -0
  51. mce/advimage/langs/es_es.js +0 -36
  52. mce/advimage/langs/fr_dlg.js +43 -0
  53. mce/advimage/langs/fr_fr.js +0 -28
  54. mce/advimage/langs/it_dlg.js +43 -0
  55. mce/advimage/langs/it_it.js +0 -33
  56. mce/advimage/langs/ja_dlg.js +43 -0
  57. mce/advimage/langs/langs.php +7 -0
  58. mce/advimage/langs/pt_br.js +0 -36
  59. mce/advimage/langs/pt_dlg.js +43 -0
  60. mce/advimage/langs/ru_dlg.js +43 -0
  61. mce/advimage/langs/ru_ru.js +0 -27
  62. mce/advimage/langs/zh_cn.js +0 -28
  63. mce/advimage/langs/zh_dlg.js +43 -0
  64. mce/advimage/readme.txt +0 -1
  65. mce/advlink/css/advlink.css +8 -35
  66. mce/advlink/editor_plugin.js +1 -83
  67. mce/advlink/{jscripts/functions.js → js/advlink.js} +84 -118
  68. mce/advlink/langs/de_de.js +0 -46
  69. mce/advlink/langs/de_dlg.js +52 -0
  70. mce/advlink/langs/en.js +0 -46
  71. mce/advlink/langs/en_dlg.js +52 -0
  72. mce/advlink/langs/es_dlg.js +52 -0
  73. mce/advlink/langs/es_es.js +0 -55
  74. mce/advlink/langs/fr_dlg.js +52 -0
  75. mce/advlink/langs/fr_fr.js +0 -48
  76. mce/advlink/langs/it_dlg.js +52 -0
  77. mce/advlink/langs/it_it.js +0 -52
  78. mce/advlink/langs/ja_dlg.js +52 -0
  79. mce/advlink/langs/langs.php +7 -0
  80. mce/advlink/langs/pt_br.js +0 -54
  81. mce/advlink/langs/pt_dlg.js +52 -0
  82. mce/advlink/langs/ru_dlg.js +52 -0
  83. mce/advlink/langs/ru_ru.js +0 -46
  84. mce/advlink/langs/zh_cn.js +0 -47
  85. mce/advlink/langs/zh_dlg.js +52 -0
  86. mce/advlink/link.htm +58 -57
  87. mce/advlink/readme.txt +0 -1
  88. mce/contextmenu/css/contextmenu.css +0 -74
  89. mce/contextmenu/editor_plugin.js +1 -360
  90. mce/contextmenu/images/spacer.gif +0 -0
  91. mce/contextmenu/readme.txt +0 -1
  92. mce/emotions/editor_plugin.js +33 -64
  93. mce/emotions/emotions.htm +38 -26
  94. mce/emotions/images/emotions.gif +0 -0
  95. mce/emotions/jscripts/functions.js +0 -11
  96. mce/emotions/langs/de_de.js +0 -22
  97. mce/emotions/langs/en.js +0 -24
  98. mce/emotions/langs/es_es.js +0 -31
  99. mce/emotions/langs/fr_fr.js +0 -23
  100. mce/emotions/langs/it_it.js +0 -28
  101. mce/emotions/langs/pt_br.js +0 -30
  102. mce/emotions/langs/ru_ru.js +0 -22
  103. mce/emotions/langs/zh_cn.js +0 -23
  104. mce/emotions/readme.txt +0 -2
  105. mce/fullscreen/css/page.css +0 -21
  106. mce/fullscreen/editor_plugin.js +0 -236
  107. mce/fullscreen/fullscreen.htm +0 -91
  108. mce/fullscreen/images/fullscreen.gif +0 -0
  109. mce/fullscreen/langs/de_de.js +0 -6
  110. mce/fullscreen/langs/en.js +0 -5
  111. mce/fullscreen/langs/es_es.js +0 -8
  112. mce/fullscreen/langs/fr_fr.js +0 -7
  113. mce/fullscreen/langs/it_it.js +0 -11
  114. mce/fullscreen/langs/pt_br.js +0 -14
  115. mce/fullscreen/langs/ru.js +0 -6
  116. mce/fullscreen/langs/zh_cn.js +0 -7
  117. mce/fullscreen/readme.txt +0 -1
  118. mce/iespell/editor_plugin.js +0 -58
  119. mce/iespell/images/iespell.gif +0 -0
  120. mce/iespell/langs/de_de.js +0 -7
  121. mce/iespell/langs/en.js +0 -7
  122. mce/iespell/langs/es_es.js +0 -16
  123. mce/iespell/langs/fr_fr.js +0 -7
  124. mce/iespell/langs/it_it.js +0 -13
  125. mce/iespell/langs/pt_br.js +0 -14
  126. mce/iespell/langs/ru_ru.js +0 -7
  127. mce/iespell/langs/zh_cn.js +0 -7
  128. mce/iespell/readme.txt +0 -1
  129. mce/insertdatetime/editor_plugin.js +1 -0
  130. mce/layer/editor_plugin.js +1 -248
  131. mce/layer/images/absolute.gif +0 -0
  132. mce/layer/images/backward.gif +0 -0
  133. mce/layer/images/forward.gif +0 -0
  134. mce/layer/images/insert_layer.gif +0 -0
  135. mce/layer/images/insertlayer.gif +0 -0
  136. mce/layer/images/movebackward.gif +0 -0
  137. mce/layer/images/moveforward.gif +0 -0
  138. mce/layer/langs/de_de.js +0 -9
  139. mce/layer/langs/en.js +0 -9
  140. mce/layer/langs/es_es.js +0 -15
  141. mce/layer/langs/fr_fr.js +0 -10
  142. mce/layer/langs/it_it.js +0 -15
  143. mce/layer/langs/pt_br.js +0 -16
  144. mce/layer/langs/ru_ru.js +0 -9
  145. mce/layer/langs/zh_cn.js +0 -9
  146. mce/layer/readme.txt +0 -1
  147. mce/media/css/content.css +0 -26
  148. mce/media/css/media.css +0 -68
  149. mce/media/editor_plugin.js +0 -437
  150. mce/media/images/flash.gif +0 -0
  151. mce/media/images/media.gif +0 -0
  152. mce/media/images/quicktime.gif +0 -0
  153. mce/media/images/realmedia.gif +0 -0
  154. mce/media/images/shockwave.gif +0 -0
  155. mce/media/images/windowsmedia.gif +0 -0
  156. mce/media/jscripts/embed.js +0 -73
  157. mce/media/jscripts/media.js +0 -594
  158. mce/media/langs/de_de.js +0 -85
  159. mce/media/langs/en.js +0 -94
  160. mce/media/langs/es_es.js +0 -85
  161. mce/media/langs/fr_fr.js +0 -95
  162. mce/media/langs/it_it.js +0 -100
  163. mce/media/langs/pt_br.js +0 -101
  164. mce/media/langs/ru_ru.js +0 -94
  165. mce/media/langs/zh_cn.js +0 -85
  166. mce/media/media.htm +0 -723
  167. mce/nonbreaking/editor_plugin.js +1 -68
  168. mce/nonbreaking/images/nonbreaking.gif +0 -0
  169. mce/nonbreaking/langs/en.js +0 -5
  170. mce/print/editor_plugin.js +1 -47
  171. mce/print/images/print.gif +0 -0
  172. mce/print/langs/de_de.js +0 -5
  173. mce/print/langs/en.js +0 -5
  174. mce/print/langs/es_es.js +0 -7
  175. mce/print/langs/fr_fr.js +0 -6
  176. mce/print/langs/it_it.js +0 -11
  177. mce/print/langs/pt_br.js +0 -13
  178. mce/print/langs/ru_ru.js +0 -5
  179. mce/print/langs/zh_cn.js +0 -6
  180. mce/print/readme.txt +0 -1
  181. mce/searchreplace/css/searchreplace.css +5 -23
  182. mce/searchreplace/editor_plugin.js +1 -173
  183. mce/searchreplace/images/replace.gif +0 -0
  184. mce/searchreplace/images/replace_all_button_bg.gif +0 -0
  185. mce/searchreplace/images/replace_button_bg.gif +0 -0
  186. mce/searchreplace/images/search.gif +0 -0
  187. mce/searchreplace/js/searchreplace.js +117 -0
  188. mce/searchreplace/jscripts/searchreplace.js +0 -86
  189. mce/searchreplace/langs/de_de.js +0 -22
  190. mce/searchreplace/langs/de_dlg.js +16 -0
  191. mce/searchreplace/langs/en.js +0 -21
  192. mce/searchreplace/langs/en_dlg.js +16 -0
  193. mce/searchreplace/langs/es_dlg.js +16 -0
  194. mce/searchreplace/langs/es_es.js +0 -31
  195. mce/searchreplace/langs/fr_dlg.js +16 -0
  196. mce/searchreplace/langs/fr_fr.js +0 -22
  197. mce/searchreplace/langs/it_dlg.js +16 -0
  198. mce/searchreplace/langs/it_it.js +0 -27
  199. mce/searchreplace/langs/ja_dlg.js +16 -0
  200. mce/searchreplace/langs/langs.php +7 -0
  201. mce/searchreplace/langs/pt_br.js +0 -29
  202. mce/searchreplace/langs/pt_dlg.js +16 -0
  203. mce/searchreplace/langs/ru_dlg.js +16 -0
  204. mce/searchreplace/langs/ru_ru.js +0 -21
  205. mce/searchreplace/langs/zh_cn.js +0 -22
  206. mce/searchreplace/langs/zh_dlg.js +16 -0
  207. mce/searchreplace/readme.txt +0 -1
  208. mce/searchreplace/searchreplace.htm +27 -29
  209. mce/style/css/props.css +13 -69
  210. mce/style/editor_plugin.js +1 -83
  211. mce/style/images/apply_button_bg.gif +0 -0
  212. mce/style/images/fade-butt.png +0 -0
  213. mce/style/images/style_info.gif +0 -0
  214. mce/style/images/styleprops.gif +0 -0
  215. mce/style/{jscripts → js}/props.js +23 -15
  216. mce/style/langs/de_de.js +0 -66
  217. mce/style/langs/de_dlg.js +63 -0
  218. mce/style/langs/en.js +0 -66
  219. mce/style/langs/en_dlg.js +63 -0
  220. mce/style/langs/es_dlg.js +63 -0
  221. mce/style/langs/es_es.js +0 -66
  222. mce/style/langs/fr_dlg.js +63 -0
  223. mce/style/langs/fr_fr.js +0 -67
  224. mce/style/langs/it_dlg.js +63 -0
  225. mce/style/langs/it_it.js +0 -72
  226. mce/style/langs/ja_dlg.js +63 -0
  227. mce/style/langs/langs.php +7 -0
  228. mce/style/langs/pt_br.js +0 -73
  229. mce/style/langs/pt_dlg.js +63 -0
  230. mce/style/langs/ru_dlg.js +63 -0
  231. mce/style/langs/ru_ru.js +0 -66
  232. mce/style/langs/zh_cn.js +0 -66
  233. mce/style/langs/zh_dlg.js +63 -0
  234. mce/style/props.htm +125 -123
  235. mce/style/readme.txt +0 -1
  236. mce/table/cell.htm +52 -50
  237. mce/table/css/table.css +1 -1
  238. mce/table/editor_plugin.js +1 -1073
  239. mce/table/images/buttons.gif +0 -0
  240. mce/table/images/table.gif +0 -0
  241. mce/table/images/table_cell_props.gif +0 -0
  242. mce/table/images/table_delete.gif +0 -0
  243. mce/table/images/table_delete_col.gif +0 -0
  244. mce/table/images/table_delete_row.gif +0 -0
  245. mce/table/images/table_insert_col_after.gif +0 -0
  246. mce/table/images/table_insert_col_before.gif +0 -0
  247. mce/table/images/table_insert_row_after.gif +0 -0
  248. mce/table/images/table_insert_row_before.gif +0 -0
  249. mce/table/images/table_merge_cells.gif +0 -0
  250. mce/table/images/table_row_props.gif +0 -0
  251. mce/table/images/table_split_cells.gif +0 -0
  252. mce/table/{jscripts → js}/cell.js +52 -42
  253. mce/table/js/merge_cells.js +29 -0
  254. mce/table/{jscripts → js}/row.js +50 -38
  255. mce/table/{jscripts → js}/table.js +132 -86
  256. mce/table/jscripts/merge_cells.js +0 -24
  257. mce/table/langs/de_de.js +0 -79
  258. mce/table/langs/de_dlg.js +74 -0
  259. mce/table/langs/en.js +0 -79
  260. mce/table/langs/en_dlg.js +74 -0
  261. mce/table/langs/es_dlg.js +74 -0
  262. mce/table/langs/es_es.js +0 -85
  263. mce/table/langs/fr_dlg.js +74 -0
  264. mce/table/langs/fr_fr.js +0 -81
  265. mce/table/langs/it_dlg.js +74 -0
  266. mce/table/langs/it_it.js +0 -86
  267. mce/table/langs/ja_dlg.js +74 -0
  268. mce/table/langs/langs.php +7 -0
  269. mce/table/langs/pt_br.js +0 -88
  270. mce/table/langs/pt_dlg.js +74 -0
  271. mce/table/langs/ru_dlg.js +74 -0
  272. mce/table/langs/ru_ru.js +0 -79
  273. mce/table/langs/zh_cn.js +0 -76
  274. mce/table/langs/zh_dlg.js +74 -0
  275. mce/table/merge_cells.htm +14 -14
  276. mce/table/readme.txt +0 -1
  277. mce/table/row.htm +46 -44
  278. mce/table/table.htm +83 -50
  279. mce/visualchars/editor_plugin.js +1 -95
  280. mce/visualchars/images/visualchars.gif +0 -0
  281. mce/visualchars/langs/en.js +0 -5
  282. mce/xhtmlxtras/abbr.htm +27 -27
  283. mce/xhtmlxtras/acronym.htm +27 -26
  284. mce/xhtmlxtras/attributes.htm +27 -26
  285. mce/xhtmlxtras/cite.htm +27 -26
  286. mce/xhtmlxtras/css/popup.css +9 -46
  287. mce/xhtmlxtras/del.htm +31 -30
  288. mce/xhtmlxtras/editor_plugin.js +1 -199
  289. mce/xhtmlxtras/images/abbr.gif +0 -0
  290. mce/xhtmlxtras/images/acronym.gif +0 -0
  291. mce/xhtmlxtras/images/attribs.gif +0 -0
  292. mce/xhtmlxtras/images/cite.gif +0 -0
  293. mce/xhtmlxtras/images/date_time.gif +0 -0
  294. mce/xhtmlxtras/images/del.gif +0 -0
  295. mce/xhtmlxtras/images/ins.gif +0 -0
  296. mce/xhtmlxtras/images/remove_button_bg.gif +0 -0
  297. mce/xhtmlxtras/ins.htm +31 -30
  298. mce/xhtmlxtras/{jscripts → js}/abbr.js +5 -9
  299. mce/xhtmlxtras/{jscripts → js}/acronym.js +4 -8
  300. mce/xhtmlxtras/js/attributes.js +123 -0
  301. mce/xhtmlxtras/{jscripts → js}/cite.js +4 -8
  302. mce/xhtmlxtras/{jscripts → js}/del.js +10 -14
  303. mce/xhtmlxtras/{jscripts → js}/element_common.js +34 -54
  304. mce/xhtmlxtras/{jscripts → js}/ins.js +10 -14
  305. mce/xhtmlxtras/jscripts/attributes.js +0 -130
  306. mce/xhtmlxtras/langs/de_de.js +0 -42
  307. mce/xhtmlxtras/langs/de_dlg.js +32 -0
  308. mce/xhtmlxtras/langs/en.js +0 -42
  309. mce/xhtmlxtras/langs/en_dlg.js +32 -0
  310. mce/xhtmlxtras/langs/es_dlg.js +32 -0
  311. mce/xhtmlxtras/langs/es_es.js +0 -42
  312. mce/xhtmlxtras/langs/fr_dlg.js +32 -0
  313. mce/xhtmlxtras/langs/fr_fr.js +0 -43
  314. mce/xhtmlxtras/langs/it_dlg.js +32 -0
  315. mce/xhtmlxtras/langs/it_it.js +0 -43
  316. mce/xhtmlxtras/langs/ja_dlg.js +32 -0
  317. mce/xhtmlxtras/langs/langs.php +7 -0
  318. mce/xhtmlxtras/langs/pt_br.js +0 -49
  319. mce/xhtmlxtras/langs/pt_dlg.js +32 -0
  320. mce/xhtmlxtras/langs/ru_dlg.js +32 -0
  321. mce/xhtmlxtras/langs/ru_ru.js +0 -42
  322. mce/xhtmlxtras/langs/zh_cn.js +0 -33
  323. mce/xhtmlxtras/langs/zh_dlg.js +32 -0
  324. readme.txt +18 -57
  325. screenshot-1.jpg +0 -0
  326. screenshot-1.png +0 -0
  327. tadv_admin.php +442 -0
  328. tiny_mce_popup.js +274 -0
  329. tinymce-advanced.php +201 -623
  330. utils/editable_selects.js +61 -0
  331. utils/form_utils.js +199 -0
  332. utils/mclayer.js +210 -0
  333. utils/mctabs.js +74 -0
  334. utils/validate.js +219 -0
css/tadv-fixstyle.css DELETED
@@ -1,29 +0,0 @@
1
- /* fix TinyMCE iframe css */
2
- body#mceSpanFonts {
3
- background: #fff;
4
- color: #000;
5
- font-size: 12px;
6
- font-style: normal;
7
- font-weight: normal;
8
- font-family: Verdana, Arial, Helvetica, sans-serif;
9
- line-height: 18px;
10
- }
11
- #mceSpanFonts td {
12
- font-size: 11px;
13
- line-height: 16px;
14
- }
15
- ul, ol {
16
- margin : 10px 0 10px 20px;
17
- }
18
- ul li {
19
- list-style : disc;
20
- }
21
- ol li {
22
- list-style : decimal;
23
- }
24
- ul li, ol li {
25
- margin : 0.5em 0;
26
- }
27
- #mceSpanFonts p {
28
- text-align: none !important;
29
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
css/tadv-mce.css ADDED
@@ -0,0 +1,26 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /* You can add css class names below */
2
+ .shutter {}
3
+ .shutterset {}
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+ /* styles for the TinyMCE editor */
19
+ body#tinymce {
20
+ text-align: left;
21
+ background: #fff;
22
+ color: #000;
23
+ font: 13px/19px "Lucida Grande","Lucida Sans Unicode",Tahoma,Verdana,sans-serif;
24
+ padding: 0.6em;
25
+ margin: 0;
26
+ }
css/tadv-styles.css CHANGED
@@ -19,15 +19,18 @@ line-height: 28px;
19
  * html label.tadv-box {
20
  padding: 0 3px 1px 8px;
21
  }
22
- #tadvWpadv {
 
 
 
 
 
 
23
  position: relative;
24
  top: 0px;
25
  left: 0px;
26
  z-index: 0;
27
- opacity: 0.999999;
28
- }
29
- #tadvadmin p {
30
- margin: 6px 0;
31
  }
32
  #tadvadmin, #tadvzones, #tadvpalette {
33
  -moz-user-select: none;
@@ -40,19 +43,20 @@ list-style-type: none;
40
  #tadvadmin p.submit {
41
  padding-right: 10px;
42
  }
43
- #reset {
44
- float: left;
45
- width: 15em;
46
- margin-right: 20px;
 
47
  }
48
  #tadvzones {
49
- margin-right: 200px;
50
  }
51
  .tadvdropzone {
52
  float: left;
53
  width: 99.99%;
54
  padding: 0;
55
- height: 26px;
56
  margin: 8px 0;
57
  z-index: -1;
58
  }
@@ -60,34 +64,37 @@ z-index: -1;
60
  display: none;
61
  }
62
  .tadvdropzone .tadvmodule .tadvitem {
63
- margin: 0;
64
- padding: 0;
65
- border: none;
 
 
 
 
66
  }
67
  .tadvdropzone ul {
68
- height: 24px;
69
- border: 1px solid #bbb;
70
- background-color: #f0f0ee;
71
  width: 99.99%;
72
  float: left;
73
  margin: 0;
74
- padding: 0;
75
  }
76
  #tadvadmin .tadvmodule {
77
  cursor: crosshair;
78
  position: relative;
79
  }
80
- .tadvdropzone .tadvmodule, #tadvWpadv {
81
- width: 23px;
82
- height: 22px;
83
- margin: 1px 0 0;
84
  padding: 0;
85
  float: left;
86
  }
87
  #tadvadmin img {
88
  border: 0;
89
- vertical-align: -5px;
90
- margin: 1px 0 0 1px;
91
  }
92
  #tadvpalette li, .tadvdropzone li {
93
  float: left;
@@ -118,14 +125,14 @@ margin-left: 2px;
118
  * html #tadvpalette .tadvmodule img {
119
  vertical-align: middle;
120
  }
121
- #pre_styleselect.tadvmodule .tadvitem {
122
- width: 248px;
123
- }
124
- #pre_fontsizeselect.tadvmodule .tadvitem {
125
- width: 185px;
126
  }
 
 
 
127
  #pre_fontselect.tadvmodule .tadvitem {
128
- width: 185px;
129
  }
130
  #pre_tablecontrols.tadvmodule .tadvitem {
131
  width: 335px;
@@ -133,46 +140,63 @@ width: 335px;
133
  #pre_vipersvideoquicktags.tadvmodule .tadvitem {
134
  width: 305px;
135
  }
136
- .tadvdropzone #pre_formatselect, .tadvdropzone #pre_formatselect .tadvitem {
137
- width: 80px;
 
 
 
 
 
 
 
 
 
138
  }
139
- .tadvdropzone #pre_styleselect, .tadvdropzone #pre_styleselect .tadvitem {
140
- width: 173px;
141
  }
142
- .tadvdropzone #pre_fontsizeselect, .tadvdropzone #pre_fontsizeselect .tadvitem {
143
- width: 105px;
144
  }
145
- .tadvdropzone #pre_fontselect, .tadvdropzone #pre_fontselect .tadvitem {
146
- width: 105px;
147
  }
148
- .tadvdropzone #pre_tablecontrols, .tadvdropzone #pre_tablecontrols .tadvitem {
149
- width: 287px;
150
  }
151
- .tadvdropzone #pre_layer, .tadvdropzone #pre_layer .tadvitem {
152
- width: 90px;
153
  }
154
- .tadvdropzone #pre_vipersvideoquicktags, .tadvdropzone #pre_vipersvideoquicktags .tadvitem {
155
- width: 208px;
156
  }
157
  #tadvpalette .separator, .tadvdropzone .separator {
158
  float: left;
159
- position: relative;
160
  cursor: crosshair;
161
  }
162
  .separator .tadvitem {
 
163
  display: block;
164
- width: 11px;
165
- height: 22px;
 
166
  }
167
  #tadvpalette .separator .tadvitem {
 
 
 
 
168
  margin: 4px;
169
- border: 1px solid #bbb;
170
  }
171
  * html #tadvpalette .separator .tadvitem img {
172
  margin: 1px 0 -2px 1px;
173
  }
174
  .tadvdropzone .separator {
175
- margin: 1px 0 0;
 
 
 
176
  }
177
  #tadvWarnmsg {
178
  color: #ff0000;
@@ -180,3 +204,10 @@ font-weight: bold;
180
  height: 26px;
181
  line-height: 26px;
182
  }
 
 
 
 
 
 
 
19
  * html label.tadv-box {
20
  padding: 0 3px 1px 8px;
21
  }
22
+ form#tadvadmin {
23
+ margin-left: 20px;
24
+ }
25
+ #tadvadmin p {
26
+ margin: 6px 0;
27
+ }
28
+ .separator, .tadvmodule {
29
  position: relative;
30
  top: 0px;
31
  left: 0px;
32
  z-index: 0;
33
+ opacity: 0.999999;
 
 
 
34
  }
35
  #tadvadmin, #tadvzones, #tadvpalette {
36
  -moz-user-select: none;
43
  #tadvadmin p.submit {
44
  padding-right: 10px;
45
  }
46
+ #tadvadmin #save {
47
+ float: right;
48
+ }
49
+ .tadv_btn {
50
+ margin-left: 20px;
51
  }
52
  #tadvzones {
53
+ margin-right: 240px;
54
  }
55
  .tadvdropzone {
56
  float: left;
57
  width: 99.99%;
58
  padding: 0;
59
+ height: 40px;
60
  margin: 8px 0;
61
  z-index: -1;
62
  }
64
  display: none;
65
  }
66
  .tadvdropzone .tadvmodule .tadvitem {
67
+ background: url(../images/fade-butt.png) repeat scroll;
68
+ border:1px solid #999999;
69
+ display:block;
70
+ height:20px;
71
+ margin:1px;
72
+ padding:1px 2px;
73
+ width:20px;
74
  }
75
  .tadvdropzone ul {
76
+ height: 30px;
77
+ background-color: #83B4D5;
 
78
  width: 99.99%;
79
  float: left;
80
  margin: 0;
81
+ padding: 2px 4px;
82
  }
83
  #tadvadmin .tadvmodule {
84
  cursor: crosshair;
85
  position: relative;
86
  }
87
+ .tadvdropzone .tadvmodule {
88
+ width: 29px;
89
+ height: 27px;
90
+ margin: 2px 0 0;
91
  padding: 0;
92
  float: left;
93
  }
94
  #tadvadmin img {
95
  border: 0;
96
+ vertical-align: -6px;
97
+ margin: 0;
98
  }
99
  #tadvpalette li, .tadvdropzone li {
100
  float: left;
125
  * html #tadvpalette .tadvmodule img {
126
  vertical-align: middle;
127
  }
128
+ #tadvpalette .tadvitem img {
129
+ padding: 1px 0 0 2px;
 
 
 
130
  }
131
+ #pre_formatselect.tadvmodule .tadvitem,
132
+ #pre_styleselect.tadvmodule .tadvitem,
133
+ #pre_fontsizeselect.tadvmodule .tadvitem,
134
  #pre_fontselect.tadvmodule .tadvitem {
135
+ width: 98px;
136
  }
137
  #pre_tablecontrols.tadvmodule .tadvitem {
138
  width: 335px;
140
  #pre_vipersvideoquicktags.tadvmodule .tadvitem {
141
  width: 305px;
142
  }
143
+ .tadvdropzone #pre_formatselect,
144
+ .tadvdropzone #pre_styleselect,
145
+ .tadvdropzone #pre_fontsizeselect,
146
+ .tadvdropzone #pre_fontselect {
147
+ width: 101px;
148
+ }
149
+ .tadvdropzone #pre_formatselect .tadvitem,
150
+ .tadvdropzone #pre_styleselect .tadvitem,
151
+ .tadvdropzone #pre_fontsizeselect .tadvitem,
152
+ .tadvdropzone #pre_fontselect .tadvitem {
153
+ width: 92px;
154
  }
155
+ .tadvdropzone #pre_tablecontrols {
156
+ width: 294px;
157
  }
158
+ .tadvdropzone #pre_tablecontrols .tadvitem {
159
+ width: 285px;
160
  }
161
+ .tadvdropzone #pre_layer {
162
+ width: 97px;
163
  }
164
+ .tadvdropzone #pre_layer .tadvitem {
165
+ width: 88px;
166
  }
167
+ .tadvdropzone #pre_vipersvideoquicktags{
168
+ width: 215px;
169
  }
170
+ .tadvdropzone #pre_vipersvideoquicktags .tadvitem {
171
+ width: 206px;
172
  }
173
  #tadvpalette .separator, .tadvdropzone .separator {
174
  float: left;
 
175
  cursor: crosshair;
176
  }
177
  .separator .tadvitem {
178
+ background: #333333 none repeat scroll 0%;
179
  display: block;
180
+ height: 26px;
181
+ margin: 0 2px;
182
+ width: 1px;
183
  }
184
  #tadvpalette .separator .tadvitem {
185
+ background: #83B4D5 none repeat scroll 0% 50%;
186
+ border: 1px solid #AAAAAA;
187
+ display: block;
188
+ height: 20px;
189
  margin: 4px;
190
+ padding: 1px 3px;
191
  }
192
  * html #tadvpalette .separator .tadvitem img {
193
  margin: 1px 0 -2px 1px;
194
  }
195
  .tadvdropzone .separator {
196
+ background: transparent;
197
+ display: block;
198
+ height: 28px;
199
+ margin: 2px 1px 0pt 0pt;
200
  }
201
  #tadvWarnmsg {
202
  color: #ff0000;
204
  height: 26px;
205
  line-height: 26px;
206
  }
207
+ #tadv_uninst_div {
208
+ display: none;
209
+ background: #FFFFE0;
210
+ border: 1px solid #E6DB55;
211
+ padding: 8px;
212
+ margin-left: 20px;
213
+ }
css/tadv-tinymce.css DELETED
@@ -1,73 +0,0 @@
1
- /* You can add css class names below */
2
- .shutter {}
3
- .shutterset {}
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
- /* styles for the TinyMCE editor */
19
- body#mceSpanFonts {
20
- text-align: left;
21
- padding: .5em;
22
- }
23
-
24
- .mce_plugin_wordpress_more {
25
- border: 0px;
26
- border-top: 1px dotted #cccccc;
27
- display:block;
28
- background-color: #ffffff;
29
- margin-top:15px;
30
- background-image: url(../images/more_bug.gif);
31
- background-repeat: no-repeat;
32
- background-position: right top;
33
- }
34
-
35
- .mce_plugin_wordpress_page {
36
- border: 0px;
37
- border-top: 1px dotted #cccccc;
38
- display:block;
39
- background-color: #ffffff;
40
- margin-top:15px;
41
- background-image: url(../images/page_bug.gif);
42
- background-repeat: no-repeat;
43
- background-position: right top;
44
- }
45
- pre {
46
- font-family: "Courier New", fixed;
47
- font-size: 11px;
48
- line-height: 13px;
49
- }
50
-
51
- .mceVisualAid {
52
- border: 1px dashed #BBBBBB !important;
53
- }
54
-
55
- .mceItemAnchor {
56
- width: 12px;
57
- line-height: 6px;
58
- overflow: hidden;
59
- padding-left: 12px;
60
- background-position: bottom;
61
- background-repeat: no-repeat;
62
- }
63
-
64
- * html body {
65
- scrollbar-3dlight-color: #F0F0EE;
66
- scrollbar-arrow-color: #676662;
67
- scrollbar-base-color: #F0F0EE;
68
- scrollbar-darkshadow-color: #DDDDDD;
69
- scrollbar-face-color: #E0E0DD;
70
- scrollbar-highlight-color: #F0F0EE;
71
- scrollbar-shadow-color: #F0F0EE;
72
- scrollbar-track-color: #F5F5F5;
73
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
images/Thumbs.db ADDED
Binary file
{mce/searchreplace/images → images}/fade-butt.png RENAMED
File without changes
images/fontselect.gif CHANGED
Binary file
images/fontsizeselect.gif CHANGED
Binary file
images/formatselect.gif CHANGED
Binary file
images/insertdate.gif ADDED
Binary file
images/inserttime.gif ADDED
Binary file
images/styleselect.gif CHANGED
Binary file
images/{toolbars.gif → wp_adv.gif} RENAMED
File without changes
js/tadv-all.js CHANGED
@@ -2,4 +2,3 @@ var Prototype={Version:'1.5.0',BrowserFeatures:{XPath:!!document.evaluate},Scrip
2
  String.prototype.parseColor=function(){var a='#';if(this.slice(0,4)=='rgb('){var b=this.slice(4,this.length-1).split(',');var i=0;do{a+=parseInt(b[i]).toColorPart()}while(++i<3)}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)a+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)a=this.toLowerCase()}};return(a.length==7?a:(arguments[0]||this))};Element.collectTextNodes=function(b){return $A($(b).childNodes).collect(function(a){return(a.nodeType==3?a.nodeValue:(a.hasChildNodes()?Element.collectTextNodes(a):''))}).flatten().join('')};Element.collectTextNodesIgnoreClass=function(b,c){return $A($(b).childNodes).collect(function(a){return(a.nodeType==3?a.nodeValue:((a.hasChildNodes()&&!Element.hasClassName(a,c))?Element.collectTextNodesIgnoreClass(a,c):''))}).flatten().join('')};Element.setContentZoom=function(a,b){a=$(a);a.setStyle({fontSize:(b/100)+'em'});if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);return a};Element.getOpacity=function(a){return $(a).getStyle('opacity')};Element.setOpacity=function(a,b){return $(a).setStyle({opacity:b})};Element.getInlineOpacity=function(a){return $(a).style.opacity||''};Element.forceRerendering=function(a){try{a=$(a);var n=document.createTextNode(' ');a.appendChild(n);a.removeChild(n)}catch(e){}};Array.prototype.call=function(){var a=arguments;this.each(function(f){f.apply(this,a)})};var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},tagifyText:function(c){if(typeof Builder=='undefined')throw("Effect.tagifyText requires including script.aculo.us' builder.js library");var d='position:relative';if(/MSIE/.test(navigator.userAgent)&&!window.opera)d+=';zoom:1';c=$(c);$A(c.childNodes).each(function(b){if(b.nodeType==3){b.nodeValue.toArray().each(function(a){c.insertBefore(Builder.node('span',{style:d},a==' '?String.fromCharCode(160):a),b)});Element.remove(b)}})},multiple:function(c,d){var e;if(((typeof c=='object')||(typeof c=='function'))&&(c.length))e=c;else e=$(c).childNodes;var f=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var g=f.delay;$A(e).each(function(a,b){new d(a,Object.extend(f,{delay:b*f.speed+g}))})},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(a,b){a=$(a);b=(b||'appear').toLowerCase();var c=Object.extend({queue:{position:'end',scope:(a.id||'global'),limit:1}},arguments[2]||{});Effect[a.visible()?Effect.PAIRS[b][1]:Effect.PAIRS[b][0]](a,c)}};var Effect2=Effect;Effect.Transitions={linear:Prototype.K,sinoidal:function(a){return(-Math.cos(a*Math.PI)/2)+0.5},reverse:function(a){return 1-a},flicker:function(a){return((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4},wobble:function(a){return(-Math.cos(a*Math.PI*(9*a))/2)+0.5},pulse:function(a,b){b=b||5;return(Math.round((a%(1/b))*b)==0?((a*b*2)-Math.floor(a*b*2)):1-((a*b*2)-Math.floor(a*b*2)))},none:function(a){return 0},full:function(a){return 1}};Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(a){var b=new Date().getTime();var c=(typeof a.options.queue=='string')?a.options.queue:a.options.queue.position;switch(c){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=a.finishOn;e.finishOn+=a.finishOn});break;case'with-last':b=this.effects.pluck('startOn').max()||b;break;case'end':b=this.effects.pluck('finishOn').max()||b;break}a.startOn+=b;a.finishOn+=b;if(!a.options.queue.limit||(this.effects.length<a.options.queue.limit))this.effects.push(a);if(!this.interval)this.interval=setInterval(this.loop.bind(this),15)},remove:function(a){this.effects=this.effects.reject(function(e){return e==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var a=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)if(this.effects[i])this.effects[i].loop(a)}});Effect.Queues={instances:$H(),get:function(a){if(typeof a!='string')return a;if(!this.instances[a])this.instances[a]=new Effect.ScopedQueue();return this.instances[a]}};Effect.Queue=Effect.Queues.get('global');Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1.0,fps:60.0,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'};Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(a){this.options=Object.extend(Object.extend({},Effect.DefaultOptions),a||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.event('beforeStart');if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).add(this)},loop:function(a){if(a>=this.startOn){if(a>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return}var b=(a-this.startOn)/(this.finishOn-this.startOn);var c=Math.round(b*this.options.fps*this.options.duration);if(c>this.currentFrame){this.render(b);this.currentFrame=c}}},render:function(a){if(this.state=='idle'){this.state='running';this.event('beforeSetup');if(this.setup)this.setup();this.event('afterSetup')}if(this.state=='running'){if(this.options.transition)a=this.options.transition(a);a*=(this.options.to-this.options.from);a+=this.options.from;this.position=a;this.event('beforeUpdate');if(this.update)this.update(a);this.event('afterUpdate')}},cancel:function(){if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).remove(this);this.state='finished'},event:function(a){if(this.options[a+'Internal'])this.options[a+'Internal'](this);if(this.options[a])this.options[a](this)},inspect:function(){var a=$H();for(property in this)if(typeof this[property]!='function')a[property]=this[property];return'#<Effect:'+a.inspect()+',options:'+$H(this.options).inspect()+'>'}};Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke('render',a)},finish:function(b){this.effects.each(function(a){a.render(1.0);a.cancel();a.event('beforeFinish');if(a.finish)a.finish(b);a.event('afterFinish')})}});Effect.Event=Class.create();Object.extend(Object.extend(Effect.Event.prototype,Effect.Base.prototype),{initialize:function(){var a=Object.extend({duration:0},arguments[0]||{});this.start(a)},update:Prototype.emptyFunction});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1});var b=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(b)},update:function(a){this.element.setOpacity(a)}});Effect.Move=Class.create();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var b=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(b)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(a){this.element.setStyle({left:Math.round(this.options.x*a+this.originalLeft)+'px',top:Math.round(this.options.y*a+this.originalTop)+'px'})}});Effect.MoveBy=function(a,b,c){return new Effect.Move(a,Object.extend({x:c,y:b},arguments[3]||{}))};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(a,b){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var c=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:b},arguments[2]||{});this.start(c)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var b=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(a){if(b.indexOf(a)>0){this.fontSize=parseFloat(b);this.fontSizeType=a}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]},update:function(a){var b=(this.options.scaleFrom/100.0)+(this.factor*a);if(this.options.scaleContent&&this.fontSize)this.element.setStyle({fontSize:this.fontSize*b+this.fontSizeType});this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle)},setDimensions:function(a,b){var d={};if(this.options.scaleX)d.width=Math.round(b)+'px';if(this.options.scaleY)d.height=Math.round(a)+'px';if(this.options.scaleFromCenter){var c=(a-this.dims[0])/2;var e=(b-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-c+'px';if(this.options.scaleX)d.left=this.originalLeft-e+'px'}else{if(this.options.scaleY)d.top=-c+'px';if(this.options.scaleX)d.left=-e+'px'}}this.element.setStyle(d)}});Effect.Highlight=Class.create();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var b=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(b)},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle('background-image');this.element.setStyle({backgroundImage:'none'})}if(!this.options.endcolor)this.options.endcolor=this.element.getStyle('background-color').parseColor('#ffffff');if(!this.options.restorecolor)this.options.restorecolor=this.element.getStyle('background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this))},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+(Math.round(this._base[i]+(this._delta[i]*a)).toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);this.start(arguments[1]||{})},setup:function(){Position.prepare();var a=Position.cumulativeOffset(this.element);if(this.options.offset)a[1]+=this.options.offset;var b=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(a[1]>b?b:a[1])-this.scrollStart},update:function(a){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(a*this.delta))}});Effect.Fade=function(b){b=$(b);var c=b.getInlineOpacity();var d=Object.extend({from:b.getOpacity()||1.0,to:0.0,afterFinishInternal:function(a){if(a.options.to!=0)return;a.element.hide().setStyle({opacity:c})}},arguments[1]||{});return new Effect.Opacity(b,d)};Effect.Appear=function(b){b=$(b);var c=Object.extend({from:(b.getStyle('display')=='none'?0.0:b.getOpacity()||0.0),to:1.0,afterFinishInternal:function(a){a.element.forceRerendering()},beforeSetup:function(a){a.element.setOpacity(a.options.from).show()}},arguments[1]||{});return new Effect.Opacity(b,c)};Effect.Puff=function(b){b=$(b);var c={opacity:b.getInlineOpacity(),position:b.getStyle('position'),top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};return new Effect.Parallel([new Effect.Scale(b,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(b,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(a){Position.absolutize(a.effects[0].element)},afterFinishInternal:function(a){a.effects[0].element.hide().setStyle(c)}},arguments[1]||{}))};Effect.BlindUp=function(b){b=$(b);b.makeClipping();return new Effect.Scale(b,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(a){a.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(b){b=$(b);var c=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:c.height,originalWidth:c.width},restoreAfterFinish:true,afterSetup:function(a){a.element.makeClipping().setStyle({height:'0px'}).show()},afterFinishInternal:function(a){a.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(c){c=$(c);var d=c.getInlineOpacity();return new Effect.Appear(c,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(b){new Effect.Scale(b.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(a){a.element.makePositioned().makeClipping()},afterFinishInternal:function(a){a.element.hide().undoClipping().undoPositioned().setStyle({opacity:d})}})}},arguments[1]||{}))};Effect.DropOut=function(b){b=$(b);var c={top:b.getStyle('top'),left:b.getStyle('left'),opacity:b.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(b,{x:0,y:100,sync:true}),new Effect.Opacity(b,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(a){a.effects[0].element.makePositioned()},afterFinishInternal:function(a){a.effects[0].element.hide().undoPositioned().setStyle(c)}},arguments[1]||{}))};Effect.Shake=function(g){g=$(g);var h={top:g.getStyle('top'),left:g.getStyle('left')};return new Effect.Move(g,{x:20,y:0,duration:0.05,afterFinishInternal:function(f){new Effect.Move(f.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(e){new Effect.Move(e.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(d){new Effect.Move(d.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(c){new Effect.Move(c.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(b){new Effect.Move(b.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(a){a.element.undoPositioned().setStyle(h)}})}})}})}})}})}})};Effect.SlideDown=function(b){b=$(b).cleanWhitespace();var c=b.down().getStyle('bottom');var d=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:d.height,originalWidth:d.width},restoreAfterFinish:true,afterSetup:function(a){a.element.makePositioned();a.element.down().makePositioned();if(window.opera)a.element.setStyle({top:''});a.element.makeClipping().setStyle({height:'0px'}).show()},afterUpdateInternal:function(a){a.element.down().setStyle({bottom:(a.dims[0]-a.element.clientHeight)+'px'})},afterFinishInternal:function(a){a.element.undoClipping().undoPositioned();a.element.down().undoPositioned().setStyle({bottom:c})}},arguments[1]||{}))};Effect.SlideUp=function(b){b=$(b).cleanWhitespace();var c=b.down().getStyle('bottom');return new Effect.Scale(b,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(a){a.element.makePositioned();a.element.down().makePositioned();if(window.opera)a.element.setStyle({top:''});a.element.makeClipping().show()},afterUpdateInternal:function(a){a.element.down().setStyle({bottom:(a.dims[0]-a.element.clientHeight)+'px'})},afterFinishInternal:function(a){a.element.hide().undoClipping().undoPositioned().setStyle({bottom:c});a.element.down().undoPositioned()}},arguments[1]||{}))};Effect.Squish=function(b){return new Effect.Scale(b,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(a){a.element.makeClipping()},afterFinishInternal:function(a){a.element.hide().undoClipping()}})};Effect.Grow=function(c){c=$(c);var d=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var e={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var f=c.getDimensions();var g,initialMoveY;var h,moveY;switch(d.direction){case'top-left':g=initialMoveY=h=moveY=0;break;case'top-right':g=f.width;initialMoveY=moveY=0;h=-f.width;break;case'bottom-left':g=h=0;initialMoveY=f.height;moveY=-f.height;break;case'bottom-right':g=f.width;initialMoveY=f.height;h=-f.width;moveY=-f.height;break;case'center':g=f.width/2;initialMoveY=f.height/2;h=-f.width/2;moveY=-f.height/2;break};return new Effect.Move(c,{x:g,y:initialMoveY,duration:0.01,beforeSetup:function(a){a.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(b){new Effect.Parallel([new Effect.Opacity(b.element,{sync:true,to:1.0,from:0.0,transition:d.opacityTransition}),new Effect.Move(b.element,{x:h,y:moveY,sync:true,transition:d.moveTransition}),new Effect.Scale(b.element,100,{scaleMode:{originalHeight:f.height,originalWidth:f.width},sync:true,scaleFrom:window.opera?1:0,transition:d.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(a){a.effects[0].element.setStyle({height:'0px'}).show()},afterFinishInternal:function(a){a.effects[0].element.undoClipping().undoPositioned().setStyle(e)}},d))}})};Effect.Shrink=function(b){b=$(b);var c=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var d={top:b.style.top,left:b.style.left,height:b.style.height,width:b.style.width,opacity:b.getInlineOpacity()};var e=b.getDimensions();var f,moveY;switch(c.direction){case'top-left':f=moveY=0;break;case'top-right':f=e.width;moveY=0;break;case'bottom-left':f=0;moveY=e.height;break;case'bottom-right':f=e.width;moveY=e.height;break;case'center':f=e.width/2;moveY=e.height/2;break};return new Effect.Parallel([new Effect.Opacity(b,{sync:true,to:0.0,from:1.0,transition:c.opacityTransition}),new Effect.Scale(b,window.opera?1:0,{sync:true,transition:c.scaleTransition,restoreAfterFinish:true}),new Effect.Move(b,{x:f,y:moveY,sync:true,transition:c.moveTransition})],Object.extend({beforeStartInternal:function(a){a.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(a){a.effects[0].element.hide().undoClipping().undoPositioned().setStyle(d)}},c))};Effect.Pulsate=function(b){b=$(b);var c=arguments[1]||{};var d=b.getInlineOpacity();var e=c.transition||Effect.Transitions.sinoidal;var f=function(a){return e(1-Effect.Transitions.pulse(a,c.pulses))};f.bind(e);return new Effect.Opacity(b,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(a){a.element.setStyle({opacity:d})}},c),{transition:f}))};Effect.Fold=function(c){c=$(c);var d={top:c.style.top,left:c.style.left,width:c.style.width,height:c.style.height};c.makeClipping();return new Effect.Scale(c,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(b){new Effect.Scale(c,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(a){a.element.hide().undoClipping().setStyle(d)}})}},arguments[1]||{}))};Effect.Morph=Class.create();Object.extend(Object.extend(Effect.Morph.prototype,Effect.Base.prototype),{initialize:function(c){this.element=$(c);if(!this.element)throw(Effect._elementDoesNotExistError);var d=Object.extend({style:{}},arguments[1]||{});if(typeof d.style=='string'){if(d.style.indexOf(':')==-1){var e='',selector='.'+d.style;$A(document.styleSheets).reverse().each(function(b){if(b.cssRules)cssRules=b.cssRules;else if(b.rules)cssRules=b.rules;$A(cssRules).reverse().each(function(a){if(selector==a.selectorText){e=a.style.cssText;throw $break;}});if(e)throw $break;});this.style=e.parseStyle();d.afterFinishInternal=function(b){b.element.addClassName(b.options.style);b.transforms.each(function(a){if(a.style!='opacity')b.element.style[a.style.camelize()]=''})}}else this.style=d.style.parseStyle()}else this.style=$H(d.style);this.start(d)},setup:function(){function parseColor(a){if(!a||['rgba(0, 0, 0, 0)','transparent'].include(a))a='#ffffff';a=a.parseColor();return $R(0,2).map(function(i){return parseInt(a.slice(i*2+1,i*2+3),16)})};this.transforms=this.style.map(function(a){var b=a[0].underscore().dasherize(),value=a[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color'}else if(b=='opacity'){value=parseFloat(value);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1})}else if(Element.CSS_LENGTH.test(value))var c=value.match(/^([\+\-]?[0-9\.]+)(.*)$/),value=parseFloat(c[1]),unit=(c.length==3)?c[2]:null;var d=this.element.getStyle(b);return $H({style:b,originalValue:unit=='color'?parseColor(d):parseFloat(d||0),targetValue:unit=='color'?parseColor(value):value,unit:unit})}.bind(this)).reject(function(a){return((a.originalValue==a.targetValue)||(a.unit!='color'&&(isNaN(a.originalValue)||isNaN(a.targetValue))))})},update:function(b){var c=$H(),value=null;this.transforms.each(function(a){value=a.unit=='color'?$R(0,2).inject('#',function(m,v,i){return m+(Math.round(a.originalValue[i]+(a.targetValue[i]-a.originalValue[i])*b)).toColorPart()}):a.originalValue+Math.round(((a.targetValue-a.originalValue)*b)*1000)/1000+a.unit;c[a.style]=value});this.element.setStyle(c)}});Effect.Transform=Class.create();Object.extend(Effect.Transform.prototype,{initialize:function(a){this.tracks=[];this.options=arguments[1]||{};this.addTracks(a)},addTracks:function(c){c.each(function(a){var b=$H(a).values().first();this.tracks.push($H({ids:$H(a).keys().first(),effect:Effect.Morph,options:{style:b}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(a){var b=[$(a.ids)||$$(a.ids)].flatten();return b.map(function(e){return new a.effect(e,Object.extend({sync:true},a.options))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w('backgroundColor backgroundPosition borderBottomColor borderBottomStyle '+'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth '+'borderRightColor borderRightStyle borderRightWidth borderSpacing '+'borderTopColor borderTopStyle borderTopWidth bottom clip color '+'fontSize fontWeight height left letterSpacing lineHeight '+'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+'maxWidth minHeight minWidth opacity outlineColor outlineOffset '+'outlineWidth paddingBottom paddingLeft paddingRight paddingTop '+'right textIndent top width wordSpacing zIndex');Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.prototype.parseStyle=function(){var b=Element.extend(document.createElement('div'));b.innerHTML='<div style="'+this+'"></div>';var c=b.down().style,styleRules=$H();Element.CSS_PROPERTIES.each(function(a){if(c[a])styleRules[a]=c[a]});if(/MSIE/.test(navigator.userAgent)&&!window.opera&&this.indexOf('opacity')>-1){styleRules.opacity=this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]};return styleRules};Element.morph=function(a,b){new Effect.Morph(a,Object.extend({style:b},arguments[2]||{}));return a};['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom','collectTextNodes','collectTextNodesIgnoreClass','morph'].each(function(f){Element.Methods[f]=Element[f]});Element.Methods.visualEffect=function(a,b,c){s=b.gsub(/_/,'-').camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](a,c);return $(a)};Element.addMethods();
3
  var Builder={NODEMAP:{AREA:'map',CAPTION:'table',COL:'table',COLGROUP:'table',LEGEND:'fieldset',OPTGROUP:'select',OPTION:'select',PARAM:'object',TBODY:'table',TD:'table',TFOOT:'table',TH:'table',THEAD:'table',TR:'table'},node:function(a){a=a.toUpperCase();var b=this.NODEMAP[a]||'div';var c=document.createElement(b);try{c.innerHTML="<"+a+"></"+a+">"}catch(e){}var d=c.firstChild||null;if(d&&(d.tagName.toUpperCase()!=a))d=d.getElementsByTagName(a)[0];if(!d)d=document.createElement(a);if(!d)return;if(arguments[1])if(this._isStringOrNumber(arguments[1])||(arguments[1]instanceof Array)){this._children(d,arguments[1])}else{var f=this._attributes(arguments[1]);if(f.length){try{c.innerHTML="<"+a+" "+f+"></"+a+">"}catch(e){}d=c.firstChild||null;if(!d){d=document.createElement(a);for(attr in arguments[1])d[attr=='class'?'className':attr]=arguments[1][attr]}if(d.tagName.toUpperCase()!=a)d=c.getElementsByTagName(a)[0]}};if(arguments[2])this._children(d,arguments[2]);return d},_text:function(a){return document.createTextNode(a)},ATTR_MAP:{'className':'class','htmlFor':'for'},_attributes:function(a){var b=[];for(attribute in a)b.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+a[attribute].toString().escapeHTML()+'"');return b.join(" ")},_children:function(a,b){if(typeof b=='object'){b.flatten().each(function(e){if(typeof e=='object')a.appendChild(e);else if(Builder._isStringOrNumber(e))a.appendChild(Builder._text(e))})}else if(Builder._isStringOrNumber(b))a.appendChild(Builder._text(b))},_isStringOrNumber:function(a){return(typeof a=='string'||typeof a=='number')},build:function(a){var b=this.node('div');$(b).update(a.strip());return b.down()},dump:function(b){if(typeof b!='object'&&typeof b!='function')b=window;var c=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);c.each(function(a){b[a]=function(){return Builder.node.apply(Builder,[a].concat($A(arguments)))}})}};
4
  if(typeof Effect=='undefined')throw("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables={drops:[],remove:function(a){this.drops=this.drops.reject(function(d){return d.element==$(a)})},add:function(a){a=$(a);var b=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(b.containment){b._containers=[];var d=b.containment;if((typeof d=='object')&&(d.constructor==Array)){d.each(function(c){b._containers.push($(c))})}else{b._containers.push($(d))}};if(b.accept)b.accept=[b.accept].flatten();Element.makePositioned(a);b.element=a;this.drops.push(b)},findDeepestChild:function(a){deepest=a[0];for(i=1;i<a.length;++i)if(Element.isParent(a[i].element,deepest.element))deepest=a[i];return deepest},isContained:function(a,b){var d;if(b.tree){d=a.treeNode}else{d=a.parentNode}return b._containers.detect(function(c){return d==c})},isAffected:function(a,b,c){return((c.element!=b)&&((!c._containers)||this.isContained(b,c))&&((!c.accept)||(Element.classNames(b).detect(function(v){return c.accept.include(v)})))&&Position.within(c.element,a[0],a[1]))},deactivate:function(a){if(a.hoverclass)Element.removeClassName(a.element,a.hoverclass);this.last_active=null},activate:function(a){if(a.hoverclass)Element.addClassName(a.element,a.hoverclass);this.last_active=a},show:function(b,c){if(!this.drops.length)return;var d=[];if(this.last_active)this.deactivate(this.last_active);this.drops.each(function(a){if(Droppables.isAffected(b,c,a))d.push(a)});if(d.length>0){drop=Droppables.findDeepestChild(d);Position.within(drop.element,b[0],b[1]);if(drop.onHover)drop.onHover(c,drop.element,Position.overlap(drop.overlap,drop.element));Droppables.activate(drop)}},fire:function(a,b){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(a),Event.pointerY(a)],b,this.last_active))if(this.last_active.onDrop)this.last_active.onDrop(b,this.last_active.element,a)},reset:function(){if(this.last_active)this.deactivate(this.last_active)}};var Draggables={drags:[],observers:[],register:function(a){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress)};this.drags.push(a)},unregister:function(a){this.drags=this.drags.reject(function(d){return d==a});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(a){if(a.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=a}.bind(this),a.options.delay)}else{window.focus();this.activeDraggable=a}},deactivate:function(){this.activeDraggable=null},updateDrag:function(a){if(!this.activeDraggable)return;var b=[Event.pointerX(a),Event.pointerY(a)];if(this._lastPointer&&(this._lastPointer.inspect()==b.inspect()))return;this._lastPointer=b;if(document.createCDATASection==null){try{spdfix.innerHTML=b[0]}catch(e){spdfix=document.createElement('div');spdfix.style.display='none';document.body.insertBefore(spdfix,document.body.firstChild)}};this.activeDraggable.updateDrag(a,b)},endDrag:function(a){if(this._timeout){clearTimeout(this._timeout);this._timeout=null}if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(a);this.activeDraggable=null},keyPress:function(a){if(this.activeDraggable)this.activeDraggable.keyPress(a)},addObserver:function(a){this.observers.push(a);this._cacheObserverCallbacks()},removeObserver:function(a){this.observers=this.observers.reject(function(o){return o.element==a});this._cacheObserverCallbacks()},notify:function(a,b,c){if(this[a+'Count']>0)this.observers.each(function(o){if(o[a])o[a](a,b,c)});if(b.options[a])b.options[a](b,c)},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(a){Draggables[a+'Count']=Draggables.observers.select(function(o){return o[a]}).length})}};var Draggable=Class.create();Draggable._dragging={};Draggable.prototype={initialize:function(e){var f={handle:false,reverteffect:function(a,b,c){var d=Math.sqrt(Math.abs(b^2)+Math.abs(c^2))*0.02;new Effect.Move(a,{x:-c,y:-b,duration:d,queue:{scope:'_draggable',position:'end'}})},endeffect:function(a){var b=typeof a._opacity=='number'?a._opacity:1.0;new Effect.Opacity(a,{duration:0.2,from:0.7,to:b,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[a]=false}})},zindex:1000,revert:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||typeof arguments[1].endeffect=='undefined')Object.extend(f,{starteffect:function(a){a._opacity=Element.getOpacity(a);Draggable._dragging[a]=true;new Effect.Opacity(a,{duration:0.2,from:a._opacity,to:0.7})}});var g=Object.extend(f,arguments[1]||{});this.element=$(e);if(g.handle&&(typeof g.handle=='string'))this.handle=this.element.down('.'+g.handle,0);if(!this.handle)this.handle=$(g.handle);if(!this.handle)this.handle=this.element;if(g.scroll&&!g.scroll.scrollTo&&!g.scroll.outerHTML){g.scroll=$(g.scroll);this._isScrollChild=Element.childOf(this.element,g.scroll)};Element.makePositioned(this.element);this.options=g;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this)},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')])},initDrag:function(a){if(typeof Draggable._dragging[this.element]!='undefined'&&Draggable._dragging[this.element])return;if(Event.isLeftClick(a)){var b=Event.element(a);if((tag_name=b.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var c=[Event.pointerX(a),Event.pointerY(a)];var d=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(i){return(c[i]-d[i])});Draggables.activate(this);Event.stop(a)}},startDrag:function(a){this.dragging=true;if(!this.delta)this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex};if(this.options.ghosting){this._clone=this.element.cloneNode(true);Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element)};if(this.options.scroll){if(this.options.scroll==window){var b=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=b.left;this.originalScrollTop=b.top}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop}};Draggables.notify('onStart',this,a);if(this.options.starteffect)this.options.starteffect(this.element)},updateDrag:function(a,b){if(!this.dragging)this.startDrag(a);Position.prepare();Droppables.show(b,this.element);Draggables.notify('onDrag',this,a);this.draw(b);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height]}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight)};var c=[0,0];if(b[0]<(p[0]+this.options.scrollSensitivity))c[0]=b[0]-(p[0]+this.options.scrollSensitivity);if(b[1]<(p[1]+this.options.scrollSensitivity))c[1]=b[1]-(p[1]+this.options.scrollSensitivity);if(b[0]>(p[2]-this.options.scrollSensitivity))c[0]=b[0]-(p[2]-this.options.scrollSensitivity);if(b[1]>(p[3]-this.options.scrollSensitivity))c[1]=b[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(c)};if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);Event.stop(a)},finishDrag:function(a,b){this.dragging=false;if(this.options.ghosting){Position.relativize(this.element);Element.remove(this._clone);this._clone=null};if(b)Droppables.fire(a,this.element);Draggables.notify('onEnd',this,a);var c=this.options.revert;if(c&&typeof c=='function')c=c(this.element);var d=this.currentDelta();if(c&&this.options.reverteffect){this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0])}else{this.delta=d};if(this.options.zindex)this.element.style.zIndex=this.originalZ;if(this.options.endeffect)this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset()},keyPress:function(a){if(a.keyCode!=Event.KEY_ESC)return;this.finishDrag(a,false);Event.stop(a)},endDrag:function(a){if(!this.dragging)return;this.stopScrolling();this.finishDrag(a,true);Event.stop(a)},draw:function(a){var b=Position.cumulativeOffset(this.element);if(this.options.ghosting){var r=Position.realOffset(this.element);b[0]+=r[0]-Position.deltaX;b[1]+=r[1]-Position.deltaY};var d=this.currentDelta();b[0]-=d[0];b[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){b[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;b[1]-=this.options.scroll.scrollTop-this.originalScrollTop};var p=[0,1].map(function(i){return(a[i]-b[i]-this.offset[i])}.bind(this));if(this.options.snap){if(typeof this.options.snap=='function'){p=this.options.snap(p[0],p[1],this)}else{if(this.options.snap instanceof Array){p=p.map(function(v,i){return Math.round(v/this.options.snap[i])*this.options.snap[i]}.bind(this))}else{p=p.map(function(v){return Math.round(v/this.options.snap)*this.options.snap}.bind(this))}}};var c=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))c.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))c.top=p[1]+"px";if(c.visibility=="hidden")c.visibility=""},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(a){if(!(a[0]||a[1]))return;this.scrollSpeed=[a[0]*this.options.scrollSpeed,a[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var a=new Date();var b=a-this.lastScrolled;this.lastScrolled=a;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=b/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*b/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*b/1000};Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*b/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*b/1000;if(Draggables._lastScrollPointer[0]<0)Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer)};if(this.options.change)this.options.change(this)},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft};if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}};return{top:T,left:L,width:W,height:H}}};var SortableObserver=Class.create();SortableObserver.prototype={initialize:function(a,b){this.element=$(a);this.observer=b;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element))this.observer(this.element)}};var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(a){while(a.tagName.toUpperCase()!="BODY"){if(a.id&&Sortable.sortables[a.id])return a;a=a.parentNode}},options:function(a){a=Sortable._findRootElement($(a));if(!a)return;return Sortable.sortables[a.id]},destroy:function(a){var s=Sortable.options(a);if(s){Draggables.removeObserver(s.element);s.droppables.each(function(d){Droppables.remove(d)});s.draggables.invoke('destroy');delete Sortable.sortables[s.element.id]}},create:function(b){b=$(b);var c=Object.extend({element:b,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:b,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(b);var d={revert:true,scroll:c.scroll,scrollSpeed:c.scrollSpeed,scrollSensitivity:c.scrollSensitivity,delay:c.delay,ghosting:c.ghosting,constraint:c.constraint,handle:c.handle};if(c.starteffect)d.starteffect=c.starteffect;if(c.reverteffect)d.reverteffect=c.reverteffect;else if(c.ghosting)d.reverteffect=function(a){a.style.top=0;a.style.left=0};if(c.endeffect)d.endeffect=c.endeffect;if(c.zindex)d.zindex=c.zindex;var f={overlap:c.overlap,containment:c.containment,tree:c.tree,hoverclass:c.hoverclass,onHover:Sortable.onHover};var g={onHover:Sortable.onEmptyHover,overlap:c.overlap,containment:c.containment,tree:c.tree,hoverclass:c.hoverclass};Element.cleanWhitespace(b);c.draggables=[];c.droppables=[];if(c.dropOnEmpty||c.tree){Droppables.add(b,g);c.droppables.push(b)};(this.findElements(b,c)||[]).each(function(e){var a=c.handle?$(e).down('.'+c.handle,0):e;c.draggables.push(new Draggable(e,Object.extend(d,{handle:a})));Droppables.add(e,f);if(c.tree)e.treeNode=b;c.droppables.push(e)});if(c.tree){(Sortable.findTreeElements(b,c)||[]).each(function(e){Droppables.add(e,g);e.treeNode=b;c.droppables.push(e)})};this.sortables[b.id]=c;Draggables.addObserver(new SortableObserver(b,c.onUpdate))},findElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.tag)},findTreeElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.treeTag)},onHover:function(a,b,c){if(Sortable.options(b).tree){if(Element.isParent(b,a)||(c>.33&&c<.66)){return}}else{if(Element.isParent(a,b)){return}};if(c>0.5){Sortable.mark(b,'before');if(b.previousSibling!=a){var d=a.parentNode;a.style.visibility="hidden";b.parentNode.insertBefore(a,b);if(b.parentNode!=d)Sortable.options(d).onChange(a,"left_to",b);Sortable.options(b.parentNode).onChange(a,"left_to",b)}}else{Sortable.mark(b,'after');var e=b.nextSibling||null;if(e!=a){var d=a.parentNode;a.style.visibility="hidden";b.parentNode.insertBefore(a,e);if(b.parentNode!=d)Sortable.options(d).onChange(a,"right_to",b);Sortable.options(b.parentNode).onChange(a,"right_to",b)}}},onEmptyHover:function(a,b,c){var d=a.parentNode;var e=Sortable.options(b);if(Sortable.options(b).tree){if(!Element.isParent(b,a)){var f;var g=Sortable.findElements(b,{tag:e.tag,only:e.only});var h=null;if(g){var i=Element.offsetSize(b,e.overlap)*(1.0-c);for(f=0;f<g.length;f+=1){if(i-Element.offsetSize(g[f],e.overlap)>=0){i-=Element.offsetSize(g[f],e.overlap)}else if(i-(Element.offsetSize(g[f],e.overlap)/2)>=0){h=f+1<g.length?1:null;break}else{h=1;break}}};if(h==null){b.appendChild(a);Sortable.options(d).onChange(a);e.onChange(a)}}}else{if(Element.isParent(a,b))return;b.appendChild(a);Sortable.options(d).onChange(a);e.onChange(a)}},unmark:function(){if(Sortable._marker)Sortable._marker.hide()},mark:function(a,b){var c=Sortable.options(a.parentNode);if(c&&!c.ghosting)return;if(!Sortable._marker){Sortable._marker=($('dropmarker')||Element.extend(document.createElement('DIV'))).hide().addClassName('dropmarker').setStyle({position:'absolute'});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)};var d=Position.cumulativeOffset(a);Sortable._marker.setStyle({left:d[0]+'px',top:d[1]+'px'});if(b=='after')if(c.overlap=='horizontal')Sortable._marker.setStyle({left:(d[0]+a.clientWidth)+'px'});else Sortable._marker.setStyle({top:(d[1]+a.clientHeight)+'px'});Sortable._marker.show()},_tree:function(a,b,c){var d=Sortable.findElements(a,b)||[];for(var i=0;i<d.length;++i){var e=d[i].id.match(b.format);if(!e)continue;var f={id:encodeURIComponent(e?e[1]:null),element:a,parent:c,children:[],position:c.children.length,container:$(d[i]).down(b.treeTag)};if(f.container)this._tree(f.container,b,f);c.children.push(f)};return c},tree:function(a){a=$(a);var b=this.options(a);var c=Object.extend({tag:b.tag,treeTag:b.treeTag,only:b.only,name:a.id,format:b.format},arguments[1]||{});var d={id:null,parent:null,children:[],container:a,position:0};return Sortable._tree(a,c,d)},_constructIndex:function(a){var b='';do{if(a.id)b='['+a.position+']'+b}while((a=a.parent)!=null);return b},sequence:function(b){b=$(b);var c=Object.extend(this.options(b),arguments[1]||{});return $(this.findElements(b,c)||[]).map(function(a){return a.id.match(c.format)?a.id.match(c.format)[1]:''})},setSequence:function(b,c){b=$(b);var d=Object.extend(this.options(b),arguments[2]||{});var e={};this.findElements(b,d).each(function(n){if(n.id.match(d.format))e[n.id.match(d.format)[1]]=[n,n.parentNode];n.parentNode.removeChild(n)});c.each(function(a){var n=e[a];if(n){n[1].appendChild(n[0]);delete e[a]}})},serialize:function(b){b=$(b);var c=Object.extend(Sortable.options(b),arguments[1]||{});var d=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:b.id);if(c.tree){return Sortable.tree(b,arguments[1]).children.map(function(a){return[d+Sortable._constructIndex(a)+"[id]="+encodeURIComponent(a.id)].concat(a.children.map(arguments.callee))}).flatten().join('&')}else{return Sortable.sequence(b,arguments[1]).map(function(a){return d+"[]="+encodeURIComponent(a)}).join('&')}}};Element.isParent=function(a,b){if(!a.parentNode||a==b)return false;if(a.parentNode==b)return true;return Element.isParent(a.parentNode,b)};Element.findChildren=function(b,c,d,f){if(!b.hasChildNodes())return null;f=f.toUpperCase();if(c)c=[c].flatten();var g=[];$A(b.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==f&&(!c||(Element.classNames(e).detect(function(v){return c.include(v)}))))g.push(e);if(d){var a=Element.findChildren(e,c,d,f);if(a)g.push(a)}});return(g.length>0?g.flatten():[])};Element.offsetSize=function(a,b){return a['offset'+((b=='vertical'||b=='height')?'Height':'Width')]};
5
- var mceToolbars=['toolbar-1','toolbar-2','toolbar-3'];function initTadv(){$A(Draggables.drags).map(function(o){o.startDrag(null);o.finishDrag(null);});tadvResetHeight();};function tadvResetHeight() {var pd = $('tadvpalette');if( pd.childNodes.length > 6 ){var last = pd.lastChild.previousSibling;pd.style.height = last.offsetTop + last.offsetHeight + 30 + "px";}else{pd.style.height = "60px";}};function tadvSerializeAll(){$('toolbar-1order').value = Sortable.serialize('toolbar-1');$('toolbar-2order').value = Sortable.serialize('toolbar-2');$('toolbar-3order').value = Sortable.serialize('toolbar-3');};function tadvUpdateAll(){tadvResetHeight();$('tadvWarnmsg').innerHTML='';mceToolbars.map(function(o){var kids = $(o).childNodes;var tbwidth = $(o).clientWidth;var kidswidth = 0;for(i=0;i<kids.length;i++){kidswidth += kids[i].clientWidth;};if(kidswidth > tbwidth){$('tadvWarnmsg').innerHTML='Adding too many buttons will make the toolbar too long and will not display correctly in TinyMCE!';}});if( $('toolbar-3').childNodes.length > 0){if($('tadvWpadv') == null){tadvWpadv = document.createElement('li');tadvWpadv.setAttribute('id','tadvWpadv');tadvWpadv.innerHTML='<img alt="Toolbars" title="Toolbars" src="../wp-content/plugins/tinymce-advanced/images/toolbars.gif" />';}else{tadvWpadv=$('tadvWpadv');};if( $('toolbar-2').childNodes.length > 0 && $('toolbar-2').childNodes[0].id != 'tadvWpadv'){$('toolbar-2').appendChild(tadvWpadv);}else if($('toolbar-1').childNodes.length > 0 && $('toolbar-1').childNodes[0].id != 'tadvWpadv'){$('toolbar-1').appendChild(tadvWpadv);}else{if(tadvWpadv.parentNode != null)tadvWpadv.parentNode.removeChild(tadvWpadv);}}else{if($('tadvWpadv') != null){tadvWpadv=$('tadvWpadv');if(tadvWpadv.parentNode != null)tadvWpadv.parentNode.removeChild(tadvWpadv);}}};addLoadEvent(initTadv);addLoadEvent(tadvUpdateAll);Event.observe(window,'resize',tadvUpdateAll);
2
  String.prototype.parseColor=function(){var a='#';if(this.slice(0,4)=='rgb('){var b=this.slice(4,this.length-1).split(',');var i=0;do{a+=parseInt(b[i]).toColorPart()}while(++i<3)}else{if(this.slice(0,1)=='#'){if(this.length==4)for(var i=1;i<4;i++)a+=(this.charAt(i)+this.charAt(i)).toLowerCase();if(this.length==7)a=this.toLowerCase()}};return(a.length==7?a:(arguments[0]||this))};Element.collectTextNodes=function(b){return $A($(b).childNodes).collect(function(a){return(a.nodeType==3?a.nodeValue:(a.hasChildNodes()?Element.collectTextNodes(a):''))}).flatten().join('')};Element.collectTextNodesIgnoreClass=function(b,c){return $A($(b).childNodes).collect(function(a){return(a.nodeType==3?a.nodeValue:((a.hasChildNodes()&&!Element.hasClassName(a,c))?Element.collectTextNodesIgnoreClass(a,c):''))}).flatten().join('')};Element.setContentZoom=function(a,b){a=$(a);a.setStyle({fontSize:(b/100)+'em'});if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);return a};Element.getOpacity=function(a){return $(a).getStyle('opacity')};Element.setOpacity=function(a,b){return $(a).setStyle({opacity:b})};Element.getInlineOpacity=function(a){return $(a).style.opacity||''};Element.forceRerendering=function(a){try{a=$(a);var n=document.createTextNode(' ');a.appendChild(n);a.removeChild(n)}catch(e){}};Array.prototype.call=function(){var a=arguments;this.each(function(f){f.apply(this,a)})};var Effect={_elementDoesNotExistError:{name:'ElementDoesNotExistError',message:'The specified DOM element does not exist, but is required for this effect to operate'},tagifyText:function(c){if(typeof Builder=='undefined')throw("Effect.tagifyText requires including script.aculo.us' builder.js library");var d='position:relative';if(/MSIE/.test(navigator.userAgent)&&!window.opera)d+=';zoom:1';c=$(c);$A(c.childNodes).each(function(b){if(b.nodeType==3){b.nodeValue.toArray().each(function(a){c.insertBefore(Builder.node('span',{style:d},a==' '?String.fromCharCode(160):a),b)});Element.remove(b)}})},multiple:function(c,d){var e;if(((typeof c=='object')||(typeof c=='function'))&&(c.length))e=c;else e=$(c).childNodes;var f=Object.extend({speed:0.1,delay:0.0},arguments[2]||{});var g=f.delay;$A(e).each(function(a,b){new d(a,Object.extend(f,{delay:b*f.speed+g}))})},PAIRS:{'slide':['SlideDown','SlideUp'],'blind':['BlindDown','BlindUp'],'appear':['Appear','Fade']},toggle:function(a,b){a=$(a);b=(b||'appear').toLowerCase();var c=Object.extend({queue:{position:'end',scope:(a.id||'global'),limit:1}},arguments[2]||{});Effect[a.visible()?Effect.PAIRS[b][1]:Effect.PAIRS[b][0]](a,c)}};var Effect2=Effect;Effect.Transitions={linear:Prototype.K,sinoidal:function(a){return(-Math.cos(a*Math.PI)/2)+0.5},reverse:function(a){return 1-a},flicker:function(a){return((-Math.cos(a*Math.PI)/4)+0.75)+Math.random()/4},wobble:function(a){return(-Math.cos(a*Math.PI*(9*a))/2)+0.5},pulse:function(a,b){b=b||5;return(Math.round((a%(1/b))*b)==0?((a*b*2)-Math.floor(a*b*2)):1-((a*b*2)-Math.floor(a*b*2)))},none:function(a){return 0},full:function(a){return 1}};Effect.ScopedQueue=Class.create();Object.extend(Object.extend(Effect.ScopedQueue.prototype,Enumerable),{initialize:function(){this.effects=[];this.interval=null},_each:function(a){this.effects._each(a)},add:function(a){var b=new Date().getTime();var c=(typeof a.options.queue=='string')?a.options.queue:a.options.queue.position;switch(c){case'front':this.effects.findAll(function(e){return e.state=='idle'}).each(function(e){e.startOn+=a.finishOn;e.finishOn+=a.finishOn});break;case'with-last':b=this.effects.pluck('startOn').max()||b;break;case'end':b=this.effects.pluck('finishOn').max()||b;break}a.startOn+=b;a.finishOn+=b;if(!a.options.queue.limit||(this.effects.length<a.options.queue.limit))this.effects.push(a);if(!this.interval)this.interval=setInterval(this.loop.bind(this),15)},remove:function(a){this.effects=this.effects.reject(function(e){return e==a});if(this.effects.length==0){clearInterval(this.interval);this.interval=null}},loop:function(){var a=new Date().getTime();for(var i=0,len=this.effects.length;i<len;i++)if(this.effects[i])this.effects[i].loop(a)}});Effect.Queues={instances:$H(),get:function(a){if(typeof a!='string')return a;if(!this.instances[a])this.instances[a]=new Effect.ScopedQueue();return this.instances[a]}};Effect.Queue=Effect.Queues.get('global');Effect.DefaultOptions={transition:Effect.Transitions.sinoidal,duration:1.0,fps:60.0,sync:false,from:0.0,to:1.0,delay:0.0,queue:'parallel'};Effect.Base=function(){};Effect.Base.prototype={position:null,start:function(a){this.options=Object.extend(Object.extend({},Effect.DefaultOptions),a||{});this.currentFrame=0;this.state='idle';this.startOn=this.options.delay*1000;this.finishOn=this.startOn+(this.options.duration*1000);this.event('beforeStart');if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).add(this)},loop:function(a){if(a>=this.startOn){if(a>=this.finishOn){this.render(1.0);this.cancel();this.event('beforeFinish');if(this.finish)this.finish();this.event('afterFinish');return}var b=(a-this.startOn)/(this.finishOn-this.startOn);var c=Math.round(b*this.options.fps*this.options.duration);if(c>this.currentFrame){this.render(b);this.currentFrame=c}}},render:function(a){if(this.state=='idle'){this.state='running';this.event('beforeSetup');if(this.setup)this.setup();this.event('afterSetup')}if(this.state=='running'){if(this.options.transition)a=this.options.transition(a);a*=(this.options.to-this.options.from);a+=this.options.from;this.position=a;this.event('beforeUpdate');if(this.update)this.update(a);this.event('afterUpdate')}},cancel:function(){if(!this.options.sync)Effect.Queues.get(typeof this.options.queue=='string'?'global':this.options.queue.scope).remove(this);this.state='finished'},event:function(a){if(this.options[a+'Internal'])this.options[a+'Internal'](this);if(this.options[a])this.options[a](this)},inspect:function(){var a=$H();for(property in this)if(typeof this[property]!='function')a[property]=this[property];return'#<Effect:'+a.inspect()+',options:'+$H(this.options).inspect()+'>'}};Effect.Parallel=Class.create();Object.extend(Object.extend(Effect.Parallel.prototype,Effect.Base.prototype),{initialize:function(a){this.effects=a||[];this.start(arguments[1])},update:function(a){this.effects.invoke('render',a)},finish:function(b){this.effects.each(function(a){a.render(1.0);a.cancel();a.event('beforeFinish');if(a.finish)a.finish(b);a.event('afterFinish')})}});Effect.Event=Class.create();Object.extend(Object.extend(Effect.Event.prototype,Effect.Base.prototype),{initialize:function(){var a=Object.extend({duration:0},arguments[0]||{});this.start(a)},update:Prototype.emptyFunction});Effect.Opacity=Class.create();Object.extend(Object.extend(Effect.Opacity.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1});var b=Object.extend({from:this.element.getOpacity()||0.0,to:1.0},arguments[1]||{});this.start(b)},update:function(a){this.element.setOpacity(a)}});Effect.Move=Class.create();Object.extend(Object.extend(Effect.Move.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var b=Object.extend({x:0,y:0,mode:'relative'},arguments[1]||{});this.start(b)},setup:function(){this.element.makePositioned();this.originalLeft=parseFloat(this.element.getStyle('left')||'0');this.originalTop=parseFloat(this.element.getStyle('top')||'0');if(this.options.mode=='absolute'){this.options.x=this.options.x-this.originalLeft;this.options.y=this.options.y-this.originalTop}},update:function(a){this.element.setStyle({left:Math.round(this.options.x*a+this.originalLeft)+'px',top:Math.round(this.options.y*a+this.originalTop)+'px'})}});Effect.MoveBy=function(a,b,c){return new Effect.Move(a,Object.extend({x:c,y:b},arguments[3]||{}))};Effect.Scale=Class.create();Object.extend(Object.extend(Effect.Scale.prototype,Effect.Base.prototype),{initialize:function(a,b){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var c=Object.extend({scaleX:true,scaleY:true,scaleContent:true,scaleFromCenter:false,scaleMode:'box',scaleFrom:100.0,scaleTo:b},arguments[2]||{});this.start(c)},setup:function(){this.restoreAfterFinish=this.options.restoreAfterFinish||false;this.elementPositioning=this.element.getStyle('position');this.originalStyle={};['top','left','width','height','fontSize'].each(function(k){this.originalStyle[k]=this.element.style[k]}.bind(this));this.originalTop=this.element.offsetTop;this.originalLeft=this.element.offsetLeft;var b=this.element.getStyle('font-size')||'100%';['em','px','%','pt'].each(function(a){if(b.indexOf(a)>0){this.fontSize=parseFloat(b);this.fontSizeType=a}}.bind(this));this.factor=(this.options.scaleTo-this.options.scaleFrom)/100;this.dims=null;if(this.options.scaleMode=='box')this.dims=[this.element.offsetHeight,this.element.offsetWidth];if(/^content/.test(this.options.scaleMode))this.dims=[this.element.scrollHeight,this.element.scrollWidth];if(!this.dims)this.dims=[this.options.scaleMode.originalHeight,this.options.scaleMode.originalWidth]},update:function(a){var b=(this.options.scaleFrom/100.0)+(this.factor*a);if(this.options.scaleContent&&this.fontSize)this.element.setStyle({fontSize:this.fontSize*b+this.fontSizeType});this.setDimensions(this.dims[0]*b,this.dims[1]*b)},finish:function(a){if(this.restoreAfterFinish)this.element.setStyle(this.originalStyle)},setDimensions:function(a,b){var d={};if(this.options.scaleX)d.width=Math.round(b)+'px';if(this.options.scaleY)d.height=Math.round(a)+'px';if(this.options.scaleFromCenter){var c=(a-this.dims[0])/2;var e=(b-this.dims[1])/2;if(this.elementPositioning=='absolute'){if(this.options.scaleY)d.top=this.originalTop-c+'px';if(this.options.scaleX)d.left=this.originalLeft-e+'px'}else{if(this.options.scaleY)d.top=-c+'px';if(this.options.scaleX)d.left=-e+'px'}}this.element.setStyle(d)}});Effect.Highlight=Class.create();Object.extend(Object.extend(Effect.Highlight.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);if(!this.element)throw(Effect._elementDoesNotExistError);var b=Object.extend({startcolor:'#ffff99'},arguments[1]||{});this.start(b)},setup:function(){if(this.element.getStyle('display')=='none'){this.cancel();return}this.oldStyle={};if(!this.options.keepBackgroundImage){this.oldStyle.backgroundImage=this.element.getStyle('background-image');this.element.setStyle({backgroundImage:'none'})}if(!this.options.endcolor)this.options.endcolor=this.element.getStyle('background-color').parseColor('#ffffff');if(!this.options.restorecolor)this.options.restorecolor=this.element.getStyle('background-color');this._base=$R(0,2).map(function(i){return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16)}.bind(this));this._delta=$R(0,2).map(function(i){return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i]}.bind(this))},update:function(a){this.element.setStyle({backgroundColor:$R(0,2).inject('#',function(m,v,i){return m+(Math.round(this._base[i]+(this._delta[i]*a)).toColorPart())}.bind(this))})},finish:function(){this.element.setStyle(Object.extend(this.oldStyle,{backgroundColor:this.options.restorecolor}))}});Effect.ScrollTo=Class.create();Object.extend(Object.extend(Effect.ScrollTo.prototype,Effect.Base.prototype),{initialize:function(a){this.element=$(a);this.start(arguments[1]||{})},setup:function(){Position.prepare();var a=Position.cumulativeOffset(this.element);if(this.options.offset)a[1]+=this.options.offset;var b=window.innerHeight?window.height-window.innerHeight:document.body.scrollHeight-(document.documentElement.clientHeight?document.documentElement.clientHeight:document.body.clientHeight);this.scrollStart=Position.deltaY;this.delta=(a[1]>b?b:a[1])-this.scrollStart},update:function(a){Position.prepare();window.scrollTo(Position.deltaX,this.scrollStart+(a*this.delta))}});Effect.Fade=function(b){b=$(b);var c=b.getInlineOpacity();var d=Object.extend({from:b.getOpacity()||1.0,to:0.0,afterFinishInternal:function(a){if(a.options.to!=0)return;a.element.hide().setStyle({opacity:c})}},arguments[1]||{});return new Effect.Opacity(b,d)};Effect.Appear=function(b){b=$(b);var c=Object.extend({from:(b.getStyle('display')=='none'?0.0:b.getOpacity()||0.0),to:1.0,afterFinishInternal:function(a){a.element.forceRerendering()},beforeSetup:function(a){a.element.setOpacity(a.options.from).show()}},arguments[1]||{});return new Effect.Opacity(b,c)};Effect.Puff=function(b){b=$(b);var c={opacity:b.getInlineOpacity(),position:b.getStyle('position'),top:b.style.top,left:b.style.left,width:b.style.width,height:b.style.height};return new Effect.Parallel([new Effect.Scale(b,200,{sync:true,scaleFromCenter:true,scaleContent:true,restoreAfterFinish:true}),new Effect.Opacity(b,{sync:true,to:0.0})],Object.extend({duration:1.0,beforeSetupInternal:function(a){Position.absolutize(a.effects[0].element)},afterFinishInternal:function(a){a.effects[0].element.hide().setStyle(c)}},arguments[1]||{}))};Effect.BlindUp=function(b){b=$(b);b.makeClipping();return new Effect.Scale(b,0,Object.extend({scaleContent:false,scaleX:false,restoreAfterFinish:true,afterFinishInternal:function(a){a.element.hide().undoClipping()}},arguments[1]||{}))};Effect.BlindDown=function(b){b=$(b);var c=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:0,scaleMode:{originalHeight:c.height,originalWidth:c.width},restoreAfterFinish:true,afterSetup:function(a){a.element.makeClipping().setStyle({height:'0px'}).show()},afterFinishInternal:function(a){a.element.undoClipping()}},arguments[1]||{}))};Effect.SwitchOff=function(c){c=$(c);var d=c.getInlineOpacity();return new Effect.Appear(c,Object.extend({duration:0.4,from:0,transition:Effect.Transitions.flicker,afterFinishInternal:function(b){new Effect.Scale(b.element,1,{duration:0.3,scaleFromCenter:true,scaleX:false,scaleContent:false,restoreAfterFinish:true,beforeSetup:function(a){a.element.makePositioned().makeClipping()},afterFinishInternal:function(a){a.element.hide().undoClipping().undoPositioned().setStyle({opacity:d})}})}},arguments[1]||{}))};Effect.DropOut=function(b){b=$(b);var c={top:b.getStyle('top'),left:b.getStyle('left'),opacity:b.getInlineOpacity()};return new Effect.Parallel([new Effect.Move(b,{x:0,y:100,sync:true}),new Effect.Opacity(b,{sync:true,to:0.0})],Object.extend({duration:0.5,beforeSetup:function(a){a.effects[0].element.makePositioned()},afterFinishInternal:function(a){a.effects[0].element.hide().undoPositioned().setStyle(c)}},arguments[1]||{}))};Effect.Shake=function(g){g=$(g);var h={top:g.getStyle('top'),left:g.getStyle('left')};return new Effect.Move(g,{x:20,y:0,duration:0.05,afterFinishInternal:function(f){new Effect.Move(f.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(e){new Effect.Move(e.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(d){new Effect.Move(d.element,{x:-40,y:0,duration:0.1,afterFinishInternal:function(c){new Effect.Move(c.element,{x:40,y:0,duration:0.1,afterFinishInternal:function(b){new Effect.Move(b.element,{x:-20,y:0,duration:0.05,afterFinishInternal:function(a){a.element.undoPositioned().setStyle(h)}})}})}})}})}})}})};Effect.SlideDown=function(b){b=$(b).cleanWhitespace();var c=b.down().getStyle('bottom');var d=b.getDimensions();return new Effect.Scale(b,100,Object.extend({scaleContent:false,scaleX:false,scaleFrom:window.opera?0:1,scaleMode:{originalHeight:d.height,originalWidth:d.width},restoreAfterFinish:true,afterSetup:function(a){a.element.makePositioned();a.element.down().makePositioned();if(window.opera)a.element.setStyle({top:''});a.element.makeClipping().setStyle({height:'0px'}).show()},afterUpdateInternal:function(a){a.element.down().setStyle({bottom:(a.dims[0]-a.element.clientHeight)+'px'})},afterFinishInternal:function(a){a.element.undoClipping().undoPositioned();a.element.down().undoPositioned().setStyle({bottom:c})}},arguments[1]||{}))};Effect.SlideUp=function(b){b=$(b).cleanWhitespace();var c=b.down().getStyle('bottom');return new Effect.Scale(b,window.opera?0:1,Object.extend({scaleContent:false,scaleX:false,scaleMode:'box',scaleFrom:100,restoreAfterFinish:true,beforeStartInternal:function(a){a.element.makePositioned();a.element.down().makePositioned();if(window.opera)a.element.setStyle({top:''});a.element.makeClipping().show()},afterUpdateInternal:function(a){a.element.down().setStyle({bottom:(a.dims[0]-a.element.clientHeight)+'px'})},afterFinishInternal:function(a){a.element.hide().undoClipping().undoPositioned().setStyle({bottom:c});a.element.down().undoPositioned()}},arguments[1]||{}))};Effect.Squish=function(b){return new Effect.Scale(b,window.opera?1:0,{restoreAfterFinish:true,beforeSetup:function(a){a.element.makeClipping()},afterFinishInternal:function(a){a.element.hide().undoClipping()}})};Effect.Grow=function(c){c=$(c);var d=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.full},arguments[1]||{});var e={top:c.style.top,left:c.style.left,height:c.style.height,width:c.style.width,opacity:c.getInlineOpacity()};var f=c.getDimensions();var g,initialMoveY;var h,moveY;switch(d.direction){case'top-left':g=initialMoveY=h=moveY=0;break;case'top-right':g=f.width;initialMoveY=moveY=0;h=-f.width;break;case'bottom-left':g=h=0;initialMoveY=f.height;moveY=-f.height;break;case'bottom-right':g=f.width;initialMoveY=f.height;h=-f.width;moveY=-f.height;break;case'center':g=f.width/2;initialMoveY=f.height/2;h=-f.width/2;moveY=-f.height/2;break};return new Effect.Move(c,{x:g,y:initialMoveY,duration:0.01,beforeSetup:function(a){a.element.hide().makeClipping().makePositioned()},afterFinishInternal:function(b){new Effect.Parallel([new Effect.Opacity(b.element,{sync:true,to:1.0,from:0.0,transition:d.opacityTransition}),new Effect.Move(b.element,{x:h,y:moveY,sync:true,transition:d.moveTransition}),new Effect.Scale(b.element,100,{scaleMode:{originalHeight:f.height,originalWidth:f.width},sync:true,scaleFrom:window.opera?1:0,transition:d.scaleTransition,restoreAfterFinish:true})],Object.extend({beforeSetup:function(a){a.effects[0].element.setStyle({height:'0px'}).show()},afterFinishInternal:function(a){a.effects[0].element.undoClipping().undoPositioned().setStyle(e)}},d))}})};Effect.Shrink=function(b){b=$(b);var c=Object.extend({direction:'center',moveTransition:Effect.Transitions.sinoidal,scaleTransition:Effect.Transitions.sinoidal,opacityTransition:Effect.Transitions.none},arguments[1]||{});var d={top:b.style.top,left:b.style.left,height:b.style.height,width:b.style.width,opacity:b.getInlineOpacity()};var e=b.getDimensions();var f,moveY;switch(c.direction){case'top-left':f=moveY=0;break;case'top-right':f=e.width;moveY=0;break;case'bottom-left':f=0;moveY=e.height;break;case'bottom-right':f=e.width;moveY=e.height;break;case'center':f=e.width/2;moveY=e.height/2;break};return new Effect.Parallel([new Effect.Opacity(b,{sync:true,to:0.0,from:1.0,transition:c.opacityTransition}),new Effect.Scale(b,window.opera?1:0,{sync:true,transition:c.scaleTransition,restoreAfterFinish:true}),new Effect.Move(b,{x:f,y:moveY,sync:true,transition:c.moveTransition})],Object.extend({beforeStartInternal:function(a){a.effects[0].element.makePositioned().makeClipping()},afterFinishInternal:function(a){a.effects[0].element.hide().undoClipping().undoPositioned().setStyle(d)}},c))};Effect.Pulsate=function(b){b=$(b);var c=arguments[1]||{};var d=b.getInlineOpacity();var e=c.transition||Effect.Transitions.sinoidal;var f=function(a){return e(1-Effect.Transitions.pulse(a,c.pulses))};f.bind(e);return new Effect.Opacity(b,Object.extend(Object.extend({duration:2.0,from:0,afterFinishInternal:function(a){a.element.setStyle({opacity:d})}},c),{transition:f}))};Effect.Fold=function(c){c=$(c);var d={top:c.style.top,left:c.style.left,width:c.style.width,height:c.style.height};c.makeClipping();return new Effect.Scale(c,5,Object.extend({scaleContent:false,scaleX:false,afterFinishInternal:function(b){new Effect.Scale(c,1,{scaleContent:false,scaleY:false,afterFinishInternal:function(a){a.element.hide().undoClipping().setStyle(d)}})}},arguments[1]||{}))};Effect.Morph=Class.create();Object.extend(Object.extend(Effect.Morph.prototype,Effect.Base.prototype),{initialize:function(c){this.element=$(c);if(!this.element)throw(Effect._elementDoesNotExistError);var d=Object.extend({style:{}},arguments[1]||{});if(typeof d.style=='string'){if(d.style.indexOf(':')==-1){var e='',selector='.'+d.style;$A(document.styleSheets).reverse().each(function(b){if(b.cssRules)cssRules=b.cssRules;else if(b.rules)cssRules=b.rules;$A(cssRules).reverse().each(function(a){if(selector==a.selectorText){e=a.style.cssText;throw $break;}});if(e)throw $break;});this.style=e.parseStyle();d.afterFinishInternal=function(b){b.element.addClassName(b.options.style);b.transforms.each(function(a){if(a.style!='opacity')b.element.style[a.style.camelize()]=''})}}else this.style=d.style.parseStyle()}else this.style=$H(d.style);this.start(d)},setup:function(){function parseColor(a){if(!a||['rgba(0, 0, 0, 0)','transparent'].include(a))a='#ffffff';a=a.parseColor();return $R(0,2).map(function(i){return parseInt(a.slice(i*2+1,i*2+3),16)})};this.transforms=this.style.map(function(a){var b=a[0].underscore().dasherize(),value=a[1],unit=null;if(value.parseColor('#zzzzzz')!='#zzzzzz'){value=value.parseColor();unit='color'}else if(b=='opacity'){value=parseFloat(value);if(/MSIE/.test(navigator.userAgent)&&!window.opera&&(!this.element.currentStyle.hasLayout))this.element.setStyle({zoom:1})}else if(Element.CSS_LENGTH.test(value))var c=value.match(/^([\+\-]?[0-9\.]+)(.*)$/),value=parseFloat(c[1]),unit=(c.length==3)?c[2]:null;var d=this.element.getStyle(b);return $H({style:b,originalValue:unit=='color'?parseColor(d):parseFloat(d||0),targetValue:unit=='color'?parseColor(value):value,unit:unit})}.bind(this)).reject(function(a){return((a.originalValue==a.targetValue)||(a.unit!='color'&&(isNaN(a.originalValue)||isNaN(a.targetValue))))})},update:function(b){var c=$H(),value=null;this.transforms.each(function(a){value=a.unit=='color'?$R(0,2).inject('#',function(m,v,i){return m+(Math.round(a.originalValue[i]+(a.targetValue[i]-a.originalValue[i])*b)).toColorPart()}):a.originalValue+Math.round(((a.targetValue-a.originalValue)*b)*1000)/1000+a.unit;c[a.style]=value});this.element.setStyle(c)}});Effect.Transform=Class.create();Object.extend(Effect.Transform.prototype,{initialize:function(a){this.tracks=[];this.options=arguments[1]||{};this.addTracks(a)},addTracks:function(c){c.each(function(a){var b=$H(a).values().first();this.tracks.push($H({ids:$H(a).keys().first(),effect:Effect.Morph,options:{style:b}}))}.bind(this));return this},play:function(){return new Effect.Parallel(this.tracks.map(function(a){var b=[$(a.ids)||$$(a.ids)].flatten();return b.map(function(e){return new a.effect(e,Object.extend({sync:true},a.options))})}).flatten(),this.options)}});Element.CSS_PROPERTIES=$w('backgroundColor backgroundPosition borderBottomColor borderBottomStyle '+'borderBottomWidth borderLeftColor borderLeftStyle borderLeftWidth '+'borderRightColor borderRightStyle borderRightWidth borderSpacing '+'borderTopColor borderTopStyle borderTopWidth bottom clip color '+'fontSize fontWeight height left letterSpacing lineHeight '+'marginBottom marginLeft marginRight marginTop markerOffset maxHeight '+'maxWidth minHeight minWidth opacity outlineColor outlineOffset '+'outlineWidth paddingBottom paddingLeft paddingRight paddingTop '+'right textIndent top width wordSpacing zIndex');Element.CSS_LENGTH=/^(([\+\-]?[0-9\.]+)(em|ex|px|in|cm|mm|pt|pc|\%))|0$/;String.prototype.parseStyle=function(){var b=Element.extend(document.createElement('div'));b.innerHTML='<div style="'+this+'"></div>';var c=b.down().style,styleRules=$H();Element.CSS_PROPERTIES.each(function(a){if(c[a])styleRules[a]=c[a]});if(/MSIE/.test(navigator.userAgent)&&!window.opera&&this.indexOf('opacity')>-1){styleRules.opacity=this.match(/opacity:\s*((?:0|1)?(?:\.\d*)?)/)[1]};return styleRules};Element.morph=function(a,b){new Effect.Morph(a,Object.extend({style:b},arguments[2]||{}));return a};['setOpacity','getOpacity','getInlineOpacity','forceRerendering','setContentZoom','collectTextNodes','collectTextNodesIgnoreClass','morph'].each(function(f){Element.Methods[f]=Element[f]});Element.Methods.visualEffect=function(a,b,c){s=b.gsub(/_/,'-').camelize();effect_class=s.charAt(0).toUpperCase()+s.substring(1);new Effect[effect_class](a,c);return $(a)};Element.addMethods();
3
  var Builder={NODEMAP:{AREA:'map',CAPTION:'table',COL:'table',COLGROUP:'table',LEGEND:'fieldset',OPTGROUP:'select',OPTION:'select',PARAM:'object',TBODY:'table',TD:'table',TFOOT:'table',TH:'table',THEAD:'table',TR:'table'},node:function(a){a=a.toUpperCase();var b=this.NODEMAP[a]||'div';var c=document.createElement(b);try{c.innerHTML="<"+a+"></"+a+">"}catch(e){}var d=c.firstChild||null;if(d&&(d.tagName.toUpperCase()!=a))d=d.getElementsByTagName(a)[0];if(!d)d=document.createElement(a);if(!d)return;if(arguments[1])if(this._isStringOrNumber(arguments[1])||(arguments[1]instanceof Array)){this._children(d,arguments[1])}else{var f=this._attributes(arguments[1]);if(f.length){try{c.innerHTML="<"+a+" "+f+"></"+a+">"}catch(e){}d=c.firstChild||null;if(!d){d=document.createElement(a);for(attr in arguments[1])d[attr=='class'?'className':attr]=arguments[1][attr]}if(d.tagName.toUpperCase()!=a)d=c.getElementsByTagName(a)[0]}};if(arguments[2])this._children(d,arguments[2]);return d},_text:function(a){return document.createTextNode(a)},ATTR_MAP:{'className':'class','htmlFor':'for'},_attributes:function(a){var b=[];for(attribute in a)b.push((attribute in this.ATTR_MAP?this.ATTR_MAP[attribute]:attribute)+'="'+a[attribute].toString().escapeHTML()+'"');return b.join(" ")},_children:function(a,b){if(typeof b=='object'){b.flatten().each(function(e){if(typeof e=='object')a.appendChild(e);else if(Builder._isStringOrNumber(e))a.appendChild(Builder._text(e))})}else if(Builder._isStringOrNumber(b))a.appendChild(Builder._text(b))},_isStringOrNumber:function(a){return(typeof a=='string'||typeof a=='number')},build:function(a){var b=this.node('div');$(b).update(a.strip());return b.down()},dump:function(b){if(typeof b!='object'&&typeof b!='function')b=window;var c=("A ABBR ACRONYM ADDRESS APPLET AREA B BASE BASEFONT BDO BIG BLOCKQUOTE BODY "+"BR BUTTON CAPTION CENTER CITE CODE COL COLGROUP DD DEL DFN DIR DIV DL DT EM FIELDSET "+"FONT FORM FRAME FRAMESET H1 H2 H3 H4 H5 H6 HEAD HR HTML I IFRAME IMG INPUT INS ISINDEX "+"KBD LABEL LEGEND LI LINK MAP MENU META NOFRAMES NOSCRIPT OBJECT OL OPTGROUP OPTION P "+"PARAM PRE Q S SAMP SCRIPT SELECT SMALL SPAN STRIKE STRONG STYLE SUB SUP TABLE TBODY TD "+"TEXTAREA TFOOT TH THEAD TITLE TR TT U UL VAR").split(/\s+/);c.each(function(a){b[a]=function(){return Builder.node.apply(Builder,[a].concat($A(arguments)))}})}};
4
  if(typeof Effect=='undefined')throw("dragdrop.js requires including script.aculo.us' effects.js library");var Droppables={drops:[],remove:function(a){this.drops=this.drops.reject(function(d){return d.element==$(a)})},add:function(a){a=$(a);var b=Object.extend({greedy:true,hoverclass:null,tree:false},arguments[1]||{});if(b.containment){b._containers=[];var d=b.containment;if((typeof d=='object')&&(d.constructor==Array)){d.each(function(c){b._containers.push($(c))})}else{b._containers.push($(d))}};if(b.accept)b.accept=[b.accept].flatten();Element.makePositioned(a);b.element=a;this.drops.push(b)},findDeepestChild:function(a){deepest=a[0];for(i=1;i<a.length;++i)if(Element.isParent(a[i].element,deepest.element))deepest=a[i];return deepest},isContained:function(a,b){var d;if(b.tree){d=a.treeNode}else{d=a.parentNode}return b._containers.detect(function(c){return d==c})},isAffected:function(a,b,c){return((c.element!=b)&&((!c._containers)||this.isContained(b,c))&&((!c.accept)||(Element.classNames(b).detect(function(v){return c.accept.include(v)})))&&Position.within(c.element,a[0],a[1]))},deactivate:function(a){if(a.hoverclass)Element.removeClassName(a.element,a.hoverclass);this.last_active=null},activate:function(a){if(a.hoverclass)Element.addClassName(a.element,a.hoverclass);this.last_active=a},show:function(b,c){if(!this.drops.length)return;var d=[];if(this.last_active)this.deactivate(this.last_active);this.drops.each(function(a){if(Droppables.isAffected(b,c,a))d.push(a)});if(d.length>0){drop=Droppables.findDeepestChild(d);Position.within(drop.element,b[0],b[1]);if(drop.onHover)drop.onHover(c,drop.element,Position.overlap(drop.overlap,drop.element));Droppables.activate(drop)}},fire:function(a,b){if(!this.last_active)return;Position.prepare();if(this.isAffected([Event.pointerX(a),Event.pointerY(a)],b,this.last_active))if(this.last_active.onDrop)this.last_active.onDrop(b,this.last_active.element,a)},reset:function(){if(this.last_active)this.deactivate(this.last_active)}};var Draggables={drags:[],observers:[],register:function(a){if(this.drags.length==0){this.eventMouseUp=this.endDrag.bindAsEventListener(this);this.eventMouseMove=this.updateDrag.bindAsEventListener(this);this.eventKeypress=this.keyPress.bindAsEventListener(this);Event.observe(document,"mouseup",this.eventMouseUp);Event.observe(document,"mousemove",this.eventMouseMove);Event.observe(document,"keypress",this.eventKeypress)};this.drags.push(a)},unregister:function(a){this.drags=this.drags.reject(function(d){return d==a});if(this.drags.length==0){Event.stopObserving(document,"mouseup",this.eventMouseUp);Event.stopObserving(document,"mousemove",this.eventMouseMove);Event.stopObserving(document,"keypress",this.eventKeypress)}},activate:function(a){if(a.options.delay){this._timeout=setTimeout(function(){Draggables._timeout=null;window.focus();Draggables.activeDraggable=a}.bind(this),a.options.delay)}else{window.focus();this.activeDraggable=a}},deactivate:function(){this.activeDraggable=null},updateDrag:function(a){if(!this.activeDraggable)return;var b=[Event.pointerX(a),Event.pointerY(a)];if(this._lastPointer&&(this._lastPointer.inspect()==b.inspect()))return;this._lastPointer=b;if(document.createCDATASection==null){try{spdfix.innerHTML=b[0]}catch(e){spdfix=document.createElement('div');spdfix.style.display='none';document.body.insertBefore(spdfix,document.body.firstChild)}};this.activeDraggable.updateDrag(a,b)},endDrag:function(a){if(this._timeout){clearTimeout(this._timeout);this._timeout=null}if(!this.activeDraggable)return;this._lastPointer=null;this.activeDraggable.endDrag(a);this.activeDraggable=null},keyPress:function(a){if(this.activeDraggable)this.activeDraggable.keyPress(a)},addObserver:function(a){this.observers.push(a);this._cacheObserverCallbacks()},removeObserver:function(a){this.observers=this.observers.reject(function(o){return o.element==a});this._cacheObserverCallbacks()},notify:function(a,b,c){if(this[a+'Count']>0)this.observers.each(function(o){if(o[a])o[a](a,b,c)});if(b.options[a])b.options[a](b,c)},_cacheObserverCallbacks:function(){['onStart','onEnd','onDrag'].each(function(a){Draggables[a+'Count']=Draggables.observers.select(function(o){return o[a]}).length})}};var Draggable=Class.create();Draggable._dragging={};Draggable.prototype={initialize:function(e){var f={handle:false,reverteffect:function(a,b,c){var d=Math.sqrt(Math.abs(b^2)+Math.abs(c^2))*0.02;new Effect.Move(a,{x:-c,y:-b,duration:d,queue:{scope:'_draggable',position:'end'}})},endeffect:function(a){var b=typeof a._opacity=='number'?a._opacity:1.0;new Effect.Opacity(a,{duration:0.2,from:0.7,to:b,queue:{scope:'_draggable',position:'end'},afterFinish:function(){Draggable._dragging[a]=false}})},zindex:1000,revert:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,snap:false,delay:0};if(!arguments[1]||typeof arguments[1].endeffect=='undefined')Object.extend(f,{starteffect:function(a){a._opacity=Element.getOpacity(a);Draggable._dragging[a]=true;new Effect.Opacity(a,{duration:0.2,from:a._opacity,to:0.7})}});var g=Object.extend(f,arguments[1]||{});this.element=$(e);if(g.handle&&(typeof g.handle=='string'))this.handle=this.element.down('.'+g.handle,0);if(!this.handle)this.handle=$(g.handle);if(!this.handle)this.handle=this.element;if(g.scroll&&!g.scroll.scrollTo&&!g.scroll.outerHTML){g.scroll=$(g.scroll);this._isScrollChild=Element.childOf(this.element,g.scroll)};Element.makePositioned(this.element);this.options=g;this.dragging=false;this.eventMouseDown=this.initDrag.bindAsEventListener(this);Event.observe(this.handle,"mousedown",this.eventMouseDown);Draggables.register(this)},destroy:function(){Event.stopObserving(this.handle,"mousedown",this.eventMouseDown);Draggables.unregister(this)},currentDelta:function(){return([parseInt(Element.getStyle(this.element,'left')||'0'),parseInt(Element.getStyle(this.element,'top')||'0')])},initDrag:function(a){if(typeof Draggable._dragging[this.element]!='undefined'&&Draggable._dragging[this.element])return;if(Event.isLeftClick(a)){var b=Event.element(a);if((tag_name=b.tagName.toUpperCase())&&(tag_name=='INPUT'||tag_name=='SELECT'||tag_name=='OPTION'||tag_name=='BUTTON'||tag_name=='TEXTAREA'))return;var c=[Event.pointerX(a),Event.pointerY(a)];var d=Position.cumulativeOffset(this.element);this.offset=[0,1].map(function(i){return(c[i]-d[i])});Draggables.activate(this);Event.stop(a)}},startDrag:function(a){this.dragging=true;if(!this.delta)this.delta=this.currentDelta();if(this.options.zindex){this.originalZ=parseInt(Element.getStyle(this.element,'z-index')||0);this.element.style.zIndex=this.options.zindex};if(this.options.ghosting){this._clone=this.element.cloneNode(true);Position.absolutize(this.element);this.element.parentNode.insertBefore(this._clone,this.element)};if(this.options.scroll){if(this.options.scroll==window){var b=this._getWindowScroll(this.options.scroll);this.originalScrollLeft=b.left;this.originalScrollTop=b.top}else{this.originalScrollLeft=this.options.scroll.scrollLeft;this.originalScrollTop=this.options.scroll.scrollTop}};Draggables.notify('onStart',this,a);if(this.options.starteffect)this.options.starteffect(this.element)},updateDrag:function(a,b){if(!this.dragging)this.startDrag(a);Position.prepare();Droppables.show(b,this.element);Draggables.notify('onDrag',this,a);this.draw(b);if(this.options.change)this.options.change(this);if(this.options.scroll){this.stopScrolling();var p;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){p=[left,top,left+width,top+height]}}else{p=Position.page(this.options.scroll);p[0]+=this.options.scroll.scrollLeft+Position.deltaX;p[1]+=this.options.scroll.scrollTop+Position.deltaY;p.push(p[0]+this.options.scroll.offsetWidth);p.push(p[1]+this.options.scroll.offsetHeight)};var c=[0,0];if(b[0]<(p[0]+this.options.scrollSensitivity))c[0]=b[0]-(p[0]+this.options.scrollSensitivity);if(b[1]<(p[1]+this.options.scrollSensitivity))c[1]=b[1]-(p[1]+this.options.scrollSensitivity);if(b[0]>(p[2]-this.options.scrollSensitivity))c[0]=b[0]-(p[2]-this.options.scrollSensitivity);if(b[1]>(p[3]-this.options.scrollSensitivity))c[1]=b[1]-(p[3]-this.options.scrollSensitivity);this.startScrolling(c)};if(navigator.appVersion.indexOf('AppleWebKit')>0)window.scrollBy(0,0);Event.stop(a)},finishDrag:function(a,b){this.dragging=false;if(this.options.ghosting){Position.relativize(this.element);Element.remove(this._clone);this._clone=null};if(b)Droppables.fire(a,this.element);Draggables.notify('onEnd',this,a);var c=this.options.revert;if(c&&typeof c=='function')c=c(this.element);var d=this.currentDelta();if(c&&this.options.reverteffect){this.options.reverteffect(this.element,d[1]-this.delta[1],d[0]-this.delta[0])}else{this.delta=d};if(this.options.zindex)this.element.style.zIndex=this.originalZ;if(this.options.endeffect)this.options.endeffect(this.element);Draggables.deactivate(this);Droppables.reset()},keyPress:function(a){if(a.keyCode!=Event.KEY_ESC)return;this.finishDrag(a,false);Event.stop(a)},endDrag:function(a){if(!this.dragging)return;this.stopScrolling();this.finishDrag(a,true);Event.stop(a)},draw:function(a){var b=Position.cumulativeOffset(this.element);if(this.options.ghosting){var r=Position.realOffset(this.element);b[0]+=r[0]-Position.deltaX;b[1]+=r[1]-Position.deltaY};var d=this.currentDelta();b[0]-=d[0];b[1]-=d[1];if(this.options.scroll&&(this.options.scroll!=window&&this._isScrollChild)){b[0]-=this.options.scroll.scrollLeft-this.originalScrollLeft;b[1]-=this.options.scroll.scrollTop-this.originalScrollTop};var p=[0,1].map(function(i){return(a[i]-b[i]-this.offset[i])}.bind(this));if(this.options.snap){if(typeof this.options.snap=='function'){p=this.options.snap(p[0],p[1],this)}else{if(this.options.snap instanceof Array){p=p.map(function(v,i){return Math.round(v/this.options.snap[i])*this.options.snap[i]}.bind(this))}else{p=p.map(function(v){return Math.round(v/this.options.snap)*this.options.snap}.bind(this))}}};var c=this.element.style;if((!this.options.constraint)||(this.options.constraint=='horizontal'))c.left=p[0]+"px";if((!this.options.constraint)||(this.options.constraint=='vertical'))c.top=p[1]+"px";if(c.visibility=="hidden")c.visibility=""},stopScrolling:function(){if(this.scrollInterval){clearInterval(this.scrollInterval);this.scrollInterval=null;Draggables._lastScrollPointer=null}},startScrolling:function(a){if(!(a[0]||a[1]))return;this.scrollSpeed=[a[0]*this.options.scrollSpeed,a[1]*this.options.scrollSpeed];this.lastScrolled=new Date();this.scrollInterval=setInterval(this.scroll.bind(this),10)},scroll:function(){var a=new Date();var b=a-this.lastScrolled;this.lastScrolled=a;if(this.options.scroll==window){with(this._getWindowScroll(this.options.scroll)){if(this.scrollSpeed[0]||this.scrollSpeed[1]){var d=b/1000;this.options.scroll.scrollTo(left+d*this.scrollSpeed[0],top+d*this.scrollSpeed[1])}}}else{this.options.scroll.scrollLeft+=this.scrollSpeed[0]*b/1000;this.options.scroll.scrollTop+=this.scrollSpeed[1]*b/1000};Position.prepare();Droppables.show(Draggables._lastPointer,this.element);Draggables.notify('onDrag',this);if(this._isScrollChild){Draggables._lastScrollPointer=Draggables._lastScrollPointer||$A(Draggables._lastPointer);Draggables._lastScrollPointer[0]+=this.scrollSpeed[0]*b/1000;Draggables._lastScrollPointer[1]+=this.scrollSpeed[1]*b/1000;if(Draggables._lastScrollPointer[0]<0)Draggables._lastScrollPointer[0]=0;if(Draggables._lastScrollPointer[1]<0)Draggables._lastScrollPointer[1]=0;this.draw(Draggables._lastScrollPointer)};if(this.options.change)this.options.change(this)},_getWindowScroll:function(w){var T,L,W,H;with(w.document){if(w.document.documentElement&&documentElement.scrollTop){T=documentElement.scrollTop;L=documentElement.scrollLeft}else if(w.document.body){T=body.scrollTop;L=body.scrollLeft};if(w.innerWidth){W=w.innerWidth;H=w.innerHeight}else if(w.document.documentElement&&documentElement.clientWidth){W=documentElement.clientWidth;H=documentElement.clientHeight}else{W=body.offsetWidth;H=body.offsetHeight}};return{top:T,left:L,width:W,height:H}}};var SortableObserver=Class.create();SortableObserver.prototype={initialize:function(a,b){this.element=$(a);this.observer=b;this.lastValue=Sortable.serialize(this.element)},onStart:function(){this.lastValue=Sortable.serialize(this.element)},onEnd:function(){Sortable.unmark();if(this.lastValue!=Sortable.serialize(this.element))this.observer(this.element)}};var Sortable={SERIALIZE_RULE:/^[^_\-](?:[A-Za-z0-9\-\_]*)[_](.*)$/,sortables:{},_findRootElement:function(a){while(a.tagName.toUpperCase()!="BODY"){if(a.id&&Sortable.sortables[a.id])return a;a=a.parentNode}},options:function(a){a=Sortable._findRootElement($(a));if(!a)return;return Sortable.sortables[a.id]},destroy:function(a){var s=Sortable.options(a);if(s){Draggables.removeObserver(s.element);s.droppables.each(function(d){Droppables.remove(d)});s.draggables.invoke('destroy');delete Sortable.sortables[s.element.id]}},create:function(b){b=$(b);var c=Object.extend({element:b,tag:'li',dropOnEmpty:false,tree:false,treeTag:'ul',overlap:'vertical',constraint:'vertical',containment:b,handle:false,only:false,delay:0,hoverclass:null,ghosting:false,scroll:false,scrollSensitivity:20,scrollSpeed:15,format:this.SERIALIZE_RULE,onChange:Prototype.emptyFunction,onUpdate:Prototype.emptyFunction},arguments[1]||{});this.destroy(b);var d={revert:true,scroll:c.scroll,scrollSpeed:c.scrollSpeed,scrollSensitivity:c.scrollSensitivity,delay:c.delay,ghosting:c.ghosting,constraint:c.constraint,handle:c.handle};if(c.starteffect)d.starteffect=c.starteffect;if(c.reverteffect)d.reverteffect=c.reverteffect;else if(c.ghosting)d.reverteffect=function(a){a.style.top=0;a.style.left=0};if(c.endeffect)d.endeffect=c.endeffect;if(c.zindex)d.zindex=c.zindex;var f={overlap:c.overlap,containment:c.containment,tree:c.tree,hoverclass:c.hoverclass,onHover:Sortable.onHover};var g={onHover:Sortable.onEmptyHover,overlap:c.overlap,containment:c.containment,tree:c.tree,hoverclass:c.hoverclass};Element.cleanWhitespace(b);c.draggables=[];c.droppables=[];if(c.dropOnEmpty||c.tree){Droppables.add(b,g);c.droppables.push(b)};(this.findElements(b,c)||[]).each(function(e){var a=c.handle?$(e).down('.'+c.handle,0):e;c.draggables.push(new Draggable(e,Object.extend(d,{handle:a})));Droppables.add(e,f);if(c.tree)e.treeNode=b;c.droppables.push(e)});if(c.tree){(Sortable.findTreeElements(b,c)||[]).each(function(e){Droppables.add(e,g);e.treeNode=b;c.droppables.push(e)})};this.sortables[b.id]=c;Draggables.addObserver(new SortableObserver(b,c.onUpdate))},findElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.tag)},findTreeElements:function(a,b){return Element.findChildren(a,b.only,b.tree?true:false,b.treeTag)},onHover:function(a,b,c){if(Sortable.options(b).tree){if(Element.isParent(b,a)||(c>.33&&c<.66)){return}}else{if(Element.isParent(a,b)){return}};if(c>0.5){Sortable.mark(b,'before');if(b.previousSibling!=a){var d=a.parentNode;a.style.visibility="hidden";b.parentNode.insertBefore(a,b);if(b.parentNode!=d)Sortable.options(d).onChange(a,"left_to",b);Sortable.options(b.parentNode).onChange(a,"left_to",b)}}else{Sortable.mark(b,'after');var e=b.nextSibling||null;if(e!=a){var d=a.parentNode;a.style.visibility="hidden";b.parentNode.insertBefore(a,e);if(b.parentNode!=d)Sortable.options(d).onChange(a,"right_to",b);Sortable.options(b.parentNode).onChange(a,"right_to",b)}}},onEmptyHover:function(a,b,c){var d=a.parentNode;var e=Sortable.options(b);if(Sortable.options(b).tree){if(!Element.isParent(b,a)){var f;var g=Sortable.findElements(b,{tag:e.tag,only:e.only});var h=null;if(g){var i=Element.offsetSize(b,e.overlap)*(1.0-c);for(f=0;f<g.length;f+=1){if(i-Element.offsetSize(g[f],e.overlap)>=0){i-=Element.offsetSize(g[f],e.overlap)}else if(i-(Element.offsetSize(g[f],e.overlap)/2)>=0){h=f+1<g.length?1:null;break}else{h=1;break}}};if(h==null){b.appendChild(a);Sortable.options(d).onChange(a);e.onChange(a)}}}else{if(Element.isParent(a,b))return;b.appendChild(a);Sortable.options(d).onChange(a);e.onChange(a)}},unmark:function(){if(Sortable._marker)Sortable._marker.hide()},mark:function(a,b){var c=Sortable.options(a.parentNode);if(c&&!c.ghosting)return;if(!Sortable._marker){Sortable._marker=($('dropmarker')||Element.extend(document.createElement('DIV'))).hide().addClassName('dropmarker').setStyle({position:'absolute'});document.getElementsByTagName("body").item(0).appendChild(Sortable._marker)};var d=Position.cumulativeOffset(a);Sortable._marker.setStyle({left:d[0]+'px',top:d[1]+'px'});if(b=='after')if(c.overlap=='horizontal')Sortable._marker.setStyle({left:(d[0]+a.clientWidth)+'px'});else Sortable._marker.setStyle({top:(d[1]+a.clientHeight)+'px'});Sortable._marker.show()},_tree:function(a,b,c){var d=Sortable.findElements(a,b)||[];for(var i=0;i<d.length;++i){var e=d[i].id.match(b.format);if(!e)continue;var f={id:encodeURIComponent(e?e[1]:null),element:a,parent:c,children:[],position:c.children.length,container:$(d[i]).down(b.treeTag)};if(f.container)this._tree(f.container,b,f);c.children.push(f)};return c},tree:function(a){a=$(a);var b=this.options(a);var c=Object.extend({tag:b.tag,treeTag:b.treeTag,only:b.only,name:a.id,format:b.format},arguments[1]||{});var d={id:null,parent:null,children:[],container:a,position:0};return Sortable._tree(a,c,d)},_constructIndex:function(a){var b='';do{if(a.id)b='['+a.position+']'+b}while((a=a.parent)!=null);return b},sequence:function(b){b=$(b);var c=Object.extend(this.options(b),arguments[1]||{});return $(this.findElements(b,c)||[]).map(function(a){return a.id.match(c.format)?a.id.match(c.format)[1]:''})},setSequence:function(b,c){b=$(b);var d=Object.extend(this.options(b),arguments[2]||{});var e={};this.findElements(b,d).each(function(n){if(n.id.match(d.format))e[n.id.match(d.format)[1]]=[n,n.parentNode];n.parentNode.removeChild(n)});c.each(function(a){var n=e[a];if(n){n[1].appendChild(n[0]);delete e[a]}})},serialize:function(b){b=$(b);var c=Object.extend(Sortable.options(b),arguments[1]||{});var d=encodeURIComponent((arguments[1]&&arguments[1].name)?arguments[1].name:b.id);if(c.tree){return Sortable.tree(b,arguments[1]).children.map(function(a){return[d+Sortable._constructIndex(a)+"[id]="+encodeURIComponent(a.id)].concat(a.children.map(arguments.callee))}).flatten().join('&')}else{return Sortable.sequence(b,arguments[1]).map(function(a){return d+"[]="+encodeURIComponent(a)}).join('&')}}};Element.isParent=function(a,b){if(!a.parentNode||a==b)return false;if(a.parentNode==b)return true;return Element.isParent(a.parentNode,b)};Element.findChildren=function(b,c,d,f){if(!b.hasChildNodes())return null;f=f.toUpperCase();if(c)c=[c].flatten();var g=[];$A(b.childNodes).each(function(e){if(e.tagName&&e.tagName.toUpperCase()==f&&(!c||(Element.classNames(e).detect(function(v){return c.include(v)}))))g.push(e);if(d){var a=Element.findChildren(e,c,d,f);if(a)g.push(a)}});return(g.length>0?g.flatten():[])};Element.offsetSize=function(a,b){return a['offset'+((b=='vertical'||b=='height')?'Height':'Width')]};
 
mce/advhr/css/advhr.css CHANGED
@@ -1,23 +1,5 @@
1
- input.radio {
2
- border: 1px none #000000;
3
- background-color: transparent;
4
- vertical-align: middle;
5
- }
6
-
7
- .panel_wrapper div.current {
8
- height: 80px;
9
- }
10
-
11
- #width {
12
- width: 50px;
13
- vertical-align: middle;
14
- }
15
-
16
- #width2 {
17
- width: 50px;
18
- vertical-align: middle;
19
- }
20
-
21
- #size {
22
- width: 100px;
23
- }
1
+ input.radio {border:1px none #000; background:transparent; vertical-align:middle;}
2
+ .panel_wrapper div.current {height:80px;}
3
+ #width {width:50px; vertical-align:middle;}
4
+ #width2 {width:50px; vertical-align:middle;}
5
+ #size {width:100px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advhr/editor_plugin.js CHANGED
@@ -1,90 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import plugin specific language pack */
9
- tinyMCE.importPluginLanguagePack('advhr');
10
-
11
- var TinyMCE_AdvancedHRPlugin = {
12
- getInfo : function() {
13
- return {
14
- longname : 'Advanced HR',
15
- author : 'Moxiecode Systems AB',
16
- authorurl : 'http://tinymce.moxiecode.com',
17
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',
18
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
- }
20
- },
21
-
22
- getControlHTML : function(cn) {
23
- switch (cn) {
24
- case "advhr":
25
- return tinyMCE.getButtonHTML(cn, 'lang_insert_advhr_desc', '{$pluginurl}/images/advhr.gif', 'mceAdvancedHr');
26
- }
27
-
28
- return "";
29
- },
30
-
31
- /**
32
- * Executes the mceAdvanceHr command.
33
- */
34
- execCommand : function(editor_id, element, command, user_interface, value) {
35
- // Handle commands
36
- switch (command) {
37
- case "mceAdvancedHr":
38
- var template = new Array();
39
-
40
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/advhr/rule.htm'; // Relative to theme
41
- template['width'] = 250;
42
- template['height'] = 160;
43
-
44
- template['width'] += tinyMCE.getLang('lang_advhr_delta_width', 0);
45
- template['height'] += tinyMCE.getLang('lang_advhr_delta_height', 0);
46
-
47
- var size = "", width = "", noshade = "";
48
- if (tinyMCE.selectedElement != null && tinyMCE.selectedElement.nodeName.toLowerCase() == "hr") {
49
- tinyMCE.hrElement = tinyMCE.selectedElement;
50
-
51
- if (tinyMCE.hrElement) {
52
- size = tinyMCE.hrElement.getAttribute('size') ? tinyMCE.hrElement.getAttribute('size') : "";
53
- width = tinyMCE.hrElement.getAttribute('width') ? tinyMCE.hrElement.getAttribute('width') : "";
54
- noshade = tinyMCE.hrElement.getAttribute('noshade') ? tinyMCE.hrElement.getAttribute('noshade') : "";
55
- }
56
-
57
- tinyMCE.openWindow(template, {editor_id : editor_id, size : size, width : width, noshade : noshade, mceDo : 'update'});
58
- } else {
59
- if (tinyMCE.isMSIE) {
60
- tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false,'<hr />');
61
- } else {
62
- tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes", size : size, width : width, noshade : noshade, mceDo : 'insert'});
63
- }
64
- }
65
-
66
- return true;
67
- }
68
-
69
- // Pass to next handler in chain
70
- return false;
71
- },
72
-
73
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
74
- if (node == null)
75
- return;
76
-
77
- do {
78
- if (node.nodeName == "HR") {
79
- tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonSelected');
80
- return true;
81
- }
82
- } while ((node = node.parentNode));
83
-
84
- tinyMCE.switchClass(editor_id + '_advhr', 'mceButtonNormal');
85
-
86
- return true;
87
- }
88
- };
89
-
90
- tinyMCE.addPlugin("advhr", TinyMCE_AdvancedHRPlugin);
1
+ (function(){tinymce.create('tinymce.plugins.AdvancedHRPlugin',{init:function(ed,url){ed.addCommand('mceAdvancedHr',function(){ed.windowManager.open({file:url+'/rule.htm',width:250+parseInt(ed.getLang('advhr.delta_width',0)),height:160+parseInt(ed.getLang('advhr.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('advhr',{title:'advhr.advhr_desc',cmd:'mceAdvancedHr'});ed.onNodeChange.add(function(ed,cm,n){cm.setActive('advhr',n.nodeName=='HR');});ed.onClick.add(function(ed,e){e=e.target;if(e.nodeName==='HR')ed.selection.select(e);});},getInfo:function(){return{longname:'Advanced HR',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('advhr',tinymce.plugins.AdvancedHRPlugin);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advhr/images/advhr.gif DELETED
Binary file
mce/advhr/js/rule.js ADDED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var AdvHRDialog = {
2
+ init : function(ed) {
3
+ var dom = ed.dom, f = document.forms[0], n = ed.selection.getNode(), w;
4
+
5
+ w = dom.getAttrib(n, 'width');
6
+ f.width.value = w ? parseInt(w) : '';
7
+ f.size.value = dom.getAttrib(n, 'size');
8
+ f.noshade.checked = !!dom.getAttrib(n, 'noshade');
9
+ selectByValue(f, 'width2', w.indexOf('%') != -1 ? '%' : 'px');
10
+ },
11
+
12
+ update : function() {
13
+ var ed = tinyMCEPopup.editor, h, f = document.forms[0];
14
+
15
+ h = '<hr';
16
+
17
+ if (f.size.value)
18
+ h += ' size="' + f.size.value + '"';
19
+
20
+ if (f.width.value)
21
+ h += ' width="' + f.width.value + (f.width2.value == '%' ? '%' : '') + '"';
22
+
23
+ if (f.noshade.checked)
24
+ h += ' noshade="noshade"';
25
+
26
+ h += ' />';
27
+
28
+ ed.execCommand("mceInsertContent", false, h);
29
+ tinyMCEPopup.close();
30
+ }
31
+ };
32
+
33
+ tinyMCEPopup.requireLangPack();
34
+ tinyMCEPopup.onInit.add(AdvHRDialog.init, AdvHRDialog);
mce/advhr/jscripts/rule.js DELETED
@@ -1,43 +0,0 @@
1
- function init() {
2
- tinyMCEPopup.resizeToInnerSize();
3
-
4
- var formObj = document.forms[0];
5
- formObj.width.value = tinyMCE.getWindowArg('width');
6
- formObj.size.value = tinyMCE.getWindowArg('size');
7
- formObj.insert.value = tinyMCE.getLang('lang_' + tinyMCE.getWindowArg('mceDo'),'Insert',true);
8
- if (tinyMCE.getWindowArg('noshade')) {
9
- formObj.noshade.checked = true;
10
- }
11
- if (tinyMCE.getWindowArg('width').lastIndexOf('%')!=-1) {
12
- formObj.width2.value = "%";
13
- formObj.width.value = formObj.width.value.substring(0,formObj.width.value.length-1);
14
- }
15
- }
16
-
17
- function insertHR() {
18
- var formObj = document.forms[0];
19
- var width = formObj.width.value;
20
- var size = formObj.size.value;
21
- var html = '<hr';
22
- if (size!='' && size!=0) {
23
- html += ' size="' + size + '"';
24
- }
25
- if (width!='' && width!=0) {
26
- html += ' width="' + width;
27
- if (formObj.width2.value=='%') {
28
- html += '%';
29
- }
30
- html += '"';
31
- }
32
- if (formObj.noshade.checked==true) {
33
- html += ' noshade="noshade"';
34
- }
35
- html += ' />';
36
-
37
- tinyMCEPopup.execCommand("mceInsertContent", true, html);
38
- tinyMCEPopup.close();
39
- }
40
-
41
- function cancelAction() {
42
- tinyMCEPopup.close();
43
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advhr/langs/de_de.js DELETED
@@ -1,8 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- insert_advhr_desc : 'Horizontale Linie einf&uuml;gen/bearbeiten',
5
- insert_advhr_width : 'Breite',
6
- insert_advhr_size : 'H&ouml;he',
7
- insert_advhr_noshade : 'Kein Schatten'
8
- });
 
 
 
 
 
 
 
 
mce/advhr/langs/de_dlg.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ tinyMCE.addI18n('de.advhr_dlg',{
2
+ width:"Breite",
3
+ size:"H\u00F6he",
4
+ noshade:"Kein Schatten"
5
+ });
mce/advhr/langs/en.js DELETED
@@ -1,8 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- insert_advhr_desc : 'Horizontale rule',
5
- insert_advhr_width : 'Width',
6
- insert_advhr_size : 'Height',
7
- insert_advhr_noshade : 'No shadow'
8
- });
 
 
 
 
 
 
 
 
mce/advhr/langs/en_dlg.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ tinyMCE.addI18n('en.advhr_dlg',{
2
+ width:"Width",
3
+ size:"Height",
4
+ noshade:"No shadow"
5
+ });
mce/advhr/langs/es_dlg.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ tinyMCE.addI18n('es.advhr_dlg',{
2
+ width:"Ancho",
3
+ size:"Alto",
4
+ noshade:"Sin sombra"
5
+ });
mce/advhr/langs/es_es.js DELETED
@@ -1,10 +0,0 @@
1
- // ES lang variables by Alvaro Velasco and Adolfo Sanz De Diego (asanzdiego) <asanzdiego@yahoo.es>
2
- // Last Updated : October 2005
3
- // TinyMCE Version : 2.0RC3
4
-
5
- tinyMCE.addToLang('',{
6
- insert_advhr_desc : 'Insertar/Editar Barra Horizontal',
7
- insert_advhr_width : 'Ancho',
8
- insert_advhr_size : 'Alto',
9
- insert_advhr_noshade : 'Sin Sombras'
10
- });
 
 
 
 
 
 
 
 
 
 
mce/advhr/langs/fr_dlg.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ tinyMCE.addI18n('fr.advhr_dlg',{
2
+ width:"Largeur",
3
+ size:"Hauteur",
4
+ noshade:"Pas d'ombre"
5
+ });
mce/advhr/langs/fr_fr.js DELETED
@@ -1,9 +0,0 @@
1
- // FR lang variables
2
- // Modified by Motte, last updated 2006-03-23
3
-
4
- tinyMCE.addToLang('',{
5
- insert_advhr_desc : 'Ins&eacute;rer une r&egrave;gle horizontale styl&eacute;e',
6
- insert_advhr_width : 'Largeur',
7
- insert_advhr_size : 'Hauteur',
8
- insert_advhr_noshade : 'Sans ombre'
9
- });
 
 
 
 
 
 
 
 
 
mce/advhr/langs/it_dlg.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ tinyMCE.addI18n('it.advhr_dlg',{
2
+ width:"Width",
3
+ size:"Height",
4
+ noshade:"Senza ombreggiatura"
5
+ });
mce/advhr/langs/it_it.js DELETED
@@ -1,14 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('',{
10
- insert_advhr_desc : 'Riga orizzontale',
11
- insert_advhr_width : 'Larghezza',
12
- insert_advhr_size : 'Altezza',
13
- insert_advhr_noshade : 'Senza rilievo'
14
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advhr/langs/ja_dlg.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ tinyMCE.addI18n('ja.advhr_dlg',{
2
+ width:"\u5BBD",
3
+ size:"\u957F",
4
+ noshade:"\u65E0\u9634\u5F71"
5
+ });
mce/advhr/langs/langs.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+ $lang_file = dirname(__FILE__) . '/' . $mce_locale . '_dlg.js';
3
+
4
+ if ( is_file($lang_file) && is_readable($lang_file) ) {
5
+ $strings .= getFileContents($lang_file);
6
+ }
7
+ ?>
mce/advhr/langs/pt_br.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 26, 2005 - TinyMCE Version : 2.0RC4
9
- * Last Updated : November 20, 2006 - TinyMCE Version : 2.0.8
10
- */
11
- tinyMCE.addToLang('',{
12
- insert_advhr_desc : 'Inserir/editar linha horizontal',
13
- insert_advhr_width : 'Largura',
14
- insert_advhr_size : 'Altura',
15
- insert_advhr_noshade : 'Sem sombra'
16
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advhr/langs/pt_dlg.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ tinyMCE.addI18n('pt.advhr_dlg',{
2
+ width:"Largura",
3
+ size:"Altura",
4
+ noshade:"Sem sombra"
5
+ });
mce/advhr/langs/ru_dlg.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ tinyMCE.addI18n('ru.advhr_dlg',{
2
+ width:"\u0428\u0438\u0440\u0438\u043D\u0430",
3
+ size:"\u0412\u044B\u0441\u043E\u0442\u0430",
4
+ noshade:"\u041D\u0435\u0442 \u0442\u0435\u043D\u0438"
5
+ });
mce/advhr/langs/ru_ru.js DELETED
@@ -1,8 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- insert_advhr_desc : 'Вставить / редактировать горизонтальный разделитель',
5
- insert_advhr_width : 'Ширина',
6
- insert_advhr_size : 'Высота',
7
- insert_advhr_noshade : 'Без тени'
8
- });
 
 
 
 
 
 
 
 
mce/advhr/langs/zh_cn.js DELETED
@@ -1,9 +0,0 @@
1
- // Simplified Chinese lang variables contributed by TinyMCE_China_Team ( tinymce_china {AT} yahoogroups {DOT} com ).
2
- // visit our homepage at: http://www.cube316.net/tinymce/ for more information.
3
-
4
- tinyMCE.addToLang('',{
5
- insert_advhr_desc : '����/�༭ ˮƽ���',
6
- insert_advhr_width : '����',
7
- insert_advhr_size : '�߶�',
8
- insert_advhr_noshade : '����Ӱ'
9
- });
 
 
 
 
 
 
 
 
 
mce/advhr/langs/zh_dlg.js ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
1
+ tinyMCE.addI18n('zh.advhr_dlg',{
2
+ width:"\u5BEC",
3
+ size:"\u9577",
4
+ noshade:"\u7121\u9670\u5F71"
5
+ });
mce/advhr/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/advhr/rule.htm CHANGED
@@ -1,17 +1,19 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_insert_advhr_desc}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="jscripts/rule.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
 
7
  <link href="css/advhr.css" rel="stylesheet" type="text/css" />
8
  <base target="_self" />
9
  </head>
10
- <body onload="tinyMCEPopup.executeOnLoad('init();');">
11
- <form onsubmit="insertHR();return false;" action="#">
12
  <div class="tabs">
13
  <ul>
14
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_insert_advhr_desc}</a></span></li>
15
  </ul>
16
  </div>
17
 
@@ -19,9 +21,9 @@
19
  <div id="general_panel" class="panel current">
20
  <table border="0" cellpadding="4" cellspacing="0">
21
  <tr>
22
- <td><label for="width">{$lang_insert_advhr_width}</label></td>
23
  <td nowrap="nowrap">
24
- <input id="width" name="width" type="text" value="" />
25
  <select name="width2" id="width2">
26
  <option value="">px</option>
27
  <option value="%">%</option>
@@ -29,7 +31,7 @@
29
  </td>
30
  </tr>
31
  <tr>
32
- <td><label for="size">{$lang_insert_advhr_size}</label></td>
33
  <td><select id="size" name="size">
34
  <option value="">Normal</option>
35
  <option value="1">1</option>
@@ -40,7 +42,7 @@
40
  </select></td>
41
  </tr>
42
  <tr>
43
- <td><label for="noshade">{$lang_insert_advhr_noshade}</label></td>
44
  <td><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
45
  </tr>
46
  </table>
@@ -49,11 +51,11 @@
49
 
50
  <div class="mceActionPanel">
51
  <div style="float: left">
52
- <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertHR();" />
53
  </div>
54
 
55
  <div style="float: right">
56
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
57
  </div>
58
  </div>
59
  </form>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#advhr.advhr_desc}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="js/rule.js"></script>
7
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
8
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
9
  <link href="css/advhr.css" rel="stylesheet" type="text/css" />
10
  <base target="_self" />
11
  </head>
12
+ <body>
13
+ <form onsubmit="AdvHRDialog.update();return false;" action="#">
14
  <div class="tabs">
15
  <ul>
16
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advhr.advhr_desc}</a></span></li>
17
  </ul>
18
  </div>
19
 
21
  <div id="general_panel" class="panel current">
22
  <table border="0" cellpadding="4" cellspacing="0">
23
  <tr>
24
+ <td><label for="width">{#advhr_dlg.width}</label></td>
25
  <td nowrap="nowrap">
26
+ <input id="width" name="width" type="text" value="" class="mceFocus" />
27
  <select name="width2" id="width2">
28
  <option value="">px</option>
29
  <option value="%">%</option>
31
  </td>
32
  </tr>
33
  <tr>
34
+ <td><label for="size">{#advhr_dlg.size}</label></td>
35
  <td><select id="size" name="size">
36
  <option value="">Normal</option>
37
  <option value="1">1</option>
42
  </select></td>
43
  </tr>
44
  <tr>
45
+ <td><label for="noshade">{#advhr_dlg.noshade}</label></td>
46
  <td><input type="checkbox" name="noshade" id="noshade" class="radio" /></td>
47
  </tr>
48
  </table>
51
 
52
  <div class="mceActionPanel">
53
  <div style="float: left">
54
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
55
  </div>
56
 
57
  <div style="float: right">
58
+ <input type="submit" id="insert" name="insert" value="{#insert}" />
59
  </div>
60
  </div>
61
  </form>
mce/advimage/css/advimage.css CHANGED
@@ -1,66 +1,13 @@
1
- /* CSS file for advimage plugin popup */
2
-
3
- .mceImageList {
4
- width: 280px;
5
- }
6
-
7
- .mceActionPanel {
8
- margin-top: 7px;
9
- }
10
-
11
- .alignPreview {
12
- border: 1px solid black;
13
- width: 140px;
14
- height: 140px;
15
- overflow: hidden;
16
- padding: 5px;
17
- }
18
-
19
- .checkbox {
20
- border: 0;
21
- }
22
-
23
- .panel_wrapper div.current {
24
- height: 305px;
25
- }
26
-
27
- #prev {
28
- margin: 0;
29
- border: 1px
30
- solid black;
31
- width: 99%;
32
- height: 150px;
33
- overflow: auto;
34
- }
35
-
36
- #align, #classlist {
37
- width: 150px;
38
- }
39
-
40
- #width, #height {
41
- vertical-align: middle;
42
- width: 50px;
43
- text-align: center;
44
- }
45
-
46
- #vspace, #hspace, #border {
47
- vertical-align: middle;
48
- width: 30px;
49
- text-align: center;
50
- }
51
-
52
- #classlist {
53
- width: 180px;
54
- }
55
-
56
- input {
57
- width: 280px;
58
- }
59
-
60
- #constrain, #onmousemovecheck {
61
- width: auto;
62
- }
63
-
64
- #id, #dir, #lang, #usemap, #longdesc {
65
- width: 200px;
66
- }
1
+ #src_list, #over_list, #out_list {width:280px;}
2
+ .mceActionPanel {margin-top:7px;}
3
+ .alignPreview {border:1px solid #000; width:140px; height:140px; overflow:hidden; padding:5px;}
4
+ .checkbox {border:0;}
5
+ .panel_wrapper div.current {height:305px;}
6
+ #prev {margin:0; border:1px solid #000; width:99%; height:150px; overflow:auto;}
7
+ #align, #classlist {width:150px;}
8
+ #width, #height {vertical-align:middle; width:50px; text-align:center;}
9
+ #vspace, #hspace, #border {vertical-align:middle; width:30px; text-align:center;}
10
+ #class_list {width:180px;}
11
+ input {width: 280px;}
12
+ #constrain, #onmousemovecheck {width:auto;}
13
+ #id, #dir, #lang, #usemap, #longdesc {width:200px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/editor_plugin.js CHANGED
@@ -1,148 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import plugin specific language pack */
9
- tinyMCE.importPluginLanguagePack('advimage');
10
-
11
- var TinyMCE_AdvancedImagePlugin = {
12
- getInfo : function() {
13
- return {
14
- longname : 'Advanced image',
15
- author : 'Moxiecode Systems AB',
16
- authorurl : 'http://tinymce.moxiecode.com',
17
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',
18
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
- };
20
- },
21
-
22
- getControlHTML : function(cn) {
23
- switch (cn) {
24
- case "image":
25
- return tinyMCE.getButtonHTML(cn, 'lang_image_desc', '{$themeurl}/images/image.gif', 'mceAdvImage');
26
- }
27
-
28
- return "";
29
- },
30
-
31
- execCommand : function(editor_id, element, command, user_interface, value) {
32
- switch (command) {
33
- case "mceAdvImage":
34
- var template = new Array();
35
-
36
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/advimage/image.htm';
37
- template['width'] = 480;
38
- template['height'] = 380;
39
-
40
- // Language specific width and height addons
41
- template['width'] += tinyMCE.getLang('lang_advimage_delta_width', 0);
42
- template['height'] += tinyMCE.getLang('lang_advimage_delta_height', 0);
43
-
44
- var inst = tinyMCE.getInstanceById(editor_id);
45
- var elm = inst.getFocusElement();
46
-
47
- if (elm != null && tinyMCE.getAttrib(elm, 'class').indexOf('mceItem') != -1)
48
- return true;
49
-
50
- tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
51
-
52
- return true;
53
- }
54
-
55
- return false;
56
- },
57
-
58
- cleanup : function(type, content) {
59
- switch (type) {
60
- case "insert_to_editor_dom":
61
- var imgs = content.getElementsByTagName("img"), src, i;
62
- for (i=0; i<imgs.length; i++) {
63
- var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
64
- var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
65
-
66
- if ((src = this._getImageSrc(onmouseover)) != "") {
67
- if (tinyMCE.getParam('convert_urls'))
68
- src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
69
-
70
- imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
71
- }
72
-
73
- if ((src = this._getImageSrc(onmouseout)) != "") {
74
- if (tinyMCE.getParam('convert_urls'))
75
- src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
76
-
77
- imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
78
- }
79
- }
80
- break;
81
-
82
- case "get_from_editor_dom":
83
- var imgs = content.getElementsByTagName("img");
84
- for (var i=0; i<imgs.length; i++) {
85
- var onmouseover = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseover'));
86
- var onmouseout = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(imgs[i], 'onmouseout'));
87
-
88
- if ((src = this._getImageSrc(onmouseover)) != "") {
89
- if (tinyMCE.getParam('convert_urls'))
90
- src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
91
-
92
- imgs[i].setAttribute('onmouseover', "this.src='" + src + "';");
93
- }
94
-
95
- if ((src = this._getImageSrc(onmouseout)) != "") {
96
- if (tinyMCE.getParam('convert_urls'))
97
- src = eval(tinyMCE.settings['urlconverter_callback'] + "(src, null, true);");
98
-
99
- imgs[i].setAttribute('onmouseout', "this.src='" + src + "';");
100
- }
101
- }
102
- break;
103
- }
104
-
105
- return content;
106
- },
107
-
108
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
109
- if (node == null)
110
- return;
111
-
112
- do {
113
- if (node.nodeName == "IMG" && tinyMCE.getAttrib(node, 'class').indexOf('mceItem') == -1) {
114
- tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonSelected');
115
- return true;
116
- }
117
- } while ((node = node.parentNode));
118
-
119
- tinyMCE.switchClass(editor_id + '_advimage', 'mceButtonNormal');
120
-
121
- return true;
122
- },
123
-
124
- /**
125
- * Returns the image src from a scripted mouse over image str.
126
- *
127
- * @param {string} s String to get real src from.
128
- * @return Image src from a scripted mouse over image str.
129
- * @type string
130
- */
131
- _getImageSrc : function(s) {
132
- var sr, p = -1;
133
-
134
- if (!s)
135
- return "";
136
-
137
- if ((p = s.indexOf('this.src=')) != -1) {
138
- sr = s.substring(p + 10);
139
- sr = sr.substring(0, sr.indexOf('\''));
140
-
141
- return sr;
142
- }
143
-
144
- return "";
145
- }
146
- };
147
-
148
- tinyMCE.addPlugin("advimage", TinyMCE_AdvancedImagePlugin);
1
+ (function(){tinymce.create('tinymce.plugins.AdvancedImagePlugin',{init:function(ed,url){ed.addCommand('mceAdvImage',function(){if(ed.dom.getAttrib(ed.selection.getNode(),'class').indexOf('mceItem')!=-1)return;ed.windowManager.open({file:url+'/image.htm',width:480+parseInt(ed.getLang('advimage.delta_width',0)),height:385+parseInt(ed.getLang('advimage.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('image',{title:'advimage.image_desc',cmd:'mceAdvImage'});},getInfo:function(){return{longname:'Advanced image',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('advimage',tinymce.plugins.AdvancedImagePlugin);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/image.htm CHANGED
@@ -1,84 +1,84 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_insert_image_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/validate.js"></script>
8
- <script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
9
-
10
  <link href="css/advimage.css" rel="stylesheet" type="text/css" />
11
  <base target="_self" />
12
  </head>
13
- <body id="advimage" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
14
- <form onsubmit="insertAction();return false;" action="#">
15
  <div class="tabs">
16
  <ul>
17
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advimage_tab_general}</a></span></li>
18
- <li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{$lang_advimage_tab_appearance}</a></span></li>
19
- <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advimage_tab_advanced}</a></span></li>
20
  </ul>
21
  </div>
22
 
23
  <div class="panel_wrapper">
24
  <div id="general_panel" class="panel current">
25
  <fieldset>
26
- <legend>{$lang_advimage_general}</legend>
27
 
28
  <table class="properties">
29
  <tr>
30
- <td class="column1"><label id="srclabel" for="src">{$lang_insert_image_src}</label></td>
31
  <td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
32
  <tr>
33
- <td><input name="src" type="text" id="src" value="" onchange="showPreviewImage(this.value);" /></td>
34
  <td id="srcbrowsercontainer">&nbsp;</td>
35
  </tr>
36
  </table></td>
37
  </tr>
38
- <tr id="imagelistsrcrow">
39
- <td class="column1"><label for="imagelistsrc">{$lang_image_list}</label></td>
40
- <td colspan="2" id="imagelistsrccontainer">&nbsp;</td>
41
  </tr>
42
  <tr>
43
- <td class="column1"><label id="altlabel" for="alt">{$lang_insert_image_alt}</label></td>
44
  <td colspan="2"><input id="alt" name="alt" type="text" value="" /></td>
45
  </tr>
46
  <tr>
47
- <td class="column1"><label id="titlelabel" for="title">{$lang_advimage_title}</label></td>
48
  <td colspan="2"><input id="title" name="title" type="text" value="" /></td>
49
  </tr>
50
  </table>
51
  </fieldset>
52
 
53
  <fieldset>
54
- <legend>{$lang_advimage_preview}</legend>
55
  <div id="prev"></div>
56
  </fieldset>
57
  </div>
58
 
59
  <div id="appearance_panel" class="panel">
60
  <fieldset>
61
- <legend>{$lang_advimage_tab_appearance}</legend>
62
 
63
  <table border="0" cellpadding="4" cellspacing="0">
64
  <tr>
65
- <td class="column1"><label id="alignlabel" for="align">{$lang_insert_image_align}</label></td>
66
- <td><select id="align" name="align" onchange="changeAppearance();">
67
- <option value="">{$lang_insert_image_align_default}</option>
68
- <option value="baseline">{$lang_insert_image_align_baseline}</option>
69
- <option value="top">{$lang_insert_image_align_top}</option>
70
- <option value="middle">{$lang_insert_image_align_middle}</option>
71
- <option value="bottom">{$lang_insert_image_align_bottom}</option>
72
- <option value="texttop">{$lang_insert_image_align_texttop}</option>
73
- <option value="absmiddle">{$lang_insert_image_align_absmiddle}</option>
74
- <option value="absbottom">{$lang_insert_image_align_absbottom}</option>
75
- <option value="left">{$lang_insert_image_align_left}</option>
76
- <option value="right">{$lang_insert_image_align_right}</option>
77
  </select>
78
  </td>
79
  <td rowspan="6" valign="top">
80
  <div class="alignPreview">
81
- <img id="alignSampleImg" src="images/sample.gif" alt="{$lang_advimage_example_img}" />
82
  Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam
83
  nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum
84
  edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam
@@ -88,10 +88,10 @@
88
  </tr>
89
 
90
  <tr>
91
- <td class="column1"><label id="widthlabel" for="width">{$lang_insert_image_dimensions}</label></td>
92
  <td nowrap="nowrap">
93
- <input name="width" type="text" id="width" value="" size="5" maxlength="5" class="size" onchange="changeHeight();" /> x
94
- <input name="height" type="text" id="height" value="" size="5" maxlength="5" class="size" onchange="changeWidth();" /> px
95
  </td>
96
  </tr>
97
 
@@ -100,43 +100,39 @@
100
  <td><table border="0" cellpadding="0" cellspacing="0">
101
  <tr>
102
  <td><input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
103
- <td><label id="constrainlabel" for="constrain">{$lang_advimage_constrain_proportions}</label></td>
104
  </tr>
105
  </table></td>
106
  </tr>
107
 
108
  <tr>
109
- <td class="column1"><label id="vspacelabel" for="vspace">{$lang_insert_image_vspace}</label></td>
110
- <td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" />
111
  </td>
112
  </tr>
113
 
114
  <tr>
115
- <td class="column1"><label id="hspacelabel" for="hspace">{$lang_insert_image_hspace}</label></td>
116
- <td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" /></td>
117
  </tr>
118
 
119
  <tr>
120
- <td class="column1"><label id="borderlabel" for="border">{$lang_insert_image_border}</label></td>
121
- <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" class="number" onchange="changeAppearance();updateStyle();" /></td>
122
  </tr>
123
 
124
  <tr>
125
- <td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
126
- <td colspan="2">
127
- <select id="classlist" name="classlist">
128
- <option value="" selected>{$lang_not_set}</option>
129
- </select>
130
- </td>
131
  </tr>
132
 
133
  <tr>
134
- <td class="column1"><label id="stylelabel" for="style">{$lang_advimage_style}</label></td>
135
- <td colspan="2"><input id="style" name="style" type="text" value="" onchange="styleUpdated();" /></td>
136
  </tr>
137
 
138
  <!-- <tr>
139
- <td class="column1"><label id="classeslabel" for="classes">{$lang_advimage_classes}</label></td>
140
  <td colspan="2"><input id="classes" name="classes" type="text" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
141
  </tr> -->
142
  </table>
@@ -145,14 +141,14 @@
145
 
146
  <div id="advanced_panel" class="panel">
147
  <fieldset>
148
- <legend>{$lang_advimage_swap_image}</legend>
149
 
150
- <input type="checkbox" id="onmousemovecheck" name="onmousemovecheck" class="checkbox" onclick="changeMouseMove();" />
151
- <label id="onmousemovechecklabel" for="onmousemovecheck">{$lang_advimage_alt_image}</label>
152
 
153
  <table border="0" cellpadding="4" cellspacing="0" width="100%">
154
  <tr>
155
- <td class="column1"><label id="onmouseoversrclabel" for="onmouseoversrc">{$lang_advimage_mouseover}</label></td>
156
  <td><table border="0" cellspacing="0" cellpadding="0">
157
  <tr>
158
  <td><input id="onmouseoversrc" name="onmouseoversrc" type="text" value="" /></td>
@@ -160,12 +156,12 @@
160
  </tr>
161
  </table></td>
162
  </tr>
163
- <tr id="imagelistoverrow">
164
- <td class="column1"><label for="imagelistover">{$lang_image_list}</label></td>
165
- <td id="imagelistovercontainer">&nbsp;</td>
166
  </tr>
167
  <tr>
168
- <td class="column1"><label id="onmouseoutsrclabel" for="onmouseoutsrc">{$lang_advimage_mouseout}</label></td>
169
  <td class="column2"><table border="0" cellspacing="0" cellpadding="0">
170
  <tr>
171
  <td><input id="onmouseoutsrc" name="onmouseoutsrc" type="text" value="" /></td>
@@ -173,49 +169,49 @@
173
  </tr>
174
  </table></td>
175
  </tr>
176
- <tr id="imagelistoutrow">
177
- <td class="column1"><label for="imagelistout">{$lang_image_list}</label></td>
178
- <td id="imagelistoutcontainer">&nbsp;</td>
179
  </tr>
180
  </table>
181
  </fieldset>
182
 
183
  <fieldset>
184
- <legend>{$lang_advimage_misc}</legend>
185
 
186
  <table border="0" cellpadding="4" cellspacing="0">
187
  <tr>
188
- <td class="column1"><label id="idlabel" for="id">{$lang_advimage_id}</label></td>
189
  <td><input id="id" name="id" type="text" value="" /></td>
190
  </tr>
191
 
192
  <tr>
193
- <td class="column1"><label id="dirlabel" for="dir">{$lang_advimage_langdir}</label></td>
194
  <td>
195
- <select id="dir" name="dir" onchange="changeAppearance();">
196
- <option value="">{$lang_not_set}</option>
197
- <option value="ltr">{$lang_advimage_ltr}</option>
198
- <option value="rtl">{$lang_advimage_rtl}</option>
199
  </select>
200
  </td>
201
  </tr>
202
 
203
  <tr>
204
- <td class="column1"><label id="langlabel" for="lang">{$lang_advimage_langcode}</label></td>
205
  <td>
206
  <input id="lang" name="lang" type="text" value="" />
207
  </td>
208
  </tr>
209
 
210
  <tr>
211
- <td class="column1"><label id="usemaplabel" for="usemap">{$lang_advimage_image_map}</label></td>
212
  <td>
213
  <input id="usemap" name="usemap" type="text" value="" />
214
  </td>
215
  </tr>
216
 
217
  <tr>
218
- <td class="column1"><label id="longdesclabel" for="longdesc">{$lang_advimage_long_desc}</label></td>
219
  <td><table border="0" cellspacing="0" cellpadding="0">
220
  <tr>
221
  <td><input id="longdesc" name="longdesc" type="text" value="" /></td>
@@ -230,11 +226,11 @@
230
 
231
  <div class="mceActionPanel">
232
  <div style="float: left">
233
- <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
234
  </div>
235
 
236
  <div style="float: right">
237
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="cancelAction();" />
238
  </div>
239
  </div>
240
  </form>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#advimage_dlg.dialog_title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/validate.js"></script>
9
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
10
+ <script type="text/javascript" src="js/image.js"></script>
11
  <link href="css/advimage.css" rel="stylesheet" type="text/css" />
12
  <base target="_self" />
13
  </head>
14
+ <body id="advimage" style="display: none">
15
+ <form onsubmit="ImageDialog.insert();return false;" action="#">
16
  <div class="tabs">
17
  <ul>
18
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advimage_dlg.tab_general}</a></span></li>
19
+ <li id="appearance_tab"><span><a href="javascript:mcTabs.displayTab('appearance_tab','appearance_panel');" onmousedown="return false;">{#advimage_dlg.tab_appearance}</a></span></li>
20
+ <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#advimage_dlg.tab_advanced}</a></span></li>
21
  </ul>
22
  </div>
23
 
24
  <div class="panel_wrapper">
25
  <div id="general_panel" class="panel current">
26
  <fieldset>
27
+ <legend>{#advimage_dlg.general}</legend>
28
 
29
  <table class="properties">
30
  <tr>
31
+ <td class="column1"><label id="srclabel" for="src">{#advimage_dlg.src}</label></td>
32
  <td colspan="2"><table border="0" cellspacing="0" cellpadding="0">
33
  <tr>
34
+ <td><input name="src" type="text" id="src" value="" class="mceFocus" onchange="ImageDialog.showPreviewImage(this.value);" /></td>
35
  <td id="srcbrowsercontainer">&nbsp;</td>
36
  </tr>
37
  </table></td>
38
  </tr>
39
+ <tr>
40
+ <td><label for="src_list">{#advimage_dlg.image_list}</label></td>
41
+ <td><select id="src_list" name="src_list" onchange="document.getElementById('src').value=this.options[this.selectedIndex].value;document.getElementById('alt').value=this.options[this.selectedIndex].text;document.getElementById('title').value=this.options[this.selectedIndex].text;ImageDialog.showPreviewImage(this.options[this.selectedIndex].value);"></select></td>
42
  </tr>
43
  <tr>
44
+ <td class="column1"><label id="altlabel" for="alt">{#advimage_dlg.alt}</label></td>
45
  <td colspan="2"><input id="alt" name="alt" type="text" value="" /></td>
46
  </tr>
47
  <tr>
48
+ <td class="column1"><label id="titlelabel" for="title">{#advimage_dlg.title}</label></td>
49
  <td colspan="2"><input id="title" name="title" type="text" value="" /></td>
50
  </tr>
51
  </table>
52
  </fieldset>
53
 
54
  <fieldset>
55
+ <legend>{#advimage_dlg.preview}</legend>
56
  <div id="prev"></div>
57
  </fieldset>
58
  </div>
59
 
60
  <div id="appearance_panel" class="panel">
61
  <fieldset>
62
+ <legend>{#advimage_dlg.tab_appearance}</legend>
63
 
64
  <table border="0" cellpadding="4" cellspacing="0">
65
  <tr>
66
+ <td class="column1"><label id="alignlabel" for="align">{#advimage_dlg.align}</label></td>
67
+ <td><select id="align" name="align" onchange="ImageDialog.updateStyle('align');ImageDialog.changeAppearance();">
68
+ <option value="">{#not_set}</option>
69
+ <option value="baseline">{#advimage_dlg.align_baseline}</option>
70
+ <option value="top">{#advimage_dlg.align_top}</option>
71
+ <option value="middle">{#advimage_dlg.align_middle}</option>
72
+ <option value="bottom">{#advimage_dlg.align_bottom}</option>
73
+ <option value="text-top">{#advimage_dlg.align_texttop}</option>
74
+ <option value="text-bottom">{#advimage_dlg.align_textbottom}</option>
75
+ <option value="left">{#advimage_dlg.align_left}</option>
76
+ <option value="right">{#advimage_dlg.align_right}</option>
 
77
  </select>
78
  </td>
79
  <td rowspan="6" valign="top">
80
  <div class="alignPreview">
81
+ <img id="alignSampleImg" src="img/sample.gif" alt="{#advimage_dlg.example_img}" />
82
  Lorem ipsum, Dolor sit amet, consectetuer adipiscing loreum ipsum edipiscing elit, sed diam
83
  nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat.Loreum ipsum
84
  edipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam
88
  </tr>
89
 
90
  <tr>
91
+ <td class="column1"><label id="widthlabel" for="width">{#advimage_dlg.dimensions}</label></td>
92
  <td nowrap="nowrap">
93
+ <input name="width" type="text" id="width" value="" size="5" maxlength="5" class="size" onchange="ImageDialog.changeHeight();" /> x
94
+ <input name="height" type="text" id="height" value="" size="5" maxlength="5" class="size" onchange="ImageDialog.changeWidth();" /> px
95
  </td>
96
  </tr>
97
 
100
  <td><table border="0" cellpadding="0" cellspacing="0">
101
  <tr>
102
  <td><input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
103
+ <td><label id="constrainlabel" for="constrain">{#advimage_dlg.constrain_proportions}</label></td>
104
  </tr>
105
  </table></td>
106
  </tr>
107
 
108
  <tr>
109
+ <td class="column1"><label id="vspacelabel" for="vspace">{#advimage_dlg.vspace}</label></td>
110
+ <td><input name="vspace" type="text" id="vspace" value="" size="3" maxlength="3" class="number" onchange="ImageDialog.updateStyle('vspace');ImageDialog.changeAppearance();" onblur="ImageDialog.updateStyle('vspace');ImageDialog.changeAppearance();" />
111
  </td>
112
  </tr>
113
 
114
  <tr>
115
+ <td class="column1"><label id="hspacelabel" for="hspace">{#advimage_dlg.hspace}</label></td>
116
+ <td><input name="hspace" type="text" id="hspace" value="" size="3" maxlength="3" class="number" onchange="ImageDialog.updateStyle('hspace');ImageDialog.changeAppearance();" onblur="ImageDialog.updateStyle('hspace');ImageDialog.changeAppearance();" /></td>
117
  </tr>
118
 
119
  <tr>
120
+ <td class="column1"><label id="borderlabel" for="border">{#advimage_dlg.border}</label></td>
121
+ <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" class="number" onchange="ImageDialog.updateStyle('border');ImageDialog.changeAppearance();" onblur="ImageDialog.updateStyle('border');ImageDialog.changeAppearance();" /></td>
122
  </tr>
123
 
124
  <tr>
125
+ <td><label for="class_list">{#class_name}</label></td>
126
+ <td colspan="2"><select id="class_list" name="class_list" class="mceEditableSelect"></select></td>
 
 
 
 
127
  </tr>
128
 
129
  <tr>
130
+ <td class="column1"><label id="stylelabel" for="style">{#advimage_dlg.style}</label></td>
131
+ <td colspan="2"><input id="style" name="style" type="text" value="" onchange="ImageDialog.changeAppearance();" /></td>
132
  </tr>
133
 
134
  <!-- <tr>
135
+ <td class="column1"><label id="classeslabel" for="classes">{#advimage_dlg.classes}</label></td>
136
  <td colspan="2"><input id="classes" name="classes" type="text" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
137
  </tr> -->
138
  </table>
141
 
142
  <div id="advanced_panel" class="panel">
143
  <fieldset>
144
+ <legend>{#advimage_dlg.swap_image}</legend>
145
 
146
+ <input type="checkbox" id="onmousemovecheck" name="onmousemovecheck" class="checkbox" onclick="ImageDialog.setSwapImage(this.checked);" />
147
+ <label id="onmousemovechecklabel" for="onmousemovecheck">{#advimage_dlg.alt_image}</label>
148
 
149
  <table border="0" cellpadding="4" cellspacing="0" width="100%">
150
  <tr>
151
+ <td class="column1"><label id="onmouseoversrclabel" for="onmouseoversrc">{#advimage_dlg.mouseover}</label></td>
152
  <td><table border="0" cellspacing="0" cellpadding="0">
153
  <tr>
154
  <td><input id="onmouseoversrc" name="onmouseoversrc" type="text" value="" /></td>
156
  </tr>
157
  </table></td>
158
  </tr>
159
+ <tr>
160
+ <td><label for="over_list">{#advimage_dlg.image_list}</label></td>
161
+ <td><select id="over_list" name="over_list" onchange="document.getElementById('onmouseoversrc').value=this.options[this.selectedIndex].value;"></select></td>
162
  </tr>
163
  <tr>
164
+ <td class="column1"><label id="onmouseoutsrclabel" for="onmouseoutsrc">{#advimage_dlg.mouseout}</label></td>
165
  <td class="column2"><table border="0" cellspacing="0" cellpadding="0">
166
  <tr>
167
  <td><input id="onmouseoutsrc" name="onmouseoutsrc" type="text" value="" /></td>
169
  </tr>
170
  </table></td>
171
  </tr>
172
+ <tr>
173
+ <td><label for="out_list">{#advimage_dlg.image_list}</label></td>
174
+ <td><select id="out_list" name="out_list" onchange="document.getElementById('onmouseoutsrc').value=this.options[this.selectedIndex].value;"></select></td>
175
  </tr>
176
  </table>
177
  </fieldset>
178
 
179
  <fieldset>
180
+ <legend>{#advimage_dlg.misc}</legend>
181
 
182
  <table border="0" cellpadding="4" cellspacing="0">
183
  <tr>
184
+ <td class="column1"><label id="idlabel" for="id">{#advimage_dlg.id}</label></td>
185
  <td><input id="id" name="id" type="text" value="" /></td>
186
  </tr>
187
 
188
  <tr>
189
+ <td class="column1"><label id="dirlabel" for="dir">{#advimage_dlg.langdir}</label></td>
190
  <td>
191
+ <select id="dir" name="dir" onchange="ImageDialog.changeAppearance();">
192
+ <option value="">{#not_set}</option>
193
+ <option value="ltr">{#advimage_dlg.ltr}</option>
194
+ <option value="rtl">{#advimage_dlg.rtl}</option>
195
  </select>
196
  </td>
197
  </tr>
198
 
199
  <tr>
200
+ <td class="column1"><label id="langlabel" for="lang">{#advimage_dlg.langcode}</label></td>
201
  <td>
202
  <input id="lang" name="lang" type="text" value="" />
203
  </td>
204
  </tr>
205
 
206
  <tr>
207
+ <td class="column1"><label id="usemaplabel" for="usemap">{#advimage_dlg.map}</label></td>
208
  <td>
209
  <input id="usemap" name="usemap" type="text" value="" />
210
  </td>
211
  </tr>
212
 
213
  <tr>
214
+ <td class="column1"><label id="longdesclabel" for="longdesc">{#advimage_dlg.long_desc}</label></td>
215
  <td><table border="0" cellspacing="0" cellpadding="0">
216
  <tr>
217
  <td><input id="longdesc" name="longdesc" type="text" value="" /></td>
226
 
227
  <div class="mceActionPanel">
228
  <div style="float: left">
229
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
230
  </div>
231
 
232
  <div style="float: right">
233
+ <input type="submit" id="insert" name="insert" value="{#insert}" />
234
  </div>
235
  </div>
236
  </form>
mce/advimage/{images → img}/sample.gif RENAMED
File without changes
mce/advimage/js/image.js ADDED
@@ -0,0 +1,441 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ var ImageDialog = {
2
+ preInit : function() {
3
+ var url;
4
+
5
+ tinyMCEPopup.requireLangPack();
6
+
7
+ if (url = tinyMCEPopup.getParam("external_image_list_url"))
8
+ document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
9
+ },
10
+
11
+ init : function(ed) {
12
+ var f = document.forms[0], nl = f.elements, ed = tinyMCEPopup.editor, dom = ed.dom, n = ed.selection.getNode();
13
+
14
+ tinyMCEPopup.resizeToInnerSize();
15
+ this.fillClassList('class_list');
16
+ this.fillFileList('src_list', 'tinyMCEImageList');
17
+ this.fillFileList('over_list', 'tinyMCEImageList');
18
+ this.fillFileList('out_list', 'tinyMCEImageList');
19
+ TinyMCE_EditableSelects.init();
20
+
21
+ if (n.nodeName == 'IMG') {
22
+ nl.src.value = dom.getAttrib(n, 'src');
23
+ nl.width.value = dom.getAttrib(n, 'width');
24
+ nl.height.value = dom.getAttrib(n, 'height');
25
+ nl.alt.value = dom.getAttrib(n, 'alt');
26
+ nl.title.value = dom.getAttrib(n, 'title');
27
+ nl.vspace.value = this.getAttrib(n, 'vspace');
28
+ nl.hspace.value = this.getAttrib(n, 'hspace');
29
+ nl.border.value = this.getAttrib(n, 'border');
30
+ selectByValue(f, 'align', this.getAttrib(n, 'align'));
31
+ selectByValue(f, 'class_list', dom.getAttrib(n, 'class'), true, true);
32
+ nl.style.value = dom.getAttrib(n, 'style');
33
+ nl.id.value = dom.getAttrib(n, 'id');
34
+ nl.dir.value = dom.getAttrib(n, 'dir');
35
+ nl.lang.value = dom.getAttrib(n, 'lang');
36
+ nl.usemap.value = dom.getAttrib(n, 'usemap');
37
+ nl.longdesc.value = dom.getAttrib(n, 'longdesc');
38
+ nl.insert.value = ed.getLang('update');
39
+
40
+ if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseover')))
41
+ nl.onmouseoversrc.value = dom.getAttrib(n, 'onmouseover').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1');
42
+
43
+ if (/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/.test(dom.getAttrib(n, 'onmouseout')))
44
+ nl.onmouseoutsrc.value = dom.getAttrib(n, 'onmouseout').replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, '$1');
45
+
46
+ if (ed.settings.inline_styles) {
47
+ // Move attribs to styles
48
+ if (dom.getAttrib(n, 'align'))
49
+ this.updateStyle('align');
50
+
51
+ if (dom.getAttrib(n, 'hspace'))
52
+ this.updateStyle('hspace');
53
+
54
+ if (dom.getAttrib(n, 'border'))
55
+ this.updateStyle('border');
56
+
57
+ if (dom.getAttrib(n, 'vspace'))
58
+ this.updateStyle('vspace');
59
+ }
60
+ }
61
+
62
+ // Setup browse button
63
+ document.getElementById('srcbrowsercontainer').innerHTML = getBrowserHTML('srcbrowser','src','image','theme_advanced_image');
64
+ if (isVisible('srcbrowser'))
65
+ document.getElementById('src').style.width = '260px';
66
+
67
+ // Setup browse button
68
+ document.getElementById('onmouseoversrccontainer').innerHTML = getBrowserHTML('overbrowser','onmouseoversrc','image','theme_advanced_image');
69
+ if (isVisible('overbrowser'))
70
+ document.getElementById('onmouseoversrc').style.width = '260px';
71
+
72
+ // Setup browse button
73
+ document.getElementById('onmouseoutsrccontainer').innerHTML = getBrowserHTML('outbrowser','onmouseoutsrc','image','theme_advanced_image');
74
+ if (isVisible('outbrowser'))
75
+ document.getElementById('onmouseoutsrc').style.width = '260px';
76
+
77
+ // If option enabled default contrain proportions to checked
78
+ if (ed.getParam("advimage_constrain_proportions", true))
79
+ f.constrain.checked = true;
80
+
81
+ // Check swap image if valid data
82
+ if (nl.onmouseoversrc.value || nl.onmouseoutsrc.value)
83
+ this.setSwapImage(true);
84
+ else
85
+ this.setSwapImage(false);
86
+
87
+ this.changeAppearance();
88
+ this.showPreviewImage(nl.src.value, 1);
89
+ },
90
+
91
+ insert : function(file, title) {
92
+ var ed = tinyMCEPopup.editor, t = this, f = document.forms[0];
93
+
94
+ if (f.src.value === '') {
95
+ if (ed.selection.getNode().nodeName == 'IMG') {
96
+ ed.dom.remove(ed.selection.getNode());
97
+ ed.execCommand('mceRepaint');
98
+ }
99
+
100
+ tinyMCEPopup.close();
101
+ return;
102
+ }
103
+
104
+ if (tinyMCEPopup.getParam("accessibility_warnings", 1)) {
105
+ if (!f.alt.value) {
106
+ tinyMCEPopup.editor.windowManager.confirm(tinyMCEPopup.getLang('advimage_dlg.missing_alt'), function(s) {
107
+ if (s)
108
+ t.insertAndClose();
109
+ });
110
+
111
+ return;
112
+ }
113
+ }
114
+
115
+ t.insertAndClose();
116
+ },
117
+
118
+ insertAndClose : function() {
119
+ var ed = tinyMCEPopup.editor, f = document.forms[0], nl = f.elements, v, args = {}, el;
120
+
121
+ tinyMCEPopup.restoreSelection();
122
+
123
+ // Fixes crash in Safari
124
+ if (tinymce.isWebKit)
125
+ ed.getWin().focus();
126
+
127
+ if (!ed.settings.inline_styles) {
128
+ args = {
129
+ vspace : nl.vspace.value,
130
+ hspace : nl.hspace.value,
131
+ border : nl.border.value,
132
+ align : getSelectValue(f, 'align')
133
+ };
134
+ } else {
135
+ // Remove deprecated values
136
+ args = {
137
+ vspace : '',
138
+ hspace : '',
139
+ border : '',
140
+ align : ''
141
+ };
142
+ }
143
+
144
+ tinymce.extend(args, {
145
+ src : nl.src.value,
146
+ width : nl.width.value,
147
+ height : nl.height.value,
148
+ alt : nl.alt.value,
149
+ title : nl.title.value,
150
+ 'class' : getSelectValue(f, 'class_list'),
151
+ style : nl.style.value,
152
+ id : nl.id.value,
153
+ dir : nl.dir.value,
154
+ lang : nl.lang.value,
155
+ usemap : nl.usemap.value,
156
+ longdesc : nl.longdesc.value
157
+ });
158
+
159
+ args.onmouseover = args.onmouseout = '';
160
+
161
+ if (f.onmousemovecheck.checked) {
162
+ if (nl.onmouseoversrc.value)
163
+ args.onmouseover = "this.src='" + nl.onmouseoversrc.value + "';";
164
+
165
+ if (nl.onmouseoutsrc.value)
166
+ args.onmouseout = "this.src='" + nl.onmouseoutsrc.value + "';";
167
+ }
168
+
169
+ el = ed.selection.getNode();
170
+
171
+ if (el && el.nodeName == 'IMG') {
172
+ ed.dom.setAttribs(el, args);
173
+ } else {
174
+ ed.execCommand('mceInsertContent', false, '<img id="__mce_tmp" src="javascript:;" />', {skip_undo : 1});
175
+ ed.dom.setAttribs('__mce_tmp', args);
176
+ ed.dom.setAttrib('__mce_tmp', 'id', '');
177
+ ed.undoManager.add();
178
+ }
179
+
180
+ tinyMCEPopup.close();
181
+ },
182
+
183
+ getAttrib : function(e, at) {
184
+ var ed = tinyMCEPopup.editor, dom = ed.dom, v, v2;
185
+
186
+ if (ed.settings.inline_styles) {
187
+ switch (at) {
188
+ case 'align':
189
+ if (v = dom.getStyle(e, 'float'))
190
+ return v;
191
+
192
+ if (v = dom.getStyle(e, 'vertical-align'))
193
+ return v;
194
+
195
+ break;
196
+
197
+ case 'hspace':
198
+ v = dom.getStyle(e, 'margin-left')
199
+ v2 = dom.getStyle(e, 'margin-right');
200
+
201
+ if (v && v == v2)
202
+ return parseInt(v.replace(/[^0-9]/g, ''));
203
+
204
+ break;
205
+
206
+ case 'vspace':
207
+ v = dom.getStyle(e, 'margin-top')
208
+ v2 = dom.getStyle(e, 'margin-bottom');
209
+ if (v && v == v2)
210
+ return parseInt(v.replace(/[^0-9]/g, ''));
211
+
212
+ break;
213
+
214
+ case 'border':
215
+ v = 0;
216
+
217
+ tinymce.each(['top', 'right', 'bottom', 'left'], function(sv) {
218
+ sv = dom.getStyle(e, 'border-' + sv + '-width');
219
+
220
+ // False or not the same as prev
221
+ if (!sv || (sv != v && v !== 0)) {
222
+ v = 0;
223
+ return false;
224
+ }
225
+
226
+ if (sv)
227
+ v = sv;
228
+ });
229
+
230
+ if (v)
231
+ return parseInt(v.replace(/[^0-9]/g, ''));
232
+
233
+ break;
234
+ }
235
+ }
236
+
237
+ if (v = dom.getAttrib(e, at))
238
+ return v;
239
+
240
+ return '';
241
+ },
242
+
243
+ setSwapImage : function(st) {
244
+ var f = document.forms[0];
245
+
246
+ f.onmousemovecheck.checked = st;
247
+ setBrowserDisabled('overbrowser', !st);
248
+ setBrowserDisabled('outbrowser', !st);
249
+
250
+ if (f.over_list)
251
+ f.over_list.disabled = !st;
252
+
253
+ if (f.out_list)
254
+ f.out_list.disabled = !st;
255
+
256
+ f.onmouseoversrc.disabled = !st;
257
+ f.onmouseoutsrc.disabled = !st;
258
+ },
259
+
260
+ fillClassList : function(id) {
261
+ var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
262
+
263
+ if (v = tinyMCEPopup.getParam('theme_advanced_styles')) {
264
+ cl = [];
265
+
266
+ tinymce.each(v.split(';'), function(v) {
267
+ var p = v.split('=');
268
+
269
+ cl.push({'title' : p[0], 'class' : p[1]});
270
+ });
271
+ } else
272
+ cl = tinyMCEPopup.editor.dom.getClasses();
273
+
274
+ if (cl.length > 0) {
275
+ lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), '');
276
+
277
+ tinymce.each(cl, function(o) {
278
+ lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']);
279
+ });
280
+ } else
281
+ dom.remove(dom.getParent(id, 'tr'));
282
+ },
283
+
284
+ fillFileList : function(id, l) {
285
+ var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
286
+
287
+ l = window[l];
288
+
289
+ if (l && l.length > 0) {
290
+ lst.options[lst.options.length] = new Option('', '');
291
+
292
+ tinymce.each(l, function(o) {
293
+ lst.options[lst.options.length] = new Option(o[0], o[1]);
294
+ });
295
+ } else
296
+ dom.remove(dom.getParent(id, 'tr'));
297
+ },
298
+
299
+ resetImageData : function() {
300
+ var f = document.forms[0];
301
+
302
+ f.elements.width.value = f.elements.height.value = '';
303
+ },
304
+
305
+ updateImageData : function(img, st) {
306
+ var f = document.forms[0];
307
+
308
+ if (!st) {
309
+ f.elements.width.value = img.width;
310
+ f.elements.height.value = img.height;
311
+ }
312
+
313
+ this.preloadImg = img;
314
+ },
315
+
316
+ changeAppearance : function() {
317
+ var ed = tinyMCEPopup.editor, f = document.forms[0], img = document.getElementById('alignSampleImg');
318
+
319
+ if (img) {
320
+ if (ed.getParam('inline_styles')) {
321
+ ed.dom.setAttrib(img, 'style', f.style.value);
322
+ } else {
323
+ img.align = f.align.value;
324
+ img.border = f.border.value;
325
+ img.hspace = f.hspace.value;
326
+ img.vspace = f.vspace.value;
327
+ }
328
+ }
329
+ },
330
+
331
+ changeHeight : function() {
332
+ var f = document.forms[0], tp, t = this;
333
+
334
+ if (!f.constrain.checked || !t.preloadImg) {
335
+ return;
336
+ }
337
+
338
+ if (f.width.value == "" || f.height.value == "")
339
+ return;
340
+
341
+ tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height;
342
+ f.height.value = tp.toFixed(0);
343
+ },
344
+
345
+ changeWidth : function() {
346
+ var f = document.forms[0], tp, t = this;
347
+
348
+ if (!f.constrain.checked || !t.preloadImg) {
349
+ return;
350
+ }
351
+
352
+ if (f.width.value == "" || f.height.value == "")
353
+ return;
354
+
355
+ tp = (parseInt(f.height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width;
356
+ f.width.value = tp.toFixed(0);
357
+ },
358
+
359
+ updateStyle : function(ty) {
360
+ var dom = tinyMCEPopup.dom, st, v, f = document.forms[0], img = dom.create('img', {style : dom.get('style').value});
361
+
362
+ if (tinyMCEPopup.editor.settings.inline_styles) {
363
+ // Handle align
364
+ if (ty == 'align') {
365
+ dom.setStyle(img, 'float', '');
366
+ dom.setStyle(img, 'vertical-align', '');
367
+
368
+ v = getSelectValue(f, 'align');
369
+ if (v) {
370
+ if (v == 'left' || v == 'right')
371
+ dom.setStyle(img, 'float', v);
372
+ else
373
+ img.style.verticalAlign = v;
374
+ }
375
+ }
376
+
377
+ // Handle border
378
+ if (ty == 'border') {
379
+ dom.setStyle(img, 'border', '');
380
+
381
+ v = f.border.value;
382
+ if (v || v == '0') {
383
+ if (v == '0')
384
+ img.style.border = '';
385
+ else
386
+ img.style.border = v + 'px solid black';
387
+ }
388
+ }
389
+
390
+ // Handle hspace
391
+ if (ty == 'hspace') {
392
+ dom.setStyle(img, 'marginLeft', '');
393
+ dom.setStyle(img, 'marginRight', '');
394
+
395
+ v = f.hspace.value;
396
+ if (v) {
397
+ img.style.marginLeft = v + 'px';
398
+ img.style.marginRight = v + 'px';
399
+ }
400
+ }
401
+
402
+ // Handle vspace
403
+ if (ty == 'vspace') {
404
+ dom.setStyle(img, 'marginTop', '');
405
+ dom.setStyle(img, 'marginBottom', '');
406
+
407
+ v = f.vspace.value;
408
+ if (v) {
409
+ img.style.marginTop = v + 'px';
410
+ img.style.marginBottom = v + 'px';
411
+ }
412
+ }
413
+
414
+ // Merge
415
+ dom.get('style').value = dom.serializeStyle(dom.parseStyle(img.style.cssText));
416
+ }
417
+ },
418
+
419
+ changeMouseMove : function() {
420
+ },
421
+
422
+ showPreviewImage : function(u, st) {
423
+ if (!u) {
424
+ tinyMCEPopup.dom.setHTML('prev', '');
425
+ return;
426
+ }
427
+
428
+ if (!st && tinyMCEPopup.getParam("advimage_update_dimensions_onchange", true))
429
+ this.resetImageData();
430
+
431
+ u = tinyMCEPopup.editor.documentBaseURI.toAbsolute(u);
432
+
433
+ if (!st)
434
+ tinyMCEPopup.dom.setHTML('prev', '<img id="previewImg" src="' + u + '" border="0" onload="ImageDialog.updateImageData(this);" onerror="ImageDialog.resetImageData();" />');
435
+ else
436
+ tinyMCEPopup.dom.setHTML('prev', '<img id="previewImg" src="' + u + '" border="0" onload="ImageDialog.updateImageData(this, 1);" />');
437
+ }
438
+ };
439
+
440
+ ImageDialog.preInit();
441
+ tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog);
mce/advimage/jscripts/functions.js DELETED
@@ -1,534 +0,0 @@
1
- /* Functions for the advimage plugin popup */
2
-
3
- var preloadImg = null;
4
- var orgImageWidth, orgImageHeight;
5
-
6
- function preinit() {
7
- // Initialize
8
- tinyMCE.setWindowArg('mce_windowresize', false);
9
-
10
- // Import external list url javascript
11
- var url = tinyMCE.getParam("external_image_list_url");
12
- if (url != null) {
13
- // Fix relative
14
- if (url.charAt(0) != '/' && url.indexOf('://') == -1)
15
- url = tinyMCE.documentBasePath + "/" + url;
16
-
17
- document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
18
- }
19
- }
20
-
21
- function convertURL(url, node, on_save) {
22
- return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
23
- }
24
-
25
- function getImageSrc(str) {
26
- var pos = -1;
27
-
28
- if (!str)
29
- return "";
30
-
31
- if ((pos = str.indexOf('this.src=')) != -1) {
32
- var src = str.substring(pos + 10);
33
-
34
- src = src.substring(0, src.indexOf('\''));
35
-
36
- if (tinyMCE.getParam('convert_urls'))
37
- src = convertURL(src, null, true);
38
-
39
- return src;
40
- }
41
-
42
- return "";
43
- }
44
-
45
- function init() {
46
- tinyMCEPopup.resizeToInnerSize();
47
-
48
- var formObj = document.forms[0];
49
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
50
- var elm = inst.getFocusElement();
51
- var action = "insert";
52
- var html = "";
53
-
54
- // Image list src
55
- html = getImageListHTML('imagelistsrc','src','onSelectMainImage');
56
- if (html == "")
57
- document.getElementById("imagelistsrcrow").style.display = 'none';
58
- else
59
- document.getElementById("imagelistsrccontainer").innerHTML = html;
60
-
61
- // Image list oversrc
62
- html = getImageListHTML('imagelistover','onmouseoversrc');
63
- if (html == "")
64
- document.getElementById("imagelistoverrow").style.display = 'none';
65
- else
66
- document.getElementById("imagelistovercontainer").innerHTML = html;
67
-
68
- // Image list outsrc
69
- html = getImageListHTML('imagelistout','onmouseoutsrc');
70
- if (html == "")
71
- document.getElementById("imagelistoutrow").style.display = 'none';
72
- else
73
- document.getElementById("imagelistoutcontainer").innerHTML = html;
74
-
75
- // Src browser
76
- html = getBrowserHTML('srcbrowser','src','image','advimage');
77
- document.getElementById("srcbrowsercontainer").innerHTML = html;
78
-
79
- // Over browser
80
- html = getBrowserHTML('oversrcbrowser','onmouseoversrc','image','advimage');
81
- document.getElementById("onmouseoversrccontainer").innerHTML = html;
82
-
83
- // Out browser
84
- html = getBrowserHTML('outsrcbrowser','onmouseoutsrc','image','advimage');
85
- document.getElementById("onmouseoutsrccontainer").innerHTML = html;
86
-
87
- // Longdesc browser
88
- html = getBrowserHTML('longdescbrowser','longdesc','file','advimage');
89
- document.getElementById("longdesccontainer").innerHTML = html;
90
-
91
- // Resize some elements
92
- if (isVisible('srcbrowser'))
93
- document.getElementById('src').style.width = '260px';
94
-
95
- if (isVisible('oversrcbrowser'))
96
- document.getElementById('onmouseoversrc').style.width = '260px';
97
-
98
- if (isVisible('outsrcbrowser'))
99
- document.getElementById('onmouseoutsrc').style.width = '260px';
100
-
101
- if (isVisible('longdescbrowser'))
102
- document.getElementById('longdesc').style.width = '180px';
103
-
104
- // Check action
105
- if (elm != null && elm.nodeName == "IMG")
106
- action = "update";
107
-
108
- formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
109
-
110
- if (action == "update") {
111
- var src = tinyMCE.getAttrib(elm, 'src');
112
- var onmouseoversrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
113
- var onmouseoutsrc = getImageSrc(tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
114
-
115
- src = convertURL(src, elm, true);
116
-
117
- // Use mce_src if found
118
- var mceRealSrc = tinyMCE.getAttrib(elm, 'mce_src');
119
- if (mceRealSrc != "") {
120
- src = mceRealSrc;
121
-
122
- if (tinyMCE.getParam('convert_urls'))
123
- src = convertURL(src, elm, true);
124
- }
125
-
126
- if (onmouseoversrc != "" && tinyMCE.getParam('convert_urls'))
127
- onmouseoversrc = convertURL(onmouseoversrc, elm, true);
128
-
129
- if (onmouseoutsrc != "" && tinyMCE.getParam('convert_urls'))
130
- onmouseoutsrc = convertURL(onmouseoutsrc, elm, true);
131
-
132
- // Setup form data
133
- var style = tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"));
134
-
135
- // Store away old size
136
- orgImageWidth = trimSize(getStyle(elm, 'width'))
137
- orgImageHeight = trimSize(getStyle(elm, 'height'));
138
-
139
- formObj.src.value = src;
140
- formObj.alt.value = tinyMCE.getAttrib(elm, 'alt');
141
- formObj.title.value = tinyMCE.getAttrib(elm, 'title');
142
- formObj.border.value = trimSize(getStyle(elm, 'border', 'borderWidth'));
143
- formObj.vspace.value = tinyMCE.getAttrib(elm, 'vspace');
144
- formObj.hspace.value = tinyMCE.getAttrib(elm, 'hspace');
145
- formObj.width.value = orgImageWidth;
146
- formObj.height.value = orgImageHeight;
147
- formObj.onmouseoversrc.value = onmouseoversrc;
148
- formObj.onmouseoutsrc.value = onmouseoutsrc;
149
- formObj.id.value = tinyMCE.getAttrib(elm, 'id');
150
- formObj.dir.value = tinyMCE.getAttrib(elm, 'dir');
151
- formObj.lang.value = tinyMCE.getAttrib(elm, 'lang');
152
- formObj.longdesc.value = tinyMCE.getAttrib(elm, 'longdesc');
153
- formObj.usemap.value = tinyMCE.getAttrib(elm, 'usemap');
154
- formObj.style.value = tinyMCE.serializeStyle(style);
155
-
156
- // Select by the values
157
- if (tinyMCE.isMSIE)
158
- selectByValue(formObj, 'align', getStyle(elm, 'align', 'styleFloat'));
159
- else
160
- selectByValue(formObj, 'align', getStyle(elm, 'align', 'cssFloat'));
161
-
162
- addClassesToList('classlist', 'advimage_styles');
163
-
164
- selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'));
165
- selectByValue(formObj, 'imagelistsrc', src);
166
- selectByValue(formObj, 'imagelistover', onmouseoversrc);
167
- selectByValue(formObj, 'imagelistout', onmouseoutsrc);
168
-
169
- updateStyle();
170
- showPreviewImage(src, true);
171
- changeAppearance();
172
-
173
- window.focus();
174
- } else
175
- addClassesToList('classlist', 'advimage_styles');
176
-
177
- // If option enabled default contrain proportions to checked
178
- if (tinyMCE.getParam("advimage_constrain_proportions", true))
179
- formObj.constrain.checked = true;
180
-
181
- // Check swap image if valid data
182
- if (formObj.onmouseoversrc.value != "" || formObj.onmouseoutsrc.value != "")
183
- setSwapImageDisabled(false);
184
- else
185
- setSwapImageDisabled(true);
186
- }
187
-
188
- function setSwapImageDisabled(state) {
189
- var formObj = document.forms[0];
190
-
191
- formObj.onmousemovecheck.checked = !state;
192
-
193
- setBrowserDisabled('overbrowser', state);
194
- setBrowserDisabled('outbrowser', state);
195
-
196
- if (formObj.imagelistover)
197
- formObj.imagelistover.disabled = state;
198
-
199
- if (formObj.imagelistout)
200
- formObj.imagelistout.disabled = state;
201
-
202
- formObj.onmouseoversrc.disabled = state;
203
- formObj.onmouseoutsrc.disabled = state;
204
- }
205
-
206
- function setAttrib(elm, attrib, value) {
207
- var formObj = document.forms[0];
208
- var valueElm = formObj.elements[attrib];
209
-
210
- if (typeof(value) == "undefined" || value == null) {
211
- value = "";
212
-
213
- if (valueElm)
214
- value = valueElm.value;
215
- }
216
-
217
- if (value != "") {
218
- elm.setAttribute(attrib, value);
219
-
220
- if (attrib == "style")
221
- attrib = "style.cssText";
222
-
223
- if (attrib == "longdesc")
224
- attrib = "longDesc";
225
-
226
- if (attrib == "width") {
227
- attrib = "style.width";
228
- value = value + "px";
229
- value = value.replace(/%px/g, 'px');
230
- }
231
-
232
- if (attrib == "height") {
233
- attrib = "style.height";
234
- value = value + "px";
235
- value = value.replace(/%px/g, 'px');
236
- }
237
-
238
- if (attrib == "class")
239
- attrib = "className";
240
-
241
- eval('elm.' + attrib + "=value;");
242
- } else
243
- elm.removeAttribute(attrib);
244
- }
245
-
246
- function makeAttrib(attrib, value) {
247
- var formObj = document.forms[0];
248
- var valueElm = formObj.elements[attrib];
249
-
250
- if (typeof(value) == "undefined" || value == null) {
251
- value = "";
252
-
253
- if (valueElm)
254
- value = valueElm.value;
255
- }
256
-
257
- if (value == "")
258
- return "";
259
-
260
- // XML encode it
261
- value = value.replace(/&/g, '&amp;');
262
- value = value.replace(/\"/g, '&quot;');
263
- value = value.replace(/</g, '&lt;');
264
- value = value.replace(/>/g, '&gt;');
265
-
266
- return ' ' + attrib + '="' + value + '"';
267
- }
268
-
269
- function insertAction() {
270
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
271
- var elm = inst.getFocusElement();
272
- var formObj = document.forms[0];
273
- var src = formObj.src.value;
274
- var onmouseoversrc = formObj.onmouseoversrc.value;
275
- var onmouseoutsrc = formObj.onmouseoutsrc.value;
276
-
277
- if (!AutoValidator.validate(formObj)) {
278
- alert(tinyMCE.getLang('lang_invalid_data'));
279
- return false;
280
- }
281
-
282
- if (tinyMCE.getParam("accessibility_warnings")) {
283
- if (formObj.alt.value == "" && !confirm(tinyMCE.getLang('lang_advimage_missing_alt', '', true)))
284
- return;
285
- }
286
-
287
- if (onmouseoversrc && onmouseoversrc != "")
288
- onmouseoversrc = "this.src='" + convertURL(onmouseoversrc, tinyMCE.imgElement) + "';";
289
-
290
- if (onmouseoutsrc && onmouseoutsrc != "")
291
- onmouseoutsrc = "this.src='" + convertURL(onmouseoutsrc, tinyMCE.imgElement) + "';";
292
-
293
- if (elm != null && elm.nodeName == "IMG") {
294
- setAttrib(elm, 'src', convertURL(src, tinyMCE.imgElement));
295
- setAttrib(elm, 'mce_src', src);
296
- setAttrib(elm, 'alt');
297
- setAttrib(elm, 'title');
298
- setAttrib(elm, 'border');
299
- setAttrib(elm, 'vspace');
300
- setAttrib(elm, 'hspace');
301
- setAttrib(elm, 'width');
302
- setAttrib(elm, 'height');
303
- setAttrib(elm, 'onmouseover', onmouseoversrc);
304
- setAttrib(elm, 'onmouseout', onmouseoutsrc);
305
- setAttrib(elm, 'id');
306
- setAttrib(elm, 'dir');
307
- setAttrib(elm, 'lang');
308
- setAttrib(elm, 'longdesc');
309
- setAttrib(elm, 'usemap');
310
- setAttrib(elm, 'style');
311
- setAttrib(elm, 'class', getSelectValue(formObj, 'classlist'));
312
- setAttrib(elm, 'align', getSelectValue(formObj, 'align'));
313
-
314
- //tinyMCEPopup.execCommand("mceRepaint");
315
-
316
- // Repaint if dimensions changed
317
- if (formObj.width.value != orgImageWidth || formObj.height.value != orgImageHeight)
318
- inst.repaint();
319
-
320
- // Refresh in old MSIE
321
- if (tinyMCE.isMSIE5)
322
- elm.outerHTML = elm.outerHTML;
323
- } else {
324
- var html = "<img";
325
-
326
- html += makeAttrib('src', convertURL(src, tinyMCE.imgElement));
327
- html += makeAttrib('mce_src', src);
328
- html += makeAttrib('alt');
329
- html += makeAttrib('title');
330
- html += makeAttrib('border');
331
- html += makeAttrib('vspace');
332
- html += makeAttrib('hspace');
333
- html += makeAttrib('width');
334
- html += makeAttrib('height');
335
- html += makeAttrib('onmouseover', onmouseoversrc);
336
- html += makeAttrib('onmouseout', onmouseoutsrc);
337
- html += makeAttrib('id');
338
- html += makeAttrib('dir');
339
- html += makeAttrib('lang');
340
- html += makeAttrib('longdesc');
341
- html += makeAttrib('usemap');
342
- html += makeAttrib('style');
343
- html += makeAttrib('class', getSelectValue(formObj, 'classlist'));
344
- html += makeAttrib('align', getSelectValue(formObj, 'align'));
345
- html += " />";
346
-
347
- tinyMCEPopup.execCommand("mceInsertContent", false, html);
348
- }
349
-
350
- tinyMCE._setEventsEnabled(inst.getBody(), false);
351
- tinyMCEPopup.close();
352
- }
353
-
354
- function cancelAction() {
355
- tinyMCEPopup.close();
356
- }
357
-
358
- function changeAppearance() {
359
- var formObj = document.forms[0];
360
- var img = document.getElementById('alignSampleImg');
361
-
362
- if (img) {
363
- img.align = formObj.align.value;
364
- img.border = formObj.border.value;
365
- img.hspace = formObj.hspace.value;
366
- img.vspace = formObj.vspace.value;
367
- }
368
- }
369
-
370
- function changeMouseMove() {
371
- var formObj = document.forms[0];
372
-
373
- setSwapImageDisabled(!formObj.onmousemovecheck.checked);
374
- }
375
-
376
- function updateStyle() {
377
- var formObj = document.forms[0];
378
- var st = tinyMCE.parseStyle(formObj.style.value);
379
-
380
- if (tinyMCE.getParam('inline_styles', false)) {
381
- st['width'] = formObj.width.value == '' ? '' : formObj.width.value + "px";
382
- st['height'] = formObj.height.value == '' ? '' : formObj.height.value + "px";
383
- st['border-width'] = formObj.border.value == '' ? '' : formObj.border.value + "px";
384
- st['margin-top'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
385
- st['margin-bottom'] = formObj.vspace.value == '' ? '' : formObj.vspace.value + "px";
386
- st['margin-left'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
387
- st['margin-right'] = formObj.hspace.value == '' ? '' : formObj.hspace.value + "px";
388
- } else {
389
- st['width'] = st['height'] = st['border-width'] = null;
390
-
391
- if (st['margin-top'] == st['margin-bottom'])
392
- st['margin-top'] = st['margin-bottom'] = null;
393
-
394
- if (st['margin-left'] == st['margin-right'])
395
- st['margin-left'] = st['margin-right'] = null;
396
- }
397
-
398
- formObj.style.value = tinyMCE.serializeStyle(st);
399
- }
400
-
401
- function styleUpdated() {
402
- var formObj = document.forms[0];
403
- var st = tinyMCE.parseStyle(formObj.style.value);
404
-
405
- if (st['width'])
406
- formObj.width.value = st['width'].replace('px', '');
407
-
408
- if (st['height'])
409
- formObj.height.value = st['height'].replace('px', '');
410
-
411
- if (st['margin-top'] && st['margin-top'] == st['margin-bottom'])
412
- formObj.vspace.value = st['margin-top'].replace('px', '');
413
-
414
- if (st['margin-left'] && st['margin-left'] == st['margin-right'])
415
- formObj.hspace.value = st['margin-left'].replace('px', '');
416
-
417
- if (st['border-width'])
418
- formObj.border.value = st['border-width'].replace('px', '');
419
- }
420
-
421
- function changeHeight() {
422
- var formObj = document.forms[0];
423
-
424
- if (!formObj.constrain.checked || !preloadImg) {
425
- updateStyle();
426
- return;
427
- }
428
-
429
- if (formObj.width.value == "" || formObj.height.value == "")
430
- return;
431
-
432
- var temp = (parseInt(formObj.width.value) / parseInt(preloadImg.width)) * preloadImg.height;
433
- formObj.height.value = temp.toFixed(0);
434
- updateStyle();
435
- }
436
-
437
- function changeWidth() {
438
- var formObj = document.forms[0];
439
-
440
- if (!formObj.constrain.checked || !preloadImg) {
441
- updateStyle();
442
- return;
443
- }
444
-
445
- if (formObj.width.value == "" || formObj.height.value == "")
446
- return;
447
-
448
- var temp = (parseInt(formObj.height.value) / parseInt(preloadImg.height)) * preloadImg.width;
449
- formObj.width.value = temp.toFixed(0);
450
- updateStyle();
451
- }
452
-
453
- function onSelectMainImage(target_form_element, name, value) {
454
- var formObj = document.forms[0];
455
-
456
- formObj.alt.value = name;
457
- formObj.title.value = name;
458
-
459
- resetImageData();
460
- showPreviewImage(formObj.elements[target_form_element].value, false);
461
- }
462
-
463
- function showPreviewImage(src, start) {
464
- var formObj = document.forms[0];
465
-
466
- selectByValue(document.forms[0], 'imagelistsrc', src);
467
-
468
- var elm = document.getElementById('prev');
469
- var src = src == "" ? src : tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], src);
470
-
471
- if (!start && tinyMCE.getParam("advimage_update_dimensions_onchange", true))
472
- resetImageData();
473
-
474
- if (src == "")
475
- elm.innerHTML = "";
476
- else
477
- elm.innerHTML = '<img id="previewImg" src="' + src + '" border="0" onload="updateImageData();" onerror="resetImageData();" />'
478
- }
479
-
480
- function updateImageData() {
481
- var formObj = document.forms[0];
482
-
483
- preloadImg = document.getElementById('previewImg');
484
-
485
- if (formObj.width.value == "")
486
- formObj.width.value = preloadImg.width;
487
-
488
- if (formObj.height.value == "")
489
- formObj.height.value = preloadImg.height;
490
-
491
- updateStyle();
492
- }
493
-
494
- function resetImageData() {
495
- var formObj = document.forms[0];
496
- formObj.width.value = formObj.height.value = "";
497
- }
498
-
499
- function getSelectValue(form_obj, field_name) {
500
- var elm = form_obj.elements[field_name];
501
-
502
- if (elm == null || elm.options == null)
503
- return "";
504
-
505
- return elm.options[elm.selectedIndex].value;
506
- }
507
-
508
- function getImageListHTML(elm_id, target_form_element, onchange_func) {
509
- if (typeof(tinyMCEImageList) == "undefined" || tinyMCEImageList.length == 0)
510
- return "";
511
-
512
- var html = "";
513
-
514
- html += '<select id="' + elm_id + '" name="' + elm_id + '"';
515
- html += ' class="mceImageList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
516
- html += 'this.options[this.selectedIndex].value;';
517
-
518
- if (typeof(onchange_func) != "undefined")
519
- html += onchange_func + '(\'' + target_form_element + '\',this.options[this.selectedIndex].text,this.options[this.selectedIndex].value);';
520
-
521
- html += '"><option value="">---</option>';
522
-
523
- for (var i=0; i<tinyMCEImageList.length; i++)
524
- html += '<option value="' + tinyMCEImageList[i][1] + '">' + tinyMCEImageList[i][0] + '</option>';
525
-
526
- html += '</select>';
527
-
528
- return html;
529
-
530
- // tinyMCE.debug('-- image list start --', html, '-- image list end --');
531
- }
532
-
533
- // While loading
534
- preinit();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/langs/de_de.js DELETED
@@ -1,27 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('advimage',{
4
- tab_general : 'Allgemein',
5
- tab_appearance : 'Erscheinungsbild',
6
- tab_advanced : 'Erweitert',
7
- general : 'Allgemein',
8
- title : 'Titel',
9
- preview : 'Vorschau',
10
- constrain_proportions : 'Verh&auml;ltnis beibehalten',
11
- langdir : 'Textfluss',
12
- langcode : 'Sprach-Code',
13
- long_desc : 'Link zur ausf&uuml;hrlichen Beschreibung',
14
- style : 'CSS-Stil',
15
- classes : 'CSS-Klassen',
16
- ltr : 'Von links nach rechts',
17
- rtl : 'Von rechts nach links',
18
- id : 'ID',
19
- image_map : 'Image Map (Bild mit sensitiven Bereichen)',
20
- swap_image : 'Bild austauschen',
21
- alt_image : 'Alternatives Bild',
22
- mouseover : 'f&uuml;r Mouse-Over',
23
- mouseout : 'f&uuml;r Mouse-Out',
24
- misc : 'Verschiedenes',
25
- example_img : 'Erscheinungsbild&nbsp;Vorschau&nbsp;Bild',
26
- missing_alt : 'Sind Sie sicher fortzufahren, ohne eine Bild-Beschreibung einzugeben? Ohne die Bild-Beschreibung k&ouml;nnen einige Besucher mit einer Behinderung, Besucher die nur einen Text-Browser benutzen oder die das Anzeigen von Bilder im Internet deaktiviert haben, Ihre Bilder nicht richtig sehen.'
27
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/langs/de_dlg.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('de.advimage_dlg',{
2
+ tab_general:"Allgemein",
3
+ tab_appearance:"Aussehen",
4
+ tab_advanced:"Erweitert",
5
+ general:"Allgemein",
6
+ title:"Titel",
7
+ preview:"Vorschau",
8
+ constrain_proportions:"Ausma\u00DFe",
9
+ langdir:"Schriftrichtung",
10
+ langcode:"Sprachcode",
11
+ long_desc:"Ausf\u00FChrliche Beschreibung",
12
+ style:"Format",
13
+ classes:"Klassen",
14
+ ltr:"Links nach rechts",
15
+ rtl:"Rechts nach links",
16
+ id:"ID",
17
+ map:"Image-Map",
18
+ swap_image:"Bild austauschen",
19
+ alt_image:"Alternatives Bild",
20
+ mouseover:"bei Mauskontakt",
21
+ mouseout:"bei keinem Mauskontakt",
22
+ misc:"Verschiedenes",
23
+ example_img:"Aussehen der Vorschau",
24
+ missing_alt:"Wollen Sie wirklich keine Beschreibung eingeben? Bestimmte Benutzer mit k\u00F6rperlichen Einschr\u00E4nkungen k\u00F6nnen so nicht darauf zugrifen, ebenso solche, die einen Textbrowser benutzen oder die Anzeige von Bildern deaktiviert haben.",
25
+ dialog_title:"Bild einf\u00FCgen/bearbeiten",
26
+ src:"Adresse",
27
+ alt:"Beschreibung",
28
+ list:"Bilderliste",
29
+ border:"Rahmen",
30
+ dimensions:"Ausma\u00DFe",
31
+ vspace:"Vertikaler Abstand",
32
+ hspace:"Horizontaler Abstand",
33
+ align:"Ausrichtung",
34
+ align_baseline:"Zeile",
35
+ align_top:"Oben",
36
+ align_middle:"Mittig",
37
+ align_bottom:"Unten",
38
+ align_texttop:"Oben im Text",
39
+ align_textbottom:"Unten im Text",
40
+ align_left:"Links",
41
+ align_right:"Rechts",
42
+ image_list:"Bilderliste"
43
+ });
mce/advimage/langs/en.js DELETED
@@ -1,27 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('advimage',{
4
- tab_general : 'General',
5
- tab_appearance : 'Appearance',
6
- tab_advanced : 'Advanced',
7
- general : 'General',
8
- title : 'Title',
9
- preview : 'Preview',
10
- constrain_proportions : 'Constrain proportions',
11
- langdir : 'Language direction',
12
- langcode : 'Language code',
13
- long_desc : 'Long description link',
14
- style : 'Style',
15
- classes : 'Classes',
16
- ltr : 'Left to right',
17
- rtl : 'Right to left',
18
- id : 'Id',
19
- image_map : 'Image map',
20
- swap_image : 'Swap image',
21
- alt_image : 'Alternative image',
22
- mouseover : 'for mouse over',
23
- mouseout : 'for mouse out',
24
- misc : 'Miscellaneous',
25
- example_img : 'Appearance&nbsp;preview&nbsp;image',
26
- missing_alt : 'Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.'
27
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/langs/en_dlg.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('en.advimage_dlg',{
2
+ tab_general:"General",
3
+ tab_appearance:"Appearance",
4
+ tab_advanced:"Advanced",
5
+ general:"General",
6
+ title:"Title",
7
+ preview:"Preview",
8
+ constrain_proportions:"Constrain proportions",
9
+ langdir:"Language direction",
10
+ langcode:"Language code",
11
+ long_desc:"Long description link",
12
+ style:"Style",
13
+ classes:"Classes",
14
+ ltr:"Left to right",
15
+ rtl:"Right to left",
16
+ id:"Id",
17
+ map:"Image map",
18
+ swap_image:"Swap image",
19
+ alt_image:"Alternative image",
20
+ mouseover:"for mouse over",
21
+ mouseout:"for mouse out",
22
+ misc:"Miscellaneous",
23
+ example_img:"Appearance preview image",
24
+ missing_alt:"Are you sure you want to continue without including an Image Description? Without it the image may not be accessible to some users with disabilities, or to those using a text browser, or browsing the Web with images turned off.",
25
+ dialog_title:"Insert/edit image",
26
+ src:"Image URL",
27
+ alt:"Image description",
28
+ list:"Image list",
29
+ border:"Border",
30
+ dimensions:"Dimensions",
31
+ vspace:"Vertical space",
32
+ hspace:"Horizontal space",
33
+ align:"Alignment",
34
+ align_baseline:"Baseline",
35
+ align_top:"Top",
36
+ align_middle:"Middle",
37
+ align_bottom:"Bottom",
38
+ align_texttop:"Text top",
39
+ align_textbottom:"Text bottom",
40
+ align_left:"Left",
41
+ align_right:"Right",
42
+ image_list:"Image list"
43
+ });
mce/advimage/langs/es_dlg.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('es.advimage_dlg',{
2
+ tab_general:"General",
3
+ tab_appearance:"Apariencia",
4
+ tab_advanced:"Avanzado",
5
+ general:"General",
6
+ title:"T\u00EDtulo",
7
+ preview:"Vista previa",
8
+ constrain_proportions:"Bloquear relaci\u00F3n de aspecto",
9
+ langdir:"Direcci\u00F3n del lenguaje",
10
+ langcode:"C\u00F3digo del lenguaje",
11
+ long_desc:"V\u00EDnculo para descripci\u00F3n larga",
12
+ style:"Estilos",
13
+ classes:"Clases",
14
+ ltr:"Izquierda a derecha",
15
+ rtl:"Derecha a izquierda",
16
+ id:"Id",
17
+ map:"Mapa de imagen",
18
+ swap_image:"Intercambiar imagen",
19
+ alt_image:"Imagen alternativa",
20
+ mouseover:"para mouseover",
21
+ mouseout:"para mouseout",
22
+ misc:"Miscel\u00E1neo",
23
+ example_img:"Vista previa de la imagen",
24
+ missing_alt:"\u00BFEsta seguro de continuar sin introducir una descripci\u00F3n a la imagen? Sin ella puede no ser accesible para usuarios con discapacidades, o para aquellos que usen navegadores de modo texto, o tengan deshabilitadas las im\u00E1genes de la p\u00E1gina.",
25
+ dialog_title:"Insertar/editar imagen",
26
+ src:"URL de la imagen",
27
+ alt:"Descripci\u00F3n de la imagen",
28
+ list:"Lista de imagen",
29
+ border:"Bordes",
30
+ dimensions:"Dimensiones",
31
+ vspace:"Espacio vertical",
32
+ hspace:"Espacio horizontal",
33
+ align:"Alineaci\u00F3n",
34
+ align_baseline:"L\u00EDnea base",
35
+ align_top:"Arriba",
36
+ align_middle:"Medio",
37
+ align_bottom:"Debajo",
38
+ align_texttop:"Texto arriba",
39
+ align_textbottom:"Texto abajo",
40
+ align_left:"Izquierda",
41
+ align_right:"Derecha",
42
+ image_list:"Lista de imagen"
43
+ });
mce/advimage/langs/es_es.js DELETED
@@ -1,36 +0,0 @@
1
- /**
2
- * ES lang variables
3
- *
4
- * Authors : Alvaro Velasco,
5
- * Adolfo Sanz De Diego (asanzdiego) <asanzdiego@yahoo.es>,
6
- * Carlos C Soto (eclipxe) <csoto@sia-solutions.com>
7
- * Eneko Castresana Vara
8
- * Last Updated : July 14, 2006
9
- * TinyMCE Version : 2.0.6.1
10
- */
11
-
12
- tinyMCE.addToLang('advimage',{
13
- tab_general : 'General',
14
- tab_appearance : 'Aspecto',
15
- tab_advanced : 'Avanzado',
16
- general : 'General',
17
- title : 'Titulo',
18
- preview : 'Vista previa',
19
- constrain_proportions : 'Bloquear relaci&oacute;n de aspecto',
20
- langdir : 'Direcci&oacute;n del texto',
21
- langcode : 'C&oacute;digo del idioma',
22
- long_desc : 'Descripci&oacute;n larga del link',
23
- style : 'Estilo',
24
- classes : 'Clases',
25
- ltr : 'De izquierda a derecha',
26
- rtl : 'De derecha a izquierda',
27
- id : 'Id',
28
- image_map : 'Mapa de la imagen',
29
- swap_image : 'Intercambio de imagen',
30
- alt_image : 'Imagen alternativa',
31
- mouseover : 'Al pasar el rat&oacute;n por encima de la imagen',
32
- mouseout : 'Al sacar el rat&oacute;n de la imagen',
33
- misc : 'Miscel&aacute;neo',
34
- example_img : 'Aspecto&nbsp;vista previa&nbsp;imagen',
35
- missing_alt : '&#191;Est&aacute;s seguro de querer continuar sin incluir una descripci&oacute;n de la imagen? Sin ella la imagen puede no ser accesible para ciertos usuarios discapacitados, o para los usuarios que usen navegadores de texto, o para los usuarios que tengan las imagenes desactivadas en su navegador.'
36
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/langs/fr_dlg.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('fr.advimage_dlg',{
2
+ tab_general:"G\u00E9n\u00E9ral",
3
+ tab_appearance:"Apparence",
4
+ tab_advanced:"Avanc\u00E9",
5
+ general:"G\u00E9n\u00E9ral",
6
+ title:"Titre",
7
+ preview:"Pr\u00E9visualiser",
8
+ constrain_proportions:"Conserver les proportions",
9
+ langdir:"Sens de lecture",
10
+ langcode:"Code de la langue",
11
+ long_desc:"Description longue du lien",
12
+ style:"Style",
13
+ classes:"Classes",
14
+ ltr:"De gauche \u00E0 droite",
15
+ rtl:"De droite \u00E0 gauche",
16
+ id:"Id",
17
+ map:"Carte image",
18
+ swap_image:"Alterner image",
19
+ alt_image:"Image alternative",
20
+ mouseover:"au passage de la souris",
21
+ mouseout:"\u00E0 la sortie de la souris",
22
+ misc:"Divers",
23
+ example_img:"Apparence de l'image",
24
+ missing_alt:"\u00CAtes-vous s\u00FBr de vouloir continuer sans inclure de description de l'image\u00A0? Sans description, l'image peut ne pas \u00EAtre accessible \u00E0 certains utilisateurs handicap\u00E9s visuellement, ceux utilisant un navigateur texte, ou ceux qui naviguent sans affichage des images.",
25
+ dialog_title:"Ins\u00E9rer/\u00C9diter image",
26
+ src:"URL de l'image",
27
+ alt:"Description de l'image",
28
+ list:"Liste d'images",
29
+ border:"Bordure",
30
+ dimensions:"Dimensions",
31
+ vspace:"Espacement vertical",
32
+ hspace:"Espacement horizontal",
33
+ align:"Alignement",
34
+ align_baseline:"Base",
35
+ align_top:"Haut",
36
+ align_middle:"Milieu",
37
+ align_bottom:"Bas",
38
+ align_texttop:"Haut du texte",
39
+ align_textbottom:"Bas du texte",
40
+ align_left:"Gauche",
41
+ align_right:"Droite",
42
+ image_list:"Liste d'images"
43
+ });
mce/advimage/langs/fr_fr.js DELETED
@@ -1,28 +0,0 @@
1
- // FR lang variables
2
- // Modified by Motte, last updated 2006-03-23
3
-
4
- tinyMCE.addToLang('advimage',{
5
- tab_general : 'G&eacute;n&eacute;rale',
6
- tab_appearance : 'Apparence',
7
- tab_advanced : 'Avanc&eacute;',
8
- general : 'G&eacute;n&eacute;rale',
9
- title : 'Titre',
10
- preview : 'Pr&eacute;visualisation',
11
- constrain_proportions : 'Conserver les proportions',
12
- langdir : 'Sens d\'&eacute;criture',
13
- langcode : 'Code de langue du libell&eacute;',
14
- long_desc : 'Description du lien',
15
- style : 'Style',
16
- classes : 'Classes',
17
- ltr : 'De gauche &agrave; droite',
18
- rtl : 'De droite &agrave; gauche',
19
- id : 'Id',
20
- image_map : 'Image map',
21
- swap_image : 'Image d\'&eacute;change',
22
- alt_image : 'Image alternative',
23
- mouseover : 'Quand le pointeur est au dessus',
24
- mouseout : 'Quand le pointeur est en dehors',
25
- misc : 'Divers',
26
- example_img : 'Apparence&nbsp;pr&eacute;visualisation&nbsp;image',
27
- missing_alt : 'Etes vous sur de vouloir continuer sans inclure une description de l\'image. Cette description est utile pour les utilisateurs ne pouvant pas afficher les images ou les ayant d&eacute;sactiv&eacute;es.'
28
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/langs/it_dlg.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('it.advimage_dlg',{
2
+ tab_general:"Generale",
3
+ tab_appearance:"Aspetto",
4
+ tab_advanced:"Avanzate",
5
+ general:"Generale",
6
+ title:"Titolo",
7
+ preview:"Anteprima",
8
+ constrain_proportions:"Mantieni proporzioni",
9
+ langdir:"Direzione testo",
10
+ langcode:"codice lingua",
11
+ long_desc:"Descrizione del collegamento",
12
+ style:"Stile",
13
+ classes:"Classe",
14
+ ltr:"Sinistra verso destra",
15
+ rtl:"Destra verso sinistraa",
16
+ id:"Id",
17
+ map:"Immagine come mappa",
18
+ swap_image:"Sostituisci immagine",
19
+ alt_image:"Immagine alternativa",
20
+ mouseover:"quando mouse sopra",
21
+ mouseout:"quando mouse fuori",
22
+ misc:"Impostazioni varie",
23
+ example_img:"Anteprima aspetto immagine",
24
+ missing_alt:"Sicuro di continuare senza includere una descrizione dell'immagine? Senza di essa l'immagine pu\u00F2 non essere accessibile ad alcuni utenti con disabilit\u00E0, o per coloro che usano un browser testuale oppure che hanno disabilitato la visualizzazione delle immagini nel loro browser.",
25
+ dialog_title:"Inserisci/modifica immagine",
26
+ src:"URL immagine",
27
+ alt:"Descrizione immagine",
28
+ list:"Lista immagini",
29
+ border:"Bordo",
30
+ dimensions:"Dimensioni",
31
+ vspace:"Spaziatura verticale",
32
+ hspace:"Spaziatura orizzontale",
33
+ align:"Allineamento",
34
+ align_baseline:"Alla base",
35
+ align_top:"In alto",
36
+ align_middle:"In mezzo",
37
+ align_bottom:"In basso",
38
+ align_texttop:"In alto al testo",
39
+ align_textbottom:"In basso al testo",
40
+ align_left:"A sinistra",
41
+ align_right:"A destra",
42
+ image_list:"Lista immagini"
43
+ });
mce/advimage/langs/it_it.js DELETED
@@ -1,33 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('advimage',{
10
- tab_general : 'Generale',
11
- tab_appearance : 'Aspetto',
12
- tab_advanced : 'Avanzate',
13
- general : 'Generale',
14
- title : 'Titolo',
15
- preview : 'Anteprima',
16
- constrain_proportions : 'Mantieni proporzioni',
17
- langdir : 'Direzione del testo',
18
- langcode : 'Codifica lingua',
19
- long_desc : 'Link alla descrizione',
20
- style : 'Stile',
21
- classes : 'Classi',
22
- ltr : 'Da sinistra a destra',
23
- rtl : 'Da destra a sinistra',
24
- id : 'Id',
25
- image_map : 'Mappa',
26
- swap_image : 'Scambia immagine',
27
- alt_image : 'Immagini alternative',
28
- mouseover : 'Per il mouseover',
29
- mouseout : 'Per il mouseout',
30
- misc : 'Altro',
31
- example_img : 'Aspetto&nbsp;anteprima&nbsp;immagine',
32
- missing_alt : 'Sei sicuro di voler omettere il testo alternativo? Questo testo &egrave; utile a persone che usano browser testuali, che hanno disattivato il caricamento delle immagini, oppure ai disabili.'
33
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/langs/ja_dlg.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ja.advimage_dlg',{
2
+ tab_general:"\u57FA\u672C",
3
+ tab_appearance:"\u5916\u89C2",
4
+ tab_advanced:"\u9AD8\u7EA7",
5
+ general:"\u57FA\u672C",
6
+ title:"\u67E5\u627E",
7
+ preview:"\u9884\u89C8",
8
+ constrain_proportions:"\u4FDD\u6301\u6BD4\u4F8B",
9
+ langdir:"\u8BED\u8A00\u4E66\u5199\u65B9\u5411",
10
+ langcode:"\u8BED\u8A00\u7F16\u7801",
11
+ long_desc:"\u63CF\u8FF0",
12
+ style:"\u6837\u5F0F",
13
+ classes:"\u6837\u5F0F\u7C7B",
14
+ ltr:"\u4ECE\u5DE6\u5230\u53F3",
15
+ rtl:"\u4ECE\u53F3\u5230\u5DE6",
16
+ id:"Id",
17
+ map:"\u56FE\u7247\u70ED\u70B9",
18
+ swap_image:"\u5207\u6362\u56FE\u7247",
19
+ alt_image:"\u4EA4\u66FF\u56FE\u7247",
20
+ mouseover:"\u9F20\u6807\u5212\u8FC7",
21
+ mouseout:"\u9F20\u6807\u79FB\u51FA",
22
+ misc:"\u5176\u5B83",
23
+ example_img:"\u9884\u89C8\u56FE\u7247",
24
+ missing_alt:" \u662F\u5426\u4E0D\u4E3A\u56FE\u7247\u52A0\u5165\u8BF4\u660E\u6587\u5B57\uFF0C\u5982\u679C\u4E0D\u52A0\u5165\u8BF4\u660E\u6587\u5B57\uFF0C\u5C06\u5BFC\u81F4\u4E0D\u652F\u6301\u56FE\u7247\u7684\u6D4F\u89C8\u5668\u5FFD\u7565\u672C\u5185\u5BB9",
25
+ dialog_title:"\u63D2\u5165/\u7F16\u8F91 \u56FE\u7247",
26
+ src:"\u56FE\u7247\u5730\u5740",
27
+ alt:"\u56FE\u7247\u8BF4\u660E",
28
+ list:"\u56FE\u7247\u6E05\u5355",
29
+ border:"\u8FB9\u6846",
30
+ dimensions:"\u5C3A\u5BF8",
31
+ vspace:"\u5782\u76F4\u95F4\u8DDD",
32
+ hspace:"\u6C34\u5E73\u95F4\u8DDD",
33
+ align:"\u5BF9\u9F50\u65B9\u5F0F",
34
+ align_baseline:"\u57FA\u7EBF",
35
+ align_top:"\u9876\u90E8",
36
+ align_middle:"\u4E2D\u90E8",
37
+ align_bottom:"\u5E95\u90E8",
38
+ align_texttop:"\u6587\u5B57\u4E0A\u65B9",
39
+ align_textbottom:"\u6587\u5B57\u4E0B\u65B9",
40
+ align_left:"\u5C45\u5DE6",
41
+ align_right:"\u5C45\u53F3",
42
+ image_list:"\u56FE\u7247\u6E05\u5355"
43
+ });
mce/advimage/langs/langs.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+ $lang_file = dirname(__FILE__) . '/' . $mce_locale . '_dlg.js';
3
+
4
+ if ( is_file($lang_file) && is_readable($lang_file) ) {
5
+ $strings .= getFileContents($lang_file);
6
+ }
7
+ ?>
mce/advimage/langs/pt_br.js DELETED
@@ -1,36 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 26, 2005 - TinyMCE Version : 2.0RC4
9
- * Last Updated : November 20, 2006 - TinyMCE Version : 2.0.8
10
- */
11
- tinyMCE.addToLang('advimage',{
12
- tab_general : 'Geral',
13
- tab_appearance : 'Apar�ncia',
14
- tab_advanced : 'Avan�ado',
15
- general : 'Geral',
16
- title : 'T�tulo',
17
- preview : 'Visualizar (Preview)',
18
- constrain_proportions : 'Bloquear propor��es',
19
- langdir : 'Dire��o da linguagem',
20
- langcode : 'C�digo da linguagem',
21
- long_desc : 'Descri��o completa do link',
22
- style : 'Estilo',
23
- classes : 'Classes',
24
- ltr : 'Esquerda para direita',
25
- rtl : 'Direita para esquerda',
26
- id : 'Id',
27
- image_map : 'Mapa da imagem',
28
- swap_image : 'Trocar imagem',
29
- alt_image : 'Imagem alternativa',
30
- mouseover : 'para o mouse sobre o link',
31
- mouseout : 'para o mouse fora do link',
32
- misc : 'Miscel�nia',
33
- example_img : 'Exemplo&nbsp;da&nbsp;apar�ncia',
34
- missing_alt : 'N�o foi definida uma descri��o para a imagem. Deseja continuar?\r\nSem a descri��o, a imagem pode n�o estar acess�vel para alguns usu�rios com necessidades especiais, ou para aqueles que utilizam um navegador em modo texto ou com imagens desativadas.',
35
- delta_width : 40
36
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/langs/pt_dlg.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('pt.advimage_dlg',{
2
+ tab_general:"Geral",
3
+ tab_appearance:"Apar\u00EAncia",
4
+ tab_advanced:"Avan\u00E7ado",
5
+ general:"Geral",
6
+ title:"T\u00EDtulo",
7
+ preview:"Previs\u00E3o",
8
+ constrain_proportions:"Manter propor\u00E7\u00F5es",
9
+ langdir:"Dire\u00E7\u00E3o do texto",
10
+ langcode:"C\u00F3digo de idioma",
11
+ long_desc:"Descri\u00E7\u00E3o extensa",
12
+ style:"Estilo",
13
+ classes:"Classes",
14
+ ltr:"Esquerda para direita",
15
+ rtl:"Direita para esquerda",
16
+ id:"Id",
17
+ map:"Mapa de imagem",
18
+ swap_image:"Trocar imagem",
19
+ alt_image:"Imagem alternativa",
20
+ mouseover:"mouseover",
21
+ mouseout:"mouseout",
22
+ misc:"Miscel\u00E2nea",
23
+ example_img:"Pr\u00E9-visualiza\u00E7\u00E3o",
24
+ missing_alt:"Tem certeza que deseja continuar sem acrescentar uma descri\u00E7\u00E3o \u00E0 imagem? (Isto pode gerar problemas de acessibilidade em alguns navegadores)",
25
+ dialog_title:"Inserir/editar imagem",
26
+ src:"Endere\u00E7o da imagem",
27
+ alt:"Descri\u00E7\u00E3o da imagem",
28
+ list:"Lista de imagens",
29
+ border:"Borda",
30
+ dimensions:"Dimens\u00F5es",
31
+ vspace:"Espa\u00E7o vertical",
32
+ hspace:"Espa\u00E7o horizontal",
33
+ align:"Alinhamento",
34
+ align_baseline:"Sobre a linha de texto",
35
+ align_top:"Topo",
36
+ align_middle:"Meio",
37
+ align_bottom:"Embaixo",
38
+ align_texttop:"Topo do texto",
39
+ align_textbottom:"Base do texto",
40
+ align_left:"Esquerda",
41
+ align_right:"Direita",
42
+ image_list:"Lista de imagens"
43
+ });
mce/advimage/langs/ru_dlg.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ru.advimage_dlg',{
2
+ tab_general:"\u041E\u0441\u043D\u043E\u0432\u043D\u044B\u0435",
3
+ tab_appearance:"\u0412\u0438\u0434",
4
+ tab_advanced:"\u0414\u043E\u043F\u043E\u043B\u043D\u0438\u0442\u0435\u043B\u044C\u043D\u043E",
5
+ general:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0435",
6
+ title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",
7
+ preview:"\u041F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440",
8
+ constrain_proportions:"\u0421\u043E\u0431\u043B\u044E\u0434\u0430\u0442\u044C \u043F\u0440\u043E\u043F\u043E\u0440\u0446\u0438\u0438",
9
+ langdir:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u0438\u0441\u044C\u043C\u0430 \u0432 \u044F\u0437\u044B\u043A\u0435",
10
+ langcode:"\u041A\u043E\u0434 \u044F\u0437\u044B\u043A\u0430",
11
+ long_desc:"\u0421\u0441\u044B\u043B\u043A\u0430 \u043D\u0430 \u043F\u043E\u043B\u043D\u043E\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",
12
+ style:"\u0421\u0442\u0438\u043B\u044C",
13
+ classes:"\u041A\u043B\u0430\u0441\u0441\u044B",
14
+ ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E",
15
+ rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E",
16
+ id:"Id",
17
+ map:"\u041A\u0430\u0440\u0442\u0430 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",
18
+ swap_image:"\u041F\u043E\u0434\u043C\u0435\u043D\u0430 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",
19
+ alt_image:"\u0410\u043B\u044C\u0442\u0435\u0440\u043D\u0430\u0442\u0438\u0432\u043D\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435",
20
+ mouseover:"\u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044C \u043D\u0430\u0432\u0435\u0434\u0435\u043D",
21
+ mouseout:"\u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044C \u0443\u0431\u0440\u0430\u043D",
22
+ misc:"\u041F\u0440\u043E\u0447\u0435\u0435",
23
+ example_img:"\u041F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",
24
+ missing_alt:"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u043D\u0435 \u0445\u043E\u0442\u0438\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F? \u0411\u0435\u0437 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u044F \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u0434\u043B\u044F \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0435\u0439-\u0438\u043D\u0432\u0430\u043B\u0438\u0434\u043E\u0432,\u0438\u043B\u0438 \u0434\u043B\u044F \u0442\u0435\u0445, \u043A\u0442\u043E \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0435\u0442 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u044B \u0438\u043B\u0438 \u043F\u0440\u043E\u0441\u043C\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u0442 \u0441\u0430\u0439\u0442\u044B \u0441 \u0432\u044B\u043A\u043B\u044E\u0447\u0435\u043D\u043D\u044B\u043C\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F\u043C\u0438.",
25
+ dialog_title:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435",
26
+ src:"\u0410\u0434\u0440\u0435\u0441 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",
27
+ alt:"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F",
28
+ list:"\u0421\u043F\u0438\u0441\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439",
29
+ border:"\u0413\u0440\u0430\u043D\u0438\u0446\u0430",
30
+ dimensions:"\u0420\u0430\u0437\u043C\u0435\u0440\u044B",
31
+ vspace:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0439 \u043E\u0442\u0441\u0442\u0443\u043F",
32
+ hspace:"\u0413\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u044B\u0439 \u043E\u0442\u0441\u0442\u0443\u043F",
33
+ align:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435",
34
+ align_baseline:"\u041F\u043E \u0431\u0430\u0437\u043E\u0432\u043E\u0439 \u043B\u0438\u043D\u0438\u0438",
35
+ align_top:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E",
36
+ align_middle:"\u041F\u043E \u0446\u0435\u043D\u0442\u0440\u0443",
37
+ align_bottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E",
38
+ align_texttop:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E \u0442\u0435\u043A\u0441\u0442\u0430",
39
+ align_textbottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E \u0442\u0435\u043A\u0441\u0442\u0430",
40
+ align_left:"\u041F\u043E \u043B\u0435\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E",
41
+ align_right:"\u041F\u043E \u043F\u0440\u0430\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E",
42
+ image_list:"\u0421\u043F\u0438\u0441\u043E\u043A \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439"
43
+ });
mce/advimage/langs/ru_ru.js DELETED
@@ -1,27 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('advimage',{
4
- tab_general : 'Основные',
5
- tab_appearance : 'Визуализация',
6
- tab_advanced : 'Расширенные',
7
- general : 'Главные',
8
- title : 'Заголовок',
9
- preview : 'Предпросмотр',
10
- constrain_proportions : 'Сохранить пропорции',
11
- langdir : 'Описание языка',
12
- langcode : 'Код языка',
13
- long_desc : 'Полное описание',
14
- style : 'Стили',
15
- classes : 'Классы',
16
- ltr : 'Слева направо',
17
- rtl : 'Справа налево',
18
- id : 'Id',
19
- image_map : 'Карта изображения',
20
- swap_image : 'Подмена картинки',
21
- alt_image : 'Альтернативное изображение',
22
- mouseover : 'при наведении мыши',
23
- mouseout : 'когда уводите мышь',
24
- misc : 'Прочее',
25
- example_img : 'Визуализация&nbsp;расположения&nbsp;картинки',
26
- missing_alt : 'Продолжить без Описания Изображения? Без описания, изображение может быть недоступно для пользователей, использующих текстовые браузеры или отключивших показ изображений.'
27
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/langs/zh_cn.js DELETED
@@ -1,28 +0,0 @@
1
- // Simplified Chinese lang variables contributed by TinyMCE_China_Team ( tinymce_china {AT} yahoogroups {DOT} com ).
2
- // visit our homepage at: http://www.cube316.net/tinymce/ for more information.
3
-
4
- tinyMCE.addToLang('advimage',{
5
- tab_general : 'һ��',
6
- tab_appearance : '��ʾ',
7
- tab_advanced : '�߼�',
8
- general : 'һ��',
9
- title : '����',
10
- preview : 'Ԥ��',
11
- constrain_proportions : 'Լ������',
12
- langdir : '�����',
13
- langcode : '���Ա���',
14
- long_desc : '����������',
15
- style : '���',
16
- classes : '��',
17
- ltr : '��������',
18
- rtl : '��������',
19
- id : '��ʶ',
20
- image_map : 'ͼƬ��Ӧ',
21
- swap_image : '����ͼƬ',
22
- alt_image : '��ѡͼƬ',
23
- mouseover : '���������ʱ',
24
- mouseout : '����뿪ʱ',
25
- misc : '����',
26
- example_img : '��ʾ&nbsp;Ԥ��&nbsp;ͼƬ',
27
- missing_alt : '��ȷ��Ҫ��û��ͼƬ˵��������¼����� ���������ر�ͼƬ������û����޷�ע�⵽����������ͼƬ��'
28
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advimage/langs/zh_dlg.js ADDED
@@ -0,0 +1,43 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('zh.advimage_dlg',{
2
+ tab_general:"\u57FA\u672C",
3
+ tab_appearance:"\u5916\u89C0",
4
+ tab_advanced:"\u9AD8\u7D1A",
5
+ general:"\u57FA\u672C",
6
+ title:"\u67E5\u627E",
7
+ preview:"\u9810\u89BD",
8
+ constrain_proportions:"\u4FDD\u6301\u6BD4\u4F8B",
9
+ langdir:"\u8A9E\u8A00\u66F8\u5BEB\u65B9\u5411",
10
+ langcode:"\u8A9E\u8A00\u7DE8\u78BC",
11
+ long_desc:"\u63CF\u8FF0",
12
+ style:"\u6A23\u5F0F",
13
+ classes:"\u6A23\u5F0F\u985E",
14
+ ltr:"\u5F9E\u5DE6\u5230\u53F3",
15
+ rtl:"\u5F9E\u53F3\u5230\u5DE6",
16
+ id:"Id",
17
+ map:"\u5716\u7247\u71B1\u9EDE",
18
+ swap_image:"\u5207\u63DB\u5716\u7247",
19
+ alt_image:"\u4EA4\u66FF\u5716\u7247",
20
+ mouseover:"\u6ED1\u9F20\u5283\u904E",
21
+ mouseout:"\u6ED1\u9F20\u79FB\u51FA",
22
+ misc:"\u5176\u4ED6",
23
+ example_img:"\u9810\u89BD\u5716\u7247",
24
+ missing_alt:" \u662F\u5426\u4E0D\u70BA\u5716\u7247\u52A0\u5165\u8AAA\u660E\u6587\u5B57\uFF0C\u5982\u679C\u4E0D\u52A0\u5165\u8AAA\u660E\u6587\u5B57\uFF0C\u5C07\u5C0E\u81F4\u4E0D\u652F\u63F4\u5716\u7247\u7684\u6D41\u89BD\u5668\u5FFD\u7565\u672C\u5167\u5BB9",
25
+ dialog_title:"\u63D2\u5165/\u7DE8\u8F2F \u5716\u7247",
26
+ src:"\u5716\u7247\u4F4D\u5740",
27
+ alt:"\u5716\u7247\u8AAA\u660E",
28
+ list:"\u5716\u7247\u6E05\u55AE",
29
+ border:"\u908A\u6846",
30
+ dimensions:"\u5C3A\u5BF8",
31
+ vspace:"\u5782\u76F4\u9593\u8DDD",
32
+ hspace:"\u6C34\u6E96\u9593\u8DDD",
33
+ align:"\u5C0D\u9F4A\u65B9\u5F0F",
34
+ align_baseline:"\u57FA\u7DDA",
35
+ align_top:"\u9802\u90E8",
36
+ align_middle:"\u4E2D\u90E8",
37
+ align_bottom:"\u5E95\u90E8",
38
+ align_texttop:"\u6587\u5B57\u4E0A\u65B9",
39
+ align_textbottom:"\u6587\u5B57\u4E0B\u65B9",
40
+ align_left:"\u5C45\u5DE6",
41
+ align_right:"\u5C45\u53F3",
42
+ image_list:"\u5716\u7247\u6E05\u55AE"
43
+ });
mce/advimage/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/advlink/css/advlink.css CHANGED
@@ -1,35 +1,8 @@
1
- /* CSS file for advimage plugin popup */
2
-
3
- .mceLinkList, .mceAnchorList, #targetlist {
4
- width: 280px;
5
- }
6
-
7
- .mceActionPanel {
8
- margin-top: 7px;
9
- }
10
-
11
- .panel_wrapper div.current {
12
- height: 320px;
13
- }
14
-
15
- #classlist, #title, #href {
16
- width: 280px;
17
- }
18
-
19
- #popupurl, #popupname {
20
- width: 200px;
21
- }
22
-
23
- #popupwidth, #popupheight, #popupleft, #popuptop {
24
- width: 30px;
25
- vertical-align: middle;
26
- text-align: center;
27
- }
28
-
29
- #id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {
30
- width: 200px;
31
- }
32
-
33
- #events_panel input {
34
- width: 200px;
35
- }
1
+ .mceLinkList, .mceAnchorList, #targetlist {width:280px;}
2
+ .mceActionPanel {margin-top:7px;}
3
+ .panel_wrapper div.current {height:320px;}
4
+ #classlist, #title, #href {width:280px;}
5
+ #popupurl, #popupname {width:200px;}
6
+ #popupwidth, #popupheight, #popupleft, #popuptop {width:30px;vertical-align:middle;text-align:center;}
7
+ #id, #style, #classes, #target, #dir, #hreflang, #lang, #charset, #type, #rel, #rev, #tabindex, #accesskey {width:200px;}
8
+ #events_panel input {width:200px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advlink/editor_plugin.js CHANGED
@@ -1,83 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 268 2007-04-28 15:52:59Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import plugin specific language pack */
9
- tinyMCE.importPluginLanguagePack('advlink');
10
-
11
- var TinyMCE_AdvancedLinkPlugin = {
12
- getInfo : function() {
13
- return {
14
- longname : 'Advanced link',
15
- author : 'Moxiecode Systems AB',
16
- authorurl : 'http://tinymce.moxiecode.com',
17
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
18
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
- };
20
- },
21
-
22
- initInstance : function(inst) {
23
- inst.addShortcut('ctrl', 'k', 'lang_advlink_desc', 'mceAdvLink');
24
- },
25
-
26
- getControlHTML : function(cn) {
27
- switch (cn) {
28
- case "link":
29
- return tinyMCE.getButtonHTML(cn, 'lang_link_desc', '{$themeurl}/images/link.gif', 'mceAdvLink');
30
- }
31
-
32
- return "";
33
- },
34
-
35
- execCommand : function(editor_id, element, command, user_interface, value) {
36
- switch (command) {
37
- case "mceAdvLink":
38
- var inst = tinyMCE.getInstanceById(editor_id), anySelection = false;
39
- var focusElm = inst.getFocusElement(), selectedText = inst.selection.getSelectedText();
40
-
41
- if (tinyMCE.selectedElement)
42
- anySelection = (tinyMCE.selectedElement.nodeName.toLowerCase() == "img") || (selectedText && selectedText.length > 0);
43
-
44
- if (anySelection || (focusElm != null && focusElm.nodeName == "A")) {
45
- tinyMCE.openWindow({
46
- file : tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/advlink/link.htm',
47
- width : 480 + tinyMCE.getLang('lang_advlink_delta_width', 0),
48
- height : 400 + tinyMCE.getLang('lang_advlink_delta_height', 0)
49
- }, {
50
- editor_id : editor_id,
51
- inline : "yes"
52
- });
53
- }
54
-
55
- return true;
56
- }
57
-
58
- return false;
59
- },
60
-
61
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
62
- if (node == null)
63
- return;
64
-
65
- do {
66
- if (node.nodeName == "A" && tinyMCE.getAttrib(node, 'href') != "") {
67
- tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonSelected');
68
- return true;
69
- }
70
- } while ((node = node.parentNode));
71
-
72
- if (any_selection) {
73
- tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonNormal');
74
- return true;
75
- }
76
-
77
- tinyMCE.switchClass(editor_id + '_advlink', 'mceButtonDisabled');
78
-
79
- return true;
80
- }
81
- };
82
-
83
- tinyMCE.addPlugin("advlink", TinyMCE_AdvancedLinkPlugin);
1
+ (function(){tinymce.create('tinymce.plugins.AdvancedLinkPlugin',{init:function(ed,url){this.editor=ed;ed.addCommand('mceAdvLink',function(){var se=ed.selection;if(se.isCollapsed()&&!ed.dom.getParent(se.getNode(),'A'))return;ed.windowManager.open({file:url+'/link.htm',width:480+parseInt(ed.getLang('advlink.delta_width',0)),height:400+parseInt(ed.getLang('advlink.delta_height',0)),inline:1},{plugin_url:url});});ed.addButton('link',{title:'advlink.link_desc',cmd:'mceAdvLink'});ed.addShortcut('ctrl+k','advlink.advlink_desc','mceAdvLink');ed.onNodeChange.add(function(ed,cm,n,co){cm.setDisabled('link',co&&n.nodeName!='A');cm.setActive('link',n.nodeName=='A'&&!n.name);});},getInfo:function(){return{longname:'Advanced link',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('advlink',tinymce.plugins.AdvancedLinkPlugin);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advlink/{jscripts/functions.js → js/advlink.js} RENAMED
@@ -1,35 +1,30 @@
1
  /* Functions for the advlink plugin popup */
2
 
 
 
3
  var templates = {
4
  "window.open" : "window.open('${url}','${target}','${options}')"
5
  };
6
 
7
  function preinit() {
8
- // Initialize
9
- tinyMCE.setWindowArg('mce_windowresize', false);
10
-
11
- // Import external list url javascript
12
- var url = tinyMCE.getParam("external_link_list_url");
13
- if (url != null) {
14
- // Fix relative
15
- if (url.charAt(0) != '/' && url.indexOf('://') == -1)
16
- url = tinyMCE.documentBasePath + "/" + url;
17
 
18
- document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
19
- }
20
  }
21
 
22
  function changeClass() {
23
- var formObj = document.forms[0];
24
- formObj.classes.value = getSelectValue(formObj, 'classlist');
 
25
  }
26
 
27
  function init() {
28
  tinyMCEPopup.resizeToInnerSize();
29
 
30
  var formObj = document.forms[0];
31
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
32
- var elm = inst.getFocusElement();
33
  var action = "insert";
34
  var html;
35
 
@@ -53,58 +48,46 @@ function init() {
53
  if (isVisible('popupurlbrowser'))
54
  document.getElementById('popupurl').style.width = '180px';
55
 
56
- elm = tinyMCE.getParentElement(elm, "a");
57
  if (elm != null && elm.nodeName == "A")
58
  action = "update";
59
 
60
- formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
61
 
62
  setPopupControlsDisabled(true);
63
 
64
  if (action == "update") {
65
- var href = tinyMCE.getAttrib(elm, 'href');
66
-
67
- href = convertURL(href, elm, true);
68
-
69
- // Use mce_href if found
70
- var mceRealHref = tinyMCE.getAttrib(elm, 'mce_href');
71
- if (mceRealHref != "") {
72
- href = mceRealHref;
73
-
74
- if (tinyMCE.getParam('convert_urls'))
75
- href = convertURL(href, elm, true);
76
- }
77
-
78
- var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
79
 
80
  // Setup form data
81
  setFormValue('href', href);
82
- setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
83
- setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
84
- setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
85
- setFormValue('rel', tinyMCE.getAttrib(elm, 'rel'));
86
- setFormValue('rev', tinyMCE.getAttrib(elm, 'rev'));
87
- setFormValue('charset', tinyMCE.getAttrib(elm, 'charset'));
88
- setFormValue('hreflang', tinyMCE.getAttrib(elm, 'hreflang'));
89
- setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
90
- setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
91
- setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
92
- setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
93
- setFormValue('type', tinyMCE.getAttrib(elm, 'type'));
94
- setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
95
- setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
96
  setFormValue('onclick', onclick);
97
- setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
98
- setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
99
- setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
100
- setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
101
- setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
102
- setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
103
- setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
104
- setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
105
- setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
106
- setFormValue('target', tinyMCE.getAttrib(elm, 'target'));
107
- setFormValue('classes', tinyMCE.getAttrib(elm, 'class'));
108
 
109
  // Parse onclick data
110
  if (onclick != null && onclick.indexOf('window.open') != -1)
@@ -113,9 +96,9 @@ function init() {
113
  parseFunction(onclick);
114
 
115
  // Select by the values
116
- selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
117
- selectByValue(formObj, 'rel', tinyMCE.getAttrib(elm, 'rel'));
118
- selectByValue(formObj, 'rev', tinyMCE.getAttrib(elm, 'rev'));
119
  selectByValue(formObj, 'linklisthref', href);
120
 
121
  if (href.charAt(0) == '#')
@@ -123,19 +106,17 @@ function init() {
123
 
124
  addClassesToList('classlist', 'advlink_styles');
125
 
126
- selectByValue(formObj, 'classlist', tinyMCE.getAttrib(elm, 'class'), true);
127
- selectByValue(formObj, 'targetlist', tinyMCE.getAttrib(elm, 'target'), true);
128
  } else
129
  addClassesToList('classlist', 'advlink_styles');
130
-
131
- window.focus();
132
  }
133
 
134
  function checkPrefix(n) {
135
- if (!Validator.isEmpty(n) && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCE.getLang('lang_is_email')))
136
  n.value = 'mailto:' + n.value;
137
 
138
- if (/^\s*www./i.test(n.value) && confirm(tinyMCE.getLang('lang_is_external')))
139
  n.value = 'http://' + n.value;
140
  }
141
 
@@ -143,10 +124,6 @@ function setFormValue(name, value) {
143
  document.forms[0].elements[name].value = value;
144
  }
145
 
146
- function convertURL(url, node, on_save) {
147
- return eval("tinyMCEPopup.windowOpener." + tinyMCE.settings['urlconverter_callback'] + "(url, node, on_save);");
148
- }
149
-
150
  function parseWindowOpen(onclick) {
151
  var formObj = document.forms[0];
152
 
@@ -166,9 +143,6 @@ function parseWindowOpen(onclick) {
166
  var onClickWindowOptions = parseOptions(onClickData['options']);
167
  var url = onClickData['url'];
168
 
169
- if (tinyMCE.getParam('convert_urls'))
170
- url = convertURL(url, null, true);
171
-
172
  formObj.popupname.value = onClickData['target'];
173
  formObj.popupurl.value = url;
174
  formObj.popupwidth.value = getOption(onClickWindowOptions, 'width');
@@ -283,7 +257,7 @@ function parseOptions(opts) {
283
  opts = opts.replace(/[^0-9a-z=,]/g, "");
284
 
285
  var optionChunks = opts.split(',');
286
- var options = new Array();
287
 
288
  for (var i=0; i<optionChunks.length; i++) {
289
  var parts = optionChunks[i].split('=');
@@ -306,9 +280,6 @@ function buildOnClick() {
306
  var onclick = "window.open('";
307
  var url = formObj.popupurl.value;
308
 
309
- if (tinyMCE.getParam('convert_urls'))
310
- url = convertURL(url, null, true);
311
-
312
  onclick += url + "','";
313
  onclick += formObj.popupname.value + "','";
314
 
@@ -372,6 +343,7 @@ function buildOnClick() {
372
  function setAttrib(elm, attrib, value) {
373
  var formObj = document.forms[0];
374
  var valueElm = formObj.elements[attrib.toLowerCase()];
 
375
 
376
  if (typeof(value) == "undefined" || value == null) {
377
  value = "";
@@ -380,34 +352,24 @@ function setAttrib(elm, attrib, value) {
380
  value = valueElm.value;
381
  }
382
 
383
- if (value != "") {
384
- elm.setAttribute(attrib.toLowerCase(), value);
385
-
386
- if (attrib == "style")
387
- attrib = "style.cssText";
388
 
389
- if (attrib.substring(0, 2) == 'on')
390
- value = 'return true;' + value;
391
-
392
- if (attrib == "class")
393
- attrib = "className";
394
-
395
- eval('elm.' + attrib + "=value;");
396
- } else
397
- elm.removeAttribute(attrib);
398
  }
399
 
400
  function getAnchorListHTML(id, target) {
401
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
402
- var nodes = inst.getBody().getElementsByTagName("a"), name, i;
403
  var html = "";
404
 
405
- html += '<select id="' + id + '" name="' + id + '" class="mceAnchorList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target + '.value=';
406
  html += 'this.options[this.selectedIndex].value;">';
407
  html += '<option value="">---</option>';
408
 
409
  for (i=0; i<nodes.length; i++) {
410
- if ((name = tinyMCE.getAttrib(nodes[i], "name")) != "")
411
  html += '<option value="#' + name + '">' + name + '</option>';
412
  }
413
 
@@ -417,29 +379,38 @@ function getAnchorListHTML(id, target) {
417
  }
418
 
419
  function insertAction() {
420
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
421
- var elm = inst.getFocusElement();
422
 
 
423
  checkPrefix(document.forms[0].href);
424
 
425
- elm = tinyMCE.getParentElement(elm, "a");
 
 
 
 
 
 
 
 
 
 
 
426
 
427
  tinyMCEPopup.execCommand("mceBeginUndoLevel");
428
 
429
  // Create new anchor elements
430
  if (elm == null) {
431
- if (tinyMCE.isSafari)
432
- tinyMCEPopup.execCommand("mceInsertContent", false, '<a href="#mce_temp_url#">' + inst.selection.getSelectedHTML() + '</a>');
433
- else
434
- tinyMCEPopup.execCommand("createlink", false, "#mce_temp_url#");
435
 
436
- var elementArray = tinyMCE.getElementsByAttributeValue(inst.getBody(), "a", "href", "#mce_temp_url#");
437
- for (var i=0; i<elementArray.length; i++) {
438
- var elm = elementArray[i];
439
 
440
  // Move cursor to end
441
  try {
442
- tinyMCE.selectedInstance.selection.collapse(false);
443
  } catch (ex) {
444
  // Ignore
445
  }
@@ -472,7 +443,6 @@ function insertAction() {
472
  } else
473
  setAllAttribs(elm);
474
 
475
- tinyMCE._setEventsEnabled(inst.getBody(), false);
476
  tinyMCEPopup.execCommand("mceEndUndoLevel");
477
  tinyMCEPopup.close();
478
  }
@@ -482,10 +452,6 @@ function setAllAttribs(elm) {
482
  var href = formObj.href.value;
483
  var target = getSelectValue(formObj, 'targetlist');
484
 
485
- // Make anchors absolute
486
- if (href.charAt(0) != '#' && tinyMCE.getParam('convert_urls'))
487
- href = convertURL(href, elm);
488
-
489
  setAttrib(elm, 'href', href);
490
  setAttrib(elm, 'mce_href', href);
491
  setAttrib(elm, 'title');
@@ -536,7 +502,7 @@ function getLinkListHTML(elm_id, target_form_element, onchange_func) {
536
  var html = "";
537
 
538
  html += '<select id="' + elm_id + '" name="' + elm_id + '"';
539
- html += ' class="mceLinkList" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
540
  html += 'this.options[this.selectedIndex].value;';
541
 
542
  if (typeof(onchange_func) != "undefined")
@@ -555,16 +521,15 @@ function getLinkListHTML(elm_id, target_form_element, onchange_func) {
555
  }
556
 
557
  function getTargetListHTML(elm_id, target_form_element) {
558
- var targets = tinyMCE.getParam('theme_advanced_link_targets', '').split(';');
559
  var html = '';
560
 
561
- html += '<select id="' + elm_id + '" name="' + elm_id + '" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
562
  html += 'this.options[this.selectedIndex].value;">';
563
-
564
- html += '<option value="_self">' + tinyMCE.getLang('lang_advlink_target_same') + '</option>';
565
- html += '<option value="_blank">' + tinyMCE.getLang('lang_advlink_target_blank') + ' (_blank)</option>';
566
- html += '<option value="_parent">' + tinyMCE.getLang('lang_advlink_target_parent') + ' (_parent)</option>';
567
- html += '<option value="_top">' + tinyMCE.getLang('lang_advlink_target_top') + ' (_top)</option>';
568
 
569
  for (var i=0; i<targets.length; i++) {
570
  var key, value;
@@ -585,3 +550,4 @@ function getTargetListHTML(elm_id, target_form_element) {
585
 
586
  // While loading
587
  preinit();
 
1
  /* Functions for the advlink plugin popup */
2
 
3
+ tinyMCEPopup.requireLangPack();
4
+
5
  var templates = {
6
  "window.open" : "window.open('${url}','${target}','${options}')"
7
  };
8
 
9
  function preinit() {
10
+ var url;
 
 
 
 
 
 
 
 
11
 
12
+ if (url = tinyMCEPopup.getParam("external_link_list_url"))
13
+ document.write('<script language="javascript" type="text/javascript" src="' + tinyMCEPopup.editor.documentBaseURI.toAbsolute(url) + '"></script>');
14
  }
15
 
16
  function changeClass() {
17
+ var f = document.forms[0];
18
+
19
+ f.classes.value = getSelectValue(f, 'classlist');
20
  }
21
 
22
  function init() {
23
  tinyMCEPopup.resizeToInnerSize();
24
 
25
  var formObj = document.forms[0];
26
+ var inst = tinyMCEPopup.editor;
27
+ var elm = inst.selection.getNode();
28
  var action = "insert";
29
  var html;
30
 
48
  if (isVisible('popupurlbrowser'))
49
  document.getElementById('popupurl').style.width = '180px';
50
 
51
+ elm = inst.dom.getParent(elm, "A");
52
  if (elm != null && elm.nodeName == "A")
53
  action = "update";
54
 
55
+ formObj.insert.value = tinyMCEPopup.getLang(action, 'Insert', true);
56
 
57
  setPopupControlsDisabled(true);
58
 
59
  if (action == "update") {
60
+ var href = inst.dom.getAttrib(elm, 'href');
61
+ var onclick = inst.dom.getAttrib(elm, 'onclick');
 
 
 
 
 
 
 
 
 
 
 
 
62
 
63
  // Setup form data
64
  setFormValue('href', href);
65
+ setFormValue('title', inst.dom.getAttrib(elm, 'title'));
66
+ setFormValue('id', inst.dom.getAttrib(elm, 'id'));
67
+ setFormValue('style', inst.dom.getAttrib(elm, "style"));
68
+ setFormValue('rel', inst.dom.getAttrib(elm, 'rel'));
69
+ setFormValue('rev', inst.dom.getAttrib(elm, 'rev'));
70
+ setFormValue('charset', inst.dom.getAttrib(elm, 'charset'));
71
+ setFormValue('hreflang', inst.dom.getAttrib(elm, 'hreflang'));
72
+ setFormValue('dir', inst.dom.getAttrib(elm, 'dir'));
73
+ setFormValue('lang', inst.dom.getAttrib(elm, 'lang'));
74
+ setFormValue('tabindex', inst.dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
75
+ setFormValue('accesskey', inst.dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
76
+ setFormValue('type', inst.dom.getAttrib(elm, 'type'));
77
+ setFormValue('onfocus', inst.dom.getAttrib(elm, 'onfocus'));
78
+ setFormValue('onblur', inst.dom.getAttrib(elm, 'onblur'));
79
  setFormValue('onclick', onclick);
80
+ setFormValue('ondblclick', inst.dom.getAttrib(elm, 'ondblclick'));
81
+ setFormValue('onmousedown', inst.dom.getAttrib(elm, 'onmousedown'));
82
+ setFormValue('onmouseup', inst.dom.getAttrib(elm, 'onmouseup'));
83
+ setFormValue('onmouseover', inst.dom.getAttrib(elm, 'onmouseover'));
84
+ setFormValue('onmousemove', inst.dom.getAttrib(elm, 'onmousemove'));
85
+ setFormValue('onmouseout', inst.dom.getAttrib(elm, 'onmouseout'));
86
+ setFormValue('onkeypress', inst.dom.getAttrib(elm, 'onkeypress'));
87
+ setFormValue('onkeydown', inst.dom.getAttrib(elm, 'onkeydown'));
88
+ setFormValue('onkeyup', inst.dom.getAttrib(elm, 'onkeyup'));
89
+ setFormValue('target', inst.dom.getAttrib(elm, 'target'));
90
+ setFormValue('classes', inst.dom.getAttrib(elm, 'class'));
91
 
92
  // Parse onclick data
93
  if (onclick != null && onclick.indexOf('window.open') != -1)
96
  parseFunction(onclick);
97
 
98
  // Select by the values
99
+ selectByValue(formObj, 'dir', inst.dom.getAttrib(elm, 'dir'));
100
+ selectByValue(formObj, 'rel', inst.dom.getAttrib(elm, 'rel'));
101
+ selectByValue(formObj, 'rev', inst.dom.getAttrib(elm, 'rev'));
102
  selectByValue(formObj, 'linklisthref', href);
103
 
104
  if (href.charAt(0) == '#')
106
 
107
  addClassesToList('classlist', 'advlink_styles');
108
 
109
+ selectByValue(formObj, 'classlist', inst.dom.getAttrib(elm, 'class'), true);
110
+ selectByValue(formObj, 'targetlist', inst.dom.getAttrib(elm, 'target'), true);
111
  } else
112
  addClassesToList('classlist', 'advlink_styles');
 
 
113
  }
114
 
115
  function checkPrefix(n) {
116
+ if (n.value && Validator.isEmail(n) && !/^\s*mailto:/i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_email')))
117
  n.value = 'mailto:' + n.value;
118
 
119
+ if (/^\s*www./i.test(n.value) && confirm(tinyMCEPopup.getLang('advlink_dlg.is_external')))
120
  n.value = 'http://' + n.value;
121
  }
122
 
124
  document.forms[0].elements[name].value = value;
125
  }
126
 
 
 
 
 
127
  function parseWindowOpen(onclick) {
128
  var formObj = document.forms[0];
129
 
143
  var onClickWindowOptions = parseOptions(onClickData['options']);
144
  var url = onClickData['url'];
145
 
 
 
 
146
  formObj.popupname.value = onClickData['target'];
147
  formObj.popupurl.value = url;
148
  formObj.popupwidth.value = getOption(onClickWindowOptions, 'width');
257
  opts = opts.replace(/[^0-9a-z=,]/g, "");
258
 
259
  var optionChunks = opts.split(',');
260
+ var options = [];
261
 
262
  for (var i=0; i<optionChunks.length; i++) {
263
  var parts = optionChunks[i].split('=');
280
  var onclick = "window.open('";
281
  var url = formObj.popupurl.value;
282
 
 
 
 
283
  onclick += url + "','";
284
  onclick += formObj.popupname.value + "','";
285
 
343
  function setAttrib(elm, attrib, value) {
344
  var formObj = document.forms[0];
345
  var valueElm = formObj.elements[attrib.toLowerCase()];
346
+ var dom = tinyMCEPopup.editor.dom;
347
 
348
  if (typeof(value) == "undefined" || value == null) {
349
  value = "";
352
  value = valueElm.value;
353
  }
354
 
355
+ // Clean up the style
356
+ if (attrib == 'style')
357
+ value = dom.serializeStyle(dom.parseStyle(value));
 
 
358
 
359
+ dom.setAttrib(elm, attrib, value);
 
 
 
 
 
 
 
 
360
  }
361
 
362
  function getAnchorListHTML(id, target) {
363
+ var inst = tinyMCEPopup.editor;
364
+ var nodes = inst.dom.select('a.mceItemAnchor,img.mceItemAnchor'), name, i;
365
  var html = "";
366
 
367
+ html += '<select id="' + id + '" name="' + id + '" class="mceAnchorList" o2nfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target + '.value=';
368
  html += 'this.options[this.selectedIndex].value;">';
369
  html += '<option value="">---</option>';
370
 
371
  for (i=0; i<nodes.length; i++) {
372
+ if ((name = inst.dom.getAttrib(nodes[i], "name")) != "")
373
  html += '<option value="#' + name + '">' + name + '</option>';
374
  }
375
 
379
  }
380
 
381
  function insertAction() {
382
+ var inst = tinyMCEPopup.editor;
383
+ var elm, elementArray, i;
384
 
385
+ elm = inst.selection.getNode();
386
  checkPrefix(document.forms[0].href);
387
 
388
+ elm = inst.dom.getParent(elm, "A");
389
+
390
+ // Remove element if there is no href
391
+ if (!document.forms[0].href.value) {
392
+ tinyMCEPopup.execCommand("mceBeginUndoLevel");
393
+ i = inst.selection.getBookmark();
394
+ inst.dom.remove(elm, 1);
395
+ inst.selection.moveToBookmark(i);
396
+ tinyMCEPopup.execCommand("mceEndUndoLevel");
397
+ tinyMCEPopup.close();
398
+ return;
399
+ }
400
 
401
  tinyMCEPopup.execCommand("mceBeginUndoLevel");
402
 
403
  // Create new anchor elements
404
  if (elm == null) {
405
+ tinyMCEPopup.execCommand("CreateLink", false, "#mce_temp_url#", {skip_undo : 1});
 
 
 
406
 
407
+ elementArray = tinymce.grep(inst.dom.select("a"), function(n) {return inst.dom.getAttrib(n, 'href') == '#mce_temp_url#';});
408
+ for (i=0; i<elementArray.length; i++) {
409
+ elm = elementArray[i];
410
 
411
  // Move cursor to end
412
  try {
413
+ tinyMCEPopup.editor.selection.collapse(false);
414
  } catch (ex) {
415
  // Ignore
416
  }
443
  } else
444
  setAllAttribs(elm);
445
 
 
446
  tinyMCEPopup.execCommand("mceEndUndoLevel");
447
  tinyMCEPopup.close();
448
  }
452
  var href = formObj.href.value;
453
  var target = getSelectValue(formObj, 'targetlist');
454
 
 
 
 
 
455
  setAttrib(elm, 'href', href);
456
  setAttrib(elm, 'mce_href', href);
457
  setAttrib(elm, 'title');
502
  var html = "";
503
 
504
  html += '<select id="' + elm_id + '" name="' + elm_id + '"';
505
+ html += ' class="mceLinkList" onfoc2us="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
506
  html += 'this.options[this.selectedIndex].value;';
507
 
508
  if (typeof(onchange_func) != "undefined")
521
  }
522
 
523
  function getTargetListHTML(elm_id, target_form_element) {
524
+ var targets = tinyMCEPopup.getParam('theme_advanced_link_targets', '').split(';');
525
  var html = '';
526
 
527
+ html += '<select id="' + elm_id + '" name="' + elm_id + '" onf2ocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.' + target_form_element + '.value=';
528
  html += 'this.options[this.selectedIndex].value;">';
529
+ html += '<option value="_self">' + tinyMCEPopup.getLang('advlink_dlg.target_same') + '</option>';
530
+ html += '<option value="_blank">' + tinyMCEPopup.getLang('advlink_dlg.target_blank') + ' (_blank)</option>';
531
+ html += '<option value="_parent">' + tinyMCEPopup.getLang('advlink_dlg.target_parent') + ' (_parent)</option>';
532
+ html += '<option value="_top">' + tinyMCEPopup.getLang('advlink_dlg.target_top') + ' (_top)</option>';
 
533
 
534
  for (var i=0; i<targets.length; i++) {
535
  var key, value;
550
 
551
  // While loading
552
  preinit();
553
+ tinyMCEPopup.onInit.add(init);
mce/advlink/langs/de_de.js DELETED
@@ -1,46 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('advlink',{
4
- general_tab : 'Allgemein',
5
- popup_tab : 'Popup',
6
- events_tab : 'Events',
7
- advanced_tab : 'Erweitert',
8
- general_props : 'Allgemeine Eigenschaften',
9
- popup_props : 'Popup-Eigenschaften',
10
- event_props : 'Javascript-Events',
11
- advanced_props : 'Erweiterte Eigenschaften',
12
- popup_opts : 'Optionen',
13
- anchor_names : 'Anker',
14
- target_same : 'In diesem Fenster/Frame &ouml;ffnen (_self)',
15
- target_parent : 'Im &uuml;bergeordneten Fenster/Frame &ouml;ffnen (_parent)',
16
- target_top : 'Im Fenster &ouml;ffnen (ersetzt alle Frames) (_top)',
17
- target_blank : '_blank - In neuem Fenster &ouml;ffnen',
18
- popup : 'Javascript-Popup',
19
- popup_url : 'Popup-URL',
20
- popup_name : 'Popup-Name',
21
- popup_return : 'Mit \'return false\' einf&uuml;gen',
22
- popup_scrollbars : 'Scrollleisten anzeigen',
23
- popup_statusbar : 'Statuszeilen anzeigen',
24
- popup_toolbar : 'Werkzeugleisten anzeigen',
25
- popup_menubar : 'Men&uuml;leiste anzeigen',
26
- popup_location : 'Adresszeile anzeigen',
27
- popup_resizable : 'Fenstergr&ouml;&szlig;e ver&auml;nderbar',
28
- popup_dependent : 'Abh&auml;ngiges Fenster (Nur Mozilla/Firefox)',
29
- popup_size : 'Gr&ouml;&szlig;e',
30
- popup_position : 'Position (X/Y)',
31
- id : 'ID',
32
- style: 'CSS-Stil',
33
- classes : 'CSS-Klassen',
34
- target_name : 'Zielname',
35
- langdir : 'Textfluss',
36
- target_langcode : 'Zielsprache',
37
- langcode : 'Sprach-Code',
38
- encoding : 'Zeichenkodierung',
39
- mime : 'MIME-Typ',
40
- rel : 'Verh&auml;ltnis Seite zu Ziel',
41
- rev : 'Verh&auml;ltnis Ziel zu Seite',
42
- tabindex : 'Tabulator-Index',
43
- accesskey : 'Tastaturk&uuml;rzel',
44
- ltr : 'Von links nach rechts',
45
- rtl : 'Von rechts nach links'
46
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advlink/langs/de_dlg.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('de.advlink_dlg',{
2
+ title:"Link einf\u00FCgen/bearbeiten",
3
+ url:"Adresse",
4
+ target:"Fenster",
5
+ titlefield:"Titel",
6
+ is_email:"Bei der Adresse scheint es sich um eine E-Mail-Adresse zu handeln. Wollen Sie das dazu ben\u00F6tigte mailto: voranstellen?",
7
+ is_external:"Bei der Adresse scheint es sich um einen externen Link zu handeln. M\u00F6chten Sie, dass zur korrekten Verlinkung ein http:// vorangestellt wird?",
8
+ list:"Linkliste",
9
+ general_tab:"Allgemein",
10
+ popup_tab:"Popup",
11
+ events_tab:"Ereignisse",
12
+ advanced_tab:"Erweitert",
13
+ general_props:"Allemeine Eigenschaften",
14
+ popup_props:"Popup-Eigenschaften",
15
+ event_props:"Ereignisse",
16
+ advanced_props:"Erweiterte Eigenschaften",
17
+ popup_opts:"Optionen",
18
+ anchor_names:"Anker",
19
+ target_same:"Im selben Fenster/Frame \u00F6ffnen",
20
+ target_parent:"Im \u00FCbergeordneten Fenster/Frame \u00F6ffnen",
21
+ target_top:"Im obersten Frame \u00F6ffnen (sprengt das Frameset)",
22
+ target_blank:"In neuem Fenster \u00F6ffnen",
23
+ popup:"JavaScript-Popup",
24
+ popup_url:"Popup-Adresse",
25
+ popup_name:"Name des Fensters",
26
+ popup_return:"Link trotz Popup folgen",
27
+ popup_scrollbars:"Scrollbalken anzeigen",
28
+ popup_statusbar:"Statusleiste anzeigen",
29
+ popup_toolbar:"Werkzeugleisten anzeigen",
30
+ popup_menubar:"Browsermen\u00FC anzeigen",
31
+ popup_location:"Adressleiste anzeigen",
32
+ popup_resizable:"Vergr\u00F6\u00DFern des Fenster zulassen",
33
+ popup_dependent:"Vom Elternfenster abh\u00E4ngig (nur Mozilla/Firefox)",
34
+ popup_size:"Gr\u00F6\u00DFe",
35
+ popup_position:"Position (X/Y)",
36
+ id:"ID",
37
+ style:"Format",
38
+ classes:"Klassen",
39
+ target_name:"Name der Zielseite",
40
+ langdir:"Schriftrichtung",
41
+ target_langcode:"Sprache der Zielseite",
42
+ langcode:"Sprachcode",
43
+ encoding:"Zeichenkodierung der Zielseite",
44
+ mime:"MIME-Type der Zielseite",
45
+ rel:"Beziehung der Seite zum Linkziel",
46
+ rev:"Beziehung des Linkziels zur Seite",
47
+ tabindex:"Tabindex",
48
+ accesskey:"Tastenk\u00FCrzel",
49
+ ltr:"Links nach rechts",
50
+ rtl:"Rechts nach links",
51
+ link_list:"Linkliste"
52
+ });
mce/advlink/langs/en.js DELETED
@@ -1,46 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('advlink',{
4
- general_tab : 'General',
5
- popup_tab : 'Popup',
6
- events_tab : 'Events',
7
- advanced_tab : 'Advanced',
8
- general_props : 'General properties',
9
- popup_props : 'Popup properties',
10
- event_props : 'Events',
11
- advanced_props : 'Advanced properties',
12
- popup_opts : 'Options',
13
- anchor_names : 'Anchors',
14
- target_same : 'Open in this window / frame',
15
- target_parent : 'Open in parent window / frame',
16
- target_top : 'Open in top frame (replaces all frames)',
17
- target_blank : 'Open in new window',
18
- popup : 'Javascript popup',
19
- popup_url : 'Popup URL',
20
- popup_name : 'Window name',
21
- popup_return : 'Insert \'return false\'',
22
- popup_scrollbars : 'Show scrollbars',
23
- popup_statusbar : 'Show status bar',
24
- popup_toolbar : 'Show toolbars',
25
- popup_menubar : 'Show menu bar',
26
- popup_location : 'Show location bar',
27
- popup_resizable : 'Make window resizable',
28
- popup_dependent : 'Dependent (Mozilla/Firefox only)',
29
- popup_size : 'Size',
30
- popup_position : 'Position (X/Y)',
31
- id : 'Id',
32
- style: 'Style',
33
- classes : 'Classes',
34
- target_name : 'Target name',
35
- langdir : 'Language direction',
36
- target_langcode : 'Target language',
37
- langcode : 'Language code',
38
- encoding : 'Target character encoding',
39
- mime : 'Target MIME type',
40
- rel : 'Relationship page to target',
41
- rev : 'Relationship target to page',
42
- tabindex : 'Tabindex',
43
- accesskey : 'Accesskey',
44
- ltr : 'Left to right',
45
- rtl : 'Right to left'
46
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advlink/langs/en_dlg.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('en.advlink_dlg',{
2
+ title:"Insert/edit link",
3
+ url:"Link URL",
4
+ target:"Target",
5
+ titlefield:"Title",
6
+ is_email:"The URL you entered seems to be an email address, do you want to add the required mailto: prefix?",
7
+ is_external:"The URL you entered seems to external link, do you want to add the required http:// prefix?",
8
+ list:"Link list",
9
+ general_tab:"General",
10
+ popup_tab:"Popup",
11
+ events_tab:"Events",
12
+ advanced_tab:"Advanced",
13
+ general_props:"General properties",
14
+ popup_props:"Popup properties",
15
+ event_props:"Events",
16
+ advanced_props:"Advanced properties",
17
+ popup_opts:"Options",
18
+ anchor_names:"Anchors",
19
+ target_same:"Open in this window / frame",
20
+ target_parent:"Open in parent window / frame",
21
+ target_top:"Open in top frame (replaces all frames)",
22
+ target_blank:"Open in new window",
23
+ popup:"Javascript popup",
24
+ popup_url:"Popup URL",
25
+ popup_name:"Window name",
26
+ popup_return:"Insert 'return false'",
27
+ popup_scrollbars:"Show scrollbars",
28
+ popup_statusbar:"Show status bar",
29
+ popup_toolbar:"Show toolbars",
30
+ popup_menubar:"Show menu bar",
31
+ popup_location:"Show location bar",
32
+ popup_resizable:"Make window resizable",
33
+ popup_dependent:"Dependent (Mozilla/Firefox only)",
34
+ popup_size:"Size",
35
+ popup_position:"Position (X/Y)",
36
+ id:"Id",
37
+ style:"Style",
38
+ classes:"Classes",
39
+ target_name:"Target name",
40
+ langdir:"Language direction",
41
+ target_langcode:"Target language",
42
+ langcode:"Language code",
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",
49
+ ltr:"Left to right",
50
+ rtl:"Right to left",
51
+ link_list:"Link list"
52
+ });
mce/advlink/langs/es_dlg.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('es.advlink_dlg',{
2
+ title:"Insertar/editar hiperv\u00EDnculo",
3
+ url:"URL del hiperv\u00EDnculo",
4
+ target:"Destino",
5
+ titlefield:"T\u00EDtulo",
6
+ is_email:"La URL que ha introducido parece ser una direci\u00F3n de correo, \u00BFdesea agregar el prefijo mailto: necesario?",
7
+ is_external:"La URL que ha introducido parece ser un v\u00EDnculo externo, \u00BFdesea agregar el prefijo http:// necesario?",
8
+ list:"Lista de v\u00EDnculos",
9
+ general_tab:"General",
10
+ popup_tab:"Ventana emergente",
11
+ events_tab:"Eventos",
12
+ advanced_tab:"Avanzado",
13
+ general_props:"Propiedades generales",
14
+ popup_props:"Propiedades de ventanas emergentes",
15
+ event_props:"Eventos",
16
+ advanced_props:"Propiedades avanzadas",
17
+ popup_opts:"Opciones",
18
+ anchor_names:"Anclas",
19
+ target_same:"Abrir en esta ventana / marco",
20
+ target_parent:"Abrir en ventana padre / marco",
21
+ target_top:"Abrir en el marco superior (reemplaza todos los marcos)",
22
+ target_blank:"Abrir en ventana nueva",
23
+ popup:"Javascript popup",
24
+ popup_url:"URL de la ventana emergente",
25
+ popup_name:"Nombre de la ventana",
26
+ popup_return:"Insertar 'return false'",
27
+ popup_scrollbars:"Barras de desplazamiento",
28
+ popup_statusbar:"Barra de estado",
29
+ popup_toolbar:"Barra de herramientas",
30
+ popup_menubar:"Barra de men\u00FA",
31
+ popup_location:"Barra de localizaci\u00F3n",
32
+ popup_resizable:"Permitir cambiar el tama\u00F1o de la ventana",
33
+ popup_dependent:"Dependientes (s\u00F3lo Mozilla/Firefox)",
34
+ popup_size:"Tama\u00F1o",
35
+ popup_position:"Posici\u00F3n (X/Y)",
36
+ id:"Id",
37
+ style:"Estilo",
38
+ classes:"Clases",
39
+ target_name:"Nombre del Target",
40
+ langdir:"Direcci\u00F3n del lenguaje",
41
+ target_langcode:"Lenguaje del Target",
42
+ langcode:"C\u00F3digo del lenguaje",
43
+ encoding:"Codificaci\u00F3n de caracteres del Target",
44
+ mime:"Tipo MIME del Target",
45
+ rel:"Relaci\u00F3n p\u00E1gina a target",
46
+ rev:"Relaci\u00F3n target a p\u00E1gina",
47
+ tabindex:"\u00CDndice de tabulaci\u00F3n",
48
+ accesskey:"Tecla de acceso",
49
+ ltr:"Izquierda a derecha",
50
+ rtl:"Derecha a izquierda",
51
+ link_list:"Lista de v\u00EDnculo"
52
+ });
mce/advlink/langs/es_es.js DELETED
@@ -1,55 +0,0 @@
1
- /**
2
- * ES lang variables
3
- *
4
- * Authors : Alvaro Velasco,
5
- * Adolfo Sanz De Diego (asanzdiego) <asanzdiego@yahoo.es>,
6
- * Carlos C Soto (eclipxe) <csoto@sia-solutions.com>
7
- * Eneko Castresana Vara
8
- * Last Updated : July 14, 2006
9
- * TinyMCE Version : 2.0.6.1
10
- */
11
-
12
- tinyMCE.addToLang('advlink',{
13
- general_tab : 'General',
14
- popup_tab : 'Popup',
15
- events_tab : 'Eventos',
16
- advanced_tab : 'Avanzado',
17
- general_props : 'Propiedades generales',
18
- popup_props : 'Propiedades de la popup',
19
- event_props : 'Eventos',
20
- advanced_props : 'Propiedades avanzadas',
21
- popup_opts : 'Opciones',
22
- anchor_names : 'Anclas',
23
- target_same : 'Abrir en esta ventana/frame',
24
- target_parent : 'Abrir en la ventana/frame padre',
25
- target_top : 'Abrir el frame superior (replaza todos los frames)',
26
- target_blank : 'Abrir en una ventana nueva',
27
- popup : 'Popup con JavaScript',
28
- popup_url : 'Direcci&oacute;n de la popup',
29
- popup_name : 'Nombre de la ventana',
30
- popup_return : 'Insertar \'return false\'',
31
- popup_scrollbars : 'Mostrar barras de scroll',
32
- popup_statusbar : 'Mostrar barra de estado',
33
- popup_toolbar : 'Mostrar barras de tarea',
34
- popup_menubar : 'Mostrar barra de menu',
35
- popup_location : 'Mostrar barra de direcciones',
36
- popup_resizable : 'La ventana puede cambiar de tama&ntilde;o',
37
- popup_dependent : 'Dependiente (solo Mozilla/Firefox)',
38
- popup_size : 'Tama&ntilde;o',
39
- popup_position : 'Posici&oacute;n (X/Y)',
40
- id : 'Id',
41
- style: 'Estilo',
42
- classes : 'Clases',
43
- target_name : 'Nombre del target',
44
- langdir : 'Direcci&oacute;n del texto',
45
- target_langcode : 'Idioma del target',
46
- langcode : 'C&oacute;digo del idioma',
47
- encoding : 'Codificaci&oacute;n de los car&aacute;cteres del target',
48
- mime : 'Tipo MIME del target',
49
- rel : 'Relaci&oacute;n de la p&aacute;gina con el target',
50
- rev : 'Relaci&oacute;n del target con la p&aacute;gina',
51
- tabindex : 'Indice para la tabulaci&oacute;n',
52
- accesskey : 'Tecla de acceso',
53
- ltr : 'de izquierda a derecha',
54
- rtl : 'de derecha a izquierda'
55
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advlink/langs/fr_dlg.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('fr.advlink_dlg',{
2
+ title:"Ins\u00E9rer/\u00C9diter lien",
3
+ url:"URL du lien",
4
+ target:"Cible",
5
+ titlefield:"Titre",
6
+ is_email:"L'url que vous avez entr\u00E9 semble \u00EAtre une adresse e-mail, voulez-vous ajouter le pr\u00E9fixe mailto:\u00A0?",
7
+ is_external:"L'url que vous avez entr\u00E9 semble \u00EAtre une adresse web externe, voulez-vous ajouter le pr\u00E9fixe http://\u00A0?",
8
+ list:"Liste de liens",
9
+ general_tab:"G\u00E9n\u00E9ral",
10
+ popup_tab:"Popup",
11
+ events_tab:"\u00C9v\u00E9nements",
12
+ advanced_tab:"Advanc\u00E9",
13
+ general_props:"Propri\u00E9t\u00E9s g\u00E9n\u00E9rales",
14
+ popup_props:"Propri\u00E9t\u00E9s du popup",
15
+ event_props:"\u00C9v\u00E9nements",
16
+ advanced_props:"Propri\u00E9t\u00E9s avanc\u00E9es",
17
+ popup_opts:"Options",
18
+ anchor_names:"Ancres",
19
+ target_same:"Ouvrir dans cette fen\u00EAtre / dans ce cadre",
20
+ target_parent:"Ouvrir dans la fen\u00EAtre / le cadre parent",
21
+ target_top:"Ouvrir dans le cadre principal (Remplace tous les cadres)",
22
+ target_blank:"Ouvrir dans une nouvelle fen\u00EAtre",
23
+ popup:"Popup en Javascript",
24
+ popup_url:"URL du popup",
25
+ popup_name:"Nom de la fen\u00EAtre",
26
+ popup_return:"Ins\u00E9rer 'return false'",
27
+ popup_scrollbars:"Afficher les ascenseurs",
28
+ popup_statusbar:"Afficher la barre de status",
29
+ popup_toolbar:"Afficher la barre d'outils",
30
+ popup_menubar:"Afficher la barre de menu",
31
+ popup_location:"Afficher la barre d'adresse",
32
+ popup_resizable:"Rendre la fen\u00EAtre redimensionable",
33
+ popup_dependent:"D\u00E9pendent (Seulement sous Mozilla/Firefox)",
34
+ popup_size:"Taille",
35
+ popup_position:"Position (X/Y)",
36
+ id:"Id",
37
+ style:"Style",
38
+ classes:"Classes",
39
+ target_name:"Nom de la cible",
40
+ langdir:"Sens de lecture",
41
+ target_langcode:"Langue de la cible",
42
+ langcode:"Code de la langue",
43
+ encoding:"Encodage de la cible",
44
+ mime:"Type MIME de la cible",
45
+ rel:"Relation de la page \u00E0 la cible",
46
+ rev:"Relation de la cible \u00E0 la page",
47
+ tabindex:"Tabindex",
48
+ accesskey:"Touche d'acc\u00E8s rapide",
49
+ ltr:"Gauche \u00E0 droite",
50
+ rtl:"Droite \u00E0 gauche",
51
+ link_list:"Liste des liens"
52
+ });
mce/advlink/langs/fr_fr.js DELETED
@@ -1,48 +0,0 @@
1
- // FR lang variables
2
- // Modified by Motte, last updated 2006-03-23
3
-
4
- tinyMCE.addToLang('advlink',{
5
- popup_missingtarget : 'Veuillez ins&eacute;rer un nom pour la cible ou choisissez une autre option.',
6
- general_tab : 'G&eacute;n&eacute;ral',
7
- popup_tab : 'Popup',
8
- events_tab : 'Ev&ecirc;nements',
9
- advanced_tab : 'Avanc&eacute;',
10
- general_props : 'Propri&eacute;t&eacute;s g&eacute;n&eacute;rales',
11
- popup_props : 'Propri&eacute;t&eacute;s Popup',
12
- event_props : 'Ev&ecirc;nements',
13
- advanced_props : 'Propri&eacute;t&eacute;s Avanc&eacute;es',
14
- popup_opts : 'Options',
15
- anchor_names : 'Ancres',
16
- target_same : 'Ouvre dans la m&ecirc;me fen&ecirc;tre / Cadre',
17
- target_parent : 'Ouvre dans la fen&ecirc;tre / cadre parente',
18
- target_top : 'Ouvre dans le Top frame (remplace toutes les cadres)',
19
- target_blank : 'Ouvre dans une nouvelle fen&ecirc;tre',
20
- popup : 'JS-Popup',
21
- popup_url : 'URL de la Popup',
22
- popup_name : 'Nom de la fen&ecirc;tre',
23
- popup_return : 'Insert \'return false\'',
24
- popup_scrollbars : 'Montrer la barre de d&eacute;filement ',
25
- popup_statusbar : 'Montrer la barre d\'&eacute;tat',
26
- popup_toolbar : 'Montrer la barre d\'outils',
27
- popup_menubar : 'Montrer la barre du menu',
28
- popup_location : 'Montre la barre d\'adresse',
29
- popup_resizable : 'Fabriquer une fen&ecirc;tre redimensionnable',
30
- popup_dependent : 'Dependent (Mozilla/Firefox only)',
31
- popup_size : 'Taille',
32
- popup_position : 'Position (X/Y)',
33
- id : 'Id',
34
- style: 'Style',
35
- classes : 'Classes',
36
- target_name : 'Nom de la cible',
37
- langdir : 'Sens d\'&eacute;criture',
38
- target_langcode : 'Langage cible',
39
- langcode : 'Code langue',
40
- encoding : 'Codage caract&egrave;res de la cible',
41
- mime : 'Type MIME de la cible',
42
- rel : 'Page relative &agrave; la cible',
43
- rev : 'Cible relative &agrave; la page',
44
- tabindex : 'Tabindex',
45
- accesskey : 'Touche d\'acc&egrave;s',
46
- ltr : 'De gauche &agrave; droite',
47
- rtl : 'De droite &agrave; gauche'
48
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advlink/langs/it_dlg.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('it.advlink_dlg',{
2
+ title:"Inserisci/modifica link",
3
+ url:"URL collegamento",
4
+ target:"Target",
5
+ titlefield:"Titolo",
6
+ is_email:"L'URL inserito sembra essere un indirizzo email. Aggiungere il necessario prefisso mailto: ?",
7
+ is_external:"L'URL inserito sembra essere un link esterno. Aggiungere il necessario prefisso http:// ?",
8
+ list:"Lista collegamenti",
9
+ general_tab:"Generale",
10
+ popup_tab:"Popup",
11
+ events_tab:"Eventi",
12
+ advanced_tab:"Avanzate",
13
+ general_props:"Propriet\u00E0 generali",
14
+ popup_props:"Propriet\u00E0 popup",
15
+ event_props:"Eventi",
16
+ advanced_props:"Propriet\u00E0 avanzate",
17
+ popup_opts:"Opzioni",
18
+ anchor_names:"Ancore",
19
+ target_same:"Apri in questa finestra / cornice",
20
+ target_parent:"Apri nella finestra / cornice genitore",
21
+ target_top:"Apri nella cornice superiore (sostituisce tutte le cornici)",
22
+ target_blank:"Apri in una nuova finestra",
23
+ popup:"Popup Javascript",
24
+ popup_url:"URL Popup",
25
+ popup_name:"Nome finestra",
26
+ popup_return:"Inserisci 'return false'",
27
+ popup_scrollbars:"Mostra barre di scorrimento",
28
+ popup_statusbar:"Mostra barra di stato",
29
+ popup_toolbar:"Mostra barre strumenti",
30
+ popup_menubar:"Mostra barra menu",
31
+ popup_location:"Mostra barra navigazione",
32
+ popup_resizable:"Rendi la finestra ridimensionabile",
33
+ popup_dependent:"Dipendente (Solo in Mozilla/Firefox)",
34
+ popup_size:"Dimensioni",
35
+ popup_position:"Posizione (X/Y)",
36
+ id:"Id",
37
+ style:"Stile",
38
+ classes:"Classe",
39
+ target_name:"Nome target",
40
+ langdir:"Direzione del testo",
41
+ target_langcode:"Lingua del target",
42
+ langcode:"Lingua",
43
+ encoding:"Codifica carattere del target",
44
+ mime:"Tipo MIME del target",
45
+ rel:"Relazione da pagina a target",
46
+ rev:"Relazione da target a pagina",
47
+ tabindex:"Indice tabulazione",
48
+ accesskey:"Carattere di accesso",
49
+ ltr:"Sinistra verso destra",
50
+ rtl:"Destra verso sinistra",
51
+ link_list:"Lista collegamenti"
52
+ });
mce/advlink/langs/it_it.js DELETED
@@ -1,52 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('advlink',{
10
- general_tab : 'Generale',
11
- popup_tab : 'Popup',
12
- events_tab : 'Eventi',
13
- advanced_tab : 'Avanzate',
14
- general_props : 'Propriet&agrave; generali',
15
- popup_props : 'Propriet&agrave; del popup',
16
- event_props : 'Eventi',
17
- advanced_props : 'Propriet&agrave; avanzate',
18
- popup_opts : 'Opzioni',
19
- anchor_names : 'Ancore',
20
- target_same : 'Apri nella stessa finestra o frame',
21
- target_parent : 'Apri nella finestra o nel frame superiori',
22
- target_top : 'Apri nel frame principale (occupa tutta la finestra)',
23
- target_blank : 'Apri in una nuova finestra',
24
- popup : 'Popup Javascript',
25
- popup_url : 'URL del popup',
26
- popup_name : 'Nome della finestra',
27
- popup_return : 'Inserisci \'return false\'',
28
- popup_scrollbars : 'Mostra le barre di scorrimento',
29
- popup_statusbar : 'Mostra la barra di stato',
30
- popup_toolbar : 'Mostra la barra degli strumenti',
31
- popup_menubar : 'Mostra la barra dei menu',
32
- popup_location : 'Mostra la barra degli indirizzi',
33
- popup_resizable : 'Permetti di ridimensionare la finestra',
34
- popup_dependent : 'Dipendente (solo Mozilla/Firefox)',
35
- popup_size : 'Dimensioni',
36
- popup_position : 'Posizione (X/Y)',
37
- id : 'Id',
38
- style: 'Stile',
39
- classes : 'Classi',
40
- target_name : 'Nome della destinazione',
41
- langdir : 'Direzione del testo',
42
- target_langcode : 'Codifica lingua destinazione',
43
- langcode : 'Codifica lingua',
44
- encoding : 'Codifica caratteri destinazione',
45
- mime : 'Tipo MIME destinazione',
46
- rel : 'Relazione pagina-destinazione',
47
- rev : 'Relazione destinazione-pagina',
48
- tabindex : 'Indice TAB',
49
- accesskey : 'Tasto di accesso',
50
- ltr : 'Da sinistra a destra',
51
- rtl : 'Da destra a sinistra'
52
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advlink/langs/ja_dlg.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ja.advlink_dlg',{
2
+ title:"\u63D2\u5165/\u7F16\u8F91 \u8FDE\u7ED3",
3
+ url:"\u8FDE\u7ED3\u5730\u5740",
4
+ target:"\u76EE\u6807",
5
+ titlefield:"\u67E5\u627E",
6
+ is_email:"\u60A8\u8F93\u5165\u7684\u5E94\u8BE5\u662F\u4E00\u4E2A\u7535\u5B50\u90AE\u5BC4\u5730\u5740\uFF0C\u662F\u5426\u9700\u8981\u5728\u7F51\u5740\u524D\u52A0\u4E0A mailto: ? ",
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\u52A0\u4E0A http:// ?",
8
+ list:"\u8FDE\u7ED3\u6E05\u5355",
9
+ general_tab:"\u57FA\u672C",
10
+ popup_tab:"\u5FEB\u663E\u7A97\u53E3",
11
+ events_tab:"\u4E8B\u4EF6",
12
+ advanced_tab:"\u9AD8\u7EA7",
13
+ general_props:"\u57FA\u672C\u5C5E\u6027",
14
+ popup_props:"\u5FEB\u663E\u7A97\u53E3\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:"\u5728\u5F53\u524D\u7A97\u53E3\u6253\u5F00",
20
+ target_parent:"\u5728\u7236\u7A97\u53E3\u6253\u5F00",
21
+ target_top:"\u5728\u9876\u5C42\u7A97\u53E3\u6253\u5F00",
22
+ target_blank:"\u5728\u65B0\u7A97\u53E3\u6253\u5F00",
23
+ popup:"Javascript \u5FEB\u663E\u7A97\u53E3",
24
+ popup_url:"\u5F39\u51FA\u7A97\u53E3\u5730\u5740",
25
+ popup_name:"\u7A97\u53E3\u540D\u79F0",
26
+ popup_return:"\u63D2\u5165 'return false'",
27
+ popup_scrollbars:"\u663E\u793A\u6EDA\u52A8\u6761",
28
+ popup_statusbar:"\u663E\u793A\u72B6\u6001\u5217",
29
+ popup_toolbar:"\u663E\u793A\u5DE5\u5177\u5217",
30
+ popup_menubar:"\u663E\u793A\u83DC\u5355\u5217",
31
+ popup_location:"\u663E\u793A\u5730\u5740\u680F",
32
+ popup_resizable:"\u53EF\u8C03\u6574\u7A97\u53E3\u5927\u5C0F",
33
+ popup_dependent:"\u4ECE\u5C5E\u4E8E ( \u4EC5 Mozilla/Firefox \u6709\u6548 )",
34
+ popup_size:"\u5927\u5C0F",
35
+ popup_position:"\u5750\u6807 (X/Y)",
36
+ id:"Id",
37
+ style:"\u6837\u5F0F",
38
+ classes:"\u6837\u5F0F\u7C7B",
39
+ target_name:"\u76EE\u6807\u540D\u79F0",
40
+ langdir:"\u8BED\u8A00\u4E66\u5199\u65B9\u5411",
41
+ target_langcode:"\u76EE\u6807\u8BED\u8A00",
42
+ langcode:"\u8BED\u8A00\u7F16\u7801",
43
+ encoding:"\u76EE\u6807\u8BED\u8A00\u7F16\u7801",
44
+ mime:"\u76EE\u6807 MIME \u7C7B\u578B",
45
+ rel:"rel",
46
+ rev:"rev",
47
+ tabindex:"Tab\u7D22\u5F15",
48
+ accesskey:"\u5FEB\u901F\u952E",
49
+ ltr:"\u4ECE\u5DE6\u5230\u53F3",
50
+ rtl:"\u4ECE\u53F3\u5230\u5DE6",
51
+ link_list:"\u8FDE\u7ED3\u6E05\u5355"
52
+ });
mce/advlink/langs/langs.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+ $lang_file = dirname(__FILE__) . '/' . $mce_locale . '_dlg.js';
3
+
4
+ if ( is_file($lang_file) && is_readable($lang_file) ) {
5
+ $strings .= getFileContents($lang_file);
6
+ }
7
+ ?>
mce/advlink/langs/pt_br.js DELETED
@@ -1,54 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 26, 2005 - TinyMCE Version : 2.0RC4
9
- * Last Updated : November 20, 2006 - TinyMCE Version : 2.0.8
10
- */
11
- tinyMCE.addToLang('advlink',{
12
- general_tab : 'Geral',
13
- popup_tab : 'Popup',
14
- events_tab : 'Eventos',
15
- advanced_tab : 'Avan�ado',
16
- general_props : 'Propriedades gerais',
17
- popup_props : 'Propriedades do popup',
18
- event_props : 'Eventos',
19
- advanced_props : 'Propriedades avan�adas',
20
- popup_opts : 'Op��es',
21
- anchor_names : '�ncoras',
22
- target_same : 'Abrir nesta janela/frame',
23
- target_parent : 'Abrir na janela/frame',
24
- target_top : 'Abrir na janela superior (repondo todas as frames)',
25
- target_blank : 'Abrir em uma nova janela',
26
- popup : 'Javascript popup',
27
- popup_url : 'Popup de uma URL',
28
- popup_name : 'Nome da janela',
29
- popup_return : 'Inserir \'retorna falso\'',
30
- popup_scrollbars : 'Mostrar barra de rolagem',
31
- popup_statusbar : 'Mostrar barra de status',
32
- popup_toolbar : 'Mostrar barra de ferramentas',
33
- popup_menubar : 'Mostrar barra do menu',
34
- popup_location : 'Mostrar barra de endere�o',
35
- popup_resizable : 'Permite redimensionamento da janela',
36
- popup_dependent : 'Dependente (somente para Mozilla/Firefox)',
37
- popup_size : 'Tamanho',
38
- popup_position : 'Posi��o (X/Y)',
39
- id : 'Id',
40
- style: 'Estilo',
41
- classes : 'Classes',
42
- target_name : 'Nome do destino',
43
- langdir : 'Dire��o do texto',
44
- target_langcode : 'Idioma do destino',
45
- langcode : 'C�digo do idioma',
46
- encoding : 'Tipo de codifi��o de caractere de destino',
47
- mime : 'Tipo de MIME do destino',
48
- rel : 'Relacionamento da p�gina com o destino',
49
- rev : 'Relacionamento do destino com a p�gina',
50
- tabindex : 'Tabindex',
51
- accesskey : 'Accesskey',
52
- ltr : 'Esquerda para direita',
53
- rtl : 'Direita para esquerda'
54
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advlink/langs/pt_dlg.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('pt.advlink_dlg',{
2
+ title:"Inserir/editar hyperlink",
3
+ url:"URL do hyperlink",
4
+ target:"Alvo",
5
+ titlefield:"T\u00EDtulo",
6
+ is_email:"A URL digitada parece ser um endere\u00E7o de e-mail. Deseja acrescentar o (necess\u00E1rio) prefixo mailto:?",
7
+ is_external:"A URL digitada parece conduzir a um link externo. Deseja acrescentar o (necess\u00E1rio) prefixo http://?",
8
+ list:"Lista de hyperlinks",
9
+ general_tab:"Geral",
10
+ popup_tab:"Popup",
11
+ events_tab:"Eventos",
12
+ advanced_tab:"Avan\u00E7ado",
13
+ general_props:"Propriedades gerais",
14
+ popup_props:"Propriedades de popup",
15
+ event_props:"Eventos",
16
+ advanced_props:"Propriedades avan\u00E7adas",
17
+ popup_opts:"Op\u00E7\u00F5es",
18
+ anchor_names:"\u00C2ncoras",
19
+ target_same:"Abrir nessa janela/quadro",
20
+ target_parent:"Abrir na janela/quadro pai",
21
+ target_top:"Abrir na p\u00E1gina inteira (substitui todos os quadros)",
22
+ target_blank:"Abrir em nova janela",
23
+ popup:"Popup javascript",
24
+ popup_url:"URL do popup",
25
+ popup_name:"Nome da janela",
26
+ popup_return:"Inserir 'return false'",
27
+ popup_scrollbars:"Mostrar barras de rolagem",
28
+ popup_statusbar:"Mostrar barra de status",
29
+ popup_toolbar:"Mostrar barras de ferramentas",
30
+ popup_menubar:"Mostrar barra de menu",
31
+ popup_location:"Mostrar barra de endere\u00E7os",
32
+ popup_resizable:"Permitir altera\u00E7\u00E3o do tamanho da janela",
33
+ popup_dependent:"Dependente (Mozilla/Firefox apenas)",
34
+ popup_size:"Tamanho",
35
+ popup_position:"Posi\u00E7\u00E3o (X/Y)",
36
+ id:"Id",
37
+ style:"Estilo",
38
+ classes:"Classes",
39
+ target_name:"Nome do alvo",
40
+ langdir:"Dire\u00E7\u00E3o do texto",
41
+ target_langcode:"linguagem alvo",
42
+ langcode:"C\u00F3digo da linguagem",
43
+ encoding:"Codifica\u00E7\u00E3o de caracteres",
44
+ mime:"Tipo MIME alvo",
45
+ rel:"Rela\u00E7\u00E3o p\u00E1gina/alvo",
46
+ rev:"Rela\u00E7\u00E3o alvo/p\u00E1gina",
47
+ tabindex:"Tabindex",
48
+ accesskey:"Chave de acesso",
49
+ ltr:"Esquerda para direita",
50
+ rtl:"Direita para esquerda",
51
+ link_list:"Lista de hyperlinks"
52
+ });
mce/advlink/langs/ru_dlg.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ru.advlink_dlg',{
2
+ title:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0441\u044B\u043B\u043A\u0443",
3
+ url:"\u0410\u0434\u0440\u0435\u0441 \u0441\u0441\u044B\u043B\u043A\u0438",
4
+ target:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0435",
5
+ titlefield:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",
6
+ is_email:"\u0410\u0434\u0440\u0435\u0441, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0412\u044B \u0432\u0432\u0435\u043B\u0438, \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F e-mail \u0430\u0434\u0440\u0435\u0441\u043E\u043C, \u0445\u043E\u0442\u0438\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0439 \u043F\u0440\u0435\u0444\u0438\u043A\u0441 mailto:?",
7
+ is_external:"\u0410\u0434\u0440\u0435\u0441, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0412\u044B \u0432\u0432\u0435\u043B\u0438, \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0432\u043D\u0435\u0448\u043D\u0435\u0439 \u0441\u0441\u044B\u043B\u043A\u043E\u0439, \u0445\u043E\u0442\u0438\u0442\u0435 \u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u044B\u0439 \u043F\u0440\u0435\u0444\u0438\u043A\u0441 http://?",
8
+ list:"\u041F\u0435\u0440\u0435\u0447\u0435\u043D\u044C \u0441\u0441\u044B\u043B\u043E\u043A",
9
+ general_tab:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0435",
10
+ popup_tab:"\u0412\u0441\u043F\u043B\u044B\u0432.\u043F\u043E\u0434\u0441\u043A\u0430\u0437\u043A\u0438",
11
+ events_tab:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F",
12
+ advanced_tab:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435",
13
+ general_props:"\u041E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",
14
+ popup_props:"\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0432\u0441\u043F\u043B\u044B\u0432\u0430\u044E\u0449\u0438\u0445 \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u043E\u0432",
15
+ event_props:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F",
16
+ advanced_props:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",
17
+ popup_opts:"\u041E\u043F\u0446\u0438\u0438",
18
+ anchor_names:"\u042F\u043A\u043E\u0440\u044F",
19
+ target_same:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u044D\u0442\u043E\u043C \u043E\u043A\u043D\u0435/\u0444\u0440\u0435\u0439\u043C\u0435",
20
+ target_parent:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u0440\u043E\u0434\u0438\u0442\u0435\u043B\u044C\u0441\u043A\u043E\u043C \u043E\u043A\u043D\u0435/\u0444\u0440\u0435\u0439\u043C\u0435",
21
+ target_top:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u0432\u0435\u0440\u0445\u043D\u0435\u043C \u0444\u0440\u0435\u0439\u043C\u0435 (\u0437\u0430\u043C\u0435\u043D\u044F\u0442\u044C \u0432\u0441\u0435 \u0444\u0440\u0435\u0439\u043C\u044B)",
22
+ target_blank:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u0432 \u043D\u043E\u0432\u043E\u043C \u043E\u043A\u043D\u0435",
23
+ popup:"\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C JavaScript",
24
+ popup_url:"\u0410\u0434\u0440\u0435\u0441 \u0432\u0441\u043F\u043B\u044B\u0432\u0430\u044E\u0449\u0435\u0433\u043E \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",
25
+ popup_name:"\u0418\u043C\u044F \u043E\u043A\u043D\u0430",
26
+ popup_return:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 'return false;'",
27
+ popup_scrollbars:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043B\u0438\u043D\u0435\u0439\u043A\u0438 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438",
28
+ popup_statusbar:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044F",
29
+ popup_toolbar:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",
30
+ popup_menubar:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u043C\u0435\u043D\u044E",
31
+ popup_location:"\u041F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0442\u044C \u0430\u0434\u0440\u0435\u0441\u043D\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443",
32
+ popup_resizable:"\u041F\u043E\u0437\u0432\u043E\u043B\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u044F\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440\u044B \u043E\u043A\u043D\u0430",
33
+ popup_dependent:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u044C (\u0442\u043E\u043B\u044C\u043A\u043E Mozilla/Firefox)",
34
+ popup_size:"\u0420\u0430\u0437\u043C\u0435\u0440",
35
+ popup_position:"\u0420\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 (X/Y)",
36
+ id:"Id",
37
+ style:"\u0421\u0442\u0438\u043B\u044C",
38
+ classes:"\u041A\u043B\u0430\u0441\u0441\u044B",
39
+ target_name:"\u0418\u043C\u044F \u0446\u0435\u043B\u0438",
40
+ langdir:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u0438\u0441\u044C\u043C\u0430 \u0432 \u044F\u0437\u044B\u043A\u0435",
41
+ target_langcode:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 \u044F\u0437\u044B\u043A",
42
+ langcode:"\u041A\u043E\u0434 \u044F\u0437\u044B\u043A\u0430",
43
+ encoding:"\u0426\u0435\u043B\u0435\u0432\u0430\u044F \u043A\u043E\u0434\u0438\u0440\u043E\u0432\u043A\u0430",
44
+ mime:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 MIME \u0442\u0438\u043F",
45
+ rel:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u044C \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B \u043E\u0442 \u0446\u0435\u043B\u0438",
46
+ rev:"\u0417\u0430\u0432\u0438\u0441\u0438\u043C\u043E\u0441\u0442\u044C \u0446\u0435\u043B\u0438 \u043E\u0442 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u044B",
47
+ tabindex:"\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0430",
48
+ accesskey:"\u041A\u043B\u0430\u0432\u0438\u0448\u0430 \u0434\u043E\u0441\u0442\u0443\u043F\u0430",
49
+ ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E",
50
+ rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E",
51
+ link_list:"\u041F\u0435\u0440\u0435\u0447\u0435\u043D\u044C \u0441\u0441\u044B\u043B\u043E\u043A"
52
+ });
mce/advlink/langs/ru_ru.js DELETED
@@ -1,46 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('advlink',{
4
- general_tab : 'Основные',
5
- popup_tab : 'Всплывающие',
6
- events_tab : 'События',
7
- advanced_tab : 'Расширенные',
8
- general_props : 'Основные свойства',
9
- popup_props : 'Свойства всплывющих элементов',
10
- event_props : 'События',
11
- advanced_props : 'Расширенные настройки',
12
- popup_opts : 'Опции',
13
- anchor_names : 'Якоря',
14
- target_same : 'Открывать в этом окне / фрейме',
15
- target_parent : 'Открывать в родительском окне / фрейме',
16
- target_top : 'Открывать в верхнем фрейме (заменять все фреймы)',
17
- target_blank : 'Открывать в новом окне',
18
- popup : 'Всплывающее окно Javascript',
19
- popup_url : 'Всплывающий URL',
20
- popup_name : 'Имя окна',
21
- popup_return : 'Вставить \'return false\'',
22
- popup_scrollbars : 'Показывать линейки прокрутки',
23
- popup_statusbar : 'Показывать строку состояния',
24
- popup_toolbar : 'Показывать панели инструментов',
25
- popup_menubar : 'Показывать панель меню',
26
- popup_location : 'Показывать панель расположения',
27
- popup_resizable : 'Позволить изменять размеры окна',
28
- popup_dependent : 'Зависимость (только Mozilla/Firefox)',
29
- popup_size : 'Размер',
30
- popup_position : 'Расположение (X/Y)',
31
- id : 'Id',
32
- style: 'Стиль',
33
- classes : 'Классы',
34
- target_name : 'Имя цели',
35
- langdir : 'Направление письма в языке',
36
- target_langcode : 'Целевой язык',
37
- langcode : 'Код языка',
38
- encoding : 'Целевая кодировка',
39
- mime : 'Целевой MIME тип',
40
- rel : 'Зависимость страница -> цель',
41
- rev : 'Зависимость цель -> страница',
42
- tabindex : 'Индекс таблицы',
43
- accesskey : 'Ключ доступа',
44
- ltr : 'Слева направо',
45
- rtl : 'Справа налево'
46
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advlink/langs/zh_cn.js DELETED
@@ -1,47 +0,0 @@
1
- // Simplified Chinese lang variables contributed by TinyMCE_China_Team ( tinymce_china {AT} yahoogroups {DOT} com ).
2
- // visit our homepage at: http://www.cube316.net/tinymce/ for more information.
3
-
4
- tinyMCE.addToLang('advlink',{
5
- general_tab : 'һ��',
6
- popup_tab : '����',
7
- events_tab : '�¼�',
8
- advanced_tab : '�߼�',
9
- general_props : 'һ������',
10
- popup_props : '��������',
11
- event_props : '�¼�����',
12
- advanced_props : '�߼�����',
13
- popup_opts : 'ѡ��',
14
- anchor_names : '�',
15
- target_same : '�ڵ�ǰ����/����д�',
16
- target_parent : '�ڸ�����/����д�',
17
- target_top : '�ڶ��˴���/����д�',
18
- target_blank : '���´����д�',
19
- popup : 'Javascript ����',
20
- popup_url : '������ַ',
21
- popup_name : '����������',
22
- popup_return : '���� \'return false\'',
23
- popup_scrollbars : '��ʾ������',
24
- popup_statusbar : '��ʾ״̬��',
25
- popup_toolbar : '��ʾ������',
26
- popup_menubar : '��ʾ�˵���',
27
- popup_location : '��ʾ��ַ��',
28
- popup_resizable : '���ڴ�С�ɱ�',
29
- popup_dependent : 'Dependent (������ Mozilla/Firefox)',
30
- popup_size : '��С',
31
- popup_position : '� (X/Y)',
32
- id : '��ʶ',
33
- style: '��ʽ',
34
- classes : '��',
35
- target_name : 'Ŀ������',
36
- langdir : '�����',
37
- target_langcode : 'Ŀ������',
38
- langcode : '���Ա���',
39
- encoding : 'Ŀ�����ֱ���',
40
- mime : 'Ŀ�� MIME ����',
41
- rel : 'ҳ��Ŀ��Ĺ�ϵ',
42
- rev : 'Ŀ����ҳ�Ĺ�ϵ',
43
- tabindex : 'Tabindex',
44
- accesskey : '��ݼ�',
45
- ltr : '������',
46
- rtl : '���ҵ���'
47
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/advlink/langs/zh_dlg.js ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('zh.advlink_dlg',{
2
+ title:"\u63D2\u5165/\u7DE8\u8F2F \u9023\u7D50",
3
+ url:"\u9023\u7D50\u4F4D\u5740",
4
+ target:"\u76EE\u6A19",
5
+ titlefield:"\u67E5\u627E",
6
+ is_email:"\u60A8\u8F38\u5165\u7684\u61C9\u8A72\u662F\u4E00\u500B\u96FB\u5B50\u90F5\u5BC4\u5730\u5740\uFF0C\u662F\u5426\u9700\u8981\u5728\u7DB2\u5740\u524D\u52A0\u4E0A mailto: ? ",
7
+ is_external:"\u60A8\u8F38\u5165\u7684\u7DB2\u5740\u61C9\u8A72\u662F\u4E00\u500B\u5916\u90E8\u9023\u7D50\uFF0C\u662F\u5426\u9700\u8981\u5728\u7DB2\u5740\u524D\u52A0\u4E0A http:// ?",
8
+ list:"\u9023\u7D50\u6E05\u55AE",
9
+ general_tab:"\u57FA\u672C",
10
+ popup_tab:"\u5FEB\u986F\u8996\u7A97",
11
+ events_tab:"\u4E8B\u4EF6",
12
+ advanced_tab:"\u9AD8\u7D1A",
13
+ general_props:"\u57FA\u672C\u5C6C\u6027",
14
+ popup_props:"\u5FEB\u986F\u8996\u7A97\u5C6C\u6027",
15
+ event_props:"\u4E8B\u4EF6",
16
+ advanced_props:"\u9AD8\u7D1A\u5C6C\u6027",
17
+ popup_opts:"\u9078\u9805",
18
+ anchor_names:"\u9328\u9EDE",
19
+ target_same:"\u5728\u7576\u524D\u8996\u7A97\u6253\u958B",
20
+ target_parent:"\u5728\u7236\u8996\u7A97\u6253\u958B",
21
+ target_top:"\u5728\u9802\u5C64\u8996\u7A97\u6253\u958B",
22
+ target_blank:"\u5728\u65B0\u8996\u7A97\u6253\u958B",
23
+ popup:"Javascript \u5FEB\u986F\u8996\u7A97",
24
+ popup_url:"\u5F48\u51FA\u7A97\u53E3\u4F4D\u5740",
25
+ popup_name:"\u7A97\u53E3\u540D\u7A31",
26
+ popup_return:"\u63D2\u5165 'return false'",
27
+ popup_scrollbars:"\u986F\u793A\u6372\u8EF8",
28
+ popup_statusbar:"\u986F\u793A\u72C0\u614B\u5217",
29
+ popup_toolbar:"\u986F\u793A\u5DE5\u5177\u5217",
30
+ popup_menubar:"\u986F\u793A\u529F\u80FD\u8868\u5217",
31
+ popup_location:"\u986F\u793A\u4F4D\u5740\u6B04",
32
+ popup_resizable:"\u53EF\u8ABF\u6574\u8996\u7A97\u5927\u5C0F",
33
+ popup_dependent:"\u5F9E\u5C6C\u65BC ( \u50C5 Mozilla/Firefox \u6709\u6548 )",
34
+ popup_size:"\u5927\u5C0F",
35
+ popup_position:"\u5EA7\u6A19 (X/Y)",
36
+ id:"Id",
37
+ style:"\u6A23\u5F0F",
38
+ classes:"\u6A23\u5F0F\u985E",
39
+ target_name:"\u76EE\u6A19\u540D\u7A31",
40
+ langdir:"\u8A9E\u8A00\u66F8\u5BEB\u65B9\u5411",
41
+ target_langcode:"\u76EE\u7684\u8A9E\u8A00",
42
+ langcode:"\u8A9E\u8A00\u7DE8\u78BC",
43
+ encoding:"\u76EE\u7684\u8A9E\u8A00\u7DE8\u78BC",
44
+ mime:"\u76EE\u6A19 MIME \u985E\u578B",
45
+ rel:"rel",
46
+ rev:"rev",
47
+ tabindex:"Tab\u7D22\u5F15",
48
+ accesskey:"\u5FEB\u901F\u9375",
49
+ ltr:"\u5F9E\u5DE6\u5230\u53F3",
50
+ rtl:"\u5F9E\u53F3\u5230\u5DE6",
51
+ link_list:"\u9023\u7D50\u6E05\u55AE"
52
+ });
mce/advlink/link.htm CHANGED
@@ -1,61 +1,62 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_insert_link_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/validate.js"></script>
8
- <script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
9
  <link href="css/advlink.css" rel="stylesheet" type="text/css" />
10
  <base target="_self" />
11
  </head>
12
- <body id="advlink" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
13
  <form onsubmit="insertAction();return false;" action="#">
14
  <div class="tabs">
15
  <ul>
16
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_advlink_general_tab}</a></span></li>
17
- <li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{$lang_advlink_popup_tab}</a></span></li>
18
- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_advlink_events_tab}</a></span></li>
19
- <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_advlink_advanced_tab}</a></span></li>
20
  </ul>
21
  </div>
22
 
23
  <div class="panel_wrapper">
24
  <div id="general_panel" class="panel current">
25
  <fieldset>
26
- <legend>{$lang_advlink_general_props}</legend>
27
 
28
  <table border="0" cellpadding="4" cellspacing="0">
29
  <tr>
30
- <td nowrap="nowrap"><label id="hreflabel" for="href">{$lang_insert_link_url}</label></td>
31
  <td><table border="0" cellspacing="0" cellpadding="0">
32
  <tr>
33
- <td><input id="href" name="href" type="text" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
34
  <td id="hrefbrowsercontainer">&nbsp;</td>
35
  </tr>
36
  </table></td>
37
  </tr>
38
  <tr id="linklisthrefrow">
39
- <td class="column1"><label for="linklisthref">{$lang_link_list}</label></td>
40
  <td colspan="2" id="linklisthrefcontainer">&nbsp;</td>
41
  </tr>
42
  <tr>
43
- <td class="column1"><label for="anchorlist">{$lang_advlink_anchor_names}</label></td>
44
  <td colspan="2" id="anchorlistcontainer">&nbsp;</td>
45
  </tr>
46
  <tr>
47
- <td><label id="targetlistlabel" for="targetlist">{$lang_insert_link_target}</label></td>
48
  <td id="targetlistcontainer">&nbsp;</td>
49
  </tr>
50
  <tr>
51
- <td nowrap="nowrap"><label id="titlelabel" for="title">{$lang_theme_insert_link_titlefield}</label></td>
52
  <td><input id="title" name="title" type="text" value="" /></td>
53
  </tr>
54
  <tr>
55
- <td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
56
  <td>
57
  <select id="classlist" name="classlist" onchange="changeClass();">
58
- <option value="" selected>{$lang_not_set}</option>
59
  </select>
60
  </td>
61
  </tr>
@@ -65,14 +66,14 @@
65
 
66
  <div id="popup_panel" class="panel">
67
  <fieldset>
68
- <legend>{$lang_advlink_popup_props}</legend>
69
 
70
  <input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
71
- <label id="ispopuplabel" for="ispopup">{$lang_advlink_popup}</label>
72
 
73
  <table border="0" cellpadding="0" cellspacing="4">
74
  <tr>
75
- <td nowrap="nowrap"><label for="popupurl">{$lang_advlink_popup_url}</label>&nbsp;</td>
76
  <td>
77
  <table border="0" cellspacing="0" cellpadding="0">
78
  <tr>
@@ -83,18 +84,18 @@
83
  </td>
84
  </tr>
85
  <tr>
86
- <td nowrap="nowrap"><label for="popupname">{$lang_advlink_popup_name}</label>&nbsp;</td>
87
  <td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
88
  </tr>
89
  <tr>
90
- <td nowrap="nowrap"><label>{$lang_advlink_popup_size}</label>&nbsp;</td>
91
  <td nowrap="nowrap">
92
  <input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
93
  <input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
94
  </td>
95
  </tr>
96
  <tr>
97
- <td nowrap="nowrap" id="labelleft"><label>{$lang_advlink_popup_position}</label>&nbsp;</td>
98
  <td nowrap="nowrap">
99
  <input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /
100
  <input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
@@ -103,32 +104,32 @@
103
  </table>
104
 
105
  <fieldset>
106
- <legend>{$lang_advlink_popup_opts}</legend>
107
 
108
  <table border="0" cellpadding="0" cellspacing="4">
109
  <tr>
110
  <td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
111
- <td nowrap="nowrap"><label id="popuplocationlabel" for="popuplocation">{$lang_advlink_popup_location}</label></td>
112
  <td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
113
- <td nowrap="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{$lang_advlink_popup_scrollbars}</label></td>
114
  </tr>
115
  <tr>
116
  <td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
117
- <td nowrap="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{$lang_advlink_popup_menubar}</label></td>
118
  <td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
119
- <td nowrap="nowrap"><label id="popupresizablelabel" for="popupresizable">{$lang_advlink_popup_resizable}</label></td>
120
  </tr>
121
  <tr>
122
  <td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
123
- <td nowrap="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{$lang_advlink_popup_toolbar}</label></td>
124
  <td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
125
- <td nowrap="nowrap"><label id="popupdependentlabel" for="popupdependent">{$lang_advlink_popup_dependent}</label></td>
126
  </tr>
127
  <tr>
128
  <td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
129
- <td nowrap="nowrap"><label id="popupstatuslabel" for="popupstatus">{$lang_advlink_popup_statusbar}</label></td>
130
  <td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td>
131
- <td nowrap="nowrap"><label id="popupreturnlabel" for="popupreturn">{$lang_advlink_popup_return}</label></td>
132
  </tr>
133
  </table>
134
  </fieldset>
@@ -137,66 +138,66 @@
137
 
138
  <div id="advanced_panel" class="panel">
139
  <fieldset>
140
- <legend>{$lang_advlink_advanced_props}</legend>
141
 
142
  <table border="0" cellpadding="0" cellspacing="4">
143
  <tr>
144
- <td class="column1"><label id="idlabel" for="id">{$lang_advlink_id}</label></td>
145
  <td><input id="id" name="id" type="text" value="" /></td>
146
  </tr>
147
 
148
  <tr>
149
- <td><label id="stylelabel" for="style">{$lang_advlink_style}</label></td>
150
  <td><input type="text" id="style" name="style" value="" /></td>
151
  </tr>
152
 
153
  <tr>
154
- <td><label id="classeslabel" for="classes">{$lang_advlink_classes}</label></td>
155
  <td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
156
  </tr>
157
 
158
  <tr>
159
- <td><label id="targetlabel" for="target">{$lang_advlink_target_name}</label></td>
160
  <td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
161
  </tr>
162
 
163
  <tr>
164
- <td class="column1"><label id="dirlabel" for="dir">{$lang_advlink_langdir}</label></td>
165
  <td>
166
  <select id="dir" name="dir">
167
- <option value="">{$lang_not_set}</option>
168
- <option value="ltr">{$lang_advlink_ltr}</option>
169
- <option value="rtl">{$lang_advlink_rtl}</option>
170
  </select>
171
  </td>
172
  </tr>
173
 
174
  <tr>
175
- <td><label id="hreflanglabel" for="hreflang">{$lang_advlink_target_langcode}</label></td>
176
  <td><input type="text" id="hreflang" name="hreflang" value="" /></td>
177
  </tr>
178
 
179
  <tr>
180
- <td class="column1"><label id="langlabel" for="lang">{$lang_advlink_langcode}</label></td>
181
  <td>
182
  <input id="lang" name="lang" type="text" value="" />
183
  </td>
184
  </tr>
185
 
186
  <tr>
187
- <td><label id="charsetlabel" for="charset">{$lang_advlink_encoding}</label></td>
188
  <td><input type="text" id="charset" name="charset" value="" /></td>
189
  </tr>
190
 
191
  <tr>
192
- <td><label id="typelabel" for="type">{$lang_advlink_mime}</label></td>
193
  <td><input type="text" id="type" name="type" value="" /></td>
194
  </tr>
195
 
196
  <tr>
197
- <td><label id="rellabel" for="rel">{$lang_advlink_rel}</label></td>
198
  <td><select id="rel" name="rel">
199
- <option value="">{$lang_not_set}</option>
200
  <option value="lightbox">Lightbox</option>
201
  <option value="alternate">Alternate</option>
202
  <option value="designates">Designates</option>
@@ -220,9 +221,9 @@
220
  </tr>
221
 
222
  <tr>
223
- <td><label id="revlabel" for="rev">{$lang_advlink_rev}</label></td>
224
  <td><select id="rev" name="rev">
225
- <option value="">{$lang_not_set}</option>
226
  <option value="alternate">Alternate</option>
227
  <option value="designates">Designates</option>
228
  <option value="stylesheet">Stylesheet</option>
@@ -243,12 +244,12 @@
243
  </tr>
244
 
245
  <tr>
246
- <td><label id="tabindexlabel" for="tabindex">{$lang_advlink_tabindex}</label></td>
247
  <td><input type="text" id="tabindex" name="tabindex" value="" /></td>
248
  </tr>
249
 
250
  <tr>
251
- <td><label id="accesskeylabel" for="accesskey">{$lang_advlink_accesskey}</label></td>
252
  <td><input type="text" id="accesskey" name="accesskey" value="" /></td>
253
  </tr>
254
  </table>
@@ -257,7 +258,7 @@
257
 
258
  <div id="events_panel" class="panel">
259
  <fieldset>
260
- <legend>{$lang_advlink_event_props}</legend>
261
 
262
  <table border="0" cellpadding="0" cellspacing="4">
263
  <tr>
@@ -326,11 +327,11 @@
326
 
327
  <div class="mceActionPanel">
328
  <div style="float: left">
329
- <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
330
  </div>
331
 
332
  <div style="float: right">
333
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
334
  </div>
335
  </div>
336
  </form>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#advlink_dlg.title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/validate.js"></script>
9
+ <script type="text/javascript" src="js/advlink.js"></script>
10
  <link href="css/advlink.css" rel="stylesheet" type="text/css" />
11
  <base target="_self" />
12
  </head>
13
+ <body id="advlink" style="display: none">
14
  <form onsubmit="insertAction();return false;" action="#">
15
  <div class="tabs">
16
  <ul>
17
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advlink_dlg.general_tab}</a></span></li>
18
+ <li id="popup_tab"><span><a href="javascript:mcTabs.displayTab('popup_tab','popup_panel');" onmousedown="return false;">{#advlink_dlg.popup_tab}</a></span></li>
19
+ <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#advlink_dlg.events_tab}</a></span></li>
20
+ <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#advlink_dlg.advanced_tab}</a></span></li>
21
  </ul>
22
  </div>
23
 
24
  <div class="panel_wrapper">
25
  <div id="general_panel" class="panel current">
26
  <fieldset>
27
+ <legend>{#advlink_dlg.general_props}</legend>
28
 
29
  <table border="0" cellpadding="4" cellspacing="0">
30
  <tr>
31
+ <td nowrap="nowrap"><label id="hreflabel" for="href">{#advlink_dlg.url}</label></td>
32
  <td><table border="0" cellspacing="0" cellpadding="0">
33
  <tr>
34
+ <td><input id="href" name="href" type="text" class="mceFocus" value="" onchange="selectByValue(this.form,'linklisthref',this.value);" /></td>
35
  <td id="hrefbrowsercontainer">&nbsp;</td>
36
  </tr>
37
  </table></td>
38
  </tr>
39
  <tr id="linklisthrefrow">
40
+ <td class="column1"><label for="linklisthref">{#advlink_dlg.list}</label></td>
41
  <td colspan="2" id="linklisthrefcontainer">&nbsp;</td>
42
  </tr>
43
  <tr>
44
+ <td class="column1"><label for="anchorlist">{#advlink_dlg.anchor_names}</label></td>
45
  <td colspan="2" id="anchorlistcontainer">&nbsp;</td>
46
  </tr>
47
  <tr>
48
+ <td><label id="targetlistlabel" for="targetlist">{#advlink_dlg.target}</label></td>
49
  <td id="targetlistcontainer">&nbsp;</td>
50
  </tr>
51
  <tr>
52
+ <td nowrap="nowrap"><label id="titlelabel" for="title">{#advlink_dlg.titlefield}</label></td>
53
  <td><input id="title" name="title" type="text" value="" /></td>
54
  </tr>
55
  <tr>
56
+ <td><label id="classlabel" for="classlist">{#class_name}</label></td>
57
  <td>
58
  <select id="classlist" name="classlist" onchange="changeClass();">
59
+ <option value="" selected>{#not_set}</option>
60
  </select>
61
  </td>
62
  </tr>
66
 
67
  <div id="popup_panel" class="panel">
68
  <fieldset>
69
+ <legend>{#advlink_dlg.popup_props}</legend>
70
 
71
  <input type="checkbox" id="ispopup" name="ispopup" class="radio" onclick="setPopupControlsDisabled(!this.checked);buildOnClick();" />
72
+ <label id="ispopuplabel" for="ispopup">{#advlink_dlg.popup}</label>
73
 
74
  <table border="0" cellpadding="0" cellspacing="4">
75
  <tr>
76
+ <td nowrap="nowrap"><label for="popupurl">{#advlink_dlg.popup_url}</label>&nbsp;</td>
77
  <td>
78
  <table border="0" cellspacing="0" cellpadding="0">
79
  <tr>
84
  </td>
85
  </tr>
86
  <tr>
87
+ <td nowrap="nowrap"><label for="popupname">{#advlink_dlg.popup_name}</label>&nbsp;</td>
88
  <td><input type="text" name="popupname" id="popupname" value="" onchange="buildOnClick();" /></td>
89
  </tr>
90
  <tr>
91
+ <td nowrap="nowrap"><label>{#advlink_dlg.popup_size}</label>&nbsp;</td>
92
  <td nowrap="nowrap">
93
  <input type="text" id="popupwidth" name="popupwidth" value="" onchange="buildOnClick();" /> x
94
  <input type="text" id="popupheight" name="popupheight" value="" onchange="buildOnClick();" /> px
95
  </td>
96
  </tr>
97
  <tr>
98
+ <td nowrap="nowrap" id="labelleft"><label>{#advlink_dlg.popup_position}</label>&nbsp;</td>
99
  <td nowrap="nowrap">
100
  <input type="text" id="popupleft" name="popupleft" value="" onchange="buildOnClick();" /> /
101
  <input type="text" id="popuptop" name="popuptop" value="" onchange="buildOnClick();" /> (c /c = center)
104
  </table>
105
 
106
  <fieldset>
107
+ <legend>{#advlink_dlg.popup_opts}</legend>
108
 
109
  <table border="0" cellpadding="0" cellspacing="4">
110
  <tr>
111
  <td><input type="checkbox" id="popuplocation" name="popuplocation" class="checkbox" onchange="buildOnClick();" /></td>
112
+ <td nowrap="nowrap"><label id="popuplocationlabel" for="popuplocation">{#advlink_dlg.popup_location}</label></td>
113
  <td><input type="checkbox" id="popupscrollbars" name="popupscrollbars" class="checkbox" onchange="buildOnClick();" /></td>
114
+ <td nowrap="nowrap"><label id="popupscrollbarslabel" for="popupscrollbars">{#advlink_dlg.popup_scrollbars}</label></td>
115
  </tr>
116
  <tr>
117
  <td><input type="checkbox" id="popupmenubar" name="popupmenubar" class="checkbox" onchange="buildOnClick();" /></td>
118
+ <td nowrap="nowrap"><label id="popupmenubarlabel" for="popupmenubar">{#advlink_dlg.popup_menubar}</label></td>
119
  <td><input type="checkbox" id="popupresizable" name="popupresizable" class="checkbox" onchange="buildOnClick();" /></td>
120
+ <td nowrap="nowrap"><label id="popupresizablelabel" for="popupresizable">{#advlink_dlg.popup_resizable}</label></td>
121
  </tr>
122
  <tr>
123
  <td><input type="checkbox" id="popuptoolbar" name="popuptoolbar" class="checkbox" onchange="buildOnClick();" /></td>
124
+ <td nowrap="nowrap"><label id="popuptoolbarlabel" for="popuptoolbar">{#advlink_dlg.popup_toolbar}</label></td>
125
  <td><input type="checkbox" id="popupdependent" name="popupdependent" class="checkbox" onchange="buildOnClick();" /></td>
126
+ <td nowrap="nowrap"><label id="popupdependentlabel" for="popupdependent">{#advlink_dlg.popup_dependent}</label></td>
127
  </tr>
128
  <tr>
129
  <td><input type="checkbox" id="popupstatus" name="popupstatus" class="checkbox" onchange="buildOnClick();" /></td>
130
+ <td nowrap="nowrap"><label id="popupstatuslabel" for="popupstatus">{#advlink_dlg.popup_statusbar}</label></td>
131
  <td><input type="checkbox" id="popupreturn" name="popupreturn" class="checkbox" onchange="buildOnClick();" checked="checked" /></td>
132
+ <td nowrap="nowrap"><label id="popupreturnlabel" for="popupreturn">{#advlink_dlg.popup_return}</label></td>
133
  </tr>
134
  </table>
135
  </fieldset>
138
 
139
  <div id="advanced_panel" class="panel">
140
  <fieldset>
141
+ <legend>{#advlink_dlg.advanced_props}</legend>
142
 
143
  <table border="0" cellpadding="0" cellspacing="4">
144
  <tr>
145
+ <td class="column1"><label id="idlabel" for="id">{#advlink_dlg.id}</label></td>
146
  <td><input id="id" name="id" type="text" value="" /></td>
147
  </tr>
148
 
149
  <tr>
150
+ <td><label id="stylelabel" for="style">{#advlink_dlg.style}</label></td>
151
  <td><input type="text" id="style" name="style" value="" /></td>
152
  </tr>
153
 
154
  <tr>
155
+ <td><label id="classeslabel" for="classes">{#advlink_dlg.classes}</label></td>
156
  <td><input type="text" id="classes" name="classes" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
157
  </tr>
158
 
159
  <tr>
160
+ <td><label id="targetlabel" for="target">{#advlink_dlg.target_name}</label></td>
161
  <td><input type="text" id="target" name="target" value="" onchange="selectByValue(this.form,'targetlist',this.value,true);" /></td>
162
  </tr>
163
 
164
  <tr>
165
+ <td class="column1"><label id="dirlabel" for="dir">{#advlink_dlg.langdir}</label></td>
166
  <td>
167
  <select id="dir" name="dir">
168
+ <option value="">{#not_set}</option>
169
+ <option value="ltr">{#advlink_dlg.ltr}</option>
170
+ <option value="rtl">{#advlink_dlg.rtl}</option>
171
  </select>
172
  </td>
173
  </tr>
174
 
175
  <tr>
176
+ <td><label id="hreflanglabel" for="hreflang">{#advlink_dlg.target_langcode}</label></td>
177
  <td><input type="text" id="hreflang" name="hreflang" value="" /></td>
178
  </tr>
179
 
180
  <tr>
181
+ <td class="column1"><label id="langlabel" for="lang">{#advlink_dlg.langcode}</label></td>
182
  <td>
183
  <input id="lang" name="lang" type="text" value="" />
184
  </td>
185
  </tr>
186
 
187
  <tr>
188
+ <td><label id="charsetlabel" for="charset">{#advlink_dlg.encoding}</label></td>
189
  <td><input type="text" id="charset" name="charset" value="" /></td>
190
  </tr>
191
 
192
  <tr>
193
+ <td><label id="typelabel" for="type">{#advlink_dlg.mime}</label></td>
194
  <td><input type="text" id="type" name="type" value="" /></td>
195
  </tr>
196
 
197
  <tr>
198
+ <td><label id="rellabel" for="rel">{#advlink_dlg.rel}</label></td>
199
  <td><select id="rel" name="rel">
200
+ <option value="">{#not_set}</option>
201
  <option value="lightbox">Lightbox</option>
202
  <option value="alternate">Alternate</option>
203
  <option value="designates">Designates</option>
221
  </tr>
222
 
223
  <tr>
224
+ <td><label id="revlabel" for="rev">{#advlink_dlg.rev}</label></td>
225
  <td><select id="rev" name="rev">
226
+ <option value="">{#not_set}</option>
227
  <option value="alternate">Alternate</option>
228
  <option value="designates">Designates</option>
229
  <option value="stylesheet">Stylesheet</option>
244
  </tr>
245
 
246
  <tr>
247
+ <td><label id="tabindexlabel" for="tabindex">{#advlink_dlg.tabindex}</label></td>
248
  <td><input type="text" id="tabindex" name="tabindex" value="" /></td>
249
  </tr>
250
 
251
  <tr>
252
+ <td><label id="accesskeylabel" for="accesskey">{#advlink_dlg.accesskey}</label></td>
253
  <td><input type="text" id="accesskey" name="accesskey" value="" /></td>
254
  </tr>
255
  </table>
258
 
259
  <div id="events_panel" class="panel">
260
  <fieldset>
261
+ <legend>{#advlink_dlg.event_props}</legend>
262
 
263
  <table border="0" cellpadding="0" cellspacing="4">
264
  <tr>
327
 
328
  <div class="mceActionPanel">
329
  <div style="float: left">
330
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
331
  </div>
332
 
333
  <div style="float: right">
334
+ <input type="submit" id="insert" name="insert" value="{#insert}" />
335
  </div>
336
  </div>
337
  </form>
mce/advlink/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/contextmenu/css/contextmenu.css DELETED
@@ -1,74 +0,0 @@
1
- .contextMenuIEPopup {
2
- padding: 0;
3
- margin: 0;
4
- border: 0;
5
- overflow: hidden;
6
- }
7
-
8
- .contextMenu {
9
- position: absolute;
10
- cursor: default;
11
- z-index: 1000;
12
- border: 1px solid #D4D0C8;
13
- background-color: #FFFFFF;
14
- }
15
-
16
- .contextMenuItem, .contextMenuItemOver {
17
- }
18
-
19
- .contextMenuSeparator {
20
- width: 100%;
21
- background-color: #D4D0C8;
22
- border: 0;
23
- }
24
-
25
- .contextMenuImage, .contextMenuItemDisabled {
26
- border: 0;
27
- }
28
-
29
- .contextMenuIcon {
30
- background-color: #F0F0EE;
31
- }
32
-
33
- .contextMenuItemOver .contextMenuIcon {
34
- background-color: #B6BDD2;
35
- }
36
-
37
- .contextMenuIcon {
38
- background-color: #F0F0EE;
39
- }
40
-
41
- .contextMenuItemDisabled img {
42
- filter:progid:DXImageTransform.Microsoft.Alpha(opacity=30);
43
- -moz-opacity:0.3;
44
- opacity: 0.3;
45
- }
46
-
47
- .contextMenuText {
48
- font-family: Tahoma, Verdana, Arial, Helvetica;
49
- font-size: 11px;
50
- line-height: 20px;
51
- }
52
-
53
- .contextMenuItemDisabled {
54
- color: #AAAAAA;
55
- }
56
-
57
- .contextMenuText a {
58
- display: block;
59
- line-height: 20px;
60
- width: 100%;
61
- text-decoration: none;
62
- color: black;
63
- font-weight: normal;
64
- margin: 0;
65
- padding: 0;
66
- }
67
-
68
- .contextMenuText a:hover {
69
- background-color: #B6BDD2;
70
- text-decoration: none !important;
71
- font-weight: normal;
72
- margin: 0;
73
- padding: 0;
74
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/contextmenu/editor_plugin.js CHANGED
@@ -1,360 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import plugin specific language pack */
9
- if (!tinyMCE.settings['contextmenu_skip_plugin_css']) {
10
- tinyMCE.loadCSS(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/contextmenu/css/contextmenu.css");
11
- }
12
-
13
- var TinyMCE_ContextMenuPlugin = {
14
- // Private fields
15
- _contextMenu : null,
16
-
17
- getInfo : function() {
18
- return {
19
- longname : 'Context menus',
20
- author : 'Moxiecode Systems AB',
21
- authorurl : 'http://tinymce.moxiecode.com',
22
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',
23
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
24
- };
25
- },
26
-
27
- initInstance : function(inst) {
28
- // Is not working on MSIE 5.0 or Opera no contextmenu event
29
- if (tinyMCE.isMSIE5_0 && tinyMCE.isOpera)
30
- return;
31
-
32
- TinyMCE_ContextMenuPlugin._contextMenu = new TinyMCE_ContextMenu({
33
- commandhandler : "TinyMCE_ContextMenuPlugin._commandHandler",
34
- spacer_image : tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/contextmenu/images/spacer.gif"
35
- });
36
-
37
- // Add hide event handles
38
- tinyMCE.addEvent(inst.getDoc(), "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
39
- tinyMCE.addEvent(inst.getDoc(), "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
40
- tinyMCE.addEvent(inst.getDoc(), "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
41
- tinyMCE.addEvent(document, "click", TinyMCE_ContextMenuPlugin._hideContextMenu);
42
- tinyMCE.addEvent(document, "keypress", TinyMCE_ContextMenuPlugin._hideContextMenu);
43
- tinyMCE.addEvent(document, "keydown", TinyMCE_ContextMenuPlugin._hideContextMenu);
44
-
45
- // Attach contextmenu event
46
- if (tinyMCE.isGecko) {
47
- tinyMCE.addEvent(inst.getDoc(), "contextmenu", function(e) {TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? inst.contentWindow.event : e, inst);});
48
- } else
49
- tinyMCE.addEvent(inst.getDoc(), "contextmenu", TinyMCE_ContextMenuPlugin._onContextMenu);
50
- },
51
-
52
- // Private plugin internal methods
53
-
54
- _onContextMenu : function(e) {
55
- var elm = tinyMCE.isMSIE ? e.srcElement : e.target;
56
- var targetInst, body;
57
-
58
- // Find instance
59
- if ((body = tinyMCE.getParentElement(elm, "body")) != null) {
60
- for (var n in tinyMCE.instances) {
61
- var inst = tinyMCE.instances[n];
62
- if (!tinyMCE.isInstance(inst))
63
- continue;
64
-
65
- if (body == inst.getBody()) {
66
- targetInst = inst;
67
- break;
68
- }
69
- }
70
-
71
- return TinyMCE_ContextMenuPlugin._showContextMenu(tinyMCE.isMSIE ? targetInst.contentWindow.event : e, targetInst);
72
- }
73
- },
74
-
75
- _showContextMenu : function(e, inst) {
76
- if (e.ctrlKey)
77
- return true;
78
-
79
- function getAttrib(elm, name) {
80
- return elm.getAttribute(name) ? elm.getAttribute(name) : "";
81
- }
82
-
83
- var x, y, elm, contextMenu;
84
- var pos = tinyMCE.getAbsPosition(inst.iframeElement);
85
-
86
- x = tinyMCE.isMSIE ? e.screenX : pos.absLeft + (e.pageX - inst.getBody().scrollLeft);
87
- y = tinyMCE.isMSIE ? e.screenY : pos.absTop + (e.pageY - inst.getBody().scrollTop);
88
- elm = tinyMCE.isMSIE ? e.srcElement : e.target;
89
-
90
- contextMenu = this._contextMenu;
91
- contextMenu.inst = inst;
92
-
93
- // Mozilla needs some time
94
- window.setTimeout(function () {
95
- var theme = tinyMCE.getParam("theme");
96
-
97
- contextMenu.clearAll();
98
- var sel = inst.selection.getSelectedText().length != 0 || elm.nodeName == "IMG";
99
-
100
- // Default items
101
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_cut_desc", "Cut", "", !sel);
102
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_copy_desc", "Copy", "", !sel);
103
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_paste_desc", "Paste", "", false);
104
-
105
- if (sel || (elm ? (elm.nodeName == 'A' && tinyMCE.getAttrib(elm, 'name') == '') || (elm.nodeName == 'IMG') : false)) {
106
- contextMenu.addSeparator();
107
- contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/link.gif", "$lang_link_desc", inst.hasPlugin("advlink") ? "mceAdvLink" : "mceLink");
108
- contextMenu.addItem(tinyMCE.baseURL + "/themes/advanced/images/unlink.gif", "$lang_unlink_desc", "unlink", "", (elm ? (elm.nodeName != 'A') && (elm.nodeName != 'IMG') : true));
109
- }
110
-
111
- // Get element
112
- elm = tinyMCE.getParentElement(elm, "img,table,td" + (inst.hasPlugin("advhr") ? ',hr' : ''));
113
- if (elm) {
114
- switch (elm.nodeName) {
115
- case "IMG":
116
- contextMenu.addSeparator();
117
-
118
- // If flash
119
- if (tinyMCE.hasPlugin('flash') && tinyMCE.getAttrib(elm, 'class').indexOf('mceItemFlash') != -1)
120
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/flash/images/flash.gif", "$lang_flash_props", "mceFlash");
121
- else if (tinyMCE.hasPlugin('media') && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(elm, 'class')))
122
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/flash/images/flash.gif", "$lang_media_title", "mceMedia");
123
- else
124
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/image.gif", "$lang_image_props_desc", inst.hasPlugin("advimage") ? "mceAdvImage" : "mceImage");
125
- break;
126
-
127
- case "HR":
128
- contextMenu.addSeparator();
129
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/advhr/images/advhr.gif", "$lang_insert_advhr_desc", "mceAdvancedHr");
130
- break;
131
-
132
- case "TABLE":
133
- case "TD":
134
- // Is table plugin loaded
135
- if (inst.hasPlugin("table")) {
136
- var colspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "colspan");
137
- var rowspan = (elm.nodeName == "TABLE") ? "" : getAttrib(elm, "rowspan");
138
-
139
- colspan = colspan == "" ? "1" : colspan;
140
- rowspan = rowspan == "" ? "1" : rowspan;
141
-
142
- contextMenu.addSeparator();
143
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/cut.gif", "$lang_table_cut_row_desc", "mceTableCutRow");
144
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/copy.gif", "$lang_table_copy_row_desc", "mceTableCopyRow");
145
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_before_desc", "mceTablePasteRowBefore", "", inst.tableRowClipboard == null);
146
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/paste.gif", "$lang_table_paste_row_after_desc", "mceTablePasteRowAfter", "", inst.tableRowClipboard == null);
147
-
148
- /* contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyleft.gif", "$lang_justifyleft_desc", "JustifyLeft", "", false);
149
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifycenter.gif", "$lang_justifycenter_desc", "JustifyCenter", "", false);
150
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyright.gif", "$lang_justifyright_desc", "JustifyRight", "", false);
151
- contextMenu.addItem(tinyMCE.baseURL + "/themes/" + theme + "/images/justifyfull.gif", "$lang_justifyfull_desc", "JustifyFull", "", false);*/
152
- contextMenu.addSeparator();
153
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
154
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table.gif", "$lang_table_props_desc", "mceInsertTable");
155
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_cell_props.gif", "$lang_table_cell_desc", "mceTableCellProps");
156
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_delete.gif", "$lang_table_del", "mceTableDelete");
157
- contextMenu.addSeparator();
158
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_row_props.gif", "$lang_table_row_desc", "mceTableRowProps");
159
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_insert_row_before.gif", "$lang_table_row_before_desc", "mceTableInsertRowBefore");
160
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_insert_row_after.gif", "$lang_table_row_after_desc", "mceTableInsertRowAfter");
161
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_delete_row.gif", "$lang_table_delete_row_desc", "mceTableDeleteRow");
162
- contextMenu.addSeparator();
163
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_insert_col_before.gif", "$lang_table_col_before_desc", "mceTableInsertColBefore");
164
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_insert_col_after.gif", "$lang_table_col_after_desc", "mceTableInsertColAfter");
165
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_delete_col.gif", "$lang_table_delete_col_desc", "mceTableDeleteCol");
166
- contextMenu.addSeparator();
167
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_split_cells.gif", "$lang_table_split_cells_desc", "mceTableSplitCells", "", (colspan == "1" && rowspan == "1"));
168
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table_merge_cells.gif", "$lang_table_merge_cells_desc", "mceTableMergeCells", "", false);
169
- }
170
- break;
171
- }
172
- } else {
173
- // Add table specific
174
- if (inst.hasPlugin("table")) {
175
- contextMenu.addSeparator();
176
- contextMenu.addItem(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/table/images/table.gif", "$lang_table_desc", "mceInsertTable", "insert");
177
- }
178
- }
179
-
180
- contextMenu.show(x, y);
181
- }, 10);
182
-
183
- // Cancel default handeling
184
- tinyMCE.cancelEvent(e);
185
- return false;
186
- },
187
-
188
- _hideContextMenu : function() {
189
- if (TinyMCE_ContextMenuPlugin._contextMenu)
190
- TinyMCE_ContextMenuPlugin._contextMenu.hide();
191
- },
192
-
193
- _commandHandler : function(command, value) {
194
- var cm = TinyMCE_ContextMenuPlugin._contextMenu;
195
-
196
- cm.hide();
197
-
198
- // UI must be true on these
199
- var ui = false;
200
- if (command == "mceInsertTable" || command == "mceTableCellProps" || command == "mceTableRowProps" || command == "mceTableMergeCells")
201
- ui = true;
202
-
203
- if (command == "Paste")
204
- value = null;
205
-
206
- if (tinyMCE.getParam("dialog_type") == "modal" && tinyMCE.isMSIE) {
207
- // Cell properties will generate access denied error is this isn't done?!
208
- window.setTimeout(function() {
209
- cm.inst.execCommand(command, ui, value);
210
- }, 100);
211
- } else
212
- cm.inst.execCommand(command, ui, value);
213
- }
214
- };
215
-
216
- tinyMCE.addPlugin("contextmenu", TinyMCE_ContextMenuPlugin);
217
-
218
- // Context menu class
219
-
220
- function TinyMCE_ContextMenu(settings) {
221
- var doc, self = this;
222
-
223
- // Default value function
224
- function defParam(key, def_val) {
225
- settings[key] = typeof(settings[key]) != "undefined" ? settings[key] : def_val;
226
- }
227
-
228
- this.isMSIE = (navigator.appName == "Microsoft Internet Explorer");
229
-
230
- // Setup contextmenu div
231
- this.contextMenuDiv = document.createElement("div");
232
- this.contextMenuDiv.className = "contextMenu";
233
- this.contextMenuDiv.setAttribute("class", "contextMenu");
234
- this.contextMenuDiv.style.display = "none";
235
- this.contextMenuDiv.style.position = 'absolute';
236
- this.contextMenuDiv.style.zindex = 1000;
237
- this.contextMenuDiv.style.left = '0';
238
- this.contextMenuDiv.style.top = '0';
239
- this.contextMenuDiv.unselectable = "on";
240
-
241
- document.body.appendChild(this.contextMenuDiv);
242
-
243
- // Setup default values
244
- defParam("commandhandler", "");
245
- defParam("spacer_image", "images/spacer.gif");
246
-
247
- this.items = new Array();
248
- this.settings = settings;
249
- this.html = "";
250
-
251
- // IE Popup
252
- if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
253
- this.pop = window.createPopup();
254
- doc = this.pop.document;
255
- doc.open();
256
- doc.write('<html><head><link href="' + tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/contextmenu/css/contextmenu.css" rel="stylesheet" type="text/css" /></head><body unselectable="yes" class="contextMenuIEPopup"></body></html>');
257
- doc.close();
258
- }
259
- };
260
-
261
- TinyMCE_ContextMenu.prototype = {
262
- clearAll : function() {
263
- this.html = "";
264
- this.contextMenuDiv.innerHTML = "";
265
- },
266
-
267
- addSeparator : function() {
268
- this.html += '<tr class="contextMenuItem"><td class="contextMenuIcon"><img src="' + this.settings['spacer_image'] + '" width="20" height="1" class="contextMenuImage" /></td><td><img class="contextMenuSeparator" width="1" height="1" src="' + this.settings['spacer_image'] + '" /></td></tr>';
269
- },
270
-
271
- addItem : function(icon, title, command, value, disabled) {
272
- if (title.charAt(0) == '$')
273
- title = tinyMCE.getLang(title.substring(1));
274
-
275
- var onMouseDown = '';
276
- var html = '';
277
-
278
- if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0)
279
- onMouseDown = 'contextMenu.execCommand(\'' + command + '\', \'' + value + '\');return false;';
280
- else
281
- onMouseDown = this.settings['commandhandler'] + '(\'' + command + '\', \'' + value + '\');return false;';
282
-
283
- if (icon == "")
284
- icon = this.settings['spacer_image'];
285
-
286
- if (!disabled)
287
- html += '<tr class="contextMenuItem">';
288
- else
289
- html += '<tr class="contextMenuItemDisabled">';
290
-
291
- html += '<td class="contextMenuIcon"><img src="' + icon + '" width="20" height="20" class="contextMenuImage" /></td>';
292
- html += '<td><div class="contextMenuText">';
293
- html += '<a href="javascript:void(0);" onclick="' + onMouseDown + '" onmousedown="return false;">&#160;';
294
-
295
- // Add text
296
- html += title;
297
-
298
- html += '&#160;</a>';
299
- html += '</div></td>';
300
- html += '</tr>';
301
-
302
- // Add to main
303
- this.html += html;
304
- },
305
-
306
- show : function(x, y) {
307
- var vp, width, height, yo;
308
-
309
- if (this.html == "")
310
- return;
311
-
312
- var html = '';
313
-
314
- html += '<a href="#"></a><table border="0" cellpadding="0" cellspacing="0">';
315
- html += this.html;
316
- html += '</table>';
317
-
318
- this.contextMenuDiv.innerHTML = html;
319
-
320
- // Get dimensions
321
- this.contextMenuDiv.style.display = "block";
322
- width = this.contextMenuDiv.offsetWidth;
323
- height = this.contextMenuDiv.offsetHeight;
324
- this.contextMenuDiv.style.display = "none";
325
-
326
- if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera) {
327
- // Setup popup and show
328
- this.pop.document.body.innerHTML = '<div class="contextMenu">' + html + "</div>";
329
- this.pop.document.tinyMCE = tinyMCE;
330
- this.pop.document.contextMenu = this;
331
- this.pop.show(x, y, width, height);
332
- } else {
333
- vp = this.getViewPort();
334
- yo = tinyMCE.isMSIE5_0 ? document.body.scrollTop : self.pageYOffset;
335
- this.contextMenuDiv.style.left = (x > vp.left + vp.width - width ? vp.left + vp.width - width : x) + 'px';
336
- this.contextMenuDiv.style.top = (y > vp.top + vp.height - height ? vp.top + vp.height - height : y) + 'px';
337
- this.contextMenuDiv.style.display = "block";
338
- }
339
- },
340
-
341
- getViewPort : function() {
342
- return {
343
- left : self.pageXOffset || self.document.documentElement.scrollLeft || self.document.body.scrollLeft,
344
- top: self.pageYOffset || self.document.documentElement.scrollTop || self.document.body.scrollTop,
345
- width : document.documentElement.offsetWidth || document.body.offsetWidth,
346
- height : self.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
347
- };
348
- },
349
-
350
- hide : function() {
351
- if (tinyMCE.isMSIE && !tinyMCE.isMSIE5_0 && !tinyMCE.isOpera)
352
- this.pop.hide();
353
- else
354
- this.contextMenuDiv.style.display = "none";
355
- },
356
-
357
- execCommand : function(command, value) {
358
- eval(this.settings['commandhandler'] + "(command, value);");
359
- }
360
- };
1
+ (function(){var Event=tinymce.dom.Event,each=tinymce.each,DOM=tinymce.DOM;tinymce.create('tinymce.plugins.ContextMenu',{init:function(ed){var t=this;t.editor=ed;t.onContextMenu=new tinymce.util.Dispatcher(this);ed.onContextMenu.add(function(ed,e){if(!e.ctrlKey){t._getMenu(ed).showMenu(e.clientX,e.clientY);Event.cancel(e);}});function hide(){if(t._menu){t._menu.removeAll();t._menu.destroy();}};ed.onMouseDown.add(hide);ed.onKeyDown.add(hide);Event.add(document,'click',hide);},getInfo:function(){return{longname:'Contextmenu',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/contextmenu',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_getMenu:function(ed){var t=this,m=t._menu,se=ed.selection,col=se.isCollapsed(),el=se.getNode()||ed.getBody(),am,p1,p2;if(m){m.removeAll();m.destroy();}p1=DOM.getPos(ed.getContentAreaContainer());p2=DOM.getPos(ed.getContainer());m=ed.controlManager.createDropMenu('contextmenu',{offset_x:p1.x,offset_y:p1.y,constrain:1});t._menu=m;m.add({title:'advanced.cut_desc',icon:'cut',cmd:'Cut'}).setDisabled(col);m.add({title:'advanced.copy_desc',icon:'copy',cmd:'Copy'}).setDisabled(col);m.add({title:'advanced.paste_desc',icon:'paste',cmd:'Paste'});if((el.nodeName=='A'&&!ed.dom.getAttrib(el,'name'))||!col){m.addSeparator();m.add({title:'advanced.link_desc',icon:'link',cmd:ed.plugins.advlink?'mceAdvLink':'mceLink',ui:true});m.add({title:'advanced.unlink_desc',icon:'unlink',cmd:'UnLink'});}m.addSeparator();m.add({title:'advanced.image_desc',icon:'image',cmd:ed.plugins.advimage?'mceAdvImage':'mceImage',ui:true});m.addSeparator();am=m.addMenu({title:'contextmenu.align'});am.add({title:'contextmenu.left',icon:'justifyleft',cmd:'JustifyLeft'});am.add({title:'contextmenu.center',icon:'justifycenter',cmd:'JustifyCenter'});am.add({title:'contextmenu.right',icon:'justifyright',cmd:'JustifyRight'});am.add({title:'contextmenu.full',icon:'justifyfull',cmd:'JustifyFull'});t.onContextMenu.dispatch(t,m,el,col);return m;}});tinymce.PluginManager.add('contextmenu',tinymce.plugins.ContextMenu);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/contextmenu/images/spacer.gif DELETED
Binary file
mce/contextmenu/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/emotions/editor_plugin.js CHANGED
@@ -1,71 +1,40 @@
1
  /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
  *
4
  * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- *
7
- * Modified to use the build-in smilies in WordPress.
8
  */
9
 
10
- // UK lang variables
11
- tadvmce = realTinyMCE;
12
- tadvmce.addToLang('emotions',{
13
- title : ':-)'
14
- });
15
-
16
- /* Import plugin specific language pack */
17
- tinyMCE.importPluginLanguagePack('emotions');
18
-
19
- // Plugin static class
20
- var TinyMCE_EmotionsPlugin = {
21
- getInfo : function() {
22
- return {
23
- longname : 'Emotions',
24
- author : 'Moxiecode Systems AB',
25
- authorurl : 'http://tinymce.moxiecode.com',
26
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',
27
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
28
- };
29
- },
30
-
31
- /**
32
- * Returns the HTML contents of the emotions control.
33
- */
34
- getControlHTML : function(cn) {
35
- switch (cn) {
36
- case "emotions":
37
- return tinyMCE.getButtonHTML(cn, 'lang_emotions_desc', '{$pluginurl}/images/emotions.gif', 'mceEmotion');
38
  }
 
39
 
40
- return "";
41
- },
42
-
43
- /**
44
- * Executes the mceEmotion command.
45
- */
46
- execCommand : function(editor_id, element, command, user_interface, value) {
47
- // Handle commands
48
- switch (command) {
49
- case "mceEmotion":
50
- var template = new Array();
51
-
52
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/emotions/emotions.htm'; // Relative to theme
53
- template['width'] = 230;
54
- template['height'] = 140;
55
-
56
- // Language specific width and height addons
57
- template['width'] += tinyMCE.getLang('lang_emotions_delta_width', 0);
58
- template['height'] += tinyMCE.getLang('lang_emotions_delta_height', 0);
59
-
60
- tinyMCE.openWindow(template, {editor_id : editor_id, inline : "yes"});
61
-
62
- return true;
63
- }
64
-
65
- // Pass to next handler in chain
66
- return false;
67
- }
68
- };
69
-
70
- // Register plugin
71
- tinyMCE.addPlugin('emotions', TinyMCE_EmotionsPlugin);
1
  /**
2
+ * $Id: editor_plugin_src.js 520 2008-01-07 16:30:32Z spocke $
3
  *
4
  * @author Moxiecode
5
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
 
 
6
  */
7
 
8
+ (function() {
9
+ tinymce.create('tinymce.plugins.EmotionsPlugin', {
10
+ init : function(ed, url) {
11
+ // Register commands
12
+ ed.addCommand('mceEmotion', function() {
13
+ ed.windowManager.open({
14
+ file : url + '/emotions.htm',
15
+ width : 250 + parseInt(ed.getLang('emotions.delta_width', 0)),
16
+ height : 160 + parseInt(ed.getLang('emotions.delta_height', 0)),
17
+ inline : 1
18
+ }, {
19
+ plugin_url : url
20
+ });
21
+ });
22
+
23
+ // Register buttons
24
+ ed.addButton('emotions', {title : 'emotions.emotions_desc', cmd : 'mceEmotion'});
25
+ },
26
+
27
+ getInfo : function() {
28
+ return {
29
+ longname : 'Emotions',
30
+ author : 'Moxiecode Systems AB',
31
+ authorurl : 'http://tinymce.moxiecode.com',
32
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/emotions',
33
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
34
+ };
 
35
  }
36
+ });
37
 
38
+ // Register plugin
39
+ tinymce.PluginManager.add('emotions', tinymce.plugins.EmotionsPlugin);
40
+ })();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/emotions/emotions.htm CHANGED
@@ -1,77 +1,89 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_emotions_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
 
 
 
 
 
5
 
6
- <script language="javascript" type="text/javascript" src="jscripts/functions.js"></script>
7
- <style type="text/css">
 
 
 
 
 
 
8
  table#emotions {border:0;}
9
  #emotions img {border:0;margin:4px;}
10
- </style>
11
- <base target="_self" />
12
  </head>
13
- <body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
14
  <div align="center">
15
- <div class="title">{$lang_emotions_title}:<br /><br /></div>
16
 
17
  <table id="emotions">
18
  <tr>
19
- <td><a href="javascript:insertEmotion(' 8-) ');">
20
  <img src="../../../../../wp-includes/images/smilies/icon_cool.gif" width="15" height="15" alt="8-)" title="8-)" /></a></td>
21
 
22
- <td><a href="javascript:insertEmotion(' :cry: ');">
23
  <img src="../../../../../wp-includes/images/smilies/icon_cry.gif" width="15" height="15" alt=":cry:" title=":cry:" /></a></td>
24
 
25
- <td><a href="javascript:insertEmotion(' :oops: ');">
26
  <img src="../../../../../wp-includes/images/smilies/icon_redface.gif" width="15" height="15" alt=":oops:" title=":oops:" /></a></td>
27
 
28
- <td><a href="javascript:insertEmotion(' :mrgreen: ');">
29
  <img src="../../../../../wp-includes/images/smilies/icon_mrgreen.gif" width="15" height="15" alt=":mrgreen:" title=":mrgreen:" /></a></td>
30
 
31
- <td><a href="javascript:insertEmotion(' :-( ');">
32
  <img src="../../../../../wp-includes/images/smilies/icon_sad.gif" width="15" height="15" alt=":-(" title=":-(" /></a></td>
33
 
34
- <td><a href="javascript:insertEmotion(' :twisted: ');">
35
  <img src="../../../../../wp-includes/images/smilies/icon_twisted.gif" width="15" height="15" alt=":twisted:" title=":twisted:" /></a></td>
36
  </tr>
37
 
38
  <tr>
39
- <td><a href="javascript:insertEmotion(' :evil: ');">
40
  <img src="../../../../../wp-includes/images/smilies/icon_evil.gif" width="15" height="15" alt=":evil:" title=":evil:" /></a></td>
41
 
42
- <td><a href="javascript:insertEmotion(' :lol: ');">
43
  <img src="../../../../../wp-includes/images/smilies/icon_lol.gif" width="15" height="15" alt=":lol:" title=":lol:" /></a></td>
44
 
45
- <td><a href="javascript:insertEmotion(' :roll: ');">
46
  <img src="../../../../../wp-includes/images/smilies/icon_rolleyes.gif" width="15" height="15" alt=":roll:" title=":roll:" /></a></td>
47
 
48
- <td><a href="javascript:insertEmotion(' :-? ');">
49
  <img src="../../../../../wp-includes/images/smilies/icon_confused.gif" width="15" height="15" alt=":-?" title=":-?" /></a></td>
50
 
51
- <td><a href="javascript:insertEmotion(' :-) ');">
52
  <img src="../../../../../wp-includes/images/smilies/icon_smile.gif" width="15" height="15" alt=":-)" title=":-)" /></a></td>
53
 
54
- <td><a href="javascript:insertEmotion(' :-o ');">
55
  <img src="../../../../../wp-includes/images/smilies/icon_surprised.gif" width="15" height="15" alt=":-o" title=":-o" /></a></td>
56
  </tr>
57
 
58
  <tr>
59
- <td><a href="javascript:insertEmotion(' :-P ');">
60
  <img src="../../../../../wp-includes/images/smilies/icon_razz.gif" width="15" height="15" alt=":-P" title=":-P" /></a></td>
61
 
62
- <td><a href="javascript:insertEmotion(' :-| ');">
63
  <img src="../../../../../wp-includes/images/smilies/icon_neutral.gif" width="15" height="15" alt=":-|" title=":-|" /></a></td>
64
 
65
- <td><a href="javascript:insertEmotion(' ;-) ');">
66
  <img src="../../../../../wp-includes/images/smilies/icon_wink.gif" width="15" height="15" alt=";-)" title=";-)" /></a></td>
67
 
68
- <td><a href="javascript:insertEmotion(' :-x ');">
69
  <img src="../../../../../wp-includes/images/smilies/icon_mad.gif" width="15" height="15" alt=":-x" title=":-x" /></a></td>
70
 
71
- <td><a href="javascript:insertEmotion(' 8-O ');">
72
  <img src="../../../../../wp-includes/images/smilies/icon_eek.gif" width="15" height="15" alt="8-O" title="8-O" /></a></td>
73
 
74
- <td><a href="javascript:insertEmotion(' :-D ');">
75
  <img src="../../../../../wp-includes/images/smilies/icon_biggrin.gif" width="15" height="15" alt=":-D" title=":-D" /></a></td>
76
  </tr>
77
  </table>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#emotions.emotions_desc}</title>
5
+ <script type="text/javascript" type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" type="text/javascript">
7
+ var EmotionsDialog = {
8
+ init : function(ed) {
9
+ tinyMCEPopup.resizeToInnerSize();
10
+ },
11
 
12
+ insert : function insertEmotion(code) {
13
+ tinyMCEPopup.execCommand('mceInsertContent', false, code);
14
+ tinyMCEPopup.close();
15
+ }
16
+ };
17
+ tinyMCEPopup.onInit.add(EmotionsDialog.init, EmotionsDialog);
18
+ </script>
19
+ <style type="text/css">
20
  table#emotions {border:0;}
21
  #emotions img {border:0;margin:4px;}
22
+ </style>
23
+ <base target="_self" />
24
  </head>
25
+ <body style="display: none">
26
  <div align="center">
27
+ <div class="title">{#emotions.emotions_desc}:<br /><br /></div>
28
 
29
  <table id="emotions">
30
  <tr>
31
+ <td><a href="javascript:EmotionsDialog.insert(' 8-) ');">
32
  <img src="../../../../../wp-includes/images/smilies/icon_cool.gif" width="15" height="15" alt="8-)" title="8-)" /></a></td>
33
 
34
+ <td><a href="javascript:EmotionsDialog.insert(' :cry: ');">
35
  <img src="../../../../../wp-includes/images/smilies/icon_cry.gif" width="15" height="15" alt=":cry:" title=":cry:" /></a></td>
36
 
37
+ <td><a href="javascript:EmotionsDialog.insert(' :oops: ');">
38
  <img src="../../../../../wp-includes/images/smilies/icon_redface.gif" width="15" height="15" alt=":oops:" title=":oops:" /></a></td>
39
 
40
+ <td><a href="javascript:EmotionsDialog.insert(' :mrgreen: ');">
41
  <img src="../../../../../wp-includes/images/smilies/icon_mrgreen.gif" width="15" height="15" alt=":mrgreen:" title=":mrgreen:" /></a></td>
42
 
43
+ <td><a href="javascript:EmotionsDialog.insert(' :-( ');">
44
  <img src="../../../../../wp-includes/images/smilies/icon_sad.gif" width="15" height="15" alt=":-(" title=":-(" /></a></td>
45
 
46
+ <td><a href="javascript:EmotionsDialog.insert(' :twisted: ');">
47
  <img src="../../../../../wp-includes/images/smilies/icon_twisted.gif" width="15" height="15" alt=":twisted:" title=":twisted:" /></a></td>
48
  </tr>
49
 
50
  <tr>
51
+ <td><a href="javascript:EmotionsDialog.insert(' :evil: ');">
52
  <img src="../../../../../wp-includes/images/smilies/icon_evil.gif" width="15" height="15" alt=":evil:" title=":evil:" /></a></td>
53
 
54
+ <td><a href="javascript:EmotionsDialog.insert(' :lol: ');">
55
  <img src="../../../../../wp-includes/images/smilies/icon_lol.gif" width="15" height="15" alt=":lol:" title=":lol:" /></a></td>
56
 
57
+ <td><a href="javascript:EmotionsDialog.insert(' :roll: ');">
58
  <img src="../../../../../wp-includes/images/smilies/icon_rolleyes.gif" width="15" height="15" alt=":roll:" title=":roll:" /></a></td>
59
 
60
+ <td><a href="javascript:EmotionsDialog.insert(' :-? ');">
61
  <img src="../../../../../wp-includes/images/smilies/icon_confused.gif" width="15" height="15" alt=":-?" title=":-?" /></a></td>
62
 
63
+ <td><a href="javascript:EmotionsDialog.insert(' :-) ');">
64
  <img src="../../../../../wp-includes/images/smilies/icon_smile.gif" width="15" height="15" alt=":-)" title=":-)" /></a></td>
65
 
66
+ <td><a href="javascript:EmotionsDialog.insert(' :-o ');">
67
  <img src="../../../../../wp-includes/images/smilies/icon_surprised.gif" width="15" height="15" alt=":-o" title=":-o" /></a></td>
68
  </tr>
69
 
70
  <tr>
71
+ <td><a href="javascript:EmotionsDialog.insert(' :-P ');">
72
  <img src="../../../../../wp-includes/images/smilies/icon_razz.gif" width="15" height="15" alt=":-P" title=":-P" /></a></td>
73
 
74
+ <td><a href="javascript:EmotionsDialog.insert(' :-| ');">
75
  <img src="../../../../../wp-includes/images/smilies/icon_neutral.gif" width="15" height="15" alt=":-|" title=":-|" /></a></td>
76
 
77
+ <td><a href="javascript:EmotionsDialog.insert(' ;-) ');">
78
  <img src="../../../../../wp-includes/images/smilies/icon_wink.gif" width="15" height="15" alt=";-)" title=";-)" /></a></td>
79
 
80
+ <td><a href="javascript:EmotionsDialog.insert(' :-x ');">
81
  <img src="../../../../../wp-includes/images/smilies/icon_mad.gif" width="15" height="15" alt=":-x" title=":-x" /></a></td>
82
 
83
+ <td><a href="javascript:EmotionsDialog.insert(' 8-O ');">
84
  <img src="../../../../../wp-includes/images/smilies/icon_eek.gif" width="15" height="15" alt="8-O" title="8-O" /></a></td>
85
 
86
+ <td><a href="javascript:EmotionsDialog.insert(' :-D ');">
87
  <img src="../../../../../wp-includes/images/smilies/icon_biggrin.gif" width="15" height="15" alt=":-D" title=":-D" /></a></td>
88
  </tr>
89
  </table>
mce/emotions/images/emotions.gif DELETED
Binary file
mce/emotions/jscripts/functions.js DELETED
@@ -1,11 +0,0 @@
1
- function init() {
2
- tinyMCEPopup.resizeToInnerSize();
3
- }
4
-
5
- function insertEmotion(code) {
6
-
7
- var html = ' ' + code + ' ';
8
-
9
- tinyMCE.execCommand('mceInsertContent', false, html);
10
- tinyMCEPopup.close();
11
- }
 
 
 
 
 
 
 
 
 
 
 
mce/emotions/langs/de_de.js DELETED
@@ -1,22 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('emotions',{
4
- title : 'Emotion einf&uuml;gen',
5
- desc : 'Emotions',
6
- cool : 'Cool',
7
- cry : 'Weinen',
8
- embarassed : 'Besch&auml;mt',
9
- foot_in_mouth : 'Fettn&auml;pfchen',
10
- frown : 'Missbilligen',
11
- innocent : 'Unschuldig',
12
- kiss : 'Kuss',
13
- laughing : 'Lachanfall',
14
- money_mouth : 'Geld im Kopf',
15
- sealed : 'Besiegelt',
16
- smile : 'L&auml;cheln',
17
- surprised : '&Uuml;berrascht',
18
- tongue_out : 'Zunge ausstrecken',
19
- undecided : 'Unentschieden',
20
- wink : 'Winken',
21
- yell : 'Schreien'
22
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/emotions/langs/en.js DELETED
@@ -1,24 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('emotions',{
4
- title : 'Insert smiley',
5
- desc : 'Emotions',
6
- cool : 'Cool',
7
- cry : 'Cry',
8
- embarassed : 'Embarassed',
9
- mrgreen : 'Mr Green',
10
- sad : 'Sad',
11
- twisted : 'Twisted',
12
- evil : 'Evil',
13
- lol : 'LOL',
14
- roll : 'Rolleyes',
15
- confused : 'Confused',
16
- smile : 'Smile',
17
- surprised : 'Surprised',
18
- tongue_out : 'Tongue out',
19
- undecided : 'Undecided',
20
- wink : 'Wink',
21
- mad : 'Mad',
22
- eek : 'Eeeek',
23
- biggrin : 'Big grin'
24
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/emotions/langs/es_es.js DELETED
@@ -1,31 +0,0 @@
1
- /**
2
- * ES lang variables
3
- *
4
- * Authors : Alvaro Velasco,
5
- * Adolfo Sanz De Diego (asanzdiego) <asanzdiego@yahoo.es>,
6
- * Carlos C Soto (eclipxe) <csoto@sia-solutions.com>
7
- * Eneko Castresana Vara
8
- * Last Updated : July 14, 2006
9
- * TinyMCE Version : 2.0.6.1
10
- */
11
-
12
- tinyMCE.addToLang('emotions',{
13
- title : 'Intertar emoticono',
14
- desc : 'Emoticonos',
15
- cool : 'Chulo',
16
- cry : 'Llorando',
17
- embarassed : 'Avergonzado',
18
- foot_in_mouth : 'Sin palabras',
19
- frown : 'Triste',
20
- innocent : 'Inocente',
21
- kiss : 'Beso',
22
- laughing : 'Riendo',
23
- money_mouth : 'Forrado',
24
- sealed : 'Boca sellada',
25
- smile : 'Sonriente',
26
- surprised : 'Sorprendido',
27
- tongue_out : 'Burla',
28
- undecided : 'Indeciso',
29
- wink : 'Gui&ntilde;o',
30
- yell : 'Enfadado'
31
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/emotions/langs/fr_fr.js DELETED
@@ -1,23 +0,0 @@
1
- // FR lang variables
2
- // Modified by keyko-web.net, last updated 2007-03-08, based on the work of Motte
3
-
4
- tinyMCE.addToLang('emotions',{
5
- title : 'Choisir une &eacute;motic&ocirc;ne',
6
- desc : 'Ins&eacute;rer une &eacute;motic&ocirc;ne',
7
- cool : 'Cool',
8
- cry : 'Triste',
9
- embarassed : 'Embarrass&eacute;',
10
- foot_in_mouth : 'Oups !',
11
- frown : 'M&eacute;content',
12
- innocent : 'Innocent',
13
- kiss : 'Bisou',
14
- laughing : 'Mort de rire',
15
- money_mouth : 'Sensur&eacute;',
16
- sealed : 'Motus',
17
- smile : 'Sourire',
18
- surprised : 'Surprise',
19
- tongue_out : 'Moqueur',
20
- undecided : 'Perplexe',
21
- wink : 'Clin d\'oeil',
22
- yell : 'Horreur !'
23
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/emotions/langs/it_it.js DELETED
@@ -1,28 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('emotions',{
10
- title : 'Inserisci emoticon',
11
- desc : 'Emoticons',
12
- cool : 'Fico',
13
- cry : 'Pianto',
14
- embarassed : 'Imbarazzo',
15
- foot_in_mouth : 'Calcio in faccia',
16
- frown : 'Tristezza',
17
- innocent : 'Innocenza',
18
- kiss : 'Bacio',
19
- laughing : 'Risata',
20
- money_mouth : 'Soldi',
21
- sealed : 'Bocca chiusa',
22
- smile : 'Sorriso',
23
- surprised : 'Sorpresa',
24
- tongue_out : 'Linguaccia',
25
- undecided : 'Indecisione',
26
- wink : 'Occhiolino',
27
- yell : 'Urlo'
28
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/emotions/langs/pt_br.js DELETED
@@ -1,30 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 26, 2005 - TinyMCE Version : 2.0RC4
9
- * Last Updated : November 20, 2006 - TinyMCE Version : 2.0.8
10
- */
11
- tinyMCE.addToLang('emotions',{
12
- title : 'Inserir emoticons',
13
- desc : 'Emoticons',
14
- cool : 'Legal',
15
- cry : 'Chorando',
16
- embarassed : 'Embara�ado',
17
- foot_in_mouth : 'Falando asneira',
18
- frown : 'Triste',
19
- innocent : 'Inocente',
20
- kiss : 'Beijo',
21
- laughing : 'Rindo',
22
- money_mouth : 'Interesseiro',
23
- sealed : 'L�bios fechados',
24
- smile : 'Sorriso',
25
- surprised : 'Surpreso',
26
- tongue_out : 'Mostrar a l�ngua',
27
- undecided : 'Indeciso',
28
- wink : 'Piscar',
29
- yell : 'Grito'
30
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/emotions/langs/ru_ru.js DELETED
@@ -1,22 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('emotions',{
4
- title : 'Вставить смайлик',
5
- desc : 'Смайлики',
6
- cool : 'Круто',
7
- cry : 'Плач',
8
- embarassed : 'Смущенный',
9
- foot_in_mouth : 'Косноязычный',
10
- frown : 'Нахмуренный',
11
- innocent : 'Святой',
12
- kiss : 'Поцелуй',
13
- laughing : 'Смех',
14
- money_mouth : 'Дельный',
15
- sealed : 'Заклеенный',
16
- smile : 'Улыбка',
17
- surprised : 'Сюрприз',
18
- tongue_out : 'Высунутый язык',
19
- undecided : 'Нерешительный',
20
- wink : 'Подмигнуть',
21
- yell : 'Вопль'
22
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/emotions/langs/zh_cn.js DELETED
@@ -1,23 +0,0 @@
1
- // Simplified Chinese lang variables contributed by TinyMCE_China_Team ( tinymce_china {AT} yahoogroups {DOT} com ).
2
- // visit our homepage at: http://www.cube316.net/tinymce/ for more information.
3
-
4
- tinyMCE.addToLang('emotions',{
5
- title : '�������',
6
- desc : '����',
7
- cool : '��',
8
- cry : '��',
9
- embarassed : '����',
10
- foot_in_mouth : 'Foot in mouth',
11
- frown : '��ü',
12
- innocent : '�޹�',
13
- kiss : '����',
14
- laughing : '��Ц',
15
- money_mouth : 'Money mouth',
16
- sealed : '����',
17
- smile : '΢Ц',
18
- surprised : '����',
19
- tongue_out : '����',
20
- undecided : '��ԥ',
21
- wink : 'գ��',
22
- yell : '���'
23
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/emotions/readme.txt DELETED
@@ -1,2 +0,0 @@
1
- Modified to use the build-in smilies in WordPress.
2
- Check the TinyMCE documentation for details on this plugin.
 
 
mce/fullscreen/css/page.css DELETED
@@ -1,21 +0,0 @@
1
- /* This class restores all CSS properties to that absolute positioning of fullscreen mode is correct */
2
- .mceFullscreenPos {
3
- display: block !important;
4
- position: static !important;
5
- left: 0 !important;
6
- top: 0 !important;
7
- bottom: auto !important;
8
- right: auto !important;
9
- width: auto !important;
10
- height: auto !important;
11
- margin: 0 !important;
12
- padding: 0 !important;
13
- border: 0 !important;
14
- overflow: visible;
15
- z-index: 1 !important;
16
- clear: both;
17
- }
18
-
19
- body.mceFullscreen {
20
- overflow: hidden !important;
21
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/fullscreen/editor_plugin.js DELETED
@@ -1,236 +0,0 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('',{
11
- fullscreen_desc : 'Toggle fullscreen mode'
12
- });
13
-
14
- /* Import plugin specific language pack */
15
- tinyMCE.importPluginLanguagePack('fullscreen');
16
-
17
- var TinyMCE_FullScreenPlugin = {
18
- getInfo : function() {
19
- return {
20
- longname : 'Fullscreen',
21
- author : 'Moxiecode Systems AB',
22
- authorurl : 'http://tinymce.moxiecode.com',
23
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen',
24
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
25
- };
26
- },
27
-
28
- initInstance : function(inst) {
29
- if (!tinyMCE.settings['fullscreen_skip_plugin_css'])
30
- tinyMCE.importCSS(inst.getContainerWin().document, tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/fullscreen/css/page.css");
31
- },
32
-
33
- getControlHTML : function(cn) {
34
- switch (cn) {
35
- case "fullscreen":
36
- return tinyMCE.getButtonHTML(cn, 'lang_fullscreen_desc', '{$pluginurl}/images/fullscreen.gif', 'mceFullScreen');
37
- }
38
-
39
- return "";
40
- },
41
-
42
- execCommand : function(editor_id, element, command, user_interface, value) {
43
- var inst;
44
-
45
- // Handle commands
46
- switch (command) {
47
- case "mceFullScreen":
48
- inst = tinyMCE.getInstanceById(editor_id);
49
-
50
- if (tinyMCE.getParam('fullscreen_new_window'))
51
- this._toggleFullscreenWin(inst);
52
- else
53
- this._toggleFullscreen(inst);
54
-
55
- return true;
56
- }
57
-
58
- // Pass to next handler in chain
59
- return false;
60
- },
61
-
62
- _toggleFullscreenWin : function(inst) {
63
- if (tinyMCE.getParam('fullscreen_is_enabled')) {
64
- // In fullscreen mode
65
- window.opener.tinyMCE.execInstanceCommand(tinyMCE.getParam('fullscreen_editor_id'), 'mceSetContent', false, tinyMCE.getContent(inst.editorId));
66
- top.close();
67
- } else {
68
- tinyMCE.setWindowArg('editor_id', inst.editorId);
69
-
70
- var win = window.open(tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/fullscreen/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight);
71
- try { win.resizeTo(screen.availWidth, screen.availHeight); } catch (e) {}
72
- }
73
- },
74
-
75
- _toggleFullscreen : function(inst) {
76
- var ds = inst.getData('fullscreen'), editorContainer, tableElm, iframe, vp, cw, cd, re, w, h, si, blo, delta = 0, cell, row, fcml, bcml;
77
-
78
- cw = inst.getContainerWin();
79
- cd = cw.document;
80
- editorContainer = cd.getElementById(inst.editorId + '_parent');
81
- tableElm = editorContainer.firstChild;
82
- iframe = inst.iframeElement;
83
- re = cd.getElementById(inst.editorId + '_resize');
84
- blo = document.getElementById('mce_fullscreen_blocker');
85
- fcm = new TinyMCE_Layer(inst.editorId + '_fcMenu');
86
- fcml = new TinyMCE_Layer(inst.editorId + '_fcMenu');
87
- bcml = new TinyMCE_Layer(inst.editorId + '_bcMenu');
88
-
89
- if (fcml.exists() && fcml.isVisible()) {
90
- tinyMCE.switchClass(inst.editorId + '_forecolor', 'mceMenuButton');
91
- fcml.hide();
92
- }
93
-
94
- if (bcml.exists() && bcml.isVisible()) {
95
- tinyMCE.switchClass(inst.editorId + '_backcolor', 'mceMenuButton');
96
- bcml.hide();
97
- }
98
-
99
- if (!ds.enabled) {
100
- // Handle External Toolbar
101
- if (inst.toolbarElement) {
102
- delta += inst.toolbarElement.offsetHeight;
103
-
104
- cell = tableElm.tBodies[0].insertRow(0).insertCell(-1);
105
- cell.className = 'mceToolbarTop';
106
- cell.nowrap = true;
107
-
108
- ds.oldToolbarParent = inst.toolbarElement.parentNode;
109
- ds.toolbarHolder = document.createTextNode('...');
110
-
111
- cell.appendChild(ds.oldToolbarParent.replaceChild(ds.toolbarHolder, inst.toolbarElement));
112
- }
113
-
114
- ds.parents = [];
115
-
116
- vp = tinyMCE.getViewPort(cw);
117
- ds.scrollX = vp.left;
118
- ds.scrollY = vp.top;
119
-
120
- // Opera has a bug restoring scrollbars
121
- if (!tinyMCE.isOpera)
122
- tinyMCE.addCSSClass(cd.body, 'mceFullscreen');
123
-
124
- tinyMCE.getParentNode(tableElm.parentNode, function (n) {
125
- if (n.nodeName == 'BODY')
126
- return true;
127
-
128
- if (n.nodeType == 1)
129
- tinyMCE.addCSSClass(n, 'mceFullscreenPos');
130
-
131
- return false;
132
- });
133
-
134
- if (re)
135
- re.style.display = 'none';
136
-
137
- vp = tinyMCE.getViewPort(cw);
138
-
139
- ds.oldWidth = iframe.style.width ? iframe.style.width : iframe.offsetWidth;
140
- ds.oldHeight = iframe.style.height ? iframe.style.height : iframe.offsetHeight;
141
- ds.oldTWidth = tableElm.style.width ? tableElm.style.width : tableElm.offsetWidth;
142
- ds.oldTHeight = tableElm.style.height ? tableElm.style.height : tableElm.offsetHeight;
143
-
144
- // Handle % width
145
- if (ds.oldWidth && ds.oldWidth.indexOf)
146
- ds.oldTWidth = ds.oldWidth.indexOf('%') != -1 ? ds.oldWidth : ds.oldTWidth;
147
-
148
- if (!blo && tinyMCE.isRealIE) {
149
- blo = tinyMCE.createTag(document, 'iframe', {id : 'mce_fullscreen_blocker', src : 'about:blank', frameBorder : 0, width : vp.width, height : vp.height, style : 'display: block; position: absolute; left: 0; top: 0; z-index: 999; margin: 0; padding: 0;'});
150
- document.body.appendChild(blo);
151
- }
152
-
153
- tableElm.style.position = 'absolute';
154
- tableElm.style.zIndex = 1000;
155
- tableElm.style.left = tableElm.style.top = '0';
156
-
157
- tableElm.style.width = vp.width + 'px';
158
- tableElm.style.height = vp.height + 'px';
159
-
160
- if (tinyMCE.isRealIE) {
161
- iframe.style.width = vp.width + 'px';
162
- iframe.style.height = vp.height + 'px';
163
-
164
- // Calc new width/height based on overflow
165
- w = iframe.parentNode.clientWidth - (tableElm.offsetWidth - vp.width);
166
- h = iframe.parentNode.clientHeight - (tableElm.offsetHeight - vp.height);
167
- } else {
168
- w = iframe.parentNode.clientWidth;
169
- h = iframe.parentNode.clientHeight;
170
- }
171
-
172
- iframe.style.width = w + "px";
173
- iframe.style.height = (h+delta) + "px";
174
-
175
- tinyMCE.switchClass(inst.editorId + '_fullscreen', 'mceButtonSelected');
176
- ds.enabled = true;
177
-
178
- inst.useCSS = false;
179
- } else {
180
- // Handle External Toolbar
181
- if (inst.toolbarElement) {
182
- row = inst.toolbarElement.parentNode.parentNode;
183
-
184
- row.parentNode.removeChild(row);
185
-
186
- ds.oldToolbarParent.replaceChild(inst.toolbarElement, ds.toolbarHolder);
187
-
188
- ds.oldToolbarParent = null;
189
- ds.toolbarHolder = null;
190
- }
191
-
192
- if (blo)
193
- blo.parentNode.removeChild(blo);
194
-
195
- si = 0;
196
- tinyMCE.getParentNode(tableElm.parentNode, function (n) {
197
- if (n.nodeName == 'BODY')
198
- return true;
199
-
200
- if (n.nodeType == 1)
201
- tinyMCE.removeCSSClass(n, 'mceFullscreenPos');
202
- });
203
-
204
- if (re && tinyMCE.getParam("theme_advanced_resizing", false))
205
- re.style.display = 'block';
206
-
207
- tableElm.style.position = 'static';
208
- tableElm.style.zIndex = '';
209
- tableElm.style.width = '';
210
- tableElm.style.height = '';
211
-
212
- tableElm.style.width = ds.oldTWidth ? ds.oldTWidth : '';
213
- tableElm.style.height = ds.oldTHeight ? ds.oldTHeight : '';
214
-
215
- iframe.style.width = ds.oldWidth ? ds.oldWidth : '';
216
- iframe.style.height = ds.oldHeight ? ds.oldHeight : '';
217
-
218
- tinyMCE.switchClass(inst.editorId + '_fullscreen', 'mceButtonNormal');
219
- ds.enabled = false;
220
-
221
- tinyMCE.removeCSSClass(cd.body, 'mceFullscreen');
222
- cw.scrollTo(ds.scrollX, ds.scrollY);
223
-
224
- inst.useCSS = false;
225
- }
226
- },
227
-
228
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
229
- if (tinyMCE.getParam('fullscreen_is_enabled'))
230
- tinyMCE.switchClass(editor_id + '_fullscreen', 'mceButtonSelected');
231
-
232
- return true;
233
- }
234
- };
235
-
236
- tinyMCE.addPlugin("fullscreen", TinyMCE_FullScreenPlugin);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/fullscreen/fullscreen.htm DELETED
@@ -1,91 +0,0 @@
1
- <html xmlns="http://www.w3.org/1999/xhtml">
2
- <head>
3
- <title>{$lang_fullscreen_title}</title>
4
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce.js"></script>
6
- <script language="javascript" type="text/javascript">
7
- function patchCallback(settings, key) {
8
- if (settings[key])
9
- settings[key] = "window.opener." + settings[key];
10
- }
11
-
12
- var settings = new Array();
13
-
14
- // Clone array
15
- for (var name in window.opener.tinyMCE.settings)
16
- settings[name] = window.opener.tinyMCE.settings[name];
17
-
18
- // Override options for fullscreen
19
- for (var name in window.opener.tinyMCE.settings.fullscreen_settings)
20
- settings[name] = window.opener.tinyMCE.settings.fullscreen_settings[name];
21
-
22
- // Patch callbacks, make them point to window.opener
23
- patchCallback(settings, 'urlconverter_callback');
24
- patchCallback(settings, 'insertlink_callback');
25
- patchCallback(settings, 'insertimage_callback');
26
- patchCallback(settings, 'setupcontent_callback');
27
- patchCallback(settings, 'save_callback');
28
- patchCallback(settings, 'onchange_callback');
29
- patchCallback(settings, 'init_instance_callback');
30
- patchCallback(settings, 'file_browser_callback');
31
- patchCallback(settings, 'cleanup_callback');
32
- patchCallback(settings, 'execcommand_callback');
33
- patchCallback(settings, 'oninit');
34
-
35
- // Set options
36
- settings['mode'] = 'exact';
37
- settings['elements'] = 'fullscreenarea';
38
- settings['ask'] = false;
39
- settings['setupcontent_callback'] = 'setupContent';
40
- settings['fullscreen_is_enabled'] = true;
41
- settings['fullscreen_editor_id'] = window.opener.tinyMCE.getWindowArg("editor_id");
42
- settings['theme_advanced_resizing'] = false;
43
-
44
- // Init
45
- tinyMCE.init(settings);
46
- tinyMCE.documentBasePath = window.opener.tinyMCE.documentBasePath;
47
-
48
- function setupContent(editor_id, body, doc) {
49
- var inst = tinyMCE.getInstanceById(editor_id);
50
- var content = window.opener.tinyMCE.getContent(tinyMCE.getParam('fullscreen_editor_id'));
51
-
52
- // Setup title
53
- var divElm = document.createElement("div");
54
- divElm.innerHTML = tinyMCELang['lang_fullscreen_title'];
55
- document.title = divElm.innerHTML;
56
-
57
- // Get content
58
- inst.execCommand('mceSetContent', false, content);
59
- }
60
-
61
- function unloadHandler(e) {
62
- moveContent();
63
- }
64
-
65
- function moveContent() {
66
- var doc = tinyMCE.isMSIE ? window.frames['mce_editor_0'].window.document : document.getElementById('mce_editor_0').contentDocument;
67
- window.opener.tinyMCE.setInnerHTML(window.opener.tinyMCE.selectedInstance.getBody(), doc.body.innerHTML);
68
- }
69
-
70
- // Add onunload
71
- tinyMCE.addEvent(window, "beforeunload", unloadHandler);
72
-
73
- function doParentSubmit() {
74
- moveContent();
75
-
76
- if (window.opener.tinyMCE.selectedInstance.formElement.form)
77
- window.opener.tinyMCE.selectedInstance.formElement.form.submit();
78
-
79
- window.close();
80
-
81
- return false;
82
- }
83
- </script>
84
- <base target="_self" />
85
- </head>
86
- <body style="margin: 0; overflow: hidden; height: 100%" scrolling="no" scroll="no">
87
- <form onsubmit="doParentSubmit();" style="height: 100%">
88
- <textarea id="fullscreenarea" style="width: 100%; height: 100%"></textarea>
89
- </form>
90
- </body>
91
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/fullscreen/images/fullscreen.gif DELETED
Binary file
mce/fullscreen/langs/de_de.js DELETED
@@ -1,6 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- fullscreen_title : 'Vollbild-Modus',
5
- fullscreen_desc : 'Vollbild-Modus umschalten'
6
- });
 
 
 
 
 
 
mce/fullscreen/langs/en.js DELETED
@@ -1,5 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- fullscreen_desc : 'Toggle fullscreen mode'
5
- });
 
 
 
 
 
mce/fullscreen/langs/es_es.js DELETED
@@ -1,8 +0,0 @@
1
- // ES lang variables by Alvaro Velasco and Adolfo Sanz De Diego (asanzdiego) <asanzdiego@yahoo.es>
2
- // Last Updated : October 2005
3
- // TinyMCE Version : 2.0RC3
4
-
5
- tinyMCE.addToLang('',{
6
- fullscreen_title : 'Pantalla completa',
7
- fullscreen_desc : 'Cambiar a pantalla completa'
8
- });
 
 
 
 
 
 
 
 
mce/fullscreen/langs/fr_fr.js DELETED
@@ -1,7 +0,0 @@
1
- // FR lang variables
2
- // Modified by Motte, last updated 2006-03-23
3
-
4
- tinyMCE.addToLang('',{
5
- fullscreen_title : 'Affichage plein &eacute;cran',
6
- fullscreen_desc : 'Affichage plein &eacute;cran/normal'
7
- });
 
 
 
 
 
 
 
mce/fullscreen/langs/it_it.js DELETED
@@ -1,11 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('',{
10
- fullscreen_desc : 'Abilita o disabilita la modalit&agrave; a schermo intero'
11
- });
 
 
 
 
 
 
 
 
 
 
 
mce/fullscreen/langs/pt_br.js DELETED
@@ -1,14 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 26, 2005 - TinyMCE Version : 2.0RC4
9
- * Last Updated : November 20, 2006 - TinyMCE Version : 2.0.8
10
- */
11
- tinyMCE.addToLang('',{
12
- fullscreen_title : 'Modo de janela inteira (Fullscreen)',
13
- fullscreen_desc : 'Alterar para modo de janela inteira'
14
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/fullscreen/langs/ru.js DELETED
@@ -1,6 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- fullscreen_title : 'Полноэкранный режим',
5
- fullscreen_desc : 'Включить полноэкранный режим'
6
- });
 
 
 
 
 
 
mce/fullscreen/langs/zh_cn.js DELETED
@@ -1,7 +0,0 @@
1
- // Simplified Chinese lang variables contributed by TinyMCE_China_Team ( tinymce_china {AT} yahoogroups {DOT} com ).
2
- // visit our homepage at: http://www.cube316.net/tinymce/ for more information.
3
-
4
- tinyMCE.addToLang('',{
5
- fullscreen_title : 'ȫ��ģʽ',
6
- fullscreen_desc : '�л�ȫ��ģʽ'
7
- });
 
 
 
 
 
 
 
mce/fullscreen/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/iespell/editor_plugin.js DELETED
@@ -1,58 +0,0 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import plugin specific language pack */
9
- tinyMCE.importPluginLanguagePack('iespell');
10
-
11
- var TinyMCE_IESpellPlugin = {
12
- getInfo : function() {
13
- return {
14
- longname : 'IESpell (MSIE Only)',
15
- author : 'Moxiecode Systems AB',
16
- authorurl : 'http://tinymce.moxiecode.com',
17
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/iespell',
18
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
- };
20
- },
21
-
22
- /**
23
- * Returns the HTML contents of the iespell control.
24
- */
25
- getControlHTML : function(cn) {
26
- // Is it the iespell control and is the brower MSIE.
27
- if (cn == "iespell" && (tinyMCE.isMSIE && !tinyMCE.isOpera))
28
- return tinyMCE.getButtonHTML(cn, 'lang_iespell_desc', '{$pluginurl}/images/iespell.gif', 'mceIESpell');
29
-
30
- return "";
31
- },
32
-
33
- /**
34
- * Executes the mceIESpell command.
35
- */
36
- execCommand : function(editor_id, element, command, user_interface, value) {
37
- // Handle ieSpellCommand
38
- if (command == "mceIESpell") {
39
- try {
40
- var ieSpell = new ActiveXObject("ieSpell.ieSpellExtension");
41
- ieSpell.CheckDocumentNode(tinyMCE.getInstanceById(editor_id).contentDocument.documentElement);
42
- } catch (e) {
43
- if (e.number == -2146827859) {
44
- if (confirm(tinyMCE.getLang("lang_iespell_download", "", true)))
45
- window.open('http://www.iespell.com/download.php', 'ieSpellDownload', '');
46
- } else
47
- alert("Error Loading ieSpell: Exception " + e.number);
48
- }
49
-
50
- return true;
51
- }
52
-
53
- // Pass to next handler in chain
54
- return false;
55
- }
56
- };
57
-
58
- tinyMCE.addPlugin("iespell", TinyMCE_IESpellPlugin);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/iespell/images/iespell.gif DELETED
Binary file
mce/iespell/langs/de_de.js DELETED
@@ -1,7 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- iespell_desc : 'Rechtschreibpr&uuml;fung',
5
- iespell_download : "ieSpell nicht gefunden. Klicken Sie OK, um die Download-Seite aufzurufen."
6
- });
7
-
 
 
 
 
 
 
 
mce/iespell/langs/en.js DELETED
@@ -1,7 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- iespell_desc : 'Run spell checking',
5
- iespell_download : "ieSpell not detected. Click OK to go to download page."
6
- });
7
-
 
 
 
 
 
 
 
mce/iespell/langs/es_es.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * ES lang variables
3
- *
4
- * Authors : Alvaro Velasco,
5
- * Adolfo Sanz De Diego (asanzdiego) <asanzdiego@yahoo.es>,
6
- * Carlos C Soto (eclipxe) <csoto@sia-solutions.com>
7
- * Eneko Castresana Vara
8
- * Last Updated : July 14, 2006
9
- * TinyMCE Version : 2.0.6.1
10
- */
11
-
12
- tinyMCE.addToLang('',{
13
- iespell_desc : 'Ejecutar corrector ortogr&aacute;fico',
14
- iespell_download : "Corrector ortogr&aacute;fico no detectado. Pulse OK para ir a la p&aacute;gina de descarga."
15
- });
16
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/iespell/langs/fr_fr.js DELETED
@@ -1,7 +0,0 @@
1
- // FR lang variables
2
- // Modified by Motte, last updated 2006-03-23
3
-
4
- tinyMCE.addToLang('',{
5
- iespell_desc : 'Lancer le v&eacute;rificateur d\'orthographe',
6
- iespell_download : "Le dictionnaire ieSpell n\'a pas &eacute;t&eacute; trouv&eacute;.\n\nCliquez sur Ok pour aller au site de t&eacute;l&eacute;chargement."
7
- });
 
 
 
 
 
 
 
mce/iespell/langs/it_it.js DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Oct. 17th, 2006
6
- * TinyMCE Version : 2.0.7
7
- */
8
-
9
- tinyMCE.addToLang('',{
10
- iespell_desc : 'Esegui controllo ortografico',
11
- iespell_download : "ieSpell non trovato. Fai clic su OK per visitare la pagina di download."
12
- });
13
-
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/iespell/langs/pt_br.js DELETED
@@ -1,14 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 26, 2005 - TinyMCE Version : 2.0RC4
9
- * Last Updated : November 20, 2006 - TinyMCE Version : 2.0.8
10
- */
11
- tinyMCE.addToLang('',{
12
- iespell_desc : 'Executar verifica��o ortogr�fica',
13
- iespell_download : "Verificador ieSpell n�o detectado. Clique em \"OK\" para ir � p�gina de download."
14
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/iespell/langs/ru_ru.js DELETED
@@ -1,7 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- iespell_desc : 'Запустить проверку орфографии',
5
- iespell_download : 'ieSpell не обнаружен. нажмите OK, чтобы перейти на страницу загрузки.'
6
- });
7
-
 
 
 
 
 
 
 
mce/iespell/langs/zh_cn.js DELETED
@@ -1,7 +0,0 @@
1
- // Simplified Chinese lang variables contributed by TinyMCE_China_Team ( tinymce_china {AT} yahoogroups {DOT} com ).
2
- // visit our homepage at: http://www.cube316.net/tinymce/ for more information.
3
-
4
- tinyMCE.addToLang('',{
5
- iespell_desc : '����ƴд���',
6
- iespell_download : "δ��⵽ ieSpell ƴд��飬��� OK ǰ������ҳ�档"
7
- });
 
 
 
 
 
 
 
mce/iespell/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/insertdatetime/editor_plugin.js ADDED
@@ -0,0 +1 @@
 
1
+ (function(){tinymce.create('tinymce.plugins.InsertDateTime',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceInsertDate',function(){var str=t._getDateTime(new Date(),ed.getParam("plugin_insertdate_dateFormat",ed.getLang('insertdatetime.date_fmt')));ed.execCommand('mceInsertContent',false,str);});ed.addCommand('mceInsertTime',function(){var str=t._getDateTime(new Date(),ed.getParam("plugin_insertdate_timeFormat",ed.getLang('insertdatetime.time_fmt')));ed.execCommand('mceInsertContent',false,str);});ed.addButton('insertdate',{title:'insertdatetime.insertdate_desc',cmd:'mceInsertDate'});ed.addButton('inserttime',{title:'insertdatetime.inserttime_desc',cmd:'mceInsertTime'});},getInfo:function(){return{longname:'Insert date/time',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/insertdatetime',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_getDateTime:function(d,fmt){var ed=this.editor;function addZeros(value,len){value=""+value;if(value.length<len){for(var i=0;i<(len-value.length);i++)value="0"+value;}return value;};fmt=fmt.replace("%D","%m/%d/%y");fmt=fmt.replace("%r","%I:%M:%S %p");fmt=fmt.replace("%Y",""+d.getFullYear());fmt=fmt.replace("%y",""+d.getYear());fmt=fmt.replace("%m",addZeros(d.getMonth()+1,2));fmt=fmt.replace("%d",addZeros(d.getDate(),2));fmt=fmt.replace("%H",""+addZeros(d.getHours(),2));fmt=fmt.replace("%M",""+addZeros(d.getMinutes(),2));fmt=fmt.replace("%S",""+addZeros(d.getSeconds(),2));fmt=fmt.replace("%I",""+((d.getHours()+11)%12+1));fmt=fmt.replace("%p",""+(d.getHours()<12?"AM":"PM"));fmt=fmt.replace("%B",""+ed.getLang("insertdatetime.months_long").split(',')[d.getMonth()]);fmt=fmt.replace("%b",""+ed.getLang("insertdatetime.months_short").split(',')[d.getMonth()]);fmt=fmt.replace("%A",""+ed.getLang("insertdatetime.day_long").split(',')[d.getDay()]);fmt=fmt.replace("%a",""+ed.getLang("insertdatetime.day_short").split(',')[d.getDay()]);fmt=fmt.replace("%%","%");return fmt;}});tinymce.PluginManager.add('insertdatetime',tinymce.plugins.InsertDateTime);})();
mce/layer/editor_plugin.js CHANGED
@@ -1,248 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import plugin specific language pack */
9
- tinyMCE.importPluginLanguagePack('layer');
10
-
11
- var TinyMCE_LayerPlugin = {
12
- getInfo : function() {
13
- return {
14
- longname : 'Layer',
15
- author : 'Moxiecode Systems AB',
16
- authorurl : 'http://tinymce.moxiecode.com',
17
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',
18
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
- };
20
- },
21
-
22
- initInstance : function(inst) {
23
- if (tinyMCE.isMSIE && !tinyMCE.isOpera)
24
- inst.getDoc().execCommand('2D-Position');
25
- },
26
-
27
- handleEvent : function(e) {
28
- var inst = tinyMCE.selectedInstance;
29
- var w = inst.getWin(), le = inst._lastStyleElm, e;
30
-
31
- if (tinyMCE.isGecko) {
32
- e = this._getParentLayer(inst.getFocusElement());
33
-
34
- if (e) {
35
- if (!inst._lastStyleElm) {
36
- e.style.overflow = 'auto';
37
- inst._lastStyleElm = e;
38
- }
39
- } else if (le) {
40
- le = inst._lastStyleElm;
41
- le.style.width = le.scrollWidth + 'px';
42
- le.style.height = le.scrollHeight + 'px';
43
- le.style.overflow = '';
44
- inst._lastStyleElm = null;
45
- }
46
- }
47
-
48
- return true;
49
- },
50
-
51
- handleVisualAid : function(el, deep, state, inst) {
52
- var nl = inst.getDoc().getElementsByTagName("div"), i;
53
-
54
- for (i=0; i<nl.length; i++) {
55
- if (new RegExp('absolute|relative|static', 'gi').test(nl[i].style.position)) {
56
- if (state)
57
- tinyMCE.addCSSClass(nl[i], 'mceVisualAid');
58
- else
59
- tinyMCE.removeCSSClass(nl[i], 'mceVisualAid');
60
- }
61
- }
62
- },
63
-
64
- getControlHTML : function(cn) {
65
- switch (cn) {
66
- case "moveforward":
67
- return tinyMCE.getButtonHTML(cn, 'lang_layer_forward_desc', '{$pluginurl}/images/moveforward.gif', 'mceMoveForward', true);
68
-
69
- case "movebackward":
70
- return tinyMCE.getButtonHTML(cn, 'lang_layer_backward_desc', '{$pluginurl}/images/movebackward.gif', 'mceMoveBackward', true);
71
-
72
- case "absolute":
73
- return tinyMCE.getButtonHTML(cn, 'lang_layer_absolute_desc', '{$pluginurl}/images/absolute.gif', 'mceMakeAbsolute', true);
74
-
75
- case "insertlayer":
76
- return tinyMCE.getButtonHTML(cn, 'lang_layer_insertlayer_desc', '{$pluginurl}/images/insertlayer.gif', 'mceInsertLayer', true);
77
- }
78
-
79
- return "";
80
- },
81
-
82
- execCommand : function(editor_id, element, command, user_interface, value) {
83
- // Handle commands
84
- switch (command) {
85
- case "mceInsertLayer":
86
- this._insertLayer();
87
- return true;
88
-
89
- case "mceMoveForward":
90
- this._move(1);
91
- return true;
92
-
93
- case "mceMoveBackward":
94
- this._move(-1);
95
- return true;
96
-
97
- case "mceMakeAbsolute":
98
- this._toggleAbsolute();
99
- return true;
100
- }
101
-
102
- // Pass to next handler in chain
103
- return false;
104
- },
105
-
106
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
107
- var inst = tinyMCE.getInstanceById(editor_id);
108
- var le = this._getParentLayer(inst.getFocusElement());
109
- var p = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
110
-
111
- tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonDisabled');
112
- tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonDisabled');
113
- tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonDisabled');
114
-
115
- if (p)
116
- tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonNormal');
117
-
118
- if (le && le.style.position.toLowerCase() == "absolute") {
119
- tinyMCE.switchClass(editor_id + '_absolute', 'mceButtonSelected');
120
- tinyMCE.switchClass(editor_id + '_moveforward', 'mceButtonNormal');
121
- tinyMCE.switchClass(editor_id + '_movebackward', 'mceButtonNormal');
122
- }
123
- },
124
-
125
- // Private plugin specific methods
126
-
127
- _move : function(d) {
128
- var inst = tinyMCE.selectedInstance, i, z = new Array();
129
- var le = this._getParentLayer(inst.getFocusElement()), ci = -1, fi = -1;
130
- var nl = tinyMCE.selectNodes(inst.getBody(), function(n) {
131
- return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
132
- });
133
-
134
- // Find z-indexes
135
- for (i=0; i<nl.length; i++) {
136
- z[i] = nl[i].style.zIndex ? parseInt(nl[i].style.zIndex) : 0;
137
-
138
- if (ci < 0 && nl[i] == le)
139
- ci = i;
140
- }
141
-
142
- if (d < 0) {
143
- // Move back
144
-
145
- // Try find a lower one
146
- for (i=0; i<z.length; i++) {
147
- if (z[i] < z[ci]) {
148
- fi = i;
149
- break;
150
- }
151
- }
152
-
153
- if (fi > -1) {
154
- nl[ci].style.zIndex = z[fi];
155
- nl[fi].style.zIndex = z[ci];
156
- } else {
157
- if (z[ci] > 0)
158
- nl[ci].style.zIndex = z[ci] - 1;
159
- }
160
- } else {
161
- // Move forward
162
-
163
- // Try find a higher one
164
- for (i=0; i<z.length; i++) {
165
- if (z[i] > z[ci]) {
166
- fi = i;
167
- break;
168
- }
169
- }
170
-
171
- if (fi > -1) {
172
- nl[ci].style.zIndex = z[fi];
173
- nl[fi].style.zIndex = z[ci];
174
- } else
175
- nl[ci].style.zIndex = z[ci] + 1;
176
- }
177
-
178
- inst.repaint();
179
- },
180
-
181
- _getParentLayer : function(n) {
182
- return tinyMCE.getParentNode(n, function(n) {
183
- return n.nodeType == 1 && new RegExp('absolute|relative|static', 'gi').test(n.style.position);
184
- });
185
- },
186
-
187
- _insertLayer : function() {
188
- var inst = tinyMCE.selectedInstance;
189
- var e = tinyMCE.getParentElement(inst.getFocusElement());
190
- var p = tinyMCE.getAbsPosition(e);
191
- var d = inst.getDoc();
192
- var ne = d.createElement('div');
193
- var h = inst.selection.getSelectedHTML();
194
-
195
- // Move div
196
- ne.style.position = 'absolute';
197
- ne.style.left = p.absLeft + 'px';
198
- ne.style.top = (p.absTop > 20 ? p.absTop : 20) + 'px';
199
- ne.style.width = '100px';
200
- ne.style.height = '100px';
201
- ne.className = 'mceVisualAid';
202
-
203
- if (!h)
204
- h = tinyMCE.getLang('lang_layer_content');
205
-
206
- ne.innerHTML = h;
207
-
208
- // Add it
209
- d.body.appendChild(ne);
210
- },
211
-
212
- _toggleAbsolute : function() {
213
- var inst = tinyMCE.selectedInstance;
214
- var le = this._getParentLayer(inst.getFocusElement());
215
-
216
- if (le == null)
217
- le = tinyMCE.getParentElement(inst.getFocusElement(), 'div,p,img');
218
-
219
- if (le) {
220
- if (le.style.position.toLowerCase() == "absolute") {
221
- le.style.position = "";
222
- le.style.left = "";
223
- le.style.top = "";
224
- } else {
225
- le.style.position = "absolute";
226
-
227
- if (le.style.left == "")
228
- le.style.left = 20 + 'px';
229
-
230
- if (le.style.top == "")
231
- le.style.top = 20 + 'px';
232
-
233
- if (le.style.width == "")
234
- le.style.width = le.width ? (le.width + 'px') : '100px';
235
-
236
- if (le.style.height == "")
237
- le.style.height = le.height ? (le.height + 'px') : '100px';
238
-
239
- tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
240
- }
241
-
242
- inst.repaint();
243
- tinyMCE.triggerNodeChange();
244
- }
245
- }
246
- };
247
-
248
- tinyMCE.addPlugin("layer", TinyMCE_LayerPlugin);
1
+ (function(){tinymce.create('tinymce.plugins.Layer',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceInsertLayer',t._insertLayer,t);ed.addCommand('mceMoveForward',function(){t._move(1);});ed.addCommand('mceMoveBackward',function(){t._move(-1);});ed.addCommand('mceMakeAbsolute',function(){t._toggleAbsolute();});ed.addButton('moveforward',{title:'layer.forward_desc',cmd:'mceMoveForward'});ed.addButton('movebackward',{title:'layer.backward_desc',cmd:'mceMoveBackward'});ed.addButton('absolute',{title:'layer.absolute_desc',cmd:'mceMakeAbsolute'});ed.addButton('insertlayer',{title:'layer.insertlayer_desc',cmd:'mceInsertLayer'});ed.onInit.add(function(){if(tinymce.isIE)ed.getDoc().execCommand('2D-Position',false,true);});ed.onNodeChange.add(t._nodeChange,t);ed.onVisualAid.add(t._visualAid,t);},getInfo:function(){return{longname:'Layer',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/layer',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_nodeChange:function(ed,cm,n){var le,p;le=this._getParentLayer(n);p=ed.dom.getParent(n,'DIV,P,IMG');if(!p){cm.setDisabled('absolute',1);cm.setDisabled('moveforward',1);cm.setDisabled('movebackward',1);}else{cm.setDisabled('absolute',0);cm.setDisabled('moveforward',!le);cm.setDisabled('movebackward',!le);cm.setActive('absolute',le&&le.style.position.toLowerCase()=="absolute");}},_visualAid:function(ed,e,s){var dom=ed.dom;tinymce.each(dom.select('div,p',e),function(e){if(/^(absolute|relative|static)$/i.test(e.style.position)){if(s)dom.addClass(e,'mceItemVisualAid');else dom.removeClass(e,'mceItemVisualAid');}});},_move:function(d){var ed=this.editor,i,z=[],le=this._getParentLayer(ed.selection.getNode()),ci=-1,fi=-1,nl;nl=[];tinymce.walk(ed.getBody(),function(n){if(n.nodeType==1&&/^(absolute|relative|static)$/i.test(n.style.position))nl.push(n);},'childNodes');for(i=0;i<nl.length;i++){z[i]=nl[i].style.zIndex?parseInt(nl[i].style.zIndex):0;if(ci<0&&nl[i]==le)ci=i;}if(d<0){for(i=0;i<z.length;i++){if(z[i]<z[ci]){fi=i;break;}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci];}else{if(z[ci]>0)nl[ci].style.zIndex=z[ci]-1;}}else{for(i=0;i<z.length;i++){if(z[i]>z[ci]){fi=i;break;}}if(fi>-1){nl[ci].style.zIndex=z[fi];nl[fi].style.zIndex=z[ci];}else nl[ci].style.zIndex=z[ci]+1;}ed.execCommand('mceRepaint');},_getParentLayer:function(n){return this.editor.dom.getParent(n,function(n){return n.nodeType==1&&/^(absolute|relative|static)$/i.test(n.style.position);});},_insertLayer:function(){var ed=this.editor,p=ed.dom.getPos(ed.dom.getParent(ed.selection.getNode(),'*'));ed.dom.add(ed.getBody(),'div',{style:{position:'absolute',left:p.x,top:(p.y>20?p.y:20),width:100,height:100},'class':'mceItemVisualAid'},ed.selection.getContent()||ed.getLang('layer.content'));},_toggleAbsolute:function(){var ed=this.editor,le=this._getParentLayer(ed.selection.getNode());if(!le)le=ed.dom.getParent(ed.selection.getNode(),'DIV,P,IMG');if(le){if(le.style.position.toLowerCase()=="absolute"){ed.dom.setStyles(le,{position:'',left:'',top:'',width:'',height:''});ed.dom.removeClass(le,'mceItemVisualAid');}else{if(le.style.left=="")le.style.left=20+'px';if(le.style.top=="")le.style.top=20+'px';if(le.style.width=="")le.style.width=le.width?(le.width+'px'):'100px';if(le.style.height=="")le.style.height=le.height?(le.height+'px'):'100px';le.style.position="absolute";ed.addVisual(ed.getBody());}ed.execCommand('mceRepaint');ed.nodeChanged();}}});tinymce.PluginManager.add('layer',tinymce.plugins.Layer);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/layer/images/absolute.gif DELETED
Binary file
mce/layer/images/backward.gif DELETED
Binary file
mce/layer/images/forward.gif DELETED
Binary file
mce/layer/images/insert_layer.gif DELETED
Binary file
mce/layer/images/insertlayer.gif DELETED
Binary file
mce/layer/images/movebackward.gif DELETED
Binary file
mce/layer/images/moveforward.gif DELETED
Binary file
mce/layer/langs/de_de.js DELETED
@@ -1,9 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('layer',{
4
- insertlayer_desc : 'Neue Ebene einf&uuml;gen',
5
- forward_desc : 'Vorw&auml;rts schalten',
6
- backward_desc : 'R&uuml;ckw&auml;rts schalten',
7
- absolute_desc : 'Absolute Position schalten',
8
- content : 'Neue Ebene...'
9
- });
 
 
 
 
 
 
 
 
 
mce/layer/langs/en.js DELETED
@@ -1,9 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('layer',{
4
- insertlayer_desc : 'Insert new layer',
5
- forward_desc : 'Move forward',
6
- backward_desc : 'Move backward',
7
- absolute_desc : 'Toggle absolute positioning',
8
- content : 'New layer...'
9
- });
 
 
 
 
 
 
 
 
 
mce/layer/langs/es_es.js DELETED
@@ -1,15 +0,0 @@
1
- /**
2
- * ES lang variables
3
- *
4
- * Authors : Eneko Castresana Vara
5
- * Last Updated : July 14, 2006
6
- * TinyMCE Version : 2.0.6.1
7
- */
8
-
9
- tinyMCE.addToLang('layer',{
10
- insertlayer_desc : 'Insertar nueva capa',
11
- forward_desc : 'Adelante',
12
- backward_desc : 'Atr&aacute;s',
13
- absolute_desc : 'Posicionamiento absoluto',
14
- content : 'Nueva capa...'
15
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/layer/langs/fr_fr.js DELETED
@@ -1,10 +0,0 @@
1
- // FR lang variables
2
- // Modified by shadow walker, last updated 2007-03-16
3
-
4
- tinyMCE.addToLang('layer',{
5
- insertlayer_desc : 'Ins&eacute;rer un nouveau calque',
6
- forward_desc : 'Avancer',
7
- backward_desc : 'Reculer',
8
- absolute_desc : 'Passer en positionnement absolu',
9
- content : 'Nouveau calque...'
10
- });
 
 
 
 
 
 
 
 
 
 
mce/layer/langs/it_it.js DELETED
@@ -1,15 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('layer',{
10
- insertlayer_desc : 'Inserisci nuovo layer',
11
- forward_desc : 'Sposta verso l\'alto',
12
- backward_desc : 'Sposta verso il basso',
13
- absolute_desc : 'Abilita o disabilita posizionamento assoluto',
14
- content : 'Nuovo livello...'
15
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/layer/langs/pt_br.js DELETED
@@ -1,16 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 20, 2006 - TinyMCE Version : 2.0.8
9
- */
10
- tinyMCE.addToLang('layer',{
11
- insertlayer_desc : 'Inserir novo layer',
12
- forward_desc : 'Mover para frente',
13
- backward_desc : 'Mover para tr�s',
14
- absolute_desc : 'Alterar posi��o absoluta',
15
- content : 'Novo layer...'
16
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/layer/langs/ru_ru.js DELETED
@@ -1,9 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('layer',{
4
- insertlayer_desc : 'Вставить новый слой',
5
- forward_desc : 'Переместить вперед',
6
- backward_desc : 'Переместить назад',
7
- absolute_desc : 'Вкл / Выкл абсолютное позиционирование',
8
- content : 'Новый слой...'
9
- });
 
 
 
 
 
 
 
 
 
mce/layer/langs/zh_cn.js DELETED
@@ -1,9 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('layer',{
4
- insertlayer_desc : 'Insert new layer',
5
- forward_desc : 'Move forward',
6
- backward_desc : 'Move backward',
7
- absolute_desc : 'Toggle absolute positioning',
8
- content : 'New layer...'
9
- });
 
 
 
 
 
 
 
 
 
mce/layer/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/media/css/content.css DELETED
@@ -1,26 +0,0 @@
1
- .mceItemFlash, .mceItemShockWave, .mceItemQuickTime, .mceItemWindowsMedia, .mceItemRealMedia {
2
- border: 1px dotted #cc0000;
3
- background-position: center;
4
- background-repeat: no-repeat;
5
- background-color: #ffffcc;
6
- }
7
-
8
- .mceItemShockWave {
9
- background-image: url('../images/shockwave.gif');
10
- }
11
-
12
- .mceItemFlash {
13
- background-image: url('../images/flash.gif');
14
- }
15
-
16
- .mceItemQuickTime {
17
- background-image: url('../images/quicktime.gif');
18
- }
19
-
20
- .mceItemWindowsMedia {
21
- background-image: url('../images/windowsmedia.gif');
22
- }
23
-
24
- .mceItemRealMedia {
25
- background-image: url('../images/realmedia.gif');
26
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/css/media.css DELETED
@@ -1,68 +0,0 @@
1
- #id, #name, #hspace, #vspace, #class_name, #align {
2
- width: 100px;
3
- }
4
-
5
- #hspace, #vspace {
6
- width: 50px;
7
- }
8
-
9
- #flash_quality, #flash_align, #flash_scale, #flash_salign, #flash_wmode {
10
- width: 100px;
11
- }
12
-
13
- #flash_base, #flash_flashvars {
14
- width: 240px;
15
- }
16
-
17
- #width, #height {
18
- width: 40px;
19
- }
20
-
21
- #src, #media_type {
22
- width: 250px;
23
- }
24
-
25
- #class {
26
- width: 120px;
27
- }
28
-
29
- #prev {
30
- margin: 0;
31
- border: 1px solid black;
32
- width: 99%;
33
- height: 230px;
34
- overflow: auto;
35
- }
36
-
37
- .panel_wrapper div.current {
38
- height: 390px;
39
- overflow: auto;
40
- }
41
-
42
- #flash_options, #shockwave_options, #qt_options, #wmp_options, #rmp_options {
43
- display: none;
44
- }
45
-
46
- .mceAddSelectValue {
47
- background-color: #DDDDDD;
48
- }
49
-
50
- #qt_starttime, #qt_endtime, #qt_fov, #qt_href, #qt_moveid, #qt_moviename, #qt_node, #qt_pan, #qt_qtsrc, #qt_qtsrcchokespeed, #qt_target, #qt_tilt, #qt_urlsubstituten, #qt_volume {
51
- width: 70px;
52
- }
53
-
54
- #wmp_balance, #wmp_baseurl, #wmp_captioningid, #wmp_currentmarker, #wmp_currentposition, #wmp_defaultframe, #wmp_playcount, #wmp_rate, #wmp_uimode, #wmp_volume {
55
- width: 70px;
56
- }
57
-
58
- #rmp_console, #rmp_numloop, #rmp_controls, #rmp_scriptcallbacks {
59
- width: 70px;
60
- }
61
-
62
- #shockwave_swvolume, #shockwave_swframe, #shockwave_swurl, #shockwave_swstretchvalign, #shockwave_swstretchhalign, #shockwave_swstretchstyle {
63
- width: 90px;
64
- }
65
-
66
- #qt_qtsrc {
67
- width: 200px;
68
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/editor_plugin.js DELETED
@@ -1,437 +0,0 @@
1
- /**
2
- * $Id: editor_plugin_src.js 275 2007-05-01 15:35:08Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import plugin specific language pack */
9
- tinyMCE.importPluginLanguagePack('media');
10
-
11
- var TinyMCE_MediaPlugin = {
12
- getInfo : function() {
13
- return {
14
- longname : 'Media',
15
- author : 'Moxiecode Systems AB',
16
- authorurl : 'http://tinymce.moxiecode.com',
17
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/media',
18
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
- };
20
- },
21
-
22
- initInstance : function(inst) {
23
- // Warn if user has flash plugin and media plugin at the same time
24
- if (inst.hasPlugin('flash') && !tinyMCE.flashWarn) {
25
- alert('Flash plugin is deprecated and should not be used together with the media plugin.');
26
- tinyMCE.flashWarn = true;
27
- }
28
-
29
- if (!tinyMCE.settings['media_skip_plugin_css'])
30
- tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/media/css/content.css");
31
- },
32
-
33
- getControlHTML : function(cn) {
34
- switch (cn) {
35
- case "media":
36
- return tinyMCE.getButtonHTML(cn, 'lang_media_desc', '{$pluginurl}/images/media.gif', 'mceMedia');
37
- }
38
-
39
- return "";
40
- },
41
-
42
- execCommand : function(editor_id, element, command, user_interface, value) {
43
- // Handle commands
44
- switch (command) {
45
- case "mceMedia":
46
- tinyMCE.openWindow({
47
- file : tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/media/media.htm',
48
- width : 430 + tinyMCE.getLang('lang_media_delta_width', 0),
49
- height : 470 + tinyMCE.getLang('lang_media_delta_height', 0)
50
- }, {
51
- editor_id : editor_id,
52
- inline : "yes"
53
- });
54
-
55
- return true;
56
- }
57
-
58
- // Pass to next handler in chain
59
- return false;
60
- },
61
-
62
- cleanup : function(type, content, inst) {
63
- var nl, img, i, ne, d, s, ci;
64
-
65
- switch (type) {
66
- case "insert_to_editor":
67
- img = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
68
- content = content.replace(/<script[^>]*>\s*write(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)\(\{([^\)]*)\}\);\s*<\/script>/gi, '<img class="mceItem$1" title="$2" src="' + img + '" />');
69
- content = content.replace(/<object([^>]*)>/gi, '<div class="mceItemObject" $1>');
70
- content = content.replace(/<embed([^>]*)>/gi, '<div class="mceItemObjectEmbed" $1>');
71
- content = content.replace(/<\/(object|embed)([^>]*)>/gi, '</div>');
72
- content = content.replace(/<param([^>]*)>/gi, '<div $1 class="mceItemParam"></div>');
73
- content = content.replace(new RegExp('\\/ class="mceItemParam"><\\/div>', 'gi'), 'class="mceItemParam"></div>');
74
-
75
- break;
76
-
77
- case "insert_to_editor_dom":
78
- d = inst.getDoc();
79
- nl = content.getElementsByTagName("img");
80
- for (i=0; i<nl.length; i++) {
81
- if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(nl[i].className)) {
82
- nl[i].width = nl[i].title.replace(/.*width:[^0-9]?([0-9]+)%?.*/g, '$1');
83
- nl[i].height = nl[i].title.replace(/.*height:[^0-9]?([0-9]+)%?.*/g, '$1');
84
- //nl[i].align = nl[i].title.replace(/.*align:([a-z]+).*/gi, '$1');
85
- }
86
- }
87
-
88
- nl = tinyMCE.selectElements(content, 'DIV', function (n) {return tinyMCE.hasCSSClass(n, 'mceItemObject');});
89
- for (i=0; i<nl.length; i++) {
90
- ci = tinyMCE.getAttrib(nl[i], "classid").toLowerCase().replace(/\s+/g, '');
91
-
92
- switch (ci) {
93
- case 'clsid:d27cdb6e-ae6d-11cf-96b8-444553540000':
94
- nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemFlash', d, nl[i]), nl[i]);
95
- break;
96
-
97
- case 'clsid:166b1bca-3f9c-11cf-8075-444553540000':
98
- nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemShockWave', d, nl[i]), nl[i]);
99
- break;
100
-
101
- case 'clsid:6bf52a52-394a-11d3-b153-00c04f79faa6':
102
- case 'clsid:22d6f312-b0f6-11d0-94ab-0080c74c7e95':
103
- case 'clsid:05589fa1-c356-11ce-bf01-00aa0055595a':
104
- nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemWindowsMedia', d, nl[i]), nl[i]);
105
- break;
106
-
107
- case 'clsid:02bf25d5-8c17-4b23-bc80-d3488abddc6b':
108
- nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemQuickTime', d, nl[i]), nl[i]);
109
- break;
110
-
111
- case 'clsid:cfcdaa03-8be4-11cf-b84b-0020afbbccfa':
112
- nl[i].parentNode.replaceChild(TinyMCE_MediaPlugin._createImg('mceItemRealMedia', d, nl[i]), nl[i]);
113
- break;
114
- }
115
- }
116
-
117
- // Handle embed (if any)
118
- nl = tinyMCE.selectNodes(content, function (n) {return n.className == 'mceItemObjectEmbed';});
119
- for (i=0; i<nl.length; i++) {
120
- switch (tinyMCE.getAttrib(nl[i], 'type')) {
121
- case 'application/x-shockwave-flash':
122
- TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemFlash');
123
- break;
124
-
125
- case 'application/x-director':
126
- TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemShockWave');
127
- break;
128
-
129
- case 'application/x-mplayer2':
130
- TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemWindowsMedia');
131
- break;
132
-
133
- case 'video/quicktime':
134
- TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemQuickTime');
135
- break;
136
-
137
- case 'audio/x-pn-realaudio-plugin':
138
- TinyMCE_MediaPlugin._createImgFromEmbed(nl[i], d, 'mceItemRealMedia');
139
- break;
140
- }
141
- }
142
- break;
143
-
144
- case "get_from_editor":
145
- var startPos = -1, endPos, attribs, chunkBefore, chunkAfter, embedHTML, at, pl, cb, mt, ex;
146
-
147
- while ((startPos = content.indexOf('<img', startPos+1)) != -1) {
148
- endPos = content.indexOf('/>', startPos);
149
- attribs = TinyMCE_MediaPlugin._parseAttributes(content.substring(startPos + 4, endPos));
150
-
151
- // Is not flash, skip it
152
- if (!/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(attribs['class']))
153
- continue;
154
-
155
- endPos += 2;
156
-
157
- // Parse attributes
158
- at = attribs['title'];
159
- if (at) {
160
- at = at.replace(/&(#39|apos);/g, "'");
161
- at = at.replace(/&#quot;/g, '"');
162
-
163
- try {
164
- pl = eval('x={' + at + '};');
165
- } catch (ex) {
166
- pl = {};
167
- }
168
- }
169
-
170
- // Use object/embed
171
- if (!tinyMCE.getParam('media_use_script', false)) {
172
- switch (attribs['class']) {
173
- case 'mceItemFlash':
174
- ci = 'd27cdb6e-ae6d-11cf-96b8-444553540000';
175
- cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
176
- mt = 'application/x-shockwave-flash';
177
- break;
178
-
179
- case 'mceItemShockWave':
180
- ci = '166B1BCA-3F9C-11CF-8075-444553540000';
181
- cb = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
182
- mt = 'application/x-director';
183
- break;
184
-
185
- case 'mceItemWindowsMedia':
186
- ci = tinyMCE.getParam('media_wmp6_compatible') ? '05589FA1-C356-11CE-BF01-00AA0055595A' : '6BF52A52-394A-11D3-B153-00C04F79FAA6';
187
- cb = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
188
- mt = 'application/x-mplayer2';
189
- break;
190
-
191
- case 'mceItemQuickTime':
192
- ci = '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
193
- cb = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
194
- mt = 'video/quicktime';
195
- break;
196
-
197
- case 'mceItemRealMedia':
198
- ci = 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
199
- cb = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
200
- mt = 'audio/x-pn-realaudio-plugin';
201
- break;
202
- }
203
-
204
- // Force absolute URL
205
- if (!tinyMCE.getParam("relative_urls"))
206
- pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
207
-
208
- embedHTML = TinyMCE_MediaPlugin._getEmbed(ci, cb, mt, pl, attribs);
209
- } else {
210
- // Use script version
211
- switch (attribs['class']) {
212
- case 'mceItemFlash':
213
- s = 'writeFlash';
214
- break;
215
-
216
- case 'mceItemShockWave':
217
- s = 'writeShockWave';
218
- break;
219
-
220
- case 'mceItemWindowsMedia':
221
- s = 'writeWindowsMedia';
222
- break;
223
-
224
- case 'mceItemQuickTime':
225
- s = 'writeQuickTime';
226
- break;
227
-
228
- case 'mceItemRealMedia':
229
- s = 'writeRealMedia';
230
- break;
231
- }
232
-
233
- if (attribs.width)
234
- at = at.replace(/width:[^0-9]?[0-9]+%?[^0-9]?/g, "width:'" + attribs.width + "'");
235
-
236
- if (attribs.height)
237
- at = at.replace(/height:[^0-9]?[0-9]+%?[^0-9]?/g, "height:'" + attribs.height + "'");
238
-
239
- // Force absolute URL
240
- if (!tinyMCE.getParam("relative_urls")) {
241
- pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
242
- at = at.replace(new RegExp("src:'[^']*'", "g"), "src:'" + pl.src + "'");
243
- }
244
-
245
- embedHTML = '<script type="text/javascript">' + s + '({' + at + '});</script>';
246
- }
247
-
248
- // Insert embed/object chunk
249
- chunkBefore = content.substring(0, startPos);
250
- chunkAfter = content.substring(endPos);
251
- content = chunkBefore + embedHTML + chunkAfter;
252
- }
253
- break;
254
- }
255
-
256
- return content;
257
- },
258
-
259
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
260
- if (node == null)
261
- return;
262
-
263
- do {
264
- if (node.nodeName == "IMG" && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(node, 'class'))) {
265
- tinyMCE.switchClass(editor_id + '_media', 'mceButtonSelected');
266
- return true;
267
- }
268
- } while ((node = node.parentNode));
269
-
270
- tinyMCE.switchClass(editor_id + '_media', 'mceButtonNormal');
271
-
272
- return true;
273
- },
274
-
275
- _createImgFromEmbed : function(n, d, cl) {
276
- var ne, at, i, ti = '', an;
277
-
278
- ne = d.createElement('img');
279
- ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
280
- ne.width = tinyMCE.getAttrib(n, 'width');
281
- ne.height = tinyMCE.getAttrib(n, 'height');
282
- ne.className = cl;
283
-
284
- at = n.attributes;
285
- for (i=0; i<at.length; i++) {
286
- if (at[i].specified && at[i].nodeValue) {
287
- an = at[i].nodeName.toLowerCase();
288
-
289
- if (an == 'src')
290
- continue;
291
-
292
- if (an == 'mce_src')
293
- an = 'src';
294
-
295
- if (an.indexOf('mce_') == -1 && !new RegExp('^(class|type)$').test(an))
296
- ti += an.toLowerCase() + ':\'' + at[i].nodeValue + "',";
297
- }
298
- }
299
-
300
- ti = ti.length > 0 ? ti.substring(0, ti.length - 1) : ti;
301
- ne.title = ti;
302
-
303
- n.parentNode.replaceChild(ne, n);
304
- },
305
-
306
- _createImg : function(cl, d, n) {
307
- var i, nl, ti = "", an, av, al = new Array();
308
-
309
- ne = d.createElement('img');
310
- ne.src = tinyMCE.getParam("theme_href") + '/images/spacer.gif';
311
- ne.width = tinyMCE.getAttrib(n, 'width');
312
- ne.height = tinyMCE.getAttrib(n, 'height');
313
- ne.className = cl;
314
-
315
- al.id = tinyMCE.getAttrib(n, 'id');
316
- al.name = tinyMCE.getAttrib(n, 'name');
317
- al.width = tinyMCE.getAttrib(n, 'width');
318
- al.height = tinyMCE.getAttrib(n, 'height');
319
- al.bgcolor = tinyMCE.getAttrib(n, 'bgcolor');
320
- al.align = tinyMCE.getAttrib(n, 'align');
321
- al.class_name = tinyMCE.getAttrib(n, 'mce_class');
322
-
323
- nl = n.getElementsByTagName('div');
324
- for (i=0; i<nl.length; i++) {
325
- av = tinyMCE.getAttrib(nl[i], 'value');
326
- av = av.replace(new RegExp('\\\\', 'g'), '\\\\');
327
- av = av.replace(new RegExp('"', 'g'), '\\"');
328
- av = av.replace(new RegExp("'", 'g'), "\\'");
329
- an = tinyMCE.getAttrib(nl[i], 'name');
330
- al[an] = av;
331
- }
332
-
333
- if (al.movie) {
334
- al.src = al.movie;
335
- al.movie = null;
336
- }
337
-
338
- for (an in al) {
339
- if (al[an] != null && typeof(al[an]) != "function" && al[an] != '')
340
- ti += an.toLowerCase() + ':\'' + al[an] + "',";
341
- }
342
-
343
- ti = ti.length > 0 ? ti.substring(0, ti.length - 1) : ti;
344
- ne.title = ti;
345
-
346
- return ne;
347
- },
348
-
349
- _getEmbed : function(cls, cb, mt, p, at) {
350
- var h = '', n;
351
-
352
- p.width = at.width ? at.width : p.width;
353
- p.height = at.height ? at.height : p.height;
354
-
355
- h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
356
- h += typeof(p.id) != "undefined" ? ' id="' + p.id + '"' : '';
357
- h += typeof(p.name) != "undefined" ? ' name="' + p.name + '"' : '';
358
- h += typeof(p.width) != "undefined" ? ' width="' + p.width + '"' : '';
359
- h += typeof(p.height) != "undefined" ? ' height="' + p.height + '"' : '';
360
- h += typeof(p.align) != "undefined" ? ' align="' + p.align + '"' : '';
361
- h += '>';
362
-
363
- for (n in p) {
364
- if (typeof(p[n]) != "undefined" && typeof(p[n]) != "function") {
365
- h += '<param name="' + n + '" value="' + p[n] + '" />';
366
-
367
- // Add extra url parameter if it's an absolute URL on WMP
368
- if (n == 'src' && p[n].indexOf('://') != -1 && mt == 'application/x-mplayer2')
369
- h += '<param name="url" value="' + p[n] + '" />';
370
- }
371
- }
372
-
373
- h += '<embed type="' + mt + '"';
374
-
375
- for (n in p) {
376
- if (typeof(p[n]) == "function")
377
- continue;
378
-
379
- // Skip url parameter for embed tag on WMP
380
- if (!(n == 'url' && mt == 'application/x-mplayer2'))
381
- h += ' ' + n + '="' + p[n] + '"';
382
- }
383
-
384
- h += '></embed></object><br /><br />';
385
- // h += "\n\n";
386
-
387
- return h;
388
- },
389
-
390
- _parseAttributes : function(attribute_string) {
391
- var attributeName = "", endChr = '"';
392
- var attributeValue = "";
393
- var withInName;
394
- var withInValue;
395
- var attributes = new Array();
396
- var whiteSpaceRegExp = new RegExp('^[ \n\r\t]+', 'g');
397
-
398
- if (attribute_string == null || attribute_string.length < 2)
399
- return null;
400
-
401
- withInName = withInValue = false;
402
-
403
- for (var i=0; i<attribute_string.length; i++) {
404
- var chr = attribute_string.charAt(i);
405
-
406
- if ((chr == '"' || chr == "'") && !withInValue) {
407
- withInValue = true;
408
- endChr = chr;
409
- } else if (chr == endChr && withInValue) {
410
- withInValue = false;
411
-
412
- var pos = attributeName.lastIndexOf(' ');
413
- if (pos != -1)
414
- attributeName = attributeName.substring(pos+1);
415
-
416
- attributes[attributeName.toLowerCase()] = attributeValue.substring(1);
417
-
418
- attributeName = "";
419
- attributeValue = "";
420
- } else if (!whiteSpaceRegExp.test(chr) && !withInName && !withInValue)
421
- withInName = true;
422
-
423
- if (chr == '=' && withInName)
424
- withInName = false;
425
-
426
- if (withInName)
427
- attributeName += chr;
428
-
429
- if (withInValue)
430
- attributeValue += chr;
431
- }
432
-
433
- return attributes;
434
- }
435
- };
436
-
437
- tinyMCE.addPlugin("media", TinyMCE_MediaPlugin);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/images/flash.gif DELETED
Binary file
mce/media/images/media.gif DELETED
Binary file
mce/media/images/quicktime.gif DELETED
Binary file
mce/media/images/realmedia.gif DELETED
Binary file
mce/media/images/shockwave.gif DELETED
Binary file
mce/media/images/windowsmedia.gif DELETED
Binary file
mce/media/jscripts/embed.js DELETED
@@ -1,73 +0,0 @@
1
- /**
2
- * This script contains embed functions for common plugins. This scripts are complety free to use for any purpose.
3
- */
4
-
5
- function writeFlash(p) {
6
- writeEmbed(
7
- 'D27CDB6E-AE6D-11cf-96B8-444553540000',
8
- 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
9
- 'application/x-shockwave-flash',
10
- p
11
- );
12
- }
13
-
14
- function writeShockWave(p) {
15
- writeEmbed(
16
- '166B1BCA-3F9C-11CF-8075-444553540000',
17
- 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0',
18
- 'application/x-director',
19
- p
20
- );
21
- }
22
-
23
- function writeQuickTime(p) {
24
- writeEmbed(
25
- '02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
26
- 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0',
27
- 'video/quicktime',
28
- p
29
- );
30
- }
31
-
32
- function writeRealMedia(p) {
33
- writeEmbed(
34
- 'CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
35
- 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0',
36
- 'audio/x-pn-realaudio-plugin',
37
- p
38
- );
39
- }
40
-
41
- function writeWindowsMedia(p) {
42
- p.url = p.src;
43
- writeEmbed(
44
- '6BF52A52-394A-11D3-B153-00C04F79FAA6',
45
- 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701',
46
- 'application/x-mplayer2',
47
- p
48
- );
49
- }
50
-
51
- function writeEmbed(cls, cb, mt, p) {
52
- var h = '', n;
53
-
54
- h += '<object classid="clsid:' + cls + '" codebase="' + cb + '"';
55
- h += typeof(p.id) != "undefined" ? 'id="' + p.id + '"' : '';
56
- h += typeof(p.name) != "undefined" ? 'name="' + p.name + '"' : '';
57
- h += typeof(p.width) != "undefined" ? 'width="' + p.width + '"' : '';
58
- h += typeof(p.height) != "undefined" ? 'height="' + p.height + '"' : '';
59
- h += typeof(p.align) != "undefined" ? 'align="' + p.align + '"' : '';
60
- h += '>';
61
-
62
- for (n in p)
63
- h += '<param name="' + n + '" value="' + p[n] + '">';
64
-
65
- h += '<embed type="' + mt + '"';
66
-
67
- for (n in p)
68
- h += n + '="' + p[n] + '" ';
69
-
70
- h += '></embed></object>';
71
-
72
- document.write(h);
73
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/jscripts/media.js DELETED
@@ -1,594 +0,0 @@
1
- var oldWidth, oldHeight;
2
- var url = tinyMCE.getParam("media_external_list_url");
3
- if (url != null) {
4
- // Fix relative
5
- if (url.charAt(0) != '/' && url.indexOf('://') == -1)
6
- url = tinyMCE.documentBasePath + "/" + url;
7
-
8
- document.write('<sc'+'ript language="javascript" type="text/javascript" src="' + url + '"></sc'+'ript>');
9
- }
10
-
11
- function init() {
12
- var pl = "", f, val;
13
- var type = "flash", fe, i;
14
-
15
- tinyMCEPopup.resizeToInnerSize();
16
- f = document.forms[0]
17
-
18
- fe = tinyMCE.selectedInstance.getFocusElement();
19
- if (/mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) {
20
- pl = "x={" + fe.title + "};";
21
-
22
- switch (tinyMCE.getAttrib(fe, 'class')) {
23
- case 'mceItemFlash':
24
- type = 'flash';
25
- break;
26
-
27
- case 'mceItemShockWave':
28
- type = 'shockwave';
29
- break;
30
-
31
- case 'mceItemWindowsMedia':
32
- type = 'wmp';
33
- break;
34
-
35
- case 'mceItemQuickTime':
36
- type = 'qt';
37
- break;
38
-
39
- case 'mceItemRealMedia':
40
- type = 'rmp';
41
- break;
42
- }
43
-
44
- document.forms[0].insert.value = tinyMCE.getLang('lang_update', 'Insert', true);
45
- }
46
-
47
- document.getElementById('filebrowsercontainer').innerHTML = getBrowserHTML('filebrowser','src','media','media');
48
- document.getElementById('qtsrcfilebrowsercontainer').innerHTML = getBrowserHTML('qtsrcfilebrowser','qt_qtsrc','media','media');
49
- document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
50
-
51
- var html = getMediaListHTML('filebrowser','src','media','media');
52
- if (html == "")
53
- document.getElementById("linklistrow").style.display = 'none';
54
- else
55
- document.getElementById("linklistcontainer").innerHTML = html;
56
-
57
- // Resize some elements
58
- if (isVisible('filebrowsercontainer'))
59
- document.getElementById('src').style.width = '230px';
60
-
61
- // Setup form
62
- if (pl != "") {
63
- pl = eval(pl);
64
-
65
- switch (type) {
66
- case "flash":
67
- setBool(pl, 'flash', 'play');
68
- setBool(pl, 'flash', 'loop');
69
- setBool(pl, 'flash', 'menu');
70
- setBool(pl, 'flash', 'swliveconnect');
71
- setStr(pl, 'flash', 'quality');
72
- setStr(pl, 'flash', 'scale');
73
- setStr(pl, 'flash', 'salign');
74
- setStr(pl, 'flash', 'wmode');
75
- setStr(pl, 'flash', 'base');
76
- setStr(pl, 'flash', 'flashvars');
77
- break;
78
-
79
- case "qt":
80
- setBool(pl, 'qt', 'loop');
81
- setBool(pl, 'qt', 'autoplay');
82
- setBool(pl, 'qt', 'cache');
83
- setBool(pl, 'qt', 'controller');
84
- setBool(pl, 'qt', 'correction');
85
- setBool(pl, 'qt', 'enablejavascript');
86
- setBool(pl, 'qt', 'kioskmode');
87
- setBool(pl, 'qt', 'autohref');
88
- setBool(pl, 'qt', 'playeveryframe');
89
- setBool(pl, 'qt', 'tarsetcache');
90
- setStr(pl, 'qt', 'scale');
91
- setStr(pl, 'qt', 'starttime');
92
- setStr(pl, 'qt', 'endtime');
93
- setStr(pl, 'qt', 'tarset');
94
- setStr(pl, 'qt', 'qtsrcchokespeed');
95
- setStr(pl, 'qt', 'volume');
96
- setStr(pl, 'qt', 'qtsrc');
97
- break;
98
-
99
- case "shockwave":
100
- setBool(pl, 'shockwave', 'sound');
101
- setBool(pl, 'shockwave', 'progress');
102
- setBool(pl, 'shockwave', 'autostart');
103
- setBool(pl, 'shockwave', 'swliveconnect');
104
- setStr(pl, 'shockwave', 'swvolume');
105
- setStr(pl, 'shockwave', 'swstretchstyle');
106
- setStr(pl, 'shockwave', 'swstretchhalign');
107
- setStr(pl, 'shockwave', 'swstretchvalign');
108
- break;
109
-
110
- case "wmp":
111
- setBool(pl, 'wmp', 'autostart');
112
- setBool(pl, 'wmp', 'enabled');
113
- setBool(pl, 'wmp', 'enablecontextmenu');
114
- setBool(pl, 'wmp', 'fullscreen');
115
- setBool(pl, 'wmp', 'invokeurls');
116
- setBool(pl, 'wmp', 'mute');
117
- setBool(pl, 'wmp', 'stretchtofit');
118
- setBool(pl, 'wmp', 'windowlessvideo');
119
- setStr(pl, 'wmp', 'balance');
120
- setStr(pl, 'wmp', 'baseurl');
121
- setStr(pl, 'wmp', 'captioningid');
122
- setStr(pl, 'wmp', 'currentmarker');
123
- setStr(pl, 'wmp', 'currentposition');
124
- setStr(pl, 'wmp', 'defaultframe');
125
- setStr(pl, 'wmp', 'playcount');
126
- setStr(pl, 'wmp', 'rate');
127
- setStr(pl, 'wmp', 'uimode');
128
- setStr(pl, 'wmp', 'volume');
129
- break;
130
-
131
- case "rmp":
132
- setBool(pl, 'rmp', 'autostart');
133
- setBool(pl, 'rmp', 'loop');
134
- setBool(pl, 'rmp', 'autogotourl');
135
- setBool(pl, 'rmp', 'center');
136
- setBool(pl, 'rmp', 'imagestatus');
137
- setBool(pl, 'rmp', 'maintainaspect');
138
- setBool(pl, 'rmp', 'nojava');
139
- setBool(pl, 'rmp', 'prefetch');
140
- setBool(pl, 'rmp', 'shuffle');
141
- setStr(pl, 'rmp', 'console');
142
- setStr(pl, 'rmp', 'controls');
143
- setStr(pl, 'rmp', 'numloop');
144
- setStr(pl, 'rmp', 'scriptcallbacks');
145
- break;
146
- }
147
-
148
- setStr(pl, null, 'src');
149
- setStr(pl, null, 'id');
150
- setStr(pl, null, 'name');
151
- setStr(pl, null, 'vspace');
152
- setStr(pl, null, 'hspace');
153
- setStr(pl, null, 'bgcolor');
154
- setStr(pl, null, 'align');
155
- setStr(pl, null, 'width');
156
- setStr(pl, null, 'height');
157
-
158
- if ((val = tinyMCE.getAttrib(fe, "width")) != "")
159
- pl.width = f.width.value = val;
160
-
161
- if ((val = tinyMCE.getAttrib(fe, "height")) != "")
162
- pl.height = f.height.value = val;
163
-
164
- oldWidth = pl.width ? parseInt(pl.width) : 0;
165
- oldHeight = pl.height ? parseInt(pl.height) : 0;
166
- } else
167
- oldWidth = oldHeight = 0;
168
-
169
- selectByValue(f, 'media_type', type);
170
- changedType(type);
171
- updateColor('bgcolor_pick', 'bgcolor');
172
-
173
- TinyMCE_EditableSelects.init();
174
- generatePreview();
175
- }
176
-
177
- function insertMedia() {
178
- var fe, f = document.forms[0], h;
179
-
180
- if (!AutoValidator.validate(f)) {
181
- alert(tinyMCE.getLang('lang_invalid_data'));
182
- return false;
183
- }
184
-
185
- f.width.value = f.width.value == "" ? 100 : f.width.value;
186
- f.height.value = f.height.value == "" ? 100 : f.height.value;
187
-
188
- fe = tinyMCE.selectedInstance.getFocusElement();
189
- if (fe != null && /mceItem(Flash|ShockWave|WindowsMedia|QuickTime|RealMedia)/.test(tinyMCE.getAttrib(fe, 'class'))) {
190
- switch (f.media_type.options[f.media_type.selectedIndex].value) {
191
- case "flash":
192
- fe.className = "mceItemFlash";
193
- break;
194
-
195
- case "shockwave":
196
- fe.className = "mceItemShockWave";
197
- break;
198
-
199
- case "qt":
200
- fe.className = "mceItemQuickTime";
201
- break;
202
-
203
- case "wmp":
204
- fe.className = "mceItemWindowsMedia";
205
- break;
206
-
207
- case "rmp":
208
- fe.className = "mceItemRealMedia";
209
- break;
210
- }
211
-
212
- if (fe.width != f.width.value || fe.height != f.height.height)
213
- tinyMCE.selectedInstance.repaint();
214
-
215
- fe.title = serializeParameters();
216
- fe.width = f.width.value;
217
- fe.height = f.height.value;
218
- fe.style.width = f.width.value + (f.width.value.indexOf('%') == -1 ? 'px' : '');
219
- fe.style.height = f.height.value + (f.height.value.indexOf('%') == -1 ? 'px' : '');
220
- fe.align = f.align.options[f.align.selectedIndex].value;
221
- } else {
222
- h = '<img src="' + tinyMCE.getParam("theme_href") + '/images/spacer.gif"' ;
223
-
224
- switch (f.media_type.options[f.media_type.selectedIndex].value) {
225
- case "flash":
226
- h += ' class="mceItemFlash"';
227
- break;
228
-
229
- case "shockwave":
230
- h += ' class="mceItemShockWave"';
231
- break;
232
-
233
- case "qt":
234
- h += ' class="mceItemQuickTime"';
235
- break;
236
-
237
- case "wmp":
238
- h += ' class="mceItemWindowsMedia"';
239
- break;
240
-
241
- case "rmp":
242
- h += ' class="mceItemRealMedia"';
243
- break;
244
- }
245
-
246
- h += ' title="' + serializeParameters() + '"';
247
- h += ' width="' + f.width.value + '"';
248
- h += ' height="' + f.height.value + '"';
249
- h += ' align="' + f.align.options[f.align.selectedIndex].value + '"';
250
-
251
- h += ' />';
252
-
253
- tinyMCE.selectedInstance.execCommand('mceInsertContent', false, h);
254
- }
255
-
256
- tinyMCEPopup.close();
257
- }
258
-
259
- function getMediaListHTML() {
260
- if (typeof(tinyMCEMediaList) != "undefined" && tinyMCEMediaList.length > 0) {
261
- var html = "";
262
-
263
- html += '<select id="linklist" name="linklist" style="width: 250px" onfocus="tinyMCE.addSelectAccessibility(event, this, window);" onchange="this.form.src.value=this.options[this.selectedIndex].value;">';
264
- html += '<option value="">---</option>';
265
-
266
- for (var i=0; i<tinyMCEMediaList.length; i++)
267
- html += '<option value="' + tinyMCEMediaList[i][1] + '">' + tinyMCEMediaList[i][0] + '</option>';
268
-
269
- html += '</select>';
270
-
271
- return html;
272
- }
273
-
274
- return "";
275
- }
276
-
277
- function getType(v) {
278
- var fo, i, c, el, x, f = document.forms[0];
279
-
280
- fo = tinyMCE.getParam("media_types", "flash=swf;shockwave=dcr;qt=mov,qt,mpg,mp3,mp4,mpeg;shockwave=dcr;wmp=avi,wmv,wm,asf,asx,wmx,wvx;rmp=rm,ra,ram").split(';');
281
-
282
- // YouTube
283
- if (v.indexOf('http://www.youtube.com/watch?v=') == 0 || v.indexOf('http://youtube.com/watch?v=') == 0) {
284
- f.width.value = '425';
285
- f.height.value = '350';
286
-
287
- v = v.replace('http://youtube.com/watch?v=', '');
288
- v = v.replace('http://www.youtube.com/watch?v=', '');
289
-
290
- f.src.value = 'http://www.youtube.com/v/' + v;
291
- return 'flash';
292
- }
293
-
294
- // Google video
295
- if (v.indexOf('http://video.google.com/videoplay?docid=') == 0) {
296
- f.width.value = '425';
297
- f.height.value = '326';
298
- f.src.value = 'http://video.google.com/googleplayer.swf?docId=' + v.substring('http://video.google.com/videoplay?docid='.length) + '&hl=en';
299
- return 'flash';
300
- }
301
-
302
- for (i=0; i<fo.length; i++) {
303
- c = fo[i].split('=');
304
-
305
- el = c[1].split(',');
306
- for (x=0; x<el.length; x++)
307
- if (v.indexOf('.' + el[x]) != -1)
308
- return c[0];
309
- }
310
-
311
- return null;
312
- }
313
-
314
- function switchType(v) {
315
- var t = getType(v), d = document, f = d.forms[0];
316
-
317
- if (!t)
318
- return;
319
-
320
- selectByValue(d.forms[0], 'media_type', t);
321
- changedType(t);
322
-
323
- // Update qtsrc also
324
- if (t == 'qt' && f.src.value.toLowerCase().indexOf('rtsp://') != -1) {
325
- alert(tinyMCE.getLang("lang_media_qt_stream_warn"));
326
-
327
- if (f.qt_qtsrc.value == '')
328
- f.qt_qtsrc.value = f.src.value;
329
- }
330
- }
331
-
332
- function changedType(t) {
333
- var d = document;
334
-
335
- d.getElementById('flash_options').style.display = 'none';
336
- d.getElementById('qt_options').style.display = 'none';
337
- d.getElementById('shockwave_options').style.display = 'none';
338
- d.getElementById('wmp_options').style.display = 'none';
339
- d.getElementById('rmp_options').style.display = 'none';
340
- d.getElementById(t + '_options').style.display = 'block';
341
- }
342
-
343
- function serializeParameters() {
344
- var d = document, f = d.forms[0], s = '';
345
-
346
- switch (f.media_type.options[f.media_type.selectedIndex].value) {
347
- case "flash":
348
- s += getBool('flash', 'play', true);
349
- s += getBool('flash', 'loop', true);
350
- s += getBool('flash', 'menu', true);
351
- s += getBool('flash', 'swliveconnect', false);
352
- s += getStr('flash', 'quality');
353
- s += getStr('flash', 'scale');
354
- s += getStr('flash', 'salign');
355
- s += getStr('flash', 'wmode');
356
- s += getStr('flash', 'base');
357
- s += getStr('flash', 'flashvars');
358
- break;
359
-
360
- case "qt":
361
- s += getBool('qt', 'loop', false);
362
- s += getBool('qt', 'autoplay', true);
363
- s += getBool('qt', 'cache', false);
364
- s += getBool('qt', 'controller', true);
365
- s += getBool('qt', 'correction', false, 'none', 'full');
366
- s += getBool('qt', 'enablejavascript', false);
367
- s += getBool('qt', 'kioskmode', false);
368
- s += getBool('qt', 'autohref', false);
369
- s += getBool('qt', 'playeveryframe', false);
370
- s += getBool('qt', 'targetcache', false);
371
- s += getStr('qt', 'scale');
372
- s += getStr('qt', 'starttime');
373
- s += getStr('qt', 'endtime');
374
- s += getStr('qt', 'target');
375
- s += getStr('qt', 'qtsrcchokespeed');
376
- s += getStr('qt', 'volume');
377
- s += getStr('qt', 'qtsrc');
378
- break;
379
-
380
- case "shockwave":
381
- s += getBool('shockwave', 'sound');
382
- s += getBool('shockwave', 'progress');
383
- s += getBool('shockwave', 'autostart');
384
- s += getBool('shockwave', 'swliveconnect');
385
- s += getStr('shockwave', 'swvolume');
386
- s += getStr('shockwave', 'swstretchstyle');
387
- s += getStr('shockwave', 'swstretchhalign');
388
- s += getStr('shockwave', 'swstretchvalign');
389
- break;
390
-
391
- case "wmp":
392
- s += getBool('wmp', 'autostart', true);
393
- s += getBool('wmp', 'enabled', false);
394
- s += getBool('wmp', 'enablecontextmenu', true);
395
- s += getBool('wmp', 'fullscreen', false);
396
- s += getBool('wmp', 'invokeurls', true);
397
- s += getBool('wmp', 'mute', false);
398
- s += getBool('wmp', 'stretchtofit', false);
399
- s += getBool('wmp', 'windowlessvideo', false);
400
- s += getStr('wmp', 'balance');
401
- s += getStr('wmp', 'baseurl');
402
- s += getStr('wmp', 'captioningid');
403
- s += getStr('wmp', 'currentmarker');
404
- s += getStr('wmp', 'currentposition');
405
- s += getStr('wmp', 'defaultframe');
406
- s += getStr('wmp', 'playcount');
407
- s += getStr('wmp', 'rate');
408
- s += getStr('wmp', 'uimode');
409
- s += getStr('wmp', 'volume');
410
- break;
411
-
412
- case "rmp":
413
- s += getBool('rmp', 'autostart', false);
414
- s += getBool('rmp', 'loop', false);
415
- s += getBool('rmp', 'autogotourl', true);
416
- s += getBool('rmp', 'center', false);
417
- s += getBool('rmp', 'imagestatus', true);
418
- s += getBool('rmp', 'maintainaspect', false);
419
- s += getBool('rmp', 'nojava', false);
420
- s += getBool('rmp', 'prefetch', false);
421
- s += getBool('rmp', 'shuffle', false);
422
- s += getStr('rmp', 'console');
423
- s += getStr('rmp', 'controls');
424
- s += getStr('rmp', 'numloop');
425
- s += getStr('rmp', 'scriptcallbacks');
426
- break;
427
- }
428
-
429
- s += getStr(null, 'id');
430
- s += getStr(null, 'name');
431
- s += getStr(null, 'src');
432
- s += getStr(null, 'align');
433
- s += getStr(null, 'bgcolor');
434
- s += getInt(null, 'vspace');
435
- s += getInt(null, 'hspace');
436
- s += getStr(null, 'width');
437
- s += getStr(null, 'height');
438
-
439
- s = s.length > 0 ? s.substring(0, s.length - 1) : s;
440
-
441
- return s;
442
- }
443
-
444
- function setBool(pl, p, n) {
445
- if (typeof(pl[n]) == "undefined")
446
- return;
447
-
448
- document.forms[0].elements[p + "_" + n].checked = pl[n];
449
- }
450
-
451
- function setStr(pl, p, n) {
452
- var f = document.forms[0], e = f.elements[(p != null ? p + "_" : '') + n];
453
-
454
- if (typeof(pl[n]) == "undefined")
455
- return;
456
-
457
- if (e.type == "text")
458
- e.value = pl[n];
459
- else
460
- selectByValue(f, (p != null ? p + "_" : '') + n, pl[n]);
461
- }
462
-
463
- function getBool(p, n, d, tv, fv) {
464
- var v = document.forms[0].elements[p + "_" + n].checked;
465
-
466
- tv = typeof(tv) == 'undefined' ? 'true' : "'" + jsEncode(tv) + "'";
467
- fv = typeof(fv) == 'undefined' ? 'false' : "'" + jsEncode(fv) + "'";
468
-
469
- return (v == d) ? '' : n + (v ? ':' + tv + ',' : ':' + fv + ',');
470
- }
471
-
472
- function getStr(p, n, d) {
473
- var e = document.forms[0].elements[(p != null ? p + "_" : "") + n];
474
- var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value;
475
-
476
- return ((n == d || v == '') ? '' : n + ":'" + jsEncode(v) + "',");
477
- }
478
-
479
- function getInt(p, n, d) {
480
- var e = document.forms[0].elements[(p != null ? p + "_" : "") + n];
481
- var v = e.type == "text" ? e.value : e.options[e.selectedIndex].value;
482
-
483
- return ((n == d || v == '') ? '' : n + ":" + v.replace(/[^0-9]+/g, '') + ",");
484
- }
485
-
486
- function jsEncode(s) {
487
- s = s.replace(new RegExp('\\\\', 'g'), '\\\\');
488
- s = s.replace(new RegExp('"', 'g'), '\\"');
489
- s = s.replace(new RegExp("'", 'g'), "\\'");
490
-
491
- return s;
492
- }
493
-
494
- function generatePreview(c) {
495
- var f = document.forms[0], p = document.getElementById('prev'), h = '', cls, pl, n, type, codebase, wp, hp, nw, nh;
496
-
497
- p.innerHTML = '<!-- x --->';
498
-
499
- nw = parseInt(f.width.value);
500
- nh = parseInt(f.height.value);
501
-
502
- if (f.width.value != "" && f.height.value != "") {
503
- if (f.constrain.checked) {
504
- if (c == 'width' && oldWidth != 0) {
505
- wp = nw / oldWidth;
506
- nh = Math.round(wp * nh);
507
- f.height.value = nh;
508
- } else if (c == 'height' && oldHeight != 0) {
509
- hp = nh / oldHeight;
510
- nw = Math.round(hp * nw);
511
- f.width.value = nw;
512
- }
513
- }
514
- }
515
-
516
- if (f.width.value != "")
517
- oldWidth = nw;
518
-
519
- if (f.height.value != "")
520
- oldHeight = nh;
521
-
522
- // After constrain
523
- pl = serializeParameters();
524
-
525
- switch (f.media_type.options[f.media_type.selectedIndex].value) {
526
- case "flash":
527
- cls = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
528
- codebase = 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0';
529
- type = 'application/x-shockwave-flash';
530
- break;
531
-
532
- case "shockwave":
533
- cls = 'clsid:166B1BCA-3F9C-11CF-8075-444553540000';
534
- codebase = 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab#version=8,5,1,0';
535
- type = 'application/x-director';
536
- break;
537
-
538
- case "qt":
539
- cls = 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B';
540
- codebase = 'http://www.apple.com/qtactivex/qtplugin.cab#version=6,0,2,0';
541
- type = 'video/quicktime';
542
- break;
543
-
544
- case "wmp":
545
- cls = tinyMCE.getParam('media_wmp6_compatible') ? 'clsid:05589FA1-C356-11CE-BF01-00AA0055595A' : 'clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6';
546
- codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
547
- type = 'application/x-mplayer2';
548
- break;
549
-
550
- case "rmp":
551
- cls = 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA';
552
- codebase = 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701';
553
- type = 'audio/x-pn-realaudio-plugin';
554
- break;
555
- }
556
-
557
- if (pl == '') {
558
- p.innerHTML = '';
559
- return;
560
- }
561
-
562
- pl = eval('x={' + pl + '};');
563
-
564
- if (!pl.src) {
565
- p.innerHTML = '';
566
- return;
567
- }
568
-
569
- pl.src = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], pl.src);
570
- pl.width = !pl.width ? 100 : pl.width;
571
- pl.height = !pl.height ? 100 : pl.height;
572
- pl.id = !pl.id ? 'obj' : pl.id;
573
- pl.name = !pl.name ? 'eobj' : pl.name;
574
- pl.align = !pl.align ? '' : pl.align;
575
-
576
- h += '<object classid="clsid:' + cls + '" codebase="' + codebase + '" width="' + pl.width + '" height="' + pl.height + '" id="' + pl.id + '" name="' + pl.name + '" align="' + pl.align + '">';
577
-
578
- for (n in pl) {
579
- h += '<param name="' + n + '" value="' + pl[n] + '">';
580
-
581
- // Add extra url parameter if it's an absolute URL
582
- if (n == 'src' && pl[n].indexOf('://') != -1)
583
- h += '<param name="url" value="' + pl[n] + '" />';
584
- }
585
-
586
- h += '<embed type="' + type + '" ';
587
-
588
- for (n in pl)
589
- h += n + '="' + pl[n] + '" ';
590
-
591
- h += '></embed></object>';
592
-
593
- p.innerHTML = "<!-- x --->" + h;
594
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/langs/de_de.js DELETED
@@ -1,85 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('media',{
4
- title : 'Eingebettete Medien einf&uuml;gen / bearbeiten',
5
- desc : 'Eingebettete Medien einf&uuml;gen / bearbeiten',
6
- general : 'Allgemein',
7
- advanced : 'Erweitert',
8
- file : 'Datei',
9
- list : 'Liste',
10
- size : 'Abmessung',
11
- preview : 'Vorschau',
12
- constrain_proportions : 'Gr&ouml;&szlig;enverh&auml;ltnis erzwingen',
13
- type : 'Typ',
14
- id : 'Id',
15
- name : 'Name',
16
- class_name : 'Klasse',
17
- vspace : 'V-Space',
18
- hspace : 'H-Space',
19
- play : 'Autom. abspielen',
20
- loop : 'Wiederholung',
21
- menu : 'Men&uuml; zeigen',
22
- quality : 'Qualit&auml;t',
23
- scale : 'Skalieren',
24
- align : 'Ausrichten',
25
- salign : 'SAlign',
26
- wmode : 'WModus',
27
- bgcolor : 'Hintergrund',
28
- base : 'Basis',
29
- flashvars : 'Flashvars',
30
- liveconnect : 'SWLiveConnect',
31
- autohref : 'AutoHREF',
32
- cache : 'Cache',
33
- hidden : 'Versteckt',
34
- controller : 'Controller',
35
- kioskmode : 'Kiosk Modus',
36
- playeveryframe : 'Spiele jeden Frame',
37
- targetcache : 'Ziel Cache',
38
- correction : 'Keine Korrektur',
39
- enablejavascript : 'JavaScript eingeschaltet',
40
- starttime : 'Startzeit',
41
- endtime : 'Endzeit',
42
- href : 'Href',
43
- qtsrcchokespeed : 'Choke speed',
44
- target : 'Ziel',
45
- volume : 'Lautst&auml;rke',
46
- autostart : 'Autom. Start',
47
- enabled : 'Eingeschaltet',
48
- fullscreen : 'Vollbildschirm',
49
- invokeurls : 'Aufgerufende URLs',
50
- mute : 'Stumm',
51
- stretchtofit : 'Ausdehnen',
52
- windowlessvideo : 'Fensterloses Video',
53
- balance : 'Balance',
54
- baseurl : 'Base URL',
55
- captioningid : 'Untertitel Id',
56
- currentmarker : 'Jetziger Marker',
57
- currentposition : 'Jetzige Position',
58
- defaultframe : 'Standard Bild',
59
- playcount : 'Spiel Z&auml;hler',
60
- rate : 'Rate',
61
- uimode : 'UI Modus',
62
- flash_options : 'Flash Optionen',
63
- qt_options : 'Quicktime Optionen',
64
- wmp_options : 'Windows Media Player Optionen',
65
- rmp_options : 'Real Media Player Optionen',
66
- shockwave_options : 'Shockwave Optionen',
67
- autogotourl : 'Autom. geh zu URL',
68
- center : 'Zentriert',
69
- imagestatus : 'Bildstatus',
70
- maintainaspect : 'Verh&auml;ltnis beibehalten',
71
- nojava : 'Kein Java',
72
- prefetch : 'Prefetch',
73
- shuffle : 'Shuffle',
74
- console : 'Konsole',
75
- numloop : 'Num Loops',
76
- controls : 'Kontrollen',
77
- scriptcallbacks : 'Script callbacks',
78
- swstretchstyle : 'Style ausdehnen',
79
- swstretchhalign : 'H-Align ausdehnen',
80
- swstretchvalign : 'V-Align ausdehnen',
81
- sound : 'Sound',
82
- progress : 'Fortschritt',
83
- qtsrc : 'QT Quelle',
84
- qt_stream_warn : 'Streamed rtsp Ressourcen sollten unter dem QT Src Feld im Erweitert-Tab hinzugef&uuml;gt werden.\nSie sollten auch noch eine nicht gestreamete Version im SRC Feld eintragen...'
85
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/langs/en.js DELETED
@@ -1,94 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('media',{
4
- title : 'Insert / edit embedded media',
5
- desc : 'Insert / edit embedded media',
6
- general : 'General',
7
- advanced : 'Advanced',
8
- file : 'File/URL',
9
- list : 'List',
10
- size : 'Dimensions',
11
- preview : 'Preview',
12
- constrain_proportions : 'Constrain proportions',
13
- type : 'Type',
14
- id : 'Id',
15
- name : 'Name',
16
- class_name : 'Class',
17
- vspace : 'V-Space',
18
- hspace : 'H-Space',
19
- play : 'Auto play',
20
- loop : 'Loop',
21
- menu : 'Show menu',
22
- quality : 'Quality',
23
- scale : 'Scale',
24
- align : 'Align',
25
- salign : 'SAlign',
26
- wmode : 'WMode',
27
- bgcolor : 'Background',
28
- base : 'Base',
29
- flashvars : 'Flashvars',
30
- liveconnect : 'SWLiveConnect',
31
- autohref : 'AutoHREF',
32
- cache : 'Cache',
33
- hidden : 'Hidden',
34
- controller : 'Controller',
35
- kioskmode : 'Kiosk mode',
36
- playeveryframe : 'Play every frame',
37
- targetcache : 'Target cache',
38
- correction : 'No correction',
39
- enablejavascript : 'Enable JavaScript',
40
- starttime : 'Start time',
41
- endtime : 'End time',
42
- href : 'Href',
43
- qtsrcchokespeed : 'Choke speed',
44
- target : 'Target',
45
- volume : 'Volume',
46
- autostart : 'Auto start',
47
- enabled : 'Enabled',
48
- fullscreen : 'Fullscreen',
49
- invokeurls : 'Invoke URLs',
50
- mute : 'Mute',
51
- stretchtofit : 'Stretch to fit',
52
- windowlessvideo : 'Windowless video',
53
- balance : 'Balance',
54
- baseurl : 'Base URL',
55
- captioningid : 'Captioning id',
56
- currentmarker : 'Current marker',
57
- currentposition : 'Current position',
58
- defaultframe : 'Default frame',
59
- playcount : 'Play count',
60
- rate : 'Rate',
61
- uimode : 'UI Mode',
62
- flash_options : 'Flash options',
63
- qt_options : 'Quicktime options',
64
- wmp_options : 'Windows media player options',
65
- rmp_options : 'Real media player options',
66
- shockwave_options : 'Shockwave options',
67
- autogotourl : 'Auto goto URL',
68
- center : 'Center',
69
- imagestatus : 'Image status',
70
- maintainaspect : 'Maintain aspect',
71
- nojava : 'No java',
72
- prefetch : 'Prefetch',
73
- shuffle : 'Shuffle',
74
- console : 'Console',
75
- numloop : 'Num loops',
76
- controls : 'Controls',
77
- scriptcallbacks : 'Script callbacks',
78
- swstretchstyle : 'Stretch style',
79
- swstretchhalign : 'Stretch H-Align',
80
- swstretchvalign : 'Stretch V-Align',
81
- sound : 'Sound',
82
- progress : 'Progress',
83
- qtsrc : 'QT Src',
84
- qt_stream_warn : 'Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field..',
85
- align_top : 'Top',
86
- align_right : 'Right',
87
- align_bottom : 'Bottom',
88
- align_left : 'Left',
89
- align_center : 'Center',
90
- align_top_left : 'Top left',
91
- align_top_right : 'Top right',
92
- align_bottom_left : 'Bottom left',
93
- align_bottom_right : 'Bottom right'
94
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/langs/es_es.js DELETED
@@ -1,85 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('media',{
4
- title : 'Insert / edit embedded media',
5
- desc : 'Insert / edit embedded media',
6
- general : 'General',
7
- advanced : 'Advanced',
8
- file : 'File',
9
- list : 'List',
10
- size : 'Dimensions',
11
- preview : 'Preview',
12
- constrain_proportions : 'Constrain proportions',
13
- type : 'Type',
14
- id : 'Id',
15
- name : 'Name',
16
- class_name : 'Class',
17
- vspace : 'V-Space',
18
- hspace : 'H-Space',
19
- play : 'Auto play',
20
- loop : 'Loop',
21
- menu : 'Show menu',
22
- quality : 'Quality',
23
- scale : 'Scale',
24
- align : 'Align',
25
- salign : 'SAlign',
26
- wmode : 'WMode',
27
- bgcolor : 'Background',
28
- base : 'Base',
29
- flashvars : 'Flashvars',
30
- liveconnect : 'SWLiveConnect',
31
- autohref : 'AutoHREF',
32
- cache : 'Cache',
33
- hidden : 'Hidden',
34
- controller : 'Controller',
35
- kioskmode : 'Kiosk mode',
36
- playeveryframe : 'Play every frame',
37
- targetcache : 'Target cache',
38
- correction : 'No correction',
39
- enablejavascript : 'Enable JavaScript',
40
- starttime : 'Start time',
41
- endtime : 'End time',
42
- href : 'Href',
43
- qtsrcchokespeed : 'Choke speed',
44
- target : 'Target',
45
- volume : 'Volume',
46
- autostart : 'Auto start',
47
- enabled : 'Enabled',
48
- fullscreen : 'Fullscreen',
49
- invokeurls : 'Invoke URLs',
50
- mute : 'Mute',
51
- stretchtofit : 'Stretch to fit',
52
- windowlessvideo : 'Windowless video',
53
- balance : 'Balance',
54
- baseurl : 'Base URL',
55
- captioningid : 'Captioning id',
56
- currentmarker : 'Current marker',
57
- currentposition : 'Current position',
58
- defaultframe : 'Default frame',
59
- playcount : 'Play count',
60
- rate : 'Rate',
61
- uimode : 'UI Mode',
62
- flash_options : 'Flash options',
63
- qt_options : 'Quicktime options',
64
- wmp_options : 'Windows media player options',
65
- rmp_options : 'Real media player options',
66
- shockwave_options : 'Shockwave options',
67
- autogotourl : 'Auto goto URL',
68
- center : 'Center',
69
- imagestatus : 'Image status',
70
- maintainaspect : 'Maintain aspect',
71
- nojava : 'No java',
72
- prefetch : 'Prefetch',
73
- shuffle : 'Shuffle',
74
- console : 'Console',
75
- numloop : 'Num loops',
76
- controls : 'Controls',
77
- scriptcallbacks : 'Script callbacks',
78
- swstretchstyle : 'Stretch style',
79
- swstretchhalign : 'Stretch H-Align',
80
- swstretchvalign : 'Stretch V-Align',
81
- sound : 'Sound',
82
- progress : 'Progress',
83
- qtsrc : 'QT Src',
84
- qt_stream_warn : 'Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field..'
85
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/langs/fr_fr.js DELETED
@@ -1,95 +0,0 @@
1
- // FR lang variables
2
- // Modified by shadow walker, last updated 2007-03-16, based on the work of Motte
3
-
4
- tinyMCE.addToLang('media',{
5
- title : 'Ins&eacute;rer / Editer des medias',
6
- desc : 'Ins&eacute;rer / Editer des medias',
7
- general : 'G&eacute;n&eacute;ral',
8
- advanced : 'Avancement',
9
- file : 'Fichier',
10
- list : 'Liste',
11
- size : 'Taille',
12
- preview : 'Pr&eacute;visualisation',
13
- constrain_proportions : 'Garder les proportions',
14
- type : 'Type',
15
- id : 'Id',
16
- name : 'Nom',
17
- class_name : 'Classe',
18
- vspace : 'V-Space',
19
- hspace : 'H-Space',
20
- play : 'Lecture automatique',
21
- loop : 'R&eacute;p&eacute;ter',
22
- menu : 'Menu',
23
- quality : 'Qualit&eacute;',
24
- scale : 'Balance',
25
- align : 'Aligner',
26
- salign : 'SAlign',
27
- wmode : 'WMode',
28
- bgcolor : 'Arri�e plan',
29
- base : 'Base',
30
- flashvars : 'Flashvars',
31
- liveconnect : 'SWLiveConnect',
32
- autohref : 'AutoHREF',
33
- cache : 'Cache',
34
- hidden : 'Cache',
35
- controller : 'Controleur',
36
- kioskmode : 'Mode Kioske',
37
- playeveryframe : 'Jouer chaque partie',
38
- targetcache : 'Cible cach&eacute;e',
39
- correction : 'Pas de corrections',
40
- enablejavascript : 'Permettre le JavaScript',
41
- starttime : 'D&eacute;but',
42
- endtime : 'Fin',
43
- href : 'Href',
44
- qtsrcchokespeed : 'Vitesse de d&eacute;roulement',
45
- target : 'Cible',
46
- volume : 'Volume',
47
- autostart : 'D&eacute;marrer automatiquement',
48
- enabled : 'Autoris&eacute;',
49
- fullscreen : 'Plein &eacute;cran',
50
- invokeurls : 'Invoke URLs',
51
- mute : 'Muet',
52
- stretchtofit : 'Redimensionner',
53
- windowlessvideo : 'Vid&eacute;o sans fen�re',
54
- balance : 'Balance',
55
- baseurl : 'URL de base',
56
- captioningid : 'Captioning id',
57
- currentmarker : 'Markeur actuel',
58
- currentposition : 'Position actuelle',
59
- defaultframe : 'Par d&eacute;faut',
60
- playcount : 'Nombre delecture',
61
- rate : 'Taux',
62
- uimode : 'Mode UI',
63
- flash_options : 'Options flash',
64
- qt_options : 'Options quicktime',
65
- wmp_options : 'Options windows media player',
66
- rmp_options : 'Options real media player',
67
- shockwave_options : 'Options shockwave',
68
- autogotourl : 'Auto goto URL',
69
- center : 'Centre',
70
- imagestatus : 'Statut de l\'image',
71
- maintainaspect : 'Maintenir l\'aspect',
72
- nojava : 'Pas de java',
73
- prefetch : 'Pr&eacute;-chargement',
74
- shuffle : 'Al&eacute;atoire',
75
- console : 'Console',
76
- numloop : 'Nombre de boucles',
77
- controls : 'Controles',
78
- scriptcallbacks : 'Script callbacks',
79
- swstretchstyle : 'Stretch style',
80
- swstretchhalign : 'Stretch H-Align',
81
- swstretchvalign : 'Stretch V-Align',
82
- sound : 'Son',
83
- progress : 'Avancement',
84
- qtsrc : 'QT Src',
85
- qt_stream_warn : 'Les flux rtsp doivent �re ajout&eacute;s au champ QT Src dans l\'onglet avanc&eacute;.\nVous devriez ajouter une version sans flux au champ Src..',
86
- align_top : 'Haut',
87
- align_right : 'Droite',
88
- align_bottom : 'Bas',
89
- align_left : 'Gauche',
90
- align_center : 'Centrer',
91
- align_top_left : 'Haut gauche',
92
- align_top_right : 'Haut droit',
93
- align_bottom_left : 'Bas gauche',
94
- align_bottom_right : 'Bas droite'
95
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/langs/it_it.js DELETED
@@ -1,100 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('media',{
10
- title : 'Inserisci o modifica file multimediali',
11
- desc : 'Inserisci o modifica file multimediali',
12
- general : 'Generale',
13
- advanced : 'Avanzate',
14
- file : 'File',
15
- list : 'Lista',
16
- size : 'Dimensioni',
17
- preview : 'Anteprima',
18
- constrain_proportions : 'Mantieni proporzioni',
19
- type : 'Tipo',
20
- id : 'Id',
21
- name : 'Nome',
22
- class_name : 'Classe',
23
- vspace : 'V-Space',
24
- hspace : 'H-Space',
25
- play : 'Riproduzione automatica',
26
- loop : 'Cicla',
27
- menu : 'Mostra menu',
28
- quality : 'Qualit&agrave;',
29
- scale : 'Scala',
30
- align : 'Allineamento',
31
- salign : 'SAlign',
32
- wmode : 'WMode',
33
- bgcolor : 'Colore di sfondo',
34
- base : 'Base',
35
- flashvars : 'Flashvars',
36
- liveconnect : 'SWLiveConnect',
37
- autohref : 'AutoHREF',
38
- cache : 'Cache',
39
- hidden : 'Nascosto',
40
- controller : 'Controller',
41
- kioskmode : 'Kiosk mode',
42
- playeveryframe : 'Mostra tutti i frame',
43
- targetcache : 'Target cache',
44
- correction : 'Nessuna correzione',
45
- enablejavascript : 'Abilita JavaScript',
46
- starttime : 'Tempo iniziale',
47
- endtime : 'Tempo finale',
48
- href : 'Href',
49
- qtsrcchokespeed : 'Choke speed',
50
- target : 'Target',
51
- volume : 'Volume',
52
- autostart : 'Avvio automatico',
53
- enabled : 'Abilitato',
54
- fullscreen : 'Schermo intero',
55
- invokeurls : 'Invoca URL',
56
- mute : 'Muto',
57
- stretchtofit : 'Riempi',
58
- windowlessvideo : 'Video windowless',
59
- balance : 'Bilanciamento',
60
- baseurl : 'Base URL',
61
- captioningid : 'Captioning id',
62
- currentmarker : 'Marker corrente',
63
- currentposition : 'Posizione corrente',
64
- defaultframe : 'Frame di default',
65
- playcount : 'Play count',
66
- rate : 'Rate',
67
- uimode : 'Modo UI',
68
- flash_options : 'Opzioni Flash',
69
- qt_options : 'Opzioni Quicktime',
70
- wmp_options : 'Opzioni Windows Media Player',
71
- rmp_options : 'Opzioni Real Media Player',
72
- shockwave_options : 'Opzioni Shockwave',
73
- autogotourl : 'Auto goto URL',
74
- center : 'Centra',
75
- imagestatus : 'Image status',
76
- maintainaspect : 'Maintieni aspetto',
77
- nojava : 'No Java',
78
- prefetch : 'Prefetch',
79
- shuffle : 'Casuale',
80
- console : 'Console',
81
- numloop : 'Num. ripetizioni',
82
- controls : 'Controlli',
83
- scriptcallbacks : 'Script callbacks',
84
- swstretchstyle : 'Stretch style',
85
- swstretchhalign : 'Stretch H-Align',
86
- swstretchvalign : 'Stretch V-Align',
87
- sound : 'Suono',
88
- progress : 'Progresso',
89
- qtsrc : 'QT Src',
90
- qt_stream_warn : 'Le risorse &quot;Streamed RTSP&quot; devono essere aggiunte al campo &quot;QT Src&quot; nelle funzioni avanzate.\n&Egrave; meglio aggiungere anche una versione non in streaming nel campo Src.'
91
- align_top : 'In Alto',
92
- align_right : 'A destra',
93
- align_bottom : 'In basso',
94
- align_left : 'A sinistra',
95
- align_center : 'Al centro',
96
- align_top_left : 'In alto a sinistra',
97
- align_top_right : 'In alto a destra',
98
- align_bottom_left : 'In basso a sinistra',
99
- align_bottom_right : 'In basso a destra'
100
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/langs/pt_br.js DELETED
@@ -1,101 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 20, 2006 - TinyMCE Version : 2.0.8
9
- */
10
- tinyMCE.addToLang('media',{
11
- title : 'Inserir/editar m�dia incorporada',
12
- desc : 'Inserir/editar m�dia incorporada',
13
- general : 'Geral',
14
- advanced : 'Avan�ado',
15
- file : 'Arquivo',
16
- list : 'Lista',
17
- size : 'Dimens�es',
18
- preview : 'Preview',
19
- constrain_proportions : 'Confinar propor��es',
20
- type : 'Tipo',
21
- id : 'ID',
22
- name : 'Nome',
23
- class_name : 'Classe',
24
- vspace : 'Espa�o-V',
25
- hspace : 'Espa�o-H',
26
- play : 'Tocar automaticamente',
27
- loop : 'Loop',
28
- menu : 'Mostrar menu',
29
- quality : 'Qualidade',
30
- scale : 'Escala',
31
- align : 'Alinhamento',
32
- salign : 'SAlign',
33
- wmode : 'WMode',
34
- bgcolor : 'Fundo',
35
- base : 'Base',
36
- flashvars : 'Flashvars',
37
- liveconnect : 'SWLiveConnect',
38
- autohref : 'AutoHREF',
39
- cache : 'Cache',
40
- hidden : 'Escondido',
41
- controller : 'Controlador',
42
- kioskmode : 'Modo Kiosk',
43
- playeveryframe : 'Tocar cada frame',
44
- targetcache : 'Destino do cache',
45
- correction : 'Sem corre��o',
46
- enablejavascript : 'Ativar JavaScript',
47
- starttime : 'Tempo de in�cio',
48
- endtime : 'Tempo de fim',
49
- href : 'Href',
50
- qtsrcchokespeed : 'Velocidade do bloqueador',
51
- target : 'Destino',
52
- volume : 'Volume',
53
- autostart : 'In�cio autom�tico',
54
- enabled : 'Ativado',
55
- fullscreen : 'Tela Cheia',
56
- invokeurls : 'Chamar URLs',
57
- mute : 'Silencioso',
58
- stretchtofit : 'Esticar para caber',
59
- windowlessvideo : 'V�deo em janela',
60
- balance : 'Balan�o',
61
- baseurl : 'URL Base',
62
- captioningid : 'ID de identifica��o',
63
- currentmarker : 'Marcador atual',
64
- currentposition : 'Posi��o atual',
65
- defaultframe : 'Frame padr�o',
66
- playcount : 'Contador',
67
- rate : 'Taxa',
68
- uimode : 'Modo UI',
69
- flash_options : 'Op��es do Flash',
70
- qt_options : 'Op��es do Quicktime',
71
- wmp_options : 'Op��es do Windows media player',
72
- rmp_options : 'Op��es do Real media player',
73
- shockwave_options : 'Op��es do Shockwave',
74
- autogotourl : 'Ir automaticamente para URL',
75
- center : 'Centro',
76
- imagestatus : 'Status da imagem',
77
- maintainaspect : 'Manter aspecto',
78
- nojava : 'Sem java',
79
- prefetch : 'Leitura inicial',
80
- shuffle : 'Aleat�rio',
81
- console : 'Console',
82
- numloop : 'N�mero de loops',
83
- controls : 'Controles',
84
- scriptcallbacks : 'Script de retorno',
85
- swstretchstyle : 'Estilo para o Stretch',
86
- swstretchhalign : 'Stretch H-Align',
87
- swstretchvalign : 'Stretch V-Align',
88
- sound : 'Som',
89
- progress : 'Progresso',
90
- qtsrc : 'QT Src',
91
- qt_stream_warn : 'Os recursos do Streamed rtsp podem ser adicionado ao campo QT Src na aba avan�ada.\nVoc� pode tamb�m adicionar uma vers�o n�o streamer ao comapo Src.',
92
- align_top : 'Acima',
93
- align_right : 'Direita',
94
- align_bottom : 'Abaixo',
95
- align_left : 'Esquerda',
96
- align_center : 'Centro',
97
- align_top_left : 'Acima esquerda',
98
- align_top_right : 'Acima direita',
99
- align_bottom_left : 'Abaixo esquerda',
100
- align_bottom_right : 'Abaixo direita'
101
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/langs/ru_ru.js DELETED
@@ -1,94 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('media',{
4
- title : 'Вставить / редактировать медиа',
5
- desc : 'Вставить / редактировать медиа',
6
- general : 'Основной',
7
- advanced : 'Дополнительный',
8
- file : 'Файл',
9
- list : 'Список',
10
- size : 'Размеры',
11
- preview : 'Предпросмотр',
12
- constrain_proportions : 'Поддерживать пропорции',
13
- type : 'Тип',
14
- id : 'Id',
15
- name : 'Имя',
16
- class_name : 'Класс',
17
- vspace : 'V-Отступ',
18
- hspace : 'H-Отступ',
19
- play : 'Авто проигрывание',
20
- loop : 'Цикл',
21
- menu : 'Показать меню',
22
- quality : 'Качество',
23
- scale : 'Масштаб',
24
- align : 'Выравнивание',
25
- salign : 'S-Выравнивание',
26
- wmode : 'W-Режим',
27
- bgcolor : 'Фон',
28
- base : 'База',
29
- flashvars : 'Переменные флеш',
30
- liveconnect : 'SWLiveConnect',
31
- autohref : 'Авто Ссылка',
32
- cache : 'Кеш',
33
- hidden : 'Скрытый',
34
- controller : 'Контроллер',
35
- kioskmode : 'Режим Kiosk',
36
- playeveryframe : 'Проигрывать каждый кадр',
37
- targetcache : 'Целевой кеш',
38
- correction : 'No correction',
39
- enablejavascript : 'Включить JavaScript',
40
- starttime : 'Время начала',
41
- endtime : 'Время окончания',
42
- href : 'Ссылка',
43
- qtsrcchokespeed : 'Уменьшить скорость',
44
- target : 'Цель',
45
- volume : 'Громкость',
46
- autostart : 'Авто запуск',
47
- enabled : 'Включено',
48
- fullscreen : 'Полный экран',
49
- invokeurls : 'Активизировать ссылки',
50
- mute : 'Тишина',
51
- stretchtofit : 'Растянуть до вхождения',
52
- windowlessvideo : 'Безоконное видео',
53
- balance : 'Баланс',
54
- baseurl : 'Базовая ссылка',
55
- captioningid : 'Id ввода субтитров',
56
- currentmarker : 'Текущая отметка',
57
- currentposition : 'Текущая позиция',
58
- defaultframe : 'Кадр по умолчанию',
59
- playcount : 'Счетчик',
60
- rate : 'Частота',
61
- uimode : 'UI режим',
62
- flash_options : 'Опции Флеш',
63
- qt_options : 'Опции Quicktime',
64
- wmp_options : 'Опции проигрывателя Windows media',
65
- rmp_options : 'Опции проигрывателя Real media',
66
- shockwave_options : 'Опции Shockwave',
67
- autogotourl : 'Авто переход по ссылке',
68
- center : 'Центр',
69
- imagestatus : 'Статус изображения',
70
- maintainaspect : 'Поддерживать аспект',
71
- nojava : 'Без java',
72
- prefetch : 'Упреждение',
73
- shuffle : 'Перемешать',
74
- console : 'Консоль',
75
- numloop : 'Количество циклов',
76
- controls : 'Управления',
77
- scriptcallbacks : 'Обратный вызов скрипта',
78
- swstretchstyle : 'Стиль растяжения',
79
- swstretchhalign : 'H-Выравнивание растяжения',
80
- swstretchvalign : 'V-Выравнивание растяжения',
81
- sound : 'Звук',
82
- progress : 'Прогресс',
83
- qtsrc : 'QT Исх',
84
- qt_stream_warn : 'Потоковые rtsp ресурсы должны быть добавлены в поле QT Исх в дополнительную графу.\nВы также должны добавить не потоковую версию в поле Исх..',
85
- align_top : 'Вверх',
86
- align_right : 'Вправо',
87
- align_bottom : 'Вниз',
88
- align_left : 'Влево',
89
- align_center : 'В центр',
90
- align_top_left : 'Влево - вверх',
91
- align_top_right : 'Вправо - вверх',
92
- align_bottom_left : 'Влево - вниз',
93
- align_bottom_right : 'Вправо - вниз'
94
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/langs/zh_cn.js DELETED
@@ -1,85 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('media',{
4
- title : 'Insert / edit embedded media',
5
- desc : 'Insert / edit embedded media',
6
- general : 'General',
7
- advanced : 'Advanced',
8
- file : 'File',
9
- list : 'List',
10
- size : 'Dimensions',
11
- preview : 'Preview',
12
- constrain_proportions : 'Constrain proportions',
13
- type : 'Type',
14
- id : 'Id',
15
- name : 'Name',
16
- class_name : 'Class',
17
- vspace : 'V-Space',
18
- hspace : 'H-Space',
19
- play : 'Auto play',
20
- loop : 'Loop',
21
- menu : 'Show menu',
22
- quality : 'Quality',
23
- scale : 'Scale',
24
- align : 'Align',
25
- salign : 'SAlign',
26
- wmode : 'WMode',
27
- bgcolor : 'Background',
28
- base : 'Base',
29
- flashvars : 'Flashvars',
30
- liveconnect : 'SWLiveConnect',
31
- autohref : 'AutoHREF',
32
- cache : 'Cache',
33
- hidden : 'Hidden',
34
- controller : 'Controller',
35
- kioskmode : 'Kiosk mode',
36
- playeveryframe : 'Play every frame',
37
- targetcache : 'Target cache',
38
- correction : 'No correction',
39
- enablejavascript : 'Enable JavaScript',
40
- starttime : 'Start time',
41
- endtime : 'End time',
42
- href : 'Href',
43
- qtsrcchokespeed : 'Choke speed',
44
- target : 'Target',
45
- volume : 'Volume',
46
- autostart : 'Auto start',
47
- enabled : 'Enabled',
48
- fullscreen : 'Fullscreen',
49
- invokeurls : 'Invoke URLs',
50
- mute : 'Mute',
51
- stretchtofit : 'Stretch to fit',
52
- windowlessvideo : 'Windowless video',
53
- balance : 'Balance',
54
- baseurl : 'Base URL',
55
- captioningid : 'Captioning id',
56
- currentmarker : 'Current marker',
57
- currentposition : 'Current position',
58
- defaultframe : 'Default frame',
59
- playcount : 'Play count',
60
- rate : 'Rate',
61
- uimode : 'UI Mode',
62
- flash_options : 'Flash options',
63
- qt_options : 'Quicktime options',
64
- wmp_options : 'Windows media player options',
65
- rmp_options : 'Real media player options',
66
- shockwave_options : 'Shockwave options',
67
- autogotourl : 'Auto goto URL',
68
- center : 'Center',
69
- imagestatus : 'Image status',
70
- maintainaspect : 'Maintain aspect',
71
- nojava : 'No java',
72
- prefetch : 'Prefetch',
73
- shuffle : 'Shuffle',
74
- console : 'Console',
75
- numloop : 'Num loops',
76
- controls : 'Controls',
77
- scriptcallbacks : 'Script callbacks',
78
- swstretchstyle : 'Stretch style',
79
- swstretchhalign : 'Stretch H-Align',
80
- swstretchvalign : 'Stretch V-Align',
81
- sound : 'Sound',
82
- progress : 'Progress',
83
- qtsrc : 'QT Src',
84
- qt_stream_warn : 'Streamed rtsp resources should be added to the QT Src field under the advanced tab.\nYou should also add a non streamed version to the Src field..'
85
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/media/media.htm DELETED
@@ -1,723 +0,0 @@
1
- <html xmlns="http://www.w3.org/1999/xhtml">
2
- <head>
3
- <title>{$lang_media_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="jscripts/media.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/validate.js"></script>
8
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
9
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/editable_selects.js"></script>
10
- <link href="css/media.css" rel="stylesheet" type="text/css" />
11
- <base target="_self" />
12
- </head>
13
- <body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
14
- <form onsubmit="insertMedia();return false;" action="#">
15
- <div class="tabs">
16
- <ul>
17
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');generatePreview();" onmousedown="return false;">{$lang_media_general}</a></span></li>
18
- <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_media_advanced}</a></span></li>
19
- </ul>
20
- </div>
21
-
22
- <div class="panel_wrapper">
23
- <div id="general_panel" class="panel current">
24
- <fieldset>
25
- <legend>{$lang_media_general}</legend>
26
-
27
- <table border="0" cellpadding="4" cellspacing="0">
28
- <tr>
29
- <td><label for="media_type">{$lang_media_type}</label></td>
30
- <td>
31
- <select id="media_type" name="media_type" onchange="changedType(this.value);generatePreview();">
32
- <option value="flash">Flash</option>
33
- <option value="qt">Quicktime</option>
34
- <option value="shockwave">Shockware</option>
35
- <option value="wmp">Windows Media</option>
36
- <option value="rmp">Real Media</option>
37
- </select>
38
- </td>
39
- </tr>
40
- <tr>
41
- <td><label for="src">{$lang_media_file}</label></td>
42
- <td>
43
- <table border="0" cellspacing="0" cellpadding="0">
44
- <tr>
45
- <td><input id="src" name="src" type="text" value="" onchange="switchType(this.value);generatePreview();" /></td>
46
- <td id="filebrowsercontainer">&nbsp;</td>
47
- </tr>
48
- </table>
49
- </td>
50
- </tr>
51
- <tr id="linklistrow">
52
- <td><label for="linklist">{$lang_media_list}</label></td>
53
- <td id="linklistcontainer">&nbsp;</td>
54
- </tr>
55
- <tr>
56
- <td><label for="width">{$lang_media_size}</label></td>
57
- <td>
58
- <table border="0" cellpadding="0" cellspacing="0">
59
- <tr>
60
- <td><input type="text" id="width" name="width" value="" class="size" onchange="generatePreview('width');" /> x <input type="text" id="height" name="height" value="" class="size" onchange="generatePreview('height');" /></td>
61
- <td>&nbsp;&nbsp;<input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
62
- <td><label id="constrainlabel" for="constrain">{$lang_media_constrain_proportions}</label></td>
63
- </tr>
64
- </table>
65
- </tr>
66
- </table>
67
- </fieldset>
68
-
69
- <fieldset>
70
- <legend>{$lang_media_preview}</legend>
71
- <div id="prev"></div>
72
- </fieldset>
73
- </div>
74
-
75
- <div id="advanced_panel" class="panel">
76
- <fieldset>
77
- <legend>{$lang_media_advanced}</legend>
78
-
79
- <table border="0" cellpadding="4" cellspacing="0" width="100%">
80
- <tr>
81
- <td><label for="id">{$lang_media_id}</label></td>
82
- <td><input type="text" id="id" name="id" onchange="generatePreview();" /></td>
83
- <td><label for="name">{$lang_media_name}</label></td>
84
- <td><input type="text" id="name" name="name" onchange="generatePreview();" /></td>
85
- </tr>
86
-
87
- <tr>
88
- <td><label for="align">{$lang_media_align}</label></td>
89
- <td>
90
- <select id="align" name="align" onchange="generatePreview();">
91
- <option value="">{$lang_not_set}</option>
92
- <option value="top">{$lang_media_align_top}</option>
93
- <option value="right">{$lang_media_align_right}</option>
94
- <option value="bottom">{$lang_media_align_bottom}</option>
95
- <option value="left">{$lang_media_align_left}</option>
96
- </select>
97
- </td>
98
-
99
- <td><label for="bgcolor">{$lang_media_bgcolor}</label></td>
100
- <td>
101
- <table border="0" cellpadding="0" cellspacing="0">
102
- <tr>
103
- <td><input id="bgcolor" name="bgcolor" type="text" value="" size="9" onchange="updateColor('bgcolor_pick','bgcolor');generatePreview();" /></td>
104
- <td id="bgcolor_pickcontainer">&nbsp;</td>
105
- </tr>
106
- </table>
107
- </td>
108
- </tr>
109
-
110
- <tr>
111
- <td><label for="vspace">{$lang_media_vspace}</label></td>
112
- <td><input type="text" id="vspace" name="vspace" class="number" onchange="generatePreview();" /></td>
113
- <td><label for="hspace">{$lang_media_hspace}</label></td>
114
- <td><input type="text" id="hspace" name="hspace" class="number" onchange="generatePreview();" /></td>
115
- </tr>
116
- </table>
117
- </fieldset>
118
-
119
- <fieldset id="flash_options">
120
- <legend>{$lang_media_flash_options}</legend>
121
-
122
- <table border="0" cellpadding="4" cellspacing="0">
123
- <tr>
124
- <td><label for="flash_quality">{$lang_media_quality}</label></td>
125
- <td>
126
- <select id="flash_quality" name="flash_quality" onchange="generatePreview();">
127
- <option value="">{$lang_not_set}</option>
128
- <option value="high">high</option>
129
- <option value="low">low</option>
130
- <option value="autolow">autolow</option>
131
- <option value="autohigh">autohigh</option>
132
- <option value="best">best</option>
133
- </select>
134
- </td>
135
-
136
- <td><label for="flash_scale">{$lang_media_scale}</label></td>
137
- <td>
138
- <select id="flash_scale" name="flash_scale" onchange="generatePreview();">
139
- <option value="">{$lang_not_set}</option>
140
- <option value="showall">showall</option>
141
- <option value="noborder">noborder</option>
142
- <option value="exactfit">exactfit</option>
143
- </select>
144
- </td>
145
- </tr>
146
-
147
- <tr>
148
- <td><label for="flash_wmode">{$lang_media_wmode}</label></td>
149
- <td>
150
- <select id="flash_wmode" name="flash_wmode" onchange="generatePreview();">
151
- <option value="">{$lang_not_set}</option>
152
- <option value="window">window</option>
153
- <option value="opaque">opaque</option>
154
- <option value="transparent">transparent</option>
155
- </select>
156
- </td>
157
-
158
- <td><label for="flash_salign">{$lang_media_salign}</label></td>
159
- <td>
160
- <select id="flash_salign" name="flash_salign" onchange="generatePreview();">
161
- <option value="">{$lang_not_set}</option>
162
- <option value="l">{$lang_media_align_left}</option>
163
- <option value="t">{$lang_media_align_top}</option>
164
- <option value="r">{$lang_media_align_right}</option>
165
- <option value="b">{$lang_media_align_bottom}</option>
166
- <option value="tl">{$lang_media_align_top_left}</option>
167
- <option value="tr">{$lang_media_align_top_right}</option>
168
- <option value="bl">{$lang_media_align_bottom_left}</option>
169
- <option value="br">{$lang_media_align_bottom_right}</option>
170
- </select>
171
- </td>
172
- </tr>
173
-
174
- <tr>
175
- <td colspan="2">
176
- <table border="0" cellpadding="0" cellspacing="0">
177
- <tr>
178
- <td><input type="checkbox" class="checkbox" id="flash_play" name="flash_play" checked="checked" onchange="generatePreview();" /></td>
179
- <td><label for="flash_play">{$lang_media_play}</label></td>
180
- </tr>
181
- </table>
182
- </td>
183
-
184
- <td colspan="2">
185
- <table border="0" cellpadding="0" cellspacing="0">
186
- <tr>
187
- <td><input type="checkbox" class="checkbox" id="flash_loop" name="flash_loop" checked="checked" onchange="generatePreview();" /></td>
188
- <td><label for="flash_loop">{$lang_media_loop}</label></td>
189
- </tr>
190
- </table>
191
- </td>
192
- </tr>
193
-
194
- <tr>
195
- <td colspan="2">
196
- <table border="0" cellpadding="0" cellspacing="0">
197
- <tr>
198
- <td><input type="checkbox" class="checkbox" id="flash_menu" name="flash_menu" checked="checked" onchange="generatePreview();" /></td>
199
- <td><label for="flash_menu">{$lang_media_menu}</label></td>
200
- </tr>
201
- </table>
202
- </td>
203
-
204
- <td colspan="2">
205
- <table border="0" cellpadding="0" cellspacing="0">
206
- <tr>
207
- <td><input type="checkbox" class="checkbox" id="flash_swliveconnect" name="flash_swliveconnect" onchange="generatePreview();" /></td>
208
- <td><label for="flash_swliveconnect">{$lang_media_liveconnect}</label></td>
209
- </tr>
210
- </table>
211
- </td>
212
- </tr>
213
- </table>
214
-
215
- <table>
216
- <tr>
217
- <td><label for="flash_base">{$lang_media_base}</label></td>
218
- <td><input type="text" id="flash_base" name="flash_base" onchange="generatePreview();" /></td>
219
- </tr>
220
-
221
- <tr>
222
- <td><label for="flash_flashvars">{$lang_media_flashvars}</label></td>
223
- <td><input type="text" id="flash_flashvars" name="flash_flashvars" onchange="generatePreview();" /></td>
224
- </tr>
225
- </table>
226
- </fieldset>
227
-
228
- <fieldset id="qt_options">
229
- <legend>{$lang_media_qt_options}</legend>
230
-
231
- <table border="0" cellpadding="4" cellspacing="0">
232
- <tr>
233
- <td colspan="2">
234
- <table border="0" cellpadding="0" cellspacing="0">
235
- <tr>
236
- <td><input type="checkbox" class="checkbox" id="qt_loop" name="qt_loop" onchange="generatePreview();" /></td>
237
- <td><label for="qt_loop">{$lang_media_loop}</label></td>
238
- </tr>
239
- </table>
240
- </td>
241
-
242
- <td colspan="2">
243
- <table border="0" cellpadding="0" cellspacing="0">
244
- <tr>
245
- <td><input type="checkbox" class="checkbox" id="qt_autoplay" name="qt_autoplay" onchange="generatePreview();" /></td>
246
- <td><label for="qt_autoplay">{$lang_media_play}</label></td>
247
- </tr>
248
- </table>
249
- </td>
250
- </tr>
251
-
252
- <tr>
253
- <td colspan="2">
254
- <table border="0" cellpadding="0" cellspacing="0">
255
- <tr>
256
- <td><input type="checkbox" class="checkbox" id="qt_cache" name="qt_cache" onchange="generatePreview();" /></td>
257
- <td><label for="qt_cache">{$lang_media_cache}</label></td>
258
- </tr>
259
- </table>
260
- </td>
261
-
262
- <td colspan="2">
263
- <table border="0" cellpadding="0" cellspacing="0">
264
- <tr>
265
- <td><input type="checkbox" class="checkbox" id="qt_controller" name="qt_controller" checked="checked" onchange="generatePreview();" /></td>
266
- <td><label for="qt_controller">{$lang_media_controller}</label></td>
267
- </tr>
268
- </table>
269
- </td>
270
- </tr>
271
-
272
- <tr>
273
- <td colspan="2">
274
- <table border="0" cellpadding="0" cellspacing="0">
275
- <tr>
276
- <td><input type="checkbox" class="checkbox" id="qt_correction" name="qt_correction" onchange="generatePreview();" /></td>
277
- <td><label for="qt_correction">{$lang_media_correction}</label></td>
278
- </tr>
279
- </table>
280
- </td>
281
-
282
- <td colspan="2">
283
- <table border="0" cellpadding="0" cellspacing="0">
284
- <tr>
285
- <td><input type="checkbox" class="checkbox" id="qt_enablejavascript" name="qt_enablejavascript" onchange="generatePreview();" /></td>
286
- <td><label for="qt_enablejavascript">{$lang_media_enablejavascript}</label></td>
287
- </tr>
288
- </table>
289
- </td>
290
- </tr>
291
-
292
- <tr>
293
- <td colspan="2">
294
- <table border="0" cellpadding="0" cellspacing="0">
295
- <tr>
296
- <td><input type="checkbox" class="checkbox" id="qt_kioskmode" name="qt_kioskmode" onchange="generatePreview();" /></td>
297
- <td><label for="qt_kioskmode">{$lang_media_kioskmode}</label></td>
298
- </tr>
299
- </table>
300
- </td>
301
-
302
- <td colspan="2">
303
- <table border="0" cellpadding="0" cellspacing="0">
304
- <tr>
305
- <td><input type="checkbox" class="checkbox" id="qt_autohref" name="qt_autohref" onchange="generatePreview();" /></td>
306
- <td><label for="qt_autohref">{$lang_media_autohref}</label></td>
307
- </tr>
308
- </table>
309
- </td>
310
- </tr>
311
-
312
- <tr>
313
- <td colspan="2">
314
- <table border="0" cellpadding="0" cellspacing="0">
315
- <tr>
316
- <td><input type="checkbox" class="checkbox" id="qt_playeveryframe" name="qt_playeveryframe" onchange="generatePreview();" /></td>
317
- <td><label for="qt_playeveryframe">{$lang_media_playeveryframe}</label></td>
318
- </tr>
319
- </table>
320
- </td>
321
-
322
- <td colspan="2">
323
- <table border="0" cellpadding="0" cellspacing="0">
324
- <tr>
325
- <td><input type="checkbox" class="checkbox" id="qt_targetcache" name="qt_targetcache" onchange="generatePreview();" /></td>
326
- <td><label for="qt_targetcache">{$lang_media_targetcache}</label></td>
327
- </tr>
328
- </table>
329
- </td>
330
- </tr>
331
-
332
- <tr>
333
- <td><label for="qt_scale">{$lang_media_scale}</label></td>
334
- <td><select id="qt_scale" name="qt_scale" class="mceEditableSelect" onchange="generatePreview();">
335
- <option value="">{$lang_not_set}</option>
336
- <option value="tofit">tofit</option>
337
- <option value="aspect">aspect</option>
338
- </select>
339
- </td>
340
-
341
- <td colspan="2">&nbsp;</td>
342
- </tr>
343
-
344
- <tr>
345
- <td><label for="qt_starttime">{$lang_media_starttime}</label></td>
346
- <td><input type="text" id="qt_starttime" name="qt_starttime" onchange="generatePreview();" /></td>
347
-
348
- <td><label for="qt_endtime">{$lang_media_endtime}</label></td>
349
- <td><input type="text" id="qt_endtime" name="qt_endtime" onchange="generatePreview();" /></td>
350
- </tr>
351
-
352
- <tr>
353
- <td><label for="qt_target">{$lang_media_target}</label></td>
354
- <td><input type="text" id="qt_target" name="qt_target" onchange="generatePreview();" /></td>
355
-
356
- <td><label for="qt_href">{$lang_media_href}</label></td>
357
- <td><input type="text" id="qt_href" name="qt_href" onchange="generatePreview();" /></td>
358
- </tr>
359
-
360
- <tr>
361
- <td><label for="qt_qtsrcchokespeed">{$lang_media_qtsrcchokespeed}</label></td>
362
- <td><input type="text" id="qt_qtsrcchokespeed" name="qt_qtsrcchokespeed" onchange="generatePreview();" /></td>
363
-
364
- <td><label for="qt_volume">{$lang_media_volume}</label></td>
365
- <td><input type="text" id="qt_volume" name="qt_volume" onchange="generatePreview();" /></td>
366
- </tr>
367
-
368
- <tr>
369
- <td><label for="qt_qtsrc">{$lang_media_qtsrc}</label></td>
370
- <td colspan="4">
371
- <table border="0" cellspacing="0" cellpadding="0">
372
- <tr>
373
- <td><input type="text" id="qt_qtsrc" name="qt_qtsrc" onchange="generatePreview();" /></td>
374
- <td id="qtsrcfilebrowsercontainer">&nbsp;</td>
375
- </tr>
376
- </table>
377
- </td>
378
- </tr>
379
- </table>
380
- </fieldset>
381
-
382
- <fieldset id="wmp_options">
383
- <legend>{$lang_media_wmp_options}</legend>
384
-
385
- <table border="0" cellpadding="4" cellspacing="0">
386
- <tr>
387
- <td colspan="2">
388
- <table border="0" cellpadding="0" cellspacing="0">
389
- <tr>
390
- <td><input type="checkbox" class="checkbox" id="wmp_autostart" name="wmp_autostart" checked="checked" onchange="generatePreview();" /></td>
391
- <td><label for="wmp_autostart">{$lang_media_autostart}</label></td>
392
- </tr>
393
- </table>
394
- </td>
395
-
396
- <td colspan="2">
397
- <table border="0" cellpadding="0" cellspacing="0">
398
- <tr>
399
- <td><input type="checkbox" class="checkbox" id="wmp_enabled" name="wmp_enabled" onchange="generatePreview();" /></td>
400
- <td><label for="wmp_enabled">{$lang_media_enabled}</label></td>
401
- </tr>
402
- </table>
403
- </td>
404
- </tr>
405
-
406
- <tr>
407
- <td colspan="2">
408
- <table border="0" cellpadding="0" cellspacing="0">
409
- <tr>
410
- <td><input type="checkbox" class="checkbox" id="wmp_enablecontextmenu" name="wmp_enablecontextmenu" checked="checked" onchange="generatePreview();" /></td>
411
- <td><label for="wmp_enablecontextmenu">{$lang_media_menu}</label></td>
412
- </tr>
413
- </table>
414
- </td>
415
-
416
- <td colspan="2">
417
- <table border="0" cellpadding="0" cellspacing="0">
418
- <tr>
419
- <td><input type="checkbox" class="checkbox" id="wmp_fullscreen" name="wmp_fullscreen" onchange="generatePreview();" /></td>
420
- <td><label for="wmp_fullscreen">{$lang_media_fullscreen}</label></td>
421
- </tr>
422
- </table>
423
- </td>
424
- </tr>
425
-
426
- <tr>
427
- <td colspan="2">
428
- <table border="0" cellpadding="0" cellspacing="0">
429
- <tr>
430
- <td><input type="checkbox" class="checkbox" id="wmp_invokeurls" name="wmp_invokeurls" checked="checked" onchange="generatePreview();" /></td>
431
- <td><label for="wmp_invokeurls">{$lang_media_invokeurls}</label></td>
432
- </tr>
433
- </table>
434
- </td>
435
-
436
- <td colspan="2">
437
- <table border="0" cellpadding="0" cellspacing="0">
438
- <tr>
439
- <td><input type="checkbox" class="checkbox" id="wmp_mute" name="wmp_mute" onchange="generatePreview();" /></td>
440
- <td><label for="wmp_mute">{$lang_media_mute}</label></td>
441
- </tr>
442
- </table>
443
- </td>
444
- </tr>
445
-
446
- <tr>
447
- <td colspan="2">
448
- <table border="0" cellpadding="0" cellspacing="0">
449
- <tr>
450
- <td><input type="checkbox" class="checkbox" id="wmp_stretchtofit" name="wmp_stretchtofit" onchange="generatePreview();" /></td>
451
- <td><label for="wmp_stretchtofit">{$lang_media_stretchtofit}</label></td>
452
- </tr>
453
- </table>
454
- </td>
455
-
456
- <td colspan="2">
457
- <table border="0" cellpadding="0" cellspacing="0">
458
- <tr>
459
- <td><input type="checkbox" class="checkbox" id="wmp_windowlessvideo" name="wmp_windowlessvideo" onchange="generatePreview();" /></td>
460
- <td><label for="wmp_windowlessvideo">{$lang_media_windowlessvideo}</label></td>
461
- </tr>
462
- </table>
463
- </td>
464
- </tr>
465
-
466
- <tr>
467
- <td><label for="wmp_balance">{$lang_media_balance}</label></td>
468
- <td><input type="text" id="wmp_balance" name="wmp_balance" onchange="generatePreview();" /></td>
469
-
470
- <td><label for="wmp_baseurl">{$lang_media_baseurl}</label></td>
471
- <td><input type="text" id="wmp_baseurl" name="wmp_baseurl" onchange="generatePreview();" /></td>
472
- </tr>
473
-
474
- <tr>
475
- <td><label for="wmp_captioningid">{$lang_media_captioningid}</label></td>
476
- <td><input type="text" id="wmp_captioningid" name="wmp_captioningid" onchange="generatePreview();" /></td>
477
-
478
- <td><label for="wmp_currentmarker">{$lang_media_currentmarker}</label></td>
479
- <td><input type="text" id="wmp_currentmarker" name="wmp_currentmarker" onchange="generatePreview();" /></td>
480
- </tr>
481
-
482
- <tr>
483
- <td><label for="wmp_currentposition">{$lang_media_currentposition}</label></td>
484
- <td><input type="text" id="wmp_currentposition" name="wmp_currentposition" onchange="generatePreview();" /></td>
485
-
486
- <td><label for="wmp_defaultframe">{$lang_media_defaultframe}</label></td>
487
- <td><input type="text" id="wmp_defaultframe" name="wmp_defaultframe" onchange="generatePreview();" /></td>
488
- </tr>
489
-
490
- <tr>
491
- <td><label for="wmp_playcount">{$lang_media_playcount}</label></td>
492
- <td><input type="text" id="wmp_playcount" name="wmp_playcount" onchange="generatePreview();" /></td>
493
-
494
- <td><label for="wmp_rate">{$lang_media_rate}</label></td>
495
- <td><input type="text" id="wmp_rate" name="wmp_rate" onchange="generatePreview();" /></td>
496
- </tr>
497
-
498
- <tr>
499
- <td><label for="wmp_uimode">{$lang_media_uimode}</label></td>
500
- <td><input type="text" id="wmp_uimode" name="wmp_uimode" onchange="generatePreview();" /></td>
501
-
502
- <td><label for="wmp_volume">{$lang_media_volume}</label></td>
503
- <td><input type="text" id="wmp_volume" name="wmp_volume" onchange="generatePreview();" /></td>
504
- </tr>
505
-
506
- </table>
507
- </fieldset>
508
-
509
- <fieldset id="rmp_options">
510
- <legend>{$lang_media_rmp_options}</legend>
511
-
512
- <table border="0" cellpadding="4" cellspacing="0">
513
- <tr>
514
- <td colspan="2">
515
- <table border="0" cellpadding="0" cellspacing="0">
516
- <tr>
517
- <td><input type="checkbox" class="checkbox" id="rmp_autostart" name="rmp_autostart" onchange="generatePreview();" /></td>
518
- <td><label for="rmp_autostart">{$lang_media_autostart}</label></td>
519
- </tr>
520
- </table>
521
- </td>
522
-
523
- <td colspan="2">
524
- <table border="0" cellpadding="0" cellspacing="0">
525
- <tr>
526
- <td><input type="checkbox" class="checkbox" id="rmp_loop" name="rmp_loop" onchange="generatePreview();" /></td>
527
- <td><label for="rmp_loop">{$lang_media_loop}</label></td>
528
- </tr>
529
- </table>
530
- </td>
531
- </tr>
532
-
533
- <tr>
534
- <td colspan="2">
535
- <table border="0" cellpadding="0" cellspacing="0">
536
- <tr>
537
- <td><input type="checkbox" class="checkbox" id="rmp_autogotourl" name="rmp_autogotourl" checked="checked" onchange="generatePreview();" /></td>
538
- <td><label for="rmp_autogotourl">{$lang_media_autogotourl}</label></td>
539
- </tr>
540
- </table>
541
- </td>
542
-
543
- <td colspan="2">
544
- <table border="0" cellpadding="0" cellspacing="0">
545
- <tr>
546
- <td><input type="checkbox" class="checkbox" id="rmp_center" name="rmp_center" onchange="generatePreview();" /></td>
547
- <td><label for="rmp_center">{$lang_media_center}</label></td>
548
- </tr>
549
- </table>
550
- </td>
551
- </tr>
552
-
553
- <tr>
554
- <td colspan="2">
555
- <table border="0" cellpadding="0" cellspacing="0">
556
- <tr>
557
- <td><input type="checkbox" class="checkbox" id="rmp_imagestatus" name="rmp_imagestatus" checked="checked" onchange="generatePreview();" /></td>
558
- <td><label for="rmp_imagestatus">{$lang_media_imagestatus}</label></td>
559
- </tr>
560
- </table>
561
- </td>
562
-
563
- <td colspan="2">
564
- <table border="0" cellpadding="0" cellspacing="0">
565
- <tr>
566
- <td><input type="checkbox" class="checkbox" id="rmp_maintainaspect" name="rmp_maintainaspect" onchange="generatePreview();" /></td>
567
- <td><label for="rmp_maintainaspect">{$lang_media_maintainaspect}</label></td>
568
- </tr>
569
- </table>
570
- </td>
571
- </tr>
572
-
573
- <tr>
574
- <td colspan="2">
575
- <table border="0" cellpadding="0" cellspacing="0">
576
- <tr>
577
- <td><input type="checkbox" class="checkbox" id="rmp_nojava" name="rmp_nojava" onchange="generatePreview();" /></td>
578
- <td><label for="rmp_nojava">{$lang_media_nojava}</label></td>
579
- </tr>
580
- </table>
581
- </td>
582
-
583
- <td colspan="2">
584
- <table border="0" cellpadding="0" cellspacing="0">
585
- <tr>
586
- <td><input type="checkbox" class="checkbox" id="rmp_prefetch" name="rmp_prefetch" onchange="generatePreview();" /></td>
587
- <td><label for="rmp_prefetch">{$lang_media_prefetch}</label></td>
588
- </tr>
589
- </table>
590
- </td>
591
- </tr>
592
-
593
- <tr>
594
- <td colspan="2">
595
- <table border="0" cellpadding="0" cellspacing="0">
596
- <tr>
597
- <td><input type="checkbox" class="checkbox" id="rmp_shuffle" name="rmp_shuffle" onchange="generatePreview();" /></td>
598
- <td><label for="rmp_shuffle">{$lang_media_shuffle}</label></td>
599
- </tr>
600
- </table>
601
- </td>
602
-
603
- <td colspan="2">
604
- &nbsp;
605
- </td>
606
- </tr>
607
-
608
- <tr>
609
- <td><label for="rmp_console">{$lang_media_console}</label></td>
610
- <td><input type="text" id="rmp_console" name="rmp_console" onchange="generatePreview();" /></td>
611
-
612
- <td><label for="rmp_controls">{$lang_media_controls}</label></td>
613
- <td><input type="text" id="rmp_controls" name="rmp_controls" onchange="generatePreview();" /></td>
614
- </tr>
615
-
616
- <tr>
617
- <td><label for="rmp_numloop">{$lang_media_numloop}</label></td>
618
- <td><input type="text" id="rmp_numloop" name="rmp_numloop" onchange="generatePreview();" /></td>
619
-
620
- <td><label for="rmp_scriptcallbacks">{$lang_media_scriptcallbacks}</label></td>
621
- <td><input type="text" id="rmp_scriptcallbacks" name="rmp_scriptcallbacks" onchange="generatePreview();" /></td>
622
- </tr>
623
- </table>
624
- </fieldset>
625
-
626
- <fieldset id="shockwave_options">
627
- <legend>{$lang_media_shockwave_options}</legend>
628
-
629
- <table border="0" cellpadding="4" cellspacing="0">
630
- <tr>
631
- <td><label for="shockwave_swstretchstyle">{$lang_media_swstretchstyle}</label></td>
632
- <td>
633
- <select id="shockwave_swstretchstyle" name="shockwave_swstretchstyle" onchange="generatePreview();">
634
- <option value="none">{$lang_not_set}</option>
635
- <option value="meet">Meet</option>
636
- <option value="fill">Fill</option>
637
- <option value="stage">Stage</option>
638
- </select>
639
- </td>
640
-
641
- <td><label for="shockwave_swvolume">{$lang_media_volume}</label></td>
642
- <td><input type="text" id="shockwave_swvolume" name="shockwave_swvolume" onchange="generatePreview();" /></td>
643
- </tr>
644
-
645
- <tr>
646
- <td><label for="shockwave_swstretchhalign">{$lang_media_swstretchhalign}</label></td>
647
- <td>
648
- <select id="shockwave_swstretchhalign" name="shockwave_swstretchhalign" onchange="generatePreview();">
649
- <option value="none">{$lang_not_set}</option>
650
- <option value="left">{$lang_media_align_left}</option>
651
- <option value="center">{$lang_media_align_center}</option>
652
- <option value="right">{$lang_media_align_right}</option>
653
- </select>
654
- </td>
655
-
656
- <td><label for="shockwave_swstretchvalign">{$lang_media_swstretchvalign}</label></td>
657
- <td>
658
- <select id="shockwave_swstretchvalign" name="shockwave_swstretchvalign" onchange="generatePreview();">
659
- <option value="none">{$lang_not_set}</option>
660
- <option value="meet">Meet</option>
661
- <option value="fill">Fill</option>
662
- <option value="stage">Stage</option>
663
- </select>
664
- </td>
665
- </tr>
666
-
667
- <tr>
668
- <td colspan="2">
669
- <table border="0" cellpadding="0" cellspacing="0">
670
- <tr>
671
- <td><input type="checkbox" class="checkbox" id="shockwave_autostart" name="shockwave_autostart" onchange="generatePreview();" checked="checked" /></td>
672
- <td><label for="shockwave_autostart">{$lang_media_autostart}</label></td>
673
- </tr>
674
- </table>
675
- </td>
676
-
677
- <td colspan="2">
678
- <table border="0" cellpadding="0" cellspacing="0">
679
- <tr>
680
- <td><input type="checkbox" class="checkbox" id="shockwave_sound" name="shockwave_sound" onchange="generatePreview();" checked="checked" /></td>
681
- <td><label for="shockwave_sound">{$lang_media_sound}</label></td>
682
- </tr>
683
- </table>
684
- </td>
685
- </tr>
686
-
687
-
688
- <tr>
689
- <td colspan="2">
690
- <table border="0" cellpadding="0" cellspacing="0">
691
- <tr>
692
- <td><input type="checkbox" class="checkbox" id="shockwave_swliveconnect" name="shockwave_swliveconnect" onchange="generatePreview();" /></td>
693
- <td><label for="shockwave_swliveconnect">{$lang_media_liveconnect}</label></td>
694
- </tr>
695
- </table>
696
- </td>
697
-
698
- <td colspan="2">
699
- <table border="0" cellpadding="0" cellspacing="0">
700
- <tr>
701
- <td><input type="checkbox" class="checkbox" id="shockwave_progress" name="shockwave_progress" onchange="generatePreview();" checked="checked" /></td>
702
- <td><label for="shockwave_progress">{$lang_media_progress}</label></td>
703
- </tr>
704
- </table>
705
- </td>
706
- </tr>
707
- </table>
708
- </fieldset>
709
- </div>
710
- </div>
711
-
712
- <div class="mceActionPanel">
713
- <div style="float: left">
714
- <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertMedia();" />
715
- </div>
716
-
717
- <div style="float: right">
718
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
719
- </div>
720
- </div>
721
- </form>
722
- </body>
723
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/nonbreaking/editor_plugin.js CHANGED
@@ -1,68 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- // UK lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('nonbreaking',{
11
- desc : 'Insert non-breaking space character'
12
- });
13
-
14
- /* Import plugin specific language pack */
15
- //tinyMCE.importPluginLanguagePack('nonbreaking');
16
-
17
- var TinyMCE_NonBreakingPlugin = {
18
- getInfo : function() {
19
- return {
20
- longname : 'Nonbreaking space',
21
- author : 'Moxiecode Systems AB',
22
- authorurl : 'http://tinymce.moxiecode.com',
23
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/nonbreaking',
24
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
25
- };
26
- },
27
-
28
- getControlHTML : function(cn) {
29
- switch (cn) {
30
- case "nonbreaking":
31
- return tinyMCE.getButtonHTML(cn, 'lang_nonbreaking_desc', '{$pluginurl}/images/nonbreaking.gif', 'mceNonBreaking', false);
32
- }
33
-
34
- return "";
35
- },
36
-
37
-
38
- execCommand : function(editor_id, element, command, user_interface, value) {
39
- var inst = tinyMCE.getInstanceById(editor_id), h;
40
-
41
- switch (command) {
42
- case "mceNonBreaking":
43
- h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;</span>' : '&nbsp;';
44
- tinyMCE.execInstanceCommand(editor_id, 'mceInsertContent', false, h);
45
- return true;
46
- }
47
-
48
- return false;
49
- },
50
-
51
- handleEvent : function(e) {
52
- var inst, h;
53
-
54
- if (!tinyMCE.isOpera && e.type == 'keydown' && e.keyCode == 9 && tinyMCE.getParam('nonbreaking_force_tab', false)) {
55
- inst = tinyMCE.selectedInstance;
56
-
57
- h = (inst.visualChars && inst.visualChars.state) ? '<span class="mceItemHiddenVisualChar">&middot;&middot;&middot;</span>' : '&nbsp;&nbsp;&nbsp;';
58
- tinyMCE.execInstanceCommand(inst.editorId, 'mceInsertContent', false, h);
59
-
60
- tinyMCE.cancelEvent(e);
61
- return false;
62
- }
63
-
64
- return true;
65
- }
66
- };
67
-
68
- tinyMCE.addPlugin("nonbreaking", TinyMCE_NonBreakingPlugin);
1
+ (function(){tinymce.create('tinymce.plugins.Nonbreaking',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceNonBreaking',function(){ed.execCommand('mceInsertContent',false,(ed.plugins.visualchars&&ed.plugins.visualchars.state)?'<span class="mceItemHidden mceVisualNbsp">&middot;</span>':'&nbsp;');});ed.addButton('nonbreaking',{title:'nonbreaking.nonbreaking_desc',cmd:'mceNonBreaking'});if(ed.getParam('nonbreaking_force_tab')){ed.onKeyDown.add(function(ed,e){if(tinymce.isIE&&e.keyCode==9){ed.execCommand('mceNonBreaking');ed.execCommand('mceNonBreaking');ed.execCommand('mceNonBreaking');tinymce.dom.Event.cancel(e);}});}},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);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/nonbreaking/images/nonbreaking.gif DELETED
Binary file
mce/nonbreaking/langs/en.js DELETED
@@ -1,5 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('nonbreaking',{
4
- desc : 'Insert non-breaking space character'
5
- });
 
 
 
 
 
mce/print/editor_plugin.js CHANGED
@@ -1,47 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import theme specific language pack */
9
- tinyMCE.importPluginLanguagePack('print');
10
-
11
- var TinyMCE_PrintPlugin = {
12
- getInfo : function() {
13
- return {
14
- longname : 'Print',
15
- author : 'Moxiecode Systems AB',
16
- authorurl : 'http://tinymce.moxiecode.com',
17
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',
18
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
- };
20
- },
21
-
22
- getControlHTML : function(cn) {
23
- switch (cn) {
24
- case "print":
25
- return tinyMCE.getButtonHTML(cn, 'lang_print_desc', '{$pluginurl}/images/print.gif', 'mcePrint');
26
- }
27
-
28
- return "";
29
- },
30
-
31
- /**
32
- * Executes the search/replace commands.
33
- */
34
- execCommand : function(editor_id, element, command, user_interface, value) {
35
- // Handle commands
36
- switch (command) {
37
- case "mcePrint":
38
- tinyMCE.getInstanceById(editor_id).contentWindow.print();
39
- return true;
40
- }
41
-
42
- // Pass to next handler in chain
43
- return false;
44
- }
45
- };
46
-
47
- tinyMCE.addPlugin("print", TinyMCE_PrintPlugin);
1
+ (function(){tinymce.create('tinymce.plugins.Print',{init:function(ed,url){ed.addCommand('mcePrint',function(){ed.getWin().print();});ed.addButton('print',{title:'print.print_desc',cmd:'mcePrint'});},getInfo:function(){return{longname:'Print',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/print',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('print',tinymce.plugins.Print);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/print/images/print.gif DELETED
Binary file
mce/print/langs/de_de.js DELETED
@@ -1,5 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- print_desc : 'Drucken'
5
- });
 
 
 
 
 
mce/print/langs/en.js DELETED
@@ -1,5 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- print_desc : 'Print'
5
- });
 
 
 
 
 
mce/print/langs/es_es.js DELETED
@@ -1,7 +0,0 @@
1
- // ES lang variables by Alvaro Velasco and Adolfo Sanz De Diego (asanzdiego) <asanzdiego@yahoo.es>
2
- // Last Updated : October 2005
3
- // TinyMCE Version : 2.0RC3
4
-
5
- tinyMCE.addToLang('',{
6
- print_desc : 'Imprimir'
7
- });
 
 
 
 
 
 
 
mce/print/langs/fr_fr.js DELETED
@@ -1,6 +0,0 @@
1
- // FR lang variables
2
- // Modified by Motte, last updated 2006-03-23
3
-
4
- tinyMCE.addToLang('',{
5
- print_desc : 'Imprimer'
6
- });
 
 
 
 
 
 
mce/print/langs/it_it.js DELETED
@@ -1,11 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('',{
10
- print_desc : 'Stampa'
11
- });
 
 
 
 
 
 
 
 
 
 
 
mce/print/langs/pt_br.js DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 26, 2005 - TinyMCE Version : 2.0RC4
9
- * Last Updated : November 20, 2006 - TinyMCE Version : 2.0.8
10
- */
11
- tinyMCE.addToLang('',{
12
- print_desc : 'Imprimir'
13
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/print/langs/ru_ru.js DELETED
@@ -1,5 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- print_desc : 'Распечатать'
5
- });
 
 
 
 
 
mce/print/langs/zh_cn.js DELETED
@@ -1,6 +0,0 @@
1
- // Simplified Chinese lang variables contributed by TinyMCE_China_Team ( tinymce_china {AT} yahoogroups {DOT} com ).
2
- // visit our homepage at: http://www.cube316.net/tinymce/ for more information.
3
-
4
- tinyMCE.addToLang('',{
5
- print_desc : '��ӡ'
6
- });
 
 
 
 
 
 
mce/print/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/searchreplace/css/searchreplace.css CHANGED
@@ -1,24 +1,6 @@
1
- /* stylesheet for advsearchreplace plugin*/
 
2
 
3
- .panel_wrapper { height: 85px; }
4
- .panel_wrapper div.current { height: 85px; }
5
-
6
- /* MS IE only styles */
7
- * html .panel_wrapper { height: 100px; }
8
- * html .panel_wrapper div.current { height: 100px; }
9
-
10
- #replaceBtn, #replaceAllBtn {
11
- font: 11px Verdana, Arial, Helvetica, sans-serif;
12
- height: auto;
13
- width: auto;
14
- background-color: transparent;
15
- background-image: url(../images/fade-butt.png);
16
- background-repeat: repeat;
17
- border: 3px double;
18
- border-right-color: rgb(153, 153, 153);
19
- border-bottom-color: rgb(153, 153, 153);
20
- border-left-color: rgb(204, 204, 204);
21
- border-top-color: rgb(204, 204, 204);
22
- color: rgb(51, 51, 51);
23
- padding: 0.1em 0.5em 2px;
24
- }
1
+ .panel_wrapper {height:85px;}
2
+ .panel_wrapper div.current {height:85px;}
3
 
4
+ /* IE */
5
+ * html .panel_wrapper {height:100px;}
6
+ * html .panel_wrapper div.current {height:100px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/editor_plugin.js CHANGED
@@ -1,173 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- tinyMCE.importPluginLanguagePack('searchreplace');
9
-
10
- var TinyMCE_SearchReplacePlugin = {
11
- getInfo : function() {
12
- return {
13
- longname : 'Search/Replace',
14
- author : 'Moxiecode Systems AB',
15
- authorurl : 'http://tinymce.moxiecode.com',
16
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',
17
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
18
- };
19
- },
20
-
21
- initInstance : function (inst) {
22
- inst.addShortcut('ctrl', 'f', 'lang_searchreplace_search_desc', 'mceSearch', true);
23
- // No CTRL+R for "replace" because browsers will reload page instead of executing plugin
24
- },
25
-
26
- getControlHTML : function (cn) {
27
- switch (cn) {
28
- case "search" :
29
- return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_search_desc', '{$pluginurl}/images/search.gif','mceSearch', true);
30
-
31
- case "replace" :
32
- return tinyMCE.getButtonHTML(cn, 'lang_searchreplace_replace_desc', '{$pluginurl}/images/replace.gif', 'mceSearchReplace', true);
33
- }
34
-
35
- return "";
36
- },
37
-
38
- execCommand : function (editor_id, element, command, user_interface, value) {
39
- var inst = tinyMCE.getInstanceById(editor_id), selectedText = inst.selection.getSelectedText(), rng;
40
-
41
- function defValue(key, default_value) {
42
- value[key] = typeof(value[key]) == "undefined" ? default_value : value[key];
43
- }
44
-
45
- function replaceSel(search_str, str, back) {
46
- if (!inst.selection.isCollapsed()) {
47
- if (tinyMCE.isRealIE)
48
- inst.selection.getRng().duplicate().pasteHTML(str); // Needs to be duplicated due to selection bug in IE
49
- else
50
- inst.execCommand('mceInsertContent', false, str);
51
- }
52
- }
53
-
54
- if (!value)
55
- value = [];
56
-
57
- defValue("editor_id", editor_id);
58
- defValue("searchstring", selectedText);
59
- defValue("replacestring", null);
60
- defValue("replacemode", "none");
61
- defValue("casesensitive", false);
62
- defValue("backwards", false);
63
- defValue("wrap", false);
64
- defValue("wholeword", false);
65
- defValue("inline", "yes");
66
- defValue("resizable", "no");
67
-
68
- switch (command) {
69
- case "mceSearch" :
70
- if (user_interface) {
71
- var template = new Array();
72
-
73
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/searchreplace/searchreplace.htm';
74
- template['width'] = 380;
75
- template['height'] = 155 + (tinyMCE.isNS7 ? 20 : 0) + (tinyMCE.isMSIE ? 15 : 0);
76
- template['width'] += tinyMCE.getLang('lang_searchreplace_delta_width', 0);
77
- template['height'] += tinyMCE.getLang('lang_searchreplace_delta_height', 0);
78
-
79
- inst.selection.collapse(true);
80
-
81
- tinyMCE.openWindow(template, value);
82
- } else {
83
- var win = tinyMCE.getInstanceById(editor_id).contentWindow;
84
- var doc = tinyMCE.getInstanceById(editor_id).contentWindow.document;
85
- var body = tinyMCE.getInstanceById(editor_id).contentWindow.document.body;
86
- var awin = value.win, found;
87
-
88
- if (body.innerHTML == "") {
89
- awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
90
- return true;
91
- }
92
-
93
- if (value['replacemode'] == "current") {
94
- replaceSel(value['string'], value['replacestring'], value['backwards']);
95
- value['replacemode'] = "none";
96
- //tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value);
97
- //return true;
98
- }
99
-
100
- inst.selection.collapse(value['backwards']);
101
-
102
- if (tinyMCE.isMSIE) {
103
- var rng = inst.selection.getRng();
104
- var flags = 0;
105
- if (value['wholeword'])
106
- flags = flags | 2;
107
-
108
- if (value['casesensitive'])
109
- flags = flags | 4;
110
-
111
- if (!rng.findText) {
112
- awin.alert('This operation is currently not supported by this browser.');
113
- return true;
114
- }
115
-
116
- if (value['replacemode'] == "all") {
117
- found = false;
118
-
119
- while (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
120
- found = true;
121
- rng.scrollIntoView();
122
- rng.select();
123
- replaceSel(value['string'], value['replacestring'], value['backwards']);
124
- }
125
-
126
- if (found)
127
- awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
128
- else
129
- awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
130
-
131
- return true;
132
- }
133
-
134
- if (rng.findText(value['string'], value['backwards'] ? -1 : 1, flags)) {
135
- rng.scrollIntoView();
136
- rng.select();
137
- } else
138
- awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
139
- } else {
140
- if (value['replacemode'] == "all") {
141
- found = false;
142
-
143
- while (win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false)) {
144
- found = true;
145
- replaceSel(value['string'], value['replacestring'], value['backwards']);
146
- }
147
-
148
- if (found)
149
- awin.alert(tinyMCE.getLang('lang_searchreplace_allreplaced'));
150
- else
151
- awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
152
-
153
- return true;
154
- }
155
-
156
- if (!win.find(value['string'], value['casesensitive'], value['backwards'], value['wrap'], value['wholeword'], false, false))
157
- awin.alert(tinyMCE.getLang('lang_searchreplace_notfound'));
158
- }
159
- }
160
-
161
- return true;
162
-
163
- case "mceSearchReplace" :
164
- value['replacestring'] = "";
165
- tinyMCE.execInstanceCommand(editor_id, 'mceSearch', user_interface, value, false);
166
- return true;
167
- }
168
-
169
- return false;
170
- }
171
- };
172
-
173
- tinyMCE.addPlugin("searchreplace", TinyMCE_SearchReplacePlugin);
1
+ (function(){tinymce.create('tinymce.plugins.SearchReplacePlugin',{init:function(ed,url){function open(m){ed.windowManager.open({file:url+'/searchreplace.htm',width:420+parseInt(ed.getLang('searchreplace.delta_width',0)),height:160+parseInt(ed.getLang('searchreplace.delta_height',0)),inline:1,auto_focus:0},{mode:m,search_string:ed.selection.getContent({format:'text'}),plugin_url:url});};ed.addCommand('mceSearch',function(){open('search');});ed.addCommand('mceReplace',function(){open('replace');});ed.addButton('search',{title:'searchreplace.search_desc',cmd:'mceSearch'});ed.addButton('replace',{title:'searchreplace.replace_desc',cmd:'mceReplace'});ed.addShortcut('ctrl+f','searchreplace.search_desc','mceSearch');},getInfo:function(){return{longname:'Search/Replace',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/searchreplace',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('searchreplace',tinymce.plugins.SearchReplacePlugin);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/images/replace.gif DELETED
Binary file
mce/searchreplace/images/replace_all_button_bg.gif DELETED
Binary file
mce/searchreplace/images/replace_button_bg.gif DELETED
Binary file
mce/searchreplace/images/search.gif DELETED
Binary file
mce/searchreplace/js/searchreplace.js ADDED
@@ -0,0 +1,117 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCEPopup.requireLangPack();
2
+
3
+ var SearchReplaceDialog = {
4
+ init : function(ed) {
5
+ var f = document.forms[0], m = tinyMCEPopup.getWindowArg("mode");
6
+
7
+ this.switchMode(m);
8
+
9
+ f[m + '_panel_searchstring'].value = tinyMCEPopup.getWindowArg("search_string");
10
+
11
+ // Focus input field
12
+ f[m + '_panel_searchstring'].focus();
13
+ },
14
+
15
+ switchMode : function(m) {
16
+ var f, lm = this.lastMode;
17
+
18
+ if (lm != m) {
19
+ f = document.forms[0];
20
+
21
+ if (lm) {
22
+ f[m + '_panel_searchstring'].value = f[lm + '_panel_searchstring'].value;
23
+ f[m + '_panel_backwardsu'].checked = f[lm + '_panel_backwardsu'].checked;
24
+ f[m + '_panel_backwardsd'].checked = f[lm + '_panel_backwardsd'].checked;
25
+ f[m + '_panel_casesensitivebox'].checked = f[lm + '_panel_casesensitivebox'].checked;
26
+ }
27
+
28
+ mcTabs.displayTab(m + '_tab', m + '_panel');
29
+ document.getElementById("replaceBtn").style.display = (m == "replace") ? "inline" : "none";
30
+ document.getElementById("replaceAllBtn").style.display = (m == "replace") ? "inline" : "none";
31
+ this.lastMode = m;
32
+ }
33
+ },
34
+
35
+ searchNext : function(a) {
36
+ var ed = tinyMCEPopup.editor, se = ed.selection, r = se.getRng(), f, m = this.lastMode, s, b, fl = 0, w = ed.getWin(), wm = ed.windowManager, fo = 0;
37
+
38
+ // Get input
39
+ f = document.forms[0];
40
+ s = f[m + '_panel_searchstring'].value;
41
+ b = f[m + '_panel_backwardsu'].checked;
42
+ ca = f[m + '_panel_casesensitivebox'].checked;
43
+ rs = f['replace_panel_replacestring'].value;
44
+
45
+ function fix() {
46
+ // Correct Firefox graphics glitches
47
+ r = se.getRng().cloneRange();
48
+ ed.getDoc().execCommand('SelectAll', false, null);
49
+ se.setRng(r);
50
+ };
51
+
52
+ function replace() {
53
+ if (tinymce.isIE)
54
+ ed.selection.getRng().duplicate().pasteHTML(rs); // Needs to be duplicated due to selection bug in IE
55
+ else
56
+ ed.getDoc().execCommand('InsertHTML', false, rs);
57
+ };
58
+
59
+ // IE flags
60
+ if (ca)
61
+ fl = fl | 4;
62
+
63
+ switch (a) {
64
+ case 'all':
65
+ if (tinymce.isIE) {
66
+ while (r.findText(s, b ? -1 : 1, fl)) {
67
+ r.scrollIntoView();
68
+ r.select();
69
+ replace();
70
+ fo = 1;
71
+ }
72
+
73
+ tinyMCEPopup.storeSelection();
74
+ } else {
75
+ while (w.find(s, ca, b, false, false, false, false)) {
76
+ replace();
77
+ fo = 1;
78
+ }
79
+ }
80
+
81
+ if (fo)
82
+ wm.alert(ed.getLang('searchreplace_dlg.allreplaced'));
83
+ else
84
+ wm.alert(ed.getLang('searchreplace_dlg.notfound'));
85
+
86
+ return;
87
+
88
+ case 'current':
89
+ replace();
90
+ break;
91
+ }
92
+
93
+ se.collapse(b);
94
+ r = se.getRng();
95
+
96
+ // Whats the point
97
+ if (!s)
98
+ return;
99
+
100
+ if (tinymce.isIE) {
101
+ if (r.findText(s, b ? -1 : 1, fl)) {
102
+ r.scrollIntoView();
103
+ r.select();
104
+ } else
105
+ wm.alert(ed.getLang('searchreplace_dlg.notfound'));
106
+
107
+ tinyMCEPopup.storeSelection();
108
+ } else {
109
+ if (!w.find(s, ca, b, false, false, false, false))
110
+ wm.alert(ed.getLang('searchreplace_dlg.notfound'));
111
+ else
112
+ fix();
113
+ }
114
+ }
115
+ };
116
+
117
+ tinyMCEPopup.onInit.add(SearchReplaceDialog.init, SearchReplaceDialog);
mce/searchreplace/jscripts/searchreplace.js DELETED
@@ -1,86 +0,0 @@
1
- function init() {
2
- tinyMCEPopup.resizeToInnerSize();
3
-
4
- // start with appropiate tab
5
- var task = (tinyMCE.getWindowArg("replacestring") != null) ? "replace" : "search";
6
- mcTabs.displayTab(task + '_tab', task +'_panel');
7
- manageReplaceButtons();
8
-
9
- var formObj = document.forms[0];
10
-
11
- formObj[task + "_panel_searchstring"].value = tinyMCE.getWindowArg("searchstring");
12
- formObj["replace_panel_replacestring"].value = (tinyMCE.getWindowArg("replacestring") != null) ? tinyMCE.getWindowArg("replacestring") : "";
13
- formObj[task + "_panel_casesensitivebox"].checked = tinyMCE.getWindowArg("casesensitive");
14
- formObj[task + "_panel_backwardsu"].checked = tinyMCE.getWindowArg("backwards");
15
- formObj[task + "_panel_backwardsd"].checked = !tinyMCE.getWindowArg("backwards");
16
- }
17
-
18
- function searchNext(replacemode) {
19
- // "search" or "replace" mode of operation?
20
- var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
21
-
22
- var formObj = document.forms[0];
23
-
24
- if (task == "replace") {
25
- // Whats the point?
26
- if (formObj[task + "_panel_searchstring"].value == "" || formObj[task + "_panel_searchstring"].value == formObj[task + "_panel_replacestring"].value)
27
- return false;
28
- }
29
-
30
- // Do search
31
- tinyMCEPopup.execCommand('mceSearch', false, {
32
- string : formObj[task + "_panel_searchstring"].value,
33
- replacestring : formObj["replace_panel_replacestring"].value,
34
- replacemode : replacemode,
35
- casesensitive : formObj[task + "_panel_casesensitivebox"].checked,
36
- backwards : formObj[task + "_panel_backwardsu"].checked,
37
- win : window
38
- }, false);
39
-
40
- window.focus();
41
-
42
- return false;
43
- }
44
-
45
- function cancelAction() {
46
- tinyMCEPopup.close();
47
- }
48
-
49
- function manageReplaceButtons() {
50
- // "search" or "replace" mode of operation?
51
- var task = (document.getElementById("search_tab").className == "current") ? "search" : "replace";
52
- document.getElementById("replace_buttons").style.visibility = (task == "replace") ? "visible" : "hidden";
53
- }
54
-
55
- function copyValues(link) {
56
- // check if tab is already active
57
- var tab = link;
58
- while (tab.tagName && tab.tagName.toLowerCase() != "li") tab = tab.parentNode;
59
- if (tab.className) return false; // tab is already active -> no need to copy any values!
60
-
61
- // copy values from one panel to the other (if they exist there)
62
- var from_panel_name = tab.id.match(/^search/i) ? "replace_panel" : "search_panel";
63
- var to_panel_name = (from_panel_name == "search_panel") ? "replace_panel" : "search_panel";
64
-
65
- // find all elements with IDs to copy their values
66
- var elms = document.getElementById(from_panel_name).getElementsByTagName("*");
67
- for (var i = 0; i < elms.length; i++) {
68
- if (elms[i].id && elms[i].id != "") {
69
- var checked = "undefined";
70
- if (elms[i].type.toLowerCase() == "checkbox" || elms[i].type.toLowerCase() == "radio")
71
- checked = elms[i].checked;
72
-
73
- // copy values if element exists in other panel
74
- var to_elm_name = to_panel_name + elms[i].id.substring(from_panel_name.length, elms[i].id.length);
75
- var to_elm = document.getElementById(to_elm_name);
76
- if (to_elm) {
77
- if (checked != "undefined")
78
- to_elm.checked = checked;
79
- else
80
- to_elm.value = elms[i].value;
81
- }
82
- }
83
- }
84
-
85
- return false;
86
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/langs/de_de.js DELETED
@@ -1,22 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- searchreplace_search_desc : 'Suchen',
5
- searchreplace_searchnext_desc : 'Erneut suchen',
6
- searchreplace_replace_desc : 'Suchen/Ersetzen',
7
- searchreplace_notfound : 'Die Suche wurde abgeschlossen. Das Suchwort wurde nicht gefunden.',
8
- searchreplace_search_title : 'Suchen',
9
- searchreplace_replace_title : 'Suchen/Ersetzen',
10
- searchreplace_allreplaced : 'Die Suche wurde abgeschlossen. Alle Vorkommen wurden ersetzt.',
11
- searchreplace_findwhat : 'Suchen nach',
12
- searchreplace_replacewith : 'Ersetzen durch',
13
- searchreplace_direction : 'Suchrichtung',
14
- searchreplace_up : 'R&uuml;ckw&auml;rts',
15
- searchreplace_down : 'Vorw&auml;rts',
16
- searchreplace_case : 'Gro&szlig;-/Kleinschreibung beachten',
17
- searchreplace_findnext : 'Weitersuchen',
18
- searchreplace_replace : 'Ersetzen',
19
- searchreplace_replaceall : 'Alle ersetzen',
20
- searchreplace_cancel : 'Abbrechen',
21
- searchreplace_replace_delta_width : 50
22
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/langs/de_dlg.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('de.searchreplace_dlg',{
2
+ searchnext_desc:"Weitersuchen",
3
+ notfound:"Die Suche ist am Ende angelangt. Die Zeichenkette konnte nicht gefunden werden.",
4
+ search_title:"Suchen",
5
+ replace_title:"Suchen/Ersetzen",
6
+ allreplaced:"Alle Vorkommen der Zeichenkette wurden ersetzt.",
7
+ findwhat:"Zu suchender Text",
8
+ replacewith:"Ersetzen durch",
9
+ direction:"Suchrichtung",
10
+ up:"Aufw\u00E4rts",
11
+ down:"Abw\u00E4rts",
12
+ mcase:"Gro\u00DF-/Kleinschreibung beachten",
13
+ findnext:"Weitersuchen",
14
+ replace:"Ersetzen",
15
+ replaceall:"Alle ersetzen"
16
+ });
mce/searchreplace/langs/en.js DELETED
@@ -1,21 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- searchreplace_search_desc : 'Find',
5
- searchreplace_searchnext_desc : 'Find again',
6
- searchreplace_replace_desc : 'Find/Replace',
7
- searchreplace_notfound : 'The search has been completed. The search string could not be found.',
8
- searchreplace_search_title : 'Find',
9
- searchreplace_replace_title : 'Find/Replace',
10
- searchreplace_allreplaced : 'All occurrences of the search string were replaced.',
11
- searchreplace_findwhat : 'Find what',
12
- searchreplace_replacewith : 'Replace with',
13
- searchreplace_direction : 'Direction',
14
- searchreplace_up : 'Up',
15
- searchreplace_down : 'Down',
16
- searchreplace_case : 'Match case',
17
- searchreplace_findnext : 'Find&nbsp;next',
18
- searchreplace_replace : 'Replace',
19
- searchreplace_replaceall : 'Replace&nbsp;all',
20
- searchreplace_cancel : 'Cancel'
21
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/langs/en_dlg.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('en.searchreplace_dlg',{
2
+ searchnext_desc:"Find again",
3
+ notfound:"The search has been completed. The search string could not be found.",
4
+ search_title:"Find",
5
+ replace_title:"Find/Replace",
6
+ allreplaced:"All occurrences of the search string were replaced.",
7
+ findwhat:"Find what",
8
+ replacewith:"Replace with",
9
+ direction:"Direction",
10
+ up:"Up",
11
+ down:"Down",
12
+ mcase:"Match case",
13
+ findnext:"Find next",
14
+ replace:"Replace",
15
+ replaceall:"Replace all"
16
+ });
mce/searchreplace/langs/es_dlg.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('es.searchreplace_dlg',{
2
+ searchnext_desc:"Buscar de nuevo",
3
+ notfound:"La b\u00FAsqueda se ha completado. No se encontr\u00F3 el texto introducido.",
4
+ search_title:"Buscar",
5
+ replace_title:"Buscar/Reemplazar",
6
+ allreplaced:"Se ha reemplazado el texto.",
7
+ findwhat:"Qu\u00E9 buscar",
8
+ replacewith:"Reemplazar por",
9
+ direction:"Direcci\u00F3n",
10
+ up:"Arriba",
11
+ down:"Abajo",
12
+ mcase:"Min\u00FAs./May\u00FAs.",
13
+ findnext:"Buscar siguiente",
14
+ replace:"Reemplazar",
15
+ replaceall:"Reemplazar todo"
16
+ });
mce/searchreplace/langs/es_es.js DELETED
@@ -1,31 +0,0 @@
1
- /**
2
- * ES lang variables
3
- *
4
- * Authors : Alvaro Velasco,
5
- * Adolfo Sanz De Diego (asanzdiego) <asanzdiego@yahoo.es>,
6
- * Carlos C Soto (eclipxe) <csoto@sia-solutions.com>
7
- * Eneko Castresana Vara
8
- * Last Updated : July 14, 2006
9
- * TinyMCE Version : 2.0.6.1
10
- */
11
-
12
- tinyMCE.addToLang('',{
13
- searchreplace_search_desc : 'Buscar',
14
- searchreplace_searchnext_desc : 'Buscar de nuevo',
15
- searchreplace_replace_desc : 'Buscar/Replazar',
16
- searchreplace_notfound : 'La b&uacute;squeda ha terminado. No se ha encontrado el elemento buscado.',
17
- searchreplace_search_title : 'Buscar',
18
- searchreplace_replace_title : 'Buscar/Replazar',
19
- searchreplace_allreplaced : 'Todas las ocurrencias del elemento buscado han sido remplazadas.',
20
- searchreplace_findwhat : 'Buscar',
21
- searchreplace_replacewith : 'Replazar con',
22
- searchreplace_direction : 'Direcci&oacute;n',
23
- searchreplace_up : 'Arriba',
24
- searchreplace_down : 'Abajo',
25
- searchreplace_case : 'B&uacute;squeda exacta (may&uacute;sculas y min&uacute;sculas)',
26
- searchreplace_findnext : 'Buscar siguiente',
27
- searchreplace_replace : 'Replazar',
28
- searchreplace_replaceall : 'Replazar todo',
29
- searchreplace_cancel : 'Cancelar',
30
- searchreplace_replace_delta_width : 70
31
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/langs/fr_dlg.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('fr.searchreplace_dlg',{
2
+ searchnext_desc:"Suivant",
3
+ notfound:"La recherche est termin\u00E9e. La cha\u00EEne recherch\u00E9e n'a pas \u00E9t\u00E9 trouv\u00E9e.",
4
+ search_title:"Chercher",
5
+ replace_title:"Chercher/Remplacer",
6
+ allreplaced:"Toutes les occurences de la cha\u00EEne recherch\u00E9e ont \u00E9t\u00E9 remplac\u00E9es.",
7
+ findwhat:"Chercher",
8
+ replacewith:"Remplacer par",
9
+ direction:"Direction",
10
+ up:"Haut",
11
+ down:"Bas",
12
+ mcase:"Prendre la casse en compte",
13
+ findnext:"Chercher suivant",
14
+ replace:"Remplacer",
15
+ replaceall:"Rempl. tous"
16
+ });
mce/searchreplace/langs/fr_fr.js DELETED
@@ -1,22 +0,0 @@
1
- // FR lang variables
2
- // Modified by keyko-web.net, last updated 2007-03-08, based on the work of Motte
3
-
4
- tinyMCE.addToLang('',{
5
- searchreplace_search_desc : 'Rechercher',
6
- searchreplace_searchnext_desc : 'Rechercher suivant',
7
- searchreplace_replace_desc : 'Rechercher/Remplacer',
8
- searchreplace_notfound : 'Recherche compl&eacute;t&eacute;e. La fin du document a &eacute;t&eacute; atteinte.',
9
- searchreplace_search_title : 'Rechercher',
10
- searchreplace_replace_title : 'Rechercher/Remplacer',
11
- searchreplace_allreplaced : 'Action termin&eacute;e avec succ&egrave;s. Les remplacements\nont &eacute;t&eacute; faits dans l\'ensemble du document.',
12
- searchreplace_findwhat : 'Trouver le mot',
13
- searchreplace_replacewith : 'Remplacer par',
14
- searchreplace_direction : 'Direction',
15
- searchreplace_up : 'Vers le haut',
16
- searchreplace_down : 'Vers le bas',
17
- searchreplace_case : 'Respecter la casse',
18
- searchreplace_findnext : 'Suivant',
19
- searchreplace_replace : 'Remplacer',
20
- searchreplace_replaceall : 'Remplacer tout',
21
- searchreplace_cancel : 'Annuler'
22
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/langs/it_dlg.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('it.searchreplace_dlg',{
2
+ searchnext_desc:"Trova successivo",
3
+ notfound:"Ricerca completata. Nessun risultato trovato.",
4
+ search_title:"Trova",
5
+ replace_title:"Trova/Sostituisci",
6
+ allreplaced:"Tutte le occorrenze del criterio di ricerca sono state sostituite.",
7
+ findwhat:"Trova:",
8
+ replacewith:"Sostituisci con:",
9
+ direction:"Direzione",
10
+ up:"Avanti",
11
+ down:"Indietro",
12
+ mcase:"Maiuscole/minuscole",
13
+ findnext:"Trova succ.",
14
+ replace:"Sostituisci",
15
+ replaceall:"Sost. tutto"
16
+ });
mce/searchreplace/langs/it_it.js DELETED
@@ -1,27 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('',{
10
- searchreplace_search_desc : 'Cerca',
11
- searchreplace_searchnext_desc : 'Trova successivo',
12
- searchreplace_replace_desc : 'Cerca e sostituisci',
13
- searchreplace_notfound : 'La ricerca &egrave; stata completata. Il testo cercato non &egrave; stato trovato',
14
- searchreplace_search_title : 'Cerca',
15
- searchreplace_replace_title : 'Cerca e sostituisci',
16
- searchreplace_allreplaced : 'Tutte le occorrenze trovate sono state sostituite',
17
- searchreplace_findwhat : 'Cosa cercare',
18
- searchreplace_replacewith : 'Sostituire con',
19
- searchreplace_direction : 'Direzione',
20
- searchreplace_up : 'Su',
21
- searchreplace_down : 'Gi&ugrave;',
22
- searchreplace_case : 'Maiuscole/minuscole',
23
- searchreplace_findnext : 'Cerca&nbsp;successivo',
24
- searchreplace_replace : 'Sostituisci',
25
- searchreplace_replaceall : 'Sostituisci&nbsp;tutto',
26
- searchreplace_cancel : 'Annulla'
27
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/langs/ja_dlg.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ja.searchreplace_dlg',{
2
+ searchnext_desc:"\u518D\u6B21\u67E5\u627E",
3
+ notfound:"\u67E5\u627E\u5DF2\u5B8C\u6210 ! \u627E\u4E0D\u5230\u4EFB\u4F55\u76EE\u6807\u3002 ",
4
+ search_title:"\u67E5\u627E",
5
+ replace_title:"\u67E5\u627E/\u66FF\u6362",
6
+ allreplaced:"\u5DF2\u66FF\u6362\u6240\u6709\u5339\u914D\u7684\u5B57\u7B26\u4E32.",
7
+ findwhat:"\u67E5\u627E\u76EE\u6807",
8
+ replacewith:"\u66FF\u6362\u4E3A",
9
+ direction:"\u65B9\u5411",
10
+ up:"\u5411\u4E0A",
11
+ down:"\u5411\u4E0B",
12
+ mcase:"\u533A\u5206\u5927\u5C0F\u5199",
13
+ findnext:"\u67E5\u627E\u4E0B\u4E00\u4E2A",
14
+ replace:"\u66FF\u6362",
15
+ replaceall:"\u5168\u90E8\u66FF\u6362"
16
+ });
mce/searchreplace/langs/langs.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+ $lang_file = dirname(__FILE__) . '/' . $mce_locale . '_dlg.js';
3
+
4
+ if ( is_file($lang_file) && is_readable($lang_file) ) {
5
+ $strings .= getFileContents($lang_file);
6
+ }
7
+ ?>
mce/searchreplace/langs/pt_br.js DELETED
@@ -1,29 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 26, 2005 - TinyMCE Version : 2.0RC4
9
- * Last Updated : November 20, 2006 - TinyMCE Version : 2.0.8
10
- */
11
- tinyMCE.addToLang('',{
12
- searchreplace_search_desc : 'Procurar',
13
- searchreplace_searchnext_desc : 'Procurar novamente',
14
- searchreplace_replace_desc : 'Procurar/substituir',
15
- searchreplace_notfound : 'A procura foi conclu�da. A express�o procurada n�o foi encontrada.',
16
- searchreplace_search_title : 'Procurar',
17
- searchreplace_replace_title : 'Procurar/substituir',
18
- searchreplace_allreplaced : 'Todas as ocorr�ncias encontradas foram substitu�das.',
19
- searchreplace_findwhat : 'Procurar por',
20
- searchreplace_replacewith : 'Substituir com',
21
- searchreplace_direction : 'Dire��o',
22
- searchreplace_up : 'Acima',
23
- searchreplace_down : 'Abaixo',
24
- searchreplace_case : 'Procurar exatamente',
25
- searchreplace_findnext : 'Procurar/pr�x',
26
- searchreplace_replace : 'Substituir',
27
- searchreplace_replaceall : 'Subst&nbsp;tudo',
28
- searchreplace_cancel : 'Cancelar'
29
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/langs/pt_dlg.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('pt.searchreplace_dlg',{
2
+ searchnext_desc:"Localizar novamente",
3
+ notfound:"Pesquisa conclu\u00EDda sem resultados.",
4
+ search_title:"Localizar",
5
+ replace_title:"Localizar/substituir",
6
+ allreplaced:"Todas substitui\u00E7\u00F5es foram efetuadas.",
7
+ findwhat:"Localizar",
8
+ replacewith:"Substituir com",
9
+ direction:"Dire\u00E7\u00E3o",
10
+ up:"Acima",
11
+ down:"Abaixo",
12
+ mcase:"Diferenciar mai\u00FAsculas/min\u00FAsculas",
13
+ findnext:"Localizar o seguinte",
14
+ replace:"Substituir",
15
+ replaceall:"Substituir todos"
16
+ });
mce/searchreplace/langs/ru_dlg.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ru.searchreplace_dlg',{
2
+ searchnext_desc:"\u0414\u0430\u043B\u044C\u0448\u0435",
3
+ notfound:"\u041F\u043E\u0438\u0441\u043A \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D. \u041F\u043E \u0412\u0430\u0448\u0435\u043C\u0443 \u0437\u0430\u043F\u0440\u043E\u0441\u0443 \u043D\u0438\u0447\u0435\u0433\u043E \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E.",
4
+ search_title:"\u041D\u0430\u0439\u0442\u0438",
5
+ replace_title:"\u041D\u0430\u0439\u0442\u0438/\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C",
6
+ allreplaced:"\u0412\u0441\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043D\u044B\u0435 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u044F \u0431\u044B\u043B\u0438 \u0437\u0430\u043C\u0435\u043D\u0435\u043D\u044B.",
7
+ findwhat:"\u041D\u0430\u0439\u0442\u0438",
8
+ replacewith:"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u0430",
9
+ direction:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435",
10
+ up:"\u0412\u0432\u0435\u0440\u0445",
11
+ down:"\u0412\u043D\u0438\u0437",
12
+ mcase:"\u0423\u0447\u0438\u0442\u044B\u0432\u0430\u0442\u044C \u0440\u0435\u0433\u0438\u0441\u0442\u0440",
13
+ findnext:"\u041D\u0430\u0439\u0442\u0438 \u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435",
14
+ replace:"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C",
15
+ replaceall:"\u0417\u0430\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u0441\u0435"
16
+ });
mce/searchreplace/langs/ru_ru.js DELETED
@@ -1,21 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('',{
4
- searchreplace_search_desc : 'Найти',
5
- searchreplace_searchnext_desc : 'Найти опять',
6
- searchreplace_replace_desc : 'Найти / Заменить',
7
- searchreplace_notfound : 'Поиск завершён. Искомое выражение не найдено.',
8
- searchreplace_search_title : 'Найти',
9
- searchreplace_replace_title : 'Найти / Заменить',
10
- searchreplace_allreplaced : 'Замена была выполнена во всех случаях совпадения искомого выражения.',
11
- searchreplace_findwhat : 'Найти что',
12
- searchreplace_replacewith : 'Заменить чем',
13
- searchreplace_direction : 'Направление',
14
- searchreplace_up : 'Вверх',
15
- searchreplace_down : 'Вниз',
16
- searchreplace_case : 'С учётом регистра',
17
- searchreplace_findnext : 'Найти&nbsp;следующее',
18
- searchreplace_replace : 'Заменить',
19
- searchreplace_replaceall : 'Заменить&nbsp;везде',
20
- searchreplace_cancel : 'Отменить'
21
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/langs/zh_cn.js DELETED
@@ -1,22 +0,0 @@
1
- // Simplified Chinese lang variables contributed by TinyMCE_China_Team ( tinymce_china {AT} yahoogroups {DOT} com ).
2
- // visit our homepage at: http://www.cube316.net/tinymce/ for more information.
3
-
4
- tinyMCE.addToLang('',{
5
- searchreplace_search_desc : '����',
6
- searchreplace_searchnext_desc : '�ٴβ���',
7
- searchreplace_replace_desc : '����/�滻',
8
- searchreplace_notfound : '������ϣ�û���ҵ�Ҫ���ҵ��ַ�����',
9
- searchreplace_search_title : '����',
10
- searchreplace_replace_title : '����/�滻',
11
- searchreplace_allreplaced : '���з����������ַ������滻��ϡ�',
12
- searchreplace_findwhat : '����',
13
- searchreplace_replacewith : '�滻Ϊ',
14
- searchreplace_direction : '����',
15
- searchreplace_up : '����',
16
- searchreplace_down : '����',
17
- searchreplace_case : 'ƥ���Сд',
18
- searchreplace_findnext : '������һ��',
19
- searchreplace_replace : '�滻',
20
- searchreplace_replaceall : 'ȫ���滻',
21
- searchreplace_cancel : 'ȡ��'
22
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/searchreplace/langs/zh_dlg.js ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('zh.searchreplace_dlg',{
2
+ searchnext_desc:"\u518D\u6B21\u67E5\u627E",
3
+ notfound:"\u67E5\u627E\u5DF2\u5B8C\u6210 ! \u627E\u4E0D\u5230\u4EFB\u4F55\u76EE\u6A19\u3002 ",
4
+ search_title:"\u67E5\u627E",
5
+ replace_title:"\u67E5\u627E/\u66FF\u63DB",
6
+ allreplaced:"\u5DF2\u66FF\u63DB\u6240\u6709\u5339\u914D\u7684\u5B57\u4E32.",
7
+ findwhat:"\u67E5\u627E\u76EE\u6A19",
8
+ replacewith:"\u66FF\u63DB\u70BA",
9
+ direction:"\u65B9\u5411",
10
+ up:"\u5411\u4E0A",
11
+ down:"\u5411\u4E0B",
12
+ mcase:"\u5340\u5206\u5927\u5C0F\u5BEB",
13
+ findnext:"\u67E5\u627E\u4E0B\u4E00\u500B",
14
+ replace:"\u66FF\u63DB",
15
+ replaceall:"\u5168\u90E8\u66FF\u63DB"
16
+ });
mce/searchreplace/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/searchreplace/searchreplace.htm CHANGED
@@ -1,39 +1,39 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_searchreplace_replace_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="jscripts/searchreplace.js"></script>
8
  <link rel="stylesheet" type="text/css" href="css/searchreplace.css" />
9
  <base target="_self" />
10
  </head>
11
- <body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none; margin: 4px;">
12
- <form onsubmit="return false;" action="#">
13
  <div class="tabs">
14
  <ul>
15
- <li id="search_tab"><span><a href="javascript:mcTabs.displayTab('search_tab','search_panel');manageReplaceButtons();" onmousedown="return copyValues(this);">{$lang_searchreplace_search_desc}</a></span></li>
16
- <li id="replace_tab"><span><a href="javascript:mcTabs.displayTab('replace_tab','replace_panel');manageReplaceButtons();" onmousedown="return copyValues(this);">{$lang_searchreplace_replace}</a></span></li>
17
  </ul>
18
  </div>
19
 
20
  <div class="panel_wrapper">
21
-
22
  <div id="search_panel" class="panel">
23
  <table border="0" cellspacing="0" cellpadding="2">
24
  <tr>
25
- <td><label for="search_panel_searchstring">{$lang_searchreplace_findwhat}</label></td>
26
  <td><input type="text" id="search_panel_searchstring" name="search_panel_searchstring" style="width: 200px" /></td>
27
  </tr>
28
  <tr>
29
  <td colspan="2">
30
  <table border="0" cellspacing="0" cellpadding="0" class="direction">
31
  <tr>
32
- <td><label>{$lang_searchreplace_direction}</label></td>
33
  <td><input id="search_panel_backwardsu" name="search_panel_backwards" class="radio" type="radio" /></td>
34
- <td><label for="search_panel_backwardsu">{$lang_searchreplace_up}</label></td>
35
- <td><input id="search_panel_backwardsd" name="search_panel_backwards" class="radio" type="radio" /></td>
36
- <td><label for="search_panel_backwardsd">{$lang_searchreplace_down}</label></td>
37
  </tr>
38
  </table>
39
  </td>
@@ -43,7 +43,7 @@
43
  <table border="0" cellspacing="0" cellpadding="0">
44
  <tr>
45
  <td><input id="search_panel_casesensitivebox" name="search_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
46
- <td><label for="search_panel_casesensitivebox">{$lang_searchreplace_case}</label></td>
47
  </tr>
48
  </table>
49
  </td>
@@ -54,22 +54,22 @@
54
  <div id="replace_panel" class="panel">
55
  <table border="0" cellspacing="0" cellpadding="2">
56
  <tr>
57
- <td><label for="replace_panel_searchstring">{$lang_searchreplace_findwhat}</label></td>
58
  <td><input type="text" id="replace_panel_searchstring" name="replace_panel_searchstring" style="width: 200px" /></td>
59
  </tr>
60
  <tr>
61
- <td><label for="replace_panel_replacestring">{$lang_searchreplace_replacewith}</label></td>
62
  <td><input type="text" id="replace_panel_replacestring" name="replace_panel_replacestring" style="width: 200px" /></td>
63
  </tr>
64
  <tr>
65
  <td colspan="2">
66
  <table border="0" cellspacing="0" cellpadding="0" class="direction">
67
  <tr>
68
- <td><label>{$lang_searchreplace_direction}</label></td>
69
  <td><input id="replace_panel_backwardsu" name="replace_panel_backwards" class="radio" type="radio" /></td>
70
- <td><label for="replace_panel_backwardsu">{$lang_searchreplace_up}</label></td>
71
- <td><input id="replace_panel_backwardsd" name="replace_panel_backwards" class="radio" type="radio" /></td>
72
- <td><label for="replace_panel_backwardsd">{$lang_searchreplace_down}</label></td>
73
  </tr>
74
  </table>
75
  </td>
@@ -79,7 +79,7 @@
79
  <table border="0" cellspacing="0" cellpadding="0">
80
  <tr>
81
  <td><input id="replace_panel_casesensitivebox" name="replace_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
82
- <td><label for="replace_panel_casesensitivebox">{$lang_searchreplace_case}</label></td>
83
  </tr>
84
  </table>
85
  </td>
@@ -91,15 +91,13 @@
91
 
92
  <div class="mceActionPanel">
93
  <div style="float: left">
94
- <input type="button" id="insert" name="insert" value="{$lang_searchreplace_findnext}" onclick="searchNext('none');" />
95
- <span id="replace_buttons">
96
- <input type="button" id="replaceBtn" name="replaceBtn" value="{$lang_searchreplace_replace}" onclick="searchNext('current');" />
97
- <input type="button" id="replaceAllBtn" name="replaceAllBtn" value="{$lang_searchreplace_replaceall}" onclick="searchNext('all');;" />
98
- </span>
99
  </div>
100
 
101
  <div style="float: right">
102
- <input type="button" id="cancel" name="cancel" value="{$lang_searchreplace_cancel}" onclick="tinyMCEPopup.close();" />
103
  </div>
104
  </div>
105
  </form>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#searchreplace_dlg.replace_title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="js/searchreplace.js"></script>
9
  <link rel="stylesheet" type="text/css" href="css/searchreplace.css" />
10
  <base target="_self" />
11
  </head>
12
+ <body style="display:none;">
13
+ <form onsubmit="SearchReplaceDialog.searchNext('none');return false;" action="#">
14
  <div class="tabs">
15
  <ul>
16
+ <li id="search_tab"><span><a href="javascript:SearchReplaceDialog.switchMode('search');" onmousedown="return false;">{#searchreplace.search_desc}</a></span></li>
17
+ <li id="replace_tab"><span><a href="javascript:SearchReplaceDialog.switchMode('replace');" onmousedown="return false;">{#searchreplace_dlg.replace}</a></span></li>
18
  </ul>
19
  </div>
20
 
21
  <div class="panel_wrapper">
 
22
  <div id="search_panel" class="panel">
23
  <table border="0" cellspacing="0" cellpadding="2">
24
  <tr>
25
+ <td><label for="search_panel_searchstring">{#searchreplace_dlg.findwhat}</label></td>
26
  <td><input type="text" id="search_panel_searchstring" name="search_panel_searchstring" style="width: 200px" /></td>
27
  </tr>
28
  <tr>
29
  <td colspan="2">
30
  <table border="0" cellspacing="0" cellpadding="0" class="direction">
31
  <tr>
32
+ <td><label>{#searchreplace_dlg.direction}</label></td>
33
  <td><input id="search_panel_backwardsu" name="search_panel_backwards" class="radio" type="radio" /></td>
34
+ <td><label for="search_panel_backwardsu">{#searchreplace_dlg.up}</label></td>
35
+ <td><input id="search_panel_backwardsd" name="search_panel_backwards" class="radio" type="radio" checked="checked" /></td>
36
+ <td><label for="search_panel_backwardsd">{#searchreplace_dlg.down}</label></td>
37
  </tr>
38
  </table>
39
  </td>
43
  <table border="0" cellspacing="0" cellpadding="0">
44
  <tr>
45
  <td><input id="search_panel_casesensitivebox" name="search_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
46
+ <td><label for="search_panel_casesensitivebox">{#searchreplace_dlg.mcase}</label></td>
47
  </tr>
48
  </table>
49
  </td>
54
  <div id="replace_panel" class="panel">
55
  <table border="0" cellspacing="0" cellpadding="2">
56
  <tr>
57
+ <td><label for="replace_panel_searchstring">{#searchreplace_dlg.findwhat}</label></td>
58
  <td><input type="text" id="replace_panel_searchstring" name="replace_panel_searchstring" style="width: 200px" /></td>
59
  </tr>
60
  <tr>
61
+ <td><label for="replace_panel_replacestring">{#searchreplace_dlg.replacewith}</label></td>
62
  <td><input type="text" id="replace_panel_replacestring" name="replace_panel_replacestring" style="width: 200px" /></td>
63
  </tr>
64
  <tr>
65
  <td colspan="2">
66
  <table border="0" cellspacing="0" cellpadding="0" class="direction">
67
  <tr>
68
+ <td><label>{#searchreplace_dlg.direction}</label></td>
69
  <td><input id="replace_panel_backwardsu" name="replace_panel_backwards" class="radio" type="radio" /></td>
70
+ <td><label for="replace_panel_backwardsu">{#searchreplace_dlg.up}</label></td>
71
+ <td><input id="replace_panel_backwardsd" name="replace_panel_backwards" class="radio" type="radio" checked="checked" /></td>
72
+ <td><label for="replace_panel_backwardsd">{#searchreplace_dlg.down}</label></td>
73
  </tr>
74
  </table>
75
  </td>
79
  <table border="0" cellspacing="0" cellpadding="0">
80
  <tr>
81
  <td><input id="replace_panel_casesensitivebox" name="replace_panel_casesensitivebox" class="checkbox" type="checkbox" /></td>
82
+ <td><label for="replace_panel_casesensitivebox">{#searchreplace_dlg.mcase}</label></td>
83
  </tr>
84
  </table>
85
  </td>
91
 
92
  <div class="mceActionPanel">
93
  <div style="float: left">
94
+ <input type="submit" id="insert" name="insert" value="{#searchreplace_dlg.findnext}" />
95
+ <input type="button" class="mceButton" id="replaceBtn" name="replaceBtn" value="{#searchreplace_dlg.replace}" onclick="SearchReplaceDialog.searchNext('current');" />
96
+ <input type="button" class="mceButton" id="replaceAllBtn" name="replaceAllBtn" value="{#searchreplace_dlg.replaceall}" onclick="SearchReplaceDialog.searchNext('all');" />
 
 
97
  </div>
98
 
99
  <div style="float: right">
100
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
101
  </div>
102
  </div>
103
  </form>
mce/style/css/props.css CHANGED
@@ -1,69 +1,13 @@
1
- #text_font {
2
- width: 250px;
3
- }
4
-
5
- #text_size {
6
- width: 70px;
7
- }
8
-
9
- .mceAddSelectValue {
10
- background-color: #DDDDDD;
11
- }
12
-
13
- select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {
14
- width: 70px;
15
- }
16
-
17
- #box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {
18
- width: 70px;
19
- }
20
-
21
- #positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {
22
- width: 70px;
23
- }
24
-
25
- #positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {
26
- width: 70px;
27
- }
28
-
29
- .panel_wrapper div.current {
30
- padding-top: 10px;
31
- height: 230px;
32
- }
33
-
34
- .delim {
35
- border-left: 1px solid gray;
36
- }
37
-
38
- .tdelim {
39
- border-bottom: 1px solid gray;
40
- }
41
-
42
- #block_display {
43
- width: 145px;
44
- }
45
-
46
- #list_type {
47
- width: 115px;
48
- }
49
-
50
- .disabled {
51
- background-color: #EEEEEE;
52
- }
53
-
54
- #apply {
55
- font: 11px Verdana, Arial, Helvetica, sans-serif;
56
- height: auto;
57
- width: auto;
58
- background-color: transparent;
59
- background-image: url(../images/fade-butt.png);
60
- background-repeat: repeat;
61
- border: 3px double;
62
- border-right-color: rgb(153, 153, 153);
63
- border-bottom-color: rgb(153, 153, 153);
64
- border-left-color: rgb(204, 204, 204);
65
- border-top-color: rgb(204, 204, 204);
66
- color: rgb(51, 51, 51);
67
- padding: 0.1em 0.5em 2px;
68
- }
69
-
1
+ #text_font {width:250px;}
2
+ #text_size {width:70px;}
3
+ .mceAddSelectValue {background:#DDD;}
4
+ select, #block_text_indent, #box_width, #box_height, #box_padding_top, #box_padding_right, #box_padding_bottom, #box_padding_left {width:70px;}
5
+ #box_margin_top, #box_margin_right, #box_margin_bottom, #box_margin_left, #positioning_width, #positioning_height, #positioning_zindex {width:70px;}
6
+ #positioning_placement_top, #positioning_placement_right, #positioning_placement_bottom, #positioning_placement_left {width:70px;}
7
+ #positioning_clip_top, #positioning_clip_right, #positioning_clip_bottom, #positioning_clip_left {width:70px;}
8
+ .panel_wrapper div.current {padding-top:10px;height:230px;}
9
+ .delim {border-left:1px solid gray;}
10
+ .tdelim {border-bottom:1px solid gray;}
11
+ #block_display {width:145px;}
12
+ #list_type {width:115px;}
13
+ .disabled {background:#EEE;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/style/editor_plugin.js CHANGED
@@ -1,83 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import plugin specific language pack */
9
- tinyMCE.importPluginLanguagePack('style');
10
-
11
- var TinyMCE_StylePlugin = {
12
- getInfo : function() {
13
- return {
14
- longname : 'Style',
15
- author : 'Moxiecode Systems AB',
16
- authorurl : 'http://tinymce.moxiecode.com',
17
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',
18
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
- };
20
- },
21
-
22
- getControlHTML : function(cn) {
23
- switch (cn) {
24
- case "styleprops":
25
- return tinyMCE.getButtonHTML(cn, 'lang_style_styleinfo_desc', '{$pluginurl}/images/styleprops.gif', 'mceStyleProps', true);
26
- }
27
-
28
- return "";
29
- },
30
-
31
- execCommand : function(editor_id, element, command, user_interface, value) {
32
- var e, inst;
33
-
34
- // Handle commands
35
- switch (command) {
36
- case "mceStyleProps":
37
- TinyMCE_StylePlugin._styleProps();
38
- return true;
39
-
40
- case "mceSetElementStyle":
41
- inst = tinyMCE.getInstanceById(editor_id);
42
- e = inst.selection.getFocusElement();
43
-
44
- if (e) {
45
- e.style.cssText = value;
46
- inst.repaint();
47
- }
48
-
49
- return true;
50
- }
51
-
52
- // Pass to next handler in chain
53
- return false;
54
- },
55
-
56
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
57
- if (node.nodeName == 'BODY')
58
- tinyMCE.switchClass(editor_id + '_styleprops', 'mceButtonDisabled');
59
- else
60
- tinyMCE.switchClass(editor_id + '_styleprops', 'mceButtonNormal');
61
- },
62
-
63
- // Private plugin specific methods
64
-
65
- _styleProps : function() {
66
- var e = tinyMCE.selectedInstance.selection.getFocusElement();
67
-
68
- if (!e || e.nodeName == 'BODY')
69
- return;
70
-
71
- tinyMCE.openWindow({
72
- file : tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/style/props.htm',
73
- width : 480 + tinyMCE.getLang('lang_style_props_delta_width', 0),
74
- height : 320 + tinyMCE.getLang('lang_style_props_delta_height', 0)
75
- }, {
76
- editor_id : tinyMCE.selectedInstance.editorId,
77
- inline : "yes",
78
- style_text : e.style.cssText
79
- });
80
- }
81
- };
82
-
83
- tinyMCE.addPlugin("style", TinyMCE_StylePlugin);
1
+ (function(){tinymce.create('tinymce.plugins.StylePlugin',{init:function(ed,url){ed.addCommand('mceStyleProps',function(){ed.windowManager.open({file:url+'/props.htm',width:480+parseInt(ed.getLang('style.delta_width',0)),height:320+parseInt(ed.getLang('style.delta_height',0)),inline:1},{plugin_url:url,style_text:ed.selection.getNode().style.cssText});});ed.addCommand('mceSetElementStyle',function(ui,v){if(e=ed.selection.getNode()){ed.dom.setAttrib(e,'style',v);ed.execCommand('mceRepaint');}});ed.addButton('styleprops',{title:'style.desc',cmd:'mceStyleProps'});},getInfo:function(){return{longname:'Style',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/style',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('style',tinymce.plugins.StylePlugin);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/style/images/apply_button_bg.gif DELETED
Binary file
mce/style/images/fade-butt.png DELETED
Binary file
mce/style/images/style_info.gif DELETED
Binary file
mce/style/images/styleprops.gif DELETED
Binary file
mce/style/{jscripts → js}/props.js RENAMED
@@ -1,3 +1,5 @@
 
 
1
  var defaultFonts = "" +
2
  "Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" +
3
  "Times New Roman, Times, serif=Times New Roman, Times, serif;" +
@@ -8,7 +10,7 @@ var defaultFonts = "" +
8
  "Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif";
9
 
10
  var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger";
11
- var defaultMeasurement = "+pixels=px;points=pt;in;cm;mm;picas;ems;exs;%";
12
  var defaultSpacingMeasurement = "pixels=px;points=pt;in;cm;mm;picas;+ems;exs;%";
13
  var defaultIndentMeasurement = "pixels=px;+points=pt;in;cm;mm;picas;ems;exs;%";
14
  var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900";
@@ -33,8 +35,6 @@ function init() {
33
  h = getBrowserHTML('background_image_browser','background_image','image','advimage');
34
  document.getElementById("background_image_browser").innerHTML = h;
35
 
36
- tinyMCEPopup.resizeToInnerSize();
37
-
38
  document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color');
39
  document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color');
40
  document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top');
@@ -138,7 +138,7 @@ function setupFormData() {
138
  selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight));
139
  selectByValue(f, 'text_case', ce.style.textTransform, true, true);
140
  selectByValue(f, 'text_variant', ce.style.fontVariant, true, true);
141
- f.text_color.value = ce.style.color;
142
  updateColor('text_color_pick', 'text_color');
143
  f.text_underline.checked = inStr(ce.style.textDecoration, 'underline');
144
  f.text_overline.checked = inStr(ce.style.textDecoration, 'overline');
@@ -147,7 +147,7 @@ function setupFormData() {
147
 
148
  // Setup background fields
149
 
150
- f.background_color.value = ce.style.backgroundColor;
151
  updateColor('background_color_pick', 'background_color');
152
  f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
153
  selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true);
@@ -178,7 +178,7 @@ function setupFormData() {
178
  f.box_height.value = getNum(ce.style.height);
179
  selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height));
180
 
181
- if (tinyMCE.isGecko)
182
  selectByValue(f, 'box_float', ce.style.cssFloat, true, true);
183
  else
184
  selectByValue(f, 'box_float', ce.style.styleFloat, true, true);
@@ -199,6 +199,11 @@ function setupFormData() {
199
  updateColor('border_color_bottom_pick', 'border_color_bottom');
200
  updateColor('border_color_left_pick', 'border_color_left');
201
 
 
 
 
 
 
202
  // Setup list fields
203
 
204
  selectByValue(f, 'list_type', ce.style.listStyleType, true, true);
@@ -257,7 +262,7 @@ function inStr(s, n) {
257
  }
258
 
259
  function getVal(s, i) {
260
- var a = tinyMCE.explode(' ', s);
261
 
262
  if (a.length > 1)
263
  return a[i];
@@ -366,11 +371,12 @@ function hasEqualValues(a) {
366
  }
367
 
368
  function applyAction() {
369
- var ce = document.getElementById('container');
370
 
371
  generateCSS();
372
 
373
- tinyMCEPopup.execCommand('mceSetElementStyle', false, tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText)));
 
374
  }
375
 
376
  function updateAction() {
@@ -385,7 +391,7 @@ function generateCSS() {
385
 
386
  // Build text styles
387
  ce.style.fontFamily = f.text_font.value;
388
- ce.style.fontSize = f.text_size.value + (isNum(f.text_size.value) ? f.text_size_measurement.value : "");
389
  ce.style.fontStyle = f.text_style.value;
390
  ce.style.lineHeight = f.text_lineheight.value + (isNum(f.text_lineheight.value) ? f.text_lineheight_measurement.value : "");
391
  ce.style.textTransform = f.text_case.value;
@@ -435,7 +441,7 @@ function generateCSS() {
435
  ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : "");
436
  ce.style.styleFloat = f.box_float.value;
437
 
438
- if (tinyMCE.isGecko)
439
  ce.style.cssFloat = f.box_float.value;
440
 
441
  ce.style.clear = f.box_clear.value;
@@ -537,7 +543,7 @@ function generateCSS() {
537
  ce.style.clip = s;
538
  }
539
 
540
- ce.style.cssText = tinyMCE.serializeStyle(tinyMCE.parseStyle(ce.style.cssText));
541
  }
542
 
543
  function isNum(s) {
@@ -550,9 +556,9 @@ function showDisabledControls() {
550
  for (i=0; i<f.length; i++) {
551
  for (a=0; a<f[i].elements.length; a++) {
552
  if (f[i].elements[a].disabled)
553
- tinyMCE.addCSSClass(f[i].elements[a], "disabled");
554
  else
555
- tinyMCE.removeCSSClass(f[i].elements[a], "disabled");
556
  }
557
  }
558
  }
@@ -566,7 +572,7 @@ function fillSelect(f, s, param, dval, sep, em) {
566
  if (em)
567
  addSelectValue(f, s, "", "");
568
 
569
- ar = tinyMCE.getParam(param, dval).split(sep);
570
  for (i=0; i<ar.length; i++) {
571
  se = false;
572
 
@@ -631,3 +637,5 @@ function synch(fr, to) {
631
  if (f.elements[fr + "_measurement"])
632
  selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value);
633
  }
 
 
1
+ tinyMCEPopup.requireLangPack();
2
+
3
  var defaultFonts = "" +
4
  "Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;" +
5
  "Times New Roman, Times, serif=Times New Roman, Times, serif;" +
10
  "Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif";
11
 
12
  var defaultSizes = "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger";
13
+ var defaultMeasurement = "+pixels=px;points=pt;em;in;cm;mm;picas;ems;exs;%";
14
  var defaultSpacingMeasurement = "pixels=px;points=pt;in;cm;mm;picas;+ems;exs;%";
15
  var defaultIndentMeasurement = "pixels=px;+points=pt;in;cm;mm;picas;ems;exs;%";
16
  var defaultWeight = "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900";
35
  h = getBrowserHTML('background_image_browser','background_image','image','advimage');
36
  document.getElementById("background_image_browser").innerHTML = h;
37
 
 
 
38
  document.getElementById('text_color_pickcontainer').innerHTML = getColorPickerHTML('text_color_pick','text_color');
39
  document.getElementById('background_color_pickcontainer').innerHTML = getColorPickerHTML('background_color_pick','background_color');
40
  document.getElementById('border_color_top_pickcontainer').innerHTML = getColorPickerHTML('border_color_top_pick','border_color_top');
138
  selectByValue(f, 'text_lineheight_measurement', getMeasurement(ce.style.lineHeight));
139
  selectByValue(f, 'text_case', ce.style.textTransform, true, true);
140
  selectByValue(f, 'text_variant', ce.style.fontVariant, true, true);
141
+ f.text_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.color);
142
  updateColor('text_color_pick', 'text_color');
143
  f.text_underline.checked = inStr(ce.style.textDecoration, 'underline');
144
  f.text_overline.checked = inStr(ce.style.textDecoration, 'overline');
147
 
148
  // Setup background fields
149
 
150
+ f.background_color.value = tinyMCEPopup.editor.dom.toHex(ce.style.backgroundColor);
151
  updateColor('background_color_pick', 'background_color');
152
  f.background_image.value = ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
153
  selectByValue(f, 'background_repeat', ce.style.backgroundRepeat, true, true);
178
  f.box_height.value = getNum(ce.style.height);
179
  selectByValue(f, 'box_height_measurement', getMeasurement(ce.style.height));
180
 
181
+ if (tinymce.isGecko)
182
  selectByValue(f, 'box_float', ce.style.cssFloat, true, true);
183
  else
184
  selectByValue(f, 'box_float', ce.style.styleFloat, true, true);
199
  updateColor('border_color_bottom_pick', 'border_color_bottom');
200
  updateColor('border_color_left_pick', 'border_color_left');
201
 
202
+ f.elements.border_color_top.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_top.value);
203
+ f.elements.border_color_right.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_right.value);
204
+ f.elements.border_color_bottom.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_bottom.value);
205
+ f.elements.border_color_left.value = tinyMCEPopup.editor.dom.toHex(f.elements.border_color_left.value);
206
+
207
  // Setup list fields
208
 
209
  selectByValue(f, 'list_type', ce.style.listStyleType, true, true);
262
  }
263
 
264
  function getVal(s, i) {
265
+ var a = s.split(' ');
266
 
267
  if (a.length > 1)
268
  return a[i];
371
  }
372
 
373
  function applyAction() {
374
+ var ce = document.getElementById('container'), ed = tinyMCEPopup.editor;
375
 
376
  generateCSS();
377
 
378
+ tinyMCEPopup.restoreSelection();
379
+ ed.dom.setAttrib(ed.selection.getNode(), 'style', tinyMCEPopup.editor.dom.serializeStyle(tinyMCEPopup.editor.dom.parseStyle(ce.style.cssText)));
380
  }
381
 
382
  function updateAction() {
391
 
392
  // Build text styles
393
  ce.style.fontFamily = f.text_font.value;
394
+ ce.style.fontSize = f.text_size.value + (isNum(f.text_size.value) ? (f.text_size_measurement.value || 'px') : "");
395
  ce.style.fontStyle = f.text_style.value;
396
  ce.style.lineHeight = f.text_lineheight.value + (isNum(f.text_lineheight.value) ? f.text_lineheight_measurement.value : "");
397
  ce.style.textTransform = f.text_case.value;
441
  ce.style.height = f.box_height.value + (isNum(f.box_height.value) ? f.box_height_measurement.value : "");
442
  ce.style.styleFloat = f.box_float.value;
443
 
444
+ if (tinymce.isGecko)
445
  ce.style.cssFloat = f.box_float.value;
446
 
447
  ce.style.clear = f.box_clear.value;
543
  ce.style.clip = s;
544
  }
545
 
546
+ ce.style.cssText = ce.style.cssText;
547
  }
548
 
549
  function isNum(s) {
556
  for (i=0; i<f.length; i++) {
557
  for (a=0; a<f[i].elements.length; a++) {
558
  if (f[i].elements[a].disabled)
559
+ tinyMCEPopup.editor.dom.addClass(f[i].elements[a], "disabled");
560
  else
561
+ tinyMCEPopup.editor.dom.removeClass(f[i].elements[a], "disabled");
562
  }
563
  }
564
  }
572
  if (em)
573
  addSelectValue(f, s, "", "");
574
 
575
+ ar = tinyMCEPopup.getParam(param, dval).split(sep);
576
  for (i=0; i<ar.length; i++) {
577
  se = false;
578
 
637
  if (f.elements[fr + "_measurement"])
638
  selectByValue(f, to + "_measurement", f.elements[fr + "_measurement"].value);
639
  }
640
+
641
+ tinyMCEPopup.onInit.add(init);
mce/style/langs/de_de.js DELETED
@@ -1,66 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('style',{
4
- title : 'CSS Stil bearbeiten',
5
- styleinfo_desc : 'CSS Stil bearbeiten',
6
- apply : 'Anwenden',
7
- text_tab : 'Text',
8
- background_tab : 'Hintergrund',
9
- block_tab : 'Block',
10
- box_tab : 'Box',
11
- border_tab : 'Rahmen',
12
- list_tab : 'Liste',
13
- positioning_tab : 'Positionierung',
14
- text_props : 'Text',
15
- text_font : 'Schriftart',
16
- text_size : 'Gr&ouml;&szlig;e',
17
- text_weight : 'Dicke',
18
- text_style : 'Stil',
19
- text_variant : 'Variante',
20
- text_lineheight : 'Linienh&ouml;he',
21
- text_case : 'Gro&szlig;-/Kleinbuchstaben',
22
- text_color : 'Farbe',
23
- text_decoration : 'Dekoration',
24
- text_overline : 'Oberlinie',
25
- text_underline : 'Unterstrichen',
26
- text_striketrough : 'Durchgestrichen',
27
- text_blink : 'blinken',
28
- text_none : 'nichts',
29
- background_color : 'Hintergrundfarbe',
30
- background_image : 'Hintergrundfoto',
31
- background_repeat : 'Wiederholen',
32
- background_attachment : 'Anhang',
33
- background_hpos : 'Horizontale Position',
34
- background_vpos : 'Vertikale Position',
35
- block_wordspacing : 'Wortabstand',
36
- block_letterspacing : 'Zeichenabstand',
37
- block_vertical_alignment : 'Vertikale Ausrichtung',
38
- block_text_align : 'Horizontale Ausrichtung',
39
- block_text_indent : 'Texteinr&uuml;ckung',
40
- block_whitespace : 'Textumbruch',
41
- block_display : 'Anzeigeart',
42
- box_width : 'Breite',
43
- box_height : 'H&ouml;he',
44
- box_float : 'Text umflie&szlig;en',
45
- box_clear : 'Text umflie&szlig;en beenden',
46
- padding : 'Innenabstand',
47
- same : 'Das gleiche f&uuml;r alle',
48
- top : 'Oben',
49
- right : 'Rechts',
50
- bottom : 'Unten',
51
- left : 'Links',
52
- margin : 'Aussenabstand',
53
- style : 'Stil',
54
- width : 'Breite',
55
- height : 'H&ouml;he',
56
- color : 'Farbe',
57
- list_type : 'Listentyp',
58
- bullet_image : 'Grafik',
59
- position : 'Position',
60
- positioning_type : 'Typ',
61
- visibility : 'Sichtbarkeit',
62
- zindex : 'Z-index',
63
- overflow : '&Uuml;berfluss',
64
- placement : 'Plazierung',
65
- clip : 'Abschneiden'
66
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/style/langs/de_dlg.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('de.style_dlg',{
2
+ title:"CSS-Styles bearbeiten",
3
+ apply:"\u00DCbernehmen",
4
+ text_tab:"Text",
5
+ background_tab:"Hintergrund",
6
+ block_tab:"Block",
7
+ box_tab:"Box",
8
+ border_tab:"Rahmen",
9
+ list_tab:"Liste",
10
+ positioning_tab:"Positionierung",
11
+ text_props:"Text",
12
+ text_font:"Schriftart",
13
+ text_size:"Gr\u00F6\u00DFe",
14
+ text_weight:"Dicke",
15
+ text_style:"Stil",
16
+ text_variant:"Variante",
17
+ text_lineheight:"Zeilenh\u00F6he",
18
+ text_case:"Schreibung",
19
+ text_color:"Farbe",
20
+ text_decoration:"Gestaltung",
21
+ text_overline:"\u00FCberstrichen",
22
+ text_underline:"unterstrichen",
23
+ text_striketrough:"durchgestrichen",
24
+ text_blink:"blinkend",
25
+ text_none:"keine",
26
+ background_color:"Hintergrundfarbe",
27
+ background_image:"Hintergrundbild",
28
+ background_repeat:"Wiederholung",
29
+ background_attachment:"Wasserzeicheneffekt",
30
+ background_hpos:"Position X",
31
+ background_vpos:"Position Y",
32
+ block_wordspacing:"Wortabstand",
33
+ block_letterspacing:"Buchstabenabstand",
34
+ block_vertical_alignment:"Vertikale Ausrichtung",
35
+ block_text_align:"Ausrichtung",
36
+ block_text_indent:"Einr\u00FCckung",
37
+ block_whitespace:"Automatischer Umbruch",
38
+ block_display:"Umbruchverhalten",
39
+ box_width:"Breite",
40
+ box_height:"H\u00F6he",
41
+ box_float:"Umflie\u00DFung",
42
+ box_clear:"Umflie\u00DFung verhindern",
43
+ padding:"Innerer Abstand",
44
+ same:"Alle gleich",
45
+ top:"Oben",
46
+ right:"Rechts",
47
+ bottom:"Unten",
48
+ left:"Links",
49
+ margin:"\u00C4u\u00DFerer Abstand",
50
+ style:"Format",
51
+ width:"Breite",
52
+ height:"H\u00F6he",
53
+ color:"Textfarbe",
54
+ list_type:"Listenpunkt-Art",
55
+ bullet_image:"Listenpunkt-Grafik",
56
+ position:"Positionierung",
57
+ positioning_type:"Art der Positionierung",
58
+ visibility:"Sichtbar",
59
+ zindex:"Z-Wert",
60
+ overflow:"Verhalten bei \u00DCbergr\u00F6\u00DFe",
61
+ placement:"Platzierung",
62
+ clip:"Ausschnitt"
63
+ });
mce/style/langs/en.js DELETED
@@ -1,66 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('style',{
4
- title : 'Edit CSS Style',
5
- styleinfo_desc : 'Edit CSS Style',
6
- apply : 'Apply',
7
- text_tab : 'Text',
8
- background_tab : 'Background',
9
- block_tab : 'Block',
10
- box_tab : 'Box',
11
- border_tab : 'Border',
12
- list_tab : 'List',
13
- positioning_tab : 'Positioning',
14
- text_props : 'Text',
15
- text_font : 'Font',
16
- text_size : 'Size',
17
- text_weight : 'Weight',
18
- text_style : 'Style',
19
- text_variant : 'Variant',
20
- text_lineheight : 'Line height',
21
- text_case : 'Case',
22
- text_color : 'Color',
23
- text_decoration : 'Decoration',
24
- text_overline : 'overline',
25
- text_underline : 'underline',
26
- text_striketrough : 'strikethrough',
27
- text_blink : 'blink',
28
- text_none : 'none',
29
- background_color : 'Background color',
30
- background_image : 'Background image',
31
- background_repeat : 'Repeat',
32
- background_attachment : 'Attachment',
33
- background_hpos : 'Horizontal position',
34
- background_vpos : 'Vertical position',
35
- block_wordspacing : 'Word spacing',
36
- block_letterspacing : 'Letter spacing',
37
- block_vertical_alignment : 'Vertical alignment',
38
- block_text_align : 'Text align',
39
- block_text_indent : 'Text indent',
40
- block_whitespace : 'Whitespace',
41
- block_display : 'Display',
42
- box_width : 'Width',
43
- box_height : 'Height',
44
- box_float : 'Float',
45
- box_clear : 'Clear',
46
- padding : 'Padding',
47
- same : 'Same for all',
48
- top : 'Top',
49
- right : 'Right',
50
- bottom : 'Bottom',
51
- left : 'Left',
52
- margin : 'Margin',
53
- style : 'Style',
54
- width : 'Width',
55
- height : 'Height',
56
- color : 'Color',
57
- list_type : 'Type',
58
- bullet_image : 'Bullet image',
59
- position : 'Position',
60
- positioning_type : 'Type',
61
- visibility : 'Visibility',
62
- zindex : 'Z-index',
63
- overflow : 'Overflow',
64
- placement : 'Placement',
65
- clip : 'Clip'
66
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/style/langs/en_dlg.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('en.style_dlg',{
2
+ title:"Edit CSS Style",
3
+ apply:"Apply",
4
+ text_tab:"Text",
5
+ background_tab:"Background",
6
+ block_tab:"Block",
7
+ box_tab:"Box",
8
+ border_tab:"Border",
9
+ list_tab:"List",
10
+ positioning_tab:"Positioning",
11
+ text_props:"Text",
12
+ text_font:"Font",
13
+ text_size:"Size",
14
+ text_weight:"Weight",
15
+ text_style:"Style",
16
+ text_variant:"Variant",
17
+ text_lineheight:"Line height",
18
+ text_case:"Case",
19
+ text_color:"Color",
20
+ text_decoration:"Decoration",
21
+ text_overline:"overline",
22
+ text_underline:"underline",
23
+ text_striketrough:"strikethrough",
24
+ text_blink:"blink",
25
+ text_none:"none",
26
+ background_color:"Background color",
27
+ background_image:"Background image",
28
+ background_repeat:"Repeat",
29
+ background_attachment:"Attachment",
30
+ background_hpos:"Horizontal position",
31
+ background_vpos:"Vertical position",
32
+ block_wordspacing:"Word spacing",
33
+ block_letterspacing:"Letter spacing",
34
+ block_vertical_alignment:"Vertical alignment",
35
+ block_text_align:"Text align",
36
+ block_text_indent:"Text indent",
37
+ block_whitespace:"Whitespace",
38
+ block_display:"Display",
39
+ box_width:"Width",
40
+ box_height:"Height",
41
+ box_float:"Float",
42
+ box_clear:"Clear",
43
+ padding:"Padding",
44
+ same:"Same for all",
45
+ top:"Top",
46
+ right:"Right",
47
+ bottom:"Bottom",
48
+ left:"Left",
49
+ margin:"Margin",
50
+ style:"Style",
51
+ width:"Width",
52
+ height:"Height",
53
+ color:"Color",
54
+ list_type:"Type",
55
+ bullet_image:"Bullet image",
56
+ position:"Position",
57
+ positioning_type:"Type",
58
+ visibility:"Visibility",
59
+ zindex:"Z-index",
60
+ overflow:"Overflow",
61
+ placement:"Placement",
62
+ clip:"Clip"
63
+ });
mce/style/langs/es_dlg.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('es.style_dlg',{
2
+ title:"Editar Estilo CSS",
3
+ apply:"Aplicar",
4
+ text_tab:"Texto",
5
+ background_tab:"Fondo",
6
+ block_tab:"Bloque",
7
+ box_tab:"Caja",
8
+ border_tab:"Borde",
9
+ list_tab:"Lista",
10
+ positioning_tab:"Posici\u00F3n",
11
+ text_props:"Texto",
12
+ text_font:"Fuente",
13
+ text_size:"Tama\u00F1o",
14
+ text_weight:"Peso",
15
+ text_style:"Estilo",
16
+ text_variant:"Variante",
17
+ text_lineheight:"Ancho de la fila",
18
+ text_case:"Min\u00FAs./May\u00FAs.",
19
+ text_color:"Color",
20
+ text_decoration:"Decorativos",
21
+ text_overline:"Subrayado superior",
22
+ text_underline:"Subrayado",
23
+ text_striketrough:"Tachado",
24
+ text_blink:"Parpadeo",
25
+ text_none:"Ninguno",
26
+ background_color:"Color de fondo",
27
+ background_image:"Imagen de fondo",
28
+ background_repeat:"Repetici\u00F3n",
29
+ background_attachment:"Adjunto",
30
+ background_hpos:"Posici\u00F3n horizontal",
31
+ background_vpos:"Posici\u00F3n vertical",
32
+ block_wordspacing:"Espacio entre palabra",
33
+ block_letterspacing:"Espacio entre letra",
34
+ block_vertical_alignment:"Alineaci\u00F3n vertical",
35
+ block_text_align:"Alineaci\u00F3n del texto",
36
+ block_text_indent:"Sangr\u00EDa",
37
+ block_whitespace:"Espacio en blanco",
38
+ block_display:"Display",
39
+ box_width:"Ancho",
40
+ box_height:"Alto",
41
+ box_float:"Float",
42
+ box_clear:"Clear",
43
+ padding:"Padding",
44
+ same:"Lo mismo en todos",
45
+ top:"Arriba",
46
+ right:"Derecha",
47
+ bottom:"Debajo",
48
+ left:"Izquierda",
49
+ margin:"Margen",
50
+ style:"Estilo",
51
+ width:"Ancho",
52
+ height:"Alto",
53
+ color:"Color",
54
+ list_type:"Tipo",
55
+ bullet_image:"Imagen de la vi\u00F1eta",
56
+ position:"Posici\u00F3n",
57
+ positioning_type:"Tipo",
58
+ visibility:"Visibilidad",
59
+ zindex:"Z-index",
60
+ overflow:"Overflow",
61
+ placement:"Placement",
62
+ clip:"Clip"
63
+ });
mce/style/langs/es_es.js DELETED
@@ -1,66 +0,0 @@
1
- /**
2
- * ES lang variables
3
- *
4
- * Authors : Eneko Castresana Vara
5
- * Last Updated : July 14, 2006
6
- * TinyMCE Version : 2.0.6.1
7
- */
8
-
9
- tinyMCE.addToLang('style',{
10
- title : 'Editar estilo CSS',
11
- styleinfo_desc : 'Editar estilo CSS',
12
- text_tab : 'Texto',
13
- background_tab : 'Fondo',
14
- block_tab : 'Bloque',
15
- box_tab : 'Cuadro',
16
- border_tab : 'Borde',
17
- list_tab : 'Lista',
18
- positioning_tab : 'Posicionamiento',
19
- text_props : 'Texto',
20
- text_font : 'Fuente',
21
- text_size : 'Tama&ntilde;o',
22
- text_weight : 'Peso',
23
- text_style : 'Estilo',
24
- text_variant : 'Variante',
25
- text_lineheight : 'Altura de l&iacute;nea',
26
- text_case : 'Caso',
27
- text_color : 'Color',
28
- text_decoration : 'Decoraci&oacute;n',
29
- background_color : 'Color de fondo',
30
- background_image : 'Imagen de fondo',
31
- background_repeat : 'Repetir',
32
- background_attachment : 'Agregado',
33
- background_hpos : 'Posici&oacute;n horizontal',
34
- background_vpos : 'Posici&oacute;n vertical',
35
- block_wordspacing : 'Espaciado de palabras',
36
- block_letterspacing : 'Espaciado de letras',
37
- block_vertical_alignment : 'Alineaci&oacute;n vertical',
38
- block_text_align : 'Alineaci&oacute;n del texto',
39
- block_text_indent : 'Indentaci&oacute;n del texto',
40
- block_whitespace : 'Espacio',
41
- block_display : 'Mostrar',
42
- box_width : 'Ancho',
43
- box_height : 'Alto',
44
- box_float : 'Flotante',
45
- box_clear : 'Borrar',
46
- padding : 'Espaciado',
47
- same : 'Igual para todo',
48
- top : 'Arriba',
49
- right : 'Derecha',
50
- bottom : 'Abajo',
51
- left : 'Izquierda',
52
- margin : 'Margen',
53
- style : 'Estilo',
54
- width : 'Ancho',
55
- height : 'Alto',
56
- color : 'Color',
57
- list_type : 'Tipo',
58
- bullet_image : 'Imagen de vi&ntilde;eta',
59
- position : 'Posici&oacute;n',
60
- positioning_type : 'Tipo',
61
- visibility : 'Visibilidad',
62
- zindex : 'Z-index',
63
- overflow : 'Desbordamiento',
64
- placement : 'Emplazamiento',
65
- clip : 'Recortar'
66
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/style/langs/fr_dlg.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('fr.style_dlg',{
2
+ title:"\u00C9diter la feuille de style CSS",
3
+ apply:"Appliquer",
4
+ text_tab:"Texte",
5
+ background_tab:"Fond",
6
+ block_tab:"Bloc",
7
+ box_tab:"Bo\u00EEte",
8
+ border_tab:"Bordure",
9
+ list_tab:"Liste",
10
+ positioning_tab:"Positionement",
11
+ text_props:"Texte",
12
+ text_font:"Police",
13
+ text_size:"Taille",
14
+ text_weight:"Poids",
15
+ text_style:"Style",
16
+ text_variant:"Variante",
17
+ text_lineheight:"Hauteur de ligne",
18
+ text_case:"Casse",
19
+ text_color:"Couleur",
20
+ text_decoration:"D\u00E9coration",
21
+ text_overline:"surlign\u00E9",
22
+ text_underline:"soulign\u00E9",
23
+ text_striketrough:"barr\u00E9",
24
+ text_blink:"clignotant",
25
+ text_none:"aucun",
26
+ background_color:"Couleur de fond",
27
+ background_image:"Image de fond",
28
+ background_repeat:"R\u00E9p\u00E9ter",
29
+ background_attachment:"Attachement",
30
+ background_hpos:"Position horizontale",
31
+ background_vpos:"Position verticale",
32
+ block_wordspacing:"Espacement des mots ",
33
+ block_letterspacing:"Espacement des lettres",
34
+ block_vertical_alignment:"Alignement vertical",
35
+ block_text_align:"Alignement du texte",
36
+ block_text_indent:"Indentation du texte",
37
+ block_whitespace:"Fin de ligne",
38
+ block_display:"Affichage",
39
+ box_width:"Largeur",
40
+ box_height:"Hauteur",
41
+ box_float:"Flottant",
42
+ box_clear:"Vider",
43
+ padding:"Espacement",
44
+ same:"Identique pour tous",
45
+ top:"Haut",
46
+ right:"Droit",
47
+ bottom:"Bas",
48
+ left:"Gauche",
49
+ margin:"Marge",
50
+ style:"Style",
51
+ width:"Largeur",
52
+ height:"Hauter",
53
+ color:"Couleur",
54
+ list_type:"Type",
55
+ bullet_image:"Image de puce",
56
+ position:"Position",
57
+ positioning_type:"Type",
58
+ visibility:"Visibilit\u00E9",
59
+ zindex:"Z-index",
60
+ overflow:"D\u00E9bordement",
61
+ placement:"Placement",
62
+ clip:"Clip"
63
+ });
mce/style/langs/fr_fr.js DELETED
@@ -1,67 +0,0 @@
1
- // FR lang variables
2
- // Modified by keyko-web.net, last updated 2007-03-08
3
-
4
- tinyMCE.addToLang('style',{
5
- title : 'Edtiteur de style CSS',
6
- styleinfo_desc : 'Edtiteur de style CSS',
7
- apply : 'Appliquer',
8
- text_tab : 'Texte',
9
- background_tab : 'Arri&egrave;re-plan',
10
- block_tab : 'Bloc',
11
- box_tab : 'Boite',
12
- border_tab : 'Bord',
13
- list_tab : 'Liste',
14
- positioning_tab : 'Positionnement',
15
- text_props : 'Texte',
16
- text_font : 'Police',
17
- text_size : 'Taille',
18
- text_weight : 'Poids',
19
- text_style : 'Style',
20
- text_variant : 'Variant',
21
- text_lineheight : 'Hauteur de ligne',
22
- text_case : 'Casse',
23
- text_color : 'Couleur',
24
- text_decoration : 'D&eacute;coration',
25
- text_overline : 'surlign&eacute;',
26
- text_underline : 'soulign&eacute;',
27
- text_striketrough : 'barr&eacute;',
28
- text_blink : 'clignotant',
29
- text_none : 'aucun',
30
- background_color : 'Couleur d\'arri&egrave;re-plan',
31
- background_image : 'Image d\'arri&egrave;re-plan',
32
- background_repeat : 'R&eacute;p&eacute;ter',
33
- background_attachment : 'Attacher',
34
- background_hpos : 'Position horizontale',
35
- background_vpos : 'Position verticale',
36
- block_wordspacing : 'Espace entre les mots',
37
- block_letterspacing : 'Espace entre les lettres',
38
- block_vertical_alignment : 'Aligenement vertical',
39
- block_text_align : 'Aligement du texte',
40
- block_text_indent : 'Indentation du texte',
41
- block_whitespace : 'Espace',
42
- block_display : 'Afficher',
43
- box_width : 'Largeur',
44
- box_height : 'Hauteur',
45
- box_float : 'Float',
46
- box_clear : 'Effacer',
47
- padding : 'Padding',
48
- same : 'Identique pour tous',
49
- top : 'Haut',
50
- right : 'Droite',
51
- bottom : 'Bas',
52
- left : 'Gauche',
53
- margin : 'Marge',
54
- style : 'Style',
55
- width : 'Largeur',
56
- height : 'Hauteur',
57
- color : 'Couleur',
58
- list_type : 'Type',
59
- bullet_image : 'Bullet image',
60
- position : 'Position',
61
- positioning_type : 'Type',
62
- visibility : 'Visibilit&eacute;',
63
- zindex : 'Z-index',
64
- overflow : 'Overflow',
65
- placement : 'Placement',
66
- clip : 'Clip'
67
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/style/langs/it_dlg.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('it.style_dlg',{
2
+ title:"Modifica stile CSS",
3
+ apply:"Applica",
4
+ text_tab:"Testo",
5
+ background_tab:"Sfondo",
6
+ block_tab:"Blocco",
7
+ box_tab:"Contenitore",
8
+ border_tab:"Bordi",
9
+ list_tab:"Liste",
10
+ positioning_tab:"Posizionamento",
11
+ text_props:"Testo",
12
+ text_font:"Carattere",
13
+ text_size:"Dimensione",
14
+ text_weight:"Spessore",
15
+ text_style:"Stile",
16
+ text_variant:"Variante",
17
+ text_lineheight:"Altezza linea",
18
+ text_case:"Tipo",
19
+ text_color:"Colore",
20
+ text_decoration:"Decorazione",
21
+ text_overline:"sopralineato",
22
+ text_underline:"sottolineato",
23
+ text_striketrough:"barrato",
24
+ text_blink:"lampeggiante",
25
+ text_none:"nessuna",
26
+ background_color:"Colore sfondo",
27
+ background_image:"Immagine sfondo",
28
+ background_repeat:"Repetizione",
29
+ background_attachment:"Allegato",
30
+ background_hpos:"Posizione orizzontale",
31
+ background_vpos:"Posizione verticale",
32
+ block_wordspacing:"Spaziatura parole",
33
+ block_letterspacing:"Spaziatura caratteri",
34
+ block_vertical_alignment:"Allineamento verticale",
35
+ block_text_align:"Allineamento testo",
36
+ block_text_indent:"Indentazione testo",
37
+ block_whitespace:"Whitespace",
38
+ block_display:"Visualizzazione",
39
+ box_width:"Larghezza",
40
+ box_height:"Altezza",
41
+ box_float:"Float",
42
+ box_clear:"Clear",
43
+ padding:"Spazio dal bordo",
44
+ same:"Uguale per tutti",
45
+ top:"Superiore",
46
+ right:"Destro",
47
+ bottom:"Inferiore",
48
+ left:"Sinistro",
49
+ margin:"Margine",
50
+ style:"Stile",
51
+ width:"Larghezza",
52
+ height:"Altezza",
53
+ color:"Colore",
54
+ list_type:"Tipo",
55
+ bullet_image:"Immagine bullet",
56
+ position:"Posizione",
57
+ positioning_type:"Tipo",
58
+ visibility:"Visibilit\u00E0",
59
+ zindex:"Z-index",
60
+ overflow:"Overflow",
61
+ placement:"Piazzamento",
62
+ clip:"Clip"
63
+ });
mce/style/langs/it_it.js DELETED
@@ -1,72 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('style',{
10
- title : 'Modifica stile CSS',
11
- styleinfo_desc : 'Modifica stile CSS',
12
- apply : 'Applica',
13
- text_tab : 'Testo',
14
- background_tab : 'Sfondo',
15
- block_tab : 'Blocco',
16
- box_tab : 'Box',
17
- border_tab : 'Bordo',
18
- list_tab : 'Lista',
19
- positioning_tab : 'Posizionamento',
20
- text_props : 'Testo',
21
- text_font : 'Font',
22
- text_size : 'Dimensione',
23
- text_weight : 'Peso',
24
- text_style : 'Stile',
25
- text_variant : 'Variante',
26
- text_lineheight : 'Altezza linea',
27
- text_case : 'Caso',
28
- text_color : 'Colore',
29
- text_decoration : 'Decorazione',
30
- text_overline : 'Linea sopra',
31
- text_underline : 'Sottolinea',
32
- text_striketrough : 'Linea sovrapposta',
33
- text_blink : 'Lampeggia',
34
- text_none : 'Nessuno',
35
- background_color : 'Colore di sfondo',
36
- background_image : 'Immagine di sfondo',
37
- background_repeat : 'Ripeti',
38
- background_attachment : 'Ancoraggio',
39
- background_hpos : 'Posizione orizzontale',
40
- background_vpos : 'Posizione verticale',
41
- block_wordspacing : 'Spaziatura parole',
42
- block_letterspacing : 'Spaziatura lettere',
43
- block_vertical_alignment : 'Allineamento verticale',
44
- block_text_align : 'Allineamento del testo',
45
- block_text_indent : 'Indentazione del testo',
46
- block_whitespace : 'Whitespace',
47
- block_display : 'Display',
48
- box_width : 'Larghezza',
49
- box_height : 'Altezza',
50
- box_float : 'Float',
51
- box_clear : 'Clear',
52
- padding : 'Spaziatura interna',
53
- same : 'Uguale per tutti',
54
- top : 'Alto',
55
- right : 'Destra',
56
- bottom : 'Basso',
57
- left : 'Sinistra',
58
- margin : 'Margine esterno',
59
- style : 'Stile',
60
- width : 'Larghezza',
61
- height : 'Altezza',
62
- color : 'Colore',
63
- list_type : 'Tipo',
64
- bullet_image : 'Immagine punto elenco',
65
- position : 'Posizionamento',
66
- positioning_type : 'Tipo',
67
- visibility : 'Visibilit&agrave;',
68
- zindex : 'Z-index',
69
- overflow : 'Overflow',
70
- placement : 'Piazzamento',
71
- clip : 'Clip'
72
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/style/langs/ja_dlg.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ja.style_dlg',{
2
+ title:"\u7F16\u8F91 CSS \u6837\u5F0F\u8868",
3
+ apply:"\u5E94\u7528",
4
+ text_tab:"\u6587\u5B57",
5
+ background_tab:"\u80CC\u666F",
6
+ block_tab:"\u533A\u5757",
7
+ box_tab:"\u76D2\u6A21\u578B",
8
+ border_tab:"\u8FB9\u6846",
9
+ list_tab:"\u5217\u8868",
10
+ positioning_tab:"\u4F4D\u7F6E",
11
+ text_props:"\u6587\u5B57",
12
+ text_font:"\u5B57\u4F53",
13
+ text_size:"\u5927\u5C0F",
14
+ text_weight:"\u5BBD\u5EA6",
15
+ text_style:"\u6837\u5F0F",
16
+ text_variant:"\u53D8\u4F53",
17
+ text_lineheight:"\u884C\u9AD8",
18
+ text_case:"\u5B57\u4F53",
19
+ text_color:"\u989C\u8272",
20
+ text_decoration:"\u88C5\u9970",
21
+ text_overline:"\u4E0A\u5212\u7EBF",
22
+ text_underline:"\u5E95\u7EBF",
23
+ text_striketrough:"\u4E2D\u5212\u7EBF",
24
+ text_blink:"\u95EA\u70C1",
25
+ text_none:"\u65E0",
26
+ background_color:"\u80CC\u666F\u989C\u8272",
27
+ background_image:"\u80CC\u666F\u56FE\u7247",
28
+ background_repeat:"\u91CD\u590D",
29
+ background_attachment:"\u9644\u4EF6",
30
+ background_hpos:"\u6C34\u5E73\u4F4D\u7F6E",
31
+ background_vpos:"\u5782\u76F4\u4F4D\u7F6E",
32
+ block_wordspacing:"\u8BCD\u95F4\u8DDD",
33
+ block_letterspacing:"\u5B57\u6BCD\u95F4\u8DDD",
34
+ block_vertical_alignment:"\u5782\u76F4\u5BF9\u9F50\u65B9\u5F0F",
35
+ block_text_align:"\u6587\u5B57\u5BF9\u9F50",
36
+ block_text_indent:"\u6587\u5B57\u7F29\u8FDB",
37
+ block_whitespace:"\u7A7A\u683C",
38
+ block_display:"\u663E\u793A\u65B9\u5F0F",
39
+ box_width:"\u5BBD\u5EA6",
40
+ box_height:"\u9AD8\u5EA6",
41
+ box_float:"\u6D6E\u52A8",
42
+ box_clear:"\u6E05\u9664",
43
+ padding:"\u5185\u8FB9\u8DDD",
44
+ same:"\u5168\u90E8\u76F8\u540C",
45
+ top:"\u9876\u90E8",
46
+ right:"\u53F3\u4FA7",
47
+ bottom:"\u5E95\u90E8",
48
+ left:"\u5DE6\u4FA7",
49
+ margin:"\u8FB9\u8DDD",
50
+ style:"\u6837\u5F0F",
51
+ width:"\u5BBD\u5EA6",
52
+ height:"\u9AD8\u5EA6",
53
+ color:"\u989C\u8272",
54
+ list_type:"\u5217\u8868\u7C7B\u578B",
55
+ bullet_image:"\u6E05\u5355\u56FE\u7247",
56
+ position:"\u56FE\u7247\u4F4D\u7F6E",
57
+ positioning_type:"\u4F4D\u7F6E\u7C7B\u578B",
58
+ visibility:"\u662F\u5426\u53EF\u89C1",
59
+ zindex:"Z\u5750\u6807",
60
+ overflow:"\u6EA2\u51FA",
61
+ placement:"\u5E03\u7F6E",
62
+ clip:"\u526A\u8F91"
63
+ });
mce/style/langs/langs.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+ $lang_file = dirname(__FILE__) . '/' . $mce_locale . '_dlg.js';
3
+
4
+ if ( is_file($lang_file) && is_readable($lang_file) ) {
5
+ $strings .= getFileContents($lang_file);
6
+ }
7
+ ?>
mce/style/langs/pt_br.js DELETED
@@ -1,73 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 20, 2006 - TinyMCE Version : 2.0.8
9
- */
10
- tinyMCE.addToLang('style',{
11
- title : 'Editar folha de estilo CSS',
12
- styleinfo_desc : 'Editar estilo CSS',
13
- apply : 'Aplicar',
14
- text_tab : 'Texto',
15
- background_tab : 'Fundo',
16
- block_tab : 'Bloco',
17
- box_tab : 'Caixa',
18
- border_tab : 'Borda',
19
- list_tab : 'Lista',
20
- positioning_tab : 'Posicionamento',
21
- text_props : 'Texto',
22
- text_font : 'Fonte',
23
- text_size : 'Tamanho',
24
- text_weight : 'Largura',
25
- text_style : 'Estilo',
26
- text_variant : 'Varia��o',
27
- text_lineheight : 'Altura da linha',
28
- text_case : 'Caso',
29
- text_color : 'Cor',
30
- text_decoration : 'Decora��o',
31
- text_overline : 'Sobrescrito',
32
- text_underline : 'Subscrito',
33
- text_striketrough : 'Tachado',
34
- text_blink : 'Piscante',
35
- text_none : 'nenhum',
36
- background_color : 'Cor do fundo',
37
- background_image : 'Fundo da imagem',
38
- background_repeat : 'Repetir',
39
- background_attachment : 'Anexo',
40
- background_hpos : 'Posi��o horizontal',
41
- background_vpos : 'Posi��o vertical',
42
- block_wordspacing : 'Espa�amento de palavras',
43
- block_letterspacing : 'Espa�amento de letras',
44
- block_vertical_alignment : 'Alinhamento vertical',
45
- block_text_align : 'Alinhamento do texto',
46
- block_text_indent : 'Identa��o do texto',
47
- block_whitespace : 'Espa�os em branco',
48
- block_display : 'Visualiza��o',
49
- box_width : 'Largura',
50
- box_height : 'Altura',
51
- box_float : 'Flutuante',
52
- box_clear : 'Limpar',
53
- padding : 'Espa�amento',
54
- same : 'Igual para todos',
55
- top : 'Superior',
56
- right : 'Direita',
57
- bottom : 'Inferior',
58
- left : 'Esquerda',
59
- margin : 'Margem',
60
- style : 'Estilo',
61
- width : 'Largura',
62
- height : 'Altura',
63
- color : 'Cor',
64
- list_type : 'Tipo',
65
- bullet_image : 'Imagem tipo Bullet',
66
- position : 'Posicionamento',
67
- positioning_type : 'Tipo',
68
- visibility : 'Visibilidade',
69
- zindex : 'Z-index',
70
- overflow : 'Sobrescrever',
71
- placement : 'Localiza��o',
72
- clip : 'Clip'
73
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/style/langs/pt_dlg.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('pt.style_dlg',{
2
+ title:"Editar CSS",
3
+ apply:"Aplicar",
4
+ text_tab:"Texto",
5
+ background_tab:"Fundo",
6
+ block_tab:"Bloco",
7
+ box_tab:"Caixa",
8
+ border_tab:"Borda",
9
+ list_tab:"Lista",
10
+ positioning_tab:"Posicionamento",
11
+ text_props:"Texto",
12
+ text_font:"Fonte",
13
+ text_size:"Tamanho",
14
+ text_weight:"Peso",
15
+ text_style:"Estilo",
16
+ text_variant:"Variante",
17
+ text_lineheight:"Altura de linha",
18
+ text_case:"Mai\u00FAscula/min\u00FAscula",
19
+ text_color:"Cor",
20
+ text_decoration:"Decora\u00E7\u00E3o",
21
+ text_overline:"Sobrelinha",
22
+ text_underline:"Sublinhado",
23
+ text_striketrough:"Texto riscado",
24
+ text_blink:"Piscar",
25
+ text_none:"nenhum",
26
+ background_color:"Cor de fundo",
27
+ background_image:"Imagem de fundo",
28
+ background_repeat:"Repetir",
29
+ background_attachment:"Fixar",
30
+ background_hpos:"Posi\u00E7\u00E3o horizontal",
31
+ background_vpos:"Posi\u00E7\u00E3o vertical",
32
+ block_wordspacing:"Espa\u00E7amento palavras",
33
+ block_letterspacing:"Espa\u00E7amento letras",
34
+ block_vertical_alignment:"Alinhamento vertical",
35
+ block_text_align:"Alinhamento de texto",
36
+ block_text_indent:"Indenta\u00E7\u00E3o",
37
+ block_whitespace:"Espa\u00E7o",
38
+ block_display:"Display",
39
+ box_width:"Largura",
40
+ box_height:"Altura",
41
+ box_float:"Float",
42
+ box_clear:"Clear",
43
+ padding:"Padding",
44
+ same:"O mesmo para todos",
45
+ top:"Topo",
46
+ right:"Direita",
47
+ bottom:"Embaixo",
48
+ left:"Esquerda",
49
+ margin:"Margem",
50
+ style:"Estilo",
51
+ width:"Largura",
52
+ height:"Altura",
53
+ color:"Cor",
54
+ list_type:"Tipo",
55
+ bullet_image:"Imagem de lista",
56
+ position:"Posi\u00E7\u00E3o",
57
+ positioning_type:"Tipo",
58
+ visibility:"Visibilidade",
59
+ zindex:"Z-index",
60
+ overflow:"Overflow",
61
+ placement:"Placement",
62
+ clip:"Clip"
63
+ });
mce/style/langs/ru_dlg.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ru.style_dlg',{
2
+ title:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0438\u043B\u044C CSS",
3
+ apply:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C",
4
+ text_tab:"\u0442\u0435\u043A\u0441\u0442",
5
+ background_tab:"\u0424\u043E\u043D",
6
+ block_tab:"\u0411\u043B\u043E\u043A",
7
+ box_tab:"Box",
8
+ border_tab:"\u0413\u0440\u0430\u043D\u0438\u0446\u0430",
9
+ list_tab:"\u0421\u043F\u0438\u0441\u043E\u043A",
10
+ positioning_tab:"\u041F\u043E\u0437\u0438\u0446\u0438\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u0435",
11
+ text_props:"\u0422\u0435\u043A\u0441\u0442",
12
+ text_font:"\u0428\u0440\u0438\u0444\u0442",
13
+ text_size:"\u0420\u0430\u0437\u043C\u0435\u0440",
14
+ text_weight:"\u0416\u0438\u0440\u043D\u043E\u0441\u0442\u044C",
15
+ text_style:"\u0421\u0442\u0438\u043B\u044C",
16
+ text_variant:"\u0412\u0430\u0440\u0438\u0430\u043D\u0442",
17
+ text_lineheight:"\u0412\u044B\u0441\u043E\u0442\u0430 \u0441\u0442\u0440\u043E\u043A\u0438",
18
+ text_case:"\u0420\u0435\u0433\u0438\u0441\u0442\u0440",
19
+ text_color:"\u0426\u0432\u0435\u0442",
20
+ text_decoration:"\u041E\u0444\u043E\u0440\u043C\u043B\u0435\u043D\u0438\u0435",
21
+ text_overline:"\u043D\u0430\u0434\u0447\u0451\u0440\u043A\u0438\u0432\u0430\u043D\u0438\u0435",
22
+ text_underline:"\u043F\u043E\u0434\u0447\u0451\u0440\u043A\u0438\u0432\u0430\u043D\u0438\u0435",
23
+ text_striketrough:"\u0437\u0430\u0447\u0435\u0440\u043A\u0438\u0432\u0430\u043D\u0438\u0435",
24
+ text_blink:"\u043C\u0438\u0433\u0430\u043D\u0438\u0435",
25
+ text_none:"\u043D\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",
26
+ background_color:"\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430",
27
+ background_image:"\u0424\u043E\u043D\u043E\u0432\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435",
28
+ background_repeat:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",
29
+ background_attachment:"\u041F\u0440\u0438\u043B\u043E\u0436\u0435\u043D\u0438\u0435",
30
+ background_hpos:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F \u043F\u043E \u0433\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u0438",
31
+ background_vpos:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438",
32
+ block_wordspacing:"\u041C\u0435\u0436\u0434\u0443\u0441\u043B\u043E\u0432\u043D\u044B\u0439 \u043F\u0440\u043E\u0431\u0435\u043B",
33
+ block_letterspacing:"\u0418\u043D\u0442\u0435\u0440\u0432\u0430\u043B \u043C\u0435\u0436\u0434\u0443 \u0437\u043D\u0430\u043A\u0430\u043C\u0438",
34
+ block_vertical_alignment:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u043F\u043E \u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u0438",
35
+ block_text_align:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430",
36
+ block_text_indent:"\u041E\u0442\u0441\u0442\u0443\u043F \u0442\u0435\u043A\u0441\u0442\u0430",
37
+ block_whitespace:"\u0421\u0432\u043E\u0431\u043E\u0434\u043D\u043E\u0435 \u043C\u0435\u0441\u0442\u043E",
38
+ block_display:"\u041E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435",
39
+ box_width:"\u0428\u0438\u0440\u0438\u043D\u0430",
40
+ box_height:"\u0412\u044B\u0441\u043E\u0442\u0430",
41
+ box_float:"Float",
42
+ box_clear:"Clear",
43
+ padding:"\u0417\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435",
44
+ same:"\u0422\u043E \u0436\u0435 \u0434\u043B\u044F \u0432\u0441\u0435\u0445",
45
+ top:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E",
46
+ right:"\u041F\u043E \u043F\u0440\u0430\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E",
47
+ bottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E",
48
+ left:"\u041F\u043E \u043B\u0435\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E",
49
+ margin:"\u041F\u043E\u043B\u0435",
50
+ style:"\u0421\u0442\u0438\u043B\u044C",
51
+ width:"\u0428\u0438\u0440\u0438\u043D\u0430",
52
+ height:"\u0412\u044B\u0441\u043E\u0442\u0430",
53
+ color:"\u0426\u0432\u0435\u0442",
54
+ list_type:"\u0422\u0438\u043F",
55
+ bullet_image:"\u0418\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435 \u043C\u0430\u0440\u043A\u0435\u0440\u0430",
56
+ position:"\u041F\u043E\u0437\u0438\u0446\u0438\u044F",
57
+ positioning_type:"\u0422\u0438\u043F",
58
+ visibility:"\u0412\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u044C",
59
+ zindex:"Z-\u0443\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044C",
60
+ overflow:"\u041F\u0435\u0440\u0435\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0435",
61
+ placement:"\u0440\u0430\u0437\u043C\u0435\u0449\u0435\u043D\u0438\u0435",
62
+ clip:"\u0423\u0441\u0435\u0447\u0435\u043D\u0438\u0435"
63
+ });
mce/style/langs/ru_ru.js DELETED
@@ -1,66 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('style',{
4
- title : 'Редактировать CSS Стиль',
5
- styleinfo_desc : 'Редактировать CSS Стиль',
6
- apply : 'Принять',
7
- text_tab : 'Текст',
8
- background_tab : 'Фон',
9
- block_tab : 'Блок',
10
- box_tab : 'Бокс',
11
- border_tab : 'Граница',
12
- list_tab : 'Список',
13
- positioning_tab : 'Позиционирование',
14
- text_props : 'Текст',
15
- text_font : 'Шрифт',
16
- text_size : 'Размер',
17
- text_weight : 'Ширина',
18
- text_style : 'Стиль',
19
- text_variant : 'Вариант',
20
- text_lineheight : 'Высота строки',
21
- text_case : 'Регистр',
22
- text_color : 'Цвет',
23
- text_decoration : 'Оформление',
24
- text_overline : 'Надчеркивание',
25
- text_underline : 'Подчеркивание',
26
- text_striketrough : 'Зачеркивание',
27
- text_blink : 'Мерцание',
28
- text_none : 'нет',
29
- background_color : 'Цвет фона',
30
- background_image : 'Фоновое изображение',
31
- background_repeat : 'Повторить',
32
- background_attachment : 'Прокрутка фонового изображения',
33
- background_hpos : 'Горизонтальная позиция',
34
- background_vpos : 'Вертикальная позиция',
35
- block_wordspacing : 'Расстояние между словами',
36
- block_letterspacing : 'Расстояние между буквами',
37
- block_vertical_alignment : 'Выравнивание по вертикали',
38
- block_text_align : 'Выравнивание текста',
39
- block_text_indent : 'Отступ первой строки',
40
- block_whitespace : 'Пробелы',
41
- block_display : 'Отображение',
42
- box_width : 'Ширина',
43
- box_height : 'Высота',
44
- box_float : 'Выравнивание с обтеканием',
45
- box_clear : 'Запрет обтекания',
46
- padding : 'Поля',
47
- same : 'Тоже для остальных',
48
- top : 'Верх',
49
- right : 'Право',
50
- bottom : 'Низ',
51
- left : 'Лево',
52
- margin : 'Отступ',
53
- style : 'Стиль',
54
- width : 'Ширина',
55
- height : 'Высота',
56
- color : 'Цвет',
57
- list_type : 'Тип',
58
- bullet_image : 'Маркер абзаца',
59
- position : 'Позиция',
60
- positioning_type : 'Тип',
61
- visibility : 'Видимость',
62
- zindex : 'Наложение',
63
- overflow : 'Переполнение',
64
- placement : 'Размещение',
65
- clip : 'Позиционирование'
66
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/style/langs/zh_cn.js DELETED
@@ -1,66 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('style',{
4
- title : 'Edit CSS Style',
5
- styleinfo_desc : 'Edit CSS Style',
6
- apply : 'Apply',
7
- text_tab : 'Text',
8
- background_tab : 'Background',
9
- block_tab : 'Block',
10
- box_tab : 'Box',
11
- border_tab : 'Border',
12
- list_tab : 'List',
13
- positioning_tab : 'Positioning',
14
- text_props : 'Text',
15
- text_font : 'Font',
16
- text_size : 'Size',
17
- text_weight : 'Weight',
18
- text_style : 'Style',
19
- text_variant : 'Variant',
20
- text_lineheight : 'Line height',
21
- text_case : 'Case',
22
- text_color : 'Color',
23
- text_decoration : 'Decoration',
24
- text_overline : 'overline',
25
- text_underline : 'underline',
26
- text_striketrough : 'strikethrough',
27
- text_blink : 'blink',
28
- text_none : 'none',
29
- background_color : 'Background color',
30
- background_image : 'Background image',
31
- background_repeat : 'Repeat',
32
- background_attachment : 'Attachment',
33
- background_hpos : 'Horizontal position',
34
- background_vpos : 'Vertical position',
35
- block_wordspacing : 'Word spacing',
36
- block_letterspacing : 'Letter spacing',
37
- block_vertical_alignment : 'Vertical alignment',
38
- block_text_align : 'Text align',
39
- block_text_indent : 'Text indent',
40
- block_whitespace : 'Whitespace',
41
- block_display : 'Display',
42
- box_width : 'Width',
43
- box_height : 'Height',
44
- box_float : 'Float',
45
- box_clear : 'Clear',
46
- padding : 'Padding',
47
- same : 'Same for all',
48
- top : 'Top',
49
- right : 'Right',
50
- bottom : 'Bottom',
51
- left : 'Left',
52
- margin : 'Margin',
53
- style : 'Style',
54
- width : 'Width',
55
- height : 'Height',
56
- color : 'Color',
57
- list_type : 'Type',
58
- bullet_image : 'Bullet image',
59
- position : 'Position',
60
- positioning_type : 'Type',
61
- visibility : 'Visibility',
62
- zindex : 'Z-index',
63
- overflow : 'Overflow',
64
- placement : 'Placement',
65
- clip : 'Clip'
66
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/style/langs/zh_dlg.js ADDED
@@ -0,0 +1,63 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('zh.style_dlg',{
2
+ title:"\u7DE8\u8F2F CSS \u6A23\u5F0F\u8868",
3
+ apply:"\u61C9\u7528",
4
+ text_tab:"\u6587\u5B57",
5
+ background_tab:"\u80CC\u666F",
6
+ block_tab:"\u5340\u584A",
7
+ box_tab:"\u76D2\u6A21\u578B",
8
+ border_tab:"\u908A\u6846",
9
+ list_tab:"\u5217\u8868",
10
+ positioning_tab:"\u4F4D\u7F6E",
11
+ text_props:"\u6587\u5B57",
12
+ text_font:"\u5B57\u9AD4",
13
+ text_size:"\u5927\u5C0F",
14
+ text_weight:"\u5BEC\u5EA6",
15
+ text_style:"\u6A23\u5F0F",
16
+ text_variant:"\u8B8A\u9AD4",
17
+ text_lineheight:"\u884C\u9AD8",
18
+ text_case:"\u5B57\u9AD4",
19
+ text_color:"\u984F\u8272",
20
+ text_decoration:"\u88DD\u98FE",
21
+ text_overline:"\u4E0A\u5283\u7DDA",
22
+ text_underline:"\u5E95\u7DDA",
23
+ text_striketrough:"\u4E2D\u5283\u7DDA",
24
+ text_blink:"\u9583\u720D",
25
+ text_none:"\u7121",
26
+ background_color:"\u80CC\u666F\u984F\u8272",
27
+ background_image:"\u80CC\u666F\u5716\u7247",
28
+ background_repeat:"\u91CD\u8907",
29
+ background_attachment:"\u9644\u4EF6",
30
+ background_hpos:"\u6C34\u6E96\u4F4D\u7F6E",
31
+ background_vpos:"\u5782\u76F4\u4F4D\u7F6E",
32
+ block_wordspacing:"\u8A5E\u9593\u8DDD",
33
+ block_letterspacing:"\u5B57\u6BCD\u9593\u8DDD",
34
+ block_vertical_alignment:"\u5782\u76F4\u5C0D\u9F4A\u65B9\u5F0F",
35
+ block_text_align:"\u6587\u5B57\u5C0D\u9F4A",
36
+ block_text_indent:"\u6587\u5B57\u7E2E\u9032",
37
+ block_whitespace:"\u7A7A\u683C",
38
+ block_display:"\u986F\u793A\u65B9\u5F0F",
39
+ box_width:"\u5BEC\u5EA6",
40
+ box_height:"\u9AD8\u5EA6",
41
+ box_float:"\u6D6E\u52D5",
42
+ box_clear:"\u6E05\u9664",
43
+ padding:"\u5167\u908A\u8DDD",
44
+ same:"\u5168\u90E8\u76F8\u540C",
45
+ top:"\u9802\u90E8",
46
+ right:"\u53F3\u5074",
47
+ bottom:"\u5E95\u90E8",
48
+ left:"\u5DE6\u5074",
49
+ margin:"\u908A\u8DDD",
50
+ style:"\u6A23\u5F0F",
51
+ width:"\u5BEC\u5EA6",
52
+ height:"\u9AD8\u5EA6",
53
+ color:"\u984F\u8272",
54
+ list_type:"\u5217\u8868\u985E\u578B",
55
+ bullet_image:"\u6E05\u55AE\u5716\u7247",
56
+ position:"\u5716\u7247\u4F4D\u7F6E",
57
+ positioning_type:"\u4F4D\u7F6E\u985E\u578B",
58
+ visibility:"\u662F\u5426\u53EF\u898B",
59
+ zindex:"Z\u5EA7\u6A19",
60
+ overflow:"\u6EA2\u51FA",
61
+ placement:"\u4F48\u7F6E",
62
+ clip:"\u526A\u8F2F"
63
+ });
mce/style/props.htm CHANGED
@@ -1,26 +1,27 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_style_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/editable_selects.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
8
- <script language="javascript" type="text/javascript" src="jscripts/props.js"></script>
9
  <link href="css/props.css" rel="stylesheet" type="text/css" />
10
  <base target="_self" />
11
  </head>
12
 
13
- <body id="styleprops" onLoad="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
14
- <form onSubmit="updateAction();return false;" action="#">
15
  <div class="tabs">
16
  <ul>
17
- <li id="text_tab" class="current"><span><a href="javascript:mcTabs.displayTab('text_tab','text_panel');" onMouseDown="return false;">{$lang_style_text_tab}</a></span></li>
18
- <li id="background_tab"><span><a href="javascript:mcTabs.displayTab('background_tab','background_panel');" onMouseDown="return false;">{$lang_style_background_tab}</a></span></li>
19
- <li id="block_tab"><span><a href="javascript:mcTabs.displayTab('block_tab','block_panel');" onMouseDown="return false;">{$lang_style_block_tab}</a></span></li>
20
- <li id="box_tab"><span><a href="javascript:mcTabs.displayTab('box_tab','box_panel');" onMouseDown="return false;">{$lang_style_box_tab}</a></span></li>
21
- <li id="border_tab"><span><a href="javascript:mcTabs.displayTab('border_tab','border_panel');" onMouseDown="return false;">{$lang_style_border_tab}</a></span></li>
22
- <li id="list_tab"><span><a href="javascript:mcTabs.displayTab('list_tab','list_panel');" onMouseDown="return false;">{$lang_style_list_tab}</a></span></li>
23
- <li id="positioning_tab"><span><a href="javascript:mcTabs.displayTab('positioning_tab','positioning_panel');" onMouseDown="return false;">{$lang_style_positioning_tab}</a></span></li>
24
  </ul>
25
  </div>
26
 
@@ -28,13 +29,13 @@
28
  <div id="text_panel" class="panel current">
29
  <table border="0" width="100%">
30
  <tr>
31
- <td><label for="text_font">{$lang_style_text_font}</label></td>
32
  <td colspan="3">
33
- <select id="text_font" name="text_font" class="mceEditableSelect" onChange="alert(this.options[this.selectedIndex].value);"></select>
34
  </td>
35
  </tr>
36
  <tr>
37
- <td><label for="text_size">{$lang_style_text_size}</label></td>
38
  <td>
39
  <table border="0" cellspacing="0" cellpadding="0">
40
  <tr>
@@ -44,23 +45,23 @@
44
  </tr>
45
  </table>
46
  </td>
47
- <td><label for="text_weight">{$lang_style_text_weight}</label></td>
48
  <td>
49
  <select id="text_weight" name="text_weight"></select>
50
  </td>
51
  </tr>
52
  <tr>
53
- <td><label for="text_style">{$lang_style_text_style}</label></td>
54
  <td>
55
  <select id="text_style" name="text_style" class="mceEditableSelect"></select>
56
  </td>
57
- <td><label for="text_variant">{$lang_style_text_variant}</label></td>
58
  <td>
59
  <select id="text_variant" name="text_variant"></select>
60
  </td>
61
  </tr>
62
  <tr>
63
- <td><label for="text_lineheight">{$lang_style_text_lineheight}</label></td>
64
  <td>
65
  <table border="0" cellspacing="0" cellpadding="0">
66
  <tr>
@@ -68,17 +69,17 @@
68
  <select id="text_lineheight" name="text_lineheight" class="mceEditableSelect"></select>
69
  </td>
70
  <td>&nbsp;</td>
71
- <td><select id="text_lineheight_measurement" name="text_lineheight_measurement"></select></td>
72
  </tr>
73
  </table>
74
  </td>
75
- <td><label for="text_case">{$lang_style_text_case}</label></td>
76
  <td>
77
  <select id="text_case" name="text_case"></select>
78
  </td>
79
  </tr>
80
  <tr>
81
- <td><label for="text_color">{$lang_style_text_color}</label></td>
82
  <td colspan="2">
83
  <table border="0" cellpadding="0" cellspacing="0">
84
  <tr>
@@ -89,28 +90,28 @@
89
  </td>
90
  </tr>
91
  <tr>
92
- <td valign="top" style="vertical-align: top; padding-top: 3px;">{$lang_style_text_decoration}</td>
93
  <td colspan="2">
94
  <table border="0" cellspacing="0" cellpadding="0">
95
  <tr>
96
  <td><input id="text_underline" name="text_underline" class="checkbox" type="checkbox" /></td>
97
- <td><label for="text_underline">{$lang_style_text_underline}</label></td>
98
  </tr>
99
  <tr>
100
  <td><input id="text_overline" name="text_overline" class="checkbox" type="checkbox" /></td>
101
- <td><label for="text_overline">{$lang_style_text_overline}</label></td>
102
  </tr>
103
  <tr>
104
  <td><input id="text_linethrough" name="text_linethrough" class="checkbox" type="checkbox" /></td>
105
- <td><label for="text_linethrough">{$lang_style_text_striketrough}</label></td>
106
  </tr>
107
  <tr>
108
  <td><input id="text_blink" name="text_blink" class="checkbox" type="checkbox" /></td>
109
- <td><label for="text_blink">{$lang_style_text_blink}</label></td>
110
  </tr>
111
  <tr>
112
  <td><input id="text_none" name="text_none" class="checkbox" type="checkbox" /></td>
113
- <td><label for="text_none">{$lang_style_text_none}</label></td>
114
  </tr>
115
  </table>
116
  </td>
@@ -121,7 +122,7 @@
121
  <div id="background_panel" class="panel">
122
  <table border="0">
123
  <tr>
124
- <td><label for="background_color">{$lang_style_background_color}</label></td>
125
  <td>
126
  <table border="0" cellpadding="0" cellspacing="0">
127
  <tr>
@@ -133,7 +134,7 @@
133
  </tr>
134
 
135
  <tr>
136
- <td><label for="background_image">{$lang_style_background_image}</label></td>
137
  <td><table border="0" cellspacing="0" cellpadding="0">
138
  <tr>
139
  <td><input id="background_image" name="background_image" type="text" /></td>
@@ -144,36 +145,36 @@
144
  </tr>
145
 
146
  <tr>
147
- <td><label for="background_repeat">{$lang_style_background_repeat}</label></td>
148
  <td><select id="background_repeat" name="background_repeat" class="mceEditableSelect"></select></td>
149
  </tr>
150
 
151
  <tr>
152
- <td><label for="background_attachment">{$lang_style_background_attachment}</label></td>
153
  <td><select id="background_attachment" name="background_attachment" class="mceEditableSelect"></select></td>
154
  </tr>
155
 
156
  <tr>
157
- <td><label for="background_hpos">{$lang_style_background_hpos}</label></td>
158
  <td>
159
  <table border="0" cellspacing="0" cellpadding="0">
160
  <tr>
161
  <td><select id="background_hpos" name="background_hpos" class="mceEditableSelect"></select></td>
162
  <td>&nbsp;</td>
163
- <td><select id="background_hpos_measurement" name="background_hpos_measurement"></select></td>
164
  </tr>
165
  </table>
166
  </td>
167
  </tr>
168
 
169
  <tr>
170
- <td><label for="background_vpos">{$lang_style_background_vpos}</label></td>
171
  <td>
172
  <table border="0" cellspacing="0" cellpadding="0">
173
  <tr>
174
  <td><select id="background_vpos" name="background_vpos" class="mceEditableSelect"></select></td>
175
  <td>&nbsp;</td>
176
- <td><select id="background_vpos_measurement" name="background_vpos_measurement"></select></td>
177
  </tr>
178
  </table>
179
  </td>
@@ -184,61 +185,61 @@
184
  <div id="block_panel" class="panel">
185
  <table border="0">
186
  <tr>
187
- <td><label for="block_wordspacing">{$lang_style_block_wordspacing}</label></td>
188
  <td>
189
  <table border="0" cellspacing="0" cellpadding="0">
190
  <tr>
191
  <td><select id="block_wordspacing" name="block_wordspacing" class="mceEditableSelect"></select></td>
192
  <td>&nbsp;</td>
193
- <td><select id="block_wordspacing_measurement" name="block_wordspacing_measurement"></select></td>
194
  </tr>
195
  </table>
196
  </td>
197
  </tr>
198
 
199
  <tr>
200
- <td><label for="block_letterspacing">{$lang_style_block_letterspacing}</label></td>
201
  <td>
202
  <table border="0" cellspacing="0" cellpadding="0">
203
  <tr>
204
  <td><select id="block_letterspacing" name="block_letterspacing" class="mceEditableSelect"></select></td>
205
  <td>&nbsp;</td>
206
- <td><select id="block_letterspacing_measurement" name="block_letterspacing_measurement"></select></td>
207
  </tr>
208
  </table>
209
  </td>
210
  </tr>
211
 
212
  <tr>
213
- <td><label for="block_vertical_alignment">{$lang_style_block_vertical_alignment}</label></td>
214
  <td><select id="block_vertical_alignment" name="block_vertical_alignment" class="mceEditableSelect"></select></td>
215
  </tr>
216
 
217
  <tr>
218
- <td><label for="block_text_align">{$lang_style_block_text_align}</label></td>
219
  <td><select id="block_text_align" name="block_text_align" class="mceEditableSelect"></select></td>
220
  </tr>
221
 
222
  <tr>
223
- <td><label for="block_text_indent">{$lang_style_block_text_indent}</label></td>
224
  <td>
225
  <table border="0" cellspacing="0" cellpadding="0">
226
  <tr>
227
  <td><input type="text" id="block_text_indent" name="block_text_indent" /></td>
228
  <td>&nbsp;</td>
229
- <td><select id="block_text_indent_measurement" name="block_text_indent_measurement"></select></td>
230
  </tr>
231
  </table>
232
  </td>
233
  </tr>
234
 
235
  <tr>
236
- <td><label for="block_whitespace">{$lang_style_block_whitespace}</label></td>
237
  <td><select id="block_whitespace" name="block_whitespace" class="mceEditableSelect"></select></td>
238
  </tr>
239
 
240
  <tr>
241
- <td><label for="block_display">{$lang_style_block_display}</label></td>
242
  <td><select id="block_display" name="block_display" class="mceEditableSelect"></select></td>
243
  </tr>
244
  </table>
@@ -247,88 +248,88 @@
247
  <div id="box_panel" class="panel">
248
  <table border="0">
249
  <tr>
250
- <td><label for="box_width">{$lang_style_box_width}</label></td>
251
  <td>
252
  <table border="0" cellspacing="0" cellpadding="0">
253
  <tr>
254
  <td><input type="text" id="box_width" name="box_width" class="mceEditableSelect" onChange="synch('box_width','positioning_width');" /></td>
255
  <td>&nbsp;</td>
256
- <td><select id="box_width_measurement" name="box_width_measurement"></select></td>
257
  </tr>
258
  </table>
259
  </td>
260
- <td>&nbsp;&nbsp;&nbsp;<label for="box_float">{$lang_style_box_float}</label></td>
261
  <td><select id="box_float" name="box_float" class="mceEditableSelect"></select></td>
262
  </tr>
263
 
264
  <tr>
265
- <td><label for="box_height">{$lang_style_box_height}</label></td>
266
  <td>
267
  <table border="0" cellspacing="0" cellpadding="0">
268
  <tr>
269
  <td><input type="text" id="box_height" name="box_height" class="mceEditableSelect" onChange="synch('box_height','positioning_height');" /></td>
270
  <td>&nbsp;</td>
271
- <td><select id="box_height_measurement" name="box_height_measurement"></select></td>
272
  </tr>
273
  </table>
274
  </td>
275
- <td>&nbsp;&nbsp;&nbsp;<label for="box_clear">{$lang_style_box_clear}</label></td>
276
  <td><select id="box_clear" name="box_clear" class="mceEditableSelect"></select></td>
277
  </tr>
278
  </table>
279
  <div style="float: left; width: 49%">
280
  <fieldset>
281
- <legend>{$lang_style_padding}</legend>
282
 
283
  <table border="0">
284
  <tr>
285
  <td>&nbsp;</td>
286
- <td><input type="checkbox" id="box_padding_same" name="box_padding_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_padding');" /> <label for="box_padding_same">{$lang_style_same}</label></td>
287
  </tr>
288
  <tr>
289
- <td><label for="box_padding_top">{$lang_style_top}</label></td>
290
  <td>
291
  <table border="0" cellspacing="0" cellpadding="0">
292
  <tr>
293
  <td><input type="text" id="box_padding_top" name="box_padding_top" class="mceEditableSelect" /></td>
294
  <td>&nbsp;</td>
295
- <td><select id="box_padding_top_measurement" name="box_padding_top_measurement"></select></td>
296
  </tr>
297
  </table>
298
  </td>
299
  </tr>
300
  <tr>
301
- <td><label for="box_padding_right">{$lang_style_right}</label></td>
302
  <td>
303
  <table border="0" cellspacing="0" cellpadding="0">
304
  <tr>
305
  <td><input type="text" id="box_padding_right" name="box_padding_right" class="mceEditableSelect" disabled="disabled" /></td>
306
  <td>&nbsp;</td>
307
- <td><select id="box_padding_right_measurement" name="box_padding_right_measurement" disabled="disabled"></select></td>
308
  </tr>
309
  </table>
310
  </td>
311
  </tr>
312
  <tr>
313
- <td><label for="box_padding_bottom">{$lang_style_bottom}</label></td>
314
  <td>
315
  <table border="0" cellspacing="0" cellpadding="0">
316
  <tr>
317
  <td><input type="text" id="box_padding_bottom" name="box_padding_bottom" class="mceEditableSelect" disabled="disabled" /></td>
318
  <td>&nbsp;</td>
319
- <td><select id="box_padding_bottom_measurement" name="box_padding_bottom_measurement" disabled="disabled"></select></td>
320
  </tr>
321
  </table>
322
  </td>
323
  </tr>
324
  <tr>
325
- <td><label for="box_padding_left">{$lang_style_left}</label></td>
326
  <td>
327
  <table border="0" cellspacing="0" cellpadding="0">
328
  <tr>
329
  <td><input type="text" id="box_padding_left" name="box_padding_left" class="mceEditableSelect" disabled="disabled" /></td>
330
  <td>&nbsp;</td>
331
- <td><select id="box_padding_left_measurement" name="box_padding_left_measurement" disabled="disabled"></select></td>
332
  </tr>
333
  </table>
334
  </td>
@@ -339,57 +340,57 @@
339
 
340
  <div style="float: right; width: 49%">
341
  <fieldset>
342
- <legend>{$lang_style_margin}</legend>
343
 
344
  <table border="0">
345
  <tr>
346
  <td>&nbsp;</td>
347
- <td><input type="checkbox" id="box_margin_same" name="box_margin_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_margin');" /> <label for="box_margin_same">{$lang_style_same}</label></td>
348
  </tr>
349
  <tr>
350
- <td><label for="box_margin_top">{$lang_style_top}</label></td>
351
  <td>
352
  <table border="0" cellspacing="0" cellpadding="0">
353
  <tr>
354
  <td><input type="text" id="box_margin_top" name="box_margin_top" class="mceEditableSelect" /></td>
355
  <td>&nbsp;</td>
356
- <td><select id="box_margin_top_measurement" name="box_margin_top_measurement"></select></td>
357
  </tr>
358
  </table>
359
  </td>
360
  </tr>
361
  <tr>
362
- <td><label for="box_margin_right">{$lang_style_right}</label></td>
363
  <td>
364
  <table border="0" cellspacing="0" cellpadding="0">
365
  <tr>
366
  <td><input type="text" id="box_margin_right" name="box_margin_right" class="mceEditableSelect" disabled="disabled" /></td>
367
  <td>&nbsp;</td>
368
- <td><select id="box_margin_right_measurement" name="box_margin_right_measurement" disabled="disabled"></select></td>
369
  </tr>
370
  </table>
371
  </td>
372
  </tr>
373
  <tr>
374
- <td><label for="box_margin_bottom">{$lang_style_bottom}</label></td>
375
  <td>
376
  <table border="0" cellspacing="0" cellpadding="0">
377
  <tr>
378
  <td><input type="text" id="box_margin_bottom" name="box_margin_bottom" class="mceEditableSelect" disabled="disabled" /></td>
379
  <td>&nbsp;</td>
380
- <td><select id="box_margin_bottom_measurement" name="box_margin_bottom_measurement" disabled="disabled"></select></td>
381
  </tr>
382
  </table>
383
  </td>
384
  </tr>
385
  <tr>
386
- <td><label for="box_margin_left">{$lang_style_left}</label></td>
387
  <td>
388
  <table border="0" cellspacing="0" cellpadding="0">
389
  <tr>
390
  <td><input type="text" id="box_margin_left" name="box_margin_left" class="mceEditableSelect" disabled="disabled" /></td>
391
  <td>&nbsp;</td>
392
- <td><select id="box_margin_left_measurement" name="box_margin_left_measurement" disabled="disabled"></select></td>
393
  </tr>
394
  </table>
395
  </td>
@@ -405,25 +406,25 @@
405
  <tr>
406
  <td class="tdelim">&nbsp;</td>
407
  <td class="tdelim delim">&nbsp;</td>
408
- <td class="tdelim">{$lang_style_style}</td>
409
  <td class="tdelim delim">&nbsp;</td>
410
- <td class="tdelim">{$lang_style_width}</td>
411
  <td class="tdelim delim">&nbsp;</td>
412
- <td class="tdelim">{$lang_style_color}</td>
413
  </tr>
414
 
415
  <tr>
416
  <td>&nbsp;</td>
417
  <td class="delim">&nbsp;</td>
418
- <td><input type="checkbox" id="border_style_same" name="border_style_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_style');" /> <label for="border_style_same">{$lang_style_same}</label></td>
419
  <td class="delim">&nbsp;</td>
420
- <td><input type="checkbox" id="border_width_same" name="border_width_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_width');" /> <label for="border_width_same">{$lang_style_same}</label></td>
421
  <td class="delim">&nbsp;</td>
422
- <td><input type="checkbox" id="border_color_same" name="border_color_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_color');" /> <label for="border_color_same">{$lang_style_same}</label></td>
423
  </tr>
424
 
425
  <tr>
426
- <td>{$lang_style_top}</td>
427
  <td class="delim">&nbsp;</td>
428
  <td><select id="border_style_top" name="border_style_top" class="mceEditableSelect"></select></td>
429
  <td class="delim">&nbsp;</td>
@@ -432,7 +433,7 @@
432
  <tr>
433
  <td><select id="border_width_top" name="border_width_top" class="mceEditableSelect"></select></td>
434
  <td>&nbsp;</td>
435
- <td><select id="border_width_top_measurement" name="border_width_top_measurement"></select></td>
436
  </tr>
437
  </table>
438
  </td>
@@ -448,7 +449,7 @@
448
  </tr>
449
 
450
  <tr>
451
- <td>{$lang_style_right}</td>
452
  <td class="delim">&nbsp;</td>
453
  <td><select id="border_style_right" name="border_style_right" class="mceEditableSelect" disabled="disabled"></select></td>
454
  <td class="delim">&nbsp;</td>
@@ -457,7 +458,7 @@
457
  <tr>
458
  <td><select id="border_width_right" name="border_width_right" class="mceEditableSelect" disabled="disabled"></select></td>
459
  <td>&nbsp;</td>
460
- <td><select id="border_width_right_measurement" name="border_width_right_measurement" disabled="disabled"></select></td>
461
  </tr>
462
  </table>
463
  </td>
@@ -473,7 +474,7 @@
473
  </tr>
474
 
475
  <tr>
476
- <td>{$lang_style_bottom}</td>
477
  <td class="delim">&nbsp;</td>
478
  <td><select id="border_style_bottom" name="border_style_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
479
  <td class="delim">&nbsp;</td>
@@ -482,7 +483,7 @@
482
  <tr>
483
  <td><select id="border_width_bottom" name="border_width_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
484
  <td>&nbsp;</td>
485
- <td><select id="border_width_bottom_measurement" name="border_width_bottom_measurement" disabled="disabled"></select></td>
486
  </tr>
487
  </table>
488
  </td>
@@ -498,7 +499,7 @@
498
  </tr>
499
 
500
  <tr>
501
- <td>{$lang_style_left}</td>
502
  <td class="delim">&nbsp;</td>
503
  <td><select id="border_style_left" name="border_style_left" class="mceEditableSelect" disabled="disabled"></select></td>
504
  <td class="delim">&nbsp;</td>
@@ -507,7 +508,7 @@
507
  <tr>
508
  <td><select id="border_width_left" name="border_width_left" class="mceEditableSelect" disabled="disabled"></select></td>
509
  <td>&nbsp;</td>
510
- <td><select id="border_width_left_measurement" name="border_width_left_measurement" disabled="disabled"></select></td>
511
  </tr>
512
  </table>
513
  </td>
@@ -527,17 +528,17 @@
527
  <div id="list_panel" class="panel">
528
  <table border="0">
529
  <tr>
530
- <td><label for="list_type">{$lang_style_list_type}</label></td>
531
  <td><select id="list_type" name="list_type" class="mceEditableSelect"></select></td>
532
  </tr>
533
 
534
  <tr>
535
- <td><label for="list_bullet_image">{$lang_style_bullet_image}</label></td>
536
  <td><input id="list_bullet_image" name="list_bullet_image" type="text" /></td>
537
  </tr>
538
 
539
  <tr>
540
- <td><label for="list_position">{$lang_style_position}</label></td>
541
  <td><select id="list_position" name="list_position" class="mceEditableSelect"></select></td>
542
  </tr>
543
  </table>
@@ -546,96 +547,96 @@
546
  <div id="positioning_panel" class="panel">
547
  <table border="0">
548
  <tr>
549
- <td><label for="positioning_type">{$lang_style_positioning_type}</label></td>
550
  <td><select id="positioning_type" name="positioning_type" class="mceEditableSelect"></select></td>
551
- <td>&nbsp;&nbsp;&nbsp;<label for="positioning_visibility">{$lang_style_visibility}</label></td>
552
  <td><select id="positioning_visibility" name="positioning_visibility" class="mceEditableSelect"></select></td>
553
  </tr>
554
 
555
  <tr>
556
- <td><label for="positioning_width">{$lang_style_width}</label></td>
557
  <td>
558
  <table border="0" cellspacing="0" cellpadding="0">
559
  <tr>
560
  <td><input type="text" id="positioning_width" name="positioning_width" onChange="synch('positioning_width','box_width');" /></td>
561
  <td>&nbsp;</td>
562
- <td><select id="positioning_width_measurement" name="positioning_width_measurement"></select></td>
563
  </tr>
564
  </table>
565
  </td>
566
- <td>&nbsp;&nbsp;&nbsp;<label for="positioning_zindex">{$lang_style_zindex}</label></td>
567
  <td><input type="text" id="positioning_zindex" name="positioning_zindex" /></td>
568
  </tr>
569
 
570
  <tr>
571
- <td><label for="positioning_height">{$lang_style_height}</label></td>
572
  <td>
573
  <table border="0" cellspacing="0" cellpadding="0">
574
  <tr>
575
  <td><input type="text" id="positioning_height" name="positioning_height" onChange="synch('positioning_height','box_height');" /></td>
576
  <td>&nbsp;</td>
577
- <td><select id="positioning_height_measurement" name="positioning_height_measurement"></select></td>
578
  </tr>
579
  </table>
580
  </td>
581
- <td>&nbsp;&nbsp;&nbsp;<label for="positioning_overflow">{$lang_style_overflow}</label></td>
582
  <td><select id="positioning_overflow" name="positioning_overflow" class="mceEditableSelect"></select></td>
583
  </tr>
584
  </table>
585
 
586
  <div style="float: left; width: 49%">
587
  <fieldset>
588
- <legend>{$lang_style_placement}</legend>
589
 
590
  <table border="0">
591
  <tr>
592
  <td>&nbsp;</td>
593
- <td><input type="checkbox" id="positioning_placement_same" name="positioning_placement_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_placement');" /> <label for="positioning_placement_same">{$lang_style_same}</label></td>
594
  </tr>
595
  <tr>
596
- <td>{$lang_style_top}</td>
597
  <td>
598
  <table border="0" cellspacing="0" cellpadding="0">
599
  <tr>
600
  <td><input type="text" id="positioning_placement_top" name="positioning_placement_top" /></td>
601
  <td>&nbsp;</td>
602
- <td><select id="positioning_placement_top_measurement" name="positioning_placement_top_measurement"></select></td>
603
  </tr>
604
  </table>
605
  </td>
606
  </tr>
607
  <tr>
608
- <td>{$lang_style_right}</td>
609
  <td>
610
  <table border="0" cellspacing="0" cellpadding="0">
611
  <tr>
612
  <td><input type="text" id="positioning_placement_right" name="positioning_placement_right" disabled="disabled" /></td>
613
  <td>&nbsp;</td>
614
- <td><select id="positioning_placement_right_measurement" name="positioning_placement_right_measurement" disabled="disabled"></select></td>
615
  </tr>
616
  </table>
617
  </td>
618
  </tr>
619
  <tr>
620
- <td>{$lang_style_bottom}</td>
621
  <td>
622
  <table border="0" cellspacing="0" cellpadding="0">
623
  <tr>
624
  <td><input type="text" id="positioning_placement_bottom" name="positioning_placement_bottom" disabled="disabled" /></td>
625
  <td>&nbsp;</td>
626
- <td><select id="positioning_placement_bottom_measurement" name="positioning_placement_bottom_measurement" disabled="disabled"></select></td>
627
  </tr>
628
  </table>
629
  </td>
630
  </tr>
631
  <tr>
632
- <td>{$lang_style_left}</td>
633
  <td>
634
  <table border="0" cellspacing="0" cellpadding="0">
635
  <tr>
636
  <td><input type="text" id="positioning_placement_left" name="positioning_placement_left" disabled="disabled" /></td>
637
  <td>&nbsp;</td>
638
- <td><select id="positioning_placement_left_measurement" name="positioning_placement_left_measurement" disabled="disabled"></select></td>
639
  </tr>
640
  </table>
641
  </td>
@@ -646,57 +647,57 @@
646
 
647
  <div style="float: right; width: 49%">
648
  <fieldset>
649
- <legend>{$lang_style_clip}</legend>
650
 
651
  <table border="0">
652
  <tr>
653
  <td>&nbsp;</td>
654
- <td><input type="checkbox" id="positioning_clip_same" name="positioning_clip_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_clip');" /> <label for="positioning_clip_same">{$lang_style_same}</label></td>
655
  </tr>
656
  <tr>
657
- <td>{$lang_style_top}</td>
658
  <td>
659
  <table border="0" cellspacing="0" cellpadding="0">
660
  <tr>
661
  <td><input type="text" id="positioning_clip_top" name="positioning_clip_top" /></td>
662
  <td>&nbsp;</td>
663
- <td><select id="positioning_clip_top_measurement" name="positioning_clip_top_measurement"></select></td>
664
  </tr>
665
  </table>
666
  </td>
667
  </tr>
668
  <tr>
669
- <td>{$lang_style_right}</td>
670
  <td>
671
  <table border="0" cellspacing="0" cellpadding="0">
672
  <tr>
673
  <td><input type="text" id="positioning_clip_right" name="positioning_clip_right" disabled="disabled" /></td>
674
  <td>&nbsp;</td>
675
- <td><select id="positioning_clip_right_measurement" name="positioning_clip_right_measurement" disabled="disabled"></select></td>
676
  </tr>
677
  </table>
678
  </td>
679
  </tr>
680
  <tr>
681
- <td>{$lang_style_bottom}</td>
682
  <td>
683
  <table border="0" cellspacing="0" cellpadding="0">
684
  <tr>
685
  <td><input type="text" id="positioning_clip_bottom" name="positioning_clip_bottom" disabled="disabled" /></td>
686
  <td>&nbsp;</td>
687
- <td><select id="positioning_clip_bottom_measurement" name="positioning_clip_bottom_measurement" disabled="disabled"></select></td>
688
  </tr>
689
  </table>
690
  </td>
691
  </tr>
692
  <tr>
693
- <td>{$lang_style_left}</td>
694
  <td>
695
  <table border="0" cellspacing="0" cellpadding="0">
696
  <tr>
697
  <td><input type="text" id="positioning_clip_left" name="positioning_clip_left" disabled="disabled" /></td>
698
  <td>&nbsp;</td>
699
- <td><select id="positioning_clip_left_measurement" name="positioning_clip_left_measurement" disabled="disabled"></select></td>
700
  </tr>
701
  </table>
702
  </td>
@@ -710,14 +711,14 @@
710
 
711
  <div class="mceActionPanel">
712
  <div style="float: left">
713
- <div style="float: left"><input type="button" id="insert" name="insert" value="{$lang_update}" onClick="updateAction();" /></div>
714
 
715
- <div style="float: left">&nbsp;<input type="button" id="apply" name="apply" value="{$lang_style_apply}" onClick="applyAction();" class="updateButton" /></div>
716
  <br style="clear: both" />
717
  </div>
718
 
719
  <div style="float: right">
720
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onClick="tinyMCEPopup.close();" />
721
  </div>
722
  </div>
723
  </form>
@@ -725,5 +726,6 @@
725
  <div style="display: none">
726
  <div id="container"></div>
727
  </div>
 
728
  </body>
729
  </html>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#style_dlg.title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
8
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
9
+ <script type="text/javascript" src="js/props.js"></script>
10
  <link href="css/props.css" rel="stylesheet" type="text/css" />
11
  <base target="_self" />
12
  </head>
13
 
14
+ <body id="styleprops" style="display: none">
15
+ <form onsubmit="updateAction();return false;" action="#">
16
  <div class="tabs">
17
  <ul>
18
+ <li id="text_tab" class="current"><span><a href="javascript:mcTabs.displayTab('text_tab','text_panel');" onMouseDown="return false;">{#style_dlg.text_tab}</a></span></li>
19
+ <li id="background_tab"><span><a href="javascript:mcTabs.displayTab('background_tab','background_panel');" onMouseDown="return false;">{#style_dlg.background_tab}</a></span></li>
20
+ <li id="block_tab"><span><a href="javascript:mcTabs.displayTab('block_tab','block_panel');" onMouseDown="return false;">{#style_dlg.block_tab}</a></span></li>
21
+ <li id="box_tab"><span><a href="javascript:mcTabs.displayTab('box_tab','box_panel');" onMouseDown="return false;">{#style_dlg.box_tab}</a></span></li>
22
+ <li id="border_tab"><span><a href="javascript:mcTabs.displayTab('border_tab','border_panel');" onMouseDown="return false;">{#style_dlg.border_tab}</a></span></li>
23
+ <li id="list_tab"><span><a href="javascript:mcTabs.displayTab('list_tab','list_panel');" onMouseDown="return false;">{#style_dlg.list_tab}</a></span></li>
24
+ <li id="positioning_tab"><span><a href="javascript:mcTabs.displayTab('positioning_tab','positioning_panel');" onMouseDown="return false;">{#style_dlg.positioning_tab}</a></span></li>
25
  </ul>
26
  </div>
27
 
29
  <div id="text_panel" class="panel current">
30
  <table border="0" width="100%">
31
  <tr>
32
+ <td><label for="text_font">{#style_dlg.text_font}</label></td>
33
  <td colspan="3">
34
+ <select id="text_font" name="text_font" class="mceEditableSelect mceFocus"></select>
35
  </td>
36
  </tr>
37
  <tr>
38
+ <td><label for="text_size">{#style_dlg.text_size}</label></td>
39
  <td>
40
  <table border="0" cellspacing="0" cellpadding="0">
41
  <tr>
45
  </tr>
46
  </table>
47
  </td>
48
+ <td><label for="text_weight">{#style_dlg.text_weight}</label></td>
49
  <td>
50
  <select id="text_weight" name="text_weight"></select>
51
  </td>
52
  </tr>
53
  <tr>
54
+ <td><label for="text_style">{#style_dlg.text_style}</label></td>
55
  <td>
56
  <select id="text_style" name="text_style" class="mceEditableSelect"></select>
57
  </td>
58
+ <td><label for="text_variant">{#style_dlg.text_variant}</label></td>
59
  <td>
60
  <select id="text_variant" name="text_variant"></select>
61
  </td>
62
  </tr>
63
  <tr>
64
+ <td><label for="text_lineheight">{#style_dlg.text_lineheight}</label></td>
65
  <td>
66
  <table border="0" cellspacing="0" cellpadding="0">
67
  <tr>
69
  <select id="text_lineheight" name="text_lineheight" class="mceEditableSelect"></select>
70
  </td>
71
  <td>&nbsp;</td>
72
+ <td><select id="text_lineheight_measurement" name="text_lineheight_measurement"></select></td>
73
  </tr>
74
  </table>
75
  </td>
76
+ <td><label for="text_case">{#style_dlg.text_case}</label></td>
77
  <td>
78
  <select id="text_case" name="text_case"></select>
79
  </td>
80
  </tr>
81
  <tr>
82
+ <td><label for="text_color">{#style_dlg.text_color}</label></td>
83
  <td colspan="2">
84
  <table border="0" cellpadding="0" cellspacing="0">
85
  <tr>
90
  </td>
91
  </tr>
92
  <tr>
93
+ <td valign="top" style="vertical-align: top; padding-top: 3px;">{#style_dlg.text_decoration}</td>
94
  <td colspan="2">
95
  <table border="0" cellspacing="0" cellpadding="0">
96
  <tr>
97
  <td><input id="text_underline" name="text_underline" class="checkbox" type="checkbox" /></td>
98
+ <td><label for="text_underline">{#style_dlg.text_underline}</label></td>
99
  </tr>
100
  <tr>
101
  <td><input id="text_overline" name="text_overline" class="checkbox" type="checkbox" /></td>
102
+ <td><label for="text_overline">{#style_dlg.text_overline}</label></td>
103
  </tr>
104
  <tr>
105
  <td><input id="text_linethrough" name="text_linethrough" class="checkbox" type="checkbox" /></td>
106
+ <td><label for="text_linethrough">{#style_dlg.text_striketrough}</label></td>
107
  </tr>
108
  <tr>
109
  <td><input id="text_blink" name="text_blink" class="checkbox" type="checkbox" /></td>
110
+ <td><label for="text_blink">{#style_dlg.text_blink}</label></td>
111
  </tr>
112
  <tr>
113
  <td><input id="text_none" name="text_none" class="checkbox" type="checkbox" /></td>
114
+ <td><label for="text_none">{#style_dlg.text_none}</label></td>
115
  </tr>
116
  </table>
117
  </td>
122
  <div id="background_panel" class="panel">
123
  <table border="0">
124
  <tr>
125
+ <td><label for="background_color">{#style_dlg.background_color}</label></td>
126
  <td>
127
  <table border="0" cellpadding="0" cellspacing="0">
128
  <tr>
134
  </tr>
135
 
136
  <tr>
137
+ <td><label for="background_image">{#style_dlg.background_image}</label></td>
138
  <td><table border="0" cellspacing="0" cellpadding="0">
139
  <tr>
140
  <td><input id="background_image" name="background_image" type="text" /></td>
145
  </tr>
146
 
147
  <tr>
148
+ <td><label for="background_repeat">{#style_dlg.background_repeat}</label></td>
149
  <td><select id="background_repeat" name="background_repeat" class="mceEditableSelect"></select></td>
150
  </tr>
151
 
152
  <tr>
153
+ <td><label for="background_attachment">{#style_dlg.background_attachment}</label></td>
154
  <td><select id="background_attachment" name="background_attachment" class="mceEditableSelect"></select></td>
155
  </tr>
156
 
157
  <tr>
158
+ <td><label for="background_hpos">{#style_dlg.background_hpos}</label></td>
159
  <td>
160
  <table border="0" cellspacing="0" cellpadding="0">
161
  <tr>
162
  <td><select id="background_hpos" name="background_hpos" class="mceEditableSelect"></select></td>
163
  <td>&nbsp;</td>
164
+ <td><select id="background_hpos_measurement" name="background_hpos_measurement"></select></td>
165
  </tr>
166
  </table>
167
  </td>
168
  </tr>
169
 
170
  <tr>
171
+ <td><label for="background_vpos">{#style_dlg.background_vpos}</label></td>
172
  <td>
173
  <table border="0" cellspacing="0" cellpadding="0">
174
  <tr>
175
  <td><select id="background_vpos" name="background_vpos" class="mceEditableSelect"></select></td>
176
  <td>&nbsp;</td>
177
+ <td><select id="background_vpos_measurement" name="background_vpos_measurement"></select></td>
178
  </tr>
179
  </table>
180
  </td>
185
  <div id="block_panel" class="panel">
186
  <table border="0">
187
  <tr>
188
+ <td><label for="block_wordspacing">{#style_dlg.block_wordspacing}</label></td>
189
  <td>
190
  <table border="0" cellspacing="0" cellpadding="0">
191
  <tr>
192
  <td><select id="block_wordspacing" name="block_wordspacing" class="mceEditableSelect"></select></td>
193
  <td>&nbsp;</td>
194
+ <td><select id="block_wordspacing_measurement" name="block_wordspacing_measurement"></select></td>
195
  </tr>
196
  </table>
197
  </td>
198
  </tr>
199
 
200
  <tr>
201
+ <td><label for="block_letterspacing">{#style_dlg.block_letterspacing}</label></td>
202
  <td>
203
  <table border="0" cellspacing="0" cellpadding="0">
204
  <tr>
205
  <td><select id="block_letterspacing" name="block_letterspacing" class="mceEditableSelect"></select></td>
206
  <td>&nbsp;</td>
207
+ <td><select id="block_letterspacing_measurement" name="block_letterspacing_measurement"></select></td>
208
  </tr>
209
  </table>
210
  </td>
211
  </tr>
212
 
213
  <tr>
214
+ <td><label for="block_vertical_alignment">{#style_dlg.block_vertical_alignment}</label></td>
215
  <td><select id="block_vertical_alignment" name="block_vertical_alignment" class="mceEditableSelect"></select></td>
216
  </tr>
217
 
218
  <tr>
219
+ <td><label for="block_text_align">{#style_dlg.block_text_align}</label></td>
220
  <td><select id="block_text_align" name="block_text_align" class="mceEditableSelect"></select></td>
221
  </tr>
222
 
223
  <tr>
224
+ <td><label for="block_text_indent">{#style_dlg.block_text_indent}</label></td>
225
  <td>
226
  <table border="0" cellspacing="0" cellpadding="0">
227
  <tr>
228
  <td><input type="text" id="block_text_indent" name="block_text_indent" /></td>
229
  <td>&nbsp;</td>
230
+ <td><select id="block_text_indent_measurement" name="block_text_indent_measurement"></select></td>
231
  </tr>
232
  </table>
233
  </td>
234
  </tr>
235
 
236
  <tr>
237
+ <td><label for="block_whitespace">{#style_dlg.block_whitespace}</label></td>
238
  <td><select id="block_whitespace" name="block_whitespace" class="mceEditableSelect"></select></td>
239
  </tr>
240
 
241
  <tr>
242
+ <td><label for="block_display">{#style_dlg.block_display}</label></td>
243
  <td><select id="block_display" name="block_display" class="mceEditableSelect"></select></td>
244
  </tr>
245
  </table>
248
  <div id="box_panel" class="panel">
249
  <table border="0">
250
  <tr>
251
+ <td><label for="box_width">{#style_dlg.box_width}</label></td>
252
  <td>
253
  <table border="0" cellspacing="0" cellpadding="0">
254
  <tr>
255
  <td><input type="text" id="box_width" name="box_width" class="mceEditableSelect" onChange="synch('box_width','positioning_width');" /></td>
256
  <td>&nbsp;</td>
257
+ <td><select id="box_width_measurement" name="box_width_measurement"></select></td>
258
  </tr>
259
  </table>
260
  </td>
261
+ <td>&nbsp;&nbsp;&nbsp;<label for="box_float">{#style_dlg.box_float}</label></td>
262
  <td><select id="box_float" name="box_float" class="mceEditableSelect"></select></td>
263
  </tr>
264
 
265
  <tr>
266
+ <td><label for="box_height">{#style_dlg.box_height}</label></td>
267
  <td>
268
  <table border="0" cellspacing="0" cellpadding="0">
269
  <tr>
270
  <td><input type="text" id="box_height" name="box_height" class="mceEditableSelect" onChange="synch('box_height','positioning_height');" /></td>
271
  <td>&nbsp;</td>
272
+ <td><select id="box_height_measurement" name="box_height_measurement"></select></td>
273
  </tr>
274
  </table>
275
  </td>
276
+ <td>&nbsp;&nbsp;&nbsp;<label for="box_clear">{#style_dlg.box_clear}</label></td>
277
  <td><select id="box_clear" name="box_clear" class="mceEditableSelect"></select></td>
278
  </tr>
279
  </table>
280
  <div style="float: left; width: 49%">
281
  <fieldset>
282
+ <legend>{#style_dlg.padding}</legend>
283
 
284
  <table border="0">
285
  <tr>
286
  <td>&nbsp;</td>
287
+ <td><input type="checkbox" id="box_padding_same" name="box_padding_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_padding');" /> <label for="box_padding_same">{#style_dlg.same}</label></td>
288
  </tr>
289
  <tr>
290
+ <td><label for="box_padding_top">{#style_dlg.top}</label></td>
291
  <td>
292
  <table border="0" cellspacing="0" cellpadding="0">
293
  <tr>
294
  <td><input type="text" id="box_padding_top" name="box_padding_top" class="mceEditableSelect" /></td>
295
  <td>&nbsp;</td>
296
+ <td><select id="box_padding_top_measurement" name="box_padding_top_measurement"></select></td>
297
  </tr>
298
  </table>
299
  </td>
300
  </tr>
301
  <tr>
302
+ <td><label for="box_padding_right">{#style_dlg.right}</label></td>
303
  <td>
304
  <table border="0" cellspacing="0" cellpadding="0">
305
  <tr>
306
  <td><input type="text" id="box_padding_right" name="box_padding_right" class="mceEditableSelect" disabled="disabled" /></td>
307
  <td>&nbsp;</td>
308
+ <td><select id="box_padding_right_measurement" name="box_padding_right_measurement" disabled="disabled"></select></td>
309
  </tr>
310
  </table>
311
  </td>
312
  </tr>
313
  <tr>
314
+ <td><label for="box_padding_bottom">{#style_dlg.bottom}</label></td>
315
  <td>
316
  <table border="0" cellspacing="0" cellpadding="0">
317
  <tr>
318
  <td><input type="text" id="box_padding_bottom" name="box_padding_bottom" class="mceEditableSelect" disabled="disabled" /></td>
319
  <td>&nbsp;</td>
320
+ <td><select id="box_padding_bottom_measurement" name="box_padding_bottom_measurement" disabled="disabled"></select></td>
321
  </tr>
322
  </table>
323
  </td>
324
  </tr>
325
  <tr>
326
+ <td><label for="box_padding_left">{#style_dlg.left}</label></td>
327
  <td>
328
  <table border="0" cellspacing="0" cellpadding="0">
329
  <tr>
330
  <td><input type="text" id="box_padding_left" name="box_padding_left" class="mceEditableSelect" disabled="disabled" /></td>
331
  <td>&nbsp;</td>
332
+ <td><select id="box_padding_left_measurement" name="box_padding_left_measurement" disabled="disabled"></select></td>
333
  </tr>
334
  </table>
335
  </td>
340
 
341
  <div style="float: right; width: 49%">
342
  <fieldset>
343
+ <legend>{#style_dlg.margin}</legend>
344
 
345
  <table border="0">
346
  <tr>
347
  <td>&nbsp;</td>
348
+ <td><input type="checkbox" id="box_margin_same" name="box_margin_same" class="checkbox" checked="checked" onClick="toggleSame(this,'box_margin');" /> <label for="box_margin_same">{#style_dlg.same}</label></td>
349
  </tr>
350
  <tr>
351
+ <td><label for="box_margin_top">{#style_dlg.top}</label></td>
352
  <td>
353
  <table border="0" cellspacing="0" cellpadding="0">
354
  <tr>
355
  <td><input type="text" id="box_margin_top" name="box_margin_top" class="mceEditableSelect" /></td>
356
  <td>&nbsp;</td>
357
+ <td><select id="box_margin_top_measurement" name="box_margin_top_measurement"></select></td>
358
  </tr>
359
  </table>
360
  </td>
361
  </tr>
362
  <tr>
363
+ <td><label for="box_margin_right">{#style_dlg.right}</label></td>
364
  <td>
365
  <table border="0" cellspacing="0" cellpadding="0">
366
  <tr>
367
  <td><input type="text" id="box_margin_right" name="box_margin_right" class="mceEditableSelect" disabled="disabled" /></td>
368
  <td>&nbsp;</td>
369
+ <td><select id="box_margin_right_measurement" name="box_margin_right_measurement" disabled="disabled"></select></td>
370
  </tr>
371
  </table>
372
  </td>
373
  </tr>
374
  <tr>
375
+ <td><label for="box_margin_bottom">{#style_dlg.bottom}</label></td>
376
  <td>
377
  <table border="0" cellspacing="0" cellpadding="0">
378
  <tr>
379
  <td><input type="text" id="box_margin_bottom" name="box_margin_bottom" class="mceEditableSelect" disabled="disabled" /></td>
380
  <td>&nbsp;</td>
381
+ <td><select id="box_margin_bottom_measurement" name="box_margin_bottom_measurement" disabled="disabled"></select></td>
382
  </tr>
383
  </table>
384
  </td>
385
  </tr>
386
  <tr>
387
+ <td><label for="box_margin_left">{#style_dlg.left}</label></td>
388
  <td>
389
  <table border="0" cellspacing="0" cellpadding="0">
390
  <tr>
391
  <td><input type="text" id="box_margin_left" name="box_margin_left" class="mceEditableSelect" disabled="disabled" /></td>
392
  <td>&nbsp;</td>
393
+ <td><select id="box_margin_left_measurement" name="box_margin_left_measurement" disabled="disabled"></select></td>
394
  </tr>
395
  </table>
396
  </td>
406
  <tr>
407
  <td class="tdelim">&nbsp;</td>
408
  <td class="tdelim delim">&nbsp;</td>
409
+ <td class="tdelim">{#style_dlg.style}</td>
410
  <td class="tdelim delim">&nbsp;</td>
411
+ <td class="tdelim">{#style_dlg.width}</td>
412
  <td class="tdelim delim">&nbsp;</td>
413
+ <td class="tdelim">{#style_dlg.color}</td>
414
  </tr>
415
 
416
  <tr>
417
  <td>&nbsp;</td>
418
  <td class="delim">&nbsp;</td>
419
+ <td><input type="checkbox" id="border_style_same" name="border_style_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_style');" /> <label for="border_style_same">{#style_dlg.same}</label></td>
420
  <td class="delim">&nbsp;</td>
421
+ <td><input type="checkbox" id="border_width_same" name="border_width_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_width');" /> <label for="border_width_same">{#style_dlg.same}</label></td>
422
  <td class="delim">&nbsp;</td>
423
+ <td><input type="checkbox" id="border_color_same" name="border_color_same" class="checkbox" checked="checked" onClick="toggleSame(this,'border_color');" /> <label for="border_color_same">{#style_dlg.same}</label></td>
424
  </tr>
425
 
426
  <tr>
427
+ <td>{#style_dlg.top}</td>
428
  <td class="delim">&nbsp;</td>
429
  <td><select id="border_style_top" name="border_style_top" class="mceEditableSelect"></select></td>
430
  <td class="delim">&nbsp;</td>
433
  <tr>
434
  <td><select id="border_width_top" name="border_width_top" class="mceEditableSelect"></select></td>
435
  <td>&nbsp;</td>
436
+ <td><select id="border_width_top_measurement" name="border_width_top_measurement"></select></td>
437
  </tr>
438
  </table>
439
  </td>
449
  </tr>
450
 
451
  <tr>
452
+ <td>{#style_dlg.right}</td>
453
  <td class="delim">&nbsp;</td>
454
  <td><select id="border_style_right" name="border_style_right" class="mceEditableSelect" disabled="disabled"></select></td>
455
  <td class="delim">&nbsp;</td>
458
  <tr>
459
  <td><select id="border_width_right" name="border_width_right" class="mceEditableSelect" disabled="disabled"></select></td>
460
  <td>&nbsp;</td>
461
+ <td><select id="border_width_right_measurement" name="border_width_right_measurement" disabled="disabled"></select></td>
462
  </tr>
463
  </table>
464
  </td>
474
  </tr>
475
 
476
  <tr>
477
+ <td>{#style_dlg.bottom}</td>
478
  <td class="delim">&nbsp;</td>
479
  <td><select id="border_style_bottom" name="border_style_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
480
  <td class="delim">&nbsp;</td>
483
  <tr>
484
  <td><select id="border_width_bottom" name="border_width_bottom" class="mceEditableSelect" disabled="disabled"></select></td>
485
  <td>&nbsp;</td>
486
+ <td><select id="border_width_bottom_measurement" name="border_width_bottom_measurement" disabled="disabled"></select></td>
487
  </tr>
488
  </table>
489
  </td>
499
  </tr>
500
 
501
  <tr>
502
+ <td>{#style_dlg.left}</td>
503
  <td class="delim">&nbsp;</td>
504
  <td><select id="border_style_left" name="border_style_left" class="mceEditableSelect" disabled="disabled"></select></td>
505
  <td class="delim">&nbsp;</td>
508
  <tr>
509
  <td><select id="border_width_left" name="border_width_left" class="mceEditableSelect" disabled="disabled"></select></td>
510
  <td>&nbsp;</td>
511
+ <td><select id="border_width_left_measurement" name="border_width_left_measurement" disabled="disabled"></select></td>
512
  </tr>
513
  </table>
514
  </td>
528
  <div id="list_panel" class="panel">
529
  <table border="0">
530
  <tr>
531
+ <td><label for="list_type">{#style_dlg.list_type}</label></td>
532
  <td><select id="list_type" name="list_type" class="mceEditableSelect"></select></td>
533
  </tr>
534
 
535
  <tr>
536
+ <td><label for="list_bullet_image">{#style_dlg.bullet_image}</label></td>
537
  <td><input id="list_bullet_image" name="list_bullet_image" type="text" /></td>
538
  </tr>
539
 
540
  <tr>
541
+ <td><label for="list_position">{#style_dlg.position}</label></td>
542
  <td><select id="list_position" name="list_position" class="mceEditableSelect"></select></td>
543
  </tr>
544
  </table>
547
  <div id="positioning_panel" class="panel">
548
  <table border="0">
549
  <tr>
550
+ <td><label for="positioning_type">{#style_dlg.positioning_type}</label></td>
551
  <td><select id="positioning_type" name="positioning_type" class="mceEditableSelect"></select></td>
552
+ <td>&nbsp;&nbsp;&nbsp;<label for="positioning_visibility">{#style_dlg.visibility}</label></td>
553
  <td><select id="positioning_visibility" name="positioning_visibility" class="mceEditableSelect"></select></td>
554
  </tr>
555
 
556
  <tr>
557
+ <td><label for="positioning_width">{#style_dlg.width}</label></td>
558
  <td>
559
  <table border="0" cellspacing="0" cellpadding="0">
560
  <tr>
561
  <td><input type="text" id="positioning_width" name="positioning_width" onChange="synch('positioning_width','box_width');" /></td>
562
  <td>&nbsp;</td>
563
+ <td><select id="positioning_width_measurement" name="positioning_width_measurement"></select></td>
564
  </tr>
565
  </table>
566
  </td>
567
+ <td>&nbsp;&nbsp;&nbsp;<label for="positioning_zindex">{#style_dlg.zindex}</label></td>
568
  <td><input type="text" id="positioning_zindex" name="positioning_zindex" /></td>
569
  </tr>
570
 
571
  <tr>
572
+ <td><label for="positioning_height">{#style_dlg.height}</label></td>
573
  <td>
574
  <table border="0" cellspacing="0" cellpadding="0">
575
  <tr>
576
  <td><input type="text" id="positioning_height" name="positioning_height" onChange="synch('positioning_height','box_height');" /></td>
577
  <td>&nbsp;</td>
578
+ <td><select id="positioning_height_measurement" name="positioning_height_measurement"></select></td>
579
  </tr>
580
  </table>
581
  </td>
582
+ <td>&nbsp;&nbsp;&nbsp;<label for="positioning_overflow">{#style_dlg.overflow}</label></td>
583
  <td><select id="positioning_overflow" name="positioning_overflow" class="mceEditableSelect"></select></td>
584
  </tr>
585
  </table>
586
 
587
  <div style="float: left; width: 49%">
588
  <fieldset>
589
+ <legend>{#style_dlg.placement}</legend>
590
 
591
  <table border="0">
592
  <tr>
593
  <td>&nbsp;</td>
594
+ <td><input type="checkbox" id="positioning_placement_same" name="positioning_placement_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_placement');" /> <label for="positioning_placement_same">{#style_dlg.same}</label></td>
595
  </tr>
596
  <tr>
597
+ <td>{#style_dlg.top}</td>
598
  <td>
599
  <table border="0" cellspacing="0" cellpadding="0">
600
  <tr>
601
  <td><input type="text" id="positioning_placement_top" name="positioning_placement_top" /></td>
602
  <td>&nbsp;</td>
603
+ <td><select id="positioning_placement_top_measurement" name="positioning_placement_top_measurement"></select></td>
604
  </tr>
605
  </table>
606
  </td>
607
  </tr>
608
  <tr>
609
+ <td>{#style_dlg.right}</td>
610
  <td>
611
  <table border="0" cellspacing="0" cellpadding="0">
612
  <tr>
613
  <td><input type="text" id="positioning_placement_right" name="positioning_placement_right" disabled="disabled" /></td>
614
  <td>&nbsp;</td>
615
+ <td><select id="positioning_placement_right_measurement" name="positioning_placement_right_measurement" disabled="disabled"></select></td>
616
  </tr>
617
  </table>
618
  </td>
619
  </tr>
620
  <tr>
621
+ <td>{#style_dlg.bottom}</td>
622
  <td>
623
  <table border="0" cellspacing="0" cellpadding="0">
624
  <tr>
625
  <td><input type="text" id="positioning_placement_bottom" name="positioning_placement_bottom" disabled="disabled" /></td>
626
  <td>&nbsp;</td>
627
+ <td><select id="positioning_placement_bottom_measurement" name="positioning_placement_bottom_measurement" disabled="disabled"></select></td>
628
  </tr>
629
  </table>
630
  </td>
631
  </tr>
632
  <tr>
633
+ <td>{#style_dlg.left}</td>
634
  <td>
635
  <table border="0" cellspacing="0" cellpadding="0">
636
  <tr>
637
  <td><input type="text" id="positioning_placement_left" name="positioning_placement_left" disabled="disabled" /></td>
638
  <td>&nbsp;</td>
639
+ <td><select id="positioning_placement_left_measurement" name="positioning_placement_left_measurement" disabled="disabled"></select></td>
640
  </tr>
641
  </table>
642
  </td>
647
 
648
  <div style="float: right; width: 49%">
649
  <fieldset>
650
+ <legend>{#style_dlg.clip}</legend>
651
 
652
  <table border="0">
653
  <tr>
654
  <td>&nbsp;</td>
655
+ <td><input type="checkbox" id="positioning_clip_same" name="positioning_clip_same" class="checkbox" checked="checked" onClick="toggleSame(this,'positioning_clip');" /> <label for="positioning_clip_same">{#style_dlg.same}</label></td>
656
  </tr>
657
  <tr>
658
+ <td>{#style_dlg.top}</td>
659
  <td>
660
  <table border="0" cellspacing="0" cellpadding="0">
661
  <tr>
662
  <td><input type="text" id="positioning_clip_top" name="positioning_clip_top" /></td>
663
  <td>&nbsp;</td>
664
+ <td><select id="positioning_clip_top_measurement" name="positioning_clip_top_measurement"></select></td>
665
  </tr>
666
  </table>
667
  </td>
668
  </tr>
669
  <tr>
670
+ <td>{#style_dlg.right}</td>
671
  <td>
672
  <table border="0" cellspacing="0" cellpadding="0">
673
  <tr>
674
  <td><input type="text" id="positioning_clip_right" name="positioning_clip_right" disabled="disabled" /></td>
675
  <td>&nbsp;</td>
676
+ <td><select id="positioning_clip_right_measurement" name="positioning_clip_right_measurement" disabled="disabled"></select></td>
677
  </tr>
678
  </table>
679
  </td>
680
  </tr>
681
  <tr>
682
+ <td>{#style_dlg.bottom}</td>
683
  <td>
684
  <table border="0" cellspacing="0" cellpadding="0">
685
  <tr>
686
  <td><input type="text" id="positioning_clip_bottom" name="positioning_clip_bottom" disabled="disabled" /></td>
687
  <td>&nbsp;</td>
688
+ <td><select id="positioning_clip_bottom_measurement" name="positioning_clip_bottom_measurement" disabled="disabled"></select></td>
689
  </tr>
690
  </table>
691
  </td>
692
  </tr>
693
  <tr>
694
+ <td>{#style_dlg.left}</td>
695
  <td>
696
  <table border="0" cellspacing="0" cellpadding="0">
697
  <tr>
698
  <td><input type="text" id="positioning_clip_left" name="positioning_clip_left" disabled="disabled" /></td>
699
  <td>&nbsp;</td>
700
+ <td><select id="positioning_clip_left_measurement" name="positioning_clip_left_measurement" disabled="disabled"></select></td>
701
  </tr>
702
  </table>
703
  </td>
711
 
712
  <div class="mceActionPanel">
713
  <div style="float: left">
714
+ <div style="float: left"><input type="button" id="cancel" name="cancel" value="{#cancel}" onClick="tinyMCEPopup.close();" /></div>
715
 
716
+ <div style="float: left">&nbsp;<input type="button" class="button" id="apply" name="apply" value="{#style_dlg.apply}" onClick="applyAction();" /></div>
717
  <br style="clear: both" />
718
  </div>
719
 
720
  <div style="float: right">
721
+ <input type="submit" id="insert" name="insert" value="{#update}" />
722
  </div>
723
  </div>
724
  </form>
726
  <div style="display: none">
727
  <div id="container"></div>
728
  </div>
729
+
730
  </body>
731
  </html>
mce/style/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/table/cell.htm CHANGED
@@ -1,85 +1,87 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_table_cell_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="jscripts/cell.js"></script>
 
8
  <link href="css/cell.css" rel="stylesheet" type="text/css" />
9
  <base target="_self" />
10
  </head>
11
- <body id="tablecell" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
12
  <form onsubmit="updateAction();return false;" action="#">
13
  <div class="tabs">
14
  <ul>
15
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
16
- <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
17
  </ul>
18
  </div>
19
 
20
  <div class="panel_wrapper">
21
  <div id="general_panel" class="panel current">
22
  <fieldset>
23
- <legend>{$lang_table_general_props}</legend>
24
 
25
  <table border="0" cellpadding="4" cellspacing="0">
26
  <tr>
27
- <td><label for="align">{$lang_table_align}</label></td>
28
  <td>
29
- <select id="align" name="align">
30
- <option value="">{$lang_not_set}</option>
31
- <option value="center">{$lang_table_align_middle}</option>
32
- <option value="left">{$lang_table_align_left}</option>
33
- <option value="right">{$lang_table_align_right}</option>
34
  </select>
35
  </td>
36
 
37
- <td><label for="celltype">{$lang_table_cell_type}</label></td>
38
  <td>
39
  <select id="celltype" name="celltype">
40
- <option value="td">{$lang_table_td}</option>
41
- <option value="th">{$lang_table_th}</option>
42
  </select>
43
  </td>
44
  </tr>
45
 
46
  <tr>
47
- <td><label for="valign">{$lang_table_valign}</label></td>
48
  <td>
49
  <select id="valign" name="valign">
50
- <option value="">{$lang_not_set}</option>
51
- <option value="top">{$lang_table_align_top}</option>
52
- <option value="middle">{$lang_table_align_middle}</option>
53
- <option value="bottom">{$lang_table_align_bottom}</option>
54
  </select>
55
  </td>
56
 
57
- <td><label for="scope">{$lang_table_scope}</label></td>
58
  <td>
59
  <select id="scope" name="scope">
60
- <option value="">{$lang_not_set}</option>
61
- <option value="col">{$lang_table_col}</option>
62
- <option value="row">{$lang_table_row}</option>
63
- <option value="rowgroup">{$lang_table_rowgroup}</option>
64
- <option value="colgroup">{$lang_table_colgroup}</option>
65
  </select>
66
  </td>
67
 
68
  </tr>
69
 
70
  <tr>
71
- <td><label for="width">{$lang_table_width}</label></td>
72
  <td><input id="width" name="width" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
73
 
74
- <td><label for="height">{$lang_table_height}</label></td>
75
  <td><input id="height" name="height" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
76
  </tr>
77
 
78
  <tr id="styleSelectRow">
79
- <td><label for="class">{$lang_class_name}</label></td>
80
  <td colspan="3">
81
- <select id="class" name="class">
82
- <option value="" selected="selected">{$lang_not_set}</option>
83
  </select>
84
  </td>
85
  </tr>
@@ -89,39 +91,39 @@
89
 
90
  <div id="advanced_panel" class="panel">
91
  <fieldset>
92
- <legend>{$lang_table_advanced_props}</legend>
93
 
94
  <table border="0" cellpadding="0" cellspacing="4">
95
  <tr>
96
- <td class="column1"><label for="id">{$lang_table_id}</label></td>
97
  <td><input id="id" name="id" type="text" value="" style="width: 200px" /></td>
98
  </tr>
99
 
100
  <tr>
101
- <td><label for="style">{$lang_table_style}</label></td>
102
  <td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
103
  </tr>
104
 
105
  <tr>
106
- <td class="column1"><label for="dir">{$lang_table_langdir}</label></td>
107
  <td>
108
  <select id="dir" name="dir" style="width: 200px">
109
- <option value="">{$lang_not_set}</option>
110
- <option value="ltr">{$lang_table_ltr}</option>
111
- <option value="rtl">{$lang_table_rtl}</option>
112
  </select>
113
  </td>
114
  </tr>
115
 
116
  <tr>
117
- <td class="column1"><label for="lang">{$lang_table_langcode}</label></td>
118
  <td>
119
  <input id="lang" name="lang" type="text" value="" style="width: 200px" />
120
  </td>
121
  </tr>
122
 
123
  <tr>
124
- <td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td>
125
  <td>
126
  <table border="0" cellpadding="0" cellspacing="0">
127
  <tr>
@@ -133,7 +135,7 @@
133
  </tr>
134
 
135
  <tr>
136
- <td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td>
137
  <td>
138
  <table border="0" cellpadding="0" cellspacing="0">
139
  <tr>
@@ -145,7 +147,7 @@
145
  </tr>
146
 
147
  <tr>
148
- <td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td>
149
  <td>
150
  <table border="0" cellpadding="0" cellspacing="0">
151
  <tr>
@@ -163,18 +165,18 @@
163
  <div class="mceActionPanel">
164
  <div>
165
  <select id="action" name="action">
166
- <option value="cell">{$lang_table_cell_cell}</option>
167
- <option value="row">{$lang_table_cell_row}</option>
168
- <option value="all">{$lang_table_cell_all}</option>
169
  </select>
170
  </div>
171
 
172
  <div style="float: left">
173
- <div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
174
  </div>
175
 
176
  <div style="float: right">
177
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
178
  </div>
179
  </div>
180
  </form>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#table_dlg.cell_title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
9
+ <script type="text/javascript" src="js/cell.js"></script>
10
  <link href="css/cell.css" rel="stylesheet" type="text/css" />
11
  <base target="_self" />
12
  </head>
13
+ <body id="tablecell" style="display: none">
14
  <form onsubmit="updateAction();return false;" action="#">
15
  <div class="tabs">
16
  <ul>
17
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li>
18
+ <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li>
19
  </ul>
20
  </div>
21
 
22
  <div class="panel_wrapper">
23
  <div id="general_panel" class="panel current">
24
  <fieldset>
25
+ <legend>{#table_dlg.general_props}</legend>
26
 
27
  <table border="0" cellpadding="4" cellspacing="0">
28
  <tr>
29
+ <td><label for="align">{#table_dlg.align}</label></td>
30
  <td>
31
+ <select id="align" name="align" class="mceFocus">
32
+ <option value="">{#not_set}</option>
33
+ <option value="center">{#table_dlg.align_middle}</option>
34
+ <option value="left">{#table_dlg.align_left}</option>
35
+ <option value="right">{#table_dlg.align_right}</option>
36
  </select>
37
  </td>
38
 
39
+ <td><label for="celltype">{#table_dlg.cell_type}</label></td>
40
  <td>
41
  <select id="celltype" name="celltype">
42
+ <option value="td">{#table_dlg.td}</option>
43
+ <option value="th">{#table_dlg.th}</option>
44
  </select>
45
  </td>
46
  </tr>
47
 
48
  <tr>
49
+ <td><label for="valign">{#table_dlg.valign}</label></td>
50
  <td>
51
  <select id="valign" name="valign">
52
+ <option value="">{#not_set}</option>
53
+ <option value="top">{#table_dlg.align_top}</option>
54
+ <option value="middle">{#table_dlg.align_middle}</option>
55
+ <option value="bottom">{#table_dlg.align_bottom}</option>
56
  </select>
57
  </td>
58
 
59
+ <td><label for="scope">{#table_dlg.scope}</label></td>
60
  <td>
61
  <select id="scope" name="scope">
62
+ <option value="">{#not_set}</option>
63
+ <option value="col">{#table.col}</option>
64
+ <option value="row">{#table.row}</option>
65
+ <option value="rowgroup">{#table_dlg.rowgroup}</option>
66
+ <option value="colgroup">{#table_dlg.colgroup}</option>
67
  </select>
68
  </td>
69
 
70
  </tr>
71
 
72
  <tr>
73
+ <td><label for="width">{#table_dlg.width}</label></td>
74
  <td><input id="width" name="width" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
75
 
76
+ <td><label for="height">{#table_dlg.height}</label></td>
77
  <td><input id="height" name="height" type="text" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
78
  </tr>
79
 
80
  <tr id="styleSelectRow">
81
+ <td><label for="class">{#class_name}</label></td>
82
  <td colspan="3">
83
+ <select id="class" name="class" class="mceEditableSelect">
84
+ <option value="" selected="selected">{#not_set}</option>
85
  </select>
86
  </td>
87
  </tr>
91
 
92
  <div id="advanced_panel" class="panel">
93
  <fieldset>
94
+ <legend>{#table_dlg.advanced_props}</legend>
95
 
96
  <table border="0" cellpadding="0" cellspacing="4">
97
  <tr>
98
+ <td class="column1"><label for="id">{#table_dlg.id}</label></td>
99
  <td><input id="id" name="id" type="text" value="" style="width: 200px" /></td>
100
  </tr>
101
 
102
  <tr>
103
+ <td><label for="style">{#table_dlg.style}</label></td>
104
  <td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
105
  </tr>
106
 
107
  <tr>
108
+ <td class="column1"><label for="dir">{#table_dlg.langdir}</label></td>
109
  <td>
110
  <select id="dir" name="dir" style="width: 200px">
111
+ <option value="">{#not_set}</option>
112
+ <option value="ltr">{#table_dlg.ltr}</option>
113
+ <option value="rtl">{#table_dlg.rtl}</option>
114
  </select>
115
  </td>
116
  </tr>
117
 
118
  <tr>
119
+ <td class="column1"><label for="lang">{#table_dlg.langcode}</label></td>
120
  <td>
121
  <input id="lang" name="lang" type="text" value="" style="width: 200px" />
122
  </td>
123
  </tr>
124
 
125
  <tr>
126
+ <td class="column1"><label for="backgroundimage">{#table_dlg.bgimage}</label></td>
127
  <td>
128
  <table border="0" cellpadding="0" cellspacing="0">
129
  <tr>
135
  </tr>
136
 
137
  <tr>
138
+ <td class="column1"><label for="bordercolor">{#table_dlg.bordercolor}</label></td>
139
  <td>
140
  <table border="0" cellpadding="0" cellspacing="0">
141
  <tr>
147
  </tr>
148
 
149
  <tr>
150
+ <td class="column1"><label for="bgcolor">{#table_dlg.bgcolor}</label></td>
151
  <td>
152
  <table border="0" cellpadding="0" cellspacing="0">
153
  <tr>
165
  <div class="mceActionPanel">
166
  <div>
167
  <select id="action" name="action">
168
+ <option value="cell">{#table_dlg.cell_cell}</option>
169
+ <option value="row">{#table_dlg.cell_row}</option>
170
+ <option value="all">{#table_dlg.cell_all}</option>
171
  </select>
172
  </div>
173
 
174
  <div style="float: left">
175
+ <div><input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /></div>
176
  </div>
177
 
178
  <div style="float: right">
179
+ <input type="submit" id="insert" name="insert" value="{#update}" />
180
  </div>
181
  </div>
182
  </form>
mce/table/css/table.css CHANGED
@@ -1,7 +1,7 @@
1
  /* CSS file for table dialog in the table plugin */
2
 
3
  .panel_wrapper div.current {
4
- height: 220px;
5
  }
6
 
7
  .advfield {
1
  /* CSS file for table dialog in the table plugin */
2
 
3
  .panel_wrapper div.current {
4
+ height: 245px;
5
  }
6
 
7
  .advfield {
mce/table/editor_plugin.js CHANGED
@@ -1,1073 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 201 2007-02-12 15:56:56Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import plugin specific language pack */
9
- tinyMCE.importPluginLanguagePack('table');
10
-
11
- var TinyMCE_TablePlugin = {
12
- getInfo : function() {
13
- return {
14
- longname : 'Tables',
15
- author : 'Moxiecode Systems AB',
16
- authorurl : 'http://tinymce.moxiecode.com',
17
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',
18
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
- };
20
- },
21
-
22
- initInstance : function(inst) {
23
- if (tinyMCE.isGecko) {
24
- var doc = inst.getDoc();
25
- tinyMCE.addEvent(doc, "mouseup", TinyMCE_TablePlugin._mouseDownHandler);
26
- }
27
-
28
- inst.tableRowClipboard = null;
29
- },
30
-
31
- /**
32
- * Returns the HTML contents of the table control.
33
- */
34
- getControlHTML : function(control_name) {
35
- var controls = new Array(
36
- ['table', 'table.gif', 'lang_table_desc', 'mceInsertTable', true],
37
- ['delete_table', 'table_delete.gif', 'lang_table_del', 'mceTableDelete'],
38
- ['delete_col', 'table_delete_col.gif', 'lang_table_delete_col_desc', 'mceTableDeleteCol'],
39
- ['delete_row', 'table_delete_row.gif', 'lang_table_delete_row_desc', 'mceTableDeleteRow'],
40
- ['col_after', 'table_insert_col_after.gif', 'lang_table_col_after_desc', 'mceTableInsertColAfter'],
41
- ['col_before', 'table_insert_col_before.gif', 'lang_table_col_before_desc', 'mceTableInsertColBefore'],
42
- ['row_after', 'table_insert_row_after.gif', 'lang_table_row_after_desc', 'mceTableInsertRowAfter'],
43
- ['row_before', 'table_insert_row_before.gif', 'lang_table_row_before_desc', 'mceTableInsertRowBefore'],
44
- ['row_props', 'table_row_props.gif', 'lang_table_row_desc', 'mceTableRowProps', true],
45
- ['cell_props', 'table_cell_props.gif', 'lang_table_cell_desc', 'mceTableCellProps', true],
46
- ['split_cells', 'table_split_cells.gif', 'lang_table_split_cells_desc', 'mceTableSplitCells', true],
47
- ['merge_cells', 'table_merge_cells.gif', 'lang_table_merge_cells_desc', 'mceTableMergeCells', true]);
48
-
49
- // Render table control
50
- for (var i=0; i<controls.length; i++) {
51
- var but = controls[i];
52
- var cmd = 'tinyMCE.execInstanceCommand(\'{$editor_id}\',\'' + but[3] + '\', ' + (but.length > 4 ? but[4] : false) + (but.length > 5 ? ', \'' + but[5] + '\'' : '') + ');return false;';
53
-
54
- if (but[0] == control_name)
55
- return tinyMCE.getButtonHTML(control_name, but[2], '{$pluginurl}/images/'+ but[1], but[3], (but.length > 4 ? but[4] : false));
56
- }
57
-
58
- // Special tablecontrols
59
- if (control_name == "tablecontrols") {
60
- var html = "";
61
-
62
- html += tinyMCE.getControlHTML("table");
63
- html += tinyMCE.getControlHTML("separator");
64
- html += tinyMCE.getControlHTML("row_props");
65
- html += tinyMCE.getControlHTML("cell_props");
66
- html += tinyMCE.getControlHTML("separator");
67
- html += tinyMCE.getControlHTML("row_before");
68
- html += tinyMCE.getControlHTML("row_after");
69
- html += tinyMCE.getControlHTML("delete_row");
70
- html += tinyMCE.getControlHTML("separator");
71
- html += tinyMCE.getControlHTML("col_before");
72
- html += tinyMCE.getControlHTML("col_after");
73
- html += tinyMCE.getControlHTML("delete_col");
74
- html += tinyMCE.getControlHTML("separator");
75
- html += tinyMCE.getControlHTML("split_cells");
76
- html += tinyMCE.getControlHTML("merge_cells");
77
-
78
- return html;
79
- }
80
-
81
- return "";
82
- },
83
-
84
- /**
85
- * Executes the table commands.
86
- */
87
- execCommand : function(editor_id, element, command, user_interface, value) {
88
- // Is table command
89
- switch (command) {
90
- case "mceInsertTable":
91
- case "mceTableRowProps":
92
- case "mceTableCellProps":
93
- case "mceTableSplitCells":
94
- case "mceTableMergeCells":
95
- case "mceTableInsertRowBefore":
96
- case "mceTableInsertRowAfter":
97
- case "mceTableDeleteRow":
98
- case "mceTableInsertColBefore":
99
- case "mceTableInsertColAfter":
100
- case "mceTableDeleteCol":
101
- case "mceTableCutRow":
102
- case "mceTableCopyRow":
103
- case "mceTablePasteRowBefore":
104
- case "mceTablePasteRowAfter":
105
- case "mceTableDelete":
106
- var inst = tinyMCE.getInstanceById(editor_id);
107
-
108
- inst.execCommand('mceBeginUndoLevel');
109
- TinyMCE_TablePlugin._doExecCommand(editor_id, element, command, user_interface, value);
110
- inst.execCommand('mceEndUndoLevel');
111
-
112
- return true;
113
- }
114
-
115
- // Pass to next handler in chain
116
- return false;
117
- },
118
-
119
- handleNodeChange : function(editor_id, node, undo_index, undo_levels, visual_aid, any_selection) {
120
- var colspan = "1", rowspan = "1", tdElm;
121
-
122
- var inst = tinyMCE.getInstanceById(editor_id);
123
-
124
- // Reset table controls
125
- tinyMCE.switchClass(editor_id + '_table', 'mceButtonNormal');
126
- tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonDisabled');
127
- tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonDisabled');
128
- tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonDisabled');
129
- tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonDisabled');
130
- tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonDisabled');
131
- tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonDisabled');
132
- tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonDisabled');
133
- tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonDisabled');
134
- tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonDisabled');
135
- tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonDisabled');
136
- tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonDisabled');
137
-
138
- // Within a td element
139
- if (tdElm = tinyMCE.getParentElement(node, "td,th")) {
140
- tinyMCE.switchClass(editor_id + '_cell_props', 'mceButtonSelected');
141
- tinyMCE.switchClass(editor_id + '_delete_table', 'mceButtonNormal');
142
- tinyMCE.switchClass(editor_id + '_row_before', 'mceButtonNormal');
143
- tinyMCE.switchClass(editor_id + '_row_after', 'mceButtonNormal');
144
- tinyMCE.switchClass(editor_id + '_delete_row', 'mceButtonNormal');
145
- tinyMCE.switchClass(editor_id + '_col_before', 'mceButtonNormal');
146
- tinyMCE.switchClass(editor_id + '_col_after', 'mceButtonNormal');
147
- tinyMCE.switchClass(editor_id + '_delete_col', 'mceButtonNormal');
148
-
149
- colspan = tinyMCE.getAttrib(tdElm, "colspan");
150
- rowspan = tinyMCE.getAttrib(tdElm, "rowspan");
151
-
152
- colspan = colspan == "" ? "1" : colspan;
153
- rowspan = rowspan == "" ? "1" : rowspan;
154
-
155
- if (colspan != "1" || rowspan != "1")
156
- tinyMCE.switchClass(editor_id + '_split_cells', 'mceButtonNormal');
157
- }
158
-
159
- // Within a tr element
160
- if (tinyMCE.getParentElement(node, "tr"))
161
- tinyMCE.switchClass(editor_id + '_row_props', 'mceButtonSelected');
162
-
163
- // Within table
164
- if (tinyMCE.getParentElement(node, "table")) {
165
- tinyMCE.switchClass(editor_id + '_table', 'mceButtonSelected');
166
- tinyMCE.switchClass(editor_id + '_merge_cells', 'mceButtonNormal');
167
- }
168
- },
169
-
170
- // Private plugin internal methods
171
-
172
- _mouseDownHandler : function(e) {
173
- var elm = tinyMCE.isMSIE ? event.srcElement : e.target;
174
- var focusElm = tinyMCE.selectedInstance.getFocusElement();
175
-
176
- // If press on special Mozilla create TD/TR thingie
177
- if (elm.nodeName == "BODY" && (focusElm.nodeName == "TD" || focusElm.nodeName == "TH" || (focusElm.parentNode && focusElm.parentNode.nodeName == "TD") ||(focusElm.parentNode && focusElm.parentNode.nodeName == "TH") )) {
178
- window.setTimeout(function() {
179
- var tableElm = tinyMCE.getParentElement(focusElm, "table");
180
- tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
181
- }, 10);
182
- }
183
- },
184
-
185
- /**
186
- * Executes the table commands.
187
- */
188
- _doExecCommand : function(editor_id, element, command, user_interface, value) {
189
- var inst = tinyMCE.getInstanceById(editor_id);
190
- var focusElm = inst.getFocusElement();
191
- var trElm = tinyMCE.getParentElement(focusElm, "tr");
192
- var tdElm = tinyMCE.getParentElement(focusElm, "td,th");
193
- var tableElm = tinyMCE.getParentElement(focusElm, "table");
194
- var doc = inst.contentWindow.document;
195
- var tableBorder = tableElm ? tableElm.getAttribute("border") : "";
196
-
197
- // Get first TD if no TD found
198
- if (trElm && tdElm == null)
199
- tdElm = trElm.cells[0];
200
-
201
- // ------- Inner functions ---------
202
- function inArray(ar, v) {
203
- for (var i=0; i<ar.length; i++) {
204
- // Is array
205
- if (ar[i].length > 0 && inArray(ar[i], v))
206
- return true;
207
-
208
- // Found value
209
- if (ar[i] == v)
210
- return true;
211
- }
212
-
213
- return false;
214
- }
215
-
216
- function makeTD() {
217
- var newTD = doc.createElement("td");
218
- newTD.innerHTML = "&nbsp;";
219
- }
220
-
221
- function getColRowSpan(td) {
222
- var colspan = tinyMCE.getAttrib(td, "colspan");
223
- var rowspan = tinyMCE.getAttrib(td, "rowspan");
224
-
225
- colspan = colspan == "" ? 1 : parseInt(colspan);
226
- rowspan = rowspan == "" ? 1 : parseInt(rowspan);
227
-
228
- return {colspan : colspan, rowspan : rowspan};
229
- }
230
-
231
- function getCellPos(grid, td) {
232
- var x, y;
233
-
234
- for (y=0; y<grid.length; y++) {
235
- for (x=0; x<grid[y].length; x++) {
236
- if (grid[y][x] == td)
237
- return {cellindex : x, rowindex : y};
238
- }
239
- }
240
-
241
- return null;
242
- }
243
-
244
- function getCell(grid, row, col) {
245
- if (grid[row] && grid[row][col])
246
- return grid[row][col];
247
-
248
- return null;
249
- }
250
-
251
- function getTableGrid(table) {
252
- var grid = new Array(), rows = table.rows, x, y, td, sd, xstart, x2, y2;
253
-
254
- for (y=0; y<rows.length; y++) {
255
- for (x=0; x<rows[y].cells.length; x++) {
256
- td = rows[y].cells[x];
257
- sd = getColRowSpan(td);
258
-
259
- // All ready filled
260
- for (xstart = x; grid[y] && grid[y][xstart]; xstart++) ;
261
-
262
- // Fill box
263
- for (y2=y; y2<y+sd['rowspan']; y2++) {
264
- if (!grid[y2])
265
- grid[y2] = new Array();
266
-
267
- for (x2=xstart; x2<xstart+sd['colspan']; x2++)
268
- grid[y2][x2] = td;
269
- }
270
- }
271
- }
272
-
273
- return grid;
274
- }
275
-
276
- function trimRow(table, tr, td, new_tr) {
277
- var grid = getTableGrid(table), cpos = getCellPos(grid, td);
278
- var cells, lastElm;
279
-
280
- // Time to crop away some
281
- if (new_tr.cells.length != tr.childNodes.length) {
282
- cells = tr.childNodes;
283
- lastElm = null;
284
-
285
- for (var x=0; td = getCell(grid, cpos.rowindex, x); x++) {
286
- var remove = true;
287
- var sd = getColRowSpan(td);
288
-
289
- // Remove due to rowspan
290
- if (inArray(cells, td)) {
291
- new_tr.childNodes[x]._delete = true;
292
- } else if ((lastElm == null || td != lastElm) && sd.colspan > 1) { // Remove due to colspan
293
- for (var i=x; i<x+td.colSpan; i++)
294
- new_tr.childNodes[i]._delete = true;
295
- }
296
-
297
- if ((lastElm == null || td != lastElm) && sd.rowspan > 1)
298
- td.rowSpan = sd.rowspan + 1;
299
-
300
- lastElm = td;
301
- }
302
-
303
- deleteMarked(tableElm);
304
- }
305
- }
306
-
307
- function prevElm(node, name) {
308
- while ((node = node.previousSibling) != null) {
309
- if (node.nodeName == name)
310
- return node;
311
- }
312
-
313
- return null;
314
- }
315
-
316
- function nextElm(node, names) {
317
- var namesAr = names.split(',');
318
-
319
- while ((node = node.nextSibling) != null) {
320
- for (var i=0; i<namesAr.length; i++) {
321
- if (node.nodeName.toLowerCase() == namesAr[i].toLowerCase() )
322
- return node;
323
- }
324
- }
325
-
326
- return null;
327
- }
328
-
329
- function deleteMarked(tbl) {
330
- if (tbl.rows == 0)
331
- return;
332
-
333
- var tr = tbl.rows[0];
334
- do {
335
- var next = nextElm(tr, "TR");
336
-
337
- // Delete row
338
- if (tr._delete) {
339
- tr.parentNode.removeChild(tr);
340
- continue;
341
- }
342
-
343
- // Delete cells
344
- var td = tr.cells[0];
345
- if (td.cells > 1) {
346
- do {
347
- var nexttd = nextElm(td, "TD,TH");
348
-
349
- if (td._delete)
350
- td.parentNode.removeChild(td);
351
- } while ((td = nexttd) != null);
352
- }
353
- } while ((tr = next) != null);
354
- }
355
-
356
- function addRows(td_elm, tr_elm, rowspan) {
357
- // Add rows
358
- td_elm.rowSpan = 1;
359
- var trNext = nextElm(tr_elm, "TR");
360
- for (var i=1; i<rowspan && trNext; i++) {
361
- var newTD = doc.createElement("td");
362
- newTD.innerHTML = "&nbsp;";
363
-
364
- if (tinyMCE.isMSIE)
365
- trNext.insertBefore(newTD, trNext.cells(td_elm.cellIndex));
366
- else
367
- trNext.insertBefore(newTD, trNext.cells[td_elm.cellIndex]);
368
-
369
- trNext = nextElm(trNext, "TR");
370
- }
371
- }
372
-
373
- function copyRow(doc, table, tr) {
374
- var grid = getTableGrid(table);
375
- var newTR = tr.cloneNode(false);
376
- var cpos = getCellPos(grid, tr.cells[0]);
377
- var lastCell = null;
378
- var tableBorder = tinyMCE.getAttrib(table, "border");
379
- var tdElm = null;
380
-
381
- for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
382
- var newTD = null;
383
-
384
- if (lastCell != tdElm) {
385
- for (var i=0; i<tr.cells.length; i++) {
386
- if (tdElm == tr.cells[i]) {
387
- newTD = tdElm.cloneNode(true);
388
- break;
389
- }
390
- }
391
- }
392
-
393
- if (newTD == null) {
394
- newTD = doc.createElement("td");
395
- newTD.innerHTML = "&nbsp;";
396
- }
397
-
398
- // Reset col/row span
399
- newTD.colSpan = 1;
400
- newTD.rowSpan = 1;
401
-
402
- newTR.appendChild(newTD);
403
-
404
- lastCell = tdElm;
405
- }
406
-
407
- return newTR;
408
- }
409
-
410
- // ---- Commands -----
411
-
412
- // Handle commands
413
- switch (command) {
414
- case "mceTableRowProps":
415
- if (trElm == null)
416
- return true;
417
-
418
- if (user_interface) {
419
- // Setup template
420
- var template = new Array();
421
-
422
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/table/row.htm';
423
- template['width'] = 380;
424
- template['height'] = 295;
425
-
426
- // Language specific width and height addons
427
- template['width'] += tinyMCE.getLang('lang_table_rowprops_delta_width', 0);
428
- template['height'] += tinyMCE.getLang('lang_table_rowprops_delta_height', 0);
429
-
430
- // Open window
431
- tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
432
- }
433
-
434
- return true;
435
-
436
- case "mceTableCellProps":
437
- if (tdElm == null)
438
- return true;
439
-
440
- if (user_interface) {
441
- // Setup template
442
- var template = new Array();
443
-
444
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/table/cell.htm';
445
- template['width'] = 380;
446
- template['height'] = 295;
447
-
448
- // Language specific width and height addons
449
- template['width'] += tinyMCE.getLang('lang_table_cellprops_delta_width', 0);
450
- template['height'] += tinyMCE.getLang('lang_table_cellprops_delta_height', 0);
451
-
452
- // Open window
453
- tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes"});
454
- }
455
-
456
- return true;
457
-
458
- case "mceInsertTable":
459
- if (user_interface) {
460
- // Setup template
461
- var template = new Array();
462
-
463
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/table/table.htm';
464
- template['width'] = 380;
465
- template['height'] = 295;
466
-
467
- // Language specific width and height addons
468
- template['width'] += tinyMCE.getLang('lang_table_table_delta_width', 0);
469
- template['height'] += tinyMCE.getLang('lang_table_table_delta_height', 0);
470
-
471
- // Open window
472
- tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : value});
473
- }
474
-
475
- return true;
476
-
477
- case "mceTableDelete":
478
- var table = tinyMCE.getParentElement(inst.getFocusElement(), "table");
479
- if (table) {
480
- table.parentNode.removeChild(table);
481
- inst.repaint();
482
- }
483
- return true;
484
-
485
- case "mceTableSplitCells":
486
- case "mceTableMergeCells":
487
- case "mceTableInsertRowBefore":
488
- case "mceTableInsertRowAfter":
489
- case "mceTableDeleteRow":
490
- case "mceTableInsertColBefore":
491
- case "mceTableInsertColAfter":
492
- case "mceTableDeleteCol":
493
- case "mceTableCutRow":
494
- case "mceTableCopyRow":
495
- case "mceTablePasteRowBefore":
496
- case "mceTablePasteRowAfter":
497
- // No table just return (invalid command)
498
- if (!tableElm)
499
- return true;
500
-
501
- // Table has a tbody use that reference
502
- // Changed logic by ApTest 2005.07.12 (www.aptest.com)
503
- // Now lookk at the focused element and take its parentNode. That will be a tbody or a table.
504
- if (trElm && tableElm != trElm.parentNode)
505
- tableElm = trElm.parentNode;
506
-
507
- if (tableElm && trElm) {
508
- switch (command) {
509
- case "mceTableCutRow":
510
- if (!trElm || !tdElm)
511
- return true;
512
-
513
- inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
514
- inst.execCommand("mceTableDeleteRow");
515
- break;
516
-
517
- case "mceTableCopyRow":
518
- if (!trElm || !tdElm)
519
- return true;
520
-
521
- inst.tableRowClipboard = copyRow(doc, tableElm, trElm);
522
- break;
523
-
524
- case "mceTablePasteRowBefore":
525
- if (!trElm || !tdElm)
526
- return true;
527
-
528
- var newTR = inst.tableRowClipboard.cloneNode(true);
529
-
530
- var prevTR = prevElm(trElm, "TR");
531
- if (prevTR != null)
532
- trimRow(tableElm, prevTR, prevTR.cells[0], newTR);
533
-
534
- trElm.parentNode.insertBefore(newTR, trElm);
535
- break;
536
-
537
- case "mceTablePasteRowAfter":
538
- if (!trElm || !tdElm)
539
- return true;
540
-
541
- var nextTR = nextElm(trElm, "TR");
542
- var newTR = inst.tableRowClipboard.cloneNode(true);
543
-
544
- trimRow(tableElm, trElm, tdElm, newTR);
545
-
546
- if (nextTR == null)
547
- trElm.parentNode.appendChild(newTR);
548
- else
549
- nextTR.parentNode.insertBefore(newTR, nextTR);
550
-
551
- break;
552
-
553
- case "mceTableInsertRowBefore":
554
- if (!trElm || !tdElm)
555
- return true;
556
-
557
- var grid = getTableGrid(tableElm);
558
- var cpos = getCellPos(grid, tdElm);
559
- var newTR = doc.createElement("tr");
560
- var lastTDElm = null;
561
-
562
- cpos.rowindex--;
563
- if (cpos.rowindex < 0)
564
- cpos.rowindex = 0;
565
-
566
- // Create cells
567
- for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
568
- if (tdElm != lastTDElm) {
569
- var sd = getColRowSpan(tdElm);
570
-
571
- if (sd['rowspan'] == 1) {
572
- var newTD = doc.createElement("td");
573
-
574
- newTD.innerHTML = "&nbsp;";
575
- newTD.colSpan = tdElm.colSpan;
576
-
577
- newTR.appendChild(newTD);
578
- } else
579
- tdElm.rowSpan = sd['rowspan'] + 1;
580
-
581
- lastTDElm = tdElm;
582
- }
583
- }
584
-
585
- trElm.parentNode.insertBefore(newTR, trElm);
586
-
587
- grid = getTableGrid(tableElm);
588
- inst.selection.selectNode(getCell(grid, cpos.rowindex + 1, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
589
- break;
590
-
591
- case "mceTableInsertRowAfter":
592
- if (!trElm || !tdElm)
593
- return true;
594
-
595
- var grid = getTableGrid(tableElm);
596
- var cpos = getCellPos(grid, tdElm);
597
- var newTR = doc.createElement("tr");
598
- var lastTDElm = null;
599
-
600
- // Create cells
601
- for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
602
- if (tdElm != lastTDElm) {
603
- var sd = getColRowSpan(tdElm);
604
-
605
- if (sd['rowspan'] == 1) {
606
- var newTD = doc.createElement("td");
607
-
608
- newTD.innerHTML = "&nbsp;";
609
- newTD.colSpan = tdElm.colSpan;
610
-
611
- newTR.appendChild(newTD);
612
- } else
613
- tdElm.rowSpan = sd['rowspan'] + 1;
614
-
615
- lastTDElm = tdElm;
616
- }
617
- }
618
-
619
- if (newTR.hasChildNodes()) {
620
- var nextTR = nextElm(trElm, "TR");
621
- if (nextTR)
622
- nextTR.parentNode.insertBefore(newTR, nextTR);
623
- else
624
- tableElm.appendChild(newTR);
625
- }
626
-
627
- grid = getTableGrid(tableElm);
628
- inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
629
- break;
630
-
631
- case "mceTableDeleteRow":
632
- if (!trElm || !tdElm)
633
- return true;
634
-
635
- var grid = getTableGrid(tableElm);
636
- var cpos = getCellPos(grid, tdElm);
637
-
638
- // Only one row, remove whole table
639
- if (grid.length == 1) {
640
- tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
641
- tableElm.parentNode.removeChild(tableElm);
642
- return true;
643
- }
644
-
645
- // Move down row spanned cells
646
- var cells = trElm.cells;
647
- var nextTR = nextElm(trElm, "TR");
648
- for (var x=0; x<cells.length; x++) {
649
- if (cells[x].rowSpan > 1) {
650
- var newTD = cells[x].cloneNode(true);
651
- var sd = getColRowSpan(cells[x]);
652
-
653
- newTD.rowSpan = sd.rowspan - 1;
654
-
655
- var nextTD = nextTR.cells[x];
656
-
657
- if (nextTD == null)
658
- nextTR.appendChild(newTD);
659
- else
660
- nextTR.insertBefore(newTD, nextTD);
661
- }
662
- }
663
-
664
- // Delete cells
665
- var lastTDElm = null;
666
- for (var x=0; tdElm = getCell(grid, cpos.rowindex, x); x++) {
667
- if (tdElm != lastTDElm) {
668
- var sd = getColRowSpan(tdElm);
669
-
670
- if (sd.rowspan > 1) {
671
- tdElm.rowSpan = sd.rowspan - 1;
672
- } else {
673
- trElm = tdElm.parentNode;
674
-
675
- if (trElm.parentNode)
676
- trElm._delete = true;
677
- }
678
-
679
- lastTDElm = tdElm;
680
- }
681
- }
682
-
683
- deleteMarked(tableElm);
684
-
685
- cpos.rowindex--;
686
- if (cpos.rowindex < 0)
687
- cpos.rowindex = 0;
688
-
689
- // Recalculate grid and select
690
- grid = getTableGrid(tableElm);
691
- inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
692
- break;
693
-
694
- case "mceTableInsertColBefore":
695
- if (!trElm || !tdElm)
696
- return true;
697
-
698
- var grid = getTableGrid(tableElm);
699
- var cpos = getCellPos(grid, tdElm);
700
- var lastTDElm = null;
701
-
702
- for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
703
- if (tdElm != lastTDElm) {
704
- var sd = getColRowSpan(tdElm);
705
-
706
- if (sd['colspan'] == 1) {
707
- var newTD = doc.createElement(tdElm.nodeName);
708
-
709
- newTD.innerHTML = "&nbsp;";
710
- newTD.rowSpan = tdElm.rowSpan;
711
-
712
- tdElm.parentNode.insertBefore(newTD, tdElm);
713
- } else
714
- tdElm.colSpan++;
715
-
716
- lastTDElm = tdElm;
717
- }
718
- }
719
-
720
- grid = getTableGrid(tableElm);
721
- inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex + 1), tinyMCE.isGecko, true); // Only collape on gecko
722
- break;
723
-
724
- case "mceTableInsertColAfter":
725
- if (!trElm || !tdElm)
726
- return true;
727
-
728
- var grid = getTableGrid(tableElm);
729
- var cpos = getCellPos(grid, tdElm);
730
- var lastTDElm = null;
731
-
732
- for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
733
- if (tdElm != lastTDElm) {
734
- var sd = getColRowSpan(tdElm);
735
-
736
- if (sd['colspan'] == 1) {
737
- var newTD = doc.createElement(tdElm.nodeName);
738
-
739
- newTD.innerHTML = "&nbsp;";
740
- newTD.rowSpan = tdElm.rowSpan;
741
-
742
- var nextTD = nextElm(tdElm, "TD,TH");
743
- if (nextTD == null)
744
- tdElm.parentNode.appendChild(newTD);
745
- else
746
- nextTD.parentNode.insertBefore(newTD, nextTD);
747
- } else
748
- tdElm.colSpan++;
749
-
750
- lastTDElm = tdElm;
751
- }
752
- }
753
-
754
- grid = getTableGrid(tableElm);
755
- inst.selection.selectNode(getCell(grid, cpos.rowindex, cpos.cellindex), tinyMCE.isGecko, true); // Only collape on gecko
756
- break;
757
-
758
- case "mceTableDeleteCol":
759
- if (!trElm || !tdElm)
760
- return true;
761
-
762
- var grid = getTableGrid(tableElm);
763
- var cpos = getCellPos(grid, tdElm);
764
- var lastTDElm = null;
765
-
766
- // Only one col, remove whole table
767
- if (grid.length > 1 && grid[0].length <= 1) {
768
- tableElm = tinyMCE.getParentElement(tableElm, "table"); // Look for table instead of tbody
769
- tableElm.parentNode.removeChild(tableElm);
770
- return true;
771
- }
772
-
773
- // Delete cells
774
- for (var y=0; tdElm = getCell(grid, y, cpos.cellindex); y++) {
775
- if (tdElm != lastTDElm) {
776
- var sd = getColRowSpan(tdElm);
777
-
778
- if (sd['colspan'] > 1)
779
- tdElm.colSpan = sd['colspan'] - 1;
780
- else {
781
- if (tdElm.parentNode)
782
- tdElm.parentNode.removeChild(tdElm);
783
- }
784
-
785
- lastTDElm = tdElm;
786
- }
787
- }
788
-
789
- cpos.cellindex--;
790
- if (cpos.cellindex < 0)
791
- cpos.cellindex = 0;
792
-
793
- // Recalculate grid and select
794
- grid = getTableGrid(tableElm);
795
- inst.selection.selectNode(getCell(grid, cpos.rowindex, 0), tinyMCE.isGecko, true); // Only collape on gecko
796
- break;
797
-
798
- case "mceTableSplitCells":
799
- if (!trElm || !tdElm)
800
- return true;
801
-
802
- var spandata = getColRowSpan(tdElm);
803
-
804
- var colspan = spandata["colspan"];
805
- var rowspan = spandata["rowspan"];
806
-
807
- // Needs splitting
808
- if (colspan > 1 || rowspan > 1) {
809
- // Generate cols
810
- tdElm.colSpan = 1;
811
- for (var i=1; i<colspan; i++) {
812
- var newTD = doc.createElement("td");
813
-
814
- newTD.innerHTML = "&nbsp;";
815
-
816
- trElm.insertBefore(newTD, nextElm(tdElm, "TD,TH"));
817
-
818
- if (rowspan > 1)
819
- addRows(newTD, trElm, rowspan);
820
- }
821
-
822
- addRows(tdElm, trElm, rowspan);
823
- }
824
-
825
- // Apply visual aids
826
- tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
827
- break;
828
-
829
- case "mceTableMergeCells":
830
- var rows = new Array();
831
- var sel = inst.getSel();
832
- var grid = getTableGrid(tableElm);
833
-
834
- if (tinyMCE.isMSIE || sel.rangeCount == 1) {
835
- if (user_interface) {
836
- // Setup template
837
- var template = new Array();
838
- var sp = getColRowSpan(tdElm);
839
-
840
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/table/merge_cells.htm';
841
- template['width'] = 250;
842
- template['height'] = 105 + (tinyMCE.isNS7 ? 25 : 0);
843
-
844
- // Language specific width and height addons
845
- template['width'] += tinyMCE.getLang('lang_table_merge_cells_delta_width', 0);
846
- template['height'] += tinyMCE.getLang('lang_table_merge_cells_delta_height', 0);
847
-
848
- // Open window
849
- tinyMCE.openWindow(template, {editor_id : inst.editorId, inline : "yes", action : "update", numcols : sp.colspan, numrows : sp.rowspan});
850
-
851
- return true;
852
- } else {
853
- var numRows = parseInt(value['numrows']);
854
- var numCols = parseInt(value['numcols']);
855
- var cpos = getCellPos(grid, tdElm);
856
-
857
- if (("" + numRows) == "NaN")
858
- numRows = 1;
859
-
860
- if (("" + numCols) == "NaN")
861
- numCols = 1;
862
-
863
- // Get rows and cells
864
- var tRows = tableElm.rows;
865
- for (var y=cpos.rowindex; y<grid.length; y++) {
866
- var rowCells = new Array();
867
-
868
- for (var x=cpos.cellindex; x<grid[y].length; x++) {
869
- var td = getCell(grid, y, x);
870
-
871
- if (td && !inArray(rows, td) && !inArray(rowCells, td)) {
872
- var cp = getCellPos(grid, td);
873
-
874
- // Within range
875
- if (cp.cellindex < cpos.cellindex+numCols && cp.rowindex < cpos.rowindex+numRows)
876
- rowCells[rowCells.length] = td;
877
- }
878
- }
879
-
880
- if (rowCells.length > 0)
881
- rows[rows.length] = rowCells;
882
- }
883
-
884
- //return true;
885
- }
886
- } else {
887
- var cells = new Array();
888
- var sel = inst.getSel();
889
- var lastTR = null;
890
- var curRow = null;
891
- var x1 = -1, y1 = -1, x2, y2;
892
-
893
- // Only one cell selected, whats the point?
894
- if (sel.rangeCount < 2)
895
- return true;
896
-
897
- // Get all selected cells
898
- for (var i=0; i<sel.rangeCount; i++) {
899
- var rng = sel.getRangeAt(i);
900
- var tdElm = rng.startContainer.childNodes[rng.startOffset];
901
-
902
- if (!tdElm)
903
- break;
904
-
905
- if (tdElm.nodeName == "TD")
906
- cells[cells.length] = tdElm;
907
- }
908
-
909
- // Get rows and cells
910
- var tRows = tableElm.rows;
911
- for (var y=0; y<tRows.length; y++) {
912
- var rowCells = new Array();
913
-
914
- for (var x=0; x<tRows[y].cells.length; x++) {
915
- var td = tRows[y].cells[x];
916
-
917
- for (var i=0; i<cells.length; i++) {
918
- if (td == cells[i]) {
919
- rowCells[rowCells.length] = td;
920
- }
921
- }
922
- }
923
-
924
- if (rowCells.length > 0)
925
- rows[rows.length] = rowCells;
926
- }
927
-
928
- // Find selected cells in grid and box
929
- var curRow = new Array();
930
- var lastTR = null;
931
- for (var y=0; y<grid.length; y++) {
932
- for (var x=0; x<grid[y].length; x++) {
933
- grid[y][x]._selected = false;
934
-
935
- for (var i=0; i<cells.length; i++) {
936
- if (grid[y][x] == cells[i]) {
937
- // Get start pos
938
- if (x1 == -1) {
939
- x1 = x;
940
- y1 = y;
941
- }
942
-
943
- // Get end pos
944
- x2 = x;
945
- y2 = y;
946
-
947
- grid[y][x]._selected = true;
948
- }
949
- }
950
- }
951
- }
952
-
953
- // Is there gaps, if so deny
954
- for (var y=y1; y<=y2; y++) {
955
- for (var x=x1; x<=x2; x++) {
956
- if (!grid[y][x]._selected) {
957
- alert("Invalid selection for merge.");
958
- return true;
959
- }
960
- }
961
- }
962
- }
963
-
964
- // Validate selection and get total rowspan and colspan
965
- var rowSpan = 1, colSpan = 1;
966
-
967
- // Validate horizontal and get total colspan
968
- var lastRowSpan = -1;
969
- for (var y=0; y<rows.length; y++) {
970
- var rowColSpan = 0;
971
-
972
- for (var x=0; x<rows[y].length; x++) {
973
- var sd = getColRowSpan(rows[y][x]);
974
-
975
- rowColSpan += sd['colspan'];
976
-
977
- if (lastRowSpan != -1 && sd['rowspan'] != lastRowSpan) {
978
- alert("Invalid selection for merge.");
979
- return true;
980
- }
981
-
982
- lastRowSpan = sd['rowspan'];
983
- }
984
-
985
- if (rowColSpan > colSpan)
986
- colSpan = rowColSpan;
987
-
988
- lastRowSpan = -1;
989
- }
990
-
991
- // Validate vertical and get total rowspan
992
- var lastColSpan = -1;
993
- for (var x=0; x<rows[0].length; x++) {
994
- var colRowSpan = 0;
995
-
996
- for (var y=0; y<rows.length; y++) {
997
- var sd = getColRowSpan(rows[y][x]);
998
-
999
- colRowSpan += sd['rowspan'];
1000
-
1001
- if (lastColSpan != -1 && sd['colspan'] != lastColSpan) {
1002
- alert("Invalid selection for merge.");
1003
- return true;
1004
- }
1005
-
1006
- lastColSpan = sd['colspan'];
1007
- }
1008
-
1009
- if (colRowSpan > rowSpan)
1010
- rowSpan = colRowSpan;
1011
-
1012
- lastColSpan = -1;
1013
- }
1014
-
1015
- // Setup td
1016
- tdElm = rows[0][0];
1017
- tdElm.rowSpan = rowSpan;
1018
- tdElm.colSpan = colSpan;
1019
-
1020
- // Merge cells
1021
- for (var y=0; y<rows.length; y++) {
1022
- for (var x=0; x<rows[y].length; x++) {
1023
- var html = rows[y][x].innerHTML;
1024
- var chk = tinyMCE.regexpReplace(html, "[ \t\r\n]", "");
1025
-
1026
- if (chk != "<br/>" && chk != "<br>" && chk != "&nbsp;" && (x+y > 0))
1027
- tdElm.innerHTML += html;
1028
-
1029
- // Not current cell
1030
- if (rows[y][x] != tdElm && !rows[y][x]._deleted) {
1031
- var cpos = getCellPos(grid, rows[y][x]);
1032
- var tr = rows[y][x].parentNode;
1033
-
1034
- tr.removeChild(rows[y][x]);
1035
- rows[y][x]._deleted = true;
1036
-
1037
- // Empty TR, remove it
1038
- if (!tr.hasChildNodes()) {
1039
- tr.parentNode.removeChild(tr);
1040
-
1041
- var lastCell = null;
1042
- for (var x=0; cellElm = getCell(grid, cpos.rowindex, x); x++) {
1043
- if (cellElm != lastCell && cellElm.rowSpan > 1)
1044
- cellElm.rowSpan--;
1045
-
1046
- lastCell = cellElm;
1047
- }
1048
-
1049
- if (tdElm.rowSpan > 1)
1050
- tdElm.rowSpan--;
1051
- }
1052
- }
1053
- }
1054
- }
1055
-
1056
- break;
1057
- }
1058
-
1059
- tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
1060
- tinyMCE.handleVisualAid(tableElm, true, tinyMCE.settings['visual'], tinyMCE.selectedInstance);
1061
- tinyMCE.triggerNodeChange();
1062
- inst.repaint();
1063
- }
1064
-
1065
- return true;
1066
- }
1067
-
1068
- // Pass to next handler in chain
1069
- return false;
1070
- }
1071
- };
1072
-
1073
- tinyMCE.addPlugin("table", TinyMCE_TablePlugin);
1
+ (function(){var each=tinymce.each;tinymce.create('tinymce.plugins.TablePlugin',{init:function(ed,url){var t=this;t.editor=ed;t.url=url;each([['table','table.desc','mceInsertTable',true],['delete_table','table.del','mceTableDelete'],['delete_col','table.delete_col_desc','mceTableDeleteCol'],['delete_row','table.delete_row_desc','mceTableDeleteRow'],['col_after','table.col_after_desc','mceTableInsertColAfter'],['col_before','table.col_before_desc','mceTableInsertColBefore'],['row_after','table.row_after_desc','mceTableInsertRowAfter'],['row_before','table.row_before_desc','mceTableInsertRowBefore'],['row_props','table.row_desc','mceTableRowProps',true],['cell_props','table.cell_desc','mceTableCellProps',true],['split_cells','table.split_cells_desc','mceTableSplitCells',true],['merge_cells','table.merge_cells_desc','mceTableMergeCells',true]],function(c){ed.addButton(c[0],{title:c[1],cmd:c[2],ui:c[3]});});ed.onInit.add(function(){if(ed&&ed.plugins.contextmenu){ed.plugins.contextmenu.onContextMenu.add(function(th,m,e){var sm,se=ed.selection,el=se.getNode()||ed.getBody();if(ed.dom.getParent(e,'td')||ed.dom.getParent(e,'th')){m.removeAll();if(el.nodeName=='A'&&!ed.dom.getAttrib(el,'name')){m.add({title:'advanced.link_desc',icon:'link',cmd:ed.plugins.advlink?'mceAdvLink':'mceLink',ui:true});m.add({title:'advanced.unlink_desc',icon:'unlink',cmd:'UnLink'});m.addSeparator();}if(el.nodeName=='IMG'&&el.className.indexOf('mceItem')==-1){m.add({title:'advanced.image_desc',icon:'image',cmd:ed.plugins.advimage?'mceAdvImage':'mceImage',ui:true});m.addSeparator();}m.add({title:'table.desc',icon:'table',cmd:'mceInsertTable',ui:true,value:{action:'insert'}});m.add({title:'table.props_desc',icon:'table_props',cmd:'mceInsertTable',ui:true});m.add({title:'table.del',icon:'delete_table',cmd:'mceTableDelete',ui:true});m.addSeparator();sm=m.addMenu({title:'table.cell'});sm.add({title:'table.cell_desc',icon:'cell_props',cmd:'mceTableCellProps',ui:true});sm.add({title:'table.split_cells_desc',icon:'split_cells',cmd:'mceTableSplitCells',ui:true});sm.add({title:'table.merge_cells_desc',icon:'merge_cells',cmd:'mceTableMergeCells',ui:true});sm=m.addMenu({title:'table.row'});sm.add({title:'table.row_desc',icon:'row_props',cmd:'mceTableRowProps',ui:true});sm.add({title:'table.row_before_desc',icon:'row_before',cmd:'mceTableInsertRowBefore'});sm.add({title:'table.row_after_desc',icon:'row_after',cmd:'mceTableInsertRowAfter'});sm.add({title:'table.delete_row_desc',icon:'delete_row',cmd:'mceTableDeleteRow'});sm.addSeparator();sm.add({title:'table.cut_row_desc',icon:'cut',cmd:'mceTableCutRow'});sm.add({title:'table.copy_row_desc',icon:'copy',cmd:'mceTableCopyRow'});sm.add({title:'table.paste_row_before_desc',icon:'paste',cmd:'mceTablePasteRowBefore'});sm.add({title:'table.paste_row_after_desc',icon:'paste',cmd:'mceTablePasteRowAfter'});sm=m.addMenu({title:'table.col'});sm.add({title:'table.col_before_desc',icon:'col_before',cmd:'mceTableInsertColBefore'});sm.add({title:'table.col_after_desc',icon:'col_after',cmd:'mceTableInsertColAfter'});sm.add({title:'table.delete_col_desc',icon:'delete_col',cmd:'mceTableDeleteCol'});}else m.add({title:'table.desc',icon:'table',cmd:'mceInsertTable',ui:true});});}});if(tinymce.isGecko){ed.onKeyPress.add(function(ed,e){var n;if(e.keyCode==46){n=ed.dom.getParent(ed.selection.getNode(),'TD,TH');if(n&&(!n.hasChildNodes()||(n.childNodes.length==1&&n.firstChild.nodeName=='BR')))tinymce.dom.Event.cancel(e);}});}ed.onKeyDown.add(function(ed,e){if(e.keyCode==9&&ed.dom.getParent(ed.selection.getNode(),'TABLE'))ed.undoManager.add();});ed.onNodeChange.add(function(ed,cm,n){var p=ed.dom.getParent(n,'td,th,caption');cm.setActive('table',!!p);if(p&&p.nodeName==='CAPTION')p=null;cm.setDisabled('delete_table',!p);cm.setDisabled('delete_col',!p);cm.setDisabled('delete_table',!p);cm.setDisabled('delete_row',!p);cm.setDisabled('col_after',!p);cm.setDisabled('col_before',!p);cm.setDisabled('row_after',!p);cm.setDisabled('row_before',!p);cm.setDisabled('row_props',!p);cm.setDisabled('cell_props',!p);cm.setDisabled('split_cells',!p||(parseInt(ed.dom.getAttrib(p,'colspan','1'))<2&&parseInt(ed.dom.getAttrib(p,'rowspan','1'))<2));cm.setDisabled('merge_cells',!p);});},execCommand:function(cmd,ui,val){var ed=this.editor,b;switch(cmd){case"mceInsertTable":case"mceTableRowProps":case"mceTableCellProps":case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":case"mceTableDelete":ed.execCommand('mceBeginUndoLevel');this._doExecCommand(cmd,ui,val);ed.execCommand('mceEndUndoLevel');return true;}return false;},getInfo:function(){return{longname:'Tables',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/table',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_doExecCommand:function(command,user_interface,value){var inst=this.editor,ed=inst,url=this.url;var focusElm=inst.selection.getNode();var trElm=inst.dom.getParent(focusElm,"tr");var tdElm=inst.dom.getParent(focusElm,"td,th");var tableElm=inst.dom.getParent(focusElm,"table");var doc=inst.contentWindow.document;var tableBorder=tableElm?tableElm.getAttribute("border"):"";if(trElm&&tdElm==null)tdElm=trElm.cells[0];function inArray(ar,v){for(var i=0;i<ar.length;i++){if(ar[i].length>0&&inArray(ar[i],v))return true;if(ar[i]==v)return true;}return false;}function select(dx,dy){var td;grid=getTableGrid(tableElm);dx=dx||0;dy=dy||0;dx=Math.max(cpos.cellindex+dx,0);dy=Math.max(cpos.rowindex+dy,0);inst.execCommand('mceRepaint');td=getCell(grid,dy,dx);if(td){inst.selection.select(td.firstChild||td);inst.selection.collapse(1);}};function makeTD(){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='<br mce_bogus="1"/>';}function getColRowSpan(td){var colspan=inst.dom.getAttrib(td,"colspan");var rowspan=inst.dom.getAttrib(td,"rowspan");colspan=colspan==""?1:parseInt(colspan);rowspan=rowspan==""?1:parseInt(rowspan);return{colspan:colspan,rowspan:rowspan};}function getCellPos(grid,td){var x,y;for(y=0;y<grid.length;y++){for(x=0;x<grid[y].length;x++){if(grid[y][x]==td)return{cellindex:x,rowindex:y};}}return null;}function getCell(grid,row,col){if(grid[row]&&grid[row][col])return grid[row][col];return null;}function getTableGrid(table){var grid=[],rows=table.rows,x,y,td,sd,xstart,x2,y2;for(y=0;y<rows.length;y++){for(x=0;x<rows[y].cells.length;x++){td=rows[y].cells[x];sd=getColRowSpan(td);for(xstart=x;grid[y]&&grid[y][xstart];xstart++);for(y2=y;y2<y+sd['rowspan'];y2++){if(!grid[y2])grid[y2]=[];for(x2=xstart;x2<xstart+sd['colspan'];x2++)grid[y2][x2]=td;}}}return grid;}function trimRow(table,tr,td,new_tr){var grid=getTableGrid(table),cpos=getCellPos(grid,td);var cells,lastElm;if(new_tr.cells.length!=tr.childNodes.length){cells=tr.childNodes;lastElm=null;for(var x=0;td=getCell(grid,cpos.rowindex,x);x++){var remove=true;var sd=getColRowSpan(td);if(inArray(cells,td)){new_tr.childNodes[x]._delete=true;}else if((lastElm==null||td!=lastElm)&&sd.colspan>1){for(var i=x;i<x+td.colSpan;i++)new_tr.childNodes[i]._delete=true;}if((lastElm==null||td!=lastElm)&&sd.rowspan>1)td.rowSpan=sd.rowspan+1;lastElm=td;}deleteMarked(tableElm);}}function prevElm(node,name){while((node=node.previousSibling)!=null){if(node.nodeName==name)return node;}return null;}function nextElm(node,names){var namesAr=names.split(',');while((node=node.nextSibling)!=null){for(var i=0;i<namesAr.length;i++){if(node.nodeName.toLowerCase()==namesAr[i].toLowerCase())return node;}}return null;}function deleteMarked(tbl){if(tbl.rows==0)return;var tr=tbl.rows[0];do{var next=nextElm(tr,"TR");if(tr._delete){tr.parentNode.removeChild(tr);continue;}var td=tr.cells[0];if(td.cells>1){do{var nexttd=nextElm(td,"TD,TH");if(td._delete)td.parentNode.removeChild(td);}while((td=nexttd)!=null);}}while((tr=next)!=null);}function addRows(td_elm,tr_elm,rowspan){td_elm.rowSpan=1;var trNext=nextElm(tr_elm,"TR");for(var i=1;i<rowspan&&trNext;i++){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='<br mce_bogus="1"/>';if(tinymce.isIE)trNext.insertBefore(newTD,trNext.cells(td_elm.cellIndex));else trNext.insertBefore(newTD,trNext.cells[td_elm.cellIndex]);trNext=nextElm(trNext,"TR");}}function copyRow(doc,table,tr){var grid=getTableGrid(table);var newTR=tr.cloneNode(false);var cpos=getCellPos(grid,tr.cells[0]);var lastCell=null;var tableBorder=inst.dom.getAttrib(table,"border");var tdElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){var newTD=null;if(lastCell!=tdElm){for(var i=0;i<tr.cells.length;i++){if(tdElm==tr.cells[i]){newTD=tdElm.cloneNode(true);break;}}}if(newTD==null){newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='<br mce_bogus="1"/>';}newTD.colSpan=1;newTD.rowSpan=1;newTR.appendChild(newTD);lastCell=tdElm;}return newTR;}switch(command){case"mceTableRowProps":if(trElm==null)return true;if(user_interface){inst.windowManager.open({url:url+'/row.htm',width:400+parseInt(inst.getLang('table.rowprops_delta_width',0)),height:295+parseInt(inst.getLang('table.rowprops_delta_height',0)),inline:1},{plugin_url:url});}return true;case"mceTableCellProps":if(tdElm==null)return true;if(user_interface){inst.windowManager.open({url:url+'/cell.htm',width:400+parseInt(inst.getLang('table.cellprops_delta_width',0)),height:295+parseInt(inst.getLang('table.cellprops_delta_height',0)),inline:1},{plugin_url:url});}return true;case"mceInsertTable":if(user_interface){inst.windowManager.open({url:url+'/table.htm',width:400+parseInt(inst.getLang('table.table_delta_width',0)),height:320+parseInt(inst.getLang('table.table_delta_height',0)),inline:1},{plugin_url:url,action:value?value.action:0});}return true;case"mceTableDelete":var table=inst.dom.getParent(inst.selection.getNode(),"table");if(table){table.parentNode.removeChild(table);inst.execCommand('mceRepaint');}return true;case"mceTableSplitCells":case"mceTableMergeCells":case"mceTableInsertRowBefore":case"mceTableInsertRowAfter":case"mceTableDeleteRow":case"mceTableInsertColBefore":case"mceTableInsertColAfter":case"mceTableDeleteCol":case"mceTableCutRow":case"mceTableCopyRow":case"mceTablePasteRowBefore":case"mceTablePasteRowAfter":if(!tableElm)return true;if(trElm&&tableElm!=trElm.parentNode)tableElm=trElm.parentNode;if(tableElm&&trElm){switch(command){case"mceTableCutRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);inst.execCommand("mceTableDeleteRow");break;case"mceTableCopyRow":if(!trElm||!tdElm)return true;inst.tableRowClipboard=copyRow(doc,tableElm,trElm);break;case"mceTablePasteRowBefore":if(!trElm||!tdElm)return true;var newTR=inst.tableRowClipboard.cloneNode(true);var prevTR=prevElm(trElm,"TR");if(prevTR!=null)trimRow(tableElm,prevTR,prevTR.cells[0],newTR);trElm.parentNode.insertBefore(newTR,trElm);break;case"mceTablePasteRowAfter":if(!trElm||!tdElm)return true;var nextTR=nextElm(trElm,"TR");var newTR=inst.tableRowClipboard.cloneNode(true);trimRow(tableElm,trElm,tdElm,newTR);if(nextTR==null)trElm.parentNode.appendChild(newTR);else nextTR.parentNode.insertBefore(newTR,nextTR);break;case"mceTableInsertRowBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;cpos.rowindex--;if(cpos.rowindex<0)cpos.rowindex=0;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='<br mce_bogus="1"/>';newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}trElm.parentNode.insertBefore(newTR,trElm);select(0,1);break;case"mceTableInsertRowAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var newTR=doc.createElement("tr");var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['rowspan']==1){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='<br mce_bogus="1"/>';newTD.colSpan=tdElm.colSpan;newTR.appendChild(newTD);}else tdElm.rowSpan=sd['rowspan']+1;lastTDElm=tdElm;}}if(newTR.hasChildNodes()){var nextTR=nextElm(trElm,"TR");if(nextTR)nextTR.parentNode.insertBefore(newTR,nextTR);else tableElm.appendChild(newTR);}select(0,1);break;case"mceTableDeleteRow":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);if(grid.length==1){inst.dom.remove(inst.dom.getParent(tableElm,"table"));return true;}var cells=trElm.cells;var nextTR=nextElm(trElm,"TR");for(var x=0;x<cells.length;x++){if(cells[x].rowSpan>1){var newTD=cells[x].cloneNode(true);var sd=getColRowSpan(cells[x]);newTD.rowSpan=sd.rowspan-1;var nextTD=nextTR.cells[x];if(nextTD==null)nextTR.appendChild(newTD);else nextTR.insertBefore(newTD,nextTD);}}var lastTDElm=null;for(var x=0;tdElm=getCell(grid,cpos.rowindex,x);x++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd.rowspan>1){tdElm.rowSpan=sd.rowspan-1;}else{trElm=tdElm.parentNode;if(trElm.parentNode)trElm._delete=true;}lastTDElm=tdElm;}}deleteMarked(tableElm);select(0,-1);break;case"mceTableInsertColBefore":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);if(!tinymce.isIE)newTD.innerHTML='<br mce_bogus="1"/>';newTD.rowSpan=tdElm.rowSpan;tdElm.parentNode.insertBefore(newTD,tdElm);}else tdElm.colSpan++;lastTDElm=tdElm;}}select();break;case"mceTableInsertColAfter":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']==1){var newTD=doc.createElement(tdElm.nodeName);if(!tinymce.isIE)newTD.innerHTML='<br mce_bogus="1"/>';newTD.rowSpan=tdElm.rowSpan;var nextTD=nextElm(tdElm,"TD,TH");if(nextTD==null)tdElm.parentNode.appendChild(newTD);else nextTD.parentNode.insertBefore(newTD,nextTD);}else tdElm.colSpan++;lastTDElm=tdElm;}}select(1);break;case"mceTableDeleteCol":if(!trElm||!tdElm)return true;var grid=getTableGrid(tableElm);var cpos=getCellPos(grid,tdElm);var lastTDElm=null;if(grid.length>1&&grid[0].length<=1){inst.dom.remove(inst.dom.getParent(tableElm,"table"));return true;}for(var y=0;tdElm=getCell(grid,y,cpos.cellindex);y++){if(tdElm!=lastTDElm){var sd=getColRowSpan(tdElm);if(sd['colspan']>1)tdElm.colSpan=sd['colspan']-1;else{if(tdElm.parentNode)tdElm.parentNode.removeChild(tdElm);}lastTDElm=tdElm;}}select(-1);break;case"mceTableSplitCells":if(!trElm||!tdElm)return true;var spandata=getColRowSpan(tdElm);var colspan=spandata["colspan"];var rowspan=spandata["rowspan"];if(colspan>1||rowspan>1){tdElm.colSpan=1;for(var i=1;i<colspan;i++){var newTD=doc.createElement("td");if(!tinymce.isIE)newTD.innerHTML='<br mce_bogus="1"/>';trElm.insertBefore(newTD,nextElm(tdElm,"TD,TH"));if(rowspan>1)addRows(newTD,trElm,rowspan);}addRows(tdElm,trElm,rowspan);}tableElm=inst.dom.getParent(inst.selection.getNode(),"table");break;case"mceTableMergeCells":var rows=[];var sel=inst.selection.getSel();var grid=getTableGrid(tableElm);if(tinymce.isIE||sel.rangeCount==1){if(user_interface){var sp=getColRowSpan(tdElm);inst.windowManager.open({url:url+'/merge_cells.htm',width:240+parseInt(inst.getLang('table.merge_cells_delta_width',0)),height:110+parseInt(inst.getLang('table.merge_cells_delta_height',0)),inline:1},{action:"update",numcols:sp.colspan,numrows:sp.rowspan,plugin_url:url});return true;}else{var numRows=parseInt(value['numrows']);var numCols=parseInt(value['numcols']);var cpos=getCellPos(grid,tdElm);if((""+numRows)=="NaN")numRows=1;if((""+numCols)=="NaN")numCols=1;var tRows=tableElm.rows;for(var y=cpos.rowindex;y<grid.length;y++){var rowCells=[];for(var x=cpos.cellindex;x<grid[y].length;x++){var td=getCell(grid,y,x);if(td&&!inArray(rows,td)&&!inArray(rowCells,td)){var cp=getCellPos(grid,td);if(cp.cellindex<cpos.cellindex+numCols&&cp.rowindex<cpos.rowindex+numRows)rowCells[rowCells.length]=td;}}if(rowCells.length>0)rows[rows.length]=rowCells;var td=getCell(grid,cpos.rowindex,cpos.cellindex);each(ed.dom.select('br',td),function(e,i){if(i>0&&ed.dom.getAttrib('mce_bogus'))ed.dom.remove(e);});}}}else{var cells=[];var sel=inst.selection.getSel();var lastTR=null;var curRow=null;var x1=-1,y1=-1,x2,y2;if(sel.rangeCount<2)return true;for(var i=0;i<sel.rangeCount;i++){var rng=sel.getRangeAt(i);var tdElm=rng.startContainer.childNodes[rng.startOffset];if(!tdElm)break;if(tdElm.nodeName=="TD")cells[cells.length]=tdElm;}var tRows=tableElm.rows;for(var y=0;y<tRows.length;y++){var rowCells=[];for(var x=0;x<tRows[y].cells.length;x++){var td=tRows[y].cells[x];for(var i=0;i<cells.length;i++){if(td==cells[i]){rowCells[rowCells.length]=td;}}}if(rowCells.length>0)rows[rows.length]=rowCells;}var curRow=[];var lastTR=null;for(var y=0;y<grid.length;y++){for(var x=0;x<grid[y].length;x++){grid[y][x]._selected=false;for(var i=0;i<cells.length;i++){if(grid[y][x]==cells[i]){if(x1==-1){x1=x;y1=y;}x2=x;y2=y;grid[y][x]._selected=true;}}}}for(var y=y1;y<=y2;y++){for(var x=x1;x<=x2;x++){if(!grid[y][x]._selected){alert("Invalid selection for merge.");return true;}}}}var rowSpan=1,colSpan=1;var lastRowSpan=-1;for(var y=0;y<rows.length;y++){var rowColSpan=0;for(var x=0;x<rows[y].length;x++){var sd=getColRowSpan(rows[y][x]);rowColSpan+=sd['colspan'];if(lastRowSpan!=-1&&sd['rowspan']!=lastRowSpan){alert("Invalid selection for merge.");return true;}lastRowSpan=sd['rowspan'];}if(rowColSpan>colSpan)colSpan=rowColSpan;lastRowSpan=-1;}var lastColSpan=-1;for(var x=0;x<rows[0].length;x++){var colRowSpan=0;for(var y=0;y<rows.length;y++){var sd=getColRowSpan(rows[y][x]);colRowSpan+=sd['rowspan'];if(lastColSpan!=-1&&sd['colspan']!=lastColSpan){alert("Invalid selection for merge.");return true;}lastColSpan=sd['colspan'];}if(colRowSpan>rowSpan)rowSpan=colRowSpan;lastColSpan=-1;}tdElm=rows[0][0];tdElm.rowSpan=rowSpan;tdElm.colSpan=colSpan;for(var y=0;y<rows.length;y++){for(var x=0;x<rows[y].length;x++){var html=rows[y][x].innerHTML;var chk=html.replace(/[ \t\r\n]/g,"");if(chk!="<br/>"&&chk!="<br>"&&chk!='<br mce_bogus="1"/>'&&(x+y>0))tdElm.innerHTML+=html;if(rows[y][x]!=tdElm&&!rows[y][x]._deleted){var cpos=getCellPos(grid,rows[y][x]);var tr=rows[y][x].parentNode;tr.removeChild(rows[y][x]);rows[y][x]._deleted=true;if(!tr.hasChildNodes()){tr.parentNode.removeChild(tr);var lastCell=null;for(var x=0;cellElm=getCell(grid,cpos.rowindex,x);x++){if(cellElm!=lastCell&&cellElm.rowSpan>1)cellElm.rowSpan--;lastCell=cellElm;}if(tdElm.rowSpan>1)tdElm.rowSpan--;}}}}each(ed.dom.select('br',tdElm),function(e,i){if(i>0&&ed.dom.getAttrib(e,'mce_bogus'))ed.dom.remove(e);});break;}tableElm=inst.dom.getParent(inst.selection.getNode(),"table");inst.addVisual(tableElm);inst.nodeChanged();}return true;}return false;}});tinymce.PluginManager.add('table',tinymce.plugins.TablePlugin);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/table/images/buttons.gif DELETED
Binary file
mce/table/images/table.gif DELETED
Binary file
mce/table/images/table_cell_props.gif DELETED
Binary file
mce/table/images/table_delete.gif DELETED
Binary file
mce/table/images/table_delete_col.gif DELETED
Binary file
mce/table/images/table_delete_row.gif DELETED
Binary file
mce/table/images/table_insert_col_after.gif DELETED
Binary file
mce/table/images/table_insert_col_before.gif DELETED
Binary file
mce/table/images/table_insert_row_after.gif DELETED
Binary file
mce/table/images/table_insert_row_before.gif DELETED
Binary file
mce/table/images/table_merge_cells.gif DELETED
Binary file
mce/table/images/table_row_props.gif DELETED
Binary file
mce/table/images/table_split_cells.gif DELETED
Binary file
mce/table/{jscripts → js}/cell.js RENAMED
@@ -1,32 +1,39 @@
 
 
 
 
1
  function init() {
 
2
  tinyMCEPopup.resizeToInnerSize();
3
 
4
  document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
5
  document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
6
  document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
7
 
8
- var inst = tinyMCE.selectedInstance;
9
- var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
10
  var formObj = document.forms[0];
11
- var st = tinyMCE.parseStyle(tinyMCE.getAttrib(tdElm, "style"));
12
 
13
  // Get table cell data
14
  var celltype = tdElm.nodeName.toLowerCase();
15
- var align = tinyMCE.getAttrib(tdElm, 'align');
16
- var valign = tinyMCE.getAttrib(tdElm, 'valign');
17
  var width = trimSize(getStyle(tdElm, 'width', 'width'));
18
  var height = trimSize(getStyle(tdElm, 'height', 'height'));
19
  var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));
20
  var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));
21
- var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tdElm, 'class'), false);
22
  var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
23
- var id = tinyMCE.getAttrib(tdElm, 'id');
24
- var lang = tinyMCE.getAttrib(tdElm, 'lang');
25
- var dir = tinyMCE.getAttrib(tdElm, 'dir');
26
- var scope = tinyMCE.getAttrib(tdElm, 'scope');
27
 
28
  // Setup form
29
  addClassesToList('class', 'table_cell_styles');
 
 
30
  formObj.bordercolor.value = bordercolor;
31
  formObj.bgcolor.value = bgcolor;
32
  formObj.backgroundimage.value = backgroundimage;
@@ -34,10 +41,10 @@ function init() {
34
  formObj.height.value = height;
35
  formObj.id.value = id;
36
  formObj.lang.value = lang;
37
- formObj.style.value = tinyMCE.serializeStyle(st);
38
  selectByValue(formObj, 'align', align);
39
  selectByValue(formObj, 'valign', valign);
40
- selectByValue(formObj, 'class', className);
41
  selectByValue(formObj, 'celltype', celltype);
42
  selectByValue(formObj, 'dir', dir);
43
  selectByValue(formObj, 'scope', scope);
@@ -51,24 +58,24 @@ function init() {
51
  }
52
 
53
  function updateAction() {
54
- tinyMCEPopup.restoreSelection();
55
 
56
- var inst = tinyMCE.selectedInstance;
57
- var tdElm = tinyMCE.getParentElement(inst.getFocusElement(), "td,th");
58
- var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
59
- var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
60
- var formObj = document.forms[0];
61
 
62
- inst.execCommand('mceBeginUndoLevel');
63
 
64
  switch (getSelectValue(formObj, 'action')) {
65
  case "cell":
66
  var celltype = getSelectValue(formObj, 'celltype');
67
  var scope = getSelectValue(formObj, 'scope');
68
 
69
- if (tinyMCE.getParam("accessibility_warnings")) {
70
  if (celltype == "th" && scope == "")
71
- var answer = confirm(tinyMCE.getLang('lang_table_missing_scope', '', true));
72
  else
73
  var answer = true;
74
 
@@ -108,8 +115,8 @@ function updateAction() {
108
  break;
109
  }
110
 
111
- tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
112
- tinyMCE.triggerNodeChange();
113
  inst.execCommand('mceEndUndoLevel');
114
  tinyMCEPopup.close();
115
  }
@@ -124,11 +131,12 @@ function nextCell(elm) {
124
  }
125
 
126
  function updateCell(td, skip_id) {
127
- var inst = tinyMCE.selectedInstance;
128
  var formObj = document.forms[0];
129
  var curCellType = td.nodeName.toLowerCase();
130
  var celltype = getSelectValue(formObj, 'celltype');
131
  var doc = inst.getDoc();
 
132
 
133
  if (!skip_id)
134
  td.setAttribute('id', formObj.id.value);
@@ -137,16 +145,16 @@ function updateCell(td, skip_id) {
137
  td.setAttribute('vAlign', formObj.valign.value);
138
  td.setAttribute('lang', formObj.lang.value);
139
  td.setAttribute('dir', getSelectValue(formObj, 'dir'));
140
- td.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
141
  td.setAttribute('scope', formObj.scope.value);
142
- tinyMCE.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
143
 
144
  // Clear deprecated attributes
145
- tinyMCE.setAttrib(td, 'width', '');
146
- tinyMCE.setAttrib(td, 'height', '');
147
- tinyMCE.setAttrib(td, 'bgColor', '');
148
- tinyMCE.setAttrib(td, 'borderColor', '');
149
- tinyMCE.setAttrib(td, 'background', '');
150
 
151
  // Set styles
152
  td.style.width = getCSSSize(formObj.width.value);
@@ -172,30 +180,30 @@ function updateCell(td, skip_id) {
172
  for (var c=0; c<td.childNodes.length; c++)
173
  newCell.appendChild(td.childNodes[c].cloneNode(1));
174
 
175
- for (var a=0; a<td.attributes.length; a++) {
176
- var attr = td.attributes[a];
177
- newCell.setAttribute(attr.name, attr.value);
178
- }
179
 
180
  td.parentNode.replaceChild(newCell, td);
181
  td = newCell;
182
  }
183
 
 
 
184
  return td;
185
  }
186
 
187
  function changedBackgroundImage() {
188
  var formObj = document.forms[0];
189
- var st = tinyMCE.parseStyle(formObj.style.value);
190
 
191
  st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
192
 
193
- formObj.style.value = tinyMCE.serializeStyle(st);
194
  }
195
 
196
  function changedSize() {
197
  var formObj = document.forms[0];
198
- var st = tinyMCE.parseStyle(formObj.style.value);
199
 
200
  var width = formObj.width.value;
201
  if (width != "")
@@ -209,22 +217,22 @@ function changedSize() {
209
  else
210
  st['height'] = "";
211
 
212
- formObj.style.value = tinyMCE.serializeStyle(st);
213
  }
214
 
215
  function changedColor() {
216
  var formObj = document.forms[0];
217
- var st = tinyMCE.parseStyle(formObj.style.value);
218
 
219
  st['background-color'] = formObj.bgcolor.value;
220
  st['border-color'] = formObj.bordercolor.value;
221
 
222
- formObj.style.value = tinyMCE.serializeStyle(st);
223
  }
224
 
225
  function changedStyle() {
226
  var formObj = document.forms[0];
227
- var st = tinyMCE.parseStyle(formObj.style.value);
228
 
229
  if (st['background-image'])
230
  formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
@@ -247,3 +255,5 @@ function changedStyle() {
247
  updateColor('bordercolor_pick','bordercolor');
248
  }
249
  }
 
 
1
+ tinyMCEPopup.requireLangPack();
2
+
3
+ var ed;
4
+
5
  function init() {
6
+ ed = tinyMCEPopup.editor;
7
  tinyMCEPopup.resizeToInnerSize();
8
 
9
  document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
10
  document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
11
  document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor')
12
 
13
+ var inst = ed;
14
+ var tdElm = ed.dom.getParent(ed.selection.getNode(), "td,th");
15
  var formObj = document.forms[0];
16
+ var st = ed.dom.parseStyle(ed.dom.getAttrib(tdElm, "style"));
17
 
18
  // Get table cell data
19
  var celltype = tdElm.nodeName.toLowerCase();
20
+ var align = ed.dom.getAttrib(tdElm, 'align');
21
+ var valign = ed.dom.getAttrib(tdElm, 'valign');
22
  var width = trimSize(getStyle(tdElm, 'width', 'width'));
23
  var height = trimSize(getStyle(tdElm, 'height', 'height'));
24
  var bordercolor = convertRGBToHex(getStyle(tdElm, 'bordercolor', 'borderLeftColor'));
25
  var bgcolor = convertRGBToHex(getStyle(tdElm, 'bgcolor', 'backgroundColor'));
26
+ var className = ed.dom.getAttrib(tdElm, 'class');
27
  var backgroundimage = getStyle(tdElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
28
+ var id = ed.dom.getAttrib(tdElm, 'id');
29
+ var lang = ed.dom.getAttrib(tdElm, 'lang');
30
+ var dir = ed.dom.getAttrib(tdElm, 'dir');
31
+ var scope = ed.dom.getAttrib(tdElm, 'scope');
32
 
33
  // Setup form
34
  addClassesToList('class', 'table_cell_styles');
35
+ TinyMCE_EditableSelects.init();
36
+
37
  formObj.bordercolor.value = bordercolor;
38
  formObj.bgcolor.value = bgcolor;
39
  formObj.backgroundimage.value = backgroundimage;
41
  formObj.height.value = height;
42
  formObj.id.value = id;
43
  formObj.lang.value = lang;
44
+ formObj.style.value = ed.dom.serializeStyle(st);
45
  selectByValue(formObj, 'align', align);
46
  selectByValue(formObj, 'valign', valign);
47
+ selectByValue(formObj, 'class', className, true, true);
48
  selectByValue(formObj, 'celltype', celltype);
49
  selectByValue(formObj, 'dir', dir);
50
  selectByValue(formObj, 'scope', scope);
58
  }
59
 
60
  function updateAction() {
61
+ var el, inst = ed, tdElm, trElm, tableElm, formObj = document.forms[0];
62
 
63
+ tinyMCEPopup.restoreSelection();
64
+ el = ed.selection.getNode();
65
+ tdElm = ed.dom.getParent(el, "td,th");
66
+ trElm = ed.dom.getParent(el, "tr");
67
+ tableElm = ed.dom.getParent(el, "table");
68
 
69
+ ed.execCommand('mceBeginUndoLevel');
70
 
71
  switch (getSelectValue(formObj, 'action')) {
72
  case "cell":
73
  var celltype = getSelectValue(formObj, 'celltype');
74
  var scope = getSelectValue(formObj, 'scope');
75
 
76
+ if (ed.getParam("accessibility_warnings")) {
77
  if (celltype == "th" && scope == "")
78
+ var answer = confirm(ed.getLang('table_dlg.missing_scope', '', true));
79
  else
80
  var answer = true;
81
 
115
  break;
116
  }
117
 
118
+ ed.addVisual();
119
+ ed.nodeChanged();
120
  inst.execCommand('mceEndUndoLevel');
121
  tinyMCEPopup.close();
122
  }
131
  }
132
 
133
  function updateCell(td, skip_id) {
134
+ var inst = ed;
135
  var formObj = document.forms[0];
136
  var curCellType = td.nodeName.toLowerCase();
137
  var celltype = getSelectValue(formObj, 'celltype');
138
  var doc = inst.getDoc();
139
+ var dom = ed.dom;
140
 
141
  if (!skip_id)
142
  td.setAttribute('id', formObj.id.value);
145
  td.setAttribute('vAlign', formObj.valign.value);
146
  td.setAttribute('lang', formObj.lang.value);
147
  td.setAttribute('dir', getSelectValue(formObj, 'dir'));
148
+ td.setAttribute('style', ed.dom.serializeStyle(ed.dom.parseStyle(formObj.style.value)));
149
  td.setAttribute('scope', formObj.scope.value);
150
+ ed.dom.setAttrib(td, 'class', getSelectValue(formObj, 'class'));
151
 
152
  // Clear deprecated attributes
153
+ ed.dom.setAttrib(td, 'width', '');
154
+ ed.dom.setAttrib(td, 'height', '');
155
+ ed.dom.setAttrib(td, 'bgColor', '');
156
+ ed.dom.setAttrib(td, 'borderColor', '');
157
+ ed.dom.setAttrib(td, 'background', '');
158
 
159
  // Set styles
160
  td.style.width = getCSSSize(formObj.width.value);
180
  for (var c=0; c<td.childNodes.length; c++)
181
  newCell.appendChild(td.childNodes[c].cloneNode(1));
182
 
183
+ for (var a=0; a<td.attributes.length; a++)
184
+ ed.dom.setAttrib(newCell, td.attributes[a].name, ed.dom.getAttrib(td, td.attributes[a].name));
 
 
185
 
186
  td.parentNode.replaceChild(newCell, td);
187
  td = newCell;
188
  }
189
 
190
+ dom.setAttrib(td, 'style', dom.serializeStyle(dom.parseStyle(td.style.cssText)));
191
+
192
  return td;
193
  }
194
 
195
  function changedBackgroundImage() {
196
  var formObj = document.forms[0];
197
+ var st = ed.dom.parseStyle(formObj.style.value);
198
 
199
  st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
200
 
201
+ formObj.style.value = ed.dom.serializeStyle(st);
202
  }
203
 
204
  function changedSize() {
205
  var formObj = document.forms[0];
206
+ var st = ed.dom.parseStyle(formObj.style.value);
207
 
208
  var width = formObj.width.value;
209
  if (width != "")
217
  else
218
  st['height'] = "";
219
 
220
+ formObj.style.value = ed.dom.serializeStyle(st);
221
  }
222
 
223
  function changedColor() {
224
  var formObj = document.forms[0];
225
+ var st = ed.dom.parseStyle(formObj.style.value);
226
 
227
  st['background-color'] = formObj.bgcolor.value;
228
  st['border-color'] = formObj.bordercolor.value;
229
 
230
+ formObj.style.value = ed.dom.serializeStyle(st);
231
  }
232
 
233
  function changedStyle() {
234
  var formObj = document.forms[0];
235
+ var st = ed.dom.parseStyle(formObj.style.value);
236
 
237
  if (st['background-image'])
238
  formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
255
  updateColor('bordercolor_pick','bordercolor');
256
  }
257
  }
258
+
259
+ tinyMCEPopup.onInit.add(init);
mce/table/js/merge_cells.js ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCEPopup.requireLangPack();
2
+
3
+ function init() {
4
+ var f = document.forms[0], v;
5
+
6
+ tinyMCEPopup.resizeToInnerSize();
7
+
8
+ f.numcols.value = tinyMCEPopup.getWindowArg('numcols', 1);
9
+ f.numrows.value = tinyMCEPopup.getWindowArg('numcols', 1);
10
+ }
11
+
12
+ function mergeCells() {
13
+ var args = [], f = document.forms[0];
14
+
15
+ tinyMCEPopup.restoreSelection();
16
+
17
+ if (!AutoValidator.validate(f)) {
18
+ alert(tinyMCEPopup.getLang('invalid_data'));
19
+ return false;
20
+ }
21
+
22
+ args["numcols"] = f.numcols.value;
23
+ args["numrows"] = f.numrows.value;
24
+
25
+ tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
26
+ tinyMCEPopup.close();
27
+ }
28
+
29
+ tinyMCEPopup.onInit.add(init);
mce/table/{jscripts → js}/row.js RENAMED
@@ -1,37 +1,42 @@
 
 
1
  function init() {
2
  tinyMCEPopup.resizeToInnerSize();
3
 
4
  document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
5
  document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
6
 
7
- var inst = tinyMCE.selectedInstance;
8
- var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
 
9
  var formObj = document.forms[0];
10
- var st = tinyMCE.parseStyle(tinyMCE.getAttrib(trElm, "style"));
11
 
12
  // Get table row data
13
  var rowtype = trElm.parentNode.nodeName.toLowerCase();
14
- var align = tinyMCE.getAttrib(trElm, 'align');
15
- var valign = tinyMCE.getAttrib(trElm, 'valign');
16
  var height = trimSize(getStyle(trElm, 'height', 'height'));
17
- var className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(trElm, 'class'), false);
18
  var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
19
  var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
20
- var id = tinyMCE.getAttrib(trElm, 'id');
21
- var lang = tinyMCE.getAttrib(trElm, 'lang');
22
- var dir = tinyMCE.getAttrib(trElm, 'dir');
23
 
24
  // Setup form
25
  addClassesToList('class', 'table_row_styles');
 
 
26
  formObj.bgcolor.value = bgcolor;
27
  formObj.backgroundimage.value = backgroundimage;
28
  formObj.height.value = height;
29
  formObj.id.value = id;
30
  formObj.lang.value = lang;
31
- formObj.style.value = tinyMCE.serializeStyle(st);
32
  selectByValue(formObj, 'align', align);
33
  selectByValue(formObj, 'valign', valign);
34
- selectByValue(formObj, 'class', className);
35
  selectByValue(formObj, 'rowtype', rowtype);
36
  selectByValue(formObj, 'dir', dir);
37
 
@@ -43,14 +48,13 @@ function init() {
43
  }
44
 
45
  function updateAction() {
46
- tinyMCEPopup.restoreSelection();
47
-
48
- var inst = tinyMCE.selectedInstance;
49
- var trElm = tinyMCE.getParentElement(inst.getFocusElement(), "tr");
50
- var tableElm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
51
- var formObj = document.forms[0];
52
  var action = getSelectValue(formObj, 'action');
53
 
 
 
 
 
54
  inst.execCommand('mceBeginUndoLevel');
55
 
56
  switch (action) {
@@ -78,15 +82,16 @@ function updateAction() {
78
  break;
79
  }
80
 
81
- tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
82
- tinyMCE.triggerNodeChange();
83
  inst.execCommand('mceEndUndoLevel');
84
  tinyMCEPopup.close();
85
  }
86
 
87
  function updateRow(tr_elm, skip_id, skip_parent) {
88
- var inst = tinyMCE.selectedInstance;
89
  var formObj = document.forms[0];
 
90
  var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
91
  var rowtype = getSelectValue(formObj, 'rowtype');
92
  var doc = inst.getDoc();
@@ -99,8 +104,8 @@ function updateRow(tr_elm, skip_id, skip_parent) {
99
  tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));
100
  tr_elm.setAttribute('lang', formObj.lang.value);
101
  tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));
102
- tr_elm.setAttribute('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(formObj.style.value)));
103
- tinyMCE.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
104
 
105
  // Clear deprecated attributes
106
  tr_elm.setAttribute('background', '');
@@ -122,7 +127,7 @@ function updateRow(tr_elm, skip_id, skip_parent) {
122
  var newRow = tr_elm.cloneNode(1);
123
 
124
  // next, find the parent of its new destination (creating it if necessary)
125
- var theTable = tinyMCE.getParentElement(tr_elm, "table");
126
  var dest = rowtype;
127
  var newParent = null;
128
  for (var i = 0; i < theTable.childNodes.length; i++) {
@@ -133,9 +138,12 @@ function updateRow(tr_elm, skip_id, skip_parent) {
133
  if (newParent == null) {
134
  newParent = doc.createElement(dest);
135
 
136
- if (dest == "thead")
137
- theTable.insertBefore(newParent, theTable.firstChild);
138
- else
 
 
 
139
  theTable.appendChild(newParent);
140
  }
141
 
@@ -148,20 +156,22 @@ function updateRow(tr_elm, skip_id, skip_parent) {
148
  // set tr_elm to the new node
149
  tr_elm = newRow;
150
  }
 
 
151
  }
152
 
153
  function changedBackgroundImage() {
154
- var formObj = document.forms[0];
155
- var st = tinyMCE.parseStyle(formObj.style.value);
156
 
157
  st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
158
 
159
- formObj.style.value = tinyMCE.serializeStyle(st);
160
  }
161
 
162
  function changedStyle() {
163
- var formObj = document.forms[0];
164
- var st = tinyMCE.parseStyle(formObj.style.value);
165
 
166
  if (st['background-image'])
167
  formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
@@ -178,8 +188,8 @@ function changedStyle() {
178
  }
179
 
180
  function changedSize() {
181
- var formObj = document.forms[0];
182
- var st = tinyMCE.parseStyle(formObj.style.value);
183
 
184
  var height = formObj.height.value;
185
  if (height != "")
@@ -187,14 +197,16 @@ function changedSize() {
187
  else
188
  st['height'] = "";
189
 
190
- formObj.style.value = tinyMCE.serializeStyle(st);
191
  }
192
 
193
  function changedColor() {
194
- var formObj = document.forms[0];
195
- var st = tinyMCE.parseStyle(formObj.style.value);
196
 
197
  st['background-color'] = formObj.bgcolor.value;
198
 
199
- formObj.style.value = tinyMCE.serializeStyle(st);
200
- }
 
 
1
+ tinyMCEPopup.requireLangPack();
2
+
3
  function init() {
4
  tinyMCEPopup.resizeToInnerSize();
5
 
6
  document.getElementById('backgroundimagebrowsercontainer').innerHTML = getBrowserHTML('backgroundimagebrowser','backgroundimage','image','table');
7
  document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
8
 
9
+ var inst = tinyMCEPopup.editor;
10
+ var dom = inst.dom;
11
+ var trElm = dom.getParent(inst.selection.getNode(), "tr");
12
  var formObj = document.forms[0];
13
+ var st = dom.parseStyle(dom.getAttrib(trElm, "style"));
14
 
15
  // Get table row data
16
  var rowtype = trElm.parentNode.nodeName.toLowerCase();
17
+ var align = dom.getAttrib(trElm, 'align');
18
+ var valign = dom.getAttrib(trElm, 'valign');
19
  var height = trimSize(getStyle(trElm, 'height', 'height'));
20
+ var className = dom.getAttrib(trElm, 'class');
21
  var bgcolor = convertRGBToHex(getStyle(trElm, 'bgcolor', 'backgroundColor'));
22
  var backgroundimage = getStyle(trElm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");;
23
+ var id = dom.getAttrib(trElm, 'id');
24
+ var lang = dom.getAttrib(trElm, 'lang');
25
+ var dir = dom.getAttrib(trElm, 'dir');
26
 
27
  // Setup form
28
  addClassesToList('class', 'table_row_styles');
29
+ TinyMCE_EditableSelects.init();
30
+
31
  formObj.bgcolor.value = bgcolor;
32
  formObj.backgroundimage.value = backgroundimage;
33
  formObj.height.value = height;
34
  formObj.id.value = id;
35
  formObj.lang.value = lang;
36
+ formObj.style.value = dom.serializeStyle(st);
37
  selectByValue(formObj, 'align', align);
38
  selectByValue(formObj, 'valign', valign);
39
+ selectByValue(formObj, 'class', className, true, true);
40
  selectByValue(formObj, 'rowtype', rowtype);
41
  selectByValue(formObj, 'dir', dir);
42
 
48
  }
49
 
50
  function updateAction() {
51
+ var inst = tinyMCEPopup.editor, dom = inst.dom, trElm, tableElm, formObj = document.forms[0];
 
 
 
 
 
52
  var action = getSelectValue(formObj, 'action');
53
 
54
+ tinyMCEPopup.restoreSelection();
55
+ trElm = dom.getParent(inst.selection.getNode(), "tr");
56
+ tableElm = dom.getParent(inst.selection.getNode(), "table");
57
+
58
  inst.execCommand('mceBeginUndoLevel');
59
 
60
  switch (action) {
82
  break;
83
  }
84
 
85
+ inst.addVisual();
86
+ inst.nodeChanged();
87
  inst.execCommand('mceEndUndoLevel');
88
  tinyMCEPopup.close();
89
  }
90
 
91
  function updateRow(tr_elm, skip_id, skip_parent) {
92
+ var inst = tinyMCEPopup.editor;
93
  var formObj = document.forms[0];
94
+ var dom = inst.dom;
95
  var curRowType = tr_elm.parentNode.nodeName.toLowerCase();
96
  var rowtype = getSelectValue(formObj, 'rowtype');
97
  var doc = inst.getDoc();
104
  tr_elm.setAttribute('vAlign', getSelectValue(formObj, 'valign'));
105
  tr_elm.setAttribute('lang', formObj.lang.value);
106
  tr_elm.setAttribute('dir', getSelectValue(formObj, 'dir'));
107
+ tr_elm.setAttribute('style', dom.serializeStyle(dom.parseStyle(formObj.style.value)));
108
+ dom.setAttrib(tr_elm, 'class', getSelectValue(formObj, 'class'));
109
 
110
  // Clear deprecated attributes
111
  tr_elm.setAttribute('background', '');
127
  var newRow = tr_elm.cloneNode(1);
128
 
129
  // next, find the parent of its new destination (creating it if necessary)
130
+ var theTable = dom.getParent(tr_elm, "table");
131
  var dest = rowtype;
132
  var newParent = null;
133
  for (var i = 0; i < theTable.childNodes.length; i++) {
138
  if (newParent == null) {
139
  newParent = doc.createElement(dest);
140
 
141
+ if (dest == "thead") {
142
+ if (theTable.firstChild.nodeName == 'CAPTION')
143
+ inst.dom.insertAfter(newParent, theTable.firstChild);
144
+ else
145
+ theTable.insertBefore(newParent, theTable.firstChild);
146
+ } else
147
  theTable.appendChild(newParent);
148
  }
149
 
156
  // set tr_elm to the new node
157
  tr_elm = newRow;
158
  }
159
+
160
+ dom.setAttrib(tr_elm, 'style', dom.serializeStyle(dom.parseStyle(tr_elm.style.cssText)));
161
  }
162
 
163
  function changedBackgroundImage() {
164
+ var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
165
+ var st = dom.parseStyle(formObj.style.value);
166
 
167
  st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
168
 
169
+ formObj.style.value = dom.serializeStyle(st);
170
  }
171
 
172
  function changedStyle() {
173
+ var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
174
+ var st = dom.parseStyle(formObj.style.value);
175
 
176
  if (st['background-image'])
177
  formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
188
  }
189
 
190
  function changedSize() {
191
+ var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
192
+ var st = dom.parseStyle(formObj.style.value);
193
 
194
  var height = formObj.height.value;
195
  if (height != "")
197
  else
198
  st['height'] = "";
199
 
200
+ formObj.style.value = dom.serializeStyle(st);
201
  }
202
 
203
  function changedColor() {
204
+ var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
205
+ var st = dom.parseStyle(formObj.style.value);
206
 
207
  st['background-color'] = formObj.bgcolor.value;
208
 
209
+ formObj.style.value = dom.serializeStyle(st);
210
+ }
211
+
212
+ tinyMCEPopup.onInit.add(init);
mce/table/{jscripts → js}/table.js RENAMED
@@ -1,19 +1,22 @@
1
- var action, orgTableWidth, orgTableHeight;
 
 
2
 
3
  function insertTable() {
4
  var formObj = document.forms[0];
5
- var inst = tinyMCE.selectedInstance;
6
- var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className, caption;
7
- var html = '', capEl;
8
- var elm = tinyMCE.tableElm;
9
  var cellLimit, rowLimit, colLimit;
10
 
 
 
11
  if (!AutoValidator.validate(formObj)) {
12
- alert(tinyMCE.getLang('lang_invalid_data'));
13
  return false;
14
  }
15
 
16
- tinyMCEPopup.restoreSelection();
17
 
18
  // Get form data
19
  cols = formObj.elements['cols'].value;
@@ -22,6 +25,8 @@ function insertTable() {
22
  cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : "";
23
  cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : "";
24
  align = formObj.elements['align'].options[formObj.elements['align'].selectedIndex].value;
 
 
25
  width = formObj.elements['width'].value;
26
  height = formObj.elements['height'].value;
27
  bordercolor = formObj.elements['bordercolor'].value;
@@ -35,19 +40,19 @@ function insertTable() {
35
  background = formObj.elements['backgroundimage'].value;
36
  caption = formObj.elements['caption'].checked;
37
 
38
- cellLimit = tinyMCE.getParam('table_cell_limit', false);
39
- rowLimit = tinyMCE.getParam('table_row_limit', false);
40
- colLimit = tinyMCE.getParam('table_col_limit', false);
41
 
42
  // Validate table size
43
  if (colLimit && cols > colLimit) {
44
- alert(tinyMCE.getLang('lang_table_col_limit', '', true, {cols : colLimit}));
45
  return false;
46
  } else if (rowLimit && rows > rowLimit) {
47
- alert(tinyMCE.getLang('lang_table_row_limit', '', true, {rows : rowLimit}));
48
  return false;
49
  } else if (cellLimit && cols * rows > cellLimit) {
50
- alert(tinyMCE.getLang('lang_table_cell_limit', '', true, {cells : cellLimit}));
51
  return false;
52
  }
53
 
@@ -55,50 +60,60 @@ function insertTable() {
55
  if (action == "update") {
56
  inst.execCommand('mceBeginUndoLevel');
57
 
58
- tinyMCE.setAttrib(elm, 'cellPadding', cellpadding, true);
59
- tinyMCE.setAttrib(elm, 'cellSpacing', cellspacing, true);
60
- tinyMCE.setAttrib(elm, 'border', border, true);
61
- tinyMCE.setAttrib(elm, 'align', align);
62
- tinyMCE.setAttrib(elm, 'class', className);
63
- tinyMCE.setAttrib(elm, 'style', style);
64
- tinyMCE.setAttrib(elm, 'id', id);
65
- tinyMCE.setAttrib(elm, 'summary', summary);
66
- tinyMCE.setAttrib(elm, 'dir', dir);
67
- tinyMCE.setAttrib(elm, 'lang', lang);
68
-
69
- capEl = elm.getElementsByTagName('caption')[0];
 
 
70
 
71
  if (capEl && !caption)
72
  capEl.parentNode.removeChild(capEl);
73
 
74
  if (!capEl && caption) {
75
  capEl = elm.ownerDocument.createElement('caption');
76
- capEl.innerHTML = '&nbsp;';
 
 
 
77
  elm.insertBefore(capEl, elm.firstChild);
78
  }
79
 
80
- // Not inline styles
81
- if (!tinyMCE.getParam("inline_styles"))
82
- tinyMCE.setAttrib(elm, 'width', width, true);
 
 
 
 
83
 
84
  // Remove these since they are not valid XHTML
85
- tinyMCE.setAttrib(elm, 'borderColor', '');
86
- tinyMCE.setAttrib(elm, 'bgColor', '');
87
- tinyMCE.setAttrib(elm, 'background', '');
88
- tinyMCE.setAttrib(elm, 'height', '');
 
 
 
 
89
 
90
  if (background != '')
91
  elm.style.backgroundImage = "url('" + background + "')";
92
  else
93
  elm.style.backgroundImage = '';
94
 
95
- if (tinyMCE.getParam("inline_styles"))
96
- elm.style.borderWidth = border + "px";
97
-
98
- if (tinyMCE.getParam("inline_styles")) {
99
  if (width != '')
100
  elm.style.width = getCSSSize(width);
101
- }
102
 
103
  if (bordercolor != "") {
104
  elm.style.borderColor = bordercolor;
@@ -110,18 +125,17 @@ function insertTable() {
110
  elm.style.backgroundColor = bgcolor;
111
  elm.style.height = getCSSSize(height);
112
 
113
- tinyMCE.handleVisualAid(tinyMCE.tableElm, false, inst.visualAid, inst);
114
 
115
  // Fix for stange MSIE align bug
116
- tinyMCE.tableElm.outerHTML = tinyMCE.tableElm.outerHTML;
117
 
118
- tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
119
- tinyMCE.triggerNodeChange();
120
  inst.execCommand('mceEndUndoLevel');
121
 
122
  // Repaint if dimensions changed
123
  if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight)
124
- inst.repaint();
125
 
126
  tinyMCEPopup.close();
127
  return true;
@@ -134,26 +148,51 @@ function insertTable() {
134
  html += makeAttrib('border', border);
135
  html += makeAttrib('cellpadding', cellpadding);
136
  html += makeAttrib('cellspacing', cellspacing);
137
- html += makeAttrib('width', width);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
138
  //html += makeAttrib('height', height);
139
  //html += makeAttrib('bordercolor', bordercolor);
140
  //html += makeAttrib('bgcolor', bgcolor);
141
  html += makeAttrib('align', align);
142
- html += makeAttrib('class', tinyMCE.getVisualAidClass(className, border == 0));
 
 
143
  html += makeAttrib('style', style);
144
  html += makeAttrib('summary', summary);
145
  html += makeAttrib('dir', dir);
146
  html += makeAttrib('lang', lang);
147
  html += '>';
148
 
149
- if (caption)
150
- html += '<caption>&nbsp;</caption>';
 
 
 
 
151
 
152
  for (var y=0; y<rows; y++) {
153
  html += "<tr>";
154
 
155
- for (var x=0; x<cols; x++)
156
- html += '<td>&nbsp;</td>';
 
 
 
 
157
 
158
  html += "</tr>";
159
  }
@@ -162,7 +201,7 @@ function insertTable() {
162
 
163
  inst.execCommand('mceBeginUndoLevel');
164
  inst.execCommand('mceInsertContent', false, html);
165
- tinyMCE.handleVisualAid(inst.getBody(), true, tinyMCE.settings['visual']);
166
  inst.execCommand('mceEndUndoLevel');
167
 
168
  tinyMCEPopup.close();
@@ -199,20 +238,20 @@ function init() {
199
  document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
200
  document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
201
 
202
- var cols = 2, rows = 2, border = tinyMCE.getParam('table_default_border', '0'), cellpadding = tinyMCE.getParam('table_default_cellpadding', ''), cellspacing = tinyMCE.getParam('table_default_cellspacing', '');
203
  var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = "";
204
- var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "";
205
- var inst = tinyMCE.selectedInstance;
206
  var formObj = document.forms[0];
207
- var elm = tinyMCE.getParentElement(inst.getFocusElement(), "table");
 
 
208
 
209
- tinyMCE.tableElm = elm;
210
- action = tinyMCE.getWindowArg('action');
211
- if (action == null)
212
- action = tinyMCE.tableElm ? "update" : "insert";
213
 
214
- if (tinyMCE.tableElm && action != "insert") {
215
- var rowsAr = tinyMCE.tableElm.rows;
216
  var cols = 0;
217
  for (var i=0; i<rowsAr.length; i++)
218
  if (rowsAr[i].cells.length > cols)
@@ -221,35 +260,41 @@ function init() {
221
  cols = cols;
222
  rows = rowsAr.length;
223
 
224
- st = tinyMCE.parseStyle(tinyMCE.getAttrib(tinyMCE.tableElm, "style"));
225
  border = trimSize(getStyle(elm, 'border', 'borderWidth'));
226
- cellpadding = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellpadding', "");
227
- cellspacing = tinyMCE.getAttrib(tinyMCE.tableElm, 'cellspacing', "");
228
  width = trimSize(getStyle(elm, 'width', 'width'));
229
  height = trimSize(getStyle(elm, 'height', 'height'));
230
  bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor'));
231
  bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor'));
232
- align = tinyMCE.getAttrib(tinyMCE.tableElm, 'align', align);
233
- className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(tinyMCE.tableElm, 'class'), false);
234
- id = tinyMCE.getAttrib(tinyMCE.tableElm, 'id');
235
- summary = tinyMCE.getAttrib(tinyMCE.tableElm, 'summary');
236
- style = tinyMCE.serializeStyle(st);
237
- dir = tinyMCE.getAttrib(tinyMCE.tableElm, 'dir');
238
- lang = tinyMCE.getAttrib(tinyMCE.tableElm, 'lang');
 
 
239
  background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
240
- formObj.caption.checked = tinyMCE.tableElm.getElementsByTagName('caption').length > 0;
241
 
242
  orgTableWidth = width;
243
  orgTableHeight = height;
244
 
245
  action = "update";
 
246
  }
247
 
248
  addClassesToList('class', "table_styles");
 
249
 
250
  // Update form
251
  selectByValue(formObj, 'align', align);
252
- selectByValue(formObj, 'class', className);
 
 
253
  formObj.cols.value = cols;
254
  formObj.rows.value = rows;
255
  formObj.border.value = border;
@@ -265,7 +310,6 @@ function init() {
265
  formObj.dir.value = dir;
266
  formObj.lang.value = lang;
267
  formObj.backgroundimage.value = background;
268
- formObj.insert.value = tinyMCE.getLang('lang_' + action, 'Insert', true);
269
 
270
  updateColor('bordercolor_pick', 'bordercolor');
271
  updateColor('bgcolor_pick', 'bgcolor');
@@ -283,13 +327,13 @@ function init() {
283
 
284
  function changedSize() {
285
  var formObj = document.forms[0];
286
- var st = tinyMCE.parseStyle(formObj.style.value);
287
 
288
- var width = formObj.width.value;
289
  if (width != "")
290
- st['width'] = tinyMCE.getParam("inline_styles") ? getCSSSize(width) : "";
291
  else
292
- st['width'] = "";
293
 
294
  var height = formObj.height.value;
295
  if (height != "")
@@ -297,32 +341,32 @@ function changedSize() {
297
  else
298
  st['height'] = "";
299
 
300
- formObj.style.value = tinyMCE.serializeStyle(st);
301
  }
302
 
303
  function changedBackgroundImage() {
304
  var formObj = document.forms[0];
305
- var st = tinyMCE.parseStyle(formObj.style.value);
306
 
307
  st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
308
 
309
- formObj.style.value = tinyMCE.serializeStyle(st);
310
  }
311
 
312
  function changedBorder() {
313
  var formObj = document.forms[0];
314
- var st = tinyMCE.parseStyle(formObj.style.value);
315
 
316
  // Update border width if the element has a color
317
  if (formObj.border.value != "" && formObj.bordercolor.value != "")
318
  st['border-width'] = formObj.border.value + "px";
319
 
320
- formObj.style.value = tinyMCE.serializeStyle(st);
321
  }
322
 
323
  function changedColor() {
324
  var formObj = document.forms[0];
325
- var st = tinyMCE.parseStyle(formObj.style.value);
326
 
327
  st['background-color'] = formObj.bgcolor.value;
328
 
@@ -334,12 +378,12 @@ function changedColor() {
334
  st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px";
335
  }
336
 
337
- formObj.style.value = tinyMCE.serializeStyle(st);
338
  }
339
 
340
  function changedStyle() {
341
  var formObj = document.forms[0];
342
- var st = tinyMCE.parseStyle(formObj.style.value);
343
 
344
  if (st['background-image'])
345
  formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
@@ -361,4 +405,6 @@ function changedStyle() {
361
  formObj.bordercolor.value = st['border-color'];
362
  updateColor('bordercolor_pick','bordercolor');
363
  }
364
- }
 
 
1
+ tinyMCEPopup.requireLangPack();
2
+
3
+ var action, orgTableWidth, orgTableHeight, dom = tinyMCEPopup.editor.dom;
4
 
5
  function insertTable() {
6
  var formObj = document.forms[0];
7
+ var inst = tinyMCEPopup.editor, dom = inst.dom;
8
+ var cols = 2, rows = 2, border = 0, cellpadding = -1, cellspacing = -1, align, width, height, className, caption, frame, rules;
9
+ var html = '', capEl, elm;
 
10
  var cellLimit, rowLimit, colLimit;
11
 
12
+ tinyMCEPopup.restoreSelection();
13
+
14
  if (!AutoValidator.validate(formObj)) {
15
+ alert(inst.getLang('invalid_data'));
16
  return false;
17
  }
18
 
19
+ elm = dom.getParent(inst.selection.getNode(), 'table');
20
 
21
  // Get form data
22
  cols = formObj.elements['cols'].value;
25
  cellpadding = formObj.elements['cellpadding'].value != "" ? formObj.elements['cellpadding'].value : "";
26
  cellspacing = formObj.elements['cellspacing'].value != "" ? formObj.elements['cellspacing'].value : "";
27
  align = formObj.elements['align'].options[formObj.elements['align'].selectedIndex].value;
28
+ frame = formObj.elements['frame'].options[formObj.elements['frame'].selectedIndex].value;
29
+ rules = formObj.elements['rules'].options[formObj.elements['rules'].selectedIndex].value;
30
  width = formObj.elements['width'].value;
31
  height = formObj.elements['height'].value;
32
  bordercolor = formObj.elements['bordercolor'].value;
40
  background = formObj.elements['backgroundimage'].value;
41
  caption = formObj.elements['caption'].checked;
42
 
43
+ cellLimit = tinyMCEPopup.getParam('table_cell_limit', false);
44
+ rowLimit = tinyMCEPopup.getParam('table_row_limit', false);
45
+ colLimit = tinyMCEPopup.getParam('table_col_limit', false);
46
 
47
  // Validate table size
48
  if (colLimit && cols > colLimit) {
49
+ alert(inst.getLang('table_col_limit', '', true, {cols : colLimit}));
50
  return false;
51
  } else if (rowLimit && rows > rowLimit) {
52
+ alert(inst.getLang('table_row_limit', '', true, {rows : rowLimit}));
53
  return false;
54
  } else if (cellLimit && cols * rows > cellLimit) {
55
+ alert(inst.getLang('table_cell_limit', '', true, {cells : cellLimit}));
56
  return false;
57
  }
58
 
60
  if (action == "update") {
61
  inst.execCommand('mceBeginUndoLevel');
62
 
63
+ dom.setAttrib(elm, 'cellPadding', cellpadding, true);
64
+ dom.setAttrib(elm, 'cellSpacing', cellspacing, true);
65
+ dom.setAttrib(elm, 'border', border);
66
+ dom.setAttrib(elm, 'align', align);
67
+ dom.setAttrib(elm, 'frame', frame);
68
+ dom.setAttrib(elm, 'rules', rules);
69
+ dom.setAttrib(elm, 'class', className);
70
+ dom.setAttrib(elm, 'style', style);
71
+ dom.setAttrib(elm, 'id', id);
72
+ dom.setAttrib(elm, 'summary', summary);
73
+ dom.setAttrib(elm, 'dir', dir);
74
+ dom.setAttrib(elm, 'lang', lang);
75
+
76
+ capEl = inst.dom.select('caption', elm)[0];
77
 
78
  if (capEl && !caption)
79
  capEl.parentNode.removeChild(capEl);
80
 
81
  if (!capEl && caption) {
82
  capEl = elm.ownerDocument.createElement('caption');
83
+
84
+ if (!tinymce.isIE)
85
+ capEl.innerHTML = '<br mce_bogus="1"/>';
86
+
87
  elm.insertBefore(capEl, elm.firstChild);
88
  }
89
 
90
+ if (width && /(pt|em|cm)$/.test(width)) {
91
+ dom.setStyle(elm, 'width', width);
92
+ dom.setAttrib(elm, 'width', '');
93
+ } else {
94
+ dom.setAttrib(elm, 'width', width, true);
95
+ dom.setStyle(elm, 'width', '');
96
+ }
97
 
98
  // Remove these since they are not valid XHTML
99
+ dom.setAttrib(elm, 'borderColor', '');
100
+ dom.setAttrib(elm, 'bgColor', '');
101
+ dom.setAttrib(elm, 'background', '');
102
+
103
+ if (height) {
104
+ dom.setStyle(elm, 'height', height);
105
+ dom.setAttrib(elm, 'height', '');
106
+ }
107
 
108
  if (background != '')
109
  elm.style.backgroundImage = "url('" + background + "')";
110
  else
111
  elm.style.backgroundImage = '';
112
 
113
+ /* if (tinyMCEPopup.getParam("inline_styles")) {
 
 
 
114
  if (width != '')
115
  elm.style.width = getCSSSize(width);
116
+ }*/
117
 
118
  if (bordercolor != "") {
119
  elm.style.borderColor = bordercolor;
125
  elm.style.backgroundColor = bgcolor;
126
  elm.style.height = getCSSSize(height);
127
 
128
+ inst.addVisual();
129
 
130
  // Fix for stange MSIE align bug
131
+ //elm.outerHTML = elm.outerHTML;
132
 
133
+ inst.nodeChanged();
 
134
  inst.execCommand('mceEndUndoLevel');
135
 
136
  // Repaint if dimensions changed
137
  if (formObj.width.value != orgTableWidth || formObj.height.value != orgTableHeight)
138
+ inst.execCommand('mceRepaint');
139
 
140
  tinyMCEPopup.close();
141
  return true;
148
  html += makeAttrib('border', border);
149
  html += makeAttrib('cellpadding', cellpadding);
150
  html += makeAttrib('cellspacing', cellspacing);
151
+
152
+ if (width && /(pt|em|cm)$/.test(width)) {
153
+ if (style)
154
+ style += '; ';
155
+
156
+ style += 'width: ' + width;
157
+ } else
158
+ html += makeAttrib('width', width);
159
+
160
+ /* if (height) {
161
+ if (style)
162
+ style += '; ';
163
+
164
+ style += 'height: ' + height;
165
+ }*/
166
+
167
  //html += makeAttrib('height', height);
168
  //html += makeAttrib('bordercolor', bordercolor);
169
  //html += makeAttrib('bgcolor', bgcolor);
170
  html += makeAttrib('align', align);
171
+ html += makeAttrib('frame', frame);
172
+ html += makeAttrib('rules', rules);
173
+ html += makeAttrib('class', className);
174
  html += makeAttrib('style', style);
175
  html += makeAttrib('summary', summary);
176
  html += makeAttrib('dir', dir);
177
  html += makeAttrib('lang', lang);
178
  html += '>';
179
 
180
+ if (caption) {
181
+ if (!tinymce.isIE)
182
+ html += '<caption><br mce_bogus="1"/></caption>';
183
+ else
184
+ html += '<caption></caption>';
185
+ }
186
 
187
  for (var y=0; y<rows; y++) {
188
  html += "<tr>";
189
 
190
+ for (var x=0; x<cols; x++) {
191
+ if (!tinymce.isIE)
192
+ html += '<td><br mce_bogus="1"/></td>';
193
+ else
194
+ html += '<td></td>';
195
+ }
196
 
197
  html += "</tr>";
198
  }
201
 
202
  inst.execCommand('mceBeginUndoLevel');
203
  inst.execCommand('mceInsertContent', false, html);
204
+ inst.addVisual();
205
  inst.execCommand('mceEndUndoLevel');
206
 
207
  tinyMCEPopup.close();
238
  document.getElementById('bordercolor_pickcontainer').innerHTML = getColorPickerHTML('bordercolor_pick','bordercolor');
239
  document.getElementById('bgcolor_pickcontainer').innerHTML = getColorPickerHTML('bgcolor_pick','bgcolor');
240
 
241
+ var cols = 2, rows = 2, border = tinyMCEPopup.getParam('table_default_border', '0'), cellpadding = tinyMCEPopup.getParam('table_default_cellpadding', ''), cellspacing = tinyMCEPopup.getParam('table_default_cellspacing', '');
242
  var align = "", width = "", height = "", bordercolor = "", bgcolor = "", className = "";
243
+ var id = "", summary = "", style = "", dir = "", lang = "", background = "", bgcolor = "", bordercolor = "", rules, frame;
244
+ var inst = tinyMCEPopup.editor, dom = inst.dom;
245
  var formObj = document.forms[0];
246
+ var elm = dom.getParent(inst.selection.getNode(), "table");
247
+
248
+ action = tinyMCEPopup.getWindowArg('action');
249
 
250
+ if (!action)
251
+ action = elm ? "update" : "insert";
 
 
252
 
253
+ if (elm && action != "insert") {
254
+ var rowsAr = elm.rows;
255
  var cols = 0;
256
  for (var i=0; i<rowsAr.length; i++)
257
  if (rowsAr[i].cells.length > cols)
260
  cols = cols;
261
  rows = rowsAr.length;
262
 
263
+ st = dom.parseStyle(dom.getAttrib(elm, "style"));
264
  border = trimSize(getStyle(elm, 'border', 'borderWidth'));
265
+ cellpadding = dom.getAttrib(elm, 'cellpadding', "");
266
+ cellspacing = dom.getAttrib(elm, 'cellspacing', "");
267
  width = trimSize(getStyle(elm, 'width', 'width'));
268
  height = trimSize(getStyle(elm, 'height', 'height'));
269
  bordercolor = convertRGBToHex(getStyle(elm, 'bordercolor', 'borderLeftColor'));
270
  bgcolor = convertRGBToHex(getStyle(elm, 'bgcolor', 'backgroundColor'));
271
+ align = dom.getAttrib(elm, 'align', align);
272
+ frame = dom.getAttrib(elm, 'frame');
273
+ rules = dom.getAttrib(elm, 'rules');
274
+ className = tinymce.trim(dom.getAttrib(elm, 'class').replace(/mceItem.+/g, ''));
275
+ id = dom.getAttrib(elm, 'id');
276
+ summary = dom.getAttrib(elm, 'summary');
277
+ style = dom.serializeStyle(st);
278
+ dir = dom.getAttrib(elm, 'dir');
279
+ lang = dom.getAttrib(elm, 'lang');
280
  background = getStyle(elm, 'background', 'backgroundImage').replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
281
+ formObj.caption.checked = elm.getElementsByTagName('caption').length > 0;
282
 
283
  orgTableWidth = width;
284
  orgTableHeight = height;
285
 
286
  action = "update";
287
+ formObj.insert.value = inst.getLang('update');
288
  }
289
 
290
  addClassesToList('class', "table_styles");
291
+ TinyMCE_EditableSelects.init();
292
 
293
  // Update form
294
  selectByValue(formObj, 'align', align);
295
+ selectByValue(formObj, 'frame', frame);
296
+ selectByValue(formObj, 'rules', rules);
297
+ selectByValue(formObj, 'class', className, true, true);
298
  formObj.cols.value = cols;
299
  formObj.rows.value = rows;
300
  formObj.border.value = border;
310
  formObj.dir.value = dir;
311
  formObj.lang.value = lang;
312
  formObj.backgroundimage.value = background;
 
313
 
314
  updateColor('bordercolor_pick', 'bordercolor');
315
  updateColor('bgcolor_pick', 'bgcolor');
327
 
328
  function changedSize() {
329
  var formObj = document.forms[0];
330
+ var st = dom.parseStyle(formObj.style.value);
331
 
332
+ /* var width = formObj.width.value;
333
  if (width != "")
334
+ st['width'] = tinyMCEPopup.getParam("inline_styles") ? getCSSSize(width) : "";
335
  else
336
+ st['width'] = "";*/
337
 
338
  var height = formObj.height.value;
339
  if (height != "")
341
  else
342
  st['height'] = "";
343
 
344
+ formObj.style.value = dom.serializeStyle(st);
345
  }
346
 
347
  function changedBackgroundImage() {
348
  var formObj = document.forms[0];
349
+ var st = dom.parseStyle(formObj.style.value);
350
 
351
  st['background-image'] = "url('" + formObj.backgroundimage.value + "')";
352
 
353
+ formObj.style.value = dom.serializeStyle(st);
354
  }
355
 
356
  function changedBorder() {
357
  var formObj = document.forms[0];
358
+ var st = dom.parseStyle(formObj.style.value);
359
 
360
  // Update border width if the element has a color
361
  if (formObj.border.value != "" && formObj.bordercolor.value != "")
362
  st['border-width'] = formObj.border.value + "px";
363
 
364
+ formObj.style.value = dom.serializeStyle(st);
365
  }
366
 
367
  function changedColor() {
368
  var formObj = document.forms[0];
369
+ var st = dom.parseStyle(formObj.style.value);
370
 
371
  st['background-color'] = formObj.bgcolor.value;
372
 
378
  st['border-width'] = formObj.border.value == "" ? "1px" : formObj.border.value + "px";
379
  }
380
 
381
+ formObj.style.value = dom.serializeStyle(st);
382
  }
383
 
384
  function changedStyle() {
385
  var formObj = document.forms[0];
386
+ var st = dom.parseStyle(formObj.style.value);
387
 
388
  if (st['background-image'])
389
  formObj.backgroundimage.value = st['background-image'].replace(new RegExp("url\\('?([^']*)'?\\)", 'gi'), "$1");
405
  formObj.bordercolor.value = st['border-color'];
406
  updateColor('bordercolor_pick','bordercolor');
407
  }
408
+ }
409
+
410
+ tinyMCEPopup.onInit.add(init);
mce/table/jscripts/merge_cells.js DELETED
@@ -1,24 +0,0 @@
1
- function init() {
2
- tinyMCEPopup.resizeToInnerSize();
3
-
4
- var formObj = document.forms[0];
5
-
6
- formObj.numcols.value = tinyMCE.getWindowArg('numcols', 1);
7
- formObj.numrows.value = tinyMCE.getWindowArg('numrows', 1);
8
- }
9
-
10
- function mergeCells() {
11
- var args = new Array();
12
- var formObj = document.forms[0];
13
-
14
- if (!AutoValidator.validate(formObj)) {
15
- alert(tinyMCE.getLang('lang_invalid_data'));
16
- return false;
17
- }
18
-
19
- args["numcols"] = formObj.numcols.value;
20
- args["numrows"] = formObj.numrows.value;
21
-
22
- tinyMCEPopup.execCommand("mceTableMergeCells", false, args);
23
- tinyMCEPopup.close();
24
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/table/langs/de_de.js DELETED
@@ -1,79 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('table',{
4
- general_tab : 'Allgemein',
5
- advanced_tab : 'Erweitert',
6
- general_props : 'Allgemeine Eigenschaften',
7
- advanced_props : 'Erweiterte Eigenschaften',
8
- desc : 'Neue Tabelle einf&uuml;gen',
9
- row_before_desc : 'Zeile oberhalb einf&uuml;gen',
10
- row_after_desc : 'Zeile unterhalb einf&uuml;gen',
11
- delete_row_desc : 'Zeile l&ouml;schen',
12
- col_before_desc : 'Spalte nach links einf&uuml;gen',
13
- col_after_desc : 'Spalte nach rechts einf&uuml;gen',
14
- delete_col_desc : 'Spalte l&ouml;schen',
15
- rowtype : 'Zeile in Tabellen-Teil',
16
- title : 'Tabelle hinzuf&uuml;gen/bearbeiten',
17
- width : 'Breite',
18
- height : 'H&ouml;he',
19
- cols : 'Spalten',
20
- rows : 'Zeilen',
21
- cellspacing : 'Zellenabstand',
22
- cellpadding : 'Zellenausf&uuml;llung',
23
- border : 'Rahmen',
24
- align : 'Ausrichtung',
25
- align_default : 'Standard',
26
- align_left : 'Links',
27
- align_right : 'Rechts',
28
- align_middle : 'Zentriert',
29
- row_title : 'Zeileneigenschaften',
30
- cell_title : 'Zelleneigenschaften',
31
- cell_type : 'Zellentyp',
32
- row_desc : 'Zeileneigenschaften',
33
- cell_desc : 'Zelleneigenschaften',
34
- valign : 'Vertikale Ausrichtung',
35
- align_top : 'Oben',
36
- align_bottom : 'Unten',
37
- props_desc : 'Tabelleneigenschaften',
38
- bordercolor : 'Rahmenfarbe',
39
- bgcolor : 'Hintergrundfarbe',
40
- merge_cells_title : 'Zellen zusammenf&uuml;gen',
41
- split_cells_desc : 'Zelle teilen',
42
- merge_cells_desc : 'Zellen zusammenf&uuml;gen',
43
- cut_row_desc : 'Zeile ausschneiden',
44
- copy_row_desc : 'Zeile kopieren',
45
- paste_row_before_desc : 'Zeile oberhalb einf&uuml;gen',
46
- paste_row_after_desc : 'Zeile unterhalb einf&uuml;gen',
47
- id : 'ID',
48
- style: 'CSS-Stil',
49
- langdir : 'Textfluss',
50
- langcode : 'Sprachcode',
51
- mime : 'MIME-Typ',
52
- ltr : 'Von links nach rechts',
53
- rtl : 'Von rechts nach links',
54
- bgimage : 'Hintergrundfarbe',
55
- summary : 'Zusammenfassung',
56
- td : "Daten",
57
- th : "Kopfzeile",
58
- cell_cell : 'Diese Zelle aktualisieren',
59
- cell_row : 'Alle Zellen in dieser Zeile aktualisieren',
60
- cell_all : 'Alle Zellen in dieser Tabelle aktualisieren',
61
- row_row : 'Diese Zeile aktualisieren',
62
- row_odd : 'Ungerade Zeilen aktualisieren',
63
- row_even : 'Gerade Zeilen aktualisieren',
64
- row_all : 'Alle Zeilen in dieser Tabelle aktualisieren',
65
- thead : 'Tabellenkopf',
66
- tbody : 'Tabellenk&ouml;rper',
67
- tfoot : 'Tabellenfu&szlig',
68
- del : 'Tabelle l&ouml;schen',
69
- scope : 'Umfang',
70
- row : 'Reihe',
71
- col : 'Col',
72
- rowgroup : 'Reihe Gruppe',
73
- colgroup : 'Spalte Gruppe',
74
- col_limit : 'Sie haben die maximale Spaltenanzahl von {$cols} &uuml;berschritten.',
75
- row_limit : 'Sie haben die maximale Reihenanzahl von {$rows} &uuml;bersschritten.',
76
- cell_limit : 'Sie haben die maximale Zellenanzahl von {$cells} &uuml;bersschritten.',
77
- missing_scope: 'Sind Sie sicher, dass die fortfahren m&ouml;chten ohne einen genauen Bereich für die Kopfzelle der Tabelle eingegeben zu haben? Ohne diese Eingabe, könnten Besucher mit Behinderungen eventuell den Inhalt der Tabelle nicht richtig verstehen.',
78
- table_delta_width : 45
79
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/table/langs/de_dlg.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('de.table_dlg',{
2
+ general_tab:"Allgemein",
3
+ advanced_tab:"Erweitert",
4
+ general_props:"Allgemeine Einstellungen",
5
+ advanced_props:"Erweiterte Einstellungen",
6
+ rowtype:"Row in table part",
7
+ title:"Tabelle einf\u00FCgen/bearbeiten",
8
+ width:"Breite",
9
+ height:"H\u00F6he",
10
+ cols:"Spalten",
11
+ rows:"Zeilen",
12
+ cellspacing:"Zellenabstand",
13
+ cellpadding:"Abstand innerhalb der Zellen",
14
+ border:"Rahmen",
15
+ align:"Ausrichtung",
16
+ align_default:"Standard",
17
+ align_left:"Links",
18
+ align_right:"Rechts",
19
+ align_middle:"Mittig",
20
+ row_title:"Eigenschaften der Zeile",
21
+ cell_title:"Eigenschaften der Zelle",
22
+ cell_type:"Zellentyp",
23
+ valign:"Vertikale Ausrichtung",
24
+ align_top:"Oben",
25
+ align_bottom:"Unten",
26
+ bordercolor:"Rahmenfarbe",
27
+ bgcolor:"Hintergrundfarbe",
28
+ merge_cells_title:"Zellen vereinen",
29
+ id:"ID",
30
+ style:"Format",
31
+ langdir:"Schriftrichtung",
32
+ langcode:"Sprachcode",
33
+ mime:"MIME-Type des Inhalts",
34
+ ltr:"Links nach rechts",
35
+ rtl:"Rechts nach links",
36
+ bgimage:"Hintergrundbild",
37
+ summary:"Zusammenfassung",
38
+ td:"Textzelle",
39
+ th:"\u00DCberschrift",
40
+ cell_cell:"Diese Zelle ver\u00E4ndern",
41
+ cell_row:"Alle Zellen in dieser Zeile ver\u00E4ndern",
42
+ cell_all:"Alle Zellen der Tabelle ver\u00E4ndern",
43
+ row_row:"Diese Zeile ver\u00E4ndern",
44
+ row_odd:"Ungerade Zeilen ver\u00E4ndern",
45
+ row_even:"Gerade Zeilen ver\u00E4ndern",
46
+ row_all:"Alle Zeilen ver\u00E4ndern",
47
+ thead:"Tabellenkopf",
48
+ tbody:"Tabelleninhalt",
49
+ tfoot:"Tabellenfu\u00DF",
50
+ scope:"Zusammenhang",
51
+ rowgroup:"Vertikal gruppieren",
52
+ colgroup:"Horizontal gruppieren",
53
+ col_limit:"Sie haben die maximale Spaltenzahl von {$cols} \u00FCberschritten.",
54
+ row_limit:"Sie haben die maximale Zeilenzahl von {$rows} \u00FCberschritten.",
55
+ cell_limit:"Sie haben die maximale Zellenzahl von {$cells} \u00FCberschritten.",
56
+ missing_scope:"Sind Sie sicher, dass Sie keinen Zusammenhang f\u00FCr diese \u00DCberschrift angeben wollen? Benutzer mit k\u00F6rperlichen Einschr\u00E4nkungen k\u00F6nnten Schwierigkeiten haben, den Inhalt der Tabelle zu verstehen.",
57
+ caption:"Beschriftung der Tabelle",
58
+ frame:"Gitter",
59
+ frame_none:"keins",
60
+ frame_groups:"Gruppen",
61
+ frame_rows:"Zeilen",
62
+ frame_cols:"Spalten",
63
+ frame_all:"Alle",
64
+ rules:"Rules",
65
+ rules_void:"void",
66
+ rules_above:"above",
67
+ rules_below:"below",
68
+ rules_hsides:"hsides",
69
+ rules_lhs:"lhs",
70
+ rules_rhs:"rhs",
71
+ rules_vsides:"vsides",
72
+ rules_box:"box",
73
+ rules_border:"border"
74
+ });
mce/table/langs/en.js DELETED
@@ -1,79 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('table',{
4
- general_tab : 'General',
5
- advanced_tab : 'Advanced',
6
- general_props : 'General properties',
7
- advanced_props : 'Advanced properties',
8
- desc : 'Inserts a new table',
9
- row_before_desc : 'Insert row before',
10
- row_after_desc : 'Insert row after',
11
- delete_row_desc : 'Delete row',
12
- col_before_desc : 'Insert column before',
13
- col_after_desc : 'Insert column after',
14
- delete_col_desc : 'Remove column',
15
- rowtype : 'Row in table part',
16
- title : 'Insert/Modify table',
17
- width : 'Width',
18
- height : 'Height',
19
- cols : 'Columns',
20
- rows : 'Rows',
21
- cellspacing : 'Cellspacing',
22
- cellpadding : 'Cellpadding',
23
- border : 'Border',
24
- align : 'Alignment',
25
- align_default : 'Default',
26
- align_left : 'Left',
27
- align_right : 'Right',
28
- align_middle : 'Center',
29
- row_title : 'Table row properties',
30
- cell_title : 'Table cell properties',
31
- cell_type : 'Cell type',
32
- row_desc : 'Table row properties',
33
- cell_desc : 'Table cell properties',
34
- valign : 'Vertical alignment',
35
- align_top : 'Top',
36
- align_bottom : 'Bottom',
37
- props_desc : 'Table properties',
38
- bordercolor : 'Border color',
39
- bgcolor : 'Background color',
40
- merge_cells_title : 'Merge table cells',
41
- split_cells_desc : 'Split table cells',
42
- merge_cells_desc : 'Merge table cells',
43
- cut_row_desc : 'Cut table row',
44
- copy_row_desc : 'Copy table row',
45
- paste_row_before_desc : 'Paste table row before',
46
- paste_row_after_desc : 'Paste table row after',
47
- id : 'Id',
48
- style: 'Style',
49
- langdir : 'Language direction',
50
- langcode : 'Language code',
51
- mime : 'Target MIME type',
52
- ltr : 'Left to right',
53
- rtl : 'Right to left',
54
- bgimage : 'Background image',
55
- summary : 'Summary',
56
- td : "Data",
57
- th : "Header",
58
- cell_cell : 'Update current cell',
59
- cell_row : 'Update all cells in row',
60
- cell_all : 'Update all cells in table',
61
- row_row : 'Update current row',
62
- row_odd : 'Update odd rows in table',
63
- row_even : 'Update even rows in table',
64
- row_all : 'Update all rows in table',
65
- thead : 'Table Head',
66
- tbody : 'Table Body',
67
- tfoot : 'Table Foot',
68
- del : 'Delete table',
69
- scope : 'Scope',
70
- row : 'Row',
71
- col : 'Col',
72
- rowgroup : 'Row Group',
73
- colgroup : 'Col Group',
74
- col_limit : 'You\'ve exceeded the maximum number of columns of {$cols}.',
75
- row_limit : 'You\'ve exceeded the maximum number of rows of {$rows}.',
76
- cell_limit : 'You\'ve exceeded the maximum number of cells of {$cells}.',
77
- missing_scope: 'Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.',
78
- caption : 'Table caption'
79
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/table/langs/en_dlg.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('en.table_dlg',{
2
+ general_tab:"General",
3
+ advanced_tab:"Advanced",
4
+ general_props:"General properties",
5
+ advanced_props:"Advanced properties",
6
+ rowtype:"Row in table part",
7
+ title:"Insert/Modify table",
8
+ width:"Width",
9
+ height:"Height",
10
+ cols:"Cols",
11
+ rows:"Rows",
12
+ cellspacing:"Cellspacing",
13
+ cellpadding:"Cellpadding",
14
+ border:"Border",
15
+ align:"Alignment",
16
+ align_default:"Default",
17
+ align_left:"Left",
18
+ align_right:"Right",
19
+ align_middle:"Center",
20
+ row_title:"Table row properties",
21
+ cell_title:"Table cell properties",
22
+ cell_type:"Cell type",
23
+ valign:"Vertical alignment",
24
+ align_top:"Top",
25
+ align_bottom:"Bottom",
26
+ bordercolor:"Border color",
27
+ bgcolor:"Background color",
28
+ merge_cells_title:"Merge table cells",
29
+ id:"Id",
30
+ style:"Style",
31
+ langdir:"Language direction",
32
+ langcode:"Language code",
33
+ mime:"Target MIME type",
34
+ ltr:"Left to right",
35
+ rtl:"Right to left",
36
+ bgimage:"Background image",
37
+ summary:"Summary",
38
+ td:"Data",
39
+ th:"Header",
40
+ cell_cell:"Update current cell",
41
+ cell_row:"Update all cells in row",
42
+ cell_all:"Update all cells in table",
43
+ row_row:"Update current row",
44
+ row_odd:"Update odd rows in table",
45
+ row_even:"Update even rows in table",
46
+ row_all:"Update all rows in table",
47
+ thead:"Table Head",
48
+ tbody:"Table Body",
49
+ tfoot:"Table Foot",
50
+ scope:"Scope",
51
+ rowgroup:"Row Group",
52
+ colgroup:"Col Group",
53
+ col_limit:"You've exceeded the maximum number of columns of {$cols}.",
54
+ row_limit:"You've exceeded the maximum number of rows of {$rows}.",
55
+ cell_limit:"You've exceeded the maximum number of cells of {$cells}.",
56
+ missing_scope:"Are you sure you want to continue without specifying a scope for this table header cell. Without it, it may be difficult for some users with disabilities to understand the content or data displayed of the table.",
57
+ caption:"Table caption",
58
+ frame:"Frame",
59
+ frame_none:"none",
60
+ frame_groups:"groups",
61
+ frame_rows:"rows",
62
+ frame_cols:"cols",
63
+ frame_all:"all",
64
+ rules:"Rules",
65
+ rules_void:"void",
66
+ rules_above:"above",
67
+ rules_below:"below",
68
+ rules_hsides:"hsides",
69
+ rules_lhs:"lhs",
70
+ rules_rhs:"rhs",
71
+ rules_vsides:"vsides",
72
+ rules_box:"box",
73
+ rules_border:"border"
74
+ });
mce/table/langs/es_dlg.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('es.table_dlg',{
2
+ general_tab:"General",
3
+ advanced_tab:"Avanzado",
4
+ general_props:"Propiedades generales",
5
+ advanced_props:"Propiedades avanzadas",
6
+ rowtype:"Tipo de fila",
7
+ title:"Insertar/Modificar tabla",
8
+ width:"Ancho",
9
+ height:"Alto",
10
+ cols:"Cols",
11
+ rows:"Filas",
12
+ cellspacing:"Espaciado de celda",
13
+ cellpadding:"Relleno de celda",
14
+ border:"Borde",
15
+ align:"Alineaci\u00F3n",
16
+ align_default:"Predet.",
17
+ align_left:"Izquierda",
18
+ align_right:"Derecha",
19
+ align_middle:"Centrado",
20
+ row_title:"Propiedades de la fila",
21
+ cell_title:"Propiedades de la celda",
22
+ cell_type:"Tipo de celda",
23
+ valign:"Alineaci\u00F3n vertical",
24
+ align_top:"Arriba",
25
+ align_bottom:"Debajo",
26
+ bordercolor:"Color del borde",
27
+ bgcolor:"Color de fondo",
28
+ merge_cells_title:"Vincular celdas",
29
+ id:"Id",
30
+ style:"Estilo",
31
+ langdir:"Direcci\u00F3n del lenguaje",
32
+ langcode:"C\u00F3digo del lenguaje",
33
+ mime:"Tipo MIME",
34
+ ltr:"Izquierda a derecha",
35
+ rtl:"Derecha a izquierda",
36
+ bgimage:"Imagen de fondo",
37
+ summary:"Resumen",
38
+ td:"Datos",
39
+ th:"Encabezado",
40
+ cell_cell:"Actualizar celda actual",
41
+ cell_row:"Actualizar todas las celdas en la fila",
42
+ cell_all:"Actualizar todas las celdas en la tabla",
43
+ row_row:"Actualizar fila actual",
44
+ row_odd:"Actualizar filas impares",
45
+ row_even:"Actualizar filas pares",
46
+ row_all:"Actualizar todas las filas",
47
+ thead:"Encabezado de la tabla",
48
+ tbody:"Cuerpo de la tabla",
49
+ tfoot:"Pie de la tabla",
50
+ scope:"Alcance",
51
+ rowgroup:"Grupo de filas",
52
+ colgroup:"Grupo de columnas",
53
+ col_limit:"Ha superado el n\u00FAmero m\u00E1ximo de columnas: {$cols}.",
54
+ row_limit:"Ha superado el n\u00FAmero m\u00E1ximo de filas: {$rows}.",
55
+ cell_limit:"Ha superado el n\u00FAmero m\u00E1ximo de celdas: {$cells}.",
56
+ missing_scope:"\u00BFEst\u00E1 seguro que desea continuar sin especificar el alcance del encabezado de celda? Sin \u00E9l podr\u00EDa ser dificultoso para algunos usuarios entender el contenido o los datos mostrados en la tabla.",
57
+ caption:"Subt\u00EDtulo de la tabla",
58
+ frame:"Recuadro",
59
+ frame_none:"ninguno",
60
+ frame_groups:"grupos",
61
+ frame_rows:"filas",
62
+ frame_cols:"cols",
63
+ frame_all:"todos",
64
+ rules:"Reglas",
65
+ rules_void:"vac\u00EDo",
66
+ rules_above:"encima",
67
+ rules_below:"debajo",
68
+ rules_hsides:"hsides",
69
+ rules_lhs:"lhs",
70
+ rules_rhs:"rhs",
71
+ rules_vsides:"vsides",
72
+ rules_box:"box",
73
+ rules_border:"border"
74
+ });
mce/table/langs/es_es.js DELETED
@@ -1,85 +0,0 @@
1
- /**
2
- * ES lang variables
3
- *
4
- * Authors : Alvaro Velasco,
5
- * Adolfo Sanz De Diego (asanzdiego) <asanzdiego@yahoo.es>,
6
- * Carlos C Soto (eclipxe) <csoto@sia-solutions.com>
7
- * Eneko Castresana Vara
8
- * Last Updated : July 14, 2006
9
- * TinyMCE Version : 2.0.6.1
10
- */
11
-
12
- tinyMCE.addToLang('table',{
13
- general_tab : 'General',
14
- advanced_tab : 'Avanzado',
15
- general_props : 'Propiedades generales',
16
- advanced_props : 'Propiedades avanzadas',
17
- desc : 'Insertar/Modificar tabla',
18
- row_before_desc : 'Insertar una fila antes',
19
- row_after_desc : 'Insert una fila despu&eacute;s',
20
- delete_row_desc : 'Eliminar fila',
21
- col_before_desc : 'Insertar una columna antes',
22
- col_after_desc : 'Insertar una columna despu&eacute;s',
23
- delete_col_desc : 'Eliminar columna',
24
- rowtype : 'File en parte de tabla',
25
- title : 'Insertar/Modificar tabla',
26
- width : 'Ancho',
27
- height : 'ALto',
28
- cols : 'Columnas',
29
- rows : 'Filas',
30
- cellspacing : 'Espacio entre celdas',
31
- cellpadding : 'Borde interior de las celdas',
32
- border : 'Borde',
33
- align : 'Alineaci&oacute;n horizontal',
34
- align_default : 'Defecto',
35
- align_left : 'Izquierda',
36
- align_right : 'Derecha',
37
- align_middle : 'Centrado',
38
- row_title : 'Propiedades de la fila',
39
- cell_title : 'Propiedades de la celda',
40
- cell_type : 'Tipo de celda',
41
- row_desc : 'Propiedades de la fila',
42
- cell_desc : 'Propiedades de la celda',
43
- valign : 'Alineaci&oacute;n vertical',
44
- align_top : 'Arriba',
45
- align_bottom : 'Abajo',
46
- props_desc : 'Propiedades de la tabla',
47
- bordercolor : 'Color del borde',
48
- bgcolor : 'Color del fondo',
49
- merge_cells_title : 'Combinar celdas',
50
- split_cells_desc : 'Dividir celdas',
51
- merge_cells_desc : 'Combinar celdas',
52
- cut_row_desc : 'Cortar fila',
53
- copy_row_desc : 'Copiar fila',
54
- paste_row_before_desc : 'Pegar fila antes',
55
- paste_row_after_desc : 'Pegar fila despu&eacute;s',
56
- id : 'Id',
57
- style: 'Estilo',
58
- langdir : 'Direcci&oacute;n del texto',
59
- langcode : 'C&oacute;digo del idioma',
60
- mime : 'Tipo MIME del target',
61
- ltr : 'De izquierda a derecha',
62
- rtl : 'De derecha a izquierda',
63
- bgimage : 'Imagen de fondo',
64
- summary : 'Resumen',
65
- td : "Datos",
66
- th : "Cabecera",
67
- cell_cell : 'Actualizar la celda actual',
68
- cell_row : 'Actualizar todas las celdas de la fila',
69
- cell_all : 'Actualizar todas las celdas de la tabla',
70
- row_row : 'Actualizar la fila actual',
71
- row_odd : 'Actualizar las filas impares de la tabla',
72
- row_even : 'Actualizar las filas pares de la tabla',
73
- row_all : 'Actualizar todas las filas de la tabla',
74
- thead : 'Cabecera de la tabla',
75
- tbody : 'Cuerpo de la tabla',
76
- tfoot : 'Pie de la tabla',
77
- del : 'Eliminar tabla',
78
- scope : 'Alcance',
79
- row : 'Fila',
80
- col : 'Columna',
81
- rowgroup : 'Grupo de filas',
82
- colgroup : 'Grupo de columnas',
83
- missing_scope: '&#191;Est&aacute;s seguro que quieres continuar sin especificar el alcance para esta celda de tipo cabecera? Sin ello, puede dificultar a algunos usuarios con discapacidades el poder entender el contenido o los datos mostrados en la tabla.',
84
- cellprops_delta_width : 55
85
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/table/langs/fr_dlg.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('fr.table_dlg',{
2
+ general_tab:"G\u00E9n\u00E9ral",
3
+ advanced_tab:"Avanc\u00E9",
4
+ general_props:"Propri\u00E9t\u00E9s g\u00E9n\u00E9rales",
5
+ advanced_props:"Propri\u00E9t\u00E9s avanc\u00E9es",
6
+ rowtype:"Type de ligne",
7
+ title:"Ins\u00E9rer/Modifier tableau",
8
+ width:"Largeur",
9
+ height:"Hauteur",
10
+ cols:"Colonnes",
11
+ rows:"Lignes",
12
+ cellspacing:"Espacement des cellules",
13
+ cellpadding:"Espacement dans les cellules",
14
+ border:"Bordure",
15
+ align:"Alignement",
16
+ align_default:"Par defaut",
17
+ align_left:"Gauche",
18
+ align_right:"Droit",
19
+ align_middle:"Centr\u00E9",
20
+ row_title:"Propri\u00E9t\u00E9s de la ligne",
21
+ cell_title:"Propri\u00E9t\u00E9s de la cellule",
22
+ cell_type:"Type de cellule",
23
+ valign:"Alignement vertical",
24
+ align_top:"Haut",
25
+ align_bottom:"Bas",
26
+ bordercolor:"Couleur de la bordure",
27
+ bgcolor:"Couleur du fond",
28
+ merge_cells_title:"Fusioner les cellules",
29
+ id:"Id",
30
+ style:"Style",
31
+ langdir:"Sens de lecture",
32
+ langcode:"Code de la langue",
33
+ mime:"Type MIME de la cible",
34
+ ltr:"De gauche \u00E0 droite",
35
+ rtl:"de droite \u00E0 gauche",
36
+ bgimage:"Image de fond",
37
+ summary:"R\u00E9sum\u00E9",
38
+ td:"Donn\u00E9es",
39
+ th:"Titre",
40
+ cell_cell:"Mettre \u00E0 jour la cellule courante",
41
+ cell_row:"Mettre \u00E0 jour toutes les cellules de la ligne",
42
+ cell_all:"Mettre \u00E0 jour toutes les celluls du tableau",
43
+ row_row:"Mettre \u00E0 jour la ligne courante",
44
+ row_odd:"Mettre \u00E0 jour les lignes impaires",
45
+ row_even:"Mettre \u00E0 jour les lignes paires",
46
+ row_all:"Mettre \u00E0 jout toutes les lignes du tableau",
47
+ thead:"T\u00EAte de tableau",
48
+ tbody:"Corps de tableau",
49
+ tfoot:"Pied de tableau",
50
+ scope:"Port\u00E9e",
51
+ rowgroup:"Groupe de lignes",
52
+ colgroup:"Groupe de colonnes",
53
+ col_limit:"Vous avez d\u00E9pass\u00E9 le nombre maximum de colonnes ({$cols}).",
54
+ row_limit:"Vous avez d\u00E9pass\u00E9 le nombre maximum de lignes ({$rows}).",
55
+ cell_limit:"Vous avez d\u00E9pass\u00E9 le nombre maximum de cellules ({$cells}).",
56
+ missing_scope:"\u00CAtes-vous s\u00FBr de vouloir continuer sans sp\u00E9ficier de port\u00E9e pour cette cellule de titre\u00A0? Sans port\u00E9e, cela peut \u00EAtre difficile pour certains usagers \u00E0 probl\u00E8mes de comprendre le contenu ou les donn\u00E9es affich\u00E9es dans le tableau.",
57
+ caption:"Afficher la l\u00E9gende du tableau",
58
+ frame:"Cadre",
59
+ frame_none:"aucun",
60
+ frame_groups:"groupe",
61
+ frame_rows:"lignes",
62
+ frame_cols:"colonnes",
63
+ frame_all:"tous",
64
+ rules:"R\u00E8gles",
65
+ rules_void:"nul",
66
+ rules_above:"au dessus",
67
+ rules_below:"au dessous",
68
+ rules_hsides:"hsides",
69
+ rules_lhs:"lhs",
70
+ rules_rhs:"rhs",
71
+ rules_vsides:"vsides",
72
+ rules_box:"box",
73
+ rules_border:"border"
74
+ });
mce/table/langs/fr_fr.js DELETED
@@ -1,81 +0,0 @@
1
- // FR lang variables
2
- // Modified by shadow walker, last updated 2007-03-16, based on the work of Motte
3
-
4
- tinyMCE.addToLang('table',{
5
- general_tab : 'G&eacute;n&eacute;ral',
6
- advanced_tab : 'Avanc&eacute;',
7
- general_props : 'Propri&eacute;t&eacute;s g&eacute;n&eacute;rales',
8
- advanced_props : 'Propri&eacute;t&eacute;s avanc&eacute;es',
9
- desc : 'Ins&eacute;rer/Modifier un tableau',
10
- row_before_desc : 'Ins&eacute;rer une rang&eacute;e avant',
11
- row_after_desc : 'Ins&eacute;rer une rang&eacute;e apr&egrave;s',
12
- delete_row_desc : 'Effacer la rang&eacute;e',
13
- col_before_desc : 'Ins&eacute;rer une colonne avant',
14
- col_after_desc : 'Ins&eacute;rer une colonne apr&egrave;s',
15
- delete_col_desc : 'Effacer la colonne',
16
- rowtype : 'Type de rang&eacute;e',
17
- title : 'Gestionnaire de tableau',
18
- width : 'Largeur',
19
- height : 'Hauteur',
20
- cols : 'Colonnes',
21
- rows : 'Rang&eacute;es',
22
- cellspacing : 'Entre les cellules',
23
- cellpadding : 'Marges int&eacute;rieures',
24
- border : 'Bordures',
25
- align : 'Alignement horizontal',
26
- align_default : 'Par d&eacute;fault',
27
- align_left : 'A gauche',
28
- align_right : 'A droite',
29
- align_middle : 'Centr&eacute;',
30
- row_title : 'Propri&eacute;t&eacute;s des rang&eacute;es',
31
- cell_title : 'Propri&eacute;t&eacute;s des cellules',
32
- cell_type : 'Type',
33
- row_desc : 'Propri&eacute;t&eacute;s des rang&eacute;es',
34
- cell_desc : 'Propri&eacute;t&eacute;s des cellules',
35
- valign : 'Alignement vertical',
36
- align_top : 'Haut',
37
- align_bottom : 'Bas',
38
- props_desc : 'Propri&eacute;t&eacute;s du tableau',
39
- bordercolor : 'Couleur des bordures',
40
- bgcolor : 'Couleur d\'arri&egrave;re-plan',
41
- merge_cells_title : 'Fusionner les cellules',
42
- split_cells_desc : 'Scinder les cellules',
43
- merge_cells_desc : 'Fusionner les cellules',
44
- cut_row_desc : 'Eliminer la rang&eacute;e',
45
- copy_row_desc : 'Copier la rang&eacute;e',
46
- paste_row_before_desc : 'Coller la rang&eacute;e avant',
47
- paste_row_after_desc : 'Coller la rang&eacute;e apr&egrave;s',
48
- id : 'Id',
49
- style: 'Style en ligne',
50
- langdir : 'Sens d\'&eacute;criture',
51
- langcode : 'Code de langue',
52
- mime : 'Type MIME de la cible',
53
- ltr : 'Vers la droite',
54
- rtl : 'Vers la gauche',
55
- bgimage : 'Image d\'arri&egrave;re-plan',
56
- summary : 'Descriptif',
57
- td : "Donn&eacute;e",
58
- th : "En-t&ecirc;te",
59
- cell_cell : 'Appliquer &agrave; la cellule',
60
- cell_row : 'Appliquer &agrave; toute la rang&eacute;e',
61
- cell_all : 'Appliquer &agrave; tout le tableau',
62
- row_row : 'Appliquer &agrave; la rang&eacute;e',
63
- row_odd : 'Appliquer aux rang&eacute;es pair',
64
- row_even : 'Appliquer aux rang&eacute;es impair',
65
- row_all : 'Appliquer &agrave; toutes les rang&eacute;es',
66
- thead : 'En-t&ecirc;te',
67
- tbody : 'Corps',
68
- tfoot : 'Pied',
69
- del : 'Effacer le tableau',
70
- scope : 'Attribut scope',
71
- row : 'Rang&eacute;e',
72
- col : 'Colonne',
73
- rowgroup : 'Groupe de rang&eacute;es',
74
- colgroup : 'Groupe de colonnes',
75
- col_limit : 'Limite de colonnes atteintes {$cols}.',
76
- row_limit : 'Limite de rang&eacute;es atteintes {$rows}.',
77
- cell_limit : 'Limite de cellules atteintes {$cells}.',
78
- missing_scope: 'Les attributs scope rendraient votre tableau de donn&eacute;es plus\naccessible &agrave; certains groupes d\'utilisateurs.\n\nEtes-vous s&ucirc;r de ne pas vouloir sp&eacute;cifier\nd\'attribut scope aux cellules d\'en-t&ecirc;te ?\n\n',
79
- caption : 'Libell&eacute; du tableau',
80
- cellprops_delta_width : 50
81
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/table/langs/it_dlg.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('it.table_dlg',{
2
+ general_tab:"Generale",
3
+ advanced_tab:"Avanzate",
4
+ general_props:"Propriet\u00E0 generali",
5
+ advanced_props:"Propriet\u00E0 avanzate",
6
+ rowtype:"Riga in una parte di tabella",
7
+ title:"Inserisci/Modifica tabella",
8
+ width:"Larghezza",
9
+ height:"Altezza",
10
+ cols:"Colonne",
11
+ rows:"Righe",
12
+ cellspacing:"Spaziatura celle",
13
+ cellpadding:"Padding celle",
14
+ border:"Bordo",
15
+ align:"Allineamento",
16
+ align_default:"Predefinito",
17
+ align_left:"A sinistra",
18
+ align_right:"A destra",
19
+ align_middle:"Centra",
20
+ row_title:"Propriet\u00E0 riga",
21
+ cell_title:"Propriet\u00E0 cella",
22
+ cell_type:"Tipo cella",
23
+ valign:"Allineamento verticale",
24
+ align_top:"In alto",
25
+ align_bottom:"In basso",
26
+ bordercolor:"Colore bordo",
27
+ bgcolor:"Colore sfondo",
28
+ merge_cells_title:"Unisci celle",
29
+ id:"Id",
30
+ style:"Stile",
31
+ langdir:"Direzione testo",
32
+ langcode:"Lingua",
33
+ mime:"Tipo MIME del target",
34
+ ltr:"Sinistra verso destra",
35
+ rtl:"Destra verso sinistra",
36
+ bgimage:"Immagine sfondo",
37
+ summary:"Sommario",
38
+ td:"Data",
39
+ th:"Intestazione",
40
+ cell_cell:"Aggiorna cella corrente",
41
+ cell_row:"Aggiorna tutte le celle della riga",
42
+ cell_all:"Aggiorna tutte le celle della tabella",
43
+ row_row:"Aggiorna riga corrente",
44
+ row_odd:"Aggiorna righe dispari della tabella",
45
+ row_even:"Aggiorna righe pari della tabella",
46
+ row_all:"Update tutte le righe della tabella",
47
+ thead:"Intestazione tabella",
48
+ tbody:"Corpo tabella",
49
+ tfoot:"Pedice tabella",
50
+ scope:"Scope",
51
+ rowgroup:"Gruppo riga",
52
+ colgroup:"Gruppo colonna",
53
+ col_limit:"Superato il numero massimo di colonne di {$cols}.",
54
+ row_limit:"Superato il numero massimo di righe di {$rows}.",
55
+ cell_limit:"Superato il numero massimo di celle di {$cells}.",
56
+ missing_scope:"Sicuro di proseguire senza aver specificato uno scope per l'intestazione di questa tabella? Senza di esso, potrebbe essere difficoltoso per alcuni utenti con disabilit\u00E0 capire il contenuto o i dati mostrati nella tabella.",
57
+ caption:"Table caption",
58
+ frame:"Cornice",
59
+ frame_none:"nessuna",
60
+ frame_groups:"gruppi",
61
+ frame_rows:"righe",
62
+ frame_cols:"colonne",
63
+ frame_all:"tutte",
64
+ rules:"Regole",
65
+ rules_void:"void",
66
+ rules_above:"above",
67
+ rules_below:"below",
68
+ rules_hsides:"hsides",
69
+ rules_lhs:"lhs",
70
+ rules_rhs:"rhs",
71
+ rules_vsides:"vsides",
72
+ rules_box:"box",
73
+ rules_border:"border"
74
+ });
mce/table/langs/it_it.js DELETED
@@ -1,86 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('table',{
10
- general_tab : 'Generale',
11
- advanced_tab : 'Avanzate',
12
- general_props : 'Propriet&agrave; generali',
13
- advanced_props : 'Propriet&agrave; avanzate',
14
- desc : 'Inserisci una nuova tabella',
15
- row_before_desc : 'Inserisci una riga prima',
16
- row_after_desc : 'Inserisci una riga dopo',
17
- delete_row_desc : 'Cancella riga',
18
- col_before_desc : 'Inserisci una colonna prima',
19
- col_after_desc : 'Inserisci una colonna dopo',
20
- delete_col_desc : 'Cancella colonna',
21
- rowtype : 'Tipo di riga',
22
- title : 'Inserisci o modifica tabella',
23
- width : 'Larghezza',
24
- height : 'Altezza',
25
- cols : 'Colonne',
26
- rows : 'Righe',
27
- cellspacing : 'Spaziatura tra celle',
28
- cellpadding : 'Margine interno celle',
29
- border : 'Bordo',
30
- align : 'Allineamento',
31
- align_default : 'Predefinito',
32
- align_left : 'A sinistra',
33
- align_right : 'A destra',
34
- align_middle : 'Al centro',
35
- row_title : 'Propriet&agrave; di riga',
36
- cell_title : 'Propriet&agrave; di cella',
37
- cell_type : 'Tipo di cella',
38
- row_desc : 'Propriet&agrave; di riga',
39
- cell_desc : 'Propriet&agrave; di cella',
40
- valign : 'Allineamento verticale',
41
- align_top : 'In alto',
42
- align_bottom : 'In basso',
43
- props_desc : 'Propriet&agrave; di tabella',
44
- bordercolor : 'Colore del bordo',
45
- bgcolor : 'Colore di sfondo',
46
- merge_cells_title : 'Unisci celle',
47
- split_cells_desc : 'Dividi celle',
48
- merge_cells_desc : 'Unisci celle',
49
- cut_row_desc : 'Taglia riga',
50
- copy_row_desc : 'Copia riga',
51
- paste_row_before_desc : 'Incolla riga prima',
52
- paste_row_after_desc : 'Incolla riga dopo',
53
- id : 'Id',
54
- style: 'Stile',
55
- langdir : 'Direzione del testo',
56
- langcode : 'Codifica lingua',
57
- mime : 'Tipo MIME destinazione',
58
- ltr : 'Da sinistra a destra',
59
- rtl : 'Da destra a sinistra',
60
- bgimage : 'Immagine di sfondo',
61
- summary : 'Riassunto',
62
- td : "Normale",
63
- th : "Intestazione",
64
- cell_cell : 'Aggiorna cella corrente',
65
- cell_row : 'Aggiorna tutte le celle della riga',
66
- cell_all : 'Aggiorna tutte le celle della tabella',
67
- row_row : 'Aggiorna riga corrente',
68
- row_odd : 'Aggiorna righe dispari della tabella',
69
- row_even : 'Aggiorna righe pari della tabella',
70
- row_all : 'Aggiorna tutte le righe della tabella',
71
- thead : 'Intestazione',
72
- tbody : 'Corpo',
73
- tfoot : 'Footer',
74
- del : 'Elimina tabella',
75
- scope : 'Ambito',
76
- row : 'Riga',
77
- col : 'Colonna',
78
- rowgroup : 'Gruppo di righe',
79
- colgroup : 'Gruppo di colonne',
80
- col_limit : 'Hai superato il massimo numero di colonne di {$cols}.',
81
- row_limit : 'Hai superato il massimo numero di righe di {$rows}.',
82
- cell_limit : 'Hai superato il massimo numero di celle di {$cells}.',
83
- missing_scope: 'Sei sicuro di voler omettere un ambito per questa cella di intestazione? L\'ambito &egrave; utile alle persone con disabilit&agrave; per interpretare i contenuti della tabella.',
84
- caption : 'Intestazione tabella',
85
- cellprops_delta_width : 150
86
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/table/langs/ja_dlg.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ja.table_dlg',{
2
+ general_tab:"\u57FA\u672C",
3
+ advanced_tab:"\u9AD8\u7EA7",
4
+ general_props:"\u57FA\u672C \u5C5E\u6027",
5
+ advanced_props:"\u9AD8\u7EA7\u5C5E\u6027",
6
+ rowtype:"\u884C\u6240\u5728\u7684\u8868\u683C\u4F4D\u7F6E",
7
+ title:"\u63D2\u5165/\u7F16\u8F91 \u8868\u683C",
8
+ width:"\u5BBD\u5EA6",
9
+ height:"\u9AD8\u5EA6",
10
+ cols:"\u5217\u6570",
11
+ rows:"\u884C\u6570",
12
+ cellspacing:"\u50A8\u5B58\u683C\u95F4\u8DDD",
13
+ cellpadding:"\u50A8\u5B58\u683C\u5185\u8DDD",
14
+ border:"\u8FB9\u6846",
15
+ align:"\u5BF9\u9F50\u65B9\u5F0F",
16
+ align_default:"\u9ED8\u8BA4",
17
+ align_left:"\u5C45\u5DE6",
18
+ align_right:"\u5C45\u53F3",
19
+ align_middle:"\u5C45\u4E2D",
20
+ row_title:"\u884C \u5C5E\u6027",
21
+ cell_title:"\u50A8\u5B58\u683C \u5C5E\u6027",
22
+ cell_type:"\u50A8\u5B58\u683C \u7C7B\u522B",
23
+ valign:"\u5782\u76F4\u5BF9\u9F50\u65B9\u5F0F",
24
+ align_top:"\u9876\u90E8",
25
+ align_bottom:"\u5E95\u90E8",
26
+ bordercolor:"\u8FB9\u6846\u989C\u8272",
27
+ bgcolor:"\u80CC\u666F\u989C\u8272",
28
+ merge_cells_title:"\u5408\u5E76\u50A8\u5B58\u683C",
29
+ id:"Id",
30
+ style:"\u6837\u5F0F",
31
+ langdir:"\u8BED\u8A00\u4E66\u5199\u65B9\u5411",
32
+ langcode:"\u8BED\u8A00\u7F16\u7801",
33
+ mime:"\u76EE\u6807 MIME \u7C7B\u578B",
34
+ ltr:"\u4ECE\u5DE6\u5230\u53F3",
35
+ rtl:"\u4ECE\u53F3\u5230\u5DE6",
36
+ bgimage:"\u80CC\u666F\u56FE\u7247",
37
+ summary:"\u6458\u8981",
38
+ td:"\u8868\u683C",
39
+ th:"\u8868\u5934",
40
+ cell_cell:"\u66F4\u65B0\u76EE\u524D\u7684\u50A8\u5B58\u683C",
41
+ cell_row:"\u66F4\u65B0\u5F53\u524D\u884C\u7684\u50A8\u5B58\u683C",
42
+ cell_all:"\u66F4\u65B0\u5168\u90E8\u50A8\u5B58\u683C",
43
+ row_row:"\u66F4\u65B0\u6240\u5728\u884C",
44
+ row_odd:"\u66F4\u65B0\u8868\u683C\u7684\u5947\u6570\u884C",
45
+ row_even:"\u66F4\u65B0\u8868\u683C\u7684\u5076\u6570\u884C",
46
+ row_all:"\u66F4\u65B0\u8868\u683C\u7684\u5168\u90E8\u884C",
47
+ thead:"\u8868\u5934",
48
+ tbody:"\u8868\u4F53",
49
+ tfoot:"\u8868\u811A",
50
+ scope:"\u8303\u56F4",
51
+ rowgroup:"\u884C\u7EC4",
52
+ colgroup:"\u5217\u7EC4",
53
+ col_limit:"\u5DF2\u8D85\u8FC7\u9650\u5236\uFF0C\u6700\u591A\u4E3A {$cols} \u5217\u3002",
54
+ row_limit:"\u5DF2\u8D85\u8FC7\u9650\u5236\uFF0C\u6700\u591A\u4E3A {$rows} \u884C\u3002",
55
+ cell_limit:"\u5DF2\u8D85\u8FC7\u9650\u5236\uFF0C\u6700\u591A\u4E3A{$cells} \u50A8\u5B58\u683C\u3002",
56
+ missing_scope:"\u60A8\u786E\u5B9A\u4E0D\u6307\u5B9A\u8868\u5934\u50A8\u5B58\u683C\u7684\u8303\u56F4\u5417\uFF1F\u5982\u679C\u4E0D\u6307\u5B9A\uFF0C\u90E8\u5206\u4F7F\u7528\u8005\u5C06\u5F88\u96BE\u67E5\u770B\u8868\u683C\u5185\u5BB9",
57
+ caption:"\u8868\u683C\u6807\u9898",
58
+ frame:"\u8FB9\u6846",
59
+ frame_none:"\u65E0",
60
+ frame_groups:"\u7EC4",
61
+ frame_rows:"\u884C",
62
+ frame_cols:"\u5217",
63
+ frame_all:"\u5168\u90E8",
64
+ rules:"\u6807\u5C3A",
65
+ rules_void:"\u7A7A",
66
+ rules_above:"\u4E4B\u4E0A",
67
+ rules_below:"\u4E4B\u4E0B",
68
+ rules_hsides:"\u6C34\u5E73\u5927\u5C0F",
69
+ rules_lhs:"lhs",
70
+ rules_rhs:"rhs",
71
+ rules_vsides:"\u5782\u76F4\u5927\u5C0F",
72
+ rules_box:"\u76D2",
73
+ rules_border:"\u8FB9\u6846"
74
+ });
mce/table/langs/langs.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+ $lang_file = dirname(__FILE__) . '/' . $mce_locale . '_dlg.js';
3
+
4
+ if ( is_file($lang_file) && is_readable($lang_file) ) {
5
+ $strings .= getFileContents($lang_file);
6
+ }
7
+ ?>
mce/table/langs/pt_br.js DELETED
@@ -1,88 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 26, 2005 - TinyMCE Version : 2.0RC4
9
- * Last Updated : November 20, 2006 - TinyMCE Version : 2.0.8
10
- */
11
- tinyMCE.addToLang('table',{
12
- general_tab : 'Geral',
13
- advanced_tab : 'Avan�ado',
14
- general_props : 'Propriedades gerais',
15
- advanced_props : 'Propriedades avan�adas',
16
- desc : 'Inserir uma nova tabela',
17
- row_before_desc : 'Inserir uma linha antes',
18
- row_after_desc : 'Inserir uma linha depois',
19
- delete_row_desc : 'Apagar linha',
20
- col_before_desc : 'Inserir uma coluna antes',
21
- col_after_desc : 'Inserir uma coluna depois',
22
- delete_col_desc : 'Remover coluna',
23
- rowtype : 'Linhas na tabela parcial',
24
- title : 'Inserir/modificar tabela',
25
- width : 'Largura',
26
- height : 'Altura',
27
- cols : 'Colunas',
28
- rows : 'Linhas',
29
- cellspacing : 'Espa�amento das c�lulas',
30
- cellpadding : 'Margem interna',
31
- border : 'Borda',
32
- align : 'Alinhamento',
33
- align_default : 'Padr�o',
34
- align_left : 'Esquerda',
35
- align_right : 'Direita',
36
- align_middle : 'Centrado',
37
- row_title : 'Propriedades das linha',
38
- cell_title : 'Propriedades da c�lula',
39
- cell_type : 'Tipo de c�lula',
40
- row_desc : 'Propriedades das linhas',
41
- cell_desc : 'Propriedades da c�lula',
42
- valign : 'Alinhamento vertical',
43
- align_top : 'Superior',
44
- align_bottom : 'Inferior',
45
- props_desc : 'Propriedades da tabela',
46
- bordercolor : 'Cor da borda',
47
- bgcolor : 'Cor do fundo',
48
- merge_cells_title : 'Juntar c�lulas',
49
- split_cells_desc : 'Separar c�lulas da tabela',
50
- merge_cells_desc : 'Juntar c�lulas da tabela',
51
- cut_row_desc : 'Recortar linha',
52
- copy_row_desc : 'Copiar linha',
53
- paste_row_before_desc : 'Colar linha antes',
54
- paste_row_after_desc : 'Colar linha depois',
55
- id : 'Id',
56
- style: 'Estilo',
57
- langdir : 'Dire��o do texto',
58
- langcode : 'C�digo do idioma',
59
- mime : 'Tipo de MIME do objeto',
60
- ltr : 'Esquerda para direita',
61
- rtl : 'Direita para esquerda',
62
- bgimage : 'Imagem de fundo',
63
- summary : 'Sum�rio',
64
- td : 'Dados',
65
- th : 'Cabe�alho',
66
- cell_cell : 'Atulizar c�lula atual',
67
- cell_row : 'Atualizar todas as c�lulas na linha',
68
- cell_all : 'Atualizar todas as c�lulas da tabela',
69
- row_row : 'Atualizar linha atual',
70
- row_odd : 'Atualizar linhas �mpares na tabela',
71
- row_even : 'Atualizar linhas pares na tabela',
72
- row_all : 'Atualizar todas as linhas na tabela',
73
- thead : 'Cabe�alho da tabela',
74
- tbody : 'Corpo da tabela',
75
- tfoot : 'Rodap� da tabela',
76
- del : 'Apagar tabela',
77
- scope : 'Escopo',
78
- row : 'Linha',
79
- col : 'Coluna',
80
- rowgroup : 'Grupo de linhas',
81
- colgroup : 'Grupo de colunas',
82
- col_limit : 'Voc� excedeu o n�mero m�ximo de colunas ({$cols}).',
83
- row_limit : 'Voc� excedeu o n�mero m�ximo de linhas ({$rows}).',
84
- cell_limit : 'Voc� excedeu o n�mero m�ximo de c�lulas ({$cells}).',
85
- missing_scope: 'Tem certeza que deseja continuar sem especificar um escopo para esta c�lula de cabe�alho? Sem isso talvez seja dif�cil para alguns usu�rios com necessidades especiais entenderem o conte�do ou visualizarem a tabela.',
86
- caption : 'T�tulo da tabela',
87
- cellprops_delta_width : 55
88
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/table/langs/pt_dlg.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('pt.table_dlg',{
2
+ general_tab:"Geral",
3
+ advanced_tab:"Avan\u00E7ado",
4
+ general_props:"Propriedades gerais",
5
+ advanced_props:"Propriedades avan\u00E7adas",
6
+ rowtype:"Linha na parte da tabela",
7
+ title:"Inserir/modificar tabela",
8
+ width:"Largura",
9
+ height:"Altura",
10
+ cols:"Cols",
11
+ rows:"Rows",
12
+ cellspacing:"Cellspacing",
13
+ cellpadding:"Cellpadding",
14
+ border:"Borda",
15
+ align:"Alinhamento",
16
+ align_default:"Padr\u00E3o",
17
+ align_left:"Esquerda",
18
+ align_right:"Direita",
19
+ align_middle:"Centro",
20
+ row_title:"Propriedades de linhas",
21
+ cell_title:"Propriedades de c\u00E9lulas",
22
+ cell_type:"Tipo de c\u00E9lula",
23
+ valign:"Alinhamento vertical",
24
+ align_top:"Topo",
25
+ align_bottom:"Embaixo",
26
+ bordercolor:"Cor da borda",
27
+ bgcolor:"Cor de fundo",
28
+ merge_cells_title:"Unir c\u00E9lulas",
29
+ id:"Id",
30
+ style:"Estilo",
31
+ langdir:"Dire\u00E7\u00E3o do texto",
32
+ langcode:"C\u00F3digo da linguagem",
33
+ mime:"MIME alvo",
34
+ ltr:"Esquerda para direita",
35
+ rtl:"Direita para esquerda",
36
+ bgimage:"Imagem de fundo",
37
+ summary:"Sum\u00E1rio",
38
+ td:"Dados",
39
+ th:"Campo",
40
+ cell_cell:"Atualizar esta c\u00E9lula",
41
+ cell_row:"Atualizar todas as c\u00E9lulas na linha",
42
+ cell_all:"Atualizar todas as c\u00E9lulas na tabela",
43
+ row_row:"Atualizar esta linha",
44
+ row_odd:"Atualizar linhas \u00EDmpares",
45
+ row_even:"Atualizar linhas pares",
46
+ row_all:"Atualizar todas as linhas",
47
+ thead:"Topo da tabela",
48
+ tbody:"Corpo da tabela",
49
+ tfoot:"Rodap\u00E9 da tabela",
50
+ scope:"Alcance",
51
+ rowgroup:"Grupo linhas",
52
+ colgroup:"Grupo colunas",
53
+ col_limit:"Voc\u00EA excedeu o n\u00FAmero m\u00E1ximo de colunas de {$cols}.",
54
+ row_limit:"Voc\u00EA excedeu o n\u00FAmero m\u00E1ximo de linhas de {$rows}.",
55
+ cell_limit:"Voc\u00EA excedeu o n\u00FAmero m\u00E1ximo de c\u00E9lulas de {$cells}.",
56
+ missing_scope:"Tem certeza de que quer continuar sem especificar um escopo para esta c\u00E9lula? (Isso poder\u00E1 causar dificuldades a usu\u00E1rios deficientes)",
57
+ caption:"T\u00EDtulo da tabela",
58
+ frame:"Frame",
59
+ frame_none:"Nenhum",
60
+ frame_groups:"Grupos",
61
+ frame_rows:"Linhas",
62
+ frame_cols:"colunas",
63
+ frame_all:"Todos",
64
+ rules:"Regras",
65
+ rules_void:"Void",
66
+ rules_above:"Acima",
67
+ rules_below:"Abaixo",
68
+ rules_hsides:"Hsides",
69
+ rules_lhs:"Lhs",
70
+ rules_rhs:"Rhs",
71
+ rules_vsides:"Vsides",
72
+ rules_box:"Box",
73
+ rules_border:"Borda"
74
+ });
mce/table/langs/ru_dlg.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ru.table_dlg',{
2
+ general_tab:"\u041E\u0441\u043D\u043E\u0432\u043D\u044B\u0435",
3
+ advanced_tab:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435",
4
+ general_props:"\u041E\u0441\u043D\u043E\u0432\u043D\u044B\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",
5
+ advanced_props:"\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435 \u0441\u0432\u043E\u0439\u0441\u0442\u0432\u0430",
6
+ rowtype:"\u0421\u0442\u0440\u043E\u043A\u0430 \u0432 \u0447\u0430\u0441\u0442\u0438 \u0442\u0430\u0431\u043B\u0438\u0446\u044B",
7
+ title:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0442\u0430\u0431\u043B\u0438\u0446\u0443",
8
+ width:"\u0428\u0438\u0440\u0438\u043D\u0430",
9
+ height:"\u0412\u044B\u0441\u043E\u0442\u0430",
10
+ cols:"\u041A\u043E\u043B\u043E\u043D\u043A\u0438",
11
+ rows:"\u0421\u0442\u0440\u043E\u043A\u0438",
12
+ cellspacing:"\u0420\u0430\u0441\u0441\u0442\u043E\u044F\u043D\u0438\u0435 \u043C\u0435\u0436\u0434\u0443 \u044F\u0447\u0435\u0439\u043A\u0430\u043C\u0438",
13
+ cellpadding:"\u041E\u0442\u0441\u0442\u0443\u043F \u0432 \u044F\u0447\u0435\u0439\u043A\u0430\u0445",
14
+ border:"\u0413\u0440\u0430\u043D\u0438\u0446\u0430",
15
+ align:"\u0412\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435",
16
+ align_default:"\u041D\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",
17
+ align_left:"\u041F\u043E \u043B\u0435\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E",
18
+ align_right:"\u041F\u043E \u043F\u0440\u0430\u0432\u043E\u043C\u0443 \u043A\u0440\u0430\u044E",
19
+ align_middle:"\u041F\u043E \u0446\u0435\u043D\u0442\u0440\u0443",
20
+ row_title:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u0440\u044F\u0434\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u044B",
21
+ cell_title:"\u0421\u0432\u043E\u0439\u0441\u0442\u0432\u0430 \u044F\u0447\u0435\u0439\u043A\u0438 \u0442\u0430\u0431\u043B\u0438\u0446\u044B",
22
+ cell_type:"\u0422\u0438\u043F \u044F\u0447\u0435\u0439\u043A\u0438",
23
+ valign:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u043E\u0435 \u0432\u044B\u0440\u0430\u0432\u043D\u0438\u0432\u0430\u043D\u0438\u0435",
24
+ align_top:"\u041F\u043E \u0432\u0435\u0440\u0445\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E",
25
+ align_bottom:"\u041F\u043E \u043D\u0438\u0436\u043D\u0435\u043C\u0443 \u043A\u0440\u0430\u044E",
26
+ bordercolor:"\u0426\u0432\u0435\u0442 \u0440\u0430\u043C\u043A\u0438",
27
+ bgcolor:"\u0426\u0432\u0435\u0442 \u0444\u043E\u043D\u0430",
28
+ merge_cells_title:"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u044F\u0447\u0435\u0439\u043A\u0438 \u0442\u0430\u0431\u043B\u0438\u0446\u044B",
29
+ id:"Id",
30
+ style:"\u0421\u0442\u0438\u043B\u044C",
31
+ langdir:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u0438\u0441\u044C\u043C\u0430 \u0432 \u044F\u0437\u044B\u043A\u0435",
32
+ langcode:"\u041A\u043E\u0434 \u044F\u0437\u044B\u043A\u0430",
33
+ mime:"\u0426\u0435\u043B\u0435\u0432\u043E\u0439 MIME \u0442\u0438\u043F",
34
+ ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E",
35
+ rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E",
36
+ bgimage:"\u0424\u043E\u043D\u043E\u0432\u043E\u0435 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0435",
37
+ summary:"\u0420\u0435\u0437\u044E\u043C\u0435",
38
+ td:"\u0414\u0430\u0442\u0430",
39
+ th:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",
40
+ cell_cell:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u044F\u0447\u0435\u0439\u043A\u0443",
41
+ cell_row:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u044F\u0447\u0435\u0439\u043A\u0438 \u0432 \u0441\u0442\u0440\u043E\u043A\u0435",
42
+ cell_all:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u044F\u0447\u0435\u0439\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435",
43
+ row_row:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0441\u0442\u0440\u043E\u043A\u0443",
44
+ row_odd:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u043D\u0435\u0447\u0435\u0442\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435",
45
+ row_even:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u0447\u0435\u0442\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435",
46
+ row_all:"\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u0441\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435",
47
+ thead:"\u0428\u0430\u043F\u043A\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u044B",
48
+ tbody:"\u0422\u0435\u043B\u043E \u0442\u0430\u0431\u043B\u0438\u0446\u044B",
49
+ tfoot:"\u041A\u043E\u043D\u0435\u0446 \u0442\u0430\u0431\u043B\u0438\u0446\u044B",
50
+ scope:"\u0413\u0440\u0430\u043D\u0438\u0446\u044B \u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u0438",
51
+ rowgroup:"\u0413\u0440\u0443\u043F\u043F\u0430 \u0441\u0442\u0440\u043E\u043A",
52
+ colgroup:"\u0413\u0440\u0443\u043F\u043F\u0430 \u043A\u043E\u043B\u043E\u043D\u043E\u043A",
53
+ col_limit:"\u0412\u044B \u043F\u0440\u0435\u0432\u044B\u0441\u0438\u043B\u0438 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u043A\u043E\u043B\u043E\u043D\u043E\u043A: {$cols}.",
54
+ row_limit:"\u0412\u044B \u043F\u0440\u0435\u0432\u044B\u0441\u0438\u043B\u0438 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u0441\u0442\u0440\u043E\u043A: {$rows}.",
55
+ cell_limit:"\u0412\u044B \u043F\u0440\u0435\u0432\u044B\u0441\u0438\u043B\u0438 \u043C\u0430\u043A\u0441\u0438\u043C\u0430\u043B\u044C\u043D\u043E \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E \u044F\u0447\u0435\u0435\u043A: {$cells}.",
56
+ missing_scope:"\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C, \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u0432 \u0433\u0440\u0430\u043D\u0438\u0446\u044B \u0432\u0438\u0434\u0438\u043C\u043E\u0441\u0442\u0438 \u0434\u043B\u044F \u044D\u0442\u043E\u0439 \u044F\u0447\u0435\u0439\u043A\u0438 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u044B? \u0411\u0435\u0437 \u0443\u043A\u0430\u0437\u0430\u043D\u0438\u044F \u0433\u0440\u0430\u043D\u0438\u0446 \u043D\u0435\u043A\u043E\u0442\u043E\u0440\u044B\u043C \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F\u043C-\u0438\u043D\u0432\u0430\u043B\u0438\u0434\u0430\u043C \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0441\u043B\u043E\u0436\u043D\u043E \u043F\u043E\u043D\u0438\u043C\u0430\u0442\u044C \u043A\u043E\u043D\u0442\u0435\u043D\u0442 \u0438\u043B\u0438 \u0434\u0430\u043D\u043D\u044B\u0435 \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044B\u0435 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435.",
57
+ caption:"\u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A \u0442\u0430\u0431\u043B\u0438\u0446\u044B",
58
+ frame:"\u0424\u0440\u0435\u0439\u043C",
59
+ frame_none:"\u043D\u0435 \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",
60
+ frame_groups:"\u0433\u0440\u0443\u043F\u043F\u044B",
61
+ frame_rows:"\u0441\u0442\u0440\u043E\u043A\u0438",
62
+ frame_cols:"\u043A\u043E\u043B\u043E\u043D\u043A\u0438",
63
+ frame_all:"\u0432\u0441\u0435",
64
+ rules:"\u041F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0430",
65
+ rules_void:"\u0431\u0435\u0437 \u043F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0438",
66
+ rules_above:"\u0441\u0432\u0435\u0440\u0445\u0443",
67
+ rules_below:"\u0441\u043D\u0438\u0437\u0443",
68
+ rules_hsides:"\u0432\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u043E",
69
+ rules_lhs:"lhs",
70
+ rules_rhs:"rhs",
71
+ rules_vsides:"vsides",
72
+ rules_box:"box",
73
+ rules_border:"\u0433\u0440\u0430\u043D\u0438\u0446\u0430"
74
+ });
mce/table/langs/ru_ru.js DELETED
@@ -1,79 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('table',{
4
- general_tab : 'Основные',
5
- advanced_tab : 'Расширенные',
6
- general_props : 'Основные свойства',
7
- advanced_props : 'Расширенные свойства',
8
- desc : 'Вставить новую таблицу',
9
- row_before_desc : 'Вставить строку перед',
10
- row_after_desc : 'Вставить строку после',
11
- delete_row_desc : 'Удалить строку',
12
- col_before_desc : 'Вставить колонку перед',
13
- col_after_desc : 'Вставить колонку после',
14
- delete_col_desc : 'Удалить колонку',
15
- rowtype : 'Строка в части таблицы',
16
- title : 'Вставить/Изменить таблицу',
17
- width : 'Ширина',
18
- height : 'Высота',
19
- cols : 'Колонки',
20
- rows : 'Строки',
21
- cellspacing : 'Расстояние между ячейками',
22
- cellpadding : 'Отступ в ячейках',
23
- border : 'Граница',
24
- align : 'Выравнивание',
25
- align_default : 'По умолчанию',
26
- align_left : 'Всево',
27
- align_right : 'Вправо',
28
- align_middle : 'По центру',
29
- row_title : 'Свойства строки таблицы',
30
- cell_title : 'Свойства ячейки таблицы',
31
- cell_type : 'Тип ячейки',
32
- row_desc : 'Свойства строки таблицы',
33
- cell_desc : 'Свойства ячейки таблицы',
34
- valign : 'Вертикальное выравнивание',
35
- align_top : 'По верху',
36
- align_bottom : 'По низу',
37
- props_desc : 'Свойства таблицы',
38
- bordercolor : 'Цвет рамки',
39
- bgcolor : 'Цвет фона',
40
- merge_cells_title : 'Объединить ячейки таблицы',
41
- split_cells_desc : 'Разделить ячейки таблицы',
42
- merge_cells_desc : 'Объединить ячейки таблицы',
43
- cut_row_desc : 'Вылезать строку таблицы',
44
- copy_row_desc : 'Скопировать строку таблицы',
45
- paste_row_before_desc : 'Вставить строку таблицы перед',
46
- paste_row_after_desc : 'Вставить строку таблицы после',
47
- id : 'Id',
48
- style: 'Стиль',
49
- langdir : 'Описание языка',
50
- langcode : 'Код языка',
51
- mime : 'Целевой MIME тип',
52
- ltr : 'Слева направо',
53
- rtl : 'Справа налево',
54
- bgimage : 'Фоновое изображение',
55
- summary : 'Краткое описание',
56
- td : "Тело",
57
- th : "Заголовок",
58
- cell_cell : 'Обновить текущую ячейку',
59
- cell_row : 'Обновить текущую строку',
60
- cell_all : 'Обновить все ячейки в таблице',
61
- row_row : 'Обновить текущую строку',
62
- row_odd : 'Обновить нечетные строки в таблице',
63
- row_even : 'Обновить четные строки в таблице',
64
- row_all : 'Обновить все строки в таблице',
65
- thead : 'Заголовок таблицы',
66
- tbody : 'Тело таблицы',
67
- tfoot : 'Подвал таблицы',
68
- del : 'Удалить таблицу',
69
- scope : 'Границы',
70
- row : 'Строка',
71
- col : 'Колонка',
72
- rowgroup : 'Группа строк',
73
- colgroup : 'Группа колонок',
74
- col_limit : 'Вы превысили максимально допустимое количество колонок - {$cols}.',
75
- row_limit : 'Вы превысили максимально допустимое количество строк - {$rows}.',
76
- cell_limit : 'Вы превысили максимально допустимое количество ячеек - {$cells}.',
77
- missing_scope: 'Вы уверены, что хотите продолжать не обозначив границы ячеек шапки таблицы? Без этого, возможно, некоторым пользователям будет затруднительно понять, что за данные находятся в таблице.',
78
- caption : 'Название таблицы'
79
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/table/langs/zh_cn.js DELETED
@@ -1,76 +0,0 @@
1
- // Simplified Chinese lang variables contributed by TinyMCE_China_Team ( tinymce_china {AT} yahoogroups {DOT} com ).
2
- // visit our homepage at: http://www.cube316.net/tinymce/ for more information.
3
-
4
- tinyMCE.addToLang('table',{
5
- general_tab : 'һ��',
6
- advanced_tab : '�߼�',
7
- general_props : 'һ������',
8
- advanced_props : '�߼�����',
9
- desc : '����һ���±�',
10
- row_before_desc : '��ǰ����һ��',
11
- row_after_desc : '������һ��',
12
- delete_row_desc : 'ɾ����',
13
- col_before_desc : '�������һ��',
14
- col_after_desc : '���Ҳ���һ��',
15
- delete_col_desc : 'ɾ����',
16
- rowtype : '������',
17
- title : '����/�޸� ��',
18
- width : '��',
19
- height : '��',
20
- cols : '����',
21
- rows : '����',
22
- cellspacing : '��Ԫ��ռ�',
23
- cellpadding : '��Ԫ�����',
24
- border : '�߿�',
25
- align : '����',
26
- align_default : 'Ĭ��',
27
- align_left : '����',
28
- align_right : '����',
29
- align_middle : '����',
30
- row_title : '���',
31
- cell_title : '��Ԫ�����',
32
- cell_type : '��Ԫ������',
33
- row_desc : '������',
34
- cell_desc : '��Ԫ������',
35
- valign : '��ֱ����',
36
- align_top : '����',
37
- align_bottom : '�׶�',
38
- props_desc : '������',
39
- bordercolor : '�߿���ɫ',
40
- bgcolor : '������ɫ',
41
- merge_cells_title : '�ϲ����е�Ԫ�����',
42
- split_cells_desc : '������е�Ԫ������',
43
- merge_cells_desc : '�ϲ����е�Ԫ������',
44
- cut_row_desc : '������',
45
- copy_row_desc : '������',
46
- paste_row_before_desc : '��ǰճ��һ��',
47
- paste_row_after_desc : '���ճ��һ��',
48
- id : '��ʶ',
49
- style: '��ʽ',
50
- langdir : '�����',
51
- langcode : '���Ա���',
52
- mime : 'Ŀ�� MIME ����',
53
- ltr : '������',
54
- rtl : '���ҵ���',
55
- bgimage : '����ͼƬ',
56
- summary : '��',
57
- td : "����",
58
- th : "ҳü",
59
- cell_cell : '���µ�ǰ��Ԫ��',
60
- cell_row : '�����������е�Ԫ��',
61
- cell_all : '���±������е�Ԫ��',
62
- row_row : '���µ�ǰ��',
63
- row_odd : '����������',
64
- row_even : '����ż����',
65
- row_all : '���±���������',
66
- thead : '��ͷ',
67
- tbody : '����',
68
- tfoot : '��β',
69
- del : 'ɾ����',
70
- scope : '����',
71
- row : '��',
72
- col : '��',
73
- rowgroup : '���',
74
- colgroup : '���',
75
- missing_scope: '��ȷ��Ҫ��û�������༭����ʱ������û�������༭����ʹ�Ķ��߿������ܷ�����'
76
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/table/langs/zh_dlg.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('zh.table_dlg',{
2
+ general_tab:"\u57FA\u672C",
3
+ advanced_tab:"\u9AD8\u7D1A",
4
+ general_props:"\u57FA\u672C \u5C6C\u6027",
5
+ advanced_props:"\u9AD8\u7D1A\u5C6C\u6027",
6
+ rowtype:"\u884C\u6240\u5728\u7684\u8868\u683C\u4F4D\u7F6E",
7
+ title:"\u63D2\u5165/\u7DE8\u8F2F \u8868\u683C",
8
+ width:"\u5BEC\u5EA6",
9
+ height:"\u9AD8\u5EA6",
10
+ cols:"\u5217\u6578",
11
+ rows:"\u884C\u6578",
12
+ cellspacing:"\u5132\u5B58\u683C\u9593\u8DDD",
13
+ cellpadding:"\u5132\u5B58\u683C\u5167\u8DDD",
14
+ border:"\u908A\u6846",
15
+ align:"\u5C0D\u9F4A\u65B9\u5F0F",
16
+ align_default:"\u9ED8\u8A8D",
17
+ align_left:"\u5C45\u5DE6",
18
+ align_right:"\u5C45\u53F3",
19
+ align_middle:"\u5C45\u4E2D",
20
+ row_title:"\u884C \u5C6C\u6027",
21
+ cell_title:"\u5132\u5B58\u683C \u5C6C\u6027",
22
+ cell_type:"\u5132\u5B58\u683C \u985E\u5225",
23
+ valign:"\u5782\u76F4\u5C0D\u9F4A\u65B9\u5F0F",
24
+ align_top:"\u9802\u90E8",
25
+ align_bottom:"\u5E95\u90E8",
26
+ bordercolor:"\u908A\u6846\u984F\u8272",
27
+ bgcolor:"\u80CC\u666F\u984F\u8272",
28
+ merge_cells_title:"\u5408\u4F75\u5132\u5B58\u683C",
29
+ id:"Id",
30
+ style:"\u6A23\u5F0F",
31
+ langdir:"\u8A9E\u8A00\u66F8\u5BEB\u65B9\u5411",
32
+ langcode:"\u8A9E\u8A00\u7DE8\u78BC",
33
+ mime:"\u76EE\u6A19 MIME \u985E\u578B",
34
+ ltr:"\u5F9E\u5DE6\u5230\u53F3",
35
+ rtl:"\u5F9E\u53F3\u5230\u5DE6",
36
+ bgimage:"\u80CC\u666F\u5716\u7247",
37
+ summary:"\u6458\u8981",
38
+ td:"\u8868\u683C",
39
+ th:"\u8868\u982D",
40
+ cell_cell:"\u66F4\u65B0\u76EE\u524D\u7684\u5132\u5B58\u683C",
41
+ cell_row:"\u66F4\u65B0\u7576\u524D\u884C\u7684\u5132\u5B58\u683C",
42
+ cell_all:"\u66F4\u65B0\u5168\u90E8\u5132\u5B58\u683C",
43
+ row_row:"\u66F4\u65B0\u6240\u5728\u884C",
44
+ row_odd:"\u66F4\u65B0\u8868\u683C\u7684\u5947\u6578\u884C",
45
+ row_even:"\u66F4\u65B0\u8868\u683C\u7684\u5076\u6578\u884C",
46
+ row_all:"\u66F4\u65B0\u8868\u683C\u7684\u5168\u90E8\u884C",
47
+ thead:"\u8868\u982D",
48
+ tbody:"\u8868\u9AD4",
49
+ tfoot:"\u8868\u8173",
50
+ scope:"\u7BC4\u570D",
51
+ rowgroup:"\u884C\u7D44",
52
+ colgroup:"\u5217\u7D44",
53
+ col_limit:"\u5DF2\u8D85\u904E\u9650\u5236\uFF0C\u6700\u591A\u70BA {$cols} \u5217\u3002",
54
+ row_limit:"\u5DF2\u8D85\u904E\u9650\u5236\uFF0C\u6700\u591A\u70BA {$rows} \u884C\u3002",
55
+ cell_limit:"\u5DF2\u8D85\u904E\u9650\u5236\uFF0C\u6700\u591A\u70BA{$cells} \u5132\u5B58\u683C\u3002",
56
+ missing_scope:"\u60A8\u78BA\u5B9A\u4E0D\u6307\u5B9A\u8868\u982D\u5132\u5B58\u683C\u7684\u7BC4\u570D\u55CE\uFF1F\u5982\u679C\u4E0D\u6307\u5B9A\uFF0C\u90E8\u5206\u4F7F\u7528\u8005\u5C07\u5F88\u96E3\u67E5\u770B\u8868\u683C\u5167\u5BB9",
57
+ caption:"\u8868\u683C\u6A19\u984C",
58
+ frame:"\u908A\u6846",
59
+ frame_none:"\u7121",
60
+ frame_groups:"\u7D44",
61
+ frame_rows:"\u884C",
62
+ frame_cols:"\u5217",
63
+ frame_all:"\u5168\u90E8",
64
+ rules:"\u5C3A\u898F",
65
+ rules_void:"\u7A7A",
66
+ rules_above:"\u4E4B\u4E0A",
67
+ rules_below:"\u4E4B\u4E0B",
68
+ rules_hsides:"\u6C34\u6E96\u5927\u5C0F",
69
+ rules_lhs:"lhs",
70
+ rules_rhs:"rhs",
71
+ rules_vsides:"\u5782\u76F4\u5927\u5C0F",
72
+ rules_box:"\u76D2",
73
+ rules_border:"\u908A\u6846"
74
+ });
mce/table/merge_cells.htm CHANGED
@@ -1,24 +1,24 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_table_merge_cells_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/validate.js"></script>
7
- <script language="javascript" type="text/javascript" src="jscripts/merge_cells.js"></script>
8
  <base target="_self" />
9
  </head>
10
- <body onload="tinyMCEPopup.executeOnLoad('init();');" style="margin: 8px" style="display: none">
11
- <form onsubmit="insertTable();return false;" action="#">
12
  <fieldset>
13
- <legend>{$lang_table_merge_cells_title}</legend>
14
  <table border="0" cellpadding="0" cellspacing="3" width="100%">
15
  <tr>
16
- <td>{$lang_table_cols}:</td>
17
- <td align="right"><input type="text" name="numcols" value="" class="number min1" style="width: 30px" /></td>
18
- <td>
19
  </tr>
20
  <tr>
21
- <td>{$lang_table_rows}:</td>
22
  <td align="right"><input type="text" name="numrows" value="" class="number min1" style="width: 30px" /></td>
23
  </tr>
24
  </table>
@@ -26,11 +26,11 @@
26
 
27
  <div class="mceActionPanel">
28
  <div style="float: left">
29
- <input type="button" id="insert" name="insert" value="{$lang_update}" onclick="mergeCells();" />
30
  </div>
31
 
32
  <div style="float: right">
33
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
34
  </div>
35
  </div>
36
  </form>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#table_dlg.merge_cells_title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/validate.js"></script>
8
+ <script type="text/javascript" src="js/merge_cells.js"></script>
9
  <base target="_self" />
10
  </head>
11
+ <body style="margin: 8px" style="display: none">
12
+ <form onsubmit="mergeCells();return false;" action="#">
13
  <fieldset>
14
+ <legend>{#table_dlg.merge_cells_title}</legend>
15
  <table border="0" cellpadding="0" cellspacing="3" width="100%">
16
  <tr>
17
+ <td>{#table_dlg.cols}:</td>
18
+ <td align="right"><input type="text" name="numcols" value="" class="number min1 mceFocus" style="width: 30px" /></td>
 
19
  </tr>
20
  <tr>
21
+ <td>{#table_dlg.rows}:</td>
22
  <td align="right"><input type="text" name="numrows" value="" class="number min1" style="width: 30px" /></td>
23
  </tr>
24
  </table>
26
 
27
  <div class="mceActionPanel">
28
  <div style="float: left">
29
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
30
  </div>
31
 
32
  <div style="float: right">
33
+ <input type="submit" id="insert" name="insert" value="{#update}" />
34
  </div>
35
  </div>
36
  </form>
mce/table/readme.txt DELETED
@@ -1 +0,0 @@
1
- Check the TinyMCE documentation for details on this plugin.
 
mce/table/row.htm CHANGED
@@ -1,74 +1,76 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_table_row_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="jscripts/row.js"></script>
 
8
  <link href="css/row.css" rel="stylesheet" type="text/css" />
9
  <base target="_self" />
10
  </head>
11
- <body id="tablerow" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
12
  <form onsubmit="updateAction();return false;">
13
  <div class="tabs">
14
  <ul>
15
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
16
- <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
17
  </ul>
18
  </div>
19
 
20
  <div class="panel_wrapper">
21
  <div id="general_panel" class="panel current">
22
  <fieldset>
23
- <legend>{$lang_table_general_props}</legend>
24
 
25
  <table border="0" cellpadding="4" cellspacing="0">
26
  <tr>
27
- <td><label for="rowtype">{$lang_table_rowtype}</label></td>
28
  <td class="col2">
29
- <select id="rowtype" name="rowtype">
30
- <option value="thead">{$lang_table_thead}</option>
31
- <option value="tbody">{$lang_table_tbody}</option>
32
- <option value="tfoot">{$lang_table_tfoot}</option>
33
  </select>
34
  </td>
35
  </tr>
36
 
37
  <tr>
38
- <td><label for="align">{$lang_table_align}</label></td>
39
  <td class="col2">
40
  <select id="align" name="align">
41
- <option value="">{$lang_not_set}</option>
42
- <option value="center">{$lang_table_align_middle}</option>
43
- <option value="left">{$lang_table_align_left}</option>
44
- <option value="right">{$lang_table_align_right}</option>
45
  </select>
46
  </td>
47
  </tr>
48
 
49
  <tr>
50
- <td><label for="valign">{$lang_table_valign}</label></td>
51
  <td class="col2">
52
  <select id="valign" name="valign">
53
- <option value="">{$lang_not_set}</option>
54
- <option value="top">{$lang_table_align_top}</option>
55
- <option value="middle">{$lang_table_align_middle}</option>
56
- <option value="bottom">{$lang_table_align_bottom}</option>
57
  </select>
58
  </td>
59
  </tr>
60
 
61
  <tr id="styleSelectRow">
62
- <td><label for="class">{$lang_class_name}</label></td>
63
  <td class="col2">
64
- <select id="class" name="class">
65
- <option value="" selected="selected">{$lang_not_set}</option>
66
  </select>
67
  </td>
68
  </tr>
69
 
70
  <tr>
71
- <td><label for="height">{$lang_table_height}</label></td>
72
  <td class="col2"><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
73
  </tr>
74
  </table>
@@ -77,39 +79,39 @@
77
 
78
  <div id="advanced_panel" class="panel">
79
  <fieldset>
80
- <legend>{$lang_table_advanced_props}</legend>
81
 
82
  <table border="0" cellpadding="0" cellspacing="4">
83
  <tr>
84
- <td class="column1"><label for="id">{$lang_table_id}</label></td>
85
  <td><input id="id" name="id" type="text" value="" style="width: 200px" /></td>
86
  </tr>
87
 
88
  <tr>
89
- <td><label for="style">{$lang_table_style}</label></td>
90
  <td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
91
  </tr>
92
 
93
  <tr>
94
- <td class="column1"><label for="dir">{$lang_table_langdir}</label></td>
95
  <td>
96
  <select id="dir" name="dir" style="width: 200px">
97
- <option value="">{$lang_not_set}</option>
98
- <option value="ltr">{$lang_table_ltr}</option>
99
- <option value="rtl">{$lang_table_rtl}</option>
100
  </select>
101
  </td>
102
  </tr>
103
 
104
  <tr>
105
- <td class="column1"><label for="lang">{$lang_table_langcode}</label></td>
106
  <td>
107
  <input id="lang" name="lang" type="text" value="" style="width: 200px" />
108
  </td>
109
  </tr>
110
 
111
  <tr>
112
- <td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td>
113
  <td>
114
  <table border="0" cellpadding="0" cellspacing="0">
115
  <tr>
@@ -121,7 +123,7 @@
121
  </tr>
122
 
123
  <tr>
124
- <td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td>
125
  <td>
126
  <table border="0" cellpadding="0" cellspacing="0">
127
  <tr>
@@ -139,19 +141,19 @@
139
  <div class="mceActionPanel">
140
  <div>
141
  <select id="action" name="action">
142
- <option value="row">{$lang_table_row_row}</option>
143
- <option value="odd">{$lang_table_row_odd}</option>
144
- <option value="even">{$lang_table_row_even}</option>
145
- <option value="all">{$lang_table_row_all}</option>
146
  </select>
147
  </div>
148
 
149
  <div style="float: left">
150
- <div><input type="button" id="insert" name="insert" value="{$lang_update}" onclick="updateAction();" /></div>
151
  </div>
152
 
153
  <div style="float: right">
154
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
155
  </div>
156
  </div>
157
  </form>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#table_dlg.row_title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
9
+ <script type="text/javascript" src="js/row.js"></script>
10
  <link href="css/row.css" rel="stylesheet" type="text/css" />
11
  <base target="_self" />
12
  </head>
13
+ <body id="tablerow" style="display: none">
14
  <form onsubmit="updateAction();return false;">
15
  <div class="tabs">
16
  <ul>
17
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li>
18
+ <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li>
19
  </ul>
20
  </div>
21
 
22
  <div class="panel_wrapper">
23
  <div id="general_panel" class="panel current">
24
  <fieldset>
25
+ <legend>{#table_dlg.general_props}</legend>
26
 
27
  <table border="0" cellpadding="4" cellspacing="0">
28
  <tr>
29
+ <td><label for="rowtype">{#table_dlg.rowtype}</label></td>
30
  <td class="col2">
31
+ <select id="rowtype" name="rowtype" class="mceFocus">
32
+ <option value="thead">{#table_dlg.thead}</option>
33
+ <option value="tbody">{#table_dlg.tbody}</option>
34
+ <option value="tfoot">{#table_dlg.tfoot}</option>
35
  </select>
36
  </td>
37
  </tr>
38
 
39
  <tr>
40
+ <td><label for="align">{#table_dlg.align}</label></td>
41
  <td class="col2">
42
  <select id="align" name="align">
43
+ <option value="">{#not_set}</option>
44
+ <option value="center">{#table_dlg.align_middle}</option>
45
+ <option value="left">{#table_dlg.align_left}</option>
46
+ <option value="right">{#table_dlg.align_right}</option>
47
  </select>
48
  </td>
49
  </tr>
50
 
51
  <tr>
52
+ <td><label for="valign">{#table_dlg.valign}</label></td>
53
  <td class="col2">
54
  <select id="valign" name="valign">
55
+ <option value="">{#not_set}</option>
56
+ <option value="top">{#table_dlg.align_top}</option>
57
+ <option value="middle">{#table_dlg.align_middle}</option>
58
+ <option value="bottom">{#table_dlg.align_bottom}</option>
59
  </select>
60
  </td>
61
  </tr>
62
 
63
  <tr id="styleSelectRow">
64
+ <td><label for="class">{#class_name}</label></td>
65
  <td class="col2">
66
+ <select id="class" name="class" class="mceEditableSelect">
67
+ <option value="" selected="selected">{#not_set}</option>
68
  </select>
69
  </td>
70
  </tr>
71
 
72
  <tr>
73
+ <td><label for="height">{#table_dlg.height}</label></td>
74
  <td class="col2"><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" /></td>
75
  </tr>
76
  </table>
79
 
80
  <div id="advanced_panel" class="panel">
81
  <fieldset>
82
+ <legend>{#table_dlg.advanced_props}</legend>
83
 
84
  <table border="0" cellpadding="0" cellspacing="4">
85
  <tr>
86
+ <td class="column1"><label for="id">{#table_dlg.id}</label></td>
87
  <td><input id="id" name="id" type="text" value="" style="width: 200px" /></td>
88
  </tr>
89
 
90
  <tr>
91
+ <td><label for="style">{#table_dlg.style}</label></td>
92
  <td><input type="text" id="style" name="style" value="" style="width: 200px;" onchange="changedStyle();" /></td>
93
  </tr>
94
 
95
  <tr>
96
+ <td class="column1"><label for="dir">{#table_dlg.langdir}</label></td>
97
  <td>
98
  <select id="dir" name="dir" style="width: 200px">
99
+ <option value="">{#not_set}</option>
100
+ <option value="ltr">{#table_dlg.ltr}</option>
101
+ <option value="rtl">{#table_dlg.rtl}</option>
102
  </select>
103
  </td>
104
  </tr>
105
 
106
  <tr>
107
+ <td class="column1"><label for="lang">{#table_dlg.langcode}</label></td>
108
  <td>
109
  <input id="lang" name="lang" type="text" value="" style="width: 200px" />
110
  </td>
111
  </tr>
112
 
113
  <tr>
114
+ <td class="column1"><label for="backgroundimage">{#table_dlg.bgimage}</label></td>
115
  <td>
116
  <table border="0" cellpadding="0" cellspacing="0">
117
  <tr>
123
  </tr>
124
 
125
  <tr>
126
+ <td class="column1"><label for="bgcolor">{#table_dlg.bgcolor}</label></td>
127
  <td>
128
  <table border="0" cellpadding="0" cellspacing="0">
129
  <tr>
141
  <div class="mceActionPanel">
142
  <div>
143
  <select id="action" name="action">
144
+ <option value="row">{#table_dlg.row_row}</option>
145
+ <option value="odd">{#table_dlg.row_odd}</option>
146
+ <option value="even">{#table_dlg.row_even}</option>
147
+ <option value="all">{#table_dlg.row_all}</option>
148
  </select>
149
  </div>
150
 
151
  <div style="float: left">
152
+ <div><input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /></div>
153
  </div>
154
 
155
  <div style="float: right">
156
+ <input type="submit" id="insert" name="insert" value="{#update}" />
157
  </div>
158
  </div>
159
  </form>
mce/table/table.htm CHANGED
@@ -1,68 +1,69 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_table_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/validate.js"></script>
8
- <script language="javascript" type="text/javascript" src="jscripts/table.js"></script>
 
9
  <link href="css/table.css" rel="stylesheet" type="text/css" />
10
  <base target="_self" />
11
  </head>
12
- <body id="table" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
13
  <form onsubmit="insertTable();return false;" action="#">
14
  <div class="tabs">
15
  <ul>
16
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_table_general_tab}</a></span></li>
17
- <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{$lang_table_advanced_tab}</a></span></li>
18
  </ul>
19
  </div>
20
 
21
  <div class="panel_wrapper">
22
  <div id="general_panel" class="panel current">
23
  <fieldset>
24
- <legend>{$lang_table_general_props}</legend>
25
-
26
  <table border="0" cellpadding="4" cellspacing="0" width="100%">
27
  <tr>
28
- <td><label id="colslabel" for="cols">{$lang_table_cols}</label></td>
29
- <td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
30
- <td><label id="rowslabel" for="rows">{$lang_table_rows}</label></td>
31
  <td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
32
  </tr>
33
  <tr>
34
- <td><label id="cellpaddinglabel" for="cellpadding">{$lang_table_cellpadding}</label></td>
35
  <td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" class="number" /></td>
36
- <td><label id="cellspacinglabel" for="cellspacing">{$lang_table_cellspacing}</label></td>
37
  <td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" class="number" /></td>
38
  </tr>
39
  <tr>
40
- <td><label id="alignlabel" for="align">{$lang_table_align}</label></td>
41
  <td><select id="align" name="align">
42
- <option value="">{$lang_not_set}</option>
43
- <option value="center">{$lang_table_align_middle}</option>
44
- <option value="left">{$lang_table_align_left}</option>
45
- <option value="right">{$lang_table_align_right}</option>
46
  </select></td>
47
- <td><label id="borderlabel" for="border">{$lang_table_border}</label></td>
48
  <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" class="number" /></td>
49
  </tr>
50
  <tr id="width_row">
51
- <td><label id="widthlabel" for="width">{$lang_table_width}</label></td>
52
  <td><input name="width" type="text" id="width" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
53
- <td><label id="heightlabel" for="height">{$lang_table_height}</label></td>
54
  <td><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
55
  </tr>
56
  <tr id="styleSelectRow">
57
- <td><label id="classlabel" for="class">{$lang_class_name}</label></td>
58
  <td colspan="3">
59
- <select id="class" name="class">
60
- <option value="" selected>{$lang_not_set}</option>
61
  </select></td>
62
  </tr>
63
  <tr>
64
- <td class="column1"><label for="caption">{$lang_table_caption}</label></td>
65
- <td><input id="caption" name="caption" type="checkbox" value="true" /></td>
66
  </tr>
67
  </table>
68
  </fieldset>
@@ -70,44 +71,33 @@
70
 
71
  <div id="advanced_panel" class="panel">
72
  <fieldset>
73
- <legend>{$lang_table_advanced_props}</legend>
74
 
75
  <table border="0" cellpadding="0" cellspacing="4">
76
  <tr>
77
- <td class="column1"><label for="id">{$lang_table_id}</label></td>
78
  <td><input id="id" name="id" type="text" value="" class="advfield" /></td>
79
  </tr>
80
 
81
  <tr>
82
- <td class="column1"><label for="summary">{$lang_table_summary}</label></td>
83
  <td><input id="summary" name="summary" type="text" value="" class="advfield" /></td>
84
  </tr>
85
 
86
  <tr>
87
- <td><label for="style">{$lang_table_style}</label></td>
88
  <td><input type="text" id="style" name="style" value="" class="advfield" onchange="changedStyle();" /></td>
89
  </tr>
90
 
91
  <tr>
92
- <td class="column1"><label for="dir">{$lang_table_langdir}</label></td>
93
- <td>
94
- <select id="dir" name="dir" class="advfield">
95
- <option value="">{$lang_not_set}</option>
96
- <option value="ltr">{$lang_table_ltr}</option>
97
- <option value="rtl">{$lang_table_rtl}</option>
98
- </select>
99
- </td>
100
- </tr>
101
-
102
- <tr>
103
- <td class="column1"><label id="langlabel" for="lang">{$lang_table_langcode}</label></td>
104
  <td>
105
  <input id="lang" name="lang" type="text" value="" class="advfield" />
106
  </td>
107
  </tr>
108
 
109
  <tr>
110
- <td class="column1"><label for="backgroundimage">{$lang_table_bgimage}</label></td>
111
  <td>
112
  <table border="0" cellpadding="0" cellspacing="0">
113
  <tr>
@@ -119,7 +109,50 @@
119
  </tr>
120
 
121
  <tr>
122
- <td class="column1"><label for="bordercolor">{$lang_table_bordercolor}</label></td>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
123
  <td>
124
  <table border="0" cellpadding="0" cellspacing="0">
125
  <tr>
@@ -131,7 +164,7 @@
131
  </tr>
132
 
133
  <tr>
134
- <td class="column1"><label for="bgcolor">{$lang_table_bgcolor}</label></td>
135
  <td>
136
  <table border="0" cellpadding="0" cellspacing="0">
137
  <tr>
@@ -148,11 +181,11 @@
148
 
149
  <div class="mceActionPanel">
150
  <div style="float: left">
151
- <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertTable();" />
152
  </div>
153
 
154
  <div style="float: right">
155
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
156
  </div>
157
  </div>
158
  </form>
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#table_dlg.title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/validate.js"></script>
9
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
10
+ <script type="text/javascript" src="js/table.js"></script>
11
  <link href="css/table.css" rel="stylesheet" type="text/css" />
12
  <base target="_self" />
13
  </head>
14
+ <body id="table" style="display: none">
15
  <form onsubmit="insertTable();return false;" action="#">
16
  <div class="tabs">
17
  <ul>
18
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#table_dlg.general_tab}</a></span></li>
19
+ <li id="advanced_tab"><span><a href="javascript:mcTabs.displayTab('advanced_tab','advanced_panel');" onmousedown="return false;">{#table_dlg.advanced_tab}</a></span></li>
20
  </ul>
21
  </div>
22
 
23
  <div class="panel_wrapper">
24
  <div id="general_panel" class="panel current">
25
  <fieldset>
26
+ <legend>{#table_dlg.general_props}</legend>
 
27
  <table border="0" cellpadding="4" cellspacing="0" width="100%">
28
  <tr>
29
+ <td><label id="colslabel" for="cols">{#table_dlg.cols}</label></td>
30
+ <td><input id="cols" name="cols" type="text" value="" size="3" maxlength="3" class="required number min1 mceFocus" /></td>
31
+ <td><label id="rowslabel" for="rows">{#table_dlg.rows}</label></td>
32
  <td><input id="rows" name="rows" type="text" value="" size="3" maxlength="3" class="required number min1" /></td>
33
  </tr>
34
  <tr>
35
+ <td><label id="cellpaddinglabel" for="cellpadding">{#table_dlg.cellpadding}</label></td>
36
  <td><input id="cellpadding" name="cellpadding" type="text" value="" size="3" maxlength="3" class="number" /></td>
37
+ <td><label id="cellspacinglabel" for="cellspacing">{#table_dlg.cellspacing}</label></td>
38
  <td><input id="cellspacing" name="cellspacing" type="text" value="" size="3" maxlength="3" class="number" /></td>
39
  </tr>
40
  <tr>
41
+ <td><label id="alignlabel" for="align">{#table_dlg.align}</label></td>
42
  <td><select id="align" name="align">
43
+ <option value="">{#not_set}</option>
44
+ <option value="center">{#table_dlg.align_middle}</option>
45
+ <option value="left">{#table_dlg.align_left}</option>
46
+ <option value="right">{#table_dlg.align_right}</option>
47
  </select></td>
48
+ <td><label id="borderlabel" for="border">{#table_dlg.border}</label></td>
49
  <td><input id="border" name="border" type="text" value="" size="3" maxlength="3" onchange="changedBorder();" class="number" /></td>
50
  </tr>
51
  <tr id="width_row">
52
+ <td><label id="widthlabel" for="width">{#table_dlg.width}</label></td>
53
  <td><input name="width" type="text" id="width" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
54
+ <td><label id="heightlabel" for="height">{#table_dlg.height}</label></td>
55
  <td><input name="height" type="text" id="height" value="" size="4" maxlength="4" onchange="changedSize();" class="size" /></td>
56
  </tr>
57
  <tr id="styleSelectRow">
58
+ <td><label id="classlabel" for="class">{#class_name}</label></td>
59
  <td colspan="3">
60
+ <select id="class" name="class" class="mceEditableSelect">
61
+ <option value="" selected>{#not_set}</option>
62
  </select></td>
63
  </tr>
64
  <tr>
65
+ <td class="column1"><label for="caption">{#table_dlg.caption}</label></td>
66
+ <td><input id="caption" name="caption" type="checkbox" class="checkbox" value="true" /></td>
67
  </tr>
68
  </table>
69
  </fieldset>
71
 
72
  <div id="advanced_panel" class="panel">
73
  <fieldset>
74
+ <legend>{#table_dlg.advanced_props}</legend>
75
 
76
  <table border="0" cellpadding="0" cellspacing="4">
77
  <tr>
78
+ <td class="column1"><label for="id">{#table_dlg.id}</label></td>
79
  <td><input id="id" name="id" type="text" value="" class="advfield" /></td>
80
  </tr>
81
 
82
  <tr>
83
+ <td class="column1"><label for="summary">{#table_dlg.summary}</label></td>
84
  <td><input id="summary" name="summary" type="text" value="" class="advfield" /></td>
85
  </tr>
86
 
87
  <tr>
88
+ <td><label for="style">{#table_dlg.style}</label></td>
89
  <td><input type="text" id="style" name="style" value="" class="advfield" onchange="changedStyle();" /></td>
90
  </tr>
91
 
92
  <tr>
93
+ <td class="column1"><label id="langlabel" for="lang">{#table_dlg.langcode}</label></td>
 
 
 
 
 
 
 
 
 
 
 
94
  <td>
95
  <input id="lang" name="lang" type="text" value="" class="advfield" />
96
  </td>
97
  </tr>
98
 
99
  <tr>
100
+ <td class="column1"><label for="backgroundimage">{#table_dlg.bgimage}</label></td>
101
  <td>
102
  <table border="0" cellpadding="0" cellspacing="0">
103
  <tr>
109
  </tr>
110
 
111
  <tr>
112
+ <td class="column1"><label for="frame">{#table_dlg.frame}</label></td>
113
+ <td>
114
+ <select id="frame" name="frame" class="advfield">
115
+ <option value="">{#not_set}</option>
116
+ <option value="none">{#table_dlg.frame_none}</option>
117
+ <option value="groups">{#table_dlg.frame_groups}</option>
118
+ <option value="rows">{#table_dlg.frame_rows}</option>
119
+ <option value="cols">{#table_dlg.frame_cols}</option>
120
+ <option value="all">{#table_dlg.frame_all}</option>
121
+ </select>
122
+ </td>
123
+ </tr>
124
+
125
+ <tr>
126
+ <td class="column1"><label for="rules">{#table_dlg.rules}</label></td>
127
+ <td>
128
+ <select id="rules" name="rules" class="advfield">
129
+ <option value="">{#not_set}</option>
130
+ <option value="void">{#table_dlg.rules_void}</option>
131
+ <option value="above">{#table_dlg.rules_above}</option>
132
+ <option value="below">{#table_dlg.rules_below}</option>
133
+ <option value="hsides">{#table_dlg.rules_hsides}</option>
134
+ <option value="lhs">{#table_dlg.rules_lhs}</option>
135
+ <option value="rhs">{#table_dlg.rules_rhs}</option>
136
+ <option value="vsides">{#table_dlg.rules_vsides}</option>
137
+ <option value="box">{#table_dlg.rules_box}</option>
138
+ <option value="border">{#table_dlg.rules_border}</option>
139
+ </select>
140
+ </td>
141
+ </tr>
142
+
143
+ <tr>
144
+ <td class="column1"><label for="dir">{#table_dlg.langdir}</label></td>
145
+ <td>
146
+ <select id="dir" name="dir" class="advfield">
147
+ <option value="">{#not_set}</option>
148
+ <option value="ltr">{#table_dlg.ltr}</option>
149
+ <option value="rtl">{#table_dlg.rtl}</option>
150
+ </select>
151
+ </td>
152
+ </tr>
153
+
154
+ <tr>
155
+ <td class="column1"><label for="bordercolor">{#table_dlg.bordercolor}</label></td>
156
  <td>
157
  <table border="0" cellpadding="0" cellspacing="0">
158
  <tr>
164
  </tr>
165
 
166
  <tr>
167
+ <td class="column1"><label for="bgcolor">{#table_dlg.bgcolor}</label></td>
168
  <td>
169
  <table border="0" cellpadding="0" cellspacing="0">
170
  <tr>
181
 
182
  <div class="mceActionPanel">
183
  <div style="float: left">
184
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
185
  </div>
186
 
187
  <div style="float: right">
188
+ <input type="submit" id="insert" name="insert" value="{#insert}" />
189
  </div>
190
  </div>
191
  </form>
mce/visualchars/editor_plugin.js CHANGED
@@ -1,95 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
- *
4
- * @author Moxiecode
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- // EN lang variables
9
- tadvmce = realTinyMCE;
10
- tadvmce.addToLang('visualchars',{
11
- desc : 'Visual control characters on/off.'
12
- });
13
-
14
- /* Import plugin specific language pack */
15
- //tinyMCE.importPluginLanguagePack('visualchars');
16
-
17
- var TinyMCE_VisualCharsPlugin = {
18
- getInfo : function() {
19
- return {
20
- longname : 'Visual characters',
21
- author : 'Moxiecode Systems AB',
22
- authorurl : 'http://tinymce.moxiecode.com',
23
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',
24
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
25
- };
26
- },
27
-
28
- initInstance : function(inst) {
29
- inst.visualChars = {
30
- state : false
31
- };
32
- },
33
-
34
- getControlHTML : function(cn) {
35
- switch (cn) {
36
- case "visualchars":
37
- return tinyMCE.getButtonHTML(cn, 'lang_visualchars_desc', '{$pluginurl}/images/visualchars.gif', 'mceVisualChars', false);
38
- }
39
-
40
- return "";
41
- },
42
-
43
- execCommand : function(editor_id, element, command, user_interface, value) {
44
- var inst = tinyMCE.getInstanceById(editor_id);
45
-
46
- switch (command) {
47
- case "mceVisualChars":
48
- this._toggleVisualChars(editor_id, inst);
49
- return true;
50
- }
51
-
52
- return false;
53
- },
54
-
55
- cleanup : function(type, content, inst) {
56
- if (type == "insert_to_editor_dom" || type == "get_from_editor_dom") {
57
- inst.visualChars.state = true;
58
- this._toggleVisualChars(inst.editorId, inst);
59
- }
60
-
61
- return content;
62
- },
63
-
64
- // Private plugin internal methods
65
-
66
- _toggleVisualChars : function(editor_id, inst) {
67
- var nl, i, h, d = inst.getDoc(), b = inst.getBody(), nv, s = inst.selection, bo;
68
-
69
- inst.visualChars.state = !inst.visualChars.state;
70
-
71
- bo = s.getBookmark(true);
72
-
73
- tinyMCE.switchClass(editor_id + '_visualchars', inst.visualChars.state ? 'mceButtonSelected' : 'mceButtonNormal');
74
-
75
- if (inst.visualChars.state) {
76
- nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 3 && n.nodeValue && n.nodeValue.indexOf('\u00a0') != -1;});
77
-
78
- for (i=0; i<nl.length; i++) {
79
- nv = nl[i].nodeValue;
80
- nv = nv.replace(/(\u00a0+)/g, '<span class="mceItemHiddenVisualChar">$1</span>');
81
- nv = nv.replace(/\u00a0/g, '\u00b7');
82
- tinyMCE.setOuterHTML(nl[i], nv, d);
83
- }
84
- } else {
85
- nl = tinyMCE.selectNodes(b, function(n) {return n.nodeType == 1 && n.nodeName == 'SPAN' && n.className == 'mceItemHiddenVisualChar';});
86
-
87
- for (i=0; i<nl.length; i++)
88
- tinyMCE.setOuterHTML(nl[i], nl[i].innerHTML.replace(/(&middot;|\u00b7)/g, '&nbsp;'), d);
89
- }
90
-
91
- //s.moveToBookmark(bo);
92
- }
93
- };
94
-
95
- tinyMCE.addPlugin("visualchars", TinyMCE_VisualCharsPlugin);
1
+ (function(){tinymce.create('tinymce.plugins.VisualChars',{init:function(ed,url){var t=this;t.editor=ed;ed.addCommand('mceVisualChars',t._toggleVisualChars,t);ed.addButton('visualchars',{title:'visualchars.desc',cmd:'mceVisualChars'});ed.onBeforeGetContent.add(function(ed,o){if(t.state){t.state=true;t._toggleVisualChars();}});},getInfo:function(){return{longname:'Visual characters',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/visualchars',version:tinymce.majorVersion+"."+tinymce.minorVersion};},_toggleVisualChars:function(){var t=this,ed=t.editor,nl,i,h,d=ed.getDoc(),b=ed.getBody(),nv,s=ed.selection,bo;t.state=!t.state;ed.controlManager.setActive('visualchars',t.state);if(t.state){nl=[];tinymce.walk(b,function(n){if(n.nodeType==3&&n.nodeValue&&n.nodeValue.indexOf('\u00a0')!=-1)nl.push(n);},'childNodes');for(i=0;i<nl.length;i++){nv=nl[i].nodeValue;nv=nv.replace(/(\u00a0+)/g,'<span class="mceItemHidden mceVisualNbsp">$1</span>');nv=nv.replace(/\u00a0/g,'\u00b7');ed.dom.setOuterHTML(nl[i],nv,d);}}else{nl=tinymce.grep(ed.dom.select('span',b),function(n){return ed.dom.hasClass(n,'mceVisualNbsp');});for(i=0;i<nl.length;i++)ed.dom.setOuterHTML(nl[i],nl[i].innerHTML.replace(/(&middot;|\u00b7)/g,'&nbsp;'),d);}}});tinymce.PluginManager.add('visualchars',tinymce.plugins.VisualChars);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/visualchars/images/visualchars.gif DELETED
Binary file
mce/visualchars/langs/en.js DELETED
@@ -1,5 +0,0 @@
1
- // EN lang variables
2
-
3
- tinyMCE.addToLang('visualchars',{
4
- desc : 'Visual control characters on/off.'
5
- });
 
 
 
 
 
mce/xhtmlxtras/abbr.htm CHANGED
@@ -1,62 +1,62 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_xhtmlxtras_title_abbr_element}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/editable_selects.js"></script>
8
- <script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
9
- <script language="javascript" type="text/javascript" src="jscripts/abbr.js"></script>
10
-
11
  <link rel="stylesheet" type="text/css" href="css/popup.css" />
12
  <base target="_self" />
13
  </head>
14
- <body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
15
  <form onsubmit="insertAbbr();return false;" action="#">
16
  <div class="tabs">
17
  <ul>
18
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
19
- <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
20
  </ul>
21
  </div>
22
 
23
  <div class="panel_wrapper">
24
  <div id="general_panel" class="panel current">
25
  <fieldset>
26
- <legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
27
  <table border="0" cellpadding="0" cellspacing="4">
28
  <tr>
29
- <td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
30
- <td><input id="title" name="title" type="text" value="" class="field" /></td>
31
  </tr>
32
  <tr>
33
- <td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
34
  <td><input id="id" name="id" type="text" value="" class="field" /></td>
35
  </tr>
36
  <tr>
37
- <td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td>
38
  <td>
39
  <select id="class" name="class" class="field mceEditableSelect">
40
- <option value="">{$lang_xhtmlxtras_not_set}</option>
41
  </select>
42
  </td>
43
  </tr>
44
  <tr>
45
- <td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
46
  <td><input id="style" name="style" type="text" value="" class="field" /></td>
47
  </tr>
48
  <tr>
49
- <td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
50
  <td>
51
  <select id="dir" name="dir" class="field">
52
- <option value="">{$lang_xhtmlxtras_not_set}</option>
53
- <option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option>
54
- <option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option>
55
  </select>
56
  </td>
57
  </tr>
58
  <tr>
59
- <td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
60
  <td>
61
  <input id="lang" name="lang" type="text" value="" class="field" />
62
  </td>
@@ -66,7 +66,7 @@
66
  </div>
67
  <div id="events_panel" class="panel">
68
  <fieldset>
69
- <legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
70
 
71
  <table border="0" cellpadding="0" cellspacing="4">
72
  <tr>
@@ -134,13 +134,13 @@
134
  </div>
135
  <div class="mceActionPanel">
136
  <div style="float: left">
137
- <input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAbbr();" />
138
  </div>
139
  <div style="float: left">
140
- <input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeAbbr();" style="display: none;" />
141
  </div>
142
  <div style="float: right">
143
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
144
  </div>
145
  </div>
146
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#xhtmlxtras_dlg.title_abbr_element}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
9
+ <script type="text/javascript" src="js/element_common.js"></script>
10
+ <script type="text/javascript" src="js/abbr.js"></script>
 
11
  <link rel="stylesheet" type="text/css" href="css/popup.css" />
12
  <base target="_self" />
13
  </head>
14
+ <body style="display: none">
15
  <form onsubmit="insertAbbr();return false;" action="#">
16
  <div class="tabs">
17
  <ul>
18
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.general_tab}</a></span></li>
19
+ <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.events_tab}</a></span></li> -->
20
  </ul>
21
  </div>
22
 
23
  <div class="panel_wrapper">
24
  <div id="general_panel" class="panel current">
25
  <fieldset>
26
+ <legend>{#xhtmlxtras_dlg.fieldset_attrib_tab}</legend>
27
  <table border="0" cellpadding="0" cellspacing="4">
28
  <tr>
29
+ <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td>
30
+ <td><input id="title" name="title" type="text" value="" class="field mceFocus" /></td>
31
  </tr>
32
  <tr>
33
+ <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td>
34
  <td><input id="id" name="id" type="text" value="" class="field" /></td>
35
  </tr>
36
  <tr>
37
+ <td class="label"><label id="classlabel" for="class">{#xhtmlxtras_dlg.attribute_label_class}</label>:</td>
38
  <td>
39
  <select id="class" name="class" class="field mceEditableSelect">
40
+ <option value="">{#not_set}</option>
41
  </select>
42
  </td>
43
  </tr>
44
  <tr>
45
+ <td class="label"><label id="stylelabel" for="class">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td>
46
  <td><input id="style" name="style" type="text" value="" class="field" /></td>
47
  </tr>
48
  <tr>
49
+ <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td>
50
  <td>
51
  <select id="dir" name="dir" class="field">
52
+ <option value="">{#not_set}</option>
53
+ <option value="ltr">{#xhtmlxtras_dlg.attribute_option_ltr}</option>
54
+ <option value="rtl">{#xhtmlxtras_dlg.attribute_option_rtl}</option>
55
  </select>
56
  </td>
57
  </tr>
58
  <tr>
59
+ <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td>
60
  <td>
61
  <input id="lang" name="lang" type="text" value="" class="field" />
62
  </td>
66
  </div>
67
  <div id="events_panel" class="panel">
68
  <fieldset>
69
+ <legend>{#xhtmlxtras_dlg.fieldset_events_tab}</legend>
70
 
71
  <table border="0" cellpadding="0" cellspacing="4">
72
  <tr>
134
  </div>
135
  <div class="mceActionPanel">
136
  <div style="float: left">
137
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
138
  </div>
139
  <div style="float: left">
140
+ <input type="button" id="remove" name="remove" class="button" value="{#xhtmlxtras_dlg.remove}" onclick="removeAbbr();" style="display: none;" />
141
  </div>
142
  <div style="float: right">
143
+ <input type="submit" id="insert" name="insert" value="{#update}" />
144
  </div>
145
  </div>
146
 
mce/xhtmlxtras/acronym.htm CHANGED
@@ -1,61 +1,62 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_xhtmlxtras_title_acronym_element}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/editable_selects.js"></script>
8
- <script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
9
- <script language="javascript" type="text/javascript" src="jscripts/acronym.js"></script>
10
  <link rel="stylesheet" type="text/css" href="css/popup.css" />
11
  <base target="_self" />
12
  </head>
13
- <body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
14
  <form onsubmit="insertAcronym();return false;" action="#">
15
  <div class="tabs">
16
  <ul>
17
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
18
- <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
19
  </ul>
20
  </div>
21
 
22
  <div class="panel_wrapper">
23
  <div id="general_panel" class="panel current">
24
  <fieldset>
25
- <legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
26
  <table border="0" cellpadding="0" cellspacing="4">
27
  <tr>
28
- <td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
29
- <td><input id="title" name="title" type="text" value="" class="field" /></td>
30
  </tr>
31
  <tr>
32
- <td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
33
  <td><input id="id" name="id" type="text" value="" class="field" /></td>
34
  </tr>
35
  <tr>
36
- <td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td>
37
  <td>
38
  <select id="class" name="class" class="field mceEditableSelect">
39
- <option value="">{$lang_xhtmlxtras_not_set}</option>
40
  </select>
41
  </td>
42
  </tr>
43
  <tr>
44
- <td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
45
  <td><input id="style" name="style" type="text" value="" class="field" /></td>
46
  </tr>
47
  <tr>
48
- <td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
49
  <td>
50
  <select id="dir" name="dir" class="field">
51
- <option value="">{$lang_xhtmlxtras_not_set}</option>
52
- <option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option>
53
- <option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option>
54
  </select>
55
  </td>
56
  </tr>
57
  <tr>
58
- <td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
59
  <td>
60
  <input id="lang" name="lang" type="text" value="" class="field" />
61
  </td>
@@ -65,7 +66,7 @@
65
  </div>
66
  <div id="events_panel" class="panel">
67
  <fieldset>
68
- <legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
69
 
70
  <table border="0" cellpadding="0" cellspacing="4">
71
  <tr>
@@ -133,13 +134,13 @@
133
  </div>
134
  <div class="mceActionPanel">
135
  <div style="float: left">
136
- <input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertAcronym();" />
137
  </div>
138
  <div style="float: left">
139
- <input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeAcronym();" style="display: none;" />
140
  </div>
141
  <div style="float: right">
142
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
143
  </div>
144
  </div>
145
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#xhtmlxtras_dlg.title_acronym_element}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
9
+ <script type="text/javascript" src="js/element_common.js"></script>
10
+ <script type="text/javascript" src="js/acronym.js"></script>
11
  <link rel="stylesheet" type="text/css" href="css/popup.css" />
12
  <base target="_self" />
13
  </head>
14
+ <body style="display: none">
15
  <form onsubmit="insertAcronym();return false;" action="#">
16
  <div class="tabs">
17
  <ul>
18
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.general_tab}</a></span></li>
19
+ <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.events_tab}</a></span></li> -->
20
  </ul>
21
  </div>
22
 
23
  <div class="panel_wrapper">
24
  <div id="general_panel" class="panel current">
25
  <fieldset>
26
+ <legend>{#xhtmlxtras_dlg.fieldset_attrib_tab}</legend>
27
  <table border="0" cellpadding="0" cellspacing="4">
28
  <tr>
29
+ <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td>
30
+ <td><input id="title" name="title" type="text" value="" class="field mceFocus" /></td>
31
  </tr>
32
  <tr>
33
+ <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td>
34
  <td><input id="id" name="id" type="text" value="" class="field" /></td>
35
  </tr>
36
  <tr>
37
+ <td class="label"><label id="classlabel" for="class">{#xhtmlxtras_dlg.attribute_label_class}</label>:</td>
38
  <td>
39
  <select id="class" name="class" class="field mceEditableSelect">
40
+ <option value="">{#not_set}</option>
41
  </select>
42
  </td>
43
  </tr>
44
  <tr>
45
+ <td class="label"><label id="stylelabel" for="class">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td>
46
  <td><input id="style" name="style" type="text" value="" class="field" /></td>
47
  </tr>
48
  <tr>
49
+ <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td>
50
  <td>
51
  <select id="dir" name="dir" class="field">
52
+ <option value="">{#not_set}</option>
53
+ <option value="ltr">{#xhtmlxtras_dlg.attribute_option_ltr}</option>
54
+ <option value="rtl">{#xhtmlxtras_dlg.attribute_option_rtl}</option>
55
  </select>
56
  </td>
57
  </tr>
58
  <tr>
59
+ <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td>
60
  <td>
61
  <input id="lang" name="lang" type="text" value="" class="field" />
62
  </td>
66
  </div>
67
  <div id="events_panel" class="panel">
68
  <fieldset>
69
+ <legend>{#xhtmlxtras_dlg.fieldset_events_tab}</legend>
70
 
71
  <table border="0" cellpadding="0" cellspacing="4">
72
  <tr>
134
  </div>
135
  <div class="mceActionPanel">
136
  <div style="float: left">
137
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
138
  </div>
139
  <div style="float: left">
140
+ <input type="button" id="remove" name="remove" class="button" value="{#xhtmlxtras_dlg.remove}" onclick="removeAcronym();" style="display: none;" />
141
  </div>
142
  <div style="float: right">
143
+ <input type="submit" id="insert" name="insert" value="{#update}" />
144
  </div>
145
  </div>
146
 
mce/xhtmlxtras/attributes.htm CHANGED
@@ -1,71 +1,72 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_xhtmlxtras_attribs_title}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/editable_selects.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
8
- <script language="javascript" type="text/javascript" src="jscripts/attributes.js"></script>
9
  <link rel="stylesheet" type="text/css" href="css/attributes.css" />
10
  <base target="_self" />
11
  </head>
12
- <body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
13
  <form onsubmit="insertAction();return false;" action="#">
14
  <div class="tabs">
15
  <ul>
16
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_attribute_attrib_tab}</a></span></li>
17
- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_attribute_events_tab}</a></span></li>
18
  </ul>
19
  </div>
20
 
21
  <div class="panel_wrapper">
22
  <div id="general_panel" class="panel current">
23
  <fieldset>
24
- <legend>{$lang_xhtmlxtras_attribute_attrib_tab}</legend>
25
  <table border="0" cellpadding="0" cellspacing="4">
26
  <tr>
27
- <td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
28
- <td><input id="title" name="title" type="text" value="" /></td>
29
  </tr>
30
  <tr>
31
- <td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
32
  <td><input id="id" name="id" type="text" value="" /></td>
33
  </tr>
34
  <tr>
35
- <td><label id="classlabel" for="classlist">{$lang_class_name}</label></td>
36
  <td>
37
  <select id="classlist" name="classlist" class="mceEditableSelect">
38
- <option value="" selected>{$lang_not_set}</option>
39
  </select>
40
  </td>
41
  </tr>
42
  <tr>
43
- <td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
44
  <td><input id="style" name="style" type="text" value="" /></td>
45
  </tr>
46
  <tr>
47
- <td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
48
  <td>
49
  <select id="dir" name="dir">
50
- <option value="">{$lang_xhtmlxtras_not_set}</option>
51
- <option value="ltr">{$lang_xhtmlxtras_option_ltr}</option>
52
- <option value="rtl">{$lang_xhtmlxtras_option_rtl}</option>
53
  </select>
54
  </td>
55
  </tr>
56
  <tr>
57
- <td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
58
  <td>
59
  <input id="lang" name="lang" type="text" value="" />
60
  </td>
61
  </tr>
62
  <tr>
63
- <td><label id="tabindexlabel" for="tabindex">{$lang_xhtmlxtras_attribute_label_tabindex}</label></td>
64
  <td><input type="text" id="tabindex" name="tabindex" value="" /></td>
65
  </tr>
66
 
67
  <tr>
68
- <td><label id="accesskeylabel" for="accesskey">{$lang_xhtmlxtras_attribute_label_accesskey}</label></td>
69
  <td><input type="text" id="accesskey" name="accesskey" value="" /></td>
70
  </tr>
71
  </table>
@@ -73,7 +74,7 @@
73
  </div>
74
  <div id="events_panel" class="panel">
75
  <fieldset>
76
- <legend>{$lang_xhtmlxtras_attribute_events_tab}</legend>
77
 
78
  <table border="0" cellpadding="0" cellspacing="4">
79
  <tr>
@@ -141,10 +142,10 @@
141
  </div>
142
  <div class="mceActionPanel">
143
  <div style="float: left">
144
- <input type="button" id="insert" name="insert" value="{$lang_insert}" onclick="insertAction();" />
145
  </div>
146
  <div style="float: right">
147
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
148
  </div>
149
  </div>
150
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#xhtmlxtras_dlg.attribs_title}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
8
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
9
+ <script type="text/javascript" src="js/attributes.js"></script>
10
  <link rel="stylesheet" type="text/css" href="css/attributes.css" />
11
  <base target="_self" />
12
  </head>
13
+ <body style="display: none">
14
  <form onsubmit="insertAction();return false;" action="#">
15
  <div class="tabs">
16
  <ul>
17
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.attribute_attrib_tab}</a></span></li>
18
+ <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.attribute_events_tab}</a></span></li>
19
  </ul>
20
  </div>
21
 
22
  <div class="panel_wrapper">
23
  <div id="general_panel" class="panel current">
24
  <fieldset>
25
+ <legend>{#xhtmlxtras_dlg.attribute_attrib_tab}</legend>
26
  <table border="0" cellpadding="0" cellspacing="4">
27
  <tr>
28
+ <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td>
29
+ <td><input id="title" name="title" type="text" value="" class="mceFocus" /></td>
30
  </tr>
31
  <tr>
32
+ <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td>
33
  <td><input id="id" name="id" type="text" value="" /></td>
34
  </tr>
35
  <tr>
36
+ <td><label id="classlabel" for="classlist">{#class_name}</label></td>
37
  <td>
38
  <select id="classlist" name="classlist" class="mceEditableSelect">
39
+ <option value="" selected>{#not_set}</option>
40
  </select>
41
  </td>
42
  </tr>
43
  <tr>
44
+ <td class="label"><label id="stylelabel" for="class">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td>
45
  <td><input id="style" name="style" type="text" value="" /></td>
46
  </tr>
47
  <tr>
48
+ <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td>
49
  <td>
50
  <select id="dir" name="dir">
51
+ <option value="">{#not_set}</option>
52
+ <option value="ltr">{#xhtmlxtras_dlg.option_ltr}</option>
53
+ <option value="rtl">{#xhtmlxtras_dlg.option_rtl}</option>
54
  </select>
55
  </td>
56
  </tr>
57
  <tr>
58
+ <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td>
59
  <td>
60
  <input id="lang" name="lang" type="text" value="" />
61
  </td>
62
  </tr>
63
  <tr>
64
+ <td><label id="tabindexlabel" for="tabindex">{#xhtmlxtras_dlg.attribute_label_tabindex}</label></td>
65
  <td><input type="text" id="tabindex" name="tabindex" value="" /></td>
66
  </tr>
67
 
68
  <tr>
69
+ <td><label id="accesskeylabel" for="accesskey">{#xhtmlxtras_dlg.attribute_label_accesskey}</label></td>
70
  <td><input type="text" id="accesskey" name="accesskey" value="" /></td>
71
  </tr>
72
  </table>
74
  </div>
75
  <div id="events_panel" class="panel">
76
  <fieldset>
77
+ <legend>{#xhtmlxtras_dlg.attribute_events_tab}</legend>
78
 
79
  <table border="0" cellpadding="0" cellspacing="4">
80
  <tr>
142
  </div>
143
  <div class="mceActionPanel">
144
  <div style="float: left">
145
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
146
  </div>
147
  <div style="float: right">
148
+ <input type="submit" id="insert" name="insert" value="{#insert}" />
149
  </div>
150
  </div>
151
 
mce/xhtmlxtras/cite.htm CHANGED
@@ -1,61 +1,62 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_xhtmlxtras_title_cite_element}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/editable_selects.js"></script>
8
- <script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
9
- <script language="javascript" type="text/javascript" src="jscripts/cite.js"></script>
10
  <link rel="stylesheet" type="text/css" href="css/popup.css" />
11
  <base target="_self" />
12
  </head>
13
- <body onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
14
  <form onsubmit="insertCite();return false;" action="#">
15
  <div class="tabs">
16
  <ul>
17
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
18
- <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
19
  </ul>
20
  </div>
21
 
22
  <div class="panel_wrapper">
23
  <div id="general_panel" class="panel current">
24
  <fieldset>
25
- <legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
26
  <table border="0" cellpadding="0" cellspacing="4">
27
  <tr>
28
- <td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
29
- <td><input id="title" name="title" type="text" value="" class="field" /></td>
30
  </tr>
31
  <tr>
32
- <td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
33
  <td><input id="id" name="id" type="text" value="" class="field" /></td>
34
  </tr>
35
  <tr>
36
- <td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td>
37
  <td>
38
  <select id="class" name="class" class="field mceEditableSelect">
39
- <option value="">{$lang_xhtmlxtras_not_set}</option>
40
  </select>
41
  </td>
42
  </tr>
43
  <tr>
44
- <td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
45
  <td><input id="style" name="style" type="text" value="" class="field" /></td>
46
  </tr>
47
  <tr>
48
- <td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
49
  <td>
50
  <select id="dir" name="dir" class="field">
51
- <option value="">{$lang_xhtmlxtras_not_set}</option>
52
- <option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option>
53
- <option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option>
54
  </select>
55
  </td>
56
  </tr>
57
  <tr>
58
- <td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
59
  <td>
60
  <input id="lang" name="lang" type="text" value="" class="field" />
61
  </td>
@@ -65,7 +66,7 @@
65
  </div>
66
  <div id="events_panel" class="panel">
67
  <fieldset>
68
- <legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
69
 
70
  <table border="0" cellpadding="0" cellspacing="4">
71
  <tr>
@@ -133,13 +134,13 @@
133
  </div>
134
  <div class="mceActionPanel">
135
  <div style="float: left">
136
- <input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertCite();" />
137
  </div>
138
  <div style="float: left">
139
- <input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeCite();" style="display: none;" />
140
  </div>
141
  <div style="float: right">
142
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
143
  </div>
144
  </div>
145
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#xhtmlxtras_dlg.title_cite_element}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
9
+ <script type="text/javascript" src="js/element_common.js"></script>
10
+ <script type="text/javascript" src="js/cite.js"></script>
11
  <link rel="stylesheet" type="text/css" href="css/popup.css" />
12
  <base target="_self" />
13
  </head>
14
+ <body style="display: none">
15
  <form onsubmit="insertCite();return false;" action="#">
16
  <div class="tabs">
17
  <ul>
18
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.general_tab}</a></span></li>
19
+ <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.events_tab}</a></span></li> -->
20
  </ul>
21
  </div>
22
 
23
  <div class="panel_wrapper">
24
  <div id="general_panel" class="panel current">
25
  <fieldset>
26
+ <legend>{#xhtmlxtras_dlg.fieldset_attrib_tab}</legend>
27
  <table border="0" cellpadding="0" cellspacing="4">
28
  <tr>
29
+ <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td>
30
+ <td><input id="title" name="title" type="text" value="" class="field mceFocus" /></td>
31
  </tr>
32
  <tr>
33
+ <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td>
34
  <td><input id="id" name="id" type="text" value="" class="field" /></td>
35
  </tr>
36
  <tr>
37
+ <td class="label"><label id="classlabel" for="class">{#xhtmlxtras_dlg.attribute_label_class}</label>:</td>
38
  <td>
39
  <select id="class" name="class" class="field mceEditableSelect">
40
+ <option value="">{#not_set}</option>
41
  </select>
42
  </td>
43
  </tr>
44
  <tr>
45
+ <td class="label"><label id="stylelabel" for="class">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td>
46
  <td><input id="style" name="style" type="text" value="" class="field" /></td>
47
  </tr>
48
  <tr>
49
+ <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td>
50
  <td>
51
  <select id="dir" name="dir" class="field">
52
+ <option value="">{#not_set}</option>
53
+ <option value="ltr">{#xhtmlxtras_dlg.attribute_option_ltr}</option>
54
+ <option value="rtl">{#xhtmlxtras_dlg.attribute_option_rtl}</option>
55
  </select>
56
  </td>
57
  </tr>
58
  <tr>
59
+ <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td>
60
  <td>
61
  <input id="lang" name="lang" type="text" value="" class="field" />
62
  </td>
66
  </div>
67
  <div id="events_panel" class="panel">
68
  <fieldset>
69
+ <legend>{#xhtmlxtras_dlg.fieldset_events_tab}</legend>
70
 
71
  <table border="0" cellpadding="0" cellspacing="4">
72
  <tr>
134
  </div>
135
  <div class="mceActionPanel">
136
  <div style="float: left">
137
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
138
  </div>
139
  <div style="float: left">
140
+ <input type="button" id="remove" name="remove" class="button" value="{#xhtmlxtras_dlg.remove}" onclick="removeCite();" style="display: none;" />
141
  </div>
142
  <div style="float: right">
143
+ <input type="submit" id="insert" name="insert" value="{#update}" />
144
  </div>
145
  </div>
146
 
mce/xhtmlxtras/css/popup.css CHANGED
@@ -1,46 +1,9 @@
1
- a.mceButtonNormal img, a.mceButtonSelected img {border: 1px solid #F0F0EE !important;}
2
- a.mceButtonNormal img:hover, a.mceButtonSelected img:hover {border: 1px solid #0A246A !important; cursor: default; background-color: #B6BDD2;}
3
-
4
- img {
5
- border: 0;
6
- }
7
-
8
- input.field, select.field {
9
- width: 200px;
10
- }
11
-
12
- input.picker {
13
- width: 179px;
14
- margin-left: 5px;
15
- }
16
-
17
- input.disabled {
18
- border-color: #F2F2F2;
19
- }
20
-
21
- img.picker {
22
- vertical-align: text-bottom;
23
- cursor: pointer;
24
- }
25
-
26
- h1 {
27
- padding: 0 0 5px 0;
28
- }
29
-
30
- #remove {
31
- font-weight: bold;
32
- width: 90px;
33
- height: 21px;
34
- border: 0px;
35
- background-image: url('../images/remove_button_bg.gif');
36
- cursor: pointer;
37
- margin-left: 3px;
38
- }
39
-
40
- .panel_wrapper div.current {
41
- height: 160px;
42
- }
43
-
44
- #xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {
45
- height: 220px;
46
- }
1
+ input.field, select.field {width:200px;}
2
+ input.picker {width:179px; margin-left: 5px;}
3
+ input.disabled {border-color:#F2F2F2;}
4
+ img.picker {vertical-align:text-bottom; cursor:pointer;}
5
+ h1 {padding: 0 0 5px 0;}
6
+ .panel_wrapper div.current {height:160px;}
7
+ #xhtmlxtrasdel .panel_wrapper div.current, #xhtmlxtrasins .panel_wrapper div.current {height: 230px;}
8
+ a.browse span {display:block; width:20px; height:20px; background:url('../../../themes/advanced/img/icons.gif') -140px -20px;}
9
+ #datetime {width:180px;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/del.htm CHANGED
@@ -1,81 +1,82 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_xhtmlxtras_title_del_element}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/editable_selects.js"></script>
8
- <script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
9
- <script language="javascript" type="text/javascript" src="jscripts/del.js"></script>
10
  <link rel="stylesheet" type="text/css" href="css/popup.css" />
11
  <base target="_self" />
12
  </head>
13
- <body id="xhtmlxtrasins" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
14
  <form onsubmit="insertDel();return false;" action="#">
15
  <div class="tabs">
16
  <ul>
17
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
18
- <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
19
  </ul>
20
  </div>
21
 
22
  <div class="panel_wrapper">
23
  <div id="general_panel" class="panel current">
24
  <fieldset>
25
- <legend>{$lang_xhtmlxtras_fieldset_general_tab}</legend>
26
  <table border="0" cellpadding="0" cellspacing="4">
27
  <tr>
28
- <td class="label"><label id="datetimelabel" for="datetime">{$lang_xhtmlxtras_attribute_label_datetime}</label>:</td>
29
  <td>
30
  <table border="0" cellspacing="0" cellpadding="0">
31
  <tr>
32
- <td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field" /></td>
33
- <td><a href="javascript:insertDateTime('datetime');" class="mceButtonNormal"><img src="images/date_time.gif" class="picker" alt="{$lang_xhtmlxtras_insert_date}" title="{$lang_xhtmlxtras_insert_date}" /></a></td>
34
  </tr>
35
  </table>
36
  </td>
37
  </tr>
38
  <tr>
39
- <td class="label"><label id="citelabel" for="cite">{$lang_xhtmlxtras_attribute_label_cite}</label>:</td>
40
  <td><input id="cite" name="cite" type="text" value="" class="field" /></td>
41
  </tr>
42
  </table>
43
  </fieldset>
44
  <fieldset>
45
- <legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
46
  <table border="0" cellpadding="0" cellspacing="4">
47
  <tr>
48
- <td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
49
  <td><input id="title" name="title" type="text" value="" class="field" /></td>
50
  </tr>
51
  <tr>
52
- <td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
53
  <td><input id="id" name="id" type="text" value="" class="field" /></td>
54
  </tr>
55
  <tr>
56
- <td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td>
57
  <td>
58
  <select id="class" name="class" class="field mceEditableSelect">
59
- <option value="">{$lang_xhtmlxtras_not_set}</option>
60
  </select>
61
  </td>
62
  </tr>
63
  <tr>
64
- <td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
65
  <td><input id="style" name="style" type="text" value="" class="field" /></td>
66
  </tr>
67
  <tr>
68
- <td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
69
  <td>
70
  <select id="dir" name="dir" class="field">
71
- <option value="">{$lang_xhtmlxtras_not_set}</option>
72
- <option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option>
73
- <option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option>
74
  </select>
75
  </td>
76
  </tr>
77
  <tr>
78
- <td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
79
  <td>
80
  <input id="lang" name="lang" type="text" value="" class="field" />
81
  </td>
@@ -85,7 +86,7 @@
85
  </div>
86
  <div id="events_panel" class="panel">
87
  <fieldset>
88
- <legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
89
 
90
  <table border="0" cellpadding="0" cellspacing="4">
91
  <tr>
@@ -153,13 +154,13 @@
153
  </div>
154
  <div class="mceActionPanel">
155
  <div style="float: left">
156
- <input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertDel();" />
157
  </div>
158
  <div style="float: left">
159
- <input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeDel();" style="display: none;" />
160
  </div>
161
  <div style="float: right">
162
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
163
  </div>
164
  </div>
165
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#xhtmlxtras_dlg.title_del_element}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
9
+ <script type="text/javascript" src="js/element_common.js"></script>
10
+ <script type="text/javascript" src="js/del.js"></script>
11
  <link rel="stylesheet" type="text/css" href="css/popup.css" />
12
  <base target="_self" />
13
  </head>
14
+ <body id="xhtmlxtrasins" style="display: none">
15
  <form onsubmit="insertDel();return false;" action="#">
16
  <div class="tabs">
17
  <ul>
18
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.general_tab}</a></span></li>
19
+ <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.events_tab}</a></span></li> -->
20
  </ul>
21
  </div>
22
 
23
  <div class="panel_wrapper">
24
  <div id="general_panel" class="panel current">
25
  <fieldset>
26
+ <legend>{#xhtmlxtras_dlg.fieldset_general_tab}</legend>
27
  <table border="0" cellpadding="0" cellspacing="4">
28
  <tr>
29
+ <td class="label"><label id="datetimelabel" for="datetime">{#xhtmlxtras_dlg.attribute_label_datetime}</label>:</td>
30
  <td>
31
  <table border="0" cellspacing="0" cellpadding="0">
32
  <tr>
33
+ <td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field mceFocus" /></td>
34
+ <td><a href="javascript:insertDateTime('datetime');" onmousedown="return false;" class="browse"><span class="datetime" alt="{#xhtmlxtras_dlg.insert_date}" title="{#xhtmlxtras_dlg.insert_date}"></span></a></td>
35
  </tr>
36
  </table>
37
  </td>
38
  </tr>
39
  <tr>
40
+ <td class="label"><label id="citelabel" for="cite">{#xhtmlxtras_dlg.attribute_label_cite}</label>:</td>
41
  <td><input id="cite" name="cite" type="text" value="" class="field" /></td>
42
  </tr>
43
  </table>
44
  </fieldset>
45
  <fieldset>
46
+ <legend>{#xhtmlxtras_dlg.fieldset_attrib_tab}</legend>
47
  <table border="0" cellpadding="0" cellspacing="4">
48
  <tr>
49
+ <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td>
50
  <td><input id="title" name="title" type="text" value="" class="field" /></td>
51
  </tr>
52
  <tr>
53
+ <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td>
54
  <td><input id="id" name="id" type="text" value="" class="field" /></td>
55
  </tr>
56
  <tr>
57
+ <td class="label"><label id="classlabel" for="class">{#xhtmlxtras_dlg.attribute_label_class}</label>:</td>
58
  <td>
59
  <select id="class" name="class" class="field mceEditableSelect">
60
+ <option value="">{#not_set}</option>
61
  </select>
62
  </td>
63
  </tr>
64
  <tr>
65
+ <td class="label"><label id="stylelabel" for="class">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td>
66
  <td><input id="style" name="style" type="text" value="" class="field" /></td>
67
  </tr>
68
  <tr>
69
+ <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td>
70
  <td>
71
  <select id="dir" name="dir" class="field">
72
+ <option value="">{#not_set}</option>
73
+ <option value="ltr">{#xhtmlxtras_dlg.attribute_option_ltr}</option>
74
+ <option value="rtl">{#xhtmlxtras_dlg.attribute_option_rtl}</option>
75
  </select>
76
  </td>
77
  </tr>
78
  <tr>
79
+ <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td>
80
  <td>
81
  <input id="lang" name="lang" type="text" value="" class="field" />
82
  </td>
86
  </div>
87
  <div id="events_panel" class="panel">
88
  <fieldset>
89
+ <legend>{#xhtmlxtras_dlg.fieldset_events_tab}</legend>
90
 
91
  <table border="0" cellpadding="0" cellspacing="4">
92
  <tr>
154
  </div>
155
  <div class="mceActionPanel">
156
  <div style="float: left">
157
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
158
  </div>
159
  <div style="float: left">
160
+ <input type="button" id="remove" name="remove" class="button" value="{#xhtmlxtras_dlg.remove}" onclick="removeDel();" style="display: none;" />
161
  </div>
162
  <div style="float: right">
163
+ <input type="submit" id="insert" name="insert" value="{#update}" />
164
  </div>
165
  </div>
166
 
mce/xhtmlxtras/editor_plugin.js CHANGED
@@ -1,199 +1 @@
1
- /**
2
- * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
- *
4
- * @author Moxiecode - based on work by Andrew Tetlaw
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- /* Import plugin specific language pack */
9
- tinyMCE.importPluginLanguagePack('xhtmlxtras');
10
-
11
- var TinyMCE_XHTMLXtrasPlugin = {
12
- getInfo : function() {
13
- return {
14
- longname : 'XHTML Xtras Plugin',
15
- author : 'Moxiecode Systems AB',
16
- authorurl : 'http://tinymce.moxiecode.com',
17
- infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',
18
- version : tinyMCE.majorVersion + "." + tinyMCE.minorVersion
19
- };
20
- },
21
-
22
- initInstance : function(inst) {
23
- tinyMCE.importCSS(inst.getDoc(), tinyMCE.baseURL + "/../../../wp-content/plugins/tinymce-advanced/mce/xhtmlxtras/css/xhtmlxtras.css");
24
- },
25
-
26
- getControlHTML : function(cn) {
27
- switch (cn) {
28
- case "cite":
29
- return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_cite_desc', '{$pluginurl}/images/cite.gif', 'mceCite', true);
30
-
31
- case "acronym":
32
- return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_acronym_desc', '{$pluginurl}/images/acronym.gif', 'mceAcronym', true);
33
-
34
- case "abbr":
35
- return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_abbr_desc', '{$pluginurl}/images/abbr.gif', 'mceAbbr', true);
36
-
37
- case "del":
38
- return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_del_desc', '{$pluginurl}/images/del.gif', 'mceDel', true);
39
-
40
- case "ins":
41
- return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_ins_desc', '{$pluginurl}/images/ins.gif', 'mceIns', true);
42
-
43
- case "attribs":
44
- return tinyMCE.getButtonHTML(cn, 'lang_xhtmlxtras_attribs_desc', '{$pluginurl}/images/attribs.gif', 'mceAttributes', true);
45
- }
46
-
47
- return "";
48
- },
49
-
50
- execCommand : function(editor_id, element, command, user_interface, value) {
51
- var template, inst, elm;
52
-
53
- switch (command) {
54
- case "mceCite":
55
- if (!this._anySel(editor_id))
56
- return true;
57
-
58
- template = new Array();
59
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/xhtmlxtras/cite.htm';
60
- template['width'] = 350;
61
- template['height'] = 250;
62
- tinyMCE.openWindow(template, {editor_id : editor_id});
63
- return true;
64
-
65
- case "mceAcronym":
66
- if (!this._anySel(editor_id))
67
- return true;
68
-
69
- template = new Array();
70
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/xhtmlxtras/acronym.htm';
71
- template['width'] = 350;
72
- template['height'] = 250;
73
- tinyMCE.openWindow(template, {editor_id : editor_id});
74
- return true;
75
-
76
- case "mceAbbr":
77
- if (!this._anySel(editor_id))
78
- return true;
79
-
80
- template = new Array();
81
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/xhtmlxtras/abbr.htm';
82
- template['width'] = 350;
83
- template['height'] = 250;
84
- tinyMCE.openWindow(template, {editor_id : editor_id});
85
- return true;
86
-
87
- case "mceIns":
88
- if (!this._anySel(editor_id))
89
- return true;
90
-
91
- template = new Array();
92
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/xhtmlxtras/ins.htm';
93
- template['width'] = 350;
94
- template['height'] = 310;
95
- tinyMCE.openWindow(template, {editor_id : editor_id});
96
- return true;
97
-
98
- case "mceDel":
99
- if (!this._anySel(editor_id))
100
- return true;
101
-
102
- template = new Array();
103
- template['file'] = tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/xhtmlxtras/del.htm';
104
- template['width'] = 350;
105
- template['height'] = 310;
106
- tinyMCE.openWindow(template, {editor_id : editor_id});
107
- return true;
108
-
109
- case "mceAttributes":
110
- inst = tinyMCE.getInstanceById(editor_id);
111
- elm = inst.getFocusElement();
112
-
113
- if (elm && elm.nodeName !== 'BODY' && elm.className.indexOf('mceItem') == -1) {
114
- tinyMCE.openWindow({
115
- file : tinyMCE.baseURL + '/../../../wp-content/plugins/tinymce-advanced/mce/xhtmlxtras/attributes.htm',
116
- width : 380,
117
- height : 370
118
- }, {editor_id : editor_id});
119
- }
120
-
121
- return true;
122
- }
123
-
124
- return false;
125
- },
126
-
127
- cleanup : function(type, content, inst) {
128
- if (type == 'insert_to_editor' && tinyMCE.isIE && !tinyMCE.isOpera) {
129
- content = content.replace(/<abbr([^>]+)>/gi, '<html:ABBR $1>');
130
- content = content.replace(/<\/abbr>/gi, '</html:ABBR>');
131
- }
132
-
133
- return content;
134
- },
135
-
136
- handleNodeChange : function(editor_id, node, undo_index,undo_levels, visual_aid, any_selection) {
137
- var elm = tinyMCE.getParentElement(node);
138
-
139
- if (node == null)
140
- return;
141
-
142
- tinyMCE.switchClass(editor_id + '_attribs', 'mceButtonDisabled');
143
-
144
- if (!any_selection) {
145
- // Disable the buttons
146
- tinyMCE.switchClass(editor_id + '_cite', 'mceButtonDisabled');
147
- tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonDisabled');
148
- tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonDisabled');
149
- tinyMCE.switchClass(editor_id + '_del', 'mceButtonDisabled');
150
- tinyMCE.switchClass(editor_id + '_ins', 'mceButtonDisabled');
151
- } else {
152
- // A selection means the buttons should be active.
153
- tinyMCE.switchClass(editor_id + '_cite', 'mceButtonNormal');
154
- tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonNormal');
155
- tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonNormal');
156
- tinyMCE.switchClass(editor_id + '_del', 'mceButtonNormal');
157
- tinyMCE.switchClass(editor_id + '_ins', 'mceButtonNormal');
158
- }
159
-
160
- if (elm && elm.nodeName != 'BODY' && elm.className.indexOf('mceItem') == -1)
161
- tinyMCE.switchClass(editor_id + '_attribs', 'mceButtonNormal');
162
-
163
- switch (node.nodeName) {
164
- case "CITE":
165
- tinyMCE.switchClass(editor_id + '_cite', 'mceButtonSelected');
166
- return true;
167
-
168
- case "ACRONYM":
169
- tinyMCE.switchClass(editor_id + '_acronym', 'mceButtonSelected');
170
- return true;
171
-
172
- case "abbr": // IE
173
- case "HTML:ABBR": // FF
174
- case "ABBR":
175
- tinyMCE.switchClass(editor_id + '_abbr', 'mceButtonSelected');
176
- return true;
177
-
178
- case "DEL":
179
- tinyMCE.switchClass(editor_id + '_del', 'mceButtonSelected');
180
- return true;
181
-
182
- case "INS":
183
- tinyMCE.switchClass(editor_id + '_ins', 'mceButtonSelected');
184
- return true;
185
- }
186
-
187
- return true;
188
- },
189
-
190
- _anySel : function(editor_id) {
191
- var inst = tinyMCE.getInstanceById(editor_id), t = inst.selection.getSelectedText(), pe;
192
-
193
- pe = tinyMCE.getParentElement(inst.getFocusElement(), 'CITE,ACRONYM,ABBR,HTML:ABBR,DEL,INS');
194
-
195
- return pe || inst.getFocusElement().nodeName == "IMG" || (t && t.length > 0);
196
- }
197
- };
198
-
199
- tinyMCE.addPlugin("xhtmlxtras", TinyMCE_XHTMLXtrasPlugin);
1
+ (function(){tinymce.create('tinymce.plugins.XHTMLXtrasPlugin',{init:function(ed,url){ed.addCommand('mceCite',function(){ed.windowManager.open({file:url+'/cite.htm',width:350+parseInt(ed.getLang('xhtmlxtras.cite_delta_width',0)),height:250+parseInt(ed.getLang('xhtmlxtras.cite_delta_height',0)),inline:1},{plugin_url:url});});ed.addCommand('mceAcronym',function(){ed.windowManager.open({file:url+'/acronym.htm',width:350+parseInt(ed.getLang('xhtmlxtras.acronym_delta_width',0)),height:250+parseInt(ed.getLang('xhtmlxtras.acronym_delta_width',0)),inline:1},{plugin_url:url});});ed.addCommand('mceAbbr',function(){ed.windowManager.open({file:url+'/abbr.htm',width:350+parseInt(ed.getLang('xhtmlxtras.abbr_delta_width',0)),height:250+parseInt(ed.getLang('xhtmlxtras.abbr_delta_width',0)),inline:1},{plugin_url:url});});ed.addCommand('mceDel',function(){ed.windowManager.open({file:url+'/del.htm',width:340+parseInt(ed.getLang('xhtmlxtras.del_delta_width',0)),height:310+parseInt(ed.getLang('xhtmlxtras.del_delta_width',0)),inline:1},{plugin_url:url});});ed.addCommand('mceIns',function(){ed.windowManager.open({file:url+'/ins.htm',width:340+parseInt(ed.getLang('xhtmlxtras.ins_delta_width',0)),height:310+parseInt(ed.getLang('xhtmlxtras.ins_delta_width',0)),inline:1},{plugin_url:url});});ed.addCommand('mceAttributes',function(){ed.windowManager.open({file:url+'/attributes.htm',width:380,height:370,inline:1},{plugin_url:url});});ed.addButton('cite',{title:'xhtmlxtras.cite_desc',cmd:'mceCite'});ed.addButton('acronym',{title:'xhtmlxtras.acronym_desc',cmd:'mceAcronym'});ed.addButton('abbr',{title:'xhtmlxtras.abbr_desc',cmd:'mceAbbr'});ed.addButton('del',{title:'xhtmlxtras.del_desc',cmd:'mceDel'});ed.addButton('ins',{title:'xhtmlxtras.ins_desc',cmd:'mceIns'});ed.addButton('attribs',{title:'xhtmlxtras.attribs_desc',cmd:'mceAttributes'});if(tinymce.isIE){function fix(ed,o){if(o.set){o.content=o.content.replace(/<abbr([^>]+)>/gi,'<html:abbr $1>');o.content=o.content.replace(/<\/abbr>/gi,'</html:abbr>');}};ed.onBeforeSetContent.add(fix);ed.onPostProcess.add(fix);}ed.onNodeChange.add(function(ed,cm,n,co){n=ed.dom.getParent(n,'CITE,ACRONYM,ABBR,DEL,INS');cm.setDisabled('cite',co);cm.setDisabled('acronym',co);cm.setDisabled('abbr',co);cm.setDisabled('del',co);cm.setDisabled('ins',co);cm.setDisabled('attribs',n&&n.nodeName=='BODY');if(n){cm.setDisabled(n.nodeName.toLowerCase(),0);cm.setActive(n.nodeName.toLowerCase(),1);}else{cm.setActive('cite',0);cm.setActive('acronym',0);cm.setActive('abbr',0);cm.setActive('del',0);cm.setActive('ins',0);}});},getInfo:function(){return{longname:'XHTML Xtras Plugin',author:'Moxiecode Systems AB',authorurl:'http://tinymce.moxiecode.com',infourl:'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/xhtmlxtras',version:tinymce.majorVersion+"."+tinymce.minorVersion};}});tinymce.PluginManager.add('xhtmlxtras',tinymce.plugins.XHTMLXtrasPlugin);})();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/images/abbr.gif DELETED
Binary file
mce/xhtmlxtras/images/acronym.gif DELETED
Binary file
mce/xhtmlxtras/images/attribs.gif DELETED
Binary file
mce/xhtmlxtras/images/cite.gif DELETED
Binary file
mce/xhtmlxtras/images/date_time.gif DELETED
Binary file
mce/xhtmlxtras/images/del.gif DELETED
Binary file
mce/xhtmlxtras/images/ins.gif DELETED
Binary file
mce/xhtmlxtras/images/remove_button_bg.gif DELETED
Binary file
mce/xhtmlxtras/ins.htm CHANGED
@@ -1,81 +1,82 @@
 
1
  <html xmlns="http://www.w3.org/1999/xhtml">
2
  <head>
3
- <title>{$lang_xhtmlxtras_title_ins_element}</title>
4
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/tiny_mce_popup.js"></script>
5
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/mctabs.js"></script>
6
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/form_utils.js"></script>
7
- <script language="javascript" type="text/javascript" src="../../../../../wp-includes/js/tinymce/utils/editable_selects.js"></script>
8
- <script language="javascript" type="text/javascript" src="jscripts/element_common.js"></script>
9
- <script language="javascript" type="text/javascript" src="jscripts/ins.js"></script>
10
  <link rel="stylesheet" type="text/css" href="css/popup.css" />
11
  <base target="_self" />
12
  </head>
13
- <body id="xhtmlxtrasins" onload="tinyMCEPopup.executeOnLoad('init();');" style="display: none">
14
  <form onsubmit="insertIns();return false;" action="#">
15
  <div class="tabs">
16
  <ul>
17
- <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{$lang_xhtmlxtras_general_tab}</a></span></li>
18
- <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{$lang_xhtmlxtras_events_tab}</a></span></li> -->
19
  </ul>
20
  </div>
21
 
22
  <div class="panel_wrapper">
23
  <div id="general_panel" class="panel current">
24
  <fieldset>
25
- <legend>{$lang_xhtmlxtras_fieldset_general_tab}</legend>
26
  <table border="0" cellpadding="0" cellspacing="4">
27
  <tr>
28
- <td class="label"><label id="datetimelabel" for="datetime">{$lang_xhtmlxtras_attribute_label_datetime}</label>:</td>
29
  <td>
30
  <table border="0" cellspacing="0" cellpadding="0">
31
  <tr>
32
- <td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field" /></td>
33
- <td><a href="javascript:insertDateTime('datetime');" class="mceButtonNormal"><img src="images/date_time.gif" class="picker" alt="{$lang_xhtmlxtras_insert_date}" title="{$lang_xhtmlxtras_insert_date}" /></a></td>
34
  </tr>
35
  </table>
36
  </td>
37
  </tr>
38
  <tr>
39
- <td class="label"><label id="citelabel" for="cite">{$lang_xhtmlxtras_attribute_label_cite}</label>:</td>
40
  <td><input id="cite" name="cite" type="text" value="" class="field" /></td>
41
  </tr>
42
  </table>
43
  </fieldset>
44
  <fieldset>
45
- <legend>{$lang_xhtmlxtras_fieldset_attrib_tab}</legend>
46
  <table border="0" cellpadding="0" cellspacing="4">
47
  <tr>
48
- <td class="label"><label id="titlelabel" for="title">{$lang_xhtmlxtras_attribute_label_title}</label>:</td>
49
  <td><input id="title" name="title" type="text" value="" class="field" /></td>
50
  </tr>
51
  <tr>
52
- <td class="label"><label id="idlabel" for="id">{$lang_xhtmlxtras_attribute_label_id}</label>:</td>
53
  <td><input id="id" name="id" type="text" value="" class="field" /></td>
54
  </tr>
55
  <tr>
56
- <td class="label"><label id="classlabel" for="class">{$lang_xhtmlxtras_attribute_label_class}</label>:</td>
57
  <td>
58
  <select id="class" name="class" class="field mceEditableSelect">
59
- <option value="">{$lang_xhtmlxtras_not_set}</option>
60
  </select>
61
  </td>
62
  </tr>
63
  <tr>
64
- <td class="label"><label id="stylelabel" for="class">{$lang_xhtmlxtras_attribute_label_style}</label>:</td>
65
  <td><input id="style" name="style" type="text" value="" class="field" /></td>
66
  </tr>
67
  <tr>
68
- <td class="label"><label id="dirlabel" for="dir">{$lang_xhtmlxtras_attribute_label_langdir}</label>:</td>
69
  <td>
70
  <select id="dir" name="dir" class="field">
71
- <option value="">{$lang_xhtmlxtras_not_set}</option>
72
- <option value="ltr">{$lang_xhtmlxtras_attribute_option_ltr}</option>
73
- <option value="rtl">{$lang_xhtmlxtras_attribute_option_rtl}</option>
74
  </select>
75
  </td>
76
  </tr>
77
  <tr>
78
- <td class="label"><label id="langlabel" for="lang">{$lang_xhtmlxtras_attribute_label_langcode}</label>:</td>
79
  <td>
80
  <input id="lang" name="lang" type="text" value="" class="field" />
81
  </td>
@@ -85,7 +86,7 @@
85
  </div>
86
  <div id="events_panel" class="panel">
87
  <fieldset>
88
- <legend>{$lang_xhtmlxtras_fieldset_events_tab}</legend>
89
 
90
  <table border="0" cellpadding="0" cellspacing="4">
91
  <tr>
@@ -153,13 +154,13 @@
153
  </div>
154
  <div class="mceActionPanel">
155
  <div style="float: left">
156
- <input type="button" id="insert" name="insert" value="{$lang_update}" onclick="insertIns();" />
157
  </div>
158
  <div style="float: left">
159
- <input type="button" id="remove" name="remove" value="{$lang_xhtmlxtras_remove}" onclick="removeIns();" style="display: none;" />
160
  </div>
161
  <div style="float: right">
162
- <input type="button" id="cancel" name="cancel" value="{$lang_cancel}" onclick="tinyMCEPopup.close();" />
163
  </div>
164
  </div>
165
 
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2
  <html xmlns="http://www.w3.org/1999/xhtml">
3
  <head>
4
+ <title>{#xhtmlxtras_dlg.title_ins_element}</title>
5
+ <script type="text/javascript" src="../../tiny_mce_popup.js"></script>
6
+ <script type="text/javascript" src="../../utils/mctabs.js"></script>
7
+ <script type="text/javascript" src="../../utils/form_utils.js"></script>
8
+ <script type="text/javascript" src="../../utils/editable_selects.js"></script>
9
+ <script type="text/javascript" src="js/element_common.js"></script>
10
+ <script type="text/javascript" src="js/ins.js"></script>
11
  <link rel="stylesheet" type="text/css" href="css/popup.css" />
12
  <base target="_self" />
13
  </head>
14
+ <body id="xhtmlxtrasins" style="display: none">
15
  <form onsubmit="insertIns();return false;" action="#">
16
  <div class="tabs">
17
  <ul>
18
+ <li id="general_tab" class="current"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.general_tab}</a></span></li>
19
+ <!-- <li id="events_tab"><span><a href="javascript:mcTabs.displayTab('events_tab','events_panel');" onmousedown="return false;">{#xhtmlxtras_dlg.events_tab}</a></span></li> -->
20
  </ul>
21
  </div>
22
 
23
  <div class="panel_wrapper">
24
  <div id="general_panel" class="panel current">
25
  <fieldset>
26
+ <legend>{#xhtmlxtras_dlg.fieldset_general_tab}</legend>
27
  <table border="0" cellpadding="0" cellspacing="4">
28
  <tr>
29
+ <td class="label"><label id="datetimelabel" for="datetime">{#xhtmlxtras_dlg.attribute_label_datetime}</label>:</td>
30
  <td>
31
  <table border="0" cellspacing="0" cellpadding="0">
32
  <tr>
33
+ <td><input id="datetime" name="datetime" type="text" value="" maxlength="19" class="field mceFocus" /></td>
34
+ <td><a href="javascript:insertDateTime('datetime');" onmousedown="return false;" class="browse"><span class="datetime" alt="{#xhtmlxtras_dlg.insert_date}" title="{#xhtmlxtras_dlg.insert_date}"></span></a></td>
35
  </tr>
36
  </table>
37
  </td>
38
  </tr>
39
  <tr>
40
+ <td class="label"><label id="citelabel" for="cite">{#xhtmlxtras_dlg.attribute_label_cite}</label>:</td>
41
  <td><input id="cite" name="cite" type="text" value="" class="field" /></td>
42
  </tr>
43
  </table>
44
  </fieldset>
45
  <fieldset>
46
+ <legend>{#xhtmlxtras_dlg.fieldset_attrib_tab}</legend>
47
  <table border="0" cellpadding="0" cellspacing="4">
48
  <tr>
49
+ <td class="label"><label id="titlelabel" for="title">{#xhtmlxtras_dlg.attribute_label_title}</label>:</td>
50
  <td><input id="title" name="title" type="text" value="" class="field" /></td>
51
  </tr>
52
  <tr>
53
+ <td class="label"><label id="idlabel" for="id">{#xhtmlxtras_dlg.attribute_label_id}</label>:</td>
54
  <td><input id="id" name="id" type="text" value="" class="field" /></td>
55
  </tr>
56
  <tr>
57
+ <td class="label"><label id="classlabel" for="class">{#xhtmlxtras_dlg.attribute_label_class}</label>:</td>
58
  <td>
59
  <select id="class" name="class" class="field mceEditableSelect">
60
+ <option value="">{#not_set}</option>
61
  </select>
62
  </td>
63
  </tr>
64
  <tr>
65
+ <td class="label"><label id="stylelabel" for="class">{#xhtmlxtras_dlg.attribute_label_style}</label>:</td>
66
  <td><input id="style" name="style" type="text" value="" class="field" /></td>
67
  </tr>
68
  <tr>
69
+ <td class="label"><label id="dirlabel" for="dir">{#xhtmlxtras_dlg.attribute_label_langdir}</label>:</td>
70
  <td>
71
  <select id="dir" name="dir" class="field">
72
+ <option value="">{#not_set}</option>
73
+ <option value="ltr">{#xhtmlxtras_dlg.attribute_option_ltr}</option>
74
+ <option value="rtl">{#xhtmlxtras_dlg.attribute_option_rtl}</option>
75
  </select>
76
  </td>
77
  </tr>
78
  <tr>
79
+ <td class="label"><label id="langlabel" for="lang">{#xhtmlxtras_dlg.attribute_label_langcode}</label>:</td>
80
  <td>
81
  <input id="lang" name="lang" type="text" value="" class="field" />
82
  </td>
86
  </div>
87
  <div id="events_panel" class="panel">
88
  <fieldset>
89
+ <legend>{#xhtmlxtras_dlg.fieldset_events_tab}</legend>
90
 
91
  <table border="0" cellpadding="0" cellspacing="4">
92
  <tr>
154
  </div>
155
  <div class="mceActionPanel">
156
  <div style="float: left">
157
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
158
  </div>
159
  <div style="float: left">
160
+ <input type="button" id="remove" name="remove" class="button" value="{#xhtmlxtras_dlg.remove}" onclick="removeIns();" style="display: none;" />
161
  </div>
162
  <div style="float: right">
163
+ <input type="submit" id="insert" name="insert" value="{#update}" />
164
  </div>
165
  </div>
166
 
mce/xhtmlxtras/{jscripts → js}/abbr.js RENAMED
@@ -2,16 +2,10 @@
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- function preinit() {
9
- // Initialize
10
- tinyMCE.setWindowArg('mce_windowresize', false);
11
- }
12
-
13
  function init() {
14
- tinyMCEPopup.resizeToInnerSize();
15
  SXE.initElementDialog('abbr');
16
  if (SXE.currentAction == "update") {
17
  SXE.showRemoveButton();
@@ -19,11 +13,13 @@ function init() {
19
  }
20
 
21
  function insertAbbr() {
22
- SXE.insertElement(tinyMCE.isIE && !tinyMCE.isOpera ? 'html:ABBR' : 'abbr');
23
  tinyMCEPopup.close();
24
  }
25
 
26
  function removeAbbr() {
27
  SXE.removeElement('abbr');
28
  tinyMCEPopup.close();
29
- }
 
 
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
8
  function init() {
 
9
  SXE.initElementDialog('abbr');
10
  if (SXE.currentAction == "update") {
11
  SXE.showRemoveButton();
13
  }
14
 
15
  function insertAbbr() {
16
+ SXE.insertElement(tinymce.isIE ? 'html:abbr' : 'abbr');
17
  tinyMCEPopup.close();
18
  }
19
 
20
  function removeAbbr() {
21
  SXE.removeElement('abbr');
22
  tinyMCEPopup.close();
23
+ }
24
+
25
+ tinyMCEPopup.onInit.add(init);
mce/xhtmlxtras/{jscripts → js}/acronym.js RENAMED
@@ -2,16 +2,10 @@
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- function preinit() {
9
- // Initialize
10
- tinyMCE.setWindowArg('mce_windowresize', false);
11
- }
12
-
13
  function init() {
14
- tinyMCEPopup.resizeToInnerSize();
15
  SXE.initElementDialog('acronym');
16
  if (SXE.currentAction == "update") {
17
  SXE.showRemoveButton();
@@ -26,4 +20,6 @@ function insertAcronym() {
26
  function removeAcronym() {
27
  SXE.removeElement('acronym');
28
  tinyMCEPopup.close();
29
- }
 
 
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
8
  function init() {
 
9
  SXE.initElementDialog('acronym');
10
  if (SXE.currentAction == "update") {
11
  SXE.showRemoveButton();
20
  function removeAcronym() {
21
  SXE.removeElement('acronym');
22
  tinyMCEPopup.close();
23
+ }
24
+
25
+ tinyMCEPopup.onInit.add(init);
mce/xhtmlxtras/js/attributes.js ADDED
@@ -0,0 +1,123 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
+ *
4
+ * @author Moxiecode - based on work by Andrew Tetlaw
5
+ * @copyright Copyright � 2004-2006, Moxiecode Systems AB, All rights reserved.
6
+ */
7
+
8
+ function init() {
9
+ tinyMCEPopup.resizeToInnerSize();
10
+ var inst = tinyMCEPopup.editor;
11
+ var dom = inst.dom;
12
+ var elm = inst.selection.getNode();
13
+ var f = document.forms[0];
14
+ var onclick = dom.getAttrib(elm, 'onclick');
15
+
16
+ setFormValue('title', dom.getAttrib(elm, 'title'));
17
+ setFormValue('id', dom.getAttrib(elm, 'id'));
18
+ setFormValue('style', dom.getAttrib(elm, "style"));
19
+ setFormValue('dir', dom.getAttrib(elm, 'dir'));
20
+ setFormValue('lang', dom.getAttrib(elm, 'lang'));
21
+ setFormValue('tabindex', dom.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
22
+ setFormValue('accesskey', dom.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
23
+ setFormValue('onfocus', dom.getAttrib(elm, 'onfocus'));
24
+ setFormValue('onblur', dom.getAttrib(elm, 'onblur'));
25
+ setFormValue('onclick', onclick);
26
+ setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick'));
27
+ setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown'));
28
+ setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup'));
29
+ setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover'));
30
+ setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove'));
31
+ setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout'));
32
+ setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress'));
33
+ setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown'));
34
+ setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup'));
35
+ className = dom.getAttrib(elm, 'class');
36
+
37
+ addClassesToList('classlist', 'advlink_styles');
38
+ selectByValue(f, 'classlist', className, true);
39
+
40
+ TinyMCE_EditableSelects.init();
41
+ }
42
+
43
+ function setFormValue(name, value) {
44
+ if(value && document.forms[0].elements[name]){
45
+ document.forms[0].elements[name].value = value;
46
+ }
47
+ }
48
+
49
+ function insertAction() {
50
+ var inst = tinyMCEPopup.editor;
51
+ var elm = inst.selection.getNode();
52
+
53
+ tinyMCEPopup.execCommand("mceBeginUndoLevel");
54
+ setAllAttribs(elm);
55
+ tinyMCEPopup.execCommand("mceEndUndoLevel");
56
+ tinyMCEPopup.close();
57
+ }
58
+
59
+ function setAttrib(elm, attrib, value) {
60
+ var formObj = document.forms[0];
61
+ var valueElm = formObj.elements[attrib.toLowerCase()];
62
+ var inst = tinyMCEPopup.editor;
63
+ var dom = inst.dom;
64
+
65
+ if (typeof(value) == "undefined" || value == null) {
66
+ value = "";
67
+
68
+ if (valueElm)
69
+ value = valueElm.value;
70
+ }
71
+
72
+ if (value != "") {
73
+ dom.setAttrib(elm, attrib.toLowerCase(), value);
74
+
75
+ if (attrib == "style")
76
+ attrib = "style.cssText";
77
+
78
+ if (attrib.substring(0, 2) == 'on')
79
+ value = 'return true;' + value;
80
+
81
+ if (attrib == "class")
82
+ attrib = "className";
83
+
84
+ elm[attrib]=value;
85
+ } else
86
+ elm.removeAttribute(attrib);
87
+ }
88
+
89
+ function setAllAttribs(elm) {
90
+ var f = document.forms[0];
91
+
92
+ setAttrib(elm, 'title');
93
+ setAttrib(elm, 'id');
94
+ setAttrib(elm, 'style');
95
+ setAttrib(elm, 'class', getSelectValue(f, 'classlist'));
96
+ setAttrib(elm, 'dir');
97
+ setAttrib(elm, 'lang');
98
+ setAttrib(elm, 'tabindex');
99
+ setAttrib(elm, 'accesskey');
100
+ setAttrib(elm, 'onfocus');
101
+ setAttrib(elm, 'onblur');
102
+ setAttrib(elm, 'onclick');
103
+ setAttrib(elm, 'ondblclick');
104
+ setAttrib(elm, 'onmousedown');
105
+ setAttrib(elm, 'onmouseup');
106
+ setAttrib(elm, 'onmouseover');
107
+ setAttrib(elm, 'onmousemove');
108
+ setAttrib(elm, 'onmouseout');
109
+ setAttrib(elm, 'onkeypress');
110
+ setAttrib(elm, 'onkeydown');
111
+ setAttrib(elm, 'onkeyup');
112
+
113
+ // Refresh in old MSIE
114
+ // if (tinyMCE.isMSIE5)
115
+ // elm.outerHTML = elm.outerHTML;
116
+ }
117
+
118
+ function insertAttribute() {
119
+ tinyMCEPopup.close();
120
+ }
121
+
122
+ tinyMCEPopup.onInit.add(init);
123
+ tinyMCEPopup.requireLangPack();
mce/xhtmlxtras/{jscripts → js}/cite.js RENAMED
@@ -2,16 +2,10 @@
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- function preinit() {
9
- // Initialize
10
- tinyMCE.setWindowArg('mce_windowresize', false);
11
- }
12
-
13
  function init() {
14
- tinyMCEPopup.resizeToInnerSize();
15
  SXE.initElementDialog('cite');
16
  if (SXE.currentAction == "update") {
17
  SXE.showRemoveButton();
@@ -26,4 +20,6 @@ function insertCite() {
26
  function removeCite() {
27
  SXE.removeElement('cite');
28
  tinyMCEPopup.close();
29
- }
 
 
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
8
  function init() {
 
9
  SXE.initElementDialog('cite');
10
  if (SXE.currentAction == "update") {
11
  SXE.showRemoveButton();
20
  function removeCite() {
21
  SXE.removeElement('cite');
22
  tinyMCEPopup.close();
23
+ }
24
+
25
+ tinyMCEPopup.onInit.add(init);
mce/xhtmlxtras/{jscripts → js}/del.js RENAMED
@@ -2,20 +2,14 @@
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- function preinit() {
9
- // Initialize
10
- tinyMCE.setWindowArg('mce_windowresize', false);
11
- }
12
-
13
  function init() {
14
- tinyMCEPopup.resizeToInnerSize();
15
  SXE.initElementDialog('del');
16
  if (SXE.currentAction == "update") {
17
- setFormValue('datetime', tinyMCE.getAttrib(SXE.updateElement, 'datetime'));
18
- setFormValue('cite', tinyMCE.getAttrib(SXE.updateElement, 'cite'));
19
  SXE.showRemoveButton();
20
  }
21
  }
@@ -27,14 +21,14 @@ function setElementAttribs(elm) {
27
  }
28
 
29
  function insertDel() {
30
- var elm = tinyMCE.getParentElement(SXE.focusElement, 'del');
31
 
32
  tinyMCEPopup.execCommand('mceBeginUndoLevel');
33
  if (elm == null) {
34
- var s = SXE.inst.selection.getSelectedHTML();
35
  if(s.length > 0) {
36
  tinyMCEPopup.execCommand('mceInsertContent', false, '<del id="#sxe_temp_del#">' + s + '</del>');
37
- var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), 'del', 'id', '#sxe_temp_del#');
38
  for (var i=0; i<elementArray.length; i++) {
39
  var elm = elementArray[i];
40
  setElementAttribs(elm);
@@ -43,7 +37,7 @@ function insertDel() {
43
  } else {
44
  setElementAttribs(elm);
45
  }
46
- tinyMCE.triggerNodeChange();
47
  tinyMCEPopup.execCommand('mceEndUndoLevel');
48
  tinyMCEPopup.close();
49
  }
@@ -51,4 +45,6 @@ function insertDel() {
51
  function removeDel() {
52
  SXE.removeElement('del');
53
  tinyMCEPopup.close();
54
- }
 
 
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
8
  function init() {
 
9
  SXE.initElementDialog('del');
10
  if (SXE.currentAction == "update") {
11
+ setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime'));
12
+ setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite'));
13
  SXE.showRemoveButton();
14
  }
15
  }
21
  }
22
 
23
  function insertDel() {
24
+ var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'DEL');
25
 
26
  tinyMCEPopup.execCommand('mceBeginUndoLevel');
27
  if (elm == null) {
28
+ var s = SXE.inst.selection.getContent();
29
  if(s.length > 0) {
30
  tinyMCEPopup.execCommand('mceInsertContent', false, '<del id="#sxe_temp_del#">' + s + '</del>');
31
+ var elementArray = tinymce.grep(SXE.inst.dom.select('del'), function(n) {return n.id == '#sxe_temp_del#';});
32
  for (var i=0; i<elementArray.length; i++) {
33
  var elm = elementArray[i];
34
  setElementAttribs(elm);
37
  } else {
38
  setElementAttribs(elm);
39
  }
40
+ tinyMCEPopup.editor.nodeChanged();
41
  tinyMCEPopup.execCommand('mceEndUndoLevel');
42
  tinyMCEPopup.close();
43
  }
45
  function removeDel() {
46
  SXE.removeElement('del');
47
  tinyMCEPopup.close();
48
+ }
49
+
50
+ tinyMCEPopup.onInit.add(init);
mce/xhtmlxtras/{jscripts → js}/element_common.js RENAMED
@@ -2,31 +2,33 @@
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
8
  function initCommonAttributes(elm) {
9
- var formObj = document.forms[0];
10
 
11
  // Setup form data for common element attributes
12
- setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
13
- setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
14
- selectByValue(formObj, 'class', tinyMCE.getAttrib(elm, 'class'), true);
15
- setFormValue('style', tinyMCE.getAttrib(elm, 'style'));
16
- selectByValue(formObj, 'dir', tinyMCE.getAttrib(elm, 'dir'));
17
- setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
18
- setFormValue('onfocus', tinyMCE.getAttrib(elm, 'onfocus'));
19
- setFormValue('onblur', tinyMCE.getAttrib(elm, 'onblur'));
20
- setFormValue('onclick', tinyMCE.getAttrib(elm, 'onclick'));
21
- setFormValue('ondblclick', tinyMCE.getAttrib(elm, 'ondblclick'));
22
- setFormValue('onmousedown', tinyMCE.getAttrib(elm, 'onmousedown'));
23
- setFormValue('onmouseup', tinyMCE.getAttrib(elm, 'onmouseup'));
24
- setFormValue('onmouseover', tinyMCE.getAttrib(elm, 'onmouseover'));
25
- setFormValue('onmousemove', tinyMCE.getAttrib(elm, 'onmousemove'));
26
- setFormValue('onmouseout', tinyMCE.getAttrib(elm, 'onmouseout'));
27
- setFormValue('onkeypress', tinyMCE.getAttrib(elm, 'onkeypress'));
28
- setFormValue('onkeydown', tinyMCE.getAttrib(elm, 'onkeydown'));
29
- setFormValue('onkeyup', tinyMCE.getAttrib(elm, 'onkeyup'));
30
  }
31
 
32
  function setFormValue(name, value) {
@@ -96,29 +98,7 @@ function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
96
  function setAttrib(elm, attrib, value) {
97
  var formObj = document.forms[0];
98
  var valueElm = formObj.elements[attrib.toLowerCase()];
99
-
100
- if (typeof(value) == "undefined" || value == null) {
101
- value = "";
102
-
103
- if (valueElm)
104
- value = valueElm.value;
105
- }
106
-
107
- if (value != "") {
108
- if (attrib == "style")
109
- attrib = "style.cssText";
110
-
111
- if (attrib.substring(0, 2) == 'on')
112
- value = 'return true;' + value;
113
-
114
- if (attrib == "class") {
115
- tinyMCE.addCSSClass(elm, value);
116
- return;
117
- }
118
-
119
- elm.setAttribute(attrib.toLowerCase(), value);
120
- } else
121
- elm.removeAttribute(attrib);
122
  }
123
 
124
  function setAllCommonAttribs(elm) {
@@ -144,18 +124,18 @@ function setAllCommonAttribs(elm) {
144
 
145
  SXE = {
146
  currentAction : "insert",
147
- inst : tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id')),
148
  updateElement : null
149
  }
150
 
151
- SXE.focusElement = SXE.inst.getFocusElement();
152
 
153
  SXE.initElementDialog = function(element_name) {
154
  addClassesToList('class', 'xhtmlxtras_styles');
155
  TinyMCE_EditableSelects.init();
156
 
157
  element_name = element_name.toLowerCase();
158
- var elm = tinyMCE.getParentElement(SXE.focusElement, element_name);
159
  if (elm != null && elm.nodeName == element_name.toUpperCase()) {
160
  SXE.currentAction = "update";
161
  }
@@ -165,26 +145,26 @@ SXE.initElementDialog = function(element_name) {
165
  SXE.updateElement = elm;
166
  }
167
 
168
- document.forms[0].insert.value = tinyMCE.getLang('lang_' + SXE.currentAction, 'Insert', true);
169
  }
170
 
171
  SXE.insertElement = function(element_name) {
172
- var elm = tinyMCE.getParentElement(SXE.focusElement, element_name), h, tagName;
173
 
174
  tinyMCEPopup.execCommand('mceBeginUndoLevel');
175
  if (elm == null) {
176
- var s = SXE.inst.selection.getSelectedHTML();
177
  if(s.length > 0) {
178
  tagName = element_name;
179
 
180
- if (tinyMCE.isIE && !tinyMCE.isOpera && element_name.indexOf('html:') == 0)
181
  element_name = element_name.substring(5).toLowerCase();
182
 
183
  h = '<' + tagName + ' id="#sxe_temp_' + element_name + '#">' + s + '</' + tagName + '>';
184
 
185
  tinyMCEPopup.execCommand('mceInsertContent', false, h);
186
 
187
- var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), element_name, 'id', '#sxe_temp_' + element_name + '#');
188
  for (var i=0; i<elementArray.length; i++) {
189
  var elm = elementArray[i];
190
 
@@ -198,17 +178,17 @@ SXE.insertElement = function(element_name) {
198
  } else {
199
  setAllCommonAttribs(elm);
200
  }
201
- tinyMCE.triggerNodeChange();
202
  tinyMCEPopup.execCommand('mceEndUndoLevel');
203
  }
204
 
205
  SXE.removeElement = function(element_name){
206
  element_name = element_name.toLowerCase();
207
- elm = tinyMCE.getParentElement(SXE.focusElement, element_name);
208
  if(elm && elm.nodeName == element_name.toUpperCase()){
209
  tinyMCEPopup.execCommand('mceBeginUndoLevel');
210
  tinyMCE.execCommand('mceRemoveNode', false, elm);
211
- tinyMCE.triggerNodeChange();
212
  tinyMCEPopup.execCommand('mceEndUndoLevel');
213
  }
214
  }
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
+ tinyMCEPopup.requireLangPack();
9
+
10
  function initCommonAttributes(elm) {
11
+ var formObj = document.forms[0], dom = tinyMCEPopup.editor.dom;
12
 
13
  // Setup form data for common element attributes
14
+ setFormValue('title', dom.getAttrib(elm, 'title'));
15
+ setFormValue('id', dom.getAttrib(elm, 'id'));
16
+ selectByValue(formObj, 'class', dom.getAttrib(elm, 'class'), true);
17
+ setFormValue('style', dom.getAttrib(elm, 'style'));
18
+ selectByValue(formObj, 'dir', dom.getAttrib(elm, 'dir'));
19
+ setFormValue('lang', dom.getAttrib(elm, 'lang'));
20
+ setFormValue('onfocus', dom.getAttrib(elm, 'onfocus'));
21
+ setFormValue('onblur', dom.getAttrib(elm, 'onblur'));
22
+ setFormValue('onclick', dom.getAttrib(elm, 'onclick'));
23
+ setFormValue('ondblclick', dom.getAttrib(elm, 'ondblclick'));
24
+ setFormValue('onmousedown', dom.getAttrib(elm, 'onmousedown'));
25
+ setFormValue('onmouseup', dom.getAttrib(elm, 'onmouseup'));
26
+ setFormValue('onmouseover', dom.getAttrib(elm, 'onmouseover'));
27
+ setFormValue('onmousemove', dom.getAttrib(elm, 'onmousemove'));
28
+ setFormValue('onmouseout', dom.getAttrib(elm, 'onmouseout'));
29
+ setFormValue('onkeypress', dom.getAttrib(elm, 'onkeypress'));
30
+ setFormValue('onkeydown', dom.getAttrib(elm, 'onkeydown'));
31
+ setFormValue('onkeyup', dom.getAttrib(elm, 'onkeyup'));
32
  }
33
 
34
  function setFormValue(name, value) {
98
  function setAttrib(elm, attrib, value) {
99
  var formObj = document.forms[0];
100
  var valueElm = formObj.elements[attrib.toLowerCase()];
101
+ tinyMCEPopup.editor.dom.setAttrib(elm, attrib, value || valueElm.value);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
  }
103
 
104
  function setAllCommonAttribs(elm) {
124
 
125
  SXE = {
126
  currentAction : "insert",
127
+ inst : tinyMCEPopup.editor,
128
  updateElement : null
129
  }
130
 
131
+ SXE.focusElement = SXE.inst.selection.getNode();
132
 
133
  SXE.initElementDialog = function(element_name) {
134
  addClassesToList('class', 'xhtmlxtras_styles');
135
  TinyMCE_EditableSelects.init();
136
 
137
  element_name = element_name.toLowerCase();
138
+ var elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase());
139
  if (elm != null && elm.nodeName == element_name.toUpperCase()) {
140
  SXE.currentAction = "update";
141
  }
145
  SXE.updateElement = elm;
146
  }
147
 
148
+ document.forms[0].insert.value = tinyMCEPopup.getLang(SXE.currentAction, 'Insert', true);
149
  }
150
 
151
  SXE.insertElement = function(element_name) {
152
+ var elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase()), h, tagName;
153
 
154
  tinyMCEPopup.execCommand('mceBeginUndoLevel');
155
  if (elm == null) {
156
+ var s = SXE.inst.selection.getContent();
157
  if(s.length > 0) {
158
  tagName = element_name;
159
 
160
+ if (tinymce.isIE && element_name.indexOf('html:') == 0)
161
  element_name = element_name.substring(5).toLowerCase();
162
 
163
  h = '<' + tagName + ' id="#sxe_temp_' + element_name + '#">' + s + '</' + tagName + '>';
164
 
165
  tinyMCEPopup.execCommand('mceInsertContent', false, h);
166
 
167
+ var elementArray = tinymce.grep(SXE.inst.dom.select(element_name), function(n) {return n.id == '#sxe_temp_' + element_name + '#';});
168
  for (var i=0; i<elementArray.length; i++) {
169
  var elm = elementArray[i];
170
 
178
  } else {
179
  setAllCommonAttribs(elm);
180
  }
181
+ SXE.inst.nodeChanged();
182
  tinyMCEPopup.execCommand('mceEndUndoLevel');
183
  }
184
 
185
  SXE.removeElement = function(element_name){
186
  element_name = element_name.toLowerCase();
187
+ elm = SXE.inst.dom.getParent(SXE.focusElement, element_name.toUpperCase());
188
  if(elm && elm.nodeName == element_name.toUpperCase()){
189
  tinyMCEPopup.execCommand('mceBeginUndoLevel');
190
  tinyMCE.execCommand('mceRemoveNode', false, elm);
191
+ SXE.inst.nodeChanged();
192
  tinyMCEPopup.execCommand('mceEndUndoLevel');
193
  }
194
  }
mce/xhtmlxtras/{jscripts → js}/ins.js RENAMED
@@ -2,20 +2,14 @@
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
- * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
8
- function preinit() {
9
- // Initialize
10
- tinyMCE.setWindowArg('mce_windowresize', false);
11
- }
12
-
13
  function init() {
14
- tinyMCEPopup.resizeToInnerSize();
15
  SXE.initElementDialog('ins');
16
  if (SXE.currentAction == "update") {
17
- setFormValue('datetime', tinyMCE.getAttrib(SXE.updateElement, 'datetime'));
18
- setFormValue('cite', tinyMCE.getAttrib(SXE.updateElement, 'cite'));
19
  SXE.showRemoveButton();
20
  }
21
  }
@@ -27,13 +21,13 @@ function setElementAttribs(elm) {
27
  }
28
 
29
  function insertIns() {
30
- var elm = tinyMCE.getParentElement(SXE.focusElement, 'ins');
31
  tinyMCEPopup.execCommand('mceBeginUndoLevel');
32
  if (elm == null) {
33
- var s = SXE.inst.selection.getSelectedHTML();
34
  if(s.length > 0) {
35
  tinyMCEPopup.execCommand('mceInsertContent', false, '<ins id="#sxe_temp_ins#">' + s + '</ins>');
36
- var elementArray = tinyMCE.getElementsByAttributeValue(SXE.inst.getBody(), 'ins', 'id', '#sxe_temp_ins#');
37
  for (var i=0; i<elementArray.length; i++) {
38
  var elm = elementArray[i];
39
  setElementAttribs(elm);
@@ -42,7 +36,7 @@ function insertIns() {
42
  } else {
43
  setElementAttribs(elm);
44
  }
45
- tinyMCE.triggerNodeChange();
46
  tinyMCEPopup.execCommand('mceEndUndoLevel');
47
  tinyMCEPopup.close();
48
  }
@@ -50,4 +44,6 @@ function insertIns() {
50
  function removeIns() {
51
  SXE.removeElement('ins');
52
  tinyMCEPopup.close();
53
- }
 
 
2
  * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
  *
4
  * @author Moxiecode - based on work by Andrew Tetlaw
5
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
6
  */
7
 
 
 
 
 
 
8
  function init() {
 
9
  SXE.initElementDialog('ins');
10
  if (SXE.currentAction == "update") {
11
+ setFormValue('datetime', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'datetime'));
12
+ setFormValue('cite', tinyMCEPopup.editor.dom.getAttrib(SXE.updateElement, 'cite'));
13
  SXE.showRemoveButton();
14
  }
15
  }
21
  }
22
 
23
  function insertIns() {
24
+ var elm = tinyMCEPopup.editor.dom.getParent(SXE.focusElement, 'INS');
25
  tinyMCEPopup.execCommand('mceBeginUndoLevel');
26
  if (elm == null) {
27
+ var s = SXE.inst.selection.getContent();
28
  if(s.length > 0) {
29
  tinyMCEPopup.execCommand('mceInsertContent', false, '<ins id="#sxe_temp_ins#">' + s + '</ins>');
30
+ var elementArray = tinymce.grep(SXE.inst.dom.select('ins'), function(n) {return n.id == '#sxe_temp_ins#';});
31
  for (var i=0; i<elementArray.length; i++) {
32
  var elm = elementArray[i];
33
  setElementAttribs(elm);
36
  } else {
37
  setElementAttribs(elm);
38
  }
39
+ tinyMCEPopup.editor.nodeChanged();
40
  tinyMCEPopup.execCommand('mceEndUndoLevel');
41
  tinyMCEPopup.close();
42
  }
44
  function removeIns() {
45
  SXE.removeElement('ins');
46
  tinyMCEPopup.close();
47
+ }
48
+
49
+ tinyMCEPopup.onInit.add(init);
mce/xhtmlxtras/jscripts/attributes.js DELETED
@@ -1,130 +0,0 @@
1
- /**
2
- * $Id: editor_plugin_src.js 42 2006-08-08 14:32:24Z spocke $
3
- *
4
- * @author Moxiecode - based on work by Andrew Tetlaw
5
- * @copyright Copyright � 2004-2006, Moxiecode Systems AB, All rights reserved.
6
- */
7
-
8
- function preinit() {
9
- // Initialize
10
- tinyMCE.setWindowArg('mce_windowresize', false);
11
- }
12
-
13
- function init() {
14
- tinyMCEPopup.resizeToInnerSize();
15
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
16
- var elm = inst.getFocusElement();
17
-
18
- var f = document.forms[0];
19
-
20
- var onclick = tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onclick'));
21
-
22
- setFormValue('title', tinyMCE.getAttrib(elm, 'title'));
23
- setFormValue('id', tinyMCE.getAttrib(elm, 'id'));
24
- setFormValue('style', tinyMCE.serializeStyle(tinyMCE.parseStyle(tinyMCE.getAttrib(elm, "style"))));
25
- setFormValue('dir', tinyMCE.getAttrib(elm, 'dir'));
26
- setFormValue('lang', tinyMCE.getAttrib(elm, 'lang'));
27
- setFormValue('tabindex', tinyMCE.getAttrib(elm, 'tabindex', typeof(elm.tabindex) != "undefined" ? elm.tabindex : ""));
28
- setFormValue('accesskey', tinyMCE.getAttrib(elm, 'accesskey', typeof(elm.accesskey) != "undefined" ? elm.accesskey : ""));
29
- setFormValue('onfocus', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onfocus')));
30
- setFormValue('onblur', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onblur')));
31
- setFormValue('onclick', onclick);
32
- setFormValue('ondblclick', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'ondblclick')));
33
- setFormValue('onmousedown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousedown')));
34
- setFormValue('onmouseup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseup')));
35
- setFormValue('onmouseover', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseover')));
36
- setFormValue('onmousemove', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmousemove')));
37
- setFormValue('onmouseout', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onmouseout')));
38
- setFormValue('onkeypress', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeypress')));
39
- setFormValue('onkeydown', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeydown')));
40
- setFormValue('onkeyup', tinyMCE.cleanupEventStr(tinyMCE.getAttrib(elm, 'onkeyup')));
41
-
42
- className = tinyMCE.getVisualAidClass(tinyMCE.getAttrib(elm, 'class'), false);
43
-
44
- addClassesToList('classlist', 'advlink_styles');
45
- selectByValue(f, 'classlist', className, true);
46
-
47
- TinyMCE_EditableSelects.init();
48
- }
49
-
50
- function setFormValue(name, value) {
51
- if(value && document.forms[0].elements[name]){
52
- document.forms[0].elements[name].value = value;
53
- }
54
- }
55
-
56
- function insertAction() {
57
- var inst = tinyMCE.getInstanceById(tinyMCE.getWindowArg('editor_id'));
58
- var elm = inst.getFocusElement();
59
-
60
- tinyMCEPopup.execCommand("mceBeginUndoLevel");
61
- tinyMCEPopup.restoreSelection();
62
-
63
- setAllAttribs(elm);
64
-
65
- tinyMCE.handleVisualAid(inst.getBody(), true, inst.visualAid, inst);
66
- tinyMCE._setEventsEnabled(inst.getBody(), false);
67
- tinyMCEPopup.execCommand("mceEndUndoLevel");
68
- tinyMCEPopup.close();
69
- }
70
-
71
- function setAttrib(elm, attrib, value) {
72
- var formObj = document.forms[0];
73
- var valueElm = formObj.elements[attrib.toLowerCase()];
74
-
75
- if (typeof(value) == "undefined" || value == null) {
76
- value = "";
77
-
78
- if (valueElm)
79
- value = valueElm.value;
80
- }
81
-
82
- if (value != "") {
83
- tinyMCE.setAttrib(elm, attrib.toLowerCase(), value);
84
-
85
- if (attrib == "style")
86
- attrib = "style.cssText";
87
-
88
- if (attrib.substring(0, 2) == 'on')
89
- value = 'return true;' + value;
90
-
91
- if (attrib == "class")
92
- attrib = "className";
93
-
94
- eval('elm.' + attrib + "=value;");
95
- } else
96
- elm.removeAttribute(attrib);
97
- }
98
-
99
- function setAllAttribs(elm) {
100
- var f = document.forms[0];
101
-
102
- setAttrib(elm, 'title');
103
- setAttrib(elm, 'id');
104
- setAttrib(elm, 'style');
105
- setAttrib(elm, 'class', getSelectValue(f, 'classlist'));
106
- setAttrib(elm, 'dir');
107
- setAttrib(elm, 'lang');
108
- setAttrib(elm, 'tabindex');
109
- setAttrib(elm, 'accesskey');
110
- setAttrib(elm, 'onfocus');
111
- setAttrib(elm, 'onblur');
112
- setAttrib(elm, 'onclick');
113
- setAttrib(elm, 'ondblclick');
114
- setAttrib(elm, 'onmousedown');
115
- setAttrib(elm, 'onmouseup');
116
- setAttrib(elm, 'onmouseover');
117
- setAttrib(elm, 'onmousemove');
118
- setAttrib(elm, 'onmouseout');
119
- setAttrib(elm, 'onkeypress');
120
- setAttrib(elm, 'onkeydown');
121
- setAttrib(elm, 'onkeyup');
122
-
123
- // Refresh in old MSIE
124
- if (tinyMCE.isMSIE5)
125
- elm.outerHTML = elm.outerHTML;
126
- }
127
-
128
- function insertAttribute() {
129
- tinyMCEPopup.close();
130
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/langs/de_de.js DELETED
@@ -1,42 +0,0 @@
1
- // DE lang variables
2
-
3
- tinyMCE.addToLang('xhtmlxtras',{
4
- cite_desc : 'Zitieren',
5
- abbr_desc : 'Abk&uuml;rzung',
6
- acronym_desc : 'Acronym',
7
- del_desc : 'L&ouml;schung',
8
- ins_desc : 'Einf&uuml;gung',
9
- attribute_label_title : 'Titel',
10
- attribute_label_id : 'ID',
11
- attribute_label_class : 'Klasse',
12
- attribute_label_style : 'Style',
13
- attribute_label_cite : 'Zitieren',
14
- attribute_label_datetime : 'Datum/Zeit',
15
- attribute_label_langdir : 'Text Richtung',
16
- attribute_option_ltr : 'Links nach rechts',
17
- attribute_option_rtl : 'Rechts nach links',
18
- attribute_label_langcode : 'Sprache',
19
- attribute_label_tabindex : 'TabIndex',
20
- attribute_label_accesskey : 'AccessKey',
21
- attribute_label_cite : 'Cite',
22
- attribute_events_tab : 'Events',
23
- attribute_attrib_tab : 'Attributes',
24
- general_tab : 'Allgemein',
25
- attrib_tab : 'Attribute',
26
- events_tab : 'Event',
27
- fieldset_general_tab : 'Allgemeine Einstellungen',
28
- fieldset_attrib_tab : 'Element Attribute',
29
- fieldset_events_tab : 'Element Events',
30
- title_ins_element : 'Einfüge-Element',
31
- title_del_element : 'L&ouml;schung-Element',
32
- title_acronym_element : 'Akronym Element',
33
- title_abbr_element : 'Abk&uuml;rzung Element',
34
- title_cite_element : 'Zitieren Element',
35
- remove : 'Entfernen',
36
- not_set : '- Nicht gesetzt -',
37
- insert_date : 'Heutiges Datum/Zeit einf&uuml;gen',
38
- option_ltr : 'Left to right',
39
- option_rtl : 'Right to left',
40
- attribs_desc : 'Insert/Edit Attributes',
41
- attribs_title : 'Insert/Edit Attributes'
42
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/langs/de_dlg.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('de.xhtmlxtras_dlg',{
2
+ attribute_label_title:"Titel",
3
+ attribute_label_id:"ID",
4
+ attribute_label_class:"Klasse",
5
+ attribute_label_style:"Format",
6
+ attribute_label_cite:"Quellenangabe",
7
+ attribute_label_datetime:"Zeit/Datum",
8
+ attribute_label_langdir:"Schriftrichtung",
9
+ attribute_option_ltr:"Links nach rechts",
10
+ attribute_option_rtl:"Rechts nach links",
11
+ attribute_label_langcode:"Sprache",
12
+ attribute_label_tabindex:"Tabindex",
13
+ attribute_label_accesskey:"Tastenk\u00FCrzel",
14
+ attribute_events_tab:"Ereignisse",
15
+ attribute_attrib_tab:"Attribute",
16
+ general_tab:"Allgemein",
17
+ attrib_tab:"Attribute",
18
+ events_tab:"Ereignisse",
19
+ fieldset_general_tab:"Allgemeine Einstellungen",
20
+ fieldset_attrib_tab:"Attribute",
21
+ fieldset_events_tab:"Ereignisse",
22
+ title_ins_element:"Eingef\u00FCgter Text",
23
+ title_del_element:"Entfernter Text",
24
+ title_acronym_element:"Akronym",
25
+ title_abbr_element:"Abk\u00FCrzung",
26
+ title_cite_element:"Quellenangabe",
27
+ remove:"Entfernen",
28
+ insert_date:"Aktuelle Zeit/Datum einf\u00FCgen",
29
+ option_ltr:"Links nach rechts",
30
+ option_rtl:"Rechts nach links",
31
+ attribs_title:"Attribute einf\u00FCgen/bearbeiten"
32
+ });
mce/xhtmlxtras/langs/en.js DELETED
@@ -1,42 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('xhtmlxtras',{
4
- cite_desc : 'Citation',
5
- abbr_desc : 'Abbreviation',
6
- acronym_desc : 'Acronym',
7
- del_desc : 'Deletion',
8
- ins_desc : 'Insertion',
9
- attribute_label_title : 'Title',
10
- attribute_label_id : 'ID',
11
- attribute_label_class : 'Class',
12
- attribute_label_style : 'Style',
13
- attribute_label_cite : 'Cite',
14
- attribute_label_datetime : 'Date/Time',
15
- attribute_label_langdir : 'Text Direction',
16
- attribute_option_ltr : 'Left to right',
17
- attribute_option_rtl : 'Right to left',
18
- attribute_label_langcode : 'Language',
19
- attribute_label_tabindex : 'TabIndex',
20
- attribute_label_accesskey : 'AccessKey',
21
- attribute_label_cite : 'Cite',
22
- attribute_events_tab : 'Events',
23
- attribute_attrib_tab : 'Attributes',
24
- general_tab : 'General',
25
- attrib_tab : 'Attributes',
26
- events_tab : 'Events',
27
- fieldset_general_tab : 'General Settings',
28
- fieldset_attrib_tab : 'Element Attributes',
29
- fieldset_events_tab : 'Element Events',
30
- title_ins_element : 'Insertion Element',
31
- title_del_element : 'Deletion Element',
32
- title_acronym_element : 'Acronym Element',
33
- title_abbr_element : 'Abbreviation Element',
34
- title_cite_element : 'Citation Element',
35
- remove : 'Remove',
36
- not_set : '--not set--',
37
- insert_date : 'Insert current date/time',
38
- option_ltr : 'Left to right',
39
- option_rtl : 'Right to left',
40
- attribs_desc : 'Insert/Edit Attributes',
41
- attribs_title : 'Insert/Edit Attributes'
42
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/langs/en_dlg.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('en.xhtmlxtras_dlg',{
2
+ attribute_label_title:"Title",
3
+ attribute_label_id:"ID",
4
+ attribute_label_class:"Class",
5
+ attribute_label_style:"Style",
6
+ attribute_label_cite:"Cite",
7
+ attribute_label_datetime:"Date/Time",
8
+ attribute_label_langdir:"Text Direction",
9
+ attribute_option_ltr:"Left to right",
10
+ attribute_option_rtl:"Right to left",
11
+ attribute_label_langcode:"Language",
12
+ attribute_label_tabindex:"TabIndex",
13
+ attribute_label_accesskey:"AccessKey",
14
+ attribute_events_tab:"Events",
15
+ attribute_attrib_tab:"Attributes",
16
+ general_tab:"General",
17
+ attrib_tab:"Attributes",
18
+ events_tab:"Events",
19
+ fieldset_general_tab:"General Settings",
20
+ fieldset_attrib_tab:"Element Attributes",
21
+ fieldset_events_tab:"Element Events",
22
+ title_ins_element:"Insertion Element",
23
+ title_del_element:"Deletion Element",
24
+ title_acronym_element:"Acronym Element",
25
+ title_abbr_element:"Abbreviation Element",
26
+ title_cite_element:"Citation Element",
27
+ remove:"Remove",
28
+ insert_date:"Insert current date/time",
29
+ option_ltr:"Left to right",
30
+ option_rtl:"Right to left",
31
+ attribs_title:"Insert/Edit Attributes"
32
+ });
mce/xhtmlxtras/langs/es_dlg.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('es.xhtmlxtras_dlg',{
2
+ attribute_label_title:"T\u00EDtulo",
3
+ attribute_label_id:"ID",
4
+ attribute_label_class:"Clase",
5
+ attribute_label_style:"Estilo",
6
+ attribute_label_cite:"Cita",
7
+ attribute_label_datetime:"Fecha/Hora",
8
+ attribute_label_langdir:"Direcci\u00F3n de texto",
9
+ attribute_option_ltr:"Izquierda a derecha",
10
+ attribute_option_rtl:"Derecha a izquierda",
11
+ attribute_label_langcode:"Lenguaje",
12
+ attribute_label_tabindex:"Orden de tabulaci\u00F3n",
13
+ attribute_label_accesskey:"Tecla de acceso",
14
+ attribute_events_tab:"Eventos",
15
+ attribute_attrib_tab:"Atributos",
16
+ general_tab:"General",
17
+ attrib_tab:"Atributos",
18
+ events_tab:"Eventos",
19
+ fieldset_general_tab:"Configuraci\u00F3n general",
20
+ fieldset_attrib_tab:"Atributos",
21
+ fieldset_events_tab:"Evento",
22
+ title_ins_element:"Insertar",
23
+ title_del_element:"Borrar",
24
+ title_acronym_element:"Acr\u00F3nimo",
25
+ title_abbr_element:"Abreviatura",
26
+ title_cite_element:"Cita",
27
+ remove:"Suprimir",
28
+ insert_date:"Insertar fecha/hora actuales",
29
+ option_ltr:"Izquierda a derecha",
30
+ option_rtl:"Derecha a izquierda",
31
+ attribs_title:"Insertar/Editar atributos"
32
+ });
mce/xhtmlxtras/langs/es_es.js DELETED
@@ -1,42 +0,0 @@
1
- // ES lang variables
2
-
3
- tinyMCE.addToLang('xhtmlxtras',{
4
- cite_desc : 'Citaci&oacute;n',
5
- abbr_desc : 'Abreviatura',
6
- acronym_desc : 'Acr&oacute;nimo',
7
- del_desc : 'Borrado',
8
- ins_desc : 'Inserci&oacute;n',
9
- attribute_label_title : 'T&iacute;tulo',
10
- attribute_label_id : 'ID',
11
- attribute_label_class : 'Clase',
12
- attribute_label_style : 'Estilo',
13
- attribute_label_cite : 'Cita',
14
- attribute_label_datetime : 'Fecha/Hora',
15
- attribute_label_langdir : 'Direcci&oacute;n del texto',
16
- attribute_option_ltr : 'De izquierda a derecha',
17
- attribute_option_rtl : 'De derecha a izquierda',
18
- attribute_label_langcode : 'Idioma',
19
- attribute_label_tabindex : 'TabIndex',
20
- attribute_label_accesskey : 'AccessKey',
21
- attribute_label_cite : 'Cita',
22
- attribute_events_tab : 'Eventos',
23
- attribute_attrib_tab : 'Atributos',
24
- general_tab : 'General',
25
- attrib_tab : 'Atributos',
26
- events_tab : 'Eventos',
27
- fieldset_general_tab : 'Configuraci&oacute;n General',
28
- fieldset_attrib_tab : 'Atributos de Elemento',
29
- fieldset_events_tab : 'Eventos de Elemento',
30
- title_ins_element : 'Inserci&oacute;n de Elemento',
31
- title_del_element : 'Borrado de Elemento',
32
- title_acronym_element : 'Elemento Acr&oacute;nimo',
33
- title_abbr_element : 'Elemento Abreviatura',
34
- title_cite_element : 'Elemento Cita',
35
- remove : 'Eliminar',
36
- not_set : '--no establecido--',
37
- insert_date : 'Insertar fecha/hora actual',
38
- option_ltr : 'De izquierda a derecha',
39
- option_rtl : 'De derecha a izquierda',
40
- attribs_desc : 'Insertar/Editar Atributos',
41
- attribs_title : 'Insertar/Editar Atributos'
42
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/langs/fr_dlg.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('fr.xhtmlxtras_dlg',{
2
+ attribute_label_title:"Titre",
3
+ attribute_label_id:"ID",
4
+ attribute_label_class:"Classe",
5
+ attribute_label_style:"Style",
6
+ attribute_label_cite:"Citation",
7
+ attribute_label_datetime:"Date/Heure",
8
+ attribute_label_langdir:"Sens de lecture",
9
+ attribute_option_ltr:"De gauche \u00E0 droite",
10
+ attribute_option_rtl:"De droite \u00E0 gauche",
11
+ attribute_label_langcode:"Langue",
12
+ attribute_label_tabindex:"TabIndex",
13
+ attribute_label_accesskey:"Touche d'acc\u00E8s",
14
+ attribute_events_tab:"\u00C9v\u00E9nements",
15
+ attribute_attrib_tab:"Attributs",
16
+ general_tab:"G\u00E9n\u00E9ral",
17
+ attrib_tab:"Attributs",
18
+ events_tab:"\u00C9v\u00E9nements",
19
+ fieldset_general_tab:"Param\u00E8tres g\u00E9n\u00E9raux",
20
+ fieldset_attrib_tab:"Attributs",
21
+ fieldset_events_tab:"\u00C9v\u00E9nements",
22
+ title_ins_element:"Ajout",
23
+ title_del_element:"Suppression",
24
+ title_acronym_element:"Acronyme",
25
+ title_abbr_element:"Abbr\u00E9viation",
26
+ title_cite_element:"Citation",
27
+ remove:"Enlever",
28
+ insert_date:"Ins\u00E9rer la date et l'heure actuels",
29
+ option_ltr:"De gauche \u00E0 droite",
30
+ option_rtl:"De droite \u00E0 gauche",
31
+ attribs_title:"Ins\u00E9rer/\u00C9diter attributs"
32
+ });
mce/xhtmlxtras/langs/fr_fr.js DELETED
@@ -1,43 +0,0 @@
1
- // FR lang variables
2
- // Modified by shadow walker, last updated 2007-03-16
3
-
4
- tinyMCE.addToLang('xhtmlxtras',{
5
- cite_desc : 'Citation',
6
- abbr_desc : 'Abr&eacute;viation',
7
- acronym_desc : 'Acronyme',
8
- del_desc : 'Effacer',
9
- ins_desc : 'Insertion',
10
- attribute_label_title : 'Titre',
11
- attribute_label_id : 'ID',
12
- attribute_label_class : 'Classe',
13
- attribute_label_style : 'Style',
14
- attribute_label_cite : 'Cite',
15
- attribute_label_datetime : 'Date/Heure',
16
- attribute_label_langdir : 'Text Direction',
17
- attribute_option_ltr : 'De gauche &agrave; droite',
18
- attribute_option_rtl : 'De droite &agrave; gauche',
19
- attribute_label_langcode : 'Langues',
20
- attribute_label_tabindex : 'TabIndex',
21
- attribute_label_accesskey : 'AccessKey',
22
- attribute_label_cite : 'Cite',
23
- attribute_events_tab : 'Evenement',
24
- attribute_attrib_tab : 'Attribus',
25
- general_tab : 'G&eacute;n&eacute;rale',
26
- attrib_tab : 'Attribus',
27
- events_tab : 'Evenement',
28
- fieldset_general_tab : 'General Settings',
29
- fieldset_attrib_tab : 'Attributs de l\'&eacute;l&eacute;ment',
30
- fieldset_events_tab : 'Element Events',
31
- title_ins_element : 'Insertion de l\'&eacute;l&eacute;ment',
32
- title_del_element : 'Effacement de l\'&eacute;l&eacute;ment',
33
- title_acronym_element : 'Acronyme de l\'&eacute;l&eacute;ment',
34
- title_abbr_element : 'Abr&eacute;viation de l\'&eacute;l&eacute;ment',
35
- title_cite_element : 'Citation Element',
36
- remove : 'Enlever',
37
- not_set : '--Non d&eacute;finit--',
38
- insert_date : 'Ins&eacute;rer la date/heure actuelle',
39
- option_ltr : 'De gauche &agrave; droite',
40
- option_rtl : 'De droite &agrave; gauche',
41
- attribs_desc : 'Ins&eacute;rer/Editer un attribut',
42
- attribs_title : 'Ins&eacute;rer/Editer un attribut'
43
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/langs/it_dlg.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('it.xhtmlxtras_dlg',{
2
+ attribute_label_title:"Titolo",
3
+ attribute_label_id:"ID",
4
+ attribute_label_class:"Classe",
5
+ attribute_label_style:"Style",
6
+ attribute_label_cite:"Citazione",
7
+ attribute_label_datetime:"Date/Time",
8
+ attribute_label_langdir:"Direzione del testo",
9
+ attribute_option_ltr:"Sinistra verso destra",
10
+ attribute_option_rtl:"Destra verso sinistra",
11
+ attribute_label_langcode:"Lingua",
12
+ attribute_label_tabindex:"Indice tabulazione",
13
+ attribute_label_accesskey:"Tasto di accesso",
14
+ attribute_events_tab:"Eventi",
15
+ attribute_attrib_tab:"Attributi",
16
+ general_tab:"Generale",
17
+ attrib_tab:"Attributi",
18
+ events_tab:"Eventi",
19
+ fieldset_general_tab:"Impostazioni Generali",
20
+ fieldset_attrib_tab:"Attributi elemento",
21
+ fieldset_events_tab:"Eventi elemento",
22
+ title_ins_element:"Inserimento elemento",
23
+ title_del_element:"Cancellazione elemento",
24
+ title_acronym_element:"Acronimo elemento",
25
+ title_abbr_element:"Abbreviazione elemento",
26
+ title_cite_element:"Citazione elemento",
27
+ remove:"Rimuovi",
28
+ insert_date:"Inserisci data/ora corrente",
29
+ option_ltr:"Sinistra verso destra",
30
+ option_rtl:"Destra verso sinistra",
31
+ attribs_title:"Inserisci/modifica attributi"
32
+ });
mce/xhtmlxtras/langs/it_it.js DELETED
@@ -1,43 +0,0 @@
1
- /**
2
- * IT lang variables
3
- *
4
- * Author : Luciano Vernaschi <luciano@virgilio.it>
5
- * Last Updated : Mar. 1st, 2007
6
- * TinyMCE Version : 2.1.0
7
- */
8
-
9
- tinyMCE.addToLang('xhtmlxtras',{
10
- cite_desc : 'Citazione',
11
- abbr_desc : 'Abbreviazione',
12
- acronym_desc : 'Acronimo',
13
- del_desc : 'Cancellazione',
14
- ins_desc : 'Inserimento',
15
- attribute_label_title : 'Titolo',
16
- attribute_label_id : 'ID',
17
- attribute_label_class : 'Classe',
18
- attribute_label_style : 'Stile',
19
- attribute_label_cite : 'Cita',
20
- attribute_label_datetime : 'Data/ora',
21
- attribute_label_langdir : 'Direzione del testo',
22
- attribute_option_ltr : 'Da sinistra a destra',
23
- attribute_option_rtl : 'Da destra a sinistra',
24
- attribute_label_langcode : 'Lingua',
25
- general_tab : 'Generale',
26
- attrib_tab : 'Attributi',
27
- events_tab : 'Eventi',
28
- fieldset_general_tab : 'Impostazioni generali',
29
- fieldset_attrib_tab : 'Attributi dell\'elemento',
30
- fieldset_events_tab : 'Eventi dell\'elemento',
31
- title_ins_element : 'Inserimento di un elemento',
32
- title_del_element : 'Cancellazione di un elemento',
33
- title_acronym_element : 'Elemento acronimo',
34
- title_abbr_element : 'Elemento abbreviazione',
35
- title_cite_element : 'Elemento citazione',
36
- remove : 'Rimuovi ',
37
- not_set : '--non impostato--',
38
- insert_date : 'Inserisci data e ora correnti',
39
- option_ltr : 'Da sinistra a destra',
40
- option_rtl : 'Da destra a sinistra',
41
- attribs_desc : 'Inserisci o modifica attributi',
42
- attribs_title : 'Inserisci o modifica attributi'
43
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/langs/ja_dlg.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ja.xhtmlxtras_dlg',{
2
+ attribute_label_title:"\u67E5\u627E",
3
+ attribute_label_id:"ID",
4
+ attribute_label_class:"\u6837\u5F0F\u7C7B",
5
+ attribute_label_style:"\u6837\u5F0F",
6
+ attribute_label_cite:"\u5F15\u7528",
7
+ attribute_label_datetime:"\u65E5\u671F/\u65F6\u95F4",
8
+ attribute_label_langdir:"\u6587\u5B57\u4E66\u5199\u65B9\u5411",
9
+ attribute_option_ltr:"\u4ECE\u5DE6\u5230\u53F3",
10
+ attribute_option_rtl:"\u4ECE\u53F3\u5230\u5DE6",
11
+ attribute_label_langcode:"\u8BED\u8A00",
12
+ attribute_label_tabindex:"Tab\u7D22\u5F15",
13
+ attribute_label_accesskey:"\u5FEB\u901F\u952E",
14
+ attribute_events_tab:"\u4E8B\u4EF6",
15
+ attribute_attrib_tab:"\u5C5E\u6027",
16
+ general_tab:"\u57FA\u672C",
17
+ attrib_tab:"\u5C5E\u6027",
18
+ events_tab:"\u4E8B\u4EF6",
19
+ fieldset_general_tab:"\u57FA\u672C",
20
+ fieldset_attrib_tab:"\u5BF9\u8C61\u5C5E\u6027",
21
+ fieldset_events_tab:"\u5BF9\u8C61\u4E8B\u4EF6",
22
+ title_ins_element:"\u63D2\u5165\u5BF9\u8C61",
23
+ title_del_element:"\u5220\u9664\u5BF9\u8C61",
24
+ title_acronym_element:"\u9996\u5B57\u6BCD\u7F29\u5199\u5BF9\u8C61",
25
+ title_abbr_element:"\u7F29\u5199\u5BF9\u8C61",
26
+ title_cite_element:"\u5F15\u7528\u5BF9\u8C61",
27
+ remove:"\u79FB\u9664",
28
+ insert_date:"\u63D2\u5165\u5F53\u524D\u65E5\u671F/\u65F6\u95F4",
29
+ option_ltr:"\u4ECE\u5DE6\u5230\u53F3",
30
+ option_rtl:"\u4ECE\u53F3\u5230\u5DE6",
31
+ attribs_title:"\u63D2\u5165/\u7F16\u8F91 \u5C5E\u6027"
32
+ });
mce/xhtmlxtras/langs/langs.php ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ <?php
2
+ $lang_file = dirname(__FILE__) . '/' . $mce_locale . '_dlg.js';
3
+
4
+ if ( is_file($lang_file) && is_readable($lang_file) ) {
5
+ $strings .= getFileContents($lang_file);
6
+ }
7
+ ?>
mce/xhtmlxtras/langs/pt_br.js DELETED
@@ -1,49 +0,0 @@
1
- /**
2
- * pt_br lang variables
3
- * Brazilian Portuguese
4
- *
5
- * Author
6
- * Revision and modifications:
7
- * Marcio Barbosa (mpg) <mpg@mpg.com.br>
8
- * First Release : November 20, 2006 - TinyMCE Version : 2.0.8
9
- */
10
- tinyMCE.addToLang('xhtmlxtras',{
11
- cite_desc : 'Cita��o',
12
- abbr_desc : 'Abrevia��o',
13
- acronym_desc : 'Acr�nimo',
14
- del_desc : 'Remo��o',
15
- ins_desc : 'Inser��o',
16
- attribute_label_title : 'T�tulo',
17
- attribute_label_id : 'ID',
18
- attribute_label_class : 'Classe',
19
- attribute_label_style : 'Estilo',
20
- attribute_label_cite : 'Cite',
21
- attribute_label_datetime : 'Data/hora',
22
- attribute_label_langdir : 'Escrita',
23
- attribute_option_ltr : 'da esquerda para direita',
24
- attribute_option_rtl : 'da direita para esquerda',
25
- attribute_label_langcode : 'Idioma',
26
- attribute_label_tabindex : 'TabIndex',
27
- attribute_label_accesskey : 'Tecla de atalho',
28
- attribute_label_cite : 'Cita��o',
29
- attribute_events_tab : 'Eventos',
30
- attribute_attrib_tab : 'Atributos',
31
- general_tab : 'Geral',
32
- attrib_tab : 'Atributos',
33
- events_tab : 'Eventos',
34
- fieldset_general_tab : 'Configura��o geral',
35
- fieldset_attrib_tab : 'Atributo',
36
- fieldset_events_tab : 'Evento',
37
- title_ins_element : 'Inser��o',
38
- title_del_element : 'Remo��o',
39
- title_acronym_element : 'Acr�nimo',
40
- title_abbr_element : 'Abrevia��o',
41
- title_cite_element : 'Cita��o',
42
- remove : 'Remover',
43
- not_set : '--n�o definido--',
44
- insert_date : 'Inserir data/hora atual',
45
- option_ltr : 'Esquerda para direita',
46
- option_rtl : 'Direita para esquerda',
47
- attribs_desc : 'Inserir/editar atributos',
48
- attribs_title : 'Inserir/editar atributos'
49
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/langs/pt_dlg.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('pt.xhtmlxtras_dlg',{
2
+ attribute_label_title:"T\u00EDtulo",
3
+ attribute_label_id:"ID",
4
+ attribute_label_class:"Classe",
5
+ attribute_label_style:"Estilo",
6
+ attribute_label_cite:"Citar",
7
+ attribute_label_datetime:"Data/hor\u00E1rio",
8
+ attribute_label_langdir:"Dire\u00E7\u00E3o do texto",
9
+ attribute_option_ltr:"Esquerda para direita",
10
+ attribute_option_rtl:"Direita para esquerda",
11
+ attribute_label_langcode:"Linguagem",
12
+ attribute_label_tabindex:"TabIndex",
13
+ attribute_label_accesskey:"Chave de accesso",
14
+ attribute_events_tab:"Eventos",
15
+ attribute_attrib_tab:"Atributos",
16
+ general_tab:"Geral",
17
+ attrib_tab:"Atributos",
18
+ events_tab:"Eventos",
19
+ fieldset_general_tab:"Configura\u00E7\u00F5es gerais",
20
+ fieldset_attrib_tab:"Atributos",
21
+ fieldset_events_tab:"Eventos",
22
+ title_ins_element:"Inserir",
23
+ title_del_element:"Deletar",
24
+ title_acronym_element:"Acr\u00F4nimo",
25
+ title_abbr_element:"Abrevia\u00E7\u00E3o",
26
+ title_cite_element:"Cita\u00E7\u00E3o",
27
+ remove:"Remover",
28
+ insert_date:"Inserir data/hor\u00E1rio",
29
+ option_ltr:"Esquerda para direita",
30
+ option_rtl:"Direita para esquerda",
31
+ attribs_title:"Inserir/editar atributos"
32
+ });
mce/xhtmlxtras/langs/ru_dlg.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('ru.xhtmlxtras_dlg',{
2
+ attribute_label_title:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",
3
+ attribute_label_id:"ID",
4
+ attribute_label_class:"\u041A\u043B\u0430\u0441\u0441",
5
+ attribute_label_style:"\u0421\u0442\u0438\u043B\u044C",
6
+ attribute_label_cite:"\u0426\u0438\u0442\u0430\u0442\u0430",
7
+ attribute_label_datetime:"\u0414\u0430\u0442\u0430/\u0412\u0440\u0435\u043C\u044F",
8
+ attribute_label_langdir:"\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0442\u0435\u043A\u0441\u0442\u0430",
9
+ attribute_option_ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E",
10
+ attribute_option_rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E",
11
+ attribute_label_langcode:"\u042F\u0437\u044B\u043A",
12
+ attribute_label_tabindex:"\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u043F\u0435\u0440\u0435\u0445\u043E\u0434\u0430",
13
+ attribute_label_accesskey:"\u041A\u043B\u0430\u0432\u0438\u0448\u0430 \u0434\u043E\u0441\u0442\u0443\u043F\u0430",
14
+ attribute_events_tab:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F",
15
+ attribute_attrib_tab:"\u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044B",
16
+ general_tab:"\u041E\u0441\u043D\u043E\u0432\u043D\u043E\u0435",
17
+ attrib_tab:"\u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044B",
18
+ events_tab:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F",
19
+ fieldset_general_tab:"\u041E\u0431\u0449\u0438\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",
20
+ fieldset_attrib_tab:"\u0410\u0442\u0440\u0438\u0431\u0443\u0442\u044B \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",
21
+ fieldset_events_tab:"\u0421\u043E\u0431\u044B\u0442\u0438\u044F \u044D\u043B\u0435\u043C\u0435\u043D\u0442\u0430",
22
+ title_ins_element:"\u0412\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u0439",
23
+ title_del_element:"\u0423\u0434\u0430\u043B\u0435\u043D\u043D\u044B\u0439",
24
+ title_acronym_element:"\u0410\u043A\u0440\u043E\u043D\u0438\u043C\u0430",
25
+ title_abbr_element:"\u0421\u043E\u043A\u0440\u0430\u0449\u0435\u043D\u0438\u044F",
26
+ title_cite_element:"\u0426\u0438\u0442\u0430\u0442\u044B",
27
+ remove:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",
28
+ insert_date:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0442\u0435\u043A\u0443\u0449\u0443\u044E \u0434\u0430\u0442\u0443/\u0432\u0440\u0435\u043C\u044F",
29
+ option_ltr:"\u0421\u043B\u0435\u0432\u0430 \u043D\u0430\u043F\u0440\u0430\u0432\u043E",
30
+ option_rtl:"\u0421\u043F\u0440\u0430\u0432\u0430 \u043D\u0430\u043B\u0435\u0432\u043E",
31
+ attribs_title:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C/\u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044B"
32
+ });
mce/xhtmlxtras/langs/ru_ru.js DELETED
@@ -1,42 +0,0 @@
1
- // RU lang variables
2
-
3
- tinyMCE.addToLang('xhtmlxtras',{
4
- cite_desc : 'Цитирование',
5
- abbr_desc : 'Аббревиатура',
6
- acronym_desc : 'Акроним',
7
- del_desc : 'Стирание',
8
- ins_desc : 'Вставка',
9
- attribute_label_title : 'Заголовок',
10
- attribute_label_id : 'ID',
11
- attribute_label_class : 'Класс',
12
- attribute_label_style : 'Стиль',
13
- attribute_label_cite : 'Цитировать',
14
- attribute_label_datetime : 'Дата/Время',
15
- attribute_label_langdir : 'Направление Текста',
16
- attribute_option_ltr : 'Слева направо',
17
- attribute_option_rtl : 'Справа налево',
18
- attribute_label_langcode : 'Язык',
19
- attribute_label_tabindex : 'Порядковый Номер',
20
- attribute_label_accesskey : 'Горячая Клавиша',
21
- attribute_label_cite : 'Цитировать',
22
- attribute_events_tab : 'События',
23
- attribute_attrib_tab : 'Атрибуты',
24
- general_tab : 'Основной',
25
- attrib_tab : 'Атрибуты',
26
- events_tab : 'События',
27
- fieldset_general_tab : 'Основные Установки',
28
- fieldset_attrib_tab : 'Элемент Атрибуты',
29
- fieldset_events_tab : 'Элемент События',
30
- title_ins_element : 'Элемент Вставка',
31
- title_del_element : 'Элемент События',
32
- title_acronym_element : 'Элемент Акроним',
33
- title_abbr_element : 'Элемент Аббревиатура',
34
- title_cite_element : 'Элемент Цитирование',
35
- remove : 'Убрать',
36
- not_set : '--не установлен--',
37
- insert_date : 'Вставить текущие дату/время',
38
- option_ltr : 'Слева направо',
39
- option_rtl : 'Справа налево',
40
- attribs_desc : 'Вставить/Изменить Атрибуты',
41
- attribs_title : 'Вставить/Изменить Атрибуты'
42
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/langs/zh_cn.js DELETED
@@ -1,33 +0,0 @@
1
- // UK lang variables
2
-
3
- tinyMCE.addToLang('xhtmlxtras',{
4
- cite_desc : 'Citation',
5
- abbr_desc : 'Abbreviation',
6
- acronym_desc : 'Acronym',
7
- del_desc : 'Deletion',
8
- ins_desc : 'Insertion',
9
- attribute_label_title : 'Title',
10
- attribute_label_id : 'ID',
11
- attribute_label_class : 'Class',
12
- attribute_label_style : 'Style',
13
- attribute_label_cite : 'Cite',
14
- attribute_label_datetime : 'Date/Time',
15
- attribute_label_langdir : 'Text Direction',
16
- attribute_option_ltr : 'Left to right',
17
- attribute_option_rtl : 'Right to left',
18
- attribute_label_langcode : 'Language',
19
- general_tab : 'General',
20
- attrib_tab : 'Attributes',
21
- events_tab : 'Events',
22
- fieldset_general_tab : 'General Settings',
23
- fieldset_attrib_tab : 'Element Attributes',
24
- fieldset_events_tab : 'Element Events',
25
- title_ins_element : 'Insertion Element',
26
- title_del_element : 'Deletion Element',
27
- title_acronym_element : 'Acronym Element',
28
- title_abbr_element : 'Abbreviation Element',
29
- title_cite_element : 'Citation Element',
30
- remove : 'Remove',
31
- not_set : '--not set--',
32
- insert_date : 'Insert current date/time'
33
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
mce/xhtmlxtras/langs/zh_dlg.js ADDED
@@ -0,0 +1,32 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ tinyMCE.addI18n('zh.xhtmlxtras_dlg',{
2
+ attribute_label_title:"\u67E5\u627E",
3
+ attribute_label_id:"ID",
4
+ attribute_label_class:"\u6A23\u5F0F\u985E",
5
+ attribute_label_style:"\u6A23\u5F0F",
6
+ attribute_label_cite:"\u5F15\u7528",
7
+ attribute_label_datetime:"\u65E5\u671F/\u6642\u9593",
8
+ attribute_label_langdir:"\u6587\u5B57\u66F8\u5BEB\u65B9\u5411",
9
+ attribute_option_ltr:"\u5F9E\u5DE6\u5230\u53F3",
10
+ attribute_option_rtl:"\u5F9E\u53F3\u5230\u5DE6",
11
+ attribute_label_langcode:"\u8A9E\u8A00",
12
+ attribute_label_tabindex:"Tab\u7D22\u5F15",
13
+ attribute_label_accesskey:"\u5FEB\u901F\u9375",
14
+ attribute_events_tab:"\u4E8B\u4EF6",
15
+ attribute_attrib_tab:"\u5C6C\u6027",
16
+ general_tab:"\u57FA\u672C",
17
+ attrib_tab:"\u5C6C\u6027",
18
+ events_tab:"\u4E8B\u4EF6",
19
+ fieldset_general_tab:"\u57FA\u672C",
20
+ fieldset_attrib_tab:"\u7269\u4EF6\u5C6C\u6027",
21
+ fieldset_events_tab:"\u7269\u4EF6\u4E8B\u4EF6",
22
+ title_ins_element:"\u63D2\u5165\u5C0D\u8C61",
23
+ title_del_element:"\u522A\u9664\u5C0D\u8C61",
24
+ title_acronym_element:"\u9996\u5B57\u6BCD\u7E2E\u5BEB\u7269\u4EF6",
25
+ title_abbr_element:"\u7E2E\u5BEB\u5C0D\u8C61",
26
+ title_cite_element:"\u5F15\u7528\u5C0D\u8C61",
27
+ remove:"\u79FB\u9664",
28
+ insert_date:"\u63D2\u5165\u7576\u524D\u65E5\u671F/\u6642\u9593",
29
+ option_ltr:"\u5F9E\u5DE6\u5230\u53F3",
30
+ option_rtl:"\u5F9E\u53F3\u5230\u5DE6",
31
+ attribs_title:"\u63D2\u5165/\u7DE8\u8F2F \u5C6C\u6027"
32
+ });
readme.txt CHANGED
@@ -2,15 +2,17 @@
2
  Contributors: Andrew Ozz
3
  Donate link:
4
  Tags: wysiwyg, formatting, tinymce, write, edit, post
5
- Requires at least: 2.2.1
6
- Tested up to: 2.3.2
7
- Stable tag: 2.2
8
 
9
  Enables most of the advanced features of TinyMCE, the WordPress WYSIWYG editor.
10
 
11
  == Description ==
12
 
13
- This plugin adds 16 plugins to TinyMCE: Advanced hr, Advanced Image, Advanced Link, Context Menu, Emotions (Smilies), Full Screen, IESpell, Layer, Media, Nonbreaking, Print, Search and Replace, Style, Table, Visual Characters and XHTML Extras.
 
 
14
 
15
  Version 2.0 includes an admin page for arranging the TinyMCE toolbar buttons, easy installation, a lot of bugfixes, customized "Smilies" plugin that uses the built-in WordPress smilies, etc. The admin page uses Scriptaculous and Prototype.js (similar to the "Widgets" admin page) that lets you "drag and drop" the TinyMCE buttons to arrange your own toolbars and enables/disables the corresponding plugins depending on the used buttons.
16
 
@@ -18,16 +20,17 @@ New in version 2.1: Improved language selection, improved compatibility with Wor
18
 
19
  New in version 2.2: Deactivate/Uninstall option page, font size drop-down menu and other small changes.
20
 
21
- **Language Support:** The plugin interface in only in English, but the TinyMCE plugins include several translations: German, French, Italian, Spanish, Portuguese, Russian and Chinese. Another 36 translations are available as a [separate download](http://svn.wp-plugins.org/tinymce-advanced/branches/tinymce-advanced_extra-languages.zip).
 
 
22
 
23
 
24
- = Some of the new features added by this plugin =
25
 
26
- * Imports all CSS classes from the main theme�s stylesheet and add them to a drop-down list.
27
- * Full screen mode.
28
- * Support for making and editing basic tables.
29
  * In-line css styles.
30
- * Much better (advanced) link and image dialogs that offer a lot of options.
31
  * Search and Replace while editing.
32
  * Support for XHTML specific tags and for (div based) layers.
33
 
@@ -42,56 +45,22 @@ New in version 2.2: Deactivate/Uninstall option page, font size drop-down menu a
42
  6. Clear your browser cache.
43
 
44
 
45
- = Upgrading from TinyMCE Advanced 2.0-beta =
46
 
47
- 1. Deactivate the beta version.
48
- 2. Delete the "tinymce-advanced" folder from WordPress plugins directory.
49
  3. Follow the above steps to install the new version.
50
 
51
 
52
- = Upgrading from TinyMCE Advanced 1.0 =
53
-
54
- This version of TinyMCE Advanced is self-contained. It does not require separate installation of TinyMCE plugins. If you have one of the previous versions (1.0 or 1.0.1) installed, please follow these steps:
55
-
56
- 1. Deactivate the old TinyMCE Advanced.
57
- 2. Backup the TinyMCE plugins folder, located at wp-includes/js/tinymce/plugins.
58
- 3. Delete the following TinyMCE plugins that were added when installing the previous version (delete the directories with these names from wp-includes/js/tinymce/plugins):
59
-
60
- * advhr
61
- * contextmenu
62
- * print
63
- * visualchars
64
- * advimage
65
- * advlink
66
- * table
67
- * xhtmlxtras
68
- * nonbreaking
69
- * layer
70
- * searchreplace
71
- * fullscreen
72
-
73
- 4. After deleting the above plugins, you should have the 7 default plugins that came with WordPress: autosave, directionality, inlinepopups, paste, spellchecker, wordpress, wphelp. Or if you prefer, delete the whole tinymce plugins directory (wp-includes/js/tinymce/plugins) and upload a fresh copy from the WordPress installation package.
74
- 5. Delete the tinymce-advanced folder from WordPress plugins directory (wp-includes/plugins).
75
- 6. Follow the installation instructions above to install the new version.
76
-
77
-
78
  == Frequently Asked Questions ==
79
 
80
- = After installing the plugin, the editor background is black/dark or the font is too small =
81
-
82
- This is due to TinyMCE importing the styles from your theme and trying to make the editor look as close to your site as possible. However that may not work well in some themes. To fix it uncheck the "import the css classes" checkbox and then paste the names of the css classes you want to use in tadv-tinymce.css file located in "tinymce-advanced/css".
83
-
84
  = No styles are imported in the Styles drop-down menu. =
85
 
86
- These styles (just the classes) are imported from your current theme style.css file. However some themes use @import to load the actual css file(s). Tiny does not follow these links. To make the classes appear, add their names to tinymce.css file located in "tinymce-advanced/css". You do not need to copy the whole classes, just add the names, like that:
87
 
88
  .my-class{}
89
  .my-other-class{}
90
 
91
- = I just added my css classes to tinymce.css but they are still missing from the editor. =
92
-
93
- Click on "Save Changes" on the admin page of the plugin, even if you did not change any buttons. This will force TinyMCE to reload the css files.
94
-
95
  = I have just installed this plugin, but it does not do anything. =
96
 
97
  Log out of WordPress, clear your browser cache, quit and restart the browser and try again. If that does not work, there may be a caching proxy or network cache somewhere between you and your host. You may need to wait for a few hours until this cache expires.
@@ -100,14 +69,6 @@ Log out of WordPress, clear your browser cache, quit and restart the browser and
100
 
101
  The "Emotions" button in TinyMCE adds the codes for the smilies. The actual images are added by WordPress when viewing the Post/Page. Make sure the checkbox "Convert emoticons to graphics on display" in "Options - Writing" is checked.
102
 
103
- = The Media plugin is missing. =
104
-
105
- Yes, the Media plugin is disabled in IE. It seems that it conflicts with some of the other js loaded when editing posts in WordPress. However it works nicely in both Firefox and Opera.
106
-
107
- = Some of the window shows through in full screen mode. =
108
-
109
- Click on "Save and continue editing" to refresh it.
110
-
111
  = The plugin does not add any buttons. =
112
 
113
  Make sure the "Use the visual editor when writing" checkbox under "Users - Your Profile" is checked.
@@ -119,4 +80,4 @@ Please visit the homepage for [TinyMCE Advanced](http://www.laptoptips.ca/projec
119
 
120
  == Screenshots ==
121
 
122
- 1. The TinyMCE Advanced options page.
2
  Contributors: Andrew Ozz
3
  Donate link:
4
  Tags: wysiwyg, formatting, tinymce, write, edit, post
5
+ Requires at least: 2.5
6
+ Tested up to: 2.5
7
+ Stable tag: 3.0
8
 
9
  Enables most of the advanced features of TinyMCE, the WordPress WYSIWYG editor.
10
 
11
  == Description ==
12
 
13
+ This plugin adds 14 plugins to TinyMCE: Advanced hr, Advanced Image, Advanced Link, Context Menu, Emotions (Smilies), Date and Time, Layer, Nonbreaking, Print, Search and Replace, Style, Table, Visual Characters and XHTML Extras.
14
+
15
+ Version 3.0.1-beta is [available](http://downloads.wordpress.org/plugin/tinymce-advanced.zip). It fixes issues with removal of non-default buttons in TinyMCE, adds an option to disable the removal of P and BR tags when saving and in the HTML editor (autop) and two more buttons to the HTML editor: autop and undo.
16
 
17
  Version 2.0 includes an admin page for arranging the TinyMCE toolbar buttons, easy installation, a lot of bugfixes, customized "Smilies" plugin that uses the built-in WordPress smilies, etc. The admin page uses Scriptaculous and Prototype.js (similar to the "Widgets" admin page) that lets you "drag and drop" the TinyMCE buttons to arrange your own toolbars and enables/disables the corresponding plugins depending on the used buttons.
18
 
20
 
21
  New in version 2.2: Deactivate/Uninstall option page, font size drop-down menu and other small changes.
22
 
23
+ New in version 3.0: Support for WordPress 2.5 and TinyMCE 3.0.
24
+
25
+ **Language Support:** The plugin interface in only in English, but the TinyMCE plugins include several translations: German, French, Italian, Spanish, Portuguese, Russian, Chinese and Japanese. More translations are available at the [TinyMCE web site](http://services.moxiecode.com/i18n/).
26
 
27
 
28
+ = Some of the features added by this plugin =
29
 
30
+ * Imports all CSS classes from the main theme stylesheet and add them to a drop-down list.
31
+ * Support for making and editing tables.
 
32
  * In-line css styles.
33
+ * Advanced link and image dialogs that offer a lot of options.
34
  * Search and Replace while editing.
35
  * Support for XHTML specific tags and for (div based) layers.
36
 
45
  6. Clear your browser cache.
46
 
47
 
48
+ = Upgrading from TinyMCE Advanced 2.x =
49
 
50
+ 1. Deactivate the previous version.
51
+ 2. Delete the "tinymce-advanced" folder from the WordPress plugins directory.
52
  3. Follow the above steps to install the new version.
53
 
54
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
  == Frequently Asked Questions ==
56
 
 
 
 
 
57
  = No styles are imported in the Styles drop-down menu. =
58
 
59
+ These styles (just the classes) are imported from your current theme style.css file. However some themes use @import to load the actual css file(s). Tiny does not follow these links. To make the classes appear, add their names to tadv-mce.css file located in "tinymce-advanced/css". You do not need to copy the whole classes, just add the names, like that:
60
 
61
  .my-class{}
62
  .my-other-class{}
63
 
 
 
 
 
64
  = I have just installed this plugin, but it does not do anything. =
65
 
66
  Log out of WordPress, clear your browser cache, quit and restart the browser and try again. If that does not work, there may be a caching proxy or network cache somewhere between you and your host. You may need to wait for a few hours until this cache expires.
69
 
70
  The "Emotions" button in TinyMCE adds the codes for the smilies. The actual images are added by WordPress when viewing the Post/Page. Make sure the checkbox "Convert emoticons to graphics on display" in "Options - Writing" is checked.
71
 
 
 
 
 
 
 
 
 
72
  = The plugin does not add any buttons. =
73
 
74
  Make sure the "Use the visual editor when writing" checkbox under "Users - Your Profile" is checked.
80
 
81
  == Screenshots ==
82
 
83
+ 1. The TinyMCE Advanced options page
screenshot-1.jpg DELETED
Binary file
screenshot-1.png ADDED
Binary file
tadv_admin.php ADDED
@@ -0,0 +1,442 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ if ( ! current_user_can('edit_themes') )
4
+ wp_die('Cheatin&#8217; uh?');
5
+
6
+ if ( isset( $_POST['tadv_uninstall'] ) ) {
7
+ check_admin_referer( 'tadv-uninstall' );
8
+
9
+ delete_option('tadv_options');
10
+ delete_option('tadv_toolbars');
11
+ delete_option('tadv_plugins');
12
+ delete_option('tadv_btns1');
13
+ delete_option('tadv_btns2');
14
+ delete_option('tadv_btns3');
15
+ delete_option('tadv_btns4');
16
+
17
+ ?>
18
+ <h3 style="margin:60px auto auto;text-align:center;"><a href="plugins.php?action=deactivate&amp;plugin=tinymce-advanced%2Ftinymce-advanced.php&amp;_wpnonce=<?php echo wp_create_nonce('deactivate-plugin_tinymce-advanced/tinymce-advanced.php'); ?>">Deactivate TinyMCE Advanced</a></h3>
19
+
20
+ <?php
21
+ include('admin-footer.php');
22
+ exit;
23
+ }
24
+
25
+ $update_tadv_options = false;
26
+ $imgpath = get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/images/';
27
+
28
+ $tadv_toolbars = get_option('tadv_toolbars');
29
+ if ( ! is_array($tadv_toolbars) ) {
30
+ $tadv_toolbars = tadv_defaults();
31
+ update_option( 'tadv_toolbars', $tadv_toolbars );
32
+ }
33
+
34
+ $tadv_options = get_option('tadv_options');
35
+ if ( ! is_array($tadv_options) ) {
36
+ $tadv_options = array( 'advlink' => '1', 'advimage' => '1' );
37
+ $update_tadv_options = true;
38
+ }
39
+
40
+ if ( isset( $_POST['save'] ) ) {
41
+ check_admin_referer( 'tadv-save-buttons-order' );
42
+ $tb1 = $tb2 = $tb3 = $tb4 = array();
43
+ parse_str( $_POST['toolbar_1order'], $tb1 );
44
+ parse_str( $_POST['toolbar_2order'], $tb2 );
45
+ parse_str( $_POST['toolbar_3order'], $tb3 );
46
+ parse_str( $_POST['toolbar_4order'], $tb4 );
47
+ $tadv_toolbars = $tb1 + $tb2 + $tb3 + $tb4;
48
+ update_option( 'tadv_toolbars', $tadv_toolbars );
49
+
50
+ $tadv_options['advlink'] = $_POST['advlink'] ? 1 : 0;
51
+ $tadv_options['advimage'] = $_POST['advimage'] ? 1 : 0;
52
+ $tadv_options['contextmenu'] = $_POST['contextmenu'] ? 1 : 0;
53
+ $tadv_options['importcss'] = $_POST['importcss'] ? 1 : 0;
54
+ $update_tadv_options = true;
55
+ }
56
+
57
+ $btns1 = $btns2 = $btns3 = $btns4 = array();
58
+ $hidden_row = false;
59
+
60
+ if ( is_array($tadv_toolbars['toolbar_1']) ) {
61
+ $btns1 = $tadv_toolbars['toolbar_1'];
62
+
63
+ if ( ! empty($btns1) ) {
64
+ foreach( $btns1 as $k => $v ) {
65
+ if ( strpos($v, 'separator') !== false ) $btns1[$k] = 'separator';
66
+ if ( 'layer' == $v ) $l = $k;
67
+ if ( 'wp_adv' == $v ) $hidden_row = 2;
68
+ if ( empty($v) ) unset($btns1[$k]);
69
+ }
70
+ if ( $l ) array_splice( $btns1, $l, 1, array('insertlayer', 'moveforward', 'movebackward', 'absolute') );
71
+ }
72
+ }
73
+
74
+ if ( is_array($tadv_toolbars['toolbar_2']) ) {
75
+ $btns2 = $tadv_toolbars['toolbar_2'];
76
+
77
+ if ( ! empty($btns2) ) {
78
+
79
+ foreach( $btns2 as $k => $v ) {
80
+ if ( strpos($v, 'separator') !== false ) $btns2[$k] = 'separator';
81
+ if ( 'layer' == $v ) $l = $k;
82
+ if ( 'wp_adv' == $v ) $hidden_row = 3;
83
+ if ( empty($v) ) unset($btns2[$k]);
84
+ }
85
+
86
+ if ( $l ) array_splice( $btns2, $l, 1, array('insertlayer', 'moveforward', 'movebackward', 'absolute') );
87
+ }
88
+ }
89
+
90
+ if ( is_array($tadv_toolbars['toolbar_3']) ) {
91
+ $btns3 = $tadv_toolbars['toolbar_3'];
92
+
93
+ if ( ! empty($btns3) ) {
94
+
95
+ foreach( $btns3 as $k => $v ) {
96
+ if ( strpos($v, 'separator') !== false ) $btns3[$k] = 'separator';
97
+ if ( 'layer' == $v ) $l = $k;
98
+ if ( 'wp_adv' == $v ) $hidden_row = 4;
99
+ if ( empty($v) ) unset($btns3[$k]);
100
+ }
101
+
102
+ if ( $l ) array_splice( $btns3, $l, 1, array('insertlayer', 'moveforward', 'movebackward', 'absolute') );
103
+ }
104
+ }
105
+
106
+ if ( $hidden_row ) $tadv_options['hidden_row'] = $hidden_row;
107
+ $update_tadv_options = true;
108
+
109
+ if ( is_array($tadv_toolbars['toolbar_4']) ) {
110
+ $btns4 = $tadv_toolbars['toolbar_4'];
111
+
112
+ if ( ! empty($btns4) ) {
113
+
114
+ foreach( $btns4 as $k => $v ) {
115
+ if ( strpos($v, 'separator') !== false ) $btns4[$k] = 'separator';
116
+ if ( 'layer' == $v ) $l = $k;
117
+ if ( empty($v) ) unset($btns4[$k]);
118
+ }
119
+
120
+ if ( $l ) array_splice( $btns4, $l, 1, array('insertlayer', 'moveforward', 'movebackward', 'absolute') );
121
+ }
122
+ }
123
+
124
+ if ( empty($btns1) && empty($btns2) && empty($btns3) && empty($btns4) ) {
125
+ $allbtns = array();
126
+ ?><div class="error" id="message"><p>All toolbars are empty!</p></div><?php
127
+ } else {
128
+ $allbtns = array_merge( $btns1, $btns2, $btns3, $btns4 );
129
+
130
+ if ( in_array('advhr', $allbtns) ) $plugins[] = 'advhr';
131
+ if ( in_array('insertlayer', $allbtns) ) $plugins[] = 'layer';
132
+ if ( in_array('visualchars', $allbtns) ) $plugins[] = 'visualchars';
133
+
134
+ if ( in_array('nonbreaking', $allbtns) ) $plugins[] = 'nonbreaking';
135
+ if ( in_array('styleprops', $allbtns) ) $plugins[] = 'style';
136
+ if ( in_array('emotions', $allbtns) ) $plugins[] = 'emotions';
137
+ if ( in_array('insertdate', $allbtns) ||
138
+ in_array('inserttime', $allbtns) ) $plugins[] = 'insertdatetime';
139
+
140
+ if ( in_array('tablecontrols', $allbtns) ) $plugins[] = 'table';
141
+ if ( in_array('print', $allbtns) ) $plugins[] = 'print';
142
+ if ( in_array('search', $allbtns) ||
143
+ in_array('replace', $allbtns) ) $plugins[] = 'searchreplace';
144
+
145
+ if ( in_array('cite', $allbtns) ||
146
+ in_array('ins', $allbtns) ||
147
+ in_array('del', $allbtns) ||
148
+ in_array('abbr', $allbtns) ||
149
+ in_array('acronym', $allbtns) ||
150
+ in_array('attribs', $allbtns) ) $plugins[] = 'xhtmlxtras';
151
+
152
+ if ( $tadv_options['advlink'] == '1' ) $plugins[] = 'advlink';
153
+ if ( $tadv_options['advimage'] == '1' ) $plugins[] = 'advimage';
154
+ if ( $tadv_options['contextmenu'] == '1' ) $plugins[] = 'contextmenu';
155
+ }
156
+
157
+ if ( get_option('tadv_plugins') != $plugins ) update_option( 'tadv_plugins', $plugins );
158
+ if ( get_option('tadv_btns1') != $btns1 ) update_option( 'tadv_btns1', $btns1 );
159
+ if ( get_option('tadv_btns2') != $btns2 ) update_option( 'tadv_btns2', $btns2 );
160
+ if ( get_option('tadv_btns3') != $btns3 ) update_option( 'tadv_btns3', $btns3 );
161
+ if ( get_option('tadv_btns4') != $btns4 ) update_option( 'tadv_btns4', $btns4 );
162
+
163
+ $buttons = array( 'Kitchen Sink' => 'wp_adv', 'Bold' => 'bold', 'Italic' => 'italic', 'Strikethrough' => 'strikethrough', 'Underline' => 'underline', 'Bullet List' => 'bullist', 'Numbered List' => 'numlist', 'Outdent' => 'outdent', 'Indent' => 'indent', 'Allign Left' => 'justifyleft', 'Center' => 'justifycenter', 'Alligh Right' => 'justifyright', 'Justify' => 'justifyfull', 'Cut' => 'cut', 'Copy' => 'copy', 'Paste' => 'paste', 'Link' => 'link', 'Remove Link' => 'unlink', 'Insert Image' => 'image', 'More Tag' => 'wp_more', 'Split Page' => 'wp_page', 'Search' => 'search', 'Replace' => 'replace', '<!--fontselect-->' => 'fontselect', '<!--fontsizeselect-->' => 'fontsizeselect', 'Help' => 'wp_help', 'Full Screen' => 'fullscreen', '<!--styleselect-->' => 'styleselect', '<!--formatselect-->' => 'formatselect', 'Text Color' => 'forecolor', 'Paste as Text' => 'pastetext', 'Paste from Word' => 'pasteword', 'Remove Format' => 'removeformat', 'Clean Code' => 'cleanup', 'Check Spelling' => 'spellchecker', 'Character Map' => 'charmap', 'Print' => 'print', 'Undo' => 'undo', 'Redo' => 'redo', 'Table' => 'tablecontrols', 'Citation' => 'cite', 'Inserted Text' => 'ins', 'Deleted Text' => 'del', 'Abbreviation' => 'abbr', 'Acronym' => 'acronym', 'XHTML Attribs' => 'attribs', 'Layer' => 'layer', 'Advanced HR' => 'advhr', 'View HTML' => 'code', 'Hidden Chars' => 'visualchars', 'NB Space' => 'nonbreaking', 'Sub' => 'sub', 'Sup' => 'sup', 'Visual Aids' => 'visualaid', 'Insert Date' => 'insertdate', 'Insert Time' => 'inserttime', 'Anchor' => 'anchor', 'Style' => 'styleprops', 'Smilies' => 'emotions', 'Insert Movie' => 'media' );
164
+
165
+ $active_plugins = get_settings('active_plugins');
166
+ $add = array();
167
+ foreach( $active_plugins as $plug ) {
168
+ if ( strpos( $plug, 'wpg2' ) !== false ) $add['Gallery 2'] = 'g2image';
169
+ if ( strpos( $plug, 'nextgen-gallery' ) !== false ) $add['Nextgen Gallery'] = 'NextGEN';
170
+ if ( strpos( $plug, 'vipers-video' ) !== false ) $add["Viper's Video"] = 'vipersvideoquicktags';
171
+ if ( strpos( $plug, 'embedded-video' ) !== false ) $add['EmbeddedVideo'] = 'embeddedvideo';
172
+ if ( strpos( $plug, 'imagemanager' ) !== false ) $add['Image Manager'] = 'ps_imagemanager_tinymceplugin';
173
+ }
174
+
175
+ if ( ! empty($add) ) $buttons += $add;
176
+
177
+ $separators = array( 's1' => 'separator1', 's2' => 'separator2', 's3' => 'separator3', 's4' => 'separator4', 's5' => 'separator5', 's6' => 'separator6', 's7' => 'separator7', 's8' => 'separator8', 's9' => 'separator9', 's10' => 'separator10', 's11' => 'separator11', 's12' => 'separator12', 's13' => 'separator13', 's14' => 'separator14', 's15' => 'separator15', 's16' => 'separator16', 's17' => 'separator17', 's18' => 'separator18', 's19' => 'separator19', 's20' => 'separator20' );
178
+
179
+ $buttons += $separators;
180
+
181
+ if ( isset( $_POST['tadv'] ) ) {
182
+ if ( isset($_POST['save']) ) { ?><div class="updated" id="message"><p>Options saved</p></div><?php }
183
+ if ( isset($_POST['reset']) ) { ?><div class="updated" id="message"><p>Defaults loaded</p></div><?php }
184
+ } ?>
185
+
186
+ <div class="wrap">
187
+
188
+ <h2>TinyMCE Buttons Arrangement</h2>
189
+
190
+ <form id="tadvadmin" method="post" action="" onsubmit="tadvSerializeAll();">
191
+ <p>Drag and drop buttons onto the toolbars below.</p>
192
+
193
+ <div id="tadvzones">
194
+ <input id="toolbar_1order" name="toolbar_1order" value="" type="hidden" />
195
+ <input id="toolbar_2order" name="toolbar_2order" value="" type="hidden" />
196
+ <input id="toolbar_3order" name="toolbar_3order" value="" type="hidden" />
197
+ <input id="toolbar_4order" name="toolbar_4order" value="" type="hidden" />
198
+ <input name="tadv" value="1" type="hidden" />
199
+
200
+ <div class="tadvdropzone">
201
+ <ul style="position: relative;" id="toolbar_1">
202
+ <?php
203
+ if ( is_array($tadv_toolbars['toolbar_1']) ) {
204
+ $tb1 = array();
205
+ foreach( $tadv_toolbars['toolbar_1'] as $k ) {
206
+ $t = array_intersect( $buttons, (array) $k );
207
+ $tb1 += $t;
208
+ }
209
+
210
+ foreach( $tb1 as $name => $btn ) {
211
+ if ( strpos( $btn, 'separator' ) !== false ) { ?>
212
+
213
+ <li class="separator" id="pre_<?php echo $btn; ?>">
214
+ <div class="tadvitem"> </div></li>
215
+ <?php } else { ?>
216
+
217
+ <li class="tadvmodule" id="pre_<?php echo $btn; ?>">
218
+ <div class="tadvitem"><img src="<?php echo $imgpath . $btn . '.gif'; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" />
219
+ <span class="descr"> <?php echo $name; ?></span></div></li>
220
+ <?php }
221
+ }
222
+ $buttons = array_diff( $buttons, $tb1 );
223
+ } ?>
224
+
225
+ </ul></div>
226
+ <br class="clear" />
227
+
228
+ <div class="tadvdropzone">
229
+ <ul style="position: relative;" id="toolbar_2">
230
+ <?php
231
+ if ( is_array($tadv_toolbars['toolbar_2']) ) {
232
+ $tb2 = array();
233
+ foreach( $tadv_toolbars['toolbar_2'] as $k ) {
234
+ $t = array_intersect( $buttons, (array) $k );
235
+ $tb2 = $tb2 + $t;
236
+ }
237
+ foreach( $tb2 as $name => $btn ) {
238
+ if ( strpos( $btn, 'separator' ) !== false ) { ?>
239
+
240
+ <li class="separator" id="pre_<?php echo $btn; ?>">
241
+ <div class="tadvitem"> </div></li>
242
+ <?php } else { ?>
243
+
244
+ <li class="tadvmodule" id="pre_<?php echo $btn; ?>">
245
+ <div class="tadvitem"><img src="<?php echo $imgpath . $btn . '.gif'; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" />
246
+ <span class="descr"> <?php echo $name; ?></span></div></li>
247
+ <?php }
248
+ }
249
+ $buttons = array_diff( $buttons, $tb2 );
250
+ } ?>
251
+
252
+ </ul></div>
253
+ <br class="clear" />
254
+
255
+ <div class="tadvdropzone">
256
+ <ul style="position: relative;" id="toolbar_3">
257
+ <?php
258
+ if ( is_array($tadv_toolbars['toolbar_3']) ) {
259
+ $tb3 = array();
260
+ foreach( $tadv_toolbars['toolbar_3'] as $k ) {
261
+ $t = array_intersect( $buttons, (array) $k );
262
+ $tb3 += $t;
263
+ }
264
+ foreach( $tb3 as $name => $btn ) {
265
+ if ( strpos( $btn, 'separator' ) !== false ) { ?>
266
+
267
+ <li class="separator" id="pre_<?php echo $btn; ?>">
268
+ <div class="tadvitem"> </div></li>
269
+ <?php } else { ?>
270
+
271
+ <li class="tadvmodule" id="pre_<?php echo $btn; ?>">
272
+ <div class="tadvitem"><img src="<?php echo $imgpath . $btn . '.gif'; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" />
273
+ <span class="descr"> <?php echo $name; ?></span></div></li>
274
+ <?php }
275
+ }
276
+ $buttons = array_diff( $buttons, $tb3 );
277
+ } ?>
278
+
279
+ </ul></div>
280
+ <br class="clear" />
281
+
282
+ <div class="tadvdropzone">
283
+ <ul style="position: relative;" id="toolbar_4">
284
+ <?php
285
+ if ( is_array($tadv_toolbars['toolbar_4']) ) {
286
+ $tb4 = array();
287
+ foreach( $tadv_toolbars['toolbar_4'] as $k ) {
288
+ $t = array_intersect( $buttons, (array) $k );
289
+ $tb4 += $t;
290
+ }
291
+ foreach( $tb4 as $name => $btn ) {
292
+ if ( strpos( $btn, 'separator' ) !== false ) { ?>
293
+
294
+ <li class="separator" id="pre_<?php echo $btn; ?>">
295
+ <div class="tadvitem"> </div></li>
296
+ <?php } else { ?>
297
+
298
+ <li class="tadvmodule" id="pre_<?php echo $btn; ?>">
299
+ <div class="tadvitem"><img src="<?php echo $imgpath . $btn . '.gif'; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" />
300
+ <span class="descr"> <?php echo $name; ?></span></div></li>
301
+ <?php }
302
+ }
303
+ $buttons = array_diff( $buttons, $tb4 );
304
+ }
305
+
306
+ $tadv_btns_left = is_array($buttons) ? array_values($buttons) : array();
307
+ if ( get_option('tadv_btns_left') != $tadv_btns_left ) update_option( 'tadv_btns_left', $tadv_btns_left ); ?>
308
+
309
+ </ul></div>
310
+ <br class="clear" />
311
+ </div>
312
+
313
+ <div id="tadvWarnmsg" ></div>
314
+
315
+ <div id="tadvpalettediv">
316
+ <ul style="position: relative;" id="tadvpalette">
317
+ <?php
318
+ if ( is_array($buttons) ) {
319
+ foreach( $buttons as $name => $btn ) {
320
+ if ( strpos( $btn, 'separator' ) !== false ) { ?>
321
+
322
+ <li class="separator" id="pre_<?php echo $btn; ?>">
323
+ <div class="tadvitem"> </div></li>
324
+ <?php } else { ?>
325
+
326
+ <li class="tadvmodule" id="pre_<?php echo $btn; ?>">
327
+ <div class="tadvitem"><img src="<?php echo $imgpath . $btn . '.gif'; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" />
328
+ <span class="descr"> <?php echo $name; ?></span></div></li>
329
+ <?php }
330
+ }
331
+ } ?>
332
+ </ul>
333
+ </div>
334
+
335
+ <table class="clear" style="margin:10px 0"><tr><td style="padding:2px 12px 8px;">
336
+ Also enable:
337
+ <label for="advlink" class="tadv-box">Advanced Link &nbsp;
338
+ <input type="checkbox" class="tadv-chk" name="advlink" id="advlink" <?php if ( $tadv_options['advlink'] == '1' ) echo ' checked="checked"'; ?> /></label> &bull;
339
+
340
+ <label for="advimage" class="tadv-box">Advanced Image &nbsp;
341
+ <input type="checkbox" class="tadv-chk" name="advimage" id="advimage" <?php if ( $tadv_options['advimage'] == '1' ) echo ' checked="checked"'; ?> /></label> &bull;
342
+
343
+ <label for="contextmenu" class="tadv-box">Context Menu &nbsp;
344
+ <input type="checkbox" class="tadv-chk" name="contextmenu" id="contextmenu" <?php if ( $tadv_options['contextmenu'] == '1' ) echo ' checked="checked"'; ?> /></label>
345
+ (to show the browser's context menu in Firefox and use the spellchecker, hold down the &quot;Ctrl&quot; key).
346
+ </td></tr>
347
+
348
+ <tr><td style="border:1px solid #CD0000;padding:2px 12px 8px;">
349
+ <p style="font-weight:bold;color:#CD0000;">Advanced</p>
350
+
351
+ <p>&middot; Import the current theme's
352
+ <label for="importcss" class="tadv-box">CSS classes &nbsp;
353
+ <input type="checkbox" class="tadv-chk" name="importcss" id="importcss" <?php if ( $tadv_options['importcss'] == '1' ) echo ' checked="checked"'; ?> /></label></p>
354
+ <p>Custom CSS styles can be added in /wp-content/plugins/tinymce-advanced/css/tadv-mce.css. They will be imported in the Style Select menu. The file has to be downloaded with FTP, edited and uploaded, overwriting the original.</p>
355
+ </td></tr>
356
+ <?php
357
+ $mce_locale = ( '' == get_locale() ) ? 'en' : strtolower( substr(get_locale(), 0, 2) );
358
+ if ( $mce_locale != 'en' ) {
359
+
360
+ if ( ! file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/' . $mce_locale . '_dlg.js') ) {
361
+ ?>
362
+ <tr><td style="padding:2px 12px 8px;">
363
+ <p style="font-weight:bold;">Language Settings</p>
364
+ <p>Your WordPress language is set to <strong><?php echo get_locale(); ?></strong>. However there is no matching language installed for TinyMCE's plugins. This plugin includes several translations: German, French, Italian, Spanish, Portuguese, Russian, Japanese and Chinese. More translations are available at <a href="http://services.moxiecode.com/i18n/">TinyMCE's web site</a>.</p>
365
+ </td></tr>
366
+ <?php }
367
+ } // end mce_locale
368
+ ?>
369
+ </table>
370
+
371
+ <p class="submit">
372
+ <?php wp_nonce_field( 'tadv-save-buttons-order' ); ?>
373
+ <input type="submit" name="save" value="Save Changes" />
374
+ <input type="button" name="uninstall" class="tadv_btn" value="Uninstall" onclick="document.getElementById('tadv_uninst_div').style.display = 'block';" />
375
+ </p>
376
+ </form>
377
+ <br class="clear" />
378
+
379
+ <div id="tadv_uninst_div" style="">
380
+ <form method="post" action="">
381
+ <?php wp_nonce_field('tadv-uninstall'); ?>
382
+ <div>Uninstalling will remove all saved settings and buttons arrangement from the database.
383
+ <input class="button tadv_btn" type="button" name="cancel" value="Cancel" onclick="document.getElementById('tadv_uninst_div').style.display = 'none';" style="margin-left:20px" />
384
+ <input class="button tadv_btn" type="submit" name="tadv_uninstall" value="Continue" /></div>
385
+ </form>
386
+ </div>
387
+ </div>
388
+
389
+ <script type="text/javascript">
390
+ // <![CDATA[
391
+ Sortable.create("toolbar_1", {
392
+ dropOnEmpty: true,
393
+ containment: ["tadvpalette","toolbar_1","toolbar_2","toolbar_3","toolbar_4"],
394
+ starteffect: function(element){new Effect.Opacity(element, {duration:0, from:1.0, to:0.7}); },
395
+ endeffect: function(element){new Effect.Opacity(element, {duration:0, from:0.7, to:1.0}); },
396
+ overlap: 'horizontal',
397
+ constraint: false, onUpdate: tadvUpdateAll,
398
+ format: /^pre_(.*)$/
399
+ });
400
+ Sortable.create("toolbar_2", {
401
+ dropOnEmpty: true,
402
+ containment: ["tadvpalette","toolbar_1","toolbar_2","toolbar_3","toolbar_4"],
403
+ starteffect: function(element){new Effect.Opacity(element, {duration:0, from:1.0, to:0.7}); },
404
+ endeffect: function(element){new Effect.Opacity(element, {duration:0, from:0.7, to:1.0}); },
405
+ overlap: 'horizontal',
406
+ constraint: false, onUpdate: tadvUpdateAll,
407
+ format: /^pre_(.*)$/
408
+ });
409
+ Sortable.create("toolbar_3", {
410
+ dropOnEmpty: true,
411
+ containment: ["tadvpalette","toolbar_1","toolbar_2","toolbar_3","toolbar_4"],
412
+ starteffect: function(element){new Effect.Opacity(element, {duration:0, from:1.0, to:0.7}); },
413
+ endeffect: function(element){new Effect.Opacity(element, {duration:0, from:0.7, to:1.0}); },
414
+ overlap: 'horizontal',
415
+ constraint: false, onUpdate: tadvUpdateAll,
416
+ format: /^pre_(.*)$/
417
+ });
418
+ Sortable.create("toolbar_4", {
419
+ dropOnEmpty: true,
420
+ containment: ["tadvpalette","toolbar_1","toolbar_2","toolbar_3","toolbar_4"],
421
+ starteffect: function(element){new Effect.Opacity(element, {duration:0, from:1.0, to:0.7}); },
422
+ endeffect: function(element){new Effect.Opacity(element, {duration:0, from:0.7, to:1.0}); },
423
+ overlap: 'horizontal',
424
+ constraint: false, onUpdate: tadvUpdateAll,
425
+ format: /^pre_(.*)$/
426
+ });
427
+ Sortable.create("tadvpalette", {
428
+ dropOnEmpty: true,
429
+ containment: ["tadvpalette","toolbar_1","toolbar_2","toolbar_3","toolbar_4"],
430
+ starteffect: function(element){new Effect.Opacity(element, {duration:0, from:1.0, to:0.7}); },
431
+ endeffect: function(element){new Effect.Opacity(element, {duration:0, from:0.7, to:1.0}); },
432
+ overlap: 'horizontal',
433
+ constraint: false, onUpdate: tadvUpdateAll,
434
+ format: /^pre_(.*)$/
435
+ });
436
+ // ]]>
437
+ </script>
438
+
439
+ <?php
440
+ if ( $update_tadv_options )
441
+ update_option( 'tadv_options', $tadv_options );
442
+ ?>
tiny_mce_popup.js ADDED
@@ -0,0 +1,274 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // Some global instances
2
+ var tinymce = null, tinyMCEPopup, tinyMCE;
3
+
4
+ tinyMCEPopup = {
5
+ init : function() {
6
+ var t = this, w, ti, li, q, i, it;
7
+
8
+ li = ('' + document.location.search).replace(/^\?/, '').split('&');
9
+ q = {};
10
+ for (i=0; i<li.length; i++) {
11
+ it = li[i].split('=');
12
+ q[unescape(it[0])] = unescape(it[1]);
13
+ }
14
+
15
+ if (q.mce_rdomain)
16
+ document.domain = q.mce_rdomain;
17
+
18
+ // Find window & API
19
+ w = t.getWin();
20
+ tinymce = w.tinymce;
21
+ tinyMCE = w.tinyMCE;
22
+ t.editor = tinymce.EditorManager.activeEditor;
23
+ t.params = t.editor.windowManager.params;
24
+
25
+ // Setup local DOM
26
+ t.dom = t.editor.windowManager.createInstance('tinymce.dom.DOMUtils', document);
27
+ t.dom.loadCSS(t.editor.settings.popup_css);
28
+
29
+ // Setup on init listeners
30
+ t.listeners = [];
31
+ t.onInit = {
32
+ add : function(f, s) {
33
+ t.listeners.push({func : f, scope : s});
34
+ }
35
+ };
36
+
37
+ t.isWindow = !t.getWindowArg('mce_inline');
38
+ t.id = t.getWindowArg('mce_window_id');
39
+ t.editor.windowManager.onOpen.dispatch(t.editor.windowManager, window);
40
+ },
41
+
42
+ getWin : function() {
43
+ return window.dialogArguments || opener || parent || top;
44
+ },
45
+
46
+ getWindowArg : function(n, dv) {
47
+ var v = this.params[n];
48
+
49
+ return tinymce.is(v) ? v : dv;
50
+ },
51
+
52
+ getParam : function(n, dv) {
53
+ return this.editor.getParam(n, dv);
54
+ },
55
+
56
+ getLang : function(n, dv) {
57
+ return this.editor.getLang(n, dv);
58
+ },
59
+
60
+ execCommand : function(cmd, ui, val, a) {
61
+ a = a || {};
62
+ a.skip_focus = 1;
63
+
64
+ this.restoreSelection();
65
+ return this.editor.execCommand(cmd, ui, val, a);
66
+ },
67
+
68
+ resizeToInnerSize : function() {
69
+ var t = this, n, b = document.body, vp = t.dom.getViewPort(window), dw, dh;
70
+
71
+ dw = t.getWindowArg('mce_width') - vp.w;
72
+ dh = t.getWindowArg('mce_height') - vp.h;
73
+
74
+ if (t.isWindow)
75
+ window.resizeBy(dw, dh);
76
+ else
77
+ t.editor.windowManager.resizeBy(dw, dh, t.id);
78
+ },
79
+
80
+ executeOnLoad : function(s) {
81
+ this.onInit.add(function() {
82
+ eval(s);
83
+ });
84
+ },
85
+
86
+ storeSelection : function() {
87
+ this.editor.windowManager.bookmark = tinyMCEPopup.editor.selection.getBookmark('simple');
88
+ },
89
+
90
+ restoreSelection : function() {
91
+ var t = tinyMCEPopup;
92
+
93
+ if (!t.isWindow && tinymce.isIE)
94
+ t.editor.selection.moveToBookmark(t.editor.windowManager.bookmark);
95
+ },
96
+
97
+ requireLangPack : function() {
98
+ var u = this.getWindowArg('plugin_url') || this.getWindowArg('theme_url');
99
+
100
+ if (u && this.editor.settings.language) {
101
+ u += '/langs/' + this.editor.settings.language + '_dlg.js';
102
+
103
+ if (!tinymce.ScriptLoader.isDone(u)) {
104
+ document.write('<script type="text/javascript" src="' + u + '"></script>');
105
+ tinymce.ScriptLoader.markDone(u);
106
+ }
107
+ }
108
+ },
109
+
110
+ pickColor : function(e, element_id) {
111
+ this.execCommand('mceColorPicker', true, {
112
+ color : document.getElementById(element_id).value,
113
+ func : function(c) {
114
+ document.getElementById(element_id).value = c;
115
+
116
+ try {
117
+ document.getElementById(element_id).onchange();
118
+ } catch (ex) {
119
+ // Try fire event, ignore errors
120
+ }
121
+ }
122
+ });
123
+ },
124
+
125
+ openBrowser : function(element_id, type, option) {
126
+ tinyMCEPopup.restoreSelection();
127
+ this.editor.execCallback('file_browser_callback', element_id, document.getElementById(element_id).value, type, window);
128
+ },
129
+
130
+ close : function() {
131
+ var t = this;
132
+
133
+ // To avoid domain relaxing issue in Opera
134
+ function close() {
135
+ t.editor.windowManager.close(window, t.id);
136
+ tinymce = tinyMCE = t.editor = t.params = t.dom = t.dom.doc = null; // Cleanup
137
+ };
138
+
139
+ if (tinymce.isOpera)
140
+ t.getWin().setTimeout(close, 0);
141
+ else
142
+ close();
143
+ },
144
+
145
+ // Internal functions
146
+
147
+ _restoreSelection : function() {
148
+ var e = window.event.srcElement;
149
+
150
+ if (e.nodeName == 'INPUT' && (e.type == 'submit' || e.type == 'button'))
151
+ tinyMCEPopup.restoreSelection();
152
+ },
153
+
154
+ /* _restoreSelection : function() {
155
+ var e = window.event.srcElement;
156
+
157
+ // If user focus a non text input or textarea
158
+ if ((e.nodeName != 'INPUT' && e.nodeName != 'TEXTAREA') || e.type != 'text')
159
+ tinyMCEPopup.restoreSelection();
160
+ },*/
161
+
162
+ _onDOMLoaded : function() {
163
+ var t = this, ti = document.title, bm, h;
164
+
165
+ // Translate page
166
+ h = document.body.innerHTML;
167
+
168
+ // Replace a=x with a="x" in IE
169
+ if (tinymce.isIE)
170
+ h = h.replace(/ (value|title|alt)=([^"][^\s>]+)/gi, ' $1="$2"')
171
+
172
+ document.body.innerHTML = t.editor.translate(h);
173
+ document.title = ti = t.editor.translate(ti);
174
+ document.body.style.display = '';
175
+
176
+ // Restore selection in IE when focus is placed on a non textarea or input element of the type text
177
+ if (tinymce.isIE)
178
+ document.attachEvent('onmouseup', tinyMCEPopup._restoreSelection);
179
+
180
+ t.restoreSelection();
181
+ t.resizeToInnerSize();
182
+
183
+ // Set inline title
184
+ if (!t.isWindow)
185
+ t.editor.windowManager.setTitle(ti, t.id);
186
+ else
187
+ window.focus();
188
+
189
+ if (!tinymce.isIE && !t.isWindow) {
190
+ tinymce.dom.Event._add(document, 'focus', function() {
191
+ t.editor.windowManager.focus(t.id)
192
+ });
193
+ }
194
+
195
+ // Patch for accessibility
196
+ tinymce.each(t.dom.select('select'), function(e) {
197
+ e.onkeydown = tinyMCEPopup._accessHandler;
198
+ });
199
+
200
+ // Call onInit
201
+ // Init must be called before focus so the selection won't get lost by the focus call
202
+ tinymce.each(t.listeners, function(o) {
203
+ o.func.call(o.scope, t.editor);
204
+ });
205
+
206
+ // Move focus to window
207
+ if (t.getWindowArg('mce_auto_focus', true)) {
208
+ window.focus();
209
+
210
+ // Focus element with mceFocus class
211
+ tinymce.each(document.forms, function(f) {
212
+ tinymce.each(f.elements, function(e) {
213
+ if (t.dom.hasClass(e, 'mceFocus') && !e.disabled) {
214
+ e.focus();
215
+ return false; // Break loop
216
+ }
217
+ });
218
+ });
219
+ }
220
+
221
+ document.onkeydown = tinyMCEPopup._closeWinKeyHandler;
222
+ },
223
+
224
+ _accessHandler : function(e) {
225
+ e = e || window.event;
226
+
227
+ if (e.keyCode == 13 || e.keyCode == 32) {
228
+ e = e.target || e.srcElement;
229
+
230
+ if (e.onchange)
231
+ e.onchange();
232
+
233
+ return tinymce.dom.Event.cancel(e);
234
+ }
235
+ },
236
+
237
+ _closeWinKeyHandler : function(e) {
238
+ e = e || window.event;
239
+
240
+ if (e.keyCode == 27)
241
+ tinyMCEPopup.close();
242
+ },
243
+
244
+ _wait : function() {
245
+ var t = this, ti;
246
+
247
+ if (tinymce.isIE && document.location.protocol != 'https:') {
248
+ // Fake DOMContentLoaded on IE
249
+ document.write('<script id=__ie_onload defer src=\'javascript:""\';><\/script>');
250
+ document.getElementById("__ie_onload").onreadystatechange = function() {
251
+ if (this.readyState == "complete") {
252
+ t._onDOMLoaded();
253
+ document.getElementById("__ie_onload").onreadystatechange = null; // Prevent leak
254
+ }
255
+ };
256
+ } else {
257
+ if (tinymce.isIE || tinymce.isWebKit) {
258
+ ti = setInterval(function() {
259
+ if (/loaded|complete/.test(document.readyState)) {
260
+ clearInterval(ti);
261
+ t._onDOMLoaded();
262
+ }
263
+ }, 10);
264
+ } else {
265
+ window.addEventListener('DOMContentLoaded', function() {
266
+ t._onDOMLoaded();
267
+ }, false);
268
+ }
269
+ }
270
+ }
271
+ };
272
+
273
+ tinyMCEPopup.init();
274
+ tinyMCEPopup._wait(); // Wait for DOM Content Loaded
tinymce-advanced.php CHANGED
@@ -3,13 +3,13 @@
3
  Plugin Name: TinyMCE Advanced
4
  Plugin URI: http://www.laptoptips.ca/projects/tinymce-advanced/
5
  Description: Enables advanced features and plugins in TinyMCE.
6
- Version: 2.2
7
  Author: Andrew Ozz
8
  Author URI: http://www.laptoptips.ca/
9
 
10
  Some code and ideas from WordPress(http://wordpress.org/). The options page for this plugin uses Prototype.js by Sam Stephenson(http://prototype.conio.net/) and Scriptaculous by Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us). The Javascript files have been compressed and concatenated for faster loading.
11
 
12
- Released under the GPL, http://www.gnu.org/copyleft/gpl.html
13
 
14
  This program is distributed in the hope that it will be useful,
15
  but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,661 +17,239 @@ Released under the GPL, http://www.gnu.org/copyleft/gpl.html
17
  GNU General Public License for more details.
18
  */
19
 
20
- if ('tinymce-advanced.php' == basename($_SERVER['SCRIPT_NAME']))
21
- exit;
22
-
23
- if( ! function_exists('tadv_admin_head') ) {
24
  function tadv_admin_head() {
25
- global $is_winIE;
26
  ?>
27
- <script type="text/javascript" src="<?php bloginfo('wpurl'); ?>/wp-content/plugins/tinymce-advanced/js/tadv-all.js?ver=1.7.0-2.1"></script>
28
- <link rel="stylesheet" href="<?php bloginfo('wpurl'); ?>/wp-content/plugins/tinymce-advanced/css/tadv-styles.css?ver=2.1" type="text/css" />
29
- <?php
30
- } } // end tadv_admin_head
31
 
32
- if( ! function_exists('tadv_page') ) {
33
- function tadv_page() {
34
- global $is_winIE;
35
-
36
- if ( ! current_user_can('edit_themes') )
37
- wp_die( __( 'Cheatin&#8217; uh?' ));
38
-
39
- $tadv_toolbars = (array) get_option('tadv_toolbars');
40
- $tadv_options = (array) get_option('tadv_options');
41
- $imgpath = get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/images/';
42
-
43
- if( isset( $_POST['save'] ) ) {
44
- check_admin_referer( 'tadv-save-buttons-order' );
45
- parse_str( $_POST['toolbar-1order'], $tb1 );
46
- parse_str( $_POST['toolbar-2order'], $tb2 );
47
- parse_str( $_POST['toolbar-3order'], $tb3 );
48
- $tadv_toolbars = $tb1 + $tb2 + $tb3;
49
- update_option( 'tadv_toolbars', $tadv_toolbars );
50
-
51
- $tadv_options['advlink'] = $_POST['advlink'] ? '1' : '';
52
- $tadv_options['advimage'] = $_POST['advimage'] ? '1' : '';
53
- $tadv_options['contextmenu'] = $_POST['contextmenu'] ? '1' : '';
54
- $tadv_options['importcss'] = $_POST['importcss'] ? '1' : '';
55
- $tadv_options['fixcss'] = $_POST['fixcss'] ? '1' : '';
56
- $update_tadv_options = true;
57
  }
58
-
59
- if( isset( $_POST['reset'] ) ) {
60
- check_admin_referer( 'tadv-save-buttons-order' );
61
- $tadv_toolbars = '';
62
- $tadv_options = '';
 
63
  }
64
-
65
- if( empty($tadv_toolbars) ) {
66
- $tb1 = array( 'bold', 'italic', 'strikethrough', 'underline', 'separator1', 'bullist', 'numlist', 'outdent', 'indent', 'separator2', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'separator3', 'link', 'unlink', 'separator4', 'image', 'styleprops', 'separator12', 'wp_more', 'wp_page', 'separator5', 'spellchecker', 'search', 'separator6', 'wp_help', 'fullscreen' );
67
-
68
- $tb2 = '';
69
-
70
- $tb3 = array( 'styleselect', 'formatselect', 'paste', 'pastetext', 'pasteword', 'separator7', 'cleanup', 'separator8', 'charmap', 'print', 'separator9', 'emotions', 'separator10', 'sup', 'sub', 'separator11', 'undo', 'redo', 'attribs' );
71
-
72
- $tadv_toolbars = array( 'toolbar-1' => $tb1, 'toolbar-2' => $tb2, 'toolbar-3' => $tb3 );
73
- $tadv_options = array( 'advlink' => '1', 'advimage' => '1', 'importcss' => '1', 'refresh' => '1' );
74
-
75
- update_option( 'tadv_toolbars', $tadv_toolbars );
76
- $update_tadv_options = true;
77
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
78
 
79
- if( is_array($tadv_toolbars['toolbar-1']) ) {
80
- $btns1 = $tadv_toolbars['toolbar-1'];
81
-
82
- foreach( $btns1 as $k => $v ) {
83
- if( strpos($v, 'separator') !== false ) $btns1[$k] = 'separator';
84
- if( $v == 'layer' ) $l = $k;
85
- if( empty($v) ) unset($btns1[$k]);
86
- }
87
- if( $l ) array_splice( $btns1, $l, 1, array('insertlayer', 'moveforward', 'movebackward', 'absolute') );
88
- }
89
 
90
- if( is_array($tadv_toolbars['toolbar-2']) ) {
91
- $btns2 = $tadv_toolbars['toolbar-2'];
 
 
 
92
 
93
- foreach( $btns2 as $k => $v ) {
94
- if( strpos($v, 'separator') !== false ) $btns2[$k] = 'separator';
95
- if( $v == 'layer' ) $l = $k;
96
- if( empty($v) ) unset($btns2[$k]);
97
- }
98
- if( $l ) array_splice( $btns2, $l, 1, array('insertlayer', 'moveforward', 'movebackward', 'absolute') );
99
- if( empty($btns1) ) {
100
- $btns1 = $btns2;
101
- $btns2 = array();
102
- }
103
- }
104
-
105
- if( is_array($tadv_toolbars['toolbar-3']) ) {
106
- $btns3 = $tadv_toolbars['toolbar-3'];
107
- foreach( $btns3 as $k => $v ) {
108
- if( strpos($v, 'separator') !== false ) $btns3[$k] = 'separator';
109
- if( $v == 'layer' ) $l = $k;
110
- }
111
- if( $l ) array_splice( $btns3, $l, 1, array('insertlayer', 'moveforward', 'movebackward', 'absolute') );
112
- if( is_array($btns2) && ! empty($btns2) ) {
113
- $btns2[] = 'wp_adv';
114
- $btns2[] = 'wp_adv_start';
115
- $btns3[] = 'wp_adv_end';
116
- $btns2 = array_merge( $btns2, $btns3 );
117
- } elseif ( is_array($btns1) && ! empty($btns1) ) {
118
- $btns1[] = 'wp_adv';
119
- $btns1[] = 'wp_adv_start';
120
- $btns3[] = 'wp_adv_end';
121
- $btns1 = array_merge( $btns1, $btns3 );
122
- } else {
123
- $btns1 = $btns3;
124
- $btns3 = '';
125
- }
126
- }
127
-
128
- if( empty($btns1) && empty($btns2) ) {
129
- $allbtns = array();
130
- ?><div class="error" id="message"><p>All toolbars are empty!</p></div><?php
131
- } else {
132
- $allbtns = array_merge( (array) $btns1, (array) $btns2 );
133
- }
134
-
135
- if( in_array('advhr', $allbtns) ) $plugins[] = 'advhr';
136
- if( in_array('fullscreen', $allbtns) ) $plugins[] = 'fullscreen';
137
- if( in_array('insertlayer', $allbtns) ) $plugins[] = 'layer';
138
- if( in_array('visualchars', $allbtns) ) $plugins[] = 'visualchars';
139
-
140
- if( in_array('iespell', $allbtns) ) $plugins[] = 'iespell';
141
- if( in_array('nonbreaking', $allbtns) ) $plugins[] = 'nonbreaking';
142
- if( in_array('styleprops', $allbtns) ) $plugins[] = 'style';
143
- if( in_array('emotions', $allbtns) ) $plugins[] = 'emotions';
144
-
145
- if( in_array('print', $allbtns) ) $plugins[] = 'print';
146
- if( in_array('search', $allbtns) ||
147
- in_array('replace', $allbtns) ) $plugins[] = 'searchreplace';
148
-
149
- if( in_array('cite', $allbtns) ||
150
- in_array('ins', $allbtns) ||
151
- in_array('del', $allbtns) ||
152
- in_array('abbr', $allbtns) ||
153
- in_array('acronym', $allbtns) ||
154
- in_array('attribs', $allbtns) ) $plugins[] = 'xhtmlxtras';
155
-
156
- if ( $tadv_options['advlink'] == '1' ) $plugins[] = 'advlink';
157
- if ( $tadv_options['advimage'] == '1' ) $plugins[] = 'advimage';
158
- if ( $tadv_options['contextmenu'] == '1' ) $plugins[] = 'contextmenu';
159
- $plugins = array_merge( array( 'table', 'media' ), (array) $plugins );
160
-
161
- if( get_option('tadv_plugins') != $plugins ) update_option( 'tadv_plugins', $plugins );
162
- if( get_option('tadv_btns1') != $btns1 ) update_option( 'tadv_btns1', $btns1 );
163
- if( get_option('tadv_btns2') != $btns2 ) update_option( 'tadv_btns2', $btns2 );
164
-
165
- $buttons = array( 'Bold' => 'bold', 'Italic' => 'italic', 'Strikethrough' => 'strikethrough', 'Underline' => 'underline', 'Bullet List' => 'bullist', 'Numbered List' => 'numlist', 'Outdent' => 'outdent', 'Indent' => 'indent', 'Allign Left' => 'justifyleft', 'Center' => 'justifycenter', 'Alligh Right' => 'justifyright', 'Justify' => 'justifyfull', 'Cut' => 'cut', 'Copy' => 'copy', 'Paste' => 'paste', 'Link' => 'link', 'Remove Link' => 'unlink', 'Insert Image' => 'image', 'More Tag' => 'wp_more', 'Split Page' => 'wp_page', 'Search' => 'search', 'Replace' => 'replace', 'Select Font' => 'fontselect', 'Font Size' => 'fontsizeselect', 'Help' => 'wp_help', 'Full Screen' => 'fullscreen', 'CSS Styles' => 'styleselect', 'Format' => 'formatselect', 'Text Color' => 'forecolor', 'Paste as Text' => 'pastetext', 'Paste from Word' => 'pasteword', 'Remove Format' => 'removeformat', 'Clean Code' => 'cleanup', 'Check Spelling' => 'spellchecker', 'IE Spell' => 'iespell', 'Character Map' => 'charmap', 'Print' => 'print', 'Undo' => 'undo', 'Redo' => 'redo', 'Table' => 'tablecontrols', 'Citation' => 'cite', 'Inserted Text' => 'ins', 'Deleted Text' => 'del', 'Abbreviation' => 'abbr', 'Acronym' => 'acronym', 'XHTML Attribs' => 'attribs', 'Layer' => 'layer', 'Advanced HR' => 'advhr', 'View HTML' => 'code', 'Hidden Chars' => 'visualchars', 'NB Space' => 'nonbreaking', 'Sub' => 'sub', 'Sup' => 'sup', 'Visual Aids' => 'visualaid', 'Anchor' => 'anchor', 'Style' => 'styleprops', 'Smilies' => 'emotions' );
166
-
167
- if( ! $is_winIE ) $buttons['Insert Movie'] = 'media';
168
-
169
- $active_plugins = get_settings('active_plugins');
170
- $add = array();
171
- foreach( $active_plugins as $plug ) {
172
- if( strpos( $plug, 'wpg2' ) !== false ) $add['Gallery 2'] = 'g2image';
173
- if( strpos( $plug, 'nextgen-gallery' ) !== false ) $add['Nextgen Gallery'] = 'NextGEN';
174
- if( strpos( $plug, 'vipers-video' ) !== false ) $add["Viper's Video"] = 'vipersvideoquicktags';
175
- if( strpos( $plug, 'embedded-video' ) !== false ) $add['EmbeddedVideo'] = 'embeddedvideo';
176
- if( strpos( $plug, 'imagemanager' ) !== false ) $add['Image Manager'] = 'ps_imagemanager_tinymceplugin';
177
- }
178
-
179
- if( ! empty($add) ) $buttons += $add;
180
-
181
- $separators = array( 's1' => 'separator1', 's2' => 'separator2', 's3' => 'separator3', 's4' => 'separator4', 's5' => 'separator5', 's6' => 'separator6', 's7' => 'separator7', 's8' => 'separator8', 's9' => 'separator9', 's10' => 'separator10', 's11' => 'separator11', 's12' => 'separator12', 's13' => 'separator13', 's14' => 'separator14', 's15' => 'separator15', 's16' => 'separator16', 's17' => 'separator17', 's18' => 'separator18', 's19' => 'separator19', 's20' => 'separator20' );
182
-
183
- $buttons += $separators;
184
-
185
- if ( isset( $_POST['tadv'] ) ) {
186
- if( isset($_POST['save']) ) { ?><div class="updated" id="message"><p>Options saved</p></div><?php }
187
- if( isset($_POST['reset']) ) { ?><div class="updated" id="message"><p>Defaults loaded</p></div><?php }
188
 
189
- $tadv_options['refresh'] = '1';
190
- $update_tadv_options = true;
191
- } ?>
192
-
193
- <div class="wrap">
194
- <h2>TinyMCE Buttons Arrangement</h2>
195
-
196
- <form id="tadvadmin" method="post" onsubmit="tadvSerializeAll();">
197
- <p>Drag and drop buttons onto the toolbars below.</p>
198
 
199
- <input id="toolbar-1order" name="toolbar-1order" value="" type="hidden" />
200
- <input id="toolbar-2order" name="toolbar-2order" value="" type="hidden" />
201
- <input id="toolbar-3order" name="toolbar-3order" value="" type="hidden" />
202
- <input name="tadv" value="1" type="hidden" />
203
- <div id="tadvzones">
204
-
205
- <div class="tadvdropzone">
206
- <ul style="position: relative;" id="toolbar-1">
207
- <?php
208
- if( is_array($tadv_toolbars['toolbar-1']) ) {
209
- $tb1 = array();
210
- foreach( $tadv_toolbars['toolbar-1'] as $k ) {
211
- $t = array_intersect( $buttons, (array) $k );
212
- $tb1 = $tb1 + $t;
213
- }
214
 
215
- foreach( $tb1 as $name => $btn ) {
216
- if( strpos( $btn, 'eparator' ) ) { ?>
217
-
218
- <li style="position: relative; top: 0px; left: 0px; z-index: 0; opacity: 0.999999;" class="separator" id="pre_<?php echo $btn; ?>">
219
- <div class="tadvitem"><img src="<?php echo $imgpath . 'separator.gif'; ?>" alt="Separator" title="Separator" /></div></li>
220
- <?php
221
- } else { ?>
222
 
223
- <li style="position: relative; top: 0px; left: 0px; z-index: 0; opacity: 0.999999;" class="tadvmodule" id="pre_<?php echo $btn; ?>">
224
- <div class="tadvitem"><img src="<?php echo $imgpath . $btn . '.gif'; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" />
225
- <span class="descr"> <?php echo $name; ?></span></div></li>
226
- <?php }
227
- }
228
- $buttons = array_diff( $buttons, $tb1 );
229
- } ?>
230
-
231
- </ul></div>
232
- <br class="clear" />
233
-
234
- <div class="tadvdropzone">
235
- <ul style="position: relative;" id="toolbar-2">
236
- <?php
237
- if( is_array($tadv_toolbars['toolbar-2']) ) {
238
- $tb2 = array();
239
- foreach( $tadv_toolbars['toolbar-2'] as $k ) {
240
- $t = array_intersect( $buttons, (array) $k );
241
- $tb2 = $tb2 + $t;
242
- }
243
- foreach( $tb2 as $name => $btn ) {
244
- if( strpos( $btn, 'eparator' ) ) { ?>
245
-
246
- <li style="position: relative; top: 0px; left: 0px; z-index: 0; opacity: 0.999999;" class="separator" id="pre_<?php echo $btn; ?>">
247
- <div class="tadvitem"><img src="<?php echo $imgpath . 'separator.gif'; ?>" alt="Separator" title="Separator" /></div></li>
248
- <?php
249
- } else { ?>
250
 
251
- <li style="position: relative; top: 0px; left: 0px; z-index: 0; opacity: 0.999999;" class="tadvmodule" id="pre_<?php echo $btn; ?>">
252
- <div class="tadvitem"><img src="<?php echo $imgpath . $btn . '.gif'; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" />
253
- <span class="descr"> <?php echo $name; ?></span></div></li>
254
- <?php }
255
- }
256
- $buttons = array_diff( $buttons, $tb2 );
257
- } ?>
258
 
259
- </ul></div>
260
- <br class="clear" />
261
-
262
- <div class="tadvdropzone">
263
- <ul style="position: relative;" id="toolbar-3">
264
- <?php
265
- if( is_array($tadv_toolbars['toolbar-3']) ) {
266
- $tb3 = array();
267
- foreach( $tadv_toolbars['toolbar-3'] as $k ) {
268
- $t = array_intersect( $buttons, (array) $k );
269
- $tb3 = $tb3 + $t;
270
- }
271
- foreach( $tb3 as $name => $btn ) {
272
- if( strpos( $btn, 'eparator' ) ) { ?>
273
-
274
- <li style="position: relative; top: 0px; left: 0px; z-index: 0; opacity: 0.999999;" class="separator" id="pre_<?php echo $btn; ?>">
275
- <div class="tadvitem"><img src="<?php echo $imgpath . 'separator.gif'; ?>" alt="Separator" title="Separator" /></div></li>
276
- <?php
277
- } else { ?>
278
-
279
- <li style="position: relative; top: 0px; left: 0px; z-index: 0; opacity: 0.999999;" class="tadvmodule" id="pre_<?php echo $btn; ?>">
280
- <div class="tadvitem"><img src="<?php echo $imgpath . $btn . '.gif'; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" />
281
- <span class="descr"> <?php echo $name; ?></span></div></li>
282
- <?php }
283
- }
284
- $buttons = array_diff( $buttons, $tb3 );
285
- }
286
-
287
- $tadv_btns4 = is_array($buttons) ? array_values($buttons) : array();
288
- if( get_option('tadv_btns4') != $tadv_btns4 ) update_option( 'tadv_btns4', $tadv_btns4 ); ?>
289
-
290
- </ul></div>
291
- <br class="clear" />
292
- </div>
293
-
294
- <div id="tadvWarnmsg" ></div>
295
-
296
- <div id="tadvpalettediv">
297
- <ul style="position: relative;" id="tadvpalette">
298
- <?php
299
- if( is_array($buttons) ) {
300
- foreach( $buttons as $name => $btn ) {
301
- if( strpos( $btn, 'eparator' ) ) { ?>
302
-
303
- <li style="position: relative; top: 0px; left: 0px; z-index: 0; opacity: 0.999999;" class="separator" id="pre_<?php echo $btn; ?>">
304
- <div class="tadvitem"><img src="<?php echo $imgpath . 'separator.gif'; ?>" alt="Separator" title="Separator" /></div></li>
305
- <?php
306
- } else { ?>
307
-
308
- <li style="position: relative; top: 0px; left: 0px; z-index: 0; opacity: 0.999999;" class="tadvmodule" id="pre_<?php echo $btn; ?>">
309
- <div class="tadvitem"><img src="<?php echo $imgpath . $btn . '.gif'; ?>" alt="<?php echo $name; ?>" title="<?php echo $name; ?>" />
310
- <span class="descr"> <?php echo $name; ?></span></div></li>
311
- <?php }
312
- }
313
- } ?>
314
- </ul>
315
- </div>
316
-
317
- <table class="clear" style="margin:10px 0"><tr><td style="padding:2px 12px 8px;">
318
- Also enable:
319
- <label for="advlink" class="tadv-box">Advanced Link &nbsp;
320
- <input type="checkbox" class="tadv-chk" name="advlink" id="advlink" <?php if ( $tadv_options['advlink'] == '1' ) echo ' checked="checked"'; ?> /></label> &bull;
321
 
322
- <label for="advimage" class="tadv-box">Advanced Image &nbsp;
323
- <input type="checkbox" class="tadv-chk" name="advimage" id="advimage" <?php if ( $tadv_options['advimage'] == '1' ) echo ' checked="checked"'; ?> /></label> &bull;
 
324
 
325
- <label for="contextmenu" class="tadv-box">Context Menu &nbsp;
326
- <input type="checkbox" class="tadv-chk" name="contextmenu" id="contextmenu" <?php if ( $tadv_options['contextmenu'] == '1' ) echo ' checked="checked"'; ?> /></label>
327
- (to show the browser's context menu in Firefox and use the spellchecker, hold down the &quot;Ctrl&quot; key).
328
- </td></tr>
329
 
330
- <tr><td style="border:1px solid #CD0000;padding:2px 12px 8px;">
331
- <p style="font-weight:bold;color:#CD0000;">Advanced</p>
332
-
333
- <p>&middot; Import the current theme's
334
- <label for="importcss" class="tadv-box">CSS classes &nbsp;
335
- <input type="checkbox" class="tadv-chk" name="importcss" id="importcss" <?php if ( $tadv_options['importcss'] == '1' ) echo ' checked="checked"'; ?> /></label></p>
336
-
337
- <p>&middot; If the editor doesn't look right,
338
- <label for="fixcss" class="tadv-box">reset some of the CSS styles &nbsp;
339
- <input type="checkbox" class="tadv-chk" name="fixcss" id="fixcss" <?php if ( $tadv_options['fixcss'] == '1' ) echo ' checked="checked"'; ?> /></label></p>
340
-
341
- <p>You can also disable the importing of your theme's css and <a href="templates.php?file=wp-content/plugins/tinymce-advanced/css/tadv-tinymce.css" >add the names of CSS classes</a> that are defined in your theme and you want them to appear in the &quot;Styles&quot; drop-down menu. You don't need to copy the whole CSS classes, just add their names, like: <code>.my-class{}</code>, <code>.my-other-class{}</code>, etc. (add each name on a new line).</p>
342
- </td></tr>
343
- <?php
344
- $mce_locale = ( '' == get_locale() ) ? 'en' : strtolower(get_locale());
345
- if ( $mce_locale != 'en' ) {
346
-
347
- if( ! file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/' . $mce_locale . '.js') ) {
348
- $mce_locale_lang = substr($mce_locale, 0, 2);
349
-
350
- if( strlen($mce_locale) == 2 ) {
351
- if( file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/' . $mce_locale . '_' . $mce_locale . '.js') ) {
352
- $lang = $mce_locale . '_' . $mce_locale;
353
- }
354
- } elseif( file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/' . $mce_locale_lang . '.js') ) {
355
- $lang = $mce_locale_lang;
356
- }
357
-
358
- if( isset($lang) ) {
359
- if( $tadv_options['tadv_lang'] != $lang ) {
360
- $tadv_options['tadv_lang'] = $lang;
361
- $update_tadv_options = true;
362
- }
363
- } else {
364
-
365
- $open = opendir(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/');
366
- $tadv_langs = array();
367
- while( false !== ($file = readdir($open)) ) {
368
- if( '.' == $file || '..' == $file ) continue;
369
- $tadv_langs[] = substr($file, 0, -3);
370
- if( substr($file, 0, 2) == $mce_locale_lang )
371
- $closest_lang = substr($file, 0, -3);
372
- }
373
-
374
- if( isset( $_POST['tadv_lang'] ) ) {
375
- check_admin_referer( 'tadv-save-buttons-order' );
376
- if( in_array( $_POST['tadv_lang'], (array) $tadv_langs ) ) {
377
- if( $tadv_options['tadv_lang'] != $_POST['tadv_lang'] ) {
378
- $tadv_options['tadv_lang'] = $_POST['tadv_lang'];
379
- $update_tadv_options = true;
380
- }
381
- }
382
- }
383
- ?>
384
- <tr><td style="padding:2px 12px 8px;">
385
- <p style="font-weight:bold;">Language Settings</p>
386
- <p>Your WordPress language is set to <strong><?php echo get_locale(); ?></strong>. However there is no matching language installed for TinyMCE's plugins. <?php if( isset($closest_lang) ) { ?>The closest match seem to be <strong><?php echo $closest_lang . '</strong>.'; } ?></p>
387
- <p>Please select one of the installed languages
388
-
389
- <select name="tadv_lang" id="tadv_lang" style="width:100px;padding:0;">
390
- <option value="en">en(default)</option>
391
- <?php if( ! empty($tadv_langs) ) { ?>
392
- <?php foreach( $tadv_langs as $la ) {
393
- if( $la == 'en' ) continue; ?>
394
- <option value="<?php echo $la; if( $tadv_options['tadv_lang'] == $la ) echo '" selected="selected' ?>"><?php echo $la; ?></option>
395
- <?php } ?>
396
- <?php } ?>
397
- </select>
398
-
399
- </p></td></tr>
400
- <?php }
401
- }
402
- } // end mce_locale
403
- ?> </table>
404
-
405
- <script type="text/javascript">
406
- // <![CDATA[
407
- Sortable.create("toolbar-1", {
408
- dropOnEmpty: true,
409
- containment: ["tadvpalette","toolbar-1","toolbar-2","toolbar-3"],
410
- starteffect: function(element){new Effect.Opacity(element, {duration:0, from:1.0, to:0.7}); },
411
- endeffect: function(element){new Effect.Opacity(element, {duration:0, from:0.7, to:1.0}); },
412
- overlap: 'horizontal',
413
- constraint: false, onUpdate: tadvUpdateAll,
414
- format: /^pre_(.*)$/
415
- });
416
- Sortable.create("toolbar-2", {
417
- dropOnEmpty: true,
418
- containment: ["tadvpalette","toolbar-1","toolbar-2","toolbar-3"],
419
- starteffect: function(element){new Effect.Opacity(element, {duration:0, from:1.0, to:0.7}); },
420
- endeffect: function(element){new Effect.Opacity(element, {duration:0, from:0.7, to:1.0}); },
421
- overlap: 'horizontal',
422
- constraint: false, onUpdate: tadvUpdateAll,
423
- format: /^pre_(.*)$/
424
- });
425
- Sortable.create("toolbar-3", {
426
- dropOnEmpty: true,
427
- containment: ["tadvpalette","toolbar-1","toolbar-2","toolbar-3"],
428
- starteffect: function(element){new Effect.Opacity(element, {duration:0, from:1.0, to:0.7}); },
429
- endeffect: function(element){new Effect.Opacity(element, {duration:0, from:0.7, to:1.0}); },
430
- overlap: 'horizontal',
431
- constraint: false, onUpdate: tadvUpdateAll,
432
- format: /^pre_(.*)$/
433
- });
434
- Sortable.create("tadvpalette", {
435
- dropOnEmpty: true,
436
- containment: ["tadvpalette","toolbar-1","toolbar-2","toolbar-3"],
437
- starteffect: function(element){new Effect.Opacity(element, {duration:0, from:1.0, to:0.7}); },
438
- endeffect: function(element){new Effect.Opacity(element, {duration:0, from:0.7, to:1.0}); },
439
- overlap: 'horizontal',
440
- constraint: false, onUpdate: tadvUpdateAll,
441
- format: /^pre_(.*)$/
442
- });
443
- // ]]>
444
- </script>
445
-
446
- <p class="submit">
447
- <?php wp_nonce_field( 'tadv-save-buttons-order' ); ?>
448
- <input type="submit" name="reset" id="reset" value="<?php _e( 'Load Defaults' ); ?>" />
449
- <input type="submit" name="save" id="save" value="<?php _e( 'Save Changes' ); ?>" />
450
- </p>
451
- </form>
452
-
453
- <br class="clear" />
454
- </div>
455
- <?php
456
- if( $update_tadv_options )
457
- update_option( 'tadv_options', $tadv_options );
458
-
459
- } } // end tadv_page
460
-
461
- if( ! class_exists('tadv_mceClass') ) {
462
- class tadv_mceClass {
463
- var $extra_btns = array();
464
-
465
- function tadv_mceClass() {
466
-
467
- if ( 'plugins.php' == basename($_SERVER['SCRIPT_NAME']) || 'plugins.php' == basename($_SERVER['PHP_SELF']) )
468
- if ( isset($_GET['action']) && $_GET['action'] == 'deactivate' && $_GET['plugin'] == 'tinymce-advanced/tinymce-advanced.php')
469
- $this->tadv_deactivate();
470
- }
471
-
472
- function tadv_mce_opt() {
473
- ?>
474
- valid_child_elements : "table[thead|tbody|tfoot|tr|td|th],object[param|embed|%itrans|#text]",
475
- extended_valid_elements : "object[*],param[name|value|valuetype|type|id],embed[*]",
476
- fix_table_elements : true,
477
- convert_fonts_to_spans : true,
478
- font_size_style_values : "8pt,10pt,12pt,14pt,18pt,24pt,36pt",
479
- paste_auto_cleanup_on_paste : true,
480
- cleanup_on_startup : false,
481
- force_hex_style_colors : true,
482
- inline_styles : true,
483
- <?php
484
- $tadv_options = (array) get_option('tadv_options');
485
- $mce_locale = ( '' == get_locale() ) ? 'en' : strtolower(get_locale());
486
-
487
- if ( $mce_locale != 'en' ) {
488
- if( ! file_exists(ABSPATH . PLUGINDIR . '/tinymce-advanced/mce/advlink/langs/' . $mce_locale . '.js') ) {
489
- if( isset($tadv_options['tadv_lang']) ) echo 'language : "' . $tadv_options['tadv_lang'] . '",' . "\n";
490
- else echo 'language : "en",' . "\n";
491
- }
492
- }
493
- }
494
 
495
- function tdav_css($wp) {
496
- $tadv_options = (array) get_option('tadv_options');
497
-
498
- if( $tadv_options['importcss'] == '1' ) $add = get_bloginfo('stylesheet_url') . ',';
499
- else $add = '';
500
 
501
- $add .= get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/css/tadv-tinymce.css?r=' . $tadv_options['refresh'];
502
-
503
- if( $tadv_options['fixcss'] == '1' )
504
- $add .= ',' . get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/css/tadv-fixstyle.css';
505
-
506
- return $add;
507
- }
508
 
509
- function tadv_mce_plugins($plug) {
 
 
 
 
 
 
510
 
511
- $tadv_plugins = (array) get_option('tadv_plugins');
512
- return array_merge($plug, $tadv_plugins);
513
- }
514
 
515
- function tadv_mce_btns($orig) {
516
- global $is_winIE;
517
-
518
- $tadv_btns1 = (array) get_option('tadv_btns1');
519
 
520
- $this->extra_btns = array_merge( (array) $this->extra_btns, (array) $orig );
521
- $this->extra_btns = array_diff( $this->extra_btns, $tadv_btns1 );
 
 
 
 
 
522
 
523
- if( $is_winIE ) $tadv_btns1 = array_diff( $tadv_btns1, array('media') );
524
-
525
- return $tadv_btns1;
526
- }
527
 
528
- function tadv_mce_btns2($orig) {
529
- global $is_winIE;
530
-
531
- $tadv_btns2 = (array) get_option('tadv_btns2');
532
- $tadv_btns4 = (array) get_option('tadv_btns4');
533
-
534
- $orig = array_merge( (array) $this->extra_btns, (array) $orig );
535
- $orig = array_diff( $orig, $tadv_btns2, $tadv_btns4, array('wp_adv_start', 'wp_adv', 'wp_adv_end', 'separator') );
536
-
537
- if( ! empty($orig) )
538
- $tadv_btns2 = array_merge($orig, $tadv_btns2);
539
 
540
- if( $is_winIE ) $tadv_btns2 = array_diff( $tadv_btns2, array('media') );
541
-
542
- return $tadv_btns2;
543
- }
544
 
545
- function tadv_mce_btns3($orig) {
 
546
 
547
- if( is_array($orig) && ! empty($orig) )
548
- $this->extra_btns = $orig;
549
 
550
- return array();
551
- }
552
-
553
- function tadv_load_plugins() {
554
- $tadv_plugins = (array) get_option('tadv_plugins');
555
- $plugpath = get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/mce/';
556
-
557
- foreach( $tadv_plugins as $plug )
558
- echo 'tinyMCE.loadPlugin("' . $plug . '","' . $plugpath . $plug . '");' . "\n";
559
- }
560
-
561
- function tadv_refresh_mceconfig($loc) {
562
-
563
- $tadv_options = (array) get_option('tadv_options');
564
- $tadv_options['refresh'] = isset($tadv_options['refresh']) ? $tadv_options['refresh'] : '';
565
-
566
- if( $tadv_options['refresh'] == '1' ) {
567
- $tadv_options['refresh'] = rand(1000, 9999);
568
- update_option( 'tadv_options', $tadv_options );
569
- }
570
- return $loc . '?r=' . $tadv_options['refresh'];
571
- }
572
-
573
- function tadv_activate() {
574
- global $wp_version;
575
-
576
- if ( empty($wp_version) || version_compare($wp_version, '2.2.1', '<') ) // if WP 2.2 or less
577
- exit('<h2>This plugin requires WordPress version 2.2.1 or newer. Please upgrade your WordPress installation or remove the plugin.</h2>');
578
-
579
- $tb1 = array( 'bold', 'italic', 'strikethrough', 'underline', 'separator1', 'bullist', 'numlist', 'outdent', 'indent', 'separator2', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'separator3', 'link', 'unlink', 'separator4', 'image', 'styleprops', 'separator12', 'wp_more', 'wp_page', 'separator5', 'spellchecker', 'search', 'separator6', 'wp_help', 'fullscreen' );
580
 
581
- $tb2 = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
582
 
583
- $tb3 = array( 'styleselect', 'formatselect', 'paste', 'pastetext', 'pasteword', 'separator7', 'cleanup', 'separator8', 'charmap', 'print', 'separator9', 'emotions', 'separator10', 'sup', 'sub', 'separator11', 'undo', 'redo', 'attribs' );
584
-
585
- $tadv_toolbars = array( 'toolbar-1' => $tb1, 'toolbar-2' => $tb2, 'toolbar-3' => $tb3 );
586
- $tadv_options = array( 'advlink' => '1', 'advimage' => '1', 'importcss' => '1', 'refresh' => '1', 'fixcss' => '1' );
587
- $tadv_plugins = array( 'table', 'media', 'fullscreen', 'style', 'emotions', 'print', 'searchreplace', 'xhtmlxtras', 'advlink', 'advimage' );
588
- $btns1 = array( 'bold', 'italic', 'strikethrough', 'underline', 'separator', 'bullist', 'numlist', 'outdent', 'indent', 'separator', 'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', 'separator', 'link', 'unlink', 'separator', 'image', 'styleprops', 'separator', 'wp_more', 'wp_page', 'separator', 'spellchecker', 'search', 'separator', 'wp_help', 'fullscreen', 'wp_adv', 'wp_adv_start', 'styleselect', 'formatselect', 'paste', 'pastetext', 'pasteword', 'separator', 'cleanup', 'separator', 'charmap', 'print', 'separator', 'emotions', 'separator', 'sup', 'sub', 'separator', 'undo', 'redo', 'attribs', 'wp_adv_end' );
589
-
590
- add_option( 'tadv_toolbars', $tadv_toolbars, 'TinyMCE Advanced', 'no' );
591
- add_option( 'tadv_options', $tadv_options, 'TinyMCE Advanced', 'no' );
592
- add_option( 'tadv_plugins', $tadv_plugins, 'TinyMCE Advanced', 'no' );
593
- add_option( 'tadv_btns1', $btns1, 'TinyMCE Advanced', 'no' );
594
- add_option( 'tadv_btns2', array(), 'TinyMCE Advanced', 'no' );
595
- add_option( 'tadv_btns4', array( 'forecolor', 'removeformat' ), 'TinyMCE Advanced', 'no' );
596
- }
597
-
598
- function tadv_deactivate() {
599
-
600
- if ($_GET['action'] == 'deactivate-all') return;
601
-
602
- $rem = isset($_GET['tadv_remove']) ? $_GET['tadv_remove'] : '';
603
- switch ($rem) {
604
- case 'all':
605
- delete_option('tadv_options');
606
- delete_option('tadv_toolbars');
607
- delete_option('tadv_plugins');
608
- delete_option('tadv_btns1');
609
- delete_option('tadv_btns2');
610
- delete_option('tadv_btns4');
611
- break;
612
- case 'none':
613
- break;
614
- default:
615
-
616
- @header('Content-Type: ' . get_option('html_type') . '; charset=' . get_option('blog_charset'));
617
- ?>
618
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
619
- <html xmlns="http://www.w3.org/1999/xhtml" <?php do_action('admin_xml_ns'); ?> <?php language_attributes(); ?>>
620
- <head>
621
- <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php echo get_option('blog_charset'); ?>" />
622
- <title><?php bloginfo('name') ?> &rsaquo; <?php echo wp_specialchars( strip_tags( $title ) ); ?> &#8212; WordPress</title>
623
- <?php wp_admin_css(); ?>
624
- </head>
625
- <body class="wp-admin <?php echo apply_filters( 'admin_body_class', '' ); ?>">
626
- <div id="wphead">
627
- <h1><?php bloginfo('name'); ?> <span id="viewsite">(<a href="<?php echo get_option('home') . '/'; ?>"><?php _e('View site &raquo;') ?></a>)</span></h1>
628
- </div>
629
-
630
- <div class="wrap">
631
- <h2>TinyMCE Advanced deactivation options</h2>
632
- <table class="optiontable" style="width:80%;margin:auto;">
633
- <tr>
634
- <td style="padding:30px;width:50%;vertical-align:top;">
635
- <p class="button" style="background-color:#eee;border:1px solid #ddd;"><a href="plugins.php?action=deactivate&plugin=tinymce-advanced/tinymce-advanced.php&tadv_remove=all&_wpnonce=<?php echo $_GET['_wpnonce']; ?>" class="delete" title="Uninstall TinyMCE Advanced"><strong>Uninstall</strong></a></p>
636
- <p>Uninstalling will remove all saved settings and buttons arrangement from the database. Choose it if you are not planning to use TinyMCE Advanced any more.</p>
637
-
638
- </td><td style="padding:30px;width:50%;vertical-align:top;">
639
-
640
- <p class="button" style="background-color:#eee;border:1px solid #ddd;"><a href="plugins.php?action=deactivate&plugin=tinymce-advanced/tinymce-advanced.php&tadv_remove=none&_wpnonce=<?php echo $_GET['_wpnonce']; ?>" class="edit" title="Deactivate TinyMCE Advanced"><strong>Deactivate</strong></a></p>
641
- <p>Deactivating will not remove the settings and the buttons arrangement from the database. Choose it if you are planning to use TinyMCE Advanced again and do not want to loose your settings.</p>
642
-
643
- </td></tr>
644
- <tr><td colspan="2" style="padding:0 25%;">
645
- <p class="button" style="background-color:#eee;border:1px solid #ddd;"><a href="plugins.php" class="edit" title="Cancel"><strong>Cancel</strong></a></p>
646
- </td></tr>
647
- </table>
648
- </div>
649
- <?php
650
- include(ABSPATH . 'wp-admin/admin-footer.php');
651
- exit;
652
- }
653
- }
654
-
655
- } } //end tadv_mceClass
656
 
 
657
  function tadv_menu() {
658
- if( function_exists('add_management_page') )
659
  $page = add_management_page( 'TinyMCE Advanced', 'TinyMCE Advanced', 9, __FILE__, 'tadv_page' );
660
- add_action("admin_print_scripts-$page", 'tadv_admin_head');
661
- }
662
-
663
- if ( class_exists("tadv_mceClass") ) {
664
- $tadv_mce = new tadv_mceClass();
665
-
666
- add_action( 'tinymce_before_init', array(&$tadv_mce, 'tadv_load_plugins') );
667
- add_filter( 'mce_css', array(&$tadv_mce, 'tdav_css') );
668
- add_filter( 'tiny_mce_config_url', array(&$tadv_mce, 'tadv_refresh_mceconfig') );
669
- add_action( 'mce_options', array(&$tadv_mce, 'tadv_mce_opt') );
670
- add_filter( 'mce_plugins', array(&$tadv_mce, 'tadv_mce_plugins'), 99 );
671
- add_filter( 'mce_buttons_3', array(&$tadv_mce, 'tadv_mce_btns3'), 98 );
672
- add_filter( 'mce_buttons', array(&$tadv_mce, 'tadv_mce_btns'), 99 );
673
- add_filter( 'mce_buttons_2', array(&$tadv_mce, 'tadv_mce_btns2'), 99 );
674
- add_action( 'activate_tinymce-advanced/tinymce-advanced.php', array(&$tadv_mce, 'tadv_activate') );
675
- }
676
  add_action( 'admin_menu', 'tadv_menu' );
677
  ?>
3
  Plugin Name: TinyMCE Advanced
4
  Plugin URI: http://www.laptoptips.ca/projects/tinymce-advanced/
5
  Description: Enables advanced features and plugins in TinyMCE.
6
+ Version: 3.0
7
  Author: Andrew Ozz
8
  Author URI: http://www.laptoptips.ca/
9
 
10
  Some code and ideas from WordPress(http://wordpress.org/). The options page for this plugin uses Prototype.js by Sam Stephenson(http://prototype.conio.net/) and Scriptaculous by Thomas Fuchs (http://script.aculo.us, http://mir.aculo.us). The Javascript files have been compressed and concatenated for faster loading.
11
 
12
+ Released under the GPL v.2, http://www.gnu.org/copyleft/gpl.html
13
 
14
  This program is distributed in the hope that it will be useful,
15
  but WITHOUT ANY WARRANTY; without even the implied warranty of
17
  GNU General Public License for more details.
18
  */
19
 
20
+ if ( ! function_exists('tadv_admin_head') ) {
 
 
 
21
  function tadv_admin_head() {
 
22
  ?>
23
+ <script type="text/javascript" src="<?php bloginfo('wpurl'); ?>/wp-content/plugins/tinymce-advanced/js/tadv-all.js?ver=1.7.0-3.0"></script>
24
+ <link rel="stylesheet" href="<?php bloginfo('wpurl'); ?>/wp-content/plugins/tinymce-advanced/css/tadv-styles.css?ver=3.0" type="text/css" />
 
 
25
 
26
+ <script type="text/javascript">
27
+ // <![CDATA[
28
+ var mceToolbars = ['toolbar_1', 'toolbar_2', 'toolbar_3', 'toolbar_4'];
29
+ function initTadv() {
30
+ $A(Draggables.drags).map(function(o){o.startDrag(null);o.finishDrag(null);});
31
+ tadvResetHeight();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
  }
33
+ function tadvResetHeight() {
34
+ var pd = $('tadvpalette');
35
+ if( pd.childNodes.length > 6 ) {
36
+ var last = pd.lastChild.previousSibling;
37
+ pd.style.height = last.offsetTop + last.offsetHeight + 30 + "px";
38
+ } else { pd.style.height = "60px"; }
39
  }
40
+ function tadvSerializeAll() {
41
+ $('toolbar_1order').value = Sortable.serialize('toolbar_1');
42
+ $('toolbar_2order').value = Sortable.serialize('toolbar_2');
43
+ $('toolbar_3order').value = Sortable.serialize('toolbar_3');
44
+ $('toolbar_4order').value = Sortable.serialize('toolbar_4');
 
 
 
 
 
 
 
 
45
  }
46
+ function tadvUpdateAll() {
47
+ tadvResetHeight();
48
+ $('tadvWarnmsg').innerHTML = '';
49
+ mceToolbars.map(function(o){
50
+ var kids = $(o).childNodes;
51
+ var tbwidth = $(o).clientWidth;
52
+ var kidswidth = 0;
53
+ for( i=0; i<kids.length; i++ ) {
54
+ kidswidth += kids[i].clientWidth;
55
+ }
56
+ if( kidswidth > tbwidth ) {
57
+ $('tadvWarnmsg').innerHTML = 'Adding too many buttons will make the toolbar too long and will not display correctly in TinyMCE!';
58
+ }
59
+ });
60
+
61
+ var wp_adv = $('pre_wp_adv'), t1 = $('toolbar_1'), t2 = $('toolbar_2'), t3 = $('toolbar_3'), t4 = $('toolbar_4'), tp = $('tadvpalette');
62
+ var t2l = (t2.childNodes.length > 0), t3l = (t3.childNodes.length > 0), t4l = (t4.childNodes.length > 0);
63
+
64
+ if ( wp_adv.childOf(t4) ) {
65
+ if ( t4l ) t3.appendChild(wp_adv);
66
+ else if ( t3l ) {t2.appendChild(wp_adv);return false;}
67
+ else if ( t2l ) {t1.appendChild(wp_adv);return false;}
68
+ } else if ( wp_adv.childOf(t3) ) {
69
+ if ( t4l ) return false;
70
+ else if ( t3l ) {t2.appendChild(wp_adv);return false;}
71
+ else if ( t2l ) {t1.appendChild(wp_adv);return false;}
72
+ } else if ( wp_adv.childOf(t2) ) {
73
+ if ( t3l ) return false;
74
+ else if ( t2l ) {t1.appendChild(wp_adv);return false;}
75
+ } else if ( wp_adv.childOf(t1) ) {
76
+ if ( t2l ) return false;
77
+ } else if ( wp_adv.childOf(tp) ) {
78
+ return false;
79
+ } else {
80
+ tp.appendChild(wp_adv);
81
+ };
82
+ };
83
+ Event.observe(window, 'load', function() {
84
+ initTadv();
85
+ tadvUpdateAll();
86
+ });
87
+ Event.observe(window, 'resize', tadvUpdateAll);
88
+ // ]]>
89
+ </script>
90
 
91
+ <?php
92
+ } } // end tadv_admin_head
 
 
 
 
 
 
 
 
93
 
94
+ if ( ! function_exists('tadv_activate') ) {
95
+ function tadv_activate() {
96
+
97
+ if ( empty($GLOBALS['wp_version']) || version_compare($GLOBALS['wp_version'], '2.5', '<') ) // if less than 2.5
98
+ exit('<h2>This plugin requires WordPress version 2.5 or newer. Please upgrade your WordPress installation or remove the plugin.</h2>');
99
 
100
+ $tadv_options = array( 'advlink' => '1', 'advimage' => '1' );
101
+ $tadv_plugins = array( 'style', 'emotions', 'print', 'searchreplace', 'xhtmlxtras', 'advlink', 'advimage' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
102
 
103
+ $tadv_toolbars = tadv_defaults();
104
+ $btns1 = (array) $tadv_toolbars['toolbar_1'];
105
+ $btns2 = (array) $tadv_toolbars['toolbar_2'];
 
 
 
 
 
 
106
 
107
+ add_option( 'tadv_toolbars', $tadv_toolbars, '', 'no' );
108
+ add_option( 'tadv_options', $tadv_options, '', 'no' );
109
+ add_option( 'tadv_plugins', $tadv_plugins, '', 'no' );
110
+ add_option( 'tadv_btns1', $btns1, '', 'no' );
111
+ add_option( 'tadv_btns2', $btns2, '', 'no' );
112
+ add_option( 'tadv_btns3', array(), '', 'no' );
113
+ add_option( 'tadv_btns4', array(), '', 'no' );
114
+ } }
115
+ add_action( 'activate_tinymce-advanced/tinymce-advanced.php', 'tadv_activate' );
 
 
 
 
 
 
116
 
117
+ if ( ! function_exists('tadv_defaults') ) {
118
+ function tadv_defaults() {
119
+ $tb1 = array( 'bold', 'italic', 'strikethrough', 'underline', 'separator1', 'bullist', 'numlist', 'outdent', 'indent', 'separator2', 'justifyleft', 'justifycenter', 'justifyright', 'separator3', 'link', 'unlink', 'separator4', 'image', 'styleprops', 'separator12', 'wp_more', 'wp_page', 'separator5', 'spellchecker', 'search', 'separator6', 'fullscreen', 'wp_adv' );
 
 
 
 
120
 
121
+ $tb2 = array( 'fontsizeselect', 'formatselect', 'pastetext', 'pasteword', 'removeformat', 'separator8', 'charmap', 'print', 'separator9', 'forecolor', 'emotions', 'separator10', 'sup', 'sub', 'media', 'separator11', 'undo', 'redo', 'attribs', 'wp_help' );
122
+
123
+ $tadv_toolbars = array( 'toolbar_1' => $tb1, 'toolbar_2' => $tb2, 'toolbar_3' => array(), 'toolbar_4' => array() );
124
+
125
+ return $tadv_toolbars;
126
+ } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
127
 
128
+ if ( ! function_exists('tdav_css') ) {
129
+ function tdav_css($wp) {
130
+ $tadv_options = (array) get_option('tadv_options');
 
 
 
 
131
 
132
+ if ( $tadv_options['importcss'] == '1' )
133
+ $wp .= ',' . get_bloginfo('stylesheet_url');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
134
 
135
+ return $wp .= ',' . get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/css/tadv-mce.css';
136
+ } }
137
+ add_filter( 'mce_css', 'tdav_css' );
138
 
139
+ $tadv_extra_btns = array();
140
+ $tadv_hidden_row = false;
 
 
141
 
142
+ if ( ! function_exists('tadv_mce_btns') ) {
143
+ function tadv_mce_btns($orig) {
144
+ global $tadv_extra_btns, $tadv_hidden_row;
145
+ $tadv_btns1 = (array) get_option('tadv_btns1');
146
+
147
+ if ( in_array( 'wp_adv', $tadv_btns1 ) )
148
+ $tadv_hidden_row = 2;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
 
150
+ $tadv_extra_btns = array_merge( (array) $tadv_extra_btns, (array) $orig );
151
+ $tadv_extra_btns = array_diff( $tadv_extra_btns, $tadv_btns1 );
 
 
 
152
 
153
+ return $tadv_btns1;
154
+ } }
155
+ add_filter( 'mce_buttons', 'tadv_mce_btns', 99 );
 
 
 
 
156
 
157
+ if ( ! function_exists('tadv_mce_btns2') ) {
158
+ function tadv_mce_btns2($orig) {
159
+ global $tadv_extra_btns, $tadv_hidden_row;
160
+ $tadv_btns2 = (array) get_option('tadv_btns2');
161
+
162
+ if ( in_array( 'wp_adv', $tadv_btns2 ) )
163
+ $tadv_hidden_row = 3;
164
 
165
+ $tadv_extra_btns = array_merge( (array) $tadv_extra_btns, (array) $orig );
166
+ $tadv_extra_btns = array_diff( $tadv_extra_btns, $tadv_btns2 );
 
167
 
168
+ return $tadv_btns2;
169
+ } }
170
+ add_filter( 'mce_buttons_2', 'tadv_mce_btns2', 99 );
 
171
 
172
+ if ( ! function_exists('tadv_mce_btns3') ) {
173
+ function tadv_mce_btns3($orig) {
174
+ global $tadv_extra_btns, $tadv_hidden_row;
175
+ $tadv_btns3 = (array) get_option('tadv_btns3');
176
+
177
+ if ( in_array( 'wp_adv', $tadv_btns3 ) )
178
+ $tadv_hidden_row = 4;
179
 
180
+ $tadv_extra_btns = array_merge( (array) $tadv_extra_btns, (array) $orig );
181
+ $tadv_extra_btns = array_diff( $tadv_extra_btns, $tadv_btns3 );
 
 
182
 
183
+ return $tadv_btns3;
184
+ } }
185
+ add_filter( 'mce_buttons_3', 'tadv_mce_btns3', 99 );
 
 
 
 
 
 
 
 
186
 
187
+ if ( ! function_exists('tadv_mce_btns4') ) {
188
+ function tadv_mce_btns4($orig) {
189
+ $tadv_btns_left = (array) get_option('tadv_btns_left');
190
+ $tadv_btns4 = (array) get_option('tadv_btns4');
191
 
192
+ $orig = array_merge( (array) $tadv_extra_btns, (array) $orig );
193
+ $orig = array_diff( $orig, $tadv_btns_left, $tadv_btns4 ); // , array('wp_adv_start', 'wp_adv', 'wp_adv_end', 'separator')
194
 
195
+ if ( ! empty($orig) )
196
+ $tadv_btns4 = array_merge($orig, $tadv_btns4);
197
 
198
+ return $tadv_btns4;
199
+ } }
200
+ add_filter( 'mce_buttons_4', 'tadv_mce_btns4', 98 );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
201
 
202
+ if ( ! function_exists('tadv_options') ) {
203
+ function tadv_options($init) {
204
+ global $tadv_hidden_row;
205
+
206
+ if ( $tadv_hidden_row )
207
+ $init['wordpress_adv_toolbar'] = 'toolbar' . $tadv_hidden_row;
208
+
209
+ return $init;
210
+ } }
211
+ add_filter( 'tiny_mce_before_init', 'tadv_options' );
212
+
213
+ if ( ! function_exists('tadv_load_plugins') ) {
214
+ function tadv_load_plugins($plug) {
215
+ $tadv_plugins = (array) get_option('tadv_plugins');
216
+ $plugpath = get_bloginfo('wpurl') . '/wp-content/plugins/tinymce-advanced/mce/';
217
+
218
+ $plug = (array) $plug;
219
+ foreach( $tadv_plugins as $plugin )
220
+ $plug["$plugin"] = $plugpath . $plugin . '/editor_plugin.js';
221
+
222
+ return $plug;
223
+ } }
224
+ add_action( 'mce_external_plugins', 'tadv_load_plugins' );
225
+
226
+ if ( ! function_exists('tadv_load_langs') ) {
227
+ function tadv_load_langs($langs) {
228
+ $tadv_plugins = (array) get_option('tadv_plugins');
229
+ $langpath = ABSPATH . '/' . PLUGINDIR . '/tinymce-advanced/mce/';
230
+ $nolangs = array( 'bbcode', 'contextmenu', 'insertdatetime', 'layer', 'nonbreaking', 'print', 'visualchars', 'emotions' );
231
+
232
+ $langs = (array) $langs;
233
+ foreach( $tadv_plugins as $plugin ) {
234
+ if ( in_array( $plugin, $nolangs ) ) continue;
235
+ $langs["$plugin"] = $langpath . $plugin . '/langs/langs.php';
236
+ }
237
+
238
+ return $langs;
239
+ } }
240
+ add_filter( 'mce_external_languages', 'tadv_load_langs' );
241
 
242
+ if ( ! function_exists('tadv_page') ) {
243
+ function tadv_page() {
244
+ require_once('tadv_admin.php');
245
+ } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
 
247
+ if ( ! function_exists('tadv_menu') ) {
248
  function tadv_menu() {
249
+ if ( function_exists('add_management_page') ) {
250
  $page = add_management_page( 'TinyMCE Advanced', 'TinyMCE Advanced', 9, __FILE__, 'tadv_page' );
251
+ add_action( "admin_print_scripts-$page", 'tadv_admin_head' );
252
+ }
253
+ } }
 
 
 
 
 
 
 
 
 
 
 
 
 
254
  add_action( 'admin_menu', 'tadv_menu' );
255
  ?>
utils/editable_selects.js ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * $Id: editable_selects.js 520 2008-01-07 16:30:32Z spocke $
3
+ *
4
+ * Makes select boxes editable.
5
+ *
6
+ * @author Moxiecode
7
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
8
+ */
9
+
10
+ var TinyMCE_EditableSelects = {
11
+ editSelectElm : null,
12
+
13
+ init : function() {
14
+ var nl = document.getElementsByTagName("select"), i, d = document, o;
15
+
16
+ for (i=0; i<nl.length; i++) {
17
+ if (nl[i].className.indexOf('mceEditableSelect') != -1) {
18
+ o = new Option('(value)', '__mce_add_custom__');
19
+
20
+ o.className = 'mceAddSelectValue';
21
+
22
+ nl[i].options[nl[i].options.length] = o;
23
+ nl[i].onchange = TinyMCE_EditableSelects.onChangeEditableSelect;
24
+ }
25
+ }
26
+ },
27
+
28
+ onChangeEditableSelect : function(e) {
29
+ var d = document, ne, se = window.event ? window.event.srcElement : e.target;
30
+
31
+ if (se.options[se.selectedIndex].value == '__mce_add_custom__') {
32
+ ne = d.createElement("input");
33
+ ne.id = se.id + "_custom";
34
+ ne.name = se.name + "_custom";
35
+ ne.type = "text";
36
+
37
+ ne.style.width = se.offsetWidth + 'px';
38
+ se.parentNode.insertBefore(ne, se);
39
+ se.style.display = 'none';
40
+ ne.focus();
41
+ ne.onblur = TinyMCE_EditableSelects.onBlurEditableSelectInput;
42
+ TinyMCE_EditableSelects.editSelectElm = se;
43
+ }
44
+ },
45
+
46
+ onBlurEditableSelectInput : function() {
47
+ var se = TinyMCE_EditableSelects.editSelectElm;
48
+
49
+ if (se) {
50
+ if (se.previousSibling.value != '') {
51
+ addSelectValue(document.forms[0], se.id, se.previousSibling.value, se.previousSibling.value);
52
+ selectByValue(document.forms[0], se.id, se.previousSibling.value);
53
+ } else
54
+ selectByValue(document.forms[0], se.id, '');
55
+
56
+ se.style.display = 'inline';
57
+ se.parentNode.removeChild(se.previousSibling);
58
+ TinyMCE_EditableSelects.editSelectElm = null;
59
+ }
60
+ }
61
+ };
utils/form_utils.js ADDED
@@ -0,0 +1,199 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * $Id: form_utils.js 673 2008-03-06 13:26:20Z spocke $
3
+ *
4
+ * Various form utilitiy functions.
5
+ *
6
+ * @author Moxiecode
7
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
8
+ */
9
+
10
+ var themeBaseURL = tinyMCEPopup.editor.baseURI.toAbsolute('themes/' + tinyMCEPopup.getParam("theme"));
11
+
12
+ function getColorPickerHTML(id, target_form_element) {
13
+ var h = "";
14
+
15
+ h += '<a id="' + id + '_link" href="javascript:;" onclick="tinyMCEPopup.pickColor(event,\'' + target_form_element +'\');" onmousedown="return false;" class="pickcolor">';
16
+ h += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '"></span></a>';
17
+
18
+ return h;
19
+ }
20
+
21
+ function updateColor(img_id, form_element_id) {
22
+ document.getElementById(img_id).style.backgroundColor = document.forms[0].elements[form_element_id].value;
23
+ }
24
+
25
+ function setBrowserDisabled(id, state) {
26
+ var img = document.getElementById(id);
27
+ var lnk = document.getElementById(id + "_link");
28
+
29
+ if (lnk) {
30
+ if (state) {
31
+ lnk.setAttribute("realhref", lnk.getAttribute("href"));
32
+ lnk.removeAttribute("href");
33
+ tinyMCEPopup.dom.addClass(img, 'disabled');
34
+ } else {
35
+ if (lnk.getAttribute("realhref"))
36
+ lnk.setAttribute("href", lnk.getAttribute("realhref"));
37
+
38
+ tinyMCEPopup.dom.removeClass(img, 'disabled');
39
+ }
40
+ }
41
+ }
42
+
43
+ function getBrowserHTML(id, target_form_element, type, prefix) {
44
+ var option = prefix + "_" + type + "_browser_callback", cb, html;
45
+
46
+ cb = tinyMCEPopup.getParam(option, tinyMCEPopup.getParam("file_browser_callback"));
47
+
48
+ if (!cb)
49
+ return "";
50
+
51
+ html = "";
52
+ html += '<a id="' + id + '_link" href="javascript:openBrowser(\'' + id + '\',\'' + target_form_element + '\', \'' + type + '\',\'' + option + '\');" onmousedown="return false;" class="browse">';
53
+ html += '<span id="' + id + '" title="' + tinyMCEPopup.getLang('browse') + '"></span></a>';
54
+
55
+ return html;
56
+ }
57
+
58
+ function openBrowser(img_id, target_form_element, type, option) {
59
+ var img = document.getElementById(img_id);
60
+
61
+ if (img.className != "mceButtonDisabled")
62
+ tinyMCEPopup.openBrowser(target_form_element, type, option);
63
+ }
64
+
65
+ function selectByValue(form_obj, field_name, value, add_custom, ignore_case) {
66
+ if (!form_obj || !form_obj.elements[field_name])
67
+ return;
68
+
69
+ var sel = form_obj.elements[field_name];
70
+
71
+ var found = false;
72
+ for (var i=0; i<sel.options.length; i++) {
73
+ var option = sel.options[i];
74
+
75
+ if (option.value == value || (ignore_case && option.value.toLowerCase() == value.toLowerCase())) {
76
+ option.selected = true;
77
+ found = true;
78
+ } else
79
+ option.selected = false;
80
+ }
81
+
82
+ if (!found && add_custom && value != '') {
83
+ var option = new Option(value, value);
84
+ option.selected = true;
85
+ sel.options[sel.options.length] = option;
86
+ sel.selectedIndex = sel.options.length - 1;
87
+ }
88
+
89
+ return found;
90
+ }
91
+
92
+ function getSelectValue(form_obj, field_name) {
93
+ var elm = form_obj.elements[field_name];
94
+
95
+ if (elm == null || elm.options == null)
96
+ return "";
97
+
98
+ return elm.options[elm.selectedIndex].value;
99
+ }
100
+
101
+ function addSelectValue(form_obj, field_name, name, value) {
102
+ var s = form_obj.elements[field_name];
103
+ var o = new Option(name, value);
104
+ s.options[s.options.length] = o;
105
+ }
106
+
107
+ function addClassesToList(list_id, specific_option) {
108
+ // Setup class droplist
109
+ var styleSelectElm = document.getElementById(list_id);
110
+ var styles = tinyMCEPopup.getParam('theme_advanced_styles', false);
111
+ styles = tinyMCEPopup.getParam(specific_option, styles);
112
+
113
+ if (styles) {
114
+ var stylesAr = styles.split(';');
115
+
116
+ for (var i=0; i<stylesAr.length; i++) {
117
+ if (stylesAr != "") {
118
+ var key, value;
119
+
120
+ key = stylesAr[i].split('=')[0];
121
+ value = stylesAr[i].split('=')[1];
122
+
123
+ styleSelectElm.options[styleSelectElm.length] = new Option(key, value);
124
+ }
125
+ }
126
+ } else {
127
+ tinymce.each(tinyMCEPopup.editor.dom.getClasses(), function(o) {
128
+ styleSelectElm.options[styleSelectElm.length] = new Option(o.title || o['class'], o['class']);
129
+ });
130
+ }
131
+ }
132
+
133
+ function isVisible(element_id) {
134
+ var elm = document.getElementById(element_id);
135
+
136
+ return elm && elm.style.display != "none";
137
+ }
138
+
139
+ function convertRGBToHex(col) {
140
+ var re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi");
141
+
142
+ var rgb = col.replace(re, "$1,$2,$3").split(',');
143
+ if (rgb.length == 3) {
144
+ r = parseInt(rgb[0]).toString(16);
145
+ g = parseInt(rgb[1]).toString(16);
146
+ b = parseInt(rgb[2]).toString(16);
147
+
148
+ r = r.length == 1 ? '0' + r : r;
149
+ g = g.length == 1 ? '0' + g : g;
150
+ b = b.length == 1 ? '0' + b : b;
151
+
152
+ return "#" + r + g + b;
153
+ }
154
+
155
+ return col;
156
+ }
157
+
158
+ function convertHexToRGB(col) {
159
+ if (col.indexOf('#') != -1) {
160
+ col = col.replace(new RegExp('[^0-9A-F]', 'gi'), '');
161
+
162
+ r = parseInt(col.substring(0, 2), 16);
163
+ g = parseInt(col.substring(2, 4), 16);
164
+ b = parseInt(col.substring(4, 6), 16);
165
+
166
+ return "rgb(" + r + "," + g + "," + b + ")";
167
+ }
168
+
169
+ return col;
170
+ }
171
+
172
+ function trimSize(size) {
173
+ return size.replace(/([0-9\.]+)px|(%|in|cm|mm|em|ex|pt|pc)/, '$1$2');
174
+ }
175
+
176
+ function getCSSSize(size) {
177
+ size = trimSize(size);
178
+
179
+ if (size == "")
180
+ return "";
181
+
182
+ // Add px
183
+ if (/^[0-9]+$/.test(size))
184
+ size += 'px';
185
+
186
+ return size;
187
+ }
188
+
189
+ function getStyle(elm, attrib, style) {
190
+ var val = tinyMCEPopup.dom.getAttrib(elm, attrib);
191
+
192
+ if (val != '')
193
+ return '' + val;
194
+
195
+ if (typeof(style) == 'undefined')
196
+ style = attrib;
197
+
198
+ return tinyMCEPopup.dom.getStyle(elm, style);
199
+ }
utils/mclayer.js ADDED
@@ -0,0 +1,210 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * $Id: mclayer.js 520 2008-01-07 16:30:32Z spocke $
3
+ *
4
+ * Moxiecode floating layer script.
5
+ *
6
+ * @author Moxiecode
7
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
8
+ */
9
+
10
+ function MCLayer(id) {
11
+ this.id = id;
12
+ this.settings = new Array();
13
+ this.blockerElement = null;
14
+ this.isMSIE = navigator.appName == "Microsoft Internet Explorer";
15
+ this.events = false;
16
+ this.autoHideCallback = null;
17
+ }
18
+
19
+ MCLayer.prototype = {
20
+ moveRelativeTo : function(re, p, a) {
21
+ var rep = this.getAbsPosition(re);
22
+ var w = parseInt(re.offsetWidth);
23
+ var h = parseInt(re.offsetHeight);
24
+ var x, y;
25
+
26
+ switch (p) {
27
+ case "tl":
28
+ break;
29
+
30
+ case "tr":
31
+ x = rep.absLeft + w;
32
+ y = rep.absTop;
33
+ break;
34
+
35
+ case "bl":
36
+ break;
37
+
38
+ case "br":
39
+ break;
40
+ }
41
+
42
+ this.moveTo(x, y);
43
+ },
44
+
45
+ moveBy : function(dx, dy) {
46
+ var e = this.getElement();
47
+ var x = parseInt(e.style.left);
48
+ var y = parseInt(e.style.top);
49
+
50
+ e.style.left = (x + dx) + "px";
51
+ e.style.top = (y + dy) + "px";
52
+
53
+ this.updateBlocker();
54
+ },
55
+
56
+ moveTo : function(x, y) {
57
+ var e = this.getElement();
58
+
59
+ e.style.left = x + "px";
60
+ e.style.top = y + "px";
61
+
62
+ this.updateBlocker();
63
+ },
64
+
65
+ show : function() {
66
+ MCLayer.visibleLayer = this;
67
+
68
+ this.getElement().style.display = 'block';
69
+ this.updateBlocker();
70
+ },
71
+
72
+ hide : function() {
73
+ this.getElement().style.display = 'none';
74
+ this.updateBlocker();
75
+ },
76
+
77
+ setAutoHide : function(s, cb) {
78
+ this.autoHideCallback = cb;
79
+ this.registerEventHandlers();
80
+ },
81
+
82
+ getElement : function() {
83
+ return document.getElementById(this.id);
84
+ },
85
+
86
+ updateBlocker : function() {
87
+ if (!this.isMSIE)
88
+ return;
89
+
90
+ var e = this.getElement();
91
+ var b = this.getBlocker();
92
+ var x = this.parseInt(e.style.left);
93
+ var y = this.parseInt(e.style.top);
94
+ var w = this.parseInt(e.offsetWidth);
95
+ var h = this.parseInt(e.offsetHeight);
96
+
97
+ b.style.left = x + 'px';
98
+ b.style.top = y + 'px';
99
+ b.style.width = w + 'px';
100
+ b.style.height = h + 'px';
101
+ b.style.display = e.style.display;
102
+ },
103
+
104
+ getBlocker : function() {
105
+ if (!this.blockerElement) {
106
+ var d = document, b = d.createElement("iframe");
107
+
108
+ b.style.cssText = 'display: none; left: 0px; position: absolute; top: 0';
109
+ b.src = 'javascript:false;';
110
+ b.frameBorder = '0';
111
+ b.scrolling = 'no';
112
+
113
+ d.body.appendChild(b);
114
+ this.blockerElement = b;
115
+ }
116
+
117
+ return this.blockerElement;
118
+ },
119
+
120
+ getAbsPosition : function(n) {
121
+ var p = {absLeft : 0, absTop : 0};
122
+
123
+ while (n) {
124
+ p.absLeft += n.offsetLeft;
125
+ p.absTop += n.offsetTop;
126
+ n = n.offsetParent;
127
+ }
128
+
129
+ return p;
130
+ },
131
+
132
+ registerEventHandlers : function() {
133
+ if (!this.events) {
134
+ var d = document;
135
+
136
+ this.addEvent(d, 'mousedown', MCLayer.prototype.onMouseDown);
137
+
138
+ this.events = true;
139
+ }
140
+ },
141
+
142
+ addEvent : function(o, n, h) {
143
+ if (o.attachEvent)
144
+ o.attachEvent("on" + n, h);
145
+ else
146
+ o.addEventListener(n, h, false);
147
+ },
148
+
149
+ onMouseDown : function(e) {
150
+ e = typeof(e) == "undefined" ? window.event : e;
151
+ var b = document.body;
152
+ var l = MCLayer.visibleLayer;
153
+
154
+ if (l) {
155
+ var mx = l.isMSIE ? e.clientX + b.scrollLeft : e.pageX;
156
+ var my = l.isMSIE ? e.clientY + b.scrollTop : e.pageY;
157
+ var el = l.getElement();
158
+ var x = parseInt(el.style.left);
159
+ var y = parseInt(el.style.top);
160
+ var w = parseInt(el.offsetWidth);
161
+ var h = parseInt(el.offsetHeight);
162
+
163
+ if (!(mx > x && mx < x + w && my > y && my < y + h)) {
164
+ MCLayer.visibleLayer = null;
165
+
166
+ if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my))
167
+ return true;
168
+
169
+ l.hide();
170
+ }
171
+ }
172
+ },
173
+
174
+ addCSSClass : function(e, c) {
175
+ this.removeCSSClass(e, c);
176
+ var a = this.explode(' ', e.className);
177
+ a[a.length] = c;
178
+ e.className = a.join(' ');
179
+ },
180
+
181
+ removeCSSClass : function(e, c) {
182
+ var a = this.explode(' ', e.className), i;
183
+
184
+ for (i=0; i<a.length; i++) {
185
+ if (a[i] == c)
186
+ a[i] = '';
187
+ }
188
+
189
+ e.className = a.join(' ');
190
+ },
191
+
192
+ explode : function(d, s) {
193
+ var ar = s.split(d);
194
+ var oar = new Array();
195
+
196
+ for (var i = 0; i<ar.length; i++) {
197
+ if (ar[i] != "")
198
+ oar[oar.length] = ar[i];
199
+ }
200
+
201
+ return oar;
202
+ },
203
+
204
+ parseInt : function(s) {
205
+ if (s == null || s == '')
206
+ return 0;
207
+
208
+ return parseInt(s);
209
+ }
210
+ }
utils/mctabs.js ADDED
@@ -0,0 +1,74 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * $Id: mctabs.js 520 2008-01-07 16:30:32Z spocke $
3
+ *
4
+ * Moxiecode DHTML Tabs script.
5
+ *
6
+ * @author Moxiecode
7
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
8
+ */
9
+
10
+ function MCTabs() {
11
+ this.settings = new Array();
12
+ };
13
+
14
+ MCTabs.prototype.init = function(settings) {
15
+ this.settings = settings;
16
+ };
17
+
18
+ MCTabs.prototype.getParam = function(name, default_value) {
19
+ var value = null;
20
+
21
+ value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];
22
+
23
+ // Fix bool values
24
+ if (value == "true" || value == "false")
25
+ return (value == "true");
26
+
27
+ return value;
28
+ };
29
+
30
+ MCTabs.prototype.displayTab = function(tab_id, panel_id) {
31
+ var panelElm = document.getElementById(panel_id);
32
+ var panelContainerElm = panelElm ? panelElm.parentNode : null;
33
+ var tabElm = document.getElementById(tab_id);
34
+ var tabContainerElm = tabElm ? tabElm.parentNode : null;
35
+ var selectionClass = this.getParam('selection_class', 'current');
36
+
37
+ if (tabElm && tabContainerElm) {
38
+ var nodes = tabContainerElm.childNodes;
39
+
40
+ // Hide all other tabs
41
+ for (var i=0; i<nodes.length; i++) {
42
+ if (nodes[i].nodeName == "LI")
43
+ nodes[i].className = '';
44
+ }
45
+
46
+ // Show selected tab
47
+ tabElm.className = 'current';
48
+ }
49
+
50
+ if (panelElm && panelContainerElm) {
51
+ var nodes = panelContainerElm.childNodes;
52
+
53
+ // Hide all other panels
54
+ for (var i=0; i<nodes.length; i++) {
55
+ if (nodes[i].nodeName == "DIV")
56
+ nodes[i].className = 'panel';
57
+ }
58
+
59
+ // Show selected panel
60
+ panelElm.className = 'current';
61
+ }
62
+ };
63
+
64
+ MCTabs.prototype.getAnchor = function() {
65
+ var pos, url = document.location.href;
66
+
67
+ if ((pos = url.lastIndexOf('#')) != -1)
68
+ return url.substring(pos + 1);
69
+
70
+ return "";
71
+ };
72
+
73
+ // Global instance
74
+ var mcTabs = new MCTabs();
utils/validate.js ADDED
@@ -0,0 +1,219 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * $Id: validate.js 673 2008-03-06 13:26:20Z spocke $
3
+ *
4
+ * Various form validation methods.
5
+ *
6
+ * @author Moxiecode
7
+ * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved.
8
+ */
9
+
10
+ /**
11
+ // String validation:
12
+
13
+ if (!Validator.isEmail('myemail'))
14
+ alert('Invalid email.');
15
+
16
+ // Form validation:
17
+
18
+ var f = document.forms['myform'];
19
+
20
+ if (!Validator.isEmail(f.myemail))
21
+ alert('Invalid email.');
22
+ */
23
+
24
+ var Validator = {
25
+ isEmail : function(s) {
26
+ return this.test(s, '^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+@[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$');
27
+ },
28
+
29
+ isAbsUrl : function(s) {
30
+ return this.test(s, '^(news|telnet|nttp|file|http|ftp|https)://[-A-Za-z0-9\\.]+\\/?.*$');
31
+ },
32
+
33
+ isSize : function(s) {
34
+ return this.test(s, '^[0-9]+(%|in|cm|mm|em|ex|pt|pc|px)?$');
35
+ },
36
+
37
+ isId : function(s) {
38
+ return this.test(s, '^[A-Za-z_]([A-Za-z0-9_])*$');
39
+ },
40
+
41
+ isEmpty : function(s) {
42
+ var nl, i;
43
+
44
+ if (s.nodeName == 'SELECT' && s.selectedIndex < 1)
45
+ return true;
46
+
47
+ if (s.type == 'checkbox' && !s.checked)
48
+ return true;
49
+
50
+ if (s.type == 'radio') {
51
+ for (i=0, nl = s.form.elements; i<nl.length; i++) {
52
+ if (nl[i].type == "radio" && nl[i].name == s.name && nl[i].checked)
53
+ return false;
54
+ }
55
+
56
+ return true;
57
+ }
58
+
59
+ return new RegExp('^\\s*$').test(s.nodeType == 1 ? s.value : s);
60
+ },
61
+
62
+ isNumber : function(s, d) {
63
+ return !isNaN(s.nodeType == 1 ? s.value : s) && (!d || !this.test(s, '^-?[0-9]*\\.[0-9]*$'));
64
+ },
65
+
66
+ test : function(s, p) {
67
+ s = s.nodeType == 1 ? s.value : s;
68
+
69
+ return s == '' || new RegExp(p).test(s);
70
+ }
71
+ };
72
+
73
+ var AutoValidator = {
74
+ settings : {
75
+ id_cls : 'id',
76
+ int_cls : 'int',
77
+ url_cls : 'url',
78
+ number_cls : 'number',
79
+ email_cls : 'email',
80
+ size_cls : 'size',
81
+ required_cls : 'required',
82
+ invalid_cls : 'invalid',
83
+ min_cls : 'min',
84
+ max_cls : 'max'
85
+ },
86
+
87
+ init : function(s) {
88
+ var n;
89
+
90
+ for (n in s)
91
+ this.settings[n] = s[n];
92
+ },
93
+
94
+ validate : function(f) {
95
+ var i, nl, s = this.settings, c = 0;
96
+
97
+ nl = this.tags(f, 'label');
98
+ for (i=0; i<nl.length; i++)
99
+ this.removeClass(nl[i], s.invalid_cls);
100
+
101
+ c += this.validateElms(f, 'input');
102
+ c += this.validateElms(f, 'select');
103
+ c += this.validateElms(f, 'textarea');
104
+
105
+ return c == 3;
106
+ },
107
+
108
+ invalidate : function(n) {
109
+ this.mark(n.form, n);
110
+ },
111
+
112
+ reset : function(e) {
113
+ var t = new Array('label', 'input', 'select', 'textarea');
114
+ var i, j, nl, s = this.settings;
115
+
116
+ if (e == null)
117
+ return;
118
+
119
+ for (i=0; i<t.length; i++) {
120
+ nl = this.tags(e.form ? e.form : e, t[i]);
121
+ for (j=0; j<nl.length; j++)
122
+ this.removeClass(nl[j], s.invalid_cls);
123
+ }
124
+ },
125
+
126
+ validateElms : function(f, e) {
127
+ var nl, i, n, s = this.settings, st = true, va = Validator, v;
128
+
129
+ nl = this.tags(f, e);
130
+ for (i=0; i<nl.length; i++) {
131
+ n = nl[i];
132
+
133
+ this.removeClass(n, s.invalid_cls);
134
+
135
+ if (this.hasClass(n, s.required_cls) && va.isEmpty(n))
136
+ st = this.mark(f, n);
137
+
138
+ if (this.hasClass(n, s.number_cls) && !va.isNumber(n))
139
+ st = this.mark(f, n);
140
+
141
+ if (this.hasClass(n, s.int_cls) && !va.isNumber(n, true))
142
+ st = this.mark(f, n);
143
+
144
+ if (this.hasClass(n, s.url_cls) && !va.isAbsUrl(n))
145
+ st = this.mark(f, n);
146
+
147
+ if (this.hasClass(n, s.email_cls) && !va.isEmail(n))
148
+ st = this.mark(f, n);
149
+
150
+ if (this.hasClass(n, s.size_cls) && !va.isSize(n))
151
+ st = this.mark(f, n);
152
+
153
+ if (this.hasClass(n, s.id_cls) && !va.isId(n))
154
+ st = this.mark(f, n);
155
+
156
+ if (this.hasClass(n, s.min_cls, true)) {
157
+ v = this.getNum(n, s.min_cls);
158
+
159
+ if (isNaN(v) || parseInt(n.value) < parseInt(v))
160
+ st = this.mark(f, n);
161
+ }
162
+
163
+ if (this.hasClass(n, s.max_cls, true)) {
164
+ v = this.getNum(n, s.max_cls);
165
+
166
+ if (isNaN(v) || parseInt(n.value) > parseInt(v))
167
+ st = this.mark(f, n);
168
+ }
169
+ }
170
+
171
+ return st;
172
+ },
173
+
174
+ hasClass : function(n, c, d) {
175
+ return new RegExp('\\b' + c + (d ? '[0-9]+' : '') + '\\b', 'g').test(n.className);
176
+ },
177
+
178
+ getNum : function(n, c) {
179
+ c = n.className.match(new RegExp('\\b' + c + '([0-9]+)\\b', 'g'))[0];
180
+ c = c.replace(/[^0-9]/g, '');
181
+
182
+ return c;
183
+ },
184
+
185
+ addClass : function(n, c, b) {
186
+ var o = this.removeClass(n, c);
187
+ n.className = b ? c + (o != '' ? (' ' + o) : '') : (o != '' ? (o + ' ') : '') + c;
188
+ },
189
+
190
+ removeClass : function(n, c) {
191
+ c = n.className.replace(new RegExp("(^|\\s+)" + c + "(\\s+|$)"), ' ');
192
+ return n.className = c != ' ' ? c : '';
193
+ },
194
+
195
+ tags : function(f, s) {
196
+ return f.getElementsByTagName(s);
197
+ },
198
+
199
+ mark : function(f, n) {
200
+ var s = this.settings;
201
+
202
+ this.addClass(n, s.invalid_cls);
203
+ this.markLabels(f, n, s.invalid_cls);
204
+
205
+ return false;
206
+ },
207
+
208
+ markLabels : function(f, n, ic) {
209
+ var nl, i;
210
+
211
+ nl = this.tags(f, "label");
212
+ for (i=0; i<nl.length; i++) {
213
+ if (nl[i].getAttribute("for") == n.id || nl[i].htmlFor == n.id)
214
+ this.addClass(nl[i], ic);
215
+ }
216
+
217
+ return null;
218
+ }
219
+ };