/**
  * セッションパラメーターの指定
  * ・ブラウザを閉じるまで有効
  * ・EC-CUBE ルート配下で有効
  * ・同じドメイン間で共有
  * FIXME セッションキーのキーが PHP デフォルトのため、上位ディレクトリーで定義があると、その値で動作すると考えられる。
  **/
 public function initSession()
 {
     parent::initSession();
     ini_set('session.cache_limiter', 'none');
     // (session.auto_start などで)セッションが開始されていた場合に備えて閉じる。(FIXME: 保存する必要はない。破棄で良い。)
     session_write_close();
     session_set_cookie_params(0, ROOT_URLPATH, DOMAIN_NAME);
     // セッション開始
     // FIXME EC-CUBE をネストしてインストールした場合を考慮して、一意とすべき
     session_name('ECSESSID');
     session_start();
 }
 /**
  * セッション初期処理を行う。
  *
  * @return void
  */
 public function initSession()
 {
     parent::initSession();
     // セッションIDの受け渡しにクッキーを使用しない。
     ini_set('session.use_cookies', '0');
     ini_set('session.use_trans_sid', '1');
     ini_set('session.use_only_cookies', '0');
     // パラメーターから有効なセッションIDを取得する。
     $sessionId = $this->getSessionId();
     if (!$sessionId) {
         session_start();
     }
     /*
      * PHP4 では session.use_trans_sid が PHP_INI_PREDIR なので
      * ini_set() で設定できない
      */
     if (!ini_get('session.use_trans_sid')) {
         output_add_rewrite_var(session_name(), session_id());
     }
     // セッションIDまたはセッションデータが無効な場合は、セッションIDを再生成
     // し、セッションデータを初期化する。
     if ($sessionId === false || !$this->validateSession()) {
         session_regenerate_id(true);
         // セッションデータの初期化
         $this->state->inisializeSessionData();
         // 新しいセッションIDを付加してリダイレクトする。
         if ($_SERVER['REQUEST_METHOD'] == 'GET') {
             // GET の場合は同じページにリダイレクトする。
             $objMobile = new MobileHelper();
             header('Location: ' . $objMobile->gfAddSessionId());
         } else {
             // GET 以外の場合はトップページへリダイレクトする。
             header('Location: ' . TOP_URL . '?' . SID);
         }
         exit;
     }
     // 有効期限を更新する.
     $this->state->updateExpire();
 }