check for env var SEEDDMS_EXTENSIONS to load only lіsted extensions

This commit is contained in:
Uwe Steinmann 2026-03-03 14:46:16 +01:00
parent b4e10a5b0c
commit a8f5624579

View File

@ -24,6 +24,10 @@ class_alias('Seeddms\Seeddms\ExtensionMgr', 'SeedDMS_Extension_Mgr');
/* Declare an alias as long as it used by extensions */
class_alias('Seeddms\Seeddms\ExtensionBase', 'SeedDMS_ExtBase');
$onlyextensions = null;
if (getenv("SEEDDMS_EXTENSIONS")) {
$onlyextensions = explode(',', getenv("SEEDDMS_EXTENSIONS"));
}
$extmgr = new ExtensionMgr($settings->_rootDir."/ext", $settings->_cacheDir, $settings->_repositoryUrl, $settings->_proxyUrl, $settings->_proxyUser, $settings->_proxyPassword);
foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) {
@ -32,6 +36,10 @@ foreach($extmgr->getExtensionConfiguration() as $extname=>$extconf) {
$settings->disableExtension($extname);
continue;
}
if ($onlyextensions && !in_array($extname, $onlyextensions)) {
$settings->disableExtension($extname);
continue;
}
if(!$settings->extensionIsDisabled($extname)) {
$disabled = false;
if($extmgr->checkExtensionByName($extname, $extconf)) {