X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FdumpBackup.php;h=c9546c60d9af55da83987d3bbe0b7939afef119b;hb=c34049dd4881667d4b54717d4f7c68280426199d;hp=34b342ee41a73e13df6ed51516afcf3028ec9116;hpb=659778619cc12d156d3547834c0f90f407584104;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/dumpBackup.php b/maintenance/dumpBackup.php index 34b342ee41..c9546c60d9 100644 --- a/maintenance/dumpBackup.php +++ b/maintenance/dumpBackup.php @@ -1,6 +1,9 @@ + * Script that dumps wiki pages or logging database into an XML interchange + * wrapper format for export or backup + * + * Copyright © 2005 Brion Vibber * http://www.mediawiki.org/ * * This program is free software; you can redistribute it and/or modify @@ -24,10 +27,10 @@ $originalDir = getcwd(); -$optionsWithArgs = array( 'pagelist', 'start', 'end' ); +$optionsWithArgs = array( 'pagelist', 'start', 'end', 'revstart', 'revend'); -require_once( dirname( __FILE__ ) . '/commandLine.inc' ); -require_once( 'backup.inc' ); +require_once( __DIR__ . '/commandLine.inc' ); +require_once( __DIR__ . '/backup.inc' ); $dumper = new BackupDumper( $argv ); @@ -41,7 +44,8 @@ if ( isset( $options['pagelist'] ) ) { $pages = file( $options['pagelist'] ); chdir( $olddir ); if ( $pages === false ) { - wfDie( "Unable to open file {$options['pagelist']}\n" ); + echo( "Unable to open file {$options['pagelist']}\n" ); + die(1); } $pages = array_map( 'trim', $pages ); $dumper->pages = array_filter( $pages, create_function( '$x', 'return $x !== "";' ) ); @@ -53,9 +57,17 @@ if ( isset( $options['start'] ) ) { if ( isset( $options['end'] ) ) { $dumper->endId = intval( $options['end'] ); } + +if ( isset( $options['revstart'] ) ) { + $dumper->revStartId = intval( $options['revstart'] ); +} +if ( isset( $options['revend'] ) ) { + $dumper->revEndId = intval( $options['revend'] ); +} $dumper->skipHeader = isset( $options['skip-header'] ); $dumper->skipFooter = isset( $options['skip-footer'] ); $dumper->dumpUploads = isset( $options['uploads'] ); +$dumper->dumpUploadFileContents = isset( $options['include-files'] ); $textMode = isset( $options['stub'] ) ? WikiExporter::STUB : WikiExporter::TEXT; @@ -67,6 +79,8 @@ if ( isset( $options['full'] ) ) { $dumper->dump( WikiExporter::STABLE, $textMode ); } elseif ( isset( $options['logs'] ) ) { $dumper->dump( WikiExporter::LOGS ); +} elseif ( isset($options['revrange'] ) ) { + $dumper->dump( WikiExporter::RANGE, $textMode ); } else { $dumper->progress( << [] Actions: --full Dump all revisions of every page. --current Dump only the latest revision of every page. --logs Dump all log events. - + --stable Stable versions of pages? + --pagelist= + Where is a list of page titles to be dumped + --revrange Dump specified range of revisions, requires + revstart and revend options. Options: --quiet Don't dump status reports to stderr. --report=n Report position and speed after every n pages processed. - (Default: 100) + (Default: 100) --server=h Force reading from MySQL server h --start=n Start from page_id or log_id n --end=n Stop before page_id or log_id n (exclusive) + --revstart=n Start from rev_id n + --revend=n Stop before rev_id n (exclusive) --skip-header Don't output the header --skip-footer Don't output the footer --stub Don't perform old_text lookups; for 2-pass dump - --uploads Include upload records (experimental) + --uploads Include upload records without files + --include-files Include files within the XML stream + --conf= Use the specified configuration file (LocalSettings.php) + + --wiki= Only back up the specified Fancy stuff: (Works? Add examples please.) --plugin=[:] Load a dump plugin class