初始化项目

This commit is contained in:
2016-06-21 17:12:08 +08:00
commit 7ea154d684
903 changed files with 226100 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
return array(
'view_replace_str' => array(
'__ADDONS__' => BASE_PATH . '/addons',
'__PUBLIC__' => BASE_PATH . '/public',
'__STATIC__' => BASE_PATH . '/application/user/static',
'__IMG__' => BASE_PATH . '/application/user/static/images',
'__CSS__' => BASE_PATH . '/application/user/static/css',
'__JS__' => BASE_PATH . '/application/user/static/js',
)
);

View File

@@ -0,0 +1,184 @@
<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace app\user\controller;
use app\common\controller\User;
class Content extends User{
public function _initialize(){
parent::_initialize();
$this->getContentMenu();
$model_id = $this->request->param('model_id');
$row = db('Model')->select();
foreach ($row as $key => $value) {
$list[$value['id']] = $value;
}
if (empty($list[$model_id])) {
return $this->error("无此模型!");
}else {
$this->modelInfo = $list[$model_id];
if ($this->modelInfo['extend'] > 1) {
$this->model = model($this->modelInfo['name']);
}else{
$this->model = model('Document')->extend($this->modelInfo['name']);
}
}
$this->assign('model_id',$model_id);
$this->assign('model_list',$list);
$this->assign('model_info',$this->modelInfo);
}
public function index(){
if ($this->modelInfo['list_grid'] == '') {
return $this->error("列表定义不正确!", url('admin/model/edit',array('id'=>$this->modelInfo['id'])));
}
$grid_list = get_grid_list($this->modelInfo['list_grid']);
$order = "id desc";
$map['uid'] = session('user_auth.uid');
if ($this->modelInfo['extend'] == 1) {
$map['model_id'] = $this->modelInfo['id'];
}
$field = array_filter($grid_list['fields']);
$list = $this->model->where($map)->field($field)->order($order)->paginate(15);
$data = array(
'grid' => $grid_list,
'list' => $list,
'page' => $list->render()
);
$this->assign($data);
return $this->fetch();
}
/**
* 内容添加
* @author molong <ycgpp@126.com>
*/
public function add(){
if (IS_POST) {
$result = $this->model->change();
if ($result) {
return $this->success("添加成功!",url('admin/content/index',array('model_id'=>$this->modelInfo['id'])));
}else{
return $this->error($this->model->getError(),'');
}
}else{
$info = array(
'model_id' => $this->modelInfo['id']
);
$data = array(
'info' => $info,
'fieldGroup' => $this->getField($this->modelInfo)
);
$this->assign($data);
return $this->fetch('public/edit');
}
}
/**
* 内容修改
* @author molong <ycgpp@126.com>
*/
public function edit($id){
if (IS_POST) {
$result = $this->model->change();
if ($result !== false) {
return $this->success("更新成功!",url('admin/content/index',array('model_id'=>$this->modelInfo['id'])));
}else{
return $this->error($this->model->getError(),'');
}
}else{
if (!$id) {
return $this->error("非法操作!");
}
$info = $this->model->detail($id);
if (!$info) {
return $this->error($this->model->getError());
}
$info['model_id'] = $this->modelInfo['id'];
$data = array(
'info' => $info,
'fieldGroup' => $this->getField($this->modelInfo)
);
$this->assign($data);
return $this->fetch('public/edit');
}
}
/**
* 内容删除
* @author molong <ycgpp@126.com>
*/
public function del(){
$id = input('get.id','','trim');
$ids = input('post.ids/a',array());
array_push($ids, $id);
if (empty($ids)) {
return $this->error("非法操作!");
}
$map['id'] = array('IN',$ids);
$result = $this->model->del($map);
if ($result) {
return $this->success("删除成功!");
}else{
return $this->error("删除失败!", '', "");
}
}
protected function getField(){
$field_group = parse_config_attr($this->modelInfo['field_group']);
$field_sort = json_decode($this->modelInfo['field_sort'],true);
if ($this->modelInfo['extend'] > 1) {
$map['model_id'] = $this->modelInfo['id'];
}else{
$model_id[] = $this->modelInfo['id'];
$model_id[] = 1;
$map['model_id'] = array('IN',$model_id);
}
if (ACTION_NAME == 'add') {
$map['is_show'] = array('in',array('1','2'));
}elseif(ACTION_NAME == 'edit'){
$map['is_show'] = array('in',array('1','3'));
}
//获得数组的第一条数组
$first_key = array_keys($field_group);
$fields = model('Attribute')->getFieldlist($map);
if (!empty($field_sort)) {
foreach ($field_sort as $key => $value) {
foreach ($value as $index) {
if (isset($fields[$index])) {
$groupfield[$key][] = $fields[$index];
unset($fields[$index]);
}
}
}
}
//未进行排序的放入第一组中
$fields[] = array('name'=>'model_id','type'=>'hidden'); //加入模型ID值
$fields[] = array('name'=>'id','type'=>'hidden'); //加入模型ID值
foreach ($fields as $key => $value) {
$groupfield[$first_key[0]][] = $value;
}
foreach ($field_group as $key => $value) {
if ($groupfield[$key]) {
$data[$value] = $groupfield[$key];
}
}
return $data;
}
}

View File

@@ -0,0 +1,18 @@
<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace app\user\controller;
use app\common\controller\User;
class Index extends User{
public function index(){
return $this->fetch();
}
}

View File

@@ -0,0 +1,74 @@
<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace app\user\controller;
use app\common\controller\Fornt;
class Login extends Fornt{
public function index($username = '', $password = '', $verify = ''){
if (IS_POST) {
if (!$username || !$password) {
return $this->error('用户名或者密码不能为空!','');
}
//验证码验证
$this->checkVerify($verify);
$user = model('User');
$uid = $user->login($username,$password);
if ($uid > 0) {
$url = session('http_referer') ? session('http_referer') : url('user/index/index');
return $this->success('登录成功!', $url);
}else{
switch($uid) {
case -1: $error = '用户不存在或被禁用!'; break; //系统级别禁用
case -2: $error = '密码错误!'; break;
default: $error = '未知错误!'; break; // 0-接口参数错误(调试阶段使用)
}
return $this->error($error,'');
}
}else{
session('http_referer', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
if (is_login()) {
return $this->redirect('user/index/index');
}else{
return $this->fetch();
}
}
}
public function logout(){
model('User')->logout();
return $this->redirect('index/index/index');
}
public function register(){
if (IS_POST) {
$user = model('User');
$username = input('username', '', 'trim');
$password = input('password', '', 'trim');
$repassword = input('repassword', '', 'trim');
$verify = input('verify', '', 'trim');
//验证码验证
$this->checkVerify($verify);
if ($username == '' || $password == '' || $repassword == '') {
return $this->error("请填写完整注册信息!", '');
}
$result = $user->register($username, $password, $repassword);
if ($result) {
return $this->success('注册成功!', url('user/index/index'));
}else{
return $this->error($user->getError(), '');
}
}else{
return $this->fetch();
}
}
}

View File

@@ -0,0 +1,57 @@
<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace app\user\controller;
use app\common\controller\User;
class Profile extends User{
//修改资料
public function index(){
$user = model('User');
if (IS_POST) {
$result = $user->change();
if ($result !== false) {
return $this->success("更新成功!", "");
}else{
return $this->error($user->getError(), '');
}
}else{
$group['基础资料'] = $user->useredit;
$info = $user->getInfo(session('user_auth.uid'));
$data = array(
'fieldGroup' => $group,
'info' => $info
);
$this->assign($data);
return $this->fetch('public/edit');
}
}
//修改密码
public function editpw(){
$user = model('User');
if (IS_POST) {
$result = $user->editpw();
if ($result !== false) {
return $this->success("更新成功!", "");
}else{
return $this->error($user->getError(), '');
}
}else{
return $this->fetch();
}
}
//修改头像
public function avatar(){
return $this->fetch();
}
}

View File

@@ -0,0 +1,75 @@
<?php
// +----------------------------------------------------------------------
// | SentCMS [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2013 http://www.tensent.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: molong <molong@tensent.cn> <http://www.tensent.cn>
// +----------------------------------------------------------------------
namespace app\user\controller;
use app\common\controller\User;
class Upload extends User {
protected $controller;
public function _initialize(){
parent::_initialize();
$this->controller = controller('common/Upload');
}
public function _empty(){
$action = $this->request->action();
return $this->controller->$action();
}
public function download(){
$order_id = input('order_id', '', 'trim');
$product_id = input('product_id', '', 'trim');
//判断是否已经支付
$pay_status = db('Order')->where(array('id'=>$order_id))->value('pay_status');
if (!$pay_status) {
return $this->error("您还未购买!");
}
//获取产品文件
$book = db('Book')->where(array('id'=>$product_id))->find();
if (!$book['file']) {
return $this->error("无此图书文件,请联系网站管理员!");
}
$book_file = db('file')->where(array('id'=>$book['file']))->find();
$attachment = config('attachment_upload');
$file = array(
'rootpath' => $attachment['rootPath'],
'savepath' => $book_file['savepath'],
'savename' => $book_file['savename'],
'type' => $book_file['ext'],
'size' => $book_file['size'],
'name' => $book['book_name'].'.'.$book_file['ext']
);
$result = $this->controller->downLocalFile($file);
if ($result === false) {
return $this->error("下载失败!");
}
}
public function avatar(){
$file = \think\Input::file('UpFile');
$info = $file->rule('uniqid')->move('./uploads/avatar/'.setavatardir(session('user_auth.uid')), true, true);
$image = new \org\Image();
$image->init()->open($info->getPathname())->thumb(120,120)->save('./uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_big.png');
$image->init()->open($info->getPathname())->thumb(100,100)->save('./uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_middle.png');
$image->init()->open($info->getPathname())->thumb(60,60)->save('./uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_small.png');
unlink($info->getPathname());
$data = array(
array('ImgUrl' => '/uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_big.png'),
array('ImgUrl' => '/uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_middle.png'),
array('ImgUrl' => '/uploads/avatar/'.setavatardir(session('user_auth.uid')).'/avatar_small.png'),
);
return json_encode($data);
}
}

File diff suppressed because it is too large Load Diff

View File

View File

@@ -0,0 +1,60 @@
{extend name="public/base"/}
{block name="body"}
<div class="main-box clearfix">
<header class="main-box-header clearfix">
<div class="pull-left">
<h2>{$model_info['title']}管理</h2>
</div>
<div class="pull-right">
<a class="btn btn-primary" href="{:url('user/content/add?model_id='.$model_id)}">新 增</a>
<button class="btn btn-danger ajax-post confirm" url="{:url('user/content/del?model_id='.$model_id)}" target-form="ids">删 除</button>
</div>
</header>
<div class="main-box-body clearfix">
<div class="table-responsive clearfix">
<div class="table-responsive clearfix">
<table class="table table-hover">
<thead>
<tr>
<th width="30"><input class="checkbox check-all" type="checkbox"></th>
{volist name="grid['grids']" id="item"}
<th>{$item['title']}</th>
{/volist}
<th>操作</th>
</tr>
</thead>
<tbody>
{if condition="empty($list)"}
{php}
$cow = count($grid['grids'])+2;
{/php}
<tr>
<td colspan="{$cow}" align="center">暂无数据!</td>
</tr>
{else/}
{volist name="list" id="item"}
<tr>
<td><input class="ids row-selected" type="checkbox" name="ids[]" value="{$item['id']}"></td>
{volist name="grid['grids']" id="vo"}
{if isset($vo['format'])}
<td>{$item[$vo['field'][0]]|$vo['format']}</td>
{else/}
<td>{$item[$vo['field'][0]]}</td>
{/if}
{/volist}
<td>
<a href="{:url('user/content/edit',array('id'=>$item['id'],'model_id'=>$model_id))}" >编辑</a>
<a href="{:url('user/content/del',array('id'=>$item['id'],'model_id'=>$model_id))}" class="ajax-get confirm">删除</a>
</td>
</tr>
{/volist}
{/if}
</tbody>
</table>
</div>
{$page}
</div>
</div>
</div>
{/block}

View File

@@ -0,0 +1,18 @@
{extend name="public/base" /}
{block name="body"}
<div class="row">
<div class="col-lg-6 col-sm-6 col-xs-12">
<div class="main-box infographic-box colored bg-primary"> <i class="fa fa-shopping-bag"></i>
<span class="headline">订单总数</span>
<span class="value">0</span>
</div>
</div>
<div class="col-lg-6 col-sm-6 col-xs-12">
<div class="main-box infographic-box colored bg-primary"> <i class="fa fa-money"></i>
<span class="headline">我的消费</span>
<span class="value">0</span>
</div>
</div>
</div>
{/block}

View File

@@ -0,0 +1,141 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta charset="UTF-8">
<title>会员登录</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
<link rel="stylesheet" type="text/css" href="__CSS__/style.css"/>
<script src="__PUBLIC__/js/jquery.js"></script>
<!--[if lt IE 9]>
<script src="__PUBLIC__/js/html5shiv.js"></script>
<script src="__PUBLIC__/js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<body id="login-page-full">
<div id="login-full-wrapper">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div id="login-box">
<div id="login-box-holder">
<div class="row">
<div class="col-xs-12">
<div id="login-box-inner">
<form role="form" method="post">
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-user"></i>
</span>
<input class="form-control" name="username" type="text" placeholder="登录账户"></div>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-key"></i>
</span>
<input type="password" name="password" class="form-control" placeholder="登录密码"></div>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-qrcode"></i>
</span>
<input type="text" name="verify" class="form-control" placeholder="验证码">
<span class="input-group-addon reloadverify"><img src="{:url('user/index/verify')}" alt="验证码" height="40" class="verifyimg"></span>
</div>
<div class="row">
<div class="col-xs-12">
<button type="submit" class="btn btn-success col-xs-12">
<span class="hidden">
<i class="fa-loading"></i>
登 录 中 ...
</span>
<span class="show">登 录</span>
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div id="login-box-footer">
<div class="row">
<div class="col-xs-12">
版权所有
&copy; <a href="http://www.tensent.cn" target="_blank">TenSent,Inc.</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
<script src="__PUBLIC__/js/messager.js"></script>
<script type="text/javascript">
$(function(){
/* 登陆表单获取焦点变色 */
$(".login-form").on("focus", "input", function(){
$(this).closest('.item').addClass('focus');
}).on("blur","input",function(){
$(this).closest('.item').removeClass('focus');
});
//表单提交
$(document).ajaxStart(function(){
$("button:submit").addClass("log-in").attr("disabled", true);
}).ajaxStop(function(){
$("button:submit").removeClass("log-in").attr("disabled", false);
});
$("form").submit(function(){
var self = $(this);
$.post(self.attr("action"), self.serialize(), success, "json");
return false;
function success(data){
if(data.code){
window.location.href = data.url;
} else {
$.messager.show(data.msg, {placement: 'center',type:'success'});
//刷新验证码
$(".reloadverify").click();
}
}
});
//初始化选中用户名输入框
$("#itemBox").find("input[name=username]").focus();
//刷新验证码
var verifyimg = $(".verifyimg").attr("src");
$(".reloadverify").click(function(){
if( verifyimg.indexOf('?')>0){
$(".verifyimg").attr("src", verifyimg+'&random='+Math.random());
}else{
$(".verifyimg").attr("src", verifyimg.replace(/\?.*$/,'')+'?'+Math.random());
}
});
//placeholder兼容性
//如果支持
function isPlaceholer(){
var input = document.createElement('input');
return "placeholder" in input;
}
//如果不支持
if(!isPlaceholer()){
$(".placeholder_copy").css({display:'block'})
$("#itemBox input").keydown(function(){
$(this).parents(".item").next(".placeholder_copy").css({display:'none'})
})
$("#itemBox input").blur(function(){
if($(this).val()==""){
$(this).parents(".item").next(".placeholder_copy").css({display:'block'})
}
})
}
});
</script>

View File

@@ -0,0 +1,145 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta charset="UTF-8">
<title>用户注册</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
<link rel="stylesheet" type="text/css" href="__CSS__/style.css"/>
<script src="__PUBLIC__/js/jquery.js"></script>
<!--[if lt IE 9]>
<script src="__PUBLIC__/js/html5shiv.js"></script>
<script src="__PUBLIC__/js/respond.min.js"></script>
<![endif]-->
</head>
<body>
<body id="login-page-full">
<div id="login-full-wrapper">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div id="login-box">
<div id="login-box-holder">
<div class="row">
<div class="col-xs-12">
<div id="login-box-inner">
<form role="form" method="post">
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-user"></i>
</span>
<input class="form-control" name="username" type="text" placeholder="登录账户"></div>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-key"></i>
</span>
<input type="password" name="password" class="form-control" placeholder="密码"></div>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-key"></i>
</span>
<input type="password" name="repassword" class="form-control" placeholder="确认密码"></div>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-qrcode"></i>
</span>
<input type="text" name="verify" class="form-control" placeholder="验证码">
<span class="input-group-addon reloadverify"><img src="{:url('user/index/verify')}" alt="验证码" height="40" class="verifyimg"></span>
</div>
<div class="row">
<div class="col-xs-12">
<button type="submit" class="btn btn-success col-xs-12">
<span class="hidden">
<i class="fa-loading"></i>
注 册 中 ...
</span>
<span class="show">注 册</span>
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div id="login-box-footer">
<div class="row">
<div class="col-xs-12">
版权所有
&copy; <a href="http://www.tensent.cn" target="_blank">TenSent,Inc.</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
<script src="__PUBLIC__/js/messager.js"></script>
<script type="text/javascript">
$(function(){
/* 登陆表单获取焦点变色 */
$(".login-form").on("focus", "input", function(){
$(this).closest('.item').addClass('focus');
}).on("blur","input",function(){
$(this).closest('.item').removeClass('focus');
});
//表单提交
$(document).ajaxStart(function(){
$("button:submit").addClass("log-in").attr("disabled", true);
}).ajaxStop(function(){
$("button:submit").removeClass("log-in").attr("disabled", false);
});
$("form").submit(function(){
var self = $(this);
$.post(self.attr("action"), self.serialize(), success, "json");
return false;
function success(data){
if(data.code){
window.location.href = data.url;
} else {
$.messager.show(data.msg, {placement: 'center',type:'success'});
//刷新验证码
$(".reloadverify").click();
}
}
});
//初始化选中用户名输入框
$("#itemBox").find("input[name=username]").focus();
//刷新验证码
var verifyimg = $(".verifyimg").attr("src");
$(".reloadverify").click(function(){
if( verifyimg.indexOf('?')>0){
$(".verifyimg").attr("src", verifyimg+'&random='+Math.random());
}else{
$(".verifyimg").attr("src", verifyimg.replace(/\?.*$/,'')+'?'+Math.random());
}
});
//placeholder兼容性
//如果支持
function isPlaceholer(){
var input = document.createElement('input');
return "placeholder" in input;
}
//如果不支持
if(!isPlaceholer()){
$(".placeholder_copy").css({display:'block'})
$("#itemBox input").keydown(function(){
$(this).parents(".item").next(".placeholder_copy").css({display:'none'})
})
$("#itemBox input").blur(function(){
if($(this).val()==""){
$(this).parents(".item").next(".placeholder_copy").css({display:'block'})
}
})
}
});
</script>

View File

@@ -0,0 +1,94 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<title>确认订单信息-会员中心 - Powered by TenSent,Inc.</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/style.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/order.css"/>
<script src="__PUBLIC__/js/jquery.js"></script>
<!--[if lt IE 9]>
<script src="__PUBLIC__/js/html5shiv.js"></script>
<script src="__PUBLIC__/js/respond.min.js"></script>
<![endif]-->
{block name="style"}{/block}
</head>
<body>
<div class="header">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="logo">
<a href="{:url('index/book/index')}"><img src="__PUBLIC__/images/logo.png" alt="确认订单信息-会员中心"></a>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
<span>1、购物车</span>
</div>
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
<span>2、确认订单信息</span>
</div>
<div class="progress-bar progress-bar-success progress-bar-striped" style="width: 25%">
<span>3、选择支付</span>
</div>
<div class="progress-bar progress-bar-primary progress-bar-striped" style="width: 25%">
<span>4、订购完成</span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<p class="no-data"><span class="red"><i class="fa fa-edit"></i></span> 订单已成功提交!</p>
<form action="{:url('user/order/pay')}" method="post" class="form">
<table class="table table-bordered">
<tbody>
<tr>
<td width="200" class="text-right">订单编号:</td>
<td>{$info['order_no']}</td>
</tr>
<tr>
<td width="200" class="text-right">订单金额:</td>
<td>¥{$info['price_count']}</td>
</tr>
<tr>
<td width="200" class="text-right">支付方式:</td>
<td>{$info['pay_type_text']}</td>
</tr>
</tbody>
</table>
<div class="pull-right">
<input type="hidden" name="order_id" value="{$info['id']}">
<input type="hidden" name="pay_type" value="{$info['pay_type']}">
<button class="btn btn-danger">立即支付</button>
</div>
</form>
</div>
</div>
</div>
<div class="footer">
<div class="warp">
<p>Copyright © 2013-2016 <a href="http://www.tensent.cn" target="_blank">腾速科技</a> 版权所有</p>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,50 @@
{extend name="public/base" /}
{block name="body"}
<div class="tabs-wrapper">
<ul class="nav nav-tabs">
<li class="active"><a href="#editpw" data-toggle="tab">我的订单</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="editpw">
{volist name="list" id="item"}
<div class="panel panel-info">
<div class="panel-heading">
订单号:{$item['order_no']}{$item['create_time']|date='Y-m-d',###}
<span class="pull-right">
{if $item['pay_status']}
已付款
{else/}
<a href="{:url('user/order/cancel',array('order_id'=>$item['id']))}" class="ajax-get"><i class="fa fa-close"></i> 取消订单</a>
<a href="{:url('user/order/lists',array('order_id'=>$item['id']))}" target="_blank" class="text-danger">付款</a>
{/if}
</span>
</div>
<table class="table">
<tr>
<th>图书</th>
<th>图书名称</th>
<th>操作</th>
</tr>
{volist name="item['product']" id="product"}
<tr>
<td width="80">
<a href="{:url('index/book/detail', array('id'=>$product['product_id']))}" target="_blank"><img src="{:get_cover($product->book['cover_id'],'path')}" alt="{$product->book['book_name']}" width="60"></a>
</td>
<td>
<a href="{:url('index/book/detail', array('id'=>$product['product_id']))}" target="_blank">{$product->book['book_name']}</a>
</td>
<td width="120">
{if $item['pay_status']}
<a href="{:url('user/upload/download',array('order_id'=>$item['id'],'product_id'=>$product['product_id']))}" target="_blank">下载图书</a>
{/if}
</td>
</tr>
{/volist}
</table>
</div>
{/volist}
{$page}
</div>
</div>
</div>
{/block}

View File

@@ -0,0 +1,124 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<title>确认订单信息-会员中心 - Powered by TenSent,Inc.</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/style.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/order.css"/>
<script src="__PUBLIC__/js/jquery.js"></script>
<!--[if lt IE 9]>
<script src="__PUBLIC__/js/html5shiv.js"></script>
<script src="__PUBLIC__/js/respond.min.js"></script>
<![endif]-->
{block name="style"}{/block}
</head>
<body>
<div class="header">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="logo">
<a href="{:url('index/book/index')}"><img src="__PUBLIC__/images/logo.png" alt="确认订单信息-会员中心"></a>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
<span>1、购物车</span>
</div>
<div class="progress-bar progress-bar-success progress-bar-striped" style="width: 25%">
<span>2、确认订单信息</span>
</div>
<div class="progress-bar progress-bar-primary progress-bar-striped" style="width: 25%">
<span>3、选择支付</span>
</div>
<div class="progress-bar progress-bar-primary progress-bar-striped" style="width: 25%">
<span>4、订购完成</span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<form action="{:url('user/order/confirm')}" method="post" class="form">
<div class="order_title">商品清单</div>
{if !empty($list)}
<table class="table table-striped">
<thead>
<tr>
<th>商品</th>
<th>名称</th>
<th>单价</th>
<th>数量</th>
<th>小计</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{volist name="list" id="item"}
<tr>
<td width="90">
<a href="{:url('index/book/detail',array('id'=>$item->book['id']))}"><img src="{:get_cover($item->book['cover_id'],'path')}" width="80"></a>
</td>
<td>
<a href="{:url('index/book/detail',array('id'=>$item->book['id']))}">{$item->book['book_name']}</a>
</td>
<td>¥{$item['price']}</td>
<td>{$item['num']}</td>
<td>¥{$item['price_count']}</td>
<td width="60">
<a href="{:url('index/cart/del',array('id'=>$item['id']))}" class="ajax-get confirm"><i class="fa fa-close"></i></a>
</td>
</tr>
{/volist}
</tbody>
</table>
<div class="text-right price_count">
<p>应付总额:<span>¥{$price_count}</span></p>
</div>
<div class="order_title">支付方式</div>
<div class="clearfix">
<ul class="payment-list">
<li class="selected">
<input type="radio" name="payment" value="alipay" checked="true">
<label><b>支付宝支付</b> </label>
<div><img src="__PUBLIC__/images/pay/alipay.png" width="180"></div>
</li>
</ul>
</div>
<div class="pull-right">
<input type="hidden" name="order_id" value="{$order_id}">
<button type="submit" class="btn btn-danger">提交订单</button>
</div>
{else/}
<p class="no-data">购物车为空!<a href="{:url('index/book/index')}">去继续选择……</a></p>
{/if}
</form>
</div>
</div>
</div>
<div class="footer">
<div class="warp">
<p>Copyright © 2013-2016 <a href="http://www.tensent.cn" target="_blank">腾速科技</a> 版权所有</p>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,93 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<title>确认订单信息-会员中心 - Powered by TenSent,Inc.</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/style.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/order.css"/>
<script src="__PUBLIC__/js/jquery.js"></script>
<!--[if lt IE 9]>
<script src="__PUBLIC__/js/html5shiv.js"></script>
<script src="__PUBLIC__/js/respond.min.js"></script>
<![endif]-->
{block name="style"}{/block}
</head>
<body>
<div class="header">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="logo">
<a href="{:url('index/book/index')}"><img src="__PUBLIC__/images/logo.png" alt="确认订单信息-会员中心"></a>
</div>
</div>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="progress">
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
<span>1、购物车</span>
</div>
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
<span>2、确认订单信息</span>
</div>
<div class="progress-bar progress-bar-danger progress-bar-striped" style="width: 25%">
<span>3、选择支付</span>
</div>
<div class="progress-bar progress-bar-success progress-bar-striped" style="width: 25%">
<span>4、订购完成</span>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<p class="no-data"><span class="red"><i class="fa fa-spinner fa-spin fa-fw"></i></span> 等待支付!</p>
{$sHtml}
</div>
</div>
</div>
{if $is_submit}
<script type="text/javascript">
$(function(){
setTimeout(function(){
document.forms['paysubmit'].submit();
},300);
setInterval(function(){
$.ajax({
url : " {:config('base_url')} " + "/user/pay/notify.html",
type : 'post',
data : {'order_id':"{$order_no}"},
success : function(data){
if(data.code === 1){
window.location
}
},
dataType : 'json'
})
},10000);
})
</script>
{/if}
<div class="footer">
<div class="warp">
<p>Copyright © 2013-2016 <a href="http://www.tensent.cn" target="_blank">腾速科技</a> 版权所有</p>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,138 @@
{extend name="public/base" /}
{block name="style"}
<link href="__PUBLIC__/plugs/avatar/css/style.css" rel="stylesheet" type="text/css" media="all">
<script type="text/javascript" src="__PUBLIC__/plugs/avatar/js/ShearPhoto.js"></script>
<script type="text/javascript" src="__PUBLIC__/plugs/avatar/js/alloyimage.js"></script>
<script type="text/javascript" src="__PUBLIC__/plugs/avatar/js/handle.js"></script>
{/block}
{block name="body"}
<div class="tabs-wrapper">
<ul class="nav nav-tabs">
<li class="active"><a href="#editpw" data-toggle="tab">修改头像</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="editpw">
<div id="shearphoto_loading">程序加载中......</div>
<!--这是2.2版本加入的缓冲效果JS方法加载前显示的等待效果-->
<div id="shearphoto_main">
<!--效果开始.............如果你不要特效,可以直接删了........-->
<div class="Effects" id="shearphoto_Effects" autocomplete="off">
<strong class="EffectsStrong">截图效果</strong>
<a href="javascript:;" StrEvent="原图" class="Aclick"><img src="__PUBLIC__/plugs/avatar/images/Effects/e0.jpg" />原图</a>
<a href="javascript:;" StrEvent="美肤"><img src="__PUBLIC__/plugs/avatar/images/Effects/e1.jpg" />美肤效果</a>
<a href="javascript:;" StrEvent="素描"><img src="__PUBLIC__/plugs/avatar/images/Effects/e2.jpg" />素描效果</a>
<a href="javascript:;" StrEvent="自然增强"><img src="__PUBLIC__/plugs/avatar/images/Effects/e3.jpg" />自然增强</a>
<a href="javascript:;" StrEvent="紫调"><img src="__PUBLIC__/plugs/avatar/images/Effects/e4.jpg" />紫调效果</a>
<a href="javascript:;" StrEvent="柔焦"><img src="__PUBLIC__/plugs/avatar/images/Effects/e5.jpg" />柔焦效果</a>
<a href="javascript:;" StrEvent="复古"><img src="__PUBLIC__/plugs/avatar/images/Effects/e6.jpg" />复古效果</a>
<a href="javascript:;" StrEvent="黑白"><img src="__PUBLIC__/plugs/avatar/images/Effects/e7.jpg" />黑白效果</a>
<a href="javascript:;" StrEvent="仿lomo"><img src="__PUBLIC__/plugs/avatar/images/Effects/e8.jpg" />仿lomo</a>
<a href="javascript:;" StrEvent="亮白增强"><img src="__PUBLIC__/plugs/avatar/images/Effects/e9.jpg" />亮白增强</a>
<a href="javascript:;" StrEvent="灰白"><img src="__PUBLIC__/plugs/avatar/images/Effects/e10.jpg" />灰白效果</a>
<a href="javascript:;" StrEvent="灰色"><img src="__PUBLIC__/plugs/avatar/images/Effects/e11.jpg" />灰色效果</a>
<a href="javascript:;" StrEvent="暖秋"><img src="__PUBLIC__/plugs/avatar/images/Effects/e12.jpg" />暖秋效果</a>
<a href="javascript:;" StrEvent="木雕"><img src="__PUBLIC__/plugs/avatar/images/Effects/e13.jpg" />木雕效果</a>
<a href="javascript:;" StrEvent="粗糙"><img src="__PUBLIC__/plugs/avatar/images/Effects/e14.jpg" />粗糙效果</a>
</div>
<!--效果结束...........................如果你不要特效,可以直接删了.....................................................-->
<!--primary范围开始-->
<div class="primary">
<!--main范围开始-->
<div id="main">
<div class="point">
</div>
<!--选择加载图片方式开始-->
<div id="SelectBox">
<form id="ShearPhotoForm" enctype="multipart/form-data" method="post" target="POSTiframe">
<input name="shearphoto" type="hidden" value="我要传参数" autocomplete="off">
<!--示例传参数到服务端后端文件UPLOAD.php用$_POST['shearphoto']接收,注意HTML5切图时这个参数是不会传的-->
<a href="javascript:;" id="selectImage">
<input type="file" name="UpFile" autocomplete="off" />
</a>
</form>
</div>
<!--选择加载图片方式结束-->
<div id="relat">
<div id="black">
</div>
<div id="movebox">
<div id="smallbox">
<img src="__PUBLIC__/plugs/avatar/images/default.gif" class="MoveImg" />
<!--截框上的小图-->
</div>
<!--动态边框开始-->
<i id="borderTop">
</i>
<i id="borderLeft">
</i>
<i id="borderRight">
</i>
<i id="borderBottom">
</i>
<!--动态边框结束-->
<i id="BottomRight">
</i>
<i id="TopRight">
</i>
<i id="Bottomleft">
</i>
<i id="Topleft">
</i>
<i id="Topmiddle">
</i>
<i id="leftmiddle">
</i>
<i id="Rightmiddle">
</i>
<i id="Bottommiddle">
</i>
</div>
<img src="__PUBLIC__/plugs/avatar/images/default.gif" class="BigImg" />
<!--MAIN上的大图-->
</div>
</div>
<!--main范围结束-->
<div style="clear: both"></div>
<!--工具条开始-->
<div id="Shearbar">
<a id="LeftRotate" href="javascript:;">
<em>
</em> 向左旋转
</a>
<em class="hint L">
</em>
<div class="ZoomDist" id="ZoomDist">
<div id="Zoomcentre">
</div>
<div id="ZoomBar">
</div>
<span class="progress">
</span>
</div>
<em class="hint R">
</em>
<a id="RightRotate" href="javascript:;">
向右旋转
<em>
</em>
</a>
<p class="Psava">
<a id="againIMG" href="javascript:;">重新选择</a>
<a id="saveShear" href="javascript:;">保存截图</a>
</p>
</div>
<!--工具条结束-->
</div>
<!--primary范围结束-->
<div style="clear: both"></div>
</div>
<!--shearphoto_main范围结束-->
</div>
</div>
</div>
{/block}

View File

@@ -0,0 +1,40 @@
{extend name="public/base" /}
{block name="body"}
<form method="post" class="form form-horizontal">
<div class="tabs-wrapper">
<ul class="nav nav-tabs">
<li class="active"><a href="#editpw" data-toggle="tab">密码修改</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade in active" id="editpw">
<form method="post" class="form form-horizontal">
<div class="form-group">
<label class="col-lg-2 control-label">原密码:</label>
<div class="col-lg-6 col-sm-10">
<input type="password" name="oldpassword" class="form-control " autocomplete="off" />
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">新密码:</label>
<div class="col-lg-6 col-sm-10">
<input type="password" name="password" class="form-control " autocomplete="off" />
</div>
</div>
<div class="form-group">
<label class="col-lg-2 control-label">确认密码:</label>
<div class="col-lg-6 col-sm-10">
<input type="password" name="repassword" class="form-control " autocomplete="off" />
</div>
</div>
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<button class="btn btn-success submit-btn ajax-post" type="submit" target-form="form-horizontal">确 定</button>
<button class="btn btn-danger btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
</div>
</div>
</form>
</div>
</div>
</div>
</form>
{/block}

View File

@@ -0,0 +1,31 @@
{extend name="public/base" /}
{block name="body"}
<form method="post" class="form form-horizontal">
<div class="tabs-wrapper">
<ul class="nav nav-tabs">
{volist name="fieldGroup" id="vGroup"}
<li {if $i eq 1}class="active"{/if}><a href="#tab{$key}" data-toggle="tab">{$key}</a></li>
{/volist}
</ul>
<div class="tab-content">
{volist name="fieldGroup" id="vGroup"}
<div class="tab-pane fade {if condition="$i eq 1"}in active{/if}" id="tab{$key}">
{volist name="vGroup" id="field"}
{if $field['type'] eq 'hidden'}
<input type="hidden" name="{$field['name']}" value="{$info[$field['name']]|default=''}"/>
{else/}
<div class="form-group">
<label class="col-lg-2 control-label">{$field['title']|htmlspecialchars}</label>
<div class="col-lg-8 col-sm-10">
{:widget('common/Form/show',array($field,$info))}
<div class="help-block">{$field['help']|default=''}</div>
</div>
</div>
{/if}
{/volist}
</div>
{/volist}
</div>
</div>
</form>
{/block}

View File

@@ -0,0 +1,96 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<title>{if isset($title)}{$title} - {/if}会员中心 - Powered by TenSent,Inc.</title>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/bootstrap/bootstrap.min.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/font-awesome.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/nanoscroller.css"/>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/common.css"/>
<!-- <link href='//fonts.googleapis.com/css?family=Open+Sans:400,600,700,300|Titillium+Web:200,300,400' rel='stylesheet' type='text/css'> -->
<link rel="stylesheet" type="text/css" href="__CSS__/style.css"/>
<script src="__PUBLIC__/js/jquery.js"></script>
<!--[if lt IE 9]>
<script src="__PUBLIC__/js/html5shiv.js"></script>
<script src="__PUBLIC__/js/respond.min.js"></script>
<![endif]-->
<script type="text/javascript">
var BASE_URL = "{:config('base_url')}"; //根目录地址
</script>
{block name="style"}{/block}
</head>
<body>
<div class="header">
<div class="top">
<div class="warp">
<div class="pull-left">
<a href="{:url('user/index/index')}" class="user-home">会员中心</a>
</div>
<div class="pull-right">
<span class="user dropdown profile-dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="fa fa-user"></i> {:session('user_auth.username')} <span class="caret"></span></a>
<ul class="dropdown-menu dropdown-menu-right">
<li><a href="{:url('user/profile/index')}">资料修改</a></li>
<li><a href="{:url('user/profile/editpw')}">修改密码</a></li>
<li><a href="{:url('user/login/logout')}">退出</a></li>
</ul>
</span>
<a href="{:url('index/index/index')}">网站首页</a>
</div>
<div class="clearfix"></div>
</div>
</div>
<div class="warp userinfo">
<div class="avatar">
<img src="{:avatar($user['uid'])}" alt="">
</div>
<div class="info">
<span class="username">{$user['username']}</span>
<span class="desc">签名:{$user['signature']}</span>
</div>
<div class="clearfix"></div>
</div>
</div>
<div class="warp user-body">
<div class="pull-left left">
{include file="public/left_nav" /}
</div>
<div class="pull-left right">
{block name="body"}{/block}
</div>
<div class="clearfix"></div>
</div>
<div class="footer">
<div class="warp">
<p>Copyright © 2013-2016 <a href="http://www.tensent.cn" target="_blank">腾速科技</a> 版权所有</p>
</div>
</div>
<script src="__PUBLIC__/js/bootstrap.js"></script>
<script src="__PUBLIC__/js/jquery.nanoscroller.min.js"></script>
<script src="__PUBLIC__/js/pace.min.js"></script>
<script src="__PUBLIC__/js/hopscotch.js"></script>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/css/libs/hopscotch.css">
<script src="__PUBLIC__/js/messager.js"></script>
<script src="__JS__/app.js"></script>
<script type="text/javascript">
(function(){
var SentCMS = window.Sent = {
"ROOT" : "__ROOT__", //当前网站地址
"APP" : "__APP__", //当前项目地址
"PUBLIC" : "__PUBLIC__", //项目公共目录地址
"DEEP" : "{:config('URL_PATHINFO_DEPR')}", //PATHINFO分割符
"MODEL" : ["{:config('URL_MODEL')}", "{:config('URL_CASE_INSENSITIVE')}", "{:config('URL_HTML_SUFFIX')}"],
"VAR" : ["{:config('VAR_MODULE')}", "{:config('VAR_CONTROLLER')}", "{:config('VAR_ACTION')}"]
}
})();
</script>
<script src="__PUBLIC__/js/core.js"></script>
{block name="script"}{/block}
</body>
</html>

View File

@@ -0,0 +1,77 @@
{extend name="public/base" /}
{block name="style"}
<link rel="stylesheet" href="__PUBLIC__/plugs/tagsinput/bootstrap-tagsinput.css">
<script src="__PUBLIC__/plugs/tagsinput/bootstrap-tagsinput.js"></script>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/plugs/webuploader/webuploader.css">
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/plugs/ueditor/ueditor.config.js"></script>
<script type="text/javascript" charset="utf-8" src="__PUBLIC__/plugs/ueditor/ueditor.all.min.js"></script>
<!-- datepicker statr -->
<link href="__PUBLIC__/plugs/datepicker/css/foundation-datepicker.min.css" rel="stylesheet" type="text/css">
<script src="__PUBLIC__/plugs/datepicker/js/foundation-datepicker.js"></script>
<script src="__PUBLIC__/plugs/datepicker/js/foundation-datepicker.zh-CN.js"></script>
<link rel="stylesheet" type="text/css" href="__PUBLIC__/plugs/board/board.min.css">
<!-- datepicker end -->
{/block}
{block name="body"}
<form method="post" class="form form-horizontal">
{if !isset($info)}
{assign name="info" value="" /}
{/if}
{if !empty($fieldGroup)}
<div class="tabs-wrapper">
<ul class="nav nav-tabs">
{volist name="fieldGroup" id="vGroup"}
<li {if $i eq 1}class="active"{/if}><a href="#tab{$key}" data-toggle="tab">{$key}</a></li>
{/volist}
</ul>
<div class="tab-content">
{volist name="fieldGroup" id="vGroup"}
<div class="tab-pane fade {if condition="$i eq 1"}in active{/if}" id="tab{$key}">
{volist name="vGroup" id="field"}
{if $field['type'] eq 'hidden'}
<input type="hidden" name="{$field['name']}" value="{$info[$field['name']]|default=''}"/>
{else/}
<div class="form-group">
<label class="col-lg-2 control-label">{$field['title']|htmlspecialchars}</label>
<div class="col-lg-8 col-sm-10">
{:widget('common/Form/show',array($field,$info))}
<div class="help-block">{$field['help']|default=''}</div>
</div>
</div>
{/if}
{/volist}
</div>
{/volist}
</div>
</div>
{else/}
{volist name="keyList" id="field"}
{if $field['type'] eq 'hidden'}
<input type="hidden" name="{$field['name']}" value="{$info[$field['name']]|default=''}"/>
{else/}
<div class="form-group">
<label class="col-lg-2 control-label">{$field['title']|htmlspecialchars}</label>
<div class="col-lg-8 col-sm-10">
{:widget('common/Form/show',array($field,$info))}
<div class="help-block">{$field['help']|default=''}</div>
</div>
</div>
{/if}
{/volist}
{/if}
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<input type="hidden" name="id" value="{$info['id']|default=''}">
<button class="btn btn-success submit-btn ajax-post" type="submit" target-form="form-horizontal">确 定</button>
<button class="btn btn-danger btn-return" onclick="javascript:history.back(-1);return false;">返 回</button>
</div>
</div>
</form>
{/block}
{block name="script"}
<script type="text/javascript" src="__PUBLIC__/plugs/webuploader/webuploader.min.js"></script>
<script type="text/javascript" src="__PUBLIC__/plugs/webuploader/webuploader.custom.js"></script>
<script type="text/javascript" src="__PUBLIC__/js/droppable.js"></script>
<script type="text/javascript" src="__PUBLIC__/plugs/board/board.min.js"></script>
{/block}

View File

@@ -0,0 +1,8 @@
{volist name="__MENU__" id="submenu"}
<ul class="left-nav">
<h3><i class="fa fa-cube"></i> {$key}</h3>
{volist name="submenu" id="item"}
<li class="{$item['active']}"><a href="{$item['url']|get_nav_url}"><i class="fa fa-{$item['icon']|default='list'}"></i> {$item['title']}</a> <span class="pull-right"><i class="fa fa-chevron-right text-primary"></i></span></li>
{/volist}
</ul>
{/volist}