Merge pull request #16105 from nextcloud/backport/16088/stable16

[stable16] Allow apps to store longer messages in the comments API
This commit is contained in:
Roeland Jago Douma 2019-06-27 13:30:28 +02:00 committed by GitHub
commit 57bf23cdd7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 5 deletions

View file

@ -188,17 +188,18 @@ class Comment implements IComment {
* sets the message of the comment and returns itself
*
* @param string $message
* @param int $maxLength
* @return IComment
* @throws MessageTooLongException
* @since 9.0.0
*/
public function setMessage($message) {
public function setMessage($message, $maxLength = self::MAX_MESSAGE_LENGTH) {
if(!is_string($message)) {
throw new \InvalidArgumentException('String expected.');
}
$message = trim($message);
if(mb_strlen($message, 'UTF-8') > IComment::MAX_MESSAGE_LENGTH) {
throw new MessageTooLongException('Comment message must not exceed ' . IComment::MAX_MESSAGE_LENGTH . ' characters');
if ($maxLength && mb_strlen($message, 'UTF-8') > $maxLength) {
throw new MessageTooLongException('Comment message must not exceed ' . $maxLength. ' characters');
}
$this->data['message'] = $message;
return $this;

View file

@ -127,11 +127,12 @@ interface IComment {
* MessageTooLongException shall be thrown.
*
* @param string $message
* @param int $maxLength
* @return IComment
* @throws MessageTooLongException
* @since 9.0.0
* @since 9.0.0 - $maxLength added in 16.0.2
*/
public function setMessage($message);
public function setMessage($message, $maxLength = self::MAX_MESSAGE_LENGTH);
/**
* returns an array containing mentions that are included in the comment