Topic on Extension talk:Translate

PHP 7.1 - can't access translated pages: [] operator not supported for strings

2
Summary last edited by 24pm 12:35, 30 May 2018 5 years ago

Use the latest MLEB release where this is fixed.

-- It is not fixed for release 2017.07 as for 2018.05.30. Solution is to add array initialization in line 634:

$result = array(); 
$result[] = 'tpt-patrolling-blocked';

~~~~@24pm

Lanthanis (talkcontribs)

Using MW 1.27.4 with LDAP Authentication and PHP7.1.

You get this error when attempting to use the short array push syntax on a string.

Exception encountered, of type "Error"
[2f682d8f66d60d00c36c9d4b] /wiki/Entypo/en Error from line 634 of C:\inetpub\wwwroot\mywiki\extensions\Translate\tag\PageTranslationHooks.php: [] operator not supported for strings
Backtrace:
#0 C:\inetpub\wwwroot\mywiki\includes\Hooks.php(195): PageTranslationHooks::preventPatrolling(Title, User, string, string)
#1 C:\inetpub\wwwroot\mywiki\includes\Title.php(2094): Hooks::run(string, array)
#2 C:\inetpub\wwwroot\mywiki\includes\Title.php(2543): Title->checkPermissionHooks(string, User, array, string, boolean)
#3 C:\inetpub\wwwroot\mywiki\includes\Title.php(1933): Title->getUserPermissionsErrorsInternal(string, User, string, boolean)
#4 C:\inetpub\wwwroot\mywiki\includes\Title.php(1915): Title->userCan(string, User, boolean)
#5 C:\inetpub\wwwroot\mywiki\includes\page\Article.php(1081): Title->quickUserCan(string, User)
#6 C:\inetpub\wwwroot\mywiki\includes\page\Article.php(1059): Article->showPatrolFooter()
#7 C:\inetpub\wwwroot\mywiki\includes\page\Article.php(736): Article->showViewFooter()
#8 C:\inetpub\wwwroot\mywiki\includes\actions\ViewAction.php(44): Article->view()
#9 C:\inetpub\wwwroot\mywiki\includes\MediaWiki.php(493): ViewAction->show()
#10 C:\inetpub\wwwroot\mywiki\includes\MediaWiki.php(288): MediaWiki->performAction(Article, Title)
#11 C:\inetpub\wwwroot\mywiki\includes\MediaWiki.php(735): MediaWiki->performRequest()
#12 C:\inetpub\wwwroot\mywiki\includes\MediaWiki.php(509): MediaWiki->main()
#13 C:\inetpub\wwwroot\mywiki\index.php(43): MediaWiki->run()
#14 {main}

In my case I need to edit PageTranslationHooks.php at line 634 to change:

$result[] = 'tpt-patrolling-blocked' to $result = 'tpt-patrolling-blocked'

Source: PHP Manual / StackOverflow

Nikerabbit (talkcontribs)

I believe this is fixed already in a newer version of Translate.