Some checks failed
SonarQube Scan / SonarQube Trigger (push) Failing after 5m39s
152 lines
7.6 KiB
PHP
152 lines
7.6 KiB
PHP
<?php require_once 'includes/header-security.php'; ?>
|
|
<!doctype html>
|
|
<html lang="<?php echo $lang ?>">
|
|
<head>
|
|
<script>
|
|
(function() {
|
|
if (localStorage.getItem('darkmode') === 'true') {
|
|
document.documentElement.setAttribute('data-bs-theme', 'dark');
|
|
}
|
|
})();
|
|
</script>
|
|
<?php if (isset($config['seo']['google']) && $config['seo']['google']) {
|
|
require_once 'includes/google_tag_manager.php';
|
|
echo get_google_tag_manager_header($config['seo']['gtm']['key']);
|
|
} ?>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title><?php
|
|
$pageTitle = "";
|
|
if (isset($title)) {
|
|
$pageTitle .= $title . " | ";
|
|
}
|
|
$pageTitle .= $config['app']['name'];
|
|
|
|
|
|
echo $pageTitle; ?></title>
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/css/bootstrap.min.css"
|
|
integrity="sha512-jnSuA4Ss2PkkikSOLtYs8BlYIeeIK1h99ty4YfvRPAlzr377vr3CXDb7sb7eEEBYjDtcYj+AjBH3FLv5uSJuXg=="
|
|
crossorigin="anonymous" referrerpolicy="no-referrer"/>
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css"
|
|
integrity="sha512-Evv84Mr4kqVGRNSgIGL/F/aIDqQb7xQ2vcrdIwxfjThSH8CSR7PBEakCr51Ck+w+/U6swU2Im1vVX0SVk9ABhg=="
|
|
crossorigin="anonymous" referrerpolicy="no-referrer"/>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"
|
|
integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g=="
|
|
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css"
|
|
integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw=="
|
|
crossorigin="anonymous" referrerpolicy="no-referrer"/>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js"
|
|
integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A=="
|
|
crossorigin="anonymous" referrerpolicy="no-referrer"></script>
|
|
<link href="data:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAAAAAAA////APj4+AB/f38A8fHxAOrq6gATExMA/v7+AAUFBQASEhIA/f39AAsLCwCYmJgABAQEAOjo6AD8/PwAq6urAO7u7gADAwMA+/v7APT09AACAgIAvr6+AAEBAQC2trYA+fn5AJubmwDy8vIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQoHEwEHEwEKBwEBAQEBAQEKCQAAAAAQCgEBAQEBAQEOAxcAAAAAFwAZAQEBAQEFBxMTFQAAAAAXFQEBAQ8TFRcHDwgAFwAAAAAXBwcBCxIIEhMAEg0SAAAADRgBCgAAAAAAAQEBDwgAAAAACgcAAAAVDwEBBwEAAAAAFwcKAAAAFQEBBgIBABUAABUBAQAAABcAEwEBAQAXAAAXCgENAAAAAAwHAQAXFwAXGgEBGwAAAAAAABUTARUAFAEPAQESAAAAAAAAEgoKFBEBAQEHARUAFwAAAAAPBA4BAQEBAQcHFg0AAAAAFxMBAQEBAQEBAQoKAQcBBwoPAQEBAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="
|
|
rel="icon" type="image/x-icon">
|
|
|
|
<?php require_once 'includes/hreflang.php';
|
|
|
|
// if the script_name starts with /mix/, display this style
|
|
// it has to check the beginning, not just as part of the array
|
|
// because the page can be /mix/1 or /mix/2
|
|
if (str_starts_with($_SERVER['SCRIPT_NAME'], '/mix/')) {
|
|
?>
|
|
<style>
|
|
#audio-player {
|
|
padding: 15px;
|
|
border-radius: 8px;
|
|
width: 100%;
|
|
}
|
|
|
|
.player-controls {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 12px;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
#play-pause-btn {
|
|
background-color: #0d6efd; /* Bootstrap primary color */
|
|
border: none;
|
|
color: white;
|
|
width: 32px;
|
|
height: 32px;
|
|
border-radius: 50%;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
cursor: pointer;
|
|
flex-shrink: 0;
|
|
padding: 0;
|
|
}
|
|
|
|
#play-pause-btn:hover {
|
|
background-color: #0b5ed7;
|
|
}
|
|
|
|
#seek-bar {
|
|
flex-grow: 1;
|
|
height: 4px;
|
|
border-radius: 2px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
#time-display {
|
|
font-size: 14px;
|
|
color: #6c757d; /* Bootstrap secondary text color */
|
|
text-align: center;
|
|
}
|
|
|
|
.action-buttons {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
margin-top: 15px;
|
|
}
|
|
|
|
</style>
|
|
<?php }
|
|
|
|
if (isset($specialStyle) && in_array($_SERVER['SCRIPT_NAME'], $specialStyle)) {
|
|
// this style is for the buttons on the list pages so the buttons look better only on mixpages, djs, genres
|
|
// not mixes, because it's not a list like that
|
|
?>
|
|
|
|
<style>
|
|
.card {
|
|
height: 160px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: space-between;
|
|
}
|
|
|
|
.card-body {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.card-title {
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
}
|
|
|
|
.card-text {
|
|
flex-grow: 1;
|
|
}
|
|
|
|
.btn {
|
|
margin-top: auto;
|
|
}
|
|
|
|
|
|
</style>
|
|
<?php }
|
|
|
|
require_once 'header-meta.php'; ?>
|
|
</head>
|
|
<body class="bg-body">
|
|
<?php
|
|
if (isset($config['seo']['google']) && $config['seo']['google']) {
|
|
echo get_google_tag_manager_body($config['seo']['gtm']['key']);
|
|
}
|
|
?>
|
|
<?php require_once 'includes/navbar.php'; ?>
|