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

This commit is contained in:
redmatrix 2016-09-01 13:19:08 -07:00
parent 2940f9591b
commit 549943fb10
2 changed files with 44 additions and 1 deletions

View File

@ -649,7 +649,6 @@ class Settings extends \Zotlabs\Web\Controller {
build_sync_packet();
//$_SESSION['theme'] = $theme;
if($email_changed && \App::$config['system']['register_policy'] == REGISTER_VERIFY) {
// FIXME - set to un-verified, blocked and redirect to logout

44
Zotlabs/Module/Theme.php Normal file
View File

@ -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;
}
}