2 js functions and code common to all pages
5 /* define some global variables for this request */
6 global.page = new Object();
8 /* fill in some defaults */
9 global.page.title = "Samba Web Administration Tool";
11 libinclude("base.js");
13 /* to cope with browsers that don't support cookies we append the sessionid
15 global.SESSIONURI = "";
16 if (request['COOKIE_SUPPORT'] != "True") {
17 global.SESSIONURI="?SwatSessionId=" + request['SESSION_ID'];
21 possibly adjust a local URI to have the session id appended
22 used for browsers that don't support cookies
24 function session_uri(uri) {
25 return uri + global.SESSIONURI;
29 like printf, but to the web page
33 write(vsprintf(arguments));
37 like writef with a <br>
41 write(vsprintf(arguments));
46 /* if the browser was too dumb to set the HOST header, then
48 if (headers['HOST'] == undefined) {
49 headers['HOST'] = server['SERVER_HOST'] + ":" + server['SERVER_PORT'];
53 show the page header. page types include "plain" and "column"
55 function page_header(pagetype, title, menu) {
56 global.page.pagetype = pagetype;
57 global.page.title = title;
58 global.page.menu = menu;
59 include("/scripting/header_" + pagetype + ".esp");
63 show the page footer, getting the page type from page.pagetype
66 function page_footer() {
67 include("/scripting/footer_" + global.page.pagetype + ".esp");
72 display a table element
74 function table_element(i, o) {
75 write("<tr><td>" + i + "</td><td>");
76 if (typeof(o[i]) == "object") {
89 write("</td></tr>\n");
93 display a ejs object as a table. The header is optional
95 function simple_table(v) {
99 write("<table class=\"data\">\n");
108 display an array of objects, with the header for each element from the given
111 function multi_table(array, header) {
113 write("<table class=\"data\">\n");
114 for (i=0;i<array.length;i++) {
116 write('<tr><th colspan="2">' + v[header] + "</th></tr>\n");