J'ai finalement adapté les infos d'ici pour créer mon petit MOD.
Je sais que ce n'est pas dans les normes des MODs habituels mais si ça intéresse quelqu'un:
- ajouter un champs dans phpbb_config (adapter 'maDB'!)
Code : Tout sélectionner
INSERT INTO `maDB`.`phpbb_config` (`config_name`, `config_value`, `is_dynamic`) VALUES ('from_page', 'index', '0');
Code : Tout sélectionner
/**
* get the "from current" page name
*/
function db_from_page()
{
global $db;
$sql = "SELECT config_value
FROM " . CONFIG_TABLE . "
WHERE config_name = 'from_page'";
$result = $db->sql_query($sql);
$from_portal_index = $db->sql_fetchfield('config_value');
$db->sql_freeresult($result);
return "$from_portal_index.$phpEx";
}
Code : Tout sélectionner
// Generate logged in/logged out status
if ($user->data['user_id'] != ANONYMOUS)
{
$u_login_logout = append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=logout', true, $user->session_id);
$l_login_logout = sprintf($user->lang['LOGOUT_USER'], $user->data['username']);
}
else
{
$u_login_logout = append_sid("{$phpbb_root_path}ucp.$phpEx", 'mode=login');
$l_login_logout = $user->lang['LOGIN'];
}
Code : Tout sélectionner
$from_portal_index = build_from_page();
if ($from_portal_index == "index" || $from_portal_index == "portal")
{
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '" . $from_portal_index . "'
WHERE config_name = 'from_page'";
$db->sql_query($sql);
}
Code : Tout sélectionner
// The result parameter is always an array, holding the relevant information...
if ($result['status'] == LOGIN_SUCCESS)
{
$redirect = request_var('redirect', "{$phpbb_root_path}index.$phpEx");
$message = ($l_success) ? $l_success : $user->lang['LOGIN_REDIRECT'];
$l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "{$phpbb_root_path}index.$phpEx" || $redirect === "index.$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']);
$l_redirect = ($admin) ? $user->lang['PROCEED_TO_ACP'] : (($redirect === "{$phpbb_root_path}" . $from_portal_index . ".$phpEx" || $redirect === "" . $from_portal_index . ".$phpEx") ? $user->lang['RETURN_INDEX'] : $user->lang['RETURN_PAGE']);
// append/replace SID (may change during the session for AOL users)
$redirect = reapply_sid(db_from_page().$phpEx);
// Special case... the user is effectively banned, but we allow founders to login
if (defined('IN_CHECK_BAN') && $result['user_row']['user_type'] != USER_FOUNDER)
{
return;
}
$redirect = meta_refresh(3, $redirect);
trigger_error($message . '<br /><br />' . sprintf($l_redirect, '<a href="' . $redirect . '">', '</a>'));
Code : Tout sélectionner
// The result parameter is always an array, holding the relevant information...
if ($result['status'] == LOGIN_SUCCESS)
{
// append/replace SID (may change during the session for AOL users)
$redirect = reapply_sid(db_from_page().$phpEx);
// Special case... the user is effectively banned, but we allow founders to login
if (defined('IN_CHECK_BAN') && $result['user_row']['user_type'] != USER_FOUNDER)
{
return;
}
redirect($redirect);
Code : Tout sélectionner
$message = $user->lang['LOGOUT_REDIRECT'];
redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
Code : Tout sélectionner
$message = $user->lang['LOGOUT_REDIRECT'];
// redirect(append_sid("{$phpbb_root_path}index.$phpEx"));
redirect(append_sid("{$phpbb_root_path}".db_from_page().$phpEx));