Moved wfIsLocallyBlockedProxy() to User::isLocallyBlockedProxy() to put it near other...
authorAlexandre Emsenhuber <ialex@users.mediawiki.org>
Sun, 19 Jun 2011 12:57:31 +0000 (12:57 +0000)
committerAlexandre Emsenhuber <ialex@users.mediawiki.org>
Sun, 19 Jun 2011 12:57:31 +0000 (12:57 +0000)
Also added a check to not execute a part of User::getBlockedStatus() if $ip is null.

includes/ProxyTools.php
includes/User.php

index 76b92bf..c7c1d5a 100644 (file)
@@ -179,35 +179,3 @@ function wfProxyCheck() {
                $wgMemc->set( $mcKey, 1, $wgProxyMemcExpiry );
        }
 }
-
-/**
- * Check if an IP address is in the local proxy list
- * @return bool
- */
-function wfIsLocallyBlockedProxy( $ip ) {
-       global $wgProxyList;
-
-       if ( !$wgProxyList ) {
-               return false;
-       }
-       wfProfileIn( __METHOD__ );
-
-       if ( !is_array( $wgProxyList ) ) {
-               # Load from the specified file
-               $wgProxyList = array_map( 'trim', file( $wgProxyList ) );
-       }
-
-       if ( !is_array( $wgProxyList ) ) {
-               $ret = false;
-       } elseif ( array_search( $ip, $wgProxyList ) !== false ) {
-               $ret = true;
-       } elseif ( array_key_exists( $ip, $wgProxyList ) ) {
-               # Old-style flipped proxy list
-               $ret = true;
-       } else {
-               $ret = false;
-       }
-       wfProfileOut( __METHOD__ );
-       return $ret;
-}
-
index 80c2962..23938d6 100644 (file)
@@ -1220,9 +1220,9 @@ class User {
                }
 
                # Proxy blocking
-               if ( !$this->isAllowed( 'proxyunbannable' ) && !in_array( $ip, $wgProxyWhitelist ) ) {
+               if ( $ip !== null && !$this->isAllowed( 'proxyunbannable' ) && !in_array( $ip, $wgProxyWhitelist ) ) {
                        # Local list
-                       if ( wfIsLocallyBlockedProxy( $ip ) ) {
+                       if ( self::isLocallyBlockedProxy( $ip ) ) {
                                $this->mBlockedby = wfMsg( 'proxyblocker' );
                                $this->mBlockreason = wfMsg( 'proxyblockreason' );
                        }
@@ -1300,6 +1300,37 @@ class User {
                return $found;
        }
 
+       /**
+        * Check if an IP address is in the local proxy list
+        * @return bool
+        */
+       public static function isLocallyBlockedProxy( $ip ) {
+               global $wgProxyList;
+
+               if ( !$wgProxyList ) {
+                       return false;
+               }
+               wfProfileIn( __METHOD__ );
+
+               if ( !is_array( $wgProxyList ) ) {
+                       # Load from the specified file
+                       $wgProxyList = array_map( 'trim', file( $wgProxyList ) );
+               }
+
+               if ( !is_array( $wgProxyList ) ) {
+                       $ret = false;
+               } elseif ( array_search( $ip, $wgProxyList ) !== false ) {
+                       $ret = true;
+               } elseif ( array_key_exists( $ip, $wgProxyList ) ) {
+                       # Old-style flipped proxy list
+                       $ret = true;
+               } else {
+                       $ret = false;
+               }
+               wfProfileOut( __METHOD__ );
+               return $ret;
+       }
+
        /**
         * Is this user subject to rate limiting?
         *