41 'source' => $source->getPrefixedText(),
42 'target' => $target->getPrefixedText(),
44 'redirects' => $redirects,
46 'performer' => $performer->getName(),
49 return new self( $target, $params );
52 public function __construct( Title $title, array $params = [] ) {
53 parent::__construct(
'MoveTranslatableBundleJob', $title, $params );
54 $this->bundleMover = Services::getInstance()->getTranslatableBundleMover();
57 public function run() {
58 $sourceTitle = Title::newFromText( $this->params[
'source'] );
59 $targetTitle = Title::newFromText( $this->params[
'target'] );
61 $userFactory = MediaWikiServices::getInstance()->getUserFactory();
62 $performer = $userFactory->newFromName( $this->params[
'performer'] );
64 $this->bundleMover->moveSynchronously(
67 $this->params[
'moves'],
68 $this->params[
'redirects'] ?? [],
70 $this->params[
'summary']