建站学院讯 先说一下实现后的效果,首先这个修改后是一个精简版的Dedecms问答系统,会取消采纳答案等功能,因取消会员功能后不再有答案的等级之分,如对答案的平分功能等将被取消。
最后不建议使用匿名提问功能,建议使用会员功能来实现问答。这里是给大家提供一个学习的思路!
下面说一下方法:
post.PHP文件
if(empty($uID) && $action != 'rate')
{
showmsgs('no_login','../member/login.PHP?gourl=../ask/');
exit;
}
1,修改成 或注释掉
if(empty($uID) && $action != 'rate')
{
if($action!='ask' & $action!='')
{
showmsgs('no_login','../member/login.PHP?gourl=../ask/');
exit;
}
}
2,注释掉
/*if($question['uID'] == $uID)
{
showmsgs('asker_cannot_answer','-1');
}else*/
3,然后
if($answer['uID'] != $uID)
{
showmsgs('unallowed_action',$backurl);
}else
替换成
if($question['uID'] == $uID)
{
showmsgs('asker_cannot_answer','-1');
}else
这样就不能修改答案了,不过这个提示是不会回答自己的问题。
或者直接注释掉:修改答案部分的PHP代码。
else if($action == 'modifyanswer')
{
$answer = $dsql->getone("SELECT answer.ID,answer.uID,ask.dateline,ask.solvetime,ask.status,ask.expiredtime FROM `dede_askanswer` answer left join dede_ask ask on ask.ID=answer.askID WHERE answer.ID='$ID'");
if($answer)
{
if($answer['uID'] != $uID)
{
showmsgs('unallowed_action',$backurl);
}elseif($answer['status'] != 0)
{
showmsgs('question_solved',$backurl);
}elseif($answer['expiredtime'] < $timestamp)
{
showmsgs('question_expired',$backurl);
}
} else
{
showmsgs('question_nonexistence');
}
if(trim($content) == '')
{
showmsgs('post_answer_isnull');
}
if(strlen($content) > 10000)
{
showmsgs('post_answer_toolong');
}
if(strlen($brIEf) > 200)
{
showmsgs('post_brIEf_toolong','-1');
}
if($dsql->ExecuteNonequery("update dede_askanswer set content='$content',brIEf='$brIEf' where ID='$ID'"))
{
showmsgs('modifyanswer_success',$backurl);
}else
{
showmsgs('modifyanswer_Failed',$backurl);
}
}
question.PHP
注释
if($question['uID'] == $uID)
{
$publisher = 1;
}
以上是内存溢出为你收集整理的DEDE问答(ask)模块游客匿名提问和解答全部内容,希望文章能够帮你解决DEDE问答(ask)模块游客匿名提问和解答所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)