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