[TASK] Clean up various code pieces 95/63795/2
authorBenni Mack <benni@typo3.org>
Thu, 19 Mar 2020 12:32:10 +0000 (13:32 +0100)
committerSusanne Moog <look@susi.dev>
Thu, 19 Mar 2020 15:10:12 +0000 (16:10 +0100)
* TSFE->contentStrReplace only calls a hook, which is now moved to the
callers code (which only contains another hook as well)
* TSFE->clearPageCacheContent_pidList() is not used anymore (protected)
* cObj->decryptEmail() is not used anymore (protected).
* BE_USER->getRealUserId() is not used anymore (protected)
* DataHandler->recUpdateAccessCache is not used anymore (protected)
* LiveSearch (internal) -> getRecordTitlePrep() is not used anymore

Resolves: #90785
Releases: master
Change-Id: Idf14c9185a9356091ec0400faecfc8bbe5861c3b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/63795
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Georg Ringer <georg.ringer@gmail.com>
Tested-by: Susanne Moog <look@susi.dev>
Reviewed-by: Georg Ringer <georg.ringer@gmail.com>
Reviewed-by: Susanne Moog <look@susi.dev>
typo3/sysext/backend/Classes/Search/LiveSearch/LiveSearch.php
typo3/sysext/core/Classes/Authentication/BackendUserAuthentication.php
typo3/sysext/core/Classes/DataHandling/DataHandler.php
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php

index 2158fcc..c98b80f 100644 (file)
@@ -284,24 +284,6 @@ class LiveSearch
     }
 
     /**
-     * Crops a title string to a limited length and if it really was cropped,
-     * wrap it in a <span title="...">|</span>,
-     * which offers a tooltip with the original title when moving mouse over it.
-     *
-     * @param string $title The title string to be cropped
-     * @param int $titleLength Crop title after this length - if not set, BE_USER->uc['titleLen'] is used
-     * @return string The processed title string, wrapped in <span title="...">|</span> if cropped
-     */
-    public function getRecordTitlePrep($title, $titleLength = 0)
-    {
-        // If $titleLength is not a valid positive integer, use BE_USER->uc['titleLen']:
-        if (!$titleLength || !MathUtility::canBeInterpretedAsInteger($titleLength) || $titleLength < 0) {
-            $titleLength = $GLOBALS['BE_USER']->uc['titleLen'];
-        }
-        return htmlspecialchars(GeneralUtility::fixed_lgd_cs($title, $titleLength));
-    }
-
-    /**
      * Build the MySql where clause by table.
      *
      * @param QueryBuilder $queryBuilder
index b6c8408..142d838 100644 (file)
@@ -498,15 +498,6 @@ class BackendUserAuthentication extends AbstractUserAuthentication
     }
 
     /**
-     * If a user has actually logged in and switched to a different user (admins can use the SU switch user method)
-     * the real UID is sometimes needed (when checking for permissions for example).
-     */
-    protected function getRealUserId(): int
-    {
-        return (int)($GLOBALS['BE_USER']->user['ses_backuserid'] ?: $this->user['uid']);
-    }
-
-    /**
      * Returns a WHERE-clause for the pages-table where user permissions according to input argument, $perms, is validated.
      * $perms is the "mask" used to select. Fx. if $perms is 1 then you'll get all pages that a user can actually see!
      * 2^0 = show (1)
index 02c6d07..9af2740 100644 (file)
@@ -449,13 +449,6 @@ class DataHandler implements LoggerAwareInterface
 
     // Internal caching arrays
     /**
-     * Used by function checkRecordUpdateAccess() to store whether a record is updatable or not.
-     *
-     * @var array
-     */
-    protected $recUpdateAccessCache = [];
-
-    /**
      * User by function checkRecordInsertAccess() to store whether a record can be inserted on a page id
      *
      * @var array
index 781edbc..db53633 100644 (file)
@@ -5443,44 +5443,6 @@ class ContentObjectRenderer implements LoggerAwareInterface
     }
 
     /**
-     * Decryption of email addresses for <A>-tags See the spam protection setup in TS 'config.'
-     *
-     * @param string $string Input string to en/decode: "mailto:some@example.com
-     * @param mixed  $type - either "ascii" or a number between -10 and 10 taken from config.spamProtectEmailAddresses
-     * @return string decoded version of $string
-     */
-    protected function decryptEmail(string $string, $type): string
-    {
-        $out = '';
-        // obfuscates using the decimal HTML entity references for each character
-        if ($type === 'ascii') {
-            foreach (preg_split('//u', $string, -1, PREG_SPLIT_NO_EMPTY) as $char) {
-                $out .= '&#' . mb_ord($char) . ';';
-            }
-        } else {
-            // like str_rot13() but with a variable offset and a wider character range
-            $len = strlen($string);
-            $offset = (int)$type * -1;
-            for ($i = 0; $i < $len; $i++) {
-                $charValue = ord($string[$i]);
-                // 0-9 . , - + / :
-                if ($charValue >= 43 && $charValue <= 58) {
-                    $out .= $this->encryptCharcode($charValue, 43, 58, $offset);
-                } elseif ($charValue >= 64 && $charValue <= 90) {
-                    // A-Z @
-                    $out .= $this->encryptCharcode($charValue, 64, 90, $offset);
-                } elseif ($charValue >= 97 && $charValue <= 122) {
-                    // a-z
-                    $out .= $this->encryptCharcode($charValue, 97, 122, $offset);
-                } else {
-                    $out .= $string[$i];
-                }
-            }
-        }
-        return $out;
-    }
-
-    /**
      * Encryption (or decryption) of a single character.
      * Within the given range the character is shifted with the supplied offset.
      *
index ef7f4b1..2868d40 100644 (file)
@@ -2620,19 +2620,6 @@ class TypoScriptFrontendController implements LoggerAwareInterface
     }
 
     /**
-     * Clears cache content for a list of page ids
-     *
-     * @param string $pidList A list of INTEGER numbers which points to page uids for which to clear entries in the cache_pages cache (page content cache)
-     */
-    protected function clearPageCacheContent_pidList($pidList)
-    {
-        $pageIds = GeneralUtility::trimExplode(',', $pidList);
-        foreach ($pageIds as $pageId) {
-            $this->pageCache->flushByTag('pageId_' . (int)$pageId);
-        }
-    }
-
-    /**
      * Sets sys last changed
      * Setting the SYS_LASTCHANGED value in the pagerecord: This value will thus be set to the highest tstamp of records rendered on the page. This includes all records with no regard to hidden records, userprotection and so on.
      *
@@ -3201,7 +3188,20 @@ class TypoScriptFrontendController implements LoggerAwareInterface
     {
         // Make substitution of eg. username/uid in content only if cache-headers for client/proxy caching is NOT sent!
         if (!$this->isClientCachable) {
-            $this->contentStrReplace();
+            // Substitute various tokens in content. This should happen only if the content is not cached by proxies or client browsers.
+            $search = [];
+            $replace = [];
+            // Hook for supplying custom search/replace data
+            foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['tslib_fe-contentStrReplace'] ?? [] as $_funcRef) {
+                $_params = [
+                    'search' => &$search,
+                    'replace' => &$replace
+                ];
+                GeneralUtility::callUserFunction($_funcRef, $_params, $this);
+            }
+            if (!empty($search)) {
+                $this->content = str_replace($search, $replace, $this->content);
+            }
         }
         // Hook for post-processing of page content before output:
         $_params = ['pObj' => &$this];
@@ -3313,26 +3313,6 @@ class TypoScriptFrontendController implements LoggerAwareInterface
         return !$this->no_cache && !$this->isINTincScript() && !$this->isUserOrGroupSet();
     }
 
-    /**
-     * Substitute various tokens in content. This should happen only if the content is not cached by proxies or client browsers.
-     */
-    protected function contentStrReplace()
-    {
-        $search = [];
-        $replace = [];
-        // Hook for supplying custom search/replace data
-        foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tslib/class.tslib_fe.php']['tslib_fe-contentStrReplace'] ?? [] as $_funcRef) {
-            $_params = [
-                'search' => &$search,
-                'replace' => &$replace
-            ];
-            GeneralUtility::callUserFunction($_funcRef, $_params, $this);
-        }
-        if (!empty($search)) {
-            $this->content = str_replace($search, $replace, $this->content);
-        }
-    }
-
     /********************************************
      *
      * Various internal API functions