Personal Website
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

90 lines
1.9 KiB

<?php
/**
* Check if array element exists
*
* @param array $array The array to check for element
* @param string $key The element to find
*
* @return bool True if element eixsts
*/
function _exists(array $array = null, string $key = '0'): bool {
return isset($array[$key]) && !empty($array[$key]);
}
/**
* Cut off string after the found character
*
* @param string $string The input string
* @param string $fromCharacter The string is cut after this character
*
* @return string The new cut string
*/
function _trim(string $string, string $fromCharacter): string {
$position = strpos($string, $fromCharacter);
$end = strlen($string);
return substr($string, 0, $position !== false ? $position : $end);
}
/**
* Generate a cryptographically secure random string
*
* @param int $length Length of the string
* @param string $keyspace Possible characters the string can have
*
* @return string The generated string
*/
function _randomStr(int $length, string $keyspace =
'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'): string {
$pieces = [];
$max = mb_strlen($keyspace, '8bit') - 1;
for ($i = 0; $i < $length; $i++) {
$pieces[] = $keyspace[random_int(0, $max)];
}
return implode('', $pieces);
}
/**
* Print variable inside of a <pre> and exit
*
* @param mixed[] $output The variable (single/array) to print
*
* @return void Nothing
*/
function _log($output): void {
echo '<pre>';
var_dump($output);
echo '</pre>';
die();
}
//-------------------------------------//
if (!function_exists('session')) {
/**
* Get / set the specified session value.
* If key is an array, treat as a setter.
*
* @param string|array $key
* @param mixed $default
*
* @return mixed
*/
function session($key = null, $default = null)
{
$session = "\App\Classes\Session";
if (is_null($key)) {
return $session;
}
if (is_array($key)) {
return $session::put($key);
}
return $session::get($key, $default);
}
}