diff --git a/lib/private/activitymanager.php b/lib/private/activitymanager.php index ee7059d492..24acb5d5f6 100644 --- a/lib/private/activitymanager.php +++ b/lib/private/activitymanager.php @@ -121,28 +121,6 @@ class ActivityManager implements IManager { return $notificationTypes; } - /** - * @param array $types - * @param string $filter - * @return array - */ - function filterNotificationTypes($types, $filter) { - if (!$this->isFilterValid($filter)) { - return $types; - } - - foreach($this->extensions as $extension) { - $c = $extension(); - if ($c instanceof IExtension) { - $result = $c->filterNotificationTypes($types, $filter); - if (is_array($result)) { - $types = $result; - } - } - } - return $types; - } - /** * @param string $method * @return array @@ -161,6 +139,30 @@ class ActivityManager implements IManager { return $defaultTypes; } + /** + * @param string $type + * @return string + */ + function getTypeIcon($type) { + if (isset($this->typeIcons[$type])) { + return $this->typeIcons[$type]; + } + + foreach($this->extensions as $extension) { + $c = $extension(); + if ($c instanceof IExtension) { + $icon = $c->getTypeIcon($type); + if (is_string($icon)) { + $this->typeIcons[$type] = $icon; + return $icon; + } + } + } + + $this->typeIcons[$type] = ''; + return ''; + } + /** * @param string $app * @param string $text @@ -213,30 +215,6 @@ class ActivityManager implements IManager { return false; } - /** - * @param string $type - * @return string - */ - function getTypeIcon($type) { - if (isset($this->typeIcons[$type])) { - return $this->typeIcons[$type]; - } - - foreach($this->extensions as $extension) { - $c = $extension(); - if ($c instanceof IExtension) { - $icon = $c->getTypeIcon($type); - if (is_string($icon)) { - $this->typeIcons[$type] = $icon; - return $icon; - } - } - } - - $this->typeIcons[$type] = ''; - return ''; - } - /** * @param array $activity * @return integer|false @@ -300,6 +278,28 @@ class ActivityManager implements IManager { return false; } + /** + * @param array $types + * @param string $filter + * @return array + */ + function filterNotificationTypes($types, $filter) { + if (!$this->isFilterValid($filter)) { + return $types; + } + + foreach($this->extensions as $extension) { + $c = $extension(); + if ($c instanceof IExtension) { + $result = $c->filterNotificationTypes($types, $filter); + if (is_array($result)) { + $types = $result; + } + } + } + return $types; + } + /** * @param string $filter * @return array diff --git a/lib/public/activity/iextension.php b/lib/public/activity/iextension.php index 1b405ad8d3..0f6c3c5f8a 100644 --- a/lib/public/activity/iextension.php +++ b/lib/public/activity/iextension.php @@ -46,16 +46,6 @@ interface IExtension { */ public function getNotificationTypes($languageCode); - /** - * The extension can filter the types based on the filter if required. - * In case no filter is to be applied false is to be returned unchanged. - * - * @param array $types - * @param string $filter - * @return array|false - */ - public function filterNotificationTypes($types, $filter); - /** * For a given method additional types to be displayed in the settings can be returned. * In case no additional types are to be added false is to be returned. @@ -65,6 +55,15 @@ interface IExtension { */ public function getDefaultTypes($method); + /** + * A string naming the css class for the icon to be used can be returned. + * If no icon is known for the given type false is to be returned. + * + * @param string $type + * @return string|false + */ + public function getTypeIcon($type); + /** * The extension can translate a given message to the requested languages. * If no translation is available false is to be returned. @@ -92,15 +91,6 @@ interface IExtension { */ function getSpecialParameterList($app, $text); - /** - * A string naming the css class for the icon to be used can be returned. - * If no icon is known for the given type false is to be returned. - * - * @param string $type - * @return string|false - */ - public function getTypeIcon($type); - /** * The extension can define the parameter grouping by returning the index as integer. * In case no grouping is required false is to be returned. @@ -127,6 +117,16 @@ interface IExtension { */ public function isFilterValid($filterValue); + /** + * The extension can filter the types based on the filter if required. + * In case no filter is to be applied false is to be returned unchanged. + * + * @param array $types + * @param string $filter + * @return array|false + */ + public function filterNotificationTypes($types, $filter); + /** * For a given filter the extension can specify the sql query conditions including parameters for that query. * In case the extension does not know the filter false is to be returned. diff --git a/lib/public/activity/imanager.php b/lib/public/activity/imanager.php index a08670be4b..4a07e6912b 100644 --- a/lib/public/activity/imanager.php +++ b/lib/public/activity/imanager.php @@ -75,19 +75,18 @@ interface IManager { */ function getNotificationTypes($languageCode); - /** - * @param array $types - * @param string $filter - * @return array - */ - function filterNotificationTypes($types, $filter); - /** * @param string $method * @return array */ function getDefaultTypes($method); + /** + * @param string $type + * @return string + */ + function getTypeIcon($type); + /** * @param string $app * @param string $text @@ -106,12 +105,6 @@ interface IManager { */ function getSpecialParameterList($app, $text); - /** - * @param string $type - * @return string - */ - function getTypeIcon($type); - /** * @param array $activity * @return integer|false @@ -129,6 +122,13 @@ interface IManager { */ function isFilterValid($filterValue); + /** + * @param array $types + * @param string $filter + * @return array + */ + function filterNotificationTypes($types, $filter); + /** * @param string $filter * @return array