* A new function: editsByNs( $uid ) that uses the SQL from Kate's edit counter
authorÆvar Arnfjörð Bjarmason <avar@users.mediawiki.org>
Thu, 14 Jul 2005 17:56:30 +0000 (17:56 +0000)
committerÆvar Arnfjörð Bjarmason <avar@users.mediawiki.org>
Thu, 14 Jul 2005 17:56:30 +0000 (17:56 +0000)
includes/User.php

index 42a6a89..21d0503 100644 (file)
@@ -242,6 +242,36 @@ class User {
                );
        }
 
+       /**
+        * Count the number of edits of a user by namespace
+        *
+        * @param int $uid The user ID to check
+        * @return array
+        */
+       function editsByNs( $uid ) {
+               $fname = 'User::editsByNs';
+               $nscount = array();
+
+               $dbr =& wfGetDB( DB_SLAVE );
+               $res = $dbr->select(
+                       array( 'user', 'revision', 'page' ),
+                       array( 'page_namespace', 'COUNT(*) as count' ),
+                       array(
+                               'user_id' => $uid,
+                               'rev_user' => array( false, 'user_id' ),
+                               'rev_page' => array( false, 'page_id' )
+                       ),
+                       $fname,
+                       array( 'GROUP BY' => 'page_namespace' )
+               );
+               
+               while( $row = $dbr->fetchObject( $res ) ) {
+                       $nscount[$row->page_namespace] = $row->count;
+               }
+               return $nscount;
+
+       }
+
        /**
         * probably return a random password
         * @return string probably a random password