summaryrefslogtreecommitdiff
path: root/extensions/TitleBlacklist/TitleBlacklist.hooks.php
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2016-05-01 15:32:59 -0400
committerLuke Shumaker <lukeshu@sbcglobal.net>2016-05-01 15:32:59 -0400
commit6dc1997577fab2c366781fd7048144935afa0012 (patch)
tree8918d28c7ab4342f0738985e37af1dfc42d0e93a /extensions/TitleBlacklist/TitleBlacklist.hooks.php
parent150f94f051128f367bc89f6b7e5f57eb2a69fc62 (diff)
parentfa89acd685cb09cdbe1c64cbb721ec64975bbbc1 (diff)
Merge commit 'fa89acd'
# Conflicts: # .gitignore # extensions/ArchInterWiki.sql
Diffstat (limited to 'extensions/TitleBlacklist/TitleBlacklist.hooks.php')
-rw-r--r--extensions/TitleBlacklist/TitleBlacklist.hooks.php70
1 files changed, 32 insertions, 38 deletions
diff --git a/extensions/TitleBlacklist/TitleBlacklist.hooks.php b/extensions/TitleBlacklist/TitleBlacklist.hooks.php
index 34be8eb7..3b455064 100644
--- a/extensions/TitleBlacklist/TitleBlacklist.hooks.php
+++ b/extensions/TitleBlacklist/TitleBlacklist.hooks.php
@@ -48,27 +48,29 @@ class TitleBlacklistHooks {
/**
* Display a notice if a user is only able to create or edit a page
- * because they have tboverride (or autoconfirmed).
+ * because they have tboverride.
*
* @param Title $title
* @param integer $oldid
* @param array &$notices
*/
public static function displayBlacklistOverrideNotice( Title $title, $oldid, array &$notices ) {
+ if ( !RequestContext::getMain()->getUser()->isAllowed( 'tboverride' ) ) {
+ return true;
+ }
+
$blacklisted = TitleBlacklist::singleton()->isBlacklisted(
$title,
$title->exists() ? 'edit' : 'create'
);
- if ( $blacklisted ) {
- $params = $blacklisted->getParams();
- $msg = wfMessage(
- isset( $params['autoconfirmed'] ) ?
- 'titleblacklist-autoconfirmed-warning' :
- 'titleblacklist-warning'
- );
- $notices['titleblacklist'] = $msg->rawParams(
- htmlspecialchars( $blacklisted->getRaw() ) )->parseAsBlock();
+ if ( !$blacklisted ) {
+ return true;
}
+
+ $params = $blacklisted->getParams();
+ $msg = wfMessage( 'titleblacklist-warning' );
+ $notices['titleblacklist'] = $msg->rawParams(
+ htmlspecialchars( $blacklisted->getRaw() ) )->parseAsBlock();
return true;
}
@@ -105,40 +107,15 @@ class TitleBlacklistHooks {
}
/**
- * AbortMove hook (<1.24)
- *
- * @todo: Remove once 1.24 support is dropped
- *
- * @param $old Title
- * @param $nt Title
- * @param $user User
- * @param $err
- * @return bool
- */
- public static function abortMove( $old, $nt, $user, &$err, $reason ) {
- if ( method_exists( 'MovePage', 'checkPermissions' ) ) {
- // Don't use this hook, use MovePageCheckPermissions instead
- return true;
- }
-
- $status = new Status();
- self::onMovePageCheckPermissions( $old, $nt, $user, $reason, $status );
- if ( !$status->isOK() ) {
- $err = $status->getHTML();
- }
-
- return $status->isOK();
- }
-
- /**
* Check whether a user name is acceptable,
* and set a message if unacceptable.
*
- * Used by abortNewAccount and centralAuthAutoCreate
+ * Used by abortNewAccount and centralAuthAutoCreate.
+ * May also be called externally to vet alternate account names.
*
* @return bool Acceptable
*/
- private static function acceptNewUserName( $userName, $permissionsUser, &$err, $override = true, $log = false ) {
+ public static function acceptNewUserName( $userName, $permissionsUser, &$err, $override = true, $log = false ) {
global $wgUser;
$title = Title::makeTitleSafe( NS_USER, $userName );
$blacklisted = TitleBlacklist::singleton()->userCannot( $title, $permissionsUser,
@@ -162,6 +139,8 @@ class TitleBlacklistHooks {
* AbortNewAccount hook
*
* @param User $user
+ * @param string &$message
+ * @return bool
*/
public static function abortNewAccount( $user, &$message ) {
global $wgUser, $wgRequest;
@@ -170,6 +149,21 @@ class TitleBlacklistHooks {
}
/**
+ * AbortAutoAccount hook
+ *
+ * @param User $user
+ * @param string &$message
+ * @return bool
+ */
+ public static function abortAutoAccount( $user, &$message ) {
+ global $wgTitleBlacklistBlockAutoAccountCreation;
+ if ( $wgTitleBlacklistBlockAutoAccountCreation ) {
+ return self::abortNewAccount( $user, $message );
+ }
+ return true;
+ }
+
+ /**
* EditFilter hook
*
* @param $editor EditPage