Quick Search:

Mode

Context

Displaying 3 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace:

Diff

1666
 
1667
 
1667
 
database.php
_> 2626  */
  2727 
  2828     public function __construct($name = null) {
<> 29 -      $this->setName($name);
  30 -      $this->_setCookieParameters();
   29+      parent::__construct($name);
3130 
  3231       session_set_save_handler(array(&$this, '_custom_open'),
  3332                                array(&$this, '_custom_close'),
     
 !
6059 /**
  6160  * Read session data from the database based session storage handler
  6261  *
<>  62+ * @param string $id The ID of the session
6363  * @access protected
  6464  */
  6565 
<> 66 -    protected function _custom_read($key) {
   66+    protected function _custom_read($id) {
6767       global $osC_Database;
  6868 
<> 69 -      $Qsession = $osC_Database->query('select value from :table_sessions where sesskey = :sesskey and expiry > :expiry limit 1');
   69+      $Qsession = $osC_Database->query('select value from :table_sessions where sesskey = :sesskey');
7070       $Qsession->bindTable(':table_sessions', TABLE_SESSIONS);
<> 71 -      $Qsession->bindValue(':sesskey', $key);
  72 -      $Qsession->bindRaw(':expiry', time());
   71+      $Qsession->bindValue(':sesskey', $id);
7372       $Qsession->execute();
  7473 
  7574       if ( $Qsession->numberOfRows() === 1 ) {
     
 !
8685 /**
  8786  * Writes session data to the database based session storage handler
  8887  *
<>  88+ * @param string $id The ID of the session
   89+ * @param string $value The session data to store
8990  * @access protected
  9091  */
  9192 
<> 92 -    protected function _custom_write($key, $value) {
   93+    protected function _custom_write($id, $value) {
9394       global $osC_Database;
  9495 
<> 95 -      if ( !$SESS_LIFE = (int)ini_get('session.gc_maxlifetime') ) {
  96 -        $SESS_LIFE = 1440;
  97 -      }
  98 -
  99 -      $expiry = time() + $SESS_LIFE;
  100 -
  101 -      $Qsession = $osC_Database->query('select sesskey from :table_sessions where sesskey = :sesskey limit 1');
   96+      $Qsession = $osC_Database->query('select sesskey from :table_sessions where sesskey = :sesskey');
10297       $Qsession->bindTable(':table_sessions', TABLE_SESSIONS);
<> 103 -      $Qsession->bindValue(':sesskey', $key);
   98+      $Qsession->bindValue(':sesskey', $id);
10499       $Qsession->execute();
  105100 
  106101       if ( $Qsession->numberOfRows() === 1 ) {
     
 !
109104         $Qsession = $osC_Database->query('insert into :table_sessions values (:sesskey, :expiry, :value)');
  110105       }
  111106       $Qsession->bindTable(':table_sessions', TABLE_SESSIONS);
<> 112 -      $Qsession->bindValue(':sesskey', $key);
  113 -      $Qsession->bindValue(':expiry', $expiry);
   107+      $Qsession->bindValue(':sesskey', $id);
   108+      $Qsession->bindValue(':expiry', time());
114109       $Qsession->bindValue(':value', $value);
  115110       $Qsession->execute();
  116111 
  117112       return ( $Qsession->affectedRows() === 1 );
  118113     }
  119114 
  120115 /**
<> 121 - * Deletes the session data from the database based session storage handler
   116+ * Destroys the session data from the database based session storage handler
122117  *
<>  118+ * @param string $id The ID of the session
123119  * @access protected
  124120  */
  125121 
<> 126 -    protected function _custom_destroy($key) {
  127 -      global $osC_Database;
  128 -
  129 -      $Qsession = $osC_Database->query('delete from :table_sessions where sesskey = :sesskey');
  130 -      $Qsession->bindTable(':table_sessions', TABLE_SESSIONS);
  131 -      $Qsession->bindValue(':sesskey', $key);
  132 -      $Qsession->execute();
   122+    protected function _custom_destroy($id) {
   123+      return $this->delete($id);
133124     }
  134125 
  135126 /**
  136127  * Garbage collector for the database based session storage handler
  137128  *
<>  129+ * @param string $max_life_time The maxmimum time a session should exist
138130  * @access protected
  139131  */
  140132 
<> 141 -    protected function _custom_gc($maxlifetime) {
   133+    protected function _custom_gc($max_life_time) {
142134       global $osC_Database;
  143135 
  144136       $Qsession = $osC_Database->query('delete from :table_sessions where expiry < :expiry');
  145137       $Qsession->bindTable(':table_sessions', TABLE_SESSIONS);
<> 146 -      $Qsession->bindValue(':expiry', time());
   138+      $Qsession->bindValue(':expiry', time() - $max_life_time);
147139       $Qsession->execute();
<>  140+
   141+      return ( $Qsession->affectedRows() > 0 );
148142     }
  149143 
  150144 /**
  151145  * Deletes the session data from the database based session storage handler
  152146  *
<> 153 - * @access protected
  154 - * @see _custom_destroy()
   147+ * @param string $id The ID of the session
   148+ * @access public
155149  */
  156150 
<> 157 -    protected function _delete() {
   151+    public function delete($id = null) {
   152+      global $osC_Database;
   153+
   154+      if ( empty($id) ) {
   155+        $id = $this->_id;
   156+      }
   157+
   158+      $Qsession = $osC_Database->query('delete from :table_sessions where sesskey = :sesskey');
   159+      $Qsession->bindTable(':table_sessions', TABLE_SESSIONS);
   160+      $Qsession->bindValue(':sesskey', $id);
   161+      $Qsession->execute();
   162+
   163+      return ( $Qsession->affectedRows() === 1 );
<_ 158164     }
  159165   }
  160166 ?>