X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FdumpLinks.php;h=ad440e70f2a01e33725d829a8c6090ed15b9b239;hb=392af46809d831514f49618cdef1e1529d7fddf4;hp=f61c398bc9b6c71195e267f7fbb4aa8e1423b482;hpb=a15c419b3d130248f2556b9d00643ba9666a4189;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/dumpLinks.php b/maintenance/dumpLinks.php index f61c398bc9..ad440e70f2 100644 --- a/maintenance/dumpLinks.php +++ b/maintenance/dumpLinks.php @@ -1,8 +1,5 @@ - * 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 @@ -11,6 +8,9 @@ * Does not include interwiki or URL links. * Dumps ASCII text to stdout; command-line. * + * Copyright © 2005 Brion Vibber + * 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 @@ -26,37 +26,54 @@ * 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 );