begin of thinksaas 3.68

Signed-off-by: kevin <kevin@lmve.net>
This commit is contained in:
2023-06-22 13:33:25 +08:00
commit 963ec1b2ea
2746 changed files with 331806 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
{php include pubTemplate("header_admin")}
<!--main-->
<div class="midder">
<div>暂无配置</div>
</div>
{php include pubTemplate("footer_admin")}
+104
View File
@@ -0,0 +1,104 @@
{php include pubTemplate("header")}
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-header">我的小组</div>
<div class="card-body">
<div class="of c9 border-bottom pb-3">
<div class="float-left mt-1">已加入{$joinGroupNum}个小组</div>
<a target="_blank" class="btn btn-sm btn-info float-right" href="{tsUrl('group','create')}">创建小组</a>
</div>
<div class="row mt-3">
{loop $arrGroup $key $item}
<div class="col-6 col-md-2 mb-3">
<div>
<a href="{tsUrl('group','show',array('id'=>$item['groupid']))}"><img src="{$item['photo']}" class="rounded" alt="{$item['groupname']}" style="max-width: 100%;"></a>
<div>
<div class="title-cut text-center c9">{$item['groupname']}</div>
</div>
</div>
</div>
{/loop}
</div>
</div>
</div>
<div class="card">
<div class="card-header">我的帖子</div>
<div class="card-body">
<table class="table">
<thead class="thead-light">
<tr><th>发布时间</th><th>标题</th><th>浏览/评论</th><th>操作</th></tr>
</thead>
<tbody>
{loop $arrTopic $key $item}
<tr><td class="fs12 c9">{php echo date('Y-m-d',$item['addtime'])}</td><td><a href="{tsUrl('topic','show',array('id'=>$item['topicid']))}">{php echo tsTitle($item['title'])}</a></td><td class="fs12 c9">{$item['count_view']}/{$item['count_comment']}</td><td><a href="{tsUrl('topic','edit',array('topicid'=>$item['topicid']))}">修改</a></td></tr>
{/loop}
</tbody>
</table>
</div>
</div>
<div class="card">
<div class="card-header">我的文章</div>
<div class="card-body">
<table class="table">
<thead class="thead-light">
<tr><th>发布时间</th><th>标题</th><th>浏览/评论</th><th>操作</th></tr>
</thead>
<tbody>
{loop $arrArticle $key $item}
<tr><td class="fs12 c9">{php echo date('Y-m-d',strtotime($item['addtime']))}</td><td><a href="{tsUrl('article','show',array('id'=>$item['articleid']))}">{tsTitle($item['title'])}</a></td><td class="fs12 c9">{$item['count_view']}/{$item['count_comment']}</td><td><a href="{tsUrl('article','edit',array('articleid'=>$item['articleid']))}">修改</a></td></tr>
{/loop}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<!--
<div class="qiandao">{if $TS_USER['signin']<strtotime(date('Y-m-d 00:00:00'))}<a href="javascript:void('0');" onclick="qianDao();">每日签到+5积分</a>{else}今日已签到{/if}</div>-->
{php include pubTemplate("footer")}
+70
View File
@@ -0,0 +1,70 @@
{php include pubTemplate("header")}
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-header">我的邀请</div>
<div class="card-body">
<div class="input-group mb-3">
<input id="invite-link" type="text" class="form-control c9" value="{tsUrl('user','register',array('fuserid'=>$userid))}">
<div class="input-group-append">
<button class="invite-btn btn btn-outline-secondary" data-clipboard-target="#invite-link" type="button">点击复制邀请链接</button>
</div>
</div>
<table class="table mt-3">
<thead class="thead-light">
<tr>
<th>用户ID</th>
<th>用户名</th>
<th>加入时间</th>
</tr>
</thead>
<tbody>
{loop $arrInviteUser $key $item}
<tr>
<td>{$item['userid']}</td>
<td>{$item['username']}</td>
<td>{php echo date('Y-m-d H:i:s',$item['addtime'])}</td>
</tr>
{/loop}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<script src="{SITE_URL}public/js/clipboard.js?v=2020"></script>
<script>
new ClipboardJS('.invite-btn');
</script>
{php include pubTemplate("footer")}
+56
View File
@@ -0,0 +1,56 @@
{php include pubTemplate("header")}
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-header">我的积分</div>
<div class="card-body">
<table class="table">
<thead class="thead-light">
<tr><th>名称</th><th>积分</th><th>状态</th><th>时间</th></tr>
</thead>
<tbody class="text-secondary">
{loop $arrScore $key $item}
<tr><td>{$item['scorename']}</td><td>{$item['score']}</td><td>{if $item['status']==0}+{else}-{/if}</td><td>{php echo date('Y-m-d H:i:s',$item['addtime'])}</td></tr>
{/loop}
</tbody>
</table>
<div class="clear"></div>
<div class="page">{$pageUrl}</div>
</div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+85
View File
@@ -0,0 +1,85 @@
{php include pubTemplate("header")}
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-body">
{template setting_menu}
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<form role="form" method="POST" action="{tsUrl('my','setting',array('ts'=>'basedo'))}">
<div class="form-group">
<label>用户名:</label>
<input type="text" class="form-control" name="username" value="{$strUser[username]}" />
</div>
<div class="form-group">
<label>性别:</label>
<div>
<input {if $strUser['sex']=='保密'}checked="select"{/if} name="sex" type="radio" value="保密" />保密
<input {if $strUser['sex']==''}checked="select"{/if} name="sex" type="radio" value="男" />
<input {if $strUser['sex']==''}checked="select"{/if} name="sex" type="radio" value="女" />
</div>
</div>
<div class="form-group">
<label>签名:</label>
<input class="form-control" name="signed" value="{$strUser[signed]}">
</div>
<div class="form-group">
<label>自我介绍:</label>
<textarea class="form-control" rows="3" name="about">{$strUser[about]}</textarea>
</div>
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button class="btn btn-sm btn-info" type="submit">修改设置</button>
</form>
</div>
<div class="col-md-3"></div>
</div>
</div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+75
View File
@@ -0,0 +1,75 @@
{php include pubTemplate("header")}
<script type="text/javascript" src="{SITE_URL}public/js/city/jquery.cityselect.js"></script>
<script type="text/javascript">
var city1 = "{$strUser['province']}";
if(city1==''){city1 = '北京';}
var city2 = "{$strUser['city']}";
if(city2==''){city2 = '朝阳区';}
$(function(){
$("#city_3").citySelect({
prov:city1,
city:city2
});
});
</script>
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-body">
{template setting_menu}
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<form role="form" method="POST" action="{tsUrl('my','setting',array('ts'=>'citydo'))}">
<div class="form-group">
<label>修改常居地:</label>
<div id="city_3">
<p><select name="province" class="prov form-control"></select></p>
<p><select name="city" class="city form-control" disabled="disabled"></select></p>
</div>
</div>
<button class="btn btn-sm btn-info" type="submit">提交修改</button>
</form>
</div>
<div class="col-md-3"></div>
</div>
</div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+96
View File
@@ -0,0 +1,96 @@
{php include pubTemplate("header")}
<script src="{SITE_URL}public/js/jcrop/jquery.Jcrop.js" type="text/javascript"></script>
<link rel="stylesheet" href="{SITE_URL}public/js/jcrop/jquery.Jcrop.css" type="text/css" />
<script type="text/javascript">
jQuery(function($){
// Create variables (in this scope) to hold the API and image size
var jcrop_api, boundx, boundy;
$('#target').Jcrop({
minSize: [48,48],
setSelect: [0,0,190,190],
onChange: updatePreview,
onSelect: updatePreview,
onSelect: updateCoords,
aspectRatio: 1
},
function(){
// Use the API to get the real image size
var bounds = this.getBounds();
boundx = bounds[0];
boundy = bounds[1];
// Store the API in the jcrop_api variable
jcrop_api = this;
});
function updateCoords(c)
{
$('#x').val(c.x);
$('#y').val(c.y);
$('#w').val(c.w);
$('#h').val(c.h);
};
function checkCoords()
{
if (parseInt($('#w').val())) return true;
alert('Please select a crop region then press submit.');
return false;
};
function updatePreview(c){
if (parseInt(c.w) > 0)
{
var rx = 48 / c.w; //小头像预览Div的大小
var ry = 48 / c.h;
$('#preview').css({
width: Math.round(rx * boundx) + 'px',
height: Math.round(ry * boundy) + 'px',
marginLeft: '-' + Math.round(rx * c.x) + 'px',
marginTop: '-' + Math.round(ry * c.y) + 'px'
});
}
{
var rx = 199 / c.w; //大头像预览Div的大小
var ry = 199 / c.h;
$('#preview2').css({
width: Math.round(rx * boundx) + 'px',
height: Math.round(ry * boundy) + 'px',
marginLeft: '-' + Math.round(rx * c.x) + 'px',
marginTop: '-' + Math.round(ry * c.y) + 'px'
});
}
};
});
</script>
<!--main-->
<div class="container">
{template set_menu}
<div class="cleft bbox">
<h1>裁切头像</h1>
<div style="float:left;"><img width="300" id="target" src="{SITE_URL}uploadfile/user/{$strUser['face']}" ></div>
<div style="width:190px;height:195px;margin:0 10px;overflow:hidden; float:left;"><img style="float:left;" id="preview2" src="{SITE_URL}uploadfile/user/{$strUser['face']}" ></div>
<form action="{SITE_URL}index.php?app=user&ac=set&ts=cutdo" method="post" onsubmit="return checkCoords();">
<input type="hidden" id="x" name="x" />
<input type="hidden" id="y" name="y" />
<input type="hidden" id="w" name="w" />
<input type="hidden" id="h" name="h" />
<input class="btn" type="submit" value="裁剪" />
</form>
<a href="{tsUrl('user','set',array('ts'=>'face'))}">返回头像设置</a>
</div>
<div class="cright"></div>
</div>
{php include pubTemplate("footer")}
+177
View File
@@ -0,0 +1,177 @@
{php include pubTemplate("header")}
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-body">
{template setting_menu}
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
{if $TS_SITE['regtype']=='0' || $TS_SITE['regtype']=='2'}
<form role="form" method="POST" action="{tsUrl('my','setting',array('ts'=>'emaildo'))}">
<div class="form-group">
<label>当前Email帐号:</label>
<div class="text-black-50">{$strUser['email']}</div>
</div>
<div class="form-group">
<label>新Email帐号:</label>
<input class="form-control" name="email" type="email" />
</div>
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button class="btn btn-sm btn-info" type="submit">提交修改</button>
<small class="text-black-50">(修改Email登录帐号将需要重新验证Email)</small>
</form>
{/if}
{if $TS_SITE['regtype']=='2'}
<hr />
{/if}
{if $TS_SITE['regtype']=='1' || $TS_SITE['regtype']=='2'}
<form id="comm-form" role="form" method="POST" action="{SITE_URL}index.php?app=user&ac=phone&ts=editphone">
<div class="form-group">
<label>当前手机号:</label>
<div class="text-black-50">{$strUser['phone']}</div>
</div>
<div class="form-group">
<label>新手机号:</label>
<input id="myphone" class="form-control" name="phone" type="number" />
</div>
<div class="form-group">
<label>图片验证码:</label>
<div class="d-flex flex-row">
<div class="d-flex"><input id="authcode" type="text" name="authcode" class="form-control" value=""></div>
<div class="d-flex ml-1">
<img src="{SITE_URL}index.php?app=pubs&ac=code" onclick="javascript:newgdcode(this,this.src);" title="点击刷新验证码" alt="点击刷新验证码" style="cursor:pointer;" />
</div>
</div>
</div>
<div class="form-group">
<label>手机验证码:</label>
<div class="d-flex flex-row">
<div class="d-flex"><input type="text" class="form-control" name="phonecode" value=""></div>
<div class="d-flex ml-1"><button id="mybtn" type="button" class="btn btn-outline-secondary">获取验证码</button></div>
</div>
</div>
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button class="btn btn-sm btn-info" type="submit">提交修改</button>
</form>
{/if}
</div>
<div class="col-md-3"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--{if $TS_SITE['is_vaptcha']}-->
<script src="https://v-cn.vaptcha.com/v3.js"></script>
<script>
vaptcha({
vid: '{$TS_SITE[vaptcha_vid]}',// 验证单元id
mode: 'invisible',// 显示类型 隐藏式
scene: 0,// 场景值 默认0
area: 'auto' //验证节点区域,默认 auto,可选值 auto,sea,na,cn
}).then(function (vaptchaObj) {
obj = vaptchaObj; //将VAPTCHA验证实例保存到局部变量中
vaptchaObj.listen("pass", function () {
// 验证成功进行后续操作
serverToken = vaptchaObj.getServerToken()
sendPhoneCode(1,serverToken.token,serverToken.server)
vaptchaObj.reset(); //重置验证码
});
//关闭验证弹窗时触发
vaptchaObj.listen("close", function () {
//验证弹窗关闭触发
});
})
$("#mybtn").on("click", function () {
var phone = $("#myphone").val();
var authcode = $("#authcode").val();
if(phone && authcode){
//人机验证
obj.validate();
}else{
tsNotice('手机号和图形验证码必须填写!');
}
});
</script>
<!--{else}-->
<script>
$("#mybtn").on("click", function () {
var phone = $("#myphone").val();
var authcode = $("#authcode").val();
if(phone && authcode){
sendPhoneCode(1)
}else{
tsNotice('手机号和图形验证码必须填写!');
}
});
</script>
<!--{/if}-->
{php include pubTemplate("footer")}
+68
View File
@@ -0,0 +1,68 @@
{php include pubTemplate("header")}
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-body">
{template setting_menu}
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
{if $TS_SITE['isface']=='1' && $strUser['face'] == SITE_URL.'public/images/user_large.jpg'}
<div class="alert alert-info" role="alert">提示:你需要上传头像才可以正常使用网站!</div>
{/if}
<form role="form" method="post" action="{tsUrl('my','setting',array('ts'=>'facedo'))}" enctype="multipart/form-data">
<div class="form-group">
<p><img alt="{$strUser['username']}" src="{$strUser[face]}" width="120" /></p>
</div>
<div class="form-group">
<label>选择图片</label>
<p><input type="file" name="photo" /></p>
</div>
<input class="btn btn-sm btn-info" type="submit" value="上传头像" />
</form>
</div>
<div class="col-md-3"></div>
</div>
</div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+10
View File
@@ -0,0 +1,10 @@
<div class="mb-3">
<a class="btn btn-sm {if $ts=='base'}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('my','setting',array('ts'=>'base'))}">基本信息</a>
<a class="btn btn-sm {if $ts=='face'}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('my','setting',array('ts'=>'face'))}">会员头像</a>
<a class="btn btn-sm {if $ts=='pwd' || $ac=='user'}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('my','setting',array('ts'=>'pwd'))}">修改密码</a>
<a class="btn btn-sm {if $ts=='email' || $ac=='user'}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('my','setting',array('ts'=>'email'))}">修改帐号</a>
<a class="btn btn-sm {if $ts=='city' || $ac=='user'}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('my','setting',array('ts'=>'city'))}">常居地</a>
<a class="btn btn-sm {if $ts=='tag' || $ac=='user'}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('my','setting',array('ts'=>'tag'))}">个人标签</a>
</div>
<hr />
+64
View File
@@ -0,0 +1,64 @@
{php include pubTemplate("header")}
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-body">
{template setting_menu}
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<form role="form" method="POST" action="{tsUrl('my','setting',array('ts'=>'pwddo'))}">
<div class="form-group">
<label>旧密码:</label>
<input class="form-control" name="oldpwd" value="" type="password" />
</div>
<div class="form-group">
<label>新密码:</label>
<input class="form-control" name="newpwd" value="" type="password" />
</div>
<div class="form-group">
<label>输入新密码:</label>
<input class="form-control" name="renewpwd" value="" type="password" />
</div>
<button class="btn btn-sm btn-info" type="submit">提交修改</button>
</form>
</div>
<div class="col-md-3"></div>
</div>
</div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+85
View File
@@ -0,0 +1,85 @@
{php include pubTemplate("header")}
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-body">
{template setting_menu}
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<div>
{loop $arrTag $key $item}
<span class="badge badge-secondary mr-2 fw300 fs16">{$item[tagname]}</span>
{/loop}
</div>
<div class="mt-3">
<input class="form-control float-left form-control-sm w-auto mr-1" type="text" name="tags" id="tags" />
<button class="btn btn-sm btn-info float-left" onClick="savaTag()">添加</button>
</div>
</div>
<div class="col-md-3"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
/*提交标签*/
function savaTag(){
var userid = "{$strUser['userid']}";
var tag = $('#tags').val();
if(tag ==''){ alert('请输入标签哟^_^');$('#tagFrom').show('fast');}else{
var url = siteUrl+'index.php?app=tag&ac=add_ajax&ts=do';
$.post(url,{objname:'user',idname:'userid',tags:tag,objid:userid},function(rs){ window.location.reload() })
}
}
</script>
{php include pubTemplate("footer")}