mirror of
https://github.com/slawkens/myaac.git
synced 2025-04-26 17:29:21 +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;
|
$ret[] = $file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach (Plugins::getThemes() as $name => $path) {
|
||||||
|
$ret[] = $name;
|
||||||
|
}
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -147,6 +147,32 @@ class Plugins {
|
|||||||
return $routes;
|
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()
|
public static function getHooks()
|
||||||
{
|
{
|
||||||
$cache = Cache::getInstance();
|
$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')) {
|
if(file_exists(BASE . $template_path . '/index.php')) {
|
||||||
$template_index = 'index.php';
|
$template_index = 'index.php';
|
||||||
|
Loading…
x
Reference in New Issue
Block a user