14102025
@@ -0,0 +1,301 @@
|
||||
<?php
|
||||
$title = "Analytics Service";
|
||||
include_once 'include/config.php';
|
||||
|
||||
$servername = DB_SERVER;
|
||||
$username = DB_USERNAME;
|
||||
$password = DB_PASSWORD;
|
||||
$dbname = DB_NAME;
|
||||
|
||||
// Verbindung herstellen
|
||||
$conn = new mysqli($servername, $username, $password, $dbname);
|
||||
|
||||
// Verbindung überprüfen
|
||||
if ($conn->connect_error) {
|
||||
die("Verbindung zur Datenbank fehlgeschlagen: " . $conn->connect_error);
|
||||
}
|
||||
|
||||
// Abfrage für die Anzahl der Benutzer
|
||||
$sql = "SELECT COUNT(*) as total_users FROM UserAccounts";
|
||||
$result = $conn->query($sql);
|
||||
$row = $result->fetch_assoc();
|
||||
$totalUsers = $row['total_users'];
|
||||
|
||||
// Abfrage für die Anzahl der Regionen
|
||||
$sql = "SELECT COUNT(*) as total_regions FROM regions";
|
||||
$result = $conn->query($sql);
|
||||
$row = $result->fetch_assoc();
|
||||
$totalRegions = $row['total_regions'];
|
||||
|
||||
// Abfrage für die Anzahl der Online-Benutzer
|
||||
$sql = "SELECT COUNT(*) as online_users FROM Presence WHERE LastSeen > NOW() - INTERVAL 5 MINUTE";
|
||||
$result = $conn->query($sql);
|
||||
$row = $result->fetch_assoc();
|
||||
$onlineUsers = $row['online_users'];
|
||||
|
||||
// Abfrage für die letzten Transaktionen
|
||||
$sql = "SELECT sender, receiver, amount, time FROM transactions ORDER BY time DESC LIMIT 5";
|
||||
$result = $conn->query($sql);
|
||||
$recentTransactions = [];
|
||||
while ($row = $result->fetch_assoc()) {
|
||||
$recentTransactions[] = $row;
|
||||
}
|
||||
|
||||
// Abfrage für die letzten Benutzer
|
||||
$sql = "SELECT PrincipalID, FirstName, LastName, Created FROM UserAccounts ORDER BY Created DESC LIMIT 5";
|
||||
$result = $conn->query($sql);
|
||||
$recentUsers = [];
|
||||
while ($row = $result->fetch_assoc()) {
|
||||
$recentUsers[] = $row;
|
||||
}
|
||||
|
||||
// Abfrage für die Gesamtsumme der Transaktionen
|
||||
$sql = "SELECT SUM(amount) as total_amount FROM transactions";
|
||||
$result = $conn->query($sql);
|
||||
$row = $result->fetch_assoc();
|
||||
$totalTransactions = $row['total_amount'];
|
||||
|
||||
// Abfrage für die Regionen mit den meisten Besuchern
|
||||
$sql = "SELECT RegionID, COUNT(*) as visit_count FROM Presence GROUP BY RegionID ORDER BY visit_count DESC LIMIT 5";
|
||||
$result = $conn->query($sql);
|
||||
$topRegions = [];
|
||||
while ($row = $result->fetch_assoc()) {
|
||||
$topRegions[] = $row;
|
||||
}
|
||||
|
||||
// Abfrage für die letzten Benutzeraktivitäten
|
||||
$sql = "SELECT UserID, LastSeen FROM Presence ORDER BY LastSeen DESC LIMIT 5";
|
||||
$result = $conn->query($sql);
|
||||
$recentActivities = [];
|
||||
while ($row = $result->fetch_assoc()) {
|
||||
$recentActivities[] = $row;
|
||||
}
|
||||
|
||||
// Verbindung schließen
|
||||
$conn->close();
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title><?php echo SITE_NAME; ?> Analytics</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<style>
|
||||
html,body,h1,h2,h3,h4,h5 {font-family: "Raleway", sans-serif}
|
||||
</style>
|
||||
</head>
|
||||
<body class="w3-light-grey">
|
||||
|
||||
<!-- Top container -->
|
||||
<div class="w3-bar w3-top w3-black w3-large" style="z-index:4">
|
||||
<button class="w3-bar-item w3-button w3-hide-large w3-hover-none w3-hover-text-light-grey" onclick="w3_open();"><i class="fa fa-bars"></i> Menu</button>
|
||||
<span class="w3-bar-item w3-right"><?php echo SITE_NAME; ?> Analytics</span>
|
||||
</div>
|
||||
|
||||
<!-- Sidebar/menu -->
|
||||
<nav class="w3-sidebar w3-collapse w3-white w3-animate-left" style="z-index:3;width:300px;" id="mySidebar"><br>
|
||||
<div class="w3-container w3-row">
|
||||
<div class="w3-col s4">
|
||||
<class="fa fa-user w3-xxxlarge w3-circle w3-margin-right" style="width:46px">
|
||||
</div>
|
||||
<div class="w3-col s8 w3-bar">
|
||||
<span>Welcome, <strong>Admin</strong></span><br>
|
||||
<a href="#" class="w3-bar-item w3-button"><i class="fa fa-envelope"></i></a>
|
||||
<a href="#" class="w3-bar-item w3-button"><i class="fa fa-user"></i></a>
|
||||
<a href="#" class="w3-bar-item w3-button"><i class="fa fa-cog"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="w3-container">
|
||||
<h5>Dashboard</h5>
|
||||
</div>
|
||||
<div class="w3-col s4">
|
||||
<a href="#" class="w3-bar-item w3-button w3-padding-16 w3-hide-large w3-dark-grey w3-hover-black" onclick="w3_close()" title="close menu"><i class="fa fa-remove fa-fw"></i> Close Menu</a>
|
||||
<a href="#" class="w3-bar-item w3-button w3-padding w3-blue"><i class="fa fa-users fa-fw"></i> Overview</a>
|
||||
<!-- todo: Regionsliste mit Link hier $regionslink = "secondlife://$region/128/128/23"; -->
|
||||
<br><br>
|
||||
<?php
|
||||
$con = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
|
||||
$sql = "SELECT regionName, serverIP, serverPort FROM regions ORDER BY last_seen DESC LIMIT 10";
|
||||
$resultregions = mysqli_query($con, $sql);
|
||||
|
||||
while ($dsatz = mysqli_fetch_assoc($resultregions)) {
|
||||
$region = htmlspecialchars($dsatz["regionName"]);
|
||||
$ip = htmlspecialchars($dsatz["serverIP"]);
|
||||
$port = htmlspecialchars($dsatz["serverPort"]);
|
||||
|
||||
// Standard-Koordinaten für den Teleport-Link (X=128, Y=128, Z=23)
|
||||
// Alle Möglichkeiten:
|
||||
$regionslink1 = "$region";
|
||||
$regionslink2 = "hop://openmanniland.de:8002/$region/128/128/23";
|
||||
$regionslink3 = "secondlife://http|!!openmanniland.de|8002+$region";
|
||||
$regionslink4 = "secondlife://openmanniland.de:8002/$region/128/128/23";
|
||||
$regionslink5 = "secondlife://$region/128/128/23"; // Dies funktioniert beim Firestorm und beim Firefox.
|
||||
$regionslink6 = "openmanniland.de:8002:$region";
|
||||
|
||||
$regionslink = $regionslink5;
|
||||
|
||||
echo "<br><a class='region-link' href='$regionslink' target='_blank'><i class='fa fa-globe' style='font-size:24px'></i>$region</a><br>"; // <br> fas fa-globe
|
||||
}
|
||||
|
||||
mysqli_close($con);
|
||||
?>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Overlay effect when opening sidebar on small screens -->
|
||||
<div class="w3-overlay w3-hide-large w3-animate-opacity" onclick="w3_close()" style="cursor:pointer" title="close side menu" id="myOverlay"></div>
|
||||
|
||||
<!-- !PAGE CONTENT! -->
|
||||
<div class="w3-main" style="margin-left:300px;margin-top:43px;">
|
||||
|
||||
<!-- Header -->
|
||||
<header class="w3-container" style="padding-top:22px">
|
||||
<h5><b><i class="fa fa-dashboard"></i> My Dashboard</b></h5>
|
||||
</header>
|
||||
|
||||
<div class="w3-row-padding w3-margin-bottom">
|
||||
<div class="w3-quarter">
|
||||
<div class="w3-container w3-red w3-padding-16">
|
||||
<div class="w3-left"><i class="fa fa-users w3-xxxlarge"></i></div>
|
||||
<div class="w3-right">
|
||||
<h3><?php echo $totalUsers; ?></h3>
|
||||
</div>
|
||||
<div class="w3-clear"></div>
|
||||
<h4>Total Users</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<div class="w3-container w3-blue w3-padding-16">
|
||||
<div class="w3-left"><i class="fa fa-globe w3-xxxlarge"></i></div>
|
||||
<div class="w3-right">
|
||||
<h3><?php echo $totalRegions; ?></h3>
|
||||
</div>
|
||||
<div class="w3-clear"></div>
|
||||
<h4>Total Regions</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<div class="w3-container w3-teal w3-padding-16">
|
||||
<div class="w3-left"><i class="fa fa-user w3-xxxlarge"></i></div>
|
||||
<div class="w3-right">
|
||||
<h3><?php echo $onlineUsers; ?></h3>
|
||||
</div>
|
||||
<div class="w3-clear"></div>
|
||||
<h4>Online Users</h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-quarter">
|
||||
<div class="w3-container w3-orange w3-text-white w3-padding-16">
|
||||
<div class="w3-left"><i class="fa fa-money w3-xxxlarge"></i></div>
|
||||
<div class="w3-right">
|
||||
<h3><?php echo $totalTransactions; ?></h3>
|
||||
</div>
|
||||
<div class="w3-clear"></div>
|
||||
<h4>Total Transactions</h4>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Recent Transactions -->
|
||||
<div class="w3-container">
|
||||
<h5>Recent Transactions</h5>
|
||||
<table class="w3-table w3-striped w3-white">
|
||||
<?php foreach ($recentTransactions as $transaction): ?>
|
||||
<tr>
|
||||
<td><i class="fa fa-exchange w3-text-blue w3-large"></i></td>
|
||||
<td><?php echo $transaction['sender']; ?> → <?php echo $transaction['receiver']; ?></td>
|
||||
<td><?php echo $transaction['amount']; ?></td>
|
||||
<td><i><?php echo date('Y-m-d H:i:s', $transaction['time']); ?></i></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Recent Users -->
|
||||
<div class="w3-container">
|
||||
<h5>Recent Users</h5>
|
||||
<ul class="w3-table w3-white">
|
||||
<?php foreach ($recentUsers as $user): ?>
|
||||
<li class="w3-table w3-striped w3-white">
|
||||
<i class="fa fa-user fa-fw w3-xlarge"></i><class="w3-left w3-circle w3-margin-right" style="width:35px">
|
||||
<span class="w3-xlarge"><?php echo $user['FirstName'] . ' ' . $user['LastName']; ?></span><br>
|
||||
<span class="w3-opacity"><?php echo date('Y-m-d H:i:s', $user['Created']); ?></span>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<p>New Visitors</p>
|
||||
<div class="w3-grey">
|
||||
<div class="w3-container w3-center w3-padding w3-green" style="width:25%">+25%</div>
|
||||
</div>
|
||||
|
||||
<p>New Users</p>
|
||||
<div class="w3-grey">
|
||||
<div class="w3-container w3-center w3-padding w3-orange" style="width:50%">50%</div>
|
||||
</div>
|
||||
|
||||
<p>Bounce Rate</p>
|
||||
<div class="w3-grey">
|
||||
<div class="w3-container w3-center w3-padding w3-red" style="width:45%">45%</div>
|
||||
</div>
|
||||
|
||||
<!-- Top Regions -->
|
||||
<div class="w3-container">
|
||||
<h5>Top Regions by Visitors</h5>
|
||||
<table class="w3-table w3-striped w3-white">
|
||||
<?php foreach ($topRegions as $region): ?>
|
||||
<tr>
|
||||
<td><i class="fa fa-globe w3-text-green w3-large"></i></td>
|
||||
<td><?php echo $region['RegionID']; ?></td>
|
||||
<td><?php echo $region['visit_count']; ?> visits</td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- Recent Activities -->
|
||||
<div class="w3-container">
|
||||
<h5>Recent User Activities</h5>
|
||||
<table class="w3-table w3-striped w3-white">
|
||||
<?php foreach ($recentActivities as $activity): ?>
|
||||
<tr>
|
||||
<td><i class="fa fa-user w3-text-blue w3-large"></i></td>
|
||||
<td><?php echo $activity['UserID']; ?></td>
|
||||
<td><?php echo date('Y-m-d H:i:s', strtotime($activity['LastSeen'])); ?></td>
|
||||
</tr>
|
||||
<?php endforeach; ?>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<!-- End page content -->
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// JavaScript für die Sidebar
|
||||
var mySidebar = document.getElementById("mySidebar");
|
||||
var overlayBg = document.getElementById("myOverlay");
|
||||
|
||||
function w3_open() {
|
||||
if (mySidebar.style.display === 'block') {
|
||||
mySidebar.style.display = 'none';
|
||||
overlayBg.style.display = "none";
|
||||
} else {
|
||||
mySidebar.style.display = 'block';
|
||||
overlayBg.style.display = "block";
|
||||
}
|
||||
}
|
||||
|
||||
function w3_close() {
|
||||
mySidebar.style.display = "none";
|
||||
overlayBg.style.display = "none";
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,286 @@
|
||||
<?php
|
||||
require_once 'include/config.php';
|
||||
$baseadress = SITE_NAME;
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title><?php echo $baseadress; ?> Marketing</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<style>
|
||||
html,body,h1,h2,h3,h4 {font-family:"Lato", sans-serif}
|
||||
.mySlides {display:none}
|
||||
.w3-tag, .fa {cursor:pointer}
|
||||
.w3-tag {height:15px;width:15px;padding:0;margin-top:6px}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<!-- Links (sit on top) -->
|
||||
<div class="w3-top">
|
||||
<div class="w3-row w3-large w3-blue">
|
||||
<div class="w3-col s3">
|
||||
<a href="#" class="w3-button w3-block">Home</a>
|
||||
</div>
|
||||
<div class="w3-col s3">
|
||||
<a href="#plans" class="w3-button w3-block">Plans</a>
|
||||
</div>
|
||||
<div class="w3-col s3">
|
||||
<a href="#about" class="w3-button w3-block">About</a>
|
||||
</div>
|
||||
<div class="w3-col s3">
|
||||
<a href="#contact" class="w3-button w3-block">Contact</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content -->
|
||||
<div class="w3-content" style="max-width:1100px;margin-top:80px;margin-bottom:80px">
|
||||
|
||||
<div class="w3-panel">
|
||||
<h1><b><?php echo $baseadress; ?> MARKETING</b></h1>
|
||||
<p>Welcome to <?php echo $baseadress; ?> Marketing</p>
|
||||
</div>
|
||||
|
||||
<!-- Slideshow -->
|
||||
<div class="w3-container">
|
||||
<div class="w3-display-container mySlides">
|
||||
<img src="images/001.jpg" style="width:100%">
|
||||
<div class="w3-display-topleft w3-container w3-padding-32">
|
||||
<span class="w3-white w3-padding-large w3-animate-bottom">Ihr könnt ein ganzes Anwesen haben.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-display-container mySlides">
|
||||
<img src="images/002.jpg" style="width:100%">
|
||||
<div class="w3-display-middle w3-container w3-padding-32">
|
||||
<span class="w3-white w3-padding-large w3-animate-bottom">Ihr könnt ein Grundstück haben.</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="w3-display-container mySlides">
|
||||
<img src="images/003.jpg" style="width:100%">
|
||||
<div class="w3-display-topright w3-container w3-padding-32">
|
||||
<span class="w3-white w3-padding-large w3-animate-bottom">Ihr könnt eure Regionen anbinden.</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Slideshow next/previous buttons -->
|
||||
<div class="w3-container w3-dark-grey w3-padding w3-xlarge">
|
||||
<div class="w3-left" onclick="plusDivs(-1)"><i class="fa fa-arrow-circle-left w3-hover-text-teal"></i></div>
|
||||
<div class="w3-right" onclick="plusDivs(1)"><i class="fa fa-arrow-circle-right w3-hover-text-teal"></i></div>
|
||||
|
||||
<div class="w3-center">
|
||||
<span class="w3-tag demodots w3-border w3-transparent w3-hover-white" onclick="currentDiv(1)"></span>
|
||||
<span class="w3-tag demodots w3-border w3-transparent w3-hover-white" onclick="currentDiv(2)"></span>
|
||||
<span class="w3-tag demodots w3-border w3-transparent w3-hover-white" onclick="currentDiv(3)"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Grid -->
|
||||
<div class="w3-row w3-container">
|
||||
<div class="w3-center w3-padding-64">
|
||||
<span class="w3-xlarge w3-bottombar w3-border-dark-grey w3-padding-16">What We Offer</span>
|
||||
</div>
|
||||
<div class="w3-col l3 m6 w3-light-grey w3-container w3-padding-16">
|
||||
<h3>Design</h3>
|
||||
<p>Phasellus eget enim eu lectus faucibus vestibulum. Suspendisse sodales pellentesque elementum.</p>
|
||||
</div>
|
||||
|
||||
<div class="w3-col l3 m6 w3-grey w3-container w3-padding-16">
|
||||
<h3>Branding</h3>
|
||||
<p>Phasellus eget enim eu lectus faucibus vestibulum. Suspendisse sodales pellentesque elementum.</p>
|
||||
</div>
|
||||
|
||||
<div class="w3-col l3 m6 w3-dark-grey w3-container w3-padding-16">
|
||||
<h3>Consultation</h3>
|
||||
<p>Phasellus eget enim eu lectus faucibus vestibulum. Suspendisse sodales pellentesque elementum.</p>
|
||||
</div>
|
||||
|
||||
<div class="w3-col l3 m6 w3-black w3-container w3-padding-16">
|
||||
<h3>Promises</h3>
|
||||
<p>Phasellus eget enim eu lectus faucibus vestibulum. Suspendisse sodales pellentesque elementum.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Grid -->
|
||||
<div class="w3-row-padding" id="plans">
|
||||
<div class="w3-center w3-padding-64">
|
||||
<h3>Pricing Plans</h3>
|
||||
<p>Choose a pricing plan that fits your needs.</p>
|
||||
</div>
|
||||
|
||||
<div class="w3-third w3-margin-bottom">
|
||||
<ul class="w3-ul w3-border w3-center w3-hover-shadow">
|
||||
<li class="w3-black w3-xlarge w3-padding-32">Grundstück</li>
|
||||
<li class="w3-padding-16"><b>1GB</b> Storage</li>
|
||||
<li class="w3-padding-16"><b>100</b> Prims</li>
|
||||
<li class="w3-padding-16"><b>10</b> Mesh</li>
|
||||
<li class="w3-padding-16"><b>Endless</b> Support</li>
|
||||
<li class="w3-padding-16">
|
||||
<h2 class="w3-wide">$ 10</h2>
|
||||
<span class="w3-opacity">per month</span>
|
||||
</li>
|
||||
<li class="w3-light-grey w3-padding-24">
|
||||
<button class="w3-button w3-green w3-padding-large">Sign Up</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="w3-third w3-margin-bottom">
|
||||
<ul class="w3-ul w3-border w3-center w3-hover-shadow">
|
||||
<li class="w3-dark-grey w3-xlarge w3-padding-32">Region</li>
|
||||
<li class="w3-padding-16"><b>5GB</b> Storage</li>
|
||||
<li class="w3-padding-16"><b>25000</b> Prims</li>
|
||||
<li class="w3-padding-16"><b>250</b> Mesh</li>
|
||||
<li class="w3-padding-16"><b>Endless</b> Support</li>
|
||||
<li class="w3-padding-16">
|
||||
<h2 class="w3-wide">$ 25</h2>
|
||||
<span class="w3-opacity">per month</span>
|
||||
</li>
|
||||
<li class="w3-light-grey w3-padding-24">
|
||||
<button class="w3-button w3-green w3-padding-large">Sign Up</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="w3-third w3-margin-bottom">
|
||||
<ul class="w3-ul w3-border w3-center w3-hover-shadow">
|
||||
<li class="w3-black w3-xlarge w3-padding-32">Anbinden</li>
|
||||
<li class="w3-padding-16"><b>50GB</b> Storage</li>
|
||||
<li class="w3-padding-16"><b>50000</b> Prims</li>
|
||||
<li class="w3-padding-16"><b>500</b> Mesh</li>
|
||||
<li class="w3-padding-16"><b>Endless</b> Support</li>
|
||||
<li class="w3-padding-16">
|
||||
<h2 class="w3-wide">$ 50</h2>
|
||||
<span class="w3-opacity">per month</span>
|
||||
</li>
|
||||
<li class="w3-light-grey w3-padding-24">
|
||||
<button class="w3-button w3-green w3-padding-large">Sign Up</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Grid -->
|
||||
<div class="w3-row-padding" id="about">
|
||||
<div class="w3-center w3-padding-64">
|
||||
<span class="w3-xlarge w3-bottombar w3-border-dark-grey w3-padding-16">Who We Are</span>
|
||||
</div>
|
||||
|
||||
<div class="w3-third w3-margin-bottom">
|
||||
<div class="w3-card-4">
|
||||
<img src="include/Unknown_person.jpg" alt="John" style="width:100%">
|
||||
<div class="w3-container">
|
||||
<h3>Jane Doe</h3>
|
||||
<p class="w3-opacity">CEO & Founder</p>
|
||||
<p>Phasellus eget enim eu lectus faucibus vestibulum. Suspendisse sodales pellentesque elementum.</p>
|
||||
<p><button class="w3-button w3-light-grey w3-block">Contact</button></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w3-third w3-margin-bottom">
|
||||
<div class="w3-card-4">
|
||||
<img src="include/Unknown_person.jpg" alt="Mike" style="width:100%">
|
||||
<div class="w3-container">
|
||||
<h3>Mike Ross</h3>
|
||||
<p class="w3-opacity">Art Director</p>
|
||||
<p>Phasellus eget enim eu lectus faucibus vestibulum. Suspendisse sodales pellentesque elementum.</p>
|
||||
<p><button class="w3-button w3-light-grey w3-block">Contact</button></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="w3-third w3-margin-bottom">
|
||||
<div class="w3-card-4">
|
||||
<img src="include/Unknown_person.jpg" alt="Jane" style="width:100%">
|
||||
<div class="w3-container">
|
||||
<h3>John Doe</h3>
|
||||
<p class="w3-opacity">Designer</p>
|
||||
<p>Phasellus eget enim eu lectus faucibus vestibulum. Suspendisse sodales pellentesque elementum.</p>
|
||||
<p><button class="w3-button w3-light-grey w3-block">Contact</button></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Contact -->
|
||||
<div class="w3-center w3-padding-64" id="contact">
|
||||
<span class="w3-xlarge w3-bottombar w3-border-dark-grey w3-padding-16">Contact Us</span>
|
||||
</div>
|
||||
|
||||
<form class="w3-container" action="/action_page.php" target="_blank">
|
||||
<div class="w3-section">
|
||||
<label>Name</label>
|
||||
<input class="w3-input w3-border w3-hover-border-black" style="width:100%;" type="text" name="Name" required>
|
||||
</div>
|
||||
<div class="w3-section">
|
||||
<label>Email</label>
|
||||
<input class="w3-input w3-border w3-hover-border-black" style="width:100%;" type="text" name="Email" required>
|
||||
</div>
|
||||
<div class="w3-section">
|
||||
<label>Subject</label>
|
||||
<input class="w3-input w3-border w3-hover-border-black" style="width:100%;" name="Subject" required>
|
||||
</div>
|
||||
<div class="w3-section">
|
||||
<label>Message</label>
|
||||
<input class="w3-input w3-border w3-hover-border-black" style="width:100%;" name="Message" required>
|
||||
</div>
|
||||
<button type="submit" class="w3-button w3-block w3-black">Send</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
|
||||
<footer class="w3-container w3-padding-32 w3-light-grey w3-center">
|
||||
<h4>Footer</h4>
|
||||
<a href="#" class="w3-button w3-black w3-margin"><i class="fa fa-arrow-up w3-margin-right"></i>To the top</a>
|
||||
<div class="w3-xlarge w3-section">
|
||||
<i class="fa fa-facebook-official w3-hover-opacity"></i>
|
||||
<i class="fa fa-instagram w3-hover-opacity"></i>
|
||||
<i class="fa fa-snapchat w3-hover-opacity"></i>
|
||||
<i class="fa fa-pinterest-p w3-hover-opacity"></i>
|
||||
<i class="fa fa-twitter w3-hover-opacity"></i>
|
||||
<i class="fa fa-linkedin w3-hover-opacity"></i>
|
||||
</div>
|
||||
<p>Powered by <a href="https://www.w3schools.com/w3css/default.asp" title="W3.CSS" target="_blank" class="w3-hover-text-green">w3.css</a></p>
|
||||
</footer>
|
||||
|
||||
|
||||
<script>
|
||||
// Slideshow
|
||||
var slideIndex = 1;
|
||||
showDivs(slideIndex);
|
||||
|
||||
function plusDivs(n) {
|
||||
showDivs(slideIndex += n);
|
||||
}
|
||||
|
||||
function currentDiv(n) {
|
||||
showDivs(slideIndex = n);
|
||||
}
|
||||
|
||||
function showDivs(n) {
|
||||
var i;
|
||||
var x = document.getElementsByClassName("mySlides");
|
||||
var dots = document.getElementsByClassName("demodots");
|
||||
if (n > x.length) {slideIndex = 1}
|
||||
if (n < 1) {slideIndex = x.length} ;
|
||||
for (i = 0; i < x.length; i++) {
|
||||
x[i].style.display = "none";
|
||||
}
|
||||
for (i = 0; i < dots.length; i++) {
|
||||
dots[i].className = dots[i].className.replace(" w3-white", "");
|
||||
}
|
||||
x[slideIndex-1].style.display = "block";
|
||||
dots[slideIndex-1].className += " w3-white";
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,2 @@
|
||||
# Testseiten
|
||||
Die gewünschte Seite in das Hauptverzeichnis kopieren und nach Wunsch umgestalten.
|
||||
@@ -0,0 +1,280 @@
|
||||
<?php
|
||||
require_once 'include/config.php';
|
||||
$baseadress = SITE_NAME;
|
||||
|
||||
// Bilder aus dem Verzeichnis 'images' laden
|
||||
$imageDir = 'images/';
|
||||
$allowedExtensions = ['jpg', 'jpeg', 'png', 'gif'];
|
||||
$images = [];
|
||||
|
||||
if (is_dir($imageDir)) {
|
||||
$files = scandir($imageDir);
|
||||
foreach ($files as $file) {
|
||||
$extension = strtolower(pathinfo($file, PATHINFO_EXTENSION));
|
||||
if (in_array($extension, $allowedExtensions)) {
|
||||
$images[] = $imageDir . $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 5 zufällige Bilder auswählen
|
||||
$randomImages = [];
|
||||
if (count($images) > 0) {
|
||||
$randomKeys = array_rand($images, min(5, count($images)));
|
||||
if (is_array($randomKeys)) {
|
||||
foreach ($randomKeys as $key) {
|
||||
$randomImages[] = $images[$key];
|
||||
}
|
||||
} else {
|
||||
$randomImages[] = $images[$randomKeys];
|
||||
}
|
||||
}
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title><?php echo $baseadress; ?> Travel</title>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
|
||||
<style>
|
||||
body,h1,h2,h3,h4,h5,h6 {font-family: "Raleway", Arial, Helvetica, sans-serif}
|
||||
.myLink {display: none}
|
||||
.gridsearch-container {
|
||||
position: absolute;
|
||||
left: 5%;
|
||||
top: 50px;
|
||||
transform: translateX(-80%);
|
||||
width: 30%;
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
padding: 16px;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body class="w3-light-grey">
|
||||
|
||||
<!-- Navigation Bar -->
|
||||
<div class="w3-bar w3-white w3-border-bottom w3-xlarge">
|
||||
<a href="#" class="w3-bar-item w3-button w3-text-blue w3-hover-blue"><b><i class="fa fa-desktop w3-margin-right"></i><?php echo $baseadress; ?> Travel</b></a>
|
||||
<a href="#" class="w3-bar-item w3-button w3-right w3-hover-blue w3-text-grey"><i class="fa fa-search"></i></a>
|
||||
</div>
|
||||
|
||||
<!-- Header -->
|
||||
<header class="w3-display-container w3-content w3-hide-small" style="max-width:1500px">
|
||||
<div class="gridsearch-container">
|
||||
<div class="w3-bar w3-black">
|
||||
<button class="w3-bar-item w3-button tablink" onclick="openLink(event, 'Gridsuche');"><i class="fa fa-search w3-margin-right"></i>Gridsuche</button>
|
||||
<button class="w3-bar-item w3-button tablink" onclick="openLink(event, 'Network');"><i class="fa fa-globe w3-margin-right"></i>Network</button>
|
||||
<button class="w3-bar-item w3-button tablink" onclick="openLink(event, 'Storage');"><i class="fa fa-hdd-o w3-margin-right"></i>Storage</button>
|
||||
</div>
|
||||
|
||||
<!-- Tabs -->
|
||||
<div id="Gridsuche" class="w3-container w3-leftalign w3-white w3-padding-16 myLink">
|
||||
<h3>Gridsuche</h3>
|
||||
<div class="w3-row-padding" style="margin:0 -16px;">
|
||||
<div class="w3-half">
|
||||
<label>Gridname</label>
|
||||
<input class="w3-input w3-border" type="text" placeholder="Gridname" id="gridname" oninput="searchGrid()">
|
||||
</div>
|
||||
<div class="w3-half">
|
||||
<label>Gridlink</label>
|
||||
<input class="w3-input w3-border" type="text" placeholder="Gridlink" id="gridlink" oninput="searchGrid()">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="Network" class="w3-container w3-white w3-padding-16 myLink">
|
||||
<h3>Network Settings</h3>
|
||||
<p>Configure your network settings here.</p>
|
||||
<p><button class="w3-button w3-dark-grey">Configure Network</button></p>
|
||||
</div>
|
||||
|
||||
<div id="Storage" class="w3-container w3-white w3-padding-16 myLink">
|
||||
<h3>Storage Management</h3>
|
||||
<p>Manage your storage devices and partitions.</p>
|
||||
<p><button class="w3-button w3-dark-grey">Manage Storage</button></p>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Page content -->
|
||||
<div class="w3-content" style="max-width:1100px;">
|
||||
|
||||
<!-- Empfohlene Grids -->
|
||||
<div class="w3-container w3-margin-top">
|
||||
<h3>Grids</h3>
|
||||
<h6>Eine Auswahl von Grids:</h6>
|
||||
<div class="w3-responsive">
|
||||
<table class="w3-table w3-striped w3-bordered">
|
||||
<thead>
|
||||
<tr class="w3-blue">
|
||||
<th>Gridname</th>
|
||||
<th>Gridlink</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="gridlist">
|
||||
<!-- Gridliste wird hier dynamisch eingefügt -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Zufällige Bilder -->
|
||||
<div class="w3-container">
|
||||
<h3>Bilder</h3>
|
||||
<div class="w3-row-padding">
|
||||
<div id="randomImages" class="w3-row-padding">
|
||||
<?php
|
||||
if (count($randomImages) > 0) {
|
||||
foreach ($randomImages as $image) {
|
||||
echo '<div class="w3-half w3-margin-bottom">';
|
||||
echo '<img src="' . $image . '" alt="Random Image" style="width:100%">';
|
||||
echo '</div>';
|
||||
}
|
||||
} else {
|
||||
echo '<p>Keine Bilder gefunden.</p>';
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Kalender -->
|
||||
<div class="w3-container">
|
||||
<h3>Nächste Termine</h3>
|
||||
<div id="calendarEvents">
|
||||
<!-- Kalendertermine werden hier dynamisch eingefügt -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- TOS and DMCA -->
|
||||
<div class="w3-container">
|
||||
<h3>Legal</h3>
|
||||
<p><a href="include/tos.php">Terms of Service</a> | <a href="include/dmca.php">DMCA</a></p>
|
||||
</div>
|
||||
|
||||
<!-- End page content -->
|
||||
</div>
|
||||
|
||||
<!-- Footer -->
|
||||
<footer class="w3-container w3-center w3-opacity w3-margin-bottom">
|
||||
<h5>Find Us On</h5>
|
||||
<div class="w3-xlarge w3-padding-16">
|
||||
<i class="fa fa-facebook-official w3-hover-opacity"></i>
|
||||
<i class="fa fa-instagram w3-hover-opacity"></i>
|
||||
<i class="fa fa-snapchat w3-hover-opacity"></i>
|
||||
<i class="fa fa-pinterest-p w3-hover-opacity"></i>
|
||||
<i class="fa fa-twitter w3-hover-opacity"></i>
|
||||
<i class="fa fa-linkedin w3-hover-opacity"></i>
|
||||
</div>
|
||||
<p>Powered by <a href="https://www.w3schools.com/w3css/default.asp" target="_blank" class="w3-hover-text-green">w3.css</a></p>
|
||||
</footer>
|
||||
|
||||
<script>
|
||||
// Tabs
|
||||
function openLink(evt, linkName) {
|
||||
var i, x, tablinks;
|
||||
x = document.getElementsByClassName("myLink");
|
||||
for (i = 0; i < x.length; i++) {
|
||||
x[i].style.display = "none";
|
||||
}
|
||||
tablinks = document.getElementsByClassName("tablink");
|
||||
for (i = 0; i < x.length; i++) {
|
||||
tablinks[i].className = tablinks[i].className.replace(" w3-blue", "");
|
||||
}
|
||||
document.getElementById(linkName).style.display = "block";
|
||||
evt.currentTarget.className += " w3-blue";
|
||||
}
|
||||
|
||||
// Zufällige Auswahl von Grids
|
||||
function getRandomGrids(grids, count) {
|
||||
const shuffled = grids.sort(() => 0.5 - Math.random());
|
||||
return shuffled.slice(0, count);
|
||||
}
|
||||
|
||||
// Gridliste laden
|
||||
function loadGridList() {
|
||||
fetch('include/gridlist.csv')
|
||||
.then(response => response.text())
|
||||
.then(data => {
|
||||
const rows = data.split('\n').filter(row => row.trim() !== '');
|
||||
const randomGrids = getRandomGrids(rows, 5); // 5 zufällige Grids auswählen
|
||||
const gridlist = document.getElementById('gridlist');
|
||||
gridlist.innerHTML = ''; // Vorhandene Einträge löschen
|
||||
|
||||
randomGrids.forEach(row => {
|
||||
const [gridname, gridlink] = row.split(',');
|
||||
if (gridname && gridlink) {
|
||||
const tr = document.createElement('tr');
|
||||
tr.innerHTML = `<td>${gridname}</td><td>${gridlink}</td>`;
|
||||
gridlist.appendChild(tr);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(error => console.error('Fehler beim Laden der Gridliste:', error));
|
||||
}
|
||||
|
||||
// Gridsuche
|
||||
function searchGrid() {
|
||||
const gridname = document.getElementById('gridname').value.toLowerCase();
|
||||
const gridlink = document.getElementById('gridlink').value.toLowerCase();
|
||||
const rows = document.querySelectorAll('#gridlist tr');
|
||||
|
||||
rows.forEach(row => {
|
||||
const name = row.cells[0].textContent.toLowerCase();
|
||||
const link = row.cells[1].textContent.toLowerCase();
|
||||
if (name.includes(gridname) && link.includes(gridlink)) {
|
||||
row.style.display = '';
|
||||
} else {
|
||||
row.style.display = 'none';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Kalendertermine laden
|
||||
function loadCalendarEvents() {
|
||||
fetch('calendar/events.json')
|
||||
.then(response => response.json())
|
||||
.then(events => {
|
||||
const now = new Date();
|
||||
const upcomingEvents = events
|
||||
.filter(event => new Date(event.date) >= now) // Nur zukünftige Termine
|
||||
.sort((a, b) => new Date(a.date) - new Date(b.date)) // Nach Datum sortieren
|
||||
.slice(0, 5); // Nur die nächsten 5 Termine
|
||||
|
||||
const calendarContainer = document.getElementById('calendarEvents');
|
||||
calendarContainer.innerHTML = ''; // Vorhandene Termine löschen
|
||||
|
||||
upcomingEvents.forEach(event => {
|
||||
const div = document.createElement('div');
|
||||
div.className = 'w3-panel w3-border';
|
||||
div.style.backgroundColor = event.color;
|
||||
div.style.color = event.txtcolor;
|
||||
div.innerHTML = `
|
||||
<img src="${event.image}" alt="Event Image" style="width:100%">
|
||||
<h4>${event.texts[0]}</h4>
|
||||
<p>${event.texts[1]}</p>
|
||||
<p>${event.texts[2]}</p>
|
||||
<p>${event.texts[3]}</p>
|
||||
<p>${event.texts[4]}</p>
|
||||
<a href="${event.link}">More Info</a>
|
||||
`;
|
||||
calendarContainer.appendChild(div);
|
||||
});
|
||||
})
|
||||
.catch(error => console.error('Fehler beim Laden der Kalendertermine:', error));
|
||||
}
|
||||
|
||||
// Beim Laden der Seite die Inhalte laden
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
loadGridList();
|
||||
loadCalendarEvents();
|
||||
document.getElementsByClassName("tablink")[0].click();
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 260 KiB |
|
After Width: | Height: | Size: 257 KiB |
|
After Width: | Height: | Size: 303 KiB |
|
After Width: | Height: | Size: 161 KiB |
|
After Width: | Height: | Size: 264 KiB |
|
After Width: | Height: | Size: 208 KiB |
|
After Width: | Height: | Size: 239 KiB |
|
After Width: | Height: | Size: 349 KiB |
|
After Width: | Height: | Size: 249 KiB |
|
After Width: | Height: | Size: 178 KiB |
|
After Width: | Height: | Size: 321 KiB |
|
After Width: | Height: | Size: 223 KiB |
|
After Width: | Height: | Size: 210 KiB |
|
After Width: | Height: | Size: 261 KiB |
|
After Width: | Height: | Size: 201 KiB |
|
After Width: | Height: | Size: 227 KiB |
|
After Width: | Height: | Size: 200 KiB |
|
After Width: | Height: | Size: 228 KiB |
|
After Width: | Height: | Size: 192 KiB |
|
After Width: | Height: | Size: 277 KiB |
|
After Width: | Height: | Size: 314 KiB |
@@ -0,0 +1,254 @@
|
||||
[
|
||||
{
|
||||
"date": "2025-01-01",
|
||||
"image": "calendar/NeujahrKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Neujahr",
|
||||
"01.01.2025",
|
||||
"bundesweit"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Neujahr",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-01-06",
|
||||
"image": "calendar/HDKKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Heilige Drei Könige",
|
||||
"06.01.2025",
|
||||
"Baden-Württemberg, Bayern, Sachsen-Anhalt"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Heilige_Drei_K%C3%B6nige",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-03-08",
|
||||
"image": "calendar/FrauentagKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Internationaler Frauentag",
|
||||
"08.03.2025",
|
||||
"Berlin, Mecklenburg-Vorpommern"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Internationaler_Frauentag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-04-18",
|
||||
"image": "calendar/KarfreitagKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Karfreitag",
|
||||
"18.04.2025",
|
||||
"bundesweit"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Karfreitag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-04-20",
|
||||
"image": "calendar/OstersonntagKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Ostersonntag",
|
||||
"20.04.2025",
|
||||
"Brandenburg (Einzig das Land Brandenburg behandelt den Ostersonntag explizit als gesetzlichen Feiertag.)"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Ostersonntag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-04-21",
|
||||
"image": "calendar/KalenderbildOstermontag.jpg",
|
||||
"texts": [
|
||||
"Ostermontag",
|
||||
"21.04.2025",
|
||||
"bundesweit"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Ostermontag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-05-01",
|
||||
"image": "calendar/TagderArbeitKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Tag der Arbeit",
|
||||
"01.05.2025",
|
||||
"bundesweit"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Tag_der_Arbeit",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-05-08",
|
||||
"image": "calendar/WeltkriegKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Jahrestag der Befreiung vom Nationalsozialismus und Ende des Zweiten Weltkriegs",
|
||||
"08.05.2025",
|
||||
"Berlin (nur 2025)"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Ende_des_Zweiten_Weltkriegs",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-05-29",
|
||||
"image": "calendar/KalenderbildHimmelfahrt.jpg",
|
||||
"texts": [
|
||||
"Christi Himmelfahrt",
|
||||
"29.05.2025",
|
||||
"bundesweit"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Christi_Himmelfahrt",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-06-08",
|
||||
"image": "calendar/PfingstsonntagKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Pfingstsonntag",
|
||||
"08.06.2025",
|
||||
"Brandenburg (Einzig das Land Brandenburg behandelt den Pfingstsonntag explizit als gesetzlichen Feiertag.)"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Pfingstsonntag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-06-09",
|
||||
"image": "calendar/PfingstmontagKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Pfingstmontag",
|
||||
"09.06.2025",
|
||||
"bundesweit"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Pfingstmontag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-06-19",
|
||||
"image": "calendar/FronleichnamKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Fronleichnam",
|
||||
"19.06.2025",
|
||||
"Baden-Württemberg, Bayern, Hessen, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland, In Sachsen nur teilweise.*, In Thüringen nur teilweise.**"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Fronleichnam",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-08-08",
|
||||
"image": "calendar/AugsburgerFriedenKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Augsburger Friedensfest",
|
||||
"08.08.2025",
|
||||
"Nur im Stadtgebiet von Augsburg (nicht jedoch im angrenzenden Umland)"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Augsburger_Friedensfest",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-08-15",
|
||||
"image": "calendar/KalenderbildMariaHimmelfahrt.jpg",
|
||||
"texts": [
|
||||
"Mariä Himmelfahrt",
|
||||
"15.08.2025",
|
||||
"Saarland, In Bayern nur teilweise.***"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Mari%C3%A4_Himmelfahrt",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-09-20",
|
||||
"image": "calendar/WeltkindertagKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Weltkindertag",
|
||||
"20.09.2025",
|
||||
"Thüringen"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Weltkindertag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-10-03",
|
||||
"image": "calendar/DeutscheEinheitKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Tag der deutschen Einheit",
|
||||
"03.10.2025",
|
||||
"bundesweit"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Tag_der_deutschen_Einheit",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-10-31",
|
||||
"image": "calendar/ReformationstagKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Reformationstag",
|
||||
"31.10.2025",
|
||||
"Brandenburg, Bremen, Hamburg, Mecklenburg-Vorpommern, Niedersachsen, Sachsen, Sachsen-Anhalt, Schleswig-Holstein, Thüringen"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Reformationstag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-11-01",
|
||||
"image": "calendar/KalenderbildAllerheiligen.jpg",
|
||||
"texts": [
|
||||
"Allerheiligen",
|
||||
"01.11.2025",
|
||||
"Baden-Württemberg, Bayern, Nordrhein-Westfalen, Rheinland-Pfalz, Saarland"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Allerheiligen",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-11-19",
|
||||
"image": "calendar/BussBettagKalenderbild.jpg",
|
||||
"texts": [
|
||||
"Buß- und Bettag",
|
||||
"19.11.2025",
|
||||
"Sachsen"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Bu%C3%9F-_und_Bettag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-12-25",
|
||||
"image": "calendar/1WeihnachtsfeiertagKalenderbild.jpg",
|
||||
"texts": [
|
||||
"1. Weihnachtsfeiertag",
|
||||
"25.12.2025",
|
||||
"bundesweit"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Weihnachtsfeiertag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
},
|
||||
{
|
||||
"date": "2025-12-26",
|
||||
"image": "calendar/2WeihnachtsfeiertagKalenderbild.jpg",
|
||||
"texts": [
|
||||
"2. Weihnachtsfeiertag",
|
||||
"26.12.2025",
|
||||
"bundesweit"
|
||||
],
|
||||
"link": "https://de.wikipedia.org/wiki/Weihnachtsfeiertag",
|
||||
"color": "#FFCC99",
|
||||
"txtcolor": "#FFFFFF"
|
||||
}
|
||||
]
|
||||
|
After Width: | Height: | Size: 614 B |
|
After Width: | Height: | Size: 327 KiB |
|
After Width: | Height: | Size: 665 KiB |
|
After Width: | Height: | Size: 814 KiB |
|
After Width: | Height: | Size: 578 KiB |
|
After Width: | Height: | Size: 617 KiB |
|
After Width: | Height: | Size: 738 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 152 KiB |
|
After Width: | Height: | Size: 560 KiB |
|
After Width: | Height: | Size: 604 KiB |
|
After Width: | Height: | Size: 619 KiB |
|
After Width: | Height: | Size: 699 KiB |
|
After Width: | Height: | Size: 460 KiB |
|
After Width: | Height: | Size: 627 KiB |
|
After Width: | Height: | Size: 539 KiB |
@@ -0,0 +1,50 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>403 - Forbidden</title>
|
||||
<style>
|
||||
body {
|
||||
background-color: #f8f9fa;
|
||||
color: #343a40;
|
||||
font-family: Arial, sans-serif;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
margin: 0;
|
||||
}
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
.center h1 {
|
||||
font-size: 5rem;
|
||||
color: #dc3545;
|
||||
}
|
||||
.center p {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
.center a {
|
||||
display: inline-block;
|
||||
margin-top: 20px;
|
||||
padding: 10px 20px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
border-radius: 5px;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
.center a:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="center">
|
||||
<h1>403</h1>
|
||||
<p>Nicht öffentlicher Bereich.</p>
|
||||
<a href="/">Zurück zur Startseite</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
After Width: | Height: | Size: 614 B |
|
After Width: | Height: | Size: 228 KiB |
|
After Width: | Height: | Size: 260 KiB |
|
After Width: | Height: | Size: 188 KiB |
|
After Width: | Height: | Size: 252 KiB |
|
After Width: | Height: | Size: 214 KiB |
|
After Width: | Height: | Size: 291 KiB |
|
After Width: | Height: | Size: 278 KiB |
|
After Width: | Height: | Size: 250 KiB |
|
After Width: | Height: | Size: 188 KiB |
|
After Width: | Height: | Size: 167 KiB |
@@ -0,0 +1,50 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>403 - Forbidden</title>
|
||||
<style>
|
||||
body {
|
||||
background-color: #f8f9fa;
|
||||
color: #343a40;
|
||||
font-family: Arial, sans-serif;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
margin: 0;
|
||||
}
|
||||
.center {
|
||||
text-align: center;
|
||||
}
|
||||
.center h1 {
|
||||
font-size: 5rem;
|
||||
color: #dc3545;
|
||||
}
|
||||
.center p {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
.center a {
|
||||
display: inline-block;
|
||||
margin-top: 20px;
|
||||
padding: 10px 20px;
|
||||
background-color: #007bff;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
border-radius: 5px;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
.center a:hover {
|
||||
background-color: #0056b3;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="center">
|
||||
<h1>403</h1>
|
||||
<p>Nicht öffentlicher Bereich.</p>
|
||||
<a href="/">Zurück zur Startseite</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||