/[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.3 by joko, Tue Dec 3 16:13:21 2002 UTC revision 1.8 by jonen, Sat Dec 28 01:17:53 2002 UTC
# Line 3  Line 3 
3  //    $Id$  //    $Id$
4  //    -------------------------------------------------------------------------  //    -------------------------------------------------------------------------
5  //    $Log$  //    $Log$
6    //    Revision 1.8  2002/12/28 01:17:53  jonen
7    //    - moved 'validate_idle()' to 'presentation.php' cause some problems
8    //      with '$site->request->overrideRequestIdentifer()' at class scope
9    //
10    //    Revision 1.7  2002/12/13 00:24:03  jonen
11    //    - added debug Dumper
12    //
13    //    Revision 1.6  2002/12/05 21:46:09  joko
14    //    + global $sessionstate (session-variable)
15    //    + function get
16    //    + function set
17    //
18    //    Revision 1.5  2002/12/04 10:13:21  joko
19    //    - purged old code in validate_session
20    //
21  //    Revision 1.3  2002/12/03 16:13:21  joko  //    Revision 1.3  2002/12/03 16:13:21  joko
22  //    + bugfix with autologout:  //    + bugfix with autologout:
23  //      + now just setting some message to site_state here  //      + now just setting some message to site_state here
# Line 31  class Session { Line 46  class Session {
46      $session_cfg["user_agent"] = $_SERVER["HTTP_USER_AGENT"];          $session_cfg["user_agent"] = $_SERVER["HTTP_USER_AGENT"];    
47      $session_cfg["http_referer"] = $_SERVER["HTTP_REFERER"];      $session_cfg["http_referer"] = $_SERVER["HTTP_REFERER"];
48      $session_cfg["date"] = date('Y-m-d H:i:s', time());      $session_cfg["date"] = date('Y-m-d H:i:s', time());
49    
50        if (session_register_safe('sessionstate')) {
51        }
52    
53    }    }
54        
55    function start() {    function start() {
# Line 41  class Session { Line 60  class Session {
60        $this->add_session($session_cfg);        $this->add_session($session_cfg);
61      } else {      } else {
62        $session_cfg["session_uid"] = $session_exists["session_uid"];        $session_cfg["session_uid"] = $session_exists["session_uid"];
63        if ($this->site->user->isLoggedOn()) {        //if ($this->site->user->isLoggedOn()) {
64          //print "val - idle<br>";          //print "val - idle<br>";
65          $this->validate_idle();          //$this->validate_idle();
66        }        //}
67        //print "val - session<br>";        //print "val - session<br>";
68        $this->validate_session($session_cfg);        //$this->validate_session($session_cfg);
69      }      }
70    }    }
71        
# Line 75  class Session { Line 94  class Session {
94      if($res = send_sql($sql)) {      if($res = send_sql($sql)) {
95          $row = mysql_fetch_array($res,MYSQL_ASSOC);          $row = mysql_fetch_array($res,MYSQL_ASSOC);
96      //if (!mysql_num_rows($res)>0) {      //if (!mysql_num_rows($res)>0) {
97        $sql2 = "INSERT INTO f_map_user_session VALUES ('','$site->user->get('oid')','$session_tm[session_uid]','$date','','1')";        $sql2 = "INSERT INTO f_map_user_session VALUES ('','$this->site->user->get('oid')','$session_tm[session_uid]','$date','','1')";
98        $res2 = send_sql($sql2);        $res2 = send_sql($sql2);
99      }      }
100      else {      else {
101          //print_r($row);          //print_r($row);
102        $sql3 = "Update f_map_user_session SET last='0' WHERE mid='$row[mid]'";        $sql3 = "Update f_map_user_session SET last='0' WHERE mid='$row[mid]'";
103        $res3 = send_sql($sql3);          $res3 = send_sql($sql3);  
104        $sql4 = "INSERT INTO f_map_user_session VALUES ('','$site->user->get('oid')','$session_tm[session_uid]','$date','','1')";        $sql4 = "INSERT INTO f_map_user_session VALUES ('','$this->site->user->get('oid')','$session_tm[session_uid]','$date','','1')";
105        $res4 = send_sql($sql4);        $res4 = send_sql($sql4);
106      }      }
107    }    }
# Line 101  class Session { Line 120  class Session {
120          }          }
121    }      }  
122        
   function validate_idle() {  
123    
     //global $cfg, $site, $site_state;  
     global $cfg, $site_state;  
     $session_id = session_id();  
   
     // get "max_idle_time"-time from database  
       $sql = "SELECT pvalue FROM td_global_private WHERE pname='max_idle_time'";  
       $res = send_sql($sql);  
       $row = mysql_fetch_array($res, MYSQL_ASSOC);  
       $max_idle_time = $row[pvalue];  
   
     // use a default idle-time of half an hour if database-value is empty  
       if (!$max_idle_time) $max_idle_time = 60 * 30;  
124        
125      // get last "access"-time from database    function get($attribute) {
126        $sql_mus = "SELECT last_date FROM f_td_sessions WHERE session_id='$session_id'";      global $sessionstate;
127        $res_mus = send_sql($sql_mus);  //print "session - get: " . Dumper($sessionstate) . "<br>";
128        $mus = mysql_fetch_array($res_mus, MYSQL_ASSOC);      return $sessionstate[$attribute];
129        }
130      // calculate idletime  
131        $time_now = time();    function set($attribute, $value) {
132        $last_date = strtotime($mus[last_date]);      global $sessionstate;
133        $max_idle_date = $last_date + $max_idle_time;  //print "val: " . Dumper($value) . "<br>";
134        $sessionstate[$attribute] = $value;
135      // check timeout  //print "session - set: " . Dumper($sessionstate) . "<br>";
136        if ($time_now > $max_idle_date) {    }
         // set autologout message  
         //$tpl = array( 'idle_time' => $max_idle_time / 60, );  
         //$site_state[message] = getlt('table/notify/autologout', $tpl);  
         //$site_state[_autologout] = array( langkey => getlt('table/notify/autologout', $tpl);  
         // throw user to (re)login-page  
         //$site->redirect( getlink('/pub/login/') );  
         $this->site->user->preLogout(1);  
         $this->site->request->overrideRequestIdentifier('/home/logout/');  
       }  
       
   }    
137    
138  }  }
139    

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

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