source: branches/camp/camp-2_5-E/data/class/SC_Display.php @ 19054

Revision 19054, 2.4 KB checked in by miningbrownie, 12 years ago (diff)
Line 
1<?php
2class SC_Display{
3
4    var $response;
5
6    var $device;
7
8    var $autoSet;
9
10    /**
11     *
12     * @var SC_View
13     */
14    var $view;
15
16    // TODO php4を捨てたときに ここのコメントアウトを外してね。
17    /*
18    * const('MOBILE',1);
19    * const('SMARTPHONE',2);
20    * const('PC',4);
21    */
22
23    function SC_Display($setPrevURL=true,$autoGenerateHttpHeaders = true){
24        require_once(CLASS_EX_PATH."/SC_Response_Ex.php");
25        $this->response = new SC_Response_Ex();
26        $this->autoSet = $autoGenerateHttpHeaders;
27        if ($setPrevURL) {
28            $this->setPrevURL();
29        }
30    }
31    function setPrevURL(){
32            $objCartSess = new SC_CartSession();
33            $objCartSess->setPrevURL($_SERVER['REQUEST_URI']);
34       
35    }
36
37
38    // TODO このメソッドは、レスポンスを返すためのメソッドです。名前を絶対に変えましょう。
39    /**
40    *
41    * @param $page LC_Page
42    */
43    function hoge(LC_Page $page){
44        $this->assign($page);
45
46    }
47
48    /**
49     * デバイス毎の出力方法を自動で変更する、ファサード
50     * Enter description here ...
51     */
52    function setDevice(int $device = 4){
53        switch ($device){
54            case 1:
55                $this->response->setContentType("text/html");
56                $this->view = new SC_MobileView();
57                break;
58            case 2:
59//                $this->view = new
60                break;
61            case 4:
62                $this->view = new SC_SiteView();
63                break;
64        }
65    }
66
67    /**
68     * 機種を判別する。
69     * SC_Display::MOBILE = ガラケー = 1
70     * SC_Display::SMARTPHONE = スマホ = 2
71     * SC_Display::PC = PC = 4
72     * ※PHP4の為にconstは使っていません。 1がガラケーで、2がスマホで4がPCです。
73     * @return
74     */
75    function detectDevice(){
76        $nu = new Net_UserAgent_Mobile();
77        $retDevice = 0;
78        if($nu->isMobile()){
79            $retDevice = 1;
80        }elseif ($nu->isSmartphone()){
81            $retDevice = 2;
82        }else{
83            $retDevice = 4;
84        }
85
86        if($this->autoSet){
87            $this->setDevice($retDevice);
88        }
89        return $retDevice;
90    }
91
92    function assign($val1,$val2){
93        $this->view->assign($val1, $val2);
94    }
95   
96    function assignobj($obj){
97        $this->view->assignobj($obj);
98    }
99   
100    function assignarray($array){
101        $this->view->assignarray($array);
102    }
103
104
105}
Note: See TracBrowser for help on using the repository browser.