diff --git a/Libraries/simplepie-simplepie.phar b/Libraries/simplepie-simplepie.phar new file mode 100644 index 0000000..d9b364e Binary files /dev/null and b/Libraries/simplepie-simplepie.phar differ diff --git a/composer.json b/composer.json index 11a804d..078cc30 100644 --- a/composer.json +++ b/composer.json @@ -47,5 +47,16 @@ "typo3/class-alias-loader": true, "typo3/cms-composer-installers": true } + }, + "scripts": { + "create-libs": [ + "mkdir -p Libraries", + "@composer global require clue/phar-composer", + "[ -f Libraries/simplepie-simplepie.phar ] || $HOME/.composer/vendor/bin/phar-composer build 'simplepie/simplepie=^1.8' Libraries/simplepie-simplepie.phar", + "chmod -x Libraries/*" + ], + "build-extension": [ + "@create-libs" + ] } } \ No newline at end of file diff --git a/ext_localconf.php b/ext_localconf.php index 2a3b40a..3f35392 100644 --- a/ext_localconf.php +++ b/ext_localconf.php @@ -15,6 +15,7 @@ declare(strict_types=1); +use TYPO3\CMS\Core\Core\Environment; use TYPO3\CMS\Core\Information\Typo3Version; use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -51,4 +52,11 @@ * Cache Registration */ $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['feeddisplay'] ??= []; + + /* + * Load SimplePie library from phar file if not in composer mode + */ + if (!class_exists(\SimplePie\SimplePie::class) && !Environment::isComposerMode()) { + require_once 'phar://' . ExtensionManagementUtility::extPath('feed_display') . 'Libraries/simplepie-simplepie.phar/vendor/autoload.php'; + } })(); \ No newline at end of file