Skip to content

Commit 424937f

Browse files
committed
fix(SystemTagManager): Use truncated tagName in getTag and updateTag
Signed-off-by: Marcel Klehr <mklehr@gmx.net>
1 parent 582e655 commit 424937f

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

lib/private/SystemTag/SystemTagManager.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,8 +177,10 @@ public function getAllTags($visibilityFilter = null, $nameSearchPattern = null):
177177
* {@inheritdoc}
178178
*/
179179
public function getTag(string $tagName, bool $userVisible, bool $userAssignable): ISystemTag {
180+
// Length of name column is 64
181+
$truncatedTagName = substr($tagName, 0, 64);
180182
$result = $this->selectTagQuery
181-
->setParameter('name', $tagName)
183+
->setParameter('name', $truncatedTagName)
182184
->setParameter('visibility', $userVisible ? 1 : 0)
183185
->setParameter('editable', $userAssignable ? 1 : 0)
184186
->execute();
@@ -187,7 +189,7 @@ public function getTag(string $tagName, bool $userVisible, bool $userAssignable)
187189
$result->closeCursor();
188190
if (!$row) {
189191
throw new TagNotFoundException(
190-
'Tag ("' . $tagName . '", '. $userVisible . ', ' . $userAssignable . ') does not exist'
192+
'Tag ("' . $truncatedTagName . '", '. $userVisible . ', ' . $userAssignable . ') does not exist'
191193
);
192194
}
193195

@@ -247,9 +249,11 @@ public function updateTag(string $tagId, string $newName, bool $userVisible, boo
247249
}
248250

249251
$beforeUpdate = array_shift($tags);
252+
// Length of name column is 64
253+
$truncatedNewName = substr($newName, 0, 64);
250254
$afterUpdate = new SystemTag(
251255
$tagId,
252-
$newName,
256+
$truncatedNewName,
253257
$userVisible,
254258
$userAssignable
255259
);
@@ -260,7 +264,7 @@ public function updateTag(string $tagId, string $newName, bool $userVisible, boo
260264
->set('visibility', $query->createParameter('visibility'))
261265
->set('editable', $query->createParameter('editable'))
262266
->where($query->expr()->eq('id', $query->createParameter('tagid')))
263-
->setParameter('name', $newName)
267+
->setParameter('name', $truncatedNewName)
264268
->setParameter('visibility', $userVisible ? 1 : 0)
265269
->setParameter('editable', $userAssignable ? 1 : 0)
266270
->setParameter('tagid', $tagId);

0 commit comments

Comments
 (0)