52 $groups = MessageGroups::getAllGroups();
55 foreach ( $groups as $g ) {
56 $states = $g->getMessageGroupStates()->getStates();
57 if ( $states !==
null ) {
58 foreach ( $states as $state => $_ ) {
59 $keys[
"Translate-workflow-state-$state"] = $state;
68 $defs = Utilities::getContents( array_keys( $keys ), $this->
getNamespace() );
69 $wikiPageFactory = MediaWikiServices::getInstance()->getWikiPageFactory();
70 foreach ( $keys as $key => $state ) {
71 if ( !isset( $defs[$key] ) ) {
73 $title = Title::makeTitleSafe( $this->
getNamespace(), $key );
74 $page = $wikiPageFactory->newFromTitle( $title );
75 $content = ContentHandler::makeContent( $state, $title );
76 $fuzzyBotUser = FuzzyBot::getUser();
78 $updater = $page->newPageUpdater( $fuzzyBotUser )
79 ->setContent( SlotRecord::MAIN, $content );
80 if ( $fuzzyBotUser->authorizeWrite(
'autopatrol', $title ) ) {
81 $updater->setRcPatrolStatus( RecentChange::PRC_AUTOPATROLLED );
84 $summary = wfMessage(
'translate-workflow-autocreated-summary', $state )->inContentLanguage()->text();
85 $updater->saveRevision(
86 CommentStoreComment::newUnsavedComment( $summary ),
92 [ $content, ] = $defs[$key];
93 $keys[$key] = $content;