X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;ds=sidebyside;f=includes%2FUser.php;h=4289b2ad2db538d1afa038d3b5ff22e688346841;hb=f7e4fc02c10b5c6a5ab60666b0431d6c09ed77c6;hp=f87323f44553a565c635f825339a6929bfdef571;hpb=9df8757ceb458272359b2e92cf6403067d3f3318;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/User.php b/includes/User.php index f87323f445..4289b2ad2d 100644 --- a/includes/User.php +++ b/includes/User.php @@ -141,9 +141,11 @@ class User { 'createtalk', 'delete', 'deletedhistory', + 'deleterevision', 'edit', 'editinterface', 'editusercssjs', + 'hideuser', 'import', 'importupload', 'ipblock-exempt', @@ -160,17 +162,22 @@ class User { 'proxyunbannable', 'purge', 'read', + 'reset-passwords', 'reupload', 'reupload-shared', 'rollback', 'siteadmin', + 'suppressionlog', 'suppressredirect', + 'suppressrevision', 'trackback', 'undelete', 'unwatchedpages', 'upload', 'upload_by_url', 'userrights', + 'userrights-interwiki', + 'writeapi', ); /** * \string Cached results of getAllRights() @@ -911,7 +918,7 @@ class User { $this->mDataLoaded = true; if ( isset( $row->user_id ) ) { - $this->mId = $row->user_id; + $this->mId = intval( $row->user_id ); } $this->mName = $row->user_name; $this->mRealName = $row->user_real_name; @@ -1156,10 +1163,17 @@ class User { */ public function isPingLimitable() { global $wgRateLimitsExcludedGroups; + global $wgRateLimitsExcludedIPs; if( array_intersect( $this->getEffectiveGroups(), $wgRateLimitsExcludedGroups ) ) { // Deprecated, but kept for backwards-compatibility config return false; } + if( in_array( wfGetIP(), $wgRateLimitsExcludedIPs ) ) { + // No other good way currently to disable rate limits + // for specific IPs. :P + // But this is a crappy hack and should die. + return false; + } return !$this->isAllowed('noratelimit'); } @@ -1315,6 +1329,15 @@ class User { return $this->mBlockreason; } + /** + * If user is blocked, return the ID for the block + * @return \int Block ID + */ + function getBlockId() { + $this->getBlockedStatus(); + return ($this->mBlock ? $this->mBlock->mId : false); + } + /** * Check if user is blocked on all wikis. * Do not use for actual edit permission checks! @@ -1997,7 +2020,7 @@ class User { * @return \int User'e edit count */ function getEditCount() { - if ($this->mId) { + if ($this->getId()) { if ( !isset( $this->mEditCount ) ) { /* Populate the count, if it has not been populated yet */ $this->mEditCount = User::edits($this->mId); @@ -2094,7 +2117,7 @@ class User { if( $action === 'patrol' || $action === 'autopatrol' ) { global $wgUseRCPatrol, $wgUseNPPatrol; if( !$wgUseRCPatrol && !$wgUseNPPatrol ) - return true; + return false; } # Use strict parameter to avoid matching numeric 0 accidentally inserted # by misconfiguration: 0 == 'foo'