Catavatar: Fix handling of avatar generating for any address

This commit is contained in:
Michael 2020-12-06 16:04:07 +00:00
parent 98b1d4990b
commit 57577f3b65
1 changed files with 22 additions and 15 deletions

View File

@ -126,12 +126,16 @@ function catavatar_addon_settings_post(App $a, &$s)
function catavatar_lookup(App $a, &$b) function catavatar_lookup(App $a, &$b)
{ {
$user = DBA::selectFirst('user', ['uid'], ['email' => $b['email']]); $user = DBA::selectFirst('user', ['uid'], ['email' => $b['email']]);
$url = DI::baseUrl()->get() . '/catavatar/' . $user['uid']; if (DBA::isResult($user)) {
$url = DI::baseUrl()->get() . '/catavatar/' . $user['uid'];
} else {
$url = DI::baseUrl()->get() . '/catavatar/' . md5(trim(strtolower($b['email'])));
}
switch($b['size']) { switch($b['size']) {
case 300: $url .= "/4"; break; case 300: $url .= "/4"; break;
case 80: $url .= "/5"; break; case 80: $url .= "/5"; break;
case 47: $url .= "/6"; break; case 48: $url .= "/6"; break;
} }
$b['url'] = $url; $b['url'] = $url;
@ -152,23 +156,28 @@ function catavatar_content(App $a)
throw new NotFoundException(); // this should be catched on index and show default "not found" page. throw new NotFoundException(); // this should be catched on index and show default "not found" page.
} }
$uid = intval($a->argv[1]); if (is_numeric($a->argv[1])) {
$uid = intval($a->argv[1]);
$condition = ['uid' => $uid,
'account_expired' => false, 'account_removed' => false];
$user = DBA::selectFirst('user', ['email'], $condition);
if ($user === false) {
throw new NotFoundException();
}
$seed = DI::pConfig()->get($uid, "catavatar", "seed", md5(trim(strtolower($user['email']))));
} elseif (!empty($a->argv[1])) {
$seed = $a->argv[1];
} else {
throw new NotFoundException();
}
$size = 0; $size = 0;
if ($a->argc == 3) { if ($a->argc == 3) {
$size = intval($a->argv[2]); $size = intval($a->argv[2]);
} }
$condition = ['uid' => $uid,
'account_expired' => false, 'account_removed' => false];
$user = DBA::selectFirst('user', ['email'], $condition);
if ($user === false) {
throw new NotFoundException();
}
$seed = DI::pConfig()->get($uid, "catavatar", "seed", md5(trim(strtolower($user['email']))));
// ...Or start generation // ...Or start generation
ob_start(); ob_start();
@ -180,8 +189,6 @@ function catavatar_content(App $a)
exit(); exit();
} }
/** /**
* ==================== * ====================
* CAT-AVATAR-GENERATOR * CAT-AVATAR-GENERATOR