arrow 1.0.7

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 (198) hide show
  1. data/ChangeLog +1590 -0
  2. data/LICENSE +28 -0
  3. data/README +75 -0
  4. data/Rakefile +366 -0
  5. data/Rakefile.local +63 -0
  6. data/data/arrow/applets/TEMPLATE.rb.tpl +53 -0
  7. data/data/arrow/applets/args.rb +50 -0
  8. data/data/arrow/applets/config.rb +55 -0
  9. data/data/arrow/applets/error.rb +63 -0
  10. data/data/arrow/applets/files.rb +46 -0
  11. data/data/arrow/applets/inspect.rb +46 -0
  12. data/data/arrow/applets/nosuchapplet.rb +31 -0
  13. data/data/arrow/applets/status.rb +92 -0
  14. data/data/arrow/applets/test.rb +133 -0
  15. data/data/arrow/applets/tutorial/counter.rb +96 -0
  16. data/data/arrow/applets/tutorial/dingus.rb +67 -0
  17. data/data/arrow/applets/tutorial/hello.rb +34 -0
  18. data/data/arrow/applets/tutorial/hello2.rb +73 -0
  19. data/data/arrow/applets/tutorial/imgtext.rb +90 -0
  20. data/data/arrow/applets/tutorial/imgtext2.rb +286 -0
  21. data/data/arrow/applets/tutorial/index.rb +36 -0
  22. data/data/arrow/applets/tutorial/logo.rb +98 -0
  23. data/data/arrow/applets/tutorial/memcache.rb +61 -0
  24. data/data/arrow/applets/tutorial/missing.rb +37 -0
  25. data/data/arrow/applets/tutorial/protected.rb +100 -0
  26. data/data/arrow/applets/tutorial/redirector.rb +52 -0
  27. data/data/arrow/applets/tutorial/rndimages.rb +159 -0
  28. data/data/arrow/applets/tutorial/sharenotes.rb +83 -0
  29. data/data/arrow/applets/tutorial/subclassed-hello.rb +32 -0
  30. data/data/arrow/applets/tutorial/superhello.rb +72 -0
  31. data/data/arrow/applets/tutorial/timeclock.rb +78 -0
  32. data/data/arrow/applets/view-applet.rb +123 -0
  33. data/data/arrow/applets/view-template.rb +85 -0
  34. data/data/arrow/applets/wiki.rb +274 -0
  35. data/data/arrow/templates/TEMPLATE.tmpl.tpl +36 -0
  36. data/data/arrow/templates/applet-status.tmpl +153 -0
  37. data/data/arrow/templates/args-display.tmpl +120 -0
  38. data/data/arrow/templates/config/display-table.tmpl +36 -0
  39. data/data/arrow/templates/config/display.tmpl +36 -0
  40. data/data/arrow/templates/counter-deleted.tmpl +33 -0
  41. data/data/arrow/templates/counter.tmpl +59 -0
  42. data/data/arrow/templates/dingus.tmpl +55 -0
  43. data/data/arrow/templates/enumtable.tmpl +8 -0
  44. data/data/arrow/templates/error-display.tmpl +92 -0
  45. data/data/arrow/templates/filemap.tmpl +89 -0
  46. data/data/arrow/templates/hello-world-src.tmpl +34 -0
  47. data/data/arrow/templates/hello-world.tmpl +60 -0
  48. data/data/arrow/templates/imgtext/fontlist.tmpl +46 -0
  49. data/data/arrow/templates/imgtext/form.tmpl +70 -0
  50. data/data/arrow/templates/imgtext/reload-error.tmpl +40 -0
  51. data/data/arrow/templates/imgtext/reload.tmpl +55 -0
  52. data/data/arrow/templates/inspect/display.tmpl +80 -0
  53. data/data/arrow/templates/loginform.tmpl +64 -0
  54. data/data/arrow/templates/logout.tmpl +32 -0
  55. data/data/arrow/templates/memcache/display.tmpl +41 -0
  56. data/data/arrow/templates/navbar.incl +27 -0
  57. data/data/arrow/templates/nosuchapplet.tmpl +32 -0
  58. data/data/arrow/templates/printsource.tmpl +35 -0
  59. data/data/arrow/templates/protected.tmpl +36 -0
  60. data/data/arrow/templates/rndimages.tmpl +38 -0
  61. data/data/arrow/templates/service-response.tmpl +13 -0
  62. data/data/arrow/templates/sharenotes/display.tmpl +38 -0
  63. data/data/arrow/templates/status.tmpl +120 -0
  64. data/data/arrow/templates/templateviewer.tmpl +43 -0
  65. data/data/arrow/templates/test/harness.tmpl +57 -0
  66. data/data/arrow/templates/test/list.tmpl +48 -0
  67. data/data/arrow/templates/test/problem.tmpl +42 -0
  68. data/data/arrow/templates/tutorial/index.tmpl +37 -0
  69. data/data/arrow/templates/tutorial/missingapplet.tmpl +29 -0
  70. data/data/arrow/templates/view-applet-nosuch.tmpl +32 -0
  71. data/data/arrow/templates/view-applet.tmpl +40 -0
  72. data/data/arrow/templates/view-template.tmpl +83 -0
  73. data/data/arrow/templates/wiki/formerror.tmpl +47 -0
  74. data/data/arrow/templates/wiki/markup_help.incl +6 -0
  75. data/data/arrow/templates/wiki/new.tmpl +56 -0
  76. data/data/arrow/templates/wiki/new_system.tmpl +122 -0
  77. data/data/arrow/templates/wiki/sectionlist.tmpl +43 -0
  78. data/data/arrow/templates/wiki/show.tmpl +34 -0
  79. data/docs/manual/layouts/default.page +43 -0
  80. data/docs/manual/lib/api-filter.rb +81 -0
  81. data/docs/manual/lib/editorial-filter.rb +64 -0
  82. data/docs/manual/lib/examples-filter.rb +244 -0
  83. data/docs/manual/lib/links-filter.rb +117 -0
  84. data/lib/apache/fakerequest.rb +448 -0
  85. data/lib/apache/logger.rb +33 -0
  86. data/lib/arrow.rb +51 -0
  87. data/lib/arrow/acceptparam.rb +207 -0
  88. data/lib/arrow/applet.rb +725 -0
  89. data/lib/arrow/appletmixins.rb +218 -0
  90. data/lib/arrow/appletregistry.rb +590 -0
  91. data/lib/arrow/applettestcase.rb +503 -0
  92. data/lib/arrow/broker.rb +255 -0
  93. data/lib/arrow/cache.rb +176 -0
  94. data/lib/arrow/config-loaders/yaml.rb +75 -0
  95. data/lib/arrow/config.rb +615 -0
  96. data/lib/arrow/constants.rb +24 -0
  97. data/lib/arrow/cookie.rb +359 -0
  98. data/lib/arrow/cookieset.rb +108 -0
  99. data/lib/arrow/dispatcher.rb +368 -0
  100. data/lib/arrow/dispatcherloader.rb +50 -0
  101. data/lib/arrow/exceptions.rb +61 -0
  102. data/lib/arrow/fallbackhandler.rb +48 -0
  103. data/lib/arrow/formvalidator.rb +631 -0
  104. data/lib/arrow/htmltokenizer.rb +343 -0
  105. data/lib/arrow/logger.rb +488 -0
  106. data/lib/arrow/logger/apacheoutputter.rb +69 -0
  107. data/lib/arrow/logger/arrayoutputter.rb +63 -0
  108. data/lib/arrow/logger/coloroutputter.rb +111 -0
  109. data/lib/arrow/logger/fileoutputter.rb +96 -0
  110. data/lib/arrow/logger/htmloutputter.rb +54 -0
  111. data/lib/arrow/logger/outputter.rb +123 -0
  112. data/lib/arrow/mixins.rb +425 -0
  113. data/lib/arrow/monkeypatches.rb +94 -0
  114. data/lib/arrow/object.rb +117 -0
  115. data/lib/arrow/path.rb +196 -0
  116. data/lib/arrow/service.rb +447 -0
  117. data/lib/arrow/session.rb +289 -0
  118. data/lib/arrow/session/dbstore.rb +100 -0
  119. data/lib/arrow/session/filelock.rb +160 -0
  120. data/lib/arrow/session/filestore.rb +132 -0
  121. data/lib/arrow/session/id.rb +98 -0
  122. data/lib/arrow/session/lock.rb +253 -0
  123. data/lib/arrow/session/md5id.rb +42 -0
  124. data/lib/arrow/session/nulllock.rb +42 -0
  125. data/lib/arrow/session/posixlock.rb +166 -0
  126. data/lib/arrow/session/sha1id.rb +54 -0
  127. data/lib/arrow/session/store.rb +366 -0
  128. data/lib/arrow/session/usertrackid.rb +52 -0
  129. data/lib/arrow/spechelpers.rb +73 -0
  130. data/lib/arrow/template.rb +713 -0
  131. data/lib/arrow/template/attr.rb +31 -0
  132. data/lib/arrow/template/call.rb +31 -0
  133. data/lib/arrow/template/comment.rb +33 -0
  134. data/lib/arrow/template/container.rb +118 -0
  135. data/lib/arrow/template/else.rb +41 -0
  136. data/lib/arrow/template/elsif.rb +44 -0
  137. data/lib/arrow/template/escape.rb +53 -0
  138. data/lib/arrow/template/export.rb +87 -0
  139. data/lib/arrow/template/for.rb +145 -0
  140. data/lib/arrow/template/if.rb +78 -0
  141. data/lib/arrow/template/import.rb +119 -0
  142. data/lib/arrow/template/include.rb +206 -0
  143. data/lib/arrow/template/iterator.rb +208 -0
  144. data/lib/arrow/template/nodes.rb +734 -0
  145. data/lib/arrow/template/parser.rb +571 -0
  146. data/lib/arrow/template/prettyprint.rb +53 -0
  147. data/lib/arrow/template/render.rb +191 -0
  148. data/lib/arrow/template/selectlist.rb +94 -0
  149. data/lib/arrow/template/set.rb +87 -0
  150. data/lib/arrow/template/timedelta.rb +81 -0
  151. data/lib/arrow/template/unless.rb +78 -0
  152. data/lib/arrow/template/urlencode.rb +51 -0
  153. data/lib/arrow/template/yield.rb +139 -0
  154. data/lib/arrow/templatefactory.rb +125 -0
  155. data/lib/arrow/testcase.rb +567 -0
  156. data/lib/arrow/transaction.rb +608 -0
  157. data/rake/191_compat.rb +26 -0
  158. data/rake/dependencies.rb +76 -0
  159. data/rake/documentation.rb +114 -0
  160. data/rake/helpers.rb +502 -0
  161. data/rake/hg.rb +282 -0
  162. data/rake/manual.rb +787 -0
  163. data/rake/packaging.rb +129 -0
  164. data/rake/publishing.rb +278 -0
  165. data/rake/style.rb +62 -0
  166. data/rake/svn.rb +668 -0
  167. data/rake/testing.rb +187 -0
  168. data/rake/verifytask.rb +64 -0
  169. data/spec/arrow/acceptparam_spec.rb +157 -0
  170. data/spec/arrow/applet_spec.rb +575 -0
  171. data/spec/arrow/appletmixins_spec.rb +409 -0
  172. data/spec/arrow/appletregistry_spec.rb +294 -0
  173. data/spec/arrow/broker_spec.rb +153 -0
  174. data/spec/arrow/config_spec.rb +224 -0
  175. data/spec/arrow/cookieset_spec.rb +164 -0
  176. data/spec/arrow/dispatcher_spec.rb +137 -0
  177. data/spec/arrow/dispatcherloader_spec.rb +65 -0
  178. data/spec/arrow/formvalidator_spec.rb +781 -0
  179. data/spec/arrow/logger_spec.rb +346 -0
  180. data/spec/arrow/mixins_spec.rb +120 -0
  181. data/spec/arrow/service_spec.rb +645 -0
  182. data/spec/arrow/session_spec.rb +121 -0
  183. data/spec/arrow/template/iterator_spec.rb +222 -0
  184. data/spec/arrow/templatefactory_spec.rb +185 -0
  185. data/spec/arrow/transaction_spec.rb +319 -0
  186. data/spec/arrow_spec.rb +37 -0
  187. data/spec/lib/appletmatchers.rb +281 -0
  188. data/spec/lib/constants.rb +77 -0
  189. data/spec/lib/helpers.rb +41 -0
  190. data/spec/lib/matchers.rb +44 -0
  191. data/tests/cookie.tests.rb +310 -0
  192. data/tests/path.tests.rb +157 -0
  193. data/tests/session.tests.rb +111 -0
  194. data/tests/session_id.tests.rb +82 -0
  195. data/tests/session_lock.tests.rb +191 -0
  196. data/tests/session_store.tests.rb +53 -0
  197. data/tests/template.tests.rb +1360 -0
  198. metadata +339 -0
@@ -0,0 +1,40 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
+
5
+ <!--
6
+
7
+ Image Text Creator: Font Reload Failed
8
+
9
+ -->
10
+
11
+ <head>
12
+ <title>Image Text Creator: Font Reload Failed</title>
13
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
14
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
15
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
16
+ </head>
17
+ <body>
18
+
19
+ <h1>Error</h1>
20
+
21
+ <p>An error occurred while attempting to reload the fonts for this
22
+ application. The previous copies were retained.</p>
23
+
24
+ <h2>Error Information</h2>
25
+
26
+ <p><?escape exception.message ?></p>
27
+
28
+ <pre><?escape exception.backtrace.join("\n") ?></pre>
29
+
30
+ <?include navbar.incl?>
31
+
32
+ </body>
33
+ </html>
34
+
35
+
36
+ <!--
37
+ Local Variables:
38
+ mode: nxml
39
+ -->
40
+
@@ -0,0 +1,55 @@
1
+ <?xml version="1.0" encoding="iso-8859-1"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
+
5
+ <!--
6
+
7
+ Image Text Creator: Fonts Reloaded
8
+
9
+ -->
10
+
11
+ <head>
12
+ <title>Image Text Creator: Fonts Reloaded</title>
13
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
14
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
15
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
16
+ </head>
17
+ <body>
18
+
19
+ <h1>Image Text Creator: Fonts Reloaded</h1>
20
+
21
+ <p>Reload succeeded.</p>
22
+
23
+ <?if newfonts.empty? ?>
24
+ <?else?>
25
+ <h2>New Fonts</h2>
26
+ <dl>
27
+ <?for name,font in newfonts.sort_by {|k,v| [k, v[:family], v[:style]]} ?>
28
+ <dt><a href="[?call txn.applet ?]/[?attr name ?]/72/72%20Pt.%20[?urlencode font[:family] ?].png"><?attr name ?></a></dt>
29
+ <dd><?call font[:family] ?> <?call font[:style] ?></dd>
30
+ <?end?>
31
+ </dl>
32
+ <?end?>
33
+
34
+ <?if removedfonts.empty? ?>
35
+ <?else?>
36
+ <h2>Removed Fonts</h2>
37
+ <dl>
38
+ <?for name,font in newfonts.sort_by {|k,v| [k, v[:family], v[:style]]} ?>
39
+ <dt><?attr name ?></dt>
40
+ <dd><?call font[:family] ?> <?call font[:style] ?></dd>
41
+ <?end?>
42
+ </dl>
43
+ <?end?>
44
+
45
+ <?include navbar.incl?>
46
+
47
+ </body>
48
+ </html>
49
+
50
+
51
+ <!--
52
+ Local Variables:
53
+ mode: xml
54
+ -->
55
+
@@ -0,0 +1,80 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
4
+
5
+ <!--
6
+
7
+ Arrow Transaction Inspector
8
+
9
+ -->
10
+
11
+ <head>
12
+ <title>Arrow Transaction Inspector</title>
13
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
14
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
15
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
16
+ </head>
17
+ <body>
18
+
19
+ <h1>Arrow Transaction Inspector</h1>
20
+
21
+ <p>
22
+ <code><?escape txn.inspect ?></code>
23
+ </p>
24
+
25
+ <dl class="linelist">
26
+ <dt>uri</dt>
27
+ <dd><code><?call txn.uri.inspect ?></code></dd>
28
+
29
+ <dt>path_info</dt>
30
+ <dd><code><?call txn.path_info.inspect ?></code></dd>
31
+
32
+ <dt>app_root</dt>
33
+ <dd><code><?call txn.app_root.inspect ?></code></dd>
34
+
35
+ <dt>app_root_url</dt>
36
+ <dd><code><?call txn.app_root_url.inspect ?></code></dd>
37
+
38
+ <dt>applet</dt>
39
+ <dd><code><?call txn.applet.inspect ?></code></dd>
40
+
41
+ <dt>applet_url</dt>
42
+ <dd><code><?call txn.applet_url.inspect ?></code></dd>
43
+
44
+ <dt>headers_in</dt>
45
+ <dd>
46
+ <dl class="boldlist">
47
+ <?for hdr, val in txn.headers_in ?>
48
+ <dt><?attr hdr ?></dt>
49
+ <dd><code><?escape val.inspect ?></code></dd>
50
+ <?end?>
51
+ </dl>
52
+ </dd>
53
+
54
+ <dt>referer</dt>
55
+ <dd><code><?call txn.referer.inspect ?></code></dd>
56
+
57
+ <dt>referringApplet</dt>
58
+ <dd><code><?call txn.referringApplet.inspect ?></code></dd>
59
+
60
+ <dt>referringAction</dt>
61
+ <dd><code><?call txn.referringAction.inspect ?></code></dd>
62
+
63
+ <dt>unparsed_uri</dt>
64
+ <dd><code><?call txn.unparsed_uri.inspect ?></code></dd>
65
+
66
+ <dt>full_url</dt>
67
+ <dd><code><?call txn.construct_url("/arrow/inspect") ?></code></dd>
68
+ </dl>
69
+
70
+ <?include navbar.incl?>
71
+
72
+ </body>
73
+ </html>
74
+
75
+
76
+ <!--
77
+ Local Variables:
78
+ mode: nxml
79
+ -->
80
+
@@ -0,0 +1,64 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Login Form Template
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title>Login Form Template</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1>Login</h1>
19
+
20
+ <?if errors?>
21
+ <div id="errors">
22
+ <p>The following errors occurred while authenticating:</p>
23
+ <ul>
24
+ <?yield msg from errors.each?>
25
+ <li><?attr msg?></li>
26
+ <?end yield?>
27
+ </ul>
28
+ </div>
29
+ <?end if?>
30
+
31
+ <p>Please log in:</p>
32
+
33
+ <form id="loginform" action="[?call txn.request.uri?]" method="post">
34
+ <fieldset>
35
+ <table>
36
+ <tr>
37
+ <th><label for="username-field">Username: </label></th>
38
+ <td><input id="username-field" type="text" name="username" value="[?call
39
+ txn.request.param('username')?]"/></td>
40
+ </tr>
41
+
42
+ <tr>
43
+ <th><label for="password-field">Password: </label></th>
44
+ <td><input id="password-field" type="password" name="password"
45
+ value=""/></td>
46
+ </tr>
47
+ </table>
48
+ </fieldset>
49
+
50
+ <fieldset>
51
+ <input type="submit" name="Log In" value="Log In"/>
52
+ </fieldset>
53
+
54
+ <?include navbar.incl?>
55
+
56
+ </body>
57
+ </html>
58
+
59
+
60
+ <!--
61
+ Local Variables:
62
+ mode: xml
63
+ -->
64
+
@@ -0,0 +1,32 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Logged out
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title>Logged out</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1>Logged out</h1>
19
+
20
+ <p>You are now logged out.</p>
21
+
22
+ <?include navbar.incl?>
23
+
24
+ </body>
25
+ </html>
26
+
27
+
28
+ <!--
29
+ Local Variables:
30
+ mode: xml
31
+ -->
32
+
@@ -0,0 +1,41 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Web Interface to MemCache
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title>Web Interface to MemCache</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1>Web Interface to MemCache</h1>
19
+
20
+ <p>The following servers are visible:</p>
21
+
22
+ <dl>
23
+ <?for server in memcache.servers ?>
24
+ <dt><a href="[?call txn.action ?]/detail/[?call
25
+ server.host ?]/[?call server.port ?]"><?call server.host ?>:<?call
26
+ server.port?></a></dt>
27
+ <dd><?call server.status ?>: weight = <?call server.weight ?></dd>
28
+ <?end?>
29
+ </dl>
30
+
31
+ <?include navbar.incl?>
32
+
33
+ </body>
34
+ </html>
35
+
36
+
37
+ <!--
38
+ Local Variables:
39
+ mode: nxml
40
+ -->
41
+
@@ -0,0 +1,27 @@
1
+ <div id="navbar" class="dashbox">
2
+ &lt;
3
+ <?if txn?>
4
+ <a href="[?call txn.app_root ?]">Top</a> |
5
+ <a href="[?call txn.app_root ?]/status/applet/[?call txn.applet_path?]">Applet Status</a> |
6
+ <a href="[?call txn.app_root ?]/view-applet/[?call txn.applet_path?]">Applet Source</a> |
7
+ <?else?>
8
+ <!-- Cannot build top links without a transaction object called 'txn'. -->
9
+ <?end if?>
10
+ <a href="http://validator.w3.org/check/referer">Validate</a>
11
+ &gt;
12
+ </div>
13
+
14
+ <div id="copyright">
15
+ <?if txn ?>
16
+ <p>Arrow Version <?call txn.arrow_version ?></p>
17
+ <?end if ?>
18
+ <p>Copyright &copy; 2003, 2004, <a
19
+ href="http://www.rubycrafters.com/">RubyCrafters, LLC</a>. Most rights
20
+ reserved.</p>
21
+
22
+ <p>This work is licensed under the Creative Commons Attribution-ShareAlike
23
+ License. To view a copy of this license, visit <a
24
+ href="http://creativecommons.org/licenses/by-sa/1.0/">http://creativecommons.org/licenses/by-sa/1.0/</a>
25
+ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford,
26
+ California 94305, USA.</p>
27
+ </div>
@@ -0,0 +1,32 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ No Such Applet
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title>No Such Applet</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1>No Such Applet</h1>
19
+
20
+ <p>No applet exists at the URI you entered.</p>
21
+
22
+ <?include navbar.incl?>
23
+
24
+ </body>
25
+ </html>
26
+
27
+
28
+ <!--
29
+ Local Variables:
30
+ mode: xml
31
+ -->
32
+
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Arrow: Source View
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title><?call applet.signature.name ?>: Source View</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1><?call applet.signature.name ?>: Source View</h1>
19
+
20
+ <p>This is the source code of the <tt><?call applet.signature.name ?></tt>
21
+ applet:</p>
22
+
23
+ <pre><?escape source?></pre>
24
+
25
+ <?include navbar.incl?>
26
+
27
+ </body>
28
+ </html>
29
+
30
+
31
+ <!--
32
+ Local Variables:
33
+ mode: xml
34
+ -->
35
+
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+
4
+ <!--
5
+
6
+ Protected Applet
7
+
8
+ -->
9
+
10
+ <head>
11
+ <title><?call txn.applet_path.capitalize?> Applet</title>
12
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
13
+ <meta http-equiv="Content-Script-Type" content="text/javascript" />
14
+ <link rel="stylesheet" type="text/css" href="/css/arrow.css" />
15
+ </head>
16
+ <body>
17
+
18
+ <h1><?call txn.applet_path.capitalize?> Applet</h1>
19
+
20
+ <p>This is the '<tt><?call txn.applet_path?></tt>' applet, which provides
21
+ password protection to other applets. You can make any applet
22
+ password-protected by chaining it through this one. For example, if your
23
+ applet had a current URI of '<tt>myapp</tt>', you could chain it through this
24
+ applet by changing its URI to '<tt><?call txn.applet_path ?>/myapp</tt>'.</p>
25
+
26
+ <?include navbar.incl?>
27
+
28
+ </body>
29
+ </html>
30
+
31
+
32
+ <!--
33
+ Local Variables:
34
+ mode: xml
35
+ -->
36
+