Przeglądaj źródła

fix: 增加对扩展名称和安装路径的嵌套检查

runphp 7 miesięcy temu
rodzic
commit
0aee86b588
1 zmienionych plików z 8 dodań i 7 usunięć
  1. 8 7
      src/Helper.php

+ 8 - 7
src/Helper.php

@@ -159,13 +159,14 @@ final class Helper
         if (!$extensionID) {
             return CoreService::$extensionPath;
         }
-        $extensionName = CoreService::$extensionComposerMap[$extensionID]['name'];
-        $versions = Plugin::getInstalledSixShopExtensions()['versions'];
-
-        return (isset($versions[$extensionName]['install_path'])
-                ? realpath($versions[$extensionName]['install_path'])
-                : CoreService::$extensionPath . $extensionID) . DIRECTORY_SEPARATOR;
-
+        if (isset(CoreService::$extensionComposerMap[$extensionID]['name'])) {
+            $extensionName = CoreService::$extensionComposerMap[$extensionID]['name'];
+            $versions = Plugin::getInstalledSixShopExtensions()['versions'];
+            if (isset($versions[$extensionName]['install_path'])) {
+                return realpath($versions[$extensionName]['install_path']) . DIRECTORY_SEPARATOR;
+            }
+        }
+        return CoreService::$extensionPath . $extensionID . DIRECTORY_SEPARATOR;
     }
 
     public static function extension_name_list()