[FOLLOWUP][TASK] Streamline ExtensionManagementUtility 70/55170/6
authorAnja Leichsenring <aleichsenring@ab-softlab.de>
Tue, 19 Dec 2017 20:55:50 +0000 (21:55 +0100)
committerAndreas Fernandez <a.fernandez@scripting-base.de>
Thu, 4 Jan 2018 17:13:35 +0000 (18:13 +0100)
Remove a misleading match from the Extension Scanner matcher
configuration that caused a strong match for a false positive.

Also add a forgotten deprecation.

Resolves: #82899
Releases: master
Change-Id: Ibbada6e3f221aed64b98bfccdd3d77502a7cd7d9
Reviewed-on: https://review.typo3.org/55170
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
Reviewed-by: Reiner Teubner <rteubner@me.com>
Tested-by: Reiner Teubner <rteubner@me.com>
Reviewed-by: Sebastian Fischer <typo3@evoweb.de>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
typo3/sysext/core/Classes/Utility/ExtensionManagementUtility.php
typo3/sysext/core/Documentation/Changelog/9.0/Breaking-82899-MoreRestrictingChecksForAPIMethodsInExtensionManagementUtility.rst
typo3/sysext/install/Configuration/ExtensionScanner/Php/MethodCallStaticMatcher.php

index 5dd352b..0d71729 100644 (file)
@@ -123,7 +123,7 @@ class ExtensionManagementUtility
         }
         $isLoaded = static::$packageManager->isPackageActive($key);
         if ($exitOnError && !$isLoaded) {
-            // @deprecated, once $existOnError is gone, this check can be removed.
+            // @deprecated, once $exitOnError is gone, this check can be removed.
             throw new \BadFunctionCallException('TYPO3 Fatal Error: Extension "' . $key . '" is not loaded!', 1270853910);
         }
         return $isLoaded;
@@ -1352,6 +1352,7 @@ tt_content.' . $key . $suffix . ' {
      * @param string $extKey Is of course the extension key
      * @param string $path Is the path where the template files (fixed names) include_static.txt, constants.txt, setup.txt, and include_static_file.txt is found (relative to extPath, eg. 'static/'). The file include_static_file.txt, allows you to include other static templates defined in files, from your static template, and thus corresponds to the field 'include_static_file' in the sys_template table. The syntax for this is a comma separated list of static templates to include, like:  EXT:fluid_styled_content/Configuration/TypoScript/,EXT:da_newsletter_subscription/static/,EXT:cc_random_image/pi2/static/
      * @param string $title Is the title in the selector box.
+     * @throws \InvalidArgumentException
      * @see addTypoScript()
      */
     public static function addStaticFile($extKey, $path, $title)
@@ -1376,6 +1377,7 @@ tt_content.' . $key . $suffix . ' {
      * @param string $extKey The extension key
      * @param string $filePath The path where the TSconfig file is located
      * @param string $title The title in the selector box
+     * @throws \InvalidArgumentException
      */
     public static function registerPageTSConfigFile($extKey, $filePath, $title)
     {
@@ -1437,6 +1439,7 @@ tt_content.' . $key . $suffix . ' {
      * @param string $type Is either "setup" or "constants" and obviously determines which kind of TypoScript code we are adding.
      * @param string $content Is the TS content, will be prefixed with a [GLOBAL] line and a comment-header.
      * @param int|string string pointing to the "key" of a static_file template ([reduced extension_key]/[local path]). The points is that the TypoScript you add is included only IF that static template is included (and in that case, right after). So effectively the TypoScript you set can specifically overrule settings from those static templates.
+     * @throws \InvalidArgumentException
      */
     public static function addTypoScript(string $key, string $type, string $content, $afterStaticUid = 0)
     {
index 342f20c..4546384 100644 (file)
@@ -17,7 +17,7 @@ now throw Exceptions with invalid calls:
 2. :php:`addNavigationComponent()` requires the third argument ($extensionKey)
 3. :php:`addService()` requires the second argument to be non-empty, and the fourth argument as array
 4. :php:`addPlugin()` requires the third argument ($extensionKey) to be set
-5. :php:`addStaticFile()` requires the second a third argument to be non-empty
+5. :php:`addStaticFile()` requires the second and third argument to be non-empty
 6. :php:`addTypoScript()` requires the second argument to be either `setup` or `constants`
 
 
@@ -40,4 +40,4 @@ Migration
 Add the required parameters to the API calls in your extension registration files, typically
 located within :file:`ext_localconf.php`, :file:`ext_tables.php` or :file:`Configuration/TCA/*` of a extension.
 
-.. index:: PHP-API, NotScanned
\ No newline at end of file
+.. index:: PHP-API, NotScanned
index ed9ddba..e156b20 100644 (file)
@@ -470,18 +470,11 @@ return [
             'Deprecation-82899-ExtensionManagementUtilityMethods.rst',
         ],
     ],
-    'TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addNavigationComponent' => [
-        'numberOfMandatoryArguments' => 3,
-        'maximumNumberOfArguments' => 3,
-        'restFiles' => [
-            'Breaking-82899-MoreRestrictingChecksForAPIMethodsInExtensionManagementUtility.rst',
-        ],
-    ],
-    'TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile' => [
-        'numberOfMandatoryArguments' => 3,
-        'maximumNumberOfArguments' => 3,
+    'TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getExtensionKeyByPrefix' => [
+        'numberOfMandatoryArguments' => 1,
+        'maximumNumberOfArguments' => 1,
         'restFiles' => [
-            'Breaking-82899-MoreRestrictingChecksForAPIMethodsInExtensionManagementUtility.rst',
+            'Deprecation-82899-ExtensionManagementUtilityMethods.rst',
         ],
     ],
     'TYPO3\CMS\Core\Utility\ExtensionManagementUtility::removeCacheFiles' => [