Support for plugin themes in menus.php

This commit is contained in:
slawkens 2025-01-12 16:27:20 +01:00
parent e918591666
commit 77a2c1cec3

View File

@ -10,6 +10,7 @@
use MyAAC\Cache\Cache; use MyAAC\Cache\Cache;
use MyAAC\Models\Menu; use MyAAC\Models\Menu;
use MyAAC\Plugins;
defined('MYAAC') or die('Direct access not allowed!'); defined('MYAAC') or die('Direct access not allowed!');
$title = 'Menus'; $title = 'Menus';
@ -21,6 +22,8 @@ if (!hasFlag(FLAG_CONTENT_MENUS) && !superAdmin()) {
return; return;
} }
$pluginThemes = Plugins::getThemes();
if (isset($_POST['template'])) { if (isset($_POST['template'])) {
$template = $_POST['template']; $template = $_POST['template'];
@ -64,9 +67,16 @@ if (isset($_POST['template'])) {
success('Saved at ' . date('H:i')); success('Saved at ' . date('H:i'));
} }
$file = TEMPLATES . $template . '/config.php'; $path = TEMPLATES . $template;
if (file_exists($file)) {
require_once $file; if (isset($pluginThemes[$template])) {
$path = BASE . $pluginThemes[$template];
}
$path .= '/config.php';
if (file_exists($path)) {
require_once $path;
} else { } else {
echo 'Cannot find template config.php file.'; echo 'Cannot find template config.php file.';
return; return;
@ -169,8 +179,13 @@ if (isset($_POST['template'])) {
} else { } else {
$templates = Menu::select('template')->distinct()->get()->toArray(); $templates = Menu::select('template')->distinct()->get()->toArray();
foreach ($templates as $key => $value) { foreach ($templates as $key => $value) {
$file = TEMPLATES . $value['template'] . '/config.php'; $path = TEMPLATES . $value['template'];
if (!file_exists($file)) {
if (isset($pluginThemes[$value['template']])) {
$path = BASE . $pluginThemes[$value['template']];
}
if (!file_exists($path . '/config.php')) {
unset($templates[$key]); unset($templates[$key]);
} }
} }