'patrol',
'patrolmarks',
'protect',
- 'proxyunbannable',
'purge',
'read',
'reupload',
$block = Block::newFromTarget( $this, $ip, !$bFromSlave );
// Proxy blocking
- if ( !$block instanceof Block && $ip !== null && !$this->isAllowed( 'proxyunbannable' )
- && !in_array( $ip, $wgProxyWhitelist )
- ) {
+ if ( !$block instanceof Block && $ip !== null && !in_array( $ip, $wgProxyWhitelist ) ) {
// Local list
if ( self::isLocallyBlockedProxy( $ip ) ) {
$block = new Block;
if ( !$block instanceof Block
&& $wgApplyIpBlocksToXff
&& $ip !== null
- && !$this->isAllowed( 'proxyunbannable' )
&& !in_array( $ip, $wgProxyWhitelist )
) {
$xff = $this->getRequest()->getHeader( 'X-Forwarded-For' );
),
__METHOD__
);
+
+ // When the main password is changed, invalidate all bot passwords too
+ BotPassword::invalidateAllPasswordsForUser( $this->getName() );
}
/**
if ( $action === '' ) {
return true; // In the spirit of DWIM
}
- // Patrolling may not be enabled
- if ( $action === 'patrol' || $action === 'autopatrol' ) {
- global $wgUseRCPatrol, $wgUseNPPatrol;
- if ( !$wgUseRCPatrol && !$wgUseNPPatrol ) {
- return false;
- }
- }
// Use strict parameter to avoid matching numeric 0 accidentally inserted
// by misconfiguration: 0 == 'foo'
return in_array( $action, $this->getRights(), true );
);
}
- /**
- * Generate a looking random token for various uses.
- *
- * @return string The new random token
- * @deprecated since 1.20: Use MWCryptRand for secure purposes or
- * wfRandomString for pseudo-randomness.
- */
- public static function generateToken() {
- return MWCryptRand::generateHex( 32 );
- }
-
/**
* Get the embedded timestamp from a token.
* @param string $val Input token