Toggle navigation
Toggle navigation
This project
Loading...
Sign in
fe
/
YOHOBUYPC
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
2
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
whb
9 years ago
Commit
19f2cdf2778ff8f839a42e2d125a3de00a559e11
1 parent
0c55f2f6
PC重构
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
536 additions
and
514 deletions
library/Action/AbstractAction.php
library/Action/AbstractAction.php
View file @
19f2cdf
<?php
/**
* 所有Controller控制器的基类
*
* @name AbstractAction
* @package library
* @copyright yoho.inc
* @version 1.0 (2015-9-15 11:55:25)
* @author fei.hong <fei.hong@yoho.cn>
*/
namespace
Action
;
use
Yaf\Controller_Abstract
;
use
Yaf\Dispatcher
;
use
Plugin\Cache
;
use
Plugin\Helpers
;
use
Hood\Session
;
class
AbstractAction
extends
Controller_Abstract
{
/**
* HTTP请求对象
*
* @var object
*/
protected
$_request
;
/**
* 用户相关信息
*/
protected
$_vip
;
protected
$_uid
=
0
;
protected
$_uname
=
''
;
protected
$_usession
=
''
;
protected
$_useSession
=
true
;
/**
* 存放模板数据
*
* @var array
*/
protected
$_data
;
/**
* 初始化
*/
public
function
init
()
{
$this
->
_request
=
$this
->
getRequest
();
// 设置环境变量
switch
(
APPLICATION_ENV
)
{
case
'production'
:
// 生产
$this
->
_view
->
assign
(
'rlsEnv'
,
true
);
$this
->
_useSession
=
true
;
break
;
case
'preview'
:
// 预览
$this
->
_view
->
assign
(
'preEnv'
,
true
);
$this
->
_useSession
=
true
;
break
;
case
'testing'
:
// 测试
$this
->
_view
->
assign
(
'testEnv'
,
true
);
$this
->
_useSession
=
true
;
break
;
case
'develop'
:
// 开发
default
:
$this
->
_view
->
assign
(
'devEnv'
,
true
);
$this
->
_useSession
=
false
;
break
;
}
}
/**
* 封装一下获取get参数
*
* @param String $key
* @param mixed $default
* @return mixed
*/
protected
function
get
(
$key
=
null
,
$default
=
null
)
{
if
(
null
===
$key
)
{
return
$_GET
;
}
return
$this
->
_request
->
getQuery
(
$key
,
$default
);
}
/**
* 封装一下获取post参数
*
* @param String $key
* @param mixed $default
* @return mixed
*/
protected
function
post
(
$key
=
null
,
$default
=
null
)
{
if
(
null
===
$key
)
{
return
$_POST
;
}
return
$this
->
_request
->
getPost
(
$key
,
$default
);
}
/**
* 封装一下获取YAF内部的参数
*
* @param String $key
* @param mixed $default
* @return mixed
*/
protected
function
param
(
$key
,
$default
=
null
)
{
return
$this
->
_request
->
getParam
(
$key
,
$default
);
}
/**
* 封装一下获取服务器的参数
*
* @param String $key
* @param mixed $default
* @return mixed
*/
protected
function
server
(
$key
,
$default
=
null
)
{
return
$this
->
_request
->
getServer
(
$key
,
$default
);
}
/**
* 关闭模板自动渲染
*
* @return void
*/
protected
function
disableView
()
{
Dispatcher
::
getInstance
()
->
autoRender
(
false
);
}
/**
* 输出JSON数据到浏览器
*
* @return void
*/
protected
function
echoJson
(
$json
)
{
headers_sent
()
||
header
(
'Content-Type: application/json; charset=utf-8;'
);
if
(
is_array
(
$json
))
{
$json
=
json_encode
(
$json
);
}
echo
$json
;
}
/**
* 返回JSON数据
*
* @param int $code 状态编码
* @param string $message 提示信息
* @param mixed $data 数据内容
* @return json
*/
protected
function
returnJson
(
$code
,
$message
,
$data
)
{
return
json_encode
(
array
(
'code'
=>
$code
,
'message'
=>
$message
,
'data'
=>
$data
,
));
}
/**
* 判断是不是AJAX请求
*
* @return bool
*/
protected
function
isAjax
()
{
return
$this
->
_request
->
isXmlHttpRequest
();
}
/**
* 跳转到错误页面
*/
protected
function
error
()
{
headers_sent
()
||
header
(
'Location: /error.html'
);
exit
();
}
/**
* 跳转到指定的URL
*
* @param string $url 链接地址
* @return void
*/
protected
function
go
(
$url
)
{
headers_sent
()
||
header
(
'Location: '
.
$url
);
exit
();
}
/**
* 设置Cookie
*
* @param string $name cookie的名字
* @param string $value cookie的值
* @param integer $expire cookie过期时间
* @param integer $path cookie可用的路径
* @param string $domain cookie可用域名
*/
protected
function
setCookie
(
$name
,
$value
,
$expire
=
0
,
$path
=
'/'
,
$domain
=
'.yohobuy.com'
)
{
setcookie
(
$name
,
$value
,
$expire
,
$path
,
$domain
);
}
/**
* 返回Cookie变量
*
* @param string $name cookie名称
* @param string $default 未获取到返回的默认值
* @return string 获取到的cookie值
*/
protected
function
getCookie
(
$name
,
$default
=
''
)
{
return
$this
->
_request
->
getCookie
(
$name
,
$default
);
}
/**
* 设置缓存
*
* @param string $key 键名
* @param mixed $value 需要缓存的数据
* @param int $expire 缓存有效期(单位秒, 0表示永久)
* @return void
*/
protected
function
setCache
(
$key
,
$value
,
$expire
)
{
Cache
::
set
(
$key
,
$value
,
$expire
);
}
/**
* 获取缓存
*
* @param string $key 键名
* @param bool $isMaster 控制是到主服务器取,还是到从服务器取缓存
* @return mixed
*/
protected
function
getCache
(
$key
,
$isMaster
=
true
)
{
if
(
$isMaster
)
{
return
Cache
::
get
(
$key
,
'master'
);
}
else
{
return
Cache
::
get
(
$key
,
'slave'
);
}
}
/**
* 设置Session
*
* @param string $name 名称
* @param mixed $value 值
* @return void
*/
public
function
setSession
(
$name
,
$value
)
{
if
(
$this
->
_useSession
)
{
Session
::
start
(
'yohobuy_session'
,
null
,
'yohobuy.com'
)
->
__set
(
$name
,
$value
);
}
}
/**
* 获取Session
*
* @param string $name 名称
* @return mixed
*/
public
function
getSession
(
$name
)
{
if
(
$this
->
_useSession
)
{
return
Session
::
start
(
'yohobuy_session'
,
null
,
'yohobuy.com'
)
->
__get
(
$name
);
}
else
{
return
''
;
}
}
/**
* 获取当前登录的用户ID
*
* @param bool $useSession (true:从服务端session中检查, false:从客户端cookie中检查)
* @return int
*/
protected
function
getUid
(
$useSession
=
false
)
{
// 控制是否启用SESSION
if
(
!
$this
->
_useSession
)
{
$useSession
=
false
;
}
//$useSession = false;
if
(
!
$this
->
_uid
)
{
$cookie
=
$this
->
getCookie
(
'_UID'
);
// 兼容老的
if
(
!
empty
(
$cookie
))
{
$cookieList
=
explode
(
'::'
,
$cookie
);
if
(
isset
(
$cookieList
[
1
])
&&
is_numeric
(
$cookieList
[
1
]))
{
if
(
$useSession
)
{
$token
=
$this
->
getSession
(
'_TOKEN'
);
if
(
empty
(
$token
))
{
$token
=
$this
->
getCookie
(
'_TOKEN'
);
}
if
(
$token
===
Helpers
::
makeToken
(
$cookieList
[
1
]))
{
$this
->
_uid
=
$cookieList
[
1
];
}
}
else
{
$this
->
_uid
=
$cookieList
[
1
];
}
$this
->
_uname
=
$cookieList
[
0
];
$this
->
_usession
=
$cookieList
[
3
];
$this
->
_vip
=
$cookieList
[
2
];
}
}
// 新的, 如果老站没有同步成功,再尝试从SESSION获取
elseif
(
$useSession
)
{
$uid
=
$this
->
getSession
(
'_LOGIN_UID'
);
if
(
!
empty
(
$uid
))
{
$this
->
_uid
=
$uid
;
}
}
}
return
$this
->
_uid
;
}
/**
* 获取客户端唯一标识
*
* @return string
*/
protected
function
getUdid
()
{
$udid
=
''
;
$realIP
=
$this
->
_request
->
getServer
(
'HTTP_X_REAL_IP'
);
if
(
$realIP
)
{
$udid
=
md5
(
$realIP
);
}
else
{
$realIP
=
$this
->
_request
->
getServer
(
'REMOTE_ADDR'
,
''
);
$udid
=
md5
(
$realIP
);
}
return
$udid
;
}
/*
* 设置网站SEO的标题
*
* @param string $title 标题
* @param string $sign 连接的字符串
* @param bool $showMore 是否显示更多内容
* @return void
*/
protected
function
setTitle
(
$title
,
$showMore
=
true
,
$sign
=
' | '
)
{
$this
->
_view
->
assign
(
'title_more'
,
$showMore
);
$this
->
_view
->
assign
(
'title'
,
$title
.
$sign
);
}
/**
* 设置网站SEO的关键词
*
* @param string $keywords 关键词,多个之间用","逗号分隔
* @return void
*/
protected
function
setKeywords
(
$keywords
)
{
$this
->
_view
->
assign
(
'keywords'
,
rtrim
(
$keywords
,
','
)
.
','
);
}
/**
* 设置网站SEO的描述内容
*
* @param string $description 描述内容
* @param bool $showMore 是否显示更多内容
* @param string $sign 连接的字符串
* @return void
*/
protected
function
setDescription
(
$description
,
$showMore
=
true
,
$sign
=
' '
)
{
$this
->
_view
->
assign
(
'description_more'
,
$showMore
);
$this
->
_view
->
assign
(
'description'
,
$description
.
$sign
);
}
/**
* 设置网站导航头部信息
*
* @param string $title 头部标题
* @param mixed $backUrl 返回的链接
* @param string $homeUrl 返回首页的链接
* @return void
*/
protected
function
setNavHeader
(
$title
=
''
,
$backUrl
=
true
,
$homeUrl
=
'/'
,
$navBtn
=
false
)
{
$header
=
array
();
// // 判断是否是微信浏览器浏览
// if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') === false) {
// $header['isShow'] = true;
// }
if
(
$backUrl
)
{
$header
[
'navBack'
]
=
true
;
if
(
is_string
(
$backUrl
)
&&
$backUrl
!=
''
)
{
$header
[
'backUrl'
]
=
$backUrl
;
}
}
if
(
!
empty
(
$title
))
{
$header
[
'navTitle'
]
=
$title
;
}
if
(
!
empty
(
$homeUrl
))
{
$header
[
'navHome'
]
=
$homeUrl
.
'?go=1&t='
.
time
();
}
if
(
$navBtn
)
{
$header
[
'navBtn'
]
=
true
;
}
// 默认使用男生的头部
$header
[
'boys'
]
=
true
;
$controller
=
$this
->
getRequest
()
->
getControllerName
();
if
(
$controller
!==
'Home'
)
{
// 根据COOKIE记录的频道进行导航定位
$channel
=
Helpers
::
getChannelByCookie
();
switch
(
$channel
)
{
default
:
case
1
:
$header
[
'boys'
]
=
true
;
break
;
case
2
:
$header
[
'girls'
]
=
true
;
break
;
case
3
:
$header
[
'kids'
]
=
true
;
break
;
case
4
:
$header
[
'lifeStyle'
]
=
true
;
break
;
}
}
$this
->
_view
->
assign
(
'pageHeader'
,
$header
);
}
/**
* 设置网站导航底部信息
*
* @return void
*/
protected
function
setNavFooterTab
()
{
$this
->
_view
->
assign
(
'showFooterTab'
,
array
(
'indexUrl'
=>
Helpers
::
url
(
'/?go=1'
),
//首页
'categoryUrl'
=>
Helpers
::
url
(
'/cate'
),
// 分类
'guangUrl'
=>
Helpers
::
url
(
''
,
null
,
'guang'
),
// 逛首页
'shoppingCartUrl'
=>
Helpers
::
url
(
'/cart/index/index'
),
// 购物车
'mineUrl'
=>
Helpers
::
url
(
'/home'
),
// 个人中心
));
}
/**
* 设置侧边栏信息
*
* @param string $guangChoosed 逛默认选中项 "all"表示全部,"boys":只看男生,"girls":只看女生
* @return void
*/
protected
function
setNavSide
(
$guangChoosed
=
'all'
)
{
$this
->
_view
->
assign
(
'sideNav'
,
\Index\SideModel
::
getLeftNav
(
$guangChoosed
));
}
/**
* 设置最后修改时间
*
* @param string $modifiedTime 修改时间戳
* @param type $notModifiedExit 是否在没有修改时返回304状态
* @return void
*/
public
static
function
setLastModified
(
$modifiedTime
,
$notModifiedExit
=
true
)
{
$modifiedTime
=
date
(
'D, d M Y H:i:s '
,
$modifiedTime
)
.
'GMT'
;
if
(
$notModifiedExit
&&
isset
(
$_SERVER
[
'HTTP_IF_MODIFIED_SINCE'
])
&&
$modifiedTime
==
$_SERVER
[
'HTTP_IF_MODIFIED_SINCE'
])
{
header
(
'HTTP/1.1 304 Not Modified'
);
exit
();
}
header
(
'Last-Modified: '
.
$modifiedTime
);
}
/**
* 设置浏览器的缓存
*
* @param int $seconds 单位是秒
* @return void
*/
public
static
function
setExpires
(
$seconds
=
180
)
{
$time
=
date
(
'D, d M Y H:i:s '
,
time
()
+
$seconds
)
.
'GMT'
;
header
(
'Expires: '
.
$time
);
}
}
<?php
/**
* 所有Controller控制器的基类
*
* @name AbstractAction
* @package library
* @copyright yoho.inc
* @version 1.0 (2015-9-15 11:55:25)
* @author fei.hong <fei.hong@yoho.cn>
*/
namespace
Action
;
use
Yaf\Controller_Abstract
;
use
Yaf\Dispatcher
;
use
Plugin\Cache
;
use
Plugin\Helpers
;
use
Hood\Session
;
class
AbstractAction
extends
Controller_Abstract
{
/**
* HTTP请求对象
*
* @var object
*/
protected
$_request
;
/**
* 用户相关信息
*/
protected
$_vip
;
protected
$_uid
=
0
;
protected
$_uname
=
''
;
protected
$_usession
=
''
;
protected
$_useSession
=
true
;
/**
* 存放模板数据
*
* @var array
*/
protected
$_data
;
/**
* 初始化
*/
public
function
init
()
{
$this
->
_request
=
$this
->
getRequest
();
// 设置环境变量
switch
(
APPLICATION_ENV
)
{
case
'production'
:
// 生产
$this
->
_view
->
assign
(
'rlsEnv'
,
true
);
$this
->
_useSession
=
true
;
break
;
case
'preview'
:
// 预览
$this
->
_view
->
assign
(
'preEnv'
,
true
);
$this
->
_useSession
=
true
;
break
;
case
'testing'
:
// 测试
$this
->
_view
->
assign
(
'testEnv'
,
true
);
$this
->
_useSession
=
true
;
break
;
case
'develop'
:
// 开发
default
:
$this
->
_view
->
assign
(
'devEnv'
,
true
);
$this
->
_useSession
=
false
;
break
;
}
}
/**
* 封装一下获取get参数
*
* @param String $key
* @param mixed $default
* @return mixed
*/
protected
function
get
(
$key
=
null
,
$default
=
null
)
{
if
(
null
===
$key
)
{
return
$_GET
;
}
return
$this
->
_request
->
getQuery
(
$key
,
$default
);
}
/**
* 封装一下获取post参数
*
* @param String $key
* @param mixed $default
* @return mixed
*/
protected
function
post
(
$key
=
null
,
$default
=
null
)
{
if
(
null
===
$key
)
{
return
$_POST
;
}
return
$this
->
_request
->
getPost
(
$key
,
$default
);
}
/**
* 封装一下获取YAF内部的参数
*
* @param String $key
* @param mixed $default
* @return mixed
*/
protected
function
param
(
$key
,
$default
=
null
)
{
return
$this
->
_request
->
getParam
(
$key
,
$default
);
}
/**
* 封装一下获取服务器的参数
*
* @param String $key
* @param mixed $default
* @return mixed
*/
protected
function
server
(
$key
,
$default
=
null
)
{
return
$this
->
_request
->
getServer
(
$key
,
$default
);
}
/**
* 关闭模板自动渲染
*
* @return void
*/
protected
function
disableView
()
{
Dispatcher
::
getInstance
()
->
autoRender
(
false
);
}
/**
* 输出JSON数据到浏览器
*
* @return void
*/
protected
function
echoJson
(
$json
)
{
headers_sent
()
||
header
(
'Content-Type: application/json; charset=utf-8;'
);
if
(
is_array
(
$json
))
{
$json
=
json_encode
(
$json
);
}
echo
$json
;
}
/**
* 返回JSON数据
*
* @param int $code 状态编码
* @param string $message 提示信息
* @param mixed $data 数据内容
* @return json
*/
protected
function
returnJson
(
$code
,
$message
,
$data
)
{
headers_sent
()
||
header
(
'Content-Type: application/json; charset=utf-8;'
);
return
json_encode
(
array
(
'code'
=>
$code
,
'message'
=>
$message
,
'data'
=>
$data
,
));
}
/**
* JSON输出
* @param $code
* @param null $message
* @param null $data
*/
protected
function
helpJsonResult
(
$code
,
$message
=
null
,
$data
=
null
)
{
header
(
'Content-type: application/json'
);
echo
json_encode
(
array
(
'code'
=>
$code
,
'message'
=>
$message
,
'data'
=>
$data
));
exit
();
}
/**
* JSONP Callback输出,用于远程调用
* @param $callbackString
* @param $code
* @param null $message
* @param null $data
*/
protected
function
helpJsonCallbackResult
(
$callbackString
,
$code
,
$message
=
null
,
$data
=
null
)
{
header
(
'Content-type: application/json'
);
echo
$callbackString
.
"("
;
echo
json_encode
(
array
(
'code'
=>
$code
,
'message'
=>
$message
,
'data'
=>
$data
));
echo
")"
;
exit
();
}
/**
* 判断是不是AJAX请求
*
* @return bool
*/
protected
function
isAjax
()
{
return
$this
->
_request
->
isXmlHttpRequest
();
}
/**
* 跳转到错误页面
*/
protected
function
error
()
{
headers_sent
()
||
header
(
'Location: /error.html'
);
exit
();
}
/**
* 跳转到指定的URL
*
* @param string $url 链接地址
* @return void
*/
protected
function
go
(
$url
)
{
headers_sent
()
||
header
(
'Location: '
.
$url
);
exit
();
}
/**
* 设置Cookie
*
* @param string $name cookie的名字
* @param string $value cookie的值
* @param integer $expire cookie过期时间
* @param integer $path cookie可用的路径
* @param string $domain cookie可用域名
*/
protected
function
setCookie
(
$name
,
$value
,
$expire
=
0
,
$path
=
'/'
,
$domain
=
'.yohobuy.com'
)
{
setcookie
(
$name
,
$value
,
$expire
,
$path
,
$domain
);
}
/**
* 返回Cookie变量
*
* @param string $name cookie名称
* @param string $default 未获取到返回的默认值
* @return string 获取到的cookie值
*/
protected
function
getCookie
(
$name
,
$default
=
''
)
{
return
$this
->
_request
->
getCookie
(
$name
,
$default
);
}
/**
* 设置缓存
*
* @param string $key 键名
* @param mixed $value 需要缓存的数据
* @param int $expire 缓存有效期(单位秒, 0表示永久)
* @return void
*/
protected
function
setCache
(
$key
,
$value
,
$expire
)
{
Cache
::
set
(
$key
,
$value
,
$expire
);
}
/**
* 获取缓存
*
* @param string $key 键名
* @param bool $isMaster 控制是到主服务器取,还是到从服务器取缓存
* @return mixed
*/
protected
function
getCache
(
$key
,
$isMaster
=
true
)
{
if
(
$isMaster
)
{
return
Cache
::
get
(
$key
,
'master'
);
}
else
{
return
Cache
::
get
(
$key
,
'slave'
);
}
}
/**
* 设置Session
*
* @param string $name 名称
* @param mixed $value 值
* @return void
*/
public
function
setSession
(
$name
,
$value
)
{
if
(
$this
->
_useSession
)
{
Session
::
start
(
'yohobuy_session'
,
null
,
'yohobuy.com'
)
->
__set
(
$name
,
$value
);
}
}
/**
* 获取Session
*
* @param string $name 名称
* @return mixed
*/
public
function
getSession
(
$name
)
{
if
(
$this
->
_useSession
)
{
return
Session
::
start
(
'yohobuy_session'
,
null
,
'yohobuy.com'
)
->
__get
(
$name
);
}
else
{
return
''
;
}
}
/**
* 获取当前登录的用户ID
*
* @param bool $useSession (true:从服务端session中检查, false:从客户端cookie中检查)
* @return int
*/
protected
function
getUid
(
$useSession
=
false
)
{
// 控制是否启用SESSION
if
(
!
$this
->
_useSession
)
{
$useSession
=
false
;
}
$useSession
=
false
;
if
(
!
$this
->
_uid
)
{
$cookie
=
$this
->
getCookie
(
'_UID'
);
if
(
!
empty
(
$cookie
))
{
$cookieList
=
explode
(
'::'
,
$cookie
);
if
(
isset
(
$cookieList
[
1
])
&&
is_numeric
(
$cookieList
[
1
]))
{
if
(
$useSession
)
{
$token
=
$this
->
getSession
(
'_TOKEN'
);
if
(
empty
(
$token
))
{
$token
=
$this
->
getCookie
(
'_TOKEN'
);
}
if
(
$token
===
Helpers
::
makeToken
(
$cookieList
[
1
]))
{
$this
->
_uid
=
$cookieList
[
1
];
}
}
else
{
$this
->
_uid
=
$cookieList
[
1
];
}
$this
->
_uname
=
$cookieList
[
0
];
$this
->
_usession
=
$cookieList
[
3
];
$this
->
_vip
=
$cookieList
[
2
];
}
}
}
return
$this
->
_uid
;
}
/**
* 获取客户端唯一标识
*
* @return string
*/
protected
function
getUdid
()
{
$udid
=
''
;
$realIP
=
$this
->
_request
->
getServer
(
'HTTP_X_REAL_IP'
);
if
(
$realIP
)
{
$udid
=
md5
(
$realIP
);
}
else
{
$realIP
=
$this
->
_request
->
getServer
(
'REMOTE_ADDR'
,
''
);
$udid
=
md5
(
$realIP
);
}
return
$udid
;
}
/*
* 设置网站SEO的标题
*
* @param string $title 标题
* @param string $sign 连接的字符串
* @param bool $showMore 是否显示更多内容
* @return void
*/
protected
function
setTitle
(
$title
,
$showMore
=
true
,
$sign
=
' | '
)
{
$this
->
_view
->
assign
(
'title_more'
,
$showMore
);
$this
->
_view
->
assign
(
'title'
,
$title
.
$sign
);
}
/**
* 设置网站SEO的关键词
*
* @param string $keywords 关键词,多个之间用","逗号分隔
* @return void
*/
protected
function
setKeywords
(
$keywords
)
{
$this
->
_view
->
assign
(
'keywords'
,
rtrim
(
$keywords
,
','
)
.
','
);
}
/**
* 设置网站SEO的描述内容
*
* @param string $description 描述内容
* @param string $sign 连接的字符串
* @param bool $showMore 是否显示更多内容
* @return void
*/
protected
function
setDescription
(
$description
,
$showMore
=
true
,
$sign
=
' '
)
{
$this
->
_view
->
assign
(
'description_more'
,
$showMore
);
$this
->
_view
->
assign
(
'description'
,
$description
.
$sign
);
}
/**
* 设置网站导航头部信息
*
* @param string $title 头部标题
* @param mixed $backUrl 返回的链接
* @param string $homeUrl 返回首页的链接
* @return void
*/
protected
function
setNavHeader
(
$title
=
''
,
$backUrl
=
true
,
$homeUrl
=
'/'
,
$navBtn
=
false
)
{
$header
=
array
();
// // 判断是否是微信浏览器浏览
// if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') === false) {
// $header['isShow'] = true;
// }
if
(
$backUrl
)
{
$header
[
'navBack'
]
=
true
;
if
(
is_string
(
$backUrl
)
&&
$backUrl
!=
''
)
{
$header
[
'backUrl'
]
=
$backUrl
;
}
}
if
(
!
empty
(
$title
))
{
$header
[
'navTitle'
]
=
$title
;
}
if
(
!
empty
(
$homeUrl
))
{
$header
[
'navHome'
]
=
$homeUrl
.
'?go=1&t='
.
time
();
}
if
(
$navBtn
)
{
$header
[
'navBtn'
]
=
true
;
}
// 默认使用男生的头部
$header
[
'boys'
]
=
true
;
$controller
=
$this
->
getRequest
()
->
getControllerName
();
if
(
$controller
!==
'Home'
)
{
// 根据COOKIE记录的频道进行导航定位
$channel
=
Helpers
::
getChannelByCookie
();
switch
(
$channel
)
{
default
:
case
1
:
$header
[
'boys'
]
=
true
;
break
;
case
2
:
$header
[
'girls'
]
=
true
;
break
;
case
3
:
$header
[
'kids'
]
=
true
;
break
;
case
4
:
$header
[
'lifeStyle'
]
=
true
;
break
;
}
}
$this
->
_view
->
assign
(
'pageHeader'
,
$header
);
}
/**
* 设置网站导航底部信息
*
* @return void
*/
protected
function
setNavFooterTab
()
{
$this
->
_view
->
assign
(
'showFooterTab'
,
array
(
'indexUrl'
=>
Helpers
::
url
(
'/?go=1'
),
//首页
'categoryUrl'
=>
Helpers
::
url
(
'/cate'
),
// 分类
'guangUrl'
=>
Helpers
::
url
(
''
,
null
,
'guang'
),
// 逛首页
'shoppingCartUrl'
=>
Helpers
::
url
(
'/cart/index/index'
),
// 购物车
'mineUrl'
=>
Helpers
::
url
(
'/home'
),
// 个人中心
));
}
/**
* 设置侧边栏信息
*
* @param string $guangChoosed 逛默认选中项 "all"表示全部,"boys":只看男生,"girls":只看女生
* @return void
*/
protected
function
setNavSide
(
$guangChoosed
=
'all'
)
{
$this
->
_view
->
assign
(
'sideNav'
,
\Index\SideModel
::
getLeftNav
(
$guangChoosed
));
}
/**
* 设置最后修改时间
*
* @param string $modifiedTime 修改时间戳
* @param type $notModifiedExit 是否在没有修改时返回304状态
* @return void
*/
public
static
function
setLastModified
(
$modifiedTime
,
$notModifiedExit
=
true
)
{
$modifiedTime
=
date
(
'D, d M Y H:i:s '
,
$modifiedTime
)
.
'GMT'
;
if
(
$notModifiedExit
&&
isset
(
$_SERVER
[
'HTTP_IF_MODIFIED_SINCE'
])
&&
$modifiedTime
==
$_SERVER
[
'HTTP_IF_MODIFIED_SINCE'
])
{
header
(
'HTTP/1.1 304 Not Modified'
);
exit
();
}
header
(
'Last-Modified: '
.
$modifiedTime
);
}
/**
* 设置浏览器的缓存
*
* @param int $seconds 单位是秒
* @return void
*/
public
static
function
setExpires
(
$seconds
=
180
)
{
$time
=
date
(
'D, d M Y H:i:s '
,
time
()
+
$seconds
)
.
'GMT'
;
header
(
'Expires: '
.
$time
);
}
}
...
...
Please
register
or
login
to post a comment