Bsitu has uploaded a new change for review.
https://gerrit.wikimedia.org/r/53623
Change subject: (bug 46051) mentioned users should not be as object in database
......................................................................
(bug 46051) mentioned users should not be as object in database
Change-Id: Id96ade333d8150fdc357db47cba9a609f9e7e108
---
M Hooks.php
M includes/DiscussionParser.php
2 files changed, 15 insertions(+), 2 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Echo
refs/changes/23/53623/1
diff --git a/Hooks.php b/Hooks.php
index ef3ebc9..75bcf87 100644
--- a/Hooks.php
+++ b/Hooks.php
@@ -191,7 +191,14 @@
break;
case 'mention':
$extraData = $event->getExtra();
- $users += $extraData['mentioned-users'];
+ foreach ( $extraData['mentioned-users'] as
$userId ) {
+ //backward compatibility
+ if ( $userId instanceof User ) {
+ $users[$userId->getID()] =
$userId;
+ } else {
+ $users[$userId] =
User::newFromId( $userId );
+ }
+ }
break;
}
diff --git a/includes/DiscussionParser.php b/includes/DiscussionParser.php
index 6289c75..740ea2e 100644
--- a/includes/DiscussionParser.php
+++ b/includes/DiscussionParser.php
@@ -104,6 +104,7 @@
$output = self::parseNonEditWikitext( $content, new Article(
$title ) );
$links = $output->getLinks();
$mentionedUsers = array();
+ $count = 0;
foreach ( $links[NS_USER] as $dbk => $page_id ) {
$user = User::newFromName( $dbk );
@@ -117,7 +118,12 @@
) {
continue;
}
- $mentionedUsers[$user->getId()] = $user;
+ $mentionedUsers[$user->getId()] = $user->getId();
+ $count++;
+ // This is an unbounded list, put a cap on the
allowable mentioned user list
+ if ( $count > 300 ) {
+ break;
+ }
}
if ( !$mentionedUsers ) {
--
To view, visit https://gerrit.wikimedia.org/r/53623
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Id96ade333d8150fdc357db47cba9a609f9e7e108
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Echo
Gerrit-Branch: master
Gerrit-Owner: Bsitu <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits