#75 - fix data leak to ui-avatars (#79)

* #75 - fix data leak to ui-avatars

* #75 - ecs fix

* #75 - new colors

* #75 - change font color

* #75 - ecs fix

* #75 - change colors order

* #75 - fix

* #75 - fix

* #75 - ecs fix

Co-authored-by: EwelinaLasowy <ewelina.lasowy@blumilk.pl>
This commit is contained in:
Adrian Hopek
2022-03-16 11:53:05 +01:00
committed by GitHub
parent 8a54403318
commit 287c6c19ab
4 changed files with 70 additions and 22 deletions

View File

@@ -0,0 +1,33 @@
<?php
declare(strict_types=1);
namespace Toby\Eloquent\Helpers;
class ColorGenerator
{
public static function generate(string $text): string
{
$colors = config("colors");
$hash = static::calculateHash($text);
$index = $hash - count($colors) * floor($hash / count($colors));
return $colors[$index];
}
protected static function calculateHash(string $text): int
{
$hash = 0;
if (empty($text)) {
return $hash;
}
for ($i = 0; $i < mb_strlen($text); $i++) {
$hash = abs((int)(($hash << 2) - $hash) + mb_ord($text[$i]));
}
return $hash;
}
}