<?php
/**
- * Copyright (C) 2005 Brion Vibber <brion@pobox.com>
- * http://www.mediawiki.org/
- *
* Quick demo hack to generate a plaintext link dump,
* per the proposed wiki link database standard:
* http://www.usemod.com/cgi-bin/mb.pl?LinkDatabase
* Does not include interwiki or URL links.
* Dumps ASCII text to stdout; command-line.
*
+ * Copyright © 2005 Brion Vibber <brion@pobox.com>
+ * http://www.mediawiki.org/
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
* http://www.gnu.org/copyleft/gpl.html
*
- * @addtogroup SpecialPage
+ * @file
+ * @ingroup Maintenance
*/
-require_once 'commandLine.inc';
+require_once( dirname( __FILE__ ) . '/Maintenance.php' );
+
+/**
+ * Maintenance script that generates a plaintext link dump.
+ *
+ * @ingroup Maintenance
+ */
+class DumpLinks extends Maintenance {
+ public function __construct() {
+ parent::__construct();
+ $this->mDescription = "Quick demo hack to generate a plaintext link dump";
+ }
-$dbr = wfGetDB( DB_SLAVE );
-$result = $dbr->select( array( 'pagelinks', 'page' ),
- array(
- 'page_id',
- 'page_namespace',
- 'page_title',
- 'pl_namespace',
- 'pl_title' ),
- array( 'page_id=pl_from' ),
- 'dumpLinks',
- array( 'ORDER BY' => 'page_id' ) );
+ public function execute() {
+ $dbr = wfGetDB( DB_SLAVE );
+ $result = $dbr->select( array( 'pagelinks', 'page' ),
+ array(
+ 'page_id',
+ 'page_namespace',
+ 'page_title',
+ 'pl_namespace',
+ 'pl_title' ),
+ array( 'page_id=pl_from' ),
+ __METHOD__,
+ array( 'ORDER BY' => 'page_id' ) );
-$lastPage = null;
-while( $row = $dbr->fetchObject( $result ) ) {
- if( $lastPage != $row->page_id ) {
- if( isset( $lastPage ) ) {
- print "\n";
+ $lastPage = null;
+ foreach ( $result as $row ) {
+ if ( $lastPage != $row->page_id ) {
+ if ( isset( $lastPage ) ) {
+ $this->output( "\n" );
+ }
+ $page = Title::makeTitle( $row->page_namespace, $row->page_title );
+ $this->output( $page->getPrefixedUrl() );
+ $lastPage = $row->page_id;
+ }
+ $link = Title::makeTitle( $row->pl_namespace, $row->pl_title );
+ $this->output( " " . $link->getPrefixedUrl() );
}
- $page = Title::makeTitle( $row->page_namespace, $row->page_title );
- print $page->getPrefixedUrl();
- $lastPage = $row->page_id;
+ if ( isset( $lastPage ) )
+ $this->output( "\n" );
}
- $link = Title::makeTitle( $row->pl_namespace, $row->pl_title );
- print " " . $link->getPrefixedUrl();
}
-if( isset( $lastPage ) )
- print "\n";
+$maintClass = "DumpLinks";
+require_once( RUN_MAINTENANCE_IF_MAIN );