diff options
-rw-r--r-- | swat/docs/menu.js | 6 | ||||
-rw-r--r-- | swat/esptest/auth.esp | 12 | ||||
-rw-r--r-- | swat/esptest/exception.esp | 13 | ||||
-rw-r--r-- | swat/esptest/formtest.esp | 12 | ||||
-rw-r--r-- | swat/esptest/include.esp | 12 | ||||
-rw-r--r-- | swat/esptest/index.esp | 32 | ||||
-rw-r--r-- | swat/esptest/index.html | 23 | ||||
-rw-r--r-- | swat/esptest/ldb.esp | 31 | ||||
-rw-r--r-- | swat/esptest/loadparm.esp | 12 | ||||
-rw-r--r-- | swat/esptest/menu.js | 11 | ||||
-rw-r--r-- | swat/esptest/session.esp | 12 | ||||
-rw-r--r-- | swat/esptest/showvars.esp | 13 | ||||
-rwxr-xr-x | swat/images/linkpad.gif | bin | 0 -> 270 bytes | |||
-rw-r--r-- | swat/index.esp | 27 | ||||
-rw-r--r-- | swat/login.esp | 29 | ||||
-rw-r--r-- | swat/logout.esp | 8 | ||||
-rw-r--r-- | swat/scripting/common.js | 56 | ||||
-rw-r--r-- | swat/scripting/footer.esp | 1 | ||||
-rw-r--r-- | swat/scripting/footer_columns.esp | 7 | ||||
-rw-r--r-- | swat/scripting/footer_plain.esp | 7 | ||||
-rw-r--r-- | swat/scripting/header.esp | 4 | ||||
-rw-r--r-- | swat/scripting/header_columns.esp | 68 | ||||
-rw-r--r-- | swat/scripting/header_plain.esp | 51 | ||||
-rw-r--r-- | swat/scripting/preauth.esp | 17 | ||||
-rw-r--r-- | swat/style/common.css | 185 | ||||
-rw-r--r-- | swat/style/main.css | 107 |
26 files changed, 610 insertions, 146 deletions
diff --git a/swat/docs/menu.js b/swat/docs/menu.js new file mode 100644 index 0000000000..eceacf97e0 --- /dev/null +++ b/swat/docs/menu.js @@ -0,0 +1,6 @@ +/* show a menu for the docs directory */ +simple_menu( + "Samba Information", + "Samba4 development", "http://devel.samba.org/", + "Recent Checkins", "http://build.samba.org/?tree=samba4&function=Recent+Checkins", + "Recent Builds", "http://build.samba.org/?tree=samba4&function=Recent+Builds"); diff --git a/swat/esptest/auth.esp b/swat/esptest/auth.esp index ac85ddc026..35953dc7dc 100644 --- a/swat/esptest/auth.esp +++ b/swat/esptest/auth.esp @@ -1,8 +1,5 @@ -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> +<% page_header("columns", "ESP Authentication Test"); %> + <h1>Samba4 unixAuth test</h1> <form name="AuthTest" method="POST" action="@@request['SCRIPT_NAME']"> @@ -22,7 +19,7 @@ Samba4 ESP test if (request['REQUEST_METHOD'] == "POST") { /* if they cancelled then take them back to the list of tests */ if (form['submit'] == "Cancel") { - redirect("index.esp"); + redirect("/"); } username = form['Username']; @@ -48,5 +45,4 @@ write ("<br>PRIVILEGE = " + session['PRIVILEGE'] + "\n"); %> -</BODY> -</HTML> +<% page_footer(); %> diff --git a/swat/esptest/exception.esp b/swat/esptest/exception.esp index d569fbe776..abea890d98 100644 --- a/swat/esptest/exception.esp +++ b/swat/esptest/exception.esp @@ -1,8 +1,5 @@ -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> +<% page_header("columns", "ESP Exception test"); %> + <h1>Samba4 exception test</h1> <form name="ExceptionTest" method="POST" action="@@request['SCRIPT_NAME']"> @@ -15,7 +12,7 @@ Samba4 ESP test if (request['REQUEST_METHOD'] == "POST") { /* if they cancelled then take them back to the list of tests */ if (form['submit'] == "Cancel") { - redirect("index.esp"); + redirect("/"); } function TestFunction(arg1, arg2) { @@ -33,5 +30,5 @@ if (request['REQUEST_METHOD'] == "POST") { %> and here is some filler text ... -</BODY> -</HTML> + +<% page_footer(); %> diff --git a/swat/esptest/formtest.esp b/swat/esptest/formtest.esp index 7996900eb2..89e542c552 100644 --- a/swat/esptest/formtest.esp +++ b/swat/esptest/formtest.esp @@ -1,9 +1,4 @@ -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> -<h1>Samba4 form test</h1> +<% page_header("columns", "ESP Form Test"); %> <form name="FormTest" method="POST" action="@@request['SCRIPT_NAME']"> firstName: <input name="firstName" type="text" value=""><br> @@ -20,7 +15,7 @@ Samba4 ESP test /* if they cancelled then take them back to the list of tests */ if (form['submit'] == "Cancel") { - redirect("index.esp"); + redirect("/"); } %> You chose firstName=@@form['firstName'] lastName=@@form['lastName'] @@ -37,5 +32,4 @@ Samba4 ESP test } %> -</BODY> -</HTML> +<% page_footer(); %> diff --git a/swat/esptest/include.esp b/swat/esptest/include.esp index 9b67a768da..f7fd5e0b91 100644 --- a/swat/esptest/include.esp +++ b/swat/esptest/include.esp @@ -1,8 +1,5 @@ -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> +<% page_header("columns", "ESP Include Test"); %> + including /scripting/test.ejs<p> <% include("/scripting/test.ejs"); %> calling a function from test.ejs ...<p> @@ -14,9 +11,8 @@ calling a function from test.esp ...<p> <% res = testfn('foo'); %> result is: @@res -<form name="Cancel" method="POST" action="index.esp"> +<form name="Cancel" method="POST" action="/"> <input name="submit" type="submit" value="Cancel"><br> </form> -</BODY> -</HTML> +<% page_footer(); %> diff --git a/swat/esptest/index.esp b/swat/esptest/index.esp deleted file mode 100644 index 40f6cbc38b..0000000000 --- a/swat/esptest/index.esp +++ /dev/null @@ -1,32 +0,0 @@ -<% - var tests = new Array("formtest", "showvars", "include", - "session", "loadparm", "exception", - "ldb", "auth"); -%> - -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> -<img src="/images/logo.png" alt="Samba"> -<h1>Samba4 ESP test</h1> - -Please choose one of the following tests: -<ul> -<% - for (test in tests) { - url = tests[test] + ".esp"; - write("<li> <a href=" + url + ">" + tests[test] + "</a>"); - } -%> -</ul> - -For more information on ejs see <a -href="http://www.appwebserver.org/products/ejs/ejs.html">http://www.appwebserver.org/products/ejs/ejs.html</a><p> - -For more information on esp see <a -href="http://www.appwebserver.org/products/esp/esp.html">http://www.appwebserver.org/products/esp/esp.html</a><p> - -</BODY> -</HTML> diff --git a/swat/esptest/index.html b/swat/esptest/index.html deleted file mode 100644 index 0c64b4ffcf..0000000000 --- a/swat/esptest/index.html +++ /dev/null @@ -1,23 +0,0 @@ -<% - var tests = new Array("formtest", "showvars", "include"); -%> - -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> -<img src="/images/logo.png" alt="Samba"> -<h1>Samba4 ESP test</h1> - -Please choose one of the following tests: -<ul> -<% - for (test in tests) { - url = tests[test] + ".html"; - write("<li> <a href=" + url + ">" + tests[test] + "</a>"); - } -%> -</ul> -</BODY> -</HTML> diff --git a/swat/esptest/ldb.esp b/swat/esptest/ldb.esp index 3285574bf2..1bc75bce73 100644 --- a/swat/esptest/ldb.esp +++ b/swat/esptest/ldb.esp @@ -1,19 +1,16 @@ -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> +<% page_header("columns", "ESP ldb test"); %> + <h1>Samba4 ldb test</h1> -<form name="LdbTest" method="POST" action="@@request['SCRIPT_NAME']"> - <input name="submit" type="submit" value="Cancel"><br> +<form name="LdbTest" method="post" action="@@request['SCRIPT_NAME']"> + <input name="submit" type="submit" value="Cancel" /><br /> </form> <% if (request['REQUEST_METHOD'] == "POST") { /* if they cancelled then take them back to the list of tests */ if (form['submit'] == "Cancel") { - redirect("index.esp"); + redirect("/"); } } @@ -27,10 +24,10 @@ function showLdbRes(res) { var a = r[j]; if (typeof(a) == "object") { for (k in a) { - write(j + "[" + k + "]=" + a[k] + "<br>\n"); + write(j + "[" + k + "]=" + a[k] + "<br />\n"); } } else { - write(j + "=" + r[j] + "<br>\n"); + write(j + "=" + r[j] + "<br />\n"); } } write("<p>"); @@ -43,7 +40,7 @@ Trying a attribute constrained search on samdb:<p> <% var dbfile = lpGet("sam database"); -var attrs = new Array("name", "dnsDomain", "objectSid"); +var attrs = new Array("name", "dnsDomain", "objectSid", "dn"); res = ldbSearch(dbfile, "(objectClass=domain)", attrs); showLdbRes(res); @@ -54,10 +51,16 @@ and now an unconstrained search:<p> <% var dbfile = lpGet("sam database"); -res = ldbSearch(dbfile, "(objectClass=domain)"); +res = ldbSearch(dbfile, "(objectClass=user)"); showLdbRes(res); %> +and a bad search<br> + +<% +res = ldbSearch("foo"); +%> + +all done -</BODY> -</HTML> +<% page_footer() %> diff --git a/swat/esptest/loadparm.esp b/swat/esptest/loadparm.esp index b9f2c54ec5..0ed69d939a 100644 --- a/swat/esptest/loadparm.esp +++ b/swat/esptest/loadparm.esp @@ -1,8 +1,5 @@ -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> +<% page_header("columns", "ESP loadparm test"); %> + <h1>Samba4 loadparm test</h1> <form name="LoadparmTest" method="POST" action="@@request['SCRIPT_NAME']"> @@ -37,7 +34,7 @@ function showValue(name, v) { if (request['REQUEST_METHOD'] == "POST") { /* if they cancelled then take them back to the list of tests */ if (form['submit'] == "Cancel") { - redirect("index.esp"); + redirect("/"); } var v; @@ -73,5 +70,4 @@ showParameter("server signing"); showParameter("interfaces"); %> -</BODY> -</HTML> +<% page_footer(); %> diff --git a/swat/esptest/menu.js b/swat/esptest/menu.js new file mode 100644 index 0000000000..3b16824fad --- /dev/null +++ b/swat/esptest/menu.js @@ -0,0 +1,11 @@ +/* show a menu for the esp test pages */ +simple_menu( + "ESP Tests", + "ldb database", "/esptest/ldb.esp", + "html forms", "/esptest/formtest.esp", + "esp includes", "/esptest/include.esp", + "session variables", "/esptest/session.esp", + "loadparm access", "/esptest/loadparm.esp", + "exception handling", "/esptest/exception.esp", + ); + diff --git a/swat/esptest/session.esp b/swat/esptest/session.esp index e1d6a6370d..3d787012c6 100644 --- a/swat/esptest/session.esp +++ b/swat/esptest/session.esp @@ -1,8 +1,5 @@ -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> +<% page_header("columns", "ESP session test"); %> + <h1>Samba4 session test</h1> <form name="SessionTest" method="POST" action="@@request['SCRIPT_NAME']"> @@ -22,7 +19,7 @@ Samba4 ESP test if (request['REQUEST_METHOD'] == "POST") { /* if they cancelled then take them back to the list of tests */ if (form['submit'] == "Cancel") { - redirect("index.esp"); + redirect("/"); } name = form['Name']; @@ -61,5 +58,4 @@ showArray("session", session); write("SessionId=" + request['SESSION_ID'] + "<br>\n"); %> -</BODY> -</HTML> +<% page_footer(); %> diff --git a/swat/esptest/showvars.esp b/swat/esptest/showvars.esp index 04bfb7b1f6..262a0962b7 100644 --- a/swat/esptest/showvars.esp +++ b/swat/esptest/showvars.esp @@ -1,8 +1,5 @@ -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> +<% page_header("columns", "ESP standard variables test"); %> + <h1>Samba4 showvars test</h1> <% @@ -26,10 +23,10 @@ Samba4 ESP test showArray("session", session); %> -<form name="Cancel" method="POST" action="index.esp"> +<form name="Cancel" method="POST" action="/"> <input name="submit" type="submit" value="Cancel"><br> </form> </ul> -</BODY> -</HTML> + +<% page_footer(); %> diff --git a/swat/images/linkpad.gif b/swat/images/linkpad.gif Binary files differnew file mode 100755 index 0000000000..613b4f55ef --- /dev/null +++ b/swat/images/linkpad.gif diff --git a/swat/index.esp b/swat/index.esp index 373bd9f74e..325deeddae 100644 --- a/swat/index.esp +++ b/swat/index.esp @@ -1,20 +1,7 @@ -<HTML> -<TITLE> -Samba4 ESP test -</TITLE> -<BODY> -redirecting you to the test pages ... -<% -if (server['SERVER_PROTOCOL'] == "http" && - server['TLS_SUPPORT'] == "True") { - if (headers['HOST']) { - redirect("https://" + headers['HOST'] + request['REQUEST_URI']); - } else { - redirect("https://" + server['SERVER_NAME'] + ":" + server['SERVER_PORT'] + request['REQUEST_URI']); - } -} else { - redirect("esptest/index.esp"); -} -%> -</BODY> -</HTML> +<% page_header("columns", "Welcome to SWAT"); %> + +<h1>Welcome to SWAT!</h1> + +Please select a menu item from the selection on the left + +<% page_footer(); %> diff --git a/swat/login.esp b/swat/login.esp new file mode 100644 index 0000000000..1dfc1142e6 --- /dev/null +++ b/swat/login.esp @@ -0,0 +1,29 @@ +<% page_header("plain", "SWAT Login"); %> + +<form name="login" method="POST" action="@@request.SCRIPT_NAME"> + Username: <input name="Username" type="text" value=""><br> + Password: <input name="Password" type="password" value=""><br> + <br> + <input name="submit" type="submit" value="Login"><br> +</form> + +<% + if (request.REQUEST_METHOD == "POST") { + /* for now just authenticate everyone */ + session.AUTHENTICATED = true; + session.authinfo = new Object(); + + session.authinfo.username = form.Username; + + /* if the user was asking for the login page, then now + redirect them to the main page. Otherwise just + redirect them to the current page, which will now + show its true content */ + if (request.REQUEST_URI == "/login.esp") { + redirect("/"); + } else { + redirect(request.REQUEST_URI); + } + } +%> +<% page_footer(); %> diff --git a/swat/logout.esp b/swat/logout.esp new file mode 100644 index 0000000000..b725d63a64 --- /dev/null +++ b/swat/logout.esp @@ -0,0 +1,8 @@ +<% +page_header("plain", "Logging out"); + +session.AUTHENTICATED = false; +redirect("/login.esp"); + +page_footer(); +%> diff --git a/swat/scripting/common.js b/swat/scripting/common.js new file mode 100644 index 0000000000..0691512fb2 --- /dev/null +++ b/swat/scripting/common.js @@ -0,0 +1,56 @@ +/* + js functions and code common to all pages +*/ + +/* define some global variables for this request */ +global.page = new Object(); + +/* fill in some defaults */ +global.page.title = "Samba Web Administration Tool"; + +/* + show the page header. page types include "plain" and "column" +*/ +function page_header(pagetype, title) { + global.page.pagetype = pagetype; + global.page.title = title; + include("/scripting/header_" + pagetype + ".esp"); +} + +/* + show the page footer, getting the page type from page.pagetype + set in page_header() +*/ +function page_footer() { + include("/scripting/footer_" + global.page.pagetype + ".esp"); +} + +/* + check if a uri is one of the 'always allowed' pages, even when not logged in + This allows the login page to use the same style sheets and images +*/ +function always_allowed(uri) { + var allowed = new Array("/images/favicon.ico", + "/images/linkpad.gif", + "/images/logo.png", + "/style/main.css", + "/style/common.css"); + for (i in allowed) { + if (allowed[i] == uri) { + return true; + } + } + return false; +} + +/* + display a simple menu. First argument is menu title, followed by + pairs of menu item name and link +*/ +function simple_menu() { + write("<i>" + arguments[0] + "</i><br /><ul>\n"); + for (i = 1; i < arguments.length; i = i + 2) { + write("<li><a href=\"" + arguments[i+1] + "\">" + arguments[i] + "</a></li>\n"); + } + write("</ul>\n"); +} diff --git a/swat/scripting/footer.esp b/swat/scripting/footer.esp new file mode 100644 index 0000000000..5f85cabb08 --- /dev/null +++ b/swat/scripting/footer.esp @@ -0,0 +1 @@ +</html> diff --git a/swat/scripting/footer_columns.esp b/swat/scripting/footer_columns.esp new file mode 100644 index 0000000000..29b06a4caa --- /dev/null +++ b/swat/scripting/footer_columns.esp @@ -0,0 +1,7 @@ +<% + /* footer for columns page type */ +%> +</div> +</div> +</body> +<% include("/scripting/footer.esp"); %> diff --git a/swat/scripting/footer_plain.esp b/swat/scripting/footer_plain.esp new file mode 100644 index 0000000000..ea0a3f7816 --- /dev/null +++ b/swat/scripting/footer_plain.esp @@ -0,0 +1,7 @@ +<% + /* footer for plain page type */ +%> +</div> +</div> +</body> +<% include("/scripting/footer.esp"); %> diff --git a/swat/scripting/header.esp b/swat/scripting/header.esp new file mode 100644 index 0000000000..1630b2be04 --- /dev/null +++ b/swat/scripting/header.esp @@ -0,0 +1,4 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> +<head> diff --git a/swat/scripting/header_columns.esp b/swat/scripting/header_columns.esp new file mode 100644 index 0000000000..6122124b05 --- /dev/null +++ b/swat/scripting/header_columns.esp @@ -0,0 +1,68 @@ +<% include("/scripting/header.esp"); %> + +<title>@@global.page.title</title> + +<link rel="stylesheet" href="/style/common.css" type="text/css" media="all" /> +<link rel="stylesheet" href="/style/main.css" type="text/css" media="all" /> +<link rel="shortcut icon" href="/images/favicon.ico" /> + +<!--[if gte IE 5.5]> + <style type="text/css"> + /*<![CDATA[*/ + .logo_hack { +filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/logo.png',sizingMethod='scale'); + } + /*]]>*/ + </style> +<![endif]--> + +<!--[if lte IE 5]> + <style type="text/css"> + /*<![CDATA[*/ + .logo_hack { + background-image:url(/images/logo.gif); + background-position:center; + background-repeat:no-repeat; + top:23.5px; + left:-10px; + } + /*]]>*/ + </style> +<![endif]--> + +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<meta http-equiv="Content-Language" content="en-us" /> + +</head> + + +<body> + +<div id="banner"> + <div class="stripe"></div> + <div class="logout"> + <b>logged in as @@session.authinfo.username</b> + <form method="post" action="/logout.esp"> + <input type="submit" value="Logout" /> + </form> + </div> +</div> + +<div id="logo"> + <div class="logo_hack"><a href="/"><img src="/images/linkpad.gif" alt="SWAT" /></a></div> +</div> + +<div class="slogan"> + <h4>Samba Web Administration Tool</h4> +</div> + +<div class="nav"> + <% + include("/docs/menu.js"); + include("/esptest/menu.js"); + %> +</div> + + +<div id="content"> + <div class="center"> diff --git a/swat/scripting/header_plain.esp b/swat/scripting/header_plain.esp new file mode 100644 index 0000000000..69bd0cd718 --- /dev/null +++ b/swat/scripting/header_plain.esp @@ -0,0 +1,51 @@ +<% include("/scripting/header.esp"); %> + +<title>@@global.page.title</title> + +<link rel="stylesheet" href="/style/common.css" type="text/css" media="all" /> +<link rel="stylesheet" href="/style/main.css" type="text/css" media="all" /> +<link rel="shortcut icon" href="/images/favicon.ico" /> + +<!--[if gte IE 5.5]> + <style type="text/css"> + /*<![CDATA[*/ + .logo_hack { +filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/logo.png',sizingMethod='scale'); + } + /*]]>*/ + </style> +<![endif]--> + +<!--[if lte IE 5]> + <style type="text/css"> + /*<![CDATA[*/ + .logo_hack { + background-image:url(/images/logo.gif); + background-position:center; + background-repeat:no-repeat; + top:23.5px; + left:-10px; + } + /*]]>*/ + </style> +<![endif]--> + +</head> + + +<body> + +<div id="banner"> + <div class="stripe"></div> +</div> + +<div id="logo"> + <div class="logo_hack"><a href="/"><img src="/images/linkpad.gif" alt="SWAT" /></a></div> +</div> + +<div class="slogan"> + <h4>Samba Web Administration Tool</h4> +</div> + +<div id="content"> + <div class="center"> diff --git a/swat/scripting/preauth.esp b/swat/scripting/preauth.esp new file mode 100644 index 0000000000..489f6b5004 --- /dev/null +++ b/swat/scripting/preauth.esp @@ -0,0 +1,17 @@ +<% +include("/scripting/common.js"); + +/* this script is called on every web request. If it produces any + output at all then that output is returned and the requested page + is not given or processed. +*/ +if (server['SERVER_PROTOCOL'] == "http" && + server['TLS_SUPPORT'] == "True") { + write("redirect to https"); + redirect("https://" + headers['HOST'] + request['REQUEST_URI']); +} else if (always_allowed(request['REQUEST_URI']) != true && + session['AUTHENTICATED'] == undefined) { + /* present the login page */ + include("/login.esp"); +} +%> diff --git a/swat/style/common.css b/swat/style/common.css new file mode 100644 index 0000000000..58406ccc40 --- /dev/null +++ b/swat/style/common.css @@ -0,0 +1,185 @@ +/* common.css */ + + /********* Basic elements across the site **********/ + /***************************************************/ + +body { + margin:0; + background-color:#E5E9F5; + font-family:Lucidasans, Helvetica, Verdana, sans-serif; + font-size:medium; + color:#000; +} +h1 { + font-size:x-large; +} +h2 { + text-align:left; + color:#FFFF64; + font-size:large; + background-color:#3878CD; + margin-top:60px; + margin-bottom:15px; + padding:2px; + padding-left:5px; +} +h3 { + font-size:medium; +} +h5 { + font-size:small; + text-align:right; + display:inline; +} +* html h5 { + padding-right:4px; +} +h6 { + font-size:small; + text-align:right; + text-align:right; +} +h6 a { + margin-right:3px; +} +table.real thead { + background-color: #E5E9F5; +} +table.real th, +table.real td { + border: 1px solid #3878CD; + padding: 2px; +} +table.real { + border: 2px solid #3878CD; + background-color: #F5F8FF; +} +a:link:hover { + color:#CC0033; + background-color:#FFFF64; +} +ol li { + margin-bottom:12px; +} +blockquote { + margin:35px; + padding:15px; + border-left:2px groove #CCC; + border-top:2px groove #CCC; +} +img { + border:0; +} +.punch { /*creates a bold typeface */ + font-weight:bold; +} + + /********************* header styles *******************************/ + /******************************************************************/ +#banner { + position:absolute; + top:0; + left:0; + height:90px; + width:100%; + padding-top:4px; + background-color:#FFFF64; +} +.logout { + text-align:right; + +} +.logout form { + display:inline; +} +.stripe { + position:absolute; + top:40px; + left:0; + height:55px; + width:100%; + background-color:#3878CD; + border-top:2px solid #575756; + border-bottom:2px solid #575756; +} +.slogan { + position:absolute; + left:187px; + z-index:1; +} +html>body .slogan { /**** Opera needs its own rule *********/ + top:100px; +} +:root .slogan { /**** Undo the Opera rule for all other browsers ****/ + top:80px; +} +* html .slogan { /** Then, give IE 5/6 its own rule ****** */ + top:100px; +} + + /******** PNG logo with transparency across browsers */ + /******************************************************/ +#logo>.logo_hack { + background-image:url(/images/logo.png); + background-position:center; + background-repeat:no-repeat; +} +.logo_hack { + position:absolute; + top:25px; + left:0; + width:250px; + height:119px; + padding:0; + margin:0; +} +.logo_hack a:hover { + background:transparent; +} + + /******** Main nav menu styles ****************/ + /**********************************************/ +.nav { + position:absolute; + top:152px; + left:20px; + width:180px; + background-color:#F5F8FF; + border:2px groove #3878CD; + padding:0; + padding-bottom:5px; + margin:0; + z-index:1; +} +.nav ul { + list-style-type:none; + text-align:center; + padding:0; + margin:0; +} +.nav a, +.nav a:link, +.nav a:visited { + display:block; + height:20px; + font-size:small; + color:#2B5C9F; +} +.nav a:hover { + color:#FFF; + background-color:#3878CD; +} +.nav a:active { + color:#FFFF64; + background-color:#3878CD; + font-size:14px; +} +.nav img { + padding:0; + margin:0; + width:180px; + height:30px; +} +.colophon { + margin-left:20px; +} diff --git a/swat/style/main.css b/swat/style/main.css new file mode 100644 index 0000000000..15f768d186 --- /dev/null +++ b/swat/style/main.css @@ -0,0 +1,107 @@ +/* main.css */ + + /******* Links for right-hand side of the page ******/ + /****************************************************/ +#links { + float:right; + margin:115px 1em 0 0; + padding:0; + width:173px; +} +* html #links { /* Applies to IE5/6 only */ + margin:115px .5% 0 0; +} +#links h4 { + margin-top:10px; + margin-left:1.5px; + font-size:small; +} +#links ul { + list-style-type:none; + padding:0; + padding-top:5px; + margin-left:20px; +} +#links a { + font-size:small; +} +#links p { + margin-top:25px; + margin-left:20px; +} +.releases { + padding:2px; + margin-top:35px; + border:1px solid #CCC; + background-color:#E5E9F5; +} +.beyond, .related, .intl { + padding:2px; + margin-top:25px; + border:1px solid #CCC; + background-color:#E5E9F5; +} +.beyond li { + margin-bottom:10px; +} +.contacts li{ + list-style-type:disc; +} + /****** Formats the page layout ********************/ + /**************************************************/ +#content>.center { + min-height:800px; + z-index:0; +} +.center { + margin:0 22% 0 175px; + padding-top:130px; + padding-left:35px; + padding-bottom:50px; + padding-right:15px; + background-color:#FFF; + border-left:1px solid #FFFF64; + border-right:1px solid #FFFF64; + z-index:-1; +} +.center ul { + list-style-type:none; +} +.headline { + margin-left:20px; + font-style:italic; +} + /*********T-shirts and mirror footnotes *************/ + /****************************************************/ +.plugs { + font-style:italic; + text-align:center; + border-top:2px groove #3878CD; + border-bottom:2px groove #3878CD; + padding:10px; + margin-top:100px; +} +.plugs p { + padding:30px; +} +.plugs img { + float:left; +} +.request { + margin-top:50px; + font-style:italic; + font-size:small; +} +#noswp img { + border:1px solid #3868CD; + width:370px; + height:90px; +} +#noswp a:hover { + background-color:transparent; +} +#noswp { + width:auto; + text-align:center; + margin:10px 0 25px 0; +} |