소스 검색

Update webfinger util, fix bug preventing username with dots

Daniel Supernault 5 년 전
부모
커밋
c2d194af1d
1개의 변경된 파일6개의 추가작업 그리고 23개의 파일을 삭제
  1. 6 23
      app/Util/Lexer/Nickname.php

+ 6 - 23
app/Util/Lexer/Nickname.php

@@ -10,32 +10,15 @@ class Nickname
             $url = str_replace('acct:', '', $url);
             $url = str_replace('acct:', '', $url);
         }
         }
 
 
-        if (!str_contains($url, '@') && filter_var($url, FILTER_VALIDATE_URL)) {
-            $parsed = parse_url($url);
-            $username = str_replace(['/', '\\', '@'], '', $parsed['path']);
-
-            return ['domain' => $parsed['host'], 'username' => $username];
+        if(starts_with($url, '@')) {
+            $url = substr($url, 1);
         }
         }
-        $parts = explode('@', $url);
-        $username = null;
-        $domain = null;
-
-        foreach ($parts as $part) {
 
 
-        // skip empty array slices
-            if (empty($part)) {
-                continue;
-            }
+        $parts = explode('@', $url);
+        $username = $parts[0];
+        $domain = $parts[1];
 
 
-            // if slice contains . assume its a domain
-            if (str_contains($part, '.')) {
-                $domain = filter_var($part, FILTER_VALIDATE_URL) ?
-                    parse_url($part, PHP_URL_HOST) :
-                    $part;
-            } else {
-                $username = $part;
-            }
-        }
+        if(parse_url(filter_var('https://test.dev', FILTER_VALIDATE_URL), PHP_URL_HOST))
 
 
         return ['domain' => $domain, 'username' => $username];
         return ['domain' => $domain, 'username' => $username];
     }
     }