narf 0.6.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
- };