作者 xiaohu

rm rf ignore

正在显示 57 个修改的文件 包含 4721 行增加2 行删除

要显示太多修改。

为保证性能只显示 57 of 57+ 个文件。

... ... @@ -6325,3 +6325,41 @@
'auto_start' => true,
)
[ info ] [ LOG ] INIT File
---------------------------------------------------------------
[ 2018-08-24T16:11:01+08:00 ] 14.17.3.64 GET /user/login/index.html
[ info ] wx.youlj.cn/user/login/index.html [运行时间:0.369185s][吞吐率:2.71req/s] [内存消耗:2,185.85kb] [文件加载:55]
[ info ] [ CACHE ] INIT File
[ info ] [ BEHAVIOR ] Run cmf\behavior\InitHookBehavior @app_init [ RunTime:0.001503s ]
[ info ] [ LANG ] /www/wwwroot/dm161xue.qnbug.cn/simplewind/thinkphp/lang/zh-cn.php
[ info ] [ ROUTE ] array (
'type' => 'module',
'module' =>
array (
0 => 'user',
1 => 'login',
2 => 'index',
),
)
[ info ] [ HEADER ] array (
'connection' => 'Close',
'user-agent' => 'Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_4 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G35 QQ/6.5.3.410 V1_IPH_SQ_6.5.3_1_APP_A Pixel/750 Core/UIWebView NetType/2G Mem/117',
'accept-language' => 'zh-cn',
'accept' => '*/*',
'accept-encoding' => 'deflate, gzip',
'host' => 'wx.youlj.cn',
)
[ info ] [ PARAM ] array (
)
[ info ] [ LANG ] /www/wwwroot/dm161xue.qnbug.cn/public/../simplewind/cmf/lang/zh-cn.php
[ info ] [ LANG ] /www/wwwroot/dm161xue.qnbug.cn/public/../app/admin/lang/zh-cn/common.php
[ info ] [ LANG ] /www/wwwroot/dm161xue.qnbug.cn/public/../app/portal/lang/zh-cn/common.php
[ info ] [ BEHAVIOR ] Run cmf\behavior\LangBehavior @app_begin [ RunTime:0.000345s ]
[ info ] [ LANG ] /www/wwwroot/dm161xue.qnbug.cn/public/../app/user/lang/zh-cn.php
[ info ] [ SESSION ] INIT array (
'id' => '',
'var_session_id' => '',
'prefix' => 'think',
'type' => '',
'auto_start' => true,
)
[ info ] [ LOG ] INIT File
... ...
{"expire_time":1535098257,"access_token":"13_2_GmA0S3toG8YfnrZWa1sa5slrEGqbQ10d0YG7C1cmS_Bd4PJScMQRdmb1ifs5REsUN1pgj8So1Mj4Y6PLwdpRHaGceDq6FZuyG3X8_14LzERc61BikLemp5H8547NXx1TnzRivmVrwxqBkKLGGbAEARMM"}
\ No newline at end of file
{"expire_time":1535105260,"access_token":"13_KYPPX7-uAb8I-G74iy5FohnWyI-bXSj4ZqAk4_gOsZGuozoYTneKP5glgYf-U-tYByzuNrwDD_oTj6WxPL4s07t7iccbgSt6ZXBIQgXkwQGkyy1Nm-LD8Z7T38cU78uoEYKdo1WDRe9VSClAHBJbAIACWE"}
\ No newline at end of file
... ...
{"expire_time":1535098257,"jsapi_ticket":"HoagFKDcsGMVCIY2vOjf9pyFzo-WRmf981mGkqnXm7pVucI-7EDYNzPE05o8mEI0txK6IkIAJNCNc_mlRqc0pg"}
\ No newline at end of file
{"expire_time":1535105261,"jsapi_ticket":"HoagFKDcsGMVCIY2vOjf9pyFzo-WRmf981mGkqnXm7ryWsCkmrfbvxL2Dzi-_tq_2PZs5Mq4p8Ld2YpJgldMfQ"}
\ No newline at end of file
... ...
<include file="public@header"/>
<link rel="stylesheet" href="/static/scr/zoomify/bootstrap-grid.min.css">
<link rel="stylesheet" href="/static/scr/zoomify/dist/zoomify.css">
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="javascript:;">所有文章</a></li>
</ul>
<form class="well form-inline margin-top-20" method="post" action="{:url('listing')}">
教练姓名:
<input type="text" class="form-control" name="name" style="width: 200px;"
value="{$keyword|default=''}" placeholder="请输入姓名...">
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="{:url('listing')}">清空</a>
</form>
<form class="js-ajax-form" action="" method="post">
<!--<div class="table-actions">-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/top',array('yes'=>1))}" data-subcheck="true">置顶-->
<!--</button>-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/top',array('no'=>1))}" data-subcheck="true">取消置顶-->
<!--</button>-->
<!--<button class="btn btn-danger btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/delete')}" data-subcheck="true" data-msg="您确定删除吗?">-->
<!--{:lang('DELETE')}-->
<!--</button>-->
<!--</div>-->
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="50">ID</th>
<th width="50">教练</th>
<th width="50">学员</th>
<th width="50">预约时间</th>
<th width="50">预约时段</th>
<th width="50">预定时间</th>
<th width="50">状态</th>
<!--<th width="120">操作</th>-->
</tr>
</thead>
<foreach name="list" item="vo">
<tr>
<td><b>{$vo.id}</b></td>
<td>{$vo.user_nickname}</td>
<td>{$vo.uid|id_name}</td>
<td>{$vo.yuyue_day1}</td>
<td>{$vo.yuyue_hour1}</td>
<td>
<notempty name="vo.create_time">
{:date('Y-m-d H:i',$vo['create_time'])}
</notempty>
</td>
<td>{$vo.status|yuyue_status_name}</td>
<!--<td>-->
<!--<a href="{:url('edit',array('id'=>$vo['id']))}">查看/编辑</a>-->
<!--<a href="{:url('delete',array('id'=>$vo['id']))}" class="js-ajax-delete">{:lang('DELETE')}</a>-->
<!--</td>-->
</tr>
</foreach>
</table>
<ul class="pagination">{$page|default=''}</ul>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
function reloadPage(win) {
win.location.reload();
}
$(function () {
setCookie("refersh_time", 0);
Wind.use('ajaxForm', 'artDialog', 'iframeTools', function () {
//批量复制
$('.js-articles-copy').click(function (e) {
var ids = [];
$("input[name='ids[]']").each(function () {
if ($(this).is(':checked')) {
ids.push($(this).val());
}
});
if (ids.length == 0) {
art.dialog.through({
id: 'error',
icon: 'error',
content: '您没有勾选信息,无法进行操作!',
cancelVal: '关闭',
cancel: true
});
return false;
}
ids = ids.join(',');
art.dialog.open("__ROOT__/index.php?g=portal&m=AdminArticle&a=copy&ids=" + ids, {
title: "批量复制",
width: "300px"
});
});
//批量移动
$('.js-articles-move').click(function (e) {
var ids = [];
$("input[name='ids[]']").each(function () {
if ($(this).is(':checked')) {
ids.push($(this).val());
}
});
if (ids.length == 0) {
art.dialog.through({
id: 'error',
icon: 'error',
content: '您没有勾选信息,无法进行操作!',
cancelVal: '关闭',
cancel: true
});
return false;
}
ids = ids.join(',');
art.dialog.open("__ROOT__/index.php?g=portal&m=AdminArticle&a=move&old_term_id={$term.term_id|default=0}&ids=" + ids, {
title: "批量移动",
width: "300px"
});
});
});
});
</script>
<script src="http://www.jq22.com/jquery/1.11.1/jquery.min.js"></script>
<script src="/static/src/zoomify/zoomify.js"></script>
<script type="text/javascript">
$('.example img').zoomify();
</script>
</body>
</html>
\ No newline at end of file
... ...
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<!-- Set render engine for 360 browser -->
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- HTML5 shim for IE8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->
<link href="__TMPL__/public/assets/themes/{:cmf_get_admin_style()}/bootstrap.min.css" rel="stylesheet">
<link href="__TMPL__/public/assets/simpleboot3/css/simplebootadmin.css" rel="stylesheet">
<link href="__STATIC__/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<!--[if lt IE 9]>
<script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
form .input-order {
margin-bottom: 0px;
padding: 0 2px;
width: 42px;
font-size: 12px;
}
form .input-order:focus {
outline: none;
}
.table-actions {
margin-top: 5px;
margin-bottom: 5px;
padding: 0px;
}
.table-list {
margin-bottom: 0px;
}
.form-required {
color: red;
}
</style>
<script type="text/javascript">
//全局变量
var GV = {
ROOT: "__ROOT__/",
WEB_ROOT: "__WEB_ROOT__/",
JS_ROOT: "static/js/",
APP: '{$Request.module}'/*当前应用名*/
};
</script>
<script src="__TMPL__/public/assets/js/jquery-1.10.2.min.js"></script>
<script src="__STATIC__/js/wind.js"></script>
<script src="__TMPL__/public/assets/js/bootstrap.min.js"></script>
<script>
Wind.css('artDialog');
Wind.css('layer');
// $(function () {
// $("[data-toggle='tooltip']").tooltip({
// container:'body',
// html:true,
// });
// $("li.dropdown").hover(function () {
// $(this).addClass("open");
// }, function () {
// $(this).removeClass("open");
// });
// });
</script>
<if condition="APP_DEBUG">
<style>
#think_page_trace_open {
z-index: 9999;
}
</style>
</if>
<link rel="stylesheet" href="/static/scr/zoomify/bootstrap-grid.min.css">
<!--<link rel="stylesheet" href="/static/scr/zoomify/dist/zoomify.css">-->
<style>
.slecet-box {
width: 50%;
}
.slecet-box select {
width: 30%;
}
.time-box {
width: 80%;
margin: 10px auto 0 auto;
overflow: hidden;
}
.time-box span {
display: inline-block;
width: 24%;
height: 44px;
line-height: 44px;
text-align: center;
border: 1px solid red;
border-radius: 5px;
color: red;
float: left;
margin-right: 1.2%;
margin-top: 10px;
}
.time-box span:nth-child(4n) {
margin-right: 0;
}
.time-box .acv {
color: #6589de;
border: 1px solid #6589de;
}
.save {
display: block;
width: 300px;
text-align: center;
height: 50px;
line-height: 50px;
color: #fff;
background-color: #6589de;
font-size: 18px;
margin: 50px auto 0 auto;
border-radius: 5px;
}
.save:hover {
color: #fff;
background-color: #3a4d7b;
text-decoration: none;
}
.time-box .bg-colo {
background-color: #6589de;
color: #fff;
}
</style>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="javascript:;">预约时间设置</a></li>
</ul>
<form class="well form-inline margin-top-20" method="post" action="{:url('tag')}">
教练列表:
<select class="form-control" id="teacher" name="type" style="width: 140px;">
<noempty name="pcdata">
<option value='{$pcdata.id}' checked>{$pcdata.user_nickname}</option>
</noempty>
<option value='-1'>全部</option>
<foreach name="cdata" id="vo">
<option value='{$vo.id}'>{$vo.user_nickname}</option>
</foreach>
</select> &nbsp;&nbsp;
时间
<select class="form-control" id="time" style="width: 140px;">
<option value="-1">请选择</option>
<foreach name="day" id="vo">
<option value='{$vo}'>{$vo}</option>
</foreach>
</select>
</form>
请选择时间段,红色为不可预约时间
<div class="time-box">
<span data-id="0">06:00-07:00</span>
<span data-id="0">07:00-08:00</span>
<span data-id="1">08:00-09:00</span>
<span data-id="2">09:00-10:00</span>
<span data-id="3">10:00-11:00</span>
<span data-id="4">11:00-12:00</span>
<span data-id="5">12:00-13:00</span>
<span data-id="6">13:00-14:00</span>
<span data-id="7">14:00-15:00</span>
<span data-id="8">15:00-16:00</span>
<span data-id="9">16:00-17:00</span>
<span data-id="10">17:00-18:00</span>
</div>
<a class="save">保存设置</a>
</div>
<script src="/static/layer/layer.js"></script>
<script src="__STATIC__/js/admin.js"></script>
<script>
function reloadPage(win) {
win.location.reload();
}
$(function () {
var obj = {
teach_id: $('#teacher').val(),
day: $('#time').val(),
};
function find_seting(obj) {
if (obj) {
$.ajax({
url: "{:url('find_seting')}",
data: {
uid: obj.teach_id,
day: obj.day.replace(/(\d{4})(\d{2})(\d{2})/, "$1-$2-$3")
},
success: function (res) {
console.log(res);
if (res.code == '1') {
var time_list = JSON.parse(res.data);
for (var i = 0; i < time_list.length; i++) {
if (time_list[i] == 'yes') {
$('.time-box span')[i].setAttribute('class', 'acv');
} else {
$('.time-box span')[i].setAttribute('class', '');
}
}
}
}
});
} else {
var list = $('.time-box span');
for (var i = 0; i < list.length; i++) {
list[i].setAttribute('class', '');
}
}
}
find_seting();
$('#teacher').change(function () {
obj.teach_id = $(this).val();
if (obj.day != -1) {
find_seting(obj);
} else {
layer.msg('请选择时间');
}
});
$('#time').change(function () {
obj.day = $(this).val().split('-').join('');
if (obj.teach_id != -1) {
find_seting(obj);
} else {
layer.msg('请选择教练');
}
});
$('.time-box').on('click', '.acv', function () {
for (var i = 0; i < $(".time-box .acv").length; i++) {
$(".time-box .acv")[i].setAttribute("class", "acv");
}
$(this).attr("class", "acv bg-colo");
// if ($(this).attr('class') == 'acv bg-colo') {
// $(this).attr('class', 'acv');
// } else {
// $(this).attr('class', 'acv bg-colo');
// }
});
$('.save').click(function () {
var list = $('.bg-colo');
var put_list = [];
for (var i = 0; i < list.length; i++) {
put_list.push(list[i]);
}
if (put_list.length != 1) {
alert('时间段不能多选');
} else if (put_list.length == 0) {
alert('请选择时间段');
} else {
var teacher_id = $('#teacher').val();
var time_id = $('#time').val().split('-').join('');
$.ajax({
url: "{:url('seting_do')}",
data: {
teach_id: teacher_id,
day: time_id.replace(/(\d{4})(\d{2})(\d{2})/, "$1-$2-$3"),
begin: parseInt(put_list[0].innerHTML.split("-")[0]),
end: parseInt(put_list[0].innerHTML.split("-")[1])
},
success: function (res) {
console.log(res);
if (res.code == "1") {
layer.msg(res.msg);
window.location.reload();
}
}
});
}
});
setCookie("refersh_time", 0);
Wind.use('ajaxForm', 'artDialog', 'iframeTools', function () {
//批量复制
$('.js-articles-copy').click(function (e) {
var ids = [];
$("input[name='ids[]']").each(function () {
if ($(this).is(':checked')) {
ids.push($(this).val());
}
});
if (ids.length == 0) {
art.dialog.through({
id: 'error',
icon: 'error',
content: '您没有勾选信息,无法进行操作!',
cancelVal: '关闭',
cancel: true
});
return false;
}
ids = ids.join(',');
art.dialog.open("__ROOT__/index.php?g=portal&m=AdminArticle&a=copy&ids=" + ids, {
title: "批量复制",
width: "300px"
});
});
$('.time-box span').click(function () {
if ($(this).attr("class") == "") {
var teacher_id = $('#teacher').val();
var time_id = $('#time').val().split('-').join('');
if (teacher_id == "") {
layer.msg("请选择教练")
} else if (time_id == 1) {
layer.msg("请选择日期")
} else {
var _this = $(this);
$.ajax({
url: "{:url('seting_do')}",
data: {
teach_id: teacher_id,
day: time_id.replace(/(\d{4})(\d{2})(\d{2})/, "$1-$2-$3"),
begin: parseInt($(this)[0].innerHTML.split("-")[0]),
end: parseInt($(this)[0].innerHTML.split("-")[1])
},
success: function (res) {
if (res.code == 1) {
console.log($(this));
_this.attr("class", "acv");
layer.msg(res.msg);
}
}
});
}
}
});
//批量移动
// $('.js-articles-move').click(function (e) {
// var ids = [];
// $("input[name='ids[]']").each(function () {
// if ($(this).is(':checked')) {
// ids.push($(this).val());
// }
// });
//
// if (ids.length == 0) {
// art.dialog.through({
// id: 'error',
// icon: 'error',
// content: '您没有勾选信息,无法进行操作!',
// cancelVal: '关闭',
// cancel: true
// });
// return false;
// }
//
// ids = ids.join(',');
// art.dialog.open("__ROOT__/index.php?g=portal&m=AdminArticle&a=move&old_term_id={$term.term_id|default=0}&ids=" + ids, {
// title: "批量移动",
// width: "300px"
// });
// });
});
});
</script>
<script src="http://www.jq22.com/jquery/1.11.1/jquery.min.js"></script>
<script src="/static/src/zoomify/zoomify.js"></script>
<script type="text/javascript">
// $('.example img').zoomify();
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
<style type="text/css">
.pagination{display:inline-block;padding-left:0;border-radius:4px;margin-left: 30%}
.pagination li{display:inline}
.pagination li a,.pagination li span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;color:#393D49;background:#fff;margin:0 0 0 8px;border:1px solid #eee}
.pagination li a:hover{color:#fff;background:#1E9FFF}
.pagination .active span{background:#1E9FFF;color:#fff}
</style>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('index')}">列表管理</a></li>
<!--<li><a href="{:url('add')}">添加</a></li>-->
</ul>
<form class="well form-inline margin-top-20" method="post" action="{:url('trainer')}">
学员手机号:
<input type="text" class="form-control" name="mobile" style="width: 200px;"
value="{$keyword|default=''}" placeholder="请输入手机号...">
学员姓名:
<input type="text" class="form-control" name="name" style="width: 200px;"
value="{$keyword|default=''}" placeholder="请输入姓名...">
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="{:url('index')}">清空</a>
</form>
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="50">ID</th>
<th>预约ID</th>
<th>学员名</th>
<th>评论的教练</th>
<th>留言内容</th>
<th>修改时间</th>
<th width="180">操作</th>
</tr>
</thead>
<tbody>
<foreach name="list" id="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.yuyue_id}</td>
<td>{$vo.uid|id_name}</td>
<td>{$vo.teach_id|id_name}</td>
<td>{$vo.comment}</td>
<td>{$vo.create_time|date="Y-m-d H:i:s",###}</td>
<td>
<!--<a href='{:url("edit", ["id" => "$vo[id]"]) }' >编辑</a>-->
<a class="js-ajax-delete" href='{:url("del_student", ["id" => "$vo[id]"]) }' >删除</a>
</td>
</tr>
</foreach>
</tbody>
</table>
</div>
<div class="pagination">
{$page}
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('tag')}">列表管理</a></li>
<li><a href="{:url('tag_add')}">添加</a></li>
</ul>
<form class="well form-inline margin-top-20" method="post" action="{:url('tag')}">
类别:
<select class="form-control" name="type" style="width: 140px;">
<option value=''>全部</option>
<option value='1'>好评</option>
<option value='2'>差评</option>
</select> &nbsp;&nbsp;
关键字:
<input type="text" class="form-control" name="keyword" style="width: 200px;"
value="{$keyword|default=''}" placeholder="请输入关键字...">
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="{:url('tag')}">清空</a>
</form>
<form method="post" class="js-ajax-form" action="">
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="50">ID</th>
<th>类别</th>
<th>名称</th>
<th>修改时间</th>
<th width="180">操作</th>
</tr>
</thead>
<tbody>
<foreach name="list" id="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.type|comment_type_name}</td>
<td>{$vo.name}</td>
<td>{$vo.create_time|date="Y-m-d H:i:s",###}</td>
<td>
<a href='{:url("tag_edit", ["id" => "$vo[id]"]) }' >编辑</a>
<a class="js-ajax-delete" href='{:url("tag_delete", ["id" => "$vo[id]"]) }' >删除</a>
</td>
</tr>
</foreach>
</tbody>
</table>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('tag')}">列表管理</a></li>
<li class="active"><a href="{:url('tag_add')}">添加</a></li>
</ul>
<div class="row margin-top-20">
<div class="col-md-6">
<form class="js-ajax-form" action="{:url('tag_add_do')}" method="post">
<div class="tab-content">
<div class="tab-pane active" id="A">
<div class="form-group">
<label for="input-name"><span class="form-required">*</span>类型</label>
<div>
<select name="type" class="form-control">
<option value="1">好评</option>
<option value="2">差评</option>
</select>
</div>
</div>
<div class="form-group">
<label for="input-name"><span class="form-required">*</span>名称</label>
<div>
<input type="text" class="form-control" id="input-name" name="name">
</div>
</div>
</div>
</div>
<div class="form-group">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('ADD')}</button>
<a class="btn btn-default" href="{:url('tag')}">{:lang('BACK')}</a>
</div>
</form>
</div>
</div>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('tag')}">列表管理</a></li>
<li><a href="{:url('tag_add')}">添加</a></li>
<li class="active"><a>编辑</a></li>
</ul>
<div class="row margin-top-20">
<div class="col-md-6">
<form class="js-ajax-form" action="{:url('tag_edit_do')}" method="post">
<div class="tab-content">
<div class="tab-pane active" id="A">
<div class="form-group">
<label for="input-name"><span class="form-required">*</span>类型</label>
<div>
<select name="type" class="form-control">
<option value="{$info.type}">{$info.type|comment_type_name}</option>
<option value="1">好评</option>
<option value="2">差评</option>
</select>
</div>
</div>
<div class="form-group">
<label for="input-name"><span class="form-required">*</span>名称</label>
<div>
<input type="text" class="form-control" id="input-name" name="name" value="{$info.name}">
</div>
</div>
</div>
</div>
<div class="form-group">
<input type="hidden" name="id" value="{$info.id}">
<button type="submit" class="btn btn-primary js-ajax-submit" data-refresh="0">{:lang('SAVE')}
</button>
<a class="btn btn-default" href="{:url('tag')}">{:lang('BACK')}</a>
</div>
</form>
</div>
</div>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
<script>
$('#input-list_tpl').val("{$list_tpl|default=''}");
$('#input-one_tpl').val("{$one_tpl|default=''}");
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
<style type="text/css">
.pagination{display:inline-block;padding-left:0;border-radius:4px;margin-left: 30%}
.pagination li{display:inline}
.pagination li a,.pagination li span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;color:#393D49;background:#fff;margin:0 0 0 8px;border:1px solid #eee}
.pagination li a:hover{color:#fff;background:#1E9FFF}
.pagination .active span{background:#1E9FFF;color:#fff}
</style>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('index')}">列表管理</a></li>
<li><a href="{:url('add')}">添加</a></li>
</ul>
<form class="well form-inline margin-top-20" method="post" action="{:url('trainer')}">
教练手机号:
<input type="text" class="form-control" name="mobile" style="width: 200px;"
value="{$keyword|default=''}" placeholder="请输入手机号...">
教练姓名:
<input type="text" class="form-control" name="name" style="width: 200px;"
value="{$keyword|default=''}" placeholder="请输入姓名...">
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="{:url('index')}">清空</a>
</form>
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="50">ID</th>
<th>预约ID</th>
<th>教练名</th>
<th>评论的学员</th>
<th>类型</th>
<th>留言内容</th>
<th>修改时间</th>
<th width="180">操作</th>
</tr>
</thead>
<tbody>
<foreach name="list" id="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.yuyue_id}</td>
<td>{$vo.teach_id|id_name}</td>
<td>{$vo.uid|id_name}</td>
<td>{$vo.type|comment_type}</td>
<td>{$vo.comment}</td>
<td>{$vo.create_time|date="Y-m-d H:i:s",###}</td>
<td>
<!--<a href='{:url("edit", ["id" => "$vo[id]"]) }' >编辑</a>-->
<a class="js-ajax-delete" href='{:url("del_trainer", ["id" => "$vo[id]"]) }' >删除</a>
</td>
</tr>
</foreach>
</tbody>
</table>
</div>
<div class="pagination">
{$page}
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
<style type="text/css">
body, html, #allmap {
width: 100%;
height: 100%;
overflow: hidden;
margin: 0;
}
#suggestId {
position: absolute;
z-index: 9999;
right: 20px;
top: 20px;
line-height: 32px;
padding: 0px 10px;
width: 300px;
border: 1px solid #e4e6e7;
}
#suggestId:focus {
outline: none;
}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=KxkuAcGBup6sD1XxaDW85KBG"></script>
<title>点击地图获取当前经纬度</title>
</head>
<body>
<input id="lng_input" type="hidden" value="{$lng}"/>
<input id="lat_input" type="hidden" value="{$lat}"/>
<input id="address_input" type="hidden"/>
<input id="city_input" type="hidden"/>
<input id="province_input" type="hidden"/>
<input id="district_input" type="hidden"/>
<input id="suggestId" type="text" placeholder="请输入地址"/>
<div id="allmap"></div>
<script type="text/javascript">
// 百度地图API功能
var center = new BMap.Point({$lng}, {$lat});
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.404, 39.915), 8);
map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用
map.enableContinuousZoom();
var map_ac = new BMap.Autocomplete( //建立一个自动完成的对象
{
"input": "suggestId",
"location": map
});
var marker = new BMap.Marker(center); // 创建标注
map.addOverlay(marker); // 将标注添加到地图中
marker.enableDragging(); //可拖拽
//marker.setAnimation(BMAP_ANIMATION_BOUNCE);
map_ac.addEventListener("onconfirm", function (e) { //鼠标点击下拉列表后的事件
var _value = e.item.value;
function myFun() {
var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果
map.centerAndZoom(pp, 8);
marker.setPosition(pp);
mgetLocation(pp);
}
myValue = _value.province + _value.city + _value.district + _value.street + _value.business;
var local = new BMap.LocalSearch(map, { //智能搜索
onSearchComplete: myFun
});
local.search(myValue);
});
var opts = {
width: 200, // 信息窗口宽度
height: 30, // 信息窗口高度
title: "", // 信息窗口标题
enableMessage: false,//设置允许信息窗发送短息
}
var infoWindow = new BMap.InfoWindow("拖动我设置你的位置", opts); // 创建信息窗口对象
marker.openInfoWindow(infoWindow);
var gc = new BMap.Geocoder();
function msetpoint(e) {
document.getElementById("lng_input").value = e.point.lng;
document.getElementById("lat_input").value = e.point.lat;
marker.setPosition(new BMap.Point(e.point.lng, e.point.lat));
mgetLocation(e.point);
}
function mgetLocation(point) {
document.getElementById("lng_input").value = point.lng;
document.getElementById("lat_input").value = point.lat;
gc.getLocation(point, function (rs) {
var addComp = rs.addressComponents;
marker.openInfoWindow(new BMap.InfoWindow(rs.address, opts));
document.getElementById("address_input").value = rs.address;
document.getElementById("city_input").value = addComp.city;
document.getElementById("province_input").value = addComp.province;
document.getElementById("district_input").value = addComp.district;
//alert(addComp.province + ", " + addComp.city + ", " + addComp.district + ", " + addComp.street + ", " + addComp.streetNumber);
});
}
marker.addEventListener("dragend", msetpoint)
map.addEventListener("click", msetpoint);
function tilesloaded() {
map.setCenter(center); //设置地图中心点。center除了可以为坐标点以外,还支持城市名
mgetLocation(center);
// map.setZoom(8); //将视图切换到指定的缩放等级,中心点坐标不变
map.removeEventListener("tilesloaded", tilesloaded);
}
map.addEventListener("tilesloaded", tilesloaded);
function confirm() {
var data = {};
data.lng = document.getElementById("lng_input").value;
data.lat = document.getElementById("lat_input").value;
data.address = document.getElementById("address_input").value;
data.city = document.getElementById("city_input").value;
data.province = document.getElementById("province_input").value;
data.district = document.getElementById("district_input").value;
return data;
}
</script>
</body>
</html>
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('data_list')}">列表管理</a></li>
<!--<li><a href="{:url('data_edit')}">添加 / 编辑</a></li>-->
</ul>
<form action="{:url('data_edit')}" method="post" class="form-horizontal js-ajax-form margin-top-20">
<div class="row">
<div class="col-md-9">
<table class="table table-bordered">
<tr>
<th>驾考类型<span class="form-required">*</span></th>
<td>
<input type="hidden" name="id" value="{$info.id|default=''}">
<input class="form-control" type="text" name="name" id="post_title" value="{$info.name|default=''}"
placeholder="请输入标题">
</td>
</tr>
<tr>
<th>简介</th>
<td>
<textarea class="form-control" name="des" style="height: 50px;"
placeholder="请填写简介">{$info.des|default=''}</textarea>
</td>
</tr>
<tr>
<th>价格</th>
<td>
<textarea class="form-control" name="price" style="height: 50px;"
placeholder="请填写价格">{$info.price|default=''}</textarea>
</td>
</tr>
<!--<tr>-->
<!--<th>图片</th>-->
<!--<td>-->
<!--<div class="col-md-6 col-sm-10">-->
<!--<a href="javascript:uploadOneImage('图片上传','#photo-1');">点击上传图片</a>-->
<!--<br>-->
<!--<input id="photo-1" type="hidden" name="pic" >-->
<!--<input id="photo-1-name" type="hidden" name="pic" title="图片名称">-->
<!--<img id="photo-1-preview" width="200px">-->
<!--</div>-->
<!--</td>-->
<!--</tr>-->
<tr>
<th>驾考合同</th>
<td>
<script type="text/plain" id="content" name="hetong">{$info.hetong|default=''|htmlspecialchars_decode}</script>
</td>
</tr>
</table>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">提交</button>
<a class="btn btn-default" href="{:url('data_list')}">返回</a>
</div>
</div>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
<script type="text/javascript">
//编辑器路径定义
var editorURL = GV.WEB_ROOT;
</script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript">
$(function () {
editorcontent = new baidu.editor.ui.Editor();
editorcontent.render('content');
try {
editorcontent.sync();
} catch (err) {
}
$('.btn-cancel-thumbnail').click(function () {
$('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
$('#thumbnail').val('');
});
});
function doSelectCategory() {
var selectedCategoriesId = $('#js-categories-id-input').val();
openIframeLayer("{:url('AdminCategory/select')}?ids=" + selectedCategoriesId, '请选择分类', {
area: ['700px', '400px'],
btn: ['确定', '取消'],
yes: function (index, layero) {
//do something
var iframeWin = window[layero.find('iframe')[0]['name']];
var selectedCategories = iframeWin.confirm();
if (selectedCategories.selectedCategoriesId.length == 0) {
layer.msg('请选择分类');
return;
}
$('#js-categories-id-input').val(selectedCategories.selectedCategoriesId.join(','));
$('#js-categories-name-input').val(selectedCategories.selectedCategoriesName.join(' '));
//console.log(layer.getFrameIndex(index));
layer.close(index); //如果设定了yes回调,需进行手工关闭
}
});
}
</script>
<script>
$('#input-list_tpl').val("{$list_tpl|default=''}");
$('#input-one_tpl').val("{$one_tpl|default=''}");
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('data_list')}">列表管理</a></li>
<li><a href="{:url('')}">添加 </a></li>
</ul>
<form method="post" class="js-ajax-form" action="">
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="50">ID</th>
<th>名称</th>
<th>价格</th>
<th>简介</th>
<th>修改时间</th>
<th width="180">操作</th>
</tr>
</thead>
<tbody>
<foreach name="list" id="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.name}</td>
<td>{$vo.price}</td>
<td>{$vo.des}</td>
<td>{$vo.create_time|date="Y-m-d H:i:s",###}</td>
<td>
<a href='{:url("data_edit", ["id" => "$vo[id]"]) }' >查看 / 编辑</a>
<if condition="$vo['status'] eq 1">
<a href="{:url('data_status',array('id'=>$vo['id'],'type'=>'ban'))}" class="js-ajax-dialog-btn" data-msg="是否要隐藏">隐藏</a>
<else />
<a href="{:url('data_status',array('id'=>$vo['id'],'type'=>'cancelban'))}" class="js-ajax-dialog-btn" data-msg="是否要显示">显示</a>
</if>
<a href='{:url("data_status", ["id" => "$vo[id]","type"=>"del"]) }' class="js-ajax-dialog-btn" data-msg="是否要删除">删除</a>
</td>
</tr>
</foreach>
</tbody>
</table>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a>所有钩子</a></li>
<li><a href="{:url('Hook/sync')}">同步钩子</a></li>
</ul>
<form action="" method="post" class="margin-top-20">
<php>
$types = ["1"=>'系统钩子','2'=>'应用钩子','3'=>'模板钩子','4'=>'后台模板钩子'];
</php>
<table class="table table-hover table-bordered">
<thead>
<tr>
<th width="40">ID</th>
<th>名称</th>
<th>类型</th>
<th>描述</th>
<th width="150">{:lang('ACTIONS')}</th>
</tr>
</thead>
<tbody>
<foreach name="hooks" item="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.name}:{$vo.hook}</td>
<td>{$types[$vo.type]}</td>
<td>{$vo.description}</td>
<td>
<a href="javascript:parent.openIframeLayer('{:url('Hook/plugins',['hook'=>$vo['hook']])}','钩子{$vo.name}插件管理',{});">管理插件</a>
</td>
</tr>
</foreach>
</tbody>
</table>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<form action="{:url('hook/pluginListOrder')}" method="post" class="js-ajax-form">
<php>
$types = ["1"=>'系统钩子','2'=>'应用钩子','3'=>'模板钩子','4'=>'后台模板钩子'];
$status=array("1"=>'开启',"0"=>'禁用',"3"=>'未安装');
</php>
<div class="table-actions">
<button type="submit" class="btn btn-primary btn-sm js-ajax-submit">{:lang('SORT')}</button>
</div>
<table class="table table-hover table-bordered">
<thead>
<tr>
<th width="50">排序</th>
<th>插件名称</th>
<th>插件标识</th>
<th>钩子</th>
<th>描述</th>
<th>作者</th>
<th width="60">状态</th>
<th width="150">{:lang('ACTIONS')}</th>
</tr>
</thead>
<tbody>
<foreach name="plugins" item="vo">
<tr>
<td><input name="list_orders[{$vo.hook_plugin_id}]" type="text" size="3" value="{$vo.list_order}"
class="input input-order"></td>
<td>{$vo.title}</td>
<td>{$vo.name}</td>
<td>{$vo.hooks|default=''}</td>
<td>{$vo.description}</td>
<td>{$vo.author}</td>
<td>{$status[$vo['hook_plugin_status']]}</td>
<td>
<if condition="$vo['status']==3">
<a href="{:url('plugin/install',array('name'=>$vo['name']))}" class="js-ajax-dialog-btn"
data-msg="确定安装该插件吗?">安装</a>
<else/>
<php>$config=json_decode($vo['config'],true);</php>
<if condition="!empty($config)">
<a href="{:url('plugin/setting',array('id'=>$vo['id']))}">设置</a> |
<else/>
<a href="javascript:;" style="color: #ccc;">设置</a> |
</if>
<if condition="!empty($vo['has_admin'])">
<a href="javascript:parent.openapp('{:cmf_plugin_url($vo['name'].'://AdminIndex/index')}','plugin_{$vo.name}','{$vo.title}')">管理</a>|
<else/>
<a href="javascript:;" style="color: #ccc;">管理</a>
</if>
</if>
</td>
</tr>
</foreach>
</tbody>
</table>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap">
<div class="row">
<div class="col-md-offset-3 col-md-6">
<div class="panel panel-default" style="margin-top: 10%">
<div class="panel-heading">
<h3 class="panel-title">同步钩子</h3>
</div>
<div class="panel-body">
<div style="line-height: 60px;">
钩子同步成功!
</div>
<div>
<a href="javascript:history.back(-1);" class="btn btn-primary pull-right">{:lang('CLOSE')}</a>
<div class="clearfix"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
var closeTimeout = setTimeout(function () {
history.back(-1);
}, 3000);
</script>
</body>
</html>
\ No newline at end of file
... ...
<!DOCTYPE html>
<html lang="zh_CN" style="overflow: hidden;">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<!-- Set render engine for 360 browser -->
<meta name="renderer" content="webkit">
<meta charset="utf-8">
<title>QnbugBMS {:lang('ADMIN_CENTER')}</title>
<meta name="description" content="This is page-header (.page-header &gt; h1)">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- HTML5 shim for IE8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->
<link href="__TMPL__/public/assets/themes/{:cmf_get_admin_style()}/bootstrap.min.css" rel="stylesheet">
<link href="__TMPL__/public/assets/simpleboot3/css/simplebootadmin.css" rel="stylesheet">
<link href="__STATIC__/font-awesome/css/font-awesome.min.css?page=index" rel="stylesheet" type="text/css">
<link rel="stylesheet" href="__TMPL__/public/assets/themes/{:cmf_get_admin_style()}/simplebootadminindex.min.css">
<!--[if lt IE 9]>
<script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<style>
/*-----------------导航hack--------------------*/
.nav-list > li.open {
position: relative;
}
.nav-list > li.open .back {
display: none;
}
.nav-list > li.open .normal {
display: inline-block !important;
}
.nav-list > li.open a {
padding-left: 7px;
}
.nav-list > li .submenu > li > a {
background: #fff;
}
.nav-list > li .submenu > li a > [class*="fa-"]:first-child {
left: 20px;
}
.nav-list > li ul.submenu ul.submenu > li a > [class*="fa-"]:first-child {
left: 30px;
}
/*----------------导航hack--------------------*/
</style>
<script>
//全局变量
var GV = {
HOST: "{$_SERVER['HTTP_HOST']}",
ROOT: "__ROOT__/",
WEB_ROOT: "__WEB_ROOT__/",
JS_ROOT: "static/js/"
};
</script>
<php>$submenus=$menus;</php>
<php>function getsubmenu($submenus){</php>
<notempty name="submenus">
<php>foreach($submenus as $menu){</php>
<li>
<php>
$menu_name=lang($menu['lang']);
$menu_name=$menu['lang']==$menu_name?$menu['name']:$menu_name;
</php>
<php>if(empty($menu['items'])){</php>
<a href="javascript:openapp('{$menu.url}','{$menu.id}','{$menu_name}',true);">
<i class="fa fa-{$menu.icon|default='desktop'}"></i>
<span class="menu-text"> {$menu_name} </span>
</a>
<php>}else{</php>
<a href="#" class="dropdown-toggle">
<i class="fa fa-{$menu.icon|default='desktop'} normal"></i>
<span class="menu-text normal"> {$menu_name} </span>
<b class="arrow fa fa-angle-right normal"></b>
<i class="fa fa-reply back"></i>
<span class="menu-text back">返回</span>
</a>
<ul class="submenu">
<php>getsubmenu1($menu['items'])</php>
</ul>
<php>}</php>
</li>
<php>}</php>
</notempty>
<php>}</php>
<php>function getsubmenu1($submenus){</php>
<php>foreach($submenus as $menu){</php>
<li>
<php>
$menu_name=lang($menu['lang']);
$menu_name=$menu['lang']==$menu_name?$menu['name']:$menu_name;
</php>
<php>if(empty($menu['items'])){</php>
<a href="javascript:openapp('{$menu.url}','{$menu.id}','{$menu_name}',true);">
<i class="fa fa-caret-right"></i>
<span class="menu-text">
{$menu_name}
</span>
</a>
<php>}else{</php>
<a href="#" class="dropdown-toggle">
<i class="fa fa-caret-right"></i>
<span class="menu-text">
{$menu_name}
</span>
<b class="arrow fa fa-angle-right"></b>
</a>
<ul class="submenu">
<php>getsubmenu2($menu['items'])</php>
</ul>
<php>}</php>
</li>
<php>}</php>
<php>}</php>
<php>function getsubmenu2($submenus){</php>
<php>foreach($submenus as $menu){</php>
<li>
<php>
$menu_name=lang($menu['lang']);
$menu_name=$menu['lang']==$menu_name?$menu['name']:$menu_name;
</php>
<a href="javascript:openapp('{$menu.url}','{$menu.id}','{$menu_name}',true);">
&nbsp;<i class="fa fa-angle-double-right"></i>
<span class="menu-text">
{$menu_name}
</span>
</a>
</li>
<php>}</php>
<php>}</php>
<if condition="APP_DEBUG">
<style>
#think_page_trace_open {
left: 0 !important;
right: initial !important;
}
</style>
</if>
</head>
<body style="min-width:900px;overflow: hidden;">
<div id="loading"><i class="loadingicon"></i><span>{:lang('LOADING')}</span></div>
<div id="right-tools-wrapper">
<!--<span id="right_tools_clearcache" title="清除缓存" onclick="javascript:openapp('{:url('admin/Setting/clearcache')}','right_tool_clearcache','清除缓存');"><i class="fa fa-trash-o right_tool_icon"></i></span>-->
<!--<span id="refresh-wrapper" title="{:lang('REFRESH_CURRENT_PAGE')}"><i-->
<!--class="fa fa-refresh right_tool_icon"></i></span>-->
</div>
<div class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<a href="{:url('admin/index/index')}" class="navbar-brand" style="min-width: 200px;text-align: center;">QnbugBMS</a>
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#navbar-main">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse" id="navbar-main">
<div class="pull-left" style="position: relative;">
<a id="task-pre" class="task-changebt"><i class="fa fa-chevron-left"></i></a>
<div id="task-content">
<ul class="nav navbar-nav cmf-component-tab" id="task-content-inner">
<li class="cmf-component-tabitem noclose" app-id="0" app-url="{:url('main/index')}"
app-name="首页">
<a class="cmf-tabs-item-text">{:lang('HOME')}</a>
</li>
</ul>
<div style="clear:both;"></div>
</div>
<a id="task-next" class="task-changebt"><i class="fa fa-chevron-right"></i></a>
</div>
<ul class="nav navbar-nav navbar-right simplewind-nav">
<li class="light-blue" style="border-left:none;display: none;" id="close-all-tabs-btn">
<a id="close-wrapper" href="javascript:void(0);" title="{:lang('CLOSE_TOP_MENU')}" style="color:#fff;font-size: 16px">
<i class="fa fa-times right_tool_icon"></i>
</a>
</li>
<li class="light-blue" style="border-left:none;">
<a id="refresh-wrapper" href="javacript:void(0);" title="{:lang('REFRESH_CURRENT_PAGE')}" style="color:#fff;font-size: 16px">
<i class="fa fa-refresh right_tool_icon"></i>
</a>
</li>
<li class="light-blue dropdown" style="border-left:none;">
<a data-toggle="dropdown" href="#" class="dropdown-toggle">
<if condition="isset($admin['avatar']) && $admin['avatar']">
<img class="nav-user-photo" width="30" height="30"
src="{:cmf_get_user_avatar_url($admin['avatar'])}" alt="{$admin.user_login}">
<else/>
<img class="nav-user-photo" width="30" height="30"
src="__TMPL__/public/assets/images/logo-18.png" alt="{$admin.user_login|default=''}">
</if>
<span class="user-info">
{:lang('WELCOME_USER',array('user_nickname' => empty($admin['user_nickname'] )? $admin['user_login'] : $admin['user_nickname']))}
</span>
<i class="fa fa-caret-down"></i>
</a>
<ul class="user-menu pull-right dropdown-menu dropdown-yellow dropdown-caret dropdown-closer">
<if condition="cmf_auth_check(cmf_get_current_admin_id(),'admin/Setting/site')">
<li>
<a href="javascript:openapp('{:url('setting/site')}','index_site','{:lang('ADMIN_SETTING_SITE')}');"><i
class="fa fa-cog"></i> {:lang('ADMIN_SETTING_SITE')}</a></li>
</if>
<if condition="cmf_auth_check(cmf_get_current_admin_id(),'admin/user/userinfo')">
<li>
<a href="javascript:openapp('{:url('user/userinfo')}','index_userinfo','{:lang('ADMIN_USER_USERINFO')}');"><i
class="fa fa-user"></i> {:lang('ADMIN_USER_USERINFO')}</a></li>
</if>
<if condition="cmf_auth_check(cmf_get_current_admin_id(),'admin/Setting/password')">
<li>
<a href="javascript:openapp('{:url('setting/password')}','index_password','{:lang('ADMIN_SETTING_PASSWORD')}');"><i
class="fa fa-lock"></i> {:lang('ADMIN_SETTING_PASSWORD')}</a></li>
</if>
<li><a href="{:url('Public/logout')}"><i class="fa fa-sign-out"></i> {:lang('LOGOUT')}</a></li>
</ul>
</li>
</ul>
</div>
</div>
</div>
<div class="main-container container-fluid">
<div class="sidebar" id="sidebar">
<div class="sidebar-shortcuts" id="sidebar-shortcuts">
<if condition="cmf_auth_check(cmf_get_current_admin_id(),'admin/Setting/clearcache')">
<a class="btn btn-sm btn-danger"
href="javascript:openapp('{:url('admin/Setting/clearcache')}','index_clearcache','{:lang('ADMIN_SETTING_CLEARCACHE')}',true);"
title="{:lang('ADMIN_SETTING_CLEARCACHE')}"
data-toggle="tooltip">
<i class="fa fa-trash-o"></i>
</a>
</if>
<if condition="APP_DEBUG">
<a class="btn btn-sm btn-default"
href="javascript:openapp('{:url('admin/Menu/index')}','index_menu','{:lang('ADMIN_MENU_INDEX')}',true);"
title="{:lang('ADMIN_MENU_INDEX')}"
data-toggle="tooltip">
<i class="fa fa-list"></i>
</a>
</if>
</div>
<div id="nav-wrapper">
<ul class="nav nav-list">
{:getsubmenu($submenus)}
</ul>
</div>
</div>
<div class="main-content">
<div class="page-content" id="content">
<iframe src="{:url('Main/index')}" style="width:100%;height: 100%;" frameborder="0" id="appiframe-0"
class="appiframe"></iframe>
</div>
</div>
</div>
<script src="__TMPL__/public/assets/js/jquery-1.10.2.min.js"></script>
<script src="__STATIC__/js/wind.js"></script>
<script src="__TMPL__/public/assets/js/bootstrap.min.js"></script>
<script src="__STATIC__/js/admin.js"></script>
<script src="__TMPL__/public/assets/simpleboot3/js/adminindex.js"></script>
<script>
$(function () {
$("[data-toggle='tooltip']").tooltip();
$("li.dropdown").hover(function () {
$(this).addClass("open");
}, function () {
$(this).removeClass("open");
});
var menus= {:$menus_js_var};
//读取url参数。尝试执行菜单功能。
if(typeof(menus) != "undefined"){
var tw = window.top;
var twa =tw.location.href.split("#");
var url = twa[1];
var urlTmp = url;
if (url !=null ){
//去掉/ 去掉_ 全部小写。
urlTmp = urlTmp.replace(/[\\/|_|]/g,"");
urlTmp = urlTmp.replace(".html","");
var menu = menus[urlTmp];
if (menu){
openapp(url,menu.id+menu.app,menu.name,true);
}
}
}
});
var ismenumin = $("#sidebar").hasClass("menu-min");
$(".nav-list").on("click", function (event) {
var closest_a = $(event.target).closest("a");
if (!closest_a || closest_a.length == 0) {
return
}
if (!closest_a.hasClass("dropdown-toggle")) {
if (ismenumin && "click" == "tap" && closest_a.get(0).parentNode.parentNode == this) {
var closest_a_menu_text = closest_a.find(".menu-text").get(0);
if (event.target != closest_a_menu_text && !$.contains(closest_a_menu_text, event.target)) {
return false
}
}
return
}
var closest_a_next = closest_a.next().get(0);
if (!$(closest_a_next).is(":visible")) {
var closest_ul = $(closest_a_next.parentNode).closest("ul");
if (ismenumin && closest_ul.hasClass("nav-list")) {
return
}
closest_ul.find("> .open > .submenu").each(function () {
if (this != closest_a_next && !$(this.parentNode).hasClass("active")) {
$(this).slideUp(150).parent().removeClass("open")
}
});
}
if (ismenumin && $(closest_a_next.parentNode.parentNode).hasClass("nav-list")) {
return false;
}
$(closest_a_next).slideToggle(150).parent().toggleClass("open");
return false;
});
</script>
</body>
</html>
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('link/index')}">{:lang('ADMIN_LINK_INDEX')}</a></li>
<li class="active"><a href="{:url('link/add')}">{:lang('ADMIN_LINK_ADD')}</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('link/addPost')}">
<div class="form-group">
<label for="input-name" class="col-sm-2 control-label">名称<span class="form-required">*</span></label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-name" name="name">
</div>
</div>
<div class="form-group">
<label for="input-url" class="col-sm-2 control-label">链接地址<span class="form-required">*</span></label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-url" name="url">
</div>
</div>
<div class="form-group">
<label for="input-image" class="col-sm-2 control-label">图标</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-image" name="image">
<a href="javascript:uploadOneImage('图片上传','#input-image');">上传图片</a>
</div>
</div>
<div class="form-group">
<label for="input-target" class="col-sm-2 control-label">打开方式</label>
<div class="col-md-6 col-sm-10">
<select class="form-control" name="target" id="input-target">
<foreach name="targets" item="vo">
<option value="{$key}">{$vo}</option>
</foreach>
</select>
</div>
</div>
<div class="form-group">
<label for="input-description" class="col-sm-2 control-label">描述</label>
<div class="col-md-6 col-sm-10">
<textarea class="form-control" name="description" id="input-description" ></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('ADD')}</button>
<a class="btn btn-default" href="javascript:history.back(-1);">{:lang('BACK')}</a>
</div>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('link/index')}">{:lang('ADMIN_LINK_INDEX')}</a></li>
<li><a href="{:url('link/add')}">{:lang('ADMIN_LINK_ADD')}</a></li>
<li class="active"><a>编辑友情链接</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('link/editPost')}">
<div class="form-group">
<label for="input-link_name" class="col-sm-2 control-label">名称<span class="form-required">*</span></label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-link_name" name="name" value="{$link.name}">
</div>
</div>
<div class="form-group">
<label for="input-link_url" class="col-sm-2 control-label">链接地址<span class="form-required">*</span></label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-link_url" name="url" value="{$link.url}">
</div>
</div>
<div class="form-group">
<label for="input-link_image" class="col-sm-2 control-label">图标</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-link_image" name="image" value="{$link.image}">
<a href="javascript:uploadOneImage('图片上传','#input-link_image');">上传图片</a>
</div>
</div>
<div class="form-group">
<label for="input-target" class="col-sm-2 control-label">打开方式</label>
<div class="col-md-6 col-sm-10">
<select class="form-control" name="target" id="input-target">
<foreach name="targets" item="vo">
<php>$link_target_selected=$link['target']==$key?"selected='selected'":"";</php>
<option value="{$key}" {$link_target_selected}>{$vo}</option>
</foreach>
</select>
</div>
</div>
<div class="form-group">
<label for="input-link_description" class="col-sm-2 control-label">描述</label>
<div class="col-md-6 col-sm-10">
<textarea class="form-control" name="description"
id="input-link_description">{$link.description}</textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="hidden" name="id" value="{$link.id}">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
<a class="btn btn-default" href="{:url('link/index')}">{:lang('BACK')}</a>
</div>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('link/index')}">所有友情链接</a></li>
<li><a href="{:url('link/add')}">添加友情链接</a></li>
</ul>
<form method="post" class="js-ajax-form margin-top-20" action="{:url('Link/listOrder')}">
<div class="table-actions">
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit">{:lang('SORT')}</button>
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"
data-action="{:url('link/toggle',array('display'=>1))}" data-subcheck="true">{:lang('DISPLAY')}
</button>
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"
data-action="{:url('link/toggle',array('hide'=>1))}" data-subcheck="true">{:lang('HIDE')}
</button>
</div>
<php>$status=array("1"=>lang('DISPLAY'),"0"=>lang('HIDDEN'));</php>
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="16"><label><input type="checkbox" class="js-check-all" data-direction="x"
data-checklist="js-check-x"></label></th>
<th width="50">{:lang('SORT')}</th>
<th width="50">ID</th>
<th>{:lang('NAME')}</th>
<th>链接地址</th>
<th width="50">{:lang('STATUS')}</th>
<th width="120">{:lang('ACTIONS')}</th>
</tr>
</thead>
<tbody>
<foreach name="links" item="vo">
<tr>
<td><input type="checkbox" class="js-check" data-yid="js-check-y" data-xid="js-check-x" name="ids[]"
value="{$vo.id}"></td>
<td><input name='list_orders[{$vo.id}]' class="input input-order mr5" type='text' size='3'
value='{$vo.list_order}'></td>
<td>{$vo.id}</td>
<td>{$vo.name}</td>
<td><a href="{$vo.url}" target="_blank">{$vo.url}</a></td>
<td>{$status[$vo['status']]}</td>
<td>
<a href="{:url('link/edit',array('id'=>$vo['id']))}">{:lang('EDIT')}</a>
<a href="{:url('link/delete',array('id'=>$vo['id']))}" class="js-ajax-delete">
{:lang('DELETE')}
</a>
</td>
</tr>
</foreach>
</tbody>
<tfoot>
<tr>
<th width="16">
<label>
<input type="checkbox" class="js-check-all" data-direction="x" data-checklist="js-check-x">
</label>
</th>
<th width="50">{:lang('SORT')}</th>
<th width="50">ID</th>
<th>{:lang('NAME')}</th>
<th>链接地址</th>
<th width="50">{:lang('STATUS')}</th>
<th width="120">{:lang('ACTIONS')}</th>
</tr>
</tfoot>
</table>
<div class="table-actions">
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit">{:lang('SORT')}</button>
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"
data-action="{:url('link/toggle',array('display'=>1))}" data-subcheck="true">{:lang('DISPLAY')}
</button>
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"
data-action="{:url('link/toggle',array('hide'=>1))}" data-subcheck="true">{:lang('HIDE')}
</button>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<!DOCTYPE html>
<html lang="en" >
<head>
<meta content="webkit" name="renderer" />
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="robots" content="none" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimal-ui">
<meta name="description" content="admin login">
<title>后台管理系统 - QnbugBMS</title>
<link rel="stylesheet" href="__STATIC__/css/voyagerapp.css">
<style>
body {
background-image:url('__STATIC__/images/bg.jpg');
background-color: #FFFFFF;
}
body.login .login-sidebar {
border-top:5px solid #22A7F0;
}
@media (max-width: 767px) {
body.login .login-sidebar {
border-top:0px !important;
border-left:5px solid #22A7F0;
}
}
body.login .form-group-default.focused{
border-color:#22A7F0;
}
.login-button, .bar:before, .bar:after{
background:#22A7F0;
}
</style>
<!--<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700" rel="stylesheet">-->
</head>
<body class="login">
<div class="container-fluid">
<div class="row">
<div class="faded-bg animated"></div>
<div class="hidden-xs col-sm-7 col-md-8">
<div class="clearfix">
<div class="col-sm-12 col-md-10 col-md-offset-2">
<div class="logo-title-container">
<img class="img-responsive pull-left flip logo hidden-xs animated fadeIn" src="__STATIC__/images/logo-icon-light.png" alt="Logo Icon">
<div class="copy animated fadeIn">
<h1>Qnbug BMS</h1>
<p>欢迎使用Qnbug BMS-Bussiness Management System ,后台管理系统</p>
</div>
</div> <!-- .logo-title-container -->
</div>
</div>
</div>
<div class="col-xs-12 col-sm-5 col-md-4 login-sidebar">
<div class="login-container">
<p>登录系统:</p>
<form class="js-ajax-form" action="{:url('public/doLogin')}" method="POST">
<div class="form-group form-group-default" id="emailGroup">
<label>用户名</label>
<div class="controls">
<input type="text" name="username" id="email" value="" placeholder="请输入用户名" class="form-control" required>
</div>
</div>
<div class="form-group form-group-default" id="passwordGroup">
<label>密码</label>
<div class="controls">
<input type="password" name="password" placeholder="请输入密码" class="form-control" required>
</div>
</div>
<button class="btn btn-block login-button js-ajax-submit" type="submit" data-loadingmsg="正在登录中...">
登录
</button>
</form>
<div style="clear:both"></div>
</div> <!-- .login-container -->
</div> <!-- .login-sidebar -->
</div> <!-- .row -->
</div> <!-- .container-fluid -->
<script>
var username = document.querySelector('[name="username"]');
var password = document.querySelector('[name="password"]');
username.focus();
document.getElementById('emailGroup').classList.add("focused");
// Focus events for email and password fields
username.addEventListener('focusin', function(e){
document.getElementById('emailGroup').classList.add("focused");
});
username.addEventListener('focusout', function(e){
document.getElementById('emailGroup').classList.remove("focused");
});
password.addEventListener('focusin', function(e){
document.getElementById('passwordGroup').classList.add("focused");
});
password.addEventListener('focusout', function(e){
document.getElementById('passwordGroup').classList.remove("focused");
});
</script>
<script type="text/javascript">
//全局变量
var GV = {
ROOT: "__ROOT__/",
WEB_ROOT: "__WEB_ROOT__/",
JS_ROOT: "static/js/",
APP: ''/*当前应用名*/
};
</script>
<script src="__TMPL__/public/assets/js/jquery-1.10.2.min.js"></script>
<script src="__STATIC__/js/wind.js"></script>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('mailer/index')}">{:lang('ADMIN_MAILER_INDEX')}</a></li>
<li><a href="{:url('mailer/template')}?template_key=verification_code">数字验证码邮件模板</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('Admin/mailer/indexPost')}">
<div class="form-group">
<label for="input-from_name" class="col-sm-2 control-label">
<span class="form-required">*</span>
{:lang('SENDER_NAME')}
<a href="http://www.thinkcmf.com/faq.html?url=https://www.kancloud.cn/thinkcmf/faq/493502"
title="查看帮助手册"
data-toggle="tooltip"
target="_blank"><i class="fa fa-question-circle"></i></a>
</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-from_name" name="from_name"
value="{$from_name|default=''}">
</div>
</div>
<div class="form-group">
<label for="input-from" class="col-sm-2 control-label">
<span class="form-required">*</span>{:lang('SENDER_EMAIL_ADDRESS')}
</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-from" name="from" value="{$from|default=''}">
</div>
</div>
<div class="form-group">
<label for="input-host" class="col-sm-2 control-label">
<span class="form-required">*</span>{:lang('SENDER_SMTP_SERVER')}
</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-host" name="host" value="{$host|default=''}">
</div>
</div>
<div class="form-group">
<label for="js-smtpsecure" class="col-sm-2 control-label">
<span class="form-required">*</span>连接方式
</label>
<div class="col-md-6 col-sm-10">
<select name="smtp_secure" id="js-smtpsecure" class="form-control">
<option value="">默认</option>
<option value="ssl">ssl</option>
<option value="tls">tls</option>
</select>
</div>
</div>
<div class="form-group">
<label for="input-port" class="col-sm-2 control-label">
<span class="form-required">*</span>SMTP服务器端口
</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-port" name="port" value="{$port|default=''}"
placeholder="默认为25">
</div>
</div>
<div class="form-group">
<label for="input-login_name" class="col-sm-2 control-label">
<span class="form-required">*</span>{:lang('SMTP_MAIL_ADDRESS')}
</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-login_name" name="username"
value="{$username|default=''}">
</div>
</div>
<div class="form-group">
<label for="input-password" class="col-sm-2 control-label">
<span class="form-required">*</span>{:lang('SMTP_MAIL_PASSWORD')}
</label>
<div class="col-md-6 col-sm-10">
<input type="password" class="form-control" id="input-password" name="password"
value="{$password|default=''}">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
<a class="btn btn-warning"
href="javascript:parent.openIframeDialog('{:url('mailer/test')}','发送测试邮件',{width:'600px',height:'400px'});">测试邮件</a>
</div>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
$(function () {
$('#js-smtpsecure').val("{$smtp_secure|default=''}");
});
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('mailer/index')}">{:lang('ADMIN_MAILER_INDEX')}</a></li>
<li class="active"><a href="#" data-toggle="tab">数字验证码邮件模板</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" role="form"
action="{:url('admin/mailer/templatePost')}">
<div class="form-group">
<label for="input-title" class="col-sm-2 control-label"><span class="form-required">*</span>{:lang('EMAIL_SUBJECT')}</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" name="subject" id="input-title" value="{$subject|default=''}">
</div>
</div>
<div class="form-group">
<label for="input-title" class="col-sm-2 control-label"><span class="form-required">*</span>{:lang('EMAIL_TEMPLATE')}</label>
<div class="col-md-6 col-sm-12">
<script type="text/plain" id="content" name="template">{$template|default=""|htmlspecialchars_decode}</script>
<literal><span style="color: #ffb752;">请用{$code}代替数字验证码<!--,{$username}代替用户名--></span></literal>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="hidden" name="template_key" value="verification_code">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
</div>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script type="text/javascript">
//编辑器路径定义
var editorURL = GV.WEB_ROOT;
</script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript">
var editorcontent = new baidu.editor.ui.Editor();
editorcontent.render('content');
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap">
<form method="post" class="form-horizontal js-ajax-form" action="{:url('mailer/test')}">
<div class="form-group">
<label for="input-to" class="col-sm-2 control-label"><span class="form-required">*</span>收件箱</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-to" name="to">
</div>
</div>
<div class="form-group">
<label for="input-subject" class="col-sm-2 control-label"><span class="form-required">*</span>标题</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-subject" name="subject">
</div>
</div>
<div class="form-group">
<label for="input-content" class="col-sm-2 control-label"><span class="form-required">*</span>内容</label>
<div class="col-md-6 col-sm-10">
<textarea class="form-control" id="input-content" name="content"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">发送</button>
</div>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<php>function _get_system_widget($name){</php>
<switch name="name">
<case value="CmfHub">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">联系我们</h3>
</div>
<div class="panel-body home-info">
<ul class="list-unstyled">
<li>
<em>QnbugBMS官网</em> <span><a href="http://www.qnbug.cn" target="_blank">www.qnbug.cn</a></span>
</li>
<li><em>联系邮箱</em> <span>root@qnbug.cn</span></li>
</ul>
</div>
</div>
</case>
</switch>
<php>}</php>
<include file="public@header"/>
<style>
.home-info li em {
float: left;
width: 120px;
font-style: normal;
font-weight: bold;
}
.home-info ul {
padding: 0;
margin: 0;
}
.panel {
margin-bottom: 0;
}
.grid-sizer {
width: 10%;
}
.grid-item {
margin-bottom: 5px;
padding: 5px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
padding-left: 5px;
padding-right: 5px;
float: none;
}
</style>
<hook name="admin_before_head_end"/>
</head>
<body>
<div class="wrap">
<!--<empty name="has_smtp_setting">-->
<!--<div class="grid-item col-md-12">-->
<!--<div class="alert alert-danger alert-dismissible fade in" role="alert" style="margin-bottom: 0;">-->
<!--<button type="button" class="close" data-dismiss="alert" aria-label="Close">-->
<!--<span aria-hidden="true">&times;</span>-->
<!--</button>-->
<!--<strong>提示!</strong> 邮箱配置未完成,无法进行邮件发送!-->
<!--<a href="#" data-dismiss="alert" aria-label="Close"-->
<!--onclick="parent.openapp('{:url('Mailer/index')}','admin_mailer_index','邮箱配置');">现在设置</a>-->
<!--</div>-->
<!--</div>-->
<!--</empty>-->
<if condition="!extension_loaded('fileinfo')">
<div class="grid-item col-md-12">
<div class="alert alert-danger alert-dismissible fade in" role="alert" style="margin-bottom: 0;">
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<strong>提示!</strong> php_fileinfo扩展没有开启,无法正常上传文件!
</div>
</div>
</if>
<div class="grid-item col-md-12" id="thinkcmf-notices-grid" style="display:block;">
<div class="dashboard-box">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">系统通知</h3>
</div>
<div class="panel-body home-info">
<ul id="thinkcmf-notices" class="list-unstyled">
<li>
<!--<img src="__TMPL__/public/assets/images/loading.gif" style="vertical-align: middle;"/>-->
<span style="display: inline-block; vertical-align: middle;">暂无通知</span>
</li>
</ul>
</div>
</div>
</div>
</div>
<div class="home-grid">
<!-- width of .grid-sizer used for columnWidth -->
<div class="grid-sizer"></div>
<foreach name="dashboard_widgets" item="vo">
<if condition="$vo.is_system">
<div class="grid-item col-md-12" data-system="1" data-widget="{$vo.name}">
<div class="dashboard-box">{:_get_system_widget($vo.name)}</div>
</div>
<else/>
<present name="dashboard_widget_plugins[$vo['name']]">
<div class="grid-item col-md-{$dashboard_widget_plugins[$vo['name']]['width']}" data-system="0"
data-widget="{$vo.name}">
<div class="dashboard-box">{$dashboard_widget_plugins[$vo.name]['view']}</div>
</div>
</present>
</if>
</foreach>
</div>
</div>
<script src="__STATIC__/js/admin.js"></script>
<php>
$lang_set=defined('LANG_SET')?LANG_SET:'';
$thinkcmf_version=defined('THINKCMF_VERSION')?THINKCMF_VERSION:'';
</php>
<script>
Wind.css('dragula');
Wind.use('masonry', 'imagesloaded', 'dragula', function () {
var $homeGrid = $('.home-grid').masonry({
// set itemSelector so .grid-sizer is not used in layout
itemSelector: '.grid-item',
// use element for option
columnWidth: '.grid-sizer',
percentPosition: true,
horizontalOrder: false,
transitionDuration: 0
});
$homeGrid.masonry('on', 'layoutComplete', function (event, laidOutItems) {
});
$homeGrid.masonry();
var containers = [];
$('.home-grid .grid-item').each(function () {
containers.push(this);
});
dragula(containers, {
isContainer: function (el) {
return false; // only elements in drake.containers will be taken into account
},
moves: function (el, source, handle, sibling) {
return true; // elements are always draggable by default
},
accepts: function (el, target, source, sibling) {
return true; // elements can be dropped in any of the `containers` by default
},
invalid: function (el, handle) {
return false; // don't prevent any drags from initiating by default
},
direction: 'vertical', // Y axis is considered when determining where an element would be dropped
copy: false, // elements are moved by default, not copied
copySortSource: false, // elements in copy-source containers can be reordered
revertOnSpill: false, // spilling will put the element back where it was dragged from, if this is true
removeOnSpill: false, // spilling will `.remove` the element, if this is true
mirrorContainer: document.body, // set the element that gets mirror elements appended
ignoreInputTextSelection: true // allows users to select input text, see details below
}).on('drop', function (el, target, source, sibling) {
var $target = $(target);
var targetClasses = $target.attr('class');
var targetDataWidget = $target.data('widget');
var targetDataSystem = $target.data('system');
var $source = $(source);
var sourceClasses = $source.attr('class');
var sourceDataWidget = $source.data('widget');
var sourceDataSystem = $source.data('system');
$(source).append($(target).find('.dashboard-box').not('.gu-transit'));
$(target).append(el);
$target.attr('class', sourceClasses);
$target.data('widget', sourceDataWidget);
$target.data('system', sourceDataSystem);
$source.attr('class', targetClasses);
$source.data('widget', targetDataWidget);
$source.data('system', targetDataSystem);
$homeGrid.masonry();
_widgetSort();
}).on('shadow', function (el, container, source) {
$homeGrid.masonry();
});
});
function _widgetSort() {
var widgets = [];
$('.home-grid .grid-item').each(function () {
var $this = $(this);
widgets.push({
name: $this.data('widget'),
is_system: $this.data('system')
});
});
$.ajax({
url: "{:url('main/dashboardWidget')}",
type: 'post',
dataType: 'json',
data: {widgets: widgets},
success: function (data) {
},
error: function () {
},
complete: function () {
}
});
}
</script>
<hook name="admin_before_body_end"/>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('Menu/index')}">后台菜单</a></li>
<li class="active"><a href="{:url('Menu/add')}">添加菜单</a></li>
<li><a href="{:url('Menu/lists')}">所有菜单</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('menu/addPost')}">
<div class="form-group">
<label for="input-parent_id" class="col-sm-2 control-label"><span class="form-required">*</span>上级</label>
<div class="col-md-6 col-sm-10">
<select class="form-control" name="parent_id" id="input-parent_id">
<option value="0">作为一级菜单</option>{$select_category}
</select>
</div>
</div>
<div class="form-group">
<label for="input-name" class="col-sm-2 control-label"><span class="form-required">*</span>名称</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-name" name="name">
</div>
</div>
<div class="form-group">
<label for="input-app" class="col-sm-2 control-label"><span class="form-required">*</span>应用</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-app" name="app">
</div>
</div>
<div class="form-group">
<label for="input-controller" class="col-sm-2 control-label"><span class="form-required">*</span>控制器</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-controller" name="controller">
</div>
</div>
<div class="form-group">
<label for="input-action" class="col-sm-2 control-label"><span class="form-required">*</span>方法</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-action" name="action">
</div>
</div>
<div class="form-group">
<label for="input-param" class="col-sm-2 control-label">参数</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-param" name="param">
<p class="help-block">例:id=3&amp;p=3</p>
</div>
</div>
<div class="form-group">
<label for="input-icon" class="col-sm-2 control-label">图标</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-icon" name="icon">
<p class="help-block">
<a href="http://www.thinkcmf.com/font/font_awesome/icons.html" target="_blank">选择图标</a> 不带前缀fa-,如fa-user => user
</p>
</div>
</div>
<div class="form-group">
<label for="input-remark" class="col-sm-2 control-label">备注</label>
<div class="col-md-6 col-sm-10">
<textarea class="form-control" id="input-remark" name="remark"></textarea>
</div>
</div>
<div class="form-group">
<label for="input-status" class="col-sm-2 control-label">状态</label>
<div class="col-md-6 col-sm-10" id="input-status">
<select class="form-control" name="status">
<option value="1">在左侧菜单显示</option>
<option value="0">在左侧菜单隐藏</option>
</select>
</div>
</div>
<div class="form-group">
<label for="input-type" class="col-sm-2 control-label">类型</label>
<div class="col-md-6 col-sm-10">
<select class="form-control" name="type" id="input-type">
<option value="1">有界面可访问菜单</option>
<option value="2">无界面可访问菜单</option>
<option value="0">只作为菜单</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('ADD')}</button>
</div>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('Menu/index')}">后台菜单</a></li>
<li><a href="{:url('Menu/add')}">添加菜单</a></li>
<li><a href="{:url('Menu/lists')}">所有菜单</a></li>
<li class="active"><a>编辑菜单</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('menu/editPost')}">
<div class="form-group">
<label for="input-parent_id" class="col-sm-2 control-label"><span class="form-required">*</span>上级</label>
<div class="col-md-6 col-sm-10">
<select class="form-control" name="parent_id" id="input-parent_id">
<option value="0">作为一级菜单</option>{$select_category}
</select>
</div>
</div>
<div class="form-group">
<label for="input-name" class="col-sm-2 control-label"><span class="form-required">*</span>名称</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-name" name="name" value="{$data.name}">
</div>
</div>
<div class="form-group">
<label for="input-app" class="col-sm-2 control-label"><span class="form-required">*</span>应用</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-app" name="app" value="{$data.app}">
</div>
</div>
<div class="form-group">
<label for="input-controller" class="col-sm-2 control-label"><span class="form-required">*</span>控制器</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-controller" name="controller" value="{$data.controller}">
</div>
</div>
<div class="form-group">
<label for="input-action" class="col-sm-2 control-label"><span class="form-required">*</span>方法</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-action" name="action" value="{$data.action}">
</div>
</div>
<div class="form-group">
<label for="input-param" class="col-sm-2 control-label">参数</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-param" name="param" value="{$data.param}">
<p class="help-block">例:id=3&amp;p=3</p>
</div>
</div>
<div class="form-group">
<label for="input-icon" class="col-sm-2 control-label">图标</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-icon" name="icon" value="{$data.icon}">
<p class="help-block">
<a href="http://www.thinkcmf.com/font/font_awesome/icons.html" target="_blank">选择图标</a> 不带前缀fa-,如fa-user => user
</p>
</div>
</div>
<div class="form-group">
<label for="input-remark" class="col-sm-2 control-label">备注</label>
<div class="col-md-6 col-sm-10">
<textarea class="form-control" id="input-remark" name="remark">{$data.remark}</textarea>
</div>
</div>
<div class="form-group">
<label for="input-status" class="col-sm-2 control-label">状态</label>
<div class="col-md-6 col-sm-10" id="input-status">
<select class="form-control" name="status">
<option value="1">在左侧菜单显示</option>
<php>$status_selected=empty($data['status'])?"selected":"";</php>
<option value="0" {$status_selected}>在左侧菜单隐藏</option>
</select>
</div>
</div>
<div class="form-group">
<label for="input-type" class="col-sm-2 control-label">类型</label>
<div class="col-md-6 col-sm-10">
<select class="form-control" name="type" id="input-type">
<option value="1">有界面可访问菜单</option>
<php>$type2_selected=$data['type']==2?"selected":"";</php>
<option value="2" {$type2_selected}>无界面可访问菜单</option>
<php>$type_selected=$data['type']==0?"selected":"";</php>
<option value="0" {$type_selected}>只作为菜单</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="hidden" name="id" value="{$data.id}" />
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
<a class="btn btn-default" href="{:url('menu/index')}">{:lang('BACK')}</a>
</div>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap">
<div id="error_tips">
<h2>应用{$app}菜单导入成功!</h2>
<div class="error_cont">
<ul>
<if condition="!empty($new_menus)">
<foreach name="new_menus" item="vo">
<li>{$vo}</li>
</foreach>
<else />
<li>应用{$app}没有新菜单导入!</li>
</if>
</ul>
<if condition="!empty($next_app)">
<script>
setTimeout(function() {
location.href = "{:url('admin/menu/getactions',array('app'=>$next_app))}";
}, 1000);
</script>
<div class="error_return">
<a href="{:url('admin/menu/getActions',array('app'=>$next_app))}" class="btn btn-primary">下一个应用</a>
<a href="{:url('admin/menu/index')}" class="btn btn-default" style="margin-left: 10px;">返回</a>
</div>
<else />
<div>全部导入成功!</div>
<div class="error_return">
<a href="{:url('menu/index')}" class="btn btn-default">返回</a>
</div>
</if>
</div>
</div>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('Menu/index')}">后台菜单</a></li>
<li><a href="{:url('Menu/add')}">添加菜单</a></li>
<li><a href="{:url('Menu/lists')}">所有菜单</a></li>
</ul>
<form class="js-ajax-form" action="{:url('Menu/listOrder')}" method="post">
<div class="table-actions">
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit">{:lang('SORT')}</button>
</div>
<table class="table table-hover table-bordered table-list" id="menus-table">
<thead>
<tr>
<th width="80">{:lang('SORT')}</th>
<th width="50">ID</th>
<th>{:lang('NAME')}</th>
<th>操作</th>
<th width="80">{:lang('STATUS')}</th>
<th width="180">{:lang('ACTIONS')}</th>
</tr>
</thead>
<tbody>
{$category}
</tbody>
<tfoot>
<tr>
<th width="80">{:lang('SORT')}</th>
<th width="50">ID</th>
<th>{:lang('NAME')}</th>
<th>操作</th>
<th width="80">{:lang('STATUS')}</th>
<th width="180">{:lang('ACTIONS')}</th>
</tr>
</tfoot>
</table>
<div class="table-actions">
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit">{:lang('SORT')}</button>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
$(document).ready(function() {
Wind.css('treeTable');
Wind.use('treeTable', function() {
$("#menus-table").treeTable({
indent : 20
});
});
});
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('Menu/index')}">后台菜单</a></li>
<li><a href="{:url('Menu/add')}">添加菜单</a></li>
<li class="active"><a href="{:url('Menu/lists')}">所有菜单</a></li>
</ul>
<form class="form-horizontal js-ajax-form" action="{:url('menu/listorders')}" method="post">
<div class="table-actions">
<a class="btn btn-primary btn-sm js-ajax-dialog-btn" href="{:url('menu/exportMenuLang')}" data-msg="您确定生成菜单多语言包吗?请确保应用目录下lang目录可写!">生成菜单多语言包</a>
<a class="btn btn-warning btn-sm" href="{:url('menu/getactions')}">导入新菜单</a>
</div>
<div class="alert alert-warning" style="margin: 0 0 5px 0;">
请在开发人员指导下进行以上操作!
</div>
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="50">ID</th>
<th>菜单英文名称</th>
<th width="50">状态</th>
<th width="90">管理操作</th>
</tr>
</thead>
<foreach name="menus" item="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.name}:{$vo.app}/{$vo.controller}/{$vo.action}</td>
<td>
<if condition="$vo['status'] eq 1">
显示
<else />
隐藏
</if>
</td>
<td>
<a href="{:url('menu/edit',array('id'=>$vo['id']))}">编辑</a>
<a class="js-ajax-delete" href="{:url('menu/delete',array('id'=>$vo['id']))}">删除</a>
</td>
</tr>
</foreach>
<tfoot>
<tr>
<th width="50">ID</th>
<th>菜单英文名称</th>
<th width="40">状态</th>
<th width="80">管理操作</th>
</tr>
</tfoot>
</table>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('nav/index')}">{:lang('ADMIN_NAV_INDEX')}</a></li>
<li class="active"><a href="{:url('nav/add')}">{:lang('ADMIN_NAV_ADD')}</a></li>
<!--<li><a href="{:url('nav/edit')}" >{:lang('ADMIN_NAV_EDIT')}</a></li>-->
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('nav/addPost')}">
<div class="form-group">
<label class="col-sm-2 control-label"><span class="form-required">*</span>名称:</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" name="name" value="">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">备注:</label>
<div class="col-md-6 col-sm-10">
<textarea class="form-control" name="remark" rows="5" cols="57"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">主菜单:</label>
<div class="col-md-6 col-sm-10">
<div class="checkbox">
<label>
<input type="checkbox" name="is_main" value="1" >
</label>
</div>
</div>
</div>
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang("SAVE")}</button>
<a class="btn btn-default" href="{:url('Nav/index')}">返回</a>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('nav/index')}">{:lang('ADMIN_NAV_INDEX')}</a></li>
<li><a href="{:url('nav/add')}">{:lang('ADMIN_NAV_ADD')}</a></li>
<li class="active" ><a>{:lang('ADMIN_NAV_EDIT')}</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('nav/editPost')}">
<div class="form-group">
<label class="col-sm-2 control-label"><span class="form-required">*</span>名称:</label>
<div class="col-md-6 col-sm-10">
<input type="hidden" name="id" value="{$id}">
<input type="text" class="form-control" name="name" value="{$name}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">备注:</label>
<div class="col-md-6 col-sm-10">
<textarea class="form-control" name="remark" >{$remark}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">主菜单:</label>
<div class="col-md-6 col-sm-10">
<div class="checkbox">
<label>
<php>$strMainMenuChecked=$is_main?"checked":"";</php>
<input type="checkbox" name="is_main" value="1" {$strMainMenuChecked} >
</label>
</div>
</div>
</div>
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang("SAVE")}</button>
<a class="btn btn-default" href="{:url('Nav/index')}">返回</a>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('nav/index')}">所有导航</a></li>
<li><a href="{:url('nav/add')}">添加导航</a></li>
</ul>
<form action="{:url('Rbac/listorders')}" method="post" class="margin-top-20">
<php> $is_main=array("1"=>'是',"0"=>'否');</php>
<table class="table table-hover table-bordered">
<thead>
<tr>
<th width="40">ID</th>
<th>名称</th>
<th width="80">主导航</th>
<th>描述</th>
<th width="160">{:lang('ACTIONS')}</th>
</tr>
</thead>
<tbody>
<foreach name="navs" item="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.name}</td>
<td>{$is_main[$vo.is_main]}</td>
<td>{$vo.remark}</td>
<td>
<a href="javascript:parent.openIframeLayer('{:url('NavMenu/index',array('nav_id'=>$vo['id']))}','{$vo.name}菜单管理',{});">菜单管理</a>
<a href="{:url('nav/edit',array('id'=>$vo['id']))}">{:lang('EDIT')}</a>
<a class="js-ajax-delete" href="{:url('nav/delete',array('id'=>$vo['id']))}">{:lang('DELETE')}</a>
</td>
</tr>
</foreach>
</tbody>
</table>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('NavMenu/index',['nav_id'=>$nav_id])}">导航菜单</a></li>
<li class="active"><a>{:lang('ADMIN_MENU_ADD')}</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('NavMenu/addPost')}">
<fieldset>
<div class="form-group">
<label class="col-sm-2 control-label">上级:</label>
<div class="col-md-6 col-sm-10">
<select name="parent_id" class="form-control">
<option value="0">/</option>
{$nav_trees}
</select>
</div>
</div>
<div class="form-group form-inline">
<label class="col-sm-2 control-label"><span class="form-required">*</span>地址:</label>
<div class="col-md-6 col-sm-10">
<input type="radio" id="external-link-radio">
<input type="text" class="form-control" name="href" id="external-link-input">
<input type="radio" id="select-href-radio">
<select name="href" id="select-href" class="form-control">
<option value="{:base64_encode('home')}" data-name="首页">首页</option>
<foreach name="navs" item="vo">
<optgroup label="{$vo.name}">
{$vo.html}
</optgroup>
</foreach>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"><span class="form-required">*</span>菜单名称:</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" name="name" id="name-input">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">打开方式:</label>
<div class="col-md-6 col-sm-10">
<select class="form-control" name="target">
<option value="">默认方式</option>
<option value="_blank">新窗口打开</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">图标:</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" name="icon" value="">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">显示:</label>
<div class="col-md-6 col-sm-10">
<select name="status" class="form-control">
<option value="1">显示</option>
<option value="0">隐藏</option>
</select>
</div>
</div>
</fieldset>
<div class="col-sm-offset-2 col-sm-10">
<input type="hidden" name="nav_id" value="{$nav_id}"/>
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang("SAVE")}</button>
<a class="btn btn-default" href="{:url('NavMenu/index',['nav_id'=>$nav_id])}">返回</a>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
$(function () {
$("#select-href,#select-href-radio").click(function () {
checkChange(2);
});
$("#select-href").change(function () {
var $this = $(this);
var label = $this.find("option[value='" + $this.val() + "']").data('name');
$('#name-input').val(label);
});
$("#external-link-input,#external-link-radio").click(function () {
checkChange(1);
});
function checkChange(i) {
if (i == 1) {
//自动输入url
$('#external-link-input').attr('name', 'external_href');
$('#select-href').removeAttr('name');
$('#select-href-radio').prop('checked', false);
$('#external-link-radio').prop('checked', true);
} else {
//选择链接url
$('#select-href').attr('name', 'href');
$('#external-link-input').removeAttr('name');
$('#select-href-radio').prop('checked', true);
$('#external-link-radio').prop('checked', false);
}
}
});
</script>
</body>
</html>
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('NavMenu/index',['nav_id'=>$nav_id])}">导航菜单</a></li>
<li><a href="{:url('NavMenu/add',['nav_id'=>$nav_id])}">{:lang('ADMIN_MENU_ADD')}</a>
</li>
<li class="active"><a>{:lang('ADMIN_MENU_EDIT')}</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('NavMenu/editPost')}">
<fieldset>
<div class="form-group">
<label class="col-sm-2 control-label">上级:</label>
<div class="col-md-6 col-sm-10">
<select name="parent_id" class="form-control">
<option value="0">/</option>
{$nav_trees}
</select>
</div>
</div>
<div class="form-group form-inline">
<label class="col-sm-2 control-label"><span class="form-required">*</span>地址:</label>
<div class="col-md-6 col-sm-10">
<input type="radio" id="external-link-radio">
<input type="text" class="form-control" name="href" id="external-link-input">
<input type="radio" id="select-href-radio">
<select name="href" id="select-href" class="form-control">
<option value="{:base64_encode('home')}" data-name="首页">首页</option>
<foreach name="navs" item="vo">
<optgroup label="{$vo.name}">
{$vo.html}
</optgroup>
</foreach>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label"><span class="form-required">*</span>菜单名称:</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" name="name" id="name-input" value="{$name}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">打开方式:</label>
<div class="col-md-6 col-sm-10">
<select name="target" class="form-control">
<option value="">默认方式</option>
<option {$target=='_blank'?'selected':''} value="_blank">新窗口打开</option>
</select>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">图标:</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" name="icon" value="{$icon}">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">显示:</label>
<div class="col-md-6 col-sm-10">
<select name="status" class="form-control">
<option value="1">显示</option>
<php>$status_selected=empty($status)?"selected":"";</php>
<option value="0" {$status_selected}>隐藏</option>
</select>
</div>
</div>
</fieldset>
<div class="col-sm-offset-2 col-sm-10">
<input type="hidden" name="id" value="{$id}">
<input type="hidden" name="nav_id" value="{$nav_id}">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang("SAVE")}</button>
<a class="btn btn-default" href="{:url('NavMenu/index',['nav_id'=>$nav_id])}">返回</a>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
$(function () {
$("#select-href,#select-href-radio").click(function () {
checkChange(2);
});
$("#select-href").change(function () {
var $this = $(this);
var label = $this.find("option[value='" + $this.val() + "']").data('name');
$('#name-input').val(label);
});
$("#external-link-input,#external-link-radio").click(function () {
checkChange(1);
});
var opt = $("#select-href option[value='" + '{$href}' + "']");
if (opt.length > 0) {
opt.prop('selected', true);
checkChange(2);
} else {
checkChange(1);
$('#external-link-input').val('{$href}');
}
function checkChange(i) {
if (i == 1) {
//自动输入url
$('#external-link-input').attr('name', 'external_href');
$('#select-href').removeAttr('name');
$('#select-href-radio').prop('checked', false);
$('#external-link-radio').prop('checked', true);
} else {
//选择链接url
$('#select-href').attr('name', 'href');
$('#external-link-input').removeAttr('name');
$('#select-href-radio').prop('checked', true);
$('#external-link-radio').prop('checked', false);
}
}
});
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('NavMenu/index',['nav_id'=>$nav_id])}">导航菜单</a></li>
<li><a href="{:url('NavMenu/add',['nav_id'=>$nav_id])}">添加菜单</a></li>
</ul>
<form class="js-ajax-form margin-top-20" action="{:url('NavMenu/listOrder')}" method="post">
<div class="table-actions">
<button class="btn btn-primary btn-sm js-ajax-submit" type="submit">排序</button>
</div>
<table class="table table-hover table-bordered">
<thead>
<tr>
<th width="50">排序</th>
<th width="50">ID</th>
<th>菜单名称</th>
<th width="80">状态</th>
<th width="180">{:lang('ACTIONS')}</th>
</tr>
</thead>
<tbody>
{$categories}
</tbody>
</table>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
<style type="text/css">
.pagination{display:inline-block;padding-left:0;border-radius:4px;margin-left: 30%}
.pagination li{display:inline}
.pagination li a,.pagination li span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;color:#393D49;background:#fff;margin:0 0 0 8px;border:1px solid #eee}
.pagination li a:hover{color:#fff;background:#1E9FFF}
.pagination .active span{background:#1E9FFF;color:#fff}
</style>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('index')}">列表管理</a></li>
<!--<li><a href="{:url('add')}">添加</a></li>-->
</ul>
<form class="well form-inline margin-top-20" method="post" action="{:url('index')}">
状态:
<select class="form-control" name="status" style="width: 140px;">
<option value=''>全部</option>
<option value='1'>已付款</option>
<option value='0'>待付款</option>
</select> &nbsp;&nbsp;
学员手机号:
<input type="text" class="form-control" name="mobile" style="width: 200px;"
value="{$keyword|default=''}" placeholder="请输入手机号...">
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="{:url('index')}">清空</a>
</form>
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="50">ID</th>
<th>订单号</th>
<th>报名类型</th>
<th>学生姓名</th>
<th>手机号</th>
<th>金额</th>
<th>实际付款</th>
<th>下单时间</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<foreach name="list" id="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.out_trade_no}</td>
<td>{$vo.gname}</td>
<td>{$vo.uid|id_name}</td>
<td>{$vo.uid|id_mobile}</td>
<td>{$vo.price}</td>
<td>{$vo.true_price/100}</td>
<td>{$vo.create_time|date="Y-m-d H:i:s",###}</td>
<td>{$vo.status|pay_type_name}</td>
<td>
<a href='{:url("admin/user/student",array("id"=>$vo["uid"]))}'>查看学员详情</a>
</td>
</tr>
</foreach>
</tbody>
</table>
</div>
<div class="pagination">
{$page}
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<php>
function _parse_plugin_config($pluginConfig){
</php>
<foreach name="pluginConfig" item="form">
<switch name="form.type">
<case value="explain">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<p>{$form.value}</p>
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="text">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<input type="text" name="config[{$key}]" class="form-control" {$form.disabled?'disabled':''} value="{$form.value}" id="{$key}">
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="password">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<input type="password" name="config[{$key}]" class="form-control" value="{$form.value}"
id="{$key}">
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="number">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<input type="number" name="config[{$key}]" class="form-control" {$form.disabled?'disabled':''} value="{$form.value}"
id="{$key}">
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="hidden">
<input type="hidden" name="config[{$key}]" value="{$form.value}">
</case>
<case value="radio">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<foreach name="form.options" item="opt" key="opt_k">
<label class="radio-inline">
<php>$radio_checked=$opt_k==$form['value']?"checked":"";</php>
<input type="radio" name="config[{$key}]" value="{$opt_k}" {$radio_checked}>{$opt}
</label>
</foreach>
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="checkbox">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<foreach name="form.options" item="opt" key="opt_k">
<label class="checkbox-inline">
<php>
is_null($form["value"]) && $form["value"] = array();
</php>
<input type="checkbox" name="config[{$key}][]" value="{$opt_k}"
<in name="opt_k" value="$form.value"> checked</in>
>{$opt}
</label>
</foreach>
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="select">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<select class="form-control" name="config[{$key}]" id="{$key}">
<foreach name="form.options" item="opt" key="opt_k">
<option value="{$opt_k}"
<eq name="form.value" value="$opt_k"> selected</eq>
>{$opt}</option>
</foreach>
</select>
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="textarea">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<textarea class="form-control" name="config[{$key}]" {$form.disabled?'disabled':''} id="{$key}">{$form.value}</textarea>
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="group">
<div>
<ul class="nav nav-tabs" role="tablist">
<foreach name="form.options" item="groupItem" key="groupKey" index="groupIndex">
<li role="presentation" class="{$groupIndex==1?'active':''}">
<a href="#tab-{$groupKey}" role="tab" data-toggle="tab" aria-controls="home"
aria-expanded="true">{$groupItem.title|default=''}</a>
</li>
</foreach>
</ul>
<div class="tab-content margin-top-20">
<foreach name="form.options" item="groupItem" key="groupKey" index="groupIndex">
<div role="tabpanel" class="tab-pane fade in {$groupIndex==1?'active':''}" id="tab-{$groupKey}"
aria-labelledby="home-tab">
{:_parse_plugin_config($groupItem.options)}
</div>
</foreach>
</div>
</div>
</case>
<case value="date">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<input class="form-control js-bootstrap-date" name="config[{$key}]" id="{$key}"
value="{$form.value}">
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="datetime">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<input class="form-control js-bootstrap-datetime" name="config[{$key}]" id="{$key}"
value="{$form.value}">
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="color">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<input class="form-control js-color" name="config[{$key}]" id="{$key}"
value="{$form.value}">
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="image">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<input type="hidden" name="config[{$key}]" class="form-control"
value="{$form.value}" id="js-{$key}-input">
<div>
<a href="javascript:uploadOneImage('图片上传','#js-{$key}-input');">
<if condition="empty($form['value'])">
<img src="__TMPL__/public/assets/images/default-thumbnail.png"
id="js-{$key}-input-preview"
width="135" style="cursor: pointer"/>
<else/>
<img src="{:cmf_get_image_preview_url($form['value'])}"
id="js-{$key}-input-preview"
width="135" style="cursor: pointer"/>
</if>
</a>
</div>
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="file">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<div>
<input class="form-control" id="js-{$key}-input" type="text" name="config[{$key}]" value="{$form['value']}"
style="width: 300px;display: inline-block;" title="文件名称">
<a href="javascript:uploadOne('文件上传','#js-{$key}-input','file');">上传文件</a>
</div>
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
<case value="location">
<div class="form-group">
<label class="col-sm-2 control-label" for="{$key}">
{$form.title|default=''}
<notempty name="form.rule.require">
<span class="form-required">*</span>
</notempty>
</label>
<div class="col-md-6 col-sm-10">
<input class="form-control" name="config[{$key}]" id="{$key}" value="{$form.value}"
onclick="doSelectLocation(this)"
data-title="请选择{$form.title|default=''}">
<present name="form.tip">
<p class="help-block">{$form.tip}</p>
</present>
</div>
</div>
</case>
</switch>
</foreach>
<php>
}
</php>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('plugin/index')}">{:lang('ADMIN_PLUGIN_INDEX')}</a></li>
<li><a href="http://www.thinkcmf.com/appstore/plugin.html" target="_blank">插件市场</a></li>
<li>
<a href="http://www.thinkcmf.com/faq.html?url=https://www.kancloud.cn/thinkcmf/faq/493510" target="_blank">插件安装<i class="fa fa-question-circle"></i></a>
</li>
<li><a href="http://www.thinkcmf.com/topic/index/index/cat/9.html" target="_blank">插件交流</a></li>
<li><a href="https://www.kancloud.cn/thinkcmf/doc/266542" target="_blank">插件文档</a></li>
</ul>
<form method="post" class="js-ajax-form margin-top-20">
<php>
$status=array("1"=>'开启',"0"=>'禁用',"3"=>'未安装');
</php>
<table class="table table-hover table-bordered">
<thead>
<tr>
<th>插件名称</th>
<th>插件标识</th>
<th>描述</th>
<th>作者</th>
<th width="60">状态</th>
<th width="210">操作</th>
</tr>
</thead>
<tbody>
<foreach name="plugins" item="vo">
<tr>
<td>{$vo.title}</td>
<td>{$vo.name}</td>
<td>{$vo.description}</td>
<td>{$vo.author}</td>
<td>{$status[$vo['status']]}</td>
<td>
<if condition="$vo['status']==3">
<a href="{:url('plugin/install',array('name'=>$vo['name']))}" class="js-ajax-dialog-btn"
data-msg="确定安装该插件吗?">安装</a>
<else/>
<php>$config=json_decode($vo['config'],true);</php>
<if condition="!empty($config)">
<empty name="config.custom_config">
<a href="{:url('plugin/setting',array('id'=>$vo['id']))}">设置</a>
<else/>
<a href="{:cmf_plugin_url($vo['name'].'://AdminIndex/setting')}">设置</a>
</empty>
<else/>
<a href="javascript:;" style="color: #ccc;">设置</a>
</if>
<if condition="!empty($vo['has_admin'])">
<a href="javascript:parent.openapp('{:cmf_plugin_url($vo['name'].'://AdminIndex/index')}','plugin_{$vo.name}','{$vo.title}')">管理</a>
<else/>
<a href="javascript:;" style="color: #ccc;">管理</a>
</if>
<a href="{:url('plugin/update',array('name'=>$vo['name']))}" class="js-ajax-dialog-btn"
data-msg="确定更新该插件吗?">更新</a>
<if condition="$vo['status']==0">
<a href="{:url('plugin/toggle',array('id'=>$vo['id'],'enable'=>1))}"
class="js-ajax-dialog-btn" data-msg="确定启用该插件吗?">启用</a>
<else/>
<a href="{:url('plugin/toggle',array('id'=>$vo['id'],'disable'=>1))}"
class="js-ajax-dialog-btn" data-msg="确定禁用该插件吗?">禁用</a>
</if>
<a href="{:url('plugin/uninstall',array('id'=>$vo['id']))}" class="js-ajax-dialog-btn"
data-msg="确定卸载该插件吗?">卸载</a>
</if>
</td>
</tr>
</foreach>
</tbody>
</table>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="plugin/functions"/>
<include file="public@header"/>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('plugin/index')}">{:lang('ADMIN_PLUGIN_INDEX')}</a></li>
<li class="active"><a>{:lang('ADMIN_PLUGIN_SETTING')}</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('plugin/settingPost')}">
<empty name="custom_config">
{:_parse_plugin_config($data['config'])}
<else/>
<present name="custom_config">
{$custom_config}
</present>
</empty>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="hidden" name="id" value="{$id}" readonly>
<button type="submit" class="btn btn-primary js-ajax-submit" data-refresh="0">保存</button>
<a class="btn btn-default" href="javascript:history.back(-1);">返回</a>
</div>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
Wind.use('colorpicker',function(){
$('.js-color').each(function () {
var $this=$(this);
$this.ColorPicker({
livePreview:true,
onChange: function(hsb, hex, rgb) {
$this.val('#'+hex);
},
onBeforeShow: function () {
$(this).ColorPickerSetColor(this.value);
}
});
});
});
function doSelectLocation(obj) {
var $obj = $(obj);
var title = $obj.data('title');
var $realInput = $obj;
var location = $realInput.val();
parent.openIframeLayer(
"{:url('dialog/map')}?location=" + location,
title,
{
area: ['700px', '90%'],
btn: ['确定', '取消'],
yes: function (index, layero) {
var iframeWin = parent.window[layero.find('iframe')[0]['name']];
var location = iframeWin.confirm();
$realInput.val(location.lng + ',' + location.lat);
//$obj.val(location.address);
parent.layer.close(index); //如果设定了yes回调,需进行手工关闭
}
}
);
}
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
<style type="text/css">
.pic-list li {
margin-bottom: 5px;
}
</style>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('index')}">文章管理</a></li>
<li class="active"><a href="{:url('add')}">添加文章</a></li>
</ul>
<form action="{:url('add_do')}" method="post" class="form-horizontal js-ajax-form margin-top-20">
<div class="row">
<div class="col-md-9">
<table class="table table-bordered">
<tr>
<th>标题<span class="form-required">*</span></th>
<td>
<input class="form-control" type="text" name="post[post_title]" id="post_title" value=""
placeholder="请输入标题">
</td>
</tr>
<tr>
<th>作者<span class="form-required">*</span></th>
<td>
<input class="form-control" type="text" name="post[post_keywords]" id="post_keywords" value=""
placeholder="请输入作者">
</td>
</tr>
<tr>
<th>时间<span class="form-required">*</span></th>
<td>
<input class="form-control" type="text" name="" value="<?php echo date('Y-m-d H:i:s')?>" disabled="disabled">
</td>
</tr>
<tr>
<th>缩略图</th>
<td>
<div style="text-align: center;">
<input type="hidden" name="post[thumbnail]" id="thumbnail" value="">
<a href="javascript:uploadOneImage('图片上传','#thumbnail');">
<img src="__TMPL__/public/assets/images/default-thumbnail.png"
id="thumbnail-preview"
width="135" style="cursor: pointer"/>
</a>
<!--<input type="button" class="btn btn-sm btn-cancel-thumbnail" value="取消图片">-->
</div>
</td>
</tr>
<tr>
<th>banner</th>
<td>
<div style="text-align: center;">
<input type="hidden" name="post[banner]" id="thumbnail1" value="">
<a href="javascript:uploadOneImage('图片上传','#thumbnail1');">
<img src="__TMPL__/public/assets/images/default-thumbnail.png"
id="thumbnail1-preview"
width="135" style="cursor: pointer"/>
</a>
<!--<input type="button" class="btn btn-sm btn-cancel-thumbnail" value="取消图片">-->
</div>
</td>
</tr>
<tr>
<th>摘要</th>
<td>
<textarea class="form-control" name="post[post_excerpt]" style="height: 50px;"
placeholder="请填写摘要"></textarea>
</td>
</tr>
<tr>
<th>内容</th>
<td>
<script type="text/plain" id="content" name="post[post_content]"></script>
</td>
</tr>
</table>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('ADD')}</button>
<a class="btn btn-default" href="{:url('AdminArticle/index')}">{:lang('BACK')}</a>
</div>
</div>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
<script type="text/javascript">
//编辑器路径定义
var editorURL = GV.WEB_ROOT;
</script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript">
$(function () {
editorcontent = new baidu.editor.ui.Editor();
editorcontent.render('content');
try {
editorcontent.sync();
} catch (err) {
}
$('.btn-cancel-thumbnail').click(function () {
$('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
$('#thumbnail').val('');
});
});
function doSelectCategory() {
var selectedCategoriesId = $('#js-categories-id-input').val();
openIframeLayer("{:url('AdminCategory/select')}?ids=" + selectedCategoriesId, '请选择分类', {
area: ['700px', '400px'],
btn: ['确定', '取消'],
yes: function (index, layero) {
//do something
var iframeWin = window[layero.find('iframe')[0]['name']];
var selectedCategories = iframeWin.confirm();
if (selectedCategories.selectedCategoriesId.length == 0) {
layer.msg('请选择分类');
return;
}
$('#js-categories-id-input').val(selectedCategories.selectedCategoriesId.join(','));
$('#js-categories-name-input').val(selectedCategories.selectedCategoriesName.join(' '));
//console.log(layer.getFrameIndex(index));
layer.close(index); //如果设定了yes回调,需进行手工关闭
}
});
}
</script>
</body>
</html>
... ...
<include file="public@header"/>
<style type="text/css">
.pic-list li {
margin-bottom: 5px;
}
</style>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('index')}">文章管理</a></li>
<li class="active"><a href="{:url('add')}">添加文章</a></li>
</ul>
<form action="{:url('edit_do')}" method="post" class="form-horizontal js-ajax-form margin-top-20">
<div class="row">
<div class="col-md-9">
<table class="table table-bordered">
<input type="hidden" name="post[id]" value="{$info.id}">
<tr>
<th>标题<span class="form-required">*</span></th>
<td>
<input class="form-control" type="text" name="post[post_title]" id="post_title" value="{$info.post_title}"
placeholder="请输入标题">
</td>
</tr>
<tr>
<th>作者<span class="form-required">*</span></th>
<td>
<input class="form-control" type="text" name="post[post_keywords]" id="post_keywords" value="{$info.post_keywords}"
placeholder="请输入作者">
</td>
</tr>
<tr>
<th>时间<span class="form-required">*</span></th>
<td>
<input class="form-control" type="text" name="" value="<?php echo date('Y-m-d H:i:s')?>" disabled="disabled">
</td>
</tr>
<tr>
<th>缩略图</th>
<td>
<div style="text-align: center;">
<input type="hidden" name="post[thumbnail]" id="thumbnail" value="{$info.thumbnail}">
<a href="javascript:uploadOneImage('图片上传','#thumbnail');">
<img src="/upload/{$info.thumbnail}"
id="thumbnail-preview"
width="135" style="cursor: pointer"/>
</a>
<!--<input type="button" class="btn btn-sm btn-cancel-thumbnail" value="取消图片">-->
</div>
</td>
</tr>
<tr>
<th>banner</th>
<td>
<div style="text-align: center;">
<input type="hidden" name="post[banner]" id="thumbnail1" value="{$info.banner}">
<a href="javascript:uploadOneImage('图片上传','#thumbnail1');">
<img src="/upload/{$info.banner}"
id="thumbnail1-preview"
width="135" style="cursor: pointer"/>
</a>
<!--<input type="button" class="btn btn-sm btn-cancel-thumbnail" value="取消图片">-->
</div>
</td>
</tr>
<tr>
<th>摘要</th>
<td>
<textarea class="form-control" name="post[post_excerpt]" style="height: 50px;"
placeholder="请填写摘要">{$info.post_excerpt}</textarea>
</td>
</tr>
<tr>
<th>内容</th>
<td>
<script type="text/plain" id="content" name="post[post_content]">{$info.post_content|htmlspecialchars_decode}</script>
</td>
</tr>
</table>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">保存</button>
<a class="btn btn-default" href="{:url('index')}">{:lang('BACK')}</a>
</div>
</div>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
<script type="text/javascript">
//编辑器路径定义
var editorURL = GV.WEB_ROOT;
</script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript">
$(function () {
editorcontent = new baidu.editor.ui.Editor();
editorcontent.render('content');
try {
editorcontent.sync();
} catch (err) {
}
$('.btn-cancel-thumbnail').click(function () {
$('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
$('#thumbnail').val('');
});
});
function doSelectCategory() {
var selectedCategoriesId = $('#js-categories-id-input').val();
openIframeLayer("{:url('AdminCategory/select')}?ids=" + selectedCategoriesId, '请选择分类', {
area: ['700px', '400px'],
btn: ['确定', '取消'],
yes: function (index, layero) {
//do something
var iframeWin = window[layero.find('iframe')[0]['name']];
var selectedCategories = iframeWin.confirm();
if (selectedCategories.selectedCategoriesId.length == 0) {
layer.msg('请选择分类');
return;
}
$('#js-categories-id-input').val(selectedCategories.selectedCategoriesId.join(','));
$('#js-categories-name-input').val(selectedCategories.selectedCategoriesName.join(' '));
//console.log(layer.getFrameIndex(index));
layer.close(index); //如果设定了yes回调,需进行手工关闭
}
});
}
</script>
</body>
</html>
... ...
<include file="public@header"/>
<style type="text/css">
.pic-list li {
margin-bottom: 5px;
}
</style>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('index1')}">文章管理</a></li>
</ul>
<form action="{:url('edit_do1')}" method="post" class="form-horizontal js-ajax-form margin-top-20">
<div class="row">
<div class="col-md-9">
<table class="table table-bordered">
<input type="hidden" name="post[id]" value="{$info.id}">
<tr>
<th>标题<span class="form-required">*</span></th>
<td>
<input class="form-control" type="text" name="post[post_title]" id="post_title" value="{$info.post_title}"
placeholder="请输入标题">
</td>
</tr>
<tr>
<th>内容</th>
<td>
<script type="text/plain" id="content" name="post[post_content]">{$info.post_content|htmlspecialchars_decode}</script>
</td>
</tr>
</table>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">保存</button>
<a class="btn btn-default" href="{:url('index')}">{:lang('BACK')}</a>
</div>
</div>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
<script type="text/javascript">
//编辑器路径定义
var editorURL = GV.WEB_ROOT;
</script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script>
<script type="text/javascript">
$(function () {
editorcontent = new baidu.editor.ui.Editor();
editorcontent.render('content');
try {
editorcontent.sync();
} catch (err) {
}
$('.btn-cancel-thumbnail').click(function () {
$('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png');
$('#thumbnail').val('');
});
});
function doSelectCategory() {
var selectedCategoriesId = $('#js-categories-id-input').val();
openIframeLayer("{:url('AdminCategory/select')}?ids=" + selectedCategoriesId, '请选择分类', {
area: ['700px', '400px'],
btn: ['确定', '取消'],
yes: function (index, layero) {
//do something
var iframeWin = window[layero.find('iframe')[0]['name']];
var selectedCategories = iframeWin.confirm();
if (selectedCategories.selectedCategoriesId.length == 0) {
layer.msg('请选择分类');
return;
}
$('#js-categories-id-input').val(selectedCategories.selectedCategoriesId.join(','));
$('#js-categories-name-input').val(selectedCategories.selectedCategoriesName.join(' '));
//console.log(layer.getFrameIndex(index));
layer.close(index); //如果设定了yes回调,需进行手工关闭
}
});
}
</script>
</body>
</html>
... ...
<include file="public@header"/>
<link rel="stylesheet" href="/static/scr/zoomify/bootstrap-grid.min.css">
<link rel="stylesheet" href="/static/scr/zoomify/dist/zoomify.css">
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="javascript:;">所有文章</a></li>
<li><a href="{:url('add')}">添加文章</a></li>
</ul>
<form class="well form-inline margin-top-20" method="post" action="{:url('index')}">
标题:
<input type="text" class="form-control" name="keyword" style="width: 200px;"
value="{$keyword|default=''}" placeholder="请输入关键字...">
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="{:url('AdminArticle/index')}">清空</a>
</form>
<form class="js-ajax-form" action="" method="post">
<!--<div class="table-actions">-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/top',array('yes'=>1))}" data-subcheck="true">置顶-->
<!--</button>-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/top',array('no'=>1))}" data-subcheck="true">取消置顶-->
<!--</button>-->
<!--<button class="btn btn-danger btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/delete')}" data-subcheck="true" data-msg="您确定删除吗?">-->
<!--{:lang('DELETE')}-->
<!--</button>-->
<!--</div>-->
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="50">ID</th>
<th width="300">标题</th>
<th width="120">简介</th>
<th width="50">提交时间</th>
<th width="120">操作</th>
</tr>
</thead>
<foreach name="list" item="vo">
<tr>
<td><b>{$vo.id}</b></td>
<td>{$vo.post_title}</td>
<td>{$vo.post_excerpt}</td>
<td>
<notempty name="vo.create_time">
{:date('Y-m-d H:i',$vo['create_time'])}
</notempty>
</td>
<td>
<a href="{:url('edit',array('id'=>$vo['id']))}">查看/编辑</a>
<a href="{:url('delete',array('id'=>$vo['id']))}" class="js-ajax-delete">{:lang('DELETE')}</a>
</td>
</tr>
</foreach>
</table>
<ul class="pagination">{$page|default=''}</ul>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
function reloadPage(win) {
win.location.reload();
}
$(function () {
setCookie("refersh_time", 0);
Wind.use('ajaxForm', 'artDialog', 'iframeTools', function () {
//批量复制
$('.js-articles-copy').click(function (e) {
var ids = [];
$("input[name='ids[]']").each(function () {
if ($(this).is(':checked')) {
ids.push($(this).val());
}
});
if (ids.length == 0) {
art.dialog.through({
id: 'error',
icon: 'error',
content: '您没有勾选信息,无法进行操作!',
cancelVal: '关闭',
cancel: true
});
return false;
}
ids = ids.join(',');
art.dialog.open("__ROOT__/index.php?g=portal&m=AdminArticle&a=copy&ids=" + ids, {
title: "批量复制",
width: "300px"
});
});
//批量移动
$('.js-articles-move').click(function (e) {
var ids = [];
$("input[name='ids[]']").each(function () {
if ($(this).is(':checked')) {
ids.push($(this).val());
}
});
if (ids.length == 0) {
art.dialog.through({
id: 'error',
icon: 'error',
content: '您没有勾选信息,无法进行操作!',
cancelVal: '关闭',
cancel: true
});
return false;
}
ids = ids.join(',');
art.dialog.open("__ROOT__/index.php?g=portal&m=AdminArticle&a=move&old_term_id={$term.term_id|default=0}&ids=" + ids, {
title: "批量移动",
width: "300px"
});
});
});
});
</script>
<script src="http://www.jq22.com/jquery/1.11.1/jquery.min.js"></script>
<script src="/static/src/zoomify/zoomify.js"></script>
<script type="text/javascript">
$('.example img').zoomify();
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
<link rel="stylesheet" href="/static/scr/zoomify/bootstrap-grid.min.css">
<link rel="stylesheet" href="/static/scr/zoomify/dist/zoomify.css">
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="javascript:;">所有文章</a></li>
<!--<li><a href="{:url('add')}">添加文章</a></li>-->
</ul>
<form class="well form-inline margin-top-20" method="post" action="{:url('index')}">
标题:
<input type="text" class="form-control" name="keyword" style="width: 200px;"
value="{$keyword|default=''}" placeholder="请输入关键字...">
<input type="submit" class="btn btn-primary" value="搜索"/>
<a class="btn btn-danger" href="{:url('AdminArticle/index')}">清空</a>
</form>
<form class="js-ajax-form" action="" method="post">
<!--<div class="table-actions">-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/top',array('yes'=>1))}" data-subcheck="true">置顶-->
<!--</button>-->
<!--<button class="btn btn-primary btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/top',array('no'=>1))}" data-subcheck="true">取消置顶-->
<!--</button>-->
<!--<button class="btn btn-danger btn-sm js-ajax-submit" type="submit"-->
<!--data-action="{:url('AdminArticle/delete')}" data-subcheck="true" data-msg="您确定删除吗?">-->
<!--{:lang('DELETE')}-->
<!--</button>-->
<!--</div>-->
<table class="table table-hover table-bordered table-list">
<thead>
<tr>
<th width="50">ID</th>
<th width="300">标题</th>
<th width="50">提交时间</th>
<th width="120">操作</th>
</tr>
</thead>
<foreach name="list" item="vo">
<tr>
<td><b>{$vo.id}</b></td>
<td>{$vo.post_title}</td>
<td>
<notempty name="vo.create_time">
{:date('Y-m-d H:i',$vo['create_time'])}
</notempty>
</td>
<td>
<a href="{:url('edit2',array('id'=>$vo['id']))}">查看/编辑</a>
</td>
</tr>
</foreach>
</table>
<ul class="pagination">{$page|default=''}</ul>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script>
function reloadPage(win) {
win.location.reload();
}
$(function () {
setCookie("refersh_time", 0);
Wind.use('ajaxForm', 'artDialog', 'iframeTools', function () {
//批量复制
$('.js-articles-copy').click(function (e) {
var ids = [];
$("input[name='ids[]']").each(function () {
if ($(this).is(':checked')) {
ids.push($(this).val());
}
});
if (ids.length == 0) {
art.dialog.through({
id: 'error',
icon: 'error',
content: '您没有勾选信息,无法进行操作!',
cancelVal: '关闭',
cancel: true
});
return false;
}
ids = ids.join(',');
art.dialog.open("__ROOT__/index.php?g=portal&m=AdminArticle&a=copy&ids=" + ids, {
title: "批量复制",
width: "300px"
});
});
//批量移动
$('.js-articles-move').click(function (e) {
var ids = [];
$("input[name='ids[]']").each(function () {
if ($(this).is(':checked')) {
ids.push($(this).val());
}
});
if (ids.length == 0) {
art.dialog.through({
id: 'error',
icon: 'error',
content: '您没有勾选信息,无法进行操作!',
cancelVal: '关闭',
cancel: true
});
return false;
}
ids = ids.join(',');
art.dialog.open("__ROOT__/index.php?g=portal&m=AdminArticle&a=move&old_term_id={$term.term_id|default=0}&ids=" + ids, {
title: "批量移动",
width: "300px"
});
});
});
});
</script>
<script src="http://www.jq22.com/jquery/1.11.1/jquery.min.js"></script>
<script src="/static/src/zoomify/zoomify.js"></script>
<script type="text/javascript">
$('.example img').zoomify();
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
<style>.expander{margin-left: -20px;}</style>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('rbac/index')}">{:lang('ADMIN_RBAC_INDEX')}</a></li>
<li><a href="{:url('rbac/roleAdd')}">{:lang('ADMIN_RBAC_ROLEADD')}</a></li>
<li class="active"><a href="javascript:;">{:lang('ADMIN_RBAC_AUTHORIZE')}</a></li>
</ul>
<form class="js-ajax-form margin-top-20" action="{:url('rbac/authorizePost')}" method="post">
<div class="table_full">
<table class="table table-bordered" id="authrule-tree">
<tbody>
{$category}
</tbody>
</table>
</div>
<div class="form-actions">
<input type="hidden" name="roleId" value="{$roleId}" />
<button class="btn btn-primary js-ajax-submit" type="submit">{:lang('SAVE')}</button>
<a class="btn btn-default" href="{:url('admin/rbac/index')}">{:lang('BACK')}</a>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
<script type="text/javascript">
$(document).ready(function () {
Wind.css('treeTable');
Wind.use('treeTable', function () {
$("#authrule-tree").treeTable({
indent: 20
});
});
});
function checknode(obj) {
var chk = $("input[type='checkbox']");
var count = chk.length;
var num = chk.index(obj);
var level_top = level_bottom = chk.eq(num).attr('level');
for (var i = num; i >= 0; i--) {
var le = chk.eq(i).attr('level');
if (le <level_top) {
chk.eq(i).prop("checked", true);
var level_top = level_top - 1;
}
}
for (var j = num + 1; j < count; j++) {
var le = chk.eq(j).attr('level');
if (chk.eq(num).prop("checked")) {
if (le > level_bottom){
chk.eq(j).prop("checked", true);
}
else if (le == level_bottom){
break;
}
} else {
if (le >level_bottom){
chk.eq(j).prop("checked", false);
}else if(le == level_bottom){
break;
}
}
}
}
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="{:url('rbac/index')}">{:lang('ADMIN_RBAC_INDEX')}</a></li>
<li><a href="{:url('rbac/roleAdd')}">{:lang('ADMIN_RBAC_ROLEADD')}</a></li>
</ul>
<form action="{:url('Rbac/listorders')}" method="post" class="margin-top-20">
<table class="table table-hover table-bordered">
<thead>
<tr>
<th width="40">ID</th>
<th align="left">{:lang('ROLE_NAME')}</th>
<th align="left">{:lang('ROLE_DESCRIPTION')}</th>
<th width="60" align="left">{:lang('STATUS')}</th>
<th width="160">{:lang('ACTIONS')}</th>
</tr>
</thead>
<tbody>
<foreach name="roles" item="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.name}</td>
<td>{$vo.remark}</td>
<td>
<if condition="$vo['status'] eq 1">
<font color="red"></font>
<else />
<font color="red"></font>
</if>
</td>
<td>
<if condition="$vo['id'] eq 1">
<font color="#cccccc">{:lang('ROLE_SETTING')}</font> <!-- <a href="javascript:openIframeDialog('{:url('rbac/member',array('id'=>$vo['id']))}','成员管理');">成员管理</a> | -->
<font color="#cccccc">{:lang('EDIT')}</font> <font color="#cccccc">{:lang('DELETE')}</font>
<else />
<a href="{:url('Rbac/authorize',array('id'=>$vo['id']))}">{:lang('ROLE_SETTING')}</a>
<!-- <a href="javascript:openIframeDialog('{:url('rbac/member',array('id'=>$vo['id']))}','成员管理');">成员管理</a>| -->
<a href="{:url('Rbac/roleedit',array('id'=>$vo['id']))}">{:lang('EDIT')}</a>
<a class="js-ajax-delete" href="{:url('Rbac/roledelete',array('id'=>$vo['id']))}">{:lang('DELETE')}</a>
</if>
</td>
</tr>
</foreach>
</tbody>
</table>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<admintpl file="header" />
</head>
<body style="min-width: 600px;">
<div class="wrap">
<form method="post" class="js-ajax-form">
<table class="table table-hover">
<thead>
<tr>
<th align="center">ID</th>
<th>用户名</th>
<th>昵称</th>
<th>E-mail</th>
<th>角色名称</th>
<th align='center'>操作</th>
</tr>
</thead>
<tbody>
<foreach name="lists" item="vo">
<tr>
<td align="center">{$vo.id}</td>
<td>{$vo.user_login}</td>
<td>{$vo.user_nickname}</td>
<td>{$vo.user_email}</td>
<!-- <td>{:date('Y-m-d H:i:s', $vo['create_time'])}</td> -->
<td>{$vo.name}</td>
<td align="center">
<a href="{:U('user/delete',array('id'=>$vo['id']))}" class="js-ajax-delete">删除</a>
</td>
</tr>
</foreach>
</tbody>
</table>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('rbac/index')}">{:lang('ADMIN_RBAC_INDEX')}</a></li>
<li class="active"><a href="{:url('rbac/roleadd')}">{:lang('ADMIN_RBAC_ROLEADD')}</a></li>
</ul>
<form class="form-horizontal js-ajax-form margin-top-20" action="{:url('rbac/roleAddPost')}" method="post">
<div class="form-group">
<label for="input-name" class="col-sm-2 control-label"><span class="form-required">*</span>{:lang('ROLE_NAME')}</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-name" name="name">
</div>
</div>
<div class="form-group">
<label for="input-remark" class="col-sm-2 control-label">{:lang('ROLE_DESCRIPTION')}</label>
<div class="col-md-6 col-sm-10">
<textarea type="text" class="form-control" id="input-remark" name="remark"></textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{:lang('STATUS')}</label>
<div class="col-md-6 col-sm-10">
<label class="radio-inline">
<input type="radio" name="status" value="1"> {:lang('ENABLED')}
</label>
<label class="radio-inline">
<input type="radio" name="status" value="0"> {:lang('DISABLED')}
</label>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('ADD')}</button>
</div>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('rbac/index')}">{:lang('ADMIN_RBAC_INDEX')}</a></li>
<li><a href="{:url('rbac/roleadd')}">{:lang('ADMIN_RBAC_ROLEADD')}</a></li>
<li class="active"><a>编辑角色</a></li>
</ul>
<form class="form-horizontal js-ajax-form margin-top-20" action="{:url('rbac/roleeditpost')}" method="post">
<div class="form-group">
<label for="input-name" class="col-sm-2 control-label"><span class="form-required">*</span>{:lang('ROLE_NAME')}</label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-name" name="name" value="{$data.name}">
</div>
</div>
<div class="form-group">
<label for="input-remark" class="col-sm-2 control-label">{:lang('ROLE_DESCRIPTION')}</label>
<div class="col-md-6 col-sm-10">
<textarea type="text" class="form-control" id="input-remark" name="remark">{$data.remark}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">{:lang('STATUS')}</label>
<div class="col-md-6 col-sm-10">
<label class="radio-inline">
<php>$active_true_checked=($data['status']==1)?"checked":"";</php>
<input type="radio" name="status" value="1" {$active_true_checked}> {:lang('ENABLED')}
</label>
<label class="radio-inline">
<php>$active_false_checked=($data['status']==0)?"checked":"";</php>
<input type="radio" name="status" value="0" {$active_false_checked}> {:lang('DISABLED')}
</label>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="hidden" name="id" value="{$data.id}"/>
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
<a class="btn btn-default" href="{:url('admin/rbac/index')}">{:lang('BACK')}</a>
</div>
</div>
</form>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header" />
</head>
<body>
<div class="wrap js-check-wrap">
<ul class="nav nav-tabs">
<li class="active"><a href="javascript:void(0)">回收站列表</a></li>
</ul>
<table class="table table-hover table-bordered margin-top-20">
<thead>
<tr>
<th width="50">ID</th>
<th>内容名称</th>
<th>内容类型</th>
<th>删除时间</th>
<th>操作人</th>
<th width="130">{:lang('ACTIONS')}</th>
</tr>
</thead>
<tbody>
<foreach name="list" item="vo">
<tr>
<td>{$vo.id}</td>
<td>{$vo.name}</td>
<td>
{:lang('TABLE_'.strtoupper($vo['table_name']))}
</td>
<td> {:date('Y-m-d H:i:s',$vo['create_time'])}</td>
<td> {:$vo.user.user_login}</td>
<td>
<a href="{:url('RecycleBin/restore',array('id'=>$vo['id']))}" class="js-ajax-dialog-btn" data-msg="确定要还原吗?">还原</a>
<a href="{:url('RecycleBin/delete',array('id'=>$vo['id']))}" class="js-ajax-delete">{:lang('DELETE')}</a>
</td>
</tr>
</foreach>
</tbody>
</table>
<div class="pagination">{$page}</div>
</div>
<script src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('route/index')}">URL美化</a></li>
<li class="active"><a href="{:url('route/add')}">添加URL规则</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('route/addPost')}">
<div class="form-group">
<label for="input-full_url" class="col-sm-2 control-label">原始网址<span class="form-required">*</span></label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-full_url" name="full_url"> <a href="javascript:doSelectUrl();">选择规则</a>
</div>
</div>
<div class="form-group">
<label for="input-url" class="col-sm-2 control-label">显示网址<span class="form-required">*</span></label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-url" name="url">
<p class="help-block"><span id="url-vars"></span> url格式一般为list/:param1/:param2或 list-&lt;param1&gt;-&lt;param2&gt;
</p>
</div>
</div>
<div class="form-group">
<label for="input-status" class="col-sm-2 control-label">是否启用</label>
<div class="col-md-6 col-sm-10">
<select class="form-control" name="status" id="input-status">
<option value="1">启用</option>
<option value="0">禁用</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
<script>
function doSelectUrl() {
var selectedCategoriesId = $('#js-categories-id-input').val();
openIframeLayer("{:url('Route/select')}?ids=" + selectedCategoriesId, '请选择URL', {
area: ['95%', '90%'],
btn: ['确定', '取消'],
yes: function (index, layero) {
var iframeWin = window[layero.find('iframe')[0]['name']];
var selectedUrl = iframeWin.confirm();
if (selectedUrl) {
$('#input-full_url').val(selectedUrl.action);
$('#input-url').val(selectedUrl.url);
var helpBlock = selectedUrl.vars ? "URL参数有" + selectedUrl.vars + ',' : '';
$('#url-vars').text(helpBlock);
}
layer.close(index); //如果设定了yes回调,需进行手工关闭
}
});
}
</script>
</body>
</html>
\ No newline at end of file
... ...
<include file="public@header"/>
</head>
<body>
<div class="wrap">
<ul class="nav nav-tabs">
<li><a href="{:url('route/index')}">URL美化</a></li>
<li><a href="{:url('route/add')}">添加URL规则</a></li>
<li class="active"><a>编辑URL规则</a></li>
</ul>
<form method="post" class="form-horizontal js-ajax-form margin-top-20" action="{:url('route/editPost')}">
<div class="form-group">
<label for="input-full_url" class="col-sm-2 control-label">原始网址<span class="form-required">*</span></label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-full_url" name="full_url" value="{$full_url}">
</div>
</div>
<div class="form-group">
<label for="input-url" class="col-sm-2 control-label">显示网址<span class="form-required">*</span></label>
<div class="col-md-6 col-sm-10">
<input type="text" class="form-control" id="input-url" name="url" value="{$url}">
<p class="help-block"><span id="url-vars"></span> url格式一般为list/:param1/:param2或 list-&lt;param1&gt;-&lt;param2&gt;
</p>
</div>
</div>
<div class="form-group">
<label for="input-status" class="col-sm-2 control-label">是否启用</label>
<div class="col-md-6 col-sm-10">
<select class="form-control" name="status" id="input-status">
<option value="1">启用</option>
<php>$status_selected=$status?"":"selected";</php>
<option value="0" {$status_selected}>禁用</option>
</select>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="hidden" name="id" value="{$id}">
<button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button>
<a class="btn btn-default" href="{:url('Route/index')}">返回</a>
</div>
</div>
</form>
</div>
<script type="text/javascript" src="__STATIC__/js/admin.js"></script>
</body>
</html>
\ No newline at end of file
... ...