[!!!][TASK] Remove ModuleLoader->getRelativePath() 13/47013/2
authorBenni Mack <benni@typo3.org>
Thu, 3 Mar 2016 16:49:07 +0000 (17:49 +0100)
committerAnja Leichsenring <aleichsenring@ab-softlab.de>
Fri, 4 Mar 2016 09:21:35 +0000 (10:21 +0100)
The method to fetch the relative path for images inside
the module loader is not used anymore, as the paths
for the icons are handled through the Icon API now.

The method can be removed safely, and was simply forgotten
to be removed with #72405 (see https://review.typo3.org/#/c/45417/).

Resolves: #74029
Releases: master
Change-Id: I0d9708de3df5f22bb551db07050e479aa0071134
Reviewed-on: https://review.typo3.org/47013
Reviewed-by: Wouter Wolters <typo3@wouterwolters.nl>
Tested-by: Wouter Wolters <typo3@wouterwolters.nl>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
typo3/sysext/backend/Classes/Module/ModuleLoader.php
typo3/sysext/core/Documentation/Changelog/master/Breaking-74029-RemoveModuleLoader-getRelativePath.rst [new file with mode: 0644]

index c9d5e27..646cce9 100644 (file)
@@ -363,39 +363,6 @@ class ModuleLoader
     }
 
     /**
-     * Get relative path for $destDir compared to $baseDir
-     *
-     * @param string $baseDir Base directory
-     * @param string $destDir Destination directory
-     * @return string The relative path of destination compared to base.
-     */
-    public function getRelativePath($baseDir, $destDir)
-    {
-        // A special case, the dirs are equal
-        if ($baseDir === $destDir) {
-            return './';
-        }
-        // Remove beginning
-        $baseDir = ltrim($baseDir, '/');
-        $destDir = ltrim($destDir, '/');
-        $found = true;
-        do {
-            $slash_pos = strpos($destDir, '/');
-            if ($slash_pos !== false && substr($destDir, 0, $slash_pos) == substr($baseDir, 0, $slash_pos)) {
-                $baseDir = substr($baseDir, $slash_pos + 1);
-                $destDir = substr($destDir, $slash_pos + 1);
-            } else {
-                $found = false;
-            }
-        } while ($found);
-        $slashes = strlen($baseDir) - strlen(str_replace('/', '', $baseDir));
-        for ($i = 0; $i < $slashes; $i++) {
-            $destDir = '../' . $destDir;
-        }
-        return GeneralUtility::resolveBackPath($destDir);
-    }
-
-    /**
      * @return LanguageService
      */
     protected function getLanguageService()
diff --git a/typo3/sysext/core/Documentation/Changelog/master/Breaking-74029-RemoveModuleLoader-getRelativePath.rst b/typo3/sysext/core/Documentation/Changelog/master/Breaking-74029-RemoveModuleLoader-getRelativePath.rst
new file mode 100644 (file)
index 0000000..03cd2e3
--- /dev/null
@@ -0,0 +1,27 @@
+=========================================================
+Breaking: #74029 - Remove ModuleLoader->getRelativePath()
+=========================================================
+
+Description
+===========
+
+The method ``ModuleLoader->getRelativePath()`` has been removed. It was previously part when registering
+traditional script-based modules, which did not use the new Icon API for the backend.
+
+
+Impact
+======
+
+Calling the method above directly will result in a fatal PHP error.
+
+
+Affected Installations
+======================
+
+Any installation working with extensions that set up the ModuleLoader class and call the method ``getRelativePath()`` directly.
+
+
+Migration
+=========
+
+Use ``PathUtility::getRelativePath()`` when the functionality is still needed.
\ No newline at end of file