diff options
author | Tobi Schäfer <mail@tas2580.net> | 2016-05-05 02:30:25 +0200 |
---|---|---|
committer | Marc Alexander <admin@m-a-styles.de> | 2016-06-13 21:10:13 +0200 |
commit | 256730c76a43e14b91572a70819b016950ea0955 (patch) | |
tree | 80b9a44e2cd5db50b889960ee02a5c275e3daf83 | |
parent | d316927225d6fba9764c65756316c60a8d87658f (diff) | |
download | forums-256730c76a43e14b91572a70819b016950ea0955.tar forums-256730c76a43e14b91572a70819b016950ea0955.tar.gz forums-256730c76a43e14b91572a70819b016950ea0955.tar.bz2 forums-256730c76a43e14b91572a70819b016950ea0955.tar.xz forums-256730c76a43e14b91572a70819b016950ea0955.zip |
[ticket/14626] Event core.make_jumpbox_modify_tpl_ary
PHPBB3-14626
-rw-r--r-- | phpBB/includes/functions_content.php | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/phpBB/includes/functions_content.php b/phpBB/includes/functions_content.php index e05fcb0586..a9694e606e 100644 --- a/phpBB/includes/functions_content.php +++ b/phpBB/includes/functions_content.php @@ -150,7 +150,7 @@ function gen_sort_selects(&$limit_days, &$sort_by_text, &$sort_days, &$sort_key, */ function make_jumpbox($action, $forum_id = false, $select_all = false, $acl_list = false, $force_display = false) { - global $config, $auth, $template, $user, $db, $phpbb_path_helper; + global $config, $auth, $template, $user, $db, $phpbb_path_helper, $phpbb_dispatcher; // We only return if the jumpbox is not forced to be displayed (in case it is needed for functionality) if (!$config['load_jumpbox'] && $force_display === false) @@ -205,20 +205,21 @@ function make_jumpbox($action, $forum_id = false, $select_all = false, $acl_list continue; } + $tpl_ary = array(); if (!$display_jumpbox) { - $template->assign_block_vars('jumpbox_forums', array( + $tpl_ary[] = array( 'FORUM_ID' => ($select_all) ? 0 : -1, 'FORUM_NAME' => ($select_all) ? $user->lang['ALL_FORUMS'] : $user->lang['SELECT_FORUM'], 'S_FORUM_COUNT' => $iteration, 'LINK' => $phpbb_path_helper->append_url_params($action, array('f' => $forum_id)), - )); + ); $iteration++; $display_jumpbox = true; } - $template->assign_block_vars('jumpbox_forums', array( + $tpl_ary[] = array( 'FORUM_ID' => $row['forum_id'], 'FORUM_NAME' => $row['forum_name'], 'SELECTED' => ($row['forum_id'] == $forum_id) ? ' selected="selected"' : '', @@ -227,7 +228,27 @@ function make_jumpbox($action, $forum_id = false, $select_all = false, $acl_list 'S_IS_LINK' => ($row['forum_type'] == FORUM_LINK) ? true : false, 'S_IS_POST' => ($row['forum_type'] == FORUM_POST) ? true : false, 'LINK' => $phpbb_path_helper->append_url_params($action, array('f' => $row['forum_id'])), - )); + ); + + /** + * Modify the jumpbox before it is assigned to the template + * + * @event core.make_jumpbox_modify_tpl_ary + * @var array row The data of the forum + * @var array tpl_ary Template data of the forum + * @since 3.1.10-RC1 + */ + $vars = array( + 'row', + 'tpl_ary', + ); + extract($phpbb_dispatcher->trigger_event('core.make_jumpbox_modify_tpl_ary', compact($vars))); + + foreach($tpl_ary as $i => $ary) + { + $template->assign_block_vars('jumpbox_forums', $ary); + } + unset($tpl_ary); for ($i = 0; $i < $padding; $i++) { |