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

Revision 19042, 2.0 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($autoGenerateHttpHeaders = true){
24        require_once(CLASS_EX_PATH."/SC_Response_Ex.php");
25        $this->response = new SC_Response_Ex();
26        $this->autoSet = $autoGenerateHttpHeaders;
27    }
28
29
30    // TODO このメソッドは、レスポンスを返すためのメソッドです。名前を絶対に変えましょう。
31    /**
32    *
33    * @param $page LC_Page
34    */
35    function hoge(LC_Page $page){
36        $this->assign($page);
37
38    }
39
40    /**
41     * デバイス毎の出力方法を自動で変更する、ファサード
42     * Enter description here ...
43     */
44    function setDevice(int $device = 4){
45        switch ($device){
46            case 1:
47                $this->response->setContentType("text/html");
48               
49                break;
50            case 2:
51
52                break;
53            case 4:
54               
55                break;
56        }
57    }
58
59    /**
60     * 機種を判別する。
61     * SC_Display::MOBILE = ガラケー = 1
62     * SC_Display::SMARTPHONE = スマホ = 2
63     * SC_Display::PC = PC = 4
64     * ※PHP4の為にconstは使っていません。 1がガラケーで、2がスマホで4がPCです。
65     * @return
66     */
67    function detectDevice(){
68        $nu = new Net_UserAgent_Mobile();
69        $retDevice = 0;
70        if($nu->isMobile()){
71            $retDevice = 1;
72        }elseif ($nu->isSmartphone()){
73            $retDevice = 2;
74        }else{
75            $retDevice = 4;
76        }
77
78        if($this->autoSet){
79            $this->setDevice($retDevice);
80        }
81        return $retDevice;
82    }
83
84    function assign(LC_Page $page){
85      $this->view->assign($val1, $val2)
86    }
87
88
89}
Note: See TracBrowser for help on using the repository browser.