X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2Fexport%2FWikiExporter.php;h=e0ebaa2411125a2b25c040351f9ec42a74f740f2;hb=cc4115e87f1ffec8f751e783ad9404782b23a0f3;hp=a307468a7132614f17c4843b36b0c2c3f5ada8d2;hpb=6fbafe5494440f5c37686b250ed759f6a96271b9;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/export/WikiExporter.php b/includes/export/WikiExporter.php index a307468a71..e0ebaa2411 100644 --- a/includes/export/WikiExporter.php +++ b/includes/export/WikiExporter.php @@ -91,8 +91,8 @@ class WikiExporter { * @param int $buffer One of WikiExporter::BUFFER or WikiExporter::STREAM * @param int $text One of WikiExporter::TEXT or WikiExporter::STUB */ - function __construct( $db, $history = WikiExporter::CURRENT, - $buffer = WikiExporter::BUFFER, $text = WikiExporter::TEXT ) { + function __construct( $db, $history = self::CURRENT, + $buffer = self::BUFFER, $text = self::TEXT ) { $this->db = $db; $this->history = $history; $this->buffer = $buffer; @@ -106,7 +106,7 @@ class WikiExporter { * various row objects and XML output for filtering. Filters * can be chained or used as callbacks. * - * @param DumpOutput $sink + * @param DumpOutput &$sink */ public function setOutputSink( &$sink ) { $this->sink =& $sink; @@ -253,6 +253,7 @@ class WikiExporter { /** * @param string $cond + * @param bool $orderRevs * @throws MWException * @throws Exception */ @@ -272,7 +273,7 @@ class WikiExporter { # Get logging table name for logging.* clause $logging = $this->db->tableName( 'logging' ); - if ( $this->buffer == WikiExporter::STREAM ) { + if ( $this->buffer == self::STREAM ) { $prev = $this->db->bufferResults( false ); } $result = null; // Assuring $result is not undefined, if exception occurs early @@ -284,7 +285,7 @@ class WikiExporter { [ 'ORDER BY' => 'log_id', 'USE INDEX' => [ 'logging' => 'PRIMARY' ] ] ); $this->outputLogStream( $result ); - if ( $this->buffer == WikiExporter::STREAM ) { + if ( $this->buffer == self::STREAM ) { $this->db->bufferResults( $prev ); } } catch ( Exception $e ) { @@ -303,7 +304,7 @@ class WikiExporter { // Putting database back in previous buffer mode try { - if ( $this->buffer == WikiExporter::STREAM ) { + if ( $this->buffer == self::STREAM ) { $this->db->bufferResults( $prev ); } } catch ( Exception $e2 ) { @@ -341,10 +342,10 @@ class WikiExporter { if ( !empty( $this->history['limit'] ) ) { $opts['LIMIT'] = intval( $this->history['limit'] ); } - } elseif ( $this->history & WikiExporter::FULL ) { + } elseif ( $this->history & self::FULL ) { # Full history dumps... # query optimization for history stub dumps - if ( $this->text == WikiExporter::STUB && $orderRevs ) { + if ( $this->text == self::STUB && $orderRevs ) { $tables = [ 'revision', 'page' ]; $opts[] = 'STRAIGHT_JOIN'; $opts['ORDER BY'] = [ 'rev_page ASC', 'rev_id ASC' ]; @@ -353,13 +354,13 @@ class WikiExporter { } else { $join['revision'] = [ 'INNER JOIN', 'page_id=rev_page' ]; } - } elseif ( $this->history & WikiExporter::CURRENT ) { + } elseif ( $this->history & self::CURRENT ) { # Latest revision dumps... if ( $this->list_authors && $cond != '' ) { // List authors, if so desired $this->do_list_authors( $cond ); } $join['revision'] = [ 'INNER JOIN', 'page_id=rev_page AND page_latest=rev_id' ]; - } elseif ( $this->history & WikiExporter::STABLE ) { + } elseif ( $this->history & self::STABLE ) { # "Stable" revision dumps... # Default JOIN, to be overridden... $join['revision'] = [ 'INNER JOIN', 'page_id=rev_page AND page_latest=rev_id' ]; @@ -367,7 +368,7 @@ class WikiExporter { if ( Hooks::run( 'WikiExporter::dumpStableQuery', [ &$tables, &$opts, &$join ] ) ) { throw new MWException( __METHOD__ . " given invalid history dump type." ); } - } elseif ( $this->history & WikiExporter::RANGE ) { + } elseif ( $this->history & self::RANGE ) { # Dump of revisions within a specified range $join['revision'] = [ 'INNER JOIN', 'page_id=rev_page' ]; $opts['ORDER BY'] = [ 'rev_page ASC', 'rev_id ASC' ]; @@ -381,12 +382,12 @@ class WikiExporter { $opts['USE INDEX']['page'] = 'PRIMARY'; } # Build text join options - if ( $this->text != WikiExporter::STUB ) { // 1-pass + if ( $this->text != self::STUB ) { // 1-pass $tables[] = 'text'; $join['text'] = [ 'INNER JOIN', 'rev_text_id=old_id' ]; } - if ( $this->buffer == WikiExporter::STREAM ) { + if ( $this->buffer == self::STREAM ) { $prev = $this->db->bufferResults( false ); } $result = null; // Assuring $result is not undefined, if exception occurs early @@ -399,7 +400,7 @@ class WikiExporter { # Output dump results $this->outputPageStream( $result ); - if ( $this->buffer == WikiExporter::STREAM ) { + if ( $this->buffer == self::STREAM ) { $this->db->bufferResults( $prev ); } } catch ( Exception $e ) { @@ -418,7 +419,7 @@ class WikiExporter { // Putting database back in previous buffer mode try { - if ( $this->buffer == WikiExporter::STREAM ) { + if ( $this->buffer == self::STREAM ) { $this->db->bufferResults( $prev ); } } catch ( Exception $e2 ) {