r7089: ensure that headers['HOST'] is setup
[kai/samba.git] / swat / scripting / common.js
1 /*
2         js functions and code common to all pages
3 */
4
5 /* define some global variables for this request */
6 global.page = new Object();
7
8 /* fill in some defaults */
9 global.page.title = "Samba Web Administration Tool";
10
11
12 /* if the browser was too dumb to set the HOST header, then
13    set it now */
14 if (headers['HOST'] == undefined) {
15         headers['HOST'] = server['SERVER_HOST'] + ":" + server['SERVER_PORT'];
16 }
17
18 /*
19   show the page header. page types include "plain" and "column" 
20 */
21 function page_header(pagetype, title) {
22         global.page.pagetype = pagetype;
23         global.page.title = title;
24         include("/scripting/header_" + pagetype + ".esp");
25 }
26
27 /*
28   show the page footer, getting the page type from page.pagetype
29   set in page_header()
30 */
31 function page_footer() {
32         include("/scripting/footer_" + global.page.pagetype + ".esp");
33 }
34
35 /*
36   check if a uri is one of the 'always allowed' pages, even when not logged in
37   This allows the login page to use the same style sheets and images
38 */
39 function always_allowed(uri) {
40         var allowed = new Array("/images/favicon.ico", 
41                                 "/images/linkpad.gif",
42                                 "/images/logo.png",
43                                 "/style/main.css",
44                                 "/style/common.css");
45         for (i in allowed) {
46                 if (allowed[i] == uri) {
47                         return true;
48                 }
49         }
50         return false;
51 }
52
53 /*
54   display a simple menu. First argument is menu title, followed by
55   pairs of menu item name and link
56 */
57 function simple_menu() {
58         write("<i>" + arguments[0] + "</i><br /><ul>\n");
59         for (i = 1; i < arguments.length; i = i + 2) {
60                 write("<li><a href=\"" + arguments[i+1] + "\">" + arguments[i] + "</a></li>\n");
61         }
62         write("</ul>\n");
63 }