matrix-register/lib/common.php

67 lines
1.2 KiB
PHP

<?php
/**
* file: common.php
* date: 03.03.2021
* author: bernd@nr18.space
* desc: Allgemeine Funktionen, die mal in lib/db.php waren aber nichts mit
* der Datenbank zu tun haben.
*/
if (!defined('INCLUDES_ALLOWED'))
die('Access denied.');
function getNow(): int {
/**
* Zeitzone aud Berlin setzen und die aktuelle Zeit in Sekunden seit
* 01.01.1970 zurückgeben.
*/
date_default_timezone_set("Europe/Berlin");
return time();
}
function getNick(string $mid): string
{
/**
* Extrahiert aus einer Matrix-ID den localpart.
*/
$uid = "";
$append = false;
$strarray = str_split($mid);
foreach ($strarray as $char)
{
if ($char == '@')
{
$append = true;
}
else if ($char == ':')
{
return $uid;
}
else
{
if ($append === true)
{
$uid = $uid.$char;
}
}
}
}
function getRemoteHexIP(): string {
/**
* Wandelt die IP des anfragenden Clients in einen Hexadezimalen
* String um.
* TODO: Funktion allgemeiner halten? IP als Parameter übergeben?
*/
return bin2hex(inet_pton($_SERVER['REMOTE_ADDR']));
}