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

Revision 19029, 1.8 KB checked in by no61, 12 years ago (diff)

スマートフォンの判定とリダイレクト

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