Im Format UTF-8 speichern! Ggf. im Browser - Darstellung Textcodierung auf Unicode (UTF-8) stellen


<?php
/*
 *  Event-Kalender - Einstellungen - verbindung.php (utf-8)
 * - https://werner-zenk.de
 *

  Dieses Script wird in der Hoffnung verteilt, dass es nützlich sein wird, aber ohne irgendeine Garantie;
  ohne auch nur die implizierte Gewährleistung der Marktgängigkeit oder Eignung für einen bestimmten Zweck.
  Weitere Informationen finden Sie in der GNU General Public License.
  Siehe Datei: license.txt - http://www.gnu.org/licenses/gpl.html

  Diese Datei und der gesamte "Event-Kalender" ist urheberrechtlich geschützt (c) 2021 Werner Zenk alle Rechte vorbehalten.
  Sie können diese Datei unter den Bedingungen der GNU General Public License frei verwenden und weiter verbreiten.

 *
 * Hier können Sie den Event-Kalender individuell anpassen.
   Achtung: Fehlerhafte Angaben können Probleme verursachen!
   Testen Sie einzelne Änderungen immer gleich bevor weitere vorgenommen werden.
 */

// modify RaHa ->
require_once "verbindung_myfunctions.inc.php";
// <- modify RaHa

/* Jedem angemeldeten Benutzer nur seine Events anzeigen (ja/nein)
   Die Events müssen vom  Benutzer als "Privat" markiert werden! */
$EINZELPERSON_ANZEIGE = "nein"; // nein

/* Den Namen des Benutzers beim Event anzeigen (ja/nein) */
$BENUTZER = "ja"; // nein

/* Den Namen des Benutzers im Formular (durch den Admin.) anpassen (ja/nein) */
$BENUTZER_EDIT = "nein"; // nein

/* Die Beschreibung nur den angemeldeten Benutzern anzeigen (ja/nein) */
$BESCHREIBUNG_ANZEIGE = "nein"; // nein

/* Adressdatenbank einbinden (ja/nein)
    Im Formularfeld: "Adresse" werden die Adressen zur Auswahl angezeigt.
 */
$ADRESSDATENBANK = "ja"; // nein


/*
 * Kalender
 */

/* Kalender Beschriftung
   Eine Beschriftung, ein Bild eintragen oder leer lassen. */
$KALENDER_BESCHRIFTUNG = '<img src="ev-header.png">'; // leer!
/* Zur Aktivierung das Kommentarzeichen (#) entfernen */
# $KALENDER_BESCHRIFTUNG = '<img src="bild.jpg">'; // Bild

/* Monatsbilder - Jeden Monat ein anderes Bild anzeigen */
# $KALENDER_BESCHRIFTUNG = '<div id="monatsbilder"></div>'; // <div id="monatsbilder"></div>

/* Feiertage anzeigen (ja/nein) */
$FEIERTAGE = "ja"; // ja

/* Kalenderblatt anzeigen (ja/nein) */
$KALENDERBLATT = "ja"; // ja

/* Die Namen der Wochentage ausschreiben (ja/nein) */
$WOCHENTAGSNAMEN = "nein"; // nein

/* Vorschau-Button (und BB-Code Button) im Formular anzeigen (ja/nein)
   Für weitere Details, siehe Datei: "lies_mich.txt" */
$VORSCHAU_BUTTON = "ja"; // nein

/* Anzahl der aktuellen Events der nächsten Tage (Minimale Angabe) */
$AKTUELLE_EVENTS_TAGE = 14; // 14

/* Event mit einem Permalink (https://de.wikipedia.org/wiki/Permalink) anzeigen (ja/nein) */
$PERMALINK = "ja"; // ja

/*
 * Darstellung und Formate
 */
// modify RaHa ->
require_once "verbindung_darformate.inc.php";
// <- modify RaHa

/* Standortbestimmung für die Anzeige von Sonnenauf.- und Sonnenuntergang (im Kalenderblatt)
   Die geografische Länge und Breite des Standorts ermitteln Sie z.B. im Programm "Google Earth" oder
   unter: https://werner-zenk.de/javascript/geolocation_api_bei_knopfdruck_koordianten_ausgeben.php */
$GEO_BREITE = "49.95"; // 49.95
$GEO_LAENGE = "10.95"; // 10.95
$REGION = ""; // Stadt, Ort, Region, Bezirk, ... (oder leer lassen!)

/* Anzahl der Serienevents (aufeinander folgende Tage)
   die der Benutzer maximal eingeben kann. */
$SERIENEVENTS = 365;

/* Datumsformat
   1 = "20 Dezember 2021 (So.)"
   2 = "20 Dezember 2021 Sonntag"
   3 = "Sonntag, 20 Dezember 2021"
   4 = "20.12.2021 So."
   5 = "20.12.2021" */
$DATUMSFORMAT = 1; // 1

/* Stundenformat (zur Auswahl im Kalendertag)
   1 = 10:10, 10:20, 10:30, 10:40, 10:50
   2 = 10:05, 10:10, 10:15, 10:20, 10:25, 10:30, 10:35, 10:40, 10:45, 10:50, 10:55
   3 = 10:15, 10:30, 10:45 */
$STUNDENFORMAT = 1; // 1

/* Events können nur eintragen werden, wenn sich
   das Jahr zwischen den folgenden Angaben befindet: */
$JAHR_MIN = 1900; // 1900 oder z.B.: date("Y") für das aktuelle Jahr
$JAHR_MAX = 2100; // 2100 oder z.B.: date("Y")+10 für das aktuelle Jahr + 10 Jahre

/*
 * E-Mail Benachrichtigung (Beta2!)
   Für weitere Details, siehe Datei: "lies_mich.txt" */


// modify RaHa -> muss für SENDE-EVENT-MAIL gesetzt werden!
/* E-Mail Adresse (eine beim Provider registrierte E-Mail Adresse).
   Leer lassen, wenn die Option nicht angezeigt werden soll. */
$ABSENDER = "automail@checkip.net"; // user@example.com

// Empfänger der Nachricht
$EMPFAENGER = "mail@checkip.net"; // user2@example2.com
 // <- modify RaHa
 
/* Wie viele Tage soll vor dem Event eine Benachrichtigung
   versendet werden (Werte von 0 bis 30) */
$TAGE_DAVOR = 1; // 1


/*
 * Experten Einstellungen
 */

/* Alte Events löschen (ja/nein) */
$DEL_EVENTS = "nein"; // nein

/* Löschen nach X-Tagen */
$DEL_TAGE = 365; // 365, Minimum: 1, Max.: 1000 Tage

/* Pflichtfelder im Formular
   Die Kommentarzeichen (#) bei Pflichtfeldern entfernen. */
$PLICHTFELDER = [
# 'beschreibung',
# 'adresse',
# 'prioritaet',
# 'kategorie',
# 'aufgabe',
];

/* Folgende HTML-Tags können vom Benutzer verwendet werden.
   Aus Sicherheitsgründen wird empfohlen diese Option nicht zu verwenden! */
$HTML_TAGS = ""; // z.B: <img><b><u><ol><li><del><mark>

/* Wie lange sollen Cookies gespeichert werden, Anzahl in Tagen. */
$COOKIE_TAGE = 10; // 10

/* Name der Datenbank-Tabelle (Vorzeichen)
   Ändern wenn z.B.: eine Tabelle mit dem Namen: "mai20_kalender" bereits existiert!
   (Nach der Installation bitte nicht mehr ändern!) */
$TABLE_PREFIX = "mai20"; // mai20 - Letzte Änderung an der DB-Tabelle: Mai 2020

/* Zeitzone setzen
   Infos unter: http://php.net/manual/de/timezones.europe.php */
date_default_timezone_set("Europe/Berlin");

/* PHP-Meldungen zum testen anzeigen (0/E_ALL) */
$error = E_ALL; // E_ALL = anzeigen
if (isset($_SERVER["SERVER_NAME"])) { error_reporting($_SERVER["SERVER_NAME"] == 'localhost' ? E_ALL : $error); }

/* Bei einer fehlerhaften Verbindung zur Datenbank eine Nachricht ausgeben (ja/nein) */
$FEHLER_VERBINDUNG = "ja"; // ja

/* Beginn der Woche (Kalenderwoche)
   Damit lässt sich die Woche im Kalender nicht ändern,
   es wird nur der Modus bei der MySQL - Anweisung: "WEEK(datetime, Modus)" verändert!
   https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_week */
$KW_MODUS = 3; // 3

/* PHP-Version überprüfen */
if (version_compare(PHP_VERSION, '7.3') < 0) {
 die('<p><strong>Event-Kalender</strong><br>&#10008; Aktuelle PHP-Version: ' . PHP_VERSION . '<br>&#10004; Voraussetzung mind.: &nbsp; 7.3</p>');
}

/* Zeichenkodierung der aktuellen Datei überprüfen */
if (bin2hex('ä') !== 'c3a4') {
 die('<p><strong>Event-Kalender</strong><br>&#10008; Die Datei: "<em>' . basename(__FILE__) . '</em>" muss unbedingt mit der Zeichenkodierung "<em>UTF-8</em> (ohne Signatur (BOM))" gespeichert werden!<br>
 Siehe: <a href="https://werner-zenk.de/tipps/schriftzeichen_richtig_darstellen.php" target="_blank">Schriftzeichen richtig darstellen</a></p>');
}

// modify RaHa ->
require_once "dbinfo.inc.php";
require_once "verbindung_myfunctions2.inc.php";
require_once "verbindung_autoinstaller.inc.php";
// <- modify RaHa

?>


verbindung_myfunctions.inc.php – Im Format UTF-8 speichern! Ggf. im Browser - Darstellung Textcodierung auf Unicode (UTF-8) stellen


<?php
function mydecrypt($string) {
     $pass2=strtr( $string, '-_', '+/') . str_repeat('=', 3 - ( 3 + strlen( $string )) % 4 ); 
     list($pass, $iv) = explode('::', base64_decode($pass2), 2);

     $key="😀😀😀😀😀😀😀😀😀😀";
     $method="aes-128-cbc";
     return openssl_decrypt($pass, $method, $key, 0, $iv);
}


$ISACCESSLINK=false;

if (isset($_SERVER['HTTP_REFERER'])) {
          $accesslink=trim($_SERVER['HTTP_REFERER']);
          $pos=strpos($accesslink, "access=");
          if ($pos!==false) {
               $accesslink=substr($accesslink, $pos+7, strlen($accesslink)-$pos+7);
               $accesslink=mydecrypt($accesslink);
               $pos=strpos($accesslink, "|");
               $benutzername=substr($accesslink, 0, $pos);
              $dateiname=substr($accesslink, $pos+1, strlen($accesslink)-$pos+1);

               if ($benutzername=="ACESSLINK") {
                    echo '<h1>Generie bitte einen <a href="https://event-kalender.checkip.net/generateaccesslink.php?name=">ACCESSLINK</a>!</h1>';
                     exit;
               }
               
              $filepass="/var/www/vhosts/checkip.net/event-kalender.checkip.net/accesslink/verified/".$dateiname;
               if (!is_file($filepass)){
                    echo 'Sie sind nicht berechtigt!';
                    exit;
               }
               unset($_SESSION["name"]);
               $_SESSION["name"] = $benutzername;
               $NAME = $_SESSION["name"]; // wenn der Admin sein soll
               $ISACCESSLINK=true;
          } else {

               $dynsallow['1']="eins.dyndns.checkip.net";
               $dynsallow['2']="zwei.dyndns.checkip.net";
               $dynsallow['3']="drei.dyndns.checkip.net";
               $dynsallow['4']="vier.dyndns.checkip.net";

               $dynsadmin['1']="RaHa";
               $dynsadmin['2']="RaHa";
               $dynsadmin['3']="WeZe";
               $dynsadmin['4']="WeZe";

               $i = 0;     
               unset($_SESSION["name"]);

               foreach ($dynsallow as $dynallow) {
                    $i++;
                    $ipremote=$_SERVER["REMOTE_ADDR"];
                    $hostip=gethostbyname($dynallow);

                    if ( $ipremote == $hostip) {
                         // Name (Administrator)
                         $NAME = $dynsadmin[$i]; // Admin
                         $_SESSION["name"] = $dynsadmin[$i];
                         break;
                    } else{
                         $_SESSION["name"] = str_replace(".", "-", $ipremote);
                         $NAME = $_SESSION["name"];
                    }
               }
          }
}

if (!isset($NAME)) { $NAME="RaHa"; }

/* Passwort (Administrator) - Bitte das Standard-Passwort ändern! 
   Aus Sicherheitsgründen sollte das Passwort mind. 8 Zeichen enthalten mit Groß- und Kleinschreibung und Sonderzeichen. */
//$NAME_PASS[$NAME] = "raha"; // 0000
//$NAME_PASS["user"] = "2222"; // 0000
//$NAME_PASS["GESCHAEFTSSTELLE"] = "2222"; // 0000

/* Zusätzliche Benutzer (Namen und Passwörter) hinzufügen
   Jeder Name und jedes Passwort müssen einmalig sein!
   Zur Aktivierung das Kommentarzeichen (#) entfernen.*/
# $NAME_PASS["test"] = "1234";
# $NAME_PASS["Ka Lauer"] = "hihi";
# $NAME_PASS["Rosi Nenkuchen"] = "lecker";
?>


verbindung_darformate.inc.php – Im Format UTF-8 speichern! Ggf. im Browser - Darstellung Textcodierung auf Unicode (UTF-8) stellen


<?php
/* Priorität - Zahlen und Hintergrundfarben (evtl. anpassen). */
$PRIORITAET = [
   0 => "Transparent", // Transparent (für Events ohne Priorität)
   1 => "#FF5B5B", // #FF5B5B (Rot)
   2 => "#FBD600", // #FBD600 (Gold)
   3 => "#9DDF24", // #9DDF24 (Grün)
   4 => "#5BADFF", // #5BADFF (Blau)
   5 => "#FF9224", // #FF9224 (Orange)
   6 => "#FF97FF", // #FF97FF (Violet)
   7 => "#28E4FF", // #28E4FF (Himmelblau)
   8 => "#FF71AA", // #FF71AA (Rosa)
   9 => "#73B9B9", // #73B9B9 (Cyan)
   10 => "#D9A36C", // #D9A36C (Braun)
   11 => "#ACACAC", // #ACACAC (Grau)
   12 => "#73AAD2", // #73AAD2 (Stahlblau)
   13 => "#45C07C", // #45C07C (Seegrün)
   14 => "#FB9B91", // #FB9B91 (Salomon)
   15 => "#E083A2", // #E083A2 (Violetrot)
   16 => "#B089D8", // #B089D8 (Purple)
   17 => "#B4B46B", // #B4B46B (Khaki)
   18 => "#36B663", // #36B663 (Waldgrün)
   19 => "#00C4C4", // #00C4C4 (Türkis)
   20 => "#94B5DD", // #94B5DD (Blaugrau)
   21 => "#FFC28C", // #FFC28C (Terracotta)
   22 => "#488CEC", // #488CEC (Mittelblau)
   23 => "#7DA628", // #7DA628 (Olive)
   24 => "#DDCF53", // #DDCF53 (Altgold)
   25 => "#C199C1", // #C199C1 (Blassviolet)
   26 => "#5EB3CE", // #5EB3CE (Lichtblau)
   27 => "#FFD0D0", // #FFD0D0 (Hellrot)
   28 => "#CEE7FF", // #CEE7FF (Hellblau)
   29 => "#DFFFBF", // #DFFFBF (Hellgrün)
   30 => "#FFFFC1", // #FFFFC1 (Hellgelb)
   31 => "#DFDFDF", // #DFDFDF (Hellgrau)
   32 => "#FFE7D7", // #FFE7D7 (Seashell)
   33 => "#DFFFFF", // #DFFFFF (Azure)
   34 => "#F8F8FF", // #F8F8FF (Ghostwhite)
];

/* Kategorien im Kalender farbig markieren (ja/nein) */
$KATEGORIE_FARBE = "ja"; // ja

/* Kategorien und Farben für die Events festlegen
   Jede Kategorie muss eine andere Farbe haben!
   Nicht verwendete Kategorien sollten kommentiert (#) werden, z.B.:
   #$KATEGORIEN[$PRIORITAET[1]] = "Abteilung";
 */
$KATEGORIEN[$PRIORITAET[6]] = "GESCHAEFTSSTELLE";
$KATEGORIEN[$PRIORITAET[5]] = "SPONSOREN";
$KATEGORIEN[$PRIORITAET[12]]= "STIFTER";
$KATEGORIEN[$PRIORITAET[1]] = "WICHTIG";
$KATEGORIEN[$PRIORITAET[25]]= "WEBMASTER";
$KATEGORIEN[$PRIORITAET[15]]= "GEBURTSTAG";
$KATEGORIEN[$PRIORITAET[18]]= "SCHULFERIEN";
$KATEGORIEN[$PRIORITAET[2]] = "IPUSER";
$KATEGORIEN[$PRIORITAET[22]]= "ACCESSLINK";
$KATEGORIEN[$PRIORITAET[24]]= "CORONA KATWARN";
$KATEGORIEN[$PRIORITAET[26]]= "CORONA RKI";
$KATEGORIEN[$PRIORITAET[21]]= "ICH";
$KATEGORIEN[$PRIORITAET[16]]= "GOOGLE";

// modify RaHa ->
// Modifikation SENDE-EVENT-MAIL
$KATEGORIE_EMAIL[$PRIORITAET[6]] = "mailer_geschaeftsstelle@checkip.net";
$KATEGORIE_EMAIL[$PRIORITAET[5]] = "mailer_sponsoren@checkip.net";
$KATEGORIE_EMAIL[$PRIORITAET[12]]= "mailer_stifter@checkip.net";
$KATEGORIE_EMAIL[$PRIORITAET[25]]= "mail@checkip.net";
$KATEGORIE_EMAIL[$PRIORITAET[21]]= "test@checkip.net";
// <- modify RaHa

// modify RaHa ->
/*
$i=0;
$PRIORITAET[$i]="Transparent"; $i++;
foreach ($KATEGORIEN AS $key => $value) { $PRIORITAET[$i]=$key; $i++; }
*/
// <- modify RaHa

/* Die Kategorie-Farbe anstatt der Priorität-Farbe anzeigen (ja/nein)
   Sollte $KATEGORIE_FARBE = ja gesetzt werden,
   muss die Anzahl der Elemente von $PRIORITAET mindestens der von $KATEGORIEN entsprechen
   und $PRIORITAET die Keys von $KATEGORIEN als Farbe enthalten! */
$PRIORITAET_KATEGORIE_FARBE = "ja"; // nein

// modify RaHa ->
/* wird nach Sortierung der Definitionen und Umdefinierung von $KATEGORIEN nicht mehr benötogt
// Nach Prüfungsdurchlauf kann diese Modifikation ggf. ausdokumentiert oder gelöscht werden
// Test auf doppele Farben/Keys
// Zeilen mit Zuweisung von $KATEGORIEN zählen und $zahl ändern!
// wer zu faul zum Zählen ist! Nach Durchlauf steht die Zahl dort, diese dann eintragen ;-)
$zahl = 12;
if (count($KATEGORIEN) !== $zahl) {
     echo count($KATEGORIEN)."<br><br>";
     foreach ($KATEGORIEN AS $key => $value) { echo $key . " " . $value."<br>";}
     echo "<h1>Anzahl KATEGORIEN stimmt nicht, vermutlich doppelte Keys!</h1>";
     exit;
}
// Prüfen ob Key von $KATEGORIEN in $PRIORITAET vorhanden
if ($PRIORITAET_KATEGORIE_FARBE == "ja") {
     foreach ($KATEGORIEN AS $key => $value) {
          $farbe = array_keys($PRIORITAET, $key);
          if (!isset($farbe[0])) { echo "<br>".$key." von ".$value." ist nicht in PRIORITAET vorhanden<br><br>"; exit; }
     }
}     
// Prüfen ob Key von $KATEGORIE_EMAIL in $KATEGORIE vorhanden
if (isset($KATEGORIE_EMAIL)) {
     foreach ($KATEGORIE_EMAIL AS $key => $value) {
          if (!isset($KATEGORIEN[$key])) { echo "<br>".$key." von ".$value." ist nicht in KATEGORIEN vorhanden<br><br>"; exit; }
     }
}
*/
// <- modify RaHa

/* Einen farbigen Hintergrund  je nach Priorität  anzeigen (ja/nein) */
$FARBVERLAUF = "nein"; // ja

// Einen farbigen Hintergrund  je nach Priorität  anzeigen (ja/nein)
$FARBIGE_EVENTS = "ja"; // ja

/* Benutzer-Details - Status Auswahl */
$BENUTZER_STATUS = [
 "Auftrag erledigt",
 "Event gelesen",
 "Teilnahme am Event",
 "Bewertung: 1 Stern",
 "Bewertung: 2 Sterne",
 "Bewertung: 3 Sterne",
 "Bewertung: Gut",
 "Bewertung: Neutral",
 "Bewertung: Schlecht",
];

?>


dbinfo.inc.php – Im Format UTF-8 speichern! Ggf. im Browser - Darstellung Textcodierung auf Unicode (UTF-8) stellen


<?php

// Keine Ausführung via URL
if (strpos($_SERVER["SCRIPT_FILENAME"], "dbinfo.inc") > 0 ) { echo "NO"; exit; }

// Verbindungsdaten zur Datenbank
$DB_HOST = "localhost:3306"; // Host-Adresse
$DB_NAME = "event-kalender_"; // Datenbankname
$DB_BENUTZER = "checkip"; // Benutzername
$DB_PASSWORT = "😀😀😀😀😀😀😀😀😀😀"; // Passwort

$TABLE_PREFIX = "mai20"; // mai20 - Letzte Änderung an der DB-Tabelle: Mai 2020

// Attribute für das Datenbankhandle festlegen (UTF-8 (utf8mb4) setzen)
$OPTION = [
 PDO::MYSQL_ATTR_INIT_COMMAND => "SET sql_mode='TRADITIONAL'",
 PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci",
// PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
];

// Verbindung zur Datenbank aufbauen
try {
 $db = new PDO("mysql:host=" . $DB_HOST . ";dbname=" . $DB_NAME, $DB_BENUTZER, $DB_PASSWORT, $OPTION);
}
// Bei einer fehlerhaften Verbindung
catch (PDOException $e) {

 if ($FEHLER_VERBINDUNG  == "ja") {

  echo '<h3>Event-Kalender</h3>' .
   '<p>Die Verbindung zur Datenbank ist fehlgeschlagen!';
  $fehler = ["2002" => 'Die Host-Adresse ist',
                 "1049" => 'Der Datenbankname ist',
                 "1045" => 'Der Benutzername oder das Passwort sind'];
  $code = $e->getCode();

  if (in_array($code, array_keys($fehler))) {
   echo '<br>' . $fehler[$code] . ' unbekannt!</p>';
  }
 }
 exit;
}

?>


verbindung_myfunctions2.inc.php – Im Format UTF-8 speichern! Ggf. im Browser - Darstellung Textcodierung auf Unicode (UTF-8) stellen


<?php
// modify RaHa ->
// wir müssen noch wegen ACCESSLINK das Array NAME_PASS erweitern
// dazu nehmen wir die eingetragenen Namen aus der Datenbank
$select = $db->query("SELECT `name` FROM `" . $TABLE_PREFIX . "_kalender` GROUP BY `name` ASC");
$names = $select->fetchAll(PDO::FETCH_COLUMN);
foreach ($names as $benutzer) { $NAME_PASS[$benutzer] = chr(9).chr(10).chr(13); }
// <- modify RaHa
?>


verbindung_autoinstaller.inc.php – Im Format UTF-8 speichern! Ggf. im Browser - Darstellung Textcodierung auf Unicode (UTF-8) stellen


<?php
// modify RaHa ->
// Versionsüberprüfung wenn der User Admin ist
// Voraussetzung ist, dass lies_micht.txt nicht verändert wurde
if (!isset($_COOKIE["auto-installer"])) {
     if (isset($_SESSION["name"])) {
          if ($_SESSION["name"] == $NAME) {
               $webinput = file_get_contents("https://werner-zenk.de/archiv/event-kalender.php");
               $webinput=html_entity_decode($webinput);
               $version_pos = strpos($webinput, "Version vom:") + 13;
               $_SESSION["version"] = trim(substr($webinput, $version_pos, 10));
               $version_nr_pos = $version_pos + 10;
               $_SESSION["version_nr"] = intval(trim(str_replace([chr(10), "Da", "#"], ["", "", ""], substr($webinput, $version_nr_pos, 3))));

                 $fileinput = file_get_contents("lies_mich.txt", FALSE, NULL, 0, 100);
                 $version_inst_pos = strpos($fileinput, "Version vom:") + 13;
                 $_SESSION["version_inst"] = trim(substr($fileinput, $version_inst_pos, 10));

               if ($_SESSION["version_nr"] > 0) { $_SESSION["version"] = $_SESSION["version"]."-".$_SESSION["version_nr"]; }

                 unset($webinput, $version_pos, $version_nr_pos, $fileinput, $version_inst_pos);
      
                 if (isset($_SESSION["version"]) AND isset($_SESSION["version_inst"])) {
                    if ($_SESSION["version"] !== $_SESSION["version_inst"]) { echo '<br />Neue Version vom '.$_SESSION["version"].' vorhanden! <br />Installierte Version ist vom '.$_SESSION["version_inst"].'.<br /><br />'; 
                         // hier startet der automatische Update-Prozess mit Backup und Import.
                         $_SESSION["dir"] = getcwd();
                         if (is_file($_SESSION["dir"]."/tools/auto-installer.php")) {
                    echo '[&#160;<a href="'.$_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].'/tools/auto-installer.php" target="_self">Neue Version installieren</a>&#160;]&#160;&#160;&#160;&#160;[&#160;<a href="'.$_SERVER['REQUEST_SCHEME'].'://'.$_SERVER['HTTP_HOST'].'/tools/auto-installer.php?NO" target="_self">Jetzt nicht!</a>&#160;]<br /><br />';
                         }
                    } else {
                         $options = ["expires" => strtotime(date("Y-m-d", (time()+(3600*24)))." 00:00:00"),"path" => '/',"secure" => true,"httponly" => false,"samesite" => "Strict"];   
                         setcookie("auto-installer","true",$options);
                         unset($options);
                    }
               }
          }
     }
}
// <- modify RaHa
?>