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
+290
View File
@@ -0,0 +1,290 @@
<?php
defined ( 'IN_TS' ) or die ( 'Access Denied.' );
// 用户是否登录
$userid = aac ( 'user' )->isLogin ();
//判断用户是否存在
if(aac('user')->isUser($userid)==false) tsNotice('不好意思,用户不存在!');
//判断发布者状态
if(aac('user')->isPublisher()==false) tsNotice('你还不能发布内容,检查邮箱是否认证。','->点击认证<-',tsUrl('user','verify'));
//发布时间限制
if(aac('system')->pubTime()==false) tsNotice('不好意思,当前时间不允许发布内容!');
switch ($ts) {
// 发布帖子
case "" :
$groupid = intval ( $_GET ['id'] );
// 小组数目
$groupNum = $new ['group']->findCount ( 'group', array (
'groupid' => $groupid
) );
if ($groupNum == 0) {
header ( "Location: " . SITE_URL );
exit ();
}
// 小组会员
$isGroupUser = $new ['group']->findCount ( 'group_user', array (
'userid' => $userid,
'groupid' => $groupid
) );
//小组信息
$strGroup = $new ['group']->find ( 'group', array (
'groupid' => $groupid
));
$strGroup ['groupname'] = tsTitle( $strGroup ['groupname'] );
$strGroup ['groupdesc'] = tsTitle( $strGroup ['groupdesc'] );
if ($strGroup ['isaudit'] == 1) {
tsNotice ( '小组还未审核通过,不允许发帖!' );
}
// 允许小组成员发帖
if ($strGroup ['ispost'] == 0 && $isGroupUser == 0 && $userid != $strGroup ['userid']) {
tsNotice ( "本小组只允许小组成员发贴,请加入小组后再发帖!" );
}
// 不允许小组成员发帖
if ($strGroup ['ispost'] == 1 && $userid != $strGroup ['userid']) {
tsNotice ( "本小组只允许小组组长发帖!" );
}
// 帖子类型
$arrGroupType = $new ['group']->findAll ( 'group_topic_type', array (
'groupid' => $strGroup ['groupid']
) );
#加载草稿箱
$strDraft = $new['group']->find('draft',array(
'userid'=>$userid,
'types'=>'topic',
));
$title = '发布帖子';
// 包含模版
include template ( "add" );
break;
// 执行发布帖子
case "do" :
$authcode = strtolower ( $_POST ['authcode'] );
if ($TS_SITE['isauthcode']) {
if ($authcode != $_SESSION ['verify']) {
tsNotice ( "验证码输入有误,请重新输入!" );
}
}
$groupid = intval ( $_POST ['groupid'] );
$title = trim( $_POST ['title'] );
$content = tsClean( $_POST ['content'] );
$content2 = emptyText( $_POST ['content'] );
$typeid = intval ( $_POST ['typeid'] );
$tag = $_POST ['tag'];
// 判断一下Title是否重复
$isTitle = $new ['group']->findCount ( 'group_topic', array (
'title' => $title
) );
if ($isTitle > 0) {
tsNotice ( '有重复标题出现哦^_^' );
}
// 小组
$strGroup = $new ['group']->find ( 'group', array (
'groupid' => $groupid
) );
if ($strGroup ['isaudit'] == 1) {
tsNotice ( '小组还未审核通过,不允许发帖!' );
}
if ($TS_USER ['isadmin'] == 0) {
aac ( 'system' )->antiWord ( $title );
aac ( 'system' )->antiWord ( $content );
aac ( 'system' )->antiWord ( $tag );
}
$iscomment = intval ( $_POST ['iscomment'] );
$iscommentshow = intval ( $_POST ['iscommentshow'] );
// 帖子是否需要审核
if ($strGroup ['ispostaudit'] == 1) {
$isaudit = 1;
} else {
$isaudit = 0;
}
if ($title == '' || $content2 == '') {
tsNotice ( '???' );
}
/**
* ******************
*/
// 防止用户发布重复内容,调出用户上一次发表的内容
$strPreTopic = $new ['group']->find ( 'group_topic', array (
'userid' => $userid
), 'topicid,title,addtime', 'addtime desc' );
// print_r($strPreTopic);exit;
// 发帖间隔时间
/*
$IntervalTime = time () - $strPreTopic ['addtime'];
// if($strPreTopic && $IntervalTime<3600){
if ($strPreTopic) {
similar_text ( $strPreTopic ['title'], $title, $percent );
if ($percent >= 90) {
$new ['group']->update ( 'group_topic', array (
'topicid' => $strPreTopic ['topicid']
), array (
'isaudit' => 1
) );
$isaudit = 1;
}
}
*/
/**
* *****************
*/
$gaiyao = cututf8(t(tsDecode($content)),0,100);
$topicid = $new ['group']->create ( 'group_topic', array (
'groupid' => $groupid,
'typeid' => $typeid,
'userid' => $userid,
'locationid'=>aac('user')->getLocationId($userid),
'title' => $title,
'content' => $content,
'gaiyao'=>$gaiyao,
'iscomment' => $iscomment,
'iscommentshow' => $iscommentshow,
'isaudit' => $isaudit,
'addtime' => time (),
'uptime' => time ()
) );
#清空草稿箱
$new['group']->delete('draft',array(
'userid'=>$userid,
'types'=>'topic',
));
// 统计用户发帖数
$countUserTopic = $new ['group']->findCount ( 'group_topic', array (
'userid' => $userid
) );
$new ['group']->update ( 'user_info', array (
'userid' => $userid
), array (
'count_topic' => $countUserTopic
) );
// 处理@用户名
/*
if (preg_match_all ( '/@/', $content, $at )) {
preg_match_all ( "/@(.+?)([\s|:]|$)/is", $content, $matches );
$unames = $matches [1];
$ns = "'" . implode ( "','", $unames ) . "'";
$csql = "username IN($ns)";
if ($unames) {
$query = $db->fetch_all_assoc ( "select userid,username from " . dbprefix . "user_info where $csql" );
foreach ( $query as $v ) {
$content = str_replace ( '@' . $v ['username'] . '', '[@' . $v ['username'] . ':' . $v ['userid'] . ']', $content );
$msg_content = '我在帖子中提到了你<br />去看看:' . tsUrl ( 'group', 'topic', array (
'id' => $topicid
) );
aac ( 'message' )->sendmsg ( $userid, $v ['userid'], $msg_content );
}
$new ['group']->update ( 'group_topic', array (
'topicid' => $topicid
), array (
'content' => $content
) );
}
}
*/
// 统计帖子类型
if ($typeid) {
$topicTypeNum = $new ['group']->findCount ( 'group_topic', array (
'typeid' => $typeid
) );
$new ['group']->update ( 'group_topic_type', array (
'typeid' => $typeid
), array (
'count_topic' => $topicTypeNum
) );
}
// 处理标签
aac ( 'tag' )->addTag ( 'topic', 'topicid', $topicid, $tag );
// 统计需要审核的帖子
$count_topic_audit = $new ['group']->findCount ( 'group_topic', array (
'groupid' => $groupid,
'isaudit' => '1'
) );
// 统计小组下帖子数并更新
$count_topic = $new ['group']->findCount ( 'group_topic', array (
'groupid' => $groupid
) );
// 统计今天发布帖子数
$today_start = strtotime ( date ( 'Y-m-d 00:00:00' ) );
$today_end = strtotime ( date ( 'Y-m-d 23:59:59' ) );
$count_topic_today = $new ['group']->findCount ( 'group_topic', "`groupid`='$groupid' and `addtime`>'$today_start' and `addtime`<'$today_end'" );
$new ['group']->update ( 'group', array (
'groupid' => $groupid
), array (
'count_topic' => $count_topic,
'count_topic_audit' => $count_topic_audit,
'count_topic_today' => $count_topic_today,
'uptime' => time ()
) );
// 对积分进行处理
aac ( 'user' )->doScore ( $TS_URL['app'], $TS_URL['ac'], $TS_URL['ts'] );
header ( "Location: " . tsUrl('group', 'topic', array ('id' => $topicid)));
break;
}
+9
View File
@@ -0,0 +1,9 @@
<?php
defined('IN_TS') or die('Access Denied.');
//管理入口
if(is_file('app/'.$app.'/action/admin/'.$mg.'.php')){
include_once 'app/'.$app.'/action/admin/'.$mg.'.php';
}else{
tsNotice('sorry:no index!');
}
+39
View File
@@ -0,0 +1,39 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
//分类列表
case "list":
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = SITE_URL.'index.php?app=group&ac=admin&mg=album&ts=list&page=';
$lstart = $page*10-10;
$arrAlbum = $new['group']->findAll('group_album',null,'addtime desc',null,$lstart.',10');
$albumNum = $new['group']->findCount('group_album');
$pageUrl = pagination($albumNum, 10, $page, $url);
include template("admin/album_list");
break;
//分类删除
case "delete":
$albumid = intval($_GET['albumid']);
$new['group']->delete('group_album',array(
'albumid'=>$albumid,
));
$new['group']->delete('group_album_topic',array(
'albumid'=>$albumid,
));
qiMsg('删除成功!');
break;
}
+118
View File
@@ -0,0 +1,118 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
//分类列表
case "list":
$arrCate = $new['group']->findAll('group_cate',array(
'referid'=>'0',
));
foreach($arrCate as $key=>$item){
$arrCates[] = $item;
$arrCates[$key]['two'] = $new['group']->findAll('group_cate',array(
'referid'=>$item['cateid'],
));
}
foreach($arrCates as $key=>$item){
$arrCatess[] = $item;
foreach($item['two'] as $tkey=>$titem){
$arrCatess[$key]['two'][$tkey]['three'] = $new['group']->findAll('group_cate',array(
'referid'=>$titem['cateid'],
));
}
}
//print_r($arrCatess);
include template("admin/cate_list");
break;
//分类添加
case "add":
$referid = tsIntval($_GET['referid']);
include template("admin/cate_add");
break;
case "add_do":
$new['group']->create('group_cate',array(
'catename'=>t($_POST['catename']),
'referid'=>tsIntval($_POST['referid']),
));
header("Location: ".SITE_URL."index.php?app=group&ac=admin&mg=cate&ts=list");
break;
//分类删除
case "del":
$cateid = tsIntval($_GET['cateid']);
$groupNum = $db->once_fetch_assoc("select count(*) from ".dbprefix."group where `cateid`='$cateid'");
if($groupNum['count(*)'] > 0){
qiMsg("此分类有小组存在,不允许删除!");
}
$db->query("delete from ".dbprefix."group_cate where cateid='$cateid'");
qiMsg("分类删除成功!");
break;
//分类修改
case "edit":
$cateid = tsIntval($_GET['cateid']);
$referid = tsIntval($_GET['referid']);
$strCate = $db->once_fetch_assoc("select * from ".dbprefix."group_cate where cateid='$cateid'");
//调出顶级分类
if($referid){
$arrOneCate = $new['group']->findAll('group_cate',array(
'referid'=>0,
));
}
include template("admin/cate_edit");
break;
//分类修改执行
case "edit_do":
$cateid = tsIntval($_POST['cateid']);
$catename = t($_POST['catename']);
$referid = tsIntval($_POST['referid']);
$refer = '';
if($referid){
$refer = ", `referid`='$referid'";
}
$db->query("update ".dbprefix."group_cate set `catename`='".$catename."'".$refer." where cateid='$cateid'");
header("Location: ".SITE_URL."index.php?app=group&ac=admin&mg=cate&ts=list");
break;
}
+156
View File
@@ -0,0 +1,156 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
//小组列表
case "list":
$page = tsIntval($_GET['page'],1);
$url = SITE_URL.'index.php?app=group&ac=admin&mg=group&ts=list&page=';
$lstart = $page*10-10;
$arrGroup = $db->fetch_all_assoc("select * from ".dbprefix."group order by addtime desc limit $lstart,10");
$groupNum = $db->once_num_rows("select * from ".dbprefix."group");
if(is_array($arrGroup)){
foreach($arrGroup as $key=>$item){
$arrAllGroup[] = $item;
$arrAllGroup[$key]['groupdesc'] = cututf8($item['groupdesc'],0,40);
}
}
$pageUrl = pagination($groupNum, 10, $page, $url);
include template("admin/group_list");
break;
//推荐的小组
case "recommend":
$arrGroup = $new['group']->findAll('group',array(
'isrecommend'=>1,
),'orderid asc','groupid,orderid,groupname,isrecommend');
include template("admin/group_recommend");
break;
case "orderid":
$arrGroupid = $_POST['groupid'];
$arrOrderid = $_POST['orderid'];
foreach($arrGroupid as $key=>$item){
$new['group']->update('group',array(
'groupid'=>tsIntval($item)
),array(
'orderid'=>tsIntval($arrOrderid[$key])
));
}
qiMsg('修改成功!');
break;
//小组编辑
case "edit":
$groupid = tsIntval($_GET['groupid']);
$arrGroup = $db->once_fetch_assoc("select * from ".dbprefix."group where groupid='$groupid'");
include template("admin/group_edit");
break;
//小组编辑执行
case "editdo":
$groupid = tsIntval($_POST['groupid']);
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'userid' => tsIntval($_POST['userid']),
));
qiMsg("小组信息修改成功!");
break;
//小组删除
case "del":
$groupid = tsIntval($_GET['groupid']);
if($groupid == 1){
qiMsg("默认小组不能删除!");
}
$topicNum = $db->once_fetch_assoc("select count(*) from ".dbprefix."topic where `groupid`='$groupid'");
if($topicNum['count(*)'] > 0){
qiMsg("本小组还有帖子,不允许删除。");
}
$strGroup = $new['group']->find('group',array(
'groupid'=>$groupid,
));
$new['group']->deleteGroup($strGroup);
qiMsg("小组删除成功!");
break;
//审核小组
case "isaudit":
$groupid = tsIntval($_GET['groupid']);
$strGroup = $db->once_fetch_assoc("select groupid,userid,groupname,isaudit from ".dbprefix."group where groupid='$groupid'");
if($strGroup['isaudit']){
$db->query("update ".dbprefix."group set `isaudit`='0' where groupid='$groupid'");
//发送系统消息(审核通过)
$msg_userid = '0';
$msg_touserid = $strGroup['userid'];
$msg_content = '恭喜你,你申请的小组《'.$strGroup['groupname'].'》审核通过!快去看看吧';
$msg_tourl = tsUrl('group','show',array('id'=>$groupid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
}else{
$db->query("update ".dbprefix."group set `isaudit`='1' where groupid='$groupid'");
}
qiMsg("操作成功!");
break;
//推荐小组
case "isrecommend":
$groupid = tsIntval($_GET['groupid']);
$strGroup = $db->once_fetch_assoc("select groupid,userid,groupname,isrecommend from ".dbprefix."group where groupid='$groupid'");
if($strGroup['isrecommend'] == 0){
$db->query("update ".dbprefix."group set `isrecommend`='1' where groupid='$groupid'");
//发送系统消息(审核通过)
$msg_userid = '0';
$msg_touserid = $strGroup['userid'];
$msg_content = '恭喜你,你的小组《'.$strGroup['groupname'].'》被推荐啦!快去看看吧';
$msg_tourl = tsUrl('group','show',array('id'=>$groupid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
}else{
$db->query("update ".dbprefix."group set `isrecommend`='0' where groupid='$groupid'");
}
qiMsg("操作成功!");
break;
}
+27
View File
@@ -0,0 +1,27 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
//基本配置
case "":
$strOption = getAppOptions('group');
include template("admin/options");
break;
case "do":
$arrOption = $_POST['option'];
#更新app配置选项
upAppOptions('group',$arrOption);
#更新app导航和我的导航
upAppNav('group',$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['group']->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,'group',$arrOption);
qiMsg('操作成功!');
break;
}
+133
View File
@@ -0,0 +1,133 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
case "list":
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = SITE_URL.'index.php?app=group&ac=admin&mg=topic&ts=list&page=';
$lstart = $page*10-10;
$arrTopic = $new['group']->findAll('group_topic',null,'addtime desc',null,$lstart.',10');
$topicNum = $new['group']->findCount('group_topic');
$pageUrl = pagination($topicNum, 10, $page, $url);
include template("admin/topic_list");
break;
case "delete":
$topicid = intval($_GET['topicid']);
$groupid = intval($_GET['groupid']);
$new['group']->delTopic($topicid,$groupid);
qiMsg('删除成功');
break;
//帖子审核
case "isaudit":
$topicid = intval($_GET['topicid']);
$strTopic = $new['group']->find('group_topic',array(
'topicid'=>$topicid,
));
if($strTopic['isaudit']==0){
$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'isaudit'=>1,
));
}
if($strTopic['isaudit']==1){
$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'isaudit'=>0,
));
}
qiMsg('操作成功!');
break;
//删除的帖子
case "deletetopic":
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = SITE_URL.'index.php?app=group&ac=admin&mg=topic&ts=deletetopic&page=';
$lstart = $page*10-10;
$arrTopic = $new['group']->findAll('group_topic',array('isdelete'=>'1'),'addtime desc',null,$lstart.',10');
$topicNum = $new['group']->findCount('group_topic',array(
'isdelete'=>'1',
));
$pageUrl = pagination($topicNum, 10, $page, $url);
include template("admin/topic_delete");
break;
//编辑的帖子
case "edittopic":
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
$url = SITE_URL.'index.php?app=group&ac=admin&mg=topic&ts=edittopic&page=';
$lstart = $page*10-10;
$arrTopic = $new['group']->findAll('group_topic_edit',null,'addtime desc',null,$lstart.',10');
$topicNum = $new['group']->findCount('group_topic_edit');
$pageUrl = pagination($topicNum, 10, $page, $url);
include template("admin/topic_edit");
break;
//执行更新帖子
case "update":
$topicid = intval($_GET['topicid']);
$strTopic = $new['group']->find('group_topic_edit',array(
'topicid'=>$topicid,
));
$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'title'=>$strTopic['title'],
'content'=>$strTopic['content'],
));
$new['group']->update('group_topic_edit',array(
'topicid'=>$topicid,
),array(
'isupdate'=>1,
));
qiMsg('更新成功!');
break;
//查看单独某个修改的帖子
case "editview":
$topicid = intval($_GET['topicid']);
$strTopic = $new['group']->find('group_topic_edit',array(
'topicid'=>$topicid,
));
include template('admin/topic_edit_view');
break;
}
+24
View File
@@ -0,0 +1,24 @@
<?php
defined('IN_TS') or die('Access Denied.');
#凡是一切不符合自然规律逆天的功能都要彻底的被抛弃!
exit();
//将用户全部绑定到群组
$groupid = tsIntval($_GET['groupid']);
$arrUser = $db->fetch_all_assoc("select userid from ".dbprefix."user order by userid desc");
foreach($arrUser as $item){
$groupusernum = $db->once_num_rows("select * from ".dbprefix."group_user where userid='".$item['userid']."' and groupid='".$groupid."'");
if($groupusernum == '0'){
$db->query("insert into ".dbprefix."group_user (`userid`,`groupid`,`addtime`) values ('".$item['userid']."','".$groupid."','".time()."')");
}
}
$userNum = $db->once_num_rows("select * from ".dbprefix."group_user where groupid='".$groupid."'");
$db->query("update ".dbprefix."group set `count_user`='".$userNum."' where groupid='".$groupid."'");
qiMsg("会员投送成功!");
+147
View File
@@ -0,0 +1,147 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
//加入小组
case "joingroup":
$userid = tsIntval($TS_USER['userid']);
$groupid = tsIntval($_POST['groupid']);
$strGroup = $new['group']->find('group',array(
'groupid'=>$groupid
));
if($userid==0 || $groupid==0 || $strGroup==''){
getJson('请登录后再加入小组',1,2,tsUrl('user','login'));
}
//管理员可以加入任何小组
if($TS_USER['isadmin'] != 1){
//除管理员外其他用户都要经过这一关审核
if($strGroup['joinway'] == 1) getJson('本小组禁止加入!');
//处理申请加入,成员审核
if($strGroup['joinway'] == 2){
$new['group']->replace('group_user_isaudit',array(
'userid'=>$userid,
'groupid'=>$strGroup['groupid'],
),array(
'userid'=>$userid,
'groupid'=>$strGroup['groupid'],
));
getJson('加入小组申请提交成功,请等待管理员审核后加入。');
}
//先统计用户有多少个小组了,50个封顶
$userGroupNum = $new['group']->findCount('group_user',array('userid'=>$userid));
if($userGroupNum >= $TS_APP['joinnum']) getJson('你加入的小组总数已经到达'.$TS_APP['joinnum'].'个,不能再加入小组!');
$groupUserNum = $new['group']->findCount('group_user',array(
'userid'=>$userid,
'groupid'=>$groupid,
));
if($groupUserNum > 0) getJson('你已经加入小组!');
#付费加入小组
if($TS_APP['ispayjoin']==1 && $strGroup['joinway']==3){
//启动支付帐号
$strUserPay = aac('pay')->getUserPay($userid);
if($strUserPay['over']<$strGroup['price']){
getJson('支付帐号资金不足,请充值后再加入小组!');
}
//用户加入付款消费
aac('pay')->updatePay($userid,$strGroup['price'],1,'加入收费小组'.$strGroup['groupid']);
#组长获取加入收费收入
aac('pay')->updatePay($strGroup['userid'],$strGroup['price'],0,'收费小组获取'.$strGroup['groupid']);
}
}
$new['group']->create('group_user',array(
'userid'=>$userid,
'groupid'=>$groupid,
'addtime'=>time(),
));
//更新
$count_group = $new['group']->findCount('group_user',array(
'userid'=>$userid,
));
$new['group']->update('user_info',array(
'userid'=>$userid,
),array(
'count_group'=>$count_group,
));
//计算小组会员数
$count_user = $new['group']->findCount('group_user',array(
'groupid'=>$groupid,
));
//更新小组成员统计
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'count_user'=>$count_user,
));
getJson('加入成功!',1,1,tsUrl('group','show',array('id'=>$groupid)));
break;
//退出小组
case "exitgroup":
$userid = tsIntval($TS_USER['userid']);
$groupid = tsIntval($_POST['groupid']);
//判断是否是组长,是组长不能退出小组
$strGroup = $new['group']->find('group',array(
'groupid'=>$groupid
));
if($userid==0 || $groupid==0 || $strGroup==''){
getJson('非法操作');
}
if($strGroup['userid'] == $userid) getJson('组长任务艰巨,请坚持到底!');
$new['group']->delete('group_user',array(
'userid'=>$userid,
'groupid'=>$groupid,
));
//计算小组会员数
$count_user = $new['group']->findCount('group_user',array(
'groupid'=>$groupid,
));
//更新小组成员统计
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'count_user'=>$count_user,
));
getJson('加入成功!',1,1,tsUrl('group','show',array('id'=>$groupid)));
break;
}
+30
View File
@@ -0,0 +1,30 @@
<?php
defined('IN_TS') or die('Access Denied.');
//所有小组
$page = isset($_GET['page']) ? intval($_GET['page']) : '1';
$url = tsUrl('group','all',array('page'=>''));
$lstart = $page*20-20;
$arrGroups = $db->fetch_all_assoc("select groupid from ".dbprefix."group order by isrecommend desc limit $lstart,20");
foreach($arrGroups as $key=>$item){
$arrData[] = $new['group']->getOneGroup($item['groupid']);
}
foreach($arrData as $key=>$item){
$arrGroup[] = $item;
$arrGroup[$key]['groupdesc'] = cututf8(t($item['groupdesc']),0,35);
}
$groupNum = $db->once_fetch_assoc("select count(groupid) from ".dbprefix."group");
$pageUrl = pagination($groupNum['count(groupid)'], 20, $page, $url);
if($page > 1){
$title = '全部小组 - 第'.$page.'页';
}else{
$title = '全部小组';
}
//热门帖子
$arrTopic = $db->fetch_all_assoc("select topicid,title,count_comment from ".dbprefix."group_topic order by count_comment desc limit 10");
//最新10个小组
$arrNewGroup = $new['group']->getNewGroup('10');
include template('all');
+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>
-----------------------------------------------
Group Http Api List
URL:https://demo.thinksaas.cn
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
-----------------------------------------------
</pre>';
+99
View File
@@ -0,0 +1,99 @@
<?php
defined('IN_TS') or die('Access Denied.');
$userid = aac('user')->isLogin();
$groupid = tsIntval($_GET['groupid']);
$strGroup = $new['group']->find('group',array(
'groupid'=>$groupid,
));
if($strGroup['userid']==$userid || $TS_USER['isadmin']==1){
switch($ts){
case "":
$arrTopic = $new['group']->findAll('topic',array(
'groupid'=>$groupid,
'isaudit'=>1,
));
$title = '审核帖子';
include template('audit');
break;
//执行审核
case "do":
$topicid = tsIntval($_GET['topicid']);
$new['group']->update('topic',array(
'topicid'=>$topicid,
),array(
'isaudit'=>'0',
));
//统计需要审核的帖子
$count_topic_audit = $new['group']->findCount('topic',array(
'groupid'=>$groupid,
'isaudit'=>'1',
));
// 统计小组下帖子数并更新
$count_topic = $new['group']->findCount('topic',array(
'groupid'=>$groupid,
));
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'count_topic'=>$count_topic,
'count_topic_audit'=>$count_topic_audit,
));
tsNotice('审核成功!');
break;
//删除审核
case "delete":
$topicid = tsIntval($_GET['topicid']);
$strTopic = aac('topic')->getOneTopic($topicid);
if($strGroup['groupid']!=$groupid){
tsNotice('非法操作!');
}
aac('topic')->deleteTopic($strTopic);
//统计需要审核的帖子
$count_topic_audit = $new['group']->findCount('topic',array(
'groupid'=>$groupid,
'isaudit'=>'1',
));
// 统计小组下帖子数并更新
$count_topic = $new['group']->findCount('topic',array(
'groupid'=>$groupid,
));
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'count_topic'=>$count_topic,
'count_topic_audit'=>$count_topic_audit,
));
tsNotice('删除成功!');
break;
}
}else{
tsNotice('非法操作!');
}
+223
View File
@@ -0,0 +1,223 @@
<?php
defined('IN_TS') or die('Access Denied.');
switch($ts){
case "":
//一级分类
$arrCate = $new['group']->findAll('group_cate',array(
'referid'=>0,
));
//分类下小组
$page = tsIntval($_GET['page'],1);
$url = tsUrl('group','cate',array('page'=>''));
$lstart = $page*20-20;
$arrGroup = $new['group']->findAll('group',null,'isrecommend desc,count_topic desc',null,$lstart.',20');
$groupNum = $new['group']->findCount('group');
$pageUrl = pagination($groupNum, 20, $page, $url);
$title = '分类';
include template('cate');
break;
//二级分类
case "2":
$cateid = tsIntval($_GET['cateid']);
$strCate = $new['group']->find('group_cate',array(
'cateid'=>$cateid,
));
$arrCate = $new['group']->findAll('group_cate',array(
'referid'=>$cateid,
));
//分类下小组
$page = tsIntval($_GET['page'],1);
$url = tsUrl('group','cate',array('ts'=>'2','page'=>''));
$lstart = $page*20-20;
$arrGroup = $new['group']->findAll('group',array(
'cateid'=>$cateid,
),null,null,$lstart.',20');
$groupNum = $new['group']->findCount('group',array(
'cateid'=>$cateid,
));
$pageUrl = pagination($groupNum, 20, $page, $url);
$title = $strCate['catename'];
include template('cate2');
break;
//三级分类
case "3":
$cateid = tsIntval($_GET['cateid']);
$strCate = $new['group']->find('group_cate',array(
'cateid'=>$cateid,
));
//上级分类
$oneCate = $new['group']->find('group_cate',array(
'cateid'=>$strCate['referid'],
));
//下级分类
$arrCate = $new['group']->findAll('group_cate',array(
'referid'=>$cateid,
));
//分类下小组
$page = tsIntval($_GET['page'],1);
$url = tsUrl('group','cate',array('ts'=>'3','page'=>''));
$lstart = $page*20-20;
$arrGroup = $new['group']->findAll('group',array(
'cateid2'=>$cateid,
),null,null,$lstart.',20');
$groupNum = $new['group']->findCount('group',array(
'cateid'=>$cateid,
));
$pageUrl = pagination($groupNum, 20, $page, $url);
$title = $strCate['catename'];
include template('cate3');
break;
//展示小组
case "group":
$cateid = tsIntval($_GET['cateid']);
$strCate = $new['group']->find('group_cate',array(
'cateid'=>$cateid,
));
$twoCate = $new['group']->find('group_cate',array(
'cateid'=>$strCate['referid'],
));
$oneCate = $new['group']->find('group_cate',array(
'cateid'=>$twoCate['referid'],
));
//分类下小组
$arrGroup = $new['group']->findAll('group',array(
'cateid3'=>$cateid,
));
$title = $strCate['catename'];
include template('cate_group');
break;
//绑定分类
case "do":
$groupid = tsIntval($_POST['groupid']);
$cateid = tsIntval($_POST['cateid']);
$cateid2 = tsIntval($_POST['cateid2']);
$cateid3 = tsIntval($_POST['cateid3']);
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'cateid'=>$cateid,
'cateid2'=>$cateid2,
'cateid3'=>$cateid3,
));
//更新分类统计
//更新一级
if($cateid){
$count_group = $new['group']->findCount('group',array(
'cateid'=>$cateid,
));
$new['group']->update('group_cate',array(
'cateid'=>$cateid,
),array(
'count_group'=>$count_group,
));
}
//更新二级
if($cateid2){
$count_group = $new['group']->findCount('group',array(
'cateid2'=>$cateid2,
));
$new['group']->update('group_cate',array(
'cateid'=>$cateid2,
),array(
'count_group'=>$count_group,
));
}
//更新三级
if($cateid3){
$count_group = $new['group']->findCount('group',array(
'cateid3'=>$cateid3,
));
$new['group']->update('group_cate',array(
'cateid'=>$cateid3,
),array(
'count_group'=>$count_group,
));
}
tsNotice('分类修改成功!');
break;
//二级分类
case "two":
$cateid = tsIntval($_GET['cateid']);
$arrCate = $db->fetch_all_assoc("select * from ".dbprefix."group_cate where referid='$cateid'");
if($arrCate){
echo '<select id="cateid2" name="cateid2">';
echo '<option value="0">请选择</option>';
foreach($arrCate as $item){
echo '<option value="'.$item['cateid'].'">'.$item['catename'].'</option>';
}
echo "</select>";
}else{
echo '';
}
break;
//三级分类
case "three":
$cateid2 = tsIntval($_GET['cateid2']);
$arrCate = $db->fetch_all_assoc("select * from ".dbprefix."group_cate where referid='$cateid2'");
if($arrCate){
echo '<select id="cateid3" name="cateid3">';
echo '<option value="0">请选择</option>';
foreach($arrCate as $item){
echo '<option value="'.$item['cateid'].'">'.$item['catename'].'</option>';
}
echo "</select>";
}else{
echo '';
}
break;
}
+192
View File
@@ -0,0 +1,192 @@
<?php
defined('IN_TS') or die('Access Denied.');
//用户是否登录
$userid = aac('user')->isLogin($js,$userkey);
switch($ts){
/**
* 添加帖子评论
* index.php?app=group&ac=comment&ts=do&js=1
* post
* @userkey
* @topicid
* @content
* @ispublic
*/
case "do":
$authcode = strtolower($_POST['authcode']);
if ($TS_SITE ['isauthcode']) {
if ($authcode != $_SESSION ['verify']) {
getJson ( "验证码输入有误,请重新输入!" ,$js,0);
}
}
$topicid = intval($_POST['topicid']);
$content = tsClean($_POST['content'],$js);
$content2 = emptyText($_POST['content']);//测试空内容
$ispublic = intval($_POST['ispublic']);
//过滤内容开始
if($TS_USER['isadmin']==0){
aac('system')->antiWord($content,$js);
}
//过滤内容结束
if($content2==''){
getJson('没有任何内容是不允许你通过滴^_^',$js);
}else{
$commentid = $new['group']->create('group_topic_comment',array(
'topicid' => $topicid,
'userid' => $userid,
'content' => $content,
'ispublic'=>$ispublic,
'addtime'=> time(),
));
//统计评论数
$count_comment = $new['group']->findCount('group_topic_comment',array(
'topicid'=>$topicid,
));
//更新帖子最后回应时间和评论数
$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'count_comment'=>$count_comment,
'uptime'=>time(),
));
//对积分进行处理
aac('user')->doScore($GLOBALS['TS_URL']['app'], $GLOBALS['TS_URL']['ac'], $GLOBALS['TS_URL']['ts']);
//发送系统消息(通知楼主有人回复他的帖子啦)
$strTopic = $new['group']->find('group_topic',array(
'topicid'=>$topicid,
));
if($strTopic['userid'] != $TS_USER['userid']){
$msg_userid = '0';
$msg_touserid = $strTopic['userid'];
$msg_content = '你的帖子:《'.$strTopic['title'].'》新增一条评论,快去看看给个回复吧^_^ ';
$msg_tourl = tsUrl('group','topic',array('id'=>$topicid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
}
getJson('评论成功',$js,1,tsUrl('group','topic',array('id'=>$topicid)));
}
break;
//回复评论
case "recomment":
$referid = intval($_POST['referid']);
$topicid = intval($_POST['topicid']);
$content = tsClean($_POST['content']);
$new['group']->create('group_topic_comment',array(
'referid'=>$referid,
'topicid'=>$topicid,
'userid'=>$userid,
'content'=>$content,
'addtime'=>time(),
));
//统计评论数
$count_comment = $new['group']->findCount('group_topic_comment',array(
'topicid'=>$topicid,
));
//更新帖子最后回应时间和评论数
$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'count_comment'=>$count_comment,
'uptime'=>time(),
));
$strTopic = $new['group']->find('group_topic',array(
'topicid'=>$topicid,
));
$strComment = $new['group']->find('group_topic_comment',array(
'commentid'=>$referid,
));
if($topicid && $strTopic['userid'] != $TS_USER['userid']){
$msg_userid = '0';
$msg_touserid = $strTopic['userid'];
$msg_content = '你的帖子:《'.$strTopic['title'].'》新增一条评论,快去看看给个回复吧^_^ ';
$msg_tourl = tsUrl('group','topic',array('id'=>$topicid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
}
if($referid && $strComment['userid'] != $TS_USER['userid']){
$msg_userid = '0';
$msg_touserid = $strComment['userid'];
$msg_content = '有人评论了你在帖子:《'.$strTopic['title'].'》中的回复,快去看看给个回复吧^_^ ';
$msg_tourl = tsUrl('group','topic',array('id'=>$topicid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
}
echo 0;exit;
break;
//删除评论
case "delete":
$commentid = intval($_GET['commentid']);
$strComment = $new['group']->find('group_topic_comment',array(
'commentid'=>$commentid,
));
$strTopic = $new['group']->find('group_topic',array(
'topicid'=>$strComment['topicid'],
));
$strGroup = $new['group']->find('group',array(
'groupid'=>$strTopic['groupid'],
));
if($strTopic['userid']==$userid || $strGroup['userid']==$userid || $TS_USER['isadmin']==1 || $strComment['userid']==$userid){
$new['group']->delComment($commentid);
//统计评论数
$count_comment = $new['group']->findCount('group_topic_comment',array(
'topicid'=>$strTopic['topicid'],
));
//更新帖子最后回应时间和评论数
$new['group']->update('group_topic',array(
'topicid'=>$strTopic['topicid'],
),array(
'count_comment'=>$count_comment,
));
//处理积分
aac('user')->doScore($GLOBALS['TS_URL']['app'], $GLOBALS['TS_URL']['ac'], $GLOBALS['TS_URL']['ts'],$strComment['userid']);
}
//跳转回到帖子页
header("Location: ".tsUrl('group','topic',array('id'=>$strComment['topicid'])));
break;
}
+169
View File
@@ -0,0 +1,169 @@
<?php
//创建小组
defined('IN_TS') or die('Access Denied.');
//用户是否登录
$userid = aac('user')->isLogin();
//判断用户是否存在
if(aac('user')->isUser($userid)==false) tsNotice('不好意思,用户不存在!');
//判断发布者状态
if(aac('user')->isPublisher()==false) tsNotice('不好意思,你还没有权限发布内容!');
//发布时间限制
if(aac('system')->pubTime()==false) tsNotice('不好意思,当前时间不允许发布内容!');
switch($ts){
case "":
//先判断加入多少个小组啦
$userGroupNum = $new['group']->findCount('group_user',array(
'userid'=>$userid
));
if($userGroupNum >= $TS_APP['joinnum'] && $TS_USER['isadmin']==0){
tsNotice('你加入的小组总数已经到达'.$TS_APP['joinnum'].'个,不能再创建小组!');
}
if($TS_APP['iscreate'] == 0 || $TS_USER['isadmin']==1){
//小组分类
$arrCate = $new['group']->findAll('group_cate',array(
'referid'=>0,
));
$title = '创建小组';
include template("create");
}else{
tsNotice('系统不允许会员创建小组!');
}
break;
//执行创建小组
case "do":
//先判断加入多少个小组啦
$userGroupNum = $new['group']->findCount('group_user',array(
'userid'=>$userid
));
if($userGroupNum >= $TS_APP['joinnum'] && $TS_USER['isadmin']==0){
tsNotice('你加入的小组总数已经到达'.$TS_APP['joinnum'].'个,不能再创建小组!');
}
if($TS_APP['iscreate'] == 0 || $TS_USER['isadmin']==1){
$groupname = tsTrim($_POST['groupname']);
$groupdesc = tsTrim($_POST['groupdesc']);
if($groupname=='' || $groupdesc=='') {
tsNotice('小组名称和介绍不能为空!');
}
//过滤内容开始
if($TS_USER['isadmin']!=1){
$groupname = antiWord($groupname);
$groupdesc = antiWord($groupdesc);
}
//过滤内容结束
//配置文件是否需要审核
$isaudit = tsIntval($TS_APP['isaudit']);
if($TS_USER['isadmin']==1){
$isaudit = 0;
}
$isGroup = $new['group']->findCount('group',array(
'groupname'=>$groupname,
));
if($isGroup > 0) {
tsNotice("小组名称已经存在,请更换其他小组名称!");
}
$groupid = $new['group']->create('group',array(
'userid' => $userid,
'groupname' => $groupname,
'groupdesc' => $groupdesc,
'isaudit' => $isaudit,
'addtime' => time(),
));
//上传
$arrUpload = tsUpload($_FILES['photo'],$groupid,'group',array('jpg','gif','png','jpeg'));
if($arrUpload){
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'path'=>$arrUpload['path'],
'photo'=>$arrUpload['url'],
));
}
//绑定成员
$new['group']->create('group_user',array(
'userid'=>$userid,
'groupid'=>$groupid,
'addtime'=>time(),
));
//更新
$count_group = $new['group']->findCount('group_user',array(
'userid'=>$userid,
));
$new['group']->update('user_info',array(
'userid'=>$userid,
),array(
'count_group'=>$count_group,
));
//更新小组人数
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'count_user'=>1,
));
//更新分类统计
$cateid = tsIntval($_POST['cateid']);
if($cateid > 0){
$count_group = $new['group']->findCount('group',array(
'cateid'=>$cateid,
));
$new['group']->update('group_cate',array(
'cateid'=>$cateid,
),array(
'count_group'=>$count_group,
));
}
// 处理标签
aac ( 'tag' )->addTag ( 'group', 'groupid', $groupid, $_POST['tag'] );
// 对积分进行处理
aac('user') -> doScore($TS_URL['app'], $TS_URL['ac'],$TS_URL['mg'],$TS_URL['api'],$TS_URL['ts']);
#用户记录
aac('pubs')->addLogs('group','groupid',$groupid,$userid,$groupname,$groupdesc,0);
header("Location: ".tsUrl('group','show',array('id'=>$groupid)));
}
break;
}
+3
View File
@@ -0,0 +1,3 @@
<?php
//删除小组
defined('IN_TS') or die('Access Denied.');
+328
View File
@@ -0,0 +1,328 @@
<?php
defined('IN_TS') or die('Access Denied.');
//用户是否登录
$userid = aac('user')->isLogin();
switch ($ts) {
//删除帖子
case "deltopic":
//普通用户不允许删除内容
if($TS_SITE['isallowdelete'] && $TS_USER ['isadmin'] == 0) tsNotice('系统不允许用户删除内容,请联系管理员删除!');
$topicid = intval($_GET['topicid']);
$strTopic = $new['group']->find('group_topic',array('topicid'=>$topicid));
$groupid = $strTopic['groupid'];
$strGroup = $new['group']->find('group',array('groupid'=>$groupid));
$strGroupUser = $new['group']->find('group_user',array(
'userid'=>$userid,
'groupid'=>$groupid,
));
//系统管理员删除
if($TS_USER['isadmin'] == '1'){
$new['group']->delTopic($topicid,$groupid);
header('Location: '.tsUrl('group'));
exit;
}
/*
//其他人员删除
if($userid == $strTopic['userid'] || $userid == $strGroup['userid'] || $strGroupUser['isadmin']=='1'){
$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'isdelete'=>1,
));
//处理积分
aac('user')->doScore($GLOBALS['TS_URL']['app'],$GLOBALS['TS_URL']['ac'],$GLOBALS['TS_URL']['ts'],$strTopic['userid']);
tsNotice('你的删除帖子申请已经提交!');
}
*/
//其他人员删除
if($userid == $strTopic['userid'] || $userid == $strGroup['userid'] || $strGroupUser['isadmin']=='1')
{
//处理积分
aac('user')->doScore($GLOBALS['TS_URL']['app'],$GLOBALS['TS_URL']['ac'],$GLOBALS['TS_URL']['ts'],$strTopic['userid']);
$new['group']->delTopic($topicid,$groupid);
header('Location: '.tsUrl('group'));
exit;
}
break;
//收藏帖子
case "topic_collect":
$topicid = intval($_POST['topicid']);
$strTopic = $db->once_fetch_assoc("select * from ".dbprefix."group_topic where topicid='".$topicid."'");
$collectNum = $db->once_num_rows("select * from ".dbprefix."group_topic_collect where userid='$userid' and topicid='$topicid'");
if($userid == '0'){
echo 0;
}elseif($userid == $strTopic['userid']){
echo 1;
}elseif($collectNum > 0){
echo 2;
}else{
$new['group']->create('group_topic_collect',array(
'userid'=>$userid,
'topicid'=>$topicid,
'addtime'=>time(),
));
$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'count_love'=>$strTopic['count_love']+1,
));
echo 3;
}
break;
//置顶帖子
case "topic_istop":
$topicid = intval($_GET['topicid']);
$strTopic = $new['group']->find('group_topic',array(
'topicid'=>$topicid,
));
$istop = $strTopic['istop'];
$istop == 0 ? $istop = 1 : $istop = 0;
$strGroup = $new['group']->find('group',array(
'groupid'=>$strTopic['groupid'],
));
if($userid==$strGroup['userid'] || $TS_USER['isadmin']==1){
$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'istop'=>$istop,
));
tsNotice("帖子置顶成功!");
}else{
tsNotice("非法操作!");
}
break;
//帖子标签
case "topic_tag_ajax";
$topicid = intval($_GET['topicid']);
include template("topic_tag_ajax");
break;
//添加帖子标签
case "topic_tag_do":
$topicid = intval($_POST['topicid']);
if($topicid == 0) tsNotice("非法操作!");
$tagname = t($_POST['tagname']);
$uptime = time();
if($tagname != ''){
if(strlen($tagname) > '32') tsNotice("TAG长度大于32个字节(不能超过16个汉字)");
$tagcount = $db->once_num_rows("select * from ".dbprefix."tag where tagname='".$tagname."'");
if($tagcount == '0'){
$db->query("INSERT INTO ".dbprefix."tag (`tagname`,`uptime`) VALUES ('".$tagname."','".$uptime."')");
$tagid = $db->insert_id();
$tagIndexCount = $db->once_num_rows("select * from ".dbprefix."tag_topic_index where topicid='".$topicid."' and tagid='".$tagid."'");
if($tagIndexCount == '0'){
$db->query("INSERT INTO ".dbprefix."tag_topic_index (`topicid`,`tagid`) VALUES ('".$topicid."','".$tagid."')");
}
$tagIdCount = $db->once_num_rows("select * from ".dbprefix."tag_topic_index where tagid='".$tagid."'");
$db->query("update ".dbprefix."tag set `count_topic`='".$tagIdCount."',`uptime`='".$uptime."' where tagid='".$tagid."'");
}else{
$tagData = $db->once_fetch_assoc("select * from ".dbprefix."tag where tagname='".$tagname."'");
$tagIndexCount = $db->once_num_rows("select * from ".dbprefix."tag_topic_index where topicid='".$topicid."' and tagid='".$tagData['tagid']."'");
if($tagIndexCount == '0'){
$db->query("INSERT INTO ".dbprefix."tag_topic_index (`topicid`,`tagid`) VALUES ('".$topicid."','".$tagData['tagid']."')");
}
$tagIdCount = $db->once_num_rows("select * from ".dbprefix."tag_topic_index where tagid='".$tagData['tagid']."'");
$db->query("update ".dbprefix."tag set `count_topic`='".$tagIdCount."',`uptime`='".$uptime."' where tagid='".$tagData['tagid']."'");
}
echo "<script language=JavaScript>parent.window.location.reload();</script>";
}
break;
case 'parseurl':
function formPost($url,$post_data){
$o='';
foreach ($post_data as $k=>$v){
$o.= "$k=".urlencode($v)."&";
}
$post_data=substr($o,0,-1);
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = curl_exec($ch);
return $result;
}
$url = $_POST['parseurl'];
$urlArr = parse_url($url);
$domainArr = explode('.',$urlArr['host']);
$data['type'] = $domainArr[count($domainArr)-2];
$str = formPost('http://share.pengyou.com/index.php?mod=usershare&act=geturlinfo',array('url'=>$url));
echo $str;
break;
//置顶帖子
case "isposts":
$topicid = intval($_GET['topicid']);
if($userid == 0 || $topicid == 0) tsNotice("非法操作");
$strTopic = $db->once_fetch_assoc("select userid,groupid,title,isposts from ".dbprefix."group_topic where topicid='$topicid'");
$strGroup = $db->once_fetch_assoc("select userid from ".dbprefix."group where groupid='".$strTopic['groupid']."'");
if($userid == $strGroup['userid'] || intval($TS_USER['isadmin']) == 1){
if($strTopic['isposts']==0){
$db->query("update ".dbprefix."group_topic set `isposts`='1' where `topicid`='$topicid'");
//msg start
$msg_userid = '0';
$msg_touserid = $strTopic['userid'];
$msg_content = '恭喜,你的帖子:《'.$strTopic['title'].'》被评为精华帖啦^_^ ';
$msg_tourl = tsUrl('group','topic',array('id'=>$topicid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
//msg end
}else{
$db->query("update ".dbprefix."group_topic set `isposts`='0' where `topicid`='$topicid'");
}
tsNotice("操作成功!");
}else{
tsNotice("非法操作!");
}
break;
//小组邀请用户
case "invite":
$iuserid = intval($_POST['userid']);
$groupid = intval($_POST['groupid']);
if(aac('user')->isUser($iuserid) && $new['group']->isGroup($groupid)){
//先统计用户有多少个小组了,20个封顶
$userGroupNum = $new['group']->findCount('group_user',array('userid'=>$iuserid));
if($userGroupNum >= $TS_APP['joinnum']) tsNotice('邀请用户加入的小组总数已经到达'.$TS_APP['joinnum'].'个,不能再加入小组!');
$groupUserNum = $new['group']->findCount('group_user',array(
'userid'=>$iuserid,
'groupid'=>$groupid,
));
if($groupUserNum > 0) tsNotice('用户已经加入小组!');
$new['group']->create('group_user',array(
'userid'=>$iuserid,
'groupid'=>$groupid,
'addtime'=>time(),
));
//计算小组会员数
$count_user = $new['group']->findCount('group_user',array(
'groupid'=>$groupid,
));
//更新小组成员统计
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'count_user'=>$count_user,
));
//发送系统消息开始
$msg_userid = '0';
$msg_touserid = $iuserid;
$msg_content = '你被邀请加入一个小组,快去看看吧';
$msg_tourl = tsUrl('group','show',array('id'=>$groupid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
//发送系统消息end
header('Location: '.tsUrl('group','show',array('id'=>$groupid)));
}else{
tsNotice('倒霉了吧?');
}
break;
//usertips
case "usertips":
$data = fileRead('data/user_tips.php');
if($data == ''){
$query = $db->fetch_all_assoc("select * from " . dbprefix . "user_info");
foreach($query as $user) {
$usertip[]=array('user'=>$user['username'],'name'=>$user['userid']);
}
fileWrite('user_tips.php','data',json_encode($usertip));
$data = fileRead('data/user_tips.php');
}
echo $data;
break;
}
+602
View File
@@ -0,0 +1,602 @@
<?php
//编辑小组信息
defined('IN_TS') or die('Access Denied.');
//用户是否登录
$userid = aac('user')->isLogin();
$groupid = tsIntval($_GET['groupid']);
$strGroup = $new['group']->find('group',array(
'groupid'=>$groupid,
));
if($strGroup['userid']!=$userid && $TS_USER['isadmin']==0){
tsNotice('非法操作!');
}
$strGroup['groupname'] = tsDecode($strGroup['groupname']);
$strGroup['groupdesc'] = tsDecode($strGroup['groupdesc']);
$strGroup['photo'] = $new['group']->getGroupPhoto($strGroup);
$strGroup['bgphoto'] = $new['group']->getGroupBgPhoto($strGroup);
switch($ts){
//编辑小组基本信息
case "base":
//小组标签
$arrTags = aac ( 'tag' )->getObjTagByObjid ( 'group', 'groupid', $groupid );
foreach ( $arrTags as $key => $item ) {
$arrTag [] = $item ['tagname'];
}
$strGroup ['tag'] = arr2str ( $arrTag );
$title = '编辑小组基本信息';
include template("edit_base");
break;
//编辑小组基本信息
case "basedo":
$groupname = tsTrim($_POST['groupname']);
$groupdesc = tsTrim($_POST['groupdesc']);
if($groupname=='' || $groupdesc=='') tsNotice("小组名称和介绍都不能为空!");
//过滤内容开始
if($TS_USER['isadmin']!=1){
$groupname = antiWord($groupname);
$groupdesc = antiWord($groupdesc);
}
//过滤内容结束
$isgroupname = $new['group']->findCount('group',array(
'groupname'=>$groupname,
));
if($isgroupname > 0 && $strGroup['groupname']!=$groupname) tsNotice('小组名称已经存在!');
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'groupname' => $groupname,
'groupdesc' => $groupdesc,
'joinway' => tsIntval($_POST['joinway']),
'price' => tsIntval($_POST['price']),
'ispost' => tsIntval($_POST['ispost']),
'isopen' => tsIntval($_POST['isopen']),
'ispostaudit' => tsIntval($_POST['ispostaudit']),
));
// 处理标签
if ($_POST ['tag']) {
aac ( 'tag' )->delIndextag ( 'group', 'groupid', $groupid );
aac ( 'tag' )->addTag ( 'group', 'groupid', $groupid, $_POST ['tag'] );
}
#用户记录
aac('pubs')->addLogs('group','groupid',$groupid,$userid,$groupname,$groupdesc,1);
tsNotice('基本信息修改成功!');
break;
//编辑小组头像
case "icon":
$title = '修改小组头像';
include template("edit_icon");
break;
//上传小组头像
case "icondo":
//上传图标
$arrUpload = tsUpload($_FILES['photo'],$groupid,'group',array('jpg','gif','png','jpeg'));
if($arrUpload){
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'path'=>$arrUpload['path'],
'photo'=>$arrUpload['url'],
'uptime'=>time(),
));
tsDimg($arrUpload['url'],'group','200','200',$arrUpload['path']);
tsXimg($arrUpload['url'],'group','200','200',$arrUpload['path'],1);
}
//上传背景
$arrBgUpload = tsUpload($_FILES['bgphoto'],$groupid,'group/bgphoto',array('jpg','gif','png','jpeg'));
if($arrBgUpload){
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'path'=>$arrBgUpload['path'],
'bgphoto'=>$arrBgUpload['url'],
'uptime'=>time(),
));
}
tsNotice('修改成功!');
break;
//修改访问权限
case "privacy":
$title = '编辑小组权限';
include template("edit_privacy");
break;
//帖子分类
case "type":
//调出类型
$arrGroupType = $new['group']->findAll('topic_type',array(
'groupid'=>$strGroup['groupid'],
));
$title = '编辑帖子分类';
include template("edit_type");
break;
//添加帖子分类
case "typeadd":
$typename = tsTrim($_POST['typename']);
if($typename){
$new['group']->create('topic_type',array(
'groupid'=>$groupid,
'typename'=>$typename,
));
}
header("Location: ".tsUrl('group','edit',array('ts'=>'type','groupid'=>$groupid)));
break;
//修改帖子分类
case "typeedit":
$typeid = tsIntval($_POST['typeid']);
$typename = tsTrim($_POST['typename']);
if($typeid && $typename){
$new['group']->update('topic_type',array(
'typeid'=>$typeid,
'groupid'=>$groupid,
),array(
'typename'=>$typename,
));
}
header("Location: ".tsUrl('group','edit',array('ts'=>'type','groupid'=>$groupid)));
break;
//删除帖子分类
case "typedelete":
$typeid = tsIntval($_GET['typeid']);
$new['group']->delete('topic_type',array(
'typeid'=>$typeid,
'groupid'=>$groupid,
));
$new['group']->update('topic',array(
'groupid'=>$groupid,
'typeid'=>$typeid,
),array(
'typeid'=>0,
));
header("Location: ".tsUrl('group','edit',array('ts'=>'type','groupid'=>$groupid)));
break;
//小组分类
case "cate":
$arrCate = $new['group']->findAll('group_cate',array(
'referid'=>0,
));
//一级分类
$strCate = $new['group']->find('group_cate',array(
'cateid'=>$strGroup['cateid'],
));
//二级分类
$strCate2 = $new['group']->find('group_cate',array(
'cateid'=>$strGroup['cateid2'],
));
//三级分类
$strCate3 = $new['group']->find('group_cate',array(
'cateid'=>$strGroup['cateid3'],
));
$title = '编辑小组分类';
include template("edit_cate");
break;
//成员审核
case "useraudit":
$arrUserId = $new['group']->findAll('group_user_isaudit',array(
'groupid'=>$groupid,
));
foreach($arrUserId as $key=>$item){
$arrUser[] = aac('user')->getSimpleUser($item['userid']);
}
$title = '成员申请加入审核';
include template('edit_useraudit');
break;
//成员审核执行
case "userauditdo":
$userid = tsIntval($_GET['userid']);
$status = tsIntval($_GET['status']);
//0加入1删除
if($status==0 && $userid){
$new['group']->create('group_user',array(
'userid'=>$userid,
'groupid'=>$groupid,
'addtime'=>time(),
));
//更新
$count_group = $new['group']->findCount('group_user',array(
'userid'=>$userid,
));
$new['group']->update('user_info',array(
'userid'=>$userid,
),array(
'count_group'=>$count_group,
));
//计算小组会员数
$count_user = $new['group']->findCount('group_user',array(
'groupid'=>$groupid,
));
//更新小组成员统计
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'count_user'=>$count_user,
));
}
$new['group']->delete('group_user_isaudit',array(
'userid'=>$userid,
'groupid'=>$groupid,
));
header('Location: '.tsUrl('group','edit',array('groupid'=>$groupid,'ts'=>'useraudit')));
break;
//小组转让
case "transfer":
$title = '小组转让';
include template('edit_transfer');
break;
case "transferdo":
$touserid = tsIntval($_POST['touserid']);
$strTouser = $new['group']->find('group_user',array(
'userid'=>$touserid,
'groupid'=>$groupid,
));
if($strTouser==''){
tsNotice('用户还没有加入本小组,只能转让给本小组成员');
}
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'userid'=>$touserid,
));
tsNotice('小组转让成功!');
break;
#添加用户
case "adduser":
$js = tsIntval($_GET['js']);
$userid = tsIntval($_POST['userid']);
if($userid==0){
getJson('用户ID输入有误!',$js);
}
$isGroupUser = $new['group']->findCount('group_user',array(
'groupid'=>$groupid,
'userid'=>$userid,
));
if($isGroupUser>0){
getJson('用户已经加入小组!',$js);
}
$new['group']->create('group_user',array(
'groupid'=>$groupid,
'userid'=>$userid,
'addtime'=>time(),
));
//发送系统消息
$msg_userid = '0';
$msg_touserid = $userid;
$msg_content = '恭喜你,你成为了小组《'.$strGroup['groupname'].'》的成员!快去看看吧';
$msg_tourl = tsUrl('group','show',array('id'=>$groupid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
getJson('操作成功!',$js,1);
break;
#小组管理员
case "isadmin":
$arrAdmin = $new['group']->findAll('group_user',array(
'groupid'=>$groupid,
'isadmin'=>1,
));
$arrAdminUser = array();
if($arrAdmin){
foreach($arrAdmin as $key=>$item){
$arrUserId[] = $item['userid'];
}
$userids = arr2str($arrUserId);
$arrAdminUser = $new['group']->findAll('user_info',"`userid` in ($userids)",'addtime desc','userid,username');
}
$title = '小组管理员';
include template('edit_isadmin');
break;
case "isadmindo":
$js = tsIntval($_GET['js']);
$userid = tsIntval($_POST['userid']);
if($userid==0){
getJson('用户ID输入有误!',$js);
}
if($userid==$strGroup['userid']){
getJson('用户ID不可以是组长ID',$js);
}
$isGroupUser = $new['group']->findCount('group_user',array(
'groupid'=>$groupid,
'userid'=>$userid,
));
if($isGroupUser==0){
getJson('输入用户ID不属于该小组用户!',$js);
}
$new['group']->update('group_user',array(
'groupid'=>$groupid,
'userid'=>$userid,
),array(
'isadmin'=>1,
));
//发送系统消息
$msg_userid = '0';
$msg_touserid = $userid;
$msg_content = '恭喜你,你成为了小组《'.$strGroup['groupname'].'》的管理员!快去看看吧';
$msg_tourl = tsUrl('group','show',array('id'=>$groupid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
getJson('操作成功!',$js,1);
break;
#取消管理员
case "isadmindel":
$js = tsIntval($_GET['js']);
$userid = tsIntval($_POST['userid']);
if($userid==0){
getJson('用户ID输入有误!',$js);
}
if($userid==$strGroup['userid']){
getJson('用户ID不可以是组长ID',$js);
}
$isGroupUser = $new['group']->findCount('group_user',array(
'groupid'=>$groupid,
'userid'=>$userid,
));
if($isGroupUser==0){
getJson('输入用户ID不属于该小组用户!',$js);
}
$new['group']->update('group_user',array(
'groupid'=>$groupid,
'userid'=>$userid,
),array(
'isadmin'=>0,
));
//发送系统消息
$msg_userid = '0';
$msg_touserid = $userid;
$msg_content = '不好意思,你在小组《'.$strGroup['groupname'].'》的管理员身份被撤销了!快去看看吧';
$msg_tourl = tsUrl('group','show',array('id'=>$groupid));
aac('message')->sendmsg($msg_userid,$msg_touserid,$msg_content,$msg_tourl);
getJson('操作成功!',$js,1);
break;
case "user":
$guserid = tsIntval($_GET['guserid']);
$page = tsIntval($_GET['page'],1);
$url = tsUrl('group','edit',array('ts'=>'user','groupid'=>$groupid,'page'=>''));
$lstart = $page*40-40;
$arr = array(
'groupid'=>$groupid,
'isadmin'=>0,
'isfounder'=>0,
);
if($guserid){
$arr = array(
'userid'=>$guserid,
'groupid'=>$groupid,
'isadmin'=>0,
'isfounder'=>0,
);
}
//普通用户
$groupUserNum = $new['group']->findCount('group_user',$arr);
$groupUser = $new['group']->findAll('group_user',$arr,'userid desc',null,$lstart.',40');
if(is_array($groupUser)){
foreach($groupUser as $key=>$item){
$arrGroupUser[$key] = aac('user')->getSimpleUser($item['userid']);
$arrGroupUser[$key]['endtime'] = $item['endtime'];
$arrGroupUser[$key]['price'] = $item['price'];
}
}
$pageUrl = pagination($groupUserNum, 40, $page, $url);
$title = '用户管理';
include template('edit_user');
break;
case "xuqi":
$js = tsIntval($_GET['js']);
$userid = tsIntval($_POST['userid']);
$endtime = tsTrim($_POST['endtime']);
if($userid==0){
getJson('用户ID输入有误!',$js);
}
if($endtime==''){
getJson('续期时间不能为空!',$js);
}
if($endtime<date('Y-m-d')){
getJson('续期时间必须大于今天!',$js);
}
$isGroupUser = $new['group']->findCount('group_user',array(
'groupid'=>$groupid,
'userid'=>$userid,
));
if($isGroupUser==0){
getJson('续期用户不属于该小组用户!',$js);
}
$new['group']->update('group_user',array(
'groupid'=>$groupid,
'userid'=>$userid,
),array(
'endtime'=>$endtime,
));
getJson('操作成功!',$js,1);
break;
}
+65
View File
@@ -0,0 +1,65 @@
<?php
defined ( 'IN_TS' ) or die ( 'Access Denied.' );
$cateid = tsIntval($_GET['cateid']);
//小组分类
$arrGroupCate = $new['group']->findAll('group_cate',array(
'referid'=>0,
));
// 所有小组
$page = tsIntval($_GET['page'],1);
$lstart = $page * 32 - 32;
$url = tsUrl ( 'group', 'index', array ('page' => '') );
$arr = array(
'isaudit'=>0
);
if($cateid){
$strCate = $new['group']->find('group_cate',array(
'cateid'=>$cateid,
));
$url = tsUrl ( 'group', 'index', array ('cateid'=>$cateid,'page' => '') );
$arr = array(
'cateid'=>$cateid,
'isaudit'=>0,
);
}
$arrGroup = $new ['group']->findAll ( 'group', $arr, 'isrecommend desc,addtime asc', null, $lstart . ',32' );
foreach ( $arrGroup as $key => $item ) {
$arrGroup[$key]['groupname'] = tsTitle ( $item['groupname'] );
$arrGroup[$key]['groupdesc'] = cututf8 (tsTitle($item ['groupdesc']), 0, 35 );
$arrGroup[$key]['photo_url'] = $new['group']->getGroupPhoto($item);
}
$groupNum = $new ['group']->findCount ( 'group',$arr);
$pageUrl = pagination ( $groupNum, 32, $page, $url );
// 我加入的小组
$myGroup = array ();
if ($TS_USER ['userid']) {
$myGroups = $new ['group']->findAll ( 'group_user', array (
'userid' => $TS_USER ['userid']
), null, 'groupid' );
foreach ( $myGroups as $item ) {
$myGroup [] = $item ['groupid'];
}
}
// 最新10个小组
$arrNewGroup = $new ['group']->getNewGroup ( '10' );
$title = '小组';
if($strCate){
$title = $strCate['catename'];
}
$sitekey = $TS_APP['appkey'];
$sitedesc = $TS_APP['appdesc'];
include template ( "index" );
+34
View File
@@ -0,0 +1,34 @@
<?php
defined('IN_TS') or die('Access Denied.');
$groupuserid = tsIntval($TS_USER['userid']);
if($groupuserid==0){
echo 0;exit;
}
$groupid = tsIntval($_POST['groupid']);
$userid = tsIntval($_POST['userid']);
$strGroup = $new['group']->find('group',array(
'groupid'=>$groupid,
));
if($strGroup['userid']!=$groupuserid){
echo 1;exit;
}
$new['group']->delete('group_user',array(
'userid'=>$userid,
'groupid'=>$groupid,
));
$new['group']->update('group',array(
'groupid'=>$groupid,
),array(
'count_user'=>$strGroup['count_user']-1,
));
echo 2;exit;
+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!' );
}
+6
View File
@@ -0,0 +1,6 @@
<?php
defined('IN_TS') or die('Access Denied.');
$userid = aac('user')->isLogin();
$strUser = aac('user')->getOneUser($userid);
+30
View File
@@ -0,0 +1,30 @@
<?php
defined ( 'IN_TS' ) or die ( 'Access Denied.' );
//加入的小组
$arrGroupsList = $new['group']->findAll('group_user',array(
'userid'=>$strUser['userid'],
),null,'groupid');
foreach($arrGroupsList as $key=>$item){
$arrGroup[] = aac('group')->getOneGroup($item['groupid']);
}
//创建的小组
$arrCreateGroup = $new['group']->findAll('group',array(
'userid'=>$strUser['userid'],
));
foreach($arrCreateGroup as $key=>$item){
$arrCreateGroup[$key]['groupname'] = tsTitle($item['groupname']);
if($item['photo']){
$arrCreateGroup[$key]['photo'] = tsXimg($item['photo'],'group',120,120,$item['path'],1);
}else{
$arrCreateGroup[$key]['photo'] = SITE_URL.'public/images/group.jpg';
}
}
$title = '我加入的小组';
include template('my/index');
+20
View File
@@ -0,0 +1,20 @@
<?php
defined ( 'IN_TS' ) or die ( 'Access Denied.' );
$page = isset ( $_GET ['page'] ) ? intval ( $_GET ['page'] ) : 1;
$url = tsUrl ( 'group', 'my', array ('my'=>'topic','page' => '' ) );
$lstart = $page * 20 - 20;
$arrTopic = $new['group']->findAll('group_topic',array(
'userid'=>$strUser['userid'],
),'addtime desc',null,$lstart.',20');
$topicNum = $new ['group']->findCount ( 'group_topic', array (
'userid' => $strUser['userid'],
) );
$pageUrl = pagination ( $topicNum, 20, $page, $url );
$title = '我的帖子';
include template('my/topic');
+12
View File
@@ -0,0 +1,12 @@
<?php
//插件条件入口
defined('IN_TS') or die('Access Denied.');
if(is_file('plugins/'.$app.'/'.$plugin.'/'.$in.'.php')){
require_once('plugins/'.$app.'/'.$plugin.'/'.$in.'.php');
}else{
qiMsg('sorry:no plugin!');
}
//形如这样
//index.php?app=group&ac=plugin&plugin=qq&in=do
+145
View File
@@ -0,0 +1,145 @@
<?php
defined('IN_TS') or die('Access Denied.');
//小组首页
$groupid = tsIntval($_GET['id']);
$typeid = tsIntval($_GET['typeid']);
$isshow = tsIntval($_GET['isshow']);
//小组信息
$strGroup = $new['group']->getOneGroup($groupid);
if($strGroup['groupid'] == '') {
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
$title = '404';
include pubTemplate("404");
exit;
}
if($strGroup['isaudit'] == 1) {
tsNotice('小组审核中...');
}
$title = $strGroup['groupname'];
//小组帖子分类
$arrTopicTypes = $new['group']->findAll('topic_type',array(
'groupid'=>$groupid,
));
if(is_array($arrTopicTypes)){
foreach($arrTopicTypes as $item){
$arrTopicType[$item['typeid']] = $item;
}
}
//组长信息
$strLeader = aac('user')->getSimpleUser($strGroup['userid']);
//判断会员是否加入该小组
$isGroupUser = '';
if(tsIntval($TS_USER['userid'])){
$strUser = aac('user')->getSimpleUser(tsIntval($TS_USER['userid']));
$isGroupUser = $new['group']->find('group_user',array(
'userid'=>tsIntval($TS_USER['userid']),
'groupid'=>$groupid,
));
}
//小组是否需要审核
if($strGroup['isaudit']=='1'){
//推荐小组
$arrRecommendGroup = $new['group']->getRecommendGroup('7');
include template("group_isaudit");
}else{
$page = tsIntval($_GET['page'],1);
$lstart = $page*30-30;
if($typeid > 0){
$andType = " and `typeid`='$typeid'";
$url = tsUrl('group','show',array('id'=>$groupid,'typeid'=>$typeid,'page'=>''));
}else{
$andType = '';
$url = tsUrl('group','show',array('id'=>$groupid,'page'=>''));
}
$arrTopics = $new['group']->findAll('topic',"`groupid`='$groupid' ".$andType." and `isaudit`='0'",'istop desc,uptime desc',null,$lstart.',30');
if( is_array($arrTopics)){
foreach($arrTopics as $key=>$item){
$arrTopic[] = $item;
$arrTopic[$key]['title'] = tsTitle($item['title']);
$arrTopic[$key]['gaiyao'] = tsTitle($item['gaiyao']);
$arrTopic[$key]['typename'] = $arrTopicType[$item['typeid']]['typename'];
$arrTopic[$key]['user'] = aac('user')->getSimpleUser($item['userid']);
$arrTopic[$key]['group'] = aac('group')->getOneGroup($item['groupid']);
}
}
$topicNum = $new['group']->findCount('topic',"`groupid`='$groupid' ".$andType);
$pageUrl = pagination($topicNum, 30, $page, $url);
//是否小组会员
$groupUser = $new['group']->findAll('group_user',array(
'groupid'=>$groupid,
),'addtime desc',null,8);
if(is_array($groupUser)){
foreach($groupUser as $item){
$strUser = aac('user')->getSimpleUser($item['userid']);
if($strUser){
$arrGroupUser[] = $strUser;
}else{
$new['group']->delete('group_user',array(
'userid'=>$item['userid'],
'groupid'=>$groupid,
));
}
}
}
//小组管理员
$arrGroupAdmin = $new['group']->findAll('group_user',array(
'groupid'=>$groupid,
'isadmin'=>1,
));
$arrGroupAdminUser = array();
if($arrGroupAdmin){
foreach($arrGroupAdmin as $key=>$item){
$arrGroupUserId[] = $item['userid'];
}
$groupUserIds = arr2str($arrGroupUserId);
$arrGroupAdminUser = $new['group']->findAll('user_info',"`userid` in ($groupUserIds)",'addtime desc','userid,username');
}
//标签
$strGroup ['tags'] = aac ( 'tag' )->getObjTagByObjid ( 'group', 'groupid', $strGroup ['groupid'] );
if($page > 1){
$title = $strGroup['groupname'].' - 第'.$page.'页';
}
//把标签作为关键词
if($strGroup['tags']){
foreach($strGroup['tags'] as $key=>$item){
$arrTag[] = $item['tagname'];
}
$sitekey = $strGroup['groupname'].','.arr2str($arrTag);
}else{
$sitekey = $strGroup['groupname'];
}
$sitedesc = tsCutContent($strGroup['groupdesc'],50);
include template("show");
}
+30
View File
@@ -0,0 +1,30 @@
<?php
defined('IN_TS') or die('Access Denied.');
$name = urldecode(tsUrlCheck($_GET['id']));
//$name=mb_convert_encoding($name,'UTF-8', 'GB2312'); //针对IIS环境可能出现的问题请取消此行注释
$strTag = aac('tag')->getTagByName(t($name));
$strTag['tagname'] = htmlspecialchars($strTag['tagname']);
$tagid = $strTag['tagid'];
//小组
$arrGroupTagId = $new['group']->findAll('tag_group_index',array(
'tagid'=>$tagid,
));
if($arrGroupTagId){
foreach($arrGroupTagId as $key=>$item){
$arrGroup[] = $new['group']->getOneGroup($item['groupid']);
}
}
//热门tag
$arrTag = $new['group']->findAll('tag',"`count_group`>0 and `isaudit`=0",'uptime desc',null,30);
$sitekey = $strTag['tagname'];
$title = $strTag['tagname'];
include template("tag");
+17
View File
@@ -0,0 +1,17 @@
<?php
defined('IN_TS') or die('Access Denied.');
$page = tsIntval($_GET['page'],1);
$url = tsUrl('group','tags',array('page'=>''));
$lstart = $page*200-200;
$arrTag = $new['group']->findAll('tag',"`count_group`>'0' and `isaudit`=0",'uptime desc',null,$lstart.',200');
$tagNum = $new['group']->findCount('tag',"`count_group`>'0' and `isaudit`=0");
$pageUrl = pagination($tagNum, 200, $page, $url);
$title = '标签';
include template('tags');
+5
View File
@@ -0,0 +1,5 @@
<?php
defined('IN_TS') or die('Access Denied.');
$topicid = tsIntval($_GET['id']);
header('HTTP/1.1 301 Moved Permanently');
header('Location: '.tsUrl('topic','show',array('id'=>$topicid)));
+28
View File
@@ -0,0 +1,28 @@
<?php
defined('IN_TS') or die('Access Denied.');
/*
* 谁收藏了这篇帖子
*/
$topicid = intval($_GET['topicid']);
switch($ts){
case "ajax":
$arrCollectUser = $db->fetch_all_assoc("select * from ".dbprefix."group_topic_collect where topicid='$topicid'");
if(is_array($arrCollectUser)){
foreach($arrCollectUser as $item){
$strUser = aac('user')->getSimpleUser($item['userid']);
$arrUser[] = $strUser;
}
}
if($arrUser == ''){
echo '<div style="color: #999999;margin-bottom: 10px;padding: 20px 0">还没有人喜欢,赶快来做第一个喜欢者吧^_^</div>';
}else{
include template("topic_collect");
}
break;
}
+152
View File
@@ -0,0 +1,152 @@
<?php
defined('IN_TS') or die('Access Denied.');
//用户是否登录
$userid = aac('user')->isLogin();
//普通不用不允许编辑内容
if($TS_SITE['isallowedit'] && $TS_USER ['isadmin'] == 0) tsNotice('系统不允许用户编辑内容,请联系管理员编辑!');
switch($ts){
//编辑帖子
case "":
$topicid = intval($_GET['topicid']);
if($topicid == 0){
header("Location: ".SITE_URL);
exit;
}
$topicNum = $new['group']->findCount('group_topic',array(
'topicid'=>$topicid,
));
if($topicNum==0){
header("Location: ".SITE_URL);
exit;
}
$strTopic = $new['group']->find('group_topic',array(
'topicid'=>$topicid,
));
$strTopic['title'] = tsTitle($strTopic['title']);
$strTopic['content'] = tsDecode($strTopic['content']);
$strGroup = $new['group']->find('group',array(
'groupid'=>$strTopic['groupid'],
));
$strGroupUser = $new['group']->find('group_user',array(
'userid'=>$userid,
'groupid'=>$strTopic['groupid'],
));
//print_r($strGroupUser);exit;
if($strTopic['userid'] == $userid || $strGroup['userid']==$userid || $TS_USER['isadmin']==1 || $strGroupUser['isadmin']==1){
$arrGroupType = $new['group']->findAll('group_topic_type',array(
'groupid'=>$strGroup['groupid'],
));
//找出TAG
$arrTags = aac('tag')->getObjTagByObjid('topic', 'topicid', $topicid);
foreach($arrTags as $key=>$item){
$arrTag[] = $item['tagname'];
}
$strTopic['tag'] = arr2str($arrTag);
$title = '编辑帖子';
include template("topic_edit");
}else{
header("Location: ".SITE_URL);
exit;
}
break;
//编辑帖子执行
case "do":
$authcode = strtolower ( $_POST ['authcode'] );
if ($TS_SITE['isauthcode']) {
if ($authcode != $_SESSION ['verify']) {
tsNotice ( "验证码输入有误,请重新输入!" );
}
}
$topicid = intval($_POST['topicid']);
$typeid = intval($_POST['typeid']);
$title = trim($_POST['title']);
//echo br2nl($_POST['content']);exit;
$content = tsClean($_POST['content']);
$content2 = emptyText($_POST['content']);
$iscomment = intval($_POST['iscomment']);
$iscommentshow = intval($_POST['iscommentshow']);
if($topicid == '' || $title=='' || $content2=='') tsNotice("都不能为空的哦!");
if($TS_USER['isadmin']==0){
//过滤内容开始
aac('system')->antiWord($title);
aac('system')->antiWord($content);
//过滤内容结束
}
$strTopic = $new['group']->find('group_topic',array(
'topicid'=>$topicid,
));
$strGroup = $new['group']->find('group',array(
'groupid'=>$strTopic['groupid'],
));
$strGroupUser = $new['group']->find('group_user',array(
'userid'=>$userid,
'groupid'=>$strTopic['groupid'],
));
if($strTopic['userid']==$userid || $strGroup['userid']==$userid || $TS_USER['isadmin']==1 || $strGroupUser['isadmin']==1){
$gaiyao = cututf8(t(tsDecode($content)),0,100);
$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'typeid' => $typeid,
'title'=>$title,
'content'=>$content,
'gaiyao'=>$gaiyao,
'iscomment' => $iscomment,
'iscommentshow' => $iscommentshow,
'uptime' => time (),
));
//处理标签
$tag = trim($_POST['tag']);
if($tag){
aac('tag')->delIndextag('topic','topicid',$topicid);
aac('tag') -> addTag('topic', 'topicid', $topicid, $tag);
}
header("Location: ".tsUrl('group','topic',array('id'=>$topicid)));
}else{
header("Location: ".SITE_URL);
exit;
}
break;
}
+87
View File
@@ -0,0 +1,87 @@
<?php
defined('IN_TS') or die('Access Denied.');
//用户是否登录
$userid = aac('user')->isLogin();
switch($ts){
//移动帖子
case "":
$topicid = intval($_GET['topicid']);
if($topicid == 0) tsNotice("非法操作!");
$strTopic = $new['group']->find('group_topic',array(
'topicid'=>$topicid,
));
if($strTopic){
$strGroup = $new['group']->find('group',array(
'groupid'=>$strTopic['groupid'],
));
if($strTopic['userid']==$userid || $strGroup['userid']==$userid || $TS_USER['isadmin']==1){
$arrGroups = $new['group']->findAll('group_user',array(
'userid'=>$strTopic['userid'],
));
foreach($arrGroups as $item){
if($item['groupid'] != $strGroup['groupid']){
$arrGroup[] = $new['group']->find('group',array(
'groupid'=>$item['groupid'],
));
}
}
$title = '移动帖子';
include template("topic_move");
}else{
tsNotice('非法操作!');
}
}else{
tsNotice('非法操作!');
}
break;
//执行移动
case "do":
$groupid = intval($_POST['groupid']);
$topicid = intval($_POST['topicid']);
$strTopic = $new['group']->find('group_topic',array(
'topicid'=>$topicid,
));
if($strTopicid['userid']==$userid || $TS_USER['isadmin']==1){
$new['group']->update('group_topic',array(
'topicid'=>$topicid,
),array(
'groupid'=>$groupid,
'typeid'=>'0',
));
header("Location: ".tsUrl('group','topic',array('id'=>$topicid)));
}else{
tsNotice('非法操作!');
}
break;
}
+89
View File
@@ -0,0 +1,89 @@
<?php
defined('IN_TS') or die('Access Denied.');
//小组成员
switch($ts){
//小组成员首页
case "":
$groupid = tsIntval($_GET['id']);
//判断是否存在这个群组
$strGroup = $new['group']->getOneGroup($groupid);
if($strGroup == '') {
header("HTTP/1.1 404 Not Found");
header("Status: 404 Not Found");
$title = '404';
include pubTemplate("404");
exit;
}
//小组组长信息
$leaderId = $strGroup['userid'];
$strLeader = aac('user')->getSimpleUser($leaderId);
//管理员信息
$strAdmin = $new['group']->findAll('group_user',array(
'groupid'=>$strGroup['groupid'],
'isadmin'=>'1',
'isfounder'=>'0',
));
if(is_array($strAdmin)){
foreach($strAdmin as $key=>$item){
$arrAdmin[] = aac('user')->getSimpleUser($item['userid']);
$arrAdmin[$key]['isadmin'] = $item['isadmin'];
}
}
//小组会员分页
$page = tsIntval($_GET['page'],1);
$url = tsUrl('group','user',array('id'=>$groupid,'page'=>''));
$lstart = $page*40-40;
//普通用户
$groupUserNum = $new['group']->findCount('group_user',array(
'groupid'=>$groupid,
'isadmin'=>0,
'isfounder'=>0,
));
$groupUser = $new['group']->findAll('group_user',array(
'groupid'=>$strGroup['groupid'],
'isadmin'=>'0',
'isfounder'=>'0',
),'userid desc',null,$lstart.',40');
//print_r($groupUser);
if(is_array($groupUser)){
foreach($groupUser as $key=>$item){
$arrGroupUser[] = aac('user')->getSimpleUser($item['userid']);
$arrGroupUser[$key]['isadmin'] = $item['isadmin'];
}
}
$pageUrl = pagination($groupUserNum, 40, $page, $url);
if($page > '1'){
$titlepage = " - 第".$page."";
}else{
$titlepage='';
}
$title = $strGroup['groupname'].'成员'.$titlepage;
include template("user");
break;
}