Werdna has uploaded a new change for review.
https://gerrit.wikimedia.org/r/134997
Change subject: Use dummy user to make taking-over revision
......................................................................
Use dummy user to make taking-over revision
Instead of using the user viewing the page, use a dummy username to add
the revision made when a page is taken over by flow.
Bug: 64344
Change-Id: I923623881431011aff6d3a3f01c2da56017e79de
---
M Hooks.php
M i18n/en.json
M i18n/qqq.json
M includes/TalkpageManager.php
4 files changed, 24 insertions(+), 4 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow
refs/changes/97/134997/1
diff --git a/Hooks.php b/Hooks.php
index 5d8f1ad..e3b41b3 100644
--- a/Hooks.php
+++ b/Hooks.php
@@ -393,7 +393,8 @@
/**
* Make sure no user can register a flow-*-usertext username, to avoid
* confusion with a real user when we print e.g. "Suppressed" instead
of a
- * username.
+ * username. Additionally reserve the username used to add a revision on
+ * taking over a page.
*
* @param array $names
* @return bool
@@ -403,8 +404,12 @@
foreach ( $permissions as $permission ) {
$names[] = "msg:flow-$permission-usertext";
}
+ $names[] = 'msg:flow-system-usertext';
- $names[] = "msg:flow-system-usertext";
+ // Reserve both the localized username and the English fallback
for the
+ // taking-over revision.
+ $names[] = 'msg:flow-talk-username';
+ $names[] = 'Flow talk page manager';
return true;
}
diff --git a/i18n/en.json b/i18n/en.json
index 5bb5c16..b4c2204 100644
--- a/i18n/en.json
+++ b/i18n/en.json
@@ -11,6 +11,7 @@
},
"flow-desc": "Workflow management system",
"flow-talk-taken-over": "This talk page has been taken over by a
[https://www.mediawiki.org/wiki/Special:MyLanguage/Flow_Portal Flow board].",
+ "flow-talk-username": "Flow talk page manager",
"log-name-flow": "Flow activity log",
"logentry-delete-flow-delete-post": "$1 {{GENDER:$2|deleted}} a [$4 post]
on [[$3]]",
"logentry-delete-flow-restore-post": "$1 {{GENDER:$2|restored}} a [$4
post] on [[$3]]",
diff --git a/i18n/qqq.json b/i18n/qqq.json
index 6dc71b6..c980d6c 100644
--- a/i18n/qqq.json
+++ b/i18n/qqq.json
@@ -13,6 +13,7 @@
},
"flow-desc":
"{{desc|name=Flow|url=http://www.mediawiki.org/wiki/Extension:Flow}}",
"flow-talk-taken-over": "Content to replace existing page content by
for pages that are turned into Flow boards.",
+ "flow-talk-username": "Username used for the revision added when Flow
takes over a talk page.",
"log-name-flow": "{{doc-logpage}}\nName of the Flow log filter on the
[[Special:Log]] page.",
"logentry-delete-flow-delete-post": "Text for a deletion log entry when
a post was deleted. Parameters:\n* $1 - the user: link to the user page\n* $2 -
the username. Can be used for GENDER.\n* $3 - the page where the post was
moderated\n* $4 - permalink URL to the moderated
post\n{{Related|Flow-logentry}}",
"logentry-delete-flow-restore-post": "Text for a deletion log entry
when a deleted post was restored. Parameters:\n* $1 - the user: link to the
user page\n* $2 - the username. Can be used for GENDER.\n* $3 - the page where
the post was moderated\n* $4 - permalink URL to the moderated
post\n{{Related|Flow-logentry}}",
diff --git a/includes/TalkpageManager.php b/includes/TalkpageManager.php
index d3b0ed6..62424b4 100644
--- a/includes/TalkpageManager.php
+++ b/includes/TalkpageManager.php
@@ -7,6 +7,7 @@
use ContentHandler;
use Revision;
use Title;
+use User;
// I got the feeling NinetyNinePercentController was a bit much.
interface OccupationController {
@@ -64,17 +65,29 @@
throw new InvalidInputException( 'Requested article is
not Flow enabled', 'invalid-input' );
}
- // comment to add to the Revision to indicate Flow taking over
+ // Comment to add to the Revision to indicate Flow taking over
$comment = '/* Taken over by Flow */';
$page = $article->getPage();
$revision = $page->getRevision();
- // make sure a Flow revision has not yet been inserted
+ // Add a revision only if a Flow revision has not yet been
inserted.
if ( $revision === null || $revision->getComment( Revision::RAW
) != $comment ) {
$message = wfMessage( 'flow-talk-taken-over'
)->inContentLanguage()->text();
$content = ContentHandler::makeContent( $message,
$title );
$page->doEditContent( $content, $comment,
EDIT_FORCE_BOT | EDIT_SUPPRESS_RC );
+
+ $user = User::newFromName(
+ wfMessage( 'flow-talk-username'
)->inContentLanguage()->text()
+ );
+ // Use the English fallback if the localized username
is invalid or if a user
+ // with the name exists.
+ if ( $user === false || $user->getId() !== 0 ) {
+ $user = User::newFromName( 'Flow talk page
manager', false );
+ }
+
+ $page->doEditContent( $content, $comment,
EDIT_FORCE_BOT | EDIT_SUPPRESS_RC,
+ false, $user );
}
}
}
--
To view, visit https://gerrit.wikimedia.org/r/134997
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I923623881431011aff6d3a3f01c2da56017e79de
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: frontend-rewrite
Gerrit-Owner: Werdna <[email protected]>
Gerrit-Reviewer: Wctaiwan <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits