Page MenuHomePhabricator

Cannot use inputbox with some page title
Closed, ResolvedPublic

Description

Author: david_l

Description:
When creating an input box for a page title containing a ' character (' / %27) using the FULLPAGENAME special word, the page title is truncated to this character with an ampersand at the end.

Using FULLPAGENAMEE or urlencode:FULLPAGENAME instead of FULLPAGENAME doesn't help and mediawiki show en error message about bad page title.

See [http://fr.wikibooks.org/w/index.php?title=Mod%C3%A8le:Livre_d%27or&oldid=327714 template on french wikibooks]

I will not recommend using this extension until this major bug has been fixed.
It a major bug because the ' character is used in many languages.

It also need to be tested with other characters like (. ! ? & _ ...), accented letters (é à ...).


Version: unspecified
Severity: major

Details

Reference
bz29066

Event Timeline

bzimport raised the priority of this task from to Medium.Nov 21 2014, 11:38 PM
bzimport set Reference to bz29066.
bzimport added a subscriber: Unknown Object (MLST).

david_l wrote:

Also using #tag:inputbox doesn't help.

sounds like bug 16474, because FULLPAGENAME returns Modèle:Livre d'or and the # is interpreted as anchor and the title is truncated, see

http://fr.wikibooks.org/w/index.php?title=Mod%C3%A8le%3ALivre+d%26%2339%3Bor

With FULLPAGENAMEE or urlencode the ampersand in the title gets urlencode twice and that gives a bad title.

It looks to me like inputbox needs to be more cleanly validating/interpreting its input.

Title::newFromText() will happily decode the ''' from the escaped input string into a single apostrophe, which can then be output cleanly into the form parameters where we need the more canonical version.

mcdevitd wrote:

*** Bug 15564 has been marked as a duplicate of this bug. ***

mcdevitd wrote:

Using {{#tag:nowiki}} around the the PAGENAME (but not PAGENAMEE) seems to be a workaround. See http://commons.wikimedia.org/w/index.php?title=Template:Transcribe&action=edit

lambdav wrote:

I used the {{#tag:nowiki}} with FULLPAGENAME to include the namespace too: The workaround is OK.
Thanks for finding this workaround.

Fixed in r100694. (probably won't hit wikimedia wikis for a while yet though)

p.s. that's a cool idea for a work around.