* Reorganised the includes directory, creating subdirectories db, parser and specials
[lhc/web/wiklou.git] / includes / specials / Deadendpages.php
1 <?php
2 /**
3 * @file
4 * @ingroup SpecialPage
5 */
6
7 /**
8 * @ingroup SpecialPage
9 */
10 class DeadendPagesPage extends PageQueryPage {
11
12 function getName( ) {
13 return "Deadendpages";
14 }
15
16 function getPageHeader() {
17 return wfMsgExt( 'deadendpagestext', array( 'parse' ) );
18 }
19
20 /**
21 * LEFT JOIN is expensive
22 *
23 * @return true
24 */
25 function isExpensive( ) {
26 return 1;
27 }
28
29 function isSyndicated() { return false; }
30
31 /**
32 * @return false
33 */
34 function sortDescending() {
35 return false;
36 }
37
38 /**
39 * @return string an sqlquery
40 */
41 function getSQL() {
42 $dbr = wfGetDB( DB_SLAVE );
43 list( $page, $pagelinks ) = $dbr->tableNamesN( 'page', 'pagelinks' );
44 return "SELECT 'Deadendpages' as type, page_namespace AS namespace, page_title as title, page_title AS value " .
45 "FROM $page LEFT JOIN $pagelinks ON page_id = pl_from " .
46 "WHERE pl_from IS NULL " .
47 "AND page_namespace = 0 " .
48 "AND page_is_redirect = 0";
49 }
50 }
51
52 /**
53 * Constructor
54 */
55 function wfSpecialDeadendpages() {
56
57 list( $limit, $offset ) = wfCheckLimits();
58
59 $depp = new DeadendPagesPage();
60
61 return $depp->doQuery( $offset, $limit );
62 }