diff options
Diffstat (limited to 'Zotlabs/Module/Theme.php')
-rw-r--r-- | Zotlabs/Module/Theme.php | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Zotlabs/Module/Theme.php b/Zotlabs/Module/Theme.php new file mode 100644 index 000000000..da23d9c15 --- /dev/null +++ b/Zotlabs/Module/Theme.php @@ -0,0 +1,44 @@ +<?php + +namespace Zotlabs\Module; + + +class Theme extends \Zotlabs\Web\Controller { + + function get() { + $theme = argv(1); + if(! $theme) + killme(); + + $theme_config = ""; + if(($themeconfigfile = $this->get_theme_config_file($theme)) != null){ + require_once($themeconfigfile); + if(class_exists(ucfirst($theme) . 'Config')) { + $clsname = ucfirst($theme) . 'Config'; + $th_config = new $clsname(); + $schemas = $th_config->get_schemas(); + } + $theme_config = theme_content($a); + } + + $ret = array('theme' => $theme, 'schemas' => $schemas,'config' => $theme_config); + json_return_and_die($ret); + + } + + + function get_theme_config_file($theme){ + + $base_theme = \App::$theme_info['extends']; + + if (file_exists("view/theme/$theme/php/config.php")){ + return "view/theme/$theme/php/config.php"; + } + if (file_exists("view/theme/$base_theme/php/config.php")){ + return "view/theme/$base_theme/php/config.php"; + } + return null; + } + + +}
\ No newline at end of file |