Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

Flash features does'nt applies while redirecting

#16

Flash feautures dosn't work when you use redirect_to() because flash_sweep() isn't called before redirecting. We need to exit properly application before redirecting.

stop_and_exit() will be called but without exiting, by patching it with an $exit optionnal parameter

/**
 * Stop and exit limonade application
 *
 * @access private 
 * @param boolean exit or not
 * @return void
 */
function stop_and_exit($exit = true)
{
  call_if_exists('before_exit');
  flash_sweep();
  if(defined('SID')) session_write_close();
  if($exit) exit;
}

Then we'll call it in the redirect_to:

/**
 * Http redirection
 *
 * @param string $params,... 
 * @return void
 */
function redirect_to($params)
{
  # [NOTE]: (from php.net) HTTP/1.1 requires an absolute URI as argument to » Location:
  # including the scheme, hostname and absolute path, but some clients accept
  # relative URIs. You can usually use $_SERVER['HTTP_HOST'],
  # $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative
  # one yourself.
  
  # TODO make absolute uri
  if(!headers_sent())
    {
    $uri = call_user_func_array('url_for', $params);
    stop_and_exit(false);
    header('Location: '.$uri);
    exit;
  }
}

Reported by Fabrice Luraine · July 24th, 2009 @ 04:22 PM

State: resolved
Assigned to: Fabrice Luraine Fabrice Luraine

Activity

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.