$manager = \OC::$server->getNotificationManager();
$manager->registerNotifier(function() {
- return new Notifier(
- \OC::$server->getL10NFactory(),
- \OC::$server->getContactsManager()
- );
+ return \OC::$server->query(Notifier::class);
}, function() use ($l) {
return [
'id' => 'files_sharing',
use OC\HintException;
use OC\Share\Helper;
use OCP\Contacts\IManager;
+use OCP\IURLGenerator;
use OCP\L10N\IFactory;
use OCP\Notification\INotification;
use OCP\Notification\INotifier;
protected $factory;
/** @var IManager */
protected $contactsManager;
+ /** @var IURLGenerator */
+ protected $url;
/** @var array */
protected $federatedContacts;
/**
* @param IFactory $factory
* @param IManager $contactsManager
+ * @param IURLGenerator $url
*/
- public function __construct(IFactory $factory, IManager $contactsManager) {
+ public function __construct(IFactory $factory, IManager $contactsManager, IURLGenerator $url) {
$this->factory = $factory;
$this->contactsManager = $contactsManager;
+ $this->url = $url;
}
/**
switch ($notification->getSubject()) {
// Deal with known subjects
case 'remote_share':
+ $notification->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
+
$params = $notification->getSubjectParameters();
if ($params[0] !== $params[1] && $params[1] !== null) {
$notification->setParsedSubject(