mirror of
https://github.com/nextcloud/server.git
synced 2026-04-21 14:23:17 -04:00
Allow rich object strings in messages as well
Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
parent
6d2d069c17
commit
2c0b5dee19
2 changed files with 74 additions and 0 deletions
|
|
@ -73,6 +73,12 @@ class Notification implements INotification {
|
|||
/** @var string */
|
||||
protected $messageParsed;
|
||||
|
||||
/** @var string */
|
||||
protected $messageRich;
|
||||
|
||||
/** @var array */
|
||||
protected $messageRichParameters;
|
||||
|
||||
/** @var string */
|
||||
protected $link;
|
||||
|
||||
|
|
@ -112,6 +118,8 @@ class Notification implements INotification {
|
|||
$this->message = '';
|
||||
$this->messageParameters = [];
|
||||
$this->messageParsed = '';
|
||||
$this->messageRich = '';
|
||||
$this->messageRichParameters = [];
|
||||
$this->link = '';
|
||||
$this->icon = '';
|
||||
$this->actions = [];
|
||||
|
|
@ -373,6 +381,43 @@ class Notification implements INotification {
|
|||
return $this->messageParsed;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $message
|
||||
* @param array $parameters
|
||||
* @return $this
|
||||
* @throws \InvalidArgumentException if the message or parameters are invalid
|
||||
* @since 9.2.0
|
||||
*/
|
||||
public function setRichMessage($message, array $parameters = []) {
|
||||
if (!is_string($message) || $message === '') {
|
||||
throw new \InvalidArgumentException('The given parsed message is invalid');
|
||||
}
|
||||
$this->messageRich = $message;
|
||||
|
||||
if (!is_array($parameters)) {
|
||||
throw new \InvalidArgumentException('The given message parameters are invalid');
|
||||
}
|
||||
$this->messageRichParameters = $parameters;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @since 9.2.0
|
||||
*/
|
||||
public function getRichMessage() {
|
||||
return $this->messageRich;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @since 9.2.0
|
||||
*/
|
||||
public function getRichMessageParameters() {
|
||||
return $this->messageRichParameters;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $link
|
||||
* @return $this
|
||||
|
|
@ -516,6 +561,14 @@ class Notification implements INotification {
|
|||
}
|
||||
}
|
||||
|
||||
if ($this->getRichMessage() !== '' || !empty($this->getRichMessageParameters())) {
|
||||
try {
|
||||
$this->richValidator->validate($this->getRichMessage(), $this->getRichMessageParameters());
|
||||
} catch (InvalidObjectExeption $e) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
$this->isValidCommon()
|
||||
&&
|
||||
|
|
|
|||
|
|
@ -183,6 +183,27 @@ interface INotification {
|
|||
*/
|
||||
public function getParsedMessage();
|
||||
|
||||
/**
|
||||
* @param string $message
|
||||
* @param array $parameters
|
||||
* @return $this
|
||||
* @throws \InvalidArgumentException if the message or parameters are invalid
|
||||
* @since 9.2.0
|
||||
*/
|
||||
public function setRichMessage($message, array $parameters = []);
|
||||
|
||||
/**
|
||||
* @return string
|
||||
* @since 9.2.0
|
||||
*/
|
||||
public function getRichMessage();
|
||||
|
||||
/**
|
||||
* @return array[]
|
||||
* @since 9.2.0
|
||||
*/
|
||||
public function getRichMessageParameters();
|
||||
|
||||
/**
|
||||
* @param string $link
|
||||
* @return $this
|
||||
|
|
|
|||
Loading…
Reference in a new issue