Skip to content

Commit ad4d59c

Browse files
authored
PageInfo: fix post-import interwiki links (#545)
Given MW auto redirects valid interwiki prefixes, the solution ended up being very easy. Bug: T330941
1 parent bb98f5d commit ad4d59c

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

templates/macros/wiki.html.twig

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,12 @@
9494
{% else %}
9595
{% set username = user %}
9696
{% endif %}
97+
{% set prefix = username|split('>')|first ? (username|split('>')|first ~ ':') : ''%}
98+
{% set username = username|split('>')|last %}
9799
{% if isUserAnon(project, username) %}
98-
{% set path = project.articlePath|replace({'$1': 'Special:Contributions/' ~ username|replace({' ': '_'})|escape('url')}) %}
100+
{% set path = project.articlePath|replace({'$1': prefix ~ 'Special:Contributions/' ~ username|replace({' ': '_'})|escape('url')}) %}
99101
{% else %}
100-
{% set path = project.articlePath|replace({'$1': 'User:' ~ username|replace({' ': '_'})|escape('url')}) %}
102+
{% set path = project.articlePath|replace({'$1': prefix ~ 'User:' ~ username|replace({' ': '_'})|escape('url')}) %}
101103
{% endif %}
102104
<bdi>{{ extLink((project.url|trim('/')) ~ path, username, label) }}</bdi>
103105
{% endif %}
@@ -112,10 +114,12 @@
112114
{% else %}
113115
{% set username = user %}
114116
{% endif %}
117+
{% set prefix = username|split('>')|first ? (username|split('>')|first ~ ':') : ''%}
118+
{% set username = username|split('>')|last %}
115119
{% if isUserAnon(project, username) %}
116-
{% set path = '[[Special:Contributions/' ~ username|replace({' ': '_'}) %}
120+
{% set path = '[[' ~ prefix ~ 'Special:Contributions/' ~ username|replace({' ': '_'}) %}
117121
{% else %}
118-
{% set path = '[[User:' ~ username|replace({' ': '_'}) %}
122+
{% set path = '[[' ~ prefix ~ 'User:' ~ username|replace({' ': '_'}) %}
119123
{% endif %}
120124
{{ path ~ (label is not empty ? '|' ~ label : '') ~ ']]' }}
121125
{% endapply %}{% endmacro %}

templates/pageInfo/result.wikitext.twig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{% import 'macros/wiki.html.twig' as wiki %}
12
* [[{{ page.title }}]]
23
* {{ project.domain }}
34
* {{ msg('total-edits') }}: {{ ai.numRevisions|num_format }}
@@ -17,7 +18,7 @@
1718
!{{ msg('added-bytes') }}
1819
|-
1920
{% for editor, stats in ai.editors|slice(0, editorlimit ) %}
20-
| [[ {{ attribute(project.namespaces, 2) }}:{{ editor }}|{{ editor }} ]] {#
21+
| {{ wiki.userLinkWikitext(project, editor, editor|split('>')|last) }} {#
2122
#} || {{ stats.all|num_format }} {#
2223
#} || {{ stats.minor|num_format }} {#
2324
#} || {{ stats.minor|percent_format(stats.all) }} {#

0 commit comments

Comments
 (0)