From d4d422d0ab2e767497578cfbbee5dc601be2c0e8 Mon Sep 17 00:00:00 2001
From: Andreas Fernandez <a.fernandez@scripting-base.de>
Date: Thu, 29 Oct 2015 15:15:42 +0100
Subject: [PATCH] [BUGFIX] Do not render empty help button

Currently, if EXT:cshmanual is not installed, an empty help button
gets rendered. This patch changes the return value of
BackendUtility::wrapInHelp() and checks for an empty string in
HelpButton.

Resolves: #71129
Releases: master
Change-Id: Ifec1b1b6f1289223fc2a453b88267fce4fb2c5a5
Reviewed-on: https://review.typo3.org/44355
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de>
---
 .../Template/Components/Buttons/Action/HelpButton.php      | 3 +++
 typo3/sysext/backend/Classes/Utility/BackendUtility.php    | 7 +++----
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/typo3/sysext/backend/Classes/Template/Components/Buttons/Action/HelpButton.php b/typo3/sysext/backend/Classes/Template/Components/Buttons/Action/HelpButton.php
index b5f322e261b2..0162a5208003 100644
--- a/typo3/sysext/backend/Classes/Template/Components/Buttons/Action/HelpButton.php
+++ b/typo3/sysext/backend/Classes/Template/Components/Buttons/Action/HelpButton.php
@@ -148,6 +148,9 @@ class HelpButton implements ButtonInterface, PositionInterface
     public function render()
     {
         $helpMarkup = BackendUtility::cshItem($this->moduleName, $this->fieldName);
+        if ($helpMarkup === '') {
+            return '';
+        }
         return '<span class="btn btn-sm btn-default">' . $helpMarkup . '</span>';
     }
 }
diff --git a/typo3/sysext/backend/Classes/Utility/BackendUtility.php b/typo3/sysext/backend/Classes/Utility/BackendUtility.php
index 1eba835d7290..7adeb9383b36 100755
--- a/typo3/sysext/backend/Classes/Utility/BackendUtility.php
+++ b/typo3/sysext/backend/Classes/Utility/BackendUtility.php
@@ -2847,11 +2847,10 @@ class BackendUtility
                     $wrappedText .= ' data-description="' . htmlspecialchars($overloadHelpText['description']) . '"';
                 }
             }
-        } else {
-            $wrappedText = '<span data-table="' . $table . '" data-field="' . $field . '"';
+            $wrappedText .= '>' . $text . '</span>';
+            return $wrappedText;
         }
-        $wrappedText .= '>' . $text . '</span>';
-        return $wrappedText;
+        return '';
     }
 
     /**
-- 
GitLab