diff options
author | Igor Wiedler <igor@wiedler.ch> | 2012-08-25 17:00:40 +0200 |
---|---|---|
committer | Igor Wiedler <igor@wiedler.ch> | 2012-08-25 17:00:40 +0200 |
commit | ae85d43757463e743917f43ee3e014a8b1af85d6 (patch) | |
tree | e4c2b7188baadd74cbf968a4174cd5257ccdfb0e /phpBB/includes/functions.php | |
parent | fd9fd71a88fad2b33d75722587dbfc0bd100ae50 (diff) | |
parent | bfdba90a34ad95c7cb9e0bc187cb464c83f8ba59 (diff) | |
download | forums-ae85d43757463e743917f43ee3e014a8b1af85d6.tar forums-ae85d43757463e743917f43ee3e014a8b1af85d6.tar.gz forums-ae85d43757463e743917f43ee3e014a8b1af85d6.tar.bz2 forums-ae85d43757463e743917f43ee3e014a8b1af85d6.tar.xz forums-ae85d43757463e743917f43ee3e014a8b1af85d6.zip |
Merge remote-tracking branch 'upstream/develop' into feature/dic
* upstream/develop: (259 commits)
[prep-release-3.0.11] Bumping version number for 3.0.11 final.
[feature/php-events] Fix doc of core.viewonline_overwrite_location
[feature/php-events] Fix doc of core.user_set_default_group
[feature/php-events] Fix doc of core.generate_smilies_after
[feature/php-events] Fix doc of core.delete_user_after
[feature/php-events] Fix doc of core.delete_user_before
[feature/php-events] Fix doc of core.update_username
[feature/php-events] Fix doc of core.memberlist_prepare_profile_data
[feature/php-events] Fix doc and position of viewonline_overwrite_location
[feature/php-events] Fix doc of core.viewtopic_get_post_data
[feature/php-events] Fix doc of core.viewtopic_cache_guest_data
[ticket/11061] Add the --dev flag to the composer instructions in README
[ticket/11060] Make sure pyrus can install everything on travis
[ticket/11059] Use https for the README logo
[feature/php-events] Fix acp_manage_forums_update_data_before and is_new_forum
[feature/php-events] Fix core.acp_manage_forums_update_data_after vars
[ticket/11032] fix language of error displayed
[ticket/11052] update search backend constructor everywhere
[ticket/11052] pass parametes to search construct while posting
[ticket/11054] Fixed $config var description
...
Conflicts:
phpBB/includes/cron/task/core/tidy_cache.php
phpBB/includes/cron/task/core/tidy_search.php
Diffstat (limited to 'phpBB/includes/functions.php')
-rw-r--r-- | phpBB/includes/functions.php | 59 |
1 files changed, 55 insertions, 4 deletions
diff --git a/phpBB/includes/functions.php b/phpBB/includes/functions.php index e5b721b1f5..ecec1e5e4a 100644 --- a/phpBB/includes/functions.php +++ b/phpBB/includes/functions.php @@ -4753,6 +4753,31 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0 define('HEADER_INC', true); + // A listener can set this variable to `true` when it overrides this function + $page_header_override = false; + + /** + * Execute code and/or overwrite page_header() + * + * @event core.page_header + * @var string page_title Page title + * @var bool display_online_list Do we display online users list + * @var string item Restrict online users to a certain + * session item, e.g. forum for + * session_forum_id + * @var int item_id Restrict online users to item id + * @var bool page_header_override Shall we return instead of running + * the rest of page_header() + * @since 3.1-A1 + */ + $vars = array('page_title', 'display_online_list', 'item_id', 'item', 'page_header_override'); + extract($phpbb_dispatcher->trigger_event('core.page_header', compact($vars))); + + if ($page_header_override) + { + return; + } + // gzip_compression if ($config['gzip_compress']) { @@ -5033,9 +5058,6 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0 'A_COOKIE_SETTINGS' => addslashes('; path=' . $config['cookie_path'] . ((!$config['cookie_domain'] || $config['cookie_domain'] == 'localhost' || $config['cookie_domain'] == '127.0.0.1') ? '' : '; domain=' . $config['cookie_domain']) . ((!$config['cookie_secure']) ? '' : '; secure')), )); - $vars = array('page_title', 'display_online_list', 'item_id', 'item'); - extract($phpbb_dispatcher->trigger_event('core.page_header', compact($vars))); - // application/xhtml+xml not used because of IE header('Content-type: text/html; charset=UTF-8'); @@ -5058,7 +5080,27 @@ function page_header($page_title = '', $display_online_list = true, $item_id = 0 function page_footer($run_cron = true) { global $db, $config, $template, $user, $auth, $cache, $starttime, $phpbb_root_path, $phpEx; - global $request; + global $request, $phpbb_dispatcher; + + // A listener can set this variable to `true` when it overrides this function + $page_footer_override = false; + + /** + * Execute code and/or overwrite page_footer() + * + * @event core.page_footer + * @var bool run_cron Shall we run cron tasks + * @var bool page_footer_override Shall we return instead of running + * the rest of page_footer() + * @since 3.1-A1 + */ + $vars = array('run_cron', 'page_footer_override'); + extract($phpbb_dispatcher->trigger_event('core.page_footer', compact($vars))); + + if ($page_footer_override) + { + return; + } // Output page creation time if (defined('DEBUG')) @@ -5143,6 +5185,15 @@ function page_footer($run_cron = true) function garbage_collection() { global $cache, $db; + global $phpbb_dispatcher; + + /** + * Unload some objects, to free some memory, before we finish our task + * + * @event core.garbage_collection + * @since 3.1-A1 + */ + $phpbb_dispatcher->dispatch('core.garbage_collection'); // Unload cache, must be done before the DB connection if closed if (!empty($cache)) |