'Exif' => __DIR__ . '/includes/media/Exif.php',
'ExifBitmapHandler' => __DIR__ . '/includes/media/ExifBitmap.php',
'ExplodeIterator' => __DIR__ . '/includes/libs/ExplodeIterator.php',
- 'ExportProgressFilter' => __DIR__ . '/maintenance/backup.inc',
+ 'ExportProgressFilter' => __DIR__ . '/includes/export/ExportProgressFilter.php',
'ExportSites' => __DIR__ . '/maintenance/exportSites.php',
'ExtensionJsonValidationError' => __DIR__ . '/includes/registration/ExtensionJsonValidationError.php',
'ExtensionJsonValidator' => __DIR__ . '/includes/registration/ExtensionJsonValidator.php',
--- /dev/null
+<?php
+/**
+ * Copyright © 2005 Brion Vibber <brion@pobox.com>
+ * https://www.mediawiki.org/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * @ingroup Dump
+ */
+class ExportProgressFilter extends DumpFilter {
+ /**
+ * @var BackupDumper
+ */
+ private $progress;
+
+ function __construct( &$sink, &$progress ) {
+ parent::__construct( $sink );
+ $this->progress = $progress;
+ }
+
+ function writeClosePage( $string ) {
+ parent::writeClosePage( $string );
+ $this->progress->reportPage();
+ }
+
+ function writeRevision( $rev, $string ) {
+ parent::writeRevision( $rev, $string );
+ $this->progress->revCount();
+ }
+}
);
}
- public function isStructuredFilterUiEnabledByDefault() {
- return $this->getConfig()->get( 'StructuredChangeFiltersOnWatchlist' ) &&
- $this->getUser()->getDefaultOption( 'rcenhancedfilters' );
- }
-
/**
* Return an array of subpages that this special page will accept.
*
*/
require_once __DIR__ . '/Maintenance.php';
-require_once __DIR__ . '/../includes/export/DumpFilter.php';
use Wikimedia\Rdbms\LoadBalancer;
use Wikimedia\Rdbms\IDatabase;
}
}
}
-
-class ExportProgressFilter extends DumpFilter {
- function __construct( &$sink, &$progress ) {
- parent::__construct( $sink );
- $this->progress = $progress;
- }
-
- function writeClosePage( $string ) {
- parent::writeClosePage( $string );
- $this->progress->reportPage();
- }
-
- function writeRevision( $rev, $string ) {
- parent::writeRevision( $rev, $string );
- $this->progress->revCount();
- }
-}
}
// target in path
- parts = uri.path.match( re );
+ parts = mw.Uri.decode( uri.path ).match( re );
if ( parts ) {
uri.path = parts[ 1 ];
uri.query.target = parts[ 2 ];
* Respond to the model being updated
*/
mw.rcfilters.ui.RclTargetPageWidget.prototype.updateUiBasedOnModel = function () {
- this.titleSearch.setValue( this.model.getValue() );
+ var title = mw.Title.newFromText( this.model.getValue() );
+ this.titleSearch.setValue( title ? title.toText() : this.model.getValue() );
};
}( mediaWiki ) );
output: 'http://host/wiki/Special:RecentChangesLinked?target=Moai',
message: 'Target as subpage in path'
},
+ {
+ input: 'http://host/wiki/Special:RecentChangesLinked/Château',
+ output: 'http://host/wiki/Special:RecentChangesLinked?target=Château',
+ message: 'Target as subpage in path with special characters'
+ },
{
input: 'http://host/wiki/Special:RecentChangesLinked/Moai/Sub1',
output: 'http://host/wiki/Special:RecentChangesLinked?target=Moai/Sub1',