[web-php] master: Only map to legacy URLs that use a language code instead of arbitrary text

From: Date: Mon, 08 Dec 2025 10:34:13 +0000
Subject: [web-php] master: Only map to legacy URLs that use a language code instead of arbitrary text
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-33444@lists.php.net to get a copy of this message
Author: Derick Rethans (derickr) Date: 2025-12-08T10:34:05Z Commit: https://github.com/php/web-php/commit/2a1c9f6acdf72c398bc5a5308252ad3473c26617 Raw diff: https://github.com/php/web-php/commit/2a1c9f6acdf72c398bc5a5308252ad3473c26617.diff Only map to legacy URLs that use a language code instead of arbitrary text Changed paths: M include/errors.inc Diff: diff --git a/include/errors.inc b/include/errors.inc index 76637c2dad..6bc9cf6c74 100644 --- a/include/errors.inc +++ b/include/errors.inc @@ -580,7 +580,7 @@ function get_legacy_manual_urls(string $uri): array { $filename = $_SERVER["DOCUMENT_ROOT"] . "/manual/legacyurls.json"; $pages_ids = json_decode(file_get_contents($filename), true); - $page_id = preg_replace_callback('/^manual\/.*\/(.*?)(\.php)?$/', function (array $matches): string { + $page_id = preg_replace_callback('/^manual\/[a-z_A-Z]+\/(.*?)(\.php)?$/', function (array $matches): string { if (count($matches) < 2) { return ''; } @@ -611,7 +611,7 @@ function fallback_to_legacy_manuals(array $legacy_urls): void $original_url = htmlspecialchars(substr($MYSITE, 0, -1) . $_SERVER['REQUEST_URI']); $legacy_links = ''; foreach ($legacy_urls as $php_version => $url) { - $legacy_links .= '<li><a href="' . $url . '">PHP ' . $php_version . ' legacy manual</a></li>'; + $legacy_links .= '<li><a href="' . htmlspecialchars($url) . '">PHP ' . $php_version . ' legacy manual</a></li>'; } echo <<<HTML

« previous php.webmaster (#33444) next »