Skip to content
Snippets Groups Projects
Unverified Commit ed4309ce authored by John Molakvoæ's avatar John Molakvoæ
Browse files

Unify colour algorithm output

parent eea6f74c
No related branches found
No related tags found
No related merge requests found
......@@ -62,13 +62,16 @@
(function ($) {
String.prototype.toRgb = function() {
var hash = this.toLowerCase().replace(/[^0-9a-f]+/g, '');
// Normalize hash
var hash = this.toLowerCase();
// Already a md5 hash?
if( !hash.match(/^[0-9a-f]{32}$/g) ) {
if( hash.match(/^([0-9a-f]{4}-?){8}$/) === null ) {
hash = md5(hash);
}
hash = hash.replace(/[^0-9a-f]/g, '');
function Color(r,g,b) {
this.r = r;
this.g = g;
......@@ -116,7 +119,7 @@
var result = Array();
// Splitting evenly the string
for (var i in hash) {
for (var i=0; i<hash.length; i++) {
// chars in md5 goes up to f, hex:16
result.push(parseInt(hash.charAt(i), 16) % 16);
}
......
......@@ -408,14 +408,20 @@ class Avatar implements IAvatar {
}
/**
* @param string $text
* @param string $hash
* @return Color Object containting r g b int in the range [0, 255]
*/
public function avatarBackgroundColor(string $text) {
$hash = preg_replace('/[^0-9a-f]+/', '', $text);
public function avatarBackgroundColor(string $hash) {
// Normalize hash
$hash = strtolower($hash);
// Already a md5 hash?
if( preg_match('/^([0-9a-f]{4}-?){8}$/', $hash, $matches) !== 1 ) {
$hash = md5($hash);
}
$hash = md5($hash);
$hashChars = str_split($hash);
// Remove unwanted char
$hash = preg_replace('/[^0-9a-f]+/', '', $hash);
$red = new Color(182, 70, 157);
$yellow = new Color(221, 203, 85);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment