/[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.2 by joko, Sun Dec 1 22:32:45 2002 UTC
# Line 3  Line 3 
3  //    $Id$  //    $Id$
4  //    -------------------------------------------------------------------------  //    -------------------------------------------------------------------------
5  //    $Log$  //    $Log$
6    //    Revision 1.2  2002/12/01 22:32:45  joko
7    //    + bugfix: wrong object-hierarchy:
8    //       use $this->site->user->preLogout and/or $this->site->request->overrideReq...
9    //    + documented
10    //
11  //    Revision 1.1  2002/11/12 05:42:31  joko  //    Revision 1.1  2002/11/12 05:42:31  joko
12  //    + initial checkin  //    + initial checkin
13  //  //
# Line 25  class Session { Line 30  class Session {
30    function start() {    function start() {
31      global $session_cfg;      global $session_cfg;
32      $session_exists = $this->exists($session_cfg["session_id"]);      $session_exists = $this->exists($session_cfg["session_id"]);
33        //print Dumper($session_exists);
34      if (!is_array($session_exists)) {      if (!is_array($session_exists)) {
35        $this->add_session($session_cfg);        $this->add_session($session_cfg);
36      }      } else {
     else {  
37        $session_cfg["session_uid"] = $session_exists["session_uid"];        $session_cfg["session_uid"] = $session_exists["session_uid"];
38        if ($this->site->user->isLoggedOn()) { $this->validate_idle(); }        if ($this->site->user->isLoggedOn()) {
39            //print "val - idle<br>";
40            $this->validate_idle();
41          }
42          //print "val - session<br>";
43        $this->validate_session($session_cfg);        $this->validate_session($session_cfg);
44      }      }
45    }    }
# Line 53  class Session { Line 62  class Session {
62    }    }
63        
64    function bindUser() {    function bindUser() {
     global $uservars_db;  
65      $session_id = session_id();      $session_id = session_id();
66          $session_tm = $this->exists($session_id);          $session_tm = $this->exists($session_id);
67      $date = date('Y-m-d H:i:s', time());      $date = date('Y-m-d H:i:s', time());
# Line 78  class Session { Line 86  class Session {
86      connectdb();      connectdb();
87      $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'";
88      $res_exists = send_sql($sql_exists);      $res_exists = send_sql($sql_exists);
89      if (!mysql_num_rows($res_exists)>0) {      if (!mysql_num_rows($res_exists) > 0) {
90        return 0;        return 0;
91      }      }
92      else {      else {
# Line 88  class Session { Line 96  class Session {
96    }      }  
97        
98    function validate_idle() {    function validate_idle() {
99      global $cfg, $site, $site_state;  
100        //global $cfg, $site, $site_state;
101        global $cfg, $site_state;
102      $session_id = session_id();      $session_id = session_id();
103        
104      // get "max_idle_time"-time from database      // get "max_idle_time"-time from database
105        $sql = "SELECT pvalue FROM td_global_private WHERE pname='max_idle_time'";        $sql = "SELECT pvalue FROM td_global_private WHERE pname='max_idle_time'";
106        $res = send_sql($sql);        $res = send_sql($sql);
107          $row = mysql_fetch_array($res,MYSQL_ASSOC);        $row = mysql_fetch_array($res, MYSQL_ASSOC);
108          $max_idle_time = $row[pvalue];        $max_idle_time = $row[pvalue];
109          // use a default idle-time of half an hour if database-value is empty  
110          if (!$max_idle_time) $max_idle_time = 60 * 30;      // use a default idle-time of half an hour if database-value is empty
111                  if (!$max_idle_time) $max_idle_time = 60 * 30;
112        
113      // get last "access"-time from database      // get last "access"-time from database
114        $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'";
115        $res_mus = send_sql($sql_mus);        $res_mus = send_sql($sql_mus);
116          $mus = mysql_fetch_array($res_mus,MYSQL_ASSOC);        $mus = mysql_fetch_array($res_mus, MYSQL_ASSOC);
117        
118      // calculate idletime      // calculate idletime
119          $time_now = time();        $time_now = time();
120        $last_date = strtotime($mus[last_date]);        $last_date = strtotime($mus[last_date]);
121          $max_idle_date = $last_date + $max_idle_time;        $max_idle_date = $last_date + $max_idle_time;
122        
123      // check timeout      // check timeout
124      if ($time_now > $max_idle_date) {        if ($time_now > $max_idle_date) {
125         // set autologout message          // set autologout message
126         $tpl= array( 'idle_time' => $max_idle_time / 60, );          $tpl = array( 'idle_time' => $max_idle_time / 60, );
127        $site_state[message] = getlt('table/notify/autologout', $tpl);          $site_state[message] = getlt('table/notify/autologout', $tpl);
128        // throw user to (re)login-page          // throw user to (re)login-page
129        //$site->redirect( getlink('/pub/login/') );          //$site->redirect( getlink('/pub/login/') );
130        $site->user->preLogout();          $this->site->user->preLogout();
131        $site->request->overrideRequestIdentifier('/home/logout/');          $site->site->request->overrideRequestIdentifier('/home/logout/');
132      }        }
133            
134    }      }  
135    

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

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