aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module/Theme.php
diff options
context:
space:
mode:
authorredmatrix <mike@macgirvin.com>2016-09-01 13:19:08 -0700
committerredmatrix <mike@macgirvin.com>2016-09-01 13:19:08 -0700
commit549943fb1082bac14096d97ee2124052a8f6f364 (patch)
tree99019d9c03af2c1f4666046115c82415020d597e /Zotlabs/Module/Theme.php
parent2940f9591b201e5014f3967a90a402c96ae08ac4 (diff)
downloadvolse-hubzilla-549943fb1082bac14096d97ee2124052a8f6f364.tar.gz
volse-hubzilla-549943fb1082bac14096d97ee2124052a8f6f364.tar.bz2
volse-hubzilla-549943fb1082bac14096d97ee2124052a8f6f364.zip
provide json module to load theme specific settings so we can auto-fill the display settings page with schemas and theme settings whenever somebody makes a different theme selection
Diffstat (limited to 'Zotlabs/Module/Theme.php')
-rw-r--r--Zotlabs/Module/Theme.php44
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