]> source.dussan.org Git - nextcloud-server.git/commitdiff
Add a filter for comment activities
authorJoas Schilling <nickvergessen@owncloud.com>
Fri, 5 Feb 2016 10:25:26 +0000 (11:25 +0100)
committerJoas Schilling <nickvergessen@owncloud.com>
Fri, 5 Feb 2016 10:30:53 +0000 (11:30 +0100)
apps/comments/activity/extension.php

index 3a298a414a2bd710ee88c41192d4d8f35db018a3..b65f1911d17ffbc862d01ce7d701fffbb31e5659 100644 (file)
@@ -26,6 +26,7 @@ use OCP\Activity\IManager;
 use OCP\Comments\ICommentsManager;
 use OCP\Comments\NotFoundException;
 use OCP\IL10N;
+use OCP\IURLGenerator;
 use OCP\L10N\IFactory;
 
 /**
@@ -48,15 +49,20 @@ class Extension implements IExtension {
        /** @var ICommentsManager */
        protected $commentsManager;
 
+       /** @var IURLGenerator */
+       protected $URLGenerator;
+
        /**
         * @param IFactory $languageFactory
         * @param IManager $activityManager
         * @param ICommentsManager $commentsManager
+        * @param IURLGenerator $URLGenerator
         */
-       public function __construct(IFactory $languageFactory, IManager $activityManager, ICommentsManager $commentsManager) {
+       public function __construct(IFactory $languageFactory, IManager $activityManager, ICommentsManager $commentsManager, IURLGenerator $URLGenerator) {
                $this->languageFactory = $languageFactory;
                $this->activityManager = $activityManager;
                $this->commentsManager = $commentsManager;
+               $this->URLGenerator = $URLGenerator;
        }
 
        protected function getL10N($languageCode = null) {
@@ -214,7 +220,17 @@ class Extension implements IExtension {
         * @return array|false
         */
        public function getNavigation() {
-               return false;
+               $l = $this->getL10N();
+               return [
+                       'apps' => [],
+                       'top' => [
+                               self::APP_NAME => [
+                                       'id' => self::APP_NAME,
+                                       'name' => (string) $l->t('Comments'),
+                                       'url' => $this->URLGenerator->linkToRoute('activity.Activities.showList', ['filter' => self::APP_NAME]),
+                               ],
+                       ],
+               ];
        }
 
        /**
@@ -224,7 +240,7 @@ class Extension implements IExtension {
         * @return boolean
         */
        public function isFilterValid($filterValue) {
-               return false;
+               return $filterValue === self::APP_NAME;
        }
 
        /**
@@ -236,6 +252,9 @@ class Extension implements IExtension {
         * @return array|false
         */
        public function filterNotificationTypes($types, $filter) {
+               if ($filter === self::APP_NAME) {
+                       return array_intersect($types, [self::APP_NAME]);
+               }
                return false;
        }