spree_editor 0.30.1 → 0.40.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (340) hide show
  1. data/.gitignore +1 -0
  2. data/README.md +4 -10
  3. data/app/controllers/admin/editor_settings_controller.rb +14 -0
  4. data/app/views/admin/editor_settings/edit.html.erb +23 -0
  5. data/app/views/admin/editor_settings/show.html.erb +20 -0
  6. data/app/views/shared/_rich_editor_javascript.html.erb +8 -0
  7. data/app/views/shared/editor_engines/_tiny_mce.html.erb +56 -0
  8. data/app/views/shared/editor_engines/_wym_editor.html.erb +8 -0
  9. data/app/views/shared/editor_engines/_yui_rich_editor.html.erb +172 -0
  10. data/config/locales/en.yml +36 -11
  11. data/config/locales/ru.yml +41 -16
  12. data/config/routes.rb +3 -1
  13. data/lib/editor_configuration.rb +5 -0
  14. data/lib/spree/editor/config.rb +22 -0
  15. data/lib/spree_editor.rb +1 -5
  16. data/lib/spree_editor_hooks.rb +16 -1
  17. data/public/javascripts/jquery.ocupload.js +7 -6
  18. data/public/javascripts/tinymce/jquery.tinymce.js +1 -0
  19. data/public/javascripts/tinymce/langs/en.js +170 -0
  20. data/public/javascripts/tinymce/license.txt +504 -0
  21. data/public/javascripts/tinymce/plugins/advhr/css/advhr.css +5 -0
  22. data/public/javascripts/tinymce/plugins/advhr/editor_plugin.js +1 -0
  23. data/public/javascripts/tinymce/plugins/advhr/editor_plugin_src.js +57 -0
  24. data/public/javascripts/tinymce/plugins/advhr/js/rule.js +43 -0
  25. data/public/javascripts/tinymce/plugins/advhr/langs/en_dlg.js +5 -0
  26. data/public/javascripts/tinymce/plugins/advhr/rule.htm +57 -0
  27. data/public/javascripts/tinymce/plugins/advimage/css/advimage.css +13 -0
  28. data/public/javascripts/tinymce/plugins/advimage/editor_plugin.js +1 -0
  29. data/public/javascripts/tinymce/plugins/advimage/editor_plugin_src.js +50 -0
  30. data/public/javascripts/tinymce/plugins/advimage/image.htm +232 -0
  31. data/public/javascripts/tinymce/plugins/advimage/img/sample.gif +0 -0
  32. data/public/javascripts/tinymce/plugins/advimage/js/image.js +443 -0
  33. data/public/javascripts/tinymce/plugins/advimage/langs/en_dlg.js +43 -0
  34. data/public/javascripts/tinymce/plugins/advlink/css/advlink.css +8 -0
  35. data/public/javascripts/tinymce/plugins/advlink/editor_plugin.js +1 -0
  36. data/public/javascripts/tinymce/plugins/advlink/editor_plugin_src.js +61 -0
  37. data/public/javascripts/tinymce/plugins/advlink/js/advlink.js +528 -0
  38. data/public/javascripts/tinymce/plugins/advlink/langs/en_dlg.js +52 -0
  39. data/public/javascripts/tinymce/plugins/advlink/link.htm +333 -0
  40. data/public/javascripts/tinymce/plugins/advlist/editor_plugin.js +1 -0
  41. data/public/javascripts/tinymce/plugins/advlist/editor_plugin_src.js +154 -0
  42. data/public/javascripts/tinymce/plugins/autoresize/editor_plugin.js +1 -0
  43. data/public/javascripts/tinymce/plugins/autoresize/editor_plugin_src.js +119 -0
  44. data/public/javascripts/tinymce/plugins/autosave/editor_plugin.js +1 -0
  45. data/public/javascripts/tinymce/plugins/autosave/editor_plugin_src.js +422 -0
  46. data/public/javascripts/tinymce/plugins/autosave/langs/en.js +4 -0
  47. data/public/javascripts/tinymce/plugins/bbcode/editor_plugin.js +1 -0
  48. data/public/javascripts/tinymce/plugins/bbcode/editor_plugin_src.js +120 -0
  49. data/public/javascripts/tinymce/plugins/contextmenu/editor_plugin.js +1 -0
  50. data/public/javascripts/tinymce/plugins/contextmenu/editor_plugin_src.js +147 -0
  51. data/public/javascripts/tinymce/plugins/directionality/editor_plugin.js +1 -0
  52. data/public/javascripts/tinymce/plugins/directionality/editor_plugin_src.js +82 -0
  53. data/public/javascripts/tinymce/plugins/emotions/editor_plugin.js +1 -0
  54. data/public/javascripts/tinymce/plugins/emotions/editor_plugin_src.js +43 -0
  55. data/public/javascripts/tinymce/plugins/emotions/emotions.htm +40 -0
  56. data/public/javascripts/tinymce/plugins/emotions/img/smiley-cool.gif +0 -0
  57. data/public/javascripts/tinymce/plugins/emotions/img/smiley-cry.gif +0 -0
  58. data/public/javascripts/tinymce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  59. data/public/javascripts/tinymce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  60. data/public/javascripts/tinymce/plugins/emotions/img/smiley-frown.gif +0 -0
  61. data/public/javascripts/tinymce/plugins/emotions/img/smiley-innocent.gif +0 -0
  62. data/public/javascripts/tinymce/plugins/emotions/img/smiley-kiss.gif +0 -0
  63. data/public/javascripts/tinymce/plugins/emotions/img/smiley-laughing.gif +0 -0
  64. data/public/javascripts/tinymce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  65. data/public/javascripts/tinymce/plugins/emotions/img/smiley-sealed.gif +0 -0
  66. data/public/javascripts/tinymce/plugins/emotions/img/smiley-smile.gif +0 -0
  67. data/public/javascripts/tinymce/plugins/emotions/img/smiley-surprised.gif +0 -0
  68. data/public/javascripts/tinymce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  69. data/public/javascripts/tinymce/plugins/emotions/img/smiley-undecided.gif +0 -0
  70. data/public/javascripts/tinymce/plugins/emotions/img/smiley-wink.gif +0 -0
  71. data/public/javascripts/tinymce/plugins/emotions/img/smiley-yell.gif +0 -0
  72. data/public/javascripts/tinymce/plugins/emotions/js/emotions.js +22 -0
  73. data/public/javascripts/tinymce/plugins/emotions/langs/en_dlg.js +20 -0
  74. data/public/javascripts/tinymce/plugins/example/dialog.htm +22 -0
  75. data/public/javascripts/tinymce/plugins/example/editor_plugin.js +1 -0
  76. data/public/javascripts/tinymce/plugins/example/editor_plugin_src.js +84 -0
  77. data/public/javascripts/tinymce/plugins/example/img/example.gif +0 -0
  78. data/public/javascripts/tinymce/plugins/example/js/dialog.js +19 -0
  79. data/public/javascripts/tinymce/plugins/example/langs/en.js +3 -0
  80. data/public/javascripts/tinymce/plugins/example/langs/en_dlg.js +3 -0
  81. data/public/javascripts/tinymce/plugins/fullpage/css/fullpage.css +182 -0
  82. data/public/javascripts/tinymce/plugins/fullpage/editor_plugin.js +1 -0
  83. data/public/javascripts/tinymce/plugins/fullpage/editor_plugin_src.js +153 -0
  84. data/public/javascripts/tinymce/plugins/fullpage/fullpage.htm +571 -0
  85. data/public/javascripts/tinymce/plugins/fullpage/js/fullpage.js +471 -0
  86. data/public/javascripts/tinymce/plugins/fullpage/langs/en_dlg.js +85 -0
  87. data/public/javascripts/tinymce/plugins/fullscreen/editor_plugin.js +1 -0
  88. data/public/javascripts/tinymce/plugins/fullscreen/editor_plugin_src.js +151 -0
  89. data/public/javascripts/tinymce/plugins/fullscreen/fullscreen.htm +109 -0
  90. data/public/javascripts/tinymce/plugins/iespell/editor_plugin.js +1 -0
  91. data/public/javascripts/tinymce/plugins/iespell/editor_plugin_src.js +54 -0
  92. data/public/javascripts/tinymce/plugins/inlinepopups/editor_plugin.js +1 -0
  93. data/public/javascripts/tinymce/plugins/inlinepopups/editor_plugin_src.js +635 -0
  94. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  95. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  96. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  97. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  98. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  99. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  100. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  101. data/public/javascripts/tinymce/plugins/inlinepopups/skins/clearlooks2/window.css +100 -0
  102. data/public/javascripts/tinymce/plugins/inlinepopups/template.htm +387 -0
  103. data/public/javascripts/tinymce/plugins/insertdatetime/editor_plugin.js +1 -0
  104. data/public/javascripts/tinymce/plugins/insertdatetime/editor_plugin_src.js +83 -0
  105. data/public/javascripts/tinymce/plugins/layer/editor_plugin.js +1 -0
  106. data/public/javascripts/tinymce/plugins/layer/editor_plugin_src.js +212 -0
  107. data/public/javascripts/tinymce/plugins/legacyoutput/editor_plugin.js +1 -0
  108. data/public/javascripts/tinymce/plugins/legacyoutput/editor_plugin_src.js +136 -0
  109. data/public/javascripts/tinymce/plugins/media/css/content.css +6 -0
  110. data/public/javascripts/tinymce/plugins/media/css/media.css +16 -0
  111. data/public/javascripts/tinymce/plugins/media/editor_plugin.js +1 -0
  112. data/public/javascripts/tinymce/plugins/media/editor_plugin_src.js +414 -0
  113. data/public/javascripts/tinymce/plugins/media/img/flash.gif +0 -0
  114. data/public/javascripts/tinymce/plugins/media/img/flv_player.swf +0 -0
  115. data/public/javascripts/tinymce/plugins/media/img/quicktime.gif +0 -0
  116. data/public/javascripts/tinymce/plugins/media/img/realmedia.gif +0 -0
  117. data/public/javascripts/tinymce/plugins/media/img/shockwave.gif +0 -0
  118. data/public/javascripts/tinymce/plugins/media/img/trans.gif +0 -0
  119. data/public/javascripts/tinymce/plugins/media/img/windowsmedia.gif +0 -0
  120. data/public/javascripts/tinymce/plugins/media/js/embed.js +73 -0
  121. data/public/javascripts/tinymce/plugins/media/js/media.js +630 -0
  122. data/public/javascripts/tinymce/plugins/media/langs/en_dlg.js +103 -0
  123. data/public/javascripts/tinymce/plugins/media/media.htm +817 -0
  124. data/public/javascripts/tinymce/plugins/nonbreaking/editor_plugin.js +1 -0
  125. data/public/javascripts/tinymce/plugins/nonbreaking/editor_plugin_src.js +53 -0
  126. data/public/javascripts/tinymce/plugins/noneditable/editor_plugin.js +1 -0
  127. data/public/javascripts/tinymce/plugins/noneditable/editor_plugin_src.js +90 -0
  128. data/public/javascripts/tinymce/plugins/pagebreak/css/content.css +1 -0
  129. data/public/javascripts/tinymce/plugins/pagebreak/editor_plugin.js +1 -0
  130. data/public/javascripts/tinymce/plugins/pagebreak/editor_plugin_src.js +77 -0
  131. data/public/javascripts/tinymce/plugins/pagebreak/img/pagebreak.gif +0 -0
  132. data/public/javascripts/tinymce/plugins/pagebreak/img/trans.gif +0 -0
  133. data/public/javascripts/tinymce/plugins/paste/editor_plugin.js +1 -0
  134. data/public/javascripts/tinymce/plugins/paste/editor_plugin_src.js +952 -0
  135. data/public/javascripts/tinymce/plugins/paste/js/pastetext.js +36 -0
  136. data/public/javascripts/tinymce/plugins/paste/js/pasteword.js +51 -0
  137. data/public/javascripts/tinymce/plugins/paste/langs/en_dlg.js +5 -0
  138. data/public/javascripts/tinymce/plugins/paste/pastetext.htm +27 -0
  139. data/public/javascripts/tinymce/plugins/paste/pasteword.htm +21 -0
  140. data/public/javascripts/tinymce/plugins/preview/editor_plugin.js +1 -0
  141. data/public/javascripts/tinymce/plugins/preview/editor_plugin_src.js +53 -0
  142. data/public/javascripts/tinymce/plugins/preview/example.html +28 -0
  143. data/public/javascripts/tinymce/plugins/preview/jscripts/embed.js +73 -0
  144. data/public/javascripts/tinymce/plugins/preview/preview.html +17 -0
  145. data/public/javascripts/tinymce/plugins/print/editor_plugin.js +1 -0
  146. data/public/javascripts/tinymce/plugins/print/editor_plugin_src.js +34 -0
  147. data/public/javascripts/tinymce/plugins/save/editor_plugin.js +1 -0
  148. data/public/javascripts/tinymce/plugins/save/editor_plugin_src.js +101 -0
  149. data/public/javascripts/tinymce/plugins/searchreplace/css/searchreplace.css +6 -0
  150. data/public/javascripts/tinymce/plugins/searchreplace/editor_plugin.js +1 -0
  151. data/public/javascripts/tinymce/plugins/searchreplace/editor_plugin_src.js +57 -0
  152. data/public/javascripts/tinymce/plugins/searchreplace/js/searchreplace.js +138 -0
  153. data/public/javascripts/tinymce/plugins/searchreplace/langs/en_dlg.js +16 -0
  154. data/public/javascripts/tinymce/plugins/searchreplace/searchreplace.htm +99 -0
  155. data/public/javascripts/tinymce/plugins/spellchecker/css/content.css +1 -0
  156. data/public/javascripts/tinymce/plugins/spellchecker/editor_plugin.js +1 -0
  157. data/public/javascripts/tinymce/plugins/spellchecker/editor_plugin_src.js +417 -0
  158. data/public/javascripts/tinymce/plugins/spellchecker/img/wline.gif +0 -0
  159. data/public/javascripts/tinymce/plugins/style/css/props.css +13 -0
  160. data/public/javascripts/tinymce/plugins/style/editor_plugin.js +1 -0
  161. data/public/javascripts/tinymce/plugins/style/editor_plugin_src.js +55 -0
  162. data/public/javascripts/tinymce/plugins/style/js/props.js +641 -0
  163. data/public/javascripts/tinymce/plugins/style/langs/en_dlg.js +63 -0
  164. data/public/javascripts/tinymce/plugins/style/props.htm +723 -0
  165. data/public/javascripts/tinymce/plugins/tabfocus/editor_plugin.js +1 -0
  166. data/public/javascripts/tinymce/plugins/tabfocus/editor_plugin_src.js +112 -0
  167. data/public/javascripts/tinymce/plugins/table/cell.htm +178 -0
  168. data/public/javascripts/tinymce/plugins/table/css/cell.css +17 -0
  169. data/public/javascripts/tinymce/plugins/table/css/row.css +25 -0
  170. data/public/javascripts/tinymce/plugins/table/css/table.css +13 -0
  171. data/public/javascripts/tinymce/plugins/table/editor_plugin.js +1 -0
  172. data/public/javascripts/tinymce/plugins/table/editor_plugin_src.js +1139 -0
  173. data/public/javascripts/tinymce/plugins/table/js/cell.js +286 -0
  174. data/public/javascripts/tinymce/plugins/table/js/merge_cells.js +27 -0
  175. data/public/javascripts/tinymce/plugins/table/js/row.js +237 -0
  176. data/public/javascripts/tinymce/plugins/table/js/table.js +454 -0
  177. data/public/javascripts/tinymce/plugins/table/langs/en_dlg.js +74 -0
  178. data/public/javascripts/tinymce/plugins/table/merge_cells.htm +32 -0
  179. data/public/javascripts/tinymce/plugins/table/row.htm +155 -0
  180. data/public/javascripts/tinymce/plugins/table/table.htm +187 -0
  181. data/public/javascripts/tinymce/plugins/template/blank.htm +12 -0
  182. data/public/javascripts/tinymce/plugins/template/css/template.css +23 -0
  183. data/public/javascripts/tinymce/plugins/template/editor_plugin.js +1 -0
  184. data/public/javascripts/tinymce/plugins/template/editor_plugin_src.js +159 -0
  185. data/public/javascripts/tinymce/plugins/template/js/template.js +106 -0
  186. data/public/javascripts/tinymce/plugins/template/langs/en_dlg.js +15 -0
  187. data/public/javascripts/tinymce/plugins/template/template.htm +31 -0
  188. data/public/javascripts/tinymce/plugins/visualchars/editor_plugin.js +1 -0
  189. data/public/javascripts/tinymce/plugins/visualchars/editor_plugin_src.js +83 -0
  190. data/public/javascripts/tinymce/plugins/wordcount/editor_plugin.js +1 -0
  191. data/public/javascripts/tinymce/plugins/wordcount/editor_plugin_src.js +98 -0
  192. data/public/javascripts/tinymce/plugins/xhtmlxtras/abbr.htm +141 -0
  193. data/public/javascripts/tinymce/plugins/xhtmlxtras/acronym.htm +141 -0
  194. data/public/javascripts/tinymce/plugins/xhtmlxtras/attributes.htm +148 -0
  195. data/public/javascripts/tinymce/plugins/xhtmlxtras/cite.htm +141 -0
  196. data/public/javascripts/tinymce/plugins/xhtmlxtras/css/attributes.css +11 -0
  197. data/public/javascripts/tinymce/plugins/xhtmlxtras/css/popup.css +9 -0
  198. data/public/javascripts/tinymce/plugins/xhtmlxtras/del.htm +161 -0
  199. data/public/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  200. data/public/javascripts/tinymce/plugins/xhtmlxtras/editor_plugin_src.js +132 -0
  201. data/public/javascripts/tinymce/plugins/xhtmlxtras/ins.htm +161 -0
  202. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/abbr.js +28 -0
  203. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/acronym.js +28 -0
  204. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/attributes.js +126 -0
  205. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/cite.js +28 -0
  206. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/del.js +53 -0
  207. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/element_common.js +231 -0
  208. data/public/javascripts/tinymce/plugins/xhtmlxtras/js/ins.js +52 -0
  209. data/public/javascripts/tinymce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  210. data/public/javascripts/tinymce/themes/advanced/about.htm +54 -0
  211. data/public/javascripts/tinymce/themes/advanced/anchor.htm +26 -0
  212. data/public/javascripts/tinymce/themes/advanced/charmap.htm +52 -0
  213. data/public/javascripts/tinymce/themes/advanced/color_picker.htm +73 -0
  214. data/public/javascripts/tinymce/themes/advanced/editor_template.js +1 -0
  215. data/public/javascripts/tinymce/themes/advanced/editor_template_src.js +1229 -0
  216. data/public/javascripts/tinymce/themes/advanced/image.htm +80 -0
  217. data/public/javascripts/tinymce/themes/advanced/img/colorpicker.jpg +0 -0
  218. data/public/javascripts/tinymce/themes/advanced/img/icons.gif +0 -0
  219. data/public/javascripts/tinymce/themes/advanced/js/about.js +72 -0
  220. data/public/javascripts/tinymce/themes/advanced/js/anchor.js +37 -0
  221. data/public/javascripts/tinymce/themes/advanced/js/charmap.js +335 -0
  222. data/public/javascripts/tinymce/themes/advanced/js/color_picker.js +253 -0
  223. data/public/javascripts/tinymce/themes/advanced/js/image.js +245 -0
  224. data/public/javascripts/tinymce/themes/advanced/js/link.js +156 -0
  225. data/public/javascripts/tinymce/themes/advanced/js/source_editor.js +56 -0
  226. data/public/javascripts/tinymce/themes/advanced/langs/en.js +62 -0
  227. data/public/javascripts/tinymce/themes/advanced/langs/en_dlg.js +51 -0
  228. data/public/javascripts/tinymce/themes/advanced/link.htm +58 -0
  229. data/public/javascripts/tinymce/themes/advanced/skins/default/content.css +36 -0
  230. data/public/javascripts/tinymce/themes/advanced/skins/default/dialog.css +117 -0
  231. data/public/javascripts/tinymce/themes/advanced/skins/default/img/buttons.png +0 -0
  232. data/public/javascripts/tinymce/themes/advanced/skins/default/img/items.gif +0 -0
  233. data/public/javascripts/tinymce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  234. data/public/javascripts/tinymce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  235. data/public/javascripts/tinymce/themes/advanced/skins/default/img/progress.gif +0 -0
  236. data/public/javascripts/tinymce/themes/advanced/skins/default/img/tabs.gif +0 -0
  237. data/public/javascripts/tinymce/themes/advanced/skins/default/ui.css +213 -0
  238. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/content.css +36 -0
  239. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/dialog.css +116 -0
  240. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  241. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  242. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  243. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui.css +215 -0
  244. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  245. data/public/javascripts/tinymce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  246. data/public/javascripts/tinymce/themes/advanced/source_editor.htm +25 -0
  247. data/public/javascripts/tinymce/themes/simple/editor_template.js +1 -0
  248. data/public/javascripts/tinymce/themes/simple/editor_template_src.js +85 -0
  249. data/public/javascripts/tinymce/themes/simple/img/icons.gif +0 -0
  250. data/public/javascripts/tinymce/themes/simple/langs/en.js +11 -0
  251. data/public/javascripts/tinymce/themes/simple/skins/default/content.css +25 -0
  252. data/public/javascripts/tinymce/themes/simple/skins/default/ui.css +32 -0
  253. data/public/javascripts/tinymce/themes/simple/skins/o2k7/content.css +17 -0
  254. data/public/javascripts/tinymce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  255. data/public/javascripts/tinymce/themes/simple/skins/o2k7/ui.css +35 -0
  256. data/public/javascripts/tinymce/tiny_mce.js +1 -0
  257. data/public/javascripts/tinymce/tiny_mce_popup.js +5 -0
  258. data/public/javascripts/tinymce/tiny_mce_src.js +13394 -0
  259. data/public/javascripts/tinymce/utils/editable_selects.js +70 -0
  260. data/public/javascripts/tinymce/utils/form_utils.js +200 -0
  261. data/public/javascripts/tinymce/utils/mctabs.js +77 -0
  262. data/public/javascripts/tinymce/utils/validate.js +220 -0
  263. data/public/javascripts/wymeditor/iframe/default/lbl-blockquote.png +0 -0
  264. data/public/javascripts/wymeditor/iframe/default/lbl-h1.png +0 -0
  265. data/public/javascripts/wymeditor/iframe/default/lbl-h2.png +0 -0
  266. data/public/javascripts/wymeditor/iframe/default/lbl-h3.png +0 -0
  267. data/public/javascripts/wymeditor/iframe/default/lbl-h4.png +0 -0
  268. data/public/javascripts/wymeditor/iframe/default/lbl-h5.png +0 -0
  269. data/public/javascripts/wymeditor/iframe/default/lbl-h6.png +0 -0
  270. data/public/javascripts/wymeditor/iframe/default/lbl-p.png +0 -0
  271. data/public/javascripts/wymeditor/iframe/default/lbl-pre.png +0 -0
  272. data/public/javascripts/wymeditor/iframe/default/wymiframe.css +90 -0
  273. data/public/javascripts/wymeditor/iframe/default/wymiframe.html +26 -0
  274. data/public/javascripts/wymeditor/jquery.wymeditor.js +4688 -0
  275. data/public/javascripts/wymeditor/jquery.wymeditor.min.js +1 -0
  276. data/public/javascripts/wymeditor/jquery.wymeditor.pack.js +1 -0
  277. data/public/javascripts/wymeditor/lang/bg.js +45 -0
  278. data/public/javascripts/wymeditor/lang/ca.js +45 -0
  279. data/public/javascripts/wymeditor/lang/cs.js +45 -0
  280. data/public/javascripts/wymeditor/lang/cy.js +45 -0
  281. data/public/javascripts/wymeditor/lang/de.js +45 -0
  282. data/public/javascripts/wymeditor/lang/en.js +45 -0
  283. data/public/javascripts/wymeditor/lang/es.js +45 -0
  284. data/public/javascripts/wymeditor/lang/fa.js +46 -0
  285. data/public/javascripts/wymeditor/lang/fi.js +44 -0
  286. data/public/javascripts/wymeditor/lang/fr.js +45 -0
  287. data/public/javascripts/wymeditor/lang/gl.js +45 -0
  288. data/public/javascripts/wymeditor/lang/he.js +45 -0
  289. data/public/javascripts/wymeditor/lang/hr.js +45 -0
  290. data/public/javascripts/wymeditor/lang/hu.js +45 -0
  291. data/public/javascripts/wymeditor/lang/it.js +45 -0
  292. data/public/javascripts/wymeditor/lang/nb.js +45 -0
  293. data/public/javascripts/wymeditor/lang/nl.js +45 -0
  294. data/public/javascripts/wymeditor/lang/nn.js +45 -0
  295. data/public/javascripts/wymeditor/lang/pl.js +45 -0
  296. data/public/javascripts/wymeditor/lang/pt-br.js +45 -0
  297. data/public/javascripts/wymeditor/lang/pt.js +45 -0
  298. data/public/javascripts/wymeditor/lang/ru.js +45 -0
  299. data/public/javascripts/wymeditor/lang/sv.js +45 -0
  300. data/public/javascripts/wymeditor/lang/tr.js +45 -0
  301. data/public/javascripts/wymeditor/lang/zh_cn.js +47 -0
  302. data/public/javascripts/wymeditor/plugins/embed/jquery.wymeditor.embed.js +52 -0
  303. data/public/javascripts/wymeditor/plugins/fullscreen/icon_fullscreen.gif +0 -0
  304. data/public/javascripts/wymeditor/plugins/fullscreen/jquery.wymeditor.fullscreen.js +127 -0
  305. data/public/javascripts/wymeditor/plugins/hovertools/jquery.wymeditor.hovertools.js +57 -0
  306. data/public/javascripts/wymeditor/plugins/resizable/jquery.wymeditor.resizable.js +91 -0
  307. data/public/javascripts/wymeditor/plugins/resizable/readme.txt +124 -0
  308. data/public/javascripts/wymeditor/plugins/tidy/README +19 -0
  309. data/public/javascripts/wymeditor/plugins/tidy/jquery.wymeditor.tidy.js +82 -0
  310. data/public/javascripts/wymeditor/plugins/tidy/tidy.php +36 -0
  311. data/public/javascripts/wymeditor/plugins/tidy/wand.png +0 -0
  312. data/public/javascripts/wymeditor/skins/compact/icons.png +0 -0
  313. data/public/javascripts/wymeditor/skins/compact/skin.css +134 -0
  314. data/public/javascripts/wymeditor/skins/compact/skin.js +35 -0
  315. data/public/javascripts/wymeditor/skins/default/icons.png +0 -0
  316. data/public/javascripts/wymeditor/skins/default/skin.css +133 -0
  317. data/public/javascripts/wymeditor/skins/default/skin.js +40 -0
  318. data/public/javascripts/wymeditor/skins/minimal/images/bg.header.gif +0 -0
  319. data/public/javascripts/wymeditor/skins/minimal/images/bg.selector.silver.gif +0 -0
  320. data/public/javascripts/wymeditor/skins/minimal/images/bg.wymeditor.png +0 -0
  321. data/public/javascripts/wymeditor/skins/minimal/images/icons.silver.gif +0 -0
  322. data/public/javascripts/wymeditor/skins/minimal/skin.css +131 -0
  323. data/public/javascripts/wymeditor/skins/minimal/skin.js +30 -0
  324. data/public/javascripts/wymeditor/skins/silver/COPYING +674 -0
  325. data/public/javascripts/wymeditor/skins/silver/README +27 -0
  326. data/public/javascripts/wymeditor/skins/silver/images/bg.header.gif +0 -0
  327. data/public/javascripts/wymeditor/skins/silver/images/bg.selector.silver.gif +0 -0
  328. data/public/javascripts/wymeditor/skins/silver/images/bg.wymeditor.png +0 -0
  329. data/public/javascripts/wymeditor/skins/silver/images/icons.silver.gif +0 -0
  330. data/public/javascripts/wymeditor/skins/silver/skin.css +297 -0
  331. data/public/javascripts/wymeditor/skins/silver/skin.js +61 -0
  332. data/public/javascripts/wymeditor/skins/twopanels/icons.png +0 -0
  333. data/public/javascripts/wymeditor/skins/twopanels/skin.css +134 -0
  334. data/public/javascripts/wymeditor/skins/twopanels/skin.js +39 -0
  335. data/public/javascripts/wymeditor/skins/wymeditor_icon.png +0 -0
  336. data/public/stylesheets/editor.css +10 -2
  337. data/spree_editor.gemspec +6 -6
  338. metadata +338 -11
  339. data/app/views/shared/_editor.html.erb +0 -208
  340. data/lib/helpers/editor_helper.rb +0 -10
@@ -0,0 +1,443 @@
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.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" />', {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.length = 0;
276
+ lst.options[lst.options.length] = new Option(tinyMCEPopup.getLang('not_set'), '');
277
+
278
+ tinymce.each(cl, function(o) {
279
+ lst.options[lst.options.length] = new Option(o.title || o['class'], o['class']);
280
+ });
281
+ } else
282
+ dom.remove(dom.getParent(id, 'tr'));
283
+ },
284
+
285
+ fillFileList : function(id, l) {
286
+ var dom = tinyMCEPopup.dom, lst = dom.get(id), v, cl;
287
+
288
+ l = window[l];
289
+ lst.options.length = 0;
290
+
291
+ if (l && l.length > 0) {
292
+ lst.options[lst.options.length] = new Option('', '');
293
+
294
+ tinymce.each(l, function(o) {
295
+ lst.options[lst.options.length] = new Option(o[0], o[1]);
296
+ });
297
+ } else
298
+ dom.remove(dom.getParent(id, 'tr'));
299
+ },
300
+
301
+ resetImageData : function() {
302
+ var f = document.forms[0];
303
+
304
+ f.elements.width.value = f.elements.height.value = '';
305
+ },
306
+
307
+ updateImageData : function(img, st) {
308
+ var f = document.forms[0];
309
+
310
+ if (!st) {
311
+ f.elements.width.value = img.width;
312
+ f.elements.height.value = img.height;
313
+ }
314
+
315
+ this.preloadImg = img;
316
+ },
317
+
318
+ changeAppearance : function() {
319
+ var ed = tinyMCEPopup.editor, f = document.forms[0], img = document.getElementById('alignSampleImg');
320
+
321
+ if (img) {
322
+ if (ed.getParam('inline_styles')) {
323
+ ed.dom.setAttrib(img, 'style', f.style.value);
324
+ } else {
325
+ img.align = f.align.value;
326
+ img.border = f.border.value;
327
+ img.hspace = f.hspace.value;
328
+ img.vspace = f.vspace.value;
329
+ }
330
+ }
331
+ },
332
+
333
+ changeHeight : function() {
334
+ var f = document.forms[0], tp, t = this;
335
+
336
+ if (!f.constrain.checked || !t.preloadImg) {
337
+ return;
338
+ }
339
+
340
+ if (f.width.value == "" || f.height.value == "")
341
+ return;
342
+
343
+ tp = (parseInt(f.width.value) / parseInt(t.preloadImg.width)) * t.preloadImg.height;
344
+ f.height.value = tp.toFixed(0);
345
+ },
346
+
347
+ changeWidth : function() {
348
+ var f = document.forms[0], tp, t = this;
349
+
350
+ if (!f.constrain.checked || !t.preloadImg) {
351
+ return;
352
+ }
353
+
354
+ if (f.width.value == "" || f.height.value == "")
355
+ return;
356
+
357
+ tp = (parseInt(f.height.value) / parseInt(t.preloadImg.height)) * t.preloadImg.width;
358
+ f.width.value = tp.toFixed(0);
359
+ },
360
+
361
+ updateStyle : function(ty) {
362
+ var dom = tinyMCEPopup.dom, st, v, f = document.forms[0], img = dom.create('img', {style : dom.get('style').value});
363
+
364
+ if (tinyMCEPopup.editor.settings.inline_styles) {
365
+ // Handle align
366
+ if (ty == 'align') {
367
+ dom.setStyle(img, 'float', '');
368
+ dom.setStyle(img, 'vertical-align', '');
369
+
370
+ v = getSelectValue(f, 'align');
371
+ if (v) {
372
+ if (v == 'left' || v == 'right')
373
+ dom.setStyle(img, 'float', v);
374
+ else
375
+ img.style.verticalAlign = v;
376
+ }
377
+ }
378
+
379
+ // Handle border
380
+ if (ty == 'border') {
381
+ dom.setStyle(img, 'border', '');
382
+
383
+ v = f.border.value;
384
+ if (v || v == '0') {
385
+ if (v == '0')
386
+ img.style.border = '0';
387
+ else
388
+ img.style.border = v + 'px solid black';
389
+ }
390
+ }
391
+
392
+ // Handle hspace
393
+ if (ty == 'hspace') {
394
+ dom.setStyle(img, 'marginLeft', '');
395
+ dom.setStyle(img, 'marginRight', '');
396
+
397
+ v = f.hspace.value;
398
+ if (v) {
399
+ img.style.marginLeft = v + 'px';
400
+ img.style.marginRight = v + 'px';
401
+ }
402
+ }
403
+
404
+ // Handle vspace
405
+ if (ty == 'vspace') {
406
+ dom.setStyle(img, 'marginTop', '');
407
+ dom.setStyle(img, 'marginBottom', '');
408
+
409
+ v = f.vspace.value;
410
+ if (v) {
411
+ img.style.marginTop = v + 'px';
412
+ img.style.marginBottom = v + 'px';
413
+ }
414
+ }
415
+
416
+ // Merge
417
+ dom.get('style').value = dom.serializeStyle(dom.parseStyle(img.style.cssText), 'img');
418
+ }
419
+ },
420
+
421
+ changeMouseMove : function() {
422
+ },
423
+
424
+ showPreviewImage : function(u, st) {
425
+ if (!u) {
426
+ tinyMCEPopup.dom.setHTML('prev', '');
427
+ return;
428
+ }
429
+
430
+ if (!st && tinyMCEPopup.getParam("advimage_update_dimensions_onchange", true))
431
+ this.resetImageData();
432
+
433
+ u = tinyMCEPopup.editor.documentBaseURI.toAbsolute(u);
434
+
435
+ if (!st)
436
+ tinyMCEPopup.dom.setHTML('prev', '<img id="previewImg" src="' + u + '" border="0" onload="ImageDialog.updateImageData(this);" onerror="ImageDialog.resetImageData();" />');
437
+ else
438
+ tinyMCEPopup.dom.setHTML('prev', '<img id="previewImg" src="' + u + '" border="0" onload="ImageDialog.updateImageData(this, 1);" />');
439
+ }
440
+ };
441
+
442
+ ImageDialog.preInit();
443
+ tinyMCEPopup.onInit.add(ImageDialog.init, ImageDialog);
@@ -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
+ });
@@ -0,0 +1,8 @@
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;}
@@ -0,0 +1 @@
1
+ (function(){tinymce.create("tinymce.plugins.AdvancedLinkPlugin",{init:function(a,b){this.editor=a;a.addCommand("mceAdvLink",function(){var c=a.selection;if(c.isCollapsed()&&!a.dom.getParent(c.getNode(),"A")){return}a.windowManager.open({file:b+"/link.htm",width:480+parseInt(a.getLang("advlink.delta_width",0)),height:400+parseInt(a.getLang("advlink.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("link",{title:"advlink.link_desc",cmd:"mceAdvLink"});a.addShortcut("ctrl+k","advlink.advlink_desc","mceAdvLink");a.onNodeChange.add(function(d,c,f,e){c.setDisabled("link",e&&f.nodeName!="A");c.setActive("link",f.nodeName=="A"&&!f.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)})();
@@ -0,0 +1,61 @@
1
+ /**
2
+ * editor_plugin_src.js
3
+ *
4
+ * Copyright 2009, Moxiecode Systems AB
5
+ * Released under LGPL License.
6
+ *
7
+ * License: http://tinymce.moxiecode.com/license
8
+ * Contributing: http://tinymce.moxiecode.com/contributing
9
+ */
10
+
11
+ (function() {
12
+ tinymce.create('tinymce.plugins.AdvancedLinkPlugin', {
13
+ init : function(ed, url) {
14
+ this.editor = ed;
15
+
16
+ // Register commands
17
+ ed.addCommand('mceAdvLink', function() {
18
+ var se = ed.selection;
19
+
20
+ // No selection and not in link
21
+ if (se.isCollapsed() && !ed.dom.getParent(se.getNode(), 'A'))
22
+ return;
23
+
24
+ ed.windowManager.open({
25
+ file : url + '/link.htm',
26
+ width : 480 + parseInt(ed.getLang('advlink.delta_width', 0)),
27
+ height : 400 + parseInt(ed.getLang('advlink.delta_height', 0)),
28
+ inline : 1
29
+ }, {
30
+ plugin_url : url
31
+ });
32
+ });
33
+
34
+ // Register buttons
35
+ ed.addButton('link', {
36
+ title : 'advlink.link_desc',
37
+ cmd : 'mceAdvLink'
38
+ });
39
+
40
+ ed.addShortcut('ctrl+k', 'advlink.advlink_desc', 'mceAdvLink');
41
+
42
+ ed.onNodeChange.add(function(ed, cm, n, co) {
43
+ cm.setDisabled('link', co && n.nodeName != 'A');
44
+ cm.setActive('link', n.nodeName == 'A' && !n.name);
45
+ });
46
+ },
47
+
48
+ getInfo : function() {
49
+ return {
50
+ longname : 'Advanced link',
51
+ author : 'Moxiecode Systems AB',
52
+ authorurl : 'http://tinymce.moxiecode.com',
53
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advlink',
54
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
55
+ };
56
+ }
57
+ });
58
+
59
+ // Register plugin
60
+ tinymce.PluginManager.add('advlink', tinymce.plugins.AdvancedLinkPlugin);
61
+ })();