Pass through request parameters in API action=edit
authorRoan Kattouw <roan.kattouw@gmail.com>
Wed, 24 Jul 2013 06:26:37 +0000 (23:26 -0700)
committerRoan Kattouw <roan.kattouw@gmail.com>
Wed, 24 Jul 2013 06:26:37 +0000 (23:26 -0700)
In addition to constructing a fake request using the data the caller
gave us, also pass through any other request variables that might have
been set. This is a bit of an evil hack, but it's the only thing we can
do to make random things like wpReviewEdit in FlaggedRevs work through
the API.

Change-Id: Idab5b524b0e3daae58ab4f26466c0f6d9d8d3044

includes/api/ApiEditPage.php

index 3d0b425..5b29ea6 100644 (file)
@@ -293,6 +293,10 @@ class ApiEditPage extends ApiBase {
                        $requestArray['wpWatchthis'] = '';
                }
 
+               // Pass through anything else we might have been given, to support extensions
+               // This is kind of a hack but it's the best we can do to make extensions work
+               $requestArray += $this->getRequest()->getValues();
+
                global $wgTitle, $wgRequest;
 
                $req = new DerivativeRequest( $this->getRequest(), $requestArray, true );