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

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

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