comparison program/lib/Roundcube/rcube_utils.php @ 22:303b85d5b561

More cleaning up php8 Warnings/deprecations
author Charlie Root
date Wed, 15 Oct 2025 14:06:27 -0400
parents 73124dd49283
children
comparison
equal deleted inserted replaced
21:73124dd49283 22:303b85d5b561
570 // %t - host name without first part, e.g. %n=mail.domain.tld, %t=domain.tld 570 // %t - host name without first part, e.g. %n=mail.domain.tld, %t=domain.tld
571 $t = preg_replace('/^[^\.]+\./', '', $n); 571 $t = preg_replace('/^[^\.]+\./', '', $n);
572 // %d - domain name without first part 572 // %d - domain name without first part
573 $d = preg_replace('/^[^\.]+\./', '', $_SERVER['HTTP_HOST']); 573 $d = preg_replace('/^[^\.]+\./', '', $_SERVER['HTTP_HOST']);
574 // %h - IMAP host 574 // %h - IMAP host
575 $h = $_SESSION['storage_host'] ?: $host; 575 $h = empty($_SESSION['storage_host']) ? $host : $_SESSION['storage_host'];
576 // %z - IMAP domain without first part, e.g. %h=imap.domain.tld, %z=domain.tld 576 // %z - IMAP domain without first part, e.g. %h=imap.domain.tld, %z=domain.tld
577 $z = preg_replace('/^[^\.]+\./', '', $h); 577 $z = preg_replace('/^[^\.]+\./', '', $h);
578 // %s - domain name after the '@' from e-mail address provided at login screen. 578 // %s - domain name after the '@' from e-mail address provided at login screen.
579 // Returns FALSE if an invalid email is provided 579 // Returns FALSE if an invalid email is provided
580 $s = '';
580 if (strpos($name, '%s') !== false) { 581 if (strpos($name, '%s') !== false) {
581 $user_email = self::get_input_value('_user', self::INPUT_POST); 582 $user_email = self::get_input_value('_user', self::INPUT_POST);
582 $user_email = self::idn_convert($user_email, true); 583 $user_email = self::idn_convert($user_email, true);
583 $matches = preg_match('/(.*)@([a-z0-9\.\-\[\]\:]+)/i', $user_email, $s); 584 $matches = preg_match('/(.*)@([a-z0-9\.\-\[\]\:]+)/i', $user_email, $s);
584 if ($matches < 1 || filter_var($s[1]."@".$s[2], FILTER_VALIDATE_EMAIL) === false) { 585 if ($matches < 1 || filter_var($s[1]."@".$s[2], FILTER_VALIDATE_EMAIL) === false) {
585 return false; 586 return false;
586 } 587 }
587 } 588 $s = $s[2];
588 589 }
589 return str_replace(array('%n', '%t', '%d', '%h', '%z', '%s'), array($n, $t, $d, $h, $z, $s[2]), $name); 590
591 return str_replace(array('%n', '%t', '%d', '%h', '%z', '%s'), array($n, $t, $d, $h, $z, $s), $name);
590 } 592 }
591 593
592 /** 594 /**
593 * Returns remote IP address and forwarded addresses if found 595 * Returns remote IP address and forwarded addresses if found
594 * 596 *