X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FdumpBackup.php;h=c9546c60d9af55da83987d3bbe0b7939afef119b;hb=9bdc558bc481218235b0b4f1b9c34ff6c86fd56c;hp=b8b02b793fb1243be60939918e2817c5d9dd58a0;hpb=087a9f70c5c152b72dc6c539cf64e334a0f2d029;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/dumpBackup.php b/maintenance/dumpBackup.php index b8b02b793f..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,14 +27,14 @@ $originalDir = getcwd(); -$optionsWithArgs = array( 'pagelist', 'start', 'end' ); +$optionsWithArgs = array( 'pagelist', 'start', 'end', 'revstart', 'revend'); -require_once( 'commandLine.inc' ); -require_once( 'backup.inc' ); +require_once( __DIR__ . '/commandLine.inc' ); +require_once( __DIR__ . '/backup.inc' ); $dumper = new BackupDumper( $argv ); -if( isset( $options['quiet'] ) ) { +if ( isset( $options['quiet'] ) ) { $dumper->reporting = false; } @@ -41,60 +44,88 @@ 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 !== "";' ) ); } -if( isset( $options['start'] ) ) { +if ( isset( $options['start'] ) ) { $dumper->startId = intval( $options['start'] ); } -if( isset( $options['end'] ) ) { +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; -if( isset( $options['full'] ) ) { +if ( isset( $options['full'] ) ) { $dumper->dump( WikiExporter::FULL, $textMode ); -} elseif( isset( $options['current'] ) ) { +} elseif ( isset( $options['current'] ) ) { $dumper->dump( WikiExporter::CURRENT, $textMode ); +} elseif ( isset( $options['stable'] ) ) { + $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( <<progress( << [] Actions: - --full Dump complete history of every page. - --current Includes only the latest revision of each page. - + --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 n - --end=n Stop before page_id n (exclusive) + --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: +Fancy stuff: (Works? Add examples please.) --plugin=[:] Load a dump plugin class --output=: Begin a filtered output stream; s: file, gzip, bzip2, 7zip --filter=[:] Add a filter on an output branch -END +ENDS ); } - -