X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fexport%2FXmlDumpWriter.php;h=5a1f92c4cc43c1fb16ffbd9460a023a07c2f09e0;hb=3df3b575c6617df64ec98533cc7141bd2314e274;hp=5be166b29d47c6920aaadc5f9715ed37d847c243;hpb=a3c1cb416182ad7e80cabde1b5fd42824de68610;p=lhc%2Fweb%2Fwiklou.git
diff --git a/includes/export/XmlDumpWriter.php b/includes/export/XmlDumpWriter.php
index 5be166b29d..c46eb61ca3 100644
--- a/includes/export/XmlDumpWriter.php
+++ b/includes/export/XmlDumpWriter.php
@@ -199,7 +199,6 @@ class XmlDumpWriter {
* @access private
*/
function writeRevision( $row ) {
-
$out = " \n";
$out .= " " . Xml::element( 'id', null, strval( $row->rev_id ) ) . "\n";
if ( isset( $row->rev_parent_id ) && $row->rev_parent_id ) {
@@ -219,8 +218,11 @@ class XmlDumpWriter {
}
if ( isset( $row->rev_deleted ) && ( $row->rev_deleted & Revision::DELETED_COMMENT ) ) {
$out .= " " . Xml::element( 'comment', [ 'deleted' => 'deleted' ] ) . "\n";
- } elseif ( $row->rev_comment != '' ) {
- $out .= " " . Xml::elementClean( 'comment', [], strval( $row->rev_comment ) ) . "\n";
+ } else {
+ $comment = CommentStore::newKey( 'rev_comment' )->getComment( $row )->text;
+ if ( $comment != '' ) {
+ $out .= " " . Xml::elementClean( 'comment', [], strval( $comment ) ) . "\n";
+ }
}
if ( isset( $row->rev_content_model ) && !is_null( $row->rev_content_model ) ) {
@@ -269,7 +271,9 @@ class XmlDumpWriter {
$out .= " \n";
}
- Hooks::run( 'XmlDumpWriterWriteRevision', [ &$this, &$out, $row, $text ] );
+ // Avoid PHP 7.1 warning from passing $this by reference
+ $writer = $this;
+ Hooks::run( 'XmlDumpWriterWriteRevision', [ &$writer, &$out, $row, $text ] );
$out .= " \n";
@@ -285,7 +289,6 @@ class XmlDumpWriter {
* @access private
*/
function writeLogItem( $row ) {
-
$out = " \n";
$out .= " " . Xml::element( 'id', null, strval( $row->log_id ) ) . "\n";
@@ -299,8 +302,11 @@ class XmlDumpWriter {
if ( $row->log_deleted & LogPage::DELETED_COMMENT ) {
$out .= " " . Xml::element( 'comment', [ 'deleted' => 'deleted' ] ) . "\n";
- } elseif ( $row->log_comment != '' ) {
- $out .= " " . Xml::elementClean( 'comment', null, strval( $row->log_comment ) ) . "\n";
+ } else {
+ $comment = CommentStore::newKey( 'log_comment' )->getComment( $row )->text;
+ if ( $comment != '' ) {
+ $out .= " " . Xml::elementClean( 'comment', null, strval( $comment ) ) . "\n";
+ }
}
$out .= " " . Xml::element( 'type', null, strval( $row->log_type ) ) . "\n";
@@ -397,7 +403,7 @@ class XmlDumpWriter {
if ( $file->isDeleted( File::DELETED_COMMENT ) ) {
$comment = Xml::element( 'comment', [ 'deleted' => 'deleted' ] );
} else {
- $comment = Xml::elementClean( 'comment', null, $file->getDescription() );
+ $comment = Xml::elementClean( 'comment', null, strval( $file->getDescription() ) );
}
return " \n" .
$this->writeTimestamp( $file->getTimestamp() ) .
@@ -431,6 +437,9 @@ class XmlDumpWriter {
global $wgContLang;
$prefix = $wgContLang->getFormattedNsText( $title->getNamespace() );
+ // @todo Emit some kind of warning to the user if $title->getNamespace() !==
+ // NS_MAIN and $prefix === '' (viz. pages in an unregistered namespace)
+
if ( $prefix !== '' ) {
$prefix .= ':';
}