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
+17
View File
@@ -0,0 +1,17 @@
<?php
defined('IN_TS') or die('Access Denied.');
return array (
'name' => '唠叨',
'version' => '1.2',
'desc' => '唠叨,微博,一句话',
'url' => 'http://www.thinksaas.cn',
'email' => 'thinksaas@qq.com',
'author' => '邱君',
'author_url' => 'http://www.thinksaas.cn',
'isoption' => '1',
'isinstall' => '1',
'issql' => '1',
'issystem' => '1',
'isappnav' => '1',
'ismy'=>'1',
);
+377
View File
@@ -0,0 +1,377 @@
<?php
defined('IN_TS') or die('Access Denied.');
class weiboAction extends weibo{
/*
* 首页
*/
public function index(){
//dump($GLOBALS);
$page = isset($_GET['page']) ? intval($_GET['page']) : '1';
$url = tsUrl('weibo','index',array('page'=>''));
$lstart = $page*20-20;
$arrWeibo = $this->findAll('weibo',array(
'isaudit'=>0,
),'uptime desc',null,$lstart.',20');
foreach($arrWeibo as $key=>$item){
$arrWeibo[$key]['user'] = aac('user')->getOneUser($item['userid']);
$arrWeibo[$key]['content'] = tsTitle($item['content']);
}
$weiboNum = $this->findCount('weibo',array(
'isaudit'=>0,
));
$pageUrl = pagination($weiboNum, 20, $page, $url);
#热门唠叨
$arrHotWeibo = $this->findAll('weibo',null,'count_comment desc',null,10);
foreach($arrHotWeibo as $key=>$item){
$arrHotWeibo[$key]['content'] = tsTitle($item['content']);
$arrHotWeibo[$key]['user'] = aac('user')->getOneUser($item['userid']);
}
$title = '过去';
include template('index');
}
/*
* 发布唠叨
*/
public function add(){
$js = intval($_GET['js']);
$userid = aac('user')->isLogin(1);
//判断用户是否存在
if(aac('user')->isUser($userid)==false) getJson('不好意思,用户不存在!',$js);
//判断发布者状态
if(aac('user')->isPublisher()==false) getJson('你还不能发布内容,检查邮箱是否认证。',$js,1,tsUrl('user','verify'));
//发布时间限制
if(aac('system')->pubTime()==false) getJson('不好意思,当前时间不允许发布内容!',$js);
$content = trim($_POST['content']);
if($content == '') {
getJson('内容不能为空',$js);
}
$isaudit = 0;
if($GLOBALS['TS_USER']['isadmin']==0){
//过滤内容开始
aac('system')->antiWord($content,$js);
//过滤内容结束
}
$weiboid = $this->create('weibo',array(
'userid'=>$userid,
'locationid'=>aac('user')->getLocationId($userid),
'content'=>$content,
'isaudit'=>$isaudit,
'addtime'=>date('Y-m-d H:i:s'),
'uptime'=>date('Y-m-d H:i:s'),
));
getJson('发布成功!',$js,2,tsurl('weibo','show',array('id'=>$weiboid)));
}
/*
*展示唠叨内容
*/
public function show(){
$weiboid = intval($_GET['id']);
$strWeibo = $this->getOneWeibo($weiboid);
if($weiboid==0 || $strWeibo==''){
ts404();
}
if($strWeibo['isaudit']==1){
tsNotice('内容审核中...');
}
//comment
$page = isset($_GET['page']) ? intval($_GET['page']) : '1';
$url = tsUrl('weibo','show',array('id'=>$weiboid,'page'=>''));
$lstart = $page*20-20;
$arrComment = $this->findAll('weibo_comment',array(
'weiboid'=>$weiboid,
),'addtime desc',null,$lstart.',20');
foreach($arrComment as $key=>$item){
$arrComment[$key]['content'] = tsTitle($item['content']);
$arrComment[$key]['user']=aac('user')->getOneUser($item['userid']);
}
$commentNum = $this->findCount('weibo_comment',array(
'weiboid'=>$weiboid,
));
$pageUrl = pagination($commentNum, 20, $page, $url);
//他的更多唠叨
$arrWeibo = $this->findAll('weibo',array(
'userid'=>$strWeibo['userid'],
),'addtime desc',null,20);
$weiboNum = $this->findCount('weibo',array(
'userid'=>$strWeibo['userid'],
));
if($weiboNum<20){
$num = 20-$weiboNum;
$userid = $strWeibo['userid'];
$arrNewWeibo = $this->findAll('weibo',"`userid`!='$userid'",'addtime desc',null,$num);
$arrWeibo = array_merge($arrWeibo, $arrNewWeibo);
}
foreach($arrWeibo as $key=>$item){
$arrWeibo[$key]['content'] = tsTitle($item['content']);
}
if($strWeibo['content']==''){
$title = $strWeibo['user']['username'].'的过去('.$strWeibo['weiboid'].')';
}else{
$title = cututf8($strWeibo['content'],0,100,false);
}
include template('show');
}
/*
* 发布唠叨图片
*/
public function photo(){
$userid = intval($GLOBALS['TS_USER']['userid']);
if($userid==0){
echo 0;exit;//请登录
}
$content = tsClean($_POST['content']);
if($GLOBALS['TS_USER']['isadmin']==0){
//过滤内容开始
aac('system')->antiWord($content);
//过滤内容结束
}
$weiboid = $this->create('weibo',array(
'userid'=>$userid,
'content'=>$content,
'isaudit'=>0,
'addtime'=>date('Y-m-d H:i:s'),
'uptime'=>date('Y-m-d H:i:s'),
));
// 上传图片开始
$arrUpload = tsUpload ( $_FILES ['filedata'], $weiboid, 'weibo', array ('jpg','gif','png','jpeg' ) );
if ($arrUpload) {
$this->update ( 'weibo', array (
'weiboid' => $weiboid
), array (
'path' => $arrUpload ['path'],
'photo' => $arrUpload ['url']
) );
echo 3;exit;
}else{
echo 2;exit;
}
}
/*
* 回复唠叨,添加评论
*/
public function addcomment(){
//用户是否登录
$userid = aac('user')->isLogin();
//判断发布者状态
if(aac('user')->isPublisher()==false) tsNotice('你还不能发布内容,检查邮箱是否认证。');
//发布时间限制
if(aac('system')->pubTime()==false) tsNotice('不好意思,当前时间不允许发布内容!');
$weiboid = intval($_POST['weiboid']);
$touserid = intval($_POST['touserid']);
$content = trim($_POST['content']);
if($content == ''){
tsNotice('内容不能为空');
}
if($GLOBALS['TS_USER']['isadmin']==0){
//过滤内容开始
aac('system')->antiWord($content);
//过滤内容结束
}
$commentid = $this->create('weibo_comment',array(
'userid'=>$userid,
'touserid'=>$touserid,
'weiboid'=>$weiboid,
'content'=>$content,
'addtime'=>date('Y-m-d H:i:s'),
));
//计算评论总数
$commentNum = $this->findCount('weibo_comment',array(
'weiboid'=>$weiboid,
));
$this->update('weibo',array(
'weiboid'=>$weiboid,
),array(
'count_comment'=>$commentNum,
));
$strWeibo = $this->find('weibo',array(
'weiboid'=>$weiboid,
));
if($strWeibo['userid'] != $userid){
$msg_userid = '0';
$msg_touserid = $strWeibo['userid'];
$msg_content = '你的微博新增一条回复,快去看看给个回复吧^_^';
$msg_tourl = tsUrl('weibo','show',array('id'=>$weiboid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
}
tsHeaderUrl(tsUrl('weibo','show',array('id'=>$weiboid)));
}
/*
* 删除评论
*/
public function deletecomment(){
$userid = aac('user')->isLogin();
$commentid = intval($_GET['commentid']);
$strComment = $this->find('weibo_comment',array(
'commentid'=>$commentid,
));
if($GLOBALS['TS_USER']['isadmin']==1 || $strComment['userid']==$userid){
$this->delete('weibo_comment',array('commentid'=>$commentid));
//统计
$count_comment = $this->findCount('weibo_comment',array(
'weiboid'=>$strComment['weiboid'],
));
$this->update('weibo',array(
'weiboid'=>$strComment['weiboid'],
),array(
'count_comment'=>$count_comment,
));
tsHeaderUrl(tsUrl('weibo','show',array('id'=>$strComment['weiboid'])));
}else{
tsNotice('非法操作!');
}
}
/*
* 删除唠叨
*/
public function deleteweibo(){
$userid = aac('user')->isLogin();
$weiboid = intval($_GET['weiboid']);
$strWeibo = $this->find('weibo',array(
'weiboid'=>$weiboid,
));
if($userid == $strWeibo['userid'] || $GLOBALS['TS_USER']['isadmin']==1){
$this->delete('weibo',array(
'weiboid'=>$weiboid,
));
$this->delete('weibo_comment',array(
'weiboid'=>$weiboid,
));
//删除图片
if($strWeibo['photo']){
unlink('uploadfile/weibo/'.$strWeibo['photo']);
}
tsHeaderUrl(tsUrl('weibo'));
}else{
tsNotice('非法操作!');
}
}
/*
* 后台管理入口
* */
public function admin(){
if($GLOBALS['TS_USER']['isadmin']==1){
include 'app/'.$GLOBALS['TS_URL']['app'].'/admin.'.$GLOBALS['TS_URL']['app'].'.php';
$appAdmin = $GLOBALS['TS_URL']['app'].'Admin';
$newAdmin = new $appAdmin($GLOBALS['db']);
#$newAdmin->$GLOBALS['TS_URL']['mg']();
$amg = $GLOBALS['TS_URL']['mg'];
$newAdmin->$amg();
}else{
ts404();
}
}
/*
* 我的社区入口
* */
public function my(){
if($GLOBALS['TS_USER']){
include 'app/'.$GLOBALS['TS_URL']['app'].'/my.'.$GLOBALS['TS_URL']['app'].'.php';
$appMy = $GLOBALS['TS_URL']['app'].'My';
$newMy = new $appMy($GLOBALS['db']);
$myFun = $GLOBALS['TS_URL']['my'];
$newMy->$myFun();
}else{
ts404();
}
}
}
+76
View File
@@ -0,0 +1,76 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
case "":
$js = tsIntval($_GET['js']);
$userid = aac('user')->isLogin(1);
//判断用户是否存在
if(aac('user')->isUser($userid)==false) getJson('不好意思,用户不存在!',$js);
//判断发布者状态
if(aac('user')->isPublisher()==false) getJson('不好意思,你还没有权限发布内容!',$js);
//发布时间限制
if(aac('system')->pubTime()==false) getJson('不好意思,当前时间不允许发布内容!',$js);
if ($TS_APP['allowpost'] == 0 && $TS_USER['isadmin'] == 0) {
getJson('应用设置不允许会员发布唠叨!',$js);
}
$title = tsTrim($_POST['title']);
//匿名用户
$isniming = tsIntval($_POST['isniming']);
if($TS_SITE['isniming']==1 && $isniming==1) $userid = aac('user')->getNimingId();
if($title == '') {
getJson('内容不能为空',$js);
}
//1审核后显示0不审核
$isaudit = 0;
if ($TS_APP['isaudit'] == 1 && $TS_USER['isadmin']==0) $isaudit = 1;
if($GLOBALS['TS_USER']['isadmin']==0){
//过滤内容开始
$title = antiWord($title);
//过滤内容结束
}
$weiboid = $new['weibo']->create('weibo',array(
'userid'=>$userid,
'title'=>$title,
'isaudit'=>$isaudit,
'addtime'=>date('Y-m-d H:i:s'),
));
#绑定图片
$new['weibo']->update('weibo_photo',array(
'userid'=>$userid,
'weiboid'=>0,
),array(
'weiboid'=>$weiboid,
));
$daytime = date('Y-m-d 00:00:01');
$count_weibo = $new['weibo']->findCount('weibo',"`userid`='$userid' and `addtime`>'$daytime'");
#每日前三条给积分
if($count_weibo<4){
aac('user') -> doScore($TS_URL['app'], $TS_URL['ac'],$TS_URL['mg'],$TS_URL['api'], $TS_URL['ts']);
}
#用户记录
aac('pubs')->addLogs('weibo','weiboid',$weiboid,$userid,$title,$title,0);
getJson('发布成功!',$js,2,tsurl('weibo','show',array('id'=>$weiboid)));
break;
}
+9
View File
@@ -0,0 +1,9 @@
<?php
defined('IN_TS') or die('Access Denied.');
// 管理入口
if (is_file('app/' . $TS_URL['app'] . '/action/admin/' . $mg . '.php')) {
include_once 'app/' . $TS_URL['app'] . '/action/admin/' . $mg . '.php';
} else {
qiMsg('sorry:no index!');
}
+24
View File
@@ -0,0 +1,24 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
case "":
$strOption = getAppOptions('weibo');
include template("admin/options");
break;
case "do":
$arrOption = $_POST['option'];
#更新app配置选项
upAppOptions('weibo',$arrOption);
#更新app导航和我的导航
upAppNav('weibo',$arrOption['appname']);
qiMsg('修改成功!');
break;
}
+39
View File
@@ -0,0 +1,39 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
case "":
$ugid = tsIntval($_GET['ugid'],1);
$arrUg = $new['weibo']->findAll('user_group',null,'ugid asc');
include template('admin/permissions');
break;
case "do":
/**
* 权限参数说明,app,action必须,其他参数可选
* app-action-ts
* app-action-mg-ts 当action=admin
* app-action-api-ts 当action=api
*/
$ugid = tsIntval($_POST['ugid']);
$arrOption = $_POST['option'];
aac('pubs')->upAppPermissions($ugid,'weibo',$arrOption);
qiMsg('操作成功!');
break;
}
+70
View File
@@ -0,0 +1,70 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
case "list":
$page = tsIntval($_GET['page'],1);
$url = SITE_URL.'index.php?app=weibo&ac=admin&mg=weibo&ts=list&page=';
$lstart = $page*20-20;
$arrWeibo = $new['weibo']->findAll('weibo',null,'addtime desc',null,$lstart.',20');
foreach($arrWeibo as $key=>$item){
$arrWeibo[$key]['title'] = tsTitle($item['title']);
$arrWeibo[$key]['photo'] = $new['weibo']->findAll('weibo_photo',array(
'weiboid'=>$item['weiboid'],
));
}
$weiboNum = $new['weibo']->findCount('weibo');
$pageUrl = pagination($weiboNum, 20, $page, $url);
include template("admin/weibo_list");
break;
case "isaudit":
$weiboid = tsIntval($_GET['weiboid']);
$strWeibo = $new['weibo']->find('weibo',array(
'weiboid'=>$weiboid,
));
if($strWeibo['isaudit'] == 0){
$new['weibo']->update('weibo',array(
'weiboid'=>$weiboid,
),array(
'isaudit'=>1,
));
}
if($strWeibo['isaudit'] == 1){
$new['weibo']->update('weibo',array(
'weiboid'=>$weiboid,
),array(
'isaudit'=>0,
));
}
qiMsg('操作成功!');
break;
case "delete":
$weiboid=tsIntval($_GET['weiboid']);
$new['weibo']->deleteWeibo($weiboid);
qiMsg('删除成功!');
break;
}
+9
View File
@@ -0,0 +1,9 @@
<?php
defined ( 'IN_TS' ) or die ( 'Access Denied.' );
// api入口
if (is_file ( 'app/' . $TS_URL['app'] . '/action/api/' . $TS_URL['api'] . '.php' )) {
include_once 'app/' . $TS_URL['app'] . '/action/api/' . $TS_URL['api'] . '.php';
} else {
qiMsg ( 'sorry:no api!' );
}
+21
View File
@@ -0,0 +1,21 @@
<?php
defined('IN_TS') or die('Access Denied.');
echo '<pre>
-----------------------------------------------
Weibo Http Api List
URL:https://demo.thinksaas.cn
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
</pre>';
+23
View File
@@ -0,0 +1,23 @@
<?php
defined('IN_TS') or die('Access Denied.');
$userid = aac('user')->isLogin();
$weiboid = tsIntval($_GET['weiboid']);
$strWeibo = $new['weibo']->find('weibo',array(
'weiboid'=>$weiboid,
));
if($userid == $strWeibo['userid'] || $GLOBALS['TS_USER']['isadmin']==1){
$new['weibo']->deleteWeibo($weiboid);
#用户记录
aac('pubs')->addLogs('weibo','weiboid',$weiboid,$userid,$strWeibo['title'],$strWeibo['title'],2);
tsNotice('删除成功!','点击返回唠叨首页',tsUrl('weibo'));
}else{
tsNotice('非法操作!');
}
+36
View File
@@ -0,0 +1,36 @@
<?php
defined('IN_TS') or die('Access Denied.');
$page = tsIntval($_GET['page'],1);
$url = tsUrl('weibo','index',array('page'=>''));
$lstart = $page*20-20;
$arrWeibo = $new['weibo']->findAll('weibo',array(
'isaudit'=>0,
),'addtime desc',null,$lstart.',20');
foreach($arrWeibo as $key=>$item){
$arrWeibo[$key]['user'] = aac('user')->getOneUser($item['userid']);
$arrWeibo[$key]['title'] = tsTitle($item['title']);
$arrWeibo[$key]['photo'] = $new['weibo']->getWeiboPhoto($item['weiboid'],4);
}
$weiboNum = $new['weibo']->findCount('weibo',array(
'isaudit'=>0,
));
$pageUrl = pagination($weiboNum, 20, $page, $url);
#热门唠叨
$arrHotWeibo = $new['weibo']->findAll('weibo',null,'count_comment desc',null,10);
foreach($arrHotWeibo as $key=>$item){
$arrHotWeibo[$key]['title'] = tsTitle($item['title']);
$arrHotWeibo[$key]['user'] = aac('user')->getOneUser($item['userid']);
$arrHotWeibo[$key]['photo'] = $new['weibo']->getWeiboPhoto($item['weiboid'],4);
}
$title = '唠叨';
include template('index');
+11
View File
@@ -0,0 +1,11 @@
<?php
defined ( 'IN_TS' ) or die ( 'Access Denied.' );
// 我的入口
if (is_file ( 'app/' . $TS_URL['app'] . '/action/my/' . $TS_URL['my'] . '.php' )) {
$userid = aac('user')->isLogin();
$strUser = aac('user')->getOneUser($userid);
include_once 'app/' . $TS_URL['app'] . '/action/my/' . $TS_URL['my'] . '.php';
} else {
qiMsg ( 'sorry:no index!' );
}
+25
View File
@@ -0,0 +1,25 @@
<?php
defined('IN_TS') or die('Access Denied.');
$page = tsIntval($_GET['page'],1);
$url = tsUrl('weibo','my',array('my'=>'index','page'=>''));
$lstart = $page*20-20;
$arrWeibo = $new['weibo']->findAll('weibo',array(
'userid'=>$strUser['userid'],
),'uptime desc',null,$lstart.',20');
foreach($arrWeibo as $key=>$item){
$arrWeibo[$key]['title'] = tsTitle($item['title']);
}
$weiboNum = $new['weibo']->findCount('weibo',array(
'userid'=>$strUser['userid'],
));
$pageUrl = pagination($weiboNum, 20, $page, $url);
$title = '我的唠叨';
include template('my/index');
+62
View File
@@ -0,0 +1,62 @@
<?php
defined('IN_TS') or die('Access Denied.');
$userid = aac('user')->isLogin();
switch($ts){
//图片上传
case "upload":
$photoid = $new['weibo']->create('weibo_photo',array(
'userid'=>$userid,
'addtime'=>time(),
));
// 上传图片开始
$arrUpload = tsUpload ( $_FILES ['filedata'], $photoid, 'weibo/photo', array ('jpg','png','jpeg' ) );
if ($arrUpload) {
$new['weibo']->update('weibo_photo', array(
'photoid' => $photoid
),array(
'path' => $arrUpload ['path'],
'photo' => $arrUpload ['url']
));
}else{
$new['weibo']->delete('weibo_photo',array(
'photoid'=>$photoid,
));
}
echo 11111;
break;
//未发布的图片列表
case "list":
$arrPhoto = $new['weibo']->findAll('weibo_photo',array(
'userid'=>$userid,
'weiboid'=>0,
));
include template('photo_list');
break;
//删除未发布的图片
case "delete":
$photoid = tsIntval($_POST['photoid']);
$strPhoto = $new['weibo']->find('weibo_photo',array(
'photoid'=>$photoid,
'userid'=>$userid,
));
if($strPhoto){
$new['weibo']->deletePhoto($strPhoto);
}
break;
}
+79
View File
@@ -0,0 +1,79 @@
<?php
defined('IN_TS') or die('Access Denied.');
$weiboid = tsIntval($_GET['id']);
$strWeibo = $new['weibo']->getOneWeibo($weiboid);
if($strWeibo['isaudit']==1){
tsNotice('内容审核中...');
}
#图片
$arrPhoto = $new['weibo']->findAll('weibo_photo',array(
'weiboid'=>$weiboid,
));
foreach($arrPhoto as $key=>$item){
if($TS_SITE['file_upload_type']==1){
#阿里云oss
$arrPhoto[$key]['photo_url'] = $TS_SITE['alioss_bucket_url'].'/uploadfile/weibo/photo/'.$item['photo'];
}else{
#本地
$arrPhoto[$key]['photo_url'] = SITE_URL.'uploadfile/weibo/photo/'.$item['photo'];
}
}
#评论
$page = tsIntval($_GET['page'],1);
$url = tsUrl('weibo','show',array('id'=>$weiboid,'page'=>''));
$lstart = $page*15-15;
$arrComment = aac('comment')->getCommentList('weibo','weiboid',$strWeibo['weiboid'],$page,$lstart,$strWeibo['userid']);
$commentNum = aac('comment')->getCommentNum('weibo','weiboid',$strWeibo['weiboid']);
$pageUrl = pagination($commentNum, 15, $page, $url);
//他的更多唠叨
$arrWeibo = $new['weibo']->findAll('weibo',array(
'userid'=>$strWeibo['userid'],
),'addtime desc',null,20);
$weiboNum = $new['weibo']->findCount('weibo',array(
'userid'=>$strWeibo['userid'],
));
if($weiboNum<20){
$num = 20-$weiboNum;
$userid = $strWeibo['userid'];
$arrNewWeibo = $new['weibo']->findAll('weibo',"`userid`!='$userid'",'addtime desc',null,$num);
if($arrNewWeibo){
$arrWeibo = array_merge($arrWeibo, $arrNewWeibo);
}
}
foreach($arrWeibo as $key=>$item){
$arrWeibo[$key]['title'] = tsTitle($item['title']);
}
if($strWeibo['title']==''){
$title = $strWeibo['user']['username'].'的唠叨('.$strWeibo['weiboid'].')';
}else{
$title = cututf8($strWeibo['title'],0,100,false);
}
#热门唠叨
$arrHotWeibo = $new['weibo']->findAll('weibo',null,'count_comment desc',null,10);
foreach($arrHotWeibo as $key=>$item){
$arrHotWeibo[$key]['title'] = tsTitle($item['title']);
$arrHotWeibo[$key]['user'] = aac('user')->getOneUser($item['userid']);
$arrHotWeibo[$key]['photo'] = $new['weibo']->getWeiboPhoto($item['weiboid'],4);
}
include template('show');
+124
View File
@@ -0,0 +1,124 @@
<?php
defined('IN_TS') or die('Access Denied.');
class weiboAdmin extends weibo{
/*
* 配置选项
* */
public function options(){
$arrOptions = $this->findAll('weibo_options');
foreach($arrOptions as $item){
$strOption[$item['optionname']] = stripslashes($item['optionvalue']);
}
include template("admin/options");
}
/*
* 保存配置
*/
public function optionsdo(){
//先清空数据
$this->doSql("TRUNCATE TABLE `".dbprefix."weibo_options`");
foreach($_POST['option'] as $key=>$item){
$optionname = $key;
$optionvalue = trim($item);
$this->create('weibo_options',array(
'optionname'=>$optionname,
'optionvalue'=>$optionvalue,
));
}
$arrOptions = $this->findAll('weibo_options',null,null,'optionname,optionvalue');
foreach($arrOptions as $item){
$arrOption[$item['optionname']] = $item['optionvalue'];
}
fileWrite('weibo_options.php','data',$arrOption);
$GLOBALS['tsMySqlCache']->set('weibo_options',$arrOption);
qiMsg('修改成功!');
}
/*
* 唠叨列表
* */
public function weibolist(){
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = SITE_URL.'index.php?app=weibo&ac=admin&mg=weibolist&page=';
$lstart = $page*20-20;
$arrWeibo = $this->findAll('weibo',null,'addtime desc',null,$lstart.',20');
foreach($arrWeibo as $key=>$item){
$arrWeibo[$key]['content'] = tsTitle($item['content']);
}
$weiboNum = $this->findCount('weibo');
$pageUrl = pagination($weiboNum, 20, $page, $url);
include template("admin/weibo_list");
}
/*
* 审核
* */
public function isaudit(){
$weiboid = intval($_GET['weiboid']);
$strWeibo = $this->find('weibo',array(
'weiboid'=>$weiboid,
));
if($strWeibo['isaudit'] == 0){
$this->update('weibo',array(
'weiboid'=>$weiboid,
),array(
'isaudit'=>1,
));
}
if($strWeibo['isaudit'] == 1){
$this->update('weibo',array(
'weiboid'=>$weiboid,
),array(
'isaudit'=>0,
));
}
qiMsg('操作成功!');
}
/*
* 删除
* */
public function deleteweibo(){
$weiboid=intval($_GET['weiboid']);
$strWeibo = $this->find('weibo',array(
'weiboid'=>$weiboid,
));
unlink('uploadfile/weibo/'.$strWeibo['photo']);
$this->delete('weibo',array(
'weiboid'=>$weiboid,
));
$this->delete('weibo_comment',array(
'weiboid'=>$weiboid,
));
qiMsg('删除成功!');
}
}
+108
View File
@@ -0,0 +1,108 @@
<?php
defined('IN_TS') or die('Access Denied.');
class weibo extends tsApp{
//构造函数
public function __construct($db){
$tsAppDb = array();
include 'app/weibo/config.php';
//判断APP是否采用独立数据库
if($tsAppDb){
$db = new MySql($tsAppDb);
}
parent::__construct($db);
}
//获取一条微博
public function getOneWeibo($weiboid){
$strWeibo = $this->find('weibo',array(
'weiboid'=>$weiboid,
));
if($strWeibo=='') ts404();
$strWeibo['user']=aac('user')->getSimpleUser($strWeibo['userid']);
$strWeibo['title'] = nl2br(tsTitle($strWeibo['title']));
return $strWeibo;
}
/**
* 获取微博图片
*/
public function getWeiboPhoto($weiboid,$num=null){
$arrPhotos = $this->findAll('weibo_photo',array(
'weiboid'=>$weiboid,
),'orderid asc',null,$num);
foreach($arrPhotos as $key=>$item){
if($num){
$arrPhoto[$key] = tsXimg($item['photo'],'weibo/photo','200','200',$item['path'],1);
}else{
$arrPhoto[$key] = tsXimg($item['photo'],'weibo/photo','640','',$item['path']);
}
}
return $arrPhoto;
}
/**
* 删除单个关联的图片
*
* @param [type] $strPhoto
* @return void
*/
public function deletePhoto($strPhoto){
if($strPhoto['photo']){
if($GLOBALS['TS_SITE']['file_upload_type']==1){
deleteAliOssFile('uploadfile/weibo/photo/'.$strPhoto['photo']);
}else{
unlink('uploadfile/weibo/photo/'.$strPhoto['photo']);
tsDimg($strPhoto['photo'],'weibo/photo','320','320',$strPhoto['path']);
}
}
$this->delete('weibo_photo',array(
'photoid'=>$strPhoto['photoid'],
));
return true;
}
/**
* 删除微博
*
* @param [type] $strWeibo
* @return void
*/
public function deleteWeibo($weiboid){
#删除图片
$arrPhoto = $this->findAll('weibo_photo',array(
'weiboid'=>$weiboid,
));
foreach($arrPhoto as $key=>$item){
$this->deletePhoto($item);
}
#删除记录
$this->delete('weibo',array(
'weiboid'=>$weiboid,
));
#删除评论ts_comment
aac('comment')->delComment('weibo','weiboid',$weiboid);
#删除点赞ts_love
aac('pubs')->delLove('weibo','weiboid',$weiboid);
return true;
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
defined('IN_TS') or die('Access Denied.');
$skin = 'default';
$TS_APP['appname'] = '唠叨';
/*
$TS_APP['issql'] = 1;//是否有独立的数据库1有0无
$TS_DB['sql']='mysql';
$TS_DB['host']='localhost';
$TS_DB['port']='3306';
$TS_DB['user']='root';
$TS_DB['pwd']='123456';
$TS_DB['name']='weibo';
$TS_DB['pre']='ts_';
define('dbprefix','ts_');
*/
+14
View File
@@ -0,0 +1,14 @@
<div class="tabnav">
<h6>唠叨管理</h6>
<ul>
<li {if $GLOBALS['TS_URL']['mg']=='options'}class="select"{/if}><a href="{SITE_URL}index.php?app=weibo&ac=admin&mg=options">配置</a></li>
<li {if $mg=='permissions'}class="select"{/if}><a href="{SITE_URL}index.php?app=weibo&ac=admin&mg=permissions">权限配置</a></li>
<li {if $GLOBALS['TS_URL']['mg']=='weibo'}class="select"{/if}><a href="{SITE_URL}index.php?app=weibo&ac=admin&mg=weibo&ts=list">唠叨列表</a></li>
</ul>
</div>
<div style="height: 100px;"></div>
+35
View File
@@ -0,0 +1,35 @@
{php include pubTemplate("header_admin")}
<!--main-->
<div class="midder">
{php include template("admin/menu");}
<form method="POST" action="index.php?app=weibo&ac=admin&mg=options&ts=do">
<table class="table table-hover">
<tr><td width="150">APP名称:</td><td><input style="width:300px;" name="option[appname]" value="{$strOption[appname]}" /></td></tr>
<tr><td>APP介绍:</td><td><textarea style="width:300px;" name="option[appdesc]">{$strOption[appdesc]}</textarea></td></tr>
<tr><td>APP关键词:</td><td><input style="width:300px;" name="option[appkey]" value="{$strOption[appkey]}" /></td></tr>
<tr><td>应用开启/关闭:</td><td><input type="radio" name="option[isenable]" value="0" {if $strOption['isenable']=='0'}checked{/if} />开启 <input type="radio" name="option[isenable]" value="1" {if $strOption['isenable']=='1'}checked{/if} />关闭 <span>(关闭后应用无法访问)</span></td></tr>
<tr><td>会员发布:</td><td><input type="radio" name="option[allowpost]" value="0" {if $strOption['allowpost']=='0'}checked{/if} />不允许 <input type="radio" name="option[allowpost]" value="1" {if $strOption['allowpost']=='1'}checked{/if} />允许</td></tr>
<tr><td>是否审核:</td><td><input type="radio" name="option[isaudit]" value="0" {if $strOption['isaudit']=='0'}checked{/if} />不审核 <input type="radio" name="option[isaudit]" value="1" {if $strOption['isaudit']=='1'}checked{/if} />审核</td></tr>
<tr><td></td><td>
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<input class="btn btn-primary" type="submit" value="提交修改" /></td></tr>
</table>
</form>
</div>
{php include pubTemplate("footer_admin")}
+121
View File
@@ -0,0 +1,121 @@
{php include pubTemplate("header_admin")}
<div class="midder">
{php include template("admin/menu");}
<div class="mb-3">
{loop $arrUg $key $item}
<a class="btn btn-sm {if $item['ugid']==$ugid}btn-secondary{else}btn-outline-secondary{/if}" href="{SITE_URL}index.php?app=weibo&ac=admin&mg=permissions&ugid={$item['ugid']}">{$item['ugname']}</a>
{/loop}
</div>
<form method="POST" action="index.php?app=weibo&ac=admin&mg=permissions&ts=do">
<h6 class="font-weight-bold fs14">前台权限</h6>
<table class="table table-hover">
<tr>
<td width="150">查看唠叨:</td>
<td>
<select name="option[weibo_show]">
<option value="1" {if $TS_APP['permissions'][$ugid]['weibo_show']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['weibo_show']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
<!--不允许游客发布、修改、删除-->
{if $ugid==1 || $ugid==2 || $ugid==3}
<tr>
<td>发布唠叨:</td>
<td>
<select name="option[weibo_add]">
<option value="1" {if $TS_APP['permissions'][$ugid]['weibo_add']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['weibo_add']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
<tr>
<td>删除唠叨:</td>
<td>
<select name="option[weibo_delete]">
<option value="1" {if $TS_APP['permissions'][$ugid]['weibo_delete']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['weibo_delete']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
{/if}
</table>
<!--管理权限-->
{if $ugid==1 || $ugid==2}
<h6 class="font-weight-bold fs14">后台权限</h6>
<table class="table table-hover">
<tr>
<td width="150">唠叨配置:</td>
<td>
<select name="option[weibo_admin_options]">
<option value="1" {if $TS_APP['permissions'][$ugid]['weibo_admin_options']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['weibo_admin_options']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
<tr>
<td>权限配置:</td>
<td>
<select name="option[weibo_admin_permissions]">
<option value="1" {if $TS_APP['permissions'][$ugid]['weibo_admin_permissions']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['weibo_admin_permissions']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
</table>
{/if}
<h6 class="font-weight-bold fs14">API权限</h6>
<table class="table table-hover">
<tr>
<td width="150">查看唠叨:</td>
<td>
<select name="option[weibo_api_show]">
<option value="1" {if $TS_APP['permissions'][$ugid]['weibo_api_show']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['weibo_api_show']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
</table>
<input type="hidden" name="ugid" value="{$ugid}">
<input class="btn btn-primary" type="submit" value="提交修改" />
</form>
</div>
{php include pubTemplate("footer_admin")}
+77
View File
@@ -0,0 +1,77 @@
{php include pubTemplate("header_admin")}
<!--main-->
<div class="midder">
{php include template("admin/menu");}
<div class="page">{$pageUrl}</div>
<table class="table table-hover">
<thead class="thead-light">
<tr><th>ID</th><th>UserID</th>
<th>内容</th>
<th>统计</th>
<th>操作</th>
</tr>
</thead>
<tbody class="fs12">
{loop $arrWeibo $key $item}
<tr>
<td>{$item['weiboid']}</td>
<td>{$item['userid']}</td>
<td>{$item['title']}
{if $item['photo']}
<div>
{loop $item['photo'] $pkey $pitem}
<img height="100" src="{SITE_URL}uploadfile/weibo/photo/{$pitem['photo']}">
{/loop}
</div>
{/if}
</td>
<td>评论:{$item['count_comment']}</td>
<td>
<a href="{SITE_URL}index.php?app=weibo&ac=admin&mg=weibo&ts=isaudit&weiboid={$item['weiboid']}">
{if $item['isaudit']==0}
[取消审核]
{else}
<font color="red">[审核]</font>
{/if}
</a>
<a href="{SITE_URL}index.php?app=weibo&ac=admin&mg=weibo&ts=delete&weiboid={$item['weiboid']}">[删除]</a>
</td>
</tr>
{/loop}
</tbody>
</table>
</div>
{php include pubTemplate("footer_admin")}
+11
View File
@@ -0,0 +1,11 @@
{loop $arrWeibo $key $item}
<li>
<span class="portrait"><a href="{tsUrl('user','space',array('id'=>$item['user']['userid']))}"><img align="absmiddle" class="SmallPortrait" title="{$item['user']['username']}" alt="{$item['user']['username']}" src="{$item['user']['face']}"></a></span>
<span class="body">
<span class="user"><a href="{tsUrl('user','space',array('id'=>$item['user']['userid']))}">{$item['user']['username']}</a></span><span class="log">{$item['title']}</span>
<span class="time">{php echo getTime(strtotime($item['addtime']),time())} (<a href="{tsUrl('weibo','show',array('id'=>$item['weiboid']))}">{$item['count_comment']}评</a>)
</span>
</span>
<div class="clear"></div>
</li>
{/loop}
+213
View File
@@ -0,0 +1,213 @@
{php include pubTemplate("header")}
{if $TS_USER['userid']}
<script type="text/javascript" src="{SITE_URL}public/js/jquery.upload.v2.js"></script>
<SCRIPT LANGUAGE="JavaScript">
function getPhotoList(){
$.get('{SITE_URL}index.php?app=weibo&ac=photo&ts=list',function(rs){
$("#photo-list").html(rs)
});
}
$(function(){
$("#upload").upload({
action: "{SITE_URL}index.php?app=weibo&ac=photo&ts=upload", //上传地址
fileName: "filedata", //文件名称。用于后台接收
params: {token:'{$_SESSION["token"]}'}, //参数
accept: ".jpg,.png,.jpeg", //文件类型
complete: function (rs) { //上传完成
//window.location.reload()
getPhotoList()
},
submit: function () { //提交之前
//alert("submit");
}
});
})
function delPhoto(photoid){
$.post('{SITE_URL}index.php?app=weibo&ac=photo&ts=delete',{'photoid':photoid},function(rs){
getPhotoList();
})
}
getPhotoList();
</SCRIPT>
{else}
<script>
$(function(){
$("#upload").click(function(rs){
tsNotice('请登录后再上传图片!');
});
})
</script>
{/if}
<div class="container">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{SITE_URL}">首页</a></li>
<li class="breadcrumb-item active" aria-current="page">{$TS_APP['appname']}</li>
</ol>
</nav>
<div class="row">
<div class="col-md-8">
<div class="card">
<div class=" border-bottom bg-light p-3">
<form id="comm-form" method="post" class="form text-form" action="{SITE_URL}index.php?app=weibo&ac=add" enctype="multipart/form-data">
<textarea class="form-control" rows="2" id="title" name="title"></textarea>
<div class="d-flex justify-content-between align-items-center mt-2">
<div>
<a class="fs24" id="upload" title="上传图片"><i class="bi bi-image"></i></a>
</div>
<div>
<!--匿名发布-->
{if $TS_SITE['isniming']==1}
<span>匿名发布:</span>
<input type="radio" name="isniming" value="0" checked>
<input type="radio" name="isniming" value="1">
{/if}
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button class="btn btn-sm btn-info" type="submit">唠叨一下</button>
</div>
</div>
<div class="weibo-add-photo" id="photo-list">
</div>
</form>
</div>
<div class="card-body">
<div class="clear"></div>
<div class="weibo_index_list">
<ul>
{loop $arrWeibo $key $item}
<li class="mbtl">
<a href="{tsUrl('user','space',array('id'=>$item['user']['userid']))}"><img class="rounded-circle" title="{$item['user']['username']}" alt="{$item['user']['username']}" src="{$item['user']['face']}" width="36" /></a>
</li>
<li class="mbtr rounded">
<div class="author"><a href="{tsUrl('user','space',array('id'=>$item['user']['userid']))}">{$item['user']['username']}</a> <span class="fs12 c9">{$item['addtime']}</span></div>
<div class="title">
{$item['title']}
</div>
{if $item['photo']}
<div class="d-flex">
{loop $item['photo'] $pkey $pitem}
<a class="w-25 p-1" href="{tsUrl('weibo','show',array('id'=>$item['weiboid']))}"><img class="w-100" src="{$pitem}">
{/loop}
</div>
{/if}
<p class="tar fs12">
<a href="{tsUrl('weibo','show',array('id'=>$item['weiboid']))}">{if $item['count_comment'] > '0'}({$item['count_comment']}){/if}回复</a>
{if $GLOBALS['TS_USER']['isadmin'] == 1}
<span class="c9">|</span>
<a href="{tsUrl('weibo','delete',array('weiboid'=>$item['weiboid']))}">删除</a>
{/if}
</p>
</li>
<div class="clear"></div>
{/loop}
</ul>
</div>
<div class="clear"></div>
<div class="page">{$pageUrl}</div>
<div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-header">热门唠叨</div>
<div class="card-body">
<div class="weilist">
<ul>
{loop $arrHotWeibo $key $item}
<li>
<div class="portrait">
<a href="{tsUrl('user','space',array('id'=>$item['user']['userid']))}"><img class="rounded-circle" title="{$item['user']['username']}" alt="{$item['user']['username']}" src="{$item['user']['face']}"></a>
</div>
<div class="body">
<div>
<span class="user"><a href="{tsUrl('user','space',array('id'=>$item['user']['userid']))}">{$item['user']['username']}</a></span><span class="log">{$item['title']}</span>
</div>
{if $item['photo']}
<div class="d-flex">
{loop $item['photo'] $pkey $pitem}
<a class="w-25 p-1" href="{tsUrl('weibo','show',array('id'=>$item['weiboid']))}"><img class="w-100" src="{$pitem}">
{/loop}
</div>
{/if}
<div class="time">{php echo getTime(strtotime($item['addtime']),time())} (<a href="{tsUrl('weibo','show',array('id'=>$item['weiboid']))}">{$item['count_comment']}评</a>)
</div>
</div>
<div class="clear"></div>
</li>
{/loop}
</ul>
</div>
</div>
</div>
<!--广告位-->
{php doAction('gobad','300')}
</div>
</div>
</div>
{php include pubTemplate("footer")}
+4
View File
@@ -0,0 +1,4 @@
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" {if $ac=='index'}class="active"{/if}><a href="{tsUrl('weibo')}">最新唠叨</a></li>
<li role="presentation" {if $ac=='my'}class="active"{/if}><a href="{tsUrl('weibo','my')}">我的唠叨</a></li>
</ul>
+108
View File
@@ -0,0 +1,108 @@
{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>
<form method="post" class="form text-form" action="{SITE_URL}index.php?app=weibo&ac=add" enctype="multipart/form-data">
<textarea class="form-control" rows="2" name="title"></textarea>
<div style="padding:5px 0;">
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button class="btn btn-sm btn-info" type="submit">发布</button>
</div>
</form>
</div>
<div class="clear"></div>
<div class="weibo_index_list">
<ul>
{loop $arrWeibo $key $item}
<li class="mbtl">
<a href="{tsUrl('user','space',array('id'=>$strUser[userid]))}"><img class="rounded-circle" title="{$strUser['username']}" alt="{$strUser['username']}" src="{$strUser['face']}" width="36" /></a>
</li>
<li class="mbtr rounded">
<div class="author"><a href="{tsUrl('user','space',array('id'=>$item[user][userid]))}">{$item[user][username]}</a> <span class="fs12 c9">{$item['addtime']}</span></div>
<div class="title">
{if $item[photo]}<a target="_blank" href="{SITE_URL}uploadfile/weibo/{$item[photo]}"><img src="{php echo tsXimg($item['photo'],'weibo',240,'',$item['path'])}" /></a>{/if}
{$item['title']}
</div>
<p class="tar fs12">
<a href="{tsUrl('weibo','show',array('id'=>$item['weiboid']))}">{if $item['count_comment'] > '0'}({$item['count_comment']}){/if}回复</a>
{if $GLOBALS['TS_USER']['isadmin'] == 1}
<span class="c9">|</span>
<a href="{tsUrl('weibo','delete',array('weiboid'=>$item['weiboid']))}">删除</a>
{/if}
</p>
</li>
<div class="clear"></div>
{/loop}
</ul>
</div>
<div class="page">{$pageUrl}</div>
</div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+6
View File
@@ -0,0 +1,6 @@
{loop $arrPhoto $key $item}
<div class="photo-box">
<img src="{php echo tsXimg($item['photo'],'weibo/photo','200','200',$item['path'],1)}">
<a href="javascript:void('0');" onclick="delPhoto('{$item[photoid]}')">X</a>
</div>
{/loop}
+183
View File
@@ -0,0 +1,183 @@
{php include pubTemplate("header")}
<div class="container">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{SITE_URL}">首页</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('weibo')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item active" aria-current="page">{php echo cututf8($title,0,20)}</li>
</ol>
</nav>
<div class="row">
<div class="col-md-8">
<div class="card">
<div class="card-body">
<div class="weibo_show">
<ul>
<li class="mbtl">
<a href="{tsUrl('user','space',array('id'=>$strWeibo['user']['userid']))}"><img class="rounded-circle" title="{$strWeibo['user']['username']}" alt="{$strWeibo['user']['username']}" src="{$strWeibo['user']['face']}" width="36" /></a>
</li>
<li class="mbtr rounded">
<div class="author"><a href="{tsUrl('user','space',array('id'=>$strWeibo['user']['userid']))}">{$strWeibo['user']['username']}</a> <span class="fs12 c9">{$strWeibo['addtime']}</span></div>
<div class="fs16 pt-2 pb-2">
{$strWeibo['title']}
</div>
{if $arrPhoto}
<div>
{loop $arrPhoto $key $item}
<p class="mb-2">
<a target="_blank" href="{$item['photo_url']}">
<img class="mw-100" src="{php echo tsXimg($item['photo'],'weibo/photo',640,'',$item['path'])}" />
</a>
</p>
{/loop}
</div>
{/if}
<div class="text-right fs12">
{if $GLOBALS['TS_USER']['isadmin'] == 1}
<a onclick="return confirm('确定删除?')" href="{tsUrl('weibo','delete',array('weiboid'=>$strWeibo['weiboid']))}"><i class="bi bi-trash"></i> 删除</a>
{/if}
</div>
</li>
</ul>
</div>
</div>
</div>
<div class="card">
<div class="card-header">评论{if $strWeibo['count_comment']} <small class="text-secondary">({$strWeibo['count_comment']})</small>{/if}</div>
<div class="card-body">
<!--评论列表-->
{php include pubTemplate("comment")}
<div class="commentform">
{if tsIntval($GLOBALS['TS_USER']['userid'])==0}
<div class="tac pd20 fw300">
<a href="{tsUrl('user','login')}">登录</a> | <a href="{tsUrl('user','register')}">注册</a>
</div>
{else}
<form id="comm-form" method="post" action="{SITE_URL}index.php?app=comment&ac=add">
<div >
<textarea id="tseditor" name="content"></textarea>
</div>
<div class="row mt-3">
<div class="col-md-6">
{if $GLOBALS['TS_SITE']['isauthcode']}
<input class="form-control form-control-sm w-auto float-left" name="authcode" placeholder="输入验证码" />
<img class="mt-1 ml-1" src="{tsUrl('pubs','code')}" onclick="javascript:newgdcode(this,this.src);" title="点击刷新验证码" alt="点击刷新验证码" style="cursor:pointer;"/>
{/if}
</div>
<div class="col-md-4">
<div class="mt-1">是否公开:<input type="radio" name="ispublic" value="0" checked />公开 <input type="radio" name="ispublic" value="1" />不公开</div>
</div>
<div class="col-md-2 text-right">
<input type="hidden" name="ptable" value="weibo">
<input type="hidden" name="pkey" value="weiboid">
<input type="hidden" name="pid" value="{$strWeibo['weiboid']}" />
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button class="btn btn-sm btn-info btn-block" type="submit">提交评论</button>
</div>
</div>
</form>
{/if}
</div>
</div>
</div>
<div class="card">
<div class="card-header">更多{$strWeibo['user']['username']}的唠叨</div>
<div class="card-body">
<div class="commlist">
<ul>
{loop $arrWeibo $key $item}
<li><a href="{tsUrl('weibo','show',array('id'=>$item['weiboid']))}">{$item['title']}</a></li>
{/loop}
</ul>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-header">热门唠叨</div>
<div class="card-body">
<div class="weilist">
<ul>
{loop $arrHotWeibo $key $item}
<li>
<div class="portrait">
<a href="{tsUrl('user','space',array('id'=>$item['user']['userid']))}"><img class="rounded-circle" title="{$item['user']['username']}" alt="{$item['user']['username']}" src="{$item['user']['face']}"></a>
</div>
<div class="body">
<div>
<span class="user"><a href="{tsUrl('user','space',array('id'=>$item['user']['userid']))}">{$item['user']['username']}</a></span><span class="log">{$item['title']}</span>
</div>
{if $item['photo']}
<div class="d-flex">
{loop $item['photo'] $pkey $pitem}
<a class="w-25 p-1" href="{tsUrl('weibo','show',array('id'=>$item['weiboid']))}"><img class="w-100" src="{$pitem}">
{/loop}
</div>
{/if}
<div class="time">{php echo getTime(strtotime($item['addtime']),time())} (<a href="{tsUrl('weibo','show',array('id'=>$item['weiboid']))}">{$item['count_comment']}评</a>)
</div>
</div>
<div class="clear"></div>
</li>
{/loop}
</ul>
</div>
</div>
</div>
<!--广告位-->
{php doAction('gobad','300')}
</div>
</div>
</div>
{php doAction('tseditor','mini')}
{php include pubTemplate("footer")}
View File
+37
View File
@@ -0,0 +1,37 @@
<?php
defined('IN_TS') or die('Access Denied.');
class weiboMy extends weibo{
/*
* 我的唠叨
* */
public function index(){
$strUser = aac('user')->getOneUser($GLOBALS['TS_USER']['userid']);
$page = isset($_GET['page']) ? intval($_GET['page']) : '1';
$url = tsUrl('weibo','my',array('my'=>'index','page'=>''));
$lstart = $page*20-20;
$arrWeibo = $this->findAll('weibo',array(
'userid'=>$strUser['userid'],
),'uptime desc',null,$lstart.',20');
foreach($arrWeibo as $key=>$item){
$arrWeibo[$key]['content'] = tsTitle($item['content']);
}
$weiboNum = $this->findCount('weibo',array(
'userid'=>$strUser['userid'],
));
$pageUrl = pagination($weiboNum, 20, $page, $url);
$title = '我的时光';
include template('my/index');
}
}
+77
View File
@@ -0,0 +1,77 @@
.weibo_show ul{list-style:none;margin:0;padding: 0;}
.weibo_show ul li{list-style:none;}
.weibo_index_list{margin-top:20px;}
.weibo_index_list ul{list-style:none;margin:0;padding: 0;}
.weibo_index_list ul li{list-style:none;}
.mbtl {
float: left;
margin: 0px 7px 0 0;
padding: 0;
width: 40px;
}
.mbtr {
margin: 0px 0 20px 0;
overflow: hidden;
padding: 10px;;
background:#f8f8f8;
}
.mbtr .author{}
.mbtr .author a{color:#555555;}
.mbtr .title{margin-top:10px;}
.mbtr .title a{color: #444444;font-size:22px;}
.mbtr .title{line-height:30px;color:#888}
.weilist{}
.weilist ul, .weilist ul li{list-style: none;margin:0;padding:0;}
.weilist ul li {
border-bottom: 1px dashed #DDDDDD;
margin: 0 0 5px;
padding: 0 0 8px;
display: flex;
}
.weilist ul li .portrait {
padding-top: 3px;
width: 45px;
}
.weilist ul li .portrait img {
background: none repeat scroll 0 0 #FFFFFF;
height: 32px;
padding: 1px;
width: 32px;
}
.weilist ul li .body {
flex:1;
font-size: 9pt;
overflow: hidden;
}
.weilist ul li .user a {
color: #6CABE1;
}
.weilist ul li .log {
color: #666666;
word-break: break-all;
}
.weilist ul li .time {
color: #9A9A9A;
display: block;
margin: 5px 0 0;
}
.weilist ul li .time a {
color: #9A9A9A;
text-decoration: none;
}
.weibo-add-photo{display: flex;}
.weibo-add-photo .photo-box{width: 12%;position: relative;margin-right: 10px;}
.weibo-add-photo .photo-box img{width: 100%;border-radius: 10px;}
.weibo-add-photo .photo-box a{position: absolute;top:5px;right:5px;background-color: #FFFFFF;font-size: 10px;padding:0 3px;}