If 'tables' is a string that starts with a space, treat it as user-enforced FROM...
[lhc/web/wiklou.git] / includes / SpecialUncategorizedpages.php
old mode 100755 (executable)
new mode 100644 (file)
index fc58e45..cae34fe
@@ -1,21 +1,15 @@
 <?php
 /**
  *
- * @package MediaWiki
- * @subpackage SpecialPage
+ * @addtogroup SpecialPage
  */
 
 /**
  *
- */
-require_once( "QueryPage.php" );
-
-/**
- *
- * @package MediaWiki
- * @subpackage SpecialPage
+ * @addtogroup SpecialPage
  */
 class UncategorizedPagesPage extends PageQueryPage {
+       var $requestedNamespace = NS_MAIN;
 
        function getName() {
                return "Uncategorizedpages";
@@ -28,14 +22,24 @@ class UncategorizedPagesPage extends PageQueryPage {
        function isExpensive() {
                return true;
        }
-       
-       function getSQL() {
-               $dbr =& wfGetDB( DB_SLAVE );
-               extract( $dbr->tableNames( 'cur', 'categorylinks' ) );
+       function isSyndicated() { return false; }
 
-               return "SELECT 'Uncategorizedpages' as type, cur_namespace AS namespace, cur_title AS title, cur_title AS value " .
-                       "FROM $cur LEFT JOIN $categorylinks ON cur_id=cl_from ".
-                       "WHERE cl_from IS NULL AND cur_namespace=0 AND cur_is_redirect=0";
+       function getSQL() {
+               $dbr = wfGetDB( DB_SLAVE );
+               list( $page, $categorylinks ) = $dbr->tableNamesN( 'page', 'categorylinks' );
+               $name = $dbr->addQuotes( $this->getName() );
+
+               return
+                       "
+                       SELECT
+                               $name as type,
+                               page_namespace AS namespace,
+                               page_title AS title,
+                               page_title AS value
+                       FROM $page
+                       LEFT JOIN $categorylinks ON page_id=cl_from
+                       WHERE cl_from IS NULL AND page_namespace={$this->requestedNamespace} AND page_is_redirect=0
+                       ";
        }
 }