Initial commit

This commit is contained in:
2026-01-02 21:00:45 +01:00
commit f141228c32
52 changed files with 8512 additions and 0 deletions

View File

@@ -0,0 +1,194 @@
<?php
session_start();
$errorCode = $_SESSION["errorCode"];
if($errorCode == 'generalError') {
print(
" <div class='action-feedback action-feedback-red'>
<i class='fas fa-exclamation'></i>
<p>Fehler bei der Werte&uuml;bergabe (#411)<br>Die Aktion wurde NICHT durchgef&uuml;hrt.</p>
</div>
");
}
if($errorCode == 'createFolderSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Ordner erstellt</p>
</div>
");
}
if($errorCode == 'createFolderDouble') {
print(
" <div class='action-feedback action-feedback-red'>
<i class='fas fa-exclamation'></i>
<p>Du hast bereits einen Ordner mit diesem Namen<br>Bitte verwende einen anderen Namen</p>
</div>
");
}
if($errorCode == 'deleteFolderSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Ordner gel&ouml;scht</p>
</div>
");
}
if($errorCode == 'addVokabSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Vokabeln hinzugef&uuml;gt</p>
</div>
");
}
if($errorCode == 'editFolderSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>&Auml;nderungen gespeichert</p>
</div>
");
}
if($errorCode == 'keineUebereinstimmung') {
print(
" <div class='action-feedback action-feedback-red'>
<i class='fas fa-exclamation'></i>
<p>Die Passw&ouml;rter stimmen nicht &uuml;berein</p>
</div>
");
}
if($errorCode == 'usernameRegistered') {
print(
" <div class='action-feedback action-feedback-red'>
<i class='fas fa-exclamation'></i>
<p>Der Benutzername ist bereits registriert</p>
</div>
");
}
if($errorCode == 'emailRegistered') {
print(
" <div class='action-feedback action-feedback-red'>
<i class='fas fa-exclamation'></i>
<p>Diese E-Mail-Adresse ist bereits registriert</p>
</div>
");
}
if($errorCode == 'unallowedCharacters') {
print(
" <div class='action-feedback action-feedback-red'>
<i class='fas fa-exclamation'></i>
<p>Es d&uuml;rfen keine Backslashes und einfache<br>Anf&uuml;hrungszeichen verwendet werden</p>
</div>
");
}
if($errorCode == 'wrongCode') {
print(
" <div class='action-feedback action-feedback-red'>
<i class='fas fa-exclamation'></i>
<p>Der Code ist nicht richtig</p>
</div>
");
}
if($errorCode == 'success') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Passwort ge&auml;ndert!</p>
</div>
");
}
if($errorCode == 'wrongLogin') {
print(
" <div class='action-feedback action-feedback-red'>
<i class='fas fa-exclamation'></i>
<p>Das Passwort stimmt nicht</p>
</div>
");
}
if($errorCode == 'saveAccountsettingsSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>&Auml;nderungen gespeichert</p>
</div>
");
}
if($errorCode == 'noDataFound') {
print(
" <div class='action-feedback action-feedback-red'>
<i class='fas fa-exclamation'></i>
<p>Benutzername oder E-Mail-Adresse nicht bekannt</p>
</div>
");
}
if($errorCode == 'logoutSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Ausgeloggt</p>
</div>
");
}
if($errorCode == 'loginSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Willkommen zur&uuml;ck! <i class='fas fa-hand-peace'></i></p>
</div>
");
}
if($errorCode == 'publicFolderSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Alles klar!<br>Du kannst deinen Ordner jetzt hier finden!</p>
</div>
");
}
if($errorCode == 'turnoffPublicFolderSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Freigabe aufgehoben</p>
</div>
");
}
if($errorCode == 'couldntStartLearn') {
print(
" <div class='action-feedback action-feedback-red'>
<i class='fas fa-exclamation'></i>
<p>Die aktuelle Auswahl beinhaltet keine Vokabeln</p>
</div>
");
}
if($errorCode == 'createYearSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Schuljahr erstellt</p>
</div>
");
}
if($errorCode == 'createSubjectSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Fach erstellt</p>
</div>
");
}
if($errorCode == 'deleteItemSuccess') {
print(
" <div class='action-feedback action-feedback-green'>
<i class='fas fa-check'></i>
<p>Gel&ouml;scht</p>
</div>
");
}
unset($_SESSION["errorCode"]);
?>

7
files/ezine.conf.php Normal file
View File

@@ -0,0 +1,7 @@
<?php
// configuration of my database
$host = "rdbms.strato.de";
$login= "U3611332";
$base = "DB3611332";
$password="Scheisshaus20";
?>

9
files/ezine_db.inc.php Normal file
View File

@@ -0,0 +1,9 @@
<?php
require "ezine.conf.php";
$conn = new mysqli($host, $login, $password, $base);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>

BIN
files/lang-de.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 947 B

110
files/loginscript.inc.php Normal file
View File

@@ -0,0 +1,110 @@
<?php
session_start();
$BenutzernameSESSION = $_SESSION["Benutzername"];
$PasswortSESSION = $_SESSION["Passwort"];
$BenutzernamePOST = strip_tags(htmlentities($_POST["Benutzername"]));
$PasswortPOST = strip_tags(htmlentities($_POST["Passwort"]));
$LoggedIn = 'false';
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$BenutzernameSESSION' AND `Passwort` = '$PasswortSESSION'";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
$LoggedIn = 'false';
}
else {
$LoggedIn = 'true';
$Benutzername = $BenutzernameSESSION;
$Passwort = $PasswortSESSION;
}
if($LoggedIn == 'false') {
if($BenutzernamePOST == '' || $PasswortPOST == '') {
$Benutzername = $BenutzernameSESSION;
$Passwort = $PasswortSESSION;
}
else {
$Benutzername = $BenutzernamePOST;
$Passwort = $PasswortPOST;
$Passwort = hash('sha512',$Passwort);
}
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername' AND `Passwort` = '$Passwort'";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
$LoggedIn = 'wrongData';
}
else {
$LoggedIn = 'true';
}
}
if(empty($BenutzernamePOST) && empty($PasswortPOST) && empty($BenutzernameSESSION) && empty($PasswortSESSION)) {
$LoggedIn = 'false';
}
if($LoggedIn == 'false' && $_SESSION["showNoLoginInfo"] != 'true') {
?>
<p style="color: #FF7575;">Die VokabelBox wird am 01.07.2021 abgeschaltet. Bitte benutze den Nachfolger <a target="_blank" href="https://www.timvandenboom.de/vokspace/">VokSpace</a>.</p><br>
<p>Bitte melde dich an, um deine Vokabeln zu sehen und zu bearbeiten.</p>
<button class="classic-button classic-button-grey" onclick='window.location.href="login?forward=<?php print("$sitename"); ?>"'><i class="fas fa-sign-in-alt"></i> Einloggen</button>
<?php
}
if($LoggedIn == 'true') {
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername'";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$UngueltigeLogins = $articleDb->UngueltigeLogins;
}
if($UngueltigeLogins >= '4') {
$LoggedIn = 'blocked';
}
}
if($LoggedIn == 'true') {
$conn->query("UPDATE `VokabelBoxUsers` SET `UngueltigeLogins` = '0' WHERE `Benutzername` = '$Benutzername'");
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
if($BenutzernamePOST == '' || $PasswortPOST == '') {}
else {
$_SESSION["errorCode"] = 'loginSuccess';
}
}
if($LoggedIn == 'wrongData') {
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername'";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$UngueltigeLogins = $articleDb->UngueltigeLogins;
}
$UngueltigeLogins = $UngueltigeLogins + 1;
$conn->query("UPDATE `VokabelBoxUsers` SET `UngueltigeLogins` = '$UngueltigeLogins' WHERE `Benutzername` = '$Benutzername'");
if($UngueltigeLogins >= '4') {
print(
" <div class='action-feedback action-feedback-red action-feedback-permanent'>
<i class='fas fa-times'></i>
<p>Anzahl ung&uuml;ltiger Login-Versuche &uuml;berschritten.<br><a href='reset-password'>Passwort zur&uuml;cksetzen</a></p>
</div>
");
}
else {
print(
" <div class='action-feedback action-feedback-red action-feedback-permanent'>
<i class='fas fa-times'></i>
<p>Benutzername oder Passwort sind falsch!<br><a href='login'>Erneut versuchen</a></p>
</div>
");
}
}
if($LoggedIn == 'blocked') {
print(
" <div class='action-feedback action-feedback-red action-feedback-permanent'>
<i class='fas fa-times'></i>
<p>Dein Konto wurde aufgrund zu vieler Anmeldeversuche gesperrt.<br><a href='service/password/forgot-password'>Passwort zur&uuml;cksetzen</a></p>
</div>
");
}
$_SESSION["showNoLoginInfo"] = '';
?>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

64
files/scripts.js Normal file
View File

@@ -0,0 +1,64 @@
function copyLink(link) {
var el = document.createElement('textarea');
el.value = link;
el.setAttribute('readonly', '');
el.style = {position: 'absolute', left: '-9999px'};
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
alert("Link wurde kopiert");
}
function openWindow(window_name) {
document.getElementById("window-" + window_name).style.display = "block";
document.getElementById("window-" + window_name).style.opacity = "1";
document.getElementById("back-arrow").style.display = "none";
document.getElementById("back-arrow-window").style.display = "block";
document.getElementById("main").style.filter = "blur(8px)";
}
function closeWindow(site_name) {
if (site_name == "1") {
document.getElementById("window-1").style.display = "none";
document.getElementById("window-1").style.opacity = "0";
document.getElementById("window-2").style.display = "none";
document.getElementById("window-2").style.opacity = "0";
document.getElementById("window-3").style.display = "none";
document.getElementById("window-3").style.opacity = "0";
}
if (site_name == "2") {
document.getElementById("window-4").style.display = "none";
document.getElementById("window-4").style.opacity = "0";
}
if (site_name == "3") {
document.getElementById("window-5").style.display = "none";
document.getElementById("window-5").style.opacity = "0";
}
if (site_name == "4") {
document.getElementById("window-6").style.display = "none";
document.getElementById("window-6").style.opacity = "0";
}
document.getElementById("back-arrow").style.display = "block";
document.getElementById("back-arrow-window").style.display = "none";
document.getElementById("main").style.filter = "blur(0px)";
}
function addTo(from) {
var from = from;
var selectedValue = document.getElementById('add-to').value;
window.location = 'add-vokab?from=' + from + '&add-to' + selectedValue;
}
function openSchoolYear() {
var selectedValue = document.getElementById('openSchoolYear').value;
window.location = '?item=' + selectedValue;
}
function togglePassword(fieldNumber) {
var x = document.getElementById("toggle-password" + fieldNumber);
if (x.type === "password") {
x.type = "text";
document.getElementById("toggle-password-chb" + fieldNumber + "-eye").style.visibility = "hidden";
document.getElementById("toggle-password-chb" + fieldNumber + "-eye-slash").style.visibility = "visible";
} else {
x.type = "password";
document.getElementById("toggle-password-chb" + fieldNumber + "-eye").style.visibility = "visible";
document.getElementById("toggle-password-chb" + fieldNumber + "-eye-slash").style.visibility = "hidden";
}
}

1029
files/style.css Normal file

File diff suppressed because it is too large Load Diff