STB/stb/init_alt.php

144 lines
5.3 KiB
PHP
Executable File

<?php
require __DIR__ . "/autoload.php";
//require __DIR__ . "/database.php"; wird im $container = new App\Core\Container(); gebildet
// Die Function e($str) wandelt einen string so um, dass zeichen wie ", "", '', >, <; in
// entsprechende &quot, &lt, &gt, ... gewandelt werden. XSS => cross site scripting
function e($str) {
return (htmlentities($str, ENT_QUOTES, 'UTF-8'));
}
// prüft alle Eingabefelder
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
// Die Funktion wandelt das amerikanische Datum in eine deutsche um
function date_german($datum) { // Eingabe: 2013-10-20
list($jahr, $monat, $tag) = explode("-", $datum);
return("$tag.$monat.$jahr"); // Ausgabe: 20.10.2013
}
// die Funktion wandelt ein datum in ein reines Jahr
function jahr($datum) {
if ($datum != 0) {
$jahr = date("Y",strtotime($datum));
} else { $jahr = '????';}
return $jahr;
}
// Geburtstag - Todestag
function date_period($person) { // Eingabe: 2013-10-20
list($jahr, $monat, $tag) = explode("-", $person['day_of_birth']);
$period = ("$tag.$monat.$jahr");
list($jahr, $monat, $tag) = explode("-", $person['day_of_death']);
if ($tag != 0) {$period = $period." - "."$tag.$monat.$jahr";}
$period = "(".$period.")";
return $period;
}
function periode($person){
if (($person->day_of_birth)!= 0){
$birth = DateTime::createFromFormat('Y-m-d', $person->day_of_birth);
$period = "(".$birth->format('Y')."-";
} else { $period = "( - ";}
if ($person->day_of_death >=1){$death = DateTime::createFromFormat('Y-m-d', $person->day_of_death);
$period = $period.$death->format('Y').")";
} else { $period = $period." )"; }
return $period;
}
// Alter der Person
function alter($person) {
if ($person['day_of_birth'] != 0){ // Geburtstag eingetragen
$geburtstag = new DateTime($person['day_of_birth']);
if ($person['day_of_death'] != 0){ // Todestag eingetragen
$todestag = new DateTime(date($person['day_of_death']));
$alter = $geburtstag->diff($todestag);
return $alter->format('%y'); // Alter ausgeben
} else {
if ($person['place_of_death'] != ""){ // Ort des Todes
return $alter = "† ?"; // kein Alter möglich
} else {
$heute = new DateTime(date('Y-m-d')); // Alter lebender Person
$alter = $geburtstag->diff($heute);
return $alter->format('%y');
}
}
} else {return $alter = "?";} // kein Geburtstag eingetragen
}
//convert date from yyyy-mm-dd database format to dd MMM yyyy gedcom format
function date_ged($incoming) {
// define the months
$months = array ("00" => "00", "01" => "Jan", "02" => "Feb", "03" => "Mrz", "04" => "Apr",
"05" => "Mai", "06" => "Jun", "07" => "Jul", "08" => "Aug", "09" => "Sep",
"10" => "Okt", "11" => "Nov", "12" => "Dez");
$work = explode("-", $incoming);
if ($work[1] == "00" OR $work[2] == "00") {
$retval = "$work[0]"; // if month or day unknown, just return year
} else {
$replacemonth = strtr($work[1], $months); // reformat whole date to dd MMM yyyy
$retval = "$work[2] $replacemonth $work[0]";
}
return $retval; // return the string for gedcom DATE
}
// return GET['index'], set SESION['index'], OR return default
function getAndSetSession($index, $session, $default){
if ((isset($_GET[$index])) || !empty($_GET[$index])){
$_SESSION[$session] = $_GET[$index];
} else {
if (!isset($_SESSION[$session])){
$_SESSION[$session] = $default;
}
}
return $_SESSION[$session];
}
function getUmlauteArray() {
return array(
'ü'=>'ü',
'ä'=>'ä',
'ö'=>'ö', 'Ö'=>'Ö',
'ß'=>'ß', 'à '=>'à', 'á'=>'á', 'â'=>'â', 'ã'=>'ã',
'ù'=>'ù', 'ú'=>'ú', 'û'=>'û',
'Ù'=>'Ù', 'Ú'=>'Ú', 'Û'=>'Û', 'Ãœ'=>'Ü',
'ò'=>'ò', 'ó'=>'ó', 'ô'=>'ô',
'è'=>'è', 'é'=>'é', 'ê'=>'ê', 'ë'=>'ë',
'À'=>'À', 'Á'=>'Á', 'Â'=>'Â', 'Ã'=>'Ã', 'Ä'=>'Ä', 'Ã…'=>'Å',
'Ç'=>'Ç', 'È'=>'È', 'É'=>'É', 'Ê'=>'Ê', 'Ë'=>'Ë', 'ÃŒ'=>'Ì',
'Í'=>'Í', 'ÃŽ'=>'Î', 'Ï'=>'Ï',
'Ñ'=>'Ñ',
'Ã’'=>'Ò', 'Ó'=>'Ó', 'Ô'=>'Ô', 'Õ'=>'Õ', 'Ø'=>'Ø',
'Ã¥'=>'å',
'æ'=>'æ',
'ç'=>'ç',
'ì'=>'ì', 'í'=>'í', 'î'=>'î', 'ï'=>'ï',
'ð'=>'ð',
'ñ'=>'ñ',
'õ'=>'õ',
'ø'=>'ø',
'ý'=>'ý', 'ÿ'=>'ÿ',
'€'=>'€' );
}
function fixeUmlauteDb() {
$umlaute = $this->getUmlauteArray();
foreach ($umlaute as $key => $value){
$sql = "UPDATE table SET tracks = REPLACE(row, '{$key}', '{$value}') WHERE row LIKE '%{$key}%'";
}
}
// Container dient zur erzeugung von instances nach festgelegten Bauanleitungen (receipts)
// Hier wird eine neue class gebildet
$container = new App\Core\Container();
//var_dump($container); // erster Test, ob der code läuft
//$usersRepository = $container->make("usersRepository");
//var_dump($usersRepository); // zweiter Test, nachdem UsersRepository erzeugt wurde
//var_dump($usersRepository->all()); // dritter Test, alle user auslesen; function aus AbstractRepostory
// nächster Test, finde user "Erik"; function aus init.php
//var_dump($usersRepository->findByUserName("test"));
//die();
?>