mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-26 09:19:22 +02:00
Feature: auto-load themes (previously templates) from plugins/*/themes/*
This commit is contained in:
parent
0698e7b5f5
commit
f719c02050
@ -798,6 +798,10 @@ function get_templates()
|
||||
$ret[] = $file;
|
||||
}
|
||||
|
||||
foreach (Plugins::getThemes() as $name => $path) {
|
||||
$ret[] = $name;
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
@ -147,6 +147,32 @@ class Plugins {
|
||||
return $routes;
|
||||
}
|
||||
|
||||
public static function getThemes()
|
||||
{
|
||||
$cache = Cache::getInstance();
|
||||
if ($cache->enabled()) {
|
||||
$tmp = '';
|
||||
if ($cache->fetch('plugins_themes', $tmp)) {
|
||||
return unserialize($tmp);
|
||||
}
|
||||
}
|
||||
|
||||
$themes = [];
|
||||
$pluginThemes = glob(PLUGINS . '*/themes/*', GLOB_ONLYDIR);
|
||||
foreach ($pluginThemes as $path) {
|
||||
$path = str_replace(PLUGINS, 'plugins/', $path);
|
||||
$name = pathinfo($path, PATHINFO_FILENAME);
|
||||
|
||||
$themes[$name] = $path;
|
||||
}
|
||||
|
||||
if ($cache->enabled()) {
|
||||
$cache->set('plugins_themes', serialize($themes), 600);
|
||||
}
|
||||
|
||||
return $themes;
|
||||
}
|
||||
|
||||
public static function getHooks()
|
||||
{
|
||||
$cache = Cache::getInstance();
|
||||
|
@ -46,7 +46,14 @@ if(setting('core.template_allow_change'))
|
||||
}
|
||||
}
|
||||
}
|
||||
$template_path = 'templates/' . $template_name;
|
||||
|
||||
$themes = Plugins::getThemes();
|
||||
if (isset($themes[$template_name])) {
|
||||
$template_path = $themes[$template_name];
|
||||
}
|
||||
else {
|
||||
$template_path = 'templates/' . $template_name;
|
||||
}
|
||||
|
||||
if(file_exists(BASE . $template_path . '/index.php')) {
|
||||
$template_index = 'index.php';
|
||||
|
Loading…
x
Reference in New Issue
Block a user