预览截图:

list页面2
此主题相关图片如下:

post页面1
此主题相关图片如下:

POST页面2
此主题相关图片如下:

浏览页面1
此主题相关图片如下:

浏览页面2
此主题相关图片如下:

请各位再等等。。。。
现在开始安装本插件!
请注意以下事项:
本插件为测试版随时可能更新请注意本帖的更新情况!
动网活动报名系统插件安装说明:
涉及文件:
dispbbs.php
index.php
post.php
savepost.php
topicother.php
templates\default\dispbbs.tpl.php
templates\default\index.list.tpl.php
templates\default\savepost.tpl.php
templates\default\post.tpl.php
虽然安装本插件不会对您原有系统造成损坏但我们还是强烈建议您备份原有文件!
本插件安装较为复杂,如安装过程中出现问题请联系版主和会员进行帮助!
现在开始安装!
安装第1步打开dispbbs.php文件找到以下代码:
if( $query = $db->query("SELECT {$SQL_CACHE} CASE WHEN topicmode<>1 THEN REPLACE(title,'<','<') ELSE title END AS title,istop,isbest,postusername,postuserid,hits,isvote,child,pollid,locktopic,posttable,boardid,topicmode,getmoney,usetools,getmoneytype,dateandtime,expression,topicid,topicid AS replyid,topicid AS star,topicid AS page,topicid AS skin,@PostUserIDList:=NULL FROM {$dv}topic WHERE topicid={$AnnounceID} AND boardid={$boardid}",array('pageSize'=>1)) ){
$TopicInfo =& $db->fetch_array($query);
}
用以下代码替换:
if( $query = $db->query("SELECT {$SQL_CACHE} CASE WHEN topicmode<>1 THEN REPLACE(title,'<','<') ELSE title END AS title,istop,isbest,postusername,postuserid,hits,isvote,child,pollid,locktopic,posttable,boardid,topicmode,getmoney,usetools,getmoneytype,dateandtime,expression,topicid,activeid,topicid AS replyid,topicid AS star,topicid AS page,topicid AS skin,@PostUserIDList:=NULL FROM {$dv}topic WHERE topicid={$AnnounceID} AND boardid={$boardid}",array('pageSize'=>1)) ){
$TopicInfo =& $db->fetch_array($query);
}
再找到以下代码:
if( dateDiff('S',$voteinfo['timeout'],TIME_NOW) > 0 ){
$voteinfo['istimeout'] = 1;
} else{//检查此人是否已经投过票了
if( $userid > 0 && $TopicInfo['locktopic'] === 0 && $voteinfo['userid'] === $userid ){
$voteinfo['alreadyvote'] = 1;
}
}
}
}
}
下面一行添加以下代码:
//活动修改开始--BY暴力
if( $TopicInfo['isvote'] == -2 ){
if( $query = $db->query("SELECT {$SQL_CACHE} activeid,activename,activecity,activeclass,timemode,starttime,endtime,location,cost,sex,strength,expiretime FROM {$dv}active WHERE activeid='".$TopicInfo['activeid']."'")){
$activeinfo =& $db->fetch_array($query);
if( !empty($activeinfo) ) {
$db->free_result($query);
}
}
$joinquery = $db->query("SELECT u1.id,u1.joindate,u1.userid,u1.costmode,u1.costnum,u1.systemmode,u1.message,u1.isexamine,u2.username FROM {$dv}activeuser as u1,{$dv}user as u2 WHERE activeid='".$TopicInfo['activeid']."' and u1.userid = u2.userid;");
if( $nonum = $db->query("SELECT {$SQL_CACHE} count(*) as nonum from {$dv}activeuser where isexamine = 0 and activeid='".$TopicInfo['activeid']."'")){
$activenonum =& $db->fetch_array($nonum);
if( !empty($activenonum) ) {
$db->free_result($nonum);
}
}
if( $isnum = $db->query("SELECT {$SQL_CACHE} count(*) as isnum from {$dv}activeuser where isexamine = 1 and activeid='".$TopicInfo['activeid']."'")){
$activeisnum =& $db->fetch_array($isnum);
if( !empty($activeisnum) ) {
$db->free_result($nonum);
}
}
}
//活动修改结束--BY暴力
安装第2步:
打开index.php文件找到以下代码:
if (intval($result['isbest']) == 1){
$result['istop'] = 3;
}elseif($result['locktopic'] == 1){
$result['istop'] = 4;
}elseif($result['isvote'] == 1){
$result['istop'] = 5;
}elseif($result['child'] > $fsetting['hottopicreply']){
$result['istop'] = 6;
}else{
$result['istop'] = 7;
}
用以下代码替换!:
if (intval($result['isbest']) == 1){
$result['istop'] = 3;
}elseif($result['locktopic'] == 1){
$result['istop'] = 4;
}elseif($result['isvote'] == 1){
$result['istop'] = 5;
}elseif($result['child'] > $fsetting['hottopicreply']){
$result['istop'] = 6;
}elseif($result['isvote'] == -2){
$result['istop'] = 7;
}else{
$result['istop'] = 8;
}
第3步打开
post.php文件找到以下代码:
case 'argue_topic': // 发起一个辩论主题
Show_Argue_Body_topic();
break;
下面一行添加:
///////////活动修改--BY暴力
case 'active_topic': // 发起一个活动主题
Show_Active_topic();
break;
///////////活动修改--BY暴力
然后再找到以下代码:
require printout('post');
}//end function Show_Argue_Body_append
下面一行添加:
/////活动修改post.php--BY暴力
function Show_Active_topic() // 发起一个活动主题:$Action = 9
{
global $userid,$membername,$memberword,$master,$boardmaster,$superboardmaster,$lang,$db,$dv,$boardid,$board_settings,$groupsetting,$fsetting,$boardinfo;
$toaction = 'savepost.php?action=active_topic&boardid='.$boardid;
$IsAudit = intval($boradinfo['ischeckout']);
$Action = 9;
require_once CACHE_PATH.'forum_pic.php';
$empath = $_DCACHE['forum_emot'][0];
require printout('post');
}//end function Show_Active_topic
/////活动修改post.php--BY暴力
第4步打开savepost.php文件找到以下代码:
if( $action == 'snew' || $action == 'svote' ){
if( str_replace($lang['template.strings34'],'',$topic) === '' ){
head();
showmsg($lang['Error.strings20']);
exit;
}
}
用以下代码替换:
if( $action == 'snew' || $action == 'svote' || $action == 'active_topic'){
if( str_replace('','',$topic) === '' ){
head();
showmsg($lang['Error.strings20']);
exit;
}
}
然后再找到:
$voteid = 0;
$isvote = 0;
下面一行添加:
$activeid = 0;
if( $action =='active_topic'){
$activesubject = trim($_POST['activesubject']);
$activiecity = trim($_POST['activiecity']);
$activieclass = trim($_POST['activieclass']);
$starttime = trim(strtotime($_POST['startall']));
$endtime = trim(strtotime($_POST['end']));
$activieplace = trim($_POST['activieplace']);
$cost = intval(trim($_POST['cost']));
$sex = trim($_POST['gender']);
$strength = intval(trim($_POST['strength']));
$expiretime = trim(strtotime($_POST['alltime']));
$timemode = trim($_POST['timemode']);
if($timemode == 0)
$endtime = 0;
if($activesubject==''){
head();
showmsg("对不起,活动名称不能为空");
exit;
}
if($activiecity==''){
head();
showmsg("对不起,活动类别不能为空");
exit;
}
if($strength==''||!is_numeric($strength)){
head();
showmsg("对不起,需要人数不能为空!或包含非数字字符!");
exit;
}
if(!eregi('^[0-9]+$',$expiretime)){
head();
showmsg("对不起您输入的的时间格式不正确请检查后输入!");
exit;
}
if(!is_numeric($cost)){
head();
showmsg("对不起,活动费用输入不合法!");
exit;
}
if($activieplace==''){
head();
showmsg("活动地点不能为空!");
exit;
}
if(!is_numeric($timemode)){
head();
showmsg("系统错误");
exit;
}
}
然后再找到
if( $action == 'snew' || $action == 'svote' ){
$CanLockTopic = false;
$CanTopTopic = false;
$CanTopTopic_a = false;
用以下代码替换:
if( $action == 'snew' || $action == 'svote' || $action == 'active_topic'){
$CanLockTopic = false;
$CanTopTopic = false;
$CanTopTopic_a = false;
然后再找到:
if( ($action == 'snew' || $action == 'svote') && ($getposttype == 1 || $getposttype == 2) ){
} elseif( $action == 'sre' && $getposttype == 1 && $getmoneytype == 4 ){
GetMoney_SaveRe();
}
}
用以下代码替换:
if( ($action == 'snew' || $action == 'svote'|| $action == 'active_topic') && ($getposttype == 1 || $getposttype == 2) ){
} elseif( $action == 'sre' && $getposttype == 1 && $getmoneytype == 4 ){
GetMoney_SaveRe();
}
}
然后再找到:
if( $groupsetting[3] == 0 && ($GLOBALS['action'] == 'snew' || $GLOBALS['action'] == 'svote' ) ){
用以下代码替换:
if( $groupsetting[3] == 0 && ($GLOBALS['action'] == 'snew' || $GLOBALS['action'] == 'svote' || $GLOBALS['action'] == 'active_topic') ){
然后再找到:
if( $userid > 0 && preg_match('/snew|sre|svote/i',$GLOBALS['action']) === 1 && ChkUserLogin() === false ){
用以下代码替换:
if( $userid > 0 && preg_match('/snew|sre|svote|active_topic/i',$GLOBALS['action']) === 1 && ChkUserLogin() === false ){
然后再找到:
if( $getposttype != '' && ( $action == 'snew' || $action == 'svote' ) ){
用以下代码替换:
if( $getposttype != '' && ( $action == 'snew' || $action == 'svote' || $action == 'active_topic') ){
然后再找到:
if( $action == 'snew' || $action == 'svote' ){
if( $FoundUseMagic ){
用以下代码替换:
if( $action == 'snew' || $action == 'svote' || $action == 'active_topic'){
if( $FoundUseMagic ){
然后再找到:
} elseif( $action == 'snew' || $action == 'svote' ){
用以下代码替换:
} elseif( $action == 'snew' || $action == 'svote' || $action == 'active_topic'){
然后再找到:
uploadedFilesProc(); // 处理上传文件
if( $action == 'snew' || $action == 'svote' ){
用以下代码替换:
uploadedFilesProc(); // 处理上传文件
if( $action == 'snew' || $action == 'svote' || $action == 'active_topic'){
然后再找到:
if( $action == 'svote' ){
Insert_To_Vote();
}
下面一行添加:
if( $action == 'active_topic'){
Insert_To_Active();
}
然后再找到:
//待审核取消回复更新最后发帖。
if( $action == 'snew' || $action == 'svote' ){
用以下代码替换:
//待审核取消回复更新最后发帖。
if( $action == 'snew' || $action == 'svote' || $action == 'active_topic'){
然后再找到:
if( $action == 'snew' || $action == 'svote' ){
$toptopic = str_replace('$','$',cutStr($topic,20));
用以下代码替换:
if( $action == 'snew' || $action == 'svote' || $action == 'active_topic'){
$toptopic = str_replace('$','$',cutStr($topic,20));
续接2楼
[此帖子已经被作者于2007-07-26 23:03:55编辑过]