diff options
Diffstat (limited to 'apps/comments/lib/Collaboration/CommentersSorter.php')
-rw-r--r-- | apps/comments/lib/Collaboration/CommentersSorter.php | 51 |
1 files changed, 14 insertions, 37 deletions
diff --git a/apps/comments/lib/Collaboration/CommentersSorter.php b/apps/comments/lib/Collaboration/CommentersSorter.php index 9fe0ed74fad..baa27155573 100644 --- a/apps/comments/lib/Collaboration/CommentersSorter.php +++ b/apps/comments/lib/Collaboration/CommentersSorter.php @@ -1,42 +1,21 @@ <?php + /** - * @copyright Copyright (c) 2017 Arthur Schiwon <blizzz@arthur-schiwon.de> - * - * @author Arthur Schiwon <blizzz@arthur-schiwon.de> - * @author Christoph Wurst <christoph@winzerhof-wurst.at> - * - * @license GNU AGPL version 3 or any later version - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * + * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later */ - namespace OCA\Comments\Collaboration; use OCP\Collaboration\AutoComplete\ISorter; use OCP\Comments\ICommentsManager; class CommentersSorter implements ISorter { - - /** @var ICommentsManager */ - private $commentsManager; - - public function __construct(ICommentsManager $commentsManager) { - $this->commentsManager = $commentsManager; + public function __construct( + private ICommentsManager $commentsManager, + ) { } - public function getId() { + public function getId(): string { return 'commenters'; } @@ -44,10 +23,10 @@ class CommentersSorter implements ISorter { * Sorts people who commented on the given item atop (descelating) of the * others * - * @param array $sortArray + * @param array &$sortArray * @param array $context */ - public function sort(array &$sortArray, array $context) { + public function sort(array &$sortArray, array $context): void { $commenters = $this->retrieveCommentsInformation($context['itemType'], $context['itemId']); if (count($commenters) === 0) { return; @@ -79,11 +58,9 @@ class CommentersSorter implements ISorter { } /** - * @param $type - * @param $id - * @return array + * @return array<string, array<string, int>> */ - protected function retrieveCommentsInformation($type, $id) { + protected function retrieveCommentsInformation(string $type, string $id): array { $comments = $this->commentsManager->getForObject($type, $id); if (count($comments) === 0) { return []; @@ -103,12 +80,12 @@ class CommentersSorter implements ISorter { return $actors; } - protected function compare(array $a, array $b, array $commenters) { + protected function compare(array $a, array $b, array $commenters): int { $a = $a['value']['shareWith']; $b = $b['value']['shareWith']; - $valueA = isset($commenters[$a]) ? $commenters[$a] : 0; - $valueB = isset($commenters[$b]) ? $commenters[$b] : 0; + $valueA = $commenters[$a] ?? 0; + $valueB = $commenters[$b] ?? 0; return $valueB - $valueA; } |