[ticket/12985] Add core.login_box_redirect

Add core.login_box_redirect core event to allow extensions to redirect a
user to a specific page when logging in.

PHPBB3-12985
This commit is contained in:
david63 2014-09-19 14:11:05 +01:00 committed by Joas Schilling
parent 98f02ece97
commit 5314c2bddf

View file

@ -2748,7 +2748,7 @@ function confirm_box($check, $title = '', $hidden = '', $html_body = 'confirm_bo
function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = false, $s_display = true) function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = false, $s_display = true)
{ {
global $db, $user, $template, $auth, $phpEx, $phpbb_root_path, $config; global $db, $user, $template, $auth, $phpEx, $phpbb_root_path, $config;
global $request, $phpbb_container; global $request, $phpbb_container, $phpbb_dispatcher;
$err = ''; $err = '';
@ -2834,6 +2834,18 @@ function login_box($redirect = '', $l_explain = '', $l_success = '', $admin = fa
{ {
$redirect = request_var('redirect', "{$phpbb_root_path}index.$phpEx"); $redirect = request_var('redirect', "{$phpbb_root_path}index.$phpEx");
/**
* This event allows an extension to modify the redirection when a user successfully logs in
*
* @event core.login_box_redirect
* @var string redirect Redirect string
* @var boolean admin Is admin?
* @var bool return If true, do not redirect but return the sanitized URL.
* @since 3.1.0-RC5
*/
$vars = array('redirect', 'admin', 'return');
extract($phpbb_dispatcher->trigger_event('core.login_box_redirect', compact($vars)));
// append/replace SID (may change during the session for AOL users) // append/replace SID (may change during the session for AOL users)
$redirect = reapply_sid($redirect); $redirect = reapply_sid($redirect);