From 899984b870b7de01cda9c63f5f682cbfa9ef105e Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Mon, 31 Oct 2005 09:57:38 +0000 Subject: [PATCH] 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 --- maintenance/dumpLinks.php | 63 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 maintenance/dumpLinks.php diff --git a/maintenance/dumpLinks.php b/maintenance/dumpLinks.php new file mode 100644 index 0000000000..cd455ba7ac --- /dev/null +++ b/maintenance/dumpLinks.php @@ -0,0 +1,63 @@ + + * 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 + * + * Includes all (live and broken) intra-wiki links. + * Does not include interwiki or URL links. + * Dumps ASCII text to stdout; command-line. + * + * 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 + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * http://www.gnu.org/copyleft/gpl.html + * + * @package MediaWiki + * @subpackage SpecialPage + */ + +require_once './commandLine.inc'; + +$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' ) ); + +$lastPage = null; +while( $row = $dbr->fetchObject( $result ) ) { + if( $lastPage != $row->page_id ) { + if( isset( $lastPage ) ) { + print "\n"; + } + $page = Title::makeTitle( $row->page_namespace, $row->page_title ); + print $page->getPrefixedUrl(); + $lastPage = $row->page_id; + } + $link = Title::makeTitle( $row->pl_namespace, $row->pl_title ); + print " " . $link->getPrefixedUrl(); +} +if( isset( $lastPage ) ) + print "\n"; + +?> \ No newline at end of file -- 2.20.1