Ignore:
Timestamp:
Jan 15, 2006, 2:49:29 PM (18 years ago)
Author:
nikrou
Message:

Revert to revision 1002

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/branch-1_5/include/user.inc.php

    r1003 r1005  
    2727
    2828// retrieving connected user informations
    29 if (isset($_COOKIE[session_name()]))
     29if (isset($_COOKIE['id']))
    3030{
    31  session_start();
    32  if (isset($_SESSION['id']))
    33  {
    34    $user['id'] = $_SESSION['id'];   
    35  }
    36  else
    37  {
    38    // session timeout
    39    $user['id'] = $conf['guest_id'];
    40    $user['is_the_guest'] = true;
    41  }
    42 }
    43 else
     31  $session_id = $_COOKIE['id'];
     32  $user['has_cookie'] = true;
     33}
     34else if (isset($_GET['id']))
    4435{
    45  $user['id'] = $conf['guest_id'];
    46  $user['is_the_guest'] = true;
     36  $session_id = $_GET['id'];
     37  $user['has_cookie'] = false;
     38}
     39else
     40{
     41  $user['has_cookie'] = false;
     42}
     43
     44if (isset($session_id)
     45    and ereg("^[0-9a-zA-Z]{".$conf['session_id_size']."}$", $session_id))
     46{
     47  $page['session_id'] = $session_id;
     48  $query = '
     49SELECT user_id,expiration,NOW() AS now
     50  FROM '.SESSIONS_TABLE.'
     51  WHERE id = \''.$page['session_id'].'\'
     52;';
     53  $result = pwg_query($query);
     54  if (mysql_num_rows($result) > 0)
     55  {
     56    $row = mysql_fetch_array($result);
     57    if (strnatcmp($row['expiration'], $row['now']) < 0)
     58    {
     59      // deletion of the session from the database, because it is
     60      // out-of-date
     61      $delete_query = '
     62DELETE FROM '.SESSIONS_TABLE.'
     63  WHERE id = \''.$page['session_id'].'\'
     64;';
     65      pwg_query($delete_query);
     66    }
     67    else
     68    {
     69      $user['id'] = $row['user_id'];
     70      $user['is_the_guest'] = false;
     71    }
     72  }
     73}
     74if (!isset($user['id']))
     75{
     76  $user['id'] = $conf['guest_id'];
     77  $user['is_the_guest'] = true;
    4778}
    4879
Note: See TracChangeset for help on using the changeset viewer.