]> git.mxchange.org Git - friendica-addons.git/commitdiff
Catavatar: Fix handling of avatar generating for any address
authorMichael <heluecht@pirati.ca>
Sun, 6 Dec 2020 16:04:07 +0000 (16:04 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 6 Dec 2020 16:04:07 +0000 (16:04 +0000)
catavatar/catavatar.php

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