From 1ba5a7b7993319754805cb2ae61d755432f9b546 Mon Sep 17 00:00:00 2001 From: Daniel Kraus Date: Tue, 29 Aug 2017 06:08:30 +0200 Subject: [PATCH] Fix bug with non-latin languages. - Fix: When $wgCapitalLinks was true, the extension would not work with non-latin languages. Closes #7. --- README.md | 1 + extension.json | 3 ++- includes/Target.php | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5ed74ff..9ef4ad8 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,7 @@ Contributors - Daniel Kraus (@bovender), main developer - Ulrich Strauss (@c0nnex), namespaces - Brent Laabs (@labster), code review and bug fixes +- @tetsuya-zama, bug fix Testing diff --git a/extension.json b/extension.json index 5ba1aa7..4f4ae63 100644 --- a/extension.json +++ b/extension.json @@ -3,7 +3,8 @@ "author": [ "[https://www.mediawiki.org/wiki/User:Bovender Daniel Kraus (bovender)]", "Ulrich Strauss (c0nnex)", - "Brent Laabs (labster)" + "Brent Laabs (labster)", + "tetsuya-zama" ], "type": "parserhook", "url": "https://www.mediawiki.org/wiki/Extension:LinkTitles", diff --git a/includes/Target.php b/includes/Target.php index f793f2b..49eaf04 100644 --- a/includes/Target.php +++ b/includes/Target.php @@ -139,7 +139,7 @@ class Target { public function getCaseSensitiveLinkValueRegex() { if ( $this->caseSensitiveLinkValueRegex === null ) { $regexSafeTitle = $this->getRegexSafeTitle(); - if ( $this->config->capitalLinks && ( $regexSafeTitle[0] != '\\' )) { + if ( $this->config->capitalLinks && preg_match( '/[a-zA-Z]/', $regexSafeTitle[0] ) ) { $this->caseSensitiveLinkValueRegex = '((?i)' . $regexSafeTitle[0] . '(?-i)' . substr($regexSafeTitle, 1) . ')'; } else { $this->caseSensitiveLinkValueRegex = '(' . $regexSafeTitle . ')';