diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2008-08-15 01:29:47 +0200 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2008-08-15 01:29:47 +0200 |
commit | 370e83bb0dfd0c70de268c93bf07ad5ee0897192 (patch) | |
tree | 491674f4c242e4d6ba0d04eafa305174c35a3391 /includes/specials/SpecialDeadendpages.php | |
parent | f4debf0f12d0524d2b2427c55ea3f16b680fad97 (diff) |
Update auf 1.13.0
Diffstat (limited to 'includes/specials/SpecialDeadendpages.php')
-rw-r--r-- | includes/specials/SpecialDeadendpages.php | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/includes/specials/SpecialDeadendpages.php b/includes/specials/SpecialDeadendpages.php new file mode 100644 index 00000000..a8416c97 --- /dev/null +++ b/includes/specials/SpecialDeadendpages.php @@ -0,0 +1,62 @@ +<?php +/** + * @file + * @ingroup SpecialPage + */ + +/** + * @ingroup SpecialPage + */ +class DeadendPagesPage extends PageQueryPage { + + 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 ); +} |