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.
This commit is contained in:
parent
c909b8be06
commit
cb15c73dae
16
boot.php
16
boot.php
@ -1880,13 +1880,9 @@ function get_custom_nav(&$a,$navname) {
|
||||
|
||||
}
|
||||
|
||||
function construct_page(&$a) {
|
||||
|
||||
function load_pdl(&$a) {
|
||||
require_once('include/comanche.php');
|
||||
|
||||
// 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
|
||||
|
||||
if(! count($a->layout)) {
|
||||
$n = 'mod_' . $a->module . '.pdl' ;
|
||||
$u = comanche_get_channel_id();
|
||||
@ -1898,12 +1894,20 @@ function construct_page(&$a) {
|
||||
comanche_parser($a,$s);
|
||||
}
|
||||
|
||||
$comanche = ((count($a->layout)) ? true : false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function construct_page(&$a) {
|
||||
|
||||
|
||||
/**
|
||||
* Build the page - now that we have all the components
|
||||
*/
|
||||
|
||||
|
||||
$comanche = ((count($a->layout)) ? true : false);
|
||||
|
||||
require_once(theme_include('theme_init.php'));
|
||||
|
||||
$installing = false;
|
||||
|
@ -259,6 +259,7 @@ class RedBrowser extends DAV\Browser\Plugin {
|
||||
$html .= $output;
|
||||
|
||||
get_app()->page['content'] = $html;
|
||||
load_pdl(get_app());
|
||||
construct_page(get_app());
|
||||
}
|
||||
|
||||
|
40
index.php
40
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);
|
||||
|
22
mod/page.php
22
mod/page.php
@ -14,13 +14,11 @@ function page_init(&$a) {
|
||||
if($a->profile['profile_uid'])
|
||||
head_set_icon($a->profile['thumb']);
|
||||
|
||||
}
|
||||
|
||||
// load the item here in the init function because we need to extract
|
||||
// the page layout and initialise the correct theme.
|
||||
|
||||
|
||||
|
||||
function page_content(&$a) {
|
||||
|
||||
$observer = $a->get_observer();
|
||||
$ob_hash = (($observer) ? $observer['xchan_hash'] : '');
|
||||
|
||||
@ -97,11 +95,27 @@ function page_content(&$a) {
|
||||
}
|
||||
}
|
||||
|
||||
$a->data['webpage'] = $r;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function page_content(&$a) {
|
||||
|
||||
$r = $a->data['webpage'];
|
||||
if(! $r)
|
||||
return;
|
||||
|
||||
// logger('layout: ' . print_r($a->layout,true));
|
||||
|
||||
// Use of widgets should be determined by Comanche, but we don't have it on system pages yet, so...
|
||||
|
||||
// I recommend we now get rid of this bit - it's quite a hack to work around... - mike
|
||||
|
||||
if ($perms['write_pages']) {
|
||||
$chan = $a->channel['channel_id'];
|
||||
$who = $channel_address;
|
||||
|
@ -1 +1 @@
|
||||
2014-10-19.833
|
||||
2014-10-20.834
|
||||
|
Reference in New Issue
Block a user