It helps when you don't break things...
[lhc/web/wiklou.git] / includes / SpecialDeadendpages.php
index 9e730b1..0d94161 100644 (file)
@@ -1,35 +1,65 @@
 <?php
+/**
+ *
+ * @addtogroup SpecialPage
+ */
 
-require_once( "QueryPage.php" );
-
+/**
+ *
+ * @addtogroup SpecialPage
+ */
 class DeadendPagesPage extends PageQueryPage {
 
-    function getName( ) {
-       return "Deadendpages";
-    }
-
-    # LEFT JOIN is expensive
-    
-    function isExpensive( ) {
-       return 1;
-    }
-    
-    function getSQL( $offset, $limit ) {
-       return "SELECT cur_namespace AS namespace, cur_title as title, 0 as value " . 
-         "FROM cur LEFT JOIN links ON cur_id = l_from " .
-         "WHERE l_from IS NULL " .
-         "AND cur_namespace = 0 " .
-         "AND cur_is_redirect = 0";
-    }
+       function getName( ) {
+               return "Deadendpages";
+       }
+
+       function getPageHeader() {
+               return wfMsgExt( 'deadendpagestext', array( 'parse' ) );
+       }
+
+       /**
+        * LEFT JOIN is expensive
+        *
+        * @return true
+        */
+       function isExpensive( ) {
+               return 1;
+       }
+
+       function isSyndicated() { return false; }
+
+       /**
+        * @return false
+        */
+       function sortDescending() {
+               return false;
+       }
+
+       /**
+        * @return string an sqlquery
+        */
+       function getSQL() {
+               $dbr = wfGetDB( DB_SLAVE );
+               list( $page, $pagelinks ) = $dbr->tableNamesN( 'page', 'pagelinks' );
+               return "SELECT 'Deadendpages' as type, page_namespace AS namespace, page_title as title, page_title AS value " .
+       "FROM $page LEFT JOIN $pagelinks ON page_id = pl_from " .
+       "WHERE pl_from IS NULL " .
+       "AND page_namespace = 0 " .
+       "AND page_is_redirect = 0";
+       }
 }
 
+/**
+ * Constructor
+ */
 function wfSpecialDeadendpages() {
-    
-    list( $limit, $offset ) = wfCheckLimits();
 
-    $depp = new DeadendPagesPage();
-    
-    return $depp->doQuery( $offset, $limit );
+       list( $limit, $offset ) = wfCheckLimits();
+
+       $depp = new DeadendPagesPage();
+
+       return $depp->doQuery( $offset, $limit );
 }
 
-?>
+