aboutsummaryrefslogtreecommitdiffstats
path: root/config/widescreen
diff options
context:
space:
mode:
authorjim-p <jimp@pfsense.org>2011-02-25 13:33:38 -0500
committerjim-p <jimp@pfsense.org>2011-02-25 13:33:38 -0500
commit0839095b075a53c69f6e511d78a0aa167ff0f318 (patch)
treeebbbb9b096f067a8c1121d23f7df5379d56c9aca /config/widescreen
parent2359cd5a808fd6d5edbe9c0733a0807275fa9f73 (diff)
downloadpfsense-packages-0839095b075a53c69f6e511d78a0aa167ff0f318.tar.gz
pfsense-packages-0839095b075a53c69f6e511d78a0aa167ff0f318.tar.bz2
pfsense-packages-0839095b075a53c69f6e511d78a0aa167ff0f318.zip
Newline fixes...
Diffstat (limited to 'config/widescreen')
-rw-r--r--config/widescreen/bin/all.css_2826
-rw-r--r--config/widescreen/bin/index.php_1550
2 files changed, 2188 insertions, 2188 deletions
diff --git a/config/widescreen/bin/all.css_ b/config/widescreen/bin/all.css_
index fedfce14..d11dedca 100644
--- a/config/widescreen/bin/all.css_
+++ b/config/widescreen/bin/all.css_
@@ -1,1413 +1,1413 @@
-/* Element CSS Definitions */
-html, body, td, th, input, select {
- font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
- font-size: 0.9em;
-
-}
-
-.infobox {
- width:100%;
-}
-
-.infoboxsave {
- padding-right: 10px;
-}
-
-.infoboxnptd2 {
- width:100%;
- color:white;
- background-color:#990000;
- padding-right: 10px;
-}
-
-.infoboxnptd {
- width:8%;
- background-color:#990000;
-}
-
-.infoboxnptable {
- height:32px;
- width:100%;
- background-color:#990000;
-}
-
-.infoboxnptable2 {
- height:32px;
- width:100%;
- background-color:#990000;
-}
-
-.infoboxnp {
- background-color:#990000;
- width:100%;
-}
-
-.infoboxnpimg {
- vertical-align:middle;
- width:28px;
- height:32px;
- background-color:#990000;
-}
-
-.inputerrorsleft {
- background-color: #990000;
- width: 36px;
-}
-
-.inputerrorsright {
- background-color: #FFD9D1;
- color: #000000;
- font-size: 11px;
- padding-left: 8px;
- padding-top: 6px;
-}
-
-div.GraphLink {
- position: relative;
-}
-
-span.GraphLinkLine {
- position: absolute;
- background-color: #990000;
- width: 100%;
-}
-
-/* DOM Tooltip CSS definitions */
-div.niceTitle
-{
- background-color: #333333;
- color: #FFFFFF;
- font-weight: bold;
- font-size: 13px;
- font-family: "Trebuchet MS", sans-serif;
- width: 220px;
- left: 0;
- top: 0;
- padding: 4px;
- position: absolute;
- text-align: left;
- z-index: 20;
- -moz-border-radius: 0 10px 10px 10px;
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=87);
- -moz-opacity: .87;
- -khtml-opacity: .87;
- opacity: .87;
-}
-div.niceTitle h1
-{
- background: #990000;
- border-bottom: 1px dotted #FFFFFF;
- font-weight: bold;
- font-size: 13px;
- font-family: "Trebuchet MS", sans-serif;
- margin: 3px;
- padding-top: 1px;
- padding-bottom: 1px;
- padding-left: 3px;
- text-align: left;
- left: 0;
- top: 0;
- -moz-border-radius: 0 8px 0 0;
- -moz-opacity: 1;
-}
-div.niceTitle .contents
-{
- margin: 0;
- padding: 0 3px;
- filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
- -moz-opacity: 1;
- -khtml-opacity: 1;
- opacity: 1;
-}
-div.niceTitle p
-{
- background: #FFFFFF;
- border: 1px solid #990000;
- color: #000000;
- font-size: 11px;
- font-family: "Trebuchet MS", sans-serif;
- padding: 5px;
- margin: 3px;
- text-align: left;
- -moz-opacity: 1;
- -moz-border-radius: 0 0 8px 8px;
-}
-
-body {
- margin: 0px auto;
- align: left;
- background: url('images/background.jpg') no-repeat;
- background-position : left 0px;
- background-attachment: fixed;
- background-color: #7f7f7f;
-}
-a:link {
- color: #550000;
-}
-
-a:visited {
- color: #550000;
-}
-
-a:active {
- color: #550000;
-}
-
-a:hover {
- color: #550000;
-}
-
-form {
- margin: 0px;
-}
-a {
- text-decoration: none;
-}
-form input {
- font-size: 1.1em;
-}
-
-iframe {
- z-index: 1;
- border: 1px dashed #990000;
-}
-.iframe {
- background-color: #FFFFFF;
-}
-
-/* style of disabled formelements */
-#wrap div {margin:1em 0}
-[disabled] {
- color:#666666;
- background:#eeeeee;
-}
-
-/* ID Based CSS Definitions */
-/* margin: 0px auto makes the content centered, margin 0px 0px makes it aligned to the left */
-#wrapper {
-/*+++ width: 810px;*/
- width: 100%;
- margin: 0px 0px;
-/* left: 0px; */
-}
-
-#header {
- background: url('images/header.png') no-repeat;
- background-position: 0px;
- height: 40px;
- min-width: 910px;
-/*+++ width: 810px;*/
- width: 100%;
- position: fixed;
- left: 0;
- margin-bottom: 5px;
- z-index: 1;
-}
-#header-left {
- position: relative;
-/* background: url('images/logo.gif') no-repeat;*/
- background-position: center;
- height: 40px;
- width: 80px;
- left: 0px;
- top:0px;
- float: left;
-}
-#header-leftright {
-/*+++ position: relative;*/
- position: absolute;
- background: url('images/header-mid.png') repeat-x;
- background-position: center;
- height: 40px;
- left: 900px;
- right:0;
- top:0px;
- z-index: 2; /*+++*/
-}
-#header-left #status-link {
- position: relative;
- top: 0px;
- left: 0px;
-}
-#header-right {
-/*+++ position: relative;*/
- position: absolute;
- /* background: url('images/header.gif') no-repeat; */
- height: 70px;
- color: #fff;
-/*+++ left: 0px;*/
-/* margin-left: 165px; +++*/
-/* left: -300px;*/
- right: 0px;
- width: 400px;
- z-index: 2;/*+++*/
-}
-#header-right .alert {
- position: relative;
- /* background: url('images/alert.gif') no-repeat; */
- background-position: 4px 2px;
- color: #fff;
- height: 17px;
- width: 500px;
- padding: 4px;
- padding-left: 27px;
- float: left;
-}
-#header-right .container {
-/*+++ position: relative;*/
- postition: absolute;
-}
-#header-right .container .left {
-/*+++ position: relative; */
- position: absolute;
- float: left;
- font-size: 1.3em;
- font-weight: bold;
- top: 15px;
- left: 4px;
- display: none;
-}
-#header-right .container .right {
-/*+++ position: relative;*/
- position: absolute;
- float: right;
- top: 22px;
- padding-right: 4px;
- z-index: 1;
-}
-
-/* for forcing an alert run the following command from diagnostics>command, php command:
-file_notice("blah", "blah blah...testing my new theme...");
-*/
-
-#header-right .container .right #alerts {
- position: fixed;
- background: url('images/alert_bgr.png') no-repeat;
- height: 40px;
- width: 400px;
- top: 0px;
- left: 810px;
- z-index: 2;
- padding-top: 1px;
- padding-left: 10px;
- margin: 0px;
-}
-
-#header-right .container .right #hostname {
-/*+++ position: fixed;*/
- position: absolute;
- background: url('images/hostname.png') no-repeat;
- height: 40px;
- width: 400px;
- z-index: 1;
- padding-right: 5px;
- margin: 0px;
-/*+++ top: 0px;*/
- top: -22px;
-/*+++ left: 810px;*/
- left: 0px; /*+++*/
- font-size: 12px;
- color: #000000;
- font-weight: bold;
- padding-left: 40px;
- padding-top: 2px;
- text-align: left;
-}
-
-
-
-
-table#marquee {
- position: relative;
- top: -4px;
- left: 15px;
- border: 0;
- padding: 0;
- margin: 0;
- width: 350px;
- background-color: transparent;
- padding: 2px;
- border: 0px;
-}
-span#marquee-container {
- position: absolute;
- visibility: hidden;
- top: -100px;
- left: -10000px;
-}
-div#marquee-text {
-/* font-size: 1.18em;
- font-weight: normal;
- font-family: Verdana;
- color: #ffffff; */
- font-size: 12px;
- font-weight: normal;
- font-style: italic;
- color: #000000;
-}
-table#marquee div#container {
- position: relative;
- overflow: hidden;
- width: 330px;
- height: 16px;
-}
-table#marquee div#container div#scroller {
- position: absolute;
- left: 0px;
- top: 0px;
-}
-
-
-
-
-
-#content {
- position: relative;
- top: 0px;
-/*+++ left: 75px; */
- left: 10%;
- margin-top: 0px;
- margin-left: 0px;
- padding-top: 50px;
-/*+++ padding-left: 20px;*/
- padding-left: 20px;
-/*+++ width: 840px; */
- width: 80%;
- min-width: 900px;
- background-color: #ffffff;
-/*+++ background-color: #009900;*/
-/*+++ background: url('images/horizontal.png') repeat-y;*/
-}
-
-
-/* try to abuse left as a fadeout at the end of the page */
-/*+++ #left {*/
-/*+++ width: 810px; */
-/* width: 100%;
- height: 1px;
-}*/
-#left {
- position: absolute;
- top: 0;
- width: 20px;
- height: 100%;
- left: -20px;
- background: url('images/horiz-left.png') repeat-y;
-}
-#right {
- position: relative;
-/*+++ top: -10px;*/
- top: 10px;
- left: 0px;
-/*+++ width: 770px;*/
- width: 100%;
- margin-top: 0px;
-/*+++ margin-left: 5px;*/
- margin-right: 5px;
- padding-top: 20px;
-/*+++ padding-left: 10px;*/
-/*+++ padding-right: 10px;*/
- padding-bottom: 90px;
- min-height: 400px;
-/*+++ background-color: #000099; */
-}
-#right-right {
- position: absolute;
- top: 0px;
- right: -20px;
- width: 20px;
- height: 100%;
- background: url('images/horiz-right.png') repeat-y;
-}
-
-#footer {
- position: absolute;
-/* margin-bottom: 5px; */
-/*+++ background: url('images/footer.png') no-repeat;*/
-/* top: -100px; */
-/*+++ bottom: 0px;*/
-/*+++ left: 75px;*/
- left: 10%;
-/*+++ width: 840px;*/
- width: 80%;
- min-width: 900px;
- height: 60px;
- color: #000000;
- text-align: center;
- font-size: 0.9em;
-/*+++ padding-top: 10px;*/
-/*+++ padding-left: 10px;*/
-/*+++ clear: both;*/
-}
-#footer-left {
- position: absolute;
- left: -20px;
- width: 30px;
- height: 80px;
- background: url('images/footer-left.png') no-repeat;
-}
-#footer-center {
- position: absolute;
- left: 10px;
- width: 100%;
- height: 80px;
- background: url('images/footer-middle.png') repeat-x;
-}
-#footer-right {
- position: absolute;
- right: -40px;
- width: 30px;
- height: 80px;
- background: url('images/footer-right.png') no-repeat;
-}
-#footer p {
- padding: 0px;
- margin: 0px;
-
-}
-
-/* Style the List */
-#navigation {
- /* background: url('images/menu.gif') no-repeat; */
- /* width: 693px; */
-/* position: relative;*/
- position: fixed;
- top: 0px;
- left: 100px;
- width: 810px;
- padding: 0px;
- height: 28px;
- z-index: 1000;
-
-}
-#navigation ul {
- padding: 0;
- margin: 0;
- list-style: none;
- text-align: center;
-}
-#navigation ul#menu {
- padding-top: 3px;
- padding-left: 5px;
-}
-
-/* Style the List Elements */
-#navigation ul li {
- float: left;
- position: relative;
- width: 7.0em;
- top: 0px;
- /* top: -1px; */
-}
-/* Text mainmenubar */
-#navigation ul li div {
-
- background-image: url(images/mainmenu-right.gif);
- background-position: 5% 50%;
- background-repeat: no-repeat;
- padding-top:0px;
- font-size: 12px;
- font-weight: normal;
- color: #ffffff;
- text-align: center;
- height: 13px;
-
-
-
-
-/*
-background: url("images/mainmenuitem.gif") top left no-repeat;
-vertical-align: top;
-border: 0px;
-width: 100px;
-height:20px;
-*/
-
-
-}
-/* Make the List inside the List Elements */
-/* initially hidden with absolute position */
-#navigation ul li ul {
- display: none;
- position: absolute;
-/* top: 2em;
- left: -2px; */
- width: 120px;
- font-weight: normal;
-/* background: transparent bottom left no-repeat; /* This is key to making the menu maintain visibility when not on a link */
- /* background-color: #202020; */
- background: url("images/menubgr_footer.png") no-repeat;
- background-position: bottom;
-/* padding: 0em 0 0.4em 0; */
- padding-top: 5px;
- padding-bottom: 10px;
-}
-/* to override top and left in browsers other than IE */
-/* which will position to the top right of the containing */
-/* li, rather than bottom left */
-#navigation ul li > ul {
- top: auto;
- left: auto;
- left: -1px !important;
-}
-/* Show initial drop down upon mouse over, but do not show */
-/* nested side drop menus within listed elements */
-#navigation ul li:hover ul {
- display: block;
- cursor: pointer;
-}
-#navigation ul li:hover {
- cursor: pointer;
- cursor: pointer;
-}
-#navigation ul li:hover div {
- text-decoration: none;
- background-image: url(images/mainmenu-down.gif);
- background-position: 5% 50%;
- background-repeat: no-repeat;
-
-}
-
-#navigation ul li {
- background-color: transparent;
- color: #000000;
-}
-/* dropdownmenu */
-#navigation ul li ul li {
- border: 0px solid #850000;
- width: 120px;
- height: 1.6em;
- line-height: 1.6em;
-/* background-color: #850000; */
- background: url(images/menubgr.png) repeat-y;
- z-index: 2;
-/* color: #000000; */
-/* filter:alpha(opacity=95);
- -moz-opacity:0.95;
- -khtml-opacity: 0.95;
- opacity: 0.95; */
-}
-#navigation ul li ul li:hover {
-/* background-color: #666666; */
- background-image: url(images/menubgr_highlight.png);
- background-repeat: repeat-y;
-}
-
-/* textcolor in dropdownmenu */
-#navigation li li a {
- display: block;
- padding-left: 8px;
- padding-right: 8px;
- color: #ffffff;
- font-size: 11px;
- font-weight: normal;
- text-align: left;
-/*
- background-image: url(images/menu-dot.gif);
- background-position: 0% 50%;
- background-repeat: no-repeat;
-*/
-}
-
-#navigation ul li ul li a.navlnk:hover {
- text-decoration: none;
-}
-#navigation ul li.first {
- border-right: 0px;
-}
-#navigation ul li.middle {
- border-right: 0px;
-}
-#navigation ul li.last {
-
-}
-
-#navigation ul li.dropfirst {
- border-bottom: 0px;
-}
-#navigation ul li.dropmiddle {
- border-bottom: 0px;
-}
-#navigation ul li.droplast {
-}
-
-#wzdtabcont {
- float: left;
- background-color: #FFFFFF;
- color: #000000;
- padding: 0;
-}
-
-ul#wzdnav {
- font-size: 0.96em;
- float: left;
- width: 14.5em;
- margin: 0;
- padding-left: 18px;
-}
-
-ul#wzdnav li {
- list-style: none;
- margin: 0;
- padding-bottom: 0.2em;
- padding-left: 0;
-}
-
-ul#wzdnav a {
- display: block;
- padding: 0.3em;
- font-weight: normal;
-}
-
-#wzdnavbold a {
- display: block;
- padding: 0.3em;
- font-weight: bold ! important;
-}
-
-ul#wzdnav a:link {
- color: black;
- background-color: #eee;
-}
-
-ul#wzdnav a:visited {
- color: #666;
- background-color: #eee;
-}
-
-ul#wzdnav a:hover {
- color: black;
- background-color: white;
-}
-
-ul#wzdnav a:active {
- color: white;
- background-color: gray;
-}
-
-#graph {
- position: relative;
- z-index: 1;
-}
-
-#logoutbtn {
- position: absolute;
- left: 95%;
- vertical-align: middle;
-}
-
-/* Class Based CSS Definitions */
-.pgtitle {
- font-size: 18px;
- color: #777777;
- font-weight: bold;
-}
-.tfrtitle {
- font-size: 18px;
- color: #ffffff;
- font-weight: bold;
-}
-.vncell {
- background-color: #DDDDDD;
- padding-right: 20px;
- padding-left: 8px;
- border-bottom: 1px solid #999999;
-}
-.formfld {
- padding-left: 19px;
- font-size: small;
-}
-.formselect {
- font-size: 1.0em;
-}
-.langopt {
- padding-left: 34px;
- padding-top: 2px;
- padding-bottom: 2px;
-}
-.saved {
- /* background: url('/themes/nione/images/icons/icon_wzd_saved.png') no-repeat 0 1px #FFFFFF; */
- list-style-image: url('/themes/nervecenter/images/icons/icon_wzd_saved.png') ! important;
-}
-.notsaved {
- /* background: url('/themes/nione/images/icons/icon_wzd_nsaved.png') no-repeat 0 1px #FFFFFF; */
- list-style-image: url('/themes/nervecenter/images/icons/icon_wzd_nsaved.png') ! important;
-}
-.en {
- background: url('/themes/nervecenter/images/icons/icon_flag_en.png') no-repeat 0 1px #FFFFFF;
-}
-.de {
- background: url('/themes/nervecenter/images/icons/icon_flag_de.png') no-repeat 0 1px #FFFFFF;
-}
-.es {
- background: url('/themes/nervecenter/images/icons/icon_flag_es.png') no-repeat 0 1px #FFFFFF;
-}
-.pt_BR {
- background: url('/themes/nervecenter/images/icons/icon_flag_pt_BR.png') no-repeat 0 1px #FFFFFF;
-}
-.host {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_host.png') no-repeat 0 1px #FFFFFF;
-}
-.search {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_search.png') no-repeat 0 1px #FFFFFF;
-}
-.file {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_file.png') no-repeat 0 1px #FFFFFF;
-}
-.mail {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_mail.png') no-repeat 0 1px #FFFFFF;
-}
-.imp {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_imp.png') no-repeat 0 1px #FFFFFF;
-}
-.pwd {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_pwd.png') no-repeat 0 1px #FFFFFF;
-}
-.user {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_user.png') no-repeat 0 1px #FFFFFF ;
-}
-.group {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_group.png') no-repeat 0 1px #FFFFFF;
-}
-.url {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_url.png') no-repeat 0 1px #FFFFFF;
-}
-.time {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_time.png') no-repeat 0 1px #FFFFFF;
-}
-.unknown {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_unknown.png') no-repeat 0 1px #FFFFFF;
-}
-.formfld_cert {
- background: url('/themes/nervecenter/images/icons/icon_frmfld_cert.png') no-repeat 0 1px #FFFFFF;
- padding-left: 28px;
- font-family: Courier New, Courier, monospaced;
- font-size: 11px;
-}
-.formfldalias {
- background-color: #990000;
- color: #FFFFFF;
-}
-.formpre {
- font-family: Courier New, Courier, monospaced;
- font-size: 10px;
-}
-.formbtn {
- font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
- font-size: 13px;
- font-weight: bold;
-}
-.formbtns {
- font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
- font-size: 10px;
- font-weight: bold;
-}
-.vvcell {
- background-color: #FFFFC6;
-}
-.errmsg {
- font-weight: bold;
- color: #CC0000;
-}
-.red {
- color: #CC0000;
-}
-.gray {
- color: #A0A0A0;
-}
-.vexpl {
- font-size: 11px;
-}
-.navlnk {
- color: #FFFFFF;
- text-decoration: none;
- font-size: 13px;
-}
-.navlnks {
- color: #FFFFFF;
- text-decoration: none;
- font-size: 11px;
-}
-.redlnk {
- color: #990000;
- text-decoration: none;
-}
-.tblnk {
- color: #FFFFFF;
- text-decoration: none;
-}
-.vncellreq {
- background-color: #DDDDDD;
- padding-right: 20px;
- padding-left: 8px;
- font-weight: bold;
- border-bottom: 1px solid #999999;
-}
-.vncellt {
- background-color: #DDDDDD;
- padding-right: 20px;
- padding-left: 8px;
- padding-top: 4px;
- padding-bottom: 4px;
- font-weight: bold;
- border-bottom: 1px solid #999999;
-}
-.vtable {
- border-bottom: 1px solid #999999;
-}
-.vnsepcell {
- background-color: #BBBBBB;
- padding-right: 20px;
- padding-left: 8px;
- font-weight: bold;
- border-bottom: 1px solid #999999;
- font-size: 11px;
-}
-.cpline {
- font-size: 11px;
- color: #FFFFFF;
-}
-.hostname {
- font-size: 11px;
- color: #990000;
- font-weight: bold;
-}
-.vnsepcellr {
- background-color: #BBBBBB;
- padding-right: 20px;
- padding-left: 8px;
- font-weight: bold;
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- font-size: 11px;
-}
-.listrborder {
- background-color: #FFFFFF;
- border-right: 1px solid #999999;
- border-left: 1px solid #999999;
- border-bottom: 1px solid #999999;
- font-size: 11px;
- padding-right: 6px;
- padding-left: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-.listr {
- background-color: #FFFFFF;
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- font-size: 11px;
- padding-right: 6px;
- padding-left: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-.listrpad {
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- font-size: 11px;
- padding-right: 16px;
- padding-left: 10px;
- padding-top: 8px;
- padding-bottom: 8px;
-}
-.listn {
- font-size: 11px;
- padding-right: 16px;
- padding-left: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-.listbg {
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- font-size: 11px;
- color: #FFFFFF;
- background-color: #990000;
- padding-right: 16px;
- padding-left: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-.listbggrey {
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- font-size: 11px;
- background-color: #999999;
- padding-right: 16px;
- padding-left: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-.listhdr {
- background-color: #BBBBBB;
- padding-right: 16px;
- padding-left: 6px;
- font-weight: bold;
- border-bottom: 1px solid #999999;
- font-size: 11px;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-.listhdr a {
- color: #000000;
-}
-.listhdrr {
- background-color: #BBBBBB;
- padding-right: 16px;
- padding-left: 6px;
- font-weight: bold;
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- font-size: 11px;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-.listhdrr a {
- color: #000000;
-}
-.listlr {
- background-color: #FFFFFF;
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- border-left: 1px solid #999999;
- font-size: 11px;
- padding-right: 6px;
- padding-left: 6px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-.listlrns {
- background-color: #FFFFFF;
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- border-left: 1px solid #999999;
- font-size: 11px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-.list {
- font-size: 11px;
- padding-left: 6px;
- padding-top: 2px;
- padding-bottom: 2px;
-}
-.listt {
- font-size: 11px;
- padding-top: 5px;
-}
-.listhdrrns {
- background-color: #BBBBBB;
- padding-left: 6px;
- padding-top: 5px;
- padding-bottom: 5px;
- padding-right: 6px;
- font-weight: bold;
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- font-size: 11px;
-}
-.listbgns {
- border-right: 1px solid #999999;
- border-bottom: 1px solid #999999;
- font-size: 11px;
- background-color: #D9DEE8;
- padding-left: 6px;
- padding-right: 4px;
- padding-top: 4px;
- padding-bottom: 4px;
-}
-.listtopic {
- border-right: 1px solid #999999;
- font-size: 11px;
- background-color: #990000;
- padding-right: 16px;
- padding-left: 6px;
- color: #FFFFFF;
- font-weight: bold;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-
-.optsect_t {
- border-right: 1px solid #999999;
- background-color: #990000;
- padding-right: 6px;
- padding-left: 6px;
- padding-top: 2px;
- padding-bottom: 2px;
-}
-.optsect_s {
- font-size: 11px;
- color: #FFFFFF;
- font-weight: bold;
-}
-.tabnavtbl {
-}
-
-
-/* MISC CSS Definitions */
-ul#tabnav {
- font-size: 11px;
- font-weight: bold;
- list-style-type: none;
- margin: 0;
- padding: 0;
-}
-ul#tabnav li.tabinact1 {
- float: left;
- background-color: #777777;
- color: #FFFFFF;
- padding: 0;
- white-space: nowrap;
-}
-ul#tabnav li.tabinact {
- float: left;
- border-left: 1px solid #999999;
- background-color: #777777;
- color: #FFFFFF;
- padding: 0;
- white-space: nowrap;
-}
-ul#tabnav li.tabinact a {
- float: left;
- display: block;
- text-decoration: none;
- padding: 5px 8px 5px 8px;
- color: #FFFFFF;
-}
-ul#tabnav li.tabinact1 a {
- float: left;
- display: block;
- text-decoration: none;
- padding: 5px 8px 5px 8px;
- color: #FFFFFF;
-}
-ul#tabnav li.tabact {
- float: left;
- background-color: #EEEEEE;
- color: #000000;
- padding: 5px 8px 5px 8px;
- white-space: nowrap;
-}
-.tabcont {
- background-color: #DDDDDD;
- padding-right: 12px;
- padding-left: 12px;
- padding-top: 12px;
- padding-bottom: 12px;
-}
-.tabact {
- float: left;
- background-color: #EEEEEE;
- color: #000000;
- padding: 5px 8px 5px 8px;
- white-space: nowrap;
-}
-.tabinact {
- font-weight: bold;
- float: left;
- border-left: 1px solid #999999;
- background-color: #777777;
- color: #FFFFFF;
- padding: 0;
- white-space: nowrap;
-}
-.menu {
- background-color: #000000;
- white-space: nowrap;
- padding: 0px 5px 0px 5px;
- width: 100%;
- vertical-align: top;
-}
-
-/* style of disabled formelements */
-[disabled] {
- color:#666666;
- background:#eeeeee;
-}
-
-
-/* Auto Complete Suggestions */
-div.suggestions {
- -moz-box-sizing: border-box;
- /* box-sizing: border-box; */
- border: 1px solid black;
- position: absolute;
- background-color: #990000;
- color: #FFF;
-}
-
-div.suggestions div {
- cursor: default;
- padding: 0px 3px;
- background-color: #990000;
- color: #FFF;
-}
-
-div.suggestions div.current {
- background-color: #3366cc;
- color: #FFF;
-}
-/* End Auto Complete Suggestions */
-
-
-/* Nifty Corners Crap */
-.rtop,.artop{display:block}
-.rtop *,.artop *{display:block;height:1px;overflow:hidden;font-size:1px}
-.artop *{border-style: solid;border-width:0 1px}
-.r1,.rl1,.re1,.rel1{margin-left:5px}
-.r1,.rr1,.re1,.rer1{margin-right:5px}
-.r2,.rl2,.re2,.rel2,.ra1,.ral1{margin-left:3px}
-.r2,.rr2,.re2,.rer2,.ra1,.rar1{margin-right:3px}
-.r3,.rl3,.re3,.rel3,.ra2,.ral2,.rs1,.rsl1,.res1,.resl1{margin-left:2px}
-.r3,.rr3,.re3,.rer3,.ra2,.rar2,.rs1,.rsr1,.res1,.resr1{margin-right:2px}
-.r4,.rl4,.rs2,.rsl2,.re4,.rel4,.ra3,.ral3,.ras1,.rasl1,.res2,.resl2{margin-left:1px}
-.r4,.rr4,.rs2,.rsr2,.re4,.rer4,.ra3,.rar3,.ras1,.rasr1,.res2,.resr2{margin-right:1px}
-.rx1,.rxl1{border-left-width:5px}
-.rx1,.rxr1{border-right-width:5px}
-.rx2,.rxl2{border-left-width:3px}
-.rx2,.rxr2{border-right-width:3px}
-.re2,.rel2,.ra1,.ral1,.rx3,.rxl3,.rxs1,.rxsl1{border-left-width:2px}
-.re2,.rer2,.ra1,.rar1,.rx3,.rxr3,.rxs1,.rxsr1{border-right-width:2px}
-.rxl1,.rxl2,.rxl3,.rxl4,.rxsl1,.rxsl2,.ral1,.ral2,.ral3,.ral4,.rasl1,.rasl2{border-right-width:0}
-.rxr1,.rxr2,.rxr3,.rxr4,.rxsr1,.rxsr2,.rar1,.rar2,.rar3,.rar4,.rasr1,.rasr2{border-left-width:0}
-.r4,.rl4,.rr4,.re4,.rel4,.rer4,.ra4,.rar4,.ral4,.rx4,.rxl4,.rxr4{height:2px}
-.rer1,.rel1,.re1,.res1,.resl1,.resr1{border-width:1px 0 0;height:0px !important;height /**/:1px}
-/* End Nifty Corners Crap */
-
-
-
-/* CSS for Dynamic Log Viewer */
-/* Author: Erik Kristensen */
-div#log div.log-entry {
- clear: both;
-}
-
-div#log div.log-entry span,
-div#log div.log-header span {
- padding: 3px 2px 3px 2px;
- padding-left: 8px;
-}
-
-div#log div.log-entry span.log-action {
- padding-bottom: 6px;
- padding-left: 5px;
- padding-right: 5px;
-}
-
-div#log div.log-header span {
- border-top: 1px solid #999;
- background-color: #bbb;
- font-weight: bold;
- text-align: left;
-}
-
-div#log span.log-action,
-div#log span.log-time,
-div#log span.log-interface,
-div#log span.log-source,
-div#log span.log-destination,
-div#log span.log-protocol {
- float: left;
- text-align: left;
- border-left: 1px solid #999;
- border-bottom: 1px solid #999;
-
-}
-
-div#log span.log-general {
-
-}
-
-div#log span.log-protocol {
- border-right: 1px solid #999;
-}
-
-div#log span.log-action {
- width: 2em;
- text-align: center;
-}
-
-div#log span.log-time {
- width: 12.5em;
-}
-
-div#log span.log-interface {
- width: 5em;
-}
-
-div#log span.log-source,
-div#log span.log-destination {
- width: 17.6em;
-}
-
-div#log span.log-protocol {
- width: 5.5em;
-}
-/* END CSS FOR DYNAMIC LOG VIEWER */
-
-#login {
- background: #cccccc;
- border: 0px solid #666666;
- margin: 5em auto;
- padding: 0em;
- width: 340px;
-}
-
-#login h1 {
- background: url(images/misc/logon.png) no-repeat top left;
- margin-top: 0;
- display: block;
- text-indent: -1000px;
- height: 50px;
- border-bottom: none;
-}
-
-#login p {
- font-size: 1em;
- font-weight: bold;
- padding: 3px;
- margin: 0em;
- text-indent: 10px;
-}
-
-#login span {
- font-size: 1em;
- font-weight: bold;
- width: 20%;
- padding: 3px;
- margin: 0em;
- text-indent: 10px;
-}
-
-#login p#text {
- font-size: 1em;
- font-weight: normal;
- padding: 3px;
- margin: 0em;
- text-indent: 10px;
-}
-
-#login #username, #password, #password2 {
- font-size: small;
- width: 60%;
- padding-left:19px
- padding: 3px;
- margin: 0em;
-}
-
-#login #submit {
- font-size: 1em;
- font-weight: bold;
- padding: 3px;
- margin: 0em;
- text-indent: 10px;
-}
-
-/* Widget CSS */
-.widgetsubheader {
- border-right: 1px solid #999999;
- font-size: 11px;
- background-color: #B1B1B1;
- padding-right: 6px;
- padding-left: 6px;
- color: #000000;
- font-weight: bold;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-.widgetheader {
- border-right: 1px solid #999999;
- font-size: 11px;
- background-color: #990000;
- padding-right: 6px;
- padding-left: 6px;
- color: #FFFFFF;
- font-weight: bold;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-.widgetdiv{
- margin-top:5px;
- padding: 5px;
- background:#CCCCCC;
-}
-.widgetconfigdiv{
- background:#BBBBBB;
- font-size: 11px;
- color: #000000;
- padding-right: 5px;
- padding-left: 5px;
- padding-top: 5px;
- padding-bottom: 5px;
-}
-
-div#log div.log-entry-mini {
- clear: both;
-}
-
-div#log div.log-entry-mini span {
- padding: 2px 2px 2px 2px;
- padding-left: 8px;
-}
-
-div#log span.log-action-mini-header,
-div#log span.log-interface-mini-header,
-div#log span.log-source-mini-header,
-div#log span.log-destination-mini-header,
-div#log span.log-protocol-mini-header {
- float: left;
- text-align: left;
- background-color: #B1B1B1;
- font-size: 12px;
- border-left: 1px solid #999;
- border-bottom: 1px solid #999;
-}
-
-div#log span.log-action-mini,
-div#log span.log-time-mini,
-div#log span.log-interface-mini,
-div#log span.log-source-mini,
-div#log span.log-destination-mini,
-div#log span.log-protocol-mini {
- float: left;
- text-align: left;
- background-color: #FFFFFF;
- font-size: 11px;
- border-left: 1px solid #999;
- border-bottom: 1px solid #999;
-}
-
-div#log span.log-action-mini,
-div#log span.log-action-mini-header {
- width: 6%;
-}
-
-div#log span.log-interface-mini,
-div#log span.log-interface-mini-header {
- width: 8%;
-}
-
-div#log span.log-source-mini,
-div#log span.log-destination-mini,
-div#log span.log-source-mini-header,
-div#log span.log-destination-mini-header {
- width: 31%;
-}
-
-div#log span.log-protocol-mini,
-div#log span.log-protocol-mini-header {
- width: 8%;
- border-right: 1px solid #999;
-}
-
-/* Sortable tables */
-table.sortable thead {
- cursor: default;
- background-color: #EEEEEE;
- padding-right: 12px;
- padding-left: 12px;
- padding-top: 12px;
- padding-bottom: 12px;
-}
+/* Element CSS Definitions */
+html, body, td, th, input, select {
+ font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
+ font-size: 0.9em;
+
+}
+
+.infobox {
+ width:100%;
+}
+
+.infoboxsave {
+ padding-right: 10px;
+}
+
+.infoboxnptd2 {
+ width:100%;
+ color:white;
+ background-color:#990000;
+ padding-right: 10px;
+}
+
+.infoboxnptd {
+ width:8%;
+ background-color:#990000;
+}
+
+.infoboxnptable {
+ height:32px;
+ width:100%;
+ background-color:#990000;
+}
+
+.infoboxnptable2 {
+ height:32px;
+ width:100%;
+ background-color:#990000;
+}
+
+.infoboxnp {
+ background-color:#990000;
+ width:100%;
+}
+
+.infoboxnpimg {
+ vertical-align:middle;
+ width:28px;
+ height:32px;
+ background-color:#990000;
+}
+
+.inputerrorsleft {
+ background-color: #990000;
+ width: 36px;
+}
+
+.inputerrorsright {
+ background-color: #FFD9D1;
+ color: #000000;
+ font-size: 11px;
+ padding-left: 8px;
+ padding-top: 6px;
+}
+
+div.GraphLink {
+ position: relative;
+}
+
+span.GraphLinkLine {
+ position: absolute;
+ background-color: #990000;
+ width: 100%;
+}
+
+/* DOM Tooltip CSS definitions */
+div.niceTitle
+{
+ background-color: #333333;
+ color: #FFFFFF;
+ font-weight: bold;
+ font-size: 13px;
+ font-family: "Trebuchet MS", sans-serif;
+ width: 220px;
+ left: 0;
+ top: 0;
+ padding: 4px;
+ position: absolute;
+ text-align: left;
+ z-index: 20;
+ -moz-border-radius: 0 10px 10px 10px;
+ filter: progid:DXImageTransform.Microsoft.Alpha(opacity=87);
+ -moz-opacity: .87;
+ -khtml-opacity: .87;
+ opacity: .87;
+}
+div.niceTitle h1
+{
+ background: #990000;
+ border-bottom: 1px dotted #FFFFFF;
+ font-weight: bold;
+ font-size: 13px;
+ font-family: "Trebuchet MS", sans-serif;
+ margin: 3px;
+ padding-top: 1px;
+ padding-bottom: 1px;
+ padding-left: 3px;
+ text-align: left;
+ left: 0;
+ top: 0;
+ -moz-border-radius: 0 8px 0 0;
+ -moz-opacity: 1;
+}
+div.niceTitle .contents
+{
+ margin: 0;
+ padding: 0 3px;
+ filter: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+}
+div.niceTitle p
+{
+ background: #FFFFFF;
+ border: 1px solid #990000;
+ color: #000000;
+ font-size: 11px;
+ font-family: "Trebuchet MS", sans-serif;
+ padding: 5px;
+ margin: 3px;
+ text-align: left;
+ -moz-opacity: 1;
+ -moz-border-radius: 0 0 8px 8px;
+}
+
+body {
+ margin: 0px auto;
+ align: left;
+ background: url('images/background.jpg') no-repeat;
+ background-position : left 0px;
+ background-attachment: fixed;
+ background-color: #7f7f7f;
+}
+a:link {
+ color: #550000;
+}
+
+a:visited {
+ color: #550000;
+}
+
+a:active {
+ color: #550000;
+}
+
+a:hover {
+ color: #550000;
+}
+
+form {
+ margin: 0px;
+}
+a {
+ text-decoration: none;
+}
+form input {
+ font-size: 1.1em;
+}
+
+iframe {
+ z-index: 1;
+ border: 1px dashed #990000;
+}
+.iframe {
+ background-color: #FFFFFF;
+}
+
+/* style of disabled formelements */
+#wrap div {margin:1em 0}
+[disabled] {
+ color:#666666;
+ background:#eeeeee;
+}
+
+/* ID Based CSS Definitions */
+/* margin: 0px auto makes the content centered, margin 0px 0px makes it aligned to the left */
+#wrapper {
+/*+++ width: 810px;*/
+ width: 100%;
+ margin: 0px 0px;
+/* left: 0px; */
+}
+
+#header {
+ background: url('images/header.png') no-repeat;
+ background-position: 0px;
+ height: 40px;
+ min-width: 910px;
+/*+++ width: 810px;*/
+ width: 100%;
+ position: fixed;
+ left: 0;
+ margin-bottom: 5px;
+ z-index: 1;
+}
+#header-left {
+ position: relative;
+/* background: url('images/logo.gif') no-repeat;*/
+ background-position: center;
+ height: 40px;
+ width: 80px;
+ left: 0px;
+ top:0px;
+ float: left;
+}
+#header-leftright {
+/*+++ position: relative;*/
+ position: absolute;
+ background: url('images/header-mid.png') repeat-x;
+ background-position: center;
+ height: 40px;
+ left: 900px;
+ right:0;
+ top:0px;
+ z-index: 2; /*+++*/
+}
+#header-left #status-link {
+ position: relative;
+ top: 0px;
+ left: 0px;
+}
+#header-right {
+/*+++ position: relative;*/
+ position: absolute;
+ /* background: url('images/header.gif') no-repeat; */
+ height: 70px;
+ color: #fff;
+/*+++ left: 0px;*/
+/* margin-left: 165px; +++*/
+/* left: -300px;*/
+ right: 0px;
+ width: 400px;
+ z-index: 2;/*+++*/
+}
+#header-right .alert {
+ position: relative;
+ /* background: url('images/alert.gif') no-repeat; */
+ background-position: 4px 2px;
+ color: #fff;
+ height: 17px;
+ width: 500px;
+ padding: 4px;
+ padding-left: 27px;
+ float: left;
+}
+#header-right .container {
+/*+++ position: relative;*/
+ postition: absolute;
+}
+#header-right .container .left {
+/*+++ position: relative; */
+ position: absolute;
+ float: left;
+ font-size: 1.3em;
+ font-weight: bold;
+ top: 15px;
+ left: 4px;
+ display: none;
+}
+#header-right .container .right {
+/*+++ position: relative;*/
+ position: absolute;
+ float: right;
+ top: 22px;
+ padding-right: 4px;
+ z-index: 1;
+}
+
+/* for forcing an alert run the following command from diagnostics>command, php command:
+file_notice("blah", "blah blah...testing my new theme...");
+*/
+
+#header-right .container .right #alerts {
+ position: fixed;
+ background: url('images/alert_bgr.png') no-repeat;
+ height: 40px;
+ width: 400px;
+ top: 0px;
+ left: 810px;
+ z-index: 2;
+ padding-top: 1px;
+ padding-left: 10px;
+ margin: 0px;
+}
+
+#header-right .container .right #hostname {
+/*+++ position: fixed;*/
+ position: absolute;
+ background: url('images/hostname.png') no-repeat;
+ height: 40px;
+ width: 400px;
+ z-index: 1;
+ padding-right: 5px;
+ margin: 0px;
+/*+++ top: 0px;*/
+ top: -22px;
+/*+++ left: 810px;*/
+ left: 0px; /*+++*/
+ font-size: 12px;
+ color: #000000;
+ font-weight: bold;
+ padding-left: 40px;
+ padding-top: 2px;
+ text-align: left;
+}
+
+
+
+
+table#marquee {
+ position: relative;
+ top: -4px;
+ left: 15px;
+ border: 0;
+ padding: 0;
+ margin: 0;
+ width: 350px;
+ background-color: transparent;
+ padding: 2px;
+ border: 0px;
+}
+span#marquee-container {
+ position: absolute;
+ visibility: hidden;
+ top: -100px;
+ left: -10000px;
+}
+div#marquee-text {
+/* font-size: 1.18em;
+ font-weight: normal;
+ font-family: Verdana;
+ color: #ffffff; */
+ font-size: 12px;
+ font-weight: normal;
+ font-style: italic;
+ color: #000000;
+}
+table#marquee div#container {
+ position: relative;
+ overflow: hidden;
+ width: 330px;
+ height: 16px;
+}
+table#marquee div#container div#scroller {
+ position: absolute;
+ left: 0px;
+ top: 0px;
+}
+
+
+
+
+
+#content {
+ position: relative;
+ top: 0px;
+/*+++ left: 75px; */
+ left: 10%;
+ margin-top: 0px;
+ margin-left: 0px;
+ padding-top: 50px;
+/*+++ padding-left: 20px;*/
+ padding-left: 20px;
+/*+++ width: 840px; */
+ width: 80%;
+ min-width: 900px;
+ background-color: #ffffff;
+/*+++ background-color: #009900;*/
+/*+++ background: url('images/horizontal.png') repeat-y;*/
+}
+
+
+/* try to abuse left as a fadeout at the end of the page */
+/*+++ #left {*/
+/*+++ width: 810px; */
+/* width: 100%;
+ height: 1px;
+}*/
+#left {
+ position: absolute;
+ top: 0;
+ width: 20px;
+ height: 100%;
+ left: -20px;
+ background: url('images/horiz-left.png') repeat-y;
+}
+#right {
+ position: relative;
+/*+++ top: -10px;*/
+ top: 10px;
+ left: 0px;
+/*+++ width: 770px;*/
+ width: 100%;
+ margin-top: 0px;
+/*+++ margin-left: 5px;*/
+ margin-right: 5px;
+ padding-top: 20px;
+/*+++ padding-left: 10px;*/
+/*+++ padding-right: 10px;*/
+ padding-bottom: 90px;
+ min-height: 400px;
+/*+++ background-color: #000099; */
+}
+#right-right {
+ position: absolute;
+ top: 0px;
+ right: -20px;
+ width: 20px;
+ height: 100%;
+ background: url('images/horiz-right.png') repeat-y;
+}
+
+#footer {
+ position: absolute;
+/* margin-bottom: 5px; */
+/*+++ background: url('images/footer.png') no-repeat;*/
+/* top: -100px; */
+/*+++ bottom: 0px;*/
+/*+++ left: 75px;*/
+ left: 10%;
+/*+++ width: 840px;*/
+ width: 80%;
+ min-width: 900px;
+ height: 60px;
+ color: #000000;
+ text-align: center;
+ font-size: 0.9em;
+/*+++ padding-top: 10px;*/
+/*+++ padding-left: 10px;*/
+/*+++ clear: both;*/
+}
+#footer-left {
+ position: absolute;
+ left: -20px;
+ width: 30px;
+ height: 80px;
+ background: url('images/footer-left.png') no-repeat;
+}
+#footer-center {
+ position: absolute;
+ left: 10px;
+ width: 100%;
+ height: 80px;
+ background: url('images/footer-middle.png') repeat-x;
+}
+#footer-right {
+ position: absolute;
+ right: -40px;
+ width: 30px;
+ height: 80px;
+ background: url('images/footer-right.png') no-repeat;
+}
+#footer p {
+ padding: 0px;
+ margin: 0px;
+
+}
+
+/* Style the List */
+#navigation {
+ /* background: url('images/menu.gif') no-repeat; */
+ /* width: 693px; */
+/* position: relative;*/
+ position: fixed;
+ top: 0px;
+ left: 100px;
+ width: 810px;
+ padding: 0px;
+ height: 28px;
+ z-index: 1000;
+
+}
+#navigation ul {
+ padding: 0;
+ margin: 0;
+ list-style: none;
+ text-align: center;
+}
+#navigation ul#menu {
+ padding-top: 3px;
+ padding-left: 5px;
+}
+
+/* Style the List Elements */
+#navigation ul li {
+ float: left;
+ position: relative;
+ width: 7.0em;
+ top: 0px;
+ /* top: -1px; */
+}
+/* Text mainmenubar */
+#navigation ul li div {
+
+ background-image: url(images/mainmenu-right.gif);
+ background-position: 5% 50%;
+ background-repeat: no-repeat;
+ padding-top:0px;
+ font-size: 12px;
+ font-weight: normal;
+ color: #ffffff;
+ text-align: center;
+ height: 13px;
+
+
+
+
+/*
+background: url("images/mainmenuitem.gif") top left no-repeat;
+vertical-align: top;
+border: 0px;
+width: 100px;
+height:20px;
+*/
+
+
+}
+/* Make the List inside the List Elements */
+/* initially hidden with absolute position */
+#navigation ul li ul {
+ display: none;
+ position: absolute;
+/* top: 2em;
+ left: -2px; */
+ width: 120px;
+ font-weight: normal;
+/* background: transparent bottom left no-repeat; /* This is key to making the menu maintain visibility when not on a link */
+ /* background-color: #202020; */
+ background: url("images/menubgr_footer.png") no-repeat;
+ background-position: bottom;
+/* padding: 0em 0 0.4em 0; */
+ padding-top: 5px;
+ padding-bottom: 10px;
+}
+/* to override top and left in browsers other than IE */
+/* which will position to the top right of the containing */
+/* li, rather than bottom left */
+#navigation ul li > ul {
+ top: auto;
+ left: auto;
+ left: -1px !important;
+}
+/* Show initial drop down upon mouse over, but do not show */
+/* nested side drop menus within listed elements */
+#navigation ul li:hover ul {
+ display: block;
+ cursor: pointer;
+}
+#navigation ul li:hover {
+ cursor: pointer;
+ cursor: pointer;
+}
+#navigation ul li:hover div {
+ text-decoration: none;
+ background-image: url(images/mainmenu-down.gif);
+ background-position: 5% 50%;
+ background-repeat: no-repeat;
+
+}
+
+#navigation ul li {
+ background-color: transparent;
+ color: #000000;
+}
+/* dropdownmenu */
+#navigation ul li ul li {
+ border: 0px solid #850000;
+ width: 120px;
+ height: 1.6em;
+ line-height: 1.6em;
+/* background-color: #850000; */
+ background: url(images/menubgr.png) repeat-y;
+ z-index: 2;
+/* color: #000000; */
+/* filter:alpha(opacity=95);
+ -moz-opacity:0.95;
+ -khtml-opacity: 0.95;
+ opacity: 0.95; */
+}
+#navigation ul li ul li:hover {
+/* background-color: #666666; */
+ background-image: url(images/menubgr_highlight.png);
+ background-repeat: repeat-y;
+}
+
+/* textcolor in dropdownmenu */
+#navigation li li a {
+ display: block;
+ padding-left: 8px;
+ padding-right: 8px;
+ color: #ffffff;
+ font-size: 11px;
+ font-weight: normal;
+ text-align: left;
+/*
+ background-image: url(images/menu-dot.gif);
+ background-position: 0% 50%;
+ background-repeat: no-repeat;
+*/
+}
+
+#navigation ul li ul li a.navlnk:hover {
+ text-decoration: none;
+}
+#navigation ul li.first {
+ border-right: 0px;
+}
+#navigation ul li.middle {
+ border-right: 0px;
+}
+#navigation ul li.last {
+
+}
+
+#navigation ul li.dropfirst {
+ border-bottom: 0px;
+}
+#navigation ul li.dropmiddle {
+ border-bottom: 0px;
+}
+#navigation ul li.droplast {
+}
+
+#wzdtabcont {
+ float: left;
+ background-color: #FFFFFF;
+ color: #000000;
+ padding: 0;
+}
+
+ul#wzdnav {
+ font-size: 0.96em;
+ float: left;
+ width: 14.5em;
+ margin: 0;
+ padding-left: 18px;
+}
+
+ul#wzdnav li {
+ list-style: none;
+ margin: 0;
+ padding-bottom: 0.2em;
+ padding-left: 0;
+}
+
+ul#wzdnav a {
+ display: block;
+ padding: 0.3em;
+ font-weight: normal;
+}
+
+#wzdnavbold a {
+ display: block;
+ padding: 0.3em;
+ font-weight: bold ! important;
+}
+
+ul#wzdnav a:link {
+ color: black;
+ background-color: #eee;
+}
+
+ul#wzdnav a:visited {
+ color: #666;
+ background-color: #eee;
+}
+
+ul#wzdnav a:hover {
+ color: black;
+ background-color: white;
+}
+
+ul#wzdnav a:active {
+ color: white;
+ background-color: gray;
+}
+
+#graph {
+ position: relative;
+ z-index: 1;
+}
+
+#logoutbtn {
+ position: absolute;
+ left: 95%;
+ vertical-align: middle;
+}
+
+/* Class Based CSS Definitions */
+.pgtitle {
+ font-size: 18px;
+ color: #777777;
+ font-weight: bold;
+}
+.tfrtitle {
+ font-size: 18px;
+ color: #ffffff;
+ font-weight: bold;
+}
+.vncell {
+ background-color: #DDDDDD;
+ padding-right: 20px;
+ padding-left: 8px;
+ border-bottom: 1px solid #999999;
+}
+.formfld {
+ padding-left: 19px;
+ font-size: small;
+}
+.formselect {
+ font-size: 1.0em;
+}
+.langopt {
+ padding-left: 34px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+.saved {
+ /* background: url('/themes/nione/images/icons/icon_wzd_saved.png') no-repeat 0 1px #FFFFFF; */
+ list-style-image: url('/themes/nervecenter/images/icons/icon_wzd_saved.png') ! important;
+}
+.notsaved {
+ /* background: url('/themes/nione/images/icons/icon_wzd_nsaved.png') no-repeat 0 1px #FFFFFF; */
+ list-style-image: url('/themes/nervecenter/images/icons/icon_wzd_nsaved.png') ! important;
+}
+.en {
+ background: url('/themes/nervecenter/images/icons/icon_flag_en.png') no-repeat 0 1px #FFFFFF;
+}
+.de {
+ background: url('/themes/nervecenter/images/icons/icon_flag_de.png') no-repeat 0 1px #FFFFFF;
+}
+.es {
+ background: url('/themes/nervecenter/images/icons/icon_flag_es.png') no-repeat 0 1px #FFFFFF;
+}
+.pt_BR {
+ background: url('/themes/nervecenter/images/icons/icon_flag_pt_BR.png') no-repeat 0 1px #FFFFFF;
+}
+.host {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_host.png') no-repeat 0 1px #FFFFFF;
+}
+.search {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_search.png') no-repeat 0 1px #FFFFFF;
+}
+.file {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_file.png') no-repeat 0 1px #FFFFFF;
+}
+.mail {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_mail.png') no-repeat 0 1px #FFFFFF;
+}
+.imp {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_imp.png') no-repeat 0 1px #FFFFFF;
+}
+.pwd {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_pwd.png') no-repeat 0 1px #FFFFFF;
+}
+.user {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_user.png') no-repeat 0 1px #FFFFFF ;
+}
+.group {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_group.png') no-repeat 0 1px #FFFFFF;
+}
+.url {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_url.png') no-repeat 0 1px #FFFFFF;
+}
+.time {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_time.png') no-repeat 0 1px #FFFFFF;
+}
+.unknown {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_unknown.png') no-repeat 0 1px #FFFFFF;
+}
+.formfld_cert {
+ background: url('/themes/nervecenter/images/icons/icon_frmfld_cert.png') no-repeat 0 1px #FFFFFF;
+ padding-left: 28px;
+ font-family: Courier New, Courier, monospaced;
+ font-size: 11px;
+}
+.formfldalias {
+ background-color: #990000;
+ color: #FFFFFF;
+}
+.formpre {
+ font-family: Courier New, Courier, monospaced;
+ font-size: 10px;
+}
+.formbtn {
+ font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
+ font-size: 13px;
+ font-weight: bold;
+}
+.formbtns {
+ font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif;
+ font-size: 10px;
+ font-weight: bold;
+}
+.vvcell {
+ background-color: #FFFFC6;
+}
+.errmsg {
+ font-weight: bold;
+ color: #CC0000;
+}
+.red {
+ color: #CC0000;
+}
+.gray {
+ color: #A0A0A0;
+}
+.vexpl {
+ font-size: 11px;
+}
+.navlnk {
+ color: #FFFFFF;
+ text-decoration: none;
+ font-size: 13px;
+}
+.navlnks {
+ color: #FFFFFF;
+ text-decoration: none;
+ font-size: 11px;
+}
+.redlnk {
+ color: #990000;
+ text-decoration: none;
+}
+.tblnk {
+ color: #FFFFFF;
+ text-decoration: none;
+}
+.vncellreq {
+ background-color: #DDDDDD;
+ padding-right: 20px;
+ padding-left: 8px;
+ font-weight: bold;
+ border-bottom: 1px solid #999999;
+}
+.vncellt {
+ background-color: #DDDDDD;
+ padding-right: 20px;
+ padding-left: 8px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ font-weight: bold;
+ border-bottom: 1px solid #999999;
+}
+.vtable {
+ border-bottom: 1px solid #999999;
+}
+.vnsepcell {
+ background-color: #BBBBBB;
+ padding-right: 20px;
+ padding-left: 8px;
+ font-weight: bold;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+}
+.cpline {
+ font-size: 11px;
+ color: #FFFFFF;
+}
+.hostname {
+ font-size: 11px;
+ color: #990000;
+ font-weight: bold;
+}
+.vnsepcellr {
+ background-color: #BBBBBB;
+ padding-right: 20px;
+ padding-left: 8px;
+ font-weight: bold;
+ border-right: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+}
+.listrborder {
+ background-color: #FFFFFF;
+ border-right: 1px solid #999999;
+ border-left: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+.listr {
+ background-color: #FFFFFF;
+ border-right: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+.listrpad {
+ border-right: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+ padding-right: 16px;
+ padding-left: 10px;
+ padding-top: 8px;
+ padding-bottom: 8px;
+}
+.listn {
+ font-size: 11px;
+ padding-right: 16px;
+ padding-left: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+.listbg {
+ border-right: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+ color: #FFFFFF;
+ background-color: #990000;
+ padding-right: 16px;
+ padding-left: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+.listbggrey {
+ border-right: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+ background-color: #999999;
+ padding-right: 16px;
+ padding-left: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+.listhdr {
+ background-color: #BBBBBB;
+ padding-right: 16px;
+ padding-left: 6px;
+ font-weight: bold;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+.listhdr a {
+ color: #000000;
+}
+.listhdrr {
+ background-color: #BBBBBB;
+ padding-right: 16px;
+ padding-left: 6px;
+ font-weight: bold;
+ border-right: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+.listhdrr a {
+ color: #000000;
+}
+.listlr {
+ background-color: #FFFFFF;
+ border-right: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ border-left: 1px solid #999999;
+ font-size: 11px;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+.listlrns {
+ background-color: #FFFFFF;
+ border-right: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ border-left: 1px solid #999999;
+ font-size: 11px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+.list {
+ font-size: 11px;
+ padding-left: 6px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+.listt {
+ font-size: 11px;
+ padding-top: 5px;
+}
+.listhdrrns {
+ background-color: #BBBBBB;
+ padding-left: 6px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+ padding-right: 6px;
+ font-weight: bold;
+ border-right: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+}
+.listbgns {
+ border-right: 1px solid #999999;
+ border-bottom: 1px solid #999999;
+ font-size: 11px;
+ background-color: #D9DEE8;
+ padding-left: 6px;
+ padding-right: 4px;
+ padding-top: 4px;
+ padding-bottom: 4px;
+}
+.listtopic {
+ border-right: 1px solid #999999;
+ font-size: 11px;
+ background-color: #990000;
+ padding-right: 16px;
+ padding-left: 6px;
+ color: #FFFFFF;
+ font-weight: bold;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+.optsect_t {
+ border-right: 1px solid #999999;
+ background-color: #990000;
+ padding-right: 6px;
+ padding-left: 6px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+.optsect_s {
+ font-size: 11px;
+ color: #FFFFFF;
+ font-weight: bold;
+}
+.tabnavtbl {
+}
+
+
+/* MISC CSS Definitions */
+ul#tabnav {
+ font-size: 11px;
+ font-weight: bold;
+ list-style-type: none;
+ margin: 0;
+ padding: 0;
+}
+ul#tabnav li.tabinact1 {
+ float: left;
+ background-color: #777777;
+ color: #FFFFFF;
+ padding: 0;
+ white-space: nowrap;
+}
+ul#tabnav li.tabinact {
+ float: left;
+ border-left: 1px solid #999999;
+ background-color: #777777;
+ color: #FFFFFF;
+ padding: 0;
+ white-space: nowrap;
+}
+ul#tabnav li.tabinact a {
+ float: left;
+ display: block;
+ text-decoration: none;
+ padding: 5px 8px 5px 8px;
+ color: #FFFFFF;
+}
+ul#tabnav li.tabinact1 a {
+ float: left;
+ display: block;
+ text-decoration: none;
+ padding: 5px 8px 5px 8px;
+ color: #FFFFFF;
+}
+ul#tabnav li.tabact {
+ float: left;
+ background-color: #EEEEEE;
+ color: #000000;
+ padding: 5px 8px 5px 8px;
+ white-space: nowrap;
+}
+.tabcont {
+ background-color: #DDDDDD;
+ padding-right: 12px;
+ padding-left: 12px;
+ padding-top: 12px;
+ padding-bottom: 12px;
+}
+.tabact {
+ float: left;
+ background-color: #EEEEEE;
+ color: #000000;
+ padding: 5px 8px 5px 8px;
+ white-space: nowrap;
+}
+.tabinact {
+ font-weight: bold;
+ float: left;
+ border-left: 1px solid #999999;
+ background-color: #777777;
+ color: #FFFFFF;
+ padding: 0;
+ white-space: nowrap;
+}
+.menu {
+ background-color: #000000;
+ white-space: nowrap;
+ padding: 0px 5px 0px 5px;
+ width: 100%;
+ vertical-align: top;
+}
+
+/* style of disabled formelements */
+[disabled] {
+ color:#666666;
+ background:#eeeeee;
+}
+
+
+/* Auto Complete Suggestions */
+div.suggestions {
+ -moz-box-sizing: border-box;
+ /* box-sizing: border-box; */
+ border: 1px solid black;
+ position: absolute;
+ background-color: #990000;
+ color: #FFF;
+}
+
+div.suggestions div {
+ cursor: default;
+ padding: 0px 3px;
+ background-color: #990000;
+ color: #FFF;
+}
+
+div.suggestions div.current {
+ background-color: #3366cc;
+ color: #FFF;
+}
+/* End Auto Complete Suggestions */
+
+
+/* Nifty Corners Crap */
+.rtop,.artop{display:block}
+.rtop *,.artop *{display:block;height:1px;overflow:hidden;font-size:1px}
+.artop *{border-style: solid;border-width:0 1px}
+.r1,.rl1,.re1,.rel1{margin-left:5px}
+.r1,.rr1,.re1,.rer1{margin-right:5px}
+.r2,.rl2,.re2,.rel2,.ra1,.ral1{margin-left:3px}
+.r2,.rr2,.re2,.rer2,.ra1,.rar1{margin-right:3px}
+.r3,.rl3,.re3,.rel3,.ra2,.ral2,.rs1,.rsl1,.res1,.resl1{margin-left:2px}
+.r3,.rr3,.re3,.rer3,.ra2,.rar2,.rs1,.rsr1,.res1,.resr1{margin-right:2px}
+.r4,.rl4,.rs2,.rsl2,.re4,.rel4,.ra3,.ral3,.ras1,.rasl1,.res2,.resl2{margin-left:1px}
+.r4,.rr4,.rs2,.rsr2,.re4,.rer4,.ra3,.rar3,.ras1,.rasr1,.res2,.resr2{margin-right:1px}
+.rx1,.rxl1{border-left-width:5px}
+.rx1,.rxr1{border-right-width:5px}
+.rx2,.rxl2{border-left-width:3px}
+.rx2,.rxr2{border-right-width:3px}
+.re2,.rel2,.ra1,.ral1,.rx3,.rxl3,.rxs1,.rxsl1{border-left-width:2px}
+.re2,.rer2,.ra1,.rar1,.rx3,.rxr3,.rxs1,.rxsr1{border-right-width:2px}
+.rxl1,.rxl2,.rxl3,.rxl4,.rxsl1,.rxsl2,.ral1,.ral2,.ral3,.ral4,.rasl1,.rasl2{border-right-width:0}
+.rxr1,.rxr2,.rxr3,.rxr4,.rxsr1,.rxsr2,.rar1,.rar2,.rar3,.rar4,.rasr1,.rasr2{border-left-width:0}
+.r4,.rl4,.rr4,.re4,.rel4,.rer4,.ra4,.rar4,.ral4,.rx4,.rxl4,.rxr4{height:2px}
+.rer1,.rel1,.re1,.res1,.resl1,.resr1{border-width:1px 0 0;height:0px !important;height /**/:1px}
+/* End Nifty Corners Crap */
+
+
+
+/* CSS for Dynamic Log Viewer */
+/* Author: Erik Kristensen */
+div#log div.log-entry {
+ clear: both;
+}
+
+div#log div.log-entry span,
+div#log div.log-header span {
+ padding: 3px 2px 3px 2px;
+ padding-left: 8px;
+}
+
+div#log div.log-entry span.log-action {
+ padding-bottom: 6px;
+ padding-left: 5px;
+ padding-right: 5px;
+}
+
+div#log div.log-header span {
+ border-top: 1px solid #999;
+ background-color: #bbb;
+ font-weight: bold;
+ text-align: left;
+}
+
+div#log span.log-action,
+div#log span.log-time,
+div#log span.log-interface,
+div#log span.log-source,
+div#log span.log-destination,
+div#log span.log-protocol {
+ float: left;
+ text-align: left;
+ border-left: 1px solid #999;
+ border-bottom: 1px solid #999;
+
+}
+
+div#log span.log-general {
+
+}
+
+div#log span.log-protocol {
+ border-right: 1px solid #999;
+}
+
+div#log span.log-action {
+ width: 2em;
+ text-align: center;
+}
+
+div#log span.log-time {
+ width: 12.5em;
+}
+
+div#log span.log-interface {
+ width: 5em;
+}
+
+div#log span.log-source,
+div#log span.log-destination {
+ width: 17.6em;
+}
+
+div#log span.log-protocol {
+ width: 5.5em;
+}
+/* END CSS FOR DYNAMIC LOG VIEWER */
+
+#login {
+ background: #cccccc;
+ border: 0px solid #666666;
+ margin: 5em auto;
+ padding: 0em;
+ width: 340px;
+}
+
+#login h1 {
+ background: url(images/misc/logon.png) no-repeat top left;
+ margin-top: 0;
+ display: block;
+ text-indent: -1000px;
+ height: 50px;
+ border-bottom: none;
+}
+
+#login p {
+ font-size: 1em;
+ font-weight: bold;
+ padding: 3px;
+ margin: 0em;
+ text-indent: 10px;
+}
+
+#login span {
+ font-size: 1em;
+ font-weight: bold;
+ width: 20%;
+ padding: 3px;
+ margin: 0em;
+ text-indent: 10px;
+}
+
+#login p#text {
+ font-size: 1em;
+ font-weight: normal;
+ padding: 3px;
+ margin: 0em;
+ text-indent: 10px;
+}
+
+#login #username, #password, #password2 {
+ font-size: small;
+ width: 60%;
+ padding-left:19px
+ padding: 3px;
+ margin: 0em;
+}
+
+#login #submit {
+ font-size: 1em;
+ font-weight: bold;
+ padding: 3px;
+ margin: 0em;
+ text-indent: 10px;
+}
+
+/* Widget CSS */
+.widgetsubheader {
+ border-right: 1px solid #999999;
+ font-size: 11px;
+ background-color: #B1B1B1;
+ padding-right: 6px;
+ padding-left: 6px;
+ color: #000000;
+ font-weight: bold;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+.widgetheader {
+ border-right: 1px solid #999999;
+ font-size: 11px;
+ background-color: #990000;
+ padding-right: 6px;
+ padding-left: 6px;
+ color: #FFFFFF;
+ font-weight: bold;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+.widgetdiv{
+ margin-top:5px;
+ padding: 5px;
+ background:#CCCCCC;
+}
+.widgetconfigdiv{
+ background:#BBBBBB;
+ font-size: 11px;
+ color: #000000;
+ padding-right: 5px;
+ padding-left: 5px;
+ padding-top: 5px;
+ padding-bottom: 5px;
+}
+
+div#log div.log-entry-mini {
+ clear: both;
+}
+
+div#log div.log-entry-mini span {
+ padding: 2px 2px 2px 2px;
+ padding-left: 8px;
+}
+
+div#log span.log-action-mini-header,
+div#log span.log-interface-mini-header,
+div#log span.log-source-mini-header,
+div#log span.log-destination-mini-header,
+div#log span.log-protocol-mini-header {
+ float: left;
+ text-align: left;
+ background-color: #B1B1B1;
+ font-size: 12px;
+ border-left: 1px solid #999;
+ border-bottom: 1px solid #999;
+}
+
+div#log span.log-action-mini,
+div#log span.log-time-mini,
+div#log span.log-interface-mini,
+div#log span.log-source-mini,
+div#log span.log-destination-mini,
+div#log span.log-protocol-mini {
+ float: left;
+ text-align: left;
+ background-color: #FFFFFF;
+ font-size: 11px;
+ border-left: 1px solid #999;
+ border-bottom: 1px solid #999;
+}
+
+div#log span.log-action-mini,
+div#log span.log-action-mini-header {
+ width: 6%;
+}
+
+div#log span.log-interface-mini,
+div#log span.log-interface-mini-header {
+ width: 8%;
+}
+
+div#log span.log-source-mini,
+div#log span.log-destination-mini,
+div#log span.log-source-mini-header,
+div#log span.log-destination-mini-header {
+ width: 31%;
+}
+
+div#log span.log-protocol-mini,
+div#log span.log-protocol-mini-header {
+ width: 8%;
+ border-right: 1px solid #999;
+}
+
+/* Sortable tables */
+table.sortable thead {
+ cursor: default;
+ background-color: #EEEEEE;
+ padding-right: 12px;
+ padding-left: 12px;
+ padding-top: 12px;
+ padding-bottom: 12px;
+}
diff --git a/config/widescreen/bin/index.php_ b/config/widescreen/bin/index.php_
index 29480789..a6ad1019 100644
--- a/config/widescreen/bin/index.php_
+++ b/config/widescreen/bin/index.php_
@@ -1,775 +1,775 @@
-<?php
-/* $Id$ */
-/*
- index.php
- Copyright (C) 2004, 2005 Scott Ullrich
- All rights reserved.
-
- Originally part of m0n0wall (http://m0n0.ch/wall)
- Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
- INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
- oR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-*/
-/*
- pfSense_BUILDER_BINARIES: /sbin/ifconfig
- pfSense_MODULE: interfaces
-*/
-
-##|+PRIV
-##|*IDENT=page-system-login/logout
-##|*NAME=System: Login / Logout page / Dashboard
-##|*DESCR=Allow access to the 'System: Login / Logout' page and Dashboard.
-##|*MATCH=index.php*
-##|-PRIV
-
-// Turn on buffering to speed up rendering
-ini_set('output_buffering','true');
-
-// Start buffering with a cache size of 100000
-ob_start(null, "1000");
-
-## Load Essential Includes
-require_once('functions.inc');
-require_once('guiconfig.inc');
-require_once('notices.inc');
-
-##build list of widgets
-$directory = "/usr/local/www/widgets/widgets/";
-$dirhandle = opendir($directory);
-$filename = "";
-$widgetnames = array();
-$widgetfiles = array();
-$widgetlist = array();
-
-while (false !== ($filename = readdir($dirhandle))) {
- $periodpos = strpos($filename, ".");
- $widgetname = substr($filename, 0, $periodpos);
- $widgetnames[] = $widgetname;
- if ($widgetname != "system_information")
- $widgetfiles[] = $filename;
-}
-
-##sort widgets alphabetically
-sort($widgetfiles);
-
-##insert the system information widget as first, so as to be displayed first
-array_unshift($widgetfiles, "system_information.widget.php");
-
-##if no config entry found, initialize config entry
-if (!is_array($config['widgets'])) {
- $config['widgets'] = array();
-}
-
- if ($_POST && $_POST['submit']) {
- $config['widgets']['sequence'] = $_POST['sequence'];
-
- foreach ($widgetnames as $widget){
- if ($_POST[$widget . '-config']){
- $config['widgets'][$widget . '-config'] = $_POST[$widget . '-config'];
- }
- }
-
- write_config(gettext("Widget configuration has been changed."));
- header("Location: index.php");
- exit;
- }
-
- ## Load Functions Files
- require_once('includes/functions.inc.php');
-
- ## Check to see if we have a swap space,
- ## if true, display, if false, hide it ...
- if(file_exists("/usr/sbin/swapinfo")) {
- $swapinfo = `/usr/sbin/swapinfo`;
- if(stristr($swapinfo,'%') == true) $showswap=true;
- }
-
- ## User recently restored his config.
- ## If packages are installed lets resync
- if(file_exists('/conf/needs_package_sync')) {
- if($config['installedpackages'] <> '') {
- conf_mount_rw();
- @unlink('/conf/needs_package_sync');
- conf_mount_ro();
- if($g['platform'] == "pfSense" || $g['platform'] == "nanobsd") {
- header('Location: pkg_mgr_install.php?mode=reinstallall');
- exit;
- }
- }
- }
-
- ## If it is the first time webConfigurator has been
- ## accessed since initial install show this stuff.
- if(file_exists('/conf/trigger_initial_wizard')) {
- echo <<<EOF
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html>
-<head>
- <title>{$g['product_name']}.localdomain - {$g['product_name']} first time setup</title>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
- <link rel="stylesheet" type="text/css" href="/niftycssprintCode.css" media="print" />
- <script type="text/javascript">var theme = "nervecenter"</script>
- <script type="text/javascript" src="/themes/nervecenter/loader.js"></script>
-
-EOF;
-
- echo "<body link=\"#0000CC\" vlink=\"#0000CC\" alink=\"#0000CC\">\n";
-
- if(file_exists("/usr/local/www/themes/{$g['theme']}/wizard.css"))
- echo "<link rel=\"stylesheet\" href=\"/themes/{$g['theme']}/wizard.css\" media=\"all\" />\n";
- else
- echo "<link rel=\"stylesheet\" href=\"/themes/{$g['theme']}/all.css\" media=\"all\" />";
-
- echo "<form>\n";
- echo "<center>\n";
- echo "<img src=\"/themes/{$g['theme']}/images/logo.gif\" border=\"0\"><p>\n";
- echo "<div \" style=\"width:700px;background-color:#ffffff\" id=\"nifty\">\n";
- echo sprintf(gettext("Welcome to %s!\n"),$g['product_name']) . "<p>";
- echo gettext("One moment while we start the initial setup wizard.") . "<p>\n";
- echo gettext("Embedded platform users: Please be patient, the wizard takes a little longer to run than the normal GUI.") . "<p>\n";
- echo sprintf(gettext("To bypass the wizard, click on the %s logo on the initial page."),$g['product_name']) . "\n";
- echo "</div>\n";
- echo "<meta http-equiv=\"refresh\" content=\"1;url=wizard.php?xml=setup_wizard.xml\">\n";
- echo "<script type=\"text/javascript\">\n";
- echo "NiftyCheck();\n";
- echo "Rounded(\"div#nifty\",\"all\",\"#AAA\",\"#FFFFFF\",\"smooth\");\n";
- echo "</script>\n";
- exit;
- }
-
-
- ## Find out whether there's hardware encryption or not
- unset($hwcrypto);
- $fd = @fopen("{$g['varlog_path']}/dmesg.boot", "r");
- if ($fd) {
- while (!feof($fd)) {
- $dmesgl = fgets($fd);
- if (preg_match("/^hifn.: (.*?),/", $dmesgl, $matches) or preg_match("/.*(VIA Padlock)/", $dmesgl, $matches) or preg_match("/^safe.: (\w.*)/", $dmesgl, $matches) or preg_match("/^ubsec.: (.*?),/", $dmesgl, $matches) or preg_match("/^padlock.: <(.*?)>,/", $dmesgl, $matches) or preg_match("/^glxsb.: (.*?),/", $dmesgl, $matches)) {
- $hwcrypto = $matches[1];
- break;
- }
- }
- fclose($fd);
- }
-
-##build widget saved list information
-if ($config['widgets'] && $config['widgets']['sequence'] != "") {
- $pconfig['sequence'] = $config['widgets']['sequence'];
- $widgetlist = $pconfig['sequence'];
- $colpos = array();
- $savedwidgetfiles = array();
- $widgetname = "";
- $widgetlist = explode(",",$widgetlist);
-
- ##read the widget position and display information
- foreach ($widgetlist as $widget){
- $dashpos = strpos($widget, "-");
- $widgetname = substr($widget, 0, $dashpos);
- $colposition = strpos($widget, ":");
- $displayposition = strrpos($widget, ":");
- $colpos[] = substr($widget,$colposition+1, $displayposition - $colposition-1);
- $displayarray[] = substr($widget,$displayposition+1);
- $savedwidgetfiles[] = $widgetname . ".widget.php";
- }
-
- ##add widgets that may not be in the saved configuration, in case they are to be displayed later
- foreach ($widgetfiles as $defaultwidgets){
- if (!in_array($defaultwidgets, $savedwidgetfiles)){
- $savedwidgetfiles[] = $defaultwidgets;
- }
- }
-
- ##find custom configurations of a particular widget and load its info to $pconfig
- foreach ($widgetnames as $widget){
- if ($config['widgets'][$widget . '-config']){
- $pconfig[$widget . '-config'] = $config['widgets'][$widget . '-config'];
- }
- }
-
- $widgetlist = $savedwidgetfiles;
-} else{
- // no saved widget sequence found, build default list.
- $widgetlist = $widgetfiles;
-}
-
-##build list of php include files
-$phpincludefiles = array();
-$directory = "/usr/local/www/widgets/include/";
-$dirhandle = opendir($directory);
-$filename = "";
-while (false !== ($filename = readdir($dirhandle))) {
- $phpincludefiles[] = $filename;
-}
-foreach($phpincludefiles as $includename) {
- if(!stristr($includename, ".inc"))
- continue;
- include($directory . $includename);
-}
-
-##begin AJAX
-$jscriptstr = <<<EOD
-<script language="javascript" type="text/javascript">
-
-
-function widgetAjax(widget) {
- uri = "widgets/widgets/" + widget + ".widget.php";
- var opt = {
- // Use GET
- method: 'get',
- evalScripts: 'true',
- asynchronous: true,
- // Handle 404
- on404: function(t) {
- alert('Error 404: location "' + t.statusText + '" was not found.');
- },
- // Handle other errors
- onFailure: function(t) {
- alert('Error ' + t.status + ' -- ' + t.statusText);
- },
- onSuccess: function(t) {
- widget2 = widget + "-loader";
- Effect.Fade(widget2, {queue:'front'});
- Effect.Appear(widget, {queue:'end'});
- }
- }
- new Ajax.Updater(widget, uri, opt);
-}
-
-
-function addWidget(selectedDiv){
- selectedDiv2 = selectedDiv + "-container";
- d = document;
- textlink = d.getElementById(selectedDiv2);
- Effect.Appear(selectedDiv2, {duration:1});
- if (textlink.style.display != "none")
- {
- Effect.Shake(selectedDiv2);
- }
- else
- {
- widgetAjax(selectedDiv);
- selectIntLink = selectedDiv2 + "-input";
- textlink = d.getElementById(selectIntLink);
- textlink.value = "show";
- showSave();
- }
-}
-
-function configureWidget(selectedDiv){
- selectIntLink = selectedDiv + "-settings";
- d = document;
- textlink = d.getElementById(selectIntLink);
- if (textlink.style.display == "none")
- Effect.BlindDown(selectIntLink, {duration:1});
- else
- Effect.BlindUp(selectIntLink, {duration:1});
-}
-
-function showWidget(selectedDiv,swapButtons){
- //appear element
- Effect.BlindDown(selectedDiv, {duration:1});
- showSave();
- d = document;
- if (swapButtons){
- selectIntLink = selectedDiv + "-min";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "inline";
-
-
- selectIntLink = selectedDiv + "-open";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "none";
-
- }
- selectIntLink = selectedDiv + "-container-input";
- textlink = d.getElementById(selectIntLink);
- textlink.value = "show";
-
-}
-
-function minimizeWidget(selectedDiv,swapButtons){
- //fade element
- Effect.BlindUp(selectedDiv, {duration:1});
- showSave();
- d = document;
- if (swapButtons){
- selectIntLink = selectedDiv + "-open";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "inline";
-
- selectIntLink = selectedDiv + "-min";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "none";
- }
- selectIntLink = selectedDiv + "-container-input";
- textlink = d.getElementById(selectIntLink);
- textlink.value = "hide";
-
-}
-
-function closeWidget(selectedDiv){
- showSave();
- selectedDiv = selectedDiv + "-container";
- Effect.Fade(selectedDiv, {duration:1});
- d = document;
- selectIntLink = selectedDiv + "-input";
- textlink = d.getElementById(selectIntLink);
- textlink.value = "close";
-}
-
-function showSave(){
- d = document;
- selectIntLink = "submit";
- textlink = d.getElementById(selectIntLink);
- textlink.style.display = "inline";
-}
-
-function updatePref(){
- var widgets = document.getElementsByClassName('widgetdiv');
- var widgetSequence = "";
- var firstprint = false;
- d = document;
- for (i=0; i<widgets.length; i++){
- if (firstprint)
- widgetSequence += ",";
- var widget = widgets[i].id;
- widgetSequence += widget + ":" + widgets[i].parentNode.id + ":";
- widget = widget + "-input";
- textlink = d.getElementById(widget).value;
- widgetSequence += textlink;
- firstprint = true;
- }
- selectLink = "sequence";
- textlink = d.getElementById(selectLink);
- textlink.value = widgetSequence;
- return true;
-}
-
-function hideAllWidgets(){
- Effect.Fade('niftyOutter', {to: 0.2});
-}
-
-function showAllWidgets(){
- Effect.Fade('niftyOutter', {to: 1.0});
-}
-
-
-function changeTabDIV(selectedDiv){
- var dashpos = selectedDiv.indexOf("-");
- var tabclass = selectedDiv.substring(0,dashpos);
- d = document;
-
- //get deactive tabs first
- tabclass = tabclass + "-class-tabdeactive";
- var tabs = document.getElementsByClassName(tabclass);
- var incTabSelected = selectedDiv + "-deactive";
- for (i=0; i<tabs.length; i++){
- var tab = tabs[i].id;
- dashpos = tab.lastIndexOf("-");
- var tab2 = tab.substring(0,dashpos) + "-deactive";
- if (tab2 == incTabSelected){
- tablink = d.getElementById(tab2);
- tablink.style.display = "none";
- tab2 = tab.substring(0,dashpos) + "-active";
- tablink = d.getElementById(tab2);
- tablink.style.display = "table-cell";
-
- //now show main div associated with link clicked
- tabmain = d.getElementById(selectedDiv);
- tabmain.style.display = "block";
- }
- else
- {
- tab2 = tab.substring(0,dashpos) + "-deactive";
- tablink = d.getElementById(tab2);
- tablink.style.display = "table-cell";
- tab2 = tab.substring(0,dashpos) + "-active";
- tablink = d.getElementById(tab2);
- tablink.style.display = "none";
-
- //hide sections we don't want to see
- tab2 = tab.substring(0,dashpos);
- tabmain = d.getElementById(tab2);
- tabmain.style.display = "none";
-
- }
- }
-}
-
-</script>
-EOD;
-$closehead = false;
-
-## Set Page Title and Include Header
-$pgtitle = array(sprintf(gettext("%s Dashboard"), $g['product_name']));
-include("head.inc");
-
-echo "\t<script type=\"text/javascript\" src=\"javascript/domTT/domLib.js\"></script>\n";
-echo "\t<script type=\"text/javascript\" src=\"javascript/domTT/domTT.js\"></script>\n";
-echo "\t<script type=\"text/javascript\" src=\"javascript/domTT/behaviour.js\"></script>\n";
-echo "\t<script type=\"text/javascript\" src=\"javascript/domTT/fadomatic.js\"></script>\n";
-
-?>
-
-<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
-<form action="index.php" method="post">
-<script language="javascript" type="text/javascript">
-// <![CDATA[
- columns = ['col1','col2','col3','col4','col5','col6'];
-// ]]>
- var currwidth;
- currwidth = document.documentElement.clientWidth;
- window.onresize = function (){
- if (currwidth != document.documentElement.clientWidth){
- // let's refresh window if width was changed
- window.location.href=window.location.href;
- };
- currwidth = document.documentElement.clientWidth;
- }
-</script>
-
-<?php
-include("fbegin.inc");
-echo $jscriptstr;
- if(!file_exists("/usr/local/www/themes/{$g['theme']}/no_big_logo"))
- echo "<center><img src=\"./themes/".$g['theme']."/images/logobig.jpg\"></center><br>";
-?>
-<div id="widgetcontainer" style="display:none">
- <div id="content1"><h1><?=gettext("Available Widgets"); ?></h1><p><?php
- $widgetfiles_add = $widgetfiles;
- sort($widgetfiles_add);
- foreach($widgetfiles_add as $widget) {
- if(!stristr($widget, "widget.php"))
- continue;
-
- $periodpos = strpos($widget, ".");
- $widgetname = substr($widget, 0, $periodpos);
- $nicename = $widgetname;
- $nicename = str_replace("_", " ", $nicename);
- //make the title look nice
- $nicename = ucwords($nicename);
-
- $widgettitle = $widgetname . "_title";
- $widgettitlelink = $widgetname . "_title_link";
- if ($$widgettitle != "")
- {
- //echo widget title
- ?>
- <span style="cursor: pointer;" onclick='return addWidget("<?php echo $widgetname; ?>")'>
- <u><?php echo $$widgettitle; ?></u></span><br>
- <?php
- }
- else {?>
- <span style="cursor: pointer;" onclick='return addWidget("<?php echo $widgetname; ?>")'>
- <u><?php echo $nicename; ?></u></span><br><?php
- }
- }
- ?>
- </p>
- </div>
-</div>
-
-<div id="welcomecontainer" style="display:none">
- <div id="welcome-container">
- <h1>
- <div style="float:left;width:80%;padding: 2px">
- <?=gettext("Welcome to the Dashboard page"); ?>!
- </div>
- <div onclick="domTT_close(this);showAllWidgets();" style="float:right;width:8%; cursor:pointer;padding: 5px;" >
- <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_close.gif" />
- </div>
- <div style="clear:both;"></div>
- </h1>
- <p>
- <?=gettext("This page allows you to customize the information you want to be displayed!");?><br/>
- <?=gettext("To get started click the");?> <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif"> <?=gettext("icon to add widgets.");?><br/>
- <br/>
- <?=gettext("You can move any widget around by clicking and dragging the title.");?>
- </p>
- </div>
-</div>
-
-<input type="hidden" value="" name="sequence" id="sequence">
-<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" alt="<?=gettext("Click here to add widgets"); ?>" style="cursor: pointer;" onmouseup="domTT_activate(this, event, 'content', document.getElementById('content1'), 'type', 'velcro', 'delay', 0, 'fade', 'both', 'fadeMax', 100, 'styleClass', 'niceTitle');" />
-
-<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_info_pkg.gif" alt="<?=gettext("Click here for help"); ?>" style="cursor: help;" onmouseup="hideAllWidgets();domTT_activate(this, event, 'content', document.getElementById('welcome-container'), 'type', 'sticky', 'closeLink', '','delay', 0, 'fade', 'both', 'fadeMax', 100, 'styleClass', 'niceTitle');" />
-
-
-&nbsp;&nbsp;&nbsp;
- <input id="submit" name="submit" type="submit" style="display:none" onclick="return updatePref();" class="formbtn" value="<?=gettext("Save Settings");?>" />
-</p>
-
-<div id="niftyOutter">
- <?php
- $widgetcounter = 0;
- $directory = "/usr/local/www/widgets/widgets/";
- $firstprint = false;
- ?>
-<script language="javascript" type="text/javascript">
-var printed2 = false;
-var printed3 = false;
-var printed4 = false;
-var printed5 = false;
-var printed6 = false;
-var numofcols = parseInt(currwidth/400); // one column is minimum 350px
-if (numofcols < 2) numofcols = 2;
-var colpercent; // column width in percents
-if (numofcols <= 2) colpercent = parseInt(100/numofcols-2);
-else colpercent = parseInt(100/numofcols-1);
-
-function PrintDiv(colpos){
- if (colpos == "col2" && printed2 == false){
- document.write("</div><div id=\"col2\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
- printed2=true;
- }else if (colpos == "col3" && numofcols >= 3 && printed3 == false){
- document.write("</div><div id=\"col3\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
- printed3=true;
- }else if (colpos == "col4" && numofcols >= 4 && printed4 == false){
- document.write("</div><div id=\"col4\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
- printed4=true;
- }else if (colpos == "col5" && numofcols >= 5 && printed5 == false){
- document.write("</div><div id=\"col5\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
- printed5=true;
- }else if (colpos == "col6" && numofcols >= 6 && printed6 == false){
- document.write("</div><div id=\"col6\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
- printed6=true;
- }
-}
-document.write("<div id=\"col1\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
-</script>
- <?php
-
- foreach($widgetlist as $widget) {
-
- if(!stristr($widget, "widget.php"))
- continue;
- $periodpos = strpos($widget, ".");
- $widgetname = substr($widget, 0, $periodpos);
- if ($widgetname != ""){
- $nicename = $widgetname;
- $nicename = str_replace("_", " ", $nicename);
-
- //make the title look nice
- $nicename = ucwords($nicename);
- }
-
- if ($config['widgets'] && $pconfig['sequence'] != ""){
- switch($displayarray[$widgetcounter]){
- case "show":
- $divdisplay = "block";
- $display = "block";
- $inputdisplay = "show";
- $showWidget = "none";
- $mindiv = "inline";
- break;
- case "hide":
- $divdisplay = "block";
- $display = "none";
- $inputdisplay = "hide";
- $showWidget = "inline";
- $mindiv = "none";
- break;
- case "close":
- $divdisplay = "none";
- $display = "block";
- $inputdisplay = "close";
- $showWidget = "none";
- $mindiv = "inline";
- break;
- default:
- $divdisplay = "none";
- $display = "block";
- $inputdisplay = "none";
- $showWidget = "none";
- $mindiv = "inline";
- break;
- }
- } else {
- if ($firstprint == false){
- $divdisplay = "block";
- $display = "block";
- $inputdisplay = "show";
- $showWidget = "none";
- $mindiv = "inline";
- $firstprint = true;
- } else {
- switch ($widget) {
- case "interfaces.widget.php":
- case "traffic_graphs.widget.php":
- $divdisplay = "block";
- $display = "block";
- $inputdisplay = "show";
- $showWidget = "none";
- $mindiv = "inline";
- break;
- default:
- $divdisplay = "none";
- $display = "block";
- $inputdisplay = "close";
- $showWidget = "none";
- $mindiv = "inline";
- break;
- }
- }
- }
-
- if ($config['widgets'] && $pconfig['sequence'] != ""){
-?>
- <script language="javascript" type="text/javascript">
- colpos="<?=$colpos[$widgetcounter]?>";
- PrintDiv(colpos);
- </script>
-
-<?php
- }
-?>
- <div style="clear:both;"></div>
- <div id="<?php echo $widgetname;?>-container" class="widgetdiv" style="display:<?php echo $divdisplay; ?>;">
- <input type="hidden" value="<?php echo $inputdisplay;?>" id="<?php echo $widgetname;?>-container-input" name="<?php echo $widgetname;?>-container-input">
- <div id="<?php echo $widgetname;?>-topic" class="widgetheader" style="cursor:move">
- <div style="float:left;">
- <?php
-
- $widgettitle = $widgetname . "_title";
- $widgettitlelink = $widgetname . "_title_link";
- if ($$widgettitle != "")
- {
- //only show link if defined
- if ($$widgettitlelink != "") {?>
- <u><span onClick="location.href='/<?php echo $$widgettitlelink;?>'" style="cursor:pointer">
- <?php }
- //echo widget title
- echo $$widgettitle;
- if ($$widgettitlelink != "") { ?>
- </span></u>
- <?php }
- }
- else{
- if ($$widgettitlelink != "") {?>
- <u><span onClick="location.href='/<?php echo $$widgettitlelink;?>'" style="cursor:pointer">
- <?php }
- echo $nicename;
- if ($$widgettitlelink != "") { ?>
- </span></u>
- <?php }
- }
- ?>
- </div>
- <div align="right" style="float:right;">
- <div id="<?php echo $widgetname;?>-configure" onclick='return configureWidget("<?php echo $widgetname;?>")' style="display:none; cursor:pointer" ><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_configure.gif" /></div>
- <div id="<?php echo $widgetname;?>-open" onclick='return showWidget("<?php echo $widgetname;?>",true)' style="display:<?php echo $showWidget;?>; cursor:pointer" ><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_open.gif" /></div>
- <div id="<?php echo $widgetname;?>-min" onclick='return minimizeWidget("<?php echo $widgetname;?>",true)' style="display:<?php echo $mindiv;?>; cursor:pointer" ><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_minus.gif"/></div>
- <div id="<?php echo $widgetname;?>-close" onclick='return closeWidget("<?php echo $widgetname;?>",true)' style="display:inline; cursor:pointer" ><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_close.gif" /></div>
- </div>
- <div style="clear:both;"></div>
- </div>
- <?php if ($divdisplay != "block") { ?>
- <div id="<?php echo $widgetname;?>-loader" style="display:<?php echo $display; ?>;">
- <br>
- <center>
- <img src="./themes/<?= $g['theme']; ?>/images/misc/widget_loader.gif" width=25 height=25 alt="<?=gettext("Loading selected widget"); ?>...">
- </center>
- <br>
- </div> <?php } if ($divdisplay != "block") $display = none; ?>
- <div id="<?php echo $widgetname;?>" style="display:<?php echo $display; ?>;">
- <?php
- if ($divdisplay == "block")
- {
- include($directory . $widget);
- }
- ?>
- </div>
- <div style="clear:both;"></div>
- </div>
-<?php
- $widgetcounter++;
-
- }//end foreach
-?>
- <script type="text/javascript">
- // If some columns still do not have widgets let's print them anyway so a user can move wigets to them
- if (printed2 == false){
- document.write("</div><div id=\"col2\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px\">");
- }
- if (numofcols >= 3 && printed3 == false){
- document.write("</div><div id=\"col3\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px\">");
- }
- if (numofcols >= 4 && printed4 == false){
- document.write("</div><div id=\"col4\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px\">");
- }
- if (numofcols >= 5 && printed5 == false){
- document.write("</div><div id=\"col5\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px\">");
- }
- if (numofcols >= 6 && printed6 == false){
- document.write("</div><div id=\"col6\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px\">");
- }
- </script>
- </div>
- <div style="clear:both;"></div>
-</div>
-
-<!--
-<script type="text/javascript">
- document.write("+++test+++<br>");
- document.write("currwidth="+currwidth+"<br>");
- document.write("numofcols="+numofcols+"<br>");
- document.write("colpercent="+colpercent+"<br>");
-</script>
--->
-<?php include("fend.inc"); ?>
-
-<script type="text/javascript">
- document.observe('dom:loaded', function(in_event)
- {
- Sortable.create("col1", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
- Sortable.create("col2", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
- Sortable.create("col3", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
- Sortable.create("col4", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
- Sortable.create("col5", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
- Sortable.create("col6", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
- <?php if (!$config['widgets'] && $pconfig['sequence'] != ""){ ?>
- hideAllWidgets();
- domTT_activate('welcome1', null, 'x', 287, 'y', 107, 'content', document.getElementById('welcome-container'), 'type', 'sticky', 'closeLink', '','delay', 1000, 'fade', 'both', 'fadeMax', 100, 'styleClass', 'niceTitle');
- <?php } ?>
- });
-</script>
-
-<?php
- //build list of javascript include files
- $jsincludefiles = array();
- $directory = "widgets/javascript/";
- $dirhandle = opendir($directory);
- $filename = "";
- while (false !== ($filename = readdir($dirhandle))) {
- $jsincludefiles[] = $filename;
- }
- foreach($jsincludefiles as $jsincludename) {
- if(!stristr($jsincludename, ".js"))
- continue;
- echo "<script src='{$directory}{$jsincludename}' type='text/javascript'></script>\n";
- }
-?>
-</form>
-</body>
-</html>
+<?php
+/* $Id$ */
+/*
+ index.php
+ Copyright (C) 2004, 2005 Scott Ullrich
+ All rights reserved.
+
+ Originally part of m0n0wall (http://m0n0.ch/wall)
+ Copyright (C) 2003-2004 Manuel Kasper <mk@neon1.net>.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+ THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
+ oR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGE.
+*/
+/*
+ pfSense_BUILDER_BINARIES: /sbin/ifconfig
+ pfSense_MODULE: interfaces
+*/
+
+##|+PRIV
+##|*IDENT=page-system-login/logout
+##|*NAME=System: Login / Logout page / Dashboard
+##|*DESCR=Allow access to the 'System: Login / Logout' page and Dashboard.
+##|*MATCH=index.php*
+##|-PRIV
+
+// Turn on buffering to speed up rendering
+ini_set('output_buffering','true');
+
+// Start buffering with a cache size of 100000
+ob_start(null, "1000");
+
+## Load Essential Includes
+require_once('functions.inc');
+require_once('guiconfig.inc');
+require_once('notices.inc');
+
+##build list of widgets
+$directory = "/usr/local/www/widgets/widgets/";
+$dirhandle = opendir($directory);
+$filename = "";
+$widgetnames = array();
+$widgetfiles = array();
+$widgetlist = array();
+
+while (false !== ($filename = readdir($dirhandle))) {
+ $periodpos = strpos($filename, ".");
+ $widgetname = substr($filename, 0, $periodpos);
+ $widgetnames[] = $widgetname;
+ if ($widgetname != "system_information")
+ $widgetfiles[] = $filename;
+}
+
+##sort widgets alphabetically
+sort($widgetfiles);
+
+##insert the system information widget as first, so as to be displayed first
+array_unshift($widgetfiles, "system_information.widget.php");
+
+##if no config entry found, initialize config entry
+if (!is_array($config['widgets'])) {
+ $config['widgets'] = array();
+}
+
+ if ($_POST && $_POST['submit']) {
+ $config['widgets']['sequence'] = $_POST['sequence'];
+
+ foreach ($widgetnames as $widget){
+ if ($_POST[$widget . '-config']){
+ $config['widgets'][$widget . '-config'] = $_POST[$widget . '-config'];
+ }
+ }
+
+ write_config(gettext("Widget configuration has been changed."));
+ header("Location: index.php");
+ exit;
+ }
+
+ ## Load Functions Files
+ require_once('includes/functions.inc.php');
+
+ ## Check to see if we have a swap space,
+ ## if true, display, if false, hide it ...
+ if(file_exists("/usr/sbin/swapinfo")) {
+ $swapinfo = `/usr/sbin/swapinfo`;
+ if(stristr($swapinfo,'%') == true) $showswap=true;
+ }
+
+ ## User recently restored his config.
+ ## If packages are installed lets resync
+ if(file_exists('/conf/needs_package_sync')) {
+ if($config['installedpackages'] <> '') {
+ conf_mount_rw();
+ @unlink('/conf/needs_package_sync');
+ conf_mount_ro();
+ if($g['platform'] == "pfSense" || $g['platform'] == "nanobsd") {
+ header('Location: pkg_mgr_install.php?mode=reinstallall');
+ exit;
+ }
+ }
+ }
+
+ ## If it is the first time webConfigurator has been
+ ## accessed since initial install show this stuff.
+ if(file_exists('/conf/trigger_initial_wizard')) {
+ echo <<<EOF
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html>
+<head>
+ <title>{$g['product_name']}.localdomain - {$g['product_name']} first time setup</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
+ <link rel="stylesheet" type="text/css" href="/niftycssprintCode.css" media="print" />
+ <script type="text/javascript">var theme = "nervecenter"</script>
+ <script type="text/javascript" src="/themes/nervecenter/loader.js"></script>
+
+EOF;
+
+ echo "<body link=\"#0000CC\" vlink=\"#0000CC\" alink=\"#0000CC\">\n";
+
+ if(file_exists("/usr/local/www/themes/{$g['theme']}/wizard.css"))
+ echo "<link rel=\"stylesheet\" href=\"/themes/{$g['theme']}/wizard.css\" media=\"all\" />\n";
+ else
+ echo "<link rel=\"stylesheet\" href=\"/themes/{$g['theme']}/all.css\" media=\"all\" />";
+
+ echo "<form>\n";
+ echo "<center>\n";
+ echo "<img src=\"/themes/{$g['theme']}/images/logo.gif\" border=\"0\"><p>\n";
+ echo "<div \" style=\"width:700px;background-color:#ffffff\" id=\"nifty\">\n";
+ echo sprintf(gettext("Welcome to %s!\n"),$g['product_name']) . "<p>";
+ echo gettext("One moment while we start the initial setup wizard.") . "<p>\n";
+ echo gettext("Embedded platform users: Please be patient, the wizard takes a little longer to run than the normal GUI.") . "<p>\n";
+ echo sprintf(gettext("To bypass the wizard, click on the %s logo on the initial page."),$g['product_name']) . "\n";
+ echo "</div>\n";
+ echo "<meta http-equiv=\"refresh\" content=\"1;url=wizard.php?xml=setup_wizard.xml\">\n";
+ echo "<script type=\"text/javascript\">\n";
+ echo "NiftyCheck();\n";
+ echo "Rounded(\"div#nifty\",\"all\",\"#AAA\",\"#FFFFFF\",\"smooth\");\n";
+ echo "</script>\n";
+ exit;
+ }
+
+
+ ## Find out whether there's hardware encryption or not
+ unset($hwcrypto);
+ $fd = @fopen("{$g['varlog_path']}/dmesg.boot", "r");
+ if ($fd) {
+ while (!feof($fd)) {
+ $dmesgl = fgets($fd);
+ if (preg_match("/^hifn.: (.*?),/", $dmesgl, $matches) or preg_match("/.*(VIA Padlock)/", $dmesgl, $matches) or preg_match("/^safe.: (\w.*)/", $dmesgl, $matches) or preg_match("/^ubsec.: (.*?),/", $dmesgl, $matches) or preg_match("/^padlock.: <(.*?)>,/", $dmesgl, $matches) or preg_match("/^glxsb.: (.*?),/", $dmesgl, $matches)) {
+ $hwcrypto = $matches[1];
+ break;
+ }
+ }
+ fclose($fd);
+ }
+
+##build widget saved list information
+if ($config['widgets'] && $config['widgets']['sequence'] != "") {
+ $pconfig['sequence'] = $config['widgets']['sequence'];
+ $widgetlist = $pconfig['sequence'];
+ $colpos = array();
+ $savedwidgetfiles = array();
+ $widgetname = "";
+ $widgetlist = explode(",",$widgetlist);
+
+ ##read the widget position and display information
+ foreach ($widgetlist as $widget){
+ $dashpos = strpos($widget, "-");
+ $widgetname = substr($widget, 0, $dashpos);
+ $colposition = strpos($widget, ":");
+ $displayposition = strrpos($widget, ":");
+ $colpos[] = substr($widget,$colposition+1, $displayposition - $colposition-1);
+ $displayarray[] = substr($widget,$displayposition+1);
+ $savedwidgetfiles[] = $widgetname . ".widget.php";
+ }
+
+ ##add widgets that may not be in the saved configuration, in case they are to be displayed later
+ foreach ($widgetfiles as $defaultwidgets){
+ if (!in_array($defaultwidgets, $savedwidgetfiles)){
+ $savedwidgetfiles[] = $defaultwidgets;
+ }
+ }
+
+ ##find custom configurations of a particular widget and load its info to $pconfig
+ foreach ($widgetnames as $widget){
+ if ($config['widgets'][$widget . '-config']){
+ $pconfig[$widget . '-config'] = $config['widgets'][$widget . '-config'];
+ }
+ }
+
+ $widgetlist = $savedwidgetfiles;
+} else{
+ // no saved widget sequence found, build default list.
+ $widgetlist = $widgetfiles;
+}
+
+##build list of php include files
+$phpincludefiles = array();
+$directory = "/usr/local/www/widgets/include/";
+$dirhandle = opendir($directory);
+$filename = "";
+while (false !== ($filename = readdir($dirhandle))) {
+ $phpincludefiles[] = $filename;
+}
+foreach($phpincludefiles as $includename) {
+ if(!stristr($includename, ".inc"))
+ continue;
+ include($directory . $includename);
+}
+
+##begin AJAX
+$jscriptstr = <<<EOD
+<script language="javascript" type="text/javascript">
+
+
+function widgetAjax(widget) {
+ uri = "widgets/widgets/" + widget + ".widget.php";
+ var opt = {
+ // Use GET
+ method: 'get',
+ evalScripts: 'true',
+ asynchronous: true,
+ // Handle 404
+ on404: function(t) {
+ alert('Error 404: location "' + t.statusText + '" was not found.');
+ },
+ // Handle other errors
+ onFailure: function(t) {
+ alert('Error ' + t.status + ' -- ' + t.statusText);
+ },
+ onSuccess: function(t) {
+ widget2 = widget + "-loader";
+ Effect.Fade(widget2, {queue:'front'});
+ Effect.Appear(widget, {queue:'end'});
+ }
+ }
+ new Ajax.Updater(widget, uri, opt);
+}
+
+
+function addWidget(selectedDiv){
+ selectedDiv2 = selectedDiv + "-container";
+ d = document;
+ textlink = d.getElementById(selectedDiv2);
+ Effect.Appear(selectedDiv2, {duration:1});
+ if (textlink.style.display != "none")
+ {
+ Effect.Shake(selectedDiv2);
+ }
+ else
+ {
+ widgetAjax(selectedDiv);
+ selectIntLink = selectedDiv2 + "-input";
+ textlink = d.getElementById(selectIntLink);
+ textlink.value = "show";
+ showSave();
+ }
+}
+
+function configureWidget(selectedDiv){
+ selectIntLink = selectedDiv + "-settings";
+ d = document;
+ textlink = d.getElementById(selectIntLink);
+ if (textlink.style.display == "none")
+ Effect.BlindDown(selectIntLink, {duration:1});
+ else
+ Effect.BlindUp(selectIntLink, {duration:1});
+}
+
+function showWidget(selectedDiv,swapButtons){
+ //appear element
+ Effect.BlindDown(selectedDiv, {duration:1});
+ showSave();
+ d = document;
+ if (swapButtons){
+ selectIntLink = selectedDiv + "-min";
+ textlink = d.getElementById(selectIntLink);
+ textlink.style.display = "inline";
+
+
+ selectIntLink = selectedDiv + "-open";
+ textlink = d.getElementById(selectIntLink);
+ textlink.style.display = "none";
+
+ }
+ selectIntLink = selectedDiv + "-container-input";
+ textlink = d.getElementById(selectIntLink);
+ textlink.value = "show";
+
+}
+
+function minimizeWidget(selectedDiv,swapButtons){
+ //fade element
+ Effect.BlindUp(selectedDiv, {duration:1});
+ showSave();
+ d = document;
+ if (swapButtons){
+ selectIntLink = selectedDiv + "-open";
+ textlink = d.getElementById(selectIntLink);
+ textlink.style.display = "inline";
+
+ selectIntLink = selectedDiv + "-min";
+ textlink = d.getElementById(selectIntLink);
+ textlink.style.display = "none";
+ }
+ selectIntLink = selectedDiv + "-container-input";
+ textlink = d.getElementById(selectIntLink);
+ textlink.value = "hide";
+
+}
+
+function closeWidget(selectedDiv){
+ showSave();
+ selectedDiv = selectedDiv + "-container";
+ Effect.Fade(selectedDiv, {duration:1});
+ d = document;
+ selectIntLink = selectedDiv + "-input";
+ textlink = d.getElementById(selectIntLink);
+ textlink.value = "close";
+}
+
+function showSave(){
+ d = document;
+ selectIntLink = "submit";
+ textlink = d.getElementById(selectIntLink);
+ textlink.style.display = "inline";
+}
+
+function updatePref(){
+ var widgets = document.getElementsByClassName('widgetdiv');
+ var widgetSequence = "";
+ var firstprint = false;
+ d = document;
+ for (i=0; i<widgets.length; i++){
+ if (firstprint)
+ widgetSequence += ",";
+ var widget = widgets[i].id;
+ widgetSequence += widget + ":" + widgets[i].parentNode.id + ":";
+ widget = widget + "-input";
+ textlink = d.getElementById(widget).value;
+ widgetSequence += textlink;
+ firstprint = true;
+ }
+ selectLink = "sequence";
+ textlink = d.getElementById(selectLink);
+ textlink.value = widgetSequence;
+ return true;
+}
+
+function hideAllWidgets(){
+ Effect.Fade('niftyOutter', {to: 0.2});
+}
+
+function showAllWidgets(){
+ Effect.Fade('niftyOutter', {to: 1.0});
+}
+
+
+function changeTabDIV(selectedDiv){
+ var dashpos = selectedDiv.indexOf("-");
+ var tabclass = selectedDiv.substring(0,dashpos);
+ d = document;
+
+ //get deactive tabs first
+ tabclass = tabclass + "-class-tabdeactive";
+ var tabs = document.getElementsByClassName(tabclass);
+ var incTabSelected = selectedDiv + "-deactive";
+ for (i=0; i<tabs.length; i++){
+ var tab = tabs[i].id;
+ dashpos = tab.lastIndexOf("-");
+ var tab2 = tab.substring(0,dashpos) + "-deactive";
+ if (tab2 == incTabSelected){
+ tablink = d.getElementById(tab2);
+ tablink.style.display = "none";
+ tab2 = tab.substring(0,dashpos) + "-active";
+ tablink = d.getElementById(tab2);
+ tablink.style.display = "table-cell";
+
+ //now show main div associated with link clicked
+ tabmain = d.getElementById(selectedDiv);
+ tabmain.style.display = "block";
+ }
+ else
+ {
+ tab2 = tab.substring(0,dashpos) + "-deactive";
+ tablink = d.getElementById(tab2);
+ tablink.style.display = "table-cell";
+ tab2 = tab.substring(0,dashpos) + "-active";
+ tablink = d.getElementById(tab2);
+ tablink.style.display = "none";
+
+ //hide sections we don't want to see
+ tab2 = tab.substring(0,dashpos);
+ tabmain = d.getElementById(tab2);
+ tabmain.style.display = "none";
+
+ }
+ }
+}
+
+</script>
+EOD;
+$closehead = false;
+
+## Set Page Title and Include Header
+$pgtitle = array(sprintf(gettext("%s Dashboard"), $g['product_name']));
+include("head.inc");
+
+echo "\t<script type=\"text/javascript\" src=\"javascript/domTT/domLib.js\"></script>\n";
+echo "\t<script type=\"text/javascript\" src=\"javascript/domTT/domTT.js\"></script>\n";
+echo "\t<script type=\"text/javascript\" src=\"javascript/domTT/behaviour.js\"></script>\n";
+echo "\t<script type=\"text/javascript\" src=\"javascript/domTT/fadomatic.js\"></script>\n";
+
+?>
+
+<body link="#0000CC" vlink="#0000CC" alink="#0000CC">
+<form action="index.php" method="post">
+<script language="javascript" type="text/javascript">
+// <![CDATA[
+ columns = ['col1','col2','col3','col4','col5','col6'];
+// ]]>
+ var currwidth;
+ currwidth = document.documentElement.clientWidth;
+ window.onresize = function (){
+ if (currwidth != document.documentElement.clientWidth){
+ // let's refresh window if width was changed
+ window.location.href=window.location.href;
+ };
+ currwidth = document.documentElement.clientWidth;
+ }
+</script>
+
+<?php
+include("fbegin.inc");
+echo $jscriptstr;
+ if(!file_exists("/usr/local/www/themes/{$g['theme']}/no_big_logo"))
+ echo "<center><img src=\"./themes/".$g['theme']."/images/logobig.jpg\"></center><br>";
+?>
+<div id="widgetcontainer" style="display:none">
+ <div id="content1"><h1><?=gettext("Available Widgets"); ?></h1><p><?php
+ $widgetfiles_add = $widgetfiles;
+ sort($widgetfiles_add);
+ foreach($widgetfiles_add as $widget) {
+ if(!stristr($widget, "widget.php"))
+ continue;
+
+ $periodpos = strpos($widget, ".");
+ $widgetname = substr($widget, 0, $periodpos);
+ $nicename = $widgetname;
+ $nicename = str_replace("_", " ", $nicename);
+ //make the title look nice
+ $nicename = ucwords($nicename);
+
+ $widgettitle = $widgetname . "_title";
+ $widgettitlelink = $widgetname . "_title_link";
+ if ($$widgettitle != "")
+ {
+ //echo widget title
+ ?>
+ <span style="cursor: pointer;" onclick='return addWidget("<?php echo $widgetname; ?>")'>
+ <u><?php echo $$widgettitle; ?></u></span><br>
+ <?php
+ }
+ else {?>
+ <span style="cursor: pointer;" onclick='return addWidget("<?php echo $widgetname; ?>")'>
+ <u><?php echo $nicename; ?></u></span><br><?php
+ }
+ }
+ ?>
+ </p>
+ </div>
+</div>
+
+<div id="welcomecontainer" style="display:none">
+ <div id="welcome-container">
+ <h1>
+ <div style="float:left;width:80%;padding: 2px">
+ <?=gettext("Welcome to the Dashboard page"); ?>!
+ </div>
+ <div onclick="domTT_close(this);showAllWidgets();" style="float:right;width:8%; cursor:pointer;padding: 5px;" >
+ <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_close.gif" />
+ </div>
+ <div style="clear:both;"></div>
+ </h1>
+ <p>
+ <?=gettext("This page allows you to customize the information you want to be displayed!");?><br/>
+ <?=gettext("To get started click the");?> <img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif"> <?=gettext("icon to add widgets.");?><br/>
+ <br/>
+ <?=gettext("You can move any widget around by clicking and dragging the title.");?>
+ </p>
+ </div>
+</div>
+
+<input type="hidden" value="" name="sequence" id="sequence">
+<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_plus.gif" alt="<?=gettext("Click here to add widgets"); ?>" style="cursor: pointer;" onmouseup="domTT_activate(this, event, 'content', document.getElementById('content1'), 'type', 'velcro', 'delay', 0, 'fade', 'both', 'fadeMax', 100, 'styleClass', 'niceTitle');" />
+
+<img src="./themes/<?= $g['theme']; ?>/images/icons/icon_info_pkg.gif" alt="<?=gettext("Click here for help"); ?>" style="cursor: help;" onmouseup="hideAllWidgets();domTT_activate(this, event, 'content', document.getElementById('welcome-container'), 'type', 'sticky', 'closeLink', '','delay', 0, 'fade', 'both', 'fadeMax', 100, 'styleClass', 'niceTitle');" />
+
+
+&nbsp;&nbsp;&nbsp;
+ <input id="submit" name="submit" type="submit" style="display:none" onclick="return updatePref();" class="formbtn" value="<?=gettext("Save Settings");?>" />
+</p>
+
+<div id="niftyOutter">
+ <?php
+ $widgetcounter = 0;
+ $directory = "/usr/local/www/widgets/widgets/";
+ $firstprint = false;
+ ?>
+<script language="javascript" type="text/javascript">
+var printed2 = false;
+var printed3 = false;
+var printed4 = false;
+var printed5 = false;
+var printed6 = false;
+var numofcols = parseInt(currwidth/400); // one column is minimum 350px
+if (numofcols < 2) numofcols = 2;
+var colpercent; // column width in percents
+if (numofcols <= 2) colpercent = parseInt(100/numofcols-2);
+else colpercent = parseInt(100/numofcols-1);
+
+function PrintDiv(colpos){
+ if (colpos == "col2" && printed2 == false){
+ document.write("</div><div id=\"col2\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
+ printed2=true;
+ }else if (colpos == "col3" && numofcols >= 3 && printed3 == false){
+ document.write("</div><div id=\"col3\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
+ printed3=true;
+ }else if (colpos == "col4" && numofcols >= 4 && printed4 == false){
+ document.write("</div><div id=\"col4\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
+ printed4=true;
+ }else if (colpos == "col5" && numofcols >= 5 && printed5 == false){
+ document.write("</div><div id=\"col5\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
+ printed5=true;
+ }else if (colpos == "col6" && numofcols >= 6 && printed6 == false){
+ document.write("</div><div id=\"col6\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
+ printed6=true;
+ }
+}
+document.write("<div id=\"col1\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px;padding-left:10px;\">");
+</script>
+ <?php
+
+ foreach($widgetlist as $widget) {
+
+ if(!stristr($widget, "widget.php"))
+ continue;
+ $periodpos = strpos($widget, ".");
+ $widgetname = substr($widget, 0, $periodpos);
+ if ($widgetname != ""){
+ $nicename = $widgetname;
+ $nicename = str_replace("_", " ", $nicename);
+
+ //make the title look nice
+ $nicename = ucwords($nicename);
+ }
+
+ if ($config['widgets'] && $pconfig['sequence'] != ""){
+ switch($displayarray[$widgetcounter]){
+ case "show":
+ $divdisplay = "block";
+ $display = "block";
+ $inputdisplay = "show";
+ $showWidget = "none";
+ $mindiv = "inline";
+ break;
+ case "hide":
+ $divdisplay = "block";
+ $display = "none";
+ $inputdisplay = "hide";
+ $showWidget = "inline";
+ $mindiv = "none";
+ break;
+ case "close":
+ $divdisplay = "none";
+ $display = "block";
+ $inputdisplay = "close";
+ $showWidget = "none";
+ $mindiv = "inline";
+ break;
+ default:
+ $divdisplay = "none";
+ $display = "block";
+ $inputdisplay = "none";
+ $showWidget = "none";
+ $mindiv = "inline";
+ break;
+ }
+ } else {
+ if ($firstprint == false){
+ $divdisplay = "block";
+ $display = "block";
+ $inputdisplay = "show";
+ $showWidget = "none";
+ $mindiv = "inline";
+ $firstprint = true;
+ } else {
+ switch ($widget) {
+ case "interfaces.widget.php":
+ case "traffic_graphs.widget.php":
+ $divdisplay = "block";
+ $display = "block";
+ $inputdisplay = "show";
+ $showWidget = "none";
+ $mindiv = "inline";
+ break;
+ default:
+ $divdisplay = "none";
+ $display = "block";
+ $inputdisplay = "close";
+ $showWidget = "none";
+ $mindiv = "inline";
+ break;
+ }
+ }
+ }
+
+ if ($config['widgets'] && $pconfig['sequence'] != ""){
+?>
+ <script language="javascript" type="text/javascript">
+ colpos="<?=$colpos[$widgetcounter]?>";
+ PrintDiv(colpos);
+ </script>
+
+<?php
+ }
+?>
+ <div style="clear:both;"></div>
+ <div id="<?php echo $widgetname;?>-container" class="widgetdiv" style="display:<?php echo $divdisplay; ?>;">
+ <input type="hidden" value="<?php echo $inputdisplay;?>" id="<?php echo $widgetname;?>-container-input" name="<?php echo $widgetname;?>-container-input">
+ <div id="<?php echo $widgetname;?>-topic" class="widgetheader" style="cursor:move">
+ <div style="float:left;">
+ <?php
+
+ $widgettitle = $widgetname . "_title";
+ $widgettitlelink = $widgetname . "_title_link";
+ if ($$widgettitle != "")
+ {
+ //only show link if defined
+ if ($$widgettitlelink != "") {?>
+ <u><span onClick="location.href='/<?php echo $$widgettitlelink;?>'" style="cursor:pointer">
+ <?php }
+ //echo widget title
+ echo $$widgettitle;
+ if ($$widgettitlelink != "") { ?>
+ </span></u>
+ <?php }
+ }
+ else{
+ if ($$widgettitlelink != "") {?>
+ <u><span onClick="location.href='/<?php echo $$widgettitlelink;?>'" style="cursor:pointer">
+ <?php }
+ echo $nicename;
+ if ($$widgettitlelink != "") { ?>
+ </span></u>
+ <?php }
+ }
+ ?>
+ </div>
+ <div align="right" style="float:right;">
+ <div id="<?php echo $widgetname;?>-configure" onclick='return configureWidget("<?php echo $widgetname;?>")' style="display:none; cursor:pointer" ><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_configure.gif" /></div>
+ <div id="<?php echo $widgetname;?>-open" onclick='return showWidget("<?php echo $widgetname;?>",true)' style="display:<?php echo $showWidget;?>; cursor:pointer" ><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_open.gif" /></div>
+ <div id="<?php echo $widgetname;?>-min" onclick='return minimizeWidget("<?php echo $widgetname;?>",true)' style="display:<?php echo $mindiv;?>; cursor:pointer" ><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_minus.gif"/></div>
+ <div id="<?php echo $widgetname;?>-close" onclick='return closeWidget("<?php echo $widgetname;?>",true)' style="display:inline; cursor:pointer" ><img src="./themes/<?= $g['theme']; ?>/images/icons/icon_close.gif" /></div>
+ </div>
+ <div style="clear:both;"></div>
+ </div>
+ <?php if ($divdisplay != "block") { ?>
+ <div id="<?php echo $widgetname;?>-loader" style="display:<?php echo $display; ?>;">
+ <br>
+ <center>
+ <img src="./themes/<?= $g['theme']; ?>/images/misc/widget_loader.gif" width=25 height=25 alt="<?=gettext("Loading selected widget"); ?>...">
+ </center>
+ <br>
+ </div> <?php } if ($divdisplay != "block") $display = none; ?>
+ <div id="<?php echo $widgetname;?>" style="display:<?php echo $display; ?>;">
+ <?php
+ if ($divdisplay == "block")
+ {
+ include($directory . $widget);
+ }
+ ?>
+ </div>
+ <div style="clear:both;"></div>
+ </div>
+<?php
+ $widgetcounter++;
+
+ }//end foreach
+?>
+ <script type="text/javascript">
+ // If some columns still do not have widgets let's print them anyway so a user can move wigets to them
+ if (printed2 == false){
+ document.write("</div><div id=\"col2\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px\">");
+ }
+ if (numofcols >= 3 && printed3 == false){
+ document.write("</div><div id=\"col3\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px\">");
+ }
+ if (numofcols >= 4 && printed4 == false){
+ document.write("</div><div id=\"col4\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px\">");
+ }
+ if (numofcols >= 5 && printed5 == false){
+ document.write("</div><div id=\"col5\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px\">");
+ }
+ if (numofcols >= 6 && printed6 == false){
+ document.write("</div><div id=\"col6\" style=\"float:left;width:"+colpercent+"%;padding-bottom:40px\">");
+ }
+ </script>
+ </div>
+ <div style="clear:both;"></div>
+</div>
+
+<!--
+<script type="text/javascript">
+ document.write("+++test+++<br>");
+ document.write("currwidth="+currwidth+"<br>");
+ document.write("numofcols="+numofcols+"<br>");
+ document.write("colpercent="+colpercent+"<br>");
+</script>
+-->
+<?php include("fend.inc"); ?>
+
+<script type="text/javascript">
+ document.observe('dom:loaded', function(in_event)
+ {
+ Sortable.create("col1", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
+ Sortable.create("col2", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
+ Sortable.create("col3", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
+ Sortable.create("col4", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
+ Sortable.create("col5", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
+ Sortable.create("col6", {tag:'div',dropOnEmpty:true,containment:columns,handle:'widgetheader',constraint:false,only:'widgetdiv',onChange:showSave});
+ <?php if (!$config['widgets'] && $pconfig['sequence'] != ""){ ?>
+ hideAllWidgets();
+ domTT_activate('welcome1', null, 'x', 287, 'y', 107, 'content', document.getElementById('welcome-container'), 'type', 'sticky', 'closeLink', '','delay', 1000, 'fade', 'both', 'fadeMax', 100, 'styleClass', 'niceTitle');
+ <?php } ?>
+ });
+</script>
+
+<?php
+ //build list of javascript include files
+ $jsincludefiles = array();
+ $directory = "widgets/javascript/";
+ $dirhandle = opendir($directory);
+ $filename = "";
+ while (false !== ($filename = readdir($dirhandle))) {
+ $jsincludefiles[] = $filename;
+ }
+ foreach($jsincludefiles as $jsincludename) {
+ if(!stristr($jsincludename, ".js"))
+ continue;
+ echo "<script src='{$directory}{$jsincludename}' type='text/javascript'></script>\n";
+ }
+?>
+</form>
+</body>
+</html>