Return user ID as userid in watchlist API module
authorPetr Onderka <gsvick@gmail.com>
Sat, 16 Feb 2013 18:30:57 +0000 (19:30 +0100)
committerPetr Onderka <gsvick@gmail.com>
Sat, 16 Feb 2013 18:38:28 +0000 (18:38 +0000)
Currently, the watchlist module returns both user ID
and user name as 'user'. This is not only confusing,
but it also means both can't be returned at the same time.

This change fixes that, by returning user ID as 'userid'
and user name as 'user'. For backwards compatibility,
if only user ID is requested, both 'user' and 'userid'
will contain the user ID.

This could be considered a breaking change if both
user ID and user name are requested, but in that case,
the output is currently broken anyway.

Change-Id: I50364659f8fec0136d4ef25ccf137d509df33c41

includes/api/ApiQueryWatchlist.php

index dd50624..53f4230 100644 (file)
@@ -240,14 +240,16 @@ class ApiQueryWatchlist extends ApiQueryGeneratorBase {
 
                if ( $this->fld_user || $this->fld_userid ) {
 
-                       if ( $this->fld_user ) {
-                               $vals['user'] = $row->rc_user_text;
-                       }
-
                        if ( $this->fld_userid ) {
+                               $vals['userid'] = $row->rc_user;
+                               // for backwards compatibility
                                $vals['user'] = $row->rc_user;
                        }
 
+                       if ( $this->fld_user ) {
+                               $vals['user'] = $row->rc_user_text;
+                       }
+
                        if ( !$row->rc_user ) {
                                $vals['anon'] = '';
                        }