Changeset 17476


Ignore:
Timestamp:
2008/07/29 20:30:17 (13 years ago)
Author:
Seasoft
Message:

インストールのテーブルDROP時に画面が乱れる症状を回避

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/comu-ver2/data/class/helper/SC_Helper_Session.php

    r16850 r17476  
    1313  * @version $Id$ 
    1414  */ 
    15  class SC_Helper_Session { 
     15class SC_Helper_Session { 
     16 
     17    var $objDb; 
    1618 
    1719     // }}} 
     
    2426      */ 
    2527     function SC_Helper_Session() { 
    26          $objDb = new SC_Helper_DB_Ex(); 
    27          if($objDb->sfTabaleExists("dtb_session")) { 
    28              session_set_save_handler(array(&$this, "sfSessOpen"), 
    29                                       array(&$this, "sfSessClose"), 
    30                                       array(&$this, "sfSessRead"), 
    31                                       array(&$this, "sfSessWrite"), 
    32                                       array(&$this, "sfSessDestroy"), 
    33                                       array(&$this, "sfSessGc")); 
    34          } 
     28         $this->objDb = new SC_Helper_DB_Ex(); 
     29         session_set_save_handler(array(&$this, "sfSessOpen"), 
     30                                  array(&$this, "sfSessClose"), 
     31                                  array(&$this, "sfSessRead"), 
     32                                  array(&$this, "sfSessWrite"), 
     33                                  array(&$this, "sfSessDestroy"), 
     34                                  array(&$this, "sfSessGc")); 
    3535     } 
    3636 
     
    6565      */ 
    6666     function sfSessRead($id) { 
     67         if (!$this->objDb->sfTabaleExists("dtb_session")) return ''; 
    6768         $objQuery = new SC_Query(); 
    6869         $arrRet = $objQuery->select("sess_data", "dtb_session", "sess_id = ?", array($id)); 
    6970         if (empty($arrRet)) { 
    70              return null; 
     71             return ''; 
    7172         } else { 
    72              return($arrRet[0]['sess_data']); 
     73             return $arrRet[0]['sess_data']; 
    7374         } 
    7475     } 
     
    8384     function sfSessWrite($id, $sess_data) 
    8485     { 
     86         if (!$this->objDb->sfTabaleExists("dtb_session")) return false; 
    8587         $objQuery = new SC_Query(); 
    8688         $count = $objQuery->count("dtb_session", "sess_id = ?", array($id)); 
     
    113115      */ 
    114116     function sfSessDestroy($id) { 
     117         if (!$this->objDb->sfTabaleExists("dtb_session")) return false; 
    115118         $objQuery = new SC_Query(); 
    116119         $objQuery->delete("dtb_session", "sess_id = ?", array($id)); 
     
    127130     function sfSessGc($maxlifetime) { 
    128131         // MAX_LIFETIME以上更新されていないセッションを削除する。 
     132         if (!$this->objDb->sfTabaleExists("dtb_session")) return false; 
    129133         $objQuery = new SC_Query(); 
    130134         $where = "update_date < current_timestamp + '-". MAX_LIFETIME . " secs'"; 
Note: See TracChangeset for help on using the changeset viewer.