Ignore:
Timestamp:
2007/08/16 14:55:15 (17 years ago)
Author:
nanasess
Message:

クラス化対応
お知らせを CHAR_SET に応じてエンコーディング変換するように修正

Location:
branches/feature-module-update/data/class
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • branches/feature-module-update/data/class/SC_Session.php

    r15080 r15287  
    88/* セッション管理クラス */ 
    99class SC_Session { 
    10     var $login_id;      // ログインユーザ名 
    11     var $authority;     // ユーザ権限 
    12     var $cert;          // 認証文字列(認証成功の判定に使用) 
    13     var $sid;           // セッションID 
    14     var $member_id;     // ログインユーザの主キー 
     10    var $login_id;      // ログインユーザ名 
     11    var $authority;     // ユーザ権限 
     12    var $cert;          // 認証文字列(認証成功の判定に使用) 
     13    var $sid;           // セッションID 
     14    var $member_id;     // ログインユーザの主キー 
    1515    var $uniqid;         // ページ遷移の正当性チェックに使用 
    16      
    17     /* コンストラクタ */ 
    18     function SC_Session() { 
    19         // セッション開始 
    20         sfDomainSessionStart(); 
    2116 
    22         // セッション情報の保存 
    23         if(isset($_SESSION['cert'])) { 
    24             $this->sid = session_id(); 
    25             $this->cert = $_SESSION['cert']; 
    26             $this->login_id  = $_SESSION['login_id']; 
    27             $this->authority = $_SESSION['authority'];  // 管理者:0, 一般:1, 閲覧:2 
    28             $this->member_id = $_SESSION['member_id']; 
    29             $this->uniqid    = $_SESSION['uniq_id']; 
    30              
    31             // ログに記録する 
    32             gfPrintLog("access : user=".$this->login_id." auth=".$this->authority." sid=".$this->sid); 
    33         } else { 
    34             // ログに記録する 
    35             gfPrintLog("access error."); 
    36         } 
    37     } 
    38     /* 認証成功の判定 */ 
    39     function IsSuccess() { 
    40         global $arrPERMISSION; 
    41         if($this->cert == CERT_STRING) { 
    42             if(isset($arrPERMISSION[$_SERVER['PHP_SELF']])) { 
    43                 // 数値が自分の権限以上のものでないとアクセスできない。 
    44                 if($arrPERMISSION[$_SERVER['PHP_SELF']] < $this->authority) {            
    45                     return AUTH_ERROR; 
    46                 }  
    47             } 
    48             return SUCCESS; 
    49         } 
    50          
    51         return ACCESS_ERROR; 
    52     } 
    53      
    54     /* セッションの書き込み */ 
    55     function SetSession($key, $val) { 
    56         $_SESSION[$key] = $val; 
    57     } 
    58      
    59     /* セッションの読み込み */ 
    60     function GetSession($key) { 
    61         return $_SESSION[$key]; 
    62     } 
    63      
    64     /* セッションIDの取得 */ 
    65     function GetSID() { 
    66         return $this->sid; 
    67     } 
    68      
    69     /** ユニークIDの取得 **/  
     17    /* コンストラクタ */ 
     18    function SC_Session() { 
     19        // セッション開始 
     20        SC_Utils_Ex::sfDomainSessionStart(); 
     21 
     22        // セッション情報の保存 
     23        if(isset($_SESSION['cert'])) { 
     24            $this->sid = session_id(); 
     25            $this->cert = $_SESSION['cert']; 
     26            $this->login_id  = $_SESSION['login_id']; 
     27            $this->authority = $_SESSION['authority'];  // 管理者:0, 一般:1, 閲覧:2 
     28            $this->member_id = $_SESSION['member_id']; 
     29            if (isset($_SESSION['uniq_id'])) { 
     30                $this->uniqid    = $_SESSION['uniq_id']; 
     31            } 
     32 
     33            // ログに記録する 
     34            GC_Utils_Ex::gfPrintLog("access : user=".$this->login_id." auth=".$this->authority." sid=".$this->sid); 
     35        } else { 
     36            // ログに記録する 
     37            GC_Utils_Ex::gfPrintLog("access error."); 
     38        } 
     39    } 
     40    /* 認証成功の判定 */ 
     41    function IsSuccess() { 
     42        global $arrPERMISSION; 
     43        if($this->cert == CERT_STRING) { 
     44            if(isset($arrPERMISSION[$_SERVER['PHP_SELF']])) { 
     45                // 数値が自分の権限以上のものでないとアクセスできない。 
     46                if($arrPERMISSION[$_SERVER['PHP_SELF']] < $this->authority) { 
     47                    return AUTH_ERROR; 
     48                } 
     49            } 
     50            return SUCCESS; 
     51        } 
     52 
     53        return ACCESS_ERROR; 
     54    } 
     55 
     56    /* セッションの書き込み */ 
     57    function SetSession($key, $val) { 
     58        $_SESSION[$key] = $val; 
     59    } 
     60 
     61    /* セッションの読み込み */ 
     62    function GetSession($key) { 
     63        return $_SESSION[$key]; 
     64    } 
     65 
     66    /* セッションIDの取得 */ 
     67    function GetSID() { 
     68        return $this->sid; 
     69    } 
     70 
     71    /** ユニークIDの取得 **/ 
    7072    function getUniqId() { 
    7173        // ユニークIDがセットされていない場合はセットする。 
     
    7577        return $this->GetSession('uniqid'); 
    7678    } 
    77      
    78     /** ユニークIDのセット **/  
     79 
     80    /** ユニークIDのセット **/ 
    7981    function setUniqId() { 
    8082        // 予測されないようにランダム文字列を付与する。 
    81         $this->SetSession('uniqid', sfGetUniqRandomId()); 
     83        $this->SetSession('uniqid', SC_Utils_Ex::sfGetUniqRandomId()); 
    8284    } 
    83      
    84     /* セッションの破棄 */ 
    85     function EndSession() { 
    86         // デフォルトは、「PHPSESSID」 
    87         $sname = session_name(); 
    88         // セッション変数を全て解除する 
    89         $_SESSION = array(); 
    90         // セッションを切断するにはセッションクッキーも削除する。 
    91         // Note: セッション情報だけでなくセッションを破壊する。 
    92         if (isset($_COOKIE[$sname])) { 
    93             setcookie($sname, '', time()-42000, '/'); 
    94         } 
    95         // 最終的に、セッションを破壊する 
    96         session_destroy(); 
    97         // ログに記録する 
    98         gfPrintLog("logout : user=".$this->login_id." auth=".$this->authority." sid=".$this->sid); 
    99     } 
    100      
    101     // 関連セッションのみ破棄する。 
    102     function logout() { 
    103         unset($_SESSION['cert']); 
    104         unset($_SESSION['login_id']); 
    105         unset($_SESSION['authority']); 
    106         unset($_SESSION['member_id']); 
     85 
     86    /* セッションの破棄 */ 
     87    function EndSession() { 
     88        // デフォルトは、「PHPSESSID」 
     89        $sname = session_name(); 
     90        // セッション変数を全て解除する 
     91        $_SESSION = array(); 
     92        // セッションを切断するにはセッションクッキーも削除する。 
     93        // Note: セッション情報だけでなくセッションを破壊する。 
     94        if (isset($_COOKIE[$sname])) { 
     95            setcookie($sname, '', time()-42000, '/'); 
     96        } 
     97        // 最終的に、セッションを破壊する 
     98        session_destroy(); 
     99        // ログに記録する 
     100        gfPrintLog("logout : user=".$this->login_id." auth=".$this->authority." sid=".$this->sid); 
     101    } 
     102 
     103    // 関連セッションのみ破棄する。 
     104    function logout() { 
     105        unset($_SESSION['cert']); 
     106        unset($_SESSION['login_id']); 
     107        unset($_SESSION['authority']); 
     108        unset($_SESSION['member_id']); 
    107109        unset($_SESSION['uniqid']); 
    108         // ログに記録する 
    109         gfPrintLog("logout : user=".$this->login_id." auth=".$this->authority." sid=".$this->sid); 
    110     } 
     110        // ログに記録する 
     111        gfPrintLog("logout : user=".$this->login_id." auth=".$this->authority." sid=".$this->sid); 
     112    } 
    111113} 
    112114?> 
Note: See TracChangeset for help on using the changeset viewer.