File: //home/retile.ru/public_html/system/helper/general.php
<?php
function token($length = 32) {
// Create random token
$string = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
$max = strlen($string) - 1;
$token = '';
for ($i = 0; $i < $length; $i++) {
$token .= $string[mt_rand(0, $max)];
}
return $token;
}
/**
* Backwards support for timing safe hash string comparisons
*
* http://php.net/manual/en/function.hash-equals.php
*/
if(!function_exists('hash_equals')) {
function hash_equals($known_string, $user_string) {
$known_string = (string)$known_string;
$user_string = (string)$user_string;
if(strlen($known_string) != strlen($user_string)) {
return false;
} else {
$res = $known_string ^ $user_string;
$ret = 0;
for($i = strlen($res) - 1; $i >= 0; $i--) $ret |= ord($res[$i]);
return !$ret;
}
}
}
if(!function_exists('dd')) {
function dd(...$var) {
hd($var);
exit;
}
}
if(!function_exists('hd')) {
function hd(...$var) {
echo '<pre>';
if($var) {
foreach($var as $item) {
print_r($item);
}
} else {
print_r(null);
}
echo '</pre>';
}
}