Merge pull request #13819 from nextcloud/bugfix/noid/unify-html-encoding-handling-with-other-ros-apps

Unify the HTML encoding handling with other ROS apps
This commit is contained in:
Morris Jobke 2019-02-07 16:46:02 +01:00 committed by GitHub
commit 668b706f02
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 84 additions and 1 deletions

View file

@ -204,7 +204,6 @@ class Provider implements IProvider {
try {
$comment = $this->commentsManager->get((string) $commentId);
$message = $comment->getMessage();
$message = str_replace(['<', '>', "\n"], ['&lt;', '&gt;', '<br />'], $message);
$mentionCount = 1;
$mentions = [];

View file

@ -100,6 +100,17 @@ interface IEvent {
public function setSubject(string $subject, array $parameters = []): self;
/**
* Set a parsed subject
*
* HTML is not allowed in the parsed subject and will be escaped
* automatically by the clients. You can use the RichObjectString system
* provided by the Nextcloud server to highlight important parameters via
* the setRichSubject method, but make sure, that a plain text message is
* always set via setParsedSubject, to support clients which can not handle
* rich strings.
*
* See https://github.com/nextcloud/server/issues/1706 for more information.
*
* @param string $subject
* @return $this
* @throws \InvalidArgumentException if the subject is invalid
@ -114,6 +125,16 @@ interface IEvent {
public function getParsedSubject(): string;
/**
* Set a RichObjectString subject
*
* HTML is not allowed in the rich subject and will be escaped automatically
* by the clients, but you can use the RichObjectString system provided by
* the Nextcloud server to highlight important parameters.
* Also make sure, that a plain text subject is always set via
* setParsedSubject, to support clients which can not handle rich strings.
*
* See https://github.com/nextcloud/server/issues/1706 for more information.
*
* @param string $subject
* @param array $parameters
* @return $this
@ -146,6 +167,17 @@ interface IEvent {
public function setMessage(string $message, array $parameters = []): self;
/**
* Set a parsed message
*
* HTML is not allowed in the parsed message and will be escaped
* automatically by the clients. You can use the RichObjectString system
* provided by the Nextcloud server to highlight important parameters via
* the setRichMessage method, but make sure, that a plain text message is
* always set via setParsedMessage, to support clients which can not handle
* rich strings.
*
* See https://github.com/nextcloud/server/issues/1706 for more information.
*
* @param string $message
* @return $this
* @throws \InvalidArgumentException if the message is invalid
@ -160,6 +192,16 @@ interface IEvent {
public function getParsedMessage(): string;
/**
* Set a RichObjectString message
*
* HTML is not allowed in the rich message and will be escaped automatically
* by the clients, but you can use the RichObjectString system provided by
* the Nextcloud server to highlight important parameters.
* Also make sure, that a plain text message is always set via
* setParsedMessage, to support clients which can not handle rich strings.
*
* See https://github.com/nextcloud/server/issues/1706 for more information.
*
* @param string $message
* @param array $parameters
* @return $this

View file

@ -115,6 +115,17 @@ interface INotification {
public function getSubjectParameters();
/**
* Set a parsed subject
*
* HTML is not allowed in the parsed subject and will be escaped
* automatically by the clients. You can use the RichObjectString system
* provided by the Nextcloud server to highlight important parameters via
* the setRichSubject method, but make sure, that a plain text message is
* always set via setParsedSubject, to support clients which can not handle
* rich strings.
*
* See https://github.com/nextcloud/server/issues/1706 for more information.
*
* @param string $subject
* @return $this
* @throws \InvalidArgumentException if the subject is invalid
@ -129,6 +140,16 @@ interface INotification {
public function getParsedSubject();
/**
* Set a RichObjectString subject
*
* HTML is not allowed in the rich subject and will be escaped automatically
* by the clients, but you can use the RichObjectString system provided by
* the Nextcloud server to highlight important parameters.
* Also make sure, that a plain text subject is always set via
* setParsedSubject, to support clients which can not handle rich strings.
*
* See https://github.com/nextcloud/server/issues/1706 for more information.
*
* @param string $subject
* @param array $parameters
* @return $this
@ -171,6 +192,17 @@ interface INotification {
public function getMessageParameters();
/**
* Set a parsed message
*
* HTML is not allowed in the parsed message and will be escaped
* automatically by the clients. You can use the RichObjectString system
* provided by the Nextcloud server to highlight important parameters via
* the setRichMessage method, but make sure, that a plain text message is
* always set via setParsedMessage, to support clients which can not handle
* rich strings.
*
* See https://github.com/nextcloud/server/issues/1706 for more information.
*
* @param string $message
* @return $this
* @throws \InvalidArgumentException if the message is invalid
@ -185,6 +217,16 @@ interface INotification {
public function getParsedMessage();
/**
* Set a RichObjectString message
*
* HTML is not allowed in the rich message and will be escaped automatically
* by the clients, but you can use the RichObjectString system provided by
* the Nextcloud server to highlight important parameters.
* Also make sure, that a plain text message is always set via
* setParsedMessage, to support clients which can not handle rich strings.
*
* See https://github.com/nextcloud/server/issues/1706 for more information.
*
* @param string $message
* @param array $parameters
* @return $this