generatePhpCharToUpperMappings: Die if fopen fails
[lhc/web/wiklou.git] / includes / api / ApiQueryBacklinksprop.php
index ef02d09..b8672ee 100644 (file)
@@ -2,8 +2,6 @@
 /**
  * API module to handle links table back-queries
  *
- * Created on Aug 19, 2014
- *
  * Copyright © 2014 Wikimedia Foundation and contributors
  *
  * This program is free software; you can redistribute it and/or modify
@@ -90,7 +88,7 @@ class ApiQueryBacklinksprop extends ApiQueryGeneratorBase {
        }
 
        /**
-        * @param ApiPageSet $resultPageSet
+        * @param ApiPageSet|null $resultPageSet
         */
        private function run( ApiPageSet $resultPageSet = null ) {
                $settings = self::$settings[$this->getModuleName()];
@@ -131,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
@@ -333,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 );
@@ -421,7 +428,7 @@ class ApiQueryBacklinksprop extends ApiQueryGeneratorBase {
                $settings = self::$settings[$this->getModuleName()];
                $name = $this->getModuleName();
                $path = $this->getModulePath();
-               $title = isset( $settings['exampletitle'] ) ? $settings['exampletitle'] : 'Main Page';
+               $title = $settings['exampletitle'] ?? 'Main Page';
                $etitle = rawurlencode( $title );
 
                return [