Files
cdn-star/css/pistar-css.php
T
2026-07-19 18:01:05 +08:00

451 lines
11 KiB
PHP

<?php
/**
* Themed dashboard stylesheet — desktop / wide 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.
*
* 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: 820px;
text-align: left;
margin: auto;
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;
background : #<?php echo $backgroundContent; ?>;
}
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 {
float : left;
margin : 0;
padding : 3px 3px 3px 3px;
width : 160px;
background : #242d31;
font-weight : normal;
min-height : 100%;
}
.content {
margin : 0 0 0 166px;
padding : 1px 5px 5px 5px;
color : #<?php echo $textContent; ?>;
background : #<?php echo $backgroundContent; ?>;
text-align: center;
}
.contentwide {
padding: 5px 5px 5px 5px;
color: #<?php echo $textContent; ?>;
background: #<?php echo $backgroundContent; ?>;
text-align: center;
}
.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;
}
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;
z-index: 100;
color: #000000;
border:1px solid #000000;
background: #f7f7f7;
font: 12px Verdana, sans-serif;
text-align: left;
white-space: nowrap;
}
th:last-child a.tooltip:hover span {
left: auto;
right: 0;
}
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: 202px;
z-index: 100;
color: #000000;
border:1px solid #000000;
background: #f7f7f7;
font: 12px Verdana, sans-serif;
text-align: left;
white-space: normal;
}
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;
}
/* Aria CSS Here
[role="checkbox"] {
padding:5px;
}
[aria-checked="true"]::before {
content: "[x]";
}
[aria-checked="false"]::before {
content: "[ ]";
}
*/