diff --git a/addon/README b/addon/README index c6931c2b3a..89f39e399e 100644 --- a/addon/README +++ b/addon/README @@ -138,6 +138,12 @@ Current hooks: 'contact_edit_post' - called when posting the contact edit page $b is the $_POST array +'init_1' - called just after DB has been opened and before session start + $b is not used or passed + +'page_end' - called after HTML content functions have completed + $b is (string) HTML of content div + @@ -149,17 +155,17 @@ Current hooks: Not yet documented: -'atom_feed' +'atom_feed' *** -'atom_feed_end' +'atom_feed_end' *** -'parse_atom' +'parse_atom' *** -'atom_author' +'atom_author' *** -'atom_entry' +'atom_entry' *** -'parse_link' +'parse_link' *** diff --git a/include/poller.php b/include/poller.php index 3d13a54808..28e421f5fe 100644 --- a/include/poller.php +++ b/include/poller.php @@ -26,7 +26,9 @@ proc_close(proc_open("\"$php_path\" \"include/queue.php\" &", array(), $foo)); + $hub_update = false; $force = false; + if(($argc > 1) && ($argv[1] == 'force')) $force = true; diff --git a/index.php b/index.php index 38684a00a0..1c06967813 100644 --- a/index.php +++ b/index.php @@ -64,8 +64,11 @@ $db = new dba($db_host, $db_user, $db_pass, $db_data, $install); if(! $install) { require_once("session.php"); load_hooks(); + call_hooks('init_1'); } + + require_once("datetime.php"); date_default_timezone_set(($default_timezone) ? $default_timezone : 'UTC'); @@ -145,6 +148,16 @@ if(strlen($a->module)) { } } +/* initialise content region */ + +if(! x($a->page,'content')) + $a->page['content'] = ''; + + +/** + * Call module functions + */ + if($a->module_loaded) { $a->page['page_title'] = $a->module; if(function_exists($a->module . '_init')) { @@ -166,8 +179,6 @@ if($a->module_loaded) { if((! $a->error) && (function_exists($a->module . '_content'))) { $func = $a->module . '_content'; - if(! x($a->page,'content')) - $a->page['content'] = ''; $a->page['content'] .= $func($a); } @@ -202,6 +213,10 @@ if(x($_SESSION,'sysmsg')) { unset($_SESSION['sysmsg']); } + +call_hooks('page_end', $a->page['content']); + + /** * * Add a place for the pause/resume Ajax indicator @@ -226,6 +241,7 @@ if($a->module != 'install') * Make sure the desired theme exists, though if the default theme doesn't exist we're stuffed. * */ + $default_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : 'default'); if((x($_SESSION,'theme')) && (! file_exists('view/theme/' . $_SESSION['theme'] . '/style.css'))) unset($_SESSION['theme']);