148 lines
5.5 KiB
PHP
Executable File
148 lines
5.5 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 ", <, >, ... 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 {
|
|
if ($person['place_of_death'] != ""){ // Ort des Todes
|
|
return $alter = "† ?";} // kein Ort des Todes
|
|
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();
|
|
?>
|