[TASK] Remove second parameter of sL - Part 2/3
[Packages/TYPO3.CMS.git] / typo3 / sysext / backend / Classes / Utility / BackendUtility.php
index 44cb0e2..5150d2b 100755 (executable)
@@ -23,7 +23,6 @@ use TYPO3\CMS\Core\Database\PreparedStatement;
 use TYPO3\CMS\Core\Database\RelationHandler;
 use TYPO3\CMS\Core\Imaging\Icon;
 use TYPO3\CMS\Core\Imaging\IconFactory;
-use TYPO3\CMS\Core\Messaging\FlashMessage;
 use TYPO3\CMS\Core\Resource\AbstractFile;
 use TYPO3\CMS\Core\Resource\Exception\ResourceDoesNotExistException;
 use TYPO3\CMS\Core\Resource\File;
@@ -31,7 +30,6 @@ use TYPO3\CMS\Core\Resource\ProcessedFile;
 use TYPO3\CMS\Core\Resource\ResourceFactory;
 use TYPO3\CMS\Core\TypoScript\Parser\TypoScriptParser;
 use TYPO3\CMS\Core\Utility\ArrayUtility;
-use TYPO3\CMS\Core\Utility\DeprecationUtility;
 use TYPO3\CMS\Core\Utility\ExtensionManagementUtility;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Core\Utility\HttpUtility;
@@ -236,7 +234,7 @@ class BackendUtility
      */
     public static function getSQLselectableList($in_list, $tablename, $default_tablename)
     {
-        DeprecationUtility::logFunction();
+        GeneralUtility::logDeprecatedFunction();
         $list = array();
         if ((string)trim($in_list) != '') {
             $tempItemArray = explode(',', trim($in_list));
@@ -850,7 +848,7 @@ class BackendUtility
             if (substr($ds_array[$srcPointer], 0, 5) == 'FILE:') {
                 $file = GeneralUtility::getFileAbsFileName(substr($ds_array[$srcPointer], 5));
                 if ($file && @is_file($file)) {
-                    $dataStructArray = GeneralUtility::xml2array(GeneralUtility::getUrl($file));
+                    $dataStructArray = GeneralUtility::xml2array(file_get_contents($file));
                 } else {
                     $dataStructArray = 'The file "' . substr($ds_array[$srcPointer], 5) . '" in ds-array key "' . $srcPointer . '" was not found ("' . $file . '")';
                 }
@@ -903,7 +901,7 @@ class BackendUtility
                         if (strpos($dataStructRec[$fName], '<') === false) {
                             if (is_file(PATH_site . $dataStructRec[$fName])) {
                                 // The value is a pointer to a file
-                                $dataStructArray = GeneralUtility::xml2array(GeneralUtility::getUrl(PATH_site . $dataStructRec[$fName]));
+                                $dataStructArray = GeneralUtility::xml2array(file_get_contents(PATH_site . $dataStructRec[$fName]));
                             } else {
                                 $dataStructArray = sprintf('File \'%s\' was not found', $dataStructRec[$fName]);
                             }
@@ -918,7 +916,7 @@ class BackendUtility
                     // Otherwise expect it to be a file:
                     $file = GeneralUtility::getFileAbsFileName($srcPointer);
                     if ($file && @is_file($file)) {
-                        $dataStructArray = GeneralUtility::xml2array(GeneralUtility::getUrl($file));
+                        $dataStructArray = GeneralUtility::xml2array(file_get_contents($file));
                     } else {
                         // Error message.
                         $dataStructArray = 'The file "' . $srcPointer . '" was not found ("' . $file . '")';
@@ -1045,7 +1043,7 @@ class BackendUtility
                                 $includeTsConfigFileAndPath = ExtensionManagementUtility::extPath($includeTsConfigFileExtensionKey) .
                                     $includeTsConfigFilename;
                                 if (file_exists($includeTsConfigFileAndPath)) {
-                                    $TSdataArray['uid_' . $v['uid'] . '_static_' . $key] = GeneralUtility::getUrl($includeTsConfigFileAndPath);
+                                    $TSdataArray['uid_' . $v['uid'] . '_static_' . $key] = file_get_contents($includeTsConfigFileAndPath);
                                 }
                             }
                         }
@@ -1342,7 +1340,7 @@ class BackendUtility
         }
         $label = static::getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:labels.minutesHoursDaysYears');
         $age = ' (' . self::calcAge($prefix * ($GLOBALS['EXEC_TIME'] - $tstamp), $label) . ')';
-        return $date === 'date' ? self::date($tstamp) : self::datetime($tstamp) . $age;
+        return ($date === 'date' ? self::date($tstamp) : self::datetime($tstamp)) . $age;
     }
 
     /**
@@ -1354,7 +1352,7 @@ class BackendUtility
      */
     public static function titleAltAttrib($content)
     {
-        DeprecationUtility::logFunction();
+        GeneralUtility::logDeprecatedFunction();
         $out = '';
         $out .= ' alt="' . htmlspecialchars($content) . '"';
         $out .= ' title="' . htmlspecialchars($content) . '"';
@@ -1444,11 +1442,16 @@ class BackendUtility
         $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
         if ($fileReferences !== null) {
             foreach ($fileReferences as $fileReferenceObject) {
+                // Do not show previews of hidden references
+                if ($fileReferenceObject->getProperty('hidden')) {
+                    continue;
+                }
                 $fileObject = $fileReferenceObject->getOriginalFile();
 
                 if ($fileObject->isMissing()) {
-                    $flashMessage = \TYPO3\CMS\Core\Resource\Utility\BackendUtility::getFlashMessageForMissingFile($fileObject);
-                    $thumbData .= $flashMessage->render();
+                    $thumbData .= '<span class="label label-danger">'
+                        . htmlspecialchars(static::getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:warning.file_missing'))
+                        . '</span>&nbsp;' . htmlspecialchars($fileObject->getName()) . '<br />';
                     continue;
                 }
 
@@ -1469,7 +1472,7 @@ class BackendUtility
                     $imgTag = '<span title="' . htmlspecialchars($fileObject->getName()) . '">' . $iconFactory->getIconForResource($fileObject, Icon::SIZE_SMALL)->render() . '</span>';
                 }
                 if ($linkInfoPopup) {
-                    $onClick = 'top.launchView(\'_FILE\',\'' . (int)$fileObject->getUid() . '\',' . GeneralUtility::quoteJSvalue($backPath) . '); return false;';
+                    $onClick = 'top.launchView(\'_FILE\',\'' . (int)$fileObject->getUid() . '\'); return false;';
                     $thumbData .= '<a href="#" onclick="' . htmlspecialchars($onClick) . '">' . $imgTag . '</a> ';
                 } else {
                     $thumbData .= $imgTag;
@@ -1497,18 +1500,15 @@ class BackendUtility
                             continue;
                         }
                         if ($fileObject->isMissing()) {
-                            $flashMessage = \TYPO3\CMS\Core\Resource\Utility\BackendUtility::getFlashMessageForMissingFile($fileObject);
-                            $thumbData .= $flashMessage->render();
+                            $thumbData .= '<span class="label label-danger">'
+                                . htmlspecialchars(static::getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:warning.file_missing'))
+                                . '</span>&nbsp;' . htmlspecialchars($fileObject->getName()) . '<br />';
                             continue;
                         }
                     } catch (ResourceDoesNotExistException $exception) {
-                        /** @var FlashMessage $flashMessage */
-                        $flashMessage = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Messaging\FlashMessage::class,
-                            htmlspecialchars($exception->getMessage()),
-                            static::getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:warning.file_missing', true),
-                            FlashMessage::ERROR
-                        );
-                        $thumbData .= $flashMessage->render();
+                        $thumbData .= '<span class="label label-danger">'
+                            . htmlspecialchars(static::getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:warning.file_missing'))
+                            . '</span>&nbsp;' . htmlspecialchars($fileName) . '<br />';
                         continue;
                     }
 
@@ -1520,7 +1520,7 @@ class BackendUtility
                         ))->getPublicUrl(true);
                         $image = '<img src="' . htmlspecialchars($imageUrl) . '" hspace="2" border="0" title="' . htmlspecialchars($fileObject->getName()) . '"' . $tparams . ' alt="" />';
                         if ($linkInfoPopup) {
-                            $onClick = 'top.launchView(\'_FILE\', ' . GeneralUtility::quoteJSvalue($fileName) . ',\'\',' . GeneralUtility::quoteJSvalue($backPath) . ');return false;';
+                            $onClick = 'top.launchView(\'_FILE\', ' . GeneralUtility::quoteJSvalue($fileName) . ',\'\');return false;';
                             $thumbData .= '<a href="#" onclick="' . htmlspecialchars($onClick) . '">' . $image . '</a> ';
                         } else {
                             $thumbData .= $image;
@@ -1529,7 +1529,7 @@ class BackendUtility
                         // Gets the icon
                         $fileIcon = '<span title="' . htmlspecialchars($fileObject->getName()) . '">' . $iconFactory->getIconForResource($fileObject, Icon::SIZE_SMALL)->render() . '</span>';
                         if ($linkInfoPopup) {
-                            $onClick = 'top.launchView(\'_FILE\', ' . GeneralUtility::quoteJSvalue($fileName) . ',\'\',' . GeneralUtility::quoteJSvalue($backPath) . '); return false;';
+                            $onClick = 'top.launchView(\'_FILE\', ' . GeneralUtility::quoteJSvalue($fileName) . ',\'\'); return false;';
                             $thumbData .= '<a href="#" onclick="' . htmlspecialchars($onClick) . '">' . $fileIcon . '</a> ';
                         } else {
                             $thumbData .= $fileIcon;
@@ -1955,7 +1955,7 @@ class BackendUtility
      */
     public static function getNoRecordTitle($prep = false)
     {
-        $noTitle = '[' . static::getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:labels.no_title', true) . ']';
+        $noTitle = '[' . htmlspecialchars(static::getLanguageService()->sL('LLL:EXT:lang/locallang_core.xlf:labels.no_title')) . ']';
         if ($prep) {
             $noTitle = '<em>' . $noTitle . '</em>';
         }
@@ -2371,7 +2371,7 @@ class BackendUtility
      */
     public static function makeConfigForm($configArray, $defaults, $dataPrefix)
     {
-        DeprecationUtility::logFunction();
+        GeneralUtility::logDeprecatedFunction();
         $params = $defaults;
         $lines = array();
         if (is_array($configArray)) {
@@ -2448,8 +2448,10 @@ class BackendUtility
             if ($data['alttitle']) {
                 $output['title'] = $data['alttitle'];
             }
-            // If we have more information to show
-            if ($data['image_descr'] || $data['seeAlso'] || $data['details'] || $data['syntax']) {
+            // If we have more information to show and access to the cshmanual
+            if (($data['image_descr'] || $data['seeAlso'] || $data['details'] || $data['syntax'])
+                && static::getBackendUserAuthentication()->check('modules', 'help_CshmanualCshmanual')
+            ) {
                 $output['moreInfo'] = true;
             }
             // Add description
@@ -2475,7 +2477,7 @@ class BackendUtility
         $arrow = '';
         // Put header before the rest of the text
         if ($helpTextArray['title'] !== null) {
-            $output .= '<h2 class="t3-row-header">' . $helpTextArray['title'] . '</h2>';
+            $output .= '<h2>' . $helpTextArray['title'] . '</h2>';
         }
         // Add see also arrow if we have more info
         if ($helpTextArray['moreInfo']) {
@@ -2639,7 +2641,7 @@ class BackendUtility
             foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_befunc.php']['viewOnClickClass'] as $className) {
                 $hookObj = GeneralUtility::makeInstance($className);
                 if (method_exists($hookObj, 'postProcess')) {
-                    $previewUrl = $hookObj->postProcess($previewUrl, $pageUid, $backPath, $rootLine, $anchorSection, $viewScript, $additionalGetVars, $switchFocus);
+                    $previewUrl = $hookObj->postProcess($previewUrl, $pageUid, $rootLine, $anchorSection, $viewScript, $additionalGetVars, $switchFocus);
                 }
             }
         }
@@ -3188,19 +3190,17 @@ class BackendUtility
      *
      * @param string $moduleName Name of the module
      * @param array $urlParameters URL parameters that should be added as key value pairs
-     * @param bool|string $backPathOverride (unused)
-     * @param bool $returnAbsoluteUrl If set to TRUE, the URL returned will be absolute, $backPathOverride will be ignored in this case
      * @return string Calculated URL
      */
-    public static function getModuleUrl($moduleName, $urlParameters = array(), $backPathOverride = false, $returnAbsoluteUrl = false)
+    public static function getModuleUrl($moduleName, $urlParameters = array())
     {
         /** @var UriBuilder $uriBuilder */
         $uriBuilder = GeneralUtility::makeInstance(UriBuilder::class);
         try {
-            $uri = $uriBuilder->buildUriFromRoute($moduleName, $urlParameters, $returnAbsoluteUrl ? UriBuilder::ABSOLUTE_URL : UriBuilder::ABSOLUTE_PATH);
+            $uri = $uriBuilder->buildUriFromRoute($moduleName, $urlParameters);
         } catch (\TYPO3\CMS\Backend\Routing\Exception\RouteNotFoundException $e) {
             // no route registered, use the fallback logic to check for a module
-            $uri = $uriBuilder->buildUriFromModule($moduleName, $urlParameters, $returnAbsoluteUrl ? UriBuilder::ABSOLUTE_URL : UriBuilder::ABSOLUTE_PATH);
+            $uri = $uriBuilder->buildUriFromModule($moduleName, $urlParameters);
         }
         return (string)$uri;
     }
@@ -3214,20 +3214,20 @@ class BackendUtility
      *
      * @param string $ajaxIdentifier Identifier of the AJAX callback
      * @param array $urlParameters URL parameters that should be added as key value pairs
-     * @param bool $backPathOverride (unused)
-     * @param bool $returnAbsoluteUrl If set to TRUE, the URL returned will be absolute, $backPathOverride will be ignored in this case
      * @return string Calculated URL
+     * @deprecated since TYPO3 v8, will be removed in TYPO3 v9, use the UriBuilder directly.
      */
-    public static function getAjaxUrl($ajaxIdentifier, array $urlParameters = array(), $backPathOverride = false, $returnAbsoluteUrl = false)
+    public static function getAjaxUrl($ajaxIdentifier, array $urlParameters = array())
     {
+        GeneralUtility::logDeprecatedFunction();
         /** @var UriBuilder $uriBuilder */
         $uriBuilder = GeneralUtility::makeInstance(UriBuilder::class);
         try {
             $routeIdentifier = 'ajax_' . $ajaxIdentifier;
-            $uri = $uriBuilder->buildUriFromRoute($routeIdentifier, $urlParameters, $returnAbsoluteUrl ? UriBuilder::ABSOLUTE_URL : UriBuilder::ABSOLUTE_PATH);
+            $uri = $uriBuilder->buildUriFromRoute($routeIdentifier, $urlParameters);
         } catch (\TYPO3\CMS\Backend\Routing\Exception\RouteNotFoundException $e) {
             // no route registered, use the fallback logic to check for a module
-            $uri = $uriBuilder->buildUriFromAjaxId($ajaxIdentifier, $urlParameters, $returnAbsoluteUrl ? UriBuilder::ABSOLUTE_URL : UriBuilder::ABSOLUTE_PATH);
+            $uri = $uriBuilder->buildUriFromAjaxId($ajaxIdentifier, $urlParameters);
         }
         return (string)$uri;
     }
@@ -3239,9 +3239,11 @@ class BackendUtility
      * @param string $linkTitle title for the link tag
      * @param string $linkText optional link text after the icon
      * @return string A complete <a href=""> tag
+     * @deprecated since TYPO3 v8, will be removed in TYPO3 v9, use getModuleUrl and IconFactory methods directly
      */
     public static function getListViewLink($urlParameters = array(), $linkTitle = '', $linkText = '')
     {
+        GeneralUtility::logDeprecatedFunction();
         /** @var IconFactory $iconFactory */
         $iconFactory = GeneralUtility::makeInstance(IconFactory::class);
         return '<a href="' . htmlspecialchars(self::getModuleUrl('web_list', $urlParameters)) . '" title="' . htmlspecialchars($linkTitle) . '">' . $iconFactory->getIcon('actions-system-list-open', Icon::SIZE_SMALL)->render() . htmlspecialchars($linkText) . '</a>';
@@ -3357,12 +3359,12 @@ class BackendUtility
     {
         self::fixVersioningPid($table, $row);
         $res = array();
-        $typeVal = self::getTCAtypeValue($table, $row);
         // Get main config for the table
         list($TScID, $cPid) = self::getTSCpid($table, $row['uid'], $row['pid']);
         if ($TScID >= 0) {
             $tempConf = static::getBackendUserAuthentication()->getTSConfig('TCEFORM.' . $table, self::getPagesTSconfig($TScID));
             if (is_array($tempConf['properties'])) {
+                $typeVal = self::getTCAtypeValue($table, $row);
                 foreach ($tempConf['properties'] as $key => $val) {
                     if (is_array($val)) {
                         $fieldN = substr($key, 0, -1);
@@ -3379,15 +3381,6 @@ class BackendUtility
         $res['_THIS_UID'] = $row['uid'];
         // So the row will be passed to foreign_table_where_query()
         $res['_THIS_ROW'] = $row;
-        $rootLine = self::BEgetRootLine($TScID, '', true);
-        foreach ($rootLine as $rC) {
-            if (!$res['_STORAGE_PID']) {
-                $res['_STORAGE_PID'] = (int)$rC['storage_pid'];
-            }
-            if (!$res['_SITEROOT']) {
-                $res['_SITEROOT'] = $rC['is_siteroot'] ? (int)$rC['uid'] : 0;
-            }
-        }
         return $res;
     }
 
@@ -4178,7 +4171,7 @@ class BackendUtility
      */
     public static function processParams($params)
     {
-        DeprecationUtility::logFunction();
+        GeneralUtility::logDeprecatedFunction();
         $paramArr = array();
         $lines = explode(LF, $params);
         foreach ($lines as $val) {