diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2018-01-17 13:48:43 +0100 |
---|---|---|
committer | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2018-01-18 12:08:08 +0100 |
commit | 92bc33dd1e2eedd408add076a4f0a37257542951 (patch) | |
tree | dc2849b992c364eb7f6554482b5ef98ea2e91428 /lib/private | |
parent | 266c64069fb300d79f253a1bdd2e249e78330d50 (diff) | |
download | nextcloud-server-92bc33dd1e2eedd408add076a4f0a37257542951.tar.gz nextcloud-server-92bc33dd1e2eedd408add076a4f0a37257542951.zip |
Backport of format self-mentions, but don't offer them #7914
comments should compile mentions also if done by author
it is used by clients for formatting reasons, there is no reason not format
the author if her handle is included in the comment body.
It is unrelated to sending out notifications.
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
do not offer the handle of the current user for auto completion
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
add types to php doc
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'lib/private')
-rw-r--r-- | lib/private/Collaboration/Collaborators/Search.php | 9 | ||||
-rw-r--r-- | lib/private/Collaboration/Collaborators/UserPlugin.php | 11 | ||||
-rw-r--r-- | lib/private/Comments/Comment.php | 4 |
3 files changed, 20 insertions, 4 deletions
diff --git a/lib/private/Collaboration/Collaborators/Search.php b/lib/private/Collaboration/Collaborators/Search.php index e9b15dd1201..bb1bd6d1711 100644 --- a/lib/private/Collaboration/Collaborators/Search.php +++ b/lib/private/Collaboration/Collaborators/Search.php @@ -40,6 +40,15 @@ class Search implements ISearch { $this->c = $c; } + /** + * @param string $search + * @param array $shareTypes + * @param bool $lookup + * @param int|null $limit + * @param int|null $offset + * @return array + * @throws \OCP\AppFramework\QueryException + */ public function search($search, array $shareTypes, $lookup, $limit, $offset) { $hasMoreResults = false; diff --git a/lib/private/Collaboration/Collaborators/UserPlugin.php b/lib/private/Collaboration/Collaborators/UserPlugin.php index 86a55aa428f..ad677703547 100644 --- a/lib/private/Collaboration/Collaborators/UserPlugin.php +++ b/lib/private/Collaboration/Collaborators/UserPlugin.php @@ -83,6 +83,8 @@ class UserPlugin implements ISearchPlugin { } } + $this->takeOutCurrentUser($users); + if (!$this->shareeEnumeration || sizeof($users) < $limit) { $hasMoreResults = true; } @@ -146,4 +148,13 @@ class UserPlugin implements ISearchPlugin { return $hasMoreResults; } + + public function takeOutCurrentUser(array &$users) { + $currentUser = $this->userSession->getUser(); + if(!is_null($currentUser)) { + if (isset($users[$currentUser->getUID()])) { + unset($users[$currentUser->getUID()]); + } + } + } } diff --git a/lib/private/Comments/Comment.php b/lib/private/Comments/Comment.php index acfebd32028..dd790c2e50a 100644 --- a/lib/private/Comments/Comment.php +++ b/lib/private/Comments/Comment.php @@ -232,10 +232,6 @@ class Comment implements IComment { $uids = array_unique($mentions[0]); $result = []; foreach ($uids as $uid) { - // exclude author, no self-mentioning - if($uid === '@' . $this->getActorId()) { - continue; - } $result[] = ['type' => 'user', 'id' => substr($uid, 1)]; } return $result; |