Use `\sprintf()` to generate the HTML of smileys
authorAlexander Ebert <ebert@woltlab.com>
Fri, 28 Jul 2023 11:40:02 +0000 (13:40 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Fri, 28 Jul 2023 11:40:02 +0000 (13:40 +0200)
wcfsetup/install/files/lib/data/smiley/Smiley.class.php

index 1d72a31ed0d1625cca2364b9fa9e82e26274521b..dfd4ebdc01036b159d1e15e9a6b3ac37a0a5411d 100644 (file)
@@ -134,12 +134,16 @@ class Smiley extends DatabaseObject implements ITitledObject
         $srcset = ($this->smileyPath2x) ? ' srcset="' . StringUtil::encodeHTML($this->getURL2x()) . ' 2x"' : '';
         $height = ($this->getHeight()) ? ' height="' . $this->getHeight() . '"' : '';
         $width = ($this->getWidth()) ? ' width="' . $this->getWidth() . '"' : '';
-        if ($class !== '') {
-            $class = ' ' . $class;
-        }
-
-        $title = StringUtil::encodeHTML(WCF::getLanguage()->get($this->smileyTitle));
 
-        return '<img src="' . StringUtil::encodeHTML($this->getURL()) . '" alt="' . StringUtil::encodeHTML($this->smileyCode) . '" title="' . $title . '" class="smiley' . $class . '"' . $srcset . $height . $width . ' loading="eager">';
+        return \sprintf(
+            '<img src="%s" alt="%s" title="%s" class="%s" %s %s %s loading="eager">',
+            StringUtil::encodeHTML($this->getURL()),
+            StringUtil::encodeHTML($this->smileyCode),
+            StringUtil::encodeHTML(WCF::getLanguage()->get($this->smileyTitle)),
+            'smiley' . ($class ? " {$class}" : ''),
+            $srcset,
+            $height,
+            $width,
+        );
     }
 }