aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Contacts/ContactsMenu/Providers/EMailProvider.php
blob: c852fc90b9ecb17eaedb7cc0114b0f82ca1fe18a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
/**
 * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
 * SPDX-License-Identifier: AGPL-3.0-or-later
 */
namespace OC\Contacts\ContactsMenu\Providers;

use OCP\Contacts\ContactsMenu\IActionFactory;
use OCP\Contacts\ContactsMenu\IEntry;
use OCP\Contacts\ContactsMenu\IProvider;
use OCP\IURLGenerator;

class EMailProvider implements IProvider {
	public function __construct(
		private IActionFactory $actionFactory,
		private IURLGenerator $urlGenerator,
	) {
	}

	public function process(IEntry $entry): void {
		$iconUrl = $this->urlGenerator->getAbsoluteURL($this->urlGenerator->imagePath('core', 'actions/mail.svg'));
		foreach ($entry->getEMailAddresses() as $address) {
			if (empty($address)) {
				// Skip
				continue;
			}
			$action = $this->actionFactory->newEMailAction($iconUrl, $address, $address, 'email');
			$entry->addAction($action);
		}
	}
}