API: Apply miser-mode namespace check for generator=redirects
[lhc/web/wiklou.git] / includes / api / ApiQueryBacklinksprop.php
index bfacc51..b8672ee 100644 (file)
@@ -129,6 +129,9 @@ class ApiQueryBacklinksprop extends ApiQueryGeneratorBase {
                if ( !$titles ) {
                        return; // nothing to do
                }
+               if ( $params['namespace'] !== null && count( $params['namespace'] ) === 0 ) {
+                       return; // nothing to do
+               }
 
                // Figure out what we're sorting by, and add associated WHERE clauses.
                // MySQL's query planner screws up if we include a field in ORDER BY
@@ -331,6 +334,12 @@ class ApiQueryBacklinksprop extends ApiQueryGeneratorBase {
                                        $this->setContinue( $row, $sortby );
                                        break;
                                }
+
+                               if ( $miser_ns !== null && !in_array( $row->page_namespace, $miser_ns ) ) {
+                                       // Miser mode namespace check
+                                       continue;
+                               }
+
                                $titles[] = Title::makeTitle( $row->page_namespace, $row->page_title );
                        }
                        $resultPageSet->populateFromTitles( $titles );