diff options
author | Morris Jobke <hey@morrisjobke.de> | 2016-10-17 09:30:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-10-17 09:30:47 +0200 |
commit | 96f8f209b9e899207a338eaa69b439e55f749ed5 (patch) | |
tree | 85d18ea0e4bed793c037a498aa684adca0441798 /lib/public | |
parent | 5b74b3ceafd17490ea7bef74051c70090f51b17e (diff) | |
parent | 70c7781aa8a1737b4c7ca8e935796b1ebc3d9f34 (diff) | |
download | nextcloud-server-96f8f209b9e899207a338eaa69b439e55f749ed5.tar.gz nextcloud-server-96f8f209b9e899207a338eaa69b439e55f749ed5.zip |
Merge pull request #1449 from nextcloud/comments-user-mention
Notifications for simple @-mentioning in comments
Diffstat (limited to 'lib/public')
-rw-r--r-- | lib/public/Comments/CommentsEvent.php | 7 | ||||
-rw-r--r-- | lib/public/Comments/ICommentsEventHandler.php | 39 | ||||
-rw-r--r-- | lib/public/Comments/ICommentsManager.php | 9 |
3 files changed, 52 insertions, 3 deletions
diff --git a/lib/public/Comments/CommentsEvent.php b/lib/public/Comments/CommentsEvent.php index a0bff349fb4..0d8a783c107 100644 --- a/lib/public/Comments/CommentsEvent.php +++ b/lib/public/Comments/CommentsEvent.php @@ -32,9 +32,10 @@ use Symfony\Component\EventDispatcher\Event; */ class CommentsEvent extends Event { - const EVENT_ADD = 'OCP\Comments\ICommentsManager::addComment'; - const EVENT_UPDATE = 'OCP\Comments\ICommentsManager::updateComment'; - const EVENT_DELETE = 'OCP\Comments\ICommentsManager::deleteComment'; + const EVENT_ADD = 'OCP\Comments\ICommentsManager::addComment'; + const EVENT_PRE_UPDATE = 'OCP\Comments\ICommentsManager::preUpdateComment'; + const EVENT_UPDATE = 'OCP\Comments\ICommentsManager::updateComment'; + const EVENT_DELETE = 'OCP\Comments\ICommentsManager::deleteComment'; /** @var string */ protected $event; diff --git a/lib/public/Comments/ICommentsEventHandler.php b/lib/public/Comments/ICommentsEventHandler.php new file mode 100644 index 00000000000..33524199012 --- /dev/null +++ b/lib/public/Comments/ICommentsEventHandler.php @@ -0,0 +1,39 @@ +<?php +/** + * @copyright Copyright (c) 2016 Arthur Schiwon <blizzz@arthur-schiwon.de> + * + * @author Arthur Schiwon <blizzz@arthur-schiwon.de> + * + * @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/>. + * + */ + +namespace OCP\Comments; + +/** + * Interface ICommentsEventHandler + * + * @package OCP\Comments + * @since 9.2.0 + */ +interface ICommentsEventHandler { + + /** + * @param CommentsEvent $event + * @since 9.2.0 + */ + public function handle(CommentsEvent $event); +} diff --git a/lib/public/Comments/ICommentsManager.php b/lib/public/Comments/ICommentsManager.php index f2edaaa5eaf..98169fb335f 100644 --- a/lib/public/Comments/ICommentsManager.php +++ b/lib/public/Comments/ICommentsManager.php @@ -237,4 +237,13 @@ interface ICommentsManager { */ public function deleteReadMarksOnObject($objectType, $objectId); + /** + * registers an Entity to the manager, so event notifications can be send + * to consumers of the comments infrastructure + * + * @param \Closure $closure + * @since 9.2.0 + */ + public function registerEventHandler(\Closure $closure); + } |