rsence-pre 2.1.0.1.pre

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 (313) hide show
  1. data/.yardopts +10 -0
  2. data/INSTALL.rdoc +330 -0
  3. data/LICENSE.txt +622 -0
  4. data/README.rdoc +98 -0
  5. data/VERSION +1 -0
  6. data/bin/rsence +25 -0
  7. data/bin/rsence-pre +25 -0
  8. data/conf/default_conf.yaml +346 -0
  9. data/conf/default_strings.yaml +76 -0
  10. data/conf/rsence_command_strings.yaml +444 -0
  11. data/docs/ExampleGuiPlugin.rdoc +193 -0
  12. data/docs/JavascriptBundles.rdoc +0 -0
  13. data/docs/PluginBundleInfo.rdoc +173 -0
  14. data/docs/PluginBundles.rdoc +96 -0
  15. data/docs/Values.rdoc +163 -0
  16. data/js/comm/autosync/autosync.js +17 -0
  17. data/js/comm/autosync/js.inc +0 -0
  18. data/js/comm/comm.js +203 -0
  19. data/js/comm/js.inc +0 -0
  20. data/js/comm/jsloader/js.inc +0 -0
  21. data/js/comm/jsloader/jsloader.js +112 -0
  22. data/js/comm/queue/js.inc +0 -0
  23. data/js/comm/queue/queue.js +184 -0
  24. data/js/comm/session/js.inc +0 -0
  25. data/js/comm/session/session.js +52 -0
  26. data/js/comm/sessionwatcher/js.inc +0 -0
  27. data/js/comm/sessionwatcher/sessionwatcher.js +44 -0
  28. data/js/comm/transporter/js.inc +0 -0
  29. data/js/comm/transporter/transporter.js +261 -0
  30. data/js/comm/urlresponder/js.inc +0 -0
  31. data/js/comm/urlresponder/urlresponder.js +149 -0
  32. data/js/comm/values/js.inc +0 -0
  33. data/js/comm/values/values.js +433 -0
  34. data/js/controls/button/button.js +72 -0
  35. data/js/controls/button/js.inc +0 -0
  36. data/js/controls/button/themes/bright/button.css +89 -0
  37. data/js/controls/button/themes/bright/button.html +7 -0
  38. data/js/controls/button/themes/bright/button_parts1-ie6.gif +0 -0
  39. data/js/controls/button/themes/bright/button_parts1.png +0 -0
  40. data/js/controls/button/themes/default/button.css +89 -0
  41. data/js/controls/button/themes/default/button.html +7 -0
  42. data/js/controls/button/themes/default/button_parts1-ie6.gif +0 -0
  43. data/js/controls/button/themes/default/button_parts1.png +0 -0
  44. data/js/controls/checkbox/checkbox.js +49 -0
  45. data/js/controls/checkbox/js.inc +0 -0
  46. data/js/controls/checkbox/themes/default/checkbox.css +69 -0
  47. data/js/controls/checkbox/themes/default/checkbox.html +5 -0
  48. data/js/controls/checkbox/themes/default/checkbox_parts1-ie6.gif +0 -0
  49. data/js/controls/checkbox/themes/default/checkbox_parts1.png +0 -0
  50. data/js/controls/dialogs/alert_sheet/alert_sheet.js +63 -0
  51. data/js/controls/dialogs/alert_sheet/js.inc +0 -0
  52. data/js/controls/dialogs/confirm_sheet/confirm_sheet.js +37 -0
  53. data/js/controls/dialogs/confirm_sheet/js.inc +0 -0
  54. data/js/controls/dialogs/sheet/js.inc +0 -0
  55. data/js/controls/dialogs/sheet/sheet.js +84 -0
  56. data/js/controls/dialogs/sheet/themes/default/sheet.css +64 -0
  57. data/js/controls/dialogs/sheet/themes/default/sheet.html +14 -0
  58. data/js/controls/dialogs/sheet/themes/default/sheet_bg-ie6.gif +0 -0
  59. data/js/controls/dialogs/sheet/themes/default/sheet_bg.png +0 -0
  60. data/js/controls/dialogs/sheet/themes/default/sheet_dim-ie6.gif +0 -0
  61. data/js/controls/dialogs/sheet/themes/default/sheet_dim.png +0 -0
  62. data/js/controls/dialogs/sheet/themes/default/sheet_parts1-ie6.gif +0 -0
  63. data/js/controls/dialogs/sheet/themes/default/sheet_parts1.png +0 -0
  64. data/js/controls/dialogs/sheet/themes/default/sheet_parts2-ie6.gif +0 -0
  65. data/js/controls/dialogs/sheet/themes/default/sheet_parts2.png +0 -0
  66. data/js/controls/dialogs/sheet/themes/default/sheet_warning-ie6.gif +0 -0
  67. data/js/controls/dialogs/sheet/themes/default/sheet_warning.png +0 -0
  68. data/js/controls/imageview/imageview.js +109 -0
  69. data/js/controls/imageview/js.inc +0 -0
  70. data/js/controls/imageview/themes/default/blank.gif +0 -0
  71. data/js/controls/passwordcontrol/js.inc +0 -0
  72. data/js/controls/passwordcontrol/passwordcontrol.js +23 -0
  73. data/js/controls/passwordcontrol/themes/default/passwordcontrol.css +0 -0
  74. data/js/controls/passwordcontrol/themes/default/passwordcontrol.html +18 -0
  75. data/js/controls/progress/progressbar/js.inc +0 -0
  76. data/js/controls/progress/progressbar/progressbar.js +40 -0
  77. data/js/controls/progress/progressbar/themes/default/progressbar.css +16 -0
  78. data/js/controls/progress/progressbar/themes/default/progressbar.html +2 -0
  79. data/js/controls/progress/progressindicator/js.inc +0 -0
  80. data/js/controls/progress/progressindicator/progressindicator.js +44 -0
  81. data/js/controls/radiobutton/js.inc +0 -0
  82. data/js/controls/radiobutton/radiobutton.js +43 -0
  83. data/js/controls/radiobutton/themes/default/radiobutton.css +69 -0
  84. data/js/controls/radiobutton/themes/default/radiobutton.html +5 -0
  85. data/js/controls/radiobutton/themes/default/radiobutton_parts1-ie6.gif +0 -0
  86. data/js/controls/radiobutton/themes/default/radiobutton_parts1.png +0 -0
  87. data/js/controls/sliders/slider/js.inc +0 -0
  88. data/js/controls/sliders/slider/slider.js +357 -0
  89. data/js/controls/sliders/slider/themes/default/hslider_tracks-ie6.gif +0 -0
  90. data/js/controls/sliders/slider/themes/default/hslider_tracks.png +0 -0
  91. data/js/controls/sliders/slider/themes/default/slider.css +108 -0
  92. data/js/controls/sliders/slider/themes/default/slider.html +5 -0
  93. data/js/controls/sliders/slider/themes/default/slider_thumbs-ie6.gif +0 -0
  94. data/js/controls/sliders/slider/themes/default/slider_thumbs.png +0 -0
  95. data/js/controls/sliders/vslider/js.inc +0 -0
  96. data/js/controls/sliders/vslider/themes/default/vslider.css +52 -0
  97. data/js/controls/sliders/vslider/themes/default/vslider.html +5 -0
  98. data/js/controls/sliders/vslider/themes/default/vslider_tracks-ie6.gif +0 -0
  99. data/js/controls/sliders/vslider/themes/default/vslider_tracks.png +0 -0
  100. data/js/controls/sliders/vslider/vslider.js +41 -0
  101. data/js/controls/stepper/js.inc +0 -0
  102. data/js/controls/stepper/stepper.js +213 -0
  103. data/js/controls/stepper/themes/default/stepper-ie6.gif +0 -0
  104. data/js/controls/stepper/themes/default/stepper.css +14 -0
  105. data/js/controls/stepper/themes/default/stepper.html +2 -0
  106. data/js/controls/stepper/themes/default/stepper.png +0 -0
  107. data/js/controls/stringview/js.inc +0 -0
  108. data/js/controls/stringview/stringview.js +49 -0
  109. data/js/controls/stringview/themes/default/stringview.css +8 -0
  110. data/js/controls/stringview/themes/default/stringview.html +1 -0
  111. data/js/controls/tab/js.inc +0 -0
  112. data/js/controls/tab/tab.js +280 -0
  113. data/js/controls/tab/themes/bright/tab.css +76 -0
  114. data/js/controls/tab/themes/bright/tab.html +6 -0
  115. data/js/controls/tab/themes/bright/tab_bg_color-ie6.gif +0 -0
  116. data/js/controls/tab/themes/bright/tab_bg_color.png +0 -0
  117. data/js/controls/tab/themes/bright/tab_border_pattern-ie6.gif +0 -0
  118. data/js/controls/tab/themes/bright/tab_border_pattern.png +0 -0
  119. data/js/controls/tab/themes/bright/tab_parts1-ie6.gif +0 -0
  120. data/js/controls/tab/themes/bright/tab_parts1.png +0 -0
  121. data/js/controls/tab/themes/default/tab.css +77 -0
  122. data/js/controls/tab/themes/default/tab.html +6 -0
  123. data/js/controls/tab/themes/default/tab_bg_color-ie6.gif +0 -0
  124. data/js/controls/tab/themes/default/tab_bg_color.png +0 -0
  125. data/js/controls/tab/themes/default/tab_border_pattern-ie6.gif +0 -0
  126. data/js/controls/tab/themes/default/tab_border_pattern.png +0 -0
  127. data/js/controls/tab/themes/default/tab_parts1-ie6.gif +0 -0
  128. data/js/controls/tab/themes/default/tab_parts1.png +0 -0
  129. data/js/controls/textarea/js.inc +0 -0
  130. data/js/controls/textarea/textarea.js +24 -0
  131. data/js/controls/textarea/themes/default/textarea.css +21 -0
  132. data/js/controls/textarea/themes/default/textarea.html +18 -0
  133. data/js/controls/textcontrol/js.inc +0 -0
  134. data/js/controls/textcontrol/textcontrol.js +374 -0
  135. data/js/controls/textcontrol/themes/default/textcontrol.css +107 -0
  136. data/js/controls/textcontrol/themes/default/textcontrol.html +18 -0
  137. data/js/controls/textcontrol/themes/default/textcontrol_parts1-ie6.gif +0 -0
  138. data/js/controls/textcontrol/themes/default/textcontrol_parts1.png +0 -0
  139. data/js/controls/textcontrol/themes/default/textcontrol_parts2-ie6.gif +0 -0
  140. data/js/controls/textcontrol/themes/default/textcontrol_parts2.png +0 -0
  141. data/js/controls/textcontrol/themes/default/textcontrol_parts3-ie6.gif +0 -0
  142. data/js/controls/textcontrol/themes/default/textcontrol_parts3.png +0 -0
  143. data/js/controls/uploader/js.inc +0 -0
  144. data/js/controls/uploader/themes/default/upload_progress.gif +0 -0
  145. data/js/controls/uploader/themes/default/uploader.css +108 -0
  146. data/js/controls/uploader/themes/default/uploader.html +27 -0
  147. data/js/controls/uploader/uploader.js +154 -0
  148. data/js/controls/validatorview/js.inc +0 -0
  149. data/js/controls/validatorview/themes/default/validator-ie6.gif +0 -0
  150. data/js/controls/validatorview/themes/default/validator.png +0 -0
  151. data/js/controls/validatorview/themes/default/validatorview.css +0 -0
  152. data/js/controls/validatorview/themes/default/validatorview.html +0 -0
  153. data/js/controls/validatorview/validatorview.js +62 -0
  154. data/js/controls/window/js.inc +0 -0
  155. data/js/controls/window/themes/default/window.css +219 -0
  156. data/js/controls/window/themes/default/window.html +17 -0
  157. data/js/controls/window/themes/default/window_bg_active-ie6.gif +0 -0
  158. data/js/controls/window/themes/default/window_bg_active.png +0 -0
  159. data/js/controls/window/themes/default/window_bg_inactive-ie6.gif +0 -0
  160. data/js/controls/window/themes/default/window_bg_inactive.png +0 -0
  161. data/js/controls/window/themes/default/window_buttons-ie6.gif +0 -0
  162. data/js/controls/window/themes/default/window_buttons.png +0 -0
  163. data/js/controls/window/themes/default/window_parts1-ie6.gif +0 -0
  164. data/js/controls/window/themes/default/window_parts1.png +0 -0
  165. data/js/controls/window/themes/default/window_parts2-ie6.gif +0 -0
  166. data/js/controls/window/themes/default/window_parts2.png +0 -0
  167. data/js/controls/window/window.js +286 -0
  168. data/js/core/class/class.js +318 -0
  169. data/js/core/class/js.inc +0 -0
  170. data/js/core/elem/elem.js +1383 -0
  171. data/js/core/elem/js.inc +0 -0
  172. data/js/core/event/event.js +153 -0
  173. data/js/core/event/js.inc +0 -0
  174. data/js/core/iefix/ie_css_element.htc +5 -0
  175. data/js/core/iefix/ie_css_style.htc +5 -0
  176. data/js/core/iefix/iefix.js +359 -0
  177. data/js/core/iefix/js.inc +0 -0
  178. data/js/core/rsence_ns/js.inc +0 -0
  179. data/js/core/rsence_ns/rsence_ns.js +21 -0
  180. data/js/datetime/calendar/calendar.js +198 -0
  181. data/js/datetime/calendar/js.inc +0 -0
  182. data/js/datetime/calendar/themes/default/calendar.css +108 -0
  183. data/js/datetime/calendar/themes/default/calendar.html +9 -0
  184. data/js/datetime/calendar/themes/default/calendar_arrows-ie6.gif +0 -0
  185. data/js/datetime/calendar/themes/default/calendar_arrows.png +0 -0
  186. data/js/datetime/datetimevalue/datetimevalue.js +247 -0
  187. data/js/datetime/datetimevalue/js.inc +0 -0
  188. data/js/datetime/timesheet/js.inc +0 -0
  189. data/js/datetime/timesheet/themes/default/timesheet.css +30 -0
  190. data/js/datetime/timesheet/themes/default/timesheet.html +2 -0
  191. data/js/datetime/timesheet/timesheet.js +183 -0
  192. data/js/datetime/timesheet_item/js.inc +0 -0
  193. data/js/datetime/timesheet_item/themes/default/timesheet_item.css +42 -0
  194. data/js/datetime/timesheet_item/themes/default/timesheet_item.html +8 -0
  195. data/js/datetime/timesheet_item/timesheet_item.js +248 -0
  196. data/js/datetime/timesheet_item_edit/js.inc +0 -0
  197. data/js/datetime/timesheet_item_edit/timesheet_item_edit.js +274 -0
  198. data/js/foundation/application/application.js +208 -0
  199. data/js/foundation/application/js.inc +0 -0
  200. data/js/foundation/control/control.js +339 -0
  201. data/js/foundation/control/controldefaults/controldefaults.js +56 -0
  202. data/js/foundation/control/controldefaults/js.inc +0 -0
  203. data/js/foundation/control/dummyvalue/dummyvalue.js +51 -0
  204. data/js/foundation/control/dummyvalue/js.inc +0 -0
  205. data/js/foundation/control/dyncontrol/dyncontrol.js +500 -0
  206. data/js/foundation/control/dyncontrol/js.inc +0 -0
  207. data/js/foundation/control/dyncontrol/themes/default/dyncontrol.css +0 -0
  208. data/js/foundation/control/dyncontrol/themes/default/dyncontrol.html +0 -0
  209. data/js/foundation/control/eventresponder/eventresponder.js +750 -0
  210. data/js/foundation/control/eventresponder/js.inc +0 -0
  211. data/js/foundation/control/js.inc +0 -0
  212. data/js/foundation/control/valuematrix/js.inc +0 -0
  213. data/js/foundation/control/valuematrix/valuematrix.js +135 -0
  214. data/js/foundation/control/valueresponder/js.inc +0 -0
  215. data/js/foundation/control/valueresponder/valueresponder.js +79 -0
  216. data/js/foundation/eventmanager/eventmanager.js +991 -0
  217. data/js/foundation/eventmanager/js.inc +0 -0
  218. data/js/foundation/geom/point/js.inc +0 -0
  219. data/js/foundation/geom/point/point.js +202 -0
  220. data/js/foundation/geom/rect/js.inc +0 -0
  221. data/js/foundation/geom/rect/rect.js +651 -0
  222. data/js/foundation/json_renderer/js.inc +0 -0
  223. data/js/foundation/json_renderer/json_renderer.js +246 -0
  224. data/js/foundation/system/js.inc +0 -0
  225. data/js/foundation/system/system.js +381 -0
  226. data/js/foundation/thememanager/js.inc +0 -0
  227. data/js/foundation/thememanager/thememanager.js +393 -0
  228. data/js/foundation/value/js.inc +0 -0
  229. data/js/foundation/value/value.js +183 -0
  230. data/js/foundation/view/js.inc +0 -0
  231. data/js/foundation/view/markupview/js.inc +0 -0
  232. data/js/foundation/view/markupview/markupview.js +114 -0
  233. data/js/foundation/view/morphanimation/js.inc +0 -0
  234. data/js/foundation/view/morphanimation/morphanimation.js +237 -0
  235. data/js/foundation/view/view.js +1812 -0
  236. data/js/foundation/view/viewdefaults/js.inc +0 -0
  237. data/js/foundation/view/viewdefaults/viewdefaults.js +26 -0
  238. data/js/lists/checkboxlist/checkboxlist.js +171 -0
  239. data/js/lists/checkboxlist/js.inc +0 -0
  240. data/js/lists/listitems/js.inc +0 -0
  241. data/js/lists/listitems/listitems.js +88 -0
  242. data/js/lists/propertylist/js.inc +0 -0
  243. data/js/lists/propertylist/propertylist.js +326 -0
  244. data/js/lists/radiobuttonlist/js.inc +0 -0
  245. data/js/lists/radiobuttonlist/radiobuttonlist.js +116 -0
  246. data/js/util/reloadapp/js.inc +0 -0
  247. data/js/util/reloadapp/reloadapp.js +152 -0
  248. data/js/util/reloadapp/themes/default/reloadapp_warning-ie6.gif +0 -0
  249. data/js/util/reloadapp/themes/default/reloadapp_warning.png +0 -0
  250. data/js/util/sha/js.inc +0 -0
  251. data/js/util/sha/sha.js +426 -0
  252. data/js/views/centerview/centerview.js +75 -0
  253. data/js/views/centerview/js.inc +0 -0
  254. data/js/views/inlineview/inlineview.js +15 -0
  255. data/js/views/inlineview/js.inc +0 -0
  256. data/js/views/scrollview/js.inc +0 -0
  257. data/js/views/scrollview/scrollview.js +40 -0
  258. data/lib/conf/argv.rb +850 -0
  259. data/lib/conf/default.rb +219 -0
  260. data/lib/daemon/daemon.rb +387 -0
  261. data/lib/daemon/sigcomm.rb +64 -0
  262. data/lib/http/broker.rb +150 -0
  263. data/lib/http/rackup.rb +91 -0
  264. data/lib/http/request.rb +66 -0
  265. data/lib/http/response.rb +65 -0
  266. data/lib/plugins/dependencies.rb +285 -0
  267. data/lib/plugins/gui_plugin.rb +160 -0
  268. data/lib/plugins/guiparser.rb +123 -0
  269. data/lib/plugins/plugin.rb +438 -0
  270. data/lib/plugins/plugin_base.rb +162 -0
  271. data/lib/plugins/plugin_plugins.rb +81 -0
  272. data/lib/plugins/plugin_sqlite_db.rb +98 -0
  273. data/lib/plugins/pluginmanager.rb +635 -0
  274. data/lib/plugins/plugins.rb +169 -0
  275. data/lib/plugins/servlet.rb +108 -0
  276. data/lib/rsence.rb +32 -0
  277. data/lib/session/msg.rb +327 -0
  278. data/lib/session/sessionmanager.rb +522 -0
  279. data/lib/session/sessionstorage.rb +340 -0
  280. data/lib/transporter/transporter.rb +263 -0
  281. data/lib/util/gzstring.rb +9 -0
  282. data/lib/util/ruby19_fixes.rb +18 -0
  283. data/lib/values/hvalue.rb +378 -0
  284. data/lib/values/valuemanager.rb +172 -0
  285. data/plugins/client_pkg/client_pkg.rb +157 -0
  286. data/plugins/client_pkg/info.yaml +25 -0
  287. data/plugins/client_pkg/lib/client_pkg_build.rb +561 -0
  288. data/plugins/client_pkg/lib/client_pkg_cache.rb +50 -0
  289. data/plugins/client_pkg/lib/client_pkg_serve.rb +218 -0
  290. data/plugins/index_html/img/loading.gif +0 -0
  291. data/plugins/index_html/img/riassence.gif +0 -0
  292. data/plugins/index_html/index_html.rb +120 -0
  293. data/plugins/index_html/info.yaml +18 -0
  294. data/plugins/index_html/tmpl/index.html +15 -0
  295. data/plugins/main/info.yaml +18 -0
  296. data/plugins/main/js/main.js +84 -0
  297. data/plugins/main/main.rb +255 -0
  298. data/plugins/main/values.yaml +8 -0
  299. data/plugins/ticket/info.yaml +21 -0
  300. data/plugins/ticket/lib/common.rb +392 -0
  301. data/plugins/ticket/lib/favicon.rb +39 -0
  302. data/plugins/ticket/lib/file.rb +58 -0
  303. data/plugins/ticket/lib/img.rb +50 -0
  304. data/plugins/ticket/lib/objblob.rb +66 -0
  305. data/plugins/ticket/lib/rsrc.rb +34 -0
  306. data/plugins/ticket/lib/upload.rb +236 -0
  307. data/plugins/ticket/ticket.rb +333 -0
  308. data/setup/welcome/gui/welcome.yaml +92 -0
  309. data/setup/welcome/info.yaml +13 -0
  310. data/setup/welcome/text/welcome.html +9 -0
  311. data/setup/welcome/values.yaml +9 -0
  312. data/setup/welcome/welcome.rb +54 -0
  313. metadata +407 -0
@@ -0,0 +1,116 @@
1
+ /* RSence
2
+ * Copyright 2009 Riassence Inc.
3
+ * http://riassence.com/
4
+ *
5
+ * You should have received a copy of the GNU General Public License along
6
+ * with this software package. If not, contact licensing@riassence.com
7
+ */
8
+
9
+ /*** = Description
10
+ ** HRadiobuttonList expects the setListItems to be set. See HListItems.
11
+ ** The value of the instance is the selected key in the listItems.
12
+ ***/
13
+ var//RSence.Lists
14
+ HRadioButtonList = HControl.extend({
15
+ drawSubviews: function(){
16
+ this.setStyle('border','1px solid #999');
17
+ this.setStyle('overflow-y','auto');
18
+ },
19
+ listItems: [],
20
+ listItemViews: [],
21
+
22
+ /** = Description
23
+ * Setter function for listItems and listItemViews. Destroys
24
+ * the old HRadiabuttons before creating the new ones based on the
25
+ * listItems given as an parameter.
26
+ *
27
+ * = Parameters
28
+ * +_listItems+:: listItems is an array-packed array, where each index in the
29
+ * surrounding array contains a [ value, label ] pair.
30
+ * The value is mapped to the value of the HRadiobuttonList
31
+ * instance when its HRadiobutton instance is selected.
32
+ *
33
+ **/
34
+ setListItems: function(_listItems){
35
+ var _listItem,
36
+ _value,
37
+ _label,
38
+ _radioButton,
39
+ i = 0;
40
+ for ( ; i < this.listItemViews.length; i++ ) {
41
+ try {
42
+ this.listItemViews[i].die();
43
+ }
44
+ catch(e) {
45
+ console.log('HRadiobuttonList, setListItems item destruction error: ',e);
46
+ }
47
+ }
48
+ this.listItems = _listItems;
49
+ this.listItemViews = [];
50
+ for ( i = 0 ; i < _listItems.length; i++ ){
51
+ _listItem = _listItems[i];
52
+ _value = _listItem[0];
53
+ _label = _listItem[1];
54
+ _radioButton = HRadiobutton.nu(
55
+ [ 4, (i*23)+4, null, 23, 4, null ],
56
+ this, {
57
+ label: _label
58
+ }
59
+ );
60
+ this.listItemViews[i] = _radioButton;
61
+ }
62
+ this.refreshValue();
63
+ },
64
+
65
+ /** = Description
66
+ * Destructor. Sets listItems and listItemViews to null and initiates
67
+ * destructor for radioButtonIndexValue.
68
+ *
69
+ **/
70
+ die: function(){
71
+ this.listItems = null;
72
+ this.listItemViews = null;
73
+ this.radioButtonIndexValue.die();
74
+ this.base();
75
+ },
76
+ radioButtonIndexValue: false,
77
+ radioButtonResponder: false,
78
+
79
+ /** = Description
80
+ *
81
+ *
82
+ **/
83
+ RadioButtonIndexResponder: HValueResponder.extend({
84
+ constructor: function( _parent, _valueObj ){
85
+ this.parent = _parent;
86
+ },
87
+ refresh: function(){
88
+ var _listItems = this.parent.listItems;
89
+ if(_listItems[ this.value ] !== undefined){
90
+ this.parent.setValue( _listItems[ this.value ][0] );
91
+ }
92
+ }
93
+ }),
94
+ refreshValue: function(){
95
+ var _value = this.value;
96
+ if ( this.listItems.length !== 0 && this['valueMatrix'] !== undefined ) {
97
+ if ( this.radioButtonResponder === false ){
98
+ this.radioButtonIndexValue = HValue.nu( false, 0 );
99
+ this.radioButtonIndexValue.bind( this.valueMatrix );
100
+ this.radioButtonResponder = this.RadioButtonIndexResponder.nu( this );
101
+ this.radioButtonIndexValue.bind( this.radioButtonResponder );
102
+ }
103
+ for ( var i = 0; i < this.listItems.length; i++ ) {
104
+ if ( this.listItems[i][0] === _value ) {
105
+ this.radioButtonResponder.setValue( -1 );
106
+ this.radioButtonResponder.setValue( i );
107
+ break;
108
+ }
109
+ }
110
+ }
111
+ }
112
+ });
113
+
114
+ var//RSence.Lists
115
+ HRadiobuttonList = HRadioButtonList;
116
+
File without changes
@@ -0,0 +1,152 @@
1
+ /* RSence
2
+ * Copyright 2008 Riassence Inc.
3
+ * http://riassence.com/
4
+ *
5
+ * You should have received a copy of the GNU General Public License along
6
+ * with this software package. If not, contact licensing@riassence.com
7
+ */
8
+
9
+ /*** = Description
10
+ ** An application designed to display errors.
11
+ **
12
+ ** Used automatically by the server to report issues.
13
+ ** Stops COMM.Transporter and displays a HWindow with the message contained.
14
+ ** Has two buttons: *Reset Session* and *Reload*
15
+ **
16
+ ** = Usage
17
+ ** jsLoader.load('servermessage');
18
+ ** ReloadApp.nu( 'Session Timeout', 'Your session has timed out', '/' );
19
+ **
20
+ **/
21
+ var//RSence
22
+ ReloadApp = HApplication.extend({
23
+
24
+ /** Reloads the page using the +_url+ given in the +constructor+.
25
+ **/
26
+ reload: function(){
27
+ var _url = this._url;
28
+ if((!_url)||(_url==='/')){
29
+ window.location.reload(true);
30
+ }
31
+ else {
32
+ window.location.href = _url;
33
+ }
34
+ },
35
+
36
+ /** = Description
37
+ * Reset the session.
38
+ *
39
+ * Resets the session by calling the hello/goodbye url on the server.
40
+ * The server reads the cookie key and deletes the session bound to it.
41
+ *
42
+ * Reloads the page after a successful request.
43
+ *
44
+ **/
45
+ reset_session: function(){
46
+ COMM.request(
47
+ COMM.Transporter.HelloUrl + '/goodbye', {
48
+ method: 'POST',
49
+ body: ('ses_key='+COMM.Session.ses_key),
50
+ async: true,
51
+ onSuccess: function(){
52
+ window.location.reload(true);
53
+ },
54
+ onFailure: function(){
55
+ window.location.reload(true);
56
+ }
57
+ });
58
+ },
59
+
60
+ /** = Description
61
+ * Constructs the ReloadApp.
62
+ *
63
+ * Creates an application with a window titled +_title+,
64
+ * containing the +_message+ and *Reset Session* and *Reload*
65
+ * buttons. The +_url+ is the url to load when any of the
66
+ * buttons are pressed.
67
+ *
68
+ * = Parameters
69
+ * +_title+:: The title of the message.
70
+ * +_message+:: The message text content.
71
+ * +_url+:: The url the buttons load when pressed.
72
+ *
73
+ **/
74
+ constructor: function( _title, _message, _url ){
75
+ var _this = this;
76
+ _this.base();
77
+ _this._title = _title;
78
+ _this._message = _message;
79
+ _this._url = _url;
80
+ var _winWidth = ELEM.windowSize()[0],
81
+ _winHeight = ELEM.windowSize()[1],
82
+ _halfWidth = parseInt(_winWidth/2,10),
83
+ _halfHeight = parseInt(_winHeight/2,10),
84
+ _alertWidth = 400,
85
+ _alertHeight = 270,
86
+ _alertX = _halfWidth - 200,
87
+ _alertY = _halfHeight - 150;
88
+ if(_alertX<10){_alertX = 10;}
89
+ if(_alertY<10){_alertY = 10;}
90
+ _this._alertSheet = HSheet.extend({
91
+ drawSubviews: function(){
92
+ var _this = this,
93
+ _elemId = _this.markupElemIds['subview'],
94
+ _alertIcon = ELEM.make( _elemId ),
95
+ _alertTitle = ELEM.make( _elemId ),
96
+ _alertMessage = ELEM.make( _elemId ),
97
+ _iconUrl = _this.getThemeGfxFile('reloadapp_warning.png');
98
+ _this.setStyle('font-family','Arial, sans-serif');
99
+ _this.setStyle('color','#000');
100
+ _this.setStyle('font-size','13px');
101
+ ELEM.setCSS(_alertIcon,'position:absolute;left:8px;top:8px;width:48px;height:48px;background-image:url('+_iconUrl+');');
102
+ ELEM.setCSS(_alertTitle,'position:absolute;left:64px;top:8px;width:300px;height:24px;line-height:24px;vertical-align:middle;text-align:center;font-weight:bold;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;');
103
+ ELEM.setHTML(_alertTitle,_this.app._title);
104
+ ELEM.setCSS(_alertMessage,'position:absolute;left:64px;top:42px;width:332px;height:186px;border-bottom:1px dotted #999;line-height:17px;vertical-align:middle;overflow:auto;');
105
+ ELEM.setHTML(_alertMessage,_this.app._message);
106
+ HButton.extend({
107
+ click: this.app.reload
108
+ }).nu(
109
+ HRect.nu(280, 234, 380, 258 ),
110
+ _this, {
111
+ label: 'Reload',
112
+ events: {
113
+ click: true
114
+ }
115
+ }
116
+ );
117
+ HButton.extend({
118
+ click: this.app.reset_session
119
+ }).nu(
120
+ HRect.nu(20, 234, 170, 258 ),
121
+ _this, {
122
+ label: 'Reset session',
123
+ events: {
124
+ click: true
125
+ }
126
+ }
127
+ );
128
+ }
129
+ }).nu(
130
+ HRect.nu( _alertX, _alertY, _alertX+_alertWidth, _alertY+_alertHeight ),
131
+ _this, {
132
+ label: _title,
133
+ value: 0
134
+ // minSize: [_alertWidth,_alertHeight],
135
+ // maxSize: [_alertWidth,_alertHeight],
136
+ // enabled: true,
137
+ // closeButton: true,
138
+ // noResize: true
139
+ }
140
+ );
141
+
142
+ COMM.Transporter.stop = true;
143
+ },
144
+
145
+ /** Re-focuses the window.
146
+ **/
147
+ onIdle: function(){
148
+ if(this['_alertSheet']){
149
+ this._alertSheet.bringToFront();
150
+ }
151
+ }
152
+ });
File without changes
@@ -0,0 +1,426 @@
1
+ /* RSence
2
+ * Copyright 2007 Riassence Inc.
3
+ * http://riassence.com/
4
+ *
5
+ * You should have received a copy of the GNU General Public License along
6
+ * with this software package. If not, contact licensing@riassence.com
7
+ */
8
+
9
+
10
+
11
+ /*** = Description
12
+ ** A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined
13
+ ** in FIPS 180-1. Also includes a Base64 encoder.
14
+ **
15
+ ** = Original implementation:
16
+ ** Copyright Paul Johnston 2000 - 2009.
17
+ ** Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
18
+ ** Distributed under the BSD License
19
+ ** See http://pajhome.org.uk/crypt/md5 for details.
20
+ **
21
+ ***/
22
+ var//RSence.Util
23
+ SHA = HClass.extend({
24
+
25
+ /** = Description
26
+ * Constructs an instance of SHA
27
+ *
28
+ * = Parameters
29
+ * +_chrsz+:: The input character size, in bits. Optional.
30
+ *
31
+ **/
32
+ constructor: function(_chrsz){
33
+ _chrsz && this.setChrsz(_chrsz);
34
+ },
35
+
36
+ /* hex output format. 0 - lowercase; 1 - uppercase */
37
+ _hexcase: 0,
38
+
39
+ /** = Description
40
+ * Returns the letter case of the hexadecimal output.
41
+ *
42
+ * = Returns
43
+ * 1 if upporcase, 0 if lowercase.
44
+ **/
45
+ hexCase: function(){
46
+ return this._hexcase;
47
+ },
48
+
49
+ /** = Descrition
50
+ * Sets the letter case of the hexadecimal output.
51
+ *
52
+ * = Parameters:
53
+ * +_case+:: 1: Upper case
54
+ * 0: Lower case
55
+ *
56
+ **/
57
+ setHexCase: function(_case){
58
+ this._hexcase = _case;
59
+ },
60
+
61
+ /* base-64 pad character. "=" for strict RFC compliance */
62
+ _b64pad: "=",
63
+
64
+ /** Returns the Base64 padding character. Is '=' by default.
65
+ **/
66
+ base64Pad: function(){
67
+ return this._b64pad;
68
+ },
69
+
70
+ /** = Description
71
+ * Sets the Base64 padding character.
72
+ *
73
+ * Set to '=' (default) for strict RFC compliance.
74
+ *
75
+ * = Parameters
76
+ * +_pad+:: The padding character
77
+ *
78
+ **/
79
+ setBase64Pad: function(_pad){
80
+ this._b64pad = _pad;
81
+ },
82
+
83
+ /* bits per input character. 8 - ASCII; 16 - Unicode */
84
+ _chrsz: 8,
85
+
86
+ /** Returns the number of bits per input character. The default is 8.
87
+ **/
88
+ chrsz: function(){
89
+ return this._chrsz;
90
+ },
91
+
92
+ /** = Description
93
+ * Sets the number of bits per input character.
94
+ *
95
+ * = Parameters
96
+ * +_bits+:: Amount of bits per input character. 8 for ascii, 16 for unicode.
97
+ *
98
+ **/
99
+ setChrsz: function(_bits){
100
+ this._chrsz = _bits;
101
+ },
102
+
103
+ /** = Description
104
+ * Calculates the SHA1 of a string and returns the result encoded in hexadecimal.
105
+ *
106
+ * = Parameters
107
+ * +_s+:: The input string.
108
+ *
109
+ * = Returns
110
+ * A hexadecimal-encoded string containing the SHA1 result.
111
+ *
112
+ **/
113
+ hexSHA1: function(_s){
114
+ var _this=this;
115
+ return _this._binb2hex(
116
+ _this._coreSHA1(
117
+ _this._str2binb(_s),
118
+ _s.length * _this._chrsz
119
+ )
120
+ );
121
+ },
122
+
123
+ /** = Description
124
+ * Calculates the SHA1 of a string and returns the result encoded in Base64.
125
+ *
126
+ * = Parameters
127
+ * +_s+:: The input string.
128
+ *
129
+ * = Returns
130
+ * A Base64-encoded string containing the SHA1 result.
131
+ *
132
+ **/
133
+ b64SHA1: function(_s){
134
+ var _this=this;
135
+ return _this._binb2b64(
136
+ _this._coreSHA1(
137
+ _this._str2binb(_s),
138
+ _s.length * _this._chrsz
139
+ )
140
+ );
141
+ },
142
+
143
+ /** = Description
144
+ * Calculates the SHA1 of a string and returns the result as a raw string.
145
+ *
146
+ * = Parameters
147
+ * +_s+:: The input string.
148
+ *
149
+ * = Returns
150
+ * A raw string containing the SHA1 result.
151
+ *
152
+ **/
153
+ strSHA1: function(_s){
154
+ var _this=this;
155
+ return _this._binb2str(
156
+ _this._coreSHA1(
157
+ _this._str2binb(_s),
158
+ _s.length * _this._chrsz
159
+ )
160
+ );
161
+ },
162
+
163
+ /** = Description
164
+ * Calculates the HMAC-SHA1 of a string and returns the result encoded in hexadecimal.
165
+ *
166
+ * = Parameters
167
+ * +_key+:: The key to use.
168
+ * +_data+:: The input data.
169
+ *
170
+ * = Returns
171
+ * A hexadecimal-encoded string containing the HMAC-SHA1 result.
172
+ *
173
+ **/
174
+ hexHmacSHA1: function(_key, _data){
175
+ var _this=this;
176
+ return _this._binb2hex(
177
+ _this._coreHmacSHA1(_key, _data)
178
+ );
179
+ },
180
+
181
+ /** = Description
182
+ * Calculates the HMAC-SHA1 of a string and returns the result encoded in Base64.
183
+ *
184
+ * = Parameters
185
+ * +_key+:: The key to use.
186
+ * +_data+:: The input data.
187
+ *
188
+ * = Returns
189
+ * A Base64-encoded string containing the HMAC-SHA1 result.
190
+ *
191
+ **/
192
+ b64HmacSHA1: function(_key, _data){
193
+ var _this=this;
194
+ return _this._binb2b64(
195
+ _this._coreHmacSHA1(_key, _data)
196
+ );
197
+ },
198
+
199
+ /** = Description
200
+ * Calculates the HMAC-SHA1 of a string and returns the result as a raw string.
201
+ *
202
+ * = Parameters
203
+ * +_key+:: The key to use.
204
+ * +_data+:: The input data.
205
+ *
206
+ * = Returns
207
+ * A raw string containing the HMAC-SHA1 result.
208
+ *
209
+ **/
210
+ strHmacSHA1: function(_key, _data){
211
+ var _this=this;
212
+ return _this._binb2str(
213
+ _this._coreHmacSHA1(_key, _data)
214
+ );
215
+ },
216
+
217
+ /** = Description
218
+ * Encodes a string to Base64.
219
+ *
220
+ * = Parameters
221
+ * +_str+:: The input data.
222
+ *
223
+ * = Returns
224
+ * The Base64 encoded version of the input data.
225
+ *
226
+ **/
227
+ str2Base64: function(_str){
228
+ var _this=this;
229
+ return _this._binb2b64(_this._str2binb(_str));
230
+ },
231
+
232
+ /** Performs a simple self-test to see if the VM is working
233
+ **/
234
+ test: function(){
235
+ return this.hexSHA1("abc") === "a9993e364706816aba3e25717850c26c9cd0d89d";
236
+ },
237
+
238
+ /** Calculate the SHA-1 of an array of big-endian words, and a bit length
239
+ **/
240
+ _coreSHA1: function(_x, _len){
241
+
242
+ _x[_len >> 5] |= 0x80 << (24 - _len % 32);
243
+ _x[((_len + 64 >> 9) << 4) + 15] = _len;
244
+
245
+ var _this=this,
246
+ _w = new Array(80),
247
+ _a = 1732584193,
248
+ _b = -271733879,
249
+ _c = -1732584194,
250
+ _d = 271733878,
251
+ _e = -1009589776,
252
+ i, _olda, _oldb, _oldc, _oldd, _olde,
253
+ j, _t;
254
+
255
+ for(i = 0; i < _x.length; i += 16){
256
+ _olda = _a;
257
+ _oldb = _b;
258
+ _oldc = _c;
259
+ _oldd = _d;
260
+ _olde = _e;
261
+
262
+ for(j = 0; j < 80; j++){
263
+ if(j < 16){
264
+ _w[j] = _x[i + j];
265
+ }
266
+ else {
267
+ _w[j] = _this._rol(_w[j-3] ^ _w[j-8] ^ _w[j-14] ^ _w[j-16], 1);
268
+ }
269
+ _t = _this._safeAdd(_this._safeAdd(_this._rol(_a, 5), _this._sha1FT(j, _b, _c, _d)),
270
+ _this._safeAdd(_this._safeAdd(_e, _w[j]), _this._sha1KT(j)));
271
+ _e = _d;
272
+ _d = _c;
273
+ _c = _this._rol(_b, 30);
274
+ _b = _a;
275
+ _a = _t;
276
+ }
277
+
278
+ _a = _this._safeAdd(_a, _olda);
279
+ _b = _this._safeAdd(_b, _oldb);
280
+ _c = _this._safeAdd(_c, _oldc);
281
+ _d = _this._safeAdd(_d, _oldd);
282
+ _e = _this._safeAdd(_e, _olde);
283
+ }
284
+ return [ _a, _b, _c, _d, _e ];
285
+ },
286
+
287
+ /** Perform the appropriate triplet combination function for the current
288
+ * iteration
289
+ **/
290
+ _sha1FT: function(_t, _b, _c, _d) {
291
+ if(_t < 20){
292
+ return (_b & _c) | ((~_b) & _d);
293
+ }
294
+ if(_t < 40){
295
+ return _b ^ _c ^ _d;
296
+ }
297
+ if(_t < 60){
298
+ return (_b & _c) | (_b & _d) | (_c & _d);
299
+ }
300
+ return _b ^ _c ^ _d;
301
+ },
302
+
303
+ /** Determine the appropriate additive constant for the current iteration
304
+ **/
305
+ _sha1KT: function(_t){
306
+ return (_t < 20) ? 1518500249 : (_t < 40) ? 1859775393 :
307
+ (_t < 60) ? -1894007588 : -899497514;
308
+ },
309
+
310
+ /*
311
+ * Calculate the HMAC-SHA1 of a key and some data
312
+ */
313
+ _coreHmacSHA1: function(_key, _data){
314
+ var _this=this,
315
+ _bkey = _this._str2binb(_key),
316
+ _ipad = new Array(16),
317
+ _opad = new Array(16),
318
+ i, _hash;
319
+ if(_bkey.length > 16){
320
+ _bkey = _this._coreSHA1(_bkey, _key.length * _this._chrsz);
321
+ }
322
+ for(i = 0; i < 16; i++){
323
+ _ipad[i] = _bkey[i] ^ 0x36363636;
324
+ _opad[i] = _bkey[i] ^ 0x5C5C5C5C;
325
+ }
326
+
327
+ _hash = _this._coreSHA1(_ipad.concat(_this._str2binb(_data)), 512 + _data.length * _this._chrsz);
328
+ return _this._coreSHA1(_opad.concat(_hash), 512 + 160);
329
+ },
330
+
331
+ /*
332
+ * Add integers, wrapping at 2^32. This uses 16-bit operations internally
333
+ * to work around bugs in some JS interpreters.
334
+ */
335
+ _safeAdd: function(_x, _y){
336
+ var _lsw = (_x & 0xFFFF) + (_y & 0xFFFF),
337
+ _msw = (_x >> 16) + (_y >> 16) + (_lsw >> 16);
338
+ return (_msw << 16) | (_lsw & 0xFFFF);
339
+ },
340
+
341
+ /*
342
+ * Bitwise rotate a 32-bit number to the left.
343
+ */
344
+ _rol: function(_num, _cnt){
345
+ return (_num << _cnt) | (_num >>> (32 - _cnt));
346
+ },
347
+
348
+ /*
349
+ * Convert an 8-bit or 16-bit string to an array of big-endian words
350
+ * In 8-bit function, characters >255 have their hi-byte silently ignored.
351
+ */
352
+ _str2binb: function(_str){
353
+ var _this=this,
354
+ _bin = [],
355
+ _mask = (1 << _this._chrsz) - 1,
356
+ _strLenChrSZ = _str.length * _this._chrsz,
357
+ i;
358
+ for(i = 0; i < _strLenChrSZ; i += _this._chrsz){
359
+ _bin[i>>5] |= (_str.charCodeAt(i / _this._chrsz) & _mask) << (32 - _this._chrsz - i%32);
360
+ }
361
+ return _bin;
362
+ },
363
+
364
+ /*
365
+ * Convert an array of big-endian words to a string
366
+ */
367
+ _binb2str: function(_bin){
368
+ var _this=this,
369
+ _str = "",
370
+ _mask = (1 << _this._chrsz) - 1,
371
+ i,
372
+ _binLen32 = _bin.length * 32,
373
+ _32chrsz = 32 - _this._chrsz;
374
+ for(i = 0; i < _binLen32; i += _this._chrsz){
375
+ _str += String.fromCharCode((_bin[i>>5] >>> (_32chrsz - i%32)) & _mask);
376
+ }
377
+ return _str;
378
+ },
379
+
380
+ /*
381
+ * Convert an array of big-endian words to a hex string.
382
+ */
383
+ _binb2hex: function(_binarray){
384
+ var _this=this,
385
+ _hexTab = _this._hexcase ? "0123456789ABCDEF" : "0123456789abcdef",
386
+ _str = "",
387
+ i,
388
+ _binLen = _binarray.length * 4;
389
+ for(i = 0; i < _binLen; i++){
390
+ _str += _hexTab.charAt((_binarray[i>>2] >> ((3 - i%4)*8+4)) & 0xF) +
391
+ _hexTab.charAt((_binarray[i>>2] >> ((3 - i%4)*8 )) & 0xF);
392
+ }
393
+ return _str;
394
+ },
395
+
396
+ /*
397
+ * Convert an array of big-endian words to a base-64 string
398
+ */
399
+ _binb2b64: function(_binarray){
400
+ var _this=this,
401
+ _tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
402
+ _str = "",
403
+ i,
404
+ _binLen = _binarray.length * 4,
405
+ _t1, _t2, _3,
406
+ _triplet,
407
+ j,
408
+ _binLen32 = _binarray.length * 32;
409
+ for(i = 0; i < _binLen; i += 3){
410
+ _t1 = (((_binarray[i >> 2] >> 8 * (3 - i %4)) & 0xFF) << 16);
411
+ _t2 = (((_binarray[i+1 >> 2] >> 8 * (3 - (i+1)%4)) & 0xFF) << 8 );
412
+ _t3 = ((_binarray[i+2 >> 2] >> 8 * (3 - (i+2)%4)) & 0xFF);
413
+ _triplet = (_t1 | _t2 | _t3);
414
+ for(j = 0; j < 4; j++){
415
+ if(i * 8 + j * 6 > _binLen32){
416
+ _str += _this._b64pad;
417
+ }
418
+ else {
419
+ _str += _tab.charAt((_triplet >> 6*(3-j)) & 0x3F);
420
+ }
421
+ }
422
+ }
423
+ return _str;
424
+ }
425
+ });
426
+