Changeset 4480 in subversion


Ignore:
Timestamp:
Feb 2, 2011 1:24:14 PM (2 years ago)
Author:
thomasb
Message:

Keep rcube_session->lifetime and keep_alive in sync

Location:
trunk/roundcubemail/program/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/roundcubemail/program/include/rcmail.php

    r4467 r4480  
    769769    if (is_object($user) && $user->ID) { 
    770770      $this->set_user($user); 
     771      $this->session_configure(); 
    771772 
    772773      // set session vars 
  • trunk/roundcubemail/program/include/rcube_session.php

    r4466 r4480  
    5151  { 
    5252    $this->db = $db; 
    53     $this->lifetime = $lifetime; 
    5453    $this->start = microtime(true); 
    5554    $this->ip = $_SERVER['REMOTE_ADDR']; 
    5655 
    57     // valid time range is now - 1/2 lifetime to now + 1/2 lifetime 
    58     $now = time(); 
    59     $this->now = $now - ($now % ($this->lifetime / 2)); 
    60     $this->prev = $this->now - ($this->lifetime / 2); 
     56    $this->set_lifetime($lifetime); 
    6157 
    6258    // set custom functions for PHP session management 
     
    366362  } 
    367363 
     364 
     365  /** 
     366   * Setter for session lifetime 
     367   */ 
     368  public function set_lifetime($lifetime) 
     369  { 
     370      $this->lifetime = max(120, $lifetime); 
     371 
     372      // valid time range is now - 1/2 lifetime to now + 1/2 lifetime 
     373      $now = time(); 
     374      $this->now = $now - ($now % ($this->lifetime / 2)); 
     375      $this->prev = $this->now - ($this->lifetime / 2); 
     376  } 
     377 
    368378  /** 
    369379   * Setter for keep_alive interval 
     
    372382  { 
    373383    $this->keep_alive = $keep_alive; 
     384     
     385    if ($this->lifetime < $keep_alive) 
     386        $this->set_lifetime($keep_alive + 30); 
    374387  } 
    375388 
Note: See TracChangeset for help on using the changeset viewer.