[f7491421ae4ebbd93318c540] /w/load.php?lang=en-gb&modules=startup&only=scripts&raw=1&skin=vector TypeError: array_map(): Argument #2 ($array) must be of type array, bool given Backtrace: from /var/www/wiki/mediawiki/extensions/DiscussionTools/includes/LanguageData.php(96) #0 /var/www/wiki/mediawiki/extensions/DiscussionTools/includes/LanguageData.php(96): array_map() #1 /var/www/wiki/mediawiki/extensions/DiscussionTools/includes/ResourceLoaderData.php(47): MediaWiki\Extension\DiscussionTools\LanguageData->getLocalData() #2 /var/www/wiki/mediawiki/core/includes/ResourceLoader/FileModule.php(1265): MediaWiki\Extension\DiscussionTools\ResourceLoaderData::getLocalData() #3 /var/www/wiki/mediawiki/core/includes/ResourceLoader/FileModule.php(608): MediaWiki\ResourceLoader\FileModule->expandPackageFiles() #4 /var/www/wiki/mediawiki/core/includes/ResourceLoader/Module.php(928): MediaWiki\ResourceLoader\FileModule->getDefinitionSummary() #5 /var/www/wiki/mediawiki/core/includes/ResourceLoader/StartUpModule.php(224): MediaWiki\ResourceLoader\Module->getVersionHash() #6 /var/www/wiki/mediawiki/core/includes/ResourceLoader/StartUpModule.php(425): MediaWiki\ResourceLoader\StartUpModule->getModuleRegistrations() #7 /var/www/wiki/mediawiki/core/includes/ResourceLoader/Module.php(817): MediaWiki\ResourceLoader\StartUpModule->getScript() #8 /var/www/wiki/mediawiki/core/includes/ResourceLoader/Module.php(786): MediaWiki\ResourceLoader\Module->buildContent() #9 /var/www/wiki/mediawiki/core/includes/ResourceLoader/Module.php(925): MediaWiki\ResourceLoader\Module->getModuleContent() #10 /var/www/wiki/mediawiki/core/includes/ResourceLoader/ResourceLoader.php(703): MediaWiki\ResourceLoader\Module->getVersionHash() #11 [internal function]: MediaWiki\ResourceLoader\ResourceLoader->MediaWiki\ResourceLoader\{closure}() #12 /var/www/wiki/mediawiki/core/includes/ResourceLoader/ResourceLoader.php(701): array_map() #13 /var/www/wiki/mediawiki/core/includes/ResourceLoader/ResourceLoader.php(804): MediaWiki\ResourceLoader\ResourceLoader->getCombinedVersion() #14 /var/www/wiki/mediawiki/core/load.php(53): MediaWiki\ResourceLoader\ResourceLoader->respond() #15 /var/www/wiki/mediawiki/core/load.php(39): wfLoadMain() #16 {main}
Description
Details
Subject | Repo | Branch | Lines +/- | |
---|---|---|---|---|
LanguageData: Accept abbreviations in $wgLocaltimezone | mediawiki/extensions/DiscussionTools | master | +15 -5 |
Event Timeline
This means that ( new DateTimeZone( $localTimezone ) )->getTransitions() ) is returning false indicating a failure. "DateTimeZone objects wrapping type 1 (UTC offsets) and type 2 (abbreviations) do not contain any transistions, and calling this method on them will return false." -- so presumably we have some server where $localTimezone is something like CST rather than America/Chicago (or whatever).
@matmarex since this is just trying to generate those abbreviations anyway is it going to break anything horribly if we do a fallback so that we just use the abbreviation given here?
According to the docs at https://www.mediawiki.org/wiki/Manual:$wgLocaltimezone CST should be a valid value (or at least, we're using those as examples)...
@Reedy oh, it's totally valid -- this code is just not handling the case at all well, since the abbreviation inherently doesn't have a transition.
Arguable whether it's valid… You won't find it on https://www.php.net/manual/en/timezones.php, and also https://www.php.net/manual/en/timezones.others.php (which lists some other abbreviations) warns very strongly against using them.
Regardless, I think we can indeed just use the abbreviation as a fallback.
Change 811798 had a related patch set uploaded (by Bartosz Dziewoński; author: Bartosz Dziewoński):
[mediawiki/extensions/DiscussionTools@master] LanguageData: Accept abbreviations in $wgLocaltimezone
I changed the documentation: https://www.mediawiki.org/w/index.php?title=Manual:$wgLocaltimezone&diff=5324767&oldid=5103310
And proposed a fix for that typo in the PHP docs ;) https://github.com/php/doc-en/pull/1684
Change 811798 merged by jenkins-bot:
[mediawiki/extensions/DiscussionTools@master] LanguageData: Accept abbreviations in $wgLocaltimezone