isLegacyPlugin example

/** * @param string $file * @param string $pluginName * * @throws Exception */
    public function extractPluginZip($file$pluginName)
    {
        $archive = ZipUtils::openZip($file);
        $pluginZipDetector = new PluginZipDetector();

        if ($pluginZipDetector->isLegacyPlugin($archive)) {
            $source = $this->getPluginSource($pluginName);
            if (!$source) {
                $source = 'Community';
            }
            $destination = $this->pluginDirectories[$source];
            $extractor = new LegacyPluginExtractor();
            $extractor->extract($archive$destination);
        } elseif ($pluginZipDetector->isPlugin($archive)) {
            $this->pluginExtractor->extract($archive);
        } else {
            throw new RuntimeException('No Plugin found in archive.');
        }
/** * @param string $pluginName * * @throws Exception * * @return string */
    public function getPluginPath($pluginName)
    {
        $plugin = $this->getPluginByName($pluginName);

        if (!$plugin->isLegacyPlugin()) {
            return $this->pluginInstaller->getPluginPath($plugin);
        }

        return $this->legacyPluginInstaller->getPluginPath($plugin);
    }

    /** * @param string $pluginName * * @throws Exception * * @return Plugin */

        );
    }

    /** * Helper function to build the path to the passed plugin. * * @return string */
    public function getPluginPath(Plugin $plugin)
    {
        if ($plugin->isLegacyPlugin()) {
            return $this->pluginDirectories[$plugin->getSource()] . $plugin->getNamespace() . DIRECTORY_SEPARATOR . $plugin->getName();
        }

        return $this->pluginDirectories[$plugin->getNamespace()] . '/' . $plugin->getName() . '/Resources';
    }

    /** * Returns the Frontend folder of the Themes directory. * * @return string */
    


    /** * @return array<string> */
    private function getPluginDirs(): array
    {
        $configDir = [];

        $plugins = $this->modelManager->getRepository(Plugin::class)->findBy(['active' => true]);
        foreach ($plugins as $plugin) {
            if ($plugin->isLegacyPlugin()) {
                $pluginPath = rtrim($this->pluginDirectories[$plugin->getSource()], DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $plugin->getNamespace() . DIRECTORY_SEPARATOR . $plugin->getName();

                $pluginSnippetPath = $pluginPath . DIRECTORY_SEPARATOR . 'Snippets' . DIRECTORY_SEPARATOR;
            } else {
                $pluginPath = rtrim($this->pluginDirectories[$plugin->getNamespace()], DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR . $plugin->getName();

                $pluginSnippetPath = $pluginPath . DIRECTORY_SEPARATOR . 'Resources' . DIRECTORY_SEPARATOR . 'snippets' . DIRECTORY_SEPARATOR;
            }

            array_unshift($configDir$pluginSnippetPath);

            
Home | Imprint | This part of the site doesn't use cookies.