Page MenuHomePhabricator

Using columns param in {{#transcludelist}} parserfunction leads to fatal
Closed, ResolvedPublic

Description

On WPX staging wiki:

{{#transcludelist:WPX:WikiProject Dogs/List 1|maxItems=1|defaultSort=random|includeDesc=false|columns=Big Dogs}}

leads to:

Catchable fatal error: Argument 2 passed to CollaborationListContent::filterColumns() must be of the type array, string given, called in /var/www/html/w/extensions/CollaborationKit/includes/content/CollaborationListContent.php on line 311 and defined in /var/www/html/w/extensions/CollaborationKit/includes/content/CollaborationListContent.php on line 575

Event Timeline

Running this on my localhost wiki, I get a more useful traceback:

[cd77148fd2e61a38867bed22] /wiki/index.php?title=Main_Page&action=submit TypeError from line 575 of /Users/jh/webserver/wiki/extensions/CollaborationKit/includes/content/CollaborationListContent.php: Argument 2 passed to CollaborationListContent::filterColumns() must be of the type array, string given, called in /Users/jh/webserver/wiki/extensions/CollaborationKit/includes/content/CollaborationListContent.php on line 311

Backtrace:

#0 /Users/jh/webserver/wiki/extensions/CollaborationKit/includes/content/CollaborationListContent.php(311): CollaborationListContent->filterColumns(array, string)
#1 /Users/jh/webserver/wiki/extensions/CollaborationKit/includes/content/CollaborationListContent.php(1022): CollaborationListContent->convertToWikitext(Language, array)
#2 /Users/jh/webserver/wiki/includes/parser/Parser.php(3407): CollaborationListContent::transcludeHook(Parser, string, string)
#3 /Users/jh/webserver/wiki/includes/parser/Parser.php(3128): Parser->callParserFunction(PPFrame_DOM, string, array)
#4 /Users/jh/webserver/wiki/includes/parser/Preprocessor_DOM.php(1199): Parser->braceSubstitution(array, PPFrame_DOM)
#5 /Users/jh/webserver/wiki/includes/parser/Parser.php(2942): PPFrame_DOM->expand(DOMElement, integer)
#6 /Users/jh/webserver/wiki/includes/parser/Parser.php(1293): Parser->replaceVariables(string)
#7 /Users/jh/webserver/wiki/includes/parser/Parser.php(447): Parser->internalParse(string)
#8 /Users/jh/webserver/wiki/includes/content/WikitextContent.php(330): Parser->parse(string, Title, ParserOptions, boolean, boolean, NULL)
#9 /Users/jh/webserver/wiki/includes/content/AbstractContent.php(497): WikitextContent->fillParserOutput(Title, NULL, ParserOptions, boolean, ParserOutput)
#10 /Users/jh/webserver/wiki/includes/EditPage.php(3854): AbstractContent->getParserOutput(Title, NULL, ParserOptions)
#11 /Users/jh/webserver/wiki/includes/EditPage.php(3782): EditPage->doPreviewParse(WikitextContent)
#12 /Users/jh/webserver/wiki/includes/EditPage.php(2597): EditPage->getPreviewText()
#13 /Users/jh/webserver/wiki/includes/EditPage.php(642): EditPage->showEditForm()
#14 /Users/jh/webserver/wiki/includes/actions/EditAction.php(59): EditPage->edit()
#15 /Users/jh/webserver/wiki/includes/actions/SubmitAction.php(38): EditAction->show()
#16 /Users/jh/webserver/wiki/includes/MediaWiki.php(497): SubmitAction->show()
#17 /Users/jh/webserver/wiki/includes/MediaWiki.php(291): MediaWiki->performAction(Article, Title)
#18 /Users/jh/webserver/wiki/includes/MediaWiki.php(860): MediaWiki->performRequest()
#19 /Users/jh/webserver/wiki/includes/MediaWiki.php(521): MediaWiki->main()
#20 /Users/jh/webserver/wiki/index.php(43): MediaWiki->run()
#21 {main}

Change 341112 had a related patch set uploaded (by harej):
[mediawiki/extensions/CollaborationKit] Adding columns= as a parameter for {{#transcludelist}}

https://gerrit.wikimedia.org/r/341112

Change 341112 merged by jenkins-bot:
[mediawiki/extensions/CollaborationKit] Fixed everything to do with transcluding lists.

https://gerrit.wikimedia.org/r/341112