[TASK] Use strpos instead of substr to check the start of a string 77/49677/3
authorWouter Wolters <typo3@wouterwolters.nl>
Wed, 31 Aug 2016 09:49:51 +0000 (11:49 +0200)
committerPhilipp Gampe <philipp.gampe@typo3.org>
Thu, 1 Sep 2016 18:11:27 +0000 (20:11 +0200)
Substr invokes additional memory allocation, which is not needed
in the context. Strpos will do the same job, but without any
overhead (it's just searching a string).

Resolves: #77752
Releases: master
Change-Id: I7f11a74508ba959628d6af1b1c00b21f882114cd
Reviewed-on: https://review.typo3.org/49677
Tested-by: Bamboo TYPO3com <info@typo3.com>
Reviewed-by: Sascha Egerer <sascha@sascha-egerer.de>
Reviewed-by: Stefan Neufeind <typo3.neufeind@speedpartner.de>
Reviewed-by: Andreas Fernandez <typo3@scripting-base.de>
Reviewed-by: Philipp Gampe <philipp.gampe@typo3.org>
Tested-by: Philipp Gampe <philipp.gampe@typo3.org>
typo3/sysext/backend/Classes/Template/DocumentTemplate.php
typo3/sysext/core/Classes/Page/PageRenderer.php
typo3/sysext/core/Classes/Resource/ResourceCompressor.php
typo3/sysext/core/Classes/TypoScript/TemplateService.php
typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php
typo3/sysext/rtehtmlarea/Classes/Controller/AccessibilityLinkController.php
typo3/sysext/rtehtmlarea/Classes/Form/Element/RichTextElement.php
typo3/sysext/rtehtmlarea/Classes/RteHtmlAreaApi.php

index a55288d..2c7cf99 100644 (file)
@@ -958,7 +958,7 @@ function jumpToUrl(URL) {
                 // Add all registered directories
                 foreach ($skinStylesheetDirs as $stylesheetDir) {
                     // for EXT:myskin/stylesheets/ syntax
-                    if (substr($stylesheetDir, 0, 4) === 'EXT:') {
+                    if (strpos($stylesheetDir, 'EXT:') === 0) {
                         list($extKey, $path) = explode('/', substr($stylesheetDir, 4), 2);
                         if (!empty($extKey) && ExtensionManagementUtility::isLoaded($extKey) && !empty($path)) {
                             $stylesheetDirectories[] = ExtensionManagementUtility::extPath($extKey) . $path;
index 7741395..6628cb7 100644 (file)
@@ -2744,7 +2744,7 @@ class PageRenderer implements \TYPO3\CMS\Core\SingletonInterface
      */
     protected function getStreamlinedFileName($file, $prepareForOutput = true)
     {
-        if (substr($file, 0, 4) === 'EXT:') {
+        if (strpos($file, 'EXT:') === 0) {
             $file = GeneralUtility::getFileAbsFileName($file);
             // as the path is now absolute, make it "relative" to the current script to stay compatible
             $file = PathUtility::getRelativePathTo($file);
index 9f3260c..08aa05e 100644 (file)
@@ -429,9 +429,9 @@ class ResourceCompressor
             $filename = TYPO3_mainDir . $filename;
         }
         // build the file path relatively to the PATH_site
-        if (substr($filename, 0, 4) === 'EXT:') {
+        if (strpos($filename, 'EXT:') === 0) {
             $file = GeneralUtility::getFileAbsFileName($filename);
-        } elseif (substr($filename, 0, 3) === '../') {
+        } elseif (strpos($filename, '../') === 0) {
             $file = GeneralUtility::resolveBackPath(PATH_typo3 . $filename);
         } else {
             $file = PATH_site . ltrim($filename, '/');
index 0ef6834..5a685cf 100644 (file)
@@ -841,7 +841,7 @@ class TemplateService
             }
         }
         // If "Include before all static templates if root-flag is set" is set:
-        if ($row['static_file_mode'] == 3 && substr($templateID, 0, 4) == 'sys_' && $row['root']) {
+        if ($row['static_file_mode'] == 3 && strpos($templateID, 'sys_') === 0 && $row['root']) {
             $this->addExtensionStatics($idList, $templateID, $pid, $row);
         }
         // Static Template Files (Text files from extensions): include_static_file is a list of static files to include (from extensions)
@@ -849,7 +849,7 @@ class TemplateService
             $include_static_fileArr = GeneralUtility::trimExplode(',', $row['include_static_file'], true);
             // Traversing list
             foreach ($include_static_fileArr as $ISF_file) {
-                if (substr($ISF_file, 0, 4) == 'EXT:') {
+                if (strpos($ISF_file, 'EXT:') === 0) {
                     list($ISF_extKey, $ISF_localPath) = explode('/', substr($ISF_file, 4), 2);
                     if ((string)$ISF_extKey !== '' && ExtensionManagementUtility::isLoaded($ISF_extKey) && (string)$ISF_localPath !== '') {
                         $ISF_localPath = rtrim($ISF_localPath, '/') . '/';
index d053696..cb3d27c 100644 (file)
@@ -4291,7 +4291,7 @@ class TypoScriptFrontendController
         if (!isset($this->LL_labels_cache[$this->lang][$input])) {
             $restStr = trim(substr($input, 4));
             $extPrfx = '';
-            if (substr($restStr, 0, 4) === 'EXT:') {
+            if (strpos($restStr, 'EXT:') === 0) {
                 $restStr = trim(substr($restStr, 4));
                 $extPrfx = 'EXT:';
             }
index be23646..6b45351 100644 (file)
@@ -96,7 +96,7 @@ class AccessibilityLinkController extends \TYPO3\CMS\Frontend\Plugin\AbstractPlu
      */
     protected function getFullFileName($filename)
     {
-        if (substr($filename, 0, 4) == 'EXT:') {
+        if (strpos($filename, 'EXT:') === 0) {
             list($extKey, $local) = explode('/', substr($filename, 4), 2);
             $newFilename = '';
             if ((string)$extKey !== '' && \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded($extKey) && (string)$local !== '') {
index 232e7af..47970e5 100644 (file)
@@ -1090,7 +1090,7 @@ class RichTextElement extends AbstractFormElement
      */
     protected function getFullFileName($filename)
     {
-        if (substr($filename, 0, 4) === 'EXT:') {
+        if (strpos($filename, 'EXT:') === 0) {
             // extension
             list($extKey, $local) = explode('/', substr($filename, 4), 2);
             $newFilename = '';
index 5183799..725a56d 100644 (file)
@@ -280,7 +280,7 @@ abstract class RteHtmlAreaApi
      */
     protected function getFullFileName($filename)
     {
-        if (substr($filename, 0, 4) === 'EXT:') {
+        if (strpos($filename, 'EXT:') === 0) {
             // extension
             list($extKey, $local) = explode('/', substr($filename, 4), 2);
             $newFilename = '';