Include the label id in `Label::render()`
authorAlexander Ebert <ebert@woltlab.com>
Wed, 20 Sep 2023 16:54:33 +0000 (18:54 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Sun, 8 Oct 2023 15:53:41 +0000 (17:53 +0200)
wcfsetup/install/files/lib/data/label/Label.class.php

index ebb5f89a0804169033eb13bf3a513c10e158c339..5821711d332ab7f279c278581a64fdc9dbf56c61 100644 (file)
@@ -60,10 +60,20 @@ class Label extends DatabaseObject implements IRouteController
      * @return      string
      * @since       5.3
      */
-    public function render($additionalClasses = '')
+    public function render($additionalClasses = ''): string
     {
-        return '<span class="badge label' . ($this->getClassNames() ? ' ' . $this->getClassNames() : '')
-            . ($additionalClasses ? ' ' . $additionalClasses : '') . '">'
-            . StringUtil::encodeHTML($this->getTitle()) . '</span>';
+        $classNames = 'badge label';
+        if ($this->getClassNames()) {
+            $classNames .= " {$this->getClassNames()}";
+        }
+        if ($additionalClasses) {
+            $classNames .= " {$additionalClasses}";
+        }
+        return \sprintf(
+            '<span class="%s" data-label-id="%d">%s</span>',
+            $classNames,
+            $this->labelID,
+            StringUtil::encodeHTML($this->getTitle()),
+        );
     }
 }