'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' );
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
"botpasswords-no-central-id": "To use bot passwords, you must be logged in to a centralized account.",
"botpasswords-existing": "Existing bot passwords",
"botpasswords-createnew": "Create a new bot password",
- "botpasswords-editexisting": "Edit and existing bot password",
+ "botpasswords-editexisting": "Edit an existing bot password",
"botpasswords-label-appid": "Bot name:",
"botpasswords-label-create": "Create",
"botpasswords-label-update": "Update",
"right-blockemail": "Block a user from sending email",
"right-hideuser": "Block a username, hiding it from the public",
"right-ipblock-exempt": "Bypass IP blocks, auto-blocks and range blocks",
- "right-proxyunbannable": "Bypass automatic blocks of proxies",
"right-unblockself": "Unblock oneself",
"right-protect": "Change protection levels and edit cascade-protected pages",
"right-editprotected": "Edit pages protected as \"{{int:protect-level-sysop}}\"",
"block-log-flags-hiddenname": "username hidden",
"range_block_disabled": "The administrator ability to create range blocks is disabled.",
"ipb_expiry_invalid": "Expiry time invalid.",
+ "ipb_expiry_old": "Expiry time is in the past.",
"ipb_expiry_temp": "Hidden username blocks must be permanent.",
"ipb_hide_invalid": "Unable to suppress this account; it has more than {{PLURAL:$1|one edit|$1 edits}}.",
"ipb_already_blocked": "\"$1\" is already blocked.",
"changepassword-success": "Used in [[Special:ChangePassword]].",
"changepassword-throttled": "Error message shown at [[Special:ChangePassword]] after the user has tried to login with incorrect password too many times.\n\nThe user has to wait a certain time before trying to log in again.\n\nParameters:\n* $1 - the time to wait before the next login attempt. Automatically formatted using the following duration messages:\n** {{msg-mw|Duration-millennia}}\n** {{msg-mw|Duration-centuries}}\n** {{msg-mw|Duration-decades}}\n** {{msg-mw|Duration-years}}\n** {{msg-mw|Duration-weeks}}\n** {{msg-mw|Duration-days}}\n** {{msg-mw|Duration-hours}}\n** {{msg-mw|Duration-minutes}}\n** {{msg-mw|Duration-seconds}}\n\nThis is a protection against robots trying to find the password by trying lots of them.\nThe number of attempts and waiting time are configured via [[mw:Manual:$wgPasswordAttemptThrottle|$wgPasswordAttemptThrottle]].\nThis message is used in html.\n\nSee also:\n* {{msg-mw|Changeemail-throttled}}",
"botpasswords": "The name of the special page [[Special:BotPasswords]].",
- "botpasswords-bad-appid": "Used as an error message when an invalid \"bot name\" is supplied on [[Special:BotPasswords]]. Parameters:\n* $1 - The rejected bot name.",
- "botpasswords-created-body": "Success message when a new bot password is created. Parameters:\n* $1 - Bot name",
- "botpasswords-created-title": "Title of the success page when a new bot password is created.",
- "botpasswords-createnew": "Form section label for the part of the form related to creating a new bot password.",
- "botpasswords-deleted-body": "Success message when a bot password is deleted. Parameters:\n* $1 - Bot name",
- "botpasswords-deleted-title": "Title of the success page when a bot password is deleted.",
+ "botpasswords-summary": "Explanatory text shown at the top of [[Special:BotPasswords]].",
"botpasswords-disabled": "Error message displayed when bot passwords are not enabled (<code>$wgEnableBotPasswords = false</code>).",
- "botpasswords-editexisting": "Form section label for the part of the form related to editing an existing bot password.",
+ "botpasswords-no-central-id": "Error message displayed when the current user does not have a central ID (e.g. they're not logged in or not attached in something like CentralAuth).",
"botpasswords-existing": "Form section label for the part of the form listing the user's existing bot passwords.",
- "botpasswords-help-grants": "Help text for the grant selection checkmatrix.",
- "botpasswords-insert-failed": "Error message when saving a new bot password failed. It's likely that the failure was because the user resubmitted the form after a previous successful save. Parameters:\n* $1 - Bot name",
+ "botpasswords-createnew": "Form section label for the part of the form related to creating a new bot password.",
+ "botpasswords-editexisting": "Form section label for the part of the form related to editing an existing bot password.",
"botpasswords-label-appid": "Form field label for the \"bot name\", internally known as the \"application ID\".",
- "botpasswords-label-cancel": "Button label for a button to cancel the creation or edit of a bot password.\n{{Identical|Cancel}}",
"botpasswords-label-create": "Button label for the button to create a new bot password.\n{{Identical|Create}}",
+ "botpasswords-label-update": "Button label for the button to save changes to a bot password.",
+ "botpasswords-label-cancel": "Button label for a button to cancel the creation or edit of a bot password.\n{{Identical|Cancel}}",
"botpasswords-label-delete": "Button label for the button to delete a bot password.\n{{Identical|Delete}}",
- "botpasswords-label-grants": "Label for the checkmatrix for selecting grants allowed when the bot password is used.",
- "botpasswords-label-grants-column": "Label for the checkbox column on the checkmatrix for selecting grants allowed when the bot password is used.",
"botpasswords-label-resetpassword": "Label for the checkbox to reset the actual password for the current bot password.",
+ "botpasswords-label-grants": "Label for the checkmatrix for selecting grants allowed when the bot password is used.",
+ "botpasswords-help-grants": "Help text for the grant selection checkmatrix.",
"botpasswords-label-restrictions": "Label for the textarea field in which JSON defining access restrictions (e.g. which IP address ranges are allowed) is entered.",
- "botpasswords-label-update": "Button label for the button to save changes to a bot password.",
+ "botpasswords-label-grants-column": "Label for the checkbox column on the checkmatrix for selecting grants allowed when the bot password is used.",
+ "botpasswords-bad-appid": "Used as an error message when an invalid \"bot name\" is supplied on [[Special:BotPasswords]]. Parameters:\n* $1 - The rejected bot name.",
+ "botpasswords-insert-failed": "Error message when saving a new bot password failed. It's likely that the failure was because the user resubmitted the form after a previous successful save. Parameters:\n* $1 - Bot name",
+ "botpasswords-update-failed": "Error message when saving changes to an existing bot password failed. It's likely that the failure was because the user deleted the bot password in another browser window. Parameters:\n* $1 - Bot name",
+ "botpasswords-created-title": "Title of the success page when a new bot password is created.",
+ "botpasswords-created-body": "Success message when a new bot password is created. Parameters:\n* $1 - Bot name",
+ "botpasswords-updated-title": "Title of the success page when a bot password is updated.",
+ "botpasswords-updated-body": "Success message when a bot password is updated. Parameters:\n* $1 - Bot name",
+ "botpasswords-deleted-title": "Title of the success page when a bot password is deleted.",
+ "botpasswords-deleted-body": "Success message when a bot password is deleted. Parameters:\n* $1 - Bot name",
"botpasswords-newpassword": "Success message to display the new password when a bot password is created or updated. Parameters:\n* $1 - User name to be used for login.\n* $2 - Password to be used for login.",
- "botpasswords-no-central-id": "Error message displayed when the current user does not have a central ID (e.g. they're not logged in or not attached in something like CentralAuth).",
"botpasswords-no-provider": "Error message when login is attempted but the BotPasswordsSessionProvider is not included in <code>$wgSessionProviders</code>.",
"botpasswords-restriction-failed": "Error message when login is rejected because the configured restrictions were not satisfied.",
"botpasswords-invalid-name": "Error message when a username lacking the separator character is passed to BotPassword. Parameters:\n* $1 - The separator character.",
"botpasswords-not-exist": "Error message when a username exists but does not a bot password for the given \"bot name\". Parameters:\n* $1 - username\n* $2 - bot name",
- "botpasswords-summary": "Explanatory text shown at the top of [[Special:BotPasswords]].",
- "botpasswords-update-failed": "Error message when saving changes to an existing bot password failed. It's likely that the failure was because the user deleted the bot password in another browser window. Parameters:\n* $1 - Bot name",
- "botpasswords-updated-body": "Success message when a bot password is updated. Parameters:\n* $1 - Bot name",
- "botpasswords-updated-title": "Title of the success page when a bot password is updated.",
"resetpass_forbidden": "Used as error message in changing password. Maybe the external auth plugin won't allow local password changes.",
"resetpass-no-info": "Error message for [[Special:ChangePassword]].\n\nParameters:\n* $1 (unused) - a link to [[Special:UserLogin]] with {{msg-mw|loginreqlink}} as link description",
"resetpass-submit-loggedin": "Button on [[Special:ResetPass]] to submit new password.\n\n{{Identical|Change password}}",
"right-blockemail": "{{doc-right|blockemail}}",
"right-hideuser": "{{doc-right|hideuser}}\nThis user right is part of the [[mw:RevisionDelete|RevisionDelete]] feature.\nIt can be given to the group {{msg-mw|group-suppress}}, although that group is disabled by default.\n\nSee also\n* {{msg-mw|right-suppressionlog}}\n* {{msg-mw|right-suppressrevision}}\n* {{msg-mw|right-deletelogentry}}\n* {{msg-mw|right-deleterevision}}",
"right-ipblock-exempt": "{{doc-right|ipblock-exempt}}\nThis user automatically bypasses IP blocks, auto-blocks and range blocks - so I presume - but I am uncertain",
- "right-proxyunbannable": "{{doc-right|proxyunbannable}}",
"right-unblockself": "{{doc-right|unblockself}}",
"right-protect": "{{doc-right|protect}}",
"right-editprotected": "{{doc-right|editprotected}}\nRefers to {{msg-mw|Protect-level-sysop}}.\n\nSee also:\n* {{msg-mw|Right-editsemiprotected}}",
"block-log-flags-hiddenname": "Used as a block log flag in [[Special:Log/block]] and in [[Special:Block]].\n\n{{Related|Block-log-flags}}",
"range_block_disabled": "Used as error message in [[Special:Block]].\n\nSee also:\n* {{msg-mw|Range block disabled}}\n* {{msg-mw|Ip range invalid}}\n* {{msg-mw|Ip range toolarge}}",
"ipb_expiry_invalid": "Used as error message in [[Special:Block]].",
+ "ipb_expiry_old": "Used as error message in [[Special:Block]], if the expiry time is in the past.\n{{Identical|protect_expiry_old}}",
"ipb_expiry_temp": "Warning message displayed on [[Special:BlockIP]] if the option \"hide username\" is selected but the expiry time is not infinite.",
"ipb_hide_invalid": "Used as error message in [[Special:Block]].\n* $1 - Number of edits (Value of [[mw:Manual:$wgHideUserContribLimit]])",
"ipb_already_blocked": "{{Identical|$1 is already blocked}}",