Ignore:
Timestamp:
2012/02/17 02:42:21 (14 years ago)
Author:
Seasoft
Message:

#1613 (ソース整形・ソースコメントの改善)

  • Zend Framework PHP 標準コーディング規約への準拠を高めた
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/helper/SC_Helper_Session.php

    r21515 r21527  
    11<?php 
    2  /* 
    3   * Copyright(c) 2000-2011 LOCKON CO.,LTD. All Rights Reserved. 
    4   * 
    5   * http://www.lockon.co.jp/ 
    6   */ 
    7  
    8  /** 
    9   * セッション関連のヘルパークラス. 
    10   * 
    11   * @package Helper 
    12   * @author LOCKON CO.,LTD. 
    13   * @version $Id$ 
    14   */ 
     2/* 
     3 * Copyright(c) 2000-2011 LOCKON CO.,LTD. All Rights Reserved. 
     4 * 
     5 * http://www.lockon.co.jp/ 
     6 */ 
     7 
     8/** 
     9 * セッション関連のヘルパークラス. 
     10 * 
     11 * @package Helper 
     12 * @author LOCKON CO.,LTD. 
     13 * @version $Id$ 
     14 */ 
    1515class SC_Helper_Session { 
    1616 
    1717    var $objDb; 
    1818 
    19      // }}} 
    20      // {{{ constructor 
    21  
    22      /** 
    23       * デフォルトコンストラクタ. 
    24       * 
    25       * 各関数をセッションハンドラに保存する 
    26       */ 
    27      function SC_Helper_Session() { 
    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')); 
    35      } 
    36  
    37      // }}} 
    38      // {{{ functions 
    39  
    40      /** 
    41       * セッションを開始する. 
    42       * 
    43       * @param string $save_path セッションを保存するパス(使用しない) 
    44       * @param string $session_name セッション名(使用しない) 
    45       * @return bool セッションが正常に開始された場合 true 
    46       */ 
    47      function sfSessOpen($save_path, $session_name) { 
    48          return true; 
    49      } 
    50  
    51      /** 
    52       * セッションを閉じる. 
    53       * 
    54       * @return bool セッションが正常に終了した場合 true 
    55       */ 
    56      function sfSessClose() { 
    57          return true; 
    58      } 
    59  
    60      /** 
    61       * セッションのデータをDBから読み込む. 
    62       * 
    63       * @param string $id セッションID 
    64       * @return string セッションデータの値 
    65       */ 
    66      function sfSessRead($id) { 
    67          $objQuery = new SC_Query_Ex(); 
    68          $arrRet = $objQuery->select('sess_data', 'dtb_session', 'sess_id = ?', array($id)); 
    69          if (empty($arrRet)) { 
    70              return ''; 
    71          } else { 
    72              return $arrRet[0]['sess_data']; 
    73          } 
    74      } 
    75  
    76      /** 
    77       * セッションのデータをDBに書き込む. 
    78       * 
    79       * @param string $id セッションID 
    80       * @param string $sess_data セッションデータの値 
    81       * @return bool セッションの書き込みに成功した場合 true 
    82       */ 
    83      function sfSessWrite($id, $sess_data) { 
    84          $objQuery = new SC_Query_Ex(); 
    85          $exists = $objQuery->exists('dtb_session', 'sess_id = ?', array($id)); 
    86          $sqlval = array(); 
    87          if ($exists) { 
    88              // レコード更新 
    89              $sqlval['sess_data'] = $sess_data; 
    90              $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 
    91              $objQuery->update('dtb_session', $sqlval, 'sess_id = ?', array($id)); 
    92          } else { 
    93              // セッションデータがある場合は、レコード作成 
    94              if (strlen($sess_data) > 0) { 
    95                  $sqlval['sess_id'] = $id; 
    96                  $sqlval['sess_data'] = $sess_data; 
    97                  $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 
    98                  $sqlval['create_date'] = 'CURRENT_TIMESTAMP'; 
    99                  $objQuery->insert('dtb_session', $sqlval); 
    100              } 
    101          } 
    102          return true; 
    103      } 
    104  
    105      // セッション破棄 
    106  
    107      /** 
    108       * セッションを破棄する. 
    109       * 
    110       * @param string $id セッションID 
    111       * @return bool セッションを正常に破棄した場合 true 
    112       */ 
    113      function sfSessDestroy($id) { 
    114          $objQuery = new SC_Query_Ex(); 
    115          $objQuery->delete('dtb_session', 'sess_id = ?', array($id)); 
    116          return true; 
    117      } 
    118  
    119      /** 
    120       * ガーベジコレクションを実行する. 
    121       * 
    122       * 引数 $maxlifetime の代りに 定数 MAX_LIFETIME を使用する. 
    123       * 
    124       * @param integer $maxlifetime セッションの有効期限(使用しない) 
    125       */ 
    126      function sfSessGc($maxlifetime) { 
    127          // MAX_LIFETIME以上更新されていないセッションを削除する。 
    128          $objQuery = new SC_Query_Ex(); 
    129          $where = "update_date < current_timestamp + '-". MAX_LIFETIME . " secs'"; 
    130          $objQuery->delete('dtb_session', $where); 
    131          return true; 
     19    // }}} 
     20    // {{{ constructor 
     21 
     22    /** 
     23     * デフォルトコンストラクタ. 
     24     * 
     25     * 各関数をセッションハンドラに保存する 
     26     */ 
     27    function SC_Helper_Session() { 
     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')); 
     35    } 
     36 
     37    // }}} 
     38    // {{{ functions 
     39 
     40    /** 
     41     * セッションを開始する. 
     42     * 
     43     * @param string $save_path セッションを保存するパス(使用しない) 
     44     * @param string $session_name セッション名(使用しない) 
     45     * @return bool セッションが正常に開始された場合 true 
     46     */ 
     47    function sfSessOpen($save_path, $session_name) { 
     48        return true; 
     49    } 
     50 
     51    /** 
     52     * セッションを閉じる. 
     53     * 
     54     * @return bool セッションが正常に終了した場合 true 
     55     */ 
     56    function sfSessClose() { 
     57        return true; 
     58    } 
     59 
     60    /** 
     61     * セッションのデータをDBから読み込む. 
     62     * 
     63     * @param string $id セッションID 
     64     * @return string セッションデータの値 
     65     */ 
     66    function sfSessRead($id) { 
     67        $objQuery = new SC_Query_Ex(); 
     68        $arrRet = $objQuery->select('sess_data', 'dtb_session', 'sess_id = ?', array($id)); 
     69        if (empty($arrRet)) { 
     70            return ''; 
     71        } else { 
     72            return $arrRet[0]['sess_data']; 
     73        } 
     74    } 
     75 
     76    /** 
     77     * セッションのデータをDBに書き込む. 
     78     * 
     79     * @param string $id セッションID 
     80     * @param string $sess_data セッションデータの値 
     81     * @return bool セッションの書き込みに成功した場合 true 
     82     */ 
     83    function sfSessWrite($id, $sess_data) { 
     84        $objQuery = new SC_Query_Ex(); 
     85        $exists = $objQuery->exists('dtb_session', 'sess_id = ?', array($id)); 
     86        $sqlval = array(); 
     87        if ($exists) { 
     88            // レコード更新 
     89            $sqlval['sess_data'] = $sess_data; 
     90            $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 
     91            $objQuery->update('dtb_session', $sqlval, 'sess_id = ?', array($id)); 
     92        } else { 
     93            // セッションデータがある場合は、レコード作成 
     94            if (strlen($sess_data) > 0) { 
     95                $sqlval['sess_id'] = $id; 
     96                $sqlval['sess_data'] = $sess_data; 
     97                $sqlval['update_date'] = 'CURRENT_TIMESTAMP'; 
     98                $sqlval['create_date'] = 'CURRENT_TIMESTAMP'; 
     99                $objQuery->insert('dtb_session', $sqlval); 
     100            } 
     101        } 
     102        return true; 
     103    } 
     104 
     105    // セッション破棄 
     106 
     107    /** 
     108     * セッションを破棄する. 
     109     * 
     110     * @param string $id セッションID 
     111     * @return bool セッションを正常に破棄した場合 true 
     112     */ 
     113    function sfSessDestroy($id) { 
     114        $objQuery = new SC_Query_Ex(); 
     115        $objQuery->delete('dtb_session', 'sess_id = ?', array($id)); 
     116        return true; 
     117    } 
     118 
     119    /** 
     120     * ガーベジコレクションを実行する. 
     121     * 
     122     * 引数 $maxlifetime の代りに 定数 MAX_LIFETIME を使用する. 
     123     * 
     124     * @param integer $maxlifetime セッションの有効期限(使用しない) 
     125     */ 
     126    function sfSessGc($maxlifetime) { 
     127        // MAX_LIFETIME以上更新されていないセッションを削除する。 
     128        $objQuery = new SC_Query_Ex(); 
     129        $where = "update_date < current_timestamp + '-". MAX_LIFETIME . " secs'"; 
     130        $objQuery->delete('dtb_session', $where); 
     131        return true; 
    132132    } 
    133133 
     
    214214        $masterData = new SC_DB_MasterData_Ex(); 
    215215        $arrExcludes = $masterData->getMasterData('mtb_auth_excludes'); 
    216         if (preg_match('|^' . ROOT_URLPATH . ADMIN_DIR . '|', 
    217                        $_SERVER['PHP_SELF'])) { 
     216        if (preg_match('|^' . ROOT_URLPATH . ADMIN_DIR . '|', $_SERVER['PHP_SELF'])) { 
    218217            $is_auth = true; 
    219218 
    220219            foreach ($arrExcludes as $exclude) { 
    221                 if (preg_match('|^' . ROOT_URLPATH . ADMIN_DIR . $exclude . '|', 
    222                                $_SERVER['PHP_SELF'])) { 
     220                if (preg_match('|^' . ROOT_URLPATH . ADMIN_DIR . $exclude . '|', $_SERVER['PHP_SELF'])) { 
    223221                    $is_auth = false; 
    224222                    break; 
Note: See TracChangeset for help on using the changeset viewer.