narf 0.6.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (424) hide show
  1. data/ChangeLog +22 -0
  2. data/lib/web/htmltools/xmltree.rb +2 -2
  3. data/lib/web/htmltools/xpath.rb +1 -1
  4. data/narf.gemspec +1 -1
  5. metadata +2 -460
  6. data/InstalledFiles +0 -2227
  7. data/config.save +0 -12
  8. data/doc/apache_cgi.txt~ +0 -17
  9. data/doc/fastcgi.txt~ +0 -19
  10. data/doc/rdoc/classes/Web.html +0 -369
  11. data/doc/rdoc/classes/Web.src/M000002.html +0 -15
  12. data/doc/rdoc/classes/Web.src/M000003.html +0 -15
  13. data/doc/rdoc/classes/Web.src/M000004.html +0 -15
  14. data/doc/rdoc/classes/Web.src/M000005.html +0 -15
  15. data/doc/rdoc/classes/Web.src/M000006.html +0 -20
  16. data/doc/rdoc/classes/Web.src/M000007.html +0 -18
  17. data/doc/rdoc/classes/Web.src/M000008.html +0 -18
  18. data/doc/rdoc/classes/Web.src/M000009.html +0 -18
  19. data/doc/rdoc/classes/Web.src/M000010.html +0 -15
  20. data/doc/rdoc/classes/Web.src/M000011.html +0 -15
  21. data/doc/rdoc/classes/Web.src/M000012.html +0 -15
  22. data/doc/rdoc/classes/Web/CGD.html +0 -173
  23. data/doc/rdoc/classes/Web/CGD.src/M000037.html +0 -24
  24. data/doc/rdoc/classes/Web/CGD.src/M000038.html +0 -24
  25. data/doc/rdoc/classes/Web/CGD.src/M000039.html +0 -15
  26. data/doc/rdoc/classes/Web/CGD.src/M000040.html +0 -15
  27. data/doc/rdoc/classes/Web/CGD.src/M000041.html +0 -23
  28. data/doc/rdoc/classes/Web/CGI.html +0 -946
  29. data/doc/rdoc/classes/Web/CGI.src/M000051.html +0 -15
  30. data/doc/rdoc/classes/Web/CGI.src/M000052.html +0 -24
  31. data/doc/rdoc/classes/Web/CGI.src/M000053.html +0 -15
  32. data/doc/rdoc/classes/Web/CGI.src/M000054.html +0 -15
  33. data/doc/rdoc/classes/Web/CGI.src/M000055.html +0 -15
  34. data/doc/rdoc/classes/Web/CGI.src/M000056.html +0 -15
  35. data/doc/rdoc/classes/Web/CGI.src/M000057.html +0 -17
  36. data/doc/rdoc/classes/Web/CGI.src/M000058.html +0 -34
  37. data/doc/rdoc/classes/Web/CGI.src/M000059.html +0 -22
  38. data/doc/rdoc/classes/Web/CGI.src/M000060.html +0 -15
  39. data/doc/rdoc/classes/Web/CGI.src/M000061.html +0 -15
  40. data/doc/rdoc/classes/Web/CGI.src/M000062.html +0 -19
  41. data/doc/rdoc/classes/Web/CGI.src/M000063.html +0 -18
  42. data/doc/rdoc/classes/Web/CGI.src/M000064.html +0 -19
  43. data/doc/rdoc/classes/Web/CGI.src/M000065.html +0 -15
  44. data/doc/rdoc/classes/Web/CGI.src/M000066.html +0 -15
  45. data/doc/rdoc/classes/Web/CGI.src/M000067.html +0 -15
  46. data/doc/rdoc/classes/Web/CGI.src/M000068.html +0 -13
  47. data/doc/rdoc/classes/Web/CGI.src/M000069.html +0 -13
  48. data/doc/rdoc/classes/Web/CGI.src/M000070.html +0 -13
  49. data/doc/rdoc/classes/Web/CGI.src/M000071.html +0 -13
  50. data/doc/rdoc/classes/Web/CGI.src/M000072.html +0 -19
  51. data/doc/rdoc/classes/Web/CGI.src/M000073.html +0 -15
  52. data/doc/rdoc/classes/Web/CGI.src/M000074.html +0 -19
  53. data/doc/rdoc/classes/Web/CGI.src/M000075.html +0 -15
  54. data/doc/rdoc/classes/Web/CGI.src/M000076.html +0 -15
  55. data/doc/rdoc/classes/Web/CGI.src/M000077.html +0 -15
  56. data/doc/rdoc/classes/Web/CGI.src/M000078.html +0 -20
  57. data/doc/rdoc/classes/Web/CGI.src/M000079.html +0 -36
  58. data/doc/rdoc/classes/Web/CGI.src/M000080.html +0 -19
  59. data/doc/rdoc/classes/Web/CGI.src/M000081.html +0 -18
  60. data/doc/rdoc/classes/Web/CGI.src/M000082.html +0 -15
  61. data/doc/rdoc/classes/Web/CGI.src/M000083.html +0 -17
  62. data/doc/rdoc/classes/Web/CGI.src/M000084.html +0 -15
  63. data/doc/rdoc/classes/Web/CGI.src/M000085.html +0 -16
  64. data/doc/rdoc/classes/Web/CGI.src/M000086.html +0 -15
  65. data/doc/rdoc/classes/Web/CGI.src/M000087.html +0 -15
  66. data/doc/rdoc/classes/Web/CGI.src/M000088.html +0 -15
  67. data/doc/rdoc/classes/Web/CGI.src/M000089.html +0 -16
  68. data/doc/rdoc/classes/Web/CGI.src/M000090.html +0 -15
  69. data/doc/rdoc/classes/Web/CGI.src/M000091.html +0 -15
  70. data/doc/rdoc/classes/Web/CGI.src/M000092.html +0 -15
  71. data/doc/rdoc/classes/Web/CGI.src/M000093.html +0 -15
  72. data/doc/rdoc/classes/Web/CGI.src/M000094.html +0 -15
  73. data/doc/rdoc/classes/Web/CGI.src/M000095.html +0 -15
  74. data/doc/rdoc/classes/Web/CGI.src/M000096.html +0 -19
  75. data/doc/rdoc/classes/Web/CGI.src/M000097.html +0 -15
  76. data/doc/rdoc/classes/Web/CGI.src/M000098.html +0 -15
  77. data/doc/rdoc/classes/Web/CGI.src/M000099.html +0 -43
  78. data/doc/rdoc/classes/Web/CGI.src/M000100.html +0 -18
  79. data/doc/rdoc/classes/Web/CGI.src/M000101.html +0 -20
  80. data/doc/rdoc/classes/Web/CGI.src/M000102.html +0 -15
  81. data/doc/rdoc/classes/Web/CGI.src/M000103.html +0 -15
  82. data/doc/rdoc/classes/Web/CGI.src/M000104.html +0 -15
  83. data/doc/rdoc/classes/Web/CGI.src/M000105.html +0 -24
  84. data/doc/rdoc/classes/Web/CGI.src/M000106.html +0 -24
  85. data/doc/rdoc/classes/Web/CGI.src/M000107.html +0 -22
  86. data/doc/rdoc/classes/Web/CaseInsensitiveHash.html +0 -104
  87. data/doc/rdoc/classes/Web/CaseInsensitiveHash.src/M000118.html +0 -15
  88. data/doc/rdoc/classes/Web/CaseInsensitiveHash.src/M000119.html +0 -15
  89. data/doc/rdoc/classes/Web/CaseInsensitiveHash.src/M000120.html +0 -15
  90. data/doc/rdoc/classes/Web/Mime.html +0 -122
  91. data/doc/rdoc/classes/Web/Mime.src/M000118.html +0 -15
  92. data/doc/rdoc/classes/Web/Mime.src/M000119.html +0 -15
  93. data/doc/rdoc/classes/Web/Mime.src/M000120.html +0 -23
  94. data/doc/rdoc/classes/Web/Mime.src/M000121.html +0 -15
  95. data/doc/rdoc/classes/Web/Mime.src/M000122.html +0 -15
  96. data/doc/rdoc/classes/Web/Mime.src/M000123.html +0 -23
  97. data/doc/rdoc/classes/Web/Mime.src/M000124.html +0 -15
  98. data/doc/rdoc/classes/Web/Narflates.html +0 -134
  99. data/doc/rdoc/classes/Web/Parser.html +0 -219
  100. data/doc/rdoc/classes/Web/Parser.src/M000013.html +0 -21
  101. data/doc/rdoc/classes/Web/Parser.src/M000014.html +0 -19
  102. data/doc/rdoc/classes/Web/Parser.src/M000015.html +0 -21
  103. data/doc/rdoc/classes/Web/Parser.src/M000016.html +0 -15
  104. data/doc/rdoc/classes/Web/Parser.src/M000017.html +0 -30
  105. data/doc/rdoc/classes/Web/Parser.src/M000018.html +0 -15
  106. data/doc/rdoc/classes/Web/Parser.src/M000019.html +0 -19
  107. data/doc/rdoc/classes/Web/Parser.src/M000020.html +0 -27
  108. data/doc/rdoc/classes/Web/Parser.src/M000021.html +0 -15
  109. data/doc/rdoc/classes/Web/Parser.src/M000022.html +0 -16
  110. data/doc/rdoc/classes/Web/Parser.src/M000023.html +0 -18
  111. data/doc/rdoc/classes/Web/Session.html +0 -178
  112. data/doc/rdoc/classes/Web/Session.src/M000042.html +0 -20
  113. data/doc/rdoc/classes/Web/Session.src/M000043.html +0 -19
  114. data/doc/rdoc/classes/Web/Session.src/M000044.html +0 -21
  115. data/doc/rdoc/classes/Web/Session.src/M000045.html +0 -21
  116. data/doc/rdoc/classes/Web/Session.src/M000046.html +0 -15
  117. data/doc/rdoc/classes/Web/Session.src/M000047.html +0 -17
  118. data/doc/rdoc/classes/Web/Session.src/M000048.html +0 -15
  119. data/doc/rdoc/classes/Web/Session.src/M000049.html +0 -15
  120. data/doc/rdoc/classes/Web/Session.src/M000050.html +0 -16
  121. data/doc/rdoc/classes/Web/Testing.html +0 -474
  122. data/doc/rdoc/classes/Web/Testing.src/M000024.html +0 -15
  123. data/doc/rdoc/classes/Web/Testing.src/M000025.html +0 -25
  124. data/doc/rdoc/classes/Web/Testing.src/M000026.html +0 -15
  125. data/doc/rdoc/classes/Web/Testing.src/M000027.html +0 -25
  126. data/doc/rdoc/classes/Web/Testing.src/M000028.html +0 -57
  127. data/doc/rdoc/classes/Web/Testing.src/M000029.html +0 -15
  128. data/doc/rdoc/classes/Web/Testing.src/M000030.html +0 -15
  129. data/doc/rdoc/classes/Web/Testing.src/M000031.html +0 -15
  130. data/doc/rdoc/classes/Web/Testing.src/M000032.html +0 -15
  131. data/doc/rdoc/classes/Web/Testing.src/M000033.html +0 -15
  132. data/doc/rdoc/classes/Web/Testing.src/M000034.html +0 -15
  133. data/doc/rdoc/classes/Web/Testing.src/M000035.html +0 -15
  134. data/doc/rdoc/classes/Web/Testing.src/M000036.html +0 -18
  135. data/doc/rdoc/classes/Web/Upload.html +0 -160
  136. data/doc/rdoc/classes/Web/Upload.src/M000108.html +0 -25
  137. data/doc/rdoc/classes/Web/Upload.src/M000109.html +0 -18
  138. data/doc/rdoc/classes/Web/Upload.src/M000110.html +0 -16
  139. data/doc/rdoc/classes/Web/Upload.src/M000111.html +0 -16
  140. data/doc/rdoc/classes/Web/Wiki.html +0 -249
  141. data/doc/rdoc/classes/Web/Wiki.src/M000112.html +0 -25
  142. data/doc/rdoc/classes/Web/Wiki.src/M000113.html +0 -15
  143. data/doc/rdoc/classes/Web/Wiki.src/M000114.html +0 -26
  144. data/doc/rdoc/classes/Web/Wiki.src/M000115.html +0 -21
  145. data/doc/rdoc/classes/Web/Wiki.src/M000116.html +0 -18
  146. data/doc/rdoc/classes/Web/Wiki.src/M000117.html +0 -19
  147. data/doc/rdoc/created.rid +0 -1
  148. data/doc/rdoc/files/README.html +0 -230
  149. data/doc/rdoc/files/doc/apache_cgi_txt.html +0 -76
  150. data/doc/rdoc/files/doc/fastcgi_txt.html +0 -82
  151. data/doc/rdoc/files/doc/mod_ruby_txt.html +0 -62
  152. data/doc/rdoc/files/doc/webrick_txt.html +0 -79
  153. data/doc/rdoc/files/examples/examples_rdoc.html +0 -73
  154. data/doc/rdoc/files/lib/web/cgi_rb.html +0 -75
  155. data/doc/rdoc/files/lib/web/mime_rb.html +0 -67
  156. data/doc/rdoc/files/lib/web/parser_rb.html +0 -73
  157. data/doc/rdoc/files/lib/web/session_rb.html +0 -73
  158. data/doc/rdoc/files/lib/web/template_rb.html +0 -73
  159. data/doc/rdoc/files/lib/web/testing_rb.html +0 -67
  160. data/doc/rdoc/files/lib/web/upload_rb.html +0 -73
  161. data/doc/rdoc/files/lib/web/wiki_rb.html +0 -79
  162. data/doc/rdoc/files/lib/web_rb.html +0 -116
  163. data/doc/rdoc/files/lib/web_rb.src/M000001.html +0 -15
  164. data/doc/rdoc/fr_class_index.html +0 -47
  165. data/doc/rdoc/fr_file_index.html +0 -52
  166. data/doc/rdoc/fr_method_index.html +0 -158
  167. data/doc/rdoc/index.html +0 -22
  168. data/doc/rdoc/rdoc-style.css +0 -99
  169. data/examples/admin.rb~ +0 -5
  170. data/examples/cookbook.rdoc~ +0 -238
  171. data/examples/examples.rdoc~ +0 -17
  172. data/examples/hello.world.rb~ +0 -3
  173. data/examples/session.rb~ +0 -31
  174. data/examples/test/test.hello.world.rb~ +0 -9
  175. data/examples/test/test.session.rb~ +0 -37
  176. data/examples/wiki.rb~ +0 -5
  177. data/lib/web.rb~ +0 -290
  178. data/lib/web/#assertinclude.rb# +0 -110
  179. data/lib/web/assertinclude.rb~ +0 -110
  180. data/lib/web/cgi.rb~ +0 -640
  181. data/lib/web/htmlparser/html-parser.rb~ +0 -429
  182. data/lib/web/htmlparser/sgml-parser.rb~ +0 -332
  183. data/lib/web/htmltools/element.rb~ +0 -296
  184. data/lib/web/htmltools/stparser.rb~ +0 -276
  185. data/lib/web/htmltools/tags.rb~ +0 -286
  186. data/lib/web/htmltools/tree.rb~ +0 -139
  187. data/lib/web/htmltools/xmltree.rb~ +0 -160
  188. data/lib/web/htmltools/xpath.rb~ +0 -71
  189. data/lib/web/parser.rb~ +0 -288
  190. data/lib/web/request.rb~ +0 -238
  191. data/lib/web/runner.rb~ +0 -26
  192. data/lib/web/sapi/fastcgi.rb~ +0 -25
  193. data/lib/web/sapi/mod_ruby.rb~ +0 -46
  194. data/lib/web/sapi/webrick.rb~ +0 -89
  195. data/lib/web/session.rb~ +0 -75
  196. data/lib/web/tagparser.rb~ +0 -96
  197. data/lib/web/template.rb~ +0 -613
  198. data/lib/web/testing.rb~ +0 -546
  199. data/lib/web/unit/response.rb~ +0 -461
  200. data/lib/web/unit/ui/cui/testrunner.rb~ +0 -50
  201. data/lib/web/upload.rb~ +0 -262
  202. data/lib/web/wiki.rb~ +0 -517
  203. data/lib/web/wiki/linker.rb~ +0 -72
  204. data/lib/web/wiki/mime.rb~ +0 -68
  205. data/lib/web/wiki/page.rb~ +0 -192
  206. data/lib/web/wiki/resources/#edit.html# +0 -65
  207. data/lib/web/wiki/resources/admin.html~ +0 -13
  208. data/lib/web/wiki/resources/default-content_editor.html~ +0 -1
  209. data/lib/web/wiki/resources/edit.html~ +0 -2
  210. data/lib/web/wiki/resources/home.html~ +0 -10
  211. data/lib/web/wiki/resources/htmlarea/ChangeLog +0 -1185
  212. data/lib/web/wiki/resources/htmlarea/dialog.js +0 -72
  213. data/lib/web/wiki/resources/htmlarea/examples/2-areas.cgi +0 -16
  214. data/lib/web/wiki/resources/htmlarea/examples/2-areas.html +0 -158
  215. data/lib/web/wiki/resources/htmlarea/examples/context-menu.html +0 -95
  216. data/lib/web/wiki/resources/htmlarea/examples/core.html +0 -184
  217. data/lib/web/wiki/resources/htmlarea/examples/css.html +0 -88
  218. data/lib/web/wiki/resources/htmlarea/examples/custom.css +0 -29
  219. data/lib/web/wiki/resources/htmlarea/examples/full-page.html +0 -75
  220. data/lib/web/wiki/resources/htmlarea/examples/fully-loaded.html +0 -248
  221. data/lib/web/wiki/resources/htmlarea/examples/index.html +0 -40
  222. data/lib/web/wiki/resources/htmlarea/examples/spell-checker.html +0 -132
  223. data/lib/web/wiki/resources/htmlarea/examples/table-operations.html +0 -116
  224. data/lib/web/wiki/resources/htmlarea/examples/test.cgi +0 -21
  225. data/lib/web/wiki/resources/htmlarea/htmlarea.css +0 -180
  226. data/lib/web/wiki/resources/htmlarea/htmlarea.js +0 -2175
  227. data/lib/web/wiki/resources/htmlarea/images/ed_about.gif +0 -0
  228. data/lib/web/wiki/resources/htmlarea/images/ed_align_center.gif +0 -0
  229. data/lib/web/wiki/resources/htmlarea/images/ed_align_justify.gif +0 -0
  230. data/lib/web/wiki/resources/htmlarea/images/ed_align_left.gif +0 -0
  231. data/lib/web/wiki/resources/htmlarea/images/ed_align_right.gif +0 -0
  232. data/lib/web/wiki/resources/htmlarea/images/ed_blank.gif +0 -0
  233. data/lib/web/wiki/resources/htmlarea/images/ed_charmap.gif +0 -0
  234. data/lib/web/wiki/resources/htmlarea/images/ed_color_bg.gif +0 -0
  235. data/lib/web/wiki/resources/htmlarea/images/ed_color_fg.gif +0 -0
  236. data/lib/web/wiki/resources/htmlarea/images/ed_copy.gif +0 -0
  237. data/lib/web/wiki/resources/htmlarea/images/ed_custom.gif +0 -0
  238. data/lib/web/wiki/resources/htmlarea/images/ed_cut.gif +0 -0
  239. data/lib/web/wiki/resources/htmlarea/images/ed_delete.gif +0 -0
  240. data/lib/web/wiki/resources/htmlarea/images/ed_format_bold.gif +0 -0
  241. data/lib/web/wiki/resources/htmlarea/images/ed_format_italic.gif +0 -0
  242. data/lib/web/wiki/resources/htmlarea/images/ed_format_strike.gif +0 -0
  243. data/lib/web/wiki/resources/htmlarea/images/ed_format_sub.gif +0 -0
  244. data/lib/web/wiki/resources/htmlarea/images/ed_format_sup.gif +0 -0
  245. data/lib/web/wiki/resources/htmlarea/images/ed_format_underline.gif +0 -0
  246. data/lib/web/wiki/resources/htmlarea/images/ed_help.gif +0 -0
  247. data/lib/web/wiki/resources/htmlarea/images/ed_hr.gif +0 -0
  248. data/lib/web/wiki/resources/htmlarea/images/ed_html.gif +0 -0
  249. data/lib/web/wiki/resources/htmlarea/images/ed_image.gif +0 -0
  250. data/lib/web/wiki/resources/htmlarea/images/ed_indent_less.gif +0 -0
  251. data/lib/web/wiki/resources/htmlarea/images/ed_indent_more.gif +0 -0
  252. data/lib/web/wiki/resources/htmlarea/images/ed_left_to_right.gif +0 -0
  253. data/lib/web/wiki/resources/htmlarea/images/ed_link.gif +0 -0
  254. data/lib/web/wiki/resources/htmlarea/images/ed_list_bullet.gif +0 -0
  255. data/lib/web/wiki/resources/htmlarea/images/ed_list_num.gif +0 -0
  256. data/lib/web/wiki/resources/htmlarea/images/ed_paste.gif +0 -0
  257. data/lib/web/wiki/resources/htmlarea/images/ed_redo.gif +0 -0
  258. data/lib/web/wiki/resources/htmlarea/images/ed_right_to_left.gif +0 -0
  259. data/lib/web/wiki/resources/htmlarea/images/ed_save.gif +0 -0
  260. data/lib/web/wiki/resources/htmlarea/images/ed_show_border.gif +0 -0
  261. data/lib/web/wiki/resources/htmlarea/images/ed_splitcel.gif +0 -0
  262. data/lib/web/wiki/resources/htmlarea/images/ed_undo.gif +0 -0
  263. data/lib/web/wiki/resources/htmlarea/images/fullscreen_maximize.gif +0 -0
  264. data/lib/web/wiki/resources/htmlarea/images/fullscreen_minimize.gif +0 -0
  265. data/lib/web/wiki/resources/htmlarea/images/insert_table.gif +0 -0
  266. data/lib/web/wiki/resources/htmlarea/index.html +0 -199
  267. data/lib/web/wiki/resources/htmlarea/lang/b5.js +0 -36
  268. data/lib/web/wiki/resources/htmlarea/lang/cz.js +0 -63
  269. data/lib/web/wiki/resources/htmlarea/lang/da.js +0 -38
  270. data/lib/web/wiki/resources/htmlarea/lang/de.js +0 -54
  271. data/lib/web/wiki/resources/htmlarea/lang/ee.js +0 -63
  272. data/lib/web/wiki/resources/htmlarea/lang/el.js +0 -75
  273. data/lib/web/wiki/resources/htmlarea/lang/en.js +0 -88
  274. data/lib/web/wiki/resources/htmlarea/lang/es.js +0 -51
  275. data/lib/web/wiki/resources/htmlarea/lang/fi.js +0 -46
  276. data/lib/web/wiki/resources/htmlarea/lang/fr.js +0 -61
  277. data/lib/web/wiki/resources/htmlarea/lang/gb.js +0 -36
  278. data/lib/web/wiki/resources/htmlarea/lang/he.js +0 -63
  279. data/lib/web/wiki/resources/htmlarea/lang/hu.js +0 -63
  280. data/lib/web/wiki/resources/htmlarea/lang/it.js +0 -54
  281. data/lib/web/wiki/resources/htmlarea/lang/ja-euc.js +0 -37
  282. data/lib/web/wiki/resources/htmlarea/lang/ja-jis.js +0 -37
  283. data/lib/web/wiki/resources/htmlarea/lang/ja-sjis.js +0 -37
  284. data/lib/web/wiki/resources/htmlarea/lang/ja-utf8.js +0 -37
  285. data/lib/web/wiki/resources/htmlarea/lang/lt.js +0 -55
  286. data/lib/web/wiki/resources/htmlarea/lang/lv.js +0 -55
  287. data/lib/web/wiki/resources/htmlarea/lang/nb.js +0 -36
  288. data/lib/web/wiki/resources/htmlarea/lang/nl.js +0 -90
  289. data/lib/web/wiki/resources/htmlarea/lang/no.js +0 -79
  290. data/lib/web/wiki/resources/htmlarea/lang/pl.js +0 -36
  291. data/lib/web/wiki/resources/htmlarea/lang/pt_br.js +0 -37
  292. data/lib/web/wiki/resources/htmlarea/lang/ro.js +0 -80
  293. data/lib/web/wiki/resources/htmlarea/lang/ru.js +0 -63
  294. data/lib/web/wiki/resources/htmlarea/lang/se.js +0 -38
  295. data/lib/web/wiki/resources/htmlarea/lang/si.js +0 -63
  296. data/lib/web/wiki/resources/htmlarea/lang/vn.js +0 -51
  297. data/lib/web/wiki/resources/htmlarea/license.txt +0 -30
  298. data/lib/web/wiki/resources/htmlarea/plugins/CSS/css.js +0 -116
  299. data/lib/web/wiki/resources/htmlarea/plugins/CSS/lang/en.js +0 -2
  300. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/context-menu.js +0 -416
  301. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/lang/de.js +0 -59
  302. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/lang/el.js +0 -57
  303. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/lang/en.js +0 -66
  304. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/lang/nl.js +0 -66
  305. data/lib/web/wiki/resources/htmlarea/plugins/ContextMenu/menu.css +0 -64
  306. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/full-page.js +0 -143
  307. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/img/docprop.gif +0 -0
  308. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/lang/en.js +0 -25
  309. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/lang/ro.js +0 -25
  310. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/popups/docprop.html +0 -131
  311. data/lib/web/wiki/resources/htmlarea/plugins/FullPage/test.html +0 -89
  312. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/img/spell-check.gif +0 -0
  313. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/cz.js +0 -37
  314. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/da.js +0 -37
  315. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/de.js +0 -28
  316. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/en.js +0 -38
  317. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/hu.js +0 -37
  318. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/it.js +0 -28
  319. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/lang/ro.js +0 -37
  320. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/readme-tech.html +0 -114
  321. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/spell-check-logic.cgi +0 -210
  322. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/spell-check-style.css +0 -10
  323. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/spell-check-ui.html +0 -122
  324. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/spell-check-ui.js +0 -397
  325. data/lib/web/wiki/resources/htmlarea/plugins/SpellChecker/spell-checker.js +0 -79
  326. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-delete.gif +0 -0
  327. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-insert-after.gif +0 -0
  328. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-insert-before.gif +0 -0
  329. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-merge.gif +0 -0
  330. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-prop.gif +0 -0
  331. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/cell-split.gif +0 -0
  332. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/col-delete.gif +0 -0
  333. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/col-insert-after.gif +0 -0
  334. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/col-insert-before.gif +0 -0
  335. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/col-split.gif +0 -0
  336. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/row-delete.gif +0 -0
  337. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/row-insert-above.gif +0 -0
  338. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/row-insert-under.gif +0 -0
  339. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/row-prop.gif +0 -0
  340. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/row-split.gif +0 -0
  341. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/img/table-prop.gif +0 -0
  342. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/cz.js +0 -90
  343. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/da.js +0 -90
  344. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/de.js +0 -81
  345. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/el.js +0 -81
  346. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/en.js +0 -90
  347. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/fi.js +0 -66
  348. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/hu.js +0 -63
  349. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/it.js +0 -81
  350. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/nl.js +0 -90
  351. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/no.js +0 -91
  352. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/lang/ro.js +0 -90
  353. data/lib/web/wiki/resources/htmlarea/plugins/TableOperations/table-operations.js +0 -1160
  354. data/lib/web/wiki/resources/htmlarea/popupdiv.js +0 -369
  355. data/lib/web/wiki/resources/htmlarea/popups/about.html +0 -378
  356. data/lib/web/wiki/resources/htmlarea/popups/blank.html +0 -2
  357. data/lib/web/wiki/resources/htmlarea/popups/custom2.html +0 -35
  358. data/lib/web/wiki/resources/htmlarea/popups/editor_help.html +0 -16
  359. data/lib/web/wiki/resources/htmlarea/popups/fullscreen.html +0 -133
  360. data/lib/web/wiki/resources/htmlarea/popups/insert_image.html +0 -191
  361. data/lib/web/wiki/resources/htmlarea/popups/insert_table.html +0 -174
  362. data/lib/web/wiki/resources/htmlarea/popups/link.html +0 -142
  363. data/lib/web/wiki/resources/htmlarea/popups/old-fullscreen.html +0 -131
  364. data/lib/web/wiki/resources/htmlarea/popups/old_insert_image.html +0 -206
  365. data/lib/web/wiki/resources/htmlarea/popups/popup.js +0 -109
  366. data/lib/web/wiki/resources/htmlarea/popups/select_color.html +0 -347
  367. data/lib/web/wiki/resources/htmlarea/popupwin.js +0 -139
  368. data/lib/web/wiki/resources/htmlarea/reference.html +0 -523
  369. data/lib/web/wiki/resources/htmlarea/release-notes.html +0 -165
  370. data/lib/web/wiki/resources/illustration.html~ +0 -1
  371. data/lib/web/wiki/resources/index.html~ +0 -4
  372. data/lib/web/wiki/resources/more_news.html~ +0 -5
  373. data/lib/web/wiki/resources/more_news_rss_0.91.html +0 -23
  374. data/lib/web/wiki/resources/page_history.html~ +0 -19
  375. data/lib/web/wiki/resources/template.html~ +0 -13
  376. data/narf.gemspec~ +0 -40
  377. data/sapi/apache_cgi/INSTALL.txt~ +0 -9
  378. data/sapi/apache_cgi/README~ +0 -0
  379. data/sapi/fastcgi/INSTALL.txt~ +0 -17
  380. data/sapi/mod_ruby/INSTALL.txt~ +0 -5
  381. data/sapi/webrick/INSTALL.txt~ +0 -21
  382. data/sapi/webrick/run_webrick.rb~ +0 -16
  383. data/scripts/makedist.rb~ +0 -49
  384. data/test/mod_ruby_stub.rb~ +0 -38
  385. data/test/test.action.rb~ +0 -142
  386. data/test/test.assertinclude.rb~ +0 -109
  387. data/test/test.narf.cgi.rb~ +0 -105
  388. data/test/test.request.rb~ +0 -328
  389. data/test/test.response.rb~ +0 -556
  390. data/test/test.template.rb~ +0 -832
  391. data/test/test.web.test.rb~ +0 -461
  392. data/test/webunit/test_cookie.rb~ +0 -128
  393. data/test/webunit/test_form.rb~ +0 -43
  394. data/test/webunit/test_multipart.rb~ +0 -53
  395. data/test/webunit/test_params.rb~ +0 -211
  396. data/test/webunit/test_response.rb~ +0 -145
  397. data/test/webunit/test_site/assert.html~ +0 -1
  398. data/test/webunit/test_site/auth/index.html~ +0 -1
  399. data/test/webunit/test_site/badtags.html~ +0 -1
  400. data/test/webunit/test_site/cookie.cgi~ +0 -35
  401. data/test/webunit/test_site/document.xml~ +0 -1
  402. data/test/webunit/test_site/form.html~ +0 -1
  403. data/test/webunit/test_site/frame-0.html~ +0 -1
  404. data/test/webunit/test_site/frame-1.html~ +0 -1
  405. data/test/webunit/test_site/frame.html~ +0 -1
  406. data/test/webunit/test_site/image.html~ +0 -1
  407. data/test/webunit/test_site/include.cgi~ +0 -10
  408. data/test/webunit/test_site/jscript-0.html~ +0 -1
  409. data/test/webunit/test_site/jscript-1.html~ +0 -1
  410. data/test/webunit/test_site/jscript.html~ +0 -1
  411. data/test/webunit/test_site/link.html~ +0 -1
  412. data/test/webunit/test_site/multipart.cgi~ +0 -25
  413. data/test/webunit/test_site/multipart.html~ +0 -1
  414. data/test/webunit/test_site/params.html~ +0 -1
  415. data/test/webunit/test_site/redirect.cgi~ +0 -14
  416. data/test/webunit/test_site/response.html~ +0 -1
  417. data/test/webunit/test_site/simple.cgi~ +0 -17
  418. data/test/webunit/test_site/stock.cgi~ +0 -34
  419. data/test/webunit/test_site/table.html~ +0 -1
  420. data/test/webunit/test_site/test.cgi~ +0 -25
  421. data/test/wiki/test.history.rb~ +0 -254
  422. data/test/wiki/test.illustration_page.rb~ +0 -287
  423. data/test/wiki/test.tarpit.rb~ +0 -40
  424. data/test/wiki/test.wiki.rb~ +0 -295
@@ -1,30 +0,0 @@
1
- htmlArea License (based on BSD license)
2
- Copyright (c) 2002-2004, interactivetools.com, inc.
3
- Copyright (c) 2003-2004 dynarch.com
4
- All rights reserved.
5
-
6
- Redistribution and use in source and binary forms, with or without
7
- modification, are permitted provided that the following conditions are met:
8
-
9
- 1) Redistributions of source code must retain the above copyright notice,
10
- this list of conditions and the following disclaimer.
11
-
12
- 2) Redistributions in binary form must reproduce the above copyright notice,
13
- this list of conditions and the following disclaimer in the documentation
14
- and/or other materials provided with the distribution.
15
-
16
- 3) Neither the name of interactivetools.com, inc. nor the names of its
17
- contributors may be used to endorse or promote products derived from this
18
- software without specific prior written permission.
19
-
20
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30
- POSSIBILITY OF SUCH DAMAGE.
@@ -1,116 +0,0 @@
1
- // Simple CSS (className) plugin for the editor
2
- // Sponsored by http://www.miro.com.au
3
- // Implementation by Mihai Bazon, http://dynarch.com/mishoo.
4
- //
5
- // (c) dynarch.com 2003
6
- // Distributed under the same terms as HTMLArea itself.
7
- // This notice MUST stay intact for use (see license.txt).
8
- //
9
- // $Id: css.js,v 1.4 2003/11/24 01:34:33 mishoo Exp $
10
-
11
- function CSS(editor, params) {
12
- this.editor = editor;
13
- var cfg = editor.config;
14
- var toolbar = cfg.toolbar;
15
- var self = this;
16
- var i18n = CSS.I18N;
17
- var plugin_config = params[0];
18
- var combos = plugin_config.combos;
19
-
20
- var first = true;
21
- for (var i = combos.length; --i >= 0;) {
22
- var combo = combos[i];
23
- var id = "CSS-class" + i;
24
- var css_class = {
25
- id : id,
26
- options : combo.options,
27
- action : function(editor) { self.onSelect(editor, this, combo.context, combo.updatecontextclass); },
28
- refresh : function(editor) { self.updateValue(editor, this); },
29
- context : combo.context
30
- };
31
- cfg.registerDropdown(css_class);
32
-
33
- // prepend to the toolbar
34
- toolbar[1].splice(0, 0, first ? "separator" : "space");
35
- toolbar[1].splice(0, 0, id);
36
- if (combo.label)
37
- toolbar[1].splice(0, 0, "T[" + combo.label + "]");
38
- first = false;
39
- }
40
- };
41
-
42
- CSS._pluginInfo = {
43
- name : "CSS",
44
- version : "1.0",
45
- developer : "Mihai Bazon",
46
- developer_url : "http://dynarch.com/mishoo/",
47
- c_owner : "Mihai Bazon",
48
- sponsor : "Miro International",
49
- sponsor_url : "http://www.miro.com.au",
50
- license : "htmlArea"
51
- };
52
-
53
- CSS.prototype.onSelect = function(editor, obj, context, updatecontextclass) {
54
- var tbobj = editor._toolbarObjects[obj.id];
55
- var index = tbobj.element.selectedIndex;
56
- var className = tbobj.element.value;
57
-
58
- // retrieve parent element of the selection
59
- var parent = editor.getParentElement();
60
- var surround = true;
61
-
62
- var is_span = (parent && parent.tagName.toLowerCase() == "span");
63
- var update_parent = (context && updatecontextclass && parent && parent.tagName.toLowerCase() == context);
64
-
65
- if (update_parent) {
66
- parent.className = className;
67
- editor.updateToolbar();
68
- return;
69
- }
70
-
71
- if (is_span && index == 0 && !/\S/.test(parent.style.cssText)) {
72
- while (parent.firstChild) {
73
- parent.parentNode.insertBefore(parent.firstChild, parent);
74
- }
75
- parent.parentNode.removeChild(parent);
76
- editor.updateToolbar();
77
- return;
78
- }
79
-
80
- if (is_span) {
81
- // maybe we could simply change the class of the parent node?
82
- if (parent.childNodes.length == 1) {
83
- parent.className = className;
84
- surround = false;
85
- // in this case we should handle the toolbar updation
86
- // ourselves.
87
- editor.updateToolbar();
88
- }
89
- }
90
-
91
- // Other possibilities could be checked but require a lot of code. We
92
- // can't afford to do that now.
93
- if (surround) {
94
- // shit happens ;-) most of the time. this method works, but
95
- // it's dangerous when selection spans multiple block-level
96
- // elements.
97
- editor.surroundHTML("<span class='" + className + "'>", "</span>");
98
- }
99
- };
100
-
101
- CSS.prototype.updateValue = function(editor, obj) {
102
- var select = editor._toolbarObjects[obj.id].element;
103
- var parent = editor.getParentElement();
104
- if (typeof parent.className != "undefined" && /\S/.test(parent.className)) {
105
- var options = select.options;
106
- var value = parent.className;
107
- for (var i = options.length; --i >= 0;) {
108
- var option = options[i];
109
- if (value == option.value) {
110
- select.selectedIndex = i;
111
- return;
112
- }
113
- }
114
- }
115
- select.selectedIndex = 0;
116
- };
@@ -1,2 +0,0 @@
1
- // none yet; this file is a stub.
2
- CSS.I18N = {};
@@ -1,416 +0,0 @@
1
- // Context Menu Plugin for HTMLArea-3.0
2
- // Sponsored by www.americanbible.org
3
- // Implementation by Mihai Bazon, http://dynarch.com/mishoo/
4
- //
5
- // (c) dynarch.com 2003.
6
- // Distributed under the same terms as HTMLArea itself.
7
- // This notice MUST stay intact for use (see license.txt).
8
- //
9
- // $Id: context-menu.js,v 1.2 2003/12/05 09:17:02 mishoo Exp $
10
-
11
- HTMLArea.loadStyle("menu.css", "ContextMenu");
12
-
13
- function ContextMenu(editor) {
14
- this.editor = editor;
15
- };
16
-
17
- ContextMenu._pluginInfo = {
18
- name : "ContextMenu",
19
- version : "1.0",
20
- developer : "Mihai Bazon",
21
- developer_url : "http://dynarch.com/mishoo/",
22
- c_owner : "dynarch.com",
23
- sponsor : "American Bible Society",
24
- sponsor_url : "http://www.americanbible.org",
25
- license : "htmlArea"
26
- };
27
-
28
- ContextMenu.prototype.onGenerate = function() {
29
- var self = this;
30
- var doc = this.editordoc = this.editor._iframe.contentWindow.document;
31
- HTMLArea._addEvents(doc, ["contextmenu"],
32
- function (event) {
33
- return self.popupMenu(HTMLArea.is_ie ? self.editor._iframe.contentWindow.event : event);
34
- });
35
- this.currentMenu = null;
36
- };
37
-
38
- ContextMenu.prototype.getContextMenu = function(target) {
39
- var self = this;
40
- var editor = this.editor;
41
- var config = editor.config;
42
- var menu = [];
43
- var tbo = this.editor.plugins.TableOperations;
44
- if (tbo) tbo = tbo.instance;
45
- var i18n = ContextMenu.I18N;
46
-
47
- var selection = editor.hasSelectedText();
48
- if (selection)
49
- menu.push([ i18n["Cut"], function() { editor.execCommand("cut"); }, null, config.btnList["cut"][1] ],
50
- [ i18n["Copy"], function() { editor.execCommand("copy"); }, null, config.btnList["copy"][1] ]);
51
- menu.push([ i18n["Paste"], function() { editor.execCommand("paste"); }, null, config.btnList["paste"][1] ]);
52
-
53
- var currentTarget = target;
54
- var elmenus = [];
55
-
56
- var link = null;
57
- var table = null;
58
- var tr = null;
59
- var td = null;
60
- var img = null;
61
-
62
- function tableOperation(opcode) {
63
- tbo.buttonPress(editor, opcode);
64
- };
65
-
66
- for (; target; target = target.parentNode) {
67
- var tag = target.tagName;
68
- if (!tag)
69
- continue;
70
- tag = tag.toLowerCase();
71
- switch (tag) {
72
- case "img":
73
- img = target;
74
- elmenus.push(null,
75
- [ i18n["Image Properties"],
76
- function() {
77
- editor._insertImage(img);
78
- },
79
- i18n["Show the image properties dialog"],
80
- config.btnList["insertimage"][1] ]
81
- );
82
- break;
83
- case "a":
84
- link = target;
85
- elmenus.push(null,
86
- [ i18n["Modify Link"],
87
- function() { editor.execCommand("createlink", true); },
88
- i18n["Current URL is"] + ': ' + link.href,
89
- config.btnList["createlink"][1] ],
90
-
91
- [ i18n["Check Link"],
92
- function() { window.open(link.href); },
93
- i18n["Opens this link in a new window"] ],
94
-
95
- [ i18n["Remove Link"],
96
- function() {
97
- if (confirm(i18n["Please confirm that you want to unlink this element."] + "\n" +
98
- i18n["Link points to:"] + " " + link.href)) {
99
- while (link.firstChild)
100
- link.parentNode.insertBefore(link.firstChild, link);
101
- link.parentNode.removeChild(link);
102
- }
103
- },
104
- i18n["Unlink the current element"] ]
105
- );
106
- break;
107
- case "td":
108
- td = target;
109
- if (!tbo) break;
110
- elmenus.push(null,
111
- [ i18n["Cell Properties"],
112
- function() { tableOperation("TO-cell-prop"); },
113
- i18n["Show the Table Cell Properties dialog"],
114
- config.btnList["TO-cell-prop"][1] ]
115
- );
116
- break;
117
- case "tr":
118
- tr = target;
119
- if (!tbo) break;
120
- elmenus.push(null,
121
- [ i18n["Row Properties"],
122
- function() { tableOperation("TO-row-prop"); },
123
- i18n["Show the Table Row Properties dialog"],
124
- config.btnList["TO-row-prop"][1] ],
125
-
126
- [ i18n["Insert Row Before"],
127
- function() { tableOperation("TO-row-insert-above"); },
128
- i18n["Insert a new row before the current one"],
129
- config.btnList["TO-row-insert-above"][1] ],
130
-
131
- [ i18n["Insert Row After"],
132
- function() { tableOperation("TO-row-insert-under"); },
133
- i18n["Insert a new row after the current one"],
134
- config.btnList["TO-row-insert-under"][1] ],
135
-
136
- [ i18n["Delete Row"],
137
- function() { tableOperation("TO-row-delete"); },
138
- i18n["Delete the current row"],
139
- config.btnList["TO-row-delete"][1] ]
140
- );
141
- break;
142
- case "table":
143
- table = target;
144
- if (!tbo) break;
145
- elmenus.push(null,
146
- [ i18n["Table Properties"],
147
- function() { tableOperation("TO-table-prop"); },
148
- i18n["Show the Table Properties dialog"],
149
- config.btnList["TO-table-prop"][1] ],
150
-
151
- [ i18n["Insert Column Before"],
152
- function() { tableOperation("TO-col-insert-before"); },
153
- i18n["Insert a new column before the current one"],
154
- config.btnList["TO-col-insert-before"][1] ],
155
-
156
- [ i18n["Insert Column After"],
157
- function() { tableOperation("TO-col-insert-after"); },
158
- i18n["Insert a new column after the current one"],
159
- config.btnList["TO-col-insert-after"][1] ],
160
-
161
- [ i18n["Delete Column"],
162
- function() { tableOperation("TO-col-delete"); },
163
- i18n["Delete the current column"],
164
- config.btnList["TO-col-delete"][1] ]
165
- );
166
- break;
167
- case "body":
168
- elmenus.push(null,
169
- [ i18n["Justify Left"],
170
- function() { editor.execCommand("justifyleft"); }, null,
171
- config.btnList["justifyleft"][1] ],
172
- [ i18n["Justify Center"],
173
- function() { editor.execCommand("justifycenter"); }, null,
174
- config.btnList["justifycenter"][1] ],
175
- [ i18n["Justify Right"],
176
- function() { editor.execCommand("justifyright"); }, null,
177
- config.btnList["justifyright"][1] ],
178
- [ i18n["Justify Full"],
179
- function() { editor.execCommand("justifyfull"); }, null,
180
- config.btnList["justifyfull"][1] ]
181
- );
182
- break;
183
- }
184
- }
185
-
186
- if (selection && !link)
187
- menu.push(null, [ i18n["Make link"],
188
- function() { editor.execCommand("createlink", true); },
189
- i18n["Create a link"],
190
- config.btnList["createlink"][1] ]);
191
-
192
- for (var i in elmenus)
193
- menu.push(elmenus[i]);
194
-
195
- menu.push(null,
196
- [ i18n["Remove the"] + " &lt;" + currentTarget.tagName + "&gt; " + i18n["Element"],
197
- function() {
198
- if (confirm(i18n["Please confirm that you want to remove this element:"] + " " + currentTarget.tagName)) {
199
- var el = currentTarget;
200
- var p = el.parentNode;
201
- p.removeChild(el);
202
- if (HTMLArea.is_gecko) {
203
- if (p.tagName.toLowerCase() == "td" && !p.hasChildNodes())
204
- p.appendChild(editor._doc.createElement("br"));
205
- editor.forceRedraw();
206
- editor.focusEditor();
207
- editor.updateToolbar();
208
- if (table) {
209
- var save_collapse = table.style.borderCollapse;
210
- table.style.borderCollapse = "collapse";
211
- table.style.borderCollapse = "separate";
212
- table.style.borderCollapse = save_collapse;
213
- }
214
- }
215
- }
216
- },
217
- i18n["Remove this node from the document"] ]);
218
- return menu;
219
- };
220
-
221
- ContextMenu.prototype.popupMenu = function(ev) {
222
- var self = this;
223
- var i18n = ContextMenu.I18N;
224
- if (this.currentMenu)
225
- this.currentMenu.parentNode.removeChild(this.currentMenu);
226
- function getPos(el) {
227
- var r = { x: el.offsetLeft, y: el.offsetTop };
228
- if (el.offsetParent) {
229
- var tmp = getPos(el.offsetParent);
230
- r.x += tmp.x;
231
- r.y += tmp.y;
232
- }
233
- return r;
234
- };
235
- function documentClick(ev) {
236
- ev || (ev = window.event);
237
- if (!self.currentMenu) {
238
- alert(i18n["How did you get here? (Please report!)"]);
239
- return false;
240
- }
241
- var el = HTMLArea.is_ie ? ev.srcElement : ev.target;
242
- for (; el != null && el != self.currentMenu; el = el.parentNode);
243
- if (el == null)
244
- self.closeMenu();
245
- //HTMLArea._stopEvent(ev);
246
- //return false;
247
- };
248
- var keys = [];
249
- function keyPress(ev) {
250
- ev || (ev = window.event);
251
- HTMLArea._stopEvent(ev);
252
- if (ev.keyCode == 27) {
253
- self.closeMenu();
254
- return false;
255
- }
256
- var key = String.fromCharCode(HTMLArea.is_ie ? ev.keyCode : ev.charCode).toLowerCase();
257
- for (var i = keys.length; --i >= 0;) {
258
- var k = keys[i];
259
- if (k[0].toLowerCase() == key)
260
- k[1].__msh.activate();
261
- }
262
- };
263
- self.closeMenu = function() {
264
- self.currentMenu.parentNode.removeChild(self.currentMenu);
265
- self.currentMenu = null;
266
- HTMLArea._removeEvent(document, "mousedown", documentClick);
267
- HTMLArea._removeEvent(self.editordoc, "mousedown", documentClick);
268
- if (keys.length > 0)
269
- HTMLArea._removeEvent(self.editordoc, "keypress", keyPress);
270
- if (HTMLArea.is_ie)
271
- self.iePopup.hide();
272
- };
273
- var target = HTMLArea.is_ie ? ev.srcElement : ev.target;
274
- var ifpos = getPos(self.editor._iframe);
275
- var x = ev.clientX + ifpos.x;
276
- var y = ev.clientY + ifpos.y;
277
-
278
- var div;
279
- var doc;
280
- if (!HTMLArea.is_ie) {
281
- doc = document;
282
- } else {
283
- // IE stinks
284
- var popup = this.iePopup = window.createPopup();
285
- doc = popup.document;
286
- doc.open();
287
- doc.write("<html><head><style type='text/css'>@import url(" + _editor_url + "plugins/ContextMenu/menu.css); html, body { padding: 0px; margin: 0px; overflow: hidden; border: 0px; }</style></head><body unselectable='yes'></body></html>");
288
- doc.close();
289
- }
290
- div = doc.createElement("div");
291
- if (HTMLArea.is_ie)
292
- div.unselectable = "on";
293
- div.oncontextmenu = function() { return false; };
294
- div.className = "htmlarea-context-menu";
295
- if (!HTMLArea.is_ie)
296
- div.style.left = div.style.top = "0px";
297
- doc.body.appendChild(div);
298
-
299
- var table = doc.createElement("table");
300
- div.appendChild(table);
301
- table.cellSpacing = 0;
302
- table.cellPadding = 0;
303
- var parent = doc.createElement("tbody");
304
- table.appendChild(parent);
305
-
306
- var options = this.getContextMenu(target);
307
- for (var i = 0; i < options.length; ++i) {
308
- var option = options[i];
309
- var item = doc.createElement("tr");
310
- parent.appendChild(item);
311
- if (HTMLArea.is_ie)
312
- item.unselectable = "on";
313
- else item.onmousedown = function(ev) {
314
- HTMLArea._stopEvent(ev);
315
- return false;
316
- };
317
- if (!option) {
318
- item.className = "separator";
319
- var td = doc.createElement("td");
320
- td.className = "icon";
321
- var IE_IS_A_FUCKING_SHIT = '>';
322
- if (HTMLArea.is_ie) {
323
- td.unselectable = "on";
324
- IE_IS_A_FUCKING_SHIT = " unselectable='on' style='height=1px'>&nbsp;";
325
- }
326
- td.innerHTML = "<div" + IE_IS_A_FUCKING_SHIT + "</div>";
327
- var td1 = td.cloneNode(true);
328
- td1.className = "label";
329
- item.appendChild(td);
330
- item.appendChild(td1);
331
- } else {
332
- var label = option[0];
333
- item.className = "item";
334
- item.__msh = {
335
- item: item,
336
- label: label,
337
- action: option[1],
338
- tooltip: option[2] || null,
339
- icon: option[3] || null,
340
- activate: function() {
341
- self.closeMenu();
342
- self.editor.focusEditor();
343
- this.action();
344
- }
345
- };
346
- label = label.replace(/_([a-zA-Z0-9])/, "<u>$1</u>");
347
- if (label != option[0])
348
- keys.push([ RegExp.$1, item ]);
349
- label = label.replace(/__/, "_");
350
- var td1 = doc.createElement("td");
351
- if (HTMLArea.is_ie)
352
- td1.unselectable = "on";
353
- item.appendChild(td1);
354
- td1.className = "icon";
355
- if (item.__msh.icon)
356
- td1.innerHTML = "<img align='middle' src='" + item.__msh.icon + "' />";
357
- var td2 = doc.createElement("td");
358
- if (HTMLArea.is_ie)
359
- td2.unselectable = "on";
360
- item.appendChild(td2);
361
- td2.className = "label";
362
- td2.innerHTML = label;
363
- item.onmouseover = function() {
364
- this.className += " hover";
365
- self.editor._statusBarTree.innerHTML = this.__msh.tooltip || '&nbsp;';
366
- };
367
- item.onmouseout = function() { this.className = "item"; };
368
- item.oncontextmenu = function(ev) {
369
- this.__msh.activate();
370
- if (!HTMLArea.is_ie)
371
- HTMLArea._stopEvent(ev);
372
- return false;
373
- };
374
- item.onmouseup = function(ev) {
375
- var timeStamp = (new Date()).getTime();
376
- if (timeStamp - self.timeStamp > 500)
377
- this.__msh.activate();
378
- if (!HTMLArea.is_ie)
379
- HTMLArea._stopEvent(ev);
380
- return false;
381
- };
382
- //if (typeof option[2] == "string")
383
- //item.title = option[2];
384
- }
385
- }
386
-
387
- if (!HTMLArea.is_ie) {
388
- var dx = x + div.offsetWidth - window.innerWidth + 4;
389
- var dy = y + div.offsetHeight - window.innerHeight + 4;
390
- if (dx > 0) x -= dx;
391
- if (dy > 0) y -= dy;
392
- div.style.left = x + "px";
393
- div.style.top = y + "px";
394
- } else {
395
- // determine the size (did I mention that IE stinks?)
396
- var foobar = document.createElement("div");
397
- foobar.className = "htmlarea-context-menu";
398
- foobar.innerHTML = div.innerHTML;
399
- document.body.appendChild(foobar);
400
- var w = foobar.offsetWidth;
401
- var h = foobar.offsetHeight;
402
- document.body.removeChild(foobar);
403
- this.iePopup.show(ev.screenX, ev.screenY, w, h);
404
- }
405
-
406
- this.currentMenu = div;
407
- this.timeStamp = (new Date()).getTime();
408
-
409
- HTMLArea._addEvent(document, "mousedown", documentClick);
410
- HTMLArea._addEvent(this.editordoc, "mousedown", documentClick);
411
- if (keys.length > 0)
412
- HTMLArea._addEvent(this.editordoc, "keypress", keyPress);
413
-
414
- HTMLArea._stopEvent(ev);
415
- return false;
416
- };