438 lines
11 KiB
PHP
438 lines
11 KiB
PHP
<?php
|
|
/**
|
|
* Themed dashboard stylesheet — narrow / mobile layout.
|
|
*
|
|
* Emits CSS to the browser with a `Content-type: text/css` header. Theme
|
|
* colours and table-row backgrounds are loaded from `/etc/pistar-css.ini`
|
|
* (an INI written by admin/expert/edit_dashboard.php) when that file
|
|
* exists, otherwise we fall back to the built-in palette below.
|
|
*
|
|
* Mobile counterpart of pistar-css.php — config/browserdetect.php picks
|
|
* which one to load based on the viewport / User-Agent. The PHP header
|
|
* (theme variable load) is identical across the two files; the CSS body
|
|
* differs in layout sizing.
|
|
*
|
|
* Do NOT edit this file by hand — operator-overridable colours live in
|
|
* /etc/pistar-css.ini via the expert dashboard editor. Hand edits will
|
|
* be overwritten on the next configuration save.
|
|
*
|
|
* Note: existing variable names like $bannerDropShaddows / $tableHeadDropShaddow
|
|
* preserve a long-standing typo ("Shaddow" should be "Shadow", "Headder"
|
|
* should be "Header"). Renaming them would break the CSS body below
|
|
* which references them by name; keep as-is for compatibility.
|
|
*/
|
|
|
|
// Output CSS, not the default text/html.
|
|
header('Content-type: text/css');
|
|
|
|
if (file_exists('/etc/pistar-css.ini')) {
|
|
// Load the operator's theme overrides.
|
|
$piStarCssFile = '/etc/pistar-css.ini';
|
|
if (fopen($piStarCssFile, 'r')) {
|
|
$piStarCss = parse_ini_file($piStarCssFile, true);
|
|
}
|
|
|
|
// Map parsed INI values onto the variables the CSS body interpolates.
|
|
$backgroundPage = $piStarCss['Background']['Page']; // page background (usually off-white)
|
|
$backgroundContent = $piStarCss['Background']['Content']; // white background in the content section
|
|
$backgroundBanners = $piStarCss['Background']['Banners']; // the ubiquitous Pi-Star red
|
|
$textBanners = $piStarCss['Text']['Banners']; // usually white
|
|
$bannerDropShaddows = $piStarCss['Text']['BannersDrop']; // banner drop-shadow colour
|
|
$tableHeadDropShaddow = $piStarCss['Tables']['HeadDrop']; // table-header drop-shadow colour
|
|
$textContent = $piStarCss['Content']['Text']; // section title colour
|
|
$tableRowEvenBg = $piStarCss['Tables']['BgEven']; // table row background (even)
|
|
$tableRowOddBg = $piStarCss['Tables']['BgOdd']; // table row background (odd)
|
|
} else {
|
|
// Fallback palette used when /etc/pistar-css.ini is absent.
|
|
$backgroundPage = 'edf0f5'; // page background (usually off-white)
|
|
$backgroundContent = 'ffffff'; // white background in the content section
|
|
$backgroundBanners = 'dd4b39'; // the ubiquitous Pi-Star red
|
|
$textBanners = 'ffffff'; // usually white
|
|
$bannerDropShaddows = '303030'; // banner drop-shadow colour
|
|
$tableHeadDropShaddow = '8b0000'; // table-header drop-shadow colour
|
|
$textContent = '000000'; // section title colour
|
|
$tableRowEvenBg = 'f7f7f7'; // table row background (even)
|
|
$tableRowOddBg = 'd0d0d0'; // table row background (odd)
|
|
}
|
|
?>
|
|
.container {
|
|
width: 100%;
|
|
text-align: left;
|
|
margin: auto;
|
|
background : #<?php echo $backgroundContent; ?>;
|
|
border-radius: 10px 10px 10px 10px;
|
|
-moz-border-radius: 10px 10px 10px 10px;
|
|
-webkit-border-radius: 10px 10px 10px 10px;
|
|
-khtml-border-radius: 10px 10px 10px 10px;
|
|
-ms-border-radius: 10px 10px 10px 10px;
|
|
box-shadow: 3px 3px 3px #707070;
|
|
}
|
|
|
|
body, font {
|
|
font: 12px verdana,arial,sans-serif;
|
|
color: #ffffff;
|
|
}
|
|
|
|
.header {
|
|
background : #<?php echo $backgroundBanners; ?>;
|
|
text-decoration : none;
|
|
color : #<?php echo $textBanners; ?>;
|
|
font-family : verdana, arial, sans-serif;
|
|
text-align : left;
|
|
padding : 5px 0px 5px 0px;
|
|
border-radius: 10px 10px 0 0;
|
|
-moz-border-radius: 10px 10px 0px 0px;
|
|
-webkit-border-radius: 10px 10px 0px 0px;
|
|
-khtml-border-radius: 10px 10px 0px 0px;
|
|
-ms-border-radius: 10px 10px 0px 0px;
|
|
}
|
|
|
|
.nav {
|
|
display: none;
|
|
float : left;
|
|
margin : 0;
|
|
padding : 3px 3px 3px 3px;
|
|
width : 160px;
|
|
background : #242d31;
|
|
font-weight : normal;
|
|
min-height : 100%;
|
|
}
|
|
|
|
.content {
|
|
padding : 5px 5px 5px 5px;
|
|
color : #<?php echo $textContent; ?>;
|
|
background : #<?php echo $backgroundContent; ?>;
|
|
text-align: center;
|
|
font-size: 1.4em;
|
|
}
|
|
|
|
.contentwide {
|
|
padding: 5px 5px 5px 5px;
|
|
color: #<?php echo $textContent; ?>;
|
|
background: #<?php echo $backgroundContent; ?>;
|
|
text-align: center;
|
|
font-size: 1.4em;
|
|
}
|
|
|
|
.contentwide h2 {
|
|
color: #<?php echo $textContent; ?>;
|
|
font: 1em verdana,arial,sans-serif;
|
|
text-align: center;
|
|
font-weight: bold;
|
|
padding: 0px;
|
|
margin: 0px;
|
|
}
|
|
|
|
.footer {
|
|
background : #<?php echo $backgroundBanners; ?>;
|
|
text-decoration : none;
|
|
color : #<?php echo $textBanners; ?>;
|
|
font-family : verdana, arial, sans-serif;
|
|
font-size : 9px;
|
|
text-align : center;
|
|
padding : 10px 0 10px 0;
|
|
border-radius: 0 0 10px 10px;
|
|
-moz-border-radius: 0px 0px 10px 10px;
|
|
-webkit-border-radius: 0px 0px 10px 10px;
|
|
-khtml-border-radius: 0px 0px 10px 10px;
|
|
-ms-border-radius: 0px 0px 10px 10px;
|
|
clear : both;
|
|
}
|
|
|
|
#tail {
|
|
height: 450px;
|
|
width: 805px;
|
|
overflow-y: scroll;
|
|
overflow-x: scroll;
|
|
color: #00ff00;
|
|
background: #000000;
|
|
}
|
|
|
|
table {
|
|
vertical-align: middle;
|
|
text-align: center;
|
|
empty-cells: show;
|
|
padding-left: 0px;
|
|
padding-right: 0px;
|
|
padding-top: 0px;
|
|
padding-bottom: 0px;
|
|
border-collapse:collapse;
|
|
border-color: #000000;
|
|
border-style: solid;
|
|
border-spacing: 4px;
|
|
border-width: 2px;
|
|
text-decoration: none;
|
|
color: #ffffff;
|
|
background: #000000;
|
|
font-family: verdana,arial,sans-serif;
|
|
width: 100%;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
table th {
|
|
font-family: "Lucidia Console",Monaco,monospace;
|
|
text-shadow: 1px 1px #<?php echo $tableHeadDropShaddow; ?>;
|
|
text-decoration: none;
|
|
background: #<?php echo $backgroundBanners; ?>;
|
|
border: 1px solid #c0c0c0;
|
|
}
|
|
|
|
table tr:nth-child(even) {
|
|
background: #<?php echo $tableRowEvenBg; ?>;
|
|
}
|
|
|
|
table tr:nth-child(odd) {
|
|
background: #<?php echo $tableRowOddBg; ?>;
|
|
}
|
|
|
|
table td {
|
|
color: #000000;
|
|
font-family: "Lucidia Console",Monaco,monospace;
|
|
text-decoration: none;
|
|
border: 1px solid #000000;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
body {
|
|
background: #<?php echo $backgroundPage; ?>;
|
|
color: #000000;
|
|
}
|
|
|
|
a {
|
|
text-decoration:none;
|
|
|
|
}
|
|
|
|
a:link, a:visited {
|
|
text-decoration: none;
|
|
color: #0000e0;
|
|
font-weight: normal;
|
|
}
|
|
|
|
a.tooltip, a.tooltip:link, a.tooltip:visited, a.tooltip:active {
|
|
text-decoration: none;
|
|
position: relative;
|
|
color: #FFFFFF;
|
|
}
|
|
|
|
a.tooltip:hover {
|
|
text-shadow: none;
|
|
text-decoration: none;
|
|
color: #FFFFFF;
|
|
background: transparent;
|
|
}
|
|
|
|
a.tooltip span {
|
|
text-shadow: none;
|
|
text-decoration: none;
|
|
display: none;
|
|
}
|
|
|
|
a.tooltip:hover span {
|
|
text-shadow: none;
|
|
text-decoration: none;
|
|
display: block;
|
|
position: absolute;
|
|
top: 20px;
|
|
left: 0;
|
|
width: 200px;
|
|
z-index: 100;
|
|
color: #000000;
|
|
border:1px solid #000000;
|
|
background: #f7f7f7;
|
|
font: 12px Verdana, sans-serif;
|
|
text-align: left;
|
|
}
|
|
|
|
a.tooltip span b {
|
|
text-shadow: none;
|
|
text-decoration: none;
|
|
display: block;
|
|
color: #000000;
|
|
margin: 0;
|
|
padding: 0;
|
|
font-size: 12px;
|
|
font-weight: bold;
|
|
border: 0px;
|
|
border-bottom: 1px solid black;
|
|
background: #d0d0d0;
|
|
}
|
|
|
|
a.tooltip2, a.tooltip2:link, a.tooltip2:visited, a.tooltip2:active {
|
|
text-shadow: none;
|
|
text-decoration: none;
|
|
position: relative;
|
|
font-weight: bold;
|
|
color: #000000;
|
|
}
|
|
|
|
a.tooltip2:hover {
|
|
text-shadow: none;
|
|
text-decoration: none;
|
|
color: #000000;
|
|
background: transparent;
|
|
}
|
|
|
|
a.tooltip2 span {
|
|
text-shadow: none;
|
|
text-decoration: none;
|
|
display: none;
|
|
}
|
|
|
|
a.tooltip2:hover span {
|
|
text-shadow: none;
|
|
text-decoration: none;
|
|
display: block;
|
|
position: absolute;
|
|
top: 20px;
|
|
left: 0;
|
|
width: 200px;
|
|
z-index: 100;
|
|
color: #000000;
|
|
border:1px solid #000000;
|
|
background: #f7f7f7;
|
|
font: 12px Verdana, sans-serif;
|
|
text-align: left;
|
|
}
|
|
|
|
a.tooltip2 span b {
|
|
text-shadow: none;
|
|
text-decoration: none;
|
|
display: block;
|
|
color: #000000;
|
|
margin: 0;
|
|
padding: 0;
|
|
font-size: 12px;
|
|
font-weight: bold;
|
|
border: 0px;
|
|
border-bottom: 1px solid black;
|
|
background: #d0d0d0;
|
|
}
|
|
|
|
ul {
|
|
padding: 5px;
|
|
margin: 10px 0;
|
|
list-style: none;
|
|
float: left;
|
|
}
|
|
|
|
ul li {
|
|
float: left;
|
|
display: inline; /*For ignore double margin in IE6*/
|
|
margin: 0 10px;
|
|
}
|
|
|
|
ul li a {
|
|
text-decoration: none;
|
|
float:left;
|
|
color: #999;
|
|
cursor: pointer;
|
|
font: 900 14px/22px "Arial", Helvetica, sans-serif;
|
|
}
|
|
|
|
ul li a span {
|
|
margin: 0 10px 0 -10px;
|
|
padding: 1px 8px 5px 18px;
|
|
position: relative; /*To fix IE6 problem (not displaying)*/
|
|
float:left;
|
|
}
|
|
|
|
ul.mmenu li a.current, ul.mmenu li a:hover {
|
|
background: url(/images/buttonbg.png) no-repeat top right;
|
|
color: #0d5f83;
|
|
}
|
|
|
|
ul.mmenu li a.current span, ul.mmenu li a:hover span {
|
|
background: url(/images/buttonbg.png) no-repeat top left;
|
|
}
|
|
|
|
h1 {
|
|
text-shadow: 2px 2px #<?php echo $bannerDropShaddows; ?>;
|
|
text-align: center;
|
|
}
|
|
|
|
/* CSS Toggle Code here */
|
|
.toggle {
|
|
position: absolute;
|
|
margin-left: -9999px;
|
|
visibility: hidden;
|
|
}
|
|
|
|
.toggle + label {
|
|
display: block;
|
|
position: relative;
|
|
cursor: pointer;
|
|
outline: none;
|
|
}
|
|
|
|
input.toggle-round-flat + label {
|
|
padding: 1px;
|
|
width: 33px;
|
|
height: 18px;
|
|
background-color: #dddddd;
|
|
border-radius: 10px;
|
|
transition: background 0.4s;
|
|
}
|
|
|
|
input.toggle-round-flat + label:before,
|
|
input.toggle-round-flat + label:after {
|
|
display: block;
|
|
position: absolute;
|
|
content: "";
|
|
}
|
|
|
|
input.toggle-round-flat + label:before {
|
|
top: 1px;
|
|
left: 1px;
|
|
bottom: 1px;
|
|
right: 1px;
|
|
background-color: #fff;
|
|
border-radius: 10px;
|
|
transition: background 0.4s;
|
|
}
|
|
|
|
input.toggle-round-flat + label:after {
|
|
top: 2px;
|
|
left: 2px;
|
|
bottom: 2px;
|
|
width: 16px;
|
|
background-color: #dddddd;
|
|
border-radius: 12px;
|
|
transition: margin 0.4s, background 0.4s;
|
|
}
|
|
|
|
input.toggle-round-flat:checked + label {
|
|
background-color: #<?php echo $backgroundBanners; ?>;
|
|
}
|
|
|
|
input.toggle-round-flat:checked + label:after {
|
|
margin-left: 14px;
|
|
background-color: #<?php echo $backgroundBanners; ?>;
|
|
}
|
|
|
|
/* Tame Firefox Buttons */
|
|
@-moz-document url-prefix() {
|
|
select,
|
|
input {
|
|
margin : 0;
|
|
padding : 0;
|
|
border-width : 1px;
|
|
font : 12px verdana,arial,sans-serif;
|
|
}
|
|
input[type="button"], button, input[type="submit"] {
|
|
padding : 0px 3px 0px 3px;
|
|
border-radius : 3px 3px 3px 3px;
|
|
-moz-border-radius : 3px 3px 3px 3px;
|
|
}
|
|
}
|
|
|
|
/* nice-select dropdowns */
|
|
.nice-select.small, .nice-select-dropdown li.option {
|
|
height: 24px !important;
|
|
min-height: 24px !important;
|
|
line-height: 24px !important;
|
|
}
|
|
.nice-select.small ul li:nth-of-type(2) {
|
|
clear: both;
|
|
}
|