protected static function _init($argDSN = NULL) { if (FALSE === self::$_initialized) { $DSN = NULL; if (class_exists('Configure') && NULL !== Configure::constant('DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = Configure::DB_DSN; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = Configure::AUTH_DB_DSN; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_TBL_NAME')) { // 定義からuserTable名を特定 self::$authTable = Configure::AUTH_TBL_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_PKEY_FIELD_NAME')) { // 定義からuserTable名を特定 self::$authPKeyField = Configure::AUTH_PKEY_FIELD_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_ID_FIELD_NAME')) { // 定義からuserTable名を特定 self::$authIDField = Configure::AUTH_ID_FIELD_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_PASS_FIELD_NAME')) { // 定義からuserTable名を特定 self::$authPassField = Configure::AUTH_PASS_FIELD_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_CREATE_DATE_KEY_NAME')) { // 定義からuserTable名を特定 self::$authCreatedField = Configure::AUTH_CREATE_DATE_KEY_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_MODIFY_DATE_KEY_NAME')) { // 定義からuserTable名を特定 self::$authModifiedField = Configure::AUTH_MODIFY_DATE_KEY_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_ID_ENCRYPTED')) { // 定義からuserTable名を特定 self::$authIDEncrypted = Configure::AUTH_ID_ENCRYPTED; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_PASS_ENCRYPTED')) { // 定義からuserTable名を特定 self::$authPassEncrypted = Configure::AUTH_PASS_ENCRYPTED; } if (class_exists('Configure') && NULL !== Configure::constant('CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_sessionCryptKey = Configure::CRYPT_KEY; self::$_authCryptKey = Configure::CRYPT_KEY; } if (class_exists('Configure') && NULL !== Configure::constant('NETWORK_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_sessionCryptKey = Configure::NETWORK_CRYPT_KEY; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_sessionCryptKey = Configure::SESSION_CRYPT_KEY; } if (class_exists('Configure') && NULL !== Configure::constant('DB_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_authCryptKey = Configure::DB_CRYPT_KEY; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_authCryptKey = Configure::AUTH_CRYPT_KEY; } if (class_exists('Configure') && NULL !== Configure::constant('CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_sessionCryptIV = Configure::CRYPT_IV; self::$_authCryptIV = Configure::CRYPT_KEY; } if (class_exists('Configure') && NULL !== Configure::constant('NETWORK_CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_sessionCryptIV = Configure::NETWORK_CRYPT_IV; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_sessionCryptIV = Configure::SESSION_CRYPT_IV; } if (class_exists('Configure') && NULL !== Configure::constant('DB_CRYPT_IV')) { // 定義から暗号化キーを設定 self::$_authCryptKIV = Configure::DB_CRYPT_IV; } if (class_exists('Configure') && NULL !== Configure::constant('AUTH_CRYPT_IV')) { // 定義から暗号化キーを設定 self::$_authCryptIV = Configure::AUTH_CRYPT_IV; } if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) { $ProjectConfigure = PROJECT_NAME . 'Configure'; if (NULL !== $ProjectConfigure::constant('DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = $ProjectConfigure::DB_DSN; } if (NULL !== $ProjectConfigure::constant('AUTH_DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = $ProjectConfigure::AUTH_DB_DSN; } if (NULL !== $ProjectConfigure::constant('AUTH_TBL_NAME')) { // 定義からuserTable名を特定 self::$authTable = $ProjectConfigure::AUTH_TBL_NAME; } if (NULL !== $ProjectConfigure::constant('AUTH_PKEY_FIELD_NAME')) { // 定義からuserTable名を特定 self::$authPKeyField = $ProjectConfigure::AUTH_PKEY_FIELD_NAME; } if (NULL !== $ProjectConfigure::constant('AUTH_ID_FIELD_NAME')) { // 定義からuserTable名を特定 self::$authIDField = $ProjectConfigure::AUTH_ID_FIELD_NAME; } if (NULL !== $ProjectConfigure::constant('AUTH_PASS_FIELD_NAME')) { // 定義からuserTable名を特定 self::$authPassField = $ProjectConfigure::AUTH_PASS_FIELD_NAME; } if (NULL !== $ProjectConfigure::constant('AUTH_CREATE_DATE_KEY_NAME')) { // 定義からuserTable名を特定 self::$authCreatedField = $ProjectConfigure::AUTH_CREATE_DATE_KEY_NAME; } if (NULL !== $ProjectConfigure::constant('AUTH_MODIFY_DATE_KEY_NAME')) { // 定義からuserTable名を特定 self::$authModifiedField = $ProjectConfigure::AUTH_MODIFY_DATE_KEY_NAME; } if (NULL !== $ProjectConfigure::constant('AUTH_ID_ENCRYPTED')) { // 定義からuserTable名を特定 self::$authIDEncrypted = $ProjectConfigure::AUTH_ID_ENCRYPTED; } if (NULL !== $ProjectConfigure::constant('AUTH_PASS_ENCRYPTED')) { // 定義からuserTable名を特定 self::$authPassEncrypted = $ProjectConfigure::AUTH_PASS_ENCRYPTED; } if (NULL !== $ProjectConfigure::constant('CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_sessionCryptKey = $ProjectConfigure::CRYPT_KEY; } if (NULL !== $ProjectConfigure::constant('NETWORK_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_sessionCryptKey = $ProjectConfigure::NETWORK_CRYPT_KEY; } if (NULL !== $ProjectConfigure::constant('SESSION_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_sessionCryptKey = $ProjectConfigure::SESSION_CRYPT_KEY; } if (NULL !== $ProjectConfigure::constant('DB_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_authCryptKey = $ProjectConfigure::DB_CRYPT_KEY; } if (NULL !== $ProjectConfigure::constant('AUTH_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_authCryptKey = $ProjectConfigure::AUTH_CRYPT_KEY; } if (NULL !== $ProjectConfigure::constant('CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_sessionCryptIV = $ProjectConfigure::CRYPT_IV; self::$_authCryptIV = $ProjectConfigure::CRYPT_KEY; } if (NULL !== $ProjectConfigure::constant('NETWORK_CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_sessionCryptIV = $ProjectConfigure::NETWORK_CRYPT_IV; } if (NULL !== $ProjectConfigure::constant('SESSION_CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_sessionCryptIV = $ProjectConfigure::SESSION_CRYPT_IV; } if (NULL !== $ProjectConfigure::constant('DB_CRYPT_IV')) { // 定義から暗号化キーを設定 self::$_authCryptKIV = $ProjectConfigure::DB_CRYPT_IV; } if (NULL !== $ProjectConfigure::constant('AUTH_CRYPT_IV')) { // 定義から暗号化キーを設定 self::$_authCryptIV = $ProjectConfigure::AUTH_CRYPT_IV; } } // DBOを初期化 if (NULL === self::$_DBO) { if (NULL !== $argDSN) { // セッションDBの接続情報を直指定 $DSN = $argDSN; } self::$_DBO = DBO::sharedInstance($DSN); } // 初期化済み self::$_initialized = TRUE; } }
protected static function _getDBO($argDSN = NULL) { // DBOを初期化 static $defaultDSN = NULL; static $DBO = array(); // DSNの自動判別 $DSN = $defaultDSN; if (NULL === $argDSN && NULL === $defaultDSN) { $DSN = NULL; if (class_exists('Configure') && NULL !== Configure::constant('DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = Configure::DB_DSN; } if (class_exists('Configure') && NULL !== Configure::constant('REST_DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = Configure::REST_DB_DSN; } if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) { $ProjectConfigure = PROJECT_NAME . 'Configure'; if (NULL !== $ProjectConfigure::constant('DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = $ProjectConfigure::DB_DSN; } if (NULL !== $ProjectConfigure::constant('REST_DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = $ProjectConfigure::REST_DB_DSN; } } $defaultDSN = $DSN; } elseif (NULL !== $argDSN) { $DSN = $argDSN; } if (!isset($DBO[$DSN])) { $DBO[$DSN] = DBO::sharedInstance($DSN); } return $DBO[$DSN]; }
/** * Sessionクラスの初期化 * @param string セッションの範囲となるドメイン * @param string セッションの有効期限 * @param string DBDSN情報 */ protected static function _init($argDomain = NULL, $argExpiredtime = NULL, $argDSN = NULL) { if (FALSE === self::$_initialized) { // セッションの有効ドメインを設定 self::$_domain = $argDomain; if (NULL === $argDomain) { self::$_domain = $_SERVER['SERVER_NAME']; } $DSN = NULL; $expiredtime = self::$_expiredtime; if (class_exists('Configure') && NULL !== Configure::constant('DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = Configure::DB_DSN; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = Configure::SESSION_DB_DSN; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_EXPIRED_TIME')) { // 定義からセッションの有効期限を設定 $expiredtime = Configure::SESSION_EXPIRED_TIME; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_TBL_NAME')) { // 定義からセッションテーブル名を特定 self::$_sessionTblName = Configure::SESSION_TBL_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_TBL_PKEY_NAME')) { // 定義からセッションテーブルのPKey名を特定 self::$_sessionPKeyName = Configure::SESSION_TBL_PKEY_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATE_KEY_NAME')) { // 定義から日時フィールド名を特定 self::$_sessionDateKeyName = Configure::SESSION_DATE_KEY_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_cryptKey = Configure::CRYPT_KEY; } if (class_exists('Configure') && NULL !== Configure::constant('NETWORK_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_cryptKey = Configure::NETWORK_CRYPT_KEY; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_cryptKey = Configure::SESSION_CRYPT_KEY; } if (class_exists('Configure') && NULL !== Configure::constant('CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_cryptIV = Configure::CRYPT_IV; } if (class_exists('Configure') && NULL !== Configure::constant('NETWORK_CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_cryptIV = Configure::NETWORK_CRYPT_IV; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_cryptIV = Configure::SESSION_CRYPT_IV; } if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) { $ProjectConfigure = PROJECT_NAME . 'Configure'; if (NULL !== $ProjectConfigure::constant('DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = $ProjectConfigure::DB_DSN; } if (NULL !== $ProjectConfigure::constant('SESSION_DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = $ProjectConfigure::SESSION_DB_DSN; } if (NULL !== $ProjectConfigure::constant('SESSION_EXPIRED_TIME')) { // 定義からセッションの有効期限を設定 $expiredtime = $ProjectConfigure::SESSION_EXPIRED_TIME; } if (NULL !== $ProjectConfigure::constant('SESSION_TBL_NAME')) { // 定義からセッションテーブル名を特定 self::$_sessionTblName = $ProjectConfigure::SESSION_TBL_NAME; } if (NULL !== $ProjectConfigure::constant('SESSION_TBL_PKEY_NAME')) { // 定義からセッションテーブルのPKey名を特定 self::$_sessionPKeyName = $ProjectConfigure::SESSION_TBL_PKEY_NAME; } if (NULL !== $ProjectConfigure::constant('SESSION_DATE_KEY_NAME')) { // 定義から日時フィールド名を特定 self::$_sessionDateKeyName = $ProjectConfigure::SESSION_DATE_KEY_NAME; } if (NULL !== $ProjectConfigure::constant('CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_cryptKey = $ProjectConfigure::CRYPT_KEY; } if (NULL !== $ProjectConfigure::constant('NETWORK_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_cryptKey = $ProjectConfigure::NETWORK_CRYPT_KEY; } if (NULL !== $ProjectConfigure::constant('SESSION_CRYPT_KEY')) { // 定義から暗号化キーを設定 self::$_cryptKey = $ProjectConfigure::SESSION_CRYPT_KEY; } if (NULL !== $ProjectConfigure::constant('CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_cryptIV = $ProjectConfigure::CRYPT_IV; } if (NULL !== $ProjectConfigure::constant('NETWORK_CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_cryptIV = $ProjectConfigure::NETWORK_CRYPT_IV; } if (NULL !== $ProjectConfigure::constant('SESSION_CRYPT_IV')) { // 定義から暗号化IVを設定 self::$_cryptIV = $ProjectConfigure::SESSION_CRYPT_IV; } } // DBOを初期化 if (NULL === self::$_DBO) { if (NULL !== $argDSN) { // セッションDBの接続情報を直指定 $DSN = $argDSN; } self::$_DBO = DBO::sharedInstance($DSN); } // セッションの有効期限を設定 if (NULL !== $argExpiredtime) { // セッションの有効期限を直指定 $expiredtime = $argExpiredtime; } self::$_expiredtime = $expiredtime; // セッションデータクラスの初期化 parent::_init($expiredtime, $DSN); // 初期化済み self::$_initialized = TRUE; } }
/** * Sessionクラスの初期化 * @param string セッションの有効期限 * @param string DBDSN情報 */ protected static function _init($argExpiredtime = NULL, $argDSN = NULL) { if (FALSE === self::$_initialized) { $DSN = NULL; $expiredtime = self::$_expiredtime; if (class_exists('Configure') && NULL !== Configure::constant('DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = Configure::DB_DSN; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = Configure::DB_DSN; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_EXPIRED_TIME')) { // 定義からセッションの有効期限を設定 $expiredtime = Configure::SESSION_EXPIRED_TIME; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATA_TBL_NAME')) { // 定義からセッションデータテーブル名を特定 self::$_sessionDataTblName = $ProjectConfigure::SESSION_DATA_TBL_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATA_TBL_PKEY_NAME')) { // 定義からセッションデータテーブルのPKey名を特定 self::$_sessionDataPKeyName = Configure::SESSION_DATA_TBL_PKEY_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('SERIALIZE_KEY_NAME')) { // 定義からシリアライズデータのフィールド名を特定 self::$_serializeKeyName = Configure::SERIALIZE_KEY_NAME; } if (class_exists('Configure') && NULL !== Configure::constant('SESSION_DATA_DATE_KEY_NAME')) { // 定義から日時フィールド名を特定 self::$_sessionDataDateKeyName = Configure::SESSION_DATA_DATE_KEY_NAME; } if (defined('PROJECT_NAME') && strlen(PROJECT_NAME) > 0 && class_exists(PROJECT_NAME . 'Configure')) { $ProjectConfigure = PROJECT_NAME . 'Configure'; if (NULL !== $ProjectConfigure::constant('DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = $ProjectConfigure::DB_DSN; } if (NULL !== $ProjectConfigure::constant('SESSION_DB_DSN')) { // 定義からセッションDBの接続情報を特定 $DSN = $ProjectConfigure::SESSION_DB_DSN; } if (NULL !== $ProjectConfigure::constant('SESSION_EXPIRED_TIME')) { // 定義からセッションの有効期限を設定 $expiredtime = $ProjectConfigure::SESSION_EXPIRED_TIME; } if (NULL !== $ProjectConfigure::constant('SESSION_DATA_TBL_NAME')) { // 定義からセッションデータテーブル名を特定 self::$_sessionDataTblName = $ProjectConfigure::SESSION_DATA_TBL_NAME; } if (NULL !== $ProjectConfigure::constant('SESSION_DATA_TBL_PKEY_NAME')) { // 定義からセッションデータテーブルのPKey名を特定 self::$_sessionDataPKeyName = $ProjectConfigure::SESSION_DATA_TBL_PKEY_NAME; } if (NULL !== $ProjectConfigure::constant('SERIALIZE_KEY_NAME')) { // 定義からuserTable名を特定 self::$_serializeKeyName = $ProjectConfigure::SERIALIZE_KEY_NAME; } if (NULL !== $ProjectConfigure::constant('SESSION_DATA_DATE_KEY_NAME')) { // 定義から日時フィールド名を特定 self::$_sessionDataDateKeyName = $ProjectConfigure::SESSION_DATA_DATE_KEY_NAME; } } // DBOを初期化 if (NULL === self::$_DBO) { if (NULL !== $argDSN) { // セッションDBの接続情報を直指定 $DSN = $argDSN; } self::$_DBO = DBO::sharedInstance($DSN); } // セッションの有効期限を設定 if (NULL !== $argExpiredtime) { // セッションの有効期限を直指定 $expiredtime = $argExpiredtime; } self::$_expiredtime = $expiredtime; // 初期化済み self::$_initialized = TRUE; } }