-
- function showHelp() {
- $gz = in_array('compress.zlib', stream_get_wrappers()) ? 'ok' : '(disabled; requires PHP zlib module)';
- $bz2 = in_array('compress.bzip2', stream_get_wrappers()) ? 'ok' : '(disabled; requires PHP bzip2 module)';
- echo "This script reads pages from an XML file as produced from Special:Export\n";
- echo "or dumpBackup.php, and saves them into the current wiki.\n";
- echo "\n";
- echo "Note that for very large data sets, importDump.php may be slow; there are\n";
- echo "alternate methods which can be much faster for full site restoration:\n";
- echo "http://www.mediawiki.org/wiki/Manual:Importing_XML_dumps\n";
- echo "\n";
- echo "Usage: php importDump.php [<options>] [<file>]\n";
- echo "If no file is listed, input may be piped from stdin.\n";
- echo "\n";
- echo "Options:\n";
- echo " --quiet Don't dump status reports to stderr.\n";
- echo " --report=n Report position and speed after every n pages processed.\n";
- echo " --namespaces=a|b|..|z Import only the pages from namespaces belonging to\n";
- echo " the list of pipe-separated namespace names or namespace indexes\n";
- echo " --dry-run Parse dump without actually importing pages.\n";
- echo " --debug Output extra verbose debug information\n";
- echo " --uploads Process file upload data if included (experimental)\n";
- echo " --image-base-path=path Import files from a specified path\n";
- echo "\n";
- echo "Compressed XML files may be read directly:\n";
- echo " .gz $gz\n";
- echo " .bz2 $bz2\n";
- echo " .7z (if 7za executable is in PATH)\n";
- echo "\n";
- }
-}
-
-if ( wfReadOnly() ) {
- wfDie( "Wiki is in read-only mode; you'll need to disable it for import to work.\n" );
-}
-
-$reader = new BackupReader();
-if ( isset( $options['quiet'] ) ) {
- $reader->reporting = false;
-}
-if ( isset( $options['report'] ) ) {
- $reader->reportingInterval = intval( $options['report'] );
-}
-if ( isset( $options['dry-run'] ) ) {
- $reader->dryRun = true;
-}
-if ( isset( $options['debug'] ) ) {
- $reader->debug = true;
-}
-if ( isset( $options['uploads'] ) ) {
- $reader->uploads = true; // experimental!
-}
-if ( isset( $options['image-base-path'] ) ) {
- $reader->imageBasePath = $options['image-base-path'];
-}
-if ( isset( $options['namespaces'] ) ) {
- $reader->setNsfilter( explode( '|', $options['namespaces'] ) );
-}
-
-if ( isset( $options['help'] ) ) {
- $reader->showHelp();
- exit();
-} elseif ( isset( $args[0] ) ) {
- $result = $reader->importFromFile( $args[0] );
-} else {
- $result = $reader->importFromStdin();