Error after login on Special:SpecialPages
This is a bug in MediaWiki. I fixed this in MediaWiki trunk, you can easily backport it.
Ryan, you rule. Super easy fix, even for someone who doesn't know anything about PHP. I was just about to disable LDAP authentication and now I don't have to. Thanks for making this extension and providing such quick support. JasonPenney 14:36, 5 January 2012 (UTC)
You're welcome. Thankfully this will just be fixed in the next release, so no more patching needed :).
Ryan, FYI, I'm still getting this error when an unauthenticated user visits a "redlink" page. Since you sound confident that the next Mediawiki release will deal with the underlying issue, I'm not that worried, but if you're the one making those fixes, if figured you'd want to know.
PHP Warning: strtok() expects parameter 1 to be string, array given in C:\inetpub\wwwroot\twiki\extensions\LdapAuthentication\LdapAuthentication.php on line 566 PHP Warning: ldap_start_tls(): Unable to start TLS: Can't contact LDAP server in C:\inetpub\wwwroot\twiki\extensions\LdapAuthentication\LdapAuthentication.php on line 589 PHP Warning: strtok() expects parameter 1 to be string, array given in C:\inetpub\wwwroot\twiki\extensions\LdapAuthentication\LdapAuthentication.php on line 566 PHP Warning: ldap_start_tls(): Unable to start TLS: Can't contact LDAP server in C:\inetpub\wwwroot\twiki\extensions\LdapAuthentication\LdapAuthentication.php on line 589 PHP Warning: strtok() expects parameter 1 to be string, array given in C:\inetpub\wwwroot\twiki\extensions\LdapAuthentication\LdapAuthentication.php on line 566 PHP Warning: ldap_start_tls(): Unable to start TLS: Can't contact LDAP server in C:\inetpub\wwwroot\twiki\extensions\LdapAuthentication\LdapAuthentication.php on line 589
This is the code change I made in SpecialUserLogin.php
if( !$wgAuth->validDomain( $this->mDomain ) ) {
# JPenney - changed this code based on http://www.mediawiki.org/wiki/Special:Code/MediaWiki/107129
# $this->mDomain = 'invaliddomain';
if ( isset( $_SESSION['wsDomain'] ) ) {
$this->mDomain = $_SESSION['wsDomain'];
} else {
$this->mDomain = 'invaliddomain';
}
}
$wgAuth->setDomain( $this->mDomain );