From cb15c73dae51c7001fa7277ef4d324645f72c5c3 Mon Sep 17 00:00:00 2001 From: friendica Date: Mon, 20 Oct 2014 16:47:58 -0700 Subject: move all theme initialisation to one place - just after calling module_init. Revert if there are serious issues, but please note the issues in as much detail as possible so we can work through them. --- index.php | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) (limited to 'index.php') diff --git a/index.php b/index.php index 6c18cbcb8..3e5207f2b 100755 --- a/index.php +++ b/index.php @@ -242,14 +242,6 @@ if(strlen($a->module)) { } } -/** - * load current theme info - */ -$theme_info_file = "view/theme/".current_theme()."/php/theme.php"; -if (file_exists($theme_info_file)){ - require_once($theme_info_file); -} - /* initialise content region */ @@ -281,12 +273,44 @@ if($a->module_loaded) { $a->page['page_title'] = $a->module; $placeholder = ''; + /** + * No theme has been specified when calling the module_init functions + * For this reason, please restrict the use of templates to those which + * do not provide any presentation details - as themes will not be able + * to over-ride them. + */ + if(function_exists($a->module . '_init')) { call_hooks($a->module . '_mod_init', $placeholder); $func = $a->module . '_init'; $func($a); } + /** + * Do all theme initialiasion here before calling any additional module functions. + * The module_init function may have changed the theme. + * Additionally any page with a Comanche template may alter the theme. + * So we'll check for those now. + */ + + + /** + * In case a page has overloaded a module, see if we already have a layout defined + * otherwise, if a PDL file exists for this module, use it + * The member may have also created a customised PDL that's stored in the config + */ + + load_pdl($a); + + /** + * load current theme info + */ + + $theme_info_file = "view/theme/".current_theme()."/php/theme.php"; + if (file_exists($theme_info_file)){ + require_once($theme_info_file); + } + if(function_exists(str_replace('-','_',current_theme()) . '_init')) { $func = str_replace('-','_',current_theme()) . '_init'; $func($a); -- cgit v1.2.3 From 11ccf253e213fbd71916a53220bb05a18f58808f Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 30 Oct 2014 20:27:41 -0700 Subject: Heads up: "custom/module.php" is deprecated. Please read this commit if you are affected. --- index.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'index.php') diff --git a/index.php b/index.php index 3e5207f2b..ae8a2e17d 100755 --- a/index.php +++ b/index.php @@ -197,7 +197,19 @@ if(strlen($a->module)) { */ if(! $a->module_loaded) { - if(file_exists("custom/{$a->module}.php")) { + + /* + * Traditionally we looked in custom first, but we're leaning toward a convention where site + * specific things are all in directories called 'site'. So custom will be going away. + * There are a very small number of folks affected. You know who you are. Once you've got things sorted, + * please remove the lines for "custom/" and push to the project repository. + */ + + if(file_exists("mod/site/{$a->module}.php")) { + include_once("mod/site/{$a->module}.php"); + $a->module_loaded = true; + } + elseif(file_exists("custom/{$a->module}.php")) { include_once("custom/{$a->module}.php"); $a->module_loaded = true; } -- cgit v1.2.3