http://www.mediawiki.org/wiki/Special:Code/MediaWiki/73836

Revision: 73836
Author:   yaron
Date:     2010-09-27 23:34:18 +0000 (Mon, 27 Sep 2010)

Log Message:
-----------
New special page, 'UnapprovedPages', for Approved Revs extension

Added Paths:
-----------
    trunk/extensions/ApprovedRevs/AR_UnapprovedPages.php

Added: trunk/extensions/ApprovedRevs/AR_UnapprovedPages.php
===================================================================
--- trunk/extensions/ApprovedRevs/AR_UnapprovedPages.php                        
        (rev 0)
+++ trunk/extensions/ApprovedRevs/AR_UnapprovedPages.php        2010-09-27 
23:34:18 UTC (rev 73836)
@@ -0,0 +1,64 @@
+<?php
+/**
+ * Special page that lists all pages that have an approved revision.
+ *
+ * @author Yaron Koren
+ */
+
+if ( !defined( 'MEDIAWIKI' ) ) die();
+
+class ARUnapprovedPages extends SpecialPage {
+
+       /**
+        * Constructor
+        */
+       function ARUnapprovedPages() {
+               SpecialPage::SpecialPage( 'UnapprovedPages' );
+               wfLoadExtensionMessages( 'ApprovedRevs' );
+       }
+
+       function execute( $query ) {
+               $this->setHeaders();
+               list( $limit, $offset ) = wfCheckLimits();
+               $rep = new ARUnapprovedPagesPage();
+               return $rep->doQuery( $offset, $limit );
+       }
+}
+
+class ARUnapprovedPagesPage extends QueryPage {
+       function getName() {
+               return "UnapprovedPages";
+       }
+
+       function isExpensive() { return false; }
+
+       function isSyndicated() { return false; }
+
+       function getPageHeader() {
+               $header = Xml::element( 'p', null, wfMsg( 
'approvedrevs-unapprovedpages-docu' ) ) . "<br />\n";
+               return $header;
+       }
+
+       function getPageFooter() {
+       }
+
+       function getSQL() {
+               $dbr = wfGetDB( DB_SLAVE );
+               $approved_revs = $dbr->tableName( 'approved_revs' );
+               $page = $dbr->tableName( 'page' );
+               return "SELECT 'Page' AS type,
+                       p.page_id AS id
+                       FROM $approved_revs ar RIGHT OUTER JOIN $page p
+                       ON ar.page_id = p.page_id
+                       WHERE ar.page_id IS NULL";
+       }
+
+       function getOrder() {
+               return ' ORDER BY p.page_namespace, p.page_title ASC';
+       }
+
+       function formatResult( $skin, $result ) {
+               $title = Title::newFromId( $result->id );
+               return $skin->makeLinkObj( $title );
+       }
+}



_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs

Reply via email to