Changeset 248

Show
Ignore:
Timestamp:
12/10/2006 07:34:51 AM (4 years ago)
Author:
DotMG
Message:

#245 : The HTTP_REFERER is stored in a session var if it seems to be an internal referrer.
When login is successful, redirect to this saved value.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/actions/usersettings.php

    r231 r248  
    113113$url = $this->config['base_url'].$this->tag; 
    114114 
     115//Remember referring page if internal. 
     116if (isset($_SERVER['HTTP_REFERER']) && preg_match('/^'.preg_quote($this->config['base_url'], '/')."([^\\/\\?]*)/", $_SERVER['HTTP_REFERER'], $match)) 
     117{ 
     118        if (strcasecmp($this->tag, $match[1])) 
     119        { 
     120                $_SESSION['go_back'] = $_SERVER['HTTP_REFERER']; 
     121        } 
     122} 
     123 
    115124// append URL params depending on rewrite_mode 
    116125$params = ($this->config['rewrite_mode'] == 1)? '?' : '&'; 
     
    360369                                default: 
    361370                                        $this->SetUser($existingUser); 
     371                                        if (isset($_SESSION['go_back']))  
     372                                        { 
     373                                                $go_back = $_SESSION['go_back']; 
     374                                                unset($_SESSION['go_back']); 
     375                                                $this->Redirect($go_back); 
     376                                        } 
    362377                                        $this->Redirect($url, ''); 
    363378                        }