Files
thinksaas_lmve/app/topic/class.topic.php
T
2023-06-22 13:33:25 +08:00

189 lines
5.1 KiB
PHP

<?php
defined('IN_TS') or die('Access Denied.');
class topic extends tsApp {
//构造函数
public function __construct($db) {
$tsAppDb = array();
include 'app/topic/config.php';
//判断APP是否采用独立数据库
if ($tsAppDb) {
$db = new MySql($tsAppDb);
}
parent::__construct($db);
}
/**
* 获取一条帖子信息
*
* @param [type] $topicid
* @return void
*/
public function getOneTopic($topicid){
$strTopic = $this->find('topic',array(
'topicid'=>$topicid,
));
return $strTopic;
}
//是否存在帖子
public function isTopic($topicid){
$isTopic = $this->findCount('topic',array(
'topicid'=>$topicid,
));
if($isTopic > 0){
return true;
}else{
return false;
}
}
/**
* 删除帖子
*
* @param array $strTopic
* @return void
*/
public function deleteTopic($strTopic=array()){
$this->delete('topic',array('topicid'=>$strTopic['topicid']));
$this->delete('tag_topic_index',array('topicid'=>$strTopic['topicid']));
#删除评论ts_comment
aac('comment')->delComment('topic','topicid',$strTopic['topicid']);
#删除点赞ts_love
aac('pubs')->delLove('topic','topicid',$strTopic['topicid']);
#删除图片ts_topic_photo
$arrPhoto = $this->findAll('topic_photo',array(
'topicid'=>$strTopic['topicid'],
));
if($arrPhoto){
foreach($arrPhoto as $key=>$item){
unlink('uploadfile/group/topic/photo/'.$item['photo']);
tsDimg($item['photo'],'group/topic/photo','320','320',$item['path'],1);
tsDimg($item['photo'],'group/topic/photo','640','',$item['path']);
}
$this->delete('topic_photo',array('topicid'=>$strTopic['topicid']));
}
$this->countTopic($strTopic['groupid']);
return true;
}
/*
* 统计小组里的话题并更新到小组
*/
public function countTopic($groupid){
$count_topic = $this->findCount('topic',array(
'groupid'=>$groupid,
));
$this->update('group',array(
'groupid'=>$groupid,
),array(
'count_topic'=>$count_topic,
));
}
//热门帖子,1天,7天,30天
public function getHotTopic($day){
$startTime = time()-($day*3600*24);
$endTime = time();
$arr = "`addtime`>'$startTime' and `count_view`>'0' and `addtime`<'$endTime' and `isaudit`='0'";
$arrTopic = $this->findAll('topic',$arr,'addtime desc','topicid,title,count_view,count_comment',10);
foreach($arrTopic as $key=>$item){
$arrTopic[$key]['title']=tsTitle($item['title']);
}
return $arrTopic;
}
//获取推荐的帖子(全部推荐和小组推荐)
public function getRecommendTopic($groupid=null,$num=20){
if($groupid){
$arr = array(
'groupid'=>$groupid,
'isrecommend'=>1,
'isaudit'=>0,
);
}else{
$arr = array(
'isrecommend'=>1,
'isaudit'=>0,
);
}
$arrTopic = $this->findAll('topic',$arr,'addtime desc','topicid,title',$num);
foreach($arrTopic as $key=>$item){
$arrTopic[$key]['title']=tsTitle($item['title']);
}
return $arrTopic;
}
/**
* 获取帖子图片,处理通过小程序或者客户端发的图片
*/
public function getTopicPhoto($topicid,$num=null){
$arrPhotos = $this->findAll('topic_photo',array(
'topicid'=>$topicid,
),'orderid asc',null,$num);
foreach($arrPhotos as $key=>$item){
if($num){
$arrPhoto[$key] = tsXimg($item['photo'],'group/topic/photo','320','320',$item['path'],1);
}else{
$arrPhoto[$key] = tsXimg($item['photo'],'group/topic/photo','640','',$item['path']);
}
}
return $arrPhoto;
}
public function getProject($ptable,$pkey,$pid){
if($ptable && $pkey && $pid){
$strProject = $this->find($ptable,array(
$pkey=>$pid,
));
if($ptable=='article'){
########文章########
$strProject['title'] = tsTitle($strProject['title']);
$strProject['content'] = tsDecode($strProject['content']);
#处理正文样式和图片
$strProject['content'] = mobileHtml($strProject['content']);
if($strProject['photo']){
$strProject['photo'] = tsXimg($strProject['photo'],'article',640,360,$strProject['path'],'1');
}
$topicInfo['article'] = $strProject;
}elseif($ptable=='video'){
########视频########
$topicInfo['video'] = SITE_URL.'uploadfile/video/'.$strProject['video'];
}
return $topicInfo;
}
}
}