fix: Use mb_ string operations in planet captcha

Updates register.php to use multibyte versions of strtolower/strtoupper for compatibility with non-Latin alphabets.
Simplifies the comparison by removing a Sanitise call.
This commit is contained in:
Kumi 2025-03-07 11:26:56 +01:00
parent 17af718f84
commit a87653d50d
Signed by: kumi
GPG key ID: ECBCC9082395383F

View file

@ -32,21 +32,21 @@ if (isset($_POST['email'], $_POST['password']) && !empty($_POST['planet']) && !$
$user_email = Sanitiser::getEmail($_POST['email']); $user_email = Sanitiser::getEmail($_POST['email']);
$isHuman = false; $isHuman = false;
$planet = strtolower(Sanitiser::getTitle($_POST['planet'])); $planet = mb_strtolower($_POST['planet']);
$planetName = strtoupper($planet[0]) . substr($planet, 1); $planetName = mb_strtoupper($planet[0]) . substr($planet, 1);
$planets = [ $planets = [
strtolower(__('Mercury')), mb_strtolower(__('Mercury')),
strtolower(__('Venus')), mb_strtolower(__('Venus')),
strtolower(__('Earth')), mb_strtolower(__('Earth')),
strtolower(__('Mars')), mb_strtolower(__('Mars')),
strtolower(__('Jupiter')), mb_strtolower(__('Jupiter')),
strtolower(__('Saturn')), mb_strtolower(__('Saturn')),
strtolower(__('Uranus')), mb_strtolower(__('Uranus')),
strtolower(__('Neptune')), mb_strtolower(__('Neptune')),
]; ];
$not_planets = [ $not_planets = [
strtolower(__('Pluto')), mb_strtolower(__('Pluto')),
strtolower(__('Sun')), mb_strtolower(__('Sun')),
]; ];
if (in_array($planet, array_merge($planets, $not_planets))) { if (in_array($planet, array_merge($planets, $not_planets))) {