Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
______--______
ShopXO
提交
d535e775
ShopXO
项目概览
______--______
/
ShopXO
与 Fork 源项目一致
Fork自
纵之格 / ShopXO
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
ShopXO
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d535e775
编写于
12月 18, 2018
作者:
D
devil_gong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
admin
上级
baf80871
变更
41
隐藏空白更改
内联
并排
Showing
41 changed file
with
1605 addition
and
1115 deletion
+1605
-1115
application/admin/controller/Answer.php
application/admin/controller/Answer.php
+61
-195
application/admin/controller/Common.php
application/admin/controller/Common.php
+6
-1
application/admin/controller/CustomView.php
application/admin/controller/CustomView.php
+77
-260
application/admin/controller/Link.php
application/admin/controller/Link.php
+35
-85
application/admin/controller/Navigation.php
application/admin/controller/Navigation.php
+32
-181
application/admin/controller/Order.php
application/admin/controller/Order.php
+18
-152
application/admin/controller/Theme.php
application/admin/controller/Theme.php
+37
-34
application/admin/view/default/answer/index.html
application/admin/view/default/answer/index.html
+20
-20
application/admin/view/default/customview/index.html
application/admin/view/default/customview/index.html
+33
-33
application/admin/view/default/customview/save_info.html
application/admin/view/default/customview/save_info.html
+10
-10
application/admin/view/default/lib/control_nav.html
application/admin/view/default/lib/control_nav.html
+0
-11
application/admin/view/default/lib/enable.html
application/admin/view/default/lib/enable.html
+3
-3
application/admin/view/default/lib/is_footer.html
application/admin/view/default/lib/is_footer.html
+3
-3
application/admin/view/default/lib/is_full_screen.html
application/admin/view/default/lib/is_full_screen.html
+3
-3
application/admin/view/default/lib/is_header.html
application/admin/view/default/lib/is_header.html
+3
-3
application/admin/view/default/lib/is_new_window_open.html
application/admin/view/default/lib/is_new_window_open.html
+3
-3
application/admin/view/default/lib/is_show.html
application/admin/view/default/lib/is_show.html
+3
-3
application/admin/view/default/lib/user_status.html
application/admin/view/default/lib/user_status.html
+2
-2
application/admin/view/default/link/index.html
application/admin/view/default/link/index.html
+10
-10
application/admin/view/default/navigation/index.html
application/admin/view/default/navigation/index.html
+43
-43
application/admin/view/default/navigation/nav.html
application/admin/view/default/navigation/nav.html
+5
-5
application/admin/view/default/order/index.html
application/admin/view/default/order/index.html
+33
-21
application/admin/view/default/theme/index.html
application/admin/view/default/theme/index.html
+6
-6
application/admin/view/default/theme/nav.html
application/admin/view/default/theme/nav.html
+4
-4
application/index/controller/CustomView.php
application/index/controller/CustomView.php
+3
-3
application/index/controller/Message.php
application/index/controller/Message.php
+3
-1
application/index/controller/Order.php
application/index/controller/Order.php
+1
-0
application/index/controller/UserFavor.php
application/index/controller/UserFavor.php
+1
-0
application/index/controller/UserGoodsBrowse.php
application/index/controller/UserGoodsBrowse.php
+1
-0
application/index/controller/UserIntegral.php
application/index/controller/UserIntegral.php
+1
-0
application/service/AnswerService.php
application/service/AnswerService.php
+317
-0
application/service/BrandService.php
application/service/BrandService.php
+0
-1
application/service/CustomViewService.php
application/service/CustomViewService.php
+270
-2
application/service/GoodsService.php
application/service/GoodsService.php
+3
-3
application/service/IntegralService.php
application/service/IntegralService.php
+1
-1
application/service/LinkService.php
application/service/LinkService.php
+186
-0
application/service/MessageService.php
application/service/MessageService.php
+15
-9
application/service/NavigationService.php
application/service/NavigationService.php
+346
-1
application/service/OrderService.php
application/service/OrderService.php
+6
-2
application/service/UserService.php
application/service/UserService.php
+1
-1
public/static/index/default/images/preview.jpg
public/static/index/default/images/preview.jpg
+0
-0
未找到文件。
application/admin/controller/Answer.php
浏览文件 @
d535e775
<?php
namespace
app\admin\controller
;
use
app\service\AnswerService
;
/**
* 问答管理
* @author Devil
...
...
@@ -31,7 +32,7 @@ class Answer extends Common
}
/**
*
[Index 问答列表]
*
问答列表
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
...
...
@@ -40,133 +41,47 @@ class Answer extends Common
public
function
Index
()
{
// 参数
$param
=
array_merge
(
$_POST
,
$_GET
);
// 模型对象
$m
=
db
(
'Answer'
);
// 条件
$where
=
$this
->
GetIndexWhere
();
// 分页
$number
=
MyC
(
'admin_page_number'
);
$page_param
=
array
(
'number'
=>
$number
,
'total'
=>
$m
->
where
(
$where
)
->
count
(),
'where'
=>
$param
,
'url'
=>
url
(
'Admin/Answer/Index'
),
);
$page
=
new
\
base\Page
(
$page_param
);
// 获取列表
$field
=
'*'
;
$list
=
$this
->
SetDataHandle
(
$m
->
where
(
$where
)
->
field
(
$field
)
->
limit
(
$page
->
GetPageStarNumber
(),
$number
)
->
order
(
'id desc'
)
->
select
());
$params
=
input
();
// 分页
$number
=
10
;
// 条件
$where
=
AnswerService
::
AnswerListWhere
(
$params
);
// 获取总数
$total
=
AnswerService
::
AnswerTotal
(
$where
);
// 分页
$page_params
=
array
(
'number'
=>
$number
,
'total'
=>
$total
,
'where'
=>
$params
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'url'
=>
url
(
'admin/order/index'
),
);
$page
=
new
\
base\Page
(
$page_params
);
$this
->
assign
(
'page_html'
,
$page
->
GetPageHtml
());
// 获取列表
$data_params
=
array
(
'limit_start'
=>
$page
->
GetPageStarNumber
(),
'limit_number'
=>
$number
,
'where'
=>
$where
,
);
$data
=
AnswerService
::
AnswerList
(
$data_params
);
$this
->
assign
(
'data_list'
,
$data
[
'data'
]);
// 状态
$this
->
assign
(
'common_is_show_list'
,
lang
(
'common_is_show_list'
));
// 参数
$this
->
assign
(
'param'
,
$param
);
// 分页
$this
->
assign
(
'page_html'
,
$page
->
GetPageHtml
());
// 数据列表
$this
->
assign
(
'list'
,
$list
);
// Excel地址
$this
->
assign
(
'excel_url'
,
url
(
'Admin/Answer/ExcelExport'
,
$param
));
$this
->
display
(
'Index'
);
}
/**
* [SetDataHandle 数据处理]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-29T21:27:15+0800
* @param [array] $data [问答数据]
* @return [array] [处理好的数据]
*/
private
function
SetDataHandle
(
$data
)
{
if
(
!
empty
(
$data
))
{
$common_is_show_list
=
lang
(
'common_is_show_list'
);
$common_gender_list
=
lang
(
'common_gender_list'
);
$u
=
db
(
'User'
);
foreach
(
$data
as
&
$v
)
{
// 用户信息
$user
=
$u
->
where
([
'id'
=>
$v
[
'user_id'
]])
->
field
(
'username,nickname,mobile,gender,avatar'
)
->
find
();
$v
[
'username'
]
=
empty
(
$user
[
'username'
])
?
''
:
$user
[
'username'
];
$v
[
'nickname'
]
=
empty
(
$user
[
'nickname'
])
?
''
:
$user
[
'nickname'
];
$v
[
'mobile'
]
=
empty
(
$user
[
'mobile'
])
?
''
:
$user
[
'mobile'
];
$v
[
'avatar'
]
=
empty
(
$user
[
'avatar'
])
?
''
:
$user
[
'avatar'
];
$v
[
'gender_text'
]
=
isset
(
$user
[
'gender'
])
?
$common_gender_list
[
$user
[
'gender'
]][
'name'
]
:
''
;
// 是否显示
$v
[
'is_show_text'
]
=
$common_is_show_list
[
$v
[
'is_show'
]][
'name'
];
// 创建时间
$v
[
'add_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'add_time'
]);
// 更新时间
$v
[
'upd_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'upd_time'
]);
}
}
return
$data
;
$this
->
assign
(
'params'
,
$params
);
return
$this
->
fetch
();
}
/**
* [GetIndexWhere 问答列表条件]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-10T22:16:29+0800
*/
private
function
GetIndexWhere
()
{
$where
=
array
(
'is_delete_time'
=>
0
);
// 模糊
if
(
!
empty
(
$_REQUEST
[
'keyword'
]))
{
$like_keyword
=
array
(
'like'
,
'%'
.
I
(
'keyword'
)
.
'%'
);
$where
[]
=
array
(
'name'
=>
$like_keyword
,
'tel'
=>
$like_keyword
,
'content'
=>
$like_keyword
,
'_logic'
=>
'or'
,
);
}
// 是否更多条件
if
(
I
(
'is_more'
,
0
)
==
1
)
{
// 等值
if
(
I
(
'is_show'
,
-
1
)
>
-
1
)
{
$where
[
'is_show'
]
=
intval
(
I
(
'is_show'
,
0
));
}
// 表达式
if
(
!
empty
(
$_REQUEST
[
'time_start'
]))
{
$where
[
'add_time'
][]
=
array
(
'gt'
,
strtotime
(
I
(
'time_start'
)));
}
if
(
!
empty
(
$_REQUEST
[
'time_end'
]))
{
$where
[
'add_time'
][]
=
array
(
'lt'
,
strtotime
(
I
(
'time_end'
)));
}
}
return
$where
;
}
/**
* [Delete 问答删除]
* 问答删除
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
...
...
@@ -175,87 +90,41 @@ class Answer extends Common
public
function
Delete
()
{
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
}
// 参数处理
$id
=
I
(
'id'
);
// 删除数据
if
(
!
empty
(
$id
))
{
// 问答模型
$m
=
db
(
'Answer'
);
// 问答是否存在
$merchant
=
$m
->
where
(
array
(
'id'
=>
$id
))
->
getField
(
'id'
);
if
(
empty
(
$merchant
))
{
$this
->
ajaxReturn
(
'资源不存在或已被删除'
,
-
2
);
}
// 删除问答
if
(
$m
->
where
(
array
(
'id'
=>
$id
))
->
save
([
'is_delete_time'
=>
time
()])
!==
false
)
{
$this
->
ajaxReturn
(
'删除成功'
);
}
else
{
$this
->
ajaxReturn
(
'删除失败或资源不存在'
,
-
100
);
}
}
else
{
$this
->
ajaxReturn
(
'参数错误'
,
-
1
);
}
if
(
!
IS_AJAX
)
{
return
$this
->
error
(
'非法访问'
);
}
// 开始处理
$params
=
input
();
$params
[
'user_type'
]
=
'admin'
;
$ret
=
AnswerService
::
AnswerDelete
(
$params
);
return
json
(
$ret
);
}
/**
*
[Save 问答回复处理]
*
问答回复处理
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @datetime 2018-03-28T15:07:17+0800
*/
public
function
Save
()
public
function
Reply
()
{
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
return
$this
->
error
(
'非法访问'
);
}
// 参数处理
$id
=
I
(
'id'
);
$reply
=
I
(
'reply'
);
if
(
empty
(
$id
))
{
$this
->
ajaxReturn
(
'参数错误'
,
-
1
);
}
if
(
empty
(
$reply
))
{
$this
->
ajaxReturn
(
'回复内容格式 2~230 个字符'
,
-
2
);
}
// 问答模型
$m
=
db
(
'Answer'
);
// 问答是否存在
$temp
=
$m
->
where
(
array
(
'id'
=>
$id
))
->
field
(
'id'
)
->
find
();
if
(
empty
(
$temp
))
{
$this
->
ajaxReturn
(
'资源不存在或已被删除'
,
-
2
);
}
// 更新问答
$data
=
array
(
'reply'
=>
$reply
,
'is_reply'
=>
1
,
'upd_time'
=>
time
());
if
(
$m
->
where
(
array
(
'id'
=>
$id
))
->
save
(
$data
)
!==
false
)
{
$this
->
ajaxReturn
(
'操作成功'
);
}
else
{
$this
->
ajaxReturn
(
'操作失败'
,
-
100
);
}
// 开始处理
$params
=
input
();
$ret
=
AnswerService
::
AnswerReply
(
$params
);
return
json
(
$ret
);
}
/**
*
[StatusUpdate 状态更新]
*
状态更新
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
...
...
@@ -263,19 +132,16 @@ class Answer extends Common
*/
public
function
StatusUpdate
()
{
//
参数
if
(
empty
(
$_POST
[
'id'
])
||
!
isset
(
$_POST
[
'state'
])
)
//
是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
ajaxReturn
(
'参数错误'
,
-
1
);
return
$this
->
error
(
'非法访问'
);
}
// 数据更新
if
(
db
(
'Answer'
)
->
where
(
array
(
'id'
=>
I
(
'id'
)))
->
save
(
array
(
'is_show'
=>
I
(
'state'
))))
{
$this
->
ajaxReturn
(
'编辑成功'
);
}
else
{
$this
->
ajaxReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
// 开始处理
$params
=
input
();
$ret
=
AnswerService
::
AnswerStatusUpdate
(
$params
);
return
json
(
$ret
);
}
}
?>
\ No newline at end of file
application/admin/controller/Common.php
浏览文件 @
d535e775
...
...
@@ -147,7 +147,12 @@ class Common extends Controller
// 角色组权限列表校验
if
(
!
in_array
(
strtolower
(
request
()
->
controller
()
.
'_'
.
request
()
->
action
()),
$this
->
power
))
{
return
$this
->
error
(
'无权限'
);
if
(
IS_AJAX
)
{
exit
(
json_encode
(
DataReturn
(
'无权限'
,
-
1000
)));
}
else
{
return
$this
->
error
(
'无权限'
);
}
}
}
}
...
...
application/admin/controller/CustomView.php
浏览文件 @
d535e775
<?php
namespace
app\admin\controller
;
use
Service\Resources
Service
;
use
app\service\CustomView
Service
;
/**
* 自定义页面管理
...
...
@@ -42,26 +41,37 @@ class CustomView extends Common
public
function
Index
()
{
// 参数
$param
=
array_merge
(
$_POST
,
$_GET
);
// 模型对象
$m
=
db
(
'CustomView'
);
// 条件
$where
=
$this
->
GetIndexWhere
();
// 分页
$number
=
MyC
(
'admin_page_number'
);
$page_param
=
array
(
'number'
=>
$number
,
'total'
=>
$m
->
where
(
$where
)
->
count
(),
'where'
=>
$param
,
'url'
=>
url
(
'Admin/CustomView/Index'
),
);
$page
=
new
\
base\Page
(
$page_param
);
// 获取列表
$list
=
$this
->
SetDataHandle
(
$m
->
where
(
$where
)
->
limit
(
$page
->
GetPageStarNumber
(),
$number
)
->
order
(
'id desc'
)
->
select
());
$params
=
input
();
// 分页
$number
=
10
;
// 条件
$where
=
CustomViewService
::
CustomViewListWhere
(
$params
);
// 获取总数
$total
=
CustomViewService
::
CustomViewTotal
(
$where
);
// 分页
$page_params
=
array
(
'number'
=>
$number
,
'total'
=>
$total
,
'where'
=>
$params
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'url'
=>
url
(
'admin/customview/index'
),
);
$page
=
new
\
base\Page
(
$page_params
);
$this
->
assign
(
'page_html'
,
$page
->
GetPageHtml
());
// 获取列表
$data_params
=
array
(
'limit_start'
=>
$page
->
GetPageStarNumber
(),
'limit_number'
=>
$number
,
'where'
=>
$where
,
'field'
=>
'*'
,
);
$data
=
CustomViewService
::
CustomViewList
(
$data_params
);
$this
->
assign
(
'data_list'
,
$data
[
'data'
]);
// 是否启用
$this
->
assign
(
'common_is_enable_list'
,
lang
(
'common_is_enable_list'
));
...
...
@@ -76,90 +86,8 @@ class CustomView extends Common
$this
->
assign
(
'common_is_full_screen_list'
,
lang
(
'common_is_full_screen_list'
));
// 参数
$this
->
assign
(
'param'
,
$param
);
// 分页
$this
->
assign
(
'page_html'
,
$page
->
GetPageHtml
());
// 数据列表
$this
->
assign
(
'list'
,
$list
);
$this
->
display
(
'Index'
);
}
/**
* [SetDataHandle 数据处理]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-29T21:27:15+0800
* @param [array] $data [文章数据]
* @return [array] [处理好的数据]
*/
private
function
SetDataHandle
(
$data
)
{
if
(
!
empty
(
$data
))
{
foreach
(
$data
as
$k
=>
$v
)
{
// 时间
$data
[
$k
][
'add_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'add_time'
]);
$data
[
$k
][
'upd_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'upd_time'
]);
// 是否启用
$data
[
$k
][
'is_enable_text'
]
=
lang
(
'common_is_enable_list'
)[
$v
[
'is_enable'
]][
'name'
];
}
}
return
$data
;
}
/**
* [GetIndexWhere 文章列表条件]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-10T22:16:29+0800
*/
private
function
GetIndexWhere
()
{
$where
=
array
();
// 模糊
if
(
!
empty
(
$_REQUEST
[
'keyword'
]))
{
$where
[]
=
array
(
'title'
=>
array
(
'like'
,
'%'
.
I
(
'keyword'
)
.
'%'
),
);
}
// 是否更多条件
if
(
I
(
'is_more'
,
0
)
==
1
)
{
// 等值
if
(
I
(
'is_enable'
,
-
1
)
>
-
1
)
{
$where
[
'is_enable'
]
=
intval
(
I
(
'is_enable'
,
1
));
}
if
(
I
(
'is_header'
,
-
1
)
>
-
1
)
{
$where
[
'is_header'
]
=
intval
(
I
(
'is_header'
));
}
if
(
I
(
'is_footer'
,
-
1
)
>
-
1
)
{
$where
[
'is_footer'
]
=
intval
(
I
(
'is_footer'
));
}
// 表达式
if
(
!
empty
(
$_REQUEST
[
'time_start'
]))
{
$where
[
'add_time'
][]
=
array
(
'gt'
,
strtotime
(
I
(
'time_start'
)));
}
if
(
!
empty
(
$_REQUEST
[
'time_end'
]))
{
$where
[
'add_time'
][]
=
array
(
'lt'
,
strtotime
(
I
(
'time_end'
)));
}
}
return
$where
;
$this
->
assign
(
'params'
,
$params
);
return
$this
->
fetch
();
}
/**
...
...
@@ -171,19 +99,22 @@ class CustomView extends Common
*/
public
function
SaveInfo
()
{
// 参数
$params
=
input
();
// 数据
if
(
empty
(
$_REQUEST
[
'id'
]))
if
(
!
empty
(
$params
[
'id'
]))
{
$data
=
array
();
}
else
{
$data
=
db
(
'CustomView'
)
->
find
(
I
(
'id'
));
if
(
!
empty
(
$data
[
'content'
]))
{
// 静态资源地址处理
$data
[
'content'
]
=
ResourcesService
::
ContentStaticReplace
(
$data
[
'content'
],
'get'
);
}
// 获取列表
$data_params
=
array
(
'limit_start'
=>
0
,
'limit_number'
=>
1
,
'where'
=>
[
'id'
=>
intval
(
$params
[
'id'
])],
'field'
=>
'*'
,
);
$data
=
CustomViewService
::
CustomViewList
(
$data_params
);
$this
->
assign
(
'data'
,
empty
(
$data
[
'data'
][
0
])
?
[]
:
$data
[
'data'
][
0
]);
}
$this
->
assign
(
'data'
,
$data
);
// 是否启用
$this
->
assign
(
'common_is_enable_list'
,
lang
(
'common_is_enable_list'
));
...
...
@@ -197,7 +128,7 @@ class CustomView extends Common
// 是否满屏
$this
->
assign
(
'common_is_full_screen_list'
,
lang
(
'common_is_full_screen_list'
));
$this
->
display
(
'SaveInfo'
);
return
$this
->
fetch
(
);
}
/**
...
...
@@ -210,117 +141,15 @@ class CustomView extends Common
public
function
Save
()
{
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
}
// 添加
if
(
empty
(
$_POST
[
'id'
]))
{
$this
->
Add
();
// 编辑
}
else
{
$this
->
Edit
();
}
}
/**
* [Add 添加]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-18T16:20:59+0800
*/
private
function
Add
()
{
// 模型
$m
=
D
(
'CustomView'
);
// 数据自动校验
if
(
$m
->
create
(
$_POST
,
1
))
{
// 额外数据处理
$m
->
add_time
=
time
();
$m
->
upd_time
=
time
();
$m
->
title
=
I
(
'title'
);
// 静态资源地址处理
$m
->
content
=
ResourcesService
::
ContentStaticReplace
(
$m
->
content
,
'add'
);
// 正则匹配文章图片
$temp_image
=
$this
->
MatchContentImage
(
$m
->
content
);
$m
->
image
=
json_encode
(
$temp_image
);
$m
->
image_count
=
count
(
$temp_image
);
// 数据添加
if
(
$m
->
add
())
{
$this
->
ajaxReturn
(
'新增成功'
);
}
else
{
$this
->
ajaxReturn
(
'新增失败'
,
-
100
);
}
}
else
{
$this
->
ajaxReturn
(
$m
->
getError
(),
-
1
);
}
}
/**
* [Edit 编辑]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-17T22:13:40+0800
*/
private
function
Edit
()
{
// 模型
$m
=
D
(
'CustomView'
);
// 数据自动校验
if
(
$m
->
create
(
$_POST
,
2
))
{
// 静态资源地址处理
$m
->
content
=
ResourcesService
::
ContentStaticReplace
(
$m
->
content
,
'add'
);
// 正则匹配文章图片
$temp_image
=
$this
->
MatchContentImage
(
$m
->
content
);
$m
->
image
=
json_encode
(
$temp_image
);
$m
->
image_count
=
count
(
$temp_image
);
$m
->
upd_time
=
time
();
$m
->
title
=
I
(
'title'
);
// 数据更新
if
(
$m
->
where
(
array
(
'id'
=>
I
(
'id'
)))
->
save
())
{
$this
->
ajaxReturn
(
'编辑成功'
);
}
else
{
$this
->
ajaxReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
}
else
{
$this
->
ajaxReturn
(
$m
->
getError
(),
-
1
);
}
}
/**
* [MatchContentImage 正则匹配文章图片]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-01-22T18:06:53+0800
* @param [string] $content [文章内容]
* @return [array] [文章图片数组(一维)]
*/
private
function
MatchContentImage
(
$content
)
{
if
(
!
empty
(
$content
))
{
$pattern
=
'/<img.*?src=[\'|\"](\/Public\/Upload\/customview\/image\/.*?[\.gif|\.jpg|\.jpeg|\.png|\.bmp])[\'|\"].*?[\/]?>/'
;
preg_match_all
(
$pattern
,
$content
,
$match
);
return
empty
(
$match
[
1
])
?
array
()
:
$match
[
1
];
}
return
array
();
if
(
!
IS_AJAX
)
{
return
$this
->
error
(
'非法访问'
);
}
// 开始处理
$params
=
input
();
$ret
=
CustomViewService
::
CustomViewSave
(
$params
);
return
json
(
$ret
);
}
/**
...
...
@@ -333,24 +162,16 @@ class CustomView extends Common
public
function
Delete
()
{
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
}
// 删除数据
if
(
!
empty
(
$_POST
[
'id'
]))
{
// 更新
if
(
db
(
'CustomView'
)
->
delete
(
I
(
'id'
)))
{
$this
->
ajaxReturn
(
'删除成功'
);
}
else
{
$this
->
ajaxReturn
(
'删除失败或资源不存在'
,
-
100
);
}
}
else
{
$this
->
ajaxReturn
(
'参数错误'
,
-
1
);
}
if
(
!
IS_AJAX
)
{
return
$this
->
error
(
'非法访问'
);
}
// 开始处理
$params
=
input
();
$params
[
'user_type'
]
=
'admin'
;
$ret
=
CustomViewService
::
CustomViewDelete
(
$params
);
return
json
(
$ret
);
}
/**
...
...
@@ -362,20 +183,16 @@ class CustomView extends Common
*/
public
function
StatusUpdate
()
{
// 参数
if
(
empty
(
$_POST
[
'id'
])
||
!
isset
(
$_POST
[
'state'
]))
{
$this
->
ajaxReturn
(
'参数错误'
,
-
1
);
}
$field
=
i
(
'field'
,
'is_enable'
);
// 数据更新
if
(
db
(
'CustomView'
)
->
where
([
'id'
=>
I
(
'id'
)])
->
save
([
$field
=>
intval
(
I
(
'state'
))]))
{
$this
->
ajaxReturn
(
'编辑成功'
);
}
else
{
$this
->
ajaxReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
// 是否ajax请求
if
(
!
IS_AJAX
)
{
return
$this
->
error
(
'非法访问'
);
}
// 开始处理
$params
=
input
();
$ret
=
CustomViewService
::
CustomViewStatusUpdate
(
$params
);
return
json
(
$ret
);
}
}
?>
\ No newline at end of file
application/admin/controller/Link.php
浏览文件 @
d535e775
<?php
namespace
app\admin\controller
;
use
app\service\LinkService
;
/**
* 友情链接
* @author Devil
...
...
@@ -40,8 +41,8 @@ class Link extends Common
public
function
Index
()
{
// 获取导航列表
$
list
=
db
(
'Link'
)
->
field
(
array
(
'id'
,
'name'
,
'url'
,
'describe'
,
'sort'
,
'is_enable'
,
'is_new_window_open'
))
->
order
(
'sort'
)
->
selec
t
();
$this
->
assign
(
'
list'
,
$list
);
$
data
=
LinkService
::
LinkLis
t
();
$this
->
assign
(
'
data_list'
,
$data
[
'data'
]
);
// 是否新窗口打开
$this
->
assign
(
'common_is_new_window_open_list'
,
lang
(
'common_is_new_window_open_list'
));
...
...
@@ -49,7 +50,7 @@ class Link extends Common
// 是否启用
$this
->
assign
(
'common_is_enable_list'
,
lang
(
'common_is_enable_list'
));
$this
->
display
(
'Index'
);
return
$this
->
fetch
(
);
}
/**
...
...
@@ -62,57 +63,15 @@ class Link extends Common
public
function
Save
()
{
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
}
// id为空则表示是新增
$m
=
D
(
'Link'
);
// 公共额外数据处理
$m
->
sort
=
intval
(
I
(
'sort'
));
$m
->
describe
=
I
(
'describe'
);
// 添加
if
(
empty
(
$_POST
[
'id'
]))
{
if
(
$m
->
create
(
$_POST
,
1
))
{
// 额外数据处理
$m
->
add_time
=
time
();
$m
->
name
=
I
(
'name'
);
$m
->
describe
=
I
(
'describe'
);
// 写入数据库
if
(
$m
->
add
())
{
$this
->
ajaxReturn
(
'新增成功'
);
}
else
{
$this
->
ajaxReturn
(
'新增失败'
,
-
100
);
}
}
}
else
{
// 编辑
if
(
$m
->
create
(
$_POST
,
2
))
{
// 额外数据处理
$m
->
name
=
I
(
'name'
);
$m
->
describe
=
I
(
'describe'
);
// 移除 id
unset
(
$m
->
id
);
// 更新数据库
if
(
$m
->
where
(
array
(
'id'
=>
I
(
'id'
)))
->
save
())
{
$this
->
ajaxReturn
(
'编辑成功'
);
}
else
{
$this
->
ajaxReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
}
}
$this
->
ajaxReturn
(
$m
->
getError
(),
-
1
);
if
(
!
IS_AJAX
)
{
return
$this
->
error
(
'非法访问'
);
}
// 开始处理
$params
=
input
();
$ret
=
LinkService
::
LinkSave
(
$params
);
return
json
(
$ret
);
}
/**
...
...
@@ -124,23 +83,17 @@ class Link extends Common
*/
public
function
Delete
()
{
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
}
$m
=
D
(
'Link'
);
if
(
$m
->
create
(
$_POST
,
4
))
{
if
(
$m
->
delete
(
$id
))
{
$this
->
ajaxReturn
(
'删除成功'
);
}
else
{
$this
->
ajaxReturn
(
'删除失败或资源不存在'
,
-
100
);
}
}
else
{
$this
->
ajaxReturn
(
$m
->
getError
(),
-
1
);
}
// 是否ajax请求
if
(
!
IS_AJAX
)
{
return
$this
->
error
(
'非法访问'
);
}
// 开始处理
$params
=
input
();
$params
[
'user_type'
]
=
'admin'
;
$ret
=
LinkService
::
LinkDelete
(
$params
);
return
json
(
$ret
);
}
/**
...
...
@@ -152,19 +105,16 @@ class Link extends Common
*/
public
function
StatusUpdate
()
{
// 参数
if
(
empty
(
$_POST
[
'id'
])
||
!
isset
(
$_POST
[
'state'
]))
{
$this
->
ajaxReturn
(
'参数错误'
,
-
1
);
}
// 数据更新
if
(
db
(
'Link'
)
->
where
(
array
(
'id'
=>
I
(
'id'
)))
->
save
(
array
(
'is_enable'
=>
I
(
'state'
))))
{
$this
->
ajaxReturn
(
'编辑成功'
);
}
else
{
$this
->
ajaxReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
// 是否ajax请求
if
(
!
IS_AJAX
)
{
return
$this
->
error
(
'非法访问'
);
}
// 开始处理
$params
=
input
();
$ret
=
LinkService
::
LinkStatusUpdate
(
$params
);
return
json
(
$ret
);
}
}
?>
\ No newline at end of file
application/admin/controller/Navigation.php
浏览文件 @
d535e775
<?php
namespace
app\admin\controller
;
use
Service\ArticleService
;
use
Service\NavigationService
;
use
app\service\ArticleService
;
use
app\service\NavigationService
;
use
app\service\GoodsService
;
/**
* 导航管理
...
...
@@ -35,7 +35,7 @@ class Navigation extends Common
$this
->
Is_Power
();
// 导航类型
$this
->
nav_type
=
I
(
'nav_type'
,
'header'
);
$this
->
nav_type
=
input
(
'nav_type'
,
'header'
);
}
/**
...
...
@@ -48,34 +48,16 @@ class Navigation extends Common
public
function
Index
()
{
// 获取导航列表
$this
->
assign
(
'
list'
,
$this
->
GetNavList
(
));
$this
->
assign
(
'
data_list'
,
NavigationService
::
NavList
([
'nav_type'
=>
$this
->
nav_type
]
));
// 一级分类
$this
->
assign
(
'nav_header_pid_list'
,
db
(
'Navigation'
)
->
field
(
array
(
'id'
,
'name'
))
->
where
(
array
(
'is_show'
=>
1
,
'pid'
=>
0
,
'nav_type'
=>
$this
->
nav_type
))
->
select
(
));
$this
->
assign
(
'nav_header_pid_list'
,
NavigationService
::
LevelOneNav
([
'nav_type'
=>
$this
->
nav_type
]
));
// 获取分类和文章
$this
->
assign
(
'article_list'
,
ArticleService
::
ArticleCategoryList
());
// 商品分类
$field
=
'id,name'
;
$m
=
db
(
'GoodsCategory'
);
$category
=
$m
->
field
(
$field
)
->
where
([
'is_enable'
=>
1
,
'pid'
=>
0
])
->
order
(
'sort asc'
)
->
select
();
if
(
!
empty
(
$category
))
{
foreach
(
$category
as
&
$v
)
{
$two
=
$m
->
field
(
$field
)
->
where
([
'is_enable'
=>
1
,
'pid'
=>
$v
[
'id'
]])
->
order
(
'sort asc'
)
->
select
();
if
(
!
empty
(
$two
))
{
foreach
(
$two
as
&
$vs
)
{
$vs
[
'items'
]
=
$m
->
field
(
$field
)
->
where
([
'is_enable'
=>
1
,
'pid'
=>
$vs
[
'id'
]])
->
order
(
'sort asc'
)
->
select
();
}
}
$v
[
'items'
]
=
$two
;
}
}
$this
->
assign
(
'goods_category_list'
,
$category
);
$this
->
assign
(
'goods_category_list'
,
GoodsService
::
GoodsCategory
());
// 自定义页面
$this
->
assign
(
'customview_list'
,
db
(
'CustomView'
)
->
field
(
array
(
'id'
,
'title'
))
->
where
(
array
(
'is_enable'
=>
1
))
->
select
());
...
...
@@ -87,30 +69,7 @@ class Navigation extends Common
$this
->
assign
(
'common_is_show_list'
,
lang
(
'common_is_show_list'
));
$this
->
assign
(
'nav_type'
,
$this
->
nav_type
);
$this
->
display
(
'Index'
);
}
/**
* [GetNavList 获取数据列表]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-10T22:16:29+0800
*/
private
function
GetNavList
()
{
$m
=
db
(
'Navigation'
);
$field
=
array
(
'id'
,
'pid'
,
'name'
,
'url'
,
'value'
,
'data_type'
,
'sort'
,
'is_show'
,
'is_new_window_open'
);
$data
=
NavigationService
::
NavDataDealWith
(
$m
->
field
(
$field
)
->
where
(
array
(
'nav_type'
=>
$this
->
nav_type
,
'pid'
=>
0
))
->
order
(
'sort'
)
->
select
());
if
(
!
empty
(
$data
))
{
foreach
(
$data
as
$k
=>
$v
)
{
$data
[
$k
][
'item'
]
=
NavigationService
::
NavDataDealWith
(
$m
->
field
(
$field
)
->
where
(
array
(
'nav_type'
=>
$this
->
nav_type
,
'pid'
=>
$v
[
'id'
]))
->
order
(
'sort'
)
->
select
());
}
}
return
$data
;
return
$this
->
fetch
();
}
/**
...
...
@@ -123,111 +82,19 @@ class Navigation extends Common
public
function
Save
()
{
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
}
// 请求类型
switch
(
I
(
'data_type'
))
{
// 自定义导航
case
'custom'
:
$this
->
DataSave
(
5
);
break
;
// 文章分类导航
case
'article'
:
$this
->
DataSave
(
6
);
break
;
// 自定义页面导航
case
'customview'
:
$this
->
DataSave
(
7
);
break
;
// 商品分类导航
case
'goods_category'
:
$this
->
DataSave
(
8
);
break
;
}
$this
->
ajaxReturn
(
'参数错误'
,
-
1
);
if
(
!
IS_AJAX
)
{
return
$this
->
error
(
'非法访问'
);
}
// 开始处理
$params
=
input
();
$params
[
'nav_type'
]
=
$this
->
nav_type
;
$ret
=
NavigationService
::
NavSave
(
$params
);
return
json
(
$ret
);
}
/**
* [DataSave 导航数据保存]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-02-05T20:12:30+0800
* @param [int] $check_type [校验类型]
*/
private
function
DataSave
(
$check_type
)
{
$m
=
D
(
'Navigation'
);
// 数据校验
if
(
$m
->
create
(
$_POST
,
$check_type
))
{
// 非自定义导航数据处理
if
(
empty
(
$_POST
[
'name'
]))
{
switch
(
I
(
'data_type'
))
{
// 文章分类导航
case
'article'
:
$temp_name
=
db
(
'Article'
)
->
where
(
array
(
'id'
=>
I
(
'value'
)))
->
getField
(
'title'
);
break
;
// 自定义页面导航
case
'customview'
:
$temp_name
=
db
(
'CustomView'
)
->
where
(
array
(
'id'
=>
I
(
'value'
)))
->
getField
(
'title'
);
break
;
// 商品分类导航
case
'goods_category'
:
$temp_name
=
db
(
'GoodsCategory'
)
->
where
(
array
(
'id'
=>
I
(
'value'
)))
->
getField
(
'name'
);
break
;
}
// 只截取16个字符
$m
->
name
=
mb_substr
(
$temp_name
,
0
,
16
,
config
(
'DEFAULT_CHARSET'
));
}
else
{
$m
->
name
=
I
(
'name'
);
}
// 清除缓存
S
(
config
(
'cache_common_home_nav_'
.
$this
->
nav_type
.
'_key'
,
null
));
// id为空则表示是新增
if
(
empty
(
$_POST
[
'id'
]))
{
// 额外数据处理
$m
->
add_time
=
time
();
$m
->
nav_type
=
$this
->
nav_type
;
// 写入数据库
if
(
$m
->
add
())
{
$this
->
ajaxReturn
(
'新增成功'
);
}
else
{
$this
->
ajaxReturn
(
'新增失败'
,
-
100
);
}
}
else
{
// 额外数据处理
$m
->
upd_time
=
time
();
// 数据编辑
if
(
$m
->
where
(
array
(
'id'
=>
I
(
'id'
)))
->
save
())
{
$this
->
ajaxReturn
(
'编辑成功'
);
}
else
{
$this
->
ajaxReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
}
}
else
{
$this
->
ajaxReturn
(
$m
->
getError
(),
-
1
);
}
}
/**
* [Delete 删除]
...
...
@@ -238,26 +105,16 @@ class Navigation extends Common
*/
public
function
Delete
()
{
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
return
$this
->
error
(
'非法访问'
);
}
$m
=
D
(
'Navigation'
);
if
(
$m
->
create
(
$_POST
,
4
))
{
if
(
$m
->
delete
(
$id
))
{
// 清除缓存
S
(
config
(
'cache_common_home_nav_'
.
$this
->
nav_type
.
'_key'
,
null
));
$this
->
ajaxReturn
(
'删除成功'
);
}
else
{
$this
->
ajaxReturn
(
'删除失败或资源不存在'
,
-
100
);
}
}
else
{
$this
->
ajaxReturn
(
$m
->
getError
(),
-
1
);
}
// 开始处理
$params
=
input
();
$ret
=
NavigationService
::
NavDelete
(
$params
);
return
json
(
$ret
);
}
/**
...
...
@@ -269,22 +126,16 @@ class Navigation extends Common
*/
public
function
StatusUpdate
()
{
//
参数
if
(
empty
(
$_POST
[
'id'
])
||
!
isset
(
$_POST
[
'state'
])
)
//
是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
ajaxReturn
(
'参数错误'
,
-
1
);
return
$this
->
error
(
'非法访问'
);
}
// 数据更新
if
(
db
(
'Navigation'
)
->
where
(
array
(
'id'
=>
I
(
'id'
)))
->
save
(
array
(
'is_show'
=>
I
(
'state'
))))
{
// 清除缓存
S
(
config
(
'cache_common_home_nav_'
.
$this
->
nav_type
.
'_key'
,
null
));
$this
->
ajaxReturn
(
'编辑成功'
);
}
else
{
$this
->
ajaxReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
// 开始处理
$params
=
input
();
$ret
=
NavigationService
::
NavStatusUpdate
(
$params
);
return
json
(
$ret
);
}
}
?>
\ No newline at end of file
application/admin/controller/Order.php
浏览文件 @
d535e775
...
...
@@ -61,6 +61,7 @@ class Order extends Common
'number'
=>
$number
,
'total'
=>
$total
,
'where'
=>
$params
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'url'
=>
url
(
'admin/order/index'
),
);
$page
=
new
\
base\Page
(
$page_params
);
...
...
@@ -101,141 +102,6 @@ class Order extends Common
return
$this
->
fetch
();
}
/**
* [SetDataHandle 数据处理]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-29T21:27:15+0800
* @param [array] $data [订单数据]
* @return [array] [处理好的数据]
*/
private
function
SetDataHandle
(
$data
)
{
if
(
!
empty
(
$data
))
{
$image_host
=
config
(
'IMAGE_HOST'
);
$common_order_admin_status
=
lang
(
'common_order_admin_status'
);
$common_order_pay_status
=
lang
(
'common_order_pay_status'
);
foreach
(
$data
as
&
$v
)
{
// 确认时间
$v
[
'confirm_time'
]
=
empty
(
$v
[
'confirm_time'
])
?
null
:
date
(
'Y-m-d H:i:s'
,
$v
[
'confirm_time'
]);
// 支付时间
$v
[
'pay_time'
]
=
empty
(
$v
[
'pay_time'
])
?
null
:
date
(
'Y-m-d H:i:s'
,
$v
[
'pay_time'
]);
// 发货时间
$v
[
'delivery_time'
]
=
empty
(
$v
[
'delivery_time'
])
?
null
:
date
(
'Y-m-d H:i:s'
,
$v
[
'delivery_time'
]);
// 完成时间
$v
[
'success_time'
]
=
empty
(
$v
[
'success_time'
])
?
null
:
date
(
'Y-m-d H:i:s'
,
$v
[
'success_time'
]);
// 取消时间
$v
[
'cancel_time'
]
=
empty
(
$v
[
'cancel_time'
])
?
null
:
date
(
'Y-m-d H:i:s'
,
$v
[
'cancel_time'
]);
// 创建时间
$v
[
'add_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'add_time'
]);
// 更新时间
$v
[
'upd_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'upd_time'
]);
// 状态
$v
[
'status_text'
]
=
$common_order_admin_status
[
$v
[
'status'
]][
'name'
];
// 支付状态
$v
[
'pay_status_text'
]
=
$common_order_pay_status
[
$v
[
'pay_status'
]][
'name'
];
// 支付方式
$v
[
'payment_name'
]
=
(
$v
[
'status'
]
<=
1
)
?
null
:
ResourcesService
::
OrderPaymentName
(
$v
[
'id'
]);
// 快递公司
$v
[
'express_name'
]
=
ResourcesService
::
ExpressName
(
$v
[
'express_id'
]);
// 收件人地址
$v
[
'receive_province_name'
]
=
ResourcesService
::
RegionName
(
$v
[
'receive_province'
]);
$v
[
'receive_city_name'
]
=
ResourcesService
::
RegionName
(
$v
[
'receive_city'
]);
$v
[
'receive_county_name'
]
=
ResourcesService
::
RegionName
(
$v
[
'receive_county'
]);
// 商品列表
$goods
=
db
(
'OrderDetail'
)
->
where
([
'order_id'
=>
$v
[
'id'
]])
->
select
();
if
(
!
empty
(
$goods
))
{
foreach
(
$goods
as
&
$vs
)
{
$vs
[
'attribute'
]
=
empty
(
$vs
[
'attribute'
])
?
null
:
json_decode
(
$vs
[
'attribute'
],
true
);
}
}
$v
[
'goods'
]
=
$goods
;
// 描述
$v
[
'describe'
]
=
'共'
.
count
(
$v
[
'goods'
])
.
'件 合计:¥'
.
$v
[
'total_price'
]
.
'元'
;
}
}
return
$data
;
}
/**
* [GetIndexWhere 订单列表条件]
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-10T22:16:29+0800
*/
private
function
GetIndexWhere
()
{
$where
=
array
(
'is_delete_time'
=>
0
,
);
// 模糊
if
(
!
empty
(
$_REQUEST
[
'keyword'
]))
{
$like_keyword
=
array
(
'like'
,
'%'
.
I
(
'keyword'
)
.
'%'
);
$where
[]
=
array
(
'order_no'
=>
$like_keyword
,
'receive_name'
=>
$like_keyword
,
'receive_tel'
=>
$like_keyword
,
'receive_address'
=>
$like_keyword
,
'express_number'
=>
$like_keyword
,
'_logic'
=>
'or'
,
);
}
// 是否更多条件
if
(
I
(
'is_more'
,
0
)
==
1
)
{
// 等值
if
(
I
(
'status'
,
-
1
)
>
-
1
)
{
$where
[
'status'
]
=
intval
(
I
(
'status'
));
}
if
(
I
(
'express_id'
,
-
1
)
>
-
1
)
{
$where
[
'express_id'
]
=
intval
(
I
(
'express_id'
));
}
if
(
I
(
'pay_status'
,
-
1
)
>
-
1
)
{
$where
[
'pay_status'
]
=
intval
(
I
(
'pay_status'
));
}
// 表达式
if
(
!
empty
(
$_REQUEST
[
'time_start'
]))
{
$where
[
'add_time'
][]
=
array
(
'gt'
,
strtotime
(
I
(
'time_start'
)));
}
if
(
!
empty
(
$_REQUEST
[
'time_end'
]))
{
$where
[
'add_time'
][]
=
array
(
'lt'
,
strtotime
(
I
(
'time_end'
)));
}
}
return
$where
;
}
/**
* [Delete 订单删除]
* @author Devil
...
...
@@ -248,17 +114,17 @@ class Order extends Common
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
return
$this
->
error
(
'非法访问'
);
}
// 删除操作
$params
=
$_POST
;
$params
=
input
()
;
$params
[
'user_id'
]
=
$params
[
'value'
];
$params
[
'creator'
]
=
$this
->
admin
[
'id'
];
$params
[
'creator_name'
]
=
$this
->
admin
[
'username'
];
$params
[
'user_type'
]
=
'admin'
;
$ret
=
OrderService
::
OrderDelete
(
$params
);
$this
->
ajaxReturn
(
$ret
[
'msg'
],
$ret
[
'code'
],
$ret
[
'data'
]
);
return
json
(
$ret
);
}
/**
...
...
@@ -273,16 +139,16 @@ class Order extends Common
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
return
$this
->
error
(
'非法访问'
);
}
// 取消操作
$params
=
$_POST
;
$params
=
input
()
;
$params
[
'user_id'
]
=
$params
[
'value'
];
$params
[
'creator'
]
=
$this
->
admin
[
'id'
];
$params
[
'creator_name'
]
=
$this
->
admin
[
'username'
];
$ret
=
OrderService
::
OrderCancel
(
$params
);
$this
->
ajaxReturn
(
$ret
[
'msg'
],
$ret
[
'code'
],
$ret
[
'data'
]
);
return
json
(
$ret
);
}
/**
...
...
@@ -297,15 +163,15 @@ class Order extends Common
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
return
$this
->
error
(
'非法访问'
);
}
// 发货操作
$params
=
$_POST
;
$params
=
input
()
;
$params
[
'creator'
]
=
$this
->
admin
[
'id'
];
$params
[
'creator_name'
]
=
$this
->
admin
[
'username'
];
$ret
=
OrderService
::
OrderDelivery
(
$params
);
$this
->
ajaxReturn
(
$ret
[
'msg'
],
$ret
[
'code'
],
$ret
[
'data'
]
);
return
json
(
$ret
);
}
/**
...
...
@@ -320,16 +186,16 @@ class Order extends Common
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
return
$this
->
error
(
'非法访问'
);
}
// 收货操作
$params
=
$_POST
;
$params
=
input
()
;
$params
[
'user_id'
]
=
$params
[
'value'
];
$params
[
'creator'
]
=
$this
->
admin
[
'id'
];
$params
[
'creator_name'
]
=
$this
->
admin
[
'username'
];
$ret
=
OrderService
::
OrderCollect
(
$params
);
$this
->
ajaxReturn
(
$ret
[
'msg'
],
$ret
[
'code'
],
$ret
[
'data'
]
);
return
json
(
$ret
);
}
/**
...
...
@@ -344,16 +210,16 @@ class Order extends Common
// 是否ajax请求
if
(
!
IS_AJAX
)
{
$this
->
error
(
'非法访问'
);
return
$this
->
error
(
'非法访问'
);
}
// 订单确认
$params
=
$_POST
;
$params
=
input
()
;
$params
[
'user_id'
]
=
$params
[
'value'
];
$params
[
'creator'
]
=
$this
->
admin
[
'id'
];
$params
[
'creator_name'
]
=
$this
->
admin
[
'username'
];
$ret
=
OrderService
::
OrderConfirm
(
$params
);
$this
->
ajaxReturn
(
$ret
[
'msg'
],
$ret
[
'code'
],
$ret
[
'data'
]
);
return
json
(
$ret
);
}
/**
...
...
@@ -366,11 +232,11 @@ class Order extends Common
*/
public
function
Pay
()
{
$params
=
$_POST
;
$params
=
input
()
;
$params
[
'user'
]
=
$this
->
admin
;
$params
[
'user'
][
'user_name_view'
]
=
'管理员'
.
'-'
.
$this
->
admin
[
'username'
];
$ret
=
OrderService
::
AdminPay
(
$params
);
$this
->
ajaxReturn
(
$ret
[
'msg'
],
$ret
[
'code'
],
$ret
[
'data'
]
);
return
json
(
$ret
);
}
}
?>
\ No newline at end of file
application/admin/controller/Theme.php
浏览文件 @
d535e775
<?php
namespace
app\admin\controller
;
/**
...
...
@@ -33,15 +32,15 @@ class Theme extends Common
$this
->
Is_Power
();
// 静态目录和html目录
$this
->
html_path
=
'
Application'
.
DS
.
'Home'
.
DS
.
'V
iew'
.
DS
;
$this
->
static_path
=
'
Public'
.
DS
.
'Home
'
.
DS
;
$this
->
html_path
=
'
application'
.
DS
.
'index'
.
DS
.
'v
iew'
.
DS
;
$this
->
static_path
=
'
public'
.
DS
.
'static'
.
DS
.
'index
'
.
DS
;
// 小导航
$this
->
view_type
=
I
(
'view_type'
,
'home'
);
$this
->
view_type
=
input
(
'view_type'
,
'home'
);
}
/**
*
[Index 列表]
*
列表
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
...
...
@@ -49,28 +48,32 @@ class Theme extends Common
*/
public
function
Index
()
{
// 模板
switch
(
$this
->
view_type
)
{
// 模板安装
case
'upload'
:
$this
->
display
(
'Upload'
);
break
;
// 模板列表
$this
->
assign
(
'data_list'
,
$this
->
GetThemeList
());
// 当前模板
default
:
// 模板列表
$this
->
assign
(
'data'
,
$this
->
GetThemeList
());
// 默认主题
$theme
=
cache
(
'cache_common_default_theme_data'
);
$this
->
assign
(
'theme'
,
empty
(
$theme
)
?
'Default'
:
$theme
);
// 默认主题
$theme
=
S
(
'cache_common_default_theme_data'
);
$this
->
assign
(
'theme'
,
empty
(
$theme
)
?
'Default'
:
$theme
);
// 导航参数
$this
->
assign
(
'view_type'
,
$this
->
view_type
);
$this
->
display
(
'Index'
);
}
return
$this
->
fetch
(
);
}
/**
* 模板安装
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
*/
public
function
UploadInfo
()
{
// 导航参数
$this
->
assign
(
'view_type'
,
$this
->
view_type
);
return
$this
->
fetch
();
}
/**
...
...
@@ -83,13 +86,13 @@ class Theme extends Common
*/
private
function
GetThemeList
()
{
$result
=
array
()
;
$dir
=
'Application'
.
DS
.
'Home'
.
DS
.
'View'
.
DS
;
$result
=
[]
;
$dir
=
ROOT
.
$this
->
html_path
;
if
(
is_dir
(
$dir
))
{
if
(
$dh
=
opendir
(
$dir
))
{
$default_preview
=
'Public'
.
DS
.
'Common'
.
DS
.
'I
mages'
.
DS
.
'default-preview.jpg'
;
$default_preview
=
__MY_URL__
.
'static'
.
DS
.
'common'
.
DS
.
'i
mages'
.
DS
.
'default-preview.jpg'
;
while
((
$temp_file
=
readdir
(
$dh
))
!==
false
)
{
$config
=
$dir
.
$temp_file
.
DS
.
'config.json'
;
...
...
@@ -106,13 +109,14 @@ class Theme extends Common
{
continue
;
}
$preview
=
ROOT
.
$this
->
static_path
.
$temp_file
.
DS
.
'images'
.
DS
.
'preview.jpg'
;
$result
[]
=
array
(
'theme'
=>
$temp_file
,
'name'
=>
I
(
'data.name'
,
''
,
''
,
$data
),
'ver'
=>
str_replace
(
array
(
','
,
','
),
', '
,
I
(
'data.ver'
,
''
,
''
,
$data
)),
'author'
=>
I
(
'data.author'
,
''
,
''
,
$data
),
'home'
=>
I
(
'data.home'
,
''
,
''
,
$data
)
,
'preview'
=>
file_exists
(
$
dir
.
$temp_file
.
DS
.
'preview.jpg'
)
?
$dir
.
$temp_file
.
DS
.
'preview.jpg'
:
$default_preview
,
'name'
=>
htmlentities
(
$data
[
'name'
]
),
'ver'
=>
str_replace
(
array
(
','
,
','
),
', '
,
htmlentities
(
$data
[
'ver'
]
)),
'author'
=>
htmlentities
(
$data
[
'author'
]
),
'home'
=>
isset
(
$data
[
'home'
])
?
$data
[
'home'
]
:
''
,
'preview'
=>
file_exists
(
$
preview
)
?
__MY_URL__
.
'static'
.
DS
.
'index'
.
DS
.
$temp_file
.
DS
.
'images'
.
DS
.
'preview.jpg'
:
$default_preview
,
);
}
}
...
...
@@ -158,7 +162,7 @@ class Theme extends Common
}
// 默认主题
$theme
=
S
(
'cache_common_default_theme_data'
);
$theme
=
cache
(
'cache_common_default_theme_data'
);
$theme
=
empty
(
$theme
)
?
'Default'
:
$theme
;
// 不能删除正在使用的主题
...
...
@@ -218,16 +222,16 @@ class Theme extends Common
if
(
strpos
(
$file
,
'/.'
)
===
false
&&
strpos
(
$file
,
'__'
)
===
false
)
{
// 拼接路径
if
(
strpos
(
$file
,
'_
H
tml'
)
!==
false
)
if
(
strpos
(
$file
,
'_
h
tml'
)
!==
false
)
{
$file
=
$this
->
html_path
.
$file
;
}
else
if
(
strpos
(
$file
,
'_
S
tatic'
)
!==
false
)
}
else
if
(
strpos
(
$file
,
'_
s
tatic'
)
!==
false
)
{
$file
=
$this
->
static_path
.
$file
;
}
else
{
continue
;
}
$file
=
str_replace
(
array
(
'_
Static/'
,
'_H
tml/'
),
''
,
$file
);
$file
=
str_replace
(
array
(
'_
static/'
,
'_h
tml/'
),
''
,
$file
);
// 截取文件路径
$file_path
=
substr
(
$file
,
0
,
strrpos
(
$file
,
'/'
));
...
...
@@ -249,7 +253,6 @@ class Theme extends Common
// 关闭目录项
zip_entry_close
(
$temp_resource
);
}
}
}
$this
->
ajaxReturn
(
'操作成功'
);
...
...
application/admin/view/default/answer/index.html
浏览文件 @
d535e775
...
...
@@ -4,27 +4,27 @@
<div
class=
"content-right"
>
<div
class=
"content"
>
<!-- form start -->
<form
class=
"am-form view-list"
action=
"{{:url('
Admin/Answer/I
ndex')}}"
method=
"POST"
>
<form
class=
"am-form view-list"
action=
"{{:url('
admin/answer/i
ndex')}}"
method=
"POST"
>
<div
class=
"am-g"
>
<input
type=
"text"
class=
"am-radius form-keyword"
placeholder=
"联系人/内容"
name=
"keyword"
<
present
name=
"param['keyword']"
>
value="{{$param.keyword
}}"{{/if}} />
<input
type=
"text"
autocomplete=
"off"
class=
"am-radius form-keyword"
placeholder=
"联系人/内容"
name=
"keywords"
{{
if
!
empty
($
params
['
keywords
'])}}
value=
"{{$params.keywords
}}"
{{/
if
}}
/>
<button
type=
"submit"
class=
"am-btn am-btn-secondary am-btn-sm am-radius form-submit"
>
查询
</button>
<label
class=
"fs-12 m-l-5 c-p fw-100 more-submit"
>
更多筛选
<input
type=
"checkbox"
name=
"is_more"
value=
"1"
id=
"is_more"
{{
if
isset
($
param
['
is_more
'])
and
$
param
['
is_more
']
eq
1)
}}
checked
{{/
if
}}
/>
<input
type=
"checkbox"
name=
"is_more"
value=
"1"
id=
"is_more"
{{
if
isset
($
param
s
['
is_more
'])
and
$
params
['
is_more
']
eq
1
}}
checked
{{/
if
}}
/>
<i
class=
"am-icon-angle-down"
></i>
</label>
<div
class=
"more-where {{if !isset($param
['is_more']) or $param['is_more'] neq 1)
}}none{{/if}}"
>
<div
class=
"more-where {{if !isset($param
s['is_more']) or $params['is_more'] neq 1
}}none{{/if}}"
>
<select
name=
"is_show"
class=
"am-radius c-p m-t-10 m-l-5 param-where"
>
<option
value=
"-1
)}}
是否显示</option>
<foreach name="
common_is_show_list
"
item=
"v"
>
<option
value=
"{{$v.id}}"
{{
if
isset
($
param
['
is_show
'])
and
$
param
['
is_show
']
eq
$
v
['
id
']"
>
selected{{/if}}>{{$v.name}}
</option>
<option
value=
"-1
"
>
是否显示
</option>
{{foreach $common_is_show_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
param
s
['
is_show
'])
and
$
params
['
is_show
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
<div
class=
"param-date param-where m-l-5
)}}
<input type="
text
"
name=
"time_start"
class=
"Wdate am-radius m-t-10"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
param
['
time_start
'])}}
value=
"{{$param
.time_start}}"
{{/
if
}}
/>
<div
class=
"param-date param-where m-l-5
"
>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius m-t-10"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
params
['
time_start
'])}}
value=
"{{$params
.time_start}}"
{{/
if
}}
/>
<span>
~
</span>
<input
type=
"text"
class=
"Wdate am-radius m-t-10"
placeholder=
"结束时间"
name=
"time_end"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
param
['
time_end
'])}}
value=
"{{$param
.time_end}}"
{{/
if
}}
/>
<input
type=
"text"
autocomplete=
"off"
class=
"Wdate am-radius m-t-10"
placeholder=
"结束时间"
name=
"time_end"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
params
['
time_end
'])}}
value=
"{{$params
.time_end}}"
{{/
if
}}
/>
</div>
</div>
</div>
...
...
@@ -32,7 +32,7 @@
<!-- form end -->
<!-- list start -->
<table
class=
"am-table am-table-striped am-table-hover am-text-middle m-t-1
)}}
<table
class=
"am-table am-table-striped am-table-hover am-text-middle m-t-1
0"
>
<thead>
<tr>
<th
class=
"am-hide-sm-only"
>
用户信息
</th>
...
...
@@ -46,9 +46,9 @@
</tr>
</thead>
<tbody>
{{if !empty($list)}}
<foreach
name=
"list"
item=
"v"
>
<tr
id=
"data-list-{{$v.id}}"
{{
if
$
v
['
is_show
']
eq
0
)
}}
class=
"am-active"
{{/
if
}}
>
{{if !empty($
data_
list)}}
{{foreach $data_list as $v}}
<tr
id=
"data-list-{{$v.id}}"
{{
if
$
v
['
is_show
']
eq
0}}
class=
"am-active"
{{/
if
}}
>
<td
class=
"am-hide-sm-only"
>
{{if !empty($v['username'])}}
{{$v.username}}
...
...
@@ -69,7 +69,7 @@
</td>
<td>
{{$v.content}}
</td>
<td>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_show'] eq 1
)}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('Admin/Answer/StatusUpdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_show']}}"
data-is-update-status=
"1)}}
</a>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_show'] eq 1
}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('admin/answer/statusupdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_show']}}"
data-is-update-status=
"1"
>
</a>
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.reply}}
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.add_time}}
</td>
...
...
@@ -125,10 +125,10 @@
</div>
</td>
<td
class=
"view-operation"
>
{{if $v['is_reply'] eq 0
)
}}
{{if $v['is_reply'] eq 0}}
<button
class=
"am-btn am-btn-default am-btn-xs am-radius submit-reply am-icon-gavel"
data-am-modal=
"{target: '#my-popup-reply'}"
data-json=
'{{:json_encode($v)}}'
>
回复
</button>
{{/if}}
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete"
data-url=
"{{:url('
Admin/Answer/D
elete')}}"
data-id=
"{{$v.id}}"
>
删除
</button>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete"
data-url=
"{{:url('
admin/answer/d
elete')}}"
data-id=
"{{$v.id}}"
>
删除
</button>
</td>
</tr>
{{/foreach}}
...
...
@@ -154,7 +154,7 @@
</dd>
</dl>
<form
class=
"am-form form-validation"
action=
"{{:url('
Admin/Answer/Save
')}}"
method=
"POST"
request-type=
"ajax-reload"
enctype=
"multipart/form-data"
>
<form
class=
"am-form form-validation"
action=
"{{:url('
admin/answer/reply
')}}"
method=
"POST"
request-type=
"ajax-reload"
enctype=
"multipart/form-data"
>
<div
class=
"am-form-group"
>
<label>
回复内容
</label>
<textarea
name=
"reply"
rows=
"5"
class=
"am-radius"
placeholder=
"回复内容格式 2~230 个字符"
data-validation-message=
"回复内容格式 2~230 个字符"
maxlength=
"230"
></textarea>
...
...
@@ -170,8 +170,8 @@
</div>
<!-- page start -->
{{if !empty($list)}}
{{$page_html}}
{{if !empty($
data_
list)}}
{{$page_html
|raw
}}
{{/if}}
<!-- page end -->
</div>
...
...
application/admin/view/default/customview/index.html
浏览文件 @
d535e775
...
...
@@ -4,39 +4,39 @@
<div
class=
"content-right"
>
<div
class=
"content"
>
<!-- form start -->
<form
class=
"am-form view-list"
action=
"{{:url('
Admin/CustomView/I
ndex')}}"
method=
"POST"
>
<form
class=
"am-form view-list"
action=
"{{:url('
admin/customview/i
ndex')}}"
method=
"POST"
>
<div
class=
"am-g"
>
<input
type=
"text"
class=
"am-radius form-keyword"
placeholder=
"标题关键字"
name=
"keyword"
<
present
name=
"param['keyword']"
>
value="{{$param.keyword
}}"{{/if}} />
<input
type=
"text"
autocomplete=
"off"
class=
"am-radius form-keyword"
placeholder=
"标题关键字"
name=
"keywords"
{{
if
!
empty
($
params
['
keywords
'])}}
value=
"{{$params.keywords
}}"
{{/
if
}}
/>
<button
type=
"submit"
class=
"am-btn am-btn-secondary am-btn-sm am-radius form-submit"
>
查询
</button>
<label
class=
"fs-12 m-l-5 c-p fw-100 more-submit"
>
更多筛选
<input
type=
"checkbox"
name=
"is_more"
value=
"1"
id=
"is_more"
{{
if
isset
($
param
['
is_more
'])
and
$
param
['
is_more
']
eq
1)
}}
checked
{{/
if
}}
/>
<input
type=
"checkbox"
name=
"is_more"
value=
"1"
id=
"is_more"
{{
if
isset
($
param
s
['
is_more
'])
and
$
params
['
is_more
']
eq
1
}}
checked
{{/
if
}}
/>
<i
class=
"am-icon-angle-down"
></i>
</label>
<div
class=
"more-where {{if !isset($param
['is_more']) or $param['is_more'] neq 1)
}}none{{/if}}"
>
<div
class=
"more-where {{if !isset($param
s['is_more']) or $params['is_more'] neq 1
}}none{{/if}}"
>
<select
name=
"is_header"
class=
"am-radius c-p m-t-10 param-where"
>
<option
value=
"-1
)}}
是否含头部</option>
<foreach name="
common_is_header_list
"
item=
"v"
>
<option
value=
"{{$v.id}}"
{{
if
isset
($
param
['
is_header
'])
and
$
param
['
is_header
']
eq
$
v
['
id
']"
>
selected{{/if}}>{{$v.name}}
</option>
<option
value=
"-1
"
>
是否含头部
</option>
{{foreach $common_is_header_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
param
s
['
is_header
'])
and
$
params
['
is_header
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
<select
name=
"is_footer"
class=
"am-radius c-p m-t-10 m-l-5 param-where"
>
<option
value=
"-1
)}}
是否含尾部</option>
<foreach name="
common_is_footer_list
"
item=
"v"
>
<option
value=
"{{$v.id}}"
{{
if
isset
($
param
['
is_footer
'])
and
$
param
['
is_footer
']
eq
$
v
['
id
']"
>
selected{{/if}}>{{$v.name}}
</option>
<option
value=
"-1
"
>
是否含尾部
</option>
{{foreach $common_is_footer_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
param
s
['
is_footer
'])
and
$
params
['
is_footer
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
<select
name=
"is_enable"
class=
"am-radius c-p m-t-10 m-l-5 param-where"
>
<option
value=
"-1
)}}
是否启用</option>
<foreach name="
common_is_enable_list
"
item=
"v"
>
<option
value=
"{{$v.id}}"
{{
if
isset
($
param
['
is_enable
'])
and
$
param
['
is_enable
']
eq
$
v
['
id
']"
>
selected{{/if}}>{{$v.name}}
</option>
<option
value=
"-1
"
>
是否启用
</option>
{{foreach $common_is_enable_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
param
s
['
is_enable
'])
and
$
params
['
is_enable
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
<div
class=
"param-date param-where m-l-5
)}}
<input type="
text
"
name=
"time_start"
class=
"Wdate am-radius m-t-10"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
param
['
time_start
'])}}
value=
"{{$param
.time_start}}"
{{/
if
}}
/>
<div
class=
"param-date param-where m-l-5
"
>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius m-t-10"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
params
['
time_start
'])}}
value=
"{{$params
.time_start}}"
{{/
if
}}
/>
<span>
~
</span>
<input
type=
"text"
class=
"Wdate am-radius m-t-10"
placeholder=
"结束时间"
name=
"time_end"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
param
['
time_end
'])}}
value=
"{{$param
.time_end}}"
{{/
if
}}
/>
<input
type=
"text"
autocomplete=
"off"
class=
"Wdate am-radius m-t-10"
placeholder=
"结束时间"
name=
"time_end"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
params
['
time_end
'])}}
value=
"{{$params
.time_end}}"
{{/
if
}}
/>
</div>
</div>
</div>
...
...
@@ -44,13 +44,13 @@
<!-- form end -->
<!-- operation start -->
<div
class=
"am-g m-t-15
)}}
<a href="
{{
:url
('
Admin
/
CustomView
/
SaveI
nfo
')}}"
class=
"am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"
>
新增
</a>
<div
class=
"am-g m-t-15
"
>
<a
href=
"{{:url('
admin/customview/savei
nfo')}}"
class=
"am-btn am-btn-secondary am-radius am-btn-xs am-icon-plus"
>
新增
</a>
</div>
<!-- operation end -->
<!-- list start -->
<table
class=
"am-table am-table-striped am-table-hover am-text-middle m-t-1
)}}
<table
class=
"am-table am-table-striped am-table-hover am-text-middle m-t-1
0"
>
<thead>
<tr>
<th>
标题
</th>
...
...
@@ -64,23 +64,23 @@
</tr>
</thead>
<tbody>
{{if !empty($list)}}
<foreach
name=
"list"
item=
"v"
>
<tr
id=
"data-list-{{$v.id}}"
{{
if
$
v
['
is_enable
']
eq
0
)
}}
class=
"am-active"
{{/
if
}}
>
{{if !empty($
data_
list)}}
{{foreach $data_list as $v}}
<tr
id=
"data-list-{{$v.id}}"
{{
if
$
v
['
is_enable
']
eq
0}}
class=
"am-active"
{{/
if
}}
>
<td
class=
"td-title"
>
<a
href=
"{{:str_replace('admin.php', 'index.php', url('
Home/CustomView/I
ndex', array('id'=>$v['id'])))}}"
target=
"_blank"
title=
"{{$v.title}}"
>
{{$v.title}}
</a>
<a
href=
"{{:str_replace('admin.php', 'index.php', url('
index/customview/i
ndex', array('id'=>$v['id'])))}}"
target=
"_blank"
title=
"{{$v.title}}"
>
{{$v.title}}
</a>
</td>
<td>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_enable'] eq 1
)}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('Admin/CustomView/StatusUpdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_enable']}}"
data-field=
"is_enable"
data-is-update-status=
"1)}}
</a>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_enable'] eq 1
}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('admin/customview/statusupdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_enable']}}"
data-field=
"is_enable"
data-is-update-status=
"1"
>
</a>
</td>
<td
class=
"am-hide-sm-only"
>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_header'] eq 1
)}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('Admin/CustomView/StatusU
pdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_header']}}"
data-field=
"is_header"
></a>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_header'] eq 1
}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('admin/customview/statusu
pdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_header']}}"
data-field=
"is_header"
></a>
</td>
<td
class=
"am-hide-sm-only"
>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_footer'] eq 1
)}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('Admin/CustomView/StatusU
pdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_footer']}}"
data-field=
"is_footer"
></a>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_footer'] eq 1
}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('admin/customview/statusu
pdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_footer']}}"
data-field=
"is_footer"
></a>
</td>
<td
class=
"am-hide-sm-only"
>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_full_screen'] eq 1
)}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('Admin/CustomView/StatusU
pdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_full_screen']}}"
data-field=
"is_full_screen"
></a>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_full_screen'] eq 1
}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('admin/customview/statusu
pdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_full_screen']}}"
data-field=
"is_full_screen"
></a>
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.access_count}}
</td>
<td>
...
...
@@ -113,20 +113,20 @@
<dd>
{{$v.access_count}}
</dd>
<dt>
创建时间
</dt>
<dd>
{{$v.add_time}}
</dd>
<dd>
{{$v.add_time
_time
}}
</dd>
<dt>
更新时间
</dt>
<dd>
{{$v.upd_time}}
</dd>
<dd>
{{$v.upd_time
_time
}}
</dd>
</dl>
</div>
</div>
</div>
</td>
<td
class=
"view-operation"
>
<a
href=
"{{:url('
Admin/CustomView/SaveI
nfo', array('id'=>$v['id']))}}"
>
<a
href=
"{{:url('
admin/customview/savei
nfo', array('id'=>$v['id']))}}"
>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-edit"
></button>
</a>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete"
data-url=
"{{:url('
Admin/CustomV
iew/Delete')}}"
data-id=
"{{$v.id}}"
></button>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete"
data-url=
"{{:url('
admin/customv
iew/Delete')}}"
data-id=
"{{$v.id}}"
></button>
</td>
</tr>
{{/foreach}}
...
...
@@ -138,8 +138,8 @@
<!-- list end -->
<!-- page start -->
{{if !empty($list)}}
{{$page_html}}
{{if !empty($
data_
list)}}
{{$page_html
|raw
}}
{{/if}}
<!-- page end -->
</div>
...
...
application/admin/view/default/customview/save_info.html
浏览文件 @
d535e775
...
...
@@ -4,31 +4,31 @@
<div
class=
"content-right"
>
<div
class=
"content"
>
<!-- form start -->
<form
class=
"am-form form-validation view-save"
action=
"{{:url('
Admin/CustomView/Save')}}"
method=
"POST"
request-type=
"ajax-url"
request-value=
"{{:url('Admin/CustomView/I
ndex')}}"
>
<form
class=
"am-form form-validation view-save"
action=
"{{:url('
admin/customview/save')}}"
method=
"POST"
request-type=
"ajax-url"
request-value=
"{{:url('admin/customview/i
ndex')}}"
>
<legend>
<span
class=
"fs-16
)}}
<span
class=
"fs-16
"
>
{{if empty($data['id'])}}
自定义页面添加
{{else /}}
自定义页面编辑
{{/if}}
</span>
<a href="
{{
:url
('
Admin
/
CustomView
/
I
ndex
')}}"
class=
"fr fs-14 m-t-5 am-icon-mail-reply"
>
返回
</a>
<a
href=
"{{:url('
admin/customview/i
ndex')}}"
class=
"fr fs-14 m-t-5 am-icon-mail-reply"
>
返回
</a>
</legend>
<div
class=
"am-form-group"
>
<label>
标题
</label>
<input
type=
"text"
name=
"title"
placeholder=
"标题"
minlength=
"
3"
maxlength=
"60"
data-validation-message=
"标题长度 3~60 个字符"
class=
"am-radius"
<
notempty
name=
"data"
>
value="{{$data.title}}" {{/if}} required />
<input
type=
"text"
name=
"title"
placeholder=
"标题"
minlength=
"
2"
maxlength=
"60"
data-validation-message=
"标题长度 2~60 个字符"
class=
"am-radius"
{{
if
!
empty
($
data
)}}
value=
"{{$data.title}}"
{{/
if
}}
required
/>
</div>
<include
file=
"Lib/Enable"
/>
<include
file=
"Lib/IsHeader"
/>
<include
file=
"Lib/IsFooter"
/>
<include
file=
"Lib/IsFullScreen"
/>
{{include file="lib/enable" /}}
{{include file="lib/is_header" /}}
{{include file="lib/is_footer" /}}
{{include file="lib/is_full_screen" /}}
<div
class=
"am-form-group"
>
<label>
内容{{if IsMobile()}}
<span
class=
"fs-12 fw-100 cr-999"
>
(更多编辑功能请使用电脑访问)
</span>
{{/if}}
</label>
<textarea
class=
"am-radius am-validate"
name=
"content"
rows=
"5"
minlength=
"50"
maxlength=
"105000"
{{
if
!
IsMobile
()}}
id=
"editor-tag"
data-url=
"{{:url('
Admin/Ueditor/Index', ['path_type'=>'customview'])}}"
placeholder=
"内容长度最少 50~105000 个字符"
{{
else
/}}
placeholder=
"内容长度最少 50~105000 个字符更多编辑功能请使用电脑访问"
{{/
if
}}
data-validation-message=
"内容长度最少 50~105000 个字符"
required
><notempty
name=
"data"
>
{{$data.content}}{{/if}}
</textarea>
<textarea
class=
"am-radius am-validate"
name=
"content"
rows=
"5"
minlength=
"50"
maxlength=
"105000"
{{
if
!
IsMobile
()}}
id=
"editor-tag"
data-url=
"{{:url('
admin/ueditor/index', ['path_type'=>'customview'])}}"
placeholder=
"内容长度最少 50~105000 个字符"
{{
else
/}}
placeholder=
"内容长度最少 50~105000 个字符更多编辑功能请使用电脑访问"
{{/
if
}}
data-validation-message=
"内容长度最少 50~105000 个字符"
required
>
{{if !empty($data)}}
{{$data.content}}{{/if}}
</textarea>
</div>
<div
class=
"am-form-group"
>
<input
type=
"hidden"
name=
"id"
<
notempty
name=
"data"
>
value="{{$data.id}}"{{/if}}" />
<input
type=
"hidden"
name=
"id"
{{
if
!
empty
($
data
)}}
value=
"{{$data.id}}"
{{/
if
}}"
/>
<button
type=
"submit"
class=
"am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100"
data-am-loading=
"{loadingText:'处理中...'}"
>
保存
</button>
</div>
</form>
...
...
application/admin/view/default/lib/control_nav.html
已删除
100755 → 0
浏览文件 @
baf80871
<ul
class=
"am-nav am-nav-pills"
>
<li
{{
if
$
Think.const.ACTION_NAME
eq
'
Index
'"
>
class="am-active"{{/if}} >
<a
href=
"{{:url('Admin/AccessControl/Index')}}"
class=
"am-radius"
>
管理员列表
</a>
</li>
<li
{{
if
$
Think.const.ACTION_NAME
eq
'
RoleInfo
'"
>
class="am-active"{{/if}} >
<a
href=
"{{:url('Admin/AccessControl/RoleInfo')}}"
class=
"am-radius"
>
角色管理
</a>
</li>
<li
{{
if
$
Think.const.ACTION_NAME
eq
'
Purview
'"
>
class="am-active"{{/if}} >
<a
href=
"{{:url('Admin/AccessControl/Purview')}}"
class=
"am-radius"
>
权限控制
</a>
</li>
</ul>
\ No newline at end of file
application/admin/view/default/lib/enable.html
浏览文件 @
d535e775
...
...
@@ -2,9 +2,9 @@
<div
class=
"am-form-group"
>
<label>
是否启用
</label>
<div>
<foreach
name=
"common_is_enable_list"
item=
"v"
>
<label
class=
"am-radio-inline m-r-1
)}}
<input type="
radio
"
name=
"is_enable"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_enable
'])
and
$
data
['
is_enable
']
eq
$
v
['
id
']
"
>
checked="checked"{{else /}}{{if !isset($data['is_enable']) and isset($v['checked']) and $v['checked'] eq true">
checked="checked"{{/if}}{{/if}} data-am-ucheck /> {{$v.name}}
{{foreach $common_is_enable_list as $v}}
<label
class=
"am-radio-inline m-r-1
0"
>
<input
type=
"radio"
name=
"is_enable"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_enable
'])
and
$
data
['
is_enable
']
eq
$
v
['
id
']
}}
checked=
"checked"
{{
else
/}}{{
if
!
isset
($
data
['
is_enable
'])
and
isset
($
v
['
checked
'])
and
$
v
['
checked
']
eq
true
}}
checked=
"checked"
{{/
if
}}{{/
if
}}
data-am-ucheck
/>
{{$v.name}}
</label>
{{/foreach}}
</div>
...
...
application/admin/view/default/lib/is_footer.html
浏览文件 @
d535e775
...
...
@@ -2,9 +2,9 @@
<div
class=
"am-form-group"
>
<label>
是否含尾部
</label>
<div>
<foreach
name=
"common_is_footer_list"
item=
"v"
>
<label
class=
"am-radio-inline m-r-1
)}}
<input type="
radio
"
name=
"is_footer"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_footer
'])
and
$
data
['
is_footer
']
eq
$
v
['
id
']
"
>
checked="checked"{{else /}}{{if !isset($data['is_footer']) and isset($v['checked']) and $v['checked'] eq true">
checked="checked"{{/if}}{{/if}} data-am-ucheck /> {{$v.name}}
{{foreach $common_is_footer_list as $v}}
<label
class=
"am-radio-inline m-r-1
0"
>
<input
type=
"radio"
name=
"is_footer"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_footer
'])
and
$
data
['
is_footer
']
eq
$
v
['
id
']
}}
checked=
"checked"
{{
else
/}}{{
if
!
isset
($
data
['
is_footer
'])
and
isset
($
v
['
checked
'])
and
$
v
['
checked
']
eq
true
}}
checked=
"checked"
{{/
if
}}{{/
if
}}
data-am-ucheck
/>
{{$v.name}}
</label>
{{/foreach}}
</div>
...
...
application/admin/view/default/lib/is_full_screen.html
浏览文件 @
d535e775
...
...
@@ -2,9 +2,9 @@
<div
class=
"am-form-group"
>
<label>
是否满屏
</label>
<div>
<foreach
name=
"common_is_full_screen_list"
item=
"v"
>
<label
class=
"am-radio-inline m-r-1
)}}
<input type="
radio
"
name=
"is_full_screen"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_full_screen
'])
and
$
data
['
is_full_screen
']
eq
$
v
['
id
']
"
>
checked="checked"{{else /}}{{if !isset($data['is_full_screen']) and isset($v['checked']) and $v['checked'] eq true">
checked="checked"{{/if}}{{/if}} data-am-ucheck /> {{$v.name}}
{{foreach $common_is_full_screen_list as $v}}
<label
class=
"am-radio-inline m-r-1
0"
>
<input
type=
"radio"
name=
"is_full_screen"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_full_screen
'])
and
$
data
['
is_full_screen
']
eq
$
v
['
id
']
}}
checked=
"checked"
{{
else
/}}{{
if
!
isset
($
data
['
is_full_screen
'])
and
isset
($
v
['
checked
'])
and
$
v
['
checked
']
eq
true
}}
checked=
"checked"
{{/
if
}}{{/
if
}}
data-am-ucheck
/>
{{$v.name}}
</label>
{{/foreach}}
</div>
...
...
application/admin/view/default/lib/is_header.html
浏览文件 @
d535e775
...
...
@@ -2,9 +2,9 @@
<div
class=
"am-form-group"
>
<label>
是否含头部
</label>
<div>
<foreach
name=
"common_is_header_list"
item=
"v"
>
<label
class=
"am-radio-inline m-r-1
)}}
<input type="
radio
"
name=
"is_header"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_header
'])
and
$
data
['
is_header
']
eq
$
v
['
id
']
"
>
checked="checked"{{else /}}{{if !isset($data['is_header']) and isset($v['checked']) and $v['checked'] eq true">
checked="checked"{{/if}}{{/if}} data-am-ucheck /> {{$v.name}}
{{foreach $common_is_header_list as $v}}
<label
class=
"am-radio-inline m-r-1
0"
>
<input
type=
"radio"
name=
"is_header"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_header
'])
and
$
data
['
is_header
']
eq
$
v
['
id
']
}}
checked=
"checked"
{{
else
/}}{{
if
!
isset
($
data
['
is_header
'])
and
isset
($
v
['
checked
'])
and
$
v
['
checked
']
eq
true
}}
checked=
"checked"
{{/
if
}}{{/
if
}}
data-am-ucheck
/>
{{$v.name}}
</label>
{{/foreach}}
</div>
...
...
application/admin/view/default/lib/is_new_window_open.html
浏览文件 @
d535e775
...
...
@@ -2,9 +2,9 @@
<div
class=
"am-form-group"
>
<label>
是否新窗口打开
</label>
<div>
<foreach
name=
"common_is_new_window_open_list"
item=
"v"
>
<label
class=
"am-radio-inline m-r-1
)}}
<input type="
radio
"
name=
"is_new_window_open"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_new_window_open
'])
and
$
data
['
is_new_window_open
']
eq
$
v
['
id
']
"
>
checked="checked"{{else /}}{{if !isset($data['is_new_window_open']) and isset($v['checked']) and $v['checked'] eq true">
checked="checked"{{/if}}{{/if}} data-am-ucheck /> {{$v.name}}
{{foreach $common_is_new_window_open_list as $v}}
<label
class=
"am-radio-inline m-r-1
0"
>
<input
type=
"radio"
name=
"is_new_window_open"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_new_window_open
'])
and
$
data
['
is_new_window_open
']
eq
$
v
['
id
']
}}
checked=
"checked"
{{
else
/}}{{
if
!
isset
($
data
['
is_new_window_open
'])
and
isset
($
v
['
checked
'])
and
$
v
['
checked
']
eq
true
}}
checked=
"checked"
{{/
if
}}{{/
if
}}
data-am-ucheck
/>
{{$v.name}}
</label>
{{/foreach}}
</div>
...
...
application/admin/view/default/lib/is_show.html
浏览文件 @
d535e775
...
...
@@ -2,9 +2,9 @@
<div
class=
"am-form-group"
>
<label>
是否显示
</label>
<div>
<foreach
name=
"common_is_show_list"
item=
"v"
>
<label
class=
"am-radio-inline m-r-1
)}}
<input type="
radio
"
name=
"is_show"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_show
'])
and
$
data
['
is_show
']
eq
$
v
['
id
']
"
>
checked="checked"{{else /}}{{if !isset($data['is_show']) and isset($v['checked']) and $v['checked'] eq true">
checked="checked"{{/if}}{{/if}} data-am-ucheck /> {{$v.name}}
{{foreach $common_is_show_list as $v}}
<label
class=
"am-radio-inline m-r-1
0"
>
<input
type=
"radio"
name=
"is_show"
value=
"{{$v.id}}"
{{
if
isset
($
data
['
is_show
'])
and
$
data
['
is_show
']
eq
$
v
['
id
']
}}
checked=
"checked"
{{
else
/}}{{
if
!
isset
($
data
['
is_show
'])
and
isset
($
v
['
checked
'])
and
$
v
['
checked
']
eq
true
}}
checked=
"checked"
{{/
if
}}{{/
if
}}
data-am-ucheck
/>
{{$v.name}}
</label>
{{/foreach}}
</div>
...
...
application/admin/view/default/lib/user_status.html
浏览文件 @
d535e775
...
...
@@ -2,8 +2,8 @@
<div
class=
"am-form-group"
>
<label>
{{:lang('common_view_user_status_name')}}
</label>
<select
name=
"status"
class=
"am-radius c-p"
data-validation-message=
"{{:lang('common_user_status_format')}}"
required
>
<foreach
name=
"common_user_status_list"
item=
"v"
>
<option
value=
"{{$v.id}}"
{{
if
isset
($
data
['
status
'])
and
$
data
['
status
']
eq
$
v
['
id
']
"
>
selected{{else /}}{{if !isset($data['status']) and isset($v['checked']) and $v['checked'] eq true">
selected{{/if}}{{/if}}>{{$v.name}}
</option>
{{foreach $common_user_status_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
data
['
status
'])
and
$
data
['
status
']
eq
$
v
['
id
']
}}
selected
{{
else
/}}{{
if
!
isset
($
data
['
status
'])
and
isset
($
v
['
checked
'])
and
$
v
['
checked
']
eq
true
}}
selected
{{/
if
}}{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
</div>
...
...
application/admin/view/default/link/index.html
浏览文件 @
d535e775
...
...
@@ -18,21 +18,21 @@
</div>
<div
class=
"am-popup-bd"
>
<!-- form start -->
<form
class=
"am-form form-validation"
action=
"{{:url('
Admin/L
ink/Save')}}"
method=
"POST"
request-type=
"ajax-reload"
request-value=
""
>
<form
class=
"am-form form-validation"
action=
"{{:url('
admin/l
ink/Save')}}"
method=
"POST"
request-type=
"ajax-reload"
request-value=
""
>
<div
class=
"am-form-group"
>
<label>
名称
</label>
<input
type=
"text"
placeholder=
"名称"
name=
"name"
minlength=
"2"
maxlength=
"16"
data-validation-message=
"名称格式 2~16 个字符"
class=
"am-radius"
required
/>
</div>
<div
class=
"am-form-group"
>
<label>
链接地址
<span
class=
"fs-12 fw-100 cr-999"
>
(带http://)
</span></label>
<label>
链接地址
<span
class=
"fs-12 fw-100 cr-999"
>
(带http://
或https://
)
</span></label>
<input
type=
"url"
placeholder=
"链接地址"
name=
"url"
data-validation-message=
"链接地址格式有误"
class=
"am-radius"
required
/>
</div>
<div
class=
"am-form-group"
>
<label>
顺序
</label>
<input
type=
"number"
placeholder=
"顺序"
name=
"sort"
min=
"0"
max=
"255"
data-validation-message=
"顺序 0~255 之间的数值"
class=
"am-radius"
value=
"0"
required
/>
</div>
<include
file=
"Lib/IsNewWindowOpen"
/>
<include
file=
"Lib/Enable"
/>
{{include file="lib/is_new_window_open" /}}
{{include file="lib/enable" /}}
<div
class=
"am-form-group am-form-success"
>
<label>
描述
</label>
<textarea
rows=
"3"
maxlength=
"60"
name=
"describe"
class=
"am-radius"
placeholder=
"描述"
data-validation-message=
"描述不能大于60个字符"
></textarea>
...
...
@@ -49,7 +49,7 @@
<!-- save win end -->
<!-- list start -->
<table
class=
"am-table am-table-striped am-table-hover am-text-middle m-t-1
)}}
<table
class=
"am-table am-table-striped am-table-hover am-text-middle m-t-1
0"
>
<thead>
<tr>
<th>
名称
</th>
...
...
@@ -59,9 +59,9 @@
</tr>
</thead>
<tbody>
{{if !empty($list)}}
<foreach
name=
"list"
item=
"v"
>
<tr
id=
"data-list-{{$v.id}}"
{{
if
$
v
['
is_enable
']
eq
0
)}}
class=
"am-active"
{{/
if
}}
>
{{if !empty($
data_
list)}}
{{foreach $data_list as $v}}
<tr
id=
"data-list-{{$v.id}}"
{{
if
$
v
['
is_enable
']
eq
0
}}
class=
"am-active"
{{/
if
}}
>
<td>
{{$v.name}}
<a
href=
"{{$v.url}}"
target=
"_blank"
>
<i
class=
"am-icon-external-link"
></i>
...
...
@@ -69,11 +69,11 @@
</td>
<td
class=
"am-hide-sm-only"
>
{{$v.describe}}
</td>
<td>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_enable'] eq 1
)}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('Admin/Link/StatusUpdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_enable']}}"
data-is-update-status=
"1)}}
</a>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_enable'] eq 1
}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('admin/link/statusupdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_enable']}}"
data-is-update-status=
"1"
>
</a>
</td>
<td>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-edit submit-edit"
data-am-modal=
"{target: '#data-save-win'}"
data-json=
'{{:json_encode($v)}}'
></button>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete"
data-url=
"{{:url('
Admin/Link/D
elete')}}"
data-id=
"{{$v.id}}"
></button>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete"
data-url=
"{{:url('
admin/link/d
elete')}}"
data-id=
"{{$v.id}}"
></button>
</td>
</tr>
{{/foreach}}
...
...
application/admin/view/default/navigation/index.html
浏览文件 @
d535e775
...
...
@@ -4,7 +4,7 @@
<div
class=
"content-right"
>
<div
class=
"content"
>
<!-- table nav start -->
<include
file=
"Nav"
/>
{{include file="navigation/nav" /}}
<!-- table nav end -->
<!-- operation start -->
...
...
@@ -17,7 +17,7 @@
<!-- operation end -->
<!-- list start -->
<table
class=
"am-table am-table-striped am-table-hover am-text-middle m-t-1
)}}
<table
class=
"am-table am-table-striped am-table-hover am-text-middle m-t-1
0"
>
<thead>
<tr>
<th>
导航名称
</th>
...
...
@@ -27,9 +27,9 @@
</tr>
</thead>
<tbody>
{{if !empty($list)}}
<foreach name="
list
"
item=
"v"
>
<tr
id=
"data-list-{{$v.id}}"
{{
if
$
v
['
is_show
']
eq
0
)
}}
class=
"am-active"
{{/
if
}}
>
{{if !empty($
data_
list)}}
{{foreach $data_list as $v}}
<tr
id=
"data-list-{{$v.id}}"
{{
if
$
v
['
is_show
']
eq
0}}
class=
"am-active"
{{/
if
}}
>
<td>
{{$v.name}}
<a
href=
"{{$v.url}}"
target=
"_blank"
>
<i
class=
"am-icon-external-link"
></i>
...
...
@@ -37,16 +37,16 @@
</td>
<td>
{{:lang('common_nav_type_list')[$v['data_type']]}}
</td>
<td>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_show'] eq 1
)}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('Admin/Navigation/StatusUpdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_show']}}"
data-is-update-status=
"1)}}
</a>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $v['is_show'] eq 1
}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('admin/navigation/StatusUpdate')}}"
data-id=
"{{$v.id}}"
data-state=
"{{$v['is_show']}}"
data-is-update-status=
"1"
>
</a>
</td>
<td>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-edit submit-edit"
data-am-modal=
"{target: '#nav-{{$v.data_type}}-save-win'}"
data-json=
'{{:json_encode($v)}}'
data-tag=
"nav-{{$v.data_type}}-save-win"
></button>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete"
data-url=
"{{:url('
Admin/N
avigation/Delete')}}"
data-id=
"{{$v.id}}"
></button>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete"
data-url=
"{{:url('
admin/n
avigation/Delete')}}"
data-id=
"{{$v.id}}"
></button>
</td>
</tr>
{{if !empty($list)}}
<foreach
name=
"v.item"
item=
"vs"
>
<tr
id=
"data-list-{{$vs.id}}"
{{
if
$
vs
['
is_show
']
eq
0
)
}}
class=
"am-active"
{{/
if
}}
>
{{if !empty($
data_
list)}}
{{foreach $v.item as $vs}}
<tr
id=
"data-list-{{$vs.id}}"
{{
if
$
vs
['
is_show
']
eq
0}}
class=
"am-active"
{{/
if
}}
>
<td
class=
"p-l-3)}}{{$vs.name}}
<a href="
{{$
vs.url
}}"
target=
"_blank"
>
<i
class=
"am-icon-external-link"
></i>
...
...
@@ -54,11 +54,11 @@
</td>
<td>
{{:lang('common_nav_type_list')[$vs['data_type']]}}
</td>
<td>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $vs['is_show'] eq 1
)}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('Admin/Navigation/StatusUpdate')}}"
data-id=
"{{$vs.id}}"
data-state=
"{{$vs['is_show']}}"
data-is-update-status=
"1)}}
</a>
<a
href=
"javascript:;"
class=
"am-icon-btn am-icon-check submit-state {{if $vs['is_show'] eq 1
}}am-success{{else /}}am-default{{/if}}"
data-url=
"{{:url('admin/navigation/StatusUpdate')}}"
data-id=
"{{$vs.id}}"
data-state=
"{{$vs['is_show']}}"
data-is-update-status=
"1"
>
</a>
</td>
<td>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-edit submit-edit"
data-am-modal=
"{target: '#nav-{{$vs.data_type}}-save-win'}"
data-json=
'{{:json_encode($vs)}}'
data-tag=
"nav-{{$vs.data_type}}-save-win"
></button>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete"
data-url=
"{{:url('
Admin/N
avigation/Delete')}}"
data-id=
"{{$vs.id}}"
></button>
<button
class=
"am-btn am-btn-default am-btn-xs am-radius am-icon-trash-o submit-delete"
data-url=
"{{:url('
admin/n
avigation/Delete')}}"
data-id=
"{{$vs.id}}"
></button>
</td>
</tr>
{{/foreach}}
...
...
@@ -80,12 +80,12 @@
</div>
<div
class=
"am-popup-bd"
>
<!-- form start -->
<form
class=
"am-form form-validation"
action=
"{{:url('
Admin/Navigation/S
ave')}}"
method=
"POST"
request-type=
"ajax-reload"
request-value=
""
>
<form
class=
"am-form form-validation"
action=
"{{:url('
admin/navigation/s
ave')}}"
method=
"POST"
request-type=
"ajax-reload"
request-value=
""
>
<div
class=
"am-form-group"
>
<label>
导航级别
</label>
<select
class=
"am-radius c-p chosen-select"
name=
"pid"
data-validation-message=
"导航级别选择错误"
>
<option
value=
"
)}}
一级栏目...</option>
<foreach name="
nav_header_pid_list
"
item=
"v"
>
<select
class=
"am-radius c-p chosen-select"
name=
"pid"
data-
placeholder=
"一级栏目..."
data-
validation-message=
"导航级别选择错误"
>
<option
value=
"
"
>
一级栏目...
</option>
{{foreach $nav_header_pid_list as $v}}
<option
value=
"{{$v.id}}"
>
{{$v.name}}
</option>
{{/foreach}}
</select>
...
...
@@ -95,15 +95,15 @@
<input
type=
"text"
placeholder=
"导航名称"
name=
"name"
minlength=
"2"
maxlength=
"16"
data-validation-message=
"导航名称格式 2~16 个字符"
class=
"am-radius"
required
/>
</div>
<div
class=
"am-form-group"
>
<label>
url地址
<span
class=
"fs-12 fw-100 cr-999"
>
(带http://)
</span></label>
<label>
url地址
<span
class=
"fs-12 fw-100 cr-999"
>
(带http://
或https://
)
</span></label>
<input
type=
"url"
placeholder=
"url地址"
name=
"url"
data-validation-message=
"url格式有误"
class=
"am-radius"
required
/>
</div>
<div
class=
"am-form-group"
>
<label>
顺序
</label>
<input
type=
"number"
placeholder=
"顺序"
name=
"sort"
min=
"0"
max=
"255"
data-validation-message=
"顺序 0~255 之间的数值"
class=
"am-radius"
value=
"0"
required
/>
</div>
<include
file=
"Lib/IsShow"
/>
<include
file=
"Lib/IsNewWindowOpen"
/>
{{include file="lib/is_show" /}}
{{include file="lib/is_new_window_open" /}}
<div
class=
"am-form-group"
>
<input
type=
"hidden"
name=
"id"
/>
<input
type=
"hidden"
name=
"data_type"
value=
"custom"
/>
...
...
@@ -126,12 +126,12 @@
</div>
<div
class=
"am-popup-bd"
>
<!-- form start -->
<form
class=
"am-form form-validation-article"
action=
"{{:url('
Admin/Navigation/S
ave')}}"
method=
"POST"
request-type=
"ajax-reload"
request-value=
""
>
<form
class=
"am-form form-validation-article"
action=
"{{:url('
admin/navigation/s
ave')}}"
method=
"POST"
request-type=
"ajax-reload"
request-value=
""
>
<div
class=
"am-form-group"
>
<label>
导航级别
</label>
<select
class=
"am-radius c-p chosen-select"
name=
"pid"
data-validation-message=
"导航级别选择错误"
>
<option
value=
"
)}}
一级栏目...</option>
<foreach name="
nav_header_pid_list
"
item=
"v"
>
<select
class=
"am-radius c-p chosen-select"
name=
"pid"
data-
placeholder=
"一级栏目..."
data-
validation-message=
"导航级别选择错误"
>
<option
value=
"
"
>
一级栏目...
</option>
{{foreach $nav_header_pid_list as $v}}
<option
value=
"{{$v.id}}"
>
{{$v.name}}
</option>
{{/foreach}}
</select>
...
...
@@ -140,10 +140,10 @@
<label>
文章
</label>
<select
class=
"am-radius c-p chosen-select"
name=
"value"
data-placeholder=
"请选择..."
data-validation-message=
"文章选择有误"
required
>
<option
value=
""
>
请选择...
</option>
<foreach
name=
"article_list"
item=
"v"
>
{{foreach $article_list as $v}}
<optgroup
label=
"{{$v.name}}"
>
<notempty
name=
"v.items"
>
<foreach
name=
"v.items"
item=
"vs"
>
{{foreach $v.items as $vs}}
<option
value=
"{{$vs.id}}"
>
{{$vs.title}}
</option>
{{/foreach}}
{{/if}}
...
...
@@ -159,8 +159,8 @@
<label>
顺序
</label>
<input
type=
"number"
placeholder=
"顺序"
name=
"sort"
min=
"0"
max=
"255"
data-validation-message=
"顺序 0~255 之间的数值"
class=
"am-radius"
value=
"0"
required
/>
</div>
<include
file=
"Lib/IsShow"
/>
<include
file=
"Lib/IsNewWindowOpen"
/>
{{include file="lib/is_show" /}}
{{include file="lib/is_new_window_open" /}}
<div
class=
"am-form-group"
>
<input
type=
"hidden"
name=
"id"
/>
<input
type=
"hidden"
name=
"data_type"
value=
"article"
/>
...
...
@@ -184,12 +184,12 @@
</div>
<div
class=
"am-popup-bd"
>
<!-- form start -->
<form
class=
"am-form form-validation-customview"
action=
"{{:url('
Admin/Navigation/S
ave')}}"
method=
"POST"
request-type=
"ajax-reload"
request-value=
""
>
<form
class=
"am-form form-validation-customview"
action=
"{{:url('
admin/navigation/s
ave')}}"
method=
"POST"
request-type=
"ajax-reload"
request-value=
""
>
<div
class=
"am-form-group"
>
<label>
导航级别
</label>
<select
class=
"am-radius c-p chosen-select"
name=
"pid"
data-validation-message=
"导航级别选择错误"
>
<option
value=
"
)}}
一级栏目...</option>
<foreach name="
nav_header_pid_list
"
item=
"v"
>
<select
class=
"am-radius c-p chosen-select"
name=
"pid"
data-
placeholder=
"一级栏目..."
data-
validation-message=
"导航级别选择错误"
>
<option
value=
"
"
>
一级栏目...
</option>
{{foreach $nav_header_pid_list as $v}}
<option
value=
"{{$v.id}}"
>
{{$v.name}}
</option>
{{/foreach}}
</select>
...
...
@@ -198,7 +198,7 @@
<label>
自定义页面
</label>
<select
class=
"am-radius c-p chosen-select"
name=
"value"
data-placeholder=
"请选择..."
data-validation-message=
"自定义页面选择有误"
required
>
<option
value=
""
>
请选择...
</option>
<foreach
name=
"customview_list"
item=
"v"
>
{{foreach $customview_list as $v}}
<option
value=
"{{$v.id}}"
>
{{$v.title}}
</option>
{{/foreach}}
</select>
...
...
@@ -211,8 +211,8 @@
<label>
顺序
</label>
<input
type=
"number"
placeholder=
"顺序"
name=
"sort"
min=
"0"
max=
"255"
data-validation-message=
"顺序 0~255 之间的数值"
class=
"am-radius"
value=
"0"
required
/>
</div>
<include
file=
"Lib/IsShow"
/>
<include
file=
"Lib/IsNewWindowOpen"
/>
{{include file="lib/is_show" /}}
{{include file="lib/is_new_window_open" /}}
<div
class=
"am-form-group"
>
<input
type=
"hidden"
name=
"id"
/>
<input
type=
"hidden"
name=
"data_type"
value=
"customview"
/>
...
...
@@ -235,12 +235,12 @@
</div>
<div
class=
"am-popup-bd"
>
<!-- form start -->
<form
class=
"am-form form-validation-goods_category"
action=
"{{:url('
Admin/Navigation/S
ave')}}"
method=
"POST"
request-type=
"ajax-reload"
request-value=
""
>
<form
class=
"am-form form-validation-goods_category"
action=
"{{:url('
admin/navigation/s
ave')}}"
method=
"POST"
request-type=
"ajax-reload"
request-value=
""
>
<div
class=
"am-form-group"
>
<label>
导航级别
</label>
<select
class=
"am-radius c-p chosen-select"
name=
"pid"
data-validation-message=
"导航级别选择错误"
>
<option
value=
"
)}}
一级栏目...</option>
<foreach name="
nav_header_pid_list
"
item=
"v"
>
<select
class=
"am-radius c-p chosen-select"
name=
"pid"
data-
placeholder=
"一级栏目..."
data-placeholder=
"一级栏目..."
data-
validation-message=
"导航级别选择错误"
>
<option
value=
"
"
>
一级栏目...
</option>
{{foreach $nav_header_pid_list as $v}}
<option
value=
"{{$v.id}}"
>
{{$v.name}}
</option>
{{/foreach}}
</select>
...
...
@@ -249,12 +249,12 @@
<label>
商品分类
</label>
<select
class=
"am-radius c-p chosen-select"
name=
"value"
data-placeholder=
"请选择..."
data-validation-message=
"商品分类选择有误"
required
>
<option
value=
""
>
请选择...
</option>
<foreach
name=
"goods_category_list"
item=
"v"
>
{{foreach $goods_category_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
!
empty
($
data
['
category_ids
'])
and
in_array
($
v
['
id
'],
$
data
['
category_ids
'])}}
selected
{{/
if
}}
>
一级 - {{$v.name}}
</option>
{{if !empty($v['items'])}}
<foreach
name=
"v.items"
item=
"vs"
>
{{foreach $v.items as $vs}}
<option
style=
"padding-left: 30px;"
value=
"{{$vs.id}}"
{{
if
!
empty
($
data
['
category_ids
'])
and
in_array
($
vs
['
id
'],
$
data
['
category_ids
'])}}
selected
{{/
if
}}
>
二级 - {{$vs.name}}
</option>
<foreach
name=
"vs.items"
item=
"vss"
>
{{foreach $vs.items as $vss}}
<option
style=
"padding-left: 60px;"
value=
"{{$vss.id}}"
{{
if
!
empty
($
data
['
category_ids
'])
and
in_array
($
vss
['
id
'],
$
data
['
category_ids
'])}}
selected
{{/
if
}}
>
三级 - {{$vss.name}}
</option>
{{/foreach}}
{{/foreach}}
...
...
@@ -270,8 +270,8 @@
<label>
顺序
</label>
<input
type=
"number"
placeholder=
"顺序"
name=
"sort"
min=
"0"
max=
"255"
data-validation-message=
"顺序 0~255 之间的数值"
class=
"am-radius"
value=
"0"
required
/>
</div>
<include
file=
"Lib/IsShow"
/>
<include
file=
"Lib/IsNewWindowOpen"
/>
{{include file="lib/is_show" /}}
{{include file="lib/is_new_window_open" /}}
<div
class=
"am-form-group"
>
<input
type=
"hidden"
name=
"id"
/>
<input
type=
"hidden"
name=
"data_type"
value=
"goods_category"
/>
...
...
application/admin/view/default/navigation/nav.html
浏览文件 @
d535e775
<ul
class=
"am-nav am-nav-pills table-nav m-b-1
)}}
<li {{if $nav_type eq 'header'
"
>
class="am-active"{{/if}} data-type="header">
<a
href=
"{{:url('
Admin/Navigation/I
ndex', ['nav_type'=>'header'])}}"
>
中间导航
</a>
<ul
class=
"am-nav am-nav-pills table-nav m-b-1
0"
>
<li
{{
if
$
nav_type
eq
'
header
'
}}
class=
"am-active"
{{/
if
}}
data-type=
"header"
>
<a
href=
"{{:url('
admin/navigation/i
ndex', ['nav_type'=>'header'])}}"
>
中间导航
</a>
</li>
<li
{{
if
$
nav_type
eq
'
footer
'
"
>
class="am-active"{{/if}} data-type="footer">
<a
href=
"{{:url('
Admin/Navigation/I
ndex', ['nav_type'=>'footer'])}}"
>
底部导航
</a>
<li
{{
if
$
nav_type
eq
'
footer
'
}}
class=
"am-active"
{{/
if
}}
data-type=
"footer"
>
<a
href=
"{{:url('
admin/navigation/i
ndex', ['nav_type'=>'footer'])}}"
>
底部导航
</a>
</li>
</ul>
\ No newline at end of file
application/admin/view/default/order/index.html
浏览文件 @
d535e775
...
...
@@ -6,7 +6,7 @@
<!-- form start -->
<form
class=
"am-form view-list"
action=
"{{:url('admin/order/index')}}"
method=
"POST"
>
<div
class=
"am-g"
>
<input
type=
"text"
class=
"am-radius form-keyword"
placeholder=
"订单号/姓名/手机/地址/快递单号"
name=
"keyword"
{{
if
!
empty
($
params
['
keyword
'])}}
value=
"{{$params.keyword}}"
{{/
if
}}
/>
<input
type=
"text"
autocomplete=
"off"
class=
"am-radius form-keyword"
placeholder=
"订单号/姓名/手机/地址/快递单号"
name=
"keyword"
{{
if
!
empty
($
params
['
keyword
'])}}
value=
"{{$params.keyword}}"
{{/
if
}}
/>
<button
type=
"submit"
class=
"am-btn am-btn-secondary am-btn-sm am-radius form-submit"
>
查询
</button>
<label
class=
"fs-12 m-l-5 c-p fw-100 more-submit"
>
更多筛选
...
...
@@ -27,6 +27,12 @@
<option
value=
"{{$v.id}}"
{{
if
isset
($
params
['
express_id
'])
and
$
params
['
express_id
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
<select
name=
"payment_id"
class=
"am-radius c-p m-t-10 m-l-5 param-where"
>
<option
value=
"-1"
>
支付方式
</option>
{{foreach $payment_list as $v}}
<option
value=
"{{$v.id}}"
{{
if
isset
($
params
['
payment_id
'])
and
$
params
['
payment_id
']
eq
$
v
['
id
']}}
selected
{{/
if
}}
>
{{$v.name}}
</option>
{{/foreach}}
</select>
<select
name=
"pay_status"
class=
"am-radius c-p m-t-10 m-l-5 param-where"
>
<option
value=
"-1"
>
支付状态
</option>
{{foreach $common_order_pay_status as $v}}
...
...
@@ -34,9 +40,9 @@
{{/foreach}}
</select>
<div
class=
"param-date param-where m-l-5"
>
<input
type=
"text"
name=
"time_start"
class=
"Wdate am-radius m-t-10"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
params
['
time_start
'])}}
value=
"{{$params.time_start}}"
{{/
if
}}
/>
<input
type=
"text"
autocomplete=
"off"
name=
"time_start"
class=
"Wdate am-radius m-t-10"
placeholder=
"起始时间"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
params
['
time_start
'])}}
value=
"{{$params.time_start}}"
{{/
if
}}
/>
<span>
~
</span>
<input
type=
"text"
class=
"Wdate am-radius m-t-10"
placeholder=
"结束时间"
name=
"time_end"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
params
['
time_end
'])}}
value=
"{{$params.time_end}}"
{{/
if
}}
/>
<input
type=
"text"
autocomplete=
"off"
class=
"Wdate am-radius m-t-10"
placeholder=
"结束时间"
name=
"time_end"
onclick=
"WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd HH:mm:ss'})"
{{
if
isset
($
params
['
time_end
'])}}
value=
"{{$params.time_end}}"
{{/
if
}}
/>
</div>
</div>
</div>
...
...
@@ -65,16 +71,16 @@
{{foreach $v.items as $vs}}
<div
class=
"goods-item"
>
<div
class=
"base"
>
<a
href=
"{{:HomeUrl('goods', 'index', ['id'=>$vs['goods_id']])}}"
target=
"_blank"
title=
"{{$v.title}}"
>
<img
src=
"{{$
image_host}}{{$
vs['images']}}"
class=
"am-img-thumbnail am-radius goods-images am-hide-sm-only"
/>
<a
href=
"{{:HomeUrl('goods', 'index', ['id'=>$vs['goods_id']])}}"
target=
"_blank"
title=
"{{$v
s
.title}}"
>
<img
src=
"{{$vs['images']}}"
class=
"am-img-thumbnail am-radius goods-images am-hide-sm-only"
/>
</a>
<a
href=
"{{:HomeUrl('goods', 'index', ['id'=>$vs['goods_id']])}}"
target=
"_blank"
title=
"{{$vs.title}}"
{{
if
!
empty
($
vs
['
title_color
'])}}
style=
"color:{{$vs.title_color}};"
{{/
if
}}
>
{{$vs.title}}
</a>
</div>
<div
class=
"other"
>
<span
class=
"fl"
>
<span
class=
"fl
fs-12
"
>
{{if !empty($vs.spec)}}
{{foreach $vs.spec as $kss=>$vss}}
{{$vss.type}}:{{$vss.value}}{{if $kss eq count($vs.spec)-1}},{{/if}}
{{$vss.type}}:{{$vss.value}}{{if $kss
n
eq count($vs.spec)-1}},{{/if}}
{{/foreach}}
{{/if}}
</span>
...
...
@@ -100,14 +106,14 @@
{{/if}}
</td>
<td>
<span
class=
"block"
>
{{$v.status_
text
}}
</span>
<span
class=
"block"
>
{{$v.status_
name
}}
</span>
{{if $v['pay_status'] eq 1}}
<span
class=
"block cr-green fs-12"
>
{{$v.pay_status_
text
}}
</span>
<span
class=
"block cr-green fs-12"
>
{{$v.pay_status_
name
}}
</span>
{{elseif $v['pay_status'] eq 2 /}}
<span
class=
"block cr-yellow fs-12"
>
{{$v.pay_status_
text
}}
</span>
<span
class=
"block cr-yellow fs-12"
>
{{$v.pay_status_
name
}}
</span>
{{else /}}
<span
class=
"block fs-12"
>
{{$v.pay_status_
text
}}
</span>
<span
class=
"block fs-12"
>
{{$v.pay_status_
name
}}
</span>
{{/if}}
{{if $v['user_is_delete_time'] neq 0}}
<span
class=
"block cr-red fs-12"
>
用户已删除
</span>
...
...
@@ -134,16 +140,22 @@
<dt>
基础信息
</dt>
<dd>
{{foreach $v.
good
s as $vs}}
{{foreach $v.
item
s as $vs}}
<div
class=
"goods-item"
>
<div
class=
"base"
>
<a
href=
"{{:HomeUrl('goods', 'index', ['id'=>$vs['goods_id']])}}"
target=
"_blank"
title=
"{{$v.title}}"
>
<img
src=
"{{$
image_host}}{{$
vs['images']}}"
class=
"am-img-thumbnail am-radius goods-images am-hide-sm-only"
/>
<a
href=
"{{:HomeUrl('goods', 'index', ['id'=>$vs['goods_id']])}}"
target=
"_blank"
title=
"{{$v
s
.title}}"
>
<img
src=
"{{$vs['images']}}"
class=
"am-img-thumbnail am-radius goods-images am-hide-sm-only"
/>
</a>
<a
href=
"{{:HomeUrl('goods', 'index', ['id'=>$vs['goods_id']])}}"
target=
"_blank"
title=
"{{$vs.title}}"
{{
if
!
empty
($
vs
['
title_color
'])}}
style=
"color:{{$vs.title_color}};"
{{/
if
}}
>
{{$vs.title}}
</a>
</div>
<div
class=
"other"
>
<span
class=
"fl"
>
{{$vs.attribute}}
</span>
<span
class=
"fl fs-12"
>
{{if !empty($vs.spec)}}
{{foreach $vs.spec as $kss=>$vss}}
{{$vss.type}}:{{$vss.value}}{{if $kss neq count($vs.spec)-1}},{{/if}}
{{/foreach}}
{{/if}}
</span>
<span
class=
"fr"
>
{{$vs.price}}x{{$vs.buy_number}}
</span>
</div>
</div>
...
...
@@ -169,10 +181,10 @@
<dd>
{{if empty($v['express_name'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.express_name}}
<br
/>
{{$v.express_number}}{{/if}}
</dd>
<dt>
支付状态
</dt>
<dd>
{{if empty($v['pay_status_
text'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.pay_status_text
}}{{/if}}
</dd>
<dd>
{{if empty($v['pay_status_
name'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.pay_status_name
}}{{/if}}
</dd>
<dt>
订单状态
</dt>
<dd>
{{if empty($v['status_
text'])}}
<span
class=
"cr-ddd"
>
未设置
</span>
{{else /}}{{$v.status_text
}}{{/if}}
</dd>
<dd>
{{if empty($v['status_
name'])}}
<span
class=
"cr-ddd"
>
未设置
</span>
{{else /}}{{$v.status_name
}}{{/if}}
</dd>
<dt>
支付方式
</dt>
<dd>
{{if empty($v['payment_name'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.payment_name}}{{/if}}
</dd>
...
...
@@ -202,7 +214,7 @@
<dd>
{{if empty($v['delivery_time'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.delivery_time}}{{/if}}
</dd>
<dt>
完成时间
</dt>
<dd>
{{if empty($v['
success_time'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.success
_time}}{{/if}}
</dd>
<dd>
{{if empty($v['
collect_time'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.collect
_time}}{{/if}}
</dd>
<dt>
取消时间
</dt>
<dd>
{{if empty($v['cancel_time'])}}
<span
class=
"cr-ddd"
>
未填写
</span>
{{else /}}{{$v.cancel_time}}{{/if}}
</dd>
...
...
@@ -273,14 +285,14 @@
{{/foreach}}
</ul>
{{/if}}
<empty
name=
"express_list"
>
{{if empty($express_list)}}
<div
class=
"table-no"
><i
class=
"am-icon-warning"
></i>
没有快递方式
</div>
{{/if}}
</div>
<div
class=
"am-form-group"
>
<label>
快递单号
</label>
<input
type=
"text"
name=
"express_number"
placeholder=
"快递单号"
minlength=
"1"
data-validation-message=
"请填写快递单号"
class=
"am-radius"
required
/>
<input
type=
"text"
autocomplete=
"off"
name=
"express_number"
placeholder=
"快递单号"
minlength=
"1"
data-validation-message=
"请填写快递单号"
class=
"am-radius"
required
/>
</div>
<div
class=
"am-form-group"
>
<input
type=
"hidden"
name=
"id"
value=
"0"
/>
...
...
@@ -318,7 +330,7 @@
{{/foreach}}
</ul>
{{/if}}
<empty
name=
"buy_payment_list"
>
{{if empty($buy_payment_list)}}
<div
class=
"table-no"
><i
class=
"am-icon-warning"
></i>
没有支付方式
</div>
{{/if}}
</div>
...
...
application/admin/view/default/theme/index.html
浏览文件 @
d535e775
...
...
@@ -4,22 +4,22 @@
<div
class=
"content-right"
>
<div
class=
"content"
>
<!-- nav start -->
<include
file=
"Nav"
/>
{{include file="theme/nav" /}}
<!-- nav end -->
<!-- list start -->
<notempty
name=
"data"
>
<ul
data-am-widget=
"gallery"
class=
"am-gallery am-avg-sm-2 am-avg-md-3 am-avg-lg-4 am-gallery-bordered data-list"
data-am-gallery=
"{}"
data-select-url=
"{{:url('
Admin/Theme/S
ave')}}"
>
<foreach
name=
"data"
item=
"v"
>
{{if !empty($data_list)}}
<ul
data-am-widget=
"gallery"
class=
"am-gallery am-avg-sm-2 am-avg-md-3 am-avg-lg-4 am-gallery-bordered data-list"
data-am-gallery=
"{}"
data-select-url=
"{{:url('
admin/theme/s
ave')}}"
>
{{foreach $data_list as $v}}
<li
id=
"data-list-{{$v.theme}}"
>
<div
class=
"am-gallery-item am-radius {{if $v['theme'] eq $theme
"
>
theme-active{{/if}}">
<div
class=
"am-gallery-item am-radius {{if $v['theme'] eq $theme
}}
theme-active{{/if}}"
>
<a
href=
"javascript:;"
class=
"select-theme"
data-theme=
"{{$v.theme}}"
>
<img
src=
"{{$v.preview}}"
alt=
"{{$v.name}}"
/>
</a>
<div
class=
"am-gallery-item-bottom"
>
<h3
class=
"am-gallery-title"
>
{{$v.name}}
<a
href=
"javascript:;"
class=
"am-icon-trash-o fr submit-delete"
data-url=
"{{:url('
Admin/Theme/D
elete')}}"
data-id=
"{{$v.theme}}"
></a>
<a
href=
"javascript:;"
class=
"am-icon-trash-o fr submit-delete"
data-url=
"{{:url('
admin/theme/d
elete')}}"
data-id=
"{{$v.theme}}"
></a>
</h3>
<div
class=
"am-gallery-desc"
>
作者:
{{if empty($v['home'])}}
...
...
application/admin/view/default/theme/nav.html
浏览文件 @
d535e775
<ul
class=
"am-nav am-nav-pills table-nav"
>
<li
{{
if
$
view_type
eq
'
home
'
"
>
class="am-active"{{/if}}>
<a
href=
"{{:url('
Admin/Theme/I
ndex', ['view_type'=>'home'])}}"
>
当前主题
</a>
<li
{{
if
$
view_type
eq
'
home
'
}}
class=
"am-active"
{{/
if
}}
>
<a
href=
"{{:url('
admin/theme/i
ndex', ['view_type'=>'home'])}}"
>
当前主题
</a>
</li>
<li
{{
if
$
view_type
eq
'
upload
'
"
>
class="am-active"{{/if}}>
<a
href=
"{{:url('
Admin/Theme/I
ndex', ['view_type'=>'upload'])}}"
>
主题安装
</a>
<li
{{
if
$
view_type
eq
'
upload
'
}}
class=
"am-active"
{{/
if
}}
>
<a
href=
"{{:url('
admin/theme/i
ndex', ['view_type'=>'upload'])}}"
>
主题安装
</a>
</li>
</ul>
\ No newline at end of file
application/index/controller/CustomView.php
浏览文件 @
d535e775
...
...
@@ -43,15 +43,15 @@ class CustomView extends Common
'n'
=>
1
,
];
$data
=
CustomViewService
::
CustomViewList
(
$params
);
if
(
!
empty
(
$data
[
0
]))
if
(
!
empty
(
$data
[
'data'
][
0
]))
{
// 访问统计
CustomViewService
::
CustomViewAccessCountInc
([
'id'
=>
$id
]);
// 浏览器标题
$this
->
assign
(
'home_seo_site_title'
,
$this
->
GetBrowserSeoTitle
(
$data
[
0
][
'title'
],
1
));
$this
->
assign
(
'home_seo_site_title'
,
$this
->
GetBrowserSeoTitle
(
$data
[
'data'
][
0
][
'title'
],
1
));
$this
->
assign
(
'data'
,
$data
[
0
]);
$this
->
assign
(
'data'
,
$data
[
'data'
][
0
]);
return
$this
->
fetch
();
}
else
{
$this
->
assign
(
'msg'
,
'页面不存在或已删除'
);
...
...
application/index/controller/Message.php
浏览文件 @
d535e775
...
...
@@ -41,6 +41,7 @@ class Message extends Common
// 参数
$params
=
input
();
$params
[
'user'
]
=
$this
->
user
;
$params
[
'user_type'
]
=
'user'
;
// 消息更新未已读
MessageService
::
MessageRead
(
$params
);
...
...
@@ -49,7 +50,7 @@ class Message extends Common
$number
=
10
;
// 条件
$where
=
MessageService
::
User
MessgeListWhere
(
$params
);
$where
=
MessageService
::
MessgeListWhere
(
$params
);
// 获取总数
$total
=
MessageService
::
MessageTotal
(
$where
);
...
...
@@ -59,6 +60,7 @@ class Message extends Common
'number'
=>
$number
,
'total'
=>
$total
,
'where'
=>
$params
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'url'
=>
url
(
'index/message/index'
),
);
$page
=
new
\
base\Page
(
$page_params
);
...
...
application/index/controller/Order.php
浏览文件 @
d535e775
...
...
@@ -58,6 +58,7 @@ class Order extends Common
'number'
=>
$number
,
'total'
=>
$total
,
'where'
=>
$params
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'url'
=>
url
(
'index/order/index'
),
);
$page
=
new
\
base\Page
(
$page_params
);
...
...
application/index/controller/UserFavor.php
浏览文件 @
d535e775
...
...
@@ -56,6 +56,7 @@ class UserFavor extends Common
'number'
=>
$number
,
'total'
=>
$total
,
'where'
=>
$params
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'url'
=>
url
(
'index/userfavor/goods'
),
);
$page
=
new
\
base\Page
(
$page_params
);
...
...
application/index/controller/UserGoodsBrowse.php
浏览文件 @
d535e775
...
...
@@ -56,6 +56,7 @@ class UserGoodsBrowse extends Common
'number'
=>
$number
,
'total'
=>
$total
,
'where'
=>
$params
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'url'
=>
url
(
'index/usergoodsbrowse/Goods'
),
);
$page
=
new
\
base\Page
(
$page_params
);
...
...
application/index/controller/UserIntegral.php
浏览文件 @
d535e775
...
...
@@ -56,6 +56,7 @@ class UserIntegral extends Common
'number'
=>
$number
,
'total'
=>
$total
,
'where'
=>
$params
,
'page'
=>
isset
(
$params
[
'page'
])
?
intval
(
$params
[
'page'
])
:
1
,
'url'
=>
url
(
'index/userintegral/index'
),
);
$page
=
new
\
base\Page
(
$page_params
);
...
...
application/service/AnswerService.php
0 → 100644
浏览文件 @
d535e775
<?php
namespace
app\service
;
use
app\service\GoodsService
;
/**
* 问答/留言服务层
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class
AnswerService
{
/**
* 总数
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $where [条件]
*/
public
static
function
AnswerTotal
(
$where
=
[])
{
return
(
int
)
db
(
'Answer'
)
->
where
(
$where
)
->
count
();
}
/**
* 列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
AnswerList
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'where'
,
'error_msg'
=>
'条件不能为空'
,
],
[
'checked_type'
=>
'is_array'
,
'key_name'
=>
'where'
,
'error_msg'
=>
'条件格式有误'
,
],
[
'checked_type'
=>
'isset'
,
'key_name'
=>
'limit_start'
,
'error_msg'
=>
'分页起始值有误'
,
],
[
'checked_type'
=>
'isset'
,
'key_name'
=>
'limit_number'
,
'error_msg'
=>
'分页数量不能为空'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
$limit_start
=
max
(
0
,
intval
(
$params
[
'limit_start'
]));
$limit_number
=
max
(
1
,
intval
(
$params
[
'limit_number'
]));
$order_by
=
empty
(
$params
[
'order_by'
])
?
'id desc'
:
$params
[
'order_by'
];
// 获取数据列表
$data
=
db
(
'Answer'
)
->
where
(
$params
[
'where'
])
->
limit
(
$limit_start
,
$limit_number
)
->
order
(
$order_by
)
->
select
();
if
(
!
empty
(
$data
))
{
$common_is_show_list
=
lang
(
'common_is_show_list'
);
$common_gender_list
=
lang
(
'common_gender_list'
);
foreach
(
$data
as
&
$v
)
{
// 用户信息
$user
=
db
(
'User'
)
->
where
([
'id'
=>
$v
[
'user_id'
]])
->
field
(
'username,nickname,mobile,gender,avatar'
)
->
find
();
$v
[
'username'
]
=
empty
(
$user
[
'username'
])
?
''
:
$user
[
'username'
];
$v
[
'nickname'
]
=
empty
(
$user
[
'nickname'
])
?
''
:
$user
[
'nickname'
];
$v
[
'mobile'
]
=
empty
(
$user
[
'mobile'
])
?
''
:
$user
[
'mobile'
];
$v
[
'avatar'
]
=
empty
(
$user
[
'avatar'
])
?
''
:
$user
[
'avatar'
];
$v
[
'gender_text'
]
=
isset
(
$user
[
'gender'
])
?
$common_gender_list
[
$user
[
'gender'
]][
'name'
]
:
''
;
// 是否显示
$v
[
'is_show_text'
]
=
$common_is_show_list
[
$v
[
'is_show'
]][
'name'
];
// 创建时间
$v
[
'add_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'add_time'
]);
// 更新时间
$v
[
'upd_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'upd_time'
]);
}
}
return
DataReturn
(
'处理成功'
,
0
,
$data
);
}
/**
* 列表条件
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
AnswerListWhere
(
$params
=
[])
{
$where
=
[
[
'is_delete_time'
,
'='
,
0
],
];
// id
if
(
!
empty
(
$params
[
'id'
]))
{
$where
[]
=
[
'id'
,
'='
,
$params
[
'id'
]];
}
// 用户id
if
(
!
empty
(
$params
[
'user'
]))
{
$where
[]
=
[
'user_id'
,
'='
,
$params
[
'user'
][
'id'
]];
}
if
(
!
empty
(
$params
[
'keywords'
]))
{
$where
[]
=
[
'name|tel|content'
,
'like'
,
'%'
.
$params
[
'keywords'
]
.
'%'
];
}
// 是否更多条件
if
(
isset
(
$params
[
'is_more'
])
&&
$params
[
'is_more'
]
==
1
)
{
// 等值
if
(
isset
(
$params
[
'is_show'
])
&&
$params
[
'is_show'
]
>
-
1
)
{
$where
[]
=
[
'is_show'
,
'='
,
intval
(
$params
[
'is_show'
])];
}
if
(
!
empty
(
$params
[
'time_start'
]))
{
$where
[]
=
[
'add_time'
,
'>'
,
strtotime
(
$params
[
'time_start'
])];
}
if
(
!
empty
(
$params
[
'time_end'
]))
{
$where
[]
=
[
'add_time'
,
'<'
,
strtotime
(
$params
[
'time_end'
])];
}
}
return
$where
;
}
/**
* 删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-30
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
AnswerDelete
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
'操作id有误'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'user_type'
,
'error_msg'
=>
'用户类型有误'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 条件
$where
=
[
'id'
=>
intval
(
$params
[
'id'
]),
];
// 用户类型
if
(
$params
[
'user_type'
]
==
'user'
)
{
if
(
empty
(
$params
[
'user'
]))
{
return
DataReturn
(
'用户信息有误'
,
-
1
);
}
$where
[
'user_id'
]
=
$params
[
'user'
][
'id'
];
}
// 获取数据
$temp
=
db
(
'Answer'
)
->
where
(
$where
)
->
field
(
'id'
)
->
find
();
if
(
empty
(
$temp
))
{
return
DataReturn
(
'资源不存在或已被删除'
,
-
1
);
}
// 开始删除
$data
=
[
'is_delete_time'
=>
time
(),
];
if
(
db
(
'Answer'
)
->
where
(
$where
)
->
update
(
$data
))
{
return
DataReturn
(
'删除成功'
,
0
);
}
return
DataReturn
(
'删除失败'
,
-
1
);
}
/**
* 回复
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-18
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
AnswerReply
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
'操作id有误'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'reply'
,
'error_msg'
=>
'回复内容不能为空'
,
],
[
'checked_type'
=>
'length'
,
'key_name'
=>
'reply'
,
'checked_data'
=>
'2,230'
,
'error_msg'
=>
'回复内容格式 2~230 个字符'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 条件
$where
=
[
'id'
=>
intval
(
$params
[
'id'
]),
];
// 问答是否存在
$temp
=
db
(
'Answer'
)
->
where
(
$where
)
->
field
(
'id'
)
->
find
();
if
(
empty
(
$temp
))
{
return
DataReturn
(
'资源不存在或已被删除'
,
-
2
);
}
// 更新问答
$data
=
[
'reply'
=>
$params
[
'reply'
],
'is_reply'
=>
1
,
'upd_time'
=>
time
()
];
if
(
db
(
'Answer'
)
->
where
(
$where
)
->
update
(
$data
))
{
return
DataReturn
(
'操作成功'
);
}
return
DataReturn
(
'操作失败'
,
-
100
);
}
/**
* 状态更新
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
* @param [array] $params [输入参数]
*/
public
static
function
AnswerStatusUpdate
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
'操作id有误'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'state'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'状态有误'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 数据更新
if
(
db
(
'Answer'
)
->
where
([
'id'
=>
intval
(
$params
[
'id'
])])
->
update
([
'is_show'
=>
intval
(
$params
[
'state'
])]))
{
return
DataReturn
(
'编辑成功'
);
}
return
DataReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
}
?>
\ No newline at end of file
application/service/BrandService.php
浏览文件 @
d535e775
<?php
namespace
app\service
;
use
app\service\GoodsService
;
...
...
application/service/CustomViewService.php
浏览文件 @
d535e775
...
...
@@ -24,27 +24,110 @@ class CustomViewService
public
static
function
CustomViewList
(
$params
=
[])
{
$where
=
empty
(
$params
[
'where'
])
?
[]
:
$params
[
'where'
];
$field
=
empty
(
$params
[
'field'
])
?
'id,title,content,is_header,is_footer,is_full_screen,access_count'
:
$params
[
'field'
];
$field
=
empty
(
$params
[
'field'
])
?
'id,title,content,is_header,is_footer,is_full_screen,access_count
,is_enable
'
:
$params
[
'field'
];
$m
=
isset
(
$params
[
'm'
])
?
intval
(
$params
[
'm'
])
:
0
;
$n
=
isset
(
$params
[
'n'
])
?
intval
(
$params
[
'n'
])
:
10
;
$data
=
db
(
'CustomView'
)
->
field
(
$field
)
->
where
(
$where
)
->
order
(
'id desc'
)
->
limit
(
$m
,
$n
)
->
select
();
if
(
!
empty
(
$data
))
{
$common_is_enable_list
=
lang
(
'common_is_enable_list'
);
foreach
(
$data
as
&
$v
)
{
// 是否启用
if
(
isset
(
$v
[
'is_enable'
]))
{
$v
[
'is_enable_text'
]
=
$common_is_enable_list
[
$v
[
'is_enable'
]][
'name'
];
}
// 内容
if
(
isset
(
$v
[
'content'
]))
{
$v
[
'content'
]
=
ResourcesService
::
ContentStaticReplace
(
$v
[
'content'
],
'get'
);
}
// 时间
if
(
isset
(
$v
[
'add_time'
]))
{
$v
[
'add_time_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'add_time'
]);
$v
[
'add_time_date'
]
=
date
(
'Y-m-d'
,
$v
[
'add_time'
]);
}
if
(
isset
(
$v
[
'upd_time'
]))
{
$v
[
'upd_time_time'
]
=
date
(
'Y-m-d H:i:s'
,
$v
[
'upd_time'
]);
$v
[
'upd_time_date'
]
=
date
(
'Y-m-d'
,
$v
[
'upd_time'
]);
}
}
}
return
$data
;
return
DataReturn
(
'处理成功'
,
0
,
$data
);
}
/**
* 总数
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $where [条件]
*/
public
static
function
CustomViewTotal
(
$where
=
[])
{
return
(
int
)
db
(
'CustomView'
)
->
where
(
$where
)
->
count
();
}
/**
* 列表条件
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
CustomViewListWhere
(
$params
=
[])
{
$where
=
[];
// id
if
(
!
empty
(
$params
[
'id'
]))
{
$where
[]
=
[
'id'
,
'='
,
$params
[
'id'
]];
}
if
(
!
empty
(
$params
[
'keywords'
]))
{
$where
[]
=
[
'title'
,
'like'
,
'%'
.
$params
[
'keywords'
]
.
'%'
];
}
// 是否更多条件
if
(
isset
(
$params
[
'is_more'
])
&&
$params
[
'is_more'
]
==
1
)
{
// 等值
if
(
isset
(
$params
[
'is_enable'
])
&&
$params
[
'is_enable'
]
>
-
1
)
{
$where
[]
=
[
'is_enable'
,
'='
,
intval
(
$params
[
'is_enable'
])];
}
if
(
isset
(
$params
[
'is_header'
])
&&
$params
[
'is_header'
]
>
-
1
)
{
$where
[]
=
[
'is_header'
,
'='
,
intval
(
$params
[
'is_header'
])];
}
if
(
isset
(
$params
[
'is_footer'
])
&&
$params
[
'is_footer'
]
>
-
1
)
{
$where
[]
=
[
'is_footer'
,
'='
,
intval
(
$params
[
'is_footer'
])];
}
if
(
!
empty
(
$params
[
'time_start'
]))
{
$where
[]
=
[
'add_time'
,
'>'
,
strtotime
(
$params
[
'time_start'
])];
}
if
(
!
empty
(
$params
[
'time_end'
]))
{
$where
[]
=
[
'add_time'
,
'<'
,
strtotime
(
$params
[
'time_end'
])];
}
}
return
$where
;
}
/**
...
...
@@ -64,5 +147,190 @@ class CustomViewService
}
return
false
;
}
/**
* 保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-18
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
CustomViewSave
(
$params
=
[])
{
// 请求类型
$p
=
[
[
'checked_type'
=>
'length'
,
'key_name'
=>
'title'
,
'checked_data'
=>
'2,60'
,
'error_msg'
=>
'标题长度 2~60 个字符'
,
],
[
'checked_type'
=>
'length'
,
'key_name'
=>
'content'
,
'checked_data'
=>
'50,105000'
,
'error_msg'
=>
'内容长度最少 50~105000 个字符'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'is_enable'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'是否显示范围值有误'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'is_header'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'是否包含头部范围值有误'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'is_footer'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'是否包含尾部范围值有误'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'is_full_screen'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'是否满屏范围值有误'
,
]
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 数据
$content
=
ResourcesService
::
ContentStaticReplace
(
$params
[
'content'
],
'add'
);
$image
=
self
::
MatchContentImage
(
$content
);
$data
=
[
'title'
=>
$params
[
'title'
],
'content'
=>
$content
,
'image'
=>
empty
(
$image
)
?
''
:
json_encode
(
$image
),
'image_count'
=>
count
(
$image
),
'is_enable'
=>
intval
(
$params
[
'is_enable'
]),
'is_header'
=>
intval
(
$params
[
'is_header'
]),
'is_footer'
=>
intval
(
$params
[
'is_footer'
]),
'is_full_screen'
=>
intval
(
$params
[
'is_full_screen'
]),
];
if
(
empty
(
$params
[
'id'
]))
{
$data
[
'add_time'
]
=
time
();
if
(
db
(
'CustomView'
)
->
insertGetId
(
$data
)
>
0
)
{
return
DataReturn
(
'添加成功'
,
0
);
}
return
DataReturn
(
'添加失败'
,
-
100
);
}
else
{
$data
[
'upd_time'
]
=
time
();
if
(
db
(
'CustomView'
)
->
where
([
'id'
=>
intval
(
$params
[
'id'
])])
->
update
(
$data
))
{
return
DataReturn
(
'编辑成功'
,
0
);
}
return
DataReturn
(
'编辑失败'
,
-
100
);
}
}
/**
* 正则匹配文章图片
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-01-22T18:06:53+0800
* @param [string] $content [文章内容]
* @return [array] [文章图片数组(一维)]
*/
private
static
function
MatchContentImage
(
$content
)
{
if
(
!
empty
(
$content
))
{
$pattern
=
'/<img.*?src=[\'|\"](\/Public\/Upload\/customview\/image\/.*?[\.gif|\.jpg|\.jpeg|\.png|\.bmp])[\'|\"].*?[\/]?>/'
;
preg_match_all
(
$pattern
,
$content
,
$match
);
return
empty
(
$match
[
1
])
?
[]
:
$match
[
1
];
}
return
[];
}
/**
* 删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-18
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
CustomViewDelete
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
'操作id有误'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 删除操作
if
(
db
(
'CustomView'
)
->
where
([
'id'
=>
$params
[
'id'
]])
->
delete
())
{
return
DataReturn
(
'删除成功'
);
}
return
DataReturn
(
'删除失败或资源不存在'
,
-
100
);
}
/**
* 状态更新
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
* @param [array] $params [输入参数]
*/
public
static
function
CustomViewStatusUpdate
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
'操作id有误'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'field'
,
'error_msg'
=>
'字段有误'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'state'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'状态有误'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 数据更新
if
(
db
(
'CustomView'
)
->
where
([
'id'
=>
intval
(
$params
[
'id'
])])
->
update
([
$params
[
'field'
]
=>
intval
(
$params
[
'state'
])]))
{
return
DataReturn
(
'编辑成功'
);
}
return
DataReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
}
?>
\ No newline at end of file
application/service/GoodsService.php
浏览文件 @
d535e775
...
...
@@ -46,17 +46,17 @@ class GoodsService
*/
public
static
function
GoodsCategory
(
$params
=
[])
{
$where
=
empty
(
$params
[
'where'
])
?
[
'pid'
=>
0
]
:
$params
[
'where'
];
$where
=
empty
(
$params
[
'where'
])
?
[
'pid'
=>
0
,
'is_enable'
=>
1
]
:
$params
[
'where'
];
$data
=
self
::
GoodsCategoryList
(
$where
);
if
(
!
empty
(
$data
))
{
foreach
(
$data
as
&
$v
)
{
$v
[
'items'
]
=
self
::
GoodsCategoryList
([
'pid'
=>
$v
[
'id'
]]);
$v
[
'items'
]
=
self
::
GoodsCategoryList
([
'pid'
=>
$v
[
'id'
]
,
'is_enable'
=>
1
]);
if
(
!
empty
(
$v
[
'items'
]))
{
// 一次性查出所有二级下的三级、再做归类、避免sql连接超多
$items
=
self
::
GoodsCategoryList
([
'pid'
=>
array_column
(
$v
[
'items'
],
'id'
)]);
$items
=
self
::
GoodsCategoryList
([
'pid'
=>
array_column
(
$v
[
'items'
],
'id'
)
,
'is_enable'
=>
1
]);
if
(
!
empty
(
$items
))
{
foreach
(
$v
[
'items'
]
as
&
$vs
)
...
...
application/service/IntegralService.php
浏览文件 @
d535e775
...
...
@@ -151,7 +151,7 @@ class IntegralService
$limit_start
=
max
(
0
,
intval
(
$params
[
'limit_start'
]));
$limit_number
=
max
(
1
,
intval
(
$params
[
'limit_number'
]));
$order_by
=
empty
(
$params
[
'order_by'
])
?
'id desc'
:
I
(
'order_by'
,
''
,
''
,
$params
)
;
$order_by
=
empty
(
$params
[
'order_by'
])
?
'id desc'
:
$params
[
'order_by'
]
;
// 获取数据列表
$data
=
db
(
'UserIntegralLog'
)
->
where
(
$params
[
'where'
])
->
limit
(
$limit_start
,
$limit_number
)
->
order
(
$order_by
)
->
select
();
...
...
application/service/LinkService.php
0 → 100644
浏览文件 @
d535e775
<?php
namespace
app\service
;
use
app\service\GoodsService
;
/**
* 友情链接服务层
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-01T21:51:08+0800
*/
class
LinkService
{
/**
* 列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-29
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
LinkList
(
$params
=
[])
{
$data
=
db
(
'Link'
)
->
order
(
'sort asc'
)
->
select
();
return
DataReturn
(
'处理成功'
,
0
,
$data
);
}
/**
* 保存
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-18
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
LinkSave
(
$params
=
[])
{
// 请求类型
$p
=
[
[
'checked_type'
=>
'length'
,
'key_name'
=>
'name'
,
'checked_data'
=>
'2,16'
,
'error_msg'
=>
'名称格式 2~16 个字符'
,
],
[
'checked_type'
=>
'fun'
,
'key_name'
=>
'url'
,
'checked_data'
=>
'CheckUrl'
,
'error_msg'
=>
'链接地址格式有误'
,
],
[
'checked_type'
=>
'length'
,
'key_name'
=>
'sort'
,
'checked_data'
=>
'4'
,
'error_msg'
=>
'顺序 0~255 之间的数值'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'is_new_window_open'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'是否新窗口打开范围值有误'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'is_enable'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'是否显示范围值有误'
,
],
[
'checked_type'
=>
'length'
,
'key_name'
=>
'describe'
,
'checked_data'
=>
'60'
,
'error_msg'
=>
'描述不能大于60个字符'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 数据
$data
=
[
'name'
=>
$params
[
'name'
],
'describe'
=>
$params
[
'describe'
],
'url'
=>
$params
[
'url'
],
'sort'
=>
intval
(
$params
[
'sort'
]),
'is_enable'
=>
intval
(
$params
[
'is_enable'
]),
'is_new_window_open'
=>
intval
(
$params
[
'is_new_window_open'
]),
];
if
(
empty
(
$params
[
'id'
]))
{
$data
[
'add_time'
]
=
time
();
if
(
db
(
'Link'
)
->
insertGetId
(
$data
)
>
0
)
{
return
DataReturn
(
'添加成功'
,
0
);
}
return
DataReturn
(
'添加失败'
,
-
100
);
}
else
{
$data
[
'upd_time'
]
=
time
();
if
(
db
(
'Link'
)
->
where
([
'id'
=>
intval
(
$params
[
'id'
])])
->
update
(
$data
))
{
return
DataReturn
(
'编辑成功'
,
0
);
}
return
DataReturn
(
'编辑失败'
,
-
100
);
}
}
/**
* 删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-09-30
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
LinkDelete
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
'操作id有误'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 删除操作
if
(
db
(
'Link'
)
->
where
([
'id'
=>
$params
[
'id'
]])
->
delete
())
{
return
DataReturn
(
'删除成功'
);
}
return
DataReturn
(
'删除失败或资源不存在'
,
-
100
);
}
/**
* 状态更新
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
* @param [array] $params [输入参数]
*/
public
static
function
LinkStatusUpdate
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
'操作id有误'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'state'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'状态有误'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 数据更新
if
(
db
(
'Link'
)
->
where
([
'id'
=>
intval
(
$params
[
'id'
])])
->
update
([
'is_enable'
=>
intval
(
$params
[
'state'
])]))
{
return
DataReturn
(
'编辑成功'
);
}
return
DataReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
}
?>
\ No newline at end of file
application/service/MessageService.php
浏览文件 @
d535e775
...
...
@@ -50,11 +50,10 @@ class MessageService
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
User
MessgeListWhere
(
$params
=
[])
public
static
function
MessgeListWhere
(
$params
=
[])
{
$where
=
[
[
'is_delete_time'
,
'='
,
0
],
[
'user_is_delete_time'
,
'='
,
0
],
];
// id
...
...
@@ -63,12 +62,19 @@ class MessageService
$where
[]
=
[
'id'
,
'='
,
$params
[
'id'
]];
}
// 用户
id
if
(
!
empty
(
$params
[
'user'
])
)
// 用户
类型
if
(
isset
(
$params
[
'user_type'
])
&&
$params
[
'user_type'
]
==
'user'
)
{
$where
[]
=
[
'user_id'
,
'='
,
$params
[
'user'
][
'id'
]];
}
$where
[]
=
[
'user_is_delete_time'
,
'='
,
0
];
// 用户id
if
(
!
empty
(
$params
[
'user'
]))
{
$where
[]
=
[
'user_id'
,
'='
,
$params
[
'user'
][
'id'
]];
}
}
// 关键字
if
(
!
empty
(
$params
[
'keywords'
]))
{
$where
[]
=
[
'title|detail'
,
'like'
,
'%'
.
$params
[
'keywords'
]
.
'%'
];
...
...
@@ -142,11 +148,11 @@ class MessageService
{
return
0
;
}
return
self
::
MessageTotal
(
self
::
User
MessgeListWhere
(
$params
));
return
self
::
MessageTotal
(
self
::
MessgeListWhere
(
$params
));
}
/**
*
订单
列表
* 列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
...
...
@@ -187,7 +193,7 @@ class MessageService
$limit_start
=
max
(
0
,
intval
(
$params
[
'limit_start'
]));
$limit_number
=
max
(
1
,
intval
(
$params
[
'limit_number'
]));
$order_by
=
empty
(
$params
[
'order_by'
])
?
'id desc'
:
I
(
'order_by'
,
''
,
''
,
$params
)
;
$order_by
=
empty
(
$params
[
'order_by'
])
?
'id desc'
:
$params
[
'order_by'
]
;
// 获取数据列表
$data
=
db
(
'Message'
)
->
where
(
$params
[
'where'
])
->
limit
(
$limit_start
,
$limit_number
)
->
order
(
$order_by
)
->
select
();
...
...
application/service/NavigationService.php
浏览文件 @
d535e775
<?php
namespace
app\service
;
use
think\Db
;
/**
* 导航服务层
* @author Devil
...
...
@@ -95,5 +96,349 @@ class NavigationService
}
return
$data
;
}
/**
* 获取导航列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-18
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
NavList
(
$params
=
[])
{
if
(
empty
(
$params
[
'nav_type'
]))
{
return
[];
}
$field
=
'id,pid,name,url,value,data_type,sort,is_show,is_new_window_open'
;
$data
=
self
::
NavDataDealWith
(
db
(
'Navigation'
)
->
field
(
$field
)
->
where
([
'nav_type'
=>
$params
[
'nav_type'
],
'pid'
=>
0
])
->
order
(
'sort'
)
->
select
());
if
(
!
empty
(
$data
))
{
foreach
(
$data
as
&
$v
)
{
$v
[
'item'
]
=
self
::
NavDataDealWith
(
db
(
'Navigation'
)
->
field
(
$field
)
->
where
([
'nav_type'
=>
$params
[
'nav_type'
],
'pid'
=>
$v
[
'id'
]])
->
order
(
'sort'
)
->
select
());
}
}
return
$data
;
}
/**
* 获取一级导航列表
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-18
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
LevelOneNav
(
$params
=
[])
{
if
(
empty
(
$params
[
'nav_type'
]))
{
return
[];
}
return
db
(
'Navigation'
)
->
field
(
'id,name'
)
->
where
([
'is_show'
=>
1
,
'pid'
=>
0
,
'nav_type'
=>
$params
[
'nav_type'
]])
->
select
();
}
/**
* 导航保存
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-07T21:58:19+0800
* @param [array] $params [输入参数]
*/
public
static
function
NavSave
(
$params
=
[])
{
if
(
empty
(
$params
[
'data_type'
]))
{
return
DataReturn
(
'操作类型有误'
,
-
1
);
}
// 请求类型
$p
=
[
[
'checked_type'
=>
'length'
,
'key_name'
=>
'sort'
,
'checked_data'
=>
'4'
,
'error_msg'
=>
'顺序 0~255 之间的数值'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'is_show'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'是否显示范围值有误'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'is_new_window_open'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'是否新窗口打开范围值有误'
,
]
];
switch
(
$params
[
'data_type'
])
{
// 自定义导航
case
'custom'
:
$p
=
[
[
'checked_type'
=>
'in'
,
'key_name'
=>
'nav_type'
,
'checked_data'
=>
[
'header'
,
'footer'
],
'error_msg'
=>
'数据类型有误'
,
],
[
'checked_type'
=>
'length'
,
'key_name'
=>
'name'
,
'checked_data'
=>
'2,16'
,
'error_msg'
=>
'导航名称格式 2~16 个字符'
,
],
[
'checked_type'
=>
'fun'
,
'key_name'
=>
'url'
,
'checked_data'
=>
'CheckUrl'
,
'error_msg'
=>
'url格式有误'
,
],
];
break
;
// 文章分类导航
case
'article'
:
$p
=
[
[
'checked_type'
=>
'length'
,
'key_name'
=>
'name'
,
'checked_data'
=>
'2,16'
,
'is_checked'
=>
1
,
'error_msg'
=>
'导航名称格式 2~16 个字符'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'value'
,
'error_msg'
=>
'文章选择有误'
,
],
];
break
;
// 自定义页面导航
case
'customview'
:
$p
=
[
[
'checked_type'
=>
'length'
,
'key_name'
=>
'name'
,
'checked_data'
=>
'2,16'
,
'is_checked'
=>
1
,
'error_msg'
=>
'导航名称格式 2~16 个字符'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'value'
,
'error_msg'
=>
'自定义页面选择有误'
,
],
];
break
;
// 商品分类导航
case
'goods_category'
:
$p
=
[
[
'checked_type'
=>
'length'
,
'key_name'
=>
'name'
,
'is_checked'
=>
1
,
'error_msg'
=>
'导航名称格式 2~16 个字符'
,
],
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'value'
,
'error_msg'
=>
'商品分类选择有误'
,
],
];
break
;
// 没找到
default
:
return
DataReturn
(
'操作类型有误'
,
-
1
);
}
// 参数
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 保存数据
return
self
::
NacDataSave
(
$params
);
}
/**
* 导航数据保存
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2017-02-05T20:12:30+0800
* @param [array] $params [输入参数]
*/
public
static
function
NacDataSave
(
$params
=
[])
{
// 非自定义导航数据处理
if
(
empty
(
$params
[
'name'
]))
{
switch
(
$params
[
'data_type'
])
{
// 文章分类导航
case
'article'
:
$temp_name
=
db
(
'Article'
)
->
where
([
'id'
=>
$params
[
'value'
]])
->
value
(
'title'
);
break
;
// 自定义页面导航
case
'customview'
:
$temp_name
=
db
(
'CustomView'
)
->
where
([
'id'
=>
$params
[
'value'
]])
->
value
(
'title'
);
break
;
// 商品分类导航
case
'goods_category'
:
$temp_name
=
db
(
'GoodsCategory'
)
->
where
([
'id'
=>
$params
[
'value'
]])
->
value
(
'name'
);
break
;
}
// 只截取16个字符
$params
[
'name'
]
=
mb_substr
(
$temp_name
,
0
,
16
,
config
(
'default_charset'
));
}
// 清除缓存
cache
(
config
(
'cache_common_home_nav_'
.
$params
[
'nav_type'
]
.
'_key'
),
null
);
// 数据
$data
=
[
'pid'
=>
isset
(
$params
[
'pid'
])
?
intval
(
$params
[
'pid'
])
:
0
,
'value'
=>
isset
(
$params
[
'value'
])
?
intval
(
$params
[
'value'
])
:
0
,
'name'
=>
$params
[
'name'
],
'url'
=>
isset
(
$params
[
'url'
])
?
$params
[
'url'
]
:
''
,
'nav_type'
=>
$params
[
'nav_type'
],
'data_type'
=>
$params
[
'data_type'
],
'sort'
=>
intval
(
$params
[
'sort'
]),
'is_show'
=>
intval
(
$params
[
'is_show'
]),
'is_new_window_open'
=>
intval
(
$params
[
'is_new_window_open'
]),
];
// id为空则表示是新增
if
(
empty
(
$params
[
'id'
]))
{
$data
[
'add_time'
]
=
time
();
if
(
db
(
'Navigation'
)
->
insertGetId
(
$data
)
>
0
)
{
// 清除缓存
cache
(
config
(
'cache_common_home_nav_'
.
$params
[
'nav_type'
]
.
'_key'
),
null
);
return
DataReturn
(
'新增成功'
,
0
);
}
else
{
return
DataReturn
(
'新增失败'
,
-
100
);
}
}
else
{
$data
[
'upd_time'
]
=
time
();
if
(
db
(
'Navigation'
)
->
where
([
'id'
=>
intval
(
$params
[
'id'
])])
->
update
(
$data
))
{
// 清除缓存
cache
(
config
(
'cache_common_home_nav_'
.
$params
[
'nav_type'
]
.
'_key'
),
null
);
return
DataReturn
(
'编辑成功'
,
0
);
}
else
{
return
DataReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
}
}
/**
* 导航删除
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2018-12-18
* @desc description
* @param [array] $params [输入参数]
*/
public
static
function
NavDelete
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
'操作id有误'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 启动事务
Db
::
startTrans
();
// 删除操作
if
(
db
(
'Navigation'
)
->
where
([
'id'
=>
$params
[
'id'
]])
->
delete
()
!==
false
&&
db
(
'Navigation'
)
->
where
([
'pid'
=>
$params
[
'id'
]])
->
delete
()
!==
false
)
{
// 提交事务
Db
::
commit
();
// 清除缓存
cache
(
config
(
'cache_common_home_nav_header_key'
),
null
);
cache
(
config
(
'cache_common_home_nav_footer_key'
),
null
);
return
DataReturn
(
'删除成功'
);
}
// 回滚事务
Db
::
rollback
();
return
DataReturn
(
'删除失败或资源不存在'
,
-
100
);
}
/**
* 状态更新
* @author Devil
* @blog http://gong.gg/
* @version 0.0.1
* @datetime 2016-12-06T21:31:53+0800
* @param [array] $params [输入参数]
*/
public
static
function
NavStatusUpdate
(
$params
=
[])
{
// 请求参数
$p
=
[
[
'checked_type'
=>
'empty'
,
'key_name'
=>
'id'
,
'error_msg'
=>
'操作id有误'
,
],
[
'checked_type'
=>
'in'
,
'key_name'
=>
'state'
,
'checked_data'
=>
[
0
,
1
],
'error_msg'
=>
'状态有误'
,
],
];
$ret
=
params_checked
(
$params
,
$p
);
if
(
$ret
!==
true
)
{
return
DataReturn
(
$ret
,
-
1
);
}
// 数据更新
if
(
db
(
'Navigation'
)
->
where
([
'id'
=>
intval
(
$params
[
'id'
])])
->
update
([
'is_show'
=>
intval
(
$params
[
'state'
])]))
{
// 清除缓存
cache
(
config
(
'cache_common_home_nav_header_key'
),
null
);
cache
(
config
(
'cache_common_home_nav_footer_key'
),
null
);
return
DataReturn
(
'编辑成功'
);
}
return
DataReturn
(
'编辑失败或数据未改变'
,
-
100
);
}
}
?>
\ No newline at end of file
application/service/OrderService.php
浏览文件 @
d535e775
...
...
@@ -447,6 +447,10 @@ class OrderService
{
$where
[]
=
[
'payment_id'
,
'='
,
intval
(
$params
[
'payment_id'
])];
}
if
(
isset
(
$params
[
'express_id'
])
&&
$params
[
'express_id'
]
>
-
1
)
{
$where
[]
=
[
'express_id'
,
'='
,
intval
(
$params
[
'express_id'
])];
}
if
(
isset
(
$params
[
'pay_status'
])
&&
$params
[
'pay_status'
]
>
-
1
)
{
$where
[]
=
[
'pay_status'
,
'='
,
intval
(
$params
[
'pay_status'
])];
...
...
@@ -552,7 +556,7 @@ class OrderService
$limit_start
=
max
(
0
,
intval
(
$params
[
'limit_start'
]));
$limit_number
=
max
(
1
,
intval
(
$params
[
'limit_number'
]));
$order_by
=
empty
(
$params
[
'order_by'
])
?
'id desc'
:
I
(
'order_by'
,
''
,
''
,
$params
)
;
$order_by
=
empty
(
$params
[
'order_by'
])
?
'id desc'
:
$params
[
'order_by'
]
;
$is_items
=
isset
(
$params
[
'is_items'
])
?
intval
(
$params
[
'is_items'
])
:
1
;
// 获取订单
...
...
@@ -819,7 +823,7 @@ class OrderService
$upd_data
=
[
'status'
=>
3
,
'express_id'
=>
intval
(
$params
[
'express_id'
]),
'express_number'
=>
I
(
'express_number'
,
''
,
''
,
$params
)
,
'express_number'
=>
isset
(
$params
[
'express_number'
])
?
$params
[
'express_number'
]
:
''
,
'delivery_time'
=>
time
(),
'upd_time'
=>
time
(),
];
...
...
application/service/UserService.php
浏览文件 @
d535e775
...
...
@@ -1083,7 +1083,7 @@ class UserService
$email_param
=
array
(
'email'
=>
$params
[
'accounts'
],
'content'
=>
MyC
(
'home_email_user_reg'
),
'title'
=>
MyC
(
'home_site_name'
)
.
' - 用户注册'
'title'
=>
MyC
(
'home_site_name'
)
.
' - 用户注册'
,
'code'
=>
$code
,
);
$status
=
$obj
->
SendHtml
(
$email_param
);
...
...
application/index/view/default
/preview.jpg
→
public/static/index/default/images
/preview.jpg
浏览文件 @
d535e775
文件已移动
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录