Source for file SC_SessionFactory.php

Documentation is available at SC_SessionFactory.php

  1. <?php
  2. /*
  3.  * This file is part of EC-CUBE
  4.  *
  5.  * Copyright(c) 2000-2007 LOCKON CO.,LTD. All Rights Reserved.
  6.  *
  7.  * http://www.lockon.co.jp/
  8.  *
  9.  * This program is free software; you can redistribute it and/or
  10.  * modify it under the terms of the GNU General Public License
  11.  * as published by the Free Software Foundation; either version 2
  12.  * of the License, or (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  22.  */
  23.  
  24. // {{{ requires
  25. require_once CLASS_PATH 'session/sessionfactory/SC_SessionFactory_UseCookie.php';
  26. require_once CLASS_PATH 'session/sessionfactory/SC_SessionFactory_UseRequest.php';
  27.  
  28. /**
  29.  * セッションの初期化処理を抽象化するファクトリークラス.
  30.  *
  31.  * このクラスはセッションの維持方法を管理するクラスです.
  32.  * 他のセッション管理クラスとは若干異なります.
  33.  *
  34.  * EC-CUBE2.1.1ベータ版から、
  35.  * 管理画面>基本情報>パラメータ管理で、セッションの維持方法を
  36.  * ・Cookieを使用する場合
  37.  * ・リクエストパラメータを使用する場合
  38.  * の2種類が選択できますが、どちらの設定であっても下記のように呼び出すことで
  39.  * 適切にセッションを開始することができます.
  40.  *
  41.  * $sessionFactory = SC_SessionFactory::getInstance()
  42.  * $sessionFactory->initSession();
  43.  *
  44.  * @package SC_Session
  45.  * @author LOCKON CO.,LTD.
  46.  * @version $Id: SC_SessionFactory.php 17581 2008-08-28 23:46:00Z Seasoft $
  47.  */
  48.  
  49.     // }}}
  50.     // {{{ functions
  51.  
  52.     /**
  53.      * パラメータ管理で設定したセッション維持設定に従って適切なオブジェクトを返す.
  54.      *
  55.      * @return SC_SessionFactory 
  56.      */
  57.     function getInstance({
  58.  
  59.         $type defined('SESSION_KEEP_METHOD')
  60.             ? SESSION_KEEP_METHOD
  61.             : '';
  62.  
  63.         switch($type{
  64.         // セッションの維持にリクエストパラメータを使用する
  65.         case 'useRequest':
  66.             $session new SC_SessionFactory_UseRequest;
  67.             defined('MOBILE_SITE')
  68.                 ? $session->setState('mobile')
  69.                 : $session->setState('pc');
  70.             break;
  71.  
  72.         // クッキーを使用する
  73.         case 'useCookie':
  74.             // モバイルの場合はSC_SessionFactory_UseRequestを使用する
  75.             if (defined('MOBILE_SITE')) {
  76.                 $session new SC_SessionFactory_UseRequest;
  77.                 $session->setState('mobile');
  78.                 break;
  79.             }
  80.         default:
  81.             $session new SC_SessionFactory_UseCookie;
  82.             break;
  83.         }
  84.  
  85.         return $session;
  86.     }
  87.  
  88.     /**
  89.      * セッションの初期化を行う.
  90.      *
  91.      */
  92.     function initSession({}
  93.  
  94.     /**
  95.      * Cookieを使用するかどうかを返す.
  96.      *
  97.      * @return boolean 
  98.      */
  99.     function useCookie({}
  100.  
  101. }
  102. /*
  103.  * Local variables:
  104.  * coding: utf-8
  105.  * End:
  106.  */
  107. ?>

Documentation generated on Tue, 28 Apr 2009 18:13:40 +0900 by phpDocumentor 1.4.2