summaryrefslogtreecommitdiff
path: root/includes/api/ApiFeedRecentChanges.php
diff options
context:
space:
mode:
Diffstat (limited to 'includes/api/ApiFeedRecentChanges.php')
-rw-r--r--includes/api/ApiFeedRecentChanges.php12
1 files changed, 10 insertions, 2 deletions
diff --git a/includes/api/ApiFeedRecentChanges.php b/includes/api/ApiFeedRecentChanges.php
index d452bbd6..d24112c7 100644
--- a/includes/api/ApiFeedRecentChanges.php
+++ b/includes/api/ApiFeedRecentChanges.php
@@ -66,9 +66,17 @@ class ApiFeedRecentChanges extends ApiBase {
$formatter = $this->getFeedObject( $feedFormat, $specialClass );
- // Everything is passed implicitly via $wgRequest… :(
- // The row-getting functionality should maybe be factored out of ChangesListSpecialPage too…
+ // Parameters are passed via the request in the context… :(
+ $context = new DerivativeContext( $this );
+ $context->setRequest( new DerivativeRequest(
+ $this->getRequest(),
+ $this->params,
+ $this->getRequest()->wasPosted()
+ ) );
+
+ // The row-getting functionality should be factored out of ChangesListSpecialPage too…
$rc = new $specialClass();
+ $rc->setContext( $context );
$rows = $rc->getRows();
$feedItems = $rows ? ChangesFeed::buildItems( $rows ) : array();