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' => '小组,群组,BBS,社区讨论,创建小组,发表帖子',
'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',
);
+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;
}
+212
View File
@@ -0,0 +1,212 @@
<?php
defined('IN_TS') or die('Access Denied.');
class group extends tsApp{
//构造函数
public function __construct($db){
$tsAppDb = array();
include 'app/group/config.php';
//判断APP是否采用独立数据库
if($tsAppDb){
$db = new MySql($tsAppDb);
}
parent::__construct($db);
}
/**
* 获取一个小组
*
* @param [type] $groupid
* @return void
*/
function getOneGroup($groupid){
$strGroup=$this->find('group',array(
'groupid'=>$groupid,
));
if($strGroup){
$strGroup['groupname'] = tsTitle($strGroup['groupname']);
$strGroup['groupdesc'] = tsTitle($strGroup['groupdesc']);
$strGroup['photo'] = $this->getGroupPhoto($strGroup);
$strGroup['bgphoto'] = $this->getGroupBgPhoto($strGroup);
}
return $strGroup;
}
/**
* 获取小组头像
*
* @param [type] $strGroup
* @return void
*/
function getGroupPhoto($strGroup){
if($strGroup['photo']){
$strFace = tsXimg($strGroup['photo'],'group',200,200,$strGroup['path'],1);
if($GLOBALS['TS_SITE']['file_upload_type']==1){
$strFace .= '&v='.$strGroup['uptime'];
}else{
$strFace .= '?v='.$strGroup['uptime'];
}
}else{
$strFace = SITE_URL.'public/images/group.jpg';
}
return $strFace;
}
/**
* 小组背景图
*
* @param [type] $strGroup
* @return void
*/
function getGroupBgPhoto($strGroup){
if($strGroup['bgphoto']){
if($GLOBALS['TS_SITE']['file_upload_type']==1){
$strPhoto = $GLOBALS['TS_SITE']['alioss_bucket_url'].'/uploadfile/group/bgphoto/'.$strGroup['bgphoto'].'?v='.$strGroup['uptime'];
}else{
$strPhoto = SITE_URL.'uploadfile/group/bgphoto/'.$strGroup['bgphoto'].'?v='.$strGroup['uptime'];
}
}else{
$strPhoto = SITE_URL.'app/group/skin/group.jpg';
}
return $strPhoto;
}
/**
* 删除小组
*
* @param [type] $strGroup
* @return void
*/
public function deleteGroup($strGroup){
if($strGroup['photo']){
if($GLOBALS['TS_SITE']['file_upload_type']==1){
deleteAliOssFile('uploadfile/group/'.$strGroup['photo']);
}else{
unlink('uploadfile/group/'.$strGroup['photo']);
tsDimg($strGroup['photo'],'group','120','120',$strGroup['path']);
}
}
$this->delete('group',array(
'groupid'=>$strGroup['groupid'],
));
$this->delete('group_user',array(
'groupid'=>$strGroup['groupid'],
));
return true;
}
/**
* 获取推荐的小组
*
* @param integer $num
* @return void
*/
function getRecommendGroup($num=10){
$arrGroup = $this->findAll('group',array(
'isrecommend'=>1,
),'orderid asc','groupid,groupname,groupdesc,path,photo,count_user',$num);
foreach($arrGroup as $key=>$item){
$arrGroup[$key]['groupname'] = tsTitle($item['groupname']);
$arrGroup[$key]['groupdesc'] = tsTitle($item['groupdesc']);
$arrGroup[$key]['photo'] = $this->getGroupPhoto($item);
}
return $arrGroup;
}
/**
* 获取最新创建的小组
*
* @param integer $num
* @return void
*/
function getNewGroup($num=10){
$arrGroup = $this->findAll('group',array(
'isaudit'=>0,
),'addtime desc',null,$num);
foreach($arrGroup as $key=>$item){
$arrGroup[$key]['groupname'] = tsTitle($item['groupname']);
$arrGroup[$key]['groupdesc'] = tsTitle($item['groupdesc']);
$arrGroup[$key]['photo'] = $this->getGroupPhoto($item);
}
return $arrGroup;
}
//判断是否存在小组
function isGroup($groupid){
$isGroup = $this->findCount('group',array(
'groupid'=>$groupid,
));
if($isGroup > 0){
return true;
}else{
return false;
}
}
/*
* 是否小组组长
*/
public function isGroupCreater($groupid,$userid){
$isCreater = $this->findCount('group',array(
'groupid'=>$groupid,
'userid'=>$userid,
));
if($isCreater){
return true;
}else{
return false;
}
}
/*
* 是否小组管理员,仅次于小组组长
*/
public function isGroupAdmin($groupid,$userid){
$isAdmin = $this->findCount('group_user',array(
'userid'=>$userid,
'groupid'=>$groupid,
'isadmin'=>1,
));
if($isAdmin){
return true;
}else{
return false;
}
}
/*
* 是否小组成员,被统治阶级
*/
public function isGroupUser($groupid,$userid){
$countGroupUser = $this->findCount('group_user',array(
'groupid'=>$groupid,
'userid'=>$userid,
));
if($countGroupUser){
return true;
}else{
return false;
}
}
//析构函数
public function __destruct(){
}
}
+6
View File
@@ -0,0 +1,6 @@
<?php
defined('IN_TS') or die('Access Denied.');
$skin = 'default';
$TS_APP['appname'] = '小组';
+141
View File
@@ -0,0 +1,141 @@
{php include pubTemplate("header")}
<div class="container" style="max-width:100%;">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{SITE_URL}">首页</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group')}">LMVE论坛</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item active" aria-current="page">发布帖子</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8" style="max-width:100%;flex:100%;">
{if $isGroupUser == '0'}
<div class="alert alert-info" role="alert">不好意思,你不是本组成员不能发表帖子,请加入后再发帖</div>
{else}
<form method="POST" action="{SITE_URL}index.php?app=group&ac=add&ts=do" enctype="multipart/form-data">
<div class="form-group">
<label>标题</label>
<input name="title" type="text" class="form-control" value="{if $strDraft['title']}{tsTitle($strDraft['title'])}{/if}">
</div>
{if $arrGroupType}
<div class="form-group">
<label>类型</label>
<select name="typeid" class="form-control">
<option value="0">选择类型</option>
{loop $arrGroupType $key $item}
<option value="{$item[typeid]}">{$item[typename]}</option>
{/loop}
</select>
</div>
{/if}
<div class="form-group">
<label>内容</label>
<div id="tseditor">{if $strDraft['content']}{php echo tsDecode($strDraft['content'])}{/if}</div>
<div style="display: none;">
<textarea name="content">{if $strDraft['content']}{php echo tsDecode($strDraft['content'])}{/if}</textarea>
</div>
</div>
<div class="form-group">
<label>标签</label>
<input name="tag" type="text" class="form-control">
</div>
<div class="form-group">
<label>评论</label>
<input type="radio" checked="select" name="iscomment" value="0" />允许 <input type="radio" name="iscomment" value="1" />不允许
</div>
<div class="form-group">
<label>回复可读</label>
<input type="radio" checked="select" name="iscommentshow" value="0" />不需要 <input type="radio" name="iscommentshow" value="1" />需要
</div>
{if $TS_SITE['isauthcode']}
<div class="form-group">
<label>验证码</label>
<div class="offset-0">
<input class="form-control form-control-sm w-auto float-left mr-1" name="authcode" />
<img class="mt-1" src="{SITE_URL}index.php?app=pubs&ac=code" onclick="javascript:newgdcode(this,this.src);" title="点击刷新验证码" alt="点击刷新验证码" style="cursor:pointer;"/>
</div>
</div>
{/if}
<input type="hidden" name="groupid" value="{$strGroup[groupid]}" />
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button class="btn btn-sm btn-info" type="submit">点击发布</button>
<a class="btn btn-sm btn-outline-secondary" href="{tsUrl('group','show',array('id'=>$strGroup[groupid]))}">返回小组</a>
<p></p>
</form>
{/if}
</div>
<div class="col-md-2"></div>
</div>
</div>
</div>
</div>
{php doAction('tseditor')}
<script>
//自动保存到草稿箱
var int=self.setInterval('toDraft()',60000);//轮询执行,一分钟一次
function toDraft() {
$(document).ready(function() {
var title = $('input[name="title"]').val();
var content = $('textarea[name="content"]').val();
$.post(siteUrl+'index.php?app=pubs&ac=draft',{'types':'topic','title':title,'content':content},function (rs) {
if(rs.status==1){
tsAlert(rs.msg)
}
},'json')
});
}
</script>
{php include pubTemplate("footer")}
+27
View File
@@ -0,0 +1,27 @@
{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>名字</th><th>介绍</th><th>话题数</th><th>操作</th></tr>
</thead>
<tbody>
{loop $arrAlbum $key $item}
<tr><td>{$item['albumid']}</td><td>{$item['albumname']}</td><td>{$item['albumdesc']}</td><td>{$item['count_topic']}</td><td><a onclick="return confirm('确定删除?')" href="{SITE_URL}index.php?app=group&ac=admin&mg=album&ts=delete&albumid={$item['albumid']}">删除</a></td></tr>
{/loop}
</tbody>
</table>
</div>
{php include pubTemplate("footer_admin")}
+21
View File
@@ -0,0 +1,21 @@
{php include pubTemplate("header_admin")}
<!--main-->
<div class="midder">
{php include template("admin/menu");}
<form method="POST" action="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=add_do">
<table class="table table-hover">
<tr><td width="100">分类名称:</td><td><input name="catename" value="" /></td></tr>
<tr><td></td><td>
<input type="hidden" name="referid" value="{$referid}" />
<input class="btn btn-primary" type="submit" value="添加分类" />
</td></tr>
</table>
</form>
</div>
{php include pubTemplate("footer_admin")}
+32
View File
@@ -0,0 +1,32 @@
{php include pubTemplate("header_admin")}
<!--main-->
<div class="midder">
{php include template("admin/menu");}
<form method="POST" action="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=edit_do">
<table class="table table-hover">
<tr><td width="100">分类名称:</td><td><input name="catename" value="{$strCate[catename]}" /></td></tr>
{if $referid}
<tr>
<td>上级分类:</td><td>
<select name="referid">
{loop $arrOneCate $key $item}
<option value="{$item['cateid']}">{$item['catename']}</option>
{/loop}
</select>
</td>
</tr>
{/if}
<tr><td></td><td>
<input type="hidden" name="cateid" value="{$strCate[cateid]}" />
<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")}
+58
View File
@@ -0,0 +1,58 @@
{php include pubTemplate("header_admin")}
<!--main-->
<div class="midder">
{php include template("admin/menu");}
<table class="table table-hover">
<thead class="thead-light fs14">
<tr><th>分类ID</th><th>分类名字</th><th>操作</th></tr>
</thead>
<tbody class="fs12">
{loop $arrCatess $key $item}
<tr><td>{$item[cateid]}</td><td>I、{$item[catename]}</td>
<td>
<a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=add&referid={$item['cateid']}">[添加二级分类]</a>
<a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=edit&cateid={$item[cateid]}">[修改] <a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=del&cateid={$item['cateid']}" onclick="return confirm('确定删除?')">[删除]</a></a></td></tr>
{loop $item['two'] $tkey $titem}
<tr class="odd"><td>{$titem[cateid]}</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;II、{$titem[catename]}</td>
<td>
<a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=add&referid={$titem['cateid']}">[添加三级分类]</a>
<a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=edit&cateid={$titem[cateid]}&referid=1">[修改] <a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=del&cateid={$titem['cateid']}" onclick="return confirm('确定删除?')">[删除]</a></a></td></tr>
{loop $titem['three'] $ttkey $ttitem}
<tr class="odd"><td>{$ttitem[cateid]}</td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;III、{$ttitem[catename]}</td>
<td>
<!-- <a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=add&referid={$ttitem['cateid']}">[添加下级分类]</a> -->
<a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=edit&cateid={$ttitem[cateid]}">[修改] <a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=del&cateid={$ttitem['cateid']}" onclick="return confirm('确定删除?')">[删除]</a></a></td></tr>
{/loop}
{/loop}
{/loop}
</tbody>
</table>
</div>
{php include pubTemplate("footer_admin")}
+62
View File
@@ -0,0 +1,62 @@
{php include pubTemplate("header_admin")}
<div class="midder">
{php include template("admin/menu");}
<div class="page">{$pageUrl}</div>
<table class="table table-hover">
<thead class="thead-light fs14">
<tr>
<th>ID</th>
<th>小组名字</th>
<th>小组介绍</th>
<th>统计</th>
<th>创建时间</th>
<th>操作</th>
</tr>
</thead>
<tbody class="fs12">
{loop $arrAllGroup $key $item}
<tr>
<td>{$item[groupid]}</td>
<td><a href="{tsUrl('group','show',array('id'=>$item['groupid']))}" target="_blank">[{tsTitle($item['groupname'])}]</a></td>
<td>{php echo cututf8(t($item[groupdesc]),0,20)}</td>
<td>帖子数:{$item['count_topic']}
<br>
成员数:{$item['count_user']}
</td>
<td>{php echo date('Y-m-d H:i:s',$item[addtime])}</td>
<td>
<a href="{SITE_URL}index.php?app=group&ac=admin&mg=group&ts=isaudit&groupid={$item[groupid]}">
{if $item[isaudit]}
<font color="red">审核</font>
{else}
取消审核
{/if}
</a>
| <a href="{SITE_URL}index.php?app=group&ac=admin&mg=group&ts=isrecommend&groupid={$item[groupid]}">{if $item[isrecommend]=='0'}<font color="red">[推荐]</font>{else}[取消推荐]{/if}</a>
<!--| <a href="{SITE_URL}index.php?app=group&ac=admin&mg=upuser&groupid={$item[groupid]}">[投送]</a>-->
| <a target="_blank" href="{SITE_URL}index.php?app=group&ac=edit&groupid={$item[groupid]}&ts=base">[修改]</a>
| <a href="{SITE_URL}index.php?app=group&ac=admin&mg=group&ts=del&groupid={$item[groupid]}">[删除]</a></td></tr>
{/loop}
</tbody>
</table>
</div>
{php include pubTemplate("footer_admin")}
+74
View File
@@ -0,0 +1,74 @@
{php include pubTemplate("header_admin")}
<div class="midder">
{php include template("admin/menu");}
<div class="page">{$pageUrl}</div>
<form method="post" action="{SITE_URL}index.php?app=group&ac=admin&mg=group&ts=orderid">
<table class="table table-hover">
<thead class="thead-light fs14">
<tr>
<th>ID</th>
<th>小组名字</th>
<th>排序ID(从小到大)</th>
<th>操作</th>
</tr>
</thead>
<tbody class="fs12">
{loop $arrGroup $key $item}
<tr>
<td>{$item[groupid]}</td>
<td><a href="{tsUrl('group','show',array('id'=>$item['groupid']))}" target="_blank">[{tsTitle($item['groupname'])}]</a></td>
<td>
<input type="hidden" name="groupid[]" value="{$item['groupid']}">
<input type="number" name="orderid[]" value="{$item['orderid']}">
</td>
<td>
<a href="{SITE_URL}index.php?app=group&ac=admin&mg=group&ts=isrecommend&groupid={$item[groupid]}">{if $item[isrecommend]=='0'}<font color="red">[推荐]</font>{else}[取消推荐]{/if}</a>
</td></tr>
{/loop}
</tbody>
</table>
<hr />
<div>
<button type="submit" class="btn btn-primary">修改</button>
</div>
</form>
</div>
{php include pubTemplate("footer_admin")}
+18
View File
@@ -0,0 +1,18 @@
<div class="tabnav">
<h6>小组管理</h6>
<ul>
<li {if $mg=='options'}class="select"{/if}><a href="{SITE_URL}index.php?app=group&ac=admin&mg=options">小组配置</a></li>
<li {if $mg=='permissions'}class="select"{/if}><a href="{SITE_URL}index.php?app=group&ac=admin&mg=permissions">权限配置</a></li>
<li {if $mg=='group' && $ts=='list'}class="select"{/if}><a href="{SITE_URL}index.php?app=group&ac=admin&mg=group&ts=list">全部小组</a></li>
<li {if $mg=='group' && $ts=='recommend'}class="select"{/if}><a href="{SITE_URL}index.php?app=group&ac=admin&mg=group&ts=recommend">推荐的小组</a></li>
<li {if $mg=='cate' && $ts=='list'}class="select"{/if}><a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=list">小组分类</a></li>
<li {if $mg=='cate' && $ts=='add'}class="select"{/if}><a href="{SITE_URL}index.php?app=group&ac=admin&mg=cate&ts=add">添加分类</a></li>
</ul>
</div>
<div style="height: 100px;"></div>
+46
View File
@@ -0,0 +1,46 @@
{php include pubTemplate("header_admin")}
<div class="midder">
{php include template("admin/menu");}
<form method="POST" action="{SITE_URL}index.php?app=group&ac=admin&mg=options&ts=do">
<table class="table table-hover">
<tr><td width="220">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 {if $strOption[iscreate]=='0'}checked="select"{/if} name="option[iscreate]" type="radio" value="0" />允许 <input {if $strOption[iscreate]=='1'}checked="select"{/if} name="option[iscreate]" type="radio" value="1" />不允许(只有管理员可以创建小组)</td></tr>
<tr><td>创建小组是否需要审核 :</td><td><input {if $strOption[isaudit]=='1'}checked="select"{/if} name="option[isaudit]" type="radio" value="1" />审核 <input {if $strOption[isaudit]=='0'}checked="select"{/if} name="option[isaudit]" type="radio" value="0" />不审核</td></tr>
<tr><td>每个会员加入小组数 :</td><td><input type="text" name="option[joinnum]" value="{$strOption['joinnum']}" width="50" /> (创建和加入的总和)</td></tr>
<!--
<tr><td>是否允许用户发帖 :</td><td><input {if $strOption['isallowpost']=='1'}checked="select"{/if} name="option[isallowpost]" type="radio" value="1" />不允许 <input {if $strOption['isallowpost']=='0'}checked="select"{/if} name="option[isallowpost]" type="radio" value="0" />允许</td></tr>
<tr><td>发帖是否审核 :</td><td><input {if $strOption['topicisaudit']=='0'}checked="select"{/if} name="option[topicisaudit]" type="radio" value="0" />不审核 <input {if $strOption['topicisaudit']=='1'}checked="select"{/if} name="option[topicisaudit]" type="radio" value="1" />审核</td></tr>
-->
<tr><td>是否开启加入小组付费功能 :</td><td>
<input {if $strOption['ispayjoin']=='0'}checked="select"{/if} name="option[ispayjoin]" type="radio" value="0" />不开启
<input {if $strOption['ispayjoin']=='1'}checked="select"{/if} name="option[ispayjoin]" type="radio" value="1" />开启 <small class="text-danger">(开启需要安装支付模块)</small>
</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")}
+148
View File
@@ -0,0 +1,148 @@
{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=group&ac=admin&mg=permissions&ugid={$item['ugid']}">{$item['ugname']}</a>
{/loop}
</div>
<form method="POST" action="index.php?app=group&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[group_show]">
<option value="1" {if $TS_APP['permissions'][$ugid]['group_show']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['group_show']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
<!--不允许游客发布、修改、删除-->
{if $ugid==1 || $ugid==2 || $ugid==3}
<tr>
<td>创建小组:</td>
<td>
<select name="option[group_create]">
<option value="1" {if $TS_APP['permissions'][$ugid]['group_create']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['group_create']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
<tr>
<td>修改小组:</td>
<td>
<select name="option[group_edit]">
<option value="1" {if $TS_APP['permissions'][$ugid]['group_edit']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['group_edit']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
<tr>
<td>删除小组:</td>
<td>
<select name="option[group_delete]">
<option value="1" {if $TS_APP['permissions'][$ugid]['group_delete']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['group_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[group_admin_options]">
<option value="1" {if $TS_APP['permissions'][$ugid]['group_admin_options']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['group_admin_options']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
<tr>
<td>权限配置:</td>
<td>
<select name="option[group_admin_permissions]">
<option value="1" {if $TS_APP['permissions'][$ugid]['group_admin_permissions']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['group_admin_permissions']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
<tr>
<td>添加分类:</td>
<td>
<select name="option[group_admin_cate_add]">
<option value="1" {if $TS_APP['permissions'][$ugid]['group_admin_cate_add']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['group_admin_cate_add']==0}selected{/if}>拒绝</option>
</select>
</td>
</tr>
<tr>
<td>修改分类:</td>
<td>
<select name="option[group_admin_cate_edit]">
<option value="1" {if $TS_APP['permissions'][$ugid]['group_admin_cate_edit']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['group_admin_cate_edit']==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[group_api_show]">
<option value="1" {if $TS_APP['permissions'][$ugid]['group_api_show']==1}selected{/if}>允许</option>
<option value="0" {if $TS_APP['permissions'][$ugid]['group_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")}
+37
View File
@@ -0,0 +1,37 @@
{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>
{loop $arrTopic $key $item}
<tr><td>{$item['topicid']}</td><td>{$item['userid']}</td>
<td>
<a target="_blank" href="{tsUrl('group','topic',array('id'=>$item['topicid']))}">{$item['title']}</a></td>
<td>{php echo date('Y-m-d H:i:s',$item['addtime'])}</td><td>
<a href="{SITE_URL}index.php?app=group&ac=admin&mg=topic&ts=delete&topicid={$item['topicid']}">删除</a>
</td>
</tr>
{/loop}
</tbody>
</table>
</div>
{php include pubTemplate("footer_admin")}
+45
View File
@@ -0,0 +1,45 @@
{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>
<tr><th>ID</th><th>标题</th><th>时间</th><th>状态</th><th>操作</th></tr>
</thead>
<tbody>
</tbody>
<tbody>
{loop $arrTopic $key $item}
<tr><td>{$item['topicid']}</td><td><a href="index.php?app=group&ac=admin&mg=topic&ts=editview&topicid={$item['topicid']}">{$item['title']}</a></td><td>{$item['addtime']}</td><td>{if $item['isupdate']==1}<font color="green">已更新</font>{else}未更新{/if}</td><td>
<a href="{SITE_URL}index.php?app=group&ac=admin&mg=topic&ts=update&topicid={$item['topicid']}">更新</a>
</td>
</tr>
{/loop}
</tbody>
</table>
</div>
{php include pubTemplate("footer_admin")}
+18
View File
@@ -0,0 +1,18 @@
{php include pubTemplate("header_admin")}
<!--main-->
<div class="midder">
{php include template("admin/menu");}
<div class="mb10"> <a class="btn mr10" href="index.php?app=group&ac=admin&mg=topic&ts=edittopic">返回</a> <a class="btn mr10" href="index.php?app=group&ac=admin&mg=topic&ts=update&topicid={$strTopic['topicid']}">更新数据</a></div>
<div>
<h1>{$strTopic['title']}</h1>
<div>{$strTopic['content']}</div>
<div style="clear:both"></div>
<div>{$strTopic['addtime']}</div>
</div>
</div>
{php include pubTemplate("footer_admin")}
+42
View File
@@ -0,0 +1,42 @@
{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 fs14">
<tr><th>ID</th><th>UserID</th><th>标题</th><th>时间</th><th>操作</th></tr>
</thead>
<tbody class="fs12">
{loop $arrTopic $key $item}
<tr><td>{$item['topicid']}</td><td>{$item['userid']}</td><td><a target="_blank" href="{tsUrl('group','topic',array('id'=>$item['topicid']))}">{tsTitle($item['title'])}</a></td><td>{php echo date('Y-m-d H:i:s',$item['addtime'])}</td><td>
<a href="{SITE_URL}index.php?app=group&ac=admin&mg=topic&ts=isaudit&topicid={$item['topicid']}">
{if $item['isaudit']==0}
已审核
{else}
<font color="red">未审核</a>
{/if}
</a>
<a onclick="return confirm('确定删除?')" href="{SITE_URL}index.php?app=group&ac=admin&mg=topic&ts=delete&topicid={$item['topicid']}&groupid={$item['groupid']}">删除</a>
</td></tr>
{/loop}
</tbody>
</table>
</div>
{php include pubTemplate("footer_admin")}
+45
View File
@@ -0,0 +1,45 @@
{loop $arrTopic $key $item}
<li>
<div class="userimg">
<a href="{tsUrl('user','space',array('id'=>$item[user][userid]))}"><img src="{$item[user][face]}" width="32" height="32" alt="{$item[user]['username']}" /></a>
</div>
<div class="topic_title">
<div class="title">
{if $item['appkey'] != 'group' && $item['appkey']!=''}
<a target="_blank" style="color:#999999;font-size: 12px;margin-right: 5px;" class="titles-type" href="{SITE_URL}{php echo tsUrl($item['appkey'])}">[{$item['appname']}]</a>
<a title="{$item[title]}" href="{SITE_URL}{php echo tsUrl($item['appkey'],$item['appaction'],array('id'=>$item['appid']))}">{$item[title]}</a>
{else}
<a title="{$item[title]}" href="{tsUrl('topic','show',array('id'=>$item[topicid]))}">{$item[title]}</a>
{/if}
{if $item[istop]=='1'}
<img src="{SITE_URL}app/{$app}/skin/headtopic_1.gif" title="[置顶]" alt="[置顶]" />
{/if}
{if $item[isposts] == '1'}
<img src="{SITE_URL}public/images/posts.gif" align="absmiddle" title="[精华]" alt="[精华]" />
{/if}
{if $item['postby']==1}
<a href="{tsUrl('home','phone')}"><img align="absmiddle" alt="通过Iphone手机端发布" title="通过Iphone手机端发布" src="{SITE_URL}public/images/ios.jpg" />
</a>
{/if}
</div>
<div class="topic_info">
<span style="float:left;">
<a href="{tsUrl('group','show',array('id'=>$item[groupid]))}">{$item[group][groupname]}</a>
</span>
<span style="float:right;">
{php echo getTime($item[uptime],time())}
<a href="{tsUrl('user','space',array('id'=>$item[userid]))}" rel="face" uid="$item[userid]">{$item[user][username]}</a>
{if $item[count_comment]>0}<a class="rank" style="color:#FFFFFF;" href="{tsUrl('topic','show',array('id'=>$item[topicid]))}">{$item[count_comment]}</a>{/if}
</span>
</div>
</div>
<div class="clear"></div>
</li>
{/loop}
+84
View File
@@ -0,0 +1,84 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup['groupname']}</a></li>
<li class="breadcrumb-item active" aria-current="page">帖子审核</li>
</ol>
</nav>
<div class="row">
<div class="col-md-8">
<div class="card">
<div class="card-header">审核帖子</div>
<div class="card-body">
<table class="table table-hover">
<thead class=" thead-light">
<tr>
<th>帖子标题</th>
<th>用户ID</th>
<th>时间</th>
<th>操作</th>
</tr>
</thead>
<tbody>
{loop $arrTopic $key $item}
<tr>
<td><a target="_blank" href="{tsUrl('topic','show',array('id'=>$item['topicid']))}">{$item['title']}</a></td>
<td>{$item['userid']}</td>
<td>{php echo date('Y-m-d H:i:s',$item['addtime'])}</td>
<td>
<a href="{SITE_URL}index.php?app=group&ac=audit&ts=do&topicid={$item['topicid']}&groupid={$item['groupid']}">审核</a> |
<a href="{SITE_URL}index.php?app=group&ac=audit&ts=delete&topicid={$item['topicid']}&groupid={$item['groupid']}" onClick="return confirm('确定删除吗?')">删除</a>
</td></tr>
{/loop}
</tbody>
</table>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-body">
<a class="btn btn-sm btn-outline-info" href="{tsUrl('group','show',array('id'=>$groupid))}">返回《{$strGroup['groupname']}》小组</a>
</div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+59
View File
@@ -0,0 +1,59 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item active" aria-current="page">创建小组</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8">
<form role="form" method="POST" action="{SITE_URL}index.php?app=group&ac=create&ts=do" enctype="multipart/form-data">
<div class="form-group">
<label>小组名称</label>
<input name="groupname" type="text" class="form-control">
</div>
<div class="form-group">
<label>小组介绍</label>
<textarea style="min-height:100px;" class="form-control" name="groupdesc"></textarea>
</div>
<div class="form-group">
<label>小组图标</label>
<div><input name="photo" type="file"></div>
</div>
<div class="form-group">
<label>小组标签</label>
<input name="tag" type="text" class="form-control">
</div>
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button type="submit" class="btn btn-sm btn-info">创建小组</button>
</form>
</div>
<div class="col-md-2"></div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+115
View File
@@ -0,0 +1,115 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item active" aria-current="page">小组设置</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
{template edit_xbar}
<form class="form-horizontal" method="post" action="{SITE_URL}index.php?app=group&ac=edit&ts=basedo&groupid={$groupid}">
<div class="form-group">
<label class="col-sm-2 control-label">名称:</label>
<div class="col-sm-6">
<input class="form-control" type="text" value="{$strGroup[groupname]}" name="groupname">
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">介绍:</label>
<div class="col-sm-6">
<textarea style="min-height:100px;" class="form-control" name="groupdesc">{$strGroup[groupdesc]}</textarea>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">标签:</label>
<div class="col-sm-6">
<input class="form-control" type="text" value="{$strGroup[tag]}" name="tag"> (多个请用英文,号分割)
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">加入方式:</label>
<div class="col-sm-10">
<input {if $strGroup[joinway]=='0'}checked="select"{/if} name="joinway" type="radio" value="0" />自由加入(开放小组)
<br /><input {if $strGroup[joinway]=='1'}checked="select"{/if} name="joinway" type="radio" value="1" />禁止加入(私密小组)
<br /><input {if $strGroup[joinway]=='2'}checked="select"{/if} name="joinway" type="radio" value="2" />申请加入(需要审核)
{if $TS_APP['ispayjoin']==1}
<br /><input {if $strGroup[joinway]=='3'}checked="select"{/if} name="joinway" type="radio" value="3" />付费加入 需要<input type="number" name="price" value="{$strGroup['price']}" /> 金币
{/if}
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">发帖方式:</label>
<div class="col-sm-10">
<input {if $strGroup['ispost']=='0'}checked="select"{/if} type="radio" name="ispost" value="0" />仅允许成员发帖
<input {if $strGroup['ispost']=='1'}checked="select"{/if} type="radio" name="ispost" value="1" />不允许成员和非成员发帖
<input {if $strGroup['ispost']=='2'}checked="select"{/if} type="radio" name="ispost" value="2" />允许成员和非成员发帖
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">浏览权限:</label>
<div class="col-sm-10">
<input {if $strGroup[isopen]=='0'}checked="select"{/if} type="radio" name="isopen" value="0" />完全开放 <input {if $strGroup[isopen]=='1'}checked="select"{/if} type="radio" name="isopen" value="1" />仅组员
</div>
</div>
<div class="form-group">
<label class="col-sm-2 control-label">发帖审核:</label>
<div class="col-sm-10">
<input {if $strGroup['ispostaudit']=='1'}checked="select"{/if} type="radio" name="ispostaudit" value="1" />审核 <input {if $strGroup['ispostaudit']=='0'}checked="select"{/if} type="radio" name="ispostaudit" value="0" />不审核
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<hr />
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button type="submit" class="btn btn-sm btn-info">提交修改</button>
<a class="btn btn-sm text-black-50" href="{tsUrl('group','show',array('id'=>$strGroup[groupid]))}">返回小组</a>
</div>
</div>
</form>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+127
View File
@@ -0,0 +1,127 @@
{php include pubTemplate("header")}
<script>
$(document).ready(function() {
//选择一级区域
$('#cateid').change(function(){
$("#select2").html('<img src="'+siteUrl+'public/images/loading.gif" />');
var cateid = $(this).children('option:selected').val(); //弹出select的值
if(cateid==0){
$("#select2").html('');
$("#select3").html('');
}else{
$("#select3").html('');
$.ajax({
type: "GET",
url: "{SITE_URL}index.php?app=group&ac=cate&ts=two&cateid="+cateid,
success: function(msg){
$("#select2").html(msg);
//选择二级区域
$('#cateid2').change(function(){
$("#select3").html('<img src="'+siteUrl+'public/images/loading.gif" />');
var cateid2 = $(this).children('option:selected').val(); //弹出select的值
if(cateid2 == 0){
$("#select3").html('');
}else{
//ajax
$.ajax({
type: "GET",
url: "{SITE_URL}index.php?app=group&ac=cate&ts=three&cateid2="+cateid2,
success: function(msg){
$('#select3').html(msg);
}
});
}
});
}
});
}
});
});
</script>
<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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item active" aria-current="page">小组设置</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
{template edit_xbar}
<div class="row">
<div class="col-md-8">
<form method="post" action="{SITE_URL}index.php?app=group&ac=cate&ts=do">
<select id="cateid" name="cateid">
<option value="0">请选择一级分类</option>
{loop $arrCate $key $item}
<option value="{$item['cateid']}">{$item['catename']}</option>
{/loop}
</select>
<span id="select2"></span>
<span id="select3"></span>
<hr />
<input type="hidden" name="groupid" value="{$strGroup['groupid']}" />
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button class="btn btn-sm btn-info" type="submit">修改</button>
<a class="btn btn-sm text-black-50" href="{tsUrl('group','show',array('id'=>$strGroup[groupid]))}">返回小组</a>
</form>
<div>
{if $strCate}
一级:{$strCate['catename']}
{/if}
{if $strCate2}
二级:{$strCate2['catename']}
{/if}
{if $strCate3}
三级:{$strCate3['catename']}
{/if}
</div>
</div>
<div class="col-md-4"></div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+87
View File
@@ -0,0 +1,87 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item active" aria-current="page">小组设置</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
{template edit_xbar}
<div class="row">
<div class="col-md-8">
<form method="POST" action="{SITE_URL}index.php?app=group&ac=edit&ts=icondo&groupid={$groupid}" enctype="multipart/form-data" >
<div class="form-group">
<label>小组图标:</label>
<div>
<img class="rounded" src="{$strGroup['photo']}" width="100">
</div>
</div>
<div class="form-group">
<label>选择图片:</label>
<div>
<input type="file" name="photo">
</div>
</div>
<hr>
<div class="form-group">
<label>背景图片:</label>
<div>
<img class="rounded" src="{$strGroup['bgphoto']}" width="200">
</div>
</div>
<div class="form-group">
<label>选择背景图片:</label>
<div>
<input type="file" name="bgphoto">
</div>
</div>
<hr />
<div class="form-group">
<div >
<input type="hidden" name="groupid" value="{$strGroup[groupid]}" />
<button type="submit" class="btn btn-sm btn-info">点击修改</button>
<a class="btn btn-sm text-black-50" href="{tsUrl('group','show',array('id'=>$strGroup[groupid]))}">返回小组</a>
</div>
</div>
</form>
</div>
<div class="col-md-4"></div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+66
View File
@@ -0,0 +1,66 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item active" aria-current="page">小组设置</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
{template edit_xbar}
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<form id="comm-form" class="form-inline" role="form" method="post" action="{SITE_URL}index.php?app=group&ac=edit&ts=isadmindo&groupid={$strGroup['groupid']}">
<div class="form-group">
<input type="text" name="userid" class="form-control form-control-sm" placeholder="输入用户ID">
</div>
<button type="submit" class="btn btn-sm btn-info ml-1">设为管理员</button>
</form>
<table class="table table-bordered mt-3">
<thead class="thead-light">
<tr><th>ID</th><th>用户名</th><th>操作</th></tr>
</thead>
<tbody>
{loop $arrAdminUser $key $item}
<tr>
<td>{$item['userid']}</td>
<td>{$item['username']}</td>
<td><a class="btn btn-outline-secondary btn-sm" href="javascript:void('0')" onclick="tsPost('index.php?app=group&ac=edit&groupid={$groupid}&ts=isadmindel&js=1',{'userid':'{$item[userid]}'})">取消</a></td>
</tr>
{/loop}
</tbody>
</table>
</div>
<div class="col-md-3"></div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+48
View File
@@ -0,0 +1,48 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item active" aria-current="page">小组设置</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
{template edit_xbar}
<form class="form-horizontal" role="form" method="post" action="{SITE_URL}index.php?app=group&ac=edit&ts=transferdo&groupid={$strGroup['groupid']}">
<div class="form-group">
<label class="col-sm-2 control-label">转让给谁?</label>
<div class="col-sm-6">
<input type="text" name="touserid" class="form-control form-control-sm" placeholder="接收人的用户ID">
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-6">
<button type="submit" class="btn btn-sm btn-info">确定转让</button>
</div>
</div>
</form>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+81
View File
@@ -0,0 +1,81 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item active" aria-current="page">小组设置</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
{template edit_xbar}
<div class="row">
<div class="col-md-8">
<form class="form-inline" method="POST" action="{tsUrl('group','edit',array('ts'=>'typeadd','groupid'=>$groupid))}">
<input style="width: 50%" name="typename" class="form-control form-control-sm" placeholder="添加帖子分类">
<input type="hidden" name="groupid" value="{$strGroup[groupid]}" />
<button type="submit" class="btn btn-sm btn-info ml-1">添加</button>
<a class="btn btn-sm btn-outline-secondary ml-1" href="{tsUrl('group','show',array('id'=>$strGroup[groupid]))}">返回小组</a>
</form>
<table class="table table-bordered mt-3">
<thead class="thead-light">
<tr>
<th>类型</th><th>操作</th>
</tr>
</thead>
<tbody>
{loop $arrGroupType $key $item}
<form class="form-control" method="post" action="{tsUrl('group','edit',array('ts'=>'typeedit','groupid'=>$groupid))}">
<tr>
<td>
<input class="form-control form-control-sm" name="typename" value="{tsTitle($item['typename'])}" />
</td><td>
<input type="hidden" name="typeid" value="{$item['typeid']}">
<input type="submit" class="btn btn-sm btn-outline-secondary" value="修改" />
<a class="btn btn-sm" href="{tsUrl('group','edit',array('ts'=>'typedelete','groupid'=>$groupid,'typeid'=>$item['typeid']))}" >删除</a></td>
</tr>
</form>
{/loop}
</tbody>
</table>
</div>
<div class="col-md-4"></div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+91
View File
@@ -0,0 +1,91 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item active" aria-current="page">小组设置</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
{template edit_xbar}
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<form class="form-inline" role="form" method="get" action="{SITE_URL}index.php">
<input type="hidden" name="app" value="group" />
<input type="hidden" name="ac" value="edit" />
<input type="hidden" name="ts" value="user" />
<input type="hidden" name="groupid" value="{$groupid}" />
<div class="form-group">
<input type="text" name="guserid" class="form-control form-control-sm" placeholder="输入用户ID">
</div>
<button type="submit" class="btn btn-sm btn-info ml-1">搜索</button>
</form>
<div class="alert alert-info mt-3">
* 有效期等于0000-00-00 或者 1970-01-01 即为永久
</div>
<table class="table table-bordered mt-3">
<thead class="thead-light">
<tr><th>用户ID</th><th>用户名</th><th>有效期</th><th class="tar">操作</th></tr>
</thead>
<tbody>
{loop $arrGroupUser $key $item}
<tr><td>{$item['userid']}</td><td>{$item['username']}</td><td>{$item['endtime']}</td><td class="tar">
{if $TS_APP['ispayjoin']==1 && $strGroup['joinway']==3}<a href="javascript:void('0');" onclick="openXuqi('{$item[userid]}')">续期</a> | {/if}
<a href="javascript:void('0');" onclick="kickedGroup('{$strGroup['groupid']}','{$item['userid']}')">清退</a>
</td></tr>
{/loop}
</tbody>
</table>
<div class="page">{$pageUrl}</div>
</div>
<div class="col-md-3"></div>
</div>
</div>
</div>
</div>
<div id="xuqi_html" style="display: none;">
<form id="comm-form" class="form-inline" role="form" method="post" action="{SITE_URL}index.php?app=group&ac=edit&ts=xuqi&groupid={$strGroup['groupid']}">
<div class="form-group">
<input type="text" name="endtime" class="form-control br0" placeholder="输入日期如:{php echo date('Y-12-31')}">
</div>
<input id="xuqi_userid" type="hidden" name="userid" value="0" />
<button type="submit" class="btn btn-success br0">点击续期</button>
</form>
</div>
{php include pubTemplate("footer")}
+46
View File
@@ -0,0 +1,46 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item active" aria-current="page">审核用户加入</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
{template edit_xbar}
<table class="table table-hover">
<thead class="thead-light">
<tr><th>申请用户</th><th>操作</th></tr>
</thead>
<tbody>
{loop $arrUser $key $item}
<tr><td><a href="{tsUrl('user','space',array('id'=>$item['userid']))}">{$item['username']}</a></td><td><a href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'userauditdo','userid'=>$item['userid'],'status'=>'0'))}">通过</a> | <a href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'userauditdo','userid'=>$item['userid'],'status'=>'1'))}">删除</a></td></tr>
{/loop}
</tbody>
</table>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+20
View File
@@ -0,0 +1,20 @@
<div class="mb-3">
<a class="btn btn-sm {if $ts=="base"}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'base'))}">基本信息</a>
<a class="btn btn-sm {if $ts=="icon"}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'icon'))}">图标/背景</a>
<a class="btn btn-sm {if $ts=="type"}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'type'))}">帖子分类</a>
<a class="btn btn-sm {if $ts=="cate"}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'cate'))}">小组分类</a>
<a class="btn btn-sm {if $ts=="transfer"}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'transfer'))}">小组转让</a>
{if $strGroup['joinway']==2}
<a class="btn btn-sm {if $ts=="useraudit"}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'useraudit'))}">成员审核</a>
{/if}
<a class="btn btn-sm {if $ts=="isadmin"}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'isadmin'))}">管理员</a>
<a class="btn btn-sm {if $ts=="user"}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'user'))}">成员</a>
</div>
<hr />
+49
View File
@@ -0,0 +1,49 @@
<div id="group_content">
<!--{if $arrRecommendGroup != ''}-->
<div id="more_a">
<!--{loop $arrRecommendGroup $key $item}-->
<div class="sub-item" id="group_g">
<div class="pic">
<a href="{tsUrl('group','show',array('id'=>$item[groupid]))}">
<img src="{$item[photo]}" alt="{$item[groupname]}" />
</a>
<div style="background:#F0F0F0;text-align:center;padding:3px 0;">
{if in_array($item['groupid'],$myGroup)}
已加入
{else}
<a href="{tsUrl('group','do',array('ts'=>'join','groupid'=>$item['groupid']))}">+加入</a>
{/if}
</div>
</div>
<div class="info">
<a href="{tsUrl('group','show',array('id'=>$item[groupid]))}">{$item[groupname]}</a> <font color="#999999">{$item[count_user]}人加入</font>
<p>{$item[groupdesc]}</p>
</div>
</div>
<!--{/loop}-->
</div>
</div>
<div class="clear"></div>
<!--{else}--><div style="text-align:center;font-size:14px;padding:20px;" id="loding">该分类下没有小组</div><!--{/if}-->
<div style="text-align:center;font-size:14px;padding:20px; color:#0099FF; cursor:pointer;" onclick="loadmore()" id="more">点击查看更多&gt;&gt;</div>
<script>
var lastid='2';
var cid='{$_GET[cat]}';
function loadmore(){
$.post("{SITE_URL}index.php?app=group&cat="+cid+"&page="+lastid,{bac_d:'more'},function(res){
if(res!=0) {
$('#more_a').append(res);
}else{
$('#more').html('没有更多了');
}
})
}
</script>
+26
View File
@@ -0,0 +1,26 @@
<!--{loop $arrRecommendGroup $key $item}-->
<div class="sub-item" id="group_g">
<div class="pic">
<a href="{tsUrl('group','show',array('id'=>$item[groupid]))}">
<img src="{$item[photo]}" alt="{$item[groupname]}" />
</a>
<div style="background:#F0F0F0;text-align:center;padding:3px 0;">
{if in_array($item['groupid'],$myGroup)}
已加入
{else}
<a href="{tsUrl('group','do',array('ts'=>'join','groupid'=>$item['groupid']))}">+加入</a>
{/if}
</div>
</div>
<div class="info">
<a href="{tsUrl('group','show',array('id'=>$item[groupid]))}">{$item[groupname]}</a> <font color="#999999">{$item[count_user]}人加入</font>
<p>{$item[groupdesc]}</p>
</div>
</div>
<!--{/loop}-->
<script>
lastid=lastid+1;
</script>
+37
View File
@@ -0,0 +1,37 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item active" aria-current="page">{$strGroup[groupname]}</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
<div class="alert alert-info text-center">
<p> 本小组只有小组成员才可以浏览^_^</p>
<a class="btn btn-success" href="javascript:void('0');" onclick="joinGroup('{$strGroup['groupid']}');">加入小组</a>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+101
View File
@@ -0,0 +1,101 @@
{php include pubTemplate("header")}
<div class="container">
<nav aria-label="breadcrumb" class="position-relative">
<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>
<a class="btn btn-sm btn-info position-absolute" style="z-index: 100;top:6px;right:6px;" href="{tsUrl('group','create')}">创建小组</a>
</nav>
<div class="row">
<div class="col-md-8">
<div class="card">
<div class="card-body">
<div class="mb-3">
<a class="btn btn-sm {if $cateid==0}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group')}">全部</a>
{loop $arrGroupCate $key $item}
<a class="btn btn-sm {if $cateid==$item['cateid']}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','index',array('cateid'=>$item['cateid']))}">{$item['catename']}</a>
{/loop}
</div>
<hr />
<div class="row">
{loop $arrGroup $key $item}
<div class="col-md-6">
<div class="sub-item">
<div class="pic">
<a href="{tsUrl('group','show',array('id'=>$item[groupid]))}">
<img class="rounded" src="{$item['photo_url']}" alt="{$item[groupname]}" />
</a>
</div>
<div class="info">
<a href="{tsUrl('group','show',array('id'=>$item[groupid]))}">{$item[groupname]}</a>
<small class="text-black-50">{$item[count_user]}人加入</small>
<p class="content">{$item[groupdesc]}</p>
</div>
</div>
</div>
{/loop}
</div>
<div class="mt-3">{$pageUrl}</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-header">最新创建小组</div>
<div class="card-body">
<div class="commlist">
<ul>
{loop $arrNewGroup $key $item}
<li>
<a href="{tsUrl('group','show',array('id'=>$item[groupid]))}">{$item[groupname]}</a> <span class="c9 fs12">({$item[count_user]}成员)</span>
</li>
{/loop}
</ul>
</div>
</div>
</div>
<!--广告位-->
{php doAction('gobad','300')}
</div>
</div>
</div>
{php include pubTemplate("footer")}
+89
View File
@@ -0,0 +1,89 @@
{php include pubTemplate("header")}
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-header">创建的小组</div>
<div class="card-body">
<div class="row">
{loop $arrCreateGroup $key $item}
<div class="col-6 col-md-2 mb-3">
<div class="thumbnail">
<a href="{tsUrl('group','show',array('id'=>$item['groupid']))}"><img class="rounded mw-100" src="{$item['photo']}"></a>
<div class="caption">
<div class="title-cut text-center c9">{$item['groupname']}</div>
</div>
</div>
</div>
{/loop}
</div>
</div>
</div>
<div class="card">
<div class="card-header">加入的小组</div>
<div class="card-body">
<div class="row">
{loop $arrGroup $key $item}
<div class="col-6 col-md-2 mb-3">
<div class="thumbnail">
<a href="{tsUrl('group','show',array('id'=>$item['groupid']))}"><img class="rounded mw-100" src="{$item['photo']}" alt="{$item['groupname']}"></a>
<div class="caption">
<div class="title-cut text-center c9">{php echo cututf8($item['groupname'],0,6,false)}</div>
</div>
</div>
</div>
{/loop}
</div>
</div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+60
View File
@@ -0,0 +1,60 @@
{php include pubTemplate("header")}
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="my_left">
{php include pubTemplate("my")}
</div>
</div>
<div class="col-md-9">
<div class="card">
<div class="card-header">我发布的帖子</div>
<div class="card-body">
<table class="table">
<thead>
<tr><th>发布时间</th><th>标题</th><th>浏览/评论</th><th>操作</th></tr>
</thead>
<tbody>
{loop $arrTopic $key $item}
<tr><td>{php echo date('Y-m-d',$item['addtime'])}</td><td><a href="{tsUrl('group','topic',array('id'=>$item['topicid']))}">{php echo tsTitle($item['title'])}</a></td><td>{$item['count_view']}/{$item['count_comment']}</td><td><a href="{tsUrl('group','topicedit',array('topicid'=>$item['topicid']))}">修改</a></td></tr>
{/loop}
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+285
View File
@@ -0,0 +1,285 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item active" aria-current="page">{$strGroup['groupname']}</li>
</ol>
</nav>
<div class="card">
<div class="group_show" style="background: url('{$strGroup['bgphoto']}');">
<div class="row">
<div class="col-md-8">
<div class="media">
<img class="mr-3 rounded" src="{$strGroup['photo']}" alt="{$strGroup['groupname']}" width="70">
<div class="media-body">
<h1 class="mt-0 fw400 fs18 text-light">{$strGroup['groupname']}</h1>
<div class="fs12 text-light fw300">
<span class="mr-2">{$strGroup['count_topic']} 帖子</span>
<span>{$strGroup['count_user']} 成员</span>
</div>
<div class="fs12 text-light fw300 mt-1">
<span class="mr-2">创建于 {php echo date('Y-m-d',$strGroup[addtime])}</span>
组长:<a class="mr-2 text-light" href="{tsUrl('user','space',array('id'=>$strLeader['userid']))}" rel="face" uid="{$strLeader['userid']}">{$strLeader['username']}</a>
{if $arrGroupAdminUser}
管理员:
{loop $arrGroupAdminUser $key $item}
<a class="mr-2 text-light" href="{tsUrl('user','space',array('id'=>$item['userid']))}">{$item['username']}</a>
{/loop}
{/if}
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="join">
{if $isGroupUser > 0 && $TS_USER['userid'] != $strGroup['userid']}
<span>我是这个小组的{$strGroup['role_user']} <a href="javascript:void('0')" onclick="exitGroup('{$strGroup['groupid']}')">退出小组</a></span>
{elseif $isGroupUser > 0 && $TS_USER['userid'] == $strGroup['userid']}
<span>我是这个小组的{$strGroup['role_leader']}</span>
{elseif $strGroup['joinway'] == '0'}
<span><a class="btn btn-success btn-sm" href="javascript:void('0');" onclick="joinGroup('{$strGroup['groupid']}');">加入小组</a></span>
{elseif $strGroup['joinway'] == '2'}
<span><a class="btn btn-success btn-sm" href="javascript:void('0')" onclick="joinGroup('{$strGroup['groupid']}')">申请加入小组</a></span>
{elseif $strGroup['joinway']==3}
<span><a class="btn btn-success btn-sm" href="javascript:void('0')" onclick="joinGroup('{$strGroup['groupid']}')">需要支付<font color="orange" style="font-size: 16px;">{$strGroup['price']}金币</font>加入小组</a></span>
{else}
<span>本小组禁止加入</span>
{/if}
</div>
</div>
</div>
</div>
<div class="card-body">
<div class="text-black-50">{php echo nl2br($strGroup['groupdesc'])}</div>
{if $strGroup ['tags']}
<div class="mt-2">
{loop $strGroup['tags'] $key $item}
<a class="badge badge-secondary mr-2 fw300" href="{tsUrl('group','tag',array('id'=>urlencode($item['tagname'])))}">{$item['tagname']}</a>
{/loop}
</div>
{/if}
</div>
</div>
<div class="row">
<div class="col-md-8">
{if $strGroup['isopen']==1 && $isGroupUser==''}
<div class="alert alert-info">你需要加入小组后才可以访问帖子内容</div>
{elseif $strGroup['isopen']==1 && $isGroupUser && $TS_APP['ispayjoin']==1 && $isGroupUser['endtime']!='0000-00-00' && $isGroupUser['endtime']!='1970-01-01' && $isGroupUser['endtime']<date('Y-m-d')}
<div class="alert alert-info">你的组费已经到期,请联系组长续期!续期后才可以访问帖子内容。</div>
{else}
<div class="card" >
<div class="card-body" style="position: relative;">
<div style="position: absolute;right: 20px;top: 20px;"><a class="btn btn-info btn-sm" href="{tsUrl('topic','add',array('groupid'=>$strGroup['groupid']))}">发布帖子</a></div>
<div class="mb-3">
<a class="btn btn-sm {if $typeid==0}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">全部</a>
{loop $arrTopicType $key $item}
<a class="btn btn-sm {if $typeid==$item['typeid']}btn-outline-secondary{else}text-secondary{/if}" href="{tsUrl('group','show',array('id'=>$strGroup['groupid'],'typeid'=>$item['typeid']))}">{$item['typename']}</a>
{/loop}
</div>
<hr />
<div class="topic_list">
<ul>
{loop $arrTopic $key $item}
<li>
<div class="userimg">
<a href="{tsUrl('user','space',array('id'=>$item['user']['userid']))}">
<img class="rounded-circle" src="{$item['user']['face']}" width="32" height="32" alt="{$item['user']['username']}" title="{$item['user']['username']}" />
</a>
</div>
<div class="topic_title">
<div class="title">
{if $item['label']}<span class="badge badge-danger fw300">{tsTitle($item['label'])}</span>{/if}
{if $item['typeid'] != 0}<a href="{tsUrl('group','show',array('id'=>$item['groupid'],typeid=>$item['typeid']))}">[{$item['typename']}]</a>{/if}
<a href="{tsUrl('topic','show',array('id'=>$item['topicid']))}">{$item['title']}</a>
{if $item['istop']=='1'}
<img src="{SITE_URL}public/images/ding.png" width="24" height="24" title="[置顶]" alt="[置顶]" />
{/if}
{if $item['isposts'] == '1'}
<img src="{SITE_URL}public/images/posts.gif" title="[精华]" alt="[精华]" />
{/if}
</div>
{if $item['group']['isopen']==0 && $item['score']==0 && $item['iscommentshow']==0}
<div class="gaiyao mt-2 c9">
{$item['gaiyao']}
</div>
{if $item['photos']}
<div class="photo mt-2">
{loop $item['photos'] $pkey $pitem}
<a href="{tsUrl('topic','show',array('id'=>$item['topicid']))}"><img src="{$pitem}" /></a>
{/loop}
</div>
{/if}
{/if}
<div class="d-flex flex-row justify-content-between mt-2">
<div class="d-flex fs12 c9">
<a href="{tsUrl('user','space',array('id'=>$item['userid']))}">{$item['user']['username']}</a>
<span class="ml-1">发表于</span>
<span class="ml-1">{php echo getTime($item['uptime'],time())}</span>
</div>
<div class="d-flex c9 fs12">
<div><i class="bi bi-chat-text"></i> {$item['count_comment']}</div>
<div class="ml-3"><i class="bi bi-eye"></i> {$item['count_view']}</div>
</div>
</div>
</div>
<div class="clear"></div>
</li>
{/loop}
</ul>
</div>
<div class="mt-3">{$pageUrl}</div>
</div>
</div>
{/if}
</div>
<div class="col-md-4">
<div class="card">
<div class="card-header">成员 <small class="float-right"><a class="text-black-50" href="{tsUrl('group','user',array('id'=>$strGroup['groupid']))}">更多</a></small></div>
<div class="card-body">
<div class="row">
{loop $arrGroupUser $key $item}
<div class="col-3 text-light mb-3">
<a href="{tsUrl('user','space',array('id'=>$item['userid']))}"><img class="rounded-circle" src="{$item['face']}" width="48" height="48" alt="{$item['username']}" title="{$item['username']}" /></a>
<div class="title-cut fs12 text-black-50 mt-1 text-center"><a href="{tsUrl('user','space',array('id'=>$item['userid']))}">{$item['username']}</a></div>
</div>
{/loop}
</div>
</div>
</div>
{if $TS_USER['userid'] == $strGroup['userid'] || $TS_USER['isadmin']=='1'}
<div class="card">
<div class="card-header">管理</div>
<div class="card-body">
<a class="btn btn-sm btn-outline-info" href="{tsUrl('group','edit',array('groupid'=>$strGroup['groupid'],'ts'=>'base'))}">小组设置</a>
<a class="btn btn-sm btn-outline-info" href="{tsUrl('group','audit',array('groupid'=>$strGroup['groupid']))}">帖子审核({$strGroup['count_topic_audit']})</a>
</div>
</div>
{/if}
<div class="clear"></div>
<!--广告位-->
{php doAction('gobad','300')}
</div>
</div>
</div>
{php include pubTemplate("footer")}
+67
View File
@@ -0,0 +1,67 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item active" aria-current="page">{$strTag[tagname]}</li>
</ol>
</nav>
<div class="row">
<div class="col-md-8">
<div class="card">
<div class="card-body">
<h1 class="h3 fw400">{$strTag[tagname]}</h1>
</div>
</div>
<div class="card">
<div class="card-header">{$strTag[tagname]}相关的小组</div>
<div class="card-body">
<div class="facelist">
<ul>
{loop $arrGroup $key $item}
<li><a href="{tsUrl('group','show',array('id'=>$item['groupid']))}"><img class="rounded" src="{$item['photo']}" width="48" alt="{$item['groupname']}" /></a>
<p class="title-cut fs12 mt-1"><a class="c9" href="{tsUrl('group','show',array('id'=>$item['groupid']))}">{$item['groupname']}</a></p>
</li>
{/loop}
</ul>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-header">热门标签</div>
<div class="card-body">
{loop $arrTag $key $item}
<a class="badge badge-secondary mr-2 mb-2 fw300" href="{tsUrl('group','tag',array('id'=>urlencode($item[tagname])))}">{$item[tagname]}</a>
{/loop}
<a class="" href="{tsUrl('group','tags')}">更多...</a>
</div>
</div>
<div class="clear"></div>
<!--广告位-->
{php doAction('gobad','300')}
</div>
</div>
</div>
{php include pubTemplate("footer")}
+36
View File
@@ -0,0 +1,36 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item active" aria-current="page">标签</li>
</ol>
</nav>
<div class="card">
<div class="card-header">全部标签</div>
<div class="card-body">
<div>
{loop $arrTag $key $item}
<a class="badge badge-secondary mr-2 mb-2 fw300" href="{tsUrl('group','tag',array('id'=>urlencode($item[tagname])))}">{$item[tagname]}</a>
{/loop}
</div>
<div class="page">{$pageUrl}</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+505
View File
@@ -0,0 +1,505 @@
{php include pubTemplate("header")}
<div>{php doAction('group_topic_top')}</div>
<div class="container" style="max-width:100%;">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{SITE_URL}">首页</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group')}">LMVE论坛</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup['groupname']}</a></li>
<li class="breadcrumb-item active" aria-current="page">{$strTopic[title]}</li>
</ol>
</nav>
<div class="row" >
<div class="col-md-8" style="max-width:100%;flex:100%;">
<div class="card" >
<div class="card-body">
<h1 class="h3 pt-0 pb-3 fw300">{if $strTopic['label']}<span class="badge badge-danger fw300">{tsTitle($strTopic['label'])}</span>{/if}{if $strTopic[typeid] !='0'}<a href="{tsUrl('group','show',array('id'=>$strTopic[groupid],typeid=>$strTopic[typeid]))}">[{$strTopic[type][typename]}]</a>{/if}{$strTopic[title]}</h1>
<div class="media mt-3 mb-3">
<a class="mr-3" href="{tsUrl('user','space',array('id'=>$strTopic[user][userid]))}">
<img class="media-object rounded-circle" title="{$strTopic[user][username]}" alt="{$strTopic[user][username]}" src="{$strTopic[user][face]}" width="36" height="36"></a>
<div class="media-body">
<div class="fs14"><a href="{tsUrl('user','space',array('id'=>$strTopic[userid]))}">{$strTopic[user][username]}</a></div>
<div class="c9 fs12">发表于 {php echo date('Y-m-d H:i:s',$strTopic[addtime])}</div>
<div class="d-flex flex-row justify-content-end c9">
<div><i class="far fa-comment-dots"></i> {$strTopic['count_comment']}</div>
<div class="ml-3"><i class="far fa-eye"></i> {$strTopic['count_view']}</div>
</div>
{if $TS_USER[userid] == $strTopic[userid] || $TS_USER[userid]==$strGroup[userid] ||$strGroupUser[isadmin]=="1" || $TS_USER[isadmin]=="1"}
<div class="btool mt-3">
{if $TS_USER[userid]==$strGroup[userid] ||$strGroupUser[isadmin]=="1" || $TS_USER[isadmin]=="1"}
<a href="#" data-toggle="modal" data-target="#bookModal"><i class="far fa-bookmark"></i> 标注</a>
<a href="javascript:void('0');" onclick="topicAudit('{$strTopic['topicid']}','{$_SESSION['token']}');">{if $strTopic['isaudit']=='1'}审核{else}取消审核{/if}</a>
<a href="{SITE_URL}index.php?app=group&ac=do&ts=topic_istop&topicid={$strTopic[topicid]}">{if $strTopic[istop]=='0'}置顶{else}取消置顶{/if}</a>
<a href="javascript:void('0');" onclick="tsPost('index.php?app=group&ac=ajax&ts=isrecommend&js=1',{'topicid':'{$strTopic['topicid']}'})">{if $strTopic['isrecommend']=='0'}推荐{else}取消推荐{/if}</a>
<a href="{SITE_URL}index.php?app=group&ac=do&ts=isposts&topicid={$strTopic[topicid]}&token={$_SESSION['token']}">{if $strTopic[isposts]==0}精华{else}取消精华{/if}</a>
<a href="{SITE_URL}index.php?app=group&ac=topicmove&topicid={$strTopic[topicid]}">移动</a>
{/if}
<a href="{SITE_URL}index.php?app=group&ac=topicedit&topicid={$strTopic[topicid]}">编辑</a>
<a href="{SITE_URL}index.php?app=group&ac=do&ts=deltopic&topicid={$strTopic['topicid']}&token={$_SESSION['token']}" onClick="return confirm('确定删除吗?')"><i class="far fa-trash-alt"></i> 删除</a>
</div>
{/if}
</div>
</div>
<div class="mb-3">
{loop $strTopic[tags] $key $item}
<a class="badge badge-secondary fw300 mr-2" href="{tsUrl('group','tag',array('id'=>urlencode($item[tagname])))}">{$item[tagname]}</a>
{/loop}
</div>
{if $page == '1'}
<div class="topic-content">
<div class="topic-view common-content">
{$strTopic['content']}
{if $strTopic['photos']}
{loop $strTopic['photos'] $key $item}
<p class="tac"><img src="{$item}" alt="{$strTopic['title']}"></p>
{/loop}
{/if}
{$tpUrl}
</div>
{if $strTopic['iscommentshow']==1 && $isComment==0 && $strTopic['userid']!=intval($TS_USER['userid'])}
{else}
<!---视频处理开始--->
{if $TS_APP['istopicvideo']}
{if $arrVideo}
<div class="topic_video">
{loop $arrVideo $key $item}
<p>
{if $item['siteid']==1 || $item['siteid']==2 || $item['siteid']==3}
<iframe frameborder="0" src="{$item['iframe']}" allowFullScreen="true"></iframe>
{/if}
</p>
{/loop}
</div>
{/if}
{if $TS_USER['userid']==$strTopic['userid'] || $TS_USER['isadmin']==1}
<div class="topic_video">
<div class="text-center"><a class="btn btn-link" href="{tsUrl('video','upload',array('ts'=>'network','topicid'=>$topicid))}"> <i class="fas fa-plus-circle"></i> 插入视频</a></div>
</div>
{/if}
{/if}
<!---附件处理开始--->
{if $TS_APP['istopicattach']}
{if $arrAttach}
<div class="topic_attach mt-3">
<ul>
{loop $arrAttach $key $item}
<li><a target="_blank" href="{tsUrl('attach','show',array('id'=>$item['attachid']))}">{tsTitle($item['attachname'])}</a> - <span class="c9 fs12">{$item['count_down']}次下载</span> - <span class="c9 fs12">需{$item['score']}积分</span></li>
{/loop}
</ul>
{if $TS_USER['userid']==$strTopic['userid'] || $TS_USER['isadmin']==1}
<div class="tac">
<a class="btn btn-link" href="{tsUrl('attach','select',array('topicid'=>$strTopic['topicid']))}"><i class="fas fa-plus-circle"></i>上传/选择附件</a>
</div>
{/if}
</div>
{else}
{if $TS_USER['userid']==$strTopic['userid'] || $TS_USER['isadmin']==1}
<div class="topic_attach mt-3">
<div class="tac">
<a class="btn btn-link" href="{tsUrl('attach','select',array('topicid'=>$strTopic['topicid']))}"><i class="fas fa-plus-circle"></i>上传/选择附件</a>
</div>
</div>
{/if}
{/if}
{/if}
<!---附件处理结束--->
{/if}
<div>{php doAction('group_topic_footer')}</div>
<div class="text-black-50">{php doAction('gobad','468')
}</div>
<div class="c9 fs12">最后修改 {php echo date('Y-m-d H:i:s',$strTopic[uptime])}</div>
<div class="d-flex flex-row justify-content-end c9">
<div><i class="far fa-comment-dots"></i> {$strTopic['count_comment']}</div>
<div class="ml-3"><i class="far fa-eye"></i> {$strTopic['count_view']}</div>
</div>
{if $TS_USER[userid] == $strTopic[userid] || $TS_USER[userid]==$strGroup[userid] ||$strGroupUser[isadmin]=="1" || $TS_USER[isadmin]=="1"}
<div class="btool mt-3">
{if $TS_USER[userid]==$strGroup[userid] ||$strGroupUser[isadmin]=="1" || $TS_USER[isadmin]=="1"}
<a href="#" data-toggle="modal" data-target="#bookModal"><i class="far fa-bookmark"></i> 标注</a>
<a href="javascript:void('0');" onclick="topicAudit('{$strTopic['topicid']}','{$_SESSION['token']}');">{if $strTopic['isaudit']=='1'}审核{else}取消审核{/if}</a>
<a href="{SITE_URL}index.php?app=group&ac=do&ts=topic_istop&topicid={$strTopic[topicid]}">{if $strTopic[istop]=='0'}置顶{else}取消置顶{/if}</a>
<a href="javascript:void('0');" onclick="tsPost('index.php?app=group&ac=ajax&ts=isrecommend&js=1',{'topicid':'{$strTopic['topicid']}'})">{if $strTopic['isrecommend']=='0'}推荐{else}取消推荐{/if}</a>
<a href="{SITE_URL}index.php?app=group&ac=do&ts=isposts&topicid={$strTopic[topicid]}&token={$_SESSION['token']}">{if $strTopic[isposts]==0}精华{else}取消精华{/if}</a>
<a href="{SITE_URL}index.php?app=group&ac=topicmove&topicid={$strTopic[topicid]}">移动</a>
{/if}
<a href="{SITE_URL}index.php?app=group&ac=topicedit&topicid={$strTopic[topicid]}">编辑</a>
<a href="{SITE_URL}index.php?app=group&ac=do&ts=deltopic&topicid={$strTopic['topicid']}&token={$_SESSION['token']}" onClick="return confirm('确定删除吗?')"><i class="far fa-trash-alt"></i> 删除</a>
</div>
{/if}
</div>
{/if}
</div>
</div>
<div class="card">
<div class="card-header">用户评论{if $strTopic['count_comment']} <small class="text-secondary">({$strTopic['count_comment']})</small>{/if}</div>
<div class="card-body">
{if $arrTopicComment}
<div class="comment">
<ul>
{loop $arrTopicComment $key $item}
<li class="clearfix" id="l_{$item[commentid]}">
<div class="user-face">
<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>
</div>
<div class="reply-doc">
<h4>{php echo date('Y-m-d H:i:s',$item[addtime])}
<a href="{tsUrl('user','space',array('id'=>$item[user][userid]))}">{$item[user][username]}</a>
<i>$item[l]#</i>
</h4>
{if $item[referid] !='0'}
<div class="recomment rounded"><a href="{tsUrl('user','space',array('id'=>$item[recomment][user][userid]))}"><img src="{$item[recomment][user][face]}" width="24" class="rounded-circle" align="absmiddle"></a> <strong><a href="{tsUrl('user','space',array('id'=>$item[recomment][user][userid]))}" rel="face" uid="$item[recomment][user][userid]">{$item[recomment][user][username]}</a></strong>{$item[recomment][content]}</div>
{/if}
<p>
{if $item['ispublic'] && $item['userid']==$TS_USER['userid'] || $item['ispublic'] && $strTopic['userid']==$TS_USER['userid']}
{$item[content]}
{elseif $item['ispublic'] && $item['userid']!=$TS_USER['userid'] || $item['ispublic'] && $strTopic['userid']!=$TS_USER['userid']}
<div class="alert alert-warning" role="alert">评论内容不公开显示!</div>
{else}
{$item[content]}
{/if}
</p>
<!---附件处理开始--->
{if $TS_APP['istopicattach']}
{if $item['attach']}
<div class="topic_attach">
<ul>
{loop $item['attach'] $akey $aitem}
<li><a target="_blank" href="{tsUrl('attach','show',array('id'=>$aitem['attachid']))}">{tsTitle($aitem['attachname'])}</a> - <span class="c9 fs12">{$aitem['count_down']}次下载</span> - <span class="c9 fs12">需{$aitem['score']}积分</span></li>
{/loop}
</ul>
</div>
{/if}
{/if}
<!---附件处理结束--->
<div class="text-right pt-2 pb-2">
{if $strGroupUser}
<a class="fs12 mr-2" href="javascript:void(0)" onclick="commentOpen({$item[commentid]},{$item[topicid]})">回复</a>
{/if}
{if $TS_USER[userid] == $strGroup[userid] || $TS_USER[userid] == $item[userid] || $strGroupUser[isadmin]==1 || $TS_USER[isadmin]==1}
<span><a class="fs12" href="{SITE_URL}index.php?app=group&ac=comment&ts=delete&commentid={$item[commentid]}&token={$_SESSION['token']}" rel="nofollow" onClick="return confirm('确定删除吗?')">删除</a>
</span>
{/if}
</div>
<div class="mb-2" id="rcomment_{$item[commentid]}" style="display:none">
<textarea class="form-control-sm w-100 border-secondary" id="recontent_{$item[commentid]}" type="text" onKeyDown="keyRecomment({$item[commentid]},{$item[topicid]},event)"></textarea>
<p>
<a class="btn btn-sm btn-outline-info" href="javascript:void(0);" onClick="recomment({$item[commentid]},{$item[topicid]},'{$_SESSION['token']}')" id="recomm_btn_$item[commentid]">提交</a>
<a class="btn btn-sm btn-outline-secondary" href="javascript:void('0');" onclick="commentOpen({$item['commentid']},{$item['topicid']})">取消</a>
</p>
</div>
</div>
<div class="clear"></div>
</li>
{/loop}
</ul>
</div>
<div class="page">{$pageUrl}</div>
{/if}
<div class="commentform">
{if intval($TS_USER[userid])==0}
<div class="tac pd20 fw300 text-black-50">
<a href="{tsUrl('user','login')}">登录</a> | <a href="{tsUrl('user','register')}">注册</a>
</div>
{elseif $strGroupUser==''}
<div class="tac pd20 text-secondary">
不是本组成员不能回应此贴哦!
<p class="mt-2"><a class="btn btn-outline-info btn-sm" href="javascript:void('0');" onclick="joinGroup('{$strGroup['groupid']}');">加入小组</a></p>
</div>
{elseif $strTopic[iscomment] == 1 && $strTopic[userid] != $TS_USER[userid]}
<div class="tac pd20 fw300 text-black-50">
本帖除作者外不允许任何人评论
</div>
{elseif $strTopic[isclose]=='1'}
<div class="tac pd20 fw300 text-black-50">
该帖子已被关闭,无法评论
</div>
{else}
<form id="comm-form" method="post" action="{SITE_URL}index.php?app=group&ac=comment&ts=do">
<div id="tseditor"></div>
<div style="display: none"><textarea name="content"></textarea></div>
<div class="row mt-3">
<div class="col-md-6">
{if $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="topicid" value="{$strTopic[topicid]}" />
<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="row">
<div class="col-md-6">
<div class="card">
<div class="card-header">推荐帖子</div>
<div class="card-body">
<div class="commlist">
<ul>
{loop $arrRecommendTopic $key $item}
<li><a href="{tsUrl('group','topic',array('id'=>$item['topicid']))}">{$item['title']}</a></li>
{/loop}
</ul>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header">本组热门帖子</div>
<div class="card-body">
<div class="commlist">
<ul>
{loop $arrGroupHotTopic $key $item}
<li><a href="{tsUrl('group','topic',array('id'=>$item['topicid']))}">{$item['title']}</a></li>
{/loop}
</ul>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header">最新帖子</div>
<div class="card-body commlist">
<ul>
{loop $newTopic $key $item}
<li>
<a href="{tsUrl('group','topic',array('id'=>$item[topicid]))}">{php echo tsTitle($item[title])}</a>
</li>
{/loop}
</ul>
</div>
</div>
<div class="clear"></div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header">热门帖子</div>
<div class="card-body commlist">
<ul>
{loop $arrHotTopic $key $item}
<li><a href="{tsUrl('group','topic',array('id'=>$item['topicid']))}">{$item['title']}</a></li>
{/loop}
</ul>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
</div>
</div>
<div class="modal fade" id="bookModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">标注</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
<form>
<div class="form-group">
<label for="book-text" class="col-form-label">请输入标注内容(最多8个字符):</label>
<input type="text" value="{tsTitle($strTopic['label'])}" class="form-control" id="book-text">
</div>
<div class="form-group">
<div class="text-danger" id="book-alert"></div>
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">关闭</button>
<button type="button" class="btn btn-primary btn-sm" onclick="toBook('{$topicid}')">提交</button>
</div>
</div>
</div>
</div>
{php doAction('tseditor','mini')}
{php include pubTemplate("footer")}
+6
View File
@@ -0,0 +1,6 @@
<div style="margin-bottom: 10px;overflow: hidden;">
{loop $arrUser $key $item}
<a href="{tsUrl('user','space',array('id'=>$item[userid]))}"><img alt="{$item[username]}" class="m_sub_img" src="{$item[face]}" width="48" height="48" /></a>
{/loop}
<br clear="all">
</div>
+117
View File
@@ -0,0 +1,117 @@
{php include pubTemplate("header")}
<div class="container" style="max-width:100%;">
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="{SITE_URL}">首页</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group')}">LMVE论坛</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','topic',array('id'=>$strTopic['topicid']))}">{$strTopic['title']}</a></li>
<li class="breadcrumb-item active" aria-current="page">编辑帖子</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8" style="max-width:100%;flex:100%;">
<form method="POST" action="{SITE_URL}index.php?app=group&ac=topicedit&ts=do" enctype="multipart/form-data">
<div class="form-group">
<label>标题</label>
<input name="title" type="text" class="form-control" value="{$strTopic['title']}">
</div>
{if $arrGroupType}
<div class="form-group">
<label>类型</label>
<select name="typeid" class="form-control">
<option {if $strTopic[typeid]=='0'}selected="select"{/if} value="0">请选择</option>
{loop $arrGroupType $key $item}
<option {if $item[typeid]==$strTopic[typeid]}selected="select"{/if} value="{$item[typeid]}">{$item[typename]}</option>
{/loop}
</select>
</div>
{/if}
<div class="form-group">
<label>内容</label>
<div id="tseditor">{$strTopic['content']}</div>
<div style="display: none;">
<textarea name="content">{$strTopic['content']}</textarea>
</div>
</div>
<div class="form-group">
<label>标签</label>
<input name="tag" type="text" class="form-control" value="{$strTopic['tag']}">
</div>
<div class="form-group">
<label>评论</label>
<input type="radio" name="iscomment" value="0" {if $strTopic[iscomment]=='0'}checked="select"{/if} />允许
<input type="radio" name="iscomment" value="1" {if $strTopic[iscomment]=='1'}checked="select"{/if} />不允许
</div>
<div class="form-group">
<label>回复可读</label>
<input type="radio" name="iscommentshow" value="0" {if $strTopic[iscommentshow]=='0'}checked="select"{/if} />不需要
<input type="radio" name="iscommentshow" value="1" {if $strTopic[iscommentshow]=='1'}checked="select"{/if} />需要
</div>
{if $TS_SITE['isauthcode']}
<div class="form-group">
<label>验证码</label>
<input name="authcode" />
<img align="absmiddle" src="{SITE_URL}index.php?app=pubs&ac=code" onclick="newgdcode(this,this.src);" title="点击刷新验证码" alt="点击刷新验证码" style="cursor:pointer;"/>
</div>
{/if}
<input type="hidden" name="topicid" value="{$strTopic[topicid]}" />
<input type="hidden" name="token" value="{$_SESSION['token']}" />
<button class="btn btn-sm btn-info" type="submit">修改帖子</button>
<a class="btn btn-sm btn-outline-secondary" href="{tsUrl('group','topic',array('id'=>$strTopic[topicid]))}">返回</a>
<p></p>
</form>
</div>
<div class="col-md-2"></div>
</div>
</div>
</div>
</div>
{php doAction('tseditor')}
{php include pubTemplate("footer")}
+42
View File
@@ -0,0 +1,42 @@
{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('group')}">LMVE论坛</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup['groupname']}</a></li>
<li class="breadcrumb-item active" aria-current="page">{$strTopic[title]}</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
<div class="alert alert-info">
本小组帖子只有小组成员才可以浏览
{if $strGroup['joinway']==3}
<a class="btn btn-success" href="javascript:void('0');" onclick="joinGroup('{$strGroup['groupid']}');">需要支付<font color="orange" style="font-size: 16px;">{$strGroup['price']}金币</font>加入小组</a>
{else}
<a class="btn btn-success" href="javascript:void('0');" onclick="joinGroup('{$strGroup['groupid']}');">加入小组</a>
{/if}
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+30
View File
@@ -0,0 +1,30 @@
{php include pubTemplate("header")}
<div class="container">
<div class="card">
<div class="card-body">
<h1>移动帖子:{tsTitle($strTopic['title'])}</h1>
<form method="POST" action="{SITE_URL}index.php?app=group&ac=topicmove&ts=do">
<p>选择小组:
<select name="groupid">
{loop $arrGroup $key $item}
<option value="{$item['groupid']}">{tsTitle($item['groupname'])}</option>
{/loop}
</select>
</p>
<p>
<input type="hidden" name="topicid" value="{$topicid}" />
<button class="btn btn-success" type="submit">移动</button>
<a class="btn btn-outline-secondary" href="{tsUrl('group','topic',array('id'=>$topicid))}">返回</a>
</p>
</form>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+35
View File
@@ -0,0 +1,35 @@
{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('group')}">LMVE论坛</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup['groupname']}</a></li>
<li class="breadcrumb-item active" aria-current="page">{$strTopic[title]}</li>
</ol>
</nav>
<div class="card">
<div class="card-body">
<div class="alert alert-info">
你的组费已经到期,请联系组长续期!续期后才可以访问帖子内容。
</div>
</div>
</div>
</div>
{php include pubTemplate("footer")}
+134
View File
@@ -0,0 +1,134 @@
{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('group')}">{$TS_APP['appname']}</a></li>
<li class="breadcrumb-item"><a href="{tsUrl('group','show',array('id'=>$strGroup['groupid']))}">{$strGroup[groupname]}</a></li>
<li class="breadcrumb-item active" aria-current="page">成员</li>
</ol>
</nav>
<div class="row">
<div class="col-md-8">
<div class="card">
<div class="card-header">{$strGroup['groupname']}成员</div>
<div class="card-body">
{if $TS_USER['isadmin']==1 && $strGroup['joinway']==3 || $strGroup['userid']==$userid && $strGroup['joinway']==3}
<div class="pd20">
<form id="comm-form" class="form-inline" role="form" method="post" action="{SITE_URL}index.php?app=group&ac=edit&ts=adduser&groupid={$strGroup['groupid']}">
<div class="form-group">
<input type="text" name="userid" class="form-control br0" placeholder="输入用户ID">
</div>
<button type="submit" class="btn btn-success br0">添加成员</button>
</form>
</div>
{/if}
<div class="facelist">
<ul>
{loop $arrGroupUser $key $item}
<li>
<a href="{tsUrl('user','space',array('id'=>$item[userid]))}">
<img class="rounded-circle" alt="{$item[username]}" src="{$item[face]}" width="48" height="48" />
</a>
<div class="title-cut text-black-50 fs12 mt-2">{$item[username]}</div>
</li>
{/loop}
</ul>
</div>
<div class="clear"></div>
<div class="page">{$pageUrl}</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card">
<div class="card-header">{$strGroup['groupname']}组长</div>
<div class="card-body">
<div class="facelist">
<ul>
<li>
<a class="nbg" href="{tsUrl('user','space',array('id'=>$strLeader[userid]))}">
<img class="rounded-circle" alt="{$strLeader[username]}" src="{$strLeader[face]}" width="48" height="48" /></a>
<div class="text-black-50 fs12 mt-2">{$strLeader[username]}</div>
</li>
</ul>
</div>
</div>
</div>
<div class="card">
<div class="card-header">{$strGroup['groupname']}管理员</div>
<div class="card-body">
{if $arrAdmin}
<div class="facelist">
<ul>
{loop $arrAdmin $key $item}
<li>
<a href="{tsUrl('user','space',array('id'=>$item[userid]))}"><img class="rounded-circle" alt="{$item[username]}" src="{$item[face]}" width="48" height="48" /></a>
<div class="title-cut fs12 text-black-50 mt-2">{$item[username]}</div>
</li>
{/loop}
</ul>
</div>
{else}
暂无
{/if}
</div>
</div>
<div class="clear"></div>
<!--广告位-->
{php doAction('gobad','300')}
</div>
</div>
</div>
{php include pubTemplate("footer")}
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File
+35
View File
@@ -0,0 +1,35 @@
//踢出小组
function kickedGroup(groupid,userid){
$.post(siteUrl+'index.php?app=group&ac=kicked',{'groupid':groupid,'userid':userid},function(rs){
if(rs=='0'){
tsNotice('非法操作!')
}else if(rs=='1'){
tsNotice('非法操作!')
}else{
window.location.reload();
}
})
}
//加入小组
function joinGroup(groupid){
tsPost('index.php?app=group&ac=ajax&ts=joingroup',{'groupid':groupid});
}
function exitGroup(groupid){
tsPost('index.php?app=group&ac=ajax&ts=exitgroup',{'groupid':groupid});
}
//续期
function openXuqi(userid) {
$("#xuqi_userid").val(userid);
var html = $("#xuqi_html").html();
tsNotice(html);
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

+263
View File
@@ -0,0 +1,263 @@
/*最新CSS*/
.group_show{overflow:hidden;padding: 50px 20px 20px 20px;border-bottom: solid 1px #dddddd;background-color:#bbb;background-image:url('group.jpg');background-repeat: no-repeat;background-size: 100% 100%;}
.group_show .face{float:left;}
.group_show .face img{}
.group_show .title{float:left;margin-left:20px;}
.group_show .title p{color:#999;margin: 0;margin-top: 6px;}
.group_show .join{float:right;margin-left:20px;color:#fff;}
/*最新CSS*/
.mbtl {
float: left;
margin: 8px 7px 0 0;
padding: 0;
width: 55px;
}
.mbtr {
border-bottom: 1px solid #EEEEEE;
margin: 0px 0 20px 0;
min-height: 55px;
overflow: hidden;
padding: 10px;;
background:#f8f8f8;
}
.mbtr .author{}
.mbtr .author a{color:#8f8f8f;}
.mbtr .title{margin-top:10px;}
.mbtr .title a{color: #444444;font-size:22px;}
.mbtr .content{line-height:30px;font-size:14px;}
/*右侧会员列表*/
.pl {
color: #666666;
font: 12px/150% Arial;
padding:10px 0;
}
.pl2 {
color: #666666;
font: 14px/150% Arial;
}
.pil {
height: 48px;
width: 48px;
}
.plr {
color: #666666;
float: right;
font: 12px/150% Arial;
}
.mr5 {
margin-right: 5px;
}
.pl20 {
padding-left: 20px;
}
.topic-content .topic-opt {
padding: 15px 0 0;
}
.rec-sec {
color: #999999;
text-align: right;
}
.rec-num {
margin: 0 4px;
}
.clearfix {
display: block;
}
/*ob*/
.ob {
float: left;
margin: 0 0 10px;
text-align: center;
width: 70px;
}
.ob dt {
height: 50px;
margin: 0;
overflow: hidden;
text-align: center;
}
.ob dd {
height: 55px;
margin: 0;
overflow: hidden;
text-align: center;
}
.ob span {
white-space: nowrap;
}
/*帖子类型列表*/
.topictype{}
.topictype td{border-bottom:dashed 1px #DDDDDD;padding:5px;}
/*帖子列表*/
.topic_list{overflow:hidden;}
.topic_list ul, .topic_list ul li{list-style: none;margin:0;padding:0;}
.topic_list ul{overflow:hidden;}
.topic_list ul li{overflow:hidden;padding:15px 0;display: block;border-bottom: 1px dashed #ccc;}
.topic_list .userimg{float:left;width:38px;overflow:hidden;}
.topic_list .topic_title{margin-left:40px;overflow:hidden;}
.topic_list .topic_title .title a{font-size:18px;font-weight: bold;}
.topic_list .topic_info{overflow: hidden;font-size:12px;color:#999999;}
.rank {
background: none repeat scroll 0 0 #BBBBBB;
height: 15px;
line-height: 15px;
margin: 0 0 0 5px;
padding: 0 3px;
border-radius:5px 5px 5px 5px;
}
/*小组列表*/
.sub-item{
border-bottom: 1px dashed #AAAAAA;
height: 72px;
margin: 0 2px 15px 0;
overflow: hidden;
width: 100%;
padding-bottom: 15px;
}
.sub-item .pic {
float: left;
width: 48px;
}
.sub-item .info {
vertical-align: top;
word-wrap: break-word;
margin-left:60px;
}
.sub-item .info .content{ line-height:20px;font-size: 12px;color:#999999}
.sub-item .pic img {
height: 48px;
margin-bottom: -3px;
width: 48px;
}
.sub-item p {
margin: 0;
}
/*热门帖子列表*/
.group_index_right_hottopic{}
.group_index_right_hottopic ul {
word-wrap: break-word;
list-style: none;
margin: 0;
padding: 0;
}
.group_index_right_hottopic ul li {
border-bottom: 1px dashed #CCCCCC;
color: #999999;
overflow: hidden;
padding: 10px 0;
list-style: none;
margin: 0;
}
.group_index_right_hottopic ul li h3 {margin: 0;padding:0;white-space: nowrap; overflow: hidden;}
.group_index_right_hottopic ul li .info{overflow: hidden;margin-top: 10px;font-size: 12px;}
.group_index_right_hottopic ul li .info .left{float: left}
.group_index_right_hottopic ul li .info .right{float: right}
/*小组分类*/
.catelist{ margin-bottom: 20px;overflow: hidden;}
.catelist ul{}
.catelist ul li{float:left;width:150px;font-size:14px;}
/*分类下小组*/
.categroup{}
.categroup ul{}
.categroup ul li{padding:10px;border-bottom: 1px dashed #CCCCCC;overflow:hidden;}
.categroup ul li img{float:left;padding:0 10px 0 0;}
/*帖子页*/
.newtopic{}
.newtopic ul, .newtopic ul li{list-style: none;margin:0;padding:0;}
.newtopic ul{}
.newtopic ul li{border-top: 1px dashed #CCCCCC;padding: 5px 0;}
.title2{float:right;border: 1px solid #DDDDDD;border-bottom:none;margin-top:10px;}
.title2 li{width:150px;border-bottom: 1px solid #DDDDDD;font-size:12px;padding:5px;line-height: 15px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
.bltool a{margin-right:10px;padding:0px;}
.after-view{font-size:14px;}
/*专辑*/
.album{}
.album li{float:left;width:225px;margin: 0 5px 10px;height: 80px;}
.album li .al{float:left;width:50px;height:50px;text-align:center;}
.album li .al .num{background:#F0F0F0;padding:10px 0}
.album li .al .tz{background:#CCCCCC;}
.album li .ar{margin-left:60px;}
.album li .ar h3{margin:0px;font-weight:bold;}
.album li .ar .info{}
.album li .ar .time{color:#999999;}
/**
帖子附件
*/
.topic_attach{
background-color: #FFEAAA;
border:dashed 2px #EDCEBA;
padding:10px;
}
.topic_attach ul{list-style: none;margin:0;padding: 0;}
.topic_attach ul li{list-style: none;margin: 0;padding: 0;}
/**帖子视频**/
.topic_video{
background-color: #FFFFFF;
border:dashed 2px #66afe9;
padding:10px;
}
.topic_video iframe{width: 100%;height:450px;}
@media (max-width: 575.98px) {
.topic_video iframe{width: 100%;height:230px;}
}
Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

+291
View File
@@ -0,0 +1,291 @@
.mbtl {
float: left;
margin: 8px 7px 0 0;
padding: 0;
width: 55px;
}
.mbtr {
border-bottom: 1px solid #EEEEEE;
margin: 0px 0 20px 0;
min-height: 55px;
overflow: hidden;
padding: 10px;;
background:#f8f8f8;
}
.mbtr .author{}
.mbtr .author a{color:#8f8f8f;}
.mbtr .title{margin-top:10px;}
.mbtr .title a{color: #444444;font-size:22px;}
.mbtr .content{line-height:30px;font-size:14px;}
/*右侧会员列表*/
.pl {
color: #666666;
font: 12px/150% Arial;
padding:10px 0;
}
.pl2 {
color: #666666;
font: 14px/150% Arial;
}
.pil {
height: 48px;
width: 48px;
}
.plr {
color: #666666;
float: right;
font: 12px/150% Arial;
}
.mr5 {
margin-right: 5px;
}
/*内容页*/
.topic-content{width: 100%;overflow:hidden;}
.topic-content .user-face{float: left;height: 48px;overflow: hidden;width: 48px;}
.topic-content .topic-doc {
margin-bottom: 30px;
overflow: hidden;
margin-left:60px;
}
.topic-content .topic-doc .author {
height: auto;
margin: 0;
margin-bottom: 1px;
color: #666666;
background:#f4f4ec;
padding:5px;
font-size:12px;
}
.topic-content img{max-width:100%;}
.topic-content .topic-view{font-size:16px;line-height:30px;overflow: hidden;word-wrap: break-word;word-break: normal;}
.topic-content .topic-view a{color:#49a5de}
.topic-content .topic-view p{font-size:16px;}
.topic-content .topic-view table{border:#CCCCCC 1px solid;}
.topic-content .topic-view table td{ border:1px #CCCCCC solid; border-right:none; border-top:none;}
.pl20 {
padding-left: 20px;
}
.topic-content .topic-opt {
padding: 15px 0 0;
}
.rec-sec {
color: #999999;
text-align: right;
}
.rec-num {
margin: 0 4px;
}
.clearfix {
display: block;
}
/*ob*/
.ob {
float: left;
margin: 0 0 10px;
text-align: center;
width: 70px;
}
.ob dt {
height: 50px;
margin: 0;
overflow: hidden;
text-align: center;
}
.ob dd {
height: 55px;
margin: 0;
overflow: hidden;
text-align: center;
}
.ob span {
white-space: nowrap;
}
/*帖子类型列表*/
.topictype{}
.topictype td{border-bottom:dashed 1px #DDDDDD;padding:5px;}
/*帖子列表*/
.topic_list{overflow:hidden;}
.topic_list ul, .topic_list ul li{list-style: none;margin:0;padding:0;}
.topic_list ul{overflow:hidden;}
.topic_list ul li{overflow:hidden;padding:15px 0;display: block;border-bottom: 1px dashed #ccc;}
.topic_list .userimg{float:left;width:38px;overflow:hidden;}
.topic_list .topic_title{margin-left:40px;overflow:hidden;}
.topic_list .topic_title .title a{color:#343434;font-size:14px;}
.topic_list .topic_info{overflow: hidden;font-size:12px;color:#999999;}
.rank {
background: none repeat scroll 0 0 #BBBBBB;
height: 15px;
line-height: 15px;
margin: 0 0 0 5px;
padding: 0 3px;
border-radius:5px 5px 5px 5px;
}
/*小组列表*/
.sub-item{
border-bottom: 1px dashed #AAAAAA;
height: 72px;
margin: 0 2px 15px 0;
overflow: hidden;
width: 100%;
padding-bottom: 15px;
}
.sub-item .pic {
float: left;
width: 48px;
}
.sub-item .info {
vertical-align: top;
word-wrap: break-word;
margin-left:60px;
}
.sub-item .info .content{ line-height:20px;font-size: 12px;color:#999999}
.sub-item .pic img {
height: 48px;
margin-bottom: -3px;
width: 48px;
}
.sub-item p {
margin: 0;
}
/*热门帖子列表*/
.group_index_right_hottopic{}
.group_index_right_hottopic ul {
word-wrap: break-word;
list-style: none;
margin: 0;
padding: 0;
}
.group_index_right_hottopic ul li {
border-bottom: 1px dashed #CCCCCC;
color: #999999;
overflow: hidden;
padding: 10px 0;
list-style: none;
margin: 0;
}
.group_index_right_hottopic ul li h3 {margin: 0;padding:0;white-space: nowrap; overflow: hidden;}
.group_index_right_hottopic ul li .info{overflow: hidden;margin-top: 10px;font-size: 12px;}
.group_index_right_hottopic ul li .info .left{float: left}
.group_index_right_hottopic ul li .info .right{float: right}
/*小组分类*/
.catelist{ margin-bottom: 20px;overflow: hidden;}
.catelist ul{}
.catelist ul li{float:left;width:150px;font-size:14px;}
/*分类下小组*/
.categroup{}
.categroup ul{}
.categroup ul li{padding:10px;border-bottom: 1px dashed #CCCCCC;overflow:hidden;}
.categroup ul li img{float:left;padding:0 10px 0 0;}
/*帖子页*/
.newtopic{}
.newtopic ul, .newtopic ul li{list-style: none;margin:0;padding:0;}
.newtopic ul{}
.newtopic ul li{border-top: 1px dashed #CCCCCC;padding: 5px 0;}
.title2{float:right;border: 1px solid #DDDDDD;border-bottom:none;margin-top:10px;}
.title2 li{width:150px;border-bottom: 1px solid #DDDDDD;font-size:12px;padding:5px;line-height: 15px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;}
.btool{
border-top: 1px solid #EEEEEE;
font-size: 12px;
padding: 10px 10px 0 10px;
text-align: right;}
.btool a{margin-left:10px;padding:0px;color:#999999}
.bltool a{margin-right:10px;padding:0px;}
.after-view{font-size:14px;}
/*专辑*/
.album{}
.album li{float:left;width:225px;margin: 0 5px 10px;height: 80px;}
.album li .al{float:left;width:50px;height:50px;text-align:center;}
.album li .al .num{background:#F0F0F0;padding:10px 0}
.album li .al .tz{background:#CCCCCC;}
.album li .ar{margin-left:60px;}
.album li .ar h3{margin:0px;font-weight:bold;}
.album li .ar .info{}
.album li .ar .time{color:#999999;}
/**
帖子附件
*/
.topic_attach{
background-color: #FFEAAA;
border:dashed 2px #EDCEBA;
padding:10px;
}
.topic_attach ul{list-style: none;margin:0;padding: 0;}
.topic_attach ul li{list-style: none;margin: 0;padding: 0;}
/**帖子视频**/
.topic_video{
background-color: #FFFFFF;
border:dashed 2px #66afe9;
padding:10px;
}
.topic_video iframe{width: 100%;height:450px;}
@media (max-width: 575.98px) {
.topic_video iframe{width: 100%;height:230px;}
}