[eluser]dansmith65[/eluser]
I noticed an issue where any time $this->_show_message() is called after $this->tank_auth->logout(), the message would not be shown.
It affects these methods in the Auth controller: logout, activate, unregister (it might affect more, those were the only one's I noticed though)
The problem seems to be that tank_auth->logout() destroy's the session, so set_flashdata will not work until the next page load. The solution is to destroy the session, then create it again.
Change this...
Code:
function logout()
{
$this->delete_autologin();
// See http://ellislab.com/forums/viewreply/662369/ as the reason for the next line
$this->ci->session->set_userdata(array('user_id' => '', 'username' => '', 'status' => ''));
$this->ci->session->sess_destroy();
}
To this...
Code:
function logout()
{
$this->delete_autologin();
$this->ci->session->sess_destroy();
$this->ci->session->sess_create();
}
Since the session is being recreated, there is no longer a need to set_userdata to null values.