Simple URLs: Fix duplicate header

This commit is contained in:
ruan 2020-09-08 10:59:52 +02:00
parent 764825bdc5
commit 5a0826db1d
3 changed files with 38 additions and 38 deletions

View File

@ -6,6 +6,37 @@ class Header {
*/
function __construct($page) {
$this->page = $page;
}
function navbar($links) {
echo '<ul class="navbar-nav mr-auto">';
$request = $this->page->get_requested_page();
foreach ($links as $page => $title) {
$li = "li";
$class = "nav-item";
if ($this->page->settings->simple_urls) {
if ("$request.php" === $page) {
$class .= " active navbar-active";
}
} else if ((substr($_SERVER['SCRIPT_NAME'], -strlen($page))) === $page) {
$class .= " active navbar-active";
}
$li .= " class=\"$class\"";
if ($this->page->settings->header_show_totals && isset($this->count[$page])) {
$title .= ' <span class="' . $this->page->settings->badge_classes . '">';
$title .= $this->count[$page];
$title .= "</span>";
}
$page = $this->page->link($page);
echo "<$li><a class=\"nav-link\" href=\"$page\">$title</a></li>";
}
echo '</ul>';
}
function print_header() {
$page = $this->page;
$settings = $page->settings;
if ($page->settings->header_show_totals) {
$t = $page->settings->table;
$t_bans = $t['bans'];
@ -36,36 +67,6 @@ function __construct($page) {
Settings::handle_error($page->settings, $ex);
}
}
}
function navbar($links) {
echo '<ul class="navbar-nav mr-auto">';
$request = $this->page->get_requested_page();
foreach ($links as $page => $title) {
$li = "li";
$class = "nav-item";
if ($this->page->settings->simple_urls) {
if ("$request.php" === $page) {
$class .= " active navbar-active";
}
} else if ((substr($_SERVER['SCRIPT_NAME'], -strlen($page))) === $page) {
$class .= " active navbar-active";
}
$li .= " class=\"$class\"";
if ($this->page->settings->header_show_totals && isset($this->count[$page])) {
$title .= ' <span class="' . $this->page->settings->badge_classes . '">';
$title .= $this->count[$page];
$title .= "</span>";
}
$page = $this->page->link($page);
echo "<$li><a class=\"nav-link\" href=\"$page\">$title</a></li>";
}
echo '</ul>';
}
function print_header() {
$settings = $this->page->settings;
?>
<!DOCTYPE html>
<html lang="en">

View File

@ -24,9 +24,6 @@ class Page {
$this->lang = $this->defaultlang;
}
if ($header) {
require_once './inc/header.php';
}
$this->conn = $settings->conn;
$this->settings = $settings;
$this->uuid_name_cache = array();
@ -92,10 +89,11 @@ class Page {
if (filter_var($page, FILTER_VALIDATE_INT)) {
$this->page = max(0, (int)$page);
}
require_once './inc/header.php';
$this->header = new Header($this);
if ($header) {
$h = new Header($this);
$this->header = $h;
$h->print_header();
$this->header->print_header();
}
}

View File

@ -1,7 +1,7 @@
<?php
require_once './inc/page.php';
$page = new Page("index");
$page = new Page("index",false);
if ($page->settings->simple_urls && count($_GET) !== 0) {
$target = $page->get_requested_page();
@ -13,6 +13,7 @@ if ($page->settings->simple_urls && count($_GET) !== 0) {
}
}
}
$page->header->print_header();
$page->print_title();
?>