/
c.php
102 lines (88 loc) · 2.68 KB
/
c.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<?php
require dirname(__FILE__).'/init.php';
abstract class controller
{
protected $actionData = array();
public function __construct()
{
$this->getActionData();
$this->checkFilters();
$this->action();
}
public function checkFilters()
{
$filters = $this->filters();
$httpCacheConf = @$filters['httpCache'];
if (!empty($httpCacheConf)){
$this->checkHttpCache($httpCacheConf);
}
}
private function getActionData()
{
$script = str_replace('.php', '', @$_SERVER['SCRIPT_NAME']);
$scriptArr = @explode('/', trim($script, '/'));
if (!is_array($scriptArr)){
return array();
}
list($module, $action) = $scriptArr;
$data['module'] = $module;
$data['action'] = $action;
$querys = $_SERVER["QUERY_STRING"];
$params = array();
if (!empty($querys)){
$queryParts = explode('&', $querys);
foreach ($queryParts as $param)
{
$item = explode('=', $param);
$params[$item[0]] = $item[1];
}
}
$data['params'] = $params;
$this->actionData = $data;
return $data;
}
protected function getUid()
{
$SsoObj = new Sso();
$uid = $SsoObj->getUid();
return $uid;
}
abstract function action();
protected function showErrorJson($data)
{
if(empty($data))
{
$data = ErrorConf::systemError();
}
echo json_encode($data);
exit;
}
protected function showSuccJson($data=array())
{
if(empty($data))
{
echo json_encode(array('code'=>10000));
}else{
echo json_encode(array('code'=>10000,'data'=>$data));
}
exit;
}
public function getRequest($option, $default='', $method='request')
{
if ($method == 'get'){
return isset($_GET[$option]) ? $_GET[$option] : $default;
} else if ($method == 'post'){
return isset($_POST[$option]) ? $_POST[$option] : $default;
} else{
return isset($_REQUEST[$option]) ? $_REQUEST[$option] : $default;
}
}
public function checkHttpCache($httpCacheConf)
{
$httpCacheObj = new HttpCache();
$httpCacheConf = $httpCacheObj->checkCacheConf($httpCacheConf, $this->actionData);
if (!empty($httpCacheConf)){
$httpCacheObj->checkHttpCache($httpCacheConf);
}
}
}