* (bug 10828) typo in French
[lhc/web/wiklou.git] / includes / SpecialLonelypages.php
index 40bd400..e652f9d 100644 (file)
@@ -1,32 +1,60 @@
-<?
-
-include_once( "QueryPage.php" );
+<?php
+/**
+ *
+ * @addtogroup SpecialPage
+ */
 
+/**
+ * A special page looking for articles with no article linking to them,
+ * thus being lonely.
+ * @addtogroup SpecialPage
+ */
 class LonelyPagesPage extends PageQueryPage {
 
-    function getName() {
-       return "Lonelypages";
-    }
-    
-    function isExpensive() {
-       return 1;
-    }
-    
-    function getSQL( $offset, $limit ) {
-       
-       return "SELECT cur_title FROM cur LEFT JOIN links ON " .
-         "cur_id=l_to WHERE l_to IS NULL AND cur_namespace=0 AND " .
-         "cur_is_redirect=0 ORDER BY cur_title LIMIT {$offset}, {$limit}";
-    }
+       function getName() {
+               return "Lonelypages";
+       }
+       function getPageHeader() {
+               return wfMsgExt( 'lonelypagestext', array( 'parse' ) );
+       }
+
+       function sortDescending() {
+               return false;
+       }
+
+       function isExpensive() {
+               return true;
+       }
+       function isSyndicated() { return false; }
+
+       function getSQL() {
+               $dbr = wfGetDB( DB_SLAVE );
+               list( $page, $pagelinks ) = $dbr->tableNamesN( 'page', 'pagelinks' );
+
+               return
+                 "SELECT 'Lonelypages'  AS type,
+                         page_namespace AS namespace,
+                         page_title     AS title,
+                         page_title     AS value
+                    FROM $page
+               LEFT JOIN $pagelinks
+                      ON page_namespace=pl_namespace AND page_title=pl_title
+                   WHERE pl_namespace IS NULL
+                     AND page_namespace=".NS_MAIN."
+                     AND page_is_redirect=0";
+
+       }
 }
 
-function wfSpecialLonelypages()
-{
-    list( $limit, $offset ) = wfCheckLimits();
-    
-    $lpp = new LonelyPagesPage();
-    
-    return $lpp->doQuery( $offset, $limit );
+/**
+ * Constructor
+ */
+function wfSpecialLonelypages() {
+       list( $limit, $offset ) = wfCheckLimits();
+
+       $lpp = new LonelyPagesPage();
+
+       return $lpp->doQuery( $offset, $limit );
 }
 
-?>
+