I'd love not to do such fixes:
authorDomas Mituzas <midom@users.mediawiki.org>
Sun, 29 Mar 2009 08:28:13 +0000 (08:28 +0000)
committerDomas Mituzas <midom@users.mediawiki.org>
Sun, 29 Mar 2009 08:28:13 +0000 (08:28 +0000)
* Avoid calculating expensive group error pages (this strips e.g. 25% off Special:RC)

includes/Title.php

index d4bf7c2..3ce99d8 100644 (file)
@@ -1015,7 +1015,8 @@ class Title {
 
        /**
         * Can $wgUser perform $action on this page?
-        * This skips potentially expensive cascading permission checks.
+        * This skips potentially expensive cascading permission checks
+        * as well as avoids expensive error formatting
         *
         * Suitable for use for nonessential UI controls in common cases, but
         * _not_ for functional access control.
@@ -1200,8 +1201,14 @@ class Title {
                        }
                } elseif( !$user->isAllowed( $action ) ) {
                        $return = null;
-                       $groups = array_map( array( 'User', 'makeGroupLinkWiki' ),
-                               User::getGroupsWithPermission( $action ) );
+                       
+                       // We avoid expensive display logic for quickUserCan's and such
+                       $groups = false; 
+                       if (!$short) {
+                               $groups = array_map( array( 'User', 'makeGroupLinkWiki' ),
+                                       User::getGroupsWithPermission( $action ) );
+                       } 
+                       
                        if( $groups ) {
                                $return = array( 'badaccess-groups',
                                        array( implode( ', ', $groups ), count( $groups ) ) );