rostra 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (290) hide show
  1. data/README.rdoc +18 -7
  2. data/app/assets/images/rostra/anonymous_avatar.png +0 -0
  3. data/app/assets/javascripts/rostra/application.js +64 -8
  4. data/app/assets/javascripts/rostra/tiny_mce/jquery.tinymce.js +1 -0
  5. data/app/assets/javascripts/rostra/tiny_mce/langs/en.js +1 -0
  6. data/app/assets/javascripts/rostra/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  7. data/app/assets/javascripts/rostra/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  8. data/app/assets/javascripts/rostra/tiny_mce/plugins/advhr/editor_plugin_src.js +57 -0
  9. data/app/assets/javascripts/rostra/tiny_mce/plugins/advhr/js/rule.js +43 -0
  10. data/app/assets/javascripts/rostra/tiny_mce/plugins/advhr/langs/en_dlg.js +1 -0
  11. data/app/assets/javascripts/rostra/tiny_mce/plugins/advhr/rule.htm +58 -0
  12. data/app/assets/javascripts/rostra/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  13. data/app/assets/javascripts/rostra/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  14. data/app/assets/javascripts/rostra/tiny_mce/plugins/advimage/editor_plugin_src.js +50 -0
  15. data/app/assets/javascripts/rostra/tiny_mce/plugins/advimage/image.htm +235 -0
  16. data/app/assets/javascripts/rostra/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  17. data/app/assets/javascripts/rostra/tiny_mce/plugins/advimage/js/image.js +462 -0
  18. data/app/assets/javascripts/rostra/tiny_mce/plugins/advimage/langs/en_dlg.js +1 -0
  19. data/app/assets/javascripts/rostra/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  20. data/app/assets/javascripts/rostra/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  21. data/app/assets/javascripts/rostra/tiny_mce/plugins/advlink/editor_plugin_src.js +61 -0
  22. data/app/assets/javascripts/rostra/tiny_mce/plugins/advlink/js/advlink.js +532 -0
  23. data/app/assets/javascripts/rostra/tiny_mce/plugins/advlink/langs/en_dlg.js +1 -0
  24. data/app/assets/javascripts/rostra/tiny_mce/plugins/advlink/link.htm +338 -0
  25. data/app/assets/javascripts/rostra/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
  26. data/app/assets/javascripts/rostra/tiny_mce/plugins/advlist/editor_plugin_src.js +176 -0
  27. data/app/assets/javascripts/rostra/tiny_mce/plugins/autolink/editor_plugin.js +1 -0
  28. data/app/assets/javascripts/rostra/tiny_mce/plugins/autolink/editor_plugin_src.js +172 -0
  29. data/app/assets/javascripts/rostra/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
  30. data/app/assets/javascripts/rostra/tiny_mce/plugins/autoresize/editor_plugin_src.js +137 -0
  31. data/app/assets/javascripts/rostra/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  32. data/app/assets/javascripts/rostra/tiny_mce/plugins/autosave/editor_plugin_src.js +431 -0
  33. data/app/assets/javascripts/rostra/tiny_mce/plugins/autosave/langs/en.js +4 -0
  34. data/app/assets/javascripts/rostra/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  35. data/app/assets/javascripts/rostra/tiny_mce/plugins/bbcode/editor_plugin_src.js +120 -0
  36. data/app/assets/javascripts/rostra/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  37. data/app/assets/javascripts/rostra/tiny_mce/plugins/contextmenu/editor_plugin_src.js +160 -0
  38. data/app/assets/javascripts/rostra/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  39. data/app/assets/javascripts/rostra/tiny_mce/plugins/directionality/editor_plugin_src.js +82 -0
  40. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  41. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/editor_plugin_src.js +43 -0
  42. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/emotions.htm +41 -0
  43. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  44. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  45. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  46. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  47. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  48. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  49. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  50. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  51. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  52. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  53. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  54. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  55. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  56. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  57. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  58. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  59. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  60. data/app/assets/javascripts/rostra/tiny_mce/plugins/emotions/langs/en_dlg.js +1 -0
  61. data/app/assets/javascripts/rostra/tiny_mce/plugins/example/dialog.htm +22 -0
  62. data/app/assets/javascripts/rostra/tiny_mce/plugins/example/editor_plugin.js +1 -0
  63. data/app/assets/javascripts/rostra/tiny_mce/plugins/example/editor_plugin_src.js +84 -0
  64. data/app/assets/javascripts/rostra/tiny_mce/plugins/example/img/example.gif +0 -0
  65. data/app/assets/javascripts/rostra/tiny_mce/plugins/example/js/dialog.js +19 -0
  66. data/app/assets/javascripts/rostra/tiny_mce/plugins/example/langs/en.js +3 -0
  67. data/app/assets/javascripts/rostra/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  68. data/app/assets/javascripts/rostra/tiny_mce/plugins/example_dependency/editor_plugin.js +1 -0
  69. data/app/assets/javascripts/rostra/tiny_mce/plugins/example_dependency/editor_plugin_src.js +50 -0
  70. data/app/assets/javascripts/rostra/tiny_mce/plugins/fullpage/css/fullpage.css +143 -0
  71. data/app/assets/javascripts/rostra/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  72. data/app/assets/javascripts/rostra/tiny_mce/plugins/fullpage/editor_plugin_src.js +405 -0
  73. data/app/assets/javascripts/rostra/tiny_mce/plugins/fullpage/fullpage.htm +259 -0
  74. data/app/assets/javascripts/rostra/tiny_mce/plugins/fullpage/js/fullpage.js +232 -0
  75. data/app/assets/javascripts/rostra/tiny_mce/plugins/fullpage/langs/en_dlg.js +1 -0
  76. data/app/assets/javascripts/rostra/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  77. data/app/assets/javascripts/rostra/tiny_mce/plugins/fullscreen/editor_plugin_src.js +159 -0
  78. data/app/assets/javascripts/rostra/tiny_mce/plugins/fullscreen/fullscreen.htm +110 -0
  79. data/app/assets/javascripts/rostra/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  80. data/app/assets/javascripts/rostra/tiny_mce/plugins/iespell/editor_plugin_src.js +54 -0
  81. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  82. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +699 -0
  83. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  84. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  85. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  86. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  87. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  88. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  89. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  90. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  91. data/app/assets/javascripts/rostra/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  92. data/app/assets/javascripts/rostra/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  93. data/app/assets/javascripts/rostra/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +83 -0
  94. data/app/assets/javascripts/rostra/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  95. data/app/assets/javascripts/rostra/tiny_mce/plugins/layer/editor_plugin_src.js +214 -0
  96. data/app/assets/javascripts/rostra/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
  97. data/app/assets/javascripts/rostra/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +139 -0
  98. data/app/assets/javascripts/rostra/tiny_mce/plugins/lists/editor_plugin.js +1 -0
  99. data/app/assets/javascripts/rostra/tiny_mce/plugins/lists/editor_plugin_src.js +781 -0
  100. data/app/assets/javascripts/rostra/tiny_mce/plugins/media/css/media.css +17 -0
  101. data/app/assets/javascripts/rostra/tiny_mce/plugins/media/editor_plugin.js +1 -0
  102. data/app/assets/javascripts/rostra/tiny_mce/plugins/media/editor_plugin_src.js +822 -0
  103. data/app/assets/javascripts/rostra/tiny_mce/plugins/media/js/embed.js +73 -0
  104. data/app/assets/javascripts/rostra/tiny_mce/plugins/media/js/media.js +389 -0
  105. data/app/assets/javascripts/rostra/tiny_mce/plugins/media/langs/en_dlg.js +1 -0
  106. data/app/assets/javascripts/rostra/tiny_mce/plugins/media/media.htm +897 -0
  107. data/app/assets/javascripts/rostra/tiny_mce/plugins/media/moxieplayer.swf +0 -0
  108. data/app/assets/javascripts/rostra/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  109. data/app/assets/javascripts/rostra/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +54 -0
  110. data/app/assets/javascripts/rostra/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  111. data/app/assets/javascripts/rostra/tiny_mce/plugins/noneditable/editor_plugin_src.js +95 -0
  112. data/app/assets/javascripts/rostra/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  113. data/app/assets/javascripts/rostra/tiny_mce/plugins/pagebreak/editor_plugin_src.js +74 -0
  114. data/app/assets/javascripts/rostra/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  115. data/app/assets/javascripts/rostra/tiny_mce/plugins/paste/editor_plugin_src.js +861 -0
  116. data/app/assets/javascripts/rostra/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  117. data/app/assets/javascripts/rostra/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  118. data/app/assets/javascripts/rostra/tiny_mce/plugins/paste/langs/en_dlg.js +1 -0
  119. data/app/assets/javascripts/rostra/tiny_mce/plugins/paste/pastetext.htm +27 -0
  120. data/app/assets/javascripts/rostra/tiny_mce/plugins/paste/pasteword.htm +21 -0
  121. data/app/assets/javascripts/rostra/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  122. data/app/assets/javascripts/rostra/tiny_mce/plugins/preview/editor_plugin_src.js +53 -0
  123. data/app/assets/javascripts/rostra/tiny_mce/plugins/preview/example.html +28 -0
  124. data/app/assets/javascripts/rostra/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  125. data/app/assets/javascripts/rostra/tiny_mce/plugins/preview/preview.html +17 -0
  126. data/app/assets/javascripts/rostra/tiny_mce/plugins/print/editor_plugin.js +1 -0
  127. data/app/assets/javascripts/rostra/tiny_mce/plugins/print/editor_plugin_src.js +34 -0
  128. data/app/assets/javascripts/rostra/tiny_mce/plugins/save/editor_plugin.js +1 -0
  129. data/app/assets/javascripts/rostra/tiny_mce/plugins/save/editor_plugin_src.js +101 -0
  130. data/app/assets/javascripts/rostra/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  131. data/app/assets/javascripts/rostra/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  132. data/app/assets/javascripts/rostra/tiny_mce/plugins/searchreplace/editor_plugin_src.js +61 -0
  133. data/app/assets/javascripts/rostra/tiny_mce/plugins/searchreplace/js/searchreplace.js +142 -0
  134. data/app/assets/javascripts/rostra/tiny_mce/plugins/searchreplace/langs/en_dlg.js +1 -0
  135. data/app/assets/javascripts/rostra/tiny_mce/plugins/searchreplace/searchreplace.htm +100 -0
  136. data/app/assets/javascripts/rostra/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  137. data/app/assets/javascripts/rostra/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  138. data/app/assets/javascripts/rostra/tiny_mce/plugins/spellchecker/editor_plugin_src.js +434 -0
  139. data/app/assets/javascripts/rostra/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  140. data/app/assets/javascripts/rostra/tiny_mce/plugins/style/css/props.css +13 -0
  141. data/app/assets/javascripts/rostra/tiny_mce/plugins/style/editor_plugin.js +1 -0
  142. data/app/assets/javascripts/rostra/tiny_mce/plugins/style/editor_plugin_src.js +55 -0
  143. data/app/assets/javascripts/rostra/tiny_mce/plugins/style/js/props.js +635 -0
  144. data/app/assets/javascripts/rostra/tiny_mce/plugins/style/langs/en_dlg.js +1 -0
  145. data/app/assets/javascripts/rostra/tiny_mce/plugins/style/props.htm +840 -0
  146. data/app/assets/javascripts/rostra/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -0
  147. data/app/assets/javascripts/rostra/tiny_mce/plugins/tabfocus/editor_plugin_src.js +122 -0
  148. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/cell.htm +180 -0
  149. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/css/cell.css +17 -0
  150. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/css/row.css +25 -0
  151. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/css/table.css +13 -0
  152. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/editor_plugin.js +1 -0
  153. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/editor_plugin_src.js +1364 -0
  154. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/js/cell.js +319 -0
  155. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/js/merge_cells.js +27 -0
  156. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/js/row.js +237 -0
  157. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/js/table.js +450 -0
  158. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/langs/en_dlg.js +1 -0
  159. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/merge_cells.htm +32 -0
  160. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/row.htm +158 -0
  161. data/app/assets/javascripts/rostra/tiny_mce/plugins/table/table.htm +188 -0
  162. data/app/assets/javascripts/rostra/tiny_mce/plugins/template/blank.htm +12 -0
  163. data/app/assets/javascripts/rostra/tiny_mce/plugins/template/css/template.css +23 -0
  164. data/app/assets/javascripts/rostra/tiny_mce/plugins/template/editor_plugin.js +1 -0
  165. data/app/assets/javascripts/rostra/tiny_mce/plugins/template/editor_plugin_src.js +159 -0
  166. data/app/assets/javascripts/rostra/tiny_mce/plugins/template/js/template.js +106 -0
  167. data/app/assets/javascripts/rostra/tiny_mce/plugins/template/langs/en_dlg.js +1 -0
  168. data/app/assets/javascripts/rostra/tiny_mce/plugins/template/template.htm +31 -0
  169. data/app/assets/javascripts/rostra/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  170. data/app/assets/javascripts/rostra/tiny_mce/plugins/visualchars/editor_plugin_src.js +83 -0
  171. data/app/assets/javascripts/rostra/tiny_mce/plugins/wordcount/editor_plugin.js +1 -0
  172. data/app/assets/javascripts/rostra/tiny_mce/plugins/wordcount/editor_plugin_src.js +114 -0
  173. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/abbr.htm +142 -0
  174. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/acronym.htm +142 -0
  175. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/attributes.htm +149 -0
  176. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/cite.htm +142 -0
  177. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  178. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  179. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/del.htm +162 -0
  180. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  181. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +132 -0
  182. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/ins.htm +162 -0
  183. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/js/abbr.js +28 -0
  184. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/js/acronym.js +28 -0
  185. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/js/attributes.js +111 -0
  186. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/js/cite.js +28 -0
  187. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/js/del.js +53 -0
  188. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/js/element_common.js +229 -0
  189. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/js/ins.js +53 -0
  190. data/app/assets/javascripts/rostra/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +1 -0
  191. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/about.htm +52 -0
  192. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/anchor.htm +26 -0
  193. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/charmap.htm +51 -0
  194. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/color_picker.htm +74 -0
  195. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/editor_template.js +1 -0
  196. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/editor_template_src.js +1358 -0
  197. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/image.htm +80 -0
  198. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  199. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/flash.gif +0 -0
  200. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/icons.gif +0 -0
  201. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  202. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
  203. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  204. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
  205. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  206. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/trans.gif +0 -0
  207. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/video.gif +0 -0
  208. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
  209. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/js/about.js +73 -0
  210. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/js/anchor.js +42 -0
  211. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/js/charmap.js +355 -0
  212. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/js/color_picker.js +329 -0
  213. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/js/image.js +251 -0
  214. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/js/link.js +153 -0
  215. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/js/source_editor.js +56 -0
  216. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/langs/en.js +1 -0
  217. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/langs/en_dlg.js +1 -0
  218. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/link.htm +57 -0
  219. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/shortcuts.htm +47 -0
  220. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/default/content.css +50 -0
  221. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/default/dialog.css +117 -0
  222. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  223. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  224. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  225. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  226. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  227. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  228. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/default/ui.css +214 -0
  229. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/highcontrast/content.css +24 -0
  230. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +105 -0
  231. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/highcontrast/ui.css +102 -0
  232. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/o2k7/content.css +48 -0
  233. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/o2k7/dialog.css +117 -0
  234. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  235. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  236. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  237. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/o2k7/ui.css +217 -0
  238. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  239. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  240. data/app/assets/javascripts/rostra/tiny_mce/themes/advanced/source_editor.htm +25 -0
  241. data/app/assets/javascripts/rostra/tiny_mce/themes/simple/editor_template.js +1 -0
  242. data/app/assets/javascripts/rostra/tiny_mce/themes/simple/editor_template_src.js +84 -0
  243. data/app/assets/javascripts/rostra/tiny_mce/themes/simple/img/icons.gif +0 -0
  244. data/app/assets/javascripts/rostra/tiny_mce/themes/simple/langs/en.js +1 -0
  245. data/app/assets/javascripts/rostra/tiny_mce/themes/simple/skins/default/content.css +25 -0
  246. data/app/assets/javascripts/rostra/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  247. data/app/assets/javascripts/rostra/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  248. data/app/assets/javascripts/rostra/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  249. data/app/assets/javascripts/rostra/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  250. data/app/assets/javascripts/rostra/tiny_mce/tiny_mce.js +1 -0
  251. data/app/assets/javascripts/rostra/tiny_mce/tiny_mce_popup.js +5 -0
  252. data/app/assets/javascripts/rostra/tiny_mce/tiny_mce_src.js +15617 -0
  253. data/app/assets/javascripts/rostra/tiny_mce/utils/editable_selects.js +70 -0
  254. data/app/assets/javascripts/rostra/tiny_mce/utils/form_utils.js +210 -0
  255. data/app/assets/javascripts/rostra/tiny_mce/utils/mctabs.js +162 -0
  256. data/app/assets/javascripts/rostra/tiny_mce/utils/validate.js +252 -0
  257. data/app/assets/stylesheets/rostra/application.css +113 -20
  258. data/app/assets/stylesheets/rostra/flash_messages.css +3 -0
  259. data/app/assets/stylesheets/rostra/forms.css +4 -4
  260. data/app/assets/stylesheets/rostra/typography.css +1 -0
  261. data/app/controllers/rostra/answers_controller.rb +1 -8
  262. data/app/controllers/rostra/application_controller.rb +17 -3
  263. data/app/controllers/rostra/comments_controller.rb +31 -0
  264. data/app/controllers/rostra/questions_controller.rb +3 -9
  265. data/app/helpers/rostra/application_helper.rb +58 -0
  266. data/app/models/comment.rb +13 -0
  267. data/app/models/rostra/ability.rb +7 -2
  268. data/app/models/rostra/answer.rb +1 -0
  269. data/app/models/rostra/question.rb +20 -0
  270. data/app/views/layouts/rostra/application.html.erb +0 -2
  271. data/app/views/rostra/answers/_form.html.erb +2 -2
  272. data/app/views/rostra/answers/vote.js.erb +2 -1
  273. data/app/views/rostra/questions/_form.html.erb +2 -2
  274. data/app/views/rostra/questions/index.html.erb +24 -14
  275. data/app/views/rostra/questions/show.html.erb +46 -13
  276. data/app/views/rostra/questions/vote.js.erb +2 -1
  277. data/app/views/rostra/shared/_sidebar.html.erb +9 -2
  278. data/app/views/rostra/shared/_votes.html.erb +13 -21
  279. data/config/routes.rb +1 -0
  280. data/db/migrate/20111012020025_create_comments.rb +18 -0
  281. data/db/migrate/20111016021105_create_impressions_table.rb +37 -0
  282. data/lib/generators/rostra/install_generator.rb +14 -0
  283. data/lib/generators/rostra/templates/config/initializers/rostra.rb +26 -0
  284. data/lib/rostra/config.rb +38 -0
  285. data/lib/rostra/engine.rb +3 -1
  286. data/lib/rostra/version.rb +1 -1
  287. data/lib/rostra.rb +60 -5
  288. metadata +296 -15
  289. data/app/helpers/rostra/questions_helper.rb +0 -4
  290. data/app/views/rostra/shared/_answers_votes.html.erb +0 -27
data/README.rdoc CHANGED
@@ -11,20 +11,31 @@ Include the gem to your <tt>Gemfile</tt>:
11
11
 
12
12
  Mount the engine in <tt>config/routes.rb</tt>:
13
13
 
14
- mount Rostra::Engine => "/rostra" # or whatever path makes sense for your app
14
+ mount Rostra::Engine => "/rostra" # or whatever path you like
15
15
 
16
- Install the necessary migrations:
16
+ Install and run the necessary migrations:
17
17
 
18
18
  rake rostra:install:migrations
19
19
  rake db:migrate
20
20
 
21
- == Running the development tests
22
- To run the specs:
23
- rspec spec
21
+ Run the generator to create the configuration file:
24
22
 
25
- To run the cukes:
26
- cucumber features
23
+ rails generate rostra:install # see `config/initializers/rostra.rb` for details
27
24
 
25
+ Call <tt>rostra</tt> in your user model:
26
+
27
+ class User < ActiveRecord::Base
28
+ rostra
29
+ end
30
+
31
+
32
+ == Contributing to Rostra
33
+ Fork the project, make your changes, and submit a pull request. Please ensure the tests pass:
34
+
35
+ rspec spec # runs the specs
36
+ cucumber features # runs the cukes
37
+
38
+ <b>Contributors:</b> {robertwalsh0}[https://github.com/robertwalsh0], {bcody}[https://github.com/bcody]
28
39
 
29
40
  == License
30
41
  This project uses MIT-LICENSE.
@@ -8,21 +8,77 @@
8
8
  //= require jquery_ujs
9
9
  //= require rails.validations
10
10
  //= require rostra/jquery.jeditable
11
+ //= require rostra/tiny_mce/jquery.tinymce
11
12
 
12
13
  $(document).ready(function() {
13
14
 
14
15
  var show_message_when_logged_out_user_attempts_to_vote = function() {
15
- $('a.login_flash').click(function() {
16
- $('.flash').fadeIn();
16
+ $('a.vote').click(function() {
17
+ var link = $(this);
18
+ if (link.attr('href') == '#') {
19
+ link.parent().next().fadeIn();
20
+ return false;
21
+ }
22
+ });
23
+ }();
24
+
25
+
26
+ var answer_comment_form = function() {
27
+ $('a.leave_comment').click(function() {
28
+ $(this).closest('.answer').find('form.comment').fadeIn();
29
+ return false;
30
+ });
31
+ }();
32
+
33
+
34
+ var closeable_flash_messages = function() {
35
+ $('.flash a.close').click(function() {
36
+ $(this).parent().fadeOut();
37
+ return false;
38
+ });
39
+ }();
40
+
41
+
42
+ $('textarea.wysiwyg').tinymce({
43
+ script_url:'/assets/rostra/tiny_mce/tiny_mce.js',
44
+ theme: 'advanced',
45
+ theme_advanced_buttons1 : "bold,italic,underline,|,link,|,bullist,numlist,",
46
+ theme_advanced_buttons2 : "",
47
+ theme_advanced_buttons3 : "",
48
+ theme_advanced_toolbar_location : "top",
49
+ theme_advanced_toolbar_align : "left",
50
+ plugins: 'paste, autoresize',
51
+ paste_remove_styles: true,
52
+ paste_remove_spans: true,
53
+ setup: function (ed) {
54
+ ed.onInit.add(function(ed){
55
+ ed.pasteAsPlainText = true;
56
+ });
57
+ }
58
+ });
59
+
60
+
61
+ var inline_comment_editing = function() {
62
+ $('.edit_comment').click(function() {
63
+ $(this).closest('.comment').find('.editable').trigger('edit');
17
64
  return false;
18
65
  });
66
+
67
+ $('.editable').each(function() {
68
+ var comment = $(this);
69
+ var ajax_url = comment.closest('.comment').find('.edit_comment').attr('href');
70
+
71
+ comment.editable(ajax_url, {
72
+ type: 'textarea',
73
+ cancel: 'Cancel',
74
+ submit: 'Update',
75
+ method: 'PUT',
76
+ event: 'edit',
77
+ onblur: 'ignore',
78
+ });
79
+ });
19
80
  }();
20
81
 
21
- // $('.editable').editable($('.editable').attr('data-ajax_url'), {
22
- // type: 'textarea',
23
- // cancel: 'Cancel',
24
- // submit: 'Update',
25
- // method: 'PUT'
26
- // });
82
+
27
83
 
28
84
  });
@@ -0,0 +1 @@
1
+ (function(b){var e,d,a=[],c=window;b.fn.tinymce=function(j){var p=this,g,k,h,m,i,l="",n="";if(!p.length){return p}if(!j){return tinyMCE.get(p[0].id)}p.css("visibility","hidden");function o(){var r=[],q=0;if(f){f();f=null}p.each(function(t,u){var s,w=u.id,v=j.oninit;if(!w){u.id=w=tinymce.DOM.uniqueId()}s=new tinymce.Editor(w,j);r.push(s);s.onInit.add(function(){var x,y=v;p.css("visibility","");if(v){if(++q==r.length){if(tinymce.is(y,"string")){x=(y.indexOf(".")===-1)?null:tinymce.resolve(y.replace(/\.\w+$/,""));y=tinymce.resolve(y)}y.apply(x||tinymce,r)}}})});b.each(r,function(t,s){s.render()})}if(!c.tinymce&&!d&&(g=j.script_url)){d=1;h=g.substring(0,g.lastIndexOf("/"));if(/_(src|dev)\.js/g.test(g)){n="_src"}m=g.lastIndexOf("?");if(m!=-1){l=g.substring(m+1)}c.tinyMCEPreInit=c.tinyMCEPreInit||{base:h,suffix:n,query:l};if(g.indexOf("gzip")!=-1){i=j.language||"en";g=g+(/\?/.test(g)?"&":"?")+"js=true&core=true&suffix="+escape(n)+"&themes="+escape(j.theme)+"&plugins="+escape(j.plugins)+"&languages="+i;if(!c.tinyMCE_GZ){tinyMCE_GZ={start:function(){tinymce.suffix=n;function q(r){tinymce.ScriptLoader.markDone(tinyMCE.baseURI.toAbsolute(r))}q("langs/"+i+".js");q("themes/"+j.theme+"/editor_template"+n+".js");q("themes/"+j.theme+"/langs/"+i+".js");b.each(j.plugins.split(","),function(s,r){if(r){q("plugins/"+r+"/editor_plugin"+n+".js");q("plugins/"+r+"/langs/"+i+".js")}})},end:function(){}}}}b.ajax({type:"GET",url:g,dataType:"script",cache:true,success:function(){tinymce.dom.Event.domLoaded=1;d=2;if(j.script_loaded){j.script_loaded()}o();b.each(a,function(q,r){r()})}})}else{if(d===1){a.push(o)}else{o()}}return p};b.extend(b.expr[":"],{tinymce:function(g){return g.id&&!!tinyMCE.get(g.id)}});function f(){function i(l){if(l==="remove"){this.each(function(n,o){var m=h(o);if(m){m.remove()}})}this.find("span.mceEditor,div.mceEditor").each(function(n,o){var m=tinyMCE.get(o.id.replace(/_parent$/,""));if(m){m.remove()}})}function k(n){var m=this,l;if(n!==e){i.call(m);m.each(function(p,q){var o;if(o=tinyMCE.get(q.id)){o.setContent(n)}})}else{if(m.length>0){if(l=tinyMCE.get(m[0].id)){return l.getContent()}}}}function h(m){var l=null;(m)&&(m.id)&&(c.tinymce)&&(l=tinyMCE.get(m.id));return l}function g(l){return !!((l)&&(l.length)&&(c.tinymce)&&(l.is(":tinymce")))}var j={};b.each(["text","html","val"],function(n,l){var o=j[l]=b.fn[l],m=(l==="text");b.fn[l]=function(s){var p=this;if(!g(p)){return o.apply(p,arguments)}if(s!==e){k.call(p.filter(":tinymce"),s);o.apply(p.not(":tinymce"),arguments);return p}else{var r="";var q=arguments;(m?p:p.eq(0)).each(function(u,v){var t=h(v);r+=t?(m?t.getContent().replace(/<(?:"[^"]*"|'[^']*'|[^'">])*>/g,""):t.getContent()):o.apply(b(v),q)});return r}}});b.each(["append","prepend"],function(n,m){var o=j[m]=b.fn[m],l=(m==="prepend");b.fn[m]=function(q){var p=this;if(!g(p)){return o.apply(p,arguments)}if(q!==e){p.filter(":tinymce").each(function(s,t){var r=h(t);r&&r.setContent(l?q+r.getContent():r.getContent()+q)});o.apply(p.not(":tinymce"),arguments);return p}}});b.each(["remove","replaceWith","replaceAll","empty"],function(m,l){var n=j[l]=b.fn[l];b.fn[l]=function(){i.call(this,l);return n.apply(this,arguments)}});j.attr=b.fn.attr;b.fn.attr=function(n,q,o){var m=this;if((!n)||(n!=="value")||(!g(m))){return j.attr.call(m,n,q,o)}if(q!==e){k.call(m.filter(":tinymce"),q);j.attr.call(m.not(":tinymce"),n,q,o);return m}else{var p=m[0],l=h(p);return l?l.getContent():j.attr.call(b(p),n,q,o)}}}})(jQuery);
@@ -0,0 +1 @@
1
+ tinyMCE.addI18n({en:{common:{"more_colors":"More Colors...","invalid_data":"Error: Invalid values entered, these are marked in red.","popup_blocked":"Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.","clipboard_no_support":"Currently not supported by your browser, use keyboard shortcuts instead.","clipboard_msg":"Copy/Cut/Paste is not available in Mozilla and Firefox.\nDo you want more information about this issue?","not_set":"-- Not Set --","class_name":"Class",browse:"Browse",close:"Close",cancel:"Cancel",update:"Update",insert:"Insert",apply:"Apply","edit_confirm":"Do you want to use the WYSIWYG mode for this textarea?","invalid_data_number":"{#field} must be a number","invalid_data_min":"{#field} must be a number greater than {#min}","invalid_data_size":"{#field} must be a number or percentage",value:"(value)"},contextmenu:{full:"Full",right:"Right",center:"Center",left:"Left",align:"Alignment"},insertdatetime:{"day_short":"Sun,Mon,Tue,Wed,Thu,Fri,Sat,Sun","day_long":"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday","months_short":"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec","months_long":"January,February,March,April,May,June,July,August,September,October,November,December","inserttime_desc":"Insert Time","insertdate_desc":"Insert Date","time_fmt":"%H:%M:%S","date_fmt":"%Y-%m-%d"},print:{"print_desc":"Print"},preview:{"preview_desc":"Preview"},directionality:{"rtl_desc":"Direction Right to Left","ltr_desc":"Direction Left to Right"},layer:{content:"New layer...","absolute_desc":"Toggle Absolute Positioning","backward_desc":"Move Backward","forward_desc":"Move Forward","insertlayer_desc":"Insert New Layer"},save:{"save_desc":"Save","cancel_desc":"Cancel All Changes"},nonbreaking:{"nonbreaking_desc":"Insert Non-Breaking Space Character"},iespell:{download:"ieSpell not detected. Do you want to install it now?","iespell_desc":"Check Spelling"},advhr:{"delta_height":"","delta_width":"","advhr_desc":"Insert Horizontal Line"},emotions:{"delta_height":"","delta_width":"","emotions_desc":"Emotions"},searchreplace:{"replace_desc":"Find/Replace","delta_width":"","delta_height":"","search_desc":"Find"},advimage:{"delta_width":"","image_desc":"Insert/Edit Image","delta_height":""},advlink:{"delta_height":"","delta_width":"","link_desc":"Insert/Edit Link"},xhtmlxtras:{"attribs_delta_height":"","attribs_delta_width":"","ins_delta_height":"","ins_delta_width":"","del_delta_height":"","del_delta_width":"","acronym_delta_height":"","acronym_delta_width":"","abbr_delta_height":"","abbr_delta_width":"","cite_delta_height":"","cite_delta_width":"","attribs_desc":"Insert/Edit Attributes","ins_desc":"Insertion","del_desc":"Deletion","acronym_desc":"Acronym","abbr_desc":"Abbreviation","cite_desc":"Citation"},style:{"delta_height":"","delta_width":"",desc:"Edit CSS Style"},paste:{"plaintext_mode_stick":"Paste is now in plain text mode. Click again to toggle back to regular paste mode.","plaintext_mode":"Paste is now in plain text mode. Click again to toggle back to regular paste mode. After you paste something you will be returned to regular paste mode.","selectall_desc":"Select All","paste_word_desc":"Paste from Word","paste_text_desc":"Paste as Plain Text"},"paste_dlg":{"word_title":"Use Ctrl+V on your keyboard to paste the text into the window.","text_linebreaks":"Keep Linebreaks","text_title":"Use Ctrl+V on your keyboard to paste the text into the window."},table:{"merge_cells_delta_height":"","merge_cells_delta_width":"","table_delta_height":"","table_delta_width":"","cellprops_delta_height":"","cellprops_delta_width":"","rowprops_delta_height":"","rowprops_delta_width":"",cell:"Cell",col:"Column",row:"Row",del:"Delete Table","copy_row_desc":"Copy Table Row","cut_row_desc":"Cut Table Row","paste_row_after_desc":"Paste Table Row After","paste_row_before_desc":"Paste Table Row Before","props_desc":"Table Properties","cell_desc":"Table Cell Properties","row_desc":"Table Row Properties","merge_cells_desc":"Merge Table Cells","split_cells_desc":"Split Merged Table Cells","delete_col_desc":"Delete Column","col_after_desc":"Insert Column After","col_before_desc":"Insert Column Before","delete_row_desc":"Delete Row","row_after_desc":"Insert Row After","row_before_desc":"Insert Row Before",desc:"Insert/Edit Table"},autosave:{"warning_message":"If you restore the saved content, you will lose all the content that is currently in the editor.\n\nAre you sure you want to restore the saved content?","restore_content":"Restore auto-saved content.","unload_msg":"The changes you made will be lost if you navigate away from this page."},fullscreen:{desc:"Toggle Full Screen Mode"},media:{"delta_height":"","delta_width":"",edit:"Edit Embedded Media",desc:"Insert/Edit Embedded Media"},fullpage:{desc:"Document Properties","delta_width":"","delta_height":""},template:{desc:"Insert Predefined Template Content"},visualchars:{desc:"Show/Hide Visual Control Characters"},spellchecker:{desc:"Toggle Spell Checker",menu:"Spell Checker Settings","ignore_word":"Ignore Word","ignore_words":"Ignore All",langs:"Languages",wait:"Please wait...",sug:"Suggestions","no_sug":"No Suggestions","no_mpell":"No misspellings found.","learn_word":"Learn word"},pagebreak:{desc:"Insert Page Break for Printing"},advlist:{types:"Types",def:"Default","lower_alpha":"Lower Alpha","lower_greek":"Lower Greek","lower_roman":"Lower Roman","upper_alpha":"Upper Alpha","upper_roman":"Upper Roman",circle:"Circle",disc:"Disc",square:"Square"},colors:{"333300":"Dark olive","993300":"Burnt orange","000000":"Black","003300":"Dark green","003366":"Dark azure","000080":"Navy Blue","333399":"Indigo","333333":"Very dark gray","800000":"Maroon",FF6600:"Orange","808000":"Olive","008000":"Green","008080":"Teal","0000FF":"Blue","666699":"Grayish blue","808080":"Gray",FF0000:"Red",FF9900:"Amber","99CC00":"Yellow green","339966":"Sea green","33CCCC":"Turquoise","3366FF":"Royal blue","800080":"Purple","999999":"Medium gray",FF00FF:"Magenta",FFCC00:"Gold",FFFF00:"Yellow","00FF00":"Lime","00FFFF":"Aqua","00CCFF":"Sky blue","993366":"Brown",C0C0C0:"Silver",FF99CC:"Pink",FFCC99:"Peach",FFFF99:"Light yellow",CCFFCC:"Pale green",CCFFFF:"Pale cyan","99CCFF":"Light sky blue",CC99FF:"Plum",FFFFFF:"White"},aria:{"rich_text_area":"Rich Text Area"},wordcount:{words:"Words"}}});
@@ -0,0 +1,5 @@
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;}
@@ -0,0 +1 @@
1
+ (function(){tinymce.create("tinymce.plugins.AdvancedHRPlugin",{init:function(a,b){a.addCommand("mceAdvancedHr",function(){a.windowManager.open({file:b+"/rule.htm",width:250+parseInt(a.getLang("advhr.delta_width",0)),height:160+parseInt(a.getLang("advhr.delta_height",0)),inline:1},{plugin_url:b})});a.addButton("advhr",{title:"advhr.advhr_desc",cmd:"mceAdvancedHr"});a.onNodeChange.add(function(d,c,e){c.setActive("advhr",e.nodeName=="HR")});a.onClick.add(function(c,d){d=d.target;if(d.nodeName==="HR"){c.selection.select(d)}})},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)})();
@@ -0,0 +1,57 @@
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.AdvancedHRPlugin', {
13
+ init : function(ed, url) {
14
+ // Register commands
15
+ ed.addCommand('mceAdvancedHr', function() {
16
+ ed.windowManager.open({
17
+ file : url + '/rule.htm',
18
+ width : 250 + parseInt(ed.getLang('advhr.delta_width', 0)),
19
+ height : 160 + parseInt(ed.getLang('advhr.delta_height', 0)),
20
+ inline : 1
21
+ }, {
22
+ plugin_url : url
23
+ });
24
+ });
25
+
26
+ // Register buttons
27
+ ed.addButton('advhr', {
28
+ title : 'advhr.advhr_desc',
29
+ cmd : 'mceAdvancedHr'
30
+ });
31
+
32
+ ed.onNodeChange.add(function(ed, cm, n) {
33
+ cm.setActive('advhr', n.nodeName == 'HR');
34
+ });
35
+
36
+ ed.onClick.add(function(ed, e) {
37
+ e = e.target;
38
+
39
+ if (e.nodeName === 'HR')
40
+ ed.selection.select(e);
41
+ });
42
+ },
43
+
44
+ getInfo : function() {
45
+ return {
46
+ longname : 'Advanced HR',
47
+ author : 'Moxiecode Systems AB',
48
+ authorurl : 'http://tinymce.moxiecode.com',
49
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advhr',
50
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
51
+ };
52
+ }
53
+ });
54
+
55
+ // Register plugin
56
+ tinymce.PluginManager.add('advhr', tinymce.plugins.AdvancedHRPlugin);
57
+ })();
@@ -0,0 +1,43 @@
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) : (dom.getStyle('width') || '');
7
+ f.size.value = dom.getAttrib(n, 'size') || parseInt(dom.getStyle('height')) || '';
8
+ f.noshade.checked = !!dom.getAttrib(n, 'noshade') || !!dom.getStyle('border-width');
9
+ selectByValue(f, 'width2', w.indexOf('%') != -1 ? '%' : 'px');
10
+ },
11
+
12
+ update : function() {
13
+ var ed = tinyMCEPopup.editor, h, f = document.forms[0], st = '';
14
+
15
+ h = '<hr';
16
+
17
+ if (f.size.value) {
18
+ h += ' size="' + f.size.value + '"';
19
+ st += ' height:' + f.size.value + 'px;';
20
+ }
21
+
22
+ if (f.width.value) {
23
+ h += ' width="' + f.width.value + (f.width2.value == '%' ? '%' : '') + '"';
24
+ st += ' width:' + f.width.value + (f.width2.value == '%' ? '%' : 'px') + ';';
25
+ }
26
+
27
+ if (f.noshade.checked) {
28
+ h += ' noshade="noshade"';
29
+ st += ' border-width: 1px; border-style: solid; border-color: #CCCCCC; color: #ffffff;';
30
+ }
31
+
32
+ if (ed.settings.inline_styles)
33
+ h += ' style="' + tinymce.trim(st) + '"';
34
+
35
+ h += ' />';
36
+
37
+ ed.execCommand("mceInsertContent", false, h);
38
+ tinyMCEPopup.close();
39
+ }
40
+ };
41
+
42
+ tinyMCEPopup.requireLangPack();
43
+ tinyMCEPopup.onInit.add(AdvHRDialog.init, AdvHRDialog);
@@ -0,0 +1 @@
1
+ tinyMCE.addI18n('en.advhr_dlg',{size:"Height",noshade:"No Shadow",width:"Width",normal:"Normal",widthunits:"Units"});
@@ -0,0 +1,58 @@
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
+ </head>
11
+ <body role="application">
12
+ <form onsubmit="AdvHRDialog.update();return false;" action="#">
13
+ <div class="tabs">
14
+ <ul>
15
+ <li id="general_tab" class="current" aria-controls="general_panel"><span><a href="javascript:mcTabs.displayTab('general_tab','general_panel');" onmousedown="return false;">{#advhr.advhr_desc}</a></span></li>
16
+ </ul>
17
+ </div>
18
+
19
+ <div class="panel_wrapper">
20
+ <div id="general_panel" class="panel current">
21
+ <table role="presentation" border="0" cellpadding="4" cellspacing="0">
22
+ <tr role="group" aria-labelledby="width_label">
23
+ <td><label id="width_label" for="width">{#advhr_dlg.width}</label></td>
24
+ <td class="nowrap">
25
+ <input id="width" name="width" type="text" value="" class="mceFocus" />
26
+ <span style="display:none;" id="width_unit_label">{#advhr_dlg.widthunits}</span>
27
+ <select name="width2" id="width2" aria-labelledby="width_unit_label">
28
+ <option value="">px</option>
29
+ <option value="%">%</option>
30
+ </select>
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="">{#advhr_dlg.normal}</option>
37
+ <option value="1">1</option>
38
+ <option value="2">2</option>
39
+ <option value="3">3</option>
40
+ <option value="4">4</option>
41
+ <option value="5">5</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>
49
+ </div>
50
+ </div>
51
+
52
+ <div class="mceActionPanel">
53
+ <input type="submit" id="insert" name="insert" value="{#insert}" />
54
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
55
+ </div>
56
+ </form>
57
+ </body>
58
+ </html>
@@ -0,0 +1,13 @@
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:428px; 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;}
@@ -0,0 +1 @@
1
+ (function(){tinymce.create("tinymce.plugins.AdvancedImagePlugin",{init:function(a,b){a.addCommand("mceAdvImage",function(){if(a.dom.getAttrib(a.selection.getNode(),"class","").indexOf("mceItem")!=-1){return}a.windowManager.open({file:b+"/image.htm",width:480+parseInt(a.getLang("advimage.delta_width",0)),height:385+parseInt(a.getLang("advimage.delta_height",0)),inline:1},{plugin_url:b})});a.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)})();
@@ -0,0 +1,50 @@
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.AdvancedImagePlugin', {
13
+ init : function(ed, url) {
14
+ // Register commands
15
+ ed.addCommand('mceAdvImage', function() {
16
+ // Internal image object like a flash placeholder
17
+ if (ed.dom.getAttrib(ed.selection.getNode(), 'class', '').indexOf('mceItem') != -1)
18
+ return;
19
+
20
+ ed.windowManager.open({
21
+ file : url + '/image.htm',
22
+ width : 480 + parseInt(ed.getLang('advimage.delta_width', 0)),
23
+ height : 385 + parseInt(ed.getLang('advimage.delta_height', 0)),
24
+ inline : 1
25
+ }, {
26
+ plugin_url : url
27
+ });
28
+ });
29
+
30
+ // Register buttons
31
+ ed.addButton('image', {
32
+ title : 'advimage.image_desc',
33
+ cmd : 'mceAdvImage'
34
+ });
35
+ },
36
+
37
+ getInfo : function() {
38
+ return {
39
+ longname : 'Advanced image',
40
+ author : 'Moxiecode Systems AB',
41
+ authorurl : 'http://tinymce.moxiecode.com',
42
+ infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/advimage',
43
+ version : tinymce.majorVersion + "." + tinymce.minorVersion
44
+ };
45
+ }
46
+ });
47
+
48
+ // Register plugin
49
+ tinymce.PluginManager.add('advimage', tinymce.plugins.AdvancedImagePlugin);
50
+ })();
@@ -0,0 +1,235 @@
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
+ </head>
13
+ <body id="advimage" style="display: none" role="application" aria-labelledby="app_title">
14
+ <span id="app_title" style="display:none">{#advimage_dlg.dialog_title}</span>
15
+ <form onsubmit="ImageDialog.insert();return false;" action="#">
16
+ <div class="tabs">
17
+ <ul>
18
+ <li id="general_tab" class="current" aria-controls="general_panel"><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" aria-controls="appearance_panel"><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" aria-controls="advanced_panel"><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 role="presentation" class="properties">
30
+ <tr>
31
+ <td class="column1"><label id="srclabel" for="src">{#advimage_dlg.src}</label></td>
32
+ <td colspan="2"><table role="presentation" 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);" aria-required="true" /></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);"><option value=""></option></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 role="presentation" 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
85
+ erat volutpat.
86
+ </div>
87
+ </td>
88
+ </tr>
89
+
90
+ <tr role="group" aria-labelledby="widthlabel">
91
+ <td class="column1"><label id="widthlabel" for="width">{#advimage_dlg.dimensions}</label></td>
92
+ <td class="nowrap">
93
+ <span style="display:none" id="width_voiceLabel">{#advimage_dlg.width}</span>
94
+ <input name="width" type="text" id="width" value="" size="5" maxlength="5" class="size" onchange="ImageDialog.changeHeight();" aria-labelledby="width_voiceLabel" /> x
95
+ <span style="display:none" id="height_voiceLabel">{#advimage_dlg.height}</span>
96
+ <input name="height" type="text" id="height" value="" size="5" maxlength="5" class="size" onchange="ImageDialog.changeWidth();" aria-labelledby="height_voiceLabel" /> px
97
+ </td>
98
+ </tr>
99
+
100
+ <tr>
101
+ <td>&nbsp;</td>
102
+ <td><table role="presentation" border="0" cellpadding="0" cellspacing="0">
103
+ <tr>
104
+ <td><input id="constrain" type="checkbox" name="constrain" class="checkbox" /></td>
105
+ <td><label id="constrainlabel" for="constrain">{#advimage_dlg.constrain_proportions}</label></td>
106
+ </tr>
107
+ </table></td>
108
+ </tr>
109
+
110
+ <tr>
111
+ <td class="column1"><label id="vspacelabel" for="vspace">{#advimage_dlg.vspace}</label></td>
112
+ <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();" />
113
+ </td>
114
+ </tr>
115
+
116
+ <tr>
117
+ <td class="column1"><label id="hspacelabel" for="hspace">{#advimage_dlg.hspace}</label></td>
118
+ <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>
119
+ </tr>
120
+
121
+ <tr>
122
+ <td class="column1"><label id="borderlabel" for="border">{#advimage_dlg.border}</label></td>
123
+ <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>
124
+ </tr>
125
+
126
+ <tr>
127
+ <td><label for="class_list">{#class_name}</label></td>
128
+ <td colspan="2"><select id="class_list" name="class_list" class="mceEditableSelect"><option value=""></option></select></td>
129
+ </tr>
130
+
131
+ <tr>
132
+ <td class="column1"><label id="stylelabel" for="style">{#advimage_dlg.style}</label></td>
133
+ <td colspan="2"><input id="style" name="style" type="text" value="" onchange="ImageDialog.changeAppearance();" /></td>
134
+ </tr>
135
+
136
+ <!-- <tr>
137
+ <td class="column1"><label id="classeslabel" for="classes">{#advimage_dlg.classes}</label></td>
138
+ <td colspan="2"><input id="classes" name="classes" type="text" value="" onchange="selectByValue(this.form,'classlist',this.value,true);" /></td>
139
+ </tr> -->
140
+ </table>
141
+ </fieldset>
142
+ </div>
143
+
144
+ <div id="advanced_panel" class="panel">
145
+ <fieldset>
146
+ <legend>{#advimage_dlg.swap_image}</legend>
147
+
148
+ <input type="checkbox" id="onmousemovecheck" name="onmousemovecheck" class="checkbox" onclick="ImageDialog.setSwapImage(this.checked);" aria-controls="onmouseoversrc onmouseoutsrc" />
149
+ <label id="onmousemovechecklabel" for="onmousemovecheck">{#advimage_dlg.alt_image}</label>
150
+
151
+ <table role="presentation" border="0" cellpadding="4" cellspacing="0" width="100%">
152
+ <tr>
153
+ <td class="column1"><label id="onmouseoversrclabel" for="onmouseoversrc">{#advimage_dlg.mouseover}</label></td>
154
+ <td><table role="presentation" border="0" cellspacing="0" cellpadding="0">
155
+ <tr>
156
+ <td><input id="onmouseoversrc" name="onmouseoversrc" type="text" value="" /></td>
157
+ <td id="onmouseoversrccontainer">&nbsp;</td>
158
+ </tr>
159
+ </table></td>
160
+ </tr>
161
+ <tr>
162
+ <td><label for="over_list">{#advimage_dlg.image_list}</label></td>
163
+ <td><select id="over_list" name="over_list" onchange="document.getElementById('onmouseoversrc').value=this.options[this.selectedIndex].value;"><option value=""></option></select></td>
164
+ </tr>
165
+ <tr>
166
+ <td class="column1"><label id="onmouseoutsrclabel" for="onmouseoutsrc">{#advimage_dlg.mouseout}</label></td>
167
+ <td class="column2"><table role="presentation" border="0" cellspacing="0" cellpadding="0">
168
+ <tr>
169
+ <td><input id="onmouseoutsrc" name="onmouseoutsrc" type="text" value="" /></td>
170
+ <td id="onmouseoutsrccontainer">&nbsp;</td>
171
+ </tr>
172
+ </table></td>
173
+ </tr>
174
+ <tr>
175
+ <td><label for="out_list">{#advimage_dlg.image_list}</label></td>
176
+ <td><select id="out_list" name="out_list" onchange="document.getElementById('onmouseoutsrc').value=this.options[this.selectedIndex].value;"><option value=""></option></select></td>
177
+ </tr>
178
+ </table>
179
+ </fieldset>
180
+
181
+ <fieldset>
182
+ <legend>{#advimage_dlg.misc}</legend>
183
+
184
+ <table role="presentation" border="0" cellpadding="4" cellspacing="0">
185
+ <tr>
186
+ <td class="column1"><label id="idlabel" for="id">{#advimage_dlg.id}</label></td>
187
+ <td><input id="id" name="id" type="text" value="" /></td>
188
+ </tr>
189
+
190
+ <tr>
191
+ <td class="column1"><label id="dirlabel" for="dir">{#advimage_dlg.langdir}</label></td>
192
+ <td>
193
+ <select id="dir" name="dir" onchange="ImageDialog.changeAppearance();">
194
+ <option value="">{#not_set}</option>
195
+ <option value="ltr">{#advimage_dlg.ltr}</option>
196
+ <option value="rtl">{#advimage_dlg.rtl}</option>
197
+ </select>
198
+ </td>
199
+ </tr>
200
+
201
+ <tr>
202
+ <td class="column1"><label id="langlabel" for="lang">{#advimage_dlg.langcode}</label></td>
203
+ <td>
204
+ <input id="lang" name="lang" type="text" value="" />
205
+ </td>
206
+ </tr>
207
+
208
+ <tr>
209
+ <td class="column1"><label id="usemaplabel" for="usemap">{#advimage_dlg.map}</label></td>
210
+ <td>
211
+ <input id="usemap" name="usemap" type="text" value="" />
212
+ </td>
213
+ </tr>
214
+
215
+ <tr>
216
+ <td class="column1"><label id="longdesclabel" for="longdesc">{#advimage_dlg.long_desc}</label></td>
217
+ <td><table role="presentation" border="0" cellspacing="0" cellpadding="0">
218
+ <tr>
219
+ <td><input id="longdesc" name="longdesc" type="text" value="" /></td>
220
+ <td id="longdesccontainer">&nbsp;</td>
221
+ </tr>
222
+ </table></td>
223
+ </tr>
224
+ </table>
225
+ </fieldset>
226
+ </div>
227
+ </div>
228
+
229
+ <div class="mceActionPanel">
230
+ <input type="submit" id="insert" name="insert" value="{#insert}" />
231
+ <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" />
232
+ </div>
233
+ </form>
234
+ </body>
235
+ </html>