/[cvs]/nfo/php/libs/org.netfrag.flib/Tracker/Session.php
ViewVC logotype

Diff of /nfo/php/libs/org.netfrag.flib/Tracker/Session.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by joko, Tue Nov 12 05:42:31 2002 UTC revision 1.5 by joko, Wed Dec 4 10:13:21 2002 UTC
# Line 3  Line 3 
3  //    $Id$  //    $Id$
4  //    -------------------------------------------------------------------------  //    -------------------------------------------------------------------------
5  //    $Log$  //    $Log$
6    //    Revision 1.5  2002/12/04 10:13:21  joko
7    //    - purged old code in validate_session
8    //
9    //    Revision 1.3  2002/12/03 16:13:21  joko
10    //    + bugfix with autologout:
11    //      + now just setting some message to site_state here
12    //      + no direct getlt! (it's a shortcut function)
13    //      + $this->site->user->preLogout(1);  as autoload mechanism
14    //
15    //    Revision 1.2  2002/12/01 22:32:45  joko
16    //    + bugfix: wrong object-hierarchy:
17    //       use $this->site->user->preLogout and/or $this->site->request->overrideReq...
18    //    + documented
19    //
20  //    Revision 1.1  2002/11/12 05:42:31  joko  //    Revision 1.1  2002/11/12 05:42:31  joko
21  //    + initial checkin  //    + initial checkin
22  //  //
# Line 25  class Session { Line 39  class Session {
39    function start() {    function start() {
40      global $session_cfg;      global $session_cfg;
41      $session_exists = $this->exists($session_cfg["session_id"]);      $session_exists = $this->exists($session_cfg["session_id"]);
42        //print Dumper($session_exists);
43      if (!is_array($session_exists)) {      if (!is_array($session_exists)) {
44        $this->add_session($session_cfg);        $this->add_session($session_cfg);
45      }      } else {
     else {  
46        $session_cfg["session_uid"] = $session_exists["session_uid"];        $session_cfg["session_uid"] = $session_exists["session_uid"];
47        if ($this->site->user->isLoggedOn()) { $this->validate_idle(); }        if ($this->site->user->isLoggedOn()) {
48            //print "val - idle<br>";
49            $this->validate_idle();
50          }
51          //print "val - session<br>";
52        $this->validate_session($session_cfg);        $this->validate_session($session_cfg);
53      }      }
54    }    }
# Line 53  class Session { Line 71  class Session {
71    }    }
72        
73    function bindUser() {    function bindUser() {
     global $uservars_db;  
74      $session_id = session_id();      $session_id = session_id();
75          $session_tm = $this->exists($session_id);          $session_tm = $this->exists($session_id);
76      $date = date('Y-m-d H:i:s', time());      $date = date('Y-m-d H:i:s', time());
# Line 78  class Session { Line 95  class Session {
95      connectdb();      connectdb();
96      $sql_exists = "SELECT session_uid,session_id FROM f_td_sessions WHERE session_id='$session_id'";      $sql_exists = "SELECT session_uid,session_id FROM f_td_sessions WHERE session_id='$session_id'";
97      $res_exists = send_sql($sql_exists);      $res_exists = send_sql($sql_exists);
98      if (!mysql_num_rows($res_exists)>0) {      if (!mysql_num_rows($res_exists) > 0) {
99        return 0;        return 0;
100      }      }
101      else {      else {
# Line 88  class Session { Line 105  class Session {
105    }      }  
106        
107    function validate_idle() {    function validate_idle() {
108      global $cfg, $site, $site_state;  
109        //global $cfg, $site, $site_state;
110        global $cfg, $site_state;
111      $session_id = session_id();      $session_id = session_id();
112      
113      // get "max_idle_time"-time from database      // get "max_idle_time"-time from database
114        $sql = "SELECT pvalue FROM td_global_private WHERE pname='max_idle_time'";        $sql = "SELECT pvalue FROM td_global_private WHERE pname='max_idle_time'";
115        $res = send_sql($sql);        $res = send_sql($sql);
116          $row = mysql_fetch_array($res,MYSQL_ASSOC);        $row = mysql_fetch_array($res, MYSQL_ASSOC);
117          $max_idle_time = $row[pvalue];        $max_idle_time = $row[pvalue];
118          // use a default idle-time of half an hour if database-value is empty  
119          if (!$max_idle_time) $max_idle_time = 60 * 30;      // use a default idle-time of half an hour if database-value is empty
120                  if (!$max_idle_time) $max_idle_time = 60 * 30;
121        
122      // get last "access"-time from database      // get last "access"-time from database
123        $sql_mus = "SELECT last_date FROM f_td_sessions WHERE session_id='$session_id'";        $sql_mus = "SELECT last_date FROM f_td_sessions WHERE session_id='$session_id'";
124        $res_mus = send_sql($sql_mus);        $res_mus = send_sql($sql_mus);
125          $mus = mysql_fetch_array($res_mus,MYSQL_ASSOC);        $mus = mysql_fetch_array($res_mus, MYSQL_ASSOC);
126        
127      // calculate idletime      // calculate idletime
128          $time_now = time();        $time_now = time();
129        $last_date = strtotime($mus[last_date]);        $last_date = strtotime($mus[last_date]);
130          $max_idle_date = $last_date + $max_idle_time;        $max_idle_date = $last_date + $max_idle_time;
131      
132      // check timeout      // check timeout
133      if ($time_now > $max_idle_date) {        if ($time_now > $max_idle_date) {
134         // set autologout message          // TODO: REVIEW (re-enable?)
135         $tpl= array( 'idle_time' => $max_idle_time / 60, );          // throw user to (re)login-page
136        $site_state[message] = getlt('table/notify/autologout', $tpl);          // $site->redirect( getlink('/pub/login/') );
137        // throw user to (re)login-page          $this->site->user->preLogout(1);
138        //$site->redirect( getlink('/pub/login/') );          $this->site->request->overrideRequestIdentifier('/home/logout/');
139        $site->user->preLogout();        }
       $site->request->overrideRequestIdentifier('/home/logout/');  
     }  
140            
141    }      }  
142    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.5

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed