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

66
actions/add-folder.php Normal file
View File

@@ -0,0 +1,66 @@
<?php session_start();
$Benutzername = $_SESSION["Benutzername"];
$Passwort = $_SESSION["Passwort"];
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
$folderTEXT = strip_tags(htmlentities($_POST["folderTEXT"]));
$folderTEXT = str_replace('\'', '&apos;', $folderTEXT);
$folderTEXT = str_replace('\\', '&#92;', $folderTEXT);
$forwarding = $_SESSION["forwarding"];
unset($_SESSION["forwarding"]);
?>
<!DOCTYPE html>
<html>
<head>
<?php print("<meta http-equiv='refresh' content='1; URL=../$redirect'>"); ?>
<link rel="stylesheet" href="../files/style.css" />
</head>
<body>
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
$ID = '';
$string = "0123456789ABCDEFGHJIKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for ($i = 1; $i <= 8; $i++)
{
$zufallszahl = rand(0, 62);
$zufallszahl = substr($string, $zufallszahl, 1);
$ID = $ID . $zufallszahl;
}
if(empty($folderTEXT) || empty($Benutzername)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../$forwarding'>");
}
else {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`Ordner` = '$folderTEXT')";
$result_articles = $conn->query($sql);
if(mysqli_num_rows($result_articles))
{
$_SESSION["errorCode"] = 'createFolderDouble';
print("<meta http-equiv='refresh' content='0; URL=../$forwarding'>");
}
else {
$conn->query("INSERT INTO `VokabelBoxVokabeln` (`Sprache1`,`Sprache2`,`Nutzername`,`Ordner`,`ID`) VALUES ('','','$Benutzername','$folderTEXT','$ID')");
$_SESSION["errorCode"] = 'createFolderSuccess';
print("<meta http-equiv='refresh' content='0; URL=../$forwarding'>");
}
}
}
?>
</body>
</html>

126
actions/add-item.php Normal file
View File

@@ -0,0 +1,126 @@
<?php session_start();
$Benutzername = $_SESSION["Benutzername"];
$Passwort = $_SESSION["Passwort"];
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
$type = $_SESSION["type"];
$item = $_SESSION["item"];
unset($_SESSION["type"]);
unset($_SESSION["item"]);
?>
<!DOCTYPE html>
<html>
<head>
<?php print("<meta http-equiv='refresh' content='1; URL=../$redirect'>"); ?>
<link rel="stylesheet" href="../files/style.css" />
</head>
<body>
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
if($type != 'year' && $type != 'subject' && $type != 'entry' || empty($Benutzername) || empty($item)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../marks'>");
}
if($type == 'year') {
$Name = strip_tags(htmlentities($_POST["Name"]));
$Name = str_replace('\'', '&apos;', $Name);
$Name = str_replace('\\', '&#92;', $Name);
if(empty($Name)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../marks?item=$item'>");
}
else {
$generiert = '';
$string = "0123456789ABCDEFGHJIKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for ($i = 1; $i <= 8; $i++)
{
$zufallszahl = rand(0, 62);
$zufallszahl = substr($string, $zufallszahl, 1);
$generiert = $generiert . $zufallszahl;
}
$conn->query("INSERT INTO `VokabelBoxNoten` (`Titel`,`ID`,`Nutzername`) VALUES ('$Name','$generiert','$Benutzername')");
$_SESSION["errorCode"] = 'createYearSuccess';
print("<meta http-equiv='refresh' content='0; URL=../marks?item=$generiert:1'");
}
}
if($type == 'subject') {
$Name = strip_tags(htmlentities($_POST["Name"]));
$Name = str_replace('\'', '&apos;', $Name);
$Name = str_replace('\\', '&#92;', $Name);
$Color = strip_tags(htmlentities($_POST["color"]));
if(empty($Name) || ($Color != 'FF5E5E' && $Color != 'FF9D5E' && $Color != 'FFBB5E' && $Color != 'FFDF5E' && $Color != 'FFFA5E' && $Color != 'EBFF5E' && $Color != 'CCFF5E' && $Color != 'A5FF5E' && $Color != '87FF5E' && $Color != '5EFF5E' && $Color != '5EFFB1' && $Color != '5EFFD6' && $Color != '5EE2FF' && $Color != '5EC7FF' && $Color != '5EA5FF' && $Color != '5E83FF' && $Color != '795EFF' && $Color != 'A55EFF' && $Color != 'D85EFF' && $Color != 'FF5EFA' && $Color != 'FF5ED6' && $Color != 'FF5EB8' && $Color != 'FF5E8F' && $Color != 'FF5E79')) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../marks?item=$item'>");
}
else {
$generiert = '';
$string = "0123456789ABCDEFGHJIKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for ($i = 1; $i <= 8; $i++)
{
$zufallszahl = rand(0, 62);
$zufallszahl = substr($string, $zufallszahl, 1);
$generiert = $generiert . $zufallszahl;
}
$conn->query("INSERT INTO `VokabelBoxNoten` (`Note`,`Fach`,`ID`,`Nutzername`,`Farbe`) VALUES ('-','$Name','$item-$generiert','$Benutzername','$Color')");
$_SESSION["errorCode"] = 'createSubjectSuccess';
print("<meta http-equiv='refresh' content='0; URL=../marks?item=$item-$generiert'");
}
}
if($type == 'entry') {
$Name = strip_tags(htmlentities($_POST["Name"]));
$Name = str_replace('\'', '&apos;', $Name);
$Name = str_replace('\\', '&#92;', $Name);
$Type = strip_tags(htmlentities($_POST["type"]));
$Mark = strip_tags(htmlentities($_POST["mark"]));
$Date = strip_tags(htmlentities($_POST["date"]));
$Date = date("d.m.Y", strtotime($Date));
if(empty($Name) || empty($Type) || ($Type != '1' && $Type != '2' && $Type != '3' && $Type != '4') || empty($Mark) || ($Mark != '1' && $Mark != '1.3' && $Mark != '1.7' && $Mark != '2' && $Mark != '2.3' && $Mark != '2.7' && $Mark != '3' && $Mark != '3.3' && $Mark != '3.7' && $Mark != '4' && $Mark != '4.3' && $Mark != '4.7' && $Mark != '5' && $Mark != '5.3' && $Mark != '5.7' && $Mark != '6')) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../marks?item=$item'>");
}
else {
$generiert = '';
$string = "0123456789ABCDEFGHJIKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for ($i = 1; $i <= 8; $i++)
{
$zufallszahl = rand(0, 62);
$zufallszahl = substr($string, $zufallszahl, 1);
$generiert = $generiert . $zufallszahl;
}
$ID = $item . '_' . $generiert;
$conn->query("INSERT INTO `VokabelBoxNoten` (`Titel`,`Note`,`ID`,`Bezeichnung`,`Nutzername`,`Datum`) VALUES ('$Name','$Mark','$ID','$Type','$Benutzername','$Date')");
$_SESSION["errorCode"] = 'createEntrySuccess';
?>
<meta http-equiv='refresh' content='0; URL=../marks?item=<?php print("$item"); ?>_<?php print("$generiert"); ?>'>
<?php
}
}
}
?>
</body>
</html>

109
actions/add-vokab.php Normal file
View File

@@ -0,0 +1,109 @@
<?php session_start();
$Benutzername = $_SESSION["Benutzername"];
$Passwort = $_SESSION["Passwort"];
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
$redirect = $_SESSION["redirect"];
$parameter = $_SESSION["parameter"];
$import_to = strip_tags(htmlentities($_POST["import-to"]));
$import_from = strip_tags(htmlentities($_SESSION["import-from"]));
unset($_SESSION["import-from"]);
$folderID = strip_tags(htmlentities($_SESSION["folderID"]));
$number_rows = strip_tags(htmlentities($_POST["number-rows"]));
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="../files/style.css" />
</head>
<body>
<main>
<div class="middle">
<div class="bar-content">
<div class="bar1 bar"></div>
<div class="bar2 bar"></div>
<div class="bar3 bar"></div>
<div class="bar4 bar"></div>
<div class="bar5 bar"></div>
<div class="bar6 bar"></div>
</div>
</div>
</main>
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
if($import_to != '' && $import_from != '') {
if($import_to == 'NEWFOLDER-SHARE' || $import_to == 'NEWFOLDER-LIBRARY') {
if($import_to == 'NEWFOLDER-SHARE') {
$_SESSION["forwarding"] = 'share?id=' . $import_from;
print("<meta http-equiv='refresh' content='0; URL=../index?action=add-folder'>");
}
if($import_to == 'NEWFOLDER-LIBRARY') {
$_SESSION["forwarding"] = 'share?id=' . $import_from;
print("<meta http-equiv='refresh' content='0; URL=../index?action=add-folder'>");
}
}
else {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `ID` = '$import_from' AND `Sprache1` != ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$conn->query("INSERT INTO `VokabelBoxVokabeln` (`Sprache1`,`Sprache2`,`Nutzername`,`ID`) VALUES ('$articleDb->Sprache1','$articleDb->Sprache2','$Benutzername','$import_to')");
$_SESSION["errorCode"] = 'addVokabSuccess';
}
print("<meta http-equiv='refresh' content='0; URL=../index?folderID=$import_to'>");
}
}
else {
if(empty($folderID)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='1; URL=../index?folderID=$folderID'>");
}
else{
while($number_rows > '0') {
${'Vok'.$number_rows.'_1'} = strip_tags(htmlentities($_POST['Vok'.$number_rows.'-1']));
${'Vok'.$number_rows.'_2'} = strip_tags(htmlentities($_POST['Vok'.$number_rows.'-2']));
${'Vok'.$number_rows.'_1'} = str_replace('\'', '&apos;', ${'Vok'.$number_rows.'_1'});
${'Vok'.$number_rows.'_2'} = str_replace('\'', '&apos;', ${'Vok'.$number_rows.'_2'});
${'Vok'.$number_rows.'_1'} = str_replace('\\', '&#92;', ${'Vok'.$number_rows.'_1'});
${'Vok'.$number_rows.'_2'} = str_replace('\\', '&#92;', ${'Vok'.$number_rows.'_2'});
if(${'Vok'.$number_rows.'_1'} != '' && ${'Vok'.$number_rows.'_2'} != '') {
$conn->query("INSERT INTO `VokabelBoxVokabeln` (`Sprache1`,`Sprache2`,`Nutzername`,`ID`) VALUES ('${'Vok'.$number_rows.'_1'}','${'Vok'.$number_rows.'_2'}','$Benutzername','$folderID')");
}
$number_rows = $number_rows - 1;
}
$_SESSION["errorCode"] = 'addVokabSuccess';
print("<meta http-equiv='refresh' content='1; URL=../index?folderID=$folderID'>");
}
}
}
?>
</body>
</html>

View File

@@ -0,0 +1,77 @@
<?php session_start();
require "../files/ezine_db.inc.php";
$Benutzername = strip_tags(htmlentities($_SESSION["Benutzername"]));
$Verification = $_SESSION["Verification"];
if($Verification == 'true') {
$LoggedIn = 'true';
$forwarding = 'reset-password';
}
else {
$forwarding = 'myaccount';
$Passwort = strip_tags(htmlentities($_POST["Passwort"]));
$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 = 'false';
}
else {
$LoggedIn = 'true';
}
}
unset($_SESSION["Verification"]);
$Passwort1 = strip_tags(htmlentities($_POST["Passwort1"]));
$Passwort2 = strip_tags(htmlentities($_POST["Passwort2"]));
$Passwort1 = hash('sha512',$Passwort1);
$Passwort2 = hash('sha512',$Passwort2);
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../files/style.css" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
</head>
<body>
<?php
if(empty($Passwort1) || empty($Passwort2)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../$forwarding'>");
}
else{
if($LoggedIn == 'true') {
if($Passwort1 != $Passwort2) {
$_SESSION["errorCode"] = 'keineUebereinstimmung';
print("<meta http-equiv='refresh' content='0; URL=../$forwarding'>");
}
else {
$conn->query("UPDATE `VokabelBoxUsers` SET `Passwort` = '$Passwort1',`UngueltigeLogins` = '0' WHERE `Benutzername` = '$Benutzername'");
$_SESSION["errorCode"] = 'success';
print("<meta http-equiv='refresh' content='0; URL=../myaccount'>");
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort1;
}
}
else {
$_SESSION["errorCode"] = 'wrongLogin';
print("<meta http-equiv='refresh' content='0; URL=../$forwarding'>");
}
}
?>
</body>
</html>

42
actions/delete-folder.php Normal file
View File

@@ -0,0 +1,42 @@
<?php session_start();
$Benutzername = $_SESSION["Benutzername"];
$Passwort = $_SESSION["Passwort"];
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
$folderID = $_SESSION["folderID"];
?>
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
$Folder = strip_tags(htmlentities($_POST["folder"]));
if(empty($folderID) || empty($Benutzername)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../index'>");
}
else {
$conn->query("DELETE FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID')");
$_SESSION["errorCode"] = 'deleteFolderSuccess';
print("<meta http-equiv='refresh' content='0; URL=../index'>");
}
}
?>
</body>
</html>

52
actions/delete-item.php Normal file
View File

@@ -0,0 +1,52 @@
<?php session_start();
$Benutzername = $_SESSION["Benutzername"];
$Passwort = $_SESSION["Passwort"];
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
$item = $_SESSION["item"];
unset($_SESSION["item"]);
?>
<!DOCTYPE html>
<html>
<head>
<?php print("<meta http-equiv='refresh' content='1; URL=../$redirect'>"); ?>
<link rel="stylesheet" href="../files/style.css" />
</head>
<body>
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
if($item == '') {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../marks?item='>");
}
else {
if(strlen($item) == '10') {
$item = substr($item, 0, -2);
}
$conn->query("DELETE FROM `VokabelBoxNoten` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$item'");
$_SESSION["errorCode"] = 'deleteItemSuccess';
print("<meta http-equiv='refresh' content='0; URL=../marks'>");
}
}
?>
</body>
</html>

116
actions/edit-folder.php Normal file
View File

@@ -0,0 +1,116 @@
<?php session_start();
$_SESSION["redirect"] = 'edit-folder';
$Benutzername = $_SESSION["Benutzername"];
$Passwort = $_SESSION["Passwort"];
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
$folderTEXT = strip_tags(htmlentities($_POST["folderTEXT"]));
$folderID = $_SESSION["folderID"];
$gesamt_anzahl = $_SESSION["gesamtAnzahl"];
$folderTEXT = str_replace('\'', '&apos;', $folderTEXT);
$folderTEXT = str_replace('\\', '&#92;', $folderTEXT);
$savechange = strip_tags(htmlentities($_GET["savechange"]));
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="../files/style.css" />
<meta http-equiv="refresh" content="2; URL=../index?folderID=<?php print("$folderID"); ?>">
</head>
<body>
<main>
<div class="middle">
<div class="bar-content">
<div class="bar1 bar"></div>
<div class="bar2 bar"></div>
<div class="bar3 bar"></div>
<div class="bar4 bar"></div>
<div class="bar5 bar"></div>
<div class="bar6 bar"></div>
</div>
</div>
</main>
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
if($savechange == 'publish') {
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Public` = '1' WHERE `ID` = '$folderID' AND `Nutzername` = '$Benutzername'");
$_SESSION["errorCode"] = 'publicFolderSuccess';
print("<meta http-equiv='refresh' content='2; URL=../library'>");
}
else {
if($savechange == 'turnoff-publish') {
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Public` = '0' WHERE `ID` = '$folderID' AND `Nutzername` = '$Benutzername'");
$_SESSION["errorCode"] = 'turnoffPublicFolderSuccess';
print("<meta http-equiv='refresh' content='2; URL=../index?folderID=$folderID'>");
}
else {
if(empty($folderTEXT) || empty($gesamt_anzahl)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='2; URL=../index?folderID=$folderID'>");
}
else {
$sql = "SELECT `Public` FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` = '' AND `Sprache2` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$Public = $articleDb->Public;
}
$conn->query("DELETE FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID'");
$conn->query("INSERT INTO `VokabelBoxVokabeln` (`Sprache1`,`Sprache2`,`Nutzername`,`ID`,`Ordner`,`Public`) VALUES ('','','$Benutzername','$folderID','$folderTEXT','$Public')");
$loop = 1;
while($loop <= $gesamt_anzahl) {
${'Vok'.$loop.'_1'} = strip_tags(htmlentities($_POST['Vok'.$loop.'-1']));
${'Vok'.$loop.'_2'} = strip_tags(htmlentities($_POST['Vok'.$loop.'-2']));
${'Vok'.$loop.'_1'} = str_replace('\'', '&apos;', ${'Vok'.$loop.'_1'});
${'Vok'.$loop.'_2'} = str_replace('\'', '&apos;', ${'Vok'.$loop.'_2'});
${'Vok'.$loop.'_1'} = str_replace('\\', '&#92;', ${'Vok'.$loop.'_1'});
${'Vok'.$loop.'_2'} = str_replace('\\', '&#92;', ${'Vok'.$loop.'_2'});
if(${'Vok'.$loop.'_1'} != '' && ${'Vok'.$loop.'_2'} != '') {
$conn->query("INSERT INTO `VokabelBoxVokabeln` (`Sprache1`,`Sprache2`,`Nutzername`,`ID`,`Ordner`,`Public`) VALUES ('${'Vok'.$loop.'_1'}','${'Vok'.$loop.'_2'}','$Benutzername','$folderID','','$Public')");
}
$loop = $loop + 1;
}
$_SESSION["errorCode"] = 'editFolderSuccess';
print("<meta http-equiv='refresh' content='2; URL=../index?folderID=$folderID'>");
}
}
}
}
?>
</body>
</html>

101
actions/edit-item.php Normal file
View File

@@ -0,0 +1,101 @@
<?php session_start();
$Benutzername = $_SESSION["Benutzername"];
$Passwort = $_SESSION["Passwort"];
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
$type = $_SESSION["type"];
$item = $_SESSION["item"];
unset($_SESSION["type"]);
unset($_SESSION["item"]);
?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="../files/style.css" />
</head>
<body>
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
if($type != 'year' && $type != 'subject' && $type != 'entry' || empty($Benutzername) || empty($item)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../marks?item='>");
}
if($type == 'year') {
$Name = strip_tags(htmlentities($_POST["Name"]));
$Name = str_replace('\'', '&apos;', $Name);
$Name = str_replace('\\', '&#92;', $Name);
$item = strstr($item, ':', true);
if(empty($Name)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../marks?item=$item'>");
}
else {
$conn->query("UPDATE `VokabelBoxNoten` SET `Titel` = '$Name' WHERE `ID` = '$item'");
$_SESSION["errorCode"] = 'editFolderSuccess';
print("<meta http-equiv='refresh' content='0; URL=../marks?item=$item:1'");
}
}
if($type == 'subject') {
$Name = strip_tags(htmlentities($_POST["Name"]));
$Name = str_replace('\'', '&apos;', $Name);
$Name = str_replace('\\', '&#92;', $Name);
$Color = strip_tags(htmlentities($_POST["color"]));
if(empty($Name) || ($Color != 'FF5E5E' && $Color != 'FF9D5E' && $Color != 'FFBB5E' && $Color != 'FFDF5E' && $Color != 'FFFA5E' && $Color != 'EBFF5E' && $Color != 'CCFF5E' && $Color != 'A5FF5E' && $Color != '87FF5E' && $Color != '5EFF5E' && $Color != '5EFFB1' && $Color != '5EFFD6' && $Color != '5EE2FF' && $Color != '5EC7FF' && $Color != '5EA5FF' && $Color != '5E83FF' && $Color != '795EFF' && $Color != 'A55EFF' && $Color != 'D85EFF' && $Color != 'FF5EFA' && $Color != 'FF5ED6' && $Color != 'FF5EB8' && $Color != 'FF5E8F' && $Color != 'FF5E79')) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../marks?item=$item'>");
}
else {
$conn->query("UPDATE `VokabelBoxNoten` SET `Farbe` = '$Color', `Fach` = '$Name' WHERE `ID` = '$item'");
$_SESSION["errorCode"] = 'editFolderSuccess';
print("<meta http-equiv='refresh' content='0; URL=../marks?item=$item'");
}
}
if($type == 'entry') {
$Name = strip_tags(htmlentities($_POST["Name"]));
$Name = str_replace('\'', '&apos;', $Name);
$Name = str_replace('\\', '&#92;', $Name);
$Type = strip_tags(htmlentities($_POST["type"]));
$Mark = strip_tags(htmlentities($_POST["mark"]));
$Date = strip_tags(htmlentities($_POST["date"]));
$Date = date("d.m.Y", strtotime($Date));
if(empty($Name) || empty($Type) || ($Type != '1' && $Type != '2' && $Type != '3' && $Type != '4') || empty($Mark) || ($Mark != '1' && $Mark != '1.3' && $Mark != '1.7' && $Mark != '2' && $Mark != '2.3' && $Mark != '2.7' && $Mark != '3' && $Mark != '3.3' && $Mark != '3.7' && $Mark != '4' && $Mark != '4.3' && $Mark != '4.7' && $Mark != '5' && $Mark != '5.3' && $Mark != '5.7' && $Mark != '6')) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../marks?item=$item'>");
}
else {
$conn->query("UPDATE `VokabelBoxNoten` SET `Titel` = '$Name',`Note` = '$Mark',`Bezeichnung` = '$Type',`Datum` = '$Date' WHERE `ID` = '$item'");
$_SESSION["errorCode"] = 'editFolderSuccess';
?>
<meta http-equiv='refresh' content='0; URL=../marks?item=<?php print("$item"); ?>'>
<?php
}
}
}
?>
</body>
</html>

29
actions/logout.php Normal file
View File

@@ -0,0 +1,29 @@
<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="../files/style.css" />
</head>
<body>
<main>
</main>
<?php
include "../files/errorcodesscript.inc.php";
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
if($LoggedIn == 'true') {
$_SESSION["Benutzername"] = '';
$_SESSION["Passwort"] = '';
$_SESSION["errorCode"] = 'logoutSuccess';
print("<meta http-equiv='refresh' content='0; URL=../index'>");
}
?>
</body>
</html>

View File

@@ -0,0 +1,44 @@
<?php session_start();
$_SESSION["redirect"] = 'save-accountsettings';
$Benutzername = $_SESSION["Benutzername"];
$Passwort = $_SESSION["Passwort"];
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="1; URL=myaccount">
<link rel="stylesheet" href="style.css" />
</head>
<body>
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
$GrossKlein = strip_tags(htmlentities($_POST["GrossKlein"]));
$Zeit = strip_tags(htmlentities($_POST["Zeit"]));
if(empty($Zeit)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../myaccount'>");
}
else {
$conn->query("UPDATE `VokabelBoxUsers` SET `GrossKlein`= '$GrossKlein',`Zeit`= '$Zeit' WHERE `Benutzername` = '$Benutzername'");
$_SESSION["errorCode"] = 'saveAccountsettingsSuccess';
print("<meta http-equiv='refresh' content='0; URL=../myaccount'>");
}
}
?>
?>
</body>
</html>

131
export.php Normal file
View File

@@ -0,0 +1,131 @@
<?php session_start();
$sitename = 'export';
$folderID = $_SESSION["folderID"];
?>
<!DOCTYPE html>
<html>
<head>
<title>Importieren | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
$myfile = fopen("temporary/" . $folderID . ".csv", "w") or die("Fehler beim Erstellen der Datei!");
$sql = "SELECT `Ordner` FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$file = $articleDb->Ordner . '
Sprache 1 (Muttersprache),Sprache 1 (Fremdsprache)
';
fwrite($myfile, $file);
}
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` != ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$Sprache1 = html_entity_decode($articleDb->Sprache1);
$Sprache2 = html_entity_decode($articleDb->Sprache2);
htmlspecialchars_decode($Sprache1);
htmlspecialchars_decode($Sprache2);
$file = str_replace(",", "\",", "$Sprache1") . ',' . str_replace(",", "\",", "$Sprache2");
fwrite($myfile, $file);
fwrite($myfile, "\r\n");
}
?>
<?php
fclose($myfile);
?>
<p>Bitte beachte, dass du beim &Ouml;ffnen der CSV-Datei m&ouml;glicherweise die Codierung &auml;ndern musst. Bitte stelle sicher, dass Du als Trennung der Datens&auml;tze "Tabulator", bzw. "Zeilenumbruch" und als Trennung der Spalten "Komma" ausgew&auml;hlt hast.<br>Ob du alles richtig gemacht hast, merkst du sp&auml;testens dann, wenn die Tabelle v&ouml;llig durchschossen ist :)</p>
<p><br>Beispiel: OpenOffice Calc</p>
<img src="files/open-office-export-beispiel.png">
<form method="get" action="temporary/<?php print("$folderID"); ?>.csv">
<input type='hidden' name='foo' value='bar'/>
<input type='hidden' name='john' value='doe'/>
<button class='classic-button classic-button-grey'>
<i class='fas fa-download'> </i>
Herunterladen
</button>
</form>
<?php
}
?>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
<a id='back-arrow' class='fas fa-arrow-left back no-formatting' href='index?folderID=<?php print("$folderID") ?>'></a>
</body>
</html>

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

View File

@@ -0,0 +1,6 @@
Sprache 1 (Muttersprache),Sprache 1 (Fremdsprache)
,
Vokabel 1,Vokabel 1
Vokabel 2,Vokabel 2
Vokabel 3,Vokabel 3
...,...
1 Sprache 1 (Muttersprache) Sprache 1 (Fremdsprache)
2
3 Vokabel 1 Vokabel 1
4 Vokabel 2 Vokabel 2
5 Vokabel 3 Vokabel 3
6 ... ...

80
help/basics.php Normal file
View File

@@ -0,0 +1,80 @@
<?php session_start();
$sitename = 'help/import-export';
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<script>
function back() {
window.history.back();
}
</script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../files/style.css" />
<script language="javascript" type="text/javascript" src="../files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='../index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='../index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='../myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='../marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='../search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div class="selected" onclick="window.location.href='index'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='../actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
?>
<h2>Die Basics</h2>
<h4>Einen Ordner erstellen</h4>
<p>Gehe zuerst auf die Startseite. Dies geht meistens am schnellsten durch einen Klick auf das Logo.<br>Danach klickst Du auf den Button "Neuer Ordner". Der Button befindet sich immer am Ende, nach Auflistung all deiner Ordner. Du kannst dem Ordner nun einen Namen geben und mit "Ordner erstellen" best&auml;tigen. Du wirst in den, momentan noch leeren, Ordner weitergeleitet.</p>
<h4>Vokabeln hinzuf&uuml;gen</h4>
<p>Gehe in den zu bearbeitenden Ordner. Klicke auf "bearbeiten" und dann auf "Neue Vokabeln". Es erscheinen zehn leere Felder. Du kannst die Vokabeln entwedr nach und nach hinzuf&uuml;gen, oder Du gibst eine spezifische Zeilenanzahl an. Aber vorsicht: Die Seite aktuelisiert sich nach dem Klick auf "&Uuml;bernehmen", das hei&szlig;t, dass alle Eintr&auml;ge entfernt werden. Best&auml;tige mit "Hinzuf&uuml;gen".</p>
<h4>Ordner bearbeiten</h4>
<p>Gehe in den zu bearbeitenden Ordner. Klicke auf "bearbeiten". Du kannst den Ordner umbenennen oder die Vokabeln bearbeiten. Um eine Zeile Vokabeln zu l&ouml;schen, leere einfach eines der beiden Felder. Die (auch nur zum Teil) leeren Felder werden nicht gel&ouml;scht. Best&auml;tige mit "Speichern".</p>
<button onclick="back()">Zur&uuml;ck</button>
<?php
}
?>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
</body>
</html>

88
help/import-export.php Normal file
View File

@@ -0,0 +1,88 @@
<?php session_start();
$sitename = 'help/import-export';
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<script>
function back() {
window.history.back();
}
</script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../files/style.css" />
<script language="javascript" type="text/javascript" src="../files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='../index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='../index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='../myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='../marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='../search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div class="selected" onclick="window.location.href='index'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='../actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
?>
<h4>Ordner ex-/importieren</h4>
<p>Es gibt die Funktion, Ordner<strike> zu importieren (Vokabeln hochladen) und </strike>zu exportieren (Ordner herunterladen).</p>
<br>
<strike>
<p>Bitte beachte beim Hochladen (Import):</p>
<ul align="left">
<li>Die Datei muss im <i>.csv-</i>Format gespeichert sein</li>
<li>Maximal 150 Vokabeln auf einmal</li>
<li>Die Datei darf maximal 5 MB gro&szlig; sein</li>
</ul>
<br>
<p>Ein fertige Vorlage (als richtiges Format) kannst Du Dir <a href='VokabelBox Import-Vorlage.csv' download>hier herunterladen</a>. Diese kannst Du bearbeiten und dann in den gew&uuml;nschten Ordner hochladen.</p>
<br>
</strike>
<p>Beim Herunterladen (Export) wird der <i>gesamte Ordner </i>heruntergeladen.</p>
<button onclick="back()">Zur&uuml;ck</button>
<?php
}
?>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
</body>
</html>

83
help/index.php Normal file
View File

@@ -0,0 +1,83 @@
<?php session_start();
$sitename = 'help/import-export';
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<script>
function back() {
window.history.back();
}
</script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../files/style.css" />
<script language="javascript" type="text/javascript" src="../files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='../index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='../index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='../myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='../marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='../search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div class="selected" onclick="window.location.href='index'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='../actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
?>
<div class="vok-folder" onclick="window.location.href='basics'">
<span>Die Basics<br>
<small>Ordner erstellen, vokabeln hinzuf&uuml;gen und l&ouml;schen</small></span>
</div>
<div class="vok-folder" onclick="window.location.href='import-export'">
<span>Export<br>
<small>Vokabellisten herunterladen</small></span>
</div>
<div class="vok-folder" onclick="window.location.href='share-library'">
<span>Ordner teilen/freigeben<br>
<small>Ordner mit Freunden teilen oder in der Bibliothek ver&ouml;ffentlichen</small></span>
</div>
<?php
}
?>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
</body>
</html>

77
help/share-library.php Normal file
View File

@@ -0,0 +1,77 @@
<?php session_start();
$sitename = 'help/import-export';
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<script>
function back() {
window.history.back();
}
</script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../files/style.css" />
<script language="javascript" type="text/javascript" src="../files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='../index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='../index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='../myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='../marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='../search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div class="selected" onclick="window.location.href='index'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='../actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "../files/ezine_db.inc.php";
include "../files/loginscript.inc.php";
include "../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
?>
<h4>Einen Ordner mit anderen teilen</h4>
<p>Gehe in den Ordner den Du teilen m&ouml;chtest. Klicke auf "Mehr" und dann auf "Teilen". Es erscheint ein Einladungslink, den Du ebenfalls kopieren kannst. Wer den Link hat, kann sich den Ordner importieren. Sollte der Ordner bearbeitet werden, bleibt er bei Dir unver&auml;ndert und anders herum.</p>
<h4>Einen Ordner in die Bibliothek laden</h4>
<p>Gehe in den Ordner den Du in die Bibliothek laden m&ouml;chtest. Klicke auf "Mehr" und dann auf "Teilen". Klicke auf freigeben und folge den weiteren Schritten. Nun kann sich den Ordner importieren. Sollte der Ordner bearbeitet werden, bleibt er bei Dir unver&auml;ndert und anders herum. Bei dem freigegbenen Ordner erscheint ein Icon. Die Freigabe kann jederzeit aufgehoben werden.</p>
<button onclick="back()">Zur&uuml;ck</button>
<?php
}
?>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
</body>
</html>

175
import.php Normal file
View File

@@ -0,0 +1,175 @@
<?php /* session_start();
$Suchbegriff = strip_tags(htmlentities($_GET["q"]));
$_SESSION["redirect"] = 'index';
$folderID = $_SESSION["folderID"];
$dateiname = $_FILES['file']['name'];
$groesse = $_FILES['file']['size'];
$typ = $_FILES['file']['type'];
$tmp_name = $_FILES['file']['tmp_name'];
$page = strip_tags(htmlentities($_POST["page"]));
?>
<!DOCTYPE html>
<html>
<head>
<title>Importieren | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<button class="far fa-user-circle" onclick="window.location.href='myaccount'"></button>
<button class="fas fa-user-circle" onclick="window.location.href='myaccount'"></button>
<form id="search-bar" action="search" method="GET">
<input type="text" required autofocus placeholder="Suche..." name="q">
<button type="submit" class="fas fa-search"></button>
</form>
<button type="text" class="fas fa-times" id="search-bar-close" onclick="hideSearch()"></button>
<button class="fas fa-search" id="search-open" onclick="showSearch()"></button>
</header>
<main>
<div class="middle">
<?php
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
if($page == '1' || $page == '') {
?>
<form action="import" method="post" enctype="multipart/form-data">
<input type="hidden" name="page" value="2">
<input type="file" name="file"><br>
<button type="submit">Hochladen</button>
</form>
<?php
}
if($page == '2') {
$dateiname = $_FILES['file']['name'];
$groesse = $_FILES['file']['size'];
$typ = $_FILES['file']['type'];
$tmp_name = $_FILES['file']['tmp_name'];
$csv_mimetypes = array(
'text/csv',
'text/plain',
'application/csv',
'text/comma-separated-values',
'application/excel',
'application/vnd.ms-excel',
'application/vnd.msexcel',
'text/anytext',
'application/octet-stream',
'application/txt',
);
if (!in_array($_FILES['file']['type'], $csv_mimetypes)) {
echo "<p>Dies ist keine CSV-Datei! Ein <a href='https://www.convertio.co/de/'>Datei-Converter</a> kann helfen.</p>";
}
else {
if($groesse >= '500000') {
die("Die Datei darf maximal 5 Megabyte gro&szlig; sein! <button onclick=\"window.location.href='import'\">Zur&uuml;ck</button>");
}
$dateiname_tmp = hash('crc32',$dateiname);
move_uploaded_file(
$_FILES['file']['tmp_name'] ,
'temporary/'. $dateiname_tmp);
$pfad = 'temporary/' . $dateiname_tmp;
print("<h4>Stimmt das so?</h4><h2><b>$dateiname</b></h2><table class='vok-table'><tr><td>Muttersprache</td><td>Fremdsprache</td></tr>");
$row = 1;
if (($handle = fopen($pfad, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 4096, ",")) !== FALSE) {
if($row == '1') {
$row++;
$c = '0';
}
else {
if($row == '2') {
print("<tr>");
$row++;
for ($c=0; $c < '2'; $c++) {
echo "<td>" . $data[$c] . "</td>\n";
}
print("</tr>");
}
else {
print("<tr>");
$row++;
for ($c=0; $c < '2'; $c++) {
echo "<td>" . $data[$c] . "</td>\n";
}
print("</tr>");
}
}
}
fclose($handle);
}
?>
</table>
<button onclick=\"window.location.href='actions/add-vokab'\" class='classic-button classic-button-grey'>
<i class='fas fa-download'> </i>
Importieren
</button>
<?php
}
}
}
?>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
<a id='back-arrow' class='fas fa-arrow-left back no-formatting' href='index?folderID=<?php print("$folderID") ?>'></a>
</body>
</html>
<?php */ ?>

568
index.php Normal file
View File

@@ -0,0 +1,568 @@
<?php session_start();
$sitename = 'index';
// Ordner-ID holen (alternativ aus der Session)
$folderID = strip_tags(htmlentities($_GET["folderID"]));
if($_GET["folderID"] != '') {
$_SESSION["folderID"] = $folderID;
}
// Lernsession zuruecksetzen
unset($_SESSION["vokGroup1"]);
unset($_SESSION["vokGroup2"]);
unset($_SESSION["vokGroup3"]);
unset($_SESSION["remain"]);
unset($_SESSION["total"]);
unset($_SESSION["true"]);
unset($_SESSION["false"]);
unset($_SESSION["action"]);
unset($_SESSION["trainFirstTime"]);
// Teilen-Link erstellen
$url = 'https://www.timvandenboom.de/vokabelbox/share?id=' . $folderID;
?>
<!DOCTYPE html>
<html>
<head>
<?php
if($folderID != '') {
?>
<title>Ordner <?php print("$folderID"); ?> | Vokabelbox</title>
<?php
}
else {
?>
<title>Vokabelbox</title>
<?php
}
?>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<div id='window-1' class="window">
<input type='text' disabled value='<?php print("https://www.timvandenboom.de/vokabelbox/share?id=$folderID"); ?>'>
<button onclick="copyLink('<?php print("https://www.timvandenboom.de/vokabelbox/share?id=$folderID"); ?>')" class='classic-button classic-button-grey'>
<i class='fas fa-copy'> </i>
Kopieren
</button>
<h2>ODER</h2>
<h4>In die Bibliothek laden</h4>
<button onclick="window.location.href='publish'" class='classic-button classic-button-grey'>
<i class='fas fa-users'> </i>
Freigeben
</button>
</div>
<form action='learn' method='post' id='window-2' class="window">
<p>Anzahl Vokabeln</p>
<input type='number' value='20' step='5' name='number'>
<p>Vokabeln ausw&auml;hlen</p>
<input type='checkbox' name='vok-group-1' checked>
<input type='checkbox' name='vok-group-2' checked>
<input type='checkbox' name='vok-group-3' checked>
<br>
<button type='submit' class='classic-button classic-button-grey'>
Starten
<i class='fas fa-angle-right'> </i>
</button>
</form>
<div id='window-3' class="window">
<?php /* <button onclick="window.location.href='?action=select'" class='classic-button classic-button-grey'>
<i class='fas fa-check-square'> </i>
Ausw&auml;hlen
</button>
*/ ?>
<button onclick="window.open('print','_blank');" class='classic-button classic-button-grey'>
<i class='fas fa-print'> </i>
Drucken
</button>
<button onclick="closeWindow(1),openWindow(1)" class='classic-button classic-button-grey'>
<i class='fas fa-share'> </i>
Teilen
</button>
<button onclick="window.location.href='export'" class='classic-button classic-button-grey'>
<i class='fas fa-upload'> </i>
Exportieren
</button>
<h4><a href='help/import-export'>Hilfe</a></h4>
</div>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div class="selected" onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<main id="main">
<div class="middle">
<?php
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
// Vokabeln der aktuellen Lernsession zuruecksetzen
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '0' WHERE (`Nutzername` = '$Benutzername')");
$action = strip_tags(htmlentities($_GET["action"]));
$number_rows = strip_tags(htmlentities($_GET["number-rows"]));
// Alle Actions abfragen um bei "else" den normalen Ordner abzufragen
if($action == 'add-folder' || $action == 'delete-folder' || $action == 'add-vokab' || $action == 'edit-folder'/* || $action == 'select'*/) {
$folderID = $_SESSION["folderID"];
$_SESSION["folderID"] = $folderID;
if($action == 'add-folder') {
$forwarding = strip_tags(htmlentities($_GET["forwarding"]));
$add_from = strip_tags(htmlentities($_GET["folderID"]));
// Schauen, ob Nutzer von anderer Seiote kommt um Ordner zu erstellen
if($forwarding == 'share-import' || $forwarding == 'library-import' && isset($add_from)) {
$_SESSION["forwarding"] = $forwarding;
$_SESSION["add-from"] = $add_from;
if($forwarding == 'share-import') {
$arrow_nav = 'share?id=' . $add_from;
}
if($forwarding == 'library-import') {
$arrow_nav = 'library?id=' . $add_from;
}
?>
<form action="actions/add-folder" method="post">
<input type="text" autofocus required name="folderTEXT" maxlength="30" placeholder="Ordnername"><br>
<button class="classic-button classic-button-grey" type="ubmit">
<i class="fas fa-angle-right"> </i>
Erstellen
</button>
</form>
<?php
}
// Normales Ordner-Erstellen
else {
$arrow_nav = 'index';
?>
<form action="actions/add-folder" method="post">
<input type="text" autofocus required name="folderTEXT" maxlength="30" placeholder="Ordnername"><br>
<button class="classic-button classic-button-grey" type="ubmit">
<i class="fas fa-angle-right"> </i>
Erstellen
</button>
</form>
<?php
}
}
if($action == 'delete-folder') {
$arrow_nav = '?action=edit-folder';
$_SESSION["redirect"] = 'index';
// Ordnername abfragen
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
}
?>
<h2>Bist du dir sicher? Es werden alle Vokabeln mitgel&ouml;scht!</h2>
<p>Ordnername: <b><?php print("$folderTEXT"); ?></b></p>
<form action="actions/delete-folder" method="post">
<input value="L&ouml;schen" class="classic-button classic-button-red" type="submit">
</form>
<?php
}
if($action == 'add-vokab') {
$arrow_nav = '?action=edit-folder';
$_SESSION["redirect"] = 'index';
// Ordnername abfragen
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
}
if($number_rows == '') {
$number_rows = '10';
}
if($number_rows <= '0' || $number_rows > '100' && $number_rows < '500') {
print("<script> alert('Ungueltiger Wert.'); </script>");
print("<meta http-equiv='refresh' content='0; URL=index?action=add-vokab&number-rows=10'>");
}
else {
if($number_rows >= '500') {
print("<script> alert('Sach mal, willst du, dass mir der Server abraucht?!'); </script>");
print("<meta http-equiv='refresh' content='0; URL=index?action=add-vokab&number-rows=10'>");
}
else {
?>
<p>Ordner: <b><?php print("$folderTEXT"); ?></b></p>
<p>Anzahl Reihen:</p>
<form action="index" method="get">
<input type="hidden" name="action" value="add-vokab">
<input type="number" value="<?php print("$number_rows"); ?>" step="5" max="100" min="0" name="number-rows">
<button type="submit">&Uuml;bernehmen</button>
</form>
<p><i class="fas fa-exclamation-triangle"> </i>Vorsicht! Es werden alle Eintr&auml;ge entfernt!</p>
<form action="actions/add-vokab" method="post">
<input type="hidden" name="number-rows" value="<?php print("$number_rows"); ?>">
<table class="vok-table">
<tr>
<td><b>Muttersprache</b></td>
<td><b>Sprache 2</b></td>
</tr>
<?php
while($number_rows > '0') {
?>
<tr>
<td><input maxlength="100" type="text" name="Vok<?php print("$number_rows-1"); ?>"></td>
<td><input maxlength="100" type="text" name="Vok<?php print("$number_rows-2"); ?>"></td>
</tr>
<?php
$number_rows = $number_rows - 1;
}
?>
</table>
<p>Nur vollst&auml;ndige Zeilen werden hinzugef&uuml;gt.</p>
<button type="submit" class="classic-button classic-button-grey">
<i class="fas fa-plus"> </i>
Hinzuf&uuml;gen
</button>
</form>
<?php
}
}
}
if($action == 'edit-folder') {
$arrow_nav = '?folderID=' . $folderID;
$_SESSION["redirect"] = 'index';
// Ordnername abfragen
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
}
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` != ''";
$result_articles = $conn->query($sql);
// Wenn Ordner leer ist
if(!mysqli_num_rows($result_articles))
{
// Damit "edit-folder" keinen Fehler ausgibt
$_SESSION["gesamtAnzahl"] = '1';
?>
<button onclick="window.location.href='index?action=delete-folder&folderID=<?php print("$folderID"); ?>'" class="classic-button classic-button-grey">
<i class="fas fa-trash"> </i>
L&ouml;schen
</button>
<br>
<form method="post" action="actions/edit-folder">
<input maxlength="30" type="text" value="<?php print("$folderTEXT"); ?>" name="folderTEXT">
<button type="submit" class="classic-button classic-button-grey">
<i class="fas fa-save"> </i>
Speichern
</button>
</form>
<button onclick="window.location.href='index?action=add-vokab'" class="classic-button classic-button-grey">
Neue Vokabeln
<i class="fas fa-plus"> </i>
</button>
<?php
}
// Wenn Ordner Vokabeln enthaelt
else {
// Damit "edit-folder" weiß, wie viele Felder es abarbeiten muss
$gesamt_anzahl = mysqli_num_rows($result_articles);
$_SESSION["gesamtAnzahl"] = $gesamt_anzahl;
$count = 0;
?>
<button onclick="window.location.href='index?action=delete-folder&folderID=<?php print("$folderID"); ?>'" class="classic-button classic-button-grey">
<i class="fas fa-trash"> </i>
L&ouml;schen
</button>
<br>
<form method="post" action="actions/edit-folder">
<input maxlength="30" type="text" value="<?php print("$folderTEXT"); ?>" name="folderTEXT">
<button type="submit" class="classic-button classic-button-grey">
<i class="fas fa-save"> </i>
Speichern
</button>
<br>
<table class="vok-table">
<tr>
<td><b>Sprache 1</b></td>
<td><b>Sprache 2</b></td>
</tr>
<?php
// Vokabeln mit ID's versehen
while ($articleDb = mysqli_fetch_object($result_articles)) {
$count = $count + 1;
?>
<tr>
<td><input maxlength="100" type="text" value="<?php print("$articleDb->Sprache1"); ?>" name="<?php print("Vok$count-1"); ?>"></td>
<td><input maxlength="100" type="text" value="<?php print("$articleDb->Sprache2"); ?>" name="<?php print("Vok$count-2"); ?>"></td>
</tr>
<?php
}
?>
</table>
<p>Zeile leer lassen, um sie zu entfernen.</p>
</form>
<button onclick="window.location.href='index?action=add-vokab'" class="classic-button classic-button-grey">
Neue Vokabeln
<i class="fas fa-plus"> </i>
</button>
<?php
}
}
// Select ist noch nicht fertig. Wichtig: Oben im "action-Verzteichnis" select wegkommentieren!
/*
if($action == 'select') {
$arrow_nav = '?folderID=' . $folderID;
$_SESSION["redirect"] = 'index';
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
}
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` != ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
?>
<p>Der Ordner ist leer. Daher k&ouml;nnen auch keine Vokabeln ausgew&auml;hlt werden.</p>
<?php
}
else {
$gesamt_anzahl = mysqli_num_rows($result_articles);
$_SESSION["gesamtAnzahl"] = $gesamt_anzahl;
?>
<form method="post" action="actions/edit-folder">
<br>
<table class="vok-table">
<tr>
<td><b>Sprache 1</b></td>
<td><b>Sprache 2</b></td>
</tr>
<?php
while ($articleDb = mysqli_fetch_object($result_articles)) {
?>
<tr>
<td><?php print("$articleDb->Sprache1"); ?></td>
<td><?php print("$articleDb->Sprache2"); ?><input type="checkbox" name="<?php print("Vok$count"); ?>"></td>
</tr>
<?php
}
?>
</table>
<button onclick="window.location.href='actions/select'" class="classic-button classic-button-grey">
Weiter
<i class="fas fa-angle-right"> </i>
</button>
</form>
<p>W&auml;hle Vokabeln aus, um Aktionen durchzuf&uuml;hren</p>
<?php
}
}
*/
}
// Ab hier Actions abgearbeitet!
// Jetzt kommen normale Ordnerabfragen
else {
$_SESSION["redirect"] = 'index';
if($folderID == '') {
$sql = "SELECT DISTINCT `ID`,`Ordner`,`Public` FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
?>
<p>Du hast keinen Ordner</p>
<button onclick="window.location.href='library'" class="classic-button classic-button-grey">
<i class='fas fa-book'> </i>
Bibliothek
</button>
<button onclick="window.location.href='index?action=add-folder'" class="classic-button classic-button-grey">
<i class='fas fa-plus'> </i>
Neuer Ordner
</button>
<?php
}
else {
while ($articleDb = mysqli_fetch_object($result_articles)) {
?>
<div class="vok-folder" onclick="window.location.href='index?folderID=<?php print("$articleDb->ID"); ?>'">
<span><?php print("$articleDb->Ordner"); ?></span>
</div>
<?php
}
?> <button onclick="window.location.href='library'" class="classic-button classic-button-grey">
<i class='fas fa-book'> </i>
Bibliothek
</button>
<button onclick="window.location.href='index?action=add-folder'" class="classic-button classic-button-grey">
<i class='fas fa-plus'> </i>
Neuer Ordner
</button>
<?php
}
}
if($folderID != '') {
$arrow_nav = 'index';
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
$Public = $articleDb->Public;
}
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` != ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
?>
<h2><?php print("$folderTEXT"); ?></h2>
<p><i>Leerer Ordner</i></p>
<button onclick="window.location.href='index?action=edit-folder'" class="classic-button classic-button-grey">
<i class='fas fa-pen'> </i>
Bearbeiten
</button>
<br>
<?php
}
else {
$gesamt_anzahl = mysqli_num_rows($result_articles);
$_SESSION["folderID"] = $folderID;
$_SESSION["true"] = '0';
$_SESSION["false"] = '0';
$_SESSION["action"] = '0';
if($Public == '1') {
?>
<h2><?php print("$folderTEXT"); ?> <sup><i title="Dieser Ordner wird freigegeben" class="fas fa-users"></i></sup></h2>
<button onclick="window.location.href='actions/edit-folder?savechange=turnoff-publish'" class="classic-button classic-button-grey">
<i class="fas fa-user-slash"> </i>
Aufheben
</button><br>
<button onclick="window.location.href='index?action=edit-folder'" class="classic-button classic-button-grey">
<i class="fas fa-pen"> </i>
Bearbeiten
</button>
<button onclick="openWindow(2)" class="classic-button classic-button-grey">
Lernen
<i class="fas fa-angle-right"> </i>
</button>
<table class="vok-table">
<tr>
<td><b>Sprache 1</b></td>
<td><b>Sprache 2</b></td>
</tr>
<?php
}
else {
?> <h2><?php print("$folderTEXT"); ?></h2>
<button onclick="window.location.href='index?action=edit-folder'" class="classic-button classic-button-grey">
<i class="fas fa-pen"> </i>
Bearbeiten
</button>
<button onclick="openWindow(2)" class="classic-button classic-button-grey">
Lernen
<i class="fas fa-angle-right"> </i>
</button>
<table class="vok-table">
<tr>
<td><b>Sprache 1</b></td>
<td><b>Sprache 2</b></td>
</tr>
<?php
}
while ($articleDb = mysqli_fetch_object($result_articles)) {
if($articleDb->Lernfortschritt <= '3') {
$progress_dot = '1';
}
if($articleDb->Lernfortschritt > '3' && $articleDb->Lernfortschritt <= '5') {
$progress_dot = '2';
}
if($articleDb->Lernfortschritt > '5') {
$progress_dot = '3';
}
?> <tr class="progress-<?php print("$progress_dot"); ?>">
<td><?php print("$articleDb->Sprache1"); ?></td>
<td><?php print("$articleDb->Sprache2"); ?></td>
</tr>
<?php
}
?>
</table>
<button onclick="openWindow(3)" class="classic-button classic-button-grey">
Mehr
<i class="fas fa-ellipsis-h"> </i>
</button>
<?php
}
}
}
}
?>
<p class="impressum"><a class="no-formatting" href="https://www.timvandenboom.de/impressum">Impressum</a><p>
</div>
</main>
<a id="back-arrow-window" class="fas fa-arrow-left back no-formatting" onclick="closeWindow(1)"></a>
<?php
if($LoggedIn == 'true' && isset($arrow_nav)) {
?>
<a id="back-arrow" class="fas fa-arrow-left back no-formatting" href="<?php print("$arrow_nav"); ?>"></a>
<?php
}
?>
</body>
</html>

441
learn.php Normal file
View File

@@ -0,0 +1,441 @@
<?php session_start();
$sitename = 'learn';
$_SESSION["redirect"] = 'index';
$folderID = $_SESSION["folderID"];
$action = $_SESSION["action"];
$entered = strip_tags(htmlentities($_POST["entered"]));
$vokGroup1 = strip_tags(htmlentities($_POST["vok-group-1"]));
$vokGroup2 = strip_tags(htmlentities($_POST["vok-group-2"]));
$vokGroup3 = strip_tags(htmlentities($_POST["vok-group-3"]));
if($vokGroup1 == '' && $vokGroup2 == '' && $vokGroup3 == '') {
$vokGroup1 = $_SESSION["vokGroup1"];
$vokGroup2 = $_SESSION["vokGroup2"];
$vokGroup3 = $_SESSION["vokGroup3"];
}
else {
$_SESSION["vokGroup1"] = $vokGroup1;
$_SESSION["vokGroup2"] = $vokGroup2;
$_SESSION["vokGroup3"] = $vokGroup3;
$startedForFirstTime = '1';
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Lernen | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
<br>
<div onclick="window.location.href='index?folderID=<?php print("$folderID"); ?>'" title="Aktuelle Lern-Session beenden und zur &Uuml;bersicht zur&uuml;ckkehren"><i class="fas fa-chevron-left"></i>Beenden</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
// Kombination von Rot, Gelb und Gruen bei der Auswahl in Daten umwandeln
if($vokGroup1 != '' && $vokGroup2 != '' && $vokGroup3 != '') {
$auswahl = "`Lernfortschritt` < '99'";
}
if($vokGroup1 != '' && $vokGroup2 == '' && $vokGroup3 == '') {
$auswahl = "`Lernfortschritt` <= '3'";
}
if($vokGroup2 != '' && $vokGroup1 == '' && $vokGroup3 == '') {
$auswahl = "(`Lernfortschritt` > '3') AND (`Lernfortschritt` <= '5')";
}
if($vokGroup3 != '' && $vokGroup1 == '' && $vokGroup2 == '') {
$auswahl = "`Lernfortschritt` > '5'";
}
if($vokGroup1 != '' && $vokGroup2 != '' && $vokGroup3 == '') {
$auswahl = "(`Lernfortschritt` <= '3' OR `Lernfortschritt` > '3') AND (`Lernfortschritt` <= '5')";
}
if($vokGroup1 != '' && $vokGroup3 != '' && $vokGroup2 == '') {
$auswahl = "`Lernfortschritt` <= '3' OR Lernfortschritt` > '5'";
}
if($vokGroup2 != '' && $vokGroup3 != '' && $vokGroup1 == '') {
$auswahl = "`Lernfortschritt` > '3' AND (`Lernfortschritt` <= '5' OR `Lernfortschritt` > '5')";
}
if($vokGroup1 == '' && $vokGroup2 == '' && $vokGroup3 == '') {
$_SESSION["errorCode"] = 'couldntStartLearn';
print("<meta http-equiv='refresh' content='0; URL=index?folderID=$folderID'>");
}
if($vokGroup1 == '' && $vokGroup2 == '' && $vokGroup3 == '') {
$_SESSION["errorCode"] = 'couldntStartLearn';
print("<meta http-equiv='refresh' content='0; URL=index?folderID=$folderID'>");
}
// Wenn zum ersten Mal gestartet: Eingegebene Werte werden fuer die kommenden Seiten schmackhaft gemacht
if($startedForFirstTime == '1') {
// Wenn die aktuelle Auswahl keine Vokabeln enthaelt
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` != '') AND ($auswahl)";
$result_articles = $conn->query($sql);
$gesamt_anzahl = mysqli_num_rows($result_articles);
if(!mysqli_num_rows($result_articles))
{
$_SESSION["errorCode"] = 'couldntStartLearn';
print("<meta http-equiv='refresh' content='0; URL=index?folderID=$folderID'>");
}
$number = strip_tags(htmlentities($_POST["number"]));
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '1' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` != '') ORDER BY RAND() LIMIT $number");
}
// Normale Abfrage
if($action == '0') {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '2') AND ($auswahl)";
$result_articles = $conn->query($sql);
$true = mysqli_num_rows($result_articles);
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '3') AND ($auswahl)";
$result_articles = $conn->query($sql);
$false = mysqli_num_rows($result_articles);
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` != '') AND ($auswahl) AND (`Session` > 0)";
$result_articles = $conn->query($sql);
$total = mysqli_num_rows($result_articles);
$solved = $false + $true;
// Wenn alle Vokabeln abgearbeitet sind
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` != '') AND ($auswahl) AND (`Session` = '1') ORDER BY RAND() LIMIT 0,1";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print("<p>Ergebnis wird errechnet...");
print("<meta http-equiv='refresh' content='1; URL=result'>");
}
while ($articleDb = mysqli_fetch_object($result_articles)) {
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '10' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` = '$articleDb->Sprache1') AND (`Sprache2` = '$articleDb->Sprache2')");
print(
"<div class='live-result'><div><span class='green'>$true</span> | <span class='red'>$false</span><span>&nbsp;&nbsp;</span>
<span>$solved / $total</span></div></div>");
$_SESSION["folderID"] = $folderID;
$_SESSION["action"] = '1';
print(
"<p>$articleDb->Sprache1</p>
<form class='form' method='post' action='learn'>
<input type='text' autofocus style='text-align: center !important' name='entered'><br>
<button type='submit' class='classic-button classic-button-grey'>
Weiter
<i class='fas fa-angle-right'> </i>
</button>
</form>");
}
}
// Ueberpruefung
if($action == '1') {
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername'";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$Zeit = $articleDb->Zeit;
$GrossKlein = $articleDb->GrossKlein;
}
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '2') AND ($auswahl)";
$result_articles = $conn->query($sql);
$true = mysqli_num_rows($result_articles);
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '3') AND ($auswahl)";
$result_articles = $conn->query($sql);
$false = mysqli_num_rows($result_articles);
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` != '') AND ($auswahl) AND (`Session` > 0)";
$result_articles = $conn->query($sql);
$total = mysqli_num_rows($result_articles);
$solved = $false + $true + 1;
// Wenn Benutzer die Gross-Klein-Beachtung eingeschaltet hat
if($GrossKlein == 'on') {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$Sprache1 = $articleDb->Sprache1;
$Sprache2 = $articleDb->Sprache2;
// Wenn richtig
if($entered == $articleDb->Sprache2) {
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Lernfortschritt` = `Lernfortschritt` + 1 WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')");
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '2' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')");
$true = $true + 1;
print(
"<div class='live-result'><div><span class='green'>$true</span> | <span class='red'>$false</span>&nbsp;&nbsp;<span>$solved / $total</span></div></div>");
print(
"<p>$articleDb->Sprache1</p>
<p class='result result-true'>$articleDb->Sprache2</p>
");
}
// Wenn falsch
else {
if($entered == '') {
$entered = 'Keine Eingabe';
}
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Lernfortschritt` = `Lernfortschritt` - 1 WHERE (`Lernfortschritt` > 0) AND (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` = '$Sprache1') AND (`Sprache2` = '$Sprache2')");
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '3' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` = '$Sprache1') AND (`Sprache2` = '$Sprache2')");
$false = $false + 1;
print(
"<div class='live-result'><div><span class='green'>$true</span> | <span class='red'>$false</span><span>&nbsp;&nbsp;</span>
<span>$solved / $total</span></div></div>");
print(
"<p>$articleDb->Sprache1</p>
<p class='result result-false'>$entered</p>
<p><i>$articleDb->Sprache2</i></p>
");
}
$_SESSION["folderID"] = $folderID;
$_SESSION["action"] = '0';
print("<meta http-equiv='refresh' content='$Zeit; URL=learn'>");
}
}
// Wenn Benutzer die Gross-Klein-Beachtung ausgeschaltet hat
if($GrossKlein == '') {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$Sprache1 = $articleDb->Sprache1;
$Sprache2 = $articleDb->Sprache2;
if(strtolower($entered) == strtolower($articleDb->Sprache2)) {
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Lernfortschritt` = `Lernfortschritt` + 1 WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')");
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '2' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')");
$true = $true + 1;
print(
"<div class='live-result'><div><span class='green'>$true</span> | <span class='red'>$false</span><span>&nbsp;&nbsp;</span><span>$solved / $total</span></div></div>");
print(
"<p>$articleDb->Sprache1</p>
<p class='result result-true'>$articleDb->Sprache2</p>
");
}
else {
if($entered == '') {
$entered = 'Keine Eingabe';
}
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Lernfortschritt` = `Lernfortschritt` - 1 WHERE (`Lernfortschritt` > 0) AND (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` = '$Sprache1') AND (`Sprache2` = '$Sprache2')");
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '3' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` = '$Sprache1') AND (`Sprache2` = '$Sprache2')");
$false = $false + 1;
print(
"<div class='live-result'><div><span class='green'>$true</span> | <span class='red'>$false</span><span>&nbsp;&nbsp;</span>
<span>$solved / $total</span></div></div>");
print(
"<p>$articleDb->Sprache1</p>
<p class='result result-false'>$entered</p>
<p><i>$articleDb->Sprache2</i></p>
");
}
$_SESSION["folderID"] = $folderID;
$_SESSION["action"] = '0';
print("<meta http-equiv='refresh' content='$Zeit; URL=learn'>");
}
}
}
// Weitere Durchlaeufe
if($action == '2') {
$false = $_SESSION["false"];
$true = $_SESSION["true"];
$total = $_SESSION["total"];
$_SESSION["total"] = $total;
$solved = $false + $true;
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` != '') AND (`Session` = '3') ORDER BY RAND() LIMIT 0,1";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print("<p>Ergebnis wird errechnet...");
print("<meta http-equiv='refresh' content='1; URL=result'>");
}
while ($articleDb = mysqli_fetch_object($result_articles)) {
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '10' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` = '$articleDb->Sprache1') AND (`Sprache2` = '$articleDb->Sprache2')");
print(
"<div class='live-result'><div><span class='green'>$true</span> | <span class='red'>$false</span><span>&nbsp;&nbsp;</span>
<span>$solved / $total</span></div></div>");
$_SESSION["folderID"] = $folderID;
$_SESSION["action"] = '3';
print(
"<p>$articleDb->Sprache1</p>
<form class='form' method='post' action='learn'>
<input type='text' autofocus style='text-align: center !important' name='entered'><br>
<button type='submit' class='classic-button classic-button-grey'>
Weiter
<i class='fas fa-angle-right'> </i>
</button>
</form>");
}
}
// Ueberpruefen
if($action == '3') {
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername'";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$Zeit = $articleDb->Zeit;
$GrossKlein = $articleDb->GrossKlein;
}
$false = $_SESSION["false"];
$true = $_SESSION["true"];
$total = $_SESSION["total"];
$_SESSION["total"] = $total;
$solved = $false + $true + 1;
if($GrossKlein == 'on') {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$Sprache1 = $articleDb->Sprache1;
$Sprache2 = $articleDb->Sprache2;
if($entered == $articleDb->Sprache2) {
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Lernfortschritt` = `Lernfortschritt` + 1 WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')");
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '2' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')");
$true = $true + 1;
print(
"<div class='live-result'><div><span class='green'>$true</span> | <span class='red'>$false</span>&nbsp;&nbsp;<span>$solved / $total</span></div></div>");
print(
"<p>$articleDb->Sprache1</p>
<p class='result result-true'>$articleDb->Sprache2</p>
");
}
else {
if($entered == '') {
$entered = 'Keine Eingabe';
}
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Lernfortschritt` = `Lernfortschritt` - 1 WHERE (`Lernfortschritt` > 0) AND (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` = '$Sprache1') AND (`Sprache2` = '$Sprache2')");
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '4' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` = '$Sprache1') AND (`Sprache2` = '$Sprache2')");
$false = $false + 1;
print(
"<div class='live-result'><div><span class='green'>$true</span> | <span class='red'>$false</span><span>&nbsp;&nbsp;</span>
<span>$solved / $total</span></div></div>");
print(
"<p>$articleDb->Sprache1</p>
<p class='result result-false'>$entered</p>
<p><i>$articleDb->Sprache2</i></p>
");
}
$_SESSION["folderID"] = $folderID;
$_SESSION["action"] = '0';
print("<meta http-equiv='refresh' content='$Zeit; URL=learn'>");
}
}
if($GrossKlein == '') {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$Sprache1 = $articleDb->Sprache1;
$Sprache2 = $articleDb->Sprache2;
if(strtolower($entered) == strtolower($articleDb->Sprache2)) {
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Lernfortschritt` = `Lernfortschritt` + 1 WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')");
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '2' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '10')");
$true = $true + 1;
$_SESSION["true"] = $true;
print(
"<div class='live-result'><div><span class='green'>$true</span> | <span class='red'>$false</span><span>&nbsp;&nbsp;</span><span>$solved / $total</span></div></div>");
print(
"<p>$articleDb->Sprache1</p>
<p class='result result-true'>$articleDb->Sprache2</p>
");
}
else {
if($entered == '') {
$entered = 'Keine Eingabe';
}
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Lernfortschritt` = `Lernfortschritt` - 1 WHERE (`Lernfortschritt` > 0) AND (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` = '$Sprache1') AND (`Sprache2` = '$Sprache2')");
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '4' WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Sprache1` = '$Sprache1') AND (`Sprache2` = '$Sprache2')");
$false = $false + 1;
$_SESSION["false"] = $false;
print(
"<div class='live-result'><div><span class='green'>$true</span> | <span class='red'>$false</span><span>&nbsp;&nbsp;</span>
<span>$solved / $total</span></div></div>");
print(
"<p>$articleDb->Sprache1</p>
<p class='result result-false'>$entered</p>
<p><i>$articleDb->Sprache2</i></p>
");
}
$_SESSION["folderID"] = $folderID;
$_SESSION["action"] = '2';
print("<meta http-equiv='refresh' content='$Zeit; URL=learn'>");
}
}
}
}
?>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
</body>
</html>

210
library.php Normal file
View File

@@ -0,0 +1,210 @@
<?php session_start();
$sitename = 'library';
$page = strip_tags(htmlentities($_GET["p"]));
$folderID = strip_tags(htmlentities($_GET["folderID"]));
$sitename = 'library?folderID=' . $folderID;
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
if($LoggedIn == 'true') {
if($page == '') {
$page = '1';
}
$showResults = $page * 10 - 10;
?>
<!DOCTYPE html>
<html>
<head>
<title>Bibliothek | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<?php
$_SESSION["import-from"] = $folderID;
print(
" <form action='actions/add-vokab' method='post' id='window-6' class='window'>
<select name='import-to'>
<option disabled>---Bitte Ordner waehlen---</option>
<option disabled></option>
");
$sql = "SELECT DISTINCT `Ordner`,`ID` FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `Ordner` != ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print(
" <option disabled>---Keine Ordner gefunden---</option>");
}
else {
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <option selected value='$articleDb->ID'>$articleDb->Ordner</option>
");
}
}
print(
" <option disabled></option>
<option value='NEWFOLDER-LIBRARY'>(Oder: neuen Ordner erstellen)</option>
</select>
<br>
<button type='submit' class='classic-button classic-button-grey'><i class='fas fa-file-download'></i> Importieren</button>
</form>
");
?>
<main id="main">
<div class="middle">
<?php
include "files/errorcodesscript.inc.php";
if($folderID == '') {
print(
" <h2>Bibliothek</h2>
");
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Public` = '1' AND `Sprache1` = '' AND `Sprache2` = ''";
$result_articles = $conn->query($sql);
$gesamt_anzahl = mysqli_num_rows($result_articles);
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Public` = '1' AND `Sprache1` = '' AND `Sprache2` = '' LIMIT $showResults,10";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print(
" <h4>Hmm... Recht still hier. Sei Du der erste, der einen Ordner freigibt!</h4>
");
}
else {
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <div onclick=\"window.location.href='?folderID=$articleDb->ID'\" class='library-folder'>
<span>$articleDb->Ordner</span>
</div>
");
}
if($page > '1') {
$pageMINUS = $page - 1;
print(
"<button class='list-page-nav fas fa-caret-left' onclick='window.location.href=\"library?p=$pageMINUS\"' class='fas fa-caret-right'></button>
");
}
print(
"<span class='list-page-nav'>$page</span>
");
if($gesamt_anzahl > $page * 10) {
$pagePLUS = $page + 1;
print(
"<button class='list-page-nav fas fa-caret-right' onclick='window.location.href=\"library?p=$pagePLUS\"' class='fas fa-caret-right'></button>
");
}
}
}
else {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `ID` = '$folderID' AND `Sprache1` = '' AND `Public` = '1'";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
$Nutzername = $articleDb->Nutzername;
}
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `ID` = '$folderID' AND `Sprache1` != '' AND `Public` = '1'";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print(
" Es gibt keinen Ordner unter dieser ID, oder er beinhaltet keine Vokabeln.");
}
else {
print(
" <h2>$folderTEXT</h2>
<p>von $Nutzername</p>
<table class='vok-table'>
<tr>
<td><b>Sprache 1</b></td>
<td><b>Sprache 2</b></td>
</tr>
");
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <tr>
<td>$articleDb->Sprache1</td>
<td>$articleDb->Sprache2</td>
</tr>
");
}
print(
" </table>
<button onclick=\"openWindow(6)\" class='classic-button classic-button-grey'><i class='fas fa-file-download'></i> Importieren</button>
");
}
}
?>
<p class="impressum"><a class="no-formatting" href="https://www.timvandenboom.de/impressum">Impressum</a><p>
</div>
</main>
<a id="back-arrow-window" class="fas fa-arrow-left back no-formatting" onclick="closeWindow(4)"></a>
<?php
if($folderID != '') {
?>
<a id='back-arrow' class='fas fa-arrow-left back no-formatting' href='library'></a>
<?php
}
}
?>
</body>
</html>

78
login.php Normal file
View File

@@ -0,0 +1,78 @@
<?php session_start();
$_SESSION["Benutzername"] = '';
$_SESSION["Passwort"] = '';
?>
<!DOCTYPE html>
<html>
<head>
<title>Login | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
<br>
<div class="selected" title="Du loggst dich gerade ein"><i class="fas fa-sign-in-alt"></i>Login aktiv</div>
</div>
</div>
</header>
<main>
<?php
require "files/ezine_db.inc.php";
$folderID = strip_tags(htmlentities($_GET["folderID"]));
$forward = strip_tags(htmlentities($_GET["forward"]));
if($forward == '') {
$forward = 'index';
}
?>
<div class="middle">
<p>Login</p>
<form action='<?php print("$forward"); ?>' method="post">
<input type="text" name="Benutzername" required placeholder="Benutzername">
<br>
<input type="password" name="Passwort" required placeholder="Passwort" id="toggle-password1">
<input type="checkbox" class="fas fa-eye" id="toggle-password-chb1-eye" onclick="togglePassword(1)">
<input type="checkbox" class="fas fa-eye-slash" id="toggle-password-chb1-eye-slash" onclick="togglePassword(1)">
<br>
<input type='hidden' value='<?php print("$id"); ?>' name='id'>
<button type="submit" class="classic-button classic-button-grey"><i class="fas fa-sign-in-alt"></i> Einloggen</button>
</form>
<a class="no-formatting" href="register"><small>Konto erstellen</small></a><br>
<a class="no-formatting" href="service/password/forgot-password"><small>Passwort vergessen</small></a>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
</body>
</html>

1065
marks.php Normal file

File diff suppressed because it is too large Load Diff

576
marks2.php Normal file
View File

@@ -0,0 +1,576 @@
<?php session_start();
$item = strip_tags(htmlentities($_GET["item"]));
?>
<!DOCTYPE html>
<html>
<head>
<title>Meine Noten | VokabelBox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='index'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="openWindowLayer(4)" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<main id="main">
<div class="middle">
<?php
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
$action = strip_tags(htmlentities($_GET["action"]));
if($action == 'add-subject' || $action == 'edit-item' || $action == 'add-vokab' || $action == 'edit-folder') {
$item = $_SESSION["item"];
$_SESSION["item"] = $item;
if($action == 'add-subject') {
$arrow_nav = 'marks';
print(
" <form action='/actions/add-subject' method='post'>
<input type='text' autofocus required name='folderTEXT' maxlength='30' placeholder='Fachname'><br>
<div class='color-select-box'>
<input type='radio' name='color' value='FF5E5E' required>
<input type='radio' name='color' value='FF9D5E' required>
<input type='radio' name='color' value='FFBB5E' required>
<input type='radio' name='color' value='FFDF5E' required>
<input type='radio' name='color' value='FFFA5E' required>
<input type='radio' name='color' value='EBFF5E' required>
<input type='radio' name='color' value='CCFF5E' required>
<input type='radio' name='color' value='A5FF5E' required>
<input type='radio' name='color' value='87FF5E' required>
<input type='radio' name='color' value='5EFF5E' required>
<input type='radio' name='color' value='5EFFB1' required>
<input type='radio' name='color' value='5EFFD6' required>
<input type='radio' name='color' value='5EE2FF' required>
<input type='radio' name='color' value='5EC7FF' required>
<input type='radio' name='color' value='5EA5FF' required>
<input type='radio' name='color' value=5E83FF'' required>
<input type='radio' name='color' value='795EFF' required>
<input type='radio' name='color' value='A55EFF' required>
<input type='radio' name='color' value='D85EFF' required>
<input type='radio' name='color' value='FF5EFA' required>
<input type='radio' name='color' value='FF5ED6' required>
<input type='radio' name='color' value='FF5EB8' required>
<input type='radio' name='color' value='FF5E8F' required>
<input type='radio' name='color' value='FF5E79' required>
</div>
<input value='Fach erstellen' class='classic-button classic-button-grey' type='submit'>
</form>
");
}
if($action == 'delete-subject') {
$_SESSION["redirect"] = 'index';
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
}
print(
" <h2>Bist du dir sicher? Es werden alle Vokabeln mitgel&ouml;scht!</h2>
<p>Ordnername: <b>$folderTEXT</b></p>
<form action='actions/delete-folder' method='post'>
<input value='L&ouml;schen' class='classic-button classic-button-red' type='submit'>
</form>
");
}
if($action == 'add-item') {
$_SESSION["redirect"] = 'index';
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
}
if($number_rows == '') {
$number_rows = '10';
}
if($number_rows <= '0' || $number_rows > '100' && $number_rows < '500') {
print("<script> alert('Ungueltiger Wert.'); </script>");
print("<meta http-equiv='refresh' content='0; URL=index?action=add-vokab&number-rows=10'>");
}
else {
if($number_rows >= '500') {
print("<script> alert('Sach mal, willst du, dass mir der Server abraucht?!'); </script>");
print("<meta http-equiv='refresh' content='0; URL=index?action=add-vokab&number-rows=10'>");
}
else {
print(
" <p>Ordner: <b>$folderTEXT</b></p>
<p>Anzahl Reihen:</p>
<form action='index' method='get'>
<input type='hidden' name='action' value='add-vokab'>
<input type='number' value='$number_rows' step='5' max='100' min='0' name='number-rows'>
<button type='submit'>&Uuml;bernehmen</button>
</form>
<p><i class='fas fa-exclamation-triangle'> </i>Vorsicht! Es werden alle Eintr&auml;ge entfernt!</p>
<form action='actions/add-vokab' method='post'>
<input type='hidden' name='number-rows' value='$number_rows'>
<table class='vok-table'>
<tr>
<td><b>Muttersprache</b></td>
<td><b>Sprache 2</b></td>
</tr>");
while($number_rows > '0') {
print(
"<tr>
<td><input maxlength='100' type='text' name='Vok$number_rows-1'></td>
<td><input maxlength='100' type='text' name='Vok$number_rows-2'></td>
</tr>");
$number_rows = $number_rows - 1;
}
print("
</table>
<p>Nur vollst&auml;ndige Zeilen werden hinzugef&uuml;gt.</p>
<input value='Hinzuf&uuml;gen' class='classic-button classic-button-grey' type='submit'>
</form>
");
}
}
}
if($action == 'edit-item') {
$_SESSION["redirect"] = 'index';
$sql = "SELECT * FROM `VokabelBoxNoten` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$item'";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
$arrow_nav = 'marks?item=' . $item;
print("<h3>Das hat nicht geklappt...</h3>
<p style='font-size: 70px; margin-top: 25px;' class='fas fa-bug'></p>");
}
else {
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <h2>$articleDb->Titel</h2>
<h4>Zensur</h4>
<select>
");
if($articleDb->Note == '1') {
print(
" <option value='1.0' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1</option>
");
}
else {
print(
" <option value='1.0' name='zensur'>1</option>
");
}
if($articleDb->Note == '1.3') {
print(
" <option value='1.3' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1-</option>
");
}
else {
print(
" <option value='1.3' name='zensur'>1-</option>
");
}
if($articleDb->Note == '1.7') {
print(
" <option value='1.7' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2+</option>
");
}
else {
print(
" <option value='1.7' name='zensur'>2+</option>
");
}
if($articleDb->Note == '2') {
print(
" <option value='2.0' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2</option>
");
}
else {
print(
" <option value='2.0' name='zensur'>2</option>
");
}
if($articleDb->Note == '2.3') {
print(
" <option value='2.3' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2-</option>
");
}
else {
print(
" <option value='2.3' name='zensur'>2-</option>
");
}
if($articleDb->Note == '2.7') {
print(
" <option value='2.7' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3+</option>
");
}
else {
print(
" <option value='2.7' name='zensur'>3+</option>
");
}
if($articleDb->Note == '3.0') {
print(
" <option value='3.0' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3</option>
");
}
else {
print(
" <option value='3.0' name='zensur'>3</option>
");
}
if($articleDb->Note == '3.3') {
print(
" <option value='3.3' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3-</option>
");
}
else {
print(
" <option value='3.3' name='zensur'>3-</option>
");
}
if($articleDb->Note == '3.7') {
print(
" <option value='3.7' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4+</option>
");
}
else {
print(
" <option value='3.7' name='zensur'>4+</option>
");
}
if($articleDb->Note == '4.0') {
print(
" <option value='4.0' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4</option>
");
}
else {
print(
" <option value='4.0' name='zensur'>4</option>
");
}
if($articleDb->Note == '4.3') {
print(
" <option value='4.3' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4-</option>
");
}
else {
print(
" <option value='4.3' name='zensur'>4-</option>
");
}
if($articleDb->Note == '4.7') {
print(
" <option value='4.7' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5+</option>
");
}
else {
print(
" <option value='4.7' name='zensur'>5+</option>
");
}
if($articleDb->Note == '5.0') {
print(
" <option value='5.0' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5</option>
");
}
else {
print(
" <option value='5.0' name='zensur'>5</option>
");
}
if($articleDb->Note == '5.3') {
print(
" <option value='5.3' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5-</option>
");
}
else {
print(
" <option value='5.3' name='zensur'>5-</option>
");
}
if($articleDb->Note == '6.0') {
print(
" <option value='6.0' name='zensur' selected>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6</option>
");
}
else {
print(
" <option value='6.0' name='zensur'>6</option>
");
}
print(
" </select>
");
}
}
}
}
else {
$_SESSION["redirect"] = 'index';
if($item == '') {
$sql = "SELECT DISTINCT * FROM `VokabelBoxNoten` WHERE `Nutzername` = '$Benutzername' AND `Titel` = ''";
$result_articles = $conn->query($sql);
print(
" <select>
<option disabled>--Schuljahr w&auml;hlen--</option>");
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <option value='NEWYEAR'>$article</option>");
}
print(
" <option value='NEWYEAR'>--Neues Schuljahr erstellen--</option>
</select>");
$sql = "SELECT DISTINCT * FROM `VokabelBoxNoten` WHERE `Nutzername` = '$Benutzername' AND `Titel` = ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print(
" <p>Du hast keine F&auml;cher</p>
<a class=\"fas fa-folder-plus no-formatting icon\" href=\"index?action=add-folder\"></a>
");
}
else {
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <div class='subject-select' style='border-left: 6px solid #$articleDb->Farbe' onclick=\"window.location.href='marks?item=$articleDb->ID'\">
<span>$articleDb->Fach</span>
<h3>3-</h3>
</div>
");
}
}
print(
' <a class="far fa-plus-square no-formatting icon" href="marks?action=add-subject"></a>
');
}
if($item != '' && strpos($item, "-") != '0') {
$arrow_nav = 'marks?item=' . strstr($item, '-', true);
$sql = "SELECT * FROM `VokabelBoxNoten` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$item'";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print(" <p><i>Fehler</i></p>
");
}
else {
$gesamt_anzahl = mysqli_num_rows($result_articles);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$mark_non_decimal = $articleDb->Note;
$mark_non_decimal = str_replace(".3", "-", "$mark_non_decimal");
$mark_non_decimal = str_replace(".7", "+", "$mark_non_decimal");
if($mark_non_decimal == '1+') {
$mark_non_decimal = '2+';
}
else {
if($mark_non_decimal == '2+') {
$mark_non_decimal = '3+';
}
else {
if($mark_non_decimal == '3+') {
$mark_non_decimal = '4+';
}
else {
if($mark_non_decimal == '4+') {
$mark_non_decimal = '5+';
}
else {
if($mark_non_decimal == '5+') {
$mark_non_decimal = '6+';
}
}
}
}
}
print(" <h2>$articleDb->Titel</h2>
<h4>Zensur: $mark_non_decimal ($articleDb->Note)</h4>
<h4>Fach: -err-</h4>
");
if($articleDb->Bezeichnung == '1') {
print(" <h4>Typ: Hausaufgaben&uuml;berp&uuml;fung</h4>
<h4>Wertung: 10% d. Gesamtnote</h4>
");
}
if($articleDb->Bezeichnung == '3') {
print(" <h4>Typ: Arbeit</h4>
<h4>Wertung: 30% d. Gesamtnote</h4>
");
}
if($articleDb->Bezeichnung == '2') {
print(" <h4>Typ: Test</h4>
<h4>Wertung: 20% d. Gesamtnote</h4>
");
}
if($articleDb->Bezeichnung == '4') {
print(" <h4>Typ: Epochalnote</h4>
<h4>Wertung: 40% d. Gesamtnote</h4>
");
}
print(" <h4>Geschrieben am: $articleDb->Datum</h4>
");
}
$_SESSION["item"] = $item;
print(
" <button onclick=\"window.location.href='marks?action=edit-item'\" class='classic-button classic-button-grey'>
<i class='fas fa-pen'> </i>
Bearbeiten
</button>
<br>
");
}
}
else {
if(strpos($item, "-") == '0' && $item != '') {
$sql = "SELECT * FROM `VokabelBoxNoten` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$item' AND `Titel` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$subjectTEXT = $articleDb->Fach;
}
$arrow_nav = 'marks';
$sql = "SELECT * FROM `VokabelBoxNoten` WHERE `Nutzername` = '$Benutzername' AND `ID` LIKE '%$item%' AND `Titel` != ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print(" <h2><b>$subjectTEXT</b></h2>
<p><i>Keine eingetragenen Noten</i></p>
");
}
else {
print(
" <h2><b>$subjectTEXT</b></h2>
");
while ($articleDb = mysqli_fetch_object($result_articles)) {
$mark_non_decimal = $articleDb->Note;
$mark_non_decimal = str_replace(".3", "-", "$mark_non_decimal");
$mark_non_decimal = str_replace(".7", "+", "$mark_non_decimal");
if($mark_non_decimal == '1+') {
$mark_non_decimal = '2+';
}
else {
if($mark_non_decimal == '2+') {
$mark_non_decimal = '3+';
}
else {
if($mark_non_decimal == '3+') {
$mark_non_decimal = '4+';
}
else {
if($mark_non_decimal == '4+') {
$mark_non_decimal = '5+';
}
else {
if($mark_non_decimal == '5+') {
$mark_non_decimal = '6+';
}
}
}
}
}
print(" <div class='subject-item-list' onclick='window.location.href=\"marks?item=$articleDb->ID\"'>
<div>
<h4>$articleDb->Titel</h4>
<h3>$mark_non_decimal</h3>
</div>
</div>
");
}
print(
" </table>
<br>
");
print(
" <a href='index?action=add-vokab' class='no-formatting icon fas fa-plus-circle'></a>
");
}
}
}
}
}
?>
<p class="impressum"><a class="no-formatting" href="https://www.timvandenboom.de/impressum">Impressum</a><p>
</div>
</main>
<a id='show-not-arrow' class='fas fa-arrow-left back no-formatting' onclick='closeWindowLayer()'></a>
<?php
if($LoggedIn == 'true') {
if(isset($arrow_nav)) {
print(
" <a id='back-arrow' class='fas fa-arrow-left back no-formatting' href='$arrow_nav'></a>
");
}
}
?>
</body>
</html>

132
myaccount.php Normal file
View File

@@ -0,0 +1,132 @@
<?php session_start();
$sitename = 'myaccount';
?>
<!DOCTYPE html>
<html>
<head>
<title>Mein Account | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div class="selected" onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<form action='actions/change-password' method='post' id='window-5' class="window">
<input type="password" name="Passwort" required placeholder="Altes Passwort" id="toggle-password1">
<input type="checkbox" class="fas fa-eye" id="toggle-password-chb1-eye" onclick="togglePassword(1)">
<input type="checkbox" class="fas fa-eye-slash" id="toggle-password-chb1-eye-slash" onclick="togglePassword(1)">
<input type="password" name="Passwort1" required placeholder="Neues Passwort" id="toggle-password2">
<input type="checkbox" class="fas fa-eye" id="toggle-password-chb2-eye" onclick="togglePassword(2)">
<input type="checkbox" class="fas fa-eye-slash" id="toggle-password-chb2-eye-slash" onclick="togglePassword(2)">
<input type="password" name="Passwort2" required placeholder="Passwort wiederholen" id="toggle-password3">
<input type="checkbox" class="fas fa-eye" id="toggle-password-chb3-eye" onclick="togglePassword(3)">
<input type="checkbox" class="fas fa-eye-slash" id="toggle-password-chb3-eye-slash" onclick="togglePassword(3)">
<button type="submit" class="classic-button classic-button-grey">
<i class="fas fa-check"> </i>
Fertigstellen
</button>
<br>
<a class="no-formatting" href="service/password/forgot-password"><small>Passwort vergessen</small></a>
</form>
<main id='main'>
<div class="middle">
<?php
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
$action = strip_tags(htmlentities($_GET["action"]));
$sql = "SELECT DISTINCT `Ordner` FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
$Stat_Folder = mysqli_num_rows($result_articles);
$sql = "SELECT DISTINCT `Sprache1` FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `Sprache1` != ''";
$result_articles = $conn->query($sql);
$Stat_Voks = mysqli_num_rows($result_articles);
print(" <div class='myaccount-main'>
<div class='myaccount-statistic'><span>Ordner</span><p>$Stat_Folder</p></div>
<div class='myaccount-statistic'><span>Vokabeln</span><p>$Stat_Voks</p></div>
");
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername'";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
if($articleDb->GrossKlein == 'on') {
$selected = 'checked';
}
else {
$selected = '';
}
print(
" <form action='actions/save-accountsettings' method='post'>
<h3>Lernen</h3>
<p>Gro&szlig;-/Kleinschreibung beachten</p>
<input type='checkbox' $selected name='GrossKlein'>
<p>Anzeigedauer der Vokabeln</p>
<input type='number' value='$articleDb->Zeit' step='1' min='1' max='10' name='Zeit'>s<br>
<button type='submit' class='classic-button classic-button-grey'><i class='fas fa-save'></i> Speichern</button>
</form>
<p class='actions'>
<a href='#' onclick='alert(\"Um dein Konto zu loeschen, kontaktiere mich bitte per E-Mail unter tim[at]timvandenboom.de\")'>Konto L&ouml;schen</a>
|
<a href='#' onclick='openWindow(5)'>Passwort &auml;ndern</a>
</p>
</div>
");
}
}
?>
<p class="impressum"><a class="no-formatting" href="https://www.timvandenboom.de/impressum">Impressum</a><p>
</div>
</main>
<a id="back-arrow-window" class="fas fa-arrow-left back no-formatting" onclick="closeWindow(3)"></a>
<a id='back-arrow'></a>
</body>
</html>

121
print.php Normal file
View File

@@ -0,0 +1,121 @@
<?php session_start();
$sitename = 'print';
?>
<!DOCTYPE html>
<html>
<head>
<title>Ordner drucken | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<?php
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
$folderID = $_SESSION["folderID"];
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
}
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `ID` = '$folderID' AND `Sprache1` != ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print("Fehler");
}
else {
$gesamt_anzahl = mysqli_num_rows($result_articles);
print(
" <h2><b>$folderTEXT</b></h2><p></p>
<table>
<tr>
<td><b>Sprache 1</b></td>
<td><b>Sprache 2</b></td>
</tr>
");
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <tr>
<td>$articleDb->Sprache1</td>
<td>$articleDb->Sprache2</td>
</tr>
");
}
}
print(
" </table>
<span>Dr&uuml;cke STRG + P oder w&auml;hle 'Drucken' in den Optionen deines Browsers (Chrome: Drei Punkte oben rechts, Firefox: Button ganz oben rechts).</span>
");
}
?>
</body>
</html>
<style>
@import url('https://fonts.googleapis.com/css?family=Fredoka+One');
* {
font-family: Arial;
}
table {
width: 100%;
height: 100%;
border-collapse: separate;
border-spacing: 0px;
border-radius: 20px;
border: 3px solid #424242;
overflow: hidden;
}
table td {
border: 1px solid #424242;
padding: 3px;
}
table tr td:last-child {
border-right: 0px solid #fff;
}
tr td:first-child {
border-left: 0px solid #fff;
}
tr:last-child td {
border-bottom: 0px solid #fff;
}
tr:first-child td {
border-top: 0px solid #fff;
}
p {
-webkit-print-color-adjust: exact;
position: absolute;
top: 0px;
right: 0px;
font-size: 20px;
padding: 10px;
font-family: 'Fredoka One', cursive;
}
p::before {
content: "Vokabel";
}
p::after {
content: "Box";
background-color: #424242 !important;
color: #fff;
border-radius: 10px;
padding: 5px;
margin-left: 5px;
}
@media print {
span {
display: none;
}
}
</style>

90
publish.php Normal file
View File

@@ -0,0 +1,90 @@
<?php session_start();
$sitename = 'publish';
$folderID = $_SESSION["folderID"];
?>
<!DOCTYPE html>
<html>
<head>
<title>Veröffentlichen | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
print(
" <h1>Freigeben</h1>
<h3>Bitte beachte folgende Regeln:<br>
<p>
<i class='fas fa-angle-double-right'></i>Bibliothek nicht mit leeren oder irrsinnigen Ordnern und Vokabeln zum&uuml;llen<br>
<i class='fas fa-angle-double-right'></i>Vokabeln auf Richtigkeit &uuml;berpr&uuml;fen<br>
<i class='fas fa-angle-double-right'></i>Keinen Ordner doppelt hochladen oder einen Ordner importieren und nochmal hochladen
</p><br>
<h3>Weiteren Informationen zum Freigeben:<br>
<p>
<i class='fas fa-angle-double-right'></i>Jeder kann sich den Ordner importieren<br>
<i class='fas fa-angle-double-right'></i>Jeder kann den Ordner <b>f&uuml;r sich </b>bearbeiten &ndash; das Original (dein Ordner) bleibt von diesen &Auml;nderungen unber&uuml;hrt<br>
<i class='fas fa-angle-double-right'></i>Die Freigabe kann jederzeit zur&uuml;ckgezogen werden
</p><br>
<button onclick=\"window.location.href='index?folderID=$folderID'\" class='classic-button classic-button-grey'>
<i class='fas fa-angle-left'> </i>
Zur&uuml;ck
</button>
<button onclick=\"window.location.href='actions/edit-folder?savechange=publish'\" class='classic-button classic-button-grey'>
<i class='fas fa-users'> </i>
Freigeben
</button>");
}
?>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
</body>
</html>

69
register.php Normal file
View File

@@ -0,0 +1,69 @@
<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<title>Registrieren | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='../../index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='../../myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='../../marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='../../search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='../../help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='../../actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
<br>
<div class="selected" title="Du erstellst Dir gerade ein Benutzerkonto"><i class="fas fa-user"></i>Account erstellen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
include "files/errorcodesscript.inc.php";
?>
<p>Konto erstellen</p>
<form action="service/createaccount/create-account" method="post">
<input type="text" name="Benutzername" required placeholder="Benutzername" maxlength="50"><br>
<input type="email" name="Email" required placeholder="Email" maxlength="50"><br>
<input type="password" name="Passwort" required placeholder="Passwort" id="toggle-password1">
<input type="checkbox" class="fas fa-eye" id="toggle-password-chb1-eye" onclick="togglePassword(1)">
<input type="checkbox" class="fas fa-eye-slash" id="toggle-password-chb1-eye-slash" onclick="togglePassword(1)"><br>
<input type="password" name="Passwort2" required placeholder="Passwort wiederholen" id="toggle-password2">
<input type="checkbox" class="fas fa-eye" id="toggle-password-chb2-eye" onclick="togglePassword(2)">
<input type="checkbox" class="fas fa-eye-slash" id="toggle-password-chb2-eye-slash" onclick="togglePassword(2)"><br>
<input type="submit" value="Konto erstellen" class="classic-button classic-button-grey">
</form>
<a class="no-formatting" href="login"><small>Stattdessen anmelden</small></a>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
</body>
</html>

198
result.php Normal file
View File

@@ -0,0 +1,198 @@
<?php session_start();
$sitename = 'result';
?>
<!DOCTYPE html>
<html>
<head>
<title>Mein Ergebnis | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
<br>
<div onclick="window.location.href='index?folderID=<?php print("$folderID"); ?>'" title="Aktuelle Lern-Session beenden und zur &Uuml;bersicht zur&uuml;ckkehren"><i class="fas fa-chevron-left"></i>Beenden</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
$folderID = $_SESSION["folderID"];
$_SESSION["folderID"] = $folderID;
$trainFirstTime = $_SESSION["trainFirstTime"];
if($trainFirstTime == '') {
$_SESSION["trainFirstTime"] = '1';
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '2')";
$result_articles = $conn->query($sql);
$true = mysqli_num_rows($result_articles);
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID') AND (`Session` = '3')";
$result_articles = $conn->query($sql);
$false = mysqli_num_rows($result_articles);
$total = $false + $true;
$_SESSION["action"] = '2';
$_SESSION["total"] = $false;
$true_p = ('100' * $true) / $total;
$false_p = ('100' * $false) / $total;
$true_p = number_format($true_p, 0);
$false_p = number_format($false_p, 0);
print(
"<p>Dein Ergebnis:<br><span class='green'>$true</span> | <span class='red'>$false</span>
<div class='full'>
<div class='true'></div>
<div class='false'></div>
</div><br>
<p class='percent'>$true_p&#37;</p><br><br>");
$_SESSION["total"] = $false;
if($false != '0') {
?>
<button onclick="window.location.href='learn'" class='classic-button classic-button-grey'>
<i class='fas fa-graduation-cap'> </i>
Trainieren
</button>
<?php
}
?>
<button onclick="window.location.href='index?folderID=<?php print("$folderID"); ?>'" class='classic-button classic-button-grey'>
<i class='fas fa-check'> </i>
Fertig
</button>
<?php
}
else {
$true = $_SESSION["true"];
$false = $_SESSION["false"];
$total = $false + $true;
$_SESSION["total"] = $total;
$conn->query("UPDATE `VokabelBoxVokabeln` SET `Session` = '3' WHERE (`Session` = '4') AND (`Nutzername` = '$Benutzername') AND (`ID` = '$folderID')");
$true_p = ('100' * $true) / $total;
$false_p = ('100' * $false) / $total;
$true_p = number_format($true_p, 0);
$false_p = number_format($false_p, 0);
print(
"<p>Dein Ergebnis:<br><span class='green'>$true</span> | <span class='red'>$false</span>
<div class='full'>
<div class='true'></div>
<div class='false'></div>
</div><br>
<p class='percent'>$true_p&#37;</p><br><br>");
$_SESSION["true"] = '0';
$_SESSION["false"] = '0';
$_SESSION["action"] = '2';
$_SESSION["total"] = $false;
if($false != '0') {
?>
<button onclick="window.location.href='learn'" class='classic-button classic-button-grey'>
<i class='fas fa-graduation-cap'> </i>
Trainieren
</button>
<?php
}
?>
<button onclick="window.location.href='index?folderID=<?php print("$folderID"); ?>'" class='classic-button classic-button-grey'>
<i class='fas fa-check'> </i>
Fertig
</button>
<?php
}
}
?>
</div>
</main>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</body>
</html>
<style>
.full {
width: 200px;
height: 50px;
position: relative;
margin: 10px auto;
border-radius: 15px;
overflow: hidden;
}
.true {
width: <?php print("$true_p"); ?>%;
height: 50px;
background-color: #A9F5A9;
position: absolute;
top: 0px;
left: 0px;
z-index: -1;
}
.false {
width: <?php print("$false_p"); ?>%;
height: 50px;
background-color: #F78181;
position: absolute;
top: 0px;
right: 0px;#
z-index: -1;
}
.percent {
background-color: #424242;
color: #fff;
border-radius: 10px;
padding: 10px;
display: inline;
font-size: 25px;
}
</style>

112
search.php Normal file
View File

@@ -0,0 +1,112 @@
<?php session_start();
$Suchbegriff = strip_tags(htmlentities($_GET["q"]));
$sitename = 'search';
?>
<!DOCTYPE html>
<html>
<head>
<title>Suchergebnisse f&uuml;r &laquo;<?php print("$Suchbegriff"); ?>&raquo; | Vokabelbox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div class="selected" onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "files/ezine_db.inc.php";
include "files/loginscript.inc.php";
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
if($Suchbegriff == '') {
?>
<form action="search" method="get">
<input type="text" maxlength="100" name="q" placeholder="Suchbegriff">
<button type="submit">Suchen</button>
</form>
<?php
}
else {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND (`Sprache1` LIKE '%$Suchbegriff%' OR `Sprache2` LIKE '%$Suchbegriff%') AND `Sprache1` != '' AND `Sprache2` != ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print(" <h2><b>$Suchbegriff</b></h2>
<p>Nichts gefunden :(</p>
");
}
else {
$gesamt_anzahl = mysqli_num_rows($result_articles);
print(
" <h2><b>$Suchbegriff ($gesamt_anzahl)</b></h2>
<table class='vok-table search'>
<tr>
<td><b>Sprache 1</b></td>
<td><b>Sprache 2</b></td>
<td><b>Ordner</b></td>
</tr>
");
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <tr onclick=\"window.location.href='index?folderID=$articleDb->ID'\">
<td>$articleDb->Sprache1</td>
<td>$articleDb->Sprache2</td>
<td>$articleDb->ID</td>
</tr>
");
}
}
}
}
?>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
<a id='back-arrow' class='fas fa-arrow-left back no-formatting' href='search'></a>
</body>
</html>

View File

@@ -0,0 +1,93 @@
<?php session_start();
$Benutzername = strip_tags(htmlentities($_SESSION["Benutzername"]));
$Email = strip_tags(htmlentities($_SESSION["Email"]));
$Passwort = strip_tags(htmlentities($_SESSION["Passwort"]));
$Code = strip_tags(htmlentities($_POST["Code"]));
$RealCode = $_SESSION["RealCode"];
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../../files/style.css" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='../../index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='../../myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='../../marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='../../search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='../../help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='../../actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
<br>
<div class="selected" title="Du erstellst Dir gerade ein Benutzerkonto"><i class="fas fa-user"></i>Account erstellen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "../../files/ezine_db.inc.php";
if(empty($Benutzername) || empty($Email) || empty($Passwort) || empty($Code) || empty($RealCode)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../../register'>");
}
else{
if($Code == $RealCode) {
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername'";
$result_articles = $conn->query($sql);
if(mysqli_num_rows($result_articles))
{
$_SESSION["errorCode"] = 'usernameRegistered';
print("<meta http-equiv='refresh' content='0; URL=../../register'>");
}
else {
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Email` = '$Email'";
$result_articles = $conn->query($sql);
if(mysqli_num_rows($result_articles))
{
$_SESSION["errorCode"] = 'emailRegistered';
print("<meta http-equiv='refresh' content='0; URL=../../register'>");
}
else {
print(
" <p>Willkommen bei VokabelBox!</p>
<button onclick=\"window.location.href='../../index'\" class='classic-button classic-button-grey'>&Uuml;berpringen <i class='fas fa-forward'></i> </button>
<button onclick=\"window.location.href='intro?p=1'\" class='classic-button classic-button-grey'>Einleitung <i class='fas fa-angle-right'></i> </button>
");
$conn->query("INSERT INTO `VokabelBoxUsers` (`Benutzername`,`Email`,`Passwort`,`GrossKlein`,`Zeit`) VALUES ('$Benutzername','$Email','$Passwort','','3')");
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
}
}
}
else {
$_SESSION["errorCode"] = 'wrongCode';
print("<meta http-equiv='refresh' content='0; URL=../../register'>");
}
}
?>
</div>
</middle>
</body>
</html>

View File

@@ -0,0 +1,128 @@
<?php session_start();
$Benutzername = $_POST["Benutzername"];
$Email = strip_tags(htmlentities($_POST["Email"]));
$Passwort = strip_tags(htmlentities($_POST["Passwort"]));
$Passwort2 = strip_tags(htmlentities($_POST["Passwort2"]));
$Passwort = hash('sha512',$Passwort);
$Passwort2 = hash('sha512',$Passwort2);
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randstring = '';
for ($i = 0; $i < 10; $i++) {
$randstring = $characters[rand(0, strlen($characters))];
}
$randstring = hash('crc32',$randstring);
$RealCode = $randstring;
$_SESSION["RealCode"] = $randstring;
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Email"] = $Email;
$_SESSION["Passwort"] = $Passwort;
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../../files/style.css" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
</head>
<body>
<header>
<p onclick="window.location.href='../../index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='../../index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='../../myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='../../marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='../../search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='../../help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='../../actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
<br>
<div class="selected" title="Du erstellst Dir gerade ein Benutzerkonto"><i class="fas fa-user"></i>Account erstellen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "../../files/ezine_db.inc.php";
if(empty($Benutzername) || empty($Email) || empty($Passwort) || empty($Passwort2)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=../../register'>");
}
else{
if($Passwort != $Passwort2) {
$_SESSION["errorCode"] = 'keineUebereinstimmung';
print("<meta http-equiv='refresh' content='0; URL=../../register'>");
}
else {
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername'";
$result_articles = $conn->query($sql);
if(mysqli_num_rows($result_articles))
{
$_SESSION["errorCode"] = 'usernameRegistered';
print("<meta http-equiv='refresh' content='0; URL=../../register'>");
}
else {
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Email` = '$Email'";
$result_articles = $conn->query($sql);
if(mysqli_num_rows($result_articles))
{
$_SESSION["errorCode"] = 'emailRegistered';
print("<meta http-equiv='refresh' content='0; URL=../../register'>");
}
else {
if(strpos($Benutzername,'\'')!==false || strpos($Benutzername,'\\')!==false) {
$_SESSION["errorCode"] = 'unallowedCharacters';
print("<meta http-equiv='refresh' content='0; URL=../../register'>");
}
else {
$betreff = "Accountverifizierung fuer VokabelBox";
$from = "VokabelBox";
$text = "Dein Code: " . $RealCode;
mail($Email, $betreff, $text, $from);
print(
" <form action='activate-account' method='post'>
<p>Es wurde ein Code an <b>$Email </b>geschickt.</p>
<input maxlength='8' type='text' name='Code' required placeholder='Dein Code'>
<input type='submit' value='&Uuml;berpr&uuml;fen' class='classic-button classic-button-grey'>
</form>
");
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Passwort"] = $Passwort;
}
}
}
}
}
?>
</div>
</middle>
</body>
</html>

View File

@@ -0,0 +1,104 @@
<?php session_start();
$_SESSION["redirect"] = 'intro';
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../../files/style.css" />
<script language="javascript" type="text/javascript" src="../../files/scripts.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='../../index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='../../index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='../../myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='../../marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='../../search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='../../help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='../../actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
<br>
<div class="selected" title="Du erstellst Dir gerade ein Benutzerkonto"><i class="fas fa-user"></i>Account erstellen</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "../../files/ezine_db.inc.php";
include "../../files/loginscript.inc.php";
include "../../files/errorcodesscript.inc.php";
if($LoggedIn == 'true') {
$page= strip_tags(htmlentities($_GET["p"]));
if($page == 1) {
print(
"<p>VokabelBox ist ein Platz f&uuml;r all deine Vokabeln. Jedem Nutzer stehen theoretisch unendlich viele Ordner und Vokabeln zur Verf&uuml;gung.</p>
");
}
if($page == 2) {
print(
"<p>Und das alles v&ouml;llig kostenlos.</p>
");
}
if($page == 3) {
print(
"<p>Und so funktioniert's: Nach Beenden des Intros wirst du zur Startseite weitergeleitet. Dort siehst du immer alle deine Ordner.</p>
");
}
if($page == 4) {
print(
"<p>Ein Ordner kann zum Beispiel eine Lektion Vokabeln im Lehrbuch sein. Nat&uuml;rlich kannst du dich die Vokabeln auch abfragen lassen oder dir die Tabelle ausdrucken um sie auch offline lernen zu k&ouml;nnen.</p>
");
}
if($page == 5) {
print(
"<p>Du kannst deine Vokabeln &uuml;berall lernen, da sie unter allen Ger&auml;ten an den die angemeldet bist synchronisiert sind.</p>
");
}
if($page == 6) {
print(
"<p>Fang' jetzt mit dem Lernen an!</p>
");
}
if($page == 7) {
print("<meta http-equiv='refresh' content='0; URL=https://www.timvandenboom.de/vokabelbox/'>");
}
$page = $page + 1;
print(
"<button onclick=\"window.location.href='intro?p=$page'\" class='classic-button classic-button-grey'>Weiter <i class='fas fa-angle-right'></i> </button>");
}
?>
</div>
</middle>
</body>
</html>

View File

@@ -0,0 +1,71 @@
<?php session_start();
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../../files/style.css" />
<script language="javascript" type="text/javascript" src="../../files/scripts.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='../../index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='../../index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='../../myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='../../marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='../../search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='../../help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='../../actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
<br>
<div class="selected" title="Du &auml;nderst aktuell dein Passwort"><i class="fas fa-key"></i>Passwort-Service</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
include "../../files/errorcodesscript.inc.php";
?>
<h4>Passwort zur&uuml;cksetzen</h4>
<form action='sendcode' method="post">
<input type="text" name="Benutzername" required placeholder="Benutzername">
<br>
<input type="email" name="Email" required placeholder="Email">
<br>
<button type="submit" class="classic-button classic-button-grey">
Weiter
<i class="fas fa-angle-right"> </i>
</button>
</form>
<a class="no-formatting" href="../../login"><small>Ich wei&szlig; mein Passwort</small></a>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
</body>
</html>

View File

@@ -0,0 +1,81 @@
<?php session_start();
$Benutzername = strip_tags(htmlentities($_SESSION["Benutzername"]));
$Email = strip_tags(htmlentities($_SESSION["Email"]));
$Code = strip_tags(htmlentities($_POST["Code"]));
$RealCode = $_SESSION["RealCode"];
$_SESSION["Verification"] = 'true';
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../../files/style.css" />
<script language="javascript" type="text/javascript" src="../../files/scripts.js"></script>
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
</head>
<body>
<header>
<p onclick="window.location.href='../../index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
<br>
<div class="selected" title="Du &auml;nderst aktuell dein Passwort"><i class="fas fa-key"></i>Passwort-Service</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "../../files/ezine_db.inc.php";
if(empty($Benutzername) || empty($Email) || empty($Code) || empty($RealCode)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=forgot-password'>");
}
else{
if($Code == $RealCode) {
?>
<h4>Neues Passwort festlegen</h4>
<form action='../../actions/change-password' method='post'>
<input type="hidden" value="<?php $Benutzername; ?>" name="Benutzername">
<input type="password" name="Passwort1" required placeholder="Passwort" id="toggle-password1">
<input type="checkbox" class="fas fa-eye" id="toggle-password-chb1-eye" onclick="togglePassword(1)">
<input type="checkbox" class="fas fa-eye-slash" id="toggle-password-chb1-eye-slash" onclick="togglePassword(1)"><br>
<input type="password" name="Passwort2" required placeholder="Passwort wiederholen" id="toggle-password2">
<input type="checkbox" class="fas fa-eye" id="toggle-password-chb2-eye" onclick="togglePassword(2)">
<input type="checkbox" class="fas fa-eye-slash" id="toggle-password-chb2-eye-slash" onclick="togglePassword(2)"><br>
<button type="submit" class="classic-button classic-button-grey">
<i class="fas fa-check"> </i>
Fertigstellen
</button>
</form>
<?php
}
else {
$_SESSION["errorCode"] = 'wrongCode';
print("<meta http-equiv='refresh' content='0; URL=forgot-password'>");
}
}
?>
</div>
</middle>
</body>
</html>

View File

@@ -0,0 +1,97 @@
<?php session_start();
if($_POST["Benutzername"] != '' && $_POST["Email"] != '') {
$Benutzername = strip_tags(htmlentities($_POST["Benutzername"]));
$Email = strip_tags(htmlentities($_POST["Email"]));
}
else {
$Benutzername = $_SESSION["Benutzername"];
$Email = $_SESSION["Email"];
}
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
$randstring = '';
for ($i = 0; $i < 10; $i++) {
$randstring = $characters[rand(0, strlen($characters))];
}
$randstring = hash('crc32',$randstring);
$RealCode = $randstring;
$_SESSION["RealCode"] = $randstring;
$_SESSION["Benutzername"] = $Benutzername;
$_SESSION["Email"] = $Email;
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../../files/style.css" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
</head>
<body>
<header>
<p onclick="window.location.href='../../index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
<br>
<div class="selected" title="Du &auml;nderst aktuell dein Passwort"><i class="fas fa-key"></i>Passwort-Service</div>
</div>
</div>
</header>
<main>
<div class="middle">
<?php
require "../../files/ezine_db.inc.php";
if(empty($Benutzername) || empty($Email)) {
$_SESSION["errorCode"] = 'generalError';
print("<meta http-equiv='refresh' content='0; URL=forgot-password'>");
}
else{
$sql = "SELECT * FROM `VokabelBoxUsers` WHERE `Benutzername` = '$Benutzername' AND `Email` = '$Email'";
$result_articles = $conn->query($sql);
if(mysqli_num_rows($result_articles))
{
$betreff = "Passwort fuer VokabelBox zuruecksetzen";
$from = "VokabelBox";
$text = "Dein Code: " . $RealCode;
mail($Email, $betreff, $text, $from);
?>
<form action='new-password' method='post'>
<p>Es wurde ein Code an <?php print("$Email"); ?> geschickt.</p>
<input maxlength='8' type='text' name='Code' required placeholder='Dein Code'>
<button type="submit" class="classic-button classic-button-grey">
Weiter
<i class="fas fa-angle-right"> </i>
</button>
</form>
<?php
}
else {
$_SESSION["errorCode"] = 'noDataFound';
print("<meta http-equiv='refresh' content='0; URL=forgot-password'>");
}
}
?>
</div>
</middle>
</body>
</html>

193
share.php Normal file
View File

@@ -0,0 +1,193 @@
<?php session_start();
$sitename = 'search';
?>
<!DOCTYPE html>
<html>
<head>
<title>VokabelBox</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="files/style.css" />
<script language="javascript" type="text/javascript" src="files/scripts.js"></script>
<meta name="google-site-verification" content="zP1CNCQcUP1lr3cYAUMljl5D-GqiUphk-1NdrFS5g6g" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.1/css/all.css" integrity="sha384-50oBUHEmvpQ+1lW4y57PTFmhCaXp0ML5d60M1M7uH2+nqUivzIebhndOJK28anvf" crossorigin="anonymous">
<link rel="apple-touch-icon" sizes="57x57" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-57x57.png">
<link rel="apple-touch-icon" sizes="60x60" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-60x60.png">
<link rel="apple-touch-icon" sizes="72x72" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-72x72.png">
<link rel="apple-touch-icon" sizes="76x76" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-76x76.png">
<link rel="apple-touch-icon" sizes="114x114" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-114x114.png">
<link rel="apple-touch-icon" sizes="120x120" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-120x120.png">
<link rel="apple-touch-icon" sizes="144x144" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-144x144.png">
<link rel="apple-touch-icon" sizes="152x152" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-152x152.png">
<link rel="apple-touch-icon" sizes="180x180" href="https://www.timvandenboom.de/Favicons/VokabelBox/apple-icon-180x180.png">
<link rel="icon" type="image/png" sizes="192x192" href="https://www.timvandenboom.de/Favicons/VokabelBox/android-icon-192x192.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="96x96" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-96x96.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://www.timvandenboom.de/Favicons/VokabelBox/favicon-16x16.png">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="https://www.timvandenboom.de/Favicons/VokabelBox/ms-icon-144x144.png">
<meta name="theme-color" content="#ffffff">
</head>
<body>
<header>
<p onclick="window.location.href='index'"></p>
<div class="more-menu">
<button class="fas fa-ellipsis-v"></button>
<div class="more-menu-content">
<div onclick="window.location.href='index'" title="VokabelBox"><i class="fas fa-home"></i>VokabelBox</div>
<div onclick="window.location.href='myaccount'" title="Mein Account"><i class="far fa-user-circle"></i>Mein Account</div>
<div onclick="window.location.href='marks'" title="Meine Noten"><i class="fas fa-table"></i>Meine Noten</div>
<div onclick="window.location.href='search'" title="Meine VokabelBox durchsuchen"><i class="fas fa-search"></i>Suchen</div>
<div onclick="window.location.href='help'" title="Hilfecenter &ouml;ffnen"><i class="fas fa-question-circle"></i>Hilfe</div>
<div onclick="window.location.href='actions/logout'" title="Von VokabelBox abmelden"><i class="fas fa-sign-out-alt"></i>Ausloggen</div>
</div>
</div>
</header>
<form id='window-layer-2'>
</form>
<?php
require "files/ezine_db.inc.php";
$_SESSION["showNoLoginInfo"] = 'true';
include "files/loginscript.inc.php";
$folderID = strip_tags(htmlentities($_GET["id"]));
if($folderID == '') {
$folderID = strip_tags(htmlentities($_GET["folderID"]));
}
$_SESSION["import-from"] = $folderID;
print(
" <form action='actions/add-vokab' method='post' id='window-4' class='window'>
<select name='import-to'>
<option disabled>---Bitte Ordner waehlen---</option>
<option disabled></option>
");
$sql = "SELECT DISTINCT `Ordner`,`ID` FROM `VokabelBoxVokabeln` WHERE `Nutzername` = '$Benutzername' AND `Ordner` != ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print(
" <option disabled>---Keine Ordner gefunden---</option>");
}
else {
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <option selected value='$articleDb->ID'>$articleDb->Ordner</option>
");
}
}
print(
" <option disabled></option>
<option value='NEWFOLDER-SHARE'>(Oder: neuen Ordner erstellen)</option>
</select>
<br>
<button type='submit' class='classic-button classic-button-grey'><i class='fas fa-file-download'></i> Importieren</button>
</form>
");
?>
<main id='main'>
<div class="middle">
<?php
include "files/errorcodesscript.inc.php";
if($LoggedIn == 'false') {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
$Nutzername = $articleDb->Nutzername;
}
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `ID` = '$folderID' AND `Sprache1` != ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print("Der Ordner beinhaltet keine Vokabeln...");
}
else {
print(
" <h2>$folderTEXT</h2>
<p>von $Nutzername</p>
<table class='vok-table'>
<tr>
<td><b>Sprache 1</b></td>
<td><b>Sprache 2</b></td>
</tr>
");
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <tr>
<td>$articleDb->Sprache1</td>
<td>$articleDb->Sprache2</td>
</tr>
");
}
print(
" </table>
<button onclick=\"alert('Um den Ordner zu deinen Vokabeln hinzuzufuegen, melde dich bitte an.')\" class='classic-button classic-button-light-grey'><i class='fas fa-file-download'></i> Importieren</button>
<p>Um den Ordner zu deinen Vokabeln hinzuzuf&uuml;gen, <a href='login?forward=share?id=$folderID'>melde dich bitte an</a>.</p>
");
}
}
if($LoggedIn == 'true') {
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `ID` = '$folderID' AND `Sprache1` = ''";
$result_articles = $conn->query($sql);
while ($articleDb = mysqli_fetch_object($result_articles)) {
$folderTEXT = $articleDb->Ordner;
$Nutzername = $articleDb->Nutzername;
}
$sql = "SELECT * FROM `VokabelBoxVokabeln` WHERE `ID` = '$folderID' AND `Sprache1` != ''";
$result_articles = $conn->query($sql);
if(!mysqli_num_rows($result_articles))
{
print("Der Ordner beinhaltet keine Vokabeln...");
}
else {
print(
" <h2><b>$folderTEXT</b></h2>
<p>von $Nutzername</p>
<table class='vok-table'>
<tr>
<td><b>Sprache 1</b></td>
<td><b>Sprache 2</b></td>
</tr>
");
while ($articleDb = mysqli_fetch_object($result_articles)) {
print(
" <tr>
<td>$articleDb->Sprache1</td>
<td>$articleDb->Sprache2</td>
</tr>
");
}
print(
" </table>
<button onclick=\"openWindow(4)\" class='classic-button classic-button-grey'><i class='fas fa-file-download'></i> Importieren</button>
");
}
}
?>
</div>
<a class="no-formatting impressum" href="https://www.timvandenboom.de/impressum">Impressum</a>
</main>
<a id="back-arrow-window" class="fas fa-arrow-left back no-formatting" onclick="closeWindow(2)"></a>
<a id='back-arrow'></a>
</body>
</html>

126
temporary/0MlHVvfa.csv Normal file
View File

@@ -0,0 +1,126 @@
Cyberbullying, Internet
Sprache 1 (Muttersprache),Sprache 1 (Fremdsprache)
belästigen,herass
schikanieren,victimise
irreführend,misleading
ausbeuten,exploit
Misshandlung,abuse
reicht von ... bis,ranging from ... to
gewöhnlich,ordinary
Fahrt aufnehmen,come up to speed
Auswirkung,implication
beunruhigend,disturbing
Peinlichkeit,embarrassment
vorherrrschend bei,prevalent in
Versuch,attempt
ausgefeilt,sophisticated
einer Sache ausgesetzt,be subjected to
scheinbar,apparent
etw. gegenüber strenger vorgehen,clamp down on sth
Schadenersatzforderungen,compensation claims
regieren,reign
kürzlich,recently
umsichtig,judicious
ungezählte Möglichkeiten,untold opportunities
erfreuen,delight
skizzieren,outline
zufrieden sein mit,be content with
enthüllen,reveal
erwerben,aquire
in dem Ausmaß", dass,to the extend that
durchführen,conduct
in die Lage versetzen", etw. zu tun,enable to do sth
persönliche Freiheiten,personal liberties
Privatsphäre,privacy
umwerfend,staggering
Unternehmen,entrepreneur
Leidenschaft,passion
entfesseln,unleash
Behauptung,assertion
unschuldig,innocent
Quelle des Wissens,source of knowledge
unscharf machen,blur
Unterscheidung zwischen,distinction between
Falschheit,falsehood
Tasten drücken,tap digits
heimtückisch,insidious
vollgestopft mit,crammed with
boshaft,malign
die noch ein Hühnchen zu rupfen haben,with axes to grind
auf eine Internetseite zugreifen,access a site on the internet
Beitrag,contribution
einseitig,biased
Genauigkeit,accuracy
steht auf dem 26. Platz,is ranked 26
Mitarbeiten einstellen,employ staff
halbieren,halve
mit großen Fehlern behaftet sein,be deeply flawed
Inhalte im Netz,web content
behaupten,purport
ein Produkt vermarkten,market a product
heimlich,by stealth
angstvoller Teenager,angst-ridden teenager
Strategie,ploy
sich verkleiden als,masquerade as
nicht nur", aber,not only ... but
ebenso wie,as well as
außerdem,moreover
beide ... und,both ... and
zuerst,first
zweitens,second
abgesehen davon,apart from that
zudem,in addition
ferner,furthermore
zu guter Letzt,last but not least
jedoch,however
aber,but
trotz,despite", in spite of
obwohl,although
wenn auch,even though
dennoch,yet", nevertheless
nach wie vor,still
wohingegen,whereas
während,while
nach alldem,after all
deshalb,therefore", this is why
daher,hence", because of that
als Konsequenz,as a consequence
letztendlich,in the final analysis
folglich,thus
zusammenfassend,in conclusion
also,so
eine große Anzahl von,a great number of", a huge amount of
zahlreich,numerous
jederart,every type of
minderwertig,substandard
unzureichend,inadequate
untauglich,incompetent
nicht zufriedenstellend,unsatisfactory
unwirksam,ineffectual
schädlich,harmful", damaging
schmerzhaft,painful
deprimierend,depressing
destruktiv,destructive
unbekömmlich,unwholesome
böse,wicked", evil
unmaralisch,immoral
boshaft,mischievous", villainous
skrupellos,unscrupulous
frech,naughty
unehrlich,dishonest
trotzig,defiant
unhöflich,impolite
bösartig,vicious
unangenehm,unpleasant
quälend,distressing
ungünstig,unfavorable", unfortunate
unpassend,unsuitable
hart,severe
schwerwiegend,serious
schuldig,guilty
reuig,remorseful
unbequem,uncomfortable
belidigend,offensive", vulgar", rude
unanständig,indecent
Can't render this file because it contains an unexpected character in line 32 and column 15.

11
temporary/HLt63Ubm.csv Normal file
View File

@@ -0,0 +1,11 @@
test123
Sprache 1 (Muttersprache),Sprache 1 (Fremdsprache)
<script>,</script>
",,.
\,{
},(
),;
",,;
:,-
1 test123
2 Sprache 1 (Muttersprache) Sprache 1 (Fremdsprache)
3 <script> </script>
4 ,,. \,{ },( ),; ;
5 : -

82
temporary/YcrJuoXP.csv Normal file
View File

@@ -0,0 +1,82 @@
E /GL6 / T1 / Paranoid Park
Sprache 1 (Muttersprache),Sprache 1 (Fremdsprache)
Unschlag", Briefumschlag,envelope
grob", rau", derb,rough
explodieren,to go off
Alles klar.,All right.
Nur keine Hektik. Immer mit der Ruhe.,Take it slow.
Errungenschaft", Leistung,accomplishment
Verwendung", Gebrauch,use
kriechen,to crawl
Anordnung", Anlage,layout
ein Paar,a couple of
Narbe,scar
ständing", konstant,constant
jmdm. über den Weg laufen,to run into sb
eine Weile,a while
Art", Rorte,sort
jmdm. zu etw. überreden,to talk sb into sth
bestehen auf,to insist on
ausrauben", berauben,to rob
einzig", einzeln,single
auswählen", aussuchen,to pick
mithalten mit,to keep up with
Leiter,ladder
Getreide(korn),grain
sicher befestigen", absichern,to secure
sich hinauslehnen,to hang out
bleiben", verweilen,to linger
Sicherheit", Schutz,security
vor,up ahead
gegenüberstehen", konfrontiert werden (mit),to face sth
Handschuh,glove
entdecken", erkennen,to spot
sofort", gleich,immediately
fett,fat
schwören,to swear
verbinden", vermitteln,to connect
Knochen", Fischgräte,bone
fast", annähernd,nearby
verletzlich", verwundbar,vulnerable
ausweichen,to avoid
stürzen", hinfallen,to tumble
stolpern,trip
kaum,barely
währenddessen", mittlerweile,meanwhile
erstarren", gefrieren,to freeze
taumeln", stolpern,to stumble
kämpfen", sich anstrengen,to struggle
Mantel,coat
schleifen", ziehen", schleppen,to drag
zurückweichen,to back away
widerstehen", sich widersetzen,to resist
greifen", reichen,to reach
losmachen", abhängen", befreien,to unhook
die ganze Zeit über,all the while
(über)springen", hüpfen,to skip
ungünstig", ungeschickt,awkward
stopfen,to stuff
Container Behälter,container
zusammenrollen", aufrollen,to roll up
Unkraut,weed
Angst", Furcht,dread
(über)fluten,to flood
Brust(korb),chest
anfassen", berühren,to touch
für den Fall", dass...,in case
jmdm. etw. vorwerfen,to accuse sb of sth
Selbstverteidigung,self-defense
verarbeiten", aufbereiten,to process
fließen", strömen,to pour
irgendwo(hin),someplace
ausflippen,to freak out
Verständnis", Verstehen,comprehension
abwägen,to weigh
Bedauern", Reue,regnet
seinen Standpunkt deutlich machen,to make one&apos;s point
Schuld haben an,to become blame for
die Konsequenzen tragen,to face the consequences
leugnen", abstreiten,to deny
unbefugt betreten,to trespass
Can't render this file because it contains an unexpected character in line 5 and column 9.

712
temporary/aqyn9Jxq.csv Normal file
View File

@@ -0,0 +1,712 @@
Testchen
Sprache 1 (Muttersprache),Sprache 1 (Fremdsprache)
Unschlag", Briefumschlag,envelope
grob", rau", derb,rough
explodieren,to go off
Alles klar.,All right.
Nur keine Hektik. Immer mit der Ruhe.,Take it slow.
Errungenschaft", Leistung,accomplishment
Verwendung", Gebrauch,use
kriechen,to crawl
Anordnung", Anlage,layout
ein Paar,a couple of
Narbe,scar
ständing", konstant,constant
jmdm. über den Weg laufen,to run into sb
eine Weile,a while
Art", Rorte,sort
jmdm. zu etw. überreden,to talk sb into sth
bestehen auf,to insist on
ausrauben", berauben,to rob
einzig", einzeln,single
auswählen", aussuchen,to pick
mithalten mit,to keep up with
Leiter,ladder
Getreide(korn),grain
sicher befestigen", absichern,to secure
sich hinauslehnen,to hang out
bleiben", verweilen,to linger
Sicherheit", Schutz,security
vor,up ahead
gegenüberstehen", konfrontiert werden (mit),to face sth
Handschuh,glove
entdecken", erkennen,to spot
sofort", gleich,immediately
fett,fat
schwören,to swear
verbinden", vermitteln,to connect
Knochen", Fischgräte,bone
fast", annähernd,nearby
verletzlich", verwundbar,vulnerable
ausweichen,to avoid
stürzen", hinfallen,to tumble
stolpern,trip
kaum,barely
währenddessen", mittlerweile,meanwhile
erstarren", gefrieren,to freeze
taumeln", stolpern,to stumble
kämpfen", sich anstrengen,to struggle
Mantel,coat
schleifen", ziehen", schleppen,to drag
zurückweichen,to back away
widerstehen", sich widersetzen,to resist
greifen", reichen,to reach
losmachen", abhängen", befreien,to unhook
die ganze Zeit über,all the while
(über)springen", hüpfen,to skip
ungünstig", ungeschickt,awkward
stopfen,to stuff
Container Behälter,container
zusammenrollen", aufrollen,to roll up
Unkraut,weed
Angst", Furcht,dread
(über)fluten,to flood
Brust(korb),chest
anfassen", berühren,to touch
für den Fall", dass...,in case
jmdm. etw. vorwerfen,to accuse sb of sth
Selbstverteidigung,self-defense
verarbeiten", aufbereiten,to process
fließen", strömen,to pour
irgendwo(hin),someplace
ausflippen,to freak out
Verständnis", Verstehen,comprehension
abwägen,to weigh
Bedauern", Reue,regnet
seinen Standpunkt deutlich machen,to make one&apos;s point
Schuld haben an,to become blame for
die Konsequenzen tragen,to face the consequences
leugnen", abstreiten,to deny
unbefugt betreten,to trespass
der Monat,el mes", los meses
jdn. jermissen,echar de menos
vor allem,sobre todo
etw. kaufen,comprar
jdn. anrufen,llamar a
können,poder
das Ende,el final
am Ende,al final
Was ist los?,?Qué pasa?
...Jahre alt werden,cumplir ... años
gemeinsam,juntos-/as
schon", bereits,ya
zurückkehren,volver
nach Hause kommen,volver a casa
endlich,por fin
ruhig,tranquilo/-a
Wann?,?Quándo?
am 27. Januar,el 27 de enero
schüchtern,tímido/-a
fröhlich,alegre
etw. erzählen,contar
die Sache", das Ding,la cosa
sportlich,deportista
das Fahrrad,la bici
Fahrrad fahren,ir en bici
das Wochenende,el fin de semana
dann", damals,entonces
Ach was!,!Qué va!
fast", beinahe,casi
nie,nunca
witzig", humorvoll,gracioso/-a
nett", sympathisch,majo/-a
das T-Shirt,la camiseta
der Frosch,la rana
hässlich,feo/-a
sympathisch,simpático
glauben,creer
dass,que
am Morgen", Nachmittag", Nacht,por la mañana", tarde", noche
schlafen,dormir
aufwachen,despertarse
das Handy,el celular
Herzlichen Glückwunsch!,!Felicidades!
jdn. lieben/gern haben,querer a
aufstehen,levantarse
sich duschen,ducharse
etw. anziehen", aufsetzen,ponerse
die Uniform,el uniforme
die Schule,el colegio
die Kantine", das Esszimmer,el comedor
Alles Gute zum Geburtstag!,!Feliz cumpleaños!
der Käse,el queso
die Prinzessin,la princesa
die Hexe,la bruja
weggehen,irse
wir sehen uns,nos vemos
sich erinnern,acordarse
spät,tarde
werden,ponerse
rot,rojo/-a
die Tomate,el tomate
knallrot werden,ponerse rojo/-a como un tomate
der Mittag,el mediodía
die Karte,la tarjeta
schön,lindo-a
die Liste,la lista
fehlen,faltar
sich hinlegen,acostarse
träumen,soñar
der Monat,el mes", los meses
jdn. jermissen,echar de menos
vor allem,sobre todo
etw. kaufen,comprar
jdn. anrufen,llamar a
können,poder
das Ende,el final
am Ende,al final
Was ist los?,?Qué pasa?
...Jahre alt werden,cumplir ... años
gemeinsam,juntos-/as
schon", bereits,ya
zurückkehren,volver
nach Hause kommen,volver a casa
endlich,por fin
ruhig,tranquilo/-a
Wann?,?Quándo?
am 27. Januar,el 27 de enero
schüchtern,tímido/-a
fröhlich,alegre
etw. erzählen,contar
die Sache", das Ding,la cosa
sportlich,deportista
das Fahrrad,la bici
Fahrrad fahren,ir en bici
das Wochenende,el fin de semana
dann", damals,entonces
Ach was!,!Qué va!
fast", beinahe,casi
nie,nunca
witzig", humorvoll,gracioso/-a
nett", sympathisch,majo/-a
das T-Shirt,la camiseta
der Frosch,la rana
hässlich,feo/-a
sympathisch,simpático
glauben,creer
dass,que
am Morgen", Nachmittag", Nacht,por la mañana", tarde", noche
schlafen,dormir
aufwachen,despertarse
das Handy,el celular
Herzlichen Glückwunsch!,!Felicidades!
jdn. lieben/gern haben,querer a
aufstehen,levantarse
sich duschen,ducharse
etw. anziehen", aufsetzen,ponerse
die Uniform,el uniforme
die Schule,el colegio
die Kantine", das Esszimmer,el comedor
Alles Gute zum Geburtstag!,!Feliz cumpleaños!
der Käse,el queso
die Prinzessin,la princesa
die Hexe,la bruja
weggehen,irse
wir sehen uns,nos vemos
sich erinnern,acordarse
spät,tarde
werden,ponerse
rot,rojo/-a
die Tomate,el tomate
knallrot werden,ponerse rojo/-a como un tomate
der Mittag,el mediodía
die Karte,la tarjeta
schön,lindo-a
die Liste,la lista
fehlen,faltar
sich hinlegen,acostarse
träumen,soñar
der Monat,el mes", los meses
jdn. jermissen,echar de menos
vor allem,sobre todo
etw. kaufen,comprar
jdn. anrufen,llamar a
können,poder
das Ende,el final
am Ende,al final
Was ist los?,?Qué pasa?
...Jahre alt werden,cumplir ... años
gemeinsam,juntos-/as
schon", bereits,ya
zurückkehren,volver
nach Hause kommen,volver a casa
endlich,por fin
ruhig,tranquilo/-a
Wann?,?Quándo?
am 27. Januar,el 27 de enero
schüchtern,tímido/-a
fröhlich,alegre
etw. erzählen,contar
die Sache", das Ding,la cosa
sportlich,deportista
das Fahrrad,la bici
Fahrrad fahren,ir en bici
das Wochenende,el fin de semana
dann", damals,entonces
Ach was!,!Qué va!
fast", beinahe,casi
nie,nunca
witzig", humorvoll,gracioso/-a
nett", sympathisch,majo/-a
das T-Shirt,la camiseta
der Frosch,la rana
hässlich,feo/-a
sympathisch,simpático
glauben,creer
dass,que
am Morgen", Nachmittag", Nacht,por la mañana", tarde", noche
schlafen,dormir
aufwachen,despertarse
das Handy,el celular
Herzlichen Glückwunsch!,!Felicidades!
jdn. lieben/gern haben,querer a
aufstehen,levantarse
sich duschen,ducharse
etw. anziehen", aufsetzen,ponerse
die Uniform,el uniforme
die Schule,el colegio
die Kantine", das Esszimmer,el comedor
Alles Gute zum Geburtstag!,!Feliz cumpleaños!
der Käse,el queso
die Prinzessin,la princesa
die Hexe,la bruja
weggehen,irse
wir sehen uns,nos vemos
sich erinnern,acordarse
spät,tarde
werden,ponerse
rot,rojo/-a
die Tomate,el tomate
knallrot werden,ponerse rojo/-a como un tomate
der Mittag,el mediodía
die Karte,la tarjeta
schön,lindo-a
die Liste,la lista
fehlen,faltar
sich hinlegen,acostarse
träumen,soñar
der Monat,el mes", los meses
jdn. jermissen,echar de menos
vor allem,sobre todo
etw. kaufen,comprar
jdn. anrufen,llamar a
können,poder
das Ende,el final
am Ende,al final
Was ist los?,?Qué pasa?
...Jahre alt werden,cumplir ... años
gemeinsam,juntos-/as
schon", bereits,ya
zurückkehren,volver
nach Hause kommen,volver a casa
endlich,por fin
ruhig,tranquilo/-a
Wann?,?Quándo?
am 27. Januar,el 27 de enero
schüchtern,tímido/-a
fröhlich,alegre
etw. erzählen,contar
die Sache", das Ding,la cosa
sportlich,deportista
das Fahrrad,la bici
Fahrrad fahren,ir en bici
das Wochenende,el fin de semana
dann", damals,entonces
Ach was!,!Qué va!
fast", beinahe,casi
nie,nunca
witzig", humorvoll,gracioso/-a
nett", sympathisch,majo/-a
das T-Shirt,la camiseta
der Frosch,la rana
hässlich,feo/-a
sympathisch,simpático
glauben,creer
dass,que
am Morgen", Nachmittag", Nacht,por la mañana", tarde", noche
schlafen,dormir
aufwachen,despertarse
das Handy,el celular
Herzlichen Glückwunsch!,!Felicidades!
jdn. lieben/gern haben,querer a
aufstehen,levantarse
sich duschen,ducharse
etw. anziehen", aufsetzen,ponerse
die Uniform,el uniforme
die Schule,el colegio
die Kantine", das Esszimmer,el comedor
Alles Gute zum Geburtstag!,!Feliz cumpleaños!
der Käse,el queso
die Prinzessin,la princesa
die Hexe,la bruja
weggehen,irse
wir sehen uns,nos vemos
sich erinnern,acordarse
spät,tarde
werden,ponerse
rot,rojo/-a
die Tomate,el tomate
knallrot werden,ponerse rojo/-a como un tomate
der Mittag,el mediodía
die Karte,la tarjeta
schön,lindo-a
die Liste,la lista
fehlen,faltar
sich hinlegen,acostarse
träumen,soñar
Unschlag", Briefumschlag,envelope
grob", rau", derb,rough
explodieren,to go off
Alles klar.,All right.
Nur keine Hektik. Immer mit der Ruhe.,Take it slow.
Errungenschaft", Leistung,accomplishment
Verwendung", Gebrauch,use
kriechen,to crawl
Anordnung", Anlage,layout
ein Paar,a couple of
Narbe,scar
ständing", konstant,constant
jmdm. über den Weg laufen,to run into sb
eine Weile,a while
Art", Rorte,sort
jmdm. zu etw. überreden,to talk sb into sth
bestehen auf,to insist on
ausrauben", berauben,to rob
einzig", einzeln,single
auswählen", aussuchen,to pick
mithalten mit,to keep up with
Leiter,ladder
Getreide(korn),grain
sicher befestigen", absichern,to secure
sich hinauslehnen,to hang out
bleiben", verweilen,to linger
Sicherheit", Schutz,security
vor,up ahead
gegenüberstehen", konfrontiert werden (mit),to face sth
Handschuh,glove
entdecken", erkennen,to spot
sofort", gleich,immediately
fett,fat
schwören,to swear
verbinden", vermitteln,to connect
Knochen", Fischgräte,bone
fast", annähernd,nearby
verletzlich", verwundbar,vulnerable
ausweichen,to avoid
stürzen", hinfallen,to tumble
stolpern,trip
kaum,barely
währenddessen", mittlerweile,meanwhile
erstarren", gefrieren,to freeze
taumeln", stolpern,to stumble
kämpfen", sich anstrengen,to struggle
Mantel,coat
schleifen", ziehen", schleppen,to drag
zurückweichen,to back away
widerstehen", sich widersetzen,to resist
greifen", reichen,to reach
losmachen", abhängen", befreien,to unhook
die ganze Zeit über,all the while
(über)springen", hüpfen,to skip
ungünstig", ungeschickt,awkward
stopfen,to stuff
Container Behälter,container
zusammenrollen", aufrollen,to roll up
Unkraut,weed
Angst", Furcht,dread
(über)fluten,to flood
Brust(korb),chest
anfassen", berühren,to touch
für den Fall", dass...,in case
jmdm. etw. vorwerfen,to accuse sb of sth
Selbstverteidigung,self-defense
verarbeiten", aufbereiten,to process
fließen", strömen,to pour
irgendwo(hin),someplace
ausflippen,to freak out
Verständnis", Verstehen,comprehension
abwägen,to weigh
Bedauern", Reue,regnet
seinen Standpunkt deutlich machen,to make one&apos;s point
Schuld haben an,to become blame for
die Konsequenzen tragen,to face the consequences
leugnen", abstreiten,to deny
unbefugt betreten,to trespass
der Monat,el mes", los meses
jdn. jermissen,echar de menos
vor allem,sobre todo
etw. kaufen,comprar
jdn. anrufen,llamar a
können,poder
das Ende,el final
am Ende,al final
Was ist los?,?Qué pasa?
...Jahre alt werden,cumplir ... años
gemeinsam,juntos-/as
schon", bereits,ya
zurückkehren,volver
nach Hause kommen,volver a casa
endlich,por fin
ruhig,tranquilo/-a
Wann?,?Quándo?
am 27. Januar,el 27 de enero
schüchtern,tímido/-a
fröhlich,alegre
etw. erzählen,contar
die Sache", das Ding,la cosa
sportlich,deportista
das Fahrrad,la bici
Fahrrad fahren,ir en bici
das Wochenende,el fin de semana
dann", damals,entonces
Ach was!,!Qué va!
fast", beinahe,casi
nie,nunca
witzig", humorvoll,gracioso/-a
nett", sympathisch,majo/-a
das T-Shirt,la camiseta
der Frosch,la rana
hässlich,feo/-a
sympathisch,simpático
glauben,creer
dass,que
am Morgen", Nachmittag", Nacht,por la mañana", tarde", noche
schlafen,dormir
aufwachen,despertarse
das Handy,el celular
Herzlichen Glückwunsch!,!Felicidades!
jdn. lieben/gern haben,querer a
aufstehen,levantarse
sich duschen,ducharse
etw. anziehen", aufsetzen,ponerse
die Uniform,el uniforme
die Schule,el colegio
die Kantine", das Esszimmer,el comedor
Alles Gute zum Geburtstag!,!Feliz cumpleaños!
der Käse,el queso
die Prinzessin,la princesa
die Hexe,la bruja
weggehen,irse
wir sehen uns,nos vemos
sich erinnern,acordarse
spät,tarde
werden,ponerse
rot,rojo/-a
die Tomate,el tomate
knallrot werden,ponerse rojo/-a como un tomate
der Mittag,el mediodía
die Karte,la tarjeta
schön,lindo-a
die Liste,la lista
fehlen,faltar
sich hinlegen,acostarse
träumen,soñar
der Monat,el mes", los meses
jdn. jermissen,echar de menos
vor allem,sobre todo
etw. kaufen,comprar
jdn. anrufen,llamar a
können,poder
das Ende,el final
am Ende,al final
Was ist los?,?Qué pasa?
...Jahre alt werden,cumplir ... años
gemeinsam,juntos-/as
schon", bereits,ya
zurückkehren,volver
nach Hause kommen,volver a casa
endlich,por fin
ruhig,tranquilo/-a
Wann?,?Quándo?
am 27. Januar,el 27 de enero
schüchtern,tímido/-a
fröhlich,alegre
etw. erzählen,contar
die Sache", das Ding,la cosa
sportlich,deportista
das Fahrrad,la bici
Fahrrad fahren,ir en bici
das Wochenende,el fin de semana
dann", damals,entonces
Ach was!,!Qué va!
fast", beinahe,casi
nie,nunca
witzig", humorvoll,gracioso/-a
nett", sympathisch,majo/-a
das T-Shirt,la camiseta
der Frosch,la rana
hässlich,feo/-a
sympathisch,simpático
glauben,creer
dass,que
am Morgen", Nachmittag", Nacht,por la mañana", tarde", noche
schlafen,dormir
aufwachen,despertarse
das Handy,el celular
Herzlichen Glückwunsch!,!Felicidades!
jdn. lieben/gern haben,querer a
aufstehen,levantarse
sich duschen,ducharse
etw. anziehen", aufsetzen,ponerse
die Uniform,el uniforme
die Schule,el colegio
die Kantine", das Esszimmer,el comedor
Alles Gute zum Geburtstag!,!Feliz cumpleaños!
der Käse,el queso
die Prinzessin,la princesa
die Hexe,la bruja
weggehen,irse
wir sehen uns,nos vemos
sich erinnern,acordarse
spät,tarde
werden,ponerse
rot,rojo/-a
die Tomate,el tomate
knallrot werden,ponerse rojo/-a como un tomate
der Mittag,el mediodía
die Karte,la tarjeta
schön,lindo-a
die Liste,la lista
fehlen,faltar
sich hinlegen,acostarse
träumen,soñar
der Monat,el mes", los meses
jdn. jermissen,echar de menos
vor allem,sobre todo
etw. kaufen,comprar
jdn. anrufen,llamar a
können,poder
das Ende,el final
am Ende,al final
Was ist los?,?Qué pasa?
...Jahre alt werden,cumplir ... años
gemeinsam,juntos-/as
schon", bereits,ya
zurückkehren,volver
nach Hause kommen,volver a casa
endlich,por fin
ruhig,tranquilo/-a
Wann?,?Quándo?
am 27. Januar,el 27 de enero
schüchtern,tímido/-a
fröhlich,alegre
etw. erzählen,contar
die Sache", das Ding,la cosa
sportlich,deportista
das Fahrrad,la bici
Fahrrad fahren,ir en bici
das Wochenende,el fin de semana
dann", damals,entonces
Ach was!,!Qué va!
fast", beinahe,casi
nie,nunca
witzig", humorvoll,gracioso/-a
nett", sympathisch,majo/-a
das T-Shirt,la camiseta
der Frosch,la rana
hässlich,feo/-a
sympathisch,simpático
glauben,creer
dass,que
am Morgen", Nachmittag", Nacht,por la mañana", tarde", noche
schlafen,dormir
aufwachen,despertarse
das Handy,el celular
Herzlichen Glückwunsch!,!Felicidades!
jdn. lieben/gern haben,querer a
aufstehen,levantarse
sich duschen,ducharse
etw. anziehen", aufsetzen,ponerse
die Uniform,el uniforme
die Schule,el colegio
die Kantine", das Esszimmer,el comedor
Alles Gute zum Geburtstag!,!Feliz cumpleaños!
der Käse,el queso
die Prinzessin,la princesa
die Hexe,la bruja
weggehen,irse
wir sehen uns,nos vemos
sich erinnern,acordarse
spät,tarde
werden,ponerse
rot,rojo/-a
die Tomate,el tomate
knallrot werden,ponerse rojo/-a como un tomate
der Mittag,el mediodía
die Karte,la tarjeta
schön,lindo-a
die Liste,la lista
fehlen,faltar
sich hinlegen,acostarse
träumen,soñar
der Monat,el mes", los meses
jdn. jermissen,echar de menos
vor allem,sobre todo
etw. kaufen,comprar
jdn. anrufen,llamar a
können,poder
das Ende,el final
am Ende,al final
Was ist los?,?Qué pasa?
...Jahre alt werden,cumplir ... años
gemeinsam,juntos-/as
schon", bereits,ya
zurückkehren,volver
nach Hause kommen,volver a casa
endlich,por fin
ruhig,tranquilo/-a
Wann?,?Quándo?
am 27. Januar,el 27 de enero
schüchtern,tímido/-a
fröhlich,alegre
etw. erzählen,contar
die Sache", das Ding,la cosa
sportlich,deportista
das Fahrrad,la bici
Fahrrad fahren,ir en bici
das Wochenende,el fin de semana
dann", damals,entonces
Ach was!,!Qué va!
fast", beinahe,casi
nie,nunca
witzig", humorvoll,gracioso/-a
nett", sympathisch,majo/-a
das T-Shirt,la camiseta
der Frosch,la rana
hässlich,feo/-a
sympathisch,simpático
glauben,creer
dass,que
am Morgen", Nachmittag", Nacht,por la mañana", tarde", noche
schlafen,dormir
aufwachen,despertarse
das Handy,el celular
Herzlichen Glückwunsch!,!Felicidades!
jdn. lieben/gern haben,querer a
aufstehen,levantarse
sich duschen,ducharse
etw. anziehen", aufsetzen,ponerse
die Uniform,el uniforme
die Schule,el colegio
die Kantine", das Esszimmer,el comedor
Alles Gute zum Geburtstag!,!Feliz cumpleaños!
der Käse,el queso
die Prinzessin,la princesa
die Hexe,la bruja
weggehen,irse
wir sehen uns,nos vemos
sich erinnern,acordarse
spät,tarde
werden,ponerse
rot,rojo/-a
die Tomate,el tomate
knallrot werden,ponerse rojo/-a como un tomate
der Mittag,el mediodía
die Karte,la tarjeta
schön,lindo-a
die Liste,la lista
fehlen,faltar
sich hinlegen,acostarse
träumen,soñar
Can't render this file because it contains an unexpected character in line 5 and column 9.

107
temporary/bd172d68.csv Normal file
View File

@@ -0,0 +1,107 @@
Irgendwelche englischen W&ouml;rter
Sprache 1 (Muttersprache),Sprache 1 (Fremdsprache)
Steuer,tax
Steckdose,receptacle
Bürger,citizen
Teller,plate
Löffel,spoon
Verstärker,amplifier
Beet,bed
Stativ,tripod
Kanzler,chancellor
spontan,impulsive
Lücke,gap
Verfassung,condition
unfassbar,inconceivably
aussagekräftig,meaningful
Rücktritt,resignation
ankündigen,announce
Gesundheit!,Bless you!
Toilette,lavatory
gegenüber,opposite
Jahrzehnt,decade
Apotheke,pharmacy
Tankstelle,filling station
Platz,square
Rückgaberecht,refund policy
Kundenkarte,loyality card
Serviette,napkin
Bettwäsche,linen
Anzahlung,deposit
Marke,brand
entlassen,dismiss
Rasenmäher,lawnmower
Freibad,open air swimming pool
Portemonnaie,purse
Schublade,drawer
Standfuß,pedestal
Tribüne,grandstand
Leinwand,screen
Mischpult,mixing desk
Untersetzer,trivet
Karteikarte,file card
Dusche,shower
Satellitenschüssel,satellite dish
Thermodrucker,thermal printer
Scharnier,hinge
Luftstrom,airflow
Abgeordneter,deputy
Klebeband,sticky tape
Schlauch,hose
Mehrfachsteckdose,multiple socket
Notfall,emergency
Ankunft,arrival
Flucht,escape
Trauigkeit,sadness
Grund,reason
trennen,to separate
fast,almost
ehrgeizig,ambitious
eifersüchtig,jealous
willkürlich,arbitrary
fanatisch,rabid
menschenähnlich,humanoid
endlich,finally
Schwergewicht,heavyweight
edel,noble
Anbieter,provider
Wesen,being
verschlüsseln,to encrypt
Unterarm,forearm
Puppe,doll
Betrug,deception
Begegnung,encounter
Qual,agony
quälen,to excruciate
Kämpfer,warrior
Darsteller,impersonator
vermischt,miscellaneous
Richtlinie,guideline
Verlogenheit,mendaciousness
husten,to cough
unrein,impure
Wildnis,wilderness
enttäuschend,disappointing
Krankenwagen,ambulance
Katastrophe,disaster
Schmuck,emblazonment
bergab,downhill
hervorrufen,to elicit
Klumpen,chunk
Innenstadt,downtown
Fußgängerzone,pedestrian precinct
Delle,dent
irgendein,any
Faust,fist
zulassen,to suffer
grotesk,preposterous
Formulierung,formulation
Streugut,grit
Garnele,prawn
Entwurf,draft
Betäubungsmittel,narcotic
Beruf,profession
völlig,entirely
urkomisch,hilarious
1 Irgendwelche englischen W&ouml;rter
2 Sprache 1 (Muttersprache),Sprache 1 (Fremdsprache)
3 Steuer,tax
4 Steckdose,receptacle
5 Bürger,citizen
6 Teller,plate
7 Löffel,spoon
8 Verstärker,amplifier
9 Beet,bed
10 Stativ,tripod
11 Kanzler,chancellor
12 spontan,impulsive
13 Lücke,gap
14 Verfassung,condition
15 unfassbar,inconceivably
16 aussagekräftig,meaningful
17 Rücktritt,resignation
18 ankündigen,announce
19 Gesundheit!,Bless you!
20 Toilette,lavatory
21 gegenüber,opposite
22 Jahrzehnt,decade
23 Apotheke,pharmacy
24 Tankstelle,filling station
25 Platz,square
26 Rückgaberecht,refund policy
27 Kundenkarte,loyality card
28 Serviette,napkin
29 Bettwäsche,linen
30 Anzahlung,deposit
31 Marke,brand
32 entlassen,dismiss
33 Rasenmäher,lawnmower
34 Freibad,open air swimming pool
35 Portemonnaie,purse
36 Schublade,drawer
37 Standfuß,pedestal
38 Tribüne,grandstand
39 Leinwand,screen
40 Mischpult,mixing desk
41 Untersetzer,trivet
42 Karteikarte,file card
43 Dusche,shower
44 Satellitenschüssel,satellite dish
45 Thermodrucker,thermal printer
46 Scharnier,hinge
47 Luftstrom,airflow
48 Abgeordneter,deputy
49 Klebeband,sticky tape
50 Schlauch,hose
51 Mehrfachsteckdose,multiple socket
52 Notfall,emergency
53 Ankunft,arrival
54 Flucht,escape
55 Trauigkeit,sadness
56 Grund,reason
57 trennen,to separate
58 fast,almost
59 ehrgeizig,ambitious
60 eifersüchtig,jealous
61 willkürlich,arbitrary
62 fanatisch,rabid
63 menschenähnlich,humanoid
64 endlich,finally
65 Schwergewicht,heavyweight
66 edel,noble
67 Anbieter,provider
68 Wesen,being
69 verschlüsseln,to encrypt
70 Unterarm,forearm
71 Puppe,doll
72 Betrug,deception
73 Begegnung,encounter
74 Qual,agony
75 quälen,to excruciate
76 Kämpfer,warrior
77 Darsteller,impersonator
78 vermischt,miscellaneous
79 Richtlinie,guideline
80 Verlogenheit,mendaciousness
81 husten,to cough
82 unrein,impure
83 Wildnis,wilderness
84 enttäuschend,disappointing
85 Krankenwagen,ambulance
86 Katastrophe,disaster
87 Schmuck,emblazonment
88 bergab,downhill
89 hervorrufen,to elicit
90 Klumpen,chunk
91 Innenstadt,downtown
92 Fußgängerzone,pedestrian precinct
93 Delle,dent
94 irgendein,any
95 Faust,fist
96 zulassen,to suffer
97 grotesk,preposterous
98 Formulierung,formulation
99 Streugut,grit
100 Garnele,prawn
101 Entwurf,draft
102 Betäubungsmittel,narcotic
103 Beruf,profession
104 völlig,entirely
105 urkomisch,hilarious

61
temporary/v4gTu0An.csv Normal file
View File

@@ -0,0 +1,61 @@
E / GL6 /T2 / Multi-Ethnic GB
Sprache 1 (Muttersprache),Sprache 1 (Fremdsprache)
ethnisch,ethnic
Prozentsatz,percentage
Mehrzahl,majority (of)
Masse,mass
Pakistaner/-in,Pakistani
Bangladesher/-in,Bangladeshi
Afrokaribe/Afrokaribin,Black Caribbean
Schwarzafrikaner/-in,Black African
Wahrnehmung", Empfindung,perception
Daten", Angaben,data
weder ... noch,neither
(Staats-)Bürger,citizen
abstammen von", herstammen von,to descend from
Plantage,plantation
Sklavenhandel,slave trade
(Kaiser-)Reich,empire
Gruppe", Bande,gang
karibisch,Caribbean
beitragen", mitwirken,to contribute
Wohlstand", Gedeien,prosperity
Nachkriegs-,post-war
Leidenschaft,passion
Begegnung", Zusammentreffen,encounter
mieten,to rent
Aufgabe", Auftrag,task
Bedingung,condition
rent,miete
abuse,Misbrauch
Rassendiskriminierung,racial abuse
Lohn,wage
niemand sonst,no one else
etw. ablehnen,to object to (doing) sth
rau", hart", streng", scharf,harsh
Behandlung", Versorgung,treatment
jmdn. zu etwas antreiben,to urge sb to do sth
Erfolglosigkeit", Fehlschlag,failure
(An-)Erkennung,recognition
Durchschnitts-", Massen-", Hauptrichtung,mainstream
Einführung", Start.Abschuss,launch
zielen auf", sich richten an,to aim at
Herkunft", Abstammung,origin
auf etw. drängen,to press for sth
Afrokaribe/Afrokaribin,Afro-Caribbean
Einrichtung", Organisation,intitution
obwohl,though
betreigen", führen,to run
Friseursalon für Herren,barber
Dienstleistung,service
überall hin,throughout
ein Heer an", jede Menge,a host of
Moderator/-in,presenter
teilen", aufteilen,to divide
Komplexität,complexity
Inhalt,content
letzere/-r/-s", vergangen,past
aufnehmen", einbinden,to include
Abschnitt", Paragraph,section
Can't render this file because it contains an unexpected character in line 13 and column 12.

135
temporary/zOrIVkJ.csv Normal file
View File

@@ -0,0 +1,135 @@
Englischtext
Sprache 1 (Muttersprache),Sprache 1 (Fremdsprache)
gemäß,according to
derzeit,currently
im Grunde,at all
einsetzen", ausüben,apply
betrachten als,consider to
bewusst,conscious
verschweigen,keep quiet
Ablehnung,rejection
Art und Weise,manner
zur Rechenschaft ziehen,call to account
weder ... noch,neither ... nor
jemanden ettäuschen,disappoint
Vorurteile gegenüber,prejudices against
ausdrücken,put
sich gut ausdrücken können,to be articulate
sich etwas unglücklich ausdrücken,to use a not-quite-correct term
besessen nach,obsessed by
habgierig,greedy
Geschehen,happen
abzuwarten bleiben,remains to be seen
beispiellos,unprecedented
anstrengen,strain
Schulden,debt
beneiden,envy
unter Berücksichtigung,regarding to
in Bezug auf,referring to
aushalten,endure
widersprechen,object
vermitteln,convey
überlegen,superior
aufgrund von,owing to
vorausgesetzt,of requirement
die Massen begeistern,excite the masses
eher,rather
entweder ... oder,either ... or
aneignen,acquire
aufgrund von,due to
erlangen,gain
Maßnahme,arrangement
beschuldigen,accuse
entziehen,elude
übertragen,assign
abschaffen,abolish
von jdm. unabhängig werden,become independent of
Bürgerrechtsbewegung,civil rights movement
Diskriminierung,discrimination
Verfolgung entgehen,escape persecution
das Grenzland,the Frontier
Unabhängigkeit erlangen,gain independence
voreingenommen sein,be prejudiced
Protestbewegung,protest movement
Ankauf,purchase
rebellieren,rebel
Staatsbürger,subject
Handelsstützpunkt,trading post
Ernennung,appointment
Verfassung,constitution
etwas für verfassungswidrig klären,declare sth. unconstitutional
Innenpolitik,domestic policy
zusichern,ensure
Außenpolik,foreign policy
regieren,govern
sich in etwas einmischen,interfere with sth.
unparteiisch sein,be impartial
einen Vertrag unterzeichnen,ratify a treaty
Wiedervereinigung,reunification
verschiedenartige Gesellschaft,heterogeneous society
unveräußerlichte Rechte,inalienable rights
Schmelztigel,Melting Pot
eine Gelegenheit bieten,offer an opportunity to sb
Streben nach Glück,pursuit of happiness
Sparsamkeit,thrift
anpassen,assimilate
Handel,commerce
finanzielle Rezession,financial recession
geringverdienend sein,be low-income
Gesellschaftmodell von G. W. Bush,ownership society
Grundbesitz,real estate
umgestalten,regenerate
subventionieren,subsidize
sizialer Aufstieg,upward mobility
wohlhabend sein,be wealthy
eindringen,invade
belagern,occupy
Vergeltung,retaliation
Sozialhilfe,social benefits
Spannung,tension
Wohlfahrtsstaat,welfare state
selbsthilfe,self-help
Ermahnung,admonition
Erfolg bringen,assure success
Verlässlichkeit,reliability
Tugend,virtue
vorwärtskommen,get on in the world
Grundsatz,precept
Vorbild des Erfolgs,model of success
Verbrechen,vice
Weg zum Erfolg,way to success
Voraussetzung,prerequisite
Weiterbildung,self-improvement
Ausdauer,perseverance
sich hochkämpfen,struggle upward
Eigenverantwortung,self-reliance
Haltung gegenüber,attitude toward
tituliert als,addressed with
dennoch (wir am Ende des Satzes geschrieben!),nonetheless
implizieren", schließen lassen,imply
vermitteln,convey
Zweck,purpose
ausgefeilt,polished
witzig,witty
bestimmen,determine
etw. meistern,nail
zurückhaltender,more reserved
Freudigkeit,cheerfulness
begeistert,enthusiastic
humorvoll,humorous
verachtend,disdainful", contemptuous
herablassend,condescending
zynisch,cynical
anklagend,accusatory
feindlich,hostile
ausfallend,abusive
bestimmerisch,commanding
spöttisch,rediculous
steif,stilted", stiff
aufrichtig,candid
sicher,certain
voreingenommen,biased
erörtern,discuss
Wortlaut,wording
Can't render this file because it contains an unexpected character in line 8 and column 10.

36
vokabelbox-updater.sh Executable file
View File

@@ -0,0 +1,36 @@
#!/bin/bash
# Zählt die Anzahl der bearbeiteten Dateien
count=0
echo "Starte rekursive PHP-MySQLi-Aktualisierung..."
echo "----------------------------------------"
# 'find' sucht rekursiv nach allen .php-Dateien
find . -type f -name "*.php" | while IFS= read -r file
do
echo "Bearbeite Datei: $file"
# 1. Einbindung Datenbankverbindung entfernen
sed -i '/\$ezine_db = ezine_connecte_db();/d' "$file"
# 2. SQL-Query ersetzen - IN ZWEI SCHRITTEN
# WICHTIG: Zuerst den spezifischen Fall mit ZWEI Argumenten ersetzen.
# Hier wird der zweite Parameter ($ezine_db) effektiv entfernt.
sed -i 's/mysql_query *(\([^,)]*\) *, *\$ezine_db *)/\$conn->query(\1)/g' "$file"
# NEU: Danach den allgemeinen Fall mit EINEM Argument ersetzen.
# Dieser Befehl fängt alles innerhalb der Klammern von mysql_query auf und
# packt es in $conn->query().
sed -i 's/mysql_query(\(.*\))/\$conn->query(\1)/g' "$file"
# 3. Result-Verarbeitung ersetzen
sed -i 's/mysql_fetch_object/mysqli_fetch_object/g' "$file"
# 4. Zeilen zählen ersetzen
sed -i 's/mysql_num_rows/mysqli_num_rows/g' "$file"
((count++))
done
echo "----------------------------------------"
echo "✅ Fertig! Insgesamt wurden $count Dateien in allen Verzeichnissen bearbeitet."