v2.6.7 (Lyra): Essential plugins consistent tonen + docblock-vereiste
Vervolg op v2.6.6: vier plekken lazen nog ruwe enabled_plugins zonder essential-forcering. handleDashboard(), handleContentFiles/Edit() en AdminPluginAPI::getEnabledPlugins() forceren nu essential plugins consistent met PluginManager. Dode functie countEnabledPlugins() verwijderd. AGENTS.md aangevuld met verplichte docblock-sectie.
This commit is contained in:
+9
-19
@@ -666,13 +666,15 @@ function handleDashboard($auth, $config, $twig, $user, $csrf, $siteConfig): void
|
||||
];
|
||||
|
||||
// Build plugin overview (name => enabled status)
|
||||
// Essential/protected plugins worden altijd als actief getoond,
|
||||
// ongeacht enabled_plugins (consistent met PluginManager::loadPlugins()).
|
||||
$pluginOverview = [];
|
||||
$enabledPlugins = $siteConfig['enabled_plugins'] ?? [];
|
||||
if (is_dir($pluginsDir)) {
|
||||
foreach (glob($pluginsDir . '/*', GLOB_ONLYDIR) as $pluginDir) {
|
||||
$pluginName = basename($pluginDir);
|
||||
$pluginOverview[$pluginName] = [
|
||||
'enabled' => in_array($pluginName, $enabledPlugins, true),
|
||||
'enabled' => in_array($pluginName, $enabledPlugins, true) || isProtectedPlugin($pluginName),
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -1264,10 +1266,12 @@ function handleContentFiles($auth, $config, $twig, $user, $csrf, $siteConfig): v
|
||||
$contentPlugins = getContentPlugins($pluginsDir);
|
||||
// Keep only enabled plugins so the selector reflects what actually runs.
|
||||
// enabled_plugins lives in config.json ($siteConfig), not in app.php.
|
||||
// Essential/protected plugins worden altijd getoond (consistent met
|
||||
// PluginManager::loadPlugins() en handlePlugins()).
|
||||
$enabledPlugins = $siteConfig['enabled_plugins'] ?? [];
|
||||
$availablePlugins = [];
|
||||
foreach ($contentPlugins as $p) {
|
||||
if (in_array($p['name'], $enabledPlugins, true)) {
|
||||
if (in_array($p['name'], $enabledPlugins, true) || isProtectedPlugin($p['name'])) {
|
||||
$availablePlugins[] = $p;
|
||||
}
|
||||
}
|
||||
@@ -1963,12 +1967,14 @@ function handleContentEdit($auth, $config, $twig, $user, $csrf, $siteConfig): vo
|
||||
|
||||
// Get available content plugins (only enabled content-type plugins).
|
||||
// enabled_plugins lives in config.json ($siteConfig), not in app.php.
|
||||
// Essential/protected plugins worden altijd getoond (consistent met
|
||||
// PluginManager::loadPlugins() en handlePlugins()).
|
||||
$pluginsDir = $config['plugins_dir'];
|
||||
$contentPlugins = getContentPlugins($pluginsDir);
|
||||
$enabledPlugins = $siteConfig['enabled_plugins'] ?? [];
|
||||
$availablePlugins = [];
|
||||
foreach ($contentPlugins as $p) {
|
||||
if (in_array($p['name'], $enabledPlugins, true)) {
|
||||
if (in_array($p['name'], $enabledPlugins, true) || isProtectedPlugin($p['name'])) {
|
||||
$availablePlugins[] = $p;
|
||||
}
|
||||
}
|
||||
@@ -5938,22 +5944,6 @@ function countDirs(string $dir): int
|
||||
return $count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Telt het aantal ingeschakelde plugins in de site-config.
|
||||
*
|
||||
* @since 2.6.5
|
||||
*
|
||||
* @param string $pluginsDir Plugins-directory (ongebruikt, voor compatibiliteit).
|
||||
* @param string $configJson Pad naar config.json.
|
||||
* @return int Aantal ingeschakelde plugins.
|
||||
*/
|
||||
function countEnabledPlugins(string $pluginsDir, string $configJson): int
|
||||
{
|
||||
$config = file_exists($configJson) ? json_decode(file_get_contents($configJson), true) : [];
|
||||
$enabled = $config['enabled_plugins'] ?? [];
|
||||
return count($enabled);
|
||||
}
|
||||
|
||||
/**
|
||||
* Berekent recursief de totale bestandsgrootte (in bytes) van een directory.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user