aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/Contacts
diff options
context:
space:
mode:
authorJohn Molakvoæ <skjnldsv@protonmail.com>2021-10-18 18:19:37 +0200
committerJohn Molakvoæ <skjnldsv@protonmail.com>2021-10-20 11:53:45 +0200
commit873e8e219cb7d9c0651260a3b4f138618a22f31e (patch)
treeda2ffc73b5c6f9255d60f84eb2cbe73a7cdefc60 /lib/private/Contacts
parent3ce3c0f117e7f5b02e55eb2c9aa0a1e7f7fe3508 (diff)
downloadnextcloud-server-873e8e219cb7d9c0651260a3b4f138618a22f31e.tar.gz
nextcloud-server-873e8e219cb7d9c0651260a3b4f138618a22f31e.zip
Add appName to contactsmenu action API
Signed-off-by: John Molakvoæ <skjnldsv@protonmail.com>
Diffstat (limited to 'lib/private/Contacts')
-rw-r--r--lib/private/Contacts/ContactsMenu/ActionFactory.php9
-rw-r--r--lib/private/Contacts/ContactsMenu/Actions/LinkAction.php20
2 files changed, 26 insertions, 3 deletions
diff --git a/lib/private/Contacts/ContactsMenu/ActionFactory.php b/lib/private/Contacts/ContactsMenu/ActionFactory.php
index 8e139f6486c..5218582802c 100644
--- a/lib/private/Contacts/ContactsMenu/ActionFactory.php
+++ b/lib/private/Contacts/ContactsMenu/ActionFactory.php
@@ -32,13 +32,15 @@ class ActionFactory implements IActionFactory {
* @param string $icon
* @param string $name
* @param string $href
+ * @param string $appName
* @return ILinkAction
*/
- public function newLinkAction($icon, $name, $href) {
+ public function newLinkAction(string $icon, string $name, string $href, string $appName = ''): ILinkAction {
$action = new LinkAction();
$action->setName($name);
$action->setIcon($icon);
$action->setHref($href);
+ $action->setAppName($appName);
return $action;
}
@@ -46,9 +48,10 @@ class ActionFactory implements IActionFactory {
* @param string $icon
* @param string $name
* @param string $email
+ * @param string $appName
* @return ILinkAction
*/
- public function newEMailAction($icon, $name, $email) {
- return $this->newLinkAction($icon, $name, 'mailto:' . $email);
+ public function newEMailAction(string $icon, string $name, string $email, string $appName = ''): ILinkAction {
+ return $this->newLinkAction($icon, $name, 'mailto:' . $email, $appName);
}
}
diff --git a/lib/private/Contacts/ContactsMenu/Actions/LinkAction.php b/lib/private/Contacts/ContactsMenu/Actions/LinkAction.php
index a50318903ac..a38bad9d82f 100644
--- a/lib/private/Contacts/ContactsMenu/Actions/LinkAction.php
+++ b/lib/private/Contacts/ContactsMenu/Actions/LinkAction.php
@@ -38,6 +38,9 @@ class LinkAction implements ILinkAction {
/** @var int */
private $priority = 10;
+ /** @var string */
+ private $appName;
+
/**
* @param string $icon absolute URI to an icon
*/
@@ -88,6 +91,22 @@ class LinkAction implements ILinkAction {
}
/**
+ * @param string $appName
+ * @since 23.0.0
+ */
+ public function setAppName(string $appName) {
+ $this->appName = $appName;
+ }
+
+ /**
+ * @return string
+ * @since 23.0.0
+ */
+ public function getAppName(): string {
+ return $this->appName;
+ }
+
+ /**
* @return array
*/
public function jsonSerialize() {
@@ -95,6 +114,7 @@ class LinkAction implements ILinkAction {
'title' => $this->name,
'icon' => $this->icon,
'hyperlink' => $this->href,
+ 'appName' => $this->appName,
];
}
}