[TASK] Remove global option BACK_PATH 25/45525/2
authorBenni Mack <benni@typo3.org>
Wed, 30 Dec 2015 19:29:46 +0000 (20:29 +0100)
committerWouter Wolters <typo3@wouterwolters.nl>
Thu, 31 Dec 2015 11:56:41 +0000 (12:56 +0100)
As BACK_PATH is empty at any time now the option
is removed from the core.

However, the backPath variable is still needed when
accessing typo3/index.php for getting proper images,
solving this will be part of another issue.

Resolves: #72491
Releases: master
Change-Id: I9c31de8ac38e986b6d820b7c89cab99eef52022c
Reviewed-on: https://review.typo3.org/45525
Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
12 files changed:
typo3/sysext/backend/Classes/Controller/EditDocumentController.php
typo3/sysext/backend/Classes/Domain/Repository/Module/BackendModuleRepository.php
typo3/sysext/backend/Classes/Http/BackendModuleRequestHandler.php
typo3/sysext/backend/Classes/Module/AbstractFunctionModule.php
typo3/sysext/backend/Classes/Module/BaseScriptClass.php
typo3/sysext/backend/Classes/Template/DocumentTemplate.php
typo3/sysext/backend/Resources/Public/JavaScript/backend.js
typo3/sysext/core/Classes/Database/QueryView.php
typo3/sysext/core/Classes/Page/PageRenderer.php
typo3/sysext/core/Classes/Resource/ResourceCompressor.php
typo3/sysext/core/Classes/TypoScript/ExtendedTemplateService.php
typo3/sysext/sys_action/Classes/ActionTask.php

index fb5cd53..a332458 100644 (file)
@@ -776,10 +776,9 @@ class EditDocumentController extends AbstractModule
                        var TS = new typoSetup();
 
                                // Info view:
-                       function launchView(table,uid,bP) {     //
-                               var backPath= bP ? bP : "";
+                       function launchView(table,uid) {        //
                                var thePreviewWindow = window.open(
-                                       backPath+' . GeneralUtility::quoteJSvalue(BackendUtility::getModuleUrl('show_item') . '&table=') . ' + encodeURIComponent(table) + "&uid=" + encodeURIComponent(uid),
+                                       ' . GeneralUtility::quoteJSvalue(BackendUtility::getModuleUrl('show_item') . '&table=') . ' + encodeURIComponent(table) + "&uid=" + encodeURIComponent(uid),
                                        "ShowItem" + TS.uniqueID,
                                        "height=300,width=410,status=0,menubar=0,resizable=0,location=0,directories=0,scrollbars=1,toolbar=0"
                                );
index c8cc08a..493ec47 100644 (file)
@@ -377,7 +377,7 @@ class BackendModuleRepository implements \TYPO3\CMS\Core\SingletonInterface
     protected function getModuleIconAbsolute($iconFilename)
     {
         if (!GeneralUtility::isAbsPath($iconFilename)) {
-            $iconFilename = $GLOBALS['BACK_PATH'] . $iconFilename;
+            $iconFilename = PATH_typo3 . $iconFilename;
         }
         return $iconFilename;
     }
index c648db9..27f2ea2 100644 (file)
@@ -82,9 +82,6 @@ class BackendModuleRequestHandler implements RequestHandlerInterface
             throw new Exception('The CSRF protection token for the requested module is missing or invalid', 1417988921);
         }
 
-        // Set to empty as it is not needed / always coming from typo3/index.php
-        $GLOBALS['BACK_PATH'] = '';
-
         $this->backendUserAuthentication = $GLOBALS['BE_USER'];
 
         $moduleName = (string)$this->request->getQueryParams()['M'];
index 7b036cc..cff57ed 100644 (file)
@@ -288,10 +288,11 @@ abstract class AbstractFunctionModule
 
     /**
      * @return string
+     * @deprecated since TYPO3 v8, will be removed in TYPO3 v9
      */
     protected function getBackPath()
     {
-        return $GLOBALS['BACK_PATH'];
+        return '';
     }
 
     /**
index fb57913..e701589 100644 (file)
@@ -50,8 +50,6 @@ use TYPO3\CMS\Lang\LanguageService;
  * public function main() {
  *     TYPICALLY THE INTERNAL VAR, $this->doc is instantiated like this:
  *     $this->doc = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Backend\Template\DocumentTemplate::class);
- *     TYPICALLY THE INTERNAL VAR, $this->backPath is set like this:
- *     $this->backPath = $this->doc->backPath = $GLOBALS['BACK_PATH'];
  *     ... AND OF COURSE A LOT OF OTHER THINGS GOES ON - LIKE PUTTING CONTENT INTO $this->content
  *     $this->content='';
  * }
index dd9971a..edc7e90 100644 (file)
@@ -326,7 +326,7 @@ function jumpToUrl(URL) {
         // Add all JavaScript files defined in $this->jsFiles to the PageRenderer
         foreach ($this->jsFilesNoConcatenation as $file) {
             $this->pageRenderer->addJsFile(
-                $GLOBALS['BACK_PATH'] . $file,
+                $file,
                 'text/javascript',
                 true,
                 false,
@@ -336,7 +336,7 @@ function jumpToUrl(URL) {
         }
         // Add all JavaScript files defined in $this->jsFiles to the PageRenderer
         foreach ($this->jsFiles as $file) {
-            $this->pageRenderer->addJsFile($GLOBALS['BACK_PATH'] . $file);
+            $this->pageRenderer->addJsFile($file);
         }
         if ((int)$GLOBALS['TYPO3_CONF_VARS']['BE']['debug'] === 1) {
             $this->pageRenderer->enableDebugMode();
@@ -903,13 +903,13 @@ function jumpToUrl(URL) {
     {
         // Calculation needed, when TYPO3 source is used via a symlink
         // absolute path to the stylesheets
-        $filePath = dirname(GeneralUtility::getIndpEnv('SCRIPT_FILENAME')) . '/' . $GLOBALS['BACK_PATH'] . $path;
+        $filePath = GeneralUtility::getFileAbsFileName($path, false, true);
         // Clean the path
         $resolvedPath = GeneralUtility::resolveBackPath($filePath);
         // Read all files in directory and sort them alphabetically
         $files = GeneralUtility::getFilesInDir($resolvedPath, 'css', false, 1);
         foreach ($files as $file) {
-            $this->pageRenderer->addCssFile($GLOBALS['BACK_PATH'] . $path . $file, 'stylesheet', 'all');
+            $this->pageRenderer->addCssFile($path . $file, 'stylesheet', 'all');
         }
     }
 
index ba5c2c2..8b8f5c1 100644 (file)
@@ -110,9 +110,8 @@ function str_replace(match,replace,string)  {       //
 /**
  * Launcing information window for records/files (fileref as "table" argument)
  */
-function launchView(table, uid, bP) {
-       var thePreviewWindow = "";
-       thePreviewWindow = window.open(TYPO3.settings.ShowItem.moduleUrl + '&table=' + encodeURIComponent(table) + "&uid=" + encodeURIComponent(uid),
+function launchView(table, uid) {
+       var thePreviewWindow = window.open(TYPO3.settings.ShowItem.moduleUrl + '&table=' + encodeURIComponent(table) + "&uid=" + encodeURIComponent(uid),
                        "ShowItem" + TS.uniqueID,
                        "width=650,height=600,status=0,menubar=0,resizable=0,location=0,directories=0,scrollbars=1,toolbar=0");
        if (thePreviewWindow && thePreviewWindow.focus) {
index 9e5b7b6..643d211 100644 (file)
@@ -569,7 +569,7 @@ class QueryView
                 ],
                 'returnUrl' => GeneralUtility::getIndpEnv('REQUEST_URI') . GeneralUtility::implodeArrayForUrl('SET', (array)GeneralUtility::_POST('SET'))
             ]);
-            $out .= '<a class="btn btn-default" href="#" onClick="top.launchView(\'' . $table . '\',' . $row['uid'] . ',\'' . $GLOBALS['BACK_PATH'] . '\');return false;">' . $this->iconFactory->getIcon('actions-document-info', Icon::SIZE_SMALL)->render() . '</a>';
+            $out .= '<a class="btn btn-default" href="#" onClick="top.launchView(\'' . $table . '\',' . $row['uid'] . ');return false;">' . $this->iconFactory->getIcon('actions-document-info', Icon::SIZE_SMALL)->render() . '</a>';
             $out .= '<a class="btn btn-default" href="' . htmlspecialchars($url) . '">' . $this->iconFactory->getIcon('actions-document-open', Icon::SIZE_SMALL)->render() . '</a>';
         } else {
             $out .= '<a class="btn btn-default" href="' . GeneralUtility::linkThisUrl(BackendUtility::getModuleUrl('tce_db'), array(
index bece1e6..57941b1 100644 (file)
@@ -418,7 +418,7 @@ class PageRenderer implements \TYPO3\CMS\Core\SingletonInterface
         if ($templateFile !== '') {
             $this->templateFile = $templateFile;
         }
-        $this->backPath = isset($backPath) ? $backPath : $GLOBALS['BACK_PATH'];
+        $this->backPath = isset($backPath) ? $backPath : '';
         $this->inlineJavascriptWrap = array(
             '<script type="text/javascript">' . LF . '/*<![CDATA[*/' . LF,
             '/*]]>*/' . LF . '</script>' . LF
index b3f12cf..6c7c50a 100644 (file)
@@ -103,18 +103,6 @@ class ResourceCompressor
     {
         $this->setInitialRelativePath();
         $this->setInitialRootPath();
-        $this->setInitialBackPath();
-    }
-
-    /**
-     * Sets relative back path
-     *
-     * @return void
-     */
-    protected function setInitialBackPath()
-    {
-        $backPath = TYPO3_MODE === 'BE' ? $GLOBALS['BACK_PATH'] : '';
-        $this->setBackPath($backPath);
     }
 
     /**
@@ -135,7 +123,7 @@ class ResourceCompressor
      */
     protected function setInitialRelativePath()
     {
-        $relativePath = TYPO3_MODE === 'BE' ? $GLOBALS['BACK_PATH'] . '../' : '';
+        $relativePath = TYPO3_MODE === 'BE' ? '../' : '';
         $this->setRelativePath($relativePath);
     }
 
index 4aace4b..989e592 100644 (file)
@@ -1109,8 +1109,7 @@ class ExtendedTemplateService extends TemplateService
         } elseif (substr($imgConf, 0, 4) == 'EXT:') {
             $iFile = GeneralUtility::getFileAbsFileName($imgConf);
             if ($iFile) {
-                $f = PathUtility::stripPathSitePrefix($iFile);
-                $tFile = $GLOBALS['BACK_PATH'] . '../' . $f;
+                $tFile = '../' . PathUtility::stripPathSitePrefix($iFile);
             }
         }
         if ($iFile !== null) {
index 5115de6..cc37679 100644 (file)
@@ -809,7 +809,6 @@ class ActionTask implements \TYPO3\CMS\Taskcenter\TaskInterface
             // Initialize the dblist object:
             $dblist = GeneralUtility::makeInstance(\TYPO3\CMS\SysAction\ActionList::class);
             $dblist->script = GeneralUtility::getIndpEnv('REQUEST_URI');
-            $dblist->backPath = $GLOBALS['BACK_PATH'];
             $dblist->calcPerms = $this->getBackendUser()->calcPerms($this->pageinfo);
             $dblist->thumbs = $this->getBackendUser()->uc['thumbnailsByDefault'];
             $dblist->returnUrl = $this->taskObject->returnUrl;
@@ -886,14 +885,9 @@ class ActionTask implements \TYPO3\CMS\Taskcenter\TaskInterface
             $content .= '<form action="' . htmlspecialchars($dblist->listURL()) . '" method="post" name="dblistForm">' . $dblist->HTMLcode . '<input type="hidden" name="cmd_table" /><input type="hidden" name="cmd" />
                                                </form>';
             // If a listing was produced, create the page footer with search form etc:
-            if ($dblist->HTMLcode) {
-                // Making field select box (when extended view for a single table is enabled):
-                if ($dblist->table) {
-                    $tmpBackpath = $GLOBALS['BACK_PATH'];
-                    $GLOBALS['BACK_PATH'] = '';
-                    $content .= $dblist->fieldSelectBox($dblist->table);
-                    $GLOBALS['BACK_PATH'] = $tmpBackpath;
-                }
+            // Making field select box (when extended view for a single table is enabled):
+            if ($dblist->HTMLcode && $dblist->table) {
+                $content .= $dblist->fieldSelectBox($dblist->table);
             }
         } else {
             // Not enough rights to access the list view or the page