Support guest users in UserFunctionTemplatePlugin
authorMarcel Werk <burntime@woltlab.com>
Fri, 12 Feb 2021 12:35:03 +0000 (13:35 +0100)
committerMarcel Werk <burntime@woltlab.com>
Fri, 12 Feb 2021 12:35:03 +0000 (13:35 +0100)
Closes #3989

wcfsetup/install/files/lib/system/template/plugin/UserFunctionTemplatePlugin.class.php

index 3b5c4f8b9876221f3dab084f3411753c69115c12..dc9b42ef3fafd6774e29fc32729a7b3fca4cd020 100644 (file)
@@ -74,12 +74,14 @@ class UserFunctionTemplatePlugin implements IFunctionTemplatePlugin
 
         // default case
         if ($content === '') {
-            $additionalParameters = ' data-object-id="' . $object->getObjectID() . '"';
             $content = $object->getFormattedUsername();
-            if (isset($tagArgs['class'])) {
-                $tagArgs['class'] = 'userLink ' . $tagArgs['class'];
-            } else {
-                $tagArgs['class'] = 'userLink';
+            if ($object->getObjectID()) {
+                $additionalParameters = ' data-object-id="' . $object->getObjectID() . '"';
+                if (isset($tagArgs['class'])) {
+                    $tagArgs['class'] = 'userLink ' . $tagArgs['class'];
+                } else {
+                    $tagArgs['class'] = 'userLink';
+                }
             }
         }
 
@@ -102,6 +104,10 @@ class UserFunctionTemplatePlugin implements IFunctionTemplatePlugin
                 . '="' . StringUtil::encodeHTML($value) . '"';
         }
 
+        if (!$object->getObjectID()) {
+            return '<span' . $additionalParameters . '>' . $content . '</span>';
+        }
+
         return '<a href="' . StringUtil::encodeHTML($object->getLink() . $append) . '"' . $additionalParameters . '>' . $content . '</a>';
     }
 }