mirror of
https://gitlab.com/ruany/litebans-php.git
synced 2025-05-23 16:32:45 +00:00

en_US locale reduced from 88 messages to 43 messages. Redundant messages have been purged, making it much easier to translate everything. Message indexes now form a consistent and generified tree/branch/leaf structure.
115 lines
3.9 KiB
PHP
115 lines
3.9 KiB
PHP
<?php
|
|
|
|
class Header {
|
|
/**
|
|
* @param $page Page
|
|
*/
|
|
function __construct($page) {
|
|
$this->page = $page;
|
|
if ($page->settings->header_show_totals) {
|
|
$t = $page->settings->table;
|
|
$t_bans = $t['bans'];
|
|
$t_mutes = $t['mutes'];
|
|
$t_warnings = $t['warnings'];
|
|
$t_kicks = $t['kicks'];
|
|
try {
|
|
$st = $page->conn->query("SELECT
|
|
(SELECT COUNT(*) FROM $t_bans) AS c_bans,
|
|
(SELECT COUNT(*) FROM $t_mutes) AS c_mutes,
|
|
(SELECT COUNT(*) FROM $t_warnings) AS c_warnings,
|
|
(SELECT COUNT(*) FROM $t_kicks) AS c_kicks");
|
|
($row = $st->fetch(PDO::FETCH_ASSOC)) or die('Failed to fetch row counts.');
|
|
$st->closeCursor();
|
|
$this->count = array(
|
|
'bans.php' => $row['c_bans'],
|
|
'mutes.php' => $row['c_mutes'],
|
|
'warnings.php' => $row['c_warnings'],
|
|
'kicks.php' => $row['c_kicks'],
|
|
);
|
|
} catch (PDOException $ex) {
|
|
Settings::handle_error($page->settings, $ex);
|
|
}
|
|
}
|
|
}
|
|
|
|
function navbar($links) {
|
|
echo '<ul class="nav navbar-nav">';
|
|
foreach ($links as $page => $title) {
|
|
$li = "li";
|
|
if ((substr($_SERVER['SCRIPT_NAME'], -strlen($page))) === $page) {
|
|
$li .= ' class="active"';
|
|
}
|
|
if ($this->page->settings->header_show_totals && isset($this->count[$page])) {
|
|
$title .= " <span class=\"badge\">";
|
|
$title .= $this->count[$page];
|
|
$title .= "</span>";
|
|
}
|
|
echo "<$li><a href=\"$page\">$title</a></li>";
|
|
}
|
|
echo '</ul>';
|
|
}
|
|
|
|
function autoversion($file) {
|
|
return $file . "?" . filemtime($file);
|
|
}
|
|
|
|
function print_header() {
|
|
$settings = $this->page->settings;
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="description" content="">
|
|
<meta name="author" content="LiteBans">
|
|
<link rel="shortcut icon" href="inc/img/minecraft.ico">
|
|
<!-- CSS -->
|
|
<link href="<?php echo $this->autoversion('inc/css/bootstrap.min.css'); ?>" rel="stylesheet">
|
|
<link href="<?php echo $this->autoversion('inc/css/custom.css'); ?>" rel="stylesheet">
|
|
<script type="text/javascript">
|
|
function withjQuery(f) {
|
|
if (window.jQuery) f();
|
|
else window.setTimeout(function () {
|
|
withjQuery(f);
|
|
}, 100);
|
|
}
|
|
</script>
|
|
</head>
|
|
|
|
<header class="navbar navbar-default navbar-static-top" role="banner">
|
|
<div class="container">
|
|
<div class="navbar-header">
|
|
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse"
|
|
data-target="#litebans-navbar" aria-expanded="false">
|
|
<span class="sr-only">Toggle navigation</span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</button>
|
|
<a class="navbar-brand" href="<?php echo $settings->name_link; ?>">
|
|
<?php echo $settings->name; ?>
|
|
</a>
|
|
</div>
|
|
<nav id="litebans-navbar" class="collapse navbar-collapse">
|
|
<?php
|
|
$this->navbar(array(
|
|
"index.php" => $this->page->t("title.index"),
|
|
"bans.php" => $this->page->t("title.bans"),
|
|
"mutes.php" => $this->page->t("title.mutes"),
|
|
"warnings.php" => $this->page->t("title.warnings"),
|
|
"kicks.php" => $this->page->t("title.kicks"),
|
|
));
|
|
?>
|
|
<div class="nav navbar-nav navbar-right">
|
|
<a href="https://www.spigotmc.org/resources/litebans.3715/" class="navbar-text"
|
|
target="_blank">© LiteBans</a>
|
|
</div>
|
|
</nav>
|
|
</div>
|
|
</header>
|
|
<?php
|
|
}
|
|
}
|
|
?>
|