aaaand one more
[lhc/web/wiklou.git] / includes / SpecialLonelypages.php
index 0c026e2..430af7a 100644 (file)
@@ -1,32 +1,59 @@
 <?php
+/**
+ *
+ * @addtogroup SpecialPage
+ */
 
-require_once( "QueryPage.php" );
-
+/**
+ * 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 getPageHeader() {
+               return '<p>' . wfMsg('lonelypagestext') . '</p>';
+       }
+
+       function sortDescending() {
+               return false;
+       }
+
        function isExpensive() {
                return true;
        }
-       
+       function isSyndicated() { return false; }
+
        function getSQL() {
-               $dbr =& wfGetDB( DB_SLAVE );
-               extract( $dbr->tableNames( 'cur', 'links' ) );
+               $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";
 
-               return "SELECT 'Lonelypages' as type, cur_namespace AS namespace, cur_title AS title, cur_title AS value " .
-                       "FROM $cur LEFT JOIN $links ON cur_id=l_to ".
-                       "WHERE l_to IS NULL AND cur_namespace=0 AND cur_is_redirect=0";
        }
 }
 
+/**
+ * Constructor
+ */
 function wfSpecialLonelypages() {
        list( $limit, $offset ) = wfCheckLimits();
-       
+
        $lpp = new LonelyPagesPage();
-       
+
        return $lpp->doQuery( $offset, $limit );
 }