]> git.mxchange.org Git - friendica.git/commitdiff
Check if nickname contains only US-ASCII and do not start with a digit
authorRaroun <Raroun@users.noreply.github.com>
Tue, 30 Jan 2024 14:18:11 +0000 (15:18 +0100)
committerGitHub <noreply@github.com>
Tue, 30 Jan 2024 14:18:11 +0000 (15:18 +0100)
Update Register.php

src/Module/Register.php

index def750b3a8bb1bcb78d2739caf09a996bb42fd67..5bf3aff8fffb774a217fc5a4c62aa05128cee36c 100644 (file)
@@ -284,7 +284,21 @@ class Register extends BaseModule
                        $regdata = ['email' => $arr['email'], 'nickname' => $arr['nickname'], 'username' => $arr['username']];
                        DI::baseUrl()->redirect('register?' . http_build_query($regdata));
                }
-
+               
+               //Check if nickname contains only US-ASCII and do not start with a digit
+               if (!preg_match('/^[a-zA-Z][a-zA-Z0-9]*$/', $arr['nickname'])) {
+                       if (is_numeric(substr($arr['nickname'], 0, 1))) {
+                               Logger::info('Nickname with a leading digit not allowed', $arr);
+                               DI::sysmsg()->addNotice(DI::l10n()->t("Nickname cannot start with a digit."));
+                       } else {
+                               Logger::info('nickname with non us-ascii characters not allowed', $arr);
+                               DI::sysmsg()->addNotice(DI::l10n()->t("Nickname can only contain US-ASCII characters."));
+                       }
+                       $regdata = ['email' => $arr['email'], 'nickname' => $arr['nickname'], 'username' => $arr['username']];
+                       DI::baseUrl()->redirect('register?' . http_build_query($regdata));
+                       return;
+               }
+               
                $arr['blocked'] = $blocked;
                $arr['verified'] = $verified;
                $arr['language'] = L10n::detectLanguage($_SERVER, $_GET, DI::config()->get('system', 'language'));