tags = $tags; foreach ($this->tags as $tag) { $this->canAssignTagMap[$tag->getId()] = $tagManager->canUserAssignTag($tag, $user); } } /** * @return ISystemTag[] */ public function getTags(): array { return $this->tags; } public static function xmlDeserialize(Reader $reader): void { // unsupported/unused } public function xmlSerialize(Writer $writer): void { foreach ($this->tags as $tag) { $writer->startElement('{' . self::NS_NEXTCLOUD . '}system-tag'); $writer->writeAttributes([ SystemTagPlugin::CANASSIGN_PROPERTYNAME => $this->canAssignTagMap[$tag->getId()] ? 'true' : 'false', SystemTagPlugin::ID_PROPERTYNAME => $tag->getId(), SystemTagPlugin::USERASSIGNABLE_PROPERTYNAME => $tag->isUserAssignable() ? 'true' : 'false', SystemTagPlugin::USERVISIBLE_PROPERTYNAME => $tag->isUserVisible() ? 'true' : 'false', SystemTagPlugin::COLOR_PROPERTYNAME => $tag->getColor() ?? '', ]); $writer->write($tag->getName()); $writer->endElement(); } } }